The Performance of Polar Codes for Multilevel Flash

  • Slides: 26
Download presentation
The Performance of Polar Codes for Multi-level Flash Memories Yue Li joint work with

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 … … … The circuit board of a SSD … Blocks

NAND Flash Memory … … … The circuit board of a SSD … Blocks … 4 pages/WL 2

Multi-Level Cells 10 00 01 11 2 bits/cell • Four different kinds of pages:

Multi-Level Cells 10 00 01 11 2 bits/cell • Four different kinds of pages: • Lower even • Lower odd • Upper even • Upper odd 3

Why Polar Codes? • Desire for optimal ECCs. • Excellent properties – Capacity-achieving –

Why Polar Codes? • Desire for optimal ECCs. • Excellent properties – Capacity-achieving – Theoretical guarantee of error floor performance – Efficient encoding and decoding algorithms 4

Encoding Input User Bits Frozen bits Polar Codeword Flash channels Frozen Channels G Noisy

Encoding Input User Bits Frozen bits Polar Codeword Flash channels Frozen Channels G Noisy Codeword Information Bits Erdal Arıkan, “Channel Polarization: A Method for Constructing Capacity-Achieving Codes for Symmetric Binary-Input Memoryless Channels, " IEEE Transactions on Information Theory, 2009. confidential 5

Successive Cancellation Decoding Frozen Channels Estimated user bits Noisy Codeword Erdal Arıkan, “Channel Polarization:

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. confidential 6

Successive Cancellation Decoding Frozen Channels Estimated user bits Noisy Codeword Erdal Arıkan, “Channel Polarization:

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. confidential 7

Successive Cancellation Decoding Frozen Channels Estimated user bits Noisy Codeword Erdal Arıkan, “Channel Polarization:

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. confidential 8

Is polar code suitable for flash memories? 2 • Make polar code work in

Is polar code suitable for flash memories? 2 • Make polar code work in flash memory • Performance evaluations 3 • Adaptive decoding 1

Code Length Adaptation • Polar codes have length N = 2 m • The

Code Length Adaptation • Polar codes have length N = 2 m • The code lengths in flash memory need to be flexible. 10

Shortening M K – K’ C K’ N – K’ Noisy C Est. M

Shortening M K – K’ C K’ N – K’ Noisy C Est. M N – K’ K’ 11

Evaluation with Random Data Pseudo-random Data (0, 1, 1, 0, …, 1) (1, 0,

Evaluation with Random Data Pseudo-random Data (0, 1, 1, 0, …, 1) (1, 0, …, 1) … (1, 0, …, 1) Not generated by polar encoder Cycling / Retention (0, 0, 1, 1, …, 1) (1, 0, 0, 0, …, 1) 13

Treating Random Data as Codewords (u 1, u 2, …, u. N) = (x

Treating Random Data as Codewords (u 1, u 2, …, u. N) = (x 1, x 2, …, x. N) -1 G Invertibl Input Output e Channel parameters Construct codes Frozen Bits 14

Hard and Soft Sensing Reference threshold voltages 11 01 00 10 Cell Voltage P(

Hard and Soft Sensing Reference threshold voltages 11 01 00 10 Cell Voltage P( V | bit = 0 ) LLR = log P( V | bit = 1 ) __________ 15

2 • Performance Evaluation 16

2 • Performance Evaluation 16

Experimental Setup • Construct one polar code for each kind of page. • List

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 2 X-nm MLC flash chips – 6 -month retention 17

Hard and Soft Decoding Hard Decoding Soft Decoding 18

Hard and Soft Decoding Hard Decoding Soft Decoding 18

Different Block Lengths 19

Different Block Lengths 19

Asymmetric and Symmetric Errors 20

Asymmetric and Symmetric Errors 20

3 • Adaptive Decoding 21

3 • Adaptive Decoding 21

Code Rate Switching Is repetitive code construction needed at rate-switching PECs? BER Correction Capability

Code Rate Switching Is repetitive code construction needed at rate-switching PECs? BER Correction Capability 0 R 1 pec 1 R 2 pec 2 R 2 pec 3 PEC 22

Why Code Reconstruction is Not Needed? 23

Why Code Reconstruction is Not Needed? 23

With and Without Code Reconstruction Upper odd page Average 24

With and Without Code Reconstruction Upper odd page Average 24

Summary • On the flash data – Polar codes are comparable to LDPC codes

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

Future Directions • Error floor performance • Comparing with LDPC decoder with the same

Future Directions • Error floor performance • Comparing with LDPC decoder with the same hardware latency • Efficient hardware implementations Thank You 26