spatially coupled codes recent trends and applications in
play

Spatially-Coupled Codes: Recent Trends and Applications in Data - PowerPoint PPT Presentation

Spatially-Coupled Codes: Recent Trends and Applications in Data Storage and Memories Prof. Lara Dolecek ECE Department, UCLA NVMW, UC San Diego, March 2019 Data-driven Demand for Dense and Reliable Memories and Storage [Source: HortonWorks] w


  1. Message Passing Decoding Algorithm – Example 1 Assume all-zeros codeword was transmitted. circles: variable nodes Check processing: squares: check nodes Check is not satisfied Check is satisfied 0 0 ……….… 0 0 0 … 0 23

  2. Message Passing Decoding Algorithm – Example 1 Assume all-zeros codeword was transmitted. circles: variable nodes Check processing: squares: check nodes Check is not satisfied Check is satisfied 0 0 ……….… 0 0 0 … 0 End of decoding: all checks are satisfied DECODING IS SUCCESSFUL 24

  3. Message Passing Decoding Algorithm – Example 2 Assume all-zeros codeword was transmitted. circles: variable nodes squares: check nodes Received sequence: 0 ……….… 0 ……….… 0 0 0 25

  4. Message Passing Decoding Algorithm – Example 2 Assume all-zeros codeword was transmitted. circles: variable nodes Variable to check messages: squares: check nodes Variable value is 1 Variable value is 0 0 ……….… 0 ……….… 0 0 0 26

  5. Message Passing Decoding Algorithm – Example 2 Assume all-zeros codeword was transmitted. circles: variable nodes Check processing: squares: check nodes Check is not satisfied Check is satisfied 0 ……….… 0 ……….… 0 0 0 Checks that receive two 1’s so they are satisfied 27

  6. Message Passing Decoding Algorithm – Example 2 Assume all-zeros codeword was transmitted. circles: variable nodes Check to variable node messages: squares: check nodes Flip your current value (F) Keep your current value (S) 0 ……….… 0 ……….… 0 0 0 28

  7. Message Passing Decoding Algorithm – Example 2 Assume all-zeros codeword was transmitted. circles: variable nodes Variable node processing – majority vote: squares: check nodes S, F, S, S, S, S, S, S S, S F, S S, F, F, S S, F, S, S S, S, F, S 0 ……….… 0 ……….… 0 0 0 29

  8. Message Passing Decoding Algorithm – Example 2 Assume all-zeros codeword was transmitted. circles: variable nodes Variable node processing – majority vote: squares: check nodes S, F, S, S, S, S, S, S S, S F, S S, F, F, S S, F, S, S S, S, F, S 0 ……….… 0 ……….… 0 0 0 No updates are made despite the presence of unsatisfied checks. 30

  9. Message Passing Decoding Algorithm – Example 2 Assume all-zeros codeword was transmitted. circles: variable nodes Variable node processing – majority vote: squares: check nodes 0 ……….… 0 ……….… 0 0 0 31

  10. Message Passing Decoding Algorithm – Example 2 Assume all-zeros codeword was transmitted. circles: variable nodes Variable to check messages: squares: check nodes Variable value is 1 Variable value is 0 0 ……….… 0 ……….… 0 0 0 32

  11. Message Passing Decoding Algorithm – Example 2 Assume all-zeros codeword was transmitted. circles: variable nodes Check processing: squares: check nodes Check is not satisfied Check is satisfied 0 ……….… 0 ……….… 0 0 0 33

  12. Message Passing Decoding Algorithm – Example 2 Assume all-zeros codeword was transmitted. circles: variable nodes Check processing: squares: check nodes Check is not satisfied Check is satisfied 0 ……….… 0 ……….… 0 0 0 Continue ad infinitum with the same unsatisfied check nodes End of decoding: reach maximum number of iterations. DECODING IS UNSUCCESSFUL 34

  13. Decoding Errors of Iteratively-Decoded Graph Codes An (a, b) absorbing set (AS): – is a subgraph of the Tanner graph; – parameter a is the number of variable nodes in the configuration; – parameter b is the number of unsatisfied check nodes connected to the configuration; – each variable node is connected to more satisfied than F unsatisfied check nodes. S S w Example: (3, 3) absorbing set. S – Assume all-zeros codeword is transmitted S S F – Assume only these 3 variable nodes are in error. F w Other notions used in the literature: Trapping sets, Stopping Sets, Pseudocodewords [ Richardson, Vasic, Milenkovic, Banihashemi ,…]. 35

  14. Elementary Absorbing Sets w Elementary AS: – is an AS wherein each satisfied check node is of degree 2, and each unsatisfied check node is of degree 1. (4,4) elementary AS (3,3) elementary AS 36

  15. Elementary Absorbing Sets w Elementary AS: – is an AS wherein each satisfied check node is of degree 2, and each unsatisfied check node is of degree 1. (4,4) elementary AS (3,3) elementary AS w Elementary AS is commonly used to capture AWGN performance. 36

  16. Binary and Non-binary (NB) Absorbing Sets w Binary absorbing sets are described in terms of topological conditions only. w Non-binary (NB) absorbing sets: – Both the topological conditions and the edge weight conditions are required. ● Choice of w’s determines satisfied/unsatisfied checks. ● Conditions are congruential equations over GF(q). 37

  17. Binary and Non-binary (NB) Absorbing Sets w Binary absorbing sets are described in terms of topological conditions only. w Non-binary (NB) absorbing sets: – Both the topological conditions and the edge weight conditions are required. ● Choice of w’s determines satisfied/unsatisfied checks. ● Conditions are congruential equations over GF(q). 𝑥 :1 𝑥 :2 𝑥 : 𝑥 0 𝑥 F 𝑥 :: 𝑥 E 𝑥 1 𝑥 :9 𝑥 2 𝑥 D 𝑥 :0 𝑥 C 𝑥 B 𝑥 :B 𝑥 :C (4, 4) NB AS; w’s are in GF(q)\{0} 37

  18. Binary and Non-binary (NB) Absorbing Sets w Binary absorbing sets are described in terms of topological conditions only. w Non-binary (NB) absorbing sets: – Both the topological conditions and the edge weight conditions are required. ● Choice of w’s determines satisfied/unsatisfied checks. ● Conditions are congruential equations over GF(q). 𝑥 :1 𝑥 :2 𝑥 : 𝑥 0 𝑥 F 𝑥 :: 𝑥 E 𝑥 1 𝑥 :9 𝑥 2 𝑥 D 𝑥 :0 𝑥 C 𝑥 B 𝑥 :B 𝑥 :C (4, 4) NB AS; w’s are in GF(q)\{0} 37

  19. Binary and Non-binary (NB) Absorbing Sets w Binary absorbing sets are described in terms of topological conditions only. w Non-binary (NB) absorbing sets: – Both the topological conditions and the edge weight conditions are required. ● Choice of w’s determines satisfied/unsatisfied checks. ● Conditions are congruential equations over GF(q). 𝑥 :1 𝑥 :2 𝑥 : 𝑥 0 𝑥 F 𝑥 :: 𝑥 E 𝑥 1 𝑥 :9 𝑥 2 𝑥 D 𝑥 :0 𝑥 C 𝑥 B 𝑥 :B 𝑥 :C (4, 4) NB AS; w’s are in GF(q)\{0} 37

  20. Effect of Asymmetry on Absorbing Sets (ASs) w Asymmetry in the channel (e.g., in Flash) results in: – NB ASs with unsatisfied check nodes having degree > 1 . – NB ASs with satisfied check nodes having degree > 2 . ● Primarily due to high VN error magnitudes. w Such dominant objects are non-elementary. 38

  21. Effect of Asymmetry on Absorbing Sets (ASs) w Asymmetry in the channel (e.g., in Flash) results in: – NB ASs with unsatisfied check nodes having degree > 1 . – NB ASs with satisfied check nodes having degree > 2 . ● Primarily due to high VN error magnitudes. w Such dominant objects are non-elementary. w Example: (6, 4) non-elementary NB AS ( γ = 3 ). Th Threshold voltage distribution fo for MLC Flash Memories 38

  22. Effect of Asymmetry on Absorbing Sets (ASs) w Asymmetry in the channel (e.g., in Flash) results in: – NB ASs with unsatisfied check nodes having degree > 1 . – NB ASs with satisfied check nodes having degree > 2 . ● Primarily due to high VN error magnitudes. w Such dominant objects are non-elementary. w Example: (6, 4) non-elementary NB AS ( γ = 3 ). Th Threshold voltage distribution fo for MLC Flash Memories w (6, 2) , (6, 3) , and (6, 4) are all problematic because of asymmetry. 38

  23. Detrimental Objects in Case of Storage Channels w These objects are general absorbing sets of type two (GASTs). w Define an ( a , b , d 1 , d 2 , d 3 ) GAST over GF( q ) [Hareedy ‘16]: – a is the number of variable nodes in the configuration (its size). – b is the number of unsatisfied check nodes (degree 1 or 2 ). – d 1 (resp., d 2 and d 3 ) is the number of degree 1 (resp., 2 and > 2 ) check nodes. – Each variable node is connected to strictly more satisfied than unsatisfied check nodes (for some VN values in GF( q )\{0} ). 39

  24. Detrimental Objects in Case of Storage Channels w These objects are general absorbing sets of type two (GASTs). w Define an ( a , b , d 1 , d 2 , d 3 ) GAST over GF( q ) [Hareedy ‘16]: – a is the number of variable nodes in the configuration (its size). – b is the number of unsatisfied check nodes (degree 1 or 2 ). – d 1 (resp., d 2 and d 3 ) is the number of degree 1 (resp., 2 and > 2 ) check nodes. – Each variable node is connected to strictly more satisfied than unsatisfied check nodes (for some VN values in GF( q )\{0} ). (4, 2, 2, 5, 0) GAST (6, 2, 0, 9, 0) GAST 39

  25. Common Denominator of Problematic Objects w Cycles 6 and cycles 8 are common denominators of problematic absorbing sets over AWGN, Flash, and PR channels. (5, 3) (4, 2) common denominator 40

  26. Common Denominator of Problematic Objects w Cycles 6 and cycles 8 are common denominators of problematic absorbing sets over AWGN, Flash, and PR channels. (5, 3) (4, 2) common denominator w By minimizing the population of common denominator instances, we can simultaneously target a number of problematic objects and minimize their cumulative population. 40

  27. Common Denominator of Problematic Objects w Cycles 6 and cycles 8 are common denominators of problematic absorbing sets over AWGN, Flash, and PR channels. (5, 3) (4, 2) common denominator w By minimizing the population of common denominator instances, we can simultaneously target a number of problematic objects and minimize their cumulative population. w The common denominator structure has a simpler combinatorial description than the relevant super-structures. 40

  28. Talk Outline w Mathematical Preliminaries w Combinatorial Framework for SC Codes – Analytical description – Applications and simulation results – Recent extensions: multidimensional SC w Concluding Remarks and Future Directions 41

  29. Framework Outline w First we optimize the unlabeled graph. – Stage 1: We derive the optimal partitioning (OO) corresponding to the minimum number of detrimental objects (common denominator instances) in the protograph. – Stage 2: We devise a circulant power optimizer (CPO) to further reduce the number of problematic subgraphs in the unlabeled graph. w We use the OO-CPO technique to design binary codes. w Stage 3: For the non-binary codes, we then apply the weight consistency matrix (WCM) framework. 42

  30. Framework Outline w First we optimize the unlabeled graph. – Stage 1: We derive the optimal partitioning (OO) corresponding to the minimum number of detrimental objects (common denominator instances) in the protograph. – Stage 2: We devise a circulant power optimizer (CPO) to further reduce the number of problematic subgraphs in the unlabeled graph. w We use the OO-CPO technique to design binary codes. w Stage 3: For the non-binary codes, we then apply the weight consistency matrix (WCM) framework. 42

  31. Stage 1: A Flexible Partitioning Using Overlap Rules w Partitioning a CB block code into 𝒏 + 𝟐 component matrices, not necessarily contiguous: For memory 𝑛 = 1 : 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K L,L L,M L,N L,O L,P L,Q L,R 𝐼 = Green circulants belong to 𝐼 9 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K M,L M,M M,N M,O M,P M,Q M,R Blue circulants belong to 𝐼 : 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K N,L N,M N,N N,O N,P N,Q N,R For memory 𝑛 = 2 : 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K L,L L,M L,N L,O L,P L,Q L,R 𝐼 = Green circulants belong to 𝐼 9 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K M,L M,M M,N M,O M,P M,Q M,R Blue circulants belong to 𝐼 : 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K N,L N,M N,N N,O N,P N,Q N,R Gray circulants belong to 𝐼 0 43

  32. Stage 1: A Flexible Partitioning Using Overlap Rules w Partitioning a CB block code into 𝒏 + 𝟐 component matrices, not necessarily contiguous: For memory 𝑛 = 1 : 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K L,L L,M L,N L,O L,P L,Q L,R 𝐼 = Green circulants belong to 𝐼 9 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K M,L M,M M,N M,O M,P M,Q M,R Blue circulants belong to 𝐼 : 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K N,L N,M N,N N,O N,P N,Q N,R For memory 𝑛 = 2 : 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K L,L L,M L,N L,O L,P L,Q L,R 𝐼 = Green circulants belong to 𝐼 9 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K M,L M,M M,N M,O M,P M,Q M,R Blue circulants belong to 𝐼 : 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K 𝜏 K N,L N,M N,N N,O N,P N,Q N,R Gray circulants belong to 𝐼 0 w We developed optimum overlap (OO) partitioning that results in the minimum number of problematic objects for protograph SC codes [Esfahanizadeh ‘18]. 43

  33. What Are the Overlap Parameters? w Overlap parameters describe a property of the mapping from circulants to component matrices. This in turn determines the total number of common denominator structures in the protograph. w Consider an example: – Number of rows γ = 3 , number of columns κ = 7 , memory m = 1. – There are 7 independent overlap parameters: 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 L,M L,O L,Q L,R 𝐼 9 = 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 M,M M,N M,P M,R 𝜏 K 𝜏 K 𝜏 K 0 0 0 0 N,N N,P N,Q 44

  34. What Are the Overlap Parameters? w Overlap parameters describe a property of the mapping from circulants to component matrices. This in turn determines the total number of common denominator structures in the protograph. w Consider an example: – Number of rows γ = 3 , number of columns κ = 7 , memory m = 1. – There are 7 independent overlap parameters: 𝑢 9 = 4 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 L,M L,O L,Q L,R 𝐼 9 = 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 M,M M,N M,P M,R 𝜏 K 𝜏 K 𝜏 K 0 0 0 0 N,N N,P N,Q 44

  35. What Are the Overlap Parameters? w Overlap parameters describe a property of the mapping from circulants to component matrices. This in turn determines the total number of common denominator structures in the protograph. w Consider an example: – Number of rows γ = 3 , number of columns κ = 7 , memory m = 1. – There are 7 independent overlap parameters: 𝑢 9 = 4 𝑢 : = 4 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 L,M L,O L,Q L,R 𝐼 9 = 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 M,M M,N M,P M,R 𝜏 K 𝜏 K 𝜏 K 0 0 0 0 N,N N,P N,Q 44

  36. What Are the Overlap Parameters? w Overlap parameters describe a property of the mapping from circulants to component matrices. This in turn determines the total number of common denominator structures in the protograph. w Consider an example: – Number of rows γ = 3 , number of columns κ = 7 , memory m = 1. – There are 7 independent overlap parameters: 𝑢 9 = 4 𝑢 : = 4 𝑢 0 = 3 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 L,M L,O L,Q L,R 𝐼 9 = 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 M,M M,N M,P M,R 𝜏 K 𝜏 K 𝜏 K 0 0 0 0 N,N N,P N,Q 44

  37. What Are the Overlap Parameters? w Overlap parameters describe a property of the mapping from circulants to component matrices. This in turn determines the total number of common denominator structures in the protograph. w Consider an example: – Number of rows γ = 3 , number of columns κ = 7 , memory m = 1. – There are 7 independent overlap parameters: 𝑢 9 = 4 𝑢 : = 4 𝑢 0 = 3 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 L,M L,O L,Q L,R 𝑢 {9,:} = 1 𝐼 9 = 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 M,M M,N M,P M,R 𝜏 K 𝜏 K 𝜏 K 0 0 0 0 N,N N,P N,Q 44

  38. What Are the Overlap Parameters? w Overlap parameters describe a property of the mapping from circulants to component matrices. This in turn determines the total number of common denominator structures in the protograph. w Consider an example: – Number of rows γ = 3 , number of columns κ = 7 , memory m = 1. – There are 7 independent overlap parameters: 𝑢 9 = 4 𝑢 : = 4 𝑢 0 = 3 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 L,M L,O L,Q L,R 𝑢 {9,:} = 1 𝐼 9 = 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 𝑢 {9,0} = 1 M,M M,N M,P M,R 𝜏 K 𝜏 K 𝜏 K 0 0 0 0 N,N N,P N,Q 44

  39. What Are the Overlap Parameters? w Overlap parameters describe a property of the mapping from circulants to component matrices. This in turn determines the total number of common denominator structures in the protograph. w Consider an example: – Number of rows γ = 3 , number of columns κ = 7 , memory m = 1. – There are 7 independent overlap parameters: 𝑢 9 = 4 𝑢 : = 4 𝑢 0 = 3 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 L,M L,O L,Q L,R 𝑢 {9,:} = 1 𝐼 9 = 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 𝑢 {9,0} = 1 M,M M,N M,P M,R 𝑢 {:,0} = 2 𝜏 K 𝜏 K 𝜏 K 0 0 0 0 N,N N,P N,Q 44

  40. What Are the Overlap Parameters? w Overlap parameters describe a property of the mapping from circulants to component matrices. This in turn determines the total number of common denominator structures in the protograph. w Consider an example: – Number of rows γ = 3 , number of columns κ = 7 , memory m = 1. – There are 7 independent overlap parameters: 𝑢 9 = 4 𝑢 : = 4 𝑢 0 = 3 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 L,M L,O L,Q L,R 𝑢 {9,:} = 1 𝐼 9 = 𝜏 K 𝜏 K 𝜏 K 𝜏 K 0 0 0 𝑢 {9,0} = 1 M,M M,N M,P M,R 𝑢 {:,0} = 2 𝜏 K 𝜏 K 𝜏 K 0 0 0 0 N,N N,P N,Q 𝑢 {9,:,0} = 0 44

  41. Computing the OO Parameters w Discrete optimization problem: – Here, F is the total number of structures of interest. – The constraints of our optimization problem are the conditions under which the overlap parameters and the subsequent partitioning are valid. 45

  42. Computing the OO Parameters w Discrete optimization problem: – Here, F is the total number of structures of interest. – The constraints of our optimization problem are the conditions under which the overlap parameters and the subsequent partitioning are valid. – Brute force search quickly becomes unwieldy. – We developed a fast enumeration approach that takes the advantage of the repetitive nature of the graph and so-called replicas [Esfahanizadeh ’17, Esfahanizadeh ‘18]. 45

  43. Computing the OO Parameters w Discrete optimization problem: – Here, F is the total number of structures of interest. – The constraints of our optimization problem are the conditions under which the overlap parameters and the subsequent partitioning are valid. – Brute force search quickly becomes unwieldy. – We developed a fast enumeration approach that takes the advantage of the repetitive nature of the graph and so-called replicas [Esfahanizadeh ’17, Esfahanizadeh ‘18]. w Example: For the case of γ = 3, and m = 1, we denote the solution to the problem as 𝐮 ∗ = [ 𝑢 9 ∗ ∗ ∗ ∗ ∗ 𝑢 : ∗ 𝑢 0 ∗ 𝑢 {9,:} 𝑢 {9,0} 𝑢 {:,0} 𝑢 {9,:,0} ] . We call 𝐮 ∗ an optimal vector. All optimal vectors perform the same. 45

  44. Case Study: Cycle-6 as the Common Denominator Structure w Lemma: The VNs of a cycle of length 6 in an SC code span at most 𝑛 + 1 consecutive replicas R i . R 1 R 2 …. R L ] w Example: cycles-6 on 𝐼 [\ with parameters γ = 3, κ = 5, m = 2, L = 3 . R 1 R 2 R 3 ● Cycles-6 in: – solid lines span one replicas, – dash lines span two replicas, – dash-dot lines span three replicas. ● Component matrices are illustrated in gray. 46

  45. Case Study: Cycle-6 as the Common Denominator Structure w Theorem: The number of cycles of length 6 (cycles-6) in the binary protograph ( p = 1 ) of an SC code with γ , κ , m , and L is: _ is the number of cycles that start in first replica and span k replicas. – 𝐺 : 𝐥 are also derived explicitly. Expressions for 𝐆 𝟐 ] with parameter κ = 5, γ = 3, m = 2, L = 3 . w Example: 𝐼 [\ : 0 1 𝐺 = 3𝐺 + 2𝐺 +𝐺 : : : 47

  46. Stage 2: Circulant Power Optimizer (CPO) 𝐪 is designed using t* , we apply the CPO to further w After 𝐈 𝐓𝐃 reduce the number of the common denominators structures in the graph of 𝐈 𝐓𝐃 . w Example for cycle-6: Protograph Unlabeled graph 48

  47. Framework Outline w First we optimize the unlabeled graph. – Stage 1: We derive the optimal partitioning (OO) corresponding to the minimum number of detrimental objects (common denominator instances) in the protograph. – Stage 2: We devise a circulant power optimizer (CPO) to further reduce the number of problematic subgraphs in the unlabeled graph. w We use the OO-CPO technique to design binary codes. w For the non-binary codes, we then apply the weight consistency matrix (WCM) framework (Stage 3). 49

  48. Framework Outline w First we optimize the unlabeled graph. – Stage 1: We derive the optimal partitioning (OO) corresponding to the minimum number of detrimental objects (common denominator instances) in the protograph. – Stage 2: We devise a circulant power optimizer (CPO) to further reduce the number of problematic subgraphs in the unlabeled graph. w We use the OO-CPO technique to design binary codes. w For the non-binary codes, we then apply the weight consistency matrix (WCM) framework (Stage 3). 49

  49. Stage 3 ingredients: GASTs and their matrix descriptions w Recall: – For a non-binary AS, the values of the variable nodes matter, and weight conditions have to be included. – We use notation ( a , b , d 1 , d 2 , d 3 ) for a GAST over GF( q ). w Example: (6, 2, 0, 9, 0) GAST ( γ = 3): – W : Satisfied. D : Unsatisfied. W D 50

  50. How to Remove a GAST w Objectives of the removal: – The code structure and properties are preserved. – Manipulating the edge weights such that the GAST is completely removed (not converted into another GAST). w For the shown (6, 0, 0, 9, 0) GAST, the resulting object after removal: – is not a (6, 0, 0, 9, 0) GAST. – is not a (6, 1, 0, 9, 0) GAST. – is not a (6, 2, 0, 9, 0) GAST. – is not a (6, 3, 0, 9, 0) GAST. b max = 3 w We need a compact set of submatrices such that when we break their weight conditions, the GAST is removed. The weight consistency matrices (WCMs) 51

  51. Stage 3 ingredients: GASTs and their matrix descriptions Weight Conditions: – There exists a submatrix W in the matrix of check nodes A , such that the null space of W contains at least one vector with all its entries ≠ 0. ≠ 0 𝐄 . . . ≠ 0 52

  52. Stage 3 ingredients: GASTs and their matrix descriptions Weight Conditions: – There exists a submatrix W in the matrix of check nodes A , such that the null space of W contains at least one vector with all its entries ≠ 0. – The matrix W is the matrix ≠ 0 𝐄 . . . of satisfied check nodes, ≠ 0 while D is the matrix of unsatisfied check nodes. – Each column in A has more non-zero entries in W than in D . 52

  53. WCM Extraction Example w Example: (6, 0, 0, 9, 0) GAST ( γ = 3). We construct the set of WCMs, by excluding c 1 first: – Select c 1 (mark c 1 as unsatisfied). – c 2 , c 7 , c 6 , and c 8 cannot be selected concurrently with c 1 . – Options: c 3 , c 4 , c 5 , and c 9 . – Select c 3 . – c 4 and c 9 cannot be selected. – Select c 5 (the remaining one). – Finally, we get 2 WCMs for c 1 obtained by removing: ( c 1 , c 3 , c 5 ) and ( c 1 , c 4 , c 9 ). 53

  54. Stage 3: WCM Optimization Framework w Input: Tanner graph. Output: Optimized Tanner graph. 1. Identify the set ( G ) of problematic GASTs. 2. For each candidate GAST, extract its subgraph from the Tanner graph of the code. 3. Determine the set of WCMs of that GAST. 4. For each WCM in that set: a. Find the null space of the WCM. b. Break the weight conditions of that WCM via the edge weights. 5. If the GAST removal is successful, reflect the edge weight changes in the Tanner graph of the code. 6. This process continues until all GASTs in G are eliminated or no more GASTs can be eliminated. w Theoretical analysis in [Hareedy ’16, Hareedy ’19]. 54

  55. Talk Outline w Mathematical Preliminaries w Combinatorial Framework for SC Codes – Analytical description – Applications and simulation results – Recent extensions: multidimensional SC w Concluding Remarks and Future Directions 55

  56. Simulation Over AWGN Channel: Code Parameters Code Name 𝛿 Code Spec Length and Rate Uncoupled ( 𝑛 = 0 ) Uncoupled Code 1 length = 8,670, rate = 0.824 AB circulant powers SC ( 𝑛 = 1 ) SC Code 1 CV-AB construction 3 SC ( 𝑛 = 1 ) SC Code 2 length = 8,670, rate = 0.818 OO-AB construction SC ( 𝑛 = 1 ) SC Code 3 OO-CPO construction Code Name 𝛿 Code Spec Length and Rate Uncoupled ( 𝑛 = 0 ) Uncoupled Code 2 length = 8,670, rate = 0.765 AB circulant powers SC ( 𝑛 = 1 ) SC Code 4 CV-AB construction 4 SC ( 𝑛 = 1 ) SC Code 5 length = 8,670, rate = 0.757 OO-AB construction SC ( 𝑛 = 1 ) SC Code 6 OO-CPO construction 56

  57. Simulation Over AWGN Channel: BER Analysis Our well-designed SC codes compared to uncoupled block codes and SC codes constructed by previous method of cutting vectors. Column weight 𝛿 = 3 10 -2 Uncoupled Code 1 SC Code 1, CV 10 -3 SC Code 2, OO SC Code 3, OO-CPO 10 -4 10 -5 10 -6 BER 10 -7 10 -8 10 -9 10 -10 10 -11 10 -12 4 4.5 5 5.5 6 6.5 7 SNR (dB) 57

  58. Simulation Over AWGN Channel: BER Analysis Our well-designed SC codes compared to uncoupled block codes and SC codes constructed by previous method of cutting vectors. Column weight 𝛿 = 3 Column weight 𝛿 = 4 w 10 -2 10 -1 Uncoupled Code 1 Uncoupled Code 2 SC Code 1, CV SC Code 4, CV 10 -3 10 -2 SC Code 2, OO SC Code 5, OO SC Code 3, OO-CPO SC Code 6, OO-CPO 10 -4 10 -3 10 -5 10 -4 10 -6 10 -5 BER BER 10 -7 10 -6 10 -8 10 -7 10 -9 10 -8 10 -10 10 -9 10 -11 10 -12 10 -10 4 4.5 5 5.5 6 6.5 7 3 3.5 4 4.5 5 5.5 SNR (dB) SNR (dB) Orders of magnitude improvement 57

  59. Simulation over Flash Channel, Non-binary SC Codes w Channel: normal-Laplace mixture (NLM) Flash channel. – MLC channel with 3 reads and the sector size is 512 bytes. – RBER is raw BER. UBER is uncorrectable BER (FER/ (512 × 8) ). w All the codes have 𝜹 = 𝟒 , length 14,440 bits, and rate 0.834. ( 𝜆 = 𝑞 = 19 , 𝑛 = 1 , 𝑀 = 20 , and 𝑟 = 4 ) w The OO-CPO-WCM approach outperforms existing methods: – Code 6 outperforms Code 2 by 2.5 orders of magnitude. – Code 6 achieves 200% RBER gain compared to Code 2. – Code 6 achieves 500% RBER gain compared to Code 1. 58

  60. SC codes for Channels with SNR variation w Channels with SNR Variation – Each section has a Δ𝑇𝑂𝑆 + that modulates a nominal 𝑇𝑂𝑆 which is common among all sections. Section 𝑂 Section 1 Section 2 Section 𝑗 … w The intrinsic structure of SC codes makes them robust to the SNR variation. 𝐷𝑂 Example: CN r receives information from – ( 𝑛 +1) consecutive sections. 59

  61. Simulation over Channel with SNR Variation, SC Codes Outperform Uncoupled Block Codes w Channel: It has 30 sections. Each section is an AWGN channel with a different SNR value. w All the codes have 𝜹 = 𝟒 and length 8,670 bits. ( 𝜆 = 𝑞 = 17 , and 𝑀 = 30 ) 10 -3 w Uncoupled Code 1: 10 -4 10 -5 𝑛 = 0 and rate 0.824 10 -6 SC Code 1: 10 -7 𝑛 = 1 and rate 0.818 BER 10 -8 SC Code 2: 10 -9 𝑛 = 2 and rate 0.812 Uncoupled Code 1 10 -10 Uncoupled Code 1, Reg. Intrvg SC Code 1 10 -11 SC Code 1, Eff. Intrvg SC Code 2 w Outperforms block codes even 10 -12 4.5 5 5.5 6 6.5 7 SNR (dB) with bit-level interleaving and more improvement by increasing the memory. [Esfahanizadeh ‘18b] 60

  62. Talk Outline w Mathematical Preliminaries w Combinatorial Framework for SC Codes – Analytical description – Applications and simulation results – Recent extensions: multidimensional SC w Concluding Remarks and Future Directions 61

  63. Multi-Dimensional Spatially-Coupled (MD-SC) Codes w In 1D-SC code, a number of block codes are connected together to form a chain of coupled block codes. Talk given in AM session by Homa Esfahanizadeh 62

  64. Multi-Dimensional Spatially-Coupled (MD-SC) Codes w In 1D-SC code, a number of block codes are connected together to form a chain of coupled block codes. w The idea of a MD-SC code is to connect several SC codes to obtain an MD coupling among the underlying SC codes. Talk given in AM session by Homa Esfahanizadeh 62

  65. MD-SC Code Design 1. Identify circulants that are the most problematic (contribute to the most cycles- 𝑙 and 𝑙 is girth). 2. We relocate each chosen circulant to the same position in one of the auxiliary matrices 𝐵 + , i.e., 𝑗 ∈ {1,2, … , 𝑂 − 1} . Three 1D-SC codes MD-SC code with 𝑂 = 3 ˆ 𝐼 †‡ 𝐼 †‡ 𝐵 0 𝐵 : ˆ 𝐼 †‡ 𝐼 †‡ 𝐵 : 𝐵 0 ˆ 𝐼 †‡ 𝐼 †‡ 𝐵 0 𝐵 : ˆ + A : + A 0 𝐼 †‡ = 𝐼 †‡ 63

  66. Optimized Relocation of Circulants to Minimize the Number of Problematic Cycles w Relocation: Moving a problematic circulant 𝐷 +,, in 𝐈 Š‹ to an auxiliary matrix 𝐵 + , i.e., 𝑗 ∈ {1,2, … , 𝑂 − 1} . w MD density ( 𝑈 ): The maximum number of relocations per replica. w MD Mapping: 𝑁: 𝐷 +,, → 0,1, 𝑂 − 1 a) If 𝐷 +,, → 𝐵 + , 𝑁 𝐷 +,, = 𝑗 , ˆ ), 𝑁 𝐷 +,, = 0. b) If 𝐷 +,, is not relocated (kept in 𝐈 Š‹ 64

  67. Optimized Relocation of Circulants to Minimize the Number of Problematic Cycles w Relocation: Moving a problematic circulant 𝐷 +,, in 𝐈 Š‹ to an auxiliary matrix 𝐵 + , i.e., 𝑗 ∈ {1,2, … , 𝑂 − 1} . w MD density ( 𝑈 ): The maximum number of relocations per replica. w MD Mapping: 𝑁: 𝐷 +,, → 0,1, 𝑂 − 1 a) If 𝐷 +,, → 𝐵 + , 𝑁 𝐷 +,, = 𝑗 , ˆ ), 𝑁 𝐷 +,, = 0. b) If 𝐷 +,, is not relocated (kept in 𝐈 Š‹ w Theorem : Let 𝐷 • ‘ = 𝐷 + M ,, M , 𝐷 + N ,, N , … , 𝐷 + ‘ ,, ‘ be the circulants visited by a cycle- 𝑙 , or 𝑃 _ , in a clock wise order. If the following “” ( ineffective ), equation holds, the cycle- 𝑙 is preserved in 𝐈 Š‹ _ • −1 – 𝑁 𝐷 + — ,, — = 0 mod 𝑂 , –?: otherwise the relocations are effective . 64

  68. A Promising Result on M-D SC Codes over AWGN Channel w SC Code 1: length 2.89 K bits and rate 0.74. 10 0 SC-Code-2 ( 𝛿 =4, 𝜆 =17, 𝑞 =17, 𝑛 =1, 𝑀 =10 , and MD-SC-Code 10 -2 OO-CPO) 10 -4 w SC Code 2: BER 10 -6 length 14.45 K bits and rate 0.76. ( 𝛿 =4, 𝜆 =17, 𝑞 =17, 𝑛 =1, 𝑀 =50 , and 10 -8 OO-CPO) 10 -10 w MD-SC Code with 𝑶 = 𝟔 : 10 -12 2 2.5 3 3.5 4 4.5 5 Five SC Code 1 as constituent SC SNR (dB) More than 5 orders of magnitude codes, length 14.45 K bits, and rate 0.74. Here: MD density 𝑈 =23 or 33.82% SC Code 2 MD-SC Code Code # cycles-6 153,714 1,700 65

  69. Talk Outline w Mathematical Preliminaries w Combinatorial Framework for SC Codes w Concluding Remarks and Future Directions 66

  70. Our goal is to design and develop advanced ECC methods that exploit properties of the underlying physical channels. w Summary: – SC codes are a promising class of ECCs. – We developed a combinatorial framework for design and optimization of finite-length SC codes for data storage applications. – Theoretical Innovations: analysis of graphical substructures; optimal partitioning scheme; circulant power optimizer; WCM for edge weight selection; multi-dimensional structures. – Experimental results confirm excellent performance. 67

  71. Our goal is to design and develop advanced ECC methods that exploit properties of the underlying physical channels. w On-going Research: – Framework extension for irregular SC codes. – Theoretical development of multidimensional SC codes ( 𝑂 > 3 ) and testing on representative channels. – Design and implementation of accompanying low-latency decoding algorithms. w Future Extensions and Connections: – Graph coding with locality and with random access [see also: Ram and Cassuto, NVMW 2019]. – Graph coding in ML applications and with natural redundancy [see also: Jiang at al. NVMW 2017; NVMW 2018]. 68

Recommend


More recommend