Multi-Dimensional Spatially-Coupled Code Design with Improved Cycle - - PowerPoint PPT Presentation

multi dimensional spatially coupled code design with
SMART_READER_LITE
LIVE PREVIEW

Multi-Dimensional Spatially-Coupled Code Design with Improved Cycle - - PowerPoint PPT Presentation

Multi-Dimensional Spatially-Coupled Code Design with Improved Cycle Properties Homa Esfahanizadeh, Dr. Ahmed Hareedy, and Prof. Lara Dolecek ECE Department, UCLA 03/11/2019 Presentation Outline w Motivation w Preliminaries LDPC Codes and


slide-1
SLIDE 1

Multi-Dimensional Spatially-Coupled Code Design with Improved Cycle Properties

Homa Esfahanizadeh,

  • Dr. Ahmed Hareedy, and Prof. Lara Dolecek

ECE Department, UCLA 03/11/2019

slide-2
SLIDE 2

Presentation Outline

w Motivation w Preliminaries

– LDPC Codes and Problematic Combinatorial Objects – One-Dimensional Spatially-Coupled (1D-SC) Codes

w Novel Framework for Multi-Dimensional SC (MD-SC) Code Design

– MD-SC Code Structure – Algorithm for MD-SC Code Design – Simulation Results – Comparison with Previous MD-SC Schemes

w Conclusion and Future Work

slide-3
SLIDE 3

Presentation Outline

w Motivation w Preliminaries

– LDPC Codes and Problematic Combinatorial Objects – One-Dimensional Spatially-Coupled (1D-SC) Codes

w Novel Framework for Multi-Dimensional SC (MD-SC) Code Design

– MD-SC Code Structure – Algorithm for MD-SC Code Design – Simulation Results – Comparison with Previous MD-SC Schemes

w Conclusion and Future Work

slide-4
SLIDE 4

LDPC Codes: Parity-Check Matrix and Tanner Graph

1

Parity-check matrix Tanner graph

columns: variable nodes rows: check nodes circles: variable nodes (VNs) squares: check nodes (CNs)

slide-5
SLIDE 5

Spatially-Coupled Codes Structure

w Modern storage devices (e.g., Flash and Magnetic Recording) operate at very

low error rate and demand error correcting codes with outstanding error correction capability.

w Spatially-coupled (SC) codes are a class of graph-based codes with capacity

approaching performance and low latency decoding.

2

slide-6
SLIDE 6

Spatially-Coupled Codes Structure

w Modern storage devices (e.g., Flash and Magnetic Recording) operate at very

low error rate and demand error correcting codes with outstanding error correction capability.

w Spatially-coupled (SC) codes are a class of graph-based codes with capacity

approaching performance and low latency decoding.

w SC codes are constructed by coupling together a series of disjoint block codes

into a single coupled chain [Felstrom 99].

2

circles: variable nodes (VNs) squares: check nodes (CNs)

slide-7
SLIDE 7

A New Coding Paradigm

w We present a systematic framework for constructing multi-dimensional (MD) SC

codes with notably better cycle properties than their 1D-SC counterparts.

w In our framework, informed MD coupling is performed via an optimal relocation

and an (optional) power adjustment of problematic circulants in the constituent SC codes.

3

circles: variable nodes (VNs) squares: check nodes (CNs)

slide-8
SLIDE 8

Presentation Outline

w Motivation w Preliminaries

– LDPC Codes and Problematic Combinatorial Objects – One-Dimensional Spatially-Coupled (1D-SC) Codes

w Novel Framework for Multi-Dimensional SC (MD-SC) Code Design

– MD-SC Code Structure – Algorithm for MD-SC Code Design – Simulation Results – Comparison with Previous MD-SC Schemes

w Conclusion and Future Work

slide-9
SLIDE 9

Problematic Objects for Graph-Based Codes

w Short cycles have a negative impact on the performance of graph-

based codes under iterative decoding.

  • 1. The short cycles affect the independence of the extrinsic

information exchanged in the iterative decoder.

