KR20090007278A - 비휘발성 메모리에 대한 교번적 로우-기반 판독 및 기입 - Google Patents

비휘발성 메모리에 대한 교번적 로우-기반 판독 및 기입 Download PDF

Info

Publication number
KR20090007278A
KR20090007278A KR1020087018746A KR20087018746A KR20090007278A KR 20090007278 A KR20090007278 A KR 20090007278A KR 1020087018746 A KR1020087018746 A KR 1020087018746A KR 20087018746 A KR20087018746 A KR 20087018746A KR 20090007278 A KR20090007278 A KR 20090007278A
Authority
KR
South Korea
Prior art keywords
word line
nonvolatile storage
programming
state
storage elements
Prior art date
Application number
KR1020087018746A
Other languages
English (en)
Other versions
KR100989181B1 (ko
Inventor
다니엘 씨. 구테르만
Original Assignee
샌디스크 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/321,346 external-priority patent/US7443726B2/en
Priority claimed from US11/321,259 external-priority patent/US7349260B2/en
Application filed by 샌디스크 코포레이션 filed Critical 샌디스크 코포레이션
Publication of KR20090007278A publication Critical patent/KR20090007278A/ko
Application granted granted Critical
Publication of KR100989181B1 publication Critical patent/KR100989181B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3427Circuits or methods to prevent or reduce disturbance of the state of a memory cell when neighbouring cells are read or written
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits

Landscapes

  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

저장 소자들의 세트에 대한 선택 게이트 라인에 인접한 워드 라인(WLn)으로 시작하여 상기 저장 소자들의 세트가 프로그래밍된다. 제 1 워드 라인의 프로그래밍 이후, 제 1 워드 라인에 인접한 다음 워드 라인(WLn+1)을 건너뛰어 WLn+1에 인접한 다음 워드 라인(WLn+2)이 프로그래밍된다. 그 다음에 WLn+1이 프로그래밍된다. 프로그래밍은 시퀀스{WLn+4, WLn+3, WLn+6, WLn+5, ...}에 따라 상기 세트에 대한 마지막 워드 라인을 제외한 모든 워드 라인이 프로그래밍될 때까지 계속된다. 그 다음에 마지막 워드 라인이 프로그래밍된다. 이러한 방식으로 프로그래밍함으로써, 상기 세트의 워드 라인들 중 일부(WLn+1, WLn+3 등)는 후속적으로 프로그래밍되는 이웃하는 워드 라인들을 갖지 않는다. 이러한 워드 라인들의 메모리 셀들은 후속적으로 프로그래밍되는 이웃하는 메모리 셀들로 인한 어떠한 플로팅 게이트 대 플로팅 게이트 커플링 임계 전압 시프트 효과의 영향을 받지 않는다. 후속적으로 프로그래밍되는 이웃들을 갖지 않는 워드 라인들은 이웃하는 메모리 셀들에 근거를 둔 오프셋 혹은 보상을 사용함이 없이 판독된다. 다른 워드 라인들은 양쪽의 후속적으로 프로그래밍되는 이웃하는 워드 라인들 내의 데이터 상태에 근거를 둔 보상을 사용하여 판독된다.

Description

비휘발성 메모리에 대한 교번적 로우-기반 판독 및 기입{ALTERNATE ROW-BASED READING AND WRITING FOR NON-VOLATILE MEMORY}
본 발명은 비휘발성 메모리에 대한 기술에 관한 것이다.
반도체 메모리는 다양한 전자 디바이스에서 점점 더 많이 사용되고 있다. 예를 들어, 비휘발성 반도체 메모리는 셀률러 전화기, 디지털 카메라, PDA(Personal Digital Assistant), 모바일 컴퓨팅 디바이스, 비모바일 컴퓨팅 디바이스 및 다른 디바이스에서 사용되고 있다. EEPROM(Electrical Erasable Programmable Read Only Memory) 및 플래시 메모리는 가장 널리 사용되는 비휘발성 반도체 메모리들 중의 하나이다.
EEPROM 및 플래시 메모리는 반도체 기판에서의 채널 영역으로부터 절연되어 채널 영역 위에 배치되는 플로팅 게이트를 사용한다. 플로팅 게이트는 소소 영역과 드레인 영역 사이에 위치한다. 제어 게이트는 플로팅 게이트로부터 절연되어 플로팅 게이트 위에 제공된다. 트랜지스터의 임계 전압은 플로팅 게이트 상에 보유되는 전하량에 의해 제어된다. 즉, 소스와 드레인 사이의 전도를 허용하기 위해 트랜지스터가 턴온되기 전에 제어 게이트에 인가되어야만 하는 최소 전압의 양은 플로팅 게이트 상의 전하 레벨에 의해 제어된다.
EEPROM 또는 플래시 메모리 디바이스, 예를 들어, NAND 플래시 메모리 디바이스를 프로그래밍할 때, 전형적으로 프로그램 전압이 제어 게이트에 인가되고 그리고 비트 라인은 접지된다. 채널로부터의 전자들은 플로팅 게이트에 주입된다. 전자들이 플로팅 게이트에 축적될 때, 플로팅 게이트는 음으로 충전되고, 그리고 메모리 셀의 임계 전압은 상승되어 메모리 셀은 프로그래밍 상태에 있게 된다. 프로그래밍에 대한 더 많은 정보는 미국 특허 출원 번호 제10/379,608호(발명의 명칭: "Self-Boosting Technique", 2003.03.05. 출원), 제10/629,068호(발명의 명칭: "Detecting Over Programmed Memory", 2003.07.29. 출원)에서 알 수 있으며, 이 문헌들은 그 전체가 참조로 본 명세서에 통합된다.
일부 EEPROM 및 플래시 메모리 디바이스는 두 가지 범위의 전하를 저장하기 위해 사용되는 플로팅 게이트를 갖으며, 따라서, 메모리 셀은 두 가지 상태(소거 상태 및 프로그래밍 상태) 사이에서 프로그래밍/소거될 수 있다. 이러한 플래시 메모리 디바이스는 때때로 바이너리 플래시 메모리 디바이스로 언급된다.
복수 상태 플래시 메모리 디바이스는 금지 범위에 의해 분리되는 복수의 개별 허용/유효 프로그래밍 임계 전압 범위를 식별함으로써 구현된다. 각각의 개별 임계 전압 범위는 메모리 디바이스에서 인코딩되는 데이터 비트들의 세트에 대한 미리 결정된 값에 대응한다.
플로팅 게이트 상에 저장되는 겉보기 전하에서의 시프트는 인접하는 플로팅 게이트들에 저장된 전하에 그 근거를 둔 전기장의 커플링으로 인해 일어날 수 있다. 플로팅 게이트 대 플로팅 게이트 커플링 현상은 미국 특허 제5,867,429호에 설 명되어 있으며, 이 문헌은 그 전체가 참조로 본 명세서에 통합된다. 타겟 플로팅 게이트에 대한 인접하는 플로팅 게이트는 동일 비트 라인 상에 있는 이웃하는 플로팅 게이트, 또는 동일 워드 라인 상의 이웃하는 플로팅 게이트, 또는 타겟 플로팅 게이트 맞은편에 있는 플로팅 게이트를 포함할 수 있는데, 왜냐하면 이들은 이웃하는 비트 라인과 이웃하는 워드 라인 상에 모두 있기 때문이다.
플로팅 게이트 대 플로팅 게이트 커플링 현상은 서로 다른 시간에 프로그래밍되는 인접하는 메모리 셀들의 세트들 사이에서 가장 명백하게 일어난다. 예를 들어, 제 1 메모리 셀이 프로그래밍되어 한 개의 데이터 세트에 대응하는 플로팅 게이트에 일정 레벨의 전하가 부가된다. 이후, 하나 또는 그 이상의 인접하는 메모리 셀들이 프로그래밍되어 두 번째 데이터 세트에 대응하는 플로팅 게이트에 일정 레벨의 전하가 부가된다. 하나 또는 그 이상의 인접하는 메모리 셀들이 프로그래밍된 이후에, 제 1 메모리 셀로부터 판독되는 전하 레벨은, 제 1 메모리 셀에 연결되는 인접하는 메모리 셀들 상의 프로그래밍된 전하의 영향으로, 본래 프로그래밍된 것과 다른 것처럼 보인다. 인접하는 메모리 셀들로부터의 커플링은 타겟 셀로부터 판독되는 겉보기 전하 레벨을 충분한 양만큼 시프팅시켜 저장된 데이터를 잘못 판독하게 할 수 있다.
플로팅 게이트 대 플로팅 게이트 커플링의 영향은 복수 상태 디바이스에서 매우 중요한 관심사인데, 왜냐하면 복수 상태 디바이스에서 허용된 임계 전압 범위 및 금지된 범위는 바이너리 디바이스에서 보다 더 좁기 때문이다. 따라서, 플로팅 게이트 대 플로팅 게이트 커플링으로 인해 메모리 셀들은 허용된 임계 전압 범위에 서 금지된 범위로 시프팅된다.
메모리 셀들의 크기가 계속 줄어듦에 따라, 자연적으로 임계 전압의 프로그래밍 및 소거 분포가 증가할 것으로 예측되는데, 이것은 단채널 효과(short channel effects), 더 큰 옥사이드 두께/커플링 비율 변화, 및 더 많은 채널 도펀트 변동으로 인한 것이며, 이러한 것은 인접하는 상태들 간의 분리 가능성을 감소시킨다. 이러한 현상은 단지 두 개의 상태를 사용하는 메모리(바이너리 메모리)보다 복수 상태 메모리에서 훨씬 더 중요하다. 더욱이, 워드 라인들 간의 간격의 감소 및 비트 라인들 간의 간격의 감소는 또한 인접하는 플로팅 게이트들 간의 커플링을 증가시킨다.
따라서, 플로팅 게이트들 간의 커플링 효과를 감소시킬 필요가 있다.
저장 소자들의 세트에 대한 선택 게이트 라인에 인접한 워드 라인(WLn)으로 시작하여 상기 저장 소자들의 세트가 프로그래밍된다. 제 1 워드 라인의 프로그래밍 이후, 제 1 워드 라인에 인접한 다음 워드 라인(WLn+1)을 건너뛰어 WLn+1에 인접한 다음 워드 라인(WLn+2)이 프로그래밍된다. 그 다음에 WLn+1이 프로그래밍된다. 프로그래밍은 시퀀스{WLn+4, WLn+3, WLn+6, WLn+5, ...}에 따라 상기 세트에 대한 마지막 워드 라인을 제외한 모든 워드 라인이 프로그래밍될 때까지 계속된다. 그 다음에 마지막 워드 라인이 프로그래밍된다. 이러한 방식으로 프로그래밍함으로써, 상기 세트의 일부 워드 라인(WLn+1, WLn+3, 등)은 후속적으로 프로그래밍되는 이웃하는 워드 라인들을 갖지 않는다. 이러한 워드 라인들의 메모리 셀들은 후속적으로 프로그래밍되는 이웃하는 메모리 셀들로부터의 플로팅 게이트 대 플로팅 게이트 커플링 관련 마진 시프트(margin shift)의 영향을 받지 않는다. 후속적으로 프로그래밍되는 이웃들을 갖지 않는 워드 라인들은 이웃하는 메모리 셀들에 근거를 둔 오프셋(offsets) 혹은 보상(compensations)을 사용함이 없이 판독된다. 다른 워드 라인들은 양쪽의 후속적으로 프로그래밍되는 이웃하는 워드 라인들에 근거를 둔 보상을 사용하여 판독된다.
일 실시예에서, 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법이 제공되며, 상기 방법은 제 1 워드 라인에 연결된(즉, 전기적으로 연결된) 비휘발성 저장 소자들을 프로그래밍하는 것과, 제 1 워드 라인은 비휘발성 저장 소자들의 세트에 대한 선택 게이트 라인에 인접하고, 제 1 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍한 이후에 제 3 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 것을 포함한다. 제 3 워드 라인은 제 2 워드 라인에 인접하고, 그리고 제 2 워드 라인은 제 1 워드 라인에 인접한다. 상기 방법 제 3 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍한 이후에 제 2 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍한다. 제 2 워드 라인에 연결된 비휘발성 저장 소자들의 프로그래밍은 제 3 워드 라인에 연결된 비휘발성 저장 소자들의 프로그래밍이 시작한 이후에 시작한다.
일 실시예에서, 비휘발성 메모리 시스템이 제공되며, 상기 시스템은, 선택 게이트 라인에 인접하는 제 1 워드 라인에 연결되는 비휘발성 저장 소자들의 제 1 세트와, 상기 제 1 워드 라인에 인접하는 제 2 워드 라인에 연결되는 비휘발성 저장 소자들의 제 2 세트와, 그리고 상기 제 2 워드 라인에 인접하는 제 3 워드 라인에 연결되는 비휘발성 저장 소자들의 제 3 세트를 포함한다. 비휘발성 저장 소자들의 제 3 세트는, 비휘발성 저장 소자들의 제 1 세트 이후에 그리고 비휘발성 저장 소자들의 제 2 서브세트 이전에, 프로그래밍된다. 제 2 워드 라인에 연결된 비휘발성 저장 소자들의 프로그래밍은 제 3 워드 라인에 연결된 비휘발성 저장 소자들의 프로그래밍 이후에 시작한다.
일 실시예에서, 비휘발성 저장소를 판독하는 방법이 제공되며, 상기 방법은 비휘발성 저장 소자들의 제 1 세트로부터의 데이터에 대한 요청에 응답하여 비휘발성 저장 소자들의 제 2 세트 및 비휘발성 저장 소자들의 제 3 세트를 판독하는 것을 포함한다. 제 2 세트가 제 1 세트 이후에 프로그래밍되고, 제 2 세트는 제 1 세트에 인접하여 있다. 제 3 세트가 제 1 세트 이후에 프로그래밍되고, 제 3 세트는 제 1 세트에 인접하여 있다. 제 2 세트 및 제 3 세트의 판독 이후에, 하나 또는 그 이상의 판독 비교 포인트들을 사용하는 제 1 판독 프로세스와 하나 또는 그 이상의 조정된 판독 비교 포인트들을 사용하는 적어도 제 2 판독 프로세스를 포함하는 판독 프로세스들의 세트를 사용하여 비휘발성 저장 소자들의 제 1 세트가 판독된다. 제 1 세트의 각각의 비휘발성 저장 소자에 대한 마지막 데이터가, 제 2 세트로부터 인접하는 비휘발성 저장 소자의 판독 및 제 3 세트로부터 인접하는 비휘발성 저장 소자의 판독에 근거를 둔, 판독 프로세스들 중 적절한 하나로부터 제공된다.
일 실시예에서, 비휘발성 저장 소자들의 세트 및 상기 비휘발성 저장 소자들의 세트와 통신하는 관리 회로를 포함하는 비휘발성 메모리 시스템이 제공된다. 관리 회로는, 비휘발성 저장 소자들의 세트의 적어도 서브세트의 각각의 비휘발성 저장 소자에 대해, 제 1 인접하는 비휘발성 저장 소자에 저장된 전하 레벨 및 제 2 인접하는 비휘발성 저장 소자에 저장된 전하 레벨에 근거하여, 오프셋들의 미리 결정된 세트로부터 오프셋을 결정함으로써, 비휘발성 저장 소자들의 세트를 판독한다. 제 1 인접하는 비휘발성 저장 소자 및 제 2 인접하는 비휘발성 저장 소자는 서브세트의 각각의 비휘발성 저장 소자 이후에 프로그래밍된다. 관리 회로는 비휘발성 저장 소자들의 세트에 대해 판독 프로세스들의 세트를 수행하고, 여기서 각각의 판독 프로세스는 오프셋들의 미리 결정된 세트와는 다른 오프셋들 중 하나를 사용하고 그리고 비휘발성 저장 소자들의 세트의 모든 비휘발성 저장 소자들에 관해 수행된다. 서브세트의 각각의 비휘발성 저장 소자는 서브세트의 각각의 비휘발성 저장 소자에 대해 결정된 오프셋과 관련된 판독 프로세스들 중 적절한 하나로부터 마지막 데이터를 제공한다.
도 1은 NAND 스트링의 상부도이다.
도 2는 NAND 스트링 등가 회로도이다.
도 3은 NAND 스트링의 단면도이다.
도 4는 NAND 플래시 메모리 셀들의 어레이의 블럭도이다.
도 5는 비휘발성 메모리 시스템의 블럭도이다.
도 6은 감지 블럭의 일 실시예를 나타낸 블럭도이다.
도 7은 비휘발성 메모리를 프로그래밍하기 위한 프로세스의 일 실시예를 나 타낸 흐름도이다.
도 8은 비휘발성 메모리 셀들의 제어 게이트에 인가되는 예시적 파형이다.
도 9는 임계 전압 분포들의 예시적인 세트를 나타낸 것이다.
도 10은 임계 전압 분포들의 예시적인 세트를 나타낸 것이다.
도 11은 인접하는 메모리 셀들의 하나 또는 그 이상의 그룹들의 프로그래밍 전후의 메모리 셀들의 그룹에 대한 임계 전압 분포의 예시적 세트를 나타낸 것이다.
도 12는 일 실시예에 따른 프로그래밍 시퀀스도이다.
도 13A-13E는 다양한 실시예에 따른 비휘발성 메모리의 프로그래밍의 순서를 나타낸 표이다.
도 14는 비휘발성 메모리를 판독하는 프로세스의 일 실시예를 나타낸 흐름도이다.
도 15는 비휘발성 메모리에 대한 판독 동작을 수행하기 위한 프로세스의 일 실시예를 나타낸 흐름도이다.
도 16은 비휘발성 메모리에 대한 판독 동작을 수행하기 위한 프로세스의 일 실시예를 나타낸 흐름도이다.
도 17은 풀-시퀀스 프로그래밍을 사용하여 프로그래밍되는 데이터를 판독하기 위한 프로세스의 일 실시예를 나타낸 흐름도이다.
도 18A는 해당 워드 라인에 이후에 프로그래밍되는 두 개의 인접한 워드 라인들의 결합 커플링 값을 나타낸 표이다.
도 18B는 두 개의 워드 라인들의 다양한 결합 커플링 값을 보상하기 위해 사용되는 판독 오프셋 값을 나타낸 표이다.
도 19는 풀-시퀀스 프로그래밍을 사용하여 프로그래밍되는 데이터를 판독하기 위한 프로세스의 일 실시예를 나타낸 흐름도이다.
도 20은 아래쪽 페이지로부터 데이터를 판독하기 위한 프로세스의 일 실시예를 나타낸 흐름도이다.
도 21은 위쪽 페이지로부터 데이터를 판독하기 위한 프로세스의 일 실시예를 나타낸 흐름도이다.
도 22는 복수의 워드 라인들로부터의 데이터 판독의 프로세스의 일 실시예를 나타낸 흐름도이다.
본 발명의 실시예들을 구현하는데 적합한 메모리 시스템의 일 예는 NAND 플래시 메모리 구조를 사용하며, 이것은 두 개의 선택 게이트들 사이에 복수의 트랜지스터들을 직렬로 배열하는 것을 포함한다. 직렬 연결된 트랜지스터들 및 선택 게이트들은 NAND 스트링으로 언급된다. 도 1은 예시적 NAND 스트링(50)을 나타내는 상부도이다. 도 2는 그 등가 회로이다. 도 1 및 도 2에 도시된 NAND 스트링은 제 1 선택 게이트(20)와 제 2 선택 게이트(22) 사이에 샌드위치되어 직렬로 연결된 트랜지스터들(10, 12, 14, 및 16)을 포함한다. 일 실시예에서, 트랜지스터들(10, 12, 14, 및 16) 각각은 NAND 스트링의 개개의 메모리 셀을 형성한다. 다른 실시예들에서, NAND 스트링의 메모리 셀들은 복수의 트랜지스터들을 포함할 수 있거나 도 1 및 도 2에 도시된 것과는 다를 수 있다. NAND 스트링은 임의 개수의 메모리 셀들을 포함할 수 있으며, 도시된 네 개보다 더 적거나 혹은 더 많을 수 있다(예를 들어, 2, 8, 16, 32, 등). 본 명세서에서 설명은 NAND 스트링에서의 임의의 특정 개수의 메모리 셀들에만 한정되지 않는다. 선택 게이트(20)는 비트 라인(미도시)에 또한 연결되는 드레인 단자(26)에 NAND 스트링을 연결한다. 선택 게이트(22)는 소스 라인(미도시)에 또한 연결되는 소스 단자(24)에 NAND 스트링을 연결한다. 선택 게이트(20)는 드레인측 선택 게이트 라인(SGD)을 통해 제어 게이트(20CG)에 적절한 전압을 인가함으로써 제어되고, 그리고 선택 게이트(22)는 소스측 선택 게이트 라인(SGS)을 통해 제어 게이트(22CG)에 적절한 전압을 인가함으로써 제어된다. 트랜지스터들(10, 12, 14, 및 16) 각각은 제어 게이트와 플로팅 게이트를 갖는다. 트랜지스터(10)는 제어 게이트(10CG)와 플로팅 게이트(10FG)를 포함한다. 트랜지스터(12)는 제어 게이트(12CG)와 플로팅 게이트(12FG)를 포함한다. 트랜지스터(14)는 제어 게이트(14CG)와 플로팅 게이트(14FG)를 포함한다. 트랜지스터(16)는 제어 게이트(16CG)와 플로팅 게이트(16FG)를 포함한다. 제어 게이트(10CG)는 워드 라인(WL3)에 연결되고, 제어 게이트(12CG)는 워드 라인(WL2)에 연결되며, 제어 게이트(14CG)는 워드 라인(WL1)에 연결되고, 그리고 제어 게이트(16CG)는 워드 라인(WL0)에 연결된다.
도 3은 앞서 설명된 NAND 스트링의 단면도를 제공하며, 여기서 NAND 스트링 내에는 네 개의 메모리 셀들이 있는 것으로 가정한다. 또한, 본 명세서에서의 설명은 NAND 스트링 내의 임의의 특정 개수의 메모리 셀들에만 한정되는 것이 아니다. 도 3에 도시된 바와 같이, NAND 스트링의 트랜지스터는 p-웰 영역(40)에 형성된다. 각각의 트랜지스터는 제어 게이트(IOCG, 12CG, 14CG 및 16CG) 및 플로팅 게이트(10FG, 12FG, 14FG 및 16FG)로 구성된 적층된 게이트 구조를 포함한다. 플로팅 게이트들은 옥사이드 혹은 다른 유전체 필름의 상부의 p-웰의 표면 상에 형성된다. 제어 게이트는 플로팅 게이트 위에 있고, 인터-폴리실리콘 유전체 층(inter- polysilicon dielectric layer)이 제어 게이트와 플로팅 게이트을 분리시킨다. 메모리 셀들(10, 12, 14 및 16)의 제어 게이트들은 워드 라인들을 형성한다. N+ 도핑 층들(30, 32, 34, 36 및 38)이 이웃하는 셀들 간에 공유되며, 그럼으로써 셀들은 서로 직렬로 연결되어 NAND 스트링을 형성한다. 이러한 N+ 도핑 층은 스트링의 소자들 각각의 소스 및 드레인을 형성한다. 예를 들어, N+ 도핑 층(30)은 트랜지스터(22)의 드레인으로서의 역할을 하고, 트랜지스터(16)에 대해서는 소스로서의 역할을 하며, N+ 도핑 층(32)은 트랜지스터(16)에 대해서는 드레인으로서의 역할을 하고 트랜지스터(14)에 대해서는 소스로서의 역할을 하고, N+ 도핑 층(34)은 트랜지스터(14)에 대해서는 드레인으로서의 역할을 하고 트랜지스터(12)에 대해서는 소스로서의 역할을 하고, N+ 도핑 층(36)은 트랜지스터(12)에 대해서는 드레인으로서의 역할을 하고 트랜지스터(10)에 대해서는 소스로서의 역할을 하며, 그리고 N+ 도핑 층(38)은 트랜지스터(10)에 대해서는 드레인으로서의 역할을 하고 트랜지스터(20)에 대해서는 소스로서의 역할을 한다. N+ 도핑 층(26)은 드레인 단자를 형성하고 복수의 NAND 스트링에 대한 공통 비트 라인에 연결되며, 반면에 N+ 도핑 층(24)은 소스 단자를 형성하고 복수의 NAND 스트링에 대한 공통 소스 라인에 연결 된다.
유의할 것으로, 비록 도 1 내지 도 3이 NAND 스트링 내의 네 개의 메모리 셀들을 보여주고 있지만, 네 개의 트랜지스터의 사용은 단지 예시적인 것으로 제공된다. 본 명세서에서 설명되는 기술과 함께 사용되는 NAND 스트링은 네 개의 메모리 셀보다 더 적은 개수를 가질 수 있거나 또는 네 개의 메모리 셀보다 더 많은 개수를 가질 수 있다. 예를 들어, 일부 NAND 스트링은 8개의 메모리 셀, 16개의 메모리 셀, 32개의 메모리 셀 등을 포함할 수 있다. 본 명세서에의 설명은 NAND 스트링 내의 임의의 특정 개수의 메모리 셀들에만 한정되는 것이 아니다.
각각의 메모리 셀은 아날로그 형태 혹은 디지털 형태로 제공되는 테이터를 저장할 수 있다. 디지털 데이터의 한 비트를 저장할 때, 메모리 셀의 가능한 임계 전압의 범위는 개별 메모리 상태를 나타내는 두 가지 범위로 나누어진다. 메모리 상태는 논리적 데이터 "1" 및 "0"으로 할당된다. 적어도 하나의 임계 전압(Vt) 브레이크포인트 레벨이 일반적으로 확립되어 메모리 셀의 임계 전압 메모리 윈도우가 두 가지 범위로 구분된다. 미리 결정된 고정 전압을 인가함으로써 셀이 판독될 때, 그 소스/드레인 전도 상태는 이것을 브레이크포인트 레벨(혹은 기준 전류)과 비교함으로써 확립된다. 만약 전류 판독이 브레이크포인트 레벨의 것보다 더 높다면, 셀은 "온(on)"으로 결정되며 하나의 논리적 상태에 있는 것으로 결정된다. 만약 전류가 브레이크포인트 레벨보다 더 적다면, 셀은 "오프(off)"로 결정되며 다른 하나의 논리적 상태에 있는 것으로 결정된다. NAND 타입 플래시 메모리의 일 예에서, 메모리 셀이 소거된 이후 전압 임계치는 음의 값이고, 로직 "1"로 정의된다. 프로 그램 동작 이후 임계 전압은 양의 값이고, 로직 "0"로 정의된다. 임계 전압이 음의 값이고 제어 게이트에 0 볼트를 인가함으로써 판독이 시도될 때, 메모리 셀은 로직 1이 저장되고 있음을 나타내도록 턴온된다. 임계 전압이 양의 값이고 제어 게이트에 0 볼트를 인가함으로써 판독 동작이 시도될 때, 메모리 셀은 로직 제로(0)가 저장되고 있음을 나타내도록 턴온되지 않는다.
메모리 셀은 또한 개별적인 메모리 상태를 나타내도록 임계 전압의 두 가지 범위보다 더 많은 범위를 사용함으로써 복수의 디지털 데이터 비트들을 저장할 수 있다. 임계 전압 윈도우는 요구된 메모리 상태의 개수로 나누어질 수 있고, 그리고 복수의 전압 브레이크포인트 레벨이 개개의 상태를 분석하기 위해 사용될 수 있다. 예를 들어, 만약 네 가지 상태가 사용된다면, 네 개의 개별적 메모리 상태를 나타내는 네 개의 임계 전압 범위가 있을 수 있으며, 그 각각의 메모리 상태에는 데이터 값 "11", "10", "01", "00"이 할당된다. NAND 타입 메모리의 일 예에서, 소거 동작 이후 임계 전압은 음의 값이고, 그리고 "11"로 정의된다. 양의 임계 전압들은 각각 "10", "01", "00"의 점진적으로 증가하는 임계 전압 상태를 위해 사용된다. 일부 실시예에서, 데이터 값들(예를 들어, 논리적 상태들)은 그레이 코드 할당을 사용하여 점진적으로 증가하는 임계 전압 범위에 할당되어(예를 들어, "11", "10", "00", "01"), 만약 플로팅 게이트의 임계 전압이 그 이웃하는 임계 전압 혹은 물리적 상태로 잘못 시프팅할지라도 단지 하나의 논리적 비트만이 영향을 받는다. 메모리 셀에 프로그래밍되는 데이터와 셀의 임계 전압 범위 사이의 특정 관계는 메모리 셀들에 대해 채택된 데이터 인코딩 방식에 따라 다르다. 예를 들어, 미국 특허 번 호 제6,222,762호 및 미국 특허출원 번호 제10/461,244호(발명의 명칭: "Tracking Cells For A Memory System", 2003.06.13. 출원)는 복수 상태 플래시 메모리 셀들에 대한 다양한 데이터 인코딩 방식을 설명하고 있으며, 이 두 문헌은 그 전체가 참조로 본 명세서에 통합된다.
NAND 타입 플래시 메모리 및 그 동작의 관련 예들은 다음과 같은 미국 특허/특허출원, 즉, 미국 특허 번호 제5,570,315호, 제5,774,397호, 제6,046,935호, 제5,386,422호, 제6,456,528호, 및 미국 특허출원 번호 제09/893,277호(공개 번호 US2003/0002348)에서 제공되고 있으며, 이들 모두는 그 전체가 참조로 본 명세서에 통합된다. NAND 플래시 메모리에 추가하여 다른 타입의 비휘발성 메모리가 또한 실시예에 따라 사용될 수 있다.
플래시 EEPROM 시스템에서 유용한 또 다른 타입의 메모리 셀은 비휘발성 방식으로 전하를 저장하기 위해 전도성 플로팅 게이트 대신 비전도성 유전체 물질을 사용한다. 이러한 셀은 논문 "A True Single-Transistor Oxide-Nitride-Oxide EEPROM Device"(저자; 첸(Chen) 외. IEEE Electron Device Letters, Vol. EDL-8, No. 3, March 1987, pp. 93-95)에 설명되어 있다. 실리콘 옥사이드(silicon Oxide)와 실리콘 나이트라이드(silicon Nitride)와 실리콘 옥사이드(silicon Oxide)로 구성된 삼층의 유전체("ONO")가 메모리 셀 채널 위의 반전도성 기판의 표면과 전도성 제어 게이트 사이에 샌드위치된다. 이 셀은 셀 채널로부터의 전자를 나이트라이드에 주입함으로써 프로그래밍되고, 여기서 이들은 제한된 영역에 트랩핑되어 저장된다. 그 다음에 저장된 전하는 검출 가능한 방식으로 셀의 채널의 일부의 임계 전압 을 변경시킨다. 셀은 나이트라이드에 핫 홀(hot hole)들을 주입함으로써 소거된다. 또한 논문 "A 1-Mb EEPROM with MONOS Memory Cell for Semiconductor Disk Application"(저자: Nozaki 외, IEEE Journal of Solid-State Circuits, Vol. 26, No. 4, April 1991, pp. 497-501)을 참조하기 바라며, 여기에는, 개별 선택 트랜지스터를 형성하기 위해 도핑된 폴리실리콘 게이트가 메모리 셀 채널의 일 부분 위로 확장하는 분리-게이트 구성으로 유사한 셀이 설명되어 있다. 앞서의 두 개의 논문은 그 전체가 참조로 본 명세서에 통합된다. 논문 "Nonvolatile Semiconductor Memory Technology"(편집자; William D. Brown 및 Joe E. Brewer, IEEE Press, 1998)의 섹션 1.2에 언급된 프로그래밍 기술이 또한 유전체 전하 트랩핑 디바이스에 적용가능한 것으로 그 섹션에 설명되어 있고, 이 문헌도 참조로 본 명세서에 통합된다. 이 단락에서 설명된 메모리 셀들은 또한 본 발명과 함께 사용될 수 있다. 따라서, 본 명세서에서 설명되는 기술은 서로 다른 메모리 셀들의 유전체 영역들 간의 커플링에 적용된다.
각각의 셀에 두 비트를 저장하기 위한 또 다른 방법은 논문 ""NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell"(저자: Eitan 외, IEEE Electron Device Letters, vol. 21, no. 11, November 2000, pp. 543-545)에 설명되어 있다. ONO 유전체 층은 소소 확장부와 드레인 확장부 사이의 채널을 가로질러 확장한다. 하나의 데이터 비트에 대한 전하는 드레인에 인접하고 있는 유전체 층에 국부화되고, 그리고 다른 데이터 비트에 대한 전하는 소스에 인접하고 있는 유전체 층에 국부화된다. 복수 상태 데이터 저장소는 유전체 내의 공간적으로 분리된 전하 저장 영역의 바이너리 상태를 개별적으로 판독함으로써 얻어진다. 이 단락에서 설명된 메모리 셀들은 또한 본 발명과 함께 사용될 수 있다.
도 4는 도 1 내지 도 3에 도시된 것과 같은, NAND 스트링(50)의 어레이(100)의 예를 나타낸다. 각각의 컬럼을 따라, 비트 라인(28)이 드레인 단자, 예를 들어 NAND 스트링(50)에 대한 비트 라인 선택 게이트의 드레인(26)에 연결된다. NAND 스트링의 각각의 로우를 따라, 소스 라인(29)이 NAND 스트링의 소스 라인 선택 게이트의 모든 소스 단자(예를 들어, 24)를 연결한다. 메모리 시스템의 일부로서 NAND 아키텍처 어레이 및 그 동작의 예는 미국 특허 번호 제5,570,315호, 제5,774,397호, 및 제6,046,935호에서 찾을 수 있으며, 이 모두는 그 전체가 참조로 본 명세서에 통합된다.
메모리 셀들의 어레이(100)는 많은 메모리 셀들의 블럭들로 나누어진다. 플래시 EEPROM 시스템에 대해 공통적인 것으로, 블럭은 소거의 단위이다. 즉, 각각의 블럭은 함께 소거되는 메모리 셀들의 최소 개수를 포함한다. 각각의 블럭은 전형적으로 여러 페이지들로 나누어진다. 비록 한 페이지보다 많은 페이지가 단일 동작으로 프로그래밍될 수 있거나 혹은 판독될 수 있을지라도, 페이지는 전형적으로 프로그래밍 혹은 판독의 최소 단위이다. 또 다른 실시예에서, 개개의 페이지들은 세그먼트들로 나누어질 수 있고, 그리고 이 세그먼트들은 기본적인 프로그래밍 동작으로서 한번에 기입되는 셀들의 최소 개수를 포함할 수 있다. 하나 또는 그 이상의 데이터 페이지는 전형적으로 메모리 셀들의 하나의 로우에 저장된다. 임의의 페이지는 하나 또는 그 이상의 데이터 섹터를 저장할 수 있고, 그 크기는 일반적으로 호스트 시스템에 의해 정의된다. 섹터는 사용자 데이터 및 오버헤드 데이터를 포함한다. 오버헤드 데이터는 전형적으로 섹터의 사용자 데이터로부터 계산되는 에러 정정 코드(Error Correction Code, ECC)를 포함한다. (아래에서 설명되는) 제어기 부분은 데이터가 어레이에 프로그래밍되고 있을 때 ECC를 계산하고, 그리고 데이터가 어레이로부터 판독되고 있을 때 ECC를 점검한다. 대안적으로, ECC 및/또는 다른 오버헤드 데이터는 이들이 속한 사용자 데이터의 페이지와는 다른 페이지에 저장되거나 또는 심지어 이들이 속한 사용자 데이터의 블럭과는 다른 블럭에 저장된다.
사용자 데이터의 섹터는 전형적으로 512 바이트이고, 이것은 자기 디스크 드라이브에서 공통적으로 사용되는 섹터의 크기에 대응한다. 오버헤드 데이터는 전형적으로 추가적인 16-20 바이트이다. 여러 페이지(대략 8 페이지에서 예를 들어 최대 32, 64, 또는 이보다 많은 페이지)가 블럭을 형성한다. 일부 실시예에서, NAND 스트링들의 임의의 로우는 임의의 블럭을 포함한다.
일 실시예에서, 메모리 셀들은 p-웰을 충분한 시간 동안 소거 전압(예를 들어, 20 볼트)까지 상승시킴으로써 그리고 선택된 블럭의 워드 라인들을 접지시킴으로써 소거되고, 이 경우 소스 및 비트 라인은 플로팅 상태에 있다. 따라서, 강한 전기장이 선택된 메모리 셀들의 터널 옥사이드 층에 인가되고, 그리고 선택된 메모리 셀들의 데이터가 소거되는데, 왜냐하면 플로팅 게이트의 전자들이 기판쪽으로 방출되기 때문이다. 전자들이 플로팅 게이트로부터 p-웰 영역으로 전달되기 때문에, 선택된 셀의 임계 전압은 낮추어 진다. 이러한 셀들(이들의 소거는 금지되어 있음)의 워드 라인들은 플로팅 상태에 설정된다. 용량성 커플링으로 인해, 선택되 지 않은 워드 라인들, 비트 라인들, 선택 라인들, 및 공통 소스 라인들이 소거 전압 중 극히 일부까지 상승되며, 따라서 선택되지 않은 셀들의 소거가 금지된다. 소거는 전체 메모리 어레이 관해, 또는 개별 블럭들에 관해, 또는 셀들의 또 다른 단위에 관해 수행될 수 있다.
도 5는 병렬로 메모리 셀들의 페이지를 판독하고 프로그래밍하기 위한 판독/기입 회로를 구비한 메모리 디바이스(110)를 나타내고 있다. 메모리 디바이스(110)는 하나 또는 그 이상의 메모리 다이 혹은 칩(112)을 포함할 수 있다. 메모리 다이(112)는 이차원의 메모리 셀들의 어레이(100)와, 제어 회로(120)와, 그리고 판독/기입 회로(130A 및 130B)를 포함한다. 일 실시예에서, 다양한 주변 회로들에 의한 메모리 어레이(100)에 대한 액세스는 어레이의 반대쪽에서 대칭적으로 수행되며, 그래서 각각의 사이드 상의 액세스 라인 및 회로의 밀도는 반으로 감소된다. 판독/기입 회로(130A 및 130B)는 메모리 셀들의 페이지가 병렬로 판독되거나 프로그래밍될 수 있게 하는 복수의 감지 블럭들(200)을 포함한다. 메모리 어레이(100)는 로우 디코더(140A 및 140B)를 통해 워드 라인들에 의해 어드레싱가능하고, 그리고 컬럼 디코더(142A 및 142B)를 통해 비트 라인들에 의해 어드레싱가능하다. 전형적인 실시예에서, 제어기(144)는 하나 또는 그 이상의 메모리 다이(112)로서 동일 메모리 디바이스(100)(예를 들어, 탈착가능 저장 카드)에 포함된다. 컴맨드 및 데이터가 라인(132)을 통해 호스트와 제어기(144) 간에 전달되고, 그리고 라인(134)을 통해 제어기와 하나 또는 그 이상의 메모리 다이(112) 간에 전달된다.
제어 회로(120)는 판독/기입 회로(130A 및 130B)와 함께 동작하여 메모리 어 레이(100) 상의 메모리 동작을 수행한다. 제어 회로(120)는 상태 머신(122)과, 온-칩 어드레스 디코더(124)와, 그리고 파워 제어 모듈(126)을 포함한다. 상태 머신(122)은 메모리 동작의 칩 레벨 제어를 제공한다. 온-칩 어드레스 디코더(124)는 호스트 혹은 메모리 제어기에 의해 사용된 어드레스 인터페이스를 디코더(140A, 140B, 142A, 및 142B)에 의해 사용된 하드웨어 어드레스에 제공한다. 파워 제어 모듈(126)은 메모리 동작 동안 워드 라인과 비트 라인에 제공되는 파워 및 전압을 제어한다.
도 6은 감지 모듈(210) 및 공통 부분(220)으로서 언급되는 코어 부분으로 구분된 개개의 감지 블럭(200)의 블럭도이다. 일 실시예에서, 각각의 비트 라인에 대해 개별적인 감지 모듈(210)이 존재하고 그리고 복수의 감지 모듈(210)의 세트에 대해 하나의 공통 부분(220)이 존재한다. 예를 들어, 감지 블럭은 하나의 공통 부분(220)과 여덟 개의 감지 모듈(210)을 포함할 수 있다. 임의의 그룹 내의 감지 모듈 각각은 데이터 버스(206)를 통해 관련된 공통 부분과 통신한다. 더 상세한 설명에 대해서는 미국 특허출원 번호 제11/026,536호(발명의 명칭: "Non-Volatile Memory & Method with Shared Processing for an Aggregate of Sense Amplifiers", 2004.12.29. 출원)를 참조 바라며, 이 문헌은 그 전체가 참조로 본 명세서에 통합된다.
감지 모듈(210)은, 연결된 비트 라인 내의 전도 전류가 미리 결정된 임계 레벨 위에 있는지 혹은 아래에 있는 지를 결정하는 감지 회로(204)를 포함한다. 감지 모듈(210)은 또한 연결된 비트 라인 상의 전압 조건을 설정하기 위해 사용되는 비 트 라인 래치(202)를 포함한다. 예를 들어, 비트 라인 래치(202)에 래치된 미리 결정된 상태는 연결된 비트 라인을 프로그램 금지를 나타내는 상태(예를 들어, Vdd)까지 끌어당긴다.
공통 부분(220)은 프로세서(212)와, 데이터 래치들(214)의 세트와, 그리고 데이터 래치들(214)의 세트와 데이터 버스(134) 사이에 연결된 I/O 인터페이스(216)를 포함한다. 프로세서(212)는 연산을 수행한다. 예를 들어, 그 기능 중의 하나는 감지된 메모리 셀에 저장된 데이터를 결정하는 것이고 아울러 결정된 데이터를 데이터 래치들의 세트에 저장하는 것이다. 데이터 래치들(214)의 세트는 판독 동작 동안 프로세서(212)에 의해 결정된 데이터 비트들을 저장하기 위해 사용된다. 이것은 또한 프로그램 동작 동안 데이터 버스(134)로부터 들어온 데이터 비트들을 저장하기 사용된다. 들어온 데이터 비트들은 메모리에 프로그래밍될 기입 데이터를 나타낸다. I/O 인터페이스(216)는 데이터 래치들(214) 및 데이터 버스(134) 간의 인터페이스를 제공한다.
판독 혹은 감지 동안, 시스템의 동작은, 어드레싱된 셀에 서로 다른 제어 게이트 전압의 제공을 제어하는 도 5의 상태 머신(122)의 제어하에 있다. 메모리에 의해 지원되는 다양한 메모리 상태에 대응하는 다양한 미리 정의된 제어 게이트 전압들을 통해 진행하기 때문에, 감지 모듈(210)은 이러한 전압들 중 하나에서 트립핑하고, 버스(206)를 통해 감지 모듈(210)로부터 프로세서(212)로 출력이 제공된다. 이때, 프로세서(212)는 감지 모듈의 트립핑 이벤트(들) 및 입력 라인(208)을 통해 상태 머신으로부터의 인가된 제어 게이트 전압에 대한 정보를 고려하여 결과 적인 메모리 상태를 결정하다. 그 다음에, 이것은 메모리 상태에 대한 바이너리 인코딩을 계산하고 결과적인 데이터 비트들을 데이터 래치들(214)에 저장한다. 코어 부분의 또 다른 실시예에서, 비트 라인 래치(202)는 두 가지 역할을 하는데, 감지 모듈(210)의 출력을 래치하기 위한 래치로서의 역할과 앞서 설명된 바와 같은 비트 라인 래치로서의 역할을 한다.
프로그램 혹은 검증 동안, 프로그래밍될 데이터가 데이터 버스(134)로부터 데이터 래치들(214)의 세트에 저장된다. 상태 머신의 제어하에서, 프로그램 동작은 어드레싱된 메모리 셀들의 제어 게이트들에 인가되는 일련의 프로그래밍 전압 펄스들을 포함한다. 각각의 프로그래밍 펄스 이후, 요구된 메모리 상태 임계 전압 타겟에 셀이 프로그래밍되는지 여부를 결정하기 위한 재판독(read back)(검증)이 이루어진다. 프로세서(212)는 요구된 메모리 상태에 대한 재판독 메모리 상태를 모니터링한다. 두 개가 일치하는 경우, 프로세서(212)는 비트 라인이 프로그램 금지를 나타내는 조건(예를 들어, Vdd)까지 끌어 당겨지도록 비트 라인 래치(202)를 설정한다. 이것은 비트 라인에 연결된 셀의 후속 프로그래밍을 금지시켜며, 이것은 프로그래밍 펄스가 그 제어 게이트 상에 나타나는 경우에도 그러하다. 다른 실시예에서, 프로세서는 초기에 비트 라인 래치(202)를 로딩하고 그리고 감지 회로는 이것을 검증 프로세스 동안 금지 값에 설정한다.
데이터 래치 스택(214)은 감지 모듈에 대응하는 데이터 래치들의 스택을 포함한다. 일 실시예에서, 감지 모듈(210) 당 세 개의 데이터 래치들이 있다. 일부 실시예에서(그러나 반드시 필요한 것은 아님), 데이터 래치들은 시프트 레지스터로 서 구현되어, 저장된 병렬 데이터는 데이터 버스(134)에 대한 직렬 데이터로 변환되고, 그 반대의 경우도 마찬가지이다. 바람직한 실시예에서, 메모리 셀들의 판독/기입 블럭에 대응하는 데이터 래치들 모두는 블럭 시프트 레지스터를 형성하도록 함께 연결될 수 있어 데이터의 블럭은 직렬 전달에 의해 입력될 수 있거나 출력될 수 있다. 특히, r개의 판독/기입 모듈들의 뱅크는 데이터 래치들의 세트 각각이 순차적으로 데이터 버스로 혹은 데이터 버스로부터, 마치 이들이 전체 판독/기입 블럭에 대해 시프트 레지스터의 일부인 것처럼, 데이터를 시프트시키도록 구성된다.
일반적으로, 메모리 셀들의 페이지는 병렬로 동작된다. 따라서, 감지 모듈들(210)의 대응하는 개수가 병렬 동작한다. 일 실시예에서, 페이지 제어기(미도시)는 병렬로 동작하는 감지 모듈에 제어 및 타이밍 신호를 적절하게 제공한다. 감지 모듈들(210)에 관한 더 상세한 설명에 대해서는 미국 특허출원 번호 제11/099,133호(발명의 명칭: "COMPENSATING FOR COUPLING DURING READ OPERATIONS OF NON-VOLATILE MEMORY", 2005.04.05. 출원)를 참고하기 바라면, 이 문헌은 그 전체가 참조로 본 명세서에 통합된다.
도 7은 비휘발성 메모리를 프로그래밍하는 방법의 일 실시예를 나타낸 흐름도이다. 일 실시예에서, 메모리 셀들은 프로그래밍 전에 (블럭 단위 혹은 다른 단위로) 소거된다. 도 7의 단계(300)에서, "데이터 로드" 컴맨드가 제어기에 의해 발행되고 그리고 도 5의 제어 회로(120)에 의해 입력이 수신된다. 단계(302)에서, 페이지 어드레스를 나타내는 어드레스 데이터는 제어기 또는 호스트로부터 디코더(124)에 입력된다. 단계(304)에서, 어드레싱된 페이지에 대한 프로그램 데이터의 페이지는 프로그래밍을 위해 데이터 버퍼에 입력된다. 이 데이터는 적절한 래치들의 세트에 래치된다. 단계(306)에서, "프로그램" 컴맨드가 제어기에 의해 상태 머신(122)에 발행되다.
"프로그램" 컴맨드에 의해 트리거되는 단계(304)에서 래치된 데이터는 적절한 워드 라인에 인가되는 도 8의 스텝화된 펄스를 사용하여 상태 머신(122)에 의해 제어되는 선택된 메모리 셀들에 프로그래밍된다. 단계(308)에서, 프로그램 전압(Vpgm)은 시작 펄스(예를 들어, 12V)로 초기화되고, 그리고 상태 머신(122)에 의해 유지되는 프로그램 카운터(Program Counter, PC)는 0으로 초기화된다. 단계(310)에서, 제 1 Vpgm 펄스가 선택된 워드 라인에 인가된다. 일 실시예에서, 특정 데이터 래치에 만약 대응하는 메모리 셀이 프로그래밍되어야 한다고 나타내는 "0"이 저장된다며, 대응하는 비트 라인은 접지된다. 반면에, 특정 데이터 래치에 만약 대응하는 메모리 셀이 현재의 데이터 상태에 있어야 한다고 나타내는 "1"이 저장된다며, 대응하는 비트 라인은 Vdd에 연결되어 프로그래밍을 금지시킨다.
단계(312)에서, 선택된 메모리 셀의 상태가 검증된다. 만약 선택된 셀의 타겟 임계 전압이 적절한 레벨에 도달한 것으로 검출된다면, 일 실시예에서 대응하는 데이터 래치에 저장된 데이터는 로직 "1"로 변경된다. 만약 임계 전압이 적절한 레벨에 도달하지 못한 것으로 검출된다면, 대응하는 데이터 래치에 저장된 데이터는 변경되지 않는다. 이러한 방식으로, 그 대응하는 데이터 래치에 저장된 로직 "1"을 갖는 비트 라인은 프로그래밍될 필요가 없다. 데이터 래치들 모두가 로직 "1"을 저장하고 있을 때, 상태 머신은 (앞서 설명된 와이어드-OR 타입 매커니즘(wired-OR type mechanism)을 통해) 모든 선택된 셀들이 프로그래밍되었음을 알게 된다. 단게(314)에서, 데이터 래치들 모두가 로직 "1"을 저장하고 있는지 여부가 점검된다. 만약 그렇다면, 프로그래밍 프로세스는 성공적으로 완료되는데, 왜냐하면 모든 선택된 메모리 셀들이 프로그래밍되고 검증되었기 때문이다. "패스(PASS)"의 상태가 단계(316)에서 보고된다.
만약 단계(314)에서 데이터 래치들 모두가 로직 "1"을 저장하고 있는 것이 아니라고 결정된다면, 프로그래밍 프로세스는 계속된다. 단계(318)에서, 프로그램 카우터(PC)는 프로그램 한계 값(PCMAX)에 대하여 점검된다. 프로그램 한계 값의 일 예는 20이다. 하지만 다른 값이 사용될 수도 있다. 만약 프로그램 카운터(PC)가 PCMAX보다 작지 않다면, 단계(319)에서 성공적으로 프로그래밍되지 않은 비트들의 수가 미리 결정된 개수와 동일한지 혹은 미리 결정된 개수보다 더 작은지 여부가 결정된다. 만약 성공적으로 프로그래밍되지 않은 비트들의 수가 미리 결정된 개수와 동일하거나 혹은 미리 결정된 개수보다 적다면, 프로그래밍 프로세스는 패스로 플래그되고 패스의 상태는 단계(321)에서 보고된다. 성공적으로 프로그래밍되지 않은 비트들은 판독 동작 동안 에러 정정을 사용하여 정정될 수 있다. 그러나, 만약 성공적으로 프로그래밍되지 않은 비트들의 개수가 미리 결정된 개수보다 더 크다면, 프로그래밍 프로세스는 실패로 플래그되고, 그리고 실패의 상태는 단계(320)에서 보고된다. 만약 프로그램 카운터(PC)가 PCMAX보다 작다면, Vpgm 레벨은 스텝 사이즈만큼 증가하고, 그리고 프로그램 카운터는 단계(322)에서 증분된다. 단계(322) 이후, 프로세스는 단계(310)로 다시 돌아가서 다음 Vpgm 펄스를 인가한다.
성공적인 프로그램 프로세스의 끝에서, 메모리 셀들의 임계 전압은 프로그래밍된 메모리 셀들에 대한 임계 전압의 하나 또는 그 이상의 분포 내에 있어야 하며, 또는 적절하게는 소거된 메모리 셀들에 대한 임계 전압의 분포 내에 있어야 한다. 도 9는 각각의 메모리 셀이 두 비트의 데이터를 저장할 때의 메모리 셀 어레이에 대한 임계 전압 분포를 나타낸다. 도 9는 소거된 메모리 셀들에 대해 제 1 임계 전압 분포(E)를 보여준다. 프로그래밍된 메모리 셀들에 대한 세 개의 임계 전압 분포(A, B, 및 C)가 또한 도시되어 있다. 일 실시예에서, 분포(E)에서의 임계 전압은 음의 값이고, 그리고 분포(A, B, 및 C)에서의 임계 전압은 양의 값이다.
도 9의 각각의 개별적 임계 전압 범위는 데이터 비트들의 세트에 대한 미리 결정된 값들에 대응한다. 메모리 셀들에 프로그래밍된 데이터와 셀의 임계 전압 레벨 간의 특정 관계는 셀들에 대해 채택된 데이터 인코딩 방식에 따라 다르다. 예를 들어, 미국 특허 번호 제6,222,762호 및 미국 특허출원 번호 제10/461,244호(발명의 명칭; "Tracking Cells For A Memory System", 2003.06.13. 출원)은 복수 상태 플래시 메모리 셀들에 대한 다양한 데이터 인코딩 방식을 설명하고 있으며, 이 두 문헌은 그 전체가 참조로 본 명세서에 통합된다. 일 실시예에서, 그레이 코드 할당을 사용하여 데이터 값들이 임계 전압 범위에 할당되고, 그래서 만약 플로팅 게이트의 임계 전압이 그 이웃하는 물리적 상태로 잘못 시프트할 지라도, 단지 하나의 비트만이 영향을 받는다. 일 실시예에서, 임계 전압 범위(E)(상태(E))에 "11"이 할당되고, 임계 전압 범위(A)(상태(A))에 "10"이 할당되고, 임계 전압 범위(B)(상태(B))에 "00"이 할당되고, 그리고 임계 전압 범위(C)(상태(C))에 "01"이 할당된 다. 그러나, 다른 실시예들에서, 그레이 코드는 사용되지 않는다. 비록 도 9가 네 가지 상태를 보여주고 있지만, 본 발명은 또한 네 가지 상태보다 더 많은 상태 또는 더 적은 상태를 포함하는 그러한 것들을 포함하는 다른 복수 상태 구조와 함께 사용될 수도 있다.
도 9는 또한 메모리 셀들로부터의 데이터를 판독하기 위한 세 개의 판독 기준 전압(Vra, Vrb, 및 Vrc)을 보여준다. 주어진 메모리 셀의 임계 전압이 Vra, Vrb, 및 Vrc 위에 있는지 혹은 아래에 있는지를 테스트함으로써, 시스템은 어떤 상태에 메모리 셀이 있는지를 결정할 수 있다. 도 9는 또한 세 개의 검증 기준 전압(Vva, Vvb, 및 Vvc)을 보여준다. 메모리 셀들을 상태(A)에 프로그래밍할 때, 시스템은 이러한 메모리 셀들이 Vva보다 더 큰 임계 전압에 도달했는지 혹은 Vva와 동일한 임계 전압에 도달했는지를 테스트한다. 메모리 셀들을 상태(B)에 프로그래밍할때, 시스템은 메모리 셀들이 Vvb보다 더 큰 임계 전압에 도달했는지 또는 Vvb와 동일한 임계 전압에 도달했는지 여부를 테스트한다. 메모리 셀들을 상태(C)에 프로그래밍할 때, 시스템은 메모리 셀들이 Vvc보다 더 큰 임계 전압에 도달했는지 또는 Vvc와 동일한 임계 전압에 도달했는지 여부를 테스트한다.
풀 시퀀스 프로그래밍(full sequence programming)으로 알려진 일 실시예에서, 메모리 셀들은 소거 상태(E)로부터 프로그래밍 상태들(A, B 또는 C) 중 어느 하나로 직접적으로 프로그래밍될 수 있다. 예를 들어, 일 군(population)의 프로그래밍될 메모리 셀들이 먼저 소거될 수 있어 상기 군 내의 모든 메모리 셀들은 소거 상태(E)에 있게 된다. 도 8에 도시된 제어 게이트 전압 시퀀스를 사용하는 도 7에 도시된 프로세스는 메모리 셀들을 상태들(A, B 또는 C)로 직접적으로 프로그래밍하기 위해 사용될 수 있다. 일부 메모리 셀들은 상태(E)로부터 상태(A)로 프로그래밍되고, 반면에 다른 메모리 셀들은 상태(E)로부터 상태(B)로 프로그래밍되고 그리고/또는 상태(E)로부터 상태(C)로 프로그래밍된다. WLn 상에서의 상태(E)로부터 상태(C)로의 프로그래밍시, WLn-1(및/또는 WLn+1, 이것은 이후 설명됨) 아래의 인접하는 플로팅 게이트에 대한 커플링의 양은 최대인데, 왜냐하면, WLn 아래의 플로팅 게이트(들) 상의 전압의 변화가 최대이기 때문이다. 상태(E)로부터 상태(B)로의 프로그래밍시, 인접하는 플로팅 게이트에 대한 커플링의 양은 감소하지만 여전히 상당한다. 상태(E)로부터 상태(A)로의 프로그래밍시, 커플링의 양은 훨씬 더 감소한다. 결과적으로, 후속적으로 프로그래밍된 로우(들)(WLn-1 및/또는 WLn+1)의 각각의 상태를 후속적으로 판독하기 위해 필요한 정정의 양은 이전에 프로그래밍된 로우(WLn) 상의 인접하는 셀의 상태에 따라 달라진다.
도 10은 두 개의 서로 다른 페이지(아래쪽 페이지 및 위쪽 페이지)에 대해 데이터를 저장하는 복수 상태 메모리 셀을 프로그래밍하는 2-패스 기술의 예를 나타낸다. 네 개의 상태(상태(E))(11), 상태(A)(10), 상태(B)(00), 및 상태(C)(01))가 도시된다. 상태(E)에 대해, 양쪽 페이지는 "1"을 저장한다. 상태(A)에 대해, 아래쪽 페이지는 "0"을 저장하고, 그리고 위쪽 페이지는 "1"을 저장한다. 상태(B)에 대해, 양쪽 페이지는 "0"을 저장한다. 상태(C)에 대해, 아래쪽 페이지는 "1"을 저장하고, 그리고 위쪽 페이지는 "0"을 저장한다. 유의할 것으로, 비록 특정 비트 패턴이 각각의 상태에 할당되었지만, 다른 비트 패턴들이 또한 할당될 수 있다. 제 1 프로그래밍 패스에서, 셀의 임계 전압 레벨은 아래쪽의 논리적 페이지로 프로그래밍될 비트에 따라 설정된다. 만약 이 비트가 로직 "1"이라면, 임계 전압은 변하지 않는데, 왜냐하면 이것은 초기에 소거된 결과로서 적절한 상태에 있기 때문이다. 그러나, 만약 프로그래밍될 비트가 로직 "0"이라면, 화살표(350)로 도시된 바와 같이, 셀의 임계 레벨은 상태(A)까지 증가한다. 이것은 결과는 제 1 프로그래밍 패스이다.
제 2 프로그래밍 패스에서, 셀의 임계 전압 레벨은 위쪽의 논리적 페이지로 프로그래밍되는 비트에 따라 설정된다. 만약 위쪽의 논리적 페이지 비트가 로직 "1"를 저장해야 한다면, 어떠한 프로그래밍도 일어나지 않는데, 왜냐하면 셀은 아래쪽 페이지 비트의 프로그래밍에 따라 상태(E) 또는 상태(A) 중 하나에 있기 때문이며, 그 양쪽 모두는 "1"의 위쪽 페이지 비트를 지니고 있다. 만약 위쪽 페이지 비트가 로직 "0"이 되어야 한다면, 임계 전압은 시프팅된다. 만약 제 1 패스로 인해 결과적으로 셀이 소거 상태(E)에 머물러 있어야 한다면, 제 2 단계에서, 셀은, 임계 전압이 증가하여 화살표(354)에 의해 도시된 바와 같이 상태(C)에 있도록, 프로그래밍된다. 만약 셀이 제 1 프로그래밍 패스의 결과로서 상태(A)로 프로그래밍된다면, 메모리 셀은, 임계 전압이 증가하여 화살표(355)에 의해 도시된 바와 같이 상태(B)에 있도록, 제 2 패스에서 더 프로그래밍된다. 제 2 패스의 결과는 아래쪽 페이지에 대한 데이터를 변경시킴 없이 위쪽 페이지에 대해 로직 "0"을 저장하도록 지정된 상태에 셀을 프로그래밍하는 것이다. 도 9 및 도 10 양쪽 모두에서, 인접하는 워드 라인 아래의 플로팅 게이트에 대한 커플링의 양은 최종 상태에 따라 다르 다.
일 실시예에서, 만약 전체 페이지를 채울 정도로 충분한 양의 데이터가 기입된다면, 풀 시퀀스 기입을 수행하기 위해 시스템은 설정될 수 있다. 만약 전체 페이지에 대해 충분한 양의 데이터가 기입되지 않았다면, 프로그래밍 프로세스는 수신된 데이터로 아래쪽 페이지 프로그래밍을 수행할 수 있다. 후속 데이터가 수신될 때, 시스템은 위쪽 페이지를 프로그래밍한다. 또 다른 실시예에 따르면, 시스템은 아래쪽 페이지를 프로그래밍하는 모드에서 기입을 시작할 수 있고, 그리고 만약 전체(혹은 대부분의) 워드 라인의 메모리 셀들을 채울 정도로 충분한 데이터가 후속적으로 수신된다면 풀 시퀀스 프로그래밍 모드로 전환할 수 있다. 이러한 실시예의 더 상세한 설명은 미국 특허출원 번호 제11/013,125호(발명의 명칭; "Pipelined Programming of Non- Volatile Memories Using Early Data", 2004.12.14. 출원, 발명자: Sergy Anatolievich Gorobets 및 Yan Li)에 설명되어 있으며, 이 문헌은 참조로 본 명세서에 통합된다.
플로팅 게이트 대 플로팅 게이트 커플링은 판독 동작 동안 복구될 수 없는 에러들을 일으킬 수 있으며, 이로 인해 판독 동안 에러 복구 단계를 수행할 필요가 있다. 메모리 셀의 플로팅 게이트 상에 저장된 겉보기 전하는 후속적으로 프로그래밍된 이웃하는 메모리 셀의 플로팅 게이트 상에 저장된 전하로부터 발생하는 전기장으로부터의 커플링때문에 겉보기 시프트를 겪을 수 있다. 이러한 현상은 종종 플로팅 게이트 대 플로팅 게이트 커플링으로 언급되며, 또는 간단히 플로팅 게이트 커플링으로 언급된다. 메모리 어레이 내의 임의의 메모리 셀의 플로팅 게이트 상의 전하로부터의 전기장은 이론적으로 어레이 내의 임의의 다른 메모리 셀의 플로팅 게이트에 커플링될 수 있고, 이러한 영향은 인접하는 메모리 셀들과 함께 가장 잘 나타난다. 인접하는 메모리 셀들은, 동일 비트 라인 상에 있는 이웃하는 메모리 셀들과, 동일 워드 라인 상의 이웃하는 메모리 셀들, 혹은 이웃하는 비트 라인 및 이웃하는 워드 라인 상에 있고 따라서 서로로부터 대각선 방향으로 맞은편에 있는 이웃하는 메모리 셀들을 포함할 수 있다. 전하에 있어 겉보기 시프트로 인해 메모리 셀의 프로그래밍된 메모리 상태를 판독할 때 에러가 발생할 수 있다.
플로팅 게이트 커플링의 영향은 타겟 메모리 셀에 인접한 메모리 셀이 타겟 메모리 셀 이후에 프로그래밍되는 상황에서 가장 두드러지는데(예를 들어, 홀수/짝수 비트 라인 아키텍처), 그러나 그 영향은 또한 다른 상황에서도 발견할 수 있다. 인접하는 메모리 셀의 플로팅 게이트 상에 놓여진 전하 혹은 전하의 일부는 타겟 메모리 셀에 커플링될 수 있고, 이로 인해 타겟 메모리 셀의 임계 전압의 겉보기 시프트가 일어난다. 메모리 셀의 겉보기 임계 전압에서의 이러한 변화로 인해 타겟 메모리 셀을 후속적으로 판독할 때 판독 에러가 일어날 수 있다. 예를 들어, 메모리 셀은 프로그래밍 이후 어느 정도까지 시프팅된 겉보기 임계 전압을 가질 수 있어, 프로그래밍될 메모리 상태에 대한 인가된 기준 판독 전압 아래의 충분한 정도까지 턴온 되지 않을 수 있거나 혹은 턴온되지 않는다.
전형적인 프로그래밍 기술에서, 메모리 셀들의 로우들은 소스측 선택 게이트 라인에 인접하는 워드 라인(WL0)으로 시작하여 프로그래밍된다. 이후 프로그래밍은 순차적으로 진행하여(WLl, WL2, WL3, 등), 적어도 하나의 데이터 페이지가 이전의 워드 라인(WLn)의 프로그래밍(워드 라인의 각각의 셀을 그 최종 상태에 놓는 것) 완료 이후에 인접하는 워드 라인에서 프로그래밍되도록 한다. 이러한 프로그래밍의 패턴으로 인해 결과적으로, 플로팅 게이트 대 플로팅 게이트 커플링 효과 때문에 프로그래밍 이후에 메모리 셀들의 임계 전압의 겉보기 시프트가 일어난다. 프로그래밍될 스트링의 마지막 워드 라인을 제외한 모든 워드 라인에 대해, 인접하는 워드 라인은 해당 워드 라인의 프로그래밍 완료 이후에 프로그래밍된다. 인접하는 이후에 프로그래밍되는 워드 라인 상의 메모리 셀들의 플로팅 게이트들에 더해지는 음의 전하는 해당 워드 라인 상의 메모리 셀들의 겉보기 임계 전압을 상승시킨다.
도 11은 메모리 셀들의 로우(예를 들어, WLn)에 대해서, 그 인접하는 이웃 로우(WLn+1)가 프로그래밍되기 이전(실선) 및 프로그래밍된 이후(파선)의 겉보기 임계 전압 분포를 나타내고 있다. 각각의 분포는 음의 전하가 인접하는 워드 라인의 메모리 셀들의 플로팅 게이트에 부가된 결과로 폭이 넓다. 플로팅 게이트 대 플로팅 게이트 커플링 효과 때문에, WLn+1 상의 이후 프로그래밍되는 메모리 셀의 음의 전하는 동일 비트 라인에 연결된 WLn 상의 메모리 셀의 겉보기 임계 전압을 상승시킨다. 이후 프로그래밍되는 셀들은 또한 다른 비트 라인들(예를 들어, 인접하는 비트 라인들)에 연결된 WLn의 메모리 셀들의 겉보기 임계 전압에 영향을 미칠 수 있다. 분포들의 폭이 넓기 때문에, 메모리 셀들은 인접 상태로 부정확하게 판독될 수 있다. 각각의 분포의 위쪽 말단에서의 메모리 셀들은 대응하는 판독 비교 포인트 위의 겉보기 임계 전압을 가질 수 있다. 예를 들어, 기준 전압(Vrb)이 인가될 때, 상태(A)로 프로그래밍되는 어떤 메모리 셀들은 그들의 겉보기 임계 전압에서의 시프트 때문에 충분히 전도하지 못할 수 있다. 이러한 셀들은 상태(B)로 부정확하게 판독될 수 있어 판독 에러를 발생시킨다.
일 실시예에 따르면, 선택된 로우들에 대해 메모리 셀들에 대한 임계 전압에서의 겉보기 시프를 감소시키거나 혹은 제거하기 위해 신규한 교번적 로우 기반의 프로그래밍 기술이 사용된다. 도 12는 일 실시예에 따른 기술을 나타낸다. 종래 기술처럼 순차적 프로그램 로우가 아닌, 교번적인 로우 방법이 사용된다. 프로그래밍되는 메모리 셀들의 세트에 대해 선택 게이트 라인에 인접하고 있는 로우(0)(WL0)로 프로그래밍은 시작한다. 이 경우, 메모리 셀들의 세트는 16개의 워드 라인들을 포함하는 블럭이고 그리고 프로그래밍은 소스측에서 시작한다. 임의 크기의 블럭 혹은 다른 프로그래밍 단위가 실시예에 따라 사용될 수 있다. 예를 들어, 4개, 8개, 32개 혹은 더 많은 워드 라인들이 이러한 기술들을 사용하여 프로그래밍될 수 있다. 더욱이, 프로그래밍은 소스측보다는 오히려 드레인 측에서 시작할 수 있다. 중요한 것은 로우들의 일부가 로우들에 인접하여 후속적으로 프로그래밍되지 않도록 교번적인 방식으로 프로그래밍이 진행한다는 것이다. 선택된 로우들에 대한 프로그래밍의 완료 이후 어떠한 인접하는 루우들도 프로그래밍되지 않도록 프로그래밍함으로써, 이러한 선택된 로우들에 대해 어떠한 후속적으로 프로그래밍되는 플로팅 게이트 대 플로팅 게이트 커플링 영향은 일어나지 않는다. 여러 실시예들이 커플링에 대한 플로팅 대 게이트의 영향을 처리하는 것으로 설명되었지만, 이해할 것으로 패턴 민감 임피던스 로딩(pattern sensitivity impedance loading)과 관련된 것들과 같은 다른 현상들의 영향도 또한 설명된 기술을 사용하여 잠재적으로 처리 될 수 있다.
이러한 기술을 달성하기 위해, 두 개의 짝수 로우들이 프로그래밍되는데, 프로그래밍될 제 1 로우로 시작한 뒤, 사이에 낀 홀수 로우가 프로그래밍된다. 사이에 낀 홀수 로우의 프로그래밍 이후, 그 다음 짝수 로우가 프로그래밍되고, 이후 그 다음 사이에 낀 홀수 로우가 프로그래밍된다. 이와 같은 방식으로, 각각의 홀수 로우는 홀수 로우의 프로그래밍 이후 프로그래밍되는 인접하는 로우들을 갖지 않는다. 본 명세서에서 사용되는 바와 같이, 용어 짝수 로우 혹은 워드 라인은 로우들의 세트 중 하나의 로우를 말하는 것으로, 상기 세트에 대해 프로그래밍될 제 1 로우 및 제 1 로우와 하나 걸러 있는 상기 세트의 로우를 포함하며, 이것은 상기 세트를 통해 순차적으로 진행한다. 홀수 로우는 로우들의 세트 중 하나의 로우를 말하는 것으로, 상기 세트에 대해 프로그래밍될 제 1 로우에 인접하고 있는 로우 및 상기 인접하고 있는 로우와 하나 걸러 있는 상기 세트의 로우를 포함하며, 이것은 상기 세트를 통해 순차적으로 진행한다. 이러한 용어들은 로우에 부여된 명칭 혹은 라벨에 따라 달라지는 것이 아니라, 오히려 프로그래밍이 시작할 때에 세트 내에서의 상대적인 배치에 따른다. 도 12에서, 프로그래밍은 로우 0에서 시작하므로, 로우 0(WLO), 로우 2(WL2), 로우 4(WL4), 로우 6(WL6), 로우 8(WL8), 로우 10(WLlO), 로우 12(WL12) 및 로우 14(WL 14)는 짝수 로우들이고, 그리고 로우 1(WLl), 로우 3(WL3), 로우 5(WL5), 로우 7(WL7), 로우 9(WL9), 로우 11(WL11), 13(WL13) 및 15(WL15)는 홀수 로우들이다.
로우 0(하나 혹은 그 이상의 페이지들)의 프로그래밍 이후, 로우 2(하나 혹 은 그 이상의 페이지들)가 프로그래밍되고, 이후 로우 1(하나 혹은 그 이상의 페이지들)이 프로그래밍된다. 다양한 타입의 프로그래밍이 사용될 수 있지만, 두 개의 짝수 로우들인, 로우 0 및 로우 2의 프로그래밍은 로우 1의 프로그래밍 완료 이전에 완료되어야 하며, 그래서 로우 0 및 로우 2의 후속적 프로그래밍으로 인해 어떠한 커플핑 영향 혹은 효과도 로우 1에 존재하지 않도록 해야 한다. 대안적인 실시예에서, 로우 2가 먼저 프로그래밍되고 이후 로우 0이 프로그래밍될 수 있다. 이것은 또한 로우 0 또는 로우 2의 후속적 프로그래밍으로 인해 로우 1에 대해 어떠한 커플링 효과를 발생시키지 않는데, 왜냐하면 양쪽 모두 로우 1 이전에 프로그래밍되기 때문이다. 어느 경우나, 후속적 프로그래밍은 다음과 같이 진행된다. 로우 1의 프로그래밍 이후, 다음의 프로그래밍될 짝수 로우(로우 4)가 프로그래밍되고, 이후 다음의 프로그래밍될 홀수 로우(로우 3)가 프로그래밍 된다. 로우 4의 프로그래밍이 로우 1의 프로그래밍 완료 이전에 시작할 수 있지만, 로우 3의 프로그래밍은 후속 프로그래밍 커플링 효과를 피하기 위해 로우 4의 프로그래밍이 완료될 때까지는 로우 3의 프로그래밍이 완료돼서는 안 된다. 이러한 패턴은 마지막 로우를 제외한 모든 로우가 프로그래밍될 때까지 계속된다. 끝에서 두 번째로 프로그래밍될 로우가 홀수 로우(로우 13)이다. 로우 13의 프로그래밍 이후에, 마지막 로우(로우 15)가 프로그래밍된다.
상기 세트를 프로그래밍하는 시퀀스는 아래에서 로우 다이어그램으로 제공된다. 프로그래밍될 제 1 로우(WLn)의 프로그래밍 이후, 마지막 워드 라인을 제외한 모든 워드 라인들이 프로그래밍될 때까지, 워드 라인 시퀀스{WLn+2, WLn+1, WLn+4, WLn+3, ...}에 따라 프로그래밍이 진행된다. 마지막 워드 라인을 제외한 모든 워드 라인의 프로그래밍 이후, 마지막 워드 라인이 프로그래밍 된다.
도 12의 기술에 따라 프로그래밍되는 메모리 셀들의 세트에서는 세 개의 서로 다른 종류의 커플링이 있을 수 있다. 프로그래밍될 제 1 워드 라인(WL0)은 후속적으로 프로그래밍되는 하나의 워드 라인(WL1)으로 인한 플로팅 게이트 대 플로팅 게이트 커플링의 영향을 받으며, 다른 짝수 워드 라인들은 후속적으로 프로그래밍되는 두 개의 워드 라인들(WLn+1 및 WLn-1)로 인한 플로팅 게이트 대 플로팅 게이트 커플링의 영향을 받으며, 그리고 홀수 워드 라인들은 후속적으로 프로그래밍 되는 임의의 인접 워드 라인들로 인한 어떠한 플로팅 게이트 대 플로팅 게이트 커플링의 영향도 받지 않는다. 홀수 워드 라인들은 후속적으로 프로그래밍되는 인접 워드 라인들로부터 어떠한 플로팅 게이트 대 플로팅 게이트 커플링의 영향을 받지않기 때문에, 이들은 서로 다르게 다루어질 수 있다. 예를 들어, 이들은 더 큰 프로그램 전압 스텝 사이즈(program voltage step sizes)를 사용하여 더 빠르게 프로그래밍될 수 있는데, 왜냐하면, 이들에게서 후속적으로 프로그래밍되는 셀들로부터 상태들 간의 마진에서 어떠한 감소도 일어나지 않기 때문이다. 따라서, 더 큰 프로그램 전압 스텝으로 보다 덜 정밀하게 프로그래밍됨에도 불구하고, 이들은 여전히 신뢰가능한 판독 마진을 유지할 수 있다. 일 실시예에서, 데이터는 홀수 로우들 내에 더 고밀도로 기입될 수 있다.
도 13A-13E는 도 12의 기술에 대한 다양한 실시예들에 따른 프로그래밍의 순서를 나타낸 다양한 표이다. 앞서 설명된 바와 같이, 각각의 블럭은 컬럼들을 형성 하는 비트 라인들의 세트 및 로우들을 형성하는 워드 라인들의 세트를 포함한다. 일 실시예에서, 비트 라인들은 홀수 비트 라인들 및 짝수 비트 라인들로 나누어진다. 공통 워드 라인을 따라 있고 아울러 홀수 비트 라인들에 연결되는 메모리 셀들은 한번에 프로그래밍되고, 반면에 공통 워드 라인을 따라 있고 아울러 짝수 비트 라인들에 연결되는 메모리 셀들은 또 다른 한번에 프로그래밍된다("홀수/짝수 프로그래밍"). 또 다른 실시예에서, 메모리 셀들은 블럭 내의 모든 비트 라인들에 대한 워드 라인을 따라 프로그래밍된다("모든 비트 라인 프로그래밍"). 또 다른 실시예에서, 비트 라인들 또는 블럭은 분할되어 다른 그룹들(예를 들어, 왼쪽 그룹 및 오른쪽 그룹, 두 개의 그룹 이상, 등)이 될 수 있다. 홀수/짝수 프로그래밍을 사용하는 아키텍처의 예들은 미국 특허 번호 제6,522,580호 및 제6,643,188호에서 찾을 수 있고, 이 문헌들은 그 전체가 참조로 본 명세서에 통합된다. 모든 비트 라인 프로그래밍을 사용하는 아키텍처에 대한 더 많은 정보는 다음과 같은 미국 특허 문서에서 찾을 수 있는데, 이 문헌들은 그 전체가 참조로 본 명세서에 통합되며, 이러한 문헌으로는, 미국 특허출원 공개 번호 US2004/0057283, 미국 특허출원 공개 번호 US2004/0060031, 미국 특허출원 공개 번호 US2004/0057285, 미국 특허출원 공개 번호 US2004/0057287, 미국 특허출원 공개 번호 US2004/0057318, 미국 특허 번호 제6,771,536호, 미국 특허 번호 제6,781,877호가 있다. 추가적으로, 미국 특허 출원 번호 제l1/099,133호(발명의 명칭; "COMPENSATING FOR COUPLING DURING READ OPERATIONS OF NON-VOLATILE MEMORY", 2005.04.05. 출원)에는 모든 비트 라인 및 홀수/짝수 비트 라인 프로그래밍 아키텍처에 대한 풀 시퀀스 및 2-패스 프로그래밍 의 예가 설명되어 있으며, 이 문헌은 그 전체가 참조로 본 명세서에 통합된다. 일반적으로, 모든 비트 라인들을 함께 프로그래밍하는 아키텍처는 모든 비트 라인들로부터 데이터를 함께 판독한다. 마찬가지로, 홀수 및 짝수 비트 라인들을 개별적으로 프로그래밍하는 아키텍처는 일반적으로 홀수 및 짝수 비트 라인들을 개별적으로 판독한다. 그러나, 이러한 제한사항이 필요한 것은 아니다. 데이터를 판독하기 위해 본 명세서에서 설명되는 기술은 모든 비트 라인 프로그래밍 혹은 홀수/짝수 비트 라인 프로그래밍과 함께 사용될 수 있다.
도 13A는 도 12의 기술에 따른 모든 비트 라인 프로그래밍에 대한 메모리 셀을 프로그래밍하기 위한 순서를 설명하는 표이다. 도 13A의 실시예는 풀 시퀀스 프로그래밍(예를 들어, 도9)에 대한 것이다. 이 실시예에서, 프로그래밍되는 블럭은 여덟 개의 워드 라인(WLO- WL7)을 포함하고, 그 각각은 하나의 데이터 페이지(페이지 0부터 페이지 7)를 저장한다. 이 페이지는 페이지 0으로 시작하는 순차적 순서로 기입된다. 페이지 0이 첫 번째로 기입되어 워드 라인(WL0)에 연결되는 모든 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 1이 두 번째로 기입되어 워드 라인(WL2)에 연결되는 모든 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 2가 세 번째로 기입되어 워드 라인(WL1)에 연결되는 모든 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 3이 네 번째로 기입되어 워드 라인(WL4)에 연결되는 모든 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 4가 다섯 번째로 기입되어 WL3에 연결되는 모든 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 5가 여섯 번째로 기입되어 워드 라인(WL6)에 연결되는 모든 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 6이 일곱 번째로 기입되어 워드 라인(WL5)에 연결되는 모든 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 7이 마지막으로 기입되어 워드 라인(WL7)에 연결되는 모든 메모리 셀들에 의해 저장되는 데이터를 포함한다. 워드 라인(WL0)에 대해 페이지 0을 기입하고 그리고 워드 라인(WL2)에 대해 페이지 1을 기입한 이후에 페이지 2가 워드 라인(WL1)에 대해 기입되기 때문에, 워드 라인(WL1)에 연결되는 메모리 셀들에 대한 겉보기 임계 전압은 워드 라인들(WLO 또는 WL2)의 임의의 후속적으로 기입된 메모리 셀들에 의해 영향을 받지 않는다. 이와 같은 것은 각각의 홀수 로우(WLl, WL3, WL5, 및 WL7)에 대한 것이다. 제 1 짝수 로우(WL0)는 워드 라인(WL1)의 후속적 프로그래밍에 의해 영향을 받으며, 그리고 각각의 다른 짝수 로우(WL2, WL4, 및 WL6)도 두 개의 인접하는 로우(예를 들어, 로우(WL4)에 대한 로우(WL3) 및 로우(WL5))의 후속적 프로그래밍에 의해 영향을 받는다.
풀 시퀀스 프로그래밍의 또 다른 실시예에서, 데이터는 먼저 짝수 비트 라인들에 기입될 수 있고, 그리고 그 다음에 홀수 비트 라인들에 기입된다. 도 13B는 도 12의 기술에 따른 풀 시퀀스 프로그래밍(도 9)을 사용하는 경우의 짝수 및 홀수 비트 라인을 프로그래밍하는 순서를 나타낸다. 이러한 실시예에서, 여덟 개의 워드 라인들을 갖는 블럭은 열 여섯 개의 데이터 페이지를 포함한다. 각각의 워드 라인은 두 개의 데이터 페이지를 저장하는데, 각각의 워드 라인에 대한 짝수 비트 라인들이 하나의 페이지를 저장하고 그리고 홀수 비트 라인들이 또 다른 페이지를 저장한다. 또한, 페이지들은 페이지 0으로 시작하는 순차적 순서로 기입된다.
페이지 0이 첫 번째로 기입되어 짝수 비트 라인들에 연결되는 워드 라인(WL0)의 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 1이 두 번째로 기입되어 홀수 비트 라인들에 연결되는 워드 라인(WL0)의 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 2가 세 번째로 기입되어 짝수 비트 라인들에 연결되는 워드 라인(WL2)의 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 3이 네 번째로 기입되어 홀수 비트 라인들에 연결되는 워드 라인(WL2)의 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 4가 다섯 번째로 기입되어 짝수 비트 라인들에 연결되는 워드 라인(WL1)의 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 5가 여섯 번째로 기입되어 홀수 비트 라인들에 연결되는 워드 라인(WL1)의 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 6이 일곱 번째로 기입되어 짝수 비트 라인들에 연결되는 워드 라인(WL4)의 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 7이 여덟 번째로 기입되어 홀수 비트 라인들에 연결되는 워드 라인(WL4)의 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 8이 아홉 번째로 기입되어 짝수 비트 라인들에 연결되는 워드 라인(WL3)의 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 9가 열 번째로 기입되어 홀수 비트 라인들에 연결되는 워드 라인(WL3)의 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 10이 열한 번째로 기입되어 짝수 비트 라인들에 연결되는 워드 라인(WL6)의 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 11이 열두 번째로 기입되어 홀수 비트 라인들에 연결되는 워드 라인(WL6)의 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 12가 열세 번째로 기입되어 짝수 비 트 라인들에 연결되는 워드 라인(WL5)의 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 13이 열네 번째로 기입되어 홀수 비트 라인들에 연결되는 워드 라인(WL5)의 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 14가 열다섯 번째로 기입되어 짝수 비트 라인들에 연결되는 워드 라인(WL7)의 메모리 셀들에 의해 저장되는 데이터를 포함한다. 페이지 15가 열여섯 번째로 기입되어 홀수 비트 라인들에 연결되는 워드 라인(WL7)의 메모리 셀들에 의해 저장되는 데이터를 포함한다.
모든 비트 라인 프로그래밍 방법에 있어, 모든 필요한 데이터 페이지는, 사이에 낀 홀수 워드 라인에 페이지를 기입하기 이전에, 인접하는 짝수 워드 라인들에 기입된다. 홀수 워드 라인의 메모리 셀들은 홀수 워드 라인들의 프로그래밍 이후에 인접하는 메모리 셀들에 더해지는 음의 전하로 인한 어떠한 커플링의 영향도 받지 않는데, 왜냐하면 짝수 워드 라인들이 먼저 프로그래밍 되기 때문이다.
도 13C의 표는 도 12의 기술에 따른 도 10의 2-위상 프로그래밍 프로세스를 사용할 때의 모든 비트 라인 접근에 대한 프로그래밍의 순서를 설명한다. 여덟 개의 워드 라인들을 갖는 블럭이 도시되며, 여기서 각각의 워드 라인은 두 개의 데이터 페이지(위쪽 페이지 및 아래쪽 페이지)를 저장한다. 페이지들은 순차적인 번호 순서로 프로그래밍되며, 여기서 사이에 낀 홀수 워드 라인의 프로그래밍 이전에 두 개의 짝수 워드 라인들이 프로그래밍된다. 워드 라인(WL0)에 연결되는 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 0을 형성하고, 그리고 위쪽 데이터 페이지는 페이지 1을 형성한다. 워드 라인(WL0)이 먼저 프로그래밍된다. 워드 라 인(WL0)의 메모리 셀들 이후에 프로그래밍되는 WL2의 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 2를 형성하고 그리고 위쪽 데이터 페이지는 페이지 3을 형성한다. 워드 라인(WL2)의 메모리 셀들 이후에 프로그래밍되는 WL1의 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 4를 형성하고 그리고 위쪽 데이터 페이지는 페이지 5를 형성한다. 워드 라인(WL1)의 메모리 셀들 이후에 프로그래밍되는 WL4의 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 6을 형성하고 그리고 위쪽 데이터 페이지는 페이지 7을 형성한다. 워드 라인(WL4)의 메모리 셀들 이후에 프로그래밍되는 WL3의 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 8를 형성하고 그리고 위쪽 데이터 페이지는 페이지 9를 형성한다. 워드 라인(WL4)의 메모리 셀들 이후에 프로그래밍되는 WL6의 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 10을 형성하고 그리고 위쪽 데이터 페이지는 페이지 11을 형성한다. 워드 라인(WL6)의 메모리 셀들 이후에 프로그래밍되는 WL5의 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 12를 형성하고 그리고 위쪽 데이터 페이지는 페이지 13을 형성한다. 워드 라인(WL5)의 메모리 셀들 이후에 프로그래밍되는 WL7의 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 14를 형성하고 그리고 위쪽 데이터 페이지는 페이지 15를 형성한다.
도 13D의 표는 도 12의 기술에 따른 도 10의 2-위상 프로그래밍 프로세스를 사용할 때의 홀수/짝수 비트 라인 접근에 대한 프로그래밍의 순서를 설명한다. 여덟 개의 워드 라인들을 갖는 블럭이 도시되며, 여기서 각각의 워드 라인은 네 개의 데이터 페이지(위쪽 페이지 및 아래쪽 페이지 각각에 대해 두 개의 페이지)를 저장 한다. 페이지들은 순차적인 번호 순서로 프로그래밍되며, 여기서 사이에 낀 홀수 워드 라인의 프로그래밍 이전에 두 개의 짝수 워드 라인들이 프로그래밍된다. 짝수 비트 라인들 상에 있는 워드 라인(WL0)의 메모리 셀들(먼저 프로그래밍됨)에 대해, 아래쪽 데이터 페이지는 페이지 0을 형성하고, 그리고 위쪽 데이터 페이지는 페이지 2를 형성한다. 홀수 비트 라인들 상에 있는 워드 라인(WL0)의 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 1을 형성하고, 그리고 위쪽 데이터 페이지는 페이지 3을 형성한다. 짝수 비트 라인들 상에 있는 워드 라인(WL2)의 메모리 셀들(워드 라인(WL0) 이후에 프로그래밍됨)에 대해, 아래쪽 데이터 페이지는 페이지 4를 형성하고, 그리고 위쪽 데이터 페이지는 페이지 6을 형성한다. 홀수 비트 라인들 상에 있는 워드 라인(WL0)의 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 5를 형성하고, 그리고 위쪽 데이터 페이지는 페이지 7을 형성한다. 짝수 비트 라인들 상에 있는 워드 라인(WL1)의 메모리 셀들(워드 라인(WL2) 이후에 프로그래밍됨)에 대해, 아래쪽 데이터 페이지는 페이지 8을 형성하고, 그리고 위쪽 데이터 페이지는 페이지 10을 형성한다. 홀수 비트 라인들 상에 있는 워드 라인(WL1)의 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 9를 형성하고, 그리고 위쪽 데이터 페이지는 페이지 11을 형성한다. 짝수 비트 라인들 상에 있는 워드 라인(WL4)의 메모리 셀들(워드 라인(WL1) 이후에 프로그래밍됨)에 대해, 아래쪽 데이터 페이지는 페이지 12를 형성하고, 그리고 위쪽 데이터 페이지는 페이지 14를 형성한다. 홀수 비트 라인들 상에 있는 워드 라인(WL4)의 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 13을 형성하고, 그리고 위쪽 데이터 페이지는 페이지 15를 형성한 다. 짝수 비트 라인들 상에 있는 워드 라인(WL3)의 메모리 셀들(워드 라인(WL4) 이후에 프로그래밍됨)에 대해, 아래쪽 데이터 페이지는 페이지 16을 형성하고, 그리고 위쪽 데이터 페이지는 페이지 18을 형성한다. 홀수 비트 라인들 상에 있는 워드 라인(WL3)의 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 17을 형성하고, 그리고 위쪽 데이터 페이지는 페이지 19를 형성한다. 짝수 비트 라인들 상에 있는 워드 라인(WL6)의 메모리 셀들(워드 라인(WL3) 이후에 프로그래밍됨)에 대해, 아래쪽 데이터 페이지는 페이지 20을 형성하고, 그리고 위쪽 데이터 페이지는 페이지 22를 형성한다. 홀수 비트 라인들 상에 있는 워드 라인(WL6)의 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 21을 형성하고, 그리고 위쪽 데이터 페이지는 페이지 23을 형성한다. 짝수 비트 라인들 상에 있는 워드 라인(WL5)의 메모리 셀들(워드 라인(WL6) 이후에 프로그래밍됨)에 대해, 아래쪽 데이터 페이지는 페이지 24를 형성하고, 그리고 위쪽 데이터 페이지는 페이지 26을 형성한다. 홀수 비트 라인들 상에 있는 워드 라인(WL5)의 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 25를 형성하고, 그리고 위쪽 데이터 페이지는 페이지 27을 형성한다. 짝수 비트 라인들 상에 있는 워드 라인(WL7)의 메모리 셀들(워드 라인(WL5) 이후에 프로그래밍됨)에 대해, 아래쪽 데이터 페이지는 페이지 28을 형성하고, 그리고 위쪽 데이터 페이지는 페이지 30을 형성한다. 홀수 비트 라인들 상에 있는 워드 라인(WL7)의 메모리 셀들에 대해, 아래쪽 데이터 페이지는 페이지 29를 형성하고, 그리고 위쪽 데이터 페이지는 페이지 31을 형성한다. 도 13E의 표는 도 13D에 대한 대안적인 방법을 나타내고 있다. 도 13E의 방법에 따른 각각의 개별 워드 라인을 프로그래밍할 때, 아래쪽 페이지 및 위쪽 페이지는 양쪽 모두는 홀수 비트 라인에 대한 아래쪽 페이지 및 위쪽 페이지를 프로그래밍하기 이전에 짝수 비트 라인들에 대해 프로그래밍된다.
도 14는 비휘발성 메모리 셀들로부터 데이터 판독의 일 실시예를 나타내는 흐름도이다. 감지 모듈에 관한 앞서의 설명은 특정 비트 라인들로부터 데이터가 어떻게 판독되는 지를 설명한다. 도 14는 시스템 레벨에서 판독 프로세스의 일 실시예를 나타낸다. 단계(404)에서, 판독 동작이 단계(402)에서 수신된 데이터 판독 요청에 응답하여 특정 페이지에 대해 수행된다. 일 실시예에서, 페이지에 대한 데이터가 프로그래밍될 때, 시스템은 에러 정정 코드(Error Correction Code, ECC)들을 또한 생성하고 그리고 데이터 페이지와 함께 이러한 ECC들을 기입한다. ECC 기술은 본 발명의 기술분야에서 잘 알려져 있다. 사용되는 ECC 프로세스는 본 발명의 기술분야에서 알려진 적절한 ECC 프로세스를 포함할 수 있다. 페이지로부터 데이터를 판독할 때, ECC는 데이터 내에 어떠한 에러들이 있는지 없는지를 결정하기 위해 사용된다(단계(406)). ECC 프로세스는 제어기 또는 상태 머신 또는 시스템의 다른 곳에서 수행될 수 있다. 데이터 내에 어떠한 에러도 없다면, 데이터는 단계(408)에서 사용자에게 보고된다. 예를 들어, 데이터가 도 6에 도시된 데이터 I/O 라인들(134)을 통해 제어기 혹은 호스트로 전달된다. 만약 에러가 단계(406)에서 발견된다면, 단계(410)에서 에러가 정정가능한지 여부가 결정된다. 에러는 플로팅 게이트 대 플로팅 게이트 커플링 효과로 인한 것일 수 있고, 또는 가능하게는 다른 물리적 매커니즘으로 인한 것일 수 있다. 다양한 ECC 방법들은 데이터 세트 내의 미리 결정된 에러 개수를 정정할 수 있다. 만약 ECC 프로세스가 데이터를 정정할 수 있다면, ECC 프로세스는 단계(412)에서 그 데이터를 정정하는데 사용되고, 정정된 이 데이터는 단계(414)에서 사용자에게 보고된다. 만약 데이터가 ECC 프로세스에 의해 정정 가능하지 않다면, 데이터 복원 프로세스가 단계(416)에서 수행된다. 일부 실시예들에서, ECC 프로세스는 단계(416) 이후 수행될 수 있다. 데이터 복원 프로세스에 대한 더 상세한 설명은 아래에서 설명된다. 데이터가 복원된 이후, 이 데이터는 단계(418)에서 보고된다. 주의할 것으로, 도 14의 프로세스는 모든 비트 라인 프로그래밍 혹은 홀수/짝수 비트 라인 프로그래밍을 사용하여 프로그래밍되는 데이터와 함께 사용될 수 있다.
도 15는 도 12의 기술에 따라 프로그래밍되는 비휘발성 저장소를 판독하는 신규 기술의 흐름도이다. 도 15의 기술은 메모리 셀들의 페이지를 판독하기 위해 도 14의 단계(404)에서 사용될 수 있다. 도 15의 프로세스는 블럭의 모든 비트 라인들을 포함하는, 또는 블럭의 홀수 비트 라인들만을 포함하는, 또는 블럭의 짝수 비트 라인들만을 포함하는, 블럭의 비트 라인들의 다른 서브세트들을 포함하는 페이지에 대해 수행될 수 있다. 메모리로부터 데이터 판독에 대한 요청(하나 또는 그 이상의 페이지들의 데이터가 요청될 수 있음)을 수신한 이후에, 특정 페이지의 데이터 판독이 단계(502)에서 시작하고, 여기서 요청된 페이지에 대한 데이터를 저장하는 메모리 셀들이 짝수 워드 라인에 연결되는지 혹은 홀수 워드 라인에 연결되는지가 결정된다. 페이지에 대한 데이터가 홀수 워드 라인에 저장된다면, 선택된 워드 라인의 적절한 메모리 셀들은 표준 판독 프로세스를 사용하여 단계(504)에서 판 독되고, 특정 홀수 워드 라인에 인접한 두 개의 워드 라인들은 상기 특정 홀수 워드 라인을 프로그래밍하기 이전에 프로그래밍된다. 따라서, 후속적으로 프로그래밍되는 인접 메모리 셀들로부터 어떠한 커플링 효과도 존재하지 않고, 그리고 메모리 셀들은 이러한 커플링 및 메모리 셀들의 겉보기 임계 전압에서의 임의의 관련 시프트를 보상함이 없이 판독될 수 있다.
만약 요청된 페이지가 짝수 워드 라인에 연결된 메모리 셀들에 저장된다면, 단계(506)에서, 요청된 짝수 워드 라인이 메모리 셀들의 블럭(요청된 워드 라인은 이것의 일부임)에 대해 프로그래밍될 제 1 워드 라인(WL0)인지 여부가 결정된다. 만약 요청된 페이지가 프로그래밍될 제 1 워드 라인에 저장된다면, 메모리 셀들은 워드 라인(WL1)의 메모리 셀들의 프로그래밍된 상태에 근거한 보상 혹은 오프셋들을 사용하여 단계(508)에서 판독된다. 워드 라인(WL1)이 워드 라인(WL0) 이후에 프로그래밍되고, 따라서 워드 라인(WL1)의 메모리 셀들은 워드 라인(WL0)에 연결된 메모리 셀들의 임계 전압에서의 겉보기 시프트를 일으킬 수 있다.
대안적으로, 만약 요청된 페이지가 프로그래밍될 제 1 짝수 워드 라인의 메모리 셀들에 저장되지 않는다면, 요청된 페이지에 대한 데이터를 저장하는 메모리 셀들은, 각각의 이웃하는 홀수 워드 라인(WLn-1 및 WLn+1)의 프로그래밍된 상태에 근거한 보상을 사용하여, 단계(510)에서 판독된다. 프로그래밍될 제 1 워드 라인을 제외한 각각의 짝수 워드 라인은 후속적으로 프로그래밍되는 두 개의 홀수 워드 라인들에 인접하고 있다. 따라서, WLn+1 및 WLn-1 상의 메모리 셀들의 플로팅 게이트에 저장된 음의 전하는 해당 워드 라인(WLn)에 연결된 메모리 셀들의 임계 전압에 서의 겉보기 시프트를 일으킬 수 있다.
도 15의 프로세스는 도 14의 단계(404)에서 페이지에 대한 판독 동작의 수행에 대한 설명이다. 대안적으로, 도 15의 프로세스는 또한, 짝수 로우의 판독 프로세스 동안의 에러 검출 이후, 단계(416)에서의 데이터 복원의 일부로서 사용될 수 있다. 만약 복원 프로세스의 일부로서 수행되는 경우, 단계(504)는 선택사항이다.
도 16은 페이지에 대한 표준 판독 동작(도 15의 단계(504))을 수행하기 위한 프로세스의 일 실시예를 설명하는 흐름도이다. 도 16의 프로세스는 블럭의 모든 비트 라인들을 포함하는, 또는 블럭의 홀수 비트 라인들만 포함하는, 또는 블럭의 짝수 비트 라인들만 포함하는, 또는 블럭의 비트 라인들의 다른 서브세트들을 포함하는 페이지에 대해 수행될 수 있다. 단계(520)에서, 판독 기준 전압(Vra)이 페이지와 관련된 적절한 워드 라인에 인가된다. 단계(522)에서, 페이지와 관련된 비트 라인들이 감지되어 어드레싱된 메모리 셀들이 전도 상태에 있는지 또는 비전도 상태에 있는지를 이들의 제어 게이트들에 Vra를 인가하여 결정한다. 전도 상태의 비트 라인은 메모리 셀들이 턴온되었음을 나타낸다. 따라서 이러한 메모리 셀들의 임계 전압은 도 9에 도시된 바와 같이 Vra 아래에 있다(예를 들어, 상태 E에 있음). 단계(524)에서, 비트 라인들에 대한 감지의 결과가 이들의 비트 라인들에 대한 적절한 래치들에 저장된다. 단계(526)에서, 판독 기준 전압(Vrb)은 판독되는 페이지와 관련된 워드 라인들에 인가된다. 단계(528)에서, 비트 라인들은 앞서 설명된 바와 같이 감지된다. 단계(530)에서, 결과가 비트 라인들에 대한 적절한 래치들에 저장된다. 단계(532)에서, 판독 기준 전압(Vrc)이 페이지와 관련된 워드 라인들에 인가 된다. 단계(534)에서, 앞서 설명된 바와 같이, 비트 라인들이 감지되어 어느 메모리 셀들이 전도 상태에 있는지 결정된다. 단계(536)에서, 감지 단계로부터의 결과가 비트 라인들에 대한 적절한 래치들에 저장된다. 단계(538)에서, 각각의 비트 라인에 대한 데이터 값이 결정된다. 예를 들어, 만약 메모리 셀이 Vra에서 전도 상태에 있다면, 메모리 셀은 상태 E에 있다. 만약 메모리 셀이 Vrb 및 Vrc에서 전도 상태에 있지만 Vra에서는 전도 상태에 있지 않다면, 메모리 셀은 상태 A에 있다. 만약 메모리 셀이 Vrc에서 전도 상태에 있지만 Vra 및 Vrb에서는 전도 상태에 있지 않다면, 메모리 셀은 상태 B에 있다. 만약 메모리 셀이 Vra 또는 Vrb 또는 Vrc에서 전도 상태에 있지 않다면, 메모리 셀은 상태 C에 있다. 일 실시예에서, 데이터 값은 도 6의 프로세서(212)에 의해 결정된다. 단계(540)에서, 프로세서(212)는 결정된 데이터 값을 각각의 비트 라인에 대해 적절한 래치에 저장한다. 다른 실시예들에서, 다양한 레벨(Vra, Vrb, 및 Vrc)을 감지하는 것은 다른 순서로 일어날 수 있다.
도 17은 도 12의 기술에 따라 프로그래밍되는 데이터의 페이지를 판독하는 신규한 방법을 설명하는 흐름도이다. 도 17은 블럭에 대해 프로그래밍될 제 1 워드 라인이 아닌 짝수 워드 라인에 연결된 메모리 셀들에 저장된 데이터의 페이지를 판독하기 위한 도 15의 단계(510)에서 사용될 수 있다. 도 17은 또한 블럭에 대해 프로그래밍될 제 1 워드 라인에 연결되는 메모리 셀들에 저장된 데이터의 페이지 판독에 대한 몇 가지 수정되어 단계(508)에서 사용될 수도 있다. 이러한 수정은 아래에서 설명된다.
도 17의 프로세스는 데이터를 판독하려는 것이며 인접한 메모리 셀들로부터의 플로팅 게이트 대 플로팅 게이트 커플링 효과를 보상한다. 이러한 보상은 인접한 워드 라인들(WLn+1 및 WLn-1)을 관찰하는 것과, 그리고 인접한 워드 라인들의 과거 프로그래밍이 어는 정도까지 플로팅 게이트 대 플로팅 게이트 커플링 효과를 발생시키는 지를 결정하는 것을 포함한다. 블럭에 대해 프로그래밍될 제 1 워드 라인에 대해 보상이 수행될 때, 이러한 보상은 단지 인접하는 워드 라인(WLn+1)을 관찰하는데, 왜냐하면 이러한 제 1 워드 라인 이후 프로그래밍될 어떠한 워드 라인(WLn-1)도 존재하지 않기 때문이다. 만약 워드 라인(WLn+1 및/또는 WLn-1) 상의 데이터가 커플링 효과를 통해 WLn 상의 데이터를 교란시킨다면, 판독 프로세스는, 인접한 워드 라인(들) 상의 메모리 셀의 프로그래밍 상태에 따라, 판독 기준 전압들에 대한 하나 또는 그 이상의 오프셋들(비교 포인트)을 사용함으로써 이 교란을 보상한다. 도 17은 인접한 메모리 셀(들)이 프로그래밍되었는지 혹은 프로그래밍되지 않았는지 여부를 단지 고려하는 간략화된 프로세스이다. 이것은 인접한 메모리 셀(들)의 실제 프로그래밍된 상태를 결정하는 것이 아니며, 단지 이것이 혹은 이들이 프로그래밍 되었는지 혹은 안되었는지 여부를 결정하는 것이다.
도 17은 (예를 들어, 도 9에 도시되 바와 같이) 풀 시퀀스 프로그래밍을 사용하여 프로그래밍 되는 메모리 셀들을 판독하는 방법을 설명하는 것이며, 여기서 하나의 논리적 페이지의 두 비트들이 각각의 셀에 저장되고, 판독되고 그리고 함께 보고된다. WLn+1 상의 메모리 셀이 프로그래밍 되지 않고(소거된 상태 E), 그리고 WLn-1 상의 메모리 셀이 프로그래밍되지 않는다면(상태 E), 플로팅 게이트 대 플로 팅 게이트 커플링 영향은 없다. 만약 워드 라인들(WL(n+l) 및 WL(n-l)) 상의 메모리 셀들이 모두 프로그래밍 된다면(프로그래밍된 상태 A, B, 또는 C), 상당히 큰 커플링 영향이 존재한다. 만약 하나의 인접한 워드 라인의 메모리 셀이 프로그래밍되고 하나는 소거된다면, 커플링 영향은 감소한다. 프로그래밍될 제 1 워드 라인에 대해, 커플링 영향이 전혀 없거나 커플링 영향은 감소하는데, 왜냐하면, 이러한 워드 라인은 단지 후속적으로 프로그래밍되는 워드 라인(WLn+1)을 가지며 후속적으로 프로그래밍되는 워드 라인(WLn-1)은 가지지 않기 때문이다. 인접한 셀(들)로 인한 정확한 커플링 영향은 어레이 구성 및 동작에 의해 변할 수 있고 디바이스의 특성에 의해 결정될 수 있다.
단계(602)에서, 해당 워드 라인에 인접한 제 1 워드 라인의 메모리 셀들이 프로그래밍되었는지 혹은 프로그래밍되지 않았는지 여부가 결정된다. 단계(602)는 워드 라인(WLn+1)에 대한 간단한 바이너리 판독 동작의 수행을 포함할 수 있다. 예를 들어, 단계(602)는 판독 기준 전압(Vra)을 사용하여 도 16의 단계들(520-522)을 수행하는 것을 포함할 수 있다. Vra의 인가 하에서 전도 상태에 있는 워드 라인(WLn+1)의 이러한 셀들은 소거된 것으로 결정되며, 반면에 전도 상태에 있지 않은 것들은 프로그래밍된 것으로 결정된다. 일 실시예에서, Vrb 혹은 Vrc가 Vra 대신 사용될 수 있고, 여기서 동일한 방식으로 결정이 진행될 수 있다. 단계(602)의 결과는 단계(604)에서 적절한 래치들에 저장된다. 단계(606 및 608)에서, 동일한 동작들이 워드 라인(WLn-1)에 대해 수행된다. 도 17이 프로그래밍될 제 1 워드 라인에 대해 수행되고 있다면(도 15의 단계(508)), 단계(606 및 608)는 생략된다.
단계(610)에서, 판독 동작은 정규 판독 비교 포인트들에서 해당 워드 라인(WLn)에 대해 수행된다. 이것은 Vra, Vrb, 및 Vrc을 사용하여 도 16의 프로세스를 수행하는 것을 포함한다. 일부 실시예들에서, WLn+1 및/또는 WLn-1을 판독하기 위해 사용되는 레벨 및/또는 레벨의 개수는 초기에 WLn을 판독하기 위해 사용된 것과 정확히 동일하지 않을 수 있다. 단계(610)의 결과는 단계(612)에서 비트 라인들에 대해 적절한 래치들에 저장되며, 이 비트 라인들은 상태 E에 있는 것으로 (단계(602 및 606)에서) 결정된 WLn+1과 WLn-1 양쪽 모두 상에 인접한 셀들을 갖는 WLn 상에 메모리 셀을 구비한다. 다른 비트 라인들에 대해, 데이터는 무시된다. 만약 도 17이 프로그래밍될 제 1 워드 라인에 대해 수행된다면(단계(508)), 단계(610)의 결과는 메모리 셀들을 갖는 비트 라인들에 대한 적절한 래치들에 저장되며, 여기서 WL(n+1) 상의 인접한 셀은 단계(602)에서 상태 E에 있는 것으로 결정된다.
단계(614)에서, 판독 동작은, 판독 포인트들에 대한 오프셋들의 제 1 세트를 사용하여, 예를 들어, 각각의 판독 포인트에 대해 0.08V의 오프셋을 사용하여, 해당 워드 라인(WLn)에 대해 수행될 수 있다. 즉, 도 16의 프로세스가 수행될 수 있다. 그러나, Vra, Vrb, 및 Vrc를 사용하기보다는 오히려, 이 예에서 시스템은 Vra+0.08V, Vrb+0.08V 및 Vrc+0.08V를 사용한다. 주의할 것으로, 0.08V의 오프셋 값은 단지 예시적인 것이며, 그리고 다른 실시예들에서는 다른 오프셋 값들이 사용될 수 있다. 추가적으로, 비록 오프셋 세트가 각각의 상태 혹은 판독 비교 포인트에 대해 동일한 오프셋 값을 포함하고 있지만, 다른 실시예에서는 서로 다른 상태 에 대해 서로 다른 오프셋 값들이 사용될 수 있다. 단계(616)에서, 단계(614)의 결과는, 프로그래밍된 상태에서의 하나의 인접한 메모리 셀(예를 들어, WLn+1) 및 소거된 상태에서의 하나의 인접한 메모리 셀(예를 들어, WLn-1)을 갖는 WLn 상에 메모리 셀을 구비한 비트 라인들에 대해 저장된다. 다른 비트 라인들에 대한 데이터는 무시된다. 만약 해당 워드 라인이 블럭에 대해 프로그래밍될 제 1 워드 라인이라면(단계(508)), 단계(614)의 결과는, 프로그래밍된 상태에서의 워드 라인(WLn+1)의 인접한 메모리 셀을 갖는 WLn 상에 메모리 셀을 구비한 비트 라인들에 대해 저장되는데, 왜냐하면 후속적으로 프로그래밍된 워드 라인(WLn-1)이 없기 때문이다.
단계(618)에서, 판독 동작은 오프셋들의 제 2 세트를 사용하여, 예를 들어 각각의 판독 포인트에 대해 0.16V의 오프셋들을 사용하여 해당 워드 라인(WLn)에 대해 수행된다. 도 16의 프로세스가 수행된다. 하지만 이 예에서의 판독 기준 포인트들은 Vra+0.16V, Vrb+0.16V, 및 Vrc+0.16V이다. 유의할 것으로, 다른 오프셋 값들이 사용될 수 있다. 플로팅 게이트 대 플로팅 게이트 커플링 효과는 두 개의 프로그래밍된 이웃들로 인해 대략 두 배 정도이기 때문에, 제 1 오프셋에 대해 사용된 값의 대략 두 배의 값이 사용된다. 단계(620)에서, 단계(618)의 결과는, 프로그래밍된 상태에서의 워드 라인(WLn+1)과 워드 라인(WLn-1) 양쪽 모두 상의 인접한 메모리 셀들을 갖는 WLn 상에 메모리 셀을 구비한 이러한 비트 라인들에 대해 적절한 래치들에 저장된다. 다른 비트 라인들에 대한 데이터는 무시된다. 단계(618 및 620)은 도 17이 프로그래밍될 세트의 제 1 워드 라인에 대해 수행될 때 수행되지 않는다.
보다 자세하게는, 전체 판독 동작은, 도 17의 간단한 바이너리 판독과는 달리, 해당 워드 라인(WLn)의 판독시 워드 라인(WLn+1 및 WLn-1)에 대해 수행될 수 있다. 도 18A 및 18B는 해당 메모리 셀 상의 두 개의 인접한 메모리 셀들의 결합 커플링 효과(도 18A) 및 다양한 커플링에 대해 사용될 수 있는 오프셋 값들(도 18B)을 나타내는 표이다. 도 18A에서, 워드 라인(WLn+1)과 워드 라인(WLn-1)에 대한 네 개의 가능한 상태가 각각의 결합에 대해 예측될 수 있는 예시적 커플링 효과(밀리볼트 단위의 겉보기 임계 전압 시프트)로 도시되어 있다. 후속적으로 프로그래밍되지 않는 메모리 셀(상태 E)은 어떠한 커플링 효과도 제공하지 못하며(0V), 상태 A로 프로그래밍되는 메모리 셀은 약 50mV의 커플링 영향 혹은 효과를 제공하고, 상태 B로 프로그래밍되는 메모리 셀은 약 75mV의 커플링 영향을 제공하고, 그리고 상태 C로 프로그래밍되는 메모리 셀은 약 100mV의 커플링 영향을 제공한다. 이러한 잠재적 커플링 효과를 갖는 두 개의 인접한 메모리 셀들의 결합으로 인해 8개의 서로 다른 커플링 결합이 가능하게 된다. 예를 들어, 만약 워드 라인(WL(n+1))의 메모리 셀이 상태 B로 프로그래밍되고, 워드 라인(WL(n-1))의 메모리 셀이 상태 C로 프로그래밍된다면, 동일 비트 라인을 공유하는 WLn의 메모리 셀 상에서의 결합 커플링 효과는 대략 175mV이다. 여덟 개의 서로 다른 커플링 영향 및 이 예에서의 교란 가능성을 전체적으로 그리고 가장 정확하게 설명하기 위해, 8개의 오프셋 세트들이, 인접한 워드 라인들 양쪽 모두를 판독한 이후에, 해당 워드 라인의 8개의 서브 판독 동안 인가될 수 있다.
그러나, 해당 워드 라인의 판독을 간단하게 하기 위해 평균 오프셋 값들이 요구된 서브 판독의 개수를 감소시키기 위해 사용될 수 있다. 도 18B는 하나의 이러한 예를 제공한다. 오프셋들의 개수는 전체 여덟 개가 아닌 네 개로 감소될 수 있다. 0mV의 결합 커플링(양쪽의 인접한 셀들이 상태 E에 있음 - 상태 E/E)에 대해서는, 제 1 세트에 대해 0mV 오프셋 값이 사용될 수 있다. 5OmV, 75mV, 또는 10OmV의 결합 커플링(결합 상태 A/E, B/E, C/E, E/A, E/B, E/C 및 A/A)에 대해서는, 75mV의 평균 오프셋 값이 사용될 수 있다. 125mV 및 15OmV의 결합 커플링(결합 상태 B/A, C/A, A/B, A/C, 및 B/B)에 대해서는, 138mV의 평균 오프셋 값이 사용될 수 있다. 175mV 및 200mV의 결합 커플링(결합 상태 C/B, B/C 및 C/C)에 대해서는, 188mV의 평균 오프셋 값이 사용될 수 있다. 수많은 변형이 실시예들에 따라 사용될 수 있다. 결합 커플링은 네 개보다 더 많거나 혹은 더 적은 개수의 결합 및 사용된 서로 다른 오프셋 값들로 간단하게 될 수 있다. 더욱이, 네 개의 상태보다 더 많은 상태를 갖는 실시예에서, 다른 다양한 결합들이 사용될 수 있다.
도 19는 (예를 들어, 도 9에 도시된 바와 같이) 풀 시퀀스 프로그래밍을 사용하여 프로그래밍되는 메모리 셀들을 판독하기 위한 방법을 설명하고 있으며, 여기서 전체 판독 동작은 인접하는 워드 라인들에 대해 수행된다. 도 19는 도 18A 및 18B에 나타난 오프셋 세트들을 사용하지만(네 개의 서브 판독), 다른 실시예들에서는 도시된 것과는 다른 오프셋 세트, 그룹핑, 및 서브 판독의 개수가 사용될 수 있다.
단계(650)는 제 1 인접 워드 라인(WLn+1)에 대한 판독 동작을 수행하는 것을 포함한다. 이것은 도 16의 프로세스를 수행하는 것을 포함할 수 있다. 단계(650)의 결과는 단계(652)에서 적절한 래치들에 저장된다. 단계(654)에서, 판독 동작이 제 2 인접 워드 라인(WLn-1)에 대해 수행되고, 이것은 또한 도 16의 프로세스를 수행하는 것을 포함할 수도 있다. 그 결과는 단계(656)에서 적절한 래치들에 저장된다. 만약 프로그래밍될 블럭의 제 1 워드 라인에 대해 도 19가 수행된다면, 단계(654 및 656)는 생략된다. 일부 실시예들에서, 워드 라인들(WLn+1 및 WLn-1)에 대해 수행된 판독 동작들로 인해 워드 라인들(WLn+1 및 WLn-1) 내에 저장되는 실제 데이터가 결정된다. 다른 실시예들에서, 워드 라인들(WLn+1 및 WLn-1)에 대해 수행된 판독 동작들로 인해 워드 라인들(WLn+1 및 WLn-1) 상의 전하 레벨이 결정되고, 이것은 WLn+1 및 WLn-1 상에 저장되는 데이터를 정확하게 반영하는 것일 수 있거나 반영하는 것이 아닐 수 있다.
단계(658)에서, 판독 동작은 정규 판독 비교 포인트들에서의 해당 워드 라인(WLn)에 대해 수행된다. 이것은 판독 비교 포인트들(Vra, Vrb, 및 Vrc)을 사용하여 도 16의 프로세스를 수행하는 것을 포함할 수 있다. 일부 실시예들에서, WLn+1 및 WLn-1을 판독하기 위해 사용되는 레벨들 및/또는 레벨들의 개수는 WLn을 판독하기 위해 초기에 사용된 것과 정확하게 동일하지 않을 수 있고, 플로팅 게이트 임계 전압 값의 단지 어떤 근사값이 WLn 정정 목적을 위해 충분하다. 단계(658)의 결과는, (단계(650 및 654)에서 결정된) 상태 E에서의 워드 라인(WLn+1) 상의 인접 셀 및 WLn-1 상의 인접 셀을 갖는 메모리 셀을 구비한 비트 라인들에 대해, 단계(660)에서 적절한 래치들에 저장된다. 다른 비트 라인들에 대해, 데이터는 무시된다. 만약 WLn이 블럭에 대해 프로그래밍될 제 1 워드 라인이라고 하면, 데이터는, WLn 상 의 메모리 셀을 구비한 비트 라인들에 대해 단계(660)에서 저장되는데, 이때 WLn+1 상의 인접 셀은 상태 E에 있다.
단계(662)에서, 판독 동작은 판독 포인트들에 대한 오프셋들의 제 1 세트를 사용하여 해당 워드 라인(WLn)에 대해 수행된다. 예를 들어, 도 16의 프로세스는 Vra, Vrb, 및 Vrc 대신 Vra+0.075V, Vrb+0.075V, 및 Vrc+0.075V를 사용하여 수행된다. 오프셋들의 제 1 세트는 0.075V와 동일한 각각의 상태에 대한 단일 오프셋 값을 사용한다. 이러한 오프셋 값은 도 18B에 도시된 결합 커플링 5OmV, 75m V 및 10OmV의 평균값에 대응한다. 특정 실시예들에 적합하도록 다른 값들이 사용될 수도 있다. 오프셋 세트는 또한 하나 또는 그 이상의 상태들에 대해 서로 다른 오프셋 값을 포함할 수 있다. 단계(664)에서, 단계(662)의 결과는, 도 18A 및 도 18B에 도시된 바와 같이, 다음과 같은 결합들, 즉, 상태 E/상태 A, 상태 E/상태 B, 상태 E/상태 C, 상태 A/상태 E, 상태 A/상태 A, 상태 B/상태 E, 또는 상태 C/상태 E 중 어느 하나에서의 인접한 워드 라인들(WLn+1 및 WLn-1) 상의 인접한 셀을 갖는 메모리 셀을 구비한 비트 라인들에 대해 저장된다. 다른 비트 라인들에 대해서, 데이터는 무시될 수 있다.
만약 도 19가 프로그래밍될 제 1 워드 라인에 대해 수행된다면, 단계(662)는 커플링으로 인한 0.05V 교란을 일으키는 상태 A에서의 단일의 인접한 셀에 대응하는 0.05V 오프셋 값을 사용하는 것을 포함할 수 있다. 단계(664)에서, 데이터는 상태 A에서의 워드 라인(WLn+1) 상의 인접한 셀을 가진 WLn 상의 메모리 셀을 구비한 비트 라인들에 대해 저장될 수 있다. 다른 비트 라인들에 대해서, 데이터는 무시될 수 있다.
단계(666)에서, 판독 동작이 판독 포인트들에 대한 오프셋들의 제 2 세트를 사용하여 해당 워드 라인인 WLn에 대해 수행된다. 예를 들어, 도 16의 프로세스는 Vra, Vrb, 및 Vrc를 사용하는 대신 Vra+0.138V, Vrb+0.138V, 및 Vrc+0.138V를 사용하여 수행될 수 있다. 오프셋들의 제 2 세트는 0.138V와 동일한 각각의 상태에 대한 단일 오프셋 값을 사용한다. 오프셋 값은 도 18B에 나타난 결합 커플링 125mV와 150mV의 평균에 대응한다. 특정 실시예에 적합한 다른 값들이 사용될 수 있다. 오프셋 세트는 또한 하나 또는 그 이상의 상태들에 대해 서로 다른 오프셋 값을 포함할 수 있다. 단계(668)에서, 단계(666)의 결과는, 도 18A 및 도 18B에 도시된 바와 같이, 다음과 같은 결합들, 즉, 상태 A/상태 B, 상태 A/상태 C, 상태 B/상태 A, 상태 B/상태 B, 또는 상태 C/상태 A 중 어느 하나에서의 인접한 워드 라인들(WLn+1 및 WLn-1) 상의 인접한 셀을 갖는 WLn 상의 메모리 셀을 구비한 비트 라인들에 대해 저장된다. 다른 비트 라인들에 대해, 데이터는 무시될 수 있다.
만약 도 19가 프로그래밍될 제 1 워드 라인에 대해 수행된다면, 단계(666)는 커플링으로 인한 0.075V 교란을 일으키는 상태 B에서의 단일의 인접한 셀에 대응하는 0.075V 오프셋 값을 사용하는 것을 포함할 수 있다. 단계(668)에서, 데이터는 상태 B에서의 워드 라인(WLn+1) 상의 인접한 셀을 가진 WLn 상의 메모리 셀을 구비한 비트 라인들에 대해 저장될 수 있다. 다른 비트 라인들에 대해서, 데이터는 무시될 수 있다.
단계(670)에서, 판독 동작이 판독 포인트들에 대한 오프셋들의 제 3 세트를 사용하여 해당 워드 라인인 WLn에 대해 수행된다. 예를 들어, 도 22의 프로세스는 Vra, Vrb, 및 Vrc를 사용하는 대신 Vra+0.188V, Vrb+0.188V, 및 Vrc+0.188V를 사용하여 수행될 수 있다. 오프셋들의 제 3 세트는 0.188V와 동일한 각각의 상태에 대해 단일의 오프셋 값을 사용한다. 오프셋 값은 도 18B에 나타난 결합 커플링 175mV와 200mV의 평균에 대응한다. 특정 실시예에 적합한 다른 값들이 사용될 수 있다. 오프셋 세트는 또한 하나 또는 그 이상의 상태들에 대해 서로 다른 오프셋 값을 포함할 수 있다. 단계(672)에서, 단계(670)의 결과는, 도 18A 및 도 18B에 도시된 바와 같이, 다음과 같은 결합들, 즉, 상태 B/상태 C, 상태 C/상태 B, 또는 상태 C/상태 C 중 어느 하나에서의 인접한 워드 라인들(WLn+1 및 WLn-1) 상의 인접한 셀을 갖는 WLn 상의 메모리 셀을 구비한 비트 라인들에 대해 저장된다. 다른 비트 라인들에 대해, 데이터는 무시될 수 있다.
만약 도 19가 프로그래밍될 제 1 워드 라인에 대해 수행된다면, 단계(670)는 커플링으로 인한 0.10V 교란을 일으키는 상태 C에서의 단일의 인접한 셀에 대응하는 0.10V 오프셋 값을 사용하는 것을 포함할 수 있다. 단계(672)에서, 데이터는 상태 C에서의 워드 라인(WLn+1) 상의 인접한 셀을 가진 WLn 상의 메모리 셀을 구비한 비트 라인들에 대해 저장될 수 있다. 다른 비트 라인들에 대해서, 데이터는 무시될 수 있다.
앞서 설명된 바와 같이, 해당 워드 라인에 대한 서브 판독의 다른 결합 및 개수는 다른 실시예에서 다르게 사용될 수 있다. 예를 들어, OV, 5OmV, 75mV, 10OmV, 125mV, 15OmV, 175mV 및 20OmV의 오프셋 값을 사용하는 여덟 개의 오프셋 세트가, 각각의 가능한 커플링 값을 직접적으로 보상하기 위해, 해당 워드 라인의 여덟 개의 서브 판독과 함께 사용될 수 있다. 도 19에서 사용된 것과 다른 결합이 사용될 수도 있다.
도 16 내지 도 19의 앞서의 설명된 방법은 도 9의 하나의 논리적 페이지의 두 비트를 저장하는 풀 시퀀스 프로그래밍에 관하여 설명된 것이다. 이러한 프로세스들은, 두 개의 논리적 페이지들 각각으로부터 하나의 비트를 저장하는 도 10의 2-단계 프로세스에 따라 프로그래밍되는 데이터를 판독할 때에 약간 수정될 수 있다. 예를 들어, 표준 판독 동작을 수행할 때(도 15의 단계(504)), 아래쪽 페이지를 판독하는 것은 메모리 셀들의 제어 게이트에 Vra 및 Vrc를 인가하는 것을 필요로 하고 그리고 데이터가 아래쪽 페이지에 대해 상태 E/C(데이터 1)에 있는지 혹은 상태 A/B(데이터 0)에 있는지를 결정하기 위해 이러한 판독 포인트에서 감지하는 것을 필요로 한다. 따라서, 도 16은 아래쪽 페이지 판독에 대해 단지 단계(520-524) 및 단계(532-540)만을 수행함으로써 수정될 수 있다. 위쪽 페이지의 판독을 수행하는 것에 대해서, 판독 비교 포인트(Vrb)는 위쪽 페이지 데이터가 상태 E/A(데이터 1)에 대한 것인지 혹은 상태 B/C(데이터 0)에 대한 것인지를 결정하기 위해 사용될 수 있다. 따라서, 위쪽 페이지 판독에 대해, 도 16의 프로세스는 단지 단계(526-530, 538, 및 540)만을 수행하도록 수정될 있다. 추가적으로, 단계(508) 또는 단계(510)에서 데이터를 복원할 때 또는 데이터를 판독할 때, 프로세스는 아래쪽 페이지에 대한 데이터를 복원하기 위해 도 20의 방법을 수행할 수 있고, 그리고 위쪽 페이지에 대한 데이터를 복원하기 위해 도 21의 프로세스를 수행할 수 있다.
도 20의 단계(702)에서, 판독 동작은 도 16의 방법에 따라 이웃하는 워드 라인(WLn+1)에 대해 수행되고, 그리고 단계(704)에서 그 결과가 적절한 래치들에 저장된다. 단계(706)에서, 판독 동작은 인접하는 워드 라인(WLn-1)에 대해 수행되고, 그리고 단계(708)에서 그 결과가 적절한 래치들에 저장된다. 일부 실시예들에서, 인접하는 워드 라인들에 대해 수행된 판독 동작으로 인해 WLn+1 및 WLn-1 상에 저장된 실제 데이터가 결정된다. 다른 실시예들에서, 인접하는 워드 라인들에 대한 판독 동작으로 인해 WLn+1 및 WLn-1 상의 전하 레벨이 결정되며, 이것이 저장된 데이터를 정확히 반영할 수도 있고 또는 반영하지 않을 수 있다. 만약 도 20이 프로그래밍될 제 1 워드 라인에 대해 수행된다면, 단계(706 및 708)는 생략될 수 있다. 단계(710)에서, 판독 기준 전압(Vra)이 타겟 워드 라인(WLn)에 인가된다. 단계(712)에서, 비트 라인에 대한 데이터가 감지되고, 그리고 단계(714)에서 적절한 래치에 그 결과가 저장된다. 단계(716)에서, 판독 기준 전압(Vrc)이 워드 라인에 인가된다. 단계(718)에서, 데이터가 감지되고, 그리고 단계(720)에서 감지의 결과가 상태 E에서의 데이터를 저장하는 워드 라인(WLn+1) 및 워드 라인(WLn-1) 상의 이웃하는 셀들과 관련된 비트 라인들에 대해 저장된다. 만약 도 20이 프로그래밍될 제 1 워드 라인에 대해 수행된다면, 단계(720)는 상태 E에서의 데이터를 저장하는 워드 라인(WLn+1) 상의 이웃하는 셀과 관련된 비트 라인들에 대해 단계(718)에서 감지의 결과를 저장한다.
유의할 것으로, 도 20에 의해 설명된 프로세스에서 그리고 아래에서 설명되는 바와 같이, 오프셋들이 단지 상태 C로부터 상태 B를 분리시키기 위해 Vrc에 인 가된다. 암시적으로 가정된 것은, 오프셋들이 Vra에서 판독이 수행될 때 필요하지 않다는 것인데, 왜냐하면 일반적으로 소거 상태의 음의 임계값은, WLn+1 및 WLn-1에 의해 영향을 받을 지라고, 정정의 필요성이 없도록 상태 A로부터 충분히 떨어져 분리되기 때문이다. 이것은 현 세대의 메모리에 대한 실제적 가정이며, 장래의 메모리에 대해서는 유효하지 않을 수 있고, 그리고 단계(722-738)에서의 Vrc에 대해 설명된 오프셋 프로세스는 단계(714) 이전에 Vra에 더해질 수 있다.
단계(722)에서, Vrc + 제 1 오프셋(예를 들어, 0.075V 혹은 또 다른 적절한 값)이 판독되는 페이지에 대한 워드 라인에 인가될 수 있다. 단계(724)에서, 데이터가 감지되고, 그리고 그 결과가 다음과 같은 결합들, 즉 상태 E/상태 A, 상태 E/상태 B, 상태 E/상태 C, 상태 A/상태 E, 상태 A/상태 A, 상태 B/상태 E, 또는 상태 C/상태 E 중 하나에서의 데이터를 저장하는 워드 라인(WLn+1) 상의 이웃하는 셀 및 워드 라인(WLn-1) 상의 이웃하는 셀과 관련된 비트 라인들에 대해 단계(726)에서 저장된다. 다른 비트 라인들에 대한 데이터는 무시될 수 있다. 만약 단계(722 및 724)가 프로그래밍될 제 1 워드 라인에 대해 수행된다면, 전형적인 제 1 오프셋 값은 약 0.05V일 수 있고, 그리고 그 결과는 상태 A에서의 데이터를 저장하는 워드 라인(WLn+1) 상의 이웃하는 셀과 관련된 비트 라인들에 대해 단계(724)에서 저장된다.
단계(728)에서, Vrc + 제 2 오프셋(예를 들어, 0.138V 혹은 또 다른 적절한 값)이 판독되는 페이지와 관련된 워드 라인에 인가될 수 있다. 단계(730)에서, 데이터가 감지되고, 그리고 그 결과가 다음과 같은 결합들, 즉 상태 A/상태 B, 상태 A/상태 C, 상태 B/상태 A, 상태 B/상태 B, 또는 상태 C/상태 A 중 하나에서의 데이터를 저장하는 워드 라인(WLn+1) 상의 이웃하는 셀 및 워드 라인(WLn-1) 상의 이웃하는 셀과 관련된 비트 라인들에 대해 단계(732)에서 저장된다. 만약 단계(728-732)가 프로그래밍될 제 1 워드 라인에 대해 수행된다면, 0.075V의 제 2 오프셋 값 혹은 다른 적절한 값이 사용될 수 있고, 그리고 그 결과는 상태 B에서의 데이터를 저장하는 워드 라인(WLn+1) 상의 이웃하는 셀을 가진 비트 라인들에 대해 저장된다.
단계(734)에서, Vrc + 제 3 오프셋(예를 들어, 0.188V 혹은 또 다른 적절한 값)이 판독되는 페이지와 관련된 워드 라인에 인가될 수 있다. 단계(736)에서, 감지 모듈이 데이터를 감지하기 위해 사용되고, 그리고 단계(738)에서 단계(736)의 결과가 다음과 같은 결합들, 즉 상태 B/상태 C, 상태 C/상태 B, 또는 상태 C/상태 C 중 하나에서의 데이터를 저장하는 워드 라인(WLn+1) 상의 이웃하는 셀 및 워드 라인(WLn-1) 상의 이웃하는 셀과 관련된 그러한 비트 라인들에 대해 저장된다. 만약 단계(734-738)가 프로그래밍될 제 1 워드 라인에 대해 수행된다면, 0.1V의 제 3 오프셋 값이 사용될 수 있고, 그리고 그 결과는 상태 C에서의 데이터를 저장하는 워드 라인(WLn+1) 상의 이웃하는 셀을 가진 비트 라인들에 대해 저장된다.
단계(740)에서, 프로세서(212)는 감지 단계로부터 저장된 데이터에 근거하여 데이터 값들을 결정한다. 단계(742)에서, 단계(740)로부터의 결정된 데이터 값들은 판독 데이터를 요청하는 사용자에게 궁극적으로 전달하기 위해 래치에 저장된다. 또 다른 실시예에서, 상태 A와 관련된 단계(710-714)는 단계(738)와 단계(740) 사 이에서 수행될 수 있다.
단계(740)에서의 데이터 값들을 결정할 때, 만약 메모리 셀이 Vra에 응답하여 전도 상태에 있다면, 아래쪽 페이지 데이터는 "1"이다. 만약 메모리 셀이 Vra에 응답하여 전도 상태에 있지 않고, Vrc(또는 Vrc + 적절한 오프셋)에 응답하여 전도 상태에 있지 않다면, 아래쪽 페이지 데이터는 또한 "1"이다. 만약 메모리 셀이 Vra에 응답하여 전도 상태에 있지 않지만, Vrc(또는 Vrc + 적절한 오프셋)에 응답하여 전도 상태에 있다면, 아래쪽 페이지 데이터는 "0"이다.
도 21의 프로세스는 위쪽 페이지에 대한 데이터를 판독하거나 혹은 복원하기 위해 사용된다. 단계(752)에서, 판독 동작이 도 16의 방법을 사용하여 이웃하는 워드 라인(WLn+1)에 대해 수행된다. 단계(754)에서, 단계(752)의 결과는 비트 라인들 각각에 대해 적절한 래치들에 저장된다. 단계(756)에서, 판독 동작은 도 16의 방법을 사용하여 이웃하는 워드 라인(WLn-1)에 대해 수행되고, 그리고 그 결과가 단계(758)에서 저장된다. 일부 실시예들에서, WLn+1 및 WLn-1에 대한 판독 동작의 결과로 WLn+1 및 WLn-1 상에 저장된 실제 데이터가 결정된다. 다른 실시예들에서, 판독 동작으로 WLn+1 및 WLn-1 상의 전하 레벨이 결정되며, 이것은 WLn+1 및 WLn-1 상에 저장된 데이터를 정확히 반영할 수 있거나 혹은 반영하지 않을 수 있다. 만약 도 21이 프로그래밍될 제 1 워드 라인에 대해 수행된다면, 단계(756 내지 758)는 생략된다.
단계(760)에서, 판독 기준 전압(Vrb)이 판독되는 페이지와 관련된 워드 라인에 인가된다. 단계(762)에서, 감지 모듈은 데이터를 감지하기 위해 사용되고, 그리 고 단계(764)에서 단계(762)의 결과가 상태 E에서의 데이터를 저장하는 WLn+1 상의 이웃하는 메모리 셀 및 WLn-1 상의 이웃하는 메모리 셀과 관련된 그러한 비트 라인들에 대해 저장된다. 만약 단계(760-764)가 프로그래밍될 제 1 워드 라인에 대해 수행된다면, 그 결과는 상태 E에서의 데이터를 저장하는 WLn+1 상의 이웃하는 메모리 셀과 관련된 그러한 비트 라인들에 대해 저장된다.
단계(766)에서, Vrb + 제 1 오프셋(예를 들어, 0.075V 혹은 또 다른 적절한 값)이 워드 라인에 인가된다. 단계(768)에서 데이터가 감지되고, 그리고 단계(770)에서 그 결과들이 다음과 같은 결합들, 즉 상태 E/상태 A, 상태 E/상태 B, 상태 E/상태 C, 상태 A/상태 E, 상태 A/상태 A, 상태 B/상태 E, 또는 상태 C/상태 E 중 하나에서의 데이터를 저장하는 WLn+1 상의 이웃하는 셀 및 WLn-1 상의 이웃하는 셀과 관련된 그러한 비트 라인들에 대해 저장된다. 만약 단계(766-770)가 프로그래밍될 제 1 워드 라인에 대해 수행된다면, 0.05V의 제 1 오프셋 값 혹은 어떤 다른 적절한 값이 인가될 수 있고, 그리고 그 결과는 상태 A에서의 데이터를 저장하는 WLn+1 상의 이웃하는 셀과 관련된 그러한 비트 라인들에 대해 저장된다.
단계(772)에서, Vrb + 제 2 오프셋(예를 들어, 0.138V 혹은 또 다른 적절한 값)이 판독되는 페이지와 관련된 워드 라인에 인가된다. 단계(774)에서 데이터가 감지되고, 그리고 단계(776)에서 그 결과들이 다음과 같은 결합들, 즉 상태 A/상태 B, 상태 A/상태 C, 상태 B/상태 A, 상태 B/상태 B, 또는 상태 C/상태 A 중 하나에서의 데이터를 저장하는 WLn+1 상의 이웃하는 셀 및 WLn-1 상의 이웃하는 셀과 관련된 그러한 비트 라인들에 대해 저장된다. 만약 단계(772-776)가 프로그래밍될 제 1 워드 라인에 대해 수행된다면, 0.075V의 제 2 오프셋 값 혹은 또 다른 적절한 값이 인가될 수 있고, 그리고 감지의 결과는 상태 B에서의 데이터를 저장하는 WLn+1 상의 이웃하는 셀을 가진 그러한 비트 라인들에 대해 저장된다.
단계(778)에서, Vrb + 제 3 오프셋(예를 들어, 0.188V 혹은 또 다른 적절한 값)이 판독되는 페이지와 관련된 워드 라인에 인가된다. 단계(780)에서 데이터가 감지되고, 그리고 단계(782)에서 그 결과들이 다음과 같은 결합들, 즉 상태 B/상태 C, 상태 C/상태 B 또는 상태 C/상태 C 중 하나에서의 데이터를 저장하는 WLn+1 상의 이웃하는 셀 및 WLn-1 상의 이웃하는 셀과 관련된 그러한 비트 라인들에 대해 저장된다. 만약 단계(778-782)가 프로그래밍될 제 1 워드 라인에 대해 수행된다면, 0.10V의 제 3 오프셋 값이 인가될 수 있고, 그리고 그 결과는 상태 C에서의 데이터를 저장하는 WLn+1 상의 이웃하는 메모리 셀과 관련된 그러한 비트 라인들에 대해 저장된다.
단계(784)에서, 도 6의 프로세서(212)는 저장되어 감지된 데이터에 근거하여 데이터 값들을 결정한다. 만약 메모리 셀이 Vrb(또는 Vrb + 적절한 오프셋)에 응답하여 턴온 된다면, 위쪽 페이지 데이터는 "1"이다. 만약 메모리 셀이 Vrb(또는 Vrb + 적절한 오프셋)에 응답하여 턴온되지 않는다면, 위쪽 페이지 데이터는 "0"이다. 단계(786)에서, 프로세서(212)에 의해 결정된 데이터 값들은 사용자에 전달하기 위해 데이터 래치들에 저장된다.
도 20 및 도 21의 방법은 도 14의 단계(416)에서의 데이터를 복원하기 위해 사용될 수 있을 뿐만 아니라 단계(404)(도 15의 단계(508 또는 510))에서 초기 데 이터 판독을 수행하기 위해 사용될 수 있다. 도 20 및 도 21은 도 10의 위쪽 페이지 및 아래쪽 페이지 프로세스를 사용하여 프로그래밍되는 데이터를 판독하기 위한 것이다. 도 20 및 도 21의 이러한 두 개의 방법은 모든 비트 라인 프로그래밍 혹은 홀수/짝수 비트 라인 프로그래밍에 의해 프로그래밍되는 데이터를 판독하기 위해 사용될 수 있다. 모든 비트 라인 프로그래밍과 함께 사용되는 경우, 모든 비트 라인은 동시에 판독된다. 홀수/짝수 비트 라인 프로그래밍과 함께 사용되는 경우, 짝수 비트 라인이 제 1 시간에 동시에 판독되고, 그리고 홀수 비트 라인이 다른 시간에 동시에 판독된다.
도 16 내지 도 21은 단일 워드 라인으로부터, 그 워드 라인으로부터의 데이터의 페이지에 대한 요청에 응답하여, 데이터를 판독하는 것을 설명한다. 도 22는 블럭의 각각의 로우가 그 블럭 내의 임의의 로우 판독 요청에 응답하여 판독되는 실시예를 나타낸다. 이 새로운 기술은, 선택된 로우에 대한 필요성이 있기 이전에 이웃하는 로우들의 데이터를 효율적으로 획득함으로써, 그리고 요청될 가능성이 놓을 것으로 예측되는 그러한 데이터를 캐싱함으로써, 그 성능면에서의 이점을 제공할 수 있는데, 왜냐하면 대부분의 요청들은 블럭 내에 복수의 데이터 페이지와 관련되어 있기 때문이다.
셀의 블럭 내의 하나 또는 그 이상의 워드 라인들과 관련되며 아울러 단계(800)에서 수신된 판독 요청에 응답하여, 판독 동작이 단계(802)에서 워드 라인(WL1)에 대해 수행된다. WL1은 홀수 워드 라인이며, 따라서 판독 동작을 수행할 때 어떠한 보상 혹은 오프셋도 필요하지 않다. 도 16의 프로세스는 WL1을 판독하기 위해 사용될 수 있다. 단계(804)에서, 워드 라인(WL1)에 대한 데이터가 저장된다. 일 실시예에서, WL1에 대한 감지 동작의 결과는 도 6의 프로세서(212)에 의해 사용되어 데이터 래치(214)에 저장되거나 혹은 버퍼링되는 데이터 값이 결정된다. 데이터는 호스트 혹은 사용자에게 판독되기 이전에 여러 워드 라인들에 저장될 수 있기 때문에, 많은 래치들이 이러한 데이터를 버퍼링하기 하기 위해 필요할 수 있다. 다른 실시예들에서, 메모리는 제어 회로(120), 도 5의 제어기(144) 혹은 여분의 데이터를 버퍼링하기 위해 메모리 디바이스 외부에서 유지 관리될 수 있다.
단계(806)에서, 판독 동작이 워드 라인(WL0)에 대해 수행된다. WL0으로부터 데이터를 판독하는 것은 단계(802)에서 결정된 워드 라인(WL1)에 저장된 데이터에 근거하여 보상을 행하는 것을 포함한다. 프로그래밍될 제 1 워드 라인에 대해 앞서 설명된 도 19 내지 도 21의 수정된 형태는 워드 라인(WL0)을 판독하기 위해 사용될 수 있다. 따라서, 판독 비교 포인트들의 본래 세트 및 3개의 오프셋 세트 내의 오프셋 값에 근거하는 3개의 조정된 세트를 사용하는 네 개의 서브 판독이 사용될 수 있다. 단계(808)에서, 적절한 판독 프로세스로부터의 결과는 각각의 비트 라인에 대해 저장되는데, 이것은 그 비트 라인에 대해 워드 라인(WL1) 상의 인접한 메모리 셀에 대해 결정된 정보에 근거하여 수행된다.
단계(810)에서, 판독 동작이 도 16의 프로세스를 사용하여 WL3에 대해 수행된다. WL3에 대한 데이터가 단계(812)에서 저장된다. 단계(814)에서, 판독 동작이 워드 라인(WL3)에 대해 수행된다. 워드 라인(WL2)에 대한 판독 동작이 도 19 내지 도 21의 프로세스를 사용하여 수행될 수 있으며, 여기서 WL1은 WLn-1이고 WL3은 WLn+1이다. 각각의 비트 라인에 대해, WL1 상의 인접하는 메모리 셀 및 WL3 상의 인접하는 메모리 셀의 상태는, 단계(816)에서 저장될 적절한 서브 판독으로부터의 결과를 선택하기 위해 사용될 수 있다. 단계(818)에서, 판독 동작이 도 16의 프로세스를 사용하여 WL5에 대해 수행된다. WL5에 대한 데이터가 단계(820)에서 저장된다. 단계(822)에서, WL4에 대한 판독 동작이 도 19의 프로세스 혹은 도 20 및 도 21의 프로세스를 사용하여 수행되고, 여기서 WL3은 WLn-1이고 WL5는 WLn+1이다. 각각의 비트 라인에 대해, WL3 상의 인접하는 메모리 셀의 상태 및 WL5 상의 인접하는 메모리 셀의 상태는, 단계(824)에서 저장될 적절한 서브 판독으로부터의 결과를 선택하기 위해 사용될 수 있다. 단계(826)에서, 판독 동작이 도 16의 프로세스를 사용하여 워드 라인(WL7)에 대해 수행된다. WL7에 대한 데이터가 단계(828)에서 저장된다. 단계(830)에서, WL6에 대한 판독 동작이 도 19의 프로세스 혹은 도 20 및 도 21의 프로세스를 사용하여 수행되고, 여기서 WL5는 WLn-1이고 WL7은 WLn+1이다. 각각의 비트 라인에 대해, WL5 상의 인접하는 메모리 셀의 상태 및 WL7 상의 인접하는 메모리 셀의 상태는, 단계(832)에서 저장될 적절한 서브 판독으로부터의 결과를 선택하기 위해 사용될 수 있다.
일 실시예에서, 도 17 및 도 19 내지 도 21의 프로그래밍 프로세스를 수행하는 메모리 어레이는 하나 또는 그 이상의 플래그들을 저장하기 위해 메모리 셀들의 세트를 보유한다. 예를 들어, 메모리 셀들의 하나의 컬럼은 메모리 셀들의 각각의 로우의 아래쪽 페이지가 프로그래밍되었는지 여부를 나타내는 플래그들을 저장하는데 사용되고, 그리고 메모리 셀들의 또 다른 컬럼은 메모리 셀들의 각각의 로우에 대한 위쪽 페이지가 프로그래밍되었는지 여부를 나타내는 플래그들을 저장하는데 사용될 수 있다. 일부 실시예들에서, 여분의 셀들은 플래그들의 복제본을 저장하는데 사용될 수 있다. 적절한 플래그를 점검함으로써, 이웃하는 워드 라인에 대한 다양한 페이지들이 프로그래밍되었는지 여부가 결정될 수 있다. 이러한 플래그 및 프로그래밍을 위한 프로세스에 대한 더 상세한 설명은 미국 특허번호 제6,657,891호(발명자: Shibata 외, 발명의 명칭: "Semiconductor Memory Device For Storing Multi-Valued Data")에서 찾을 수 있으며, 이 문헌은 그 전체가 참조로 본 명세서에 통합된다.
도 17 및 도 19 내지 도 21에서의 흐름도의 프로세스를 시작하기 전에 WLn+1 및 WLn-1에 대한 플래그가 점검될 수 있다. 만약 플래그가 WLn이 프로그래밍된 이후 어떠한 워드 라인도 프로그래밍되지 않았다고 나타낸다면, WLn에 대한 판독 동작이 도 16에 도시된 바와 같이 정규 판독 포인트들을 사용하여 수행될 수 있다. WLn+1 및 WLn-1 상의 후속적으로 프로그래밍되는 메모리 셀들로 인한 어떠한 플로팅 게이트 대 플로팅 게이트 커플링도 없기 때문에, 다양한 오프셋들을 사용하는 서브 판독은 필요가 없다. 만약 플래그가 하나의 인접한 워드 라인이 프로그래밍되었고 또 하나는 프로그래밍되지 않았다고 나타낸다면, 흐름도의 프로세스는 하나의 후속적으로 프로그래밍되는 워드 라인으로부터의 커플링을 보상하기 위해 수행될 수 있다. 실질적으로 프로세스는 세트에 대해 프로그래밍되는 제 1 워드 라인에 대해 앞서 설명된 바와 같이 수행될 수 있다. 그러나, 이러한 경우에, 보상은 WLn+1 대신에 WLn-1에 그 근거를 둘 수 있으며, 이것에 따라 워드 라인은 프로그래밍된 것으로 플래그에 의해 나타내진다. 단지 하나의 인접한 워드 라인이 해당 워드 라인 이후에 프로그래밍되는 보상 방식에 관한 더 많은 정보에 대해서는 미국 특허출원 번호 제11/099,133호(발명의 명칭: "COMPENSATING FOR COUPLING DURING READ OPERATIONS OF NON-VOLATILE MEMORY", 2005.04.05. 출원)를 참조하기 바라며, 이 문헌은 그 전체가 참조로 본 명세서에 통합된다.
플로팅 게이트 대 플로팅 게이트 커플링의 기입 시퀀스 영향을 역전시킴으로써, 임계 전압 분포들간의 마진이 더 작아질 수 있고 또는 메모리 시스템은 더 빠르게 프로그래밍될 수 있다.
본 발명의 앞서의 상세한 설명은 예시적이고 설명적인 목적으로 제공된다. 이것은 본 발명을 개시된 형태에 정확히 한정시키려하는 것이 아니며, 또한 본 발명의 실시가능한 예들을 모두 설명한 것이 아니다. 많은 수정 및 변형이 앞서의 설명으로부터 가능하다. 설명된 실시예들은 본 발명의 원리 및 그 실제 애플리케이션을 가장 잘 설명하기 위해 선택된 것이며, 따라서 본 발명의 기술분야에서 통상의 기술을 갖는 자들로 하여금 다양한 실시형태로 본 발명을 이용하도록 하기 위해 서택된 것이고 그리고 필요한 용도에 적합하도록 다양한 수정을 통해 본 발명을 이용하도록 하기 위해 선택된 것이다. 본 발명의 범위는 본 명세서에 첨부되는 특허청구범위에 의해 정의된다.

Claims (21)

  1. 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법으로서,
    제 1 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계와, 상기 제 1 워드 라인은 상기 비휘발성 저장 소자들의 세트에 대한 선택 게이트 라인에 인접하고;
    제 3 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계와, 상기 제 3 워드 라인은 제 2 워드 라인에 인접하고, 상기 제 2 워드 라인은 상기 제 1 워드 라인에 인접하며; 그리고
    상기 제 3 워드 라인에 연결된 비휘발성 저장 소자들 및 상기 제 1 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계 이후에 상기 제 2 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계를 포함하여 구성되며, 여기서 상기 제 2 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계는 상기 제 3 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계가 시작한 이후에 시작하는 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  2. 제2항에 있어서,
    상기 선택 게이트 라인은 소스측 선택 게이트 라인인 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  3. 제2항에 있어서,
    상기 제 2 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계 이후에 제 5 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계와, 상기 제 5 워드 라인은 제 4 워드 라인에 인접하고, 상기 제 4 워드 라인은 상기 제 3 워드 라인에 인접하며; 그리고
    상기 제 5 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계 이후에 상기 제 4 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계를 더 포함하며, 여기서 상기 제 4 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계는 상기 제 5 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계가 시작한 이후에 시작하는 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  4. 제3항에 있어서,
    상기 제 3 워드 라인으로부터 판독 데이터에 대한 요청을 포함하는 요청을 수신하는 단계와, 상기 요청에 응답하여,
    상기 제 3 워드 라인에 연결된 상기 비휘발성 저장 소자들의 적어도 서브세트의 각각의 비휘발성 저장 소자들에 대해, 상기 제 2 워드 라인에 연결된 제 1 인접 비휘발성 저장 소자에 저장된 전하 레벨 및 상기 제 4 워드 라인에 연결된 제 2 인접 비휘발성 저장 소자에 저장된 전하 레벨에 근거하여 미리 결정된 오프셋들의 세트로부터 오프셋을 결정하는 단계와; 그리고
    상기 제 3 워드 라인에 연결된 상기 비휘발성 저장 소자들에 대해 판독 프로세스들의 세트를 수행하는 단계를 더 포함하며, 상기 세트의 각각의 판독 프로세스는 상기 미리 결정된 오프셋들의 세트와는 다른 상기 오프셋들 중 하나를 사용하고 아울러 상기 제 3 워드 라인에 연결된 상기 비휘발성 저장 소자들 모두에 관해 수행되며, 상기 제 3 워드 라인에 연결된 각각의 비휘발성 저장 소자는 상기 각각의 비휘발성 저장 소자에 대해 결정된 상기 오프셋과 관련된 상기 판독 프로세스들 중 적절한 하나로부터 최종 데이터를 제공하는 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  5. 제4항에 있어서,
    상기 미리 결정된 오프셋들의 세트로부터 오프셋을 결정하는 단계는,
    상기 제 1 인접 비휘발성 저장 소자를 판독하는 것과;
    상기 제 2 인접 비휘발성 저장 소자를 판독하는 것과; 그리고
    상기 제 1 인접 비휘발성 저장 소자의 판독 및 상기 제 2 인접 비휘발성 저장 소자의 판독으로부터의 정보를 상기 미리 결정된 오프셋들의 세트와 상관시키는 것을 포함하는 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  6. 제5항에 있어서,
    상기 판독 프로세스들의 세트를 수행하는 단계는,
    제 1 오프셋을 사용하여 제 1 판독 프로세스를 수행하는 것과, 그리고
    제 1 상태에 제 1 인접 비휘발성 저장 소자를 갖고, 아울러 제 2 상태 또는 제 3 상태 혹은 제 4 상태에 제 2 인접 비휘발성 저장 소자를 갖는, 또는
    상기 제 2 상태에 제 1 인접 비휘발성 저장 소자를 갖고, 아울러 상기 제 1 상태 혹은 상기 제 2 상태에 제 2 인접 비휘발성 저장 소자를 갖는, 또는
    상기 제 3 상태 혹은 상기 제 4 상태에 제 1 인접 비휘발성 저장 소자를 갖고, 아울러 상기 제 1 상태에 제 2 인접 비휘발성 저장 소자를 갖는 하나 또는 그 이상의 비휘발성 저장 소자들에 대한 결과들을 저장하는 것과;
    제 2 오프셋을 사용하여 제 2 판독 프로세스를 수행하는 것과, 그리고
    상기 제 2 상태에 제 1 인접 비휘발성 저장 소자를 갖고, 아울러 상기 제 3 상태 혹은 상기 제 4 상태에 제 2 인접 비휘발성 저장 소자를 갖는, 또는
    상기 제 3 상태에 제 1 인접 비휘발성 저장 소자를 갖고, 아울러 상기 제 2 상태 혹은 상기 제 3 상태에 제 2 인접 비휘발성 저장 소자를 갖는, 또는
    상기 제 4 상태에 제 1 인접 비휘발성 저장 소자를 갖고, 아울러 상기 제 2 상태에 제 2 인접 비휘발성 저장 소자를 갖는 하나 또는 그 이상의 비휘발성 저장 소자들에 대한 결과들을 저장하는 것과;
    제 3 오프셋을 사용하여 제 3 판독 프로세스를 수행하는 것과, 그리고
    상기 제 3 상태에 제 1 인접 비휘발성 저장 소자를 갖고, 아울러 상기 제 4 상태에 제 2 인접 비휘발성 저장 소자를 갖는, 또는
    상기 제 4 상태에 제 1 인접 비휘발성 저장 소자를 갖고, 아울러 상기 제 3 상태 혹은 상기 제 4 상태에 제 2 인접 비휘발성 저장 소자를 갖는 하나 또는 그 이상의 비휘발성 저장 소자들에 대한 결과들을 저장하는 것을 포함하는 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  7. 제1항에 있어서,
    상기 제 1 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계는 상기 제 3 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계 이전에 수행되는 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  8. 제1항에 있어서,
    상기 제 1 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계는 제 1 데이터 페이지를 프로그래밍하는 것을 포함하는 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  9. 제1항에 있어서,
    상기 제 1 워드 라인에 연결된 비휘발성 저장 소자들을 프로그래밍하는 단계는 제 1 데이터 페이지 및 제 2 데이터 페이지를 프로그래밍하는 것을 포함하는 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  10. 제1항에 있어서,
    상기 세트의 비휘발성 저장 소자들은 연속적 비트 라인들에 연결되는 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  11. 제1항에 있어서,
    상기 세트의 비휘발성 저장 소자들은 비트 라인들의 그룹의 한 비트 라인 걸러 연결되는 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  12. 제1항에 있어서,
    상기 세트의 비휘발성 저장 소자들은 플래시 메모리 디바이스들인 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  13. 제1항에 있어서,
    상기 세트의 비휘발성 저장 소자들은 NAND 플래시 메모리 디바이스들인 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  14. 제1항에 있어서,
    상기 세트의 비휘발성 저장 소자들은 복수 상태 플래시 메모리 디바이스들인 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  15. 제1항에 있어서,
    상기 세트의 비휘발성 저장 소자들은 플로팅 게이트들을 포함하는 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  16. 제1항에 있어서,
    상기 세트의 비휘발성 저장 소자들은 전하를 저장하기 위한 유전체 영역을 포함하는 것을 특징으로 하는 비휘발성 저장 소자들의 세트를 프로그래밍하는 방법.
  17. 비휘발성 메모리 시스템으로서,
    비휘발성 저장 소자들의 세트와;
    제 1 워드 라인(WLn) 및 마지막 워드 라인을 포함하는 복수의 워드 라인들과, 상기 제 1 워드 라인은 상기 비휘발성 저장 소자들의 세트에 대한 제 1 선택 게이트 라인에 인접하고, 상기 마지막 워드 라인은 상기 비휘발성 저장 소자들의 세트에 대한 제 2 선택 게이트 라인에 인접하고; 그리고
    상기 비휘발성 저장 소자들의 세트 및 상기 복수의 워드 라인들과 통신하는 관리 회로를 포함하여 구성되며, 상기 관리 회로는 상기 제 1 워드 라인(WLn)에 연결된 비휘발성 저장 소자들의 프로그래밍을 완료함으로써 그리고 상기 제 3 워드 라인(WLn+2)에 연결된 비휘발성 저장 소자들의 프로그래밍을 완료함으로써 상기 비휘발성 저장 소자들의 세트를 프로그래밍하고, 상기 제 3 워드 라인은 제 2 워드 라인(WLn+1)에 인접하고, 상기 제 2 워드 라인은 상기 제 1 워드 라인에 인접하고, 상기 관리 회로는 상기 제 1 워드 라인에 연결된 비휘발성 저장 소자들의 프로그래밍 및 상기 제 3 워드 라인에 연결된 비휘발성 저장 소자들의 프로그래밍 완료 이후에 상기 제 2 워드 라인에 연결된 비휘발성 저장 소자들의 프로그래밍을 완료하고, 상기 관리 회로는 상기 마지막 워드 라인을 제외한 각각의 나머지 워드 라인에 연결된 비휘발성 저장 소자들의 프로그래밍을, 상기 나머지 워드 라인들 중 개별적 하나에 연결된 비휘발성 저장 소자들의 프로그래밍을 완료하기 전에, 상기 나머지 워드 라인들 중 또 다른 개별적 하나에 연결된 비휘발성 저장 소자들의 프로그래밍을 완료함으로써, 완료하고, 여기서 상기 각각의 나머지 워드 라인에 연결된 비휘발성 저장 소자들의 프로그래밍을 완료하는 것은 워드 라인 시퀀스{WL(n+4), WL(n+3), WL(n+6), WL(n+5), ...}에 따라 수행되고, 상기 관리 회로는 상기 마지막 워드 라인을 제외한 상기 각각의 나머지 워드 라인에 연결된 비휘발성 저장 소자들의 프로그래밍 완료 이후에 상기 마지막 워드 라인에 연결된 비휘발성 저장 소자들의 프로그래밍을 완료하는 것을 특징으로 하는 비휘발성 메모리 시스템.
  18. 제17항에 있어서,
    상기 관리 회로는 상기 비휘발성 저장 소자들의 세트 내의 데이터 세트 저장 요청에 응답하여 상기 비휘발성 저장 소자들의 세트를 프로그래밍하고;
    상기 관리 회로는 개별적 워드 라인에 연결된 비휘발성 저장 소자들의 프로그래밍을, 상기 개별적 워드 라인에 대해 프로그래밍될 상기 데이터 세트의 서브세트가 상기 개별적 워드 라인에 대해 프로그래밍되었음을 성공적으로 검증함으로써, 완료하고, 상기 데이터 세트의 상기 서브세트는 상기 요청에 응답하여 상기 개별적 워드 라인에 대해 프로그래밍되야 하는 모든 데이터를 포함하는 것을 특징으로 하는 비휘발성 메모리 시스템.
  19. 제18항에 있어서,
    상기 데이터 세트의 상기 서브세트가 프로그래밍되었음을 성공적으로 검증하는 것은, 상기 데이터 세트의 상기 서브세트의 미리 결정된 양이 상기 개별적 워드 라인에 대해 성공적으로 프로그래밍되었음을 검증하는 것을 포함하는 것을 특징으로 하는 비휘발성 메모리 시스템.
  20. 제17항에 있어서,
    상기 세트의 비휘발성 저장 소자들은 비트 라인들의 그룹의 한 비트 라인 걸러 연결되는 것을 특징으로 하는 비휘발성 메모리 시스템.
  21. 제17항에 있어서,
    상기 세트의 비휘발성 저장 소자들은 복수 상태 NAND 플래시 메모리 디바이스들인 것을 특징으로 하는 비휘발성 메모리 시스템.
