KR101363965B1 - 결함 위치들에 대한 데이터 래치들에 용장 데이터가 버퍼되는 비휘발성 메모리 및 방법 - Google Patents

결함 위치들에 대한 데이터 래치들에 용장 데이터가 버퍼되는 비휘발성 메모리 및 방법 Download PDF

Info

Publication number
KR101363965B1
KR101363965B1 KR1020087024609A KR20087024609A KR101363965B1 KR 101363965 B1 KR101363965 B1 KR 101363965B1 KR 1020087024609 A KR1020087024609 A KR 1020087024609A KR 20087024609 A KR20087024609 A KR 20087024609A KR 101363965 B1 KR101363965 B1 KR 101363965B1
Authority
KR
South Korea
Prior art keywords
data
redundant
array portion
latches
memory
Prior art date
Application number
KR1020087024609A
Other languages
English (en)
Other versions
KR20080112278A (ko
Inventor
파루크 무가트
라울-애드리안 세르네아
쇼우-창 트사오
타이-유안 트셍
Original Assignee
샌디스크 테크놀로지스, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/388,408 external-priority patent/US7224605B1/en
Priority claimed from US11/389,655 external-priority patent/US7394690B2/en
Application filed by 샌디스크 테크놀로지스, 인코포레이티드 filed Critical 샌디스크 테크놀로지스, 인코포레이티드
Publication of KR20080112278A publication Critical patent/KR20080112278A/ko
Application granted granted Critical
Publication of KR101363965B1 publication Critical patent/KR101363965B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1063Control signal output circuits, e.g. status or busy flags, feedback command signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • 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/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/70Masking faults in memories by using spares or by reconfiguring
    • G11C29/78Masking faults in memories by using spares or by reconfiguring using programmable devices
    • G11C29/84Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability
    • G11C29/846Masking faults in memories by using spares or by reconfiguring using programmable devices with improved access time or stability by choosing redundant lines at an output stage
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

메모리는 이의 사용부 내 결함 메모리 위치들이 용장부 내 용장 위치들에 의해 대체될 수 있게 한다. 사용자부 및 용장부 내 데이터 래치들은 메모리로부터 감지 혹은 메모리에 기입될 데이터가 데이터 버스로 교환될 수 있게 한다. 결함 메모리 위치 래치 용장방법은 결함 컬럼들을 위한 데이터 래치들을 포함하는 컬럼 회로들이 여전히 사용될 수 있게 한다. 결함 컬럼들을 위한 데이터 래치들은 용장부 내 그들의 데이터 래치들로부터 정상적으로 액세스될 수 있는 대응하는 용장 데이터를 버퍼하는데 사용된다. 따라서 사용자 및 용장 데이터 모두 사용자 데이터 래치들로부터 얻어질 수 있고 데이터 버스에 혹은 이로부터 데이터를 스트리밍 하는 것이 단순화되어 수행이 향상된다.

Description

결함 위치들에 대한 데이터 래치들에 용장 데이터가 버퍼되는 비휘발성 메모리 및 방법{NON-VOLATILE MEMORY AND METHOD WITH REDUNDANCY DATA BUFFERED IN DATA LATCHES FOR DEFECTIVE LOCATIONS}
이 발명은 일반적으로 전기적으로 소거가능한 프로그래머블 판독전용 메모리(EEPROM) 및 플래시 EEPROM와 같은 비휘발성 반도체 메모리에 관한 것으로, 특히 컬럼 용장 특징들(column redundancy features)을 구현하는 것들에 관한 것이다.
비휘발성으로 전하를 저장할 수 있는, 특히 소형 폼 팩터(form factor) 카드로서 패키지되는 EEPROM 및 플래시 EEPROM 형태의 고체상태 메모리는 최근에 다양한 이동 및 휴대장치들, 특히 정보기기들 및 소비자 전자제품들에서 선택되는 저장장치가 되었다. 고체상태 메모리인 RAM(랜덤 액세스 메모리)와는 달리, 플래시 메모리는 비휘발성이어서, 파워가 턴 오프 된 후에도 그의 저장된 데이터를 보존한다. 자기 디스크 저장장치에 비해 높은 가격에도 불구하고, 플래시 메모리는 대량 저장 애플리케이션들에서 점점 더 사용되고 있다. 하드 드라이브들 및 플로피 디스크들과 같은 회전 자기 매체에 기초한, 종래의 대량 저장장치는 이동 및 휴대 환경엔 적합하지 않다. 이것은 디스크 드라이브들이 부피가 큰 경향이 있고 기계적 고장이 나기 쉬우며 큰 레이턴시(latency)와 큰 파워 요건들을 갖고 있기 때문이다. 이들 바람직하지 못한 속성들은 디스크 기반의 저장장치를 대부분의 이동 및 휴대 애플리케이션들에서 비현실적이게 한다. 반면, 내장형임과 아울러 착탈가능한 카드 형태인 플래시 메모리는 이의 소형 크기, 낮은 파워 소비, 고속 및 고 신뢰성 특징들 때문에 이상적으로 이동 및 휴대 환경에서 적합하다.
메모리 장치들은 전형적으로 카드 상에 장착될 수 있는 하나 이상의 메모리 칩들을 포함한다. 각각의 메모리 칩은 디코더들, 및 소거, 기입 및 판독회로들과 같은 주변회로들에 의해 지원되는 한 어레이의 메모리 셀들을 포함한다. 보다 정교한 메모리 장치들은 지능형이고 보다 높은 레벨의 메모리 동작들 및 인터페이싱을 수행하는 제어기가 부수된다. 최근에 사용되는 많은 상업적으로 성공한 비휘발성 고체상태 메모리 장치들이 있다. 이들 메모리 장치들은 각 유형이 하나 이상의 전하 저장 소자를 구비하는 것인 서로 다른 유형들의 메모리 셀들을 채용할 수 있다. EEPROM들 및 이들을 제조하는 방법들의 예들은 미국특허 5,595,924에 주어져 있다. 플래시 EEPROM들, 메모리 시스템들에서 이들의 사용들 및 이들을 제조하는 방법들의 예들은 미국특허 5,070,032, 5,095,344, 5,315,541, 5,343,063, 5,661,053, 5,313,421, 6,222,762에 주어져 있다. NAND 셀 구조들을 구비한 메모리 장치들의 예들은 미국특허 5,570,315, 5,903,495, 6,046,935에 기술되어 있다. 전하를 저장하기 위한 유전층을 구비한 메모리 장치들의 예들은 Eitan 등의 "NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell," IEEE Electron Device Letters, vol. 21, no. 11, November 2000, pp. 543-545, 및 미국특허 5,768,192 및 6,011,725에 기술되어있다.
보통 메모리 장치는, 로우들(rows) 및 컬럼들(columns)로 배열되고 워드라인들 및 비트라인들에 의해 어드레스될 수 있는 2차원 어레이의 메모리 셀들로서 조직된다. 어레이는 NOR형 혹은 NAND형 구조에 따라 형성될 수 있다. NOR 유형의 메모리들의 예들은 미국특허 5,172,338 및 5,418,752에 개시되어 있다. 메모리 시스템의 부분으로서 NAND 구조 어레이들 및 이들의 동작의 예들은 미국특허 5,570,315, 5,774,397 및 6,046,935에서 발견된다.
메모리는 흔히, 제조공정으로부터 혹은 장치의 동작동안 발생하는 것으로부터, 결함 부분들을 가질 것이다. 특히, 제조수율을 최대화하기 위해서, 제조시 발견되는 결함들은 다른 결함 제품을 구제하기 위해 정정된다. 이를테면 미국특허 5,602,987, 5,315,541, 5,200,959, 5,428,621, 및 US 2005/0141387 Al에 기술된 바와 같이, 오류정정 코딩 혹은 메모리의 리맵핑 부분들을 포함하는, 이들 결함들을 관리하기 위한 다수의 기술들이 존재한다. 이들 공보들의 개시된 바들을 참조로 여기 포함시킨다.
제조후에, 메모리 칩은 출하에 앞서 테스트된다. 결함이 발견된다면, 칩은 메모리의 결함이 있는 부분을 용장 부분으로 대체함으로써 구제할 수도 있다. 메모리에서 발견되는 일반적인 유형의 결함은 어레이의 컬럼에서의 문제들에 기인한다. 예를 들면, 플래시 메모리에서 컬럼 결함은 메모리 셀 영역에서, 다음의 오류들로서, 비트라인간 단락들, 다른 신호들에 단락된 비트라인, 비트라인 단선, 프로그램이 불가하거나 너무 느려 프로그램할 수 없는 배드 셀들; 및/또는 배드 데이터 래치들 중 어느 하나에 기인할 수 있다.
종래의 컬럼 용장 방법은 비트라인들, 감지 증폭기들, 및 컬럼 내의 데이터 래치들을 포함하여 전체 컬럼을 교체한다. 용장 방법은 배드 컬럼에 접하게 되었을 때 활성화되는 별도의 액세스 신호들과 함께 고속 매칭 회로를 구비한다.
메모리 칩 자체에서 결함 컬럼들을 관리하는 한 종래 기술의 시스템은 배드 컬럼 대체를 관리하는 바이너리 디코딩 방법을 사용한다. 호스트로부터 어드레스가 먼저 레지스터에 래치되고 0 내지 540 바이트의 컬럼들을 관리하기 위해 10비트 가산기에 의해 컬럼 어드레스가 증분된다. 이어서 컬럼 어드레스(10비트)는 컬럼 디코더 영역을 지나는 10 내지 20 라인들로 사전에 디코딩된다. 컬럼 선택을 형성하기 위해 이들 15 내지 20 라인들 중에서 3개의 신호들이 선택된다. 이 바이너리 디코딩 시스템에서 배드 컬럼들은 인커밍 컬럼 어드레스를 배드 컬럼 어드레스 리스트와 비교함으로써 관리된다. 일치가 발견된다면, 인커밍 컬럼 어드레스는 다른 정상 컬럼 어드레스에 재할당된다. 인커밍 어드레스가 배드 컬럼 어드레스들과 일치하지 않는다면, 인커밍 컬럼 어드레스는 변경되지 않는다. 바이너리 컬럼 선택 방법은 랜덤 컬럼 어드레스들을 찾는데 있어 고도의 융통성을 갖는다. 그러나, 결함 컬럼을 대체하는데 필요한 로직의 복수의 단계들 때문에 비교적 느리다는 결점이 있으며, 이것은 바이너리 디코딩 방식이 20MHz 데이터 입력 혹은 출력 레이트보다 훨씬 더 빠르게 작동하는 것을 어렵게 만든다.
또한, 어레이의 상부 및 하부 둘 다로부터 다수 세트들의 감지 증폭기들에 의해 서비스되는 구조를 갖는 메모리 어레이의 경우에, 결함 컬럼들은 각 세트의 감지 증폭기들에 관한 용장 컬럼의 위치에 기인하여 효율적으로 재 매핑되지 않을 수도 있다.
그러므로, 향상된 성능을 갖는 고성능 및 고용량 비휘발성 메모리에 대한 일반적으로 필요성이 있다. 특히, 향상된 성능 및 효율을 가진 결함 관리에 대한 필요성이 있다.
발명의 요약
결함 컬럼들의 데이터 래치들에 버퍼되는 용장 데이터
발명의 또 다른 면에 따라서, 결함 컬럼 래치 용장 방법은 결함 메모리 위치들에 대한 용장 혹은 대체 데이터가 용장 데이터 래치들에서 보다 쉽게 액세스될 수 있는 위치, 이를테면 대응하는 결함 컬럼들의 데이터 래치들로 재배치되게 한다. 이 방법은 일반적으로 결함 컬럼이 비트라인들에서의 문제들에 의해 야기되고 연관된 컬럼회로들에서는 거의 그렇지 않다는 사실에 입각한 것이다. 이에 따라 예를 들면, 비트라인들이 단락되어 불안정해질 수도 있으나, 이들의 연관된 데이터 래치들 및 컬럼 디코더들은 동작상태에 있게 될 것이다. 발명은 감지 및 프로그래밍과 같은 메모리 동작들이 결함 비트라인들을 통해 수행될 수 없을 때, 컬럼 회로들은 여전히 데이터를 버퍼하는데 사용될 수 있음을 인지한다.
바람직한 실시예에서, 결함 위치들에 연관된 데이터 래치들은 대응하는 용장 위치들에 연관된 데이터 래치들에 통상적으로 저장되는 대체 데이터를 버퍼하기 위해 채용된다. 이에 따라, 사용자부는 데이터 버스로 데이터를 스트림 아웃하는 것에 관한 한 마치 사실상 결함들이 없는 것처럼 취급될 수 있다. 이에 따라, 사용자 부에 어드레싱하기 위한 어드레싱 방법만이 필요하게 되고 결함위치에 접하게 될 때마다 용장 데이터 래치들로 전환할 필요가 없다.
판독 동작에서, 사용자 및 용장 데이터 둘 다를 포함하는 페이지가 먼저 감지되고 래치된다. 용장 데이터 래치들로부터 사용자부 내 대응하는 결함 컬럼들에 연관된 데이터 래치들에 용장 데이터를 카피하는 추가의 동작이 요구된다. 이에 따라, 데이터가 데이터 버스로 출력될 때, 어떠한 결함 컬럼들에도 관계없이, 사용자 데이터 래치들만이 액세스될 것이 필요하다.
기입 동작에서, 어떠한 결함 컬럼들에도 관계없이, 기입될 한 페이지의 데이터가 먼저 사용자 데이터 래치들에 래치된다. 이에 따라, 사용자부는 데이터 버스로부터 데이터를 스트림 인(stream in)하는 것에 관한 한 마치 사실상 결함들이 없는 것처럼 취급될 수 있다. 결함 컬럼들에 연관된 데이터 래치들로부터 데이터를 대응하는 용장 데이터 래치들에 카피하는 추가의 동작이 요구된다. 비-프로그램(no-program) 상태를 나타내는 기정의된 데이터가, 결함 컬럼의 데이터 래치들에 이와 같음을 나타내기 위해 이들에 저장된다. 이어서 사용자 데이터 래치들 및 용장 데이터 래치들 둘 다로부터 데이터를 포함하는 전체 페이지가 각각의 메모리 셀들에 프로그램될 수 있다.
본 발명의 추가의 특징들 및 잇점들은 발명의 바람직한 실시예들의 다음의 설명으로부터 이해될 것이며, 이 설명은 첨부한 도면들에 관련하여 취해질 것이다.
도 1은 용장 데이터가 용장부로부터만 입수될 수 있는 종래의 컬럼 용장 방 법(scheme)을 갖춘 메모리 장치를 도시한 것이다.
도 2a는 종래의 용장 방법에 의한 판독 동작의 개략적인 타이밍도이다.
도 2b는 종래의 컬럼 용장 방법에 의한 판독 동작을 도시한 흐름도이다.
도 3a는 종래의 용장 방법에 의한 기입동작의 개략적인 타이밍도이다.
도 3b는 종래의 컬럼 용장 방법에 따른 프로그램 동작을 도시한 흐름도이다.
도 4는 원격 용장 방법이 구현되는 정황을 제공하는 콤팩트 메모리 장치의 바람직한 구성을 개략적으로 도시한 것이다.
도 5는 데이터 출력을 I/O 버스에 전송하게 구성된 용장 데이터 버퍼 회로들을 도시한 것이다.
도 6은 원격 용장 방법에 의한 판독 동작의 개략적인 타이밍도이다.
도 7은 바람직한 실시예에 따라, 원격 용장 방법을 채용하는 판독동작을 도시한 흐름도이다.
도 8은 I/O 버스로부터 데이터를 전송하게 구성된 용장 데이터 버퍼 회로들을 도시한 것이다.
도 9는 원격 용장 방법에 따른 기입 동작의 개략적인 타이밍도이다.
도 10은 바람직한 실시예에 따라, 원격 용장 방법을 채용하는 프로그램 데이터 로딩 동작을 도시한 흐름도이다.
도 11은 2 세트들의 데이터 래치들 및 데이터 버스에 서비스하는 용장 데이터 버퍼회로들을 개략적으로 도시한 것이다.
도 12는 결함 컬럼 래치 용장 방법이 구현되는 정황을 제공하는 콤팩트 메모 리 장치의 바람직한 구성을 개략적으로 도시한 것이다.
도 13은 2-웨이 어드레싱을 채용할 필요없이 또 다른 컬럼 용장 방법을 구현하기 위해서 사용자 및 용장 데이터 래치들간에 데이터가 오고 가게 하기 위한 데이터 래치 버퍼를 개략적으로 도시한 것이다.
도 14는 결함 컬럼 래치 용장 방법에 의한 판독 동작의 개략적인 타이밍도이다.
도 15는 바람직한 실시예에 따라, 결함 컬럼 래치 용장 방법을 채용하는 판독 동작을 도시한 흐름도이다.
도 16은 결함 컬럼 래치 용장 방법에 의한 기입 동작의 개략적인 타이밍도이다.
도 17은 바람직한 실시예에 따라, 결함 컬럼 래치 용장 방법을 채용하는 프로그램 데이터 로딩 동작을 도시한 흐름도이다.
컬럼 용장을 채용하는 전형적인 메모리의 예비적 설명은 본 발명과 구별하는데 유용하다.
종래의 국부화된 용장 데이터 방법
도 1은 용장 데이터가 용장부로부터만 입수될 수 있는 종래의 컬럼 용장 방법을 갖춘 메모리 장치를 도시한 것이다. 메모리 장치는 사용자부(102) 및 용장부(102')로 분할되는 메모리 셀 어레이(100)를 구비한다. 어레이(100) 내 메모리 셀들은 로우를 따른 한 세트의 워드라인들과 컬럼을 따른 한 세트의 비트라인들에 의해 액세스될 수 있다. 한 세트의 워드라인들은 로우 디코더(130)를 통해 로우 어드레스에 의해 선택될 수 있다. 유사하게, 한 세트의 비트라인들은 컬럼 디코더(160)를 통해 컬럼 어드레스에 의해 선택될 수 있다. 전형적으로, 한 로우를 따른 한 페이지의 메모리 셀들은 대응하는 한 세트의 감지회로들(170)에 의해 함께 판독 혹은 기입된다. 대응하는 한 세트의 데이터 래치들(180)은 메모리로부터 판독된 혹은 메모리에 기입할 한 페이지의 데이터를 래치하는데 사용된다. 판독 동작의 끝에서, 데이터 래치들로부터 데이터는 데이터-출력 버스(192)를 통해 밖으로 전송된다. 유사하게, 기입 동작의 시작에서, 기입될 데이터는 데이터-입력(194) 버스를 통해 데이터 래치들로 전송된다.
전형적으로 컬럼 어드레스는 한 컬럼 내 일 그룹의 비트라인들이 한번에 어드레스될 수 있는 입도(granularity)를 가지며 따라서 비트라인 결함들은 컬럼씩 매핑된다. 예를 들면, 어드레스가능한 컬럼은 주어진 로우를 따른 바이트 혹은 한 워드의 데이터에 대응하여 8 혹은 16 비트라인을 내포할 수 있다.
112와 같은 결함 컬럼이 사용자부(102)에서 확인되었을 때, 용장부(102')로부터 컬럼(112')과 같은 대체 컬럼은 결함 컬럼을 대체하기 위해 제공된다. 배드 컬럼들이 테스트들 동안 발견되고 임의의 결함 컬럼들에 관한 정보 및 이들의 대체는 메모리 장치, 이를테면 기동시 판독되는 메모리 어레이(ROMFUSE 블록)에 저장될 수 있는 결함 맵(116)에 유지된다. 메모리 장치가 기동될 때마다, 결함 맵이 빠른 액세스를 위해 온-칩 제어기(200)의 RAM(216)에 로딩된다.
전형적으로, 사용자는 어레이의 사용자부(102)에 액세스할 수 있을 뿐이며 용장부(102')에 액세스가 허용되지 않는다. 이에 따라, 컬럼 어드레스 범위(Ay)는 사용자가 사용자부(102)만에 액세스하기 위한 것이다. 보호된 한 세트의 컬럼 어드레스(Ay')는 시스템이 용장부(102')에 액세스하기 위한 것이다. 어레이의 용장부(102')는 이의 자신의 한 세트의 컬럼 회로들, 이를테면 용장 컬럼 디코더(160'), 용장 감지회로들(170') 및 용장 데이터 래치들(180')에 의해 서비스된다.
각각의 결함 컬럼은 분리 래치에 의해 태그될 수 있다. 이 경우, 컬럼 내 어드레스된 바이트 혹은 워드는 그 컬럼에 대한 데이터 래치들 내 데이터와 상관없이 프로그램되지 않을 것이며 프로그램 검증동안 이미 무시될 것이다.
메모리 칩 자체에서 결함 컬럼들을 관리하는 전형적인 종래 기술의 시스템들은 배드 컬럼 대체를 관리하기 위해 2-웨이 디코딩 방법을 사용한다. 사용자 어드레스(Ay)는 사용자 어레이에 액세스하기 위한 어드레스(Ay)에 혹은 용장 어레이에 액세스하기 위한 어드레스(Ay')로 변환된다.
이 2-웨이 디코딩 시스템에서 배드 컬럼들은 인커밍 (사용자) 컬럼 어드레스(Ay)를 결함 맵(216) 내 배드 컬럼 어드레스 리스트와 비교함으로써 관리된다. 일치가 발견된다면, 인커밍 컬럼 어드레스(Ay)는 용장부(102') 내 다른 정상 컬럼 어드레스(Ay')에 재할당 또는 매핑된다(Ay -> Ay'). 인커밍 어드레스가 배드 컬럼 어드레스들과 일치하지 않는다면, 인커밍 컬럼 어드레스는 변경되지 않는다(Ay -> Ay).
예를 들면, 감지동작 후에, 한 페이지의 판독된 데이터는 데이터 래치들에 래치된다. 사용자가 데이터를 요청할 때, 이들은 라인(194)을 통해 데이터 버스(190)에 스트림 아웃 될 것이다. 어드레스가 배드 컬럼, 예를 들면 컬럼 3을 가리킬 때, 컬럼 용장 모듈(210)은 사용자 어레이용 어드레스(Ay)를 비활성화시킬 것이며 대신 어레이의 용장부 내 용장 혹은 대체 컬럼을 어드레스하기 위해 어드레스(Ay')을 활성화할 것이다. 이 경우, 용장 컬럼으로부터 데이터는 라인(190')을 통해 데이터-출력 버스(192)로 스트림에 작동중에 삽입될 것이다.
도 2a는 종래의 용장 방법에 의한 판독 동작의 개략적인 타이밍도이다. 호스트는 판독 시작 어드레스를 보내는 것을 시작하기 위해서 초기 판독 명령을 발행함으로써 메모리 장치에서 판독 동작을 개시한다. 이에 이어 실제 판독 시작 어드레스를 보낸다. 이어서, 호스트는 판독을 실행하는 명령을 발행한다. 이어서 메모리 장치는 BUSY 신호로 알리기 위하여 한 페이지의 데이터를 감지하게 동작한다. 한 페이지의 감지된 데이터는 연관된 데이터 래치들에 래치된다. 페이지는 어레이의 사용자부 및 용장부를 포함할 것이다. 모든 데이터가 래치될 때, 메모리 장치는 READY 신호로 알린다.
이어서 사용자는 데이터 래치들로부터 데이터-출력 버스(192)로 데이터를 스트림 아웃 하기 위해 호스트를 통해 요청할 수 있다. 스트림 아웃 동작 동안, 결함 컬럼에 접할 때마다, 사용자 어드레스(Ay)는 Ay'로 전환되어 용장부 내 대응하는 용장 데이터 래치들에 어드레스함으로써 대응하는 용장 데이터는 작동중에 스트림에 삽입될 수 있다. 용장 데이터가 버스에 출력될 때, 메모리는 다시 사용자 어드 레스(Ay)로 전환하고 이 프로세스는 페이지의 끝에 도달될 때까지 계속된다.
도 2b는 종래의 컬럼 용장 방법에 의한 판독 동작을 도시한 흐름도이다.
기동
단계 310: 비휘발성 메모리에서 제어기 RAM으로 결함 맵을 로딩한다.
단계 312: 대응하는 분리 래치들을 설정함으로써 배드 컬럼들을 마크한다.
판독
단계 320: 복수의 컬럼들에 걸쳐 메모리 셀들로부터 한 페이지의 데이터를 판독하기 위한 판독 명령을 수신한다.
단계 322: "Busy" 신호로 알린다.
단계 324: 한 페이지의 메모리 셀들을 감지하고 대응하는 데이터 래치들에 데이터를 래치한다.
단계 326: "Ready" 신호로 알린다.
I/O
단계 330: 래치된 데이터를 컬럼씩 스트림 아웃 한다.
단계 332: 스트림 아웃 될 데이터의 현 컬럼 어드레스(Ay) = 결함 맵 버퍼 내 배드 컬럼들 중 하나인가? 일치가 있다면, 단계 334로 진행하고 아니면 단계 336으로 간다.
단계 334: 데이터를 대체하고 스트림에 삽입하기 위해 용장 컬럼에 어드레스하도록 Ay'로 전환하고, 단계 338로 간다.
단계 336: 정규 어드레스(Ay)로 계속하고, 단계 338로 간다.
단계 338: 마지막 컬럼? 마지막 컬럼에 도달된다면 단계 340로 가고, 아니면 단계 332에서 다음 컬럼으로 간다.
단계 340: 한 페이지의 데이터를 판독한다.
도 3a는 종래의 용장 방법에 의한 기입동작의 개략적인 타이밍도이다. 기입동작에서 데이터 전송은 버스에서 데이터로 프로그램 데이터의 스트리밍이 프로그래밍 전에 발생하는 것을 제외하곤 판독 동작과 유사하다. 예를 들면, 결함 컬럼 3에 왔을 때, 데이터를 컬럼 3을 위한 데이터 래치들에 스트리밍 하는 대신에, 대체 컬럼으로 리다이렉트된다.
호스트는 기입 시작 어드레스를 보내는 것을 시작하는 초기 기입 명령을 발행함으로써 메모리 장치에서 기입동작을 개시한다. 이에 이어 실제 기입 시작 어드레스를 보낸다. 이어서 호스트는 데이터-입력 버스(192)에서 데이터 래치들로 기입 데이터를 스트림 인 하기 위한 신호를 발행할 수 있다. 스트림 인 동작 동안, 결함 컬럼에 접할 때마다, 사용자 어드레스(Ay)는 Ay'로 전환되어 용장부 내 대응하는 용장 데이터 래치들에 어드레스함으로써 대응하는 용장 데이터가 작동중에 대응 용장 래치들에 삽입될 수 있다. 용장 데이터가 래치되었을 때, 메모리는 다시 사용자 어드레스(Ay)로 전환하고 이 스트리밍 프로세스는 페이지의 끝에 도달될 때까지 계 속된다.
이어서 호스트는 프로그래밍을 실행하는 명령을 발행한다. 이어서 메모리 장치는 BUSY 신호로 알리고 한 페이지의 데이터를 프로그램하게 동작한다. 페이지는 어레이의 사용자부와 용장부를 포함할 것이다. 모든 데이터가 프로그램 검증될 때, 메모리 장치는 READY 신호로 알린다.
도 3b는 종래의 컬럼 용장 방법에 따른 프로그램 동작을 도시한 흐름도이다.
기동
단계 350: 비휘발성 메모리에서 제어기 RAM으로 결함 맵을 로딩한다.
단계 352: 대응하는 분리 래치들을 설정함으로써 배드 컬럼들을 마크한다.
I/O
단계 360: 복수의 컬럼들에 걸쳐 한 페이지의 데이터를 기입하는 기입명령을 수신한다.
단계 362: 기입될 제1 페이지의 데이터를 제1 페이지의 데이터 래치들에 컬럼씩 스트림 아웃 한다.
단계 364: 스트림 아웃 될 데이터의 현 컬럼 어드레스(Ay) = 결함 맵 내 배드 컬럼들 중 하나인가? 일치가 있다면, 단계 366으로 진행하고 아니면 단계 368로 간다.
단계 366: 데이터를 대체하고 스트림에 삽입하기 위해 어드레스 용장 컬럼에 어드레스하도록 Ay'로 전환하고, 단계 369로 진행한다.
단계 368: 정규 어드레스 Ay로 계속하고 단계 369로 진행한다.
단계 369: 마지막 컬럼? 마지막 컬럼에 도달되면 단계 370로 가고, 아니면 단계 362에서 다음 컬럼으로 진행한다.
프로그램
단계 370: 프로그램 명령을 수신한다.
단계 372: "Busy" 신호로 알린다.
단계 374: 전체 페이지가 프로그램 검증될 때까지 한 페이지의 데이터를 기입한다.
단계 376: "Ready" 신호로 알린다.
2-웨이 컬럼 선택 방법은 컬럼을 랜덤하게 액세스할 수 있는 점에서 더 유통성이 있다. 그러나, 결함 컬럼을 대체하는데 필요한 로직의 복수의 단계들 때문에 비교적 느리다는 결점이 있다. 전에 언급된 바와 같이, 어레이의 용장부는 사용자 액세스로부터 보호되며, 따라서 그 자신의 고유 어드레스 신호들을 갖는다. 사용자부와 용장부간에 작동중에 전환하는 것은 2개의 전적으로 서로 다른 어드레싱 방법들간을 전환하는 것을 필요로 할 것이며, 이것은 2-웨이 디코딩 방법이 20MHz 데이터 입력 혹은 출력 레이트보다 훨씬 더 빠르게 작동하는 것을 어렵게 만든다.
원격 용장 방법
발명의 일 면에 따라서, 원격 용장 방법은 용장 데이터 래치들로부터 한 세트의 버퍼 회로들로 재배치되는 결함 메모리 위치들에 대한 용장 혹은 대체 데이터를 갖는다. 이에 따라, 용장 데이터는 한 어드레싱 방법이 메모리 어레이와 I/O 버스간에 데이터를 교환하는데 필요하게 되도록 보다 쉽게 액세스할 수 있는 위치에 있다. 특히, 본 원격 용장 방법에서, 사용자 데이터는 사용자 데이터 래치들에 연관되고 용장 데이터는 용장 데이터 래치들에 연관되나, 메모리 어레이의 사용자부에 대한 어드레스들은 사용자 데이터 및 이에 대해 대체하는 임의의 용장 데이터를 액세스하는데 사용될 수 있다. 현 어드레스가 정상(비-결함) 위치에 대한 것일 때, 데이터 버스는 데이터를 사용자 데이터 래치들과 교환한다. 한편, 현 어드레스가 결함 위치에 대한 것일 때, 데이터 버스는 용장 데이터가 로딩되어 있는 원격 버퍼와 교환한다.
바람직한 실시예에서, 용장 데이터 버퍼 회로들은 용장부의 래치들에 연관된 대체 데이터를 버퍼하기 위해 채용된다. 사용자부를 어드레스하기 위한 어드레싱 방법만이 필요하게 된다. 정규로, 데이터는 I/O 버스와 사용자부의 데이터 래치들간에 교환된다. 결함 어드레스 위치에 접하게 되었을 때, 용장부에 데이터 래치들 대신에 I/O 데이터와 보다 더 액세스가 가능한 버퍼회로들간에 대체 데이터가 교환된다.
도 4는 원격 용장 방법이 구현되는 정황을 제공하는 콤팩트 메모리 장치의 바람직한 구성을 개략적으로 도시한 것이다. 메모리 장치는 2차원 어레이의 개별 저장유닛들 혹은 메모리 셀들(400), 제어회로(410), 로우 디코더들(420A, 420B) 및 컬럼 회로들을 포함한다. 일 실시예에서, 저장유닛들은 개별적으로 한 비트의 데이터를 저장할 수 있다. 또 다른 실시예에서, 저장유닛들은 개별적으로 하나보다 더 많은 비트의 데이터를 저장할 수 있다. 가장 바람직한 실시예에서, 콤팩트한 메모리 장치는 호스트 시스템에 착탈가능하게 부착될 수 있는 메모리 카드에 구현된다.
메모리 어레이(400)는 로우 디코더들(420A, 420B)을 통해서 워드라인들에 의해서 그리고 컬럼회로들에 결합된 비트라인들에 의해 어드레스될 수 있다. 컬럼회로들은 감지회로들(430A, 430B), 데이터 래치들(440A, 440B) 및 컬럼 디코더들(450A, 450B) 및 데이터 I/O 버스(490)를 포함한다. 각각의 감지회로에 대해 한 세트의 데이터 래치들이 있음을 알 것이다. 예를 들면, 각 메모리 셀이 2비트의 데이터를 저장할 수 있는 4-상태 메모리에서, 2 이상의 비트의 정보를 저장하는 래치들이 있을 수도 있을 것이다. 복수 비트를 저장하기 위한 한 세트의 데이터 래치들이, 참조로 여기 포함시키는 "Non-Volatile Memory and Method with Shared Processing for an Aggregate of Read/Write Circuits" 명칭으로 12/29/2004에 출원된 미국특허출원 번호 11/026,536에 개시되어 있다.
바람직한 실시예에서, 모든 우수(even) 비트라인들에 결합된 회로들(430A) 중에 감지회로와 모든 기수(odd) 비트라인들에 결합된 회로들(430B) 중에 감지회로가 있다. 이에 따라, 함께 동작할 때, 모든 비트라인들은 병렬로 사용되고 있다. 또 다른 실시예에서, 모든 다른 비트라인들만이, 우수이든 기수이든, 병렬로 동작하고 있다.
조밀한 패킹을 수용하기 위해서 어레이의 양 단부들 상에 로우 디코더들 및 컬럼 회로들이 배치되는 것이 바람직하다. 그러므로, 로우 디코더들(420A, 420B)는 각각 어레이의 좌측 및 우측에 배치된다. 마찬가지로, 컬럼 회로들 "A" 및 "B"는 각각 어레이의 하부 및 상부에 배치된다. 전형적으로, 컬럼 회로들 "A" 및 "B"은 각각 인터리빙된 다수 세트들의 비트라인들을 액세스한다. 예를 들면, 컬럼 회로들 "A"은 우수 비트라인들에 액세스할 수 있고 컬럼회로들 "B"는 기수 비트라인들에 액세스할 수 있다. 편의상, 특정하게 언급되지 않는 한, 이하 설명은 "A" 회로들과 같은 한 세트의 회로들에 관하여 기술될 것이다.
컬럼회로들의 감지회로들(430A)은 로우를 따른 한 블록("페이지"라고도 함)의 메모리 셀들이 병렬로 판독 혹은 프로그램될 수 있게 하는 한 뱅크의 감지 증폭기들로서 구현된다. 바람직한 실시예에서, 페이지는 이를테면 1024 바이트와 같이 연속한 한 로우의 메모리 셀들로부터 구성된다. 또 다른 실시예에서, 한 로우의 메모리 셀들은 복수의 블록들 혹은 페이지들, 예를 들면 우수 비트라인들을 가진 한 페이지와 기수 비트라인들을 가진 한 페이지로 분할된다.
제어회로(410)는 메모리 어레이(400)에 메모리 동작들을 수행하기 위해 로우 디코더들 및 컬럼 회로들과 협동한다. 제어회로 내 상태 머신(412)은 메모리 동작들의 칩-레벨 제어를 제공한다.
메모리 어레이(400)는 사용자(402) 및 용장부(402')로 더욱 분할된다. 사용자부(402)는 어드레스 버스(496)를 통해 공급되는 사용자 어드레스(Ay)에 의해 컬럼씩 액세스될 수 있다. 용장부(402')는 사용자에 의해 액세스될 수 없고 그 자신 의 보호된 어드레싱(Ay')을 갖는다. 용장부는 사용자부에서 발견된 임의의 결함 컬럼들의 대체를 위해 소정 개수의 용장 혹은 대체 컬럼들을 제공한다. 결함 컬럼들의 리스트는 결함 맵(416) 내 등록되는데, 이것은 비휘발성 메모리 어레이(402)에 저장되는 것이 바람직하다. 예를 들면, 용장부(402')는 각각이 1바이트 크기인 8개의 대체 컬럼들을 제공할 수도 있다. 이것은 기본적으로 사용자부에서 발생할 수 있는 최대 8개의 결함 컬럼들까지를 대체할 수 있게 할 것이다.
그러나, 종래 기술의 시스템들에서 용장 컬럼들의 래치들에 용장 혹은 대체 데이터의 국부화에 기인하여, 하부 및 상부 컬럼 회로들 각각이 우수 혹은 기수 컬럼들만에 액세스할 수 있는 도 4에 도시된 바람직한 구성의 타이어(tier) 구조에서 또 다른 문제가 발생할 수 있다. 2-타이어 구조가 도 1에 도시된 종래 기술의 시스템에서 구현된다면, 하부 및 상부 컬럼 회로들 각각은 용장부 내 일단의 대체 컬럼들 중 반에 액세스할 수 있게 될 것이다. 이것은 기수 컬럼 회로들이 우수 대체 컬럼들에 액세스할 수 없고 그 반대도 그러하기 때문이다. 결과는 일단의 대체 컬럼들의 비효율적 이용이 될 것이다. 예를 들면, 일단의 8개의 용장 컬럼들(4개의 우수 및 4개의 기수 컬럼들)에 있어서, 사용자부 내 우수 컬럼들 중 5번째 결함 컬럼은 실제로 한 단 내에 8개의 대체 컬럼들이 있을지라도, 더 이상 대체될 수 없을 것이다.
도 4는 용장 데이터 버퍼회로들이 원격 용장 서비스를 제공하기 위해 메모리 장치와 협동하는 바람직한 실시예를 도시한 것이다. 용장부(402')에 연관된 용장 데이터는 용장 데이터 버퍼 회로들(460)에 버퍼된다. 명확성을 위해서, 데이터 출 력 버스(492)에 전달된 데이터는 도 5에 관련하여 기술될 것이다. 데이터-입력 버스로부터 전달된 데이터는 도 6에 관련하여 기술될 것이다.
도 5는 데이터 출력을 I/O 버스에 전송하게 구성된 용장 데이터 버퍼 회로들을 도시한 것이다. 이 전송-출력 모드는 한 페이지의 감지된 데이터가 한 세트의 사용자 데이터 래치들(440A)에 래치되었을 때 감지 동작 후에 적용할 수 있다. 사용자는 어드레스 버스(496)를 통해 공급된 컬럼 어드레스(Ay)에 의해 한 페이지의 데이터 내에 데이터에 액세스할 수 있다. 앞에 기술된 바와 같이, 어드레싱의 입도에 따라, 소정 개수의 비트라인들을 내포하는 컬럼은 단위로서 어드레스될 수 있다. 연속한 컬럼들이 어드레스되어야 할 때, 바람직한 어드레싱 방법은 시작 어드레스 및 이에 이어 런 렝스(run length)를 공급해야 할 것이다. 컬럼 선택은 컬럼 어드레스가 컬럼 디코더(450A)에 의해 디코딩될 때 달성된다(도 4 참조). 도 5에서, 컬럼 선택은 어드레스 버스(496)로부터 포인터에 의해 개략적으로 도시되었다. 또한, 컬럼 회로들은 선택된 래치된 데이터를 I/O 버스(492)에의 전송을 제어하는 한 세트의 사용자-데이터-전송-출력 게이트들(472)을 포함한다.
용장 데이터 버퍼 회로들(460)은 용장 데이터 버퍼(462), 한 세트의 전송-출력 게이트들(482), 결함 맵 버퍼(466) 및 비교회로(468)를 포함한다. 용장 데이터 버퍼는 용장부(402')로부터 용장 데이터를 버퍼한다. 한 페이지의 데이터의 감지후에, 용장 래치들(440A')에 래치된 용장 데이터는 용장 데이터 버퍼(462)에 로딩된다. 용장 데이터 버퍼(462)에의 전송은 도 6에 도시되는 바와 같이 데이터-출력 버스(492)가 용장 데이터 래치들로부터 데이터를 수신하고 용장 데이터 버퍼로 전송 하는 모드로 용장 데이터 버퍼회로들(460)이 구성될 때 수행된다. 마찬가지로, 결함 맵 버퍼(466)는 결함 맵(416)에 유지된 결함들의 리스트를 버퍼하고, 메모리 장치의 기동시 버퍼(466)에 로딩된다.
바람직한 실시예에서, 용장 데이터 버퍼(462) 및 결함 맵 버퍼(466) 둘 다는 개개의 데이터 엔트리들을 저장하기 위한 한 세트의 개별 레지스터들을 포함한다. 결함 컬럼들의 어드레스들은 결함 맵 버퍼(466)의 개개의 레지스터들에 기정의된 순서로 정의된다. 유사하게, 개개의 어드레스들 각각과 연관된 개별 용장 데이터는 결함 어드레스와 이의 연관된 용장 데이터간의 레지스터 대 레지스터의 대응이 존재하도록 용장 데이터 버퍼(462)에 저장된다. 이에 따라, 종래의 방법과는 달리, 결함 맵은 연관된 용장 데이터를 찾기 위한 인덱스를 내포할 필요가 없다.
비교회로(468)는 근본적으로 결함 맵 버퍼 내 엔트리들 각각마다 개별적인 비교기를 제공하는 1 대 다수 비교기이다. 각각의 개개의 비교기는 결함 맵 버퍼의 개별 레지스터들 중 하나에 저장된 결함 맵 버퍼 내 어드레스 엔트리들 중 하나와 공통 입력 어드레스를 비교한다. 이하 기술되는 또 다른 실시예에서, 하위-컬럼 디코더(452)는 용장 데이터 버퍼에 어드레싱을 메모리 어레이의 레벨보다 더 미세한 레벨로 해상하는데 선택적으로 사용된다. 이 선택이 이행되지 않는다면, 용장 데이터 버퍼에의 입력 어드레스는 근본적으로 컬럼 어드레스(Ay)이다. 이에 따라, 입력 어드레스가 현재 어드레스된 컬럼 어드레스(Ay)일 때, 이것을 결함 맵 버퍼에 등록된 결함 컬럼들의 어드레스들 각각과 맞추어본다. 전혀 일치가 없다면, 비교 회로(468)는 기본적으로 복수의 AND 게이트(469)를 통해 NO-MATCH 신호 M*를 출력한 다. 이 신호 M*는 데이터-출력 버스(492)가 어드레스된 데이터 래치들(440A)로부터 데이터를 취할 수 있도록 사용자-데이터-전송-출력 게이트들(472)을 활성화하는데 사용된다. 한편, 일치가 있다면, 이것은 현 어드레스 위치가 결함 컬럼이고 이의 연관된 용장 데이터가 대신 사용되어야 함을 의미한다. 이것은 대응하는 개별 비교기가 일치를 등록하고 MATCH 신호(M)을 출력함으로써 달성된다.
용장 데이터 버퍼(462)로부터 데이터-출력 버스(492)로 용장 데이터의 전송은 한 세트의 전송-출력 게이트들(482)에 의해 제어된다. 특히, 용장 데이터 버퍼의 개개의 레지스터들 각각에의 버스 액세스는 대응하는 전송-출력 게이트에 의해 제어된다. 이에 따라, 현 어드레스가 특정 결함 컬럼 어드레스와 일치할 때, 용장 데이터 버퍼(462)의 대응하는 레지스터 내 연관된 용장 데이터가 데이터-출력 버스(492)에 전송될 수 있도록 대응하는 전송-출력 게이트를 활성화하기 위해 MATCH 신호 M이 사용될 것이다.
도 6은 원격 용장 방법에 의한 판독 동작의 개략적인 타이밍도이다. 호스트는 판독 시작 어드레스를 보내는 것을 시작하는 초기 판독 명령을 발행함으로써 메모리 장치에서 판독 동작을 개시한다. 이에 이어 실제 판독 시작 어드레스를 보낸다. 이어서 호스트는 판독을 실행하는 명령을 발행한다. 메모리 장치는 BUSY 신호로 응답하고 한 페이지의 데이터를 감지하기 시작한다. 사용자부 및 용장부를 포함하는 한 페이지의 감지된 데이터는 연관된 데이터 래치들(440A, 440A')에 래치된다(도 5 참조). 한 페이지의 데이터가 래치된 후에, 원격 용장 방법은 이들의 래치들로부터 용장 데이터 버퍼(462)에 용장 데이터를 카피하는 추가의 단계를 요구한 다. 버퍼된 데이터가 적소에 있을 때, 메모리 장치는 READY 신호로 알린다.
이어서 호스트는 데이터 래치들로부터 데이터-출력 버스(492)로 데이터를 스트림 아웃 하기 위해 판독 신호를 발행한다. 스트림 아웃 동작동안, 결함 컬럼에 접하게 될 때마다, 용장 데이터 버퍼회로들(460)은 대응하는 용장 데이터가 작동중에 스트림에 삽입될 수 있도록 대신 용장 데이터 버퍼(462)로부터 용장 데이터를 데이터-출력 버스(492)가 수신하게 스트림 아웃을 제어한다. 접하게 된 다음 컬럼이 결함이 없을 때, 용장 데이터 버퍼 회로들(460)은 데이터-출력 버스(492)가 데이터 래치들(440)로부터 데이터를 받아들이게 하며, 이 프로세스는 페이지의 끝에 도달될 때까지 계속된다.
도 7은 바람직한 실시예에 따라, 원격 용장 방법을 채용하는 판독동작을 도시한 흐름도이다.
기동
단계 510: 비휘발성 메모리로부터 결함 맵 버퍼로 결함 맵을 로딩한다.
판독
단계 520: 복수의 컬럼들에 걸쳐 메모리 셀들로부터 한 페이지의 데이터를 판독하기 위한 판독 명령을 수신한다.
단계 522: "Busy" 신호로 알린다.
단계 524: 한 페이지의 메모리 셀들을 감지하여 데이터를 대응하는 데이터 래치들에 래치한다.
단계 526: 용장 데이터 래치들로부터 용장 데이터를 용장 데이터 버퍼에 로딩한다.
단계 528: "Ready" 신호로 알린다.
I/O
단계 530: 결함 맵 버퍼 내 어드레스들과 1 대 다수 컬럼 어드레스 매칭을 수행하면서, 래치된 데이터를 컬럼씩 데이터 버스에 스트림 아웃 한다.
단계 532: 스트림 아웃 될 데이터의 현 컬럼 어드레스(Ay) = 결함 맵 버퍼 내 배드 컬럼들 중 하나인가? 일치가 있다면, 단계 534로 진행하고 아니면 단계 536으로 간다.
단계 534: 용장 데이터 버퍼로부터 데이터 버스로 대체 데이터의 출력을 활성화하고, 단계 538로 간다.
단계 536: 사용자 데이터부로부터 데이터 버스로 어드레스된 데이터의 출력을 활성화하고 단계 538로 간다.
단계 538: 마지막 컬럼? 마지막 컬럼에 도달되면 단계 540로 가고, 아니면 단계 534에서 다음 컬럼으로 간다.
단계 540: 한 페이지의 데이터를 판독한다.
이에 따라, 본 원격 용장 방법에서, 메모리 어레이의 사용자부에 대한 어드 레스들만이 사용된다. 현 어드레스가 정상(비-결함) 위치에 대한 것일 때, 데이터 버스는 데이터 래치들로부터 데이터를 취한다. 한편, 현 어드레스가 결함 위치에 대한 것일 때, 데이터 버스는 원격 버퍼로부터 용장 데이터를 취한다.
도 8은 I/O 버스로부터 데이터를 전송하게 구성된 용장 데이터 버퍼 회로들을 도시한 것이다. 이 입력-전송 모드는 프로그램될 한 페이지의 데이터가 한 세트의 사용자 데이터 래치들(440A)에 래치되어야 할 때 프로그램 동작 전에 적용할 수 있다. 구성은 데이터의 전송이 데이터-입력 버스(494)로부터 오는 방향인 것을 제외하고 도 5와 유사하다. 한 세트의 사용자-데이터-전송-입력 게이트들(474)은 데이터-입력 버스(494)로부터 데이터 래치들(440A)로의 데이터의 전송을 제어한다.
전송-입력 모드에서, 용장 데이터 버퍼 회로들(460)은 한 세트의 전송-출력 게이트들(482) 대신 한 세트의 전송-입력 게이트들(484)이 채용되는 것을 제외하고 도 5에 도시한 것과 유사하다.
도 9는 원격 용장 방법에 따른 기입 동작의 개략적인 타이밍도이다. 호스트는 기입 시작 어드레스를 보내는 것을 시작하는 초기 기입명령을 발행함으로써 메모리 장치에 기입동작을 개시한다. 이에 이어 실제 기입 시작 어드레스를 보낸다. 이어서 호스트는 데이터-입력 버스(494)에서 데이터 래치들(440A)로 기입 데이터를 스트림 인 하는 신호를 발생할 수 있다(도 8 참조). 스트림 인 동작동안, 결함 컬럼에 접하게 될 때마다, 용장 데이터 버퍼 회로들(460)은 결함 컬럼에 대한 대응하는 데이터를 용장 데이터 버퍼(462)에 캡쳐할 것이다. 스트리밍 프로세스는 페이지의 끝에 도달될 때까지 계속된다. 페이지가 스트림 인 된 후에, 원격 용장 방법은 용장 데이터 버퍼(462)로부터 이들의 래치들(440')로 용장 데이터를 카피하는 추가 단계를 요구한다.
이어서 호스트는 프로그래밍을 실행하는 명령을 발행한다. 이어서 메모리 장치는 BUSY 신호로 알리고 한 페이지의 데이터를 프로그램하게 동작한다. 페이지는 어레이의 사용자부 및 용장부를 포함할 것이다. 모든 데이터가 프로그램 검증될 때, 메모리 장치는 READY 신호로 알린다.
도 10은 바람직한 실시예에 따라, 원격 용장 방법을 채용하는 프로그램 데이터 로딩 동작을 도시한 흐름도이다.
기동
단계 550: 비휘발성 메모리에서 결함 맵 버퍼로 결함 맵을 로딩한다.
I/O
단계 560: 복수의 컬럼들에 걸쳐 어드레스된 메모리 셀들에 한 페이지의 데이터를 기입하는 기입 명령을 수신한다.
단계 562: 결함 맵 버퍼 내 어드레스들과 1 대 다수 컬럼 어드레스 매칭을 수행하면서, 데이터 버스로부터 컬럼씩 데이터를 스트리밍 한다.
단계 564: 스트림 아웃 될 데이터의 현 컬럼 어드레스(Ay) = 결함 맵 버퍼 내 배드 컬럼들 중 하나인가? 일치가 있다면, 단계 566로 진행하고 아니면 단계 570으로 간다.
단계 566: 데이터 버스로부터 데이터의 입력을 활성화하고 용장 데이터 버퍼 내 대응하는 위치에 버퍼한다.
단계 568: 현 컬럼의 데이터 래치들을 "비-프로그램" 상태로 설정한다. 단계 572로 간다.
단계 570: 데이터 버스로부터 데이터의 입력을 활성화하고 대응하는 데이터 래치들에 래치한다.
단계 572: 마지막 컬럼? 마지막 컬럼에 도달되면 단계 580로 가고, 아니면 단계 564에서 다음 컬럼으로 간다.
단계 580: 용장 데이터 버퍼로부터 데이터를 전송하고 이들을 대응하는 용장 데이터 래치들에 래치한다. 이것은 용장 어레이에 액세스하기 위해 어드레스(Ay')로 전환하는 것을 수반하는 1회 동작이다.
프로그램
단계 590: 프로그램 명령을 수신한다.
단계 592: "Busy" 신호로 알린다.
단계 594: 전체 페이지가 프로그램 검증될 때까지 한 페이지의 래치된 데이터를 기입한다.
단계 596: "Ready" 신호로 알린다.
비트 레벨 용장 지원
또 다른 실시예에서, 용장 데이터 버퍼 회로들의 어드레스 입도는 컬럼 회로들의 입도와 같을 필요는 없다. 바람직하게, 어드레스의 유닛은 컬럼보다 더 미세한 분해능을 갖는다. 예를 들면, 컬럼이 한 바이트의 폭이어서 일 그룹의 8비트 라인들이 한번에 어드레스된다면, 용장 데이터 버퍼는 비트라인 레벨에서 어드레스될 수도 있다.
도 5 및 도 8은 모두 용장 데이터 버퍼회로들(460)이 선택적 하위-컬럼 디코더(452)를 포함하는 것을 도시한 것이다. 하위-컬럼 디코더는 컬럼 어드레스(Ay) 및 컬럼 오프셋 어드레스(Ay'')를 하위-컬럼 어드레스들로 더욱 디코딩한다. 이것은 단일 결함 비트라인이 또 다른 용장 비트라인으로 대체될 수 있어 반드시 8비트 폭인 용장 컬럼으로 대체되는 것은 아니기 때문에 용장 자원의 보다 효율적인 이용의 잇점을 갖는다.
다중 계층(multi-tier) 용장 지원
명확성을 위해서, 용장 데이터 버퍼 회로들(460)을 채용하는 원격 용장 방법은 한 세트의 데이터 래치들, 이를테면 도 4에 도시된 데이터 래치들(440A)을 사용하여 동작하는 것으로 기술되었다. 이의 잇점은 사용자 어드레스만이 사용되므로 종래 기술의 느린 2-웨이 어드레싱 방법이 회피되기 때문에 명백하다.
또 다른 잇점은 하나보다 더 많은 세트의 동작하는 컬럼 회로들이 있을 때 얻어진다. 도 4에 관련하여 언급된 바와 같이, 종래 기술의 시스템들에서 대체 컬럼의 래치들에 용장 데이터의 국부화에 기인하여, 하나보다 더 많은 타이어의 컬럼 회로들이 있을 때 또 다른 문제가 일어날 수 있다. 예를 들면, 한 세트의 우수 컬 럼회로들은 우수 컬럼들에만 액세스할 수 있고 따라서 유사하게 기수 컬럼회로들에 대해 어떠한 기수 용장 컬럼들도 사용할 수 없다. 본 방법은 임의의 수의 컬럼회로들의 상대적 위치들에 관계없이 이들 회로들에 의해 액세스될 수 있는 중앙 위치에 모든 용장 데이터가 버퍼될 수 있게 한다.
도 11은 2세트들의 데이터 래치들 및 데이터 버스에 서비스하는 용장 데이터 버퍼회로들을 개략적으로 도시한 것이다. 이 구성에서, 용장 데이터 버퍼회로들(460)은 도 5 및 도 8에 도시된 것과 동일한 방식으로 "A" 세트의 데이터 래치들(440A)과 함께 동작한다. 추가의 "B" 세트의 데이터 래치들(440B)에서도 원리는 동일하다. 즉 용장 데이터 버퍼회로들은 한편으로 "A" 혹은 "B" 세트의 데이터 래치들간에 혹은 다른 한편으론 용장 데이터 버퍼들(462)간에 버스교환을 제어하는데 사용된다. 일 실시예에서, 데이터 래치 전송을 활성화하는 신호 M은 Ay 어드레스 범위를 사용하여 타이어 디코더(480)에 의해 더욱 디코드되어 각각 "A" 세트 혹은 "B" 세트에 대해 MA* 혹은 MB* 활성화 신호를 생성한다.
이에 따라, "A" 세트의 데이터 래치들이 동작하고 있을 때, 데이터 래치들(440A)에 의한 버스 전송은 래치 전송 제어(472A/474A)에 MA*에 의해 활성화된다. "B" 세트의 데이터 래치들이 동작하고 있을 때, 데이터 래치들(440B)에 의한 버스 전송은 래치 전송 제어(472B/474B)에 MB*에 의해 활성화된다. 이것은 현 어드레스가 결함 맵 버퍼(466) 내 어드레스들 중 어느 것과도 일치하지 않을 때 그러하다. 반면, 일치가 있을 때는 언제나, 신호 MA* 혹은 MB*은 비활성화되고 버퍼 전송 제 어(482/484)는 신호 M에 의해 활성화된다. 이에 따라 데이터가 대신 데이터 버스(492)와 용장 데이터 버퍼(462) 내 대응하는 레지스터들간에 교환된다.
결함 컬럼들의 데이터 래치들에 버퍼된 용장 데이터
발명의 또 다른 면에 따라서, 결함 컬럼 래치 용장 방법은 결함 메모리 위치들에 대한 용장 혹은 대체 데이터가 용장 데이터 래치들에서 보다 쉽게 액세스될 수 있는 위치, 이를테면 대응하는 결함 컬럼들의 데이터 래치들로 재배치되게 한다. 이 방법은 일반적으로 결함 컬럼이 비트라인들에서의 문제들에 의해 야기되고 연관된 컬럼회로들에서 거의 그렇지 않다는 사실에 입각한 것이다. 이에 따라 예를 들면, 비트라인들이 단락되어 불안정해질 수도 있으나, 이들의 연관된 데이터 래치들 및 컬럼 디코더들은 동작상태에 있게 될 것이다. 발명은 감지 및 프로그래밍과 같은 메모리 동작들이 결함 비트라인들을 통해 수행될 수 없을 때, 컬럼 회로들은 여전히 데이터를 버퍼하는데 사용될 수 있음을 인지한다.
바람직한 실시예에서, 결함 위치들에 연관된 데이터 래치들은 대응하는 용장 위치들에 연관된 데이터 래치들에 통상적으로 저장되는 대체 데이터를 버퍼하기 위해 채용된다. 이에 따라, 사용자부는 데이터 버스로 데이터를 스트림 아웃 하는 것에 관한 한 마치 사실상 결함들이 없는 것처럼 취급될 수 있다. 이에 따라, 사용자부에 어드레싱하기 위한 어드레싱 방법만이 필요하게 되고 결함위치에 접하게 될 때마다 용장 데이터 래치들로 전환할 필요가 없다.
판독 동작에서, 사용자 및 용장 데이터 둘 다를 포함하는 페이지가 감지되고 래치된 후, 용장 데이터 래치들로부터 사용자부의 대응하는 결함 컬럼과 연관된 데이터 래치들에 용장 데이터를 카피하기 위해 추가 동작이 요구된다. 이에 따라, 데이터가 데이터 버스로 출력될 때, 어떠한 결함 컬럼들에도 관계없이, 사용자 데이터 래치만 액세스될 필요가 있다.
기입 동작에서, 어떠한 결함 컬럼들에도 관계없이, 기입될 한 페이지의 데이터가 먼저 사용자 데이터 래치들에 래치된다. 이에 따라, 사용자부는 데이터 버스로부터 데이터를 스트림 인 하는 것에 관한 한 마치 사실상 결함들이 없는 것처럼 취급될 수 있다. 결함 컬럼들에 연관된 데이터 래치들로부터 데이터를 대응하는 용장 데이터 래치들에 카피하는 추가의 동작이 요구된다. 비-프로그램 상태를 나타내는 기정의된 데이터가, 결함 컬럼의 데이터 래치들에 이와 같음을 나타내기 위해 이들에 저장된다. 이어서 사용자 데이터 래치들 및 용장 데이터 래치들 둘 다로부터 데이터를 포함하는 전체 페이지가 각각의 메모리 셀들에 프로그램될 수 있다.
도 12는 결함 컬럼 래치 용장 방법이 구현되는 정황을 제공하는 콤팩트 메모리 장치의 바람직한 구성을 개략적으로 도시한 것이다. 메모리 장치는 용장 데이터 버퍼 회로들(460)의 필요는 없이 근본적으로 도 4에 도시된 것과 유사한 구조를 갖는다. 특히, 메모리 장치는 2차원 어레이의 메모리 셀들(400), 제어회로(610), 로우 디코더들(420A, 420B), 및 컬럼 회로들을 포함한다.
메모리 어레이(400)는 로우 디코더들(420A, 420B)를 통해 워드라인들에 의해서 그리고 컬럼회로들에 결합된 비트라인들에 의해서 어드레스될 수 있다. 컬럼회로들은 감지회로들(430A, 430B), 데이터 래치들(640A, 640B) 및 컬럼 디코더 들(450A, 450B), 및 데이터 I/O 버스(490)를 포함한다. 도 4에 관련하여 앞에서 언급된 바와 같이, 각각의 감지회로마다 한 세트의 데이터 래치들 있음을 알 것이다.
바람직한 실시예에서, 모든 우수 비트라인들에 결합된 회로들(430A) 중에 감지회로와 모든 기수 비트라인들에 결합된 회로들(430B) 중에서 감지회로가 있다. 이에 따라, 함께 동작할 때, 모든 비트라인들은 병렬로 사용되고 있다. 또 다른 실시예에서, 모든 다른 비트라인들만이, 우수이든 기수이든, 병렬로 동작하고 있다.
조밀한 패킹을 수용하기 위해서 어레이의 양 단부들 상에 로우 디코더들 및 컬럼 회로들이 배치되는 것이 바람직하다. 그러므로, 로우 디코더들(420A, 420B)는 각각 어레이의 좌측 및 우측에 배치된다. 유사하게, 컬럼 회로들 "A" 및 "B"는 각각 어레이의 하부 및 상부에 배치된다. 전형적으로, 컬럼 회로들 "A" 및 "B"은 각각 인터리빙된 다수 세트들의 비트라인들을 액세스한다. 예를 들면, 컬럼 회로들 "A"은 우수 비트라인들에 액세스할 수 있고 컬럼회로들 "B"는 기수 비트라인들에 액세스할 수 있다. 편의상, 특정하게 언급되지 않는 한, 이하 설명은 참조부호 "A" 혹은 "B" 첨자를 빼고 일반적인 세트의 회로들에 대해 기술될 것이다.
컬럼회로들의 감지회로들(430)은 로우를 따른 한 블록("페이지"라고도 함)의 메모리 셀들이 병렬로 판독 혹은 프로그램될 수 있게 하는 한 뱅크의 감지 증폭기들로서 구현된다. 바람직한 실시예에서, 페이지는 이를테면 1024 바이트와 같이 연속한 한 로우의 메모리 셀들로부터 구성된다. 또 다른 실시예에서, 한 로우의 메모리 셀들은 복수의 블록들 혹은 페이지들로 분할된다.
제어회로(610)는 메모리 어레이(400)에 메모리 동작들을 수행하기 위해 로우 디코더들 및 컬럼 회로들과 협동한다. 제어회로 내 상태 머신(612)은 메모리 동작들의 칩-레벨 제어를 제공한다.
메모리 어레이(400)는 사용자(402) 및 용장부(402')로 더욱 분할된다. 사용자부(402)는 어드레스 버스(496)를 통해 공급되는 사용자 어드레스(Ay)에 의해 컬럼씩 액세스될 수 있다. 용장부(402')는 사용자에 의해 액세스될 수 없고 그 자신의 보호된 어드레싱(Ay')을 갖는다. 용장부는 사용자부에서 발견된 임의의 결함 컬럼들의 대체를 위해 소정 개수의 용장 혹은 대체 컬럼들을 제공한다. 결함 컬럼들의 리스트는 결함 맵(416) 내 등록되는데, 이것은 비휘발성 메모리 어레이(402)에 저장되는 것이 바람직하다. 예를 들면, 용장부(402')는 각각의 1바이트 크기인 8개의 대체 컬럼들을 제공할 수도 있다. 이것은 기본적으로 사용자부에서 발생할 수 있는 최대 8개의 결함 컬럼들까지를 대체할 수 있게 할 것이다.
도 12에 도시된 컬럼회로 구조에서, 일 그룹의 사용자 데이터 래치들(640)과 데이터-입력 버스(494)간에 데이터의 교환은 사용자 컬럼 디코더(450)에 의해 제어된다. 사용자 컬럼 디코더(450)는 사용자 컬럼 어드레스(Ay)를 디코드하여, 데이터-입력 버스(494)에 액세스하기 위해 사용자 컬럼 내 일 그룹의 데이터 래치들의 액세스를 하게 한다. 마찬가지로, 일 그룹의 용장 데이터 래치들(640')과 데이터-입력 버스(494)간에 데이터의 교환은 용장 컬럼 디코더(450')에 의해 제어된다. 용장 컬럼 디코더(450')는 용장 컬럼 어드레스(Ay')를 디코드하여 I/O 버스에 액세스하기 위해 용장 컬럼 내 일 그룹의 데이터 래치들의 액세스를 하게 한다.
발명은 사용자 컬럼의 데이터 래치들과 용장 컬럼간에 데이터가 오고 가게 할 수 있게 하는 추가의 구조를 제공한다.
도 13은 2-웨이 어드레싱을 채용할 필요없이 또 다른 컬럼 용장 방법을 구현하기 위해서 사용자 및 용장 데이터 래치들간에 데이터가 오고 가게 하기 위한 데이터 래치 버퍼를 개략적으로 도시한 것이다.
바람직한 실시예에서, 출력 데이터 버스(492)와 입력 데이터 버스(494)간에 데이터 래치 버퍼(620)가 제공된다. 데이터 래치 버퍼(620)는 직렬로 접속된 제1 시프트 레지스터(622) 및 제2 시프트 레지스터(644)를 포함한다. 제1 시프트 레지스터(622) 및 제2 시프트 레지스터(624)는 파이프라인 방식으로 동작하여, 출력 버스(492)로부터 데이터 유닛들은 2개의 레지스터들을 통해 시프트되고 클럭신호(CLK)에 의해 제어되는 단위별로 입력 버스(494)에 리턴된다. 이렇게 하여, I/O 버스(490)의 출력 및 입력부 둘 다는 동시에 동작할 수 있다.
제어회로(610)는 사용자 컬럼 및 용장 컬럼의 데이터 래치들간에 어드레싱 및 전송 제어를 제공한다. 예를 들면, 한 페이지의 데이터가 사용자 데이터 래치들(450) 및 용장 데이터 래치들(450')에 래치된 후에, 용장 데이터 래치들(450')에 데이터는 결함 컬럼들의 대응하는 데이터 래치들에 카피될 것이다. 제어회로(610)는 용장 컬럼 어드레스(Ay')를 용장 컬럼 디코더(450')에 제공하며 데이터 출력 버스(492)를 통해 용장 데이터 래치들(640')로부터 용장 데이터 유닛들을 1만큼씩 데이터 래치 버퍼(620)에 시프트한다. 시프트된 용장 데이터 유닛들은 데이터 래치 버퍼의 다른 끝으로부터 나와 데이터 버스(494)에 들어간다. 제어회로(610)에 로딩된 결함 맵(616)을 참조함으로써, 대응하는 결함 컬럼 어드레스(Ay)가 생성되어 용 장 데이터 유닛들을 결함 컬럼들에 그들의 대응하는 래치들에 보내기 위해 사용자 컬럼 디코더(450)에 의해 사용된다.
유사하게 원리는 결함 컬럼들의 데이터 래치들로부터 대응하는 용장 데이터 래치들로 전송에서 적용한다. 이 경우에, 결함 맵에 기초하여, 결함 컬럼들의 데이터 래치들이 하나씩 액세스되고 데이터 래치 버퍼(620)를 통해 시프트된다. 데이터 래치 버퍼의 다른 끝에서, 용장 데이터 유닛들은 용장 컬럼 디코더(450')에 의해 Ay'의 적합한 디코딩을 통해 이들의 각각의 용장 데이터 래치들에 보내진다.
도 14는 결함 컬럼 래치 용장 방법에 의한 판독 동작의 개략적인 타이밍도이다. 호스트는 판독 시작 어드레스를 보내는 것을 시작하기 위해 초기 판독 명령을 발행함으로써 메모리 장치에서 판독 동작을 개시한다. 이에 이어 판독 시작 어드레스를 보낸다. 이어서, 호스트는 판독을 실행하는 명령을 발행한다. 메모리 장치는 BUSY 신호에 응답하여 한 페이지의 데이터를 감지하기 시작한다. 사용자부 및 용장부를 포함하여, 감지된 한 페이지의 데이터는 연관된 데이터 래치들(440A, 440A')에 래치된다(도 13 참조). 한 페이지의 데이터가 래치된 후에, 결함 컬럼 래치 용장 방법은 이들의 래치들로부터 대응 결함 컬럼들의 데이터 래치들에 용장 데이터를 카피하는 추가 단계를 요구한다. 용장 데이터가 대응하는 결함 컬럼들에 래치된 후에, 메모리 장치는 READY 신호로 알린다. 근본적으로, 메모리 장치가 기정의된 타이밍 명세를 가질 때, 추가 단계는 BUSY 및 READY에 의해 구분된 기간을 고려한 최대 시간 내에 완료되어야 한다.
이어서 호스트는 사용자 데이터 래치들(440)에서 데이터-출력 버스(492)로 데이터를 스트림 아웃 하라는 판독-출력 신호를 발행할 수 있다. 결함 컬럼들의 데이터 래치들은 대응하는 용장 데이터를 내포하기 때문에, 이들을 종래의 경우에서처럼 제2 세트의 어드레스(Ay')를 사용하여 용장 데이터 래치들(440')로부터 가져올 필요가 없다.
도 15는 바람직한 실시예에 따라, 결함 컬럼 래치 용장 방법을 채용하는 판독 동작을 도시한 흐름도이다.
기동
단계 710: 비휘발성 메모리에서 제어기 RAM으로 결함 맵을 로딩한다.
판독
단계 720: 복수의 컬럼들에 걸쳐 사용자 및 용장 데이터를 포함하는 페이지를 메모리 셀들로부터 판독하는 판독명령을 수신한다.
단계 722: "Busy" 신호로 알린다.
단계 724: 한 페이지의 메모리 셀들을 감지하고 데이터를 대응하는 데이터 래치들에 래치한다.
단계 726: 용장 데이터 래치들로부터 데이터를 대응하는 결함 컬럼들의 래치에 카피한다.
단계 728: "Ready" 신호로 알린다.
I/O
단계 730: 결함 컬럼들에 상관없이 컬럼씩 사용자 데이터 래치들로부터 데이터 버스에 데이터를 스트림 아웃 한다.
단계 740: 한 페이지의 데이터가 판독된다.
이에 따라, 본 결함 컬럼 래치 용장 방법에서, 메모리 어레이의 사용자부에 대한 어드레스들만이 데이터를 스트림 아웃 하는데 사용되고 사용자 데이터 래치들만이 액세스될 필요가 있다.
도 16은 결함 컬럼 래치 용장 방법에 의한 기입 동작의 개략적인 타이밍도이다. 호스트는 기입 시작 어드레스를 보내는 것을 시작하는 초기 기입 명령을 발행함으로써 메모리 장치에서 기입 동작을 개시한다. 이에 이어 실제 기입 시작 어드레스를 보낸다. 이어서 호스트는 대응하는 컬럼이 결함이 있는지 여부에 관계없이 데이터-입력 버스(494)에서 데이터 래치들(440)로 기입 데이터를 스트림 인 하는 신호를 발행한다(도 8 참조). 이어서 호스트는 프로그래밍을 실행하는 명령을 발행한다. 이어서 메모리 장치는 마치 한 페이지의 데이터를 프로그램을 진행하고 있는 것인양 BUSY 신호로 알린다. 그러나, 제어회로(도 13 참조)는 결함 컬럼 래치 용장 방법이 결함 컬럼들의 래치들로부터 대응하는 용장 컬럼들의 용장 데이터 래치들로 데이터를 카피하는 추가 단계를 요구하기 때문에 실제 프로그래밍을 지연시킨다. 데이터를 카피한 후에, 결함 컬럼들의 래치들은 비-프로그래밍의 상태를 나타내기 위해 소정의 값으로 설정된다.
이어서 제어회로는 메모리에 페이지를 프로그램하기 시작한다. 페이지는 어레이의 사용자부 및 용장부를 포함할 것이다. 모든 데이터가 프로그램 검증될 때, 메모리 장치는 READY 신호로 알린다.
도 17은 바람직한 실시예에 따라, 결함 컬럼 래치 용장 방법을 채용하는 프로그램 데이터 로딩 동작을 도시한 흐름도이다.
기동
단계 760: 비휘발성 메모리에서 제어기 RAM으로 결함 맵을 로딩한다.
I/O
단계 770: 복수 컬럼들에 걸쳐 어드레스된 메모리 셀들에 한 페이지의 데이터를 기입하는 기입 명령을 수신한다.
단계 772: 어떠한 결함 컬럼들에도 관계없이, 사용자 데이터 래치들에 기입될 한 페이지의 데이터를 스트리밍 한다.
단계 774: "Busy" 신호로 알린다.
사용자에서 용장 데이터 래치로 전송
단계 776: 결함 컬럼들의 사용자 래치들로부터 데이터를 용장 컬럼들의 대응하는 용장 래치들에 전송한다.
단계 778: 모든 결함 컬럼들의 연관된 사용자 데이터 래치들 각각에 기정의 된 데이터 값을 기입함으로써 모든 결함 컬럼들을 마크한다.
프로그램
단계 780: 프로그램 명령을 수신한다.
단계 782: 전체 페이지가 프로그램 검증될 때까지 사용자 및 용장 데이터를 포함하는 페이지를 기입한다.
단계 784: "Ready" 신호로 알린다.
다양한 컬럼 용장 방법들에 대해 예들을 사용하여 설명되었으나, 당업자들은 결함 메모리 위치에 대한 다른 대체 유닛들이 가능함을 쉽게 알 것이다.
본 발명의 다양한 면들이 어떤 실시예들에 관하여 기술되었을지라도, 발명은 첨부된 청구항들의 전체 범위 내에서 보호되게 한 것임을 알 것이다.

Claims (33)

  1. 사용자 어레이부 내 결함 메모리 위치가 용장 어레이부 내 대응하는 용장 위치에 의해 대체될 수 있게 상기 사용자 어레이부 및 상기 용장 어레이부로 분할된 비휘발성 메모리에서, 상기 메모리의 상기 사용자 어레이부 및 상기 용장 어레이부 둘 다를 포함하는 일 그룹의 메모리 위치들로부터 데이터를 판독하는 방법에 있어서,
    상기 사용자 어레이부의 결함 메모리 위치들의 리스트를 제공하는 단계;
    상기 사용자 어레이부 및 상기 용장 어레이부 둘 다에 연관된 데이터를 래치하기 위한 일 그룹의 데이터 래치들을 제공하는 단계;
    판독될 상기 일 그룹의 메모리 위치들을 감지하는 단계;
    상기 감지된 데이터를 상기 일 그룹의 데이터 래치들에 래치하는 단계;
    상기 용장 어레이부의 상기 데이터 래치들로부터 용장 데이터를 상기 사용자 어레이부 내 대응하는 결함 메모리 위치들의 상기 데이터 래치들에 전송하는 단계; 및
    상기 사용자 어레이부 내 결함 메모리 위치들에 상관없이 상기 사용자 어레이부의 상기 데이터 래치들로부터 데이터를 데이터 버스로 판독해 내는 단계;를 포함하고,
    상기 용장 어레이부의 상기 데이터 래치들과 상기 대응하는 결함 메모리 위치들의 래치들간에 용장 데이터를 전송하는 상기 단계는
    상기 용장 어레이부의 상기 데이터 래치들을 상기 데이터 버스의 출력부에 결합하는 단계;
    대응하는 결함 메모리 위치들의 상기 데이터 래치들을 상기 데이터 버스의 입력부에 결합하는 단계; 및
    상기 데이터 버스의 상기 출력부와 상기 입력부간에 전송되는 상기 데이터를 버퍼하는 단계를 더 포함하는, 메모리의 데이터 판독방법.
  2. 제1항에 있어서, 상기 사용자 어레이부 및 상기 용장 어레이부는 로우들(rows) 및 컬럼들(columns)에 의해 어드레스될 수 있으며;
    상기 결함 메모리 위치는 상기 용장 어레이부로부터 용장 컬럼에 의해 대체될 수 있는 결함 컬럼인, 메모리의 데이터 판독방법.
  3. 제1항에 있어서, 데이터를 데이터 버스로 판독해 내는 상기 단계는 상기 사용자 어레이부를 액세스하기 위한 어드레스에 따르는 것인, 메모리의 데이터 판독방법.
  4. 삭제
  5. 제1항에 있어서, 상기 데이터 버스의 상기 출력부와 상기 입력부간에 전송되는 상기 데이터를 버퍼하는 상기 단계는 한 세트의 파이프라인 레지스터들을 통해 시프트함에 의한 것인, 메모리의 데이터 판독방법.
  6. 제5항에 있어서, 상기 한 세트의 파이프라인 레지스터들은 한 세트의 2-단 시프트 레지스터들인, 메모리의 데이터 판독방법.
  7. 제1항에 있어서, 상기 비휘발성 메모리는 플래시 EEPROM인, 메모리의 데이터 판독방법.
  8. 제1항에 있어서, 상기 비휘발성 메모리는 메모리 카드에 구현된, 메모리의 데이터 판독방법.
  9. 제1항 내지 제3항 및 제5항 내지 제8항 중 어느 한 항에 있어서, 상기 비휘발성 메모리의 개개의 저장유닛들 각각은 2 메모리 상태들 중 하나를 저장하는, 메모리의 데이터 판독방법.
  10. 제1항 내지 제3항 및 제5항 내지 제8항 중 어느 한 항에 있어서, 상기 비휘발성 메모리의 개개의 저장유닛들 각각은 2보다 많은 메모리 상태들 중 하나를 저장하는, 메모리의 데이터 판독방법.
  11. 사용자 어레이부 내 결함 메모리 위치가 용장 어레이부 내 대응하는 용장 위치에 의해 대체될 수 있게 상기 사용자 어레이부 및 상기 용장 어레이부로 분할된 비휘발성 메모리에서, 상기 메모리의 상기 사용자 어레이부 및 상기 용장 어레이부를 포함하는 일 그룹의 메모리 위치들에 데이터를 기입하는 방법에 있어서,
    상기 사용자 어레이부의 결함 메모리 위치들의 리스트를 제공하는 단계;
    상기 사용자 어레이부 및 상기 용장 어레이부 둘 다에 연관된 데이터를 래치하기 위한 일 그룹의 데이터 래치들을 제공하는 단계;
    상기 사용자 어레이부 내 결함 메모리 위치들에 상관없이, 기입할 데이터를 데이터 버스로부터 상기 사용자 어레이부에 연관된 상기 데이터 래치들에 래치하는 단계;
    상기 사용 어레이부 내 결함 메모리 위치들에 대한 상기 데이터 래치들로부터 데이터를 상기 용장 어레이부 내 대응하는 용장 위치들의 상기 데이터 래치들에 전송하는 단계;
    상기 결함 메모리 위치들에 대한 상기 데이터 래치들에 기정의된 데이터를 저장함으로써 상기 결함 메모리 위치들에 대한 비-프로그램 상태를 표시하는 단계; 및
    상기 일 그룹의 데이터 래치들로부터 상기 데이터를 일 그룹의 메모리 위치들에 프로그램하는 단계;를 포함하고
    결함 메모리 위치들에 대한 상기 데이터 래치들과 상기 용장 어레이부 내 상기 대응하는 용장 위치들의 상기 데이터 래치들간에 데이터를 전송하는 상기 단계는,
    결함 메모리 위치들에 대한 상기 데이터 래치들을 상기 데이터 버스의 출력부에 결합하는 단계;
    상기 용장 어레이부 내 대응하는 용장 위치들의 상기 데이터 래치들을 상기 데이터 버스의 입력부에 결합하는 단계; 및
    상기 데이터 버스의 상기 출력부와 상기 입력부간에 전송되는 상기 데이터를 버퍼하는 단계를 더 포함하는, 메모리에 데이터 기입방법.
  12. 제11항에 있어서, 상기 사용자 어레이부 및 상기 용장 어레이부는 로우들 및 컬럼들에 의해 어드레스될 수 있으며;
    상기 결함 메모리 위치는 상기 용장 어레이부로부터 용장 컬럼에 의해 대체될 수 있는 결함 컬럼인, 메모리에 데이터 기입방법.
  13. 제11항에 있어서, 상기 데이터 버스로부터 기입될 상기 데이터를 래치하는 상기 단계는 상기 사용자 어레이부를 액세스하기 위한 어드레스에 따르는 것인, 메모리에 데이터 기입방법.
  14. 삭제
  15. 제11항에 있어서, 상기 데이터 버스의 상기 출력부와 상기 입력부간에 전송되는 상기 데이터를 버퍼하는 상기 단계는 한 세트의 파이프라인 레지스터들을 통한 시프트에 의한 것인, 메모리에 데이터 기입방법.
  16. 제15항에 있어서, 상기 한 세트의 파이프라인 레지스터들은 한 세트의 2-단 시프트 레지스터들인, 메모리에 데이터 기입방법.
  17. 제11항에 있어서, 상기 비휘발성 메모리는 플래시 EEPROM인, 메모리에 데이터 기입방법.
  18. 제11항에 있어서, 상기 비휘발성 메모리는 메모리 카드에 구현되는, 메모리에 데이터 기입방법.
  19. 제11항 내지 제13항 및 제15항 내지 제18항 중 어느 한 항에 있어서, 상기 비휘발성 메모리의 개개의 저장유닛들 각각은 2 메모리 상태들 중 하나를 저장하는, 메모리에 데이터 기입방법.
  20. 제11항 내지 제13항 및 제15항 내지 제18항 중 어느 한 항에 있어서, 상기 비휘발성 메모리의 개개의 저장유닛들 각각은 2보다 많은 메모리 상태들 중 하나를 저장하는, 메모리에 데이터 기입방법.
  21. 비휘발성 메모리에 있어서,
    사용자 어레이부 내 결함 메모리 위치가 용장 어레이부 내 대응하는 용장 위치에 의해 대체될 수 있게 상기 사용자 어레이부 및 상기 용장 어레이부로 분할된 비휘발성 저장 유닛들의 메모리 어레이;
    상기 사용자 어레이부 및 상기 용장 어레이부 둘 다에 연관된 데이터를 래치하기 위한 일 그룹의 데이터 래치들;
    상기 일 그룹의 데이터 래치들에 결합되고 데이터-출력 버스 및 데이터-입력 버스를 구비하는 데이터 버스;
    상기 사용자 어레이부의 결함 메모리 위치들의 리스트를 저장하기 위한 결함 맵 버퍼;
    상기 데이터-출력 버스와 상기 데이터-입력 버스간에 결합된 데이터 버퍼; 및
    상기 용장 어레이부의 상기 데이터 래치들과 상기 결함 맵 버퍼 내 리스트된 대응하는 결함 메모리 위치들의 래치들간에 용장 데이터의 전송을 상기 데이터 버퍼를 통해 제어하는 제어회로를 포함하고, 판독 작동 중에
    상기 용장 어레이부의 상기 데이터 래치들은 상기 데이터-출력 버스에 결합되고,
    대응하는 결함 메모리 위치들의 상기 데이터 래치들은 데이터-입력 버스에 결합되고; 기입 작동 중에
    결함 메모리 위치들에 대한 상기 데이터 래치들은 상기 데이터-출력 버스에 결합되고;
    상기 용장 어레이부 내 대응하는 용장 위치들의 상기 데이터 래치들은 상기 데이터-입력 버스에 결합되는, 비휘발성 메모리.
  22. 제21항에 있어서, 상기 사용자 어레이부 및 상기 용장 어레이부는 로우들 및 컬럼들에 의해 어드레스될 수 있으며;
    상기 결함 메모리 위치는 상기 용장 어레이부로부터 용장 컬럼에 의해 대체될 수 있는 결함 컬럼인, 비휘발성 메모리.
  23. 제21항에 있어서, 상기 데이터 버퍼는 상기 데이터-출력 버스로부터 데이터를 수신하고 데이터를 상기 데이터-입력 버스에 출력하기 위한 한 세트의 파이프라 인 시프트-레지스터들인, 비휘발성 메모리.
  24. 제23항에 있어서, 상기 한 세트의 파이프라인 레지스터들은 한 세트의 2-단 시프트 레지스터들인, 비휘발성 메모리.
  25. 제21항에 있어서, 판독동작동안에 상기 제어회로는 상기 용장 어레이부의 상기 데이터 래치들로부터 용장 데이터를 상기 결함 맵 버퍼에 리스트된 대응하는 결함 메모리 위치들의 래치들에 버퍼링하는 것을 제어하는, 비휘발성 메모리.
  26. 제21항에 있어서, 기입동작동안에 상기 제어회로는 상기 데이터 버퍼를 통해 상기 결함 맵 버퍼에 리스트된 결함 메모리 위치들에 대응하는 상기 사용자 어레이부의 상기 데이터 래치들로부터 데이터를 대응하는 용장 어레이부의 래치들에 버퍼링하는 것을 제어하는, 비휘발성 메모리.
  27. 제21항에 있어서, 기입동작동안에 상기 제어회로는 비-프로그래밍에 대한 상태를 나타내기 위해서 상기 결함 맵에 리스트된 결함 메모리 위치들에 대응하는 상기 사용자 어레이부의 상기 데이터 래치들을 설정하는 것을 제어하는, 비휘발성 메모리.
  28. 제21항에 있어서, 상기 메모리 어레이는 일 단부에 일 그룹의 데이터 래치들과 또 다른 단부 상에 또 다른 일 그룹의 데이터 래치들에 의해 액세스될 수 있는, 비휘발성 메모리.
  29. 제21항에 있어서, 상기 비휘발성 메모리는 플래시 EEPROM인, 비휘발성 메모리.
  30. 제21항에 있어서, 상기 비휘발성 메모리는 메모리 카드에 구현되는, 비휘발성 메모리.
  31. 사용자 어레이부 내 결함 메모리 위치가 용장 어레이부 내 대응하는 용장 위치에 의해 대체될 수 있게 상기 사용자 어레이부 및 상기 용장 어레이부로 분할된 비휘발성 저장 유닛들의 메모리 어레이;
    상기 사용자 어레이부 및 상기 용장 어레이부 둘 다에 연관된 데이터를 래치하기 위한 일 그룹의 데이터 래치들;
    상기 일 그룹의 데이터 래치들에 결합되고 데이터-출력 버스 및 데이터-입력 버스를 구비하는 데이터 버스;
    상기 사용자 어레이부의 결함 메모리 위치들의 리스트를 저장하기 위한 결함 맵 버퍼; 및
    상기 용장 어레이부의 상기 데이터 래치들과 상기 결함 맵 버퍼 내 리스트된 대응하는 결함 메모리 위치들의 래치들간에 용장 데이터를 전송하는 수단을 포함하고; 판독 작동 중에:
    상기 용장 어레이부의 상기 데이터 래치들은 상기 데이터-출력 버스에 결합되고,
    대응하는 결함 메모리 위치들의 상기 데이터 래치들은 상기 데이터-입력 버스에 결합되고; 기입 작동 중에:
    결함 메모리 위치들에 대한 상기 데이터 래치들은 상기 데이터-출력 버스에 결합되고;
    상기 용장 어레이부 내 대응하는 용장 위치들의 상기 데이터 래치들은 상기 데이터-입력 버스에 결합되는 비휘발성 메모리.
  32. 제21항 내지 제31항 중 어느 한 항에 있어서, 상기 비휘발성 메모리의 개개의 저장유닛들 각각은 2 메모리 상태들 중 하나를 저장하는, 비휘발성 메모리.
  33. 제21항 내지 제31항 중 어느 한 항에 있어서, 상기 비휘발성 메모리의 개개의 저장유닛들 각각은 2보다 많은 메모리 상태들 중 하나를 저장하는, 비휘발성 메모리.
KR1020087024609A 2006-03-24 2007-03-13 결함 위치들에 대한 데이터 래치들에 용장 데이터가 버퍼되는 비휘발성 메모리 및 방법 KR101363965B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/389,655 2006-03-24
US11/388,408 US7224605B1 (en) 2006-03-24 2006-03-24 Non-volatile memory with redundancy data buffered in data latches for defective locations
US11/388,408 2006-03-24
US11/389,655 US7394690B2 (en) 2006-03-24 2006-03-24 Method for column redundancy using data latches in solid-state memories
PCT/US2007/063863 WO2007112201A2 (en) 2006-03-24 2007-03-13 Non-volatile memory and method with redundancy data buffered in data latches for defective locations

Publications (2)

Publication Number Publication Date
KR20080112278A KR20080112278A (ko) 2008-12-24
KR101363965B1 true KR101363965B1 (ko) 2014-02-18

Family

ID=38456480

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087024609A KR101363965B1 (ko) 2006-03-24 2007-03-13 결함 위치들에 대한 데이터 래치들에 용장 데이터가 버퍼되는 비휘발성 메모리 및 방법

Country Status (5)

Country Link
EP (1) EP2008283B1 (ko)
JP (1) JP2009531796A (ko)
KR (1) KR101363965B1 (ko)
TW (1) TWI338899B (ko)
WO (1) WO2007112201A2 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI457760B (zh) * 2012-02-23 2014-10-21 Macronix Int Co Ltd 具有冗餘記憶體之記憶體陣列的資料複製方法及裝置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0430682A2 (en) 1989-11-30 1991-06-05 Sony Corporation Serial access semiconductor memory devices
US6201744B1 (en) 1998-12-28 2001-03-13 Oki Electric Industry Co., Ltd Semiconductor memory circuit and redundancy control method
US6816420B1 (en) 2003-07-29 2004-11-09 Xilinx, Inc. Column redundancy scheme for serially programmable integrated circuits
JP2006018934A (ja) * 2004-07-02 2006-01-19 Renesas Technology Corp 半導体記憶装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5095344A (en) 1988-06-08 1992-03-10 Eliyahou Harari Highly compact eprom and flash eeprom devices
US5070032A (en) 1989-03-15 1991-12-03 Sundisk Corporation Method of making dense flash eeprom semiconductor memory structures
EP0618535B1 (en) 1989-04-13 1999-08-25 SanDisk Corporation EEPROM card with defective cell substitution and cache memory
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
US5200959A (en) 1989-10-17 1993-04-06 Sundisk Corporation Device and method for defect handling in semi-conductor memory
US5343063A (en) 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US5313421A (en) 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
US5428621A (en) 1992-09-21 1995-06-27 Sundisk Corporation Latent defect handling in EEPROM devices
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
KR0169267B1 (ko) 1993-09-21 1999-02-01 사토 후미오 불휘발성 반도체 기억장치
US5661053A (en) 1994-05-25 1997-08-26 Sandisk Corporation Method of making dense flash EEPROM cell array and peripheral supporting circuits formed in deposited field oxide with the use of spacers
US5903495A (en) 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5768192A (en) 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
US6768165B1 (en) 1997-08-01 2004-07-27 Saifun Semiconductors Ltd. Two bit non-volatile electrically erasable and programmable semiconductor memory cell utilizing asymmetrical charge trapping
US7170802B2 (en) 2003-12-31 2007-01-30 Sandisk Corporation Flexible and area efficient column redundancy for non-volatile memories

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0430682A2 (en) 1989-11-30 1991-06-05 Sony Corporation Serial access semiconductor memory devices
US6201744B1 (en) 1998-12-28 2001-03-13 Oki Electric Industry Co., Ltd Semiconductor memory circuit and redundancy control method
US6816420B1 (en) 2003-07-29 2004-11-09 Xilinx, Inc. Column redundancy scheme for serially programmable integrated circuits
JP2006018934A (ja) * 2004-07-02 2006-01-19 Renesas Technology Corp 半導体記憶装置

Also Published As

Publication number Publication date
WO2007112201A9 (en) 2008-11-06
JP2009531796A (ja) 2009-09-03
TW200807426A (en) 2008-02-01
WO2007112201A3 (en) 2007-11-22
EP2008283B1 (en) 2013-08-07
EP2008283A2 (en) 2008-12-31
TWI338899B (en) 2011-03-11
WO2007112201B1 (en) 2008-01-03
WO2007112201A2 (en) 2007-10-04
KR20080112278A (ko) 2008-12-24

Similar Documents

Publication Publication Date Title
US7567466B2 (en) Non-volatile memory with redundancy data buffered in remote buffer circuits
US7394690B2 (en) Method for column redundancy using data latches in solid-state memories
US7224605B1 (en) Non-volatile memory with redundancy data buffered in data latches for defective locations
US7352635B2 (en) Method for remote redundancy for non-volatile memory
US9436609B2 (en) Block addressing for parallel memory arrays
KR100663738B1 (ko) 동시 다중 데이터 섹터 프로그래밍 및 다른 지정 블럭들에대한 물리적 블럭 특성들의 저장기능을 갖는 플래시이이피롬 시스템
US9748001B2 (en) Bad column management with bit information in non-volatile memory systems
KR101904583B1 (ko) 비휘발성 메모리들에서 스킵된 엔트리들로 열 선택 시프트 레지스터를 액세스하는 기술들
JP2008524748A (ja) メモリシステムにおけるデータ再配置
JP2007517353A (ja) 不揮発性メモリに対する柔軟でエリア効率の高い列冗長性
JP2005517260A (ja) セクタポインタを用いるメモリ・マッピング・デバイス
KR101347590B1 (ko) 용장 데이터가 원격 버퍼 회로들에 버퍼되는 비휘발성 메모리 및 방법
US20010010656A1 (en) Sequentially addressing a nonvolatile writeable memory device
KR101363965B1 (ko) 결함 위치들에 대한 데이터 래치들에 용장 데이터가 버퍼되는 비휘발성 메모리 및 방법

Legal Events

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

Payment date: 20170119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190116

Year of fee payment: 6