4

slide-10
SLIDE 10

Problematic Objects for Graph-Based Codes

w Short cycles have a negative impact on the performance of graph-

based codes under iterative decoding.

  • 1. The short cycles affect the independence of the extrinsic

information exchanged in the iterative decoder.

  • 2. Problematic combinatorial objects that cause the error-floor

phenomenon over AWGN, Flash, and PR channels are formed

  • f cycles with relatively short lengths [Dolecek 10, Richardson

03, Esfahanizadeh 18].

4

circles: variable nodes (VNs) squares: check nodes (CNs)

slide-11
SLIDE 11

w One-dimensional spatially-coupled (1D-SC) code with memory !

and coupling length " is constructed by: a) Partitioning a block code # into a number of component matrices: #$, #&, … , #( such that # = ∑+,$

( #+

b) Coupling " copies of the component matrices together to make a chain of coupled block codes.

1D Spatially-Coupled Code as a Chain of Block Codes

5

slide-12
SLIDE 12

Circulant Based (CB) Codes as Underlying Block Codes

w We use circulant-based (CB) codes as underlying block codes. w CB codes are a class of LDPC codes that offer simple hardware

implementation [Tanner 04].

6

slide-13
SLIDE 13

Circulant Based (CB) Codes as Underlying Block Codes

w We use circulant-based (CB) codes as underlying block codes. w CB codes are a class of LDPC codes that offer simple hardware

implementation [Tanner 04].

w !"#,% is a circulant matrix with size &×& and power (

),*.

& = 5

1 1 1 1 1

6

slide-14
SLIDE 14

Circulant Based (CB) Codes as Underlying Block Codes

w We use circulant-based (CB) codes as underlying block codes. w CB codes are a class of LDPC codes that offer simple hardware

implementation [Tanner 04].

w !"#,% is a circulant matrix with size &×& and power (

),*.

& = 5

6

1 1 1 1 1

  • : column weight

.: and row weight.

slide-15
SLIDE 15

Circulant Based (CB) Codes as Underlying Block Codes

w We use circulant-based (CB) codes as underlying block codes. w CB codes are a class of LDPC codes that offer simple hardware

implementation [Tanner 04].

w !"#,% is a circulant matrix with size &×& and power (

),*.

& = 5

6

1 1 1 1 1

  • : column weight

.: and row weight. Protograph: Each non-zero circulant à 1 Each zero circulant à 0

slide-16
SLIDE 16

Presentation Outline

w Motivation w Preliminaries

– LDPC Codes and Problematic Combinatorial Objects – One-Dimensional Spatially-Coupled (1D-SC) Codes

w Novel Framework for Multi-Dimensional SC (MD-SC) Code Design

– MD-SC Code Structure – Algorithm for MD-SC Code Design – Simulation Results – Comparison with Previous MD-SC Schemes

w Conclusion and Future Work

slide-17
SLIDE 17

Structured 1D-SC Code As a Chain of Block Codes

w Uncoupled Block Codes: w 1D-SC Code

7

slide-18
SLIDE 18

Structured 1D-SC Code As a Chain of Block Codes

w Uncoupled Block Codes: w 1D-SC Code

Some circulants (connections) are involved in more problematic objects!

7

slide-19
SLIDE 19

Rewiring Problematic Connections (Circulants)

w We rewire the most problematic connections to form a multi-

dimensional coupling among a number of 1D-SC codes:

8

!" !" !" !" !" !" !" !" !"

slide-20
SLIDE 20

Rewiring Problematic Connections (Circulants)

w We rewire the most problematic connections to form a multi-

dimensional coupling among a number of 1D-SC codes:

8

slide-21
SLIDE 21

Rewiring Problematic Connections (Circulants)

w We rewire the most problematic connections to form a multi-

dimensional coupling among a number of 1D-SC codes:

8

slide-22
SLIDE 22

Rewiring Problematic Connections (Circulants)

w We rewire the most problematic connections to form a multi-

dimensional coupling among a number of 1D-SC codes:

8

slide-23
SLIDE 23

Two Main Goals Are Achieved via MD Coupling

w By a careful choice of the set of connections to be rewired, we

pursue two goals:

  • 1. The number of problematic objects (short cycles) is minimized

for MD-SC code:

  • The connections to be rewired are chosen from those contribute to

the most number of short cycles in each 1D-SC code.

  • The chosen connections are rewired to the 1D-SC code such that the

minimum number of new short cycles are formed.

  • 2. By connecting multiple 1D-SC codes, we create multi-

dimensional error correction capability. Applications in Flash and TDMR

9

slide-24
SLIDE 24

w We choose circulants that are the most problematic (contribute to

the most cycles-!).

w We relocate each chosen circulant to the same positions in either

" or # (auxiliary matrices).

MD-SC Code Structure: Algebraic View Point

10

slide-25
SLIDE 25

w We choose circulants that are the most problematic (contribute to

the most cycles-!).

w We relocate each chosen circulant to the same positions in either

" or # (auxiliary matrices). Three 1D-SC codes MD-SC code with $ = 3 '() = '()

*

+ " + #

MD-SC Code Structure: Algebraic View Point

10

'() '() '() '()

*

# " " '()

*

# # " '()

*

slide-26
SLIDE 26

w A cycle-! , or "# , visits ! circulants in the parity-check matrix:

$%& = {$)*,,*, $)-,,-, … , $)&,,&}, (according to the order they are visited in a clockwise direction)

w A circulant can be visited more than once by "#.

A Cycle Traverses Several Circulants

11

slide-27
SLIDE 27

What Happens to a Cycle After Relocation of Circulants?

w Relocation: Moving a problematic circulant !",$ in %&' to ( (or )) w MD density (*): The maximum number of relocations per replica. w MD Mapping: +: !",$ → 0,1,2

a) If !",$ → (, + !",$ = 1, b) If !",$ → ), + !",$ = 2, c) If !",$ is not relocated (kept in %&'

2 ), + !",$ = 0.

12

slide-28
SLIDE 28

What Happens to a Cycle After Relocation of Circulants?

w Relocation: Moving a problematic circulant !",$ in %&' to ( (or )) w MD density (*): The maximum number of relocations per replica. w MD Mapping: +: !",$ → 0,1,2

a) If !",$ → (, + !",$ = 1, b) If !",$ → ), + !",$ = 2, c) If !",$ is not relocated (kept in %&'

2 ), + !",$ = 0.

w Theorem: Let !45 = !"6,$6, !"7,$7, … , !"5,$5 . If the following

equation holds, the cycle-9 is preserved (ineffective), :

;<= >

−1 ;+ !"@,$@ = 0 mod 3 ,

  • therwise the relocations are effective.

12

slide-29
SLIDE 29

What Happens to a Cycle After Relocation of Circulants?

w Example 1 (effective relocation): w Example 2 (ineffective relocation):

13

!"#

$

% & & !"#

$

% % & !"#

$

slide-30
SLIDE 30

What Happens to a Cycle After Relocation of Circulants?

w Example 1 (effective relocation): w Example 2 (ineffective relocation):

13

!"#

$

% & & !"#

$

% % & !"#

$

slide-31
SLIDE 31

What Happens to a Cycle After Relocation of Circulants?

w Example 1 (effective relocation): w Example 2 (ineffective relocation):

13

!"#

$

% & & !"#

$

% % & !"#

$

slide-32
SLIDE 32

MD Coupling via Circulant Relocations

14

w We connect three 1D-SC codes via relocating problematic

circulants from !"# to the auxiliary matrices $ and %.

w There are two important questions that define our MD-SC code

construction framework.

  • 1. Which circulants need to be relocated?
  • 2. Where the chosen circulants must be relocated to?

w

We answer these two question in next slides.

slide-33
SLIDE 33

w We choose a 1D-SC code and replicate it ! = 3 times.

Q1- Which Circulants Must Be Relocated?

15

slide-34
SLIDE 34

