q ary asymmetric loco codes constrained codes supporting
play

Q-ary Asymmetric LOCO Codes: Constrained Codes Supporting Flash - PowerPoint PPT Presentation

Q-ary Asymmetric LOCO Codes: Constrained Codes Supporting Flash Evolution Ahmed Hareedy, Beyza Dabak, and Robert Calderbank Duke University International Symposium on Information Theory June 2020 Presentation Outline Motivation and


  1. Q-ary Asymmetric LOCO Codes: Constrained Codes Supporting Flash Evolution Ahmed Hareedy, Beyza Dabak, and Robert Calderbank Duke University International Symposium on Information Theory June 2020

  2. Presentation Outline ➢ Motivation and technical vision ➢ Introduction and history ➢ Q-ary asymmetric LOCO codes ➢ Rates and reconfigurability ➢ Conclusion and future directions 2

  3. Storage Densities Are Rapidly Growing ➢ Modern applications (IoT) require storage densities to grow rapidly. ❑ Data storage is a story where density increases as a result of advances in physics/architectures and innovations in signal processing. ➢ Data storage types: TDMR ❑ Magnetic, non-volatile (HDD). Tunneling MR head ❑ Electronic, non-volatile (Flash). Giant MR head ❑ Resistive, non-volatile (3D XPt). MR head ❑ Electronic, volatile (DRAM). ➢ The cold-warm-hot axis. V-NAND QLC ➢ Densities approach 10 Tbpsi! V-NAND TLC ❑ With the vertical NAND NAND MLC (3D NAND), Flash devices NAND SLC are already winning! 3

  4. Understanding Flash Operation ➢ The Flash cell is a MOSFET but with a floating gate (FG). Very high +ve voltage ❑ Programming is performed via applying very G high positive voltage to the gate (NPN). - - - - - - FG ❑ Electrons tunnel into the FG. N N ❑ The charge level in the FG controls threshold. P ➢ Advances in physics enabled more than two charge levels per cell (SLC vs. M/T/Q/P-LC). ➢ How to read Word 3 in NAND Flash: ❑ Apply ON voltage on all word lines except 3, and read voltage on 3. ……………………………… 4

  5. Sources of Error in Flash Devices ➢ Inter-cell interference (ICI): ❑ Parasitic capacitances result in charge propagation ( 101 in SLC). ➢ Programming errors: ❑ Failed programming/erasing operations result in asymmetric errors. ➢ Other sources of error: ❑ Charge leakage over time and Gaussian electronic noise. MLC Flash High Low High ➢ What about magnetic recording devices? ❑ Inter-symbol interference (ISI), inter-track interference (in TDMR), jitter or timing problems, and Gaussian noise. 5

  6. How Can We Take Full Advantage? ➢ Data storage devices operate at very low frame error rates. ➢ Our technical vision is: ❑ To devise efficient coding techniques that exploit the advances in physics to significantly improve performance. ➢ Mitigating interference: ❑ Constrained codes prevent error-prone patterns from being written. ❑ LOCO codes forbid these patterns with minimal redundancy. ❑ LOCO codes can be easily reconfigured as the device ages. ➢ Handling other sources of error: ❑ Graph-based (LDPC) codes correct the errors after reading. ❑ Examples are spatially-coupled and multi-dimensional LDPC codes. ➢ These techniques result in significant lifetime and density gains! 6

  7. Presentation Outline ➢ Motivation and technical vision ➢ Introduction and history ➢ Q-ary asymmetric LOCO codes ➢ Rates and reconfigurability ➢ Conclusion and future directions 7

  8. Introduction to Constrained Codes ➢ Constrained codes impose restrictions on written (transmitted) data. ❑ The set of forbidden patterns can be symmetric or asymmetric. ❑ The rate is (# of information bits)/(# of coded bits or symbols). ➢ The universe of constrained sequences is represented by an FSTD. The capacity is the highest achievable rate. ➢ Example: 𝒯 1 = {010, 101} constraint. ❑ The adjacency matrix of this FSTD is: 𝑇 1 𝑇 2 𝑇 3 𝑇 4 𝑇 1 𝑇 2 𝑇 3 𝑇 4 ❑ The capacity is log 2 (𝜇 max ) , which is 0.6942 here. 8

  9. History and Our LOCO Codes 𝒯 𝑦 ≜ {010, 101, 0110, 1001, … , 0𝟐 𝑦 0, 1𝟏 𝑦 1} 1948 Shannon: FSTD of constrained codes [R1] 1970 Tang and Bahl: RLL codes [R2] Cover: Enumerative source coding [R3] Franaszek Claude Shannon 1980 Adler, Coppersmith, and Hassner: State splitting and merging to produce FSMs [R4] Karabed, Immink, Siegel, and Wolf: 1990 Optimization of FSMs [R5, R6] Constrained codes based on lexicographic 2000 indexing [R7, R8] Kees Immink LOCO codes are 𝒯 𝑦 -constrained (symmetric) codes: 2019 Capacity-achieving, simple, and reconfigurable [H1] 9

  10. Presentation Outline ➢ Motivation and technical vision ➢ Introduction and history ➢ Q-ary asymmetric LOCO codes ➢ Rates and reconfigurability ➢ Conclusion and future directions 10

  11. Device Physics Determine Patterns to Forbid ➢ Consider Flash devices with 𝑟 levels per cell: ❑ SLC ( 𝑟 = 2 ), MLC ( 𝑟 = 4 ), TLC ( 𝑟 = 8 ), QLC ( 𝑟 = 16 ), PLC ( 𝑟 = 32 ). ❑ Symbols in GF( 𝑟 ) = {0, 1, 𝛽, … , 𝛽 𝑟−2 } are written as charge (threshold) levels in {0, 1, 2, … , 𝑟 − 1} . ➢ What should we forbid? ❑ Patterns resulting in max charge at the outer cells but less at the inner ones [R9]. ❑ Let 𝜀 be in GF( 𝑟 ) \{𝛽 𝑟−2 } . The set of 𝑟 − 1 < 𝑟 − 1 𝑟 − 1 forbidden patterns is: 𝑟 ≜ 𝛽 𝑟−2 𝜺 𝑧 𝛽 𝑟−2 , ∀𝜺 𝑧 ∈ GF( 𝑟 ) \{𝛽 𝑟−2 } 𝑧 | 1 ≤ 𝑧 ≤ 𝑦 . 𝒭 𝑦 ❑ If 𝑟 = 2 (binary), 𝜺 𝑧 has to be only 𝟏 𝑧 . Then, 2 = 101,1𝟏 2 1, … , 1𝟏 𝑦 1 . 𝒭 𝑦 ❑ The codes are 𝑟 -ary asymmetric LOCO (QA-LOCO) codes. ❑ Handling 𝑦 > 1 can increase the lifetime and reduce the time to market. 11

  12. Formal Definition and Group Structure 𝑟 ➢ A QA-LOCO code 𝒭𝒟 𝑛,𝑦 is defined by: 𝑟 ❑ Each codeword 𝐝 ∈ 𝒭𝒟 𝑛,𝑦 has symbols in GF( 𝑟 ) and is of length 𝑛 . 𝑟 ❑ Codewords in 𝒭𝒟 𝑛,𝑦 are ordered lexicographically. 𝑟 𝑟 , 𝑦 ≥ 1 . ❑ Each codeword 𝐝 ∈ 𝒭𝒟 𝑛,𝑦 does not contain any pattern in 𝒭 𝑦 ❑ All codewords satisfying the above properties are included. 𝑟 , 𝑛 ≥ 2 , are partitioned into three groups: ➢ Codewords in 𝒭𝒟 𝑛,𝑦 ❑ Group 1: Codewords starting with 𝜀, ∀𝜀, from the left. ❑ Group 2: Codewords starting with 𝛽 𝑟−2 𝛽 𝑟−2 from the left. ❑ Group 3: Codewords starting with 𝛽 𝑟−2 𝜺 𝑦+1 , ∀𝜺 𝑦+1 , from the left. ➢ What QA-LOCO codes offer [H2]: ❑ They mitigate ICI, and they are capacity-achieving. ❑ They have simple encoding-decoding, and they are reconfigurable. 12

  13. QA-LOCO Codes with 𝑟 = 2 and 𝑦 = 1 2 Codewords of the code 𝒭𝒟 𝑛,1 Index 𝑕(𝐝) 𝑛 = 1 𝑛 = 2 𝑛 = 3 𝑛 = 4 0 0 00 000 0000 1 1 01 001 0001 2 10 010 0010 3 11 011 0011 Group 1 4 100 0100 5 110 0110 6 111 0111 7 1000 Group 3 8 1001 9 1100 10 1110 Group 2 11 1111 13

  14. Enumerating the Codewords 𝑟 . Define: ➢ Theorem: Let 𝑂 𝑟 (𝑛, 𝑦) be the cardinality of 𝒭𝒟 𝑛,𝑦 𝑂 𝑟 𝑛, 𝑦 ≜ 𝑟 − 1 𝑛 , 𝑛 ≤ 0 , and 𝑂 𝑟 1, 𝑦 ≜ 𝑟 . Then, 𝑂 𝑟 (𝑛, 𝑦) , 𝑛 ≥ 2 , is recursively given by: 𝑂 𝑟 𝑛, 𝑦 = 𝑟𝑂 𝑟 𝑛 − 1, 𝑦 − 𝑟 − 1 𝑂 𝑟 𝑛 − 2, 𝑦 + 𝑟 − 1 𝑦+1 𝑂 𝑟 (𝑛 − 𝑦 − 2, 𝑦). ➢ Example: For 𝑟 = 2 and 𝑦 = 1 : 𝑂 2 𝑛, 1 = 2𝑂 2 𝑛 − 1, 1 − 𝑂 2 𝑛 − 2, 1 + 𝑂 2 (𝑛 − 3,1). ❑ 𝑂 2 −1,1 ≜ 1, 𝑂 2 0, 1 ≜ 1, 𝑂 2 1, 1 ≜ 2. ❑ 𝑂 2 2, 1 = 2𝑂 2 1, 1 − 𝑂 2 0, 1 + 𝑂 2 −1,1 = 4. ❑ 𝑂 2 3, 1 = 2𝑂 2 2, 1 − 𝑂 2 1, 1 + 𝑂 2 0,1 = 7. ❑ 𝑂 2 4, 1 = 2𝑂 2 3, 1 − 𝑂 2 2, 1 + 𝑂 2 1,1 = 12. ❑ The numbers are consistent with the table. 14

  15. Codeword to Index and Vice Versa 𝑟 , ➢ Theorem: The index of a QA-LOCO codeword 𝐝 ≜ 𝑑 𝑛−1 𝑑 𝑛−2 … 𝑑 0 ∈ 𝒭𝒟 𝑛,𝑦 𝑛 ≥ 2 , is given by the rule: 𝑛−1 𝑏 𝑗 𝑟 − 1 𝛿 𝑗 𝑂 𝑟 𝑗 − 𝛿 𝑗 , 𝑦 , 𝑕 𝐝 = σ 𝑗=0 where 𝑏 𝑗 ≜ gflog 𝛽 (𝑑 𝑗 ) + 1 is the level equivalent of 𝑑 𝑗 , and 𝛿 𝑗 = 𝑦 − 𝑙 𝑗 + 1; 𝑙 𝑗 is the distance to the closest 𝛽 𝑟−2 symbol. ❑ For example, if 𝑑 𝑗 = 𝛽 𝑟−2 , 𝑏 𝑗 = 𝑟 − 1 . ❑ For example, if 𝑑 𝑗+1 𝑑 𝑗 = 𝛽 𝑟−2 𝑑 𝑗 , 𝑙 𝑗 = 1 and 𝛿 𝑗 = 𝑦 . ➢ The theorem gives the encoding-decoding rule of QA-LOCO codes. ❑ Encoding: Mapping from index to codeword. ❑ Decoding: Demapping from codeword to index. ➢ The same hardware can support multiple constraints by updating 𝑂 ’s! ❑ Runtime operations are only subtractions and additions. 15

  16. Example of QA-LOCO Rule 𝑛−1 𝑏 𝑗 𝑂 2 𝑗 − 𝑏 𝑗+1 𝑦, 𝑦 . ➢ For the binary case ( 𝑟 = 2 ): 𝑕 𝐝 = σ 𝑗=0 ➢ Example: 𝑟 = 2 , 𝑛 = 4 , and 𝑦 = 1 : 3 ❑ 𝑕(𝐝 = 0111) = σ 𝑗=0 𝑏 𝑗 𝑂 2 𝑗 − 𝑏 𝑗+1 , 1 = 𝑂 2 2, 1 + 𝑂 2 0, 1 + 𝑂 2 −1, 1 2 Index 𝑕(𝐝) Codewords of the code 𝒭𝒟 4,1 = 4 + 1 + 1 = 6 . 0 0000 1 0001 ❑ 𝑕 𝐝 = 1110 2 0010 3 = σ 𝑗=0 𝑏 𝑗 𝑂 2 𝑗 − 𝑏 𝑗+1 , 1 3 0011 Group 1 4 0100 = 𝑂 2 3, 1 + 𝑂 2 1, 1 + 𝑂 2 (0, 1) 5 0110 = 7 + 2 + 1 = 10 . 6 0111 7 1000 Group 3 Both are consistent with the indices 8 1001 9 1100 in the table. 10 1110 Group 2 1111 11 16

  17. Presentation Outline ➢ Motivation and technical vision ➢ Introduction and history ➢ Q-ary asymmetric LOCO codes ➢ Rates and reconfigurability ➢ Conclusion and future directions 17

Recommend


More recommend