23
ECE ILLINOIS Department of Electrical and Computer Engineering University of Illinois at Urbana-Champaign Rank Modulation Codes for Translocation Errors in Flash Memories F. Farnoud with V. Skachek and O. Milenkovic 7/6/12

Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

ECE ILLINOIS Department of Electrical and Computer Engineering

University of Illinois at Urbana-Champaign

Rank Modulation Codesfor Translocation Errors in Flash Memories

F. Farnoudwith V. Skachek and O. Milenkovic

7/6/12

Page 2: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

BackgroundTranslocationsDistance Measures

Permutations for coding

Permutations for coding:

Store (or transmit) a permutation instead of an arbitrarysequence

History:

Introduced by: Slepian [1965]

With substitution errors: Blake [1974]

With adjacent-swap errors: Chadwick and Kurtz [1969]

Application to power-line communications, substitution errors:Vinck [2000]

Application to flash memories, adjacent-swap errors: Jiang etal. [2008]: Rank modulation

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 1

Page 3: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

BackgroundTranslocationsDistance Measures

Motivation: Rank Modulation

Rank modulation for flash memories: proposed for dealing withcharge leakage in flash memories

In an array of cells, each cell stores a charge of certain level

Absolute value of all charges varies due to leakage

Relative order of charges may remain the same if leakage rateis roughly the same among cells

Key idea: coding via permutations (rankings)

Recent work by: Barg, Bruck, Cassuto, Hagiwara, Jiang, Mazumdar, Schwartz,

Yaakobi, Zhou,...

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 2

Page 4: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

BackgroundTranslocationsDistance Measures

Rank Modulation

Rank modulation: record information via permutations of chargelevels in arrays of cellsExample: permutation [6,3,8,1,5,9,2,4,7]

63

81

59

24

7

[ 6 3 8 1 5 9 2 4 7 ]

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 3

Page 5: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

BackgroundTranslocationsDistance Measures

Rank Modulation

Errors occur due to different leakage rates in the form of swaps oftwo adjacent elements

Leakage

63

81

59

24

7

6

81

59

24

3

7

[ 6 3 8 1 5 9 2 4 7 ] [ 6 8 3 1 5 9 2 4 7 ]

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 4

Page 6: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

BackgroundTranslocationsDistance Measures

Rank Modulation: Translocations

Translocation: cyclic shifts of elements.

Leakage

63

81

59

24

7

6

81

59

24

3 7

[ 6 3 8 1 5 9 2 4 7 ] [ 6 8 1 5 9 2 4 3 7 ]

Figure : Translocation errors

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 5

Page 7: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

BackgroundTranslocationsDistance Measures

Results

Achievable coding rate for translocation errors

Two families of codes for translocation errors

Interleaving codes with good Hamming distance

Interleaving codes with good Hamming distance andTranslocation distance: asymptotically good codes

Decoding algorithms

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 6

Page 8: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

BackgroundTranslocationsDistance Measures

Permutations: A Formal Definition

Let [n] = {1, 2, · · · , n}.

A permutation is a bijection from [n] to [n].

Set of all permutations of [n]: Sn.

Set of all permutations of P : SP , P ⊆ [n].

A permutation τ ∈ Sn is a transposition if for i , j ∈ [n],τ = (1, · · · , i − 1, j , i + 1, · · · , j − 1, i , j + 1, · · · , n).

If j = i + 1, then τ is called an adjacent transposition.

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 7

Page 9: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

BackgroundTranslocationsDistance Measures

Translocations: A Formal Definition

A translocation φ(i , j) is a permutation obtained from identity bymoving element i to position j and shifting everything in betweenby one position.

Right translocation: if i ≤ j , eg, φ(2, 7):

1 4 6 2 93 5 7 8

1 3 5 7 92 4 6 8

Left translocation: if i > j , eg, φ(8, 2):

1 2 4 6 98 3 5 7

1 3 5 7 92 4 6 8

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 8

Page 10: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

BackgroundTranslocationsDistance Measures

Distance Measures for Permutations

Hamming distance: number of substitutions required totransform one permutation to another

Transposition distance: number of transpositions required totransform one permutation to another

Kendall τ distance: number of adjacent transpositions requiredto transform one permutation to another

Translocation distance: number of translocations required totransform one permutation to another

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 9

Page 11: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

BackgroundTranslocationsDistance Measures

Permutation Codes for ...

Hamming distance: [Blake, Vinck, Kloeve, Colbourn,...]

Transposition distance: Have not received any interest in thecoding literature.

Kendall τ distance: [ Barg, Bruck, Cassuto, Hagiwara, Jiang,Mazumdar, Schwartz, Yaakobi, Zhou,...]

Translocation distance:Levenshtein’s insertion/deletion codes:For permutations, 1 translocation = 1 deletion + 1 insertionOnly efficient single-deletion-correcting codes known.Beame and Blaise (Ulam distance): zero-rate regime

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 10

Page 12: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

Coding CapacityCode ConstructionDecoding

Bounds on the Size of Translocation Codes

Definition: For all n, d ∈ Z, A◦(n, d) denotes the largest number ofpermutations in Sn with pairwise translocation distance at least d .

