KR100525004B1 - 멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법 - Google Patents

멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법 Download PDF

Info

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
Application number
KR10-2004-0012984A
Other languages
English (en)
Other versions
KR20050087264A (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 KR10-2004-0012984A priority Critical patent/KR100525004B1/ko
Priority to US11/021,181 priority patent/US7054199B2/en
Priority to DE200510009700 priority patent/DE102005009700B4/de
Priority to JP2005054625A priority patent/JP2005243230A/ja
Priority to CNB200510052527XA priority patent/CN100505100C/zh
Publication of KR20050087264A publication Critical patent/KR20050087264A/ko
Application granted granted Critical
Publication of KR100525004B1 publication Critical patent/KR100525004B1/ko

Links

Classifications

    • GPHYSICS
    • G04HOROLOGY
    • G04BMECHANICALLY-DRIVEN CLOCKS OR WATCHES; MECHANICAL PARTS OF CLOCKS OR WATCHES IN GENERAL; TIME PIECES USING THE POSITION OF THE SUN, MOON OR STARS
    • G04B19/00Indicating the time by visual means
    • G04B19/06Dials
    • G04B19/08Geometrical arrangement of the graduations
    • 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
    • G04HOROLOGY
    • G04BMECHANICALLY-DRIVEN CLOCKS OR WATCHES; MECHANICAL PARTS OF CLOCKS OR WATCHES IN GENERAL; TIME PIECES USING THE POSITION OF THE SUN, MOON OR STARS
    • G04B35/00Adjusting the gear train, e.g. the backlash of the arbors, depth of meshing of the gears
    • 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/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
    • 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
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/562Multilevel memory programming aspects
    • G11C2211/5621Multilevel 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

멀티레벨 셀(Multi-level cell)플래쉬 메모리장치 및 이의 프로그램 방법{Multi-level cell flash memory device and program method thereof}
본 발명은 반도체 메모리장치에 관한 것으로, 특히 멀티레벨 셀 플래쉬 메모리장치 및 이의 프로그램 방법에 관한 것이다.
싱글레벨 셀(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)

  1. 하나의 메모리셀에 2비트 데이터를 저장하는 멀티레벨 셀(Multi-level cell) 플래쉬 메모리장치의 프로그램 방법에 있어서,
    프로그램 명령 및 프로그램 데이터를 입력하는 단계;
    상기 프로그램 데이터중 "00"의 2비트 데이터가 있는 지를 체크하는 단계;
    상기 체크 결과 상기 프로그램 데이터중 "00"의 2비트 데이터가 있을 때에는 플래그 레지스터를 셋트한 다음에 검증 동작(verify operation)을 수행하고 상기 프로그램 데이터중 "00"의 2비트 데이터가 없을 때에는 상기 플래그 레지스터를 셋트하지 않고 검증 동작을 수행하는 단계;
    상기 검증 동작 결과 검증을 통과(pass)하지 않으면 상기 메모리셀에 연결되는 워드라인의 전압을 한 단계(step)씩 증가시켜 반복적으로 프로그램 동작을 수행한 후 다시 반복적으로 검증 동작을 수행하는 단계;
    상기 검증 동작 결과 검증을 통과하면 상기 플래그 레지스터가 셋트되어 있는지 그렇지 않은지를 체크하는 단계; 및
    상기 체크 결과 상기 플래그 레지스터가 셋트되어 있지 않으면 즉시 프로그램 동작을 완료하고 상기 체크 결과 상기 플래그 레지스터가 셋트되어 있으면 상기 워드라인의 전압을 한 단계씩 더 증가시켜 다수번의 프로그램 동작을 더 수행한 후 프로그램 동작을 완료하는 단계를 구비하는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법.
  2. 제1항에 있어서, 상기 "00"의 2비트 데이터가 상기 메모리셀에 저장될 때 상기 메모리셀의 문턱전압이 가장 높은 상태가 되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치에 대한 프로그램 방법.
  3. 제1항에 있어서, 상기 메모리셀이 소거될 때 즉 "11"의 2비트 데이터가 상기 메모리셀에 저장될 때 상기 메모리셀의 문턱전압이 가장 낮은 상태가 되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법.
  4. 제2항에 있어서, 상기 검증 동작을 수행하는 단계 및 상기 다시 반복적으로 검증 동작을 수행하는 단계에서 상기 워드라인의 전압으로서 상기 메모리셀의 가장 높은 문턱전압보다 낮은 전압이 사용되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법.
  5. 프로그램 동작에 의해 메모리셀 문턱전압이 증가함에 따라 메모리셀에 저장되는 데이터가 "11", "10", "01", "00"로 변화되는 멀티레벨 셀(Multi-level cell) 플래쉬 메모리장치의 프로그램 방법에 있어서,
    상기 메모리셀에 저장되는 데이터가 "00" 상태가 될 때까지 프로그램 동작과 검증 동작을 반복하여 수행하는 단계; 및
    상기 검증 동작을 통과한 상기 "00" 상태 이후부터는 검증 동작없이 프로그램 동작만을 n(n은 자연수)번 추가적으로 더 수행하는 단계를 구비하는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법.
  6. 제5항에 있어서, 상기 검증 동작에서는 상기 메모리셀에 연결되는 워드라인의 전압으로서 상기 메모리셀에 저장된 데이터가 "00" 상태일 때의 메모리셀 문턱전압보다 낮은 전압이 사용되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법.
  7. 하나의 메모리셀에 2비트 데이터를 저장하는 멀티레벨 셀(Multi-level cell) 플래쉬 메모리장치에 있어서,
    외부에서 인가되는 프로그램 데이터를 저장하는 기입버퍼(write buffer);
    상기 기입버퍼에 저장된 상기 프로그램 데이터중 "00"의 2비트 데이터가 있을 때에만 셋트되는 플래그 레지스터;
    메모리셀들에 저장된 데이터와 상기 프로그램 데이터가 같은지 다른지를 체크하는 검증 동작(verify operation)을 수행하는 패쓰/페일(pass fail) 체크회로; 및
    상기 패쓰/페일 체크회로에 의한 검증을 패쓰하고 또한 상기 플래그 레지스터가 셋트되어 있을 때, n(n은 자연수)번의 프로그램 동작이 더 수행되도록 n을 카운트하는 카운터 회로를 구비하는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
  8. 제7항에 있어서, 상기 프로그램 데이터중 "00"의 2비트 데이터가 있을 때에는 상기 플래그 레지스터가 셋트된 다음에 상기 패쓰/페일 체크회로에 의한 검증 동작이 수행되고, 상기 프로그램 데이터중 "00"의 2비트 데이터가 없을 때에는 상기 플래그 레지스터가 셋트되지 않고 상기 패쓰/페일 체크회로에 의한 검증 동작이 수행되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
  9. 제7항에 있어서, 상기 패쓰/페일 체크회로에 의한 검증 동작 결과 검증이 통과되지 않으면, 상기 메모리셀에 연결되는 워드라인의 전압이 한 단계(step)씩 증가되어 반복적으로 프로그램 동작이 수행된 후 다시 반복적으로 상기 패쓰/페일 체크회로에 의한 검증 동작이 수행되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
  10. 제8항에 있어서, 상기 패쓰/페일 체크회로에 의한 검증 동작 결과 검증이 통과되고 이때 상기 플래그 레지스터가 셋트되어 있지 않으면, 즉시 프로그램 동작이 완료되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
  11. 제9항에 있어서, 상기 패쓰/페일 체크회로에 의한 검증 동작 결과 검증이 통과되고 이때 상기 플래그 레지스터가 셋트되어 있으면, 상기 워드라인의 전압이 한 단계(step)씩 더 증가되어 n번의 프로그램 동작이 더 수행된 후 프로그램 동작이 완료되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
  12. 제7항에 있어서, 상기 "00"의 2비트 데이터가 상기 메모리셀에 저장될 때 상기 메모리셀의 문턱전압이 가장 높은 상태가 되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
  13. 제7항에 있어서, 상기 패쓰/페일 체크회로에 의한 검증 동작이 수행될 때에는 상기 워드라인의 전압으로서 상기 메모리셀의 가장 높은 문턱전압보다 낮은 전압이 사용되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
  14. 제7항에 있어서, 상기 메모리셀이 소거될 때 즉 "11"의 2비트 데이터가 상기 메모리셀에 저장될 때 상기 메모리셀의 문턱전압이 가장 낮은 상태가 되는 것을 특징으로 하는 멀티레벨 셀 플래쉬 메모리장치.
  15. 하나의 메모리셀에 복수개의 문턱 전압 분포들을 저장하는 멀티레벨 셀(Multi-level cell) 플래쉬 메모리장치의 프로그램 방법에 있어서,
    프로그램 데이터가 가장 높은 문턱 전압 분포의 데이터인지를 확인하는 단계;
    상기 프로그램 데이터에 대해서 프로그램 및 검증 동작을 수행하는 단계;
    상기 검증 동작을 패스(pass)한 후에 프로그램 동작만을 추가적으로 수행하는 단계를 구비하는 멀티레벨 셀 플래쉬 메모리장치의 프로그램 방법.
KR10-2004-0012984A 2004-02-26 2004-02-26 멀티레벨 셀(Multi-level cell)플래쉬메모리장치 및 이의 프로그램 방법 KR100525004B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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