KR100921763B1 - 비휘발성 메모리의 효율적인 데이터 검증 동작을 위한구조 및 방법 - Google Patents

비휘발성 메모리의 효율적인 데이터 검증 동작을 위한구조 및 방법 Download PDF

Info

Publication number
KR100921763B1
KR100921763B1 KR1020037008842A KR20037008842A KR100921763B1 KR 100921763 B1 KR100921763 B1 KR 100921763B1 KR 1020037008842 A KR1020037008842 A KR 1020037008842A KR 20037008842 A KR20037008842 A KR 20037008842A KR 100921763 B1 KR100921763 B1 KR 100921763B1
Authority
KR
South Korea
Prior art keywords
delete delete
data
register
read
memory device
Prior art date
Application number
KR1020037008842A
Other languages
English (en)
Other versions
KR20030068202A (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 KR20030068202A publication Critical patent/KR20030068202A/ko
Application granted granted Critical
Publication of KR100921763B1 publication Critical patent/KR100921763B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • 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
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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
    • 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)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Non-Volatile Memory (AREA)

Abstract

개선된 플래시 이이피롬 메모리에 기초한 저장매체 서브시스템으로서, 하나 또는 그 이상의 플래시 메모리 어레이와, 3개의 데이터 레지스터와, 컨트롤러 회로를 포함한다. 플래시 프로그램 동작 동안에, 하나의 데이터 레지스터는 프로그램 동작을 제어하기 위하여 사용되고, 두 번째 레지스터는 목적 데이터 값을 유지하기 위하여 사용되고, 세 번째 레지스터는 다음 섹터의 데이터를 로딩하기 위하여 사용된다. 플래시 프로그램 동작에 연속하여, 섹터의 데이터가 플래시 어레이로부터 첫 번째 데이터 레지스터로 읽혀지고, 두 번째 레지스터에 저장되어 있는 목적 데이터와 비교된다. 데이터가 유효한 것으로 검증되면, 상기한 데이터는 세 번째 레지스터로부터 다음 프로그램 동작을 위하여 첫 번째 및 두 번째 레지스터로 복사된다. 이것은, 프로그램 동작이 완료된 뒤에 데이터 검증을 필요로 하는 프로그램의 동작 동안에 데이터 전송 대기를 필요로 하지 않는 성능의 개선이 이루어지도록 한다. 다른 실시예는 2개 레지스터 구조 및 단일 레지스터 구조를 사용하여 비교를 행한다. 후-쓰기 검증이 반복될 수 있으며, 데이터를 읽기 위하여 다른 바이어스 조건을 사용할 수도 있다. 이러한 과정은 자동적으로 수행되거나, 읽기 조건을 규정할 수 있는 명령에 의해 실행될 수 있다.

Description

비휘발성 메모리의 효율적인 데이터 검증 동작을 위한 구조 및 방법{NOVEL METHOD AND STRUCTURE FOR EFFICIENT DATA VERIFICATION OPERATION FOR NON-VOLATILE MEMORIES}
본 발명은 반도체 비메모리 설계기술과 그의 동작방법에 관련된 것으로서, 플래시 이이피롬(Electrically Erasable and Programmable Read-Only Memory, EEPROM)에 적용된다.
플래시 이이피롬(EEPROM) 장치는 전자 기기의 대량 데이터 저장매체 서브 시스템에 일반적으로 이용된다. 이러한 서브 시스템은 대체적으로, 다수의 호스트 시스템에 삽입되는 착탈가능한 메모리 카드로서 구현되거나, 또는 상기한 호스트 시스템내의 비탈착용 고정 저장매체로서 구현된다. 상기한 바와 같은 2개의 구현에 있어서, 상기한 서브 시스템은 하나 또는 그 이상의 플래시 장치와 서브 시스템 컨트롤러를 포함한다.
플래시 이이피롬(EEPROM) 장치는 하나 또는 그 이상의 트랜지스터 셀 어레이들로 구성되고, 각각의 셀은 하나 또는 그 이상의 데이터 비트들의 비휘발성 저장이 가능하다. 따라서, 플래시 메모리는 그안에 프로그램되어 있는 데이터를 유지하기 위한 전력을 필요로 하지 않는다. 그러나, 한번 프로그램된 셀은, 새로운 데이 터 값으로 재프로그램되기 이전에 반드시 지워져야만 한다. 이러한 셀 어레이들은 읽기, 프로그램, 지우기 기능의 효율적인 구현을 제공하기 위하여 그룹으로 분리된다. 대량 저장매체를 위한 전형적인 플래시 메모리 설계기술은 큰 셀 그룹을 지우기 가능한 블록으로 배열한다. 각 블록은, 읽기, 프로그램 기능을 위한 기본 유니트인, 하나 또는 그 이상의 어드레스 가능한 섹터들로 분리된다.
상기한 서브 시스템 컨트롤러는 서브 시스템의 논리적 블록 어드레스(Logical Block Address, LBA)를 실제 칩, 블록, 섹터 어드레스로의 전환 등을 포함한 많은 기능을 수행한다. 또한, 상기한 서브 시스템 컨트롤러는 인터페이스 버스를 거쳐서 플래시 메모리 장치로 전달되는 일련의 명령들을 통하여 로우 레벨의 플래시 회로 동작을 관리한다. 상기한 서브 시스템 컨트롤러가 수행하는 또다른 기능은, 예를 들어 에러정정코드(Error Correction Code, ECC)를 사용하는 것과 같은 다양한 수단을 통하여 서브 시스템에 저장된 데이터를 보존 유지하는 것이다.
도 1은 전형적인 종래의 플래시 이이피롬 장치(4000)의 내부 설계구조를 보여주고 있다. 그 주요 특징으로서는, I/O 버스(411)와, 외부의 컨트롤러와 인터페이스시키기 위한 제어신호선(412)과, 명령 레지스터, 어드레스 레지스터, 상태 레지스터로 내부 메모리 동작을 제어하기 위한 메모리 제어회로(450)와, 하나 또는 그 이상의 플래시 이이피롬 셀의 어레이(400)와, 각각의 어레이에 연결된 로우 디코더(401) 및 컬럼 디코더(402)와, 센스 앰프 및 프로그램 제어회로 그룹(454)과, 데이터 레지스터(404)를 포함하고 있다.
바람직하기로는, 예를 들면 1999년 3월 30일에 등록된 샌디스크 코포레이션(SanDisk Corporation)의 미합중국 특허 제5,890,192호에 기재되어 있는 바와 같이, 관련된 로우 디코더, 컬럼 디코더, 프로그램/검증 회로, 데이터 레지스터, 등등과 함께 다수의 어레이(400)가 제공된다.
외부 인터페이스 I/O 버스(411) 및 제어 신호선(412)은 다음과 같은 신호들로 구성된다.
CS-Chip Select 플래시 메모리 인터페이스를 활성화시키는데 사용됨.
RS-Read Strobe 데이터 읽기 동작에 사용되는 어드레스/데이터 버스(AD)를 가리키는데 사용됨.
WS-Write Strobe 데이터 쓰기 동작에 사용되는 어드레스/데이터 버스(AD)를 가리키는데 사용됨.
AS-Address Strobe 어드레스 정보를 전송하는데 사용되는 어드레스/데이터 버스(AD)를 가리킨다.
AD[7:0]-Address/Data Bus 컨트롤러와 플래시 메모리 명령, 어드레스, 데이터 레지스터간의 데이터를 전송하기 위하여 사용됨.
동일한 기능을 위한 다른 신호 구성이 사용될 수도 있기 때문에, 이러한 인터페이스는 단지 예로서 제시되는 것이다. 또한, 도면은 단지 하나의 플래시 메모리 어레이(400)를 관련 구성요소와 함께 보여주고 있지만, 동시에 읽기 및 프로그램 동작이 가능하도록 하기 위하여 독립적인 로우 디코더, 컬럼 디코더, 센스 앰프 및 프로그램 제어 회로 그룹, 데이터 레지스터를 갖는 공용 인터페이스 및 메모리 제어회로를 갖는 플래시 메모리 칩에 다수의 어레이가 존재할 수도 있다.
이이피롬 시스템(4000)으로부터의 데이터는 데이터 레지스터(404)로 전송된 뒤에, I/O 버스(411)에 연결되어 있는 데이터 레지스터를 거쳐서 외부 컨트롤러로 전송된다. 또한, 상기한 데이터 레지스터(404)는 센스 앰프 및 프로그램 제어회로 그룹(454)과 연결된다. 각각의 센스 앰프 및 프로그램 제어회로의 구성요소와 연결된 데이터 레지스터의 수많은 구성요소들은 각각의 플래시 이이피롬(EEPROM) 셀에 저장된 비트들의 수에 의존된다. 각각의 플래시 이이피롬(EEPROM) 셀은, 만약 다중 상태 메모리 셀(multi-state memory cell)이 채용된다면, 2 또는 4와 같은 복수의 비트들을 포함할 수도 있다.
로우 디코더(401)는 억세스되는 실제 섹터가 선택되도록 하기 위하여 메모리 어레이(400)의 로우 어드레스를 디코딩한다. 로우 디코더(401)는 메모리 제어회로(450)로부터 내부 로우 어드레스 라인(419)을 통하여 로우 어드레스(ROW ADDR)를 수신한다. 컬럼 디코더(402)는 메모리 제어회로(450)로부터 내부 컬럼 어드레스 라인(429)을 통하여 컬럼 어드레스(COL ADDR)를 수신한다.
도 2는 호스트와 메모리 제어 기능을 수행하는 하나의 컨트롤러(301)와 하나 또는 그 이상의 플래시 메모리 장치로 구성된 플래시 메모리 어레이를 갖는 전형적인 플래시 카드 설계구조를 보여준다. 상기한 시스템 컨트롤러 및 플래시 메모리는, 컨트롤러(301)가 명령, 어드레스를 로딩하고, 데이터를 플래시 메모리 어레이로부터 또는 플레시 메모리 어레이로 전송하도록 하는 버스(302)에 의해 연결된다.
섹터에 프로그램된 호스트 데이터에, 다시 읽기를 할 때 저장된 데이터의 유효성을 결정하기 위하여 사용되는 에러 정정 코드(ECC)가 부가되는 것은 매우 일반적이다. 일부 이러한 시스템은, 데이터가 훼손되지 않았음을 확인하기 위한 방법으로서 읽혀지고 있는 데이터의 유효성을 검사하기 위한 기회로서 메모리 장치로부터 컨트롤러로 전송이 발생되는 경우를 사용한다.
프로그램된 데이터의 유효성을 확인하기 의하여, 일부 시스템은 프로그램이 이루어지고 난 뒤에 즉시 섹터로부터 데이터를 읽는다. 상기한 데이터는 다음 동작이 진행되기 이전에 에러정정코드(ECC), 데이터 비교, 기타 검증 메커니즘 등에 의해 검증된다. 종래의 시스템에서는, 당업자에게 잘 알려진 바와 같이, 읽기 후에 발생되는 데이터 전송 동안에 데이터 검증이 수행된다. 따라서, 검증이 실제로 행해지는 읽기 동작과 플래시 메모리 장치로부터 컨트롤러 회로로의 데이터 전송 동작이 부가됨으로써 프로그램 동작을 수행하는 시간이 증가된다. 프로그램 검증동작은, 바람직한 레벨로 또는 그 이상으로 모든 셀이 프로그램되어 있는지 아닌지를 나타내고, 일반적으로 셀이 목적 상태(target state)를 넘었는지를 체크하지는 않는다. 아마도 다중-상태 메모리의 경우에는 다음 상태를, 그러나 셀이 특정한 검증 조건을 초과한 경우에만 이루어진다. 이러한 저장 장치의 전반적인 신뢰성 때문에 상기한 검증과정에서 실패가 발생되는 일은 매우 드물다.
도 3은 데이터가 2개의 목적지 어드레스(DST[N] 및 DST[N+1])에 프로그램되고, 다음 목적지 어드레스(DST[N+2])에 프로그램되기 이전에 검증을 하기 위하여 연속하여 읽혀지는, 2개-섹터 프로그램/검증 동작의 타이밍도를 보여준다. READ 신 호는 소오스 섹터로부터 읽기가 발생됨을 나타낸다. XFER 신호는 플래시 데이터 레지스터와 컨트롤러간의 데이터 전송을 나타낸다. R/WB 신호는 전송의 방향(하이는 플래시 메모리로부터 컨트롤러로 읽기, 로우는 컨트롤러로부터 플래시 메모리로 쓰기)을 나타낸다. PROG 신호는 목적지 페이지에서 프로그램 동작이 발생됨을 나타낸다.
도 4는 프로그램/검증 동작이 이루어지는 동안에 발생되는 사건(event)의 순서를 설명한다.
1. 외부 컨트롤러 회로(도시되지 않음)로부터 매스터 데이터 레지스터(403)로 데이터 전송하기.
2. 매스터 데이터 레지스터(403)의 내용을 슬레이브 데이터 레지스터(404)로 전송하기.
3. 슬레이브 데이터 레지스터(404)로부터 플래시 메모리 어레이(400)로 데이터 프로그램하기.
4. 플래시 메모리 어레이(400)로부터 슬레이브 데이터 레지스터(404)로 데이터 읽어 오기.
5. 슬레이브 데이터 레지스터(404)로부터 매스터 데이터 레지스터(403)로 데이터 전송하기.
6. 매스터 데이터 레지스터(403)로부터 외부 컨트롤러 회로(도시되지 않음)로 검증을 위하여 데이터 전송하기.
이러한 검증 동작의 정확한 비용은, 다양한 플래시 메모리 동작의 횟수, 데 이터 세트 크기, I/O 버스 크기, I/O 버스 사이클 시간 등에 따라 가변된다. 그러나, 몇가지 전형적인 값을 사용하는 예가 다음과 같이 제시된다.
TRD = 25㎲ Tx = 26.4㎲ TPRG = 300㎲
단일 섹터를 프로그램 및 검증하기 위한 총 시간 (도 4 참조)
TPgm/Vfy = Tx + TPRG + TRD + Tx = 377㎲
데이터 검증시간을 전체 프로그램/검증 동작의 14%로 만들기.
비휘발성 메모리(non-volatile memory) 설계에 있어서, 이러한 장치들의 쓰기 및 읽기 성능을 개선하기 위하여 한번에 프로그램되고 읽혀질 수 있는 셀의 수가 증가되는 것은 일반적인 추세이다. 이것은 하나의 다이(die)에 메모리 셀 어레이의 수를 증가시키고, 단일 평면안에 페이지 크기를 증가시키고, 동시에 다수의 칩을 프로그래밍함으로써 또는 이러한 세가지 기술의 조합에 의해서 달성된다. 이와 같은 기술의 결과는, 조금 또는 전혀 변화하지 않는 프로그램 및 읽기 시간으로 프로그램되거나 읽혀지는 셀의 수가 많아서 데이터 전송 길이가 증가된다는 것이다. 따라서, 이와 같은 증가된 병렬처리가 시스템에서 데이터 검증의 비용은 점점 높아지고 있다. 일예로서, 위의 예에서 사용된 것과 동일한 타이밍값은 병렬처리가 4배로 증가된 시스템상의 충돌을 보여주고 있다.
TPgm/Vfy = 4*Tx + TPRG + TRD + 4*Tx = 526.4㎲
데이터 검증시간을 전체 4-페이지 복사 동작의 24%로 만들기.
플래시 메모리 장치는, 외부 컨트롤러 회로에 데이터를 전송함이 없이 후-프로그래밍 검증 동작(post-programming verification operation)을 수행할 수 있고, 상기한 프로그램 및 검증 동작이 이루어지는 동안에 외부 컨트롤러로부터 데이터가 전송될 수 있도록 하는 것으로 알려져 있다. 본 발명의 기본적인 특징에 의하면, 프로그램되어야 하는 데이터의 복사본이 메모리 장치에 유지된다. 프로그래밍이 완료되고 난 후에, 메모리 장치 자체내에서 수행되는 후-쓰기 읽기 검증 과정(post-write read-verify process)에서 메모리 장치에 유지되고 있던 복사본과 비교하기 위하여 상기한 데이터가 다시 읽혀진다.
하나의 실시예 세트에 있어서, 비휘발성 메모리 시스템은 3개의 데이터 레지스터를 포함하는 회로와 함께 설계된다. 첫번째 데이터 레지스터는 프로그래밍 회로를 제어하고, 읽기 동작으로부터 데이터를 저장한다. 두 번째 데이터 레지스터는 나중의 검증을 위하여 프로그래밍 데이터의 복사본을 보유한다. 세 번째 데이터 레지스터는 프로그램, 검증, 읽기 동작이 이루어지고 있는 동안에 데이터를 전송하기 위하여 사용된다. 현재의 데이터 데이터 세트가 프로그램되고 있는 동안에 프로그램될 다음의 데이터 세트를 전송하는 과정은 스트림 프로그래밍(stream programming)이라고 불리워진다. 프로그램 동작이 이루어지기 이전에, 데이터가 첫 번째 미 두 번째 레지스터로 전송된다. 프로그래밍 동작에 연속하여, 첫 번째 레지스터에 방금 프로그램되어 저장되어 있는 데이터가 셀로부터 읽혀진다. 다음에, 상기한 첫 번째 레지스터의 내용은 두 번째 레지스터의 내용과 비교된다. 2개의 데이터 세트가 서로 매치되면, 데이터가 올바르게 프로그램되었으며, 검증이 성공적으 로 이루어졌음을 나타내는 상태를 가리킨다. 프로그램 및 검증 동작이 이루어지고 있는 동안에, 세 번째 데이터 레지스터는 프로그램될 다음의 데이터 세트를 수신하는데 사용된다.
2개의 레지스터 구성을 갖는 다른 실시예 세트에 있어서, 매스터 레지스터는 들어오는 데이터를 수신하고, 프로그래밍에 연속하여 상기한 데이터의 복사본을 유지한다. 상기한 데이터가 쓰여지고 난 후에, 상기한 데이터는 두 번째 레지스터로 읽혀지고, 다음에 상기한 두 번째 레지스터의 내용은 상기한 매스터 레지스터 있는 원래의 데이터와 비교된다.
1개의 매스터 레지스터를 사용하는 또다른 실시예에 있어서, 상기한 매스터 레지스터는 프로그래밍에 연속하여 상기한 매스터 레지스터에 재차 유지되고 있는 데이터를 가지며, 읽혀진 데이터는 매스터 레지스터의 내용과 직접 비교되며, 상기한 데이터는 어레이로부터 읽혀진다.
상기한 실시예들은, 프로그램/검증 과정에서 프로그래밍을 위하여 사용된 레지스터안의 데이터를 잃어버리게 되는 파괴적인 프로그래밍 방법과, 그리고 계속적으로 데이터가 유지되는 비파괴적인 프로그래밍 방법이 모두 사용될 수 있도록 허용한다.
모든 실시예에서, 후-프로그래밍 검증 동작은 반복될 수 있고, 적당한 양의 읽기 마진이 존재하도록 하는 다른 읽기 조건을 사용하여 별도의 검증동작이 수행될 수 있다. 본 발명의 다른 특징으로서, 서로 다른 섹터들에 대하여 순차적으로 또는 병렬적으로 수행되는 후-프로그래밍 검증동작과 함께, 다양한 실시예들이 수 많은 데이터 섹터를 동시에 기록할 수가 있다. 상기한 후-프로그래밍 검증 동작은 메모리 장치에서 자동적으로 수행되거나 컨트롤러의 명령에 대응하여 수행되는 절차일 수도 있다. 상기한 명령은 검증 동작에서 사용되는 읽기 형태를 규정할 수 있고, 또한 읽기를 위하여 사용되는 마진 레벨 세트와 같은 패러미터들을 규정할 수 있다. 상기한 메모리는 바이너리 메모리 셀 또는 다중-상태 메모리 셀을 사용할 수 있다. 다중-상태 실시예에서, 어드레싱은 메모리 레벨이 될 수 있다.
본 발명의 부가적인 특징, 장점, 이점은, 다음에서 제시하는 특정한 대표적인 실시예들의 설명에 포함되어 있으며, 상기한 설명은 첨부 도면과 연관되어 이루어진다.
도 1은 전형적인 종래의 플래시 이이피롬 장치의 블록 다이어그램을 보여준다.
도 2는 전형적인 종래의 플래시-기초 저장매체 서브 시스템의 설계구조를 보여준다.
도 3은 종래의 2-섹터 프로그램/검증 동작의 타이밍도를 보여준다.
도 4는 종래의 시스템에서 프로그램/검증 동작 동안에 발생되는 이벤트의 순서를 설명한다.
도 5는 본 발명의 일시예에 따른 반도체 비휘발성 메모리의 구조를 보여준다.
도 6은 본 발명의 실시예에 있어서 2개-섹터 프로그램/검증 동작의 타이밍도 를 설명한다.
도 7은 본 발명의 실시예에 있어서프로그램.검증 동작이 이루어지고 있는 동안에 발생되는 사건의 순서를 설명한다.
도 8은 본 발명의 실시예에 있어서 프로그램/다중검증 동작이 이루어지고 있는 동안에 발생되는 사건의 순서를 설명한다.
도 9는 본 발명의 다른 실시예에 있어서 프로그램/다중검증 동작이 이루어지고 있는 동안에 발생되는 사건의 순서를 설명한다.
도 10은 본 발명의 또다른 실시예에 있어서 프로그램/다중검증 동작이 이루어지고 있는 동안에 발생되는 사건의 순서를 설명한다.
도 11 및 도 12는 스트림 프로그래밍의 사용을 설명하는 타이밍도이다,
도 13은 다중-상태 메모리에서 셀 집단 및 마진 읽기 조건을 설명한다.
도 14는 읽기 조건을 변경하는 하나의 가능한 방법을 보여준다.
도 15는 메모리 셀을 그들의 상태에 의해 어드레싱하는 과정을 설명한다.
도 16은 본 발명의 실시예에 있어서 메모리 셀을 그들의 상태에 의해 어드레싱할 때 레지스터 사용법의 예를 보여준다.
본 발명은, 연속적인 프로그래밍 동작을 위하여 외부 컨트롤러가 데이터를 동시에 장치로 전송하도록 하기 위하여 메모리로부터 전송되는 데이터를 필요로 하지 않는 플래시 메모리 장치의 프로그램/검증 동작을 수행하는, 시스템과 방법으로 이루어진다. 본 발명의 후-프로그램 읽기 검증 과정은, 실제적인 프로그래밍 과정 의 일부로서 발생되는, 종래의 일반적인 프로그램/검증 과정과 구분될 필요가 있다. 본 발명의 비교과정은 상기한 프로그래밍 과정과 분리되고 연속되며, 유지된 복사본과 비교되는 데이터를 제공하기 위한 실제적인 읽기 과정을 사용한다. 도 5는 본 발명의 일실시예에 따라 구성된 반도체 비휘발성 메모리를 나타내는 도면을 보여준다. 도 5에서 각 구성요소의 설명은, 다음의 예외를 제외하고는 도 1에서 설명된 것과 유사하다. 예외로서는, 부가적인 데이터 비교 레지스터(405)과, 데이터 검증 동작을 수행하기 위한 목적의 관련 비교 로직(430)이 있다. 본 발명의 일실시예에서, 감지된 데이터를 저장하고 프로그램될 데이터를 제공하는 레지스터는 두가지 동작의 메모리 구성요소가 물리적으로 같은 방법으로 설계된다.
본 발명에서 사용하기에 적합한 데이터 레지스터는 미합중국 특허 5,890,152에 상세히 소개되어 있다. 또다른 적합한 레지스터/데이터 래치 세트가 라울 아드리안 세르니아(Raul Adrian Cernea)에 의해 2001년 9월 17일자로 출원되었으며 "동적 컬럼 블록 선택(Dynamic Column Block Selection)"이라는 명칭을 가진 미합중국 특허에 소개되어 있다. 도시된 실시예에 따라, 매스터 데이터 레지스터(403), 슬레이브 데이터 레지스터(404), 데이터 비교 레지스터(405) 등과 같은 다양한 레지스터는 동시에 프로그램된 데이터를 저장하기에 충분하며, 동시에 프로그램되는 섹터마다 영구 레지스터 세트가 많이 있다. 도 6은 데이터가 2개의 목적지 어드레스(DST[n] 및 DST[n+1])에 프로그램되고 검증을 위하여 연속적으로 읽히는 2개-섹터 프로그램/검증 동작의 타이밍도를 보여준다. 읽힘과 동시에 상기한 데이터는, 어드레스(DST[N=2] 및 DST[n+3])에 기록되는 다음 한쌍의 섹터를 위하여 데이 터가 전송된다. READ 신호는 방금 프로그램된 어드레스로부터 2개의 섹터가 동시에 읽혀지는 것을 나타낸다. XFER 신호는 플래시 데이터 레지스터와 컨트롤러간의 데이터 전송을 나타낸다. R/W 신호는 전송의 방향(하이는 컨트롤러로의 전송을 나타내고, 로우는 플래시로의 전송을 나타낸다)을 나타낸다. 특히, 상기한 R/W 신호는 플래시 메모리로부터 컨트롤러로 데이터 전송이 발생되지 않는한, 항상 로우상태이다. PROG 신호는 목적지 페이지에서 프로그램 동작이 발생됨을 나타낸다.
도 7은 3개의 레지스터를 갖는 본 발명의 실시예에 있어서 프로그램/검증 동작 동안에 발생되는 이벤트의 순서를 설명한다. 도 7에서, 도 5에 도시되어 있는 컬럼 디코더(402), 센스 앰프 및 프로그램 제어회로 그룹(454), 기타 구성요들은 설명을 간단하게 하기 위하여 생략된다. 도 7은 다음과 같은 과정을 포함한다.
1. 외부 컨트롤러 회로(도시되지 않음)로부터 매스터 데이터 레지스터(403)로 데이터 전송하기.
2. 매스터 데이터 레지스터(403)의 내용을 슬레이브 데이터 레지스터(404) 및 데이터 비교 레지스터(405)로 동시에 전송하기.
3. 슬레이브 데이터 레지스터(404)로부터 플래시 메모리 어레이(400)로 데이터 프로그램하기.
4. 플래시 메모리 어레이(400)로부터 슬레이브 데이터 레지스터(404)로 데이터 읽어 오기. 동시에, 다음 프로그램 동작(단계 1)을 위하여 외부 버스로부터 매스터 데이터 레지스터(403)로 데이터 전송 시작하기.
5. 슬레이브 데이터 레지스터(404)에 있는 데이터를 데이터 비교 레지스터(405)에 있는 데이터와 비교하기. 이 비교결과는, 예를들면 외부 컨트롤러에 의해 읽혀질 수 있는 상태 레지스터(431)에 저장된다.
6. 만약 비교가 실패하면, 외부 컨트롤러는 적당한 에러 복구 방법을 적용할 수 있다.
다른 실시예에 있어서, 외부 버스로부터 매스터 데이터 레지스터(403)로의 데이터 전송은, 하나 또는 그 이상의 프로그래밍 단계, 데이터 읽기 단계, "스트림 프로그래밍" 과정에서의 비교 단계와 함께 동시에 발생된다. 에러 상태를 처리하기 위한 다른 방법은 많이 있다. 이와 같은 다른 방법으로서, 메모리의 다른 영역에 데이터를 쓰거나, 메모리의 페일링 부분에 불량으로서 삭제 또는 마킹을 하거나, 중재용 삭제 없이 더 많은 펄스를 인가하거나, 동일한 영역에 데이터를 지우거나 다시 쓰는 방법이 있다. 혹은, 에러가 몇 개 이하인 경우에는 아무런 처리도 없을 수 있다.
이러한 검증 동작의 시간과 성능면에서의 정확한 비용은, 다양한 플래시 메모리 동작의 횟수, 데이터 세트 크기, I/O 버스 폭, I/O 버스 사이클 시간 등에 따라 가변된다. 그러나, 몇가지 전형적인 값을 사용하는 본 발명의 동작의 예가 다음과 같이 제시된다.
TRD = 25㎲ Tx = 26.4㎲ TPRG = 300㎲
단일 섹터를 프로그램 및 검증하기 위한 총 시간 (도 4 참조)
TPgm/Vfy = [Tx + TPRG + TRD] = 351.4㎲
이것은 종래의 단일 섹터에 비해 프로그램 시간에 있어서 7%의 개선을 나타낸다.
비휘발성 메모리 설계에서, 이러한 장치의 쓰기 및 읽기 성능을 개선하기 위하여 한번에 프로그램 및 읽기를 할 수 있는 셀의 수가 증가되는 것은 일반적인 추세이다. 이것은 하나의 다이(die)에 메모리 셀 어레이의 수를 증가시키고, 단일 평면(single plane)안에 페이지 크기(page size)를 증가시키고, 동시에 다수의 칩을 프로그래밍함으로써 또는 이러한 3가지 기술의 조합에 의해서 달성된다. 이와 같은 기술의 결과는, 조금 또는 전혀 변화하지 않는 프로그램 및 읽기 시간으로 프로그램되거나 읽혀지는 셀의 수가 많아서 데이터 전송 길이가 증가된다는 것이다. 따라서, 이와 같은 증가된 병렬처리를 갖는 시스템에서 데이터 검증의 비용은 점점 높아지고 있다. 이전에 언급했던 바와 같은, 4개-섹터 예를 사용하면 다음과 같다.
TPgm/Vfy = 4*Tx + TPRG + TRD = 426㎲
이것은 종래의 4개 섹터에 비해 프로그램 시간에 있어서 20%의 개선을 나타낸다.
도 7은 하나의, 단계 4 및 단계 5에서 후-프로그래밍 읽기 검증 동작을 나타낸다. 상기한 후-프로그래밍 읽기 검증 동작은, 종래에 일반적으로 행해지는, 실제적인 프로그래밍 과정의 일부로서 발생되는 검증동작과 구분될 필요가 있다. 다음의 다른 실시예의 도 7의 비교 과정은 프로그래밍 과정과 분리되고, 연속되며, 상기한 프로그램 검증 과정이 고정된 목표값에 대응하여 셀 레벨을 비교하는 데 반하 여, 셀 레벨에 기초하여 비교되는 데이터를 제공하기 위한 실제적인 읽기 과정을 사용한다.
프로그램/검증 과정에서, 파괴적 프로그램/검증 방법 및 비파괴적 프로그램/검증 방법의 구분이 필요하다. 파괴적 프로그램/검증 방법은, 저장매체 구성요소가 적정한 레벨로 검증되는 프로그램/검증 동작 동안에 슬레이브 레지스터의 내용을 훼손시킨다. 레지스터의 내용은, 주어진 저장매체 구성요소가 더많은 프로그래밍을 필요로 하는지 아닌지를 나타내기 위한 프로그래밍 회로에 피드백되는데 사용된다. 한번 적당한 레벨로 검증되고 나면, 검증된 저장매체 구성요소에 대응되는 레지스터 내용은 다음 프로그래밍을 금지하기 위하여 지워진다. 슬레이브 레지스터의 모든 내용이 지워지거나, 또는 모든 저장매체 구성요소의 검증상태가 성공적인 프로그래밍을 지시할 때, 프로그래밍 동작이 완성된다. 비파괴 프로그램/검증 방법은 슬레이브 레지스터의 내용을 훼손시키지 않는다. 상기한 비파괴 프로그램/검증 방법은 저장매체 구성요소가 적당한 레벨로 검증된 이후에도 더많은 프로그래밍 단계를 받아들이도록 한다. 모든 저장매체 구성요소가 프로그램된 상태, 즉 종료를 검출하기 위한 모든 저장매체 구성요소의 프로그램/검증 결과의 모니터링을 필요로 하는 상태의 검출 상태에 이르렀을 때 프로그래밍 동작이 종료된다. 종래에는, 플래시 메모리 장치, 특히 다중 레벨 장치에서는, 전형적으로 파괴적인 프로그램/검증 방법을 사용하여 왔다. 또한, 부가적인 펄스의 사용이 역으로 셀들의 상태에 과도하게 영향을 미치지 않을 때 플래시 메모리 시스템에서 비파괴적인 프로그램/검증 기술도 사용된다. 또한, 비파괴적인 프로그램/검증 방법은, 부가적인 스트레스 를 허용할 수 있는 다른 형태의 저장매체 구성요소를 갖는 메모리 시스템에서 사용될 수 있다.
도 7을 참조로 하여 위에서 언급한 실시예는, 파괴적인 프로그램/검증 방법과 스트림 프로그래밍을 조화시킨다. 데이터의 복사본(copy)이 비교 레지스터에 저장되기 때문에, 슬레이브 레지스터는 프로그래밍 동안에 데이터를 유지할 필요가 없다. 더우기, 매스터 레지스터는 비교 레지스터 및 슬레이브 레지스터에 자신의 내용을 전송하고 나면, 다음의 데이터 세트를 자유자재로 수신할 수가 있다. 스트림 프로그래밍을 하지 않아도, 비파괴적인 프로그램/검증 방법 또는 후-프로그램 읽기/검증 동작이 상대적으로 적은 레지스터에 의해 수행될 수가 있다. 만약, 장치가 비파괴적인 프로그램/검증 방법을 도입한다면, 비교 레지스터는 필요가 없고, 슬레이브 레지스터의 데이터는 센스 앰프의 출력과 직접 비교될 수 있다.
다른 실시예에 있어서, 예를 들면 각각의 쓰기 동작이후, 또는 특정 쓰기 동작에서, 하나 이상의 후-프로그래밍 읽기 검증 동작이 실행될 수 있다. 상기한 예에서 설명한 바와 같이, 이전의 다중 검증 동작으로부터 수행된 다수의 쓰기 동작에 의해, 임의적으로 상기한 이전의 다중 검증 동작으로부터 지나간 시간에 기초하여, 검증 실패 삭제시에, 삭제 사이클의 수에 기초하여, 프로그램 검증 시패시에 실행된다. 검증동작은, 도 13을 참조로 하여 아래에서 설명하는 바와 같이, 전압 감지 방법에 있어서 보통 전압 문턱치, 하한 마진 전압 문턱치, 상한 마진 전압 문턱치 등과 같은 다양한 조건하에서 수행될 수 있다. 이와 같은 다양한 전압 레벨의 사용은 본 발명의 후-쓰기 읽기 검증 동작을, 프로그램 과정의 일부를 형성하는 종 래의 검증 동작과 구분되도록 한다.
지우기 동작 후에 메모리가 검증 실패 상태가 될때 지우기 검증 실패가 발생되는데, 이 경우에 블록이 정상상태하에서 사용하기에 충분할 정도로 지워졌다고 하더라도 지우기 동작은 실패한 것으로 된다. 이것은 지우기 검증이 실제적으로 필요한 것보다 더 많은 지워진 상태로 셀이 지워진 것을 체크할 수 있고, 그럼으로써 정상적인 사용시에 필요되는 것보다 더 많은 보호 대역(guard-band)을 제공한다는 사실에 기인한다. 이것은, 예를들면 앞으로 참조를 하게 될 미합중국 특허 제5,172,338호 및 제5,602,987호에 설명되어 있다. 지우기 뒤에 블록이 사용가능한지 아닌지를 체킹하기 위한 다른 방법은, 충분하게 지워지지 않은 셀을 체크하기 위하여 일반적으로 마진이 주어진, 지우기 실패를 체크하기 위하여 바이어스된 조건하에서 지우기 후에 읽기를 수행하는 것이다. 매번 지우기 후에 이와 같이 읽기를 수행하는 것은 시스템의 성능 저하를 야기할 수 있기 때문에 일반적으로는 권장되지 않는다. 수많은 종래의 플래시 메모리 시스템은 지우기 동작의 검증 상태를 무시하였으며, 단순히 후-쓰기 읽기 검증 동작의 결과만을 체크하였다. 본 발명의 실시예에 있어서, 지우기 검증 실패 상태의 경우에, 불충분하게 지워진 셀을 체킹하기 위하여 바이어스된 별도의 후-쓰기 읽기 검증 동작이 수행된다. 만약에 블록이 이러한 쓰기/검증 조건을 통과했다면, 상기한 블록은 지우기 검증 실패에도 불구하고, 정상 조건하에서 사용이 가능한 것으로 본다.
지우기 사이클의 수에 기초하여 다중 읽기/검증 동작을 실행하는 것은, 지우기 동작과 프로그램 동작이 일반적으로 일대일이기 때문에, 이전의 다중-검증 동 작 이후에 수행된 쓰기 동작의 수에 따라 결정을 바이어싱하는 것과 비슷하다. 변형예로서, 다중 검증 동작의 사용은, 지우기 사이클의 전체 횟수 대신에 이전의 다중-검증 동작 후에 수행된 지우기 동작의 수에 의해 촉발될 수 있다. 앞으로 참조될 미합중국 특허 제5,095,344호는, 플래시 메모리 시스템에서 지우기 사이클의 수의 유지에 대하여 설명하고 있다.
부가적인 후-쓰기 읽기 비교 동작을 촉발시키기 위한 프로그램 검증 실패의 기준에 관하여, 프로그램 검증은, 모든 셀이 바람직한 레벨로 또는 그 이상으로 프로그램되었는지 아닌지를 가리키는 프로그램 동작 후에 메모리에 의해서 복귀된 상태라는 점을 주의해야 한다. 상기한 프로그램 검증은, 셀의 특정 상태를 결정하기 위한 셀의 실제 읽기로서, 본 발명에서 설명된 후-쓰기 읽기 검증과는 다른 것이다. 상기한 프로그램 검증은, 다중-상태 메모리의 경우에 아마도 다음 상태인, 목표 상태를 셀이 초과하였는지를 일반적으로 체크하지 않는다.
도 8은 2개의 후-쓰기 비교 검증을 구비한, 3개의 레지스터의 구성을 갖는 실시예를 보여준다. 도 7과 비교하여 볼때, 단계 6과 단계 7은 추가적인 비교를 위하여 부가된다. 또한 상기한 과정은, 도 7에 도시되어 있지 않은 페이즈 3("스트림 프로그래밍" 동작)이 이루어지고 있는 동안에, 비록 그곳에서 사용되지 않더라도, 선택적인 데이터 전송을 포함한다. 또한, 도 8의 변형예는, 읽기 검증 보다는, 현재의 프로그래밍 동작의 시작과 함께 일어나는 다음의 프로그램 동작을 위한 데이터 전송의 시작이라는 점에서 위에서 언급한 순서와는 다르다. 프로그래밍 동작이 길어질수록, 이것은 더많은 데이터 전송이 동시에 발생되도록 한다. 이와 대응되는 타이밍도는 도 12에 도시되어 있다.
도 8에 도시되어 있는 바와 같은, 본 발명에 따라 프로그램/검증 동작이 이루어지고 있는 동안에 발생되는 사건의 순서는 다음과 같다.
1. 외부 컨트롤러 회로(도시되지 않음)로부터 매스터 데이터 레지스터(403)로 데이터 전송하기.
2. 매스터 데이터 레지스터(403)의 내용을 슬레이브 데이터 레지스터(404) 및 데이터 비교 레지스터(405)로 동시에 전송하기. 또는, 단계 5의 이전에, 슬레이브 데이터 레지스터(404)의 로딩 후에 데이터 비교 레지스터(405)가 로딩될 수 있다.
3. 슬레이브 데이터 레지스터(404)로부터 플래시 메모리 어레이(400)로 데이터 프로그램하기. 매스터 데이터 레지스터(403)의 내용이 슬레이브 데이터 레지스터(404) 및 데이터 비교 레지스터(405)로 전송되고 난 후, 다음 프로그램 동작(단계 1)을 위하여 외부 버스로부터 매스터 데이터 레지스터(403)로 데이터 전송 시작하기. 이것은 프로그래밍과 동시에 시작할 수 있다.
4. 읽기 검증의 소정의 반복을 위한 조건하에서, 플래시 메모리 어레이(400)로부터 슬레이브 데이터 레지스터(404)로 데이터 읽어 오기.
5. 슬레이브 데이터 레지스터(404)에 있는 데이터를 데이터 비교 레지스터(405)에 있는 데이터와 비교하기. 이 비교결과는, 예를들면 외부 컨트롤러에 의해 읽혀질 수 있는 상태 레지스터(431)에 저장된다.
6. 예를들면 위에서 언급한 표준들중의 하나로 인하여 하나 또는 그 이상의 부가적인 읽기 검증이 이루어졌는지 결정하기. 각각의 반복에 있어서 바람직하고, 가능한 다른, 읽기 상태하에서 모든 바람직한 반복을 위한 단계 4-5을 반복수행한다.
7. 만약 비교가 실패하면, 외부 컨트롤러는 위에서 설명한 바와 같은 적당한 에러 복구 방법을 적용할 수 있다.
이전에 설명한 바와 같이, 이러한 검증동작의 정확한 시간/성능 비용은 가변적이다. 그러나, 위에서와 같이, 개별적인 동작 시간을 위한 동일한 전형적인 값을 사용하면, 도 4의 종래의 2개의 후-쓰기 비교 검증을 갖는 1개-섹터의 예는 다음과 같다.
TPgm/Vfy = Tx + TPRG + TRD + Tx + TRD + Tx = 429㎲
종래의 2개의 후-쓰기 비교 검증을 갖는 4개-섹터 병렬의 예는 다음과 같다.
TPgm/Vfy = 4*Tx + TPRG + TRD + 4*Tx + TRD + 4*Tx = 666㎲
도 8에 도시되어 있는 바와 같은, 본 발명의 실시예에 따른 1개-섹터의 예는 다음과 같다.
TPgm/Vfy = Tx + TPRG + TRD + TRD = 376㎲
그리고, 본 발명의 실시예에 따른 4개-섹터 병렬의 예는 다음과 같다.
TPgm/Vfy = 4*Tx + TPRG + TRD + TRD = 455㎲
이것은 각각 12%의 개선과 32%의 개선을 나타낸다. 이러한 시간의 감소가, 현재 섹터들의 프로그램이 이루어지고 있는 동안에 연속적인 섹터들에 프로그램될 데이터를 전송함으로써 이루어지는, 스트림 프로그래밍으로 인한 성능의 개선을 설명할 수는 없다.
이제까지 기술한 실시예 모두는, 데이터의 복사본을 저장하기 위한 데이터 비교 레지스터(405)와, 읽기/쓰기 회로(454)로 전송되거나 읽기/쓰기 회로(454)로부터 전송되는 데이터를 유지하기 위한 슬레이브 데이터 레지스터(404)와 같은 특별한 레지스터를 사용한다. 다른 실시예 세트는 단지 매스터 레지스터와 슬레이브 레지스터를 사용하는데, 상기한 매스터 레지스터는 비교 레지스터로서도 동작되는 2개-레지스터 구성을 갖는다. 이러한 실시예에 있어서, 데이터 비교는 가능하지만, 전체적인 프로그램/검증 동작이 완료된 후가 될 때까지 호스트로부터 플래시 메모리 컨트롤러로 다음 데이터 전송을 시작하는 것은 불가능하다.
도 7 및 도 8에 각각 도시되어 있는 3개의 레지스터를 갖는 실시예에서와 같이, 단일의 후-쓰기 비교 검증과정 및 다중 후-쓰기 비교 검증과정 모두다, 2개의 레지스터를 갖는 실시예 및 1개의 레지스터를 갖는 실시예에서 사용될 수가 있다. 2개의 레지스터를 갖는 실시예에 있어서, 스트림 프로그래밍이 제거되거나, 비파괴적인 프로그램 검증 방법이 사용되어야만 한다. 1개의 레지스터를 갖는 실시예에 있어서, 아래의 매트릭스에 나타낸 바와 같은 2개의 방법이 이용된다.
레지스터의 수 파괴적 비파괴적
1 불가능 스트림 프로그래밍 않됨 매스터레지스터와 센스출력 비교
2 스트림 프로그래밍 않됨 매스터레지스터와 슬레이브레지스터 비교 매스터레지스터와 센스출력 비교 스트림 프로그래밍 매스터레지스터와 센스출력 비교
3 스트림 프로그래밍 비교레지스터와 슬레이브레지스터 비교 비교레지스터와 센스출력 비교 스트림 프로그래밍 매스터레지스터와 센스출력 비교 별도의 레지스트 슬레이브레지스터와 비교레지스터 비교
매트릭스의 2개 레지스터를 갖는 파괴적 방법의 첫 번째 엔트리는 도 7 및 도 8에서 설명한 과정이다. 변형예에 있어서, 비교 레지스터는, 1개 레지스터를 갖는 비파괴적 방법의 예와 비슷하게, 센싱과정의 출력과 직접 비교될 수 있다. 2개 레지스터를 갖는 파괴적 방법의 경우에, 비교 레지스터가 비어 있기 때문에, 매스터 레지스터가 슬레이브 레지스터 또는 센스 출력과의 비교를 위한 데이터의 복사본을 유지하고 있지만 스트림 프로그래밍이 이루어지지 않는다. 1개 레지스터를 갖는 파괴적 방법의 경우에, 비교를 위해 사용하기 위한 메모리상의 데이터의 복사본(copy)이 전혀 없기 때문에 어떠한 과정도 불가능하다.
3개 레지스터를 갖는 비파괴적 방법의 경우에, 매스터 레지스터는 현재 데이터 세트를 전송하기만 하면 자유롭기 때문에 스트림 프로그래밍이 가능하다. 이 경우에, 파괴적 방법의 경우와 같이, 프로그래밍 결과가 읽혀져서 슬레이브 레지스터에 저장되고, 비교 레지스터의 내용과 비교된다. 또한, 슬레이브 레지스터가 데이터의 복사본을 유지하고 있기 때문에, 상기한 슬레이브 레지스터에 저장된 복사본이 센스출력과 직접 비교될 수 있고, 이 경우에 비교 레지스터는 불필요하다. 이러한 불필요한 비교 레지스터를 제거하면, 2개 레지스터를 갖는 비파괴적 방법의 경 우가 된다. 슬레이브 레지스터를 사용하는 대신에, 데이터의 비파괴적 프로그래밍이 매스터 레지스터로부터 직접 수행되고, 센스출력과 직접 비교되는 매스터에 유지된 데이터와 함께 1개 레지스터를 갖는 실시예가 가능하다. 1개 레지스터를 갖는 실시예에 있어서, 스트림 프로그래밍을 할 수가 없다. 어떠한 방법에서도 비교는 센스 출력과 직접 이루어진다는 점에 주목하자.
도 9는 비파괴적 프로그램/검증 및 2개의 쓰기 비교 검증 동작과 함께 2개 레지스터를 갖는 구성을 보여준다. 매스터 및 비교의 의무는 1개의 레지스터에 의해 분담되고, 도 5의 데이터 비교 레지스터(405) 및 매스터 데이터 레지스터(403)는 동일하며, 입력 및 매스터 데이터 레지스터(403/405)상에서 430은 슬레이브 데이터 레지스터(404)에 연결된다. 상기한 매스터는 비교를 수행하기 위하여 프로그래밍에 연속하는 데이터를 유지한다.
도 9에 도시되어 있는 실시예의 과정은 도 8에서 기술되어 있는 것과 유사하다.
1. 외부 컨트롤러 회로(도시되지 않음)로부터 매스터 데이터 레지스터(403)로 데이터 전송하기.
2. 매스터 데이터 레지스터(403)의 내용을 슬레이브 데이터 레지스터(404)로 전송하기. 상기한 데이터는 매스터 데이터 레지스터(403)에 유지된다.
3. 슬레이브 데이터 레지스터(404)로부터 플래시 메모리 어레이(400)로 데이터 프로그램하기. 매스터 데이터 레지스터(403)가 상기한 데이터의 복사본을 유지하고 있기 때문에, 부가적인 레지스터를 이용하지 않으면, 스트림 프로그래밍이 되 지 않는다.
4. 읽기 검증의 소정의 반복을 위한 조건하에서, 플래시 메모리 어레이(400)로부터 슬레이브 데이터 레지스터(404)로 데이터 읽어 오기.
5. 슬레이브 데이터 레지스터(404)에 있는 데이터를 데이터 비교 레지스터(405)에 있는 데이터와 비교하기. 이 비교결과는, 예를들면 외부 컨트롤러에 의해 읽혀질 수 있는 상태 레지스터(431)에 저장된다.
6, 7. 예를들면 위에서 언급한 표준들중의 하나로 인하여 하나 또는 그 이상의 부가적인 읽기 검증이 이루어졌다면, 단계 6 및 단계 7은 각각의 반복에 있어서 바람직한 읽기 조건하에서 모든 바람직한 반복을 위한 단계 4 및 단계 5를 반복수행한다. 만약 비교가 실패하면, 외부 컨트롤러는 이전에 설명한 바와 같은 적당한 에러 복구 방법을 적용할 수 있다.
단일의 후-쓰기 비교 검증과정 및 다중 후-쓰기 비교 검증과정 모두다, 비파괴적인 프로그램/검증 방법이 사용된다면, 한 개의 레지스터 실시예에서 행해질 수가 있다. 도 10은 2개의 쓰기 비교 검증 동작을 위한 구조를 보여준다. 다른 실시예 세트에 있어서, 읽어 온 데이터를 레지스터에 저장하고 상기한 레지스터의 저장된 내용을 비교하는 것 보다는, 읽는 과정의 끝에서 동시에 비교가 행해진다. 도 5의 슬레이브 레지스터(404) 및 비교 레지스터(405)는 없으며, 센스 앰프 및 프로그램 제어회로 그룹(454)의 센스 회로에 연결된 430이 있으며, 입력 및 매스터 데이터 레지스터(403)이 있다. 도 9에서와 같이 상기한 데이터는 매스터 데이터 레지스터(403)에 유지되고, 도 9와는 다르게 상기한 어레이는 데이터 세트의 파괴 없이 매스터 데이터 레지스터로부터 프로그램된다. 도 10에 도시되어 있는 실시예에 있어서, 2개의 후-쓰기 비교 검증과정의 방법은 다음과 같이 이루어진다.
1. 외부 컨트롤러 회로(도시되지 않음)로부터 매스터 데이터 레지스터(403)로 데이터 전송하기.
2. 매스터 데이터 레지스터(403)로부터 플래시 메모리 어레이(400)로 데이터 프로그램하기. 상기한 데이터는 매스터 데이터 레지스터(403)에 유지된다. 매스터 데이터 레지스터(403)가 상기한 데이터의 복사본을 유지하고 있기 때문에, 부가적인 레지스터를 이용하지 않으면, 스트림 프로그래밍이 되지 않는다.
3. 읽기 검증의 소정의 반복을 위한 조건하에서, 플래시 메모리 어레이(400)로부터 슬레이브 데이터 레지스터(404)로 데이터 읽어 오기, 그리고 매스터 데이터 레지스터(403)에 있는 데이터를 직접 비교하기. 이 비교결과는, 예를들면 외부 컨트롤러에 의해 읽혀질 수 있는 상태 레지스터(431)에 저장된다.
4. 예를들면 위에서 언급한 표준들중의 하나로 인하여 하나 또는 그 이상의 부가적인 읽기 검증이 이루어졌다면, 단계 4는 각각의 반복에 있어서 바람직한 읽기 조건하에서 모든 바람직한 반복을 위한 단계 3을 반복수행한다. 만약 비교가 실패하면, 외부 컨트롤러는 이전에 설명한 바와 같은 적당한 에러 복구 방법을 적용할 수 있다.
도 10의 1개의 레지스터를 갖는 실시예의 변형예에서, 첫 번째 매스터 데이터 레지스터(403)를 사용하여 단계 1-4가 수행되고 있는 동안에, 스트림 과정에서 다음의 데이터가 로딩될 수 있도록 두 번째 레지스터(403)가 제공될 수 있다. 첫 번째 레지스터(403)를 위한 상기한 과정이 종료되고 나면, 2개의 매스터 데이터 레지스터(403)의 역할은 서로 바뀐다.
도 11 및 도 12는 스트림 프로그래밍의 사용을 설명하기 위한 한쌍의 타이밍 다이어그램으로서, 이러한 과정을 허용하는 실시예에 있어서, 레지스터에서 현재 데이터를 프로그래밍하는 동안에 연속하는 섹터의 프로그래밍을 위한 데이터를 발생시킨다.
도 11의 타이밍도는, 도 3 및 도 6에서 사용된 것에 비해, 다른 프로토콜에 기초하고 있으며, 한번의 읽기의 뒤에 수행되는 2 섹터 병렬 프로그래밍 동작의 종래 예를 보여준다. 도 11 및 도 12의 기본적인 프로토콜은 개념의 설명을 쉽게 하기 위하여, 좀더 유연적이고, 좀더 설명적이다. 도시되어 있는 인터페이스를 간단히 설명하면, ALE선은 어드레스가 메모리로 발생될 때 액티브 하이이고, CLE선은 명령이 메모리로 발생될 때 액티브 하이이고, /WE선은 메모리에 기록되는 데이터, 어드레스, 명령에 클록을 제공하고, /RE선은 메모리로부터 읽혀지는 데이터, 어드레스, 명령에 클록을 제공하고, R/B선은 메모리 장치가 메모리 어레이에 읽기, 쓰기, 지우기 동작을 수행하고 있을 때 액티브 로우이다. C.1.A 및 C.1.B 시퀀스는, /RE선이 로우가 될 때, I/O 선에서 각각 DATAN 및 DATAN+2와 함께 메모리 장치에서 데이터가 전송되는 프로세스이다. 도 11의 실시예는, 예를 들면 C.1.A 및 C.1.B 시퀀스를 반복하고, 다른 명령으로 각각의 시퀀스 세트를 시작하는 각각의 섹터에서 2개의 읽기의 경우로 확장될 수도 있다. 예를 들면, 다른 읽기 조건을 가리키기 위하여, 한번 시퀀스를 발생시키고, READ1 CMD 명령과 함께 시작하고, 그다음에 READ2 CMD 명령과 함께 다시 시작한다. 다른 실시예는, 각각의 읽기 명령 이전에 데이터의 형태로 몇 개의 패러미터 세트를 발생시킬 수도 있다.
도 11에 도시되어 있는 인터페이스와 유사한 종래의 구성은, 비록 본 발명의 스트림 프로그래밍 구성이 그것을 허용하는 메모리 장치를 필요로 하지만, 부분적으로 바쁜 동안에는 인터페이스의 어떠한 활동도 무시해버린다. 도 11 및 도 12의 타이밍도는 인터페이스의 구조안에서 가능한 구성을 설명하고 있으며, 다른 타이밍도도 가능하다. XFER CMD는 메모리 장치로 데이터 전송을 시작하고, CACHE CMD는 메모리로의 데이터 전송을 완료한다. PGM CMD는 매스터 레지스터로부터 슬레이브 레지스터로 데이터 전송을 촉발시키고 레지스터들을 비교하는데 사용될 수 있다. ADDR과 DATA 위상은 실제적으로 몇 개의 사이클을 구성한다. 데이터 쓰기에 이어서, 처음으로 R/B선이 로우상태가 되면, STAT CMD와 STAT는, 목표 레벨이 도달했는지를 결정하는 프로그램/검증 위상을 포함하는, 프로그램 동작의 상태를 제공한다. 또한, 상기한 프로그램 동작의 일부로서 발생되는 검증은 본 발명의 과정과 분리되며, 읽기에 기초하며, 쓰기 과정의 완료 후에 연속된다.
도 12는 각각의 섹터의 단일 비교 검증에 뒤이은 "스트림 프로그래밍"과 함께 2개 섹터 병렬 프로그램 동작의 예를 위한 부분적인 타이밍도를 보여준다. 이 기본적인 타이밍도는, 만약 다양한 구성요소들이 재정렬되고, 변경되고, 반복되고, 또는 빠뜨려지는, 수많은 다른 실시예를 위한 구성요소를 포함한다.
첫 번째 실시예 세트는 2개 섹터 병렬 프로그래밍, 스트림 프로그래밍, 단일의 후-쓰기 비교 검증을 수행한다. 이러한 예는 도 12에 도시되어 있다. 첫 번째 2개 데이터 섹터(N 및 N+1)의 송이 이루어지고 난 다음에, 상기한 2개의 섹터는 R/B가 로우일 때 메모리 어레이로 프로그램된다. 상기한 섹터가 기록되고 있는 동안에, 다음 2개의 섹터(N+2 및 N+3)는 C2.A 시퀀스에서 매스터 데이터 레지스터로 전송된다(이 특별한 변형예는 어레이의 출력이 레지스터와 직접 비교되는, 3개 레지스터를 갖는 구성이나 2개 레지스트를 갖는 비파괴적인 구성을 사용한다). 다음에 어드레스 N에 저장되어 있는 데이터가 읽혀져서 비교되는 시퀀스 C2.B 가 이어지며, 그리고 어드레스 N+1에 저장되어 있는 데이터가 읽혀져서 비교되는 시퀀스 C2.C가 이어진다. 도면에서 보여주는 부분을 넘어서 계속되는 시퀀스 C2.C의 나머지는 시퀀스 C2.B 와 마찬가지로 종료된다.
시퀀스에 있어서 시퀀스 C2.A의 새로운 데이터 전송이 시작되는 곳은 선택적이다. 도 3 및 도 6에 도시되어 있는 예는 적당한 프로그래밍 동작 후에, 그리고 연속되어 읽기-검증이 이루어지고 있는 동안에 시작하는 데이터 전송을 보여준다. 병렬 프로그래밍 동작에 필요한 몇 개의 데이터 전송의 축적 시간과 비교하여 읽기 동작이 짧기 때문에, 몇몇 데이터 전송 시간은 플래시 메모리 동작에서 동시에 수행되지 않는다. 메모리 동작 시간에 부가되는 어떠한 메모리 전송 시간도, 모두가 동시에 수행되는 경우와 비교하여 볼 때 성능의 저하를 가져 온다. 도 11 및 도 12는 프로그램 동작이 이루어지고 있는 동안에의 데이터 전송 시작을 보여준다. 프로그램 동작이 길기 때문에, 그리고 읽기/검증 동작이 이어지기 때문에, 더많은 데이터 전송시간이 메모리 동작과 동시에 수행될 것이다. 이것은 작지만 성능의 저하로 귀결된다. 도 12에 있어서, 시퀀스 C2.A 및 시퀀스 C2.B의 사이에 발생되는 STAT CMD 신호 및 STAT 신호는, 시퀀스 C2.B 및 시퀀스 C2.C의 사이에 발생되는 STAT CMD 신호 및 STAT 신호와 구분될 필요가 있다. 시퀀스 C2.A 및 시퀀스 C2.B의 사이에 발생되는 STAT CMD 신호 및 STAT 신호는, 목표 레벨에 이르렀는지를 결정하는 프로그램 검증 위상을 포함하여, R/B 신호가 로우인 동안에 수행되는 프로그램 동작의 상태를 제공한다. 시퀀스 C2.B 및 시퀀스 C2.C의 일부를 형성하는 STAT CMD 신호 및 STAT 신호는, 본 발명의 후-쓰기 읽기 검증 동작의 상태를 제공한다. 일반적으로, 다른 실시예서, 하나는 프로그램 검증 상태를 위한 명령이고, 다른 하나는 읽기/검증 과정을 위한 명령과 같이, 다른 명령이 적용될 수도 있다. 도 12의 시퀀스 C2.B와 시퀀스 C1.A를 비교하면, 시퀀스 C2.B는 단순히 전송되는 상태와 함께 끝나는데 반해, 시퀀스 C1.A는 메모리로부터 전송되는 데이터로 끝나는 점을 볼 수가 있다. 다른 실시예에서, 상기한 데이터는 동시에 비교되고, 시퀀스 C2.B는 2개의 어드레스를 발생시키는 것으로 변경된다. 에를들면, 시퀀스 C2.B 및 시퀀스 C1.A는 CMP1 층, ADDR N, ADDR N+1, CMP EXEC CMD, STAT 층, STAT 등이 될 수 있으며, 별도의 CMP EXEC CMD는 비교되는 모든 어드레스가 발생되는 것을 나타내는데 사용된다.
또 다른 실시예에 있어서, 상기한 메모리는 프로그래밍 동작후에 자동적으로 시퀀스 비교를 수행할 수 있고, 이에따라 시퀀스 C2.B 및 C2.C는 필요로 하지 않으며, 프로그래밍 동작 후에 상태 페이즈가 비교 상태를 포함한다.
다른 실시예 세트는 2개 섹터 병렬 프로그래밍, 스트림 프로그래밍, 다중 후-쓰기 비교 검증을 수행한다. 이러한 시퀀스는, 예를들면 시퀀스 C2.B 및 C2.C를 반복하고 다른 명명에 의해 각 시퀀스 세트를 시작함으로써 각각의 섹터의 2개의 비교의 경우로 확장될 수 있다. 예를들면, 다른 읽기 조건을 나타내기 위하여 시퀀스를 발생시키고, CMP1, CMD 명령으로 시작하고, 다시 CMP2, CMD로 시작한다. 다른 실시예는, 각각의 읽기 명령 이전에 데이터의 형태로, 읽기를 위하여 사용되는 전압 레벨 값과 같은 몇몇 패러미터 세트를 발생시킬 수 있다. 다른 실시예에서, 상기한 메모리는, 프로그래밍의 상태 페이즈가 비교 상태를 포함하는 동안에, 위에서 설명한 바와 같이, 후-쓰기 비교를 자동화시킬 수도 있다.
또 다른 실시예 세트는 2개 섹터 프로그래밍, 스트림 프로그래밍 없음, 몇개의 후-쓰기 비교 검증을 수행한다. 이러한 실시예는, 도 9 및 도 10의 2개 또는 1개 레지스터를 갖는 실시예로 구현될 수 있다. 상기한 시퀀스는, 도면의 위치에서 시퀀스 C2.A를 제거함으로써 스트림 프로그래밍 없이 프로그래밍을 수행하기 위하여 변경될 수도 있다. 다음의 섹터를 위한 데이터는, 수정된 도 12에서와 같이 어드레스 N+2 및 N+3과 함께 시퀀스에서 발생될 수도 있다.
위에서 설명한 바와 같이, 다른 읽기 조건들이 후-쓰기 비교 검증의 읽기 과정에서 사용될 수가 있다. 다중 비교/검증을 사용하는 실시예에서는, 수많은 비교를 위하여 사용되는 수많은 개별적인 읽기의 각각은 다른 마진 읽기 조건으로 수행될 수가 있다. 다음의 논의는 다중-상태 비휘발성 저장매체 유니트에 대한 것이며, 바이너리(binary)의 경우에 대하여 곧이어 살펴보기로 한다. 또한, 비록 예에서는 2개-섹터 병렬 동작을 보여주고 있지만, 본 발명은 1개의 섹터 또는 어떠한 개수의 섹터에도 동시에 적용된다.
도 13은 4개-상태 메모리에서 셀집적과 마진 읽기 조건의 표준적인 분포를 설명하여 주며, 하나는 높은 프로그램 상태를 향하고 다른 하나는 낮은 프로그램 상태를 향하는 마진 읽기 조건의 2가지 가능한 세트를 보여준다. 다양한 마진 레벨과 그의 사용에 관한 자세한 내용이 미합중국 특허 제5,532,962호와 2000년 9월 27일 출원된 미합중국 특허 출원 제09/671,793호에 나와 있으며, 앞으로 이를 참조한다.
도 13에 도시되어 있는 예는, 특정 읽기 조건하에서 저장 매체의 전류가 기준전류 세트와 비교되는, 전류-감지 메모리 시스템이다. 다른 메모리 시스템에서, 저장매체 유니트의 상태는 많은 다른 패러미터를 사용하여 결정될 수 있다. 아래의 예에서, 셀의 저장 충전 레벨의 결정은 전류 감지에 의해 수행되며, 고정된 바이어스 조건을 사용하면 전류의 전도 크기가 감지된다. 또한, 이러한 결정은 문턱치 전압을 감지함으로써 만들어질 수 있으며, 이러한 전도는 가변되는 스티어링 게이트 바이어스 조건을 사용하여 감지된다. 이러한 방법은 한쌍의 보다 기본적인 접근방법을 나타낸다.
또한, 결정은 셀들의 충전 레벨이, 역동적으로 선충전 커패시터와 같은 센스 노드의 방전률을 제어하도록 수행된다. 주어진 방전레벨이 이르는 시간을 감지함으로써 저장 충전 레벨이 결정된다. 이 경우에 셀의 조건을 가리키는 패러미터는 시간이다. 이러한 접근방법이 미합중국 특허 제6,222,762제 및 2001년 11월 20일에 "다중레벨 비휘발성 집적 메모리 장치용 센스 증폭기 (Sense Amplifier for Multilevel Non-Volatile Integrated Memory Devices)"라는 명칭으로 출원된 미합 중국 특허출원에 설명되어 있다. 다른 실시예 기술은 앞으로 참조로 사용될, 미합중국 특허 제6,044,019호에 설명된 접근방법에서와 같이, 저장매체 유니트의 상태가 주파수를 패러미터로서 사용하여 결정된다.
전류 검출 접근방법은 위에서 참조로 포함된 미합중국 특허 제5,172,338호와 그리고, 앞으로 참조하게 될 미합중국 특허출원 제08/910,947호에 충분히 개시되어 있고, 그리고 본 발명에서 설명된 다양한 실시예에 적용될 것이다. 문턱치 전압 Vth 검출 접근방법은 전압 마진이라고 불리우는데, 몇몇 예에서 언급될 것이다. 이것은 해상도를 검출을 개선하고, 대량의 병렬 읽기 동작과 관련된 전력과 전류를 낮게 유지하고, 비트 라인 저항을 높이기 위하여 취약성을 최소화시킨다. 문턱치 전압 Vth 검출 또는 전압 마진 접근방법은 미합중국 특허 제6,222,762호에 보다 충분히 개시되어 있다. 주어진 게이트 전압에 대응하여 고정된 드레인 전압을 위한 소오스에서의 전압과 같은 다른 전압 검출 기술로서는, 예를들면 앞으로 참조하게 될 미합중국 특허출원 제09/671/793호에 기재되어 있는 소오스 팔로우어 기술(source follower technique)이 있다.
도 14는 읽기 조건을 변경하는 기본적인 방법을 설명하고 있다. 이 예는 ,마진 전류가 셀출력전류와 비교되어 더해진 기준전류에 부가되는 전류검출 기술을 보여준다. 상기한 예는, 다른 실시에에 있어서 읽기가 단일의 기준 전압 또는 전류를 사용하는 기준공간을 통한 검색으로서 다양한 스테이지를 포함하는데 반하여, 3개의 브레이크 포인트(breakpoint)의 병렬 읽기를 보여주고, 모든 기준 레벨이 동시에 존재하는 것을 필요로 한다. 다중 비교 과정에서, 마진 전류 값은 다른 비교를 위하여 변할 수 있다. 읽기의 형태는 특정한 방법에 의해 가변된다. 도 14의 기본적인 실시예는 4개의 상태를 구분하기 위해 3개의 기준 전류(reference current)를 사용하는데, 다른 실시예에서는 앞으로 참조하게 될 미합중국 특허 제5,172,338호에 기재된 바와 같이 4개의 기준전류를 사용한다.
본 발명의 다양한 특징은 다중-상태 메모리 시스템에서 레벨로 어드레싱하는 경우에 사용될 수 있다. 이러한 방법은 "상위 페이지" 및 "하위 페이지"로 지정된 2개의 분리되고 어드레스가능한 호스트 데이터 섹터를 4개-상태 메모리의 셀의 동일 세트로 맵핑이 되도록 한다. 이 방법에 있어서, 하위 페이지 데이터의 각 비트는 주어진 셀에서 2개 셀 상태의 하나로 프로그램되고, 상위 페이지 데이터의 각 비트는 주어진 비트값에 기초하여 각 주어진 셀의 상태를 수정하기 위하여 프로그램된다. 상기한 방법은 셀당 많은 수의 상태까지 확장 가능하다. 이러한 방법은 앞으로 참조하게 되는 2001년 6월 27일에 출원된 미합중국 특허출원 제09/893,277호에 자세히 기재되어 있으며, 본 명세서에서 간단히 소개된다. 도 15는 이와 같은 4개 상태 셀의 상태 배치에 대한 실시예로서, 기본적인 전압값을 사용하는 방법을 보여준다.
도 16은 상태 방법에 의해 어드레싱함에 있어서 본 발명의 구성을 위한 레지스터 사용법을 보여준다. 도면에서, 하위 페이지(lower page)를 읽기 위하여, 상위 페이지(upper page)의 입상(도 15의 0.8V 분리 점)에서 처음 읽어 들이고, 제1 레지스터(404a)에 결과를 저장하는 것이 필요하다는 것을 보여준다. 단계 1은 상위 페이지의 정상적인 읽기이고, 단계 2는 하위 페이지의 연속 읽기의 조건을 설정하 기 위하여 이전에 읽은 상위 페이지의 데이터를 사용한다. 하위 페이지는, 두 번째 스테이지가 제2 레지스터(404b)에 읽혀지는 동안에 하위 페이지가 읽혀지고, 비트 바이 비트(bit by bit) 원리에서 적절한 읽기 조건을 설정하기 위하여 센싱 회로로 상위 페이지 데이터가 피드백된다. 효과적으로는, 한번의 읽기에 2개의 레지스터를 필요로 한다. 그러나, 2개의 레지스터중 단지 하나만이 비교 레지스터와 비교되는데 필요하게 되며, 그것은 해당 데이터를 포함한다. 상위 페이지의 읽기는 단지 하나의 읽기 스테이지와 하나의 레지스터를 필요로 한다. 스트림 프로그래밍 용량을 부가하기 위해서는 제4 레지스터(403)가 매스터 레지스터로서 부가된다. 일부 메모리는 2개 상태 또는 4개 상태에서 동작할 수 있다. 2개 상태 모드에서, 상기한 메모리는 스트림 프로그래밍과 같은 다른 목적을 위한 다중 스테이트에서의 첫 번째 페이지 읽기를 필요로 하는, 별도의 레지스터(404a)를 사용할 수 있다.
4개 상태 동작에 있어서, 제1 레지스터(404a) 및 제2 레지스터(404b) 모두는 슬레이브 레지스터로서 사용되며, 제3 레지스터(405)는 비교 레지스터이고, 제4 레지스터(403)는 매스터 레지스터로서 사용된다. 2개 상태 모드 동작에 있어서, 이전의 도면에서 관련되어 있는 레지스터들은 다음과 같이 설명될 수 있다. 제1 레지스터(404a)는 슬레이브 레지스터이고, 제4 레지스터(403)는 매스터 레지스터이고, 제3 레지스터(405)는 비교 레지스터이고, 제2 레지스터(404b)를 위한 사용 계획은 없다. 상기한 바와 같은 상위 페이지/하위 페이지 읽기 방법을 사용하는 종래의 구성에 있어서는, 제3 레지스터(405) 및 제4 레지스터(403)는 없고, 단지 한쌍의 제1 레지스터(404a) 및 제2 레지스터(404b)만이 존재한다. 제3 레지스터(405) 및 제4 레지스터(403)는 본 발명의 목적을 위하여 부가된다.
본 발명의 많은 특징은 메모리 어레이에서 사용된 저장매체 유니트의 형태에 대한 세부설명에 한정되는 것은 아니다. 지금까지의 논의가, 메모리 장치에서 플로팅 게이트 이이피롬(EEPROM) 또는 플래시 셀과 같은 전하 저장 장치를 사용하는 실시예에 초점이 맞추어져 있다고 하더라도, 본 발명은 다른 형태의 저장매체 유니트를 사용하는 메모리 시스템에도 적용될 수가 있다. 본 발명은, 서브 0.1um 트랜지스터, 단일 전자 트랜지스터(single electron transistor), 유기/탄소에 기초한 나노-트랜지스터(nano-transistor), 분자식 트랜지스터(molecular transistor) 등을 포괄적으로 포함하는 메모리 시스템에서 사용될 수 있다. 예를 들면, 미합중국 특허 제5,768,192호 및 미합중국 특허 제4,630,086호에 각각 기재되어 있는 것과 같은 NROM 과 MNOS 셀, 또는 미합중국 특허 제5,991,193호 및 미합중국 특허 제5,892,706호에 각각 기재되어 있는 것과 같은 자기 RAM 및 FRAM 셀, 모두가 본 발명에서 참조될 수 있으며 또한 사용된다. 이러한 다른 셀 형태에 있어서, 읽기 및 쓰기 과정의 특정 메커니즘은 달라질 수 있지만, 본 발명의 다양한 특징의 확장은 상기한 에로부터 쉽게 적용될 수 있다.
본 발명의 다양한 실시예의 세부 구조 및 기능과 함께, 본 발명의 특정 실시예에서의 수많은 특징과 이점이 위에서 설명이 되었지만, 이러한 설명은 단지 설명적을 위한 것이고, 첨부된 특허청구범위에 표현되어 있는 용어의 광범위한 일반적인 의미에 의해 지시되는 한도까지 본 발명의 원리안에서 특히 부분적인 구조 및 배열에 있어서 세부적으로는 변형이 이루어질 수 있다. 예를 들면, 여기에 기재되 어 있는 바람직한 실시예가 반도체-기초의 고체-상태 미세전자공학(solid-state microelectronics)을 사용하는 메모리에 관한 것이라고 하더라도, 당업계에서 통상의 지식을 가진자가 본 발명의 원리를 분자-스케일(molecular-scale)의 유기적 또는 화학적 스위치(organic or chemical switches)를 사용하는 다른 메모리에도 적용할 수가 있다. 따라서, 첨부된 특허청구범위의 기술범위는 여기에 기재되어 있는 바람직한 실시예에 한정되는 것이 아니다.

