Professional Documents
Culture Documents
Yongjune Kim , Robert Mateescu, Seung-Hwan Song, Zvonimir Bandic , and B. V. K. Vijaya Kumar
Data
Storage Systems Center (DSSC), Carnegie Mellon University, Pittsburgh, PA, USA
Email: yongjunekim@cmu.edu, kumar@ece.cmu.edu
HGST Research, San Jose, CA, USA
Email: {robert.mateescu, seung-hwan.song, zvonimir.bandic}@hgst.com
I. I NTRODUCTION
Aggressive scaling down of the device dimension has driven
the continuous growth of flash memory density. However,
the scaling down leads to many challenges such as photolithography limitation, increased inter-cell interference (ICI),
and disturbance [1], [2]. In order to overcome these scaling
challenges, a paradigm shift from the 2-dimensional (2D)
planar structure to the 3D vertical structure is underway. The
change is stacking up cells in the vertical direction instead of
shrinking cells within a 2D plane [2][5].
The recent 3D vertical NAND flash memory with 24 wordline (WL) shows better device characteristics compared to 2D
1x nm planar flash memory [5]. However, 3D vertical flash
memory has a problem of fast detrapping, which is a quick
charge loss phenomenon resulting in larger threshold voltage
variations in programmed cells [5], [6].
The fast detrapping usually occurs in charge trap cells rather
than floating gate cells [5], [6]. Since 3D vertical flash memory
uses charge trap cells such as damascened metal-gate siliconoxide-nitride-oxide-silicon (SONOS) cells for easier 3D integration [3][5], fast detrapping is an important problem of 3D
vertical flash memory. On the other hand, the fast detrapping
does not happen in 2D planar flash memory consisting of
floating gate cells.
In order to cope with fast detrapping, several approaches
have been proposed. These approaches include cell structure
engineering at device level and reprogramming at circuit
level [5], [6]. In this paper, we try to combat the fast detrapping
at coding level. The basic idea is to compensate the charge loss
due to fast detrapping through intentional ICI. Although the
ICI is a well-known adverse effect [7], it can be utilized to
alleviate the effect of the fast detrapping through the proposed
BL (j)
BL (j+1)
Normalized
cell count
BL (j-1)
S0
S1
WL (i+1) plane
Threshold voltage
WL (i) plane
WL (i-1) plane
Normalized
cell count
(a) Simplified birds eye view of vertical channel type 3D flash memory
cell array
S0
ONO (Oxide-Nitride-Oxide)
S1
S2
S3
Poly-Si channel
Oxide
Threshold voltage
Metal gate
AND
C HANNEL M ODEL
A. Basic Operations
In order to store B-bit per cell, each cells threshold voltage
is divided into 2B states, which is similar to pulse amplitude
modulation (PAM). Fig. 1 (a) shows the threshold voltage distribution of 1-bit per cell flash memory, which is traditionally
called single-level cell (SLC). Initially, all memory cells are
erased, so their threshold voltage is in the lowest state S0
(erase state). In order to store data, some of the cells in S0
should be written (programmed) into S1 . For multi-level cell
(MLC) flash memories (i.e., B 2), some of cells in S0 will
be programmed into S1 , . . . , S2B 1 (program states) as shown
in Fig. 1 (b).
The most widely used write operation scheme is the incremental step pulse programming (ISPP) scheme, which was
proposed to maintain a tight threshold voltage distribution for
high reliability [16]. The ISPP is based on repeated program
and verify cycles with the staircase program voltage Vpp . Each
program state associates with a verify level that is used in the
verify operation. During each program and verify cycle, the
cells threshold voltage is boosted by up to the incremental
step voltage Vpp and then compared with the corresponding
verify level. If the threshold voltage of the memory cell
is still lower than the verify level, the program and verify
iteration continues. Otherwise, further programming of this
cell is disabled [16], [17].
The positions of program states are determined by verify
levels and the tightness of each program state depends on
the incremental step voltage Vpp . By reducing Vpp , the
threshold voltage distribution can be made tighter, however
the write time increases [16], [18].
In read operation, the threshold voltages of cells in the
same WL are compared to a given read level. After a read
Verify level
S0
Read level
S1
"1"
"0"
Threshold voltage
Threshold voltage
Read level
Threshold voltage
Identified cells that suffer
from fast detrapping
detrap and tunnel out after the programming pulse is terminated [6]. Thus, the charge loss due to fast detrapping
quickly decreases the threshold voltage of corresponding cells
and degrades the threshold voltage distribution, as shown in
Fig. 3 (a) and (b). The fast detrapping occurs immediately
after write operation [6].
The device level approaches such as cell structure and
material could not completely solve this problem [6]. In [5],
a counter-pulse program using self-boosting was proposed
at circuit level, which accelerates fast detrapping before a
verify operation of ISPP such that fast detrapped cells can
be reprogrammed by the subsequent programming pulses.
Nevertheless, fast detrapping can happen again in the later
programming pulses, which requires a different approach at
higher levels such as coding level. Since the approaches at
different levels can coexist, the proposed scheme at coding
level can cooperate with other approaches at lower levels in
combating fast detrapping.
D. Channel Model
A channel model of conventional 2D planar flash memories
can be given by
Y = X + S2D + Z
= X + Zwrite + S2D + Zread
= V + S2D + Zread
(3)
(4)
(5)
where X and Y are the channel input and output. Also, S2D
represents the ICI from adjacent cells in the conventional 2D
planar flash memory. The additive random noise Z is a sum
of Zwrite and Zread where Zwrite is the write noise due to the
initial threshold voltage distribution after erase operation and
the incremental step voltage Vpp of ISPP. Zread is the read
noise due to other noise sources.
Since the write noise Zwrite precedes the ICI S2D , we
consider a random variable V = X + Zwrite . The shifts of V in
adjacent cells determine the ICI S2D . (3) and (4) come from
the flash memory channel model in [14], [20]. The channel
model of (3) was recently validated by experimental results
from the 2x nm 2D planar flash memory in [20].
The 3D vertical flash memory channel model can be extended from the 2D planar flash memory channel model as
follows.
Y = V + S3D + Zread
= V + S3D + Zfast + Zrandom
C(i+1, j-1)
WL (i)
C(i, j-1)
C(i, j)
C(i, j+1)
Fig. 4. Intentional ICI for compensating fast detrapping. The cell C(i+1,j)
will be regarded as stuck-at 0 (i.e., S1 ) defect for the intentional ICI. (The
index k was omitted for simplicity.)
S
P(S)
P(Y | X, S)
0
0
where Zread = Zfast +Zrandom . Zfast denotes the noise due to fast
detrapping. All the other read noise sources are represented by
Zrandom . In addition, the ICI of the 3D vertical flash memory
is given by S3D . Note that S3D of (i, j, k) cell is the same as
ICI V(i,j,k) of (1) and (2).
0
1
0
1
1
First, the encoder should obtain the side information corresponding to fast detrapping. Fig. 3 (a) shows the threshold voltage distribution before fast detrapping happens. After writing
the i-th WL, some of cells in the i-th WL immediately suffer
from fast detrapping and their threshold voltages decrease as
shown in Fig. 3 (b).
The cells suffering from the fast detrapping can be identified
by two read operations at the read level and the identify
level , as shown in Fig. 3 (c). If a cells threshold voltage is
between and , we can claim that this cell suffers from fast
detrapping and the encoder obtains the location of this cell,
which is the side information about fast detrapping.
If the encoder holds the original data of the i-th WL, we can
obtain this side information of fast detrapping by just one read
operation since we do not need to apply the read operation
at the read level . By combining the original data and the
binary data obtained from the read operation at the identify
level , the encoder can identify the cells suffering from fast
detrapping.
Note that the identify level do not need to be the same
as the verify level . We can change the identify level by
(7)
C(i+1, j+1)
(6)
C(i+1, j)
1
1p
1 0 1
p
1
Fig. 5.
1p
TABLE I
S IMULATION PARAMETERS
Parameters
Values
B = 1 (SLC)
N 4, 12
Additive encoding
S 1 = 1
Vpp = 1
0.1
2
N 0.2, Z
fast
2
N 0, Z
random
=0
[n = 1023, k = 923, l, r]
PBCH codes
TABLE II
A LL P OSSIBLE R EDUNDANCY A LLOCATION C ANDIDATES OF
[n = 1023, k = 923, l, r] PBCH C ODES
Code
Notes
0
1
2
3
4
5
6
7
8
9
10
0
10
20
30
40
50
60
70
80
90
100
100
90
80
70
60
50
40
30
20
10
0
10
10
10
P (decoding failure)
10
10
10
fast
= 0.42
fast
= 0.44
fast
10
10
= 0.40
10
= 0.46
= 0.48
= 0.50
fast
10
fast
fast
10
10
20
Threshold voltage
30
40
50
60
70
80
90
100
Fig. 6.
Comparison of threshold voltage distributions (Zfast = 0.4,
Zrandom = 0.2, = 0.4).
10
10
10
P (decoding failure)
10
P (decoding failure)
10
10
10
10
10
10
10
5
10
= 0.0
= 0.1
= 0.2
= 0.3
= 0.4
10
10
10
20
30
40
50
60
70
80
90
10
0.4
0.41
0.42
0.43
0.44
0.45
0.46
0.47
0.48
0.49
0.5
fast
100
10
10
P (decoding failure)
10
10
= 0.20
random
10
= 0.22
random
= 0.24
random
10
= 0.26
= 0.28
= 0.30
random
10
random
random
10
10
20
30
40
50
60
70
80
90
100
10
P (decoding failure)
10
10
10
10
10
0.2
0.21
0.22
0.23
0.24
0.25
0.26
0.27
0.28
0.29
0.3
random
[5] K.-T. Park, J.-M. Han, D. Kim, S. Nam, K. Choi, M.-S. Kim, P. Kwak,
D. Lee, Y.-H. Choi, K.-M. Kang, M.-H. Choi, D.-H. Kwak, H.-W. Park,
S.-W. Shim, H.-J. Yoon, D. Kim, S.-W. Park, K. Lee, K. Ko, D.-K. Shim,
Y.-L. Ahn, J. Park, J. Ryu, D. Kim, K. Yun, J. Kwon, S. Shin, D. Youn,
W.-T. Kim, T. Kim, S.-J. Kim, S. Seo, H.-G. Kim, D.-S. Byeon, H.-J.
Yang, M. Kim, M.-S. Kim, J. Yeon, J. Jang, H.-S. Kim, W. Lee, D. Song,
S. Lee, K.-H. Kyung, and J.-H. Choi, Three-dimensional 128Gb MLC
vertical NAND Flash-memory with 24-WL stacked layers and 50MB/s
high-speed programming, in Proc. IEEE Int. Solid-State Circuits Conf.
Dig. Tech. Pap. (ISSCC), Feb. 2014, pp. 334335.
[6] C.-P. Chen, H.-T. Lue, C.-C. Hsieh, K.-P. Chang, and C.-Y. Lu, Study
of fast initial charge loss and its impact on the programmed states
Vt distribution of charge-trapping NAND Flash, in Proc. IEEE Int.
Electron Devices Meet. (IEDM), Dec. 2010, pp. 5.6.15.6.4.
[7] J.-D. Lee, S.-H. Hur, and J.-D. Choi, Effects of floating-gate interference on NAND flash memory cell operation, IEEE Electron Device
Lett., vol. 23, no. 5, pp. 264266, May 2002.
[8] A. V. Kuznetsov and B. S. Tsybakov, Coding in a memory with
defective cells, Probl. Peredachi Inf., vol. 10, no. 2, pp. 5260, Apr.
Jun. 1974.
[9] A. El Gamal and Y.-H. Kim, Network Information Theory. Cambridge,
U.K.: Cambridge University Press, 2011.
[10] B. S. Tsybakov, Additive group codes for defect correction, Probl.
Peredachi Inf., vol. 11, no. 1, pp. 111113, Jan.Mar. 1975.
[11] C. Heegard, Partitioned linear block codes for computer memory with
stuck-at defects, IEEE Trans. Inf. Theory, vol. 29, no. 6, pp. 831842,
Nov. 1983.
[12] A. Jagmohan, L. A. Lastras-Montano, M. M. Franceschini, M. Sharma,
and R. Cheek, Coding for multilevel heterogeneous memories, in Proc.
IEEE Int. Conf. Commun. (ICC), Cape Town, South Africa, May 2010,
pp. 16.
[13] B. M. Kurkoski, Rewriting flash memories and dirty-paper coding, in
Proc. IEEE Int. Conf. Commun. (ICC), Budapest, Hungary, Jun. 2013,
pp. 43534357.
[14] Y. Kim and B. V. K. Vijaya Kumar, Writing on dirty flash memory,
in Proc. 52nd Annu. Allerton Conf. Commun., Control, Comput., Monticello, IL, USA, Oct. 2014, pp. 513520.
[15] J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, 3rd ed. San Francisco, CA, USA: Morgan Kaufmann
Publishers Inc., 2002.
[16] K.-D. Suh, B.-H. Suh, Y.-H. Lim, J.-K. Kim, Y.-J. Choi, Y.-N. Koh,
S.-S. Lee, S.-C. Kwon, B.-S. Choi, J.-S. Yum, J.-H. Choi, J.-R. Kim,
and H.-K. Lim, A 3.3 V 32 Mb NAND flash memory with incremental
step pulse programming scheme, IEEE J. Solid-State Circuits, vol. 30,
no. 11, pp. 11491156, Nov. 1995.
[17] G. Dong, N. Xie, and T. Zhang, On the use of soft-decision errorcorrection codes in NAND flash memory, IEEE Trans. Circuits Syst. I,
vol. 58, no. 2, pp. 429439, Feb. 2011.
[18] Y. Kim, J. Kim, J. J. Kong, B. V. K. Vijaya Kumar, and X. Li,
Verify level control criteria for multi-level cell flash memories and their
applications, EURASIP Journal on Advances in Signal Processing, vol.
2012, no. 1, pp. 113, 2012.
[19] Y. Kim, B. V. K. Vijaya Kumar, K. L. Cho, H. Son, J. Kim, J. J. Kong,
and J. Lee, Modulation coding for flash memories, in Proc. IEEE Int.
Conf. Comput., Netw. Commun. (ICNC), San Diego, CA, Jan. 2013, pp.
961967.
[20] J. Moon, J. No, S. Lee, S. Kim, S. Choi, and Y. Song, Statistical
characterization of noise and interference in NAND flash memory, IEEE
Trans. Circuits Syst. I, vol. 60, no. 8, pp. 21532164, Aug. 2013.
[21] E. Hwang, B. Narayanaswamy, R. Negi, and B. V. K. Vijaya Kumar,
Iterative cross-entropy encoding for memory systems with stuck-at
errors, in Proc. IEEE Global Commun. Conf. (GLOBECOM), Houston,
TX, USA, Dec. 2011, pp. 15.
[22] Y. Kim and B. V. K. Vijaya Kumar, Coding for memory with stuck-at
defects, in Proc. IEEE Int. Conf. Commun. (ICC), Budapest, Hungary,
Jun. 2013, pp. 43474352.
[23] , On the duality of erasures and defects, arXiv preprint
arXiv:1403.1897, vol. abs/1403.1, 2014.
[24] , Redundancy allocation of partitioned linear block codes, in Proc.
IEEE Int. Symp. Inf. Theory (ISIT), Istanbul, Turkey, Jul. 2013, pp. 2374
2378.