KR100525004B1 - 멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법 - Google Patents
멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법 Download PDFInfo
- Publication number
- KR100525004B1 KR100525004B1 KR10-2004-0012984A KR20040012984A KR100525004B1 KR 100525004 B1 KR100525004 B1 KR 100525004B1 KR 20040012984 A KR20040012984 A KR 20040012984A KR 100525004 B1 KR100525004 B1 KR 100525004B1
- Authority
- KR
- South Korea
- Prior art keywords
- program
- memory cell
- data
- cell
- flash memory
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G04—HOROLOGY
- G04B—MECHANICALLY-DRIVEN CLOCKS OR WATCHES; MECHANICAL PARTS OF CLOCKS OR WATCHES IN GENERAL; TIME PIECES USING THE POSITION OF THE SUN, MOON OR STARS
- G04B19/00—Indicating the time by visual means
- G04B19/06—Dials
- G04B19/08—Geometrical arrangement of the graduations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5628—Programming or writing circuits; Data input circuits
-
- G—PHYSICS
- G04—HOROLOGY
- G04B—MECHANICALLY-DRIVEN CLOCKS OR WATCHES; MECHANICAL PARTS OF CLOCKS OR WATCHES IN GENERAL; TIME PIECES USING THE POSITION OF THE SUN, MOON OR STARS
- G04B35/00—Adjusting the gear train, e.g. the backlash of the arbors, depth of meshing of the gears
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3436—Arrangements for verifying correct programming or erasure
- G11C16/3454—Arrangements for verifying correct programming or for detecting overprogrammed cells
- G11C16/3459—Circuits or methods to verify correct programming of nonvolatile memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/56—Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
- G11C2211/562—Multilevel memory programming aspects
- G11C2211/5621—Multilevel programming verification
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Read Only Memory (AREA)
Abstract
프로그램 동작시 검증회로의 오동작에 의한 프로그램 실패(fail) 현상을 막고 원하는 메모리셀 문턱전압 산포를 얻을 수 있는 멀티레벨 셀 플래쉬 메모리장치 및 이의 프로그램 방법이 개시된다. 상기 멀티레벨 셀 플래쉬 메모리장치에서는 프로그램 동작에 의해 메모리셀 문턱전압이 증가함에 따라 메모리셀에 저장되는 데이터가 "11", "10", "01", "00"로 변화된다. 상기 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법에서는, 상기 메모리셀에 저장되는 데이터가 "00" 상태가 될 때까지 프로그램 동작과 검증 동작이 반복하여 수행된다. 그리고 검증 동작이 통과된 상기 "00" 상태 이후부터는 검증 동작없이 프로그램 동작만이 n(n은 자연수)번 추가적으로 더 수행된다.
Description
본 발명은 반도체 메모리장치에 관한 것으로, 특히 멀티레벨 셀 플래쉬 메모리장치 및 이의 프로그램 방법에 관한 것이다.
싱글레벨 셀(Single-level cell, SLC)은 하나의 메모리셀에 1비트의 데이터를 저장하고자 하는 용도로 사용되는 플래쉬 메모리셀이다. 반면에 멀티레벨 셀(Multi-level cell, MLC)은 집적도를 높이기 위해 하나의 메모리셀에 2비트의 데이터를 저장하고자 하는 용도로 사용되는 플래쉬 메모리셀이다.
도 1은 플래쉬 메모리장치의 메모리셀 어레이 구조를 나타내는 도면이다. 도 1에서 B/L0 내지 B/L511은 비트라인들을 나타내고 W/L0 내지 W/L1023은 워드라인들을 나타낸다. S/L은 소오스 라인을 나타내고 MC는 메모리셀들을 나타낸다.
도 2는 도 1에 도시된 메모리셀들이 싱글레벨 셀일 경우 저장 데이터에 대한 셀 문턱전압을 나타내는 도면이고, 도 3은 도 1에 도시된 메모리셀들이 멀티레벨 셀일 경우 저장 데이터에 대한 셀 문턱전압을 나타내는 도면이다.
도 2에 도시된 바와 같이 싱글레벨 셀에서는 1비트의 데이터는 메모리셀에 프로그램된 2개의 서로 다른 문턱전압으로서 저장된다. 예컨대 메모리셀에 프로그램된 문턱전압이 1 내지 3볼트일 때에는 메모리셀에 저장된 데이터는 논리 "1"이고 메모리셀에 프로그램된 문턱전압이 5 내지 7볼트일 때에는 메모리셀에 저장된 데이터는 논리 "0"이다. 메모리셀에 저장된 데이터는 독출동작시 셀 전류의 차이에 의해 구분된다.
멀티레벨 셀에서는 도 3에 도시된 바와 같이 2비트의 데이터는 메모리셀에 프로그램된 4개의 서로 다른 문턱전압으로서 저장된다. 예컨대 메모리셀에 프로그램된 문턱전압이 1 내지 3볼트일 때에는 메모리셀에 저장된 데이터는 논리 "11"이고 메모리셀에 프로그램된 문턱전압이 3.8 내지 4.2볼트일 때에는 메모리셀에 저장된 데이터는 논리 "10"이다. 그리고 메모리셀에 프로그램된 문턱전압이 4.9 내지 5.4볼트일 때에는 메모리셀에 저장된 데이터는 논리 "01"이고 메모리셀에 프로그램된 문턱전압이 6.5 내지 7.0볼트일 때에는 메모리셀에 저장된 데이터는 논리 "00"이다. 메모리셀에 저장된 데이터는 독출동작시 셀 전류의 차이에 의해 구분된다.
상기 싱글레벨 셀(SLC)의 동작 및 멀티레벨 셀(MLC)의 동작은 당업자에게 통상적인 것이므로 여기에서 상세한 동작설명은 생략된다.
그런데 종래의 멀티레벨 셀 플래쉬 메모리장치에서의 프로그램 방법은, 프로그램할 메모리셀을 소거시킨 상태에서 워드라인 전압을 조금씩 증가시켜 메모리셀의 문턱전압을 조금씩 양의 방향으로 증가시키고 다음에 메모리셀의 문턱전압이 목표 문턱전압에 도달하였는지 검증(Verify)하는 동작을 반복하면서 진행된다. 이때 소거(Erase) 동작후 논리 "11" 상태에 있던 메모리셀 데이터는 프로그램이 진행됨에 따라 논리 "10" 상태, 논리 "01" 상태, 논리 "00" 상태로 순차적으로 변화된다.
이와 같은 프로그램 및 검증의 반복에 의한 종래의 프로그램 방법은, 메모리셀의 문턱전압이 증가함에 따라 검증시 메모리셀 전류가 감소하게 되어 검증회로의 오동작을 유발할 수 있다. 즉 검증시 사용되는 감지증폭기의 성능이 적은 양의 메모리셀 전류를 분별하기 힘든 구조일 경우 오동작이 유발될 수 있으며 결과적으로 프로그램 동작이 실패(fail)하게 된다.
따라서 본 발명이 이루고자하는 기술적 과제는, 프로그램 동작시 검증회로의 오동작에 의한 프로그램 실패(fail) 현상을 막고 원하는 메모리셀 문턱전압 산포를 얻을 수 있는 멀티레벨 셀 플래쉬 메모리장치를 제공하는 데 있다.
본 발명이 이루고자하는 다른 기술적 과제는, 상기 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법을 제공하는 데 있다.
상기 기술적 과제를 달성하기 위한 본 발명에 따른 멀티레벨 셀 플래쉬 메모리장치는, 외부에서 인가되는 프로그램 데이터를 저장하는 기입버퍼(write buffer), 상기 기입버퍼에 저장된 상기 프로그램 데이터중 "00"의 2비트 데이터가 있을 때에만 셋트되는 플래그 레지스터, 메모리셀들에 저장된 데이터와 상기 프로그램 데이터가 같은지 다른지를 체크하는 검증 동작(verify operation)을 수행하는 패쓰/페일(pass fail) 체크회로, 및 상기 패쓰/페일 체크회로에 의한 검증을 패쓰하고 또한 상기 플래그 레지스터가 셋트되어 있을 때, n(n은 자연수)번의 프로그램 동작이 더 수행되도록 n을 카운트하는 카운터 회로를 구비하는 것을 특징으로 한다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 일면에 따른 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법은, 프로그램 데이터중 "00"의 2비트 데이터가 있는 지를 체크하는 단계, 상기 체크 결과 상기 프로그램 데이터중 "00"의 2비트 데이터가 있을 때에는 플래그 레지스터를 셋트한 다음에 검증 동작(verify operation)을 수행하고 상기 프로그램 데이터중 "00"의 2비트 데이터가 없을 때에는 상기 플래그 레지스터를 셋트하지 않고 검증 동작을 수행하는 단계, 상기 검증 동작 결과 검증을 통과(pass)하지 않으면 상기 메모리셀에 연결되는 워드라인의 전압을 한 단계(step)씩 증가시켜 반복적으로 프로그램 동작을 수행한 후 다시 반복적으로 검증 동작을 수행하는 단계, 상기 검증 동작 결과 검증을 통과하면 상기 플래그 레지스터가 셋트되어 있는지 그렇지 않은지를 체크하는 단계, 및 상기 체크 결과 상기 플래그 레지스터가 셋트되어 있지 않으면 즉시 프로그램 동작을 완료하고 상기 체크 결과 상기 플래그 레지스터가 셋트되어 있으면 상기 워드라인의 전압을 한 단계씩 더 증가시켜 다수번의 프로그램 동작을 더 수행한 후 프로그램 동작을 완료하는 단계를 구비하는 것을 특징으로 한다.
상기 "00"의 2비트 데이터가 상기 메모리셀에 저장될 때 상기 메모리셀의 문턱전압이 가장 높은 상태가 된다. 상기 메모리셀이 소거될 때 즉 "11"의 2비트 데이터가 상기 메모리셀에 저장될 때 상기 메모리셀의 문턱전압이 가장 낮은 상태가 된다.
상기 검증 동작을 수행하는 단계 및 상기 다시 반복적으로 검증 동작을 수행하는 단계에서 상기 워드라인의 전압으로서 상기 메모리셀의 가장 높은 문턱전압보다 낮은 전압이 사용된다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 다른 일면에 따른 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법은, 프로그램 동작에 의해 메모리셀 문턱전압이 증가함에 따라 메모리셀에 저장되는 데이터가 "11", "10", "01", "00"로 변화되는 멀티레벨 셀(Multi-level cell) 플래쉬 메모리장치의 프로그램 방법에 있어서, 상기 메모리셀에 저장되는 데이터가 "00" 상태가 될 때까지 프로그램 동작과 검증 동작을 반복하여 수행하는 단계, 및 검증 동작을 통과한 상기 "00" 상태 이후부터는 검증 동작없이 프로그램 동작만을 n(n은 자연수)번 추가적으로 더 수행하는 단계를 구비하는 것을 특징으로 한다.
상기 검증 동작에서는 상기 메모리셀에 연결되는 워드라인의 전압으로서 상기 메모리셀에 저장된 데이터가 "00" 상태일 때의 메모리셀 문턱전압보다 낮은 전압이 사용된다.
상기 다른 기술적 과제를 달성하기 위한 본 발명의 또 다른 일면에 따른 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법은, 하나의 메모리셀에 복수개의 문턱 전압 분포들을 저장하는 멀티레벨 셀(Multi-level cell) 플래쉬 메모리장치의 프로그램 방법에 있어서, 프로그램 데이터가 가장 높은 문턱 전압 분포의 데이터인지를 확인하는 단계, 상기 프로그램 데이터에 대해서 프로그램 및 검증 동작을 수행하는 단계, 상기 검증 동작을 패스(pass)한 후에 프로그램 동작만을 추가적으로 수행하는 단계를 구비하는 것을 특징으로 한다.
본 발명과 본 발명의 동작 상의 잇점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 각 도면에 제시된 동일한 참조부호는 동일한 부재를 나타낸다.
도 4는 본 발명의 일실시예에 따른 멀티레벨 셀 플래쉬 메모리장치의 개략적인 블록도이다.
도 4를 참조하면, 본 발명의 일실시예에 따른 멀티레벨 셀 플래쉬 메모리장치는, 멀티레벨 셀(MLC) 어레이(40), 기입 드라이버(write driver)(41), 기입버퍼(write buffer)(42), 데이터 입력버퍼(43), 플래그(flag) 레지스터(44), 패쓰/페일(pass/fail) 체크회로(45), 카운터 회로(46), 감지 증폭기(47), 페이지(page) 버퍼(48), 데이터 출력버퍼(49), 및 패드들(50)을 구비한다.
멀티레벨 셀(MLC) 어레이(40)는 하나의 메모리셀에 2비트 데이터를 저장하는 다수개의 멀티레벨 셀들을 포함한다. 기입버퍼(42)는 외부에서 패드들(50) 및 데이터 입력버퍼(43)를 통해 입력되는 프로그램 데이터를 저장한다. 플래그(flag) 레지스터(44)는 기입버퍼(42)에 저장된 프로그램 데이터중 논리 "00"의 2비트 데이터가 있을 때에만 셋트된다.
패쓰/페일 체크회로(45)는 멀티레벨 셀(MLC) 어레이(40) 내의 메모리셀들에 저장된 데이터와 상기 프로그램 데이터가 같은지 다른지를 체크하는 검증 동작(verify operation)을 수행한다. 카운터 회로(46)는 패쓰/페일 체크회로(45)에 의한 검증을 패쓰하고 또한 플래그 레지스터(44)가 셋트되어 있을 때에는 즉 기입버퍼(42)에 저장된 프로그램 데이터중 논리 "00"의 2비트 데이터가 있을 때에는, n(n은 자연수)번의 프로그램 동작이 더 수행되도록 n을 카운트한다.
감지 증폭기(47), 페이지(page) 버퍼(48), 데이터 출력버퍼(49)는 독출(read) 동작 및 검증(verify) 동작시 사용되는 회로들이다. 감지 증폭기(47)는 멀티레벨 셀(MLC) 어레이(40)내에 저장된 데이터를 받아 감지증폭한다. 페이지 버퍼(48)는 감지 증폭기(47)에 의해 감지증폭된 데이터를 페이지 단위로 저장한다. 데이터 출력버퍼(49)는 페이지 버퍼(48)로부터 데이터를 받아 패드들(50)을 통해 외부로 출력한다.
도 5는 도 4의 본 발명에 따른 멀티레벨 셀 플래쉬 메모리장치에서의 프로그램 방법을 나타내는 플로우차트이다. 이하 도 5를 참조하여 본 발명에 따른 멀티레벨 셀 플래쉬 메모리장치에서의 프로그램 방법이 상세히 설명된다.
먼저 외부에서 프로그램 명령이 입력되고 또한 패드들(50) 및 데이터 입력버퍼(43)를 통해 프로그램 데이터가 입력된다(S1 단계). 패드들(50) 및 데이터 입력버퍼(43)를 통해 입력된 프로그램 데이터는 기입버퍼(42)에 저장된다. 다음에 기입버퍼(42)에 저장된 프로그램 데이터중 "00"의 2비트 데이터가 있는 지가 체크된다(S2 단계).
S2 단계에서의 체크 결과 프로그램 데이터중 "00"의 2비트 데이터가 있을 때에는 플래그 레지스터(44)가 셋트된다(S3 단계). 다음에 패쓰/페일 체크회로(45)에 의해 멀티레벨 셀(MLC) 어레이(40) 내의 메모리셀들에 저장된 데이터와 프로그램 데이터가 같은지 다른지를 체크하는 검증 동작(verify operation)이 수행된다(S4 단계). S2 단계에서의 체크 결과 프로그램 데이터중 "00"의 2비트 데이터가 없을 때에는 플래그 레지스터(44)가 셋트되지 않고 즉시 패쓰/페일 체크회로(45)에 의해 검증 동작이 수행된다(S4 단계).
검증 동작 수행 결과 검증이 통과(pass)되었는지 그렇지 않은지가 체크된다(S5 단계). 검증이 통과(pass)되지 않으면 메모리셀에 연결되는 워드라인의 전압을 한 단계(step)씩 증가시켜 반복적으로 프로그램 동작이 수행된다(S6 단계 및 S7 단계). 이후 다시 반복적으로 검증 동작이 수행된다(S4 단계).
검증 동작 수행 결과 검증을 통과하면 상기 플래그 레지스터(44)가 셋트되어 있는지 그렇지 않은지가 체크된다(S8 단계). S8 단계에서의 체크 결과 플래그 레지스터가 셋트되어 있지 않으면 즉 기입버퍼(42)에 저장된 프로그램 데이터중 논리 "00"의 2비트 데이터가 없을 때에는, 즉시 프로그램 동작이 완료된다(S14). S8 단계에서의 체크 결과 플래그 레지스터가 셋트되어 있으면 즉 기입버퍼(42)에 저장된 프로그램 데이터중 논리 "00"의 2비트 데이터가 있을 때에는, 카운터 회로(46)에 의해 카운트되어 워드라인의 전압을 한 단계씩 더 증가시켜 n번의 프로그램 동작이 더 수행된다(S10,S11,S12,S13 단계). 이후 프로그램 동작이 완료된다(S14).
도 6은 상술한 본 발명에 따른 멀티레벨 셀 플래쉬 메모리장치에서의 프로그램 방법을 워드라인(WL) 전압 대비 시간으로서 개념적으로 도시한 도면이다.
도 6에 도시된 바와 같이 본 발명에 따른 프로그램 방법에서는 프로그램할 메모리셀을 소거시킨 상태에서(논리 "11" 상태)부터 메모리셀의 상태가 논리 "00" 상태가 될 때까지 프로그램 동작과 검증 동작이 반복하여 수행된다.
다음에 검증 동작을 통과한 "00" 상태 이후부터는 검증 동작없이 프로그램 동작만이 n(n은 자연수)번 추가적으로 더 수행된다.
이때 프로그램 동작은 메모리셀에 연결되는 워드라인(WL)의 전압을 한 단계(step)씩 증가시킴으로써 수행되며 이에 따라 메모리셀의 문턱전압은 도 3에 도시된 바와 같이 조금씩 양의 방향으로 증가된다. 검증 동작은 가장 높은 메모리셀 문턱전압, 즉 메모리셀의 상태가 논리 "00" 상태일 때의 메모리셀 문턱전압보다 낮은 전압을 워드라인(WL) 전압으로서 사용하여 수행된다. 검증 동작은 메모리셀의 문턱전압이 목표 문턱전압에 도달하였는지 검증(Verify)하기 위해 수행된다.
이상에서와 같이 본 발명에 따른 프로그램 방법에서는 메모리셀에 저장되는 데이터가 "00" 상태가 될 때까지 프로그램 동작과 검증 동작이 반복하여 수행된다. 그리고 검증 동작을 통과(pass)한 "00" 상태 이후부터는 검증 동작없이 프로그램 동작만이 n번 추가적으로 더 수행된다. 따라서 검증회로의 오동작에 의한 프로그램 실패(fail) 현상이 방지되고 원하는 메모리셀 문턱전압 산포가 얻어질 수 있다.
이하 도 4의 본 발명에 따른 멀티레벨 셀 플래쉬 메모리장치의 구성요소들에 대해 설명된다.
도 7은 도 4에 도시된 기입버퍼(42)의 상세 회로도이다.
도 7을 참조하면, 기입버퍼(42)는 복수 비트의 입력 데이터(DIN1-DIN8)를 수신하여 저장하는 복수개의 래치들(L1-L8) 및 프리차지 신호(PCH)에 응답하여 래치들(L1-L8)을 프리차지시키는 복수개의 프리차지 트랜지스터들(P1-P8)을 구비한다.
복수 비트의 입력 데이터(DIN1-DIN8)는 도 4에 도시된 패드들(50) 및 데이터 입력버퍼(43)를 통해 외부에서 입력되는 프로그램 데이터이다. 여기에서는 설명의 편의를 위하여 입력 데이터(DIN1-DIN8)가 8비트인 경우가 도시되었다.
도 8은 도 4에 도시된 플래그 레지스터(44)의 상세 회로도이다.
도 8을 참조하면, 플래그 레지스터(44)는 기입버퍼(42)의 출력 데이터(WBO1-WBO8)중 이웃하는 2비트 데이터를 수신하는 노아게이트들(NR1-NR4), 노아게이트들(NR1-NR4)의 출력들을 래치시키는 래치들(L61-L64), 및 앤드게이트들(AND1-AND3)을 구비한다.
예컨대 기입버퍼(42)의 출력 데이터(WBO1-WBO8)가 (11100100)이면, 즉 기입버퍼(42)의 입력 데이터(DIN1-DIN8)가 (00011011)이면 플래그 레지스터(44)의 출력신호(FG)는 논리"로우"가 된다. 다시말해 기입버퍼(42)의 출력 데이터(WBO1-WBO8)중 이웃하는 2비트 데이터(WBO1,WBO2)가 (00)이므로 플래그 레지스터(44)의 출력신호(FG)는 논리"로우"로 셋트된다.
도 9는 도 4에 도시된 카운터 회로(46)의 상세 회로도이다.
도 9를 참조하면, 카운터 회로(46)는 복수개의 D 플립플롭들(D1-D4), 낸드게이트(ND), 및 인버터들(INV1,INV2)를 구비한다.
카운터 회로(46)는 패쓰/페일 체크회로(45)의 출력신호(P/F), 프로그램 정보신호(PEND), 및 플래그 레지스터(44)의 출력신호(FG)에 응답하여, n(n은 자연수)번의 프로그램 동작이 더 수행되도록 n을 카운트한다. 여기에서는 예로서 n이 10이 되도록 카운터 회로(46)가 구성되었다.
패쓰/페일 체크회로(45)의 출력신호(P/F)는 패쓰/페일 체크회로(45)에 의한 검증(verify)을 패쓰할 때 즉 멀티레벨 셀(MLC) 어레이(40) 내의 메모리셀들에 저장된 데이터와 상기 프로그램 데이터가 같을 때 논리 "하이"로 활성화된다. 프로그램 정보신호(PEND)는 프로그램 주기동안 프로그램의 끝을 나타내는 신호로서 프로그램이 끝날 때 마다 논리 "하이"로 활성화된다. 플래그 레지스터(44)의 출력신호(FG)는 기입버퍼(42)에 저장된 프로그램 데이터중 논리 "00"의 2비트 데이터가 있을 때에 논리"로우"로 셋트된다.
따라서 카운터 회로(46)는, 패쓰/페일 체크회로(45)에 의한 검증을 패쓰하고(P/F=High) 그리고 프로그램이 끝날 때(PEND=High) 그리고 플래그 레지스터(44)가 셋트되어 있을 때에(FG=Low) n을 카운트하여 n번의 프로그램 동작을 더 수행시킨다.
도 10은 도 4에 도시된 기입 드라이버(41)의 상세 회로도이다. 여기에서는 한 비트에 대한 회로만 도시되었다.
도 10을 참조하면, 기입 드라이버(41)는 레벨 쉬프터 형태로 구성되며 피모스 트랜지스터들(P1,P2), 엔모스 트랜지스터들(N1,N2), 및 인버터(INV81)을 구비한다. VPB는 전원전압을 나타내고 VSS는 접지전압을 나타낸다. DL은 기입버퍼(42)의 출력에 연결되는 데이터 라인을 나타내고 BL은 멀티레벨 셀 어레이(40) 내의 메모리셀에 연결되는 비트라인을 나타낸다.
도 11은 도 4의 멀티레벨 셀 플래쉬 메모리장치의 센싱 스킴(scheme)을 나타내는 회로도이고 도 12는 멀티레벨 셀에 저장되는 2비트 데이터 값과 기준전류와의 관계를 나타내는 도면이다.
도 11에 도시된 바와 같이 메인셀(MC)에 저장된 2비트 데이터 값을 센싱하기 위해 3개의 기준셀들(RC_L, RC_M, RC_H)이 구비된다. 기준셀(RC_L)은 상기 2비트 데이터가 "11"인 상태와 상기 2비트 데이터가 "10"인 상태의 중간 상태에 해당하는 기준전류(REF_L)가 흐르도록 미리 프로그램된다. 기준셀(RC_M)은 상기 2비트 데이터가 "10"인 상태와 상기 2비트 데이터가 "01"인 상태의 중간 상태에 해당하는 기준전류(REF_M)가 흐르도록 미리 프로그램된다. 또한 기준셀(RC_H)은 상기 2비트 데이터가 "01"인 상태와 상기 2비트 데이터가 "00"인 상태의 중간 상태에 해당하는 기준전류(REF_H)가 흐르도록 미리 프로그램된다.
한편 메인셀(MC)에 저장된 2비트 데이터 값이 "11"일 때 메인셀(MC)에 흐르는 전류(I_MC)는 가장 크고 메인셀(MC)에 저장된 2비트 데이터 값이 "00"일 때 메인셀(MC)에 흐르는 전류(I_MC)는 가장 작다.
따라서 예컨대 메인셀(MC)에 저장된 2비트 데이터 값이 "10"이면 메인셀(MC)에 흐르는 전류(I_MC)는 REF_L보다는 작고 REF_M 및 REF_H 보다는 크다. 이에 따라 전류(I_MC')는 REF_L'보다는 작고 REF_M' 및 REF_H' 보다 크다. 그 결과 감지증폭기(SA3)의 출력(SL)은 "로우(low)"가 되고 감지증폭기(SA2)의 출력(SM)은 "하이(high)"가 되며 또한 감지증폭기(SA1)의 출력(SH)도 "하이(high)"가 된다. 최종적으로 디코더(DC)가 SH, SM, 및 SL을 디코드하여 최종 출력(RD_MSB,RD_LSB)는 "10"이 된다.
여기에서 I_MC'은 전류 복사회로(CP1)에 의해 I_MC가 복사되어 발생되는 전류로서 I_MC와 동일한 값을 갖는다. REF_H'은 더미 복사회로(CP2)에 의해 REF_H가 복사되어 발생되는 전류로서 REF_H와 동일한 값을 갖는다. REF_M'은 더미 복사회로(CP3)에 의해 REF_M가 복사되어 발생되는 전류로서 REF_M와 동일한 값을 갖는다. REF_L'은 더미 복사회로(CP4)에 의해 REF_L가 복사되어 발생되는 전류로서 REF_L와 동일한 값을 갖는다.
도 13은 도 11에 도시된 감지증폭기 블록(SA) 및 디코더(DC)의 상세 회로도이다.
감지증폭기 블록(SA)은 감지증폭기(SA1), 감지증폭기(SA2), 및 감지증폭기(SA3)를 구비한다. 감지증폭기(SA1)는 감지 제어신호(nSENSE)에 의해 제어되는 피모스 트랜지스터(P11), 도 11에 도시된 전류(I_MC')에 대응하는 신호(V_MC)에 의해 제어되는 피모스 트랜지스터(P12), 및 도 11에 도시된 기준전류(REF_H')에 대응하는 신호(DG_H)에 의해 제어되는 엔모스 트랜지스터(N11)를 포함하여 구성된다.
감지증폭기(SA2)는 감지 제어신호(nSENSE)에 의해 제어되는 피모스 트랜지스터(P21), 신호(V_MC)에 의해 제어되는 피모스 트랜지스터(P22), 및 도 11에 도시된 기준전류(REF_M')에 대응하는 신호(DG_M)에 의해 제어되는 엔모스 트랜지스터(N21)를 포함하여 구성된다. 감지증폭기(SA3)는 감지 제어신호(nSENSE)에 의해 제어되는 피모스 트랜지스터(P31), 신호(V_MC)에 의해 제어되는 피모스 트랜지스터(P32), 및 도 11에 도시된 기준전류(REF_L')에 대응하는 신호(DG_L)에 의해 제어되는 엔모스 트랜지스터(N31)를 포함하여 구성된다.
디코더(DC)는, 제어신호(PDOT1) 및 이의 반전신호(nPDOT1)에 의해 제어되는 인버터들(INV131,INV132,INV133), 제어신호(PDOT1) 및 이의 반전신호(nPDOT1)에 의해 제어되는 래치들(L131,L132,L133), 전송게이트들(T131, T132), 제어신호(PDOT2_RD) 및 이의 반전신호(nPDOT2_RD)에 의해 제어되는 인버터들(INV134,INV135), 제어신호(nPDOT2_WT_LSB)에 의해 제어되는 패쓰 트랜지스터(P131), 제어신호(nPDOT2_WT_MSB)에 의해 제어되는 패쓰 트랜지스터(P132), 및 인버터들(INV136,INV137,INV138)을 포함한다.
제어신호들(nSENSE,V_MC,PDOT1,nPDOT1)은 독출동작 및 검증동작시 모두 활성화되는 신호들이다. 제어신호들(PDOT2_RD,nPDOT2_RD)은 독출동작시에만 활성화되는 신호들이고 제어신호들(nPDOT2_WT_LSB,nPDOT2_WT_MSB)은 검증동작시에만 활성화되는 신호들이다.
동작을 좀더 설명하면, 상술한 바와 같이 메인셀(MC)에 저장된 2비트 데이터 값이 "10"이면 전류(I_MC')는 REF_L'보다는 작고 REF_M' 및 REF_H' 보다 크다. 이에 따라 신호(DG_L)은 "하이", 신호(DG_M)은 "로우", 신호(DG_H)는 "로우"가 되고, 그 결과 감지증폭기(SA3)의 출력(SL)은 "로우(low)"가 되고 감지증폭기(SA2)의 출력(SM)은 "하이(high)"가 되며 또한 감지증폭기(SA1)의 출력(SH)도 "하이(high)"가 된다.
다음에 인버터들(INV131,INV132,INV133)의 출력은 각각 "로우", "로우", "하이"가 되고 래치들(L131,L132,L133)의 출력은 각각 "하이", "하이", "로우"가 된다. 이에 따라 전송게이트(S131)은 턴오프되고 전송게이트(132)는 턴온된다. 따라서 래치(L132)의 "하이" 출력은 인버터(INV135) 및 인버터(INV137)을 통해 전달되고 래치(133)의 "로우" 출력은 전송게이트(132), 인버터(INV134) 및 인버터(INV136)을 통해 전달된다. 그 결과 최종 출력(RD_MSB,RD_LSB)는 "10"이 된다. 즉 메인셀(MC)에 저장된 2비트 데이터 값 "10"가 최종 출력(RD_MSB,RD_LSB) "10"로서 출력된다.
한편 검증동작시에는 인버터(INV134)의 출력이 패쓰 트랜지스터(P131) 및 인버터(INV138)을 통해 신호(WT_SLS)로서 출력되고 인버터(INV135)의 출력이 패쓰 트랜지스터(P132) 및 인버터(INV138)을 통해 신호(WT_SLS)로서 출력된다.
이상 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.
상술한 바와 같이 본 발명에 따른 멀티레벨 셀 플래쉬 메모리장치 및 이의 프로그램 방법에서는 메모리셀의 "00" 상태에 대한 검증이 통과(pass)된 이후부터는 검증 동작없이 프로그램 동작만이 다수번 더 수행되므로 검증회로의 오동작에 의한 프로그램 실패(fail) 현상이 방지되고 원하는 메모리셀 문턱전압 산포가 얻어질 수 있는 장점이 있다.
본 발명의 상세한 설명에서 인용되는 도면을 보다 충분히 이해하기 위하여 각 도면의 간단한 설명이 제공된다.
도 1은 플래쉬 메모리장치의 메모리셀 어레이 구조를 나타내는 도면이다.
도 2는 도 1에 도시된 메모리셀들이 싱글레벨 셀일 경우 저장 데이터에 대한 셀 문턱전압을 나타내는 도면이다.
도 3은 도 1에 도시된 메모리셀들이 멀티레벨 셀일 경우 저장 데이터에 대한 셀 문턱전압을 나타내는 도면이다.
도 4는 본 발명의 일실시예에 따른 멀티레벨 셀 플래쉬 메모리장치의 개략적인 블록도이다.
도 5는 도 4의 본 발명에 따른 멀티레벨 셀 플래쉬 메모리장치에서의 프로그램 방법을 나타내는 플로우차트이다.
도 6은 본 발명에 따른 멀티레벨 셀 플래쉬 메모리장치에서의 프로그램 방법을 워드라인(WL) 전압 대비 시간으로서 개념적으로 도시한 도면이다.
도 7은 도 4에 도시된 기입버퍼의 상세 회로도이다.
도 8은 도 4에 도시된 플래그 레지스터의 상세 회로도이다.
도 9는 도 4에 도시된 카운터 회로의 상세 회로도이다.
도 10은 도 4에 도시된 기입 드라이버의 상세 회로도이다.
도 11은 도 4의 멀티레벨 셀 플래쉬 메모리장치의 센싱 스킴(scheme)을 나타내는 회로도이다.
도 12는 멀티레벨 셀에 저장되는 2비트 데이터 값과 기준전류와의 관계를 나타내는 도면이다.
도 13은 도 11에 도시된 감지증폭기 블록 및 디코더의 상세 회로도이다.
Claims (15)
- 하나의 메모리셀에 2비트 데이터를 저장하는 멀티레벨 셀(Multi-level cell) 플래쉬 메모리장치의 프로그램 방법에 있어서,프로그램 명령 및 프로그램 데이터를 입력하는 단계;상기 프로그램 데이터중 "00"의 2비트 데이터가 있는 지를 체크하는 단계;상기 체크 결과 상기 프로그램 데이터중 "00"의 2비트 데이터가 있을 때에는 플래그 레지스터를 셋트한 다음에 검증 동작(verify operation)을 수행하고 상기 프로그램 데이터중 "00"의 2비트 데이터가 없을 때에는 상기 플래그 레지스터를 셋트하지 않고 검증 동작을 수행하는 단계;상기 검증 동작 결과 검증을 통과(pass)하지 않으면 상기 메모리셀에 연결되는 워드라인의 전압을 한 단계(step)씩 증가시켜 반복적으로 프로그램 동작을 수행한 후 다시 반복적으로 검증 동작을 수행하는 단계;상기 검증 동작 결과 검증을 통과하면 상기 플래그 레지스터가 셋트되어 있는지 그렇지 않은지를 체크하는 단계; 및상기 체크 결과 상기 플래그 레지스터가 셋트되어 있지 않으면 즉시 프로그램 동작을 완료하고 상기 체크 결과 상기 플래그 레지스터가 셋트되어 있으면 상기 워드라인의 전압을 한 단계씩 더 증가시켜 다수번의 프로그램 동작을 더 수행한 후 프로그램 동작을 완료하는 단계를 구비하는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법.
- 제1항에 있어서, 상기 "00"의 2비트 데이터가 상기 메모리셀에 저장될 때 상기 메모리셀의 문턱전압이 가장 높은 상태가 되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치에 대한 프로그램 방법.
- 제1항에 있어서, 상기 메모리셀이 소거될 때 즉 "11"의 2비트 데이터가 상기 메모리셀에 저장될 때 상기 메모리셀의 문턱전압이 가장 낮은 상태가 되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법.
- 제2항에 있어서, 상기 검증 동작을 수행하는 단계 및 상기 다시 반복적으로 검증 동작을 수행하는 단계에서 상기 워드라인의 전압으로서 상기 메모리셀의 가장 높은 문턱전압보다 낮은 전압이 사용되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법.
- 프로그램 동작에 의해 메모리셀 문턱전압이 증가함에 따라 메모리셀에 저장되는 데이터가 "11", "10", "01", "00"로 변화되는 멀티레벨 셀(Multi-level cell) 플래쉬 메모리장치의 프로그램 방법에 있어서,상기 메모리셀에 저장되는 데이터가 "00" 상태가 될 때까지 프로그램 동작과 검증 동작을 반복하여 수행하는 단계; 및상기 검증 동작을 통과한 상기 "00" 상태 이후부터는 검증 동작없이 프로그램 동작만을 n(n은 자연수)번 추가적으로 더 수행하는 단계를 구비하는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법.
- 제5항에 있어서, 상기 검증 동작에서는 상기 메모리셀에 연결되는 워드라인의 전압으로서 상기 메모리셀에 저장된 데이터가 "00" 상태일 때의 메모리셀 문턱전압보다 낮은 전압이 사용되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법.
- 하나의 메모리셀에 2비트 데이터를 저장하는 멀티레벨 셀(Multi-level cell) 플래쉬 메모리장치에 있어서,외부에서 인가되는 프로그램 데이터를 저장하는 기입버퍼(write buffer);상기 기입버퍼에 저장된 상기 프로그램 데이터중 "00"의 2비트 데이터가 있을 때에만 셋트되는 플래그 레지스터;메모리셀들에 저장된 데이터와 상기 프로그램 데이터가 같은지 다른지를 체크하는 검증 동작(verify operation)을 수행하는 패쓰/페일(pass fail) 체크회로; 및상기 패쓰/페일 체크회로에 의한 검증을 패쓰하고 또한 상기 플래그 레지스터가 셋트되어 있을 때, n(n은 자연수)번의 프로그램 동작이 더 수행되도록 n을 카운트하는 카운터 회로를 구비하는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
- 제7항에 있어서, 상기 프로그램 데이터중 "00"의 2비트 데이터가 있을 때에는 상기 플래그 레지스터가 셋트된 다음에 상기 패쓰/페일 체크회로에 의한 검증 동작이 수행되고, 상기 프로그램 데이터중 "00"의 2비트 데이터가 없을 때에는 상기 플래그 레지스터가 셋트되지 않고 상기 패쓰/페일 체크회로에 의한 검증 동작이 수행되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
- 제7항에 있어서, 상기 패쓰/페일 체크회로에 의한 검증 동작 결과 검증이 통과되지 않으면, 상기 메모리셀에 연결되는 워드라인의 전압이 한 단계(step)씩 증가되어 반복적으로 프로그램 동작이 수행된 후 다시 반복적으로 상기 패쓰/페일 체크회로에 의한 검증 동작이 수행되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
- 제8항에 있어서, 상기 패쓰/페일 체크회로에 의한 검증 동작 결과 검증이 통과되고 이때 상기 플래그 레지스터가 셋트되어 있지 않으면, 즉시 프로그램 동작이 완료되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
- 제9항에 있어서, 상기 패쓰/페일 체크회로에 의한 검증 동작 결과 검증이 통과되고 이때 상기 플래그 레지스터가 셋트되어 있으면, 상기 워드라인의 전압이 한 단계(step)씩 더 증가되어 n번의 프로그램 동작이 더 수행된 후 프로그램 동작이 완료되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
- 제7항에 있어서, 상기 "00"의 2비트 데이터가 상기 메모리셀에 저장될 때 상기 메모리셀의 문턱전압이 가장 높은 상태가 되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
- 제7항에 있어서, 상기 패쓰/페일 체크회로에 의한 검증 동작이 수행될 때에는 상기 워드라인의 전압으로서 상기 메모리셀의 가장 높은 문턱전압보다 낮은 전압이 사용되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
- 제7항에 있어서, 상기 메모리셀이 소거될 때 즉 "11"의 2비트 데이터가 상기 메모리셀에 저장될 때 상기 메모리셀의 문턱전압이 가장 낮은 상태가 되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
- 하나의 메모리셀에 복수개의 문턱 전압 분포들을 저장하는 멀티레벨 셀(Multi-level cell) 플래쉬 메모리장치의 프로그램 방법에 있어서,프로그램 데이터가 가장 높은 문턱 전압 분포의 데이터인지를 확인하는 단계;상기 프로그램 데이터에 대해서 프로그램 및 검증 동작을 수행하는 단계;상기 검증 동작을 패스(pass)한 후에 프로그램 동작만을 추가적으로 수행하는 단계를 구비하는 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법.
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2004-0012984A KR100525004B1 (ko) | 2004-02-26 | 2004-02-26 | 멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법 |
US11/021,181 US7054199B2 (en) | 2004-02-26 | 2004-12-22 | Multi level flash memory device and program method |
DE200510009700 DE102005009700B4 (de) | 2004-02-26 | 2005-02-24 | Programmierverfahren und nichtflüchtiger Speicher |
JP2005054625A JP2005243230A (ja) | 2004-02-26 | 2005-02-28 | マルチレベルフラッシュメモリ装置及びプログラム方法 |
CNB200510052527XA CN100505100C (zh) | 2004-02-26 | 2005-02-28 | 多级闪存设备与编程方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2004-0012984A KR100525004B1 (ko) | 2004-02-26 | 2004-02-26 | 멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050087264A KR20050087264A (ko) | 2005-08-31 |
KR100525004B1 true KR100525004B1 (ko) | 2005-10-31 |
Family
ID=34880295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-2004-0012984A KR100525004B1 (ko) | 2004-02-26 | 2004-02-26 | 멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7054199B2 (ko) |
KR (1) | KR100525004B1 (ko) |
Families Citing this family (92)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100626377B1 (ko) * | 2004-06-07 | 2006-09-20 | 삼성전자주식회사 | 동작 모드에 따라 프로그램 전압의 증가분을 가변할 수있는 불 휘발성 메모리 장치 |
KR100648290B1 (ko) * | 2005-07-26 | 2006-11-23 | 삼성전자주식회사 | 프로그램 속도를 향상시킬 수 있는 불 휘발성 메모리 장치및 그것의 프로그램 방법 |
KR100729359B1 (ko) | 2005-09-23 | 2007-06-15 | 삼성전자주식회사 | 낸드 플래시 메모리 장치 및 그것의 프로그램 방법 |
WO2007132453A2 (en) * | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Distortion estimation and cancellation in memory devices |
US8156403B2 (en) | 2006-05-12 | 2012-04-10 | Anobit Technologies Ltd. | Combined distortion estimation and error correction coding for memory devices |
WO2007132456A2 (en) | 2006-05-12 | 2007-11-22 | Anobit Technologies Ltd. | Memory device with adaptive capacity |
US7876613B2 (en) | 2006-05-18 | 2011-01-25 | Samsung Electronics Co., Ltd. | Multi-bit flash memory devices having a single latch structure and related programming methods, systems and memory cards |
KR100778082B1 (ko) | 2006-05-18 | 2007-11-21 | 삼성전자주식회사 | 단일의 래치 구조를 갖는 멀티-비트 플래시 메모리 장치,그것의 프로그램 방법, 그리고 그것을 포함하는 메모리카드 |
KR100919156B1 (ko) * | 2006-08-24 | 2009-09-28 | 삼성전자주식회사 | 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 방법 |
US8060806B2 (en) * | 2006-08-27 | 2011-11-15 | Anobit Technologies Ltd. | Estimation of non-linear distortion in memory devices |
KR100771883B1 (ko) * | 2006-09-06 | 2007-11-01 | 삼성전자주식회사 | 멀티-레벨 불휘발성 메모리 장치 및 프로그램 방법 |
KR100771882B1 (ko) * | 2006-09-06 | 2007-11-01 | 삼성전자주식회사 | 멀티-레벨 불휘발성 메모리 장치의 프로그램 방법 |
KR100782329B1 (ko) * | 2006-10-02 | 2007-12-06 | 삼성전자주식회사 | 메모리 셀 어레이에 분산 배열된 플래그 셀 어레이를구비하는 비휘발성 메모리 장치 및 상기 메모리 장치의구동 방법 |
US7495954B2 (en) | 2006-10-13 | 2009-02-24 | Sandisk Corporation | Method for partitioned erase and erase verification to compensate for capacitive coupling effects in non-volatile memory |
KR100830580B1 (ko) | 2006-10-20 | 2008-05-21 | 삼성전자주식회사 | 플래시 메모리 장치를 포함한 메모리 시스템의 데이터 복원방법 |
WO2008053472A2 (en) | 2006-10-30 | 2008-05-08 | Anobit Technologies Ltd. | Reading memory cells using multiple thresholds |
KR100783988B1 (ko) * | 2006-10-31 | 2007-12-07 | 주식회사 하이닉스반도체 | 플래시 메모리 장치 및 동작방법 |
US7924648B2 (en) * | 2006-11-28 | 2011-04-12 | Anobit Technologies Ltd. | Memory power and performance management |
WO2008068747A2 (en) | 2006-12-03 | 2008-06-12 | Anobit Technologies Ltd. | Automatic defect management in memory devices |
KR100791006B1 (ko) * | 2006-12-06 | 2008-01-03 | 삼성전자주식회사 | 싱글레벨 셀 및 멀티레벨 셀을 구비하는 반도체 메모리장치 및 그 구동방법 |
US7900102B2 (en) | 2006-12-17 | 2011-03-01 | Anobit Technologies Ltd. | High-speed programming of memory devices |
KR100850509B1 (ko) * | 2007-01-10 | 2008-08-05 | 삼성전자주식회사 | 프로그램 에러를 감소시킬 수 있는 멀티 비트 플래시메모리 장치의 프로그램 방법 |
KR100818717B1 (ko) * | 2007-01-18 | 2008-04-02 | 삼성전자주식회사 | 비휘발성 반도체 메모리 장치 및 상기 비휘발성 반도체메모리 장치의 프로그램 방법 |
US8151166B2 (en) | 2007-01-24 | 2012-04-03 | Anobit Technologies Ltd. | Reduction of back pattern dependency effects in memory devices |
US7751240B2 (en) | 2007-01-24 | 2010-07-06 | Anobit Technologies Ltd. | Memory device with negative thresholds |
KR100823174B1 (ko) | 2007-02-27 | 2008-04-18 | 삼성전자주식회사 | 멀티-페이지 프로그램 스킴을 갖는 플래시 메모리 장치 및그것의 멀티-페이지 프로그램 방법 |
CN101715595A (zh) | 2007-03-12 | 2010-05-26 | 爱诺彼得技术有限责任公司 | 存储器单元读取阈的自适应估计 |
US8001320B2 (en) | 2007-04-22 | 2011-08-16 | Anobit Technologies Ltd. | Command interface for memory devices |
US8234545B2 (en) | 2007-05-12 | 2012-07-31 | Apple Inc. | Data storage with incremental redundancy |
US8429493B2 (en) | 2007-05-12 | 2013-04-23 | Apple Inc. | Memory device with internal signap processing unit |
US7925936B1 (en) | 2007-07-13 | 2011-04-12 | Anobit Technologies Ltd. | Memory device with non-uniform programming levels |
US8259497B2 (en) | 2007-08-06 | 2012-09-04 | Apple Inc. | Programming schemes for multi-level analog memory cells |
US8174905B2 (en) | 2007-09-19 | 2012-05-08 | Anobit Technologies Ltd. | Programming orders for reducing distortion in arrays of multi-level analog memory cells |
WO2009050703A2 (en) | 2007-10-19 | 2009-04-23 | Anobit Technologies | Data storage in analog memory cell arrays having erase failures |
US8000141B1 (en) | 2007-10-19 | 2011-08-16 | Anobit Technologies Ltd. | Compensation for voltage drifts in analog memory cells |
US8068360B2 (en) | 2007-10-19 | 2011-11-29 | Anobit Technologies Ltd. | Reading analog memory cells using built-in multi-threshold commands |
WO2009063450A2 (en) | 2007-11-13 | 2009-05-22 | Anobit Technologies | Optimized selection of memory units in multi-unit memory devices |
US8225181B2 (en) | 2007-11-30 | 2012-07-17 | Apple Inc. | Efficient re-read operations from memory devices |
US7688638B2 (en) * | 2007-12-07 | 2010-03-30 | Sandisk Corporation | Faster programming of multi-level non-volatile storage through reduced verify operations |
US8209588B2 (en) | 2007-12-12 | 2012-06-26 | Anobit Technologies Ltd. | Efficient interference cancellation in analog memory cell arrays |
US8085586B2 (en) | 2007-12-27 | 2011-12-27 | Anobit Technologies Ltd. | Wear level estimation in analog memory cells |
US8156398B2 (en) | 2008-02-05 | 2012-04-10 | Anobit Technologies Ltd. | Parameter estimation based on error correction code parity check equations |
US7924587B2 (en) * | 2008-02-21 | 2011-04-12 | Anobit Technologies Ltd. | Programming of analog memory cells using a single programming pulse per state transition |
US8230300B2 (en) | 2008-03-07 | 2012-07-24 | Apple Inc. | Efficient readout from analog memory cells using data compression |
US8059457B2 (en) | 2008-03-18 | 2011-11-15 | Anobit Technologies Ltd. | Memory device with multiple-accuracy read commands |
US8400858B2 (en) | 2008-03-18 | 2013-03-19 | Apple Inc. | Memory device with reduced sense time readout |
US7995388B1 (en) | 2008-08-05 | 2011-08-09 | Anobit Technologies Ltd. | Data storage using modified voltages |
US7924613B1 (en) | 2008-08-05 | 2011-04-12 | Anobit Technologies Ltd. | Data storage in analog memory cells with protection against programming interruption |
US8949684B1 (en) | 2008-09-02 | 2015-02-03 | Apple Inc. | Segmented data storage |
US8169825B1 (en) | 2008-09-02 | 2012-05-01 | Anobit Technologies Ltd. | Reliable data storage in analog memory cells subjected to long retention periods |
US8000135B1 (en) | 2008-09-14 | 2011-08-16 | Anobit Technologies Ltd. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8482978B1 (en) | 2008-09-14 | 2013-07-09 | Apple Inc. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US8239734B1 (en) | 2008-10-15 | 2012-08-07 | Apple Inc. | Efficient data storage in storage device arrays |
US8261159B1 (en) | 2008-10-30 | 2012-09-04 | Apple, Inc. | Data scrambling schemes for memory devices |
US8208304B2 (en) | 2008-11-16 | 2012-06-26 | Anobit Technologies Ltd. | Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N |
US8174857B1 (en) | 2008-12-31 | 2012-05-08 | Anobit Technologies Ltd. | Efficient readout schemes for analog memory cell devices using multiple read threshold sets |
US8248831B2 (en) | 2008-12-31 | 2012-08-21 | Apple Inc. | Rejuvenation of analog memory cells |
US8924661B1 (en) | 2009-01-18 | 2014-12-30 | Apple Inc. | Memory system including a controller and processors associated with memory devices |
US8228701B2 (en) | 2009-03-01 | 2012-07-24 | Apple Inc. | Selective activation of programming schemes in analog memory cell arrays |
US8259506B1 (en) | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US8832354B2 (en) | 2009-03-25 | 2014-09-09 | Apple Inc. | Use of host system resources by memory controller |
US8238157B1 (en) | 2009-04-12 | 2012-08-07 | Apple Inc. | Selective re-programming of analog memory cells |
US8479080B1 (en) | 2009-07-12 | 2013-07-02 | Apple Inc. | Adaptive over-provisioning in memory systems |
KR101634363B1 (ko) | 2009-10-05 | 2016-06-29 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 프로그램 방법 |
US8495465B1 (en) | 2009-10-15 | 2013-07-23 | Apple Inc. | Error correction coding over multiple memory pages |
US8677054B1 (en) | 2009-12-16 | 2014-03-18 | Apple Inc. | Memory management schemes for non-volatile memory devices |
KR101633018B1 (ko) | 2009-12-28 | 2016-06-24 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 방법 |
US8694814B1 (en) | 2010-01-10 | 2014-04-08 | Apple Inc. | Reuse of host hibernation storage space by memory controller |
US8572311B1 (en) | 2010-01-11 | 2013-10-29 | Apple Inc. | Redundant data storage in multi-die memory systems |
US8694853B1 (en) | 2010-05-04 | 2014-04-08 | Apple Inc. | Read commands for reading interfering memory cells |
US8572423B1 (en) | 2010-06-22 | 2013-10-29 | Apple Inc. | Reducing peak current in memory systems |
US8819503B2 (en) | 2010-07-02 | 2014-08-26 | Stec, Inc. | Apparatus and method for determining an operating condition of a memory cell based on cycle information |
US8737141B2 (en) | 2010-07-07 | 2014-05-27 | Stec, Inc. | Apparatus and method for determining an operating condition of a memory cell based on cycle information |
US8737136B2 (en) | 2010-07-09 | 2014-05-27 | Stec, Inc. | Apparatus and method for determining a read level of a memory cell based on cycle information |
US8595591B1 (en) | 2010-07-11 | 2013-11-26 | Apple Inc. | Interference-aware assignment of programming levels in analog memory cells |
US9104580B1 (en) | 2010-07-27 | 2015-08-11 | Apple Inc. | Cache memory for hybrid disk drives |
US8767459B1 (en) | 2010-07-31 | 2014-07-01 | Apple Inc. | Data storage in analog memory cells across word lines using a non-integer number of bits per cell |
US8856475B1 (en) | 2010-08-01 | 2014-10-07 | Apple Inc. | Efficient selection of memory blocks for compaction |
US8694854B1 (en) | 2010-08-17 | 2014-04-08 | Apple Inc. | Read threshold setting based on soft readout statistics |
US9021181B1 (en) | 2010-09-27 | 2015-04-28 | Apple Inc. | Memory management for unifying memory cell conditions by using maximum time intervals |
US9047955B2 (en) | 2011-03-30 | 2015-06-02 | Stec, Inc. | Adjusting operating parameters for memory cells based on wordline address and cycle information |
US8811091B2 (en) * | 2011-12-16 | 2014-08-19 | SanDisk Technologies, Inc. | Non-volatile memory and method with improved first pass programming |
US9195586B2 (en) | 2012-02-23 | 2015-11-24 | Hgst Technologies Santa Ana, Inc. | Determining bias information for offsetting operating variations in memory cells based on wordline address |
US8830745B2 (en) * | 2012-07-17 | 2014-09-09 | Sandisk Technologies Inc. | Memory system with unverified program step |
EP2973583B1 (en) * | 2013-03-14 | 2019-05-01 | Silicon Storage Technology Inc. | Non-volatile memory program algorithm device and method |
KR102179270B1 (ko) | 2014-07-23 | 2020-11-18 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 그것의 동작 방법 |
US9443606B2 (en) | 2014-10-28 | 2016-09-13 | Sandisk Technologies Llc | Word line dependent two strobe sensing mode for nonvolatile storage elements |
KR102437591B1 (ko) | 2015-12-03 | 2022-08-30 | 삼성전자주식회사 | 불휘발성 메모리 시스템의 동작 방법 및 메모리 컨트롤러의 동작 방법 |
US9773529B1 (en) * | 2016-06-16 | 2017-09-26 | Cypress Semiconductor Corporation | Methods and devices for reading data from non-volatile memory cells |
US10102903B1 (en) * | 2017-03-31 | 2018-10-16 | Intel Corporation | Write process for a non volatile memory device |
US11556416B2 (en) | 2021-05-05 | 2023-01-17 | Apple Inc. | Controlling memory readout reliability and throughput by adjusting distance between read thresholds |
US11847342B2 (en) | 2021-07-28 | 2023-12-19 | Apple Inc. | Efficient transfer of hard data and confidence levels in reading a nonvolatile memory |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5729489A (en) * | 1995-12-14 | 1998-03-17 | Intel Corporation | Programming flash memory using predictive learning methods |
US6295228B1 (en) * | 2000-02-28 | 2001-09-25 | Advanced Micro Devices, Inc. | System for programming memory cells |
US6643177B1 (en) * | 2003-01-21 | 2003-11-04 | Advanced Micro Devices, Inc. | Method for improving read margin in a flash memory device |
US6937520B2 (en) * | 2004-01-21 | 2005-08-30 | Tsuyoshi Ono | Nonvolatile semiconductor memory device |
-
2004
- 2004-02-26 KR KR10-2004-0012984A patent/KR100525004B1/ko not_active IP Right Cessation
- 2004-12-22 US US11/021,181 patent/US7054199B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7054199B2 (en) | 2006-05-30 |
US20050190603A1 (en) | 2005-09-01 |
KR20050087264A (ko) | 2005-08-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100525004B1 (ko) | 멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법 | |
US5570315A (en) | Multi-state EEPROM having write-verify control circuit | |
US7684238B2 (en) | Methods of programming multi-bit flash memory devices and related devices | |
JP4769563B2 (ja) | ページバッファ回路と、これを含むフラッシュメモリ装置 | |
KR100721012B1 (ko) | 낸드 플래시 메모리 장치 및 그것의 프로그램 방법 | |
US7852684B2 (en) | Page buffer circuit of memory device and program method | |
US8036030B2 (en) | Multi-level cell copyback program method in a non-volatile memory device | |
US20100329030A1 (en) | Nonvolatile memory device and method of programming the same | |
US7813188B2 (en) | Non-volatile memory device and a method of programming a multi level cell in the same | |
US8085587B2 (en) | Non-volatile memory device and method of verifying a program operation in the same | |
KR20010029857A (ko) | 비휘발성 반도체 메모리 장치 | |
JP2006012367A (ja) | 不揮発性半導体記憶装置 | |
US20090161443A1 (en) | Page buffer of non-volatile memory device and programming method of non-volatile memory device | |
US7796438B2 (en) | Flash memory device and method of programming the same | |
US7564724B2 (en) | Flash memory device | |
US9251902B2 (en) | Semiconductor storage device | |
KR101046805B1 (ko) | 불휘발성 메모리 소자의 페이지 버퍼 및 이의 프로그램 검증 방법 | |
US20150098278A1 (en) | Non-volatile memory apparatus and data verification method thereof | |
US7158417B2 (en) | Semiconductor device and method for writing data into the semiconductor device | |
KR20140018517A (ko) | 반도체 메모리 장치 및 그것의 동작 방법 | |
US5812451A (en) | Nonvolatile semiconductor storage apparatus and method of writing data to the same | |
KR100938044B1 (ko) | 불휘발성 메모리 장치 및 그 멀티 레벨 셀 프로그램 방법 | |
US20230298637A1 (en) | Page buffer circuit and operation method thereof | |
US20240105272A1 (en) | Semiconductor memory device |
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: 20081001 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |