program interference in mlc nand flash memory...

30
Program Interference in MLC NAND Flash Memory: Characterization, Modeling, and Mitigation Yu Cai 1 Onur Mutlu 1 Erich F. Haratsch 2 Ken Mai 1 1 Carnegie Mellon University 2 LSI Corporation

Upload: others

Post on 02-Jun-2020

8 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Program Interference in MLC NAND Flash Memory:

Characterization, Modeling, and Mitigation

Yu Cai1 Onur Mutlu1 Erich F. Haratsch2 Ken Mai1

1 Carnegie Mellon University 2 LSI Corporation

Page 2: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Flash Challenges: Reliability and Endurance

E. Grochowski et al., “Future technology challenges for NAND flash and HDD products”, Flash Memory Summit 2012

§  P/E cycles (required)

§  P/E cycles (provided)

A few thousand

Writing the full capacity

of the drive 10 times per day

for 5 years (STEC)

> 50k P/E cycles

2

Page 3: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

NAND Flash Memory is Increasingly Noisy

Noisy NAND Write Read

3

Page 4: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Future NAND Flash-based Storage Architecture

Memory Signal

Processing

Error Correction

Raw Bit Error Rate

Uncorrectable BER < 10-15 Noisy

High Lower

4

Model NAND Flash as a digital communication channel Design efficient reliability mechanisms based on the model

Our Goals:

Page 5: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

NAND Flash Channel Model

Noisy NAND Write

(Tx Information) Read

(Rx Information)

Simplified NAND Flash channel model based on dominant errors

§  Erase operation §  Program page operation

§  Neighbor page program

§  Retention

Cell-to-Cell Interference

Time Variant Retention

Additive White Gaussian Noise

Write Read

Cai et al., “Threshold voltage distribution in MLC NAND Flash Memory: Characterization, Analysis, and Modeling”, DATE 2013

Cai et al., “Flash Correct-and-Refresh: Retention-aware error management for increased flash memory lifetime”, ICCD 2012 ?

5

Page 6: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Outline

n  Background on Program Interference n  Characterization of Program Interference n  Modeling and Predicting Program Interference n  Mitigation of Program Interference

q  Read Reference Voltage Prediction

n  Conclusions

6

Page 7: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

How Current Flash Cells are Programmed n  Programming 2-bit MLC NAND flash memory in two steps

7

Vth

ER (11)

LSB Program

Vth

ER (11)

Temp (0x)

MSB Program

Vth

ER (11)

P1 (10)

P2 (00)

P3 (01)

1

1 1

0

0 0

Page 8: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Basics of Program Interference

n  Traditional model of victim cell threshold voltage changes when neighbor cells are programmed

Victim Cell

WL<0>

WL<1>

WL<2>

(n,j)

(n+1,j-1) (n+1,j) (n+1,j+1)

LSB:0

LSB:1

MSB:2

LSB:3

MSB:4

MSB:6

(n-1,j-1) (n-1,j) (n-1,j+1)

∆Vx ∆Vx

∆Vy ∆Vxy ∆Vxy

∆Vxy ∆Vxy ∆Vy

