Codes Correcting Under- and Over-Shift Errors in Racetrack Memories Presented by: Van Khu Vu Joint work with Yeow Meng Chee, Han Mao Kiah, Alexander Vardy and Eitan Yaakobi 11th March 2019 Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Racetrack Memory c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 c 11 c 12 � �� � � �� � � �� � 1st data segment 2nd data segment 3rd data segment Head 1 : c 1 Head 2 : c 5 Head 3 : c 9 Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Racetrack Memory c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 c 11 c 12 Head 1 : c 1 , c 2 Head 2 : c 5 , c 6 Head 3 : c 9 , c 10 Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Racetrack Memory c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 c 11 c 12 Head 1 : c 1 , c 2 , c 3 Head 2 : c 5 , c 6 , c 7 Head 3 : c 9 , c 10 , c 11 Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Racetrack Memory c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 c 11 c 12 Head 1 : c 1 , c 2 , c 3 , c 4 Head 2 : c 5 , c 6 , c 7 , c 8 Head 3 : c 9 , c 10 , c 11 , c 12 Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Racetrack Memory Racetrack Memory: n domains, m heads where n = m · ℓ . Stored word: c = ( c 1 , c 2 , . . . , c n ) ∈ F n 2 . Output from m heads: c 1 c 1 , 1 c 1 , 2 . . . c 1 ,ℓ c 2 c 2 , 1 c 2 , 2 . . . c 2 ,ℓ = . . . . ... . . . . . . . . c m c m , 1 c m , 2 . . . c m ,ℓ where c i , j = c ( i − 1 ) · ℓ + j . q where q = 2 m and Output as q -ary word: u = ( u 1 , u 2 , . . . , u ℓ ) ∈ F ℓ u i = ( c 1 , i , c 2 , i , . . . , c m , i ) . Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Under-shift Error c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 c 11 c 12 Head 1 : c 1 Head 2 : c 5 Head 3 : c 9 Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Under-shift Error c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 c 11 c 12 Head 1 : c 1 , c 1 Head 2 : c 5 , c 5 Head 3 : c 9 , c 9 Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Under-shift Error c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 c 11 c 12 Head 1 : c 1 , c 1 , c 2 Head 2 : c 5 , c 5 , c 6 Head 3 : c 9 , c 9 , c 10 Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Under-shift Error c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 c 11 c 12 Head 1 : c 1 , c 1 , c 2 , c 3 Head 2 : c 5 , c 5 , c 6 , c 7 Head 3 : c 9 , c 9 , c 10 , c 11 Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Under-shift Error c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 c 11 c 12 Head 1 : c 1 , c 1 , c 2 , c 3 , c 4 Head 2 : c 5 , c 5 , c 6 , c 7 , c 8 Head 3 : c 9 , c 9 , c 10 , c 11 , c 12 Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Sticky-Insertion Output: c 1 c 1 c 2 c 3 c 4 = ( u 1 , u 1 , u 2 , u 3 , u 4 ) c 5 c 5 c 6 c 7 c 8 c 9 c 9 c 10 c 11 c 12 Model 1: An under-shift error can be modeled as a sticky-insertion. Question 1: How to construct a q -ary code correcting multiple sticky-insertions? Answer 1: L. Dolecek and V. Anantharam (2010); H. Mahdavifar and A. Vardy (2017). Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Over-shift Error c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 c 11 c 12 Head 1 : c 1 Head 2 : c 5 Head 3 : c 9 Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Over-shift Error c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 c 11 c 12 Head 1 : c 1 , c 3 Head 2 : c 5 , c 7 Head 3 : c 9 , c 11 Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Over-shift Error c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 c 10 c 11 c 12 Head 1 : c 1 , c 3 , c 4 Head 2 : c 5 , c 7 , c 8 Head 3 : c 9 , c 11 , c 12 Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Limited-Burst-Deletion Output: c 1 c 3 c 4 = ( u 1 , u 3 , u 4 ) c 5 c 7 c 8 c 9 c 11 c 12 Model 2: An over-shift error can be modeled as a burst of consecutive deletions of limited length. Question 2: How to construct a q -ary code correcting a burst of consecutive deletions of limited length? Answer 2: C. Schoeny, A. Wachter-Zeh, R. Gabrys and E. Yaakobi (2017). Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Multiple Limited-Burst-Deletions Model 3: Multiple over-shift errors can be modeled as multiple bursts of consecutive deletions of limited length. Question 3: How to construct a q -ary code correcting multiple bursts of consecutive deletions of limited length? Answer 3: ? Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Limited-Shift-Error Model 4: In racetrack memory, both under-shift and over-shift can occur. Hence, there are two kinds of errors: sticky-insertions and burst of deletions. Question 4: How to construct a q -ary code correcting a combination of multiple sticky-insertions and multiple bursts of deletions of limited length? Answer 4: ? Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Our Main Results Theorem 1 Given 0 < δ, ǫ < 1 , there exists a q -ary b -limited t 1 -burst-deletion-correcting code C 1 of length ℓ such that its rate satisfies 1 − δ ≥ R 1 = log |C 1 | ≥ ( 1 − log q ( b + 1 )) · ( 1 − δ − ǫ ) ℓ where t 1 · b = δ · ℓ . The code is asymptotic optimal when q tends to infinity. Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Our Main Results Theorem 2 Given 0 < δ, ǫ < 1 , there exists a q -ary b -limited t 1 -burst-deletion t 2 -sticky-insertion-correcting code C 2 of length ℓ for any arbitrarily large t 2 and t 1 · b = δ · ℓ such that its rate 1 − δ ≥ R 2 = log |C 2 | ≥ ( 1 − log q ( b + 2 )) · ( 1 − δ − ǫ ) . ℓ The code is asymptotic optimal when q tends to infinity. Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Construction Definition ◮ A cyclic sequence σ = ( σ 1 , . . . , σ ℓ ) is called a de Bruijn sequence of strength h over an alphabet of size q if all ℓ possible substrings of length h are distinct. It is known that ℓ ≤ q h . ◮ A q -ary sequence π = ( π 1 , . . . , π ℓ ) is called a b -bounded de Bruijn sequence of strength h if all length- h subvectors π [ i , i + h − 1 ] in b consecutive positions are distinct. That is, we can always determine the position i of sub-vector π [ i , i + h − 1 ] provided the estimation of that position in a segment of length b . Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Construction Construction Let π = ( π 1 , π 2 , . . . , π ℓ ) be a b -bounded de Bruijn sequence of strength one over an alphabet of size q 1 . Let C q 2 ( ℓ, t ) be a q 2 -ary t -erasure-correcting code of length ℓ . Let q = q 1 · q 2 . For each word c = ( c 1 , c 2 , . . . , c ℓ ) ∈ C q 2 ( ℓ, t ) , we define f ( c , π ) = ( f 1 , f 2 , . . . , f ℓ ) such that f i = ( π i , c i ) for all 1 ≤ i ≤ ℓ. We construct the following q -ary code of length ℓ , C q ( b , ℓ, t ) = { f ( c , π ) : c ∈ C q 2 ( ℓ, t ) } . Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Construction Theorem 3 The code C q ( b + 1 , ℓ, t ) from the above construction is a q -ary b -limited t 1 -burst-deletion-correcting code where t = t 1 · b . Theorem 4 The code C q ( b + 2 , ℓ, t ) from Construction 1 is a q -ary b -limited t 1 -burst-deletion t 2 -sticky-insertion-correcting code for any integer t 2 and t = t 1 · b . Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Conclusion and Discussion ◮ Non-binary codes correcting multiple bursts of deletions of limited length and multiple sticky-insertions are constructed. ◮ These codes can be decoded efficiently without knowing the number of deletions and insertions. ◮ These codes can be applied to correct limited-shift errors in racetrack memories and to correct block deletions in DNA-based storage. ◮ Some more results can be found in our paper. Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Furtherwork ◮ Construct a good q -ary code correcting t deletions and sticky-insertions with small q . ◮ Finding some coding schemes to combat under- and over-shift errors in racetrack memories. Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
THANK YOU THANK YOU FOR YOUR ATTENTION. Presented by: Van Khu Vu Codes Correcting Under- and Over-Shift Errors in Racetrack Memories
Recommend
More recommend