Theorem: Let C◦ := lim lnA◦(n,d)ln n! and δ = lim d(n)

n. Then

C◦ = 1 − δ.

Theorem: For Hamming and Transposition codes, respectively,

CH = 1 − δ, 1 − 2δ ≤ CT ≤ 1 − δ

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 11

Page 13: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

Coding CapacityCode ConstructionDecoding

Code Construction: Single Right-translocation Error

1 Partition [n] into even and odd parts.Eg, P1 = {1, 3, 5, 7, 9},P2 = {2, 4, 6, 8}.

2 Use codes with Hamming distance 2 over P1 and P2.

3 Interleave.

1 3 5 7 92 4 6 8

5 9 7 1 36 8 2 4

Encoding

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 12

Page 14: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

Coding CapacityCode ConstructionDecoding

Code Construction: Single Right-translocation Error

1 Partition [n] into even and odd parts.Eg, P1 = {1, 3, 5, 7, 9},P2 = {2, 4, 6, 8}.

2 Use codes with Hamming distance 2 over P1 and P2.

3 Interleave.

5 8 2 6 39 7 1 4

1 3 5 7 92 4 6 8

5 9 7 1 36 8 2 4

Encoding

Channel

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 12

Page 15: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

Coding CapacityCode ConstructionDecoding

Code Construction: Single Translocation Error

1 Partition [n] into three parts.Eg, P1 = {1, 4, 7},P2 = {2, 5, 8},P3 = {3, 6, 9}.

2 Use codes with Hamming distance 2 over P1,P2, and P3.

3 Interleave.

1 3 5 7 92 4 6 8

7 9 8 1 32 4 6 5

Encoding

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 13

Page 16: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

Coding CapacityCode ConstructionDecoding

Code Construction: Single Translocation Error

1 Partition [n] into three parts.Eg, P1 = {1, 4, 7},P2 = {2, 5, 8},P3 = {3, 6, 9}.

2 Use codes with Hamming distance 2 over P1,P2, and P3.

3 Interleave.

7 2 4 6 35 9 8 1

1 3 5 7 92 4 6 8

7 9 8 1 32 4 6 5

Encoding

Channel

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 13

Page 17: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

Coding CapacityCode ConstructionDecoding

Interleaving Hamming Codes

Partition [n] into 2t + 1 classes Pi

Choose Ci to be a permutation code over Pi with minimumHamming distance at least 4t + 1.

Construct code C by interleaving the codes Ci

Theorem: C corrects t errors.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

Hamming code 1

Hamming code 2

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 14

Page 18: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

Coding CapacityCode ConstructionDecoding

Interleaving Hamming Codes

Assuming best Hamming distance codes, cardinality equals

|C | = AH

!" n

d

#

, 2d$d

.

For d ∼ nβ,

limln |C |

ln n!= 1 − β.

Decoding complexity: may be exponential in d .

For constant d , decoding is polynomial (in n) and the rateapproaches 1.

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 15

Page 19: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

Coding CapacityCode ConstructionDecoding

Interleaving Translocation and Hamming Codes

Partition [n] into P and Q of sizes p and p − 1, withn = 2p − 1

C ′

1 ⊆ SP with minimum translocation distance d

C1 ⊆ SQ with minimum Hamming distance 3d/2

Theorem: The interleaved code has minimum translocationdistance d .

1 8 2 9 3 10 4 11 5 12 6 13 7

Translocation code Hamming code

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 16

Page 20: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

Coding CapacityCode ConstructionDecoding

Interleaving Translocation and Hamming Codes

The translocation code C ′

1 can be constructed in a similar manner.

1 8 2 9 3 10 4 11 5 12 6 13 7

1 5 2 6 3 7 4

Translocation code Hamming code

Translocation code Hamming code

Rate ≃ 1 − 2−k(1 + k), k is the number of levels =

%

log2

&

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 17

Page 21: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

Coding CapacityCode ConstructionDecoding

Decoding

Decoding algorithm for interleaved codes (Translocation/Hamming)

Translocation codes with min distance d

Hamming codes used must have distance 2d

Decoding algorithm is recursive: the inner-most components aredecoded first.The rate of code decodable with this algorithm is lower than whatis implied by min distance since Hamming code must have distance2d instead of 3d/2.

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 18

Page 22: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

IntroductionResults

Discussion

Coding CapacityCode ConstructionDecoding

Code Constructions: Asymptotic Rate Comparisons

0.2 0.4 0.6 0.8 1.0δ

0.2

0.4

0.6

0.8

1.0

Rate

Hamming/Translocation with decoding

Hamming/Translocation

Hamming/Translocation (1 level)

Capacity

Figure : Asymptotic rate comparisons.Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors 19

Page 23: Rank Modulation Codes for Translocation Errors in Flash Memoriesffh8x/d/t/Short-RankModulation... · 2014. 11. 2. · Introduction Results Discussion Background Translocations Distance

Introduction

Results

Discussion

Discussion

Translocation distance is a lower bound for Hamming distance,Kendall distance, and transposition distance/2Translocation codes with large minimum distance are codeswith large distances in above metricsIn case of Hamming distance, no asymptotic rate loss

Farnoud, Skachek, Milenkovic Rank Modulation for Translocation Errors

20