totalxyxyyyxxvictim CVCVCVCV /)22( Δ+Δ+Δ=Δ

8

Page 9: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Previous Work Summary

n  No previous work experimentally characterized and modeled threshold voltage distributions under program interference

n  Previous modeling work q  Assumes linear correlation between the program interference

induced threshold voltage change of the victim cell and the threshold voltage changes of the aggressor cells

q  Coupling capacitance and total capacitance of each flash cell are the key coefficients of the model, which are process and design dependent random variables

q  Their exact capacitance values are difficult to determine q  Previously proposed model cannot be realistically applied in

flash controller

9

Page 10: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Outline

n  Background on Program Interference n  Characterization of Program Interference n  Modeling and Predicting Program Interference n  Mitigation of Program Interference

q  Read Reference Voltage Prediction

n  Conclusions

10

Page 11: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Characterization Hardware Platform

11

Cai et al., “FPGA-Based Solid-State Drive Prototyping Platform”, FCCM 2011

Page 12: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Characterization Studies

n  Bitline to bitline program interference n  Wordline to wordline program interference

q  Program in page order q  Program out of page order

12

Page 13: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Bitline to Bitline Program Interference

n  Vth distributions of victim cells under 16 ( 4 x 4) different neighbor values {L, R} almost overlap

n  Bitline to bitline program interferences are small

P1 State P2 State P3 State

Wordline( N )

Wordline( N+1 )

Wordline( N-1 )

Victim Cell

XL R

L= { P0, P1, P2, P3 }

R= { P0, P1, P2, P3 }

13

Page 14: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

WL to WL Interference with In-Page-Order Programming

Victim Word-line

Wordline( N+1 )

Wordline( N )

Wordline( N-1 )

14

n  Program interference increases the threshold voltage of victim cells and causes threshold voltage distributions shift to the right and become wider

n  Program interference depends on the locations of aggressor cells in a block q  Direct neighbor wordline program interference is the dominant source of

interference q  Neighbor bitline and far-neighbor wordline interference are orders of magnitude

lower

Page 15: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

WL to WL Interference with Out-of-Page-Order Programming

Victim Word-line

Wordline( N+1 )

Wordline( N )

Wordline( N-1 )

15

n  The amount of program interference depends on the programming order of pages in a block q  In-page-order programming likely causes the least amount of interference q  Out-of-page-order programming causes much more interference

Page 16: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Comparison under Various Program Interference

n  Signal-to-noise ratio comparison

Out-of-page-order Programming

16

Page 17: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Data Value Dependence of Program Interference

0

20

40

60

80

aggressor  <11> aggressor<10> aggressor<00> aggressor  <01>

Victim

 Vth  In

crease

MSB  Page  programmed  in  aggressor  cellVictim  <10> Victim  <00> Victim  <01>

17

n  The amount of program interference depends on the values of both the aggressor cells and the victim cells

Page 18: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Outline

n  Background on Program Interference n  Characterization of Program Interference n  Modeling and Predicting Program Interference n  Mitigation of Program Interference

q  Read Reference Voltage Prediction

n  Conclusions

18

Page 19: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

n  Feature extraction for Vth changes based on characterization q  Threshold voltage changes on aggressor cell q  Original state of victim cell

n  Enhanced linear regression model

n  Maximum likelihood estimation of the model coefficients

Linear Regression Model

∑ ∑+

−=

=

+=

+Δ=ΔKj

Kjy

Mn

nx

beforevictimneighborvictim jnVyxVyxjnV

10 ),(),(),(),( αα

εα += XY (vector expression)

)(minarg1

2

2αλα

α+−× YX

19

Page 20: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Model Coefficient Analysis

n  Direct above cell dominance n  Direct diagonal neighbor second n  Far neighbor interference exists n  Victim cell’s Vth has negative affect

20

Page 21: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Model Accuracy Evaluation

21

Ideal if no interference

(x,y)=(measured before interference, measured after interference)

Ideal if prediction is 100% accurate

(x,y)=(measured before interference, predicted with model)

With Systematic Deviation

Without Systematic Deviation

Page 22: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Distribution of Program Interference Noise

22

n  Program interference noise follows multi-modal Gaussian-mixture distribution

Page 23: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Program Interference vs P/E Cycles

23

n  Program interference noise distribution does not change significantly with P/E cycles

Page 24: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Outline

n  Background on Program Interference n  Characterization of Program Interference n  Modeling and Predicting Program Interference n  Mitigation of Program Interference

q  Read Reference Voltage Prediction

n  Conclusions

24

Page 25: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Optimum Read Reference for Flash Memory

n  Read reference voltage can affect the raw bit error rate

n  There exists an optimal read reference voltage q  Predictable if the statistics (i.e. mean, variance) of threshold

voltage distributions are characterized and modeled

Vth

f(x) g(x)

v0 v1 vref

∫∫ ∞−

+∞+=

ref

ref

v

vdxxgdxxfBER )()(1 ∫∫ ∞−

+∞+=

ref

ref

v

vdxxgdxxfBER

'

')()(2

Vth

f(x) g(x)

v’ref v0 v1

State-A State-A State-B State-B

25

Page 26: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Optimum Read Reference Voltage Prediction

n  Learning function (periodically, every ~1k P/E cycles) q  Program known data pattern and test Vth q  Program aggressor neighbor cells and test victim Vth after interference

n  Optimum read reference voltage prediction q  Default read reference voltage + Program interference noise mean

Page 27: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Evaluation Results

n  Read reference voltage prediction can reduce raw BER and increase the P/E cycle lifetime

32k-bit BCH Code (acceptable BER = 2x10-3)

30% lifetime improvement

Raw

bit

erro

r rat

e

No read reference voltage prediction With read reference voltage prediction

Page 28: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Outline

n  Background of Program Interference n  Program Interference Characterization n  Modeling and Predicting Program Interference n  Read Reference Voltage Prediction to Mitigate Program

Interference n  Conclusions

28

Page 29: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Key Findings and Contributions

n  Methodology: Extensive experimentation with real 2Y-nm MLC NAND Flash chips

n  Amount of program interference is dependent on q  Location of cells (programmed and victim) q  Data values of cells (programmed and victim) q  Programming order of pages

n  Our new model can predict the amount of program interference with 96.8% prediction accuracy

n  Our new read reference voltage prediction technique can improve flash lifetime by 30%

29

Page 30: Program Interference in MLC NAND Flash Memory ...users.ece.cmu.edu/~omutlu/pub/cai_iccd13_talk.pdfincreased flash memory lifetime”, ICCD 2012 5 . Outline " Background on Program

Program Interference in MLC NAND Flash Memory:

Characterization, Modeling, and Mitigation

Yu Cai1 Onur Mutlu1 Erich F. Haratsch2 Ken Mai1

1 Carnegie Mellon University 2 LSI Corporation