KR100904752B1 - 인접 메모리 셀과의 필드 커플링에 의해 영향을 받는메모리 셀로부터 데이터를 복원시키는 기법 - Google Patents

인접 메모리 셀과의 필드 커플링에 의해 영향을 받는메모리 셀로부터 데이터를 복원시키는 기법 Download PDF

Info

Publication number
KR100904752B1
KR100904752B1 KR1020030002677A KR20030002677A KR100904752B1 KR 100904752 B1 KR100904752 B1 KR 100904752B1 KR 1020030002677 A KR1020030002677 A KR 1020030002677A KR 20030002677 A KR20030002677 A KR 20030002677A KR 100904752 B1 KR100904752 B1 KR 100904752B1
Authority
KR
South Korea
Prior art keywords
memory cells
data
reservoirs
group
charge levels
Prior art date
Application number
KR1020030002677A
Other languages
English (en)
Other versions
KR20030063144A (ko
Inventor
첸지안
팜롱씨.
알렉산더케이. 마크
Original Assignee
쌘디스크 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 쌘디스크 코포레이션 filed Critical 쌘디스크 코포레이션
Publication of KR20030063144A publication Critical patent/KR20030063144A/ko
Application granted granted Critical
Publication of KR100904752B1 publication Critical patent/KR100904752B1/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
    • 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/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Dram (AREA)
  • Semiconductor Memories (AREA)
  • Image Processing (AREA)

Abstract

본 발명은 메모리 셀들의 인접 열을 후속적으로 프로그래밍하는 결과로서 메모리 셀들의 1개 열에 저장된 겉보기 전하 레벨의 저하를 극복하는 기술이다. 후속적으로 프로그래밍된 열의 데이터를 저장한 후, 그 셀의 전하 레벨들이 공통 레벨로 구동된다. 셀들의 제 1 열의 전하 레벨들이 그후 제 2 열의 전하 레벨로부터 균일한 영향을 가지며, 결국, 제 1 열에 저장된 데이터를 계속적으로 판독하는 기회가 상당히 증가된다.
메모리 셀, 필드 커플링, 데이터 복원

Description

인접 메모리 셀과의 필드 커플링에 의해 영향을 받는 메모리 셀로부터 데이터를 복원시키는 기법{TECHNIQUES OF RECOVERING DATA FROM MEMORY CELLS AFFECTED BY FIELD COUPLING WITH ADJACENT MEMORY CELLS}
도 1은 본 발명이 구현된 예시적인 메모리 시스템과 연산을 개략적으로 도시한다;
도 2는 도 1의 시스템의 메모리 셀들의 어레이내에서 메모리 셀들의 저장 엘리먼트의 평면도이다;
도 3a와 3b는 본 발명의 1개 어플리케이션을 도시하는 프로그래밍된 메모리 셀 분포 곡선이다;
도 4는 도 1-3b의 메모리 시스템의 연산의 일 예를 제공하는 순서도이다;
도 5a, 5b 및 5c는 본 발명이 구현된 3가지 유형의 메모리 셀 어레이의 예시적인 구조와 연산을 도시한다;
도 6a와 6b는 데이터를 현존 비-휘발성 메모리 셀 어레이의 특정 유형으로 프로그래밍하기 위한 기술을 나타낸다;
도 6c는 도 8에 도시된 특정 연산의 부분으로서 수행되는 다른 프로그래밍 기술을 도시한다;
도 7은 비-휘발성 메모리 셀들을 프로그래밍시키도록 사용된 반복 프로그래 밍 펄스의 1개 포맷을 도시하며, 이는 도 6a, 6b 및 6c에 도시되어 있다; 및
도 8은 정규 데이터 프로그래밍이 도 6a와 6b에 도시된 현존 비-휘발성 메모리 셀 어레이의 특정 유형의 연산을 나타내는 순서도이다.
<도면의 주요 부호에 대한 간단한 설명>
11 : 블럭 13 : 제어기
17 : 어드레스 디코더 19 : 프로그램 및 판독
21 : RAM 23 : ECC
본 발명은 일반적으로 데이터 메모리의 분야에 관한 것이며, 더 상세하게는, 전도성 플로팅 게이트 또는 전자 저장 엘리먼트로서 유전 물질을 활용하는 플래시 전기적 소거 및 프로그램 가능한 판독 전용 메모리(flash EEPROMs)를 포함하지만 이에 제한되지 않는 전자 전하의 레벨로서 데이터를 저장하는 유형의 메모리들에 관한 것이다.
플래시 EEPROM 어레이의 각 저장 엘리먼트가, 저장 엘리먼트 트랜지스터의 임계 레벨의 2개 범위가 저장 레벨로서 규정된, 이진 모드로 연산하여 데이터의 단일 비트를 저장하는 것이 현재의 상업 제품에서 일반적이다. 트랜지스터들의 임계 레벨들은 그 저장 엘리먼트에 저장된 전하 레벨의 범위에 부합한다. 메모리 어레이의 사이즈를 축소시키는것 외에, 추세는 각 저장 엘리먼트 트랜지스터에 1개 이상 비트를 저장함으로써 그러한 메모리 어레이의 데이터 저장의 밀도를 증가시키는 것이다. 이는 2개 이상의 임계 레벨들을 각 저장 엘리먼트 트랜지스터에 대한 저장 상태, 상업 제품으로 현재 포함되고 있는 4개의 그러한 상태(저장 엘리먼트 당 2비트의 데이터)로서 규정함으로써 달성된다. 더 많은 저장 상태, 이를 테면 저장 엘리먼트 당 16개 상태가 고려된다. 각 저장 엘리먼트 메모리 트랜지스터는 실제적으로 연산되는 임계 전압의 총 범위(윈도우)를 가지며, 그 범위는 상태들이 서로간에 명확하게 구별지울 수 있도록 상태들간의 마진을 더하여 범위에 대해 규정된 상태들의 개수로 분할된다.
각 메모리 셀에 저장된 상태들의 개수가 증가함에 따라, 저장 엘리먼트에 프로그래밍된 전하 레벨에서 임의 시프트의 허용오차는 감소한다. 각 저장 상태에 대해 지정된 전하의 범위들이 필연적으로 더 협소하게 이루어지며 각 메모리 셀 저장 엘리먼트에 저장된 상태들의 개수가 증가함에 따라 서로 더 근접하게 위치되어야 하고, 프로그래밍은 증가된 정밀도로 수행되어야 하며 허용될 수 있는 저장된 저장 레벨에서 사후-프로그래밍 시프트의 정도는, 실제적이거나 또는 겉보기 시프트이건간에, 감소된다. 하나의 셀에 저장된 전하에 대한 실제적인 방해는 그 셀을 프로그래밍 및 판독할 때, 그리고 그 셀과 어느 정도의 전기적 커플링을 갖는 다른 셀들을 판독, 프로그래밍, 및 삭제할 때 야기될 수 있다.
저장된 전하 레벨에서 겉보기 시프트는 저장 엘리먼트들간의 필트 커플링때문에 발생할 수 있다. 이러한 커플링의 정도는 메모리 셀 어레이의 사이즈가 감소됨에 따라 필연적으로 증가되며, 이는 집적 회로 제조 기술의 개선의 결과로서 일 어난다. 상기 문제점은 상이한 시간에 프로그래밍되었던 2개 그룹의 인접 셀들간에 가장 명백하게 발생한다. 셀들의 1개 그룹은 데이터의 1개 세트에 부합하는 저장 엘리먼트에 전하 레벨을 부가하도록 프로그래밍된다. 셀의 제 2 그룹이 데이터의 제 2 세트로 프로그래밍된 후, 셀들의 제 1 그룹의 저장 엘리먼트들로부터 판독된 전하 레벨들은 상기 제 1 그룹과 용량성으로 커플링되는 저장 엘리먼트의 제 2 그룹상의 전하 효과 때문에 프로그래밍된 것보다도 상이한 것으로 종종 나타난다. 이는 유핀 효과로서 공지되어 있으며, 미국 특허 제5,867,429호에 기술되어 있고, 이 특허는 전적으로 참조로서 본문에 포함된다. 이 특허는 저장 엘리먼트의 2개 그룹을 서로 물리적으로 분리시키거나, 또는 제 1 그룹의 셀을 판독할 때 저장 엘리먼트의 제 2 그룹에 대한 전하의 효과를 고려하는 것을 기술한다.
자기 디스크 저장 시스템을 포함하는 본문에 기술된 메모리 시스템의 유형에 있어서 뿐만 아니라 다른 유형에 있어서, 저장되는 데이터의 무결성은 에러 보정 기술을 사용하여 유지된다. 가장 일반적으로, 에러 보정 코드(ECC)는 하나의 시간에 저장되는 각 섹터 또는 다른 유니트에 대해 계산되며, 그 ECC는 데이터와 함께 저장된다. ECC는 ECC가 계산되었던 유저 데이터의 섹터와 함께 가장 일반적으로 저장된다. 이 데이터가 메모리로부터 판독될 때, ECC는 판독되는 유저 데이터의 무결성을 결정하는데 사용된다. 데이터 섹터 내에서 데이터의 1개 또는 몇개의 에러 비트들은 종종 ECC를 사용하여 보정될 수 있지만 더 많은 에러의 존재는 의도된 데이터 판독을 실패로 만든다. 그러므로, 인접한 메모리 셀들과의 근접한 필드 커플링 때문에 부정확하게 판독되는 비트들의 존재는 의도된 데이터 판독을 실패로 초래할 수 있다.
ECC를 사용하여 또는 다른 방법으로 실패한 것으로 결정되었던, 제 1 그룹의 메모리 셀의 실패한 판독으로부터 유효한 데이터를 복원시킬 수 있기 위해서, 적어도 인접한 메모리 셀들의 제 2 그룹의 데이터는, 판독되는 제 1 그룹과 커플링된 필드이며, 다른 경우에 임시적으로 또는 영구적으로 판독 및 기록되며, 이어서 제 2 그룹에서 셀들의 프로그래밍된 레벨을 메모리 셀들의 제 2 그룹에 오리지날로 기록된 데이터가 정확하게 판독되도록 하는 레벨로 조정한다. 이상적으로, 메모리 셀들의 제 2 그룹의 프로그래밍된 레벨들은 셀들의 제 1 그룹이 판독되는 데이터로 프로그래밍되었들 때 존재하는 레벨로 리턴된다. 셀들의 제 2 그룹으로부터 커플링된 필드들은 그후 제 1 그룹이 프로그래밍되었들 때 동일해지므로, 데이터는 그후 제 1 그룹으로부터 정확하게 판독된다. 그러나 제 2 그룹을 제 1 그룹이 프로그래밍되었을 때 존재하는 조건으로 리턴시키는 것이 종종 실용적이지 못하는데, 왜냐하면 초기 조건이 공지되지 않았거나 다른 이유 때문에, 제 2 그룹의 셀들의 프로그래밍된 레벨은 이와 달리 공통 레벨(common level), 일반적으로 메모리 시스템의 가장 높은 프로그래밍 레벨로 조정된다.
본 발명은 다양한 유형의 플래시 EEPROM 셀 어레이로 구현될 수 있다. NOR 어레이의 한가지 설계는 인접 비트(행(column)) 라인들에 연결된 메모리 셀들과 워드(열(row)) 라인에 연결된 제어 게이트들을 갖는다. 개개의 셀들은 셀과 직렬로 형성된 셀렉트 트랜지스터를 지니거나 지니지 않은 하나의 저장 엘리먼트 트랜지스 터, 또는 단일 셀렉트 트랜지스터에 의해 구분되는 2개의 저장 엘리먼트를 포함한다. 저장 시스템에서 그러한 에러이와 그 사용의 예들은 참조로 본문에 포함된 샌디스크 코포레이션의 하기 미국 특허와 계류중인 특허출원들에 제시되어 있다: 특허 제5,095,344호, 제5,172,338호, 제5,602,987호, 제5,663,901호, 제5,430,859호, 제5,657,332호, 제5,712,180호, 제6,091,633호, 제6,103,573호 및 제6,151,248호 그리고 2000년 2월 17일 제출된 특허출원 제09/505,555호, 2000년 9월 22일 제출된 제09/667,344호, 2001년 8월 8일 제출된 제09/925,102호, 및 2001년 8월 8일 제출된 제09/925,134호.
NAND 어레이의 한가지 설계는 비트 라인과 기준 전위간에 셀렉트 트랜지스터를 통하여 어느 일단에서 일련의 스트링으로 연결된 다수의 메모리 셀들, 이를 테면 8, 16, 또는 심지어 32개를 갖는다. 워드 라인들은 서로 다른 일련의 스트링간에 셀들의 제어 게이트로 연결된다. 그러한 어레이들과 그 연산의 관련 예들은 참조로 본문에 포함된 하기 미국 특허와 특허출원에 제시되어 있다: 특허 제5,570,315호 및 제6,046,935호, 그리고 2001년 6월 27일 제출된 특허출원 제09/893,277호. 간략하게, 인입 데이터의 상이한 로직 페이지로부터의 2비트 데이터는, 데이터의 1개 비트에 따라 셀을 1개 상태로 프로그래밍하고 그후, 데이터가 필요로 한다면, 인입 데이터의 제 2 비트에 따라 그 셀을 그 상태들중 하나로 재-프로그래밍하는, 2개 단계로 개별 셀들의 4개 상태중 하나로 프로그래밍된다.
상기 관련 특허와 특허출원들은 전도성 플로팅 게이트를 메모리 셀 저장 엘리먼트로서 사용하는 플래시 EEPROM 시스템을 기술한다. 이와 달리, 플로팅 게이트 대신에 전하 트랩핑 유전 물질을 사용하는 메모리 셀을 지닌 플래시 EEPROM 시스템들은 대체로 동일 방식으로 연산된다. 이러한 예들은 참조로 분문에 포함되는 "Multi-State Non-Volatile Integrated Circuit Memory Systems that Employ Dielectric Storage Elements"로 표제되어 Harai 등에 의해 2001년 10월 31일 제출된 미국 특허출원 제10/002,696호에 포함되어 있다. 인접 메모리 셀들의 유전 저장 엘리먼트들간의 필드 커플링은 또한 그러한 메모리 시스템으로부터 판독된 데이터의 정확성에 영향을 끼친다.
본 발명의 부가적인 양태, 특징 및 이점들은 예시적인 실시예의 하기 상세한 설명으로부터 이해될 수 있으며, 이 설명은 첨부 도면과 관련하여 읽어야 한다.
본 발명과 예시적인 구현예를 설명하기 위해서, 예시적인 대량 메모리 시스템의 주요 구성요소의 상호관계의 일반적인 도면이 도 1에 나타나 있다. 이러한 시스템의 주요 구성요소는 메모리(11), 이를 테면 반도체 기판에 형성된 메모리 셀들의 어레이이며, 데이터의 1개 이상의 비트들은 전하의 2개 이상의 레벨들중 하나를 메모리 셀의 개별 저장 엘리먼트에 저장시킴으로써 개별 메모리 셀에 저장된다. 비-휘발성 플래시 EEPROM은 이 예에서 사용된 그러한 시스템의 메모리의 일반 유형이다.
도 1의 메모리 시스템의 두번째 주요 구성요소는 제어기(13)이다. 상기 제어기(13)는 데이터를 저장하기 위해 메모리 시스템을 사용하는 호스트 컴퓨터 또는 다른 시스템에 버스(15)를 거쳐 교신한다. 제어기(13)는 또한 메모리 셀 어레이(11)의 연산을 제어하여 호스트에 의해 제공된 데이터를 기록하며, 상기 호스트에 의해 요청된 데이터를 판독하고 메모리 연산시에 다양한 하우스키핑 기능을 수행한다. 제어기(13)는 통상 관련된 비-휘발성 소프트 메모리, 다양한 로직 회로 등을 지닌 범용 마이크로프로세서를 포함한다. 1개 이상의 상태 머신은 특정 루틴의 수행을 제어하기 위해 종종 또한 포함된다.
메모리 셀 어레이(11)는 어드레스 디코더(17)들을 통하여 제어기(13)에 의해 어드레싱된다. 디코더(17)들은 제어기(13)에 의해 어드레싱되는 메모리 셀들의 그룹에 데이터를 프로그래밍, 그룹으로부터 데이터를 판독, 또는 그룹을 삭제하기 위해서 상기 어레이(11)의 비트 라인과 게이트에 옳바른 전압을 제공한다. 부가 회로(19)는 셀의 어드레싱된 그룹으로 프로그래밍되는 데이터에 좌우하는 어레이의 엘리먼트에 인가되는 전압을 제어하는 프로그래밍 구동기를 포함한다. 상기 회로(19)는 메모리 셀들의 어드레스된 그룹으로부터 데이터를 판독하는데 필요한 감지 증폭기와 다른 회로들을 또한 포함한다. 상기 회로(17 및 19)의 다양한 특정 형태는 이미 배경 기술 부분에서 확인된 특허와 특허출원에 기술되어 있다. 어레이에 프로그래밍되는 데이터, 또는 어레이로부터 최근에 판독된 데이터는 통상 제어기(13)내의 버퍼 메모리(21)에 저장된다. 상기 제어기(13)는 또한 커맨트 및 상태 정보 등을 임시적으로 저장하기 위한 다양한 레지스터를 일반적으로 포함한다.
상기 어레이(11)는 수많은 블럭(BLOCKS 0-N)의 메모리 셀로 분할된다. 플래시 EEPROM 시스템에 일반적인 것처럼, 블럭은 삭제의 단위이다. 즉, 각 블럭은 함께 삭제되는 최소 개수의 메모리 셀을 포함한다. 각 블럭은 통상 도 1에 도시된 것 처럼 수많은 페이지들로 분할된다. 페이지는 프로그래밍의 단위이다. 즉, 기본 프로그래밍 연상은 데이터를 셀들중 최소 1개 페이지에 기록한다. 데이터의 1개 이상 섹터들은 각 페이지내에 저장된다. 도 1에 나타난 것처럼, 1개 섹터는 유저 데이터와 오버헤드 데이터를 포함한다. 오버헤드 데이터는 통상 섹터의 유저 데이터로부터 계산되었던 ECC를 포함한다. 제어기(13)의 일부분(23)은 데이터가 상기 어레이(11)로 프로그래밍될 때 계산하며, 또한 데이터가 상기 어레이(11)로부터 판독될 때 데이터를 검사한다. 이와 달리, ECC들은 ECC가 관련있는 유저 데이터보다도 상이한 페이지, 또는 상이한 블럭에 저장된다.
유저 데이터의 섹터는 통상 자기 디스크 드라이브에서 섹터의 사이즈에 부합하는 512바이트이다. 오버헤드 데이터는 통상 부수적인 28바이트이다. 데이터의 1개 섹터는 가장 일반적으로 각 페이지에 포함되지만 2개 이상의 섹터들은 대신에 페이지를 형성한다. 수많은 페이지들은 예를 들면 8페이지에서 512, 1024 또는 그 이상 페이지사이 정도의 블럭을 형성한다. 블럭의 개수는 바람직한 데이터 저장 능력을 메모리 시스템에 제공하기 위해 선택된다. 상기 어레이(11)는 통상 몇개의 서브-어레이로 분할되며(도시되지 않음). 그 각각은 블럭의 일부분을 포함하며, 이는 다양한 메모리 연산의 수행시 병렬의 정도를 증가시키기 위해서 다소 서로 독립적으로 연산한다. 다중 서브-어레이의 용례는 참조로 본문에 포함된 미국 특허 제5,890,192호에 기술되어 있다.
도 2는 엘리먼트의 열들간에 용량성 커플링(점선)을 도시하기 위해서 저장 엘리먼트의 배치를 메모리 셀들의 어레이로 나타낸다. 예를 들면, 열(35)의 저장 엘리먼트(25)를 고려하면, 각각의 인접 열(37과 39)들에서 저장 엘리먼트에 커플링된 필드이다. 상기 저장 엘리먼트(25)는 엘리먼트들의 근접성 때문에 저장 엘리먼트(27과 31)와 가장 가깝게 커플링되지만 또한 더 멀리 있는 저장 엘리먼트(26, 28, 32 및 30)와 적은 정도의 커플링을 갖는다. 2개의 저장 엘리먼트간에 커플링의 양은 엘리먼트들간의 거리, 엘리먼트들간에 절연 물질의 유전 상수, 엘리먼트들간에 전도성 표면이 있는지 여부 등에 좌우한다.
비록 도 2는 저장 엘리먼트들의 열들간에 필드 커플링만을 도시하지만, 그러한 커플링은 또한 저장 엘리먼트들의 행들간에도 존재한다. 이는 본문에 기술된 예들에서는 고려되고 있지 않는데 왜냐하면, 이들 예에서, 데이터는 개별 열의 단위로 메모리 셀에 프로그래밍되며, 열들간의 커플링은 프로그래밍된 레벨에서 겉보기 시프트의 원인인 것으로 밝혀졌다. 예를 들면, 데이터가 열(35)의 저장 엘리먼트에 특징 전하 레벨로서 프로그래밍된다면, 인접 열(37과 39)의 어느 일측 또는 양측에서 전하 레벨의 차후 변동은 그후 열(35)의 저장 엘리먼트로부터 판독되는 겉보기 전하 레벨에서의 시프트를 야기시킬 것이다. 열(35)의 특정 저장 엘리먼트로부터 판독된 겉보기 전하 레벨에서 그러한 시프트의 양은 전하가 레벨에서 차후 변동되는 다른 저장 엘리먼트와의 커플링 정도와 그 전하의 양에 좌우한다. 차후 변동이 데이터를 인접 열로 프로그래밍시킴으로써 야기될 때, 각 열로 프로그래밍된 데이터의 패턴들이 모니터링되지 않고 그 효과의 계산이 각 판독 연산의 부분으로서 이루어지지 않는다면 시프트의 양은 알 수 없다.
도 3a는 메모리 셀의 제 2 그룹, 이를 테면 셀들의 인접 열의 차후 프로그래 밍으로 메모리 셀의 제 1 그룹, 이를 테면 셀들의 열에 대한 효과의 예를 나타낸다. 이 예에서, 4개의 겉보기 전하 레벨들은 각 저장 엘리먼트에 대해 규정되어 각 저장 엘리먼트에 2비트의 데이터를 저장한다. 저장 엘리먼트에 저장된 전하의 레벨이 그 메모리 셀 트랜지스터의 임계 전압(Vth)을 변동시키므로, 임계 전압은 도 3a의 곡선의 수평축에 나타나 있다. 고딕선은 프로그래밍된 후, 어떠한 변동도 인접 페이지들에 이루어지기 전에 페이지에서 모든 셀들의 임계 전압의 개수의 분포를 나타낸다. 수직축은 각 임계 전압에서 셀들의 개수이며, 곡선은 본래 가우스 분포를 갖는다. 곡선(45)는 삭제 상태에 있는 셀의 분포이며, 이 예에서, 프로그래밍 상태의 비트(11)로서 지시되어 있다. 셀의 블럭이 삭제될 때, 셀들은 11 상태로 리셋된다.
다른 프로그래밍 상태들(47, 49 또는 51)중 하나로 프로그래밍되는 페이지의 각 셀은 그 임계값이 셀로 프로그래밍되는 데이터(10, 00 또는 01)에 각각 부합하는 상태에 도달할 때 까지 그 저장 엘리먼트에 주입되는 전자를 갖는다. 적합한 프로그래밍 기술은 상기 배경 기술에서 확인된 다른 특허에 기술되어 있다. 간략하게, 프로그래밍되는 페이지의 셀들은 페이지의 용량의 부분인 데이터의 청크(chunk), 또는 어레이와 시스템이 허용한다면, 전체 페이지와 병렬로 프로그래밍된다. 10 상태로 프로그래밍된 셀들은 이와 달리 프로그래밍 전압으로 펄스가 가해지고 그후 판독 임계 레벨(V10)을 사용하여 검증된다. 셀이 상기 임계 레벨(V10)로 프로그래밍되었다고 결정될 때, 프로그래밍은 그 셀에 관하여 정지하지만 아직 그 검증 레벨에 도달하지 못한 다른 셀들에 대해서 지속한다. 00으로 프로그래밍되면, 검증 레벨 V00이 사용된다. 01로 프로그래밍되면, 검증 레벨 V01이 사용된다. 각각의 분포(45, 47, 49 및 51)에 할당된 특정 데이터 비트 쌍은 도 3a에 나타난 것과 상이하며, 심지어 어레이의 마모를 균일하게 하기 위해서 메모리 시스템의 연산중에 회전될 수 있다.
각 셀의 상태가 모호하지 않게 판독될 수 있도록 상태(45, 47, 49 및 51)간에 충분한 마진을 유지하는 것이 바람직하다. 상기와 같이 프로그래밍된 셀들의 페이지가 판독되게 될 때, 그들의 상태는 이들 상태간의 마진내에서 기준 임계 레벨에 개별적으로 비교된다. 이것들은 도 3a의 예에서 R10(VT=0), R00 및 R 01로서 나타나 있다. 물론, 이용가능한 임계 윈도우를 완전히 사용할 수 있기 위해서, 동수의 상이한 상태들은 도시된 것처럼 실질적으로 4개의 상태로 포함되어 있다. 또 다른 예는 16개 상태이다. 수많은 상태들은 연속적인 펄스에서 작은 전압 증분으로 프로그래밍함으로써 협소해진 분포의 폭으로부터 초래할 수 있지만 프로그래밍을 수행하기 위해서 더 많은 시간을 필요로한다. 따라서, 프로그래밍된 셀 분포만을 협소하거나 또는 이와 함께, 상태들간에 큰 마진에 대한 필요성을 감소시키도록 방법을를 수행하는 것이 바람직하다. 경험적으로, 더 큰 마진은 일반적으로 프로그래밍 이후 발생하는 반복적인 연산 사이클의 결과로서 시프트 또는 확산시키도록 프로그래밍된 셀 분포를 고려하기 위해서 유지된다. 상태들간에 마진의 폭을 감소시킬 수 있기 위해서 그러한 시프팅 또는 확산을 감소시키는 것이 가장 바람직하다.
셀들의 인접 열을 후속적으로 프로그래밍하는 결과로서 발생하는 분포의 확산이 도 3a에 점선으로 나타나 있다. 심지어 상당한 마진이 셀들의 열을 초기 프로그래밍하는 중에 유지될 때 조차, 이들 마진은 상기 분산이 셀들의 인접 열을 차후 프로그래밍의 결과로서 확산할 때 상당히 협소해질 수 있다. 상당수의 셀들이 판독 임계값(R10, R00 및/또는 R01)중 하위에서 상위까지 확산한다면, ECC를 압도하기에 충분한 잘못된 판독일 수 있다. 그러한 경우에, 데이터는 임계값들로 판독될 수 없으며, 그래서 일부 보정 기술이 취하여지지 않는다면 무효로서 지정된다. 과거에 사용되었던 한가지 보정 기술은 확산의 효과를 회피하도록 마진내에서 판독 임계 레벨(R10, R00 및/또는 R01)을 간단히 이동시킴으로써 다시 페이지를 판독하는 것이다. 확산은 각 마진의 양 측으로부터 올 수 있으므로, 이는 인접 상태의 분포가 겹침을 방지하기 위해서 보통 바람직한 것보다도 더 넓게 유지됨을 요구한다. 따라서, 그러한 환경에서 프로그래밍된 상태들간에 넓은 마진을 유지할 것을 요구하지 않는 데이터를 복원시키기 위해서 일부 다른 기술을 취하는 것이 바람직하다.
프로그래밍된 분산들은 인접 페이지로 후속적으로 프로그래밍되는 데이터가 무작위일 때, 즉, 각 저장 엘리먼트에 저장된 상태가 가능한 4가지 상태중 어느 하나일 때 도 3a에 나타난 방식으로 확산하는 것으로 나타난다. 분산(47)의 하위 에지의 레벨로 프로그래밍된 저장 엘리먼트는, 예를 들면, 인접 저장 엘리먼트에 대한 전하 레벨이 후속 프로그래밍중에 변동하지 않는다면 분포(47')에서 동일 레벨을 갖는 것으로 판독될 것이다. 다른 한편으로, 분포(47)의 상위 에지의 레벨로 최 초로 프로그래밍된 저장 엘리먼트는, 인접 저장 엘리먼트들이 삭제 상태(11)에서 가장 높은 상태(01)로 후속적으로 프로그래밍된다면, 상당양(△)정도 증가된 레벨을 갖는 것으로 판독될 것이다. 인접 저장 엘리먼트상의 더 높은 전하 레벨들은 판독되는 레벨의 이전 프로그래밍된 저장 엘리먼트와 커플링된다. 분포(47)의 인접 셀들을 최초 및 차후 프로그래밍하는 다른 조합은 이들 2개 양극단간에 있으므로, 겉보기 분포(47')를 초래한다. 겉보기 분포(47')의 하단부는 동일 레벨에서 유지하지만 그 확산은 △정도 증가된다.
최초 열로부터 판독된 데이터가 무효라면, 데이터를 복원시키도록 극단적인 프로세스가 발생한다. 시스템은 이것이 매우 종종 발생하지 않도록 충분한 마진을 갖지만, 동시에, 필요할 때 그것을 처리하는 기술을 제공하도록 설계되어, 마진이 너무 넓어서 이러한 조건이 결코 발생하지 않도록 만들 필요성을 회피시킨다. 복원프로세스는 차후 프로그래밍된 페이지상의 전하 레벨들을 변동시키는 것을 수반한다. 메모리 어레이가 블럭 당 한 페이지만을 갖는 유형이라면, 후속적으로 프로그래밍된 블럭은 삭제될 수 있다(물론, 데이터를 판독하고 이를 다른 위치에 기록한 이후). 이는 문제성 페이지가 최초로 프로그래밍되었을 때 셀들의 인접 페이지를 그들의 조건으로 리턴시킨다. 그 최초 페이지가 그후 오리지날 분포(45, 47, 49 및 51)를 나타낼 것이며 그후 동일한 판독 기준 레벨로 판독될 수 있어야 한다. 적어도 인접 페이지의 차후 프로그래밍의 효과는 제거되게 된다.
그러나, 대부분의 플래시 EEPROM 시스템들은 블럭이 수많은 페이지를 포함하는 도 1에 도시된 유형이다. 차후 프로그래밍된 페이지는 그후 블럭의 모든 다른 페이지들을 삭제하지 않고는 삭제될 수 없다. 따라서, 그러한 경우에, 전하는 저장 엘리먼트들이 모두 가장 높은 임계 상태에 있을 때 까지 더 프로그래밍시킴으로써 아직 가장 높은 상태에 있지 않은 차후 기록된 페이지의 저장 엘리먼트들에 부가된다. 오리지날로 프로그래밍된 페이지에 대한 결과가 도 3b에 나타나 있으며, 겉보기 분포가 긴축되어 있다. 예를 들면, 분포(47")의 상단부는 도 3a 분포(47')의 상단부처럼 동일하지만, 하단부는 대략 △정도 상향 이동되어 있다. 오리지날로 프로그래밍된 페이지의 모든 저장 엘리먼트는 다른 페이지의 저장 엘리먼트의 높은 전하 레벨의 영향에 의해 위로 올려진다. 오리지날로 프로그래밍된 페이지는 그후 △정도 시프트된 임계값으로 판독되며, 겉보기 분포(45", 47", 49" 및 51")의 동일양이 각 오리지날 분포(45, 47, 49 및 51)로부터 이동되었다. 새로운 판독 임계 레벨들은 도 3b에 도시된 것처럼 R10+△, R00+△, R01+△이다.
데이터의 페이지에 대한 판독 프로세스가 도 4의 순서도에 의해 약술되어 있다. 제 1 단계(55)는 정규 방식으로 유저 데이터와 그 저장된 ECC를 판독하는 것이다. 이는, 예를 들면, 도 2에 도시된 메모리 셀의 열(37)에 의해 형성된 페이지일 수 있다. 판독 데이터는 그후 단계 57에서 ECC와 비교된다. 단계 59에 의해 지시된 것처럼, ECC와의 비교에 의해, 데이터에 어떠한 에러도 없다면, 판독 데이터는 단계 65에 의해 나타난 것처럼 호스트로 전달된다. 이는 대부분의 모든 판독에 대해 뒤따르는 프로세스이다. 다른 경우에, 판독 데이터에서 1개 이상의 비트 에러들이 존재할 경우, 단계 61에 의해 결정된 것처럼 에러들이 보정될 수 있다. 만일 그렇 다면, 판독 데이터가 단계 63에서 보정되며, 보정된 데이터는 그후 단계 65를 통하여 호스트로 전달된다. 유용한 시스템에서 판독된 거의 모든 페이지들이 이 프로세스를 따를 것이다.
데이터가 보정될 수 없는 것으로 단계 61에 의해 결정되는 드문 경우가 아니라면, 상기된 여분의 단계들이 취하여진다. 다음의 인접 페이지, 이를 테면 도 2의 열(35)에 의해 형성된 페이지의 전하 레벨들이 그후 가장 높은 프로그래밍된 레벨로 조정된다. 이 프로세스의 제 1 단계(67)는 다음 페이지로부터 데이터를 판독하는 것이다. 단계 69와 71에 의해 결정된 것처럼, 데이터에 어떠한 에러도 없거나, 또는 단계 73과 75에 의해 달성되는 것처럼, 보정가능한 에러들이 있다면, 이 판독 데이터는 단계 79에 의해 지시된 것처럼 다른 곳에 저장된다. 데이터의 페이지가 메모리 셀 어레이의 다른 페이지로 직접 기록될 수 있거나, 또는 차후 어레이에 기록하기 위해 제어기 메모리에 임시적으로 기록될 수 있다. 페이지(35)의 데이터의 복사가 안전하게 어딘가에 저장된 후, 그 페이지의 저장 엘리먼트의 전하 레벨들은 일반 레벨로, 가장 알맞게는, 정규 프로그래밍 연산의 최대 임계 레벨로 증가된다. 이는 단계 81에 의해 지시되어 있다. 그 레벨이 이미 있는 페이지(35)내에서 그러한 저장 엘리먼트들은 더 프로그래밍되지 않으며, 다른 것들은 각 저장 엘리먼트가 최대 전하를 포함할 때 까지(임계 레벨(01)에 도달할 때 까지) 통상의 프로그맹/검증 사이클을 적용받는다. 이는 시스템의 정규 프로그래밍 연산에 의해 수행될 수 있지만, 물론, 유저 데이터는 프로그래밍되지 않는다. 모든 메모리 셀 트랜지스터들은 가장 높은 01 상태로 프로그래밍된다.
따라서, 단계 83에 의해 지시된 것처럼, 페이지(37)는 도 3b에 관련해 이미 설명된 것처럼 더 높은 판독 임계 레벨로 다시 판독된다. 이 판독 데이터는 그후 단계 85, 87, 89 및 91에 의해 지시된 것처럼 ECC 검사에 적용받는다. 데이터에 어떠한 에러도 없거나, 또는 임의의 에러가 보정될 수 있다면, 판독 데이터는 단계 65에 의해 호스트로 전달된다. 데이터 복원 프로세스는 그후 성공을 이루게 된다. 다른 한편으로, 단계 83에 의해 판독된 데이터는 너무 많은 에러를 가지고 있어서 사용될 수 없다면, 그후 판독될 수 없는 페이지의 어드레스가 단계 93에 의해 지시된 것처럼 저장된다. 의도된 데이터 복원 프로세스가 그후 종결된다. 데이터를 복원시키기 위해 이용가능한 일부 다른 기술이 없다면, 데이터의 페이지는 호스트로 리턴될 수 없다. 그러나, 상기 시스템과 이러한 복원 프로세스는 그러한 절대적 실패가 메모리 어레이의 인접 페이지들간의 필드 커플링으로부터 초래하더라도 극히 드물도록 설계된다.
만일, 단계 73에서, 다음 페이지(35)로부터 판독된 데이터가 에러들이 있으며 보정가능하지 않다면, 다음 단계 77은 실패한 페이지의 어드레스를 저장하고 그후 페이지(37)에 물리적으로 근접한 다음 페이지에 대해 단계 67로 리턴시키며, 도 2의 페이지(39)가 이 페이지이다. 이것이 결정하는 것은 페이지(37과 35)의 양측이 페이지들로부터 데이터를 복원시키도록 적용되는 프로세스를 요구한다는 것이다. 단계 81은 그후 페이지(37과 35)에 근접한 다음 페이지(39)에 적용된다. 단계 95에서, 데이터 판독 단계 83-91은 그후 제 2의 실패한 페이지(35)에 대해 반복되도록 야기된다. 연속하여 2개 이상의 실패한 페이지들이 있다면, 상기 프로세스는 유효 한 데이터가 페이지로부터 판독될 때 까지 각각을 통하여 진행한다.
도 5a는 메모리 셀들의 열들이 적어도 하나의 상업적 NAND 어레이에 사용된 한가지 기술에 따라 프로그래밍되는 시퀀스를 도시한다. 삭제된 블럭의 각 열은 시퀀스에서 교대로 프로그래밍되며, 하나의 열은 메모리의 1개 이상의 페이지를 포함한다. 도 2-4에 관해 상기된 데이터 복원의 상세한 사항은 이러한 유형의 메모리에 적용된다. 페이지들의 열들을 프로그래밍하는 순서는 공지되어 있으므로, 열의 판독 실패이후 기록된 열이 알려진다. 판독 실패한 열의 데이터를 복원시키기 위해서 후속적으로 기록되는 열이 더 높은 상태로 기록된다. 예를 들면, 유효한 데이터가 열(101)로부터 판독될 수 없다면, 후속적으로 프로그래밍된 열(103)의 셀들은 가장 높은 상태로 프로그래밍된다. 그후 데이터는 열(101)로부터 판독되며, 더 유효한 데이터이다. 판독 실패한 페이지의 타측의 인접 열(105)은 그 데이터가 상기 열(101)의 기록 이전에 기록되어 고려될 필요가 없으며, 그러므로 열(105)에 저장된 데이터 레벨들은 열(101)로부터 판독된 겉보기 데이터 레벨들을 변동시키지 않는다.
그러나, 다른 유형의 메모리 시스템에서, 열들을 프로그래밍하는 이러한 순서는 제약조건이 아니다. 도 5b를 참조하면, 예를 들면, 블럭내의 열들이 그들의 상대적인 위치에 무관한 순서로 프로그래밍된다. 예를 들면, 열(105)이 우선 프로그래밍되며, 뒤이어 열(107, 109, 111, 113 및 115)이 순서적으로 프로그래밍된다. 그러나 이들 열에 의해 형성된 페이지들의 판독 연산중에, 그 프로그래밍의 순서는 공지되어 있지 않다. 예를 들면, 열(107)로부터 판독된 데이터가 유효하지 않으며 ECC에 의해 보정될 수 없다면, 그 인접 열들(105와 109)이 차후 프로그래밍되고 따라서 열(107)의 판독시 에러의 있음직한 원인이었는지 알 수 없다. 이것이 알려지지 않는다면, 양측 인접 열(105와 109)은 열(107)로부터 다시 판독하기 이전에 가장 높은 상태로 재프로그래밍된다. 만일 순서가 알려진다면, 물론, 차후 프로그래밍되었던 인접 열만이 이러한 방식으로 처리된다. 이 경우에, 열(109)은 그렇게 처리되며 열(107)은 그렇지 않다. 다른 순서는, 예를 들면, 유저 데이터의 개별 섹터와 관련된 오버헤드 데이터의 부분으로서 순서 번호를 프로그래밍하거나 시간 스탬프를 유지시킴으로써 알려질 수 있다.
도 5b에 나타난 특정예에 대한 2개의 흥미있는 문제가 언급된다. 만일 무효 데이터가 열(105)로부터 초기에 판독된다면, 이는 첫번째로 블럭에 프로그래밍된 것이며, 열(105)의 양측에 있는 열(107과 113)의 셀들의 레벨들은 가장 높은 레벨로 상승될 필요가 있는데, 왜냐하면 그것들 모두는 열(105)을 프로그래밍한 후에 유저 데이터로 프로그래밍되었기 때문이다. 열(107과 113)의 일측 또는 양측으로부터의 필드는 열(105)의 무효 판독을 야기할 수 있으며, 그래서 그것들 모두는 레벨에 있어서 상승될 필요가 있다. 게다가, 만일 무효 데이터가 열(113)으로부터 판독된다면, 인접 열(105와 111)로부터 야기된 필드들은 에러를 유발시키지 않는데 왜냐하면 열(113)은 그 인접 열들의 어느 하나 이전에 프로그래밍되었기 때문이다. 그러한 경우에, 복원 프로세스가 회피될 수 있으며 열(113)의 데이터는 무효로 마크될 수 있다.
도 5c는 기술되고 있는 데이터 복원 프로세스가 구현될 수 있는 다른 어레이 아키텍쳐를 도시한다. 이러한 아키텍쳐의 한가지 특정예가 미국 특허 제5,579,259호에 기술되어 있으며, 이는 참조로 본문에 포함된다. 2개의 인접 열(117과 119)내의 메모리 셀들은 블럭을 형성하며, 그러므로 양측 열의 셀들이 공통 삭제 게이트 라인(121)으로부터 삭제된다. 블럭의 용량은 하나에서 데이터의 수많은 섹터까지 이지만 블럭은 또한 프로그래밍의 단위이다. 중간 삭제 게이트를 지닌 한 쌍의 메모리 셀의 이러한 구조는 어레이에 걸쳐 반복된다. 무효 데이터가 하나의 그러한 블럭으로부터 판독될 때, 본문의 복원 프로세스는 후속으로 프로그래밍된 인접 블럭에 적용되거나, 또는, 인접 블럭이 차후 프로그래밍되었는지 알 수 없다면, 무효 데이터가 판독되었던 인접 블럭들의 양측 또는 어느 일측에 적용된다.
도 6a와 6b는 참조로 포함된 특허 및 특허 출원과 관련하여 배경 기술에 논의된 특정 NAND 시스템으로 사용되는 현존 프로그래밍 기술을 설명한다. 그것들은 각 저장 엘리먼트가 도 3a와 3b의 도면에 유사한 2 비트의 데이터, 즉 4개 데이터 상태를 저장할 때 메모리 셀 어레이에 대한 임계 전압 분포를 도시한다. 곡선(125)은 삭제된 상태("11" 데이터 상태)에 있는 어레이내에 셀들의 임계 레벨(VT)의 분포를 나타내며, 네거티브 임계 전압 레벨이다. "10"과 "00" 유저 데이터를 저장하고 있는 메모리 셀들의 임계 전압 분포(126과 127)는 각각 0볼트와 1볼트 사이와 1볼트와 2볼트 사이이다. 곡선(128)은 "01" 데이터 상태로 프로그래밍되었던 셀들의 분포를 나타내며, 2볼트보다 더 크며 4.5볼트보다 적게 설정된 가장 높은 임계 전압 레벨이다.
이 예에서, 단일 메모리 셀에 저장된 각각의 2 비트는 상이한 로직 페이지를 형성한다. 즉, 각 메모리 셀에 저장된 2 비트의 각 비트는 서로 상이한 로직 페이지 어드레스를 전달한다. 도시된 하위 비트는 하위 페이지 어드레스가 입력될 때 액세스된다. 도시된 상위 비트는 상위 페이지 어드레스가 입력될 때 액세스된다.
도 6a와 6b는 또한 상기된 유형의 어레이에서 4-상태 NAND 메모리 셀을 프로그래밍하는데 사용되는 현존 기술을 도시한다. 제 1 프로그래밍 단계에서,셀의 임계 레벨은 하위 로직 페이지로부터의 비트에 따라 설정된다. 그 비트가 "1"이라면, 어떤 것도 수행되지 않으므로 초기에 삭제되었던 결과처럼 그 상태에 있다. 그러나, 그 비트가 "0"이라면, 셀의 레벨은 제 1 프로그래밍 상태(126)으로 증가된다. 그것은 제 1 프로그래밍 단계를 완결시킨다.
제 2 프로그래밍 단계에서, 셀의 임계 레벨은 상위 로직 페이지으로부터 셀에 저장된 비트에 따라 설정된다. 만일 "1"이라면, 어떠한 프로그래밍도 발생하지 않으므로 셀은 하위 페이지 비트의 프로그래밍에 좌우하여 상태들(125 또는 126)중 하나에 있으며, 그 양측은 "1"의 상위 페이지 비트를 전달한다. 만일 제 1 단계가 삭제 상태(125)로 남아있는 셀을 야기한다면, 상기 셀은 도 6b의 상위 화살표에 의해 나타난 것처럼 그 상태에서 가장 높은 상태(128)로 프로그래밍된다. 그러나, 만일 셀이 상태(126)로 프로그램되었다면, 제 1 프로그래밍 상태(127)의 결과로서, 상기 셀은 도 6b의 하위 화살표에 의해 나타난 것처럼 그 상태에서 상태(127)로 제 2 프로그래밍 단계에서 더 프로그래밍된다. 상기 제 2 단계의 결과는 상기 제 1 프로그래밍 단계의 결과를 변경시킴 없이 상기 셀을 상위 페이지로부터 "0"을 저장하 도록 지정된 상태로 프로그래밍하는 것이다.
물론, 메모리가 4개 이상의 상태로 연산된다면, 상태의 수와 같은 메모리 셀의 규정된 전압 임계 윈도우내에 수많은 분포가 있을 수 있다. 게다가, 특정 비트 패턴이 각각의 분포에 할당되었을 지라도, 상이한 비트 패턴들이 그렇게 할당될 수 있으며, 이 경우에 프로그래밍이 발생하는 것 사이의 상태들은 도 6a와 6b에 나타난 것보다도 상이할 수 있다. 몇가지 그러한 변형은 배경 기술에 이미 언급된 특허에 논의되어 있다.
일반적인 프로그래밍 전압(Vpgm) 파형이 도 7에 도시되어 있다. 상기 프로그래밍 전압(Vpgm)은 수많은 펄스로 분할되며, 0.2 볼트 펄스씩 증가된다. Vpgm 스텝 사이즈는 0.2볼트이다. 그러므로, 결과적인 분포의 최대폭은 0.2볼트이다.
펄스들간의 주기에, 프로그램 검증 연산이 수행된다. 즉, 병렬로 프로그래밍되는 각 셀의 프로그래밍된 레벨은 프로그래밍되는 검증 레벨에 같거나 또는 더 큰지를 결정하도록 각 프로그래밍 펄스간에 판독된다. 기정 메모리 셀의 임계 전압이 검증 레벨을 초과하였다고 결정되면, Vpgm은 기정 셀의 일련의 셀 유니트가 0볼트에서 Vdd로 연결되는 비트 라인의 전압을 상승시킴으로써 제거된다. 병렬로 프로그래밍되는 다른 셀들의 프로그래밍은 그것들이 차례로 그 임계 레벨에 도달할 때 까지 지속한다.
도 6a, 6b 및 7에 관해 기술된 특정 NAND 시스템 연산에 관하여, 정규 프로그래밍 연산은 인접 페이지로부터 데이터의 복원이 발생할 때 페이지의 모든 셀들이 가장 높은 레벨(128)로 증가되도록 허용하지 않는다. 상기 상태(127)의 셀에 대 해, 셀의 임계 레벨(VT)을 가장 높은 상태(128)로 이동시키는 표준 프로그래밍 연산은 없다. 따라서, 인접 페이지로부터 복원 데이터의 부분으로서 임의 페이지의 모든 셀들을 가장 높은 레벨(128)로 이동시킬 수 있기 위해서, 다른 프로그래밍-유사 연산이 부가된다. "ALL01" 커맨드에 응답하여 초기화되는 이러한 부가 연산은 도 8의 순서도에 나타나 있다.
우선, 시스템 프로그래밍 알고리즘은 ALL01 커맨드를 실행하도록 설정되며(131), 이어서 메모리 셀들이 01 프로그래밍된 상태로 상승된 임계 전압을 갖도록 하는 페이지의 어드레스를 설정하는 행위(133)를 한다. 다음, 어드레싱된 페이지의 셀들에 저장된 데이터가 판독되며(135), 이어서 이미 01 상태인 모든 셀들을 로크 아웃(lock out)시킨다(137). 즉, 페이지의 셀들은 01 상태에서 프로그래밍 전압을 전혀 수신하지 않는다. 가장 높은 01 상태(128)와 다른 나머지 셀들에 대해, 프로그래밍 전압(Vpgm)은 14볼트에서 설정되며, 이러한 특정예에서, 펄스 카운터("PC")는 139에서 나타난 것처럼 0으로 설정된다.
상기 연산은 그후 하나의 프로그래밍 또는 더 많은 펄스의 적용으로 루프 시작을 하며(141), 이어서 프로그래밍되는 셀의 상태를 판독한다(143). 임의의 셀들이 145에 의해 지시된 것처럼 01 상태에 도달하였다면, 그것들이 통과한것으로 언급되며(149) 그것들의 여분의 프로그래밍이 로크 아웃된다. 그러나 이들 셀중 일부가 아직 01 상태에 있지 않다면, 상기 프로세스는, 이 경우에(35), 프로그래밍 펄스의 최대 개수가 적용되었는지의 결정 단계로 지속한다(147). 만일 그렇다면, 상 기 프로세스가 01 상태에 있지 않은 셀들에 대해서 실패한것으로 언급되며(151) 상기 프로세스는 종결된다(153). 그러나, 만일 35개보다 적은 프로그래밍 펄스적용되었다면, 프로그래밍 전압(Vpgm)은 0.2볼트씩 증가되며 펄스 카운터는 1씩 증분된다(155). 행위(141-155)의 프로그래밍 사이클은 그후 반복된다. 일반적인 경우에, 상기 프로세스는 페이지의 모든 셀들이 01 상태로 프로그래밍 되었을 때 종결한다(153). 도 6c는 어드레싱된 페이지의 메모리 셀들을 가장 높은 상태(128)로 프로그래밍하는 방법을 도시한다. 무효인 것으로 첫번째 판독된 인접 페이지의 데이터는 상기된 것처럼 데이터를 복원시키기 위해서 다시 판독된다.
본 발명은 예시적인 실시예에 관해 기술되었지만, 발명은 첨부된 청구범위의 전체내에서 보호하도록 권한이 부여됨이 이해될 것이다.
상기된 바와 같이 본 발명에 의해 메모리 셀들의 인접 열을 후속적으로 프로그래밍하는 결과로서 메모리 셀들의 1개 열에 저장된 겉보기 전하 레벨의 저하를 극복하여 판독이 상당히 향상된다.

Claims (23)

  1. 제1 그룹의 개개의 메모리 셀들의 저장소자들에 복수의 전하 레벨들의 상이한 레벨들로서 저장된 다중 비트의 데이터를 판독하는 방법에 있어서, 판독된 데이터가 상기 제1 그룹의 메모리 셀들의 저장소자들이 필드 결합된 제2 그룹의 인접 메모리 셀들의 저장소자들에 복수의 전하 레벨들의 상이한 레벨들로서 저장된 다른 데이터에 의해 오류를 일으키고, 상기 방법은,
    상기 제2 그룹의 메모리 셀들의 저장소자들에 저장된 전하 레벨들을 판독하여, 상기 제2 그룹의 메모리 셀들에 저장된 데이터를 판독하는 단계;
    상기 제2 그룹의 메모리 셀들의 저장소자들로부터 판독된 데이터를 상기 제1 또는 제2 그룹의 메모리 셀들의 외측 위치에 저장하는 단계;
    상기 제2 그룹의 메모리 셀들의 개개의 저장소자들에 저장된 전하 레벨들을 변경시켜, 상기 제1 그룹의 메모리 셀들의 저장소자들에 저장된 겉보기 전하 레벨들을 변경시키는 단계; 및
    상기 제1 그룹의 메모리 셀들의 저장소자들에 저장된 전하 레벨들을 판독하여, 상기 제2 그룹의 메모리 셀들의 저장소자들에 저장된 변경된 전하 레벨들로 상기 제1 그룹의 메모리 셀들의 저장소자들에 저장된 데이터를 판독하는 단계;
    를 포함하는 데이터 판독 방법.
  2. 제1항에 있어서, 상기 제2 그룹의 메모리 셀들의 개개의 저장소자들에 저장된 전하 레벨들을 변경시키는 단계는 상기 제2 그룹의 메모리 셀들의 개개의 저장소자들에 저장된 전하 레벨들을 공통 전하 레벨로 설정하는 단계를 포함하는 것을 특징으로 하는 데이터 판독 방법.
  3. 제2항에 있어서, 상기 공통 전하 레벨은 상기 복수의 전하 레벨들 중 최고 레벨이고, 상기 최고 레벨에 의해 상기 제1 그룹의 메모리 셀들의 저장소자들에 데이터가 저장되는 것을 특징으로 하는 데이터 판독 방법.
  4. 제3항에 있어서, 상기 메모리 셀들의 개개의 저장소자들에 저장된 상기 복수의 전하 레벨들은 2개 이상의 전하 레벨들이고, 상기 2개 이상의 전하 레벨들에 의해 1 비트 이상의 데이터를 상기 개개의 저장소자들에 저장하는 것을 특징으로 하는 데이터 판독 방법.
  5. 제1항에 있어서, 상기 메모리 셀들의 개개의 저장소자들에 저장된 상기 복수의 전하 레벨들은 2개의 전하 레벨들이고, 상기 2개의 전하 레벨들에 의해 1 비트의 데이터를 상기 개개의 저장소자들에 저장하는 것을 특징으로 하는 데이터 판독 방법.
  6. 제1항에 있어서, 전하 레벨들이 상기 제1 그룹의 메모리 셀들의 저장소자들에 최초에 저장되고, 그 후에 상기 제2 그룹의 메모리 셀들의 저장소자들에 저장되는 것을 특징으로 하는 데이터 판독 방법.
  7. 제6항에 있어서, 상기 방법은 메모리 셀들의 NAND 어레이의 부분으로서 상기 제1 및 제2 그룹의 메모리 셀들에서 실행되는 것을 특징으로 하는 데이터 판독 방법.
  8. 제1항에 있어서, 상기 방법은 메모리 셀당 하나의 저장소자를 가진 메모리 셀들의 NOR 어레이의 부분으로서 상기 제1 및 제2 그룹의 메모리 셀들에서 실행되는 것을 특징으로 하는 데이터 판독 방법.
  9. 제1항에 있어서, 상기 방법은 메모리 셀당 2개의 저장소자들을 가진 NOR 어레이의 메모리 셀들의 부분으로서 상기 제1 및 제2 그룹의 메모리 셀들에서 실행되는 것을 특징으로 하는 데이터 판독 방법.
  10. 제1항에 있어서, 상기 제1 및 제2 그룹의 메모리 셀들은 저장소자들이 전도성 플로팅 게이트들인 비휘발성 메모리 셀들의 어레이의 부분인 것을 특징으로 하는 데이터 판독 방법.
  11. 제1항에 있어서, 상기 제1 및 제2 그룹의 메모리 셀들은 저장소자들이 유전체의 영역으로 규정된 비휘발성 메모리 셀의 어레이의 부분인 것을 특징으로 하는 데이터 판독 방법.
  12. 상호 필드 결합된 저장소자들의 전하 레벨들을 가진 제1 및 제2 그룹의 메모리 셀들을 포함하는 메모리 셀들의 어레이에서, 상기 메모리 셀들의 개개의 저장소자들에 복수의 전하 레벨들의 상이한 레벨들로서 저장된 데이터를 판독하는 방법에 있어서,
    상기 제1 그룹의 메모리 셀들의 저장소자들에 저장된 전하 레벨들을 제1 판독 기준 레벨을 사용하여 판독하여, 상기 제1 그룹의 메모리 셀들의 저장소자들에 저장된 데이터를 판독하는 단계;
    상기 제1 그룹의 메모리 셀들의 저장소자들로부터 판독된 데이터가 유효한지 여부를 결정하는 단계;
    상기 제1 그룹의 메모리 셀들의 저장소자들로부터 판독된 데이터가 유효하지 않다고 결정되는 경우, 상기 제2 그룹의 메모리 셀들의 저장소자들에 저장된 전하 레벨들을 판독하여, 상기 제2 그룹의 메모리 셀들에 저장된 데이터를 판독하는 단계;
    상기 제2 그룹의 메모리 셀들로부터 판독된 데이터를 저장하는 단계;
    상기 제2 그룹의 메모리 셀들의 개개의 저장소자들에 저장된 전하 레벨들을 변경시켜, 상기 제1 및 제2 그룹의 메모리 셀들의 저장소자들 간의 필드 결합으로 인한 상기 제1 그룹의 메모리 셀들의 저장소자들에 저장된 겉보기 전하 레벨들을 변경시키는 단계; 및
    상기 제1 그룹의 메모리 셀들의 저장소자들에 저장된 전하 레벨들을 상기 제1 판독 기준 레벨과 다른 제2 판독 기준 레벨을 사용하여 판독하여, 상기 제1 및 제2 그룹의 메모리 셀들의 저장소자들 간의 필드 결합의 효과가 보상된 상기 제1 그룹의 메모리 셀들에 저장된 데이터를 판독하는 단계;
    를 포함하는 데이터 판독 방법.
  13. 제12항에 있어서, 상기 제2 그룹의 메모리 셀들의 개개의 저장소자들에 저장된 전하 레벨들을 변경시키는 단계는 상기 제2 그룹의 메모리 셀들의 개개의 저장소자에 저장된 전하 레벨들을 상기 복수의 전하 레벨들 중 최고 레벨과 적어도 동일한 공통 전하 레벨로 설정하는 단계를 포함하고, 상기 최고 레벨에 의해 상기 제1 그룹의 메모리 셀들의 저장소자들에 데이터가 저장되는 것을 특징으로 하는 데이터 판독 방법.
  14. 제13항에 있어서, 상기 제2 판독 기준 레벨은 상기 제1 판독 기준 레벨보다 높은 것을 특징으로 하는 데이터 판독 방법.
  15. 제14항에 있어서, 상기 메모리 셀들의 개개의 저장소자들에 저장된 상기 복수 전하 레벨들은 2개 이상의 전하 레벨들이고, 상기 2개 이상의 전하 레벨들에 의해 1 비트 이상의 데이터를 상기 개개의 저장소자들에 저장하는 것을 특징으로 하는 데이터 판독 방법.
  16. 제12항에 있어서, 상기 제1 그룹의 메모리 셀들의 저장소자들로부터 판독된 데이터가 유효한지 여부를 결정하는 단계는 상기 제1 그룹의 메모리 셀들의 데이터를 프로그래밍할 때 저장된 에러 보정 코드를 사용하는 단계를 포함하는 것을 특징으로 하는 데이터 판독 방법.
  17. 제16항에 있어서, 상기 메모리 셀들의 개개의 저장소자들에 저장된 복수의 전하 레벨들은 2개 이상의 전하 레벨들이고, 상기 2개 이상의 전하 레벨들에 의해 1 비트 이상의 데이터를 상기 개개의 저장소자들에 저장하는 것을 특징으로 하는 데이터 판독 방법.
  18. 제12항에 있어서, 상기 메모리 셀들의 개개의 저장소자들에 저장된 복수의 전하 레벨들은 2개 이상의 전하 레벨들이고, 상기 2개 이상의 전하 레벨들에 의해 1 비트 이상의 데이터를 상기 개개의 저장소자들에 저장하는 것을 특징으로 하는 데이터 판독 방법.
  19. 제18항에 있어서, 상기 메모리 셀들의 어레이의 상기 메모리 셀들은 플래시 EEPROM 셀들인 것을 특징으로 하는 데이터 저장 방법.
  20. 제12항에 있어서, 상기 방법은 상기 제1 및 제2 그룹이 셀들이 각각의 제1 및 제2 인접 열들의 셀들을 포함하는 메모리 셀들의 어레이에서 실행되는 것을 특징으로 하는 데이터 저장 방법.
  21. 인접한 열들이 상호 용량성 결합되며 개개의 셀들에 저장된 전하 레벨들을 제1 프로그래밍 단계에서 4개 이상의 전하 레벨들 중 하나로 그리고 제2 프로그래밍 단계에서 적어도 최고 2개 이상의 전하 레벨들 중 하나로 증가시킴으로써 고정된 시퀀스에서 프로그래밍되고, 행들을 형성하기 위해 NAND 스트링들에서 연결되며 셀들의 열들 위로 행들을 가로질러 연장하는 워드라인들을 구비한 메모리 셀들의 어레이를 포함하는 플래시 비휘발성 메모리 시스템에서, 인접한 제2 열에 후속하여 저장된 데이터로 인해 무효로서 판독된 제1 열에 저장된 데이터를 재구성하는 방법에 있어서,
    상기 제2 열의 셀들에 저장된 전하 레벨들을 판독하고, 이에 의해 나타난 데이터를 메모리 시스템 내의 다른 위치에 기입하는 단계;
    상기 제2 열의 개개의 셀들의 전하 레벨들을 프로그래밍된 레벨들로부터 최고 프로그래밍 전하 레벨로 증가시키는 단계; 및
    상기 제1 열의 셀들에 저장된 전하 레벨들을 판독하는 단계;
    를 포함하는 데이터 재구성 방법.
  22. 제21항에 있어서, 상기 방법은 메모리 셀들이 전하 레벨들을 전도성 플로팅 게이트들에 저장하는 메모리 시스템에서 실행되는 것을 특징으로 하는 데이터 재구성 방법.
  23. 제21항에 있어서, 상기 방법은 메모리 셀들이 전하 레벨들을 유전체에 저장하는 메모리 시스템에서 실행되는 것을 특징으로 하는 데이터 재구성 방법.
KR1020030002677A 2002-01-18 2003-01-15 인접 메모리 셀과의 필드 커플링에 의해 영향을 받는메모리 셀로부터 데이터를 복원시키는 기법 KR100904752B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/052,759 2002-01-18
US10/052,759 US6542407B1 (en) 2002-01-18 2002-01-18 Techniques of recovering data from memory cells affected by field coupling with adjacent memory cells

Publications (2)

Publication Number Publication Date
KR20030063144A KR20030063144A (ko) 2003-07-28
KR100904752B1 true KR100904752B1 (ko) 2009-06-29

Family

ID=21979721

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030002677A KR100904752B1 (ko) 2002-01-18 2003-01-15 인접 메모리 셀과의 필드 커플링에 의해 영향을 받는메모리 셀로부터 데이터를 복원시키는 기법

Country Status (6)

Country Link
US (3) US6542407B1 (ko)
EP (1) EP1329898B1 (ko)
JP (1) JP4310114B2 (ko)
KR (1) KR100904752B1 (ko)
AT (1) ATE397273T1 (ko)
DE (1) DE60321252D1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120013841A (ko) * 2010-08-06 2012-02-15 삼성전자주식회사 비휘발성 메모리 장치의 데이터 판독 방법

Families Citing this family (282)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5019681B2 (ja) 2001-04-26 2012-09-05 ルネサスエレクトロニクス株式会社 薄膜磁性体記憶装置
US7108975B2 (en) * 2001-09-21 2006-09-19 Regents Of The University Of Michigan Atlastin
JP2003134414A (ja) * 2001-10-22 2003-05-09 Pioneer Electronic Corp 映像処理装置及び映像処理方法並びに映像処理用プログラム
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
US6829167B2 (en) * 2002-12-12 2004-12-07 Sandisk Corporation Error recovery for nonvolatile memory
US7233522B2 (en) * 2002-12-31 2007-06-19 Sandisk 3D Llc NAND memory array incorporating capacitance boosting of channel regions in unselected memory cells and method for operation of same
US7505321B2 (en) * 2002-12-31 2009-03-17 Sandisk 3D Llc Programmable memory array structure incorporating series-connected transistor strings and methods for fabrication and operation of same
US7233024B2 (en) 2003-03-31 2007-06-19 Sandisk 3D Llc Three-dimensional memory device incorporating segmented bit line memory array
US6879505B2 (en) * 2003-03-31 2005-04-12 Matrix Semiconductor, Inc. Word line arrangement having multi-layer word line segments for three-dimensional memory array
US6839281B2 (en) 2003-04-14 2005-01-04 Jian Chen Read and erase verify methods and circuits suitable for low voltage non-volatile memories
US6988175B2 (en) * 2003-06-30 2006-01-17 M-Systems Flash Disk Pioneers Ltd. Flash memory management method that is resistant to data corruption by power loss
KR100512181B1 (ko) * 2003-07-11 2005-09-05 삼성전자주식회사 멀티 레벨 셀을 갖는 플래시 메모리 장치와 그것의 독출방법 및 프로그램 방법
US6914823B2 (en) * 2003-07-29 2005-07-05 Sandisk Corporation Detecting over programmed memory after further programming
US6917542B2 (en) 2003-07-29 2005-07-12 Sandisk Corporation Detecting over programmed memory
US6996004B1 (en) * 2003-11-04 2006-02-07 Advanced Micro Devices, Inc. Minimization of FG-FG coupling in flash memory
US20050128807A1 (en) * 2003-12-05 2005-06-16 En-Hsing Chen Nand memory array incorporating multiple series selection devices and method for operation of same
US7221588B2 (en) * 2003-12-05 2007-05-22 Sandisk 3D Llc Memory array incorporating memory cells arranged in NAND strings
US7372730B2 (en) * 2004-01-26 2008-05-13 Sandisk Corporation Method of reading NAND memory to compensate for coupling between storage elements
US7020017B2 (en) * 2004-04-06 2006-03-28 Sandisk Corporation Variable programming of non-volatile memory
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US7739577B2 (en) * 2004-06-03 2010-06-15 Inphase Technologies Data protection system
US7535765B2 (en) * 2004-12-09 2009-05-19 Saifun Semiconductors Ltd. Non-volatile memory device and method for reading cells
US7242618B2 (en) * 2004-12-09 2007-07-10 Saifun Semiconductors Ltd. Method for reading non-volatile memory cells
US7120051B2 (en) 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7158421B2 (en) * 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7420847B2 (en) * 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
US7849381B2 (en) 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7212440B2 (en) * 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
US9104315B2 (en) 2005-02-04 2015-08-11 Sandisk Technologies Inc. Systems and methods for a mass data storage system having a file-based interface to a host and a non-file-based interface to secondary storage
US20060184718A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct file data programming and deletion in flash memories
US7877539B2 (en) * 2005-02-16 2011-01-25 Sandisk Corporation Direct data file storage in flash memories
US20060184719A1 (en) * 2005-02-16 2006-08-17 Sinclair Alan W Direct data file storage implementation techniques in flash memories
US7447078B2 (en) 2005-04-01 2008-11-04 Sandisk Corporation Method for non-volatile memory with background data latch caching during read operations
US7206230B2 (en) * 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
WO2006107651A1 (en) * 2005-04-01 2006-10-12 Sandisk Corporation Multi-state memory having data recovery after program fail
US7463521B2 (en) * 2005-04-01 2008-12-09 Sandisk Corporation Method for non-volatile memory with managed execution of cached data
US7196946B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling in non-volatile storage
US7196928B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7187585B2 (en) * 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7275140B2 (en) * 2005-05-12 2007-09-25 Sandisk Il Ltd. Flash memory management method that is resistant to data corruption by power loss
US7193898B2 (en) * 2005-06-20 2007-03-20 Sandisk Corporation Compensation currents in non-volatile memory read operations
US7409489B2 (en) * 2005-08-03 2008-08-05 Sandisk Corporation Scheduling of reclaim operations in non-volatile memory
US7627733B2 (en) * 2005-08-03 2009-12-01 Sandisk Corporation Method and system for dual mode access for storage devices
US7949845B2 (en) * 2005-08-03 2011-05-24 Sandisk Corporation Indexing of file data in reprogrammable non-volatile memories that directly store data files
US7552271B2 (en) * 2005-08-03 2009-06-23 Sandisk Corporation Nonvolatile memory with block management
US7480766B2 (en) 2005-08-03 2009-01-20 Sandisk Corporation Interfacing systems operating through a logical address space and on a direct data file basis
US7558906B2 (en) * 2005-08-03 2009-07-07 Sandisk Corporation Methods of managing blocks in nonvolatile memory
US7669003B2 (en) * 2005-08-03 2010-02-23 Sandisk Corporation Reprogrammable non-volatile memory systems with indexing of directly stored data files
JP4991131B2 (ja) * 2005-08-12 2012-08-01 株式会社東芝 半導体記憶装置
US7170788B1 (en) 2005-09-09 2007-01-30 Sandisk Corporation Last-first mode and apparatus for programming of non-volatile memory with reduced program disturb
US7218552B1 (en) 2005-09-09 2007-05-15 Sandisk Corporation Last-first mode and method for programming of non-volatile memory with reduced program disturb
US7814262B2 (en) * 2005-10-13 2010-10-12 Sandisk Corporation Memory system storing transformed units of data in fixed sized storage blocks
US7529905B2 (en) * 2005-10-13 2009-05-05 Sandisk Corporation Method of storing transformed units of data in a memory system having fixed sized storage blocks
US7301817B2 (en) 2005-10-27 2007-11-27 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
US7366022B2 (en) * 2005-10-27 2008-04-29 Sandisk Corporation Apparatus for programming of multi-state non-volatile memory using smart verify
US7289344B2 (en) 2005-11-10 2007-10-30 Sandisk Corporation Reverse coupling effect with timing information for non-volatile memory
US7289348B2 (en) 2005-11-10 2007-10-30 Sandisk Corporation Reverse coupling effect with timing information
WO2007058846A1 (en) * 2005-11-10 2007-05-24 Sandisk Corporation Reverse coupling effect with timing information
US7349258B2 (en) * 2005-12-06 2008-03-25 Sandisk Corporation Reducing read disturb for non-volatile storage
US7262994B2 (en) * 2005-12-06 2007-08-28 Sandisk Corporation System for reducing read disturb for non-volatile storage
US20070136671A1 (en) * 2005-12-12 2007-06-14 Buhrke Eric R Method and system for directing attention during a conversation
US7769978B2 (en) 2005-12-21 2010-08-03 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7747837B2 (en) 2005-12-21 2010-06-29 Sandisk Corporation Method and system for accessing non-volatile storage devices
US7793068B2 (en) * 2005-12-21 2010-09-07 Sandisk Corporation Dual mode access for non-volatile storage devices
US7443726B2 (en) * 2005-12-29 2008-10-28 Sandisk Corporation Systems for alternate row-based reading and writing for non-volatile memory
US7349260B2 (en) * 2005-12-29 2008-03-25 Sandisk Corporation Alternate row-based reading and writing for non-volatile memory
JP4892566B2 (ja) * 2005-12-29 2012-03-07 サンディスク コーポレイション 交互列に基づいた不揮発性メモリの読み出し及び書き込み
US7453723B2 (en) * 2006-03-01 2008-11-18 Micron Technology, Inc. Memory with weighted multi-page read
US7436733B2 (en) * 2006-03-03 2008-10-14 Sandisk Corporation System for performing read operation on non-volatile storage with compensation for coupling
US7499319B2 (en) * 2006-03-03 2009-03-03 Sandisk Corporation Read operation for non-volatile storage with compensation for coupling
US7499326B2 (en) * 2006-04-12 2009-03-03 Sandisk Corporation Apparatus for reducing the impact of program disturb
US7426137B2 (en) 2006-04-12 2008-09-16 Sandisk Corporation Apparatus for reducing the impact of program disturb during read
US7515463B2 (en) 2006-04-12 2009-04-07 Sandisk Corporation Reducing the impact of program disturb during read
US7436713B2 (en) 2006-04-12 2008-10-14 Sandisk Corporation Reducing the impact of program disturb
US7697326B2 (en) 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
WO2007132457A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
CN103208309B (zh) 2006-05-12 2016-03-09 苹果公司 存储设备中的失真估计和消除
US7440331B2 (en) * 2006-06-01 2008-10-21 Sandisk Corporation Verify operation for non-volatile storage using different voltages
US7457163B2 (en) * 2006-06-01 2008-11-25 Sandisk Corporation System for verifying non-volatile storage using different voltages
US7450421B2 (en) * 2006-06-02 2008-11-11 Sandisk Corporation Data pattern sensitivity compensation using different voltage
US7310272B1 (en) * 2006-06-02 2007-12-18 Sandisk Corporation System for performing data pattern sensitivity compensation using different voltage
US7606084B2 (en) * 2006-06-19 2009-10-20 Sandisk Corporation Programming differently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory
JP4912460B2 (ja) * 2006-06-19 2012-04-11 サンディスク コーポレイション 不揮発性メモリの読み出し動作改善における個別サイズマージンのプログラムおよび選択状態時の補償による検知
US7352628B2 (en) * 2006-06-19 2008-04-01 Sandisk Corporation Systems for programming differently sized margins and sensing with compensations at select states for improved read operations in a non-volatile memory
US7495953B2 (en) * 2006-07-20 2009-02-24 Sandisk Corporation System for configuring compensation
US7506113B2 (en) * 2006-07-20 2009-03-17 Sandisk Corporation Method for configuring compensation
US7443729B2 (en) * 2006-07-20 2008-10-28 Sandisk Corporation System that compensates for coupling based on sensing a neighbor using coupling
US7400535B2 (en) * 2006-07-20 2008-07-15 Sandisk Corporation System that compensates for coupling during programming
US7885119B2 (en) * 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
US7522454B2 (en) * 2006-07-20 2009-04-21 Sandisk Corporation Compensating for coupling based on sensing a neighbor using coupling
US7369434B2 (en) * 2006-08-14 2008-05-06 Micron Technology, Inc. Flash memory with multi-bit read
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7525838B2 (en) * 2006-08-30 2009-04-28 Samsung Electronics Co., Ltd. Flash memory device and method for programming multi-level cells in the same
US7602650B2 (en) * 2006-08-30 2009-10-13 Samsung Electronics Co., Ltd. Flash memory device and method for programming multi-level cells in the same
JP2008066466A (ja) * 2006-09-06 2008-03-21 Toshiba Corp 半導体記憶装置およびその読み出し電圧の補正方法
US7447076B2 (en) * 2006-09-29 2008-11-04 Sandisk Corporation Systems for reverse reading in non-volatile memory with compensation for coupling
US7684247B2 (en) * 2006-09-29 2010-03-23 Sandisk Corporation Reverse reading in non-volatile memory with compensation for coupling
JP2008090451A (ja) * 2006-09-29 2008-04-17 Toshiba Corp 記憶装置
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
KR100881669B1 (ko) * 2006-12-18 2009-02-06 삼성전자주식회사 비휘발성 데이터 저장장치의 정적 데이터 영역 검출 방법,마모도 평준화 방법 및 데이터 유닛 병합 방법과 그 장치
US7616505B2 (en) * 2006-12-28 2009-11-10 Sandisk Corporation Complete word line look ahead with efficient data latch assignment in non-volatile memory read operations
US7561465B2 (en) * 2006-12-28 2009-07-14 Advanced Micro Devices, Inc. Methods and systems for recovering data in a nonvolatile memory array
US7616506B2 (en) * 2006-12-28 2009-11-10 Sandisk Corporation Systems for complete word line look ahead with efficient data latch assignment in non-volatile memory read operations
US7495962B2 (en) * 2006-12-29 2009-02-24 Sandisk Corporation Alternating read mode
US7606070B2 (en) * 2006-12-29 2009-10-20 Sandisk Corporation Systems for margined neighbor reading for non-volatile memory read operations including coupling compensation
US7518923B2 (en) * 2006-12-29 2009-04-14 Sandisk Corporation Margined neighbor reading for non-volatile memory read operations including coupling compensation
US7440324B2 (en) * 2006-12-29 2008-10-21 Sandisk Corporation Apparatus with alternating read mode
US7616498B2 (en) * 2006-12-29 2009-11-10 Sandisk Corporation Non-volatile storage system with resistance sensing and compensation
US7590002B2 (en) * 2006-12-29 2009-09-15 Sandisk Corporation Resistance sensing and compensation for non-volatile storage
US7751240B2 (en) 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US8151166B2 (en) 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US7535764B2 (en) * 2007-03-21 2009-05-19 Sandisk Corporation Adjusting resistance of non-volatile memory using dummy memory cells
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
KR100892583B1 (ko) 2007-06-08 2009-04-08 삼성전자주식회사 커플링을 고려한 메모리 셀의 데이터 프로그램 장치 및 그방법
KR100837282B1 (ko) * 2007-06-14 2008-06-12 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템,그것의 프로그램 방법 및 읽기 방법
US7936599B2 (en) * 2007-06-15 2011-05-03 Micron Technology, Inc. Coarse and fine programming in a solid state memory
KR100888842B1 (ko) * 2007-06-28 2009-03-17 삼성전자주식회사 읽기 전압을 최적화할 수 있는 플래시 메모리 장치 및그것의 독출 전압 설정 방법
KR101411976B1 (ko) * 2007-07-09 2014-06-27 삼성전자주식회사 플래시 메모리 시스템 및 그것의 에러 정정 방법
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
JP5475942B2 (ja) * 2007-07-30 2014-04-16 株式会社メガチップス 不揮発性半導体記憶装置
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
KR101425958B1 (ko) 2007-09-06 2014-08-04 삼성전자주식회사 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8650352B2 (en) * 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
WO2009050703A2 (en) 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009053961A2 (en) 2007-10-25 2009-04-30 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
WO2009063450A2 (en) 2007-11-13 2009-05-22 Anobit Technologies Optimized selection of memory units in multi-unit memory devices
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
WO2009072103A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells
WO2009072105A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications
US8453022B2 (en) 2007-12-05 2013-05-28 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8359516B2 (en) 2007-12-12 2013-01-22 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
WO2009074979A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
WO2009078006A2 (en) 2007-12-18 2009-06-25 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US8085586B2 (en) 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US7800943B2 (en) * 2008-01-18 2010-09-21 Qimonda Ag Integrated circuit having a memory cell arrangement and method for reading a memory cell state using a plurality of partial readings
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US7924587B2 (en) 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8085591B2 (en) 2008-05-20 2011-12-27 Micron Technology, Inc. Charge loss compensation during programming of a memory device
US7848144B2 (en) * 2008-06-16 2010-12-07 Sandisk Corporation Reverse order page writing in flash memories
KR101528167B1 (ko) 2008-08-01 2015-06-12 삼성전자주식회사 메모리 장치 및 메모리 데이터 판정 방법
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US7876611B2 (en) * 2008-08-08 2011-01-25 Sandisk Corporation Compensating for coupling during read operations in non-volatile storage
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
KR101642465B1 (ko) * 2008-12-12 2016-07-25 삼성전자주식회사 불휘발성 메모리 장치의 액세스 방법
US8291297B2 (en) * 2008-12-18 2012-10-16 Intel Corporation Data error recovery in non-volatile memory
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
CN101989461B (zh) * 2009-08-06 2014-04-02 中芯国际集成电路制造(上海)有限公司 半导体nrom存储装置
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US8305812B2 (en) 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
US8089815B2 (en) * 2009-11-24 2012-01-03 Sandisk Technologies Inc. Programming memory with bit line floating to reduce channel-to-floating gate coupling
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
US8700970B2 (en) 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US9104610B2 (en) 2010-04-06 2015-08-11 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US20120008414A1 (en) 2010-07-06 2012-01-12 Michael Katz Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US20130047045A1 (en) * 2011-08-19 2013-02-21 Stec, Inc. Error indicator from ecc decoder
JP2012014827A (ja) * 2011-09-12 2012-01-19 Toshiba Corp 半導体記憶装置
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
JP5355667B2 (ja) * 2011-11-21 2013-11-27 株式会社東芝 メモリシステム
US8990644B2 (en) 2011-12-22 2015-03-24 Micron Technology, Inc. Apparatus and methods of programming memory cells using adjustable charge state level(s)
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US9171627B2 (en) 2012-04-11 2015-10-27 Aplus Flash Technology, Inc. Non-boosting program inhibit scheme in NAND design
US9087595B2 (en) 2012-04-20 2015-07-21 Aplus Flash Technology, Inc. Shielding 2-cycle half-page read and program schemes for advanced NAND flash design
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9183940B2 (en) 2013-05-21 2015-11-10 Aplus Flash Technology, Inc. Low disturbance, power-consumption, and latency in NAND read and program-verify operations
CN104240761B (zh) * 2013-06-08 2017-07-14 光宝科技股份有限公司 固态储存装置中储存状态的分布曲线估计方法
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9263137B2 (en) 2013-06-27 2016-02-16 Aplus Flash Technology, Inc. NAND array architecture for multiple simutaneous program and read
WO2015013689A2 (en) 2013-07-25 2015-01-29 Aplus Flash Technology, Inc. Nand array hiarchical bl structures for multiple-wl and all -bl simultaneous erase, erase-verify, program, program-verify, and read operations
US9293205B2 (en) 2013-09-14 2016-03-22 Aplus Flash Technology, Inc Multi-task concurrent/pipeline NAND operations on all planes
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9613704B2 (en) 2013-12-25 2017-04-04 Aplus Flash Technology, Inc 2D/3D NAND memory array with bit-line hierarchical structure for multi-page concurrent SLC/MLC program and program-verify
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9442799B2 (en) * 2014-06-26 2016-09-13 Microsoft Technology Licensing, Llc Extended lifetime memory
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
WO2016014731A1 (en) 2014-07-22 2016-01-28 Aplus Flash Technology, Inc. Yukai vsl-based vt-compensation for nand memory
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
KR102246843B1 (ko) * 2015-01-15 2021-05-03 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US9928138B2 (en) * 2015-02-17 2018-03-27 Toshiba Memory Corporation Memory system
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
KR20170064312A (ko) * 2015-12-01 2017-06-09 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US10248499B2 (en) 2016-06-24 2019-04-02 Sandisk Technologies Llc Non-volatile storage system using two pass programming with bit error control
US9928126B1 (en) 2017-06-01 2018-03-27 Apple Inc. Recovery from cross-temperature read failures by programming neighbor word lines
US12094581B2 (en) 2020-08-13 2024-09-17 Micron Technology, Inc. Systems for generating personalized and/or local weather forecasts
US11417387B2 (en) * 2020-09-04 2022-08-16 Micron Technology, Inc. Reserved rows for row-copy operations for semiconductor memory devices and associated methods and systems
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11167793A (ja) 1997-12-02 1999-06-22 Nec Corp 半導体記憶装置およびデータ読み出し方法
KR20000047411A (ko) * 1998-12-17 2000-07-25 아끼구사 나오유끼 불휘발성 반도체 기억 장치
KR20010088298A (ko) * 2000-03-09 2001-09-26 아끼구사 나오유끼 반도체 집적 회로

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
EP0392895B1 (en) 1989-04-13 1995-12-13 Sundisk Corporation Flash EEprom system
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5663901A (en) 1991-04-11 1997-09-02 Sandisk Corporation Computer memory cards using flash EEPROM integrated circuit chips and memory-controller systems
US5430859A (en) 1991-07-26 1995-07-04 Sundisk Corporation Solid state memory system including plural memory chips and a serialized bus
TW261687B (ko) * 1991-11-26 1995-11-01 Hitachi Seisakusyo Kk
US5712180A (en) 1992-01-14 1998-01-27 Sundisk Corporation EEPROM with split gate source side injection
US5657332A (en) 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
JPH08190796A (ja) * 1995-01-09 1996-07-23 Mitsubishi Denki Semiconductor Software Kk データリフレッシュ機能を有するフラッシュメモリ及びフラッシュメモリのデータリフレッシュ方法
US5579259A (en) 1995-05-31 1996-11-26 Sandisk Corporation Low voltage erase of a flash EEPROM system having a common erase electrode for two individually erasable sectors
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
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
US6151248A (en) 1999-06-30 2000-11-21 Sandisk Corporation Dual floating gate EEPROM cell array with steering gates shared by adjacent cells
US6103573A (en) 1999-06-30 2000-08-15 Sandisk Corporation Processing techniques for making a dual floating gate EEPROM cell array
US6091633A (en) 1999-08-09 2000-07-18 Sandisk Corporation Memory array architecture utilizing global bit lines shared by multiple cells
US6426893B1 (en) 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
US6266273B1 (en) * 2000-08-21 2001-07-24 Sandisk Corporation Method and structure for reliable data copy operation for non-volatile memories
US6512263B1 (en) 2000-09-22 2003-01-28 Sandisk Corporation Non-volatile memory cell array having discontinuous source and drain diffusions contacted by continuous bit line conductors and methods of forming
US6936887B2 (en) 2001-05-18 2005-08-30 Sandisk Corporation Non-volatile memory cells utilizing substrate trenches
US6522580B2 (en) * 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6762092B2 (en) 2001-08-08 2004-07-13 Sandisk Corporation Scalable self-aligned dual floating gate memory cell array and methods of forming the array
US6897522B2 (en) 2001-10-31 2005-05-24 Sandisk Corporation Multi-state non-volatile integrated circuit memory systems that employ dielectric storage elements
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11167793A (ja) 1997-12-02 1999-06-22 Nec Corp 半導体記憶装置およびデータ読み出し方法
KR20000047411A (ko) * 1998-12-17 2000-07-25 아끼구사 나오유끼 불휘발성 반도체 기억 장치
KR20010088298A (ko) * 2000-03-09 2001-09-26 아끼구사 나오유끼 반도체 집적 회로

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120013841A (ko) * 2010-08-06 2012-02-15 삼성전자주식회사 비휘발성 메모리 장치의 데이터 판독 방법
KR101678888B1 (ko) 2010-08-06 2016-12-07 삼성전자주식회사 비휘발성 메모리 장치의 데이터 판독 방법

Also Published As

Publication number Publication date
JP4310114B2 (ja) 2009-08-05
JP2003249085A (ja) 2003-09-05
US20050117401A1 (en) 2005-06-02
US6542407B1 (en) 2003-04-01
US6847553B2 (en) 2005-01-25
DE60321252D1 (de) 2008-07-10
EP1329898A2 (en) 2003-07-23
EP1329898A3 (en) 2004-06-16
ATE397273T1 (de) 2008-06-15
KR20030063144A (ko) 2003-07-28
US7102924B2 (en) 2006-09-05
EP1329898B1 (en) 2008-05-28
US20030137888A1 (en) 2003-07-24

Similar Documents

Publication Publication Date Title
KR100904752B1 (ko) 인접 메모리 셀과의 필드 커플링에 의해 영향을 받는메모리 셀로부터 데이터를 복원시키는 기법
US6870768B2 (en) Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells
JP4221196B2 (ja) 複数のデータ状態で動作する不揮発性メモリのストレージエレメント間の結合による影響を低減させるための動作技術
EP1829049B1 (en) Erased sector detection mechanisms
EP1700312B1 (en) Flash storage system with write/erase abort detection mechanism
KR101089575B1 (ko) 사이클 카운트를 저장하는 대량 소거 블록들을 구비한비휘발성 반도체 메모리
US6917542B2 (en) Detecting over programmed memory
US6914823B2 (en) Detecting over programmed memory after further programming
US7877665B2 (en) Page by page ECC variation in a memory device
US7870457B2 (en) Page by page ECC variation in a memory device
WO2008083161A1 (en) Page by page ecc variation in a memory device

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: 20130604

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140603

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150515

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170522

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180516

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 11