19
Error Control Coding for MLC Flash Memories Ying Y. Tai, Ph.D. Cadence Design Systems, Inc. [email protected] August 19, 2010 Flash Memory Summit 2010 Santa Clara, CA 1

FMS Tai 2010 Error Control Coding for MLC Flash … · he Challenges on Error Control Coding (ECC) ... Cadence/Denali NAND Flash IP Solution ... • Shu Lin, Daniel J. Costello, Error

  • Upload
    haliem

  • View
    225

  • Download
    0

Embed Size (px)

Citation preview

Error Control Coding for MLC

Flash Memories

Ying Y. Tai, Ph.D.

Cadence Design Systems, Inc.

[email protected]

August 19, 2010

Flash Memory Summit 2010

Santa Clara, CA 1

Outline

� The Challenges on Error Control Coding (ECC) for MLC Flash Memories

� Performance Measures on ECC

� Low-Density Parity-Check (LDPC) Codes Overview� Low-Density Parity-Check (LDPC) Codes Overview

� Performance of LDPC Codes for MLC Flash Memories

� Conclusions

Flash Memory Summit 2010

Santa Clara, CA 2

Challenges on ECC for MLC Flash

Memories

� MLC Flash Memory:• Multiple bits are stored

in each memory cell

• Storage density increasesincreases

• Process geometry downscale

• Worse reliability

Flash Memory Summit 2010

Santa Clara, CA 3

ECC for Flash Memories

� ECC Trend for Flash Memories:• Bit error rate (BER) requirement:

• Hamming codes for SLC flash memory

• BCH codes for MLC flash memory (codeword • BCH codes for MLC flash memory (codeword length increases from 512 to 1K to 2K bytes)

• What is the next?– Reed-Solomon (RS) codes?

– Low-Density Parity-Check (LDPC) codes?

Flash Memory Summit 2010

Santa Clara, CA 4

Performance Measures on ECC

� Error Probability:• Bit error rate (BER)

• Symbol error rate (SER)

• Word (frame or block) error rate• Word (frame or block) error rate

• Error floor

� Coding Gain

� Shannon Theoretical Limit

Flash Memory Summit 2010

Santa Clara, CA 5

Performance Measures on ECC

Flash Memory Summit 2010

Santa Clara, CA 6

Coding Gain

Error Floors

LDPC Codes Overview

� A class of channel capacity approaching codes

� Employed by various applications:• IEEE 802.3 10G BASE-T Ethernet• IEEE 802.3 10G BASE-T Ethernet

• Digital Video Broadcasting – DVB-S2

• IEEE 802.16e WiMAX

• Long Term Evolution (LTE)

• Hard Disk Drive

• NASA LandSat Data Continuation Mission

• China Digital TV Standard – DTMB

Flash Memory Summit 2010

Santa Clara, CA 7

What is LDPC Code?

� The null space of a sparse parity-check matrix H over GF(q), i.e.

� Categories of LDPC codes:• Random LDPC codes• Random LDPC codes

• Structured LDPC codes

� Key properties on the performance:• Girth and cycle distribution

• Degree distribution

• Minimum distance

• Trapping set structure

Flash Memory Summit 2010

Santa Clara, CA 8

Quasi-Cyclic (QC) LDPC Codes

� The null space of an array of sparse circulants

� Why QC-LDPC codes?• Reduced complexity for encoding and decoding on • Reduced complexity for encoding and decoding on

hardware implementation

• Well-designed QC LDPC codes perform very well– Good BER

– Large coding gain

– Low error floor

– Fast decoding convergence rate

• Systematic encoder

Flash Memory Summit 2010

Santa Clara, CA 9

Example: Cadence/Denali LDPC

on AWGN Channel

Comparison

Cadence/Denali

LDPC Code RS Code BCH Code

Pa

ram

ete

rs Data Size 2K Bytes 2K Bytes 2K Bytes

Overhead Size < 5 % < 5 % < 5 %

Error Correction Capability (t) N/A 35 Symbols 32 Bits

Flash Memory Summit 2010

Santa Clara, CA 10

Co

de

Pa

ram

ete

rs

Error Correction Capability (t) N/A 35 Symbols 32 Bits

Type Quasi-Cyclic Cyclic Cyclic

Encoder Format Systematic Systematic Systematic

Se

tup

Simulation (Emulation) C & FPGA C C

Decoding Type

Iterative Belief

Propagation Algebraic Decoding Algebraic Decoding

Transmission BPSK BPSK BPSK

Channel AWGN AWGN AWGN

Example: Cadence/Denali LDPC

on AWGN Channel

Flash Memory Summit 2010

Santa Clara, CA 11

MLC Flash Memories

Flash Memory Summit 2010

Santa Clara, CA 12

Level 0 1 2 3

Mean (V) 6.50 4.55 3.25 0.00

Deviation (V)

Direct

Mapping 00 01 10 11

Gray Mapping 01 11 10 00

Performance of LDPC on MLC

Flash Memories (2 Bits / Cell)

Flash Memory Summit 2010

Santa Clara, CA 13

Performance of LDPC on MLC

Flash Memories (3 Bits / Cell)

Flash Memory Summit 2010

Santa Clara, CA 14

Performance of LDPC on MLC

Flash Memories (4 Bits / Cell)

Flash Memory Summit 2010

Santa Clara, CA 15

Performance Comparison on MLC

Flash Memories

Coding Gain at of BER

2 Bits / Cell 3 Bits / Cell 4 Bits / Cell

Flash Memory Summit 2010

Santa Clara, CA 16

2 Bits / Cell 3 Bits / Cell 4 Bits / Cell

LDPC vs RS 1.55 dB 1.67 dB 1.85 dB

LDPC vs BCH 1.80 dB 2.00 dB 2.20 dB

RS vs BCH 0.25 dB 0.33 dB 0.35 dB

Cadence/Denali NAND Controller

w PHY Support

ONFI 2/Toggle Soft PHY

Command

Request

Map 00Buff Access

Map 01Array Access

Map 10

AHB/AXI

Cmd/ Data Interface

Command

and data

Interrupt DM

A

Lin

k L

ayer

Flash Memory Summit 2010

Santa Clara, CA 17

ONFI 2/Toggle Soft PHY

Command

Request

Map 10Control Access

Map 11Direct Access

Internal Registers

Interrupt

Sequencer/StatusModule

Async Buffer

AHB/AXIPort RegisterInterface

Data

Register

Information

LDPC

AHB/AXI

Initiator Interface

Lin

k L

ayer

Buffer Memory

Conclusions

� Well-designed LDPC codes have good error performance and low error floor for MLC flash memories.

� QC-LDPC codes have advantages on implementation complexity for encoder and implementation complexity for encoder and decoder.

� Gray mapping leads to extra coding gain.

� Cadence/Denali NAND Flash IP Solution provides the most advanced ECC technologies for memory systems.

Flash Memory Summit 2010

Santa Clara, CA 18

References

• R. G. Gallager, “Low density parity check codes,” IRE Trans. Information Theory, vol. IT-8, pp. 21-28. Jan. 1962.

• Shu Lin, Daniel J. Costello, Error Control Coding, Prentice Hall, 2nd edition, June, 2004.

• William E. Ryan, Shu Lin, Channel Codes: Classical and • William E. Ryan, Shu Lin, Channel Codes: Classical and Modern, Cambridge University Press, October, 2009.

• G. Atwood, A. Fazio, D. Mills, B. Reaves “Intel StrataFlashmemory technology overview,” Intel technology Journal, 1997.

• T. Richardson, “Error floors of LDPC codes," Proc. of 41st

Allerton Conference on Communications, Control, and Computing, Oct. 2003.

Flash Memory Summit 2010

Santa Clara, CA 19