KR101595045B1 - 워드 라인 결합을 이용한 메모리의 다중-패스 프로그램 - Google Patents

워드 라인 결합을 이용한 메모리의 다중-패스 프로그램 Download PDF

Info

Publication number
KR101595045B1
KR101595045B1 KR1020117011139A KR20117011139A KR101595045B1 KR 101595045 B1 KR101595045 B1 KR 101595045B1 KR 1020117011139 A KR1020117011139 A KR 1020117011139A KR 20117011139 A KR20117011139 A KR 20117011139A KR 101595045 B1 KR101595045 B1 KR 101595045B1
Authority
KR
South Korea
Prior art keywords
storage element
pass
program
verify
storage elements
Prior art date
Application number
KR1020117011139A
Other languages
English (en)
Other versions
KR20110084256A (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 샌디스크 테크놀로지스, 인코포레이티드
Publication of KR20110084256A publication Critical patent/KR20110084256A/ko
Application granted granted Critical
Publication of KR101595045B1 publication Critical patent/KR101595045B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • 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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • 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/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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
    • 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/564Miscellaneous aspects
    • G11C2211/5648Multilevel memory programming, reading or erasing operations wherein the order or sequence of the operations is relevant

Landscapes

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

Abstract

프로그램-검증 동작들 동안에 워드 라인 대 워드 라인에서의 용량성 결합(capacitive coupling)을 이용하여 다중 패스 프로그램 방식이 최적화된다. 검증되고 있는 선택된 워드 라인의 인접 워드 라인 상에서 서로 다른 패스 전압이 서로 다른 프로그램 패스들에서 이용된다. 특히, 하부 패스 전압이 제2 패스에서가 아니라 제1 패스에서 이용될 수 있다. 프로그램 절차는 워드 라인 룩 어헤드(word line look ahead) 또는 지그재그(zigzag) 시퀀스를 수반할 수 있으며, 이 시퀀스에서는 WLn이 제1 패스에서 프로그램되고, 뒤이어 제1 패스에서 WLn+1, 뒤이어 제2 패스에서 WLn, 뒤이어 제2 패스에서 WLn+1이 프로그램된다. 저장 소자들이 중간 상태로 및/또는 가장 높은 상태로 프로그램되는 제1 패스 전에 초기 프로그램 패스가 수행될 수 있다.

Description

워드 라인 결합을 이용한 메모리의 다중-패스 프로그램{MULTI-PASS PROGRAMMING FOR MEMORY USING WORD LINE COUPLING}
본 발명은 비휘발성 메모리에 관한 것이다.
반도체 메모리 디바이스들은 다양한 전자 장치들에서 더욱 보편적으로 이용되어 왔다. 예를 들면, 비휘발성 반도체 메모리는 휴대폰, 디지털 카메라, PDA(personal digital assistant), 휴대용 컴퓨팅 장치(mobile computing devices), 비-휴대용 컴퓨팅 장치 및 다른 장치들에서 사용된다. EEPROM(Electrically Erasable Programmable Read Only Memory) 및 플래시 메모리(flash memory)가 가장 보편적인 비휘발성 반도체 메모리들에 속한다. EEPROM의 한 종류이기도 한 플래쉬 메모리의 경우에는, 종래의 전체 기능을 갖춘 EEPROM과는 대조적으로, 전체 메모리 어레이의 내용들 또는 메모리의 일부분의 내용들이 한번에 소거될 수 있다.
종래의 EEPROM과 플래시 메모리는 모두 반도체 기판의 채널 영역 위에 위치하며 채널 영역으로부터 절연되는 플로팅 게이트(floating gate)를 이용한다. 플로팅 게이트는 소오스(source)와 드레인(drain) 영역 사이에 위치한다. 컨트롤 게이트(control gate)는 플로팅 게이트 위에 제공되며 플로팅 게이트와 절연된다. 트랜지스터의 임계 전압(threshold voltage, VTH)은 플로팅 게이트 상에 보유된 전하량에 의해 제어된다. 즉, 트랜지스터가 그 소오스와 드레인 사이에서 전도되도록 턴온(turn on)되기 전에 컨트롤 게이트에 인가되어야할 최소량의 전압은 플로팅 게이트 상의 전하 레벨에 의해 제어된다.
일부 EEPROM과 플래쉬 메모리 디바이스들은 두 범위의 전하들을 저장하는데 이용되는 플로팅 게이트를 가지므로, 메모리 소자는 두 상태들, 예컨대 소거된 상태(erased state)와 프로그램된 상태(programmed state) 사이에서 프로그램/소거될 수 있다. 이러한 플래쉬 메모리 장치는 각 메모리 소자가 하나의 데이터 비트를 저장할 수 있기 때문에 가끔 이진 플래쉬 메모리(binary flash memory)라고 지칭된다.
다중-상태(multi-state)(다중-레벨(multi-level)이라고도 함) 플래쉬 메모리 디바이스는 복수의 구별되는 허용되는(allowed)/유효한 프로그램된 임계 전압 범위들을 식별함으로써 구현된다. 각각의 구별되는 임계 전압 범위들은 메모리 장치안에 인코딩되는 데이터 비트들의 세트에 대하여 미리 결정된 값에 대응된다. 예를 들면, 각각의 메모리 소자가 네 개의 구별되는 임계 전압 범위들에 대응되는 네 개의 이산 전하 밴드들(discrete charge bands) 중 하나에 놓여질 때 이 소자는 두 비트의 데이터를 저장할 수 있다.
전형적으로, 프로그램 동작 동안에 컨트롤 게이트(control gate)에 가해지는 프로그램 전압 VPGM은 시간에 따라 크기가 증가하는 일련의 펄스(pulse)들로서 인가된다. 하나의 가능한 접근법에서는, 펄스들의 크기가 각 연속되는 펄스마다 소정의 스텝 크기, 예컨대 0.2-0.4 V 만큼 증가된다. VPGM은 플래쉬 메모리 소자들의 컨트롤 게이트들에 인가될 수 있다. 프로그램 펄스들 사이의 기간들에서는, 검증 동작(verify operation)들이 수행된다. 즉, 병렬적으로 프로그램되고 있는 한 그룹의 소자들의 각 소자가 프로그램되고 있는 검증 레벨과 같거나 큰 지를 판별하기 위해 그 소자에 대한 프로그램 레벨이 연속되는 프로그램 펄스들 사이에서 읽혀진다. 다중-상태 플래쉬 메모리 소자들의 어레이들에 대해, 소자가 그 데이터와 관련된 검증 레벨(data-associated verify level)에 도달했는지를 판별하기 위해 검증 단계가 소자의 각 상태에 대하여 수행될 수 있다. 예를 들면, 네 개의 상태들로 데이터를 저장할 수 있는 다중-상태 메모리 소자는 세 개의 비교점들에 대해 검증 동작들을 수행해야될 수도 있다.
게다가, 낸드 스트링(NAND string)에서 낸드 플래쉬 메모리 디바이스와 같은 플래쉬 메모리 디바이스나 EEPROM을 프로그램할 때, 전형적으로 VPGM이 컨트롤 게이트에 인가되고 비트 라인은 접지되어, 셀이나 메모리 소자, 예컨대 저장 소자의 채널로부터 전자들이 플로팅 게이트로 주입되도록 한다. 전자들이 플로팅 게이트에 축적되면, 플로팅 게이트가 음으로 충전되고 메모리 소자의 임계 전압이 올라가서 메모리 소자는 프로그램된 상태에 있는 것으로 여겨진다.
지속적으로 문제가 되는 한가지 이슈는 프로그램 정확도이다. 높은 정확도로 데이터가 다시 읽혀질 수 있도록 프로그램 절차는 정확해야 한다. 예를 들면, 임계 전압 범위들이 서로 가까이 놓이는 다중-레벨 디바이스들은 오차에 대한 공간을 거의 남기지 않는다. 선택된 저장 소자를 프로그램함에 있어서 부정확성은 많은 변수들에 의해 유발될 수 있으며, 이에는 용량성 결합(capacitive coupling)을 유발하는 다른 선택되지 않은 저장 소자들의 프로그램된 데이터 상태들이 포함된다. 따라서, 프로그램 정확도를 개선하는 기법들이 요구된다.
본 발명은 다중-패스 프로그램 절차 동안에 용량성 결합을 보상해줌으로써 비휘발성 저장 장치에서 프로그램 정확도를 개선하기 위한 방법을 제공하여 위에서의 문제들 및 다른 문제들을 해결한다.
한 실시예에서, 비휘발성 저장 장치를 가동하는 방법은 직렬-연결된 저장 소자들의 세트 내의 특정 저장 소자 상에서 상기 특정 저장 소자의 임계 전압을 제1 검증 레벨로 올리기 위하여 프로그램 및 검증 동작들을 수행하고, 검증 동작들 동안에 상기 세트의 직렬-연결된 저장 소자들 내의 상기 특정 저장 소자의 인접 저장 소자에 제1 패스 전압을 인가하는 것을 포함한다. 본 방법은 또한 후속으로 상기 인접 저장 소자의 임계 전압을 올리기 위하여 상기 인접 저장 소자 상에서 프로그램 및 검증 동작들을 수행하는 것을 포함한다. 본 방법은 또한 상기 특정 저장 소자의 상기 임계 전압을 상기 제1 검증 레벨 위의 제2 검증 레벨로 올리기 위하여 상기 특정 저장 소자 상에서 추가의 프로그램 및 검증 동작들을 수행하고, 상기 추가의 검증 동작들 동안에 상기 인접 저장 소자에 상기 제1 패스 전압과 다른 제2 패스 전압을 인가하는 것을 포함한다.
또 다른 실시예에서, 비휘발성 저장 장치를 가동하는 방법은 직렬-연결된 저장 소자들의 세트 내의 특정 저장 소자를 교대로 프로그램하고 검증하는 것을 포함하여 다중-패스 프로그램 절차의 하나의 패스를 수행하는 것을 포함하며, 상기 검증하는 것은 상기 세트의 직렬-연결된 저장 소자들 내의 상기 특정 저장 소자의 인접 저장 소자에 제1 패스 전압을 인가하는 동안에 상기 특정 저장 소자에 제1 세트의 검증 전압들을 인가하는 것을 포함한다. 본 방법은 또한 상기 특정 저장 소자를 교대로 프로그램하고 검증하는 것을 포함하여 다중-패스 프로그램 절차의 또 다른 패스를 후속으로 수행하는 것을 포함하며, 상기 또 다른 패스의 상기 검증은 상기 인접 저장 소자에 상기 제1 패스 전압과 다른 제2 패스 전압을 인가하는 동안에 상기 특정 소자에 제2 세트의 검증 전압들을 인가하는 것을 포함하되, 상기 제2 세트의 검증 전압들은 제1 세트의 검증 전압들과 적어도 부분적으로 다른 것이다.
또 다른 실시예에서, 비휘발성 저장 장치를 가동하는 방법은 다중-패스 프로그램 절차의 하나의 패스를 수행하는 것을 포함하고, 이는 한 세트의 워드 라인들 내의 특정 워드 라인에 제1 세트의 검증 전압들이 뒤따르는 프로그램 전압을 인가하는 것과, 상기 제1 세트의 검증 전압들을 인가하는 동안에 상기 특정 워드 라인의 인접 워드 라인에 제1 패스 전압을 인가하는 것을 포함하며, 상기 세트의 워드 라인들은 한 세트의 저장 소자들과 통신한다. 본 방법은 또한 상기 다중-패스 프로그램 절차의 또 다른 패스를 후속으로 수행하는 것을 포함하고, 이는 상기 특정 워드 라인에 제2 세트의 검증 전압들이 뒤따르는 상기 프로그램 전압을 인가하는 것과, 상기 제2 세트의 검증 전압들을 인가하는 동안에 상기 인접 워드 라인에 제2 패스 전압을 인가하는 것을 포함하며, 상기 제2 세트의 검증 전압들은 상기 제1 세트의 검증 전압들과 적어도 부분적으로 다른 것이다.
또 다른 실시예에서, 비휘발성 저장 장치는 한 세트의 저장 소자들과 적어도 하나의 제어 회로를 포함한다. 상기 적어도 하나의 제어 회로는 한 세트의 직렬-연결된 저장 소자들 내의 상기 특정 저장 소자 상에서 상기 특정 저장 소자의 임계 전압을 제1 검증 레벨로 올리기 위하여 프로그램 및 검증 동작들을 수행하고, 상기 검증 동작들 동안에 상기 세트의 직렬-연결된 저장 소자들 내의 상기 특정 저장 소자의 인접 저장 소자에 제1 패스 전압을 인가한다. 상기 적어도 하나의 제어 회로는 상기 인접 저장 소자의 임계 전압을 올리기 위하여 상기 인접 저장 소자 상에서 프로그램 및 검증 동작들을 후속으로 수행한다. 상기 적어도 하나의 제어 회로는 상기 특정 저장 소자의 상기 임계 전압을 상기 제1 검증 레벨 위의 제2 검증 레벨로 올리기 위하여 상기 특정 저장 소자 상에서 추가의 프로그램 및 검증 동작들을 후속으로 수행하고, 상기 추가의 검증 동작들 동안에 상기 인접 저장 소자에 상기 제1 패스 전압과 다른 제2 패스 전압을 인가한다.
해당되는 방법들, 시스템들, 및 본 명세서에서 제공되는 방법들을 수행하기 위한 실행가능한 코드를 가지는 컴퓨터나 프로세서에서 판독가능한 저장 장치들도 또한 제공될 수 있다.
도 1a는 낸드 스트링(NAND string)의 평면도(top view)이다.
도 1b는 도 1a의 낸드 스트링에 대한 등가 회로도이다.
도 1c는 낸드 플래쉬 저장 소자들의 어레이에 대한 블록도이다.
도 2는 낸드 스트링의 단면도를 도시한 것이다.
도 3은 한 세트의 저장 소자들 및 관련 워드 라인들에 대한 프로그램 순서를 도시한 것이다.
도 4a는 프로그램하는 동안에 저장 소자들의 컨트롤 게이트들에 인가되는 제1의 예시적인 펄스 트레인(pulse train)을 도시한 것이다.
도 4b는 프로그램하는 동안에 저장 소자들의 컨트롤 게이트들에 인가되는 제2의 예시적인 펄스 트레인을 도시한 것이다.
도 5a는 하부 검증 전압(lower verify voltage)들이 이용되는 제1 프로그램 기법의 제1 부분을 도시한 것이다.
도 5b는 상부 검증 전압(upper verify voltage)들이 이용되는 제1 프로그램 기법의 제2 부분을 도시한 것이다.
도 6a는 중간 검증 전압(intermediate verify voltage)이 이용되는 제2 프로그램 기법의 제1 부분을 도시한 것이다.
도 6b는 하부 검증 전압들이 이용되는 제2 프로그램 기법의 제2 부분을 도시한 것이다.
도 6c는 상부 검증 전압들이 이용되는 제2 프로그램 기법의 제3 부분을 도시한 것이다.
도 6d는 중간 검증 전압과 C 상태에 대해 하부 검증 전압이 이용되는 제3 프로그램 기법의 제1 부분을 도시한 것이다.
도 6e는 A 및 B 상태들에 대해 하부 검증 전압들이 이용되는 제3 프로그램 기법의 제2 부분을 도시한 것이다.
도 6f는 상부 검증 전압들이 이용되는 제2 프로그램 기법의 제3 부분을 도시한 것이다.
도 7a 내지 도 7c는 모든 비트 라인 프로그램 동작(all bit line programming operation) 동안에 한 세트의 저장 소자들을 도시한 것이다.
도 7d 내지 도 7h는 짝수-홀수 프로그램 동작(even-odd programming operation) 동안에 한 세트의 저장 소자들을 도시한 것이다.
도 8a는 프로그램하는 동안에 예시적인 상태에 대한 임계 전압 분포들을 도시한 것이다.
도 8b는 대결합(large coupling) 및 소결합(small coupling) 디바이스들에 대하여, 서로 다른 프로그램 패스들(programming passes) 간에 검증 전압들에 있어서의 최적의 델타(optimum delta)를 보여주는 그래프를 도시한 것이다.
도 8c는 대결합 및 소결합 디바이스들에 대하여, 프로그램하는 동안에 예시적인 상태에 대한 임계 전압 분포들을 도시한 것이다.
도 9a는 WLn 상에서 제1 프로그램 패스 동안에 한 세트의 저장 소자들을 도시한 것이며, 하부 패스 전압이 WLn+1 상에 제공된다.
도 9b는 WLn 상에서 제2 프로그램 패스 동안에 한 세트의 저장 소자들을 도시한 것이며, 상부 패스 전압이 WLn+1 상에 제공된다.
도 9a를 대체가능한 것으로서 도 9c는 WLn 상에서 제1 프로그램 패스 동안에 한 세트의 저장 소자들을 도시한 것이며, 하부 패스 전압이 WLn+1 상에 제공된다.
도 9b를 대체가능한 것으로서 도 9d는 WLn 상에서 제2 프로그램 패스 동안에 한 세트의 저장 소자들을 도시한 것이며, 상부 패스 전압이 WLn+1 상에 제공된다.
도 10a는 비트 라인 방향의 단면도에서 WLn+1에서 WLn으로 프로그램하는 동안에 저장 소자들의 결합(coupling)을 도시한 것이다.
도 10b는 WLn+1 상의 서로 다른 패스 전압들에 의거하여, 프로그램하는 동안에 WLn 상의 예시적인 상태에 대한 유효(effective) 및 실제(actual) 임계 전압 분포들을 도시한 것이다.
도 11은 예시적인 프로그램 절차를 도시한 것이다.
도 12a는 낸드 플래쉬 저장 소자들의 어레이에 대한 블록도이다.
도 12b는 단일의 행/열 디코더들과 읽기/쓰기 회로들을 이용하는 비휘발성 메모리 시스템의 블록도이다.
도 13은 감지 블록의 한 실시예를 도시한 블록도이다.
도 14는 모든 비트 라인 메모리 아키텍처(all bit line memory architecture)에 대한 메모리 어레이 또는 짝수-홀수 메모리 아키텍처(even-odd memory architecture)에 대한 메모리 어레이를 블록들로 구성한 예를 예시한 것이다.
본 발명은 다중-패스 프로그램 절차(multi-pass programming process) 동안에 용량성 결합(capacitive coupling)을 보상해줌으로써 비휘발성 저장에 있어서의 프로그램 정확도(programming accuracy)를 개선하기 위한 방법을 제공한다.
본 발명을 구현하는데 적합한 메모리 시스템의 한 예에서는 낸드 플래쉬 메모리 구조(NAND flash memory structure)가 이용되며, 이 구조는 두 셀렉트 게이트들(select gates) 사이에 복수의 트랜지스터들을 직렬로 연결하는 것을 포함한다. 직렬로 연결된 트랜지스터들과 셀렉트 게이트들을 낸드 스트링(NAND string)이라고 한다. 도 1a는 하나의 낸드 스트링을 도시한 평면도이다. 도 1b는 그 등가 회로이다. 낸드 스트링은 직렬로 그리고 제1 셀렉트 게이트(120)와 제2 셀렉트 게이트(122) 사이에 샌드위치된 네 개의 트랜지스터들(100, 102, 104, 106)을 포함한다. 셀렉트 게이트(120)는 비트 라인(126)으로 낸드 스트링을 연결하는 게이트이다. 셀렉트 게이트(122)는 소오스 라인(128)으로 낸드 스트링을 연결하는 게이트이다. 셀렉트 게이트(120)는 컨트롤 게이트(control gate)(120CG)에 적절한 전압들을 인가함으로써 제어된다. 셀렉트 게이트(122)는 컨트롤 게이트(122CG)에 적절한 전압들을 인가함으로써 제어된다. 트랜지스터들(100, 102, 104, 106) 각각은 컨트롤 게이트와 플로팅 게이트(floating gate)를 가진다. 트랜지스터(100)는 컨트롤 게이트(100CG)와 플로팅 게이트(100FG)를 가진다. 트랜지스터(102)는 컨트롤 게이트(102CG)와 플로팅 게이트(102FG)를 포함한다. 트랜지스터(104)는 컨트롤 게이트(104CG)와 플로팅 게이트(104FG)를 포함한다. 트랜지스터(106)는 컨트롤 게이트(106CG)와 플로팅 게이트(106FG)를 포함한다. 컨트롤 게이트(100CG)는 워드 라인(WL3, 여기서 WL은 워드 라인을 의미함)에 연결되고(또는 워드 라인이고), 컨트롤 게이트(102CG)는 WL2에 연결되고, 컨트롤 게이트(104CG)는 WL1에 연결되며, 컨트롤 게이트(106CG)는 WL0에 연결된다. 한 실시예에서는, 트랜지스터들(100, 102, 104, 106)은, 메모리 셀들이라고 또한 지칭되는, 각각의 저장 소자들이다. 다른 실시예들에서는, 저장 소자들이 복수의 트랜지스터들을 포함할 수 있고 또는 도시된 것과는 다를 수도 있다. 셀렉트 게이트(120)는 셀렉트 라인(SGD)에 연결된다. 셀렉트 게이트(122)는 셀렉트 라인(SGS)에 연결된다.
도 1c는 세 개의 낸드 스트링들을 도시한 회로도이다. 낸드 구조를 이용하는 플래쉬 메모리 시스템에 대한 전형적인 구조는 수 개의 낸드 스트링들을 포함한다. 예를 들면, 세 개의 낸드 스트링들(320, 340, 360)이 훨씬 많은 낸드 스트링들을 가지는 메모리 어레이에서 도시되어 있다. 낸드 스트링들 각각은 두 개의 셀렉트 게이트들과 네 개의 저장 소자들을 포함한다. 간결함을 위해 네 개의 저장 소자들이 예시되어 있지만, 최신 낸드 스트링들은, 예를 들어 32개 또는 64개의 저장 소자들까지도 가질 수 있다.
예를 들면, 낸드 스트링(320)은 셀렉트 게이트들(322, 327)과 저장 소자들(323-326)을 포함하고, 낸드 스트링(340)은 셀렉트 게이트들(342, 347)과 저장 소자들(343-346)을 포함하며, 낸드 스트링(360)은 셀렉트 게이트들(362, 367)과 저장 소자들(363-366)을 포함한다. 각각의 낸드 스트링은 그 셀렉트 게이트들(예컨대, 327, 347, 367)에 의해 소오스 라인에 연결된다. 셀렉션 라인(SGS)은 소오스 측 셀렉트 게이트들을 제어하는데 이용된다. 여러 낸드 스트링들(320, 340, 360)은 셀렉트 게이트들(322, 342, 362)의 셀렉트 트랜지스터들 등에 의해 각각의 비트 라인들(321,341,361)에 연결된다. 이들 셀렉트 트랜지스터들은 드레인 셀렉트 라인(SGD)에 의해 제어된다. 다른 실시예들에서는, 셀렉트 라인들이 낸드 스트링들 간에 반드시 공통일 필요는 없는데, 즉 서로 다른 셀렉트 라인들이 서로 다른 낸드 스트링들에 대해 제공될 수 있다. WL3는 저장 소자들(323, 343, 363)에 대한 컨트롤 게이트들에 연결된다. WL2는 저장 소자들(324, 344, 364)에 대한 컨트롤 게이트들에 연결된다. WL1은 저장 소자들(325, 345, 365)에 연결된다. WL0는 저장 소자들(326, 346, 366)에 연결된다. 이해될 수 있는 바와 같이, 각각의 비트 라인과 각각의 낸드 스트링은 어레이 또는 저장 소자들 세트의 열들을 구성한다. 워드 라인들(WL3, WL2, WL1, WL0)은 어레이 또는 세트의 행들을 구성한다. 각각의 워드 라인은 행에서 각 저장 소자의 컨트롤 게이트들에 연결된다. 즉, 컨트롤 게이트들은 워드 라인들 자체에 의해 제공될 수 있다. 예를 들면, WL2는 저장 소자들(324, 344, 364)에 대해 컨트롤 게이트들을 제공한다. 실제로는 한 워드 라인 상에 수천 개의 저장 소자들이 존재할 수 있다.
각 저장 소자는 데이터를 저장할 수 있다. 예를 들면, 한 비트의 디지털 데이터를 저장할 때, 저장 소자의 가능한 임계 전압들(VTH)의 범위는 논리적 데이터 "1" 및 "0"이 할당되는 두 개의 범위들로 나뉜다. 낸드형 플래쉬 메모리(NAND type flash memory)의 한 예에서는, 소자가 소거된 후에 VTH는 음(negative)이고, 논리값 "1"로 정의된다. 프로그램 동작 후의 VTH는 양(positive)이고 논리값 "0"으로 정의된다. VTH가 음이고 읽기(read)가 시도될 때, 그 메모리 소자는 논리값 "1"이 저장되어 있음을 표시하도록 턴온(turn on)될 것이다. VTH가 양이고 읽기 동작이 시도되면, 그 메모리 소자는 턴온되지 않으며, 이는 논리값 "0"이 저장되어 있음을 표시한다. 저장 소자는 또한 다중 레벨의 정보, 예컨대 복수의 비트들의 디지털 데이터를 저장할 수 있다. 이 경우에, VTH의 범위는 데이터 레벨들의 개수로 나뉜다. 예를 들면, 네 개 레벨의 정보가 저장된다면, 데이터 값들 "11", "10", "01", "00"에 할당되는 네 개의 VTH 범위들이 존재할 것이다. 낸드형 메모리의 한 예에서는, 소거 동작 후의 VTH는 음이고 "11"로 정의된다. 양의 VTH 값들은 상태들 "10", "01", "00"에 대해 이용된다. 저장 소자에 프로그램되는 데이터와 저장 소자의 VTH 범위들 간의 특정 관계는 저장 소자들에 대해 채택되는 데이터 인코딩 방식(data encoding scheme)에 따라 결정된다.
플래쉬 저장 소자를 프로그램할 때, 프로그램 전압은 그 저장 소자의 컨트롤 게이트에 인가되고, 그 저장 소자와 관련된 비트 라인은 접지된다. 채널로부터 전자들이 플로팅 게이트로 주입된다. 전자들이 플로팅 게이트에 축적되면, 플로팅 게이트는 음으로 충전되고 그 소자의 VTH는 올라간다. 프로그램되고 있는 저장 소자의 컨트롤 게이트에 프로그램 전압을 인가하기 위해, 프로그램 전압이 적절한 워드 라인에 인가된다. 앞서 논의된 것처럼, 각각의 낸드 스트링들에 있는 하나의 저장 소자는 동일한 워드 라인을 공유한다. 예를 들면, 도 1c의 저장 소자(324)를 프로그램할 때, 프로그램 전압은 또한 저장 소자들(344, 364)의 컨트롤 게이트들에도 인가될 것이다.
도 2는 한 낸드 스트링의 단면도를 도시한 것이다. 이 도면은 간략화된 것이고 스케일(scale)이 맞지 않다. 낸드 스트링(200)은 기판(290) 위에 형성된 소오스-측 셀렉트 게이트(206), 드레인-측 셀렉트 게이트(224) 및 8개의 저장 소자들(208, 210, 212, 214, 216, 218, 220, 222)을 포함한다. 컴포넌트(component)들은 p-웰 영역(292) 상에 형성될 수 있으며, p-웰 영역 자체는 기판의 n-웰 영역(294) 내에 형성된다. n-웰은 차례로 p-기판(296) 내에 형성될 수 있다. 배선들(supply lines)(202, 203)은 각각 p-웰 영역(292) 및 n-웰 영역(294)과 통신할 수 있다. VBL의 전위를 갖는 비트 라인(226) 이외에도 VSOURCE의 전위를 갖는 소오스 배선(204)이 제공된다. VSGS는 셀렉트 게이트(206)에 인가되고 VSGD는 셀렉트 게이트(224)에 인가된다. 워드 라인이나 비휘발성 저장 소자의 소오스 측은 낸드 스트링의 소오스 끝, 예컨대 소오스 배선(204)을 향하는 측면을 말하는 반면, 워드 라인이나 비휘발성 저장 소자의 드레인 측은 낸드 스트링의 드레인 끝, 예컨대 비트 라인(226)을 향하는 측면을 말한다. 한 접근법에서는, WL0에서 시작하여, 워드 라인마다 따로 프로그램이 진행된다.
처음에 언급된 것처럼, 메모리 디바이스에서 저장 소자에 데이터를 정확히 프로그램할 수 있는 것이 중요하다. 일반적으로, 낸드 디바이스들과 같은 비휘발성 메모리 장치들이 더 작은 크기들로 줄어들게 되면서, 인접한 저장 소자들 사이의 간격도 역시 줄어들고 있다. 이는 더 큰 용량성 결합을 초래하고, 이는 이웃 저장 소자들로부터의 더 큰 간섭을 의미한다. 용량성 결합에는 비트 라인-대-비트 라인 결합과 워드 라인-대-워드 라인 결합이 포함된다. 전형적인 모든 비트 라인 프로그램 방식(all bit line program scheme)에서는, 주어진 워드 라인 WLn 상의 모든 저장 소자들이 각각의 상태들로 프로그램되고 뒤따라서 그 다음 워드 라인 WLn+1 상에서 프로그램된다. 이러한 프로그램 방식에서는, 비트 라인 이웃들(bit line neighbors), 워드 라인 이웃들(word line neighbors) 및 대각선 이웃들(diagonal neighbors)인 저장 소자들로부터의 간섭(interference)으로 인해 WLn 저장 소자들에 대한 VTH 분포들이 확대된다. 이 영향들 중에서, 워드 라인 인접한(word line adjacent) 저장 소자들로 인한 간섭 효과가 VTH 확대에 가장 크게 기여할 수 있다. 비트 라인 인접한(bit line adjacent) 저장 소자들로 인한 간섭 효과는 모든 비트 라인 프로그램 방식들을 이용하여 감소될 수 있다.
게다가, 전형적인 짝수-홀수 비트 라인 프로그램 방식(even-odd bit line programming scheme)에서는, 주어진 워드 라인 WLn 상의 짝수 저장 소자들이 각각의 상태들로 프로그램되고 뒤따라서 WLn 상의 홀수 저장 소자들이 프로그램된다. 다음으로, WLn+1 상의 짝수 저장 소자들이 프로그램되고 뒤따라서 WLn+1 상의 홀수 저장 소자들이 프로그램되며, 기타 이와 같다. 또한, 도 4b와 관련하여 논의되는 것처럼, 홀수 및 짝수 저장 소자들은 함께 프로그램될 수 있지만 별도로 검증된다. 짝수-홀수 비트 라인 프로그램에서는, WLn 저장 소자들에 대한 VTH 분포들이 적어도 워드 라인 이웃들인 저장 소자들로부터의 간섭으로 인해 유사하게 확대될 수 있다.
VTH 분포를 더 좁게 만들기 위해, 간섭 효과가 보상되어야 한다. 일부 가능한 접근법들은 다중-패스 프로그램(multi-pass program)을 이용하는 것이며, 여기서는 하나의 패스에서 저장 소자들이 최종 의도된 상태들 아래의 옵셋 레벨(offset level)로 프로그램되고 후속으로 다른 패스에서 최종 의도된 상태들에 이르기까지의 여분이 프로그램된다. 부분적으로 프로그램된 상태는 초기 상태 또는 "안개(foggy)" 상태로 생각될 수 있고 최종적으로 프로그램된 상태는 "맑은(fine)" 상태 또는 최종 상태로 생각될 수 있다. 하나의 예시적인 다중-패스 프로그램 기법은 다음에 논의된다.
도 3은 한 세트의 저장 소자들 및 관련 워드 라인들에 대한 프로그램 순서를 도시한 것이다. 여기서, 각각 정사각형으로 표현된 한 세트의 저장 소자들은 한 세트의 워드 라인들(WLn-1 내지 WLn+4)과 한 세트의 비트 라인들(BLi-1 내지 BLi+1)과 통신한다. 도시된 컴포넌트들은 훨씬 더 큰 세트의 저장 소자들, 워드 라인들 및 비트 라인들의 서브세트(subset)일 수 있다. 동그라미 숫자들은 왼쪽 열에서는 제1 프로그램 패스를 그리고 오른쪽 열에서는 제2 프로그램 패스를 포함하여 프로그램 순서를 도시한 것이다. 유의할 점은 제1 및 제2 패스는 주어진 워드 라인에 관한 순서를 의미한다는 것이다. 제1 프로그램 패스가 WLn-1과 관련된 선택된 저장 소자들에 대해 수행되고(동그라미 "1") 그런 다음 WLn과 관련된 선택된 저장 소자들에 대해 수행된다(동그라미 "2"). 그런 다음 제2 프로그램 패스가 WLn-1에 대해 수행된다(동그라미 "3"). 그런 다음 제1 프로그램 패스가 WLn+1에 대해 수행된다(동그라미 "4"). 그런 다음 제2 프로그램 패스가 WLn에 대해 수행된다(동그라미 "5"). 따라서 제1 및 제2 패스들 모두를 이용하여 마지막 워드 라인의 저장 소자들이 프로그램될 때까지 절차가 진행된다. 이 프로그램 순서는 워드 라인 룩 어헤드(word line look ahead) 또는 지그재그(zigzag) 시퀀스라고 지칭될 수 있다.
선택 사항으로서, 도 6a 내지 도 6c와 관련하여 논의되는 바와 같이 도시된 제1 및 제2 프로그램 패스들 전에 추가적인, 초기 프로그램 패스가 수행될 수 있다.
언급된 것처럼, 저장 소자들이 짝수 또는 홀수 비트 라인과 관련되는지에 관계없이 한 워드 라인 상의 모든 비트 라인들의 저장 소자들이 프로그램되는 모든 비트 라인 프로그램이 이용될 수 있다. 하지만, 짝수 비트 라인들이 프로그램되고, 프로그램 및 검증 동작들을 거치고, 뒤따라서 홀수 비트 라인들이 프로그램되고, 프로그램 및 검증 동작들을 거치는 접근법을 포함하여, 다른 접근법들이 가능하다. 또 다른 접근법에서는, 프로그램 펄스를 받아서, 짝수 및 홀수 비트 라인들이 함께 모두 프로그램되고, 그 후에 짝수 비트 라인들이 검증되고, 그 후에 홀수 비트 라인이 검증된다. 다음의 프로그램 펄스가 후속적으로 인가되며 절차는 이에 따라 진행된다.
도 4a는 프로그램하는 동안에 저장 소자들의 컨트롤 게이트들에 인가되는 제1의 예시적인 펄스 트레인(pulse train)(400)을 도시한 것이다. 펄스 트레인은 진폭이 계단식으로 증가하는 프로그램 펄스들(402, 404, 406, 408, 410...)을 포함하고, 아래에서 더 논의되는 VVA - PW1, VVB - PW1, VVC - PW1, 또는 VVA - PW2, VVB - PW2, VVC - PW2와 같은 예시적인 검증 펄스들(403)을 포함하여 각 프로그램 펄스 사이에 한 세트의 검증 펄스들을 포함한다. 펄스 진폭들은 VPGM1, VPGM2 등이다. 예를 들면, 펄스들은 진폭에 있어서 고정될 수 있고, 또는 고정된 비율 또는 가변 비율로 계단식으로 증가할 수 있다. 전형적으로, m개의 데이터 상태들이 이용될 때 m-1개의 검증 펄스들이 이용된다. 한 접근법에서는, 각 프로그램 패스에 대해 동일한 펄스 트레인이 이용된다. 하지만, 서로 다른 프로그램 패스들에서 서로 다른 펄스 트레인을 이용하는 것도 또한 가능하다. 예를 들면, 제2 프로그램 패스는 제1 패스보다 더 높은 초기 VPGM에서 시작하는 펄스 트레인을 이용할 수도 있다.
한 실시예에서는, 프로그램 펄스들이 전압 VPGM1을 가지며, VPGM1은 12 V에서 시작하여 예컨대 20-25 V의 최대치에 도달할 때까지 각 연속되는 프로그램 펄스에 대해 예컨대 0.5 V 증분들만큼 증가한다. 일부 실시예들에서는, 데이터가 프로그램되고 있는 각 상태(예컨대, 상태 A, B, C)에 대해 검증 펄스가 존재할 수 있다. 다른 실시예들에서는, 더 많거나 더 적은 검증 펄스들이 존재할 수 있다.
펄스 트레인(400)은 예를 들어 모든 비트 라인 프로그램하는 동안에 또는 짝수-홀수 프로그램하는 동안에 이용될 수 있다. 한 유형의 짝수-홀수 프로그램하는 동안에, 짝수 비트 라인들의 저장 소자들이 펄스 트레인(400)의 반복적 인가를 이용하여 프로그램되며 검증되고, 뒤따라서 홀수 비트 라인들의 저장 소자들이 펄스 트레인(400)의 반복적 인가를 이용하여 프로그램되며 검증된다.
도 4b에 도시된 또 다른 유형의 짝수-홀수 프로그램에 있어서는, 짝수 및 홀수 비트 라인들의 저장 소자들이 함께 프로그램되지만, 검증은 별도로 수행된다. 예를 들면, 펄스 트레인(460)은 진폭이 계단식으로 증가하는 프로그램 펄스들(442, 444, 446, 448, 450...)을 포함하고, 예시적인 세트들(443, 445)을 포함하여 각 프로그램 펄스 사이의 두 세트의 검증 펄스들을 포함한다. 예를 들면, 하나의 가능한 접근법에서는, 프로그램 펄스들(442, 444) 사이에, 검증 펄스들의 세트(443)가 짝수 비트 라인들의 저장 소자들을 검증하는데 이용될 수 있고, 검증 펄스들의 세트(445)가 홀수 비트 라인들의 저장 소자들을 검증하는데 이용될 수도 있다.
도 5a는 하부 검증 전압들이 이용되는 제1 프로그램 기법의 제1 부분을 도시한 것이며, 이 프로그램 기법은 풀 시퀀스 프로그램(full sequence program)으로 일컬어진다. 한 예로서, 소거된 상태(E)와 세 개의 상부 상태들(A, B, C)을 포함하여, 네 개의 데이터 상태들이 존재한다. 2개, 4개, 8개, 16개 또는 그 이상을 포함하여, 임의의 개수의 상태들이 이용될 수 있다. 저장 소자들은 초기에 E 상태에 있다. 제1 프로그램 패스는 상태들 A, B, C에 대해 각각 제1의 하부 세트의 검증 전압들(VVA-PW1, VVB-PW1, VVC-PW1)을 이용한다. PW1은 복수의 "패스 쓰기(pass write)"(PW) 프로그램 절차의 제1 패스를 의미한다. 제1 프로그램 패스 후에, 예를 들면, 주어진 워드 라인 및 관련 저장 소자들은 점선들로 표현되는 VTH 분포들을 가진다. 특히, 저장 소자들이 각 상태에 대한 최종 레벨보다 옵셋만큼 낮은 레벨로 프로그램된다.
도 5b는 상부 검증 전압들이 이용되는 제1 프로그램 기법의 제2 부분을 도시한 것이다. 도 5a의 제1 패스를 뒤따르는 제2 프로그램 패스는 상태들 A, B, C에 대해 각각 제2의 상부 세트의 검증 전압들(VVA - PW2, VVB - PW2, VVC - PW2)을 이용한다. PW2는 복수의 "패스 쓰기(pass write)"(PW) 프로그램 절차의 제2 패스를 의미한다. 제2 프로그램 패스 후에, 저장 소자들은 실선들로 표현되는 VTH 분포들을 가진다. 특히, 저장 소자들이 최종 의도된 상태들로 프로그램되었다. 따라서, 제2 세트의 검증 전압들 중 각 n번째 검증 전압은 제1 세트의 검증 전압들 중 각 n번째 검증 전압보다 높다.
도 6a는 중간(intermediate, INT) 검증 전압이 이용되는 제2 프로그램 기법의 제1 부분을 도시한 것이다. 여기서, 프로그램 절차는 세 단계에 걸쳐 일어난다. 초기 단계는 최종 상태 B 또는 C로 프로그램되도록 의도되는 저장 소자들에 대해 VINT를 이용하여 프로그램하는 것을 포함한다. 최종 상태 A로 프로그램되도록 의도되는 저장 소자들은 소거된 상태에 남아있다. 이 초기 단계는 하부 페이지의 데이터를 프로그램하는 것을 포함할 수 있다.
도 6b는 하부 검증 전압들이 이용되는 제2 프로그램 기법의 제2 부분을 도시한 것이다. 도 6a의 초기 단계 후에, 제1 "패스 쓰기" 프로그램 패스는 상태들 A, B, C에 대해 각각 제1의 하부 세트의 검증 전압들(VVA - PW1, VVB - PW1, VVC - PW1)을 이용한다. 최종 상태 A로 프로그램되도록 의도되는 저장 소자들은 상태 E로부터 시작하여 프로그램되고, 최종 상태 B 또는 C로 프로그램되도록 의도되는 저장 소자들은 상태 INT로부터 시작하여 프로그램된다. 도 5a에서처럼, 저장 소자들은 최종 상태보다 옵셋만큼 낮은 레벨로 프로그램된다. 이 프로그램 단계는 상부 페이지의 데이터를 프로그램하는 제1 패스일 수 있다.
도 6c는 상부 검증 전압들이 이용되는 제2 프로그램 기법의 제3 부분을 도시한 것이다. 도 6b의 제1 "패스 쓰기" 프로그램 패스 후에, 제2 "패스 쓰기" 프로그램 패스는 상태들 A, B, C에 대해 각각 제2의 상부 세트의 검증 전압들(VVA - PW2, VVB -PW2, VVC - PW2)을 이용한다. 실선들로 표현된 최종 상태 A, B, C로 프로그램되도록 의도되는 저장 소자들은 점선들로 표현된 각각의 하부 옵셋 상태들로부터 시작하여 프로그램된다. 상태들 A, B, C에 대한 각각의 예시적인 컨트롤 게이트 읽기 전압들(VCGR -A, VCGR -B, VGCR -C)도 또한 참고를 위해 도시되어 있다. 이 프로그램 단계는 상부 페이지의 데이터를 프로그램하는 제2 패스일 수 있다. 예시적인 다중-패스 프로그램 기법에 대한 더 상세한 내용은 다음에 논의된다.
한 예시적인 구현예에서는, 비휘발성 저장 소자들이 저장 소자마다 두 비트의 데이터를 저장하여, 네 개의 데이터 상태들을 이용한다. 예를 들면, 상태 E는 소거된 상태이고 상태들 A, B, C는 프로그램된 상태라고 가정하자. 상태 E는 데이터 11을 저장한다. 상태 A는 데이터 01을 저장한다. 상태 B는 데이터 10을 저장한다. 상태 C는 데이터 00을 저장한다. 이는 인접 상태들 A와 B 사이에서 비트들이 모두 바뀌기 때문에 그레이 코딩(Gray coding)이 아닌 예이다. 물리적 상태들에 대하여 다른 데이터 인코딩들도 역시 이용될 수 있다. 각 저장 소자는 두 페이지들의 데이터를 저장한다. 참고를 위해, 이들 페이지의 데이터는 상부 페이지(upper page)와 하부 페이지(lower page)로 불릴 것이지만, 다른 라벨들(labels)이 주어질 수 있다. 상태 A에 대하여, 상부 페이지는 비트 0을 저장하고 하부 페이지는 비트 1을 저장한다. 상태 B에 대하여, 상부 페이지는 비트 1을 저장하고 하부 페이지는 비트 0을 저장한다. 상태 C에 대하여, 양 페이지들은 모두 비트 데이터 0을 저장한다.
초기 프로그램 패스에서는, 하부 페이지가 프로그램된다. 하부 페이지가 데이터 1로 남아있다면, 저장 소자는 상태 E에 남아있다. 데이터가 0으로 프로그램된다면, 저장 소자의 임계 전압이 올라가고 따라서 저장 소자는 상태 INT로 프로그램된다. 한 실시예에서는, 저장 소자가 상태 E로부터 상태 INT로 프로그램된 후에, 낸드 스트링의 그 이웃 저장 소자(WLn+1)가 그 하부 페이지에 대하여 프로그램될 것이다. 예를 들면, 도 1b를 다시 보면, 저장 소자(106)의 하부 페이지가 프로그램된 후, 저장 소자(104)의 하부 페이지가 프로그램된다. 저장 소자(104)를 프로그램한 후, 저장 소자(104)의 VTH가 상태 E로부터 상태 INT로 올랐다면 플로팅 게이트 대 플로팅 게이트 결합 효과(coupling effect)로 인해 저장 소자(106)의 겉보기(apparent) VTH가 오를 것이다. 이는 상태 INT에 대한 VTH 분포를 확대하는 효과를 가질 것이다. 이 VTH 분포의 겉보기 확대는 상부 페이지를 프로그램할 때 대개는 치유될 것이다.
저장 소자가 상태 E에 있고 상부 페이지가 1로 남아있다면, 저장 소자는 상태 E에 남아있을 것이다. 저장 소자가 상태 E에 있고 그 상부 페이지 데이터가 0으로 프로그램될 것이라면, 저장 소자는 상태 A에 있도록 저장 소자의 VTH가 오를 것이다. 저장 소자가 임계 전압 분포 INT에 있었고 상부 페이지 데이터가 1에 남아있는 것이라면, 저장 소자는 최종 상태 B로 프로그램될 것이다. 저장 소자가 임계 전압 분포 INT에 있고 상부 페이지 데이터가 데이터 0으로 될 것이라면, 저장 소자가 상태 C에 있도록 저장 소자의 VTH가 오를 것이다. 대체가능한 상태 코딩의 예는 상부 페이지 데이터가 1일 때 분포 INT로부터 상태 C로 옮기고, 상부 페이지 데이터가 0일 때 상태 B로 옮기는 것이다.
도 6a 내지 도 6c가 네 개의 데이터 상태들과 두 개의 페이지들의 데이터에 관한 예를 제공하지만, 교시된 개념들은 임의의 개수의 상태들과 페이지들을 가진 다른 구현예들에 적용될 수 있다.
추가의 프로그램 선택사항은 다음에 논의된다. 도 6d는 상태 C에 대해 중간 검증 전압과 하부 검증 전압이 이용되는 제3 프로그램 기법의 제1 부분을 도시한 것이고, 도 6e는 A 및 B 상태들에 대해 하부 검증 전압들이 이용되는 제3 프로그램 기법의 제2 부분을 도시한 것이고, 도 6f는 상부 검증 전압들이 이용되는 제2 프로그램 기법의 제3 부분을 도시한 것이다. 이 선택사항은 또한 디스터브들(disturbs)과 이웃-셀 간섭 효과들의 충격들을 감소시킬 수 있다. 이는 주로 비트 라인-대-비트 라인 간섭 및 프로그램 디스터브를 감소시킨다. 이러한 프로그램 기법의 한 예는 "C-퍼스트(C-first)"인데, 여기서 상태 C는 네 개의 데이터 상태, 다중-레벨 구현예에서 최상부의 상태를 나타낸다. 이 기법은 8개, 16개, 또는 다른 개수의 상태들로 확장될 수 있다. 이러한 기법들은 하부 상태 셀들을 그 의도된 상태들로 프로그램하기 전에 모든 최상부 상태 셀들을 그 의도된 상태로 프로그램하는 것을 수반한다. 전형적으로, 둘 이상의 패스들이 수행되는데, 여기서 프로그램 펄스들의 순서는 각 프로그램 패스에서 반복된다. 예를 들면, 계단식으로 증가하는 프로그램 펄스들의 시퀀스가 각 패스에서 인가될 수 있다.
초기 프로그램 패스(도 6d)에서는, B 상태 저장 소자들이 검증 레벨로서 VVINT를 이용하여 프로그램되고, C 상태 저장 소자들이 검증 레벨로서 VVC - PW1을 이용하여 프로그램된다. 따라서 B 및 C 상태 저장 소자들은 분포 INT에 도달하고, 이 때에 B 상태 저장 소자들은 추가로 프로그램되지 않도록 락아웃(lock out)되고 C 상태 저장 소자들은 계속 상부로 프로그램된다. 도 6e의 다음 프로그램 패스에서는, A 및 B 상태 저장 소자들이 하부 검증 레벨들 VVA - PW1과 VVB - PW1을 이용하여 각각 프로그램된다. 한 가능한 접근법에서는, 이번에는 C 상태 저장 소자들이 프로그램되지 않도록 락아웃된다. 도 6f의 다음 프로그램 패스에서는, A, B, C 상태 저장 소자들이 상부 검증 레벨들(VVA-PW2, VVB-PW2, VVC-PW2)를 이용하여 각각 프로그램된다.
모든 비트 라인 동작에 대한 프로그램의 한 예시적인 시퀀스는 도 7a 내지 도 7c로부터 진행된다. 도시된 컴포넌트들은 훨씬 더 큰 저장 소자들, 워드 라인들 및 비트 라인들의 서브세트일 수 있다. 모든 비트 라인 프로그램 동작에서는, 선택된 워드 라인에 대하여, 모든 비트 라인들의 저장 소자들이 함께 프로그램될 수 있다.
도 7a에서는, WLn-1 상의 저장 소자들(예컨대 소자들 702, 704, 706)이 제1 프로그램 패스에서 임의의 랜덤(random)하게 선택된 상태를 나타내는 상태들 "R"로 프로그램된다. 그 상태들은 WLn 상의 커플링에 중요하지 않다. 이 단계는 동그라미 "1"에 의해 표현된다. 다음으로, 동그라미 "2"를 참조하면, WLn 상의 저장 소자들(예컨대, 저장 소자들 712, 714, 716)이 제1 프로그램 패스에서 프로그램된다. 이 패스는 예컨대 도 5a, 도 6b, 또는 도 6e에 대응될 수 있다. 저장 소자들(712, 716)이 상태 "~A"로 프로그램되며 이는 현재는 A 상태에 있지만 그 뒤에 상부 상태로 도달할 수 있다는 것을 가리키고, 저장 소자(714)는 하부 검증 레벨 VVA - PW1에 의거한 상태 A를 표현하는 상태 "A-PW1"으로 프로그램된다. 예시로서, 저장 소자(714)가 목표로서 A 상태로 프로그램된다. 이 예에서는, 도 4와 관련하여 앞서 논의된 것처럼, 워드 라인인 프로그램을 위해 선택될 때 프로그램 펄스 후에 검증 동작들이 일어난다. WLn 상의 검증 동작들 동안에, VVA - PW1, VVB - PW1, VVC - PW1에 의해 표현되는 하부 세트의 검증 전압들 중 하나 이상의 검증 전압들이 WLn에 인가되고 VREAD - PASS에 의해 표현되는 명목 패스 전압(nominal pass voltage)이 WLn-1, WLn+1을 포함하여 남은 워드 라인들에 인가된다. 패스 전압은 선택된 워드 라인에 대해 감지 동작이 일어날 수 있도록 선택되지 않은 저장 소자들을 턴온(전도되게함)하는데 이용된다. WLn+1 상에서, 저장 소자들(722, 724, 726)은 아직 프로그램되지 않았기 때문에 E 상태에 있다.
이 시점에서, 도 8a의 초기 상태에 의해 도시된 것처럼, VTH 분포는 상대적으로 좁다. 도 8a는 프로그램하는 동안에 예시적인 "X" 상태(예컨대 여기서 X는 상태 A, B, C)에 대한 VTH 분포들을 도시한 것이다. x-축은 목표 상태 X에 대하여 선택된 워드 라인 상의 저장 소자들의 VTH를 의미한다. 모든 상태들이 표시되어 있는 것은 아니다. y-축은 해당 VTH에 대한 저장 소자들의 개수를 의미한다. 각 저장 소자의 VTH는 각 목표 상태 X에 대하여 VVX - PW1을 지나서 프로그램된다.
다음으로, 도 7b와 동그라미 "3"을 참조하면, WLn-1 상의 저장 소자들이 제2 프로그램 패스에서 각각 그들의 상태 "R"로 프로그램된다. 다음으로, 동그라미 "4"를 참조하면, WLn+1 상의 저장 소자들이 제1 프로그램 패스에서 그들 각각의 상태들 "R"로 프로그램된다. 이 때에, VVA - PW1, VVB - PW1, VVC - PW1이 WLn+1에 인가되고 VREAD -PASS가 WLn-1, WLn을 포함하여 남은 워드 라인들에 인가된다. WLn+1 상의 프로그램으로 인해, WLn 상의 저장 소자들은 각 상태에 대한 VTH 분포를 올리고 확대시키는 경향이 있는 결합(coupling)에 의해 영향받고, 따라서 VTH 분포는 각 목표 상태에 대하여 "안개(foggy)" 상태 또는 확대된 상태에 있게 된다. 예를 들면, 도 7b에서, 저장 소자(714)가 "A-안개(A-foggy)" 상태에 있다. 저장 소자들(712, 716)은 임의의 상태에 있을 수 있다.
다음으로, 도 7c와 동그라미 "5"를 참조하면, WLn 상의 저장 소자들은 제2 프로그램 패스에서 예컨대 VVA - PW2, VVB - PW2, VVC - PW2를 포함하여 제2의 상부 검증 전압들의 세트를 이용하여 각각 그들의 최종 상태들로 프로그램된다. 예를 들면, 이 패스는 도 5b, 6c, 또는 6f에 대응될 수 있다. 따라서 저장 소자(714)는 최종 상태 A를 나타내는 A-PW2 상태로 올려진다. 이 시점에서, VTH 분포는 도 8a의 최종 상태에 의해 도시된 것처럼, 다시 상대적으로 좁다. 표시된 것처럼, WLn 상의 각 선택된 저장 소자의 VTH는 각 목표 상태 X에 대하여 VVX - PW2 위에서 프로그램된다.
홀수-짝수 프로그램하는 동안에, 선택된 워드 라인에 대하여, 짝수 비트 라인들 상의 저장 소자들이 홀수 비트 라인들 상의 저장 소자들과는 별도로 프로그램되고 검증될 수 있고, 또는 동시에 프로그램되지만 별도로 검증될 수 있다. 한 예로서, 도 7d 내지 도 7h는 짝수-홀수 프로그램 동작을 도시한 것으로, 여기서 짝수 비트 라인들 상의 저장 소자들은 홀수 비트 라인들 상의 저장 소자들과 별도로 프로그램되고 검증된다. 게다가, 도 6a 내지 도 6c와 관련하여 논의된 것처럼, 프로그램 동작은 하부 페이지가 프로그램되는 초기 패스, 상부 페이지를 프로그램하는 제1 패스, 상부 페이지를 프로그램하는 제2 패스를 포함한다.
도 7d 에서는, 동그라미 "1"에 의해 표현된 것처럼, WLn-1 상의 짝수 비트 라인 BLi 상의 저장 소자(704)가 초기 패스에 어떤 상태 R로 프로그램되었고, 그 후에 홀수 비트 라인들 BLi-1과 BLi+1 상의 저장 소자들(702, 706)이 초기 패스에 어떤 상태 R로 프로그램되었다. 게다가, 동그라미 "2"에 의해 표현된 것처럼, WLn 상의 짝수 비트 라인 BLi의 저장 소자(714)가 초기 패스에 프로그램되고 있다. 이 예에서는, 저장 소자(714)가 목표 상태 A로 프로그램될 것이고, 따라서 초기 패스 동안에는 E 상태로 남아있다(상부 상태들 B와 C로 프로그램될 저장 소자들만이 초기 패스에 프로그램되기 때문). WLn 상의 검증 동작들 동안에, VINT가 WLn에 인가되고 VREAD-PASS가 다른 워드 라인들에 인가된다.
도 7e에서는, 동그라미 "2"에 의해 역시 표현되는 것처럼, WLn의 홀수 비트 라인들 BLi-1과 BLi+1 상의 저장 소자들(712, 716)이 각각 프로그램되고 있다. 이 예에서는, 저장 소자들(712, 716)이 목표 상태들 B와 C로 각각 프로그램될 것이고, 따라서 그들은 초기 패스 동안에 INT 상태로 프로그램된다. 다시 한번, WLn에 대한 검증 동작들 동안에, VINT가 WLn에 인가되고 VREAD - PASS가 다른 워드 라인들에 인가된다.
도 7f에서는, 동그라미 "3"에 의해 표현된 것처럼, WLn-1의 짝수 비트 라인 BLi 상의 저장 소자(704)가 제1 패스에서 어떤 상태 R로 프로그램되었고, 그 후에 WLn-1에 대한 홀수 비트 라인들 BLi-1과 BLi+1 상의 저장 소자들(702, 706)이 제1 패스에 어떤 상태 R로 프로그램되었다. 그 뒤에, 동그라미 "4"에 의해 표현된 것처럼, WLn+1의 짝수 비트 라인 BLi 상의 저장 소자(724)가 초기 패스에 어떤 상태 R로 프로그램되었고, 그 후에 WLn+1에 대한 홀수 비트 라인들 BLi-1과 BLi+1 상의 저장 소자들(722, 726)이 초기 패스에 어떤 상태 R로 프로그램되었다. 그 뒤에, 동그라미 "5"에 의해 표현되는 것처럼, WLn의 짝수 비트 라인 BLi 상의 저장 소자(714)가 제1 패스에서 상태 A-PW1으로 프로그램되고, 그 후에 WLn에 대한 홀수 비트 라인들 BLi-1과 BLi+1 상의 저장 소자들(712, 716)이 제1 패스에서 상태들 B-PW1과 C-PW1으로 각각 프로그램된다. WLn에 대한 검증 동작들 동안에, VVA - PW1, VVB -PW1, VVC - PW1이 WLn에 인가되고 VREAD - PASS가 다른 워드 라인들에 인가된다.
도 7g에서는, WLn+2가 도시되었다면 동그라미 "7"에 의해 표현되었을 것처럼, WLn+2(미도시됨) 상의 짝수 비트 라인 BLi 상의 저장 소자(미도시됨)가 어떤 상태 R로 프로그램되었고, 그 후에 WLn+2에 대한 홀수 비트 라인들 BLi-1과 BLi+1 상의 저장 소자들이 초기 패스에서 어떤 상태 R로 프로그램되었다. 그 뒤에, 동그라미 "8"에 의해 표현되는 것처럼, WLn+1의 짝수 비트 라인 BLi 상의 저장 소자(724)가 제1 패스에서 어떤 상태 R로 프로그램되었고, 그 후에 WLn+1에 대한 홀수 비트 라인들 BLi-1과 BLi+1 상의 저장 소자들(722, 726)이 제1 패스에서 어떤 상태 R로 프로그램된다. 이 프로그램은 WLn 상의 저장 소자들에 용량성 결합을 유발하고, 저장 소자들(712, 714, 716)을 B-안개, A-안개, C-안개 상태들로 각각 전이되도록 유발한다. WLn+1에 대한 검증 동작들 동안에, VVA - PW1, VVB - PW1, VVC - PW1이 WLn+1에 인가되고 VREAD-PASS가 다른 워드 라인들에 인가된다.
도 7h에서는, 동그라미 "9"에 의해 표현되는 것처럼, WLn 상의 짝수 비트 라인 BLi상의 저장 소자(714)가 제2 패스에서 그 최종 의도된 상태인 A-PW2로 프로그램되고, 그 후에 WLn에 대한 홀수 비트 라인들 BLi-1과 BLi+1 상의 저장 소자들(712, 716)이 제2 패스에서 그들의 최종 의도된 상태인 B-PW2와 C-PW2로 각각 프로그램된다. WLn 에 대한 검증 동작들 동안에, VVA - PW2, VVB - PW2, VVC - PW2가 WLn에 인가되고 VREAD -PASS가 다른 워드 라인들에 인가된다.
모든 비트 라인 접근법 또는 짝수-홀수 프로그램 접근법 중 어느 하나에서는, 대부분의 간섭 효과들이 제2 프로그램 패스에 의해 효력을 잃게 된다. 또한 WLn+1이 제2 프로그램 패스에서 다음에 다시 프로그램된다고 하더라도, WLn+1 상의 저장 소자들의 임계 전압들이 제1 프로그램 패스와 비교하여 제2 프로그램 패스에서 상대적으로 작은 양만큼 올려지므로 WLn이 결과적으로 경험하는 결합량은 상대적으로 작다. 이 예에서는, 상부 검증 전압들의 세트가 WLn에 인가되는 WLn 상에서의 제2 프로그램 패스의 검증 동작들 동안에, VREAD - PASS에 의해 표현되는 제1 프로그램 패스와 동일한 명목 패스 전압이 WLn-1과 WLn+1을 포함하여 남은 워드 라인들에 인가된다.
프로그램하는 동안에, 저장 소자에 인가되는 프로그램 펄스(VPGM)가 그 저장 소자의 초기 VTH와 VPGM의 함수인 양만큼 저장 소자의 임계 전압(VTH)을 증가시킬 것이다. 더 높은 VPGM은 더 높은 VTH의 증가 또는 점프로 이어지는 반면 더 높은 초기 VTH는 더 작은 VTH의 증가 또는 점프로 이어진다. 따라서, 주어진 VPGM을 가지는 프로그램 펄스에 대하여, 더 높은 VTH를 가지는 저장 소자들은 더 낮은 VTH를 가지는 저장 소자들보다 더 느린 증가나 점프를 가질 것이다. 또한, 저장 소자들이 제1 프로그램 패스(PW1) 동안에 일정 VTH 레벨로 프로그램되었기 때문에, 제2 프로그램 패스(PW2) 동안에 프로그램 펄스들은 저장 소자의 VTH에 있어서 더 작은 증가를 일으킨다. 저장 소자들의 VTH는 VPGM 스텝 크기보다 훨씬 느리게 이동하며, 이는 VTH 분포를 더 좁게 만든다. 이 효과를 패스 쓰기 효과(pass write effect)라고 한다. 따라서, 이중-패스 프로그램 방법(two-pass programming method)은 패스 쓰기 효과로 인해서 뿐만 아니라 간섭 효과들의 보상 때문에 최종 VTH 분포를 더 좁게 만든다.
이러한 다중-패스 프로그램 방식에서, 결정적인 파라미터는 PW1과 PW2에 대해 이용되는 검증 레벨차(verify level difference)이다. 주어진 워드 라인에 대하여, 최종 VTH 분포가 가장 좁게될 PW1 검증 레벨들과 PW2 검증 레벨들 사이의 최적의 검증 레벨차(ΔVVX)가 존재한다. 한 접근법에서는, ΔVVX=VVX - PW2-VVX - PW1 이므로, 동일한 차이가 각 상태에 대하여 이용된다. 하지만, ΔVVX가 서로 다른 상태들로 또는 상태들의 세트들에 맞춰 조정되는 것도 역시 가능하다.
도 8b는 대결합(large coupling) 또는 소결합(small coupling) 장치들에 대하여, 서로 다른 프로그램 패스들 사이의 검증 전압들에 있어서 최적의 델타(optimum delta)를 보여주는 그래프를 도시한 것이다. 프로그램이 완료된 후에, x-축은 ΔVVX를 도시한 것이고 y-축은 최종 VTH 분포의 폭을 도시한 것이다. 또한, 두 개의 곡선들이 도시되어 있는데, 실선(800)은 상대적으로 작은 결합량을 가진 메모리 디바이스에 대한 관계를 도시한 것이고 점선(802)은 상대적으로 큰 결합량을 가지는 메모리 디바이스에 대한 관계를 도시한 것이다. 각각의 곡선은 최소값을 포함하며 최소값에서는 VTH 분포의 폭이 최소이다. 해당 ΔVVX는 최적이다. 일반적으로, 프로그램하는 동안 경험하게 되는 용량성 결합의 양은, 예컨대 워드 라인이나 블록에서 제조 과정에서의 편차들, 경험하게 되는 프로그램 사이클들의 개수, 에이지(age) 및 다른 인자들로 인해, 서로 다른 메모리 디바이스들에 대해 그리고 서로 다른 저장 소자들이나 저장 소자들의 세트들에 대해 바뀔 수 있다.
각 곡선은 세 개의 영역들을 가진다. 영역들 I, Ⅱ, Ⅲ이 곡선(800)에 대해 도시되어 있다. 영역 I에서는, ΔVVX가 최적보다 작다. 다시 말해, PW2 검증 레벨(VVX - PW2)이 PW1 검증 레벨(VVX - PW1)에 매우 가깝다. 이 경우에, 대부분의 저장 소자들이 몇 개의 제1 프로그램 펄스들 내에서 추가의 프로그램으로부터 락아웃되고, 따라서 그 VTH는 상당히 증가하지 않는다. VTH의 증가는 VTH가 PW1 검증과 PW2 검증 사이에 위치하는 저장 소자들에 대해서만 경험하게 된다. 따라서, 전반적인 VTH 분포는 여전히 매우 넓게 남아있다. PW2 검증 레벨이 증가함에 따라(따라서 ΔVVX가 증가), 더욱더 많은 저장 소자들이 PW1 검증과 PW2 검증 사이에 위치하는 VTH를 가지고, 따라서 더 많은 저장 소자들이 PW 효과를 경험한다. 따라서 최적 ΔVVX에 도달되는 시점까지, 전반적인 VTH 분포가 좁아진다. 최적의 ΔVVX에서, 대다수의 저장 소자들에서 VTH 폭이 최소가 되도록 하는 PW 효과를 경험하게 된다.
영역 Ⅱ에서는, ΔVVX가 최적보다 크고, 최종 VTH 분포의 폭은 ΔVVX에 따라 바뀐다. ΔVVX가 최적 위로 증가되면, 일부 저장 소자들(주로 안개 상태 분포의 하부-꼬리(lower-tail)에 가까이 있던 저장 소자들)은 패스 쓰기 효과를 잃기 시작하고 각 프로그램 펄스마다 VTH에 있어서 상대적으로 큰 증가를 경험하기 시작한다. 이들 저장 소자는 정상 상태(steady state)에 도달하고 따라서 그들의 VTH는 VPGM의 스텝 크기와 동일한 비율로 증가한다. 이는 VTH 분포가 다시 확대되기 시작하게끔 한다.
영역 Ⅲ에서는, ΔVVX가 증가할 때조차도 최종 VTH 분포의 폭이 본질적으로 일정한 지점에 도달한다. 저장 소자들이 PW2 검증 레벨에 도달하는 시간까지, 거의 모든 저장 소자들이 PW 효과를 상실하고 정상 상태에 도달한다. 그러니까, 그들은 VPGM 스텝 크기와 동일한 비율로 스텝 상승(step up)한다. 따라서, VTH 분포는 대다수의 저장 소자들이 PW 효과를 받을 때(이는 최적 ΔVVX에서 발생함)보다 더 확대되어 마무리 된다.
도 8c는 대결합 및 소결합 디바이스들에 대해 프로그램하는 동안 예시적인 상태에 대한 임계 전압 분포들을 도시한 것이다. 짧은 점선과 긴 점선은 각각 작은 결합량이나 큰 결합량을 가진 메모리 디바이스에 대한 안개 상태를 도시한 것이다. 최적의 ΔVVX는 안개 상태의 VTH 폭의 함수이다. 안개 상태가 상대적으로 넓으면, 최적의 ΔVVX는 상대적으로 높다. 좁은 안개 상태에 대하여, 최적의 ΔVVX는 상대적으로 낮다. 최적의 PW2 검증 레벨 VVX - PW2는 전형적으로 안개 VTH 분포의 중심 근처로 선택된다. 도시된 VVX - PW2의 레벨은 큰 결합량을 가지는 디바이스에 대해 최적이다. 따라서, 안개 상태 VTH 분포가 더 넓다면, 안개 VTH 분포의 중심(여기서 VVX - PW2가 선택됨)이 VTH 축을 따라 오른쪽으로 이동하기 때문에 최적의 PW2 검증 레벨도 역시 더 높을 것이다.
안개 상태 VTH 분포의 폭은 이웃하는 저장 소자들로부터의 간섭의 양에 따라 결정된다. 더 높은 결합(예컨대, 워드 라인-대-워드 라인, 비트 라인-대-비트 라인, 또는 대각선-대-대각선 결합들)을 가지는 디바이스에 대해, 선택된 저장 소자의 VTH는 이웃하는 저장 소자들 상의 VTH 상태들에 의해 더욱 영향받을 것이고 따라서 더 많은 결합을 일으킬 것이다. 이러한 디바이스에 대하여, 안개 상태 VTH 분포는 더 작은 결합 효과들을 보여주는 디바이스에 대한 경우보다 훨씬 넓을 것이다. 결과적으로, 최적의 ΔVVX도 또한 이들 두 디바이스들에 대해 서로 다를 것이다. 낮은 결합들을 가지는 디바이스는 높은 결합들을 가지는 디바이스에 비해 더 낮은 최적의 ΔVVX를 가지는 경향을 보일 것이다.
대량 생산에서는, 로트(lot)들마다 또는 유닛(unit)들마다 결합에 있어서 상당한 편차가 존재할 수 있다. 한 유닛 내에서조차도, 서로 다른 워드 라인들이나 블록들은 아마도 서로 다른 결합량을 가질 수 있다. 따라서, 최적의 ΔVVX는 로트들마다, 디바이스들마다, 워드 라인들마다 등에서 바뀔 수 있다. 따라서, 각 메모리 디바이스 상에서 동일한 ΔVVX를 이용한다고 해서 모든 장치들에서 가장 좁은 VTH 분포로 이어지지는 않을 것이다. 본 명세서에서는 워드 라인 결합을 이용하여 각 디바이스에 대해 동적으로 ΔVVX를 최적화하는 기법이 제공된다. 이 기법에서는, 여전히 좁은 VTH 분포들을 가지도록 관리되면서 동일한 ΔVVX가 각 메모리 디바이스 상에서 이용될 수 있도록 하기 위하여 디바이스들마다 최적의 ΔVVX 레벨들 간의 차이가 훨씬 작게 만들어질 수 있다. 이 기법에서는 각 디바이스에 대해 검증 전압들이나 ΔVVX 레벨이 다듬어질 필요가 없다. 즉, 예를 들어 서로 다른 ΔVVX 레벨들이 서로 다른 상태들에 대해 이용되더라도, 주어진 상태에 대하여 동일한 레벨들이 각 메모리 디바이스 상에서 이용될 수 있다.
앞서 언급된 것처럼, 고정된 검증 레벨들의 사용은 각 메모리 디바이스 상에서 최적일 수도 아닐 수도 있는 일정한 ΔVVX로 이어질 수 있다. 이 접근법은 일부 디바이스들 상에서는 더 넓은 VTH 분포들로 이어질 수 있다. 대조적으로, 본 명세서에서 제공되는 기법들은 서로 다른 디바이스들에 대해 최적의 PW 검증 레벨들 사이의 차이를 감소시킬 수 있고, 여전히 최적의 VTH 분포들에 가깝게 달성하면서 각 디바이스에 대해 동일한 ΔVVX의 사용을 가능하게 한다.
본 명세서에서 제공되는 기법은 결합(coupling)에 따라 바뀌는 PW1 검증과 PW2 검증 사이의 유효(effective) 추가 옵셋을 생성하기 위하여 워드 라인 결합 효과(word line coupling effect)를 이용하며, 따라서 그 효과는 결합이 더 높을 때 더 높다. 논의된 것처럼, 더 높은 결합을 가지는 디바이스에 대해, 최적의 ΔVVX는 더 크다. 따라서, 이러한 여분의 옵셋은 최적 레벨에 도달하는데 도움을 준다. 제1 프로그램 패스(PW1)와 제2 프로그램 패스(PW2)에 대하여 WLn 상에서의 프로그램-검증 동작 동안에 서로 다른 전압 바이어스를 WLn+1에 인가함으로써 워드 라인 결합 효과가 이용된다.
도 9a는 WLn 상에서 제1 프로그램 패스 동안에 한 세트의 저장 소자들을 도시한 것이며, 여기서 하부 패스 전압이 WLn+1 상에 제공된다. 도시된 컴포넌트들은 훨씬 더 큰 세트의 저장 소자들, 워드 라인들, 및 비트 라인들의 서브세트일 수 있다. 예시적인 프로그램 시퀀스에서는, 동그라미 "1"에 의해 표시되는 제1 프로그램 패스가 WLn-1의 저장 소자들에서 수행된다. 다음으로, 동그라미 "2"에 의해 표시되는 제1 프로그램 패스가 WLn의 저장 소자들 상에서 수행된다. WLn 상에서 프로그램하는 동안에, 검증 동작들이 수행되며, 여기서 VVA - PW1, VVB - PW1, VVC - PW1과 같은 하부 검증 전압들이 WLn에 인가되고, 동시에 해당 하부 패스 전압 VREAD - PW1이 WLn+1에 인가된다. 명목 패스 전압 VREAD - PASS가 WLn-1과 WLn+2를 포함하여 남은 워드 라인들에 인가될 수 있다.
도 9b는 WLn 상에서 제2 프로그램 패스 동안에 한 세트의 저장 소자들을 도시한 것이며, 상부 패스 전압이 WLn+1 상에 제공된다. 도 9a의 예시적인 프로그램 시퀀스를 계속하면, 동그라미 "3"에 의해 표시되는 제2 프로그램 패스가 WLn-1의 저장 소자들 상에서 수행된다. 다음으로, 동그라미 "4"에 의해 표시되는 제1 프로그램 패스가 WLn+1의 저장 소자들 상에서 수행된다. 다음으로, 동그라미 "5"에 의해 표시되는 제2 프로그램 패스가 WLn의 저장 소자들 상에서 수행된다. WLn 상에서 프로그램하는 동안에, 검증 동작들이 수행되며, 여기서 VVA - PW2, VVB - PW2, VVC - PW2와 같은 상부 검증 전압들이 WLn에 인가되고, 동시에 해당 상부 패스 전압 VREAD - PW2가 WLn+1에 인가된다. 명목 패스 전압 VREAD - PASS가 WLn-1과 WLn+2를 포함하여 남은 워드 라인들에 다시 인가될 수 있다.
유의할 점은 다른 예들이 가능한 것처럼 도시된 프로그램 시퀀스가 하나의 가능한 예라는 것이다. 일반적으로, 제공되는 기법들은 다중-패스 프로그램이 이용될 때 아주 유용하다. 또한, 앞서 언급된 것처럼, 도시된 제1 및 제2 프로그램 패스들은 중간 상태로 프로그램하는 것과 같은 초기 프로그램 패스 후에 발생할 수 있고, 이 경우에 세 개의 프로그램 패스들이 이용된다. 게다가, WLn이 완전히 프로그램되기 전에 WLn+1이 프로그램되기 때문에 WLn+1로 인해 WLn 상에서 결합이 발생한다. 이 예에서는, 프로그램 시퀀스에 있어서 WLn+1이 WLn 뒤에 온다.
요약하면, WLn 상의 PW1 검증 동안에, WLn+1 상에서 VREAD - PW1을 이용하고 WLn 상의 PW2 검증 동안에, WLn+1 상에서 VREAD - PW2를 이용하며, 여기서 VREAD -PW1<VREAD - PW2 이다. 게다가, 또한 VREAD - PW2=VREAD - PASS, 즉 VREAD - PW2를 읽기 및 프로그램 검증 동안에 선택되지 않은 워드 라인들에 대한 명목 또는 디폴트(default) 전압 바이어스로 설정할 수 있다. 또 다른 접근법에서는, VREAD - PW2>VREAD - PASS 이다. 예시적인 구현예에서는, VREAD-PW1이 약 3 V이고 VREAD - PW2는 약 6-8 V이다. VREAD - PW1에 대한 최적값은 테스트나 이론적 계산들에 근거하여 설정될 수 있다. VREAD - PW1은 VREAD - PW2의 약 1/2과 같이, 대략 VREAD-PW2의 1/3 내지 2/3일 수 있다. 일반적으로, VREAD - PW1이나 VREAD - PASS의 최대값은 제한적이므로 선택되지 않은 저장 소자들의 프로그램은 방지된다.
PW1 검증과 PW2 검증에 대해 WLn+1 상에서 서로 다른 전압 바이어스를 이용함으로써 PW1과 PW2 사이에 WLn 상의 저장 소자들의 겉보기 VTH가 쉬프트(shift)되도록 한다. WLn 상의 저장 소자의 VTH는 PW2 검증 동안에 비해 PW1 검증 동안에 더 높은 것처럼 보인다. 이는 유효 PW1 및 PW2 검증 레벨들에서의 추가적 차이를 유발한다. 더 큰 결합을 가지는 디바이스에 대해 더 큰 차이가 생성된다. 이는 WLn+1로부터 높은 결합과 낮은 결합을 가지는 장치들 사이에 최적 ΔVVX에서의 편차들을 자동적으로 감소시키는 경향이 있고, 따라서 모든 디바이스들은 효과적으로 최적의 ΔVVX를 가진다.
도 9a를 대체가능한 것으로서 도 9c는 WLn 상에서 제1 프로그램 패스 동안에 한 세트의 저장 소자들을 도시한 것이며, 하부 패스 전압이 WLn+1 상에 제공된다. 여기서, 하부 페이지의 초기 프로그램 패스는 상부 페이지의 제1 및 제2 프로그램 패스들 전에 수행된다.
도 9b를 대체가능한 것으로서 도 9d는 WLn 상에서 제2 프로그램 패스 동안에 한 세트의 저장 소자들을 도시한 것이며, 상부 패스 전압이 WLn+1 상에 제공된다. 도 9c에서처럼, 하부 페이지의 초기 프로그램 패스는 상부 페이지의 제1 및 제2 프로그램 패스들 전에 수행된다.
도 10a는 비트 라인 방향의 단면도에서 WLn+1로부터 WLn으로 프로그램하는 동안에 저장 소자들의 결합(coupling)을 도시한 것이다. 예시적인 저장 소자들(1000, 1010)이 도시되어 있다. 각각은 플로팅 게이트 위에 컨트롤 게이트를 가진다. 예를 들면, 저장 소자(1000)는 플로팅 게이트(FGn) 위에 컨트롤 게이트(CGn)를 포함하고, 저장 소자(1010)는 플로팅 게이트(FGn+1) 위에 컨트롤 게이트(CGn+1)를 포함한다.
PW1 검증과 PW2 검증 동안에 서로 다른 WLn+1 전압 바이어스 내지 패스 전압을 이용함으로써, PW1과 PW2 검증에 대해 WLn 상의 저장 소자의 겉보기 VTH가 서로 다를 수 있다. 특히, 더 낮은 WLn+1 패스 전압이 이용될 때, WLn 상의 저장 소자의 겉보기 VTH는 컨트롤 게이트-대-플로팅 게이트 결합으로 인해 더 높은 것으로 보인다. 반면에, WLn+1이 더 높게 바이어스될 때, 동일한 컨트롤 게이트-대-플로팅 게이트 결합은 FGn의 전위를 올리고 따라서 저장 소자를 턴온하는데 도움이 되며, 따라서 그 VTH를 더 낮은 것으로 보이게 한다. 전형적으로, WLn+1 대 FGn 결합은 FGn 대 FGn+1 결합에 따라 조정되며, 이는 서로 다른 치수(dimension)로 스케일링(scaling)되는 서로 다른 세대(generation)의 메모리 디바이스들에서 본 기법이 효과적일 수 있게 해준다.
일반적으로, 저장 소자가 감지될 때, 예를 들어 검증 전압들 각각이 선택된 워드 라인을 통해 저장 소자의 컨트롤 게이트에 인가될 때 그 저장 소자가 전도(conductive) 상태에 있는지에 대한 판별이 이루어진다. 검증 전압이 저장 소자의 VTH를 초과하면 그 저장 소자는 전도(conductive), 예컨대 턴온일 것이다.
도 10a에서, Crn은 CGn 대 FGn의 결합비(coupling ratio)이고, Crn+1은 CGn+1 대 FGn+1의 결합비이며, 여기서 Cr=CFG - CG/CFG ( TOTAL ) 이고, r1은 FGn+1 대 FGn의 결합비이며, 여기서 r1=CFG - FG/CFG ( TOTAL )이고, r2는 CGn+1 대 FGn의 결합비이며, r2=CCG -FG/CFG(TOTAL) 이다. Cx-y의 표기는 x와 y 사이의 커패시턴스를 의미한다. 따라서, CFG -CG는 플로팅 게이트(FG)와 컨트롤 게이트(CG) 사이의 커패시턴스를 나타내고, CFG - FG는 FG와 또 다른 FG 사이의 커패시턴스를 나타낸다. VREAD -PW1<VREAD - PW2 이면, WLn의 저장 소자들의 VTH는 PW2 동안에 비해 PW1 동안에 더 높은 것으로 보인다. PW1 검증 레벨은 그것이 외부적으로 설정되는 레벨보다 실질적으로 더 낮다. 이는 다음과 같이 설명될 수 있다.
(1) VREAD - PW1=VREAD - PW2 이면, 유효 ΔVVX=(VVX - PW2-VVX - PW1).
(2) VREAD -PW1<VREAD - PW2 이면, 유효 ΔVVX=(VVX - PW2-VVX - PW1)+(VREAD - PW2-VREAD - PW1)*(r2+r1*Crn+1)/ Crn.
따라서, (2)의 경우를 이용함으로써, ΔVVX를 판별하는데 r1을 포함시킨다. 동일한 인자(r1)가 이웃 간섭이나 결합으로 인한 VTH 확대에 대해 책임이 있다. 상기 식들의 영향이 도 10b와 관련하여 아래에서 서술된다.
도 10b는 WLn+1 상의 서로 다른 패스 전압들에 근거하여, 프로그램하는 동안에 WLn 상의 예시적인 상태에 대한 유효(effective) 및 실제(actual) 임계 전압 분포들을 도시한 것이다. x-축은 예시적인 목표 상태 X에 대한 VTH를 의미한다. 모든 상태들이 표시된 것은 아니다. y-축은 해당 VTH에 대한 저장 소자들의 개수를 의미한다. VTH 분포들은 WLn+1 상의 더 낮은 패스 전압(VREAD - PW1)이 제1 프로그램 패스에서 이용되는 경우에 대해서, 그리고 WLn+1 상의 더 높은 패스 전압(VREAD - PW2)이 제1 프로그램 패스에서 이용되는 경우에 대해서 도시되어 있다.
특히, VTH 분포(1024)는 더 낮은 패스 전압이 WLn+1 상에서 이용될 때 제2 프로그램 패스가 아닌 제1 프로그램 패스 후에 도달되는 초기 상태를 나타낸 것이다. 안개 상태(1026)는 후속으로 제1 프로그램 패스에서 WLn+1이 프로그램될 때 유발되는 결합으로 인하여 실현된다. 또한, 제2 프로그램 패스 후에 도달되는 최종 상태의 VTH 분포(1028)가 도시되어 있다. 안개 상태 VTH 분포(1022)는 더 높은 패스 전압이 WLn+1 상에서 이용될 때 제1 프로그램 패스 후에 도달된다. 이 안개 상태는 WLn+1 상에서 더 높은 VREAD - PW2를 이용함으로써 유효하게 쉬프트 다운(shift down)된다. 최종 상태(1028)는 그 뒤에 WLn 상에서 제2 프로그램 패스 후에 도달된다. 이것이 가리키는 바는 결합으로 인해 유효 안개 상태를 더 낮게 쉬프트하도록 하고, 결국 유효 VVVX를 증가시킨다는 것이다.
VREAD -PW1<VREAD - PW2 을 이용함으로써(둘을 동일하게 하는 대신에), 유효 VVX - PW1은 쉬프트 다운된다. 따라서, 유효 ΔVVX는 외부적으로 설정되는 ΔVVX보다 더 높게 만들어진다. 더 높은 결합을 가지는 디바이스들은 더 낮은 결합을 가지는 디바이스들보다 더 높은 유효 ΔVVX를 가질 것이다. 따라서, 동일한 ΔVVX(실제) 설정으로, 서로 다른 결합량을 가지는 디바이스들에 대해 각각의 최적의 ΔVVX 값에 가까운 유효 ΔVVX를 여전히 가지도록 해낸다. 결과적으로, 좁은 VTH 분포들과 높은 프로그램 정확도가 서로 다른 결합량을 가지는 메모리 디바이스들에 대해 실현될 수 있다.
유의할 점은 위의 접근법은 비트 라인-대-비트 라인 결합 보상 기법들과 같은 다른 결합 보상 기법들과 함께 이용될 수 있다는 것이다.
도 11은 예시적인 프로그램 절차를 도시한 것이다. 프로그램 동작은 단계(1100)에서 시작한다. 단계(1105)에서 인덱스 i가 0으로 초기화된다. 단계(1110)는 선택된 워드 라인 상에서 중간 검증 전압 VINT를 이용하여 그리고 선택되지 않은 워드 라인들 상에서 명목 패스 전압 VREAD - PASS를 이용하여 WLi를 프로그램하는 것을 포함한다. 예컨대, 도 6a 내지 도 6c를 보라. 언급된 것처럼, 일부 프로그램 방식들은 이 초기 패스를 이용하지 않기 때문에 이는 선택사항이다. 결정 단계(1115)에서 i>0 이면, 단계(1120)는 인접 상위 워드 라인 WLi에 더 낮은 패스 전압 VREAD - PW1을 인가하면서, 하부 검증 전압들 VVX - PW1을 이용하여 WLi-1을 프로그램하는 것을 포함한다. 결정 단계(1125)에서 i>1 이면, 단계(1130)는 인접 상위 워드 라인 WLi-1 상에 더 높은 패스 전압 VREAD - PW2를 인가하고 남은 선택되지 않은 워드 라인들 상에 명목 패스 전압 VREAD - PASS를 인가하면서, 상부 검증 전압들 VVX - PW2를 이용하여 WLi-2를 프로그램하는 것을 포함한다. 인덱스 i는 단계(1135)에서 증가된다.
결정 단계(1115)는 i=0 일 때 거짓(false)이고, 결정 단계(1125)는 i=1 일 때 거짓이며, 이 경우에 절차는 단계(1135)에서 계속된다.
결정 단계(1140)는 인덱스 i가 k에 도달하였는지를 판별하며, 여기서 k는 워드 라인들의 개수이고, k-1은 마지막 또는 최상위 워드 라인이다. 예를 들면, k=64 이면, 워드 라인들은 0에서 63까지 번호가 매겨진다. 결정 단계(1140)가 거짓이면, 절차는 단계(1110)에서 계속된다. i=k 이면, 단계(1145)는 다른 워드 라인들에 VREAD-PASS를 인가하면서, 하부 검증 전압들을 이용하여 최상위 워드 라인 WLk-1을 프로그램하는 것을 포함한다. 이 경우에 더 이상의 상위 워드 라인은 존재하지 않는다. 단계(1150)는 상위 워드 라인 WLk-1에 VREAD - PW2를 인가하고 다른 워드 라인들에 VREAD-PASS를 인가하면서, 상부 검증 전압들 VVX - PW2를 이용하여 WLk-2를 프로그램하는 것을 포함한다. 단계(1155)는 다른 워드 라인들에 VREAD - PASS를 인가하면서, 상부 검증 전압들 VVX - PW2를 이용하여 WLk-1을 프로그램하는 것을 포함한다.
도 12a는 도 1a와 도 1b에서 도시된 것들과 같은 낸드 저장 소자들의 어레이(1100)의 한 예를 예시한 것이다. 각각의 열을 따라, 비트 라인(1106)은 낸드 스트링(1150)에 대한 드레인 셀렉트 게이트의 드레인 단(drain terminal)(1126)에 연결된다. 낸드 스트링들의 각 행을 따라, 소오스 라인(1104)은 낸드 스트링들의 소오스 셀렉트 게이트들의 모든 소오스 단들(source terminals)(1128)을 연결할 수 있다.
저장 소자들의 어레이는 많은 수의 저장 소자들의 블록들로 나뉜다. 플래시 EEPROM 시스템에서는 통상적인 것처럼, 블록은 소거 단위이다. 즉, 각 블록은 함께 소거되는 최소 개수의 저장 소자들을 포함한다. 각 블록은 전형적으로 몇 개의 페이지들로 나누어진다. 하나의 페이지는 프로그램의 최소 단위이다. 하나 이상의 데이터 페이지들이 전형적으로 한 행의 저장 소자들에 저장된다. 예를 들면, 한 행에는 전형적으로 복수의 인터리빙된(interleaved) 페이지들이 들어있거나 또는 한 행이 하나의 페이지로 구성될 수도 있다. 한 페이지의 모든 저장 소자들이 함께 읽히거나 프로그램될 것이다. 게다가, 한 페이지는 하나 이상의 섹터들로부터 사용자 데이터(user data)를 저장할 수 있다. 한 섹터는 사용자 데이터의 편의상 단위로서 호스트에 의해 이용되는 논리적 개념이며, 섹터는 오버헤드 데이터(overhead data)를 포함하지 않고, 오버헤드 데이터는 컨트롤러에 국한된다. 오버헤드 데이터는 섹터의 사용자 데이터로부터 계산된 에러 정정 코드(Error Correction Code, ECC)를 포함할 수 있다. 컨트롤러의 일부(후술함)가 데이터가 어레이로 프로그램되고 있을 때 ECC를 계산하고, 또한 데이터가 어레이로부터 읽혀지고 있을 때 ECC를 체크한다. 대체가능한 것으로, ECC 및/또는 다른 오버헤드 데이터가 그들과 관련된 사용자 데이터와는 다른 페이지들에 저장되거나, 심지어 다른 블록들에 저장된다.
한 섹터의 사용자 데이터는 전형적으로 512 바이트들이며, 이는 자기 디스크 드라이브(magnetic disk drive)들에서 한 섹터의 크기에 해당한다. 오버헤드 데이터는 전형적으로 추가의 16-20 바이트들이다. 많은 수의 페이지들이 한 블록을 형성하며, 그 수는 예컨대 8개 페이지들에서 32개, 64개, 128개 또는 더 많은 페이지들 중 임의의 수이다. 일부 실시예들에서는, 낸드 스트링들의 한 행이 한 블록을 포함한다.
한 실시예에서는 충분한 시간 동안 p-웰을 소거 전압(예컨대, 14-22 V)으로 올리고 선택된 블록의 워드 라인들은 접지시키되 소오스와 비트 라인들은 플로팅(floating)시킴으로써 메모리 저장 소자들이 소거된다. 용량성 결합으로 인해, 선택되지 않은 워드 라인들, 비트 라인들, 셀렉트 라인들 및 c-소오스도 또한 소거 전압의 상당한 비율까지 올려진다. 따라서 강한 전기장이 선택된 저장 소자들의 터널 산화물 층들에 인가되고, 전형적으로 파울러-노르드하임 터널링 메카니즘(Fowler-Nordheim tunneling mechanism)에 의해 플로팅 게이트들의 전자들이 기판 측으로 방출되면서 선택된 저장 소자들의 데이터가 소거된다. 전자들이 플로팅 게이트로부터 p-웰 영역으로 전달되고, 선택된 저장 소자의 VTH가 낮춰진다. 소거는 전체 메모리 어레이 상에서, 별도의 블록들 상에서, 또는 또 다른 단위의 저장 소자들 상에서 수행될 수 있다.
도 12b는 단일 행/열 디코더들과 읽기/쓰기 회로들을 이용하는 비휘발성 메모리 시스템의 블록도이다. 이 도면은 본 발명의 한 실시예에 따라, 한 페이지의 저장 소자들을 병렬로 읽고 프로그램하기 위한 읽기/쓰기 회로들을 가지는 메모리 디바이스(1296)를 예시한 것이다. 메모리 디바이스(1296)는 하나 이상의 메모리 다이(1298)를 포함할 수 있다. 메모리 다이(1298)는 저장 소자들의 이차원 어레이(1100), 제어 회로(1210), 및 읽기/쓰기(read/write) 회로들(1265)을 포함한다. 일부 실시예들에서는, 저장 소자들의 어레이가 삼차원일 수 있다. 메모리 어레이(1100)는 행 디코더(1230)를 통해 워드 라인들에 의해 그리고 열 디코더(1260)를 통해 비트 라인들에 의해 어드레스가능하다. 읽기/쓰기 회로들(1265)은 복수의 감지 블록들(sense blocks)(1200)을 포함하고 한 페이지의 저장 소자들이 병렬로 읽히고 또는 프로그램될 수 있게 해준다. 전형적으로 컨트롤러(1250)는 하나 이상의 메모리 다이(1298)와 동일한 메모리 디바이스(1296)(예컨대, 착탈가능한 저장 카드)에 포함된다. 명령들과 데이터가 라인들(1220)을 통해 호스트와 컨트롤러(1250) 사이에서 그리고 라인들(1218)을 통해 컨트롤러와 하나 이상의 메모리 다이(1298) 사이에서 전달된다.
제어 회로(1210)는 메모리 어레이(1100) 상에서 메모리 동작들을 수행하기 위해 읽기/쓰기 회로들(1265)과 협력한다. 제어 회로(1210)는 스테이트 머신(state machine)(1212), 온-칩(on-chip) 어드레스 디코더(1214) 및 전력 제어 모듈(1216)을 포함한다. 스테이트 머신(1212)은 메모리 동작들에 대해 칩-레벨의 제어를 제공하고, ECC 디코딩 엔진을 포함할 수 있다. 온-칩 어드레스 디코더(1214)는 호스트나 메모리 컨트롤러에 의해 이용되는 어드레스와 디코더들(1230, 1260)에 의해 이용되는 하드웨어 어드레스 사이의 어드레스 인터페이스를 제공한다. 전력 제어 모듈(1216)은 메모리 동작들 동안에 워드 라인들 및 비트 라인들에 공급되는 전력 및 전압들을 제어한다.
일부 실시예들에서는, 도 12b의 컴포넌트들의 일부가 조합될 수 있다. 다양한 설계들에서, 저장 소자 어레이(1100)를 제외한 하나 이상의 컴포넌트들(단독으로 또는 조합으로)이 관리 회로(managing circuit)로 간주될 수 있다. 예를 들면, 하나 이상의 관리 회로들은 제어 회로(1210), 스테이트 머신 회로(1212), 디코더들(1214/1260), 전력 제어(1216), 감지 블록들(1200), 읽기/쓰기 회로들(1265), 컨트롤러(1250) 등에서 어떤 것도 포함할 수 있다.
또 다른 접근법에서는, 비휘발성 메모리 시스템이 이중의(dual) 행/열 디코더들과 읽기/쓰기 회로들을 이용하며, 이 경우에 다양한 주변 회로들에 의한 메모리 어레이(1100)로의 액세스가 어레이의 맞은편 측면들 상에서 대칭적인 방식으로 구현되므로, 각 측면에서의 액세스 라인들과 회로들의 밀도가 절반으로 감소된다. 따라서, 두 개의 행 디코더들, 두 개의 열 디코더들, 어레이(1100)의 하부로부터 비트 라인들에 연결되는 읽기/쓰기 회로들, 그리고 어레이(1100)의 상부로부터 비트 라인들에 연결되는 읽기/쓰기 회로들이 있다.
도 13은 감지 블록의 한 실시예를 도시한 블록도이다. 개별 감지 블록(1200)은 감지 모듈(1280)로 지칭되는 코어부(core portion)와 공통부(common portion)(1290)로 분할된다. 한 실시예에서는, 각 비트 라인에 대해 별도의 감지 모듈(1280)이 있을 것이고 한 세트의 복수의 감지 모듈들(1280)에 대해서 하나의 공통부(1290)가 있을 것이다. 한 예에서는, 한 감지 블록이 하나의 공통부(1290)와 8개의 감지 모듈들(1280)을 포함할 것이다. 한 그룹에서 각각의 감지 모듈은 데이터 버스(1272)를 통해 관련 공통부와 통신할 것이다. 더 상세한 내용에 관해서는, 2006년 6월 29일 공개된 "Non-Volatile Memory and Method with Shared Processing for an Aggregate of Sense Amplifiers"라는 제목의 미국공개 제2006/0140007호를 참조할 것이며, 이 특허 문헌은 본 명세서에서 전체가 참조로서 포함된다.
감지 모듈(1280)은 연결된 비트 라인에서의 전도 전류(conduction current)가 소정의 임계 레벨보다 위인지 아래인지를 판별하는 감지 회로(sense circuitry)(1270)를 포함한다. 감지 모듈(1280)은 또한 연결된 비트 라인 상의 전압 조건을 설정하는데 이용되는 비트 라인 래치(latch)(1282)를 포함한다. 예를 들면, 비트 라인 래치(1282)에 래치된 소정의 상태는 연결된 비트 라인을 프로그램 방지(program inhibit)로 지정된 소정의 상태(예컨대, 1.5-3 V)로 끌어올리게 할 수 있다.
공통부(1290)는 프로세서(1292), 한 세트의 데이터 래치들(1294), 및 데이터 래치들의 세트(1294)와 데이터 버스(1220) 사이에 연결되는 I/O 인터페이스(1296)를 포함한다. 프로세서(1292)는 연산(computation)을 수행한다. 예를 들면, 그 기능들 중 하나는 감지된 저장 소자에 저장된 데이터를 판별하고 그 판별된 데이터를 데이터 래치들의 세트에 저장하는 것이다. 데이터 래치들의 세트(1294)는 읽기 동작 동안에 프로세서(1292)에 의해 판별되는 데이터 비트들을 저장하는데 이용된다. 그것은 또한 프로그램 동작 동안에 데이터 버스(1220)로부터 입수되는 데이터 비트들을 저장하는데 이용된다. 입수되는 데이터 비트들은 메모리로 프로그램되도록 의도된 쓰기 데이터(write data)를 나타낸다. I/O 인터페이스(1296)는 데이터 래치들(1294)과 데이터 버스(1220) 간의 인터페이스를 제공한다.
읽기 또는 감지하는 동안에, 시스템의 동작은 어드레스되는 메모리 소자에 서로 다른 컨트롤 게이트 전압들을 공급하는 것을 제어하는 스테이트 머신(1222)의 제어하에 있다. 메모리에 의해 지원되는 다양한 메모리 상태들에 해당하는 다양한 기정의된 컨트롤 게이트 전압들을 거치면서, 감지 모듈(1280)은 이 전압들 중 하나에서 트립(trip)될 수 있고 출력이 버스(1272)를 통해 감지 모듈(1280)로부터 프로세서(1292)로 제공될 것이다. 그 시점에서, 프로세서(1292)는 감지 모듈의 트립핑 이벤트(들)와 입력 라인들(1293)을 통해 스테이트 머신으로부터 인가되는 컨트롤 게이트 전압에 관한 정보를 고려함으로써 결과적인 메모리 상태를 판별한다. 그런 다음 프로세서는 메모리 상태에 대한 이진 인코딩을 계산하여 결과적인 데이터 비트들을 데이터 래치들(1294)로 저장한다. 코어부에 관한 또 다른 실시예에서는, 비트 라인 래치(1282)가 이중 임무, 즉 감지 모듈(1280)의 출력을 래치하기 위한 래치로서 그리고 전술된 바와 같이 비트 라인 래치로서의 임무를 모두 수행한다.
일부 구현예들에서는 복수의 프로세서들(1292)이 포함될 것으로 예상된다. 한 실시예에서는, 각 프로세서(1292)가 출력 라인(미도시됨)을 포함할 것이고, 출력 라인들 각각이 함께 연결-논리합(wired-OR)으로 연결된다. 일부 실시예들에서는, 출력 라인들이 연결-논리합 라인에 연결되기 전에 반전(inverted) 된다. 이 구성은 연결-논리합을 받는 스테이트 머신에 의해 프로그램되고 있는 모든 비트들이 원하는 레벨에 언제 도달했는지를 판별될 수 있기 때문에 프로그램 검증 절차 동안에 프로그램 절차가 언제 완료되었는지에 대한 빠른 판별을 가능하게 해준다. 예를 들면, 각 비트가 원하는 레벨에 도달하면, 그 비트에 대해서 논리값 0이 연결-논리합 라인으로 보내질 것이다(또는 반전된 데이터 1). 모든 비트들이 데이터 0을 출력하면(또는 반전된 데이터 1), 스테이트 머신은 프로그램 절차를 종료해야 함을 알게 된다. 각 프로세서가 8개의 감지 모듈들과 통신하기 때문에, 스테이트 머신은 연결-논리합 라인을 8번 읽어야며, 또는 스테이트 머신이 연결-논리합 라인을 한 번만 읽으면 되도록 관련 비트 라인들의 결과들을 축적하는 로직(logic)이 프로세서(1292)에 부가된다. 유사하게, 로직 레벨들을 정확히 선택함으로써, 전역(global) 스테이트 머신은 첫번째 비트가 언제 그 상태를 바꾸는지를 판별할 수 있고 이에 따라 알고리듬들을 바꿀 수 있다.
프로그램 또는 검증 동안에, 프로그램될 데이터는 데이터 버스(1220)로부터 데이터 래치들의 세트(1294)에 저장된다. 스테이트 머신의 제어하에서, 프로그램 동작은 어드레스되는 저장 소자들의 컨트롤 게이트들에 인가되는 일련의 프로그램 전압 펄스들을 포함한다. 각 프로그램 펄스에 이어서 저장 소자가 원하는 메모리 상태로 프로그램되었는지를 판별하기 위해 다시 읽기(read back)(검증)가 뒤따른다. 프로세서(1292)는 원하는 메모리 상태와 비교하여 다시 읽은 메모리 상태를 관찰한다. 두 개의 상태들이 서로 일치하면, 프로세서(1292)는 프로그램 방지로 지정된 상태로 그 비트 라인이 끌어올려 지도록 비트 라인 래치(1282)를 설정한다. 이는 프로그램 펄스들이 그 컨트롤 게이트 상에 나타난다 하더라도 비트 라인에 연결된 저장 소자가 더 이상 프로그램되는 것을 방지한다. 다른 실시예들에서는 프로세서가 초기에 비트 라인 래치(1282)를 로드(load)하고 감지 회로가 검증 절차 동안에 그것을 방지 값(inhibit value)으로 설정한다.
데이터 래치 스택(1294)은 감지 모듈에 대응되는 데이터 래치들의 스택을 포함한다. 한 실시예에서는, 감지 모듈(1280)마다 세 개의 데이터 래치들이 존재한다. 일부 실시예들에서는(하지만 필수적인 것은 아님), 데이터 래치들이 쉬프트 레지스터(shift register)로 구현되므로 여기에 저장된 병렬 데이터는 데이터 버스(1220)에 대해 직렬 데이터로 변환되며, 또한 그 반대의 경우로 된다. 바람직한 실시예에서는, 블록 쉬프트 레지스터를 형성하도록 m개의 저장 소자들의 읽기/쓰기 블록에 대응되는 모든 데이터 래치들이 함께 연결될 수 있어서 한 블록의 데이터가 직렬 전송에 의하여 입출력될 수 있다. 특히, 읽기/쓰기 모듈들의 뱅크(bank)가 조정되므로 그 세트의 데이터 래치들 각각은 마치 그들이 전체 읽기/쓰기 블록에 대한 쉬프트 레지스터의 일부인 것처럼 데이터 버스로 또는 데이터 버스로부터 차례로 데이터를 쉬프트할 것이다.
도 14는 모든 비트 라인 메모리 아키텍처(all bit line memory architecture)에 대한 또는 홀수-짝수 메모리 아키텍처(odd-even memory architecture)에 대한 메모리 어레이를 블록들로 구성한 예를 예시한 것이다. 메모리 어레이(1100)의 예시적인 구조가 서술되어 있다. 한 예로서, 1,024개의 블록들로 분할되는 낸드 플래쉬 EEPROM이 서술된다. 각 블록에 저장된 데이터는 동시에 소거될 수 있다. 한 실시예에서는, 블록이 동시에 소거되는 저장 소자들의 최소 단위이다. 이 예에서는, 각 블록 내에 비트 라인들 BL0, BL1,…, BL8511에 해당되는 8,512개의 열들이 존재한다. 모든 비트 라인(all bit line, ABL) 아키텍처(1410)라고 지칭되는 한 실시예에서는, 한 블록의 모든 비트 라인들이 읽기 및 프로그램 동작들 동안에 동시에 선택될 수 있다. 공통의 워드 라인을 따라 임의의 비트 라인에 연결되는 저장 소자들이 동시에 프로그램될 수 있다.
제공된 예에서는, 네 개의 저장 소자들이 하나의 낸드 스트링을 형성하도록 직렬로 연결된다. 각 낸드 스트링 내에 네 개의 저장 소자들이 포함되는 것으로 도시되어 있지만, 네 개보다 많거나 또는 적은 개수(예컨대, 16, 32, 64, 또는 또 다른 개수)가 이용될 수 있다. 낸드 스트링의 하나의 단자는 드레인 셀렉트 게이트(셀렉트 게이트 드레인 라인 SGD에 연결되는)를 통해 해당 비트 라인에 연결되고, 또 다른 단자는 소오스 셀렉트 게이트(셀렉트 게이트 소오스 라인 SGS에 연결되는)를 통해 c-소오스에 연결된다.
홀수-짝수 아키텍처(1400)라고 지칭되는 또 다른 실시예에서는, 비트 라인들이 짝수 비트 라인들(BLe)과 홀수 비트 라인들(BLo)로 나뉜다. 홀수/짝수 비트 라인 아키텍처에서는, 공통의 워드 라인을 따라 홀수 비트 라인들에 연결되는 저장 소자들이 한번에 프로그램되는 반면, 공통의 워드 라인을 따라 짝수 비트 라인들에 연결되는 저장 소자들이 다른 한번에 프로그램된다. 이 예에서는, 각 블록 내에 짝수 열들과 홀수 열들로 나뉘는 8,512개의 열들이 존재한다. 이 예에서는, 네 개의 저장 소자들이 하나의 낸드 스트링을 형성하도록 직렬로 연결되는 것으로 도시되어 있다. 네 개의 저장 소자들이 각 낸드 스트링에 포함되는 것으로 도시되어 있지만, 네 개보다 많거나 또는 적은 개수의 저장 소자들이 이용될 수 있다.
읽기 및 프로그램 동작들의 하나의 구성 동안에, 4,256개의 저장 소자들이 동시에 선택된다. 선택된 저장 소자들이 동일한 워드 라인과 동일한 유형의 비트 라인(예컨대, 짝수나 홀수)을 가진다. 그러므로, 하나의 논리적 페이지를 형성하는 532개 바이트의 데이터가 동시에 읽히거나 프로그램될 수 있고, 메모리의 하나의 블록은 적어도 8개의 논리적 페이지들(홀수 및 짝수 페이지들 각각에 네 개의 워드 라인들)을 저장할 수 있다. 다중-상태 저장 소자들에 대해서는, 각각의 저장 소자가 두 비트의 데이터를 저장하고, 이들 두 비트 중 각각이 서로 다른 페이지에 저장될 때, 한 블록은 16개의 논리적 페이지들을 저장한다. 다른 크기의 블록들 및 페이지들도 역시 이용될 수 있다.
ABL 또는 홀수-짝수 아키텍처 중 어느 하나에 대하여, 저장 소자들은 p-웰을 소거 전압(예컨대, 20 V)으로 올리고 선택된 블록의 워드 라인들을 접지시킴으로써 소거될 수 있다. 소오스와 비트 라인들은 플로팅 상태이다. 소거는 전체 메모리 어레이 상에서, 별도의 블록들 상에서, 또는 메모리 디바이스의 일부분인 다른 단위의 저장 소자들 상에서 수행될 수 있다. 전자들이 저장 소자들의 플로팅 게이트들에서 p-웰 영역으로 전달되므로 저장 소자들의 VTH는 음이 된다.
읽기 및 검증 동작들에서, 셀렉트 게이트들(SGD, SGS)은 2.5-4.5 V 범위의 전압에 연결되고, 선택되지 않은 워드 라인들(예컨대, WL2가 선택된 워드 라인일 때 WL0, WL1, WL3)은 트랜지스터들을 패스 게이트들로서 동작하도록 만들기 위해 읽기 패스 전압 VREAD(전형적으로 4.5 내지 6 V 범위의 전압)로 올려진다. 선택된 워드 라인 WL2는 전압에 연결되며, 이 전압의 레벨은 대상 저장 소자의 VTH가 이러한 레벨 위인지 아래인지를 판별하기 위해 각각의 읽기 및 검증 동작에 대하여 특정된다. 예를 들면, 두-레벨 저장 소자에 대한 읽기 동작에서, 선택된 워드 라인 WL2는 접지될 수 있고, 따라서 VTH가 0 V보다 높은지 판별된다. 두 레벨 저장 소자에 대한 검증 동작에서, 예를 들어 선택된 워드 라인 WL2가 0.8 V로 연결되고, 따라서 VTH가 적어도 0.8 V에 도달했는지 아닌지가 검증된다. 소오스와 p-웰은 0 V에 있다. 짝수 비트 라인들(BLe)을 가정하면, 선택된 비트 라인들이 예컨대 0.7 V의 레벨로 프리-차지(pre-charge)된다. VTH가 워드 라인 상의 읽기 또는 검증 레벨보다 높으면, 관심 저장 소자와 관련된 비트 라인(BLe)의 전위 레벨은 비-전도 저장 소자 때문에 높은 레벨을 유지한다. 반면에, VTH가 읽기 또는 검증 레벨보다 낮으면, 전도 저장 소자가 비트 라인을 방전하기 때문에, 관심 비트 라인(BLe)의 전위 레벨은 예컨대 0.5 V보다 작은 낮은 레벨로 감소한다. 그리하여 저장 소자의 상태는 비트 라인에 연결되는 전압 비교기 감지 증폭기(voltage comparator sense amplifier)에 의해 검출될 수 있다.
위에서 서술된 소거, 읽기, 검증 동작들은 당해 기술 분야에서 주지의 기법들에 따라 수행된다. 따라서, 설명된 상세 내용들의 많은 것이 당해 기술 분야의 숙련된 자에 의해 변경될 수 있다. 당해 기술 분야에서 주지의 다른 소거, 읽기 및 검증 기법들도 또한 이용될 수 있다.
본 발명의 전술한 상세한 설명은 예시 및 설명의 목적으로 제시되었다. 상기 상세한 설명은 본 발명을 빠짐없이 완전히 제시한 것이라거나 본 발명을 개시된 특정 형태로 제한하고자 의도된 것이 아니다. 상기 교시 내용의 관점에서 수많은 수정 및 변경이 가능하다. 상기 서술된 실시예들은 본 발명의 원리 및 그 실제적인 응용을 가장 잘 설명함으로써 당해 기술분야의 숙련된 자들이 다양한 실시예들에서 그리고 예기된 특정 용도에 적합하게 다양한 수정들을 가하여 본 발명을 가장 잘 이용할 수 있도록 선택되었다. 본 발명의 범위는 본 명세서에 첨부된 청구항들에 의해 정의되도록 의도하는 바이다.

Claims (15)

  1. (a) 직렬-연결된 저장 소자들의 세트(200) 내의 특정 저장 소자(714) 상에서 상기 특정 저장 소자의 임계 전압(threshold voltage)을 제1 검증 레벨(verify level)(Vva-pw1, Vvb-pw1, Vvc-pw1, Vvx-pw1)로 올리기 위하여 프로그램 및 검증 동작들을 수행하고, 상기 검증 동작들 동안에 상기 세트의 직렬-연결된 저장 소자들 내의 상기 특정 저장 소자의 인접 저장 소자(724)에 제1 패스 전압(pass voltage)(Vread-pw1)을 인가하는 단계와;
    (b) 후속으로, 상기 인접 저장 소자의 임계 전압을 올리기 위하여 상기 인접 저장 소자 상에서 프로그램 및 검증 동작들을 수행하는 단계와;
    (c) 후속으로, 상기 특정 저장 소자의 상기 임계 전압을 상기 제1 검증 레벨 위의 제2 검증 레벨(Vva-pw2, Vvb-pw2, Vvc-pw2, Vvx-pw2)로 올리기 위하여 상기 특정 저장 소자 상에서 추가의 프로그램 및 검증 동작들을 수행하고, 상기 추가의 검증 동작들 동안에 상기 인접 저장 소자에 상기 제1 패스 전압과 다른 제2 패스 전압(Vread-pw2)을 인가하는 단계
    를 포함하는 비휘발성 저장 장치의 가동 방법.
  2. 제1항에 있어서,
    상기 (b) 단계는 상기 인접 저장 소자의 임계 전압을 상기 제1 검증 레벨로 올리며, 상기 방법은
    (d) 상기 (c) 단계 후에, 상기 인접 저장 소자의 상기 임계 전압을 상기 제2 검증 레벨로 올리기 위하여 상기 인접 저장 소자 상에서 추가의 프로그램 및 검증 동작들을 수행하는 단계를 더 포함하는 비휘발성 저장 장치의 가동 방법.
  3. 제1항 또는 제2항에 있어서,
    상기 제1 패스 전압은 상기 제2 패스 전압보다 낮은 것인 비휘발성 저장 장치의 가동 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 (a) 단계에서 상기 인접 저장 소자에 상기 제1 패스 전압을 인가하는 동안에, 그리고 상기 (c) 단계에서 상기 인접 저장 소자에 상기 제2 패스 전압을 인가하는 동안에, 상기 세트의 저장 소자들 내의 적어도 하나의 다른 저장 소자에 동일한 패스 전압(Vread-pass)을 인가하는 것을 더 포함하는 비휘발성 저장 장치의 가동 방법.
  5. 제1항 또는 제2항에 있어서,
    프로그램 순서에 있어서 상기 인접 저장 소자는 상기 특정 저장 소자의 뒤에 있는 것인 비휘발성 저장 장치의 가동 방법.
  6. 제1항 또는 제2항에 있어서,
    상기 특정 저장 소자의 상기 임계 전압은 상기 (a) 단계의 시작시에 소거된 상태(E)에 있는 것인 비휘발성 저장 장치의 가동 방법.
  7. 제1항 또는 제2항에 있어서,
    상기 특정 저장 소자의 상기 임계 전압은 상기 (a) 단계의 시작시에 상기 제1 검증 레벨의 아래에 그리고 소거된 상태(E)의 위에 있는 중간 레벨(INT)에 있는 것인 비휘발성 저장 장치의 가동 방법.
  8. 직렬-연결된 저장 소자들의 세트(200)와; 그리고
    적어도 하나의 제어 회로(1210, 1250)를 포함하며,
    상기 적어도 하나의 제어 회로는 (a) 상기 세트의 직렬-연결된 저장 소자들 내의 특정 저장 소자(714) 상에서 상기 특정 저장 소자의 임계 전압(threshold voltage)을 제1 검증 레벨(verify level)(Vva-pw1, Vvb-pw1, Vvc-pw1, Vvx-pw1)로 올리기 위하여 프로그램 및 검증 동작들을 수행하고, 상기 검증 동작들 동안에 상기 세트의 직렬-연결된 저장 소자들 내의 상기 특정 저장 소자의 인접 저장 소자(724)에 제1 패스 전압(pass voltage)(Vread-pw1)을 인가하고, (b) 후속으로 상기 인접 저장 소자의 임계 전압을 올리기 위하여 상기 인접 저장 소자 상에서 프로그램 및 검증 동작들을 수행하고, (c) 후속으로 상기 특정 저장 소자의 상기 임계 전압을 상기 제1 검증 레벨 위의 제2 검증 레벨(Vva-pw2, Vvb-pw2, Vvc-pw2, Vvx-pw2)로 올리기 위하여 상기 특정 저장 소자 상에서 추가의 프로그램 및 검증 동작들을 수행하고, 상기 추가의 검증 동작들 동안에 상기 인접 저장 소자에 상기 제1 패스 전압과 다른 제2 패스 전압(Vread-pw2)을 인가하는 것인 비휘발성 저장 장치.
  9. 제8항에 있어서,
    상기 특정 저장 소자 상에서의 상기 추가의 프로그램 및 검증 동작들은 상기 인접 저장 소자의 임계 전압을 상기 제1 검증 레벨로 올리고, 상기 특정 저장 소자 상에서의 상기 추가의 프로그램 및 검증 동작들을 수행한 후에 상기 적어도 하나의 제어 회로는 상기 인접 저장 소자의 상기 임계 전압을 상기 제2 검증 레벨로 올리기 위하여 상기 인접 저장 소자 상에서 추가의 프로그램 및 검증 동작들을 수행하는 것인 비휘발성 저장 장치.
  10. 제8항 또는 제9항에 있어서,
    상기 제1 패스 전압은 상기 제2 패스 전압보다 낮은 것인 비휘발성 저장 장치.
  11. 제8항 또는 제9항에 있어서,
    상기 세트의 직렬-연결된 저장 소자들은 낸드 스트링(NAND string)으로 제공되는 것인 비휘발성 저장 장치.
  12. 제8항 또는 제9항에 있어서,
    상기 인접 저장 소자에 상기 제1 패스 전압을 인가하는 동안에, 그리고 상기 인접 저장 소자에 상기 제2 패스 전압을 인가하는 동안에, 상기 적어도 하나의 제어 회로는 상기 세트의 저장 소자들 내의 적어도 하나의 다른 저장 소자에 동일한 패스 전압(Vread-pass)을 인가하는 것인 비휘발성 저장 장치.
  13. 제8항 또는 제9항에 있어서,
    프로그램 순서에 있어서 상기 인접 저장 소자는 상기 특정 저장 소자의 뒤에 있는 것인 비휘발성 저장 장치.
  14. 제8항 또는 제9항에 있어서,
    상기 적어도 하나의 제어 회로가 상기 특정 저장 소자 상에서 프로그램 및 검증 동작들을 수행하기 시작할 때 상기 특정 저장 소자의 상기 임계 전압은 소거된 상태(E)에 있는 것인 비휘발성 저장 장치.
  15. 제8항 또는 제9항에 있어서,
    상기 적어도 하나의 제어 회로가 상기 특정 저장 소자 상에서 프로그램 및 검증 동작들을 수행하기 시작할 때 상기 특정 저장 소자의 상기 임계 전압은 상기 제1 검증 레벨의 아래에 그리고 소거된 상태(E)의 위에 있는 중간 레벨(INT)에 있는 것인 비휘발성 저장 장치.
KR1020117011139A 2008-10-16 2009-09-23 워드 라인 결합을 이용한 메모리의 다중-패스 프로그램 KR101595045B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/252,727 US7839687B2 (en) 2008-10-16 2008-10-16 Multi-pass programming for memory using word line coupling
US12/252,727 2008-10-16

Publications (2)

Publication Number Publication Date
KR20110084256A KR20110084256A (ko) 2011-07-21
KR101595045B1 true KR101595045B1 (ko) 2016-02-17

Family

ID=41314562

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117011139A KR101595045B1 (ko) 2008-10-16 2009-09-23 워드 라인 결합을 이용한 메모리의 다중-패스 프로그램

Country Status (7)

Country Link
US (1) US7839687B2 (ko)
EP (1) EP2345038B1 (ko)
JP (1) JP5396481B2 (ko)
KR (1) KR101595045B1 (ko)
CN (1) CN102187399B (ko)
TW (1) TWI480878B (ko)
WO (1) WO2010044993A1 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8064252B2 (en) 2008-11-21 2011-11-22 Micron Technology, Inc. Multi-pass programming in a memory device
KR101015758B1 (ko) * 2009-05-29 2011-02-22 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 이를 이용한 프로그램 동작 방법
US8310870B2 (en) * 2010-08-03 2012-11-13 Sandisk Technologies Inc. Natural threshold voltage distribution compaction in non-volatile memory
US8472280B2 (en) * 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
KR101798013B1 (ko) * 2010-12-30 2017-11-16 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법
US8681562B2 (en) 2011-01-10 2014-03-25 Micron Technology, Inc. Memories and methods of programming memories
KR20130034919A (ko) * 2011-09-29 2013-04-08 에스케이하이닉스 주식회사 반도체 장치 및 이의 동작 방법
KR20130071686A (ko) * 2011-12-21 2013-07-01 에스케이하이닉스 주식회사 반도체 메모리 장치 및 이의 동작 방법
US8988942B2 (en) 2012-07-02 2015-03-24 Sandisk Technologies Inc. Methods for extending the effective voltage window of a memory cell
KR20140076128A (ko) * 2012-12-12 2014-06-20 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 동작 방법과, 이를 포함하는 데이터 처리 시스템
US9047970B2 (en) 2013-10-28 2015-06-02 Sandisk Technologies Inc. Word line coupling for deep program-verify, erase-verify and read
US9251903B2 (en) 2014-03-13 2016-02-02 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device and control method thereof
US9767894B2 (en) 2014-06-09 2017-09-19 Micron Technology, Inc. Programming memories with stepped programming pulses
US9423961B2 (en) 2014-09-08 2016-08-23 Apple Inc. Method to enhance programming performance in multilevel NVM devices
US9548124B1 (en) 2015-10-14 2017-01-17 Sandisk Technologies Llc Word line dependent programming in a memory device
US9711211B2 (en) 2015-10-29 2017-07-18 Sandisk Technologies Llc Dynamic threshold voltage compaction for non-volatile memory
JP6502880B2 (ja) 2016-03-10 2019-04-17 東芝メモリ株式会社 半導体記憶装置
US11238933B2 (en) 2018-02-26 2022-02-01 Samsung Electronics Co., Ltd. Non-volatile memory device including a verify circuit to control word and bit line voltages and method of operating the same
US10510413B1 (en) 2018-08-07 2019-12-17 Sandisk Technologies Llc Multi-pass programming with modified pass voltages to tighten threshold voltage distributions
US10937512B2 (en) 2019-01-22 2021-03-02 International Business Machines Corporation Managing programming errors in NAND flash memory

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006228494A (ja) * 2005-02-16 2006-08-31 Seiko Epson Corp 照明装置
US20070297226A1 (en) * 2006-06-22 2007-12-27 Nima Mokhlesi Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
KR20100006058A (ko) * 2008-07-08 2010-01-18 삼성전자주식회사 메모리 장치의 작동 방법
US20100061151A1 (en) * 2008-09-11 2010-03-11 Toru Miwa Multi-pass programming for memory with reduced data storage requirement

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3210259B2 (ja) * 1996-04-19 2001-09-17 株式会社東芝 半導体記憶装置及び記憶システム
US6134140A (en) * 1997-05-14 2000-10-17 Kabushiki Kaisha Toshiba Nonvolatile semiconductor memory device with soft-programming to adjust erased state of memory cells
JPH11163173A (ja) * 1997-09-26 1999-06-18 Sony Corp 不揮発性半導体記憶装置と、その読み出し方法、及び書き込み方法
JP3886673B2 (ja) * 1999-08-06 2007-02-28 株式会社東芝 不揮発性半導体記憶装置
KR100463194B1 (ko) * 2001-02-16 2004-12-23 삼성전자주식회사 낸드형 플래쉬 메모리 장치의 프로그램 방법
US6522580B2 (en) * 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6781877B2 (en) * 2002-09-06 2004-08-24 Sandisk Corporation Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells
JP3935139B2 (ja) * 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
US7196928B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7196946B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling in non-volatile storage
ITRM20050310A1 (it) * 2005-06-15 2006-12-16 Micron Technology Inc Convergenza a programmazione selettiva lenta in un dispositivo di memoria flash.
KR100691379B1 (ko) * 2005-06-24 2007-03-09 삼성전자주식회사 프로그램 동작 안정성이 향상된 불휘발성 반도체 메모리장치 및 이에 대한 프로그램 구동방법
US7355889B2 (en) * 2005-12-19 2008-04-08 Sandisk Corporation Method for programming non-volatile memory with reduced program disturb using modified pass voltages
US7447094B2 (en) * 2005-12-29 2008-11-04 Sandisk Corporation Method for power-saving multi-pass sensing in non-volatile memory
TWI335596B (en) 2006-06-02 2011-01-01 Sandisk Corp Method and system for data pattern sensitivity compensation using different voltage
US7616506B2 (en) * 2006-12-28 2009-11-10 Sandisk Corporation Systems for complete word line look ahead with efficient data latch assignment in non-volatile memory read operations
US7616505B2 (en) * 2006-12-28 2009-11-10 Sandisk Corporation Complete word line look ahead with efficient data latch assignment in non-volatile memory read operations
US7606070B2 (en) * 2006-12-29 2009-10-20 Sandisk Corporation Systems for margined neighbor reading for non-volatile memory read operations including coupling compensation
US7564715B2 (en) * 2007-02-20 2009-07-21 Sandisk Corporation Variable initial program voltage magnitude for non-volatile storage
US7652929B2 (en) * 2007-09-17 2010-01-26 Sandisk Corporation Non-volatile memory and method for biasing adjacent word line for verify during programming

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006228494A (ja) * 2005-02-16 2006-08-31 Seiko Epson Corp 照明装置
US20070297226A1 (en) * 2006-06-22 2007-12-27 Nima Mokhlesi Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
KR20100006058A (ko) * 2008-07-08 2010-01-18 삼성전자주식회사 메모리 장치의 작동 방법
US20100061151A1 (en) * 2008-09-11 2010-03-11 Toru Miwa Multi-pass programming for memory with reduced data storage requirement

Also Published As

Publication number Publication date
KR20110084256A (ko) 2011-07-21
US20100097861A1 (en) 2010-04-22
CN102187399B (zh) 2013-12-11
EP2345038B1 (en) 2016-10-26
JP2012506103A (ja) 2012-03-08
CN102187399A (zh) 2011-09-14
TW201032235A (en) 2010-09-01
TWI480878B (zh) 2015-04-11
WO2010044993A1 (en) 2010-04-22
EP2345038A1 (en) 2011-07-20
JP5396481B2 (ja) 2014-01-22
US7839687B2 (en) 2010-11-23

Similar Documents

Publication Publication Date Title
KR101595045B1 (ko) 워드 라인 결합을 이용한 메모리의 다중-패스 프로그램
CN108292519B (zh) 用于非易失性存储器的子块模式
KR101632367B1 (ko) 데이터 저장 요건이 감소된 메모리를 위한 복수-패스 프로그래밍
KR101667007B1 (ko) 비휘발성 저장장치에서 판독 동작 동안의 커플링에 대한 보상
CN106688042B (zh) 用于数据刷新的部分块擦除
KR101546460B1 (ko) 최소 여분 시간 패널티를 갖는 혼란을 감소시키기 위한 개선된 프로그래밍 알고리즘
EP2446443B1 (en) Forecasting program disturb in memory by detecting natural threshold voltage distribution
EP2368248B1 (en) Adaptive erase and soft programming for memory
JP5444468B2 (ja) パス電圧の外乱及びフローティングゲートから制御ゲートへのリークを低減するメモリプログラム
KR101519081B1 (ko) 비휘발성 저장소에서 채널 부스팅을 증가시키기 위한 강화된 비트라인 프리챠지 방식
EP2748819B1 (en) Read compensation for partially programmed blocks of non-volatile storage
KR20130084610A (ko) 동기화된 커플링을 이용한 비휘발성 저장소자의 프로그래밍
KR20110037986A (ko) 비휘발성 저장 소자를 위한 소거-검증 프로세스
US11309030B2 (en) Word line discharge skip for faster read time
KR101554940B1 (ko) 제어 게이트 라인 아키텍쳐
KR101130332B1 (ko) 비휘발성 메모리에 대한 최상위 다중-레벨 상태의 고속 프로그래밍
JP4950299B2 (ja) 複数のブーストモードを使用した不揮発性メモリ内のプログラム妨害の低減

Legal Events

Date Code Title Description
N231 Notification of change of applicant
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: 20190116

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20200115

Year of fee payment: 5