Claims (84)

  1. 비휘발성 메모리 장치와 컨트롤러를 포함하는 메모리 시스템을 동작시키는 방법에 있어서,
    상기 메모리 장치의 비휘발성 저장 유닛의 어레이에 저장될 제1 데이터 세트를 상기 컨트롤러로부터 상기 메모리 장치로 전달하는 단계;
    상기 제1 데이터 세트를 상기 메모리 장치의 마스터 데이터 레지스터에 저장하는 단계;
    상기 제1 데이터의 복사본을 상기 메모리 장치에 유지하면서 상기 제1 데이터 세트를 상기 어레이에 기록하는 단계로서, 상기 기록은 프로그램/검증 과정을 포함하는 기록 단계;
    후속하여, 상기 기록 단계의 결과로서 상기 어레이에 저장된 상기 제1 데이터 세트를 판독하는 단계; 및
    판독된 상기 제1 데이터 세트를 상기 메모리 장치에 유지된 상기 제1 데이터 세트의 복사본과 상기 메모리 장치에서 비교하는 단계;
    를 포함하는 메모리 시스템 동작 방법.
  2. 제1항에 있어서, 상기 제1 데이터의 복사본이 상기 마스터 레지스터에 유지되는 것을 특징으로 하는 메모리 시스템 동작 방법.
  3. 제2항에 있어서, 상기 비교 단계는 메모리 장치의 센스 회로로부터의 판독 값을 상기 마스터 레지스터에 유지되는 상기 제1 데이터의 복사본과 비교하는 단계를 포함하는 메모리 시스템 동작 방법.
  4. 제2항에 있어서, 판독된 상기 제1 데이터 세트를 상기 메모리 장치의 제2 데이터 레지스터에 저장하는 단계를 더 포함하고, 상기 비교 단계는 상기 제2 데이터 레지스터의 콘텐츠를 상기 메모리 장치에 유지되는 상기 제1 데이터 세트의 복사본과 비교하는 단계를 포함하는 메모리 시스템 동작 방법.
  5. 제1항에 있어서,
    상기 제1 데이터 세트를 상기 어레이에 기록하기 전에, 상기 제1 데이터 세트를 상기 마스터 레지스터로부터 상기 메모리 장치의 제2 레지스터로 복사하는 단계로서, 상기 제2 레지스터에 상기 제1 데이터 세트의 복사본이 유지되는 복사 단계; 및
    판독된 상기 제1 데이터 세트를 상기 메모리 장치의 제3 데이터 레지스터에 저장하는 단계;
    를 더 포함하고, 상기 비교 단계는 상기 제3 데이터 레지스터의 콘텐츠를 상기 제2 데이터 레지스터에 유지되는 상기 제1 데이터 세트의 복사본과 비교하는 단계를 포함하는 메모리 시스템 동작 방법.
  6. 제5항에 있어서, 상기 기록, 판독 및 비교 단계 중 하나 이상의 단계와 동시에, 상기 마스터 레지스터가 상기 컨트롤러로부터 제2 데이터 세트를 수신하는 단계를 더 포함하는 메모리 시스템 동작 방법.
  7. 제1항에 있어서, 상기 어레이에 상기 제1 데이터 세트의 부정확한 기록을 지시하는 상기 비교 단계의 결과로서, 에러 복구 방법을 수행하는 추가 단계를 더 포함하는 메모리 시스템 동작 방법.
  8. 제7항에 있어서, 상기 에러 복구 방법을 수행하는 단계 이후에, 상기 판독 및 비교 단계를 반복하는 단계를 더 포함하는 메모리 시스템 동작 방법.
  9. 제1항에 있어서, 상기 비교 단계 이후에, 상기 판독 및 비교 단계를 반복하는 단계를 더 포함하는 메모리 시스템 동작 방법.
  10. 제9항에 있어서, 상기 비교 단계 이전의 판독 단계와 상기 비교 단계 이후의 반복되는 판독 단계는 상이한 세트의 판독 조건으로 수행되는 것을 특징으로 하는 메모리 시스템 동작 방법.
  11. 제1항에 있어서, 상기 제1 데이터 세트는 복수의 섹터를 포함하고, 상기 기록 단계는 상기 복수의 섹터를 병렬로 상기 어레이에 기록하는 단계를 포함하는 메모리 시스템 동작 방법.
  12. 제11항에 있어서, 상기 판독, 기록 및 비교 단계는 상기 복수의 섹터에서 병렬로 수행되는 것을 특징으로 하는 메모리 시스템 동작 방법.
  13. 제11항에 있어서, 상기 판독, 기록 및 비교 단계는 상기 복수의 섹터에서 직렬로 수행되는 것을 특징으로 하는 메모리 시스템 동작 방법.
  14. 제1항에 있어서, 상기 판독, 기록 및 비교 단계는 명령에 응답하여 수행되는 것을 특징으로 하는 메모리 시스템 동작 방법.
  15. 제14항에 있어서, 상기 명령은 상기 컨트롤러에서 발원하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  16. 제14항에 있어서, 상기 명령은 상기 메모리 장치에 의해 내부적으로 발생되는 것을 특징으로 하는 메모리 시스템 동작 방법.
  17. 제14항에 있어서, 상기 명령은 상기 판독 단계를 위한 조건을 지정하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  18. 제14항에 있어서, 상기 명령은 상기 판독 단계를 위한 하나 이상의 파라미터를 지정하는 것을 특징으로 하는 메모리 시스템 동작 방법.
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
  74. 삭제
  75. 삭제
  76. 삭제
  77. 삭제
  78. 삭제
  79. 삭제
  80. 삭제
  81. 삭제
  82. 삭제
  83. 삭제
  84. 삭제
KR1020037008842A 2000-12-28 2001-12-28 비휘발성 메모리의 효율적인 데이터 검증 동작을 위한구조 및 방법 KR100921763B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/751,178 US6349056B1 (en) 2000-12-28 2000-12-28 Method and structure for efficient data verification operation for non-volatile memories
US09/751,178 2000-12-28
PCT/US2001/051573 WO2002099806A2 (en) 2000-12-28 2001-12-28 Novel method and structure for efficient data verification operation for non-volatile memories

Publications (2)

Publication Number Publication Date
KR20030068202A KR20030068202A (ko) 2003-08-19
KR100921763B1 true KR100921763B1 (ko) 2009-10-15

Family

ID=25020829

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037008842A KR100921763B1 (ko) 2000-12-28 2001-12-28 비휘발성 메모리의 효율적인 데이터 검증 동작을 위한구조 및 방법

Country Status (10)

Country Link
US (5) US6349056B1 (ko)
EP (1) EP1488429B1 (ko)
JP (2) JP4129428B2 (ko)
KR (1) KR100921763B1 (ko)
CN (1) CN100474452C (ko)
AT (1) ATE386329T1 (ko)
AU (1) AU2001297851A1 (ko)
DE (1) DE60132830T2 (ko)
TW (1) TWI241590B (ko)
WO (1) WO2002099806A2 (ko)

