KR20130109948A - 비휘발성 저장소자들을 감지하는 동안의 채널 커플링 효과의 완화 - Google Patents

비휘발성 저장소자들을 감지하는 동안의 채널 커플링 효과의 완화

Info

Publication number
KR20130109948A
KR20130109948A KR1020127031543A KR20127031543A KR20130109948A KR 20130109948 A KR20130109948 A KR 20130109948A KR 1020127031543 A KR1020127031543 A KR 1020127031543A KR 20127031543 A KR20127031543 A KR 20127031543A KR 20130109948 A KR20130109948 A KR 20130109948A
Authority
KR
South Korea
Prior art keywords
state
bit lines
bias conditions
read
program state
Prior art date
Application number
KR1020127031543A
Other languages
English (en)
Other versions
KR101788351B1 (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 KR20130109948A publication Critical patent/KR20130109948A/ko
Application granted granted Critical
Publication of KR101788351B1 publication Critical patent/KR101788351B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data

Landscapes

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

Abstract

판독 동안에 발생하는 채널 커플링의 양(amount)과 검증 동안에 발생하는 채널 커플링의 양을 매칭시킴으로써, 비휘발성 저장소자의 검증 및 판독 동안에 채널 커플링 효과들이 완화된다. 판독 및 검증 둘다 동안에 모든 비트라인들은 함께 판독될 수도 있다. 일실시예에서, 복수의 프로그램 상태들 각각을 검증하는 때에 비트라인들 상에 제 1 바이어스 조건들(bias conditions)이 확립된다. 각각의 프로그램 상태를 검증하는 때에 제 1 바이어스 조건들의 개별 세트가 확립될 수도 있다. 비트라인을 바이어싱하는 것은, 비트라인 상의 비휘발성 저장소자들이 프로그래밍되고 있는 상태(state)에 기초할 수 있다. 판독중인 각각의 프로그램 상태에 대해서 제 2 바이어스 조건들의 개별 세트가 확립된다. 소정의 프로그램 상태에 대한 제 2 바이어스 조건들은 상기 소정의 프로그램 상태에 대한 제 1 바이어스 조건들과 실질적으로 매칭된다.

Description

비휘발성 저장소자들을 감지하는 동안의 채널 커플링 효과의 완화{MITIGATING CHANNEL COUPLING EFFECTS DURING SENSING OF NON-VOLATILE STORAGE ELEMENTS}
본 발명은 비휘발성 저장소자에 관한 발명이다.
반도체 메모리는 다양한 전자 디바이스에서 점점 더 많이 이용되고 있다. 예를 들면, 비휘발성 반도체 메모리는 개인용 네비게이션 디바이스, 휴대폰, 디지털 카메라, 개인 휴대용 정보 단말기(PDA), 모바일 컴퓨팅 디바이스, 논-모바일(non-mobile) 컴퓨팅 디바이스, 그리고 다른 디바이스들에서 이용된다. 이중에서도, 전기적으로 소거 및 프로그래밍가능한 판독 전용 메모리(Electrical Erasable Programmable Read Only Memory : EEPROM)와 플래시 메모리가 가장 인기있는 비휘발성 반도체 메모리들이다.
EEPROM과 플래시 메모리 둘다에서, 메모리 셀은 플로팅 게이트를 구비한 트랜지스터를 포함하며, 플로팅 게이트는 반도체 기판의 채널 영역으로부터 절연되어 있으며 그리고 채널 영역 위에 위치한다. 플로팅 게이트와 채널 영역은 소스 영역 및 드레인 영역 사이에 위치한다. 제어 게이트는 플로팅 게이트 위에 제공되며, 상기 플로팅 게이트로부터 절연된다. 트랜지스터의 임계전압은 플로팅 게이트 상에서 유지되고 있는 전하의 양에 의해 제어된다. 즉, 소스와 드레인 사이에서 전류의 도통을 허용하도록 트랜지스터가 턴온되기 전에 제어 게이트에 인가되어야만 하는 전압의 최소량은, 플로팅 게이트 상의 전하의 레벨에 의해 제어된다. 메모리 셀은 도통 전류가 감지되는 것을 허용하도록 비트라인에 연결될 수 있다.
EEPROM 또는 낸드(NAND) 플래시 메모리 디바이스와 같은 플래시 메모리 디바이스에서 메모리 셀을 프로그래밍하는 경우, 소정의 프로그램 전압이 제어 게이트에 인가되며 비트라인은 접지되는 것이 전형적이다. 전자들이 채널로부터 플로팅 게이트로 주입된다. 플로팅 게이트에 전자들이 축적되면, 플로팅 게이트는 음으로(negatively) 충전되며 그리고 메모리 셀의 임계전압은 상승하게 되는바, 따라서 이러한 메모리 셀은 프로그래밍된 상태에 있게된다. 프로그래밍에 관한 좀더 상세한 내용은, "Source Side Self Boosting Technique For Non-Volatile Memory" 라는 명칭의 미국등록특허 US 6,859,397, "Detecting Over Programmed Memory" 라는 명칭의 미국등록특허 US 6,917,542, 그리고 "Programming Non-Volatile Memory" 라는 명칭의 미국등록특허 US 6,888,758 에서 찾아볼 수 있으며, 이들 3개의 미국등록특허들은 본 발명에 대한 참조로서 그 전체 내용이 본 명세서에 통합된다.
많은 경우에 있어서, 프로그램 전압은 각각의 펄스에서 펄스의 크기가 증가하는 일련의 펄스들(프로그래밍 펄스라고 지칭됨)로서 제어 게이트에 인가된다. 프로그래밍 펄스들 사이에서는 하나 이상의 검증 동작들의 세트가 수행되는데, 이는 프로그래밍되는 메모리 셀(들)이 그 타켓 레벨에 도달했는지를 판별하기 위한 것이다. 만일, 메모리 셀이 타겟 레벨에 도달했다면, 그 메모리 셀에 대한 프로그래밍은 중지된다. 만일 메모리 셀이 타겟 레벨에 도달하지 못했다면, 그 메모리 셀에 대한 프로그래밍은 계속될 것이다.
몇몇 EEPROM 및 플래시 메모리 디바이스들의 메모리 셀들은 2개 범위의 전하들을 저장할 수 있는 플로팅 게이트를 갖는바 따라서, 메모리 셀은 2개의 상태들(소거 상태와 프로그래밍된 상태) 사이에서 프로그래밍/소거될 수 있다.
복수-상태 메모리 디바이스는 복수개의 서로 구별되는 유효 임계전압(Vt) 분포들(혹은 데이터 상태들)을 식별함에 의해서, 메모리 셀 당 복수 비트들의 데이터를 저장한다. 각각의 특정한 Vt 분포는 메모리 디바이스에 인코딩된 데이터 비트들의 세트에 대한 기결정된 값에 대응한다. 예를 들면, 2 비트의 데이터를 저장하는 메모리 셀은 4개의 유효 Vt 분포들을 이용한다. 3 비트의 데이터를 저장하는 메모리 셀은 8개의 유효 Vt 분포들을 이용한다.
메모리 셀의 Vt를 판독하는 것에 영향을 미치는 인자들 중 하나는, 그 이웃(neighbor) 메모리 셀(혹은 셀들)의 채널 전위이다. 예를 들어, 이웃 메모리 셀의 드레인측 채널 전위가 0.4 볼트라면, 메모리 셀의 겉보기(apparent) Vt는, 이웃 메모리 셀의 드레인측 채널 전위가 0 볼트인 경우와 다를 수 있다.
일단, 비휘발성 저장소자가 프로그래밍되면, 그 프로그래밍된 상태를 높은 신뢰성을 가지고 판독할 수 있느냐가 매우 중요하다. 하지만, 메모리 셀이 검증되는 때와 나중에 판독될 때 사이의 이웃 메모리 셀의 채널 전위의 차이는 메모리 셀의 겉보기 Vt에 영향을 줄 수 있다. 결과적으로, 메모리 셀은 틀리게(incorrectly) 판독될 수도 있다.
가령, 채널 전위의 차이들 등과 같은, 프로그램 검증과 판독 조건들 사이의 차이들을 감소시키기 위한 기법들 중 하나는, 프로그램 검증 및 판독 동안에 다른 모든 비트라인만을 감지하는 것이다. 이러한 것은, 프로그램 검증 및 판독 둘다 동안에 이웃의 채널 전위를 0 V로 유지시킨다. 하지만, 한번에(at a time) 다른 모든 비트라인을 판독만하기 때문에, 검증 및 판독하기 위한 시간이 2배가 될 수 있다. 그 각각이 자신의 검증 동작들을 구비한 많은 프로그램 싸이클들이 필요하기 때문에, 각각의 프로그램 싸이클에 대한 검증 동작들의 개수를 2배로 하는 것은, 디바이스 성능을 저하시킬 수 있다.
비휘발성 저장 디바이스의 성능을 개선하기 위한 기법들이 개시된다. 판독 동안에 하나 이상의 이웃 메모리 셀들로부터 특정 메모리 셀이 경험하는 채널 커플링의 양은, 검증 동안에 이웃(들)로부터 발생되는 채널 커플링의 양과 매칭될 수 있다. 따라서, 프로그램 검증과 판독 간의 채널 커플링의 차이들이 감소되거나 혹은 제거될 수 있다.
감지되는 타겟 메모리 셀의 임계전압은, 이웃 메모리 셀들의 비트라인 바이어스에 의존할 수 있음을 유의해야 한다. 예를 들어, 이웃들의 비트라인이 접지된다면, 타겟 메모리 셀의 임계전압은 이웃들의 비트라인이 Vbl(Vbl은 가령 0.4V)로 바이어스되는 경우보다 높을 수 있다. 다른 한편으로, 이웃들의 비트라인이 Vbl 로 바이어스된다면, 타겟 메모리 셀의 임계전압은 이웃들의 비트라인이 접지되는 경우보다 낮을 수 있다. 본 발명의 실시예들은, 타겟 메모리 셀의 판독 동안의 이웃 비트라인들의 비트라인 바이어스 조건들을, 타겟 메모리 셀의 검증 동안에 이용되었던 이웃 비트라인 바이어스 조건들에 매칭시키는 방법들 및 디바이스들을 포함한다. 이러한 것은 채널 커플링 효과를 완화시키는데 도움을 줄 수 있다.
채널 커플링의 이러한 차이들을 감소시키는 것은 메모리 셀의 임계전압을 판별함에 있어서 정확도를 향상시킬 수 있다. 또한, 검증 및 판독 둘다 동안에서 모든 비트라인들이 함께 판독될 수 있다. 따라서, 검증 및 판독이 효율적이다. 프로그래밍 동안에는, 각각의 프로그램 펄스에 대해서 하나 이상의 검증 동작들이 수행될 수 있음을 유의해야 한다. 결과적으로, 각각의 프로그래밍 펄스에 후속하는 검증 동작들의 개수를 감소시키는 것(검증 동안에 모든 비트라인들을 함께 감지함에 의해서)은, 매우 유익하다. 또한, 적어도 몇몇 검증 및 판독 동작들 동안, 적어도 몇몇 비트라인들은 접지될 것인바, 이는 전력을 절약할 수 있다. 또한, 소모되는 전류의 최대량(peak amount)도 감소될 수 있다.
몇몇 실시예에서, 비휘발성 저장소자는 플래시 메모리 어레이 내에 위치한다. 플래시 메모리 시스템의 일례는, 낸드(NAND) 구조를 이용하며, 낸드 구조는 2개의 선택 게이트들 사이에 다수의 트랜지스터들을 직렬로 샌드위치시켜 배열하는 것을 포함한다. 직렬인 트랜지스터들과 그리고 선택 게이트들은 낸드 스트링(NAND string)이라고 지칭된다. 하나의 예시적인 구조로서 낸드 구조가 설명될 것이다. 하지만, 본 명세서에 서술된 기술들은 낸드 구조만으로 한정되지 않음을 유의해야 한다.
도1은 낸드 스트링의 평면도이다.
도2는 낸드 스트링의 등가 회로도이다.
도3은 비휘발성 메모리 시스템의 블록도이다.
도4는 메모리 어레이의 일실시예를 도시한 블록도이다.
도5는 감지 블록의 일실시예를 도시한 블록도이다.
도6a는 Vt 분포들의 예시적인 세트를 도시한다.
도6b는 Vt 분포들의 예시적인 세트를 도시한다.
도6c는 각각의 저장소자가 2 비트의 데이터를 저장하는 4-상태 메모리 디바이스를 위한 임계전압 분포들의 예시적인 세트를 도시한다.
도6d는 프로그래밍 동작 동안에 선택 워드라인에 인가되는 일련의 프로그램 및 검증 펄스들을 도시한다.
도7a는 하나 이상의 검증 단계들을 포함하는 프로그래밍 프로세스의 일실시예를 예시한 순서도이다.
도7b는 비정밀/정밀(coarse/fine) 프로그래밍이 없이 검증을 수행하는 프로세스의 일실시예를 예시한 순서도이다.
도7c는 비정밀/정밀(coarse/fine) 프로그래밍이 이용되는 검증 프로세스의 일실시예를 예시한 순서도이다.
도7d는 비정밀/정밀 프로그래밍 프로세스의 일례가 어떻게 수행되는가를 나타내기 위하여, 시간에 대한 임계전압(VT)의 그래프와 시간에 대한 비트라인 전압(VBL)의 그래프를 제공한다.
도8a는 프로그래밍 프로세스 동안 메모리 셀을 검증하는 프로세스의 일실시예에 대한 순서도이다.
도8b는 메모리 셀을 판독하기 위한 프로세스의 일실시예에 대한 순서도이다.
도9a는 프로그래밍 동안의 임계전압 분포들의 일례를 도시한다.
도9b는 프로그래밍이 완료된 이후의 임계전압 분포들의 일례를 도시한다.
도10a는 검증 동안에 제 1 바이어스 조건들을 확립하기 위한 프로세스의 일실시예에 대한 순서도이다.
도10b는 비정밀 판독(rough reading)을 수행하기 위한 프로세스의 일실시예에 대한 순서도이다.
도10c는 비정밀 판독에 기초하여 제 2 비트라인 바이어스 조건들을 확립하기 위한 프로세스의 일실시예에 대한 순서도이다.
도11a는 검증 동안에 제 1 바이어스 조건들을 확립하기 위한 프로세스의 일실시예에 대한 순서도이다.
도11b는 메모리 셀을 판독하기 위한 프로세스의 일례에 대한 순서도이다.
도12a는 검증 동안에 제 1 바이어스 조건들을 확립하기 위한 프로세스의 일실시예에 대한 순서도이다.
도12b는 비정밀 판독을 수행하고 그리고 판독 동안에 제 2 비트라인 조건들을 확립하기 위한 프로세스의 일실시예에 대한 순서도이다.
도13은 메모리 셀을 검증하기 위한 프로세스의 일실시예에 대한 순서도이다.
도14a, 도14b 및 도14c는 조건들을 요약한 테이블들로서, 일실시예에서 래치들로부터의 데이터가 검증을 위한 비트라인 바이어스 조건들 결정하는데 어떻게 이용될 수 있는지를 예시한다.
도15는 감지 모듈의 일례를 예시한다.
도16은 도15의 감지 증폭기를 이용한 판독 혹은 검증 동안에 센싱의 일실시예에 대한 타이밍도이다.
도1은 하나의 낸드 스트링을 도시한 평면도이다. 도2는 이의 등가회로도이다. 도1 및 도2에 도시된 낸드 스트링은 제 1(혹은 드레인측) 선택 게이트(120)와 제 2(혹은 소스측) 선택 게이트(122) 사이에 직렬로 샌드위치된 4개의 트랜지스터들(100, 102, 104, 106)을 포함한다. 선택 게이트(120)는 비트라인 콘택(126)을 통하여 낸드 스트링을 비트라인에 연결한다. 선택 게이트(122)는 낸드 스트링을 소스라인(128)에 연결한다. 선택 게이트(120)는 선택 라인 SGD에 적절한 전압을 인가함에 의해서 제어된다. 선택 게이트(122)는 선택 라인 SGS에 적절한 전압을 인가함에 의해서 제어된다. 각각의 트랜지스터들(100, 102, 104, 106)은 제어 게이트와 플로팅 게이트를 갖는다. 예를 들어, 트랜지스터(100)는 제어 게이트(100CG)와 플로팅 게이트(100FG)를 갖는다. 트랜지스터(102)는 제어 게이트(102CG)와 플로팅 게이트(102FG)를 갖는다. 트랜지스터(104)는 제어 게이트(104CG)와 플로팅 게이트(104FG)를 갖는다. 트랜지스터(106)는 제어 게이트(106CG)와 플로팅 게이트(106FG)를 갖는다. 제어 게이트(100CG)는 워드라인(WL3)에 연결되며, 제어 게이트(102CG)는 워드라인(WL2)에 연결되며, 제어 게이트(104CG)는 워드라인(WL1)에 연결되며, 제어 게이트(106CG)는 워드라인(WL0)에 연결된다.
비록, 도1 및 도2에서는 낸드 스트링에 4개의 메모리 셀들이 도시되어 있지만, 4개의 트랜지스터들을 이용하는 것은 단지 일례로서 제공된 것이다. 하나의 낸드 스트링은 4개 보다 더 적은 메모리 셀들을 가질 수 있거나 또는 4개 보다 더 많은 메모리 셀들을 가질 수 있다. 예를 들면, 어떤 낸드 스트링들은 8개의 메모리 셀들을 포함할 수 있으며, 16개, 32개, 64개, 128개 등등의 메모리 셀들을 가질 수 있다. 본 명세서에서 논의되는 바는, 낸드 스트링에 있는 메모리 셀들의 임의의 특정 개수에 제한되지 않는다.
낸드 구조를 이용하는 플래시 메모리 시스템에 대한 전형적인 구조는 수 많은 낸드 스트링들을 포함할 것이다. 각각의 낸드 스트링은 선택 라인 SGS에 의해서 제어되는 소스 선택 게이트에 의해서 소스 라인에 연결되며 그리고 선택 라인 SGD에 의해서 제어되는 드레인 선택 게이트에 의해서 관련 비트라인에 연결된다. 각각의 비트라인과 비트라인 콘택을 통하여 그 비트라인에 연결되는 개별 낸드 스트링들은 메모리 셀 어레이의 컬럼들을 구성한다. 비트라인들은 복수의 낸드 스트링들에 의해 공유된다. 전형적으로, 비트라인은 낸드 스트링의 꼭대기에서 워드라인에 수직인 방향으로 진행하며 그리고 하나 이상의 감지 증폭기에 연결된다.
각각의 메모리 소자는 데이터(디지탈 또는 아날로그)를 저장할 수 있다. 1 비트의 디지탈 데이터를 저장하는 경우, 메모리 셀의 가능한 임계전압들의 범위는, 논리 데이터 "1" 과 "0" 에 할당되는 2개의 범위로 나뉘어진다. 낸드 타입 플래시 메모리에 관한 일실시예에서, 메모리 셀이 소거된 이후에 임계전압은 음의 값을 갖으며, 이는 논리 "1" 상태로 정의될 수 있다. 프로그래밍 이후의 임계전압은 양의 값을 갖으며, 이는 논리 "0" 상태로 정의될 수 있다. 임계전압이 음(negative)이며 제어 게이트에 0 볼트를 인가하여 판독(read) 동작이 시도될 때, 메모리 셀은 턴온되어 논리 "1"이 저장되었음을 나타낼 것이다. 임계전압이 양(positive)이며 제어 게이트에 0 볼트를 인가하여 판독 동작이 시도될 때, 메모리 셀은 턴온되지 않을 것인 바, 이는 논리 "0"이 저장되었음을 나타낸다.
복수 레벨들의 데이터를 저장하는 경우, 가능한 임계전압들의 범위는 데이터의 레벨들의 개수로 나뉘어진다. 예를 들어, 4개 레벨들의 정보가 저장되는 경우(즉, 2 비트의 데이터)에는, 데이터 값 "11", "10", "01", "00" 에 할당되는 네 개의 임계전압 범위들이 존재할 것이다. 낸드 타입 메모리에 관한 일실시예에서, 소거 동작 이후의 임계전압은 음이며 "11"로 정의된다. 양의 임계전압들은 데이터 상태 "10", "01", "00"를 위해 사용될 수 있다. 만일, 8개 레벨들의 정보(상태)가 저장된다면(즉, 3 비트의 데이터), 데이터 값 "000", "001", "010", "011", "100", "101", "110", "111" 에 할당되는 8개의 임계전압 범위들이 존재할 것이다.
메모리 셀에 프로그램되는 데이터와 그 셀의 임계전압 레벨들 사이의 특정한 관계는, 메모리 셀들에 적용된 데이터 인코딩 체계에 의존한다. 일실시예에서, 데이터 값들은 그레이 코드(Gray code) 할당을 이용하여 임계전압 범위들에 할당될 것인바, 따라서 플로팅 게이트의 임계전압이 오류로 인해 그 이웃한 물리적 상태로 쉬프트된다 할지라도, 오직 하나의 비트만이 영향을 받게될 것이다. 몇몇 실시예에서, 데이터 인코딩 체계는 서로 다른 워드라인들에 대해서 변경될 수 있으며, 혹은 데이터 인코딩 체계는 시간에 대해서 변경될 수 있으며, 혹은 랜덤 워드라인들에 대한 데이터 비트들은 데이터 패턴 민감도(data pattern sensitivity)와 메모리 셀들에 대한 마모(wear)를 감소시키도록 반전될 수도 있다
낸드 타입 플래시 메모리들과 이들의 동작들에 관련된 일례들은 이하의 미국특허출원 및 미국등록특허에 제공되며, 이들 미국 특허문헌들은 본 발명에 대한 참조로서 본 명세서에 통합된다. US 5,570,315, US 5,774,397, US 6,046,935, US 6,456,528, 그리고 미국 공개특허(공개번호 US 2003/0002348). 본 발명은 낸드 뿐만 아니라 다른 유형의 비휘발성 메모리 이외에도 다른 유형의 플래시 메모리에도 또한 적용될 수 있다.
NAND 플래시 메모리 이외에도, 다른 타입의 비휘발성 저장 디바이스들이 또한 사용될 수 있다. 예를 들면, 소위 TANOS 구조(실리콘 기판 위에 TaN-Al2O3-SiN-SiO2의 스택 층으로 이루어진 구조)가 또한 본 발명과 함께 사용될 수 있는바, TANOS 구조는 기본적으로 질화물 층(플로팅 게이트 대신에) 내에 전하를 포획(trap)하는 방법을 사용하는 메모리 셀이다. 플래시 EEPROM 시스템에서 유용한 또 다른 타입의 메모리 셀은 비휘발성 방식으로 전하를 저장하기 위하여 전도성 플로팅 게이트 대신에 비전도성 유전체 물질을 사용한다. 이러한 셀은 Chan 등의 논문 즉, "A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device,"(IEEE Electron Device Letters, Vol. EDL-8, No. 3, March 1987, pp. 93-95)에서 설명된다. 실리콘 산화물, 실리콘 질화물, 그리고 실리콘 산화물("ONO")로 형성된 3중 층 유전체가 전도성 제어 게이트와 메모리 셀 채널 위의 반-전도성(semi-conductive) 기판 표면 사이에 샌드위치된다. 상기 셀은 상기 셀 채널로부터 상기 질화물로 전자들을 주입함으로써 프로그래밍되며, 여기에서 전자들은 제한된 영역 내에 포획(trap)되고 저장된다. 이와같이 저장된 전하는 검출가능한 방식으로 상기 셀의 채널의 일부분의 임계전압을 변화시킨다. 이러한 메모리 셀은 고온의 정공(hot hole)들을 상기 질화물 내로 주입함으로써 소거된다. 또한, 노자키(Nozaki) 등의 논문, 즉 IEEE Journal of Solid-State Circuits, Vol. 26, No. 4, April 1991, pp. 497-501의 "A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application"을 참조하면, 도핑된 폴리실리콘 게이트가 메모리 셀 채널의 일부분 위로 신장되어 별도의 선택 트랜지스터를 형성하는, 분리-게이트 구조(split-gate configuration)의 유사한 메모리 셀이 설명된다. 앞의 2개의 논문은 그 전체가 본 명세서에 참조로써 포함된다. William D. Brown과 Joe E. Brewer에 의한 "Nonvolatile Semiconductor Memory Technology," IEEE Press, 1998의 1.2 섹션에 언급된 프로그래밍 기법들은 본 출원에 대한 참조로서 본 명세서에 통합되며, 또한 상기 섹션을 살펴보면 이들 기법들은 유전체 전하-포획 디바이스들에도 적용가능하다고 서술되어 있다. 다른 타입의 메모리 디바이스들이 또한 사용될 수 있다.
도3은 하나 이상의 메모리 다이 또는 칩들(212)을 포함할 수 있는 비휘발성 저장 디바이스(210)를 도시한다. 메모리 다이(212)는 메모리 셀들의 어레이(200)(2차원 또는 3차원), 제어 회로(220), 및 판독/기입 회로(230A, 230B)를 포함한다. 일 실시예에서, 다양한 주변 회로들에 의한 상기 메모리 어레이(200)에의 액세스는 어레이의 대향 측들 상에서 대칭적인 방식으로 구현되어, 각 측의 액세스 라인들 및 회로의 밀도는 절반으로 줄어든다. 판독/기입 회로들(230A, 230B)은 메모리 셀들의 페이지가 병렬로 판독되거나 프로그래밍될 수 있게 해주는 복수의 감지 블록들(300)을 포함한다. 메모리 어레이(100)는 로우 디코더들(240A, 240B)을 통해 워드라인들에 의해 어드레싱될 수 있거나, 컬럼 디코더들(242A, 242B)을 통해 비트라인들에 의해 어드레싱될 수 있다. 일반적인 실시예에서, 제어기(244)는 동일한 메모리 디바이스(210)(예를 들어, 착탈식 저장 카드 또는 패키지) 내에 하나 이상의 메모리 다이(212)로서 포함된다. 명령들 및 데이터는 라인들(232)을 통해 호스트와 제어기(244) 사이에서 전송되고 라인들(234)을 통해 제어기와 하나 이상의 메모리 다이들(212) 사이에서 전송된다. 일 실시예는 복수의 칩들(212)을 포함할 수 있다.
제어 회로(220)는 메모리 어레이(220) 상에서 메모리 동작들을 수행하기 위하여 판독/기입 회로들(230A, 230B)과 협력하여 동작한다. 제어 회로(220)는 상태 머신(222), 온-칩 어드레스 디코더(224) 및 전력 제어 모듈(226)을 포함한다. 상태 머신(222)은 메모리 동작들에 대한 칩-레벨 제어를 제공한다. 온-칩 어드레스 디코더(224)는 호스트 또는 메모리 제어기에 의해 사용되는 어드레스와 디코더들(240A, 240B, 242A, 및 242B)에 의해 사용되는 하드웨어 어드레스 사이에서 변환하기 위한 어드레스 인터페이스를 제공한다. 전력 제어 모듈(226)은 메모리 동작들 동안에 워드라인들 및 비트라인들에 공급되는 전력 및 전압들을 제어한다. 일 실시예에서, 전력 제어 모듈(226)은 공급 전압 보다 큰 전압들을 생성할 수 있는 하나 이상의 전하 펌프들(charge pumps)을 포함한다.
일 실시예에서, 제어 회로(220), 전력 제어 회로(226), 디코더 회로(224), 상태 머신 회로(222), 디코더 회로(242A), 디코더 회로(242B), 디코더 회로(240A), 디코더 회로(240B), 판독/기입 회로들(230A), 판독/기입 회로들(230B), 및/또는 제어기(224) 중 하나 또는 이것들의 임의의 조합이 하나 이상의 관리 회로들로서 참조될 수 있다.
도4는 메모리 셀 어레이(200)의 예시적인 구조를 도시한다. 일 실시예에서, 메모리 셀들의 어레이는 메모리 셀들의 M 블록들로 분할된다. 플래시 EEPROM 시스템들에서 일반적인 바와 같이, 블록은 소거의 단위(unit)이다. 즉, 각각의 블록은 함께 소거되는 최소 수의 메모리 셀들을 포함한다. 일반적으로 각각의 블록은 다수의 페이지들로 분할된다. 페이지는 프로그래밍의 최소 단위이다. 하나 이상의 데이터 페이지들은 일반적으로 메모리 셀들의 하나의 로우에 저장된다. 페이지는 하나 이상의 섹터들을 저장할 수 있다. 섹터는 사용자 데이터와 오버헤드 데이터를 포함한다. 일반적으로, 오버헤드 데이터는 섹터의 사용자 데이터로부터 계산된 ECC(에러 정정 코드)를 포함할 수 있다. 제어기의 일부분(하기에서 설명됨)은, 데이터가 어레이 내에 프로그래밍될 때 ECC를 계산하며, 그리고 또한 데이터가 어레이로부터 판독될 때 ECC를 검사한다. 대안적으로, ECC들 및/또는 다른 오버헤드 데이터는 그것들이 적용되는 사용자 데이터와는 다른 페이지들 또는 심지어 다른 블록들에 저장될 수 있다. 사용자 데이터의 섹터는 일반적으로 자기 디스크 드라이브에서의 섹터의 사이즈에 대응하는 512 바이트이다. 8 페이지 이상, 예를 들어, 32, 62, 128 이상의 페이지들과 같은 다수의 페이지들이 블록을 형성한다. 다른 사이즈의 블록들 및 구성들이 또한 사용될 수 있다.
또 다른 실시예에서, 비트라인들은 짝수 비트라인들과 홀수 비트라인들로 분할된다. 홀수/짝수 비트라인 아키텍쳐에서, 공통 워드라인을 따라 있으며 홀수 비트라인들에 연결된 메모리 셀들은 한번에 프로그래밍되며, 공통 워드라인을 따라 있으며 짝수 비트라인들에 연결된 저장 소자들은 또 다른 시간에 프로그래밍된다.
도4는 메모리 어레이(200)의 블록 i를 보다 자세히 도시한다. 블록 i는 X+1 개의 비트라인들과 X+1개의 NAND 스트링들을 포함한다. 블록 i는 또한 64개의 데이터 워드라인들(WL0-WL63), 2개의 더미 워드라인들(WL_d0, WL_d1), 드레인측 선택 라인(SGD) 및 소스측 선택 라인(SGS)을 포함한다. 각각의 NAND 스트링의 일 단자는 드레인 선택 게이트(선택 라인 SGS에 연결됨)를 통해 대응하는 비트라인에 연결되고, 또 다른 단자는 소스 선택 게이트(선택 라인(SGS)에 연결됨)를 통해 소스 라인에 연결된다. 64개의 데이터 워드라인들 및 2개의 더미 워드라인들이 존재하므로, 각각의 NAND 스트링은 64개의 데이터 메모리 셀들 및 2개의 더미 메모리 셀들을 포함한다. 다른 실시예들에서, NAND 스트링들은 64개의 데이터 메모리 셀들 및 2개의 더미 메모리 셀들 보다 더 많은 또는 더 적은 메모리 셀들을 가질 수 있다. 데이터 메모리 셀들은 사용자 데이터 또는 시스템 데이터를 저장할 수 있다. 더미 메모리 셀들은 일반적으로 사용자 데이터 또는 시스템 데이터를 저장하는데 사용되지 않는다. 일부 실시예들은 더미 메모리 셀들을 포함하지 않는다.
도5는 감지 모듈(480)로 지칭되는 코어 부분, 그리고 공통 부분(490)으로 분할되는 개별 감지 블록(300)에 대한 블록도이다. 일 실시예에서, 각각의 비트라인에 대해서 개별적인 감지 모듈(480)이 존재할 것이며, 그리고 복수의 감지 모듈들(480)의 세트에 대해서 하나의 공통 부분(490)이 존재할 것이다. 일 실시예에서, 감지 블록은 하나의 공통 부분(490) 및 8개의 감지 모듈들(480)을 포함할 것이다. 그룹 내의 감지 모듈들 각각은 데이터 버스(472)를 통해 관련된 공통 부분과 통신할 것이다. 보다 자세한 사항은 그 전체가 본 명세서에 참조로서 포함되는 미국 특허 출원 공개 제2006/0140007를 참조하도록 한다.
감지 모듈(480)은 감지 회로(470)를 포함하는데, 감지 회로(470)는 연결된 비트라인 내의 전도 전류(conduction current)가 소정의 임계 레벨을 초과하는지 또는 소정의 임계 레벨 미만인지를 결정한다. 일부 실시예들에서, 감지 모듈(480)은 통상적으로 감지 증폭기로 지칭되는 회로를 포함한다. 감지 모듈(480)은 또한 비트라인 래치(482)를 포함하는데, 비트라인 래치(482)는 연결된 비트라인에 대한 전압 조건을 설정하는데 이용된다. 예를 들면, 비트라인 래치(482)에 래치된 소정 상태는, 연결된 비트라인들이 프로그램 금지를 나타내는 상태(예컨대, Vdd)로 견인(pull)되게 할 것이다. 일부 실시예들에서, 프로그래밍된 특정 상태를 검증하는 동안의 각 비트라인 상의 전압 조건은, 프로그래밍된 그 특정 상태를 판독하는 동안의 각 비트라인 상의 전압 조건과 매칭된다.
공통 부분(490)은 프로세서(492), 데이터 래치들의 세트(494), 및 상기 데이터 래치들의 세트(494)와 데이터 버스(420) 사이에 결합된 I/O 인터페이스(496)를 포함한다. 프로세서(492)는 연산들을 수행한다. 예를 들어, 프로세서의 기능들 중 하나는 감지된 메모리 셀 내에 저장된 데이터를 판별하고 상기 판별된 데이터를 데이터 래치들의 세트 내에 저장하는 것이다. 일부 실시예에서, 프로세서(492)는 검증 및 판독 동안에 어떤 전압이 비트라인에 인가되어야만 하는지를 결정한다. 검증 동안에, 프로세서(492)는 비트라인 상의 메모리 셀이 프로그래밍된 상태(혹은 프로그래밍되었던 상태)에 기초하여 이러한 결정을 수행할 수 있다. 판독 동안에, 프로세서(492)는 어떤 상태로 프로그래밍되었는지를 대략적으로(roughly) 결정하기 위한 메모리 셀에 대한 대략적인 판독(rough read)에 기초하여 이러한 결정을 수행할 수 있다. 데이터 래치들의 세트(494)는 판독 동작 중에 프로세서(492)에 의해서 판별된 데이터 비트들을 저장하는데 사용된다. 데이터 래치들의 세트(494)는 또한 프로그램 동작 중에 데이터 버스(420)로부터 유입(importing)되는 데이터 비트들을 저장하는데 사용된다. 유입된 데이터 비트들은 메모리 내에 프로그래밍될 기입 데이터를 나타낸다. I/O 인터페이스(496)는 데이터 래치들(494)과 데이터 버스(420) 사이의 인터페이스를 제공한다.
판독 또는 감지 중에, 시스템의 동작은 상태 머신(222)의 제어하에 있는바, 상태 머신(222)은 어드레싱된 셀에 서로 다른 제어 게이트 전압들을 공급하는 것을 콘트롤한다. 메모리에 의해 지원되는 다양한 메모리 상태들에 대응하는 다양한 소정의 제어 게이트 전압들을 거침에 따라, 감지 모듈(480)은 이 전압들 중 하나에 트립(trip)할 수 있고 버스(472)를 통해 감지 모듈(480)로부터 프로세서(492)로 출력이 제공될 것이다. 그 시점에서, 프로세서(492)는 인가된 제어 게이트 전압에 대한 정보(입력 라인들(493)을 통해 상태 머신으로부터 획득됨) 및 감지 모듈의 트립핑 이벤트(들)을 고려하여 결과적인 메모리 상태를 결정한다. 그후 프로세서(492)는 그 메모리 상태에 대한 바이너리 엔코딩을 연산하고 그리고 결과적인 데이터 비트들을 데이터 래치들(494)에 저장한다. 코어 부분의 또 다른 실시예에서, 비트라인 래치(482)는 감지 모듈(480)의 출력을 래치하기 위한 래치로서, 그리고 상술된 것과 같은 비트라인 래치로서의 두가지 역할을 수행한다.
몇몇 실시예들은 복수의 프로세서들(492)을 포함할 것으로 예상된다. 일 실시예에서, 각각의 프로세서(492)는 각각의 출력 라인들이 함께 와이어드-OR 되도록 된 출력 라인(도 5에 도시되지 않음)을 포함할 것이다. 몇몇 실시예들에서, 상기 출력 라인들은 와이어드-OR 라인에 연결되기 전에 인버팅된다. 이러한 구성은 프로그램 검증 프로세스 동안 프로그래밍 프로세스가 언제 완료되는지에 대한 빠른 결정을 가능하게 해주는바, 이는 와이어드-OR 라인을 수신하는 상태 머신이, 프로그래밍되는 모든 비트들이 요망 레벨에 도달했을 때를 결정할 수 있기 때문이다. 예를 들어, 각각의 비트가 그것의 요망되는 레벨에 도달했을 때, 그 비트에 대한 논리 0이 와이어드-OR 라인으로 송신될 것이다(또는 데이터 1이 반전된다). 모든 비트들이 데이터 0을 출력할 때(또는 데이터 1이 반전될 때), 상태 머신은 프로그래밍 프로세스를 종료할 것을 인지한다. 각각의 프로세서가 8개의 감지 모듈들과 통신하는 실시예들에서, 상태 머신은 와이어드-OR 라인을 8번 판독할 필요가 있을 수도 있으며(몇몇 실시예들에서), 또는 상태 머신이 와이어드-OR 라인을 한번만 판독하면 되도록 관련된 비트라인들의 결과들을 축적하기 위한 로직이 프로세서(492)에 부가될 수도 있다.
프로그래밍 또는 검증 중에, 프로그래밍될 데이터는 데이터 버스(420)로부터 데이터 래치들(494)의 세트 내에 저장된다. 상태 머신의 제어하에서 프로그램 동작은, 어드레싱된 메모리 셀들의 제어 게이트들에 인가되는 일련의 프로그래밍 전압 펄스들(크기가 증가하는)을 포함한다. 각각의 프로그래밍 펄스에 후속하여, 저장 소자가 요망되는 저장 상태로 프로그래밍되었는지를 판단하기 위한 검증 프로세스가 수행된다. 프로세서(492)는 요망되는 메모리 상태에 대해서, 검증된 메모리 상태를 모니터링한다. 두 상태가 일치할 때, 프로세서(492)는 프로그램 금지를 나타내는 상태로 비트라인이 견인(pull)되도록 비트라인 래치(482)를 설정한다. 이것은 상기 비트라인에 연결된 메모리 셀이 추가적으로 프로그래밍되는 것을 방지한다(프로그래밍 펄스들이 그 제어 게이트에 인가되는 경우라 하더라도). 다른 실시예들에서, 프로세서가 처음에 비트라인 래치(482)를 로딩하고, 감지 회로는 검증 프로세스 중에 그것을 금지 값으로 설정한다. 몇몇 실시예에서는, 메모리 셀에 대한 후속 프로그래밍이 금지되는 경우라 하더라도, 비트라인은 검증 동작 동안에 정상적으로 충전될 수도 있다. 달리 말하면, 비트라인 상의 셀에 대해서 검증이 더 이상 필요하지 않음에도 불구하고, 검증이 수행되는 것을 허용하는 방식으로 상기 비트라인이 충전된다. 이러한 점은, 검증되는 타겟 메모리 셀의 이웃의 채널 전위가, 타겟 메모리 셀의 판독 동안의 이웃의 채널 전위에 매칭되게 할 수 있다.
데이터 래치 스택(494)은 감지 모듈에 대응하는 데이터 래치들의 스택을 포함한다. 일 실시예에서, 감지 모듈(480) 하나 당 3 ~ 5개(또는, 또 다른 개수)의 데이터 래치들이 존재한다. 일 실시예에서, 래치들 각각의 1 비트이다. 일부 구현예들에서(그러나, 반드시는 그러한 것은 아님), 데이터 래치들은 시프트 레지스터로서 구현되며, 따라서 그 내부에 저장된 병렬 데이터가 데이터 버스(420)를 위한 직렬 데이터로 변환되거나 그 반대의 경우도 가능하다. 바람직한 실시예에서는, m 개의 메모리 셀들의 판독/기입 블록에 대응하는 모든 데이터 래치들이 함께 링크되어 블록 시프트 레지스터를 형성할 수 있으며, 따라서 데이터 블록이 직렬 전송(serial transfer)에 의해 입력 또는 출력될 수 있다. 특히, 판독/기입 모듈들의 뱅크는, 그것의 데이터 래치들의 세트 각각이 마치 전체 판독/기입 블록을 위한 시프트 레지스터의 일부인것 처럼 데이터 버스 내로 또는 데이터 버스로부터 데이터를 시프트하도록 적응된다.
판독 동작들 및 감지 증폭기들에 대한 추가적인 정보는 (1) 미국 특허 제7,196,931호 "Non-Volatile Memory And Method With Reduced Source Line Bias Errors,"; (2) 미국 특허 제7,023,736호 "Non-Volatile Memory And Method with Improved Sensing,"; (3) 미국 특허 출원 공개 제2005/0169082호; (4) 미국 특허 제7,196,928호 "Compensating for Coupling During Read Operations of Non-Volatile Memory" 및 (5) 미국 특허 출원 공개 제2006/0158947호 "Reference Sense Amplifier For Non-Volatile Memory"(2006/07/20 공개)에서 찾아볼 수 있다. 위에 열거된 5개의 특허 문헌들 모두는 그 전체가 본 명세서에 참조로서 포함된다.
(검증을 사용한) 성공적인 프로그래밍 프로세스의 종료시, 메모리 셀들의 임계전압들은 프로그램된 메모리 셀들을 위한 하나 이상의 임계전압 분포들 또는 소거된 메모리 셀들을 위한 임계전압들의 분포 내에 적절하게 있어야 한다. 도6a는 각각의 메모리 셀이 4 비트의 데이터를 저장할 때 메모리 셀 어레이에 대한 데이터 상태들에 대응하는 예시적인 임계전압 분포들을 도시한다. 그러나, 다른 실시예들은 메모리 셀당 4개보다 더 많거나 적은 데이터 비트들을 사용할 수도 있다. 도6b는 데이터 상태들(0-15)에 대응하는 16개의 임계전압 분포들을 보여준다. 일부 실시예들에서, 상태 0의 임계 전압들은 음이고 상태들 1-15의 임계 전압들은 양이다. 그러나, 상태들 1-15중 하나 이상의 상태들의 임계 전압들이 음일 수도 있다.
각각의 데이터 상태들(0-15) 사이에는 메모리 셀들로부터 데이터를 판독하기 위하여 이용되는 판독 기준 전압들이 존재한다. 예를 들어, 도6a는 데이터 상태들 0과 1 사이의 판독 기준 전압 Vr1, 및 데이터 상태들 1과 2 사이의 판독 기준 전압 Vr2를 보여준다. 주어진 메모리 셀의 임계전압이 각각의 판독 기준 전압들보다 크거나 작은지를 테스트함으로써, 시스템은 메모리 셀이 어떤 상태에 있는지를 결정할 수 있다.
각각의 데이터 상태(0-15)의 하부 에지(lower edge)에 또는 그 부근에는 검증 기준 전압들이 존재한다. 예를 들어, 도6a는 상태 1에 대한 Vv1 및 상태 2에 대한 Vv2를 보여준다. 메모리 셀들을 주어진 상태로 프로그래밍할 때, 시스템은 이들 메모리 셀들이 검증 기준 전압 이상의 임계 전압을 가지는지를 테스트할 것이다. 일부 실시예들에서는, 하나의 데이터 상태(예컨대, 최하위 데이터 상태)는 소거 상태로 지칭되며 그리고 다른 모든 데이터 상태들은 "프로그래밍된 상태"로 지칭된다.
도6b는 데이터 상태들 0-15에 대응하는 임계전압 분포들의 또 다른 실시예를 도시하는바, 이러한 임계전압 분포들은, 오류 정정 알고리즘이 오류있는 셀들의 소정 퍼센티지를 처리할 수 있으므로, 부분적으로 오버랩될 수 있다.
또한, 음의 임계 전압을 측정가능한 양의 범위로 시프트하기 위하여 소스를 통한 바디 효과 또는 바디 바이어싱이 이용되므로, 임계전압 축은 제어 게이트들에 인가되는 실제 전압으로부터 오프셋(offset)될 수 있음을 유의해야 한다. 유의해야할 또 다른 사항은 16개의 상태들이 동일한 간격/폭을 갖게 도시되는 것과 달리, 데이터 보유 손실에 대한 가변 감수성(susceptibility) 양을 수용하기 위하여 다양한 상태들이 서로 다른 폭/간격을 가질 수 있다는 것이다. 일부 실시예들에서, 상태들 0 및/또는 15는 다른 상태들보다 넓다.
도6a 및 도6b의 예시적인 구현예에서, 비휘발성 저장소자는 16개의 데이터 상태들을 이용하여 저장소자 당 4 비트의 데이터를 저장한다. 도6c는 각각의 저장소자가 2 비트의 데이터를 저장하는 4-상태 메모리 디바이스를 위한 임계전압 분포들의 예시적인 세트를 도시한다. 제 1 임계전압 분포(401)는 소거된(소거-상태) 저장소자를 위해 제공된다. 3개의 임계전압 분포들(402, 403, 403)은 프로그래밍된 상태들 A, B, C를 각각 나타낸다. 일실시예에서, 소거된-상태에 있는 임계전압들은 네가티브이며, 그리고 A, B 및 C 상태의 임계전압들은 포지티브(positive)이다.
또한, 3개의 판독 기준 전압들, Vra, Vrb 및 Vrc 가 제공되는바, 이는 저장소자들로부터 데이터를 판독하기 위한 것이다. 어떤 저장소자의 임계전압이 Vra, Vrb 및 Vrc 보다 높은지 또는 낮은지를 테스트함으로써, 상기 시스템은 저장소자의 상태, 예컨대, 프로그래밍 상태(condition)를 판별할 수 있다.
또한, 3개의 검증 기준 전압들, Vva, Vvb 및 Vvc 이 제공된다. 저장소자들을 A-상태, B-상태 혹은 C-상태로 프로그래밍하는 경우, 상기 시스템은 이들 저장소자들이 Vva, Vvb 혹은 Vvc 각각과 같거나 혹은 더 큰 임계전압을 갖고 있는지를 테스트할 것이다. 일실시예에서는, "하위 검증(verify low)" 기준 전압들 Vval, Vvbl, Vvcl 이 제공된다. 또한, 유사한 "하위 검증" 기준 전압들이 다른 개수의 상태들을 갖는 실시예에서도 이용될 수 있다. 하위 검증 레벨들은 비정밀 검증(coarse verify) 동안에 이용될 수 있으며, 이에 대해서는 후술한다.
풀 시퀀스 프로그래밍(full sequence programming)에서, 저장소자들은 소거-상태로부터, 프로그래밍된 상태들 A, B 또는 C 중 어느 하나로 직접 프로그래밍될 수 있다. 예를 들면, 프로그래밍될 저장소자들의 모집단(population)은 먼저 소거될 수도 있는바, 따라서 상기 모집단 내의 모든 저장소자들은 소거-상태에 있게 된다. 이후, 도6d에 도시된 바와 같은 일련의 프로그램 펄스들이 이용되어 저장소자들을 상태 A, B, 혹은 C로 직접 프로그램할 수 있다. 몇몇 저장소자들은 소거-상태로부터 A-상태로 프로그래밍되는 반면에, 다른 저장소자들은 소거-상태로부터 B-상태로 및/또는 소거-상태로부터 C-상태로 프로그래밍된다. 반드시 풀 시퀀스 프로그래밍을 이용할 필요는 없다는 점을 유의해야 한다.
저속(slow) 프로그래밍 모드의 일례는 하나 이상의 프로그래밍된 상태들에 대해서 낮은(옵셋) 검증 레벨과 높은(타겟) 검증 레벨을 이용한다. 예를 들어, VvaL 및 Vva는 각각 A-상태에 대한 옵셋 검증 레벨과 타겟 검증 레벨이며, 그리고 VvbL 및 Vvb는 각각 B-상태에 대한 옵셋 검증 레벨과 타겟 검증 레벨이다. 프로그래밍 동안, A-상태를 타겟 상태로 하여 프로그래밍되고 있는 저장소자(예컨대, A-상태 저장소자)의 임계전압이 VvaL를 초과하는 경우, 그 저장소자에 대한 프로그래밍 속도는, 가령 비트라인 전압을 소정 레벨(예컨대, 0.6 ~ 0.8V)로 상승시킴으로써 느려지는바, 상기 레벨(0.6 ~ 0.8V)은 통상적인 프로그램 레벨(혹은, 금지되지 않은 레벨)인 예컨대 0V와 완전 금지 레벨인 예컨대 2 ~ 3V 사이의 값이다. 이러한 점은, 임계전압의 매우 큰 계단식 증가들을 방지함으로써, 더욱 우수한 정확성을 제공한다. 임계전압이 Vva 에 도달하는 때, 저장소자는 후속 프로그래밍으로부터 록아웃된다. 이와 유사하게, B-상태 저장소자의 임계전압이 VvbL 을 초과하면, 그 프로그래밍 속도가 감소되며, 그리고 임계전압이 Vvb 에 도달하면 저장소자는 후속 프로그래밍으로부터 록아웃된다. 일 접근법에서, 저속 프로그래밍 모드는 최상위 상태(highest state)에 대해서는 이용되지 않는데, 왜냐하면 최상위 상태에 대해서는 일반적으로 소정의 오버슈트가 허용되기 때문이다. 대신에, 저속 프로그래밍 모드는 최상위 상태보다 아래에 있는 프로그래밍된 상태들에 대해서 이용될 수 있다.
또한, 논의된 예시적인 프로그래밍 기법들에서, 저장소자의 임계전압은 저장소자가 타겟 프로그래밍된 상태로 프로그래밍됨에 따라 증가한다. 하지만, 저장소자가 타겟 프로그래밍된 상태로 프로그래밍됨에 따라 저장소자의 임계전압이 낮아지는 프로그래밍 기법들도 또한 이용될 수도 있다. 저장소자의 전류를 측정하는 프로그래밍 기법들도 또한 이용될 수 있다. 본 명세서에 개시된 개념들은 다른 프로그래밍 기법들에도 적용될 수 있다.
도6d는 프로그래밍 동작 동안에 선택 워드라인에 인가되는 일련의 프로그램 및 검증 펄스들을 도시한다. 프로그래밍 동작은 다수의 프로그래밍 이터레이션(iteration)들을 포함하며, 여기서 각각의 이터레이션은 하나 이상의 프로그램 펄스들(전압)과 이에 후속되는 하나 이상의 검증 전압들을 선택 워드라인에 인가한다. 가능한 일 접근법에서, 프로그램 전압들은 연속적인 이터레이션들에서 계단식으로 증가된다(stepped up). 또한, 프로그램 전압들은 패스 전압 레벨(Vpass)(예컨대, 6 ~ 8V)을 갖는 제 1 부분과 이에 후속되며 프로그램 레벨(예컨대, 12 ~ 25V)을 갖는 제 2 부분을 포함한다. 예를 들어, 제 1 , 제 2, 제 3, 및 제 4 프로그램 펄스들은 각각 Vpgm1, Vpgm2, Vpgm3, 및 Vpgm4 의 프로그램 전압들을 갖는다. 하나 이상의 검증 전압들의 세트는 각각의 프로그램 펄스 이후에 제공될 수 있다.
도6d에는, 각각의 프로그램 펄스 사이에 3개의 검증 펄스들이 도시된다. 예를 들어, 검증 펄스 Vva는 A-상태를 타겟으로 하는 메모리 셀들이 Vva에 도달했는지를 검증하는데 이용될 수 있으며, 검증 펄스 Vvb는 B-상태를 타겟으로 하는 메모리 셀들이 Vvb에 도달했는지를 검증하는데 이용될 수 있으며, 그리고 검증 펄스 Vvc는 C-상태를 타겟으로 하는 메모리 셀들이 Vvc에 도달했는지를 검증하는데 이용될 수 있다. 몇몇 경우에 있어서, 하나 이상의 초기 프로그램 펄스들 뒤에는 검증 펄스들이 후속되지 않을 수도 있는데, 이는 그 어떤 저장소자들도 최하위 프로그램 상태(예컨대, A-상태)에 도달하였다고 예상되지 않기 때문이다. 이후, 프로그램 이터레이션들은 A-상태에 대한 검증 펄스들을 이용할 수 있으며, 이어서 A-상태 및 B-상태에 대한 검증 펄스들을 이용하는 프로그램 이터레이션들이 후속될 수 있으며, 이어서 B-상태 및 C-상태에 대한 검증 펄스들을 이용하는 프로그램 이터레이션들이 후속될 수 있다. 도6d에 도시된 전압 펄스들은 최종 검증 레벨을 위한 것이다. 하위 검증 레벨들 VvaL, VvbL 및 VvcL 을 위한 펄스들이 또한 있을 수도 있다.
도7a는 하나 이상의 검증 단계들을 포함하는 프로그래밍 프로세스(700)의 일실시예를 예시한 순서도이다. 단계 702에서, 프로그래밍될 메모리의 부분이 선택된다. 일실시예에서, 이것은 메모리 구조에 적합한 하나 이상의 기입 단위들이 될 수 있다. 기입 단위의 일례는 페이지로 지칭될 수 있다. 다른 실시예에서, 다른 단위들 및/또는 구조들이 또한 이용될 수 있다. 단계 704에서, 프리-프로그래밍(pre-programming) 프로세스가 때때로 이용되는데, 이 프로세스에서는 어드레스된 메모리 셀에 대해 데이터에 의존적이지 않는 프로그래밍이 수행되는바, 이는 저장 소자의 마모(wear)를 고르게 하고 후속될 소거과정에서 좀더 균일한 시작점을 제공하기 위한 것이다. 단계 706에서는, 사용되고 있는 저장소자의 유형에 알맞은 소거 프로세스가 수행된다. 적절한 스마트 소거 프로세스의 일례는 미국등록특허 US 5,095,344에 개시되어 있는데, 이는 본 발명에 대한 참고로서 그 전체가 본 명세서에 통합된다. 단계 708은, 실제의 쓰기 페이즈를 위하여, 소거된 메모리 셀들의 임계전압들을 좀더 균일한 시작범위로 만들도록 설계된 소프트 프로그래밍 프로세스를 포함한다. 일실시예에서는, 만일 소거동작 동안에(또는 소프트 프로그래밍 동안에) 메모리 셀들 중 임의의 것이 검증에 실패할 경우, 이들 메모리 셀들은 논리 주소 공간으로부터 맵 아웃될 수 있다. 이 시점에서 상기 메모리는 데이터에 의존적인 프로그래밍을 위한 준비가 된다.
단계 710에서, 프로그램 전압(Vpgm)이 초기 값으로 세팅된다. 또한, 단계 710에서 프로그램 카운터(PC)가 0으로 초기화된다. 단계 720에서, 프로그램 펄스가 인가된다.
단계 722에서, 검증 프로세스가 수행된다. 일실시예에서, 상기 검증은 동시 정밀/비정밀 검증이다. 메모리 셀의 임계전압이 최종 레벨(Vva) 보다 충분히 아래에 있는 초기 프로그래밍 단계들 동안, 비정밀 프로그래밍이 적용된다. 하지만, 메모리 셀의 임계전압이 VvaL에 도달한 이후에는 정밀 프로그래밍이 이용된다. 따라서, 일부 메모리 셀들은 비정밀 프로그래밍에 대해서 검증되고 있는 반면에, 다른 메모리 셀들은 정밀 프로그래밍에 대해서 검증된다. 특정 메모리 셀이 그 의도했던 상태대로 프로그래밍되었다고 검증되면, 이 메모리 셀은 후속 프로그래밍으로부터 록 아웃될 수 있음을 유의해야 한다. 단계 722에 대한 좀더 상세한 내용은 후술될 것이다.
단계 724에서, 모든 메모리 셀들의 임계전압들이 그 메모리 셀에 대한 최종 타겟 전압에 모두 도달하였는지에 대한 여부가 판별된다. 만약 그렇다면, 프로그래밍 프로세스는 단계 726에서 성공적으로 완료된다(상태 = 통과). 만일, 모든 메모리 셀이 검증된 것이 아니라면, 프로그램 카운터(PC)가 최대값(가령, 20)보다 작은지의 여부가 판별된다. 만일, 프로그램 카운터가 20 보다 크다면(단계 728), 프로그램 프로세스는 실패한 것이다(단계 730). 만일, 프로그램 카운터(PC)가 20 보다 작다면, 프로그램 카운터는 1 만큼 증가하고 그리고 프로그램 전압은 다음 펄스값으로 계단 상승한다(단계 730). 단계 730에 후속하여, 프로세스는 단계 720으로 되돌아 가고 다음 프로그램 펄스가 메모리 셀들에 인가된다.
몇몇 실시예에서, 프로그래밍은 정밀 모드와 비정밀 모드를 갖는다. 일반적으로, 비정밀 프로그래밍은, 메모리 셀이 그 타겟 임계전압으로부터 더 멀리 있을수록 메모리 셀을 고속으로 프로그래밍하며 그리고 메모리 셀이 그 타겟 임계전압에 더 가까이 있을수록 메모리 셀을 더 느리게 프로그래밍하고자 시도할 수 있다. 하지만, 비정밀 프로그래밍 모드와 정밀 프로그래밍 모드 둘다를 이용하는 것이 필수적인 것은 아니다. 또한 비정밀 프로그램과 정밀 프로그램은 도7b에서와 같이, 하나의 프로그램 시퀀스에서 실행될 수 있다. 단계 722에서의 검증 프로세스는 비정밀 및 정밀 검증 둘다를 실행하도록 수행될 수 있다. 또한, 단계 720의 프로그램 펄스도, 비정밀 프로그램을 위한 고속 프로그램과 정밀 프로그램을 위한 저속 프로그램으로 상이하게 실행될 수 있다. 먼저, 비정밀/정밀 프로그래밍이 이용되지 않는 경우에 대해서, 검증 프로세스가 설명될 것이다. 도7b는 비정밀/정밀 프로그래밍이 없이 검증(도7a의 단계 722 참조)을 수행하는 프로세스의 일실시예에 대한 순서도를 제공한다. 상기 프로세스는 하나의 메모리 셀에 대한 검증을 설명한다. 상기 프로세스는 수 많은 메모리 셀들에 대해서 동시에 수행될 수도 있다.
단계 740에서 검증 조건들이 적용되며 그리고 감지(sensing)가 수행된다. 예를 들어 도6a를 참조하면, A-상태가 검증되는 경우라면, 메모리 셀의 임계전압은 A-상태에 대한 최종 타겟 임계전압인 VvA와 비교될 수 있다. 단계 740에 대한 좀더 상세한 내용은 이후에 설명될 것이다. 만일, 메모리 셀의 임계전압이 타겟 전압 VvA 보다 크다면(단계 742), 검증 테스트는 통과한 것이 되며 그리고 메모리 셀은 프로그래밍이 금지될 것이다(단계 744). 메모리 셀에 대한 후속 프로그래밍을 금지하기 위한 일실시예에서는 비트라인 전압을 Vdd로 상승시키며, 이는 낸드 체인 채널(NAND chain channel)이 비트라인 바이어스로부터 컷 오프되게 한다. 프로그램 펄스가 인가되는 때에 커플링으로 인하여 워드라인 전압이 고전압으로 상승함에 따라 고전압이 격리된 채널에 형성될 수 있다. 메모리 셀에 대한 후속 프로그래밍을 금지시키는 다른 방법들이 또한 이용될 수 있다. 만일, 단계 742에서 검증 테스트를 통과하지 못한 것으로 결정된다면(예를 들면, 메모리 셀의 임계전압이 타겟 전압 VvA 보다 작기 때문에), 메모리 셀에 대한 후속 프로그래밍은 금지되지 않을 것이다(단계 746).
도7c는 비정밀/정밀 프로그래밍이 이용되는 검증 프로세스의 일실시예를 도시한 순서도이다. 상기 프로세스는 정밀 및 비정밀 검증을 수행한다. 상기 프로세스는 하나의 메모리 셀에 대한 검증을 설명한다. 상기 프로세스는 많은 메모리 셀들에 대해서 동시에 수행될 수 있다. 단계 752에서 시스템은, 특정 메모리 셀이 비정밀 프로그래밍 모드에 있는 혹은 정밀 프로그래밍 모드에 있는지를 판별하기 위하여, 레지스터(혹은 다른 저장 디바이스)를 체크할 것이다. 메모리 셀이 비정밀 프로그래밍 모드에 있다면(단계 754), 비정밀 검증이 단계 756에서 수행된다. 예를 들어 도6c를 참조하면, A-상태가 검증되는 경우, 메모리 셀의 임계전압은 전압 VvaL 과 비교될 수 있다. 단계 756에 관한 좀더 상세한 내용은 후술될 것이다. 만일, 메모리 셀의 임계전압이 VvaL 보다 크다면(단계 758), 그 메모리 셀은 비정밀 검증 테스트를 통과한다. 만일, 메모리 셀의 임계전압이 VvaL 보다 작다면, 그 메모리 셀은 비정밀 검증 테스트를 통과하지 못한다. 메모리 셀이 비정밀 검증 테스트를 통과하지 못하면, 그 메모리 셀은 비정밀 프로그래밍 모드에 남아있는다(단계 760). 메모리 셀이 비정밀 검증 테스트를 통과하면, 그 메모리 셀은 정밀 프로그래밍 모드로 프로그래밍 모드를 변경할 것이다(단계 762). 프로그래밍 모드는 서로 다른 프로그래밍 패스(pass)에서 변경될 수도 있으며 혹은 동일한 프로그래밍 패스에서 변경될 수도 있음을 유의해야 한다. 하나의 프로그래밍 패스(pass)가 도7A의 단계 702에서 단계 726 혹은 단계 730까지 도시된다. 비트들이 비정밀 Vt 타겟 VvaL 혹은 정밀 Vt 타겟 VvA를 패스하는지의 여부에 상관없이, 비정밀 검증 및 정밀 검증을 적용하는 것은 함께 실시될 수 있다.
만일, 단계 754에서 메모리 셀이 정밀 프로그래밍 모드에 있었다고 판별되면, 정밀 검증 조건들이 인가되며 그리고 감지가 수행될 것이다(단계 770). 예를 들어 도6c를 참조하면, 메모리 셀의 임계전압은 최종 타겟 임계전압 VvA와 비교될 수 있다. 단계 754에 관한 좀더 상세한 내용은 후술될 것이다. 만일, 메모리 셀의 임계전압이 타겟 전압 VvA 보다 크다면(단계 772), 정밀 검증 테스트를 통과한 것이며 그리고 상기 메모리 셀은 단계 774에서 프로그래밍이 금지될 것이다. 메모리 셀에 대한 후속 프로그래밍을 금지하기 위한 일실시예는, 적어도 프로그램 펄스가 인가되는 때에 비트라인 전압을 Vdd로 상승시키는 것이다. 메모리 셀에 대한 후속 프로그래밍을 금지시키기 위한 다른 방법들도 또한 이용될 수 있다. 단계 772에서, 정밀 테스트를 통과하지 못한 것으로 판별되면(예를 들면, 메모리 셀의 임계전압이 타겟 전압 VvA 보다 작기 때문에), 메모리 셀은 후속 프로그래밍이 금지되지 않을 것이다(단계 776). 일부 실시예들에서는, 소정 메모리 셀에 대한 후속 프로그래밍이 금지된 이후에도, 그 메모리 셀의 비트라인은 단계 770의 검증 동안에 충전될 수 있다. 검증 동안에 비트라인을 바이어싱하는 것에 관한 좀더 상세한 내용은 이후에 설명될 것이다.
도7d는 하나의 프로그램 펄스에서 임계전압(VT) vs 시간 및 비트라인 전압(VBL) vs 시간에 관한 그래프를 제공하며, 이는 비정밀/정밀 프로그래밍 프로세스의 일례가 어떻게 수행되는지를 보여준다. A-상태를 검증하기 위한 임계전압 레벨들이 도시된다(VvaL 및 VvA). 다른 상태들을 검증하기 위해서 다른 레벨들이 이용될 수도 있다. 비정밀/정밀 프로그래밍 기법의 다양한 대안예들 및 실시예들이 또한 이용될 수 있다. 그래프의 신호들은, 프로그래밍 프로세스의 비정밀 페이즈(phase)에서 시작한다. 따라서, 메모리 셀의 임계전압 Vt는 상대적으로 낮다. 메모리 셀의 임계전압이 전압 VvaL에 도달하면, 메모리 셀은 메모리 셀의 비트라인 전압을 VI 값으로 상승시킴에 의해서 정밀 프로그래밍 페이즈에 진입하며, 이는 프로그래밍을 느리게 하기 위한 것이다. 정밀 프로그래밍 페이즈 동안에는, 비정밀 프로그래밍 페이즈에 비하여 프로그래밍이 느려진다. 따라서, 프로그램 스텝 당 임계전압의 변화는, 정밀 프로그래밍 페이즈 동안에 작아지는 경향이 있다. 메모리 셀의 임계전압이 타겟 임계전압 레벨인 VvA에 도달할 때까지, 메모리 셀은 정밀 프로그래밍 페이즈에 남아 있을 것이다. 메모리 셀의 임계전압이 VvA에 도달하면, 메모리 셀의 비트라인 전압은 Vdd로 상승될 수 있으며, 따라서 그 메모리 셀에 대한 후속 프로그래밍이 금지된다. 일실시예에서, VvaL 은 VvA 보다 하나의 Vpgm 스텝 사이즈 만큼 작다. 다른 실시예들에서, VvaL과 VvA 사이의 차이는 더 크거나 혹은 더 작을 수 있다. 도7d는 검증 동안의 비트라인 전압들과 대조적으로, 프로그램 펄스들이 인가되는 때의 비트라인 전압들을 도시하고 있음을 유의해야 한다. 검증 동안의 비트라인 전압들은 나중에 상세히 설명될 것이다.
도8a는 프로그래밍 프로세스 동안에 메모리 셀을 검증하기 위한 프로세스(800)의 일실시예에 대한 순서도이다. 메모리 셀들을 검증하는 경우, 소정의 바이어스 조건들이 비트라인에 인가된다. 예를 들어, 일부 비트라인들은 선행-충전(pre-charge)되며 그리고 다른 비트라인들은 접지된다. 일실시예에서, 비트라인들을 바이어싱하는 것은, 각각의 메모리 셀이 프로그래밍되고 있는 상태(혹은 이미 프로그래밍된 상태)에 의존한다. 도8b는 메모리 셀을 판독하기 위한 프로세스(800)의 일실시예에 대한 순서도이다. 특정 상태를 판독하는 경우, 비트라인들은 그 상태에 대한 검증 동안에 이용되었던 비트라인 바이어싱에 실질적으로 매칭되는 방식으로 바이어싱된다. 따라서, 판독중인 메모리 셀들에 이웃하는 대부분의 메모리 셀들의 채널 전위는, 그 상태를 검증하는 동안의 이웃 메모리 셀의 채널 전위에 매칭된다. 이러한 것은, 채널 커플링 효과를 감소 혹은 제거한다.
도8a의 프로세스는 도7b의 검증 단계 740, 도7c의 비정밀 검증 단계 756 또는 도7c의 정밀 검증 단계 770 동안에 이용될 수 있다. 몇몇 실시예에서는, 프로세스(800)는 도7c의 정밀 검증 단계 770를 위해 이용되지만, 도7c의 비정밀 검증 단계 756를 위해서는 이용되지 않는다는 점을 유의해야 한다. 또한, 상기 프로세스(800)는 프로그래밍 프로세스의 모든 이터레이션을 위해 수행될 필요는 없다는 점을 유의해야 한다. 따라서, 프로세스(800)는 각각의 검증 동작에 대해서 수행될 필요는 없다. 예를 들어, 프로세스는 도7b의 단계 740의 모든 이터레이션들에 대해서 사용될 필요는 없다. 따라서, 도7a의 프로그래밍 프로세스(700)의 모든 이터레이션의 검증 동안의 이웃의 채널 전위와 판독 동안의 이웃의 채널 전위가 매칭되는 것은 필수 요건은 아니다. 일실시예에서는, 프로세스(800)는 소정의 메모리 셀이 검증되는 최종 시간에 적어도 이용된다.
프로세스(800)는 검증되고 있는 각각의 상태에 대해서 반복됨을 유의해야 한다. 따라서, 각각의 이터레이션으로 서로 다른 상태들이 검증될 수 있다. 예를 들면, A-상태로 프로그래밍되고 있는 이들 메모리 셀들의 임계전압은 소정의 이터레이션 동안에 VvA와 비교된다. 단계 804에서, 소정 상태를 검증하기 위한 제 1 바이어스 조건들이 비트라인 상에 확립된다. 본 명세서에서 "제 1 바이어스 조건들" 이라는 용어는 검증 동안에 사용되는 비트라인 바이어스 조건들을 지칭한다. 본 명세서에서 "제 2 바이어스 조건들" 이라는 용어는 판독 동안에 사용되는 비트라인 바이어스 조건들을 지칭한다. 각각의 프로그램된 상태를 검증하는 때에 제 1 바이어스 조건들의 개별 세트가 확립될 수 있다. 비트라인을 바이어싱하는 것은, 비트라인 상의 비휘발성 저장소자들이 프로그래밍되고 있는 목표 상태에 기초할 수도 있다.
일실시예에서는, 제 1 그룹의 비트라인들에게 제 1 전압이 인가되는바, 제 1 그룹의 비트라인들은, 검증되는 상태로 프로그래밍되고 있는 메모리 셀을 갖는 이들 비트라인들을 적어도 포함한다. 상기 제 1 그룹은 검증되는 상태로 프로그래밍되고있지 않은 메모리 셀들을 갖는 비트라인들을 포함할 수도 있다. 일실시예에서, 제 1 그룹의 비휘발성 저장소자들은 검증 동작 동안에 제 1 채널 전위를 갖는다. 일실시예에서, 제 1 그룹에 속하지 않은 메모리 셀들의 모든 비트라인들은 제 2 그룹에 속한다. 제 2 그룹의 비트라인들은, 검증되는 상태 이외의 프로그램 상태로 프로그래밍될 예정인 비휘발성 저장소자를 갖는 몇몇 비트라인들을 적어도 포함할 수 있다. 제 2 그룹의 메모리 셀들은 접지될 수 있다. 비트라인들을 접지시킴으로써, 전력이 절약될 수 있다. 또한, 피크 전류가 감소될 수 있다.
단계 806에서, 검증 중인 메모리 셀을 갖는 각 비트라인의 조건이 테스트되는바, 이는 소정의 프로그램된 상태로 각각의 메모리 셀이 프로그래밍되는지의 여부를 검증하기 위한 것이다. 예를 들면, 상기 제 1 바이어스 조건들이 확립된 이후에 그 비트라인 상의 선택된 메모리 셀의 도통 전류를 측정하기 위하여, 감지 증폭기가 비트라인 전류를 측정할 수 있다. 검증 중인 메모리 셀을 갖는 오직 이들 비트라인들만이 테스트될 필요가 있음을 유의해야 한다. 제 1 바이어스 조건들은 검증 중인 메모리 셀들의 이웃들인 메모리 셀들의 채널 전위에 충격을 줄 수 있다. 예를 들어, 상기 이웃들의 비트라인은 소정 전압으로 충전되거나 혹은 접지될 수도 있다. 일실시예에서, 상기 이웃들의 비트라인은 0.4 V로 충전되거나 혹은 접지될 수 있다. 하지만, 다른 전압들이 이용될 수도 있다. 전술한 바와 같이, 비트라인 바이어싱은, 그 비트라인 상의 메모리 셀이 프로그래밍되고 있는 상태(혹은 이미 프로그래밍된 상태)에 의존할 수도 있다. 하나의 일례로서, 이웃 메모리 셀이 현재 검증되는 상태로 혹은 현재 검증되는 상태보다 낮은 상태로 프로그래밍되고 있다면(혹은, 이미 프로그래밍되었다면), 상기 이웃의 비트라인은 선행-충전될 수 있다. 그렇지 않다면, 상기 이웃의 비트라인은 접지될 수 있다. 따라서, 소정 상태로 프로그래밍되고 있는 비휘발성 저장소자들의 이웃들인 비휘발성 저장소자들은 상기 소정 상태의 검증 동안에 채널 전위를 가질 수 있는데, 이 채널 전위는 이웃 비휘발성 저장소자가 프로그래밍된 상태 혹은 프로그래밍 중인 상태에 의존한다. 아래에 서술된 것들을 포함하지만 이에 한정되지 않는, 다른 많은 비트라인 바이어싱 체계들이 또한 가능하다.
만일, 검증될 더 많은 상태들이 존재한다면(단계 808), 제 1 바이어스 조건들의 또 다른 세트를 확립하도록 단계 804가 다시 수행될 수 있다. 하지만, 이번에는, 제 1 바이어스 조건들은 검증되는 다음 상태를 위한 것이다. 이들 비트라인 바이어스 조건들은 이전의 것들과 다를 수도 있음을 유의해야 한다. 따라서, 제 1 바이어스 조건들은 검증 중인 상태에 의존할 수도 있다. 모든 상태들이 검증되면, 프로세스(800)는 종료한다. 프로세스(800)를 수행한 이후에, 각각의 비트라인에 대해서 소정 단계가 수행되어, 각각의 메모리 셀에 대해서 검증이 통과되었는지의 여부를 판별할 수도 있다. 예를 들면, 도7b의 단계 742, 도7c의 단계 758 혹은 770 중 하나가 수행될 수도 있다. 도7b 혹은 도7c의 프로세스를 완료한 이후, 도7a의 단계 724가 수행되어 모든 메모리 셀들이 검증을 통과하였는지의 여부를 판별할 수 있다. 만일, 통과하지 못했다면, 하나 이상의 추가적인 프로그램 펄스들이 도7a의 단계 720에서 인가될 수 있다. 결과적으로, 검증된 메모리 셀들과 함께 프로그래밍이 완료된다.
나중의 소정 시점에서, 저장된 데이터에 액세스하기 위하여, 프로그램된 메모리 셀들이 판독될 수 있다. 메모리 셀들을 판독하기 위하여 도8b의 프로세스(820)가 수행될 수 있다. 전술한 바와 같이, "제 2 바이어스 조건들" 이라는 용어는, 판독 동안의 비트라인 바이어스 조건들을 지칭하는데 이용될 것이다. 프로세스(820)는 제 2 비트라인 바이어스 조건들을 제 1 비트라인 바이어스 조건들에 실질적으로 매칭시킬 수 있다. 따라서, 타겟 메모리 셀의 판독 동안에 대부분의 이웃 메모리 셀들이 갖는 채널 전위는 검증 동안에 이웃 메모리 셀들이 가졌던 채널 전위에 매칭될 수 있다. 이러한 것은, 검증과 판독 간의 채널 커플링 효과들의 차이들을 감소시키거나 제거한다. 모든 이웃 메모리 셀들이 검증과 판독 동안에 동일한 채널 전위를 가져야할 필요는 없음을 유의해야 한다.
단계 822에서, 선택 워드라인에 관계된 비휘발성 저장소자들에 대한 적어도 하나의 개략적 판독(rough read)이 판독 프로세스 동안에 수행된다. 개략적 판독을 수행하는 때에, 비트라인 조건들이 판독 동안의 제 1 비트라인 조건들과 매칭될 필요는 없다는 점을 유의해야 한다. 예를 들어, 일부 실시예에서는 개략적 판독을 수행하는 때, 모든 비트라인들은 소정 전압으로 충전된다. 또한, 설명의 편의를 위해서 단계 822가 다른 단계들 이전에 발생하는 것으로 도시되어 있지만, 하나 이상의 개략적 판독들이 프로세스(820)의 다른 포인트들에서 발생할 수도 있음을 유의해야 한다. 개략적 판독을 수행하는 것에 관한 좀더 상세한 내용은 이후에 설명될 것이다.
단계 824-828은 판독 프로세스 동안에 판독되는 각각의 상태에 대해서 반복되는 루프를 형성한다. 예를 들어 도6c를 참조하면, 각각의 판독 전압 VrA ~ VrC 에 대해서 하나의 이터레이션이 수행될 수 있다. 본 명세서에서 사용되는 "상태를 판독한다" 라는 용어는, 메모리 셀의 임계전압이 상기 상태와 관련된 전압 레벨(가령, VrA)을 적어도 갖는지를 판별하는 것을 지칭한다. 메모리 셀이 실제로 A-상태에 있는지를 최종적으로 판별하기 위하여, 메모리 셀의 임계전압은 VrB 와도 비교되어야만 한다.
단계 824에서, 판독 프로세스 동안에 판독되는 현재 상태에 대한 제 2 바이어스 조건들이 확립된다. 판독 프로세스 동안 판독되는 각각의 상태에 대하여 제 2 바이어스 조건들의 별도의 세트가 확립될 수도 있다. 소정 상태에 대한 제 2 바이어스 조건들은, 상기 소정 상태의 검증 동안에 이용되는 제 1 비트라인 바이어스 조건들과 실질적으로 매칭될 수 있다. 예를 들어, 만일 A-상태가 판독 중이라면, 제 2 비트라인 바이어스 조건들은 A-상태를 검증하는 경우에 이용되는 제 1 비트라인 바이어스 조건들에 실질적으로 매치될 수 있다. 일부 실시예들에서, 제 2 세트의 바이어스 조건들은 단계 822의 하나 이상의 개략적 판독들에 기초한다. 전술한 바와 같이, 주어진 메모리 셀에 대해서 검증이 복수회 수행될 수도 있다. 일부 실시예들에서, 제 2 비트라인 바이어스 조건들은, 메모리 셀이 적어도 마지막으로 검증되는 때에 이용되는 제 1 비트라인 바이어스 조건에 매칭될 수 있다. 다음과 같은 점을 유념해야 하는바, 소정 상태를 판독할 때에 제 2 바이어스 조건들을 확립하는 것은, 상기 소정 상태로 프로그래밍된 비휘발성 저장소자들의 이웃인 실질적으로 모든 비휘발성 저장소자들이 상기 소정 상태를 검증할 때의 상기 이웃의 채널 전위에 매칭되는 채널 전위를 갖게 할 수도 있다는 점을 유의해야 한다.
일부 실시예들에서, 개략적 판독으로부터의 데이터는, 각각의 비트라인에 어떤 전압이 인가되어야만 하는지를 결정하는데 이용된다. 예를 들면, 제 2 바이어스 조건들은, 개략적 판독들이 나타내는, 비트라인 상의 선택된 메모리 셀이 어떤 상태로 프로그래밍되었는지에 기초할 수 있다. 일부 실시예들에서, 개략적 판독 그 자체는, 제 2 비트라인 바이어스를 확립하는데 도움을 줄 수 있다. 예를 들어, 개략적 판독은, 원하는 레벨의 비트라인 전위를 확립하도록 비트라인을 방전시킬 수도 있다. 일부 실시예들에서, 제 2 바이어스 조건들을 확립하는 것은, 제 1 그룹의 비트라인들을 소정 전압으로 선행-충전시키고 그리고 제 2 그룹의 비트라인들을 접지시키는 것을 포함한다.
단계 826에서, 판독 프로세스 동안 제 2 바이어스 조건들을 확립한 이후에 비트라인들이 감지된다. 모든 비트라인들이 감지될 필요는 없음을 유의해야 한다. 일부 실시예들에서는, 선행-충전된 비트라인들이 감지되며 그리고 접지된 비트라인들은 감지되지 않는다. 비트라인들을 감지함으로써, 비트라인 상의 메모리 셀이, 판독되는 상태에 대한 전압 레벨보다 높은 임계전압을 갖고 있는지 혹은 낮은 임계전압을 갖고 있는지의 여부가 판별된다. 예를 들면, A-상태를 판독하는 경우, 감지하는 것은, 메모리 셀이 VrA 보다 높거나 혹은 낮은 Vt를 갖는지의 여부를 판별한다.
현재 상태에 대한 검증 동안에 인가된 전압을 가졌던 비트라인들과 현재 상태에 대한 판독 동안에 인가된 전압을 가졌던 비트라인들 간의 정확한 일치는 없을 수도 있다는 점을 유의해야 한다. 또한, 검증 동안에 접지되었던 비트라인들과 판독 동안에 접지되었던 비트라인들 간의 정확한 일치는 없을 수도 있다는 점을 유의해야 한다. 하지만, 검증중이거나 혹은 판독중인 메모리 셀을 갖는 그 어떤 비트라인도 접지되지 않아야 한다. 비록, 검증 및 판독 동안의 비트라인 전압들 간의 정확한 일치가 존재하지 않는다 하여도, 대부분의 메모리 셀들의 경우, 이웃 비트라인들은 판독 및 검증 동안에 동일한 전위에 있을 것이다. 따라서, 판독중인 대부분의 타겟 메모리 셀들의 이웃들의 채널 전위는 판독 및 검증 동안에 동일할 것이다. 결과적으로, 검증 및 판독 간의 채널 커플링 효과로 인한 차이들이 완화된다.
"제 1 그룹의 메모리 셀들" 이라는 용어는 일실시예에 따른 검증 동안에 그 비트라인들이 충전되는 메모리 셀들을 지칭하는데 이용될 것이다. 일실시예에서, 검증 동안의 제 1 룹의 메모리 셀들은, 검증되는 상태로 프로그래밍중인 메모리 셀들과 검증되는 상태 바로 아래의 상태로 프로그래밍중인 메모리 셀들이다. 도9a는 프로그래밍 동안의 임계전압 분포들의 일례를 도시한다. 도9a에는 8개의 서로 다른 임계전압 분포 커브들이 도시되어 있다. 각각의 커브는 데이터 상태들(예컨대, 소거 상태 및 프로그래밍된 상태 A~G) 중 하나에 대응한다. Vt 축 상에는 검증 전압들 VvA ~ VvG 가 도시되어 있다. 하위 상태들 중 일부에 대해서 프로그래밍이 완료되었음을 유의해야 한다. 예를 들어, A-상태로 프로그래밍되는 모든 메모리 셀들은 VvA 보다 위이며, B-상태로 프로그래밍되는 모든 메모리 셀들은 VvB 보다 위이다. 하지만, 다른 상태들에 대해서는, 적어도 몇몇 메모리 셀들이 해당 검증 레벨보다 여전히 아래에 있다.
도9a에는 점선 박스가 도시되어 있는데, 이는 D-상태 혹은 E-상태로 프로그래밍되는 메모리 셀들의 비트라인들이 E-상태에 대한 검증 동안에 충전됨을 나타낸다. 하지만, 이러한 실시예에서 임의의 다른 상태로 프로그래밍되는 메모리 셀들에 대한 비트라인들은 E-상태를 검증하는 때에 접지된다. C-상태 혹은 F-상태로 프로그래밍되는 메모리 셀들은 E-상태를 검증하는 동안에 그들의 비트라인들이 충전되지 않는다는 점을 유의해야 한다.
도9b는 프로그래밍이 완료된 이후에 임계전압 분포들의 일례를 도시한다. 판독 기준 전압들 VrA ~ VrG가 Vt 축 상에 도시된다. E-상태를 판독하는 경우, 먼저 개략적 판독(rough read)이 수행되는바, 이는 어떤 메모리 셀들이 VrD ~ VrF 사이의 임계전압(Vt)을 갖는지를 개략적으로 판별하기 위한 것이다. 이러한 판독은 어떤 메모리 셀들이 D-상태 혹은 E-상태 중 어느 하나에 있는지를 개략적으로 판별한다. 이어서, 정밀 판독(fine read)이 수행되는데, 정밀 판독에서는, D-상태 혹은 E-상태 중 어느 하나에 있다고 개략적으로 판별되었던 이들 메모리 셀들에 대한 비트라인들이 충전된다. 하지만, 다른 메모리 셀들에 대한 비트라인들은 접지된다. 따라서, 판독되는 메모리 셀들에 대한 이웃의 채널 전위는, 검증 동안의 이웃의 채널 전위였던 것에 매칭될 것이다.
도10a는 검증 동안 제 1 바이어스 조건들을 확립하기 위한 프로세스(1000)의 일실시예에 대한 순서도이다. 프로세스(1000)는 검증 프로세스(800)의 단계 804의 일실시예이다. 프로세스(1000)에서, 검증되는 메모리 셀들 및 바로 아래의 상태에 있는 메모리 셀들의 비트라인들은 충전되며 그리고 다른 비트라인들은 충전되지 않는다. 따라서, 프로세스(1000)는 도9a에 도시된 기법을 이용할 수도 있다. 단계 1002에서, 검증되는 메모리 셀들 및 바로 아래의 상태에 있는 메모리 셀들의 비트라인들이 충전된다. 예를 들면, A-상태로 프로그래밍되는 메모리 셀들과 소거 상태에 남아있는 메모리 셀들의 비트라인들이 충전된다. 이러한 비트라인들은, 메모리 셀들의 임계전압이 VvA에 비교되는 것을 허용하기에 적절한 레벨로 충전될 수 있다. 단계 1004에서, 다른 비트라인들은 접지된다.
비트라인 바이어스 조건들을 확립한 이후, 검증되는 상태로 프로그래밍되는 메모리 셀들이 감지되는데, 이는 프로세스(800)의 단계 806에 서술된 바와 같이, 이들 메모리 셀들의 Vt가 검증 레벨에 있는지를 판별하기 위한 것이다. 예를 들면, A-상태로 프로그래밍되는 메모리 셀들이 감지된다. 검증 레벨에 도달한 메모리 셀들은 후속 프로그래밍으로부터 록 아웃될 수도 있다. 이후, 프로세스(1000)는 다른 상태를 검증하도록 반복될 수 있다. 예를 들어, B-상태가 검증되는 경우, B-상태로 프로그래밍된 메모리 셀들과 A-상태로 프로그래밍된 메모리 셀들의 비트라인들이 충전된다. 다른 비트라인들은 단계 1004에서 접지된다.
도10b는 개략적 판독들을 수행하는 프로세스(1020)의 일실시예에 대한 순서도이다. 이러한 실시예에서, 개략적 판독은 각각의 메모리 셀이 어떤 상태에 있는지를 개략적으로 판별하는데 이용된다. 이러한 것은 개략적 판독이라고 지칭될 수도 있는데, 왜냐하면, 개략적 판독으로부터 학습된 정보에 기초하여 판독이 나중에 개선(refine)될 것이기 때문이다. 예를 들어, 상기 정보는 각각의 상태에서 판독하는 때에 어떤 비트라인들을 충전할지를 판별하는데 이용될 것이다. 프로세스(1020)는 프로세스(820)의 단계 822의 일실시예를 설명한다. 도10c는 개략적 판독들에 기초하여 제 2 비트라인 바이어스 조건들을 확립하는 프로세스(1040)의 일실시예에 대한 순서도이다. 프로세스(1040)는 프로세스(820)의 단계 824의 일실시예를 설명한다. 일반적으로, 프로세스들(1020, 1040)은 메모리 셀을 판독할 때에 함께 이용되며 그리고 프로그래밍 동안에 메모리 셀들을 검증하기 위해 도10a의 프로세스(1000)가 이용되었다면, 프로세스들(1020, 1040)이 이용될 수 있다.
도10b의 단계 1022에서, 모든 비트라인들은 메모리 셀들을 감지하기에 적절한 소정 전압으로 선행-충전된다. 예를 들면, 0.4V 가 모든 비트라인에 인가될 수 있다. 도10b의 단계 1024에서, 메모리 셀에 대한 판독이 주어진 레벨에서 수행된다. 예를 들면, 어떤 메모리 셀이 VrA 보다 높은 Vt 를 갖고 있는지를 판별하기 위해서 판독이 수행된다. 판독을 수행하기 위하여, VrA 전압이 선택 워드라인에 인가될 수 있다. 다음으로, 각 비트라인의 도통 전류가 감지될 수 있다. 감지 동작의 결과들은 래치 혹은 다른 저장 유닛에 저장될 수 있다. 일실시예에서, 이러한 판독은 전 비트라인(all bit line : ABL) 판독이다. ABL 판독에서는, 홀수 비트라인들과 짝수 비트라인들 둘다가 함께 감지된다. 하지만, ABL 감지가 필수적인 것은 아니다. 예를 들면, 짝수 및 홀수 비트라인들은 별도로 판독될 수도 있다. 메모리 셀들을 판독하는 일실시예에 관한 좀더 상세한 내용은 이후에 설명될 것이다.
만일 판독할 상태들이 더 있다면, 프로세스(1020)는 단계 1024로 되돌아가서 다음 상태를 판독한다. 일실시예에서는 A-상태로부터 위쪽으로 판독이 진행된다. 일부 실시예들에서, 판독(reading)은, 임계전압(Vt)이 판독 비교 레벨 보다 아래인 메모리 셀들을 가지는 비트라인들이 방전되게 한다. 예를 들어, VrA 에서의 판독은, 소거된 메모리 셀들의 비트라인들이 방전되게 할 수 있다. 하지만, 다른 메모리 셀들의 비트라인들은 판독의 결과로 방전되지 않을 것이다. 따라서, 판독이 A-상태로부터 위쪽으로 진행한다면, 이들 비트라인들은 다시 재충전될 필요는 없다. 하지만, 판독이 반드시 임의의 특정한 순서로 수행되어야할 필요는 없다. 또한, 소정의 비트라인들이 방전되는 것을 방지하는 방식으로 판독이 수행될 필요는 없다. 모든 상태들이 판독된 이후에, 프로세스(1020)가 종료한다.
프로세스(1020)의 완료 이후, 도10c의 프로세스(1040)가 수행될 수 있다. 전술한 바와 같이, 프로세스(1040)는 소정 상태를 판독하기 위하여 비트라인들 상에 제 2 바이어스 조건들을 확립한다. 판독되는 각각의 상태에 대하여 서로 다른 세트의 제 2 바이어스 조건들이 확립될 수도 있음을 상기해야 한다. 도10c의 단계 1024에서, 판독되는 상태와 그 바로 아래의 상태에 대한 비트라인들이 충전된다. 예를 들면, 프로세스의 개략적 판독으로부터의 정보에 기초하여, A-상태와 소거된 상태에 있다고 개략적으로 판별된 메모리 셀들의 비트라인들이 충전된다. 다른 모든 비트라인들은 단계 1046에서 접지될 수 있다. 앞의 일례는 A-상태가 현재 판독중이라고 가정한다. 따라서, 비트라인 바이어스 조건들은, A-상태를 검증할 때 인가되었던 비트라인 바이어스 조건들에 매우 근접하게 매칭될 수 있다.
비트라인 바이어스 조건들을 확립한 이후, 판독되는 현재 상태에 대하여 도8b의 단계 826이 수행될 수 있다. 예를 들면, 메모리 셀들이 VrA 보다 높은/낮은 Vt를 갖는지를 테스트하기 위하여, 적절한 판독 전압이 선택 워드라인에 인가될 수 있다. 이후, 프로세스(1040)가 반복되어, 다른 상태에 대한 제 2 비트라인 바이어스 조건들 확립할 수 있다. 예를 들어, B-상태가 다음에 판독될 상태라면, B-상태로 프로그래밍된다고 개략적으로 판별된 메모리 셀들과 A-상태로 프로그래밍된다고 개략적으로 판별된 메모리 셀들에 대한 비트라인들이 충전될 수 있다. 모든 상태들을 개략적으로 판독하는 상기 프로세스(1020)가 다시 수행될 필요는 없다는 점을 유의해야 한다. 대신에, 이전에 판독된 데이터가 사용될 수 있다.
도11a는 검증 동안에 제 1 바이어스 조건들을 확립하기 위한 프로세스(1100)의 일실시예에 대한 순서도이다. 프로세스(1100)는 검증 프로세스(800)의 단계 804의 일실시예이다. 프로세스(1100)에서, 검증되는 메모리 셀들의 비트라인들은 충전되며 그리고 다른 비트라인들은 충전되지 않는다. 단계 1102에서, 검증되는 메모리 셀들의 비트라인들이 충전된다. 예를 들어, A-상태로 프로그래밍되는 메모리 셀들의 비트라인들이 충전된다. 메모리 셀들의 임계전압이 VvA 와 비교될 수 있도록 적절한 레벨로 비트라인들이 충전될 수도 있다.
프로세스(1100)에서 비트라인 바이어스 조건들을 확립한 이후, 프로세스(800)의 단계 806에서 설명된 바와 같이, 검증 중인 상태로 프로그래밍되는 메모리 셀들이 감지될 수 있는데, 이는 이들의 Vt가 검증 레벨에 있는지를 판별하기 위한 것이다. 예를 들면, A-상태로 프로그래밍되는 메모리 셀들이 감지된다. 검증 레벨에 도달한 메모리 셀들은 후속 프로그래밍으로부터 록 아웃될 수 있다. 따라서, B-상태가 검증 중인 때에, B-상태로 프로그래밍되는 메모리 셀들이 충전될 수 있으며 그리고 다른 모든 비트라인들은 접지될 수 있다. 프로세스(1100)는 검증되는 각각의 상태에 대해서 반복될 수도 있다.
도11b는 메모리 셀들을 판독하기 위한 프로세스(1120)의 일실시예에 대한 순서도이다. 프로세스(1120)는 도8b의 프로세스(820)의 단계 822 내지 828에 대한 일실시예를 설명한다. 채널 커플링의 효과를 완화시키기 위하여 메모리 셀들을 검증하는 때에 프로세스(1100)가 이용되었던 경우, 프로세스(1120)가 이용될 수도 있다. 프로세스(1120)는 4개의 상태들 즉, 소거 상태, A-상태, B-상태 및 C-상태를 갖는 실시예를 설명한다. 하지만, 프로세스(1120)는 더 많거나 혹은 더 적은 상태들에 대해서도 적용될 수 있다. 일반적으로, 프로세스(1120)는 최상위 상태로부터 최하위 상태의 순서로 상태들을 판독하는 것을 포함한다. 예를 들면, C-상태가 판독되고 다음에는 B-상태, 다음에는 A-상태가 판독된다.
단계 1122에서, 모든 비트라인들이 선행-충전된다. 모든 비트라인들을 충전하는 것이 반드시 필요하지는 않다는 점의 유의해야 한다. 하지만, 모든 비트라인들을 충전하는 것은, 모든 비트라인들(홀수 및 짝수)이 함께 판독되는 것을 허용하며, 이는 시간을 절약한다.
단계 1124에서, C-상태에서 개략적 판독이 수행된다. C-상태에서 개략적 판독을 수행하는 것은, C-상태 보다 아래인 임의의 상태에 있는 메모리 셀들의 비트라인들을 방전시킬 수 있다. 예를 들어, C-상태를 위한 판독 레벨(예컨대, VrC) 보다 작은 임계전압 레벨을 갖는 메모리 셀들은 큰 전류를 도통시킬 수도 있는 반면에, VrC 보다 큰 임계전압 레벨을 갖는 메모리 셀들은 아주 작은 전류만을 도통시킬 것이다(혹은 전류를 도통시키지 않음). 큰 도통 전류는 비트라인을 방전시킬 수도 있다. 대안적으로는, 큰 도통 전류를 갖는 비트라인들이 검출될 수 있으며 그리고 예컨대, 이들 비트라인들을 접지시킴으로써 섯 다운(shut down)될 수 있다. 하지만, C-상태에 있는 메모리 셀들에 대한 비트라인들은 방전되지 않아야 한다. 따라서, 개략적 판독 이후, C-상태로 프로그래밍되는 메모리 셀들의 비트라인들만이 충전된 상태로 남는다. 따라서, C-상태에서의 개략적 판독은 제 2 비트라인 바이어스 조건들을 확립한다. 제 2 비트라인 바이어스 조건들은, 도11a의 프로세스(1100)를 이용하는 경우 C-상태의 검증 동안에 확립되었던 제 1 비트라인 바이어스 조건들과 매칭됨을 유의해야 한다. 따라서, 단계 1122 및 1124는 제 2 비트라인 바이어스 조건들을 확립하는 단계 824의 일실시예이다.
C-상태에서의 개략적 판독이 판독의 결과들을 세이브(save)할 필요는 없다는 점을 유의해야 한다. 따라서, 어떤 메모리 셀들이 VrC 보다 높은 Vt를 갖는지를 판별할 필요는 없다. 일실시예에서, 개략적 판독은 투-스트로브 판독(two-strobe read)의 제 1 스트로브이다. 투-스트로브 판독(two-strobe)의 일실시예에 대한 좀더 상세한 내용은 이후에 설명될 것이다. 일실시예에서, 개략적 판독은 다중-스트로브 판독(multi-strobe read)의 최종 스트로브를 제외한 모든 것을 포함한다.
단계 1124에서, C-상태에서 또 다른 판독이 수행된다. 예를 들면, VrC에서 판독이 수행된다. 예를 들면, 제 2 비트라인 조건들이 확립된 이후에 선택 워드라인에 전압 VrC가 인가된다. 단계 1124는 어떤 메모리 셀들이 적어도 VrC의 임계전압을 갖는지를 판별한다. 이러한 일례에서는 C-상태가 최상위 상태이기 때문에, C-상태에 있는 메모리 셀들이 판별된다. 일실시예에서 단계 1124의 판독은, 단계 1122에서 이용된 투-스트로브 판독의 제 2 스트로브이다. 일실시예에서 단계 1124의 판독은, 단계 1122에서 이용된 다중-스트로브 판독의 최종 스트로브이다.
단계 1128에서 모든 비트라인들이 다시 한번 충전될 수 있다. 단계 1130에서, B-상태에서 개략적 판독이 수행된다. B-상태에서 개략적 판독을 수행하는 것은, B-상태 보다 아래인 임의의 상태에 있는 메모리 셀들의 비트라인들을 방전시킬 수 있다. 예를 들어, B-상태를 위한 판독 레벨(예컨대, VrB) 보다 작은 임계전압 레벨을 갖는 메모리 셀들은 큰 전류를 도통시킬 것인 반면에, VrB 보다 큰 임계전압 레벨을 갖는 메모리 셀들은 큰 전류를 도통시키지 않을 것이다. 따라서, B-상태에서의 개략적 판독 이후, B-상태 혹은 C-상태로 프로그래밍되는 메모리 셀들의 비트라인들만이 충전된 상태로 남는다.
단계 1132에서, C-상태에 있다고 판별되었던 메모리 셀들의 비트라인들이 방전된다. 따라서, B-상태에서 개략적 판독을 수행하고 그리고 C-상태 비트라인들을 방전시킴에 의해서 제 2 비트라인 조건들이 확립된다. 다시 한번 강조하면, 제 2 비트라인 바이어스 조건들은, 도11a의 프로세스(1100)를 이용하는 경우 B-상태의 검증 동안에 확립되었던 제 1 비트라인 바이어스 조건들과 매칭됨을 유의해야 한다. 따라서, 단계 1128, 1130 및 1132는 제 2 비트라인 조건들을 확립하는 단계 824의 일실시예이다. 일실시예에서는, B-상태에서 개략적 판독을 수행하기 이전에 C-상태 메모리 셀들의 비트라인들이 방전되도록, 단계 1130과 단계 1132가 역전된다. 일실시예에서는, 단계 1128에서 모든 비트라인들을 선행-충전한다기 보다는, C-상태 메모리 셀들을 갖는 비트라인들이 방전되지 않는데, 따라서 단계 1132는 불필요하다.
단계 1134에서, 또 다른 판독이 B-상태에서 수행된다. 예를 들면, VrB 에서 판독이 수행된다. 예를 들어, 제 2 비트라인 조건들이 확립된 이후에 전압 VrB 가 선택 워드라인에 인가된다. 단계 1134는 어떤 메모리 셀들이 적어도 VrB의 임계전압을 갖고 있는지를 판별한다. 왜냐하면 C-상태 메모리 셀들이 이미 판별되었기 때문에 단계 1134는 어떤 메모리 셀들이 B-상태에 있는지를 판별한다. 일실시예에서, B-상태에서의 개략적 판독과 그리고 제 2 판독은 투-스트로브 판독의 제 1 및 제 2 스트로브에 대응한다. 하지만, 개략적 판독과 제 2 판독은 같은 투-스트로브 판독 동작의 일부가 될 필요는 없다. 또한, 투-스트로브 판독은, 어느 하나의 판독(either read)의 필수요건은 아니다.
단계 136에서 모든 비트라인들이 다시 충전될 수 있다. 단계 1138에서, A-상태에서 걔략적 판독이 수행된다. A-상태에서 개략적 판독을 수행하는 것은, A-상태 보다 아래인 임의의 상태에 있는 메모리 셀들의 비트라인들을 방전시킬 수 있다. 예를 들어, A-상태를 위한 판독 레벨(예컨대, VrA) 보다 작은 임계전압 레벨을 갖는 메모리 셀들은 큰 전류를 도통시킬 것인 반면에, VrA 보다 큰 임계전압 레벨을 갖는 메모리 셀들은 큰 전류를 도통시키지 않을 것이다. 따라서, A-상태에서의 개략적 판독 이후, A-상태, B-상태 혹은 C-상태 중 어느 하나로 프로그래밍되는 메모리 셀들의 비트라인들만이 충전된 상태로 남는다.
단계 1140에서, B-상태 혹은 C-상태에 있다고 판별되었던 메모리 셀들의 비트라인들이 방전된다. 따라서, A-상태에서 개략적 판독을 수행하고 그리고 B-상태 및 C-상태 비트라인들을 방전함에 의해서 제 2 비트라인 조건들이 확립된다. 다시 한번 강조하면, 제 2 비트라인 바이어스 조건들은, 도11a의 프로세스(1100)를 이용하는 경우 A-상태의 검증 동안에 확립되었던 제 1 비트라인 바이어스 조건들과 매칭됨을 유의해야 한다. 따라서, 단계 1136, 1138 및 1140는 제 2 비트라인 조건들을 확립하는 단계 824의 일실시예이다. 일실시예에서는, A-상태에서 개략적 판독을 수행하기 이전에 B-상태 및 C-상태 메모리 셀들의 비트라인들이 방전되도록, 단계 1138과 단계 1140이 역전된다. 일실시예에서는, 단계 1128에서 모든 비트라인들을 선행-충전한다기 보다는, B-상태 및 C-상태 메모리 셀들을 갖는 비트라인들이 방전되지 않는데, 따라서 단계 1140은 불필요하다.
단계 1142에서, 또 다른 판독이 A-상태에서 수행된다. 예를 들면, VrA 에서 판독이 수행된다. 예를 들어, 제 2 비트라인 조건들이 확립된 이후에 전압 VrA 가 선택 워드라인에 인가된다. 단계 1142는 어떤 메모리 셀들이 적어도 VrA의 임계전압을 갖고 있는지를 판별한다. 왜냐하면 B-상태 및 C-상태 메모리 셀들이 이미 판별되었기 때문에, 단계 1142는 어떤 메모리 셀들이 A-상태에 있는지를 판별한다. 따라서, 나머지 셀들은 소거 상태에 있다고 판별된다. 일실시예에서, A-상태에서의 개략적 판독과 그리고 A-상태에서의 제 2 판독은 투-스트로브 판독의 제 1 및 제 2 스트로브에 대응한다. 하지만, 개략적 판독과 제 2 판독은 같은 투-스트로브 판독 동작의 일부가 될 필요는 없다. 또한, 투-스트로브 판독은, 어느 하나의 판독의 필수요건은 아니다.
몇몇 실시예들에서는, 멀티-비트 메모리 셀들에 저장된 모든 비트들이 재판독(read back) 되는 것은 아니다. 예를 들어, 메모리 셀당 2 비트가 저장된다면, 하나의 옵션은, 오직 제 1 비트만을 재판독하거나 혹은 오직 제 2 비트만을 재판독하는 것이다. 이러한 것은, 하위 페이지만을 판독하는 것 혹은 상위 페이지만을 판독하는 것으로 지칭될 수도 있다. 도11a 및 도11b의 체계를 이용하는 일실시예에서, 하위 페이지만을 판독하는 것은 B-상태를 판독함에 의해서 성취될 수 있다. B-상태를 판독하는 경우, 도11a의 검증 동안에 이용되는 제 1 비트라인 조건들에 매칭되기 위하여, B-상태에 있는 메모리 셀들의 비트라인들만이 충전되어야함을 유의해야 한다. 따라서, B-상태에서의 제 1 개략적 판독이 수행되어, 소거 상태 혹은 A-상태에 있는 메모리 셀들의 비트라인들을 방전시키고 그리고 어떤 비트라인들이 B-상태 아래의 메모리 셀들을 갖는지를 판별할 수 있다. 이후, C-상태에서의 개략적 판독이 수행되어, 어떤 비트라인들이 C-상태에 있는 메모리 셀들을 갖는지를 판별할 수 있다. 다음으로, B-상태에 있다고 개략적으로 판별되는 메모리 셀들의 비트라인들만이 충전되며 그리고 B-상태에 대한 정밀 판독(fine read)이 수행된다. B-상태에 대한 정밀 판독은 어떤 메모리 셀들이 B-상태에 있는지 혹은 C-상태에 있는지를 판별하며, 이는 일실시예에서 하위 데이터 페이지이다.
도12a는 검증 동안에 제 1 바이어스 조건들을 확립하기 위한 프로세스(1200)의 일실시예에 대한 순서도이다. 프로세스(1200)는 검증 프로세스(800)의 단계 804의 일실시예이다. 프로세스(1200)에서, 검증 중인 상태로 프로그래밍되는 메모리 셀들의 비트라인들과 더 높은 모든 상태들이 충전된다. 다른 모든 비트라인들은 충전되지 않는다. 단계 1202에서, 검증 중인 메모리 셀들의 비트라인들과 그리고 더 높은 모든 상태들이 충전된다. 예를 들어, A-상태가 검증되는 경우라면, A-상태, B-상태 및 C-상태로 프로그래밍되는 메모리 셀들의 비트라인들이 충전된다. 이러한 것은 4개의 상태들 즉, 소거 상태, A-상태, B-상태 및 C-상태가 있다고 가정한 것이다. 더 많거나 더 적은 상태들에 대해서 프로세스(1200)가 수정될 수도 있다. 단계 1204에서, 다른 모든 비트라인들은 접지될 수 있다. 예를 들어, 소거 상태로 남아있는 메모리 셀들에 대한 비트라인들은 접지된다.
프로세스(1200)는 검증될 각각의 상태에 대해서 반복될 수도 있다. 예를 들어, B-상태를 검증하는 경우, B-상태 및 C-상태로 프로그래밍되는 메모리 셀들의 비트라인들은 단계 1202에서 충전된다. 소거된 상태를 유지하는 메모리 셀과 A-상태로 프로그램되는 메모리 셀의 비트라인은 단계 1204에서 접지될 수도 있다.
도12b는 개략적 판독을 수행하고 그리고 판독 동안 제 2 비트라인 조건들을 확립하기 위한 프로세스(1220)의 일실시예에 대한 순서도이다. 프로세스(1220)는 프로세스(820)의 단계 822 및 824의 일실시예를 설명한다. 메모리 셀들을 검증하는데 프로세스(1200)가 이용되었던 경우, 프로세스(1220)가 이용될 수 있다. 프로세스(1220)는 4개의 상태들 즉, 소거 상태, A-상태, B-상태, 및 C-상태를 갖는 일실시예를 설명한다. 하지만, 프로세스(1220)는 더 많은 상태들 혹은 더 적은 상태들에도 적용될 수 있다. 일반적으로, 프로세스(1220)는 최하위 상태로부터 최상위 상태의 순서로 상태들을 판독하는 것을 포함한다. 예를 들면, A-상태가 판독되고 다음에는 B-상태, 다음에는 C-상태가 판독된다.
단계 1222에서 모든 비트라인들이 선행-충전된다. 단계 1224에서, 개략적 판독이 A-상태에서 수행된다. A-상태에서 개략적 판독을 수행하는 것은, A-상태 보다 아래인 임의의 상태에 있는 메모리 셀들의 비트라인들을 방전시킬 수 있다. 예를 들어, A-상태를 위한 판독 레벨(예컨대, VrA) 보다 작은 임계전압 레벨을 갖는 메모리 셀들은 큰 전류를 도통시킬 수 있는 반면에, VrA 보다 큰 임계전압 레벨을 갖는 메모리 셀들은 큰 전류를 도통시키지 못할 것이다. 따라서, A-상태에서의 개략적 판독 이후, 소거된 메모리 셀들의 비트라인들만이 방전될 것이다. 몇몇 실시예들에서는, 큰 전류를 도통시키는 비트라인들이 검출될 수 있으며 그리고 예컨대, 이들 비트라인들을 접지시킴으로써 섯 다운(shut down)될 수 있다는 점을 유의해야 한다. 또한, 이들 비트라인 조건들은, 도12a의 프로세스(1200)를 이용하는 경우 A-상태의 검증 동안에 확립되었던 제 1 비트라인 바이어스 조건들과 매칭됨을 유의해야 한다. 즉, A-상태, B-상태, 및 C-상태에 있는 메모리 셀들에 대한 비트라인들은 충전되며, 반면에 다른 모든 비트라인들은 방전된다. 따라서, A-상태에서의 개략적 판독은 제 2 비트라인조건들을 확립한다. 따라서, 단계 1222 및 1224는 제 2 비트라인 바이어스 조건들을 확립하는 단계 824의 일실시예이다. 일실시예에서, A-상태에서의 개략적 판독은 투-스트로브 판독의 제 1 스트로브이다.
단계 1226에서, 또 다른 판독이 A-상태에서 수행된다. 예를 들면, VrA에서 판독이 수행된다. 예를 들면, 제 2 비트라인 조건들이 확립된 이후에 선택 워드라인에 전압 VrA가 인가된다. 단계 1226은 어떤 메모리 셀들이 적어도 VrA의 임계전압을 갖는지를 판별한다. 다음을 유의해야 하는바, 적어도 VrA의 임계전압을 갖는 메모리 셀들 중 일부는 B-상태 혹은 C-상태에 있을 수 있다. 따라서, A-상태에 있는 메모리 셀들은 아직 판별되지 않는다. 일실시예에서, 단계 1226의 판독은, 단계 1224의 투-스트로브 판독의 제 2 스트로브이다.
단계 1228에서, 개략적 판독이 B-상태에서 수행된다. B-상태에서 개략적 판독을 수행하는 것은, B-상태 보다 아래인 임의의 상태에 있는 메모리 셀들의 비트라인들을 방전시킬 수 있다. 예를 들어, B-상태를 위한 판독 레벨(예컨대, VrB) 보다 작은 임계전압 레벨을 갖는 메모리 셀들은 큰 전류를 도통시킬 수 있는 반면에, VrB 보다 큰 임계전압 레벨을 갖는 메모리 셀들은 큰 전류를 도통시키지 못할 것이다. 따라서, B-상태에서의 개략적 판독 이후, B-상태 혹은 C-상태 중 어느 하나로 프로그래밍되는 메모리 셀들의 비트라인들만이 충전된 채로 남는다. 일실시예에서, B-상태에서의 개략적 판독은, 투-스트로브 판독의 제 1 스트로브이다.
이들 비트라인 조건들은, 도12a의 프로세스(1200)를 이용하는 경우 B-상태에 대한 검증 동안에 확립되었던 제 1 비트라인 조건들에 매칭됨을 유의해야 한다. 즉, B-상태 및 C-상태에 있는 메모리 셀들에 대한 비트라인들은 충전되는 반면에 다른 모든 비트라인들은 방전된다. 따라서, B-상태에서의 개략적 판독은 제 2 비트라인 조건들을 확립한다. 따라서, 단계 1222 및 단계 1228은 제 2 비트라인 조건들(B-상태에 대한)을 확립하는 단계 824의 일실시예이다.
단계 1230에서, 또 다른 판독이 B-상태에서 수행된다. 예를 들면, VrB에서 판독이 수행된다. 예를 들면, 제 2 비트라인 조건들이 확립된 이후에 선택 워드라인에 전압 VrB가 인가된다. 단계 1230은 어떤 메모리 셀들이 적어도 VrB의 임계전압을 갖는지를 판별한다. 다음을 유의해야 하는바, 적어도 VrB의 임계전압을 갖는 메모리 셀들은 B-상태 혹은 C-상태에 있을 수 있다. 따라서, B-상태에 있는 메모리 셀들은 아직 판별되지 않는다. 하지만, A-상태에 있는 메모리 셀들은 이 시점에서 판별될 수 있다. 일실시예에서, 단계 1230의 판독은, 단계 1228의 투-스트로브 판독의 제 2 스트로브이다.
단계 1232에서, 개략적 판독이 C-상태에서 수행된다. C-상태에서 개략적 판독을 수행하는 것은, C-상태 보다 아래인 임의의 상태에 있는 메모리 셀들의 비트라인들을 방전시킬 수 있다. 예를 들어, C-상태를 위한 판독 레벨(예컨대, VrC) 보다 작은 임계전압 레벨을 갖는 메모리 셀들은 큰 전류를 도통시킬 것인 반면에, VrC 보다 큰 임계전압 레벨을 갖는 메모리 셀들은 큰 전류를 도통시키지 못할 것이다. 따라서, C-상태에서의 개략적 판독 이후, C-상태로 프로그래밍되는 메모리 셀들의 비트라인들만이 충전된 채로 남는다. 일실시예에서, C-상태에서의 개략적 판독은, 투-스트로브 판독의 제 1 스트로브이다.
이들 비트라인 조건들은, 도12a의 프로세스(1200)를 이용하는 경우 C-상태에 대한 검증 동안에 확립되었던 제 1 비트라인 조건들에 매칭됨을 유의해야 한다. 즉, C-상태에 있는 메모리 셀들에 대한 비트라인들은 충전되는 반면에 다른 모든 비트라인들은 방전된다. 따라서, C-상태에서의 개략적 판독은 제 2 비트라인 조건들을 확립한다(단계 1222의 선행-충전과 함께). 따라서, 단계 1222 및 단계 1232은 제 2 비트라인 조건들(C-상태에 대한)을 확립하는 단계 824의 일실시예이다.
단계 1234에서, 또 다른 판독이 C-상태에서 수행된다. 예를 들면, VrC에서 판독이 수행된다. 예를 들면, 제 2 비트라인 조건들이 확립된 이후에 선택 워드라인에 전압 VrC가 인가된다. 단계 1234는 어떤 메모리 셀들이 적어도 VrC의 임계전압을 갖는지를 판별한다. 다양한 레벨들에서의 판독들에 기초하여, 모든 메모리 셀들의 현재 상태가 이제 판별될 수 있다. 일실시예에서, 단계 1234의 판독은, 단계 1232의 투-스트로브 판독의 제 2 스트로브이다.
일실시예에서는, 검증 동안에 각각의 비트라인을 위해 이용되는 적어도 4개의 래치들이 존재한다. 예를 들어, 데이터 래치들(도5, 494)은, 비트라인 상의 메모리 셀들 내에 프로그래밍될 2 비트의 데이터를 저장하기 위한 2개의 데이터 래치들을 포함할 수 있다. 이는 4개의 데이터 상태들이 존재한다고 가정한 것이다. 4개의 데이터 상태들 보다 더 많거나 혹은 더 적은 데이터 상태들이 존재할 수 있으며 이 경우 2개의 데이터 래치들 보다 더 많거나 혹은 더 적은 데이터 래치들이 이용될 수 있다. 하나의 래치는, 메모리 셀이 후속 프로그래밍으로부터 금지되는지의 여부를 기록한다. 예를 들어, 비트라인 래치(도5, 482)는 소정 값을 저장할 수 있는데, 이 값은 연결된 비트라인을 프로그램 금지를 나타내는 상태(예컨대, Vdd)로 끌어당기게 할 것이다. 고속 패스 기입(Quick Pass Write : QPW) 래치는 메모리 셀이 QPW 모드에 있는지의 여부를 기록할 수 있다. 다음을 유의해야 하는바, 도5에 도시된 바와 같이 몇몇 래치들은 공통부(490)에 위치해야만 하고 다른 래치들은 감지 모듈(480)에 있어야만 하는 것은 아니다.
몇몇 실시예들에서는, 프로그래밍이 금지되어야만하는 지를 나타내는 표시를 저장하는 비트라인 래치(482)가 존재하지 않는다. 대신에, 메모리 셀이 그 타겟 임계전압으로 프로그래밍된 이후에, 데이터 래치들(494) 내의 프로그램 데이터가 겹쳐쓰기(overwrite)되는바, 이는 프로그래밍이 완료되었음을 나타내기 위한 것이다. 예를 들면, 메모리 셀이 그 타겟 임계전압으로 프로그래밍된 이후에, 데이터 래치들 내의 프로그램 데이터는 소거 상태에 대한 값들로 세팅된다. 소거 상태에 있는 메모리 셀들에 대해서는 프로그래밍이 수행될 필요가 없기 때문에, 이는 메모리 셀이 임의의 후속 프로그래밍을 받지 않을 것임을 의미한다라고 해석될 수 있다.
하지만, 일부 실시예들의 경우, 채널 커플링의 영향들이 판독 동안에 완화될 수 있도록, 검증 동안에 비트라인을 적절하게 바이어스 하기 위하여 메모리 셀이 어떤 상태로 프로그래밍되었는지를 아는 것이 바람직하다. 즉, 후속 프로그래밍으로부터 록 아웃된 이후에 메모리 셀이 검증될 필요는 없지만, 그 이웃 메모리 셀들 중 하나가 여전히 검증될 필요가 있는 경우, 그 메모리 셀의 비트라인은 판독 동안에 여전히 적절히 바이어스 되어야 한다. 몇몇 실시예들은, 데이터 래치들(494) 내의 프로그램 데이터가 겹쳐쓰기되었을 지라도, 메모리 셀이 프로그래밍되었던 상태에 기초하여 비트라인들을 어떻게 바이어스할지를 결정할 수 있다. 일실시예에서, QPW 래치로부터의 정보는 데이터 래치들(494) 내의 현재 정보와 결합되는바, 이는 검증 동안에 비트라인을 어떻게 바이어싱할 지를 결정하기 위한 것이다. 소거된 상태로 남아있는 메모리 셀의 경우, 데이터 래치들(494)은 프로그래밍 프로세스 동안 시종일관(throughout) 소거 상태 데이터를 가지고 있어야만 함을 유념해야 한다. 하지만, 비-소거 상태로 프로그래밍될 메모리 셀의 경우, 데이터 래치들(494) 내의 현재 정보는 메모리 셀이 그 의도된 프로그램 상태에 도달했는지의 여부에 의존할 수도 있다. 예를 들면, 메모리 셀이 그 의도된 프로그램 상태에 도달하기 전에, 상기 데이터 래치들(494)은 원래의(original) 프로그램 데이터를 포함하고 있어야 한다. 하지만, 의도된 프로그램 상태에 도달한 이후, 데이터 래치들(494)은 프로그래밍이 완료됨을 나타내는 소거 상태 데이터를 포함해야만 한다. 따라서, 소거 상태 데이터를 구비한 데이터 래치는, 소거 상태를 유지한 메모리 셀을 위한 것이거나 혹은 프로그램된 상태로 프로그래밍을 완료한 메모리 셀을 위한 것이 될 수 있다.
도13은 메모리 셀들을 검증하는 프로세스(1300)의 일실시예에 대한 순서도이다. 프로세스(1300)에서, QPW 래치로부터의 데이터는 데이터 래치들(494) 내의 현재 데이터와 결합되는데, 이는 원래의 프로그램 데이터를 디코딩하고 그리고 검증 동안에 비트라인들을 어떻게 바이어싱할지를 결정하기 위한 것이다. 프로세스(1300)는 4개의 상태들을 갖는 실시예에 대한 것이지만, 4개 보다 더 많거나 더 적은 상태들을 갖는 실시예에도 적용될 수 있음을 유의해야 한다. 프로세스(1300)는 비정밀 검증 및 정밀 검증 둘다를 이용한다. 따라서, 프로세스(1300)는 비정밀 및 정밀 프로그래밍과 함께 이용될 수 있다. 프로세스(1300)는 하나의 메모리 셀에 대한 프로세싱을 서술한다. 하지만, 수 많은 메모리 셀들이 동시에 검증될 수도 있음을 이해해야 한다. 예를 들어, 프로세스(1300)는 프로그래밍되는 모든 메모리 셀들에게 동시에 적용될 수도 있다.
단계 1302에서, A-상태에 대한 비정밀 검증이 수행된다. 비정밀 검증 동안, 모든 비트라인들이 충전될 수도 있다. 비정밀 검증 동안에 이용되는 비트라인 바이어스가, 그 상태를 판독하는 동안에 이용되는 비트라인 바이어스와 매칭될 필요는 없다는 점을 유념해야 한다. 단계 1302는 도통 전류에 대해서 비트라인들을 감지하는 단계와 그리고 비트라인이 상당한 전류를 도통시키는지의 여부에 기초하여 소정 값을 QPW 래치에 저장하는 단계를 포함할 수 있다. 예를 들어, 메모리 셀의 임계전압이 VvaL 보다 크다면, QPW 래치는 "1"로 세팅될 수 있다. 단계 1302는 도7c의 단계 756 ~ 762의 일실시예이다.
다음을 유념해야 하는바, 단계 1302 이후, 메모리 셀에 대한 데이터 래치들은, 원래의 프로그램 데이터를 보유할 수도 있으며, 혹은 그 비트라인 상의 메모리 셀에 대해서 후속 프로그래밍이 금지되어야함을 나타내도록 프로그램 데이터가 소거 상태로 세팅되었을 수도 있다. 따라서, 만일 상기 데이터 래치가 소거 이외의 데이터 상태를 나타낸다면, 데이터 래치는 메모리 셀이 프로그래밍될 상태를 나타내는 것이다. 하지만, 상기 데이터 래치가 소거 상태를 나타낸다면, 그 메모리 셀이 소거 상태로 남아있었던 메모리 셀이었는지 혹은 그 메모리 셀이 다른 상태로 프로그래밍되었고 그리고 이제 후속 프로그래밍으로부터 금지된 것인지가 불확실하다.
단계 1304에서, QPW 래치로부터의 데이터는 데이터 래치들(494)로부터의 현재 데이터와 결합되는데, 이는 데이터 래치들(494)이 실제 소거 데이터를 갖고 있는지 혹은 금지 데이터를 갖고 있는지를 판별하기 위한 것이다. 도14a의 테이블(1400)에는 QPW 래치가 데이터 래치들(494)로부터의 현재 데이터와 어떻게 결합될 수 있는지에 관한 일실시예를 예시하는 조건들이 요약되어 있다. 도14a의 테이블(1400)의 각각의 컬럼(column)은 주어진 메모리 셀에 대한 서로 다른 조건들에 관련된다. 컬럼 Er 은, 소거된 상태로 남아있는 메모리 셀에 관한 것이다(따라서, 이 메모리 셀의 Vt는 소거 상태에 있다). 컬럼 A, B, C 는 A-상태, B-상태, C-상태로 각각 프로그래밍되는 메모리 셀들에 대한 "프로그래밍되지 않은(unprogrammed)" 케이스들에 관한 것이다. 프로그래밍되지 않은 메모리 셀은 그 상태에 대한 타겟 Vt 보다 작은 임의의 Vt를 가질 수 있다. 컬럼 Aq, Bq, Cq 는 A-상태, B-상태, C-상태로 각각 프로그래밍되는 메모리 셀들에 대한 "고속 패스 기입(Quick Pass Write : QPW)" 케이스들에 관한 것이다. 고속 패스 기입 단계에 있는 메모리 셀은 비정밀 검증 레벨과 정밀 검증 레벨 사이에 있는 임의의 Vt를 가질 수 있다. 예를 들어, A-상태의 경우, 메모리 셀은 VvaL 과 VvA 사이에 있을 수 있다. 컬럼 Ain, Bin, Cin 는 A-상태, B-상태, C-상태로 각각 프로그래밍되는 메모리 셀들에 대한 "금지된(inhibited)" 케이스들에 관한 것이다. 금지된 메모리 셀은 그 타겟 Vt에 도달하였으며 그리고 후속 프로그래밍으로부터 록아웃된다. 메모리 셀이 후속 프로그래밍으로부터 록아웃되는 경우, 록아웃되어야 함을 나타내도록 데이터 래치가 소거 상태로 세팅될 수 있음을 유의해야 한다.
테이블(1400)의 첫번째 로우(row)는 데이터 래치들이 소거 상태를 나타낼 것인 케이스들에 대해서 "1"을 포함한다. 전술한 바와 같이, 이러한 것은, 소거 상태를 유지하는 메모리 셀 혹은 그 타겟 레벨에 도달하였고 그리고 후속 프로그래밍이 금지되버린 메모리 셀에 기인할 수 있다. 따라서, 컬럼 Er의 첫번째 로우(메모리 셀이 소거 상태로 유지됨), 컬럼 Ain의 첫번째 로우(메모리 셀이 타겟 상태인 A-상태에 도달했기 때문에 후속 프로그래밍이 금지됨), 뿐만 아니라 컬럼 Bin 및 컬럼 Cin의 첫번째 로우에는 "1" 이 도시되어 있다. 상기 테이블(1400)의 두번째 로우에는 비정밀 검증을 수행하는 경우에 가능한 값들이 도시되어 있다. 예를 들어, 메모리 셀이 아직 프로그래밍되지 않았다면, 이 메모리 셀은 VvaL 보다 크거나 혹은 작은 Vt를 가질 수 있다. 이러한 것은 임의의 상태로 프로그래밍되는 메모리 셀들에 대해서도 적용됨을 유의해야 한다. 따라서, 프로그래밍되지 않은 케이스들의 경우에는 확정되지 않은 값 "0/1" 이 상기 테이블에 도시되어 있다. 테이블(1400)은 Aq, Ain, Bq, Bin, Cq, 및 Cin에 대해서 "1"을 갖는데, 이는 이들 케이스들의 경우 Vt가 VvaL 전압 레벨 보다 높을 것이기 때문이다.
테이블(1400)의 세번째 로우는, 정밀한 A-상태 검증을 수행하는 때에 비트라인이 바이어스되어야만 하는 케이스들에 대해서 "1"을 갖는다. 상기 일례에서는, 소거 상태를 유지하는 메모리 셀들을 제외한 모든 케이스들에 이러한 것이 적용된다. QPW 래치와 데이터 래치들(494)의 조합으로부터 세번째 로우가 형성된다. 이러한 일례에서, 세번째 로우는 QPW OR NOT Er 로부터 형성된다. 즉, 달리 말하면, QPW 래치가 "1"로 세팅되거나 혹은, 데이터 래치들(494)이 소거 데이터를 제외한 임의의 데이터를 포함한다면, 세번째 로우는 "1"이 된다. 예를 들어, A, Aq, B, Bq, C, Cq 케이스들의 경우, 데이터 래치들(494)는 소거 데이터를 포함하지 않는다. 따라서, 이들 값들에 대해서 세번째 로우는 "1"로 세팅된다. 또한, QPW가 "1"로 세팅되면, 세번째 로우는 세팅된다. 예를 들어, Aq, Ain, Bq, Bin, Cq, Cin 의 경우 QPW 는 "1"로 세팅된다. 따라서, 세번째 로우의 해당 박스들이 세팅된다. A, B, 및 C의 경우, QPW의 값은 미정임을 유의해야 한다. 하지만, 데이터 래치들(494)이 소거 데이터를 포함하고 있지 않기 때문에, 세번째 로우는 "1" 로 세팅된다. QPW 래치와 데이터 래치를 조합하는 것은 다른 방식으로 수행될 수도 있음을 유의해야 한다.
단계 1306에서, 소거된 상태로 남아있지 않을 메모리 셀들에 대한 비트라인들이 충전되는 반면에, 소거된 상태로 남아있을 메모리 셀들에 대한 비트라인들은 충전되지 않는다. 전술한 바와 같이, 정확한(correct) 비트라인들이 단계 1304에서 결정된다.
단계 1308에서는, 단계 1306에서 확립된 비트라인 조건들을 이용하여 A-상태에 대한 정밀 검증이 수행된다. 예를 들면, 전압 VvA 가 선택 워드라인에 인가되고 이후 비트라인들이 감지될 수 있다. 단계 1308은 도7c의 단계 770의 일실시예이다. 따라서, 비트라인들을 감지한 이후에, 검증이 통과되었는지의 여부에 대한 판별이 이루어진다(도7c의 단계 772). 만일, 검증이 통과되어 비트라인들이 금지될 것이라면, 금지 표시를 제공하도록 데이터 래치들(494)은 소거 상태로 세팅될 수 있다(도7c의 단계 774).
단계 1310에서, B-상태에 대한 비정밀 검증이 수행된다. 비정밀 검증 동안, 모든 비트라인들이 충전될 수도 있다. 비정밀 검증 동안에 이용되는 비트라인 바이어스가, 그 상태를 판독하는 동안에 이용되는 비트라인 바이어스와 매칭될 필요는 없다는 점을 유념해야 한다. 단계 1310은 도통 전류에 대해서 비트라인들을 감지하는 단계와 그리고 비트라인이 상당한 전류를 도통시키는지의 여부에 기초하여 소정 값을 QPW 래치에 저장하는 단계를 포함할 수 있다. 예를 들어, 메모리 셀의 임계전압이 VvaL 보다 크다면, QPW 래치는 "1"로 세팅될 수 있다. 단계 1310은 도7c의 단계 756 ~ 762의 일실시예이다.
다음을 유념해야 하는바, 단계 1310 이후, 메모리 셀에 대한 데이터 래치들은, 원래의 프로그램 데이터를 보유할 수도 있으며, 혹은 후속 프로그래밍이 금지되어야함을 나타내기 위하여 상기 프로그램 데이터는 소거 상태로 세팅되어 있을 수도 있다. 따라서, 만일 상기 데이터 래치가 소거 이외의 데이터 상태를 나타낸다면, 데이터 래치는 메모리 셀이 프로그래밍될 상태를 나타내는 것이다. 하지만, 상기 데이터 래치가 소거 상태를 나타낸다면, 그 메모리 셀이 소거 상태로 남아있었던 메모리 셀이었는지 혹은 그 메모리 셀이 다른 상태로 프로그래밍되었고 그리고 이제 후속 프로그래밍으로부터 금지된 것인지가 불확실하다.
단계 1312에서, QPW 래치로부터의 데이터는 데이터 래치들(494)로부터의 현재 데이터와 결합되는데, 이는 데이터 래치들(494)이 실제 소거 데이터를 갖고 있는지 혹은 금지 데이터를 갖고 있는지를 판별하기 위한 것이다. VerifyB 케이스들의 경우, 어떤 비트라인들이 소거 상태로 남아있었던 메모리 셀들을 갖는지 혹은 A-상태로 프로그래밍되었던 메모리 셀들을 갖는지를 판별하는 것이 바람직하다. 단계 1312를 논의하는 경우, 도14b의 테이블(1420)이 참조될 것이다. 테이블(1420)의 첫번째 로우는 데이터 래치들(494)이 소거 상태 혹은 A-상태를 나타낼 케이스들의 경우 "1"을 포함한다. 따라서, 컬럼 Er의 첫번째 로우(메모리 셀이 소거 상태로 유지됨)에서 "1"이 도시되며, 그리고 컬럼 Ain, Bin, Cin 뿐만 아니라 컬럼 A, Aq 의 첫번째 로우에도 "1"이 도시되는바, 여기서 A, Aq는 메모리 셀들이 아직 A-상태로 프로그래밍되지 않았기 때문에 데이터 래치들(494)이 A-상태 데이터를 여전히 포함하고 있는 케이스들을 나타낸다.
테이블(1420)의 두번째 로우는 B-상태에 대한 비정밀 검증을 수행하는 때, QPW 래치 내의 가능한 값들을 나타낸다. 예를 들어, 메모리 셀이 아직 프로그래밍되지 않았다면, 이 메모리 셀은 VvbL 보다 높거나 낮은 Vt를 가질 수 있다. 이러한 것은 B-상태 혹은 C-상태로 프로그래밍되는 메모리 셀들에 대해서도 적용됨을 유의해야 한다. 따라서, 프로그래밍되지 않은 B-상태 및 C-상태 케이스들의 경우에는 확정되지 않은 값 "0/1" 이 테이블(1420)에 도시되어 있다. 테이블(1420)은 Bq, Bin, Cq, 및 Cin에 대해서 "1"을 갖는데, 왜냐하면 이들 케이스들의 경우 Vt가 VvbL 전압 레벨 보다 높을 것이기 때문이다.
테이블(1420)의 세번째 로우는, 정밀한 B-상태 검증을 수행하는 때에 비트라인이 바이어스되어야만 하는 케이스들에 대해서 "1"을 갖는다. 상기 일례에서는, 소거 상태를 유지하는 메모리 셀들, A-상태로 프로그래밍될 혹은 A-상태로 프로그래밍된 메모리 셀들을 제외한 모든 케이스들에 이러한 것이 적용된다. 달리 말하면, B-상태 및 C-상태로 프로그래밍된 혹은 프로그래밍될 메모리 셀들의 비트라인들이 바이어싱된다. 세번째 로우는 처음 2개의 로우들의 조합으로부터 형성된다. 특히, 세번째 로우는 QPW OR NOT (Er OR A) 로부터 형성된다. 즉, QPW 래치가 "1"로 세팅되거나 혹은, 데이터 래치들(494)이 소거 데이터 혹은 A-상태 데이터를 제외한 임의의 데이터를 포함한다면, 세번째 로우는 "1"이 된다. 예를 들어, B, Bq, C, Cq 케이스들의 경우, 데이터 래치들(494)은 소거 데이터를 포함하지 않는다. 따라서, 이들 값들에 대해서 세번째 로우는 "1"로 세팅된다. 또한, QPW가 세팅되면, 세번째 로우는 세팅된다. 예를 들어, Bq, Bin, Cq, Cin 의 경우 QPW는 세팅된다. 따라서, 세번째 로우의 해당 박스들이 세팅된다. QPW 래치와 데이터 래치를 조합하는 것은 다른 방식으로 수행될 수도 있음을 유의해야 한다.
단계 1314에서, B-상태 혹은 C-상태로 프로그래밍될 메모리 셀들에 대한 비트라인들은 충전되는 반면에, 다른 모든 비트라인들은 충전되지 않는다. 전술한 바와 같이, 정확한(correct) 비트라인들이 단계 1312에서 결정된다.
단계 1316에서는, 단계 1314에서 확립된 비트라인 조건들을 이용하여 B-상태에 대한 정밀 검증이 수행된다. 예를 들면, 전압 VvB 가 선택 워드라인에 인가되며 이후 비트라인들이 감지될 수 있다. 단계 1316은 도7c의 단계 770의 일실시예이다. 따라서, 비트라인들을 감지한 이후에, 검증이 통과되었는지의 여부에 대한 판별이 이루어진다(도7c의 단계 772). 만일, 검증이 통과되어 비트라인들이 금지될 것이라면, 금지 표시를 제공하도록 데이터 래치들(494)은 소거 상태로 세팅될 수 있다(도7c의 단계 774).
단계 1318에서, C-상태에 대한 비정밀 검증이 수행된다. 비정밀 검증 동안, 모든 비트라인들이 충전될 수도 있다. 비정밀 검증 동안에 이용되는 비트라인 바이어스들이, 그 상태를 판독하는 동안에 이용되는 비트라인 바이어스들과 매칭될 필요는 없다는 점을 유념해야 한다. 단계 1318은 도통 전류에 대해서 비트라인들을 감지하는 단계와 그리고 비트라인이 상당한 전류를 도통시키는지의 여부에 기초하여 소정 값을 QPW 래치에 저장하는 단계를 포함할 수 있다. 예를 들어, 메모리 셀의 임계전압이 VvcL 보다 크다면, QPW 래치는 "1"로 세팅될 수 있다. 단계 1318은 도7c의 단계 756 ~ 762의 일실시예이다.
다음을 유념해야 하는바, 단계 1318 이후, 메모리 셀에 대한 데이터 래치들은, 원래의 프로그램 데이터를 보유할 수도 있으며, 혹은 후속 프로그래밍이 금지되어야함을 나타내기 위하여 상기 프로그램 데이터는 소거 상태로 세팅되어 있을 수도 있다. 따라서, 만일 상기 데이터 래치들(494)이 소거 이외의 데이터 상태를 나타낸다면, 데이터 래치들(494)은 메모리 셀이 프로그래밍될 상태를 나타내는 것이다. 하지만, 상기 데이터 래치들(494)이 소거 상태를 나타낸다면, 그 메모리 셀이 소거 상태로 남아있었던 메모리 셀이었는지 혹은 그 메모리 셀이 다른 상태로 프로그래밍되었고 그리고 이제 후속 프로그래밍으로부터 금지된 것인지가 불확실하다.
단계 1320에서, QPW 래치로부터의 데이터는 데이터 래치들(494)로부터의 현재 데이터와 결합되는데, 이는 데이터 래치들(494)이 실제 소거 데이터를 갖고 있는지 혹은 금지 데이터를 갖고 있는지를 판별하기 위한 것이다. VerifyC 케이스들의 경우, 어떤 비트라인들이 소거 상태로 남아있었던 메모리 셀들을 갖는지 혹은, A-상태 또는 B-상태로 프로그래밍되는/프로그래밍되기로 했었던 메모리 셀들을 갖는지를 판별하는 것이 바람직하다. 단계 1320를 논의하는 경우, 도14c의 테이블(1440)이 참조될 것이다. 테이블(1440)의 첫번째 로우는 데이터 래치들(494)이 소거 상태, A-상태 혹은 B-상태를 나타낼 케이스들의 경우 "1"을 포함한다. 따라서, 컬럼 Er의 첫번째 로우(메모리 셀이 소거 상태로 유지됨)에서 "1"이 도시되며, 그리고 컬럼 Ain, Bin, Cin 뿐만 아니라 컬럼 A, Aq, B, Bq 의 첫번째 로우에도 "1"이 도시된다. A, Aq, B, Bq는, 메모리 셀들이 아직 A-상태 혹은 B-상태로 프로그래밍되지 않았기 때문에, 데이터 래치들(494)이 A-상태 데이터 혹은 B-상태 데이터를 여전히 포함하고 있는 케이스들을 나타낸다.
테이블(1440)의 두번째 로우는 C-상태에 대한 비정밀 검증을 수행하는 때, QPW 래치 내의 가능한 값들을 나타낸다. 예를 들어, 메모리 셀이 아직 프로그래밍되지 않았다면, 이 메모리 셀은 VvcL 보다 높거나 낮은 Vt를 가질 수 있다. 따라서, 테이블(1440)은 프로그래밍되지 않은 C-상태 케이스들의 경우에는 확정되지 않은 값 "0/1" 을 나타낸다. 테이블(1440)은 Cq 및 Cin에 대해서 "1"을 갖는데, 왜냐하면 이들 케이스들의 경우 Vt가 VvcL 전압 레벨 보다 높을 것이기 때문이다. 테이블(1440)의 세번째 로우는, 정밀한 C-상태 검증을 수행하는 때에 비트라인이 바이어스되어야만 하는 케이스들에 대해서 "1"을 갖는다. 상기 일례에서는, C-상태로 프로그래밍될 혹은 C-상태로 프로그래밍된 메모리 셀들의 비트라인들에게만 이러한 것이 적용된다.
세번째 로우는 처음 2개의 로우들의 조합으로부터 형성된다. 특히, 세번째 로우는 QPW OR NOT (Er OR A OR B) 로부터 형성된다. 즉, QPW 래치가 "1"로 세팅되거나 혹은, 데이터 래치들(494)이 소거 데이터 혹은 A-상태 데이터 혹은 B-상태 데이터를 제외한 임의의 데이터를 포함한다면, 세번째 로우는 "1"이 된다. 예를 들어, C, Cq 케이스들의 경우, 데이터 래치들(494)은 소거 데이터를 포함하지 않는다. 따라서, 이들 값들에 대해서 세번째 로우는 "1"로 세팅된다. 또한, QPW가 세팅되면, 세번째 로우는 세팅된다. 예를 들어, Cq, Cin 의 경우 QPW는 세팅된다(C의 경우, QPW는 세팅될 수도 혹은 세팅되지 않을 수도 있다). QPW 래치와 데이터 래치를 조합하는 것은 다른 방식으로 수행될 수도 있음을 유의해야 한다.
단계 1322에서, C-상태로 프로그래밍될 메모리 셀들에 대한 비트라인들은 충전되는 반면에, 다른 모든 비트라인들은 충전되지 않는다. 전술한 바와 같이, 정확한(correct) 비트라인들이 단계 1320에서 결정된다.
단계 1324에서는, 단계 1322에서 확립된 비트라인 조건들을 이용하여 C-상태에 대한 정밀 검증이 수행된다. 예를 들면, 전압 VvC 가 선택 워드라인에 인가되며 이후 비트라인들이 감지될 수 있다. 단계 1324는 도7c의 단계 770의 일실시예이다. 따라서, 비트라인들을 감지한 이후에, 검증이 통과되었는지의 여부에 대한 판별이 이루어진다(도7c의 단계 772). 만일, 검증이 통과되어 비트라인들이 금지될 것이라면, 금지 표시를 제공하도록 데이터 래치들(494)은 소거 상태로 세팅될 수 있다(도7c의 단계 774). C-상태에 대한 정밀 검증 이후에, 모든 메모리 셀들이 검증을 통과했는지의 여부를 결정하도록 도7a의 단계 724가 수행될 수 있다. 이후, 도7a의 프로세스는, 모든 메모리 셀들이 프로그래밍될 때까지(단계 726) 혹은 프로그래밍이 실패할 때까지(단계 730) 메모리 셀들을 계속 프로그래밍할 수 있다.
도15는 감지 모듈(480)의 일례를 예시한다. 하지만, 다른 구현예들도 또한 이용될 수 있다. 감지 모듈(480)은 검증 및 판독 프로세스 둘다 동안에 다양한 실시예들에서 이용될 수 있다. 도16은 판독 혹은 검증 동안에 도15의 감지 증폭기를 이용하여 감지하는 동작의 일실시예에 대한 타이밍도를 나타낸다. 도16의 타이밍도에서는, "멀티-스트로브" 감지 동작이 수행된다. 따라서, 도15의 감지 증폭기는 멀티-스트로브 판독을 채용하는 실시예들에서 이용될 수 있다. 감지 증폭기가 멀티-스트로브 동작을 수행할 필요는 없다는 점을 유의해야 한다. 예를 들면, 싱글-스트로브 감지 동작이 수행될 수도 있다.
감지 모듈(480)은 비트라인 격리(isolation) 트랜지스터(512), 비트라인 풀 다운(pull down) 회로(트랜지스터 522, 550), 비트라인 전압 클램프 트랜지스터(612), 독출 버스 전송 게이트(readout bus transfer gate)(530), 감지 증폭기(470) 및 비트라인 래치(482)를 포함한다. 비트라인 격리 트랜지스터(512)의 일측은 비트라인(BL)과 캐패시터(510)에 연결된다. 비트라인 격리 트랜지스터(512) 의 다른 일측은 비트라인 전압 클램프 트랜지스터(612)와 비트라인 풀 다운 트랜지스터(522)에 연결된다. 비트라인 격리 트랜지스터(512)의 게이트는 BLS 라고 명명된 신호를 수신한다. 비트라인 전압 클램프 트랜지스터(612)의 게이트는 BLC 라고 명명된 신호를 수신한다. 비트라인 전압 클램프 트랜지스터(612)는 노드 SEN2에서 독출 버스 전송 게이트(530)에 연결된다. 독출 버스 전송 게이트(530)는 독출 버스(532)에 연결된다. 비트라인 전압 클램프 트랜지스터(612)는 노드 SEN2에서 감지 증폭기(470)에 연결된다. 도15의 실시예에서, 감지 증폭기(470)는 트랜지스터들(613, 634, 641, 642, 643, 654, 656, 658)과 캐패시터(Csa)를 포함한다. 비트라인 래치(482)는 트랜지스터들(661, 662, 663, 664, 666, 668)을 포함한다.
일반적으로, 워드라인을 따라 있는 메모리 셀들은 병렬로 동작할 수 있다. 따라서, 대응하는 개수의 감지 모듈들도 병렬도 동작할 수 있다. 일실시예에서는, 병렬로 동작하는 감지 모듈들에게 콘트롤러가 콘트롤 신호와 타이밍 신호를 제공한다. 일부 실시예들에서는, 워드라인을 따라 있는 데이터는 다수의 페이지들로 분할되며 그리고 데이터는 한번에 한 페이지 단위로 또는 한번에 여러 페이지 단위로 판독 혹은 프로그래밍된다.
신호 BLS에 의해서 비트라인 격리 트랜지스터(512)가 인에이블되는 때, 감지 모듈(480)은 메모리 셀에 대한 비트라인(예컨대, 비트라인 BL)에 연결될 수 있다. 감지 모듈(480)은 감지 증폭기(470)에 의해서 메모리 셀의 도통 전류를 감지하며, 감지 노드 SEN2에서의 디지털 전압 레벨로서 판독 결과를 래치하며 그리고 게이트(530)를 통하여 독출 버스(532)에 이를 출력한다.
감지 증폭기(470)는 제 2 전압 클램프(트랜지스터 612 및 634), 선행-충전 회로(트랜지스터 541, 642, 643) 그리고 판별기(discriminator) 혹은 비교 회로(트랜지스터 654, 656, 658 및 캐패시터 Csa)를 포함한다. 일실시예에서, 판독되는 메모리 셀의 제어 게이트에 기준 전압이 인가된다. 만일, 기준 전압이 메모리 셀의 임계전압 보다 크다면, 이 메모리 셀은 턴온될 것이며 그리고 그 소스와 드레인 사이에서 전류를 도통시킬 것이다. 만일, 기준 전압이 메모리 셀의 임계전압 보다 크지 않다면, 이 메모리 셀은 턴온되지 않을 것이며 그리고 그 소스와 드레인 사이에서 전류를 도통시키지 않을 것이다. 많은 실시예들에서, 온/오프는 연속적인 천이(continuous transition)가 될 수 있으며 따라서 메모리 셀은 서로 다른 제어 게이트 전압에 응답하여 서로 다른 전류를 도통시킬 것이다. 만일, 메모리 셀이 턴온되고 그리고 전류를 도통시키면, 도통된 전류는 노드 SEN 상의 전압이 감소되게 야기할 것이며, 이는 캐패시터 Csa 양단의 전압을 유효하게 충전 혹은 증가시킬 것인바, 캐패시터 Csa의 다른 단자는 Vdd 이다. 만일, 노드 SEN 상의 전압이 기결정된 감지 기간 동안에 기결정된 레벨로 방전한다면, 감지 증폭기(470)는 상기 메모리 셀이 제어 게이트 전압에 응답하여 턴온되었음을 보고한다.
감지 모듈(480)의 특징 중 하나는, 감지 동안에 비트라인에 대한 일정한 전압 공급(constant voltage supply)의 통합(incorporation) 이다. 이러한 것은 비트라인 전압 클램프 트랜지스터(612)에 의해서 바람직하게 구현되는데, 이는 비트라인(BL)과 직렬인 트랜지스터(612)를 구비한 다이오드 클램프처럼 동작한다. 이것의 게이트는 일정 전압 BLC 로 바이어싱되는데, 이는 그것의 임계전압 VT 보다 위인 바람직한 비트라인 전압 VBL과 동등하다. 이러한 방식으로, 이것은 노드 SEN으로부터 비트라인을 격리시키며 그리고 프로그램-검증 혹은 판독 동안 가령, 원하는 VBL = 0.5 ~ 0.7 V 등과 같이 비트라인에 대해서 일정한 전압 레벨을 설정한다. 비트라인 전압 레벨은, 오랜 선행 충전 시간을 방지하도록 충분히 낮으면서도, 접지 잡음 및 다른 요인들을 회피하기에 충분히 높은 소정 레벨로 설정되는 것이 일반적이다.
감지 증폭기(470)는 감지 노드 SEN를 통하여 도통 전류를 감지하며 그리고 도통 전류가 기결정된 값보다 높은지 낮은지를 결정한다. 감지 증폭기는 감지된 결과를 신호 SEN2와 같은 디지털 형식으로 독출 버스(532)로 출력한다.
본질적으로는 SEN2 에서의 신호의 반전된 상태일 수 있는 디지털 제어 신호 INV가 또한 출력되어 풀 다운 회로를 제어한다. 감지된 도통 전류가 상기 기결정된 값보다 큰 경우, INV는 HIHG가 될 것이며 그리고 SEN2는 LOW가 될 것이다. 이러한 결과는 풀 다운 회로에 의해서 강화된다. 풀 다운 회로는 제어 신호 INV에 의해서 제어되는 n-트랜지스터(522)와 제어 신호 GRS에 의해서 제어되는 또 다른 n-트랜지스터(550)를 포함한다. GRS 신호는 LOW 일 때, INV 신호의 상태에 상관없이 비트라인(BL)이 플로팅되는 것을 허용한다. 프로그래밍 동안, GRS 신호는 HIGH가 되어, 비트라인(BL)을 접지로 끌어당기며 그리고 INV에 의해 제어되게 한다. 비트라인(BL)이 플로팅되는 것이 요구될 경우, GRS 신호는 LOW가 된다. 감지 모듈들, 감지 증폭기 및 래치들에 대한 다른 설계들이 또한 이용될 수 있음을 유의해야 한다.
일부 실시예들에서, 멀티-패스 감지(multi-pass sensing)(예컨대, 투-스트로브 감지)가 이용된다. 각각의 패스(pass)는, 소정의 경계(demarcation) 전류 값 보다 높은 도통 전류를 구비한 메모리 셀들을 식별하고 그리고 셧 다운시키는데 도움을 준다. 이러한 것은 메모리 셀들의 최종 감지(final sensing)에서 어떤 비트라인들이 바이어싱되는지를 선택하는데 이용될 수 있다. 따라서, 적절한 비트라인 바이어싱 조건들이 확립될 수 있다. 예를 들어, 멀티-패스 감지는 2개의 패스들(passes)(j = 0 ~ 1)에서 구현될 수 있다. 제 1 패스(pass) 이후에, 브레이크포인트 보다 높은 도통 전류들을 구비한 메모리 셀들이 식별되며 그리고 이들의 도통 전류를 턴 오프시킴에 의해서 제거된다. 이들의 도통 전류를 턴 오프시키는 방식 중 하나는, 비트라인들 상의 이들의 드레인 전압들을 접지로 설정하는 것이다. 3개 이상의 패스들이 또한 고려될 수도 있다. 몇몇 실시예에서는, 감지를 위하여 하나의 패스(싱글 스트로브)가 이용될 수 있다.
도16은 판독 혹은 검증 동안에 도15의 감지 증폭기를 이용하여 감지하는 동작에 대한 일실시예의 타이밍도를 예시한다. 도16 (A) ~ 도16 (K)는 판독/검증 동작 동안에 감지 모듈(480)의 일실시예를 설명하는 타이밍도를 나타낸다.
페이즈 (0): 셋업
감지 모듈(480)(도15 참조)은 인에이블링 신호 BLS(도 16 (A) 참조)를 통하여 해당 비트라인에 연결된다. 전압 클램프가 BLC(도16 (B) 참조)로 인에이블된다. 선행-충전 트랜지스터(642)가 제한된-전류 소스로서 제어 신호 FLT(도16 (C))에 의해서 인에이블된다.
페이즈 (1): 제어된 선행-충전
감지 증폭기(470)는 리셋 신호 RST(도 16 (D))에 의해서 초기화되며, 이는 트랜지스터(658)를 통해 신호 INV (도16 (H))를 접지로 만들 것이다. 따라서, 리셋 시에 INV는 LOW 로 설정된다. 이와 동시에, p-트랜지스터(663)는 상보적 신호 LAT를 Vdd 혹은 HIGH (도16 (H))로 만든다. 즉, LAT는 INV와 상보적이다. 격리 트랜지스터(634)는 신호 LAT에 의해서 제어된다. 따라서, 리셋 이후에, 격리 트랜지스터(634)는 감지 노드 SEN2를 감지 증폭기의 내부 감지 노드 SEN에 연결할 수 있다.
선행-충전 트랜지스터(642)는 내부 감지 노드 SEN와 상기 감지 노드 SEN2를 통하여 기결정된 시간 기간 동안 비트라인(BL)을 선행-충전한다. 이러한 것은, 비트라인이 그 도통을 감지하기 위한 최적의 전압에 있게 할 것이다. 선행-충전 트랜지스터(642)는 제어 신호 FLT("FLOAT")에 의해서 제어된다. 비트라인은, 비트라인 전압 클램프(612)에 의해서 설정됨에 따라 원하는 비트라인 전압쪽으로 풀-업(pull-up)될 것이다. 풀-업의 속도는 비트라인의 도통 전류에 의존할 것이다. 도통 전류가 작을수록, 풀-업이 빨라진다.
기결정된 전류를 비트라인에 공급하기 위한 전류 소스처럼 거동하는 선행-충전 회로를 제공함에 의해서 D.C. 감지(sensing)가 수행된다. 따라서, p-트랜지스터(642)를 제어하는 신호 FLT는 흐르는 기결정된 전류를 "프로그램" 한다. 하나의 일례로서, FLT 신호는 500nA로 설정된 기준 전류를 구비한 전류 미러로부터 생성될 수 있다. p-트랜지스터(642)가 전류 미러의 미러된 레그(mirrored leg)를 형성하는 경우, 이것은 또한 동일한 500nA 가 흐르게 할 것이다.
도16(I1) ~ 도16(I4)는, 도통 전류 700 nA, 400 nA, 220 nA, 및 40 nA의 도통 전류들을 갖는 메모리 셀들에 각각 연결된 4개의 예시적인 비트라인들 상의 전압들을 예시한다. 선행-충전 회로(이는 트랜지스터 642를 포함함)가 500 nA의 제한을 갖는 전류 소스인 경우, 예를 들어, 500 nA를 초과하는 도통 전류를 갖는 메모리 셀은, 비트라인 상의 전하들을 축적될 수 있는 것 보다 더 빨리 배수(drain)되게 할 것이다. 결과적으로, 700 nA의 도통 전류를 갖는 비트라인의 경우, 그것의 전압 혹은 내부 감지 노드 SEN에서의 신호는 0 V에 가깝게 유지될 것이다(가령, 0.1 볼트, 도16의 I1을 참조). 다른 한편으로, 메모리 셀의 도통 전류가 500 nA 보다 작은 경우, 선행-충전 회로(이는 트랜지스터 642를 포함함)는 비트라인을 충전하기 시작할 것이며 그리고 비트라인의 전압은 클램프된 비트라인 전압(예컨대, 전압 클램프 612에 의해서 설정된 0.5V)을 향하여 상승하기 시작할 것이다(도16의 I2 ~ 도16의 I4). 따라서, 내부 감지 노드 SEN은 OV에 가깝게 남아있거나 혹은 Vdd 로 풀-업될 것이다(도16의 (G)). 일반적으로, 도통 전류가 작으면 작을수록, 비트라인 전압은 클램프된 비트라인 전압으로 더 빠르게 충전될 것이다. 따라서, 제어된 선행 충전 페이즈 이후에 비트라인 상의 전압을 검사함에 의해서, 연결된 메모리 셀이 기결정된 레벨보다 높거나 혹은 낮은 도통 전류를 갖는지를 판별하는 것이 가능하다.
페이즈 (2): 후속 스트로브들로부터 높은 전류 셀들을 D.C. 래칭 & 제거함(D.C. latching & removing)
상기 제어된 선행-충전 페이즈 이후에, D.C. 높은-전류 감지 페이즈(D.C. high-current sensing phase)가 시작되는데, 이 페이즈에서는 판별기 회로에 의해서 노드 SEN이 감지된다. 이러한 감지는, 기결정된 레벨 보다 높은 도통 전류들을 갖는 메모리 셀들을 식별한다. 판별기 회로는 직렬인 2개의 p-트랜지스터들(654, 656)을 포함하며, 이들은 신호 INV를 기록하는(registering) 노드에 대한 풀-업으로서의 역할을 수행한다. p-트랜지스터(654)는 LOW가 되는 판독 스트로브 신호 STB에 의해서 인에이블되며 그리고 p-트랜지스터(656)는 LOW가 되는 내부 감지 노드 SEN에서의 신호에 의해서 인에이블된다. 높은 전류 메모리 셀들은, 0V에 가까운 신호 SEN을 갖게 될 것이며 혹은 적어도 그 비트라인들이 p-트랜지스터(656)를 턴-오프시킬 정도로 충분히 높게 선행-충전되게 할 수 없을 것이다. 예를 들어, 만일 약한 풀업이 500 nA의 전류로 제한된다면, 700 nA의 도통 전류를 갖는 셀을 풀업시키는 것은 실패할 것이다(도16의 G1). STB 스트로브 LOW가 래치되는 경우, INV는 Vdd로 풀업된다. 이러한 것은, 래치 회로(660)을 INV HIGH 및 LAT LOW로 설정할 것이다(도16의 H1).
INV가 HIGH 이고 LAT가 LOW 인 경우, 격리 게이트(630)가 디스에이블되며 그리고 감지 노드 SEN2는 내부 감지 노드 SEN으로부터 차단된다. 이와 동시에, 비트라인은 풀 다운 트랜지스터(522)에 의해서 접지로 풀 다운된다(도16 및 16(I1)). 이는 비트라인의 임의의 도통 전류를 유효하게 턴 오프시킬 것이며, 소스 라인 바이어스에 기여하는 것을 일소할 것이다.
따라서, 감지 모듈(480)에 대한 일 구현예에서는, 제한된-전류 소스 선행-충전 회로(limited-current source pre-charge circuit)가 채용된다. 이것은 높은 전류들을 운반하는 비트라인들을 식별하고 그리고 이들을 턴오프 시키기 위한 추가적인 혹은 대안적인 방식(D.C. 감지)을 제공한다.
다른 실시예에서, 선행-충전 회로는, 높은 전류의 비트라인들을 식별하는데 도움을 주도록 특별하게 구성되지는 않지만, 메모리 시스템이 이용할 수 있는 최대 전류의 허용치 내에서 최대한 빨리 비트라인을 풀업하고 그리고 선행 충전할 수도 있도록 최적화된다.
페이즈 (3): 리커버리/선행-충전
이전에 풀 다운되지 않았던 비트라인의 도통 전류를 감지하기 전에, LOW로 되는 신호 FLT에 의해서 선행-충전 회로가 활성화되어, 내부 감지 노드 SEN2를 Vdd로 선행 충전하며(도16의 (C) 및 (I2)~(I4) 참조) 그리고 인접 비트라인들 상의 전압의 감소로 인하여 부분적으로 커플링 다운됐을 수도 있는 비트라인을 선행 충전한다.
페이즈 (4): 제 1 A.C. 감지
일실시예에서는, 플로팅된 내부 감지 노드 SEN에서의 전압 강하를 판별함에 의해서 A.C.(교류 전류 혹은 과도(transient)) 감지가 수행된다. 이러한 감지는 내부 감지 노드 SEN에 연결된 캐패시터 Csa를 채용하고, 그리고 도통 전류가 캐패시터를 충전하는 속도(노드 SEN 상의 전압을 감소시킴)를 고려하는 판별기 회로에 의해서 완수된다. 집적회로 환경에서, 캐패시터 Csa는 트랜지스터로 구현되는 것이 일반적이다. 하지만 다른 구현예들도 적용될 수 있다. 캐패시터 Csa는 기결정된 캐패시턴스 예컨대, 30 fF 을 가지며, 이 값은 최적의 전류 판별을 위하여 선택될 수 있다. 전형적으로는 100~1000 nA 인 경계 전류 값(demarcation current value)은, 충전 기간의 적절한 조절에 의해서 설정될 수 있다.
판별기 회로는 내부 감지 노드 SEN에서의 신호 SEN을 감지한다. 각각의 감지 이전에, 내부 감지 노드 SEN에서의 신호는 선행 충전 트랜지스터(642)에 의해서 Vdd로 풀 업된다. 이는 초기에 캐패시터 Csa 양단의 전압을 0으로 설정할 것이다.
감지 증폭기(470)가 감지할 준비가 되는 때, 선행 충전 회로는 HIGH로 되는 FLT(도16의 (C))에 의해서 디스에이블된다. 스트로브 신호 STB의 표명(assertion)에 의하여 제 1 감지 기간 T1 이 종료된다. 감지 기간 동안, 도통 메모리 셀에 의해서 유도된 도통 전류는 캐패시터를 충전할 것이다. 비트라인의 도통 전류에 대한 배수 동작(draining action)을 통하여 캐패시터 Csa 가 충전됨에 따라 SEN 에서의 전압은 Vdd 로부터 감소할 것이다. 도16의 (G)(커브 G2 ~ G4 참조)는, 400nA, 220nA, 및 40nA의 도통 전류를 갖는 메모리 셀들에 각각 연결된 나머지 3개의 비트라인들에 대응하는 SEN 노드를 예시하고 있는데, 메모리 셀의 도통 전류가 크면 클수록 더 급격하게 감소함을 알 수 있다.
페이즈 (5): 후속 감지로부터 높은 전류 셀들을 제 1 A.C. 래칭 & 제거함
기결정된 제 1 감지 기간의 종료시에, SEN 노드는 비트라인의 도통 전류에 따라 소정 전압으로 감소될 것이다(도16 (G)의 커브 G2 ~ G4 참조). 하나의 일례로서, 이러한 제 1 페이즈에서의 경계 전류(demarcation current)는 300nA 로 설정된다. 캐패시터 Csa, 감지 기간 T1, 및 p-트랜지스터(656)의 임계전압이 설정되어, 경계 전류(예컨대, 300nA) 보다 높은 도통 전류에 대응하는 SEN 에서의 신호는 트랜지스터(656)를 턴온시키도록 충분히 낮게 강하할 것이다. 신호 STB 스트로브 LOW를 래칭하는 때, 출력 신호 INV는 HIGH 로 풀업될 것이며, 그리고 래치(482)에 의해서 래치될 것이다(도16의 (E) 및 도16의 (H)(커브 H2) 참조). 다른 한편으로, 경계 전류 보다 낮은 도통 전류에 대응하는 SEN에서의 신호는 트랜지스터(656)를 턴온할 수 없는 신호 SEN을 생성할 것이다. 이러한 경우, 래치(482)는 변화되지 않고 남아있을 것이며, LAT 는 HIGH 로 남아있는다(도16의 H3 및 H4). 따라서, 판별기 회로가, 감지 기간에 의해서 설정되는 기준 전류에 대한 비트라인 내의 도통 전류의 크기를 효과적으로 판별한다는 것을 알 수 있다.
또한, 감지 증폭기(470)는 제 2 전압 클램프 트랜지스터(612)를 포함하며, 제 2 전압 클램프 트랜지스터(612)의 목적은 트랜지스터(612)의 드레인의 전압을 충분히 높게 유지하는 것인바, 이는 비트라인 전압 클램프(610)가 적절히 기능하게 하기 위한 것이다. 전술한 바와 같이, 비트라인 전압 클램프(610)는 기결정된 값 VBL(가령, 0.5V)으로 비트라인 전압을 클램핑한다. 이는 트랜지스터(612)의 게이트 전압 BLC 가 VBL + VT 로 설정되게 요구할 것이며(여기서, VT 는 트랜지스터 612의 임계전압이다) 그리고 감지 노드(501)에 연결된 드레인이 소스 보다 더 크게될 것을 요구할 것이다(즉, 신호 SEN2 > VBL ). 특히, 전압 클램프의 구성의 경우, SEN2 는 XX0-VT 혹은 BLX-VT 중 작은 것보다 높지 않아야 하며 그리고 SEN은 낮아지지 않아야 한다. 감지 동안에, 격리 게이트(630)는 패스-쓰루 모드(pass-through mode)에 있다. 하지만, 감지 동안에 내부 감지 노드 SEN 에서의 신호는, Vdd 로부터 감소하는 전압을 갖는다. 제 2 전압 클램프는, 어느 것이 더 낮든, XX0-VT 혹은 BLX-VT 아래로 SEN 이 강하하는 것을 방지한다. 이러한 것은 BLX 신호에 의해 제어되는 n-트랜지스터(612)에 의해서 완수되는바, BLX ≥ VBL + VT 이다. 따라서, 전압 클램프들의 행동들을 통해, 비트라인 전압 VBL 은 감지 동안 일정하게 유지된다(예컨대, ~0.5V).
전류 판별의 출력은 래치 회로(482)에 의해 래치된다. 래치 회로는 트랜지스터들(666 및 668)과 더불어 트랜지스터들(661, 662, 663, 664)에 의해서 Set/Reset 래치로 형성된다. p-트랜지스터(666)는 신호 RST(RESET)에 의해서 제어되며 그리고 n-트랜지스터(668)는 신호 STB에 의해서 제어된다.
일반적으로, 대응 개수의 멀티-패스 감지 모듈들(480)에 의해서 동작되는 메모리 셀들의 페이지가 존재할 수 있다. 제 1 경계 전류 레벨 보다 높은 도통 전류를 갖는 이들 메모리 셀들의 경우, 이들의 LAT 신호는 LOW로 래치될 것이다(INV latched HIGH). 이것은 비트라인 풀 다운 회로(520)를 활성화시켜서 대응 비트라인들을 접지로 풀 다운시키며, 따라서 이들의 전류가 턴 오프된다. 몇몇 실시예에서, 이러한 것은 검증을 위한 비트라인 조건들을 확립하는데 도움을 준다. 예를 들면, 도12b의 단계 1224에서, A-상태에 대한 개략적 판독은 이 지점까지 감지함에 의해서 완수될 수도 있다. 전체 감지 프로세스 동안 스트로브 신호가 3번 이상 어써트될 수도 있음을 유의해야 한다. 예를 들면, 도16에서, 스트로브 신호는 3번 어써트되며, 최종 스트로브가 최종 판독이 된다. 이러한 일례에서, 주기 1 및 5 동안의 스트로브들은 개략적 판독을 완수할 수도 있다. 몇몇 실시예에서, 주기 1 및 5 동안의 스트로브들 중 적어도 하나는 투-스트로브 판독의 제 1 스트로브로 간주된다.
페이즈 (6): 리커버리/선행-충전
이전에 풀 다운되지 않았던 비트라인의 도통 전류에 대한 다음번(next) 감지 전에, 신호 FLT에 의해서 선행-충전 회로가 활성화되어, 내부 감지 노드 631을 Vdd로 선행 충전한다(도16의 (C) 및 (I3)~(I4) 참조).
페이즈 (7): 제 2 감지
감지 증폭기(470)가 감지할 준비가 되는 때, 선행-충전 회로는 HIGH 로 되는 FLT에 의해서 디스에이블된다(도16(C) 참조). 제 2 감지 기간 T2 는 스트로브 신호 STB의 표명(assertion)에 의해서 설정된다. 상기 감지 기간 동안, 도통 전류(만일, 있다면)는 캐패시터를 충전할 것이다. 비트라인(36)의 도통 전류의 배수 동작(draining action)을 통하여 캐패시터 Csa 가 충전됨에 따라, 노드 SEN에서의 신호는 Vdd 로부터 감소할 것이다.
앞선 일례에 따르면, 300 nA 보다 높은 도통 전류를 갖는 메모리 셀들은 이미 식별되었으며 그리고 초기 페이즈들에서 셧 다운되었다. 도16 (G)(곡선 G3 및 G4)는 220 nA 및 40 nA의 도통 전류들을 갖는 메모리 셀들에 각각 연결된 2개의 예시적인 비트라인들에 대응하는 SEN 신호를 각각 나타낸다.
일실시예에서, 현재 판독 중인 상태 아래의 상태들에 관련된 도통 전류들을 갖는 메모리 셀들은 셧다운된다.
페이즈 (8): 독출(Reading Out)을 위한 제 2 래칭
기결정된 제 2 래치 기간 T2의 말미에서, 비트라인의 도통 전류에 따라, SEN은 소정 전압으로 감소하였을 것이다(도16 (G), 커브 G3 및 G4 참조). 하나의 일례로서, 이러한 제 2 페이즈에서의 경계 전류는 100 nA로 설정된다. 이러한 경우, 220 nA의 도통 전류를 갖는 메모리 셀은 INV 를 HIGH 로 래치되게 할 것이며(도16 (H) 참조) 그리고 그 후에 비트라인을 접지로 풀 다운하게 할 것이다(도16 (I3)). 다른 한편으로, 220 nA의 도통 전류를 갖는 메모리 셀은 래치의 상태에 아무런 영향을 미치지 않을 것인바, 상기 래치는 LAT HIGH 로 프리셋(preset)되었다.
페이즈 (9): 버스로의 독출
마지막으로, 독출 페이즈에서, 트랜스퍼 게이트(530)에서의 제어 신호 NCO 는, 래치된 신호 SEN2 가 독출 버스(532) 쪽으로 독출되는 것을 허용한다(도16의 (J) 및 (K) 참조).
전술한 바와 같은 감지 모듈(480)은 3개의 패스들(passes)로 감지가 수행되는 일실시예이며, 처음 2개의 패스들은 높은 전류를 갖는 메모리 셀들을 식별 및 셧다운하기 위해 구현된다. 이러한 것은, 검증을 위한 적절한 비트라인 바이어스 조건들을 확립하는데 도움을 줄 수 있는 개략적 판독으로서의 역할을 수행할 수도 있는바, 이는 최종 페이즈(예컨대, T7) 동안에 발생할 수도 있다.
다른 실시예들에서, 감지 동작들은 D.C. 및 A.C. 패스들의 다른 조합으로 구현되며, 몇몇은 오직 2개 이상의 A.C. 패스들만을 이용하거나 혹은 오직 하나의 패스를 이용한다. 다른 패스들의 경우, 사용되는 경계 전류 값은 매번 동일할 수도 있으며 혹은, 최종 패스에서 이용되는 경계 전류 값을 향해 점진적으로 수렴할 수도 있다. 또한, 전술한 바와 같은 감지 실시예는 적절한 감지 모듈의 단지 하나의 일례이다. 다른 설계들 및 기술들도 또한 본 명세서에 서술된 실시예들을 구현하는데 이용될 수 있다. 본 명세서에 서술된 실시예들을 위해서 특별한 감지 모듈이 요구되거나 혹은 제안될 필요는 없다.
일실시예는 워드라인에 관련된 복수의 비트라인들을 포함하는 비휘발성 저장 시스템을 동작시키는 방법을 포함한다. 복수의 비휘발성 저장소자들은 워드라인에 관련된다. 상기 방법은 다음을 포함할 수 있다. 하나 이상의 프로그래밍 전압들이 워드라인에 인가된다. 복수의 프로그램 상태들 각각을 검증하는 때에 복수의 비트라인들 상에 제 1 바이어스 조건들(bias conditions)이 확립된다. 각각의 프로그램 상태를 검증하는 때에 제 1 바이어스 조건들의 개별 세트가 확립될 수도 있다. 비트라인을 바이어싱하는 것은, 비트라인 상의 비휘발성 저장소자들이 프로그래밍되고 있는 상태(state)에 기초할 수 있다. 제 1 바이어스 조건들을 확립한 이후 비휘발성 저장소자들의 비트라인들의 조건들이 감지된다. 판독 프로세스 동안 복수의 비트라인들 상에 제 2 바이어스 조건들이 확립된다. 판독중인 각각의 프로그램 상태에 대해서 제 2 바이어스 조건들의 개별 세트가 확립된다. 소정 상태에 대한 제 2 바이어스 조건들은 상기 소정 상태에 대한 제 1 바이어스 조건들과 실질적으로 매칭된다. 판독 프로세스 동안에 비휘발성 저장소자들의 비트라인들이 감지된다.
일실시예에 따르면, 앞선 문단의 방법에서, 소정 상태로 프로그래밍 중인 타겟 비휘발성 저장소자들의 이웃들인 비휘발성 저장소자들은, 상기 소정 상태에 대한 검증 동안 타겟 비휘발성 저장소자의 채널 전위에 의존하는 채널 전위를 갖는다. 일실시예에 따르면, 앞선 문단의 방법에서, 소정 상태를 판독하는 때에 복수의 비트라인들 상에 제 2 바이어스 조건들을 확립하는 것은, 상기 소정 상태로 프로그래밍된 비휘발성 저장소자들의 이웃들인 실질적으로 모든 비휘발성 저장소자들이, 상기 소정 상태를 검증하는 때 상기 이웃의 채널 전위에 매칭되는 채널 전위를 갖도록 야기한다.
일실시예는 워드라인에 관련된 복수의 비트라인들을 포함하는 비휘발성 저장 시스템을 동작시키는 방법이다. 복수의 비휘발성 저장소자들은 워드라인에 관련된다. 상기 방법은 다음을 포함할 수 있다. 복수의 비트라인들 중 제 1 그룹의 비트라인들 상에 제 1 전압 레벨이 확립된다. 제 1 전압 레벨을 확립하는 것은, 비휘발성 저장소자들의 임계전압들이 복수의 프로그램 상태들 중 제 1 프로그램 상태에 관련된 타겟 레벨에 있는지를 판별하기 위한 프로그램 검증 동작의 일부로서 수행된다. 제 1 그룹의 비트라인들은, 복수의 비휘발성 저장소자들 중 제 1 상태로 프로그래밍될 비휘발성 저장소자를 갖는 이들 비트라인들을 적어도 포함한다. 프로그램 검증 동작의 일부로서, 복수의 비트라인들 중 제 2 그룹의 비트라인들 상에 접지 전압이 확립된다. 제 2 그룹의 비트라인들은 상기 복수의 비트라인들 중 제 1 그룹의 비트라인들을 제외한 모든 비트라인들을 포함한다. 제 2 그룹의 비트라인들은 제 1 프로그램 상태 이외의 프로그램 상태로 프로그래밍될 비휘발성 저장소자를 갖는 일부 비트라인들을 적어도 포함한다. 상기 검증 동작 동안에 비트라인들 중 어떤 것이 제 1 그룹에 있었는지 그리고 비트라인들 중 어떤 것이 제 2 그룹에 있었는지를 개략적으로 판별하도록, 워드라인에 관련된 비휘발성 저장소자들에 대한 적어도 하나의 판독이 수행된다. 제 2 그룹에 있다고 개략적으로 판별되었던 비트라인들 상에 접지 전압이 확립된다. 어떤 비휘발성 저장소자들이 적어도 타겟 레벨의 임계전압을 갖는지를 판별하기 위하여 워드라인에 관련된 복수의 비휘발성 저장소자들에 대한 정밀 판독이 수행된다. 정밀 판독을 수행하는 것은, 제 1 그룹에 있다고 개략적으로 판별되었던 비트라인들을 제 2 전압 레벨에서 바이어싱하는 반면에 제 2 그룹에 있다고 개략적으로 판별되었던 비트라인들을 접지 전압으로 유지하는 것을 포함한다.
일실시예는 시스템을 포함하며, 상기 시스템은 복수의 비휘발성 저장소자들, 복수의 비휘발성 저장소자들과 관련된 복수의 비트라인들, 제 1 워드라인을 포함하며 복수의 비휘발성 저장소자들과 관련된 복수의 워드라인들, 그리고 복수의 비휘발성 저장소자들, 복수의 비트라인들 및 복수의 워드라인들과 통신하는 하나 이상의 관리회로들을 포함한다. 하나 이상의 관리회로들은 하나 이상의 프로그래밍 전압들을 워드라인에 인가한다. 하나 이상의 관리회로들은 복수의 프로그램 상태들 각각을 검증하는 때에 복수의 비트라인들 상에 제 1 바이어스 조건들을 확립한다. 각각의 프로그램 상태를 검증하는 때에 제 1 바이어스 조건들의 개별 세트가 확립된다. 비트라인을 바이어싱하는 것은 비트라인 상의 비휘발성 저장소자들이 프로그래밍되고 있는 상태에 기초한다. 하나 이상의 관리회로들은 제 1 바이어스 조건들을 확립한 이후 비휘발성 저장소자들의 비트라인들의 조건들을 감지한다. 하나 이상의 관리회로들은 판독 프로세스 동안 복수의 비트라인들 상에 제 2 바이어스 조건들을 확립한다. 판독중인 각각의 프로그램 상태에 대해서 제 2 바이어스 조건들의 개별 세트가 확립된다. 소정 상태에 대한 제 2 바이어스 조건들은 상기 소정 상태에 대한 제 1 바이어스 조건들과 실질적으로 매칭된다. 하나 이상의 관리회로들은 판독 프로세스 동안에 비휘발성 저장소자들의 비트라인들을 감지한다.
일실시예는 시스템을 포함하며, 상기 시스템은 복수의 비휘발성 저장소자들, 복수의 비휘발성 저장소자들과 관련된 복수의 비트라인들, 제 1 워드라인을 포함하며 복수의 비휘발성 저장소자들과 관련된 복수의 워드라인들, 그리고 복수의 비휘발성 저장소자들, 복수의 비트라인들 및 복수의 워드라인들과 통신하는 하나 이상의 관리회로들을 포함한다. 하나 이상의 관리회로들은 하나 이상의 프로그래밍 전압들을 워드라인에 인가한다. 하나 이상의 관리회로들은 복수의 비트라인들 중 제 1 그룹의 비트라인들 상에 제 1 전압 레벨을 확립하며, 제 1 전압 레벨을 확립하는 것은, 비휘발성 저장소자들의 임계전압들이 복수의 프로그램 상태들 중 제 1 프로그램 상태에 관련된 타겟 레벨에 있는지를 판별하기 위한 프로그램 검증 동작의 일부로서 수행된다. 제 1 그룹의 비트라인들은, 복수의 비휘발성 저장소자들 중 제 1 상태로 프로그래밍될 비휘발성 저장소자를 갖는 이들 비트라인들을 적어도 포함한다. 하나 이상의 관리회로들은 프로그램 검증 동작의 일부로서 복수의 비트라인들 중 제 2 그룹의 비트라인들 상에 접지 전압을 확립한다. 제 2 그룹의 비트라인들은 복수의 비트라인들 중 제 1 그룹의 비트라인들을 제외한 모든 비트라인들을 포함하며, 제 2 그룹의 비트라인들은 제 1 프로그램 상태 이외의 프로그램 상태로 프로그래밍될 것이며 제 1 워드라인에 관련된 비휘발성 저장소자를 갖는 일부 비트라인들을 적어도 포함한다. 하나 이상의 관리회로들은 제 1 워드라인에 관련된 비휘발성 저장소자들에 대한 적어도 하나의 판독을 수행하는바, 이는 검증 동작 동안에 비트라인들 중 어떤 것이 제 1 그룹에 있었는지 그리고 비트라인들 중 어떤 것이 제 2 그룹에 있었는지를 개략적으로 판별하기 위한 것이다. 하나 이상의 관리회로들은 상기 제 2 그룹에 있다고 개략적으로 판별되었던 비트라인들 상에 접지 전압을 확립한다. 하나 이상의 관리회로들은 어떤 비휘발성 저장소자들이 적어도 상기 타겟 레벨의 임계전압을 갖는지를 판별하기 위하여 제 1 워드라인에 관련된 복수의 비휘발성 저장소자들에 대한 정밀 판독을 수행한다. 정밀 판독을 수행하는 것은, 하나 이상의 관리회로들이 제 1 그룹에 있다고 개략적으로 판별되었던 비트라인들을 제 2 전압 레벨에서 바이어싱하고 반면에 제 2 그룹에 있다고 개략적으로 판별되었던 비트라인들을 접지 전압에서 바이어싱하는 것을 포함한다.
전술한 바와 같은 상세한 내용은 예시 및 설명을 위한 목적으로 제공되었다. 하지만, 이러한 설명은 개시된 바로 그 형태로 실시예들을 제한하고자 의도된 것이 아니며 혹은 개시된 내용을 속속들이 규명하고자 의도된 것도 아니다. 전술한 가르침에 비추어 볼때 수 많은 수정예들 및 변형예들이 가능하다. 본 발명의 기술적 사상과 그의 실제적인 응용을 최적으로 설명하기 위해, 본 발명의 실시예들이 선택되었다. 따라서, 해당 기술분야의 당업자들은 다양한 실시예들을 통해서 본 발명을 가장 잘 활용할 수 있을 것이며, 고려중인 특정한 용도에 적합한 다양한 변형예들을 가장 잘 활용할 수 있을 것이다. 본 발명의 범위는 첨부된 청구항들에 의해서 정의되어야 한다.

Claims (16)

  1. 워드라인에 관련된 복수의 비트라인들을 포함하는 비휘발성 저장 시스템을 동작시키는 방법으로서, 복수의 비휘발성 저장소자들은 상기 워드라인에 관련되며, 상기 방법은,
    하나 이상의 프로그래밍 전압들을 상기 워드라인에 인가하는 단계(720)와;
    복수의 프로그램 상태들 각각을 검증하는 때에 상기 복수의 비트라인들 상에 제 1 바이어스 조건들(bias conditions)을 확립하는 단계(804) -각각의 프로그램 상태를 검증하는 때에 제 1 바이어스 조건들의 개별 세트가 확립되며, 비트라인을 바이어싱하는 것은, 상기 비트라인 상의 비휘발성 저장소자들이 프로그래밍되고 있는 상태(state)에 기초하며- 와;
    상기 제 1 바이어스 조건들을 확립한 이후 상기 복수의 비트라인들 중 비트라인들의 조건들을 감지하는 단계(806)와;
    판독 프로세스 동안 상기 복수의 비트라인들 상에 제 2 바이어스 조건들을 확립하는 단계(824) -판독중인 각각의 프로그램 상태에 대해서 제 2 바이어스 조건들의 개별 세트가 확립되며, 소정의 프로그램 상태에 대한 상기 제 2 바이어스 조건들은 상기 소정의 프로그램 상태에 대한 상기 제 1 바이어스 조건들과 실질적으로 매칭되며- 와; 그리고
    상기 판독 프로세스 동안에 비휘발성 저장소자들의 비트라인들을 감지하는 단계(826)
    를 포함하는 것을 특징으로 하는 비휘발성 저장 시스템을 동작시키는 방법.
  2. 제1항에 있어서,
    소정의 프로그램 상태로 프로그래밍 중인 비휘발성 저장소자들의 이웃들인 비휘발성 저장소자들은, 상기 소정의 프로그램 상태에 대한 검증 동안 타겟 비휘발성 저장소자의 채널 전위에 의존하는 채널 전위를 갖는 것을 특징으로 하는 비휘발성 저장 시스템을 동작시키는 방법.
  3. 제2항에 있어서,
    상기 소정 상태를 판독하는 때에 상기 복수의 비트라인들 상에 상기 제 2 바이어스 조건들을 확립하는 것은, 상기 소정 상태로 프로그래밍된 비휘발성 저장소자들의 이웃들인 실질적으로 모든 비휘발성 저장소자들이, 상기 소정 상태를 검증하는 때 상기 이웃의 채널 전위에 매칭되는 채널 전위를 갖도록 하는 것을 특징으로 하는 비휘발성 저장 시스템을 동작시키는 방법.
  4. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제 1 바이어스 조건들을 확립하는 단계는,
    상기 복수의 비트라인들 중 현재 검증 중인 상태로 프로그래밍될 비휘발성 저장소자를 갖는 비트라인들과 현재 검증 중인 상태의 바로 아래의 프로그램 상태로 프로그래밍될 비휘발성 저장소자를 갖는 비트라인들을 선행-충전(pre-charge)하는 단계(1002)를 포함하며; 그리고
    상기 제 2 바이어스 조건들을 확립하는 단계는,
    상기 복수의 비트라인들 중 다른 모든 비트라인들을 접지시키는 단계(1004)와;
    상기 복수의 비트라인들 중 현재 판독 중인 상태에 있다고 개략적으로(roughly) 판별되었던 비휘발성 저장소자를 갖는 비트라인들과 현재 판독 중인 상태의 바로 아래의 프로그램 상태에 있다고 개략적으로 판별되었던 비휘발성 저장소자를 갖는 비트라인들을 선행-충전하는 단계(1042)와; 그리고
    상기 복수의 비트라인들 중 다른 모든 비트라인들을 접지시키는 단계(1046)를 포함하는 것을 특징으로 하는 비휘발성 저장 시스템을 동작시키는 방법.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 비휘발성 저장소자들 각각이 어떤 상태에 있는지를 개략적으로 판별하도록 복수의 기준 전압 레벨들에서 판독들을 수행하는 단계(1020)를 더 포함하며, 상기 제 2 바이어스 조건들은 상기 판독들에 기초하는 것을 특징으로 하는 비휘발성 저장 시스템을 동작시키는 방법.
  6. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제 1 바이어스 조건들을 확립하는 단계는,
    현재 검증 중인 상태로 프로그래밍될 비휘발성 저장소자를 갖는 비트라인들을 선행-충전하는 단계(1102)와; 그리고
    상기 복수의 비트라인들 중 다른 모든 비트라인들을 접지시키는 단계(1104)
    를 포함하며,
    상기 제 2 바이어스 조건들을 확립하는 단계는,
    상기 복수의 비트라인들 모두를 선행-충전하는 단계(1122)와;
    상기 복수의 프로그램 상태들 중 최상위(highest) 프로그램 상태에서의 판독을 위해 상기 제 2 바이어스 조건들의 제 1 세트를 확립하도록, 상기 최상위 프로그램 상태에 관련된 전압 레벨에서 개략적 판독을 수행하는 단계(1124)와;
    상기 복수의 프로그램 상태들 중 최상위 다음의(next highest) 프로그램 상태에 관련된 전압 레벨에서 개략적 판독을 수행하는 단계(1130)와;
    상기 최상위 다음의 프로그램 상태에서의 판독을 위해 상기 제 2 바이어스 조건들의 제 2 세트를 확립하도록, 상기 최상위 다음의 프로그램 상태에 관련된 전압 레벨에서의 상기 개략적 판독 이후에 상기 최상위 다음의 프로그램 상태에 관련된 상기 전압 보다 높은 임계전압을 구비한 비휘발성 저장소자를 갖는 모든 비트라인들을 방전시키는 단계(1132)와;
    상기 복수의 프로그램 상태들 중 최하위(lowest) 프로그램 상태에 관련된 전압 레벨에서 개략적 판독을 수행하는 단계(1138)와;
    상기 최하위 프로그램 상태에서의 판독을 위해 상기 제 2 바이어스 조건들의 제 3 세트를 확립하도록, 상기 최하위 프로그램 상태에 관련된 전압 레벨에서의 상기 개략적 판독 이후에 상기 최하위 프로그램 상태 보다 높은 상태에 관련된 전압 보다 높은 임계전압을 구비한 비휘발성 저장소자를 갖는 모든 비트라인들을 방전시키는 단계(1140)
    를 포함하는 것을 특징으로 하는 비휘발성 저장 시스템을 동작시키는 방법.
  7. 제1항 내지 제3항 중 어느 한 항에 있어서,
    상기 제 1 바이어스 조건들을 확립하는 단계는,
    현재 검증 중인 프로그램 상태로 프로그래밍될 비휘발성 저장소자를 갖는 비트라인들과 그리고 현재 검증 중인 프로그램 상태 보다 높은 임의의 프로그램 상태로 프로그래밍될 비휘발성 저장소자를 갖는 비트라인들을 선행-충전하는 단계(1202)와; 그리고
    상기 복수의 비트라인들 중 다른 모든 비트라인들을 접지시키는 단계(1204)
    를 포함하며,
    상기 제 2 바이어스 조건들을 확립하는 단계는,
    상기 복수의 비트라인들 모두를 선행-충전하는 단계(1222)와;
    상기 복수의 프로그램 상태들 중 최하위 프로그램 상태에서의 판독을 위해 상기 제 2 바이어스 조건들의 제 1 세트를 확립하도록, 상기 최하위 프로그램 상태에 관련된 전압 레벨에서 개략적 판독을 수행하는 단계(1224)와;
    상기 복수의 프로그램 상태들 중 최상위 다음의 프로그램 상태에서의 판독을 위해 상기 제 2 바이어스 조건들의 제 2 세트를 확립하도록, 상기 최상위 다음의 프로그램 상태에 관련된 전압 레벨에서 개략적 판독을 수행하는 단계(1228)와; 그리고
    상기 복수의 프로그램 상태들 중 최상위 프로그램 상태에서의 판독을 위해 상기 제 2 바이어스 조건들의 제 3 세트를 확립하도록, 상기 최상위 프로그램 상태에 관련된 전압 레벨에서 개략적 판독을 수행하는 단계(1232)
    를 포함하는 것을 특징으로 하는 비휘발성 저장 시스템을 동작시키는 방법.
  8. 제1항 내지 제3항 중 어느 한 항에 있어서,
    각각의 메모리 셀에 대하여, 복수의 프로그램 상태들 각각을 검증하는 때 상기 각각의 메모리 셀이 비정밀 검증 레벨(coarse verify level)에 도달했음을 나타내는 제 1 값들을 저장하는 단계와;
    복수의 프로그램 상태들 각각을 검증하는 때 상기 각각의 메모리 셀이 정밀 검증 레벨에 도달하는 경우 각각의 메모리 셀로 프로그래밍될 상태를 나타내는 값들을 데이터 래치에 겹쳐쓰기(overwrite)하는 단계와; 그리고
    소정의 메모리 셀에 대한 상기 제 1 값과 상기 소정의 메모리 셀에 대한 상기 데이터 래치 내의 현재 값들을 조합하여, 상기 소정의 메모리 셀에 관련된 비트라인에 대해서 제 1 바이어스 조건들을 어떻게 확립할지를 결정하는 단계
    를 더 포함하는 것을 특징으로 하는 비휘발성 저장 시스템을 동작시키는 방법.
  9. 시스템으로서,
    복수의 비휘발성 저장소자들(100, 102, 104, 등등);
    상기 복수의 비휘발성 저장소자들과 관련된 복수의 비트라인들(BL0, BL1, BL2, 등등);
    제 1 워드라인을 포함하며, 상기 복수의 비휘발성 저장소자들과 관련된 복수의 워드라인들(WL0, WL1, WL2, 등등); 그리고
    상기 복수의 비휘발성 저장소자들, 상기 복수의 비트라인들 및 상기 복수의 워드라인들과 통신하는 하나 이상의 관리회로들(244, 220 ,230, 242, 240)
    을 포함하며,
    상기 하나 이상의 관리회로들은 하나 이상의 프로그래밍 전압들을 상기 워드라인에 인가하며, 상기 하나 이상의 관리회로들은 복수의 프로그램 상태들 각각을 검증하는 때에 상기 복수의 비트라인들 상에 제 1 바이어스 조건들을 확립하며, 각각의 프로그램 상태를 검증하는 때에 상기 제 1 바이어스 조건들의 개별 세트가 확립되며, 비트라인을 바이어싱하는 것은 상기 비트라인 상의 비휘발성 저장소자들이 프로그래밍되고 있는 상태에 기초하며, 상기 하나 이상의 관리회로들은 상기 제 1 바이어스 조건들을 확립한 이후 상기 비휘발성 저장소자들의 비트라인들의 조건들을 감지하며, 상기 하나 이상의 관리회로들은 판독 프로세스 동안 상기 복수의 비트라인들 상에 제 2 바이어스 조건들을 확립하며, 판독중인 각각의 프로그램 상태에 대해서 상기 제 2 바이어스 조건들의 개별 세트가 확립되며, 소정의 프로그램 상태에 대한 상기 제 2 바이어스 조건들은 상기 소정의 프로그램 상태에 대한 상기 제 1 바이어스 조건들과 실질적으로 매칭되며, 상기 하나 이상의 관리회로들은 상기 판독 프로세스 동안에 비휘발성 저장소자들의 비트라인들을 감지하는 것을 특징으로 하는 시스템.
  10. 제9항에 있어서,
    소정의 프로그램 상태로 프로그래밍 중인 타겟 비휘발성 저장소자들의 이웃들인 비휘발성 저장소자들은, 상기 소정의 프로그램 상태에 대한 검증 동안 상기 타겟 비휘발성 저장소자의 채널 전위에 의존하는 채널 전위를 갖는 것을 특징으로 하는 시스템.
  11. 제9항 또는 제10항에 있어서,
    상기 소정 상태를 판독하는 때에 상기 복수의 비트라인들 상에 상기 제 2 바이어스 조건들을 확립하는 것은, 상기 소정 상태로 프로그래밍된 비휘발성 저장소자들의 이웃들인 실질적으로 모든 비휘발성 저장소자들이, 상기 소정 상태를 검증하는 때 상기 이웃의 채널 전위에 매칭되는 채널 전위를 갖도록 하는 것을 특징으로 하는 시스템.
  12. 제9항 내지 제11항 중 어느 한 항에 있어서,
    상기 제 1 바이어스 조건들을 확립하기 위하여, 상기 하나 이상의 관리회로들은 상기 복수의 비트라인들 중 현재 검증 중인 상태로 프로그래밍될 비휘발성 저장소자를 갖는 비트라인들과 현재 검증 중인 상태의 바로 아래의 프로그램 상태로 프로그래밍될 비휘발성 저장소자를 갖는 비트라인들을 선행-충전하며, 상기 하나 이상의 관리회로들은 상기 제 1 바이어스 조건들을 확립하기 위하여 상기 복수의 비트라인들 중 다른 모든 비트라인들을 접지시키며;
    상기 제 2 바이어스 조건들을 확립하기 위하여, 상기 하나 이상의 관리회로들은 상기 복수의 비트라인들 중 현재 판독 중인 상태에 있다고 개략적으로 판별되었던 비휘발성 저장소자를 갖는 비트라인들과 현재 판독 중인 상태의 바로 아래의 프로그램 상태에 있다고 개략적으로 판별되었던 비휘발성 저장소자를 갖는 비트라인들을 선행-충전하며, 상기 하나 이상의 관리회로들은 상기 제 2 바이어스 조건들을 확립하기 위하여 상기 복수의 비트라인들 중 다른 모든 비트라인들을 접지시키는 것을 특징으로 하는 시스템.
  13. 제9항 내지 제12항 중 어느 한 항에 있어서,
    상기 하나 이상의 관리회로들은 상기 비휘발성 저장소자들 각각이 어떤 프로그램 상태에 있는지를 개략적으로 판별하도록 복수의 기준 전압 레벨들에서 판독들을 수행하며, 상기 제 2 바이어스 조건들은 상기 판독들에 기초하는 것을 특징으로 하는 시스템.
  14. 제9항 내지 제11항 중 어느 한 항에 있어서,
    상기 제 1 바이어스 조건들을 확립하기 위하여 상기 하나 이상의 관리회로들은 현재 검증 중인 상태로 프로그래밍될 비휘발성 저장소자를 갖는 비트라인들을 선행-충전하며, 상기 하나 이상의 관리회로들은 상기 제 1 바이어스 조건들을 확립하기 위하여 상기 복수의 비트라인들 중 다른 모든 비트라인들을 접지시키며;
    상기 제 2 바이어스 조건들을 확립하기 위하여 상기 하나 이상의 관리회로들은 상기 복수의 비트라인들 모두를 선행-충전하며, 상기 하나 이상의 관리회로들은 상기 복수의 프로그램 상태들 중 최상위(highest) 프로그램 상태에서의 판독을 위해 상기 제 2 바이어스 조건들의 제 1 세트를 확립하도록, 상기 최상위 프로그램 상태에 관련된 전압 레벨에서 개략적 판독을 수행하며, 상기 하나 이상의 관리회로들은 상기 복수의 프로그램 상태들 중 최상위 다음의(next highest) 프로그램 상태에 관련된 전압 레벨에서 개략적 판독을 수행하며, 상기 하나 이상의 관리회로들은 상기 최상위 다음의 프로그램 상태에서의 판독을 위해 상기 제 2 바이어스 조건들의 제 2 세트를 확립하도록, 상기 최상위 다음의 프로그램 상태에 관련된 전압 레벨에서의 상기 개략적 판독 이후에 상기 최상위 다음의 프로그램 상태에 관련된 상기 전압 보다 높은 임계전압을 구비한 비휘발성 저장소자를 갖는 모든 비트라인들을 방전시키며, 상기 하나 이상의 관리회로들은 상기 복수의 프로그램 상태들 중 최하위(lowest) 프로그램 상태에 관련된 전압 레벨에서 개략적 판독을 수행하며, 상기 하나 이상의 관리회로들은 상기 최하위 프로그램 상태에서의 판독을 위해 상기 제 2 바이어스 조건들의 제 3 세트를 확립하도록, 상기 최하위 프로그램 상태에 관련된 전압 레벨에서의 상기 개략적 판독 이후에 상기 최하위 프로그램 상태 보다 높은 상태에 관련된 전압 보다 높은 임계전압을 구비한 비휘발성 저장소자를 갖는 모든 비트라인들을 방전시키는 것을 특징으로 하는 시스템.
  15. 제9항 내지 제11항 중 어느 한 항에 있어서,
    상기 제 1 바이어스 조건들을 확립하기 위하여 상기 하나 이상의 관리회로들은 현재 검증 중인 프로그램 상태로 프로그래밍될 비휘발성 저장소자를 갖는 비트라인들과 그리고 현재 검증 중인 프로그램 상태 보다 높은 임의의 프로그램 상태로 프로그래밍될 비휘발성 저장소자를 갖는 비트라인들을 선행-충전하며, 상기 하나 이상의 관리회로들은 상기 제 1 바이어스 조건들을 확립하기 위하여 상기 복수의 비트라인들 중 다른 모든 비트라인들을 접지시키며;
    상기 제 2 바이어스 조건들을 확립하기 위하여 상기 하나 이상의 관리회로들은 상기 복수의 비트라인들 모두를 선행-충전하며, 상기 하나 이상의 관리회로들은 상기 복수의 프로그램 상태들 중 최하위 프로그램 상태에서의 판독을 위해 상기 제 2 바이어스 조건들의 제 1 세트를 확립하도록 상기 최하위 프로그램 상태에 관련된 전압 레벨에서 개략적 판독을 수행하며, 상기 하나 이상의 관리회로들은 상기 복수의 프로그램 상태들 중 최상위 다음의 프로그램 상태에서의 판독을 위해 상기 제 2 바이어스 조건들의 제 2 세트를 확립하도록, 상기 최상위 다음의 프로그램 상태에 관련된 전압 레벨에서 개략적 판독을 수행하며, 상기 하나 이상의 관리회로들은 상기 복수의 프로그램 상태들 중 최상위 프로그램 상태에서의 판독을 위해 상기 제 2 바이어스 조건들의 제 3 세트를 확립하도록 상기 최상위 프로그램 상태에 관련된 전압 레벨에서 개략적 판독을 수행하는 것을 특징으로 하는 시스템.
  16. 워드라인에 관련된 복수의 비트라인들을 포함하는 비휘발성 저장 시스템으로서, 복수의 비휘발성 저장소자들은 상기 워드라인에 관련되며, 상기 비휘발성 저장 시스템은,
    하나 이상의 프로그래밍 전압들을 상기 워드라인에 인가하기 위한 수단들(244, 220, 242, 230, 240)과;
    복수의 프로그램 상태들 각각을 검증하는 때에 상기 복수의 비트라인들 상에 제 1 바이어스 조건들(bias conditions)을 확립하기 위한 수단들(244, 220, 242, 230, 240) -각각의 프로그램 상태를 검증하는 때에 제 1 바이어스 조건들의 개별 세트가 확립되며, 비트라인을 바이어싱하는 것은, 상기 비트라인 상의 비휘발성 저장소자들이 프로그래밍되고 있는 상태(state)에 기초하며- 과;
    상기 제 1 바이어스 조건들을 확립한 이후 상기 복수의 비트라인들 중 비트라인들의 조건들을 감지하기 위한 수단들(244, 220, 242, 230, 240)과;
    판독 프로세스 동안 상기 복수의 비트라인들 상에 제 2 바이어스 조건들을 확립하기 위한 수단들(244, 220, 242, 230, 240) -판독중인 각각의 프로그램 상태에 대해서 제 2 바이어스 조건들의 개별 세트가 확립되며, 소정의 프로그램 상태에 대한 상기 제 2 바이어스 조건들은 상기 소정의 프로그램 상태에 대한 상기 제 1 바이어스 조건들과 실질적으로 매칭되며- 과; 그리고
    상기 판독 프로세스 동안에 비휘발성 저장소자들의 비트라인들을 감지하기 위한 수단들(244, 220, 242, 230, 240)
    을 포함하는 것을 특징으로 하는 비휘발성 저장 시스템.
KR1020127031543A 2010-05-04 2011-05-03 비휘발성 저장소자들을 감지하는 동안의 채널 커플링 효과의 완화 KR101788351B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/773,701 US8208310B2 (en) 2010-05-04 2010-05-04 Mitigating channel coupling effects during sensing of non-volatile storage elements
US12/773,701 2010-05-04
PCT/US2011/034951 WO2011140057A1 (en) 2010-05-04 2011-05-03 Mitigating channel coupling effects during sensing of non-volatile storage elements

Publications (2)

Publication Number Publication Date
KR20130109948A true KR20130109948A (ko) 2013-10-08
KR101788351B1 KR101788351B1 (ko) 2017-10-19

Family

ID=44340258

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127031543A KR101788351B1 (ko) 2010-05-04 2011-05-03 비휘발성 저장소자들을 감지하는 동안의 채널 커플링 효과의 완화

Country Status (7)

Country Link
US (2) US8208310B2 (ko)
EP (1) EP2567381B1 (ko)
JP (1) JP2013525938A (ko)
KR (1) KR101788351B1 (ko)
CN (1) CN102947888B (ko)
TW (1) TW201203259A (ko)
WO (1) WO2011140057A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180097458A (ko) * 2017-02-23 2018-08-31 샌디스크 테크놀로지스 엘엘씨 동적 스트로브 타이밍

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101980676B1 (ko) 2012-05-25 2019-05-22 에스케이하이닉스 주식회사 메모리 및 그 검증 방법
KR102122892B1 (ko) * 2013-09-25 2020-06-15 에스케이하이닉스 주식회사 메모리 및 이를 포함하는 메모리 시스템
US9396786B2 (en) * 2013-09-25 2016-07-19 SK Hynix Inc. Memory and memory system including the same
TWI514411B (zh) * 2013-10-08 2015-12-21 Macronix Int Co Ltd 感測放大器及其感測方法
US9520195B2 (en) * 2013-10-09 2016-12-13 Macronix International Co., Ltd. Sensing amplifier utilizing bit line clamping devices and sensing method thereof
CN104575607B (zh) * 2013-10-14 2018-05-01 旺宏电子股份有限公司 感测放大器及其感测方法
KR102235492B1 (ko) 2014-08-25 2021-04-05 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 프로그램 검증 방법
US9576673B2 (en) * 2014-10-07 2017-02-21 Sandisk Technologies Llc Sensing multiple reference levels in non-volatile storage elements
US20160118135A1 (en) * 2014-10-28 2016-04-28 Sandisk Technologies Inc. Two-strobe sensing for nonvolatile storage
US9443606B2 (en) 2014-10-28 2016-09-13 Sandisk Technologies Llc Word line dependent two strobe sensing mode for nonvolatile storage elements
US9564213B2 (en) * 2015-02-26 2017-02-07 Sandisk Technologies Llc Program verify for non-volatile storage
US10074439B2 (en) * 2015-06-04 2018-09-11 SK Hynix Inc. Modeling method of threshold voltage distributions
JP6490018B2 (ja) * 2016-02-12 2019-03-27 東芝メモリ株式会社 半導体記憶装置
JP6502880B2 (ja) 2016-03-10 2019-04-17 東芝メモリ株式会社 半導体記憶装置
JP2017208152A (ja) * 2016-05-20 2017-11-24 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
KR102589259B1 (ko) * 2016-06-20 2023-10-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10121522B1 (en) * 2017-06-22 2018-11-06 Sandisk Technologies Llc Sense circuit with two sense nodes for cascade sensing
US10008271B1 (en) * 2017-09-01 2018-06-26 Sandisk Technologies Llc Programming of dummy memory cell to reduce charge loss in select gate transistor
US10163500B1 (en) * 2017-09-30 2018-12-25 Intel Corporation Sense matching for hard and soft memory reads
JP6983617B2 (ja) * 2017-10-17 2021-12-17 キオクシア株式会社 半導体記憶装置
CN110648714B (zh) * 2018-06-26 2021-03-30 北京兆易创新科技股份有限公司 数据的读取方法、装置、电子设备和存储介质
US10707228B2 (en) * 2018-08-21 2020-07-07 Sandisk Technologies Llc Three-dimensional memory device having bonding structures connected to bit lines and methods of making the same
US10741568B2 (en) 2018-10-16 2020-08-11 Silicon Storage Technology, Inc. Precision tuning for the programming of analog neural memory in a deep learning artificial neural network
JP7148727B2 (ja) 2019-02-20 2022-10-05 長江存儲科技有限責任公司 メモリシステムをプログラムする方法
KR20210024916A (ko) * 2019-08-26 2021-03-08 에스케이하이닉스 주식회사 메모리 장치 및 이의 동작 방법
CN112927741B (zh) * 2019-10-18 2022-09-30 长江存储科技有限责任公司 对存储器件进行编程和验证的方法以及相关的存储器件
US11037641B1 (en) 2019-12-05 2021-06-15 Sandisk Technologies Llc Temperature and cycling dependent refresh operation for memory cells
US11139038B1 (en) * 2020-06-17 2021-10-05 Sandisk Technologies Llc Neighboring or logical minus word line dependent verify with sense time in programming of non-volatile memory
US11315644B2 (en) * 2020-09-25 2022-04-26 Intel Corporation String current reduction during multistrobe sensing to reduce read disturb
US11443814B1 (en) * 2021-05-27 2022-09-13 Winbond Electronics Corp. Memory structure with marker bit and operation method thereof
TWI791309B (zh) * 2021-07-20 2023-02-01 旺宏電子股份有限公司 非揮發記憶體及其編程方法
KR20230041330A (ko) * 2021-09-17 2023-03-24 에스케이하이닉스 주식회사 비휘발성 메모리 장치에 데이터를 프로그램 및 검증하기 위한 장치 및 방법
US20230410923A1 (en) * 2022-06-21 2023-12-21 Sandisk Technologies Llc Hybrid precharge select scheme to save program icc

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
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
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US7327619B2 (en) 2002-09-24 2008-02-05 Sandisk Corporation Reference sense amplifier for non-volatile memory
US7443757B2 (en) 2002-09-24 2008-10-28 Sandisk Corporation Non-volatile memory and method with reduced bit line crosstalk errors
US7196931B2 (en) 2002-09-24 2007-03-27 Sandisk Corporation Non-volatile memory and method with reduced source line bias errors
US7046568B2 (en) 2002-09-24 2006-05-16 Sandisk Corporation Memory sensing circuit and method for low voltage operation
US6859397B2 (en) 2003-03-05 2005-02-22 Sandisk Corporation Source side self boosting technique for non-volatile memory
US6917542B2 (en) 2003-07-29 2005-07-12 Sandisk Corporation Detecting over programmed memory
US6956770B2 (en) 2003-09-17 2005-10-18 Sandisk Corporation Non-volatile memory and method with bit line compensation dependent on neighboring operating modes
US7064980B2 (en) 2003-09-17 2006-06-20 Sandisk Corporation Non-volatile memory and method with bit line coupled compensation
US6888758B1 (en) 2004-01-21 2005-05-03 Sandisk Corporation Programming non-volatile memory
US7372730B2 (en) * 2004-01-26 2008-05-13 Sandisk Corporation Method of reading NAND memory to compensate for coupling between storage elements
US7158421B2 (en) * 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
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
US7400537B2 (en) * 2005-03-31 2008-07-15 Sandisk Corporation Systems for erasing non-volatile memory using individual verification and additional erasing of subsets of memory cells
US7196928B2 (en) 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7193898B2 (en) * 2005-06-20 2007-03-20 Sandisk Corporation Compensation currents in non-volatile memory read operations
US7130222B1 (en) * 2005-09-26 2006-10-31 Macronix International Co., Ltd. Nonvolatile memory with program while program verify
US7206235B1 (en) 2005-10-14 2007-04-17 Sandisk Corporation Apparatus for controlled programming of non-volatile memory exhibiting bit line coupling
US7450425B2 (en) * 2006-08-30 2008-11-11 Micron Technology, Inc. Non-volatile memory cell read failure reduction
US20080158986A1 (en) * 2006-12-29 2008-07-03 Daniel Elmhurst Flash memory and associated methods
US7808831B2 (en) 2008-06-30 2010-10-05 Sandisk Corporation Read disturb mitigation in non-volatile memory
US7876611B2 (en) 2008-08-08 2011-01-25 Sandisk Corporation Compensating for coupling during read operations in non-volatile storage
KR20100090541A (ko) * 2009-02-06 2010-08-16 삼성전자주식회사 비트라인 바이어싱 타임을 단축하는 비휘발성 메모리 장치 및 이를 포함하는 메모리 시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180097458A (ko) * 2017-02-23 2018-08-31 샌디스크 테크놀로지스 엘엘씨 동적 스트로브 타이밍

Also Published As

Publication number Publication date
EP2567381B1 (en) 2015-03-18
KR101788351B1 (ko) 2017-10-19
CN102947888B (zh) 2015-11-25
WO2011140057A8 (en) 2015-03-12
US20110273935A1 (en) 2011-11-10
JP2013525938A (ja) 2013-06-20
US8208310B2 (en) 2012-06-26
CN102947888A (zh) 2013-02-27
EP2567381A1 (en) 2013-03-13
USRE45953E1 (en) 2016-03-29
TW201203259A (en) 2012-01-16
WO2011140057A1 (en) 2011-11-10

Similar Documents

Publication Publication Date Title
KR101788351B1 (ko) 비휘발성 저장소자들을 감지하는 동안의 채널 커플링 효과의 완화
KR101048834B1 (ko) 프로그래밍 중의 커플링 보상
KR101073116B1 (ko) 커플링을 사용하는 이웃 감지에 기반한 커플링 보상
KR101595044B1 (ko) 비휘발성 메모리에서의 감지 동안 데이터 상태에 기반하는 온도 보상
JP4778553B2 (ja) 結合の補償を含む不揮発性記憶のための読み出し動作
US7764544B2 (en) All-bit-line erase verify and soft program verify
JP4665029B2 (ja) 不揮発性メモリの読み出し動作中の結合の補償
US7535769B2 (en) Time-dependent compensation currents in non-volatile memory read operations
KR101736414B1 (ko) 다른 메모리 셀들로부터의 영향을 감소시키는 것을 포함하는 비휘발성 저장 소자의 프로그래밍
TWI424439B (zh) 非揮發性記憶體裝置中感測記憶體讀取及程式檢驗操作
EP1946323B1 (en) Method for programming of multi-state non-volatile memory using smart verify
JP2008536252A (ja) 不揮発性記憶内の結合の補償
KR20120039562A (ko) 비휘발성 저장 소자에 대한 프로그래밍 완료의 검출
JP2009522703A (ja) 不揮発性メモリの書込動作における継続的な検証
TWI384484B (zh) 非揮發性儲存器之阻抗感測及補償
KR101007371B1 (ko) 비-휘발성 워드 라인들의 효율적인 제어로 비-휘발성 저장소자 판독
WO2008011441A2 (en) Method for configuring compensation for coupling between adjacent storage elements in a nonvolatile memory

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right