KR1020087018746A 2005-12-29 2006-12-27 비휘발성 메모리에 대한 교번적 로우-기반 판독 및 기입 KR100989181B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11/321,346 US7443726B2 (en) 2005-12-29 2005-12-29 Systems for alternate row-based reading and writing for non-volatile memory
US11/321,346 2005-12-29
US11/321,259 2005-12-29
US11/321,259 US7349260B2 (en) 2005-12-29 2005-12-29 Alternate row-based reading and writing for non-volatile memory

Publications (2)

Publication Number Publication Date
KR20090007278A true KR20090007278A (ko) 2009-01-16
KR100989181B1 KR100989181B1 (ko) 2010-10-22

Family

ID=38009518

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087018746A KR100989181B1 (ko) 2005-12-29 2006-12-27 비휘발성 메모리에 대한 교번적 로우-기반 판독 및 기입

Country Status (6)

Country Link
EP (1) EP1969604B1 (ko)
JP (1) JP4892566B2 (ko)
KR (1) KR100989181B1 (ko)
AT (1) ATE531049T1 (ko)
TW (1) TWI318406B (ko)
WO (1) WO2007079124A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200024355A (ko) * 2017-08-31 2020-03-06 마이크론 테크놀로지, 인크. 메모리 셀의 데이터 상태 결정

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101635504B1 (ko) 2009-06-19 2016-07-04 삼성전자주식회사 3차원 수직 채널 구조를 갖는 불 휘발성 메모리 장치의 프로그램 방법
JP5242603B2 (ja) * 2010-01-13 2013-07-24 株式会社東芝 半導体記憶装置
JP2011192827A (ja) 2010-03-15 2011-09-29 Toshiba Corp Nand型不揮発性半導体記憶装置
JP5330421B2 (ja) * 2011-02-01 2013-10-30 株式会社東芝 不揮発性半導体記憶装置
JP5542737B2 (ja) * 2011-05-12 2014-07-09 株式会社東芝 不揮発性半導体記憶装置
JP2013118028A (ja) 2011-12-02 2013-06-13 Toshiba Corp 半導体記憶装置
JP6088751B2 (ja) 2012-06-07 2017-03-01 株式会社東芝 半導体メモリ
US9966146B2 (en) 2014-08-13 2018-05-08 Toshiba Memory Corporation Memory system and method of controlling non-volatile memory
JP6433933B2 (ja) * 2016-03-14 2018-12-05 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
US10395723B2 (en) 2017-03-07 2019-08-27 Toshiba Memory Corporation Memory system that differentiates voltages applied to word lines
CN111066087A (zh) 2019-10-29 2020-04-24 长江存储科技有限责任公司 用于对存储器设备进行编程的方法
CN115295054B (zh) * 2022-09-30 2022-12-13 芯天下技术股份有限公司 一种存储芯片的读取方法、装置、电子设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6542407B1 (en) 2002-01-18 2003-04-01 Sandisk Corporation Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells
JP3913704B2 (ja) * 2003-04-22 2007-05-09 株式会社東芝 不揮発性半導体記憶装置及びこれを用いた電子装置
JP4005000B2 (ja) * 2003-07-04 2007-11-07 株式会社東芝 半導体記憶装置及びデータ書き込み方法。
JP4410188B2 (ja) * 2004-11-12 2010-02-03 株式会社東芝 半導体記憶装置のデータ書き込み方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200024355A (ko) * 2017-08-31 2020-03-06 마이크론 테크놀로지, 인크. 메모리 셀의 데이터 상태 결정