Families Citing this family (280)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7886108B2 (en) * 2000-01-06 2011-02-08 Super Talent Electronics, Inc. Methods and systems of managing memory addresses in a large capacity multi-level cell (MLC) based flash memory device
US20080209114A1 (en) * 1999-08-04 2008-08-28 Super Talent Electronics, Inc. Reliability High Endurance Non-Volatile Memory Device with Zone-Based Non-Volatile Memory File System
US7827348B2 (en) * 2000-01-06 2010-11-02 Super Talent Electronics, Inc. High performance flash memory devices (FMD)
US6961546B1 (en) * 1999-10-21 2005-11-01 Broadcom Corporation Adaptive radio transceiver with offset PLL with subsampling mixers
US20080320209A1 (en) * 2000-01-06 2008-12-25 Super Talent Electronics, Inc. High Performance and Endurance Non-volatile Memory Based Storage Systems
JP2002184190A (ja) * 2000-12-11 2002-06-28 Toshiba Corp 不揮発性半導体記憶装置
US7071771B2 (en) * 2000-12-11 2006-07-04 Kabushiki Kaisha Toshiba Current difference divider circuit
US6757193B2 (en) * 2001-05-31 2004-06-29 Macronix International Co., Ltd. Coding method of multi-level memory cell
US6929634B2 (en) * 2001-08-22 2005-08-16 Gore Enterprise Holdings, Inc. Apparatus and methods for treating stroke and controlling cerebral flow characteristics
JP4034949B2 (ja) * 2001-09-06 2008-01-16 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP3802411B2 (ja) * 2001-12-20 2006-07-26 株式会社東芝 不揮発性半導体記憶装置のデータコピー方法
US6871257B2 (en) * 2002-02-22 2005-03-22 Sandisk Corporation Pipelined parallel programming operation in a non-volatile memory system
US7136304B2 (en) * 2002-10-29 2006-11-14 Saifun Semiconductor Ltd Method, system and circuit for programming a non-volatile memory array
US6829167B2 (en) * 2002-12-12 2004-12-07 Sandisk Corporation Error recovery for nonvolatile memory
US7392436B2 (en) * 2003-05-08 2008-06-24 Micron Technology, Inc. Program failure recovery
US7237074B2 (en) 2003-06-13 2007-06-26 Sandisk Corporation Tracking cells for a memory system
JP4156499B2 (ja) 2003-11-28 2008-09-24 株式会社日立製作所 ディスクアレイ装置
US7173863B2 (en) * 2004-03-08 2007-02-06 Sandisk Corporation Flash controller cache architecture
TWI289304B (en) * 2004-02-17 2007-11-01 Hon Hai Prec Ind Co Ltd Data structure design system and method for prolonging useful life of FRAM
US7213177B2 (en) * 2004-03-14 2007-05-01 Benq Corporation Method for detecting and eliminating errors in application data of an electronic device
US7490283B2 (en) * 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US8429313B2 (en) * 2004-05-27 2013-04-23 Sandisk Technologies Inc. Configurable ready/busy control
US7009889B2 (en) 2004-05-28 2006-03-07 Sandisk Corporation Comprehensive erase verification for non-volatile memory
US7401258B1 (en) * 2004-09-30 2008-07-15 Xilinx, Inc. Circuit for and method of accessing instruction data written to a memory
KR100576485B1 (ko) 2004-12-06 2006-05-10 주식회사 하이닉스반도체 플래쉬 메모리 소자의 프로그램 검증 방법
GB2421092B (en) * 2004-12-07 2008-12-03 Hewlett Packard Development Co Bufferless writing of data to memory
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
US7882299B2 (en) * 2004-12-21 2011-02-01 Sandisk Corporation System and method for use of on-chip non-volatile memory write cache
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
US7409473B2 (en) * 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US7463521B2 (en) * 2005-04-01 2008-12-09 Sandisk Corporation Method for non-volatile memory with managed execution of cached data
US7206230B2 (en) * 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7447078B2 (en) * 2005-04-01 2008-11-04 Sandisk Corporation Method for non-volatile memory with background data latch caching during read operations
KR100626392B1 (ko) * 2005-04-01 2006-09-20 삼성전자주식회사 읽기 속도를 향상시킬 수 있는 플래시 메모리 장치
MX2007014846A (es) * 2005-05-30 2008-02-21 Seiko Epson Corp Aparato de almacenamiento de semiconductor.
US7694071B1 (en) * 2005-07-12 2010-04-06 Seagate Technology Llc Disk drives and methods allowing configurable zoning
EP1952404B1 (en) * 2005-11-22 2010-05-12 SanDisk Corporation Method and memory system for legacy hosts
US7739472B2 (en) 2005-11-22 2010-06-15 Sandisk Corporation Memory system for legacy hosts
US7747927B2 (en) 2005-11-22 2010-06-29 Sandisk Corporation Method for adapting a memory system to operate with a legacy host originally designed to operate with a different memory system
US7307887B2 (en) * 2005-12-29 2007-12-11 Sandisk Corporation Continued verification in non-volatile memory write operations
US7352629B2 (en) * 2005-12-29 2008-04-01 Sandisk Corporation Systems for continued verification in non-volatile memory write operations
US7428180B2 (en) * 2006-01-25 2008-09-23 Samsung Electronics Co., Ltd. Semiconductor memory devices and methods of testing for failed bits of semiconductor memory devices
US20070234143A1 (en) * 2006-01-25 2007-10-04 Samsung Electronics Co., Ltd. Semiconductor memory devices and methods of testing for failed bits of semiconductor memory devices
US7773421B2 (en) * 2006-05-08 2010-08-10 Macronix International Co., Ltd. Method and apparatus for accessing memory with read error by changing comparison
US7471562B2 (en) * 2006-05-08 2008-12-30 Macronix International Co., Ltd. Method and apparatus for accessing nonvolatile memory with read error by changing read reference
US8077516B2 (en) * 2006-05-08 2011-12-13 Macronix International Co., Ltd. Method and apparatus for accessing memory with read error by changing comparison
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
WO2007132453A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
WO2007132452A2 (en) 2006-05-12 2007-11-22 Anobit Technologies 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
US7355892B2 (en) * 2006-06-30 2008-04-08 Sandisk Corporation Partial page fail bit detection in flash memory devices
US7304893B1 (en) 2006-06-30 2007-12-04 Sandisk Corporation Method of partial page fail bit detection in flash memory devices
US7680841B2 (en) * 2006-07-26 2010-03-16 International Business Machines Corporation Determining whether data written to source storage locations according to a write order is copied to corresponding target storage locations in the write order
KR100744013B1 (ko) * 2006-07-31 2007-07-30 삼성전자주식회사 플래시 메모리 장치 및 그것의 소거 방법
EP2487794A3 (en) * 2006-08-22 2013-02-13 Mosaid Technologies Incorporated Modular command structure for memory and memory system
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
US7450425B2 (en) * 2006-08-30 2008-11-11 Micron Technology, Inc. Non-volatile memory cell read failure reduction
KR100819106B1 (ko) * 2006-09-27 2008-04-02 삼성전자주식회사 상변화 메모리 장치에서의 라이트 동작방법
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
WO2008053473A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Memory cell readout using successive approximation
KR100849715B1 (ko) * 2006-11-07 2008-08-01 주식회사 하이닉스반도체 글로벌 페이지 버퍼를 구비하는 낸드형 플래쉬 메모리소자및 데이터 리드 방법
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
KR100926475B1 (ko) * 2006-12-11 2009-11-12 삼성전자주식회사 멀티 비트 플래시 메모리 장치 및 그것의 프로그램 방법
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7817456B2 (en) * 2006-12-22 2010-10-19 Sidense Corp. Program lock circuit for a mask programmable anti-fuse memory array
CA2649002C (en) * 2006-12-22 2010-04-20 Sidense Corp. A program verify method for otp memories
KR100897604B1 (ko) 2007-01-03 2009-05-14 삼성전자주식회사 검증 성공된 메모리 셀에 대하여 재검증이 가능한 비휘발성 메모리 장치의 구동 방법 및 비휘발성 메모리 장치
KR100885912B1 (ko) * 2007-01-23 2009-02-26 삼성전자주식회사 기입된 데이터 값에 기초하여 데이터를 선택적으로검증하는 데이터 검증 방법 및 반도체 메모리 장치
KR100877610B1 (ko) * 2007-01-23 2009-01-09 삼성전자주식회사 페이지 데이터 저장 방법과 저장 장치
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
KR100877609B1 (ko) * 2007-01-29 2009-01-09 삼성전자주식회사 버퍼 메모리의 플래그 셀 어레이를 이용하여 데이터 오류 정정을 수행하는 반도체 메모리 시스템 및 그 구동 방법
KR100871700B1 (ko) * 2007-02-13 2008-12-08 삼성전자주식회사 불휘발성 메모리 장치에서 전하 손실에 기인한 오류 데이터정정 방법
US8369141B2 (en) 2007-03-12 2013-02-05 Apple Inc. Adaptive estimation of memory cell read thresholds
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
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US7944702B2 (en) 2007-08-27 2011-05-17 Super Talent Electronics, Inc. Press-push flash drive apparatus with metal tubular casing and snap-coupled plastic sleeve
US7619925B2 (en) * 2007-08-29 2009-11-17 Macronix International Co., Ltd. Virtual ground array memory and programming method thereof
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
WO2009037697A2 (en) * 2007-09-20 2009-03-26 Densbits Technologies Ltd. Improved 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
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
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
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
KR101509836B1 (ko) 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US7924628B2 (en) * 2007-11-14 2011-04-12 Spansion Israel Ltd Operation of a non-volatile memory array
US8098532B2 (en) 2007-11-20 2012-01-17 Kabushiki Kaisha Toshiba Non-volatile semiconductor storage device with address search circuit used when writing
US7945825B2 (en) * 2007-11-25 2011-05-17 Spansion Isreal, Ltd Recovery while programming non-volatile memory (NVM)
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8116083B2 (en) * 2007-12-04 2012-02-14 Super Talent Electronics, Inc. Lipstick-type USB device with tubular housing
US8607128B2 (en) * 2007-12-05 2013-12-10 Densbits Technologies Ltd. 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
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
US8276051B2 (en) 2007-12-12 2012-09-25 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
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
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US20090201748A1 (en) * 2008-02-11 2009-08-13 Sony Corporation Removable nonvolatile memory system with destructive read
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
WO2009118720A2 (en) * 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8116122B2 (en) 2008-06-27 2012-02-14 Seagate Technology Llc Spin-transfer torque memory self-reference read method
US8116123B2 (en) 2008-06-27 2012-02-14 Seagate Technology Llc Spin-transfer torque memory non-destructive self-reference read method
TWI386803B (zh) * 2008-07-02 2013-02-21 Silicon Motion Inc 快閃記憶卡及快閃記憶體預防資料毀損的方法
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
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
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US7969782B2 (en) 2008-09-26 2011-06-28 Micron Technology, Inc. Determining memory page status
CN101685676B (zh) * 2008-09-26 2014-07-02 美光科技公司 确定存储器页状况
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US7813168B2 (en) * 2008-10-27 2010-10-12 Seagate Technology Llc Spin-transfer torque memory self-reference read and write assist methods
US7826260B2 (en) * 2008-10-27 2010-11-02 Seagate Technology Llc Spin-transfer torque memory self-reference read and write assist methods
US8095834B2 (en) * 2008-10-30 2012-01-10 Micron Technology, Inc. Macro and command execution from memory array
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US7898838B2 (en) 2008-10-31 2011-03-01 Seagate Technology Llc Resistive sense memory calibration for self-reference read method
US7876604B2 (en) * 2008-11-05 2011-01-25 Seagate Technology Llc Stram with self-reference read scheme
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
US8159864B2 (en) * 2008-12-08 2012-04-17 Qualcomm Incorporated Data integrity preservation in spin transfer torque magnetoresistive random access 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
US8161355B2 (en) * 2009-02-11 2012-04-17 Mosys, Inc. Automatic refresh for improving data retention and endurance characteristics of an embedded non-volatile memory in a standard CMOS logic process
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8296628B2 (en) * 2009-03-06 2012-10-23 Texas Instruments Incorporated Data path read/write sequencing for reduced power consumption
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
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
US8305812B2 (en) * 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
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
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
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
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
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
US8423866B2 (en) * 2009-10-28 2013-04-16 SanDisk Technologies, Inc. Non-volatile memory and method with post-write read and adaptive re-write to manage errors
US8634240B2 (en) * 2009-10-28 2014-01-21 SanDisk Technologies, Inc. Non-volatile memory and method with accelerated post-write read to manage errors
US8214700B2 (en) * 2009-10-28 2012-07-03 Sandisk Technologies Inc. Non-volatile memory and method with post-write read and adaptive re-write to manage errors
US8504884B2 (en) * 2009-10-29 2013-08-06 Freescale Semiconductor, Inc. Threshold voltage techniques for detecting an imminent read failure in a memory array
US8626988B2 (en) * 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
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
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
US8341502B2 (en) * 2010-02-28 2012-12-25 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US8516274B2 (en) 2010-04-06 2013-08-20 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
US8799747B2 (en) * 2010-06-03 2014-08-05 Seagate Technology Llc Data hardening to compensate for loss of data retention characteristics in a non-volatile memory
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8510639B2 (en) 2010-07-01 2013-08-13 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8467249B2 (en) 2010-07-06 2013-06-18 Densbits Technologies Ltd. Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8432732B2 (en) 2010-07-09 2013-04-30 Sandisk Technologies Inc. Detection of word-line leakage in memory arrays
US8305807B2 (en) 2010-07-09 2012-11-06 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US8514630B2 (en) 2010-07-09 2013-08-20 Sandisk Technologies Inc. Detection of word-line leakage in memory arrays: current based approach
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
US9337872B2 (en) 2011-04-30 2016-05-10 Rambus Inc. Configurable, error-tolerant memory control
US8379454B2 (en) 2011-05-05 2013-02-19 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
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
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US8456911B2 (en) 2011-06-07 2013-06-04 Sandisk Technologies Inc. Intelligent shifting of read pass voltages for non-volatile storage
US8726104B2 (en) 2011-07-28 2014-05-13 Sandisk Technologies Inc. Non-volatile memory and method with accelerated post-write read using combined verification of multiple pages
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
US8750042B2 (en) 2011-07-28 2014-06-10 Sandisk Technologies Inc. Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures
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
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
CN102509557B (zh) * 2011-11-04 2014-10-15 珠海天威技术开发有限公司 电可擦可编程只读存储器的数据擦写控制装置及方法、芯片及其数据写入方法、耗材容器
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8730722B2 (en) 2012-03-02 2014-05-20 Sandisk Technologies Inc. Saving of data in cases of word-line to word-line short in memory arrays
WO2013134890A1 (en) * 2012-03-13 2013-09-19 Micron Technology, Inc. Nonconsecutive sensing of multilevel memory cells
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
US8566671B1 (en) 2012-06-29 2013-10-22 Sandisk Technologies Inc. Configurable accelerated post-write read to manage errors
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
CN103001956A (zh) * 2012-11-23 2013-03-27 杭州也要买电子商务有限公司 一种对系统读操作请求进行权限验证的方法
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US9076530B2 (en) 2013-02-07 2015-07-07 Seagate Technology Llc Non-volatile write buffer data retention pending scheduled verification
US9552296B2 (en) * 2013-03-15 2017-01-24 International Business Machines Corporation Verifying shared memory integrity
US9250995B2 (en) * 2013-05-29 2016-02-02 Seagate Technology Llc Protection of data in memory
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
CN103345610B (zh) * 2013-06-20 2015-09-23 武汉天喻信息产业股份有限公司 快速验证智能卡数据完整性的设备及方法
US20150006784A1 (en) * 2013-06-27 2015-01-01 Sandisk Technologies Inc. Efficient Post Write Read in Three Dimensional Nonvolatile Memory
US9218242B2 (en) * 2013-07-02 2015-12-22 Sandisk Technologies Inc. Write operations for defect management in nonvolatile memory
US9063671B2 (en) 2013-07-02 2015-06-23 Sandisk Technologies Inc. Write operations with full sequence programming for defect management in nonvolatile memory
US9165683B2 (en) 2013-09-23 2015-10-20 Sandisk Technologies Inc. Multi-word line erratic programming detection
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
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9043537B1 (en) 2013-11-21 2015-05-26 Sandisk Technologies Inc. Update block programming order
US9213601B2 (en) 2013-12-03 2015-12-15 Sandisk Technologies Inc. Adaptive data re-compaction after post-write read verification operations
KR102140784B1 (ko) * 2013-12-03 2020-08-03 삼성전자주식회사 비휘발성 메모리 장치의 데이터 기록 방법
US9058881B1 (en) 2013-12-05 2015-06-16 Sandisk Technologies Inc. Systems and methods for partial page programming of multi level cells
US9244631B2 (en) 2013-12-06 2016-01-26 Sandisk Technologies Inc. Lower page only host burst writes
US9239756B2 (en) * 2013-12-13 2016-01-19 Sandisk Technologies Inc. Systems and methods for performing data recovery in a memory system
DE102014101945A1 (de) * 2013-12-23 2015-06-25 Endress + Hauser Gmbh + Co. Kg Messumformer mit Überwachungsfunktion
US9208023B2 (en) * 2013-12-23 2015-12-08 Sandisk Technologies Inc. Systems and methods for scheduling post-write read in nonvolatile memory
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
US8902652B1 (en) 2014-05-13 2014-12-02 Sandisk Technologies Inc. Systems and methods for lower page writes
US8886877B1 (en) 2014-05-15 2014-11-11 Sandisk Technologies Inc. In-situ block folding for nonvolatile memory
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
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9460809B2 (en) 2014-07-10 2016-10-04 Sandisk Technologies Llc AC stress mode to screen out word line to word line shorts
US9514835B2 (en) 2014-07-10 2016-12-06 Sandisk Technologies Llc Determination of word line to word line shorts between adjacent blocks
US9443612B2 (en) 2014-07-10 2016-09-13 Sandisk Technologies Llc Determination of bit line to low voltage signal shorts
US9484086B2 (en) 2014-07-10 2016-11-01 Sandisk Technologies Llc Determination of word line to local source line shorts
US9202593B1 (en) 2014-09-02 2015-12-01 Sandisk Technologies Inc. Techniques for detecting broken word lines in non-volatile memories
US9240249B1 (en) 2014-09-02 2016-01-19 Sandisk Technologies Inc. AC stress methods to screen out bit line defects
US9449694B2 (en) 2014-09-04 2016-09-20 Sandisk Technologies Llc Non-volatile memory with multi-word line select for defect detection operations
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
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
KR102292217B1 (ko) 2015-02-06 2021-08-24 삼성전자주식회사 내부적으로 데이터 읽기 검증을 수행할 수 있는 메모리 장치, 이의 작동 방법, 및 이를 포함하는 메모리 시스템
CN106158030B (zh) * 2015-04-28 2019-09-24 旺宏电子股份有限公司 对存储器装置编程的方法以及相关的存储器装置
JP2018514868A (ja) * 2015-04-30 2018-06-07 マイクロチップ テクノロジー インコーポレイテッドMicrochip Technology Incorporated 改良された命令セットを有する中央処理ユニット
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
JP6359491B2 (ja) * 2015-06-12 2018-07-18 東芝メモリ株式会社 半導体記憶装置
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9659666B2 (en) 2015-08-31 2017-05-23 Sandisk Technologies Llc Dynamic memory recovery at the sub-block level
US9619321B1 (en) 2015-10-08 2017-04-11 Seagate Technology Llc Internal copy-back with read-verify
US9858009B2 (en) 2015-10-26 2018-01-02 Sandisk Technologies Llc Data folding in 3D nonvolatile memory
CN105389239A (zh) * 2015-12-10 2016-03-09 浪潮电子信息产业股份有限公司 天梭k1系统路由模块寄存器信息自动校验方法
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US9996280B2 (en) * 2016-03-15 2018-06-12 Sandisk Technologies Llc Data register copying for non-volatile storage array operations
US9952775B2 (en) * 2016-08-11 2018-04-24 SK Hynix Inc. Unusable column mapping in flash memory devices
TWI708253B (zh) * 2018-11-16 2020-10-21 力旺電子股份有限公司 非揮發性記憶體良率提升的設計暨測試方法
KR20200087557A (ko) 2019-01-11 2020-07-21 주식회사 엘지화학 에러 복구 방법, 이를 이용한 마이크로 컨트롤러 유닛, 및 상기 마이크로 컨트롤러를 포함하는 배터리 장치
WO2020220246A1 (en) * 2019-04-30 2020-11-05 Yangtze Memory Technologies Co., Ltd. Electronic apparatus and method of managing read levels of flash memory
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0606769A2 (en) * 1993-01-14 1994-07-20 Fujitsu Limited Nonvolatile semiconducteur memories
US5532962A (en) * 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5602789A (en) * 1991-03-12 1997-02-11 Kabushiki Kaisha Toshiba Electrically erasable and programmable non-volatile and multi-level memory systemn with write-verify controller
US5892714A (en) * 1996-07-12 1999-04-06 Lg Semicon Co., Ltd. Method of programming and/or verifying a threshold voltage level of a nonvolatile memory cell

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4577293A (en) * 1984-06-01 1986-03-18 International Business Machines Corporation Distributed, on-chip cache
JP3152720B2 (ja) * 1991-03-12 2001-04-03 株式会社東芝 不揮発性半導体記憶装置
JPH08249893A (ja) * 1995-03-07 1996-09-27 Toshiba Corp 半導体記憶装置
JP2647321B2 (ja) * 1991-12-19 1997-08-27 株式会社東芝 不揮発性半導体記憶装置及びこれを用いた記憶システム
US5748939A (en) * 1993-06-30 1998-05-05 Intel Corporation Memory device with a central control bus and a control access register for translating an access request into an access cycle on the central control bus
US5410544A (en) * 1993-06-30 1995-04-25 Intel Corporation External tester control for flash memory
JP3013714B2 (ja) * 1994-09-28 2000-02-28 日本電気株式会社 半導体記憶装置
KR100208433B1 (ko) 1995-12-27 1999-07-15 김영환 플래쉬 메모리 소자 및 그를 이용한 프로그램 방법
US5890152A (en) * 1996-09-09 1999-03-30 Seymour Alvin Rapaport Personal feedback browser for obtaining media files
JP3796851B2 (ja) * 1996-10-21 2006-07-12 ソニー株式会社 不揮発性半導体記憶装置
JP3898349B2 (ja) * 1997-07-29 2007-03-28 株式会社東芝 半導体記憶装置
JP2000013581A (ja) 1998-06-24 2000-01-14 Ricoh Co Ltd ファクシミリ装置
JP2000123581A (ja) * 1998-10-14 2000-04-28 Hitachi Ltd 半導体記憶装置の書き込み方法、および半導体記憶装置
JP3219069B2 (ja) * 1999-01-25 2001-10-15 エヌイーシーマイクロシステム株式会社 不揮発性半導体記憶装置
JP2000251484A (ja) * 1999-02-26 2000-09-14 Sony Corp 不揮発性半導体記憶装置
US6266273B1 (en) * 2000-08-21 2001-07-24 Sandisk Corporation Method and structure for reliable data copy operation for non-volatile memories

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5602789A (en) * 1991-03-12 1997-02-11 Kabushiki Kaisha Toshiba Electrically erasable and programmable non-volatile and multi-level memory systemn with write-verify controller
US5532962A (en) * 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
EP0606769A2 (en) * 1993-01-14 1994-07-20 Fujitsu Limited Nonvolatile semiconducteur memories
US5892714A (en) * 1996-07-12 1999-04-06 Lg Semicon Co., Ltd. Method of programming and/or verifying a threshold voltage level of a nonvolatile memory cell

Also Published As

Publication number Publication date
US6349056B1 (en) 2002-02-19
JP2007257831A (ja) 2007-10-04
CN100474452C (zh) 2009-04-01
EP1488429A2 (en) 2004-12-22
WO2002099806A3 (en) 2004-09-30
US7376011B2 (en) 2008-05-20
US20070109858A1 (en) 2007-05-17
JP2005507129A (ja) 2005-03-10
US20020126528A1 (en) 2002-09-12
US7170782B2 (en) 2007-01-30
TWI241590B (en) 2005-10-11
AU2001297851A1 (en) 2002-12-16
US6560143B2 (en) 2003-05-06
US20050195653A1 (en) 2005-09-08
DE60132830T2 (de) 2009-02-05
CN1620703A (zh) 2005-05-25
ATE386329T1 (de) 2008-03-15
US20030174555A1 (en) 2003-09-18
JP4129428B2 (ja) 2008-08-06
US6972993B2 (en) 2005-12-06
WO2002099806A2 (en) 2002-12-12
KR20030068202A (ko) 2003-08-19
DE60132830D1 (de) 2008-03-27
EP1488429B1 (en) 2008-02-13
AU2001297851A8 (en) 2005-11-03

Similar Documents

Publication Publication Date Title
KR100921763B1 (ko) 비휘발성 메모리의 효율적인 데이터 검증 동작을 위한구조 및 방법
KR100897591B1 (ko) 비-휘발성 메모리에 대해 신뢰성이 높은 데이터 복사작동을 위한 신규 방법 및 구조
JP4391941B2 (ja) メモリセルの隣接する行の記憶素子間の結合の効果を減少させる方法
US8004897B2 (en) Interleaved memory program and verify method, device and system
US5864569A (en) Method and apparatus for performing error correction on data read from a multistate memory
US7102943B2 (en) Non-volatile semiconductor memory device
US7355892B2 (en) Partial page fail bit detection in flash memory devices
US8363468B2 (en) Semiconductor memory device
KR101106977B1 (ko) 비휘발성 메모리의 캐시 동작에서의 데이터 래치의 사용
US7372744B2 (en) Memory system which copies successive pages, and data copy method therefor
JP4638544B2 (ja) 不揮発性メモリにおける改善されたプログラムベリファイ操作のための方法および装置
US20030163629A1 (en) Pipelined parallel programming operation in a non-volatile memory system
US20050015539A1 (en) Memory system and memory card
JP2004086991A (ja) 不揮発性記憶装置
JP2010503142A (ja) フラッシュメモリにおけるサイクル効果の擬似ランダムおよびコマンド主導型ビット補償とその方法
US11782633B2 (en) Memory device and method for monitoring the performances of a memory device
US20220058122A1 (en) Memory system, memory controller, and method of operating memory system
JP4561110B2 (ja) メモリコントローラ及びメモリコントローラを備えるフラッシュメモリシステム、並びに、フラッシュメモリの制御方法
US20210407601A1 (en) Method for checking the erasing phase of a memory device

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20120924

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130926

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141001

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151028

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee