KR100771882B1 - 멀티-레벨 불휘발성 메모리 장치의 프로그램 방법 - Google Patents

멀티-레벨 불휘발성 메모리 장치의 프로그램 방법 Download PDF

Info

Publication number
KR100771882B1
KR100771882B1 KR1020060085879A KR20060085879A KR100771882B1 KR 100771882 B1 KR100771882 B1 KR 100771882B1 KR 1020060085879 A KR1020060085879 A KR 1020060085879A KR 20060085879 A KR20060085879 A KR 20060085879A KR 100771882 B1 KR100771882 B1 KR 100771882B1
Authority
KR
South Korea
Prior art keywords
state
data
memory cells
stored
cell
Prior art date
Application number
KR1020060085879A
Other languages
English (en)
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 KR1020060085879A priority Critical patent/KR100771882B1/ko
Priority to US11/847,980 priority patent/US7508705B2/en
Priority to JP2007230415A priority patent/JP2008065977A/ja
Priority to CN2007101596356A priority patent/CN101174462B/zh
Application granted granted Critical
Publication of KR100771882B1 publication Critical patent/KR100771882B1/ko

Links

Images

Classifications

    • 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
    • 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/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits

Abstract

멀티-레벨 불휘발성 메모리 장치의 프로그램 방법이 개시된다. 본 발명의 실시예에 따른 프로그램 방법은 멀티-레벨 메모리 셀들의 어레이를 구비하는 불휘발성 메모리 장치를 프로그램 하는 방법으로서, 제 1 상태의 제 1 데이터 세트가 기입되는 메모리 셀들을 프로그램 하는 단계, 및 상기 프로그램 된 메모리 셀들의 임계 전압 분포가 소정의 독출전압보다 커지도록 상기 프로그램 된 메모리 셀들의 임계 전압 분포를 밀집시키는 단계를 구비한다. 본 발명에 따른 불휘발성 메모리 장치의 프로그램 방법은 상위비트에 대한 프로그램이 이루어지는 도중에 인터럽트 등에 의해 프로그램이 중단되는 경우에도 하위비트에 저장된 데이터를 안정적으로 독출할 수 있는 장점이 있다.

Description

멀티-레벨 불휘발성 메모리 장치의 프로그램 방법{Program method for multi-level non-volatile memory device}
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 불휘발성 메모리 장치의 블록도이다.
도 2는 불휘발성 메모리 장치에서 데이터 저장 상태와 임계 전압 분포의 관계를 나타내는 그래프이다.
도 3은 멀티-레벨 불휘발성 메모리 장치의 프로그램 동작을 설명하기 위한 도면이다.
도 4는 멀티-레벨 불휘발성 메모리 장치의 독출 동작을 설명하기 위한 도면이다.
도 5는 멀티-레벨 불휘발성 메모리 장치의 프로그램 동작을 설명하기 위한 도면이다.
도 6은 멀티-레벨 불휘발성 메모리 장치의 상위비트 프로그램 과정 중 인터럽트에 의해 발생할 수 있는 문제점을 설명하기 위한 도면이다.
도 7은 본 발명의 실시예에 따른 프로그램 방법을 설명하기 위한 도면이다.
도 8은 본 발명의 실시예에 따라 상위비트를 프로그램 하는 도중 인터럽트가 발생하여 한 경우를 설명하기 위한 도면이다.
본 발명은 불휘발성 메모리 장치에 관한 것으로서, 특히 멀티-레벨 불휘발성 메모리 장치의 프로그램 방법에 관한 것이다.
전기적으로 소거 및 프로그램이 가능한 불휘발성 메모리 장치는 전원이 공급되지 않는 상태에서도 데이터를 보존할 수 있는 특징을 가지고 있으며, 대표적인 것으로 플래시 메모리가 있다.
플래시 메모리는 일반적으로 낸드(NAND)형 플래시 메모리와 NOR형 플래시 메모리로 구분된다. NOR형 플래시 메모리는 메모리 셀들이 비트라인과 워드라인에 각각 독립적으로 연결된다. 따라서 NOR형 플래시 메모리는 랜덤 액세스 시간 특성이 우수한 반면, 집적하기에는 어려움이 있다.
NAND형 플래시 메모리는 복수의 메모리 셀들이 직렬로 연결되는 셀 스트링 구조를 가진다. 따라서 NAND형 플래시 메모리는 집적하기 용이할 뿐만 아니라 낮은 가격으로 공급될 수 있다. 이러한 이유로 고집적 플래시가 필요한 경우 NAND형 플래시 메모리가 사용되며, 또한 각종 휴대용 제품들의 데이터 메모리로서 NAND형 플래시 메모리가 사용되고 있다.
플래시 메모리를 구성하는 메모리 셀들은 제어 게이트, 플로팅 게이트, 소스, 및 드레인을 구비하는 셀 트랜지스터로 구성된다. 플래시 메모리의 셀 트랜지 스터는 F-N 터널링 메커니즘에 의해서 프로그램 되거나 소거된다.
셀 트랜지스터의 소거 동작은 셀 트랜지스터의 제어 게이트에 접지 전압을 인가하고, 반도체 기판(또는 벌크)에 전원 전압보다 높은 고전압을 인가함으로써 수행된다. 이러한 소거 바이어스 조건에 따르면, 플로팅 게이트와 벌크 사이의 큰 전압 차에 의해 이들 사이에 강한 전계가 형성되며, 그 결과 부유 게이트에 존재하는 전자들은 F-N 터널링 효과에 의해서 벌크로 방출된다. 이 때, 소거된 셀 트랜지스터의 임계 전압은 음의 방향으로 이동된다.
셀 트랜지스터의 프로그램 동작은 제어 게이트에 전원 전압보다 높은 고전압을 인가하고, 드레인 및 벌크에 접지 전압을 인가함으로써 이루어진다. 이러한 바이어스 조건 하에서, 전자들이 F-N 터널링 효과에 의해서 셀 트랜지스터의 플로팅 게이트에 주입된다. 이 때 프로그램 된 셀 트랜지스터의 임계 전압은 양의 방향으로 이동된다.
도 1은 불휘발성 메모리 장치의 블록도로서, 특히 NAND형 플래시 메모리 장치의 블록도이다. NAND형 플래시 메모리 장치(100)는 메모리 셀 어레이(110), 행 선택 회로(130), 및 페이지 버퍼 회로(150)를 구비한다.
메모리 셀 어레이(110)는 복수의 메모리 블록들(미도시)로 나뉘어져 있으며, 각각의 메모리 블록은 열 방향으로 신장하는 복수의 스트링들(110_1 내지 110_M)을 구비한다. 도 1에서는 설명의 편의를 위해 하나의 메모리 블록만을 도시하였다.
각각의 스트링은 스트링 선택 트랜지스터(string selecting transistor: SST), 접지 선택 트랜지스터(ground selecting transistor; GST), 및 스트링 선택 트랜지스터(SST)와 접지 선택 트랜지스터(GST) 사이에 직렬로 연결되는 복수의 메모리 셀 트랜지스터들(memory cell transistors: MCT<0> 내지 MCT<N-1>)을 구비한다.
스트링 선택 트랜지스터(SST)의 게이트는 스트링 선택 라인(string selection line: SSL)에 연결되고, 드레인은 대응하는 비트 라인(BLe 또는 BLo)에 연결된다. 접지 선택 트랜지스터(GST)의 게이트는 접지 선택 라인(ground selection line: GSL)에 연결되고, 소스는 공통 소오스 라인(common source line; CSL)에 연결된다. 복수의 메모리 셀 트랜지스터들(MCT<0> 내지 MCT<N-1>)의 제어 게이트들은 대응하는 워드 라인들(WL<0> 내지 WL<N-1>)에 각각 연결된다.
여기서 라인들(SSL, WL<0> 내지 WL<N>, GSL)의 전압 레벨은 소정의 타이밍 제어신호(미도시)에 응답하여 행 선택 회로(130)에 의해 제어되며, 이웃하는 각각의 비트라인들 쌍들(BLe, BL0)의 전압 레벨은 페이지 버퍼 회로(150)에 구비되는 각각의 페이지 버퍼(미도시)에 의해 제어된다.
여기서, 라인들(SSL, WL0 내지 WLn, GSL)이 제어되는 동작과 비트라인 쌍들(BLe, BLo)이 제어되는 동작은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자라면 누구나 알 수 있으므로, 이에 대한 구체적인 설명은 생략한다.
최근에는 플래시 메모리의 집적도를 더욱 향상시키기 위해서 한 개의 메모리 셀에 복수의 데이터를 저장하는 멀티-레벨 플래시 메모리에 대한 연구가 활발히 진행되고 있다. 멀티-레벨 플래시 메모리의 메모리 셀에는 2 비트 이상의 멀티-비트가 저장될 수 있다. 이렇게 멀티-비트를 저장하는 메모리 셀을 멀티-레벨 셀(multi-level cell)이라 하고, 이에 대해 단일-비트를 저장하는 메모리 셀을 단일-레벨 셀(single-level cell)이라 한다. 멀티-레벨 셀은 멀티-비트를 저장하므로, 2개 이상의 임계 전압 분포를 가지며 이에 대응되는 2개 이상의 데이터 저장 상태를 갖는다.
도 2는 불휘발성 메모리 장치에서 데이터 저장 상태와 임계 전압 분포의 관계를 나타내는 그래프로, 특히 2 비트를 저장하는 멀티-레벨 셀에 대한 그래프이다. 2 비트를 저장하는 멀티-레벨 셀은 4 개의 데이터 저장 상태, 즉 11, 01, 10, 00 을 가질 수 있다. 도 2에서 11은 소거된 상태이고, 01, 10, 및 00은 프로그램 된 상태이다.
도 2에 도시된 바와 같이, 4 개의 데이터 저장 상태의 분포는 멀티-레벨 셀의 임계 전압 분포들에 대응된다. 예를 들어, 멀티-레벨 셀의 임계 전압 분포들이 각각 VTH1~VTH2, VTH3~VTH4, VTH5~VTH6, VTH7~VTH8 이라 가정하면, 데이터 저장상태 11, 01, 10, 00 은 각각 VTH1~VTH2, VTH3~VTH4, VTH5~VTH6, VTH7~VTH8 에 대응된다. 즉, 멀티-레벨 셀의 임계 전압이 4 가지 임계 전압 분포들 중 어느 하나에 대응되면, 11, 01, 10, 00 중 해당하는 2 비트의 데이터가 멀티-레벨 셀에 저장된다.
멀티-레벨 불휘발성 메모리 장치를 프로그램하고 독출하는 방법으로는 여러 가지 방법이 사용될 수 있으며, 이러한 방법들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 널리 알려져 있다. 이러한 방법들 중 일예가 도 3과 도 4에 도시되어 있다.
도 3은 멀티-레벨 불휘발성 메모리 장치의 프로그램 동작을 설명하기 위한 도면으로, 도 3의 (a)는 하위비트(least significant bit: LSB), 도 3의 (c)는 상위비트(most significant bit: MSB)를 프로그램 하는 동작을 설명하기 위한 도면이고, 도 3의 (b)는 하위비트를 프로그램한 후 임계 전압 분포의 변화를 설명하기 위한 도면이다.
이하에서는 ISPP(incremental step pulse programming) 방식으로 프로그램 되는 것으로 가정하여 설명한다. ISPP 방식에서는, 프로그램 전압이 점진적으로 높아지면서 메모리 셀에 대한 프로그램이 반복적으로 수행되므로, 메모리 셀의 임계 전압 분포를 정확하게 제어할 수 있다.
도 3에 도시된 프로그램 방법은 하위비트를 프로그램 하는 제 1 프로세스와 상위비트를 프로그램 하는 제 2 프로세스로 구성된다. 제 1 프로세스(도 3의 (a) 참조)에서는, 프로그램 속도를 빠르게 하기 위해서 큰 증가 폭을 갖는 프로그램 전압을 사용한다. 이에 따라 메모리 셀의 상태는 소거상태(“1”)에서 프로그램 상태(“0”)로 이동한다(P1). 도 3의 (a)에 도시된 바와 같이, 큰 증가 폭을 갖는 프로그램 전압을 사용하므로 프로그램 된 셀은 넓은 임계 전압 분포를 갖는다.
선택된 셀이 프로그램된 후에는 프로그램된 셀의 주위의 셀들이 프로그램 된다. 이 과정에서 프로그램된 셀은 방해현상(disturbance)를 받게 되며, 이에 따라 도 3의 (b)에 도시된 바와 같이, 프로그램된 셀의 임계 전압 분포는 소정의 폭(D) 만큼 더 넓어지게 된다. 그러나 방해현상에 의해 임계 전압 분포가 넓어지는 현상은 후술되는 제 2 프로세스(즉 상위비트를 프로그램 하는 프로세스)에 의해 상쇄된 다.
상위비트를 프로그램 하는 제 2 프로세스는 하위비트의 상태와 상위비트로 로딩(loading)되는 비트에 따라 달라진다(도 3의 (c) 참조). 먼저, 하위비트가 “1”(즉 소거상태)인 셀들 중 상위비트로 “1”이 로딩 되는 셀에 대해서는 프로그램이 수행되지 않는다. 반면, 하위비트가 “1”(즉 소거상태)인 셀들 중 상위비트로 “0”이 로딩 되는 셀은 “01” 상태로 프로그램 된다(P2).
또한 하위비트가 “0”(즉 프로그램 된 상태)인 셀들 중 상위비트로 “1”이 로딩 되는 셀은 “10”으로 프로그램 되고(P3), 하위비트가 “0”(즉 프로그램 된 상태)인 셀들 중 상위비트로 “0”이 로딩 되는 셀은 “00”으로 프로그램 된다(P4). 한편 도 3의 (c)에 도시된 바와 같이, 하위비트가 프로그램된 셀에 대한 상위비트 프로그램에 의해 임계 전압 분포가 좁아지게 되므로, 하위비트 프로그램 후 주위 셀들의 프로그램 과정에서 방해현상에 의해 임계 전압 분포가 넓어지는 효과는 상쇄되며, 또한 임계 전압 전압 분포를 더욱 정밀하게 제어할 수 있다.
하위비트만 프로그램 된 경우 프로그램 된 상태(“0”)의 임계 전압 분포(도 4의 (a) 참조)는, 상위비트가 프로그램 된 상태 중 하위비트가 “1”인 상태, 즉 “'01”상태의 임계 전압 분포(도 4의 (b) 참조)와 중첩된다. 즉 하위비트를 독출하는 경우, 상위비트가 프로그램 되었는지 여부에 따라 하위비트가 “0” 또는 “1”로 다르게 독출될 수 있다.
따라서 메모리 셀에 저장된 데이터를 정확하게 독출하기 위해서는, 상위비트가 프로그램 되었는지 여부를 나타낼 필요가 있다. 도 3 및 도 4의 예에서는 상위 비트가 프로그램 되어있는지 여부를 나타내는 플래그 셀(이하 ‘상위비트 플래그 셀(MSB flag cell)’이라 함)을 두고 상위비트 플래그 셀의 상태에 따라 독출 동작이 수행된다.
도 4는 멀티-레벨 불휘발성 메모리 장치의 독출 동작을 설명하기 위한 도면으로 도 4의 (a)는 상위비트가 프로그램 되지 않은 상태이고, 도 4의 (b)는 상위비트가 프로그램 된 상태이다. 도 4의 (a)와 (b)에는 메모리 셀의 임계 전압 분포와 각각의 임계 전압에 따라 하위비트와 상위비트를 독출할 때 출력되는 데이터, 그리고 독출 동작 시 워드라인 전압이 도시되어 있다.
상위비트가 프로그램 되지 않은 경우에는 제 1 독출전압(VR1)을 기준으로 하위비트가 다른 값을 갖는 반면, 상위비트가 프로그램 된 경우에는제 2 독출전압(VR2)을 기준으로 하위비트가 다른 값을 갖는다. 따라서 상위비트가 프로그램 되었는지 여부에 따라 하위비트를 독출하는 알고리즘이 다르게 적용될 것이다.
먼저 상위비트가 프로그램 된 경우(도 4의 (b) 참조), 제 2 독출전압(VR2)를 기준으로 하위비트가 독출된다. 즉 메모리 셀이 제 2 독출전압(VR2)을 기준으로 온(on) 셀이면 "1"이 출력되고, 오프(off) 셀이면 "0"이 출력된다. 한편 상위비트의 독출을 위해서는, 제 1 내지 제 3 독출전압(VR1 내지 VR3)을 기준으로 순차적으로 메모리 셀이 온 셀인지 오프 셀인지 여부를 판단하고, 판단 결과에 따라 상위비트가 독출된다.
한편 도 4의 (a)에 도시된 바와 같이, 상위비트가 프로그램 되어 있지 않은 경우에도 상위비트가 프로그램 되어 있는 경우와 같이 제 2 독출전압(VR2)을 기준 으로 하위비트가 독출된다면 하위비트는 정확하게 독출될 수 없다. 따라서 이 경우에는 제 2 독출전압(VR2)이 아닌 제 1 독출전압(VR1)을 기준으로 독출동작이 수행되어야 한다.
상술한 바와 같이, 상위비트가 프로그램 되어 있는지 여부에 따라 하위비트를 독출할 때 제 1 독출전압(VR1)을 기준으로 독출할지 또는 제 2 독출전압(VR2)을 기준으로 독출할지 결정되어야 한다.
도 4에서는 상위비트 플래그 셀이 프로그램 되었는지 여부에 따라 제 2 독출전압(VR2)을 기준으로 독출된 하위비트를 그대로 출력할 것인지 또는 제 1 기준전압을 기준으로 독출 동작을 재수행할 것인지 결정된다. 즉 먼저 제 2 독출전압(VR2)을 기준으로 상위비트 플래그 셀이 프로그램 되었는지 판단하고, 판단 결과에 따라 하위비트 독출 동작이 선택적으로 수행된다.
한편 도 4의 (a)에 도시된 바와 같이, 상위비트가 프로그램 되어 있지 않은 경우 상위비트는 소거상태이므로, 상위비트가 독출 되는 경우 “1”이 출력된다. 그런데 상위비트가 프로그램 되어 있는 경우의 독출 동작에서는 셀의 임계 전압이 제 1 독출전압(VR1)과 제 2 독출전압(R2) 사이에 있는 경우 “0”이 출력된다.
따라서 상위비트가 프로그램 되어 있지 않은 경우 상위비트 독출 동작에서는, 먼저 제 1 독출전압(VR1)을 기준으로 상위비트 플래그 셀이 프로그램 되어 있는지를 판단하고, 상위비트 플래그 셀이 프로그램 되어 있지 않은 것으로 판단되면 상위비트를 출력하기 위한 데이터 래치를 “1”로 리셋한 후 독출 동작을 종료함으로써 “1”이 출력되도록 한다.
도 5는 멀티-레벨 불휘발성 메모리 장치의 프로그램 동작을 설명하기 위한 도면으로, 도 5의 (a)는 데이터가 저장되는 메인 셀의 임계 전압 분포이고, 도 5의 (b)는 상위비트 플래그 셀의 임계 전압 분포이다. 또한 도 5에서 (1)는 하위비트가 프로그램 된 상태, (2)는 “00” 상태로 프로그램 하는 동작, 그리고 (3)은 “01” 및 “10” 상태로 프로그램 하는 동작을 나타낸다.
도 5에 도시된 프로그램 과정에 따라 상위비트를 프로그램 하는 경우에는, 먼저 “00” 상태로 프로그램 되고(P4) “00” 상태로의 프로그램과 동시에 상위비트 플래그 셀에 대한 프로그램이 동시에 수행된다(PF)(도 5의 (2) 참조). 다음으로 "10" 상태 및 “01” 상태로의 프로그램이 수행된다(P2 및 P3)(도 5의 (3) 참조).
도 5의 프로그램 과정에서, 프로그램된 상위비트 플래그 셀의 임계 전압 분포는 메인 셀의 “00” 상태의 임계 전압 분포와 동일한 것으로 가정한다. 또한 "10" 상태 및 “01” 상태로의 프로그램은 동시에 수행될 수도 있고 순차적으로 따로 수행될 수도 있다.
하위비트에 대한 프로그램이 완료된 후 상위비트에 대한 프로그램과 상위비트 플래그 셀에 대한 프로그램이 수행되는데, 이 과정에서 리셋 등에 의한 인터럽트 등에 의해 프로그램 동작의 수행 중에 프로그램 동작이 중단되는 경우가 발생할 수 있다. 이 경우 상위비트에 대한 프로그램과 상위비트 플래그 셀에 대한 프로그램이 완전히 수행되지 못함으로 인해서 하위비트가 잘못 독출될 가능성이 있다.
도 6은 멀티-레벨 불휘발성 메모리 장치의 상위비트 프로그램 과정 중 인터럽트에 의해 발생할 수 있는 문제점을 설명하기 위한 도면으로, 도 6의 (a)는 데이 터가 저장되는 메인 셀의 임계 전압 분포이고, 도 6의 (b)는 상위비트 플래그 셀의 임계 전압 분포이다. 또한 도 6에서 (1)는 하위비트가 프로그램 된 상태, (2)는 “00” 상태로 프로그램 하는 동작 중 인터럽트 등에 의해 프로그램 동작이 중단된 경우를 나타낸다.
도 6을 참조하면, 상위비트를 “00” 상태로 프로그램 하는 도중에(P4) 인터럽트 등에 프로그램 동작이 중단되는 경우(도 6의 (a) 참조), 상위비트 플래그 셀에 대한 프로그램 동작(PF) 또한 동시에 중단된다(도 6의 (b) 참조). 도 5와 도 6을 비교하면, 이 경우 메인 셀과 상위비트 플래그 셀의 임계 전압의 분포는 모두 목표로 하는 임계 전압 분포의 레벨(즉 제 3 독출전압(VR3)보다 높은 레벨)보다 낮은 레벨에서 중단된다(도 6의 (a)에서의 “00” 상태와 도 6의 (b)에서 “0” 상태 참조).
이렇게 상위비트에 대한 프로그램이 중단된 경우라 하더라도, 메모리 셀의 하위비트에는 유효한 정보가 저장되어 있으므로, 하위비트에 대한 독출은 유효하게 이루어져야 할 것이다. 이하에서는 도 6을 참조하여 상위비트에 대한 프로그램이 중단된 경우 하위비트를 독출하는 경우 발생될 수 있는 문제점을 설명한다.
멀티-레벨 불휘발성 메모리 장치에서 하위비트를 독출하는 경우, 먼저 제 2 독출전압(VR2)를 기준으로 상위비트 플래그 셀이 프로그램 되었는지 여부를 판단한다. 도 6의 (b)에 도시된 바와 같이, 상위비트에 대한 프로그램이 중단된 경우 상위비트 플래그 셀의 임계 전압 분포는 제 2 독출전압(VR2)를 기준으로 상하로 분포하게 된다.
따라서 상위비트 플레그 셀의 임계 전압이 도 6의 (b)의 (1) 영역에 경우 있는 상위비트 플레그 셀의 데이터는 “1”로 독출되며, 따라서 상위비트 플래그 셀에 대응하는 페이지 전체에 대해서는 상위비트에 대한 프로그램이 이루어지지 않은 것으로 판단된다. 이 경우에는 제 1 독출전압(VR1)을 기준으로 다시 한 번 하위비트에 대한 독출이 수행되므로, 하위비트에 저장된 데이터가 정확하게 독출될 수 있다.
반면, 상위비트 플레그 셀의 임계 전압이 도 6의 (b)의 (2) 영역에 경우 있는 상위비트 플레그 셀의 데이터는 “0”로 독출되며, 따라서 상위비트 플래그 셀에 대응하는 페이지 전체에 대해서는 상위비트에 대한 프로그램이 이루어진 것으로 판단된다. 이 경우에는 처음에 제 2 독출전압(VR2)를 기준으로 독출된 결과가 출력된다.
따라서 도 6의 (a)를 참조하면, “10” 상태(1)와 “00” 상태(2)에 있는 셀 중 제 2 독출전압(VR2)보다 낮은 임계 전압을 가지는 셀은 하위비트로서 “1”을 출력하는 반면, 제 2 독출전압(VR2)보다 높은 임계 전압을 가지는 셀은 하위비트로서 “0”을 출력한다.
결국 상위비트에 대한 프로그램이 이루어지는 도중에 인터럽트 등에 의해 프로그램이 중단되는 경우, 하위비트에 저장된 데이터가 손상될 수 있는 문제점이 있다.
본 발명이 이루고자하는 기술적 과제는 상위비트에 대한 프로그램이 이루어 지는 도중에 인터럽트 등에 의해 프로그램이 중단되는 경우에도 하위비트에 저장된 데이터가 손상되지 않도록 불휘발성 메모리 장치를 프로그램 하는 방법을 제공하는데 있다.
상기 기술적 과제를 달성하기 위한 본 발명의 실시예에 따른 프로그램 방법은 멀티-레벨 메모리 셀들의 어레이를 구비하는 불휘발성 메모리 장치를 프로그램 하는 방법으로서, 제 1 상태의 제 1 데이터 세트가 기입되는 메모리 셀들을 프로그램 하는 단계, 및 상기 프로그램 된 메모리 셀들의 임계 전압 분포가 소정의 독출전압보다 커지도록 상기 프로그램 된 메모리 셀들의 임계 전압 분포를 밀집시키는 단계를 구비한다.
이 때 상기 밀집된 임계 전압 분포는 상기 제 1 상태의 제 1 데이터 세트가 저장된 메모리 셀들 중 제 2 상태의 제 2 데이터 세트가 저장되는 메모리 셀들의 임계 전압 분포와 동일한 것이 바람직하다.
또한 상기 프로그램 방법은 상기 메모리 셀들에 상기 제 2 데이터 세트가 기입된 된 것을 나타내도록 데이터 플래그 셀을 프로그램 하는 단계를 더 구비할 수도 있다.
또한 상기 프로그램 방법은 상기 메모리 셀들 중 제 1 상태의 제 2 데이터 세트가 기입되는 메모리 셀들을 프로그램 하는 단계를 더 포함할 수도 있다.
한편 상기 제 1 상태의 제 2 데이터 세트가 기입되는 메모리 셀들을 프로그램 하는 단계는 제 2 상태의 제 1 데이터가 기입된 메모리 셀들 중 제 1 상태의 제 2 데이터가 기입되는 메모리 셀들을 프로그램 하는 단계, 및 상기 제 1 상태의 제 1 데이터가 기입된 메모리 셀들 중 제 1 상태의 제 2 데이터가 기입되는 메모리 셀들을 프로그램 하는 단계를 구비한다.
이 때 상기 제 2 상태의 제 1 데이터가 기입된 메모리 셀들 중 제 1 상태의 제 2 데이터가 기입되는 메모리 셀들을 프로그램 하는 단계와 상기 데이터 플래그 셀을 프로그램 하는 단계는 동시에 수행되거나, 또는 상기 제 1 상태의 제 1 데이터가 기입된 메모리 셀들 중 제 1 상태의 제 2 데이터가 기입되는 메모리 셀들을 프로그램 하는 단계와 상기 데이터 플래그 셀을 프로그램 하는 단계는 동시에 수행될 수도 있다.
한편 제 1 상태의 제 1 세트만 저장된 메모리 셀의 임계 전압 분포와 제 2 상태의 제 1 세트와 제 1 상태의 제 2 세트가 저장된 셀의 임계 전압 분포는 서로 중첩된다.
한편 상기 소정의 독출전압은 상기 제 2 세트가 저장된 후 상기 제 1 세트의 데이터를 독출하기 위한 전압이다.
한편 상기 제 1 세트는 상기 데이터의 하위비트들이고, 상기 제 2 세트는 상기 데이터의 상위비트들인 것이 바람직하며, 또한 상기 제 1 상태는 “0” 이고, 상기 제 2 상태는 “1” 인 것이 바람직하다.
상기 기술적 과제를 달성하기 위한 본 발명의 다른 실시예에 따른 데이터 저장 방법은, 멀티-레벨 메모리 셀들의 어레이를 구비하는 불휘발성 메모리 장치에 데이터를 저장하는 방법으로서, 상기 멀티-레벨 메모리 셀들에 상기 데이터의 제 1 세트를 저장하는 단계, 상기 제 1 세트 중 제 1 상태의 데이터가 저장된 메모리 셀들의 임계 전압 분포가 소정의 독출전압보다 커지도록 상기 제 1 상태의 데이터가 저장된 메모리 셀들의 임계 전압 분포를 밀집시키는 단계, 및 상기 메모리 셀들에 상기 데이터의 제 2 세트를 저장하는 단계를 구비한다.
한편 상기 밀집된 임계 전압 분포는 상기 제 1 상태의 제 1 세트가 저장된 메모리 셀들 중 제 2 상태의 제 2 세트가 저장되는 메모리 셀들의 임계 전압 분포와 동일한 것이 바람직하다.
한편 상기 제 2 세트를 저장하는 단계는 상기 제 1 상태의 제 1 세트가 저장된 메모리 셀들 중 제 1 상태의 제 2 세트가 저장될 셀에 제 1 상태의 제 2 세트를 저장하는 단계, 및 제 2 상태의 제 1 세트가 저장된 메모리 셀들 중 제 1 상태의 제 2 세트가 저장될 셀에 제 1 상태의 제 2 세트를 저장하는 단계를 구비한다.
한편 상기 저장 방법은 상기 메모리 셀들에 상기 제 2 세트가 저장된 것을 나타내도록 데이터 플래그 셀을 설정하는 단계를 더 구비할 수 있다.
또한 상기 데이터 플래그 셀을 설정하는 단계는, 상기 제 1 상태의 제 1 세트가 저장된 메모리 셀들 중 제 1 상태의 제 2 세트가 저장될 셀에 제 1 상태의 제 2 세트를 저장하는 동작과 동시에 수행되거나 또는 상기 데이터 플래그 셀을 설정하는 단계는, 제 2 상태의 제 1 세트가 저장된 메모리 셀들 중 제 1 상태의 제 2 세트가 저장될 셀에 제 1 상태의 제 2 세트를 저장하는 동작과 동시에 수행될 수 있다.
한편 제 1 상태의 제 1 세트만 저장된 메모리 셀의 임계 전압 분포와 제 2 상태의 제 1 세트와 제 1 상태의 제 2 세트가 저장된 셀의 임계 전압 분포는 서로 중첩된다.
한편 상기 소정의 독출전압은 상기 제 2 세트가 저장된 후 상기 제 1 세트의 데이터를 독출하기 위한 전압인 것이 바람직하다.
한편 상기 제 1 세트는 상기 데이터의 하위비트들이고, 상기 제 2 세트는 상기 데이터의 상위비트들인 것이 바람직하며, 상기 제 1 상태는 “0” 이고, 상기 제 2 상태는 “1” 인 것이 바람직하다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
이하에서는 본 발명과 관련하여 특별히 설명하는 것을 제외하고는 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에서 알려진 구성들이 적용될 수 있다. 예를 들어, 멀티-레벨 메모리 셀, 상위비트 플래그 셀을 프로그램 하기 위해 ISPP 방법 등을 이용하여 프로그램 전압을 인가하고 셀의 임계 전압을 검증하여 프로그램을 수행하는 구성 등은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에서 알려진 구성들을 이용하여 구현될 수 있을 것이다.
이하에서는 도 7 및 도 8을 참조하여 멀티-레벨 메모리 셀들의 어레이를 구 비하는 불휘발성 메모리 장치를 프로그램 하는 본 발명의 실시예에 대해 설명한다. 본 발명의 실시예에서 메모리 셀들의 어레이에 저장되는 데이터는 제 1 세트와 제 2 세트로 나누어 각각 저장된다. 이하에서 제 1 세트는 하위비트이고 제 2 세트는 상위비트인 것으로 설명하나, 본 발명이 이러한 데이터 간의 대응관계에 한정되는 것은 아니다.
도 7은 본 발명의 실시예에 따른 프로그램 방법을 설명하기 위한 도면으로, 도 7의 (a)는 메모리 셀들의 임계 전압 분포이고 도 7의 (b)는 데이터 플래그 셀의 임계 전압 분포이다.
본 발명의 실시예에 따른 프로그램 방법에서는, 먼저 메모리 셀에 하위비트가 저장된다. 하위비트는 데이터의 제 1 상태(“0”) 또는 제 2 상태(“1”)에 따라 서로 다른 임계 전압 분포를 가지도록 저장되는데, 제 1 상태의 데이터가 저장되는 메모리 셀에는 소정의 프로그램 전압이 인가됨으로써 메모리 셀이 프로그램 된다. 본 발명의 실시예에서는 ISPP 방법에 따라 프로그램 전압이 인가되는 것이 바람직하다.
한편 이하의 설명에서 제 1 상태는 “0”이고, 제 2 상태는 “1”인 것으로 설명하나, 본 발명이 이러한 데이터 상태 간의 대응관계에 한정되는 것은 아니다. 또한 본 발명의 실시예에서 하위비트를 프로그램 할 때 큰 증가 폭을 갖는 프로그램 전압을 사용하므로, 도 7의 (a)의 <1>에 도시된 바오 같이 프로그램 된 메모리 셀, 즉 "0" 이 저장된 메모리 셀은 넓은 임계 전압 분포를 갖는다.
다음으로 본 발명의 실시예에서는, 메모리 셀에 하위비트가 저장된 후 셀에 상위비트를 저장하기 전에, 하위비트가 “0”으로 프로그램 된 메모리 셀의 임계 전압 분포가 소정의 독출전압(VR2)보다 커지도록 하위비트가 “0”으로 프로그램 된 메모리 셀의 임계 전압 분포를 밀집시키다(P3, 도 7의 (a)의 <2> 참조). 이 때 소정의 독출전압(VR2)은, 메모리 셀들에 하위비트와 상위비트가 모두 저장된 것으로 가정할 때, 하위비트를 독출하기 위한 전압이다.
한편 하위비트가 “0”으로 프로그램 된 메모리 셀의 임계 전압 분포를 밀집시키는 동작은 소정의 프로그램 전압을 인가하여 메모리 셀을 프로그램 하는 동작을 통해 수행될 수 있다.
본 발명의 실시예에서, 밀집된 임계 전압 분포(도 7의 (a)의 <2>에서의 “10”/“00” 상태 참조)는 하위비트 “0” 및 상위비트 “1”로 프로그램 된 메모리 셀들, 즉 “10” 상태로 프로그램 된 메모리 셀들의 임계 전압 분포(도 7의 (a)의 <3>에서 “10” 상태 참조)와 동일한 것이 바람직하다. 따라서 “0”으로 프로그램 된 메모리 셀의 임계 전압 분포를 밀집시키는 동작은 하위비트가 “0”으로 프로그램 된 셀들을 “10” 상태로 프로그램 하는 동작을 이용하여 수행될 수 있을 것이다.
한편 도 7의 (b)를 참조하면, 메모리 셀에 하위비트가 저장되고 “0” 상태로 프로그램 된 셀들의 임계 전압 분포를 밀집시키는 동작이 수행되는 동안, 상위비트가 프로그램 되었는지를 나타내는 데이터 플래그 셀은 소거 상태, 즉 “1”이 저장된 상태를 유지한다.
하위비트가 “0”으로 프로그램 된 메모리 셀의 임계 전압 분포를 밀집시킨 후, 메모리 셀에는 상위비트가 저장되고, 상위비트가 프로그램 되었음을 나타내도록 데이터 플래그 셀을 설정한다.
먼저 도 7의 (a)를 참조하여 메모리 셀에 상위비트를 저장하는 과정을 좀 더 상세히 설명한다. 하위비트 “1”이 저장된 메모리 셀의 임계 전압 분포와 “11”이 저장된 메모리 셀의 임계 전압 분포가 동일하고, 하위비트 “0”이 저장된 셀에 대해 임계 전압 분포를 밀집시킴으로써 밀집된 임계 전압 분포는 “10”이 저장된 메모리 셀의 임계 전압 분포와 동일하다. 따라서 도 7의 (a)에서 상위비트의 저장은 상위비트 “0”이 저장되는 메모리 셀을 프로그램 하는 것에 의해 수행될 수 있을 것이다.
도 7의 (a)를 참조하면, 먼저 하위비트 “0”이 저장된 셀들 중에서 상위비트 “0”이 저장되는 셀들에 상위비트“0”을 저장한다. 도 7의 (a)의 <2>에 도시된 바와 같이, 하위비트 “0”이 저장된 셀들의 임계 전압 분포는 “10” 상태로 프로그램 된 셀의 임계 전압 분포(도 7의 (a)의 <3> 참조)와 동일한 임계 전압 분포를 갖도록 밀집되어 있다. 따라서 하위비트 “0”이 저장된 셀들 중에서 상위비트 “0”이 저장되는 셀들에 상위비트“0”을 저장하는 과정은 “10”/“00” 상태의 임계 전압 분포를 갖는 메모리 셀들을 “00” 상태로 프로그램 함(P4)으로써 수행되다.
하위비트 “0”이 저장된 셀들 중에서 상위비트 “0”이 저장되는 셀들에 상위비트 “0”을 저장한 후(즉, 메모리 셀들을 “00” 상태로 프로그램 한 후), 하위비트“1”이 저장된 셀들 중에서 상위비트 “0”이 저장되는 셀들에 상위비트 “ 0”을 저장한다. 하위비트“1”이 저장된 셀들 중에서 상위비트 “0”이 저장되는 셀들에 상위비트 “0”을 저장하는 과정은 소거 상태의 메모리 셀들을 “01” 상태로 프로그램 함(P2)으로써 수행되다.
한편 이하에서는 도 7의 (b)를 참조하여 데이터 플래그 셀을 데이터 플래그 셀을 설정하는 동작에 대해 상세히 설명한다. 도 7의 <2>와 <3>에 도시된 바와 같이, 데이터 플래그 셀은 하위비트가 프로그램 된 메모리 셀들의 임계 전압 분포를 밀집(P3)시킨 이후에 설정된다.
데이터 플래그 셀을 설정하는 동작은 소거 상태의 데이터 플래그 셀을 프로그램 함으로써 수행된다. 도 7의 실시예에서 데이터 플래그 셀에 대한 프로그램은 메모리 셀을 “00” 상태로 프로그램 하는 것과 동시에 수행된다. 이 경우 프로그램 된 데이터 플래그 셀의 임계 전압 분포는 “00” 상태의 메모리 셀의 임계 전압 분포와 동일할 것이다.
한편 도 7과는 달리, 데이터 플래그 셀에 대한 프로그램이 메모리 셀을 “01” 상태로 프로그램 하는 것과 동시에 수행될 수도 있을 것이다. 이 경우에도 데이터 플래그 셀의 임계 전압 분포는 적어도 소정의 독출전압(VR2)보다는 커야 할 것이다.
한편 도 7의 (a)의 <1>과 <4>를 참조하면, 하위비트만 프로그램 된 메모리 셀의 임계 전압 분포는 “01” 상태로 프로그램 된 메모리 셀의 임계 전압 분포와 중첩되는 것을 알 수 있다. 즉 하위비트만 프로그램 된 경우와 하위비트와 상위비트 모두 프로그램 된 경우에 있어서 하위비트를 독출하는 방법이 서로 다르며, 이 에 대해서는 상술하였다.
도 8은 본 발명의 실시예에 따라 상위비트를 프로그램 하는 도중 인터럽트가 발생하여 한 경우를 설명하기 위한 도면으로, 도 8의 (a)는 메모리 셀의 임계 전압 분포이고, 도 8의 (b)는 데이터 플래그 셀의 임계 전압 분포이다.
도 8에는 메모리 셀을 “00” 상태로 프로그램 하는 도중에 인터럽트가 발생된 경우가 도시되어 있다(도 8의 <3>을 참조). 도 8에서는 데이터 플래그 셀이 메모리 셀이 “00”으로 프로그램 되는 것(P4)과 동시에 프로그램(PF) 되므로, 인터럽트에 의해 메모리 셀과 데이터 셀에 대한 프로그램이 함께 중단된다. 따라서 도 8의 <3>에 도시된 바와 같이, 프로그램이 중단된 후 메모리 셀과 데이터 셀의 임계 전압 분포는 모두 목표로 하는 임계 전압 분포보다 낮은 레벨을 갖는다.
이 경우 데이터 플래그 셀의 임계 전압 분포는 독출전압(VR2)을 포함하도록 분포된다(도 8의 (b)의 <3> 참조). 멀티-레벨 불휘발성 메모리 장치의 하위비트를 독출할 때, 독출 방법은 상위비트가 프로그램 되었는지 여부에 따라 달라진다.
도 8의 (b)의 <3>을 참조하면, 독출전압(VR2)를 기준으로 데이터 플래그 셀의 임계 전압이 (1) 영역에 있는 것으로 결정되면, 데이터 플래그 셀에 “1”이 저장된 것으로 인식되어 상위비트에 대한 프로그램이 이루어지지 않은 것으로 인식된다. 이 경우에는 독출전압(VR1)을 기준으로 다시 한번 메모리 셀의 하위비트를 독출하게 된다.
반면 독출전압(VR2)를 기준으로 데이터 플래그 셀의 임계 전압이 (2) 영역에 있는 것으로 결정되면, 데이터 플래그 셀에 “0”이 저장된 것으로 인식되어 상위 비트에 대한 프로그램이 이루어진 것으로 인식된다. 이 경우에는 독출전압(VR2)을 기준으로 메모리 셀의 하위비트를 독출하게 된다.
즉 “00” 상태로 메모리 셀을 프로그램 하는 동시에 데이터 플래그 셀을 프로그램 하는 도중 인터럽트에 의해 프로그램이 중단되면, 데이터 플래그 셀에 저장된 데이터는 독출전압(VR2)를 기준으로 “1” 또는 “0”의 값으로 독출될 수 있다. 따라서 데이터 플래그 셀에 저장된 데이터가 “1” 또는 “0” 어느 것으로 독출되더라도 메모리 셀의 하위비트는 유효한 값으로 독출되어야 할 것이다.
본 발명의 실시예에서는 하위비트에 대한 프로그램이 수행된 후 상위비트에 대한 프로그램을 수행하기 전에, 하위비트가 프로그램 된 메모리 셀의 임계 전압 분포가 독출전압(VR2)보다 높은 레벨을 갖도록 하위비트가 프로그램 된 메모리 셀의 임계 전압 분포를 밀집시킨다(도 8의 (a)의 <2> 참조). 따라서 본 발명의 실시예에서는 독출전압(VR1)과 독출전압(VR2) 중 어느 독출전압을 기준으로 하위비트를 독출하더라도 하위비트가 정확하게 독출될 수 있다.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 불휘발성 메모리 장치의 프로그램 방법은 상위비트에 대한 프로그램이 이루어지는 도중에 인터럽트 등에 의해 프로그램이 중단되는 경우에도 하위비트에 저장된 데이터를 안정적으로 독출할 수 있는 장점이 있다.

