논문번호 12-37A-08-12 한국통신학회논문지 '12-08 Vol.37A No.08 http://dx.doi.org/10.7840/kics.2012.37a.8.706 멀티레벨셀낸드플래시메모리에서커플링제거기의윈도우크기에따른성능비교 박동혁, 이재진 * Performance of the Coupling Canceller with the Various Window Size on the Multi-Level Cell NAND Flash Memory Channel Donghyuk Park, Jaejin Lee * 요 약 멀티레벨셀낸드플래시메모리는한셀에 2비트이상의데이터를저장할수있는기술이다. 현재 2비트를한셀에저장하는기술만상용화되었다. 이는 3비트이상을저장하게되면, 각레벨의간격이좁아져서데이터의오류가많이발생하는데이를극복하기가어렵다. 오류의원인으로여러가지가있지만, 그중에서도커플링잡음이가장문제가된다. 따라서본논문에서는 4비트를한셀에저장하는채널에커플링잡음을가정하여성능의개선을실험하였으며, 메모리공간을줄이기위하여커플링제거기에윈도우크기의데이터를활용하여성능을비교하였다. 플래시메모리에서데이터를읽는가장기본방법인문턱전압비교방법을구현하여제안한방법과성능을비교하였다. Key Words : Coupling cancellation, coupling canceller, Multi-level cell, NAND flash memory. ABSTRACT Multi-level cell NAND flash is a flash memory technology using mulitple levels per cell to allow more bits to be stored. Currently, most multi-level cell NAND stores 2 bits of information per cell. This reduces the amount of margin separating the states and results in the possibility of more errors. The most error cause is coupling noise. Thus, in this paper, we studied coupling noise cancellation scheme for reduction memory on the 16-level cell NAND flash memory channel. Also, we compared the performance threshold detection and proposed scheme. Ⅰ. 서론 최근낸드플래시메모리는 USB 메모리카드, SD 메모리, SSD 등으로제품화되어대부분의전자제품에들어가게된다. 멀티레벨셀기술은데이터를저장하는한셀에멀티레벨을나누어데이터를저장하여 2비트이상의데이터를한셀에저장한다 [1-3]. 현재 2비트를저장하는 4-레벨셀낸드플래시 메모리는상용화가되었다 [4]. 하지만 8-레벨셀이상의낸드플래시메모리는오류가너무많이발생하여상용화가어려운시점이다. 멀티레벨셀낸드플래시메모리에서가장핵심적인오류의요인은커플링잡음 (coupling noise) 이다 [5]. 따라서커플링잡음을고려한채널모델을이용하여제안하는기법의성능향상을평가하였다 [6]. 이전에제안되었던커플링제거기는프로그램 이논문은 2011 년도정부 ( 교육과학기술부 ) 의재원으로한국연구재단의지원을받아수행된연구임 (No. 2011-0018016). 주저자겸교신저자 : 숭실대학교정보통신전자공학부정보저장및통신연구실, zlee@ssu.ac.kr, 정회원 * 숭실대학교정보통신전자공학부정보저장및통신연구실, zlee@ssu.ac.kr, 종신회원논문번호 :KICS2011-12-633, 접수일자 :2011 년 12 월 23 일, 최종논문접수일자 :2012 년 7 월 17 일 706
논문 / 멀티레벨셀낸드플래시메모리에서커플링제거기의윈도우크기에따른성능비교 순서의가정에의해찾아낸커플링잡음이없는셀데이터를읽어, 그데이터부터커플링잡음을제거하면서최종원하는셀의데이터를읽게된다. 하지만이런방식은최악의경우모든블록내의셀데이터를다읽어야했다 [7,8]. 따라서커플링제거기의메모리를줄이기위해윈도우크기의데이터만을추가로읽으며, 커플링제거의시작데이터는문턱전압검출 (threshold detection) 방식으로읽는다. Ⅱ. 커플링제거기알고리즘커플링잡음은주변셀이프로그램에의해전압이상승하는현상에의해셀에저장된전압이상승하는현상이다. 프로그램순서에의해커플링잡음영향력의방향이달라지며, 프로그램된데이터에의해커플링잡음의크기가결정된다 [9]. 즉, 마지막에프로그램된데이터는커플링잡음이존재하지않는다. 2.1. 커플링잡음의단순화낸드플래시메모리는블록단위로구성되어있으며, 이블록은비트라인과워드라인으로구분하며, 워드라인은 32개, 비트라인은 4096개로구성된다. 비트라인은 Even 라인과 Odd 라인으로구성되며, Even 라인이프로그램된후 Odd 라인이프로그램된다. 커플링잡음영향력의방향은프로그램순서에의해결정되므로, 다음으로프로그램순서를가정하였다. 프로그램의순서는 0번째워드라인의셀부터 31번째워드라인의셀까지순차적으로프로그램하며, 16-레벨셀낸드플래시메모리채널을가정하였다. 0번째워드라인의 Even 라인이먼저프로그램되며, 다음으로 0번째워드라인의 Odd 라인이프로그램된다. 그다음으로 1번째워드라인의 Even 라인이프로그램된다. 이런순서로 31번째워드라인의 Odd 라인까지프로그램되면, 각셀에 1비트의데이터가저장이된것이다. 이와같은순서로각셀에 2번째, 3번째, 4번째까지데이터를프로그램하면, 각셀에는 4비트의데이터가저장되며, 블록내모든셀데이터의저장이완료된다. 2.2. 커플링제거알고리즘커플링제거기는모든블록의데이터가완료되게되면, 프로그램순서의역순으로커플링잡음을알고리즘에의해계산한후, 잡음을제거시켜준 다. 커플링잡음은주변셀이프로그램되면서증가하는전압에의해변화하기때문에, 주변셀이프로그램되면서증가하는전압값을이용하여커플링잡음의값을구할수있다. Even 라인의셀데이터에서, 주변셀의정보를이용하여얻은커플링잡음의양은다음과같다. (1) 는 (i,j) 셀에서의주변셀정보를고려하여얻은커플링잡음이다. 주변 (i+1,j-1), (i+1,j), (i+1,j+1), (i,j-1), 그리고 (i,j+1) 셀의영향력을고려하여커플링잡음을구한다. 는각셀에서주는 커플링잡음의영향력계수이다. 는주변셀이프로그램에의해증가한전압값을나타내며, (p,q) 는 (i,j) 셀의주변셀의위치를의미한다. 그림 1은플래시메모리블록의구성도를보여준다. i는워드라인의위치를나타내는변수이며, 0~31의범위를가진다. j는비트라인의위치를나타내는변수이며, 0~8191의범위를가지며, 짝수일때가 Even 라인의셀을홀수일때가 Odd 라인의셀을나타낸다. 그림 1. 플래시메모리블록의구성도 (32 개의워드라인과 8192 개의비트라인으로구성됨, 짝수는 Even 라인, 홀수는 Odd 라인으로구성됨 Fig. 1. Block diagram of Flash Memory( 32 word line, 8192 bit line(even and Odd line) 707
한국통신학회논문지 '12-08 Vol.37A No.08 다음은 Odd 라인의셀데이터에서, 주변셀의정보를이용하여커플링잡음을구하는식이다. (2) 그림 2. 16- 레벨셀낸드플래시메모리의프로그램에의한산포의변화 Fig. 2. Distribution change of 16 level cell NAND flash memory by program. 2.3. 커플링잡음의영향력계수그림 2는 16-레벨셀낸드플래시메모리에서프로그램동작에의해서전압이증가하는현상을보여준다. 프로그램방식은 ISPP (Incremental step pulse program) 방식을이용하며 [10], 펄스를이용하여전하를조금씩주입하면서 verify level 이상이되면, 프로그램이성공이다. 전압이증가되는프로그램방식에의해주변셀은커플링잡음이생기게된다. 하지만프로그램된데이터의정보를알고있다고가정하면, 프로그램되기전의데이터가무엇인지알수있을뿐아니라, 현재전압위치로오기위해서증가된전압의값 ( 프로그램에의한전압의증가량 ) 을알아낼수있다. 즉이증가된전 압의값이수식 (1) 과 (2) 에서의 가된다, Even 라인셀의커플링잡음을구하려면 (p,q) 는 (i+1,j-1), (i+1,j), (i+1,j-1), (i,j-1), (i,j+1) 이고, Odd 라인셀의커플링잡음을구하려면 (i+1,j-1), (i+1,j), (i+1,j-1) 가된다. 또한, 모든블록의데이터의값을알고있으므로모든블록의증가된전압 ( ) 의값을알수있게된다. 따라서 의값을알고 의값들을알고있으므로, 의값을구할수있게된다. 커플링 잡음을주는셀이 Even 라인과 Odd 라인이각각다르기때문에, 값은 Even 라인과 Odd 라인을각각구해야한다. 2.4. 커플링제거기위의가정들과알고리즘을이용하여, 가장마지막에프로그램된셀, 즉 31번째워드라인의 Odd 라인의데이터를읽는다. 읽어낸데이터를이용하여프로그램되기전의전압값을알아낼수있으며, 이를이용하여얻은 31번째워드라인의모든 Odd 라인의전압변화량 을식 (1) 에대입하고 ( 는모든 Odd 라인을의미한다 ), 이미구한 값을식 (1) 에대입하여 31번째워드라인의 Even 라인의값을구할수있다. 계속해서, 30 번째워드라인의 Odd 라인의데이터를이미구해놓은 31번째워드라인의 Even 라인과 Odd 라인의데이터를이용하여식 (2) 에대입하여구한다. 또한, 이미구한, 31번째워드라인의 Even 라인과 Odd 라인의데이터와 30번째워드라인의 Odd 라인의데이터를식 (1) 에대입하여 30번째워드라인의 Even 라인의데이터를구한다. 이와같은방법으로워드라인 0번째데이터까지모두구하는것이커플링잡음을해결하는최적의알고리즘이다. 2.5. 윈도우크기에따른커플링제거기 2.4절에서설명한최적의커플링잡음제거알고리즘은블록에서가장마지막에프로그램된데이터인 31번째워드라인의 Odd 라인의셀데이터를기준으로커플링잡음을제거해가는것으로항상 31번째워드라인의 Odd 라인의셀데이터를읽어야하므로메모리의크기가항상블록크기만큼필요하다. 따라서실제시스템에서적용하기에는데이터읽기과정에서의프로세스가많아져데이터를읽는데필요한시간이많아진다. 이러한추가적인메모리를줄이며읽기시간을줄이기위하여 31번째워드라인의 Odd 라인셀데이터를기준으로커플링잡음을제거하는것이아닌임의의기준셀데이터를이용하여커플링을제거하는것을제안한다. 이임의의기준셀데이터는임의로정한크기의윈도우에서가장마지막에프로그램된셀데이터로, (,) 셀데이터를읽기위해서는 (, ) 셀데이터를기준으로커플링잡음을제거한다. 는윈도우의크기이며, 는 Odd 라인셀들을의미한다. 다음은윈도 708
논문 / 멀티레벨셀낸드플래시메모리에서커플링제거기의윈도우크기에따른성능비교 우의크기가 일때의 (,) 셀데이터를읽는과정을보여준다. 1) (, ) 셀데이터를문턱전압검출방법으로읽는다. 읽은데이터를기준으로프로그램 에의해증가된전압 를구한다. 6) (,) 셀데이터에서 5) 의 여커플링잡음이제거된데이터를구한다. 제거하 2) (, ) 셀데이터를위의과정에서 구한 값을다음식에대입하여얻은커플링잡음을제거하여구한다. ( 는 셀의왼쪽에위치한 Odd 라인의셀이며, 는 셀의오른쪽에위치한 Odd 라인의셀이다.) 3) (, ) 셀데이터를위에서구한값들을다음식에적용하여얻은커플링잡음을제거하여구한다. ( 는 셀의왼쪽에위치한 Even 라인의셀이며, 는 셀의오른쪽에위치한 Even 라인의셀이다.) 그림 3. R 이 40 일때, 문턱전압검출 (Threshold detection) vs. 윈도우크기에대한커플링제거기 ( 윈도우크기가 1,2,3,4,5,10 일때 ) 의성능그래프 Fig. 3. As R=40, the performance of threshold detection and coupling canceller. (window size : 1,2,3,4,5, and 10, respectively) 4) (, ) 셀데이터를위에서구한값들을다음식에적용하여구한커플링잡음을제거하여구한다. 5) 위의과정을반복하여 를구한다. 그림 4. R이 50 일때, 문턱전압검출 (Threshold detection) vs. 윈도우크기에대한커플링제거기 ( 윈도우크기가 1,2,3,4,5,10 일때 ) 의성능그래프 Fig. 4. As R=50, the performance of threshold detection and coupling canceller. (window size : 1,2,3,4,5, and 10, respectively) 709
한국통신학회논문지 '12-08 Vol.37A No.08 Ⅲ. 시뮬레이션 16-레벨셀낸드플래시메모리채널모델을이용하여실험하였으며, 워드라인은 32개, 비트라인은각각 4096개의 Even 라인과 Odd 라인으로이루어져있다. 한셀당 4비트의데이터를저장하며, 프로그램의순서는 II절의가정과같이, 0번째워드라인부터 31번째워드라인순으로프로그램하며, Even 라인의셀을먼저프로그램한후 Odd 라인의셀을프로그램한다. 프로그램할때 1비트씩먼저프로그램하며, 모든블록을 1비트씩저장하였으면, 같은프로그램순서로 2번째비트를저장한다. 같은순서로 4번째비트까지저장하여한셀에 4비트의데이터를저장한다. 커플링의비율을조절하기위해 R을정의하였으며, 프로그램에의한전압증가값을 R로나누어커플링잡음의영향력을조절한다. 커플링잡음의방향에대한비율은 로결정하였다 ( 는같은워드라인의양옆의셀에의한커플링잡음계수, 는같은비트라인의위에있는셀에의한커플링잡음계수, 는대각선위에있는셀에의한커플링잡음계수임 ). 채널모델에서실험에사용한최종커플링잡음의비율은 이다. 프로그램잡음을모델링하기위해부가적은백색가우시안잡음 (AWGN, Additive White Gaussian Noise) 을주었다. 그림 3, 4는커플링잡음의영향력계수 R이각각 40과 50 일때, 윈도우크기에대한성능의변화를보여준다. 그림에서윈도우크기가 2일때가최적의성능을보여줌을알수있다. 패리티증가없이커플링제거기라는추가회로와윈도우크기의메모리 ( 추가로읽는데이터의크기 ) 를통하여심볼오율 (SER, symbol error rate) 의성능을최소 10배증가시켰다. Ⅳ. 결론멀티레벨셀낸드플래시메모리에서커플링잡음은매우심각한오류의원인이다. 이는커플링잡음에의해각레벨간의간격이줄어들기때문인데, 이러한커플링잡음은몇가지상황의고정으로쉽게풀어낼수있게된다. 본논문에서는몇가지상황의고정으로인해커플링잡음에대한해석을쉽게고정하였으며, 이를해결하기위한커플링제거 기를이용하였다. 필요한데이터메모리크기를줄이기위해커플링제거기를윈도우크기의데이터를이용하여커플링잡음을제거하였으며, 기존문턱전압검출성능보다향상된성능을보였다. 연구의결과를토대로추가적인회로와메모리를이용하여기존문턱전압검출보다성능을최소 10배이상개선하였으며, 이러한작은개선은추후오류정정부호를통한연구에서큰성과를줄수있을것으로보인다. 실제로 LDPC 부호와터보부호등의반복복호기법의부호는성능의이득이크지만성능이득을얻기위해서는최소비트오율 (BER, bit error rate) 성능을요구하게된다. 따라서최소비트오율이상의성능을반복복호부호의입력으로주는것은매우중요하다. 따라서본연구와같은작은성능개선은반복복호부호에큰성능이득을이끌어낼수있게된다. 게다가본연구는추가적인회로와메모리는필요하지만, 부호율을손해보는것이없기때문에멀티레벨셀낸드플래시메모리분야에서매우중요한연구이다. 참고문헌 [1] M. Lasser, "States encoding in multi-bit flash cells," US Patent 2005/0201401 A1, Sep. 15, 2005. [2] M. Lasser, "States encoding in multi-bit flash cells," US Patent 2005/0201401 A1, Sep. 15, 2005. [3] A. Ban, S. Litsyn, and I. Alrod, "Methods of increasing the reliability of a flash memory," US Patent 7 023 735 B2, Apr. 4, 2006. [4] Y. Tanaka, "Multi-level cell flash memory," US Patent 2009/0262577 A1, Oct. 22, 2009. [5] T. Cho, Y. Lee, E. Kim, J. Lee, S. Choi, S. Lee, D. Kim, W. Han, Y. Lim, J. Lee, J. Choi, and K. Suh, "A Dual-mode NAND flash memory: 1-Gb Multilevel and high-performance 512-Mb Single-level modes," IEEE Journal of Solid-State Circuits, Vol. 36, No. 11, pp. 1700-1706, Nov. 2001. [6] 박동혁, 이재진, 멀티레벨셀메모리의채널모델링, 한국통신학회논문지 09-09, Vol. 34, No. 9, pp. 880-886, 2009년 9월. Donghyuk Park and Jaejin Lee, "Channel Modeling for Multi-Level Cell Memory," The 710
논문 / 멀티레벨셀낸드플래시메모리에서커플링제거기의윈도우크기에따른성능비교 Journal of The Korean Institute of Communication Sciences, 09-09, Vol. 34, No. 9, pp. 880-886, Sep. 2009. [7] D. Park, and J. Lee, "Floating-gate coupling canceller for multi-level cell NAND flash," IEEE Transactions on Magnetics, Vol. 47, No. 3, pp. 624-628, March 2011. [8] D. Park, and Jaejin Lee, "Coupling canceller maximum-likelihood (CCML) detection for multi-level cell NAND flash memory," IEEE Transactions on Consumer Electronics, Vol. 57, No. 1, pp. 160-163, Feb. 2011. [9] J. Lee, S. Hur, and J. Choi, "Effects of floating-gate interference on NAND flash memory cell operation," IEEE Electron Device Letters, Vol. 23, No. 5, pp. 264-266, May 2002. [10] K. Suh, B. Suh, Y. Lim, J. Kim, Y. Choi, Y. Koh, S. Lee, S. Kwon, B. Choi, J. Yum, J. Choi, J. Kim and H. Lim, "A 3.3 V 32Mb NAND flash memory with incremental step pulse programming scheme," IEEE Journal of Solid-State circuits, Vol. 30, No. 11, pp. 1149-1156, Nov. 1995. 박동혁 (Donghyuk Park) 2007년 2월숭실대학교정보통신전자공학부학사 2012년 2월숭실대학교정보통신공학박사 2012년 4월~Seagate Korea Design Center < 관심분야 > 스토리지시스템, LDPC 부호, 채널코딩이재진 (Jaejin Lee) 1983년 2월연세대학교전자공학과학사 1984년 12월 U. of Michigan, Dept. of EECS 석사 1994년 12월 Georgia Tech. Sch. of ECE 박사 1995년 1월~1995년 12월 Georgia Tech. 연구원 1996년 1월~1997년 2월현대전자정보통신연구소책임연구원 1997년 3월~2005년 8월동국대학교전자공학과부교수 2005년 9월~ 숭실대학교정보통신전자공학부교수 < 관심분야 > 통신이론, 채널코딩, 기록저장시스템 711