KR20100085037A - 제어 게이트 라인 아키텍쳐 - Google Patents

제어 게이트 라인 아키텍쳐 Download PDF

Info

Publication number
KR20100085037A
KR20100085037A KR1020107008154A KR20107008154A KR20100085037A KR 20100085037 A KR20100085037 A KR 20100085037A KR 1020107008154 A KR1020107008154 A KR 1020107008154A KR 20107008154 A KR20107008154 A KR 20107008154A KR 20100085037 A KR20100085037 A KR 20100085037A
Authority
KR
South Korea
Prior art keywords
word lines
lines
control
signal source
signal sources
Prior art date
Application number
KR1020107008154A
Other languages
English (en)
Other versions
KR101554940B1 (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 KR20100085037A publication Critical patent/KR20100085037A/ko
Application granted granted Critical
Publication of KR101554940B1 publication Critical patent/KR101554940B1/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/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/08Address circuits; Decoders; Word-line control circuits

Landscapes

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

Abstract

워드라인 단위의 제어를 요구하는 비선택 워드라인들의 서브세트에 대해 개별적으로 제어가능한 구동기들의 제한된 세트를 구비하고, 나머지 워드라인들은 공통 소스에 연결되게 함으로써, 워드라인들 보다 더 적은 수의 워드라인 구동기들을 포함하는 비휘발성 저장 시스템이 개시된다.

Description

제어 게이트 라인 아키텍쳐{CONTROL GATE LINE ARCHITECTURE}
본 발명은 비휘발성 저장소(non-volatile storage)의 기술에 관한 것이다.
반도체 메모리를 다양한 전자 디바이스들에 사용하는 것이 점점 보편화되고 있다. 예를 들어, 비휘발성 반도체 메모리는 휴대 전화기, 디지털 카메라, 개인 휴대 정보 단말기, 휴대용 연산 장치, 비-휴대용 연산 장치 및 기타 장치에서 사용된다. 전기적으로 소거 가능하고 프로그램 가능한 읽기 전용 메모리(EEPROM, Electrical Erasable Programmable Read Only Memory) 및 플래시 메모리가 가장 보편적인 비휘발성 반도체 메모리이다.
EEPROM과 플래시 메모리는, 반도체 기판의 채널 영역 위에 위치되어 그 채널 영역으로부터 절연되는 플로팅 게이트(floating gate)를 이용한다. 상기 플로팅 게이트는 소스와 드레인 영역 사이에 위치한다. 제어 게이트(control gate)가 상기 플로팅 게이트 위에 그 플로팅 게이트와 절연된 상태로 제공된다. 트랜지스터의 임계 전압(threshold voltage)은 플로팅 게이트 상에 유지되는 전하량에 의해 제어된다. 트랜지스터의 소스와 드레인 사이가 도통(conduction)이 되도록 트랜지스터가 턴온되기 전에 상기 제어 게이트에 인가되어야만 하는 최소 전압의 크기는 플로팅 게이트 상의 전하 레벨에 의해 제어된다. 따라서, (하나 이상의 트랜지스터들을 포함할 수 있는) 메모리 셀은 임계 전압을 변경하기 위하여 플로팅 게이트 상의 전하의 레벨을 변경함으로써 프로그램 또는 소거될 수 있다.
NAND 플래시 메모리 디바이스와 같은 EEPROM 또는 플래시 메모리 디바이스를 프로그램할 때, 전형적으로, 프로그램 전압이 제어 게이트에 인가되고 비트라인은 접지된다. 채널로부터의 전자들이 플로팅 게이트 내에 주입된다. 전자들이 플로팅 게이트에 축적되면, 그 플로팅 게이트는 음으로 대전되고, 메모리 셀의 임계 전압이 상승하게 되어, 그 메모리 셀은 프로그램 상태에 있게 된다. 이러한 프로그래밍에 대한 보다 많은 정보는, 그 명칭이 "Source Side Self Boosting Technique for Non-Volatile Memory"인 미국 특허 6,859,397호 및 그 명칭이 "Detecting Over Programmed Memory"인 미국 공개 특허 2005/0024939호에서 찾아볼 수 있으며, 이들 모두는 그 전체가 본 명세서의 참조로서 인용된다. 많은 디바이스들에서, 프로그램 동작 동안에 제어 게이트에 인가되는 프로그램 전압은 펄스들의 크기가 각 연속적인 펄스에서 사전에 정의된 스텝 사이즈(step size) 만큼 증가되는 일련의 펄스들로서 인가된다.
각 메모리 셀은 (아날로그 또는 디지털) 데이터를 저장할 수 있다. (이진 메모리 셀이라 불리는) 디지털 데이터 1 비트를 저장할 때, 메모리 셀의 가능한 임계 전압들은 논리 데이터 "1" 과 "0"에 할당되는 2개의 범위로 나뉜다. 일 예에서, 메모리 셀이 소거된 이후의 임계 전압은 음(negative)의 값을 가지고, 이는 논리 "1"로서 정의된다. 프로그래밍 이후, 임계 전압은 양(positive)의 값을 가지며, 이는 논리 "0"으로서 정의된다. 임계 전압이 음이고, 제어 게이트에 0 볼트(V)가 인가되어 판독이 시도될 때, 메모리 셀은 턴온되어 논리 1을 저장하고 있음을 나타낼 것이다. 임계 전압이 양이고, 제어 게이트에 0 볼트가 인가되어 판독 동작이 시도될 때, 메모리 셀은 턴온되지 않을 것이며, 이는 논리 0을 저장하고 있음을 나타낸다.
메모리 셀은 또한 (다중-상태 메모리 셀로 언급되는) 다중 레벨들의 정보를 저장할 수 있다. 다중 레벨의 데이터를 저장하는 경우, 가능한 임계 전압의 범위는 데이터 레벨의 수로 분할된다. 예를 들어, 4개의 정보 레벨이 저장되는 경우, 데이터 값 "11", "10", "01" 및 "00"에 할당되는 4개의 임계 전압 범위들이 존재할 것이다. 일 예에서, 소거 동작 이후의 임계 전압은 음이고, "11"로서 정의된다. 양의 임계 전압들은 "10", "01" 및 "00"의 상태들에 대해 이용된다. 8개의 정보 레벨들(또는 상태들)이 (예를 들어, 3비트의 데이터를 위해) 각 메모리 셀에 저장되는 경우, 데이터 값들 "000", "001", "010", "011", "100", "101", "110" 및 "111"에 할당되는 8개의 임계 전압 범위들이 존재할 것이다. 메모리 셀 내에 프로그램되는 데이터와 그 메모리 셀의 임계 전압 레벨들 간의 특정의 관계는 메모리 셀들에 대해 채택되는 데이터 엔코딩 체계에 의존한다. 예를 들어, 미국 특허 번호 6,222,762 및 미국 특허 출원 공개 번호 2004/0255090은 다중-상태 플래시 메모리 셀들을 위한 다양한 데이터 엔코딩 체계를 개시하고 있는 바, 이들은 본원의 참조로서 인용된다. 일 실시예에서, 데이터 값들은 그레이 코드 할당을 이용하여 임계 전압 범위에 할당되는데, 이는 플로팅 게이트의 임계 전압이 자신의 인접하는 물리적 상태로 잘못 천이하였을 지라도, 단지 하나의 논리 비트만 영향을 받도록 하기 위함이다. 몇몇 실시예에서, 데이터 엔코딩 체계는 상이한 워드라인들에 대해서 변경되거나, 또는 시간이 지남에 따라 변경되거나, 또는 랜덤 워드라인들에 대한 데이터 비트들이 반전되어 데이터 패턴의 감도(sensitivity)를 감소시키거나 또는 메모리 셀들 상에서 약하게 할 수도 있다. 다른 엔코딩 체계가 이용될 수도 있다.
많은 비휘발성 메모리 시스템들에서, 워드라인들 및 비트라인들은 개별적인 메모리 셀들을 액세스하는 데에 이용된다. 전형적으로, 워드라인들과 전압 구동기들은 일대일로 대응한다. 예를 들어, 한 블록 내에 32개의 워드라인들을 갖는 시스템들은 각 워드라인에 대해 하나씩 32개의 전압 구동기들을 가질 것이다. 더 높은 용량의 저장 디바이스들에 대한 수요를 충족시키기 위해, 보다 많은 메모리들을 가지며 그리고 이에 따라 블록당 더 많은 워드라인들을 갖는 시스템들이 설계되고 있다. 워드라인들이 증가됨으로써, 전압 구동기들의 수가 증가될 필요가 있다. 하지만, 공간은 제한되어 있다.
프로그램 동작 및 판독 동작을 위해서는, 선택된 워드라인 및 이웃하는 워드라인들의 세트에 대한 워드라인 단위의 제어(word line by word line control)가 필요하다. 나머지 워드라인들은 비선택(unselected) 워드라인들에 대한 레벨에 있게 될 것이며, 워드라인 단위의 제어를 필요로 하지 않는다. 여기에서 설명되는 기술은 다수의 비선택 워드라인들에 대해 공통 소스를 구비하고, 워드라인 단위의 제어를 요구하는 워드라인들에 대해 제한된 수의 개별적으로 제어가능한 소스들을 구비함으로써, 감소된 수의 구동기들을 제공한다.
일 실시예는 제 1 다수의 비휘발성 저장 요소들과; 상기 제 1 세트의 비휘발성 저장 요소들과 통신하는 제 1 세트의 제어 라인들과; 제 1 신호 소스와; 개별적으로 제어되는 신호 소스들의 세트와; 상기 제 1 세트의 제어 라인들, 상기 개별적으로 제어되는 신호 소스들의 세트 및 상기 제 1 신호 소스와 통신하는 제 1 브리지 회로와; 그리고 상기 제 1 브리지 회로와 통신하는 제어 회로를 포함한다. 상기 제 1 브리지 회로는 상기 제 1 세트의 제어 라인들 각각을 상기 제 1 신호 소스 또는 상기 개별적으로 제어되는 신호 소스들의 세트중 하나에 개별적으로 그리고 선택적으로 연결한다.
일 실시예는 제 1 다수의 비휘발성 저장 요소들과, 상기 제 1 다수의 비휘발성 저장 요소들과 통신하는 제 1 세트의 제어 라인들과, 공통 신호 소스와, 개별적으로 제어되는 신호 소스들의 세트와, 그리고 상기 제어 라인들의 세트와 통신하는 관리 회로를 포함한다. 상기 관리 회로는 데이터 액세스 동작을 위해 선택된 제어 라인에 대한 근접성(proximity)에 기초하여 제 1 세트의 제어 라인들의 각 제어 라인을 공통 신호 소스 또는 개별적으로 제어되는 신호 소스들중 하나에 연결한다. 이러한 관리 회로는, 데이터 액세스 동작을 위해 선택된 제어 라인에 대한 근접성에 기초하여 제 1 세트의 제어 라인들의 각 제어 라인이 공통 신호 소스 또는 개별적인 신호 소스에 연결되는 동안, 데이터 액세스 동작을 수행한다.
일 실시예는 데이터 액세스 동작을 위해 선택된 제어 라인에 대한 근접성에 기초하여 제 1 세트의 제어 라인들의 각 제어 라인을 제 1 공통 신호 소스 또는 다수의 개별적인 신호 소스들의 각 개별적인 신호 소스에 연결하는 단계와, 그리고 데이터 액세스 동작을 위해 선택된 제어 라인에 대한 근접성에 기초하여 상기 제 1 세트의 제어 라인들의 각 제어 라인이 제 1 공통 신호 소스 또는 개별적인 신호 소스에 연결되는 동안, 데이터 액세스 동작을 수행하는 단계를 포함한다. 상기 제 1 세트의 제어 라인들은 비휘발성 저장 요소들과 통신한다.
예시적인 일 구현에서, 제 1 세트의 제어 라인들은 워드라인들의 세트이며, 이러한 워드라인들은 디코더들, 신호 라인들 및 브리지 회로를 통해 제 1 공통 신호 소스 또는 다수의 개별적인 신호 소스들의 개별적인 신호 소스에 연결된다. 다른 구현들에서, 제어 라인들은 워드라인들 이외의 타입의 제어 라인들이 될 수 있다.
일 실시예는 데이터 액세스 동작에 대한 요청을 수신하는 단계와, 선택된 워드라인들을 결정하는 단계와, 데이터 액세스 동작을 위해 개별적으로 제어될 제 1 세트의 워드라인들을 결정하는 단계와, 데이터 액세스 동작을 위해 개별적으로 제어되지 않게 될 제 2 세트의 워드라인들을 결정하는 단계와, 그리고 제 1 세트의 워드라인들을 개별적으로 제어하고 제 2 세트의 워드라인들에 공통 신호를 제공하는 것을 포함하여 데이터 액세스 동작을 수행하는 단계를 포함한다.
일 실시예는 데이터 액세스 동작에 대한 요청을 수신하는 단계와, 선택된 워드라인들을 결정하는 단계와, 데이터 액세스 동작을 위해 개별적으로 제어될 제 1 세트의 워드라인들을 결정하는 단계와, 데이터 액세스 동작을 위해 개별적으로 제어되지 않게 될 제 2 세트의 워드라인들을 결정하는 단계와, 제 1 세트의 워드라인들 각각을 개별적으로 제어가능한 전압 신호들에 연결하는 단계와, 제 2 세트의 워드라인들 각각을 단일 전압 소스에 연결하는 단계와, 그리고 제 1 세트의 워드라인들이 개별적으로 제어가능한 전압 신호들에 연결되고 제 2 세트의 워드라인들이 단일의 전압 소스에 연결되는 동안, 데이터 액세스 동작을 수행하는 단계를 포함한다.
본 발명은 비휘발성 메모리 시스템들에서 더 높은 용량의 저장 디바이스들에 대한 수요를 충족시키면서도, 감소된 수의 구동기들을 이용하여 워드라인들을 구동시킬 수 있다.
도 1은 NAND 스트링의 평면도이다.
도 2는 NAND 스트링의 등가 회로도이다.
도 3은 비휘발성 메모리 시스템의 블록도이다.
도 4는 메모리 어레이의 일 실시예를 도시하는 블록도이다.
도 5는 감지 블록의 일 실시예를 도시하는 블록도이다.
도 6은 임계 전압 분포들의 예시적인 세트와 비휘발성 메모리를 프로그램하기 위한 프로세스를 도시한다.
도 7A 내지 7I는 다양한 임계 전압 분포들 및 비휘발성 메모리를 프로그램하기 위한 프로세스를 도시한다.
도 8은 비휘발성 메모리의 프로그래밍 순서의 일 예를 도시하는 테이블이다.
도 9A-9C는 다양한 임계 전압 분포들 및 비휘발성 메모리를 프로그램하기 위한 프로세스를 도시한다.
도 10은 비휘발성 메모리를 프로그램하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다.
도 11은 비휘발성 메모리 요소들을 프로그램하기 위한 프로세스의 일 실시예를 도시하는 흐름도이다.
도 12A-12C는 NAND 스트링들을 도시한다.
도 13은 어떻게 워드라인들이 분류(group)될 수 있고 개별적으로 제어가능한 신호 소스들에 선택적으로 연결되는 지를 도시한다.
도 14는 비휘발성 저장 시스템의 일부의 블록도이다.
도 15는 브리지 회로의 블록도이다.
도 16은 브리지 회로의 진리표(truth table)이다.
도 17은 브리지 회로의 개략도이다.
도 18은 비휘발성 저장 시스템을 동작시키는 프로세스의 일 실시예를 설명하는 흐름도이다.
도 19는 비휘발성 저장 시스템의 일부의 블록도이다.
도 20은 어떻게 워드라인들이 분류될 수 있고 개별적으로 제어가능한 신호 소스들에 선택적으로 연결되는 지를 도시한다.
도 21은 어떻게 워드라인들이 분류될 수 있고 개별적으로 제어가능한 신호 소스들에 선택적으로 연결되는 지를 도시한다.
도 22는 어떻게 워드라인들이 분류될 수 있고 개별적으로 제어가능한 신호 소스들에 선택적으로 연결되는 지를 도시한다.
도 23은 어떻게 워드라인들이 분류될 수 있고 개별적으로 제어가능한 신호 소스들에 선택적으로 연결되는 지를 도시한다.
플래시 메모리 시스템의 일 실시예는 NAND 구조를 이용하는 것으로, 이러한 NAND 구조는 두 개의 선택 게이트들 사이에 직렬로 배열된 다중 트랜지스터(multiple transistor)를 포함하여 이루어진다. 상기 직렬의 트랜지스터들과 선택 게이트들은 NAND 스트링(string)으로 일컬어진다. 도 1은 하나의 NAND 스트링을 도시한 평면도이다. 도 2는 그에 대한 등가 회로도이다. 도 1과 도 2에 도시된 NAND 스트링은 직렬의 4개의 트랜지스터들(100, 102, 104 및 106)을 포함하며, 제 1(또는 드레인측) 선택 게이트(120)와 제 2(또는 소스측) 선택 게이트(122) 사이에 끼워져있다. 선택 게이트(120)는 비트라인 컨택(126)를 통해 상기 NAND 스트링을 비트라인에 연결시킨다. 선택 게이트(122)는 상기 NAND 스트링을 소스 라인 컨택(128)에 연결시킨다. 선택 게이트(120)는 선택 라인(SGD)에 적절한 전압들을 인가함으로써 제어된다. 선택 게이트(122)는 선택 라인(SGS)에 적절한 전압들을 인가함으로써 제어된다. 각각의 트랜지스터들(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개, 64개, 128개 등의 메모리 셀들을 포함할 수 있다. 본 설명에서, NAND 스트링의 메모리 셀들의 개수는 특정의 개수로 한정되지 않는다.
NAND 구조를 이용하는 플래시 메모리 시스템의 전형적인 아키텍쳐는 다수의 NAND 스트링들을 포함할 것이다. 각각의 NAND 스트링은 선택 라인(SGS)에 의해 제어되는 자신의 소스 선택 게이트에 의해 소스 라인에 연결되고, 선택 라인(SGD)에 의해 제어되는 자신의 드레인 선택 게이트에 의해 자신의 연관된 비트라인에 연결된다. 각 비트라인 및 비트라인 컨택을 통해 그 비트라인에 연결되는 각각의 NAND 스트링(들)이 메모리 셀들의 어레이의 컬럼들을 구성한다. 비트라인들은 다수의 NAND 스트링들에 의해 공유된다. 전형적으로, 비트라인은 NAND 스트링들의 상부에서 워드라인들과 직교하는 방향으로 뻗어있으며, 하나 이상의 감지 증폭기들에 연결된다.
NAND 타입의 플래시 메모리들과 그 동작에 관련한 적절한 예들은 미국 특허 번호 5,570,315; 미국 특허 번호 5,774,397; 미국 특허 번호 6,046,935; 미국 특허 번호 6,456,528; 및 미국 공개 번호 US2003/0002348에서 제시되었으며, 이들 모두 본 발명에 참고로서 편입된다.
NAND 플래시 메모리 뿐만 아니라, 다른 타입의 비휘발성 저장 디바이스도 사용될 수 있다. 예를 들어, 비휘발성 메모리 디바이스들은 전하를 저장하기 위해 유전체 층을 이용하는 메모리 셀들로부터 제조될 수도 있다. 앞서 설명된 전도성의 플로팅 게이트 소자 대신에 유전체 층이 사용된다. 유전체 저장 소자를 이용하는 이러한 메모리 디바이스들은 Eitan 등의 "NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell" (IEEE Electron Device Letters, vol.21, no.11, 2000년 11월, 페이지 543-545)에 개시되어 있다. ONO 유전체 층은 소스 및 드레인 확산들 간의 채널을 가로질러 연장된다. 하나의 데이터 비트를 위한 전하는 드레인에 인접한 유전체 층에 국부화(localize)되고, 다른 데이터 비트를 위한 전하는 소스에 인접한 유전체 층에 국부화된다. 예를 들어, 미국 특허 번호 5,768,192 및 6,011,725는 두 실리콘 이산화층 사이에 트래핑 유전체층(trapping dielectric layer)이 끼어져있는 비휘발성 메모리 셀을 개시한다. 복수 상태 데이터의 저장은, 유전체 내에 공간적으로 분리된 전하 저장 영역들의 이진 상태(binary state)들을 개별적으로 판독함으로써 구현될 수 있다. 다른 타입의 비휘발성 저장 요소가 이용될 수도 있다.
도 3은 메모리 셀들(예를 들어, NAND 다중-상태 플래시 메모리)의 페이지(또는 다른 유닛)를 병렬로 판독 및 프로그램하기 위한 판독/기록 회로들을 포함하는 메모리 디바이스(210)를 도시한다. 메모리 디바이스(210)는 하나 이상의 메모리 다이 또는 칩(212)을 포함한다. 메모리 다이(212)는 메모리 셀들(200)의 (2차원 또는 3차원) 어레이(200), 제어 회로(220) 및 판독/기록 회로들(230A 및 230B)을 포함한다. 일 실시예에서, 다양한 주변 회로들에 의한 메모리 어레이(200)로의 액세스는, 어레이의 반대측들 상에서, 대칭적인 방식으로 실시되며, 이에 따라 각 측 상의 회로들 및 액세스 라인들의 밀도는 반으로 줄어든다. 판독/기록 회로들(230A 및 230B)은 메모리 셀들의 페이지를 병렬로 판독 또는 프로그램하기 위한 다중 감지 블록들(300)을 포함한다. 메모리 어레이(200)는 로우 디코더(240A 및 240B)를 통해 워드 라인들에 의해 어드레스가능하며, 그리고 컬럼 디코더(242A 및 242B)를 통해 비트라인들에 의해 어드레스가능하다. 워드라인들 및 비트라인들은 컬럼 라인들의 예이다. 전형적인 실시예에서, 제어기(244)는 하나 이상의 메모리 다이(212)와 동일한 메모리 디바이스(210) (예를 들어, 제거가능한 저장 카드 또는 패키지) 내에 포함된다. 커맨드들 및 데이터는 라인들(232)을 통해 호스트와 제어기(244) 사이에, 그리고 라인들(234)을 통해 제어기와 하나 이상의 메모리 다이(212) 사이에 전송된다.
제어 회로(220)는 메모리 어레이(200) 상에서 메모리 동작들을 수행하기 위해 판독/기록 회로들(230A 및 230B)과 협동한다. 제어 회로(220)는 상태 머신(222), 온칩 어드레스 디코더(224) 및 전력 제어 모듈(226)을 포함한다. 상태 머신(222)은 메모리 동작들의 칩 레벨 제어를 제공한다. 온칩 어드레스 디코더(224)는 호스트 또는 메모리 제어기에 의해 이용되는 어드레스와 디코더들(240A, 240B, 242A 및 242B)에 의해 이용되는 하드웨어 어드레스 사이에서 어드레스 인터페이스를 제공한다. 전력 제어 모듈(226)은 메모리 동작 동안에 워드라인들 및 비트라인들에 공급되는 전력 및 전압들을 제어한다. 일 실시예에서, 전력 제어 모듈(226)은 공급 전압 보다 큰 전압을 생성할 수 있는 하나 이상의 전하 펌프를 포함한다.
일 실시예에서, 제어 회로(220), 전력 제어 모듈(226), 디코더 회로(224), 상태 머신 회로(222), 디코더 회로들(242A, 242B, 240A, 240B), 판독/기록 회로들(230A, 230B), 그리고/또는 제어기(244) 중에서 어느 하나 또는 이들의 결합은 하나 이상의 관리 또는 제어 회로들로 일컬어질 수 있다. 하나 이상의 관리 또는 제어 회로들은 본 명세서에서 설명되는 프로세스들을 수행한다.
도 4는 메모리 셀 어레이(200)의 예시적인 구조를 도시한다. 일 실시예에서, 메모리 셀들의 어레이는 메모리 셀들의 다수의 블록들(예를 들어, 블록들 0-1023, 또는 다른 양)로 분할된다. 플래시 EEPROM 시스템들에 대해 일반적인 것으로서, 블록은 소거의 단위이다. 즉, 각 블록은 함께 소거되는 최소수의 메모리 셀들을 포함한다. 또한, 다른 소거 단위가 이용될 수 있다.
블록은 비트라인들(예를 들어, 비트라인들(BL0-BL69,623)) 및 워드라인들(WL0, WL1, WL2, WL3)을 통해 액세스되는 NAND 스트링들의 세트를 포함한다. 도 4는 NAND 스트링을 형성하기 위해 직렬로 연결된 4개의 메모리 셀들을 도시한다. 각 NAND 스트링 내에 4개의 셀들이 포함되는 것으로 도시되었지만, 4개보다 더 많거나 적은 수가 이용될 수 있다(예를 들어, 16, 32, 64, 128 또는 다른 수의 메모리 셀들이 NAND 스트링 상에 존재할 수 있다). NAND 스트링의 일 단자는 (선택 게이트 드레인 라인(SGD)에 연결된) 드레인 선택 게이트를 통해 대응하는 비트라인에 연결되고, 다른 단말은 (선택 게이트 소스 라인(SGS)에 연결된) 소스 선택 게이트를 통해 소스 라인에 연결된다.
전형적으로, 각 블록은 다수의 페이지들로 분할된다. 일 실시예에서, 하나의 페이지는 프로그래밍의 단위이다. 프로그래밍의 다른 단위들로 이용될 수 있다. 전형적으로, 하나 이상의 데이터 페이지들은 메모리 셀들의 하나의 로우에 저장된다. 예를 들어, 하나 이상의 데이터 페이지들은 공통 워드 라인에 연결된 메모리 셀들에 저장된다. 하나의 페이지는 하나 이상의 섹터들을 저장할 수 있다. 섹터는 사용자 데이터 및 (시스템 데이터라고도 불리는) 오버헤드 데이터를 포함한다. 전형적으로, 오버헤드 데이터는 헤더 정보 및 섹터의 사용자 데이터로부터 계산되는 에러 정정 코드(ECC)를 포함한다. 제어기(또는 다른 컴포넌트)는 데이터가 어레이 내에 프로그램되고 있을 때에는 ECC를 계산하고, 데이터가 어레이로부터 판독되고 있을 때에는 상기 ECC를 체크한다. 대안적으로, ECC들 및/또는 다른 오버헤드 데이터는 이들에 속한 사용자 데이터와는 다른 페이지들에 저장될 수 있으며, 심지어는 다른 블록들에 저장될 수도 있다. 전형적으로, 사용자 데이터의 섹터는 512 바이트(bytes)인데, 이는 자기 디스크 드라이브의 섹터 사이즈에 대응한다. 예를 들어, 8 페이지가 하나의 블록을 형성하거나 또는 32, 64, 128 또는 그 이상의 페이지들이 블록을 형성할 수도 있다. 상이한 사이즈의 블록들, 페이지들 및 섹터들이 이용될 수도 있다.
도 5는 코어 부분(감지 모듈(480)로서 지칭됨)과 공통 부분(490)으로 분할되는 개별적인 감지 블록(300)의 블록도이다. 일 실시예에서, 각 비트라인에 대해 개별적인 감지 모듈(480)이 있고, 다수의 감지 모듈들(480)의 세트에 대해 하나의 공통 부분(490)이 있다. 일 예에서, 하나의 감지 블록은 하나의 공통 부분(490) 및 8개의 감지 모듈들(480)을 포함한다. 그룹 내의 감지 모듈들 각각은 데이터 버스(472)를 통해 관련된 공통 부분과 통신한다. 그 전체가 본원의 참조로서 편입되는 미국 공개 특허 번호 2006/0140007에서 일 예를 찾아볼 수 있다.
감지 모듈(480)은 감지 회로(470)를 포함하는 바, 이 감지 회로(470)는 연결된 비트라인 내의 도통 전류가 소정의 임계 레벨 보다 큰지 아니면 작은 지를 결정한다. 일부 실시예들에서, 감지 모듈(480)은 일반적으로 감지 증폭기라 지칭되는 회로를 포함한다. 감지 모듈(480)은 또한 연결된 비트라인 상에 전압 조건을 설정하는 데에 이용되는 비트라인 래치(482)를 포함한다. 예를 들어, 비트라인 래치(482)에 래치되는 미리 결정된 상태에 의해, 연결된 비트라인은 프로그램 금지를 나타내는 상태(예를 들어, Vdd)가 된다.
공통 부분(490)은 프로세서(492), 데이터 래치들의 세트(494), 및 데이터 버스(420)와 데이터 래치들의 세트(494) 사이에 결합되는 I/O 인터페이스(496)를 포함한다. 프로세서(492)는 계산을 수행한다. 예를 들어, 프로세서의 기능들 중 하나는 감지된 메모리 셀에 저장된 데이터를 결정하고, 결정된 데이터를 데이터 래치들의 세트에 저장하는 것이다. 데이터 래치들의 세트(494)는 판독 동작 동안 프로세서(492)에 의해 결정되는 데이터 비트들을 저장하는 데에 이용된다. 이는 또한, 프로그램 동작 동안 데이터 버스(420)로부터 들어오는(imported) 데이터 비트들을 저장하는 데에 이용된다. 이러한 들어오는 데이터 비트들은 메모리 내에 프로그램되는 것으로 의도되는 기록 데이터를 나타낸다. I/O 인터페이스(496)는 데이터 래치들(494)과 데이터 버스(420) 간의 인터페이스를 제공한다.
판독 또는 감지 동안, 시스템의 동작은 상태 머신(222)에 의해 제어되는 바, 이러한 상태 머신은 어드레스되는 메모리 셀(들)로의 서로 다른 제어 게이트 전압들의 공급을 (전력 제어(226)를 이용하여) 제어한다. 메모리에 의해 지원되는 다양한 메모리 상태들에 해당하는 미리 정의된 다양한 제어 게이트 전압들을 통해 스텝(step)형으로 나아가기 때문에, 감지 모듈(480)은 이러한 전압들 중 하나의 전압에서 트립(trip)되며, 감지 모듈(480)로부터 버스(472)를 통해 프로세서(492)에 출력이 제공될 것이다. 이때, 프로세서(492)는 입력 라인들(493)을 통해 상태 머신으로부터 인가되는 제어 게이트에 대한 정보 및 감지 모듈의 트리핑 이벤트(들)를 고려하여, 결과적인 메모리 상태를 결정한다. 그런 다음, 그 메모리 상태에 대한 이진 엔코딩을 계산하고, 결과적인 데이터 비트들을 데이터 래치들(494)에 저장한다. 코어 부분의 다른 실시예에서, 비트라인 래치(482)는 이중의 임무를 제공한다. 즉, 감지 모듈(480)의 출력을 래치하는 래치로서, 그리고 상기 설명한 바와 같은 비트라인 래치로서의 임무를 제공한다.
어떠한 구현들은 다수의 프로세서들(492)을 포함할 것임이 예상된다. 일 실시예에서, 각 프로세서(492)는 출력 라인(도 5에는 미도시)을 포함할 것이며, 이에 따라 출력 라인들 각각은 서로 와이어드 오아(wired-OR)된다. 어떠한 실시예들에서, 출력 라인들은 와이어드-OR 라인에 연결되기 전에 반전된다. 이러한 구성은 프로그래밍 검증 프로세스 동안, 프로그래밍 프로세스가 완료된 때를 빠르게 결정할 수 있게 하는데, 이는 와이어드-OR 라인을 수신하는 상태 머신이 프로그램되고 있는 모든 비트들이 원하는 레벨에 도달되는 때를 결정할 수 있기 때문이다. 예를 들어, 각 비트가 자신의 원하는 레벨에 도달하면, 그 비트에 대한 논리 0이 와이어드-OR 라인에 전송될 것이다(또는 데이터 1이 반전된다). 모든 비트들이 데이터 0을 출력하면(또는 데이터 1이 반전되면), 상태 머신은 프로그래밍 프로세스를 종료해야 함을 알게 된다. 각 프로세서가 8개의 감지 모듈들과 통신하는 실시예들에서, 상태 머신은 (일부 실시예들에서) 와이어드-OR 라인을 8번 판독할 필요가 있거나, 또는 관련된 비트라인들의 결과를 누적하기 위해 프로세서(492)에 논리가 부가됨으로써, 상태 머신은 와이어드-OR 라인을 단지 한번만 판독하면 된다.
데이터 래치 스택(494)은 감지 모듈에 대응하는 데이터 래치들의 스택을 포함한다. 일 실시예에서, 감지 모듈(480) 마다 3개(또는 4개 또는 다른 수)의 데이터 래치들이 존재한다. 일 실시예에서, 래치들은 각 1비트가 된다.
프로그램 또는 검증 동안, 프로그램되어야 하는 데이터는 데이터 버스(420)로부터 데이터 래치들의 세트(494)에 저장된다. 검증 프로세스 동안, 프로세서(492)는 원하는 메모리 상태에 대하여 검증된 메모리 상태를 모니터한다. 이러한 2개의 상태가 일치하면, 프로세서(492)는 비트라인이 프로그램 금지를 나타내는 상태가 될 수 있도록 비트라인 래치(482)를 설정한다. 이에 의해, 그 비트라인에 결합된 메모리 셀은, 자신의 제어 게이트 상에 프로그래밍 펄스가 가해진다고 할지라도, 더 이상 프로그램되는 것이 금지된다. 다른 실시예들에서, 프로세서는 처음에 비트라인 래치(482)를 로드(load)하고, 감지 회로는 검증 프로세스 동안 이를 금지 값으로 설정한다.
일부 구현들에서(하지만, 반드시 요구되는 것은 아니다), 데이터 래치들은 시프트 레지스터로서 구현되며, 이에 따라 그 안에 저장된 병렬 데이터는 데이터 버스(420)에 대해 직렬 데이터로 변환되며, 그 반대의 경우 역시 마찬가지이다. 바람직한 일 실시예에서, m개의 메모리 셀들의 판독/기록 블록에 해당하는 모든 데이터 래치들은 함께 링크되어 블록 시프트 레지스터를 형성하며, 이에 따라 데이터의 블록은 직렬 전송에 의해 입력 또는 출력될 수 있다. 특히, 기록/판독 모듈들의 뱅크(bank)는, 데이터 래치들의 세트 각각이 (이들이 전체 판독/기록 블록에 대한 시프트 레지스터의 일부인 것처럼) 데이터 버스로/로부터 데이터를 직렬로 시프트시키도록 적합하게 된다.
감지 동작들과 감지 증폭기들에 대한 부가적인 정보는 다음에서 찾아볼 수 있다. (1) 2004년 3월 25일 공개되었으며 그 명칭이 "Non-Volatile Memory And Method With Reduced Source Line Bias Errors"인 미국 공개 특허 2004/0057287; (2) 2004년 6월 10일 공개되었으며 그 명칭이 "Non-Volatile Memory And Method with Improved Sensing"인 미국 공개 특허 2004/0109357; (3) 미국 공개 특허 2005/0169082; (4) 2005년 4월 5일 발명자 Jian Chen에 의해 출원되었으며 그 명칭이 "Compensating for Coupling During Read Operations of Non-Volatile Memory"인 미국 공개 특허 2006/0221692; 및 (5) 2005년 12월 28일 발명자들 Siu Lung Chan 및 Raul-Adrian Cernea에 의해 출원되었으며 그 명칭이 "Reference Sense Amplifier For Non-Volatile Memory"인 미국 특허 출원 11/321,953. 상기 리스트의 5개의 모든 특허 문서들은 그 전체가 본원의 참조로서 편입된다.
(검증에 의해) 성공적인 프로그래밍 프로세스의 종료시, 바람직하게는 메모리 셀들의 임계 전압들은 프로그램된 메모리 셀들에 대한 임계 전압들의 하나 이상의 분포들 내에 또는 소거된 메모리 셀들에 대한 임계 전압들의 하나의 분포 내에 존재해야 한다. 도 6은 각 메모리 셀이 3비트의 데이터를 저장하는 경우의 메모리 셀에 대한 임계 전압 분포들(또는 데이터 상태들)의 예를 나타낸다. 그러나, 다른 실시예는 메모리 셀당 3비트 보다 많거나 적은 데이터(예를 들어, 메모리 셀당 4 비트 이상의 데이터)를 이용할 수 있다.
도 6의 예에서, 각 메모리 셀은 3비트의 데이터를 저장하며, 이에 따라 8개의 유효 데이터 상태(S0-S7)가 존재한다. 일 실시예에서, 데이터 상태(S0)는 0볼트 미만이고, 데이터 상태들(S1-S7)은 0볼트 이상이다. 다른 실시예들에서, 모든 8개의 데이터 상태들은 0볼트 미만이거나, 다른 구성들이 구현될 수 있다. 일 실시예에서, 임계 전압 분포(S0)는 분포들(S1-S7) 보다 넓다.
각 데이터 상태는 메모리 셀에 저장된 3비트에 대한 공유의 값에 대응한다. 일 실시예에서, S0=111, S1=110, S2=101, S3=100, S4=011, S5=010, S6=001 및 S7=000 이다. 상태들(S0-S7)에 대한 다른 데이터 맵핑도 이용될 수 있다. 일 실시예에서, 메모리 셀에 저장된 데이터의 모든 비트들은 동일한 논리 페이지에 저장된다. 다른 실시예들에서, 메모리 셀에 저장된 각각의 비트는 서로 다른 페이지들에 대응한다. 그러므로, 3비트의 데이터를 저장하는 메모리 셀은 제 1 페이지, 제 2 페이지 및 제 3 페이지에 데이터를 포함할 것이다. 몇몇 실시예들에서, 동일한 워드라인에 연결된 모든 메모리 셀들은 데이터의 동일한 3개의 페이지들에 데이터를 저장할 것이다. 몇몇 실시예들에서, 워드라인에 연결된 메모리 셀들은 (예를 들어, 홀수 및 짝수 비트라인들에 의하거나 다른 방식들에 의해) 페이지들의 상이한 세트들로 그룹화될 수 있다.
일부 종래 기술의 디바이스들에서, 메모리 셀들은 상태(S0)로 소거될 것이다. 상태(S0)로부터, 메모리 셀들은 상태들(S1-S7)중 어떠한 상태로 프로그램될 수 있다. 풀 시퀀스 프로그래밍으로 알려진 일 실시예에서, 메모리 셀들은 소거 상태(S0)로부터 프로그램 상태(S1-S7) 중 어느 하나의 상태로 바로 프로그램될 수 있다. 예를 들면, 프로그램되어야 하는 메모리 셀들의 집단(population)이 먼저 소거됨으로써, 그 집단 내의 모든 메모리 셀들이 소거 상태(S0)가 된다. 몇몇 메모리 셀들이 상태(S0)에서 상태(S1)로 프로그램되는 동안, 다른 메모리 셀들은 상태(S0)에서 상태(S2)로, 상태(S0)에서 상태(S3)로, 상태(S0)에서 상태(S4)로, 상태(S0)에서 상태(S5)로, 상태(S0)에서 상태(S6)로 그리고 상태(S0)에서 상태(S7)로 프로그램된다. 풀 시퀀스 프로그래밍은 도 6의 7개의 굽은 화살표들에 의해 그래프로 도시된다.
도 7A 내지 도 7I는 비휘발성 메모리를 프로그램하기 위한 3 단계 프로세스를 도시한다. 제 1 단계 이전에, 메모리 셀들이 소거됨으로써, 이 메모리 셀들은 소거 임계 분포 상태(S0)가 된다. 도 7A 내지 도 7I의 프로세스는 각 메모리 셀이 (각 비트가 상이한 페이지 내에 존재하는) 3비트의 데이터를 저장한다고 가정한다. 데이터의 첫번째 비트(가장 왼쪽 비트)는 제 1 페이지와 연관된다. 데이터의 중간 비트는 제 2 페이지와 연관된다. 가장 오른쪽 비트는 제 3 페이지와 연관된다. 데이터에 대한 데이터 상태의 상관 관계는 다음과 같다: S0=111, S1=110, S2=101, S3=100, S4=011, S5=010, S6=001 및 S7=000. 그러나, 다른 실시예들은 다른 데이터 엔코딩 체계를 이용할 수 있다.
(도 7A에서 설명되는 바와 같이) 제 1 페이지를 프로그램할 때, 비트가 데이터 "1"이 되어야 하는 경우, 메모리 셀은 상태(S0)(임계 전압 분포(502))로 유지된다. 비트가 데이터 "0"이 되어야 하는 경우, 메모리 셀은 상태(S4)(임계 전압 분포(504))로 프로그램된다. 인접한 메모리 셀들이 프로그램된 후, 인접한 플로팅 게이트들 간의 용량성 결합(capacitive coupling)은 도 7B에 도시된 바와 같이 상태(S4)가 넓어지게 한다. 상태(S0) 역시 넓어질 수 있지만, S0과 S1 사이에는 그 효과를 무시할 수 있을 정도로 충분한 여유가 존재한다. 인접하는 플로팅 게이트들 간의 용량성 결합에 관한 보다 많은 정보는 미국 특허 5,867,429 및 미국 특허 6,657,891에서 찾아볼 수 있으며, 이들은 모두 본원의 참조로서 인용된다.
제 2 페이지를 프로그램할 때(도 7C 참조), 메모리 셀이 상태(S0)에 있고, 제 2 페이지 비트가 데이터 "1"이면, 메모리 셀은 상태(S0)에 머무른다. 몇몇 실시예들에서, 제 2 페이지에 대한 프로그래밍 프로세스는 임계 전압 분포(501)를 새로운 S0으로 좁힐 것이다. 메모리 셀이 상태(S0)에 있었고, 제 2 페이지에 기록될 데이터가 "0"이면, 메모리 셀은 상태(S2)(임계 전압 분포(506))로 이동된다. 상태(S2)는 C*의 검증 포인트(가장 낮은 전압)를 갖는다. 메모리 셀이 상태(S4)에 있었고, 메모리 셀에 기록될 데이터가 "1"이면, 메모리 셀은 S4로 유지된다. 하지만, 도 7C에 도시된 바와 같이, 메모리 셀들이 임계 전압 분포(504)로부터 상태(S4)에 대한 임계 전압 분포(508)로 이동함으로써 상태(S4)가 좁혀진다. 임계 전압 분포(508)는 (임계 전압 분포(504)의 E**와 비교되는) E*의 검증 포인트를 갖는다. 메모리 셀이 상태(S4)에 있고 제 2 페이지에 기록될 데이터가 "0"이면, 메모리 셀은 G*의 검증 포인트를 갖는 상태(S6)로 이동된 임계 전압 분포(임계 전압 분포(510))를 갖는다.
인접 메모리 셀들이 프로그램된 후, 상태들(S2, S4 및 S6)은 도 7D의 임계 전압 분포들(506, 508 및 510)에 의해 도시된 바와 같이, 플로팅 게이트 간 결합으로 인해 넓어진다. 몇몇 경우에에는, 상태(S0) 역시 넓어질 수 있다.
도 7E, 7F, 7G 및 7H는 제 3 페이지의 프로그래밍을 도시한다. 하나의 그래프를 이용하여 프로그래밍을 나타낼 수 있기는 하지만, 가시성을 위해 4개의 그래프로 프로세스를 도시한다. 제 2 페이지가 프로그램된 후, 메모리 셀들은 상태들(S0, S2, S4 및 S6) 중 어느 하나에 있게 된다. 도 7E는 제 3 페이지에 대해 프로그램되는 상태(S0)에 있는 메모리 셀을 보여준다. 도 7F는 제 3 페이지에 대해 프로그램되는 상태(S2)에 있는 메모리 셀을 보여준다. 도 7G는 제 3 페이지에 대해 프로그램되는 상태(S4)에 있는 메모리 셀을 보여준다. 도 7H는 제 3 페이지에 대해 프로그램되는 상태(S6)에 있는 메모리 셀을 보여준다. 도 7I는 도 7E, 7F, 7G 및 7H의 프로세스가 메모리 셀들의 분포 상에서 (동시에 또는 연속적으로) 수행된 이후의 임계 전압 분포들을 보여준다.
메모리 셀이 상태(S0)에 있고, 제 3 페이지 데이터가 "1"이면, 메모리 셀은 상태(S0)로 유지된다. 제 3 페이지에 대한 데이터가 "0"이면, 메모리 셀에 대한 임계 전압은 B의 검증 포인트를 갖는 상태(S1)로 올라간다(도 7E 참조).
메모리 셀들이 상태(S2)에 있고, 제 3 페이지 데이터에 기록될 데이터가 "1"이면, 메모리 셀은 상태(S2)로 유지될 것이다(도 7F 참조). 하지만, 임계 분포(506)를 C볼트의 검증 포인트를 갖는 새로운 상태(S2)로 좁히기 위해 몇몇 프로그래밍이 수행될 것이다. 제 3 페이지에 기록될 데이터가 "0"이면, 메모리 셀은 D볼트의 검증 포인트를 갖는 상태(S3)로 프로그램될 것이다.
메모리 셀이 상태(S4)에 있고, 제 3 페이지에 기록될 데이터가 "1"이면, 메모리 셀은 상태(S4)로 유지될 것이다(도 7G 참조). 하지만, 임계 전압 분포(508)가 E의 검증 포인트를 갖는 새로운 상태(S4)로 좁혀지기 위하여 몇몇 프로그래밍이 수행될 것이다. 메모리 셀이 상태(S4)에 있고, 제 3 페이지에 기록될 데이터가 "0"이면, 메모리 셀은 F의 검증 포인트를 갖는 상태(S5)까지 올라간 임계 전압을 가질 것이다.
메모리 셀이 상태(S6)에 있고, 제 3 페이지에 기록될 데이터가 "1"이면, 메모리 셀은 상태(S6)로 유지될 것이다(도 7H 참조). 그러나, 임계 전압 분포(510)가 G의 검증 포인트를 갖는 새로운 상태(S6)로 좁혀지기 위하여 몇몇 프로그래밍이 수행될 것이다. 제 3 페이지 데이터가 "0"이면, 메모리 셀은 H의 검증 포인트를 갖는 상태(S7)로 프로그램된 임계 전압을 가질 것이다. 제 3 페이지의 프로그래밍을 끝내게 되면, 메모리 셀은 도 7I에 도시된 8개의 상태 중 하나에 있게 될 것이다.
도 8은 메모리 셀들의 세트의 페이지들을 프로그램하기 위한 순서의 일예를 도시한다. 테이블은 4개의 워드라인들(WL0, WL1, WL2 및 WL3)에 관한 프로그래밍 순서를 제공하지만, 이러한 테이블은 4개 보다 많거나 적은 워드라인들을 수용하도록 적응될 수 있다. WL0에 연결된 메모리 셀들의 제 1 페이지가 프로그램된다. 이어서, WL1에 연결된 메모리 셀들의 제 1 페이지가 프로그램된다. 이어서, WL0에 연결된 메모리 셀들의 제 2 페이지가 프로그램된다. 이어서, WL2에 연결된 메모리 셀들의 제 1 페이지가 프로그램된다. 이어서, WL1에 연결된 메모리 셀들의 제 2 페이지 등이 프로그램된다.
도 9A-9C는 비휘발성 메모리 셀들에 대한 비휘발성 메모리를 프로그램하는 다른 프로세스를 개시하는 바, 이러한 메모리 셀들은 4개의 데이터 상태를 이용하여 메모리 셀당 2비트 데이터를 저장한다. 예를 들어, 상태 E는 소거 상태이고, 상태 A, B 및 C는 프로그램 상태라고 가정하자. 상태 E는 데이터 11을 저장한다. 상태 A는 데이터 01을 저장한다. 상태 B는 데이터 10을 저장한다. 상태 C는 데이터 00을 저장한다. 이것은 비-그레이 코딩의 예인데, 그 이유는 양 비트들은 인접하는 상태들 A와 B 사이에서 변하기 때문이다. 또한, 물리 데이터에 대한 다른 데이터 엔코딩도 이용될 수 있다. 각 메모리 셀은 2개의 데이터 페이지를 저장한다. 참조를 위해, 이러한 데이터 페이지들은 상위 페이지 및 하위 페이지라 부를 것이지만, 이것들에는 다른 라벨들이 붙여질 수 있다. 도 9A-9C의 프로세스에 대한 상태 A와 관련하여, 상위 페이지는 비트 0을 저장하고, 하위 페이지는 비트 1을 저장한다. 상태 B와 관련하여, 상위 페이지는 비트 1을 저장하고, 하위 페이지는 비트 0을 저장한다. 상태 C와 관련하여, 양 페이지들은 비트 데이터 0을 저장한다.
도 9A-9C의 프로그래밍 프로세스는 2-단계 프로세스이다. 제 1 단계에서는, 하위 페이지가 프로그램된다. 만일 하위 페이지가 데이터 1로 남는 경우, 메모리 셀의 상태는 상태 E로 유지된다. 만일 데이터가 0으로 프로그램되어야 하는 경우, 메모리 셀의 임계 전압이 올라감으로써, 그 메모리 셀은 상태 B'로 프로그램된다. 따라서, 도 9A는 상태 E로부터 상태 B'로의 메모리 셀들의 프로그래밍을 나타낸다. 도 9A에 나타낸 상태 B'는 중간 상태 B이며, 이에 따라 검증 포인트는 Vvb 보다 낮은 Vvb'로서 도시된다.
일 실시예에서, 메모리 셀이 상태 E로부터 상태 B'로 프로그램된 후, NAND 스트링 내의 그 인접하는 메모리 셀(WLn+1)은 그 하위 페이지와 관련하여 프로그램될 것이다. 이것은, 상태 B'에 대한 임계 전압 분포를 도 9B의 임계 전압 분포(560)로 확장(widening)시키는 효과를 갖는다. 이와같은 임계 전압 분포의 명백한 확장은 상위 페이지를 프로그램할 때에 교정(remedy)될 것이다.
도 9C는 상위 페이지를 프로그램하는 프로세스를 도시한다. 만일 메모리 셀이 소거 상태 E이고, 상위 페이지가 1로 유지된다면, 그 메모리 셀은 상태 E로 유지된다. 만일 메모리 셀이 상태 E이고, 그 상위 페이지 데이터가 0으로 프로그램될 것이라면, 메모리 셀의 임계 전압이 올라감으로써, 그 메모리 셀은 상태 A가 된다. 만일 메모리 셀이 중간 임계 전압 분포(550) 내에 있었고, 상위 페이지 데이터가 1로 유지될 것이라면, 그 메모리 셀은 최종 상태 B로 프로그램될 것이다. 만일 메모리 셀이 중간 임계 전압 분포(560) 내에 있고, 상위 페이지 데이터가 데이터 0으로 될 것이라면, 메모리 셀의 임계 전압이 올라감으로써, 그 메모리 셀은 상태 C가 된다. 비록 도 9A-C가 4개의 데이터 상태들 및 2개의 데이터 페이지들에 대한 예를 제공하지만, 도 9A-C에 의해 교시되는 개념은 4개 보다 많거나 적은 상태들 및 2개 이외의 페이지들을 갖는 다른 구현들에 대해서도 적용될 수 있다.
도 10은 선택된 워드라인에 연결된 메모리 셀들을 프로그램하기 위한 프로그래밍 프로세스를 나타내는 흐름도이다. 일 실시예에서, 도 10의 프로세스는 메모리 셀들의 블록을 프로그램하는 데에 이용된다. 도 10의 프로세스의 일 실시예에서, 메모리 셀들은 심지어 메모리 셀들 상에서 약하게 유지하기 위해 사전 프로그램(pre-program)된다(단계(550)). 일 실시예에서, 메모리 셀들은 상태(S7), 랜덤 패턴 또는 임의의 다른 패턴으로 프로그램된다. 몇몇 실시예들에서는, 사전 프로그래밍이 수행될 필요가 없다.
단계(552)에서, 메모리 셀들은 프로그래밍 이전에 (블록들 또는 다른 단위로) 소거된다. 일 실시예에서, 메모리 셀들은, 소스 및 비트라인들이 플로팅되는 동안, 충분한 시간 주기 동안 p-웰을 소거 전압(예를 들어, 20V)으로 올리고, 선택된 블록의 워드라인들을 접지시킴으로써 소거된다. 용량성 결합으로 인해, 비선택 워드라인들, 비트라인들, 선택 라인들 및 공통 소스 라인 역시 소거 전압의 상당 부분(significant fraction)까지 올라가게 된다. 이에 따라, 선택된 메모리 셀들의 터널 산화물 층들에 강한 전계가 걸리게 되고, 전형적으로 파울러-노드하임 터널링 메커니즘(Fowler-Nordheim tunneling mechanism)에 의해, 플로팅 게이트들의 전자들이 기판쪽으로 방출됨에 따라, 선택된 메모리 셀들이 소거된다. 전자들이 플로팅 게이트로부터 p-웰 영역으로 이동함에 따라, 선택된 셀의 임계 전압이 낮아지게 된다. 소거는 셀들의 전체 메모리 어레이 상에서 수행되거나, 개별적인 블록들 상에 수행되거나, 또는 셀들의 다른 유닛 상에서 수행될 수 있다. 일 실시예에서, 메모리 셀들을 소거한 후, 소거된 모든 메모리 셀들은 상태(S0)에 있을 것이다(도 6 참조).
단계(554)에서, 소프트 프로그래밍을 수행하여, 소거되는 메모리 셀들에 대한 소거 임계 전압들의 분포를 좁힌다. 일부 메모리 셀들은, 소거 프로세스의 결과로서, 필요한 것보다 더 깊은 소거 상태에 있을 수 있다. 소프트 프로그래밍은 더 깊게 소거된 메모리 셀들의 임계 전압을 소거 검증 레벨 가까이로 이동시키기 위해 프로그래밍 펄스들을 인가할 수 있다. 예를 들어, 도 6을 참조하면, 단계(554)는 상태(S0)와 연관된 임계 전압 분포를 좁히는 것을 포함할 수 있다. 단계(556)에서, 블록의 메모리 셀들은 본 명세서에서 설명된 바와 같이 프로그램된다. 도 10의 프로세스는 상기 설명된 다양한 회로들을 이용하여 상태 머신의 지시로 수행된다. 다른 실시예들에서, 도 10의 프로세스는 상기 설명된 다양한 회로들을 이용하여 제어기의 지시로 수행될 수 있다. 도 10의 프로세스를 수행한 후, 블록의 메모리 셀들이 판독될 수 있다.
도 11은 공통 워드라인에 연결된 메모리 셀들 상에서 프로그램을 수행하기 위한 프로세스의 일 실시예를 설명하는 흐름도이다. 도 11의 프로세스는 도 10의 단계(556) 동안에 한번 또는 여러 번 수행될 수 있다. 예를 들어, 도 11의 프로세스는 도 6의 풀 시퀀스 프로그래밍을 수행하는데 이용될 수 있고, 그 경우에 도 11의 프로세스가 각 워드라인에 대하여 한번씩 수행될 것이다. 일 실시예에서, 프로그래밍 프로세스는 비트라인을 향해 수행하는 워드라인부터 소스 라인에 가까운 순서로 수행된다. 도 11의 프로세스는 또한 도 7A 내지 도 7I의 프로그래밍 프로세스에 관하여, 워드라인에 대한 데이터의 페이지의 프로그래밍을 수행하는 데 이용될 수 있고, 그 경우에 도 11의 프로세스가 각 워드라인에 대하여 3번씩 수행될 것이다. 도 11의 프로세스는 또한 도 9A-C의 프로그래밍 프로세스에 관하여, 워드라인에 대한 데이터의 페이지의 프로그래밍을 수행하는 데 이용될 수 있고, 그 경우에 도 11의 프로세스가 각 워드라인에 대하여 2번씩 수행될 것이다. 다른 방식들이 또한 이용될 수 있다. 도 11의 프로세스는 상태 머신(222)의 지시로 수행된다.
전형적으로, 프로그램 동작 동안 제어 게이트에 인가되는 프로그램 전압은 일련의 프로그램 펄스들로서 인가된다. 프로그래밍 펄스들 사이에는, 검증을 가능하게 하기 위한 검증 펄스들의 세트가 있다. 많은 실시예들에서, 프로그램 펄스들의 크기는 각 연속적인 펄스 마다 미리결정된 스텝 사이즈 만큼 증가된다. 도 11의 단계(608)에서, 프로그래밍 전압(Vpgm)은 시작 크기(예를 들어, ~12-16V 또는 다른 적절한 레벨)로 초기화되고, 상태 머신(222)에 의해 유지되는 프로그램 카운터(PC)는 1로 초기화된다. 단계(610)에서, 프로그램 신호(Vpgm)의 프로그램 펄스가 선택된 워드라인(프로그램을 위해 선택된 워드라인)에 인가된다. 비선택 워드라인들은 종래 기술에 알려진 부스팅 방식들을 수행하기 위해 하나 이상의 부스팅 전압들(예를 들어, ~9볼트)을 수신한다. 메모리 셀이 프로그램되어야 한다면, 대응하는 비트라인은 접지된다. 한편, 메모리 셀이 자신의 현재 임계 전압에 머물러야 한다면, 대응하는 비트라인은 프로그래밍을 금지하기 위해 VDD에 연결된다. 부스팅 방식들에 관한 더 많은 정보는 미국 특허 6,859,397 및 미국 특허 출원 11/555,850에서 찾아볼 수 있으며, 이들 모두는 참고로서 본 명세서에 편입된다.
단계(610)에서, 프로그램 펄스는 선택된 워드라인에 연결된 모든 메모리 셀들에 동시에 인가되며, 이에 따라 선택된 워드라인에 연결된 모든 메모리 셀들이 함께 프로그램된다. 즉, 선택 워드라인에 연결된 모든 메모리 셀들은 동시에(또는 중첩되는 시간 동안) 프로그램된다. 이러한 방식으로, 선택된 워드라인에 연결된 모든 메모리 셀들은, 이들이 프로그래밍으로부터 록아웃(lock out)되지 않는 한, 이들의 임계 전압을 동시에 변경할 것이다.
단계(612)에서, 선택된 메모리 셀들의 상태는 목표 레벨들의 적절한 세트를 이용하여 검증된다. 도 11의 단계(612)는 하나 이상의 검증 동작들의 수행을 포함한다. 일반적으로, 검증 동작 및 판독 동작 동안, 선택된 워드라인은 그 레벨이 각각의 판독 및 검증 동작(예를 들어, 도 7I의 B, C, D, E, F, G 및 H 참조)에 대해 특정되는 전압에 연결되는데, 이는 관련된 메모리 셀의 임계 전압이 이러한 레벨에 도달했는지 판단하기 위함이다. 워드라인에 전압을 인가한 후, 메모리 셀이 워드라인에 인가된 전압에 반응하여 턴온되었는지 여부를 결정하기 위해 그 메모리 셀의 도통 전류가 측정된다. 도통 전류가 소정 값보다 큰 것으로 측정되면, 메모리 셀은 턴온되었고, 워드라인에 인가된 전압은 메모리 셀의 임계 전압보다 큰 것으로 가정된다. 도통 전류가 소정 값보다 큰 것으로 측정되지 않으면, 메모리 셀은 턴온되지 않았고, 워드라인에 인가된 전압은 메모리 셀의 임계 전압보다 크지 않은 것으로 가정된다.
판독 또는 검증 동작 동안 메모리 셀의 도통 전류를 측정하는 많은 방법들이 있다. 일 예에서, 메모리 셀의 도통 전류는 감지 증폭기 내의 전용 캐패시터(dedicated capacitor)를 방전 또는 충전시키는 속도에 의해 측정된다. 다른 예에서, 선택된 메모리 셀의 도통 전류는 메모리 셀을 포함하는 NAND 스트링이 대응하는 비트라인을 방전하게 한다(또는 하지 못한다). 비트라인 상의 전압은 그 비트라인이 방전되었는 지의 여부를 판단하기 위해 시간 주기 후에 측정된다. 본 명세서에서 설명된 기술들은 검증/판독에 대한 기술분야에서 공지된 다른 방법들과 함께 이용될 수 있다는 점이 주목된다. 검증/판독에 관한 더 많은 정보는 다음의 특허 문서들에서 찾아볼 수 있으며, 이들은 참고로서 본 명세서에 전체적으로 편입된다. (1) 2004년 3월 25일 공개된 미국 특허 출원 공개 번호 2004/0057287, "Non-Volatile Memory And Method With Reduced Source Line Bias Errors,"; (2) 2004년 6월 10일 공개된 미국 특허 출원 공개 번호 2004/0109357, "Non-Volatile Memory And Method with Improved Sensing,"; (3) 미국 특허 출원 공개 번호 20050169082; 및 (4) 2005년 4월 5일 발명자 Jian Chen에 의해 출원되었으며 그 명칭이 "Compensating for Coupling During Read Operations of Non-Volatile Memory"인 미국 특허 공개 2006/0221692.
선택된 메모리 셀의 임계 전압이 적절한 목표 레벨에 도달한 것이 감지되면, 그 메모리 셀은, 예를 들어 후속 프로그래밍 펄스들 동안 자신의 비트라인 전압을 Vdd로 상승시킴으로써, 더 이상의 프로그래밍으로부터 록아웃된다.
다시 도 11을 참조하면, 단계(614)에서, 모든 메모리 셀들이 그들의 목표 임계 전압들에 도달했는지가 체크된다. 모든 메모리 셀들이 그들의 목표 임계 전압들에 도달했으면, 선택된 모든 메모리 셀들이 자신들의 목표 상태들로 프로그램되고 검증되었기 때문에, 프로그래밍 프로세스는 완료되고 성공적이 된다. 단계(616)에서, "통과(PASS)"의 상태가 보고된다. 주목할 사항으로서, 몇몇 실시예에서는, 단계(614)에서 적어도 미리 결정된 수의 메모리 셀들이 정확하게 프로그램되었는 지가 체크된다. 이러한 미리 결정된 수는 모든 메모리 셀들의 수 보다 적을 수 있으며, 이에 의해 모든 메모리 셀들이 그들의 적절한 검증 레벨에 도달하기 전에 프로그래밍 프로세스가 중지될 수 있게 한다. 성공적으로 프로그램되지 않은 메모리 셀들은 판독 프로세스 동안에 오류 정정을 이용하여 수정될 수 있다.
단계(614)에서, 모든 메모리 셀들이 그들의 목표 임계 전압에 도달하지 않은 것으로 결정되면, 프로그래밍 프로세스가 계속된다. 단계(618)에서, 프로그램 카운터(PC)가 프로그램 제한 값(PL)에 대해 체크된다. 프로그램 제한 값의 일 예는 20 이지만, 다른 값들이 사용될 수 있다. 프로그램 카운터(PC)가 프로그램 제한 값 보다 작지 않으면, 단계(630)에서, 성공적으로 프로그램되지 않은 메모리 셀들의 수가 미리 결정된 수 보다 같거나 작은지 결정된다. 성공적으로 프로그램되지 않은 메모리 셀들의 수가 미리 결정된 수 보다 같거나 작으면, 프로그래밍 프로세스는 통과된 것으로서 플래그(flag)되고, 단계(632)에서 통과(PASS)의 상태가 보고된다. 많은 경우, 성공적으로 프로그램되지 않은 메모리 셀들은 판독 프로세스 동안에 오류 정정을 이용하여 수정된다. 그러나, 성공적으로 프로그램되지 않은 메모리 셀들의 수가 미리 결정된 수 보다 크면, 프로그램 프로세스는 실패된 것으로서 플래그되고, 단계(634)에서 실패(FAIL)의 상태가 보고된다.
단계(618)에서, 프로그램 카운터(PC)가 프로그램 제한 값(PL) 보다 작은 것으로 결정되면, 단계(620)에서 프로세스가 계속되는데, 이 시간 동안 프로그램 카운터(PC)는 1 만큼 증분되고, 프로그램 전압(Vpgm)은 다음 크기로 스텝업(step up)된다. 예를 들어, 다음 펄스는 이전 펄스 보다 스텝 사이즈(예를 들어, 0.1-0.4 볼트의 스텝 사이즈) 만큼 더 큰 크기를 가질 것이다. 단계(620) 이후, 프로세스의 루프는 단계(610)로 되돌아가고, 선택된 워드라인에 다른 프로그램 펄스가 인가된다.
(예를 들어, 도 11의 단계(610) 동안) 플래시 메모리 셀을 프로그램할 때, 제어 게이트에 프로그램 전압이 인가되고, 비트라인은 접지된다. P-웰로부터의 전자들은 플로팅 게이트 내에 주입된다. 전자들이 플로팅 게이트 내에 축적되면, 그 플로팅 게이트는 음으로 대전되고, 메모리 셀의 임계 전압이 올라간다. 프로그램되고 있는 메모리 셀의 제어 게이트에 프로그램 전압을 인가하기 위해, 그 프로그램 전압은 적절한 워드라인 상에 인가된다. 상기 설명한 바와 같이, 이 워드라인은 또한 동일한 워드라인을 이용하는 다른 각각의 NAND 스트링들 내의 하나의 메모리 셀에도 연결된다. 동일한 워드라인에 연결된 모든 메모리 셀들을 프로그램하지 않으면서 워드라인 상의 일부 메모리 셀들을 프로그램할 것이 요구될 때에, 문제가 발생한다. 프로그램 전압은 그 워드라인에 연결된 모든 메모리 셀들에 인가되기 때문에, 그 워드라인 상의 비선택 메모리 셀(프로그램되지 말아야 하는 셀)이 우연하게 프로그램될 수도 있다. 선택된 워드라인 상의 비선택 메모리 셀의 이러한 의도하지 않은 프로그래밍은 프로그램 디스터브(program disturb)라 불린다.
이러한 프로그램 디스터브를 막기 위해 몇 개의 기술들이 이용될 수 있다. 셀프 부스팅(self boosting)으로서 알려진 하나의 기술에 있어서, 프로그램 동안, 비선택 비트라인들은 전기적으로 절연되며, 패스 전압(Vpass)(예를 들어, 8-10볼트)이 비선택 워드라인들에 인가된다. 이러한 비선택 워드라인들은 비선택 비트라인들에 연결되며, 이에 의해 비선택 비트라인들의 채널에 전압이 존재하게 되는데, 이는 프로그램 디스터브를 감소시키는 경향이 있다.
프로그램 디스터브를 줄이기 위한 다른 기술은 로컬 셀프 부스팅(Local Belf Boosting)("LSB")이라 불린다. 이러한 LSB 기술은 이전에 프로그램된 메모리 셀들의 채널을 금지되는 메모리 셀들의 채널로부터 분리시키는 경향이 있다. 프로그램되는 메모리 셀에 대한 비트라인은 0V로 설정되고, 금지되는 메모리 셀에 대한 비트라인은 Vdd(공급 전압)가 된다. 프로그램 전압은 선택된 워드라인 상에서 구동된다. 선택된 워드라인에 인접하는 워드라인들은 0V(절연 전압)에 있고, 나머지 비선택 워드라인들은 Vpass에 있다. 도 12A는 LSB를 받고 있는 NAND 스트링의 예를 제공한다. NAND 스트링은 메모리 셀들(804, 806, 808, 810, 812, 814, 816 및 818)을 포함한다. 각 메모리 셀은 제어 게이트(CG), 플로팅 게이트(FG) 및 소스/드레인 영역들(830)을 갖는다. NAND 스트링의 한 단부에는 소스측 선택 게이트(822)가 있고, NAND 스트링의 다른 단부에는 드레인측 선택 게이트(824)가 있다. NAND 스트링은 비트라인 컨택(834)을 통해 비트라인에 연결되고, 소스 라인 컨택(832)을 통해 소스 라인에 연결된다. 알 수 있는 바와 같이, 선택된 메모리 셀(812)은 프로그램 전압(Vpgm)을 수신하고, 2개의 이웃들(810 및 814)은 0V를 수신하며, 그리고 나머지 비선택 워드라인들은 Vpass를 수신한다.
프로그램 디스터브를 줄이기 위한 다른 프로세스는 소거 영역 셀프 부스팅(Erased Area Self Boosting)("EASB")이라 불리는데, 여기에서는 선택된 워드라인에 대한 소스측 이웃 만이 0V에 있고, 나머지 모든 비선택 워드라인들은 Vpass를 수신한다. 미국 특허 6,859,397은 프로그램 디스터브, LSB, EASB, 및 디스터브를 줄이기 위해 프로그래밍 동안 이용되는 다른 기술들을 설명한다.
프로그램 디스터브를 줄이기 위한 다른 프로세스는 정정된 소거 영역 셀프 부스팅(Revised Erased Area Self Boosting)("REASB")으로서 지칭된다. REASB는, 0V(또는 다른 절연 전압)를 수신하는 워드라인과 선택된 워드라인 사이에 (Vpass와 0V 사이의) 중간 전압을 수신하는 워드라인이 있는 것을 제외하고는, EASB와 유사하다. 예를 들어, 도 12B는 REASB를 받고 있는 NAND 스트링을 도시한다. 주목할 사항으로서, 메모리 셀(812)은 프로그래밍을 위해 선택되고, 프로그램 전압(Vpgm)을 수신한다. 선택된 메모리 셀 다음의 메모리 셀은 중간 전압 Vint을 수신한다. 메모리 셀(808)은 절연 전압(예를 들어, 0V)을 수신한다. 나머지 모든 비선택 메모리 셀들은 Vpass를 수신한다. 또한, 2006년 9월 27일 Gerrit Jan Hemink 및 Shih-Chung Lee에 의해 출원되었으며 그 명칭이 "Apparatus with Reduced Program Disturb in Nonvolatile Storage"인 미국 특허 출원 11/535,634 역시 프로그램 디스터브를 줄이기 위해 수행되는 다양한 기술들을 설명한다. 주목할 사항으로서, 상기 설명된 기술들은 도 11의 단계(610) 동안 수행되는 프로그램 디스터브를 줄이기 위한 것이다.
전형적인 판독 프로세스들 동안, 선택된 워드라인(판독되고 있는 메모리 셀들에 연결된 워드라인)은 비교 전압(Vcgr)(검증 프로세스 동안에는 Vcgv)을 수신할 것이다. 나머지 워드라인들은 Vread를 수신하게 되는데, 이는 비선택 메모리 셀들이 모두 턴온되어 전류를 도통시키게 할 수 있을 정도의 충분히 높은 전압이다. 하지만, 비선택 워드라인들에 다른 전압들을 인가하는 다양한 다른 판독 기술들이 있다. 예를 들어, 2007년 9월 6일 공개된 미국 특허 공개 2007/0206426은 데이터를 판독하기 위한 시스템을 설명하는데, 이 시스템은 선택된 워드라인에 인접하는 워드라인에 보상 전압을 인가한다. 도 12C는 NAND 스트링에 적용되고 있는 이러한 프로세스를 그래픽적으로 도시한다. 도 12C로부터 알 수 있는 바와 같이, 선택된 메모리 셀(812)은 Vcgr을 수신하고, 이웃하는 메모리 셀(814)은 Vreadx를 수신하며, 그리고 나머지 모든 비선택 워드라인들은 Vread를 수신한다. 전압 Vreadx는 플로팅 게이트 대 플로팅 게이트 결합을 보상하는 데에 얼마나 많은 보상이 요구되는 지에 의존한다. 다른 기술들은 관련이 없는 다른 워드라인들에 대해 다른 전압들을 이용한다.
상기 설명한 바와 같이, 프로그래밍 동안, 대부분의 워드라인들은 Vpass를 수신할 것이다. 하지만, 워드라인들의 서브세트는 0V, 0V 이외의 다른 절연 전압, 및 하나 이상의 중간 전압들 등을 인가하기 위해 개별적으로 제어될 필요가 있다. 유사하게, 판독 프로세스 동안, 대부분의 워드라인들은 Vread를 수신하지만, 일부 워드라인들은 개별적으로 제어될 필요가 있다. 따라서, 프로그램 및 판독 동작을 위해, 시스템은 선택된 워드라인 및 소수의 다른 워드라인들에 대해 개별적인 (워드라인 단위의) 제어를 필요로 한다. 하지만, 나머지 비선택 워드라인들은, 대부분의 비선택 워드라인들에 대해 공통이며 개별적인 (워드라인 단위의) 제어를 요구하지 않는 레벨이 될 수 있다.
일 실시예는 모든 워드라인들을 이웃하는 워드라인들의 그룹들로 분할하는 것을 포함한다. NAND 스트링이 64개의 메모리 셀들을 포함하는 예를 고려해보자. 이러한 시스템은 64개의 워드라인들을 필요로 할 것이다. 일 예에서, 워드라인들은 인접하는 8개의 워드라인들의 8개의 그룹들로 분할된다. 그룹 0은 워드라인들(WL0-WL7)을 포함하고, 그룹 1은 워드라인들(WL8-WL15)을 포함하고, 그룹 2는 워드라인들(WL16-WL23)을 포함하고, 그룹 3은 워드라인들(WL24-WL31)을 포함하고, 그룹 4는 워드라인들(WL32-WL39)을 포함하고, 그룹 5는 워드라인들(WL40-WL47)을 포함하고, 그룹 6은 워드라인들(WL48-WL55)을 포함하며, 그리고 그룹 7은 워드라인들(WL56-WL63)을 포함한다.
일 실시예에서, 데이터 액세스 동작에 대한 요청을 수신하면, 시스템은 어떤 워드라인이 선택된 워드라인이고 어떤 그룹이 그 선택된 워드라인을 포함하고 있는 지를 결정할 것이다. 선택된 워드라인을 포함하는 그룹 및 선택된 워드라인을 포함하는 그룹에 인접하는 그룹들은 개별적으로 제어가능하게 될 것이다. 따라서, 어떤 워드라인들을 개별적으로 제어할 것인가의 선택은 선택된 워드라인에 대한 근접성에 기초한다. 워드라인들의 나머지 그룹들은 모두 Vread 또는 Vpass와 같은 공통 신호를 수신할 것이다.
여기에서 설명되는 기술의 한 장점은 감소된 수의 구동기들을 이용하여 워드라인들을 구동시킬 수 있다는 것이다. 64개의 워드라인 구동기들을 구비하는 것이 아니라, 비휘발성 메모리 시스템은 감소된 수의 구동기들 및 전압 발생기들(또는 다른 타입들의 소스들)을 가지며 설계될 수 있다. 일 예에서는, 25개의 워드라인 구동기들이 있을 수 있다. 워드라인 구동기들중 24개는 상기 설명한 8개의 워드라인들의 3개의 그룹들을 개별적으로 제어하는 데에 이용될 것이며, 25번째 워드라인 구동기는 이러한 3개의 그룹들 바깥쪽의 워드라인들에 Vread 또는 Vpass 중 어느 하나를 구동시키는 데에 이용될 수 있다. 개별적으로 제어가능하게 될 24개의 워드라인 구동기들 중에서, 이러한 워드라인 구동기들은 3개의 세트로 그룹화된다. 제 1 세트는 8개의 구동기들(CGA0-CGA7)을 포함한다. 제 2 세트는 8개의 워드라인 구동기들(CGB0-CGB7)을 포함한다. 제 3 그룹은 구동기들(CGC0-CGC7)을 포함한다.
도 13은 어떻게 워드라인들이 다양한 구동기들(및 전압 발생기들)에 결합되는 지를 설명하는 그래프이다. 세로축은 각 워드라인을 리스트하며, 어떻게 워드라인이 연결되는 지를 나타내는 데에 이용된다. 가로축은 모든 워드라인들을 리스트하며, 프로그래밍 또는 판독을 위해 선택된 워드라인을 나타낸다. 프로그래밍/판독을 위해 어떤 워드라인이 선택되는 지가 식별된 후, 그 워드라인은 가로축에서 발견된다. 수직 방향으로 그래프를 가로질러 올라가면, 각 워드라인들이 어떻게 연결되는 지의 할당을 알 수 있다. 도 13의 실시예에서, 그룹들 0, 3, 6은 CGU 및 CGA 중 어느 하나에 연결될 것이고, 그룹 1, 4, 7은 CGB 및 CGU중 어느 하나에 연결될 것이고, 그룹 2 및 5는 CGC 및 CGU 중 어느 하나에 연결될 것이다. 예를 들어, 워드라인들(WL0-WL15) 중 임의의 것이 프로그래밍/판독을 위해 선택된다면, WL0-WL7은 CGA0-CGA7에 연결되고, WL8-WL15는 CGB0-CGB7에 연결되고, WL16-WL23은 CGC0-CGC7에 연결되며, 그리고 WL24-WL63은 CGU에 연결된다. 주목할 사항으로서, CGU는 비선택 워드라인들에 제공되는 공통 전압으로서, Vread, Vpass 또는 유사한 다른 전압이 될 수 있다. 프로그래밍을 위해 선택된 워드라인이 WL32-WL39 중 어느 것을 포함한다면, WL0-WL23은 CGU에 연결되고, WL24-WL31은 CGA0-CGA7에 연결되고, WL32-WL39는 CGB0-CGB7에 연결되고, WL40-WL47은 CGC0-CGC7에 연결되며, 그리고 WL48-WL63은 CGU에 연결된다.
도 14는 도 13의 그래프에 도시된 스위칭을 구현할 수 있는 시스템/칩(212)의 컴포넌트들의 일 실시예를 도시한다. 도 14는 전압 발생기들(702), 구동기들(704) 및 브리지 회로(706)를 나타내는 바, 이들 모두는 전력 제어 회로(226) 내에 있다. 하지만, 이러한 컴포넌트들은 시스템 내의 다른 회로들의 일부가 될 수 있다. 전압 발생기들(702)은 상태 머신(222)으로부터 어떤 전압들을 생성해야 하는 지에 대한 신호를 수신하며, 이에 따라 이러한 전압들은 개별적으로 제어가능하다. 전압 발생기들(702)은 적어도 25개의 전압들을 생성하기 위해 적어도 25개의 전압 발생기들을 포함할 것이다. 다른 실시예들에서는, 25개 보다 많거나 적은 전압 발생기들이 이용될 수 있다. 전압 발생기들 각각은 구동기들(704)에 제공된다. 따라서, 일 실시예에서는, 제어가능한 전압들을 제공하는 25개의 구동기들이 있다. 하지만, 다른 실시예들에서는, 25개 보다 많거나 적은 구동기들이 이용될 수 있다. 이러한 구동기들은 전압 발생기들(702)에 연결되어, 이러한 전압 발생기들에 의해 생성되는 다양한 전압들을 구동시키는 데에 이용된다. 일 실시예에서는, 전압 발생기들과 함께 구동기들이 전압 소스들인 것으로 고려된다. 다른 실시예들에서는, 구동기들이 전압 소스들로 고려되거나, 또는 전압 발생기들이 전압 소스들인 것으로 고려된다. 신호의 소스는 그 신호를 처음 생성하는 디바이스로 한정되지 않는다.
25개의 구동기들로부터 브리지 회로(706)에 전압들이 제공된다. 브리지 회로(706)는 CGI 라인들 및 디코더들을 통해 모든 워드라인들에 연결된다. 상기 예에서는, 64개의 워드라인들 및 25개의 구동기들이 있다. 따라서, 브리지 회로(706)에 대한 입력은 25개의 신호들을 포함하는 바, 이들 중에서 24개는 각각의 개별적으로 제어가능한 워드라인에 대한 것이고, 1개는 공통 워드라인 신호에 대한 것이다. 브리지 회로(706)의 출력은 64개의 신호 라인들을 포함하는바, 이들은 CGI 라인들이라 지칭된다. 브리지 회로(706)는 적절한 구동기들을 CGI 신호 라인들에 연결한다. CGI 라인들은 디코더들을 통해 워드라인들에 연결된다. 상기 설명한 바와 같이, 워드라인들은 메모리 셀들에 연결된다. 일 실시예에서, 32개의 CGI 라인들이 디코더들(240A)을 통해 어레이(200)의 한측에 있는 워드라인들에 연결되고, 32개의 CGI 라인들이 디코더들(240B)을 통해 어레이(200)의 다른측에 있는 워드라인들에 연결된다.
일 실시예에서, 브리지 회로(706)는 다수의 스위치들을 포함한다. 도 15는 브리지 회로(706)의 컴포넌트들의 일예를 도시한다. 스위치(706)는 스위치 제어 회로(708)를 포함하는 바, 이는 상태 머신(222)으로부터 구역 어드레스(zone address)를 수신한다. 도 13을 다시 살펴보면, 가로축은 6개의 구역들 또는 워드라인들(구역 0, 구역 1, 구역 2, 구역 3, 구역 4 및 구역 5)로 분할된다. 구역 0은 WL0-WL15에 해당하고, 구역 1은 WL16-WL23에 해당하고, 구역 2는 WL24-WL31에 해당하고, 구역 3은 WL32-WL39에 해당하고, 구역 4는 WL40-WL47에 해당하며, 그리고 구역 5는 WL48-WL63에 해당한다. 적절한 구역의 표시는 상태 머신으로부터 스위치 제어 회로(708)에 전송될 것이다. 다른 실시예에서, 상태 머신은 스위치 제어 회로(708)에 메모리 어드레스 또는 워드라인 어드레스를 전송할 것이다. 상태 머신으로부터 스위치 제어 회로(708)에 의해 수신되는 정보는, 워드라인들을 공통 전압에 연결할 것인지, 아니면 개별적으로 제어가능한 전압에 연결할 것인지를 결정하는 데에 이용된다.
도 16은 스위치 제어 회로(708)의 동작을 설명하는 진리표이다. 제 1 컬럼(WL0-15)은 구역 0에 해당하고, 제 2 컬럼(WL16-23)은 구역 1에 해당하고, 제 3 컬럼(WL24-31)은 구역 2에 해당하고, 제 4 컬럼(WL32-39)은 구역 3에 해당하고, 제 5 컬럼(WL40-47)은 구역 4에 해당하며, 그리고 제 6 컬럼(WL48-63)은 구역 5에 해당한다. 스위치 제어 회로(708)의 출력은 8개의 출력 신호들(connect0to7, connect8to15, connect16to23, connect24to31, connect32to39, connect40to47, connect48to55 및 connect56to63)을 포함한다. 도 16의 표는 이러한 출력 신호들 각각에 대한 값들을 나타내는 바, 이에 기초하여 상태 머신(222)에 의해 구역이 선택된다. 이러한 8개의 출력 신호들은 스위치들의 세트를 제어하는 데에 이용된다. 예를 들어, 도 15에 도시된 바와 같이, 출력 신호 connect0to7은 신호 라인(CGI0, CGI1,...CGI7)에 대한 스위치들에 연결된다. 이러한 신호 라인들은 워드라인들에 연결된다. 예를 들어, CGI0은 워드라인(WL0)에 연결되고, CGI1은 워드라인(WL1)에 연결되며,...CGI7은 워드라인(WL7)에 연결된다. CGI0에 대한 스위치는 입력 CGA0과 CGU 간에 선택을 행하고,... CGI7에 대한 스위치는 CGA7과 CGU 간에 스위칭을 행한다. 도 13으로부터 알 수 있는 바와 같이, 각 워드라인은 CGA, CGB 또는 CGC 중 미리 선택된 것과 CGU 간에 스위치된다.
도 17은 도 15의 스위치들을 구현하기 위한 일 실시예를 도시한 개략도이다. 예를 들어, 도 17은 도 15의 박스(716) 내의 컴포넌트들의 일 구현을 도시한다. 도 17의 컴포넌트들은 또한 다른 출력 신호들에 대한 스위치들의 다른 세트들을 구현하는 데에도 이용된다. 도 17은 트랜지스터(722)의 베이스 및 인버터(720)의 입력에 전송되는 connect0to7의 출력을 나타낸다. 인버터(720)의 출력은 트랜지스터(724)의 베이스에 제공된다. 트랜지스터(722)는 또한 접지, 트랜지스터(726) 및 트랜지스터(728)에도 연결된다. 트랜지스터들(726 및 728)은 전력 소스에 연결된다. 트랜지스터(730)의 베이스는 트랜지스터들(726, 728 및 724)로부터 자신의 입력을 수신한다. 트랜지스터(730)는 CGI0 및 CGA0에 연결되고, CGI0을 CGA0에 선택적으로 연결하는 데에 이용된다. 트랜지스터들(734...738)은 트랜지스터(730)와 동일한 방식으로 제어된다. 트랜지스터(732)의 베이스는 트랜지스터들(722 및 726)로부터 자신의 입력을 수신한다. 트랜지스터들(736...740)은 트랜지스터(732)와 동일한 방식으로 제어된다. 트랜지스터(732)는 CGI0을 CGU에 선택적으로 연결하는 데에 이용되고, 트랜지스터(734)는 CGI1을 CGA1에 선택적으로 연결하는 데에 이용되고, 트랜지스터(736)는 CGI1을 CGU에 선택적으로 연결하는 데에 이용되고, ... 트랜지스터(738)는 CGI7을 CGA7에 선택적으로 연결하는 데에 이용되며, 그리고 트랜지스터(740)는 CGI7을 CGU에 선택적으로 연결하는 데에 이용된다.
도 18은 도 14의 시스템을 동작시키는 프로세스의 일 실시예를 설명하는 흐름도이다. 단계(760)에서, 데이터 액세스 동작에 대한 요청이 제어 회로(220)에 의해 수신된다. 데이터 액세스 동작은 프로그래밍 동작 또는 판독 동작을 포함할 수 있다. 다른 실시예들에서는, 다른 타입들의 데이터 액세스 동작들이 이용될 수 있다. 몇몇 구현들에서, 데이터 액세스 동작에 대한 요청은 제어기(244)에 의해 수신될 수 있다. 단계(762)에서는, 데이터 액세스 동작에 대해 선택되는 워드라인이 결정된다. 이러한 선택된 워드라인은 제어기(244) 또는 상태 머신(222)에 의해 결정될 수 있다. 어떤 워드라인이 선택된 워드라인이 되느냐의 결정은, 어떤 메모리 셀들이 프로그래밍 또는 판독 동작에 대해 어드레스되고 있느냐에 의존한다. 이러한 프로세스는 종래에 잘 알려져있다. 단계(764)에서, 제어기(244) 또는 상태 머신(22)은 어떤 워드라인들의 세트가 데이터 액세스 동작에 대해 개별적으로 제어될 필요가 있는지, 그리고 이에 따라 별개의 개별적으로 제어가능한 전압 소스 (또는 다른 타입의 소스)에 연결되어야 하는 지를 결정할 것이다. 일부 실시예들에서, 단계(764)의 프로세스는 (부스팅 방식을 포함하는) 프로그래밍 방식 또는 (보상을 제공하는 것을 포함하는) 판독 방식에 기초한다. 단계(766)에서, 제어기(244) 또는 상태 머신(222)은 어떤 워드라인들이 데이터 액세스 동작에 대해 개별적으로 제어될 필요가 없는지, 그리고 이에 따라 공통 전압 소스 (또는 다른 타입의 소스)에 연결될 수 있는 지를 결정할 것이다. 예를 들어, 단계(766)는 어떤 워드라인들이 Vread에 연결될 수 있는지, 그리고/또는 어떤 워드라인들이 Vpass에 연결될 수 있는 지를 결정하는 것을 포함할 수 있다. 일 실시예에서, 각 워드라인을 제 1 공통 신호 소스에 연결할지, 아니면 개별적으로 제어가능한 별개의 신호 소스에 연결할지를 결정하는 것은, 데이터 액세스 동작에 대해 선택된 워드라인에 대한 근접성에 기초한다.
단계(768)에서, 개별적으로 제어될 필요가 있는 워드라인들은 도 13의 그래프에 따라 (예를 들어, CGA, CGB, CGC에 해당하는) 별개의 개별적으로 제어가능한 전압 발생기들에 대한 구동기들에 (CGI 라인들 및 디코더들을 통해) 브리지 회로에 의해 (직접적으로 또는 간접적으로) 연결될 것이다. 단계(770)에서, 공통 전압(예를 들어, CGU)에 연결될 수 있는 워드라인들은 적절한 구동기에 (CGI 라인들 및 디코더들을 통해) 브리지 회로에 의해 (직접적으로 또는 간접적으로) 연결될 것이다. 일 실시예에서, CGU에 연결되는 모든 워드라인들은 단일 구동기에 연결된다. 다른 실시예에서는, 전력, 광 임피던스(light impedance) 등에 기초하여 CGU를 구동시키는 데에 하나 이상의 구동기가 이용될 수 있다. 단계(772)에서는, 상기 설명한 연결들이 계속해서 지속되는 동안 데이터 액세스 동작이 수행된다. 판독 동작이 수행되고 있다면, 판독되는 데이터는 호스트(232)의 제어기(244)에 적절하게 보고될 수 있다. 주목할 사항으로서, 대안적인 실시예들에서, 단계(762-772)의 프로세스는 외부 엔티티로부터 데이터 액세스 동작에 대한 요청을 수신하지 않으면서 수행될 수 있다. 예를 들어, 시스템은 쓰레기 수집(garbage collection), 대청소(cleanup) 또는 기타 유지(maintenance)를 행하고 있을 수도 있다.
도 19는 단일 칩 상에 2개의 메모리 어레이들(902 및 904)을 갖는 대안적인 실시예이다. 각 메모리 어레이는 그 자신의 디코더들의 세트(예를 들어, 디코더들(906 및 908)), 그 자신의 CGI 라인들의 세트 및 그 자신의 워드라인들의 세트(예를 들어, 어레이(902)에 대한 워드라인들 및 어레이(904)에 대한 워드라인들)를 구비한다. 비록 도 19가 각 메모리 어레이의 한측에 디코더들을 나타내었지만, 다른 실시예들에서는, 양 메모리 어레이들의 양측에 디코더들이 있을 수 있다. 도 19는 또한 전압 발생기들(916), 구동기들(914), 브리지 회로(910) 및 브리지 회로(912)를 나타낸다. 전압 발생기들(916)은 상태 머신(222)으로부터 구역 어드레스를 수신하고, 구동기들(914)에 하나 이상의 적절한 전압들을 전송한다. 구동기들(914)은 개별적으로 제어가능한 전압들 및 하나 이상의 공통 전압들을 브리지 회로(910) 및 브리지 회로(912)에 전송한다. 상기 설명한 바와 같이, 브리지 회로(910)는 구동기들(914)로부터 메모리 어레이(902)의 적절한 워드라인들에 대한 연결들을 제공하기 위한 스위치들의 세트를 포함한다. 상기 설명한 바와 같이, 브리지 회로(912)는 구동기들(914)로부터 메모리 어레이(904)에 대한 적절한 워드라인들에 대한 연결들을 제공하기 위한 스위치들을 포함한다.
도 20은 메모리 액세스 동작에 대해 선택된 워드라인에 기초하여 워드라인들을 적절한 구동기들에 할당하는 그래프의 다른 예이다. 도 20은 도 13과 유사하지만, 각 구역들에 대한 경계들이 다르다. 예를 들어, 도 20에서, 구역 0은 WL0-WL23에 대한 것이고, 구역 1은 WL24-WL31에 대한 것이고, 구역 2는 WL32-WL39에 대한 것이고, 구역 3은 WL40-WL47에 대한 것이고, 구역 4는 WL48-WL55에 대한 것이며, 그리고 구역 5는 WL56-WL63에 대한 것이다.
도 21은 다른 실시예에 대해 워드라인들을 구동기들에 연결하기 위한 그래프를 도시한다. 2007년 3월 21일 출원되었으며 그 명칭이 "Adjusting Resistance of Nonvolatile Memory Using Dummy Memory Cells"인 미국 특허 출원 11/688,874는 더미 메모리 세들 및 이러한 더미 메모리 셀들에 연결된 더미 워드라인들을 갖는 비휘발성 메모리 시스템의 예를 제공한다. 도 21의 그래프는 더미 워드라인들(WLD0 및 WLD1)을 포함하는 메모리 시스템에 대한 연결 정보를 제공한다. 알 수 있는 바와 같이, WLD0 및 WLD1에는 각각 전압 CGDD 및 CGDS를 제공하는 두개 이상의 구동기들에 대한 영구적인 연결이 할당되며, 상기 CGDD 및 CGDS는 특정의 응용에 기초하는 더미 워드라인들에 대한 적절한 전압들이다. 주목할 사항으로서, 몇몇 실시예들에서는, 2개 보다 많거나 적은 더미 워드라인들이 있을 수 있다. 나머지 워드라인들에 대한 나머지 할당은 도 13에 대한 것과 유사하다.
도 22는 하나 이상의 공통 신호를 제공하는 다른 실시예의 그래프를 제공한다. 하나의 예시적인 구현에서, 소스측 상의 비선택 메모리 셀들에는 하나의 공통 신호 CGUS가 제공되고, 드레인측 상의 메모리 셀들에는 다른 공통 신호 CGUD가 제공된다. CGA, CGB 및 CGC의 할당은 도 13과 동일하다. CGA, CGB 또는 CGC를 수신하지 않게 될 WL0-WL31의 워드라인들은 CGUS에 할당될 것이다. CGA, CGB 또는 CGC에 할당되지 않은 WL32-WL63의 워드라인들은 CGUD에 할당될 것이다. 이러한 할당에 의해, 각 스위치는 여전히 2대1(2-to-1) 스위치가 될 수 있다. 주목할 사항으로서, 다른 실시예들에서는, 2개 이상의 공통 신호들이 이용될 수 있다.
도 23은 개별적으로 제어가능한 신호들의 2 그룹들 만을 제공하는 다른 실시예의 그래프를 제공한다. 그룹들중 하나는 선택된 워드라인을 포함할 것이다. 도 23의 실시예에서, 그룹들 0, 2, 4 및 6은 CGA와 CGU 간에서 선택을 행하는 반면, 그룹들 1, 3, 5 및 7은 CGB와 CGU 간에서 선택을 행한다. 그룹 0은 WL0-WL7을 포함한다. 그룹 1은 WL9-WL15를 포함한다. 그룹 2는 WL16-WL23을 포함한다. 그룹 3은 WL24-WL31을 포함한다. 그룹 4는 WL32-WL39를 포함한다. 그룹 5는 WL40-WL47을 포함한다. 그룹 6은 WL48-WL55를 포함한다. 그룹 7은 WL56-WL63을 포함한다. 구역 0은 WL0-WL11에 해당한다. 구역 1은 WL12-WL19에 해당한다. 구역 2는 WL20-WL27에 해당한다. 구역 3은 WL28-WL35에 해당한다. 구역 4는 WL36-WL43에 해당한다. 구역 5는 WL44-WL51에 해당한다. 구역 6은 WL52-WL63에 해당한다. 예를 들어, 선택된 워드라인이 구역 3 내에 있으면, CGB가 WL24-WL31에 연결되고, CGA가 WL32-WL39에 연결되며, 그리고 CGU가 나머지 워드라인들에 연결된다.
상기 본 발명의 상세한 설명은 예시와 설명의 목적을 위해 제공되었다. 이러한 설명은 본 발명을 속속들이 규명한 것으로서, 또는 본 발명을 개시된 정확한 형태로 한정하는 것으로서 의도되지 않는다. 상기 교시에 비추어 많은 수정들 및 변형들이 가능하다. 설명된 실시예들은 본 발명의 사상과 실제적인 응용예를 최상으로 설명함으로써, 당업자가 다양한 실시예들에서 그리고 고려되는 특정의 용도에 적합한 다양한 변형들에 대해 본 발명을 최상으로 이용할 수 있도록 선택된 것이다. 본 발명의 범위는 첨부된 청구범위에 의해서만 규정된다.
200:메모리 어레이 210:메모리 디바이스
212:메모리 다이 220:제어 회로
222:상태 머신 224:온칩 어드레스 디코더
226:전력 제어 모듈 230A,230B:판독/기록 회로
232,234:라인들 240A,240B:로우 디코더
242A,242B:컬럼 디코더 244:제어기
300:감지 블록 420,472:데이터 버스
470:감지 회로 480:코어부
482:비트라인 래치 490:공통부
492:프로세서 493:입력 라인들
494:데이터 래치들 496:I/O인터페이스

Claims (25)

  1. 제 1 다수의 비휘발성 저장 요소들과;
    상기 제 1 세트의 비휘발성 저장 요소들과 통신하는 제 1 세트의 제어 라인들과;
    제 1 신호 소스와;
    개별적으로 제어되는 신호 소스들의 세트와;
    상기 제 1 세트의 제어 라인들, 상기 개별적으로 제어되는 신호 소스들의 세트 및 상기 제 1 신호 소스와 통신하는 제 1 브리지 회로와; 그리고
    상기 제 1 브리지 회로와 통신하는 제어 회로를 포함하며,
    여기서, 상기 제 1 브리지 회로는 상기 제 1 세트의 제어 라인들 각각을 상기 개별적으로 제어되는 신호 소스들의 세트중 하나 또는 상기 제 1 신호 소스에 개별적으로 그리고 선택적으로 연결하는 것을 특징으로 하는 비휘발성 저장 장치.
  2. 제 1 항에 있어서,
    상기 제 1 세트의 제어 라인들은 워드라인들이고,
    상기 개별적으로 제어되는 신호 소스들의 세트는 전압 발생기들과 통신하는 구동기들의 세트를 포함하며; 그리고
    상기 제어 회로는 판독 동작 및 프로그램 동작에 대해 적절한 전압들을 제공하기 위해 상기 개별적으로 제어되는 신호 소스들을 제어하는 것을 특징으로 하는 비휘발성 저장 장치.
  3. 제 2 항에 있어서,
    상기 제 1 브리지 회로는 각 워드라인을 상기 구동기들중 적절한 하나의 구동기 또는 상기 제 1 신호 소스에 선택적으로 연결하는 다수의 스위치들을 포함하는 것을 특징으로 하는 비휘발성 저장 장치.
  4. 제 1 항에 있어서,
    상기 제 1 세트의 제어 라인들은 워드라인들이고,
    상기 워드라인들은 이웃하는 워드라인들의 그룹들로 분할되며, 그리고
    상기 제 1 브리지 회로는 이웃하는 워드라인들의 제 1 그룹을 상기 개별적으로 제어되는 신호 소스들의 제 1 서브세트에 연결하고, 상기 이웃하는 워드라인들의 제 1 그룹은 데이터 액세스 동작에 대해 선택된 워드라인을 포함하며, 그리고 상기 제 1 브리지 회로는 상기 제 1 그룹에 인접하는 이웃하는 워드라인들의 부가적인 그룹들을 상기 개별적으로 제어되는 신호 소스들의 나머지 서브세트들에 연결하는 것을 특징으로 하는 비휘발성 저장 장치.
  5. 제 1 항에 있어서,
    상기 제 1 브리지 회로는 데이터 액세스 동작에 대해 선택된 제어 라인에 대한 인접성에 기초하여, 상기 제 1 세트의 제어 라인들의 각 제어 라인을 상기 개별적으로 제어되는 신호 소스들중 하나 또는 상기 제 1 신호 소스에 연결하며; 그리고
    상기 데이터 액세스 동작에 대해 선택된 제어 라인에 대한 인접성에 기초하여 상기 제 1 세트의 제어 라인들의 각 제어 라인이 상기 개별적으로 제어되는 신호 소스들중 하나 또는 상기 제 1 신호 소스에 연결되는 동안, 상기 제어 회로는 상기 데이터 액세스 동작을 수행하는 것을 특징으로 하는 비휘발성 저장 장치.
  6. 제 1 항에 있어서,
    상기 제 1 세트의 제어 라인들은 워드라인들이고,
    상기 워드라인들은 이웃하는 워드라인들의 그룹들로 분할되며, 그리고
    상기 제 1 브리지 회로는 이웃하는 워드라인들의 제 1 그룹을 상기 개별적으로 제어되는 신호 소스들의 제 1 서브세트에 연결하고, 상기 이웃하는 워드라인들의 제 1 그룹은 데이터 액세스 동작에 대해 선택된 워드라인을 포함하며, 그리고 상기 제 1 브리지 회로는 상기 제 1 그룹에 인접하는 이웃하는 워드라인들의 부가적인 그룹을 상기 개별적으로 제어되는 신호 소스들의 제 2 서브세트에 연결하는 것을 특징으로 하는 비휘발성 저장 장치.
  7. 제 1 항에 있어서,
    상기 제 1 세트의 제어 라인들은 데이터 워드라인들 및 더미 워드라인들을 포함하고,
    상기 개별적으로 제어되는 신호 소스들의 세트는 전압 발생기들과 통신하는 구동기들의 세트를 포함하고,
    상기 전압 발생기들은 상기 더미 워드라인들에 대한 하나 이상의 전압 발생기들을 포함하며, 그리고
    상기 브리지 회로는 상기 더미 워드라인들을 상기 더미 워드라인들에 대한 상기 하나 이상의 전압 발생기들에 연결하는 것을 특징으로 하는 비휘발성 저장 장치.
  8. 제 1 항에 있어서,
    제 2 다수의 비휘발성 저장 요소들과;
    상기 제 2 세트의 비휘발성 저장 요소들과 통신하는 제 2 세트의 제어 라인들과; 그리고
    상기 제 2 세트의 제어 라인들, 상기 개별적으로 제어되는 신호 소스들의 세트 및 상기 제 1 신호 소스들과 통신하는 제 2 브리지 회로를 더 포함하며,
    여기서, 상기 제 2 브리지 회로는 상기 제 2 세트의 제어 라인들 각각을 상기 개별적으로 제어되는 신호 소스들의 세트중 하나 또는 상기 제 1 신호 소스에 개별적으로 그리고 선택적으로 연결하는 것을 특징으로 하는 비휘발성 저장 장치.
  9. 제 1 항에 있어서,
    제 2 다수의 비휘발성 저장 요소들과;
    상기 제 2 세트의 비휘발성 저장 요소들과 통신하는 제 2 세트의 제어 라인들과; 그리고
    제 2 신호 소스를 더 포함하며,
    여기서, 상기 제 1 브리지 회로는 상기 제 2 세트의 제어 라인들 각각을 상기 개별적으로 제어되는 신호 소스들의 세트중 하나 또는 상기 제 1 신호 소스에 개별적으로 그리고 선택적으로 연결하는 것을 특징으로 하는 비휘발성 저장 장치.
  10. 제 1 항에 있어서,
    상기 제어 회로는, 상기 제 1 세트의 제어 라인들중 어느 것이 상기 제 1 신호 소스에 연결되어야 하는지, 그리고 상기 제 1 세트의 제어 라인들중 어느 것이 상기 개별적으로 제어되는 신호 소스들의 세트에 연결되어야 하는 지를 나타내는 정보를 상기 제 1 브리지 회로에 제공하는 것을 특징으로 하는 비휘발성 저장 장치.
  11. 제 10 항에 있어서,
    상기 제 1 세트의 제어 라인들은 워드라인들이며; 그리고
    상기 제 1 브리지 회로는, 상기 워드라인들과 상기 브리지 회로 사이의 디코더들 및 신호 라인들을 통해, 상기 워드라인들 각각을 상기 개별적으로 제어되는 신호 소스들중 하나 또는 상기 제 1 신호 소스에 개별적으로 그리고 선택적으로 연결하는 것을 특징으로 하는 비휘발성 저장 장치.
  12. 제 1 항에 있어서,
    상기 제 1 다수의 비휘발성 저장 요소들은 플래시 메모리 디바이스들인 것을 특징으로 하는 비휘발성 저장 장치.
  13. 제 1 항에 있어서,
    상기 제 1 다수의 비휘발성 저장 요소들은 NAND 플래시 메모리 디바이스들인 것을 특징으로 하는 비휘발성 저장 장치.
  14. 비휘발성 저장소(non-volatile storage)를 동작시키는 방법으로서,
    데이터 액세스 동작에 대해 선택된 제어 라인에 대한 인접성에 기초하여, 제 1 세트의 제어 라인들의 각 제어 라인을 다수의 개별적인 신호 소스들의 개별적인 신호 소스 또는 제 1 공통 신호 소스에 연결하는 단계와, 여기서 상기 제 1 세트의 제어 라인들은 상기 비휘발성 저장소와 통신하며; 그리고
    상기 데이터 액세스 동작에 대해 선택된 제어 라인에 대한 인접성에 기초하여 상기 제 1 세트의 제어 라인들의 각 제어 라인이 상기 개별적인 신호 소스 또는 상기 제 1 공통 신호 소스에 연결되는 동안, 상기 데이터 액세스 동작을 수행하는 단계를 포함하는 것을 특징으로 하는 비휘발성 저장소를 동작시키는 방법.
  15. 제 14 항에 있어서,
    상기 제 1 세트의 제어 라인들은 워드라인들의 세트이고;
    상기 워드라인들의 세트는 이웃하는 워드라인들의 그룹들로 분할되고;
    상기 방법은 상기 선택된 워드라인을 포함하는 이웃하는 워드라인들의 제 1 그룹 내의 워드라인들을 식별하고, 상기 제 1 그룹에 인접하는 이웃하는 워드라인들의 제 2 그룹 내의 워드라인들을 식별하는 단계를 포함하며; 그리고
    상기 각 제어 라인을 연결하는 단계는 상기 제 1 그룹 및 상기 제 2 그룹 내의 워드라인들을 개별적인 신호 소스들에 연결하는 단계를 포함하는 것을 특징으로 하는 비휘발성 저장소를 동작시키는 방법.
  16. 제 14 항에 있어서,
    상기 데이터 액세스 동작에 대해 선택된 워드라인을 결정하는 단계와, 여기서 상기 제 1 세트의 제어 라인들은 워드라인들의 세트이고;
    상기 선택된 워드라인에 대한 근접성에 기초하여 상기 데이터 액세스 동작에 대해 개별적으로 제어될 상기 워드라인들의 제 1 서브세트를 결정하는 단계와;
    상기 선택된 워드라인에 대한 근접성에 기초하여 상기 데이터 액세스 동작에 대해 개별적으로 제어되지 않을 상기 워드라인들의 제 2 서브세트를 결정하는 단계를 더 포함하며,
    상기 연결하는 단계는 상기 워드라인들의 제 1 서브세트를 개별적인 신호 소스들에 연결하고 상기 워드라인들의 제 2 서브세트를 상기 공통 신호 소스에 연결하는 단계를 포함하는 것을 특징으로 하는 비휘발성 저장소를 동작시키는 방법.
  17. 제 16 항에 있어서,
    상기 워드라인들의 세트는 이웃하는 워드라인들의 그룹들로 분할되고;
    상기 워드라인들의 제 1 서브세트를 결정하는 단계는 상기 선택된 워드라인을 포함하는 이웃하는 워드라인들의 제 1 그룹 내의 워드라인들을 식별하고, 상기 제 1 그룹에 인접하는 이웃하는 워드라인들의 부가적인 그룹들 내의 워드라인들을 식별하는 단계를 포함하는 것을 특징으로 하는 비휘발성 저장소를 동작시키는 방법.
  18. 제 16 항에 있어서,
    상기 워드라인들의 세트는 이웃하는 워드라인들의 그룹들로 분할되고;
    상기 워드라인들의 제 1 서브세트를 결정하는 단계는 상기 선택된 워드라인을 포함하는 이웃하는 워드라인들의 제 1 그룹 내의 워드라인들을 식별하고, 상기 제 1 그룹에 인접하는 이웃하는 워드라인들의 제 2 그룹 내의 워드라인들을 식별하는 단계를 포함하는 것을 특징으로 하는 비휘발성 저장소를 동작시키는 방법.
  19. 제 16 항에 있어서,
    상기 데이터 액세스 동작은 판독 동작이고;
    상기 공통 신호 소스는 비선택 비휘발성 저장 요소들을 턴온시키기 위한 전압을 제공하며; 그리고
    상기 개별적인 신호 소스들은 판독 비교 전압, 하나 이상의 보상 전압, 및 상기 비선택 비휘발성 저장 요소들을 턴온시키기 위한 전압을 제공하는 것을 특징으로 하는 비휘발성 저장소를 동작시키는 방법.
  20. 제 16 항에 있어서,
    상기 데이터 액세스 동작은 프로그래밍 동작이고;
    상기 공통 신호 소스는 패스 전압(pass voltage)을 제공하며; 그리고
    상기 개별적인 신호 소스는 프로그램 전압, 절연 전압들, 중간 전압들 및 상기 패스 전압을 제공하는 것을 특징으로 하는 비휘발성 저장소를 동작시키는 방법.
  21. 제 14 항에 있어서,
    더미 워드라인들에 서로 다른 전압을 제공하는 단계를 더 포함하며,
    상기 공통 신호 소스 및 상기 개별적인 신호 소스들은 전압 소스들인 것을 특징으로 하는 비휘발성 저장소를 동작시키는 방법.
  22. 제 14 항에 있어서,
    상기 데이터 액세스 동작에 대해 상기 선택된 제어 라인에 대한 인접성에 기초하여, 상기 제 2 세트의 제어 라인들의 각 제어 라인을 상기 다수의 개별적인 신호 소스들중 하나 또는 제 2 공통 신호 소스에 연결하는 단계를 더 포함하며,
    상기 데이터 액세스 동작에 대해 상기 선택된 제어 라인에 대한 인접성에 기초하여, 상기 제 2 세트의 제어 라인들의 각 제어 라인이 상기 다수의 개별적인 신호 소스들중 하나 또는 제 2 공통 신호 소스에 연결되는 동안, 상기 데이터 액세스 동작이 수행되는 것을 특징으로 하는 비휘발성 저장소를 동작시키는 방법.
  23. 제 14 항에 있어서,
    상기 제어 라인들의 세트는 워드라인들인 것을 특징으로 하는 비휘발성 저장소를 동작시키는 방법.
  24. 제 14 항에 있어서,
    상기 비휘발성 저장소는 플래시 메모리인 것을 특징으로 하는 비휘발성 저장소를 동작시키는 방법.
  25. 제 14 항에 있어서,
    상기 제 1 세트의 제어 라인들은 워드라인들의 세트이고;
    상기 제 1 세트의 제어 라인들의 각 제어 라인을 연결하는 단계는, 디코더들, 신호 라인들 및 브리지 회로를 통해, 상기 워드라인들을 상기 다수의 개별적인 신호 소스들의 개별적인 신호 소스 또는 상기 제 1 공통 신호 소스에 연결하는 단계를 포함하는 것을 특징으로 하는 비휘발성 저장소를 동작시키는 방법.
KR1020107008154A 2007-09-14 2008-08-28 제어 게이트 라인 아키텍쳐 KR101554940B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US97257007P 2007-09-14 2007-09-14
US60/972,570 2007-09-14
US12/060,746 US7672163B2 (en) 2007-09-14 2008-04-01 Control gate line architecture
US12/060,746 2008-04-01

Publications (2)

Publication Number Publication Date
KR20100085037A true KR20100085037A (ko) 2010-07-28
KR101554940B1 KR101554940B1 (ko) 2015-09-22

Family

ID=40452402

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107008154A KR101554940B1 (ko) 2007-09-14 2008-08-28 제어 게이트 라인 아키텍쳐

Country Status (7)

Country Link
US (1) US7672163B2 (ko)
EP (1) EP2186096B1 (ko)
JP (1) JP5178838B2 (ko)
KR (1) KR101554940B1 (ko)
CN (1) CN101802925B (ko)
TW (1) TWI396200B (ko)
WO (1) WO2009035862A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011054249A (ja) * 2009-09-02 2011-03-17 Toshiba Corp 半導体記憶装置
US8427874B2 (en) 2010-04-30 2013-04-23 SanDisk Technologies, Inc. Non-volatile memory and method with even/odd combined block decoding
US8711633B2 (en) 2011-05-12 2014-04-29 Micron Technology, Inc. Dynamic data caches, decoders and decoding methods
JP5537508B2 (ja) * 2011-07-08 2014-07-02 株式会社東芝 半導体記憶装置
JP5562995B2 (ja) 2012-03-22 2014-07-30 株式会社東芝 半導体記憶装置
CN107430875A (zh) * 2015-03-21 2017-12-01 Neo半导体公司 Sonos字节可擦除的eeprom
JP2018045750A (ja) * 2016-09-16 2018-03-22 東芝メモリ株式会社 半導体記憶装置
CN108053857B (zh) * 2017-12-21 2020-12-08 北京兆易创新科技股份有限公司 Nand flash的cg分组方法和cg分组装置
US11081185B2 (en) 2019-06-18 2021-08-03 Sandisk Technologies Llc Non-volatile memory array driven from both sides for performance improvement

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2862584B2 (ja) * 1989-08-31 1999-03-03 株式会社東芝 不揮発性半導体メモリ装置
KR940008722B1 (ko) * 1991-12-04 1994-09-26 삼성전자 주식회사 반도체 메모리 장치의 워드라인 드라이버 배열방법
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5765002A (en) * 1995-03-13 1998-06-09 Intel Corporation Method and apparatus for minimizing power consumption in a microprocessor controlled storage device
KR100252476B1 (ko) * 1997-05-19 2000-04-15 윤종용 플레이트 셀 구조의 전기적으로 소거 및 프로그램 가능한 셀들을 구비한 불 휘발성 반도체 메모리 장치및 그것의 프로그램 방법
JP3770717B2 (ja) * 1997-11-26 2006-04-26 ローム株式会社 強誘電体記憶装置および強誘電体記憶素子のくせ付け矯正方法
DE60136321D1 (de) * 2000-09-22 2008-12-11 Samsung Electronics Co Ltd Treiberschaltungen für Speicherzellenmatrix in einer NAND-typ Flash-Speicheranordnung
US6675293B1 (en) * 2000-11-02 2004-01-06 International Business Machines Corporation Auxiliary processor manages firmware personalities while borrowing host system resources
US6646950B2 (en) * 2001-04-30 2003-11-11 Fujitsu Limited High speed decoder for flash memory
JP4715024B2 (ja) 2001-05-08 2011-07-06 セイコーエプソン株式会社 不揮発性半導体記憶装置のプログラム方法
US6754108B2 (en) * 2001-08-30 2004-06-22 Micron Technology, Inc. DRAM cells with repressed floating gate memory, low tunnel barrier interpoly insulators
JP2003195989A (ja) * 2001-12-26 2003-07-11 Internatl Business Mach Corp <Ibm> コンピュータ装置、電源供給制御方法、およびプログラム
KR100474201B1 (ko) 2002-05-17 2005-03-08 주식회사 하이닉스반도체 낸드형 플래시 메모리의 워드 라인 디코더
KR100481857B1 (ko) 2002-08-14 2005-04-11 삼성전자주식회사 레이아웃 면적을 줄이고 뱅크 마다 독립적인 동작을수행할 수 있는 디코더를 갖는 플레쉬 메모리 장치
US6859397B2 (en) 2003-03-05 2005-02-22 Sandisk Corporation Source side self boosting technique for non-volatile memory
US7237074B2 (en) 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
JP4487237B2 (ja) * 2003-12-25 2010-06-23 エルピーダメモリ株式会社 半導体装置
JP4398750B2 (ja) * 2004-02-17 2010-01-13 株式会社東芝 Nand型フラッシュメモリ
US7120063B1 (en) 2004-05-07 2006-10-10 Spansion Llc Flash memory cell and methods for programming and erasing
JP4214978B2 (ja) * 2004-05-18 2009-01-28 ソニー株式会社 半導体記憶装置および信号処理システム
EP1686620A1 (en) 2005-01-28 2006-08-02 STMicroelectronics S.r.l. Process for manufacturing a memory with local electrical contact between the source line and the well
US7170784B2 (en) 2005-04-01 2007-01-30 Sandisk Corporation Non-volatile memory and method with control gate compensation for source line bias errors
US7170783B2 (en) * 2005-04-01 2007-01-30 Micron Technology, Inc. Layout for NAND flash memory array having reduced word line impedance
US7196946B2 (en) 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling in non-volatile storage
US7209406B2 (en) 2005-05-19 2007-04-24 Macronix International Co., Ltd. Memory device with rapid word line switch
KR100630752B1 (ko) 2005-07-06 2006-10-02 삼성전자주식회사 플래쉬 메모리 장치의 낮은 동작 전원 전압에 적합한워드라인 디코더
US7655536B2 (en) 2005-12-21 2010-02-02 Sandisk Corporation Methods of forming flash devices with shared word lines
US7436733B2 (en) 2006-03-03 2008-10-14 Sandisk Corporation System for performing read operation on non-volatile storage with compensation for coupling
JP4921884B2 (ja) 2006-08-08 2012-04-25 株式会社東芝 半導体記憶装置

Also Published As

Publication number Publication date
EP2186096A1 (en) 2010-05-19
KR101554940B1 (ko) 2015-09-22
EP2186096A4 (en) 2010-11-24
TWI396200B (zh) 2013-05-11
US20090073767A1 (en) 2009-03-19
EP2186096B1 (en) 2016-06-08
WO2009035862A1 (en) 2009-03-19
CN101802925A (zh) 2010-08-11
CN101802925B (zh) 2013-11-13
JP2010539629A (ja) 2010-12-16
TW200931423A (en) 2009-07-16
US7672163B2 (en) 2010-03-02
JP5178838B2 (ja) 2013-04-10

Similar Documents

Publication Publication Date Title
CN108292519B (zh) 用于非易失性存储器的子块模式
US8406063B2 (en) Programming non-volatile storage with synchonized coupling
EP2286411B1 (en) Erase-verification process for non-volatile storage
US7876611B2 (en) Compensating for coupling during read operations in non-volatile storage
EP2181446B1 (en) Reducing the impact of interference during programming
JP5426666B2 (ja) 不揮発性記憶装置のチャネルブーストを増加させるためのビットラインプレチャージを強化する方式
EP2446441B1 (en) Reduced programming pulse width for enhanced channel boosting in non-volatile storage
EP2304734B1 (en) Selective erase operation for non-volatile storage
KR101554940B1 (ko) 제어 게이트 라인 아키텍쳐
KR20110042300A (ko) 비휘발성 저장 소자의 오버 프로그래밍 정정
KR20110038117A (ko) 비휘발성 저장 소자의 프로그래밍 및 선택적 소거
KR20120039539A (ko) 고유 임계 전압 분포 탐지에 의한 메모리의 프로그램 디스터브 예측
KR20130101976A (ko) 다른 메모리 셀들로부터의 영향을 감소시키는 것을 포함하는 비휘발성 저장 소자의 프로그래밍
KR20120039562A (ko) 비휘발성 저장 소자에 대한 프로그래밍 완료의 검출
US7706189B2 (en) Non-volatile storage system with transitional voltage during programming
WO2014163995A1 (en) Non-volatile storage with shared bit lines and programmable select transistors
KR101047577B1 (ko) 서로 다른 사전충전 인에이블 전압들을 사용함으로써 프로그램 디스터브가 감소된 비휘발성 메모리 프로그래밍
KR101141258B1 (ko) 워드 라인 데이터에 대한 사전충전 의존성을 제거함으로써 프로그램 디스터브가 감소된 비휘발성 메모리 프로그래밍
KR101012133B1 (ko) 다중 부스팅 모드들을 이용하여 비휘발성 메모리에서 프로그램 디스터브를 감소시키는 방법

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
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: 20180816

Year of fee payment: 4