the performance of polar codes for multi-level flash memories

26
The Performance of Polar Codes for Multi-level Flash Memories Yue Li joint work with Hakim Alhussien, Erich F. Haratsch, and Anxiao (Andrew) Jiang March 10 th , 2014

Upload: gaia

Post on 25-Feb-2016

113 views

Category:

Documents


0 download

DESCRIPTION

The Performance of Polar Codes for Multi-level Flash Memories . Yue Li joint work with Hakim Alhussien , Erich F. Haratsch , and Anxiao (Andrew) Jiang March 10 th , 2014. NAND Flash Memory. …. Blocks. …. …. …. The circuit board of a SSD. …. 4 pages/WL. Multi-Level Cells. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: The Performance of Polar Codes for Multi-level Flash Memories

The Performance of Polar Codes for Multi-level Flash

Memories Yue Li

joint work with Hakim Alhussien, Erich F. Haratsch,

and Anxiao (Andrew) JiangMarch 10th, 2014

Page 2: The Performance of Polar Codes for Multi-level Flash Memories

2

NAND Flash Memory

…… … Blocks

4 pages/WL

The circuit board of a SSD

Page 3: The Performance of Polar Codes for Multi-level Flash Memories

3

Multi-Level Cells10000111

2 bits/cell• Four different kinds of pages:

• Lower even• Lower odd• Upper even• Upper odd

Page 4: The Performance of Polar Codes for Multi-level Flash Memories

4

Why Polar Codes?• Desire for optimal ECCs.• Excellent properties

– Capacity-achieving– Theoretical guarantee of error floor

performance– Efficient encoding and decoding

algorithms

Page 5: The Performance of Polar Codes for Multi-level Flash Memories

5confidential

Encoding

Erdal Arıkan, “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels," IEEE Transactions on Information Theory, 2009.

Frozen bits

Information Bits

Frozen Channels

Input User BitsPolar Codeword

Noisy Codeword

Flash channels

G

Page 6: The Performance of Polar Codes for Multi-level Flash Memories

6confidential

Successive Cancellation Decoding

Frozen Channels

Estimated user bits Noisy Codeword

Erdal Arıkan, “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels," IEEE Transactions on Information Theory, 2009.

Page 7: The Performance of Polar Codes for Multi-level Flash Memories

7confidential

Frozen Channels

Estimated user bits

Noisy Codeword

Successive Cancellation Decoding

Erdal Arıkan, “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels," IEEE Transactions on Information Theory, 2009.

Page 8: The Performance of Polar Codes for Multi-level Flash Memories

8confidential

Frozen Channels

Successive Cancellation Decoding

Estimated user bits

Noisy Codeword

Erdal Arıkan, “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels," IEEE Transactions on Information Theory, 2009.

Page 9: The Performance of Polar Codes for Multi-level Flash Memories

Is polar code suitable for

flash memories?1

• Make polar code work in flash memory

2 • Performance evaluations

3 • Adaptive decoding

Page 10: The Performance of Polar Codes for Multi-level Flash Memories

Code Length Adaptation

• Polar codes have length N = 2m

• The code lengths in flash memory need to be flexible.

10

Page 11: The Performance of Polar Codes for Multi-level Flash Memories

Shortening

M C Noisy CK – K’ N – K’ N – K’K’

11

K – K’ K’

Est. M

Page 12: The Performance of Polar Codes for Multi-level Flash Memories

(N, K, K’)-Shortened Polar Code

1 0 0 … 01 0 … 0

… 0 …1 0

1

ç

ç

(x1, x2, …, xN-k’+1, …, xN)=(u1, u2, …, uN-k’+1, …, uN) G

(u1, u2, …, uN-k’+1, …, uN) K’

K’

(x1, x2, …, 0, …, 0)=(u1, u2, …, 0, …, 0) G

12

Page 13: The Performance of Polar Codes for Multi-level Flash Memories

Evaluation with Random Data

(0, 1, 1, 0, …, 1)(1, 0, 1, 0, …, 1)…(1, 0, 1, 0, …, 1)

Pseudo-random Data

Cycling / Retention

(0, 0, 1, 1, …, 1)(1, 0, 0, 0, …, 1)…(0, 0, 1, 1, …, 1)

Not generated by polar encoder

13

Page 14: The Performance of Polar Codes for Multi-level Flash Memories

Treating Random Data as Codewords

(u1, u2, …, uN) = (x1, x2, …, xN) G-1 Invertib

leInputOutputChannel parameters

Construct codesFrozen Bits

14

Page 15: The Performance of Polar Codes for Multi-level Flash Memories

Hard and Soft Sensing

Cell Voltage

11 01 00 10

LLR = log___________________P( V | bit = 1 ) P( V | bit = 0 )

15

Reference threshold voltages

Page 16: The Performance of Polar Codes for Multi-level Flash Memories

2•Performance Evaluation

16

Page 17: The Performance of Polar Codes for Multi-level Flash Memories

Experimental Setup• Construct one polar code for each kind of page.• List successive cancellation decoding [Tal and

Vardy 2011]– List size = 32 with CRC

• Block length – 7943 bits shortened from 8192 bits

• Code rates– 0.93, 0.94, 0.95

• Flash data– obtained by characterizing 2X-nm MLC flash

chips– 6-month retention 17

Page 18: The Performance of Polar Codes for Multi-level Flash Memories

Hard and Soft Decoding

Hard Decoding Soft Decoding 18

Page 19: The Performance of Polar Codes for Multi-level Flash Memories

Different Block Lengths

19

Page 20: The Performance of Polar Codes for Multi-level Flash Memories

Asymmetric and Symmetric Errors

20

Page 21: The Performance of Polar Codes for Multi-level Flash Memories

3•Adaptive Decoding

21

Page 22: The Performance of Polar Codes for Multi-level Flash Memories

Code Rate Switching

BER

PEC0 R1pec1 R2

pec2 R2pec3

Correction Capability

Is repetitive code construction needed at rate-switching PECs?

22

Page 23: The Performance of Polar Codes for Multi-level Flash Memories

Why Code Reconstruction is Not Needed?

23

Page 24: The Performance of Polar Codes for Multi-level Flash Memories

With and Without Code Reconstruction

24Upper odd page Average

Page 25: The Performance of Polar Codes for Multi-level Flash Memories

Summary• On the flash data

– Polar codes are comparable to LDPC codes using hard and soft sensing

– Larger block lengths do not improve decoding performance a lot

– More symmetric, better decoding performance– Repetitive code construction is not necessary for

adaptive decoding

25

Page 26: The Performance of Polar Codes for Multi-level Flash Memories

Future Directions

• Error floor performance• Comparing with LDPC decoder with

the same hardware latency• Efficient hardware implementations

26

Thank You