KR101106976B1 - 비휘발성 메모리의 복수-국면 프로그래밍에서의 데이터래치의 사용 - Google Patents

비휘발성 메모리의 복수-국면 프로그래밍에서의 데이터래치의 사용 Download PDF

Info

Publication number
KR101106976B1
KR101106976B1 KR1020077022631A KR20077022631A KR101106976B1 KR 101106976 B1 KR101106976 B1 KR 101106976B1 KR 1020077022631 A KR1020077022631 A KR 1020077022631A KR 20077022631 A KR20077022631 A KR 20077022631A KR 101106976 B1 KR101106976 B1 KR 101106976B1
Authority
KR
South Korea
Prior art keywords
programming
latch
data
memory
read
Prior art date
Application number
KR1020077022631A
Other languages
English (en)
Other versions
KR20070122207A (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 KR20070122207A publication Critical patent/KR20070122207A/ko
Application granted granted Critical
Publication of KR101106976B1 publication Critical patent/KR101106976B1/ko

Links

Images

Classifications

    • 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/3468Prevention of overerasure or overprogramming, e.g. by verifying whilst erasing or writing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control 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/26Sensing or reading circuits; Data output circuits

Landscapes

  • Read Only Memory (AREA)
  • Non-Volatile Memory (AREA)

Abstract

비휘발성 메모리 디바이스는 비휘발성 메모리에서 복수-국면 프로그래밍 프로세스를 제어하기 위한 회로를 포함한다. 실시예는 단일 프로그래밍 패스가 사용되는 신속 패스 기입 기술을 사용하나, 선택된 메모리 셀들의 바이어싱은 선택된 메모리 셀들의 채널들의 전압 레벨을 상승시킴으로써 메모리 셀들이 이들의 타겟 값들에 이를 때 프로그래밍을 늦추기 위해 변경된다. 본 발명의 주요 면은 이 하위 레벨에서의 검증의 결과를 저장하기 위해 대응하는 비트라인을 따른 각각의 선택된 메모리 셀에 접속될 수 있는 독출/기입 회로에 연관된 래치를 도입한다.

Description

비휘발성 메모리의 복수-국면 프로그래밍에서의 데이터 래치의 사용{USE OF DATA LATCHES IN MULTI-PHASE PROGRAMMING OF NON- VOLATILE MEMORIES}
이 발명은 이를테면 전기적으로 소거가능한 프로그램가능한 독출전용 메모리(EEPROM) 및 플래시 EEPROM과 같은 비휘발성 반도체 메모리에 관한 것으로, 특히 신속한 패스(pass) 기입 혹은 이외 다른 복수-국면 프로그래밍 기술들을 구현하는 방법들에 관한 것이다.
비휘발성으로 전하를 저장할 수 있는, 특히 소형 폼 팩터(form factor) 카드와 같은 EEPROM 및 플래시 EEPROM 형태의 고체상태 메모리는 최근에 다양한 이동 및 휴대 디바이스들, 특히 정보기기들 및 소비자 전자제품들에서 선택되는 저장장치가 되었다. 고체상태 메모리인 RAM(랜덤 액세스 메모리)과는 달리, 플래시 메모리는 파워가 턴 오프 된 후에도 그의 저장된 데이터를 보존하는 비휘발성이다. 높은 가격에도 불구하고, 플래시 메모리는 대량 저장 애플리케이션들에서 점점 더 사용되고 있다. 하드 드라이브들 및 플로피 디스크들과 같은 회전 자기 매체에 기초한, 종래의 대량 저장장치는 이동 및 휴대 환경엔 적합하지 않다. 이것은 디스크 드라이브들이 부피가 큰 경향이 있고 기계적 고장이 나기 쉬우며 큰 레이턴시(latency)와 큰 파워 요건들을 갖고 있기 때문이다. 이들 바람직하지 못한 속성 들은 디스크 기반의 저장장치를 대부분의 이동 및 휴대 애플리케이션들에서 비현실적이게 한다. 반면, 내장형임과 아울러 착탈가능한 카드 형태인 플래시 메모리는 이의 소형 크기, 낮은 파워 소비, 고속 및 고 신뢰성 특징들 때문에 이상적으로 이동 및 휴대 환경에서 적합하다.
EEPROM 및 전기적으로 프로그램가능한 독출전용 메모리(EPROM)는 소거되어 이들의 메모리 셀들에 새로운 데이터가 기입 혹은 "프로그램"되게 할 수 있는 비휘발성 메모리이다. 이들 둘은 전계효과 트랜지스터 구조에서 소스영역과 드레인 영역 사이에, 반도체 기판 내 채널영역 상에 위치한, 플로팅(비접속된) 도전성 게이트를 이용한다. 제어 게이트는 플로팅 게이트 상에 제공된다. 트랜지스터의 임계전압 특징은 플로팅 게이트 상에 보존된 전하량에 의해 제어된다. 즉, 플로팅 게이트 상의 주어진 레벨의 전하에 대해서, 소스영역과 드레인 영역간에 도통이 될 수 있게 트랜지스터가 턴 "온" 되기 전에 제어 게이트에 인가되어야 하는 대응 전압(임계)이 있다.
플로팅 게이트는 한 범위의 전하를 유지할 수 있고 그러므로 임계 전압 윈도우 내 임의의 임계 전압 레벨로 프로그램될 수 있다. 임계 전압 윈도우의 크기는 디바이스의 최소 임계 레벨과 최대 임계 레벨에 의해 경계가 정해지고, 이들 레벨들은 플로팅 게이트에 프로그램될 수 있는 한 범위의 전하들에 대응한다. 일반적으로 임계 윈도우는 메모리 디바이스의 특징들, 동작 조건들 및 이력에 따른다. 윈도우 내 각각의 구별되는 분해가능한 임계 전압 레벨 범위는, 원리적으로, 셀의 명확한 메모리 상태를 지정하는데 사용될 수 있다.
메모리 셀로서 작용하는 트랜지스터는 통상적으로 2가지 메커니즘들 중 한 메커니즘에 의해 "프로그램된" 상태로 프로그램된다. "핫 전자 주입"에서, 드레인에 인가되는 하이(high) 전압은 기판 채널영역을 횡단하는 전자들을 가속화한다. 동시에 제어 게이트에 인가되는 하이 전압은 전자들을 얇은 게이트 유전체를 통과시켜 플로팅 게이트로 이끌어낸다. "터널링 주입"에서, 하이 전압은 기판에 관하여 제어 게이트에 인가된다. 이렇게 함으로써, 전자들은 기판으로부터 개재된 플로팅 게이트로 끌어내어진다.
메모리 디바이스는 다수의 메커니즘들에 의해 소거될 수 있다. EPROM에 있어서, 메모리는 자외선 방사에 의해 플로팅 게이트로부터 전하를 제거함으로써 대량으로 소거될 수 있다. EEPROM에 있어서, 메모리 셀은 플로팅 게이트 내 전자들을 얇은 산화물을 통과하여 기판 채널영역으로 유도시키기 위해서(즉, 파울러-노다임 터널링) 제어 게이트에 관하여 기판에 하이 전압을 인가함으로써 전기적으로 소거될 수 있다. 통상적으로, EEPROM은 바이트씩으로 소거될 수 있다. 플래시 EEPROM에 있어서, 메모리는 모두 한꺼번에 혹은 한번에 많은 블록들 -한 블록은 512바이트 혹은 그 이상의 메모리로 구성될 수 있다- 을 전기적으로 소거할 수 있다.
비휘발성 메모리 셀의 예
통상적으로 메모리 디바이스들은 카드 상에 장착될 수 있는 하나 이상의 메모리 칩들을 포함한다. 각 메모리 칩은 디코더들 및 소거, 기입 및 독출회로들과 같은 주변회로들에 의해 지원되는 메모리 셀 어레이를 포함한다. 보다 정교한 메모 리 디바이스들은 지능형이고 보다 높은 레벨의 메모리 동작들 및 인터페이싱을 수행하는 제어기가 부수된다. 최근에 사용되는 많은 상업적으로 성공한 비휘발성 고체상태 메모리 디바이스들이 있다. 이들 메모리 디바이스들은 각 유형이 하나 이상의 전하 저장 소자를 구비하는 것인 서로 다른 유형들의 메모리 셀들을 채용할 수 있다.
도 1a-1e는 비휘발성 메모리 셀들의 서로 다른 예들을 개략적으로 도시한 것이다.
도 1a는 전하를 저장하기 위한 플로팅 게이트를 구비한 EEPROM 셀 형태의 비휘발성 메모리를 개략적으로 도시한 것이다. 전기적으로 소거가능하고 프로그램가능한 독출전용 메모리(EEPROM)는 EPROM과 유사한 구조를 가지나, UV 방사에 노출할 필요없이 적합한 전압들의 인가시 플로팅 게이트로부터 전하를 로딩 및 제거하는 메커니즘을 추가로 제공한다. 이러한 셀들 및 이들을 제조하는 방법들의 예들은 미국특허 5,595,924에 주어져 있다.
도 1b는 선택 게이트와 제어 혹은 조정 게이트 둘 다를 갖는 플래시 EEPROM 셀을 개략적으로 도시한 것이다. 메모리 셀(10)은 소스(14) 확산부와 드레인(16) 확산부 사이에 "분할-채널"(12)을 구비한다. 셀은 효과적으로 직렬의 두 개의 트랜지스터들(T1, T2)로 형성된다. T1은 플로팅 게이트(20) 및 제어 게이트(30)를 구비한 메모리 트랜지스터로서 작용한다. 플로팅 게이트는 선택가능한 전하량을 저장할 수 있다. 채널의 T1 부분을 통하여 흐를 수 있는 전류량은 제어 게이트(30) 상에 전압과 개재된 플로팅 게이트(20) 상에 놓인 전하량에 따른다. T2는 선택 게이 트(40)를 구비한 선택 트랜지스터로서 작용한다. T2가 선택 게이트(40)에서의 전압에 의해 턴 온 되었을 때, 이것은 채널의 T1 부분 내 전류가 소스와 드레인 사이에서 통과하게 한다. 선택 트랜지스터는 제어 게이트의 전압과 무관하게 소스-드레인 채널을 따른 스위치를 제공한다. 한 이점은 이것이 플로팅 게이트들에서의 전하 공핍(포지티브(positive))에 기인하여 제로 제어 게이트 전압에서 여전히 도통하여 있는 셀들을 턴 오프 하는데 사용될 수 있다는 것이다. 다른 이점은 소스측 주입 프로그래밍이 보다 쉽게 구현될 수 있게 한다는 것이다.
분할-채널 메모리 셀의 한 간단한 실시예는 선택 게이트 및 제어 게이트가 도 1b에 도시된 점선으로 개략적으로 나타낸 바와 같이 동일 워드라인에 접속되는 경우이다. 이것은 전하 저장 소자(플로팅 게이트)를 채널의 한 부분 상에 놓이게 하고 제어 게이트 구조(워드라인의 일부)를 전하 저장 소자 위만이 아니라 다른 채널 부분 위에 놓여지게 함으로써 달성된다. 이것은 직렬의 두 개의 트랜지스터를 구비한 셀을 효과적으로 형성하는데, 한 트랜지스터(메모리 트랜지스터)는 전하 저장 소자 상의 전하량과 채널의 부분을 통해 흐를 수 있는 전류량을 제어하는 워드라인 상의 전압과의 조합을 가지며, 다른 트랜지스터(선택 트랜지스터)는 이의 게이트로서 단독으로 작용하는 워드라인을 갖는다. 이러한 셀들, 메모리 시스템들에서 이들의 사용들 및 이들을 제공하는 방법들의 예들은 미국특허들 5,070,032, 5,095,344, 5,315,541, 5,343,063, 및 5,661,053에 주어져 있다.
도 1b에 도시된 분할-채널 셀의 보다 개선된 실시예는 선택 게이트와 제어 게이트가 독립적이고 이들간에 점선에 의해 연결되지 않을 때이다. 한 구현은 한 어레이의 셀들 내 한 열(column)의 제어 게이트들을 워드라인에 수직한 제어(혹은 조정) 라인에 연결한다. 효과는 선택된 셀을 독출 혹은 프로그래밍할 때 워드라인이 동시에 2가지 기능들을 수행해야 하는 것에서 구제하는 것이다. 이들 두 가지 기능들은 (1) 선택 트랜지스터의 게이트로서 작용하는 것 -이에 따라 선택 트랜지스터를 턴 온 및 오프 시키기 위한 적합한 전압을 요구하게 된다- 과, (2) 전하 저장 소자의 전압을 워드라인과 전하 저장 소자간 전계(용량성) 커플링을 통해 원하는 레벨로 구동하는 것이다. 단일의 전압으로 이들 기능들 둘 다를 최적으로 수행하는 것은 흔히 어렵다. 제어 게이트 및 선택 게이트의 개별적 제어에 있어선, 워드라인은 기능 (1)을 수행하는 것만을 필요로 하고, 추가된 제어라인은 기능 (2)를 수행한다. 이러한 능력은 프로그래밍 전압이 타겟의 데이터에 맞추어지는 보다 높은 수행의 프로그래밍을 설계할 수 있게 한다. 플래시 EEPROM 어레이에서 독립적 제어(혹은 조정) 게이트들의 사용은 예를 들면 미국특허들 5,313,421 및 6,222,762에 기술되어 있다.
도 1c는 2중 플로팅 게이트들 및 독립적 선택 및 제어 게이트들을 구비한 또 다른 플래시 EEPROM을 개략적으로 도시한 것이다. 메모리 셀(10)은 효과적으로 직렬의 3개의 트랜지스터들을 구비하는 것을 제외하곤 도 1b와 유사하다. 이러한 유형의 셀에서, 2개의 저장 소자들(즉, T1-좌측 및 T1-우측의 소자)은 소스 확산부와 드레인 확산부 사이 내 선택 트랜지스터(T1)를 구비하여 이들 확산부들간 채널 상에 포함된다. 메모리 트랜지스터들은 플로팅 게이트들(20, 20'), 및 제어 게이트들(30, 30')을 각각 구비한다. 선택 트랜지스터(T2)는 선택 게이트(40)에 의해 제 어된다. 임의의 한 시간에서, 한 쌍의 메모리 트랜지스터들 중 단지 하나만이 독출 혹은 기입을 위해 액세스된다. 저장유닛(T1-좌측)이 액세스되고 있을 때, T2 및 T1-우측 둘 다는 턴 온 되어 채널의 T1-좌측 부분 내 전류가 소스와 드레인간에 통과할 수 있게 된다. 유사하게, 저장유닛(T1-우측)이 액세스되고 있을 때, T2 및 T1-좌측이 턴 온 된다. 소거는 선택 게이트 폴리실리콘의 부분이 플로팅 게이트에 근접하게 하고 플로팅 게이트 내 저장된 전자들이 선택 게이트 폴리실리콘으로 터널링할 수 있도록 상당한 양의 전압(예를 들면, 20V)을 선택 게이트에 인가함으로써 달성된다.
도 1d는 NAND 셀로 구성된 한 스트링의 메모리 셀들을 개략적으로 도시한 것이다. NAND 셀(50)은 소스들 및 드레인들이 데이지-체인형으로 연결된 직렬의 메모리 트랜지스터들(Ml, M2,...Mn (n= 4, 8, 16 혹은 그 이상)로 구성된다. 한 쌍의 선택 트랜지스터(S1, S2)는 NAND 셀의 소스 단자(54)와 드레인 단자(56)를 통해 외부에의 메모리 트랜지스터 체인의 접속을 제어한다. 메모리 어레이에서, 소스 선택 트랜지스터(S1)가 턴 온 되었을 때, 소스 단자는 소스라인에 결합된다. 마찬가지로, 드레인 선택 트랜지스터(S2)가 턴 온 되었을 때, NAND 셀의 드레인 단자는 메모리 어레이의 비트라인에 결합된다. 체인 내 각각의 메모리 트랜지스터는 의도된 메모리 상태를 나타내기 위해서 주어진 량의 전하를 저장하는 전하 저장 소자를 구비한다. 각각의 메모리 트랜지스터의 제어 게이트는 독출 및 기입 동작들에 대해 제어한다. 선택 트랜지스터들(S1, S2)의 각각의 제어 게이트는 각각 이의 소스 단자(54) 및 드레인 단자(56)를 통해 NAND 셀에의 제어 액세스를 제공한다.
NAND 셀 내 어드레스된 메모리 트랜지스터가 프로그래밍 동안 독출되고 검증될 때, 이의 제어 게이트에는 적합한 전압이 공급된다. 동시에, NAND 셀(50) 내 비-어드레스된 나머지 메모리 트랜지스터들은 이들의 제어 게이트들 상에 충분한 전압의 인가에 의해 완전히 턴 온 된다. 이렇게 하여, 도전성 경로가 개개의 메모리 트랜지스터의 소스에서 NAND 셀의 소스 단자(54)로 효과적으로 생성되고 셀의 드레인 단자(56)에의 개개의 메모리 트랜지스터의 드레인에 대해서도 마찬가지이다. 이러한 NAND 셀 구조들을 가진 메모리 디바이스들은 미국특허들 5,570,315, 5,903,495, 6,046,935에 기술되어 있다.
도 1e는 전하를 저장하기 위한 유전층을 구비한 비휘발성 메모리를 개략적으로 도시한 것이다. 앞서 기술된 도전성 플로팅 게이트 소자들 대신에, 유전층이 사용된다. 유전 저장 소자를 이용한 이러한 메모리 디바이스들은 Eitan 등의 "NROM:A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell" IEEE Electron Device Letters, vol. 21, no. 11, November 2000, pp. 543-545에 기술되어 있다. ONO 유전층은 소스 확산부와 드레인 확산부간 채널을 가로질러 확장한다. 하나의 데이터 비트를 위한 전하는 드레인에 이웃한 유전층 내 국부화되고, 다른 데이터 비트를 위한 전하는 소스에 이웃한 유전층 내 국부화된다. 예를 들면, 미국특허들 5,768,192 및 6,011,725은 2개의 이산화실리콘층들 사이에 개재된 트랩핑(trapping) 유전체를 구비한 비휘발성 메모리 셀을 개시한다. 복수-상태 데이터 저장장치는 유전체 내 공간적으로 분리된 전하 저장 영역들의 바이너리 상태들을 개별적으로 독출함으로써 구현된다.
메모리 어레이
통상적으로 메모리 디바이스는 행들 및 열들로 배열되고 워드라인들 및 비트라인들에 의해 어드레스될 수 있는 2차원의 한 어레이의 메모리 셀들을 포함한다. 어레이는 NOR형 혹은 NAND형 구조에 따라 형성될 수 있다.
NOR 어레이
도 2는 메모리 셀들의 NOR 어레이의 예를 도시한 것이다. NOR형 구조를 가진 메모리 디바이스들은 도 1b 혹은 도 1c에 도시된 유형의 셀들로 구현되었다. 메모리 셀들의 각 행은 데이지-체인식으로 이들의 소스들 및 드레인들에 의해 접속된다. 이 설계는 종종 가상 접속 설계라고도 한다. 각 메모리 셀(10)은 소스(14), 드레인(16), 제어 게이트(30) 및 선택 게이트(40)를 구비한다. 행 내 셀들은 워드라인(42)에 접속된 선택 게이트들을 구비한다. 열 내 셀들은 선택된 비트라인들(34, 36)에 각각 접속된 소스들 및 드레인들을 구비한다. 메모리 셀들이 독립적으로 제어되는 이들의 제어 게이트 및 선택 게이트를 구비한 일부 실시예들에서, 조정 라인(36)은 열 내 셀들의 제어 게이트들을 연결한다.
많은 플래시 EEPROM 디바이스들은 각각의 이의 제어 게이트 및 선택 게이트가 함께 접속되어 형성된 메모리 셀들로 구현된다. 이 경우, 조정 라인들에 대한 필요성은 없으며 워드라인은 단순히 각 행을 따라 셀들의 모든 제어 게이트들 및 선택 게이트들을 연결한다. 이들 설계들의 예들은 미국특허들 5,172,338 및 5,418,752에 개시되어 있다. 이들 설계들에서, 워드라인은 근본적으로 두 가지 기능들로서, 행 선택과, 독출 혹은 프로그래밍을 위해 행 내 모든 셀들에 제어 게이트 전압을 공급하는 것을 수행한다.
NAND 어레이
도 3은 이를테면 도 1d에 도시된 것과 같은, 메모리 셀들의 NAND 어레이의 예를 도시한 것이다. NAND 셀들의 각 열을 따라, 비트라인은 각각의 NAND 셀의 드레인 단자(56)에 결합된다. NAND 셀들의 각 행을 따라, 소스 라인은 모든 이들의 소스 단자들(54)을 연결할 수 있다. 또한, 행을 따른 NAND 셀들의 제어 게이트들은 일련의 대응 워드라인들에 연결된다. 전체 한 행의 NAND 셀들은 연결된 워드라인들을 통해 제어 게이트들 상에 적합한 전압들로 한 쌍의 선택 트랜지스터들(도 1d 참조)을 턴 온 시킴으로써 어드레스될 수 있다. NAND 셀의 체인 내 메모리 트랜지스터가 독출되고 있을 때, 체인 내 나머지 메모리 트랜지스터들은 이들의 연관된 워드라인들을 통해 확실히 턴 온 되므로 체인을 통해 흐르는 전류는 근본적으로 독출되는 셀에 저장된 전하의 레벨에 따른다. 메모리 시스템의 일부로서 NAND 구조 어레이 및 이의 동작의 예는 미국특허들 5,570,315, 5,774,397 및 6,046,935에서 볼 수 있다.
블록 소거
전하 저장 메모리 디바이스들의 프로그래밍은 이 디바이스의 전하 저장 소자 들에 더 많은 전하를 부가하는 결과가 될 수 있을 뿐이다. 그러므로, 프로그램 동작에 앞서, 전하 저장 소자 내 현존하는 전하는 제거되어야 한다(혹은 소거되어야 한다). 소거 회로들(도시생략)은 메모리 셀들의 하나 이상의 블록들을 소거하기 위해 제공된다. EEPROM과 같은 비휘발성 메모리는 전체 한 어레이의 셀들, 혹은 어레이의 상당수의 그룹들의 셀들이 함께(즉, 플래시로) 전기적으로 소거될 때 "플래시" EEPROM이라 한다. 일단 소거되면, 한 그룹의 셀들은 재-프로그램될 수 있다. 함께 소거될 수 있는 한 그룹의 셀들은 하나 이상의 어드레스가능한 소거단위로 구성될 수 있다. 통상적으로 소거단위 혹은 블록은 한 페이지 이상의 데이터를 저장하며, 페이지는 프로그래밍 및 독출단위이지만, 1이상의 페이지가 단일 동작으로 프로그램 또는 독출될 수도 있다. 통상적으로 각 페이지는 하나 이상의 섹터의 데이터를 저장하며, 섹터의 크기는 호스트 시스템에 의해 정의된다. 예로서는 자기 디스크 드라이브들에 확립된 표준에 따라, 한 섹터의 512 바이트의 사용자 데이터와, 이에 더하여 사용자 데이터 및/또는 이것이 저장되는 블록에 관한 몇 바이트들의 오버헤드 정보이다.
독출/기입 회로들
통상적인 2상태 EEPROM 셀에서, 도통 윈도우를 2개의 영역들로 분할하기 위해서 적어도 하나의 전류 구분 레벨이 정해진다. 소정의 고정된 전압들을 인가함으로써 셀이 독출될 때, 이의 소스/드레인 전류는 구분 레벨(혹은 기준 전류(IREF))과 비교함으로써 메모리 상태로 분해된다. 읽혀진 전류가 구분 레벨보다 높다면, 셀은 한 논리 상태(예를 들면, "0" 상태)에 있는 것으로 판정된다. 반면, 전류가 구분 레벨 미만이라면, 셀은 다른 논리 상태(예를 들면, "1" 상태)에 있는 것으로 판정된다. 이에 따라, 이러한 2상태 셀은 1비트의 디지털 정보를 저장한다. 외부에서 프로그램할 수 있는 기준 전류원은 흔히 구분 레벨 전류를 발생하기 위해 메모리 시스템의 일부로서 제공된다.
메모리 용량을 증가시키기 위해서, 플래시 EEPROM 디바이스들은 반도체 기술의 상태가 진보함에 따라 더욱 더 큰 밀도로 제조되고 있다. 저장용량을 증가시키는 또 다른 방법은 각각의 메모리 셀이 2 이상 상태들을 저장하게 하는 것이다.
복수-상태 혹은 복수-레벨 EEPROM 메모리 셀에 있어서, 도통 윈도우는 각 셀이 1비트 이상의 데이터를 저장할 수 있게 1이상 구분에 의해 2이상 영역들로 분할된다. 주어진 EEPROM 어레이가 저장할 수 있는 정보는 각 셀이 저장할 수 있는 상태들의 수에 따라 증가된다. 복수-상태 혹은 복수-레벨 메모리 셀들을 가진 EEPROM 혹은 플래시 EEPROM은 미국특허 5,172,338에 기술되어 있다.
실제로, 셀의 메모리 상태는 통상적으로 기준전압이 제어 게이트에 인가되었을 때 셀의 소스 전극 및 드레인 전극에 걸친 도통 전류를 감지함으로써 독출된다. 이와 같이 하여, 셀의 플로팅 게이트 상에 각각의 주어진 전하에 대해서, 고정된 기준 제어 게이트 전압에 관하여 대응하는 도통 전류가 검출될 수 있다. 유사하게, 플로팅 게이트에 프로그램될 수 있는 전하의 범위는 대응하는 임계 전압 윈도우 혹은 대응하는 도통 전류 윈도우를 정의한다.
대안적으로, 분할된 전류 윈도우 중의 도통 전류를 검출하는 대신에, 제어 게이트에 테스트 하에 주어진 메모리 상태에 대해 임계 전압을 설정하고 도통 전류가 임계 전류보다 낮거나 큰지를 검출하는 것이 가능하다. 한 구현에서, 임계 전류에 대한 도통 전류의 검출은 비트라인의 정전용량을 통해 도통 전류가 방전하는 레이트를 조사함으로써 달성된다.
도 4는 임의의 한 시간에 플로팅 게이트가 선택적으로 저장하고 있을 수 있는 4개의 서로 다른 전하들 Q1-Q4에 대해 소스-드레인 전류(ID)와 제어 게이트 전압(VCG)간에 관계를 도시한 것이다. 4개의 ID 대 VCG의 실선 곡선들은 4개의 가능한 메모리 상태들에 각각 대응하여, 메모리 셀의 플로팅 게이트에 프로그램될 수 있는 4개의 가능한 전하 레벨들을 나타낸다. 예로서, 일단의 셀들의 임계 전압 윈도우는 0.5V 내지 3.5V의 범위일 수 있다. 6개의 메모리 상태들은 각각 0.5V의 간격으로 임계 윈도우를 5개의 영역들로 분할함으로써 분할될 수 있다. 예를 들면, 도시된 바와 같이 2㎂의 기준전류(IREF)가 사용된다면, Q1으로 프로그램되는 셀은 이의 곡선이 VCG=0.5V 및 1.0V로 분할된 임계 윈도우의 영역에서 IREF와 교차하기 때문에 메모리 상태 "1"에 있는 것으로 간주될 수 있다. 유사하게, Q4는 메모리 상태 "5"에 있다.
위의 설명으로부터 알 수 있는 바와 같이, 저장하기 위해 메모리 셀이 더 많은 상태들을 만들수록, 이의 임계 윈도우는 더욱 미세하게 분할된다. 이것은 요구된 분해능을 달성할 수 있기 위해서 프로그래밍 및 독출동작들에 있어 더 큰 정밀 도를 요구할 것이다.
미국특허 4,357,685는 셀이 주어진 상태로 프로그램될 때, 연속된 프로그래밍 전압 펄스들이 가해지고, 펄스마다 플로팅 게이트에 증가된 전하를 부가하는 2상태 EPROM을 프로그램하는 방법을 개시한다. 펄스들 사이에서, 셀은 구분 레벨에 대해 소스-드레인 전류를 판정하기 위해 다시 읽혀지거나 검증된다. 프로그래밍은 원하는 상태에 도달한 것으로 전류 상태가 검증되었을 때 중지한다. 사용되는 프로그래밍 펄스 열(train)은 증가하는 기간 혹은 진폭을 가질 수 있다.
종래 기술의 프로그래밍 회로들은 단순히 타겟 상태에 도달될 때까지 소거된 혹은 접지 상태로부터 임계 윈도우를 단계적으로 거치게 프로그래밍 펄스들을 인가한다. 실제로, 적합히 분해될 수 있게, 각각의 분할된 혹은 분리된 영역은 적어도 약 5개의 프로그래밍 단계들을 거칠 것을 요구할 것이다. 수행은 2상태 메모리 셀들에 대해선 수락될 수 있다. 그러나, 복수-상태 셀들에 대해서, 요구되는 단계 수는 분할 수에 따라 증가하며 따라서, 프로그래밍 정밀도 혹은 분해능은 증가되어야 한다. 예를 들면, 16-상태 셀은 타겟 상태로 프로그램하기 위해 평균하여 적어도 40 프로그래밍 펄스들을 요구할 수도 있다.
도 5는 행 디코더(130) 및 열 디코더(160)를 통해 독출/기입 회로들(170)에 의해 액세스될 수 있는 전형적인 배열의 메모리 어레이(100)를 구비한 메모리 디바이스를 개략적으로 도시한 것이다. 도 2 및 도 3에 관련하여 기술된 바와 같이, 메모리 어레이(100) 내 메모리 셀의 메모리 트랜지스터는 한 세트의 선택된 워드라인(들) 및 비트라인(들)을 통해 어드레스될 수 있다. 행 디코더(130)는 어드레스된 메모리 트랜지스터의 각각의 게이트들에 적합한 전압들을 인가하기 위해 하나 이상의 워드라인들을 선택하며 열 디코더(160)는 하나 이상의 비트라인들을 선택한다. 독출/기입 회로들(170)은 어드레스된 메모리 트랜지스터의 메모리 상태들을 독출 혹은 기입(프로그램)하기 위해 제공된다. 독출/기입 회로들(170)은 어레이 내 메모리 소자들에 비트라인을 통해 접속될 수 있는 다수의 독출/기입 모듈들을 포함한다.
도 6a는 개개의 독출/기입 모듈(190)의 개략적인 블록도이다. 근본적으로, 독출 혹은 검증 동안에, 감지 증폭기는 선택된 비트라인을 통해 접속된 어드레스된 메모리 트랜지스터의 드레인을 통해 흐르는 전류를 판정한다. 전류는 메모리 트랜지스터에 저장된 전하 및 이의 제어 게이트 전압에 따른다. 예를 들면, 복수-상태 EEPROM 셀에서, 이의 플로팅 게이트는 몇 개의 서로 다른 레벨들 중 한 레벨로 충전될 수 있다. 4-레벨 셀에 있어서, 이것은 2비트의 데이터를 저장하는데 사용될 수 있다. 감지 증폭기에 의해 검출되는 레벨은 레벨을 비트로의 변환 로직에 의해 데이터 래치에 저장될 한 세트의 데이터 비트들로 변환된다.
독출/기입 수행 및 정확도에 영향을 미치는 요인들
독출 및 프로그램 수행을 향상시키기 위해서, 어레이 내 복수의 전하 저장 소자들 혹은 메모리 트랜지스터들은 병렬로 독출 혹은 프로그램된다. 이에 따라, 메모리 소자들의 논리 "페이지"는 함께 독출 혹은 프로그램된다. 현존의 메모리 구조들에서, 통상적으로 행은 몇몇의 인터리브된 페이지들을 내포한다. 페이지의 모 든 메모리 소자들은 함께 독출 혹은 프로그램될 것이다. 열 디코더는 인터리브된 페이지들의 각각을 대응하는 수의 독출/기입 모듈들에 선택적으로 접속할 것이다. 예를 들면, 한 구현에서, 메모리 어레이는 532바이트(512바이트와 이에 더하여 20바이트의 오버헤드들)의 페이지 크기를 갖도록 설계된다. 각 열이 드레인 비트라인을 내포하고 행 당 2개의 인터리브된 페이지들이 있다면, 이것은 각 페이지가 4256 열들에 연관되어 전부 8512 열들에 이른다. 모든 우수 비트라인들 혹은 기수 비트라인들을 병렬로 독출 혹은 기입하기 위해 접속될 수 있는 4256 감지 모듈들이 있을 것이다. 이렇게 하여, 한 페이지의 4256비트들(즉, 532 바이트)의 데이터는 병렬로 한 페이지의 메모리 소자들로부터 독출 혹은 이들에 프로그램된다. 독출/기입 회로들(170)을 형성하는 독출/기입 모듈들은 다양한 구조들로 배열될 수 있다.
도 5를 참조하면, 독출/기입 회로들(170)은 뱅크들의 독출/기입 스택들(180)로 구성된다. 각각의 독출/기입 스택(180)은 한 스택의 독출/기입 모듈들(190)이다. 메모리 어레이에서, 열(column) 간격은 점유하는 하나 혹은 두 개의 트랜지스터들의 크기에 의해 결정된다. 그러나, 도 6a에서 알 수 있는 바와 같이, 독출/기입 모듈의 회로는 더 많은 트랜지스터들 및 회로 요소들로 구현될 것이며 따라서 많은 열들에 대한 공간을 점유할 것이다. 점유된 열들 중 1이상 열에 소용되기 위해서, 복수의 모듈들은 수직으로 적층된다.
도 6b는 통상적으로 한 스택의 독출/기입 모듈들(190)에 의해 구현되는 도 5의 독출/기입 스택을 도시한 것이다. 예를 들면, 독출/기입 모듈은 16개의 열들에 대해 확장할 수 있고, 한 스택의 8개의 독출/기입 모듈들을 구비한 독출/기입 스 택(180)은 병렬로 8개의 열들에 작용하는데 사용될 수 있다. 독출/기입 스택은 열 디코더를 통해 뱅크 중에 8개의 기수(1, 3, 5, 7, 9, 11, 13, 15) 열들 혹은 8개의 우수(2, 4, 6, 8, 10, 12, 14, 16) 열들에 결합될 수 있다.
전에 언급된 바와 같이, 종래의 메모리 디바이스들은 한번에 모든 우수 혹은 모든 기수 비트라인들을 대량으로 병렬로 동작시킴으로써 독출/기입 동작들을 개선한다. 2개의 인터리브된 페이지들로 구성된 행의 이러한 구조는 한 블록의 독출/기입 회로들에 맞추는 문제를 완화시키는데 도움을 줄 것이다. 또한, 비트라인간 용량성 커플링을 고려함으로써 정해진다. 우수 페이지 혹은 기수 페이지에 한 세트의 독출/기입 모듈들을 멀티플렉싱하기 위해 블록 디코더가 사용된다. 따라서, 한 세트의 비트라인들이 독출 혹은 프로그램될 때마다, 인터리빙된 세트는 바로 옆 이웃 커플링을 최소화하기 위해 접지될 수 있다.
그러나, 인터리빙 페이지 구조는 적어도 3가지 면에서 단점이 있다. 먼저, 추가의 멀티플렉싱 회로를 요구한다. 두 번째로, 수행이 느리다. 워드라인에 의해 혹은 일렬로 연결된 메모리 셀들의 독출 혹은 프로그램을 마치기 위해서, 2번의 독출 혹은 2번의 프로그램 동작들이 요구된다. 세 번째로, 2개의 이웃들이 서로 다른 시간들에서, 이를테면 개별적으로 기수 및 우수 페이지들에서 프로그램될 때 플로팅 게이트 레벨에서 이웃한 전하 저장 소자들간의 필드 커플링과 같은 다른 교란 영향들을 해결함에 있어 최적이 아니다.
이웃 필드 커플링의 문제는 메모리 트랜지스터들간 더욱 더 근접한 간격에 의해 더욱 두드러지게 된다. 메모리 트랜지스터에서, 전하 저장 요소는 채널 영역 과 제어 게이트간에 개재된다. 채널영역에 흐르는 전류는 제어 게이트에서의 필드에 의해 기여되는 결과적인 전계와 전하 저장 요소와의 함수이다. 점점 더 증가하는 밀도에 의해, 메모리 트랜지스터들은 서로 더욱 더 가깝게 형성된다. 이웃한 전하 요소들로부터의 필드는 영향받는 셀의 결과적인 필드에의 현저한 기여자가 된다. 이웃한 필드는 이웃들의 전하 저장 요소들에 프로그램된 전하에 의존한다. 이러한 교란적 필드는 이웃들의 프로그램된 상태들에 따라 변하기 때문에 본질적으로 동적이다. 이에 따라, 영향받는 셀은 이웃들의 변하는 상태들에 따라 서로 다른 시간에서 다르게 독출될 수도 있다.
인터리빙 페이지의 종래의 구조는 이웃한 플로팅 게이트 커플링에 의해 야기되는 오류를 악화시킨다. 우수 페이지 및 기수 페이지는 서로 무관하게 프로그램되고 독출되기 때문에, 페이지는 한 세트의 상태 하에 프로그램될 수 있으나, 그 사이에, 개재된 페이지에서 일어난 것에 따라서, 전적으로 다른 한 세트의 상태 하에서 다시 독출될 수도 있다. 독출 오류는 증가하는 밀도에 따라 더욱 심해질 것이므로, 보다 정확한 독출 동작과 복수-상태 구현을 위한 임계 윈도우의 좀 큰 분할을 요구한다. 수행은 악화될 것이며 복수-상태 구현에서 잠재적 용량은 제한된다.
미국특허 공개 US-2004-0060031-Al은 대응하는 한 블록의 메모리 셀들을 병렬로 독출 및 기입하기 위한 큰 한 블록의 독출/기입 회로들을 구비한 고 성능이면서도 콤팩트한 비휘발성 메모리 디바이스를 개시한다. 특히, 메모리 디바이스는 한 블록의 독출/기입 회로들의 용장성을 최소한으로 감소시키는 구조를 갖는다. 파워뿐만 아니라 공간에 현저한 절약은 시간 다중 방식으로 실질적으로 더 작은 다수 세트들의 공통 부분들과 상호작용하게 하면서 한 블록의 독출/기입 모듈들을 병렬로 동작하는 한 블록의 독출/기입 모듈 코어 부분들에 재분배함으로써 달성된다. 특히, 복수의 감지 증폭기들과 데이터 래치들간에 독출/기입 회로들간 데이터 처리는 공유된 프로세서에 의해 수행된다.
그러므로, 고성능 및 고용량 비휘발성 메모리에 대한 일반적인 필요성이 있다. 특히, 콤팩트하고 효율적이면서도 독출/기입 회로들간에 데이터 처리에 있어 매우 융통성이 있는 개선된 프로세서를 구비한 향상된 독출 및 프로그램 수행을 갖는 콤팩트한 비휘발성 메모리에 대한 필요성이 있다.
<발명의 요약>
발명의 일 면에 따라서, 비휘발성 메모리에서 복수-국면 프로그래밍 프로세스를 제어하기 위한 방법 및 대응하는 회로를 제공한다. 구체적으로, 실시예는 단일 프로그래밍 패스가 사용되나, 선택된 메모리 셀들의 바이어싱은 메모리 셀들이 이들의 타겟 값들에 이를 때 프로그래밍을 늦추기 위해 변경되는 신속 패스 기입을 사용한다. 각 프로그래밍 펄스 후에, 메모리는 제1의 하위 검증 값에서 검증되며, 이어서 제2 상위 레벨에서 제2 검증이 이어진다. 제2 레벨은 차후 프로그래밍으로부터 선택된 셀을 로크아웃하는데 사용된다. 제1 하위 검증 레벨은 프로그래밍 국면을 변경하는데 사용된다. 실시예에서, 선택된 메모리 셀들의 채널들이 전압 레벨을 상승시키는 것이 이것을 행한다. 본 발명의 주요 면은 이 하위 레벨에서 검증의 결과의 저장을 위해 대응 비트라인을 따라 각각의 선택된 메모리 셀에 접속될 수 있는 독출/기입 회로에 연관된 래치를 도입한다. N 상태 메모리에서, 프로그래밍을 위해 선택된 각 메모리 셀은 이를 N+1 래치들에 연관하여 있을 것이며, N 래치들은 타겟 데이터를 주시하기 위한 것이고 N+1 번째의 래치는 프로그래밍 국면을 제어하기 위한 것이다.
실시예는 특히 전-비트라인 구조의, NAND 형의 메모리이다. 상승하는 계단 형태의 프로그래밍 파형은 선택된 워드라인을 따라 인가된다. 초기 프로그래밍 국면에서, 선택된 메모리 셀들은 프로그래밍을 용이하게 하기 위해서, 이들의 비트라인들을 접지에 설정함으로써, 이들의 채널들이 접지에 설정되게 한다. 일단 하위 검증 레벨에서 성공적인 검증이 있다면, 비트라인 전압은 실시예에서 한 세트의 비트라인 클램프들 상의 레벨을 통해 상승되고, 따라서 선택된 메모리 셀들의 채널들은 상위 전압 레벨까지 상승되게 함으로써 프로그래밍을 늦추게 한다. 실시예는 비트라인들에 대한 바이어스 레벨을 조정하기 위해 비트라인 클램프를 이용한다. 각 비트라인에 연관된 독출/기입 스택은 기입 프로세스를 제어하기 위해 사용할 수 있는 한 세트의 데이터 래치들을 구비하며, 이들 래치들 중 하나는 하위 레벨에서 검증의 결과를 저장하고 그럼으로써 프로그래밍 국면을 제어하는데 사용되고 충분한 래치들은 표준 프로그래밍 프로세스를 감지하는데 사용된다.
본 발명의 추가의 특징들 및 이점들은 이의 바람직한 실시예들의 다음의 설명으로부터 이해될 것이며, 이 설명은 첨부한 도면들과 함께 취해질 것이다.
도 1a-1e는 비휘발성 메모리 셀들의 서로 다른 예들을 개략적으로 도시한 것이다.
도 2는 NOR 어레이의 메모리 셀들의 예를 도시한 것이다.
도 3은 도 1d에 도시된 것과 같은 NAND 어레이의 메모리 셀들의 예를 도시한 것이다.
도 4는 플로팅 게이트가 임의의 한 시간에 저장하고 있을 수 있는 4개의 서로 다른 전하들 Q1-Q4에 대해 소스-드레인 전류와 제어 게이트 전압간에 관계를 도시한 것이다.
도 5는 행 및 열 디코더들을 통해 독출/기입 회로들에 의해 액세스될 수 있는 메모리 어레이의 전형적인 배열을 개략적으로 도시한 것이다.
도 6a는 개개의 독출/기입 모듈의 개략적인 블록도이다.
도 6b는 종래에 한 스택의 독출/기입 모듈들에 의해 구현되는 도 5의 독출/기입 스택을 도시한 것이다.
도 7a는 본 발명의 개선된 프로세서가 구현되는, 한 뱅크의 분할된 독출/기입 스택들을 구비한 콤팩트한 메모리 디바이스를 개략적으로 도시한 것이다.
도 7b는 도 7a에 도시된 콤팩트한 메모리 디바이스의 바람직한 배열을 도시한 것이다.
도 8은 도 7a에 도시된 독출/기입 스택 내 기본 성분들의 일반적인 배열을 개략적으로 도시한 것이다.
도 9는 도 7a 및 도 7b에 도시된 독출/기입 회로들간에 독출/기입 스택들의 한 바람직한 배열을 도시한 것이다.
도 10은 도 9에 도시된 공통 프로세서의 개선된 실시예를 도시한 것이다.
도 11a는 도 10에 도시된 공통 프로세서의 입력 로직의 바람직한 실시예를 도시한 것이다.
도 11b는 도 11a의 입력 로직의 진리표를 도시한 것이다.
도 12a는 도 10에 도시된 공통 프로세서의 출력 로직의 바람직한 실시예를 도시한 것이다.
도 12b는 도 12a의 출력 로직의 진리표를 도시한 것이다.
도 13은 로우 및 하이 검증 레벨에 있어 동일 메모리 상태에 대응하는 저장 요소들의 2개의 분포들을 도시한 것이다.
도 14는 2개의 패스 기입 기술에서 사용되는 프로그래밍 파형의 예를 도시한 것이다.
도 15는 신속 패스 기입 기술에서 사용되는 프로그래밍 파형의 예를 도시한 것이다.
도 16은 전-비트라인 구조에서 NAND형 어레이 및 이의 주변 회로의 부분을 도시한 것이다.
도 17은 하위 데이터 페이지에 대해 신속한 패스 기입을 구현하기 위한 도 10의 데이터 래치들의 사용을 기술한 것이다.
도 18은 2개의 검증 레벨들을 예시하기 위한 전형적 검증 파형을 도시한 것이다.
도 19는 신속 패스 기입 알고리즘을 위한 흐름도이다.
도 20은 종래의 2개의 페이지 코딩을 위한 메모리 셀들의 분포를 도시한 것 이다.
도 21은 종래의 코딩에서 상위 데이터 페이지에 대해 신속 패스 기입을 구현하기 위한 도 10의 데이터 래치들의 사용을 기술한 것이다.
도 22는 완전 시퀀스 프로그래밍을 위해 신속 패스 기입을 구현하기 위한 도 10의 데이터 래치들의 사용을 기술한 것이다.
도 23 및 도 24는 교번 2 페이지 코딩들을 위한 메모리 셀들의 분포를 도시한 것이다.
도 25는 교번 2 페이지 코딩들에서 상위 데이터 페이지에 대해 신속 패스 기입을 구현하기 위한 도 10의 데이터 래치들의 사용을 기술한 것이다.
도 7a는 본 발명의 개선된 프로세서가 구현되는, 한 뱅크의 분할된 독출/기입 스택들을 구비한 콤팩트한 메모리 디바이스를 개략적으로 도시한 것이다. 메모리 디바이스는 2차원 어레이의 메모리 셀들(300), 제어 회로(310), 및 독출/기입 회로들(370)을 포함한다. 메모리 어레이(300)는 행 디코더(330)를 통해서 워드라인들에 의해서 그리고 열 디코더(360)를 통해서 비트라인들에 의해 어드레스될 수 있다. 독출/기입 회로들(370)은 한 뱅크의 분할된 독출/기입 스택들(400)로서 구현되고 한 블록("페이지"라고도 함)의 메모리 셀들이 병렬로 독출 혹은 프로그램되게 한다. 바람직한 실시예에서, 페이지는 인접한 한 행의 메모리 셀들로부터 구성된다. 한 행의 메모리 셀들이 복수의 블록들 혹은 페이지들로 분할되는 또 다른 실시예에서, 독출/기입 회로들(370)을 개개의 블록들에 멀티플렉싱하기 위해 블록 멀티 플렉서(350)가 제공된다.
제어회로(310)는 메모리 어레이(300)에 대해서 메모리 동작들을 수행하기 위해 독출/기입회로들(370)과 협동한다. 제어회로(310)는 상태 머신(312), 온-칩 어드레스 디코더(314) 및 파워 제어 모듈(316)을 포함한다. 상태 머신(312)은 메모리 동작들의 칩 레벨 제어를 제공한다. 온-칩 어드레스 디코더(314)는 디코더들(330, 370)에 의해 사용되는 하드웨어 어드레스와 호스트 혹은 메모리 제어기에 의해 사용되는 것간에 어드레스 인터페이스를 제공한다. 파워 제어 모듈(316)은 메모리 동작들 동안 워드라인들 및 비트라인들에 공급되는 파워 및 전압들을 제어한다.
도 7b는 도 7a에 도시된 콤팩트한 메모리 디바이스의 바람직한 구성을 도시한 것이다. 다양한 주변회로들에 의한 메모리 어레이(300)에의 액세스는 각 측 상의 액세스 라인들 및 회로가 반으로 감소되게 어레이의 서로 대향한 양측에서, 대칭으로 이행된다. 이에 따라, 행 디코더는 행 디코더들(330A, 330B)로 분할되고 열 디코더는 열 디코더들(360A, 360B)로 분할된다. 한 행의 메모리 셀들이 복수의 블록들로 분할된 실시예에서, 블록 멀티플렉서(350)는 블록 멀티플렉서들(350A, 350B)로 분할된다. 마찬가지로, 독출/기입 회로들은 어레이(300)의 하부로부터 비트라인들에 연결하는 독출/기입 회로들(370A) 및 어레이(300)의 상부로부터 비트라인들에 연결하는 독출/기입회로들(370B)로 분할된다. 이렇게 하여, 독출/기입 모듈들의 밀도, 따라서, 분할된 독출/기입 스택들(400)의 밀도는 근본적으로 반만큼 감소된다.
도 8은 도 7a에 도시된 독출/기입 스택 내 기본 성분들의 일반적인 배열을 개략적으로 도시한 것이다. 발명의 일반적인 구조에 따라서, 독출/기입 스택(400)은 k 비트라인들을 감지하기 위한 한 스택의 감지 증폭기들(212), I/O 버스(231)를 통해 데이터의 입력 혹은 출력을 위한 I/O 모듈(440), 입력 혹은 출력 데이터를 저장하기 위한 한 스택의 데이터 래치들(430), 독출/기입 스택(400) 간에 데이터를 처리하여 저장하기 위한 공통 프로세서(500), 및 스택 성분들간에 통신을 위한 스택 버스(421)를 포함한다. 독출/기입 회로들(370)간에 스택 버스 제어기는 독출/기입 스택들간에 다양한 성분들을 제어하기 위해 라인들(411)을 통해 제어 및 타이밍 신호들을 제공한다.
도 9는 도 7a 및 도 7b에 도시된 독출/기입 회로들간에 독출/기입 스택들의 한 바람직한 배열을 도시한 것이다. 각각의 독출/기입 스택(400)은 한 그룹의 k 비트라인들에 대해 병렬로 동작한다. 한 페이지가 p=r*k 비트라인들을 갖는다면, r개의 독출/기입 스택들(400-1, ..., 400-r)이 있을 것이다.
병렬로 동작하는 전체 한 뱅크의 분할된 독출/기입 스택들(400)은 한 행을 따른 한 블록(혹은 페이지)의 p개의 셀들이 병렬로 독출 혹은 프로그램될 수 있게 한다. 이에 따라, 전체 한 행의 셀들을 위한 p 개의 독출/기입 모듈들이 있을 것이다. 각각의 스택이 k개의 메모리 셀들에 사용되고 있을 때, 뱅크 내 기입/독출 스택들의 총 수는 r=p/k에 의해 주어진다. 예를 들면, r이 뱅크 내 스택들의 수이라면, p=r*k이 된다. 한 예로서의 메모리 어레이는 p=512 바이트들(512x8 비트들), k=8을 가질 것이며 따라서, r=512이 된다. 바람직한 실시예에서, 블록은 연속한 전체 한 행의 셀들이다. 또 다른 실시예에서, 블록은 행 내 셀들의 부분집합이다. 예 를 들면, 한 부분집합의 셀들은 전체 한 행의 1/2일 수도 있을 것이고 전체 한 행의 1/4일 수도 있을 것이다. 한 부분집합의 셀들은 연속된 이웃한 셀들 혹은 한 모든 다른 셀, 혹은 한 모든 소정 수의 셀들일 수도 있을 것이다.
이를테면 400-1과 같은 각각의 독출/기입 스택은 근본적으로, 한 세그먼트의 k개의 메모리 셀들에 병렬로 작용하는 한 스택의 감지 증폭기들(212-1 내지 212-k)을 내포한다. 바람직한 감지 증폭기는 개시된 바 전체를 여기 참조로 포함시키는 미국특허 공개 2004- 0109357-A1에 개시되어 있다.
스택 버스 제어기(410)는 라인들(411)을 통해 독출/기입 회로(370)에 제어 및 타이밍 신호들을 제공한다. 스택 버스 제어기는 자체가 라인들(311)을 통해 메모리 제어기(310)에 의존한다. 각 독출/기입 스택(400) 간 통신은 상호접속하는 스택 버스(431)에 의해 달성되고 스택 버스 제어기(410)에 의해 제어된다. 제어 라인들(411)은 스택 버스 제어기(410)로부터의 제어 및 클럭신호들을 독출/기입 스택들(400-1)의 성분들에 제공한다.
바람직한 실시예에서, 스택 버스는 공통 프로세서(500)와 한 스택의 감지 증폭기들(212)간 통신을 위한 SABus(422), 및 프로세서와 한 스택의 데이터 래치들(430)간 통신을 위한 DBus(423)로 분할된다.
한 스택의 데이터 래치들(430)은 스택에 연관된 각 메모리 셀에 하나씩의 데이터 래치들(430-1 내지 430-k)로 구성된다. I/O 모듈(440)은 데이터 래치들이 I/O 버스(231)를 통해 외부와 데이터를 교환할 수 있게 한다.
또한, 공통 프로세서는 이를테면 오류 상태와 같은, 메모리 동작 상태를 나 타내는 상태 신호의 출력을 위한 출력(507)을 포함한다. 상태 신호는 결선된 OR(Wired-Or) 구성으로 FLAG BUS(509)에 의해 결합된 n-트랜지스터(550)의 게이트를 구동하는데 사용된다. FLAG BUS는 바람직하게는 제어기(310)에 의해 프리차지되고, 상태신호가 독출/기입 스택들의 어느 것에 의해 나타났을 때 풀-다운될 것이다.
도 10은 도 9에 도시된 공통 프로세서의 개선된 실시예를 도시한 것이다. 공통 프로세서(500)는 프로세서 버스, 외부 회로들과 통신을 위한 PBUS(505), 입력 로직(510), 프로세서 래치 PLatch(520) 및 출력 로직(530)을 포함한다.
입력 로직(510)은 PBUS로부터 데이터를 수신하고, 신호라인들(411)을 통해 스택 버스 제어기(410)로부터의 제어신호들에 따라 논리 상태들 "1", "0" 혹은 "Z"(플로팅) 중 하나로 변환된 데이터로서 BSI 노드에 출력한다. 그러면, Set/Reset 래치인 PLatch(520)는 BSI를 래치하여, 한 쌍의 상보 출력신호들 MTCH 및 MTCH*가 된다.
출력 로직(530)은 MTCH 및 MTCH* 신호들을 수신하고, 신호라인들(411)을 통해 스택 버스 제어기(410)로부터의 제어신호들에 따라 논리 상태들 "1", "0" 혹은 "Z"(플로팅) 중 하나로 변환된 데이터를 PBUS(505)에 출력한다.
임의의 한 시간에 공통 프로세서(500)는 주어진 메모리 셀에 관계된 데이터를 처리한다. 예를 들면, 도 10은 비트라인 1에 결합된 메모리 셀의 경우를 도시한 것이다. 대응하는 감지 증폭기(212-1)는 감지 증폭기 데이터가 나타나는 노드를 포함한다. 바람직한 실시예에서, 노드는 데이터를 저장하는 SA 래치(214-1) 형태를 취한다. 유사하게, 대응하는 한 세트의 데이터 래치들(430-1)은 비트라인 1에 결합된 메모리 셀에 연관된 입력 혹은 출력 데이터를 저장한다. 바람직한 실시예에서, 한 세트의 데이터 래치들(430-1)은 n비트들의 데이터를 저장하기 위한 충분한 데이터 래치들(434-1, ...,434-n)을 포함한다.
공통 프로세서(500)의 PBUS(505)는 한 쌍의 상보 신호들(SAP, SAN)에 의해 전송 게이트(501)가 활성화되었을 때 SBUS(422)를 통해 SA 래치(214-1)에 액세스할 수 있다. 유사하게, PBUS(505)는 한 쌍의 상보 신호들(DTP, DTN)에 의해 전송 게이트(502)가 활성화되었을 때 DBUS(423)를 통해 한 세트의 데이터 래치(430-1)에 액세스할 수 있다. 신호들(SAP, SAN, DTP, DTN)은 스택 버스 제어기(410)로부터의 제어신호들의 일부로서 명시적으로 도시되었다.
도 11a는 도 10에 도시된 공통 프로세서의 입력 로직의 바람직한 실시예를 도시한 것이다. 입력 로직(520)은 PBUS(505) 상에 데이터를 수신하고, 제어신호들에 따라, 동일하거나, 반전되거나, 혹은 플로팅된 출력 BSI를 갖는다. 출력 BSI 노드는 근본적으로 전송 게이트(522) 혹은 Vdd에 직렬의 p-트랜지스터들(524, 525)을 포함하는 풀-업 회로, 혹은 접지에 직렬의 n-트랜지스터들(526, 527)을 포함하는 풀-다운 회로의 어느 한 출력에 의해 영향을 받는다. 풀-업 회로는 각각 신호들(PBUS 및 ONE)에 의해 제어되는 p-트랜지스터(524, 525)의 게이트들을 갖는다. 풀-다운 회로는 각각 신호들 ONEB<1> 및 PBUS에 의해 제어되는 n-트랜지스터들(526, 527)의 게이트들을 갖는다.
도 11b는 도 11a의 입력 로직의 진리표를 도시한 것이다. 로직은 PBUS 및 스 택 버스 제어기(410)로부터의 제어신호들의 일부인 제어 신호들 ONE, ONEB<0>, ONEB<1>에 의해 제어된다. 근본적으로, 3개의 전송 모드들로서, PASSTHROUGH, INVERTED, 및 FLOATED이 지원된다.
BSI가 입력 데이터와 동일한 PASSTHROUGH의 경우에 있어서, 신호들 ONE은 논리 "1", ONEB<0>은 "0", ONEB<1>은 "0"에 있다. 이것은 풀-업 혹은 풀-다운을 비활성화시킬 것이지만 PBUS(505) 상의 데이터를 출력(523)에 전달하기 위해 전송 게이트(522)를 활성화활 것이다. BSI가 입력 데이터의 반전인 IVNERTED 모드의 경우에, 신호들 ONE은 "0", ONEB<0>은 "1", ONE<1>은 "1"에 있다. 이것은 전송 게이트(522)를 비활성화시킬 것이다. 또한, PBUS가 "0"에 있을 때, 풀-다운 회로는 비활성화될 것이며 풀-업 회로는 활성화되어 BSI는 "1"에 있게 된다. 유사하게, PBUS가 "1"에 있을 때, 풀-업 회로는 비활성화되고 풀-다운 회로는 활성화되어, BSI는 "0"에 있게 된다. 마지막으로, FLOATED 모드의 경우에, 출력 BSI는 신호들 "1"의 ONE, "1"의 ONEB<0>, "0"의 ONEB<1>을 갖는 것에 의해 플로팅될 수 있다. FLOATED 모드는 실제로는 사용되지 않을지라도, 완전함을 위해 리스트되어 있다.
도 12a는 도 10에 도시된 공통 프로세서의 출력 로직의 바람직한 실시예를 도시한 것이다. 입력 로직(520)으로부터의 BSI 노드에 신호는 프로세서 래치 PLatch(520)에 래치된다. 출력 로직(530)은 PLatch(520)로부터 데이터 MTCH 및 MTCH*를 수신하며 제어신호들에 따라, PASSTHROUGH, INVERTED 혹은 FLOATED 모드 중 어느 하나에서처럼 PBUS 상에 출력한다. 즉, 4개의 브랜치들은 PBUS(505)에 대해 드라이버들로서 작용하며, 이를 유요하게 HIGH, LOW 혹은 FLOATED의 어느 한 상 태가 되게 한다. 이것은 PBUS(505)에 대한 4개의 브랜치 회로들, 즉 2개의 풀-업 및 2개의 풀-다운 회로들에 의해 달성된다. 제1 풀-업 회로는 Vdd와 직렬의 p-트랜지스터들(531, 532)을 포함하고, MTCH가 "0"에 있을 때 PBUS를 풀업할 수 있다. 제2 풀-업 회로는 접지에 직렬의 p-트랜지스터들(533, 534)을 포함하고 MTCH가 "1"에 있을 때 PBUS를 풀업할 수 있다. 유사하게, 제1 풀-다운 회로는 Vdd에 직렬의 n-트랜지스터들(535, 536)을 포함하고 MTCH가 "0"에 있을 때 PBUS를 풀 다운할 수 있다. 제2 풀-업 회로는 접지에 직렬의 n-트랜지스터들(537, 538)을 포함하고 MTCH가 "1"에 있을 때 PBUS를 풀업할 수 있다.
발명의 한 특징은 PMOS 트랜지스터들로 풀-업 회로들과 NMOS 트랜지스터들로 풀-다운 회로들을 구성하는 것이다. NMOS에 의한 풀(pull)은 PMOS에 의한 것보다는 훨씬 강력하기 때문에, 풀-다운은 항시 어떠한 경합에서도 풀-업을 압도할 것이다. 즉, 노드 혹은 버스는 항시 풀-업 혹은 "1" 상태로 내정할 수 있으나, 원한다면 풀다운에 의해 "0" 상태로 항시 반대가 되게 할 수 있다.
도 12b는 도 12a의 출력 로직의 진리표를 도시한 것이다. 로직은 입력 로직으로부터 래치된 MTCH, MTCH* 및 스택 버스 제어기(410)로부터의 제어신호들의 일부인 제어신호들 PDIR, PINV, NDIR, NINV에 의해 제어된다. 4개의 동작 모드들로서 PASSTHROUGH, INVERTED, FLOATED, 및 PRECHARGE이 지원된다.
FLOATED 모드에서, 모든 4개의 브랜치들은 비활성화된다. 이것은 내정된 값들인 신호들 PINV=1, NINV=0, PDIR=1, NDIR=0로 함으로써 달성된다. PASSTHROUGH 모드에서, MTCH=0일 때, PBUS=0을 요구할 것이다. 이것은 NDIR=1을 제외하고 모든 제어 신호들을 이들의 내정된 값들에 있게 하고, n-트랜지스터들(535, 536)을 구비한 풀-다운 브랜치만을 활성화함으로써 달성된다. MTCH=1일 때, PBUS=1일 것을 요구할 것이다. 이것은 PINV=0을 제외하고 모든 제어신호들을 이들의 내정된 값들에 있게 하고, p-트랜지스터들(533, 534)을 구비한 풀-업 브랜치만을 활성화함으로써 달성된다. INVERTED 모드에서, MTCH=0일 때, PBUS=1일 것을 요구할 것이다. 이것은 PDIR=0을 제외하고 모든 제어신호들을 이들의 내정된 값들에 있게 하고, p-트랜지스터들(531, 532)을 구비한 풀-업 브랜치만을 활성화함으로써 달성된다. MTCH=1일 때, PBUS=0일 것을 요구할 것이다. 이것은 NINV=1을 제외하고 모든 제어신호들을 이들의 내정된 값들에 있게 하고, n-트랜지스터들(537, 538)을 구비한 풀-다운 브랜치만을 활성화함으로써 달성된다. PRECHARGE 모드에서, PDIR=0 및 PINV=0의 제어 신호 설정들은 MTCH=1일 때 p-트랜지스터들(531, 531)을 구비한 풀-업 브랜치를 활성화하거나 MTCH=0일 때 p-트랜지스터들(533, 534)을 구비한 풀-업 브랜치를 활성화할 것이다.
공통 프로세서는 전부를 참조로 여기 포함시키는 2004년 12월 29일, 미국특허 출원번호 11/026,536에 보다 완전하게 전개되어 있다.
전(ALL)-비트라인 구조들에서의 신속 패스 기입
비휘발성 메모리들의 수행에 있어 중요한 면은 프로그래밍 속도이다. 여기에서는 복수-상태 비휘발성 메모리들의 프로그래밍 수행을 개선하는 방법들을 논하며 전-비트라인(ABL) 구조의 NAND 메모리의 맥락에서 제시된다. 구체적으로, 신속 패 스 기입을 구현하기 위해 도 10에 도시된 공통 프로세서의 레지스터들의 사용이 기술된다.
메모리를 프로그래밍을 함에 있어 목적은 데이터를 신속하게, 그러나 정확하게 기입하는 것이다. 바이너리 메모리에서, 프로그램되지 않은 상태들은 어떤 임계 레벨 미만에 있게 하고, 어떤 임계 레벨 이상의 프로그램된 상태들 전부를 기입하는 것만이 필요하다. 복수-상태 메모리에서, 중간 상태들에 있어서, 레벨은 어떤 임계 이상으로, 그러나 너무 높지 않게 기입되어야 하거나 이의 분포가 다음 레벨에 침범할 것이기 때문에 상황은 더 복잡하다. 이 문제는 상태들의 수가 증가하거나 가용 임계 윈도우가 감소되거나, 혹은 이들 둘 다일 때 더욱 악화된다.
상태 분포를 엄밀하게 하는 한 기술은 동일 데이터를 복수회 프로그래밍하는 것이다. 예는 참조로 여기 포함시키는 미국특허 6,738,289에 기술된 개략-상세 프로그래밍 방법이다. 도 13은 동일 메모리 상태에 대응하는 저장 요소들의 2개의 분포들을 도시한 것으로, 제1 패스에서 셀들은 제1의 하위 검증 레벨(VL)을 사용하여 프로그래밍 파형(PW1)에 의해 기입되어 분포(1301)를 생성하였다. 다음에 프로그래밍 파형은 제2 패스에서 하위 값에서 다시 시작한다. 제2 패스에서, 프로그래밍 파형(PW2)은 분포(1303)로 옮기기 위해서 제2의 상위 검증 레벨(VH)을 사용한다. 이것은 제1 패스에서 셀들을 대략적 분포에 놓여지게 하고 이어서 제2 패스에서 엄밀하게 한다. 프로그래밍 파형의 예는 도 14에 도시되었다. 제1 계단 PW1(1401)은 하위 검증 레벨(VL)을 사용하며 PW2는 상위 검증 레벨(VH)을 사용한다. 제2 패스(PW2(1403))는 미국특허6,738,289에 기술된 바와 같이 작은 스텝 크기를 사용할 수도 있는데, 그러나 서로 다른 검증 레벨들을 제외하곤, 프로세스들은 동일하다.
이 방식의 단점은 각 프로그래밍 시퀀스가 프로그래밍 파형이 1401을 실행하고 1403부터 다시 시작하는 것으로서 전체 계단들 둘 다를 거칠 것을 요구한다는 것이다. 기입은 단일 계단을 사용하는 것이 가능하였다면 보다 신속하게 실행될 수도 있어, 하위 검증(VL)에 기초하여 분포가 초기 프로그래밍 국면(phase)을 받게 되나, 그러나 여전히 일단 이 초기 레벨에 도달되면 프로세스를 늦추고 상위 검증 VH를 사용하여 분포를 명료하게 할 수 있을 것이다. 이것은 프로그래밍 파형에 대해 단일 계단 시퀀스로 프로그램하기 위해 비트라인 바이어스를 사용하는 "신속 패스 기입"을 통해 달성될 수 있다. 이 알고리즘은 2-패스 기입과 유사한 효과를 달성할 수 있고 전체를 참조로 여기 포함시키는 미국특허 6,643,188에 보다 상세히 기술되어 있다. 프로그래밍 파형 QPW(1501)이 도 15에 도시되었고 제1 국면에서, 프로세스는 검증이 VL 및 VH 레벨 둘 다에서 수행되는 것을 제외하곤(상세에 대해선 도 18을 참조), 2-패스 알고리즘의 제1 국면에 대해 진행하나, 일단 VL에서의 검증이 행해지면, 계단 파형을 다시 시작하는 것이 아니라, 계단은 계속되나, 셀들이 VH에서 검증할 때까지 프로세스가 계속됨에 따라 프로세스를 늦추기 위해서 비트라인 전압은 상승된다. 이것은 프로그래밍 파형의 펄스들이 단조로 감소되지 않게 하는 것에 유의한다. 이것은 도 16에 관하여 더 설명된다.
도 16은 전-비트라인 구조에서 NAND형 어레이의 일부 및 이의 주변회로를 도시한 것이다. 이것은 앞의 여러 도면들에 도시된 배열과 유사하나, 여기엔 본 논의에 관계된 요소들만이 주어졌으며 다른 요소들은 논의를 단순화하기 위해 생략되었 다. 또한, 도 16은 독출/기입 스택의 다른 요소에서 분리된 비트라인 클램프(621)를 구체적으로 도시하고 있다. 워드라인 클램프의 상세는 2005년 3월 16일 출원된 "Non- Volatile Memory and Method with Power-Saving Read and Program- Verify Operations" 명칭의 미국특허출원에, 특히 2004년 12월 16일에 출원된 미국특허출원번호 11/015,199에 기술되어 있고 이들을 참조로 둘 다 포함시킨다. 본 발명이 주로 전-비트라인 구조를 사용하는 NAND형 어레이에 관하여 논의될지라도, 발명은 이것으로 제한되는 것은 아님에 유의해야 할 것이다. 다음에 알게 되는 바와 같이, 발명은 신속 패스 기입, 혹은 보다 일반적으로 2-패스 프로그래밍 프로세스, 및 이 프로세스를 감시 및 제어하기 위한 데이터 래치들의 사용에 관한 것이다. 따라서, 발명이 설명의 목적으로 특정 실시예에 기초하여 기술될지라도, 훨씬 보다 일반적으로 적용될 수 있다.
도 16은 3개의 NAND 스트링들(610A-C) 각각이 대응하는 비트라인을 따라 비트라인 클램프(621)를 통해 각각의 감지 증폭기 SA-A 내지 SA-C(601A-C)에 접속된 것을 도시한 것이다. 각각의 감지 증폭기 SA(601)는 앞에서 SA 래치(214)(예를 들면, 도 10 참조)에 대응하여, 분명히 나타낸 데이터 래치 DLS(603)을 구비한다. 비트라인 클램프(621)는 대응하는 NAND 스트링의 비트라인을 따른 전압 레벨 및 전류 흐름을 제어하는데 사용되며 어레이의 부분 내 서로 다른 클램프들은 공통적으로 전압(VBLC)에 의해 제어된다. 각각의 NAND 스트링(610)에서, 소스 선택 게이트(SGS(615)) 및 드레인 선택 게이트(SGD(611))가 분명하게 도시되어 있고 이들은 전체 행에 대해 각각 VSGD 및 VSGS에 의해 제어된다. 워드라인 WL(625)을 따른 한 행의 셀들(613)은 다음의 설명을 위해 대표적인 선택된 행으로서 사용된다.
613A와 같은 선택된 메모리 셀들은 제어 게이트와 채널간에 전압차를 수립하여, 플로팅 게이트 상에 전하가 축적되게 함으로써 프로그램된다. 도 15의 프로그래밍 파형 QPW(1501)은 선택된 워드라인 WL(625)을 따라 인가된다. WL(625)을 따른 셀들이 스트링들 A 및 B에서 프로그램되고 스트링 C은 프로그램되지 않는 경우를 고찰한다. 행들 A 및 B의 셀들(613A 및 613B)과 같은 프로그램될 셀들에 대해서, 채널은 필요로 되는 전위차를 수립하기 위해 로우로(접지) 유지된다. 이것은 비트라인들(BL-A, BL-B)을 풀-다운 회로들에 의해 접지(프로그램된 데이터, "0"에 대응한다)로 설정하고; VBLC=VSGD=Vdd+VT, VT는 적합한 임계 전압, 으로 설정함으로써 비트라인 클램프들(621) 및 드레인측 선택 트랜지스터들을 턴 온 하고; VSGS를 로우로 취함으로써 소스측 선택 게이트들을 턴 오프 시킴으로써 행해진다. 이것은 NAND-A 및 NAND-B의 채널을 접지로 유지하며 613A 및 613B의 게이트들에서의 프로그래밍 펄스는 전하를 플로팅 게이트로 이송할 것이다.
프로그램되지 않을, 혹은 프로그램 금지된(소거된 데이터 혹은 로크아운된 데이터 "1"에 대응한다) 셀(613C)에 대해서, 동일 전압들이 비트라인 클램프, 선택 게이트들, 및 워드라인에 인가되는데; 그러나, 감지 증폭기에 래치된 데이터 "1"에 기초하여 클램프(621-C) 위에 비트라인(BLC)을 Vdd로 설정한다. 621-C의 게이트가 VBLC=Vdd+VT에 있으므로, 이것은 트랜지스터(621-C)를 효과적으로 차단하여, NAND-C의 채널이 플로팅되게 한다. 결국, 프로그래밍 펄스가 613C에 인가될 때, 채널은 풀-업되어 프로그래밍이 금지된다.
지금까지 기술된 바와 같이, 이 절차는 2-패스 프로그래밍의 제1 패스에 대해서 그리고 표준 단일 패스 프로그램에 대해 행해지게 되는 것과 거의 동일하다. 프로그래밍 펄스들 사이에서, 검증이 수행된다. 셀이 프로그램되어야 할지 여부는 타겟 상태의 VH 값에 대응한다. 2-패스 프로그래밍 알고리즘에서, 제1 패스의 검증들은 하위 VL 레벨을 사용하며, 제2 패스의 검증들은 VH 레벨을 사용한다. 본 기술은 검증들을 위해 사용되는 VL 및 VH 레벨들 둘 다가 펄스들간에 수행되는 점과 일단 셀이 이 하위 레벨에서 검증되면 무엇인가 발생하는 것에서 2-패스 기술과는 다르다. 2-패스 기술에서, 하위 VL 레벨에서의 성공적인 검증 후에, 프로그래밍 파형은 다시 시작하나 검증들은 이제 VH 레벨을 사용하며, 여기서, 프로그래밍 파형은 계속되나, 비트라인 바이어스들은 프로그래밍 레이트를 늦추기 위해 상승되어 변경된다. (신속 패스 기입의 변형예에서, 하위 검증은 없을 수도 있어 일단 제2 국면이 시작되면 VH 검증만이 남게 될 수도 있을 것이다. 유사하게, 제1의 몇몇의 펄스들에 대해서, VH 검증은 생략될 수도 있을 것이다. 그러나, 이것은 동작의 복잡성을 증가시키고 절약은 비교적 적으므로, 본 실시예는 주어진 기입 프로세스 전체에 걸쳐 VL 및 VH 검증들 둘 다를 포함할 것이다).
이와 같이 하여, 프로그램 펄스의 시작에서 비트라인 바이어스를 설정하는 절차들은 데이터 래치들 내 프로그램 검증 VH 데이터를 사용하여 감지 증폭기 래치(603-i) 내 데이터를 셋업하여 비트라인(BL-i)을 0(선택된 셀들을 프로그램하기 위해서) 혹은 Vdd(비선택된 셀들을 금지하기 위해)로 충전하는 것이며, 여기서 비트라인 클램프는 비선택된 비트라인들 상의 완전한 Vdd 값으로 비트라인이 충전되게 하기 위해 이미 VBLC= Vdd+ VT로 설정되어 있다. 그러면, 비트라인 값은 비트라인 클램프들(621-i) 상의 전압(VBLC)를 VBLC= Vdd+ VT로부터 - 트랜지스터들(621-i)은 완전히 온 하여 있다 - VBLC = VQPW +VT로 - VQPW는 Vdd 미만이다 - 이동시킴으로써 달성될 수 있다. 일단 셀들 중 하나가 타겟 상태에 대해 VL 레벨에서 검증되고 이 결과가 감지 증폭기 래치(603-i)로 전송되면, 이어서 비트라인 전압 레벨이 상승된다. 선택된 비트라인들에 대해서, 이것은 비트라인을 접지에서 VQPW로 상승시켜, 프로그래밍을 늦추며; 금지된 비트라인들에 대해서, 이들은 플로팅된 상태에 있게 한다. 비선택된 셀들은 여전히 프로그램 금지될 것이지만, 선택된 NAND 스트링들 내 채널은 다소 상승하여, WL(625)을 따라 공급된 프로그래밍 전압 파형이 계단을 계속하여 올라갈지라도 프로그래밍 레이트를 늦추게 될 것이다.
일단 비트라인 전압이 상승되면, 제2 국면은 동일 프로그래밍 파형을 따라 계속되나, 펄스간 검증들은 타겟 상태의 보다 높은 VH 레벨을 사용한다. 셀들이 개별적으로 검증됨에 따라, 이들은 대응하는 래치 DLS(603)이 반전하여 로크아웃되고 비트라인은 Vdd로 상승된다. 프로세스는 전체 페이지가 기입을 마감할 때까지 계속 된다.
도 17은 이 프로세스를 구현하기 위해 전형적인 전-비트라인 구조의 430(도 10)의 데이터 래치들(434-i)의 사용을 기술한 것이다. 도 17은 논의를 단순화하기 위해서, 전형적인 토폴로지로 배열된, 도 10의 선택된 아이템들만을 다시 나타낸 것이다. 이들은 데이터 I/O 라인(231)에 접속된 데이터 래치 DL0(434-0), 라인(423)에 의해 공통 프로세서(500)에 연결된 래치 DL1(434-1), 라인(435)에 의해 다른 데이터 래치들에 공통으로 접속된 데이터 래치 DL2(434-2), 및 라인(422)에 의해 공통 프로세서(500)에 접속된 감지 증폭기 데이터 래치 DLS(603)(도 10의 214와 동등한)를 포함한다.
단지 두 개의 데이터 비트들이 각각의 메모리 저장 요소에 프로그램될지라도, 각 비트라인은 3개의 연관된 데이터 래치들을 갖는다. (보다 일반적인 n 비트 경우에 있어서, 데이터 래치들의 수는 n+1이 될 것이다). 별도의 래치 DL2(434-2)의 도입은 신속 패스 기입 알고리즘이 2개의 프로그래밍 국면들 중 어느 것을 실행할 것인지를 관리하는데 사용된다. 위에 기술된 바와 같이, 그리고 다른 포함된 참조문헌들에서, 데이터 래치들 DL0(434-0) 및 DL1(434-1)은 "표준" 검증 레벨 VH에 기초하여 셀에 2비트의 데이터를 기입하는데 사용되는데, 하위 페이지가 프로그램되고 있을 때, 이 래치들 중 단지 하나만이 엄밀히 요구되나, 상위 페이지가 프로그램되고 있을 때는 이들 래치들 중 하나는 상위 페이지의 데이터용으로 사용되고 다른 하나는, 상위 페이지의 프로그래밍이 이 배열에서 하위 페이지의 상태에 의존하기 때문에, 이전에 프로그램된 하위 페이지용으로 사용된다. 추가의 래치 DL2(434-2)를 도입함으로써, 래치는 하위 VL 레벨에서의 검증의 결과를 나타내는데 사용될 수 있고, 이때, 선택된 요소의 채널이 로우로 유지되는 신속 패스 기입의 제1 국면에서, 프로그래밍을 늦추기 위해 채널 레벨이 상승되는 제2 국면으로 변경된다.
도 17에서, 레지스터들(434-i)은 바이너리 메모리에 대한 경우와 유사하게 구현되는 하위 페이지의 신속 패스 기입에 대해 표기된다. 하위 페이지의 원 데이터는 I/O 라인(231)을 따라 DL0(434-0)으로 로딩되고, VH 검증을 위해 사용하는 DL1(434-1)에 전송되고, 이어서 비트라인이 프로그램 가능 혹은 금지되었는지를 판정하는데 사용되는 DLS(603)에 전송된다. 래치 DL2(434-2)은 VL 로크아웃용으로 사용된다.
프로그램 검증은 선택된 워드라인 WL(625)에 인가되는 도 18에 보다 상세히 도시된 바와 같은 파형을 가진 프로그래밍 펄스들간에 수행될 수 있다. 파형은 접지(1801)에서 제1 하위 검증 레벨 VL(1803)으로 상승되고 이어서 상위 VH(1805)까지 더욱 상승된다. 어레이 상의 다른 전압 레벨들은 위에 포함된 참조문헌들에 기술된 바와 같은 전형적인 독출값들에 있다. 이것은 2개의 프로그램 검증들이 다음 단계들에 따라 연속적으로 행해지게 한다.
(1) 제1 검증 레벨은 하위 검증 레벨 VL(1803)을 사용하며, 이때 데이터는 데이터 래치 DL2(434-2)에 전송된다.
(2) 제2 검증은 검증 파형이 1805에 있을 때 수행되는 상위 검증 레벨이다. VH의 결과는 데이터 래치 DL1(434-1)에 전송될 것이다. 프로그램 펄스 동안, 비트 라인 바이어스 셋업은 VL 및 VH 검증 결과들 둘 다에 따를 것이다.
(3) VH 검증 결과는 비트라인들을 0혹은 Vdd로 충전하기 위해 SA 데이터 래치 DLS(603)에 전송된다.
(4) NDL 내 VL 검증 결과는 비트라인들을 0에서 VQPW(셀이 검증되었다면)으로 충전하기 위해서, 혹은 비트라인을 0(데이터가 "0"이라면)으로 유지하기 위해서 SA 데이터 래치 DLS(603)에 전송된다.
프로세스는 도 19의 흐름도에 상세히 기술되어 있다.
도 19는 전형적인 전-비트라인 실시예의 독출/기입 스택들의 래치들에 기초한 프로그램/검증 시퀀스의 흐름도이다. 데이터 래치들의 초기 상태는 단계들 701-703에서 수립되고, 프로그램 바이어스 상태들이 설정되고 프로그램 파형이 단계들 711-717에서 인가되고, 검증 국면은 단계들 721-725에서 행해진다. 여기에서 순서는 전형적인 실시예의 순서이며 많은 단계들의 순서는 예를 들면 워드라인에 펄스가 가해지기 전에 정확한 바이어스 레벨들이 수립되는 한, 재배열될 수 있다. 단계 701에서 데이터는 라인(231) 상에서 래치 DL0(434-0)으로 독출되고 이어서 단계 702에서 래치 DL1(434-1)에 전송된다. 단계 703에서 이것은 래치 DL2(434-2)로 다시 전송된다. 이것은 기입 프로세스를 위한 타겟 데이터를 설정하며, 여기서 사용된 관례는 "0"의 값은 프로그램하는 것에 대응하고 "1"의 값은 프로그램 금지하는 것에 대응한다.
프로그래밍 국면은 래치들에 기초하여 정확한 바이어스 상태들을 설정함으로 써 시작한다. 단계 711에서, 비트라인 클램프 라인에의 전압은 신속 패스 기입의 제1 국면의 정규 프로그래밍 레벨들인 Vdd+VT로 설정되고, 단계 712에서 래치 DL0/DL1에 유지된 값은 감지 증폭기의 래치 DLS(603)에 전송되며, 여기서 "0"(프로그램)의 값은 비트라인이 접지에 유지되게 할 것이며 "1"(금지)의 값은 Vdd의 비트라인을 달성할 것이다. 이것은(단계 713) 비트라인 클램프 라인들에의 전압을 Vdd+VT에 설정할 것이므로 선택된 비트라인을 따른 채널들은 프로그래밍을 위해 접지에 유지되고 비선택된 비트라인들을 따른 채널들은 프로그래밍을 금지하기 위해 플로팅된 상태에 있게 한다. 단계 714에서 클램프 전압은 VBLC=Vdd+VT에서 VBLC=VQPW+VT로 낮아진다. DL2(434-2)의 값은 단계 715에서 감지 증폭기 데이터 래치 DLS(603)에 전송된다. 제1 사이클 동안, 이것은 DL2에 설정된 초기 값일 것이다. 일단 VL에서 검증되면, 단계 714에서 설정된 낮아진 VBLC 값은 프로그램되는 셀들에서 비트라인 레벨이 0에서 VQPW로 상승되게 할 것이며, 그럼으로써 프로그래밍 레이트를 늦추고 제2 신속 패스 기입 국면으로 천이한다.
단계 717에서, 프로그래밍 펄스(도 15에서 QPW(1501))는 선택된 워드라인 WL(625)에 인가되고, 다른 라인들에 대한 바이어스는 전 단계들에서 수립되어 있다. 펄스간 검증 국면은 선택된 워드라인을 VL까지 상승시키기 전에 여러 바이어스 전압들이 수립될 때 단계 721에서 시작한다. 단계 722에서, 워드라인의 검증 파형은 하위 마진 VL(도 18의 1803)까지 상승하고, 셀이 검증되면, 감지 SA(601) 내 래 치는 활성화되고 DLS(603)의 값은 "0"에서 "1"로 전환하여, 단계 723에서 결과가 공통 프로세서(500)에 의해 DL2(434-2)로 전송된다. 단계 724에서, 검증 레벨은 상위 마진 VH(1805)까지 상승되고, 셀이 검증되면 DLS(603)이 설정되고, 이어서 결과는 단계 725에서 공통 프로세서에 의해 DL1(434-1)로 전송된다.
검증 국면이 단계들 721-711에서 완료되었을 때, 공통 프로세서(500)는 물론 모든 셀들이 VH에서 프로그램 차단되지 않았다면 후속되는 펄스에 대해 감지 증폭기 데이터 래치들 내 바이어스 상태들을 다시 수립할 필요가 있고, 그렇지 않다면, 프로그램 국면은 종료된다. 이것은 단계 711로 다시 루프 백 함으로써 행해진다. 단계 712에서, 현재 DL1(434-1)에 값에 의해 나타낸 바와 같은 VH 검증 결과가 전송되는데, 셀이 VH에서 검증되었다면, 이것은 프로그램 금지가 될 것이며 감지 증폭기 비트는 비트라인을 하이로 취하여 차후 프로그래밍을 금지하기 위해서 "0"에서 "1"로 변경된다. 현재 DL2(434-2)의 값에 의해 나타낸 바와 같이, VL 검증결과는 단계 715에서 감지 증폭기 데이터 래치 DLS(603)에 전송되는데, 셀이 VL에서 검증된다면, 비트라인 전압은 단계 716에서 상승된다.
데이터 래치들이 적합하게 설정되면, 다음 프로그래밍 펄스가 단계 717에서 인가된다. 그러면 프로세스는 전처럼 계속되는데, 대안적으로, 프로세스는 예를 들면 더 이상 필요하지 않게 되면 하위 검증 단계들 722 및 723을 제거함으로써 도 18에서 검증 파형을 변경할 수도 있을 것이다.
전술한 바는 상위 페이지/하위 페이지 배열의 하위 페이지에 대한 것이었으며, 여기서 각각의 메모리 셀은 2비트의 정보를 저장하는데, 하나는 상위 페이지에 대응하고 다른 하는 하위 페이지에 대응한다. 프로세스는 바이너리 경우 및 다른 상위 복수-페이지 배열들의 제1 프로그램된 페이지에 대해 이미 기술된 것과 유사하게 진행될 것이다. 논의의 나머지는 더 많은 상태들의 저장이 야기하였을 불필요한 복잡성을 추가하지 않으면서 복수-상태 경우를 예시하므로 셀 당 2비트의 상위 페이지/하위 페이지 실시예에 기초할 것이다. 복수-페이지 포맷을 사용하는 복수-상태 메모리들에 있어서, 셀들의 상태들로 페이지들의 다수의 엔코딩들이 가능하고 이들 중 몇몇이 상위 페이지/하위 페이지 배열에 대해 논의될 것이다. 이들 서로 다른 엔코딩의 상세, 이들이 구현될 수 있는 방법, 및 이들의 상대적 이점들은 위에 참조문헌으로 포함된, 2005년 3월 16일에 출원된 "Non- Volatile Memory and Method with Power-Saving Read and Program- Verify Operations" 명칭의 미국특허출원에 논의되어 있다.
신속 패스 기입을 사용한 상위 페이지의 데이터의 프로그래밍이 "통상(convention) 코드"를 사용하여 먼저 기술되며, 이 경우 상위 페이지 기입은 B 및 C 상태들을 프로그램하는데, 이것은 2개의 프로그램 검증 사이클들을 사용한다. 상태 A는 앞에서 기술된 하위 페이지 동작에서 프로그램되었다. A, B 및 C 상태들에 대한 분포들의 관계는 도 20에 도시되었다. 데이터 "11"에 대응하는 프로그램되지 않은 E 분포는 이 도면에 도시되지 않았다.
도 20은 신속 패스 기입의 제1 프로그래밍 국면에서 사용되는 각각의 상태의 하위 검증 VL, 및 제2 국면에서 사용되는 상위 검증 VH에 각각 대응하는 제1 분포(1301) 및 제2 분포(1303)를 도시한 것이다. 상위 및 하위 페이지 데이터로의 이 들 프로그램 상태들의 "통상적" 코딩은 분포들 밑에 주어져 있다. 이 코딩에서, 하위 페이지 데이터 "0"을 가진 상태들은 앞에서 기술된 바와 같이 하위 페이지가 프로그램되었을 때 신속 패스 기입에서 레벨들 VAL 및 VAH을 사용하여 1303-A 분포로 프로그램되어 있을 것이다. 상위 페이지 기입은 B 및 C 상태들을 프로그램하는 것이다.
데이터 래치들 DL0-DL2의 사용은 도 17과 유사한 도 21에 관하여 기술되었으나, 표기는 그에 따라 변경된 서로 다른 래치들의 사용을 나타낸다. 이에 나타낸 바와 같이, 하위 페이지 데이터는 DL0(434-0)에서 독출되고, DL1(434-1)은 상위 페이지 로크아웃 데이터에 대해 사용되며 VH 검증 결과를 수신할 것이며, DL2(434-2)는 다시 VL 로크아웃 데이터를 유지하는데 사용된다. 하위 페이지 기입에서와 같이, 실제의 상위 검증 결과에 대한 DL1과 신속 패스 기입의 국면 천이를 달성하는데 사용되는 하위 검증 결과에 대한 DL2인 2개의 검증 레벨들 각각에 대해 한 래치가 할당된다.
보다 구체적으로, VL 로크아웃 정보는 데이터 래치 DL2(434-2) 내 축적될 것이며, 이 래치의 초기값은 DL1(434-1)로부터 전송되며 셀이 페이지 프로그래밍될 것인지를 표시하기 위해 원 프로그램 데이터에 대응한다. 본 실시예에서, B 및 C 상태의 신속 패스 기입을 위한 비트라인 바이어스는 동일한데, 변형예에서, B 및 C 상태들이 서로 다른 바이어스 레벨들을 채용할 수 있게 추가의 래치들이 도입될 수 있다. 또한, VL 로크아웃 정보는 임시 저장을 위해서만 사용된다. VL을 위한 데이터 래치 DL2(434-2) 내 데이터는 각각의 VL 검증 감지를 지난 후에 "0"에서 "1"로 변경될 것이다. 로직은 주어진 프로그래밍 수행동안 "1" 값이 다시 "0"으로 바뀌지 않게 할 로직이다.
VH 로크아웃은 많은 서로 다른 검증 감지를 통해 축적된다. 비트들이 이의 의도된 프로그램 상태의 검증 레벨을 통과하는 즉시, 데이터 래치 내 데이터는 "11"로 변경될 것이다. 예를 들면, B 상태가 검증 VBH를 통과하였다면, 데이터 래치 내 데이터 "00"은 "11"로 변경될 것이다. C 상태가 검증 VCH를 통과하였다면, 데이터 래치 내 데이터 "01"는 "11"로 변경될 것이다. 로직은 주어진 프로그래밍 수행동안 "1" 값이 다시 "0"으로 바뀌지 않게 할 로직이다. 상위 페이지 프로그래밍에 있어서, VH 로크아웃은 단지 하나의 데이터 래치에 기초하여 일어날 수 있는 것에 유의한다.
2004년 12월 14일에 출원된 미국특허 출원번호 11/013,125는 동일한 세트의 복수-상태 메모리 요소들에 의해 유지되는 복수 페이지들의 프로그래밍이 중첩될 수 있는 방법을 기술한다. 예를 들면, 하위 페이지에 기입하는 동안 대응하는 상위 페이지에 대한 데이터가 가용하다면, 상위 페이지를 프로그램하기 시작하기 전에 마감하기 위해 하위 페이지에 대해 기다리기보다는, 기입 동작은 상위 및 하위 페이지들이 동시에 물리적 페이지에 프로그램되는 완전 프로그래밍 시퀀스로 전환할 수 있다. 신속 패스 기입 기술은 완전 시퀀스 동작에 적용될 수도 있다.
도 22는 완전한 시퀀스 기입을 위한 데이터 래치들 DL0-DL2의 사용을 도시한 것으로 도 17도와 유사하나, 표기는 그에 따라 변경된 서로 다른 래치들의 사용을 나타낸다. 도시된 바와 같이 DL0(434-0)은 상위 페이지 로크아웃 데이터에 대해 사 용되며 대응하는 VH 검증 결과를 수신할 것이며, DL1(434-1)은 하위 페이지 로크아웃 데이터에 대해 사용되며 대응하는 VH 검증 결과를 수신할 것이며, DL2(434-2)는 VL 로크아웃 데이터를 유지하는데 사용된다. 초기 DL2(434-2) 값이 초기 프로그램 데이터에 대응하는 단일 페이지 프로그래밍에서와는 달리, 완전 시퀀스 천이시에 초기값이 상위 및 하위 페이지 데이터가 될 것이다. 결국, 적합한 단일 페이지 원 프로그램 데이터를 DL2(434-2)에 로딩만하는 것이 아니라, 래치들(DL0 및 DL1) 둘 다가 "1"이라면 이제 "1"로 단지 설정된다.
본 실시예에서, 신속 패스 기입의 완전 시퀀스 동작은 다음 단계들을 포함할 수 있다.
(1) 제1 페이지 데이터는 DL0(434-0)에 로딩되고 하위 페이지는 위에 기술된 바와 같이 프로그래밍을 시작할 수 있다.
(2) 하위 페이지 프로그래밍에 대해 위에 기술된 바와 같이, 일단 하위 페이지 프로그램 데이터가 래치 DL1(434-1)에 전송되었으면, 래치 DL0(434-0)은 리셋될 수 있고 순차로 또 다른 페이지를 로딩할 준비가 될 수 있어, 동일 워드라인 WL(625) 상의 상위 페이지가 가용시 전송될 수 있게 한다.
(3) 상위 페이지 데이터가 로딩을 끝낸 후에, 하위 페이지의 프로그래밍은 행해지지 않게 될 것이다. 이 경우, 프로그램 알고리즘은 프로그램 속도를 가속시키기 위해서, 미국특허출원번호 11/013,125에 기술된 완전 시퀀스 프로그래밍에 따라, 동시에 2비트를 프로그램하게 전환될 수 있다. 상위 페이지 데이터가 입수될 수 없었거나 아니면 페이지의 기입이 완료되기에 앞서 로딩되지 않았다면, 상위 페 이지는 위에 기술된 바와 같이 스스로 프로그램될 것이다.
(4) 전환이 하위 페이지 프로그램에서 완전 시퀀스 전환으로의 변환을 형성하기 전에, 하위 페이지 원 데이터는 프로그램 검증 A를 통과한 셀들에 대해 "11"로 로크아웃되어 있을 수 있다. 이들 데이터는 2비트 완전 시퀀스 기입이 프로그램하기 위해 하위 및 상위 페이지 데이터 둘 다를 필요로 하기 때문에, 그들의 원 데이터를 복구하기 위해 A 레벨에서 독출되어야 한다.
(5) 이 2비트 완전 시퀀스 프로그램 알고리즘에서, A, B, 및 C 상태들에 대한 프로그램 검증들은 동시에 혹은 개별적으로 수행될 수 있다. 로크아웃 프로세스는 동시에 두 래치들을 로크아웃할 수도 있다.
(6) 프로그램 데이터 A 및 B가 마감된 후에, C 상태만이 프로그램된 상태에 있으므로 프로세스는 바이너리 기입과 유사하다. 남은 프로그램 데이터는 DL1으로 전송될 수 있으므로 DL-0은 로딩될 다음 페이지의 데이터에 대해 "1"로 리셋하게 된다.
신속 패스 기입을 사용한 상위 페이지 프로그램의 전술한 논의는 도 20에 도시된 바와 같이 상위 및 하위 페이지들로 상태들 E, A, B, 및 C의 종래의 엔코딩에 기초하였다. 2005년 3월 16일에 출원된 "Non- Volatile Memory and Method with Power-Saving Read and Program- Verify Operations" 명칭의 미국특허출원에서 더 전개되어 있는 바와 같이, 다른 엔코딩들도 흔히 유용하다. 2가지 예들이 도 23 및 도 24에 도시되었는데, 이들 중 제1 예는 "LM old" 코드를 보이고 있고 제2 예는 "LM new" 코드를 보이고 있다. 두 경우들에 있어서, 점선은 두 LM 코드들에서 신속 패스 기입을 사용하여 하위 페이지 기입이 위에 기술된 하위 페이지 프로그램과 유사하게 행해져, 하위 페이지 프로그램의 결과인 중간 상태의 분포를 나타낸다. 이어서 상위 페이지 프로그램은 중간 분포로부터 셀들을 B 혹은 C 분포의 최종 타겟 상태로 이동시키며 "01" 데이터를 가진 셀들을 "11" 상태의 E 분포에서 A 분포로 프로그램한다. 두 LM 코드들에서 신속 패스 기입을 사용한 상위 페이지 기입은 통상의 코드에 대해 위에 기술된 상위 페이지 프로그램과 유사하게 행해지는데, 차이는 상태 B 및 상태 C가 중간 상태(점선)로부터 오므로 하위 페이지도 로크아웃될 것이라는 것이다.
LM 코드의 두 버전들에 있어서, 신속 패스 기입은 동일한 방식으로 행해지나, 상태들의 검증은 4상태들에 2비트들의 서로 다른 할당에 기인하여 B_new=C_old 및 B old=C_new가 되도록 전환된다. 이 변경은, 통상의 코딩으로부터 변경에서와 같이, 공통 프로세서(500)에 의해 달성된다. 공통 프로세서(500)를 통한 데이터 전송 로직은 코드에 따를 것이며 따라서 다를 것이다.
또한, LM 코드들에 대한 상위 페이지 프로그램 알고리즘은 두 VH 로크아웃 데이터가 VH 검증 후에 업데이트되는 점에서 완전 시퀀스 신속 패스 기입 알고리즘과 유사하다. LM old 코드에 있어서, 상위 페이지는 하위 및 상위 페이지 코드들이 전환된다면 - 이 경우 LM old 코드에서 상위 페이지는 완전 시퀀스 프로그램과 동일하다- 통상적 코드에서와 동일하다.
도 25는 도 22와 유사한 방식 및 위에 다른 유사한 도면들에서 LM 코드들에 대한 데이터 래치들 및 이들의 할당을 도시한 것이다. 하위 페이지 데이터는 DL0(434-0)에 읽어들여지고, VH에 기초한 상위 페이지 로크아웃 데이터는 DL1(434-1)에 유지되며, DL2(434-2)는 신속 패스 기입 기술을 위해 국면 시프트를 제어하는데 사용되는 LV 로크아웃 데이터가 다시 할당된다.
C 상태 위에 어떠한 추가적인 상태는 없기 때문에, C 분포가 이 밑의 분포로부터 충분히 잘 정의된다는 것이 중요한 성과인 점에서 상황은 바이너리 경우와 유사하나, 과잉 프로그래밍이 주요 관심이 아니다(적어도 상태 판정에 관한 한). 결국, A 및 B 상태들에 대해선 신속 패스 기입을 사용하고, C 상태에 대해선 사용하지 않고 대신 이 상태의 VH 레벨만을 사용하는 것이 바람직할 수 있다. (다른 수들의 상태들을 갖는 메모리들에 있어서, 이들 설명은 가장 높이 있는, 혹은 가장 높은 프로그램된 상태에 적용한다).
예를 들면, 모든 3개의 상태들이 신속 패스 기입을 사용하고 있다면, 프로그램 및 검증의 구현은 모든 3개의 상태들에 대해 동일한 방식으로 행해지는 것보다 흔히 간단하나, 그러나, C 상태 분포는 넓을 수 있고 여전히 수락가능한 마진들을 가질 수 있기 때문에, 신속 패스 기입은 프로그래밍 시간을 감소시키기 위해서 C 상태에 대해선 생략될 수 있다.
언급된 바와 같이, 낮은 상태들에 대해선 신속 패스 기입(QPW)를 사용하나 C 상태에 대해선 신속 패스 기입을 사용하지 않는 것은 프로그래밍 알고리즘들을 복잡하게 할 수 있다. 예를 들면, 기입 프로세스의 어떤 지점에서, 프로그램 펄스에 이어 검증 A(QPW 사용), 검증 B(QPW 사용), 및 검증 C(QPW 사용하지 않음)가 행해지고 이에 이어 또 다른 프로그램 펄스가 온다. 위에 기술된 신속 패스 기입 알고 리즘은 프로그램 펄스에 대해 2개의 데이터 전송들을 사용하기 때문에(VH를 로크아웃하기 위한 제1 데이터 전송 및 VL을 로크아웃하기 위한 제2 데이터 전송), 제1 데이터 전송은 모든 3개의 상태들에 대해 문제가 없을 것이지만, 그러나 제2 전송은, 위에 배열들 하에선, 상태 C에 대해 프로그램 오류를 야기할 것이다. 상태 C는 낮은 레벨에서 검증 VCL을 행하지 않을 것이기 때문에, DL2(434-2) 데이터 래치는 이 비트라인에 대해 업데이트되지 않는다. 이 비트라인은 C에 대해 하이 VCH 검증 레벨을 통과한 후에 로크아웃될 필요가 있다면, 제1 데이터 전송 후에 프로그램 금지를 위해서 VH 로크아웃 데이터 래치는 "1"을 SA 데이터 래치에 전송할 것이다. 그러나, VL 데이터 래치(DL2(434-2))는 이를 업데이트할 검증 결과가 없기 때문에 데이터를 여전히 유지할 것이다. 그러므로, 제2 데이터 전송은 비트라인의 DLS(603)에 "0"을 전송할 것이다. 이것은 프리차지된 비트라인이 0으로 방전되는 결과가 되게 할 것이므로 이 비트라인을 과잉-프로그램하게 할 것이다.
이 문제를 극복하기 위해서, 신속 패스 기입이 C 상태에 대해 사용되고 있지 않을 때, 알고리즘은 VCH의 하이 레벨에서 C 검증에 의해 VL 데이터 래치(DL2(434-2))를 업데이트함으로써 수정된다. 이에 따라, 셀이 VCH에서 C 레벨에 대한 검증을 통과한다면, 두 VH 및 VL 로크아웃 데이터는 "1"로 변경될 것이며 프로그래밍은 금지될 것이다. 또한, 두 A 및 B 상태들이 기입을 마감하고 C 상태는 그렇지 않다면, 프로그램 알고리즘은 C 상태만이 남게 되고 대응하는 VH 검증 레벨만을 사용할 것이기 때문에, 신속 패스 기입에 의하지 않는 표준 프로그래밍으로 혹은 noQPW 알고리즘으로 전환할 수 있다. 이 경우, 단일 데이터 전송만이(VL 레벨은 사용되지 않 고, VH 레벨의) 행해질 것이다.
본 발명의 여러 가지 면들이 어떤 실시예들에 관하여 기술되었을지라도, 발명은 첨부된 청구항들의 전체 범위 내에서 보호되게 한 것임을 알 것이다.

Claims (34)

  1. 비휘발성 메모리 디바이스에 있어서,
    각각이 1 이상의 N 비트 데이터를 저장할 수 있는 하나 이상의 메모리 셀과,
    상기 메모리 셀에 접속될 수 있는 독출/기입 회로를
    포함하고,
    상기 독출/기입 회로는,
    단조로 감소하지 않는 프로그래밍 파형을 상기 메모리 셀에 인가하는 프로그래밍 회로와,
    상기 프로그래밍 파형이 상기 메모리 셀에 인가됨과 동시에 상기 메모리 셀에 바이어스 상태를 설정하는 바이어스 회로로서, 제 1 세트의 바이어스 상태는 제 1 프로그래밍 단계 동안 사용되고 제 2 세트의 바이어스 상태는 제 2 프로그래밍 단계 동안 사용되는, 상기 바이어스 회로와,
    상기 독출/기입 회로가 접속된 상기 메모리 셀 중 대응하는 셀에 각각이 연관된 하나 이상의 래치 세트로서, 상기 래치 세트 각각의 제 1 래치는 프로그래밍 단계 중 어느 것이 활성인지 제어하는, 상기 래치 세트를 포함하며,
    상기 독출/기입 회로는,
    프로그램 동작의 과정 동안 상기 메모리 셀의 선택된 셀에 대해 하나 이상의 상기 N 비트 데이터에 대한 검증 동작을 수행하는 감지 회로를 더 포함하고, 상기 데이터 비트 중 적어도 하나에 대한 검증은 제 1 레벨 및 제 2의 상위 레벨에서의 검증을 포함하고, 상기 제 1 레벨에서 검증의 결과는 상기 프로그래밍 단계를 제어하기 위해 상기 제 1 래치에 저장되는, 비휘발성 메모리 디바이스.
  2. 제 1항에 있어서, 상기 제 1 프로그래밍 단계 동안 선택된 메모리 셀의 채널은 접지 설정되고 상기 제 2 프로그래밍 단계 동안 선택된 메모리 셀의 채널은 상기 제 1 단계 동안보다 더 높은 전압에 있도록 허용된, 비휘발성 메모리 디바이스.
  3. 제 1항에 있어서, 상기 래치 세트 각각에서 래치의 수는 N+1인, 비휘발성 메모리 디바이스.
  4. 제 3항에 있어서, 상기 래치 세트 각각에서 상기 제 1 래치 이외의 상기 N개의 래치는 대응하는 메모리 셀에 프로그램될 데이터를 유지하는데 사용되는, 비휘발성 메모리 디바이스.
  5. 제 4항에 있어서, 상기 제 1 메모리 래치는 상기 대응하는 메모리 셀에 프로그램될 데이터에 기초하여 초기화되는, 비휘발성 메모리 디바이스.
  6. 삭제
  7. 제1항에 있어서, 상기 래치 세트 각각에서 래치의 수는 N+1인, 비휘발성 메모리 디바이스.
  8. 제 7항에 있어서, 상기 래치 세트 각각에서 상기 제 1 래치 이외의 상기 N개의 래치는 대응하는 메모리 셀에 프로그램될 데이터를 유지하는데 사용되는, 비휘발성 메모리 디바이스.
  9. 제 8항에 있어서, 상기 대응하는 메모리 셀에 프로그램될 데이터를 유지하는데 사용된 상기 래치의 값은 상기 대응하는 메모리 셀에 대해 상기 제 2 레벨에서의 검증 결과에 기초하여 업데이트되는, 비휘발성 메모리 디바이스.
  10. 제1항에 있어서, N은 1보다 크고, 상기 데이터 비트 중 적어도 하나에 대한 검증은 오직 단일 레벨에서의 검증을 포함하는, 비휘발성 메모리 디바이스.
  11. 제 1항에 있어서, 상기 하나 이상의 메모리 셀은 복수의 비트 라인과 복수의 워드 라인을 따라 어레이에 형성된 복수이고, 기입 동작 동안 복수의 선택된 메모리 셀은 상기 파형이 선택된 워드 라인에 인가됨과 동시에 프로그램되는, 비휘발성 메모리 디바이스.
  12. 제 11항에 있어서, 상기 선택된 메모리 셀 각각은 상기 대응하는 래치 세트에 상기 비트 라인 중 하나의 비트 라인을 따라 접속될 수 있고, 제 1 래치를 포함하는 래치 세트 각각은 상기 프로그래밍 단계 중 어느 것이 활성인지 제어하는, 비휘발성 메모리 디바이스.
  13. 제 12항에 있어서, 상기 메모리 디바이스는 상기 비트 라인에서 바이어스 레벨을 변경시켜 상기 제 1 프로그래밍 단계에서 상기 제 2 프로그래밍 단계로 변하는, 비휘발성 메모리 디바이스.
  14. 제 13항에 있어서, 상기 메모리 셀은 대응하는 클램프 요소를 통해 대응하는 래치 세트까지 상기 비트 라인 중 하나의 비트 라인을 따라 접속될 수 있고, 상기 클램프 요소는 공통으로 제어되며, 상기 제 1 프로그래밍 단계부터 상기 제 2 프로그래밍 단계까지 상기 비트 라인에서 상기 바이어스의 변경은 상기 클램프 요소를 제어하여 이루어지는, 비휘발성 메모리 디바이스.
  15. 제 11항에 있어서, 상기 메모리 디바이스는 NAND형 구조를 갖는, 비휘발성 메모리 디바이스.
  16. 제 15항에 있어서, 상기 메모리 디바이스는 모든(all) 비트 라인 배열을 사용하는 NAND형 구조를 갖는, 비휘발성 메모리 디바이스.
  17. 제 15항에 있어서, N은 2이고, 데이터는 하위 페이지/상위 페이지 포맷을 따라 저장되는, 비휘발성 메모리 디바이스.
  18. N이 1 이상인 N 비트 데이터를 각각 저장할 수 있는 하나 이상의 메모리 셀과, 상기 메모리 셀에 연결 가능한 독출/기입 회로 세트를 갖는 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법으로서,
    상기 독출/기입 회로는, 프로그래밍 회로와, 상기 메모리 셀에 바이어스 상태를 설정하는 바이어스 회로와, 상기 독출/기입 회로가 접속된 상기 메모리 셀 중 대응하는 셀에 각각이 연관된 하나 이상의 래치 세트를 포함하는, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법에 있어서,
    상기 프로그래밍 회로로부터 상기 메모리 셀에 단조로 감소하지 않는 프로그래밍 파형을 인가하는 단계와,
    상기 프로그래밍 파형을 인가함과 동시에, 상기 바이어스 회로에 의해 상기 메모리 셀에 바이어스 상태를 설정하는 단계로서, 제 1 세트의 바이어스 상태는 제 1 프로그래밍 단계 동안 사용되고 제 2 세트의 바이어스 상태는 제 2 프로그래밍 단계 동안 사용되는, 바이어스 상태를 설정하는 단계와,
    상기 래치 세트 각각의 제 1 래치에 의해 프로그래밍 단계 중 어느 것이 활성인지 제어하는 단계를 포함하며,
    상기 독출/기입 회로는 감지 회로를 더 포함하고, 상기 방법은,
    상기 프로그래밍 동작의 과정 동안 상기 메모리 셀의 선택된 셀에 대해 하나 이상의 상기 N 비트 데이터에 대한 검증 동작을 감지 회로에 의해 수행하는 단계를 더 포함하고,
    상기 데이터 비트 중 적어도 하나에 대한 검증 동작은
    제 1 레벨에서 검증하는 단계와,
    보다 높은 제 2 레벨에서 검증하는 단계를
    포함하며,
    상기 제 1 레벨에서의 검증 결과는 상기 프로그래밍 단계를 제어하기 위해 상기 제 1 래치에 저장되는, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
  19. 제 18항에 있어서, 상기 제 1 프로그래밍 단계 동안 바이어스 상태를 설정하는 것은 선택된 메모리 셀의 채널을 접지하도록 설정하는 것을 포함하고, 상기 제 2 프로그래밍 단계 동안 바이어스 상태를 설정하는 것은 상기 선택된 메모리 셀의 채널이 상기 제 1 단계 동안보다 더 높은 전압에 있도록 허용하는 것을 포함하는, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
  20. 제 18항에 있어서, 상기 래치 세트 각각에서 래치의 수는 N+1인, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
  21. 제 20항에 있어서, 상기 래치 세트 각각에서 상기 제 1 래치 이외의 상기 N개의 래치는 대응하는 메모리 셀에 프로그램될 데이터를 유지하는데 사용되는, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
  22. 제 21항에 있어서, 상기 대응하는 메모리 셀에 프로그램될 데이터에 기초하여 상기 제 1 메모리 래치를 초기화하는 단계를 더 포함하는, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
  23. 삭제
  24. 제18항에 있어서, 상기 래치 세트 각각에서 래치의 수는 N+1인, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
  25. 제 24항에 있어서, 상기 래치 세트 각각에서 상기 제 1 래치 이외의 상기 N개의 래치에, 상기 대응하는 메모리 셀에 프로그램될 데이터를 유지하는 단계를 더 포함하는, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
  26. 제 25항에 있어서, 상기 대응하는 메모리 셀에 프로그램될 데이터를 유지하는데 사용된 상기 래치의 값은 상기 대응하는 메모리 셀에 대한 제 2 레벨에서의 검증 결과에 기초하여 업데이트되는, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
  27. 제18항에 있어서, N은 1보다 크고, 상기 데이터 비트 중 적어도 하나에 대한 검증은 오직 단일 레벨에서의 검증을 포함하는, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
  28. 제 18항에 있어서, 상기 하나 이상의 메모리 셀은 복수의 비트 라인과 복수의 워드 라인을 따라 어레이에 형성된 복수이고, 프로그래밍 동작 동안 복수의 선택된 메모리 셀은 상기 파형이 선택된 워드 라인에 인가됨과 동시에 프로그램되는, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
  29. 제 28항에 있어서, 상기 선택된 메모리 셀 각각은 상기 대응하는 래치 세트에 상기 비트 라인 중 하나의 비트 라인을 따라 접속될 수 있고, 래치 세트 각각은 상기 프로그래밍 단계 중 어느 것이 활성인지 제어하는 제 1 래치를 포함하는, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
  30. 제 29항에 있어서, 상기 비트 라인에서 바이어스 레벨을 변경시켜 상기 제 1 프로그래밍 단계에서 상기 제 2 프로그래밍 단계로 변경하는 단계를 더 포함하는, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
  31. 제 30항에 있어서, 상기 메모리 셀은 대응하는 클램프 요소를 통해 대응하는 래치 세트까지 상기 비트 라인 중 하나의 비트 라인을 따라 접속될 수 있고, 상기 클램프 요소는 공통으로 제어되며, 상기 제 1 프로그래밍 단계부터 상기 제 2 프로그래밍 단계까지 상기 비트 라인에서 상기 바이어스의 변경은 상기 클램프 요소를 제어하여 이루어지는, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
  32. 제 28항에 있어서, 상기 메모리 디바이스는 NAND형 구조를 갖는, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
  33. 제 32항에 있어서, 상기 메모리 디바이스는 모든(all) 비트 라인 배열을 사용하는 NAND형 구조를 갖는, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
  34. 제 32항에 있어서, N은 2이고, 데이터는 하위 페이지/상위 페이지 포맷을 따라 저장되는, 비휘발성 메모리 디바이스에서 프로그래밍 동작을 수행하는 방법.
KR1020077022631A 2005-04-01 2006-03-27 비휘발성 메모리의 복수-국면 프로그래밍에서의 데이터래치의 사용 KR101106976B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/097,517 US7158421B2 (en) 2005-04-01 2005-04-01 Use of data latches in multi-phase programming of non-volatile memories
US11/097,517 2005-04-01
PCT/US2006/011032 WO2006107633A1 (en) 2005-04-01 2006-03-27 Use of data latches in multi-phase programming of non-volatile memories

Publications (2)

Publication Number Publication Date
KR20070122207A KR20070122207A (ko) 2007-12-28
KR101106976B1 true KR101106976B1 (ko) 2012-01-30

Family

ID=36619588

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077022631A KR101106976B1 (ko) 2005-04-01 2006-03-27 비휘발성 메모리의 복수-국면 프로그래밍에서의 데이터래치의 사용

Country Status (9)

Country Link
US (2) US7158421B2 (ko)
EP (1) EP1869681B1 (ko)
JP (1) JP5043827B2 (ko)
KR (1) KR101106976B1 (ko)
CN (1) CN100590743C (ko)
AT (1) ATE440367T1 (ko)
DE (1) DE602006008596D1 (ko)
TW (1) TWI433158B (ko)
WO (1) WO2006107633A1 (ko)

Families Citing this family (113)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US7120051B2 (en) 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7420847B2 (en) * 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
US7158421B2 (en) * 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7849381B2 (en) 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7206230B2 (en) 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7447078B2 (en) * 2005-04-01 2008-11-04 Sandisk Corporation Method for non-volatile memory with background data latch caching during read operations
US7463521B2 (en) 2005-04-01 2008-12-09 Sandisk Corporation Method for non-volatile memory with managed execution of cached data
US7400535B2 (en) * 2006-07-20 2008-07-15 Sandisk Corporation System that compensates for coupling during programming
US7885119B2 (en) 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
US7443729B2 (en) * 2006-07-20 2008-10-28 Sandisk Corporation System that compensates for coupling based on sensing a neighbor using coupling
US7734861B2 (en) 2006-09-08 2010-06-08 Sandisk Corporation Pseudo random and command driven bit compensation for the cycling effects in flash memory
US7606966B2 (en) * 2006-09-08 2009-10-20 Sandisk Corporation Methods in a pseudo random and command driven bit compensation for the cycling effects in flash memory
US7885112B2 (en) * 2007-09-07 2011-02-08 Sandisk Corporation Nonvolatile memory and method for on-chip pseudo-randomization of data within a page and between pages
US7936599B2 (en) 2007-06-15 2011-05-03 Micron Technology, Inc. Coarse and fine programming in a solid state memory
WO2009078006A2 (en) * 2007-12-18 2009-06-25 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
KR101497073B1 (ko) * 2008-02-29 2015-03-02 삼성전자주식회사 메모리 셀에 저장되는 데이터의 비트 수를 결정하는 장치
KR101425020B1 (ko) 2008-03-17 2014-08-04 삼성전자주식회사 메모리 장치 및 데이터 판정 방법
JP5193830B2 (ja) 2008-12-03 2013-05-08 株式会社東芝 不揮発性半導体メモリ
US8223551B2 (en) 2009-02-19 2012-07-17 Micron Technology, Inc. Soft landing for desired program threshold voltage
US8832353B2 (en) * 2009-04-07 2014-09-09 Sandisk Technologies Inc. Host stop-transmission handling
US8027195B2 (en) * 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
US8102705B2 (en) 2009-06-05 2012-01-24 Sandisk Technologies Inc. Structure and method for shuffling data within non-volatile memory devices
US8307241B2 (en) * 2009-06-16 2012-11-06 Sandisk Technologies Inc. Data recovery in multi-level cell nonvolatile memory
US8132045B2 (en) * 2009-06-16 2012-03-06 SanDisk Technologies, Inc. Program failure handling in nonvolatile memory
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US8081514B2 (en) * 2009-08-25 2011-12-20 Sandisk Technologies Inc. Partial speed and full speed programming for non-volatile memory using floating bit lines
US8169822B2 (en) 2009-11-11 2012-05-01 Sandisk Technologies Inc. Data state-dependent channel boosting to reduce channel-to-floating gate coupling in memory
US7986573B2 (en) * 2009-11-24 2011-07-26 Sandisk Technologies Inc. Programming memory with direct bit line driving to reduce channel-to-floating gate coupling
US8218381B2 (en) 2009-11-24 2012-07-10 Sandisk Technologies Inc. Programming memory with sensing-based bit line compensation to reduce channel-to-floating gate coupling
US8089815B2 (en) * 2009-11-24 2012-01-03 Sandisk Technologies Inc. Programming memory with bit line floating to reduce channel-to-floating gate coupling
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US8468294B2 (en) * 2009-12-18 2013-06-18 Sandisk Technologies Inc. Non-volatile memory with multi-gear control using on-chip folding of data
US8144512B2 (en) 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
US8208310B2 (en) * 2010-05-04 2012-06-26 Sandisk Technologies Inc. Mitigating channel coupling effects during sensing of non-volatile storage elements
US8514630B2 (en) 2010-07-09 2013-08-20 Sandisk Technologies Inc. Detection of word-line leakage in memory arrays: current based approach
US8432732B2 (en) 2010-07-09 2013-04-30 Sandisk Technologies Inc. Detection of word-line leakage in memory arrays
US8305807B2 (en) 2010-07-09 2012-11-06 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US8274838B2 (en) 2010-07-19 2012-09-25 Sandisk Technologies Inc. Programming non-volatile memory with bit line voltage step up
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
KR20120091648A (ko) * 2011-02-09 2012-08-20 삼성전자주식회사 비휘발성 메모리, 이를 포함하는 시스템, 및 이의 프로그램 방법
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
US8379454B2 (en) 2011-05-05 2013-02-19 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US8843693B2 (en) 2011-05-17 2014-09-23 SanDisk Technologies, Inc. Non-volatile memory and method with improved data scrambling
US8432740B2 (en) 2011-07-21 2013-04-30 Sandisk Technologies Inc. Program algorithm with staircase waveform decomposed into multiple passes
US8726104B2 (en) 2011-07-28 2014-05-13 Sandisk Technologies Inc. Non-volatile memory and method with accelerated post-write read using combined verification of multiple pages
US8750042B2 (en) 2011-07-28 2014-06-10 Sandisk Technologies Inc. Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures
US20130031431A1 (en) 2011-07-28 2013-01-31 Eran Sharon Post-Write Read in Non-Volatile Memories Using Comparison of Data as Written in Binary and Multi-State Formats
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
JP5380506B2 (ja) * 2011-09-22 2014-01-08 株式会社東芝 不揮発性半導体記憶装置
US8630118B2 (en) 2011-11-09 2014-01-14 Sandisk Technologies Inc. Defective word line detection
US8842476B2 (en) 2011-11-09 2014-09-23 Sandisk Technologies Inc. Erratic program detection for non-volatile storage
US8792285B2 (en) * 2011-12-02 2014-07-29 Macronix International Co., Ltd. Page buffer circuit
TWI497501B (zh) * 2011-12-30 2015-08-21 Macronix Int Co Ltd 頁面緩衝器電路
US8811075B2 (en) 2012-01-06 2014-08-19 Sandisk Technologies Inc. Charge cycling by equalizing and regulating the source, well, and bit line levels during write operations for NAND flash memory: verify to program transition
US8730722B2 (en) 2012-03-02 2014-05-20 Sandisk Technologies Inc. Saving of data in cases of word-line to word-line short in memory arrays
US8842473B2 (en) 2012-03-15 2014-09-23 Sandisk Technologies Inc. Techniques for accessing column selecting shift register with skipped entries in non-volatile memories
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
KR101996004B1 (ko) 2012-05-29 2019-07-03 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법 및 그것의 메모리 시스템
US8971104B2 (en) 2012-06-22 2015-03-03 Micron Technology, Inc. Memory programming to reduce thermal disturb
US8750045B2 (en) 2012-07-27 2014-06-10 Sandisk Technologies Inc. Experience count dependent program algorithm for flash memory
US9135989B2 (en) 2012-09-06 2015-09-15 Sandisk Technologies Inc. Write data preservation for non-volatile storage
US9164526B2 (en) 2012-09-27 2015-10-20 Sandisk Technologies Inc. Sigma delta over-sampling charge pump analog-to-digital converter
US9810723B2 (en) 2012-09-27 2017-11-07 Sandisk Technologies Llc Charge pump based over-sampling ADC for current detection
US9490035B2 (en) 2012-09-28 2016-11-08 SanDisk Technologies, Inc. Centralized variable rate serializer and deserializer for bad column management
US8897080B2 (en) 2012-09-28 2014-11-25 Sandisk Technologies Inc. Variable rate serial to parallel shift register
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
US20140198576A1 (en) * 2013-01-16 2014-07-17 Macronix International Co, Ltd. Programming technique for reducing program disturb in stacked memory structures
US9384839B2 (en) 2013-03-07 2016-07-05 Sandisk Technologies Llc Write sequence providing write abort protection
US9037902B2 (en) 2013-03-15 2015-05-19 Sandisk Technologies Inc. Flash memory techniques for recovering from write interrupt resulting from voltage fault
US20150006784A1 (en) 2013-06-27 2015-01-01 Sandisk Technologies Inc. Efficient Post Write Read in Three Dimensional Nonvolatile Memory
US9218242B2 (en) 2013-07-02 2015-12-22 Sandisk Technologies Inc. Write operations for defect management in nonvolatile memory
US9063671B2 (en) 2013-07-02 2015-06-23 Sandisk Technologies Inc. Write operations with full sequence programming for defect management in nonvolatile memory
CN105518793B (zh) 2013-07-08 2019-06-04 东芝存储器株式会社 半导体存储装置
US9165683B2 (en) 2013-09-23 2015-10-20 Sandisk Technologies Inc. Multi-word line erratic programming detection
US9043537B1 (en) 2013-11-21 2015-05-26 Sandisk Technologies Inc. Update block programming order
US9058881B1 (en) 2013-12-05 2015-06-16 Sandisk Technologies Inc. Systems and methods for partial page programming of multi level cells
US9244631B2 (en) 2013-12-06 2016-01-26 Sandisk Technologies Inc. Lower page only host burst writes
KR102187521B1 (ko) 2014-01-28 2020-12-08 삼성전자주식회사 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 메모리 시스템 및 불휘발성 메모리에 데이터를 프로그램하는 프로그램 방법
KR20150129460A (ko) * 2014-05-12 2015-11-20 현대모비스 주식회사 차량용 지능형 배터리 센서 및 이를 이용한 데이터 저장 방법
US8902652B1 (en) 2014-05-13 2014-12-02 Sandisk Technologies Inc. Systems and methods for lower page writes
US8886877B1 (en) 2014-05-15 2014-11-11 Sandisk Technologies Inc. In-situ block folding for nonvolatile memory
US9484086B2 (en) 2014-07-10 2016-11-01 Sandisk Technologies Llc Determination of word line to local source line shorts
US9443612B2 (en) 2014-07-10 2016-09-13 Sandisk Technologies Llc Determination of bit line to low voltage signal shorts
US9514835B2 (en) 2014-07-10 2016-12-06 Sandisk Technologies Llc Determination of word line to word line shorts between adjacent blocks
US9460809B2 (en) 2014-07-10 2016-10-04 Sandisk Technologies Llc AC stress mode to screen out word line to word line shorts
US9202593B1 (en) 2014-09-02 2015-12-01 Sandisk Technologies Inc. Techniques for detecting broken word lines in non-volatile memories
US9240249B1 (en) 2014-09-02 2016-01-19 Sandisk Technologies Inc. AC stress methods to screen out bit line defects
US9449694B2 (en) 2014-09-04 2016-09-20 Sandisk Technologies Llc Non-volatile memory with multi-word line select for defect detection operations
US9349469B2 (en) 2014-10-02 2016-05-24 Macronix International Co., Ltd. Program verify with multiple sensing
US9887009B2 (en) 2014-10-14 2018-02-06 Macronix International Co., Ltd. Memory page buffer with simultaneous multiple bit programming capability
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US9659666B2 (en) 2015-08-31 2017-05-23 Sandisk Technologies Llc Dynamic memory recovery at the sub-block level
US9858009B2 (en) 2015-10-26 2018-01-02 Sandisk Technologies Llc Data folding in 3D nonvolatile memory
US9711211B2 (en) 2015-10-29 2017-07-18 Sandisk Technologies Llc Dynamic threshold voltage compaction for non-volatile memory
US9698676B1 (en) 2016-03-11 2017-07-04 Sandisk Technologies Llc Charge pump based over-sampling with uniform step size for current detection
TWI613660B (zh) * 2016-10-11 2018-02-01 群聯電子股份有限公司 記憶體程式化方法、記憶體控制電路單元與記憶體儲存裝置
US10014056B1 (en) * 2017-05-18 2018-07-03 Sandisk Technologies Llc Changing storage parameters
US10366729B2 (en) 2017-06-22 2019-07-30 Sandisk Technologies Llc Sense circuit with two-step clock signal for consecutive sensing
JP2019057352A (ja) 2017-09-21 2019-04-11 東芝メモリ株式会社 メモリシステム
JP2019200826A (ja) 2018-05-14 2019-11-21 東芝メモリ株式会社 半導体記憶装置
US10643720B2 (en) 2018-05-23 2020-05-05 Sandisk Technologies Llc Bit line voltage control for damping memory programming
US11049578B1 (en) 2020-02-19 2021-06-29 Sandisk Technologies Llc Non-volatile memory with program verify skip
US11288011B2 (en) 2020-03-26 2022-03-29 Western Digital Technologies, Inc. Non-volatile memory array with write failure protection for multi-level cell (MLC) storage elements using coupled writes
CN115240753A (zh) 2020-09-24 2022-10-25 长江存储科技有限责任公司 用于nand存储器编程的架构和方法
US11532370B1 (en) 2021-05-25 2022-12-20 Sandisk Technologies Llc Non-volatile memory with fast multi-level program verify
US11887677B2 (en) 2022-03-22 2024-01-30 Sandisk Technologies Llc Quick pass write programming techniques in a memory device
US20240126449A1 (en) * 2022-10-17 2024-04-18 Micron Technology, Inc. Buffer threshold monitoring to reduce data loss

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010006477A1 (en) 1991-02-08 2001-07-05 Banks Gerald J. Electrically alterable non-volatile memory with n-bits per cell
US20030072192A1 (en) 2000-05-04 2003-04-17 Ilan Bloom Programming of nonvolatile memory cells
US20040240269A1 (en) 2001-09-17 2004-12-02 Raul-Adrian Cernea Latched programming of memory and method
US20050172338A1 (en) * 2004-01-30 2005-08-04 Sandu Catalin D. System and method for detecting malware in executable scripts according to its functionality

Family Cites Families (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1224062B (it) * 1979-09-28 1990-09-26 Ates Componenti Elettron Metodo di programmazione per una memoria a semiconduttore non volatile elettricamente alterabile
US4785427A (en) * 1987-01-28 1988-11-15 Cypress Semiconductor Corporation Differential bit line clamp
US5034922A (en) * 1987-12-21 1991-07-23 Motorola, Inc. Intelligent electrically erasable, programmable read-only memory with improved read latency
US5093806A (en) * 1988-02-16 1992-03-03 Tran Hiep V Sensing and decoding scheme for a bicmos read/write memory
US5095344A (en) * 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5070032A (en) * 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
DE69024086T2 (de) * 1989-04-13 1996-06-20 Sundisk Corp EEprom-System mit Blocklöschung
US5172338B1 (en) * 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
JP2646850B2 (ja) * 1990-11-30 1997-08-27 日本電気株式会社 半導体メモリ回路
US5343063A (en) * 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US5490107A (en) * 1991-12-27 1996-02-06 Fujitsu Limited Nonvolatile semiconductor memory
US5313421A (en) * 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5532962A (en) * 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5315541A (en) * 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
US5555204A (en) * 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
US5519847A (en) * 1993-06-30 1996-05-21 Intel Corporation Method of pipelining sequential writes in a flash memory
US5509134A (en) * 1993-06-30 1996-04-16 Intel Corporation Method and apparatus for execution of operations in a flash memory array
KR0169267B1 (ko) * 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5661053A (en) * 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
DE19523775C2 (de) * 1994-06-29 2001-12-06 Toshiba Kawasaki Kk Nichtflüchtige Halbleiterspeichervorrichtung
US5692165A (en) 1995-09-12 1997-11-25 Micron Electronics Inc. Memory controller with low skew control signal
JP3941149B2 (ja) * 1996-12-03 2007-07-04 ソニー株式会社 半導体不揮発性記憶装置
US5893135A (en) * 1995-12-27 1999-04-06 Intel Corporation Flash memory array with two interfaces for responding to RAS and CAS signals
US5724303A (en) * 1996-02-15 1998-03-03 Nexcom Technology, Inc. Non-volatile programmable memory having an SRAM capability
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5860082A (en) * 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
JP3414587B2 (ja) * 1996-06-06 2003-06-09 株式会社東芝 不揮発性半導体記憶装置
FR2749682B1 (fr) * 1996-06-10 1998-07-10 Bull Sa Circuit pour transborder des donnees entre memoires distantes et calculateur comprenant un tel circuit
US5768192A (en) * 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
JP3897388B2 (ja) * 1996-12-27 2007-03-22 シャープ株式会社 シリアルアクセス方式の半導体記憶装置
US6097638A (en) * 1997-02-12 2000-08-01 Kabushiki Kaisha Toshiba Semiconductor memory device
KR100272037B1 (ko) * 1997-02-27 2000-12-01 니시무로 타이죠 불휘발성 반도체 기억 장치
US5870335A (en) * 1997-03-06 1999-02-09 Agate Semiconductor, Inc. Precision programming of nonvolatile memory cells
JP3679544B2 (ja) * 1997-03-28 2005-08-03 三洋電機株式会社 不揮発性半導体メモリ装置
US5872739A (en) * 1997-04-17 1999-02-16 Radiant Technologies Sense amplifier for low read-voltage memory cells
US6768165B1 (en) * 1997-08-01 2004-07-27 Saifun Semiconductors Ltd. Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping
US5867429A (en) * 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
JP3906545B2 (ja) * 1998-02-03 2007-04-18 ソニー株式会社 不揮発性半導体記憶装置
US6333871B1 (en) 1998-02-16 2001-12-25 Hitachi, Ltd. Nonvolatile semiconductor memory including a controller for providing an improved reprogram operation
US5969986A (en) * 1998-06-23 1999-10-19 Invox Technology High-bandwidth read and write architectures for non-volatile memories
US6128229A (en) * 1998-09-16 2000-10-03 Sony Corporation Non-volatile semiconductor memory and method of verifying after writing and reading the same
US5949720A (en) * 1998-10-30 1999-09-07 Stmicroelectronics, Inc. Voltage clamping method and apparatus for dynamic random access memory devices
US6567302B2 (en) 1998-12-29 2003-05-20 Micron Technology, Inc. Method and apparatus for programming multi-state cells in a memory device
US6282145B1 (en) * 1999-01-14 2001-08-28 Silicon Storage Technology, Inc. Array architecture and operating methods for digital multilevel nonvolatile memory integrated circuit system
US6356485B1 (en) * 1999-02-13 2002-03-12 Integrated Device Technology, Inc. Merging write cycles by comparing at least a portion of the respective write cycle addresses
JP2000243085A (ja) 1999-02-22 2000-09-08 Hitachi Ltd 半導体装置
US6253250B1 (en) * 1999-06-28 2001-06-26 Telocity, Incorporated Method and apparatus for bridging a plurality of buses and handling of an exception event to provide bus isolation
JP3863330B2 (ja) * 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
JP2001184881A (ja) * 1999-12-28 2001-07-06 Toshiba Corp 不揮発性半導体メモリの読み出し回路
JP3983969B2 (ja) * 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
US6856568B1 (en) * 2000-04-25 2005-02-15 Multi Level Memory Technology Refresh operations that change address mappings in a non-volatile memory
US6504757B1 (en) * 2000-08-11 2003-01-07 Advanced Micro Devices, Inc. Double boosting scheme for NAND to improve program inhibit characteristics
US6266273B1 (en) * 2000-08-21 2001-07-24 Sandisk Corporation Method and structure for reliable data copy operation for non-volatile memories
JP2002100192A (ja) * 2000-09-22 2002-04-05 Toshiba Corp 不揮発性半導体メモリ
US6252803B1 (en) * 2000-10-23 2001-06-26 Advanced Micro Devices, Inc. Automatic program disturb with intelligent soft programming for flash cells
US6349056B1 (en) * 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
JP3631463B2 (ja) * 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
KR100381956B1 (ko) * 2001-02-02 2003-04-26 삼성전자주식회사 플래시 메모리 장치의 감지 증폭 회로
US6407953B1 (en) * 2001-02-02 2002-06-18 Matrix Semiconductor, Inc. Memory array organization and related test method particularly well suited for integrated circuits having write-once memory arrays
NO20010968A (no) 2001-02-26 2002-07-15 Thin Film Electronics Asa Ikke-destruktiv utlesing
US6738289B2 (en) * 2001-02-26 2004-05-18 Sandisk Corporation Non-volatile memory with improved programming and method therefor
JP3957985B2 (ja) * 2001-03-06 2007-08-15 株式会社東芝 不揮発性半導体記憶装置
US6570810B2 (en) * 2001-04-20 2003-05-27 Multi Level Memory Technology Contactless flash memory with buried diffusion bit/virtual ground lines
US6671204B2 (en) 2001-07-23 2003-12-30 Samsung Electronics Co., Ltd. Nonvolatile memory device with page buffer having dual registers and methods of using the same
JP2003036681A (ja) 2001-07-23 2003-02-07 Hitachi Ltd 不揮発性記憶装置
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
JP4454896B2 (ja) * 2001-09-27 2010-04-21 シャープ株式会社 仮想接地型不揮発性半導体記憶装置
KR100454119B1 (ko) * 2001-10-24 2004-10-26 삼성전자주식회사 캐쉬 기능을 갖는 불 휘발성 반도체 메모리 장치 및 그것의 프로그램, 읽기, 그리고 페이지 카피백 방법들
US6687158B2 (en) * 2001-12-21 2004-02-03 Fujitsu Limited Gapless programming for a NAND type flash memory
US6700820B2 (en) * 2002-01-03 2004-03-02 Intel Corporation Programming non-volatile memory devices
US6542407B1 (en) 2002-01-18 2003-04-01 Sandisk Corporation Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells
JP4004811B2 (ja) 2002-02-06 2007-11-07 株式会社東芝 不揮発性半導体記憶装置
US7443757B2 (en) * 2002-09-24 2008-10-28 Sandisk Corporation Non-volatile memory and method with reduced bit line crosstalk errors
US6983428B2 (en) * 2002-09-24 2006-01-03 Sandisk Corporation Highly compact non-volatile memory and method thereof
US7046568B2 (en) 2002-09-24 2006-05-16 Sandisk Corporation Memory sensing circuit and method for low voltage operation
US6987693B2 (en) 2002-09-24 2006-01-17 Sandisk Corporation Non-volatile memory and method with reduced neighboring field errors
US6940753B2 (en) * 2002-09-24 2005-09-06 Sandisk Corporation Highly compact non-volatile memory and method therefor with space-efficient data registers
US7196931B2 (en) * 2002-09-24 2007-03-27 Sandisk Corporation Non-volatile memory and method with reduced source line bias errors
US6657891B1 (en) * 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
US7073103B2 (en) * 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US6829167B2 (en) 2002-12-12 2004-12-07 Sandisk Corporation Error recovery for nonvolatile memory
JP3913704B2 (ja) * 2003-04-22 2007-05-09 株式会社東芝 不揮発性半導体記憶装置及びこれを用いた電子装置
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
JP4170952B2 (ja) * 2004-01-30 2008-10-22 株式会社東芝 半導体記憶装置
US7490283B2 (en) * 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
US7420847B2 (en) * 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
US7158421B2 (en) * 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7120051B2 (en) 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7409473B2 (en) * 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US20060140007A1 (en) * 2004-12-29 2006-06-29 Raul-Adrian Cernea Non-volatile memory and method with shared processing for an aggregate of read/write circuits
US7251160B2 (en) * 2005-03-16 2007-07-31 Sandisk Corporation Non-volatile memory and method with power-saving read and program-verify operations
US7206230B2 (en) * 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7187585B2 (en) 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7224614B1 (en) * 2005-12-29 2007-05-29 Sandisk Corporation Methods for improved program-verify operations in non-volatile memories

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010006477A1 (en) 1991-02-08 2001-07-05 Banks Gerald J. Electrically alterable non-volatile memory with n-bits per cell
US20030072192A1 (en) 2000-05-04 2003-04-17 Ilan Bloom Programming of nonvolatile memory cells
US20040240269A1 (en) 2001-09-17 2004-12-02 Raul-Adrian Cernea Latched programming of memory and method
US20050172338A1 (en) * 2004-01-30 2005-08-04 Sandu Catalin D. System and method for detecting malware in executable scripts according to its functionality

Also Published As

Publication number Publication date
JP2008535138A (ja) 2008-08-28
JP5043827B2 (ja) 2012-10-10
WO2006107633A1 (en) 2006-10-12
EP1869681A1 (en) 2007-12-26
TW200705447A (en) 2007-02-01
US7508721B2 (en) 2009-03-24
TWI433158B (zh) 2014-04-01
US20070097744A1 (en) 2007-05-03
KR20070122207A (ko) 2007-12-28
ATE440367T1 (de) 2009-09-15
EP1869681B1 (en) 2009-08-19
US20060221697A1 (en) 2006-10-05
CN101151678A (zh) 2008-03-26
DE602006008596D1 (de) 2009-10-01
US7158421B2 (en) 2007-01-02
CN100590743C (zh) 2010-02-17

Similar Documents

Publication Publication Date Title
KR101106976B1 (ko) 비휘발성 메모리의 복수-국면 프로그래밍에서의 데이터래치의 사용
KR101106977B1 (ko) 비휘발성 메모리의 캐시 동작에서의 데이터 래치의 사용
US7345928B2 (en) Data recovery methods in multi-state memory after program fail
US7420847B2 (en) Multi-state memory having data recovery after program fail
US7885112B2 (en) Nonvolatile memory and method for on-chip pseudo-randomization of data within a page and between pages
US7734861B2 (en) Pseudo random and command driven bit compensation for the cycling effects in flash memory
KR101197478B1 (ko) 파워 절약 독출 및 프로그램 검증 동작들을 구비한비휘발성 메모리 및 방법
US7239551B2 (en) Non-volatile memory and method with reduced neighboring field errors
KR101317625B1 (ko) 비휘발성 메모리에서 향상된 프로그램-검증 작동을 위한방법 및 장치
EP2070090B1 (en) Pseudo random and command driven bit compensation for the cycling effects in flash memory and methods therefor
US7606966B2 (en) Methods in a pseudo random and command driven bit compensation for the cycling effects in flash memory
US20040057287A1 (en) Non-volatile memory and method with reduced source line bias errors
KR20110034588A (ko) 비휘발성 메모리를 위한 고속 감지 증폭기 어레이와 방법
US8416628B2 (en) Local sensing in a memory device
WO2006107651A1 (en) Multi-state memory having data recovery after program fail

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20141230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 8