Does Soft-Decision ECC Improve Endurance?

Flash Memory Summit 2015
Does soft-decision ECC improve
endurance?
Thomas Parnell
IBM Research - Zurich
© 2015 IBM Corporation
FMS 2015 -- Does Soft-Decision ECC Improve Endurance?
Outline
• Motivation
– Why do we need more endurance?
• Capacity
– What is channel capacity?
– How can it be used to compare different error-correction techniques?
• MLC Flash Channel
– How do we evaluate capacity for MLC Flash devices?
• Experimental Results + Analysis
– How much endurance gain can soft-decision ECC offer for real MLC devices?
– Why does the MLC programming algorithm affect capacity?
• Conclusion
2
© 2015 IBM Corporation
FMS 2015 -- Does Soft-Decision ECC Improve Endurance?
Why do we need more endurance?
All-flash storage solutions are gaining momentum
in the enterprise sector
LDPC codes can make use of “soft”
information from Flash to enhance reliability
HOW?
High performance and rapidly decreasing $/GB
Papers on “LDPC” + “Flash”
listed on IEEE Xplore
WHAT IS DRIVING DOWN COST?
In part, the move from SLC  eMLC  cMLC
ISN’T cMLC VERY UNRELIABLE?
2D cMLC has ~3k P/E cycling endurance
BUT ENTERPRISE NEEDS >20k?
Advanced ECC is required to boost endurance
3
Source: http://ieeexplore.ieee.org/
© 2015 IBM Corporation
FMS 2015 -- Does Soft-Decision ECC Improve Endurance?
Channel Capacity (Shannon 1948)
Channel Capacity:
Amount of information (in bits) that channel
output (Y) contains about channel input (X)
(Maximized over all input distributions)
C  max I ( X ;Y )
R>C
Error-free operation
is NOT possible
R<C
Error-free operation
is possible
P( X )
BINARY SYMMETRIC CHANNEL
0
Channel capacity can be used in two ways:
1
a) For a given level of channel noise, what ECC
rate is required in order to operate reliably?
b) For a given ECC rate, how much channel
noise can be tolerated?
f
X
Y
f
1
4
1-f
0
1-f
© 2015 IBM Corporation
FMS 2015 -- Does Soft-Decision ECC Improve Endurance?
AWGN Channel: Hard vs. Soft Information
AWGN CHANNEL
Binary
Input
X
Binary
Output
1
0
1
Y
0
X̂
RBER gain in capacity
highly correlated with
RBER gain for real ECC
Soft output
(Fine quantization)
SOFT CAPACITY
HARD CAPACITY
CSOFT  max I Y ; X 
CHARD  max I Xˆ ; X
P( X )
5
P( X )


ECC data sourced from: Tzimpragos et al. – ‘A Survey on
FEC Codes for 100G and Beyond Optical Networks’, IEEE
Comm. Surveys & Tutorials, 2014
© 2015 IBM Corporation
FMS 2015 -- Does Soft-Decision ECC Improve Endurance?
MLC Flash Channel
Vi , j Soft Output
(21 shifted reads from Flash)
MLC FLASH CHANNEL
Binary
Input
(2 bits)
X
X
(U )
i, j
x2
+
( L)
i, j
BL[j-1]
BL[j]
X i, j
11
X i 1, j 1
X i 1, j
X i 1, j 1
WL[i]
X i , j 1
X i, j
X i , j 1
( L)
i, j
Y
11
WL[i-1]
6
X i 1, j 1
X i 1, j
X i 1, j 1
00
1
Y
0
01
00
10
( L)
i, j
Yi ,(Uj )
READ (Lower)
( L)
i, j
10
Read Lower Page
BL[j+1]
WL[i+1]
01
READ (Upper)
Y
Read Upper Page
(U )
i, j
Y
1 Y
(U )
i, j
11
Vi , j
01
 0 Yi ,(Uj )  1
