KR100897591B1 - 비-휘발성 메모리에 대해 신뢰성이 높은 데이터 복사작동을 위한 신규 방법 및 구조 - Google Patents

비-휘발성 메모리에 대해 신뢰성이 높은 데이터 복사작동을 위한 신규 방법 및 구조 Download PDF

Info

Publication number
KR100897591B1
KR100897591B1 KR1020037002478A KR20037002478A KR100897591B1 KR 100897591 B1 KR100897591 B1 KR 100897591B1 KR 1020037002478 A KR1020037002478 A KR 1020037002478A KR 20037002478 A KR20037002478 A KR 20037002478A KR 100897591 B1 KR100897591 B1 KR 100897591B1
Authority
KR
South Korea
Prior art keywords
data
register
read
memory
flash
Prior art date
Application number
KR1020037002478A
Other languages
English (en)
Other versions
KR20030043934A (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 KR20030043934A publication Critical patent/KR20030043934A/ko
Application granted granted Critical
Publication of KR100897591B1 publication Critical patent/KR100897591B1/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/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

개선된 플래시 EEPROM 메모리 기반 저장 서브시스템은 각각이 데이터 레지스터의 중복성과 컨트롤러 회로를 갖춘 1개 이상의 플래시 메모리 어레이를 포함한다. 데이터가 플래시 어레이로부터 데이터 레지스터로 판독될 때, 데이터가 제 2 레지스터로 복사되므로 동일 어레이로의 후속 프로그램 작동중에 데이터는 데이터 유효성을 체크하기 위해 컨트롤러로 전달된다. 이는 복사 작동중에 데이터 전달 지연을 겪지 않을 뿐만 아니라 그러한 작동에 수반되는 데이터의 유효성을 보장할 수있는 성능이 개선된 시스템을 야기한다.

Description

비-휘발성 메모리에 대해 신뢰성이 높은 데이터 복사 작동을 위한 신규 방법 및 구조{NOVEL METHOD AND STRUCTURE FOR RELIABLE DATA COPY OPERATION FOR NON-VOLATILE MEMORIES}
본 발명은 반도체 비-휘발성 메모리 아키텍쳐 및 그 작동 방법의 분야에 관한 것이며, 플래시 전기적 소거 및 프로그래밍 가능한 판독-전용 메모리(EEPROM)에 활용을 갖는다.
플래시 EEPROM 디바이스의 공통적 활용은 전자 디바이스용 대량 데이터 저장 서브시스템으로서 이다. 그러한 서브시스템들은 다수의 호스트 시스템으로 삽입될 수 있는 착탈식 메모리 카드로서 또는 호스트 시스템에 비-착탈식 내장 저장 매체로서 구현된다. 양쪽 구현예에서, 서브시스템은 1개 이상의 플래시 디바이스와 종종 서브시스템 컨트롤러를 포함한다.
플래시 EEPROM 디바이스들은 트랜지스터 셀들의 1개 이상의 어레이로 이루어지며, 각 셀은 1개 이상의 데이터 비트들의 비-휘발성 저장 매체일 수 있다. 그러나, 일단 프로그래밍되면, 셀은 새로운 데이터 값으로 재프로그래밍될 수 있기전 까지 삭제되어야 한다. 이 셀들의 어레이들은 판독, 프로그램밍 및 삭제 기능의 효과적인 구현을 제공하도록 그룹으로 분할되어야 한다. 대량 저장 매체로 일반적인 플래시 메모리 아키텍쳐는 셀들의 대형 그룹을 삭제가능한 블럭들로 배열한다. 각 블럭은 판독 및 프로그래밍 기능을 위해 기본 유니트인 1개 이상의 어드레서블 섹터로 더 분할된다.
서브시스템 컨트롤러는 물리적 칩, 블럭, 및 섹터 어드레스로서 서브시스템의 로직 블럭 어드레스(LBA)의 번역을 포함하는 다수의 기능을 수행한다. 컨트롤러는 또한 인터페이스 버스를 경유하여 플래시 메모리 디바이스로 유출하는 일련의 명령어(command)들을 거쳐 저준위 플래시 회로 작동을 처리한다. 컨트롤러가 수행하는 또 다른 기능은 다양한 수단을 통하여(예를 들면, 에러 보정 코드, 또는 ECC를 사용하여) 서브시스템에 저장된 데이터의 무결성을 유지하는 것이다.
삭제 블럭이 다수의 섹터들을 포함하는 그러한 시스템의 작동에 있어서, 1개 섹터의 데이터의 콘텐츠를 다른 삭제된 섹터로 복사하는 것이 때때로 필요할 수 있다. 이는, 예를 들면, 블럭 섹터의 일부분에 있는 데이터가 호스트에 의해 서브시스템으로 기록되는 신규 데이터에 의해 교체되지만, 블럭내의 다른 영향받지 않은 섹터의 데이터로 오리지날 섹터의 신규 데이터의 물리적 근접이 유지된다. 도 1은 이것이 어떻게 수행될 수 있닌지의 예를 나타낸다. 영향받지않은 섹터의 데이터는 오리지날 블럭으로부터 판독되며 이어서 다른 블럭의 삭제된 섹터로 프로그래밍된다. 호스트로부터의 신규 데이터도 똑같이 신규 블럭의 삭제된 섹터로 프로그래밍된다. 이러한 작동의 완료후, 교체된 데이터를 지닌 오리지날 블럭이 삭제된다.
상기된 것처럼 그러한 작동중에, 판독되는 메모리로부터 데이터를 전달하며 이어서 그 데이터를 프로그래밍되는 메모리로 전달하는 것은 종래의 플래시 메모리 를 사용할 때 필요하다. 이러한 데이터 전달 작동은 버스의 사이클 시간에 의해 배가된 플래시 메모리 인터페이스 폭에 의해 분할된 섹터의 사이즈에 동등한 시간 지연을 야기한다. 매우 자주 이러한 작동들은 동일한 물리적 메모리 디바이스에서 수행된다.
이러한 전달 지연이 전반적인 작동에 미치는 영향을 상세히 도시하기 위해서, 도 1에 상세히 도시되어 있다. 1개 블럭이 16개 섹터로 이루어는 도면의 목적에 대해 추정하면, 증분적으로 할당된 각각은 도 1에 예시된 것처럼 섹터 0에서 섹터 15를 어드레스한다. 데이터 블럭의 섹터 7에서 섹터 9에 신규 데이터를 재기록하는 것이 바람직한 예에 대해, 기록 시퀀스는 다음과 같다:
1. 섹터 프로그램 작동을 위해 사용되지 않은, 삭제된 블럭을 할당(블럭 1을 삭제);
2. 오리지날 블럭의 어드레스를 선택, 오리지날 블럭의 섹터 0을 판독, 데이터를 플래시 EEPROM에서 컨트롤러로 전달;
3. 새롭게 할당된 블럭의 어드레스를 선택, 데이터를 플래시 EEPROM으로 전달 및 새롭게 할당된 블럭의 섹터 0에 프로그래밍;
4. 섹터 1에서 섹터 6에 대해 단계 2와 3을 반복;
5. 새롭게 할당된 블럭의 어드레스를 선택, 페이지 7에 대한 신규 호스트 데이터를 플래시 EEPROM으로 전달 및 새롭게 할당된 블럭의 섹터로 프로그래밍;
6. 섹터 8과 9에 대해 단계 5를 반복;
7. 오리지날 블럭의 어드레스를 선택, 오리지날 블럭의 섹터 10을 판독, 데 이터를 플래시 EEPROM에서 컨트롤러로 전달;
8. 새롭게 할당된 블럭의 어드레스를 선택, 데이터를 플래시 EEPROM으로 전달 및 새롭게 할당된 블럭의 섹터 10으로 프로그래밍;
9. 섹터 11내지 15에 대해 단계 7을 반복; 및
10. 차후 기록 작동을 위해 오리지날(지금 교체된) 블럭을 삭제.
도 2는 일반적인 종래의 플래시 EEPROM 디바이스의 내부 아키텍쳐(4000)를 나타낸다. 주요 특징은 외부 컨트롤러와 인터페이스하기 위한 I/O 버스(411)와 컨트롤 신호(412), 명령어, 어드레스 및 상태용 레지스터들과 내부 메모리 작동을 제어하기 위한 메모리 컨트롤 회로(450), 열 디코더(XDEC)(401)와 행 디코더(YDEC)(402)를 갖춘 플래시 EEPROM 셀의 1개 이상의 어레이(400), 감지 증폭기 및 프로그램 컨트롤 회로(SA/PROG)(454)의 그룹 및 데이터 레지스터(404)를 포함한다.
바람직하다면, 1999년 3월 30일 공고되었으며 본 출원의 양수인, 샌디스크 코포레이션으로 양도된 미국 특허 제5,890,192호에 의해 설명된 것처럼, 관련 X 디코더, Y 디코더, 프로그램/검증 회로, 데이터 레지스터 등과 함께 다수의 어레이(400)가 제공되며, 이는 참조로 본문에 포함된다.
외부 인터페이스 I/O 버스(411)와 컨트롤 신호(412)는 다음과 같은 신호로 구성될 수 있다:
CS - 칩 선택. 활성 플래시 메모리 인터페이스에 사용됨.
RS - 판독 스트로브. 데이터 판독 작동을 위해 사용되는 AD 버스를 지시하는 데 사용됨.
WS - 기록 스트로브. 데이터 기록 작동을 위해 사용되는 AD 버스를 지시하는데 사용됨.
AS - 어드레스 스트로브. AD 버스가 어드레스 정보를 전달하는데 사용됨을 지시함.
AD[7:0] - 어드레스/데이터 버스. 컨트롤러와 플래스 메모리 명령어, 어드레스 및 레지스터들 사이에서 데이터를 전달하는데 사용됨.
다른 신호 구성이 동일한 기능을 제시하기 위해 사용될 수 있으므로, 이러한 인터페이스는 단지 일예로서 주어졌다. 이 도면은 관련 구성요소를 지닌 하나의 플래시 메모리 어레이(400)를 나타내지만, 다수의 어레이가 공통 인터페이스와 메모리 컨트롤 회로를 공유하는 단일 플래시 메모리 칩에 존재할 수 있지만 병렬 판독 및 프로그래밍 작동을 하기 위해서 개별적인 XDEC, YDEC, SA/PROG 및 DATA REG를 가질 수 있음이 이해된다.
EEPROM 시스템(4000)의 데이터 레지스터로부터의 데이터는 I/O 버스 AD[7:0](411)에 커플링된 데이터 레지스터를 경유하여 외부 컨트롤러로 전달된다. 데이터 레지스터(404)는 또한 감지 증폭기/프로그래밍 회로(454)에 커플링된다. 각 감지 증폭기/프로그래밍 회로 엘리먼트에 커플링되는 데이터 레지스터의 엘리먼트의 개수는 각 플래시 EEPROM 셀에 저장되는 비트의 개수에 좌우한다. 각 플래시 EEPROM 셀은, 다중-상태 메모리 셀이 사용된다면, 다수의 비트, 이를 테면 2, 또는 4개를 포함한다.
열 디코더(401)는 액세스되는 물리적 섹터를 선택하기 위해서 어레이(400)에 대한 열 어드레스를 디코드한다. 열 디코더(401)는 메모리 컨트롤 로직(450)으로부터 내부 열 어드레스 라인(419)를 경유하여 열 어드레스를 수신한다. 행 디코더(402)는 메모리 컨트롤 로직(450)으로부터 내부 행 어드레스 라인(429)를 경유하여 행 어드레스를 수신한다.
섹터로 프로그래밍된 호스트 데이터의 각 섹터의 중요성(worth)은 저장된 데이터의 유효성을 결정하는데 사용될 수 있는 에러 검출 및 보정 코드(ECC)로 부가됨이 일반적인 관행이다. 일부 그러한 시스템은 전달의 계기를 기회로 사용하여 데이터가 새로운 위치에 정확하게 프로그래밍됨을 보장하는 방식으로서 판독되는 데이터의 유효성을 체크한다. 이들 저장 디바이스의 전반적인 충실도로 인하여, 그러한 검증중에 실패의 경우가 드물다.
도 3은 1개 이상의 플래시 메모리 디바이스로 이루어진 플래시 메모리 어레이와 호스트 및 메모리 컨트롤 기능을 수행하는 단일 컨트롤러(301)를 구비하는 일반적인 플래시 카드 아키텍쳐를 나타낸다. 시스템 컨트롤러와 플래시 메모리는 컨트롤러(301)가 커맨트, 어드레스를 로드하고 데이터를 플래시 메모리 어레이와 교신하게 하는 버스(302)에 의해 연결되어 있다.
도 4는 소스 어드레스(SRC[N])로부터 목적 어드레스(DST[N])로의 페이지 복사 작동의 타이밍도를 나타낸다. READ 신호는 판독이 소스 섹터로부터 발생됨을 지시한다. XFER 신호는 플래시 데이터 레지스터와 컨트롤러 사이에서 데이터 전달을 지시한다. R/WB 신호는 전달 방향을 지시한다(하이(high)는 플래시로부터 컨트롤러 로의 판독이며 로우(low)는 컨트롤러로부터 플래시로의 기록이다). PROG 신호는 프로그램 작동인 목적 페이지에서 발생함을 지시한다.
일반적인 타이밍 값은:
TRD=25㎲ TX=26.4㎲ TPRG=300㎲ TERA=500-3000㎲(도시되지 않음)
그러므로 단일 섹터를 복사하는 전체 시간은(도 4에 예시됨)
TCOPY=TRD+2*TX+TPRG=377㎲
전반적인 페이지 복사 작동의 데이터 전달 시간의 14%를 차지한다.
이러한 디바이스의 기록 및 판독 수행을 개선시키기 위해서 한번에 프로그래밍과 판독될 수 있는 셀의 개수를 증가시키는 것이 비-휘발성 메모리 설계에서 일반적인 추세이다. 이는 단일 다이(die)에 메모리 셀 어레이의 개수를 증가시킴으로써, 단일 평면내의 페이지 사이즈를 증가시킴으로써, 병렬로 다중 칩을 프로그래밍시킴으로써 또는 이들 3가지 기술의 조합으로써 달성될 수 있다. 이것들의 결과는 수많은 셀들이 거의 또는 전혀 변하지 않는 프로그램 및 판독 시간으로 프로그램 또는 판독되기 위해 데이터 전달 길이가 증가해야 한다는 것이다. 따라서, 그렇게 병렬 관계를 증가시키는 시스템에서의 데이터 복사의 비용이 매우 높다. 일예로서, 상기 예에서 사용된 것처럼 동일한 타이밍 값들은 병렬 관계에서 4-배 증가로서 시스템에 대한 영향을 나타낸다.
TCOPY=TRD+8*TX+TPRG=536.2㎲
전반적인 4개 페이지 복사 작동의 데이터 전달 시간의 39%를 차지한다.
미국 특허 제6,040,997호는 특허권 소유자 및 타인에게 공지된 기술을 기술하며, 여기서 플래시 메모리 시스템은 플래시 메모리내의 제 1 위치로부터 판독된 데이터가 플래시 메모리밖으로 전달될 필요없이 플래시 메모리의 제 2 위치로 재기록되도록 하는 내부 버퍼를 포함한다. 이는 데이터 전달 시간을 개선시킨다. 그러나, 이러한 공지 기술은 에러 체크 및 보정 방법을 제공하지 않으며, 단지 제 1 플래시 메모리 위치로부터 판독된 데이터가 정확하다고 추정한다.
필요한 것은 데이터 전달 지연없이 복사 작동의 효율이 복사되는 데이터의 무결성이 검증될 수 있는 그러한 방식에서 사용될 수 있는 방법이다.
개요
비-휘발성 메모리 시스템은 하나의 물리적으로 어드레스된 위치에서 메모리 셀들로부터 데이터를 판독(감지)한 후 이어서 그 데이터를 서로 다른 물리적으로 어드레스된 위치로 프로그래밍하는데 사용되는 회로로 설계된다. 이는 메모리 회로에서 그리고 이어서 메모리 회로로 2개의 데이터 전달에 의해 겪게되는 지연을 제거함으로써 메모리 저장 시스템의 전반적인 성능을 개선시킨다. 프로그램 작동중에 데이터는 컨트롤 회로로 부가적으로 전달되어 데이터 유효성이 검증된다. 이는 감소된 시스템 신뢰성을 겪지않고 데이터가 프로그램 작동과 동시에 검증되게 함으로써 시스템의 전반적인 성능을 증가시킨다.
도 1은 종래의 EEPROM에서 새로운 데이터를 로직 어드레스에 기록시 포함되는 단계를 나타낸다;
도 2는 종래의 EEPROM의 블럭도를 나타낸다;
도 3은 종래의 일반적인 플래시-기반 저장 서브시스템 아키텍쳐를 나타낸다;
도 4는 종래의 페이지 복사 작동의 타이밍도를 나타낸다;
도 5는 본 발명의 일실시예에 따라 반도체 비-휘발성 메모리의 개략도를 나타낸다; 및
도 6은 본 발명의 일실시예에 따라 복사 작동중에 발생하는 사건의 시퀀스를 도시한다.
도 5는 본 발명의 일실시예에 따라 구성된 반도체 비-휘발성 메모리를 나타내는 도면을 예시하고 있다. 예시된 메모리 시스템은 2개의 개별적으로 어드레스되는 메모리 어레이(400-1, 400-N)로 이루어지며, 각각은 도 2에 관련하여 이미 기술된 것과 같이 특정 워드라인을 어드레스하며, 그 워드라인위의 셀들의 임계 전압을 감지하고 차후 사용을 위해 감지된 데이터를 저장하기 위한 관련 회로를 구비한다. 상기 메모리 시스템은, 각 어레이와 관련하여, 1개 이상의 워드라인에 의해 제어되는 셀의 그룹을 삭제하기 위해 그리고 어드레스된 워드라인중 하나에 따라 셀들을 프로그래밍하기 위한 프로그래밍 회로를 또한 구비한다. 도 5는 관련 회로로서 2개의 개별 어레이와 개별 컨트롤러 회로를 지닌 시스템을 나타내지만, 본 발명은 비-휘발성 메모리 셀의 어레이의 소정의 개수를 지닌 메모리 시스템에, 그리고 컨트롤러 회로가 1개 이상의 다수의 메모리 어레이들인 동일 반도체 디바이스위에 포함되는 시스템에 적용됨이 이해되어야 한다.
본 발명에서, 감지된 데이터의 저장을 수행하며 프로그래밍 데이터를 제공하기 위한 회로는 양쪽 작동을 위해 메모리 엘리먼트가 물리적으로 동일한 그러한 방식으로 설계된다. 그러므로, 데이터가 감지 데이터 레지스터에 판독 및 저장되면, 추가적인 데이터 전달에 대한 필요없이 프로그램 작동을 제어하는데 사용될 수 있다.
어드레스 메카니즘은 특정 어드레스된 워드라인상의 판독 작동후 상기 어드레스가 감지된 데이터 레지스터로부터의 데이터로 후자의 워드라인을 프로그래밍하기 위해 동일 어레이의 상이한 워드라인을 어드레스하도록 변경되는 방식으로 설계된다. 그러므로, 본 회로는 메모리 디바이스의 밖으로 데이터를 전달할 필요없이 하나의 워드라인에서 다른 워드라인으로의 효율적인 복사 작동을 수행하는데 필요한 모든것을 포함한다.
16개 데이터 블럭중 섹터 7내지 섹터 9의 새로운 데이터를 재기록하는 것이 바람직한 예에 대해, 기록 시퀀스는 다음과 같다:
1. 섹터 기록 작동을 위해 사용되지 않은 블럭(삭제된 블럭 1)을 할당;
2. 오리지날 블럭의 어드레스를 선택, 오리지날 블럭의 페이지 0을 데이터 레지스터로 판독;
3. 새롭게 할당된 블럭의 어드레스를 선택, 새롭게 할당된 블럭의 프로그램 작동을 시작한다. 동시에 데이터 유효성을 체크하기 위해서 데이터를 데이터 레지스터로부터 컨트롤러 회로로 전달;
4. 메모리 상태 레지스터와 데이터 유효성 상태를 체크. 에러가 있다면, 에 러 복원 메카니즘을 수반;
5. 페이지 1 내지 6에 대해 단계 2 내지 4를 반복;
6. 새롭게 할당된 블럭의 어드레스를 선택, 페이지 7에 대한 신규 데이터를 컨트롤러에서 플래시 EEPROM으로 전달 및 새롭게 할당된 블럭의 프로그램 작동을 시작;
7. 메모리 상태 레지스터를 체크. 에러가 있다면, 에러 복원 메카니즘을 수반;
8. 페이지 8과 9에 대해 단계 6과 7을 반복;
9. 오리지날 블럭의 어드레스를 선택, 오리지날 블럭의 페이지 10을 데이터 레지스터로 판독;
10. 새롭게 할당된 블럭의 어드레스를 선택, 새롭게 할당된 블럭의 페이지 10의 프로그램 작동을 시작한다. 동시에 데이터 유효성을 체크하기 위해서 데이터를 데이터 레지스터에서 컨트롤러 회로로 전달;
11. 메모리 상태 레지스터와 데이터 유효성 상태를 체크; 및
12. 페이지 11내지 15에 대해 단계 9내지 11을 반복. 에러가 있다면, 에러 복원 메카니즘을 수반.
도 6은 본 발명의 일실시예에 따른 복사 작동중에 발생하는 사건의 시퀀스를 도시한다. 화살표는 판독(1), 마스터-슬레이브 레지스터 전달(2), 프로그램(3) 및 데이터 전달(3)중의 데이터 흐름의 방향을 지시한다. 데이터 전달과 프로그램 작동은 모두 그것들이 병렬 작동임을 지시하는 (3)을 갖는다.
이러한 메모리가 1개 이상의 개별 메모리 셀 어레이로 설계되어 있으므로, 수많은 이러한 작동이 개별 메모리 어레이인 것처럼 병렬로 수행될 수 있다. 이는 상기 작동의 효율을 더 증가시킨다.
1개 이상의 셀들의 데이터가, 일단 감지되면, 그 셀들로 프로그래밍되었던 오리지날 데이터를 반영하지 않음이 종종 발생한다. 그러한 경우에, 외부 회로 검증 수단을 사용하여 그 데이터의 유효성을 검증하는 것이 바람직하다. 일 실시예에서, 데이터 중복성, 예를 들면 ECC가 사용되며, 이는 오리지날 데이터와 함께 셀들의 그룹으로 동시에 프로그래밍되며 그 셀들로부터 판독될 때 그 데이터의 유효성을 검증할 수 있다. 에러 검출이 있는 경우에, 그 잉여 정보는 에러 데이터를 정정하는데 사용된다. 도 5에 예시된 실시예는 데이터가, 일단 감지되면, 검증을 위해 메모리 회로의 외부 회로로 전달되도록 한다. 이는 오리지날 감지 레지스터 콘텐츠를 변경없이 이러한 전달 작동이 발생하게 하는 방식으로 구현된다. 이는 그후 상기 전달 및 검증 작동이 프로그램 작동과 동시에 이루어지게 한다.
수많은 개별 메모리 셀 어레이들이 있으며 그리고 프로그램 작동을 수행하는 시간이 전달 및 검증을 수행하는 시간보다도 상당히 길으므로, 다중 프로그램 작동이 다중 전달 및 검증 작동과 동시에 수행될 수 있다. 이러한 방식에서 복사 작동중에 프로그래밍되는 데이터의 유효성은 퍼포먼스 패널티(performance penalty)없이 보장될 수 있다. 그리고 데이터의 유효성을 보장함으로써, 시스템 신뢰성이 증가된다.
본 명세서에 언급된 모든 공고와 특허 출원들은 각각의 개별 공고 또는 특허 출원이 참조로 포함되는 것으로 명확하게 그리고 개별적으로 지시된 것처럼 참조로 본문에 포함된다.
상세히 기술된 발명은 첨부된 청구범위의 사상 또는 범위로부터 벗어나지 않고 수많은 변경과 변형이 이루어질 수 있음이 당 기술의 당업자에게 명백할 것이다.

Claims (5)

  1. 비휘발성 메모리 셀들의 어레이;
    제1 레지스터;
    제2 레지스터; 및
    상기 어레이로부터의 데이터를 판독하고, 판독된 데이터를 상기 제1 레지스터에 저장하며, 상기 제1 레지스터로부터의 데이터로 상기 어레이의 하나 이상의 위치를 프로그래밍하는 컨트롤러 회로;
    를 포함하는 비휘발성 메모리 시스템에 있어서,
    상기 컨트롤러 회로는 상기 판독된 데이터를 상기 제2 레지스터에 또한 저장하고, 상기 제1 레지스터로부터의 상기 데이터로 상기 어레이의 상기 하나 이상의 위치를 동시에 프로그래밍함과 동시에, 상기 제2 레지스터에 저장된 상기 데이터의 유효성을 체크하는 것을 특징으로 하는 비휘발성 메모리 시스템.
  2. 제 1 항에 있어서, 상기 컨트롤러는 상기 프로그래밍이 이루어지는 동안 상기 제 2 레지스터에 저장된 데이터가 상기 메모리 시스템에서 판독되게 하는 것을 특징으로 하는 비-휘발성 메모리 시스템.
  3. 제 1 항에 있어서, 상기 메모리 셀은 플래시 메모리 셀을 포함하는 것을 특징으로 하는 비-휘발성 메모리 시스템.
  4. 제 1 항에 있어서, 상기 제 2 레지스터의 데이터의 유효성을 체크하기 위해 ECC 회로를 더 포함하는 것을 특징으로 하는 비-휘발성 메모리 시스템.
  5. 제 1 항에 있어서, 상기 제 2 레지스터는 상기 프로그래밍이 이루어지는 동안 어드레스 및 판독될 수 있는 다수의 개별 엘리먼트를 포함하는 것을 특징으로 하는 비-휘발성 메모리 시스템.
KR1020037002478A 2000-08-21 2001-08-16 비-휘발성 메모리에 대해 신뢰성이 높은 데이터 복사작동을 위한 신규 방법 및 구조 KR100897591B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/643,151 2000-08-21
US09/643,151 US6266273B1 (en) 2000-08-21 2000-08-21 Method and structure for reliable data copy operation for non-volatile memories
PCT/US2001/025678 WO2002017330A2 (en) 2000-08-21 2001-08-16 Novel method and structure for reliable data copy operation for non-volatile memories

Publications (2)

Publication Number Publication Date
KR20030043934A KR20030043934A (ko) 2003-06-02
KR100897591B1 true KR100897591B1 (ko) 2009-05-14

Family

ID=24579568

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020037002478A KR100897591B1 (ko) 2000-08-21 2001-08-16 비-휘발성 메모리에 대해 신뢰성이 높은 데이터 복사작동을 위한 신규 방법 및 구조

Country Status (10)

Country Link
US (1) US6266273B1 (ko)
EP (1) EP1312095B1 (ko)
JP (1) JP2004507007A (ko)
KR (1) KR100897591B1 (ko)
CN (2) CN1329924C (ko)
AT (1) ATE368926T1 (ko)
AU (1) AU2001283409A1 (ko)
DE (1) DE60129710T2 (ko)
TW (1) TW511087B (ko)
WO (1) WO2002017330A2 (ko)

Families Citing this family (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100544175B1 (ko) * 1999-05-08 2006-01-23 삼성전자주식회사 링킹 타입 정보를 저장하는 기록 매체와 결함 영역 처리 방법
JP3921024B2 (ja) * 2000-02-29 2007-05-30 富士通株式会社 半導体記憶装置
US6349056B1 (en) * 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
US6760805B2 (en) * 2001-09-05 2004-07-06 M-Systems Flash Disk Pioneers Ltd. Flash management system for large page size
JP4034949B2 (ja) * 2001-09-06 2008-01-16 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP3802411B2 (ja) * 2001-12-20 2006-07-26 株式会社東芝 不揮発性半導体記憶装置のデータコピー方法
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
JP4004811B2 (ja) * 2002-02-06 2007-11-07 株式会社東芝 不揮発性半導体記憶装置
US6829167B2 (en) * 2002-12-12 2004-12-07 Sandisk Corporation Error recovery for nonvolatile memory
KR100543447B1 (ko) * 2003-04-03 2006-01-23 삼성전자주식회사 에러정정기능을 가진 플래쉬메모리장치
IL156468A (en) * 2003-06-16 2013-07-31 Rafael Advanced Defense Sys A task data stack that is utilized for a computer placed inside a shooting tool
US7881133B2 (en) * 2003-11-11 2011-02-01 Samsung Electronics Co., Ltd. Method of managing a flash memory and the flash memory
US6944041B1 (en) * 2004-03-26 2005-09-13 Bae Systems Information And Electronic Systems Integration, Inc. Circuit for accessing a chalcogenide memory array
TWI254947B (en) * 2004-03-28 2006-05-11 Mediatek Inc Data managing method and data access system for storing all management data in a management bank of a non-volatile memory
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US8375146B2 (en) * 2004-08-09 2013-02-12 SanDisk Technologies, Inc. Ring bus structure and its use in flash memory systems
JP4504138B2 (ja) * 2004-09-03 2010-07-14 株式会社東芝 記憶システム及びそのデータコピー方法
KR100634414B1 (ko) * 2004-09-06 2006-10-16 삼성전자주식회사 에러 검출용 패러티 발생기를 구비한 낸드 플래시 메모리 장치 및 그것의 에러 검출 방법
US7466597B2 (en) * 2004-09-09 2008-12-16 Samsung Electronics Co., Ltd. NAND flash memory device and copyback program method for same
US20060095622A1 (en) * 2004-10-28 2006-05-04 Spansion, Llc System and method for improved memory performance in a mobile device
US7420847B2 (en) * 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
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
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
US7212440B2 (en) * 2004-12-30 2007-05-01 Sandisk Corporation On-chip data grouping and alignment
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 삼성전자주식회사 읽기 속도를 향상시킬 수 있는 플래시 메모리 장치
US7668017B2 (en) 2005-08-17 2010-02-23 Saifun Semiconductors Ltd. Method of erasing non-volatile memory cells
US7130222B1 (en) * 2005-09-26 2006-10-31 Macronix International Co., Ltd. Nonvolatile memory with program while program verify
US7509471B2 (en) * 2005-10-27 2009-03-24 Sandisk Corporation Methods for adaptively handling data writes in non-volatile memories
US7631162B2 (en) 2005-10-27 2009-12-08 Sandisck Corporation Non-volatile memory with adaptive handling of data writes
KR101197556B1 (ko) * 2006-01-09 2012-11-09 삼성전자주식회사 불 휘발성 메모리의 프로그램 동작을 검증하는 장치 및방법, 그리고 그 장치를 포함한 메모리 카드
US7345926B2 (en) * 2006-04-24 2008-03-18 Sandisk Corporation High-performance flash memory data transfer
US7366029B2 (en) * 2006-04-24 2008-04-29 Sandisk Corporation High-performance flash memory data transfer
US7525855B2 (en) * 2006-04-24 2009-04-28 Sandisk Corporation Method of high-performance flash memory data transfer
US7499339B2 (en) * 2006-07-19 2009-03-03 Sandisk Corporation High-performance flash memory data transfer
US7499369B2 (en) * 2006-07-19 2009-03-03 Sandisk Corporation Method of high-performance flash memory data transfer
US7366028B2 (en) * 2006-04-24 2008-04-29 Sandisk Corporation Method of high-performance flash memory data transfer
WO2007131062A2 (en) 2006-05-05 2007-11-15 Sandisk Corporation Non-volatile memory with background data latch caching during read operations and methods therefor
KR100778082B1 (ko) * 2006-05-18 2007-11-21 삼성전자주식회사 단일의 래치 구조를 갖는 멀티-비트 플래시 메모리 장치,그것의 프로그램 방법, 그리고 그것을 포함하는 메모리카드
US7876613B2 (en) 2006-05-18 2011-01-25 Samsung Electronics Co., Ltd. Multi-bit flash memory devices having a single latch structure and related programming methods, systems and memory cards
KR100747759B1 (ko) 2006-08-16 2007-08-08 연세대학교 산학협력단 플래시 메모리 장치 및 그 인터페이스 장치
KR100919156B1 (ko) * 2006-08-24 2009-09-28 삼성전자주식회사 멀티-비트 플래시 메모리 장치 및 그것의 프로그램 방법
US7885112B2 (en) * 2007-09-07 2011-02-08 Sandisk Corporation Nonvolatile memory and method for on-chip pseudo-randomization of data within a page and between pages
US7606966B2 (en) * 2006-09-08 2009-10-20 Sandisk Corporation Methods in a pseudo random and command driven bit compensation for the cycling effects in flash memory
US7734861B2 (en) * 2006-09-08 2010-06-08 Sandisk Corporation Pseudo random and command driven bit compensation for the cycling effects in flash memory
KR100791839B1 (ko) * 2006-10-31 2008-01-07 삼성전자주식회사 데이터 읽기 시 데이터 스트로브 신호를 발생할 수 있는비휘발성 메모리 장치와 그 방법
US8023338B2 (en) * 2006-12-22 2011-09-20 Sidense Corp. Dual function data register
US7499320B2 (en) * 2007-03-07 2009-03-03 Sandisk Corporation Non-volatile memory with cache page copy
US7502255B2 (en) * 2007-03-07 2009-03-10 Sandisk Corporation Method for cache page copy in a non-volatile memory
US20090106513A1 (en) * 2007-10-22 2009-04-23 Chuang Cheng Method for copying data in non-volatile memory system
JP5183403B2 (ja) * 2008-09-30 2013-04-17 株式会社日立製作所 ストレージシステムおよび制御プログラムならびにストレージシステム制御方法
US8762621B2 (en) * 2008-10-28 2014-06-24 Micron Technology, Inc. Logical unit operation
US20100161932A1 (en) * 2008-12-18 2010-06-24 Ori Moshe Stern Methods for writing data from a source location to a destination location in a memory device
US8316201B2 (en) * 2008-12-18 2012-11-20 Sandisk Il Ltd. Methods for executing a command to write data from a source location to a destination location in a memory device
US8832353B2 (en) * 2009-04-07 2014-09-09 Sandisk Technologies Inc. Host stop-transmission handling
US8027195B2 (en) * 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
US8102705B2 (en) 2009-06-05 2012-01-24 Sandisk Technologies Inc. Structure and method for shuffling data within non-volatile memory devices
US8307241B2 (en) * 2009-06-16 2012-11-06 Sandisk Technologies Inc. Data recovery in multi-level cell nonvolatile memory
US8132045B2 (en) * 2009-06-16 2012-03-06 SanDisk Technologies, Inc. Program failure handling in nonvolatile memory
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US8144512B2 (en) * 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
US8468294B2 (en) * 2009-12-18 2013-06-18 Sandisk Technologies Inc. Non-volatile memory with multi-gear control using on-chip folding of data
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US8443263B2 (en) * 2009-12-30 2013-05-14 Sandisk Technologies Inc. Method and controller for performing a copy-back operation
JP5204265B2 (ja) * 2010-01-29 2013-06-05 株式会社東芝 半導体記憶装置及び半導体記憶装置の制御方法
JP4745465B1 (ja) * 2010-01-29 2011-08-10 株式会社東芝 半導体記憶装置及び半導体記憶装置の制御方法
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
US8843693B2 (en) 2011-05-17 2014-09-23 SanDisk Technologies, Inc. Non-volatile memory and method with improved data scrambling
KR101893145B1 (ko) * 2011-12-06 2018-10-05 삼성전자주식회사 메모리 시스템들 및 그것들의 블록 복사 방법들
US8799598B2 (en) * 2012-02-17 2014-08-05 Spansion Llc Redundancy loading efficiency
US8842473B2 (en) 2012-03-15 2014-09-23 Sandisk Technologies Inc. Techniques for accessing column selecting shift register with skipped entries in non-volatile memories
US20130254463A1 (en) * 2012-03-23 2013-09-26 Kabushiki Kaisha Toshiba Memory system
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
US9490035B2 (en) 2012-09-28 2016-11-08 SanDisk Technologies, Inc. Centralized variable rate serializer and deserializer for bad column management
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
US8897080B2 (en) 2012-09-28 2014-11-25 Sandisk Technologies Inc. Variable rate serial to parallel shift register
US9037902B2 (en) 2013-03-15 2015-05-19 Sandisk Technologies Inc. Flash memory techniques for recovering from write interrupt resulting from voltage fault
KR102200489B1 (ko) 2014-05-30 2021-01-11 삼성전자주식회사 비휘발성 메모리 장치 및 그것을 포함하는 저장 장치
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
US10636459B2 (en) * 2018-05-30 2020-04-28 Micron Technology, Inc. Wear leveling
CN110175056B (zh) * 2019-05-30 2022-02-11 西安微电子技术研究所 一种异构平台远程动态加载多目标fpga的控制装置及控制方法
US11138071B1 (en) 2020-06-22 2021-10-05 Western Digital Technologies, Inc. On-chip parity buffer management for storage block combining in non-volatile memory

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933368A (en) * 1996-11-25 1999-08-03 Macronix International Co., Ltd. Flash memory mass storage system
US5974528A (en) * 1998-04-17 1999-10-26 Winbond Electronics Corp. Microcomputer with embedded flash memory having on-chip programming capability and method of programming data into the embedded flash memory

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW231343B (ko) * 1992-03-17 1994-10-01 Hitachi Seisakusyo Kk
US5890192A (en) 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
US5930167A (en) * 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache
US6040997A (en) 1998-03-25 2000-03-21 Lexar Media, Inc. Flash memory leveling architecture having no external latch

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933368A (en) * 1996-11-25 1999-08-03 Macronix International Co., Ltd. Flash memory mass storage system
US5974528A (en) * 1998-04-17 1999-10-26 Winbond Electronics Corp. Microcomputer with embedded flash memory having on-chip programming capability and method of programming data into the embedded flash memory

Also Published As

Publication number Publication date
KR20030043934A (ko) 2003-06-02
WO2002017330A2 (en) 2002-02-28
CN1329924C (zh) 2007-08-01
DE60129710T2 (de) 2008-06-05
AU2001283409A1 (en) 2002-03-04
EP1312095A2 (en) 2003-05-21
EP1312095B1 (en) 2007-08-01
TW511087B (en) 2002-11-21
CN101067969A (zh) 2007-11-07
US6266273B1 (en) 2001-07-24
CN101067969B (zh) 2010-06-16
CN1447976A (zh) 2003-10-08
WO2002017330A3 (en) 2002-06-27
JP2004507007A (ja) 2004-03-04
ATE368926T1 (de) 2007-08-15
DE60129710D1 (de) 2007-09-13

Similar Documents

Publication Publication Date Title
KR100897591B1 (ko) 비-휘발성 메모리에 대해 신뢰성이 높은 데이터 복사작동을 위한 신규 방법 및 구조
US6349056B1 (en) Method and structure for efficient data verification operation for non-volatile memories
US7162569B2 (en) Pipelined parallel programming operation in a non-volatile memory system
KR100944996B1 (ko) 비휘발성 메모리에 부분적 블럭 데이터 프로그래밍 및판독 작동
US7212440B2 (en) On-chip data grouping and alignment
KR100626393B1 (ko) 불휘발성 메모리 장치 및 그것의 멀티-페이지 카피백 방법

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

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140418

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150416

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160419

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170420

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180417

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee