Making Error Correcting Codes Work for Flash Memory
|
|
- Kimberly Richards
- 5 years ago
- Views:
Transcription
1 Making Error Correcting Codes Work for Flash Memory Part I: Primer on ECC, basics of BCH and LDPC codes Lara Dolecek Laboratory for Robust Information Systems (LORIS) Center on Development of Emerging Storage Systems (CoDESS) Department of Electrical Engineering, UCLA Flash Memory Summit 24, Santa Clara, CA / 58
2 ECC is a must for Flash! P/E Cycle Endurance, 9, 8, 7, 6, 5, 4, 3, 2,, SLC 5x-nm MLC 3x-nm MLC 2x-nm MLC 3-bit-MLC Ariel Maislos, A New Era in Embedded Flash Memory, Flash Summit 2 (Anobit) Flash Memory Summit 24, Santa Clara, CA 2 / 58
3 ECC is a must for Flash! P/E Cycle Endurance, 9, 8, 7, 6, 5, 4, 3, 2,,!"#$%&$' SLC 5x-nm MLC 3x-nm MLC 2x-nm MLC 3-bit-MLC Ariel Maislos, A New Era in Embedded Flash Memory, Flash Summit 2 (Anobit) Flash Memory Summit 24, Santa Clara, CA 2 / 58
4 ECC is a must for Flash! P/E Cycle Endurance, 9, 8, 7, 6, 5, 4, 3, 2,,!"#$%&$' ())'*$$+,' SLC 5x-nm MLC 3x-nm MLC 2x-nm MLC 3-bit-MLC Ariel Maislos, A New Era in Embedded Flash Memory, Flash Summit 2 (Anobit) Flash Memory Summit 24, Santa Clara, CA 2 / 58
5 What is this tutorial about Today we will Learn the basics of ECC operations Learn about fundamental coding approaches (BCH, LDPC) Learn about the system-level perspective on ECC Learn about recent advanced coding-oriented approaches to Flash Flash Memory Summit 24, Santa Clara, CA 3 / 58
6 A simple example Preliminaries A Simple Channel/Storage Model TX'd CHANNEL (STORAGE) RX'd 99% % % 99% Example : binary symmetric channel with equal error probability for transmission (storage) of either or. Errors in Flash are modeled as transmission a noisy While highly simplistic, the BSC serves as a reasonable first-order communication approximation of channel Flash. The simplest example is binary symmetric channel (BSC). In this example Pe =., Pr(success) = Pe =.99. The probability of error for any single bit transmitted across the channel is the raw bit error rate, or RBER. In this example, RBER =.. Flash Memory Summit 23 Santa Clara, CA Flash Memory Summit 24, Santa Clara, CA 6 4 / 58
7 A simple example Preliminaries A Simple Channel/Storage Model TX'd CHANNEL (STORAGE) RX'd 99% % % 99% Example : binary symmetric channel with equal error probability for transmission (storage) of either or. Errors in Flash are modeled as transmission a noisy While highly simplistic, the BSC serves as a reasonable first-order communication approximation of channel Flash. The simplest In this example example Pe =., ispr(success) binary symmetric = Pe =.99 channel. (BSC). This example: The probability of error for any single bit transmitted across the channel Raw is the bit raw bit error error rate, (RBER) or RBER. In isthis.. example, RBER =.. 2 Undetected bit error rate (UBER) is. Flash Memory Summit 23 Santa Clara, CA Flash Memory Summit 24, Santa Clara, CA 6 4 / 58
8 A Simple Channel/Storage Model TX'd CHANNEL (STORAGE) RX'd 99% % % 99% Example : binary symmetric channel with equal error probability for transmission (storage) of either or. Suppose we now use repetition coding, While highly simplistic, the BSC serves as a reasonable first-order approximation of Flash. In this example Pe =., Pr(success) = Pe =.99. The probability of error for any single bit transmitted across the channel is the raw bit error rate, or RBER. In this example, RBER =.. Flash Memory Summit 23 Santa Clara, CA 6 Flash Memory Summit 24, Santa Clara, CA 5 / 58
9 A Simple Channel/Storage Model TX'd CHANNEL (STORAGE) RX'd 99% % % 99% Example : binary symmetric channel with equal error probability for transmission (storage) of either or. Suppose we now use repetition coding, While highly simplistic, the BSC serves as a reasonable first-order approximation of Flash. In this example Pe =., Pr(success) = Pe =.99. Decoding rule: Receive {,,, } Decide was sent Receive {,,, } Decide was sent The probability of error for any single bit transmitted across the channel is the raw bit error rate, or RBER. In this example, RBER =.. Flash Memory Summit 23 Santa Clara, CA 6 Flash Memory Summit 24, Santa Clara, CA 5 / 58
10 A Simple Channel/Storage Model TX'd CHANNEL (STORAGE) RX'd 99% % % 99% Example : binary symmetric channel with equal error probability for transmission (storage) of either or. Suppose we now use repetition coding, While highly simplistic, the BSC serves as a reasonable first-order approximation of Flash. In this example Pe =., Pr(success) = Pe =.99. Decoding rule: Receive {,,, } Decide was sent Receive {,,, } Decide was sent RBER is still...what is UBER? The probability of error for any single bit transmitted across the channel is the raw bit error rate, or RBER. In this example, RBER =.. Flash Memory Summit 23 Santa Clara, CA 6 Flash Memory Summit 24, Santa Clara, CA 5 / 58
11 A Simple Channel/Storage Model TX'd CHANNEL (STORAGE) RX'd 99% % % 99% Example : binary symmetric channel with equal error probability for transmission (storage) of either or. Suppose we now use repetition coding, While highly simplistic, the BSC serves as a reasonable first-order approximation of Flash. In this example Pe =., Pr(success) = Pe =.99. Decoding rule: Receive {,,, } Decide was sent Receive {,,, } Decide was sent RBER is still...what is UBER? UBER is =.298 The probability of error for any single bit transmitted across the channel is the raw bit error rate, or RBER. In this example, RBER =.. Flash Memory Summit 23 Santa Clara, CA 6 Flash Memory Summit 24, Santa Clara, CA 5 / 58
12 A Simple Channel/Storage Model TX'd CHANNEL (STORAGE) RX'd 99% % % 99% Example : binary symmetric channel with equal error probability for transmission (storage) of either or. Suppose we now use repetition coding, While highly simplistic, the BSC serves as a reasonable first-order approximation of Flash. In this example Pe =., Pr(success) = Pe =.99. Decoding rule: Receive {,,, } Decide was sent Receive {,,, } Decide was sent RBER is still...what is UBER? UBER is =.298 This is now 33 times better!... The probability of error for any single bit transmitted across the channel is the raw bit error rate, or RBER. In this example, RBER =.. Flash Memory Summit 23 Santa Clara, CA 6 Flash Memory Summit 24, Santa Clara, CA 5 / 58
13 A Simple Channel/Storage Model TX'd CHANNEL (STORAGE) RX'd 99% % % 99% Example : binary symmetric channel with equal error probability for transmission (storage) of either or. Suppose we now use repetition coding, While highly simplistic, the BSC serves as a reasonable first-order approximation of Flash. In this example Pe =., Pr(success) = Pe =.99. Decoding rule: Receive {,,, } Decide was sent Receive {,,, } Decide was sent RBER is still...what is UBER? UBER is =.298 This is now 33 times better!...any downsides? The probability of error for any single bit transmitted across the channel is the raw bit error rate, or RBER. In this example, RBER =.. Flash Memory Summit 23 Santa Clara, CA 6 Flash Memory Summit 24, Santa Clara, CA 5 / 58
14 Concepts of interest *"+,-(.&//&( #$%&2$'%( '&-'*&3&%(2$'%( %&#$%&%(.&//&(!"#$%&'( 6$*/7(89""&:( )&#$%&'( 4(5*-/( "(5*-/( "(5*-/( 4(5*-/( A channel code C maps a message m of length k into a codeword c of length n, with n > k (encoder). Total number of codewords: 2 k. Code rate: R = k/n. Structure of C is used to determine the stored message (decoder). Flash Memory Summit 24, Santa Clara, CA 6 / 58
15 Repetition code example Message length k = input message codeword Total number of codewords 2 = 2. Codeword length n = 3. Code rate R = /3. Flash Memory Summit 24, Santa Clara, CA 7 / 58
16 Concepts of interest -ctd. Linear block code C of dimension k and codeword length n can be represented by a k n generator matrix G a (n k) n parity check matrix H G specifies the range space of C and H specifies the null space of C. The two representations are mathematically equivalent. Flash Memory Summit 24, Santa Clara, CA 8 / 58
17 Concepts of interest -ctd. Linear block code C of dimension k and codeword length n can be represented by a k n generator matrix G mg = c a (n k) n parity check matrix H G specifies the range space of C and H specifies the null space of C. The two representations are mathematically equivalent. Flash Memory Summit 24, Santa Clara, CA 8 / 58
18 Concepts of interest -ctd. Linear block code C of dimension k and codeword length n can be represented by a k n generator matrix G mg = c a (n k) n parity check matrix H ch T = G specifies the range space of C and H specifies the null space of C. The two representations are mathematically equivalent. Flash Memory Summit 24, Santa Clara, CA 8 / 58
19 Repetition code example input message codeword Generator matrix Parity check matrix G = [ ] H = [ ] Flash Memory Summit 24, Santa Clara, CA 9 / 58
20 How many errors can you correct? Our toy repetition code corrects error. Flash Memory Summit 24, Santa Clara, CA / 58
21 How many errors can you correct? Our toy repetition code corrects error. In general, k + d n +, where k is the message length, n is the codeword length d is the minimum separation between codewords a.k.a. minimum code distance Code can correct t = (d )/2 errors. Flash Memory Summit 24, Santa Clara, CA / 58
22 Computing UBER For a code with message length k and codeword length n. Exact: UBER = n j=t+ ( n j) RBER j ( RBER) n j k Good approximation for small error values: UBER = ( n t+) RBER t+ ( RBER) n t k Here, ( ) n j is the binomial coefficient n! j!(n j)! Flash Memory Summit 24, Santa Clara, CA / 58
23 Concepts of interest Linear block codes can be divided in two categories: algebraic codes (BCH codes, Hamming codes, Reed-Solomon codes) graph-based codes (LDPC codes, Turbo codes) A good practical channel code should be able to correct as many transmission errors as possible with the least overhead be equipped with a simple decoding algorithm Flash Memory Summit 24, Santa Clara, CA 2 / 58
24 Algebra review BCH codes Algebraic Codes Flash Memory Summit 24, Santa Clara, CA 3 / 58
25 Brief review of finite fields Algebra review BCH codes Suppose q is prime. GF (q) can be viewed as the set {,,..., q }. Operations are performed modulo q. Example: GF (5) has elements {,, 2, 3, 4} such that product sum Flash Memory Summit 24, Santa Clara, CA 4 / 58
26 Brief review of finite fields Algebra review BCH codes GF (q) can also be expressed as {α =, α =, α, α 2,..., α q 2 }, for suitably chosen α. Example: In GF (5): α, α, 2 α, 3 α 3 and 4 α 2 Consider an element α of GF (q) such that α and α. Let s be the smallest positive integer such that α s =. Then, s is the order of α. If s = q, then α is called a primitive element of GF (q). GF (q) is thus generated by powers of a primitive element α. Flash Memory Summit 24, Santa Clara, CA 5 / 58
27 Brief review of finite fields Algebra review BCH codes We are often interested in the extension field GF (q m ) of GF (q), where q is prime and m is a positive integer. GF (q m ) is then {α =, α =, α, α 2,..., α qm }, where α denotes a primitive element of GF (q m ) and is a root of so-called primitive polynomial. Example: GF (8) = GF (2 3 ). Here, α is a root of the polynomial x 3 + x +. We then have α = α = α α 2 = α 2 α 3 = α + α 4 = α 2 + α α 5 = α 2 + α + α 6 = α 2 + α = Flash Memory Summit 24, Santa Clara, CA 6 / 58
28 BCH code construction Algebra review BCH codes BCH code C is a linear, cyclic code described by a (d ) n parity check matrix H with elements from GF (q m ) with α having order n: α b α 2b α (n )b α b+ α 2(b+) α (n )(b+) H =.... α b+d 2 α 2(b+d 2) α (n )(b+d 2) b is any (positive) integer and d is integer 2 d n. Minimum distance of C is at least d. The code corrects at least t = d 2 errors. Flash Memory Summit 24, Santa Clara, CA 7 / 58
29 BCH code construction Algebra review BCH codes If α is a primitive element, then the blocklength is n = q m (largest possible). If b =, BCH code is called narrow-sense (simplifies some encoding and decoding operations). For m =, BCH codes are also known as Reed-Solomon codes. Flash Memory Summit 24, Santa Clara, CA 8 / 58
30 BCH code properties Preliminaries Algebra review BCH codes A code C is called a cyclic code if all cyclic shifts of a codeword in C are also codewords. Example: Suppose (,,,, ) x 3 + x + is a codeword in C. Then so are (,,,, ), (,,,, ), (,,,, ) and (,,,, ). Flash Memory Summit 24, Santa Clara, CA 9 / 58
31 BCH code properties Preliminaries Algebra review BCH codes A code C is called a cyclic code if all cyclic shifts of a codeword in C are also codewords. Example: Suppose (,,,, ) x 3 + x + is a codeword in C. Then so are (,,,, ), (,,,, ), (,,,, ) and (,,,, ). Cyclic code is generated by a generator polynomial g(x), such that each codeword c corresponds to a polynomial p c (x) = m(x)g(x). All rows of the generator matrix G are cyclic shifts of g(x). Flash Memory Summit 24, Santa Clara, CA 9 / 58
32 BCH code properties Preliminaries Algebra review BCH codes A code C is called a cyclic code if all cyclic shifts of a codeword in C are also codewords. Example: Suppose (,,,, ) x 3 + x + is a codeword in C. Then so are (,,,, ), (,,,, ), (,,,, ) and (,,,, ). Cyclic code is generated by a generator polynomial g(x), such that each codeword c corresponds to a polynomial p c (x) = m(x)g(x). All rows of the generator matrix G are cyclic shifts of g(x). BCH code: Each codeword c corresponds to a polynomial p c (x) = m(x)g(x) where g(x) is LCM of (x α b )(x α b+ ) (x α b+d 2 ). Flash Memory Summit 24, Santa Clara, CA 9 / 58
33 BCH code example Preliminaries Algebra review BCH codes Let s construct a narrow-sense BCH code over GF (8) correcting t = error and of length n = 7. We consider a primitive element α that satisfies α 3 + α + =. Notice that α 7 =. Then, [ α α 2 α H = 3 α 4 α 5 α 6 α 2 α 4 α 6 α 8 α α 2 ] Flash Memory Summit 24, Santa Clara, CA 2 / 58
34 BCH code example Preliminaries Algebra review BCH codes Let s construct a narrow-sense BCH code over GF (8) correcting t = error and of length n = 7. We consider a primitive element α that satisfies α 3 + α + =. Notice that α 7 =. Then, [ α α 2 α H = 3 α 4 α 5 α 6 α 2 α 4 α 6 α α 3 α 5 ] Flash Memory Summit 24, Santa Clara, CA 2 / 58
35 BCH code example Preliminaries Algebra review BCH codes We can interpret this code in the binary domain by substituting α α 2 α 3 α 4 α 5 α 6 Flash Memory Summit 24, Santa Clara, CA 2 / 58
36 BCH code example Preliminaries Algebra review BCH codes We can then interpret this parity check matrix in the binary domain as H = Here H is 6 7 and has rank 3. This code can correct error. Flash Memory Summit 24, Santa Clara, CA 22 / 58
37 Decoding BCH codes Preliminaries Algebra review BCH codes Decoding algorithm heavily relies on the algebraic structure of the code: recall that each codeword polynomial c(x) must have as roots α b, α b+,..,α b+d 2. Compute the syndromes of the received polynomial r(x) tells us which of α s are not the roots. 2 Based on the syndromes, compute the locations of the errors (system of linear equations). 3 Compute the error values at these location (system of non-linear equations that are in the Vandermode form) 4 Based on steps 2 and 3, build error polynomial e(x). 5 Add e(x) to r(x) to produce the estimate of c(x). Flash Memory Summit 24, Santa Clara, CA 23 / 58
38 Decoding BCH codes Preliminaries Algebra review BCH codes If the system of equations cannot be solved, declare a decoding failure. This is a hard limit on the number of correctable errors. Implementation can be greatly reduced using the shift-registers viewpoint in the Berlekamp-Massey algorithm. Flash Memory Summit 24, Santa Clara, CA 24 / 58
39 BCH code parameter tradeoffs Algebra review BCH codes For fixed code length and RBER, how does UBER depend on t? Flash Memory Summit 24, Santa Clara, CA 25 / 58
40 BCH code parameter tradeoffs Algebra review BCH codes For fixed code length and RBER, how does UBER depend on t? Flash Memory Summit 24, Santa Clara, CA 26 / 58
41 BCH code parameter tradeoffs Algebra review BCH codes For fixed RBER and t, how does UBER depend on codelength? Flash Memory Summit 24, Santa Clara, CA 27 / 58
42 BCH code parameter tradeoffs Algebra review BCH codes For fixed RBER and t, how does UBER depend on codelength? Flash Memory Summit 24, Santa Clara, CA 28 / 58
43 BCH code parameter tradeoffs Algebra review BCH codes For fixed codelength and t, how does UBER depend on RBER? Flash Memory Summit 24, Santa Clara, CA 29 / 58
44 BCH code parameter tradeoffs Algebra review BCH codes For fixed codelength and t, how does UBER depend on RBER? Flash Memory Summit 24, Santa Clara, CA 3 / 58
45 Algebra review BCH codes Graph-Based Codes Flash Memory Summit 24, Santa Clara, CA 3 / 58
46 Low Density Parity Check (LDPC) Codes Definition : LDPC code An LDPC block code C is a linear block code whose parity-check matrix H has a small number of ones in each row and column. Invented by Gallager in 963 but were all but forgotten until late 99 s. In the limit of very large block-lengths LDPC codes are known to approach the Shannon limit (i.e., the highest rate at which the code can be designed that guarantees reliable communication) LDPC codes are amenable to low-complexity iterative decoding. Flash Memory Summit 24, Santa Clara, CA 32 / 58
47 An Example Preliminaries LDPC code described by the sparse parity check matrix H: H = Matrix H has 9 columns and 6 rows. Flash Memory Summit 24, Santa Clara, CA 33 / 58
48 An Example Preliminaries LDPC code described by the sparse parity check matrix H: H = Matrix H has 9 columns and 6 rows. There are 9 coded bits and 6 parity-check equations. Each coded bit participates l=2 parity-check equations and each parity-check equation contains r = 3 coded bits. Flash Memory Summit 24, Santa Clara, CA 33 / 58
49 LDPC Preliminaries Preliminaries Definition 3: Tanner graph A Tanner graph of a code C with a parity check matrix H is the bipartite graph such that: each coded symbol i is represented by a variable node v i, each parity-check equation j is represented by a check node c j, there exists an edge between a variable node and a check node if and only if H(j, i) =. Flash Memory Summit 24, Santa Clara, CA 34 / 58
50 An Example LDPC code: parity check matrix H and its Tanner graph H = Parity check c 3 : v 3 + v 6 + v 9 over GF (2). Flash Memory Summit 24, Santa Clara, CA 35 / 58
51 An Example LDPC code: parity check matrix H and its Tanner graph H = v v 2 v 3 v 4 v 5 v 6 v 7 v 8 v 9 Parity check c 3 : v 3 + v 6 + v 9 over GF (2). Flash Memory Summit 24, Santa Clara, CA 35 / 58
52 An Example Preliminaries LDPC code: parity check matrix H and its Tanner graph H = c c 2 c 3 c 4 c 5 c 6 v v 2 v 3 v 4 v 5 v 6 v 7 v 8 v 9 Parity check c 3 : v 3 + v 6 + v 9 over GF (2). Flash Memory Summit 24, Santa Clara, CA 35 / 58
53 Message Passing Decoding Message-passing (belief propagation) is an iterative decoding algorithm that operates on the Tanner graph of the code. In each iteration of the algorithm: Flash Memory Summit 24, Santa Clara, CA 36 / 58
54 Message Passing Decoding Message-passing (belief propagation) is an iterative decoding algorithm that operates on the Tanner graph of the code. In each iteration of the algorithm: (bit-to-check) Each variable node sends a message to each check node it is connected to, Flash Memory Summit 24, Santa Clara, CA 36 / 58
55 Message Passing Decoding Message-passing (belief propagation) is an iterative decoding algorithm that operates on the Tanner graph of the code. In each iteration of the algorithm: (bit-to-check) Each variable node sends a message to each check node it is connected to, 2 (check processing) Each check node then computes the consistency of incoming messages, Flash Memory Summit 24, Santa Clara, CA 36 / 58
56 Message Passing Decoding Message-passing (belief propagation) is an iterative decoding algorithm that operates on the Tanner graph of the code. In each iteration of the algorithm: (bit-to-check) Each variable node sends a message to each check node it is connected to, 2 (check processing) Each check node then computes the consistency of incoming messages, 3 (check-to-bit) Each check node then sends a message to each variable node it is connected to, Flash Memory Summit 24, Santa Clara, CA 36 / 58
57 Message Passing Decoding Message-passing (belief propagation) is an iterative decoding algorithm that operates on the Tanner graph of the code. In each iteration of the algorithm: (bit-to-check) Each variable node sends a message to each check node it is connected to, 2 (check processing) Each check node then computes the consistency of incoming messages, 3 (check-to-bit) Each check node then sends a message to each variable node it is connected to, 4 (bit processing) Each variable node (coded symbol) updates its value. Flash Memory Summit 24, Santa Clara, CA 36 / 58
58 Message Passing Decoding Passed messages can be either Hard decisions: or Soft decisions/likelihoods: real numbers Flash Memory Summit 24, Santa Clara, CA 37 / 58
59 An Example Preliminaries *"+,-(.&//&( #$%&2$'%( '&-'*&3&%(2$'%( %&#$%&%(.&//&(!"#$%&'( 7$*/8(9:""&;( )&#$%&'( 4( 4464( 4664( 5( Message m Codeword y y y 2 y 3 y 4 m y y 2 y 3 y 4!! y +y 2 +y 3 = y +y 3 +y 4 = y 2 +y 3 + y 4 = Flash Memory Summit 24, Santa Clara, CA 38 / 58
60 Message Passing Decoding Bit-flipping algorithm Flash Memory Summit 24, Santa Clara, CA 39 / 58
61 Received Codeword Preliminaries y +y 2 +y 3 y +y 3 +y 4 y 2 +y 3 +y 4 Flash Memory Summit 24, Santa Clara, CA 4 / 58
62 Bit-to-Check Messages +y 2 +y 3 +y 3 +y 4 y 2 +y 3 +y 4 Flash Memory Summit 24, Santa Clara, CA 4 / 58
63 Bit-to-Check Messages ++y 3 +y 3 +y 4 +y 3 +y 4 Flash Memory Summit 24, Santa Clara, CA 4 / 58
64 Check Processing Preliminaries ++=?? ++y 4 ++y 4 Flash Memory Summit 24, Santa Clara, CA 42 / 58
65 Check Processing Preliminaries ++=?? ++= ++=?? Flash Memory Summit 24, Santa Clara, CA 42 / 58
66 Check-to-Bit Messages Flip, Flip, Flip, ++=?? ++= ++=?? Flash Memory Summit 24, Santa Clara, CA 43 / 58
67 Check-to-Bit Messages Flip, Stay Flip, Flip, Stay, Stay, ++=?? ++= ++=?? Flash Memory Summit 24, Santa Clara, CA 43 / 58
68 Check-to-Bit Messages Flip, Stay Flip, Flip Flip, Stay, Flip Stay, Flip ++=?? ++= ++=?? Flash Memory Summit 24, Santa Clara, CA 43 / 58
69 Bit Processing Preliminaries Flip, Stay Flip, Flip Flip, Stay, Flip Stay, Flip ++=?? ++= ++=?? Flash Memory Summit 24, Santa Clara, CA 44 / 58
70 Bit Processing Preliminaries y +y 2 +y 3 y +y 3 +y 4 y 2 +y 3 +y 4 Flash Memory Summit 24, Santa Clara, CA 44 / 58
71 Bit-to-Check Messages +y 2 +y 3 +y 3 +y 4 y 2 +y 3 +y 4 Flash Memory Summit 24, Santa Clara, CA 45 / 58
72 Bit-to-Check Messages ++y 3 +y 3 +y 4 +y 3 +y 4 Flash Memory Summit 24, Santa Clara, CA 45 / 58
73 Bit-to-Check Messages ++ = ++y 4 ++y 4 Flash Memory Summit 24, Santa Clara, CA 45 / 58
74 Check Processing Preliminaries ++ = ++ = ++ = Flash Memory Summit 24, Santa Clara, CA 46 / 58
75 Check-to-Bit Messages Stay, Stay, Stay, ++ = ++ = ++ = Flash Memory Summit 24, Santa Clara, CA 47 / 58
76 Check-to-Bit Messages Stay, Stay, Stay, ++ = ++ = ++ = Flash Memory Summit 24, Santa Clara, CA 47 / 58
77 Check-to-Bit Messages Stay, Stay Stay, Stay Stay, Stay, Stay Stay, Stay ++ = ++ = ++ = Flash Memory Summit 24, Santa Clara, CA 48 / 58
78 Bit Processing Preliminaries Decoded Codeword ++ = ++ = ++ = Flash Memory Summit 24, Santa Clara, CA 49 / 58
79 Soft Improved variants of message passing algorithm use soft information as messages, i.e., log-likelihood ratio L = log P(x i = y i ) P(x i = y i ). Sum-product algorithm (SPA) [,2] Min-sum algorithm (MSA) [3] [] R. Gallager, MIT Press, 963. [2] T. Richardson and R. Urbanke, IEEE Trans. on Info. Theory, 2. [3] M. P. C. Fossorier, M. Mihaljevic, and H. Imai, IEEE Trans. on Comm., 999. Flash Memory Summit 24, Santa Clara, CA 5 / 58
80 Soft Improved variants of message passing algorithm use soft information as messages, i.e., log-likelihood ratio L = log P(x i = y i ) P(x i = y i ). Sum-product algorithm (SPA) [,2] bit-to-check L(v i c j ) = j N(i)\j L(c j v i) + L int (v i ) check-to-bit L(c j v i ) = ( Φ i N(j)\i Φ( L(v i c j ) ) i N(j)\i sgn(l(v i c j )) where Φ(x) = log(tanh(x/2)) Min-sum algorithm (MSA) [3] check-to-bit L(c j v i ) = min i N(j)\i L(v i c j ) i N(j)\i sgn(l(v i c j )) [] R. Gallager, MIT Press, 963. [2] T. Richardson and R. Urbanke, IEEE Trans. on Info. Theory, 2. [3] M. P. C. Fossorier, M. Mihaljevic, and H. Imai, IEEE Trans. on Comm., 999. ) Flash Memory Summit 24, Santa Clara, CA 5 / 58
81 Soft Decoding Preliminaries Bit values Flash Memory Summit 24, Santa Clara, CA 5 / 58
82 Soft Decoding Preliminaries Bit values Values using BPSK Flash Memory Summit 24, Santa Clara, CA 5 / 58
83 Soft Decoding Preliminaries Bit values Values using BPSK Values from channel Flash Memory Summit 24, Santa Clara, CA 5 / 58
84 Soft Decoding Preliminaries Bit values Values using BPSK Values from channel Beliefs (L vi (int ) e y i 2 /2σ2 n L vi = log e y i+ 2 /2σ2 = 2 n 2 σ y i n We assume σ n =. Flash Memory Summit 24, Santa Clara, CA 5 / 58
85 Soft Decoding Preliminaries Bit values Values using BPSK Values from channel Beliefs L cj v j = 2 tanh l i v l c j tanh 2 L v l c j Flash Memory Summit 24, Santa Clara, CA 5 / 58
86 Soft Decoding Preliminaries Bit values Values using BPSK Values from channel Beliefs L cj v j = 2 tanh l i v l c j tanh 2 L v l c j Flash Memory Summit 24, Santa Clara, CA 5 / 58
87 Soft Decoding Preliminaries Bit values Values using BPSK Values from channel Beliefs (int ) L vi = L vi + Lcj v j c j v i Flash Memory Summit 24, Santa Clara, CA 5 / 58
88 Soft Decoding Preliminaries Bit values Values using BPSK Values from channel Beliefs All variable nodes are decoded to correct bit value. Flash Memory Summit 24, Santa Clara, CA 5 / 58
89 Performance with multi read SNR db SNR 2 db SNR 4 db SNR 6 db SNR 8 db Figure: Rate.9 LDPC and BCH codes of length n = 9. Frame Error Rate Frame Error Rate vs. Raw Bit Error Rate (MLC Gaussian Model) Hard BCH Hard (3 reads) Code Hard (3 reads) Code reads MMI Code 6 reads MMI Code 2 Soft Code 2 Soft Code Hard (3 reads) Shannon Limit 6 reads Shannon Limit MMI Soft Shannon Limit.8 Gaussian model of MLC. 8 of size 2q and cenr Gaussians with means Channel Bit Error Probability Fig.. FER vs. channel bit error probability simulation results using the Gaussian channel model for 4-level MLC comparing LDPC Codes and2 with varying levels of soft information and a BCH code with hard decoding. All codes have rate.92. Flash Memory Summit 24, Santa Clara, CA 52 / 58
90 Performance with multi read SNR db SNR 2 db SNR 4 db SNR 6 db SNR 8 db Gaussian model of MLC. 8 of size 2q and cenr Gaussians with means Figure: Rate.9 LDPC and BCH codes of length n = 9. Frame Error Rate Frame Error Rate vs. Raw Bit Error Rate (MLC Gaussian Model) Hard BCH Hard (3 reads) Code Hard (3 reads) Code reads MMI Code 6 reads MMI Code 2 Soft Code 2 Soft Code Hard (3 reads) Shannon Limit 6 reads Shannon Limit MMI Soft Shannon Limit Caution:.8 Channel Bit Error Probability Optimal Fig. code. FERdesign vs. channel inbit the error probability error floor simulation region results using depends the on the Gaussian channel model for 4-level MLC comparing LDPC Codes and2 chosenwith quantization. varying levels of soft information and a BCH code with hard decoding. All codes have rate.92. AWGN-optimized LDPC codes may not be the best for the quantized (and asymmetric) Flash channel! Flash Memory Summit 24, Santa Clara, CA 52 / 58
91 Entries in the parity check matrix H are taken from GF (q). Example: GF (8) =,, 2,..., 7. (with α k k + for k 6) H = v v 2 v 3 v 4 v 5 v 6 v 7 v 8 v 9 c c 2 c 3 c 4 c 5 c 6 Parity check c 3 : 3v 3 + v 6 + v 9 over GF (8). Flash Memory Summit 24, Santa Clara, CA 53 / 58
92 Entries in the parity check matrix H are taken from GF (q). Example: GF (8) =,, 2,..., 7. (with α k k + for k 6) H = v v 2 v 3 v 4 v 5 v 6 v 7 v 8 v 9 c c 2 c 3 c 4 c 5 c 6 Parity check c 3 : 3v 3 + v 6 + v 9 over GF (8). See talk on Thursday: Flash Controller Design (8:3 :5) Flash Memory Summit 24, Santa Clara, CA 53 / 58
93 Performance evaluation Figure: vs. BCH codes performance comparison for AWGN channel. Code rate is.9, block length is bits. BCH code corrects 3 errors..e 2 FER.E 4.E 6.E 8 GF(2) GF(4) GF(8) GF(6) BCH SNR (db) Flash Memory Summit 24, Santa Clara, CA 54 / 58
94 Non-binary LDPC decoding Decoding is more complex than in the binary case. Keep track of q likelihoods on each edge. Popular approaches: Direct implementation has complexity on the order of O(q 2 ) FFT-based SPA has complexity on the order of O(q log q) Min-sum and its variants can further reduce the complexity Flash Memory Summit 24, Santa Clara, CA 55 / 58
95 (BCH) Performance is acceptable + Guaranteed error correction capability + Structure allows for efficient decoder implementation Not amenable for soft decoding (LDPC) + Performance is excellent No guaranteed error correction capability (but we have ideas) Decoder complexity is acceptable but now low + Amenable for soft decoding With the move to MLC/TLC technologies, advanced coding schemes will need to be considered! Flash Memory Summit 24, Santa Clara, CA 56 / 58
96 Further information, papers, references etc. available at Selected list: L. Dolecek, D. Divsalar, Y. Sun and B. Amiri, Non-Binary Protograph-Based LDPC Codes: Enumerators, Analysis, and Designs, IEEE Transactions on Information Theory, vol. 6 (7), pp , July 24 R. Gabrys, E. Yaakobi and L. Dolecek, Graded bit error correcting codes with applications to Flash memory, IEEE Transactions on Information Theory, vol. 59(4), pp , Apr. 23. J. Wang, L. Dolecek and R. Wesel, The Cycle Consistency Matrix Approach to Absorbing Sets in Separable Circulant-Based LDPC Codes, IEEE Transactions on Information Theory, vol. 59(4), pp , Apr. 23. B. Amiri, J. Kliewer, and L. Dolecek, Analysis and Enumeration of Absorbing Sets for Non-Binary Graph-Based Codes, IEEE Transactions on Communications, vol. 62 (2), pp , Feb. 24. Flash Memory Summit 24, Santa Clara, CA 57 / 58
97 We would like to invite you to explore CoDESS: For more information, please contact Prof. Lara Dolecek Flash Memory Summit 24, Santa Clara, CA 58 / 58
Low Density Parity Check (LDPC) Codes and the Need for Stronger ECC. August 2011 Ravi Motwani, Zion Kwok, Scott Nelson
Low Density Parity Check (LDPC) Codes and the Need for Stronger ECC August 2011 Ravi Motwani, Zion Kwok, Scott Nelson Agenda NAND ECC History Soft Information What is soft information How do we obtain
More informationAn Introduction to Low Density Parity Check (LDPC) Codes
An Introduction to Low Density Parity Check (LDPC) Codes Jian Sun jian@csee.wvu.edu Wireless Communication Research Laboratory Lane Dept. of Comp. Sci. and Elec. Engr. West Virginia University June 3,
More informationGraph-based codes for flash memory
1/28 Graph-based codes for flash memory Discrete Mathematics Seminar September 3, 2013 Katie Haymaker Joint work with Professor Christine Kelley University of Nebraska-Lincoln 2/28 Outline 1 Background
More informationIntroduction to Low-Density Parity Check Codes. Brian Kurkoski
Introduction to Low-Density Parity Check Codes Brian Kurkoski kurkoski@ice.uec.ac.jp Outline: Low Density Parity Check Codes Review block codes History Low Density Parity Check Codes Gallager s LDPC code
More informationStructured Low-Density Parity-Check Codes: Algebraic Constructions
Structured Low-Density Parity-Check Codes: Algebraic Constructions Shu Lin Department of Electrical and Computer Engineering University of California, Davis Davis, California 95616 Email:shulin@ece.ucdavis.edu
More informationLow-density parity-check (LDPC) codes
Low-density parity-check (LDPC) codes Performance similar to turbo codes Do not require long interleaver to achieve good performance Better block error performance Error floor occurs at lower BER Decoding
More informationConstruction of low complexity Array based Quasi Cyclic Low density parity check (QC-LDPC) codes with low error floor
Construction of low complexity Array based Quasi Cyclic Low density parity check (QC-LDPC) codes with low error floor Pravin Salunkhe, Prof D.P Rathod Department of Electrical Engineering, Veermata Jijabai
More informationLDPC Codes. Intracom Telecom, Peania
LDPC Codes Alexios Balatsoukas-Stimming and Athanasios P. Liavas Technical University of Crete Dept. of Electronic and Computer Engineering Telecommunications Laboratory December 16, 2011 Intracom Telecom,
More informationECEN 655: Advanced Channel Coding
ECEN 655: Advanced Channel Coding Course Introduction Henry D. Pfister Department of Electrical and Computer Engineering Texas A&M University ECEN 655: Advanced Channel Coding 1 / 19 Outline 1 History
More informationQuasi-cyclic Low Density Parity Check codes with high girth
Quasi-cyclic Low Density Parity Check codes with high girth, a work with Marta Rossi, Richard Bresnan, Massimilliano Sala Summer Doctoral School 2009 Groebner bases, Geometric codes and Order Domains Dept
More informationCodes on graphs and iterative decoding
Codes on graphs and iterative decoding Bane Vasić Error Correction Coding Laboratory University of Arizona Prelude Information transmission 0 0 0 0 0 0 Channel Information transmission signal 0 0 threshold
More informationCodes on graphs and iterative decoding
Codes on graphs and iterative decoding Bane Vasić Error Correction Coding Laboratory University of Arizona Funded by: National Science Foundation (NSF) Seagate Technology Defense Advanced Research Projects
More informationCHAPTER 3 LOW DENSITY PARITY CHECK CODES
62 CHAPTER 3 LOW DENSITY PARITY CHECK CODES 3. INTRODUCTION LDPC codes were first presented by Gallager in 962 [] and in 996, MacKay and Neal re-discovered LDPC codes.they proved that these codes approach
More informationDesign of Non-Binary Quasi-Cyclic LDPC Codes by Absorbing Set Removal
Design of Non-Binary Quasi-Cyclic LDPC Codes by Absorbing Set Removal Behzad Amiri Electrical Eng. Department University of California, Los Angeles Los Angeles, USA Email: amiri@ucla.edu Jorge Arturo Flores
More informationLow-density parity-check codes
Low-density parity-check codes From principles to practice Dr. Steve Weller steven.weller@newcastle.edu.au School of Electrical Engineering and Computer Science The University of Newcastle, Callaghan,
More informationSPA decoding on the Tanner graph
SPA decoding on the Tanner graph x,(i) q j,l = P(v l = x check sums A l \ {h j } at the ith iteration} x,(i) σ j,l = Σ P(s = 0 v = x,{v : t B(h )\{l}}) q {vt : t B(h j )\{l}} j l t j t B(h j )\{l} j,t
More informationConstructions of Nonbinary Quasi-Cyclic LDPC Codes: A Finite Field Approach
Constructions of Nonbinary Quasi-Cyclic LDPC Codes: A Finite Field Approach Shu Lin, Shumei Song, Lan Lan, Lingqi Zeng and Ying Y Tai Department of Electrical & Computer Engineering University of California,
More informationLecture 4 : Introduction to Low-density Parity-check Codes
Lecture 4 : Introduction to Low-density Parity-check Codes LDPC codes are a class of linear block codes with implementable decoders, which provide near-capacity performance. History: 1. LDPC codes were
More informationConstruction and Performance Evaluation of QC-LDPC Codes over Finite Fields
MEE10:83 Construction and Performance Evaluation of QC-LDPC Codes over Finite Fields Ihsan Ullah Sohail Noor This thesis is presented as part of the Degree of Master of Sciences in Electrical Engineering
More informationCoding Techniques for Data Storage Systems
Coding Techniques for Data Storage Systems Thomas Mittelholzer IBM Zurich Research Laboratory /8 Göttingen Agenda. Channel Coding and Practical Coding Constraints. Linear Codes 3. Weight Enumerators and
More informationAdvances in Error Control Strategies for 5G
Advances in Error Control Strategies for 5G Jörg Kliewer The Elisha Yegal Bar-Ness Center For Wireless Communications And Signal Processing Research 5G Requirements [Nokia Networks: Looking ahead to 5G.
More informationLDPC Codes. Slides originally from I. Land p.1
Slides originally from I. Land p.1 LDPC Codes Definition of LDPC Codes Factor Graphs to use in decoding Decoding for binary erasure channels EXIT charts Soft-Output Decoding Turbo principle applied to
More informationChapter 6 Reed-Solomon Codes. 6.1 Finite Field Algebra 6.2 Reed-Solomon Codes 6.3 Syndrome Based Decoding 6.4 Curve-Fitting Based Decoding
Chapter 6 Reed-Solomon Codes 6. Finite Field Algebra 6. Reed-Solomon Codes 6.3 Syndrome Based Decoding 6.4 Curve-Fitting Based Decoding 6. Finite Field Algebra Nonbinary codes: message and codeword symbols
More informationOn the Construction and Decoding of Cyclic LDPC Codes
On the Construction and Decoding of Cyclic LDPC Codes Chao Chen Joint work with Prof. Baoming Bai from Xidian University April 30, 2014 Outline 1. Introduction 2. Construction based on Idempotents and
More informationAn Enhanced (31,11,5) Binary BCH Encoder and Decoder for Data Transmission
An Enhanced (31,11,5) Binary BCH Encoder and Decoder for Data Transmission P.Mozhiarasi, C.Gayathri, V.Deepan Master of Engineering, VLSI design, Sri Eshwar College of Engineering, Coimbatore- 641 202,
More informationOn the minimum distance of LDPC codes based on repetition codes and permutation matrices 1
Fifteenth International Workshop on Algebraic and Combinatorial Coding Theory June 18-24, 216, Albena, Bulgaria pp. 168 173 On the minimum distance of LDPC codes based on repetition codes and permutation
More informationPerformance Analysis and Code Optimization of Low Density Parity-Check Codes on Rayleigh Fading Channels
Performance Analysis and Code Optimization of Low Density Parity-Check Codes on Rayleigh Fading Channels Jilei Hou, Paul H. Siegel and Laurence B. Milstein Department of Electrical and Computer Engineering
More informationIterative Encoding of Low-Density Parity-Check Codes
Iterative Encoding of Low-Density Parity-Check Codes David Haley, Alex Grant and John Buetefuer Institute for Telecommunications Research University of South Australia Mawson Lakes Blvd Mawson Lakes SA
More informationDr. Cathy Liu Dr. Michael Steinberger. A Brief Tour of FEC for Serial Link Systems
Prof. Shu Lin Dr. Cathy Liu Dr. Michael Steinberger U.C.Davis Avago SiSoft A Brief Tour of FEC for Serial Link Systems Outline Introduction Finite Fields and Vector Spaces Linear Block Codes Cyclic Codes
More informationLecture 12. Block Diagram
Lecture 12 Goals Be able to encode using a linear block code Be able to decode a linear block code received over a binary symmetric channel or an additive white Gaussian channel XII-1 Block Diagram Data
More informationx n k m(x) ) Codewords can be characterized by (and errors detected by): c(x) mod g(x) = 0 c(x)h(x) = 0 mod (x n 1)
Cyclic codes: review EE 387, Notes 15, Handout #26 A cyclic code is a LBC such that every cyclic shift of a codeword is a codeword. A cyclic code has generator polynomial g(x) that is a divisor of every
More informationIntroducing Low-Density Parity-Check Codes
Introducing Low-Density Parity-Check Codes Sarah J. Johnson School of Electrical Engineering and Computer Science The University of Newcastle Australia email: sarah.johnson@newcastle.edu.au Topic 1: Low-Density
More informationLow-complexity error correction in LDPC codes with constituent RS codes 1
Eleventh International Workshop on Algebraic and Combinatorial Coding Theory June 16-22, 2008, Pamporovo, Bulgaria pp. 348-353 Low-complexity error correction in LDPC codes with constituent RS codes 1
More informationCodes on Graphs. Telecommunications Laboratory. Alex Balatsoukas-Stimming. Technical University of Crete. November 27th, 2008
Codes on Graphs Telecommunications Laboratory Alex Balatsoukas-Stimming Technical University of Crete November 27th, 2008 Telecommunications Laboratory (TUC) Codes on Graphs November 27th, 2008 1 / 31
More informationModern Coding Theory. Daniel J. Costello, Jr School of Information Theory Northwestern University August 10, 2009
Modern Coding Theory Daniel J. Costello, Jr. Coding Research Group Department of Electrical Engineering University of Notre Dame Notre Dame, IN 46556 2009 School of Information Theory Northwestern University
More informationECC for NAND Flash. Osso Vahabzadeh. TexasLDPC Inc. Flash Memory Summit 2017 Santa Clara, CA 1
ECC for NAND Flash Osso Vahabzadeh TexasLDPC Inc. 1 Overview Why Is Error Correction Needed in Flash Memories? Error Correction Codes Fundamentals Low-Density Parity-Check (LDPC) Codes LDPC Encoding and
More informationON THE MINIMUM DISTANCE OF NON-BINARY LDPC CODES. Advisor: Iryna Andriyanova Professor: R.. udiger Urbanke
ON THE MINIMUM DISTANCE OF NON-BINARY LDPC CODES RETHNAKARAN PULIKKOONATTU ABSTRACT. Minimum distance is an important parameter of a linear error correcting code. For improved performance of binary Low
More informationA Simplified Min-Sum Decoding Algorithm. for Non-Binary LDPC Codes
IEEE TRANSACTIONS ON COMMUNICATIONS 1 A Simplified Min-Sum Decoding Algorithm for Non-Binary LDPC Codes Chung-Li (Jason) Wang, Xiaoheng Chen, Zongwang Li, and Shaohua Yang arxiv:1207.5555v1 [cs.it] 23
More information/12/$ IEEE 486
International Conference on Computing, Networking and Communications, Data Storage Technology and Applications Symposium Characterization and Error-Correcting Codes for TLC Flash Memories Eitan Yaakobi,
More informationMessage-Passing Decoding for Low-Density Parity-Check Codes Harish Jethanandani and R. Aravind, IIT Madras
Message-Passing Decoding for Low-Density Parity-Check Codes Harish Jethanandani and R. Aravind, IIT Madras e-mail: hari_jethanandani@yahoo.com Abstract Low-density parity-check (LDPC) codes are discussed
More informationCHANNEL DECOMPOSITION FOR MULTILEVEL CODES OVER MULTILEVEL AND PARTIAL ERASURE CHANNELS. Carolyn Mayer. Kathryn Haymaker. Christine A.
Manuscript submitted to AIMS Journals Volume X, Number 0X, XX 00X doi:0.3934/xx.xx.xx.xx pp. X XX CHANNEL DECOMPOSITION FOR MULTILEVEL CODES OVER MULTILEVEL AND PARTIAL ERASURE CHANNELS Carolyn Mayer Department
More informationBelief-Propagation Decoding of LDPC Codes
LDPC Codes: Motivation Belief-Propagation Decoding of LDPC Codes Amir Bennatan, Princeton University Revolution in coding theory Reliable transmission, rates approaching capacity. BIAWGN, Rate =.5, Threshold.45
More informationThe BCH Bound. Background. Parity Check Matrix for BCH Code. Minimum Distance of Cyclic Codes
S-723410 BCH and Reed-Solomon Codes 1 S-723410 BCH and Reed-Solomon Codes 3 Background The algebraic structure of linear codes and, in particular, cyclic linear codes, enables efficient encoding and decoding
More informationLow-Density Parity-Check Codes
Department of Computer Sciences Applied Algorithms Lab. July 24, 2011 Outline 1 Introduction 2 Algorithms for LDPC 3 Properties 4 Iterative Learning in Crowds 5 Algorithm 6 Results 7 Conclusion PART I
More informationChannel Coding I. Exercises SS 2017
Channel Coding I Exercises SS 2017 Lecturer: Dirk Wübben Tutor: Shayan Hassanpour NW1, Room N 2420, Tel.: 0421/218-62387 E-mail: {wuebben, hassanpour}@ant.uni-bremen.de Universität Bremen, FB1 Institut
More informationLow-Density Parity-Check codes An introduction
Low-Density Parity-Check codes An introduction c Tilo Strutz, 2010-2014,2016 June 9, 2016 Abstract Low-density parity-check codes (LDPC codes) are efficient channel coding codes that allow transmission
More informationWeaknesses of Margulis and Ramanujan Margulis Low-Density Parity-Check Codes
Electronic Notes in Theoretical Computer Science 74 (2003) URL: http://www.elsevier.nl/locate/entcs/volume74.html 8 pages Weaknesses of Margulis and Ramanujan Margulis Low-Density Parity-Check Codes David
More informationSTUDY OF PERMUTATION MATRICES BASED LDPC CODE CONSTRUCTION
EE229B PROJECT REPORT STUDY OF PERMUTATION MATRICES BASED LDPC CODE CONSTRUCTION Zhengya Zhang SID: 16827455 zyzhang@eecs.berkeley.edu 1 MOTIVATION Permutation matrices refer to the square matrices with
More informationLower Bounds on the Graphical Complexity of Finite-Length LDPC Codes
Lower Bounds on the Graphical Complexity of Finite-Length LDPC Codes Igal Sason Department of Electrical Engineering Technion - Israel Institute of Technology Haifa 32000, Israel 2009 IEEE International
More information5.0 BCH and Reed-Solomon Codes 5.1 Introduction
5.0 BCH and Reed-Solomon Codes 5.1 Introduction A. Hocquenghem (1959), Codes correcteur d erreurs; Bose and Ray-Chaudhuri (1960), Error Correcting Binary Group Codes; First general family of algebraic
More informationAnalytical Performance of One-Step Majority Logic Decoding of Regular LDPC Codes
Analytical Performance of One-Step Majority Logic Decoding of Regular LDPC Codes Rathnakumar Radhakrishnan, Sundararajan Sankaranarayanan, and Bane Vasić Department of Electrical and Computer Engineering
More informationCoding Theory and Applications. Solved Exercises and Problems of Cyclic Codes. Enes Pasalic University of Primorska Koper, 2013
Coding Theory and Applications Solved Exercises and Problems of Cyclic Codes Enes Pasalic University of Primorska Koper, 2013 Contents 1 Preface 3 2 Problems 4 2 1 Preface This is a collection of solved
More informationAchieving Flexibility in LDPC Code Design by Absorbing Set Elimination
Achieving Flexibility in LDPC Code Design by Absorbing Set Elimination Jiajun Zhang, Jiadong Wang, Shayan Garani Srinivasa, Lara Dolecek Department of Electrical Engineering, University of California,
More informationEfficient design of LDPC code using circulant matrix and eira code Seul-Ki Bae
Efficient design of LDPC code using circulant matrix and eira code Seul-Ki Bae The Graduate School Yonsei University Department of Electrical and Electronic Engineering Efficient design of LDPC code using
More informationAnd for polynomials with coefficients in F 2 = Z/2 Euclidean algorithm for gcd s Concept of equality mod M(x) Extended Euclid for inverses mod M(x)
Outline Recall: For integers Euclidean algorithm for finding gcd s Extended Euclid for finding multiplicative inverses Extended Euclid for computing Sun-Ze Test for primitive roots And for polynomials
More informationCOMPSCI 650 Applied Information Theory Apr 5, Lecture 18. Instructor: Arya Mazumdar Scribe: Hamed Zamani, Hadi Zolfaghari, Fatemeh Rezaei
COMPSCI 650 Applied Information Theory Apr 5, 2016 Lecture 18 Instructor: Arya Mazumdar Scribe: Hamed Zamani, Hadi Zolfaghari, Fatemeh Rezaei 1 Correcting Errors in Linear Codes Suppose someone is to send
More informationEE229B - Final Project. Capacity-Approaching Low-Density Parity-Check Codes
EE229B - Final Project Capacity-Approaching Low-Density Parity-Check Codes Pierre Garrigues EECS department, UC Berkeley garrigue@eecs.berkeley.edu May 13, 2005 Abstract The class of low-density parity-check
More informationChapter 7. Error Control Coding. 7.1 Historical background. Mikael Olofsson 2005
Chapter 7 Error Control Coding Mikael Olofsson 2005 We have seen in Chapters 4 through 6 how digital modulation can be used to control error probabilities. This gives us a digital channel that in each
More informationBinary Primitive BCH Codes. Decoding of the BCH Codes. Implementation of Galois Field Arithmetic. Implementation of Error Correction
BCH Codes Outline Binary Primitive BCH Codes Decoding of the BCH Codes Implementation of Galois Field Arithmetic Implementation of Error Correction Nonbinary BCH Codes and Reed-Solomon Codes Preface The
More informationError Control Codes for Memories
The 2 th Korea Test Conference Error Control Codes for Memories June 22, 2 Jun Jin Kong, Ph.D. (jjkong@samsung.com) Samsung Electronics Co., Ltd. (Memory) Biography of Jun Jin Kong Brief History Present:
More informationSIPCom8-1: Information Theory and Coding Linear Binary Codes Ingmar Land
SIPCom8-1: Information Theory and Coding Linear Binary Codes Ingmar Land Ingmar Land, SIPCom8-1: Information Theory and Coding (2005 Spring) p.1 Overview Basic Concepts of Channel Coding Block Codes I:
More informationIEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 64, NO. 10, OCTOBER
IEEE TRANSACTIONS ON COMMUNICATIONS, VOL. 64, NO. 10, OCTOBER 2016 4029 Optimized Design of Finite-Length Separable Circulant-Based Spatially-Coupled Codes: An Absorbing Set-Based Analysis Behzad Amiri,
More informationBelief propagation decoding of quantum channels by passing quantum messages
Belief propagation decoding of quantum channels by passing quantum messages arxiv:67.4833 QIP 27 Joseph M. Renes lempelziv@flickr To do research in quantum information theory, pick a favorite text on classical
More information16.36 Communication Systems Engineering
MIT OpenCourseWare http://ocw.mit.edu 16.36 Communication Systems Engineering Spring 2009 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms. 16.36: Communication
More informationFEEDBACK does not increase the capacity of a discrete
1 Sequential Differential Optimization of Incremental Redundancy Transmission Lengths: An Example with Tail-Biting Convolutional Codes Nathan Wong, Kasra Vailinia, Haobo Wang, Sudarsan V. S. Ranganathan,
More informationChapter 6. BCH Codes
Chapter 6 BCH Codes Description of the Codes Decoding of the BCH Codes Outline Implementation of Galois Field Arithmetic Implementation of Error Correction Nonbinary BCH Codes and Reed-Solomon Codes Weight
More informationRCA Analysis of the Polar Codes and the use of Feedback to aid Polarization at Short Blocklengths
RCA Analysis of the Polar Codes and the use of Feedback to aid Polarization at Short Blocklengths Kasra Vakilinia, Dariush Divsalar*, and Richard D. Wesel Department of Electrical Engineering, University
More informationChapter 7 Reed Solomon Codes and Binary Transmission
Chapter 7 Reed Solomon Codes and Binary Transmission 7.1 Introduction Reed Solomon codes named after Reed and Solomon [9] following their publication in 1960 have been used together with hard decision
More informationAdaptive Cut Generation for Improved Linear Programming Decoding of Binary Linear Codes
Adaptive Cut Generation for Improved Linear Programming Decoding of Binary Linear Codes Xiaojie Zhang and Paul H. Siegel University of California, San Diego, La Jolla, CA 9093, U Email:{ericzhang, psiegel}@ucsd.edu
More informationTime-invariant LDPC convolutional codes
Time-invariant LDPC convolutional codes Dimitris Achlioptas, Hamed Hassani, Wei Liu, and Rüdiger Urbanke Department of Computer Science, UC Santa Cruz, USA Email: achlioptas@csucscedu Department of Computer
More informationIntroduction to Wireless & Mobile Systems. Chapter 4. Channel Coding and Error Control Cengage Learning Engineering. All Rights Reserved.
Introduction to Wireless & Mobile Systems Chapter 4 Channel Coding and Error Control 1 Outline Introduction Block Codes Cyclic Codes CRC (Cyclic Redundancy Check) Convolutional Codes Interleaving Information
More informationAdvanced Hardware Architecture for Soft Decoding Reed-Solomon Codes
Advanced Hardware Architecture for Soft Decoding Reed-Solomon Codes Stefan Scholl, Norbert Wehn Microelectronic Systems Design Research Group TU Kaiserslautern, Germany Overview Soft decoding decoding
More informationCoding theory: Applications
INF 244 a) Textbook: Lin and Costello b) Lectures (Tu+Th 12.15-14) covering roughly Chapters 1,9-12, and 14-18 c) Weekly exercises: For your convenience d) Mandatory problem: Programming project (counts
More informationLOW-density parity-check (LDPC) codes were invented
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL 54, NO 1, JANUARY 2008 51 Extremal Problems of Information Combining Yibo Jiang, Alexei Ashikhmin, Member, IEEE, Ralf Koetter, Senior Member, IEEE, and Andrew
More informationIterative Soft-Decision Decoding of Binary Cyclic Codes
142 JOURNA OF COMMUNICATIONS SOFTWARE AND SYSTEMS, VO. 4, NO. 2, JUNE 2008 Iterative Soft-Decision Decoding of Binary Cyclic Codes Marco Baldi, Giovanni Cancellieri, and Franco Chiaraluce Original scientific
More informationChannel Coding I. Exercises SS 2017
Channel Coding I Exercises SS 2017 Lecturer: Dirk Wübben Tutor: Shayan Hassanpour NW1, Room N 2420, Tel.: 0421/218-62387 E-mail: {wuebben, hassanpour}@ant.uni-bremen.de Universität Bremen, FB1 Institut
More informationPractical Polar Code Construction Using Generalised Generator Matrices
Practical Polar Code Construction Using Generalised Generator Matrices Berksan Serbetci and Ali E. Pusane Department of Electrical and Electronics Engineering Bogazici University Istanbul, Turkey E-mail:
More informationError Floors of LDPC Coded BICM
Electrical and Computer Engineering Conference Papers, Posters and Presentations Electrical and Computer Engineering 2007 Error Floors of LDPC Coded BICM Aditya Ramamoorthy Iowa State University, adityar@iastate.edu
More informationLDPC codes based on Steiner quadruple systems and permutation matrices
Fourteenth International Workshop on Algebraic and Combinatorial Coding Theory September 7 13, 2014, Svetlogorsk (Kaliningrad region), Russia pp. 175 180 LDPC codes based on Steiner quadruple systems and
More informationAn algorithm to improve the error rate performance of Accumulate-Repeat-Accumulate codes Tae-Ui Kim
An algorithm to improve the error rate performance of Accumulate-Repeat-Accumulate codes Tae-Ui Kim The Graduate School Yonsei University Department of Electrical and Electronic Engineering An algorithm
More informationRandom Redundant Soft-In Soft-Out Decoding of Linear Block Codes
Random Redundant Soft-In Soft-Out Decoding of Linear Block Codes Thomas R. Halford and Keith M. Chugg Communication Sciences Institute University of Southern California Los Angeles, CA 90089-2565 Abstract
More informationOptimum Soft Decision Decoding of Linear Block Codes
Optimum Soft Decision Decoding of Linear Block Codes {m i } Channel encoder C=(C n-1,,c 0 ) BPSK S(t) (n,k,d) linear modulator block code Optimal receiver AWGN Assume that [n,k,d] linear block code C is
More informationPerformance Study of Non-Binary Belief Propagation for Decoding Reed-Solomon Codes
Performance Study of Non-Binary Belief Propagation for Decoding Reed-Solomon Codes Bimberg, Marcel; Lentmaier, Michael; Fettweis, Gerhard Published in: [Host publication title missing] Published: 2010-01-01
More informationCode design: Computer search
Code design: Computer search Low rate codes Represent the code by its generator matrix Find one representative for each equivalence class of codes Permutation equivalences? Do NOT try several generator
More informationAn Introduction to Low-Density Parity-Check Codes
An Introduction to Low-Density Parity-Check Codes Paul H. Siegel Electrical and Computer Engineering University of California, San Diego 5/ 3/ 7 Copyright 27 by Paul H. Siegel Outline Shannon s Channel
More informationThe E8 Lattice and Error Correction in Multi-Level Flash Memory
The E8 Lattice and Error Correction in Multi-Level Flash Memory Brian M. Kurkoski kurkoski@ice.uec.ac.jp University of Electro-Communications Tokyo, Japan ICC 2011 IEEE International Conference on Communications
More informationAn Efficient Algorithm for Finding Dominant Trapping Sets of LDPC Codes
An Efficient Algorithm for Finding Dominant Trapping Sets of LDPC Codes Mehdi Karimi, Student Member, IEEE and Amir H. Banihashemi, Senior Member, IEEE Abstract arxiv:1108.4478v2 [cs.it] 13 Apr 2012 This
More informationCyclic codes: overview
Cyclic codes: overview EE 387, Notes 14, Handout #22 A linear block code is cyclic if the cyclic shift of a codeword is a codeword. Cyclic codes have many advantages. Elegant algebraic descriptions: c(x)
More information5. Density evolution. Density evolution 5-1
5. Density evolution Density evolution 5-1 Probabilistic analysis of message passing algorithms variable nodes factor nodes x1 a x i x2 a(x i ; x j ; x k ) x3 b x4 consider factor graph model G = (V ;
More informationSingle-Gaussian Messages and Noise Thresholds for Low-Density Lattice Codes
Single-Gaussian Messages and Noise Thresholds for Low-Density Lattice Codes Brian M. Kurkoski, Kazuhiko Yamaguchi and Kingo Kobayashi kurkoski@ice.uec.ac.jp Dept. of Information and Communications Engineering
More informationFinite Alphabet Iterative Decoders Approaching Maximum Likelihood Performance on the Binary Symmetric Channel
Finite Alphabet Iterative Decoders Approaching Maximum Likelihood Performance on the Binary Symmetric Channel David Declercq ETIS ENSEA/UCP/CNRS UMR 8051 95014 Cergy-Pontoise, France Email: declercq@ensea.fr
More informationTackling Intracell Variability in TLC Flash Through Tensor Product Codes
Tackling Intracell Variability in TLC Flash Through Tensor Product Codes Ryan Gabrys, Eitan Yaakobi, Laura Grupp, Steven Swanson, Lara Dolecek University of California, Los Angeles University of California,
More informationECE 4450:427/527 - Computer Networks Spring 2017
ECE 4450:427/527 - Computer Networks Spring 2017 Dr. Nghi Tran Department of Electrical & Computer Engineering Lecture 5.2: Error Detection & Correction Dr. Nghi Tran (ECE-University of Akron) ECE 4450:427/527
More informationChapter 7: Channel coding:convolutional codes
Chapter 7: : Convolutional codes University of Limoges meghdadi@ensil.unilim.fr Reference : Digital communications by John Proakis; Wireless communication by Andreas Goldsmith Encoder representation Communication
More informationPolar Code Construction for List Decoding
1 Polar Code Construction for List Decoding Peihong Yuan, Tobias Prinz, Georg Böcherer arxiv:1707.09753v1 [cs.it] 31 Jul 2017 Abstract A heuristic construction of polar codes for successive cancellation
More informationConvergence analysis for a class of LDPC convolutional codes on the erasure channel
Convergence analysis for a class of LDPC convolutional codes on the erasure channel Sridharan, Arvind; Lentmaier, Michael; Costello Jr., Daniel J.; Zigangirov, Kamil Published in: [Host publication title
More informationIEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 56, NO. 1, JANUARY
IEEE TRANSACTIONS ON INFORMATION THEORY, VOL 56, NO 1, JANUARY 2010 181 Analysis of Absorbing Sets Fully Absorbing Sets of Array-Based LDPC Codes Lara Dolecek, Member, IEEE, Zhengya Zhang, Member, IEEE,
More informationEE512: Error Control Coding
EE51: Error Control Coding Solution for Assignment on BCH and RS Codes March, 007 1. To determine the dimension and generator polynomial of all narrow sense binary BCH codes of length n = 31, we have to
More informationLow Density Lattice Codes
Low Density Lattice Codes Naftali Sommer,, Meir Feder, Ofir Shalvi Department of Electrical Engineering - Systems Tel-Aviv University, Tel-Aviv, Israel, Email: meir@eng.tau.ac.il Texas Instruments, Herzlia,
More informationGraph-based Codes for Quantize-Map-and-Forward Relaying
20 IEEE Information Theory Workshop Graph-based Codes for Quantize-Map-and-Forward Relaying Ayan Sengupta, Siddhartha Brahma, Ayfer Özgür, Christina Fragouli and Suhas Diggavi EPFL, Switzerland, UCLA,
More information