Also Published As

Publication number Publication date
KR100989181B1 (ko) 2010-10-22
ATE531049T1 (de) 2011-11-15
EP1969604B1 (en) 2011-10-26
WO2007079124A1 (en) 2007-07-12
JP4892566B2 (ja) 2012-03-07
TWI318406B (en) 2009-12-11
EP1969604A1 (en) 2008-09-17
TW200741727A (en) 2007-11-01
JP2009522704A (ja) 2009-06-11

Similar Documents

Publication Publication Date Title
US7349260B2 (en) Alternate row-based reading and writing for non-volatile memory
KR100989181B1 (ko) 비휘발성 메모리에 대한 교번적 로우-기반 판독 및 기입
US7443726B2 (en) Systems for alternate row-based reading and writing for non-volatile memory
US7440324B2 (en) Apparatus with alternating read mode
US7301817B2 (en) Method for programming of multi-state non-volatile memory using smart verify
US7768834B2 (en) Non-volatile storage system with initial programming voltage based on trial
US7450421B2 (en) Data pattern sensitivity compensation using different voltage
EP2467854B1 (en) Selective memory cell program and erase
US7310272B1 (en) System for performing data pattern sensitivity compensation using different voltage
US7436733B2 (en) System for performing read operation on non-volatile storage with compensation for coupling
US7843739B2 (en) System for verifying non-volatile storage using different voltages
US7499319B2 (en) Read operation for non-volatile storage with compensation for coupling
EP1991989B1 (en) Read operation for non-volatile storage with compensation for floating gate coupling
KR101094422B1 (ko) 결합 보상을 포함하는 비휘발성 메모리 판독 동작들에 대한 마지닝된 이웃 판독
US7366022B2 (en) Apparatus for programming of multi-state non-volatile memory using smart verify
US7551482B2 (en) Method for programming with initial programming voltage based on trial
EP2078303B1 (en) Reading of a nonvolatile memory cell by taking account of the stored state of a neighboring memory cell
US7495962B2 (en) Alternating read mode
WO2007143399A2 (en) Nand flash verify method with different compensated pass voltages

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130926

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20141001

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150918

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160921

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170919

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180918

Year of fee payment: 9