w We choose a 1D-SC code and replicate it ! = 3 times. w We Consider the middle replica $% in &'( , where ) = */2 .

Q1- Which Circulants Must Be Relocated?

15

Replica

slide-35
SLIDE 35

w We choose a 1D-SC code and replicate it ! = 3 times. w We Consider the middle replica $% in &'( , where ) = */2 .

There are -. non-zero circulants in $%.

Q1- Which Circulants Must Be Relocated?

15

Example: . = 3, - = 17, 2 = 1

slide-36
SLIDE 36

w We choose a 1D-SC code and replicate it ! = 3 times. w We Consider the middle replica $% in &'( , where ) = */2 .

There are -. non-zero circulants in $%.

w We rank non-zero circulants based on the number of cycles-/ they

are involved in. (darker blue shows more problematic)

w We choose the circulant from the top (sequentially).

Q1- Which Circulants Must Be Relocated?

15

Example: . = 3, - = 17, 3 = 1

slide-37
SLIDE 37

w The targeted circulant !",$ is visited by several cycles-k in %&'.

Example: A targeted circulant and its associated cycles-6:

Q2- Where the Chosen Circulants Must Be Relocated to?

16

slide-38
SLIDE 38

w The targeted circulant !",$ is visited by several cycles-k in %&'.

Example: A targeted circulant and its associated cycles-6:

w Each cycle that visits circulant !",$ votes for a subset of these

actions:

relocate to (, relocate to ), No relocation

Q2- Where the Chosen Circulants Must Be Relocated to?

16

slide-39
SLIDE 39

w The targeted circulant !",$ is visited by several cycles-k in %&'.

Example: A targeted circulant and its associated cycles-6:

w Each cycle that visits circulant !",$ votes for a subset of these

actions:

relocate to (, relocate to ), No relocation – Set * !",$ = 1. (*) holds? -. votes for relocate to (. – Set * !",$ = 2. (*) holds? -. votes for relocate to ) – Set * !",$ = 0. (*) holds? -. votes for no relocation.

1

234 .

−1 2* !"6,$6 ≠ 0 mod 3 , ∗

Q2- Where the Chosen Circulants Must Be Relocated to?

16

slide-40
SLIDE 40

Majority Rule, Termination, and Final Circulant Power Adjustment

w Majority Rule: The decision is made based on the majority of the

votes.

w Termination: We sequentially relocate problematic circulants

until: – the relocation does not help any more (the majority of votes are keep in !"#

$ ),

– the multi-dimensional density (%) is achieved, or – there is no more cycles.

17

slide-41
SLIDE 41

Majority Rule, Termination, and Final Circulant Power Adjustment

w Majority Rule: The decision is made based on the majority of the

votes.

w Termination: We sequentially relocate problematic circulants

until: – the relocation does not help any more (the majority of votes are keep in !"#

$ ),

– the multi-dimensional density (%) is achieved, or – there is no more cycles.

w Post Processing Circulant Power Optimizer (PP-CPO) : Finally, we

adjust the powers of the relocated circulants to inactivate as many as possible of the remaining active cycles.

17

slide-42
SLIDE 42

Simulation Results 1: Code Parameters

w SC-Code-1