Claims (21)

  1. 멀티-레벨 메모리 셀들의 어레이를 구비하는 불휘발성 메모리 장치에 데이터를 저장하는 방법에 있어서,
    상기 멀티-레벨 메모리 셀들에 상기 데이터의 제 1 세트를 저장하는 단계;
    상기 제 1 세트 중 제 1 상태의 데이터가 저장된 메모리 셀들의 임계 전압 분포가 소정의 독출전압보다 커지도록 상기 제 1 상태의 데이터가 저장된 메모리 셀들의 임계 전압 분포를 밀집시키는 단계; 및
    상기 메모리 셀들에 상기 데이터의 제 2 세트를 저장하는 단계를 구비하는 것을 특징으로 하는 저장 방법.
  2. 제 1 항에 있어서,
    상기 밀집된 임계 전압 분포는 상기 제 1 상태의 제 1 세트가 저장된 메모리 셀들 중 제 2 상태의 제 2 세트가 저장되는 메모리 셀들의 임계 전압 분포와 동일한 것을 특징으로 하는 저장 방법.
  3. 제 1 항에 있어서, 상기 제 2 세트를 저장하는 단계는,
    상기 제 1 상태의 제 1 세트가 저장된 메모리 셀들 중 제 1 상태의 제 2 세트가 저장될 셀에 제 1 상태의 제 2 세트를 저장하는 단계; 및
    제 2 상태의 제 1 세트가 저장된 메모리 셀들 중 제 1 상태의 제 2 세트가 저장될 셀에 제 1 상태의 제 2 세트를 저장하는 단계를 구비하는 것을 특징으로 하는 저장 방법.
  4. 제 1 항에 있어서,
    상기 메모리 셀들에 상기 제 2 세트가 저장된 것을 나타내도록 데이터 플래그 셀을 설정하는 단계를 더 구비하는 것을 특징으로 하는 저장 방법.
  5. 제 4 항에 있어서,
    상기 데이터 플래그 셀을 설정하는 단계는, 상기 제 1 상태의 제 1 세트가 저장된 메모리 셀들 중 제 1 상태의 제 2 세트가 저장될 셀에 제 1 상태의 제 2 세트를 저장하는 동작과 동시에 수행되는 것을 특징으로 하는 저장 방법.
  6. 제 4 항에 있어서,
    상기 데이터 플래그 셀을 설정하는 단계는, 제 2 상태의 제 1 세트가 저장된 메모리 셀들 중 제 1 상태의 제 2 세트가 저장될 셀에 제 1 상태의 제 2 세트를 저장하는 동작과 동시에 수행되는 것을 특징으로 하는 저장 방법.
  7. 제 1 항에 있어서,
    제 1 상태의 제 1 세트만 저장된 메모리 셀의 임계 전압 분포와 제 2 상태의 제 1 세트와 제 1 상태의 제 2 세트가 저장된 셀의 임계 전압 분포는 서로 중첩되 는 것을 특징으로 하는 저장 방법.
  8. 제 1 항에 있어서,
    상기 소정의 독출전압은 상기 제 2 세트가 저장된 후 상기 제 1 세트의 데이터를 독출하기 위한 전압인 것을 특징으로 하는 저장 방법.
  9. 제 1 항에 있어서,
    상기 제 1 세트는 상기 데이터의 하위비트들이고, 상기 제 2 세트는 상기 데이터의 상위비트들인 것을 특징으로 하는 저장 방법.
  10. 제 1 항에 있어서,
    상기 제 1 상태는 “0” 이고, 상기 제 2 상태는 “1” 인 것을 특징으로 하는 저장 방법.
  11. 멀티-레벨 메모리 셀들의 어레이를 구비하는 불휘발성 메모리 장치를 프로그램 하는 방법에 있어서,
    제 1 상태의 제 1 데이터 세트가 기입되는 메모리 셀들을 프로그램 하는 단계; 및
    상기 프로그램 된 메모리 셀들의 임계 전압 분포가 소정의 독출전압보다 커지도록 상기 프로그램 된 메모리 셀들의 임계 전압 분포를 밀집시키는 단계를 구비 하는 것을 특징으로 하는 프로그램 방법.
  12. 제 11 항에 있어서,
    상기 밀집된 임계 전압 분포는 상기 제 1 상태의 제 1 데이터 세트가 저장된 메모리 셀들 중 제 2 상태의 제 2 데이터 세트가 저장되는 메모리 셀들의 임계 전압 분포와 동일한 것을 특징으로 하는 저장 방법.
  13. 제 11 항에 있어서,
    상기 메모리 셀들에 상기 제 2 데이터 세트가 기입된 된 것을 나타내도록 데이터 플래그 셀을 프로그램 하는 단계를 더 구비하는 것을 특징으로 하는 프로그램 방법.
  14. 제 13 항에 있어서,
    상기 메모리 셀들 중 제 1 상태의 제 2 데이터 세트가 기입되는 메모리 셀들을 프로그램 하는 단계를 더 포함하는 것을 특징으로 하는 프로그램 방법.
  15. 제 14 항에 있어서, 상기 제 1 상태의 제 2 데이터 세트가 기입되는 메모리 셀들을 프로그램 하는 단계는,
    제 2 상태의 제 1 데이터가 기입된 메모리 셀들 중 제 1 상태의 제 2 데이터가 기입되는 메모리 셀들을 프로그램 하는 단계; 및
    상기 제 1 상태의 제 1 데이터가 기입된 메모리 셀들 중 제 1 상태의 제 2 데이터가 기입되는 메모리 셀들을 프로그램 하는 단계를 구비하는 것을 특징으로 하는 프로그램 방법.
  16. 제 15 항에 있어서,
    상기 제 2 상태의 제 1 데이터가 기입된 메모리 셀들 중 제 1 상태의 제 2 데이터가 기입되는 메모리 셀들을 프로그램 하는 단계와 상기 데이터 플래그 셀을 프로그램 하는 단계는 동시에 수행되는 것을 특징으로 하는 프로그램 방법.
  17. 제 15 항에 있어서,
    상기 제 1 상태의 제 1 데이터가 기입된 메모리 셀들 중 제 1 상태의 제 2 데이터가 기입되는 메모리 셀들을 프로그램 하는 단계와 상기 데이터 플래그 셀을 프로그램 하는 단계는 동시에 수행되는 것을 특징으로 하는 프로그램 방법.
  18. 제 11 항에 있어서,
    제 1 상태의 제 1 세트만 저장된 메모리 셀의 임계 전압 분포와 제 2 상태의 제 1 세트와 제 1 상태의 제 2 세트가 저장된 셀의 임계 전압 분포는 서로 중첩되는 것을 특징으로 하는 프로그램 방법.
  19. 제 11 항에 있어서,
    상기 소정의 독출전압은 상기 제 2 세트가 저장된 후 상기 제 1 세트의 데이터를 독출하기 위한 전압인 것을 특징으로 하는 프로그램 방법.
  20. 제 11 항에 있어서,
    상기 제 1 세트는 상기 데이터의 하위비트들이고, 상기 제 2 세트는 상기 데이터의 상위비트들인 것을 특징으로 하는 프로그램 방법.
  21. 제 11 항에 있어서,
    상기 제 1 상태는 “0” 이고, 상기 제 2 상태는 “1” 인 것을 특징으로 하는 프로그램 방법.
KR1020060085879A 2006-09-06 2006-09-06 멀티-레벨 불휘발성 메모리 장치의 프로그램 방법 KR100771882B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020060085879A KR100771882B1 (ko) 2006-09-06 2006-09-06 멀티-레벨 불휘발성 메모리 장치의 프로그램 방법
US11/847,980 US7508705B2 (en) 2006-09-06 2007-08-30 Method for programming a multi-level non-volatile memory device
JP2007230415A JP2008065977A (ja) 2006-09-06 2007-09-05 マルチレベル不揮発性メモリ装置でのプログラム方法
CN2007101596356A CN101174462B (zh) 2006-09-06 2007-09-06 用于编程多层非易失性存储装置的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060085879A KR100771882B1 (ko) 2006-09-06 2006-09-06 멀티-레벨 불휘발성 메모리 장치의 프로그램 방법

Publications (1)

Publication Number Publication Date
KR100771882B1 true KR100771882B1 (ko) 2007-11-01

Family

ID=39060397

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060085879A KR100771882B1 (ko) 2006-09-06 2006-09-06 멀티-레벨 불휘발성 메모리 장치의 프로그램 방법

Country Status (3)

Country Link
US (1) US7508705B2 (ko)
KR (1) KR100771882B1 (ko)
CN (1) CN101174462B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7990765B2 (en) 2008-09-22 2011-08-02 Samsung Electronics Co., Ltd. Least significant bit page recovery method used in multi-level cell flash memory device
US8942046B2 (en) 2012-04-26 2015-01-27 Samsung Electronics Co., Ltd. Method of programming a 3-dimensional nonvolatile memory device based on a program order of a selected page and a location of a string selection line
KR101512199B1 (ko) 2009-06-29 2015-04-14 에스케이하이닉스 주식회사 불휘발성 메모리 소자의 동작 방법
KR20190028999A (ko) * 2017-09-11 2019-03-20 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100771883B1 (ko) * 2006-09-06 2007-11-01 삼성전자주식회사 멀티-레벨 불휘발성 메모리 장치 및 프로그램 방법
US7609548B2 (en) * 2006-09-29 2009-10-27 Hynix Semiconductor Inc. Method of programming a multi level cell
KR100784867B1 (ko) * 2006-12-13 2007-12-14 삼성전자주식회사 엠에스비 프로그램 상태를 저장하는 플래그 셀들을구비하는 비휘발성 메모리 장치
KR101411976B1 (ko) * 2007-07-09 2014-06-27 삼성전자주식회사 플래시 메모리 시스템 및 그것의 에러 정정 방법
KR100948468B1 (ko) * 2007-12-24 2010-03-17 주식회사 하이닉스반도체 불휘발성 메모리 장치의 플래그 상태 결정 방법.
KR100933852B1 (ko) * 2007-12-28 2009-12-24 주식회사 하이닉스반도체 불휘발성 메모리 소자 및 그 동작 방법
KR101432108B1 (ko) * 2008-06-03 2014-08-21 삼성전자주식회사 비휘발성 메모리 장치 및 그것의 구동 방법
KR101544607B1 (ko) * 2008-10-28 2015-08-17 삼성전자주식회사 메모리 장치 및 그 프로그램 방법
KR101010468B1 (ko) * 2009-06-29 2011-01-21 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
TWI436363B (zh) 2010-05-11 2014-05-01 Silicon Motion Inc 資料儲存裝置以及快閃記憶體之資料寫入方法
KR20120066347A (ko) * 2010-12-14 2012-06-22 삼성전자주식회사 비휘발성 메모리 장치 및 그 구동 방법
US8451662B2 (en) * 2011-03-03 2013-05-28 Micron Technology, Inc. Reading memory cell history during program operation for adaptive programming
US8537613B2 (en) 2011-03-31 2013-09-17 Sandisk Technologies Inc. Multi-layer memory system
US9424938B2 (en) 2011-06-09 2016-08-23 Micron Technology, Inc. Reduced voltage nonvolatile flash memory
US8619475B2 (en) 2011-08-05 2013-12-31 Micron Technology, Inc. Methods to operate a memory cell
CN102436849B (zh) * 2011-12-02 2015-03-11 南京大学 一种局部俘获型快闪存储器实现多值/多位存储的操作方法
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling in a multi-layer memory
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US9336133B2 (en) 2012-12-31 2016-05-10 Sandisk Technologies Inc. Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US9672919B2 (en) * 2013-04-22 2017-06-06 Apple Inc. Techniques for reducing power-down time in non-volatile memory devices
JP2015069688A (ja) * 2013-09-30 2015-04-13 株式会社東芝 半導体記憶装置
US9696918B2 (en) 2014-07-13 2017-07-04 Apple Inc. Protection and recovery from sudden power failure in non-volatile memory devices
KR20160089768A (ko) * 2015-01-20 2016-07-28 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US9778855B2 (en) 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
US10042553B2 (en) 2015-10-30 2018-08-07 Sandisk Technologies Llc Method and system for programming a multi-layer non-volatile memory having a single fold data path
JP2018005959A (ja) * 2016-06-30 2018-01-11 東芝メモリ株式会社 メモリシステムおよび書き込み方法
US10043573B2 (en) * 2016-08-04 2018-08-07 Intel Corporation Apparatus and method for endurance friendly programming using lower voltage thresholds
US10839925B2 (en) * 2017-09-11 2020-11-17 SK Hynix Inc. Semiconductor memory device and method of operating the same
KR20200091712A (ko) * 2019-01-23 2020-07-31 에스케이하이닉스 주식회사 반도체 메모리 장치, 컨트롤러 및 이들의 동작 방법
CN114258531A (zh) 2019-08-22 2022-03-29 美光科技公司 非易失性存储器的多遍编程的粒度错误报告
US11462279B1 (en) * 2021-05-13 2022-10-04 Western Digital Technologies, Inc. Modified distribution of memory device states

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09139092A (ja) * 1995-11-14 1997-05-27 Toshiba Corp 不揮発性半導体記憶装置
KR19980032507A (ko) * 1996-10-03 1998-07-25 가네코 히사시 저감된 소거 동작 회수를 갖는 멀티레벨 비휘발성 메모리 셀 프로그래밍 방법
KR20030002730A (ko) * 2001-06-29 2003-01-09 주식회사 하이닉스반도체 센싱회로를 이용한 멀티레벨 플래시 메모리 프로그램/리드방법
US20050180209A1 (en) 2004-02-15 2005-08-18 M-Systems Flash Disk Pioneers, Ltd. Method of managing a multi-bit-cell flash memory
KR20050087264A (ko) * 2004-02-26 2005-08-31 삼성전자주식회사 멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법
KR20060107716A (ko) * 2005-04-11 2006-10-16 주식회사 하이닉스반도체 비휘발성 메모리 장치의 프로그램 검증 방법

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR950000273B1 (ko) * 1992-02-21 1995-01-12 삼성전자 주식회사 불휘발성 반도체 메모리장치 및 그 최적화 기입방법
TW389909B (en) * 1995-09-13 2000-05-11 Toshiba Corp Nonvolatile semiconductor memory device and its usage
TW559814B (en) * 2001-05-31 2003-11-01 Semiconductor Energy Lab Nonvolatile memory and method of driving the same
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6897522B2 (en) * 2001-10-31 2005-05-24 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
TWI292914B (ko) * 2002-01-17 2008-01-21 Macronix Int Co Ltd
JP3935139B2 (ja) * 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
US6859397B2 (en) * 2003-03-05 2005-02-22 Sandisk Corporation Source side self boosting technique for non-volatile memory
US7092290B2 (en) * 2004-11-16 2006-08-15 Sandisk Corporation High speed programming system with reduced over programming
KR100771883B1 (ko) * 2006-09-06 2007-11-01 삼성전자주식회사 멀티-레벨 불휘발성 메모리 장치 및 프로그램 방법
KR100784867B1 (ko) * 2006-12-13 2007-12-14 삼성전자주식회사 엠에스비 프로그램 상태를 저장하는 플래그 셀들을구비하는 비휘발성 메모리 장치
US20080189473A1 (en) * 2007-02-07 2008-08-07 Micron Technology, Inc Mlc selected multi-program for system management

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09139092A (ja) * 1995-11-14 1997-05-27 Toshiba Corp 不揮発性半導体記憶装置
KR19980032507A (ko) * 1996-10-03 1998-07-25 가네코 히사시 저감된 소거 동작 회수를 갖는 멀티레벨 비휘발성 메모리 셀 프로그래밍 방법
KR20030002730A (ko) * 2001-06-29 2003-01-09 주식회사 하이닉스반도체 센싱회로를 이용한 멀티레벨 플래시 메모리 프로그램/리드방법
US20050180209A1 (en) 2004-02-15 2005-08-18 M-Systems Flash Disk Pioneers, Ltd. Method of managing a multi-bit-cell flash memory
KR20050087264A (ko) * 2004-02-26 2005-08-31 삼성전자주식회사 멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법
KR20060107716A (ko) * 2005-04-11 2006-10-16 주식회사 하이닉스반도체 비휘발성 메모리 장치의 프로그램 검증 방법

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7990765B2 (en) 2008-09-22 2011-08-02 Samsung Electronics Co., Ltd. Least significant bit page recovery method used in multi-level cell flash memory device
KR101512199B1 (ko) 2009-06-29 2015-04-14 에스케이하이닉스 주식회사 불휘발성 메모리 소자의 동작 방법
US8942046B2 (en) 2012-04-26 2015-01-27 Samsung Electronics Co., Ltd. Method of programming a 3-dimensional nonvolatile memory device based on a program order of a selected page and a location of a string selection line
KR20190028999A (ko) * 2017-09-11 2019-03-20 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법
KR102362858B1 (ko) 2017-09-11 2022-02-15 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그 동작 방법