00
10
Vi , j
© 2015 IBM Corporation
Binary
Output
(2 bits)
FMS 2015 -- Does Soft-Decision ECC Improve Endurance?
MLC Flash Channel is NOT Memoryless
Threshold voltage distribution conditional
on state of aggressor cells
11
11
X i, j
10
11
10
11
7
10
10
MLC flash channel is a FSMC:
Finite
State
Markov
Channel
The threshold voltage
of a cell depends on
the data written to the
surrounding cells
Pr Vi ,0 ,Vi ,1
X i, j
n 1
,Vi ,n 1 | X    Pr Vi , j | X i , j 1 , X i , j , X i , j 1 , X i 1, j , X i 1, j 
j 0
Conditional threshold voltage
distributions are extracted from
real MLC Flash devices
© 2015 IBM Corporation
FMS 2015 -- Does Soft-Decision ECC Improve Endurance?
Calculation of Symmetric Capacity
Capacity* is calculated recursively
using a very long sample from the
channel (n=107) assuming i.u.d
input distribution [ICC2015]
SOFT CAPACITY (UPPER PAGE)
(U )
SOFT
C
1
(U )
(U )
(U )
 lim I Vi ,0 ,Vi ,1,...,Vi ,n 1; X i ,0 , X i ,1 ,..., X i ,n 1 
n n
Vi , j
Soft
Output
MLC FLASH CHANNEL
Binary
Input
(2 bits)
X
X
(U )
i, j
( L)
i, j
x2
READ (Upper)
+
11
X i, j
01
00
(U )
i, j
Y
10
READ (Lower)
( L)
i, j
Y
HARD CAPACITY (LOWER PAGE)
C
8
( L)
HARD
1
( L)
( L)
( L)
( L)
( L)
( L)
 lim I Yi ,0 , Yi ,1 ,..., Yi ,n 1; X i ,0 , X i ,1 ,..., X i ,n 1 
n n
© 2015 IBM Corporation
Binary
Output
(2 bits)
FMS 2015 -- Does Soft-Decision ECC Improve Endurance?
Experimental Results
VENDOR A
Vendor A/B – 1y-nm MLC devices with approx. same cell area
VENDOR B
Gain in capacity due to soft information is much larger for upper pages
9
© 2015 IBM Corporation
FMS 2015 -- Does Soft-Decision ECC Improve Endurance?
How much endurance can we gain using soft information?
Endurance (Balanced ECC)
Endurance (Unbalanced ECC)
Same ECC rate in upper/lower page:
Different ECC rate in upper/lower page:
PEC( R)  min(PECL ( R), PECU ( R))
PEC( R)  max min(PECL ( RL ), PECU ( RU ))
VENDOR A (R=0.99)
RL  RU 2 R
VENDOR B (R=0.99)
21%
14%
10
11%
21%
© 2015 IBM Corporation
FMS 2015 -- Does Soft-Decision ECC Improve Endurance?
Why do we only see a small increase in capacity for lower pages?
1y-nm MLC DEVICE
INTERMEDIATE READ
(a) Program
LP=1
E
11
VTH
x0
Read LP=0
Read LP=1
(b) Program
UP=0
01
00
10
VTH
Degradation of the erase state can lead to errorpropagation during two-stage MLC programming
11
LP=1
LP=0
Programming errors are present for
the lower page that are difficult to
correct even with soft information
© 2015 IBM Corporation
FMS 2015 -- Does Soft-Decision ECC Improve Endurance?
What if we can prevent programming errors?
1x-nm MLC MODEL [ICC2015]
Removing programming errors dramatically
improves the lower page capacity
~40% endurance gain due
to soft information
BALANCED ECC (R=0.99)
37%
5%
12
© 2015 IBM Corporation
FMS 2015 -- Does Soft-Decision ECC Improve Endurance?
Conclusion
Does soft-decision ECC improve endurance?
Sub-20nm planar MLC device?
YES
NO
SLC, TLC, and 3D devices have not been studied
Does the device employ two-pass programming?
NO
YES
~40% Endurance Gain
Same ECC in upper/lower pages?
NO
~20% Endurance Gain
13
YES
~10-15% Endurance Gain
© 2015 IBM Corporation
FMS 2015 -- Does Soft-Decision ECC Improve Endurance?
Acknowledgements
IBM - Zurich Research Laboratory
IBM FlashSystem™ 900/V9000
• IBM Research – Zurich
• IBM Flash Systems Development (Houston)
• IBM Systems (San Jose, Poughkeepsie, Raleigh)
14
© 2015 IBM Corporation