KR100908518B1 - 멀티 레벨 셀의 프로그램 방법 - Google Patents

멀티 레벨 셀의 프로그램 방법 Download PDF

Info

Publication number
KR100908518B1
KR100908518B1 KR1020070054385A KR20070054385A KR100908518B1 KR 100908518 B1 KR100908518 B1 KR 100908518B1 KR 1020070054385 A KR1020070054385 A KR 1020070054385A KR 20070054385 A KR20070054385 A KR 20070054385A KR 100908518 B1 KR100908518 B1 KR 100908518B1
Authority
KR
South Korea
Prior art keywords
data
program
storage means
lsb
msb
Prior art date
Application number
KR1020070054385A
Other languages
English (en)
Other versions
KR20080029749A (ko
Inventor
박성제
Original Assignee
주식회사 하이닉스반도체
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 하이닉스반도체 filed Critical 주식회사 하이닉스반도체
Priority to US11/858,907 priority Critical patent/US7609548B2/en
Priority to CN2007101517091A priority patent/CN101154453B/zh
Publication of KR20080029749A publication Critical patent/KR20080029749A/ko
Application granted granted Critical
Publication of KR100908518B1 publication Critical patent/KR100908518B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명은 2비트의 데이터를 저장할 수 있는 멀티 레벨 셀의 프로그램 방법에 관한 것으로, 제1 데이터를 제 1 저장수단에 저장하는 단계; 제2 데이터를 제 2 저장수단에 저장하는 단계; 상기 제 1 저장수단 및 제2 저장수단의 데이터에 따라 하위 비트의 데이터를 프로그램하는 단계; 및 상기 하위 비트의 프로그램에 연속하여 상기 제1 및 제2 비트에 따라 상위 비트의 데이터를 프로그램하는 단계를 포함한다.
MLC, SLC, 프로그램

Description

멀티 레벨 셀의 프로그램 방법{Method of programming a multi level cell}
도 1은 종래의 멀티 레벨 셀의 프로그램 방법을 나타낸 도면이다.
도 2는 도 1에 따른 동작 타이밍도이다.
도 3은 본 발명의 실시 예에 따른 멀티 레벨 셀의 메모리 소자의 블록도이다.
도 4는 본 발명의 실시 예에 따른 멀티 레벨 셀의 프로그램 방법을 나타낸 도면이다.
도 5는 도 4에 따른 동작 타이밍도이다.
도 6은 본 발명의 제 1 실시 예에 따른 멀티 레벨 셀 프로그램을 위한 페이지 버퍼의 회로도이다.
도 7은 본 발명의 제 2 실시 예에 따른 멀티 레벨 셀 프로그램을 위한 페이지 버퍼의 회로도이다.
*도면의 주요 부분의 간단한 설명*
300 : 멀티 레벨 셀 메모리 소자 310 : 메모리 셀 어레이
320 : 페이지 버퍼부 330 : Y 디코더
340 : X 디코더 350 : 제어부
610, 710: 비트라인 선택부 620 : MSB 래치부
630 : LSB 래치부 720~740 : 제 1 내지 제 3 래치부
본 발명은 메모리 소자의 프로그램 방법에 관한 것으로, 특히 2비트 이상의 데이터를 저장할 수 있는 멀티 레벨 셀(Multi Level Cell; 이하 MLC 라 함)의 데이터 프로그램 방법에 관한 것이다.
플래시 메모리는 일반적으로 NAND 플래시 메모리와, NOR 플래시 메모리로 구분된다. NOR 플래시 메모리는 메모리 셀들이 각각 독립적으로 비트 라인과 워드 라인에 연결되는 구조를 가지므로 랜덤 액세스 시간 특성이 우수한 반면에, NAND 플래시 메모리는 복수 개의 메모리 셀들이 직렬로 연결되어 셀 스트링 당 한 개의 컨택만을 필요로 하므로 집적도면에서 우수한 특성을 갖는다. 따라서 고집적 플래시 메모리에는 주로 NAND 구조가 사용되고 있다.
잘 알려진 NAND 플래시 메모리 장치는 메모리 셀 어레이, 행 디코더, 페이지 버퍼를 포함한다. 상기 메모리 셀 어레이는 행들을 따라 신장된 복수개의 워드 라인들과 열들을 따라 신장된 복수개의 비트라인들과 상기 비트라인들에 각각 대응되는 복수개의 셀 스트링들로 이루어진다.
최근에는 이러한 플래시 메모리의 집적도를 더욱 향상시키기 위해 한 개의 메모리 셀의 복수개의 데이터를 저장할 수 있는 다중 비트 셀에 대한 연구가 활발히 진행되고 있다. 이러한 방식의 메모리 셀을 통상 멀티 레벨 셀(Multi Level Cell; MLC)라고 한다. 이와 대비되는 단일 비트의 메모리 셀을 싱글 레벨 셀(Single Level Cell; SLC)이라 한다.
MLC는 통상 2개 이상의 드레솔드 전압 분포를 가지며 이에 대응되는 2개 이상의 저장 데이터를 가진다.
다음은 종래의 MLC의 데이터 프로그램 방법에 대해 설명한다.
도 1은 종래의 멀티레벨 셀의 프로그램 방법을 나타낸 도면이다.
도 1을 참조하면, 2비트의 데이터 저장이 가능한 MLC의 메모리 셀은 4개의 데이터 저장상태 즉, [11], [10], [00], 및 [01]을 가진다. 이들의 분포는 각각 상기 MLC의 드레솔드 전압분포들에 대응된다. 예를 들어, 메모리 셀이 드레솔드 전압 분포들이 각각 -2.7V 이하, 0.3V~0.7V, 1.3V~1.7V, 2.3V~3.7V 라고 가정하면, 상기 [11]은 -2.7V 이하, [10]은 0.3V~0.7V, [00]은 1.3V~1.7V, 그리고 [01]은 2.3V~2.7V에 각각 대응된다. 즉, 상기 MLC의 드레솔드 전압이 상기 4 가지의 드레솔드 전압분포들 중 하나에 해당하면 [11], [10], [00], 및 [01] 중 그에 해당하는 2비트의 데이터 정보가 메모리 셀에 저장된다.
도 1에 나타난 바와 같이, MLC에 데이터를 저장하는 방법은 2비트의 데이터 중 상위 비트인 MSB(Most Significant Bit)와, 하위 비트인 LSB(Least Significant Bit)로 각각 프로그램을 진행한다.
초기의 데이터가 소거 상태인 MLC가 [11]의 데이터 정보를 가진다고 할 때, 하위 LSB를 먼저 '1'에서 '0'으로 프로그램한다. 즉, -2.7V 이하의 드레솔드 전압을 가지는 MLC를 [10] 상태의 0.3V~0.7V의 드레솔드 전압을 가지도록 프로그램한 다(S1).
그리고 상위 MSB의 프로그램을 수행하는데, 프로그램하고자 하는 데이터가 [00] 이라면 단계 S2-1과 같이 드레솔드 전압이 높아지도록 프로그램하고, 프로그램하고자 하는 데이터가 [01] 이라면, 단계 S2-2와 같이 드레솔드 전압이 높아지도록 프로그램한다.
MLC에 데이터를 프로그램할 때 인가되는 전압은ISPP(Incremental Step Pulse Programming) 방식에 의해 전압을 단계별로 증가시켜 제공된다.
따라서 MLC의 데이터 프로그램은 맨 처음 단계로 LSB 프로그램을 하고, 두 번째 단계로 MSB 프로그램을 하며, 이때 ISPP의 전압 제공에 따라 원하는 데이터의 드레솔드 전압 상태가 된 메모리 셀의 프로그램은 중단 하고, 나머지 메모리 셀에 전압을 계속적으로 공급하여 드레솔드 전압을 높일 수 있도록 동작한다.
상술한 바와 같이, 종래의 MLC의 데이터 프로그램은 LSB와 MSB가 따로따로 완전히 독립적으로 수행된다. 이를 타이밍 도를 참조하여 좀더 자세히 설명하면 다음과 같다.
도 2는 상기 도 1에 따른 동작 타이밍도이다.
도 2를 참조하면, MLC의 데이터 프로그램을 위해서 LSB의 데이터 프로그램을 위한 명령 오퍼레이션(Operation)(10)으로 프로그램 명령(PGM COM; Program Command)과, 프로그램 할 셀의 어드레스(Address Input)와, 프로그램할 데이터(Data In) 및, 프로그램을 마치라는 명령(PGM COM)이 입력된다.
상기의 명령 오퍼레이션 입력이 끝나면, 페이지 버퍼의 제어신호(PBPAD)가 하이 레벨에서 로우레벨로 변경되고, 내부의 오퍼레이션이 동작하여 LSB의 프로그램 동작을 수행한다.
그리고 LSB 프로그램이 끝나면, MSB 프로그램을 위한 오퍼레이션(20)이 LSB 프로그램을 위한 오퍼레이션(10)과 동일한 형태로 입력되고, 입력된 오퍼레이션(20)에 따라 MSB 프로그램 동작이 수행된다.
상술한 바와 같이 종래의 LSB와 MSB를 두 단계로 나뉘어 독립적으로 프로그램하는 방식은 프로그램의 쓰루풋(throughput) 측면에서 SLC에 비해 특성이 많이 안 좋아지는 문제가 있다.
따라서 본 발명이 이루고자 하는 기술적 과제는 멀티 레벨 셀에 데이터를 프로그램할 때, 하위 비트(LSB)와 상위비트(MSB)를 동시에 프로그램할 수 있는 멀티 레벨 셀의 프로그램 방법을 제공하는데 있다.
상기한 기술적 과제를 달성하기 위한 본 발명의 일면에 따른 멀티 레벨 셀의 프로그램 방법은,
제1 데이터를 제 1 저장수단에 저장하는 단계; 제2 데이터를 제 2 저장수단에 저장하는 단계; 상기 제 1 저장수단 및 제2 저장수단의 데이터에 따라 하위 비트의 데이터를 프로그램하는 단계; 및 상기 하위 비트의 프로그램에 연속하여 상기 제 1 저장수단 및 제 2 저장수단의 데이터에 따라 상위 비트의 데이터를 프로그램하는 단계를 포함한다.
상기 제 1 저장수단 및 제 2 저장수단은 상기 멀티 레벨 셀의 데이터 프로그 램을 위한 페이지 버퍼의 제 1 래치부 및 제 2 래치부인 것을 특징으로 한다.
상기 하위 비트의 데이터를 프로그램한 이후에, 상기 하위비트의 프로그램 검증을 하는 단계를 더 포함한다.
상기 프로그램에 의하여 선택된 멀티 레벨 셀의 문턱 전압값이 제 1 문턱 전압값에서 제 2 문턱 전압값 또는 제 3 문턱전압값 또는 제 4 문턱 전압값으로 상승되는 것을 특징으로 한다.
단, 제 1 문턱 전압값 < 제 2 문턱 전압값 < 제 3 문턱 전압값 < 제 4 문턱 전압값이다.
상기 제 1 문턱 전압값을 가지는 멀티 레벨 셀은 [11]의 데이터 상태이고, 상기 제 2 문턱 전압값을 가지는 멀티 레벨 셀은 [10]의 데이터 상태이고, 상기 제 3 문턱 전압값을 가지는 멀티 레벨 셀은 [00]의 데이터 상태이며, 상기 제 4 문턱 전압값을 가지는 멀티 레벨 셀은 [01]의 데이터 상태인 것을 특징으로 한다.
본 발명의 또 다른 특징에 따른 멀티 레벨 셀의 프로그램 방법은,
멀티 레벨 셀의 프로그램 방법에 있어서, 제1 내지 제 n 데이터를 제 1 내지 제 n 저장수단에 저장하는 단계; 및 상기 저장수단들에 저장된 데이터를 제1 내지 제 m 프로그램 상태로 동시에 프로그램 하는 단계를 포함한다.
본 발명의 또 다른 특징에 따른 멀티 레벨 셀의 프로그램 방법은,
제 1 데이터를 제 1 저장수단에 저장하는 단계; 상기 제 1 저장수단에 저장된 제 1 데이터를 제 2 저장수단으로 전달하는 단계; 제 2 데이터를 제 1 저장수단에 저장하는 단계; 상기 제 1 저장수단과 제 2 저장수단에 저장된 데이터의 조합으로부터 제 3 저장수단의 데이터를 결정하는 단계; 및 상기 제 1 내지 제 3 저장수단의 데이터에 따라 하위비트 데이터와 상위 비트 데이터를 동시에 프로그램하는 단계를 포함한다.
상기 프로그램을 수행한 후, 검증을 실시 하는 단계를 포함하되, 상기 검증은, 상기 제 1 내지 제 3 저장수단의 데이터 조합에 따라 상기 상위비트 및 상기 하위비트에 대한 검증이 동시에 수행되는 것을 특징으로 한다.
상기 데이터 조합에 따라 제 1 문턱전압 분포를 가지는 셀들과, 제 2 문턱 전압 분포를 가지는 셀들 및 제 3 문턱전압 분포를 가지는 셀들로 상기 메모리 셀이 프로그램되는 것을 특징으로 한다.
제 1 비트에 대한 프로그램 명령을 입력받는 단계; 제 2 비트에 대한 프로그램 명령을 입력받는 단계; 및 상기 프로그램 명령들에 따라 상기 비트들을 동시에 프로그램을 수행하는 단계를 포함한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예를 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예는 본 발명의 개시가 완전하도록 하며 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다.
도 3은 본 발명의 실시 예에 따른 멀티 레벨 셀의 메모리 소자의 블록도이다.
도 3을 참조하면, MLC 메모리 소자(300)는 메모리 셀 어레이(310)와, 페이지 버퍼부(320)와, Y 디코더(330)와, X 디코더(340) 및 제어부(350)를 포함한다.
메모리 셀 어레이(310)는 복수 비트를 저장할 수 있는 MLC(Multi Level Cell로 구성되는 메모리 셀부(311)와 플래그 셀부(312)를 포함한다. 상기 플래그 셀부(312)는 SLC(Single Level Cell)로 구성되는 경우가 일반적이다. 메모리 셀부(311)는 비트라인(BL)과 워드라인(WL)으로 구성되며, 메모리 셀부(311)의 워드라인(WL)에 대해 프로그램 상태를 나타내기 위한 플래그 셀들이 할당된다. 상기 플래그 셀들로 구성되는 것이 플래그 셀 부(312)이다.
플래그 셀들은 할당되는 워드라인(WL)의 논리적인 페이지의 프로그램 상태를 나타내기 위하여 프로그램되거나, 소거된다.
메모리 셀 어레이(310)의 비트라인 쌍은 각각 페이지 버퍼 회로와 연결된다. 페이지 버퍼 회로는 메모리 셀부(311)에 데이터를 프로그램하거나, 프로그램된 데이터를 독출하기 위해 동작하는 회로이다. 페이지 버퍼 회로가 다수개 포함된 것이 페이지 버퍼부(320)이다.
Y 디코더(330)는 메모리 소자의 데이터 입출력을 위해 페이지 버퍼부(320)에 데이터 입출력 경로를 제공하고, X 디코더(340)는 입력 어드레스에 따라 메모리 셀 어레이(310)의 워드라인(WL)을 선택한다.
제어부(350)는 상기 메모리 소자(300)의 전체적인 프로그램, 독출 및 검증의 동작 제어를 수행한다.
상기와 같은 본 발명의 실시 예에 따른 멀티 레벨 셀의 프로그램은 다음과 같이 수행된다.
도 4는 본 발명의 실시 예에 따른 멀티 레벨 셀의 프로그램 방법을 나타낸 도면이다.
도 4를 참조하면, 본 발명의 실시 예에 따른 2비트를 저장할 수 있는 멀티 레벨 셀의 프로그램 방법은 하위 비트(Least Significant Bit; 이하 LSB)와 상위 비트(Most Significant Bit; 이하 MSB)를 동시에 프로그램한다(S401).
도 4에 나타난 바와 같이, 동시에 LSB와 MSB를 프로그램하기 위해서는 다음의 동작 타이밍 도에 따른다.
도 5는 상기 도 4에 따른 동작 타이밍도이다.
도 5를 참조하면, 본 발명의 실시 예에 따른 2비트를 저장할 수 있는 멀티 레벨 셀의 프로그램을 위해서 먼저 오퍼레이션으로 LSB 프로그램 오퍼레이션(510)을 입력하고, 일정 시간(tDPBY) 후에 MSB 프로그램 오퍼레이션(520)을 입력한다.
상기 일정시간(tDPBY)는 LSB 프로그램 오퍼레이션(510)과, MSB 프로그램 오퍼레이션(520)을 입력할 때 오퍼레이션을 구분하기 위한 짧은 시간을 나타낸다.
상기 입력되는 오퍼레이션(510, 520)에 의해 프로그램을 수행하는 과정은 페이지 버퍼회로에 따라 동작의 과정이 달라진다. .
즉, 페이지 버퍼 회로에 래치가 2개 포함되어 있는 경우는, LSB와 MSB 데이터를 래치한 후, LSB 페이지와 MSB 페이지가 순차적으로 프로그램된다.
즉 LSB 오퍼레이션(510)을 입력받고, 내부 오퍼레이션에 의해 MCL에 프로그램한 후, MSB 오퍼레이션(520)을 입력받아 MCL에 프로그램 하는 것이 아니라, LSB와 MSB의 오퍼레이션(510, 520)을 순차적으로 한번에 입력받고, 이를 한번에 프로그램하는 것이다. 또한, 이때 상기 데이터 프로그램을 위한 전압 공급은 ISPP(Incremental Step Pulse Programming) 방법을 이용한다.
그러나 페이지 버퍼 회로에 래치가 3개 포함되어 있는 경우는, 세 개의 래치에 프로그램할 데이터 상태를 로딩한 후 LSB 페이지와 MSB 페이지에 대한 프로그램을 동시에 수행하여 검증을 수행한다.
즉, 2비트의 데이터를 저장할 때, 소거셀은 [11]의 데이터 상태를 가지고, 프로그램을 통해 [10], [01], [00]의 상태로 셀의 데이터 상태를 변경해야 하므로, 3개의 래치에 [10], [01], [00] 상태를 각각 할당하고 프로그램 하여 동시에 검증을 수행함으로써 LSB와 MSB 페이지에 대한 프로그램을 동시에 수행한다.
좀더 자세히 실제의 메모리 소자에서의 페이지버퍼의 동작을 참고하여 설명하면 다음과 같다.
도 6은 본 발명의 제 1 실시 예에 따른 멀티 레벨 셀 프로그램을 위한 페이지 버퍼의 회로도이다.
도 6으 참조하면, 2 비트 이상의 데이터를 저장할 수 있는 멀티 레벨 셀(미도시)을 포함하는 메모리 소자의 페이지 버퍼는 비트라인 선택을 위한 비트라인 선택부(610)와, 멀티 레벨 셀(미도시)에 데이터를 프로그램하거나 독출 하기 위한 MSB 래치부(620) 및 LSB 래치부(630)를 포함하여 구성된다.
상기 비트라인 선택부(610)는 입력 어드레스에 따라 이븐 비트라인(BLE; Bit Line Even) 또는 오드 비트라인(BLO; Bit Line Odd)을 페이지 버퍼와 연결하여, 선택 비트라인에 메모리 셀에 데이터를 프로그램, 독출 할 수 있도록 한다.
MSB 래치부(620)와 LSB 래치부(630)는 데이터의 프로그램, 독출을 수행할 때 데이터를 임시 저장하기 위한 래치(R1, R2)와, 다수의 NMOS 트랜지스터, PMOS 트랜지스터 및 인버터로 구성된다.
앞서 언급한 바와 같이 상기 MSB 래치부(620)와 LSB 래치부(630)가 한 쌍의 비트라인에 연결되는 페이지 버퍼에 포함된다. 그리고 상기 페이지 버퍼는 이미 공지된 기술에 의한 것으로, 그 자세한 구성요소간의 연결 관계 및 설명은 생략한다.
또한, 여기서 간단히 종래의 MLC의 데이터 프로그램 또는 독출을 위한 상기 페이지 버퍼의 동작을 설명하면 다음과 같다.
먼저, MLC에 LSB 데이터를 저장하기 위해서 외부 오퍼레이션으로 LSB 데이터와, 프로그램 명령(Program Command)이 입력된다. 입력된 LSB 데이터는 상기 MSB 래치부(620)로 입력되어 래치(R1)에 임시 저장된다.
그리고 메모리 셀의 일반적인 프로그램 방식에 의해 상기 래치(R1)에 임시 저장된 데이터가 선택되는 MLC에 저장된다.
그리고 MSB 데이터를 입력하기 위해 외부 오퍼레이션으로 MSB 데이터와 프로그램 명령이 입력된다. 입력된 MSB 데이터는 MSB 래치부(620)에 입력되어 래치(R1)에 임시 저장된다. 그리고 LSB 래치부(630)는 MLC에 저장된 LSB 데이터를 독출 하여 래치(R2)에 임시 저장한다.
이후에 MSB 래치부(620)와 LSB 래치부(630)는 래치(R1, R2)에 저장된 데이터를 비교하여 MSB 프로그램을 수행한다.
이상에서 설명한 MLC 프로그램 방법은 상기 도 6와 같은 2 개의 래치를 포함하는 페이지 버퍼를 이용하여 일반적인 MLC 프로그램을 수행하는 방법을 설명한 것 이다.
그러나 본 발명의 실시 예에 따른 MLC 프로그램 방법은 다음과 같다.
먼저 MLC에 저장될 데이터는 외부 오퍼레이션을 통해 LSB 데이터와 프로그램 명령이 입력되고, 일정시간(tDPBY) 이후에 MSB 데이터와 프로그램 명령이 입력된다.
상기 입력되는 LSB데이터는 LSB 래치부(630)의 래치(R2)에 임시 저장되고, MSB 데이터는 MSB 래치부(620)의 래치(R1)에 임시 저장된다.
상기와 같이 MSB 래치부(620)와 LSB 래치부(630)가 한꺼번에 각각의 MSB 데이터와 LSB 데이터를 래치(R1, R2)에 저장한 상태로 프로그램을 시작한다.
본 발명의 제 1 실시 예에 따른 도 6의 페이지 버퍼 회로를 이용한 프로그램의 방법은 다음과 같다.
먼저 LSB 래치부(630)에 저장된 LSB 데이터가 선택되는 비트라인을 통해 MLC에 저장된다.
그리고 LSB 래치부(630)는 LSB 데이터의 프로그램이 끝난 후, 다시 LSB 데이터를 독출 하여 검증을 하고, 패스가 되면 독출된 LSB 데이터를 래치(R2)에 다시 저장한다.
이후에는 MSB 래치부(620)의 래치(R1)에 저장된 MSB 데이터와 LSB 래치부(620)의 래치(R2)에 저장된 LSB 데이터를 서로 비교하여 프로그램을 수행한다. 이때의 저장방법은 종래의 MSB 저장 방법과 동일하므로 자세한 설명을 생략한다.
상기와 같이 수행함으로써, 메모리 소자는 LSB 데이터와 MSB 데이터를 차례 로 입력받아 한꺼번에 프로그램을 수행함으로써, 프로그램 시간이 단축된다.
한편, 본 발명의 실시 예에 따른 프로그램 방법은 다음의 페이지 버퍼를 이용할 수 있다.
도 7은 본 발명의 제 2 실시 예에 따른 멀티 레벨 셀 프로그램을 위한 페이지 버퍼의 회로도이다.
도 7을 참조하면, 본 발명의 제 2 실시 예에 따른 멀티 레벨 셀 메모리 소자의 페이지 버퍼 회로는 비트라인 선택부(710)와, 제 1 내지 제 3 래치부(720 내지 740)를 포함하고, 제 1 PMOS트랜지스터(P1)와, 제 15 내지 제 21 NMOS 트랜지스터(N15 내지 N21)트랜지스터를 포함한다.
상기 비트라인 선택부(710)는 입력 어드레스에 따라 이븐 비트라인(BLE; Bit Line Even) 또는 오드 비트라인(BLO; Bit Line Odd)을 페이지 버퍼와 연결하여, 선택 비트라인에 메모리 셀에 데이터를 프로그램, 독출 할 수 있도록 한다. 상기 도 6에서는 비트라인에 연결되는 제 1 NMOS 트랜지스터(N1)만을 도시하였다.
제 1 내지 제 3 래치부(720 내지 740)는 데이터의 프로그램, 독출을 수행할 때 데이터를 임시 저장하기 위한 래치(L1 내지 L3)와, 다수의 NMOS 트랜지스터, PMOS 트랜지스터 및 인버터로 구성된다.
제 1 래치부(720)는 제 2 내지 제 6 NMOS트랜지스터(N2 내지 N6)와, 제 1 내지 제 3 인버터(IN1 내지 IN3)를 포함하고, 제 2 래치부(730)는 제 7 내지 제 9 NMOS 트랜지스터(N7 내지 N9)와, 제 4 및 제 5 인버터(IN4, IN5)를 포함한다.
제 3 래치부(740)는 제 10 내지 제 13 NMOS 트랜지스터(N10 내지 N13)와, 제 6 및 제 7 인버터(IN6, IN7)를 포함한다.
제 1 PMOS 트랜지스터(P1)는 프리차지 신호(PRECHSO_N)에 따라 센싱노드(SO)를 프리차지 시킨다. 제 16 및 제 17 NMOS트랜지스터(N16, N17)는 제 1 래치부(720)의 노드(MSB)와 노드(MSB_N)에 각각 연결되어 외부에서 입력되는 데이터를 제 1 래치(L1)에 래치한다.
제 19 내지 제 21 NMOS 트랜지스터(N19 내지 N21)는 제 1 내지 제 3 래치부(720 내지 740)에 래치된 데이터의 프로그램 검증 결과에 따른 검증신호를 출력한다. 상기 검증신호는 본 발명의 제 2 실시 예에 따른 페이지 버퍼 회로를 포함하는 낸드 플래시 메모리 소자의 제어부(도 3의 350)에 입력된다.
상기한 본 발명의 제 2 실시 예에 따른 페이지 버퍼 회로를 이용한 멀티 레벨 셀 프로그램을 수행하기 위해 제 1 내지 제 3 래치(L1 내지 L3)의 상태가 표 1과 같이 변경된다.
Figure 112007040671436-pat00001
표 1과, 도 7을 참조하여 프로그램 동작을 설명하면 다음과 같다.
먼저 페이지 버퍼에 프리차지 신호(PRECHSO_N)와 MSBRST 신호를 인가하여 제 1 래치(L1)의 MSB_N 노드를 하이 레벨('1')로 초기화한다. 그리고 LSB 데이터를 입력하기 위해 데이터 입력신호(DATALOAD, DATALOAD_N)를 인가하여 제 1 래치(L1)의 MSB_N 노드에 LSB 데이터를 래치한다.
MSB_N 노드에 래치된 데이터는 제 3 래치(L3)의 TDL_N 노드에 전달된다. 이때는 TDLSET 신호와 프리차지 신호(PRECHSO_N)와, DATTRAN, TDLRST 신호를 이용한다.
LSB 데이터를 제 3 래치(L3)에 전달한 후에는 MSB 데이터를 제 1 래치(L1)에 래치한다. 이때 MSBSET, 프리차지 신호(PRECHSO_N), MLCPROG, MSBRST 신호를 이용한다. 또한 MSB 데이터를 제 1 래치(L1)에 래치한 후에는 플래그 셀부(312)의 플래그 셀을 프로그램하여 MSB 데이터를 래치한 것을 표시한다.
제 1 래치(L1)와 제 3 래치(L3)에 래치된 데이터의 조합에 의해 제 2 래치(L2)의 데이터가 정해진다. 이를 위해 LSBSET, 프리차지 신호(PRECHSO_N), DATTRAN, LSBRST신호가 이용된다. 그리고 프리차지 신호(PRECHSO_N), TDLTRAN, LSBSET 신호를 이용한다. 상기의 과정을 통해 제 1 내지 제 3 래치(L1 내지 L3)에는 프로그램할 LSB 데이터와 MSB 데이터가 각각 저장된다.
제 1 내지 제 3 래치(L1 내지 L3)에 저장된 데이터는 동시에 프로그램되고, 검증이 이루어진다. 즉 소거셀[11]인 상태에서 동시에 [01], [00] 및 [10]의 프로그램과 검증이 이루어진다.
좀 더 자세히 설명하면, 표1의 노드 상태가 [1111]은 모두 소거셀 상태일 경우이고, 각각이 경우에 따라 [1111] 상태는 [1100]상태로 변경되거나, [1010] 상태로 변경된다.
[1111] 상태에서 [1100] 상태로 변경되는 경우는 제 1 래치(L1)의 데이터가 프로그램되고, 제 2 래치(L2)의 제어신호(LSBRST)를 이용하여 검증을 수행단. 그리고 [1111] 상태에서 [1010] 상태로 변경되는 경우는 제 3 래치(L3)의 노드(TDL_N)의 데이터를 프로그램하고, 제 2 래치(L2)의 제어신호(LSBRST)를 이용해 검증한다.
또한, [1111] 상태가 유지되는 경우에도 프로그램은 수행되지 않으나, 검증은 제 2 래치(L2)의 제어신호(LSBRST)를 이용한다.
앞서 설명한 바와 같이, 본 발명의 제 2 실시 예에 따른 도 7과 같은 페이지 버퍼 회로를 이용한 멀티 레벨 셀을 프로그램하는 방법은 제 1 및 제 3 래치(L1, L3)의 데이터를 프로그램하고, 제 2 래치(L2)에 저장된 데이터를 이용하여 검증을 수행한다.
이러한 방법은 LSB와 MSB 데이터를 한번에 페이지 버퍼 회로에 래치한 후, 동시에 프로그램 및 검증을 수행한다.
이상과 같은 방식으로 프로그램을 수행하는 방법은 앞서 설명한 바와 같이 2비트 데이터를 프로그램하는데 국한된 것이 아니라, N(2 이상의 정수) 비트의 데이터를 프로그램할 수 있는 멀티 레벨 셀에 대해서도 적용할 수 있다. N 비트의 데이터를 프로그램할 수 있는 멀티 레벨 셀이 M 개의 문턱전압 분포를 갖는다고 할때, N 비트의 데이터를 한번에 모두 래치할 수 있는 N 개의 래치 회로를 포함하는 페이지 버퍼를 구성하여 N 비트를 한번에 입력하여 래치하고, 모든 비트의 데이터에 대해 동시에 프로그램을 수행함으로써 M 개의 문턱전압 분포 상태를 갖도록 프로그램 할 수 있다.
또한,본 발명의 제2 실시 예와 같이 N+1 개의 래치를 구비하는 페이지 버퍼 회로를 구성하여 M 개의 문턱전압 분포 상태를 갖도록 멀티 레벨 셀을 프로그램하는 것도 가능하다.
상기에서 설명한 본 발명의 기술적 사상은 바람직한 실시 예에서 구체적으로 기술되었으나, 상기한 실시 예는 그 설명을 위한 것이며 그 제한을 위한 것이 아님을 주의하여야 한다. 또한, 본 발명은 본 발명의 기술 분야의 통상의 전문가라면 본 발명의 기술적 사상의 범위 내에서 다양한 실시예가 가능함을 이해할 수 있을 것이다.
이상에서 설명한 바와 같이, 본 발명에 따른 멀티 레벨 셀의 프로그램 방법은 멀티 레벨 셀에 데이터를 저장할 때, 모든 비트에 대해 한번에 프로그램 명령을 입력하고, 한번의 프로그램 동작 수행을 통해 데이터가 멀티 레벨 셀에 저장되도록 하여 프로그램 시간을 단축하는 효과가 있다.

Claims (10)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제 1 데이터를 제 1 저장수단에 저장하는 단계;
    상기 제 1 저장수단에 저장된 제 1 데이터를 제 2 저장수단으로 전달하는 단계;
    제 2 데이터를 제 1 저장수단에 저장하는 단계;
    상기 제 1 저장수단과 제 2 저장수단에 저장된 데이터의 조합으로부터 제 3 저장수단의 데이터를 결정하는 단계; 및
    상기 제 1 내지 제 3 저장수단의 데이터에 따라 하위비트 데이터와 상위 비트 데이터를 동시에 프로그램하는 단계
    를 포함하는 멀티 레벨 셀의 프로그램 방법.
  8. 제 7항에 있어서,
    상기 프로그램을 수행한 후, 검증을 실시 하는 단계를 포함하되,
    상기 검증은,
    상기 제 1 내지 제 3 저장수단의 데이터 조합에 따라 상기 상위비트 및 상기 하위비트에 대한 검증이 동시에 수행되는 것을 특징으로 하는 멀티 레벨 셀의 프로그램 방법.
  9. 제 7항에 있어서,
    상기 데이터 조합에 따라 제 1 문턱전압 분포를 가지는 셀들과, 제 2 문턱 전압 분포를 가지는 셀들 및 제 3 문턱전압 분포를 가지는 셀들로 상기 메모리 셀 이 프로그램되는 것을 특징으로 하는 멀티 레벨 셀의 프로그램 방법.
  10. 제 1 비트에 대한 프로그램 명령을 입력받는 단계;
    제 2 비트에 대한 프로그램 명령을 입력받는 단계; 및
    상기 프로그램 명령들에 따라 상기 비트들을 동시에 프로그램을 수행하는 단계
    를 포함하는 멀티 레벨 셀의 프로그램 방법.
KR1020070054385A 2006-09-29 2007-06-04 멀티 레벨 셀의 프로그램 방법 KR100908518B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/858,907 US7609548B2 (en) 2006-09-29 2007-09-21 Method of programming a multi level cell
CN2007101517091A CN101154453B (zh) 2006-09-29 2007-09-27 对多级单元进行编程的方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020060095969 2006-09-29
KR20060095969 2006-09-29

Publications (2)

Publication Number Publication Date
KR20080029749A KR20080029749A (ko) 2008-04-03
KR100908518B1 true KR100908518B1 (ko) 2009-07-20

Family

ID=39256035

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070054385A KR100908518B1 (ko) 2006-09-29 2007-06-04 멀티 레벨 셀의 프로그램 방법

Country Status (2)

Country Link
KR (1) KR100908518B1 (ko)
CN (1) CN101154453B (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100953044B1 (ko) * 2008-05-26 2010-04-14 주식회사 하이닉스반도체 불휘발성 메모리 장치의 프로그램 방법
KR101074539B1 (ko) 2009-02-04 2011-10-17 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
KR101074564B1 (ko) 2009-02-04 2011-10-17 주식회사 하이닉스반도체 불휘발성 메모리 장치
CN101866678A (zh) * 2009-04-17 2010-10-20 常州南基天盛科技有限公司 闪存盘
KR101617810B1 (ko) * 2009-08-24 2016-05-03 삼성전자주식회사 불휘발성 메모리 장치, 그것의 프로그램 방법, 그리고 그것을 포함하는 메모리 시스템
KR101138101B1 (ko) * 2010-05-27 2012-04-24 에스케이하이닉스 주식회사 불휘발성 메모리 소자의 프로그램 방법
KR102111579B1 (ko) * 2013-06-21 2020-05-18 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
KR20160149463A (ko) * 2015-06-18 2016-12-28 에스케이하이닉스 주식회사 비휘발성 메모리 시스템 및 비휘발성 메모리 시스템의 동작방법
CN109102834B (zh) * 2018-06-21 2020-12-01 普冉半导体(上海)股份有限公司 用于闪存页编程的数据锁存电路、页数据锁存器及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11110985A (ja) * 1997-10-07 1999-04-23 Sharp Corp 不揮発性半導体記憶装置およびその書き込み方法
JPH11195299A (ja) * 1996-07-10 1999-07-21 Hitachi Ltd 不揮発性半導体記憶装置
KR20050007653A (ko) * 2003-07-11 2005-01-21 삼성전자주식회사 멀티 레벨 셀을 갖는 플래시 메모리 장치와 그것의 독출방법 및 프로그램 방법

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3153730B2 (ja) * 1995-05-16 2001-04-09 株式会社東芝 不揮発性半導体記憶装置
KR100609568B1 (ko) * 2004-07-15 2006-08-08 에스티마이크로일렉트로닉스 엔.브이. 비휘발성 메모리 장치의 페이지 버퍼 및 이를 이용한프로그램 방법과 독출 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11195299A (ja) * 1996-07-10 1999-07-21 Hitachi Ltd 不揮発性半導体記憶装置
JPH11110985A (ja) * 1997-10-07 1999-04-23 Sharp Corp 不揮発性半導体記憶装置およびその書き込み方法
KR20050007653A (ko) * 2003-07-11 2005-01-21 삼성전자주식회사 멀티 레벨 셀을 갖는 플래시 메모리 장치와 그것의 독출방법 및 프로그램 방법

Also Published As

Publication number Publication date
CN101154453A (zh) 2008-04-02
CN101154453B (zh) 2011-04-20
KR20080029749A (ko) 2008-04-03

Similar Documents

Publication Publication Date Title
KR100908518B1 (ko) 멀티 레벨 셀의 프로그램 방법
US7852684B2 (en) Page buffer circuit of memory device and program method
US7710773B2 (en) Nonvolatile memory devices that support virtual page storage using odd-state memory cells
US7684238B2 (en) Methods of programming multi-bit flash memory devices and related devices
JP4253312B2 (ja) 半導体記憶装置
US8179727B2 (en) NAND flash memory devices and methods of LSB/MSB programming the same
KR100777852B1 (ko) 반도체 메모리 장치
KR101099911B1 (ko) 반도체 메모리 장치 및 그 동작 방법
KR100923810B1 (ko) 메모리 소자와 그 동작 방법
US7609548B2 (en) Method of programming a multi level cell
KR100938045B1 (ko) 불휘발성 메모리 소자의 테스트 방법
US7796438B2 (en) Flash memory device and method of programming the same
US8189394B2 (en) Page buffer circuit of nonvolatile memory device and method of operating the same
KR100713983B1 (ko) 플래시 메모리 장치의 페이지 버퍼 및 그것을 이용한프로그램 방법
US7808840B2 (en) Method of operating a non-volatile memory device
KR100938044B1 (ko) 불휘발성 메모리 장치 및 그 멀티 레벨 셀 프로그램 방법
KR100938084B1 (ko) 멀티 레벨 셀 플래쉬 메모리의 페이지 버퍼 회로 및 동작방법
KR100965067B1 (ko) 불휘발성 메모리 소자의 동작 방법
KR100904731B1 (ko) 멀티 레벨 셀 플래시 메모리소자의 페이지 버퍼 및프로그램 방법
KR20090000378A (ko) 멀티 레벨 셀 메모리 소자의 프로그램 방법
KR20100054485A (ko) 불휘발성 메모리 소자 및 그 동작 방법
KR100980375B1 (ko) 불휘발성 메모리 소자 및 그 동작 방법

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120625

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee