KR101047168B1 - 비휘발성 메모리에서의 분할된 소프트 프로그래밍 - Google Patents

비휘발성 메모리에서의 분할된 소프트 프로그래밍 Download PDF

Info

Publication number
KR101047168B1
KR101047168B1 KR1020097008956A KR20097008956A KR101047168B1 KR 101047168 B1 KR101047168 B1 KR 101047168B1 KR 1020097008956 A KR1020097008956 A KR 1020097008956A KR 20097008956 A KR20097008956 A KR 20097008956A KR 101047168 B1 KR101047168 B1 KR 101047168B1
Authority
KR
South Korea
Prior art keywords
subset
voltage
soft
memory cells
erase
Prior art date
Application number
KR1020097008956A
Other languages
English (en)
Other versions
KR20090091691A (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
Priority claimed from US11/549,553 external-priority patent/US7499338B2/en
Priority claimed from US11/549,564 external-priority patent/US7535766B2/en
Application filed by 샌디스크 코포레이션 filed Critical 샌디스크 코포레이션
Publication of KR20090091691A publication Critical patent/KR20090091691A/ko
Application granted granted Critical
Publication of KR101047168B1 publication Critical patent/KR101047168B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • 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
    • G11C16/3409Circuits or methods to recover overerased nonvolatile memory cells detected during erase verification, usually by means of a "soft" programming step
    • 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
    • G11C16/3413Circuits or methods to recover overprogrammed nonvolatile memory cells detected during program verification, usually by means of a "soft" erasing step
    • 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/344Arrangements for verifying correct erasure or for detecting overerased cells
    • G11C16/3445Circuits or methods to verify correct erasure of nonvolatile memory 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

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

Abstract

소프트 프로그래밍은 소거되는 메모리 셀들의 세트의 임계 전압 분포를 좁히기 위해 수행된다. 소프트 프로그래밍은 메모리 셀들의 임계 전압을 소거된 상태에 대한 검증 레벨에 더 가까워지도록 시프트시킬 수 있다. 메모리 셀들의 세트는, 보다 일관된 소프트 프로그래밍 속도들 및 임계 전압들을 제공하기 위해 그 세트의 일부분들을 소프트 프로그래밍함으로써, 소프트 프로그램될 수 있다. 셀들의 제 2 그룹의 소프트 프로그래밍을 금지하면서, 제 1 소프트 프로그래밍 펄스가 세트의 셀들의 제 1 그룹에 인가될 수 있다. 이후, 셀들의 제 1 그룹의 소프트 프로그래밍을 금지하면서, 제 2 소프트 프로그래밍 펄스가 셀들의 제 2 그룹에 인가될 수 있다. 소프트 프로그래밍 펄스들 보다 작은 크기를 갖는 작은 양(positive)의 전압이, 금지되어야 하는 셀들의 그룹에 인가될 수 있다. 작은 양의 전압의 사이즈는, 세트의 각 메모리 셀이 소프트 프로그래밍될 때에, 이웃하는 트랜지스터들로부터 유사한 용량 결합 효과를 경험하게 되도록 선택될 수 있다.
소프트 프로그래밍, 프로그래밍 금지, 용량 결합 효과, 유사한 용량 결합

Description

비휘발성 메모리에서의 분할된 소프트 프로그래밍{PARTITIONED SOFT PROGRAMMING IN NON-VOLATILE MEMORY}
본 발명은 일반적으로 비휘발성 메모리 디바이스들을 소거 및 소프트 프로그래밍하기 위한 반도체 기술에 관한 것이다.
반도체 메모리 장치는 다양한 전자 장치에서 더욱 더 일반적으로 사용되어 왔다. 예를 들어, 비휘발성 반도체 메모리는 셀룰러 전화기, 디지털 카메라, 개인 휴대정보 단말기(PDA), 휴대용 연산 장치, 비-휴대용 연산 장치 및 기타 장치에서 사용된다. 전기적으로 소거가능하고 프로그램가능한 판독 전용 메모리(Electrical Erasable Programmable Read Only Memory : EEPROM)(플래시 EEPROM을 포함함) 및 전기적으로 프로그램가능한 판독 전용 메모리가 가장 일반적인 비휘발성 반도체 메모리이다.
플래시 메모리 시스템의 일례는 낸드(NAND) 구조를 사용하는 바, 이는 두개의 선택 게이트들 사이에서 샌드위치되어 있으며 직렬로 정렬된 복수개 트랜지스터들을 포함한다. 상기 직렬로 정렬된 트랜지스터들과 선택 게이트들은 NAND 스트링(NAND string)이라고 일컬어진다. 도 1은 하나의 NAND 스트링을 도시한 평면도이다. 도 2는 도 1에 도시된 구조의 등가회로이다. 도 1과 도 2에 도시된 NAND 스트링은, 직렬로 연결되어 있으며 제 1 선택 게이트(120)과 제 2 선택 게이트(122) 사이에서 샌드위치된 4개의 트랜지스터(100, 102, 104, 106)를 포함한다. 선택 게이트(120)는 NAND 스트링을 비트라인(126)에 연결한다. 선택 게이트(122)는 NAND 스트링을 소스라인(128)에 연결한다. 적절한 전압을 선택 라인(SGD)을 통해 제어 게이트(120CG)에 인가함으로써, 선택 게이트(120)를 제어할 수 있다. 선택 게이트(122)는, 선택 라인(SGS)을 통해 제어 게이트(122CG)에 적절한 전압을 인가함으로써 제어할 수 있다. 각각의 트랜지스터(100, 102, 104, 106)들은 제어 게이트와 플로팅 게이트를 포함하며, 이들은 메모리 셀의 게이트 엘리먼트들을 형성한다. 예를 들어, 트랜지스터(100)는 제어 게이트(100CG)와 플로팅 게이트(100FG)를 갖는다. 트랜지스터(102)는 제어 게이트(102CG)와 플로팅 게이트(102FG)를 갖는다. 트랜지스터(104)는 제어 게이트(104CG)와 플로팅 게이트(104FG)를 갖는다. 트랜지스터(106)는 제어 게이트(106CG)와 플로팅 게이트(106FG)를 갖는다. 제어 게이트(100CG)는 워드라인(WL3)에 연결되어 있고, 제어 게이트(102CG)는 워드라인(WL2)에 연결되어 있고, 제어 게이트(104CG)는 워드라인(WL1)에 연결되어 있고, 제어 게이트(106CG)는 워드라인(WL0)에 연결되어 있다.
비록, 도 1 및 도 2는 하나의 NAND 스트링 내의 4개의 메모리 셀들을 도시하고 있지만, 4개의 트랜지스터를 사용하는 것은 다만 일례일 뿐이다. NAND 스트링은 4개보다 더 적은 메모리 셀들을 가질 수 있거나 또는 4개 보다 더 많은 메모리 셀들을 가질 수 있다. 예를 들어, 어떤 NAND 스트링들은 8개의 메모리 셀들을 포함할 수 있으며, 16개, 32개 등등의 메모리 셀들을 포함할 수도 있다. 본 명세서에서 논 의되는 바는 하나의 NAND 스트링 내의 메모리 셀들의 갯수를 특정하게 한정하는 것이 아니다.
낸드 구조를 사용하는 플래시 메모리 시스템의 전형적인 구성은 복수개의 NAND 스트링들을 포함할 것이다. 예를 들어, 도 3은 더 많은 NAND 스트링들을 보유하고 있는 메모리 어레이에서, 3개의 NAND 스트링(202, 204, 206)을 도시한 도면이다. 도 3에 도시된 각각의 NAND 스트링은 4개의 메모리 셀과 2개의 선택 트랜지스터들 또는 게이트들을 포함한다. 예를 들어, NAND 스트링(202)은 선택 트랜지스터들(220, 230)과 메모리 셀들(222, 224, 226, 228)을 포함한다. NAND 스트링(204)은 선택 트랜지스터들(240, 250)과 메모리 셀들(242, 244, 246, 248)을 포함한다. 각 스트링은 하나의 선택 게이트(예를 들어, 선택 게이트(230) 및 선택 게이트(250))에 의해 소스 라인에 연결된다. 선택 라인(SGS)은 소스측(source side) 선택 게이트들을 제어하기 위해서 사용된다. 다양한 NAND 스트링들은, 선택 라인(SGD)에 의해 제어되는 선택 게이트들(220, 240, 등등)에 의해 각각의 비트라인들에 연결된다. 다른 실시예들에서, 상기 선택 라인들은 공통일 필요는 없다. 워드라인(WL3)은 메모리 셀(222)과 메모리 셀(242)의 제어 게이트들에 연결된다. 워드라인(WL2)은 메모리 셀(224)과 메모리 셀(244)의 제어 게이트들에 연결된다. 워드라인(WL1)은 메모리 셀(226)과 메모리 셀(246)의 제어 게이트들에 연결된다. 워드라인(WL0)은 메모리 셀(228)과 메모리 셀(248)의 제어 게이트들에 연결된다. 도시된 바와 같이, 비트라인과 각각의 NAND 스트링은 메모리 셀 어레이의 컬럼(column)을 구성한다. 워드라인들(WL3, WL2, WL1, WL0)은 어레이의 로우(row)를 구성한다. 각각의 워드라 인은, 로우에 있는 각각의 메모리 셀의 제어 게이트들을 연결한다. 예를 들어, 워드라인(WL2)은 메모리 셀들(224, 244, 252)의 제어 게이트들에 연결된다.
각각의 메모리 셀은 데이터(디지털 또는 아날로그)를 저장할 수 있다. 디지털 데이터 1 비트를 저장할 때, 메모리 셀의 가능한 임계 전압의 범위는, 논리 데이터 "1" 과 "0"에 할당되는 2개의 범위로 나뉜다. 낸드 타입의 플래시 메모리의 일 실시예에서, 메모리 셀이 소거된 이후의 임계 전압은 음(negative)의 값을 가지며, 이는 논리 "1" 로서 정의된다. 프로그램 동작 이후의 임계 전압은 양(positive)의 값을 가지며, 이는 논리 "0" 으로서 정의된다. 임계 전압이 음이며, 제어 게이트에 0 볼트(V)가 인가되어 판독 동작이 시도될 때, 상기 메모리 셀은 턴온되어 논리 "1" 을 저장하고 있음을 표시할 것이다. 임계 전압이 양이며, 제어 게이트에 0 볼트가 인가되어 판독 동작이 시도될 때, 상기 메모리 셀은 턴온되지 않을 것이며, 이는 논리 "0"이 저장되어 있음을 나타낸다. 또한, 하나의 메모리 셀은 복수 레벨들의 정보를 저장할 수 있는데, 예를 들어 복수 비트들의 디지털 데이터를 저장할 수 있다. 복수 레벨들의 데이터를 저장하는 경우, 가능한 임계 전압의 범위는 데이터의 레벨들의 수로 나뉘어진다. 예를 들어, 4개의 정보 레벨이 저장되는 경우, 데이터 값 "11", "10", "01", "00" 에 할당되는 4개의 임계 전압 범위들이 존재할 것이다. NAND 타입 메모리의 일 예에서, 소거 동작 이후의 임계 전압은 음이며, 논리 "11"로서 정의된다. 3개의 서로 다른 양의 임계 전압들이 상태 "10", "01", "00"에 대해 이용된다.
NAND 타입 플래시 메모리에 관련된 실시예들과 그들의 동작은 다음의 미국 특허들/특허출원들에서 제공되며, 이들 모든 특허들과 특허출원들은 본원의 참조로서 인용된다. 미국 특허 US 5,570,315, US 5,774,397, US 6,046,935, US 6,456,528 및 미국 특허출원 09/893,277(공개번호 US2003/0002348).
플래시 메모리 셀을 프로그래밍할 때, 프로그램 전압은 (선택된 워드라인을 통해) 제어 게이트에 인가되며, 비트라인은 접지된다. p-웰로부터의 전자들이 플로팅 게이트 내에 주입된다. 플로팅 게이트에 전자들이 축적되면, 플로팅 게이트가 음으로 대전되고 셀의 임계 전압이 상승하게 된다. 플로팅 게이트 전하 및 셀의 임계 전압은 저장된 데이터에 대응하는 특정 상태를 나타낼 수 있다.
NAND 타입 플래시 메모리의 메모리 셀들을 소거하기 위해서, 전자들은 각 메모리 셀의 플로팅 게이트로부터 웰 영역 및 기판으로 옮겨진다. 전형적으로, 각각의 메모리 셀의 플로팅 게이트로부터 웰 영역으로 전자들을 끌어당기기 위해, 하나 이상의 고전압(예를 들어, ~16V-20V)의 소거 펄스들이 웰 영역에 인가된다. 각 메모리 셀의 워드라인은 접지되거나 또는 0V가 인가되어, 터널 산화막 영역의 양단에 높은 전위를 생성함으로써, 전자들을 끌어당긴다. 만일 소거 전압 펄스를 인가한 이후에도, NAND 스트링의 각 메모리 셀이 소거되지 않는 다면, 각 메모리 셀이 소거될 때 까지, 상기 펄스의 사이즈가 증가되어 NAND 스트링에 다시 인가될 수 있다. 전형적으로, 펄스들 사이에서 소거 전압이 증가되는 값은, 소거 전압에 대한 스텝 사이즈(step size)로서 지칭된다.
종래 기술들을 사용하는 전형적인 소거 동작들은, 하나의 NAND 스트링 내의 메모리 셀들 사이에서 서로 다른 소거 속도(rate)들을 야기할 수 있다. 몇몇 메모리 셀들은, 다른 셀들에 비하여, 소거 상태에 대한 목적 임계 전압 레벨에 더 빠르게 또는 더 늦게 도달할 수 있다. 이러한 점은, 더 빨리 소거되는 메모리 셀들의 과소거(over-erasure)를 야기할 수도 있는데, 이는 NAND 스트링에서 더 늦게 소거되는 메모리 셀들을 충분히 소거하기 위해 인가되는 소거 전압들이, 더 빨리 소거되는 메모리 셀들에게 계속해서 인가될 것이기 때문이다. 따라서, 이러한 서로 다른 소거 속도들은 메모리 셀 또는 NAND 스트링의 사이클 수명을 단축시킬 수 있다. 또한, 전형적인 소거 동작들은, 하나의 NAND 스트링의 메모리 셀들 사이에서 서로 다른(disparate) 임계 전압들을 야기할 수 있다. 즉, 하나 이상의 소거 전압 펄스들이 인가된 이후에, NAND 스트링의 하나 이상의 메모리 셀들은, 상기 스트링의 다른 메모리 셀들 또는 디바이스의 다른 메모리 셀들과 비교했을 때, 서로 다른 임계 전압을 가질 수도 있다. 이러한 영향을 극복하기 위해, 일반적으로 소프트 프로그래밍(soft programming)이라 지칭되는 기술을 이용하여, 소거 이후에 하나 이상의 메모리 셀들의 임계 전압들을 조정하였다. 소프트 프로그래밍은 상대적으로 낮은 프로그램 전압-실제 프로그래밍에 사용되는 것보다는 낮은 전압-을 하나 이상의 메모리 셀들에 인가하는 것을 포함한다. 전형적으로, 소프트 프로그래밍은, 프로그램 전압 펄스들을 각각 인가하는 것의 사이에서, 프로그램 전압을 스텝 사이즈 만큼 증가된 일련의 펄스들로서 인가하는 것을 포함한다. 소프트 프로그래밍은, 소거된 메모리 셀들 집단의 임계 전압 분포를 좁히거나 그리고/또는 상승시키기 위해, 메모리 셀들의 임계 전압을 올린다. 하지만, 소프트 프로그래밍은 프로그램 시간 및 소거 시간을 증가시킬 수도 있다.
또한, 전형적인 소프트 프로그래밍은 서로 다른 메모리 셀들 사이에서 다른 특성들을 갖게 되는 상기 언급한 영향들중 일부를 겪을 수 있다. 소거가 느릴 수 있는 동일한 메모리 셀들은 소프트 프로그램 속도도 느릴 수 있다. 이와 같이 소프트 프로그래밍이 보다 느린 셀들은, 소프트 프로그래밍의 종결시 NAND 스트링의 나머지 셀들 보다 낮은 소거 임계 전압들을 가질 수 있다.
소프트 프로그래밍은, 메모리 셀들의 임계 전압을 소거 상태에 대한 검증 레벨에 보다 가까워지도록 시프트시킴으로써, 소거된 메모리 셀들의 세트의 임계 전압 분포를 좁히기 위해 수행된다. 메모리 셀들의 세트는, 보다 일관된 소프트 프로그래밍 속도들 및 임계 전압들을 제공하기 위해 그 세트의 일부분들을 소프트 프로그래밍함으로써, 소프트 프로그램될 수 있다. 셀들의 제 2 그룹의 소프트 프로그래밍을 금지하면서, 제 1 소프트 프로그래밍 펄스가 세트의 셀들의 제 1 그룹에 인가될 수 있다. 이후, 셀들의 제 1 그룹의 소프트 프로그래밍을 금지하면서, 제 2 소프트 프로그래밍 펄스가 셀들의 제 2 그룹에 인가될 수 있다. 소프트 프로그래밍 펄스들 보다 작은 크기(즉, 진폭)를 갖는 작은 양(positive)의 전압(즉, 정 전압)이, 금지되어야 하는 셀들의 그룹에 인가될 수 있다. 이러한 작은 양의 전압의 사이즈는, 세트의 각 메모리 셀이, 소프트 프로그래밍될 때에, 이웃하는 트랜지스터들로부터 유사한 용량 결합 효과를 경험하게 되도록 선택될 수 있다.
일 실시예에서, 비휘발성 메모리는, 비휘발성 저장 요소들의 세트의 제 2 서브세트(subset)의 소프트 프로그래밍을 금지하면서, 세트의 제 1 서브세트에 소프트 프로그래밍 전압을 인가하고, 제 1 서브세트의 소프트 프로그래밍을 금지하면서, 제 2 서브세트에 소프트 프로그래밍 전압을 인가함으로써, 소프트 프로그램된다. 비휘발성 저장 요소들의 세트의 소프트 프로그래밍은, 제 1 서브세트 및 제 2 서브세트에 소프트 프로그래밍 전압을 인가한 이후에 검증된다. 만일 세트가 소프트 프로그램된 것으로서 검증되지 않는 다면, 제 1 서브세트에 소프트 프로그래밍 전압을 인가하고 제 2 서브세트에 소프트 프로그래밍 전압을 인가하는 것 중에서 적어도 하나가 반복된다.
일 실시예에서, 서브세트들은, 소프트 프로그래밍 펄스를 받는 동안, 세트의 각 메모리 셀이 유사하게 바이어스되는 이웃 트랜지스터들을 갖게 되도록 선택된다. 예를 들어, NAND 스트링에 대한 선택 게이트들에 인접하는, NAND 스트링 내의 말단(end) 메모리 셀들은 그 스트링의 나머지 메모리 셀들 보다 느리게 소프트 프로그램될 수 있는데, 이는 소프트 프로그래밍 동안 선택 게이트들에 인가되는 바이어스 조건들 때문이다. 서브세트들은, 금지되는 서브세트에 인가되는 전압과 함께, 안쪽 메모리 셀(interior memory cell) 및 말단 메모리 셀(end memory cell)이 소프트 프로그래밍 동안 유사하게 바이어스되는 이웃 트랜지스터들을 갖도록 선택될 수 있다.
일부 예시적인 구현들은, 다수의 비휘발성 저장 요소들, 이러한 비휘발성 저장 요소들과 통신하는 제어 라인들의 세트(예를 들어, 워드 라인들, 비트 라인들 또는 다른 제어 라인들), 및 여기에서 설명되는 프로세스들을 수행하기 위한 관리 회로를 포함한다.
개시되는 기술의 실시예들의 다른 특징들, 양상들 및 목적들은 발명의 상세한 설명, 도면, 청구항들을 살펴봄으로써 알 수 있다.
도 1은 NAND 스트링의 평면도이다.
도 2는 도 1에 도시된 NAND 스트링의 등가 회로도이다.
도 3은 3개의 NAND 스트링을 도시하는 회로도이다.
도 4는 본 발명에 따른 다양한 양상들이 구현될 수 있는 비휘발성 메모리 시스템의 일 실시예에 관한 블록도이다.
도 5는 메모리 어레이의 예시적인 구조를 도시한 도면이다.
도 6은 본 발명의 다양한 실시예들에 따라, 선택된 워드라인에 인가될 수 있는 예시적인 프로그램 전압 신호, 검증 전압 신호를 도시한 도면이다.
도 7은 프로그램 동작을 수행하는 예시적인 흐름도이다.
도 8은 메모리 셀들 그룹의 예시적인 임계 전압 분포들을 도시한 도면이다.
도 9는 2 비트의 데이터를 저장하는 메모리 셀들 그룹의 예시적인 임계 전압 분포들을 도시한 도면이다.
도 10은 종래 기술에 따른 소거 동작을 수행하기 위한 예시적인 바이어스 조건들을 도시한 표이다.
도 11은 이상적인 소거 동작 동안에 NAND 스트링의 다양한 부분들에서의 전압들을 도시한 도면이다.
도 12는 NAND 스트링의 단면을 도시한 도면으로서, NAND 스트링 내의 용량적 으로 결합된 다양한 전압들을 도시한 도면이다.
도 13은 소거 동작 동안에 NAND 스트링의 말단 메모리 셀들의 다양한 전압들을 도시한 그래프이다.
도 14A 및 14B는 소거 동작을 완료한 이후 NAND 스트링의 말단 및 안쪽 메모리 셀들에 대한 예시적인 개별적인 임계 전압 분포들을 도시한다.
도 15는 일 실시예에 따라 비휘발성 저장 요소들을 소거하고 소거를 검증하기 위한 바이어스 조건들을 도시하는 표이다.
도 16은 일 실시예에 따른, 소거 동작 동안 NAND 스트링의 다양한 부분들에서의 전압 신호들 및 결과적인 전위들을 도시한다.
도 17은 일 실시예에 따라 비휘발성 저장 요소들의 세트를 소거하는 흐름도이다.
도 18A 내지 18C는 일 실시예에 따른, 소거 동작 동안의 메모리 셀들의 임계 전압 분포들을 도시한다.
도 19는 서브세트-기반의 검증을 이용하는 일 실시예에 따라 비휘발성 저장 요소들의 세트를 소거하고 소거를 검증하는 바이어스 조건들을 도시하는 표이다.
도 20은 본 발명의 일 실시예에 따라 비휘발성 저장 요소들의 세트를 소거하는 흐름도이다.
도 21은 일 실시예에 따라 비휘발성 저장 요소들의 세트를 소거하고 소거를 검증하는 바이어스 조건들을 도시하는 흐름도이다.
도 22A 및 22B는 다양한 실시예들에 따른 소거 전압 신호들을 도시하는 그래프들이다.
도 23은 소거된 이후 비휘발성 저장 요소들의 세트에 대한 임계 전압 분포들을 도시한다.
도 24는 일 실시예에서의 소프트 프로그래밍 및 소프트 프로그래밍 검증을 위한 바이어스 조건들을 도시하는 표이다.
도 25는 일 실시예에 따른, 소거 및 소프트 프로그래밍된 이후의 비휘발성 저장 요소들의 세트에 대한 임계 전압 분포들을 도시한다.
도 26은 일 실시예에 따라 비휘발성 저장 요소들의 세트를 소프트 프로그래밍하는 흐름도이다.
도 27은 일 실시예에 따른, 서브세트-레벨 검증을 포함하는, 소프트 프로그래밍을 위한 바이어스 조건들을 도시하는 흐름도이다.
도 28은 일 실시예에 따라 서브세트-레벨 검증을 이용하여 소프트 프로그래밍하는 흐름도이다.
도 29는 일 실시예에 따른, 소프트 프로그래밍 및 소프트 프로그래밍 검증을 위한 바이어스 조건들을 도시하는 표이다.
도 4는 본 발명의 하나 이상의 실시예들을 구현하는 데에 사용될 수 있는 플래시 메모리 시스템의 일 실시예에 관한 블록도이다. 다른 시스템들 및 구현예들이 사용될 수도 있다. 메모리 셀 어레이(302)는 컬럼 제어 회로(304), 로우 제어 회로(306), C-소스 제어 회로(310) 및 p-웰 제어 회로(308)에 의해 제어된다. 컬럼 제어 회로(304)는 메모리 셀 어레이(302)의 비트라인들에 연결되어, 메모리 셀들에 저장된 데이터를 판독하고, 프로그램 동작 동안에 메모리 셀들의 상태를 결정하며, 그리고 프로그래밍 및 소거를 촉진 또는 금지하도록 비트라인들의 전위 레벨들을 제어한다. 로우 제어 회로(306)는 워드라인들에 연결되어, 워드라인들 중에서 하나를 선택하고, 판독 전압을 인가하고, 컬럼 제어 회로(304)에 의해 제어되는 비트 라인 전위 레벨들과 결합된 프로그램 전압들을 인가하고, 그리고 소거 전압을 인가한다. C-소스 제어 회로(310)는, 메모리 셀에 연결된 공통 소스 라인(common source line)(도 5에서 "C-소스"로 표기됨)을 제어한다. p-웰 제어 회로(308)는 p-웰 전압을 제어한다.
메모리 셀들에 저장된 데이터는 컬럼 제어 회로(304)에 의해 판독되며, 데이터 입출력 버퍼(312)를 통해 외부 입출력 라인(external I/O Line)들로 출력된다. 메모리 셀들에 저장될 프로그램 데이터는 외부 입출력 라인들을 통해 데이터 입출력 버퍼(312)에 입력되며, 그리고 컬럼 제어 회로(304)에 전달된다. 외부 입출력 라인들은 제어기(controller)(318)에 연결된다.
플래시 메모리 디바이스를 제어하기 위한 명령 데이터가 제어기(318)에 입력된다. 명령 데이터는 어떤 동작이 요구되고 있는지를 플래시 메모리에게 알려준다. 입력된 명령은 상태 머신(state machine)(316)에 전달되는 바, 이 상태 머신은 제어 회로부(control circuitry)(315)의 일부이다. 상태 머신(316)은 컬럼 제어 회로(304), 로우 제어 회로(306), 공통-소스 제어 회로(310), p-웰 제어 회로(308) 및 데이터 입출력 버퍼(312)를 제어한다. 상태 머신(316)은 또한, READY/BUSY 또는 PASS/FAIL 과 같은 플래시 메모리의 상태 데이터를 출력할 수 있다.
제어기(318)는 개인 컴퓨터, 디지털 카메라, PDA(Personal Digital Assistant) 등과 같은 호스트 시스템과 연결되어 있거나 또는 연결될 수 있다. 제어기(318)는 호스트와 통신하는바, 이러한 호스트는 메모리 어레이(302)에 데이터를 저장하거나 또는 메모리 어레이(302)로부터 데이터를 독출(read out)하라는 것과 같은 명령들을 시동하며, 그리고 이러한 데이터를 제공하거나 수신한다. 제어기(318)는 이러한 명령들을, 명령 회로(314)에 의해 해독되거나 실행될 수 있는 명령 신호들로 변환하는 바, 명령 회로(314)는 제어 회로부(315)의 일부이다. 명령 회로(314)는 상태 머신(316)과 통신한다. 전형적으로, 제어기(318)는 메모리 어레이에 사용자 데이터를 쓰거나 또는 메모리 어레이부터 사용자 데이터를 판독하는 데에 이용하기 위한 버퍼 메모리를 포함한다.
일부 구현들에 있어서, 도 4의 구성 요소들중 일부는 결합될 수 있다. 다양한 설계들에서, 메모리 셀 어레이(302) 이외의, 도 4의 구성 요소들중 하나 이상은 (단독으로 또는 결합하여) 관리 회로로서 간주될 수 있다. 예를 들어, 이러한 관리 회로는 제어 회로(315), 명령 회로(314), 상태 머신(316), 컬럼 제어 회로(304), 로우 제어 회로(306), p-웰 제어 회로(308), 공통 소스 제어 회로(310), 데이터 I/O(312) 및 제어기(318) 중 어느 하나 또는 결합을 포함할 수 있다.
예시적인 메모리 시스템은 하나의 집적 회로를 포함하여 이루어지는데, 상기 집적 회로는 제어기(318)와, 하나 이상의 집적 회로 칩들을 포함하며, 이들 각각은 메모리 어레이 및 연관된 제어 회로, 입출력 회로 및 상태 머신 회로들을 포함한다. 메모리 어레이들과 시스템의 제어 회로들을 하나 이상의 집적 회로 칩들에 함께 집적하는 것이 요즘 추세이다. 메모리 시스템은 호스트 시스템의 일부로서 내장될 수도 있으며, 또는 호스트 시스템들에 착탈 가능하게 삽입되는 메모리 카드(또는 다른 패키지)내에 포함될 수도 있다. 이러한 카드는, (예를 들어, 상기 제어기를 포함하는) 전체 메모리 시스템을 포함할 수도 있으며, 또는 관련된 주변 회로들(제어기 또는 제어기능이 호스트 내에 내장됨)과 메모리 어레이 만을 포함할 수도 있다. 따라서, 상기 제어기는 호스트에 내장되거나, 또는 착탈식 메모리 시스템에 포함될 수도 있다.
도 5를 참조하면, 메모리 셀 어레이(302)의 예시적인 구조가 도시되어 있다. 일례로서, 1024개의 블록들로 나뉘어진 NAND 플래시 EEPROM이 설명된다. 각 블록에 저장된 데이터는 동시에 소거될 수 있다. 일 실시예에서, 상기 블록은 동시에 소거되는 셀들의 가장 작은 단위가 된다. 이러한 일례에서, 각각의 블록 내에는 8512 개의 컬럼들이 존재한다. 전형적으로, 각 블록은 다수의 페이지(page)들로 나뉘어지는바, 이들은 프로그래밍의 단위가 될 수 있다. 프로그래밍을 위한 다른 데이터 단위들 역시 가능하며 고려될 수 있다. 일 실시예에서, 개개의 페이지들은 세그먼트(segment)들로 나뉘어 질 수 있으며, 이러한 세그먼트들은 가장 작은 갯수의 셀들을 포함할 수도 있는바, 이러한 셀들은 기본 프로그래밍 동작으로서 한번에 기록된다. 일반적으로, 데이터의 하나 이상의 페이지들이 메모리 셀들의 하나의 로우에 저장된다.
도 5에 도시된 일례에서, 각각의 블록내에는, 짝수 컬럼들과 홀수 컬럼들로 구분된 8512 개의 컬럼들이 존재한다. 비트라인들은 짝수 비트라인들(BLe)과 홀수 비트라인들(BLo)로 구분된다. 홀수/짝수 비트라인 구조에서, 공통 워드라인을 따라 있으며 홀수 비트라인들에 연결된 메모리 셀들이 한 시점에서 프로그래밍되며, 공통 워드라인을 따라 존재하며 짝수 비트라인들에 연결된 메모리 셀들이 다른 시점에서 프로그래밍된다. 도 5를 참조하면, 직렬로 연결된 4개의 메모리 셀들이 하나의 NAND 스트링을 구성하고 있음을 알 수 있다. 비록, 4개의 셀들이 각각의 NAND 스트링에 포함되어 있다고 도시되어 있지만, 4개보다 더 많거나 더 적은 갯수(예를 들어, 16, 32 등)의 셀들이 사용될 수 있다. NAND 스트링의 하나의 단자는 (선택 게이트 드레인 라인 SGD에 연결된) 제 1 선택 트랜지스터 또는 게이트를 통해 대응하는 비트라인에 연결되어 있으며, 다른 하나의 단자는 (선택 게이트 소스 라인 SGD에 연결된) 제 2 선택 트랜지스터를 통해 C-소스에 연결되어 있다.
다른 실시예에서, 비트라인들은 홀수 및 짝수 비트라인들로 구분되어 있지 않다. 이러한 구조들은 통상적으로 모든 비트라인 구조(all bit line architectures) 라고 지칭된다. 이러한 모든 비트라인 구조에서는, 판독 동작 및 프로그래밍 동작 동안에, 블록의 모든 비트라인들이 동시에 선택된다. 공통 워드라인을 따라 있으며 임의의 비트라인에 연결된 메모리 셀들이 동시에 프로그래밍된다.
일 실시예에 따른 판독 동작과 프로그래밍 동작 동안, 4256 개의 메모리 셀들이 동시에 선택된다. 선택된 메모리 셀들은 동일한 워드라인(예를 들어, WL2-i) 및 동일한 종류(예를 들어, 짝수 비트라인들)의 비트라인을 갖는다. 따라서, 532 바이트의 데이터가 동시에 판독되거나 프로그램될 수 있다. 동시에 판독되거나 프로그램될 수 있는 이러한 532 바이트의 데이터는 하나의 논리 페이지(logical page)를 형성한다. 그러므로, 이러한 실시예에서, 하나의 블록은 적어도 8개의 논리 페이지들을 저장할 수 있다. 각각의 메모리 셀이 2 비트의 데이터(예를 들어, 다중-레벨 셀)를 저장할 때, 하나의 블록은 16 페이지들을 저장한다. 다른 사이즈들의 블록들 및 페이지들 역시 다른 실시예에서 사용될 수도 있다. 또한, 도 4 및 도 5에 도시된 구조와는 다른 구조들이 실시예들을 구현하기 위해서 사용될 수도 있다.
판독 동작과 검증 동작에서, 선택된 블록의 선택 게이트들은 하나 이상의 선택 전압들로 상승되며, 그리고 선택된 블록의 선택되지 않은 워드라인들(예를 들어, WL0, WL1, WL3)은 판독 패스 전압(read pass voltage)(예를 들어, 4.5 볼트)으로 상승되어, 트랜지스터들을 패스 게이트와 같이 동작하도록 만든다. 선택된 블록의 선택된 워드라인(예를 들어, WL2)은 기준 전압에 연결되며, 이러한 기준 전압의 레벨은 각각의 판독 동작과 검증 동작에 대해 특정되는데, 이는 관련있는 메모리 셀의 임계 전압이 이러한 기준 전압 레벨보다 높은지 낮은지를 결정하기 위해서이다. 예를 들어, 1 비트 메모리 셀의 판독 동작에서, 선택된 워드라인(WL2)은 접지되며, 이에 따라 임계 전압이 0 볼트보다 높은지 아닌지가 검출된다. 1 비트 메모리 셀의 검증 동작에서, 선택된 워드라인(WL2)이, 예를 들어 0.8 볼트에 연결되면, 프로그래밍 프로세스로서, 임계 전압이 0.8 볼트에 도달하였는지 아닌지가 검증된다. 소스와 p-웰은 판독 및 검증 동작 동안 0 볼트이다. 선택된 비트라인들(BLe)은, 예를 들어 0.7 볼트로 프리 챠지(pre-charge)된다. 만일 임계 전압이 판독 레벨 또는 검증 레벨 보다 높다면, 관련있는 비트라인(BLe)의 전위 레벨은 하이(high) 레벨을 유지하는 바, 이는 도통되지 않은(non-conductive) 관련 메모리 셀 때문이다. 한편, 만일 임계 전압이 판독 또는 검증 레벨 보다 낮다면, 관련있는 비트라인(BLe)의 전위 레벨은 낮은(low) 레벨(예를 들어, 0.5 볼트 미만)로 감소하는 바, 이는 도통된(conductive) 메모리 셀 때문이다. 메모리 셀의 상태는, 비트라인에 연결되어 결과적인 비트라인 전압을 감지하는 감지 증폭기에 의해 검출된다. 메모리 셀이 소거되느냐 또는 프로그램되느냐의 차이점은, 음의 순(net) 전하가 플로팅 게이트에 저장되었느냐 아니냐에 의존한다. 예를 들어, 만일 음의 전하가 플로팅 게이트에 저장되어 있으면, 임계 전압은 더 높아지게 되며, 트랜지스터는 증가형 동작 모드(enhancement mode of operation)에 있게 된다.
일 실시예에서, 메모리 셀을 프로그래밍할 때, 드레인과 p-웰은 0 볼트를 인가받고, 제어 게이트는 증가된 크기(magnitude)들을 갖는 일련의 프로그래밍 펄스들을 입력받는다. 일 실시예에서, 일련의 펄스들의 크기는 12 볼트에서 24 볼트의 범위를 갖는다. 다른 실시예에서는, 펄스들의 범위는 변할 수 있는데, 예를 들어 12 볼트 이상의 시작 레벨을 가질 수 있다. 메모리 셀을 프로그래밍하는 동안, 프로그래밍 펄스들 사이의 기간들에서 검증 동작들이 수행된다. 즉, 병렬로 프로그래밍되는 셀들의 그룹에 속한 각 셀들의 프로그래밍 레벨이 각 프로그래밍 펄스 사이에서 판독되어, 그것이 검증 레벨에 도달했는지 또는 검증 레벨보다 더 큰지를 판별하는데, 이러한 검증 레벨은 셀들이 프로그래밍되어질 레벨이다. 프로그래밍을 검증하는 하나의 수단은 특정한 비교 지점에서 도통(conduction)을 테스트하는 것이다. 충분히 프로그램된 것으로 검증된 셀들은 록 아웃(lock out)되는 바, 예를 들어 NAND 셀에서, 모든 후속 프로그래밍 펄스들에 대해서 비트라인 전압을 0 볼트부터 Vdd(예를 들어, 2.5 볼트)까지 증가시킴으로써, 이러한 셀들에 대한 프로그래밍 프로세스를 종료한다. 일부 경우들에서는, 펄스들의 갯수가 제한될 것이며(일례로 20개의 펄스들로 제한), 그리고 소정의 메모리 셀이 마지막 펄스에 의해서 충분히 프로그램되지 않는다면, 에러가 추정된다. 일부 구현들에서, 메모리 셀들은 프로그래밍 이전에 (블록 단위 또는 다른 단위로) 소거된다.
도 6은 본 발명의 일 실시예에 따른 프로그램 전압 신호를 도시한다. 이 신호는 증가하는 크기들을 갖는 펄스들의 세트를 갖는다. 펄스들의 크기는 기 설정된 스텝 사이즈에 의해 각 펄스마다 증가한다. 복수 비트들의 데이터를 저장하는 메모리 셀들을 포함하는 일 실시예에서, 예시적인 스텝 사이즈는 0.2 볼트(또는 0.4 볼트)이다. 각각의 프로그램 펄스들 사이에는 검증 펄스들이 존재한다. 도 6의 신호는 4개의 상태를 갖는 메모리 셀을 가정한 것이며, 이에 따라 3개의 검증 펄스들을 포함하고 있다. 예를 들어, 프로그래밍 펄스들(330과 332) 사이에는 3개의 연속적인 검증 펄스들이 있다. 첫번째 검증 펄스(334)는 0 볼트의 검증 전압 레벨로 도시되어 있다. 두번째 검증 펄스(336)는 두번째 검증 전압 레벨로 상기 첫번째 검증 펄스를 후속한다. 세번째 검증 펄스(338)는 세번째 검증 전압 레벨로 상기 두번째 검증 펄스를 후속한다. 8개 상태의 데이터를 저장할 수 있는 다중 상태 메모리 셀은, 7개의 비교 지점들에서의 검증 동작들의 수행을 필요로 할 수도 있다. 따라서, 2개의 연속적인 프로그래밍 펄스들 사이에서 7개의 검증 동작들을 수행하기 위해, 7개의 검증 펄스들이 차례로 인가된다. 이러한 7개의 검증 동작들에 기초하여, 시스템은 메모리 셀들의 상태를 판단할 수 있다. 검증에 관한 시간 부담을 줄이는 한 가지 방법으로 좀 더 효율적인 검증 프로세스를 사용할 수 있는데, 이는 예를 들어 "Smart Verify for Multi-State Memories" 라는 명칭으로 2002년 12월 5일 출원된 미국특허출원(출원번호 10/314,055); "Method for Programming of Multi-State Non-Volatile Memory Using Smart Verify" 라는 명칭으로 2005년 10월 27일 출원된 미국특허출원(출원번호 11/260,658); "Apparatus for Programming of Multi-State Non-Volatile Memory Using Smart Verify" 라는 명칭으로 2005년 10월 27일 출원된 미국특허출원(출원번호 11/259,799)에 개시되어 있으며, 이러한 모든 출원들은 본 발명에 대한 참조로서 본 명세서에 전체로서 편입된다.
전술한 판독 동작 및 검증 동작은 해당 기술분야에서 공지된 기술에 따라 수행된다. 따라서, 상세히 설명된 많은 부분들이 당업자에 의해 변경될 수 있다.
도 7은 본 발명의 일 실시예에 따라 비휘발성 메모리를 프로그래밍하는 방법을 설명하는 흐름도이다. 단계(340)에서, 프로그램될 메모리 셀이 소거된다. 단계(340)는 프로그램되어야 하는 메모리 셀들 보다 더 많은 메모리 셀들을 (예를 들어, 블록 단위 또는 다른 단위로) 소거하는 것을 포함한다. 단계(342)에서, 소프트 프로그래밍을 수행하여, 소거된 메모리 셀들에 대한 소거 임계 전압(erased threshold voltage)들의 분포를 좁힌다. 일부 메모리 셀들은 소거 프로세스의 결과로서, 필요한 것 보다 더 깊은 소거 상태에 있을 수도 있다. 소프트 프로그래밍은 소거된 메모리 셀들의 임계 전압이 소거 검증 레벨에 더 가깝게 이동하도록, 작은 프로그래밍 펄스들을 인가할 수 있다. 도 7의 단계(350)에서, 제어기(318)에 의해 "데이터 로드" 명령 ("data load" command)이 발행되어, 명령 회로(314)로 입력됨으로써, 데이터가 데이터 입력/출력 버퍼(312)에 입력될 수 있다. 상기 입력 데이터는 명령으로서 인식되며, 명령 회로(314)에 입력되는 명령 래치 신호(미도시)에 의해 상태 머신(316)에 의해 래치된다. 단계(352)에서, 페이지 어드레스를 가리키는 어드레스 데이터가 제어기(318) 또는 호스트로부터 로우 제어기 또는 디코더(306)에 입력된다. 상기 입력된 데이터는 페이지 어드레스로 인식되며 상태 머신(316)을 통해 래치되는 바, 이는 명령 회로(314)에 입력되는 어드레스 래치 신호의 영향을 받는다. 단계(354)에서, 어드레스된 페이지에 대한 프로그램 데이터의 페이지가 프로그래밍을 위해 데이터 입/출력 버퍼(312)에 입력된다. 예를 들어, 일 실시예에서는, 532 바이트의 데이터가 입력될 수 있다. 이러한 데이터는 선택된 비트라인들에 대해 적절한 레지스터들에서 래치될 수 있다. 어떤 실시예들에서, 상기 데이터는 또한, 검증 동작들에 대해 이용될 선택된 비트라인들에 대해 제 2 레지스터에서 래치된다. 단계(356)에서, "프로그램" 명령이 제어기(318)에 의해 발행되어, 데이터 입력/출력 버퍼(312)에 입력된다. 이 명령은 명령 회로들(314)에 입력되는 명령 래치 신호를 통해 상태 머신(316)에 의해 래치된다.
단계(354)에서 래치된 데이터는, "프로그램" 명령에 의해 기동(trigger)되어, 선택된 메모리 셀들에 프로그램되어질 것인바, 이는 적절한 워드라인에 인가되는 도 6에 도시된 계단모양(stepped)의 펄스들을 사용하는 상태 머신(316)에 의해 제어된다. 단계(358)에서, 선택된 워드라인에 인가되는 프로그래밍 펄스 전압 레벨인 Vpgm은 시작 펄스(예를 들어, 12 볼트)로 초기화되며, 그리고 상태 머신(316)에 의해 유지되는 프로그램 카운터(PC)는 0으로 초기화된다. 단계(360)에서, 제 1 Vpgm 펄스가 선택된 워드라인에 인가된다. 만일 특정 데이터 래치에 논리 "0" 이 저장되어, 대응하는 메모리 셀이 프로그램되어야 함을 나타내면, 대응하는 비트라인이 접지된다. 한편, 특정 데이터 래치에 논리 "1" 이 저장되어, 대응하는 메모리 셀이 현재의 데이터 상태를 그대로 유지해야 함을 나타내면, 대응하는 비트라인은 프로그래밍을 방지하도록 VDD에 연결된다.
단계(362)에서, 선택된 메모리 셀들이 검증된다. 만일 선택된 셀의 타겟 임계 전압이 적절한 레벨에 도달했음이 검출되면, 대응하는 데이터 래치에 저장되어 있는 데이터가 논리 "1" 로 바뀐다. 만일 임계 전압이 적절한 레벨에 도달하지 않았음이 검출되면, 대응하는 데이터 래치에 저장되어 있는 데이터는 바뀌지 않는다. 이러한 방식에 의해, 대응하는 데이터 래치에 논리 "1"이 저장되어 있는 비트라인은 프로그래밍될 필요가 없다. 모든 데이터 래치들이 논리 "1"을 저장하고 있을 때, 상기 상태 머신은 선택된 모든 셀들이 프로그래밍되었다는 것을 인지한다. 단계(364)에서, 모든 데이터 래치들이 논리 "1"을 저장하고 있는지가 체크된다. 만일 그렇다면(즉, 논리 "1"을 저장하고 있다면), 프로그래밍 프로세스가 완료되고 성공적인 것이 되는데, 이는 선택된 모든 메모리 셀들이 프로그래밍되었으며, 그리고 자신들의 타겟 상태들에 있음이 검증되었기 때문이다. 단계(366)에서, "PASS(패 스)"의 상태(status)가 보고된다.
만일 단계(364)에서, 데이터 래치들 모두가 논리 "1"을 저장하고 있는 것은 아니다 라고 결정되면, 프로그래밍 프로세스가 계속된다. 단계(368)에서, 프로그램 제한 값(limit value)에 대해서, 프로그램 카운터(Program Counter : PC)가 체크된다. 프로그램 제한 값은 일례로서 20 이 될 수 있다. 하지만, 다른 값들이 다양한 구현예들에서 사용될 수 있다. 만일 프로그램 카운터(PC)가 20 이상이라면, 단계(369)에서, 성공적으로 프로그래밍되지 않은 비트들의 갯수가 소정 수와 같은지 또는 소정 수 보다 작은 지가 결정된다. 만일 성공적으로 프로그래밍되지 않은 비트들의 수가 소정 수와 같거나 또는 소정 수 보다 작다면, 프로그래밍 프로세스는 패스된 것으로 플래그(flag)되며, "패스"의 상태가 단계(371)에서 보고된다. 성공적으로 프로그래밍되지 않은 비트들은 판독 프로세스 동안에 에러 보정을 이용하여 정정될 수 있다. 하지만, 만일 성공적으로 프로그래밍되지 않은 비트들의 갯수가 소정 수 보다 크다면, 프로그래밍 프로세스는 실패된 것으로 플래그되며, "실패"의 상태가 단계(370)에서 보고된다. 만일 프로그램 카운터(PC)가 20 보다 작다면, 단계(372)에서, Vpgm 레벨이 스텝 사이즈 만큼 증가되고, 프로그램 카운터가 증분된다. 단계(372) 이후, 프로세스 루프(loop)는 단계(360)로 되돌아가서, 다음 Vpgm 펄스가 인가된다.
도 7의 흐름도는 이진 저장소(binary storage)에 이용될 수 있는 단일-경로(single-pass) 프로그래밍 방법을 도시한 것이다. 다중-레벨 저장소에 적용될 수 있는 2개의 경로(two-pass) 프로그래밍 방법에서는, 예를 들어 다중 프로그래밍 또 는 검증 단계들이 이러한 흐름도의 단일 반복(single iteration) 내에서 이용될 수 있다. 프로그래밍 동작의 각각의 경로(pass)에 대해, 단계들(358 내지 372)이 수행될 수도 있다. 첫번째 경로(pass)에서는, 하나 이상의 프로그래밍 펄스들이 인가되고, 그 결과들이 검증되어, 셀이 적절한 중간 상태에 있는지를 결정할 수 있다. 두번째 경로에서는, 하나 이상의 프로그래밍 펄스들이 인가되고, 그 결과들이 검증되어, 셀이 적절한 마지막 상태에 있는지를 결정할 수 있다.
성공적인 프로그램 프로세스의 끝에서, 메모리 셀들의 임계 전압들은 프로그래밍된 메모리 셀들에 대한 임계 전압들의 하나 이상의 분포들 내에 있거나, 또는 소거된 메모리 셀들에 대한 임계 전압들의 분포들 내에 있어야 한다. 도 8은 각 메모리 셀이 1 비트의 데이터를 저장하고 있는 때의, 메모리 셀 어레이의 임계 전압 분포들을 도시한 도면이다. 도 8에는, 소거된 메모리 셀들에 대한 임계 전압들의 제 1 분포(380) 및 프로그래밍된 메모리 셀들에 대한 임계 전압들의 제 2 분포(382)가 도시되어 있다. 본 발명의 일 실시예에서, 제 1 분포(380) 내의 임계 전압 레벨들은 음(negative)의 값이고 논리 "1"에 대응하며, 제 2 분포(382) 내의 임계 전압 레벨들은 양(positive)의 값이고 논리 "0"에 대응한다.
도 9는 각각의 메모리 셀이 4개의 물리적인 상태에서 2 비트의 데이터를 저장할 때의, 메모리 셀 어레이의 예시적인 임계 전압 분포들을 도시하고 있다. 분포(384)는 소거된 상태("11" 을 저장)에 있는 셀들의 임계 전압들의 분포를 나타내는 바, 이는 음의 임계 전압 레벨들을 갖는다. 분포(386)는 제 1 프로그램 상태("10" 을 저장)에 있는 셀들의 임계 전압들의 분포를 나타낸다. 분포(388)는 제 2 프로그램 상태("00" 을 저장)에 있는 셀들의 임계 전압들의 분포를 나타낸다. 분포(390)는 제 3 프로그램 상태("01" 을 저장)에 있는 셀들의 임계 전압들의 분포를 나타낸다. 이러한 실시예에서, 단일 메모리 셀에 저장된 2 비트들 각각은 서로 다른 논리 페이지로부터 비롯된다. 즉, 각 메모리 셀에 저장된 2 비트들 중 각각의 비트는 서로 다른 논리 페이지의 주소를 운반(carry)한다. 사각형 안에 표시된 비트는 아래쪽(lower) 페이지에 대응한다. 원안에 표시된 비트는 위쪽(upper) 페이지에 대응한다. 일 실시예에서, 그레이 코드 시퀀스(gray code sequence)를 이용하여 논리적 상태들이 메모리 셀들의 연속적인 물리적 상태들에 할당되는 바, 이에 따라 플로팅 게이트의 임계 전압이 오류로 인해 가장 가까이에 있는 임계 전압 상태 범위로 이동하더라도, 단지 하나의 비트만이 영향을 받을 것이다. 향상된 신뢰성을 제공하기 위해, 개별적인 임계 분포들이 조밀해지는 것(분포가 좁아짐)이 바람직한데, 왜냐하면 분포가 조밀해질수록 판독 마진(read margin)(인접한 상태 임계 전압 분포들 간의 거리)이 더 넓어지기 때문이다.
물론, 만일 메모리가 5개 이상의 물리적 상태를 갖고 동작한다면, 메모리 셀들의 정의된 전압 임계 윈도우 내에는 복수개의 임계 전압 분포들이 존재하게 되는데, 이는 상태들의 갯수와 동일하다. 또한, 비록 특정한 비트 패턴들이 각각의 분포들 또는 각각의 물리적 상태들에 할당되기는 하였지만, 이와 다른 비트 패턴들이 할당될 수도 있다.
본 발명의 일 실시예에서, 소스 및 비트 라인들을 플로팅시키고, p-웰을 소거 전압(예를 들어, 20 볼트)으로 상승시키고, 선택된 블록의 워드라인들을 접지시키고, 즉 0 볼트를 인가함으로써, 메모리 셀들이 소거된다. 도 10은 소거 동작을 수행하기 위한 예시적인 바이어스 조건들을 도시한다. 용량성 결합(capacitive coupling)때문에, 선택되지 않은 워드라인들(예를 들어, 선택되지 않은, 즉 소거될 블록들이 아닌 블록들 내의 워드라인들), 비트라인들, 선택 라인들 및 공통 소스 라인들 역시 양의 고 전위(예를 들어, 20 볼트)로 올라간다. 이에 따라, 선택된 블록의 메모리 셀들의 터널 산화막들에 강력한 전계가 인가되고, 플로팅 게이트들의 전자들이 기판으로 방출됨에 따라, 선택된 메모리 셀들의 데이터가 소거된다. 소거는 메모리 셀의 플로팅 게이트로부터 전자들을 이동시킴으로써 그 메모리 셀의 임계 전압을 낮추는 것을 말한다. 플로팅 게이트로부터 p-웰 영역으로 충분한 전자들이 이동함에 따라, 선택된 셀의 임계 전압은 음이 된다. 일단 임계 전압이 소정의 충분히 낮은 값에 이르면, 메모리 셀은 소거된 것으로서 간주될 수 있으며, 소거 프로세스는 완료된 것으로서, 즉 성공적인 것으로서 여겨진다. 따라서, 메모리 셀을 소거하는 것은 메모리 셀의 임계 전압을 낮추는 것을 말하는 것으로서, 완전한 또는 성공적인 소거를 의미하는 것은 아니다. 소거 동작은 전체 메모리 어레이 상에서 수행될 수 있으며, 이러한 어레이의 하나 이상의 블록들 또는 셀들의 다른 단위로도 수행될 수 있다. 소거 전압 신호 Verase 는 일련의 소거 전압 펄스들로서 인가되는 것이 일반적이며, 각 펄스 사이에서 소거 검증 동작이 수행된다. 만일 소거 전압 펄스를 인가한 이후, 소정 단위의 소거 셀들이 소거된 것으로 검증되지 않는 다면, 또 다른 소거 전압 펄스가 p-웰 영역에 인가될 수 있다. 몇몇 실시예에서는, 소거 전압의 피크 값이 각각의 후속 펄스에 대해서 증가된다(예를 들어, 16 볼트에서 20 볼트까지, 1 볼트씩 증가됨).
도 11은 (예를 들어, 도 10의 바이어스 조건하에서의) 일반적인 소거 동작을 위해 단일의 소거 전압 펄스가 인가되는 동안의, NAND 스트링의 다양한 부분들에서의 전압을 도시한 그래프이다. 도 11의 예는 이상적인 경우를 도시한 것으로서, 하기 설명되는 바와 같은 게이트간(inter-gate) 용량성 전하 결합을 무시한 것이다. 커브(410)는 소거 전압 신호 Verase 를 인가받는 p-웰 영역의 전압을 도시한다. 소거 전압 펄스에 의해, p-웰의 전압은 20 볼트로 상승(ramp-up)한 후, 다시 0 볼트가 된다. 커브들(414 및 412)은 스트링의 메모리 셀의 제어 게이트 전압 및 플로팅 게이트 전압을 나타낸다. 소거 전압 펄스가 인가되기 전에, 플로팅 게이트 전압은 메모리 셀의 프로그래밍된 상태에 의존하는 바, 전형적으로 0 볼트 보다 낮다. 도 11에서, 제 1 소거 전압 펄스 이전에, 플로팅 게이트 전압에 대해 -1V의 값이 가정된다. 제어 게이트 전압(414)은 소거 동작 동안 0V로 유지되며, 플로팅 게이트 전압(412)은 p-웰 전압에 비례하여 올라간다. 플로팅 게이트는 터널 절연 영역(즉, 터널 유전체 영역)을 가로질러 p-웰과 용량적으로 결합된다. 많은 NAND 스트링 구현들에 있어서, 메모리 셀의 플로팅 게이트와 p-웰 영역 간의 용량성 결합 비(capacitive coupling ratio)는 약 40-50% 이다. 이에 따라, 플로팅 게이트 전압(412)은 (결합 비가 50%일 때) p-웰 전압과의 약 0.5:1 의 비로 9V까지 올라간다. 셀의 플로팅 게이트와 p-웰 영역 간의 전위인 결과적인 소거 전위가 도 11의 그래프의 아래에 나타낸다. 이러한 소거 전위는 p-웰 전압(Verase=20V)과 플로팅 게이트 전압(VFG=9V) 간의 차이와 같다. 도 11에 도시된 방식에 있어서, 소거 전위는 제 1 소거 전압 펄스의 시작에서 약 11V이다. 주목할 사항으로서, 전자들이 플로팅 게이트로부터 p-웰로 이동함에 따라, 실제 소거 전압 펄스 동안 소거 전위가 변경된다. 결과로서, 소거 전압 펄스 이후, p-웰이 0V로 돌아오면, 플로팅 게이트 전압은 소거 전압 펄스가 인가되기 전과 다를 것이다. 전형적으로, 플로팅 게이트 전압은 제 1 소거 전압 펄스 이후 양이 될 것이며, 이는 메모리 셀의 음의 (소거된) 임계 전압에 대응한다.
NAND 스트링 내의 실제 전압 레벨들은 대부분의 경우들에 있어서, 도 11에 도시된 이상적인 경우와 관련하여 서술된 것과는 다를 것이다. 인접한 플로팅 게이트들 사이의 용량성 전하 결합(capacitive charge coupling) 및 선택 게이트들과 인접 플로팅 게이트들 사이의 용량성 전하 결합 때문에, 동일한 소거 바이어스 조건들의 인가하에서 NAND 스트링의 서로 다른 메모리 셀들이 서로 다른 소거 전위들을 경험할 수도 있다.
도 12는 8개의 메모리 셀들을 포함하고 있는 NAND 스트링의 단면을 도시한 도면이다. 본 발명에서는 도 12에 8 셀 NAND 구조에 대한 실시예들이 제시되지만, 본 발명은 이것으로 제한되지 않으며, 8개 보다 많거나 적은(예를 들어, 4, 12, 16 또는 그 이상) 메모리 셀을 포함하는 다양한 NAND 구조에 대해 이용될 수 있다. 도 12에 도시된 바와 같이, NAND 스트링의 메모리 셀들은 p-웰 영역(540)에 형성된다. 각각의 메모리 셀(502, 504, 506, 508, 510, 512, 514, 및 516)은 스택 게이트 구조를 포함하는바, 이 구조는 제어 게이트(502c, 504c, 506c, 508c, 510c, 512c, 514c 및 516c) 및 플로팅 게이트(502f, 504f, 506f, 508f, 510f, 512f, 514f 및 516f)로 구성된다. 플로팅 게이트들은 p-웰 표면 상의 산화물 또는 또 다른 유전 합성 필름(dielectric composite film)의 최상면에 형성된다. 제어 게이트는 플로팅 게이트 윗쪽에 있으며, 산화물 또는 다른 절연성의 유전층이 제어 게이트와 플로팅 게이트를 분리한다. 메모리 셀들의 제어 게이트들은 워드라인들(WL0, WL1, WL2, WL3, WL4, WL5, WL6, 및 WL7)에 연결되거나, 또는 이러한 워드라인들을 형성한다. N+ 확산 영역(542)은 인접한 셀들 사이에서 공유되며, 이에 의해 상기 셀들은 서로 직렬로 연결되어 NAND 스트링을 형성한다. 이러한 N+ 확산 영역들은 각 셀들의 소스 및 드레인을 형성한다. N+ 확산 영역(526)은 NAND 스트링의 비트라인에 연결되고, N+ 확산 영역(528)은 복수개의 NAND 스트링들에 대한 공통 소스 라인에 연결된다. 선택 게이트들(520, 522)은 메모리 셀들과 동일한 구조로 형성되지만, 게이트 영역들은 전기적으로 연결되어 있다.
소거 동작 동안 높은 소거 전압이 p-웰에 인가될 때, 용량성 결합때문에, 플로팅 선택 게이트들(520, 522)은 양의 고 전위로 상승된다. p-웰 또는 p-웰의 소정 부분에 인가되는 소거 전압은, 웰 영역으로부터 각각의 선택 게이트들에 결합한다. 많은 NAND 구조들에서, 약 90-100%의 p-웰 전압이 각각의 선택 게이트들과 결합할 것이라고 예상된다. 따라서, 만약 20 볼트의 소거 전압 펄스가 p-웰에 인가된다면, 각 선택 게이트 상의 전압은 대략 18 볼트 내지 20 볼트로 18 볼트 내지 20 볼트 상승할 것이다. 도 12에서, p-웰(540)로부터 선택 게이트들(520, 522)로의 결합은 화살표(530)로 도시되어 있다. 비록 정도는 더 낮지만, 스트링의 각 메모리 셀들은 유사한 결합 효과(coupling effect)를 경험한다. 메모리의 p-웰과 플로팅 게이트 사이의 결합은 통상적으로 약 40-50% 이다. 또한, 각각의 플로팅 게이트는 자신의 대응하는 제어 게이트와 약 50-60% 비율로 결합한다. 좀 더 작은 정도로, 각각의 플로팅 게이트는 이웃하는 플로팅 게이트들 및 제어 게이트들과 결합한다. 서로 다른 모든 결합들의 총합은 100% 이다. p-웰로부터 플로팅 게이트로의 50% 결합을 가정하면, 20 볼트의 소거 전압 펄스가 인가되는 경우, 각 메모리 셀의 플로팅 게이트는 대략 10볼트 상승할 것이다. 이러한 결합 효과는 화살표(532)로 도시되어 있다. 각 메모리 셀들의 플로팅 게이트에 결합되는 전압은, 터널 산화막 양단에 생성되는 소거 전압 Verase 전위에 영향을 미친다. 예를 들어, 소거 전에 -1V의 플로팅 게이트 전압을 갖는 메모리 셀에 대해 20V의 소거 전압 펄스가 p-웰에 인가되는 경우, 약 11V (20V - 9V)의 소거 전위가 생성된다.
스트링의 각 메모리 셀은 이웃하는 메모리 셀들 그리고/또는 트랜지스터들로부터 얼마간의 용량성 전하 결합을 경험할 것이다. 이러한 결합은 셀의 플로팅 게이트의 전위에 영향을 끼칠 수 있으며, 결과적으로 셀에 대한 소거 전위에 영향을 끼칠 수 있다. NAND 스트링의 말단 메모리 셀들(예를 들어, 도 12의 메모리 셀(502 및 516)), 즉 NAND 스트링의 첫번째 워드라인 및 마지막(말단) 워드라인에 연결되어 있으며, NAND 스트링의 선택 게이트들과 인접한 메모리 셀들은, 이웃하는 선택 게이트들로부터의 용량성 전하 결합을 경험할 것이다. 도 12에서, 메모리 셀(502)의 선택 게이트(520)로부터 플로팅 게이트(502f)로의 이러한 용량성 결합은 화살표(534)로 도시되어 있으며, 메모리 셀(516)의 선택 게이트(522)로부터 플로팅 게이트(516f)로의 이러한 용량성 결합은 화살표(538)로 도시되어 있다. 메모리 셀들(502, 516)에 결합된 전압은, 이러한 셀들의 터널 절연 영역들(예를 들어, 터널 산화막) 양단에 존재하는 전기장을, 각각의 선택 게이트에서의 전압의 양에 비례하여 감소시킬 것이다.
화살표들(538, 534)로 표시되는 결합은 양 방향(both directions)으로 발생되는바, 이는 소거 동작 동안에 선택 게이트들 역시 플로팅 상태이기 때문이다. 결과적으로, 메모리 셀들(516, 502)의 플로팅 게이트 전압은 선택 게이트들(522, 520) 상의 전압에 소정의 영향을 미칠 것이다. 하지만, p-웰로부터 선택 게이트들로의 결합에 비하면, 플로팅 게이트로부터 선택 게이트로의 결합은 매우 작으며, 이에 따라 선택 게이트 전압은 거의 전적으로 p-웰 전압에 의해 결정된다.
많은 NAND 스트링 구현예들에서, 선택 게이트들로부터 NAND 스트링의 말단 메모리 셀들의 플로팅 게이트들로의 용량성 결합은 약 2% 내지 5% 정도로 예상될 수 있다. 만일 20V의 소거 전압이 p-웰에 인가된다면, p-웰과 선택 게이트 간의 90%의 결합에 의해, 각각의 선택 게이트의 전압은 대략 18 볼트 증가할 것이다. 이후, 선택 게이트로부터 이웃하는 플로팅 게이트로의 2-5% 정도의 결합으로 인해, 인접하는 플로팅 게이트들(516f, 502f) 상의 전압은 약 0.4 내지 1V 상승할 것이다. 스트링의 말단 메모리 셀들의 터널 산화막 양단의 결과적인 전압은, 도 11에 도시된 이상적인 경우에서의 전압보다 약 0.4 내지 1V 정도 작아질 것이다. 주목할 사항으로서, 상기 언급한 용량성 결합은, 메모리 셀들 및 선택 게이트들의 물리적인 치수들, 메모리 셀들과 선택 게이트들 간의 간격, 그리고 가령 터널 유전체, 제어 게이트와 플로팅 게이트 사이의 유전체 및 선택 게이트와 메모리 셀 사이의 유전체와 같은 구성요소들을 형성하는 데에 이용되는 물질들의 유전 특성에 크게 의존하여 달라질 수 있다. 몇몇 경우들에 있어서, 예를 들어, 상기 언급한 결합은 상기 언급한 2-5% 정도보다 더 크거나 더 작을 수도 있다.
이웃하는 플로팅 게이트들 간의 결합에 부가하여, 또 다른 요인(factor)은 플로팅 게이트와 이웃하는 워드라인들 또는 제어 게이트들 간의 결합이다. 이러한 결합 역시 2-5% 정도일 수도 있지만, 메모리 셀들의 치수들 및 형상에 따라 더 크거나 더 작을 수도 있다. 몇몇 경우에서, 특히 선택 게이트들과 이웃하는 메모리 셀들 사이의 물리적인 거리가 2개의 안쪽 메모리 셀들 간의 거리와 유사한 경우, 선택 게이트로부터 인접하는 플로팅 게이트로의 결합은, 이웃하는 제어 게이트(워드라인)로부터 플로팅 게이트로의 결합과 유사한 범위 내에 있게 될 것이다. 하지만 소거 동작 동안, 선택 게이트는 제어 게이트들 및 플로팅 게이트들에 비해 상이하게 바이어스되기 때문에, 말단 메모리 셀들의 플로팅 게이트 전압은 안쪽 메모리 셀들의 플로팅 게이트 전압 보다 더 높을 것이며, 이에 따라 소거 전위는 말단 메모리 셀들에 대해 더 낮게 될 것인 바, 이에 대해서는 후술한다.
도 13은 도 10의 바이어스 조건들에서의 소거 동작을 위해 단일 소거 전압 펄스가 인가되는 동안의, NAND 스트링의 전형적인 말단 메모리 셀에 대한 p-웰 전압(420), 플로팅 게이트 전압(422) 및 제어 게이트 전압(424)을 도시한다. p-웰 전압(420)은 0V로부터 20V의 피크 전압으로 올라간 다음, 다시 0V가 된다. 제어 게이트 전압(424)은 0V로 유지되는데, 이는 각 메모리 셀에 연결된 워드라인들에 0V가 공급되기 때문이다. 모든 셀들과 마찬가지로, 말단 메모리 셀들의 플로팅 게이트들은 p-웰 영역과 약 40-50% 정도로 용량적으로 결합된다. p-웰 영역 전압이 20V로 증가함에 따라, 50% 의 결합 비를 가정할 때, 이러한 용량성 결합은 플로팅 게이트 전압을 약 10V 정도 증가시킨다. 또한, 말단 메모리 셀들은, 자신들에게 결합된 이웃하는 선택 게이트에서 전압의 일부를 갖는다. 따라서, 플로팅 게이트들 상에서의 전압은 이러한 플로팅 게이트들에 용량적으로 결합된 p-웰 전압에 비례하여 증가할 뿐 아니라, 선택 게이트들로부터의 2-5% 정도의 결합으로 인해서도 증가하게 된다. 도 13에서는, 선택 게이트들로부터의 결합으로 인해, 플로팅 게이트 전압에 추가적으로 1V가 더해진다고 가정한다. 따라서, 플로팅 게이트 전압(422)은, 도 11에 도시된 이상적인 경우에 대한 9V의 최대값과 대조적으로, 소거 전압 펄스의 초기에서 10V의 최대값으로 상승한다. 말단 메모리 셀들에 대한 터널 절연 영역 양단의 소거 전위는 도 13의 그래프 아래에 주어진다. 소거 전압 펄스의 초기에서의 소거 전위는 약 10V 이고, 즉 이상적인 경우에 대한 소거 전위인 11V 보다 약 1V 작다.
선택 게이트에 인접하지 않는 NAND 스트링의 메모리 셀들(즉, NAND 스트링에서 말단 메모리 셀들을 제외한 모든 메모리 셀들)은 여기에서 스트링의 안쪽 메모리 셀들이라고 지칭될 수 있다. 도 12에서, NAND 스트링의 이러한 안쪽 메모리 셀들은 메모리 셀들(504, 506, 508, 510, 512 및 514)이다. 비록 안쪽 메모리 셀들 역시 이웃하는 플로팅 게이트들로부터의 용량성 결합(하기 설명되는 바와 같이, 이러한 용량성 결합은 이들의 소거 전위를 감소시킨다)을 경험하게 되겠지만, 이는 말단 메모리 셀들의 경우 보다 그 정도가 작다. 따라서, 안쪽 메모리 셀들은 앞서 설명된 이상적인 경우와 실질적으로 동일하게 작동할 것이며, (이러한 안쪽 메모리 셀들은, 소거 전압 펄스가 인가되기 전에 약 -1V의 플로팅 게이트 전압을 갖는 상태로 프로그램된 상태에 있었다고 가정하면) 약 11V의 소거 전위를 갖게 될 것이다. 안쪽 메모리 셀들과 비교하여, 말단 메모리 셀들의 터널 산화막들 양단에서의 보다 낮은 전위때문에, 하나 이상의 소거 전압 펄스들이 인가된 후, 이러한 말단 메모리 셀들은 안쪽 메모리 셀들 보다 더 느리게 소거될 것이며, 안쪽 메모리 셀들처럼 깊게(deeply) 소거되지는 않을 것이다(즉, 플로팅 게이트들로부터 더 적은 수의 전자들이 이동할 것이다).
NAND 스트링의 메모리 셀들은, 플로팅 게이트 상의 순(net) 양 전하가 소정 레벨 이상일 때(즉, 임계 전압이 소정 레벨 이하일 때)에 소거된 것으로서 검증된다. 말단 메모리 셀들의 플로팅 게이트들에 대한 부가적인 결합때문에, 이러한 말단 메모리 셀들을 충분히 소거하기 위해서는 소거 동작의 전체 시간이 증가하게 된다. 안쪽 메모리 셀들은 N개의 소거 전압 펄스들이 인가된 이후 충분히 소거될 수 있지만, NAND 스트링의 말단 메모리 셀들은 N+1 개 또는 그 이상의 소거 전압 펄스들이 인가될 때 까지 충분히 소거되지 않을 수 있다.
도 12는 NAND 스트링의 개별적인 메모리 셀들의 플로팅 게이트들 간의 부가적인 용량성 결합 효과를 화살표(536)에 의해 나타내고 있다. 예를 들어, WL0 및 WL1 상의 이웃하는 플로팅 게이트들 간의 결합은 2-5% 정도가 될 수 있지만, 메모리 셀들의 치수 및 형상에 따라 더 작아지거나 더 커질 수 있다. 결과적으로, 메모리 셀(516)의 플로팅 게이트 상에 존재하는 전압은 메모리 셀(514)의 플로팅 게이트의 전압에 영향을 줄 것이며, 유사하게 메모리 셀(514)의 플로팅 게이트 상에 존재하는 전압 역시 메모리 셀(516)의 플로팅 게이트의 전압에 영향을 줄 것이다. 유사한 결합이, WL2 등에 결합된 메모리 셀들(514 및 512)의 플로팅 게이트들 사이에도 존재하며, 또한 WL3, WL4 ...와 계속할 것이다. 화살표들(536) 상의 더블 헤드(double head)에 의해 나타낸 바와 같이, 이러한 결합은 양 방향으로 존재한다. 이러한 결합 효과들은 다양한 레벨들에서 NAND 스트링의 모든 메모리 셀들 사이에서 볼 수 있지만, 결합의 영향은 말단 메모리 셀들에 대한 영향 보다 작게 되는데, 이는 이웃하는 제어 게이트들 및 플로팅 게이트들 상의 바이어스 전압이 선택 게이트들 상에서의 바이어스 조건과 다르기 때문이다. 소거 전압 펄스가 존재하는 동안, 각 플로팅 게이트의 전압은 선택 게이트들에 존재하는 전압 보다 상당히 더 낮다. 따라서, 개별적인 메모리 셀들의 플로팅 게이트들 간의 결합으로 인해 각 플로팅 게이트에 야기되는 전압의 양은, 인접하는 선택 게이트들에 대한 결합으로 인해 말단 메모리 셀들의 플로팅 게이트들에 야기되는 전압 보다 작게 될 것이다. 그럼에도 불구하고, NAND 스트링의 각 메모리 셀은 이러한 결합으로 인해 자신의 플로팅 게이트에 존재하는 약간 다른 순(net) 전하를 갖고, 그에 대응하게 다른 소거 반응을 나타낼 것으로 기대될 수 있다.
도 14A는 데이터가 메모리 어레이 내에 기록된 후, 4 상태, 즉 4 레벨의 메모리 디바이스의 소거된(E) 및 프로그램된(A, B, C) 임계 전압 VT 분포들을 보여준다. 도 14B는 소거 동작이 완료된 이후의 동일한 4 상태 메모리 디바이스를 도시한다. 안쪽 워드라인들 및 말단 워드라인들의 메모리 셀들에 대한 임계 전압 분포들이 개별적으로 도시되어 있다. 분포(430)는, 분포(432)에 의해 도시되는 말단 워드 라인들 보다 더 깊게 소거되는 안쪽 워드라인에 대한 임계 전압 분포를 나타낸다. 어떠한 NAND 메모리 디바이스 구현들에 있어서, 안쪽 메모리 셀들은 말단 메모리 셀들 보다 약 0.5-1V 더 깊게 소거되게 되는데, 이는 선택 게이트들로부터의 용량성 전하 결합때문이다. 일반적으로, 안쪽 워드라인들과 말단 워드라인들 모두의 메모리 셀들은 요구되는것 보다 더 깊게 소거된다. 모든 또는 대부분의 메모리 셀들이 다수의 기록/소거 사이클 이후 하나의 소거 전압 펄스에 의해 소거될 수 있도록 보장하기 위해, 제 1 소거 전압 펄스의 선택된 사이즈(size)는 (많은 기록/소거 사이클을 겪지 않은) 미사용(fresh) 디바이스의 모든 셀들을 하나의 펄스로 소거하는 데에 요구되는 것 보다 더 큰 것이 일반적이다. 따라서, 미사용 메모리 디바이스는 소거 동작을 받은 후, 도 14B에 나타낸 것과 같은 임계 전압 분포들을 가질 수 있다.
다수의 메모리 셀의 소거 검증이 하나의 NAND 스트링 레벨에서 수행되거나 또는 더 상위의 레벨에서(예를 들어, 블록 단위로 또는 다른 단위의 스트링들로) 수행될 때, 메모리 셀들 간의 다른 소거 시간들 및 소거 동작들은 소정의 메모리 셀들에 대한 과도한 스트레스(over stressing) 및 과도 소거(over erasing)를 야기할 수 있다. 예를 들어, NAND 스트링의 말단 메모리 셀들을 충분히 소거하고자 시도하는 동안, 그 스트링의 안쪽 메모리 셀들은 과도하게 소거될 수도 있다. 상기 설명한 바와 같이, 안쪽 메모리 셀들은 말단 메모리 셀들 보다 더 빨리 소거될 것이다. 만일 NAND 스트링 레벨에서 검증이 수행된다면, 스트링의 각 메모리 셀이 소거될 때까지, NAND 스트링은 계속해서 소거 전압 펄스를 p-웰에 인가받을 것이다. 따라서, 안쪽 메모리 셀들은 말단 메모리 셀들에 비해 더 작은 갯수의 소거 전압 펄스들이 인가된 이후에도 충분히 소거될 수 있음에도 불구하고, 상기 안쪽 메모리 셀들은 스트링의 각 메모리 셀들이 소거된 것으로 검증될 때까지 추가적인 소거 전압 펄스들을 인가받게 될 것이다.
이러한 과소거로 인해, 안쪽 메모리 셀에는 필요한 것 이상의 스트레스가 가해지게 된다. 말단 메모리 셀들의 보다 느린 소거 시간으로 인해 야기되는 안쪽 메모리 셀들의 과소거는, 안쪽 메모리 셀들 및 전체 비휘발성 메모리 시스템의 수명(life span)을 감소시킬 수 있다. 해당 기술 분야에서 이해되는 바와 같이, 트랜지스터의 터널 산화막층의 양단에 큰 전위를 인가하게 되면, 산화막 물질에 스트레스를 주게 된다. 터널 산화막층의 양단에 충분히 큰 전위를 인가하거나 또는 낮은 전위를 다수회 인가하게 되면, 결국 산화막의 절연 파괴(breakdown)를 야기할 수 있다.
또한, 메모리 셀들 간의 서로 다른 소거 특성은 소거 동작 시간을 증가시킬 수 있는데, 이는 소거된 이후 메모리 셀의 임계 전압을 변화시키기 위해 수행될 수 있는 추가적인 소거 동작 때문이다. 플래시 메모리 셀들이 소거될 때에는, 소거되는 모든 셀들이 음의 임계 전압들의 소정 범위 내에서 음의 임계 전압을 갖도록 하는 것이 목표이다. 하지만, 설명한 바와 같이, 소거 프로세스는 몇몇 셀들로 하여금 소정 범위 보다 더 낮은 음의 임계 전압을 갖게 할 수도 있다. 너무 낮은 임계 전압들을 갖는 메모리 셀들은, 이후 정확히 프로그래밍되지 않거나, 또는 (예를 들어, 프로그램 방해(disturb)가 발생할 확률을 증가시킴으로써) 다른 셀들로 하여금 정확히 프로그래밍되지 못하게 할 수도 있다. 따라서, 과도소거된 디바이스들에 대해서는 종종 소프트 프로그래밍이라고 불리는 프로세스가 수행된다. 소정 범위 보다 훨씬 더 낮은 임계 전압 값들을 갖는 메모리 셀들은 작은 양의 프로그래밍을 받게 되며, 이에 따라 임계 전압이 소정 범위 내에 있도록 올라가게 된다. 소프트 프로그램 프로세스는 추가 동작이 수행될 것을 요구하며, 증가된 소거 시간으로 인해 메모리 성능을 열화시키는데, 이는 소프트 프로그래밍이 일반적으로 소거 동작의 일부로서 고려되기 때문이다.
일 실시예에 따르면, NAND 스트링과 같은 메모리 셀들의 세트는 서로 다른 바이어스 조건들 하에서 다른 간격들 동안 그 메모리 셀들의 세트에 소거 전압들을 인가함으로써 소거된다. 각 간격에 대해 이용되는 서로 다른 바이어스 조건들은 그 스트링 내의 개별적인 메모리 셀들의 소거 속도들 간의 차이를 감소시키거나 또는 없애도록 선택된다.
공통의 NAND 스트링 내의 메모리 셀들의 소거 속도들이 변화하는 근원적인 원인은, 그 스트링의 특정의 메모리 셀들에 인접하는 트랜지스터들의 서로 다른 바이어스 조건들로부터 비롯된다. 이전에 설명된 말단 메모리 셀들을 고려해보자. 스트링의 드레인 및 소스측 선택 게이트들에 대한 선택 게이트 라인들은 말단 메모리 셀들에 인접하며, 소거 전압이 인가되는 동안 플로팅된다. 대조적으로, 스트링 내의 각 메모리 셀들에 연결된 워드라인들은 0V가 되어, 해당하는 플로팅 게이트들로부터 전자들을 끌어내는 데에 필요한 전위를 생성한다. 말단 메모리 셀들 각각은 플로팅되는 하나의 이웃하는 트랜지스터를 갖고, 나머지 각 메모리 셀들은 (메모리 셀들에 인접하는) 자신들의 이웃하는 양쪽 트랜지스터들을 갖기 때문에, 이러한 말단 메모리 셀들에 대한 소거 전위는 상기 설명한 용량성 결합 효과로 인해 나머지 메모리 셀들의 소거 전위 보다 작게 된다.
소거 동안의 이러한 특이한 바이어스 환경으로부터 비롯되는 서로 다른 소거 특성들은, 셀들이 소거될 때에 각 메모리 셀의 이웃하는 트랜지스터들에게 유사한 바이어스 조건들을 제공함으로써 감소되거나 제거될 수 있다. 스트링의 각 메모리 셀이 소거될 때에 동일하게 바이어스되는 이웃하는 트랜지스터들을 갖는 다면, 개별적인 셀들은 보다 균일한 소거 특성을 나타낼 것이다. 각 셀을 동시에 소거하는 상기 설명한 기술들로부터 야기되는 결합 효과가 서로 다른 현상과 대조적으로, 이들 각각은 자신들의 이웃하는 트랜지스터들로부터 유사한 결합 효과를 경험할 것이다. 서로 다른 메모리 셀들의 소거 특성들은, 소거 동안 자신의 이웃들로부터 각 메모리 셀로의 거의 같은 양(amount)의 전하 결합을 조장함으로써, 효과적으로 정규화(normalize)된다. 결과적으로, 소거 전압이 인가될 때, 스트링의 각 메모리 셀에 대한 유사한 소거 전위 및 각 셀로부터 유사한 양의 전하 이동을 야기한다.
일 실시예에서, NAND 스트링의 메모리 셀들은 개별적인 시간 간격들 동안 소거되는 셀들의 논리적인 그룹들로 나뉘어진다. 각 간격 동안 스트링에 인가되는 바이어스 조건들은 서로 다르며, 이에 따라 개별적인 셀들의 소거 특성이 정규화될 수 있게 된다. 예를 들어, 셀들의 제 1 서브세트는 제 1 시간 간격 동안 소거될 수 있다. 셀들의 제 1 서브세트 내의 하나 이상의 셀들에 이웃하는 각 트랜지스터는 제 1 간격 동안 동일하게 바이어스됨으로써, 스트링 내에서의 유사한 결합 시나리오(scenario)를 촉진시키고, 결과적으로 제 1 서브세트 내의 각 셀 간에 유사한 소거 속도들을 촉진시킨다. 제 2 시간 간격 동안, 셀들의 제 2 서브세트가 소거될 수 있다. 제 2 서브세트 내의 하나 이상의 셀들에 인접하는 각 트랜지스터는 제 1 시간 간격 동안 제 1 서브세트 내의 하나 이상의 셀들에 인접하는 트랜지스터들과 동일하게 바이어스된다. 이는 제 2 서브세트 내의 셀들 간의, 제 1 서브세트 내의 셀들 간의, 그리고 제 1, 2 서브세트 내의 셀들 간의 소거 속도들이 보다 일관되게 할 것이다.
일 실시예에서, 소거되는 메모리 셀들은 동일하게 바이어스되는 각각의 이웃하는 트랜지스터는 갖지 않지만, 소거되는 각 메모리에 대한 순(net) 바이어스, 즉 결합 효과는 여전히 같게 된다. 예를 들어, 소거되는 각 메모리 셀은 제 1 바이어스 상태의 제 1 이웃 트랜지스터 및 제 2 바이어스 상태의 제 2 이웃 트랜지스터를 가질 수 있다. 만일 각 메모리 셀이, 소거될 때에, 이러한 방식으로 바이어스되는 양쪽의 이웃들을 갖는 다면, 각각의 개별적인 셀에 대한 양쪽의 이웃들이 유사하게 바이어스되지 않는 다는 사실에도 불구하고, 소거될 때의 각 셀에 대한 순 바이어스, 즉 결합 효과는 같게 될 것이다. 각 메모리 셀에 대해, 그 셀의 2개의 가장 직접적으로 이웃하는 트랜지스터들은, 소거되는 메모리 셀에 대한 순 바이어스, 즉 결합 효과가 스트링 내의 각각의 다른 메모리 셀과 비교하여 거의 같게 되도록 바이어스된다는 것이 중요한 특징이다.
일 실시예에서, 소거 전압 펄스가 메모리 셀들의 NAND 스트링의 웰 영역에 인가될 수 있는 바, 세트의 메모리 셀들의 제 1 그룹은 소거하도록 바이어스되고, 세트의 메모리 셀들의 제 2 그룹은 소거를 금지하도록 바이어스된다. 그런 다음, 제 2 소거 전압 펄스가 인가될 수 있는 바, 제 2 그룹은 소거하도록 바이어스되고, 제 1 그룹은 소거를 금지하도록 바이어스된다. 제 1, 2 그룹은, 제 1 펄스 동안 제 1 서브세트 내의 각 메모리 셀의 터널 절연 영역들 양단에 생성되는 소거 전위들이 거의 같고, 제 2 펄스 동안 제 2 서브세트 내의 각 메모리 셀의 터널 절연 영역들 양단에 생성되는 소거 전위들이 거의 같으며, 그리고 제 1 펄스 동안 제 1 서브세트의 메모리 셀들에 대한 소거 전위들이 제 2 펄스 동안 제 2 서브세트의 셀들에 대한 소거 전위들과 거의 같도록 선택된다.
도 15는 본 발명의 일 실시예에 따른, 소거 동작 동안 비휘발성 저장 요소들의 NAND 스트링에 대한 바이어스 조건들을 보여주는 표이다. 도 15는 한 세트의 바이어스 조건들을 도시한다. 다른 바이어스 조건들도 이용될 수 있으며, 셀들을 다르게 분류하는 것도 가능하다. NAND 스트링을 형성하는 메모리 셀들의 세트는 개별적인 시간 기간들 동안 소거되는 메모리 셀들의 개별적인 서브세트들로 나뉘어진다. 스트링의 메모리 셀들에 연결되는 워드라인들은 메모리 셀들의 서브세트들에 대응하는 서브세트들로 나뉘어진다. 워드라인들(WL0-WLi)은 메모리 셀들의 제 1 서브세트에 연결되는 워드라인들의 제 1 서브세트(서브세트 A) 및 메모리 셀들의 제 2 서브세트에 연결되는 워드라인들의 제 2 서브세트(서브세트 B)로 나뉘어진다. 도 15를 설명할 때에 설명의 명확성을 위해 단일의 NAND 스트링에 대해 설명하지만, 전형적인 NAND 플래시 메모리 구현에 있어서, 각 워드라인은 2개 이상의 NAND 스트링으로부터 하나의 메모리 셀에 연결될 수 있다(예를 들어, 도 5에 나타낸 것과 같은 메모리 셀들의 블록 내의 각 NAND 스트링으로부터 하나의 메모리 셀에 연결될 수 있다)는 것을 이해할 것이다. 따라서, 설명되는 동작들은 많은 NAND 스트링들에 대해 동시에 일어날 수 있다는 것을 이해할 것이다.
워드라인들의 제 1 서브세트는, 워드라인(WL0)과, NAND 스트링에 대한 소스측 선택 게이트 라인(SGS)에 인접하는 워드라인과, 그리고 스트링의 소스측으로부터 스트링의 드레인측으로 진행할 때에 세트 내의 WL0의 다음에 오는 하나 걸러 마다의 워드라인(every other word line)을 포함한다. 하나 걸러 마다의 워드라인은, 현재의 워드라인에 인접하는 다음 워드라인이 스킵(skip)되고 이 스킵된 워드라인에 인접하는 다음의 워드라인이 선택되어, WL0으로부터 워드라인들의 세트를 통해 순차적으로 진행하면서 만나게 되는 워드라인들을 말한다. 도 15의 예에서, 워드라인들의 제 1 서브세트, 즉 서브세트 A는 워드라인들(WL0, WL2, WL4 ... WLn-1)을 포함한다. 워드라인들의 제 2 서브세트는 워드라인(WL1)과, 워드라인(WL0)에 인접하는 워드라인과, 그리고 스트링의 소스측으로부터 스트링의 드레인측으로 진행할 때에 세트 내의 그 이후의 하나 걸러 마다의 워드라인을 포함한다. 도 15의 예에서, 워드라인들의 제 2 서브세트, 즉 서브세트 B는 워드라인들(WL1, WL3, WL5 ... WLn)을 포함한다. 하나 이상의 NAND 스트링들에 연결되고 소스측 선택 게이트 라인에 인접하는 제 1 워드라인(WL0)을 포함하는 워드라인들의 세트에 대해, 워드라인들의 제 1 서브세트는 워드라인 시퀀스(WL2i)에 의해 정의될 수 있는 바, 여기서 i는 정수이다. 워드라인들의 제 2 서브세트는 워드라인 시퀀스(WL2i+1)에 의해 정의될 수 있는 바, 여기서 i=정수이다.
워드라인들의 서브세트들중 하나의 서브세트에 직접적으로 대응하는 메모리 셀들의 각 서브세트들은, 소거 동작 동안 다른 시간에 개별적으로 소거된다. 컬럼(440)은 서브세트 A의 메모리 셀들이 소거되는 제 1 소거 서브-동작(sub-operation)을 위한 바이어스 조건들을 도시한다. 컬럼(442)은 서브세트 B의 메모리 셀들이 소거되는 제 2 소거 서브-동작을 위한 바이어스 조건들을 도시한다. 컬럼(440)의 바이어스 조건들이 제 1 시간 간격 동안 적용되어, 서브세트 B의 메모리 셀들이 소거되는 것을 금지하면서, 서브세트 A의 메모리 셀들이 소거될 수 있게 한다. 서브세트 A의 각 워드라인에는 0V가 공급되고, 서브세트 B의 각 워드라인은 이러한 제 1 간격 동안 플로팅될 수 있다. NAND 스트링에 대한 p-웰 영역에 소거 전압 펄스가 인가되면, 서브세트 A의 각 메모리 셀의 터널 절연 영역의 양단에 큰 전위가 생성되고, 이러한 셀들의 플로팅 게이트들로부터 전자들을 끌어내게 된다. 서브세트 B의 워드라인들의 플로팅 전위는 그 워드라인들이 소거 전압 펄스에 비례하여 올라가게 하고, 그에 따라 서브세트 B의 메모리 셀들의 터널 절연 영역의 양단에 큰 전위가 생성되는 것을 막는다.
컬럼(442)의 바이어스 조건들이 제 2 시간 간격 동안 적용되어, 서브세트 A의 메모리 셀들이 소거되는 것을 금지하면서, 서브세트 B의 메모리 셀들이 소거될 수 있게 한다. 서브세트 B의 각 워드라인에는 0V가 공급되고, 서브세트 A의 각 워드라인은 플로팅 상태에 있다. 이러한 바이어스 조건들 하에서 소거 전압 펄스가 p-웰 영역에 인가되면, 서브세트 B의 각 메모리 셀의 터널 절연 영역의 양단에는 큰 전위가 생성되게 하면서, 서브세트 A의 메모리 셀들의 터널 절연 영역의 양단에는 큰 전위가 생성되지 못하게 한다. 이에 따라, 이러한 제 2 서브 동작 동안, 서브세트 B의 메모리 셀들로부터 전자들이 끌어당겨지지만, 서브세트 A로부터의 메모리 셀들로부터는 전자들이 끌어당겨지지 않는다.
도 15의 서브 동작 시도를 이용하게 되면, 각 메모리 셀은 소거될 때에 유사하게 바이어스되는 이웃 트랜지스터들을 갖게 될 것이다. 컬럼(440)에 도시된 제 1 소거 서브 동작 동안, 소거 전압 펄스가 인가될 때, 서브세트 A의 각 메모리 셀은 플로팅 전위에 있는 가장 직접적으로 인접하는 양쪽의 트랜지스터들을 갖게 된다. 유사하게, 컬럼(442)에 도시된 제 2 소거 서브 동작 동안, 서브세트 B의 각 메모리 셀은, 소거 전압 펄스가 인가될 때, 플로팅 전위에 있는 가장 직접적으로 인접하는 양쪽의 트랜지스터들을 갖게 된다. 심지어 WL0 (서브세트 A) 및 WLn (서브세트 B)의 말단 메모리 셀들 조차도 동일한 전위에 있는 양쪽의 이웃 트랜지스터들을 갖는다. WL0의 메모리 셀이 소거되고 있을 때, 소스 선택 게이트 라인 및 워드 라인(WL1)은 모두 플로팅된다. WLn의 메모리 셀이 소거되고 있을 때, 드레인 선택 게이트 라인 및 워드 라인(WLn-1)은 모두 플로팅된다. 소거될 때에 모든 메모리 셀이 유사하게 바이어스되는 이웃 트랜지스터들을 갖기 때문에, 이웃하는 트랜지스터들로부터의 용량성 결합에 의해 야기되는 소거 전위에 있어서의 임의의 변경은 스트 링의 각 메모리 셀에 대해 유사할 것이다. 결과적으로, 스트링 내의 각 메모리 셀은, 전형적인 소거 동작들 동안 각 메모리 셀의 소거 속도들과 비교하여, 보다 일관된 소거 속도들을 나타낼 것이다.
따라서, 말단 메모리 셀들은 안쪽 메모리 셀들과 비교하여 더 느린 속도로 소거(이러한 더 느린 속도의 소거는 전형적인 소거 동작들 동안 종종 일어남)되지 않을 것이다. 말단 메모리 셀들의 특이한 소거 특징은, 소거될 때에 스트링의 모든 메모리 셀이 유사하게 바이어스된 이웃 트랜지스터들을 갖도록 보장함으로써, 감소되거나 제거된다. 도 15의 실시예에서, 이것은 선택된 메모리 셀들을 소거할 때, 소거를 위해 선택된 모든 메모리 셀의 이웃 트랜지스터들을 강제적으로 플로팅 전위가 되게 함으로써 달성된다. 서브세트 A가 소거가 가능할 때, 소거 전압 펄스가 인가되는 동안, 서브세트 A 내의 각 메모리 셀에 대한 2개의 가장 인접하는 트랜지스터들 각각은 플로팅 전위로 바이어스된다. 서브세트 B가 소거가 가능할 때, 소거 전압 펄스가 인가되는 동안, 서브세트 B 내의 각 메모리 셀에 대한 2개의 가장 인접하는 트랜지스터들 각각은 플로팅 전위로 바이어스된다. 소거될 때에 모든 메모리 셀이 동일하게 바이어스되는 자신의 이웃하는 트랜지스터들을 갖기 때문에, 모든 메모리 셀은 동일한 소거 속도를 나타낼 것이다.
도 16A-16H는 도 15의 바이어스 조건들 및 기술들에 따른 소거 동작 동안의 NAND 스트링의 다양한 부분들에서의 전압들을 도시한다. 도 16A는 서브세트 A의 셀들을 소거하기 위해 컬럼(440)의 바이어스 조건들 하에서 인가되는 제 1 소거 전압 펄스 및 서브세트 B의 셀들을 소거하기 위해 컬럼(442)의 바이어스 조건들 하에서 인가되는 제 2 소거 전압 펄스 동안의 소거 전압 신호를 도시한다.
도 16B는 p-웰 전압을 도시하는 바, 이는 제 1 소거 전압 펄스가 인가되는 동안 20V의 피크값으로 오르고, 이후 0V로 내려간 다음, 제 2 소거 전압 펄스가 인가되는 동안 다시 20V의 피크값으로 올라간다. 제 1 소거 전압 펄스의 인가는 서브세트 A의 메모리 셀들을 소거하기 위해 컬럼(440)의 바이어스 조건들이 적용되는 시간 간격에 대응하고, 제 2 소거 전압 펄스의 인가는 서브세트 B의 메모리 셀들을 소거하기 위해 컬럼(442)의 바이어스 조건들이 적용되는 시간 간격에 대응한다.
도 16C 및 16F는 각각 서브세트 A 및 서브세트 B의 워드라인들에 인가되는 전압 신호 또는 조건을 도시한다. 도 16D는 서브세트 A의 메모리 셀에 대한 결과적인 제어 게이트 전압을 도시하고, 도 16E는 서브세트 A의 메모리 셀에 대한 결과적인 플로팅 게이트 전압을 도시하고, 도 16G는 서브세트 B의 메모리 셀에 대한 결과적인 제어 게이트 전압을 도시하며, 그리고 도 16H는 서브세트 B의 메모리 셀에 대한 결과적인 플로팅 게이트 전압을 도시한다.
시간(t1)에서, 제 1 소거 전압 펄스가 인가되고, NAND 스트링에 대한 p-웰 전압이 그에 따라 올라가기 시작한다. 도 16C에 나타낸 바와 같이, 서브세트 A의 워드라인들에 0V가 인가된다. 이에 따라, 도 16D에 나타낸 바와 같이, 서브세트 A의 각 메모리 셀의 제어 게이트들은 0V로 유지된다. 도 16F에 나타낸 바와 같이, 서브세트 B의 워드라인들은 시간(t1)에서 플로팅됨으로써, 서브세트 B의 메모리 셀들의 소거를 금지한다. 서브세트 A의 워드라인들이 0V에 있기 때문에, 서브세트 A의 메모리 셀의 플로팅 게이트 전압(도 16D)은 p-웰 영역에 대한 결합 비에 따라 올라갈 것이다. 도 16E에 도시된 예시적인 메모리 셀에 있어서, 제 1 소거 전압 펄스가 인가되기 전에 플로팅 게이트 전압은 -1V인 것으로 추정되고, 플로팅 게이트와 p-웰 간의 결합 비는 약 50%인 것으로 추정된다. 따라서, 플로팅 게이트 전압은 p-웰 전압의 20V 증가에 응답하여 약 10V 올라간다. p-웰 전압에 응답하여 10V 올라가는 것에 부가하여, 플로팅 게이트 전압은 플로팅되어 있는 자신의 이웃 트랜지스터들로부터의 용량성 결합 효과로 약 2V가 더 오를 것이다. 따라서, 플로팅 게이트 전압은 소거 전압 펄스를 인가하기 시작할 때에 11V의 피크 전압으로 올라간다.
컬럼(440)의 바이어스 조건들하에서, 서브세트 A의 각 메모리 셀은 소거 전압 펄스가 인가되는 동안 NAND 스트링의 양쪽의 이웃 트랜지스터들(플로팅 상태임)을 갖는다. 예를 들어, WL0에 연결된 메모리 셀은 그 이웃 트랜지스터들로서 WL1의 메모리 셀 및 소스측 선택 게이트를 포함한다. 이들 트랜지스터들 각각은 플로팅된다. 이전에 설명한 바와 같이, 소거 전압이 인가될 때, p-웰 전압의 약 90%-100%는 플로팅 선택 게이트들에 결합된다. p-웰 전압의 90%가 선택 게이트들에 결합되는 것으로 계속하여 가정하면, 소거 전압 펄스가 인가될 때, 약 18V가 선택 게이트들에 결합될 것이다. 선택 게이트와 그 이웃 트랜지스터 간의 결합 비가 약 5%라고 더 가정하면, WL0의 메모리 셀의 플로팅 게이트에 약 1V가 결합될 것이다. 소거 전압 펄스가 인가될 때, WL1에서의 메모리 셀과 WL0에서의 메모리 셀 간에 유사한 결합이 일어날 것이다. WL1에서의 메모리 셀은 플로팅되기 때문에, p-웰로부터 약 18V가 이에 결합될 것이며, 이러한 18V중 약 1V는 WL0에 있는 메모리 셀에 결합될 것이다. 결과적으로, WL0에서의 메모리 셀에 대한 플로팅 게이트 전압은 부가적으로 2V가 올라가게 되는데, 이는 그 이웃 트랜지스터들로부터의 용량성 결합때문이다.
양쪽의 이웃 트랜지스터들을 강제로 플로팅 상태가 되게 함으로써, 소거되고 있는 메모리 셀의 플로팅 게이트에서의 전압 증가는 전형적인 소거 동작들에서 플로팅 선택 게이트들에 의해 단부 메모리 셀들에서 야기되는 전압 증가의 약 2배가 된다. 하지만, 도 15 및 16에 도시된 실시예들에 따르면, 플로팅 게이트 전압의 2V 상승은 서브세트 A의 모든 메모리 셀에 대해 동일한데, 그 이유는 소거 전압 펄스가 인가될 때, 이러한 셀들 각각에 이웃하는 양쪽의 트랜지스터들은 플로팅될 것이기 때문이다. 예를 들어, (또한 서브세트 A 내에 있는) WL2에서의 메모리 셀은 그 플로팅 게이트 전압이 2V 상승할 것인데, 이는 자신과 워드라인들(WL1 및 WL3)에서의 메모리 셀들의 플로팅 게이트들과의 용량성 결합으로 인한 것이다. 서브세트 A의 모든 메모리 셀에 대한 결과적인 소거 전위는 약 9V가 되는데, 이는 소거 전압 펄스 동안 서브세트 A의 메모리 셀들의 플로팅 게이트에서의 전압(11V)과 p-웰 전압(20V) 간의 차이와 같다. -1V의 시작 플로팅 게이트 전압을 가정하면, 펄스가 인가될 때의 플로팅 게이트 전압은, 최초의 플로팅 게이트 전압(-1V)과, p-웰과의 용량성 결합으로 인한 플로팅 게이트 전압의 증가(10V)와, 그리고 이웃 트랜지스터와의 결합으로부터 야기되는 전압들(이 경우, 각 이웃으로부터의 1V를 포함한다)의 합과 같다. 따라서, 서브세트 A의 각 메모리 셀에 대해, 소거 전위는 약 9V (20V-(-1V + 10V + 2V))이다. -1V의 시작 플로팅 게이트 전압을 가지며 시작되는 메모리 셀에 있어서, 단일의 소거 전압 펄스가 인가된 이후의 결과적인 플로팅 게이트 전압은, 시간(t3)에 나타낸 바와 같이 약 1V이다. 다른 메모리 셀들은, 이들이 소거 동작의 시작시에 있게 되는 상태에 따라, 다른 플로팅 게이트 전압들로 시작할 수 있다.
서브세트 B의 메모리 셀들은 소거가 금지되는데, 이는 시간(t1) 내지 시간(t3) 사이에서 자신들의 해당하는 워드라인들에 제공되는 플로팅 조건들 때문이다. 도 16F에 나타낸 바와 같이, 소거 전압 펄스가 인가되기 시작할 때, 서브세트 B의 각 메모리 셀의 워드라인들은 시간(t1)에서 플로팅된다. 서브세트 B의 워드라인들이 플로팅됨으로 인해, 서브세트 B의 메모리 셀들의 제어 게이트들의 전압은 p-웰에 강하게 결합된다. 이에 따라, 서브세트 B의 각 메모리 셀의 제어 게이트들은 용량성 결합으로 인해 p-웰 전압을 따르게(track) 된다. 도 16에서 100% 결합비를 가정하면, 서브세트 B의 메모리 셀의 제어 게이트 전압은 도 16G에 나타낸 바와 같이 p-웰 전압과의 1:1의 비로 약 20V까지 상승할 것이다. 또한, 이러한 셀들의 플로팅 게이트들은 p-웰 영역과 훨씬 더 용량적으로 결합하게 된다. 이러한 메모리 셀들 각각의 플로팅 게이트 전압은 p-웰 전압에 정비례하여 (90-100% 또는 약 90-100%의 비로) 상승한다. 도 16H에서 예시적으로 도시된 메모리 셀은 소거 동작 이전에 약 -1V의 플로팅 게이트 전압을 갖는다. 이에 따라, 시간(t3)에서 다시 -1V로 떨어지기 전에, 소거 전압 펄스 동안 19V의 피크 전압으로 올라갈 것이다.
시간(t4)에서, 도 15의 컬럼(442)의 바이어스 조건들을 이용함으로써, 서브세트 A의 메모리 셀들이 소거되는 것을 금지하면서, 서브세트 B의 메모리 셀들이 제 2 소거 전압 펄스의 인가하에서 소거된다. 시간(t4)에서, 제 2 소거 전압 펄스가 스트링에 인가된다. 제 2 소거 전압 펄스가 인가되기 전에 또는 인가될 때에, 서브세트 A의 메모리 셀들의 워드라인들은 서브세트 A의 메모리 셀들이 소거되는 것을 억제하기 위해 플로팅된다. 그 워드라인들이 플로팅되기 때문에, 서브세트 A의 각 메모리 셀의 제어 게이트들은, 도 16D에 도시된 바와 같이, p-웰 전압과 거의 1:1의 비로 약 20V까지 상승할 것이다. 각 메모리 셀의 플로팅 게이트 전압은 또한 p-웰에 강하게 용량적으로 결합되며, p-웰의 전압과 거의 1:1의 비로 상승한다. 제 1 소거 전압 펄스가 인가된 후, 도 16E에 도시된 예시적인 메모리 셀의 플로팅 게이트 전압은 +1V이기 때문에, 이는 소거 전압 및 p-웰 전압이 20V로 올라갈 때에 21V의 피크값으로 상승하게 된다. 따라서, 어떠한 큰 소거 전위도 생성되지 않기 때문에, 그 메모리 셀은 소거가 금지된다.
서브세트 B의 각 메모리 셀에 대한 워드라인들은 시간(t3) 내지 시간(t6) 동안 0V로 유지됨으로써, 그에 연결된 메모리 셀들의 소거를 촉진시킨다. 워드라인들이 0V이기 때문에, 개별적인 메모리 셀들의 제어 게이트 전압은 0V로 유지된다. 플로팅 게이트 전압은 -1V로 시작하여, 약 0.5:1의 비로 소거 전압 펄스에 비례하여 상승한다. 도 16H의 예시적인 메모리 셀은 -1V에서 시작하기 때문에, 그 플로팅 게이트 전압은 11V의 피크 값으로 상승할 것이다. 이 전압은, 플로팅 게이트 전압을 -1V로부터 약 9V로 상승시키는 p-웰로부터의 결합으로 인해 11V로 상승한다. 셀의 플로팅 게이트와 그 셀의 2개의 이웃들 간의 용량성 결합은 플로팅 게이트 전압을 2V 더 상승시킴으로써, 11V의 피크 값으로 상승시킨다. 따라서, 소거 전위는 서브세트 A의 셀들의 전위와 같다(9V). 이러한 소거 전위는 20V의 p-웰 전압과 플로팅 게이트 전압(이는 약 11V인 것으로 나타나있다) 간의 차이와 같다.
도 17은 본 발명의 일 실시예에 따라 메모리 셀들의 스트링을 소거하기 위한 방법의 흐름도이다. 단계(452)에서, 스트링의 비트라인, 소스 라인, 소스 선택 게이트 라인 및 드레인 선택 게이트 라인은 플로팅된다. 단계(454)에서, 스트링의 메모리 셀들의 제 1 서브세트에 0V가 인가되어, 이러한 메모리 셀들이 소거될 수 있게 한다. 단계(456)에서, 메모리 셀들의 제 2 서브세트를 플로팅시킴으로써, 이러한 메모리 셀들이 소거되는 것을 금지한다. 단계(458)에서, 메모리 셀들의 스트링에 소거 전압 펄스가 인가된다. 이러한 소거 전압 펄스는 p-웰 영역에 인가되어, 제 1 서브세트 내의 메모리 셀들의 터널 유전 영역들의 양단에 큰 소거 전위를 생성할 수 있다. 단계(458)에서, 제 2 서브세트 내의 메모리 셀들의 플로팅 게이트들은 이러한 소거 전압과 거의 1:1의 비로 상승할 것이며, 이에 따라 소거되지 않는다.
단계(460)에서, 메모리 셀들의 제 2 서브세트에 0V가 인가되어, 이러한 메모리 셀들이 소거될 수 있게 한다. 단계(462)에서, 메모리 셀들의 제 1 서브세트는 플로팅되어, 이러한 메모리 셀들의 소거가 금지되게 한다. 단계(464)에서, 메모리 셀들의 스트링에 소거 전압 펄스가 인가된다. 이러한 소거 전압 펄스는 제 2 서브세트의 메모리 셀들에 대해 큰 소거 전위를 생성하지만, 제 1 서브세트의 메모리 셀들에 대해서는 생성하지 않는다. 도시된 바와 같이, 서브세트 A의 각 메모리 셀은, 소거를 가능하게 하기 위해 소거 전압 펄스가 인가될 때에, 동일한 전위의, 즉 플로팅되는 양쪽의 이웃 트랜지스터들을 갖는다. 마찬가지로, 서브세트 B의 각 메모리 셀은, 소거를 가능하게 하기 위해 소거 전압 펄스가 인가될 때에, 동일한 플로팅 전위를 갖는 양쪽의 이웃 트랜지스터들을 갖는다. 이에 따라, 각 서브세트 내의 그리고 각 서브세트 간의 메모리 셀들은 유사한 소거 특성을 나타낸다.
단계(466)에서, 메모리 셀들의 스트링이 소거된 상태에 대해 검증된다. 단계(468)에서 모든 스트링들이 소거된 것으로 결정되면, 단계(470)에서 소거 동작에 대한 상태(즉, 패스)가 보고된다. 만일 모든 스트링들이 소거되지 않았다면, 검증 카운터(VC)가 최대 값(예를 들어, 8)에 도달했는 지를 결정한다. 다양한 실시예들에서, 다양한 최대값들이 이용될 수 있다. 만일 검증 카운터가 최대값에 도달하지 않았다면, 단계(474)에서, 검증 카운터가 증분되며, 소거 전압(Verase)은 스텝 사이즈 만큼 증가된다. 이후, 단계(452)에서, 소거 동작이 계속된다.
검증 카운터가 최대값에 도달했다면, 단계(476)에서, 최소수의 스트링들이 소거되었는 지를 결정한다. 최소수의 스트링들이 소거되었다면, 단계(470)에서, 소거 동작에 대한 패스가 보고된다. 소거가 성공하지 못한 스트링들은, 예를 들어 에러 정정 코드들을 이용하여 관리될 수 있다. 만일 최소수의 스트링들이 소거되지 않았다면, 단계(478)에서, 소거 동작에 대해 실패가 보고된다.
도 18A-18C는 여기에서 설명되는 기술의 실시예들에 따라 소거되는 메모리 셀들의 그룹에 대한 임계 전압 분포들을 도시한다. 상기 셀들의 그룹은 단일의 NAND 스트링 또는 다수의 NAND 스트링들을 포함할 수 있다. 도 18A는 소거 임계 전압 분포(552)와, 그리고 데이터가 어레이 내에 쓰여진 이후, 4 레벨 NAND 플래시 메모리 셀들의 그룹에 대한 프로그램된 임계 전압 분포들(554, 556 및 558)을 나타낸다. 도 18A의 분포들은 소거되기 이전의 NAND 스트링(들)의 양쪽 서브세트들의 메모리 셀들을 포함한다. 도 18B는, 메모리 셀들의 제 1 서브세트는 소거되게 하고, 메모리 셀들의 제 2 서브세트의 소거는 금지시키면서, 그룹에 소거 전압 펄스를 가한 이후의, 메모리 셀들의 그룹의 분포들을 도시한다. 도 18B의 분포들은 도 17의 단계(458)의 완료에 해당하며, 또한 도 15의 컬럼(440)(또는 이하 설명되는 도 21의 컬럼(650))의 바이어스 조건들 하에서의 소거 전압 펄스의 인가에 해당한다. 도 18B에 나타낸 바와 같이, 프로그램된 임계 전압 분포들(554, 556 및 558) 내의 셀들의 수는, 제 1 서브세트가 소거된 이후 감소된다. 제 1 서브세트가 소거되기 때문에, 이러한 분포들은 제 2 서브세트로부터의 셀들 만을 포함한다. 임계 전압 분포들(554, 556 및 558) 내에 더 이상 없는 셀들은 제 1 서브세트 내의 원래 프로그램된 셀들(originally programmed cells)로서, 소거된 것들이다. 분포(560)가 이러한 셀들을 나타내는 바, 이 분포(560)는 원래 프로그램되었지만, 지금은 소거된 셀들을 도시한다. 도 18B에서, 분포(560)는 제 2 서브세트가 아직 소거되지 않았기 때문에, 제 1 서브세트로부터의 셀들 만을 포함한다. 이미 소거된 서브세트 A의 셀들이, 제 1 소거 전압 펄스가 인가된 이후, 더 소거된 결과로서, 제 1, 2 서브세트들 모두의 원래 소거된 셀들을 나타내는 분포(552)가 넓어졌다.
도 18C는, 메모리 셀의 제 2 서브세트는 소거되게 하고, 제 1 서브세트의 소거는 금지하면서, 그룹에 소거 전압 펄스를 인가한 이후의, 메모리 셀들의 그룹의 임계 전압 분포들을 나타낸다. 프로그램된 임계 전압 분포들(554, 556 및 558)에는 더 이상 어떠한 셀들도 없다. 이러한 셀들은 이제 분포(560)에 의해 표현되는 바, 이 분포(560)는, 원래 프로그램되었지만 지금은 소거된, 그룹의 모든 메모리 셀들(제 1, 2 서브세트들 모두)을 도시한다. 나타낸 바와 같이, 분포(560)는 분포(552)와 본질적으로 동일하며, 단지 더 많은 셀들을 포함할 뿐이다. 원래 소거되었던 그룹의 모든 메모리 셀들을 나타내는 분포(552)는, 원래 소거되었던 서브세트 B의 메모리 셀들이 소거 전압 펄스의 인가 하에서 약간 더 소거된 결과로서, 윗쪽의 에지(edge)가 왼쪽으로 시프트된다.
도 15 및 17에는, 스트링 레벨의 소거 검증이 도시되어 있다. 일 실시예에서, 스트링의 메모리 셀들의 개별적인 서브세트들은 소거된 조건에 대해 개별적으로 검증된다. 도 19는 도 15에 도시된 컬럼들(440 및 442)과 동일한 소거 바이어스 조건들을 나타낸다. 하지만, 도 19에는, 제 1 서브세트의 메모리 셀들 및 제 2 서브세트의 메모리 셀들에 대한 개별적인 소거 검증들이 도시되어 있다. 컬럼(446)은, 제 2 서브세트의 메모리 셀들을 검증 대상으로부터 배제하면서, 제 1 서브세트의 메모리 셀들이 소거되었는 지를 검증하기 위한 바이어스 조건들을 도시한다. 소거 검증 전압(Everify)이 제 1 서브세트의 각 메모리 셀에 인가되고, 전압(Vpass)이 제 2 서브세트의 각 메모리 셀에 인가된다. Everify는 메모리 셀이 소거 상태에 도달했는 지의 여부를 결정하는 데에 이용되는 전압이다. 예를 들어, 0V의 Everify 전압을 메모리 셀에 인가하여, 그 메모리 셀이 0V 미만의 임계 전압을 갖는 지를 결정함으로써, 소거 상태를 나타낸다. Vpass는, 소거되었는 지의 여부에 상관없이, 제 2 서브세트의 메모리 셀들이 도통(conduct)되도록 하기 위해 선택되는 전압이다. 이러한 방식으로, 제 2 서브세트의 메모리 셀들을 검증 대상으로부터 배제하면서, 제 1 서브세트의 메모리 셀들이 검증된다. 컬럼(448)은 제 2 서브세트의 메모리 셀들이 소거되었는 지의 여부를 검증하기 위한 바이어스 조건들을 나타낸다. 소거 검증 전압(Everify)이 제 2 서브세트의 메모리 셀들에 인가되고, Vpass가 제 1 서브세트의 메모리 셀들에 인가되어 이들을 검증 대상으로부터 배제시킨다.
도 20은 메모리 셀들의 세트를 소거하기 위한 일 실시예에 따른 방법(여기에서는, 서브세트 기반의 검증 기술이 이용된다)을 나타내는 흐름도이다. 단계(602)에서, 메모리 셀들의 제 1 서브세트는 소거될 수 있게 하고, 메모리 셀들의 제 2 서브세트의 소거는 금지하면서, 소거 전압 펄스가 세트에 인가된다. 단계(604)에서, 제 2 서브세트는 소거될 수 있게 하고, 제 1 서브세트의 소거는 금지하면서, 소거 전압 펄스가 세트에 인가된다. 단계(606)에서, 메모리 셀들의 제 2 서브세트는 검증 대상으로부터 배제하면서, 메모리 셀들의 제 1 서브세트의 소거 상태를 검증한다. 단계(608)에서, 메모리 셀들의 제 1 서브세트는 검증 대상으로부터 배제하면서, 메모리 셀들의 제 2 서브세트의 소거 상태를 검증한다. 단계(610)에서는, 제 1, 2 서브세트들이 소거된 것으로서 검증되었는 지를 결정한다. 만일 제 1, 2 서브세트들이 소거된 것으로서 검증되었다면, 단계(612)에서, 스트링에 대해 패스가 보고된다. 일 실시예에서, 소거된 것으로서 아직 검증되지 않은 그룹(예를 들어, 블록)의 다른 스트링들에 대해 단계(612) 이후 소거 동작이 계속된다. 소거에 대해 이미 검증된 스트링들은 이러한 부가적인 동작들 동안 소거가 금지될 것이다.
단계(610)에서 메모리 셀들의 제 1, 2 서브세트들 모두가 소거된 것으로서 검증되지 않았다고 결정되면, 단계(614)에서, 검증 카운터가 최대 값 미만인지가 결정된다. 만일 카운터가 최대 값 미만이 아니면, 단계(616)에서, 최소수의 스트링들이 소거되었는 지가 결정된다. 최소수의 스트링들이 소거되었으면, 단계(618)에서, 그 소거 동작에 대해 성공이 보고된다. 최소수의 스트링들이 소거되지 않았으면, 단계(620)에서, 그 소거 동작에 대해 실패가 보고된다.
만일 검증 카운터가 최대값 미만이면, 단계(622)에서, Verase가 스텝 사이즈 만큼 증가하고, 검증 카운터가 증분된다. 단계(624)에서, 이 방법은 제 1, 2 서브세트들의 소거된 상태에 기초하여 분기(branch)된다(즉, 갈라진다). 메모리 셀들의 제 1, 2 서브세트중 어느 것도 소거된 것으로서 검증되지 않으면, 이 방법은 단계(624)로부터 단계(602)로 계속된다. 만일 메모리 셀들의 제 1 서브세트가 소거된 것으로서 검증되지만, 메모리 셀들의 제 2 서브세트는 소거된 것으로서 검증되지 않으면, 단계(626)에서, 제 2 서브세트는 소거되게 하고 제 1 서브세트의 소거는 금지하면서, 증가된 소거 전압이 세트에 인가된다. 단계(628)에서는, 메모리 셀들의 제 1 서브세트를 검증 대상으로부터 배제하면서, 메모리 셀들의 제 2 서브세트가 소거된 상태인가에 대해 검증된다. 만일 메모리 셀들의 제 2 서브세트가 소거된 것으로서 검증되지만, 메모리 셀들의 제 1 서브세트는 소거된 것으로서 검증되지 않으면, 단계(630)에서, 메모리 셀들의 제 1 서브세트는 소거가능해지고, 제 2 서브세트의 소거는 금지된다. 단계(632)에서는, 제 2 서브세트를 검증 대상으로부터 배제하면서, 제 1 서브세트가 소거된 상태인가에 대해 검증된다. 단계들(628 또는 632) 이후, 방법은 단계(610)로 계속된다.
도 21은 NAND 스트링 내의 메모리 셀들의 개별적인 서브세트들을 독립적으로 소거하기 위한 다른 세트의 바이어스 조건들을 도시한다. 도 21의 실시예에서, 상기 개별적인 서브세트들은, 각 메모리 셀이 소거될 때에 제 1 바이어스에 있는 제 1 이웃 트랜지스터 및 제 2 바이어스에 있는 제 2 이웃 트랜지스터를 갖게 되도록 선택된다. 각 메모리 셀은 제 1 바이어스에 있는 제 1 이웃 트랜지스터 및 제 2 바이어스에 있는 제 2 이웃 트랜지스터를 갖기 때문에, 전형적인 소거 기술들과 비교하여, 셀들의 스트링 내의 각 메모리 셀에 대해 보다 일관된 소거가 관찰될 것이다.
컬럼(650)은 메모리 셀들의 제 1 서브세트 (서브세트 A)를 소거하기 위한 바이어스 조건들을 기술하고 있고, 컬럼(652)은 메모리 셀들의 제 2 서브세트 (서브세트 B)를 소거하기 위한 바이어스 조건들을 기술하고 있다. 메모리 셀들의 서브세트들은 인접하는 메모리 셀들의 쌍들을 포함하는 바, 다음 쌍의 앞에 2개의 끼어있는(intervening) 메모리 셀들이 있다. 도 21의 특정 실시예에서, 서브세트 A는 워드라인들(WL0, WL1, WL4, WL5 등)의 메모리 셀들을 포함하고, 서브세트 B는 워드라인들(WL2, WL3, WL6, WL7 등)의 메모리 셀들을 포함한다.
도 21의 메모리 셀들이 소거 동안 동일한 전위의 양쪽의 이웃 트랜지스터들을 갖지 않지만, 이들은 이웃하는 트랜지스터들의 각각의 쌍에 대해 동일한 바이어스 조건들을 갖는다. 소거가 허락된 셀에 대해 소거 전압이 인가될 때, 각 메모리 셀은 0V 전위의 하나의 이웃 트랜지스터 및 플로팅 전위의 하나의 이웃 트랜지스터를 가질 것이다. 예를 들어, 워드라인(WL0)의 메모리 셀(서브세트 A)은, 플로팅 전위에서, 소스측 선택 게이트, 제 1 이웃 트랜지스터를 가지며, 그리고 OV 전위에서, 워드라인(WL1)에 연결된 메모리 셀, 제 2 이웃 트랜지스터를 갖는다(컬럼 650). WL1에서의 메모리 셀(제 1 서브세트)은, 소거가 허락된 그 메모리 셀에 소거 전압이 인가될 때, 플로팅되는 워드라인(WL2)에서의 메모리 셀 및 OV에 있는 WL0에서의 메모리 셀을 갖는다(컬럼 650). 워드라인(WL2)의 메모리 셀(서브세트 B)은, 소거가 허락될 때, 플로팅 전위에서, WL1에 있는 메모리 셀, 제 1 이웃 트랜지스터를 가지며, 그리고 OV 전위에서, 워드라인(WL3)에 연결된 메모리 셀, 제 2 이웃 트랜지스터를 갖는다(컬럼 652). WL3에서의 메모리 셀(서브세트 B)은, 소거가 허락된 그 메모리 셀에 소거 전압이 인가될 때, 플로팅되는 워드라인(WL4)에서의 메모리 셀 및 OV에 있는 WL2에서의 메모리 셀을 갖는다(컬럼 652).
이웃하는 트랜지스터들의 순 바이어스 및 관련된 전하 결합은 도 21에 따라 소거되는 각 메모리 셀에 대해서와 동일하다. 제 1 전위로 바이어스되는 제 1 이웃 트랜지스터 및 제 2 전위로 바이어스되는 제 2 이웃 트랜지스터로부터의 결합, 즉 총 전하 결합은, NAND 스트링의 각 메모리 셀에 대해서와 거의 동일하다. 다양한 실시예들의 특징은, 소거될 때에, 스트링의 각 메모리 셀에 대해 실질적으로 같은 전하 결합을 촉진시키는 것이다. 도 21의 실시예에서, 이러한 특징은 각 메모리 셀이 유사하게 바이어스되는 양쪽의 이웃들을 갖도록 함으로써 달성되는 것이 아니라, 선택된 메모리 셀에 대한 총 전하 결합(즉, 스트링을 따라 자신의 가장 인접하는 2개의 이웃 트랜지스터들로부터의 총 전하 결합)이, 메모리 셀이 선택되어 소거가 허락될 때에 다른 각각의 메모리 셀의 총 전하 결합과 거의 같아지게 함으로써 달성된다.
도 21은 컬럼들(654 및 656)에서의 서브세트 레벨 소거 검증을 도시한다. 제 1 서브세트는 컬럼(654)의 바이어스 조건들 하에서 검증된다. Vpass를 인가함으로써 서브세트 B의 메모리 셀들의 도통을 보장하면서, 소거 검증 전압이 서브세트 A의 메모리 셀들에 인가된다. 제 2 서브세트는 컬럼(656)의 바이어스 조건들 하에서 검증된다. Vpass를 인가함으로써 서브세트 A의 메모리 셀들의 도통을 보장하면서, 소거 검증 전압이 서브세트 B의 메모리 셀들에 인가된다. 일 실시예에서는, 컬럼들(650 및 652)의 소거 바이어스 조건들이 스트링 레벨 검증에 이용된다.
다른 실시예들에서는, 메모리 셀들의 다른 서브세트들을 소거할 때에, 다른 소거 전압 값들 및 소거 전압 스텝 사이즈들이 이용될 수 있다. 전형적인 소거 동작들과 비교할 때, 소거 전압은 일반적으로 통상의 기술들과 비교하여 실질적으로 유사한 소거 속도들을 달성하기 위해 더 커질 수 있다. 예를 들어, 도 11 및 13에 나타낸 바와 같이, NAND 스트링의 말단 메모리 셀들은 안쪽 메모리 셀들 보다 느리게 소거되는데, 이는 동작 동안 플로팅되는 이웃하는 선택 게이트들로부터의 전하 결합때문이다. 도 15에 도시된 실시예에 따르면, NAND 스트링의 모든 메모리 셀들은 전형적인 소거 동작들에서의 말단 메모리 셀들의 거의 2배의 양(positive)의 전하 결합을 경험하게 되는데, 그 이유는 이러한 메모리 셀들이 2개의 플로팅된 이웃들을 갖게 될 것이기 때문이다. 이에 따라, 소거 전압 펄스의 사이즈가 전형적인 소거 동작들의 것에 비해 증가될 수 있는 바, 이는 양의 전하 결합을 보상하기 위해서인데, 그렇지 않으면 소거 시간을 느리게 할 수도 있다. 도 21에 도시된 실시예에서, 각 메모리 셀은 전형적인 소거 동작들에서의 말단 메모리 셀들의 것과 유사한 양의 전하 결합을 경험하게 될 것이다. 따라서, 전형적인 소거 동작들과 비교하여 동일하거나 또는 더 크지만, 도 15에 도시된 실시예들에 대해 이용되는 것 보다는 작은 소거 전압 펄스가 이용될 수 있다. 다른 소거 전압 펄스 사이즈도 이용될 수 있다.
일 실시예에서, 메모리 셀들의 제 1 서브세트 및 메모리 셀들의 제 2 서브세트에 인가되는 소거 전압 펄스의 사이즈는 동일하다. 도 22A는 일 실시예에 따라 이용될 수 있는 소거 전압 신호를 도시한다. 소거가 허락된 메모리 셀들의 제 1 서브세트 A 및 소거가 금지된 메모리 셀들의 제 2 서브세트 B를 갖는 스트링에 제 1 소거 전압 펄스(702)가 인가된다. 일 실시예에서, 제 1 소거 전압 펄스(702)는 14V의 크기를 갖는다. 소거가 허락된 메모리 셀들의 제 2 서브세트 B 및 소거가 금지된 메모리 셀들의 제 1 서브세트 A를 갖는 스트링에 제 2 소거 전압 펄스(704)가 인가된다. 스트링의 각 메모리 셀이 소거된 것으로서 검증되지 않으면, 소거가 허락된 메모리 셀들의 제 1 서브세트 및 소거가 금지된 메모리 셀들의 제 2 서브세트를 갖는 스트링에 제 3 소거 전압 펄스(706)가 인가된다. 소거가 허락된 메모리 셀들의 제 2 서브세트 및 소거가 금지된 메모리 셀들의 제 1 서브세트를 갖는 스트링에 제 4 소거 전압 펄스(708)가 인가된다. 필요한 경우, 펄스들(706 및 708) 이외의 추가적인 펄스들이 인가될 수 있다. 일 실시예에서는, 서브세트 레벨의 검증이 수행되는 바, 부가적인 소거 전압 펄스들은 하나의 서브세트에 대해서는 인가될 수 있지만, 다른 서브세트에 대해서는 인가되지 않는다. 일 실시예에서, 각 펄스는 임의의 서브세트들이 소거된 것으로서 검증되는지의 여부에 상관없이 인가된다. 소거된 상태에 있는 것으로서 이미 검증된 셀들의 제 1 서브세트 그리고/또는 제 2 서브세트를 갖는 임의의 스트링은, 적절한 시간에 소거가 금지될 수 있다.
도 22A에 나타낸 일 실시예에서, 제 1 소거 전압 펄스(702)는 제 3 소거 전압 펄스(706)에 대해 제 1 스텝 사이즈 ΔVERA1 만큼 증가하고, 제 2 소거 전압 펄스(704)는 제 2 스텝 사이즈 ΔVERA2 만큼 증가한다. 일 실시예에서, ΔVERA1은 ΔVERA2와 같다. 다른 실시예에서, ΔVERA1은 ΔVERA2 보다 크거나 작다. 펄스들(702 내지 712)은 동일한 소거 전압 신호로부터 비롯되는 것으로서 설명되었다. 일 실시예에서는, 제 1 소거 전압 신호를 이용하여 서브세트 A의 메모리 셀들을 소거하기 위한 펄스들(702, 706, 710 등)을 제공하고, 제 2 소거 전압 신호를 이용하여 펄스들(704, 708, 712 등)을 제공한다.
도 22B는 메모리 셀들의 제 1, 2 서브세트를 개별적으로 소거하는 데에 이용되는 소거 전압 신호(들)의 다른 실시예를 도시한다. 소거되는 각 서브세트에 대한 제 1 소거 전압 펄스는 다른 사이즈를 갖는다. 예를 들어, 소거가 허락된 제 1 서브세트 및 소거가 금지된 제 2 서브세트를 갖는 메모리 셀들의 세트에, 제 1 피크 값을 갖는 제 1 소거 전압 펄스(720)가 인가될 수 있다. 소거가 허락된 제 2 서브세트 및 소거가 금지된 제 1 서브세트를 갖는 메모리 셀들의 세트에, 제 2 피크 값을 갖는 제 2 소거 전압 펄스(722)가 인가될 수 있다.
일 실시예에서, 첫 번째로 소거되는 메모리 셀들의 서브세트에 인가되는 소거 전압 펄스(들)는 두 번째로 소거되는 메모리 셀들의 서브세트에 인가되는 소거 전압 펄스(들) 보다 크다. 제 1 서브세트가 소거되고 있을 때, (아직 소거되지 않은) 제 2 서브세트의 메모리 셀들의 플로팅 게이트들에서의 양 전하(positive charge)들이 제 1 서브세트의 메모리 셀들의 플로팅 게이트들에 결합될 것이다. 이러한 양 전하의 결합은 터널 절연물 양단에서의 소거 전위를 감소시킬 것이며, 그에 따라 이러한 셀들의 소거 속도를 떨어뜨릴 것이다. 하지만, 메모리 셀들의 제 2 서브세트가 소거될 때, 메모리 셀들의 제 1 서브세트는 이미 적어도 부분적으로 소거되어 있다. 따라서, 이러한 셀들과 관련된 양 전하 결합은 제 1 서브세트의 메모리 셀들의 것 보다 작아야 한다. 이에 따라, 2개의 서브세트들 간에 실질적으로 유사한 소거 속도들을 달성하기 위해, 제 1 서브세트의 메모리 셀들을 소거할 때, 더 큰 소거 전압 사이즈가 이용될 수 있다. 일 실시예에서, 제 1 서브세트에 대한 소거 전압 스텝 사이즈인 ΔVERA1은 제 2 서브세트에 대한 소거 전압 스텝 사이즈인 ΔVERA2 보다 크다.
일 실시예에서, 소거 동작 및 소거 전압 펄스들의 사이즈들은, 소거 전압을 단지 한번 인가한 이후에 모든 또는 거의 모든 메모리 셀들이 소거되도록 선택된다. 또한, 소거 전압 펄스들의 사이즈들은, 심지어 메모리가 많은 기록/소거 사이클들을 겪은 이후(전형적으로, 이와같이 메모리가 많은 기록/소거 사이클을 겪게 되면, 물질들이 열화되고 전하들이 트랩되기 때문에, 소거 속도를 느리게 한다)에 도, 소거 전압 펄스가 단지 한번 인가된 이후 모든 또는 거의 모든 메모리 셀들이 소거되도록 선택될 수 있다. 이러한 일 실시예에서, 제 2 서브세트의 메모리 셀들을 과소거하는 것을 피하기 위해, 제 2 서브세트에 인가되는 소거 전압 펄스의 사이즈는 제 1 서브세트에 인가되는 소거 전압 펄스의 사이즈 보다 작다.
용량성 결합은 또한, 소프트 프로그래밍 동작들 동안 NAND 스트링의 메모리 셀들 간에 전혀 다른 특성을 이끌 수 있다. 전형적으로, 소프트 프로그래밍 동작은, 선택된 블록의 모든 워드라인들에 소프트 프로그래밍 펄스들을 동시에 인가함으로써 수행된다. 소프트 프로그래밍은 메모리 셀들의 세트를 소거한 이후 수행된다. 소프트 프로그래밍은 메모리 셀들의 세트에 대한 소거 임계 전압 분포의 폭을 좁히기 위해, 그리고 또한 그 세트 내의 개별적인 메모리 셀들의 소거 임계 전압 분포를 정규화하기 위해 수행된다. 셀들이 프로그램된 상태에 도달하는 것을 피하기 위해, 소프트 프로그래밍 펄스들은 (예를 들어, 도 6에 나타낸 것과 같은) 통상의 프로그래밍 펄스들 보다 진폭이 낮다(즉, 작다). 소프트 프로그래밍의 결과로서 요구되는 것은, 셀들이 보다 좁은 소거 임계 전압 분포를 갖는 것이다. 결과적으로, 임계 전압들은 프로그램된 상태 범위로 시프트될 것이 의도되지 않는다.
도 10은 소프트 프로그래밍을 위해 메모리 셀들의 블록에 인가될 수 있는 예시적인 바이어스 조건들의 세트를 나타낸다. 각 스트링에 대한 프로그래밍을 가능하게 하기 위해, 비트라인 및 소스 라인들은 접지된다. 소프트 프로그래밍이 금지될 스트링의 비트라인에는 VDD가 인가된다. 소스 선택 게이트 라인(SGS)가 0V에 있는 동안, 드레인 선택 게이트 라인(SGD)은 VDD에 있다. 어떠한 실시예들에서, VSG (예를 들어, ~6V)는 처음에 드레인 선택 게이트 라인(SGD)에 인가된 다음, 소프트 프로그래밍 펄스가 인가되기 전에 VDD로 떨어진다. 이에 의해, 소프트 프로그래밍을 받지 않아야 할 NAND 스트링들에 대한 소프트 프로그래밍을 확실하게 금지하는 목적으로 승압시킬 수 있게 된다. 모든 저장 요소들을 동시에 소프트 프로그램하기 위해, 소프트 프로그래밍 펄스(Vspgm)가 블록의 각 워드라인에 인가된다. 선택된 NAND 스트링들에 대한 소프트 프로그래밍을 계속하기 위해, 검증 후에 부가적인 펄스가 인가될 수 있다.
각 소프트 프로그래밍 펄스를 인가한 후, 도 10에 나타낸 것과 같은 검증 동작이 수행된다. 소프트 프로그래밍 동작에 대한 검증을 행하는 동안, 메모리 셀들의 게이트에 소거 검증 전압이 인가된 상태에서, NAND 스트링을 통한 도통 여부가 테스트된다. 일단 선택된 블록의 NAND 스트링들중 어떠한 수의 스트링들이 소거 검증 동작 동안 비도통 상태에 도달하게 되면(이는 그 스트링의 적어도 하나의 셀이 소거 검증 상태에 도달했음을 나타낸다), 소프트 프로그래밍이 끝난다. 소프트 프로그래밍의 결과는, 스트링 내의 소거된 메모리 셀들의 분포가 소거 검증 레벨에 더 가깝게 시프트업(shift up)되는 것이다. 소프트 프로그래밍을 이용하게 되면, 메모리 셀들이 원래 과소거되었다고 할지라도, 소거 임계 전압 분포는 소거 검증 레벨에 가까운 레벨로 시프트업될 수 있다.
NAND 스트링의 말단 워드라인들의 선택 게이트들로부터 메모리 셀들로의 용량성 결합때문에, 그 스트링의 메모리 셀들의 소프트 프로그래밍 특성이 다를 수 있다. 선택 게이트들과 말단 메모리 셀들 간의 용량성 결합은 소프트 프로그래밍 동작 동안 이러한 셀들의 속도를 느리게 한다. 각각의 안쪽 메모리 셀은 소프트 프로그래밍 전압(Vspgm)에서 양쪽의 이웃하는 메모리 셀들을 가질 것이다. 하지만, 선택 게이트들과 인접하는 첫 번째 및 마지막의 (말단) 메모리 셀들은, 소프트 프로그래밍 전압(Vspgm)에서의 하나의 이웃과, 그리고 드레인 선택 게이트 라인 바이어스(VDD) 또는 소스 선택 게이트 라인 바이어스(0V)중 어느 하나에서의 하나의 이웃을 가질 것이다. 따라서, 소프트 프로그래밍 이후, 말단 워드라인들의 메모리 셀들은 안쪽 워드라인들 보다 더 깊은 소거 상태에 있게 될 것임을 기대할 수 있다.
도 23은 소프트 프로그래밍을 받은 이후 NAND 스트링 또는 NAND 스트링들의 그룹의 메모리 셀들에 대한 소거 임계 전압 분포를 나타낸다. 분포(740)는 소프트 프로그래밍을 받은 이후 안쪽 워드라인 메모리 셀들의 소거 임계 전압 분포를 도시한다. 소프트 프로그래밍은 이러한 소거 임계 전압 분포를 소거 검증 레벨에 더 가깝게 시프트시킨다. 소프트 프로그래밍에 대한 검증은, 소거 검증 전압의 인가시 소정수의 NAND 스트링들이 비도통일 때에 셀들의 그룹을 성공적으로 소프트 프로그램된 것으로서 검증하기 때문에, 일정수의 셀들은 소거 검증 레벨을 넘어 시프트된 자신들의 임계 전압을 갖게 될 것이다. 소거 검증 레벨 보다 높은 임계 전압을 갖는 실제 수는 이용되는 실제 검증 방식에 의존한다. 예를 들어, 이러한 방식이, 단일 스트링이 비도통이 될 때에, 소프트 프로그래밍을 완전한 것으로서 검증한다면, 그룹 내의 단지 하나의 셀 만이 검증 레벨 보다 높을 수 있다. 다른 방식들에서는, 그룹 내의 수천개의 셀들이 소거 검증 레벨을 막 넘어 시프트된 자신들의 임계 전압을 가질 수 있다. 분포(742)는 말단 메모리 셀들의 임계 전압들을 나타낸다. 말단 메모리 셀들에 대한 소프트 프로그래밍 시간이 더 느리기 때문에, 이들의 임계 전압은 소거 검증 레벨에 가깝게 시프트되지 않는다.
일 실시예에 따르면, NAND 스트링 또는 많은 NAND 스트링들을 포함하는 블록과 같은 메모리 셀들의 세트는, 서로 다른 바이어스 조건들하에서 개별적인 간격들 동안 이러한 메모리 셀들의 세트에 소프트 프로그래밍 전압들을 인가함으로써 소프트 프로그램된다. 각 간격에 대해 이용되는 서로 다른 바이어스 조건들은, 스트링 내의 개별적인 메모리 셀들의 프로그래밍 속도들 간의 차이를 줄이도록 선택된다. 스트링의 말단 메모리 셀들의 다른 프로그래밍 특성(이는 선택 게이트들로부터의 용량성 결합으로부터 비롯된다)이 감소될 수 있다.
소프트 프로그래밍 동안, NAND 스트링의 각각의 안쪽 메모리 셀은 그 이웃 메모리 셀들에 기초하여 유사한 용량성 전하 결합을 겪을 것이다. 각각의 안쪽 워드라인은 2개의 워드라인들과 접하고 있는 바(border), 이들 모두는 Vspgm을 받는다. 하지만, 말단 메모리 셀들은 각각 하나의 다른 메모리 셀 및 하나의 선택 게이트 트랜지스터와 접하고 있다. 워드라인(WL0)에 있는 메모리 셀은 워드라인(WL1)에 있는 셀 및 소스 선택 게이트와 접하고 있다. 마지막 워드라인(WLn)에 있는 메모리 셀은 워드라인(WLn-1)에 있는 셀 및 드레인 선택 게이트와 접하고 있다. 소스 선택 게이트 라인(SGS)은 0V이고, 드레인 선택 게이트 라인은 VDD(예를 들어, 2.5V)를 갖 는다. 소거 동작과 달리, 소프트 프로그래밍 동안 각 선택 게이트들은 서로 다른 바이어스들을 갖는다. 따라서, 이전에 설명된 소거를 위한 워드라인들의 바이어싱 및 분할(partition)을 이용하게 되면, 스트링의 모든 메모리 셀에 대한 동일한 바이어스 조건들을 얻을 수 없다. 하지만, 유사한 기술들을 이용하여, 유사한 바이어스 조건들 및 소프트 프로그래밍 속도에 있어서의 개선된 균일성이 여전히 얻어질 수 있다.
도 24는 본 발명의 일 실시예에 따른, 소프트 프로그램 동작 동안 비휘발성 저장 요소들의 NAND 스트링에 대한 바이어스 조건들을 도시하는 표이다. 셀들의 다른 분류 및 다른 바이어스 조건들이 이용될 수 있다. NAND 스트링을 형성하는 메모리 셀들의 세트는 메모리 셀들의 개별적인 서브세트들로 나뉘어지는 바, 이러한 서브세트들은 불연속인 기간들 동안 소프트 프로그램된다. 스트링의 메모리 셀들에 연결되는 워드라인들은 메모리 셀들의 서브세트들에 해당하는 서브세트들로 나뉘어진다. 워드라인들(WL0-WLn)은, 메모리 셀들의 제 1 서브세트에 연결되는 워드라인들의 제 1 서브세트(서브세트 A) 및 메모리 셀들의 제 2 서브세트에 연결되는 워드라인들의 제 2 서브세트(서브세트 B)로 나뉘어진다. 이전에 설명한 바와 같이, 설명의 명확성을 위해 단일의 NAND 스트링에 대해 설명하고 있지만, 전형적인 NAND 플래시 메모리 구현에서, 각 워드라인은 둘 이상의 NAND 스트링으로부터 하나의 메모리 셀에 연결된다는 것을 이해할 것이다. 따라서, 설명되는 동작들은 많은 NAND 스트링들에 대해 동시에 이루어질 수 있다.
도 24에서, 워드라인들은 도 15에서와 같이 나뉘어진다. 워드라인들의 제 1 서브세트는 (소스 선택 게이트 라인에 인접하는) 워드라인 WL0과, 그리고 스트링의 소스측으로부터 스트링의 드레인측으로 진행할 때 워드라인(WL0) 다음에 오는 하나 걸러 마다의 워드라인을 포함한다. 따라서, 서브세트 A는 워드라인들(WLO, WL2, WL4 ... WLn-1)을 포함한다. 워드라인들의 제 2 서브세트는 워드라인(WL1)과, 그리고 스트링의 소스측으로부터 스트링의 드레인측으로 진행할 때에 그 이후의 하나 걸러 마다의 워드라인을 포함한다. 따라서, 서브세트 B는 워드라인들(WL1, WL3, WL5 ... WLn)을 포함한다.
메모리 셀들의 각 서브세트는 컬럼들(750 및 752)에 나타낸 바와 같이 개별적으로 소프트 프로그램된다. 서브세트 B의 셀들의 소프트 프로그래밍은 금지하면서, 서브세트 A의 메모리 셀들을 소프트 프로그램하기 위해, 제 1 시간 기간 동안 컬럼(750)의 바이어스 조건들이 인가된다. 서브세트 B의 워드라인들이 중간 전압(intermediate voltage)(Vusel)을 인가받는 동안, 서브세트 A의 워드라인들은 소프트 프로그래밍 전압(Vspgm)을 인가받는다. Vusel은 작은 양(positive)의 전압으로서, 이를 인가받는 메모리 셀들의 소프트 프로그래밍을 금지한다. 서브세트 A의 셀들의 소프트 프로그래밍은 금지하면서, 서브세트 B의 메모리 셀들을 소프트 프로그램하기 위해, 제 2 시간 기간 동안 컬럼(752)의 바이어스 조건들이 인가된다. 서브세트 A의 워드라인들이 중간 전압(Vusel)을 받는 동안, 서브세트 B의 워드라인들은 소프트 프로그래밍 전압(Vspgm)을 받는다.
도 24의 개별적인 소프트 프로그래밍 하위 동작(sub-operation)들을 이용함으로써, 스트링의 각 메모리 셀의 소프트 프로그래밍 특성에 있어서의 차이들이 감소될 수 있다. Vuse1은, 각 메모리 셀이 소프트 프로그램될 때에, 그 메모리 셀의 이웃 트랜지스터들이 유사하게 바이어스되도록 선택된다. 양쪽의 선택 게이트들이 동일할 때에는, 상기 설명한 소거 동작들 동안, 각 셀에 대해 정확히 동일한 조건들이 설정될 수 없다. 하지만, 프로그래밍 속도들 간의 차이를 감소시키도록 Vuse1의 적절한 값이 선택될 수 있다. 소프트 프로그래밍 동안 소스 선택 게이트는 OV이고, 드레인 선택 게이트는 VDD(전형적으로, 약 2.5V)이다. 선택 게이트 라인들에 인가되는 2개의 전압값들 중간의 전압이 Vuse1으로 선택될 수 있다. 예를 들어, 일 실시예에서는, 약 1.25V의 값이 이용된다. 이는 말단 메모리 셀들과 안쪽 메모리 셀들 간의 프로그래밍 속도를 더욱 정규화시킬 것이다. Vuse1의 다른 값들도 이용될 수 있다. 일 실시예에서, Vuse1은 소스 선택 게이트 라인 바이어스 또는 드레인 선택 게이트 라인 바이어스중 어느 하나와 같다.
컬럼(750)에 도시된 제 1 소프트 프로그래밍 동작 동안, 소프트 프로그래밍 펄스가 인가될 때, 서브세트 A의 각각의 안쪽 메모리 셀의 양쪽의 바로 인접하는 메모리 셀들은 Vuse1 전위를 갖는다. 서브세트 A의 WL0에 있는 메모리 셀은 0V에 있는 하나의 인접하는 트랜지스터(소스 선택 게이트) 및 Vuse1에 있는 하나의 인접하는 트랜지스터를 가질 것이다. 하지만, Vuse1과 0V의 차이가 매우 작기 때문에, 워드라인(WL0)에서의 말단 메모리 셀의 소거 속도는 서브세트 A의 안쪽 메모리 셀들과 거의 동일한 속도로 소거를 할 것이다. 서브세트 A의 소프트 프로그래밍 동안 이웃 트랜지스터들로부터의 임의의 용량성 결합 효과는 그 서브세트의 각각의 메모리 셀에 대해서 실질적으로 같게 된다. 이것을 도 10의 통상의 기술과 비교하여 보자. 도 10에서, 워드라인(WL0)의 셀이 Vspgm에 있는 하나의 이웃 메모리 셀 및 OV에 있는 하나의 이웃 트랜지스터를 가지면서 소프트 프로그래밍을 받을 때, 각각의 안쪽 메모리 셀은 Vspgm에 있는 그 양쪽의 이웃 메모리 셀들을 갖는다. Vspgm과 0V 간의 차이가 Vuse1(~1.25V)과 0V 간의 차이 보다 크게 됨으로써, 그 셀에 대한 소프트 프로그래밍 속도를 실질적으로 다르게 한다.
컬럼(752)에 도시된 제 2 소프트 프로그래밍 동작 동안, 소프트 프로그래밍 펄스가 인가될 때, 서브세트 B의 각각의 안쪽 메모리 셀의 바로 인접하는 양쪽의 트랜지스터들은 Vuse1의 전위를 갖는다. 서브세트 B의 WLn에 있는 말단 메모리 셀은 VDD(약 2.5V)에 있는 하나의 인접하는 트랜지스터(드레인 선택 게이트) 및 Vuse1에 있는 하나의 인접하는 트랜지스터를 가질 것이다. 또한, Vuse1과 VDD의 차이가 매우 작기 때문에, 워드라인(WLn)에서의 말단 메모리 셀의 소거 속도는 서브세트 B의 안쪽 메모리 셀들과 거의 동일한 속도로 소거를 할 것이다. 서브세트 B의 소프트 프로그래밍 동안 이웃 트랜지스터들로부터의 임의의 용량성 결합 효과는 그 서브세트의 각각의 메모리 셀에 대해서 실질적으로 같을 것이다. 또한, 서브세트 B의 모든 메 모리 셀들과 서브세트 A의 모든 메모리 셀들 간의 소거 속도들이 실질적으로 같게 되는데, 이는 각 서브세트가 겪게 되는 용량성 결합 효과가 실질적으로 같기 때문이다.
소프트 프로그래밍이 금지되는 워드라인들에 대해 이용될 Vuse1의 값을 선택함에 있어서는 다양한 요인들이 영향을 줄 수 있다. 워드라인들의 공통 세트를 공유하는, 소프트 프로그램되는 셀들의 블록의 특정의 NAND 스트링들은, 소프트 프로그래밍 펄스를 하나 또는 그 이상 인가하는 동안 소프트 프로그래밍이 금지될 필요가 있을 수도 있다. 전형적으로, 워드라인들에 소프트 프로그래밍 전압을 인가함과 함께, 금지될 스트링들의 비트라인에 VDD를 인가하게 되면, 금지될 스트링의 채널 영역을 충분한 양 만큼 부스트(boost)시킴으로써, 프로그래밍을 막는다. 개시된 실시예들에서는, Vspgm을 인가받는 워드라인들과 관련되어 있는 금지된 NAND 스트링의 채널 영역이 부스트될 필요가 있다. Vuse1의 값이 셀들의 비선택된 서브세트의 채널 영역들을 컷오프(cutoff)할 수 있을 정도로 충분히 작다면, 소프트 프로그래밍을 막기 위해, Vspgm은 금지될 스트링 내의 셀들의 선택된 서브세트의 채널 영역에 대해 충분한 부스팅을 제공할 것이다. Vuse1이 관련된 셀들을 턴온시키고 전체 채널 영역을 연결할 정도로 충분히 크다면, 워드라인들의 절반에 인가되는 Vspgm은 전체 스트링에 대한 부스팅을 제공할 것이 요구된다. 적절한 부스팅을 보장하기 위해서는, Vuse1 및 Vspgm을 선택함에 있어서 주의를 해야 한다. 부스팅에 대한 보다 많은 정보는 "Programming Inhibit for Non Volatile Memory" 라는 명칭의 미국특허출원(출원번호 10/823,421)에 개시되어 있는 바, 이는 그 전체가 본원의 참조로서 인용된다.
도 25는 도 24의 실시예에 따라 소프트 프로그래밍을 받은 이후의 메모리 셀들의 세트에 대한 임계 전압 분포들을 도시한다. 안쪽 및 말단 워드라인들에 대한 소거 임계 전압 분포들 모두가 상승되어, 소거 검증 레벨에 가깝게 이동하였다. 안쪽 워드라인 분포(740)는 보통 일어나는 것처럼 소거 검증 레벨에 가깝게 시프트업된다. 말단 메모리 셀들의 프로그래밍 속도의 차이가, 분할된 서브세트 프로그래밍 기술을 통해 해결(address)되기 때문에, 말단 메모리 셀들은 도 23에 나타낸 소프트 프로그래밍 이후 더 이상 보다 깊게 소거되지 않는다. 말단 메모리 셀에 대한 임계 전압 분포는 안쪽 메모리 셀들에 대해서와 같이 검증 레벨 가까이로 이동한다.
도 26은 일 실시예에 따른 소프트 프로그래밍 방법의 흐름도이다. 단계(800)에서, 소프트 프로그래밍 전압 신호(Vspgm)가 그 최초값으로 설정되고, 소프트 프로그래밍 카운터(SPC)가 0으로 초기화된다. 단계(802)에서, 소스, 비트 및 소스 선택 게이트 라인들이 접지되며, VDD가 드레인 선택 게이트 라인에 인가된다. 단계(804)에서, 제 2 서브세트의 워드라인들의 소프트 프로그래밍이 금지된다. 단계(806)에서, 제 2 서브세트의 워드라인들의 소프트 프로그래밍이 금지되게 하면서, 제 1 서브세트의 워드라인들에 소프트 프로그래밍 펄스가 인가된다. 단계(808)에서, 제 1 서브세트의 워드라인들의 소프트 프로그래밍이 금지된다. 단계(810)에서, 제 1 서 브세트의 워드라인들은 소프트 프로그래밍이 금지되게 하면서, 제 2 서브세트의 워드라인들에 소프트 프로그래밍 펄스가 인가된다.
선택되지 않은 서브세트에 대한 소프트 프로그래밍은, 이전에 설명한 바와 같이 선택되지 않은 서브세트의 워드라인들에 작은 양(positive)의 전압인 Vuse1을 인가함으로써 금지될 수 있다. 서브세트 A의 메모리 셀들에 소프트 프로그래밍 펄스를 인가하는 동안, 서브세트 B의 메모리 셀들 각각은 동일한 Vuse1 전압으로 바이어스될 것이다. 따라서, 서브세트 A의 각각의 안쪽 메모리 셀은 동일한 값의 바이어스를 갖는 그 양쪽의 이웃 메모리 셀들을 가질 것이다. 서브세트 B의 메모리 셀들에 소프트 프로그래밍 펄스를 인가하는 동안, 서브세트 A의 메모리 셀들 각각은 동일한 전압으로 바이어스될 것이다. 따라서, 서브세트 B의 각각의 안쪽 메모리 셀은 동일한 값의 바이어스를 갖는 그 양쪽의 이웃 메모리 셀들을 가질 것이다. 스트링의 첫 번째 및 마지막 메모리 셀들은 서로 다른 전압들을 갖는 선택 게이트들에 인접하기 때문에, Vuse1의 값은 첫 번째 및 마지막 메모리 셀들이 유사하게 바이어스되는 이웃 라인들을 갖도록 선택된다. 만일 소스 및 드레인 선택 게이트들이 각각 2.5V 및 0V이고, Vuse1에 대해 1.25V의 값이 선택된다면, (드레인 선택 게이트에 이웃하는) 제 1 메모리 셀은 1.25V의 이웃 메모리 셀(WL1) 및 0V의 제 2 이웃 트랜지스터(드레인측 선택 게이트)를 가질 것이다. (소스 선택 게이트에 이웃하는) 마지막 메모리 셀은 1.25V의 제 1 이웃 메모리 셀(WLn-1) 및 2.5V의 제 2 이웃 트랜지스터(소스 선택 게이트)를 가질 것이다. 따라서, 첫 번째 및 마지막 워드라인들이 겪게 되는 용량성 결합 효과는, 서브세트 A 및 서브세트 B의 안쪽 워드라인들이 겪게 되는 것과 거의 같아지게 된다.
단계(812)에서, 소거되고 있는 워드라인들의 세트의 각 워드라인에 대해 검증 동작이 수행된다. 일 실시예에서, 단계(812)에서, 도 24의 컬럼(754)에 도시된 바이어스 조건들이 이용된다. 소스 라인에 VDD를 인가하고 비트라인을 플로팅시키면서, VSG를 인가함으로써, 선택된 게이트들이 턴온된다. 소거 검증 전압 Everify이 각각의 워드라인에 인가되고, NAND 스트링을 통한 도통이 검출된다. 만일 NAND 스트링이 비도통 상태이면, 이는 그 스트링의 적어도 하나의 메모리 셀이 Everify 레벨에 도달했고, 그 스트링이 소프트 프로그램된 것으로서 검증되었음을 나타낸다. 단계(814)에서는, 비도통 스트링들의 수가 소정 수 보다 큰 지를 결정한다. 만일 비도통 스트링들의 수가 이러한 수 보다 크다면, 단계(822)에서, 패스의 상태가 보고된다. 만일 검증된 스트링들의 수가 소정수 보다 작다면, 소프트 프로그래밍 제한값(예를 들어, 20)에 대해 소프트 프로그래밍 카운터(SPC)가 체크된다. 만일 카운터가 이러한 값 보다 작다면, 단계(818)에서, 카운터(SPC)가 1 만큼 증분되고 Vspgm의 값은 증분 값 만큼 스텝업된다. 단계(820)에서는, 단계(812)에서 성공적으로 검증되었던 이러한 NAND 스트링들에 대한 소프트 프로그래밍이 금지된다. 일 실시예에서, NAND 스트링에서의 소프트 프로그래밍은, 그 스트링의 해당하는 비트라인을 VDD로 올림으로써 금지된다. 비트라인 전압을 올림으로써, 다음 소프트 프로그래밍 사이클 동안, 금지되는 NAND 스트링의 채널 영역은 고전압으로 부스트된다. 메모리셀들의 플로팅 게이트들과 금지되는 NAND 스트링의 채널 영역 간의 전압 차이는 매우 작아서, 셀들의 추가의 소프트 프로그래밍을 야기하지 못할 것이다. 이후, 방법은 추가의 소프트 프로그래밍을 위해 단계(802)로 진행한다.
도 24 및 26에서, 소프트 프로그래밍 검증은 스트링 레벨에서 수행된다. 따라서, 검증 이후 소프트 프로그래밍을 그 이상으로 반복하게 되면, 서브세트들의 개별적인 상태에 상관없이, 제 1 서브세트 및 제 2 서브세트 모두의 소프트 프로그래밍 동안, 미검증된 NAND 스트링들에 소프트 프로그래밍 펄스들을 계속해서 인가할 것이다. 도 27은 개별적인 서브세트들을 소프트 프로그램하고 검증하는 데에 이용될 수 있는 바이어스 조건들의 상태를 나타내는 표이다. 컬럼들(830 및 832)은 서브세트 A 및 서브세트 B를 소프트 프로그래밍하기 위한 바이어스 조건들을 각각 나타낸다. 컬럼(830)에서, 서브세트 B가 소프트 프로그래밍을 금지하기 위해 Vuse1를 인가받는 동안, 서브세트 A는 소프트 프로그램된다. 컬럼(832)에서, 서브세트 A가 소프트 프로그래밍을 금지하기 위해 Vuse1를 인가받는 동안, 서브세트 B는 소프트 프로그램된다.
컬럼들(834 및 836)은 NAND 스트링 내의 메모리 셀들의 각각의 서브세트를 개별적으로 검증하기 위한 바이어스 조건들을 나타낸다. 컬럼(834)에서는, 제 2 서브세트의 검증을 금지하면서, 제 1 서브세트를 검증한다. 컬럼(836)에서는, 제 1 서브세트의 검증을 금지하면서, 제 2 서브세트를 검증한다. 제 1 서브세트를 검증하기 위해, 비트라인은 플로팅되고, 선택 게이트 라인들은 VSG로 올라가며, 그리고 소스 라인은 VDD로 올라간다. 제 2 서브세트의 각각의 워드라인에 Vpass를 인가하면서, 제 1 서브세트의 각각의 워드라인에 검증 전압을 인가한다. Vpass는 작은 양(positive) 전압으로서, 이는 완전히 소거되지 않았을지라도, 제 2 서브세트의 트랜지스터들 각각을 턴온시키기에 충분한 전압이다(예를 들어, 1V). 일 실시예에서는, Vpass 및 Vuse1에 대해 동일한 전압 레벨이 이용될 수 있다. 이러한 방식으로, 제 1 서브세트의 메모리 셀들의 상태 만이 테스트된다. 제 1 서브세트로부터의 적어도 하나의 메모리 셀이 검증 레벨에 도달하면, 그 스트링은 비도통이 될 것이며, 제 1 서브세트는 소프트 프로그램된 것으로서 검증된다. 제 2 서브세트를 검증하기 위해, 이러한 제 2 서브세트의 각각의 워드라인에 검증 전압을 인가하면서, 제 1 서브세트의 각각의 워드라인에 Vpass를 인가한다. 제 1 서브세트의 임의의 메모리 셀들이 검증 레벨로 프로그램되었는 지를 테스트하면서, 제 2 서브세트 내의 각각의 메모리 셀의 도통이 보장된다.
도 28은 일 실시예에서의 소프트 프로그래밍 방법을 도시하는 흐름도이다. 도 28은 도 27에 도시된 개별적인 서브세트 검증을 위한 바이어스 조건들을 구현하는 데에 이용될 수 있다. 단계(850)에서, 소프트 프로그래밍 전압 신호(Vspgm)가 그 시작값으로 초기화되고, 소프트 프로그래밍 카운터(SPC)가 제로(0)로 초기화된다. 단계(852)에서, 소스, 비트 및 소스 선택 게이트 라인들이 접지되며, VDD가 드레인 선택 게이트 라인에 인가된다. 단계(854)에서, 제 2 서브세트의 워드라인들의 소프트 프로그래밍이 금지된다. 단계(856)에서, 제 2 서브세트의 워드라인들은 소프트 프로그래밍이 금지되게 하면서, 제 1 서브세트의 워드라인들에 소프트 프로그래밍 펄스가 인가된다. 단계(858)에서, 제 1 서브세트의 워드라인들의 소프트 프로그래밍이 금지된다. 단계(860)에서, 제 1 서브세트의 워드라인들은 소프트 프로그래밍이 금지되게 하면서, 제 2 서브세트의 워드라인들에 소프트 프로그래밍 펄스가 인가된다. 단계(862)에서, 제 2 세트의 워드라인들을 검증 대상으로부터 배제하면서, 제 1 서브세트의 워드라인들을 검증한다. 이러한 메모리 셀들의 도통을 보장하기 위해 제 2 서브세트의 워드라인들에 Vpass를 인가하면서, 제 1 서브세트의 워드라인들에 검증 전압 Everify를 인가할 수 있다. 단계(864)에서, 제 1 세트의 워드라인들을 검증 대상으로부터 배제하면서, 제 2 서브세트의 워드라인들을 검증한다. 제 1 서브세트의 워드라인들에 Vpass를 인가하면서, 제 2 서브세트의 워드라인들에 검증 전압 Everify를 인가할 수 있다.
각각의 NAND 스트링 내의 메모리 셀들의 서브세트들을 개별적으로 검증한 후, 단계(866)에서, 양쪽의 검증 동작들을 통과한 스트링들의 수가 소정수에 대해 체크된다. 만일 검증된 NAND 스트링들의 수가 소정수 보다 크다면, 단계(878)에서, 패스가 보고된다. 만일 검증된 NAND 스트링들의 수가 소정수 보다 작다면, 단계(868)에서, 소프트 프로그래밍 값에 대해 소프트 프로그래밍 카운터가 체크된다. 만일 카운터가 제한값에 도달하면, 단계(880)에서, 소프트 프로그래밍 동작에 대해 실패의 상태가 보고된다. 만일 카운터가 임계치 미만이면, 이는 단계(870)에서 1만큼 증분된다. 또한, 단계(870)에서는, 소프트 프로그래밍 전압의 값이 증분값 만큼 스텝업된다.
단계들(872-876)에서, 개별적인 NAND 스트링들이 소프트 프로그래밍 동작의 다음 반복에 대해 셋업된다. 단계(872)에서는, 메모리 셀들의 제 2 서브세트가 단계(864)에서 성공적으로 검증되었지만, 메모리 셀들의 제 1 서브세트가 단계(862)에서 성공적으로 검증되지 않은 NAND 스트링들이 셋업된다. 이러한 NAND 스트링들은, 다음 반복 동안 단계(860)에서 메모리 셀들의 제 2 서브세트를 소프트 프로그래밍하는 동안, 소프트 프로그래밍이 금지될 것이다. 단계(856)에서 제 1 서브세트의 워드라인들에 소프트 프로그래밍 전압을 인가함으로써, 이러한 NAND 스트링들의 비트라인 전압은 VDD로 올라갈 것이다. 메모리 셀들의 제 1 서브세트가 단계(862)에서 성공적으로 검증되었지만, 메모리 셀들의 제 2 서브세트가 단계(864)에서 성공적으로 검증되지 않은 NAND 스트링들은, 단계(874)에서 다음 소프트 프로그래밍 반복을 위해 셋업된다. 이러한 NAND 스트링들은, 단계(856)에서 메모리 셀들의 제 1 서브세트를 소프트 프로그램하는 동안, 소프트 프로그래밍이 금지될 것이다. 단계(856)에서 소프트 프로그래밍 전압을 인가하기 전에, 이러한 NAND 스트링들의 비트라인 전압은 VDD로 올라갈 것이다. 단계(860)에서 제 2 서브세트의 워드라인에 소프트 프로그래밍 전압을 인가하기 전에, 이러한 NAND 스트링들의 비트라인 전압이 0V로 낮아져, 그 스트링의 소프트 프로그래밍을 가능하게 한다. 마지막으로, 단 계(876)에서, 메모리 셀들의 제 1, 2 서브세트들이 성공적으로 검증된 NAND 스트링들이 셋업된다. 이러한 NAND 스트링들은 단계들(856 및 860)에서의 양 서브세트들의 소프트 프로그래밍 동안, 소프트 프로그래밍이 금지될 것이다. 소프트 프로그래밍 전압이 양쪽에 인가되는 동안, 이러한 NAND 스트링들의 비트라인 전압은 VDD로 올라갈 것이다.
도 29는 NAND 스트링 내의 메모리 셀들의 서브세트들을 개별적으로 소프트 프로그래밍하기 위한 다른 세트의 바이어스 조건들을 도시하는 표이다. 개별적인 서브세트들은, 각 메모리 셀이 소프트 프로그램될 때에, 제 1 바이어스를 갖는 제 1 이웃 트랜지스터 및 제 2 바이어스를 갖는 제 2 이웃 트랜지스터를 갖게 되도록 선택된다. 여기에서 또한, 소프트 프로그래밍 동안 2개의 선택 게이트들이 서로 다른 바이어스 레벨들에 있기 때문에, 이러한 2개의 레벨들 중간의 Vuse1의 값이 이용된다. 말단 메모리 셀들이 안쪽 메모리 셀들과 약간 다른 이웃 트랜지스터 바이어스 조건들을 갖기는 하지만, 선택 게이트 전압들과 Vuse1 간의 작은 차이는 여전히 모든 셀들 간에 실질적으로 유사한 소프트 프로그래밍 속도들을 이끌 것이다.
컬럼(900)은 메모리 셀들의 제 1 서브세트를 소프트 프로그래밍하기 위한 바이어스 조건들을 나타내고, 컬럼(902)은 메모리 셀들의 제 2 서브세트를 소프트 프로그램하기 위한 바이어스 조건들을 나타낸다. 메모리 셀들의 각각의 서브세트는, 서브세트의 다음 쌍 이전에 2개의 끼어있는 메모리 셀들을 갖는 인접하는 메모리 셀들의 쌍들을 포함한다. 도 29의 특정의 실시예에서, 제 1 서브세트는 워드라인 들(WL0, WL1, WL4, WL5 등)의 메모리 셀들을 포함하고, 제 2 서브세트는 워드라인들(WL2, WL3, WL6, WL7 등)의 메모리 셀들을 포함한다.
도 29의 바이어스 조건들을 이용하게 되면, 각 메모리 셀은, 소프트 프로그램될 때에, 제 1 바이어스를 갖는 제 1 이웃 트랜지스터 및 제 2 바이어스를 갖는 제 2 이웃 트랜지스터를 갖는다. 중요하게는, 이웃 트랜지스터들에 대한 바이어스 조건들이 스트링의 각 메모리 셀에 대해 실질적으로 동일하게 됨으로써, 셀들 간에 유사한 소거 속도들을 이끌게 된다. 스트링의 첫 번째 및 마지막 메모리 셀들은 그 스트링의 안쪽 메모리 셀들에 대한 이웃과 약간 다른 바이어스를 갖는 하나의 이웃 트랜지스터를 갖게 될 것이다. 하지만, 이러한 바이어스의 차이는 작기때문에, 이러한 셀들에 대한 소거 속도들에 큰 차이를 주지는 않을 것이다. 소프트 프로그래밍에 대해 선택되면, 각각의 안쪽 메모리 셀은 소프트 프로그래밍 전압 레벨 Vspgm에 있는 제 1 이웃 트랜지스터 및 작은 양의 전압 Vuse1에 있는 제 2 이웃 트랜지스터를 가질 것이다. 예를 들어, 워드라인 WL1에 있는 메모리 셀이 소프트 프로그램될 때(컬럼 900), 워드라인 WL0에 있는 그의 제 1 이웃 메모리 셀은 Vspgm에 있고, 워드라인 WL2에 있는 그의 제 2 이웃 메모리 셀은 Vuse1에 있게 된다. 말단 메모리 셀들이 소프트 프로그래밍에 대해 선택되면, 이들은 소프트 프로그래밍 전압 레벨 Vspgm에 있는 하나의 이웃 트랜지스터 및 OV 또는 VDD에 있는 제 2 이웃 트랜지스터를 가질 것이다. 예를 들어, 워드라인 WL0에 있는 메모리 셀은, 하나의 이웃 트랜지스터, 즉 워드라인(WL1)에 있는 메모리 셀(소프트 프로그래밍 전압 레벨 Vspgm에 있음)과, 그리고 하나의 이웃 트랜지스터, 즉 소스 선택 게이트(0V에 있음)를 갖는다. 워드라인 WLn에 있는 NAND 스트링의 마지막 메모리 셀은, 하나의 이웃 트랜지스터, 즉 워드라인(WLn-1)에 있는 메모리 셀(소프트 프로그래밍 전압 레벨 Vspgm에 있음)과, 그리고 하나의 이웃 트랜지스터, 즉 드레인 선택 게이트(VDD에 있음)를 갖는다.
이웃 트랜지스터들의 순(net) 바이어스 및 관련된 전하 결합은 도 29에 따라 소프트 프로그램되는 각 메모리 셀에 대해 실질적으로 동일하다. 제 1 전위로 바이어스되는 제 1 이웃 트랜지스터와 제 2 전위로 바이어스되는 제 2 이웃 트랜지스터로부터의 총 결합을 결합하게 되면, 스트링의 각 메모리 셀에 대해 거의 동일하게 됨으로써, 실질적으로 유사한 소프트 프로그래밍 속도들을 이끌게 된다.
도 29는 또한 컬럼들(904 및 906)에서 서브세트 레벨 검증을 나타낸다. 제 1 서브세트는 컬럼(904)의 바이어스 조건들을 이용하여 검증된다. 제 2 서브세트의 메모리 셀들의 도통을 보장하면서(이는 이러한 워드라인들에 Vpass를 인가함으로써 이루어짐), 제 1 서브세트의 워드라인들에 소거 검증 전압 레벨이 인가된다. 제 2 서브세트는 컬럼(906)의 바이어스 조건들을 이용하여 검증된다. 제 1 서브세트의 메모리 셀들의 도통을 보장하면서(이는 이러한 워드라인들에 Vpass를 인가함으로써 이루어짐), 제 2 서브세트의 워드라인들에 소거 검증 전압 레벨이 인가된다. 일 실시예에서는, 도 29의 소프트 프로그래밍 바이어스 조건들을 이용하여, 도 24의 컬 럼(754)에 나타낸 스트링 레벨 검증을 이용할 수 있다.
전술한 실시예들은 NAND 플래시 메모리에 관해 제공되었다. 하지만, 본 발명의 원리들은 직렬 구조를 이용하는 다른 타입의 비휘발성 메모리들에도 응용될 수 있으며, 이러한 다른 타입의 비휘발성 메모리들에는 현존하는 메모리들 뿐만 아니라, 현재 개발되고 있는 새로운 기술을 이용하기 위해 기획된 비휘발성 메모리들이 포함된다.
상기 본 발명의 상세한 설명은 예시 및 설명을 위해 제시된 것이다. 이는 본 발명을 속속들이 규명한 것으로서, 또는 본 발명을 개시된 정확한 형태로 제한하는 것으로서 의도되지 않는다. 상기의 교시에 비추어, 많은 수정들 및 변형들이 가능하다. 상기 설명된 실시예들은 본 발명의 원리들 및 그 실제적인 응용들을 가장 잘 설명하기 위해 선택되었고, 이에 의해 당업자들은 다양한 실시예들에서 그리고 고려되는 특정의 용도에 적합한 다양한 수정을 행하여 본 발명을 최대한 활용할 수 있을 것이다. 본 발명의 범위는 첨부된 청구항들에 의해서만 규정된다.

Claims (18)

  1. 비휘발성 메모리를 소프트 프로그래밍하는 방법으로서,
    비휘발성 저장 요소들의 세트의 제 2 서브세트의 소프트 프로그래밍을 금지시키면서, 상기 비휘발성 저장 요소들의 세트의 제 1 서브세트에 소프트 프로그래밍 전압을 인가하는 단계와;
    상기 제 1 서브세트의 소프트 프로그래밍을 금지시키면서, 상기 제 2 서브세트에 상기 소프트 프로그래밍 전압을 인가하는 단계와;
    상기 제 1 서브세트에 상기 소프트 프로그래밍 전압을 인가하고, 상기 제 2 서브세트에 상기 소프트 프로그래밍 전압을 인가한 후에, 상기 비휘발성 저장 요소들의 세트가 소프트 프로그램되었는 지를 검증하는 단계와; 그리고
    만일 상기 비휘발성 저장 요소들의 세트가 소프트 프로그램된 것으로서 검증되지 않으면, 상기 제 1 서브세트에 상기 소프트 프로그래밍 전압을 인가하고 상기 제 2 서브세트에 상기 소프트 프로그래밍 전압을 인가하는 것 중에서 적어도 하나를 반복하는 단계를 포함하며,
    여기서, 상기 비휘발성 저장 요소들의 세트는 제 1 선택 게이트 및 제 2 선택 게이트에 결합되는 비휘발성 저장 요소들의 스트링이고,
    상기 제 2 서브세트의 소프트 프로그래밍을 금지시키는 것은 상기 제 2 서브세트의 비휘발성 저장 요소들에 중간 전압을 인가하는 것을 포함하고,
    상기 제 1 서브세트의 소프트 프로그래밍을 금지시키는 것은 상기 제 1 서브세트의 비휘발성 저장 요소들에 상기 중간 전압을 인가하는 것을 포함하며, 그리고
    상기 중간 전압은 상기 제 1, 2 선택 게이트에 인가되는 전압들 사이의 전압인 것을 특징으로 하는 비휘발성 메모리를 소프트 프로그래밍하는 방법.
  2. 제 1 항에 있어서, 상기 반복 단계는,
    상기 세트가 소프트 프로그램된 것으로서 검증될 때 까지, 상기 제 1 서브세트에 상기 소프트 프로그래밍 전압을 인가하고 상기 제 2 서브세트에 상기 소프트 프로그래밍 전압을 인가하는 것을 반복하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리를 소프트 프로그래밍하는 방법.
  3. 제 2 항에 있어서,
    상기 세트가 소프트 프로그램되었는 지를 검증하는 단계는,
    상기 제 1 서브세트가 소프트 프로그램되었는지와, 그리고 상기 제 2 서브세트가 소프트 프로그램되었는 지를 동시에 검증하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리를 소프트 프로그래밍하는 방법.
  4. 제 1 항에 있어서,
    상기 세트가 소프트 프로그램되었는 지를 검증하는 단계는,
    상기 제 2 서브세트를 검증 대상으로부터 배제하면서, 상기 제 1 서브세트가 소프트 프로그램되었는 지를 검증하는 단계와; 그리고
    상기 제 1 서브세트를 검증 대상으로부터 배제하면서, 상기 제 2 서브세트가 소프트 프로그램되었는 지를 검증하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리를 소프트 프로그래밍하는 방법.
  5. 제 4 항에 있어서,
    상기 제 2 서브세트를 검증 대상으로부터 배제하면서, 상기 제 1 서브세트가 소프트 프로그램되었는 지를 검증하는 단계는, 상기 제 1 서브세트의 각각의 비휘발성 저장 요소에 검증 전압을 인가하는 단계 및 상기 제 2 서브세트의 각각의 비휘발성 저장 요소에 상기 검증 전압 보다 큰 전압을 인가하는 단계를 포함하며; 그리고
    상기 제 1 서브세트를 검증 대상으로부터 배제하면서, 상기 제 2 서브세트가 소프트 프로그램되었는 지를 검증하는 단계는, 상기 제 2 서브세트의 각각의 비휘발성 저장 요소에 상기 검증 전압을 인가하는 단계 및 상기 제 1 서브세트의 각각의 비휘발성 저장 요소에 상기 검증 전압 보다 큰 전압을 인가하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리를 소프트 프로그래밍하는 방법.
  6. 제 4 항에 있어서, 상기 반복 단계는,
    상기 제 2 서브세트가 소프트 프로그램된 것으로서 검증되고, 상기 제 1 서브세트가 소프트 프로그램된 것으로서 검증되지 않으면, 상기 제 1 서브세트에 상기 소프트 프로그램 전압을 인가하는 것을 반복하는 단계와;
    상기 제 1 서브세트가 소프트 프로그램된 것으로서 검증되고, 상기 제 2 서브세트가 소프트 프로그램된 것으로서 검증되지 않으면, 상기 제 2 서브세트에 상기 소프트 프로그램 전압을 인가하는 것을 반복하는 단계와; 그리고
    상기 제 1 서브세트 및 상기 제 2 서브세트가 소프트 프로그램된 것으로서 검증되지 않으면, 상기 제 1 서브세트에 상기 소프트 프로그램 전압을 인가하고 상기 제 2 서브세트에 상기 소프트 프로그래밍 전압을 인가하는 것을 반복하는 단계를 포함하는 것을 특징으로 하는 비휘발성 메모리를 소프트 프로그래밍하는 방법.
  7. 제 1 항에 있어서,
    상기 방법은 상기 제 1 선택 게이트에 제 1 전압을 인가하고 상기 제 2 선택 게이트에 제 2 전압을 인가하는 단계를 더 포함하고,
    여기서, 상기 제 2 전압은 상기 제 1 전압 보다 크고,
    상기 중간 전압은 상기 제 1 전압 보다는 크고, 상기 제 2 전압 보다는 작은 것을 특징으로 하는 비휘발성 메모리를 소프트 프로그래밍하는 방법.
  8. 제 1 항에 있어서,
    상기 제 1 서브세트는 상기 스트링에 대한 상기 제 1 선택 게이트에 인접하는 제 1 비휘발성 저장 요소 및 상기 스트링의 비트라인 방향으로 진행하는 상기 스트링의 하나 걸러 마다의 저장 요소(every other storage element)를 포함하고; 그리고
    상기 제 2 서브세트는 상기 스트링에 대한 상기 제 2 선택 게이트에 인접하는 제 2 비휘발성 저장 요소 및 상기 스트링의 상기 비트라인 방향으로 진행하는 상기 스트링의 하나 걸러 마다의 저장 요소를 포함하며; 상기 제 2 서브세트는 상기 제 1 비휘발성 저장 요소에 인접하는 제 3 비휘발성 저장 요소를 포함하는 것을 특징으로 하는 비휘발성 메모리를 소프트 프로그래밍하는 방법.
  9. 비휘발성 메모리 시스템으로서,
    비휘발성 저장 요소들의 세트와, 여기서 상기 세트는 비휘발성 저장 요소들의 제 1 서브세트 및 비휘발성 저장 요소들의 제 2 서브세트를 포함하며; 그리고
    상기 비휘발성 저장 요소들의 세트와 통신하는 관리 회로를 포함하여 구성되며,
    상기 관리 회로는, 상기 비휘발성 저장 요소들의 제 2 서브세트의 소프트 프로그래밍을 금지시키면서, 상기 비휘발성 저장 요소들의 제 1 서브세트에 소프트 프로그래밍 전압을 인가하고; 상기 비휘발성 저장 요소들의 제 1 서브세트의 소프트 프로그래밍을 금지시키면서, 상기 비휘발성 저장 요소들의 제 2 서브세트에 상기 소프트 프로그래밍 전압을 인가하고; 상기 비휘발성 저장 요소들의 세트가 소프트 프로그램되었는 지를 검증하며; 그리고 만일 상기 세트가 소프트 프로그램된 것으로서 검증되지 않으면, 상기 제 1 서브세트와 상기 제 2 서브세트중 적어도 하나에 상기 소프트 프로그래밍 전압을 인가하는 것을 반복하며,
    여기서, 상기 비휘발성 저장 요소들의 세트는 제 1 선택 게이트 및 제 2 선택 게이트에 결합되는 비휘발성 저장 요소들의 스트링이고,
    상기 제 2 서브세트의 소프트 프로그래밍을 금지시키는 것은 상기 제 2 서브세트의 비휘발성 저장 요소들에 중간 전압을 인가하는 것을 포함하고,
    상기 제 1 서브세트의 소프트 프로그래밍을 금지시키는 것은 상기 제 1 서브세트의 비휘발성 저장 요소들에 상기 중간 전압을 인가하는 것을 포함하며, 그리고 상기 중간 전압은 상기 제 1, 2 선택 게이트에 인가되는 전압들 사이의 전압인 것을 특징으로 하는 비휘발성 메모리 시스템.
  10. 제 9 항에 있어서,
    상기 관리 회로는, 상기 세트가 소프트 프로그램된 것으로서 검증될 때 까지, 상기 제 1 서브세트와 상기 제 2 서브세트중 적어도 하나에 상기 소프트 프로그래밍 전압을 인가하는 것을 반복하는 것을 특징으로 하는 비휘발성 메모리 시스 템.
  11. 제 10 항에 있어서,
    상기 관리 회로는, 상기 비휘발성 저장 요소들의 제 1 서브세트가 소프트 프로그램되었는 지와, 상기 비휘발성 저장 요소들의 제 2 서브세트가 소프트 프로그램되었는 지를 동시에 검증함으로써, 상기 비휘발성 저장 요소들의 세트가 소프트 프로그램되었는 지를 검증하는 것을 특징으로 하는 비휘발성 메모리 시스템.
  12. 제 9 항에 있어서,
    상기 관리 회로는, 상기 비휘발성 저장 요소들의 제 2 서브세트를 검증 대상으로부터 배제하면서 상기 비휘발성 저장 요소들의 제 1 서브세트가 소프트 프로그램되었는 지를 검증하고, 상기 비휘발성 저장 요소들의 제 1 서브세트를 검증 대상으로부터 배제하면서 상기 비휘발성 저장 요소들의 제 2 서브세트가 소프트 프로그램되었는 지를 검증함으로써, 상기 비휘발성 저장 요소들의 세트가 소프트 프로그램되었는 지를 검증하는 것을 특징으로 하는 비휘발성 메모리 시스템.
  13. 제 12 항에 있어서,
    상기 관리 회로는, 상기 제 1 서브세트의 각각의 비휘발성 저장 요소에 검증 전압을 인가하고, 상기 제 2 서브세트의 각각의 비휘발성 저장 요소에 상기 검증 전압 보다 큰 전압을 인가함으로써, 상기 제 1 서브세트가 소프트 프로그램되었는 지를 검증하며; 그리고
    상기 관리 회로는, 상기 제 2 서브세트의 각각의 비휘발성 저장 요소에 상기 검증 전압을 인가하고, 상기 제 1 서브세트의 각각의 비휘발성 저장 요소에 상기 검증 전압 보다 큰 전압을 인가함으로써, 상기 제 2 서브세트가 소프트 프로그램되었는 지를 검증하는 것을 특징으로 하는 비휘발성 메모리 시스템.
  14. 제 12 항에 있어서, 상기 관리 회로는,
    상기 제 2 서브세트가 소프트 프로그램된 것으로서 검증되고, 상기 제 1 서브세트가 소프트 프로그램된 것으로서 검증되지 않으면, 상기 제 1 서브세트에 상기 소프트 프로그램 전압을 인가하는 것을 반복하고,
    상기 제 1 서브세트가 소프트 프로그램된 것으로서 검증되고, 상기 제 2 서브세트가 소프트 프로그램된 것으로서 검증되지 않으면, 상기 제 2 서브세트에 상기 소프트 프로그램 전압을 인가하는 것을 반복하며, 그리고
    상기 제 1 서브세트 및 상기 제 2 서브세트가 소프트 프로그램된 것으로서 검증되지 않으면, 상기 제 1 서브세트에 상기 소프트 프로그램 전압을 인가하고 상기 제 2 서브세트에 상기 소프트 프로그래밍 전압을 인가하는 것을 반복함으로써,
    상기 제 1 서브세트와 상기 제 2 서브세트중 적어도 하나에 상기 소프트 프로그래밍 전압을 인가하는 것을 반복하는 것을 특징으로 하는 비휘발성 메모리 시스템.
  15. 제 9 항에 있어서,
    상기 관리 회로는, 상기 비휘발성 저장 요소들의 상기 제 1 서브세트 및 상기 제 2 서브세트에 상기 소프트 프로그래밍 전압을 인가하면서, 상기 제 1 선택 게이트에 제 1 전압을 인가하고 상기 제 2 선택 게이트에 제 2 전압을 인가하며,
    여기서, 상기 제 2 전압은 상기 제 1 전압 보다 크며, 그리고
    상기 중간 전압은 상기 제 1 전압 보다는 크고 상기 제 2 전압 보다는 작은 것을 특징으로 하는 비휘발성 메모리 시스템.
  16. 제 9 항에 있어서,
    상기 비휘발성 저장 요소들의 제 1 서브세트는 제 1 비휘발성 저장 요소 및 상기 세트의 비트라인 방향으로 진행하는 상기 세트의 하나 걸러 마다의 저장 요소를 포함하고;
    상기 제 2 서브세트는 제 2 비휘발성 저장 요소 및 상기 세트의 비트라인 방향으로 진행하는 상기 세트의 하나 걸러 마다의 저장 요소를 포함하며, 상기 제 2 서브세트는 상기 제 1 비휘발성 저장 요소에 인접하는 제 3 비휘발성 저장 요소를 포함하는 것을 특징으로 하는 비휘발성 메모리 시스템.
  17. 제 9 항에 있어서,
    상기 비휘발성 저장 요소들의 세트는 NAND 스트링인 것을 특징으로 하는 비휘발성 메모리 시스템.
  18. 제 9 항에 있어서,
    상기 비휘발성 저장 요소들의 세트는 다중 상태 플래시 메모리 셀들의 세트인 것을 특징으로 하는 비휘발성 메모리 시스템.
KR1020097008956A 2006-10-13 2007-10-08 비휘발성 메모리에서의 분할된 소프트 프로그래밍 KR101047168B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/549,553 US7499338B2 (en) 2006-10-13 2006-10-13 Partitioned soft programming in non-volatile memory
US11/549,564 2006-10-13
US11/549,553 2006-10-13
US11/549,564 US7535766B2 (en) 2006-10-13 2006-10-13 Systems for partitioned soft programming in non-volatile memory
PCT/US2007/080740 WO2008048810A2 (en) 2006-10-13 2007-10-08 Partitioned soft programming in non-volatile memory

Publications (2)

Publication Number Publication Date
KR20090091691A KR20090091691A (ko) 2009-08-28
KR101047168B1 true KR101047168B1 (ko) 2011-07-07

Family

ID=39206672

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097008956A KR101047168B1 (ko) 2006-10-13 2007-10-08 비휘발성 메모리에서의 분할된 소프트 프로그래밍

Country Status (5)

Country Link
EP (1) EP2080199B1 (ko)
JP (1) JP4990979B2 (ko)
KR (1) KR101047168B1 (ko)
TW (1) TWI356422B (ko)
WO (1) WO2008048810A2 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009230818A (ja) 2008-03-24 2009-10-08 Toshiba Corp 半導体記憶装置
KR101513714B1 (ko) * 2008-07-09 2015-04-21 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
US7983078B2 (en) * 2008-09-24 2011-07-19 Sandisk Technologies Inc. Data retention of last word line of non-volatile memory arrays
KR101734204B1 (ko) * 2010-06-01 2017-05-12 삼성전자주식회사 프로그램 시퀀서를 포함하는 플래시 메모리 장치 및 시스템, 그리고 그것의 프로그램 방법
KR20120133845A (ko) 2011-06-01 2012-12-11 에스케이하이닉스 주식회사 불휘발성 메모리 장치의 동작방법
JP2015053098A (ja) 2013-09-09 2015-03-19 株式会社東芝 不揮発性半導体記憶装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006105133A1 (en) 2005-03-31 2006-10-05 Sandisk Corporation Soft programming non-volatile memory utilizing individual verification and additional soft programming of subsets of memory cells

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4005895B2 (ja) * 2002-09-30 2007-11-14 株式会社東芝 不揮発性半導体メモリ装置
US7073103B2 (en) 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US7170793B2 (en) 2004-04-13 2007-01-30 Sandisk Corporation Programming inhibit for non-volatile memory
US7301817B2 (en) 2005-10-27 2007-11-27 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
US7366022B2 (en) 2005-10-27 2008-04-29 Sandisk Corporation Apparatus for programming of multi-state non-volatile memory using smart verify

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006105133A1 (en) 2005-03-31 2006-10-05 Sandisk Corporation Soft programming non-volatile memory utilizing individual verification and additional soft programming of subsets of memory cells

Also Published As

Publication number Publication date
WO2008048810A2 (en) 2008-04-24
WO2008048810A3 (en) 2008-06-05
KR20090091691A (ko) 2009-08-28
JP4990979B2 (ja) 2012-08-01
EP2080199B1 (en) 2012-11-21
TW200845034A (en) 2008-11-16
EP2080199A2 (en) 2009-07-22
TWI356422B (en) 2012-01-11
JP2010507181A (ja) 2010-03-04

Similar Documents

Publication Publication Date Title
KR100921014B1 (ko) 메모리 셀들의 서브세트들에 대한 개별 검증 및 추가소거를 이용한 비휘발성 메모리의 소거
US8958249B2 (en) Partitioned erase and erase verification in non-volatile memory
US7499338B2 (en) Partitioned soft programming in non-volatile memory
US7535766B2 (en) Systems for partitioned soft programming in non-volatile memory
US7768826B2 (en) Methods for partitioned erase and erase verification in non-volatile memory to compensate for capacitive coupling effects
KR100897415B1 (ko) 비휘발성 메모리의 소거 동작들의 워드 라인 보상
KR100909720B1 (ko) 소거 속도가 느린 메모리 셀들을 보상하도록 워드라인 조건들을 변경함으로써 비휘발성 메모리를 소거하는 방법
US7499317B2 (en) System for partitioned erase and erase verification in a non-volatile memory to compensate for capacitive coupling
KR100892405B1 (ko) 메모리 셀들의 서브세트들에 대한 개별 검증 및 추가소거를 이용한 비휘발성 메모리의 소프트 프로그래밍
KR101062032B1 (ko) 비휘발성 메모리에서의 분할된 소거 및 소거 검증
KR101047576B1 (ko) 비휘발성 메모리의 소프트 프로그래밍에 있어서의 부스팅 제어
KR101047168B1 (ko) 비휘발성 메모리에서의 분할된 소프트 프로그래밍
WO2009006485A1 (en) Erase voltage manipulation in non-volatile memory for controlled shifts in threshold voltage

Legal Events

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

Payment date: 20140603

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150601

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160527

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170601

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 9