KR20080089335A - 스마트 검증을 이용한 다중 상태 비휘발성 메모리프로그래밍 방법 - Google Patents

스마트 검증을 이용한 다중 상태 비휘발성 메모리프로그래밍 방법 Download PDF

Info

Publication number
KR20080089335A
KR20080089335A KR1020087012605A KR20087012605A KR20080089335A KR 20080089335 A KR20080089335 A KR 20080089335A KR 1020087012605 A KR1020087012605 A KR 1020087012605A KR 20087012605 A KR20087012605 A KR 20087012605A KR 20080089335 A KR20080089335 A KR 20080089335A
Authority
KR
South Korea
Prior art keywords
threshold voltage
storage elements
programming
volatile storage
subset
Prior art date
Application number
KR1020087012605A
Other languages
English (en)
Other versions
KR101314306B1 (ko
Inventor
얀 리
롱 팜
Original Assignee
샌디스크 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/260,658 external-priority patent/US7301817B2/en
Priority claimed from US11/259,799 external-priority patent/US7366022B2/en
Application filed by 샌디스크 코포레이션 filed Critical 샌디스크 코포레이션
Publication of KR20080089335A publication Critical patent/KR20080089335A/ko
Application granted granted Critical
Publication of KR101314306B1 publication Critical patent/KR101314306B1/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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/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

Abstract

비휘발성 메모리에서, 프로그램 검증에 대한 개시(initiation)가 프로그래밍 시간이 감소되도록 설정된다. 한 방법에 따르면, 비휘발성 저장 엘리먼트들이 제 1 임계 전압 분포, 또는 그보다 높은 중간 임계 전압 분포 내에 하강하는 임계 전압을 갖는 데이터의 하위 페이지에 기초하여 프로그래밍된다. 이후, 상기 제 1 임계 전압 분포를 지닌 상기 비휘발성 저장 엘리먼트들은 그 곳에 머무르거나, 데이터의 상부 페이지에 기초하여 제 2 임계 전압으로 프로그래밍된다. 상기 중간 임계 전압 분포를 지닌 상기 비휘발성 저장 엘리먼트들은 제 3 및 4 임계 전압 분포들로 프로그래밍된다. 상기 제 3 임계 전압으로 프로그래밍 되고 있는 중인 상기 비휘발성 저장 엘리먼트들이 특별히 확인(identified)되고 추적(tracked)된다. 상기 제 4 임계 전압 분포로 프로그래밍 되고 있는 중인 상기 비휘발성 저장 엘리먼트들에 대한 검증은, 상기 확인된 비휘발성 저장 엘리먼트들 중 하나가 상기 중간 임계 전압 분포로부터 상기 제 3 임계 전압 분포로 천이된 이후에 개시된다.
비휘발성 메모리, 프로그래밍, 검증

Description

스마트 검증을 이용한 다중 상태 비휘발성 메모리 프로그래밍 방법{METHOD FOR PROGRAMMING OF MULTI-STATE NON-VOLATILE MEMORY USING SMART VERIFY}
본 발명은 비휘발성 메모리의 프로그래밍에 관한 것이다.
다양한 전자 장치의 사용을 위한 반도체 메모리의 인기는 상승곡선을 그려왔다. 예를 들어, 비휘발성 반도체 메모리는 셀룰러 폰, 디지털 카메라, PDA, 모바일전산 장치(mobile computing devices), 비-모바일 전산 장치 및 기타의 장치 내에서 사용된다. 프로그램 가능 읽기전용 기억 장치(EEPROM) 및 플래시 메모리는 가장 인기있는 비휘발성 반도체 메모리 장치들이다. 플래시 메모리와 EEPROM을 가지고서, 전체 메모리 어레이 또는 상기 메모리의 일부의 내용이 종래의 EEPROM과는 대조적으로 한 단계에서 소거될 수 있다.
종래의 EEPROM과 플래시 메모리는 반도체 기판 내의 채널영역 상부에 절연되어 위치한 부동 게이트(floating gate)를 활용한다. 상기 부동 게이트는 소스 및 드레인 영역 사이에 위치한다. 제어 게이트(control gate)는 상기 부동 게이트 상부에 절연되어 위치한다. 결과로 형성된 상기 트랜지스터의 상기 임계 전압은 상기 부동 게이트 상에 남아있는 전하의 양에 의해 조절된다. 즉, 상기 트랜지스터가 구동되어 자신의 소스 및 드레인 사이의 전도(conduction)를 허락하기 이전에, 상기 제어 게이트로 인가되어야 하는 최소 전압량은 상기 부동 게이트 상의 전하의 레벨에 따라 제어된다.
일부 EEPROM과 플래시 메모리 장치들은 두 종류(two ranges)의 전하들을 저장하기 위해 사용되는 부동 게이트를 갖는다. 따라서, 상기 저장 엘리먼트는 두 가지 상태들, 즉, 소거 상태와 프로그래밍 상태 사이에서 프로그래밍 및 소거될 수 있다. 그와 같은 플래시 메모리 장치는, 각 저장 엘리먼트가 1 비트의 데이터를 저장할 수 있기 때문에 이진(binary) 플래시 메모리로 종종 언급된다.
다중 상태(또한, 다중 레벨로 불림) 플래시 메모리 장치는 다중 명백한 허가 및 유효(multiple distinct allowed/valid) 프로그래밍 임계 전압 범위들을 확인(identifying) 함으로써 구현된다. 각각의 분명한 임계 전압 범위는 상기 메모리 장치 내에서 인코딩된 상기 데이터 비트들의 세트를 위한 소정의 값에 대응한다. 예를 들어, 각 저장 엘리먼트는 상기 엘리먼트가 4개의 분명한 임계 전압 범위들에 대응하는 4개의 이산(discrete) 전하 밴드들 중 하나 내에 위치할 수 있을 때, 2 비트의 데이터를 저장할 수 있다.
일반적으로, 프로그래밍 동작 동안 상기 컨트롤 게이트로 인가된 프로그램 전압(Vpgm)은 시간에 따라 크기(magnitude)가 증가하는 일련의 펄스들로서 인가된다. 하나의 가능한 방법에 따르면, 상기 펄스들의 크기는 소정의 폭만큼(예를 들어 0.2 내지 0.4V) 각각의 연속적인 펄스를 가지고 증가한다. 전압(Vpgm)은 플래시 메모리 엘리먼트들의 상기 제어 게이트들(또는, 일부의 경우, 스티어링 게이트 들(steering gates))로 인가될 수 있다. 상기 프로그램 펄스들 사이의 주기들 내에서, 검증 동작(verify operations)이 수행된다. 즉, 평행하게 프로그래밍 되고 있는 중인 엘리먼트들 그룹의 각 엘리먼트의 상기 프로그래밍 레벨은 연속적인 프로그래밍 펄스들 사이에서 검증되어, 상기 엘리먼트가 프로그래밍 되고 있는 중인 검증 레벨과 같은지 아니면 이상인지에 대해 판단한다. 다중 상태 플래시 메모리 엘리먼트들의 어레이들에 대해, 검증 단계가 엘리먼트의 각 상태에 대해 실행되어, 상기 엘리먼트가 자신의 데이터 관련 검증 레벨에 도달했는지의 여부에 대해 판단할 수 있다. 예를 들어, 4가지 상태 내에서 데이터를 저장할 수 있는 다중 상태 메모리 엘리먼트가 세 개의 비교점들(compare points)에 대한 검증 동작을 수행할 필요가 있을 수 있다.
여기에 참조용으로 제시된(incorporated) 미국 공개번호 2004/0109362 '다중 상태 메모리들을 위한 스마트 검증'는 기록 시퀀스의 각 프로그래밍/검증/록아웃(lockout) 단계에 대한 순차적 검증 동작들의 수를 최소화하기 위한 프로세스를 제시한다. 처음에는, 상기 검증 위상(verify phase) 동안, 선택된 저장 엘리먼트들이 프로그래밍 되고 있는 상기 다중 상태 범위 중 최하위 상태만이 확인된다. 일단 제 1 저장 상태가 상기 선택된 엘리먼트들 중 하나 또는 다수에 의해 도달하면, 다중 상태의 시퀀스 내에서의 다음 상태가 상기 검증 프로세스에 추가된다. 이러한 다음 상태는 가장 빠른 엘리먼트들이 상기 시퀀스 내의 이전 상태에 도달하자마자 추가될 수 있고, 또는 일부 프로그램 펄스들의 지체(delay) 이후에 추가될 수 있다. 상태들의 상기 검증 단계에서 확인되고 있는 중인 상기 세트로의 추가 과정은, 최상위 상태가 추가되었을 때까지, 시퀀스 내의 나머지 세트의 다중 상태들을 통해 계속된다. 게다가, 상기 레벨들에 속한 상기 선택된 저장 엘리먼트들 모두가 상기 목적 값들로 성공적으로 검증되고, 추가적인 프로그래밍이 일어나지 못하도록 록아웃 됨에 따라, 하위 상태들이 상기 검증 세트로부터 제거될 수 있다.
서로 다른 프로그래밍 방식들(schemes)에 적용될 수 있는 추가적인 '스마트 검증' 기술에 대한 필요성이 대두된다.
[발명에 대한 요약]
상기 비휘발성 저장 엘리먼트들의 적어도 일부에 대한 프로그래밍 검증을 시작해야 하는 시점에 대해 적합하게(adaptively) 판단함으로써, 비휘발성 저장 엘리먼트들을 프로그래밍하는 방법이 제공된다. 불필요한 프로그램 검증 단계들을 생략함으로써, 프로그래밍 시간 및 전력 소비가 줄어든다.
상술한 기술은 데이터의 상위 페이지를 중간 상태와 오버랩되는 최종상태 (예를 들어, '하위 중간(lower-middle:LM)' 프로그래밍 모드 내에서)로 프로그래밍 하기 전에, 데이터의 하위 페이지를 상기 중간 단계로 프로그래밍할 때 발생하는 문제를 해결한다. 이러한 시나리오에서, 상기 비휘발성 저장 엘리먼트들 중 일부는 상기 하위 페이지가 프로그래밍 될 때, 상기 최종상태에 도달했을 수 있다. 최종상태에 도달하는 제 1 비트가 검출되는 비트 패스 검출법(bit-pass detection)이, 따라서, 상위 페이지를 프로그래밍 할 때에 실행될 수 없다. 대신, 상기 최종상태 밖의 시작점으로부터 상기 최종상태에 도달하는 제 1 비트를 검출하고, 이후의 '스마트' 검증을 언제 시작할지 결정하기 위해 상기 검출법을 사용하는 것이 바람직하 다.
한 실시예에 있어서, 한 셋트의 비휘발성 저장 엘리먼트들 내의 비휘발성 저장 엘리먼트들은 처음에 공통 제 1 임계 전압분포 내에 하강하는(fall) 각 임계 전압들을 가진다.
상기 비휘발성 저장 엘리먼트들은 소거 상태 분포와 같은 이전의 임계 전압 분포로부터 상기 공통 제 1 임계 전압분포에 도달하도록 프로그래밍 될 수 있다. 상기 제 1 임계 전압분포 내의 상기 비휘발성 저장 엘리먼트들 중 적어도 일부는, 자신들의 임계 전압들이 상기 제 1 임계 전압분포와 오버랩되는 제 2 임계 전압분포에 도달하거나, 상기 제 1 및 2 전압 분포들 밖의 제 3 임계 전압분포에 도달할 수 있도록, 연속적인 전압 펄스들을 이용하여 프로그래밍된다. 상기 비휘발성 저장 엘리먼트들 중 하나의 상기 임계 전압(voltage threshold)이 상기 제 2 임계 전압분포 밖의 상기 제 1 임계 전압분포의 일부로부터, 상기 제 2 임계 전압분포로 천이(transition)될 때, 상기 비휘발성 저장 엘리먼트들의 다른 엘리먼트들의 상기 임계 전압이 상기 제 1 임계 전압분포에서 상기 제 3 임계 전압분포로의 천이를 완료한 시점을 검증하기 위한 검증 프로세스를 시작할 시점이 결정된다.
예를 들어, 상기 검증 프로세스는 소정 개수의 전압 펄스들이 상기 제 3 임계 전압분포로 천이되고 있는 중인 상기 비휘발성 저장 엘리먼트들로 인가된 후에, 상기 비휘발성 저장 엘리먼트들 중 하나의 상기 임계 전압의 상기 제 2 임계 전압분포로의 천이가 완료되었다고 판단된 후에, 개시될 수 있다.
상기 비휘발성 저장 엘리먼트의 상기 제 1 임계 전압분포에서 상기 제 2 임 계 전압분포로의 천이는 관련 임계 전압 천이들(transitions)이 상기 제 2 임계 전압분포보다 낮은 하위의 임계 전압(VL)을 지나고, 이후, 상기 제 2 임계 전압분포내에 위치한 상위의 임계 전압(V'H)을 지나는 시점을 판단함으로써(determine) 추적될 수 있다. 상기 V'H는 센싱 여유(margin) 및/또는 잡음 여유를 설명하는 여유만큼 상기 제 2 임계 전압분포의 하위 경계(lower boundary: VH)를 초과할 수 있다.
상기 서로 다른 임계 전압분포들은 다중 레벨 비휘발성 저장 엘리먼트 내의 서로 다른 이진 데이터 상태들을 나타낼 수 있다.
[도면에 대한 간단한 설명]
도 1은 NAND 스트링의 정면도이다.
도 2는 도 1의 상기 NAND 스트링의 등가회로도이다.
도 3은 도 1의 상기 NAND 스트링의 횡단면도이다.
도 4는 세 개의 NAND 스트링들을 기술하는 회로도이다.
도 5는 비휘발성 메모리 시스템의 블록도이다.
도 6은 도 5의 상기 비휘발성 메모리 시스템의 센스 블록을 기술하는 블록도이다.
도 7은 비휘발성 메모리 어레이의 블록도이다.
도 8은 소거 상태에서 프로그래밍(programmed) 상태로의 직접 프로그램밍을 갖는 다중 상태 장치 내에서의 한 예시적인 세트의 임계 전압 분포들을 도시한다.
도 9는 소거 상태에서 프로그래밍(programmed) 상태로의 2단 패스(two-pass) 프로그램밍을 갖는 다중 상태 장치 내에서의 한 예시적인 세트의 임계 전압 분포들을 도시한다.
도 10A 내지 10C는 다양한 임계 전압 분포들을 보여주고, 비휘발성 메모리를 프로그래밍하는 프로세스를 도시한다.
도 11은 프로그램 검증을 시작해야 할 시점을 적합하게 판단하는 동안 순차적 프로그래밍을 사용하여 비휘발성 저장 엘리먼트들을 프로그래밍하는데 있어서의 이벤트들의 시간 시퀀스를 도시한다.
도 12A 내지 12A는 프로그램 검증을 시작해야 할 때를 적합하게 판단하는 동안 2단 패스(two-pass)(하위 페이지/상부 페이지)프로그램밍 시퀀스를 사용하여 비휘발성 저장 엘리먼트들을 프로그래밍하는데 있어서의 이벤트들의 시간 시퀀스를 도시한다.
도 13A는 비휘발성 저장 엘리먼트의 천이를 추적하는 프로세스를 도시한다.
도 13B 및 13C는 비트라인 금지(inhibit) 전압을 설정함으로써 코어스(coarse) 및 화인(fine) 프로그래밍을 달성하는(achieve) 방법을 보여주는 타임 라인을 도시한다.
도 14는 데이터의 하위 페이지를 사용하여 비휘발성 저장 엘리먼트들을 프로그래밍하는데 있어서의 이벤트들의 타임 시퀀스를 도시한다.
도 15는 도 14의 시간 시퀀스에 뒤이어, 데이터의 상위 페이지를 사용하여 비휘발성 저장 엘리먼트들을 프로그래밍하는데 있어서의 이벤트들의 타임 시퀀스를 도시한다.
도 16A는 적응형 검증(adaptive verification)을 사용하여, 데이터의 하부 페이지에 기초하여 비휘발성 저장 엘리먼트를 프로그래밍 하기위한 프로세스를 보여주는 흐름도이다.
도 16B는 적응형 검증(adaptive verification)을 사용하여, 데이터의 상부 페이지에 기초하여 비휘발성 저장 엘리먼트를 프로그래밍 하기위한 프로세스를 보여주는 흐름도이다.
도 17은 데이터의 상, 하부 페이지들을 사용하여 비휘발성 저장을 프로그래밍 하기위한 프로세스를 보여주는 흐름도이다.
본 발명을 구현하기에 적합한 비휘발성 메모리 시스템의 일예는 상기 NAND 플래시 메모리 구조를 사용하는데, 여기에서 다중 트랜지스터들이 NAND 스트링 내의 두 개의 선택 게이트들 사이에서 직렬로 배열된다. 도 1은 하나의 NAND 스트링을 보여주는 정면도이고, 도 2는 도 1의 상기 NAND 스트링의 등가회로도이다. 도 1 및 2에 도시된 상기 NAND 스트링은 제 1 선택 게이트(120)와 제 2 선택 게이트(122) 사이에서 직렬로 중첩된(sandwiched) 4개의 트랜지스터들(100, 102, 104, 106)을 포함한다. 선택 게이트들(120, 122)은 상기 NAND 스트링을 비트라인 컨택트(126) 및 소스라인 컨택트(128)로 각각 연결한다. 선택 게이트들(120, 122)은 적절한 전압들을 선택 게이트들(120CG, 122CG)로 각각 인가함으로써 제어된다. 상기 트랜지스터들(100, 102, 104, 106) 각각은 제어 게이트 및 부동 게이트를 갖는다. 트랜지스터(100)는 제어 게이트(100CG)와 부동 게이트(100FG)를 갖는다. 트랜지스터(102)는 제어 게이트(102CG)와 부동 게이트(102FG)를 갖는다. 트랜지스터(104)는 제어 게이트(104CG)와 부동 게이트(104FG)를 갖는다. 트랜지스터(106)는 제어 게이트(106CG)와 부동 게이트(106FG)를 갖는다. 제어 게이트들(100CG, 102CG, 104CG, 106CG)는 워드라인들(WL3, WL2, WL1, WL0)로 각각 연결된다. 가능한 한 구현에 있어서, 트랜지스터들(100, 102, 104, 106)은 각 메모리 셀들 또는 엘리먼트들이다. 다른 구현들에 있어서, 상기 저장 엘리먼트들은 다중 트랜지스터들을 포함할 수 있거나, 도 1 및 2에 도시한것들과는 다를 수도 있다. 선택 게이트(122)가 소스 선택 라인(SGS)과 연결되는 반면, 선택 게이트(120)는 드레인 선택 라인(SGD)과 연결된다.
도 3은 도 1의 상기 NAND 스트링의 횡단면도이다. 상기 NAND 스트링의 트랜지스터들은 'p'웰 영역(140) 내부에 형성된다. 각 트랜지스터는 컨트롤 게이트(100CG, 102CG, 104CG, 106CG) 및 부동 게이트(100FG, 102FG, 104FG, 106FG)를 포함하는 스택 게이트 구조를 포함한다. 상기 부동 게이트들은 산화물 또는 기타의 다른 유전막 상부의 'p'웰 표면 상에 형성된다. 상기 제어 게이트는 자신을 상기 부동 게이트와 분리시키는 층간 폴리실리콘 유전층과 함께, 상기 부동 게이트 상부에 위치한다. 상기 저장 엘리먼트들(100, 102, 104, 106)의 상기 게이트들은 상기 워드 라인들을 형성한다. 'N+'도핑된 층들(130, 132, 134, 136, 138)은 주변(neighboring) 엘리먼트들 사이에서 공유되어, 상기 엘리먼트들이 직렬로 서로 연결되어 상기 NAND 스트링을 형성한다. 예를 들어, 'N+'도핑층(130)은 트랜지스터(122)의 드레인 및 트랜지스터(106)의 소스 역할을 하고, 'N+'도핑층(132)은 트랜지스터(106)의 드레인 및 트랜지스터(104)의 소스 역할을 하고,'N+'도핑층(134)은 트랜지스터(104)의 드레인 및 트랜지스터(102)의 소스 역할을 하고,'N+'도핑층(136)은 트랜지스터(102)의 드레인 및 트랜지스터(100)의 소스 역할을 하고,'N+'도핑층(138)은 트랜지스터(100)의 드레인 및 트랜지스터(120)의 소스 역할을 한다. 'N+'도핑층(128)이 다중 NAND 스트링들에 대한 공통 소스 라인과 연결되는 반면, 'N+'도핑층(126)은 상기 NAND 스트링에 대한 상기 비트라인과 연결된다.
비록 도 1 내지 3이 상기 NAND 스트링 내에서의 4개의 저장 엘리먼트들을 보여주지만, 상기 4개의 트랜지스터들에 대한 사용은 단지 예시적일 뿐이라는 것을 주지하라. 여기에 제시된 상기 기술과 함께 사용된 NAND 스트링은 4개 미만의 저장 엘리먼트들 또는 4개 이상의 저장 엘리먼트들을 지닐 수 있다. 예를 들어, 일부의 NAND 스트링들은 8, 16, 32, 64 또는 그 이상의 저장 엘리먼트들을 포함할 것이다. 여기에서의 논의가 NAND 스트링 내의 임의 개수의 저장 엘리먼트들로 제한되는 것은 아니다.
각 저장 엘리먼트는 아날로그 또는 디지털 형태로 나타나는 데이터를 저장할 수 있다. 1비트의 디지털 데이터를 저장할 때, 상기 저장 엘리먼트의 가능한 임계 전압들은 두 범위로 나뉘는데, 이는 로직 데이터 '1' 및 '0'으로 할당된다. NAND 타입의 플래쉬 메모리의 일예에서, 상기 저장 엘리먼트가 소거된 후, 상기 임계 전압은 음의 값인데, 이는 로직 '1' 상태로서 정의될 수 있다. 상기 임계 전압은 프로그래밍 동작 이후 양의 값인데, 이는 로직'0' 상태로 정의될 수 있다. 상기 임계 전압이 음의 값이고, 판독이 '0'볼트를 상기 제어 게이트로 인가함으로써 시도될 때, 상기 저장 엘리먼트가 구동되어 로직 '1'이 저장되고 있는 중임을 나타낼 것이다. 상기 임계 전압이 양의 값이고, 판독 연산이 '0'볼트를 상기 제어 게이트로 인가함으로써 시도될 때, 상기 저장 엘리먼트는 구동되지 않게 되어 로직 '0'이 저장되었음을 나타낼 것이다.
저장 엘리먼트는 또한 다중 상태들을 저장하여, 다중 비트의 디지털 데이터를 저장할 수 있다. 다중 상태의 데이터를 저장하는 경우, 상기 임계 전압 윈도우는 상태들의 개수로 분할된다. 예를 들어, 만일 4개의 상태들이 사용될 경우, 상기 데이터 값들 (11, 10, 01, 00)로 할당된 4개의 임계 전압 범위들이 존재할 것이다. NAND형 메모리의 일예에서, 소거 동작 이후의 상기 임계 전압은 음의 값을 갖고, '11'로서 정의된다. 양의 임계 전압들이 상기 '10, 01, 00' 상태들을 위해 사용된다. 일부 실시예들에 있어서, 상기 데이터 값들(예를 들어, 로직 상태들)은 Gray 코드 할당법을 사용하여 상기 임계 범위들로 할당되어, 만일 부동 게이트의 상기 임계 전압이 자신의 주변 물리 상태로 잘못 천이될 경우, 오직 하나의 비트만이 영향을 받게 될 것이다. 상기 저장 엘리먼트로 프로그래밍된 상기 데이터와 상기 엘리먼트의 상기 임계 전압범위들 사이의 구체적인 관계는 상기 저장 엘리먼트들을 위해 적용된 상기 데이터 인코딩 방식에 의존한다. 예를 들어, 여기에 참조용으로 제시된 미국 특허 No. 6, 222, 762 및 미국 특허 출원 No. 10/461,244은 2003년 6월 13일에 출원되고, 2004년 12월 16일 미국 출원 공개 번호 2004/0255090으로서 공고된 '메모리 시스템을 위한 셀들에 대한 추적'으로, 다중 상태 플래시 저장 엘리먼트들에 대한 다양한 데이터 인코딩 방식들을 기술한다.
NAND형 플래시 메모리들 및 그들의 연산과 관련된 예들이 미국 특허 No. 5, 386, 422, No. 5,522,580, No. 5,570,315, No. 5,774,397, No. 6,046,935, No. 6,456,528, 및 No. 6,522,580에 제시되는데, 각각은 여기서 참조용으로 제시된다. NAND 플래시 메모리 뿐만 아니라, 다른 형태의 비휘발성 메모리가 본 발명과 함께 사용될 수 있다.
플래시 EEPROM 시스템들 내에서 유용한 다른 형태의 저장 엘리먼트는 전하 트랩핑 엘리먼트인데, 이는 전하를 저장하는 도전성 부동 게이트 대신에 비도전성 유전물질을 비휘발성 방법으로 활용한다. 그와 같은 엘리먼트는 1987년 3월, No. 3, IEEE Electron Device Letters, Vol. EDL-8, 93-95 페이지에, '트루 단일 트랜지스터 산화물-질화물-산화물 EEPROM 장치(A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device'로서, Chan et al에 의한 항목(article) 내에 기술된다. 실리콘 산화물, 실리콘 질화물 및 실리콘 산화물(ONO)로 이루어진 3층 유전체는 도전성 제어 게이트와, 상기 저장 엘리먼트 채널 상부의 반도체 기판의 표면 사이에서 중첩된다(sandwiched). 상기 엘리먼트는 전자들을 상기 엘리먼트 채널로부터 상기 질화물 내부로 주입함으로써 프로그래밍되어, 상기 전자들은 제한된 영역 내에 트랩되고 저장된다. 이후, 상기 저장된 전하는 상기 엘리먼트의 상기 채널의 일부의 상기 임계 전압을 감지될 수 있는 방법으로 변화시킨다. 상기 엘리먼트는 핫 정공들(hot holes)을 상기 질화물 내부로 주입함으로써 소거된다. 1991년 4월, No. 4, IEEE Journal of Solid-State Circuits, Vol. 26, 497-501페이지에, '반도체 디스크 애플리케이션을 위한 MONOS 메모리셀을 지닌 1-Mb EEPROM', Nozaki et al을 참조하라.이는 도핑된 폴리실리콘 게이트가 상기 저장 엘리먼트 채널의 일부 상부로 연장되어 분리된(separate) 선택 트랜지스터를 형성하는 분리된 게이트(split-gate) 구성 내의 유사한 엘리먼트를 보여준다. 전술한 두 개의 항목들(articles)은 여기에 참조용으로 제시된다. 여기에 참조용으로 제시된, 1998년 IEEE Press, William D. Brown과 Joe E. Brewer에 의해 편집된 '비휘발성 반도체 메모리 기술'의 섹션 1.2 안에서 언급된 상기 프로그래밍 기술들은 또한 유전 전하 트랩핑 장치들로 적용가능한 상기 섹션 내에 기술된다. 상기 단락에서 기술된 상기 저장 엘리먼트들은 또한 본 발명과 함께 사용될 수 있다. 따라서, 여기에 제시된 상기 기술은 또한 서로 다른 저장 엘리먼트들의 유전 영역들 사이의 결합에 적용된다.
각 엘리먼트 내의 두 비트들을 저장하는 다른 방법이 Eitan et al.에 의해 기술되었다. "NROM, 2000년 11월, no. 11, vol. 21, 페이지 543-545, IEEE Electron Device Letters에 제시된 "새로운 로컬라이징 트랩핑, 2비트 비휘발성 메모리 셀(A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell)"이 소스와 드레인 확산들 사이의 상기 채널을 가로질러 연장되는 ONO 유전층을 기술한다. 1 데이터 비트에 대한 상기 전하는 상기 드레인에 인접한 상기 유전층 내에서 로컬라이징 되고, 다른 데이터 비트에 대한 상기 전하는 상기 소스에 인접한 상기 유전층 내에서 로컬라이징 된다. 다중 상태 데이터 저장 엘리먼트가 상기 유전체 내의 공간적으로 분리된 전하 저장 영역들의 이진 상태들을 개별적으로 판독함으로써 얻어진다. 상기 단락에 기술된 상기 저장 엘리먼트들은 또한 본 발명과 함께 사용될 수 있다.
도 4는 세 개의 NAND 스트링들을 기술하는 회로도이다. NAND 구조를 사용하는 플래시 메모리 시스템을 위한 일반적인 아키텍쳐는 몇 개의 NAND 스트링들을 포함할 것이다. 예를 들어, 세 개의 NAND 스트링들(201, 203, 205)이 많은 NAND 스트링들을 구비한 메모리 어레이 내에 도시된다. 상기 NAND 스트링들의 각각은 2개의 선택 트랜지스터들과 4개의 저장 엘리먼트들을 포함한다. 예를 들어, NAND 스트링(201)은 선택 트랜지스터들(220, 230)과, 저장 엘리먼트들(222, 224, 226, 228)을 포함한다. NAND 스트링(203)은 선택 트랜지스터들(240, 250)과, 저장 엘리먼트들(242, 244, 246, 248)을 포함한다. NAND 스트링(205)은 선택 트랜지스터들(260, 270)과, 저장 엘리먼트들(262, 264, 266, 268)을 포함한다. 각각의 NAND 스트링은 자신의 선택 트랜지스터(예를 들어, 선택 트랜지스터 230, 250 또는 270)에 의해 상기 소스 라인과 연결된다. 선택 라인(SGS)이 상기 소스측 선택 게이트들을 제어하기 위해 사용된다. 다양한 NAND 스트링들(201, 203, 205)이 선택 트랜지스터들(220, 240, 260)에 의해 각 비트라인들(202, 204, 206)과 연결되어, 드레인 선택 라인(SGD)에 의해 제어된다. 다른 실시예들에 있어서, 상기 선택 라인들은 반드시 공통으로 사용될 필요는 없다. 각 워드 라인은 각 저장 엘리먼트의 상기 제어 게이트들을 행으로(in the row) 제어한다. 예를 들어, 워드라인(WL3)이 저장 엘리먼트들(222, 242, 262)을 위한 상기 제어 게이트들과 연결된다. 워드라인(WL2)이 저장 엘리먼트들(224, 244, 264)을 위한 상기 제어 게이트들과 연결된다. 워드라인(WL1)이 저장 엘리먼트들(226, 246, 266)을 위한 상기 제어 게이트들과 연결된다. 워드라인(WL0)이 저장 엘리먼트들(228, 248, 268)을 위한 상기 제어 게이트들과 연결된다. 도시된 바와 같이, 각 비트라인 및 상기 각 NAND 스트링은 상기 어레이의 열(columns) 또는 저장 엘리먼트들의 세트를 포함한다. 상기 워드라인들(WL3, WL3, WL1, WL0)은 상기 어레이의 행(rows) 또는 세트를 포함한다.
플래시 저장 엘리먼트를 프로그래밍할 때, 프로그램 전압이 상기 엘리먼트의 상기 제어 게이트로 인가되고, 상기 엘리먼트와 관련된 상기 비트라인이 접지된다. 상기 'p'웰로부터의 전자들이 상기 부동 게이트 내부로 주입된다. 전자들이 상기 부동 게이트 내부에서 축적될 때, 상기 부동 게이트는 음의 전하를 띠게 되고, 상기 엘리먼트의 상기 임계 전압은 상기 저장 엘리먼트(예를 들어, 저장 엘리먼트)가 프로그래밍 된 상태에 있다고 간주될 수 있도록 상승된다. 상기 프로그래밍에 관한 더욱더 자세한 정보는 "비휘발성 메모리를 위한 소스측 자기 부스팅 기술(Source Side Self Boosting Technique For Non-Volatile Memory)"라는 제목의 미국 특허 No. 6,859,397, 및 "프로그래밍 된 메모리 상부에서의 검출(Detecting Over Programmed Memory)"라는 제목의 2003년 7월 29일 출원된 미국 특허 출원 공개 번호 No. 2005/0024939에서 얻을 수 있다. 상기 특허들은 모두 여기에 참조용으로 제시된다.
상기 프로그램 전압을 프로그래밍 되고 있는 중인 상기 엘리먼트의 상기 제어 게이트로 인가하기 위해, 상기 프로그램 전압이 적절한 워드 라인 상에 인가된다. 상기 워드라인은 또한 동일 워드라인을 공유하는 다른 각 NAND 스트링들 내에서 하나의 엘리먼트로 연결된다. 예를 들어, 도 4의 엘리먼트(224)를 프로그래밍할 때, 상기 프로그램 전압이 또한 엘리먼트(244)의 상기 제어 게이트로 인가될 것이다. 동일 라인과 연결된 다른 엘리먼트들을 프로그래밍하지 않고, 한 워드라인 상에서 하나의 엘리먼트를 프로그래밍하는 것이 바람직할 때, 예를 들어, 엘리먼트(244)가 아니라 엘리먼트(224)를 프로그래밍하는 것이 바람직할 때, 문제가 발생한다. 상기 프로그램 전압이 하나의 워드라인과 연결되는 모든 엘리먼트들로 인가되기 때문에, 상기 워드라인 상의 선택되지 않은 엘리먼트(프로그래밍되지 않을 엘리먼트), 특히 프로그래밍을 위해 선택된 상기 엘리먼트와 인접한 엘리먼트가 프로그램 디스터브(disturb)라고 일컬어지는, 프로세스 내에서의 실수로 프로그래밍 될 수 있다. 예를 들어, 엘리먼트(224)를 프로그래밍할 때, 상기 인접 엘리먼트(244)가 의도하지 않게 프로그래밍 될 수 있다.
일부 기술들이 프로그램 디스터브를 방지하기 위해 이용될 수 있다. "자기 부스팅(self boosting)"이라고 알려진 한 방법에 따르면, 상기 선택되지 않은 비트라인들이 전기적으로 절연되고, 패스전압(예를 들어, 10V)이 프로그래밍 동작동안 상기 선택되지 않은 워드라인들로 인가된다. 상기 선택되지 않은 워드라인들은 금지된(inhibited) NAND 스트링(203)의 상기 채널과 결합되어, 전압(예를 들어, 8V)이 적어도 상기 선택된 워드라인 하에서 상기 스트링의 상기 채널 내에 존재하도록 한다. 이는 프로그램 디스터브를 감소시키는 경향이 있다. 따라서, 자기 부스팅은 전압 부스트가, 상기 터널 산화물(tunnel oxide)을 가로질러 상기 전압을 낮추고 이로 인하여 프로그램 디스터브를 감소시키는 경향이 있는 상기 채널 내부에 존재하도록 야기시킨다.
NAND 스트링은 일반적으로(그러나 항상은 아님) 상기 소스측으로부터 상기 드레인측으로, 예를 들어, 저장 엘리먼트(228)에서 저장 엘리먼트(222)로 프로그래밍된다. 예를 들어, 상기 NAND 스트링(201) 이전에 상기 NAND 스트링(20)이 프로그래밍된다고 가정한다. 상기 프로그래밍 프로세스가 상기 NAND 스트링(201)의 마지막(또는 마지막 근처) 저장 엘리먼트를 프로그래밍하도록 준비될 때, 만일 금지되고 있는 중인(being inhibited) 상기 NAND 스트링(예를 들어, NAND 스트링 203) 상의 이전에 프로그래밍된 저장 엘리먼트들의 모두 또는 대부분이 프로그래밍 되었다면, 상기 이전에 프로그래밍된 저장 엘리먼트들의 상기 부동 게이트들 내부에 음의 전하가 존재한다. 그 결과, 상기 부스팅 전위는 상기 NAND 스트링(203)의 부분들 내에서 충분히 높아지지 않고, 마지막 소수의 워드라인들과 관련된 상기 NAND 스트링(203) 내의 상기 엘리먼트들 상에 프로그램 디스터브가 여전히 존재할 수 있다. 예를 들어, NAND 스트링(201) 상의 엘리먼트(222)를 프로그래밍할 때, NAND 스트링(203) 상의 엘리먼트들(248, 246, 244)이 이전에 프로그래밍 되었다면, 상기 트랜지스터들(244, 246, 248) 각각은, 상기 자기 부스팅 프로세스의 부스팅 레벨을 제한하고 엘리먼트(242) 상에서 프로그램 디스터브를 야기시킬, 자신들의 부동 게이트 상에서 음의 전하를 지니게 된다.
로컬 자기 부스팅(Local Self Boosting: LSB) 및 소거 영역 자기 부스팅(Erased Area Self Boosting: EASB)은 이전에 프로그래밍 된 엘리먼트들의 상기 채널을 금지되고 있는 중인 상기 엘리먼트의 상기 채널과 절연시킴으로서, 종래의 자기 부스팅의 단점들에 대한 해결을 모색한다. 예를 들어, 만일 도 4의 엘리먼트(224)가 현재 프로그래밍되고 있는 중이라면, LSB 및 EASB는 엘리먼트(244)의 상기 채널을 이전에 프로그래밍 된 엘리먼트들(246, 248)과 절연시킴으로서, 엘리먼트(244) 내의 프로그래밍을 금지하기 위한 시도를 한다. 상기 LSB 기술을 가지고, 현재 프로그래밍되고 있는 중인 상기 엘리먼트에 대한 상기 비트라인은 접지전압을 가지고, 금지되고 있는 중인 상기 엘리먼트를 지닌 상기 NAND 스트링의 상기 비트라인은 Vdd를 갖는다. 상기 프로그램 전압(Vpgm, 예를 들어, 20V)은 상기 선택된 워드라인 상에서 구동된다. 상기 선택된 워드라인과 인접하는(neighboring) 상기 워드라인들은 0V(zero volt)를 갖고, 남아있는 비선택 워드라인들은 Vpass를 갖는다. 예를 들어, 비트라인(202)은 0V를 갖고, 비트라인(204)은 Vdd를 갖는다. 드레인 선택라인(SGD)은 Vdd를 갖고, 소스 선택라인(SGS)은 0V를 갖는다. (엘리먼트(224)를 프로그래밍하기 위한)선택된 워드라인(WL2)은 Vpgm를 갖는다. 인접하는 워드라인들(WL1, WL3)은 0V를 갖고, 다른 워드라인들(예를 들어, WL0)은 Vpass를 갖는다.
EASB는 오직 상기 소스측 인접 워드라인만이 0V를 갖는 사실을 제외하고 LSB와 유사하다. 상기 드레인측 인접 워드라인은 Vpass를 갖는다. 만일 전압(Vpass)이 너무 낮다면, 상기 채널 내의 부스팅은 프로그램 디스터브를 방지하기에는 불충분할 것이다. 만일, 전압(Vpass)이 너무 높다면, 선택되지 않은 워드라인들이 프로그래밍 될 것이다. 예를 들어, WL3이 Vpass를 지니는 반면, WL1은 Vpass 대신 0V를 지니게 된다. 일 실시예에 있어서, Vpass는 7 내지 10볼트이다.
LSB와 EASB가 자기 부스팅 상부로 향상하는 동안, 그것들은 또한 상기 소스측 인접 엘리먼트(엘리먼트(246)는 엘리먼트(244)의 소스측 인접 엘리먼트임)가 프로그래밍되었는지 소거가 되었는지에 의존하는 문제를 제시한다. 만일 상기 소스측 인접 엘리먼트가 프로그래밍되면, 자신의 부동 게이트 상에 음전하가 존재한다. 게다가, 상기 제어 게이트로 인가된 0V를 가지고, 게이트 유도 드레인 누설(Gate Induced Drain Leakage:GIDL)을 야기시킬 수 있는 음전하를 띤(negatively charged) 게이트 하에서, 도로 역바이어스된 접합면(highly reverse biased junction)이 있다. 여기서, 전자들이 상기 부스팅 된 채널 내부로 누설된다. GIDL은 상기 접합면 내의 큰 바이어스 및 낮거나 음의 값인 게이트 전압을 가지고 발생하는데, 이는 정확히 상기 소스측 인접 엘리먼트가 프로그래밍 되고, 상기 드레인 접합면이 부스팅 될 때의 경우이다. GIDL은 상기 부스팅 된 전압이 너무 빨리 누출되도록 하여 프로그래밍 에러를 야기시키고, 상기 갑작스럽고 고도로 도핑된 접합면들과 함께 더욱더 심각해진다. 이는 엘리먼트 차수들(dimensions)이 스케일링 됨에 따라 요구된다. 만일 상기 누설 전류의 세기가 충분히 세다면, 상기 채널 영역 내에서의 상기 부스팅 전위가 프로그램 디스터브를 야기시키기에 충분할 정도로 감소할 것이다. 게다가, 프로그래밍되고 있는 중인 상기 워드라인이 상기 드레인에 가까워질수록, 상기 부스팅 된 접합면 내에 나타나는 전하의 양은 보다 적어진다. 따라서, 상기 부스팅 된 접합면 내의 상기 전압이 빠르게 하강하여, 프로그램 디스터브를 야기시킬 것이다.
만일 상기 소스측 인접 저장 엘리먼트가 소거되면, 상기 부동 게이트 상에 양전하가 존재하고, 상기 트랜지스터의 임계 전압이 음의 값이 될 것이다. 상기 트랜지스터는 제로 전압들이 상기 워드라인으로 인가될 때조차도, 오프되지 않을 수 있다. 만일 상기 저장 엘리먼트가 구동되면, 상기 NAND 스트링은 EASB 모드 내에서 동작하지 않는다. 오히려, 상기 NAND 스트링은 자기 부스팅 모드 내에서 동작하는데, 이는 위에서 언급한 상기 문제점들을 갖게 된다. 상기 시나리오는 다른 소스측 엘리먼트들이 프로그래밍 될 경우 전개되기가 가장 쉬운데, 이는 소스측 부스팅을 제한한다. 이러한 이슈는 보다 짧은 채널 길이들과 함께 가장 큰 문제거리가 된다.
도 5는 본 발명의 일 실시예에 따르는, 메모리 셀들의 페이지를 평행하게 판독하고 프로그래밍하기 위한 판독/기록 회로들을 지닌 메모리 장치(296)를 보여준다. 상기 메모리 장치(296)는 하나 또는 다수의 메모리 다이(298)를 포함할 수 있다. 상기 메모리 다이(298)는 2차원 메모리 셀들 어레이(300), 제어 회로(310), 및 판독/기록 회로들(365)을 포함한다. 상기 메모리 어레이(300)는 행(row) 디코더(330)를 패스하는 워드라인들 및, 열(column) 디코더(360)를 패스하는 비트라인들에 의해 어드레싱 가능해진다. 상기 판독/기록 회로들(365)은 다중 센스 블록들(400)을 포함하고, 메모리 셀들의 페이지가 평행으로 판독 또는 프로그래밍 될 수 있도록 허락한다. 일반적으로, 제어기(350)는 상기 하나 또는 다수의 메모리 다이(298)로서, 동일 메모리 장치(296)(예를 들어, 제거가능한 저장 카드) 내부에 포함된다. 명령 및 데이터가 라인들(320)을 통하여 상기 호스트와 제어기(350) 사이에서, 및 라인들(318)을 통하여 상기 제어기와 상기 하나 또는 다수의 메모리 다이(298) 사이에서 전송된다.
상기 제어 회로(310)는 상기 판독/기록 회로들(365)과 연동하여, 상기 메모리 어레이(300) 상에서의 메모리 연산들을 수행한다. 상기 제어 회로(310)는 상태 머신(312), 온칩 어드레스 디코더(314), 및 전원 제어 모듈(316)을 포함한다. 상기 상태 머신(312)은 메모리 연산들의 칩레벨 제어를 제공한다. 상기 온칩 어드레스 디코더(314)는 상기 호스트 또는 메모리 제어기에 의해 사용되는 것들 사이의 어드레스 인터페이스를, 상기 디코더들(330, 360)에 의해 사용된 상기 하드웨어 어드레스로 제공한다. 상기 전원 제어 모듈(316)은 메모리 연산 동안 상기 워드라인들 및 비트라인들로 제공된 상기 전원 및 전압들을 제어한다.
다른 방법에 따르면, 다양한 주변 회로들에 의한 상기 메모리 어레이(300)로의 접근(access)이 상기 어레이의 마주보는 측면들 상에서 대칭적인 방법으로 구현되어, 각 측 상의 접근 라인들 및 회로의 밀도들이 반절로 감소한다.
도 6은 센스 모듈(380)로 언급되는 핵심부(core portion)와, 공통부(common portion 390)로 분할되는 개별 센스 블록(400)의 블록도이다. 일 실시예에 있어서, 각 비트라인에 대한 분리된 센스 모듈(380)과, 다중 센스 모듈들(38)의 세트에 대한 하나의 공통부(390)가 존재할 것이다. 일예에 있어서, 하나의 센스 블록은 하나의 공통부(390)와 8개의 센트 모듈들(380)을 포함할 수 있다. 그룹 내의 상기 센스 모듈들 각각은 데이터 버스(372)를 통하여 관련 공통부와 통신한다. 더욱 더 자세한 세부설명을 위해, 여기에 참조용으로 제시된, 2004년 12월 29일 출원된, "센스 증폭기들의 집합에 대한 공유된 프로세싱을 지닌 비휘발성 메모리 및 방법(Non-Volatile Memory & Method with Shared Processing for an Aggregate of Sense Amplifiers)" 제목을 지닌 미국 특허 출원 No. 11/026,536을 참조하라.
센스 모듈(380)은 연결된 비트라인 내의 도전(conduction) 전류가 소정의 임계레벨 이상인지 또는 이하인지를 판단하는 센스 회로(370)를 포함한다. 센스 모듈(380)은 또한, 상기 연결 비트라인 상에서 전압 상태를 설정하기 위해 사용되는 비트라인 래치(382)를 포함한다. 예를 들어, 비트라인 래치(382) 내에서 래칭된 소정의 상태는 프로그램 금지 지정 상태(state designating program inhibit, 예를 들어 Vdd)로 풀링 중인 상기 연결 비트라인를 야기시킬 것이다.
공통부(390)는 프로세서(392), 데이터 래치들 세트(394), 및 상기 데이터 래치들 세트(394)와 데이터 버스(320) 사이에서 결합된 입출력 인터페이스(396)를 포함한다. 프로세서(392)는 연산작용(computations)을 수행한다. 예를 들어, 상기 프로세서의 기능들 중 하나는 상기 감지된 메모리 셀 내에 저장된 상기 데이터를 판단하고, 상기 판단된 데이터를 상기 데이터 래치들 세트내에 저장하는 것이다. 상기 데이터 레치들 세트(394)는 판독 연산중 프로세서(392)에 의해 결정된 데이터 비트들을 저장하기 위해 사용된다. 그것은 또한 프로그래밍 동작중 상기 데이터 버스(320)로부터 수신된 데이터 비트들을 저장하기 위해 사용된다. 상기 수신된 데이터 비트들은 상기 메모리 내부로의 프로그래밍 예정을 의미하는 기록 데이터를 나타낸다. 입출력 인터페이스(398)는 데이터 래치들(394)과 상기 데이터 버스(320) 사이의 인터페이스를 제공한다.
판독 또는 센싱 동작중, 상기 시스템의 연산은 서로 다른 제어 게이트 전압들의 상기 어드레싱된 셀로의 공급을 제어하는 상태 머신(312)의 제어에 따라 이루어진다. 상기 메모리에 의해 지지되는 다양한 메모리 상태들에 해당하는 다양한 소정의 제어 게이트 전압 폭들을 통해, 상기 센스 모듈(380)은 상기 전압들 중 하나에서 트립되고(trip), 출력이 버스(372)를 통하여 센스 모듈(380)로부터 프로세서(392)로 제공될 것이다. 상기 지점에서, 프로세서(392)는 상기 센스 모듈의 이벤트(들) 트립핑과, 입력라인들(393)을 통한 상기 상태 머신으로부터 인가된 상기 제어 게이트 전압에 관한 정보를 고려하여, 메모리 상태 결과를 판단한다. 이후, 상기 프로세서(392)는 상기 메모리 상태에 대한 이진 인코딩을 연산하고, 상기 결과 데이터 비트들을 데이터 래치들(394) 내부에 저장한다. 상기 핵심부의 다른 실시예에 따르면, 비트라인 래치(382)는 두 가지의 일을 수행하는데, 하나는 상기 센스 모듈(380)로부터의 출력을 래칭하기 위한 래치 역할이고, 다른 하나는 상술한 바와 같이 비트라인 래치 역할이다.
일부 구현들은 다중 프로세서들(392)을 포함할 수 있다. 일 실시예에 있어서, 각 프로세서(392)는 각 출력라인이 함께 와이어드 오알(wired-OR) 연산될 수 있도록 하나의 출력라인(미도시)을 포함할 수 있다. 일부 실시예들에 있어서, 상기 출력 라인들은 상기 와이어드 오알 라인과 연결되기 전에 반전된다(inverted). 상기 와이어드 오알을 수신하는 상기 상태 머신이 프로그래밍 되고 있는 중인 모든 비트들이 상기 원하는 레벨에 도착한 시점을 판단할 수 있기 때문에, 이러한 구성으로 인하여, 상기 프로그램 검증 프로세스 동안 상기 프로그래밍 프로세스가 완료된 시점에 대한 판단을 빨리 할 수 있다. 예를 들어, 각 비트가 자신의 원하는 레벨에 도착했을 때, 상기 비트에 대한 로직 '0'이 상기 와이어드 오알 라인으로 전송될 것이다 (또는 데이터 '1'이 반전된다). 모든 비트들이 데이터 '0'을 출력할 때(또는, 데이터 '1'이 반전된다), 상기 상태 머신은 상기 프로그래밍 프로세스를 종결하는 법을 알고 있다. 각 프로세서는 8개의 센스 모듈들과 통신하기 때문에, 상기 상태 머신은 상기 와이어드 오알 라인을 8번 판독할 필요가 있거나, 상기 상태 머신이 상기 와이어드 오알 라인을 한 번만 판독하도록 하기 위해 로직이 상기 프로세서(392)에 추가되어 관련 비트라인들의 결과를 누적할 수 있다. 유사하게, 상기 로직 레벨들을 정확히 선택함으로써, 상기 글로벌 상태 머신은 제 1 비트가 자신의 상태 변화를 하는 시점을 감지하고, 이에 대응하여 알고리즘들을 변경할 수 있다.
프로그래밍 또는 검증 동작 중, 프로그래밍 될 상기 데이터는 상기 데이터 버스(320)로부터 상기 데이터 래치들 세트(394) 내부에 저장된다. 상기 상태 머신의 제어하에 이루어지는 상기 프로그래밍 동작은 상기 어드레싱된 메모리 셀들의 상기 제어 게이트들로 인가된 전압 펄스들에 대한 일련의 프로그래밍 동작을 포함한다. 각 프로그래밍 펄스는 상기 셀이 상기 원하는 메모리 상태로 프로그래밍되었는지에 대한 판단을 위한 재판독 또는 검증(read back, or verify)과정을 수반할 수 있다. 이하에서 더욱 자세히 논의되는 바와 같이, 적응형 또는 '스마트 검증' 방법이 사용되어, 검증 과정이 특정 저장 엘리먼트들에 대해 특정 횟수 개시되도록검증 단계의 수를 줄일 수 있다. 프로세서(392)는 상기 원하는 메모리 상태에 대해 상기 재판독 메모리 상태를 모니터링한다. 상기 두 상태가 일치하면, 상기 프로세서(392)는 상기 비트라인이 프로그래밍 금지 지정 상태(state designating program inhibit)로 풀링될 수 있도록 상기 비트라인 래치(382)를 설정한다. 이는 프로그래밍 펄스들이 자신의 제어 게이트 상에 나타난다 할지라도, 상기 비트라인에 결합된 상기 셀이 오버 프로그래밍되지 못하도록 한다. 다른 실시예들에 있어서, 상기 프로세서는 초기에 상기 비트라인 래치(382)를 로딩하고, 상기 센스 회로는 상기 검증 프로세스동안 자신을 금지값(inhibit value)으로 설정한다.
데이터 래치 스택(394)은 상기 센스 모듈에 해당하는 데이터 래치들의 스택을 포함한다. 일 실시예에 있어서, 센스 모듈(380)마다 세 개의 데이터 래치들이 있다. 일부 실시예들(요구되지는 않음)에 있어서, 상기 데이터 래치들 내부에 저장된 상기 평행 데이터가 데이터 버스(320)에 대한 직렬 데이터로 전환되고, 역의 경우도 성립되도록, 상기 데이터 래치들이 천이(shift) 레지스터로 구현된다. 일 실시예에 있어서, m개의 메모리 셀들의 상기 판독/기록 블록에 해당하는 상기 모든 데이터 래치들은 함께 링크되어, 데이터 블록이 직렬 전송(serial transfer)에 의해 입력 또는 출력될 수 있도록 하나의 블록 천이 레지스터를 형성할 수 있다. 특히, 판독/기록 모듈들의 뱅크는 각 데이터 래치들 세트가 마치 전체의 판독/기록 블록을 위한 천이 레지스터의 일부인 것처럼 순차적으로(in sequence) 상기 데이터 버스 내부로 또는 밖으로 데이터를 천이시킬 수 있도록 구성된다.
상기 센스 모듈(380)의 동작에 관한 부가적인 설명이 Raul-Adrian Cernea와 Yan Li에 의해 2002년 9월 24일 출원되고, 미국 공개 번호 2004/0057287로 공고된 "감소된 소스 라인 바이어스 에러를 지닌 비휘발성 메모리 및 방법(Non-Volatile Memory And Method with Reduced Source Line Bias Errors)" 라는 제목의 동시계속출원(co-pending) 미국 특허 No. 10/254,830; 및 Raul-Adrian Cernea와 Yan Li에 의해 2003년 9월 17일 출원되고, 미국 공개 번호 2004/0109357로 공고된 "향상된 센싱기능을 구비한 비휘발성 메모리 및 방법(Non-Volatile Memory And Method With Improved Sensing)" 라는 제목의 미국 특허 출원 No. 10/665,828 내에 제시되었다. 상기 센스 모듈(380)의 결과를 처리하기 위해 사용되는 상기 회로에 관한 설명이 Raul-Adrian Cernea, Yan Li, Shahzad Khalid 및 Siu Lung Chan에 의해 2004년 12월 29일 출원된 "판독/기록 회로들의 집합에 대한 공유된 프로세싱을 구비한 비휘발성 메모리 및 방법(Non-Volatile Memory And Method with Shared Processing for an Aggregate of Read/Write Circuits)" 이라는 제목으로 동시계속출원 미국 특허 No. 11/026,536; 및 Raul-Adrian Cernea와 Yan Li에 의해 2005년 4월 1일 출원되고, "비휘발성 메모리들의 다중 위상 프로그래밍 내의 데이터 래치들에 대한 사용(Use of Data Latches in Multi-Phase Programming of Non-Volatile Memories)" 이라는 제목으로 동시계속출원 미국 특허 No. 11/097,517 내에 제시되었다. 상기 4개의 출원들에 대한 전체적 공시들은 여기서 참조용으로 제시된다.
도 7은 저장 엘리먼트 어레이(300)의 예시적 구조를 제공한다. 일 예로, NAND 플래시 EEPROM이 1024개의 블록들로 분할되는 것으로 도시된다. 소거 동작시, 각 블록 내에 저장된 상기 데이터는 동시에 소거된다. 한 구현에 있어서, 상기 블록은 동시에 소거되는 엘리먼트들의 최소 단위이다. 본 예의 각 블록 내에, BL0-BL8511로 도시되는 8512개의 열들(columns)과 해당 비트라인들이 있다. 4개의 저장 엘리먼트들이 직렬로 연결되어 하나의 NAND 스트링을 형성한다. 비록 4개의 엘리먼트들이 각 NAND 스트링 내에 포함되는 것으로 도시되지만, 4개 이상 또는 이하의 저장 엘리먼트들이 사용될 수 있다. 상기 NAND 스트링의 한 단자(terminal)는 선택 트랜지스터(SGD)를 통해 해당 비트라인과 연결되고, 다른 단자는 제 2 선택 트랜지스터(SGS)를 통해 상기 c-소스라인과 연결된다.
판독 및 프로그래밍 동작의 한 구성동안, 동일 워드라인을 지닌 8512개의 모든 저장 엘리먼트들이 동시에 선택된다. 따라서, 1064 바이트의 데이터는 논리(logical) 페이지를 형성하여 동시에 판독 또는 프로그래밍 될 수 있고, 상기 메모리의 1블록은 적어도 8개의 논리 페이지들을 저장할 수 있다. 다중 상태 저장 엘리먼트들에 대해, 각 저장 엘리먼트가 2 비트의 데이터를 저장할 때, 상기 두 비트들 각각은 다른 페이지 내에 저장되고, 1블록은 16개의 논리 페이지들을 저장한다. 두 개의 프로그래밍 사이클이, 처음에는 상기 하나의 페이지의 데이터를 갖고, 다음에 상기 다른 페이지의 데이터를 갖고, 상기 저장 엘리먼트들을 프로그래밍하기 위해 사용될 수 있다. 다른 크기를 지닌 블록들과 페이지들이 또한 본 발명과 함께 사용될 수 있다. 게다가, 상기 도시된 아키텍쳐들 이외의 아키텍쳐들은 본 발명을 구현하기 위해 사용될 수 있다. 예를 들어, 한 구현에 있어서, 상기 비트라인들은 개별적으로 프로그래밍되고 판독되는 홀수 및 짝수 번째 비트라인들로 나누어진다.
저장 엘리먼트들은 상기 'p'웰을 소거 전압(예를 들어, 20V)로 상승시키고, 선택된 블록의 상기 워드라인들을 접지시킴으로서 소거될 수 있다. 상기 소스 및 비트라인들은 부동하고 있는 중이다. 소거 동작은 전체 메모리 어레이, 개별 블록들, 또는 워드라인들, 페이지들 또는 섹터들과 같은, 상기 메모리 장치의 일부인 상기 저장 엘리먼트들의 다른 유닛 상에서 행해질 수 있다. 전자들은 상기 임계 전압이 하나의 가능한 방법에서 음의 값이 될 수 있도록 상기 부동 게이트에서 상기 'p'웰 영역으로 전송된다.
상기 판독 및 검증 동작들에서, 상기 선택 게이트들(SGD, SGS) 및 상기 비선택 워드라인들(예를 들어, WL1이 상기 선택 워드라인일 경우, WL0, WL2, WL3)이 판독 패스 전압(예를 들어, 4.5V)으로 상승되어, 상기 트랜지스터들이 패스 게이트들로 동작하도록 한다. 상기 선택된 워드라인(WL1)은, 관련 저장 엘리먼트의 임계 전압이 한 레벨 이상인지 이하인지에 대해 판단하기 위해 각 판독 및 검증 동작에 대해 정(specified) 상기 레벨을 지닌 전압과 연결된다. 예를 들어, 2레벨을 지닌 저장 엘리먼트에 대한 판독 동작에 있어서, 상기 선택 워드라인(WL1)이 접지될 수 있고, 그 결과 상기 임계 전압이 '0V'이상인지의 여부에 대한 판단이 이루어진다. 2레벨을 지닌 저장 엘리먼트에 대한 검증 동작에 있어서, 상기 선택 워드라인(WL1)이 예를 들어 0.8V와 연결되고, 그 결과 상기 임계 전압이 적어도 '0.8V'에 도달했는지의 여부에 대한 검증이 이루어진다. 상기 소스 및 'p'웰은 '0V'를 갖는다. 상기 선택된 비트라인들은 예를 들어, '0.7V'의 레벨로 프리차징된다. 만일 상기 임계 전압이 상기 워드라인 상의 상기 판독 또는 검증 레벨보다 높을 경우, 상기 관심대상(interest)인 엘리먼트와 연관된 상기 비트라인의 전위 레벨은 상기 비도전성 저장 엘리먼트 때문에, 보다 높은 레벨을 유지한다. 반면에, 상기 임계 전압이 상기 판독 또는 검증 레벨보다 낮을 경우, 상기 도전성 저장 엘리먼트가 상기 비트라인을 디스차징(discharge)하기 때문에, 상기 관련 비트라인의 전위 레벨은 예를 들어, '0.5V' 미만의 낮은 레벨로 감소한다. 따라서, 상기 저장 엘리먼트의 상태는 상기 비트라인과 연결된 전압 비교기 센스 증폭기에 의해 감지된다. 다른 종류의 감지법인, ABL(all bit line) 감지법(sensing)이 현재의 감지법을 수반한다.
상술된 상기 소거, 판독 및 검증 동작들은 종래 기술에 따라 수행된다. 따라서, 상술된 은 세부사항들이 해당 당업자에 의해 변형될 수 있다. 종래의 다른 소거, 판독 및 검증 동작들이 또한 사용될 수 있다.
상술한 바와 같이, 각 블록이 수많은 페이지들로 분할될 수 있다. 한 방법에 따르면, 페이지는 프로그래밍의 단위이다. 일부 실시예들에 있어서, 상기 개별 페이지들은 세그먼트들로 분할되고, 상기 세그먼트들은 한번에 기본 프로그래밍 동작으로서 기록된 최소 개수의 엘리먼트들을 포함할 수 있다. 하나 또는 다수 페이지의 데이터는 일반적으로 한 행의 저장 엘리먼트들 내에 저장된다. 한 페이지는 하나 또는 다수의 섹터들을 저장할 수 있다. 하나의 섹터는 상기 섹터의 상기 사용자 데이터로부터 계산된 에러 교정 코드(ECC)와 같은, 사용자 데이터 및 오버헤드 데이터를 포함한다. 상기 제어기의 일부는 데이터가 상기 어레이로 프로그래밍되고 있는 중일 때 상기 ECC를 계산하고, 또한 상기 데이터가 상기 어레이로부터 판독될 때 상기 ECC를 사용하여 상기 데이터를 확인한다. 다른 방법으로, 상기 ECC들 및/또는 다른 오버헤드 데이터는 자신들이 속한 상기 사용자 데이터가 아닌, 다른 페이지들 또는 심지어 다른 블록들 내에 저장된다. 다른 구현들에 있어서, 상기 상태 머신과 같은 상기 메모리 장치의 다른 부분들이 상기 ECC를 계산할 수 있다.
사용자 데이터의 섹터는 광디스크 드라이브들 내부의 한 섹터의 크기에 대응하여, 일반적으로 512 바이트이다. 오버헤드 데이터는 일반적으로 부가적인 16내지 20 바이트이다. 다수의 페이지들이, 예를 들어 8, 32, 64 또는 그 이상의 페이지들을 포함하는 하나의 블록을 형성한다.
도 8은 각 저장 엘리먼트가 2비트의 데이터를 저장할 때, 저장 엘리먼트 어레이에 대한 임계 전압 분포를 도시한다. 'E'는 소거된 저장 엘리먼트들에 대한 제 1 임계 전압 분포를 나타낸다. 'A, B, C'는 프로그래밍 된 저장 엘리먼트들에 대한 세 개의 임계 전압 분포들을 나타낸다. 한 구현에 있어서, 상기 'E' 분포내의 상기 임계 전압들은 음의 값들을 갖고, 상기 'A, B, C' 분포들 내의 상기 임계 전압들은 양의 값들을 갖는다.
각각의 분명한(distinct) 임계 전압 범위는 상기 데이터 비트들의 세트에 대한 소정값들에 해당한다. 상기 저장 엘리먼트로 프로그래밍 된 상기 데이터와 상기 엘리먼트의 상기 임계 전압 레벨들 사이의 구체적인 관계는 상기 엘리먼트들을 위해 채택한(adopted) 데이터 인코딩 방법에 의존한다. 한 예에 따르면, '11'이 상기 임계 전압 범위'E'(상태 'E')로 할당되고, '10'이 상기 임계 전압 범위'A'(상태 'A')로 할당되고, '00'이 상기 임계 전압 범위'B'(상태 'B')로 할당되고, '01'이 상기 임계 전압 범위'C'(상태 'C')로 할당된다. 그러나, 다른 구현들에 있어서, 다른 방법들이 사용된다.
세 개의 판독 참조 전압들, Vra, Vrb, Vrc가 저장 엘리먼트들로부터 데이터를 판독하기 위해 사용된다. 주어진 저장 엘리먼트의 상기 임계 전압이 Vra, Vrb, Vrc 이상 또는 이하인지를 테스트함으로써, 상기 시스템은 상기 저장 엘리먼트의 상태를 판단할 수 있다. 세 개의 검증 참조 전압들, Vva, Vvb, Vvc가 또한 표시된다. 저장 엘리먼트들을 상태 'A, B 또는 C'로 프로그래밍할 때, 상기 시스템은 상기 저장 엘리먼트들이 각각 상기 Vva, Vvb 또는 Vvc과 같거나 또는 이상인 임계 전압을 갖는지의 여부에 대해 테스트할 수 있다.
풀 시퀀스 프로그래밍으로 알려진 하나의 방법에 있어서, 저장 엘리먼트들이, 곡선 화살표들로 표시되는 바와 같이, 상기 소거 상태 'E'로부터 상기 프로그래밍된 상태들 'A, B 또는 C'로 직접 프로그래밍 될 수 있다. 예를 들어, 프로그래밍 될 저장 엘리먼트들의 집단(population)이 상기 집단 내의 모든 저장 엘리먼트들이 상기 소거 상태 'E'에 있도록 처음에 소거될 수 있다. 일부 저장 엘리먼트들이 상태 'E'로부터 상태 'A'로 프로그래밍 되고 있는 동안, 다른 저장 엘리먼트들이 상태 'E'로부터 상태 'B'로 및/또는 상태 'E'로부터 상태 'C'로 프로그래밍 되고 있는 중이다.
도 9는 두 개의 다른 페이지들, 하위 페이지 및 상위 페이지에 대한 데이터를 저장하는 다중 상태 저장 엘리먼트를 프로그래밍하는 2단 패스(two-pass) 방법의 예를 보여준다. 4가지의 상태, 즉 상태 'E'(11), 상태 'A'(10), 상태 'B'(00), 및 상태 'C'(01)가 도시된다. 상태 'E'에 대해, 상위 및 하위 페이지들이 '1'을 저장한다. 상태 'A'에 대해, 하위 페이지가 '0'을 저장하고, 상위 페이지가 '1'을 저장한다. 상태 'B'에 대해, 상위 및 하위 페이지들이 '0'을 저장한다. 상태 'C'에 대해, 하위 페이지가 '1'을 저장하고, 상위 페이지가 '0'을 저장한다. 비록 특정 비트 패턴들이 상기 각 상태들로 할당되었을지라도, 서로 다른 비트 패턴들이 또한 할당될 수 있다. 제 1 프로그래밍 패스 내에서, 상기 엘리먼트의 임계 전압 레벨은 상기 하위 논리 페이지 내부로 프로그래밍 될 상기 비트에 따라 정해진다. 만일 상기 비트가 로직 '1'이면, 상기 임계 전압은 이전에 소거된 결과로 적절한 상태에 있기 때문에 변하지 않는다. 그러나, 만일 프로그래밍 되어야 할 상기 비트가 로직 '0'이면, 상기 엘리먼트의 임계 전압은 화살표 730로 표시되는 것처럼 증가하여 상태 'A'가 된다. 이는 상기 제 1 프로그래밍 패스를 포함한다.
제 2 프로그래밍 패스 내에서, 상기 엘리먼트의 임계 전압 레벨은 상기 상위 논리 페이지 내부로 프로그래밍 되고 있는 중인 상기 비트에 따라 정해진다. 만일 상기 상위 논리 페이지 비트가 로직 '1'을 저장하려고 한다면, 상기 엘리먼트는 상기 하위 페이지 비트의 프로그래밍에 따라, '1'이라는 상위 페이지 비트를 갖고 있는 상기 상태들 'E'와 'A' 중 하나의 상태에 있기 때문에, 어느 프로그래밍도 발생하지 않는다. 만일 상기 상위 페이지 비트가 로직 '0'을 저장하려 한다면, 상기 임계 전압은 천이된다. 만일 상기 제 1 패스가 상기 소거 상태 'E'에 머무르는(remaining) 상기 엘리먼트를 발생시켰다면(resulted in), 제 2 위상에서, 상기 엘리먼트는 화살표 734로 도시되는 바와 같이, 상기 임계 전압이 증가하여 상태 'C' 내부에 있도록 프로그래밍 된다. 만일 상기 엘리먼트가 상기 제 1 프로그래밍 패스의 결과로서 상태 'A'로 프로그래밍 되었다면, 화살표 732로 도시되는 바와 같이, 상기 임계 전압이 증가하여 상태 'B' 내부에 있도록 상기 저장 엘리먼트는 상기 제 2 패스 내부에서 더 프로그래밍 된다. 상기 제 2 패스의 결과, 상기 엘리먼트가 상기 하위 페이지에 대한 상기 데이터를 바꾸지 않고 상기 상위 페이지에 대한 로직 '0'을 저장하도록 지정된 상기 상태로 프로그래밍 된다.
한 방법에 있어서, 충분한 데이터가 전체 페이지를 채우기 위해 기록될 경우, 시스템이 풀 시퀀스 기록을 수행하기 위해 설정될 수 있다. 만일 충분한 데이터가 풀 페이지에 대해 기록되지 않을 경우, 상기 프로그래밍 프로세스는 상기 하위 페이지를 상기 수신된 데이터를 가지고 프로그래밍할 수 있다. 다음 데이터가 수신될 경우, 상기 시스템은 이후 상기 상위 페이지를 프로그래밍할 것이다. 또 다른 방법에 있어서, 상기 시스템은 상기 하위 페이지를 프로그래밍하는 모드에서 기록을 시작하고, 만일 충분한 데이터가 이후에 모든 또는 대부부의 워드라인의 저장 엘리먼트들을 채우기 위해(fill up) 수신될 경우, 풀 시퀀스 프로그래밍 모드로 전환될 수 있다. 그와 같은 방법에 대한 보다 자세한 세부정보가 발명가들 Sergy A. Gorobets 및 Yan Li에 의해 2004년 12월 14일 출원되고, "초기 데이터를 이용한 비휘발성 메모리들의 파이프라이닝된 프로그래밍(Pipelined Programming of Non-volatile Memories Using Early Data)"라는 제목으로 여기에 참조용으로 제시된 미국 특허 출원 번호 No. 11/013, 125에 나와있다.
도 10A 내지 10C는 임의의 특정 저장 엘리먼트에 대해, 이전 페이지들에 대한 인접 저장 엘리먼트들로 기록하고, 이후, 특정 페이지에 관한 상기 특정 저장 엘리먼트로 기록함으로써, 부동 게이트에서 부동 게이트로의 결합(floating gate-to-floating gate coupling)을 감소시키는 비휘발성 메모리를 프로그래밍하는 다른 프로세서를 도시한다. 한 실시예에 있어서, 상기 비휘발성 저장 엘리먼트들 각각은, 서로 다른 전압 분포들에 의해 표시되는 4개의 데이터 상태들을 사용하여 2비트의 데이터를 저장한다. 예를 들어, 상태 'E'는 소거 상태에 있고, 상태들 'A, B, C'는 프로그래밍 된 상태에 있다고 가정한다. 상기 상태들 'E, A, B, C' 각각은 이진 데이터 상태들을 나타낸다. 예를 들어, 상태 'E'는 데이터 '11'을 저장하고, 상태 'A'는 데이터 '01'을 저장하고, 상태 'B'는 데이터 '00'을 저장하고, 상태 'C'는 데이터 '10'을 저장한다. 이는 오직 1비트만이 인접 상태들 사이에서 변하기 때문에 Gray 코딩의 예이다. 물리적 데이터 상태들로 인코딩된 다른 데이터가 또한 사용될 수 있다. 각 저장 엘리먼트는 데이터의 2페이지들로부터 비트들을 저장한다. 참조용으로, 상기 데이터의 2페이지들은 상위 페이지와 하위 페이지로 지칭될 것이다. 그러나 상기 페이지들은 다른 레벨들을 제공받을 수 있다. 상태 'A'에 대해서, 상기 하위 페이지는 비트 '1'을 저장하고, 상기 상위 페이지는 비트 '0'을 저장한다. 상태 'B'에 대해, 상위 및 하위 페이지들이 비트 데이터 '0'을 저장한다. 상태 'C'에 대해, 하위 페이지가 비트 '0'을 저장하고, 상위 페이지가 비트 '1'을 저장한다. 상기 프로그래밍 프로세스는 두 단계들을 갖는다. 상기 제 1 단계에서 상기 하위 페이지가 프로그래밍된다. 만일 상기 하위 페이지가 데이터 '1' 상태에 머무르고자 할 경우, 상기 저장 엘리먼트는 상태 'E'에 머무른다. 만일 상기 데이터가 '0'으로 프로그래밍 되고자 할 경우, 상기 저장 엘리먼트의 상기 임계 전압(VTH)은 상기 저장 엘리먼트가 중간 또는 임시 상태(INT)로 프로그래밍 되도록 상승한다. 따라서, 도 10A는 저장 엘리먼트들의 상태 'E'로부터 상태 'INT'로의 프로그래밍을 보여준다. 상태 'INT'는 임시 상태를 나타내기 때문에, 상기 검증지점은 Vvb'로 도시된다. 도 10C에 도시된 바와 같이, 상기 Vvb'는 Vva만큼 낮을 수 있고, Vvb보다 낮을 수 있다.
한 구현에 있어서, 저장 엘리먼트가 상태 'E'로부터 상태 'INT'로 프로그래밍된 이후, 인접 워드 라인상의 자신의 인접 저장 엘리먼트가 자신의 하위 페이지와 관련하여 프로그래밍된다. 상기 인접 저장 엘리먼트를 프로그래밍한 이후, 고려되는 상기 부동 게이트에서 부동 게이트로의 결합효과는 상태 'INT'에 있는 저장 엘리먼트의 분명한 임계 전압을 상승시킬 것이다. 이는 상태 'INT'를 위한 상기 임계 전압 분포를 도 10B에 도시된 임계 전압 분포(750)로 확장하는 효과를 얻게 될 것이다. 상기 임계 전압 분포에 대한 이러한 확장은 이후의 프로그래밍 단계에서, 상기 상위 페이지를 프로그래밍할 때 수정된다(remedied).
도 10C는 상기 상위 페이지를 프로그래밍하는 프로세스를 도시한다. 만일 상기 저장 엘리먼트가 상기 소거 상태 'E'에 있고 상기 상위 페이지가 '1'에 머무르고자 할 경우, 상기 저장 엘리먼트는 상태 'E'에 머무를 것이다. 만일 상기 저장 엘리먼트가 상태 'E'에 있고 자신의 상위 페이지 데이터가 '0'으로 프로그래밍 되고자 한다면, 상기 저장 엘리먼트의 상기 임계 전압은 상기 저장 엘리먼트가 상태 'A'로 천이되도록(transitions) 상승할 것이다. 만일 상기 저장 엘리먼트가 상기 중간 임계 전압 분포(750)와 함께 상태 'INT'(750)(하위 페이지는 '0')에 있고, 상기 상위 페이지 데이터가 '0'이 되고자 할 경우, 상기 저장 엘리먼트의 상기 임계 전압은, 필요할 경우, 상기 저장 엘리먼트가 상태 'B'에 있도록 상승될 것이다. 일반적으로, 상태 'INT'에 있는 상기 저장 엘리먼트들 중 일부가 또한 상태 'B'에 있도록 하기 위해, 상태들 'INT'와 'B'는 오버랩될 것이다. 상기 저장 엘리먼트들을 상태 'B'로 천이시키기 위한 부가적인 프로그래밍이 필요하지 않다. 상태 'B'에는 없고상태 'INT'에 있는 상기 저장 엘리먼트들을 상태 'B'로 천이시키기 위해서는 부가적인 프로그래밍이 필요하다. 게다가, 만일 상기 저장 엘리먼트가 상기 중간 임계 전압 분포(750)와 함께 상태 'INT'(750)에 있고, 상기 상위 페이지 데이터가 '1'로 프로그래밍 되고자 할 경우, 상기 저장 엘리먼트는 최종 상태 'C'로 프로그래밍 될 것이다. 구체적으로, 상기 엘리먼트들은 상태 'INT'로부터, 상태 'B' 밖을 통해 또는 상태 'B'와 오버랩하면서, 상태 'C'로 천이될 것이다.
인접 저장 엘리먼트들의 상기 상위 페이지 프로그래밍만이 주어진 저장 엘리먼트의 상기 분명한 임계 전압 상에 영향을 끼칠 것이기 때문에, 상술된 프로세스는 부동 게이트에서 부동 게이트로의 결합의 효과를 감소시킨다. 대체적인 상태 코딩의 예는 다음과 같다. 상태 'E'는 데이터 '11'을 저장하고, 상태 'A'는 데이터 '01'을 저장하고, 상태 'B'는 데이터 '10'을 저장하고, 상태 'C'는 데이터 '00'을 저장하여, 하나의 새로운 LM코드를 형성한다. 비록 도 10A 내지 10C가 4개의 데이터 상태들과 두 개의 데이터 페이지들에 관한 예를 제공하지만, 상기 개념들은 4개 이상 또는 이하의 상태와 함께 다른 실시예들로 적용될 수 있고, 두 개의 페이지들이 아닐 수 있다. 다양한 프로그래밍 방법들 및 부동 게이트에서 부동 겡트로의 결합에 관한 보다 자세한 세부정보가 2005년 4월 5일 출원되고, "비휘발성 메모리의 판독동작 동안 결합에 대한 보상(Compensation For Coupling During Read Operations Of Non-Volatile Memory)" 이라는 제목으로 미국 특허 출원 번호 No. 11/099, 133에 나와있다.
스마트 검증(Smart Verification)
비휘발성 저장 엘리먼트를 프로그래밍하고 있는 동안 검증을 개시하기 위한 시작점이 일반적으로 장치 엔지니어들에 의해 결정되고, 일부 경우들에 있어서 ROM 퓨즈 파라미터로 언급되는 파라미터에 의해 고정된다. 상기 시작점은 사이클링된 부분들(cycled parts)에 대한 최악의 경우 시나리오를 고려하는데, 이는 많은 프로그래밍 펄스들이 적용된 이후, 상기 저장 엘리먼트들의 상기 산화물 내의 산화물 트래핑 또는 결점들로 인하여 후레쉬(fresh) 부분들보다 더 빨리 프로그래밍된다. 일반적으로, 상기 파라미터 셋팅들은 사이클링된 부분들이 오버프로그래밍되지 않을 것을 보장하기(guarantee) 위해 설정된다. 그러나, 상기 셋팅들과 함께, 보다 느리게 프로그래밍 하는 후레쉬 장치는 많은 프로그래밍 과정들을 거치게 되고, 임의의 비트들 이전의 프로그램 검증 펄스들은 충분히 프로그래밍되어 상기 검증 레벨을 패스하고, 추가적인(further) 프로그래밍 펄스들을 수신하는 것으로부터 록 아웃(locked out)될 것이다. 이에 따라, 프로그래밍 시간 및 전력 소비에 대한 증가와 같은 비효율성이 초래된다.
도 11은 프로그램 검증을 시작해야 하는 시기에 대한 적절한(adaptive) 결정이 이루어지는 동안, 순차적 프로그래밍을 사용하여 비휘발성 저장 엘리먼트들을 프로그래밍하는 데 있어서의 이벤트들의 타임 시퀀스를 도시한다. 상기 스마트 검증 프로세스는 고정된 파라미터들을 사용하여 상기 프로그램 검증 프로세스들의 상기 시작점을 제어할 때 발생하는 많은 비효율적인 문제들을 해결한다. 대신에, 상기 스마트 검증 프로세스는 각 페이지 내에서의 프로그래밍 속도에 따라, 각 페이지에 대한 각 검증 프로세스의 시작점을 독립적으로 결정한다. 예를 들어, 저장 엘리먼트는 상기 소거상태 'E'로부터 상기 상태들 'A, B 또는 C' 중 임의의 상태로 직접 프로그래밍 될 것이다(도 8 참조). 도 11에서, 상기 타임 시퀀스는 시점들 ts, t0, t1, t2, t3, t4, t5, t6, t7을 포함한다. 상기 저장 엘리먼트들로 인가되는 상기 프로그래밍 펄스들의 크기 Vpgm는 보다 작은 크기를 지니는 프로그래밍 펄스들 사이의 검증 펄스들을 가지고서, 서로 다른 시점들에서 도시된다. 검증받을 각 상태에 대한 하나의 검증 펄스가 각 프로그램 펄스 사이로 인가됨을 주지하라. 예를 들어, 상기 'A' 엘리먼트들만이 검증되고 있는 중일 때 하나의 검증 펄스가 인가되는 반면, 상기 'A, B' 엘리먼트들 또는 'B, C' 엘리먼트들이 검증되고 있는 중일 때, 2개의 펄스들이 인가된다.
검증 'A'의 상기 시작점, 예를 들어, 상태 'A'에 있는 저장 엘리먼트의 검증은 프로그래밍의 점(ts)의 개시 후 프로그래밍 펄스들의 개수, 즉, ROM 퓨즈 파라미터인 NA에 의해 결정될 수 있다. 일부 실시예들에 있어서, 상기 NA는 제로일 수 있고, 제 1 프로그래밍 펄스 이후 검증이 시작된다. 각 프로그램 검증 'A' 펄스 이후 즉시, 또는 한 부분으로서, 프로그래밍을 위해 선택된 임의의 저장 엘리먼트들이, 자신들의 목적 프로그래밍(targeted programmed) 상태와 무관하게, 상기 검증 'A' 레벨 (도 8 내지 10에서의 Vva)을 패스하는가에 대해 체크하기 위해 검출 프로세스가 수행된다. 적어도 1비트가 상태 'A'에서 검출된 후, 해당 내부 신호, PCVA_FLAG는 시작점 t1에서 하이 상태가 된다. 이후, 상태 'B'를 검증하기 위한 시작점 t2는 상기 시작점 t1 이후 특정 개수의 프로그램 펄스들을 카운팅함으로써 결정될 수 있다. NB 대한 적절한 값이 상기 프로그램 워드라인 전압 폭(step size)(연속적인 프로그래밍 펄스들 사이의 크기 차이)에 의해 분류된 상태 'A'와 'B' 사이의 전압 차이에 기초하여 추정되고, ROM 퓨즈 파라미터로서 저장될 수 있다. 다른 내부 신호, PCVB_FLAG가 상승하는 시점 t3에서, 적어도 1비트가 자신의 목적 프로그램 상태에 관계없이 상기 검증 'B'레벨을 패스했음을 알 수 있다. 검증 'C'의 시작점 t5는 t3 이후, 프로그램 펄스들의 특정 개수(Nc)를 카운팅함으로써 결정될 수 있다. Nc에 대한 적절한 값이 상기 프로그램 워드라인 전압 폭에 의해 분류된 검증상태 'B'와 'C' 사이의 상기 전압 차이에 기초하여 추정되고, ROM 퓨즈 파라미터로서 저장될 수 있다. 시점들 t4, t6, t7은 상기 'A', 'B', 'C' 레벨들에서의 검증이 각각 완료된 시점을 나타낸다. 상태 'A'데이터가 없고 그 결과 내부 신호, PCVA_FLAG가 결코 상승하지 않는 특별 경우는 프로그래밍 시작시 검출되고, 다른 ROM 퓨즈 파라미터, 즉 상기 목적을 위한 특별 전용(dedicated) PCVB_ROM이 상태 'B'검증을 위한 상기 시작점을 결정하기 위해 사용될 수 있다. 유사하게, 상태 'B'데이터가 없을 경우, 또 다른 전용 ROM 퓨즈 파라미터, 즉 PCVC_ROM이 상태 'C'검증을 위한 상기 시작점을 결정하기 위해 사용될 수 있다.
도 12A 및 12B는 프로그램 검증을 시작해야 하는 시점에 대한 적절한(adaptive) 결정이 이루어지는 동안, 2단 패스(하위 페이지/상부 페이지) 프로그래밍 시퀀스를 사용하여 비휘발성 저장 엘리먼트들을 프로그래밍하는 데 있어서의 이벤트들의 타임 시퀀스를 도시한다. 상기 제 1 패스동안, 도 9의 상기 2단 패스 프로그래밍 방법 적용시, 프로그래밍이 오직 상기 소거 상태 'E'로부터 상태 'A'로만 발생한다. 도 12A에서, 검증 'A'의 시작을 시그널링하는 NA만이 사용된다. 상기 제 2 패스동안, 상기 상위 페이지를 프로그래밍할 때, 상태 'B'는 상태 'A'로부터 프로그래밍되고, 상태 'C'가 상태 'E'로부터 프로그래밍된다. 상기 프로그래밍 사이클 동안 상태 'A' 데이터가 없기 때문에, PCVB_ROM이 사용되어 상기 검증을 시작하고, 상태 'C' 검증을 위한 상기 시작점, t3가 스마트 검증 프로세스를 사용하여 결정될 수 있다. 도 12B를 참조하면, 프로그래밍이 프로그래밍 펄스들 사이에서 검증 펄스들을 없이 시점 t0에서 시작하고, 오직 검증 'B'가 시점 t1과 t3 사이에서 발생한다.
도 10A내지 10C의 방법에 따라 프로그래밍을 실시할 경우, 상기 제 2 패스동안, 상태 'INT'에 있는 저장 엘리먼트들이 상태들 'B, C'로 동시에, 즉, 일련의 프로그램 펄스들이 상기 저장 엘리먼트들로 적용되는 동일 프로그래밍 사이클 내부에서, 프로그래밍 될 수 있다. 게다가, 상태 'B'는 상태 'INT'와 오버랩된다. 이러한 경우들에 있어서, 하기에서 논의되듯이, 상태 'INT'로부터 보다 높은 상태 'C'로 프로그래밍되는 엘리먼트들에 대한 상기 검증은 다른 엘리먼트들이 보다 낮은 상태(즉, 상태 'INT'로부터 상태 'B'로)로 프로그래밍 된 시점을 기준으로 적절하게(adaptively) 개시될 수 있다. 상기 방법은 해당 분야의 당업자에게 명백하듯이 넓게 적용된다.
상기 하위 페이지가 프로그래밍 된 후, 상태 'B' 또는 'C'로 프로그래밍 될 임의의 비트들이 자신들의 임계 전압들을 상기 'INT' 분포(750) 내부에서 지니게 될 것이다. 이후의 상위 페이지 프로그래밍 동안, 상태 'A'가 상태 'E'로부터 프로그래밍 될 것이고, 상태들 'B, C'는 상기 'INT'상태로부터 프로그래밍 될 것이다. 그러나, 이 경우, 검증 상태 'A'를 패스하는 적어도 하나의 비트에 대한 검출이 이미 상기 상태 'INT'에 있는 비트들과 혼동될 수 있다. 이는 종래의 센싱 방법이, VVA 이상의 임계 전압을 지니는 비트들이 존재함에 따라 상태 'A'로 막 들어가고 있는 중인 새로운 비트들 뿐만 아니라 이미 상기 상태 'INT'에 있는 비트들을 감지할 것이라고 단순히 판단하기 때문에 발생한다. 이러한 문제를 해결하는 하나의 방법은 상태 'E'로부터 상태 'A'로 이동중인 상기 비트들만의 이동을 감지하는 것이다. 이는 상태 'A'로만 프로그래밍 될 비트들을 선택하고, 상태 'B, C'와 같은 보다 높은 상태들로 프로그래밍 될, 이미 상태 'INT' 내에 존재하는 비트들을 무시함으로써 행해질 수 있다. 검증 'A' 이전에, 프로그램 데이터 'A'를 지닌 상기 비트라인들만이 차징되고 감지되어, 검증 'A'를 패스하는 적어도 하나의 비트에 대한 정보가 상태 'A'로만 프로그래밍 될 비트들로부터 얻어질 것이다. 상기 목적을 위해 사용할 비트들에 대한 결정은 프로그래밍의 시작시 오직 한 번만 수행될 수 있다. 이와 같이 얻어진 상기 정보는 상술한 방법과 동일한 방법으로, 즉, 다음의 NB 프로그래밍 펄스들에 대한 검증 'B'를 건너뜀으로서, 검증 'B'의 상기 시작점을 결정하기 위해 사용된다. 대안적인 방법으로, 상기 제 1비트가 상태 'A'에 도달할 시기를 모니터링하기 위해 사용하는 비트들은, 상기 프로그래밍 사이클을 통해 상기 정보를 유지하기 위한 전용(dedicated) 래치들을 필요로 하지 않는 각 프로그래밍 펄스 이후 결정될 수 있다. 이를 위해, 상기 메모리 장치의 하나 또는 다수의 관리 회로는, 다른 모든 센스 증폭기들이 다른 저장 엘리먼트들의 임계 전압을 판독하지 못하도록 하면서, 상태 'A'로 프로그래밍 될 상기 저장 엘리먼트들과 관련된 상기 센스 증폭기들이 오직 상기 저장 엘리먼트들의 상기 임계 전압들을 판독하도록 제어할 수 있다. 이를 달성하기 위해 필요한 상기 회로에 대한 세부사항들은 이전에 참조용으로 제시된 미국 특허 출원 번호 No. 11/026, 536 및 No. 11/097,517에 제시된다.
검증 'C'의 상기 시작점을 결정하는데 있어서, 상기 상태 'INT'에 이미 비트들이 존재하면 검증 'B'를 패스하는 적어도 하나의 비트에 대한 검출시 문제가 발생하게 된다. 이러한 문제를 해결하는 다른 방법들이 있다. 하나의 방법은 상술한 바와 같이 상기 프로그래밍 검증 'A' 임계 전압을 패스하는 상태 'E'로부터의 비트들만을 사용하는 1비트 검출에 기초하여, 상기 검증 'C' 시작점을 결정하는 것이다. 각 프로그램 펄스를 구비하는 상기 비트들의 임계 전압 변화는 일정하고, 상기 상태 'INT'로부터 상태 'C'로 이동하는 비트들을 나타내기 때문에, 상태 'C'로 이동하는 상기 비트들의 거동(behavior)을 예측하는데 사용될 수 있다고 가정한다.
이는 소수의 프로그래밍 펄스들 이후에 정상적으로 유효하지만(valid), 상태 'E' 밖으로 이동하는 빠른 비트들('fast bits')이 예상보다 더 빨리 이동할 수 있다.
Nc 펄스들을 카운팅하기 시작하는 시작점을 결정하는 실시예적 방법은, 도 13A에 도시된 바와 같이, 언더 프로그래밍 측(under programmed side)으로부터 상기 검증 'B' 레벨을 패스하는 상태 'B' 엘리먼트를 검출하는 것이다. 'INT' 분포(750)가 일부 비트들이 VH(도 10C의 Vvb와 동등) 이상의 임계값들을 지니도록 상태 'B'와 오버랩되어, 이미 상태 'B'에 있는 것으로 도시된다. 다른 비트들, 즉, Vi에서 임계값들을 갖는 상기 비트들은, 자신들이 VH를 초과할 때까지 이후의 프로그래밍 펄스들에 대한 애플리케이션 상에서 이동할 것이다. 상기 검증 'B' 레벨을 패스하는 상기 비트들을 검출하기 위해, 상기 검증 'B' 레벨 미만의 상기 비트들만이 부가적인 프로그래밍 펄스들이 인가됨에 따라 상기 검증 'B'레벨을 패스할 때 확인되고 모니터링 되어야 한다. 상기 비트들을 선택하는 한 방법은, 적어도 하나의 비트가 상기 검증 'A'레벨을 패스한 후, 모든 비트라인들에 대한 정상적인 검증 'B'레벨보다 낮은 임계 전압 VL에서 하나의 특별한 검증 'B'를 실행하는 것이다. 오직 상태 'A'가 검증되고 있는 중인 NA 프로그래밍 펄스들 이후, 검증 'B'가 상기 정상적인 센스 지점 VVB(도 13A에서는 VH로 표현됨)에서 실행된다. VL 미만의 임계 전압들을 지닌 상기 비트들은 자신들 중 하나가 상기 VH 레벨을 패스하는 시점을 판단하기 위해 모니터링 된다.
Nc 펄스들에 대한 카운팅을 시작할 시점을 판단하기 위해 상기 비트들을 선택하는 대안적인 방법은, VH(VL이 아님) 미만의 상기 'INT' 집단 내의 모든 비트들을 선택하고, 약간 더 높은 검증 레벨 V'H를 가로지르는 자신들의 이동을 모니터링하여, VH 보다 약간 낮은 임계 전압을 구비한 임의의 비트들이 이동중이고 상기 센스 증폭기와 관련된 잡음 때문에 간단히 검출되지 않음을 확인하는 것이다. V'H는 VH 보다 높은 20mV 내지 30mV에 해당할 수 있다. 상기 방법은 VL이 다른 사항들을 고려하여 판단된 자신의 값을 갖고 다른 목적(예를 들어, 코어스(coarse) 및 화인(fine) 프로그래밍)으로 사용되는 경우 선호될 수 있다.
도 13B에 도시된 바와 같이, VL은 VH 는 코어스(coarse) 및 화인(fine) 프로그래밍 기술을 구현하기 위해 선택될 수 있다. 도 13B는 시간에 따른 저장 엘리먼트의 임계 전압 내에서의 변화를 나타내는 반면, 도 13C는 프로그래밍 되고 있는 중인 상기 저장 엘리먼트와 연관된 상기 비트라인에 인가되는 비트라인 전압을 나타낸다. 저장 엘리먼트에 대한 프로그래밍 속도는 자신의 비트라인 전압 레벨을 증가시킴으로서 낮아질 수 있는데, 이는 상기 인가된 프로그래밍 전압 펄스들 Vpgm의 효과를 방해한다. 도 13C에서 V1으로 보여진 상기 전압 레벨의 크기는 일반적으로 0.3V 내지 0.7V의 범위에 해당한다. 이는 저장 엘리먼트의 상기 임계 전압이 처음에는 코어스 프로그래밍 동안 보다 빨리 원하는 레벨로 증가하도록 하고, 이후, 화인 프로그래밍 동안 보다 느리게 증가하도록 한다. 코어스 프로그래밍은 상기 임계 전압이 V1 미만일 경우 발생하는 반면, 화인 프로그래밍은 상기 임계 전압이 VL과 VH 사이에 있을 때 발생한다. 상기 저장 엘리먼트는 금지(inhibit) 모드에 있고, 자신의 임계 전압 레벨이 VH 를 초과할 경우, 추가적으로 프로그래밍되고 검증되는 것으로부터 록아웃된다. VL과 VH는 상기 코어스/화인 프로그래밍 방법과 연관될 필요가 없지만, 그렇지 않을 경우 적절한 값들로 선택될 수 있다. 게다가, 서로 다른 전압값들 VL과 VH는 다중 상태 저장 엘리먼트의 서로 다른 상태들, 즉, 상태들 'A, B, C'과 연관되어, 상기 다른 상태들의 코어스/화인 프로그래밍을 허락할 수 있다. 이러한 유형의 코어스/화인 프로그래밍은 여기에 참조용으로 제시된 미국 특허 No. 6, 643, 188 내에 기술된다.
VL이 코어스/화인 프로그래밍 용도로 사용되는 하나의 방법에 있어서, VH에서의 특별 검증은 PCVA_FLG가 하이 상태가 된 직후 오직 한 번만 실행된다. 프로그램 데이터 'B'를 구비한 상기 비트라인들만이 상기 검증을 위해 선택될 것이다. 상기 1회 특별 검증 이후, 상기 프로그램 검증 시퀀스는 다음의 NB 사이클들에 대한 검증 'A'만을 계속 사용한다. 상태 'B'에서의 검증이 시작된 이후, 상태 'B'에서의 상기 1비트 검출이 이루어질 때까지 V'H 검증 레벨이 사용될 것이다. 검증 'B'를 실행하는 상기 특별 방법을 이용하여, 초기의(earlier) 특별 VH 검증에서 확인된 상기 비트들만이 모니터링되고 1비트 검출용으로 사용되어, 1비트가 상기 검증 'B'레벨을 패스했다는 것을 나타내는 상기 PCVB_FLG 신호를 판단한다. 이후, 상기 플래그는 검증 'C'를 시작하는 시작점을 예측하기 위해 사용될 수 있다. 이하 도 15에 대해 설명되는 바와 같이, PCVB_FLG가 검출된 후, 정상 프로그램 검증 'B'가, VH 미만의 임계값을 갖는 것으로 확인되지 않은, 상태 'B'에 남아있는 저장 엘리먼트들에 대해 실행될 것이다. 일단 상태 'B' 검증이 시작되면, 각 상태 'B' 검증 사이클이 VL에서의 검증과 VH (또는 V'H)에서의 별개(separate) 검증을 통합(incorporate)할 것이다. 워드라인 전압, VL을 구비하는 상기 검증은 상태 'B'로 프로그래밍 될 예정이지만 아직은 상기 상태 'B'에 있지 않은 상기 비트들을 두 종류로 분할한다. 하나는 VL미만의 임계값들을 갖고 다음 프로그래밍 사이클 동안 풀 프로그래밍 전압을 수신할 비트들이고, 다른 하나는 VL과 VH (또는 V'H) 사이의 임계값들을 갖고 다음 프로그래밍 사이클 동안 감소된 프로그래밍 전압을 수신할 비트들이다.
도 14는 데이터의 하위 페이지를 사용하여 비휘발성 저장 엘리먼트들을 프로그래밍하는데 있어서 이벤트들의 타임 시퀀스를 도시한다. 프로그래밍이 프로그래밍 전압 펄스들을 상기 상태 'INT'로 프로그래밍 될 상기 저장 엘리먼트들로 인가함으로써, 시점 t0에서 시작한다. 소정 개수의 펄스들 NINT 이후, 검증이 상기 저장 엘리먼트들에 대해 시점 t1에서 시작한다. 시점 t2에서, 상기 비트들 중 하나는 상기 소거상태로부터 상기 상태 'INT'로 천이되었다고 검증된다. 시점 t3에서, 상기 'INT'상태로 프로그래밍 될 상기 저장 엘리먼트들의 모든 비트들이 상기 상태에 도달했다고 검증되었고, 상기 하위 페이지 데이터의 프로그래밍이 포함된다.
도 15는 도 14의 시간 시퀀스에 뒤이어, 데이터의 상위 페이지를 사용하여 비휘발성 저장 엘리먼트들을 프로그래밍하는데 있어서 이벤트들의 타임 시퀀스를 도시한다. 일 예에 있어서, 프로그래밍 펄스들이 상태 'E'로부터 상태 'A'로, 그리고 상기 상태 'INT'로부터 상태들 'B, C'로 프로그래밍 될 상기 저장 엘리먼트들로 인가된다. 시점 t0에서, 상기 상태 'A'로 프로그래밍 될 상기 저장 엘리먼트의 검증이 시작된다. 상기 프로그래밍 펄스들의 초기 크기(amplitude)는 일반적으로 도 14의 초기에 사용된 것과 같거나 작다. 따라서, 상기 'INT'상태에 있는 비트들의 분포는, 자신들이 상기 상태에 도달하는데 훨씬 더 높은 펄스 크기가 필요했기 때문에, 상기 프로그래밍 펄스들에 의해 최소한의 영향만을 받는다. 시점 t1에서, 상태 'A'에 있는 상기 제 1비트가 검증된다. 또한, 시점 t1에서, 상태 'B'로 프로그래밍 될 예정이고 현재 VH 미만의 임계 전압을 갖고 있는 저장 엘리먼트들이, 부가적인 특별 검증 펄스를 인가함으로써 확인된다(identified). B<VH라고 언급되는 상기 저장 엘리먼트들에 대한 확인은 상태 'A'에서의 상기 제 1비트에 대한 검증과 동시에 일어날 필요는 없지만, 일반적으로 저장 엘리먼트가 상기 'INT'상태로부터 상태 'B'로 천이될 것이라고 예상되기 전에 발생할 수 있다. 시점 t2에서, NB 프로그래밍 펄스들을 건너 뛴(skip) 이후, 이전에 확인된 저장 엘리먼트들이 추적되어(tracked), 상기 저장 엘리먼트들 중 제 1 엘리먼트가 검증되어 V'H 를 상기 검증 레벨로서 사용하여 상태 'B'로 천이된 시점을 판단할 수 있다. 이때, 상태 'B'로 프로그래밍 되고 있는 중인 상기 저장 엘리먼트들의 잔차(remainder)에 대한 검증이 수행된다. 상기 저장 엘리먼트들 중 일부는 상태 'B'와 오버랩되는 'INT'의 상기 부분 내에 존재할 수 있기 때문에, 즉시 검증될 것이다(또는 상기 B<VH의 상기 확인의 부분으로서 록아웃된다). NC프로그래밍 펄스들을 건너 뛴(skip) 이후, 상태 'C'로 프로그래밍 될 상기 저장 엘리먼트들에 대한 검증이 시점 t5에서 시작된다. 따라서, 상태 'C' 엘리먼트에 대한 검증의 개시는 상태 'B' 엘리먼트들이 VH 미만의 전압으로부터 V'H 로, 또는 일반적으로, 상기 'INT' 분포 내에서 상기 상태 'B' 분포 밖의 임계 전압으로부터, 상기 상태 'B' 분포 내의 임계 전압으로 천이된 시점에 대한 판단, VH 이상의 센싱 및/또는 잡음 여유 레벨을 사용하여 이루어진 판단에 기초하여 적합하게 설정된다. 상기 'A, B, C' 레벨들에서의 검증이 예시 시점들 t4,t6,t7 에서 각각 완료되었다.
다른 가능한 방법에 있어서(도 13C의 상기 코어스/화인 프로그래밍이 사용되지 않을 경우), 상술한 방법과 마찬가지로, 상기 제 1 특별 검증 'B'는 VH 에서만 행해지고, 상기 검증 레벨을 패스한 비트들이 록아웃된다. 상기 검증 'B' 시작점 이후, VL에서 VH 로 패스하는 임의의 비트들이 모니터링되어 판단을 위한 1비트 검출을 판단한다.
상술한 방법들은 기타의 다양한 프로그래밍 시나리오들로 적용될 수 있다. 4개의 이진 데이터 레벨들을 구비한 다중 상태 저장 엘리먼트들이 논의되었을 동안, 보다 적은 또는 그 이상의 데이터 레벨들을 구비한 저장 엘리먼트들이 사용될 수 있다. 게다가, 프로그래밍이 데이터의 2페이지들을 사용하여 발생할 필요는 없지만, 보다 적은 또는 부가적인 페이지들, 또는 페이지 기준이 아닌 프로그래밍 기술을 사용할 수 있다.
도 16A 및 16B는 적응형 검증(adaptive verification)을 사용하여 비휘발성 저장 엘리먼트를 프로그래밍하는 프로세스를 보여주는 흐름도이다. 예를 들어, 상기 프로세스들은 서로 다른 워드라인들이 데이터의 서로 다른 페이지들에 기초하여 프로그래밍 될 때, 평행하게 일어날 수 있다. 또한 도 14를 참조하라. 도 16A의 단계 802에서, 예를 들어, 프로그래밍이 데이터의 하위 페이지에 따라 시작된다. 단계 804에서, 한 실시예에서, 프로그래밍(Vpgm) 펄스들이 상기 'INT'상태로 프로그래밍 될 상기 저장 엘리먼트들로 인가된다. 상기 프로그래밍 펄스들은 이후 상기 상태 'B, C'로 프로그래밍 될 엘리먼트들이다. 상기 하위 페이지 데이터는 오직 '0' 아니면 '1'에 해당하는데, '0'은 프로그래밍이 발생함을 의미한다. NINT 펄스들 이후, 단계 806에서, 상기 저장 엘리먼트들이 상기 'INT'상태에 도달했는지에 대해 판단하기 위한 검증이 시작된다. 단계 808에서, 상기 'INT'상태로 프로그래밍 될 엘리먼트들 모두가 상기 'INT'상태에 도달했을 경우, 프로그래밍이 종료된다.
도 16B의 단계 810에서, 프로그래밍이 데이터의 상기 상부 페이지에 따라 시작된다. 도 15를 또한 참조하라. 단계 812에서, Vpgm 펄스들이 상태 'A, B, C'로 프로그래밍 될 상기 엘리먼트들로 인가된다. 단계 814에서, 상태 'A'로 프로그래밍 될 상기 저장 엘리먼트들에 대한 검증이 시작된다. 단계 816에서, 제 1 저장 엘리먼트가 상태 'A'에 도달할 때, 상태 'B'로 프로그래밍 될 예정이고 현재 VH 미만의 임계 전압(VTH), 즉 상태 'B'와 관련된 하위 임계 전압을 갖고 있는 하나 또는 다수의 엘리먼트들을 확인하기 위한 확인과정이 수행될 수 있다. 단계 818에서, NB 프로그래밍 펄스들 이후, 상기 확인된 상태 'B' 엘리먼트들에 대한 검증이 시작된다. 단계 820에서, 상기 확인된 엘리먼트들 중 하나 또는 다수가 VH 미만의 전압으로부터 V'H 로 천이될 때, 상태 'B'로 프로그래밍 될 다른 저장 엘리먼트들에 대한 검증이 개시된다. 단계 822에서, Nc 프로그래밍 펄스들이 인가된 이후, 'C'상태로 프로그래밍 될 상기 엘리먼트들에 대한 검증이 시작된다. 단계 824에서, 'A, B, C'상태들로 프로그래밍 될 상기 저장 엘리먼트들이 상기 각 상태들에 도달했음이 검증되었을 때, 프로그래밍이 종료된다.
도 17은 데이터의 상, 하부 페이지들을 사용하여 비휘발성 저장 엘리먼트를프로그래밍 하기 위한 프로세스를 보여주는 흐름도이다. 도 16의 상기 프로세스는 도 17의 상기 프로세스와 통합될 수 있다. 상기 프로세스는 단계 900에 나타난 바와 같이, 데이터 프로그래밍에 대한 요청 수신에 응답하여 개시될 수 있다. 단계 902에서, 프로그래밍 할 메모리의 적절 부분들이 선택된다. 단계 904에서, 사이클 카운트가 증가될 수 있다. 상기 사이클 카운트는 프로그래밍 사이클들의 갯수에 대한 카운트로, 상기 플래시 메모리 어레이, 상기 상태 머신, 상기 제어기, 또는 기타 위치에 저장되어 상기 저장 엘리먼트들의 사용을 추적(track)할 수 있다. 일 실시예에 있어서, 상기 사이클 카운트가 상기 상태 머신과 관련된 레지스터 내부에 저장된다. 단계 906에서, 메모리의 상기 선택부는 프리프로그래밍될 수도 있는데, 이는 상기 플래시 메모리의 마모(wearing)를 대비한 것이다. 상기 선택한 섹터 또는 페이지 내의 모든 저장 엘리먼트들은 동일 임계 전압 범위로 프로그래밍된다. 단계 908에서, 프로그래밍 될 상기 모든 저장 엘리먼트들은 이후 소거된다. 예를 들어, 이는 오래된 저장 엘리먼트들을 'E'상태로 이동시키는 것을 포함할 수 있다. 단계 910에서, 소프트 프로그래밍은 상기 이슈를 어드레싱하여, 상기 소거 프로세스동안, 상기 엘리먼트들 중 일부가 상기 분포 'E' 미만의 값으로 낮아진 자신의 임계 전압들을 지니게 된다. 상기 소프트 프로그래밍 프로세스는 상기 저장 엘리먼트들의 임계 전압들이 증가하여 임계 전압 분포 'E' 내부에 있도록, 프로그램 전압 펄스들을 상기 저장 엘리먼트들로 인가한다. 다시 말해서, 상기 과도 소거된(over erased) 메모리 비트들이 소프트웨어적으로 프로그래밍되어 상기 소거 집단들(populations)을 통제한다(tighten).
단계 912에서, 프로그래밍이 이후의 데이터에 따라 시작된다. 예를 들어, 상기 데이터가 하위 또는 상위 페이지로부터 존재할 수 있다. 단계 914에서, 상기 시스템은 예를 들어, 상기 전하 펌프를 적절하게 프로그래밍함으로써 초기 프로그램 펄스의 크기를 설정한다. 단계 916에서, 상기 프로그램 카운트 PC는 초기에 '0'으로 설정된다. 단계 918에서, 프로그램 펄스가 상기 적절한 워드라인(들)로 인가된다. 단계 920에서, 상기 워드라인(들) 상의 상기 저장 엘리먼트들이 자신들이 상기 목적(target) 임계 전압 레벨에 도달했는지의 여부에 대해서 알기 위해 검증된다. 만일 모든 저장 엘리먼트들이 상기 목적 임계 전압 레벨에 도달했고, 상기 검증이 성공적이라면(단계 922), 패스상태가 설정되고(단계 932) 다음 데이터에 대한 프로그래밍이 단계 912에서 시작된다. 추가적인 프로그래밍과 검증이 상술한 바와 같이 발생한다. 일단 모든 저장 엘리먼트들이 상기 데이터에 기초하여 프로그래밍 되었다고 검증되었을 경우, 상기 프로그래밍 프로세스는 성공적으로 완료되었다. 상기 프로그래밍은 상기 모든 데이터가 프로그래밍 되었을 때까지, 순차적인 페이지 숫자들인 페이지 0, 1, 2, 3과 함께 행해질 수 있다.
만일 단계 922에서 상기 저장 엘리먼트들 모두가 검증되지는 않았다면, 이후 단계 924에서 상기 프로그램 카운트 PC가 '20'과 같은 리미트 PC_max, 또는 예를 들어, 페이지 독립적일 수 있는 적응형 리미트(adaptive limit) 미만인지의 여부가 판단된다. 만일 상기 프로그램 카운트가 PC_max 미만이 아니라면, 상기 프로그래밍 프로세스는 실패했다(단계 934). 만일 상기 프로그램 카운트가 PC_max 미만이면, 이후, 단계 926에서, 프로그램 전압 신호 (Vpgm)의 크기가 다음의 펄스에 대한 폭(예를 들어, 0.3V)만큼 증가하고, 상기 프로그램 카운트 PC는 증가한다. 자신들의 목적 임계 전압에 도달한 저장 엘리먼트들이 현재 프로그래밍 사이클의 잔차를 위한 프로그래밍이 일어나지 않도록 록아웃 된다는 것을 주지하라. 상기 프로세스는 패스 또는 실패 상태가 상기 저장 엘리먼트들 각각에 대해 공지(declare)되었을 때까지 반복된다.
본 발명의 전술한 세부설명은 예시 및 도시를 위한 목적으로 제시되었다. 그것은 완전하도록 또는, 본 발명을 제시된 정확한 형식으로 제한하도록 의도된 것은 아니다. 많은 수정 및 변형이 상기 취지(teaching)의 관점에서 가능하다. 상술한 실시예들은 본 발명의 원칙 및 실용적인 애플리케이션을 가장 잘 설명하기 위해 선택되었고, 이로 인해 당업자들이 다양한 실시예들 내에서 본 발명을 최대한 활용할 수 있도록 하고, 다양한 변경들이 고려된 특정용도에 적합하도록 한다. 본 발명의 범위는 여기에 첨부된 클레임들에 의해 한정된다고 의도된다.

Claims (25)

  1. 비휘발성 저장 엘리먼트 프로그래밍 방법으로,
    비휘발성 저장 엘리먼트들의 적어도 1 및 2 서브세트들을 프로그래밍하는 단계로서, 상기 비휘발성 저장 엘리먼트들의 세트 내에서, 제 1 서브세트의 상기 비휘발성 저장 엘리먼트들 중 적어도 하나의 임계 전압이 제 1 임계 전압 분포와 오버랩하는 제 2 임계 전압 분포로 천이되도록 그리고 제 2 서브세트의 상기 비휘발성 저장 엘리먼트들 중 적어도 하나의 임계 전압이 상기 제 1 및 2 전압분포들 밖에 있는 제 3 임계 전압 분포로 천이되도록, 상기 1 임계 전압 분포내에 하강하는 각 임계 전압들을 지닌 상기 비휘발성 저장 엘리먼트들의 적어도 1 및 2 서브세트들을 프로그래밍하는 단계;
    상기 제 1 서브세트의 상기 비휘발성 저장 엘리먼트들의 적어도 하나의 상기 임계 전압을 추적(track)하여, 상기 임계 전압이 상기 제 2 임계 전압 분포로 천이된 시점을 판단하는 단계; 및
    상기 제 2 서브세트의 상기 비휘발성 저장 엘리먼트들의 적어도 하나의 상기 임계 전압이 상기 추적에 응답하여, 상기 제 3 임계 전압 분포로 천이된 시점을 판단하는 검증 프로세스를 시작할 시점을 결정하는 단계를 포함하는, 비휘발성 저장 엘리먼트 프로그래밍 방법.
  2. 제 1항에 있어서, 상기 검증 프로세스는 상기 제 1 서브세트의 비휘발성 저 장 엘리먼트들 중 적어도 하나의 상기 임계 전압이 상기 제 2 임계 전압 분포로 천이된 후, 소정 개수의 전압펄스들이 상기 제 2 서브세트의 비휘발성 저장 엘리먼트들로 인가된 후에, 개시되는 것을 특징으로 하는 비휘발성 저장 엘리먼트 프로그래밍 방법.
  3. 제 1항에 있어서, 상기 추적단계는 상기 제 1 서브세트의 비휘발성 저장 엘리먼트들 중 적어도 하나의 상기 임계 전압을 상기 제 2 임계 전압 분포 미만인 하위 임계 전압을 패스하도록 추적하고, 이후 상기 제 2 임계 전압 분포 내에 있는 상위의 임계 전압을 패스하도록 추적하는 단계를 포함하는 것을 특징으로 하는 비휘발성 저장 엘리먼트 프로그래밍 방법.
  4. 제 3항에 있어서,상기 임계 전압이 상기 하위 임계 전압 미만일 경우, 상기 제 1 서브세트의 비휘발성 저장 엘리먼트들 중 적어도 하나를 빠른 프로그램 모드(fast program mode)에서 프로그램밍하고, 상기 임계 전압이 상기 상위 임계 전압과 상기 하위 임계 전압 사이에 있을 경우, 느린 프로그램 모드(slow program mode)에서 프로그래밍하는 단계를 더 포함하는 것을 특징으로 하는 비휘발성 저장엘리먼트 프로그래밍 방법.
  5. 제 3항에 있어서, 상기 상위 임계 전압은 마진(margin)에 의해 상기 제 2 임계 전압의 하위 경계(lower boundary)를 초과하는 것을 특징으로 하는 비휘발성 저 장 엘리먼트 프로그래밍 방법.
  6. 제 5항에 있어서, 상기 마진은 센싱 마진과 잡음 마진 중 적어도 하나를 포함하는 것을 특징으로 하는 비휘발성 저장 엘리먼트 프로그래밍 방법.
  7. 제 1항에 있어서, 상기 추적 단계는 상기 제 1 서브세트의 상기 비휘발성 저장 엘리먼트들 중 어느 저장 엘리먼트가 상기 제 2 임계 전압 분포 미만의 임계 전압을 갖는지 판단함으로써, 상기 제 1 서브세트의 비휘발성 저장 엘리먼트들 중 적어도 하나를 확인(identify)하는 단계를 포함하는 것을 특징으로 하는 비휘발성 저장 엘리먼트 프로그래밍 방법.
  8. 제 1항에 있어서, 상기 세트의 상기 비휘발성 저장 엘리먼트들은 복수개의 NAND 스트링 안에 배열되는 것을 특징으로 하는 비휘발성 저장 엘리먼트 프로그래밍 방법.
  9. 제 1항에 있어서, 상기 제 2 및 3의 임계 전압 분포들은 서로 다른 이진 데이터 상태들을 나타내는 것을 특징으로 하는 비휘발성 저장 엘리먼트 프로그래밍 방법.
  10. 제 1항에 있어서, 상기 검증 프로세스는 상기 제 1 서트세트의 상기 비휘발 성 저장 엘리먼트들 중 임의의 엘리먼트의 상기 임계 전압이 상기 제 2 임계 전압 분포로 천이되었음에 대한 판단에 응답하여 개시되는 것을 특징으로 하는 비휘발성 저장 엘리먼트 프로그래밍 방법.
  11. 비휘발성 저장 시스템에 있어서:
    비휘발성 저장 엘리먼트들 세트; 및
    상기 비휘발성 저장 엘리먼트들 세트와 통신하는 하나 또는 다수의 관리 회로로서; 상기 하나 또는 다수의 관리 회로는 데이터 프로그래밍에 관한 요청을 수신하고, 상기 요청에 응답하여,
    (a) 적어도 제 1 임계 전압 분포 및 그 보다 높은 중간 임계 전압 분포 내에 하강하는 각 임계 전압들을 지닌 제 1 데이터에 따라, 상기 비휘발성 저장 엘리먼트들 세트 내에 각 비휘발성 저장 엘리먼트들을 프로그래밍하고,
    (b) 상기 각 비휘발성 저장 엘리먼트들을 제 2 데이터에 따라 프로그래밍하여, 상기 제 1 임계 전압 분포 내에 하강한 제 1 서브세트의 상기 비휘발성 저장 엘리먼트들을 상기 제 1 임계 전압 분포 내에 머무르게 하고, 상기 제 1 임계 전압 분포 내에 하강한 제 2 서브세트의 상기 비휘발성 저장 엘리먼트들을 보다 높은 제 2 임계 전압 분포 내에 하강하도록 프로그래밍하고, 상기 중간 임계 전압 분포 내이지만 상기 중간 임계 전압 분포와 오버랩하는 제 3 임계 전압 분포 밖에 하강한제 3 서브세트의 상기 비휘발성 저장 엘리먼트들을 상기 제 3 임계 전압 분포 내부로 하강하도록 프로그래밍하고, 상기 중간 임계 전압 분포 내에 하강한 제 4 서브 세트의 비휘발성 저장 엘리먼트들이 보다 높은 제 4 임계 전압 분포 내부로 하강하도록 프로그래밍하고,
    (c) 상기 제 3 서브세트의 비휘발성 저장 엘리먼트들 내에서 상기 비휘발성 저장 엘리먼트들 중 적어도 하나의 임계 전압을 추적하여, 상기 임계 전압이 상기 제 3 임계 전압 분포로 천이된 시점을 판단하고,
    (d) 상기 추적 과정에 응답하여, 상기 제 4 서브세트의 비휘발성 엘리먼트들의 적어도 하나의 비휘발성 저장 엘리먼트의 임계 전압이 상기 제 4 임계 전압 분포로 천이된 시점에 대한 검증을 행하는 검증 프로세스를 개시할 시점에 대해 결정하는, 상기 하나 또는 다수의 관리 회로를 포함하는, 비휘발성 저장 시스템.
  12. 제 11항에 있어서, 상기 제 2 서브세트의 비휘발성 저장 엘리먼트들 내의 적어도 하나의 상기 비휘발성 저장 엘리먼트의 임계 전압은 상기 제 2 임계 전압 분포로 천이되었고, 상기 추적 단계가 그에 응답하여 개시되는 것을 특징으로 하는 비휘발성 저장 시스템.
  13. 제 11항에 있어서, 상기 하나 또는 다수의 관리 회로는 상기 제 3 서브세트의 비휘발성 저장 엘리먼트들 내의 적어도 하나의 상기 비휘발성 저장 엘리먼트의 상기 임계 전압을 상기 제 3 임계 전압 분포 미만인 하위 임계 전압을 패스하도록 추적하고, 이후 상기 제 3 임계 전압 분포 내에 있는 상위의 임계 전압을 패스하도록 추적하는 것을 특징으로 하는 비휘발성 저장 시스템.
  14. 제 13항에 있어서, 상기 하나 또는 다수의 관리 회로는 상기 임계 전압이 상기 하위 임계 전압 미만일 경우, 상기 제 3 서브세트의 비휘발성 저장 엘리먼트들 내의 적어도 하나의 비휘발성 저장 엘리먼트를 빠른 프로그램 모드(fast program mode)에서 프로그램밍하고, 상기 임계 전압이 상기 상위 임계 전압과 상기 하위 임계 전압 사이에 있을 경우, 느린 프로그램 모드(slow program mode)에서 프로그래밍하는 것을 특징으로 하는 비휘발성 저장 시스템.
  15. 제 11항에 있어서, 상기 하나 또는 다수의 관리 회로는 자신의 상기 임계 전압을 감지하는 상기 제 3 서브세트의 비휘발성 저장 엘리먼트들 내의 적어도 하나의 비휘발성 저장 엘리먼트와 관련된 적어도 하나의 센스 증폭기를 제어하는 반면, 상기 제 4 서브세트의 비휘발성 저장 엘리먼트들 내의 적어도 하나의 비휘발성 저장 엘리먼트와 관련된 적어도 하나의 센스 증폭기가 자신의 상기 임계 전압을 감지하지 못하도록 하는 것을 특징으로 하는 비휘발성 저장 시스템.
  16. 제 13항에 있어서, 상기 상위 임계 전압은 마진에 의해 상기 제 3 임계 전압의 하위 경계(lower boundary)를 초과하는 것을 특징으로 하는 비휘발성 저장 시스템.
  17. 제 16항에 있어서, 상기 마진은 센싱 마진과 잡음 마진 중 적어도 하나를 포 함하는 것을 특징으로 하는 비휘발성 저장 시스템.
  18. 제 11항에 있어서, 상기 제 1 및 2 데이터는 각각 하위 및 상위 논리 페이지들을 포함하는 것을 특징으로 하는 비휘발성 저장 시스템.
  19. 제 11항에 있어서, 상기 비휘발성 저장 엘리먼트들 세트는 복수개의 NAND 스트링 안에 배열되는 것을 특징으로 하는 비휘발성 저장 시스템.
  20. 제 11항에 있어서, 상기 하나 또는 다수의 관리 회로는 상기 추적 결과 상기 제 3 서브세트의 비휘발성 저장 엘리먼트들 내의 적어도 하나의 비휘발성 저장 엘리먼트의 상기 임계 전압이 상기 제 3 임계 전압으로 천이되었다고 판단될 때, 상기 검증 프로세스를 개시하는 것을 특징으로 하는 비휘발성 저장 시스템.
  21. 제 11항에 있어서, 상기 하나 또는 다수의 관리 회로는 상기 추적 결과 상기 제 3 서브세트의 비휘발성 저장 엘리먼트들 내의 적어도 하나의 비휘발성 저장 엘리먼트의 상기 임계 전압이 상기 제 3 임계 전압으로 천이되었다고 판단된 이후, 소정 개수의 프로그래밍 펄스들이 상기 제 4 서브세트의 비휘발성 저장 엘리먼트들 중 적어도 하나로 인가된 후에, 상기 검증 프로세스를 개시하는 것을 특징으로 하는 비휘발성 저장 시스템.
  22. 제 11항에 있어서, 상기 하나 또는 다수의 관리 회로는 상기 제 3 서브세트의 비휘발성 엘리먼트들 각각의 임계 전압들이 상기 제 3 임계 전압 분포로 천이되었을 때, 상기 제 3 서브세트의 비휘발성 엘리먼트들을 추가적으로 프로그래밍 되는 것으로부터 록아웃 시키는 반면, 상기 제 4 서브세트의 비휘발성 엘리먼트들 각각의 임계 전압들이 상기 제 4 임계 전압 분포로 천이될 때까지 상기 제 4 서브세트의 비휘발성 엘리먼트들이 계속 프로그래밍 되도록 허락하는 것을 특징으로 하는 비휘발성 저장 시스템.
  23. 제 11항에 있어서, 상기 제 2 임계 전압 분포는 상기 중간 임계 전압 분포와 오버랩되는 것을 특징으로 하는 비휘발성 저장 시스템.
  24. 제 11항에 있어서, 상기 제 1, 2, 3, 4 임계 전압 분포들은 서로 다른 이진 데이터 상태들을 나타내는 것을 특징으로 하는 비휘발성 저장 시스템.
  25. 제 11항에 있어서, 상기 추적 단계는 상기 제 3 서브세트의 상기 비휘발성 저장 엘리먼트들 중 어느 저장 엘리먼트가 상기 제 3 임계 전압 분포 미만의 임계 전압을 갖는지 판단함으로써, 상기 제 3 서브세트의 비휘발성 저장 엘리먼트들 중 적어도 하나를 확인(identify)하는 단계를 포함하는 것을 특징으로 하는 비휘발성 저장 시스템.
KR1020087012605A 2005-10-27 2006-10-26 스마트 검증을 이용한 다중 상태 비휘발성 메모리프로그래밍 방법 KR101314306B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/260,658 US7301817B2 (en) 2005-10-27 2005-10-27 Method for programming of multi-state non-volatile memory using smart verify
US11/260,658 2005-10-27
US11/259,799 US7366022B2 (en) 2005-10-27 2005-10-27 Apparatus for programming of multi-state non-volatile memory using smart verify
US11/259,799 2005-10-27
PCT/US2006/042179 WO2007050976A1 (en) 2005-10-27 2006-10-26 Method for programming of multi-state non-volatile memory using smart verify

Publications (2)

Publication Number Publication Date
KR20080089335A true KR20080089335A (ko) 2008-10-06
KR101314306B1 KR101314306B1 (ko) 2013-10-02

Family

ID=37806696

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087012605A KR101314306B1 (ko) 2005-10-27 2006-10-26 스마트 검증을 이용한 다중 상태 비휘발성 메모리프로그래밍 방법

Country Status (6)

Country Link
EP (1) EP1946323B1 (ko)
JP (1) JP4855474B2 (ko)
KR (1) KR101314306B1 (ko)
AT (1) ATE518229T1 (ko)
TW (1) TWI311762B (ko)
WO (1) WO2007050976A1 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7881115B2 (en) 2009-01-21 2011-02-01 Hynix Semiconductor Inc. Method of programming nonvolatile memory device
KR101012982B1 (ko) * 2009-06-30 2011-02-10 주식회사 하이닉스반도체 불휘발성 메모리 소자의 동작 방법
KR20120117793A (ko) * 2009-11-25 2012-10-24 샌디스크 테크놀로지스, 인코포레이티드 감소된 개수의 검증 동작들을 이용한 비휘발성 메모리의 프로그래밍
KR101531456B1 (ko) * 2010-12-15 2015-06-24 마이크론 테크놀로지, 인크. 세그먼트된 프로그래밍 방법 및 메모리 디바이스

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7813188B2 (en) * 2007-09-10 2010-10-12 Hynix Semiconductor Inc. Non-volatile memory device and a method of programming a multi level cell in the same
US7768836B2 (en) * 2008-10-10 2010-08-03 Sandisk Corporation Nonvolatile memory and method with reduced program verify by ignoring fastest and/or slowest programming bits
JP2011150749A (ja) * 2010-01-20 2011-08-04 Toshiba Corp 不揮発性半導体記憶装置
KR101676816B1 (ko) 2010-02-11 2016-11-18 삼성전자주식회사 플래시 메모리 장치 및 그것의 프로그램 방법
US9564226B1 (en) 2015-10-30 2017-02-07 Sandisk Technologies Llc Smart verify for programming non-volatile memory
TWI604449B (zh) * 2016-08-31 2017-11-01 旺宏電子股份有限公司 記憶體裝置與其程式化方法
US11532354B2 (en) 2020-03-22 2022-12-20 Silicon Storage Technology, Inc. Precision tuning of a page or word of non-volatile memory cells and associated high voltage circuits for an analog neural memory array in an artificial neural network
KR20220120033A (ko) 2021-02-22 2022-08-30 에스케이하이닉스 주식회사 메모리 장치 및 그 동작 방법

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3730272B2 (ja) 1994-09-17 2005-12-21 株式会社東芝 不揮発性半導体記憶装置
KR100253868B1 (ko) * 1995-11-13 2000-05-01 니시무로 타이죠 불휘발성 반도체기억장치
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
US6538923B1 (en) * 2001-02-26 2003-03-25 Advanced Micro Devices, Inc. Staircase program verify for multi-level cell flash memory designs
US6522580B2 (en) * 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
JP3935139B2 (ja) * 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
US7073103B2 (en) * 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US7002843B2 (en) * 2004-01-27 2006-02-21 Sandisk Corporation Variable current sinking for coarse/fine programming of non-volatile memory

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7881115B2 (en) 2009-01-21 2011-02-01 Hynix Semiconductor Inc. Method of programming nonvolatile memory device
KR101012982B1 (ko) * 2009-06-30 2011-02-10 주식회사 하이닉스반도체 불휘발성 메모리 소자의 동작 방법
US8284611B2 (en) 2009-06-30 2012-10-09 Hynix Semiconductor Inc. Verifying and programming method of nonvolatile memory device
KR20120117793A (ko) * 2009-11-25 2012-10-24 샌디스크 테크놀로지스, 인코포레이티드 감소된 개수의 검증 동작들을 이용한 비휘발성 메모리의 프로그래밍
KR101531456B1 (ko) * 2010-12-15 2015-06-24 마이크론 테크놀로지, 인크. 세그먼트된 프로그래밍 방법 및 메모리 디바이스

Also Published As

Publication number Publication date
TW200733114A (en) 2007-09-01
KR101314306B1 (ko) 2013-10-02
EP1946323A1 (en) 2008-07-23
WO2007050976A1 (en) 2007-05-03
JP4855474B2 (ja) 2012-01-18
TWI311762B (en) 2009-07-01
EP1946323B1 (en) 2011-07-27
ATE518229T1 (de) 2011-08-15
JP2009514138A (ja) 2009-04-02

Similar Documents

Publication Publication Date Title
US7492634B2 (en) Method for programming of multi-state non-volatile memory using smart verify
US7366022B2 (en) Apparatus for programming of multi-state non-volatile memory using smart verify
KR101314306B1 (ko) 스마트 검증을 이용한 다중 상태 비휘발성 메모리프로그래밍 방법
EP1886319B1 (en) Starting program voltage shift with cycling of non-volatile memory
KR101519081B1 (ko) 비휘발성 저장소에서 채널 부스팅을 증가시키기 위한 강화된 비트라인 프리챠지 방식
KR101048834B1 (ko) 프로그래밍 중의 커플링 보상
KR101736414B1 (ko) 다른 메모리 셀들로부터의 영향을 감소시키는 것을 포함하는 비휘발성 저장 소자의 프로그래밍
EP1964127B1 (en) Method for programming non-volatile memory with reduced program disturb using modified pass voltages
KR101073116B1 (ko) 커플링을 사용하는 이웃 감지에 기반한 커플링 보상
US20070153573A1 (en) System for reducing read disturb for non-volatile storage
TWI389124B (zh) 於非揮發性記憶體中使用不同參考位準以改良感測之粗略/精細程式化確認方法及系統
EP2030205B1 (en) Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
JP2012503837A (ja) 不揮発性メモリアレイの最終ワードラインのデータ保持力改善
EP2022060B1 (en) Verify operation for non-volatile storage using different voltages
KR101016432B1 (ko) 타이밍 정보를 이용한 리버스 커플링 효과
EP1971984B1 (en) Continued verification in non-volatile memory write operations
KR100984563B1 (ko) 프로그램 혼란이 감소된 nand 타입 비휘발성 메모리의최종-최초 모드 및 프로그래밍 방법
EP1946324B1 (en) Method for controlled programming of non-volatile memory exhibiting bit line coupling
KR100948200B1 (ko) 비휘발성 저장 장치에서 판독 장애 저감

Legal Events

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180903

Year of fee payment: 6