KR101020812B1 - 비휘발성 메모리에서 개선된 판독 동작을 위해 선택 상태에서 보상을 사용하여 감지 및 다른 크기의 마진 프로그래밍 - Google Patents

비휘발성 메모리에서 개선된 판독 동작을 위해 선택 상태에서 보상을 사용하여 감지 및 다른 크기의 마진 프로그래밍 Download PDF

Info

Publication number
KR101020812B1
KR101020812B1 KR1020087023382A KR20087023382A KR101020812B1 KR 101020812 B1 KR101020812 B1 KR 101020812B1 KR 1020087023382 A KR1020087023382 A KR 1020087023382A KR 20087023382 A KR20087023382 A KR 20087023382A KR 101020812 B1 KR101020812 B1 KR 101020812B1
Authority
KR
South Korea
Prior art keywords
nonvolatile storage
storage element
state
data
level
Prior art date
Application number
KR1020087023382A
Other languages
English (en)
Other versions
KR20080111458A (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/425,111 external-priority patent/US7606084B2/en
Priority claimed from US11/425,116 external-priority patent/US7352628B2/en
Application filed by 샌디스크 코포레이션 filed Critical 샌디스크 코포레이션
Publication of KR20080111458A publication Critical patent/KR20080111458A/ko
Application granted granted Critical
Publication of KR101020812B1 publication Critical patent/KR101020812B1/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/26Sensing or reading circuits; Data output circuits
    • 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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • 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
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • G11C29/50004Marginal testing, e.g. race, voltage or current testing of threshold voltage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/563Multilevel memory reading aspects
    • G11C2211/5634Reference cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2216/00Indexing scheme relating to G11C16/00 and subgroups, for features not directly covered by these groups
    • G11C2216/12Reading and writing aspects of erasable programmable read-only memories
    • G11C2216/14Circuits or methods to write a page or sector of information simultaneously into a nonvolatile memory, typically a complete row or word line in flash memory

Landscapes

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

Abstract

메모리 셀의 겉보기 임계 전압이 시프트될때 비휘발성 메모리 판독 동작이 플로팅 게이트 커플링을 보상한다. 해당 메모리 셀은 이웃하는 메모리 셀로부터의 판독된 전하의 레벨에 근거하여 기준 값을 사용하여 판독될 수 있다. 이웃하는 셀을 잘못 판독하는 것은 특정 프로그래밍 방법에서 큰 영향을 미칠 수 있으며, 특히 이러한 방법에서 특정 상태 혹은 전하 레벨에 대한 이웃하는 셀을 판독할 때 더욱 그러하다. 일 실시예에서, 메모리 셀들은 이웃하는 셀을 잘못 판독하는 것이 더 해로운 특정 상태들 간의 마진을 더 넓게 생성하도록 프로그래밍된다. 또한, 일 실시예에서 메모리 셀들은, 더 넓은 마진이 생성되는 그러한 곳과 같은 다른 기준 레벨에서 판독할 때가 아닌, 어떤 기준 레벨에서 판독할 때, 이웃하는 셀의 상태에 근거하여 플로팅 게이트 커플링을 보상함으로써 판독된다.

Description

비휘발성 메모리에서 개선된 판독 동작을 위해 선택 상태에서 보상을 사용하여 감지 및 다른 크기의 마진 프로그래밍{PROGRAMMING DEFFERENTLY SIZED MARGINS AND SENSING WITH COMPENSATIONS AT SELECT STATES FOR IMPROVED READ OPERATIONS IN NON-VOLATILE MEMORY}
본 발명은 비휘발성 메모리를 프로그래밍하는 것에 관한 것이다.
반도체 메모리 디바이스는 다양한 전자 디바이스에서 점점 더 많이 사용되고 있다. 예를 들어, 비휘발성 반도체 메모리는 셀률러 전화기, 디지털 카메라, 개인 휴대용 정보 단말기(personal digital assistants), 모바일 컴퓨팅 디바이스(mobile computing devices), 비이동형 컴퓨팅 디바이스(non-mobile computing devices ), 및 다른 디바이스들에서 사용된다. 전기적으로 소거가능한 프로그래밍가능 판독 전용 메모리(Electrical Erasable Programmable Read Only Memory, EEPROM)(플래시 EEPROM를 포함함) 및 전기적으로 프로그래밍가능한 판독 전용 메모리(Electronically Programmable Read Only Memory, EPROM)가 가장 널리 사용되는 비휘발성 반도체 메모리들 중의 하나이다.
플래시 메모리 시스템의 일 예는 NAND 구조를 사용하며, 상기 NAND 구조는 두 개의 선택 게이트 사이에 샌드위치(sandwich)되어 있고 직렬 연결된 복수의 트랜지스터들을 배치하는 구조를 포함한다. 직렬로 연결된 트랜지스터들, 그리고 선택 게이트는 NAND 스트링(NAND string)으로 언급된다. 도 1은 하나의 NAND 스트링을 나타내는 상부도이다. 도 2는 그 등가 회로이다. 도 1 및 도 2에 도시된 NAND 스트링은 제 1 선택 게이트(120)와 제 2 선택 게이트(122) 사이에 샌드위치되어 있고 직렬 연결된 네 개의 트랜지스터들(100, 102, 104 및 106)을 포함한다. 선택 게이트(120)는 NAND 스트링을 비트 라인(126)에 연결한다. 선택 게이트(122)는 NAND 스트링을 소스 라인(128)에 연결한다. 선택 게이트(120)는 선택 라인(SGD)을 통해 제어 게이트(120CG)에 적절한 전압을 인가함으로써 제어된다. 선택 게이트(122)는 선택 라인(SGS)을 통해 제어 게이트(122CG)에 적절한 전압을 인가함으로써 제어된다. 트랜지스터들(100, 102, 104 및 106) 각각은 메모리 셀의 게이트 요소를 형성하는 제어 게이트 및 플로팅 게이트를 포함한다. 예를 들어, 트랜지스터(100)는 제어 게이트(100CG) 및 플로팅 게이트(100FG)를 포함한다. 트랜지스터(102)는 제어 게이트(102CG) 및 플로팅 게이트(102FG)를 포함한다. 트랜지스터(104)는 제어 게이트(104CG) 및 플로팅 게이트(104FG)를 포함한다. 트랜지스터(106)는 제어 게이트(106CG) 및 플로팅 게이트(106FG)를 포함한다. 제어 게이트(100CG)는 워드 라인(WL3)에 연결되고, 제어 게이트(102CG)는 워드 라인(WL2)에 연결되고, 제어 게이트(104CG)는 워드 라인(WL1)에 연결되고, 그리고 제어 게이트(106CG)는 워드 라인(WL0)에 연결된다.
유의할 것으로, 비록 도 1 및 도 2가 NAND 스트링 내의 네 개의 메모리 셀을 보여주고 있지만, 네 개의 트랜지스터들을 사용하는 것은 단지 예로서 제공되는 것 이다. NAND 스트링은 네 개보다 적은 메모리 셀을 가질 수 있거나 혹은 네 개보다 많은 메모리 셀을 가질 수 있다. 예를 들어, 일부 NAND 스트링들은 여덟 개의 메모리 셀, 16개의 메모리 셀, 32개의 메모리 셀, 등을 포함할 수 있다. 본 명세서에서의 설명이 NAND 스트링에서의 임의의 특정 개수의 메모리 셀에만 한정되는 것은 아니다.
NAND 구조를 사용하는 플래시 메모리 시스템에 대한 전형적인 아키텍처는 수 개의 NAND 스트링을 포함할 수 있다. 예를 들어, 도 3은 많은 NAND 스트링을 갖는 메모리 어레이의 세 개의 NAND 스트링(202, 204 및 206)을 보여준다. 도 3의 NAND 스트링들 각각은 두 개의 선택 트랜지스터 또는 게이트 및 네 개의 메모리 셀들을 포함한다. 예를 들어, NAND 스트링(202)은 선택 트랜지스터(220 및 230) 및 메모리 셀(222, 224, 226 및 228)을 포함한다. NAND 스트링(204)은 선택 트랜지스터(240 및 250) 및 메모리 셀(242, 244, 246 및 248)을 포함한다. 각각의 스트링은 하나의 선택 게이트(예를 들어, 선택 게이트(230) 및 선택 게이트(250))에 의해 소스 라인에 연결된다. 선택 라인(SGS)은 소스측 선택 게이트를 제어하기 위해 사용된다. 다양한 NAND 스트링이 선택 라인(SGD)에 의해 제어되는 선택 게이트(220, 240, 등)에 의해 각각의 비트 라인에 연결된다. 다른 실시예에서, 선택 라인은 반드시 공통적일 필요는 없다. 워드 라인(WL3)은 메모리 셀(222) 및 메모리 셀(242)에 대한 제어 게이트에 연결된다. 워드 라인(WL2)은 메모리 셀(224) 및 메모리 셀(244)에 대한 제어 게이트에 연결된다. 워드 라인(WL1)은 메모리 셀(226) 및 메모리 셀(246)에 대한 제어 게이트에 연결된다. 워드 라인(WL0)은 메모리 셀(228) 및 메모리 셀(248)에 대한 제어 게이트에 연결된다. 보이는 바와 같이, 비트 라인 및 각각의 NAND 스트링은 메모리 셀들의 어레이의 컬럼(column)을 포함한다. 워드 라인(WL3, WL2, WLl 및 WLO)은 어레이의 로우(rows)를 포함한다. 각각의 워드 라인은 로우에서 각각의 메모리 셀의 제어 게이트들을 연결한다. 예를 들어, 워드 라인(WL2)은 메모리 셀(224, 244 및 252)에 대한 제어 게이트에 연결된다.
NAND 타입 플래시 메모리 및 그 동작의 관련 예들은 다음과 같은 미국 특허/특허 출원, 즉, 미국 특허 번호 제5,570,315호, 미국 특허 번호 제5,774,397호, 미국 특허 번호 제6,046,935호, 미국 특허 번호 제6,456,528호 및 미국 특허 출원 일련 번호 제09/893,277호(공개 번호 US2003/0002348)에서 제공되고 있으며, 이들 문헌 모두는 참조로 본 명세서에 통합된다.
각각의 메모리 셀이 데이터(아날로그 또는 디지털)를 저장할 수 있다. 한 비트의 디지털 데이터를 저장할 때, 전형적으로 바이너리 메모리 셀(binary memory cell)로서 언급되는 메모리 셀의 가능한 임계 전압의 범위는 논리적 데이터 "1" 및 "0"으로 할당된 두 개의 범위로 나누어진다. NAND 타입 플래시 메모리의 일 예에서, 임계 전압은 메모리 셀이 소거된 이후에 음(negative)의 값이고, 로직 "1"로 정의된다. 프로그램 동작 이후의 임계 전압은 양(positive)의 값이고 로직 "0"으로 정의된다. 임계 전압이 음의 값이고, 제어 게이트에 0 볼트를 인가함으로써 판독이 시도될 때, 메모리 셀은 로직 일이 저장되는 것을 표시하기 위해 턴온(turn on)된다. 임계 전압이 양의 값이고, 제어 게이트에 0 볼트를 인가함으로써 판독 동작이 시도될 때, 메모리 셀은 턴온되지 않고, 이것은 로직 제로(0)가 저장되어 있다는 것을 표시한다. 복수 상태 메모리 셀은 또한 복수 레벨의 정보, 예를 들어 복수 비트의 디지털 데이터를 저장할 수도 있다. 복수 레벨의 데이터를 저장하는 경우, 가능한 임계 전압의 범위는 다수의 데이터 레벨로 나누어진다. 예를 들어, 만약 네 개의 정보 레벨이 저장된다면, 데이터 값 "11", "10", "01", 및 "00"에 할당되는 네 개의 임계 전압 범위가 있을 수 있다. NAND 타입 메모리의 일 예에서, 소거 동작 이후의 임계 전압은 음의 값이고 "11"로서 정의된다. 세 개의 다른 양의 값을 갖는 임계 전압이 상태 "10", "01", 및 "00"에 대해 사용된다. 메모리 셀에 프로그래밍되는 데이터와 셀의 임계 전압 범위의 특정 관계는 메모리 셀에 대해 채택된 데이터 인코딩 방식에 따라 다르다. 예를 들어, 미국 특허 번호 제6,222,762호 및 미국 특허 출원 번호 제10/461,244호(발명의 명칭: "Tracking Cells For A Memory System", 2003.06.13. 출원)는 복수 상태 플래시 메모리 셀에 대한 다양한 데이터 인코딩 방식을 설명하고 있으며, 두 개의 문헌 모두는 그 전체가 참조로 본 명세서에 통합된다. 추가적으로, 본 개시 내용에 따른 실시예들은 두 비트보다 많은 데이터를 저장하는 메모리 셀에 적용가능하다.
EEPROM 혹은 플래시 메모리 디바이스를 프로그래밍할 때, 전형적으로 프로그램 전압이 제어 게이트에 인가되고, 그리고 비트 라인이 접지된다. 채널로부터의 전자들이 플로팅 게이트에 주입된다. 전자들이 플로팅 게이트에 축적될 때, 플로팅 게이트는 음으로 충전되게 되고, 그리고 메모리 셀의 임계 전압이 상승되어 메모리 셀은 프로그래밍 상태에 있다. 플로팅 게이트 전하 및 셀의 임계 전압은 저장된 데이터에 대응하는 특정 상태를 나타낼 수 있다. 프로그래밍에 대한 더 많은 정보는 미국 특허 출원 제10/379,608호(발명의 명칭: "Self Boosting Technique", 2003.03.05. 출원) 및 미국 특허 출원 제10/629,068호(발명의 명칭: "Detecting Over Programmed Memory", 2003.07.29. 출원)에서 찾을 수 있으며, 이 두 개의 출원은 그 전체가 참조로 본 명세서에 통합된다.
플로팅 게이트 상에 저장된 겉보기 전하(apparent charge)에서의 시프트(shift)가 이웃하는 플로팅 게이트에 저장된 전하로 인한 전기장의 커플링 때문에 일어날 수 있다. 플로팅 게이트 대 플로팅 게이트 커플링 현상( floating gate to floating gate coupling phenomena)은 미국 특허 번호 제5,867,429호에 설명되어 있고, 이것은 그 전체가 참조로 본 명세서에 통합된다. 플로팅 게이트 대 플로팅 게이트 커플링 현상은, 서로 다른 시간에 프로그래밍되는 인접하는 메모리 셀들의 세트들 사이에서, 반드시 그런 것은 아니지만, 가장 현저하게 일어난다. 예를 들어, 제 1 메모리 셀이 프로그래밍 되어 전하의 레벨이 데이터 세트에 대응하는 플로팅 게이트에 더해진다. 후속적으로, 하나 또는 그 이상의 인접하는 메모리 셀이 프로그래밍되어 전하의 레벨이 데이터 세트에 대응하는 플로팅 게이트에 더해진다. 하나 또는 그 이상의 인접하는 메모리 셀이 프로그래밍된 이후에, 제 1 메모리 셀로부터 판독되는 전하 레벨은 프로그래밍될 때와는 다른 것처럼 보일 수 있는 데, 왜냐하면 인접하는 메모리 셀(들) 상의 전하의 영향은 제 1 메모리 셀에 커플링되기 때문이다. 인접하는 메모리 셀들로부터의 커플링은, 선택된 메모리 셀로부터 판독되는 겉보기 전하 레벨을, 저장된 데이터의 판독시 에러를 일으킬 정도로 충분한 양만큼 시프트시킬 수 있다.
메모리 셀의 크기가 계속 줄어듦에 따라, 임계 전압의 자연적인 프로그래밍 분포 및 소거 분포는, 단채널 효과(short channel effects), 더 큰 옥사이드 두께/커플링 비율 변화, 및 더 많은 채널 도펀트 변동으로 인해 증가할 것으로 기대되며, 이것은 인접하는 상태들 간의 분리 가용성을 감소시킨다. 이러한 영향은 단지 두 개의 상태만을 이용하는 바이너리 메모리보다 복수 상태 메모리에 대해서 훨씬 더 크다. 워드 라인들 간의 공간 및 비트 라인들 간의 공간의 감소는 또한 인접하는 플로팅 게이트들 간의 커플링을 증가시킬 수 있다. 플로팅 게이트 대 플로팅 게이트 커플링의 영향은 복수 상태 디바이스들에 있어 더 중요한 관심사인데, 왜냐하면, 복수 상태 디바이스에서 허용된 임계 전압 범위 및 금지 범위(개별 메모리 상태들을 나타내는 두 개의 개별 임계 전압 범위들 사이의 범위)는 바이너리 디바이스에서보다 더 좁기 때문이다. 따라서, 플로팅 게이트 대 플로팅 게이트 커플링으로 인해, 결과적으로 메모리 셀은 허용된 임계 전압 범위로부터 금지 범위로 시프트된다.
따라서, 앞서 언급된 플로팅 게이트 커플링의 문제를 효과적으로 관리하는 비휘발성 메모리를 가질 필요성이 존재한다.
본 명세서에서 설명되는 기술은 비휘발성 메모리에서의 플로팅 게이트 커플링의 영향을 처리하고자 하는 것이다.
메모리 셀의 겉보기 임계 전압이 시프트될 수 있을 때, 비휘발성 메모리 판독 동작이 플로팅 게이트 커플링을 보상할 수 있다. 해당 메모리 셀이 이웃하는 메모리 셀로부터 판독되는 전하의 레벨에 근거하는 기준 값을 사용하여 판독된다. 이웃하는 셀을 잘못 판독하는 것은 특정 프로그래밍 방법에 큰 영향을 미칠 수 있고, 특히 이러한 방법에서 특정 상태 혹은 전하 레벨에 대한 이웃하는 셀을 판독할 때 더욱 그러하다. 일 실시예에서, 메모리 셀은, 이웃하는 셀을 잘못 판독하는 것이 더 해로운 영향을 미치는 특정 상태들 간의 마진(margin)을 더 넓게 생성하도록 프로그래밍된다. 더욱이, 메모리 셀은, 일 실시예에서, 더 넓은 마진이 생성되는 곳들과 같은, 어떤 기준 레벨에서 판독할 때, 그러나 다른 기준 레벨에서 판독할 때는 아닌 경우에, 이웃하는 셀의 상태에 근거하여 플로팅 게이트 커플링을 보상함으로써 판독된다.
일 실시예에서, 비휘발성 저장소를 판독하는 방법이 제공되는데, 상기 비휘발성 저장소를 판독하는 방법은 제 1 비휘발성 저장 소자를 판독하려는 요청을 수신하는 것에 응답하여, 제 1 비휘발성 저장 소자에 인접한 제 2 비휘발성 저장 소자를 판독한다. 제 1 기준이 제 1 프로그래밍 상태와 제 2 프로그래밍 상태 사이의 레벨에서 제 1 비휘발성 저장 소자를 판독하기 위해 인가되고, 그리고 제 2 기준이 제 2 프로그래밍 상태와 제 3 프로그래밍 상태 사이의 레벨에서 제 1 비휘발성 저장 소자를 판독하기 위해 인가된다. 제 1 비휘발성 저장 소자의 데이터는, 제 2 비휘발성 저장 소자가 물리적 상태의 제 1 서브세트에 있을 때, 제 1 레벨에서의 제 1 기준을 인가하는 것의 결과 및 제 2 레벨에서 제 2 기준을 인가하는 것의 결과를 이용하여 결정된다. 제 2 비휘발성 저장 소자가 물리적 상태의 제 2 서브세트에 있을 때, 제 1 비휘발성 저장 소자의 데이터를 결정하는 것은 제 1 레벨에서의 제 1 기준을 인가하는 것의 결과 및 제 3 레벨에서 제 2 기준을 인가하는 것의 결과를 이용하여 수행된다.
비휘발성 메모리 시스템이 일 실시예에서 제공되며, 상기 비휘발성 메모리 시스템은 함께 프로그래밍되는 메모리 셀들의 세트로부터의 메모리 셀들의 제 1 그룹과, 상기 세트로부터의 메모리 셀들의 제 2 그룹과, 그리고 상기 세트로부터의 메모리 셀들의 제 3 그룹을 포함한다. 제 1 그룹은 임계 전압의 제 1 범위와 관련된 제 1 프로그래밍 상태에 프로그래밍 되고, 그리고 제 2 그룹은 임계 전압의 제 2 범위와 관련된 제 2 프로그래밍 상태에 프로그래밍 된다. 임계 전압의 제 1 범위 및 임계 전압의 제 2 범위는 제 1 프로그래밍 상태와 제 2 프로그래밍 상태 사이에 제 1 크기의 제 1 마진을 정의한다. 제 3 그룹은 임계 전압의 제 3 범위와 관련된 제 3 프로그래밍 상태에 프로그래밍 된다. 임계 전압의 제 2 범위 및 임계 전압의 제 3 범위는 제 2 프로그래밍 상태와 제 3 프로그래밍 상태 사이에 제 2 크기의 제 2 마진을 정의하며, 제 2 크기는 제 1 크기보다 더 작다.
본 명세서에서 설명되는 기술의 여러 실시예들의 다른 특징들, 실시형태들, 및 목적들은 발명의 상세한 설명, 도면, 및 특허청구범위를 검토함으로써 알 수 있다.
도 1은 NAND 스트링의 상부도이다.
도 2는 도 1의 NAND 스트링의 등가 회로도이다.
도 3은 세 개의 NAND 스트링을 도시한 회로도이다.
도 4는 비휘발성 메모리 시스템의 일 실시예의 블럭도이다.
도 5는 메모리 어레이의 예시적 구조를 나타낸다.
도 6은 일 실시예에 따른 프로그램 전압 신호를 나타낸다.
도 7은 임계 전압 분포의 예시적 세트 및 풀 시퀀스 프로그래밍 프로세스를 나타낸 것이다.
도 8은 임계 전압 분포의 예시적 세트 및 2-패스 프로그래밍 프로세스를 나타낸 것이다.
도 9A는 프로그래밍되기 전에 제 1 워드 라인에 연결된 메모리 셀들의 그룹에 대한 예시적 임계 전압 분포를 나타낸다.
도 9B는 프로그래밍된 이후에 도 9A의 제 1 워드 라인에 인접한 제 2 워드 라인에 연결된 메모리 셀들의 그룹에 대한 예시적 임계 전압 분포를 나타낸 것이다.
도 10A는 프로그래밍된 이후에 도 9A의 메모리 셀들의 그룹에 대한 임계 전압 분포를 나타낸 것이다.
도 10B는 도 10A에서 도시된 메모리 셀들의 그룹을 프로그래밍 한 이후에 도 9B의 메모리 셀들의 그룹에 대한 임계 전압 분포를 나타낸 것이다.
도 11은 플로팅 게이트 커플링을 보상하기 위해 사용되는 오프셋 판독 기준 전압을 갖는 도 10B의 메모리 셀들의 임계 분포를 나타낸다.
도 12A 내지 도 12C는 플로팅 게이트 커플링 효과를 감소시키기 위해 인접 메모리 셀들의 그룹에 대한 이전 페이지 프로그래밍 이후에 메모리 셀들의 그룹에 대한 데이터의 선택 페이지를 프로그래밍하는 프로그래밍 프로세스 및 메모리 셀들의 그룹에 대한 예시적 임계 전압 분포를 나타낸 것이다.
도 13A 및 도 13B는 도 12A 내지 도 12C의 프로세스에 따라 프로그래밍되는 메모리 셀들에 대한 플로팅 게이트 커플링의 효과 및 플로팅 게이트 커플링을 보상하기 위해 사용되는 예시적 판독 기준 전압을 나타낸 것이다.
도 14는 일 실시예에 따른 프로그래밍 및 판독 기술, 그리고 프로그래밍 기술에 따라 프로그래밍되는 메모리 셀들의 그룹의 임계 전압 분포를 나타낸 것이다.
도 15는 선택 메모리 상태들 간의 더 큰 마진을 생성하기 위해 비휘발성 메모리를 프로그래밍하는 프로세스의 일 실시예를 나타낸 흐름도이다.
도 16은 선택 메모리 상태들 간의 더 큰 마진을 생성하기 위해 비휘발성 메모리의 프로그래밍을 검증하는 프로세스의 일 실시예를 나타낸 흐름도이다.
도 17은 비휘발성 메모리를 판독하는 프로세스의 일 실시예를 나타낸 흐름도이다.
도 18은 비휘발성 메모리 셀들로부터 위쪽 페이지 데이터를 판독하는 프로세스의 일 실시예를 나타낸 흐름도이다.
도 19는 보상을 사용함이 없이 데이터를 판독하는 프로세스의 일 실시예를 나타낸 흐름도이다.
도 20은 플로팅 게이트 커플링에 대한 보상을 사용하는 동안 데이터를 판독하는 프로세스의 일 실시예를 나타낸 흐름도이다.
도 21은 플로팅 게이트 커플링에 대한 보상을 사용하여 위쪽 페이지 데이터 를 판독하는 프로세스의 일 실시예를 나타낸 흐름도이다.
도 4는 본 발명의 하나 또는 그 이상의 실시예들을 구현하기 위해 사용될 수 있는 플래시 메모리 시스템의 일 실시예를 나타낸 블럭도이다. 다른 시스템 및 실시예들이 사용될 수 있다. 메모리 셀 어레이(302)는 컬럼 제어 회로(304), 로우 제어 회로(304), c-소스 제어 회로(310) 및 p-웰 제어 회로(308)에 의해 제어된다. 컬럼 제어 회로(304)는 메모리 셀 어레이(302)의 비트 라인에 연결되어 메모리 셀들에 저장된 데이터를 판독하고, 프로그래밍 동작 동안 메모리 셀들의 상태를 결정하고, 그리고 비트 라인의 포텐셜 레벨을 제어하여 프로그래밍 및 소거를 촉진시키거나 혹은 금지시킨다. 로우 제어 회로(306)가 워드 라인에 연결되어 워드 라인을 선택하고, 판독 전압을 인가하고, 컬럼 제어 회로(304)에 의해 제어되는 비트 라인 포텐셜 레벨과 결합된 프로그램 전압을 인가하고, 그리고 소거 전압을 인가한다. c-소스 제어 회로(310)는 메모리 셀들에 연결된 공통 소스를 제어한다. P-웰 제어 회로(308)는 p-웰 전압을 제어한다.
메모리 셀들에 저장된 데이터는 컬럼 제어 회로(304)에 의해 판독되고, 그리고 데이터 입력/출력 버퍼(312)를 통해 외부 I/O 라인에 출력된다. 메모리 셀들에 저장될 프로그램 데이터가 외부 I/O 라인을 통해 데이터 입력/출력 버퍼(312)에 입력되고, 그리고 컬럼 제어 회로(304)에 전달된다. 외부 I/O 라인이 제어기(318)에 연결된다.
컬럼 제어 회로(304)는 복수의 감지 블럭들(320)을 포함할 수 있고, 그 각각은 감지 동작을 수행하는 하나 또는 그 이상의 비트 라인들과 관련되어 있다. 예를 들어, 단일 감지 블럭이 여덟 개의 비트 라인들과 관련되어 있을 수 있고, 그리고 하나의 공통 부분을 포함할 수 있고, 그리고 개별 비트 라인들을 위한 여덟 개의 개별 감지 모듈들을 포함할 수 있다. 더 상세한 설명에 대해서는, 미국 특허 출원 번호 제11/026,536호(발명의 명칭: "Non-Volatile Memory & Method with Shared Processing for an Aggregate of Sense Amplifiers", 2004.12.29. 출원)를 참조하기 바라며, 이 문헌은 그 전체가 참조로 본 명세서에 통합된다. 감지 모듈(320)은 연결된 비트 라인에서의 전도 전류, 혹은 다른 파라미터가 미리 결정된 임계 레벨 위에 있는지 혹은 아래에 있는지 여부를 결정한다. 감지 모듈은 감지된 메모리 셀에 결정된 데이터를 결정할 수 있고, 그리고 데이터 래치 스택(data latch stack)(322)에 저장된 데이터를 저장할 수 있다. 데이터 래치 스택(322)은 판독 동작 동안 결정된 데이터 비트들을 저장하는데 사용된다. 이것은 또한 프로그램 동작 동안 메모리에 프로그래밍되는 데이터 비트들을 저장하는데 사용된다. 일 실시예에서, 각각의 감지 모듈(320)에 대한 데이터 래치 스택(322)은 세 개의 데이터 래치들을 포함한다. 감지 모듈은 또한 연결된 비트 라인 상의 전압 조건을 설정하기 위해 사용되는 비트 라인 래치를 포함할 수 있다. 예를 들어, 비트 라인 래치에 래치된 미리 결정된 상태는, 결과적으로, 연결된 비트 라인이 프로그램 금지를 지정하는 상태로 되게 한다(예를 들어, Vdd).
플래시 메모리 디바이스를 제어하는 컴맨드 데이터(command data)가 제어기(318)로 입력된다. 컴맨드 데이터는 어떤 동작이 요청되는지를 플래시 메모리에 알려준다. 입력 컴맨드가 제어 회로(315)의 일부인 상태 머신(316)으로 전달된다. 상태 머신(316)은 컬럼 제어 회로(304), 로우 제어 회로(306), c-소스 제어(310), p-웰 제어 회로(308), 및 데이터 입력/출력 버퍼(312)를 제어한다. 상태 머신(316)은 또한 준비/실행중(READY/BUSY) 혹은 패스/실패(PASS/FAIL)와 같은 플래시 메모리의 상태 데이터를 출력할 수도 있다.
제어기(318)는 개인용 컴퓨터, 디지털 카메라, 혹은 개인 휴대용 정보 단말기, 등과 같은 호스트 시스템에 접속될 수 있거나 이러한 호스트 시스템과 접속가능하다. 이것은 메모리 어레이(302)에 데이터를 저장하는 것 혹은 메모리 어레이(302)로부터 데이터를 판독하는 것과 같은 컴맨드들을 개시시키고, 그리고 이러한 데이터를 제공하거나 수신하는 호스트와 통신한다. 제어기(318)는 이러한 컴맨드를, 제어 회로(315)의 일부인 컴맨드 회로(314)에 의해 해석될 수 있고 실행될 수 있는 컴맨드 신호로 변환한다. 컴맨드 회로(314)는 상태 머신(316)과 통신한다. 제어기(318)는 전형적으로 메모리 어레이에 기입되거나 혹은 메모리 어레이로부터 판독되는 사용자 데이터에 대한 버퍼 메모리를 포함한다.
하나의 예시적 메모리 시스템은, 제어기(318)를 포함하는 하나의 집적 회로와, 그리고 그 각각이 메모리 어레이와 그 관련 제어 회로, 입력/출결 회로, 및 상태 머신 회로를 포함하는 하나 또는 그 이상의 집적 회로 칩들을 포함한다. 시스템의 메모리 어레이 및 제어기 회로를 하나 또는 그 이상의 집적 회로 칩들 상에 함께 집적시키려는 경향이 있다. 메모리 시스템은 호스트 컴퓨터의 일부로서 매입될 수 있고, 또는 호스트 시스템으로 탈착가능하게 삽입되는 메모리 카드(혹은 다른 패키지)에 포함될 수 있다. 이러한 카드는 전체 메모리 시스템(예를 들어, 제어기 포함)을 포함할 수 있거나, 혹은 단지 관련 주변 회로들(호스트에 매입되는 제어기 혹은 제어 기능을 가짐)만을 갖는 메모리 어레이(들)만을 포함할 수 있다. 따라서, 제어기는 호스트에 매입될 수 있고, 또는 탈착가능한 메모리 시스템에 포함될 수 있다.
도 5를 참조하면, 메모리 셀 어레이(302)의 예시적 구조가 설명된다. 예를 들어, 1,024개의 블럭으로 나누어져 있는 NAND 플래시 EEPROM이 설명된다. 각각의 블럭에 저장된 데이터는 동시에 소거될 수 있다. 일 실시예에서, 블럭은 동시에 소거될 수 있는 최소 셀 단위이다. 메모리 셀들은 p-웰을 소거 전압(예를 들어, 20 볼트)까지 상승시키고, 아울러 선택된 블럭의 워드 라인들을 접지시킴으로써 소거된다. 소스 라인 및 비트 라인은 플로팅 상태이다. 소거는 전체 메모리 어레이 또는 개별 블럭들에 관해 수행될 수 있고, 또는 또 다른 셀 단위로 수행될 수 있다. 전자들이 플로팅 게이트로부터 p-웰 영역으로 전달되고, 그리고 (일 예에서) 임계 전압은 음의 값이 된다.
도 5의 예에서 각각의 블럭에는 8,512개의 컬럼이 존재한다. 각각의 블럭은 전형적으로 프로그래밍의 단위일 수 있는 여러 페이지들로 나누어진다. 프로그래밍에 대한 다른 데이터 단위가 또한 가능하고 고려될 수 있다. 일 실시예에서, 개개의 페이지들은 세그먼트들로 나누어질 수 있고, 그리고 이러한 세그먼트들은 기본 프로그래밍 동작으로서 한번에 기입되는 가장 적은 개수의 셀들을 포함할 수 있다. 하나 또는 그 이상의 데이터 페이지는 전형적으로 메모리 셀의 하나의 로우에 저장 된다.
도 5에서의 예의 각각의 블럭에서, 짝수 컬럼 및 홀수 컬럼으로 나누어진 8,512개의 컬럼이 존재한다. 비트 라인들은 짝수 비트라인들(BLe) 및 홀수 비트 라인들(BLo)로 나누어진다. 홀수/짝수 비트 라인 아키텍처에서, 공통 워드 라인을 따라 있고 홀수 비트 라인들에 연결되는 메모리 셀은 한번에 프로그래밍되고, 반면에 공통 워드 라인을 따라 있고 짝수 비트 라인들에 연결되는 메모리 셀은 또 다른 한번에 프로그래밍된다. 도 5는 NAND 스트링을 형성하는 직렬 연결된 네 개의 메모리 셀들을 나타낸다. 비록 네 개의 메모리 셀이 각각의 NAND 스트링에 포함되도록 도시되었지만, 네 개보다 많거나 혹은 적은 개수가 사용될 수도 있다(예를 들어 16개, 32개, 혹은 또 다른 개수). NAND 스트링의 하나의 단자는 제 1 선택 트랜지스터 혹은 선택 게이트(이것은 선택 게이트 드레인 라인(Select Gate Drain line)(SGD)에 연결됨)를 통해 대응하는 비트 라인에 연결되고, 그리고 NAND 스트링의 또 다른 단자는 제 2 선택 트랜지스터(이것은 선택 게이트 소스 라인(Select Gate Source line)(SGS)에 연결됨)을 통해 c-소스(c-source)에 연결된다.
일 실시예의 판독 동작 및 프로그래밍 동작 동안, 4,256 개의 메모리 셀들이 동시에 선택된다. 선택된 메모리 셀들은 동일한 워드 라인(예를 들어, WL2)을 가지고, 동일한 종류의 비트 라인(예를 들어, 홀수 개의 비트 라인들)을 갖는다. 따라서, 532 바이트의 데이터가 동시에 판독될 수 있거나 프로그래밍될 수 있다. 동시에 판독 및 프로그래밍되는 이러한 532 바이트의 데이터가 하나의 논리적 페이지를 형성한다. 따라서, 일 예에서, 하나의 블럭은 적어도 여덟 개의 페이지를 저장할 수 있다. 각각의 메모리 셀이 두 비트의 데이터를 저장할 때(예를 들어, 복수 상태 셀), 이와 같은 블럭은 16 개의 페이지들을 저장할 수 있다(혹은, 예를 들어, 8 개의 페이지들 각각이 1064 바이트를 포함할 수 있음). 다른 크기의 블럭들 및 페이지들이 또한 여러 실시예들과 함께 사용될 수 있다. 일 실시예에서, 동시에 선택되는 메모리 셀들의 세트는 하나 보다 많은 데이터 페이지를 저장할 수 있다.
도 4 및 도 5와는 다른 아키텍처가 여러 실시예들에 따라 사용될 수 있다. 일 실시예에서, 비트 라인들은 홀수 비트 라인들 및 짝수 비트 라인들로 나누어 지지 않는다. 이러한 아키텍처는 공통적으로 모든 비트 라인 아키텍처로서 언급된다. 모든 비트 라인 아키텍처에서, 블럭의 비트 라인들 모두는 판독 동작 및 프로그래밍 동작 동안 동시에 선택된다. 공통 워드 라인을 따라 있고 임의의 비트 라인에 연결된 메모리 셀들은 동시에 프로그래밍된다. 다른 비트 라인 아키텍처 및 그 관련 동작가능한 기술에 관한 더 많은 정보를 위해서는, 미국 특허 출원 번호 제11/099,133호(발명의 명칭: "Compensating for coupling during Read Operations of Non-Volatile Memory", 200.04.05. 출원)를 참조하기 바라며, 이 문헌은 그 전체가 참조로 본 명세서에 통합된다.
판독 동작 및 검증 동작에서, 선택된 블럭의 선택 게이트들은 하나 또는 그 이상의 선택 전압까지 상승되고, 그리고 선택된 블럭의 선택되지 않은 워드 라인들(예를 들어, WLO, WLl 및 WL3)은 판독 패스 전압(예를 들어, 4.5 볼트)까지 상승되어, 트랜지스터가 패스 케이트로서 동작하게 한다. 선택된 블럭의 선택된 워드 라인(예를 들어, WL2)은 기준 전압에 연결되고, 그 레벨은 각각의 판독 동작 및 검증 동작에 대해 특정되어 있는데, 왜냐하면 관련 메모리 셀의 임계 전압이 이러한 레벨 위에 있는지 혹은 아래에 있는지 여부를 결정하기 위해서이다. 예를 들어, 한 비트 메모리 셀의 판독 동작에 있어서, 선택된 워드 라인(WL2)은 접지되고, 그래서 임계 전압이 0 볼트(0V)보다 더 높은지 여부가 결정된다. 한 비트 메모리 셀의 검증 동작에 있어서, 선택된 워드 라인(WL2)은 0.8V에 연결되고, 그래서 프로그래밍이 진행함에 따라 임계 전압이 0.8V에 도달했는지 안 했는지 여부가 검증된다. 소스 및 p-웰은 판독 및 검증 동안 0V에 있다. 선택 비트 라인(BLe)이 예를 들어, 0.7V의 레벨까지 사전 충전된다. 만약 임계 전압이 판독 레벨 혹은 검증 레벨보다 더 높다면, 관련 비트 라인(BLe)의 포텐셜 레벨은 관련 비전도성 메모리 셀 때문에 높은 레벨을 유지한다. 달리 말하면, 만약 임계 전압은 판독 레벨 혹은 검증 레벨보다 더 낮다면, 전도성 메모리 셀 때문에, 관련 비트 라인(BLe)의 포텐셜 레벨은 낮은 레벨(예를 들어, 0.5V보다 적은 레벨)로 감소한다. 다른 전류 및 전압 감지 기술은 본 발명의 여러 실시예들에 따라 사용될 수 있다. 복수 상태 셀들에 대한 판독 또는 감지 동안, 상태 머신(316)은 다양한 메모리 상태에 대응하는 미리 정의된 제어 게이트 기준 전압을 통해 스텝핑(stepping)한다. 감지 모듈은 여러 전압들 중 하나에서 트립핑(tripping)하고, 그리고 출력은 감지 모듈로부터 제공된다. 감지 모듈에서의 프로세서는 트립핑 이벤트(들)를 고려함으로써, 그리고 상태 머신으로부터의 인가된 제어 게이트 전압에 대한 정보를 고려함으로써, 결과적인 메모리 상태를 결정할 수 있다. 메모리 상태에 대한 바이너리 인코딩은 계산되어 데이터 래치에 저장된다.
프로그램 동작 및 검증 동작 동안, 셀들의 세트에 프로그래밍될 데이터가 각각의 비트 라인에 대해 데이터 래치들(322)의 세트에 저장될 수 있다. 메모리의 드레인 및 p-웰이 0V를 수신하고, 반면에 어드레싱된 메모리 셀들의 제어 게이트들은 증가하는 크기를 갖는 프로그래밍 펄스들을 수신한다. 일 실시예에서, 일련의 펄스들의 범위는 12V로부터 24V까지이다. 다른 실시예에서는 이러한 범위는 달라 질 수 있으며, 예를 들어 12V보다 더 높은 시작 레벨을 가질 수 있다. 프로그래밍 동안, 검증 동작들이 프로그래밍 펄스들 간에 수행될 수 있다. 병렬로 프로그래밍되는 각각의 셀의 프로그래밍 레벨이 각각의 프로그래밍 펄스 사이에서 판독되어 프로그래밍되는 상태에 대한 검증 레벨에 도달했는지 혹은 이러한 검증 레벨을 초과하였는지 여부가 결정된다. 검증 레벨은 대응하는 메모리 상태에서의 셀들에 대한 타겟 최소 임계 전압일 수 있다. 프로그래밍을 검증하는 한 가지 수단은 특정 비교 포인트들에서 전도도를 테스트하는 것이다. 충분히 프로그래밍된 것으로 검증되는 셀들은 더 이상의 프로그래밍을 금지시키기 위해 락아웃(lockout)된다. 검증된 셀들 비트 라인의 전압은 이러한 셀들에 대한 프로그래밍 프로세스를 종료시키기 위해 후속적 프로그래밍 펄스 동안 0V로부터 Vdd(예를 들어, 2.5 볼트)까지 상승된다. 일부의 경우에, 펄스들의 개수는 제한되고(예를 들어, 20개의 펄스), 그리고 만약 주어진 메모리 셀들이 마지막 펄스에 의해 충분히 프로그래밍되지 않는다면, 에러가 발생했다고 간주된다.
도 6은 일 실시예에 따른 프로그램 전압 신호를 나타낸다. 이러한 신호는 증가하는 크기를 갖는 펄스들의 세트를 가진다. 펄스들의 크기는 미리 결정된 스텝 크기만큼 각각의 펄스와 함께 증가된다. 복수의 데이터 비트를 저장하는 메모리 셀들을 포함하는 일 실시예에서, 예시적인 스텝 사이즈는 0.2 볼트(혹은 0.4 볼트)이다. 프로그래밍 펄스들 각각 사이에 검증 펄스들이 있다. 도 6의 신호는 네 개의 상태 메모리 셀을 나타내고 있으며, 따라서 이것은 세 개의 검증 펄스들을 포함한다. 예를 들어, 프로그래밍 펄스들(330 및 332) 사이에는 세 개의 순차적 검증 펄스들이 있다. 제 1 검증 펄스(334)가 0V 검증 전압 레벨에서 도시되어 있다. 제 2 검증 펄스(336)가 제 2 검증 전압 레벨에서 제 1 검증 펄스의 뒤를 따른다. 제 3 검증 펄스(338)이 제 3 검증 레벨에서 제 2 검증 펄스의 뒤를 따른다. 여덟 개의 상태에서 데이터를 저장할 수 있는 복수 상태 메모리 셀은 일곱 개의 비교 포인트들에서 검증 동작을 수행할 필요가 있을 수 있다. 따라서, 일곱 개의 검증 펄스가 순차적으로 인가되어 두 개의 연속적인 프로그래밍 펄스들 사이에서 일곱 개의 검증 레벨에서 일곱 번의 검증 동작을 수행한다. 일곱 번의 검증 동작에 근거하여, 시스템은 메모리 셀의 상태를 결정할 수 있다. 검증으로 인해 부가되는 시간을 감소시키는 한 가지 수단은 더 효율적인 검증 프로세스를 사용하는 것으로, 이러한 것은 예를 들어, 미국 특허 출원 번호 제10/314,055호(발명의 명칭: "Smart Verify for Multi-State Memories", 2002.12.05. 출원), 미국 특허 출원 번호 제11/259,799호(발명의 명칭: "Method for Programming of Multi-State Non-Volatile Memory Using Smart Verify", 2005.10.27. 출원), 그리고 미국 특허 출원 번호 제11/260,658호(발명의 명칭: "Apparatus for Programming of Multi-State Non-Volatile Memory Using Smart Verify", 2205.10.27. 출원)에서 설명되어 있으며, 이러한 문헌들 모두는 그 전체가 참조로 본 명세서에 통합된다.
앞서 설명된 소거 동작, 판독 동작, 및 검증 동작은 본 발명의 기술 분야에서 공지된 기술에 따라 수행된다. 따라서, 설명된 상세한 설명중 많은 부분은 본 발명의 기술 분야에서 숙련된 자에 의해 다양하게 변경될 수 있다.
성공적인 프로그래밍 프로세스의 끝에서, 메모리 셀들의 임계 전압은 프로그래밍된 메모리 셀들에 대한 임계 전압의 하나 또는 그 이상의 분포들 내에 있어야만 하거나 또는 적절하게는 소거된 메모리 셀들에 대한 임계 전압의 분포 내에 있어야 한다. 도 7은 각각의 메모리 셀이 두 비트의 데이터를 저장할 때 메모리 셀들의 그룹에 대한 임계 전압 분포를 나타낸다. 도 7은 소거된 메모리 셀들에 대한 제 1 임계 전압 분포(E)와 프로그래밍된 메모리 셀들에 대한 세 개의 임계 전압 분포(A, B, 및 C)를 나타낸다. 일 실시예에서, 분포(E)에서의 임계 전압은 음의 값이고 분포(A, B, 및 C)에서의 임계 전압은 양의 값이다.
도 7의 각각의 개개의 임계 전압 범위는 데이터 비트들의 세트에 대한 미리 결정된 값들에 대응한다. 메모리 셀들로 프로그래밍되는 데이터와 셀의 임계 전압 레벨들 간의 특정 관계는 셀들에 대해 채택된 데이터 인코딩 방식에 따라 다르다. 일 실시예에서, 데이터 값은 그레이 코드 할당(gray code assignment)을 사용하여 임계 전압 범위에 할당되며, 그래서 만약 플로팅 게이트의 임계 전압이 그 이웃하 는 물리적 상태로 잘못 시프트할 지라도 단지 하나의 비트만이 영향을 받는다. 그러나, 다른 실시예들에서는 그레이 코딩이 사용되지 않는다. 일 예로서, 임계 전압 범위(E)(상태(E))에 "11"이 할당되고, 임계 전압 범위(A)(상태(A))에 "10"이 할당되고, 임계 전압범위(B)(상태(B))에 "00"이 할당되고, 그리고 임계 전압 범위(C)(상태(C))에 "01"이 할당된다. 도 7이 비록 네 개의 상태를 도시하고 있지만, 본 개시 내용을 따르는 실시예들은 또한, 네 개보다 많거나 혹은 적은 상태들을 포함하는 다른 복수 상태 구조와 함께 사용될 수도 있다.
도 7은 메모리 셀들로부터 데이터를 판독하기 위한 세 개의 판독 기준 전압(Vra, Vrb 및 Vrc)을 도시하고 있다. 주어진 메모리 셀들의 임계 전압이 Vra, Vrb 및 Vrc보다 높은지 혹은 낮은지 여부를 테스트함으로서, 시스템은 메모리 셀이 어떤 상태에 있는지를 결정할 수 있다. 만약 메모리 셀이 Vra에서 전도 상태라면, 그러면 메모리 셀은 상태(E)에 있다. 만약 메모리 셀이 Vrb 및 Vrc에서 전도 상태이지만 Vra에서는 전도 상태가 아니라면, 그러면 메모리 셀은 상태(A)에 있다. 만약 메모리 셀이 Vrc에서 전도 상태이지만 Vra 및 Vrb에서는 전도 상태가 아니라면, 그러면 메모리 셀은 상태(B)에 있다. 만약 메모리 셀이 Vra, Vrb 혹은 Vrc에서 전도 상태가 아니라면, 그러면 메모리 셀은 상태(C)에 있다. 도 7은 또한 세 개의 검증 기준 전압(Vva, Vvb 및 Vvc)을 도시하고 있으며, 이것은 서로 균등하게 이격되어 있다. 상태(A)로의 메모리 셀들의 프로그래밍시, 시스템은 이러한 메모리 셀들이 Vva보다 큰 임계 전압 혹은 Vva와 동일한 임계 전압을 가지고 있는지 여부를 테스트한다. 상태(B)로의 메모리 셀들의 프로그래밍시, 시스템은 이러한 메모리 셀들이 Vvb보다 큰 임계 전압 혹은 Vvb와 동일한 임계 전압을 가지고 있는지 여부를 테스트한다. 상태(C)로의 메모리 셀들의 프로그래밍시, 시스템은 메모리 셀들이 Vvc보다 큰 임계 전압 혹은 Vvc와 동일한 임계 전압을 가지고 있는지 여부를 결정한다. 검증 전압은 특정 물리적 상태에 할당된 임계 전압의 범위를 정의하고 그리고 이들 사이의 금지 범위(forbidden ranges)를 정의한다. 검증 레벨은, 한 상태에서의 가장 높은 임계 전압과 다음 상태에서의 가장 낮은 임계 전압 간에 충분한 마진을 제공하도록 이격되어 있다. 소거 상태(E)와 제 1 프로그래밍 상태(A) 사이에 자연적으로 일어나는 더 큰 마진이 존재한다.
도 7은 풀 시퀀스 프로그래밍(full sequence programming)을 또한 도시하고 있다. 풀 시퀀스 프로그래밍에서, 메모리 셀들은 소거 상태(E)로부터 직접적으로 프로그래밍 상태들(A, B, 혹은 C) 중 어느 하나로 프로그래밍된다, 프로그래밍될 한 무리의 메모리 셀들이 먼저 소거될 수 있고 그래서 메모리 셀들 모두는 소거 상태(E)에 있다. 일련의 프로그래밍 전압 펄스들이 선택된 메모리 셀들의 제어 게이트에 인가되어, 메모리 셀들을 상태(A, B 또는 C)에 직접적으로 프로그래밍한다. 일부 메모리 셀들이 상태(E)로부터 상태(A)로 프로그래밍되고, 다른 메모리 셀들은 상태(E)로부터 상태(B)로 프로그래밍되며 그리고/또는 상태(E)로부터 상태(C)로 프로그래밍된다.
도 8은 두 개의 서로 다른 페이지, 즉, 아래쪽 페이지(lower page) 및 위쪽 페이지(upper page)에 대한 복수 상태 메모리 셀들을 프로그래밍하는 2-패스 기술(two-pass technique)의 예를 나타낸다. 네 개의 상태, 즉, 상태(E)(11), 상태(A)(10), 상태(B)(00), 및 상태(C)(01)가 도시되어 있다. 상태(E)에 대해, 양쪽 페이지는 "1"을 저장한다. 상태(A)에 대해, 아래쪽 페이지는 "0"을 저장하고 그리고 위쪽 페이지는 "1"을 저장한다. 상태(B)에 대해, 양쪽 페이지는 "0"을 저장한다. 상태(C)에 대해, 아래쪽 페이지는 "1"을 저장하고 그리고 위쪽 페이지는 "0"을 저장한다. 유의할 것으로, 비록 특정 비트 패턴들이 상태들 각각에 할당되지만, 다른 비트 패턴들이 또한 할당될 수도 있다. 제 1 프로그래밍 패스에서, 셀의 임계 전압 레벨은 아래쪽의 논리적 페이지로 프로그래밍될 비트에 따라 설정된다. 만약 비트가 로직 "1"이라면, 임계 전압은 변하지 않는데, 왜냐하면, 더 일찍 소거된 결과로서 적절한 상태에 있기 때문이다. 그러나, 만약 프로그래밍될 비트가 로직 "0"이라면, 셀의 임계 레벨은 화살표(450)에 의해 도시된 바와 같이 상태(A)가 되도록 증가한다. 이것은 결론적으로 제 1 프로그래밍 패스이다.
제 2 프로그래밍 패스에서, 셀의 임계 전압 레벨은 위쪽의 논리적 페이지로 프로그래밍되는 비트에 따라 설정된다. 만약 위쪽의 논리적 비트가 로직 "1"을 저장해야 한다면, 어떠한 프로그래밍도 일어나지 않는데, 왜냐하면 셀은 아래쪽 페이지 비트의 프로그래밍에 따라 상태(E) 또는 상태(A) 중 하나에 있기 때문이며, 이들 모두는 "1"의 위쪽 페이지 비트를 지니고 있다. 만약 위쪽 페이지 비트가 로직 "0"이 되어야 한다면, 그러면 임계 전압은 시프트된다. 만약 제 1 패스로 셀이 소거 상태(E)에 남아 있다면, 그러면 제 2 위상에서 셀이 프로그래밍 되어 임계 전압은 화살표(454)에 의해 도시된 바와 같이 상태(C)에 있게 되도록 증가한다. 만약 셀이 제 1 프로그래밍 패스의 결과로서 상태(A)로 프로그래밍 된다면, 그러면 메모리 셀은 제 2 패스에서 또한 프로그래밍 되어 임계 전압은 화살표(452)에 의해 도 시된 바와 같이 상태(B)에 있도록 증가된다. 제 2 패스의 결과는 아래쪽 페이지에 대한 데이터를 변경함이 없이 위쪽 페이지에 대한 로직 "0"을 저장하도록 지정된 상태로 셀을 프로그래밍하는 것이다.
일 실시예에서, 시스템은, 만약 충분한 데이터가 전체 페이지를 채우도록 기입된다면, 풀 시퀀스 기입을 수행하도록 설정될 수 있다. 만약 충분한 데이터가 전체 페이지에 대해 기입되지 않는다면, 그러면 프로그래밍 프로세스는 수신된 데이터로 아래쪽 페이지를 프로그래밍할 수 있다. 후속적 데이터가 수신될 때, 시스템은 위쪽 페이지를 프로그래밍한다. 또 다른 실시예에서, 시스템은 2-패스 기술을 사용하여 데이터를 기입하기 시작하고, 그리고 만약 충분한 데이터가 후속적으로 수신되어 전체(또는 대부분의) 워드 라인의 메모리 셀들을 채울 수 있다면, 풀 시퀀스 프로그래밍 모드로 전환한다. 이러한 실시예의 더 상세한 설명은 미국 특허 출원 제11/013,125호(발명의 명칭: "Pipelined Programming of Non- Volatile Memories Using Early Data", 2004.12.14. 출원, 발명자: Sergy Anatolievich Gorobets 및 Yan Li)에서 설명되어 있으며, 이 문헌은 참조로 그 전체가 본 명세서에 통합된다.
플로팅 게이트 커플링은 판독 동안 에러 복구의 수행이 필요할 수 있는 판독 동작 동안 회복할 수 없는 에러를 일으킬 수 있다. 메모리 셀의 플로팅 게이트상에 저장된 전하는, 이웃하는 메모리 셀의 플로팅 게이트 혹은 다른 전하 저장 영역(예를 들어, 유전체 전하 저장 영역)에서 저장된 전하로부터의 전계 커플링(electrical field coupling)으로 인해 겉보기 시프트를 경험할 수 있다. 이론상 메모리 어레이에서의 임의의 메모리 셀의 플로팅 게이트 상의 전하로부터의 전계는 어레이 내의 임의의 다른 메모리 셀의 플로팅 게이트에 연결될 수 있고, 그 영향은 인접한 메모리 셀들과 함께 가장 명백하고 확실하다. 인접하는 메모리 셀들은 동일한 비트 라인 상에 있는 이웃하는 메모리 셀들, 동일한 워드 라인 상의 이웃하는 메모리 셀들, 혹은 이웃하는 비트 라인과 이웃하는 워드 라인 양쪽 모두 상에 있는 따라서 대각선 방향에서 서로 인접하고 있는 이웃하는 메모리 셀들을 포함할 수 있다. 전하에서의 겉보기 시프트로 인해, 결과적으로 메모리 셀의 메모리 상태 판독시 에러가 일어날 수 있다.
플로팅 게이트 커플링의 영향은, 타겟 메모리 셀에 인접한 메모리 셀이 타겟 메모리 셀로 후속적으로 프로그래밍 되는 상황에서 가장 명백하지만, 그러나 그 영향은 다른 상황에서도 또한 관측될 수 있다. 인접한 메모리 셀의 플로팅 게이트 상에 놓여진 전하 혹은 전하의 일부는 전계 커플링을 통해 타겟 메모리에 효과적으로 커플링되고, 그 결과 타겟 메모리 셀의 임계 전압의 겉보기 시프트가 일어난다. 메모리 셀의 겉보기 임계 전압은, 프로그래밍된 이후에, 메모리 상태에서 메모리 셀에 대해 예측되는 바와 같이, 인가된 기준 하에서 판독 기준 전압을 턴온 및 턴오프 (전도) 시키지 않는 그러한 정도까지 시프트될 수 있다.
전형적으로, 메모리 셀들의 로우는 소스 측 선택 게이트 라인에 인접한 워드 라인(WL0)에서 시작하여 프로그래밍된다. 따라서 프로그래밍은 셀들의 스트링을 통해 워드 라인(WLl, WL2, WL3, 등)에 의해 순차적으로 진행하고, 그래서 적어도 하나의 데이터 페이지가 이전의 워드 라인(WLn)의 프로그래밍 완료(워드 라인의 각각의 셀을 그 최종 상태에 놓는 것) 이후에 인접한 워드 라인(WLn+1)에 프로그래밍된다. 이러한 프로그래밍 패턴은, 이들이 프로그래밍 된 이후에 플로팅 게이트 커플링으로 인한 메모리 셀들의 임계 전압의 겉보기 시프트를 일으킨다. 프로그래밍될 스트링의 마지막 워드 라인 이외의 모든 워드 라인에 대해, 인접한 워드 라인이 해당 워드 라인의 프로그래밍 완료에 후속하여 프로그래밍 된다. 인접한 이후에 프로그래밍되는 워드 라인 상의 메모리 셀들의 플로팅 게이트에 더해지는 음의전하는 해당 워드 라인 상의 메모리 셀들의 겉보기 임계 전압을 상승시킨다.
도 9A 내지 도 10B는 도 7에 도시된 바와 같이 풀 시퀀스 프로그래밍을 사용하여 프로그래밍되는 메모리 셀들의 세트에 대한 플로팅 게이트 커플링의 영향을 도시한다. 도 9B는 프로그래밍된 이후에 선택된 워드 라인(WLn)의 메모리 셀들의 세트에 대한 임계 전압 분포를 나타낸 것이다. 분포(500)는 소거된(프로그래밍되지 않은) 상태(E)에서의 WLn에서의 셀들의 실제 임계 전압 분포를 나타낸 것이고, 분포(505)는 상태(A)로 프로그래밍되는 WLn에서의 셀들의 실제 임계 전압 분포를 나타낸 것이고, 분포(510)는 상태(B)로 프로그래밍되는 WLn에서의 셀들의 실제 임계 전압 분포를 나타낸 것이고, 그리고 분포(520)는 상태(C)로 프로그래밍되는 WLn에서의 셀들의 실제 임계 전압 분포를 나타낸 것이다. 메모리 셀들의 세트는 선택된 로우 혹은 워들 라인(WLn)의 각각의 메모리 셀 혹은 특정 타입의 비트 라인(짝수 혹은 홀수)에 연결된 WLn의 셀들을 단지 포함할 수 있다. 도 9A는 프로그래밍 전에 인접한 워드 라인(WLn+1)의 메모리 셀들에 대한 임계 전압 분포를 나타낸다. WLn+1의 셀들은 WLn의 셀들을 프로그래밍 이후에 프로그래밍된다. WLn+1에서의 각각의 셀이 소거되고 아직 프로그래밍되지 않았기 때문에, 이들은 WLn의 셀들 상에 어떠한 역 플로팅 게이트 커플링 영향을 일으키지 않는다. 더 중요한 것은, 이들은 WLn을 프로그래밍할 때 이들이 존재하는 상태와 동일한 상태에 있고, 그래서 WLn의 셀은 프로그래밍 동안 검증된 레벨과 동일한 겉보기 임계 전압을 갖는다.
도 10A는 프로그래밍 이후의 WLn+1의 메모리 셀들의 세트에 대한 임계 전압 분포를 도시한 것이다. 메모리 셀들은 소거된 임계 전압 분포(E)로부터 프로그래밍된 임계 전압 분포(A, B, 및 C)로 프로그래밍된다. 워드 라인(WLn)을 프로그래밍 한 이후에 워드 라인(WLn+1)의 메모리 셀들의 플로팅 게이트들 상에 놓여진 전하는 감지 동안 메모리 시스템에 의해 관측된 바와 같이 WLn의 메모리 셀들의 메모리 상태를 변경시킬 수 있다. 워드 라인(WLn+1)의 플로팅 게이트들 상의 전하들과 관련된 전계는 워드 라인(WLn)에서의 메모리 셀들의 플로팅 게이트에 커플링된다. 전계는 WLn에서의 메모리 셀들의 임계 전압에서 겉보기 시프트를 일으킬 수 있다.
도 10B는 WLn+1의 프로그래밍 이후에 워드 라인(WLn)에서의 메모리 셀들에 대한 겉보기 임계 전압 분포를 나타낸 것이다. 각각의 프로그래밍 상태가 네 개의 서로 다른 대응하는 임계 전압 분포로 도시되어 있다. 각각의 물리적 상태에 대한 전체 분포가, 워드 라인(WLn+1)에서의 인접하는 메모리 셀들이 프로그래밍되는 상태에 근거하여 네 개의 개개의 분포들로 나누어질 수 있다. 상태(A)로 프로그래밍되는 (동일 비트 라인 상의) WLn+1에서의 인접하는 메모리 셀을 갖는 워드 라인(WLn)에서의 각각의 메모리 셀은 그 겉보기 임계 전압에서의 제 1 시프트 레벨을 경험한다. 상태(B)에서 WLn+1에서의 인접하는 셀을 갖는 WLn에서의 각각의 셀은 겉보기 임계 전압에서 제2의 더 큰 시프트를 경험한다. 상태(C)에서 WLn+1에서의 인접하는 메모리 셀을 갖는 각각의 셀이 제3의 더 큰 시프트를 경험한다.
상태(A)에서의 WLn에서의 셀들에 대해, 분포(502)는 프로그래밍 이후의 소거 상태(E)에 남아있는 워드 라인(WLn+1) 상에 인접하는 메모리 셀을 가지는 그러한 셀들에 대한 임계 전압을 나타낸다. 분포(504)는 상태(A)로 프로그래밍 되는 워드 라인(WLn+1)에서의 인접한 셀들을 가지는 셀들에 대한 임계 전압을 나타낸다. 분포(506)는 상태(B)로 프로그래밍되는 워드 라인(WLn+1)에서의 인접한 셀들을 가지는 셀들에 대한 임계 전압을 나타낸다. 분포(508)는 상태(C)로 프로그래밍 되는 워드 라인(WLn+1)에서의 인접한 셀들을 가지는 셀들에 대한 임계 전압을 나타낸다.
다른 상태로 프로그래밍되는 WLn에서의 메모리 셀들은 유사한 커플링 효과를 경험한다. 따라서, 네 개의 개개의 임계 전압 분포가 또한 상태(B) 및 상태(C)에 대해 도시된다. 상태(B)로 프로그래밍되는 워드 라인(WLn)에서의 메모리 셀들은 워드 라인(WLn+1)에서의 인접한 메모리 셀들의 후속적으로 프로그래밍 되는 상태에 근거하여 네 개의 서로 다른 임계 전압 분포(512, 514, 516, 및 518)를 가지는 것처럼 보인다. 상태(C)로 프로그래밍 되는 WLn의 메모리 셀들은 마찬가지로 네 개의 서로 다른 분포(522, 524, 526, 및 528)를 가진다. 유의해야만 하는 것으로, WLn의 소거된 메모리 셀은 또한 커플링 영향을 경험한다. 시프트가 도시되지 않았는데, 왜냐하면 소거 상태(E)와 상태(A) 사이에 자연적으로 일어나는 마진은 일반적으로 충분하여, 시프팅은 소거된 셀들의 판독시 어떠한 에러도 일으키지 않는다. 그러나, 이러한 영향은 존재하며, 그리고 개시되는 기술은 이러한 것들을 잘 처리할 수 있다.
메모리 셀들의 겉보기 임계 전압에서의 증가는 판독 에러를 일으킬 수 있다. 도 10B에 도시된 바와 같이, 본래 상태(A)로 프로그래밍 되는 WLn의 일부 메모리 셀들은 판독 기준 전압 레벨(Vrb)을 넘어 시프트된 임계 전압을 가질 수 있다. 이것은 결과적으로 판독시 에러를 일으킬 수 있다. 판독 기준 전압(Vrb)이 인가되는 경우, 이러한 메모리 셀들은 이들이 상태(A)로 프로그래밍될 지라도 전도하지 않을 수 있다. 상태 머신 및 제어기는 (Vrb가 인가된 경우 어떠한 전도도 감지하지 못한 이후) 메모리 셀들이 상태(A)에 있다기보다는 상태(B)에 있다고 결정할 수 있다. 상태(B)로 본래 프로그래밍 되는 WLn의 일부 메모리 셀들은 또한 판독 기준 전압(Vrc)을 넘어 시프트할 수 있고, 이것은 잠재적으로 동일한 방식에서 판독 에러를 일으킬 수 있다.
도 11은 도 10B에서 도시된 임계 전압에서의 겉보기 시프트들의 일부를 처리하는데 사용될 수 있는 판독 기술을 설명한다. 도 11에서, 도 10B에 도시된 WLn에서의 셀들의 각각의 상태에 대한 네 개의 분포가 한 무리의 메모리 셀들 상에서의 커플링의 누적적 영향을 나타내는 분포(530, 540, 및 550)로 축약되었다. 분포(530)는 WLn+1을 프로그래밍한 이후에 상태(A)에서의 WLn의 셀들을 나타내고, 분포(540)는 WLn+1을 프로그래밍한 이후에 상태(B)에서의 WLn의 셀들을 나타내고, 그리고 분포(550)는 WLn+1을 프로그래밍한 이후에 상태(C)에서의 WLn의 셀들을 나타낸다. 분포(530)는 개개의 분포(502-508)를 분포하고, 분포(540)는 개개의 분포(512-518)를 분포하고, 그리고 분포(550)는 개개의 분포(522-528)를 분포한다.
워드 라인(Wln) 상의 데이터 판독 시, 워드 라인(WLn+1)의 데이터가 또한 판독될 수 있으며, 그리고 만약 워드 라인(WLn+1) 상의 데이터가 WLn 상의 데이터를 방해한다면, WLn에 대한 판독 프로세스가 그러한 방해를 보상할 수 있다. 예를 들어, 워드 라인(WLn)을 판독할 때, 워드 라인(WLn+1)에서의 메모리 셀들에 대한 상태 혹은 전하 레벨 정보가 워드 라인(WLn)의 개개의 메모리 셀들을 판독하기 위한 적절한 판독 기준 전압을 선택하기 위해 결정될 수 있다. 도 11은 워드 라인(WLn+1)에서의 인접한 메모리 셀의 상태에 근거하여 WLn을 판독하기 위한 개개의 판독 기준 전압을 나타낸 것이다. 일반적으로, 공칭 판독 기준 전압에 대한 서로 다른 오프셋(예를 들어, OV, 0.1V, 0.2V, 0.3V)이 사용되고, 그리고 서로 다른 오프셋에서의 감지의 결과가 이웃하는 워드 라인 상의 메모리 셀의 상태의 함수로서 선택된다. 일 실시예에서, 워드 라인(WLn)에서의 메모리 셀들은 서로 다른 판독 기준 전압들 각각을 사용하여 감지된다. 주어진 메모리 셀에 대해, 판독 기준 전압들 중 적절한 하나에서의 감지로부터의 결과는 워드 라인(WLn+1)에서의 인접하는 메모리 셀의 상태에 근거하여 선택될 수 있다. 일부 실시예에서, WLn+1에 대한 판독 동작은 WLn+1에서 저장된 실제 데이터를 결정하고, 반면에 다른 실시예에서, WLn+1에 대한 판독 동작은 단지 이러한 셀들의 전하 레벨을 결정하는데, 이것은 WLn+1에 저장된 데이터를 실제로 반영할 수도 있고 반영하지 않을 수도 있다. 일부 실시예들에서, WLn+1을 판독하기 위해 사용되는 레벨들 및/또는 레벨들의 개수는 WLn을 판독하기 위해 사용되는 것과 정확히 동일하지 않을 수 있다. 플로팅 게이트 임계 전압 값의 어떤 근사값이 일부 실시예들에서 WLn 정정을 위해 충분할 수 있다. 일 실 시예에서, WLn+1에서의 판독의 결과는 WLn 판독시 사용될 각각의 비트 라인에서 래치(322)에 저장될 수 있다.
판독 동작이 먼저, 어떠한 커플링 영향도 보상하지 않은 공칭 판독 기준 전압 레벨(Vra, Vrb, 및 Vrc)에서의 해당 워드 라인(WLn)에 대해 수행될 수 있다. 공칭 기준 레벨에서의 판독의 결과가 WLn+1에서의 이웃하는 셀이 상태(E)에 있는 것으로 결정되는 메모리 셀들을 갖는 비트 라인들에 대해 적절한 래치에 저장된다. 다른 비트 라인들에 대해, 데이터는 무시되고, 그리고 WLn+1 데이터는 유지된다. 판독 동작이 그 다음에, 판독 기준 전압에 대한 제 1 오프셋 세트를 사용하여 워드 라인(WLn)에 대해 수행된다. 판독 프로세스는 Vra1(Vra + 0.1V), Vrbl(Vrb + 0.1V) 및 Vrcl(Vrc + 0.1V)를 사용할 수 있다. 이러한 기준 값들을 사용한 결과는 상태(A)에서의 WLn+1에서의 이웃하는 메모리 셀들을 가지는 메모리 셀들을 갖는 비트 라인들에 대해 저장된다. 그 다음에 판독 동작이 Vra2(Vra + 0.2V), Vrb2(Vrb + 0.2V) 및 Vrc2(Vrc + 0.2V)를 사용하여 제 2 오프셋 세트로 수행된다. 그 결과는 상태(B)에서의 WLn+1에서의 이웃들을 가지는 메모리 셀들을 갖는 비트 라인들에 대해 래치에 저장된다. 판독 동작이 Vra3(Vra + 0.3V), Vrb3(Vrb + 0.3V) 및 Vrc3(Vrc + 0.3V)를 사용하여 제 3 오프셋 세트로 워드 라인(WLn)에 대해 수행되고, 그리고 그 결과는 상태(C)에서의 WLn+1에서의 이웃하는 셀들을 가지는 메모리 셀들을 갖는 그러한 비트 라인들에 대해 저장된다. 일부 실시예들에서, 상태(E)와 상태(A) 간의 더 큰 자연적 마진으로 인해, 어떠한 오프셋들도 Vra에서 사용되지 않는다. 단일의 판독 기준 전압(Vra)이 상태(A) 레벨에서 도시된 도 11에 그러한 실시예가 도시되어 있다. 다른 실시예들은 또한 이러한 레벨에 대한 오프셋들을 사용할 수 있다.
공칭 판독 기준 전압에 대한 서로 다른 오프셋들이 인접하는 워드 라인 상의 메모리 셀의 상태의 함수로서 선택될 수 있다. 예를 들어, 오프셋 값들의 세트는 상태(E)에서의 인접한 셀에 대응하는 0V 오프셋과, 상태(A)에서의 인접한 셀에 대응하는 0.1V 오프셋과, 상태(B)에서의 인접한 셀에 대응하는 0.2V 오프셋과, 그리고 상태(C)에서의 인접한 셀에 대응하는 0.3V 오프셋을 포함할 수 있다. 오프셋 값들은 실시예에 따라 변한다. 일 실시예에서, 오프셋 값들은 대응하는 상태로 프로그래밍되는 인접하는 셀로부터 일어나는 겉보기 임계 전압에서의 시프트의 양과 동일하다. 예를 들어, 0.3V는 WLn+1에서의 인접하는 셀이 상태(C)로 후속적으로 프로그래밍될 때, WLn에서의 셀에 대한 겉보기 임계 전압에서의 시프트를 나타낼 수 있다. 오프셋 값들은 모든 기준 전압에 대해 동일할 필요는 없다. 예를 들어, Vrb 기준에 대한 오프셋 값들은 OV, 0.1V, 0.2V, 및 0.3V일 수 있으며, 반면에 Vrc 기준 전압에 대한 오프셋 값들은 OV, 0.15V, 0.25V, 및 0. 35V일 수 있다, 추가적으로 오프셋들에서의 증분은 모든 상태에 대해 동일할 필요가 없다. 예를 들어, 일 실시예에서 오프셋 세트는 상태(E, A, B, 및 C)에서의 인접하는 셀들에 대해 각각 OV, 0.1V, 0.3V, 및 0.4V를 포함할 수 있다.
일 실시예에서, 주어진 상태에 대한 복수의 개개의 판독 기준 레벨을 사용하여 판독하는 것, 그리고 인접하는 메모리 셀의 상태에 근거하여 그 결과를 선택하는 것은 약 50 퍼센트만큼 플로팅 게이트 전하 커플링의 영향을 감소시킬 것으로 예측될 수 있다. 감지 모듈에 의해 판독되는 바와 같이 메모리 셀들의 워드 라인에 대한 임계 전압 분포는 이러한 기술을 사용하여 약 50 퍼센트만큼 효과적으로 좁혀질 수 있다.
플로팅 게이트 커플링으로부터 임계 전압에서의 겉보기 시프트를 감소시키기 위해 비휘발성 메모리에 대한 프로그래밍 프로세스를 구성하는 것이 가능하다. 도 12A 내지 도 12C는, 임의의 특정 메모리 셀에 대해, 이전의 페이지에 대한 인접하는 메모리 셀들에 기입 이후에, 특정 페이지에 대한 그 특정 메모리 셀에 기입함으로써, 플로팅 게이트 대 플로팅 게이트 커플링을 감소시키는 비휘발성 메모리를 프로그래밍하기 위한 프로세스를 나타낸다. 도 12A 내지 도 12C의 예에서, 각각의 셀은, 네 개의 데이터 상태를 사용하여, 메모리 셀당 두 비트의 데이터를 저장한다. 소거 상태(E)는 데이터(11)를 저장하고, 상태(A)는 데이터(01)를 저장하고, 상태(B)는 데이터(10)를 저장하고, 그리고 상태(C)는 데이터(00)를 저장한다. 물리적 데이터 상태로 데이터를 인코딩하는 다른 여러 방법들이 또한 사용될 수도 있다. 각각의 메모리 셀들은 두 개의 논리적 데이터 페이지의 일부를 저장한다. 참고 목적으로, 이러한 페이지들은 위쪽 페이지 및 아래쪽 페이지로 언급되지만, 다른 명칭이 부여될 수 있다. 상태(A)는 위쪽 페이지에 대해 비트 0을 저장하도록 인코딩되고, 그리고 아래쪽 페이지에 대해 비트 1을 저장하도록 인코딩되며, 상태(B)는 위쪽 페이지에 대해 비트 1을 저장하도록 인코딩되고, 그리고 아래쪽 페이지에 대해 비트 0을 저장하도록 인코딩되며, 그리고 상태(C)는 양쪽 페이지에 대해 비트 0을 저장하도록 인코딩된다. 워드 라인(WLn)에서의 메모리 셀들에 대한 아래쪽 페이 지 데이터는 도 12A에 도시된 제 1 단계에서 프로그래밍되고, 그리고 셀들에 대한 위쪽 페이지 데이터는 도 12C에 도시된 제 2 단계에서 프로그래밍된다. 만약 아래쪽 페이지 데이터가 셀에 대해 데이터 1을 유지하여야 한다면, 그러면 셀의 임계 전압은 제 1 단계 동안 상태(E)에서 유지된다. 만약 데이터가 0으로 프로그래밍되어야 한다면, 메모리 셀의 임계 전압은 상태(B')로 상승된다. 상태(B')는 Vvb보다 더 낮은 검증 레벨 Vvb'를 갖는 중간 상태(interim state)(B)이다.
일 실시예에서, 메모리 셀에 대한 아래쪽 페이지 데이터가 프로그래밍된 이후, 인접하는 워드 라인(WLn+1)에서의 이웃하는 메모리 셀들은 그들의 아래쪽 페이지에 관하여 프로그래밍된다. 예를 들어, 도 3의 WL2에서의 메모리 셀들에 대한 아래쪽 페이지 데이터는 WL1에서의 메모리 셀들에 대한 아래쪽 페이지 이후에 프로그래밍될 수 있다. 플로팅 게이트 커플링은, 만약 메모리 셀(226)의 프로그래밍 이후에 메모리 셀(224)의 임계 전압이 상태(E)로부터 상태(B')로 상승된다면, 메모리 셀(226)의 겉보기 임계 전압을 상승시킬 수 있다. WLn에서의 메모리 셀들 상의 누적적 커플링 영향은 도 12B에서 도시된 바와 같이, 셀들에 대한 임계 전압의 겉보기 임계 전압 분포의 폭을 넓힌다. 임계 전압 분포의 겉보기 폭 넓어짐은 해당 워드 라인에 대한 위쪽 페이지를 프로그래밍할 때 치유될 수 있다.
도 12C는 WLn에서의 셀에 대한 위쪽 페이지를 프로그래밍하는 프로세스를 나타낸다. 만약 메모리 셀이 소거 상태(E)에 있고, 그리고 위쪽 페이지 비트가 1에서 유지되어야 한다면, 메모리 셀은 상태(E)에서 유지된다. 만약 메모리 셀이 소거 상태(E)에 있고, 그리고 위쪽 페이지 비트가 0으로 프로그래밍되어야 한다면, 메모리 셀의 임계 전압은 상태(A)에 대한 범위 내에 있도록 상승된다. 만약 메모리 셀이 중간 임계 전압 분포(B')에 있고, 그리고 그 위쪽 페이지 데이터가 1을 유지해야 한다면, 메모리 셀은 최종 상태(B)로 프로그래밍 된다. 만약 메모리 셀이 중간 임계 전압 분포(B')에 있고, 그리고 그 위쪽 페이지 데이터가 0을 유지해야 한다면, 메모리 셀의 임계 전압은 상태(C)에 대한 범위 내에 있도록 상승된다. 도 12A 내지 도 12C에 의해 도시된 프로세스는 플로팅 게이트 커플링의 영향을 감소시키는데, 왜냐하면 단지 이웃 메모리 셀들의 위쪽 페이지 프로그래밍만이 주어진 메모리 셀의 겉보기 임계 전압을 일으키기 때문이다. 이러한 기술을 위한 교번적 상태 코딩(alternate state coding)의 예는 위쪽 페이지 데이터가 1일 때 중간 상태(B')에서 상태(C)로 이동하는 것이고, 그리고 위쪽 페이지 데이터가 '0'일 때 상태(B)로 이동하는 것이다. 도 12A 내지 도 12C가 비록 네 개의 데이터 상태 및 두 개의 데이터 페이지에 관한 예를 제공하지만, 도 12A 내지 도 12C에 의해 설명된 개념들은 네 개보다 많거나 혹은 적은 상태들 및 다른 개수의 페이지를 가진 다른 실시예들에도 적용될 수 있다.
도 13A는 도 12A 내지 도 12C의 프로그래밍 기술에 대한 플로팅 게이트 커플링의 영향을 나타낸 것이고, 그리고 도 13B는 이러한 영향들 중 일부를 극복하기 위해 보상 오프셋들 사용하는 판독 방법을 나타낸 것이다. 워드 라인(WLn)에 인접하는 워드 라인(WLn+1)의 메모리 셀은 제 2 패스 동안 프로그래밍되어 도 12C에 도시된 바와 같이 그들의 위쪽 페이지 데이터가 프로그래밍된다. 제 2 패스 동안, 메모리 셀들은 상태(E)로부터 상태(A)로 혹은 중간 상태(B')로부터 상태(B) 또는 상태(C)로 프로그래밍 된다. 해당 워드 라인(WLn)의 메모리 셀이 도 13A에 도시되고, 그리고 워드 라인(WLn+1)에서의 메모리 셀에 대한 아래쪽 페이지가 프로그래밍된 이후에 그들의 위쪽 페이지에 관하여 프로그래밍된다. 따라서, 도 12C에 도시된 위쪽 페이지 프로그래밍이 단지 워드 라인(WLn)에서의 메모리 셀에 대한 겉보기 임계 전압에 영향을 미치는 프로그래밍이다.
상태(E)로부터 상태(A)로 프로그래밍되는 워드 라인(WLn+1)의 메모리 셀은 중간 상태(B')로부터 상태(C)로 프로그래밍되는 셀들에서와 같이 임계 전압에서의 유사한 변화를 경험한다. 중간 상태(B')로부터 상태(B)로 프로그래밍되는 인접한 워드 라인(WLn+1)의 메모리 셀은 임계 전압에서의 큰 증가를 경험하지 못하고, 그리고 WLn에서의 셀들의 겉보기 임계 전압에 거의 영향을 미치지 못한다. 상태(A)로 프로그래밍되는 WLn의 메모리 셀들은 각각 상태(E)에서, 상태(B)에서, 상태(A)에서, 그리고 상태(C)에서의 WLn+1에서의 이웃하는 셀을 갖는 셀들에 대응하는 개개의 분포(652, 654, 656, 및 658)에 의해 나타내진다. 상태(B)로 프로그래밍되는 WLn의 메모리 셀들은 각각 상태(E)에서, 상태(B)에서, 상태(A)에서, 그리고 상태(C)에서의 WLn+1에서의 이웃하는 셀을 갖는 상태(B) 셀들에 대응하는 개개의 분포(662, 664, 666, 및 668)에 의해 나타내진다. 상태(C)로 프로그래밍되는 WLn의 메모리 셀들은 각각 상태(E)에서, 상태(B)에서, 상태(A)에서, 그리고 상태(C)에서의 WLn+1에서의 이웃하는 셀을 갖는 상태(C) 셀들에 대응하는 개개의 분포(672, 674, 676, 및 678)에 의해 나타내진다.
도 13A에 도시된 바와 같이, WLn의 일부 메모리 셀은 판독 기준 전압(Vrb 혹 은 Vrc)에 가깝거나 혹은 판독 기준 전압(Vrb 혹은 Vrc)을 넘어 시프트되는 그들의 겉보기 임계 전압을 가질 수 있다. 이것은 판독 에러를 일으킬 수 있다. 앞서 설명된 바와 같이, 설명된 커플링 영향은 WLn 소거 분포에 적용가능하고, 그리고 개시된 기술은 동등하게 적용가능하다. 소거된 셀들 상의 영향은 상태(E)와 상태(C) 간의 자연적 마진 때문에 원리적으로 설명되지 않았다.
도 13B는 도 12A 내지 도 12C의 프로그래밍 기술과 함께 사용될 수 있는 판독 기준 레벨에 대한 오프셋들을 도시한다. 명확한 설명을 위해, 분포(652, 654, 656, 및 658)가 단일의 결합된 분포(651)로 도시되었고, 분포(662, 664, 666, 및 668)가 결합된 분포(661)로 도시되었고, 그리고 분포(672, 674, 676, 및 678)가 결합된 분포(671)로 도시되었다. 분포(650, 660, 및 670)는 WLn+1에서의 위쪽 페이지 데이터를 프로그래밍하기 전의 WLn의 셀들을 나타낸다. 도 13B의 실시예에서, 상태(A) 또는 상태(C)로 프로그래밍되는 인접하는 워드 라인 상의 셀들로부터의 유사한 커플링 영향들이 함께 그룹화되어 이러한 상태 레벨들 각각에 대해 단일의 오프셋이 형성된다. 오프셋 기준 전압(Vrbl 및 Vrcl)에서의 감지의 결과가 상태(A) 또는 상태(C)에서의 워드 라인(WLn+1)에서의 인접한 셀을 가지는 메모리 셀들에 대해 사용된다. 중간 상태(B')로부터 상태(B)로의 프로그래밍으로부터 발생되는 사소한 커플링 효과는 무시된다. 공칭 기준 전압(Vrb 및 Vrc)을 사용할 때의 감지의 결과는 상태(E) 또는 상태(B)에서의 워드 라인(WLn+1)에서의 인접하는 셀을 가진 메모리 셀에 대해 사용된다. WLn+1의 각각의 특정 상태에 대한 추가적인 오프셋들이 일 실시예에서 사용될 수 있다. 도 13b에서 도시된 기술은 플로팅 게이트 커플링의 영향에 추가적 감소를 제공하지만, 에러는 여전히 존재할 수 있다.
해당 셀을 판독하기 위한 적절한 오프셋을 결정하고자 할 때 인접한 워드 라인의 오판독은 실제로 도 12A 내지 도 12C의 기술로 프로그래밍되는 셀들에 대해 더 문제가 많을 수 있다. 상태(B)에 판독 기준 전압(Vrb)을 인가할 때, 워드 라인(WLn+1)에서의 메모리 셀의 오판독을 고려한다. 만약 WLn+1에서의 메모리 셀이 상태(A)로 프로그래밍되고, 그리고 상태(B)에 있는 것으로 오판독 된다면, 공칭 판독 기준 전압을 사용하여 워드 라인(WLn)에서의 대응하는 메모리 셀에 대한 판독 동작의 결과가 선택되고 보고된다. 플로팅 게이트 커플링에 대한 어떠한 보상도 사용되지 않는데, 왜냐하면 WLn+1에서의 셀이 상태(B)에 있고 따라서 WLn을 프로그래밍한 이후에 임계 전압에서의 사소한 변화만을 경험한다고 결정되기 때문이다. 그러나, 사실, WLn+1에서의 메모리 셀은 WLn에서의 셀의 겉보기 임계 전압에 강한 영향을 보여줄 수 있다. WLn+1에서의 셀이 상태(A) 분포의 위쪽 끝에 있을 수 있고, 이것이 오판독되는 이유이다. 따라서, WLn+1에서의 메모리 셀은, 상태(E)로부터 상태(A)의 위쪽 끝으로 프로그래밍되는 경우, 그 플로팅 게이트에서 전하에서의 큰 변화를 경험한다. WLn+1에서의 셀에 의해 저장된 전하에서의 큰 변화는 WLn에서의 셀의 겉보기 임계 전압에서의 큰 시프트를 일으킨다. 그러나 WLn+1에서의 오판독 때문에 이러한 시프트에 대한 어떠한 보상도 사용되지 않는다. 따라서, WLn에서의 메모리 셀은 오판독된 WLn+1의 결과로서 오판독될 수 있다.
만약 상태(B)로 프로그래밍되는 워드 라인(WLn+1)에서의 인접하는 메모리 셀은 상태(A)에서와 마찬가지로 오판독되며, 유사한 문제들이 발생할 수 있다. 상태(A)에 있는 것으로 판독되는 워드 라인(WLn+1)에서의 메모리 셀은, 사실 상태(B)에 있을 때, 상태(B) 분포의 아래쪽 끝에서 임계 전압을 가질 수 있다. WLn+1에서의 메모리 셀을 프로그래밍한 이후에 메모리 셀은 임계 전압에서의 매우 작은 변화를 경험한다. 결과적으로, WLn에서의 대응하는 셀의 겉보기 임계 전압에서의 매우 작은 시프트가 일어날 수 있거나 혹은 어떠한 시프트도 일어나지 않는다. 그러나, 대응하는 메모리 셀에 대한 WLn에서의 판독 동작의 결과는, 보상된 기준 레벨에서의 판독으로부터의 결과를 선택한다. 해당 메모리 셀이 겉보기 임계 전압에서 현저한 시프트를 경험하지 못했기 때문에, 보상된 기준 레벨이 사용될 때의 결과를 선택하는 것은 WLn에서 오판독 혹은 에러를 일으킬 수 있다.
종래 기술에서, 다양한 프로그램 상태로 메모리 셀들을 프로그래밍하느 것은 도 13A 내지 도 13B에 도시된 등간격으로 이격된 검증 레벨을 사용하여 수행되었다. 이것은, 즉, 상태(A), 상태(B), 및 상태(C)에 대한 검증 레벨이 서로 등간격으로 이격되어 있어, 검증 레벨(Vvb)과 검증 레벨(Vva) 간의 전압에서의 차이는 검증 레벨(Vvc)과 검증 레벨(Vvb) 간의 전압에서의 차이와 동일하다. 프로그래밍 검증 레벨들의 등간격으로 인해, 다양한 프로그래밍 상태들 간의 마진이 동일하거나 혹은 실질적으로 동일하다. 이러한 마진은 물리적 상태들 간의 금지 전압 영역에 대응한다. 상태(A)와 상태(B) 사이의 마진은 상태(A)에서의 메모리 셀의 최대 임계 전압 및 상태(B)에서의 메모리 셀의 최소 임계 전압에 의해 정의된다. 정확한 판독 동작이 수행될 수 있도록 프로그래밍 상태들 간의 충분한 마진이 제공된다. 플로팅 게이트 커플링 때문에, 물리적 상태들 간의 마진은 감소하고 그리고 결과적으로 판독시 에러가 발생할 수 있다.
본 발명의 실시예에 따르면, 시프트된 검증 레벨이, 하나 또는 그 이상의 선택된 상태들, 예를 들어 상태(B)를 프로그래밍할 때 사용되어, 개선된 감지 정확도를 위해 특정 상태들 간에 더 큰 마진이 생성된다. 일 실시예에서, 오프셋으로 보상된 판독 기준 레벨이 더 폭 넓은 마진에 대응하는 레벨에서 사용되지 않지만, 그러나 더 높은 성능을 위해 더 효율적인 판독을 제공하도록 다른 레벨에서 사용된다. 선택 물리적 상태들 간의 더 폭 넓은 마진과 오프셋 기준 레벨의 선택적 인가의 결합은 요구된 레벨의 성능을 유지하면서 정확한 감지 기술을 제공한다. 도 14는 본 발명의 일 실시예에 따라 프로그래밍되는 메모리 셀들의 세트에 대한 임계 전압 분포를 나타낸다. 분포(678, 680, 684, 및 688)는 프로그래밍 후, 그러나 인접한 워드 라인(WLn+1)에서의 셀들의 프로그래밍 전의, 메모리 셀들의 세트를 도시한 것이다.
시프트된 프로그램 검증 레벨(Vvbl)이, 메모리 셀들을 상태(B)에 프로그래밍할 때, 도 14에서 사용된다. 도 14의 실시예는 도 12A 내지 도 12C에 도시된 기술에 따른 프로그래밍 시에 사용될 수 있다. 검증 레벨(Vvbl)은 도 12C에 도시된 종래 동작에서의 Vvb보다 더 높고, 그래서 더 큰 마진이 상태(A)와 상태(B) 사이에 생성된다. 상태(A)에서의 임의의 메모리 셀의 가장 높은 임계 전압은 종래 기술에서와 동일한 채로 있다. 그러나 상태(B)에서의 임의의 셀의 가장 낮은 임계 전압은 양의 방향으로 시프트된다. 메모리 셀들을 상태(B)로 프로그래밍할 때의 증가된 검증 레벨이 상태(A)와 상태(B) 간의 마진을 증가시킨다. 도 14에서 도시된 바와 같 이, 상태(A)와 상태(B) 간의 마진(683)은 상태(B)와 상태(C) 간의 마진(685)보다 더 크다. 결과적으로, 상태(B)에서 기준 전압 레벨(Vrb)을 감지시 오판독이 덜 일어날 수 있다.
분포(682, 686, 및 690)는 이웃하는 워드 라인(WLn+1)이 프로그래밍된 이후의 플로팅 게이트 커플링의 영향을 나타낸 것이다(예를 들어, 도 12C에서 도시된 바와 같이). 도 14에서, Vrb 판독 레벨은 겉보기 A 상태 분포(682)와 겉보기 B 상태 분포(686) 사이에 잘 이격되어 있다. 결과적으로, 오판독이 덜 일어날 수 있는데, 왜냐하면 이웃하는 워드 라인으로부터의 커플링 영향이 고려된 이후에도, Vrb 판독 레벨은 상태(A)에 있으려는 임의의 셀의 임계 전압과 오버랩하지 않기 때문이다. 일 실시예에서, 기준 레벨(Vrb)이, 도 12C에서 도시된 공칭 값(Vvb)으로부터의 프로그램 검증 레벨(Vvbl)에서의 시프트에 대응하는 양만큼, 기존의 사용되고 있는 레벨(예를 들어, 도 12C의 Vrb)로부터 시프트된다. Vrb가 상태(A)에서의 임의의 메모리 셀의 가장 높은 임계 전압을 넘어 시프트될 수 있기 때문에, 단일의 기준 값(Vrb)이 판독 동안 사용될 수 있고, 그리고 어떠한 보상도 적용되지 않는다.
따라서, 판독 기준 전압에 대한 오프셋은 일 실시예에서 상태(B)에서의 판독시 사용되지 않는다. 도 14의 실시예에서, 판독 기준 전압에 대한 오프셋이 가장 높은 상태, 즉 상태(C)에 대해서만 단지 사용된다. 더 높은 검증 레벨에 의해 존재하는 상태(A)와 상태(B) 간의 더 큰 마진은 플로팅 게이트 커플링을 직접적으로 보상함이 없이 상태(B) 레벨에서의 정확히 판독을 가능하게 한다. 이러한 기술은 오판독을 감소시킬 뿐만 아니라 판독 시간도 개선하는데, 왜냐하면 오프셋 레벨에서의 추가적인 판독이 단지 선택 상태에서만 사용되기 때문이다. 도 14에서, 단지 하나의 추가적인 감지 동작만이 수행된다. 성능 및 판독 시간을 개선하는 것에 추가하여, 감소된 개수의 감지 동작은 선택된 메모리 셀을 감지할 때 인접하는 메모리 셀들에 관한 데이터를 유지하기 위해 필요한 캐시 회로의 복잡도 및 크기를 감소시킨다.
비한정적인 예로서, 다음의 판독기준 및 프로그램 검증 레벨은 도 14의 기술을 구현할 때의 일 실시예에서 사용될 수 있다. 도 12A 내지 도 12C에서 설명된 종래 기술에서, 상태(A)와 상태(B) 사이의 마진은 일 예시적 시스템에서 약 0.7일 것으로 예측될 수 있으며, 상태(B)와 상태(C) 사이의 마진도 대략 동일할 것으로 예측된다. 이러한 종래 기술의 시스템은, 데이터를 셀에 프로그래밍할 때 그리고 셀로부터 판독할 때, Vva=0.5V, Vvb=2.0V, Vvc=3.5V, Vra=0.0V, Vrb=1.5V, 및 Vrc=3.0V의 검증 및 판독 레벨을 사용할 수 있다. 그러나 도 14에서, 상태(B)에 대해 시프트된 검증 레벨은 결과적으로 이러한 시스템이 약 0.7V의 상태(A)와 상태(B) 사이의 마진을 가지도록 하며 약 0.1V의 상태(B)와 상태(C) 사이의 마진을 가지도록 한다. 이러한 마진을 달성하기 위해 도 14에서 사용될 수 있는 전형적인 판독 기준 및 프로그램 검증 레벨은 Vva=0.5V, Vvb=2.3V, Vvc=3.5V, Vra=0.0V, Vrb=1.8V, Vrc=3.0V, 및 Vrcl=3.6V을 포함할 수 있다. 예시된 바와 같은 일 실시예에서, 각각의 상태에서의 판독 기준 및 프로그램 검증 레벨에서의 차이는 Vvb가 시프트될 때 동일하게 유지되는데, 왜냐하면 Vrb가 동일한 양만큼 시프트되기 때문이다. 따라서 Vva-Vra = Vvb-Vrb = Vvc-Vrc이다.
도 15는 도 14에 도시된 바와 같이 비균등한 크기를 갖는 마진을 달성하기 위해 비휘발성 메모리를 프로그래밍하는 방법의 일 실시예를 나타낸 흐름도이다. 도 15에 도시된 프로그래밍 방법은, 단일의 워드 라인에 연결된 것과 같은, 병렬로 메모리 셀들의 그룹을 프로그래밍하는데 사용될 수 있다. 도 15는 또한 짝수/홀수 비트 라인 아키텍처와 같은 워드 라인의 선택 메모리 셀들을 프로그래밍하기 위해 사용될 수도 있다. 일 실시예에서, 단계(860)로부터 단계(882)를 통해 제 1 반복 세트가 메모리 셀들의 그룹에 대한 제 1 논리적 페이지를 프로그래밍하기 위해 사용되고, 그리고 단계들(860-882)를 통해 제 2 반복 세트가 메모리 셀들의 그룹에 대한 제 2 논리적 페이지를 프로그래밍하기 위해 사용될 수 있다.
프로그래밍될 메모리 셀들은 단계(850)에서 소거된다, 단계(850)는 프로그래밍될 메모리 셀들보다 더 많은 메모리 셀들을 소거하는 것을 포함한다(예를 들어, 블럭 단위 혹은 다른 단위로). 단계(852)에서, 소프트 프로그래밍이 소거된 메모리 셀들에 대한 소거된 임계 전압의 분포를 좁히기 위해 수행된다. 일부 메모리 셀들은 소거 프로세스의 결과로서 필요한 것보다 더 깊은 소거 상태에 있을 수 있다. 소프트 프로그래밍은 소거된 메모리 셀들의 임계 전압을 소거된 검증 레벨에 더 가깝게 이동시키기 위해 작은 프로그래밍 펄스들을 인가할 수 있다. 이것은 소거된 메모리 셀들에 대해 좁은 분포를 제공한다. 단계(854)에서 데이터 로드 컴맨드(data load command)가 제어기(318)에 의해 발행되고, 컴맨드 회로(314)에 입력되어, 데이터가 데이터 입력/출력 버퍼(312)에 입력되게 된다. 입력 데이터는 컴맨드로서 인식되고, 컴맨드 회로(314)에 입력되는 미도시된 컴맨드 래치 신호를 통해 상태 머신(316)에 의해 래치된다. 단계(856)에서, 페이지 어드레스를 지정하는 어드레스 데이터가 호스트로부터 로우 제어기(row controller)(306)에 입력된다. 입력 데이터는 페이지 어드레스로서 인식되고, 그리고 상태 머신(316)을 통해 래치되며, 이것은 컴맨드 회로(314)에 입력되는 어드레싱된 래치 신호에 의해 일어난다. 단계(858)에서, 어드레싱된 페이지에 대한 프로그램 데이터의 페이지는 프로그래밍을 위한 데이터 입력/출력 버퍼(312)에 입력된다. 예를 들어, 532 바이트의 데이터가 예시적 실시예에서 입력될 수 있다. 입력 데이터가 선택된 비트 라인에 대해 적절한 레지스터에 래치된다. 일부 실시예들에서, 데이터는 또한 검증 동작을 위해 사용될 선택된 비트 라인에 대해 제 2 레지스터에 래치된다. 단계(860)에서, 프로그램 컴맨드가 제어기에 의해 발행되고, 그리고 데이터 입력/출력 버퍼(312)에 입력된다. 컴맨드가 컴맨드 회로(314)에 입력된 컴맨드 래치 신호를 통해 상태 머신(316)에 의해 래치된다.
프로그램 컴맨드에 의해 트리거되고, 단계(858)에서 래치된 데이터가 상태 머신(316)에 의해 제어되는 선택된 메모리 셀들로 프로그래밍된다. 도 6의 프로그램 전압 신호에서 도시된 것들과 같은 스템핑된 프로그램 전압 펄스들을 사용하여, 프로그램 전압 신호가 프로그래밍되는 셀들의 페이지 혹은 다른 단위에 대응하는 적절한 워드 라인에 인가된다. 단계(862)에서, Vpgm, 즉, 프로그래밍 펄스 전압 레벨이 시작 펄스(예를 들어, 12V)로 초기화되고, 그리고 상태 머신(316)에 의해 유지되는 프로그램 카운터(Program Counter, PC)가 제로에서 초기화된다. 단계(864)에서, 제 1 Vpgm 펄스가 선택된 워드 라인에 인가된다. 만약 로직 제로가 대응하는 메모리 셀이 프로그래밍되어야 한다고 표시하는 특정 데이터 래치에 저장된다면, 대응하는 비트 라인은 접지된다. 반면에, 만약 로직 1이 대응하는 메모리 셀이 현재의 데이터 상태에서 유지되어야 한다고 표시하는 특정 데이터 래치에 저장된다면, 대응하는 비트 라인은 VDD에 연결되어 프로그래밍을 금지시킨다.
단계(866)에서, 선택 메모리 셀들의 상태가 검증된다. 지금까지, 도 15에 도시된 프로세스는 공지된 기술에 따라 진행된다. 그러나, 단계(866)에서 프로세스는 선택 레벨의 더 정확한 판독을 용이하게 하는 비균등하게 이격된 마진들을 생성하기 위한 신규한 기술을 포함한다. 더 큰 마진이 두 개의 프로그래밍 상태들 간에 생성된다. 일 실시예에서, 더 큰 마진이 더 낮은 레벨들 간에 생성되고, 반면에 가장 높은 상태는 공칭 위치에서 유지된다. 일 실시예에서, 더 큰 마진이 상태(B)와 상태(A) 사이에 존재하도록 검증이 수행된다. 다른 실시예들에서, 가장 높은 레벨 상태 혹은 더 높은 레벨 상태는 또한 이러한 레벨들에서의 더 큰 검증 전압을 사용함으로써 양의 방향으로 시프트될 수 있다. 그러나, 전체적으로 더 높은 양의 전압으로 분포를 시프트하는 것은, 전압 레벨(예를 들어, Vpgm)이 프로그램 방해를 최소화시키는 것 등과 같은 그러한 이유로 특정 최대 레벨로 유지되어야 하는 일부 실시예에서는 수용될 수 없다.
일 실시예에서, 비균등하게 이격된 검증 레벨이 비균등 마진을 생성하기 위해 단계(866)에서 사용된다. 도 14에 도시된 바와 같이, 제 2 프로그래밍 상태(B)에 대한 검증 레벨(Vvb1)이 제 1 프로그래밍 상태, 즉 상태(A)에 대한 검증 레벨로 부터, 제 3 프로그래밍 상태, 즉 상태(C)에 대한 검증 레벨이 제 2 프로그래밍 상태, 즉 상태(B)에 대한 검증 레벨로부터 이격되어 있는 양과는 다른 양만큼 이격되어 있다. 검증 레벨(Vva, Vvb 및 Vvc)은 그들의 특정 상태에 대해 가장 낮은 최소 임계 전압을 정의한다. 비균등하게 이격된 검증 레벨을 사용함으로써, 상태(A)와 상태(B) 사이에 생성되는 마진은 상태(B)와 상태(C) 사이에 생성되는 마진보다 더 크다.
인가된 기준 전압으로 감지한 이후에, 데이터 래치들 모두가 단계(868)에서 로직 1을 저장하고 있는지 여부가 점검된다. 만약 그렇다면, 프로그램 프로세스는 완료되고 그리고 성공적인데, 왜냐하면, 모든 선택된 메모리 셀들은 그들의 타겟 상태에 프로그래밍되고 검증되었기 때문이다. 패스의 상태가 단계(876)에서 보고된다. 만약 단계(868)에서 데이터 래치들 모두가 로직 1을 저장하고 있는 것이 아니라고 결정된다면, 프로세스는 프로그램 카운터(PC)가 프로그램 리미트 값에 대하여 점검되는 단계(872)에서 계속된다. 프로그램 리미트 값의 일 예는 20이지만, 다양한 실시예에서는 다른 값들이 사용될 수도 있다. 만약 프로그램 카운터(PC)가 20보다 작지 않다면, 단계(874)에서 비성공적으로 프로그래밍된 메모리 셀들의 개수가 미리 결정된 개수보다 작은지 혹은 미리 결정된 개수와 동일한지 여부가 결정된다. 만약 비성공적으로 프로그래밍된 셀들의 개수가 이러한 개수와 동일하거나 혹은 이러한 개수보다 더 적다면, 프로세스는 패스된 것으로 플래그되고, 그리고 패스의 상태가 단계(876)에서 보고된다. 성공적으로 프로그래밍되지 않은 비트들은 판독 프로세스 동안 에러 정정을 사용하여 정정될 수 있다. 만약 비성공적으로 프로그래 밍된 메모리 셀들이 미리 결정된 개수보다 더 크다면, 프로그램 프로세스는 실패로 플래그 되고, 그리고 실패의 상태가 단계(878)에서 보고된다. 만약 프로그램 카운터(PC)가 20보다 작다면, Vpgm 레벨은 스텝 사이즈만큼 증가되고, 그리고 프로그램 카운터(PC)가 단계(880)에서 증분된다. 단계(880) 이후에, 프로세스는 단계(864)로 되돌아가 다음 Vpgm 펄스를 인가한다.
설명된 바와 같이, 단계(866)는, 비균등하게 이격된 마진이 프로그래밍된 메모리 셀들에 대해 존재하도록, 비균등하게 이격된 검증 레벨의 사용을 포함한다. 도 16은 도 15의 단계(866)의 일 실시예를 나타낸 것이다. 단계(882)에서, 제 1 프로그래밍 상태 검증 레벨(Vva)이 인가된다. 단계(884)에서, 비트 라인이 각각의 비트 라인에서 메모리 셀에 인가된 Vva로 감지된다. 단계(886)에서, 그 결과가 상태(A)로 프로그래밍되는 셀들에 대해 저장된다. 단계(886)는 비트 라인에 대한 데이터 래치를, 프로그래밍이 그 메모리 셀에 대해 계속 중이라는 것을 표시하는 로직 1에 설정하거나, 또는 메모리 셀이 타겟 레벨 있거나 혹은 타겟 레벨 보다 위에 있어 그 메모리 셀에 대한 프로그래밍은 정지되어야만 하는 것을 표시하는 로직 0에 설정하는 것을 포함할 수 있다. 단계(888)에서, 제 2 프로그래밍 상태 검증 레벨(Vvb1)이 검증되는 각각의 메모리 셀에 인가된다. 검증 레벨(Vvb1)이 제1의 양만큼 검증 레벨(Vva)로부터 이격되어 있다. 예를 들어, Vva 및 Vvbl는 약 0.8V와 동일한 양만큼 서로 떨어져 있을 수 있다. 단계(890)에서, 비트 라인들은 각각의 메모리 셀에 인가된 Vvb1으로 감지된다. 그 결과가, 대응하는 메모리 셀이 그 타겟 레벨에 도달했는지 여부를 각각의 비트 라인에 대한 데이터 래치에서 지시함으로써 892에서 저장된다. 단계(894)에서, 제 3 검증 레벨(Vvc)이 제 3 프로그래밍 상태에 대해 인가된다. 검증 레벨(Vvc)이 Vva 및 Vvb1을 분리시키는 제1의 양과는 다른 제2의 양만큼 검증 레벨(Vvb1)로부터 이격되어 있다. 도 14에 도시된 바와 같이, 검증 레벨 Vvb1 및 Vvc 간의 간격은 검증 레벨 Vva 및 Vvbl 간의 간격보다 더 작다. 단계(896)에서, 비트 라인은 각각의 메모리 셀에 인가된 Vvc로 감지된다. 단계(898)에서, 예를 들어, 셀들이 후속 프로그래밍을 경험해야 하는지 여부를 데이터 래치에서 표시함으로써, 상태(C)로 프로그래밍되는 셀들에 대한 결과가 저장된다.
박스(891 및 899)에서 도시된 바와 같이, 비균등하게 이격된 검증 레벨로 인해, 결과적으로 상태 A와 B 간의 제 1 크기의 마진과 상태 B와 C 간의 제 2 크기의 마진이 생긴다. 상태 A와 B 간의 마진은 시프트된 Vvb 검증 레벨로 인해 상태 B와 C 간의 마진보다 더 크다.
도 17은 특정된 하나 또는 그 이상의 페이지 혹은 다른 데이터 그룹을 판독하려는 요청에 응답하여 수행되는 데이터 판독을 위한 전체 프로세스를 나타낸 흐름도이다. 다른 실시예들에서, 도 17의 프로세스는 종래 판독 프로세스에 응답하여 에러를 검출한 이후의 데이터 복구 동작의 일부로서 수행될 수 있다. 도 12A 내지 도 12C의 프로세스에 따라 프로그래밍되는 데이터를 판독할 때, 이웃하는 셀들의 아래쪽 페이지의 프로그래밍으로 인해 플로팅 게이트 커플링으로부터의 임의의 섭동(perturbation)이, 해당 셀의 위쪽 페이지를 프로그래밍할 때 정정된다. 따라서, 이웃하는 셀들로부터의 플로팅 게이트 커플링 영향을 보상하고자 할 때, 프로세스 는 단지 이웃하는 셀들의 위쪽 페이지의 프로그래밍으로 인한 커플링 영향만을 고려할 필요가 있다.
도 17의 단계(902)에서, 해당 워드 라인에 이웃하는 후속적으로 프로그래밍되는 워드 라인에 대한 위쪽 페이지 데이터가 판독된다. 만약 이웃하는 워드 라인의 위쪽 페이지가 단계(904)에서 결정된 바와 같이 프로그래밍되지 않는다면, 해당 워드 라인 혹은 페이지는 단계(908)에서 플로팅 게이트 커플링 영향을 보상함이 없이 판독된다. 만약 이웃하는 워드 라인의 위쪽 페이지가 프로그래밍 된다면, 해당 페이지가 단계(906)에서 플로팅 게이트 커플링 영향에 대한 보상을 사용하여 판독된다. 일부 실시예들에서 이웃하는 워드 라인의 셀들을 판독함으로써, 결과적으로 이웃하는 워드 라인 상의 전하 레벨이 결정되고, 이것은 이웃하는 워드 라인 상에 저장된 데이터를 정확히 반영할 수도 있고 반영하지 않을 수도 있다.
일 실시예에서, 메모리 어레이는 하나 또는 그 이상의 플래그들을 저장하기 위해 메모리 셀들의 세트를 보유한다. 예를 들어, 메모리 셀들의 컬럼은 메모리 셀들의 각각의 로우들의 아래쪽 페이지가 프로그래밍되었는지 여부를 나타내는 플래그를 저장하기 위해 사용될 수 있고, 그리고 또 다른 컬럼이 메모리 셀들의 각각의 로우들에 대한 위쪽 페이지가 프로그래밍되었는지 여부를 나타내는 플래그를 저장하기 위해 사용될 수 있다. 적절한 플래그를 점검함으로써, 이웃하는 워드 라인에 대한 위쪽 페이지가 프로그래밍되었는지 여부가 결정될 수 있다. 이러한 플래그 및 프로그래밍에 대한 프로세스에 대한 더 상세한 설명은 미국 특허 번호 제6,657,891호(발명자: Shibata 등, 발명의 명칭: "Semiconductor Memory Device For Storing Multi-Valued Data")에서 찾을 수 있으며, 이러한 문헌은 그 전체가 참조로 본 명세서에 통합된다.
도 18은 도 17의 단계(902)에서 사용될 수 있는 이웃하는 워드 라인에 대한 위쪽 페이지 데이터를 판독하는 프로세스의 일 실시예를 나타낸다. 판독 기준 전압(Vrc)이 단계(910)에서 워드 라인에 인가되고, 그리고 단계(912)에서 비트 라인이 앞서 설명된 바와 같이 감지된다. 감지의 결과가 단계(914)에서 적절한 래치에 저장된다. 먼저 Vrc에서의 판독이 위쪽 페이지 데이터를 고유하게(uniquely) 결정하기 위해 선택되는데, 왜냐하면, 아래쪽 페이지 데이터는 정상적으로 이미 WLn+1에 기입되었기 때문이고, 그리고 Vra 또는 Vrb에서의 판독은 고유한 결과를 보장하지 않는데, 왜냐하면 중간 분포(B')(도 12B)는 이러한 값들과 오버랩할 수 있기 때문이다.
단계(916)에서, 판독되는 페이지와 관련된 위쪽 페이지 프로그래밍을 나타내는 플래그가 점검된다. 만약 플래그가 단계(918)에서 결정된 바와 같이 설정되지 않았다면, 프로세스는 위쪽 페이지가 단계(920)에서 프로그래밍되지 않았다는 결론과 함께 종료된다. 만약 플래그가 설정된다면, 위쪽 페이지가 프로그래밍되었다고 가정된다. 판독 기준 전압(Vrb)이 단계(922)에서 판독되는 페이지와 관련된 워드 라인에 인가된다. 단계(924)에서, 비트 라인들이 감지되고 그리고 그 결과가 단계(926)에서 적절한 래치에 저장된다. 단계(928)에서, 판독 기준 전압(Vra)이 인가된다. 단계(930)에서, 비트 라인이 감지되고, 그리고 그 결과가 단계(932)에서 적절한 래치에 저장된다. 단계(934)에서, 판독되는 메모리 셀들 각각에 의해 저장된 데이터 값은 감지 단계(12, 924 및 930)의 결과에 근거하여 결정된다. 데이터 값들이 궁극적으로 사용자에게 전달하기 위해 단계(936)에서 적절한 데이터 래치에 저장될 수 있다. 위쪽 페이지 및 아래쪽 페이지 데이터는 선택된 특정 상태 인코딩에 따라 달라지는 공지된 로직 기술을 사용하여 결정된다. 도 12A 내지 도 12C에서 설명된 예시적 코딩에 대해, 아래쪽 페이지 데이터는 vrb*(Vrb에서 판독시 저장된 값의 보수(complement))이고, 그리고 위쪽 페이지 데이터는 Vra* OR (Vrb AND Vrc*)이다. 도 18의 프로세스는, 비록 WLn+1을 판독하기 위해 사용되는 것으로서 본 명세서에서 설명되었지만, 아래에서 설명되는 바와 같이 WLn을 판독하기 위해 사용될 수도 있다.
도 19는 이웃하는 워드 라인으로부터의 플로팅 게이트 커플링에 대한 보상이 필요없는 경우(도 17의 단계(908)), 해당 워드 라인의 데이터를 판독하기 위한 실시예를 나타내는 흐름도이다. 단계(950)에서, 해당 워드 라인과 관련된 위쪽 페이지 혹은 아래쪽 페이지가 판독되고 있는지 여부가 결정된다. 만약 위쪽 페이지가 판독되고 있다면, 판독 기준 전압(Vrb)이 단계(952)에서 적절한 워드 라인에 인가된다. 단계(954)에서, 비트 라인이 감지되고, 그리고 단계(956)에서 그 결과가 적절한 래치에 저장된다. 단계(958)에서, 플래그가 해당 페이지가 위쪽 페이지 데이터를 포함하고 있는지 여부를 결정하기 위해 점검된다. 만약 어떠한 플래그도 설정되지 않았다면, 임의의 프로그래밍된 데이터가 중간 상태(B')에 있게 된다. 따라서, Vrb는 임의의 정확한 감지 결과를 만들지 못하고, 그래서 프로세스는 Vra가 워드 라인에 인가되는 단계(960)에서 계속된다. 비트 라인이 단계(962)에서 재감지되 고, 그리고 단계(964)에서 그 결과가 저장된다. 단계(966)에서, 저장될 데이터 값이 결정된다. 일 실시예에서, 만약 메모리 셀이 턴온되고, Vrb(혹은 Vra)가 워드 라인에 인가된다면, 아래쪽 페이지 데이터는 "1"이다. 만약 그렇지 않다면 아래쪽 페이지 데이터는 "0"이다.
만약 페이지 어드레스가 단계(950)에서 위쪽 페이지에 대응하다고 결정된다면, 위쪽 페이지 판독 프로세스가 단계(970)에서 수행된다. 일 실시예에서, 단계(970)에서의 위쪽 페이지 판독은 도 18에서 설명된 방법과 동일한 방법을 포함하고, 이것은 플래그 및 세 개의 상태를 판독하는 것을 포함하는데, 왜냐하면 기입되지 않은 위쪽 페이지가 판독 혹은 또 다른 이유로 처리될 수 있기 때문이다.
도 20은 플로팅 게이트 커플링에 대한 보상을 하면서 데이터를 판독하는 프로세스의 일 예를 나타낸 흐름도이고, 이것은 예를 들어 도 17의 단계(906)에서 수행될 수 있다. 단계(966)에서 플로팅 게이트 커플링에 대한 보상을 위해 오프셋을 사용할지 여부가 결정된다. 단계(966)가 각각의 비트 라인에 대해 개별적으로 수행된다. 이웃하는 워드 라인들로부터의 데이터가 어느 비트 라인 오프셋을 사용할 필요가 있는지를 결정하기 위해 사용된다. 만약 이웃하는 셀이 상태 E 또는 B에 있다면, 판독되는 워드 라인에서의 메모리 셀은 감지 동안 인가되는 보상을 필요로 하지 않는다. 만약 WLn+1에서의 셀이 상태 E에 있다면, 어떠한 커플링에도 기여하지 못하는데, 왜냐하면 임계 전압이 해당 워드 라인이 기입되기 전과 동일하기 때문이다. 만약 WLn+1에서의 셀이 상태 B에 있다며, 중간 상태(B')로부터 프로그래밍되고, 이것은 전하에서의 작은 변화이고, 그리고 대부분의 경우에 무시될 수 있다. 판독 오프셋은 상태 A 또는 상태 C에서 WLn+1에서의 이웃하는 메모리 셀을 갖는 WLn 상의 그러한 셀들에 대해 사용된다.
만약 단계(967)에서, 판독되는 페이지가 아래쪽 페이지라고 결정된다면, Vrb가 단계(968)에서 판독되는 페이지와 관련된 워드 라인에 인가된다. Vrb에서의 판독은 도 12A 내지 도 12C에 도시된 인코딩에 대한 아래쪽 페이지 데이터를 결정하기에 충분하다. 단계(969)에서, 비트 라인이 감지되고, 그리고 단계(970)에서, 그 결과가 비트 라인들에 대해 적절한 래치에 저장된다. 도 14에 도시된 바와 같이, 어떠한 보상 오프셋들이 Vrb 레벨에서 인가되지 않았고, 그래서 단계(969)에서 단지 아래쪽 페이지 감지만이 수행된다. 상태 A와 B 간의 더 큰 마진을 생성하도록 셀들이 프로그래밍 되기 때문에, 정확한 판독이 커플링 보상 없이 성취될 수 있다. 아래쪽 페이지에 대한 데이터가 단계(971)에서 결정된다. 만약 셀이 Vrb에 응답하여 턴온된다면, 아래쪽 페이지 데이터는 1이고, 만약 그렇지 않으면 아래쪽 페이지 데이터는 0이다. 단계(972)에서, 아래쪽 페이지 데이터는 사용자에게 전달하기 위해 적절한 래치에 저장된다.
만약 단계(967)에서 판독되는 페이지가 위쪽 페이지라고 결정된다면, 위쪽 페이지는 단계(976)에서 보상을 사용하여 판독된다. 도 21은 오프셋 판독 기준 레벨을 사용하는 위쪽 페이지 판독을 설명하는 흐름도이다. 도 21의 단계(974)에서, 판독 기준 전압(Vrc)이 판독되는 페이지와 관련된 워드 라인에 인가된다. 비트 라인이 단계(975)에서 감지되고, 그리고 그 결과가 단계(976)에서 적절한 래치에 저장된다. 단계(977)에서, Vrc와 오프셋(예를 들어 0.1V)의 합이 판독되는 페이지와 관련된 워드 라인에 인가된다. 단계(978)에서, 비트 라인이 감지되고, 그리고 단계(979)에서 단계(978)에서의 감지의 결과가 사용되어 단계(976)에서 저장된 결과를, 오프셋이 요구되는 임의의 비트 라인에 대해 오버라이팅(overwriting)하는데 사용된다. 단계(980)에서, Vrb가 워드 라인에 인가되고, 그리고 단계(981)에서 비트 라인이 감지된다. 단계(981)에서의 감지의 결과가 단계(982)에서 저장된다. Vra가 단계(983)에서 판독되는 페이지와 관련된 워드 라인에 인가된다. 비트 라인이 단계(984)에서 감지되고, 그리고 단계(985)에서 그 결과가 적절한 래치에 저장된다. 도 20에서, 상태(E)와 상태(A) 간의 자연적으로 발생하는 마진이 Vra와 관련된 오프셋이 불필요할 정도로 충분하다고 가정한다. 다른 실시예에서, Vra 레벨에 대한 오프셋이 사용될 수 있다. 데이터 값이 단계(986)에서 결정되고, 단계(987)에서 데이터 값이 사용자로의 전달을 위해 적절한 데이터 래치에 저장된다. 다른 실시예들에서, 판독의 순서(Vrc, Vrb, Vra)는 변경될 수 있다.
본 발명의 앞서의 상세한 설명은 예시적이고 설명적 목적으로 제공되는 것이다. 개시되는 형태만이 정확히 본 발명의 전부가 되는 것이 아니며 또는 본 발명을 이러한 개시되는 형태에 정확히 한정시키려는 것도 아니다. 많은 수정 및 변형이 앞서의 설명으로부터 가능하다. 본 발명의 원리를 가장 잘 설명하기 위해서, 그리고 그 실질적인 애플리케이션의 원리를 가장 잘 설명하기 위해서, 그럼으로써 본 발명의 기술분야에서 숙련된 기술을 가진 다른 사람들이 다양한 실시예들 및 특정 사용에 적합한 것으로 고려되는 다양한 수정된 형태로 본 발명을 가장 잘 이용할 수 있도록 하기 위해, 상기 설명된 실시예들이 선택되었다. 본 발명의 범위는 아래 에 첨부되는 특허청구범위에 의해 정의된다.

Claims (26)

  1. 비휘발성 저장장치(non-volatile storage)를 판독하는 방법으로서,
    제 1 비휘발성 저장 소자를 판독하기 위한 요청을 수신하는 단계와;
    상기 요청에 응답하여 제 2 비휘발성 저장 소자를 판독하는 단계와, 여기서 상기 제 2 비휘발성 저장 소자는 상기 제 1 비휘발성 저장 소자에 인접하여 있고 그리고 적어도 네 개의 물리적 상태들로 데이터를 저장할 수 있으며,
    제 1 프로그래밍 상태와 제 2 프로그래밍 상태 사이의 레벨에서 상기 제 1 비휘발성 저장 소자를 판독하기 위해 제 1 기준을 인가하는 단계와;
    상기 제 2 프로그래밍 상태와 제 3 프로그래밍 상태 사이의 레벨에서 상기 제 1 비휘발성 저장 소자를 판독하기 위해 제 2 기준을 인가하는 단계와;
    제 1 레벨에서 상기 제 1 기준을 인가한 결과 및 제 2 레벨에서 상기 제 2 기준을 인가한 결과를 사용하여, 상기 제 2 비휘발성 저장 소자가 상기 물리적 상태들의 제 1 서브세트에 있을 때, 상기 제 1 비휘발성 저장 소자의 데이터를 결정하는 단계와; 그리고
    상기 제 1 레벨에서 상기 제 1 기준을 인가한 결과 및 제 3 레벨에서 상기 제 2 기준을 인가한 결과를 사용하여, 상기 제 2 비휘발성 저장 소자가 상기 물리적 상태들의 제 2 서브세트에 있을 때, 상기 제 1 비휘발성 저장 소자의 데이터를 결정하는 단계를 포함하여 구성되는 것을 특징으로 하는 비휘발성 저장장치를 판독하는 방법.
  2. 제1항에 있어서,
    상기 제 1 레벨에서 상기 제 1 기준의 인가는 상기 제 1 비휘발성 저장 소자와 상기 제 2 비휘발성 저장 소자 간의 플로팅 게이트 커플링을 보상하지 않으며,
    상기 제 2 레벨에서 상기 제 2 기준의 인가는 상기 제 1 비휘발성 저장 소자와 상기 제 2 비휘발성 저장 소자 간의 플로팅 게이트 커플링을 보상하지 않으며, 그리고
    상기 제 3 레벨에서 상기 제 2 기준의 인가는 상기 제 1 비휘발성 저장 소자와 상기 제 2 비휘발성 저장 소자 간의 플로팅 게이트 커플링을 보상하는 것을 특징으로 하는 비휘발성 저장장치를 판독하는 방법.
  3. 제2항에 있어서,
    상기 제 2 비휘발성 저장 소자가 상기 물리적 상태들의 상기 제 2 서브세트에 있을 때, 상기 제 1 비휘발성 저장 소자의 데이터를 결정하는 단계는,
    상기 제 1 비휘발성 저장 소자의 제어 게이트에 상기 제 1 레벨에서의 상기 제 1 기준에 대응하는 제 1 전압을 인가하고 그리고 상기 제 1 비휘발성 저장 소자의 전도(conduction)를 감지하는 것과;
    상기 제 1 비휘발성 저장 소자의 상기 제어 게이트에 상기 제 2 레벨에서의 상기 제 2 기준에 대응하는 제 2 전압을 인가하고 그리고 상기 제 1 비휘발성 저장 소자의 전도를 감지하는 것과;
    상기 제 1 비휘발성 저장 소자의 상기 제어 게이트에 상기 제 3 레벨에서의 상기 제 2 기준에 대응하는 제 3 전압을 인가하고 그리고 상기 제 1 비휘발성 저장 소자의 전도를 감지하는 것과, 상기 제 3 전압은 상기 제 2 전압과 오프셋의 합과 동일하고;
    상기 제 1 전압을 인가한 상기 결과를 선택하고, 상기 제 3 전압을 인가한 상기 결과를 선택하고, 그리고 상기 제 2 전압을 인가한 상기 결과를 무시함으로써, 상기 제 1 비휘발성 저장 소자의 상기 데이터를 결정하는 것을 포함하는 것을 특징으로 하는 비휘발성 저장장치를 판독하는 방법.
  4. 제3항에 있어서,
    상기 오프셋은 상기 제 1 비휘발성 저장 소자와 상기 제 2 비휘발성 저장 소자 간의 상기 플로팅 게이트 커플링에 근거하는 상기 제 1 비휘발성 저장 소자의 임계 전압에서의 겉보기 변화(apparent change)와 실질적으로 동일한 것을 특징으로 하는 비휘발성 저장장치를 판독하는 방법.
  5. 제1항에 있어서,
    상기 제 1 비휘발성 저장 소자는 제 1 워드 라인에 연결된 비휘발성 저장 소자들의 세트의 일부이고, 상기 방법은,
    상기 제 1 프로그래밍 상태, 상기 제 2 프로그래밍 상태, 및 상기 제 3 프로그래밍 상태를 포함하는 복수의 물리적 상태들에 상기 비휘발성 저장 소자들의 세트를 프로그래밍하는 단계와;
    상기 제 1 프로그래밍 상태에 프로그래밍될 상기 세트의 비휘발성 저장 소자들이 상기 제 1 프로그래밍 상태에 대응하는 제 1 타겟 레벨에 도달했는지 여부를 검증하는 단계와;
    상기 제 2 프로그래밍 상태에 프로그래밍될 상기 세트의 비휘발성 저장 소자들이 상기 제 2 프로그래밍 상태에 대응하는 제 2 타겟 레벨에 도달했는지 여부를 검증하는 단계와, 상기 제 2 타겟 레벨은 상기 제 1 타겟 레벨로부터 제1의 양만큼 이격되어 있고;
    상기 제 3 프로그래밍 상태에 프로그래밍될 상기 세트의 비휘발성 저장 소자들이 상기 제 3 프로그래밍 상태에 대응하는 제 3 타겟 레벨에 도달했는지 여부를 검증하는 단계를 더 포함하여 구성되며,
    상기 제 3 타겟 레벨은 상기 제 2 타겟 레벨로부터 상기 제1의 양보다 작은 제2의 양만큼 이격되어 있는 것을 특징으로 하는 비휘발성 저장장치를 판독하는 방법.
  6. 제1항에 있어서,
    상기 물리적 상태들의 제 1 서브세트는 상기 제 1 프로그래밍 상태 및 상기 제 3 프로그래밍 상태를 포함하고, 그리고
    상기 물리적 상태들의 제 2 서브세트는 상기 제 2 프로그래밍 상태 및 소거 상태를 포함하는 것을 특징으로 하는 비휘발성 저장장치를 판독하는 방법.
  7. 제6항에 있어서,
    상기 제 1 프로그래밍 상태는 상기 소거 상태 및 상기 제 2 프로그래밍 상태에 인접하여 있고, 그리고
    상기 제 2 프로그래밍 상태는 상기 제 1 프로그래밍 상태 및 상기 제 3 프로그래밍 상태에 인접하여 있는 것을 특징으로 하는 비휘발성 저장장치를 판독하는 방법.
  8. 제1항에 있어서,
    상기 제 2 비휘발성 저장 소자는 위쪽 페이지 데이터 및 아래쪽 페이지 데이터를 저장하고,
    상기 요청에 응답하여 상기 제 2 비휘발성 저장 소자를 판독하는 단계는 상기 제 2 비휘발성 저장 소자에 대해 상기 위쪽 페이지 데이터를 판독하는 것을 포함하고,
    상기 제 2 기준에 대한 상기 제 1 레벨 및 상기 제 2 레벨은 상기 제 2 비휘발성 저장 소자에 대해 상기 위쪽 페이지 데이터에는 근거하지만 상기 아래쪽 페이지 데이터에는 근거하지 않으며,
    상기 물리적 상태들의 제 1 서브세트는 상기 위쪽 페이지에 대해 제 1 데이터를 저장하는 상기 제 2 비휘발성 저장 소자에 대응하고,
    상기 물리적 상태들의 제 2 서브세트는 상기 위쪽 페이지에 대해 제 2 데이터를 저장하는 상기 제 2 비휘발성 저장 소자에 대응하는 것을 특징으로 하는 비휘발성 저장장치를 판독하는 방법.
  9. 제1항에 있어서,
    상기 제 1 비휘발성 저장 소자는 제 1 논리적 페이지 및 제 2 논리적 페이지에 대해 데이터를 저장하고,
    상기 제 2 비휘발성 저장 소자는 제 3 논리적 페이지 및 제 4 논리적 페이지에 대해 데이터를 저장하고,
    상기 제 1 비휘발성 저장 소자에 의해 저장된 상기 제 2 논리적 페이지에 대한 상기 데이터는, 상기 제 2 비휘발성 저장 소자에 의해 저장된 상기 제 3 논리적 페이지에 대한 상기 데이터를 프로그래밍한 이후 상기 제 2 비휘발성 저장 소자에 의해 상기 제 4 논리적 페이지에 대해 저장된 상기 데이터를 프로그래밍하기 이전에, 프로그래밍되는 것을 특징으로 하는 비휘발성 저장장치를 판독하는 방법.
  10. 제1항에 있어서,
    상기 제 1 비휘발성 저장 소자는 제 1 워드 라인에 연결되고,
    상기 제 2 비휘발성 저장 소자는 상기 제 1 워드 라인에 인접한 제 2 워드 라인에 연결되고,
    여기서, 상기 제 1 워드 라인에 연결된 비휘발성 저장 소자들에 대한 데이터의 프로그래밍은, 상기 제 2 워드 라인에 연결된 비휘발성 저장 소자들에 대한 데이터의 프로그래밍이 시작되기 전에, 시작되는 것을 특징으로 하는 비휘발성 저장장치를 판독하는 방법.
  11. 제1항에 있어서,
    상기 제 1 비휘발성 저장 소자는 복수 상태 NAND 플래시 메모리 디바이스인 것을 특징으로 하는 비휘발성 저장장치를 판독하는 방법.
  12. 삭제
  13. 제1항에 있어서,
    상기 제 1 비휘발성 저장 소자는 플래시 메모리 디바이스들의 어레이의 일부이고,
    상기 어레이는 호스트 시스템으로부터 탈착가능한 것을 특징으로 하는 비휘발성 저장장치를 판독하는 방법.
  14. 비휘발성 메모리 시스템으로서,
    적어도 네 개의 물리적 상태들로 데이터를 저장할 수 있는 복수의 비휘발성 저장 소자들과;
    상기 복수의 비휘발성 저장 소자들과 통신하는 관리 회로를 포함하여 구성되며,
    상기 관리 회로는 제 1 비휘발성 저장 소자를 판독하기 위한 요청을 수신하고, 그리고 상기 요청에 응답하여 상기 제 1 비휘발성 저장 소자에 인접한 제 2 비휘발성 저장 소자를 판독하고,
    상기 관리 회로는 제 1 프로그래밍 상태와 제 2 프로그래밍 상태 사이의 레벨에서 상기 제 1 비휘발성 저장 소자를 판독하기 위해 제 1 기준을 인가함으로써, 그리고 상기 제 2 프로그래밍 상태와 제 3 프로그래밍 상태 사이의 레벨에서 상기 제 1 비휘발성 저장 소자를 판독하기 위해 제 2 기준을 인가함으로써, 상기 제 1 비휘발성 저장 소자를 판독하고,
    상기 관리 회로는 제 1 레벨에서 상기 제 1 기준을 인가한 결과 및 제 2 레벨에서 상기 제 2 기준을 인가한 결과를 사용하여, 상기 제 2 비휘발성 저장 소자가 상기 물리적 상태들의 제 1 서브세트에 있을 때, 상기 제 1 비휘발성 저장 소자의 데이터를 결정하고,
    상기 관리 회로는 상기 제 1 레벨에서 상기 제 1 기준을 인가한 결과 및 제 3 레벨에서 상기 제 2 기준을 인가한 결과를 사용하여, 상기 제 2 비휘발성 저장 소자가 상기 물리적 상태들의 제 2 서브세트에 있을 때, 상기 제 1 비휘발성 저장 소자의 데이터를 결정하는 것을 특징으로 하는 비휘발성 메모리 시스템.
  15. 제14항에 있어서,
    상기 제 1 레벨에서 상기 제 1 기준의 인가는 상기 제 1 비휘발성 저장 소자와 상기 제 2 비휘발성 저장 소자 간의 플로팅 게이트 커플링을 보상하지 않으며,
    상기 제 2 레벨에서 상기 제 2 기준의 인가는 상기 제 1 비휘발성 저장 소자와 상기 제 2 비휘발성 저장 소자 간의 플로팅 게이트 커플링을 보상하지 않으며, 그리고
    상기 제 3 레벨에서 상기 제 2 기준의 인가는 상기 제 1 비휘발성 저장 소자와 상기 제 2 비휘발성 저장 소자 간의 플로팅 게이트 커플링을 보상하는 것을 특징으로 하는 비휘발성 메모리 시스템.
  16. 제15항에 있어서,
    상기 관리 회로는,
    상기 제 1 비휘발성 저장 소자의 제어 게이트에 상기 제 1 레벨에서의 상기 제 1 기준에 대응하는 제 1 전압을 인가하고 상기 제 1 비휘발성 저장 소자의 전도를 감지함으로써; 그리고
    상기 제 1 비휘발성 저장 소자의 상기 제어 게이트에 상기 제 2 레벨에서의 상기 제 2 기준에 대응하는 제 2 전압을 인가하고 상기 제 1 비휘발성 저장 소자의 전도를 감지함으로써; 그리고
    상기 제 1 비휘발성 저장 소자의 상기 제어 게이트에 상기 제 3 레벨에서의 상기 제 2 기준에 대응하는 제 3 전압을 인가하고 상기 제 1 비휘발성 저장 소자의 전도를 감지함으로써, 여기서 상기 제 3 전압은 상기 제 2 전압과 오프셋의 합과 동일하며; 그리고
    상기 제 1 전압을 인가한 상기 결과를 선택하고, 상기 제 3 전압을 인가한 상기 결과를 선택하고, 그리고 상기 제 2 전압을 인가한 상기 결과를 무시함으로써,
    상기 제 2 비휘발성 저장 소자가 상기 물리적 상태들의 상기 제 2 서브세트에 있을 때, 상기 제 1 비휘발성 저장 소자의 데이터를 결정하는 것을 특징으로 하는 비휘발성 메모리 시스템.
  17. 제16항에 있어서,
    상기 오프셋은 상기 제 1 비휘발성 저장 소자와 상기 제 2 비휘발성 저장 소자 간의 상기 플로팅 게이트 커플링에 근거하는 상기 제 1 비휘발성 저장 소자의 임계 전압에서의 겉보기 변화와 실질적으로 동일한 것을 특징으로 하는 비휘발성 메모리 시스템.
  18. 제14항에 있어서,
    상기 제 1 비휘발성 저장 소자는 제 1 워드 라인에 연결된 비휘발성 저장 소자들의 세트의 일부이고, 상기 관리 회로는,
    상기 제 1 프로그래밍 상태, 상기 제 2 프로그래밍 상태, 및 상기 제 3 프로그래밍 상태를 포함하는 복수의 물리적 상태들에 상기 비휘발성 저장 소자들의 세트를 프로그래밍하고;
    상기 제 1 프로그래밍 상태에 프로그래밍될 상기 세트의 비휘발성 저장 소자들이 상기 제 1 프로그래밍 상태에 대응하는 제 1 타겟 레벨에 도달했는지 여부를 검증하고;
    상기 제 2 프로그래밍 상태에 프로그래밍될 상기 세트의 비휘발성 저장 소자들이 상기 제 2 프로그래밍 상태에 대응하는 제 2 타겟 레벨에 도달했는지 여부를 검증하고, 여기서 상기 제 2 타겟 레벨은 상기 제 1 타겟 레벨로부터 제1의 양만큼 이격되어 있으며;
    상기 제 3 프로그래밍 상태에 프로그래밍될 상기 세트의 비휘발성 저장 소자들이 상기 제 3 프로그래밍 상태에 대응하는 제 3 타겟 레벨에 도달했는지 여부를 검증하고,
    여기서 상기 제 3 타겟 레벨은 상기 제 2 타겟 레벨로부터 상기 제1의 양보다 작은 제2의 양만큼 이격되어 있는 것을 특징으로 하는 비휘발성 메모리 시스템.
  19. 제14항에 있어서,
    상기 물리적 상태들의 제 1 서브세트는 상기 제 1 프로그래밍 상태 및 상기 제 3 프로그래밍 상태를 포함하고, 그리고
    상기 물리적 상태들의 제 2 서브세트는 상기 제 2 프로그래밍 상태 및 소거 상태를 포함하는 것을 특징으로 하는 비휘발성 메모리 시스템.
  20. 제19항에 있어서,
    상기 제 1 프로그래밍 상태는 상기 소거 상태 및 상기 제 2 프로그래밍 상태에 인접하여 있고, 그리고
    상기 제 2 프로그래밍 상태는 상기 제 1 프로그래밍 상태 및 상기 제 3 프로그래밍 상태에 인접하여 있는 것을 특징으로 하는 비휘발성 메모리 시스템.
  21. 제14항에 있어서,
    상기 제 2 비휘발성 저장 소자는 위쪽 페이지 데이터 및 아래쪽 페이지 데이터를 저장하고,
    상기 요청에 응답하여 상기 제 2 비휘발성 저장 소자를 판독하는 것은 상기 제 2 비휘발성 저장 소자에 대해 상기 위쪽 페이지 데이터를 판독하는 것을 포함하고,
    상기 제 2 기준에 대한 상기 제 1 레벨 및 상기 제 2 레벨은 상기 제 2 비휘발성 저장 소자에 대해 상기 위쪽 페이지 데이터에는 근거하지만 상기 아래쪽 페이지 데이터에는 근거하지 않으며,
    상기 물리적 상태들의 제 1 서브세트는 상기 위쪽 페이지에 대해 제 1 데이터를 저장하는 상기 제 2 비휘발성 저장 소자에 대응하고,
    상기 물리적 상태들의 제 2 서브세트는 상기 위쪽 페이지에 대해 제 2 데이터를 저장하는 상기 제 2 비휘발성 저장 소자에 대응하는 것을 특징으로 하는 비휘발성 메모리 시스템.
  22. 제14항에 있어서,
    상기 제 1 비휘발성 저장 소자는 제 1 논리적 페이지 및 제 2 논리적 페이지에 대해 데이터를 저장하고,
    상기 제 2 비휘발성 저장 소자는 제 3 논리적 페이지 및 제 4 논리적 페이지에 대해 데이터를 저장하고,
    상기 제 1 비휘발성 저장 소자에 의해 저장된 상기 제 2 논리적 페이지에 대한 상기 데이터는, 상기 제 2 비휘발성 저장 소자에 의해 저장된 상기 제 3 논리적 페이지에 대한 상기 데이터를 프로그래밍한 이후 상기 제 2 비휘발성 저장 소자에 의해 상기 제 4 논리적 페이지에 대해 저장된 상기 데이터를 프로그래밍하기 이전에, 프로그래밍되는 것을 특징으로 하는 비휘발성 메모리 시스템.
  23. 제14항에 있어서,
    상기 제 1 비휘발성 저장 소자는 제 1 워드 라인에 연결되고,
    상기 제 2 비휘발성 저장 소자는 상기 제 1 워드 라인에 인접한 제 2 워드 라인에 연결되고,
    여기서, 상기 제 1 워드 라인에 연결된 비휘발성 저장 소자들에 대한 데이터의 프로그래밍은, 상기 제 2 워드 라인에 연결된 비휘발성 저장 소자들에 대한 데이터의 프로그래밍이 시작되기 전에, 시작되는 것을 특징으로 하는 비휘발성 메모리 시스템.
  24. 제14항에 있어서,
    상기 제 1 비휘발성 저장 소자는 복수 상태 NAND 플래시 메모리 디바이스인 것을 특징으로 하는 비휘발성 메모리 시스템.
  25. 삭제
  26. 제14항에 있어서,
    상기 제 1 비휘발성 저장 소자는 플래시 메모리 디바이스들의 어레이의 일부이고,
    상기 어레이는 호스트 시스템으로부터 탈착가능한 것을 특징으로 하는 비휘발성 메모리 시스템.
KR1020087023382A 2006-06-19 2007-05-25 비휘발성 메모리에서 개선된 판독 동작을 위해 선택 상태에서 보상을 사용하여 감지 및 다른 크기의 마진 프로그래밍 KR101020812B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11/425,111 US7606084B2 (en) 2006-06-19 2006-06-19 Programming differently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory
US11/425,116 2006-06-19
US11/425,116 US7352628B2 (en) 2006-06-19 2006-06-19 Systems for programming differently sized margins and sensing with compensations at select states for improved read operations in a non-volatile memory
US11/425,111 2006-06-19

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020107019325A Division KR101041595B1 (ko) 2006-06-19 2007-05-25 비휘발성 메모리에서 개선된 판독 동작을 위해 선택 상태에서 보상을 사용하여 감지 및 다른 크기의 마진 프로그래밍

Publications (2)

Publication Number Publication Date
KR20080111458A KR20080111458A (ko) 2008-12-23
KR101020812B1 true KR101020812B1 (ko) 2011-03-09

Family

ID=38834213

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020107019325A KR101041595B1 (ko) 2006-06-19 2007-05-25 비휘발성 메모리에서 개선된 판독 동작을 위해 선택 상태에서 보상을 사용하여 감지 및 다른 크기의 마진 프로그래밍
KR1020087023382A KR101020812B1 (ko) 2006-06-19 2007-05-25 비휘발성 메모리에서 개선된 판독 동작을 위해 선택 상태에서 보상을 사용하여 감지 및 다른 크기의 마진 프로그래밍

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020107019325A KR101041595B1 (ko) 2006-06-19 2007-05-25 비휘발성 메모리에서 개선된 판독 동작을 위해 선택 상태에서 보상을 사용하여 감지 및 다른 크기의 마진 프로그래밍

Country Status (5)

Country Link
JP (1) JP4912460B2 (ko)
KR (2) KR101041595B1 (ko)
CN (1) CN102306501B (ko)
TW (2) TWI451422B (ko)
WO (1) WO2007149678A2 (ko)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7639532B2 (en) * 2007-10-10 2009-12-29 Micron Technology, Inc. Non-equal threshold voltage ranges in MLC NAND
US7800956B2 (en) * 2008-06-27 2010-09-21 Sandisk Corporation Programming algorithm to reduce disturb with minimal extra time penalty
KR101671313B1 (ko) 2008-07-01 2016-11-01 엘에스아이 코포레이션 플래시 메모리 디바이스 판독 방법 및 시스템
JP5535220B2 (ja) 2008-09-30 2014-07-02 エルエスアイ コーポレーション デコーダ性能フィードバックを使用するメモリ・デバイス用の軟データ生成の方法および装置
US7813181B2 (en) 2008-12-31 2010-10-12 Sandisk Corporation Non-volatile memory and method for sensing with pipelined corrections for neighboring perturbations
US8775913B2 (en) 2010-03-31 2014-07-08 Lsi Corporation Methods and apparatus for computing soft data or log likelihood ratios for received values in communication or storage systems
US8429500B2 (en) 2010-03-31 2013-04-23 Lsi Corporation Methods and apparatus for computing a probability value of a received value in communication or storage systems
US8504885B2 (en) 2010-03-31 2013-08-06 Lsi Corporation Methods and apparatus for approximating a probability density function or distribution for a received value in communication or storage systems
JP2012069192A (ja) * 2010-09-22 2012-04-05 Toshiba Corp メモリシステム
US9292377B2 (en) 2011-01-04 2016-03-22 Seagate Technology Llc Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values
US9898361B2 (en) 2011-01-04 2018-02-20 Seagate Technology Llc Multi-tier detection and decoding in flash memories
US9502117B2 (en) * 2011-03-14 2016-11-22 Seagate Technology Llc Cell-level statistics collection for detection and decoding in flash memories
CN102347069B (zh) * 2011-05-26 2013-04-03 忆正存储技术(武汉)有限公司 多层式存储闪存阵列的编程方式及其切换控制方法
US9030870B2 (en) * 2011-08-26 2015-05-12 Micron Technology, Inc. Threshold voltage compensation in a multilevel memory
US8934306B2 (en) * 2012-03-06 2015-01-13 Micron Technology, Inc. Memory and sense parameter determination methods
US9146850B2 (en) * 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US11443175B2 (en) * 2018-07-11 2022-09-13 Silicon Storage Technology, Inc. Compensation for reference transistors and memory cells in analog neuro memory in deep learning artificial neural network
US11081189B1 (en) * 2020-02-25 2021-08-03 Micron Technology, Inc. Charge loss compensation

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867429A (en) 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US6657891B1 (en) 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5870335A (en) * 1997-03-06 1999-02-09 Agate Semiconductor, Inc. Precision programming of nonvolatile memory cells
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
US6781877B2 (en) * 2002-09-06 2004-08-24 Sandisk Corporation Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells
US6963505B2 (en) * 2002-10-29 2005-11-08 Aifun Semiconductors Ltd. Method circuit and system for determining a reference voltage
JP3935139B2 (ja) * 2002-11-29 2007-06-20 株式会社東芝 半導体記憶装置
JP3878573B2 (ja) * 2003-04-16 2007-02-07 株式会社東芝 不揮発性半導体記憶装置
JP3913704B2 (ja) * 2003-04-22 2007-05-09 株式会社東芝 不揮発性半導体記憶装置及びこれを用いた電子装置
US6956770B2 (en) * 2003-09-17 2005-10-18 Sandisk Corporation Non-volatile memory and method with bit line compensation dependent on neighboring operating modes
US6888758B1 (en) * 2004-01-21 2005-05-03 Sandisk Corporation Programming non-volatile memory
US7020017B2 (en) * 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory
US7173859B2 (en) * 2004-11-16 2007-02-06 Sandisk Corporation Faster programming of higher level states in multi-level cell flash memory
JP4177847B2 (ja) * 2006-01-06 2008-11-05 株式会社東芝 不揮発性半導体記憶装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5867429A (en) 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US6657891B1 (en) 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data

Also Published As

Publication number Publication date
TW201124991A (en) 2011-07-16
WO2007149678A2 (en) 2007-12-27
CN102306501A (zh) 2012-01-04
WO2007149678A3 (en) 2008-04-10
KR20080111458A (ko) 2008-12-23
TW200805381A (en) 2008-01-16
CN102306501B (zh) 2014-03-19
TWI451422B (zh) 2014-09-01
KR101041595B1 (ko) 2011-06-15
KR20100111735A (ko) 2010-10-15
TWI336080B (en) 2011-01-11
JP2009541910A (ja) 2009-11-26
JP4912460B2 (ja) 2012-04-11

Similar Documents

Publication Publication Date Title
KR101020812B1 (ko) 비휘발성 메모리에서 개선된 판독 동작을 위해 선택 상태에서 보상을 사용하여 감지 및 다른 크기의 마진 프로그래밍
KR100916679B1 (ko) 복수-레벨 셀 플래시 메모리에서 더 높은 레벨 상태들의 더빠른 프로그래밍
US7606084B2 (en) Programming differently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory
US7352628B2 (en) Systems for programming differently sized margins and sensing with compensations at select states for improved read operations in a non-volatile memory
EP2345038B1 (en) Multi-pass programming for memory using word line coupling
EP2181446B1 (en) Reducing the impact of interference during programming
KR101736414B1 (ko) 다른 메모리 셀들로부터의 영향을 감소시키는 것을 포함하는 비휘발성 저장 소자의 프로그래밍
KR101564399B1 (ko) 비휘발성 메모리에서의 판독 디스터브 완화
TWI424436B (zh) 於非揮發性儲存器中在讀取操作時耦合的補償
JP4954223B2 (ja) フローティングゲート結合に対する補償を伴う不揮発性記憶装置に対する読み出し動作
KR101094422B1 (ko) 결합 보상을 포함하는 비휘발성 메모리 판독 동작들에 대한 마지닝된 이웃 판독
KR20110056423A (ko) 비휘발성 메모리에서의 감지 동안 데이터 상태에 기반하는 온도 보상
EP2078303B1 (en) Reading of a nonvolatile memory cell by taking account of the stored state of a neighboring memory cell
CN102385924A (zh) 借助非易失性存储器的循环的开始编程电压偏移
KR101012132B1 (ko) 다른 전압들을 이용한 비휘발성 저장 장치에 대한 검증 동작
EP2315212A1 (en) Reducing the impact of program disturb during read
WO2008083162A1 (en) Retention margin program verification
JP2009533795A (ja) 読み出し中におけるプログラム外乱による影響の軽減

Legal Events

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

Payment date: 20140204

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150130

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160127

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170201

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180201

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190129

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200129

Year of fee payment: 10