1D-SC, length 4.37 K bits, and rate 0.81. (! = 3, % = 19, ( = 23, * = 2, + = 10, OO-CPO, girth 8)

w SC-Code-2

1D-SC, length 13.11 K bits, and rate 0.83. (! = 3, % = 19, - = 23, * = 2, + = 30, OO-CPO, girth 8)

w MD-SC-Code-1

MD-SC, three SC-Code-1 as constituent SC codes, length 13.11 K bits, and rate 0.81. (MD density 12 circulants per replica or 21.05% relocated circulants)

w MD-SC-Code-2

Applying PP-CPO on MD-SC-Code-1

18

slide-43
SLIDE 43

SNR (dB)

4 4.2 4.4 4.6 4.8 5 5.2

BER

10-11 10-10 10-9 10-8 10-7 10-6 SC-Code-2 MD-SC-Code-1 MD-SC-Code-2

Simulation Results 1: Enumeration and BER Performance over AWGN Channel

Code SC Code-2 MD-SC-Code-1 MD-SC-Code-2

  • No. cycles-8

1,034,609 280,968 253,851 73% reduction 2.2 orders of magnitude

19

9.65% reduction

slide-44
SLIDE 44

Simulation Results 2: Code Parameters

w SC-Code-3

1D-SC, length 2.89 K bits, and rate 0.74. (! = 4, % = 17, ( = 17, ) = 1, * = 10, OO-CPO, girth 6)

w SC-Code-4

1D-SC, length 8.67 K bits, and rate 0.76. (! = 4, % = 17, ( = 17, ) = 1, * = 30, OO-CPO, girth 6)

w MD-SC-Code-3

MD-SC, three SC-Code-3 as constituent SC codes, length 8.67 K bits, and rate 0.74. (MD density 15 circulants per replica or 22.06% relocated circulants)

20

slide-45
SLIDE 45

SNR (dB)

2 2.5 3 3.5 4 4.5 5

BER

10-12 10-10 10-8 10-6 10-4 10-2

SC-Code-4 MD-SC-Code-3

Simulation Results 2: Enumeration of Small Cycles and BER Performance over AWGN Channel

Code SC-Code-4 MD-SC-Code-3 Number of cycles-6 91,494 14,331 84% reduction 3.8 orders of magnitude

21

slide-46
SLIDE 46

Comparison with Previous MD-SC Schemes

22

w The previous works on MD-SC codes, while promising, have some

limitations [Truhachev 12, Ohashi 13, Schmalen 14, Liu 15]. In particular, – They either consider random constructions or are limited to specific topologies. – They use the density evolution technique for the performance analysis which is dedicated to the asymptotic regime.

slide-47
SLIDE 47

Comparison with Previous MD-SC Schemes

22

w The previous works on MD-SC codes, while promising, have some

limitations [Truhachev 12, Ohashi 13, Schmalen 14, Liu 15]. In particular, – They either consider random constructions or are limited to specific topologies. – They use the density evolution technique for the performance analysis which is dedicated to the asymptotic regime. Benefits of the new proposed method for MD-SC code construction: – No extra VNs or CNs Some existing connections are rewired for connecting 1D-SC codes. – One end of some CNs in each 1D-SC code are rewired to the similar VNs in other 1D-SC codes. Idea of low latency decoding is still applicable. – This is the first systematic (non-random) framework for constructing MD-SC codes by optimally coupling individual SC codes together to attain fewer short cycles.

slide-48
SLIDE 48

Presentation Outline

w Motivation w Preliminaries

– LDPC Codes and Problematic Combinatorial Objects – One-Dimensional Spatially-Coupled (1D-SC) Codes

w Novel Framework for Multi-Dimensional SC (MD-SC) Code Design

– MD-SC Code Structure – Algorithm for MD-SC Code Design – Simulation Results – Comparison with Previous MD-SC Schemes

w Conclusion and Future Work

slide-49
SLIDE 49

Conclusions and Future Works

23

w Summary:

– We generalized and expanded the repertoire of SC codes and introduced a finite-length MD-SC code construction. – For MD coupling, we choose up to ! (MD density) group of connections within each replica, and rewire them such that the number of short cycles is minimized.

slide-50
SLIDE 50

Conclusions and Future Works

23

w Summary:

– We generalized and expanded the repertoire of SC codes and introduced a finite-length MD-SC code construction. – For MD coupling, we choose up to ! (MD density) group of connections within each replica, and rewire them such that the number of short cycles is minimized.

w Future Work:

– Theoretical development of multidimensional codes with locality and testing on representative channels models. – Presenting low-latency decoding by incorporating code locality into decoder implementations.

slide-51
SLIDE 51

References 1

w

[Felstrom 99] A. J. Felstrom et al., “Time-varying periodic convolutional codes with low-density parity-check matrix,” IEEE Trans. Inf. Theory, 1999.

w

[Richardson 03] T. Richardson et al., “Error floor of LDPC Codes,” In Proc. IEEE Allerton, 2003.

w

[Dolecek 10] L. Dolecek et al., “Analysis of absorbing sets and fully absorbing sets of array- based LDPC codes,” IEEE Trans. Inform. Theory, 2010.

w

[Hareedy 16] A. Hareedy et al., “Non-Binary LDPC Codes for Magnetic Recording Channels: Error Floor Analysis and Optimized Code Design,” IEEE Trans. Commun., 2016.

w

[Tanner 04] R. M. Tanner et al., “LDPC block and convolutional codes based on circulant matrices,” IEEE Trans. Inf. Theory, 2004.

w

[Hareedy 18a] A. Hareedy et al., “Spatially-coupled code design for partial response channels:

  • ptimal object-minimization approach,” in Proc. IEEE Globecom, 2018.

w

[Esfahanizadeh 18a] H. Esfahanizadeh et al., “Finite-length construction of high performance spatially-coupled codes via optimized partitioning and lifting,” IEEE Trans. Communications, 2019.

w

[Hareedy 18b] A. Hareedy et al., “A combinatorial methodology for optimizing non-binary graph-based codes: theoretical analysis and applications,” IEEE Trans. Info. Theory, 2018.

w

[Esfahanizadeh 18b] H. Esfahanizadeh et al. , “Multi-dimensional spatially-coupled code design through informed relocation of circulants,” in Proc. IEEE Allerton, 2018.

slide-52
SLIDE 52

References 2

w

[Truhachev 12] Truhachev et al., “New Codes on Graphs Constructed by Connecting Spatially Coupled Chains,” IEEE Inf. Theory and App. Workshop ITA, 2012.

w

[Ohashi 13] Ohashi et al., “Multi-Dimensional Spatially-Coupled Codes,” Int. Symp. Info. Theory ISIT, 2013.

w

[Schmalen 14] Schmalen et al., “Laterally Connected Spatially Coupled Chains for Transmission

  • ver Unstable Parallel Channels,” Int. Symp. Turbo Codes and Iterative Inf. Processing ISTC,

2014.

w

[Liu 15] Liu et al., “SC Codes Constructed by Parallelly Connecting Multiple Chains,” IEEE

  • Comm. Letter, 2015.
slide-53
SLIDE 53

Thank You!

slide-54
SLIDE 54

Error Floor of LDPC Codes: Absorbing Sets

w For an (", $) trapping set (TS) [Richardson 03]:

" is the size of the set (number of VNs), and $ is the number of unsatisfied CNs connected to the set.

w For an (", $) absorbing set (AS) [Dolecek 10]:

(", $) is a TS and each VN is connected to more satisfied than unsatisfied neighboring CNs. – Example: (4, 4) AS

Circles: VNs. White squares: satisfied CNs. Grey squares: unsatisfied CNs.

A1

slide-55
SLIDE 55

Algorithm for Constructing MD-SC Codes

  • 1. Initialize: ! = # = $, %&'

(

= %&', and ) *+,- = 0.

  • 2. Locate cycles-/ that visits circulants in 01; mark them all as active.
  • 3. Pick *+2,-2 ≠ $ such that ) *+2,-2

= 0 and *+2,-2 appears in the most number of active cycles.

  • 4. Find all cycles (active/inactive) that include *+2,-2.
  • 5. Each cycle in step 4 votes for a subset of actions.
  • 6. If the majority voting is for keep in %&'

( , go to 10.

  • 7. If the majority voting is for relocate to !, *+2,-2 → !. Otherwise, *+2,-2 →

#.

  • 8. Update the list of active/inactive cycles using Theorem 1.
  • 9. If the number of relocations is less than maximum allowed and the

number of active cycles is greater than 0, go to step 3.

  • 10. Construct %56

&' .

  • 11. (Optional) Perform PP-CPO on the relocated circulants.

A2