Also Published As

Publication number Publication date
US20080084739A1 (en) 2008-04-10
CN101174462B (zh) 2012-05-16
CN101174462A (zh) 2008-05-07
US7508705B2 (en) 2009-03-24

Similar Documents

Publication Publication Date Title
KR100771882B1 (ko) 멀티-레벨 불휘발성 메모리 장치의 프로그램 방법
KR100771883B1 (ko) 멀티-레벨 불휘발성 메모리 장치 및 프로그램 방법
US7035144B2 (en) Flash memory device having multi-level cell and reading and programming method thereof
US7800946B2 (en) Flash memory device and operating method thereof
US7518909B2 (en) Non-volatile memory device adapted to reduce coupling effect between storage elements and related methods
JP4510072B2 (ja) 不揮発性半導体記憶装置とその書き込み方法
KR101177278B1 (ko) 비휘발성 메모리 셀 프로그래밍 방법
US9202574B2 (en) Memory device having a different source line coupled to each of a plurality of layers of memory cell arrays
JP2013143155A (ja) 不揮発性半導体記憶装置とその書き込み方法
US8068362B2 (en) Non-volatile semiconductor memory device and method of reading the same
US8279675B2 (en) Nonvolatile memory device and method of programming the same
US7733705B2 (en) Reduction of punch-through disturb during programming of a memory device
KR20130071686A (ko) 반도체 메모리 장치 및 이의 동작 방법
US20120113725A1 (en) Nonvolatile memory device and method of programming the device
KR20090019195A (ko) 불휘발성 메모리 장치 및 그 독출 방법
US8189394B2 (en) Page buffer circuit of nonvolatile memory device and method of operating the same
JP5784788B2 (ja) 不揮発性半導体記憶装置とその書き込み方法
US8050087B2 (en) Non-volatile memory device including block state confirmation cell and method of operating the same
KR20080022394A (ko) 멀티 레벨 셀을 갖는 플래쉬 메모리 소자의 프로그램 방법
JP2009301679A (ja) 不揮発性半導体記憶装置とその書き込み方法
KR100967009B1 (ko) 불휘발성 메모리 장치의 프로그램 방법
KR100904731B1 (ko) 멀티 레벨 셀 플래시 메모리소자의 페이지 버퍼 및프로그램 방법
US20080159013A1 (en) Method of programming multi-level semiconductor memory device and multi-level semiconductor memory device
KR20100074651A (ko) 플래시 메모리 소자의 동작 방법
KR20080107215A (ko) 비휘발성 메모리 기록 방법, 기록 장치, 및 메모리 장치

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20120925

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20130930

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141001

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151001

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160930

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20180927

Year of fee payment: 12