KR101106977B1 - 비휘발성 메모리의 캐시 동작에서의 데이터 래치의 사용 - Google Patents

비휘발성 메모리의 캐시 동작에서의 데이터 래치의 사용 Download PDF

Info

Publication number
KR101106977B1
KR101106977B1 KR1020077022634A KR20077022634A KR101106977B1 KR 101106977 B1 KR101106977 B1 KR 101106977B1 KR 1020077022634 A KR1020077022634 A KR 1020077022634A KR 20077022634 A KR20077022634 A KR 20077022634A KR 101106977 B1 KR101106977 B1 KR 101106977B1
Authority
KR
South Korea
Prior art keywords
data
read
write
group
memory
Prior art date
Application number
KR1020077022634A
Other languages
English (en)
Other versions
KR20070122208A (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 KR20070122208A publication Critical patent/KR20070122208A/ko
Application granted granted Critical
Publication of KR101106977B1 publication Critical patent/KR101106977B1/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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • 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/26Sensing or reading circuits; Data output circuits
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/304In main memory subsystem
    • G06F2212/3042In main memory subsystem being part of a memory device, e.g. cache DRAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Non-Volatile Memory (AREA)

Abstract

동일 메모리에 동작들의 국면간 파이프라인을 할 수 있게 하여, 예를 들면 독출 동작이 기입 동작의 펄스 국면과 검증 국면 사이에 삽입되게 함으로써 비휘발성 메모리 디바이스들에서 수행을 향상시키기 위한 방법들 및 회로가 제안된다. 실시예에서, 2개의 동작들이 데이터 래치들을 공유한다. 구체적인 예들에서, 복수-레벨 기입동작에서 검증에 필요한 데이터 래치들이 확보됨에 따라, 이들은 복수-레벨 기입에서 단계들 사이에서 수행되는 독출동안 또 다른 위치로부터 독출된 데이터를 저장하는데 사용될 수 있다. 실시예에서, 복수-레벨 기입은 일시정지만을 필요로 하며 독출을 실행하고 일시정지한 지점에서 기입을 재개한다.

Description

비휘발성 메모리의 캐시 동작에서의 데이터 래치의 사용{USE OF DATA LATCHES IN CACHE OPERATIONS OF NON- VOLATILE MEMORIES}
이 발명은 일반적으로 이를테면 전기적으로 소거가능한 프로그램가능한 독출전용 메모리(EEPROM) 및 플래시 EEPROM과 같은 비휘발성 반도체 메모리에 관한 것으로, 특히 중복하여 메모리 동작들을 가능하게 하는 공유된 래치 구조들에 기초한 캐시 동작들에 관한 것이다.
비휘발성으로 전하를 저장할 수 있는, 특히 소형 폼 팩터(form factor) 카드로서 패키지된 EEPROM 및 플래시 EEPROM 형태의 고체상태 메모리는 최근에 다양한 이동 및 휴대 디바이스들, 특히 정보기기들 및 소비자 전자제품들에서 선택되는 저장장치가 되었다. 고체상태 메모리인 RAM(랜덤 액세스 메모리)와는 달리, 플래시 메모리는 파워가 턴 오프 된 후에도 그의 저장된 데이터를 보존하는 비휘발성이다. 높은 가격에도 불구하고, 플래시 메모리는 대량 저장 애플리케이션들에서 점점 더 사용되고 있다. 하드 드라이브들 및 플로피 디스크들과 같은 회전 자기 매체에 기초한, 종래의 대량 저장장치는 이동 및 휴대 환경엔 적합하지 않다. 이것은 디스크 드라이브들이 부피가 큰 경향이 있고 기계적 고장이 나기 쉬우며 큰 레이턴시(latency)와 큰 파워 요건들을 갖고 있기 때문이다. 이들 바람직하지 못한 속성 들은 디스크 기반의 저장장치를 대부분의 이동 및 휴대 애플리케이션들에서 비현실적이게 한다. 반면, 내장형임과 아울러 착탈가능한 카드 형태인 플래시 메모리는 이의 소형 크기, 낮은 파워 소비, 고속 및 고 신뢰성 특징들 때문에 이상적으로 이동 및 휴대 환경에서 적합하다.
EEPROM 및 전기적으로 프로그램가능한 독출전용 메모리(EPROM)는 소거되어 이들의 메모리 셀들에 새로운 데이터가 기입 혹은 "프로그램"되게 할 수 있는 비휘발성 메모리이다. 이들 둘은 전계효과 트랜지스터 구조에서 소스영역과 드레인 영역 사이에, 반도체 기판 내 채널영역 상에 위치한, 플로팅(비접속된) 도전성 게이트를 이용한다. 제어 게이트는 플로팅 게이트 상에 제공된다. 트랜지스터의 임계전압 특징은 플로팅 게이트 상에 보존된 전하량에 의해 제어된다. 즉, 플로팅 게이트 상의 주어진 레벨의 전하에 대해서, 소스영역과 드레인 영역간에 도통이 될 수 있게 트랜지스터가 턴 "온" 되기 전에 제어 게이트에 인가되어야 하는 대응 전압(임계)이 있다.
플로팅 게이트는 한 범위의 전하를 유지할 수 있고 그러므로 임계 전압 윈도우 내 임의의 임계 전압 레벨로 프로그램될 수 있다. 임계 전압 윈도우의 크기는 디바이스의 최소 임계 레벨과 최대 임계 레벨에 의해 경계가 정해지고, 이들 레벨들은 플로팅 게이트에 프로그램될 수 있는 한 범위의 전하들에 대응한다. 일반적으로 임계 윈도우는 메모리 디바이스의 특징들, 동작 조건들 및 이력에 따른다. 윈도우 내 각각의 구별되는 분해가능한 임계 전압 레벨 범위는, 원리적으로, 셀의 명확한 메모리 상태를 지정하는데 사용될 수 있다.
메모리 셀로서 작용하는 트랜지스터는 통상적으로 2가지 메커니즘들 중 한 메커니즘에 의해 "프로그램된" 상태로 프로그램된다. "핫 전자 주입"에서, 드레인에 인가되는 하이(high) 전압은 기판 채널영역을 횡단하는 전자들을 가속화한다. 동시에 제어 게이트에 인가되는 하이 전압은 전자들을 얇은 게이트 유전체를 통과시켜 플로팅 게이트로 이끌어낸다. "터널링 주입"에서, 하이 전압은 기판에 관하여 제어 게이트에 인가된다. 이렇게 함으로써, 전자들은 기판으로부터 개재된 플로팅 게이트로 끌어내어진다.
메모리 디바이스는 다수의 메커니즘들에 의해 소거될 수 있다. EPROM에 있어서, 메모리는 자외선 방사에 의해 플로팅 게이트로부터 전하를 제거함으로써 대량으로 소거될 수 있다. EEPROM에 있어서, 메모리 셀은 플로팅 게이트 내 전자들을 얇은 산화물을 통과하여 기판 채널영역으로 유도시키기 위해서(즉, 파울러-노다임 터널링) 제어 게이트에 관하여 기판에 하이 전압을 인가함으로써 전기적으로 소거될 수 있다. 통상적으로, EEPROM은 바이트씩으로 소거될 수 있다. 플래시 EEPROM에 있어서, 메모리는 모두 한꺼번에 혹은 한번에 많은 블록들 -한 블록은 512바이트 혹은 그 이상의 메모리로 구성될 수 있다- 을 전기적으로 소거할 수 있다.
비휘발성 메모리 셀의 예
통상적으로 메모리 디바이스들은 카드 상에 장착될 수 있는 하나 이상의 메모리 칩들을 포함한다. 각 메모리 칩은 디코더들 및 소거, 기입 및 독출회로들과 같은 주변회로들에 의해 지원되는 메모리 셀 어레이를 포함한다. 보다 정교한 메모 리 디바이스들은 지능형이고 보다 높은 레벨의 메모리 동작들 및 인터페이싱을 수행하는 제어기가 부수된다. 최근에 사용되는 많은 상업적으로 성공한 비휘발성 고체상태 메모리 디바이스들이 있다. 이들 메모리 디바이스들은 각 유형이 하나 이상의 전하 저장 소자를 구비하는 것인 서로 다른 유형들의 메모리 셀들을 채용할 수 있다.
도 1a-1e는 비휘발성 메모리 셀들의 서로 다른 예들을 개략적으로 도시한 것이다.
도 1a는 전하를 저장하기 위한 플로팅 게이트를 구비한 EEPROM 셀 형태의 비휘발성 메모리를 개략적으로 도시한 것이다. 전기적으로 소거가능하고 프로그램가능한 독출전용 메모리(EEPROM)는 EPROM과 유사한 구조를 가지나, UV 방사에 노출할 필요없이 적합한 전압들의 인가시 플로팅 게이트로부터 전하를 로딩 및 제거하는 메커니즘을 추가로 제공한다. 이러한 셀들 및 이들을 제조하는 방법들의 예들은 미국특허 5,595,924에 주어져 있다.
도 1b는 선택 게이트와 제어 혹은 조정 게이트 둘 다를 갖는 플래시 EEPROM 셀을 개략적으로 도시한 것이다. 메모리 셀(10)은 소스(14) 확산부와 드레인(16) 확산부 사이에 "분할-채널"(12)을 구비한다. 셀은 효과적으로 직렬의 두 개의 트랜지스터들(T1, T2)로 형성된다. T1은 플로팅 게이트(20) 및 제어 게이트(30)를 구비한 메모리 트랜지스터로서 작용한다. 플로팅 게이트는 선택가능한 전하량을 저장할 수 있다. 채널의 T1 부분을 통하여 흐를 수 있는 전류량은 제어 게이트(30) 상에 전압과 개재된 플로팅 게이트(20) 상에 놓인 전하량에 따른다. T2는 선택 게이 트(40)를 구비한 선택 트랜지스터로서 작용한다. T2가 선택 게이트(40)에서의 전압에 의해 턴 온 되었을 때, 이것은 채널의 T1 부분 내 전류가 소스와 드레인 사이에서 통과하게 한다. 선택 트랜지스터는 제어 게이트의 전압과 무관하게 소스-드레인 채널을 따른 스위치를 제공한다. 한 이점은 이것이 플로팅 게이트들에서의 전하 공핍(포지티브(positive))에 기인하여 제로 제어 게이트 전압에서 여전히 도통하여 있는 셀들을 턴 오프 하는데 사용될 수 있다는 것이다. 다른 이점은 소스측 주입 프로그래밍이 보다 쉽게 구현될 수 있게 한다는 것이다.
분할-채널 메모리 셀의 한 간단한 실시예는 선택 게이트 및 제어 게이트가 도 1b에 도시된 점선으로 개략적으로 나타낸 바와 같이 동일 워드라인에 접속되는 경우이다. 이것은 전하 저장 소자(플로팅 게이트)를 채널의 한 부분 상에 놓이게 하고 제어 게이트 구조(워드라인의 일부)를 전하 저장 소자 위만이 아니라 다른 채널 부분 위에 놓여지게 함으로써 달성된다. 이것은 직렬의 두 개의 트랜지스터를 구비한 셀을 효과적으로 형성하는데, 한 트랜지스터(메모리 트랜지스터)는 전하 저장 소자 상의 전하량과 채널의 부분을 통해 흐를 수 있는 전류량을 제어하는 워드라인 상의 전압과의 조합을 가지며, 다른 트랜지스터(선택 트랜지스터)는 이의 게이트로서 단독으로 작용하는 워드라인을 갖는다. 이러한 셀들, 메모리 시스템들에서 이들의 사용들 및 이들을 제공하는 방법들의 예들은 미국특허들 5,070,032, 5,095,344, 5,315,541, 5,343,063, 및 5,661,053에 주어져 있다.
도 1b에 도시된 분할-채널 셀의 보다 개선된 실시예는 선택 게이트와 제어 게이트가 독립적이고 이들간에 점선에 의해 연결되지 않을 때이다. 한 구현은 한 어레이의 셀들 내 한 열(column)의 제어 게이트들을 워드라인에 수직한 제어(혹은 조정) 라인에 연결한다. 효과는 선택된 셀을 독출 혹은 프로그래밍할 때 워드라인이 동시에 2가지 기능들을 수행해야 하는 것에서 구제하는 것이다. 이들 두 가지 기능들은 (1) 선택 트랜지스터의 게이트로서 작용하는 것 -이에 따라 선택 트랜지스터를 턴 온 및 오프 시키기 위한 적합한 전압을 요구하게 된다- 과, (2) 전하 저장 소자의 전압을 워드라인과 전하 저장 소자간 전계(용량성) 커플링을 통해 원하는 레벨로 구동하는 것이다. 단일의 전압으로 이들 기능들 둘 다를 최적으로 수행하는 것은 흔히 어렵다. 제어 게이트 및 선택 게이트의 개별적 제어에 있어선, 워드라인은 기능 (1)을 수행하는 것만을 필요로 하고, 추가된 제어라인은 기능 (2)를 수행한다. 이러한 능력은 프로그래밍 전압이 타겟의 데이터에 맞추어지는 보다 높은 수행의 프로그래밍을 설계할 수 있게 한다. 플래시 EEPROM 어레이에서 독립적 제어(혹은 조정) 게이트들의 사용은 예를 들면 미국특허들 5,313,421 및 6,222,762에 기술되어 있다.
도 1c는 2중 플로팅 게이트들 및 독립적 선택 및 제어 게이트들을 구비한 또 다른 플래시 EEPROM을 개략적으로 도시한 것이다. 메모리 셀(10)은 효과적으로 직렬의 3개의 트랜지스터들을 구비하는 것을 제외하곤 도 1b와 유사하다. 이러한 유형의 셀에서, 2개의 저장 소자들(즉, T1-좌측 및 T1-우측의 소자)은 소스 확산부와 드레인 확산부 사이 내 선택 트랜지스터(T1)를 구비하여 이들 확산부들간 채널 상에 포함된다. 메모리 트랜지스터들은 플로팅 게이트들(20, 20'), 및 제어 게이트들(30, 30')을 각각 구비한다. 선택 트랜지스터(T2)는 선택 게이트(40)에 의해 제 어된다. 임의의 한 시간에서, 한 쌍의 메모리 트랜지스터들 중 단지 하나만이 독출 혹은 기입을 위해 액세스된다. 저장유닛(T1-좌측)이 액세스되고 있을 때, T2 및 T1-우측 둘 다는 턴 온 되어 채널의 T1-좌측 부분 내 전류가 소스와 드레인간에 통과할 수 있게 된다. 유사하게, 저장유닛(T1-우측)이 액세스되고 있을 때, T2 및 T1-좌측이 턴 온 된다. 소거는 선택 게이트 폴리실리콘의 부분이 플로팅 게이트에 근접하게 하고 플로팅 게이트 내 저장된 전자들이 선택 게이트 폴리실리콘으로 터널링할 수 있도록 상당한 양의 전압(예를 들면, 20V)을 선택 게이트에 인가함으로써 달성된다.
도 1d는 NAND 셀로 구성된 한 스트링의 메모리 셀들을 개략적으로 도시한 것이다. NAND 셀(50)은 소스들 및 드레인들이 데이지-체인형으로 연결된 직렬의 메모리 트랜지스터들(Ml, M2,...Mn (n= 4, 8, 16 혹은 그 이상)로 구성된다. 한 쌍의 선택 트랜지스터(S1, S2)는 NAND 셀의 소스 단자(54)와 드레인 단자(56)를 통해 외부에의 메모리 트랜지스터 체인의 접속을 제어한다. 메모리 어레이에서, 소스 선택 트랜지스터(S1)가 턴 온 되었을 때, 소스 단자는 소스라인에 결합된다. 마찬가지로, 드레인 선택 트랜지스터(S2)가 턴 온 되었을 때, NAND 셀의 드레인 단자는 메모리 어레이의 비트라인에 결합된다. 체인 내 각각의 메모리 트랜지스터는 의도된 메모리 상태를 나타내기 위해서 주어진 량의 전하를 저장하는 전하 저장 소자를 구비한다. 각각의 메모리 트랜지스터의 제어 게이트는 독출 및 기입 동작들에 대해 제어한다. 선택 트랜지스터들(S1, S2)의 각각의 제어 게이트는 각각 이의 소스 단자(54) 및 드레인 단자(56)를 통해 NAND 셀에의 제어 액세스를 제공한다.
NAND 셀 내 어드레스된 메모리 트랜지스터가 프로그래밍 동안 독출되고 검증될 때, 이의 제어 게이트에는 적합한 전압이 공급된다. 동시에, NAND 셀(50) 내 비-어드레스된 나머지 메모리 트랜지스터들은 이들의 제어 게이트들 상에 충분한 전압의 인가에 의해 완전히 턴 온 된다. 이렇게 하여, 도전성 경로가 개개의 메모리 트랜지스터의 소스에서 NAND 셀의 소스 단자(54)로 효과적으로 생성되고 셀의 드레인 단자(56)에의 개개의 메모리 트랜지스터의 드레인에 대해서도 마찬가지이다. 이러한 NAND 셀 구조들을 가진 메모리 디바이스들은 미국특허들 5,570,315, 5,903,495, 6,046,935에 기술되어 있다.
도 1e는 전하를 저장하기 위한 유전층을 구비한 비휘발성 메모리를 개략적으로 도시한 것이다. 앞서 기술된 도전성 플로팅 게이트 소자들 대신에, 유전층이 사용된다. 유전 저장 소자를 이용한 이러한 메모리 디바이스들은 Eitan 등의 "NROM:A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell" IEEE Electron Device Letters, vol. 21, no. 11, November 2000, pp. 543-545에 기술되어 있다. ONO 유전층은 소스 확산부와 드레인 확산부간 채널을 가로질러 확장한다. 하나의 데이터 비트를 위한 전하는 드레인에 이웃한 유전층 내 국부화되고, 다른 데이터 비트를 위한 전하는 소스에 이웃한 유전층 내 국부화된다. 예를 들면, 미국특허들 5,768,192 및 6,011,725은 2개의 이산화실리콘층들 사이에 개재된 트랩핑(trapping) 유전체를 구비한 비휘발성 메모리 셀을 개시한다. 복수-상태 데이터 저장장치는 유전체 내 공간적으로 분리된 전하 저장 영역들의 바이너리 상태들을 개별적으로 독출함으로써 구현된다.
메모리 어레이
통상적으로 메모리 디바이스는 행들 및 열들로 배열되고 워드라인들 및 비트라인들에 의해 어드레스될 수 있는 2차원의 한 어레이의 메모리 셀들을 포함한다. 어레이는 NOR형 혹은 NAND형 구조에 따라 형성될 수 있다.
NOR 어레이
도 2는 메모리 셀들의 NOR 어레이의 예를 도시한 것이다. NOR형 구조를 가진 메모리 디바이스들은 도 1b 혹은 도 1c에 도시된 유형의 셀들로 구현되었다. 메모리 셀들의 각 행은 데이지-체인식으로 이들의 소스들 및 드레인들에 의해 접속된다. 이 설계는 종종 가상 접속 설계라고도 한다. 각 메모리 셀(10)은 소스(14), 드레인(16), 제어 게이트(30) 및 선택 게이트(40)를 구비한다. 행 내 셀들은 워드라인(42)에 접속된 선택 게이트들을 구비한다. 열 내 셀들은 선택된 비트라인들(34, 36)에 각각 접속된 소스들 및 드레인들을 구비한다. 메모리 셀들이 독립적으로 제어되는 이들의 제어 게이트 및 선택 게이트를 구비한 일부 실시예들에서, 조정 라인(36)은 열 내 셀들의 제어 게이트들을 연결한다.
많은 플래시 EEPROM 디바이스들은 각각의 이의 제어 게이트 및 선택 게이트가 함께 접속되어 형성된 메모리 셀들로 구현된다. 이 경우, 조정 라인들에 대한 필요성은 없으며 워드라인은 단순히 각 행을 따라 셀들의 모든 제어 게이트들 및 선택 게이트들을 연결한다. 이들 설계들의 예들은 미국특허들 5,172,338 및 5,418,752에 개시되어 있다. 이들 설계들에서, 워드라인은 근본적으로 두 가지 기 능들로서, 행 선택과, 독출 혹은 프로그래밍을 위해 행 내 모든 셀들에 제어 게이트 전압을 공급하는 것을 수행한다.
NAND 어레이
도 3은 이를테면 도 1d에 도시된 것과 같은, 메모리 셀들의 NAND 어레이의 예를 도시한 것이다. NAND 셀들의 각 열을 따라, 비트라인은 각각의 NAND 셀의 드레인 단자(56)에 결합된다. NAND 셀들의 각 행을 따라, 소스 라인은 모든 이들의 소스 단자들(54)을 연결할 수 있다. 또한, 행을 따른 NAND 셀들의 제어 게이트들은 일련의 대응 워드라인들에 연결된다. 전체 한 행의 NAND 셀들은 연결된 워드라인들을 통해 제어 게이트들 상에 적합한 전압들로 한 쌍의 선택 트랜지스터들(도 1d 참조)을 턴 온 시킴으로써 어드레스될 수 있다. NAND 셀의 체인 내 메모리 트랜지스터가 독출되고 있을 때, 체인 내 나머지 메모리 트랜지스터들은 이들의 연관된 워드라인들을 통해 확실히 턴 온 되므로 체인을 통해 흐르는 전류는 근본적으로 독출되는 셀에 저장된 전하의 레벨에 따른다. 메모리 시스템의 일부로서 NAND 구조 어레이 및 이의 동작의 예는 미국특허들 5,570,315, 5,774,397 및 6,046,935에서 볼 수 있다.
블록 소거
전하 저장 메모리 디바이스들의 프로그래밍은 이 디바이스의 전하 저장 소자들에 더 많은 전하를 부가하는 결과가 될 수 있을 뿐이다. 그러므로, 프로그램 동 작에 앞서, 전하 저장 소자 내 현존하는 전하는 제거되어야 한다(혹은 소거되어야 한다). 소거 회로들(도시생략)은 메모리 셀들의 하나 이상의 블록들을 소거하기 위해 제공된다. EEPROM과 같은 비휘발성 메모리는 전체 한 어레이의 셀들, 혹은 어레이의 상당수의 그룹들의 셀들이 함께(즉, 플래시로) 전기적으로 소거될 때 "플래시" EEPROM이라 한다. 일단 소거되면, 한 그룹의 셀들은 재-프로그램될 수 있다. 함께 소거될 수 있는 한 그룹의 셀들은 하나 이상의 어드레스가능한 소거단위로 구성될 수 있다. 통상적으로 소거단위 혹은 블록은 한 페이지 이상의 데이터를 저장하며, 페이지는 프로그래밍 및 독출단위이지만, 1이상의 페이지가 단일 동작으로 프로그램 또는 독출될 수도 있다. 통상적으로 각 페이지는 하나 이상의 섹터의 데이터를 저장하며, 섹터의 크기는 호스트 시스템에 의해 정의된다. 예로서는 자기 디스크 드라이브들에 확립된 표준에 따라, 한 섹터의 512 바이트의 사용자 데이터와, 이에 더하여 사용자 데이터 및/또는 이것이 저장되는 블록에 관한 몇 바이트들의 오버헤드 정보이다.
독출/기입 회로들
통상적인 2상태 EEPROM 셀에서, 도통 윈도우를 2개의 영역들로 분할하기 위해서 적어도 하나의 전류 구분 레벨이 정해진다. 소정의 고정된 전압들을 인가함으로써 셀이 독출될 때, 이의 소스/드레인 전류는 구분 레벨(혹은 기준 전류(IREF))과 비교함으로써 메모리 상태로 분해된다. 읽혀진 전류가 구분 레벨보다 높다면, 셀은 한 논리 상태(예를 들면, "0" 상태)에 있는 것으로 판정된다. 반면, 전류가 구분 레벨 미만이라면, 셀은 다른 논리 상태(예를 들면, "1" 상태)에 있는 것으로 판정된다. 이에 따라, 이러한 2상태 셀은 1비트의 디지털 정보를 저장한다. 외부에서 프로그램할 수 있는 기준 전류원은 흔히 구분 레벨 전류를 발생하기 위해 메모리 시스템의 일부로서 제공된다.
메모리 용량을 증가시키기 위해서, 플래시 EEPROM 디바이스들은 반도체 기술의 상태가 진보함에 따라 더욱 더 큰 밀도로 제조되고 있다. 저장용량을 증가시키는 또 다른 방법은 각각의 메모리 셀이 2 이상 상태들을 저장하게 하는 것이다.
복수-상태 혹은 복수-레벨 EEPROM 메모리 셀에 있어서, 도통 윈도우는 각 셀이 1비트 이상의 데이터를 저장할 수 있게 1이상 구분에 의해 2이상 영역들로 분할된다. 주어진 EEPROM 어레이가 저장할 수 있는 정보는 각 셀이 저장할 수 있는 상태들의 수에 따라 증가된다. 복수-상태 혹은 복수-레벨 메모리 셀들을 가진 EEPROM 혹은 플래시 EEPROM은 미국특허 5,172,338에 기술되어 있다.
실제로, 셀의 메모리 상태는 통상적으로 기준전압이 제어 게이트에 인가되었을 때 셀의 소스 전극 및 드레인 전극에 걸친 도통 전류를 감지함으로써 독출된다. 이와 같이 하여, 셀의 플로팅 게이트 상에 각각의 주어진 전하에 대해서, 고정된 기준 제어 게이트 전압에 관하여 대응하는 도통 전류가 검출될 수 있다. 유사하게, 플로팅 게이트에 프로그램될 수 있는 전하의 범위는 대응하는 임계 전압 윈도우 혹은 대응하는 도통 전류 윈도우를 정의한다.
대안적으로, 분할된 전류 윈도우 중의 도통 전류를 검출하는 대신에, 제어 게이트에 테스트 하에 주어진 메모리 상태에 대해 임계 전압을 설정하고 도통 전류가 임계 전류보다 낮거나 큰지를 검출하는 것이 가능하다. 한 구현에서, 임계 전류에 대한 도통 전류의 검출은 비트라인의 정전용량을 통해 도통 전류가 방전하는 레이트를 조사함으로써 달성된다.
도 4는 임의의 한 시간에 플로팅 게이트가 선택적으로 저장하고 있을 수 있는 4개의 서로 다른 전하들 Q1-Q4에 대해 소스-드레인 전류(ID)와 제어 게이트 전압(VCG)간에 관계를 도시한 것이다. 4개의 ID 대 VCG의 실선 곡선들은 4개의 가능한 메모리 상태들에 각각 대응하여, 메모리 셀의 플로팅 게이트에 프로그램될 수 있는 4개의 가능한 전하 레벨들을 나타낸다. 예로서, 일단의 셀들의 임계 전압 윈도우는 0.5V 내지 3.5V의 범위일 수 있다. 6개의 메모리 상태들은 각각 0.5V의 간격으로 임계 윈도우를 5개의 영역들로 분할함으로써 분할될 수 있다. 예를 들면, 도시된 바와 같이 2㎂의 기준전류(IREF)가 사용된다면, Q1으로 프로그램되는 셀은 이의 곡선이 VCG=0.5V 및 1.0V로 분할된 임계 윈도우의 영역에서 IREF와 교차하기 때문에 메모리 상태 "1"에 있는 것으로 간주될 수 있다. 유사하게, Q4는 메모리 상태 "5"에 있다.
위의 설명으로부터 알 수 있는 바와 같이, 저장하기 위해 메모리 셀이 더 많은 상태들을 만들수록, 이의 임계 윈도우는 더욱 미세하게 분할된다. 이것은 요구된 분해능을 달성할 수 있기 위해서 프로그래밍 및 독출동작들에 있어 더 큰 정밀도를 요구할 것이다.
미국특허 4,357,685는 셀이 주어진 상태로 프로그램될 때, 연속된 프로그래밍 전압 펄스들이 가해지고, 펄스마다 플로팅 게이트에 증가된 전하를 부가하는 2상태 EPROM을 프로그램하는 방법을 개시한다. 펄스들 사이에서, 셀은 구분 레벨에 대해 소스-드레인 전류를 판정하기 위해 다시 읽혀지거나 검증된다. 프로그래밍은 원하는 상태에 도달한 것으로 전류 상태가 검증되었을 때 중지한다. 사용되는 프로그래밍 펄스 열(train)은 증가하는 기간 혹은 진폭을 가질 수 있다.
종래 기술의 프로그래밍 회로들은 단순히 타겟 상태에 도달될 때까지 소거된 혹은 접지 상태로부터 임계 윈도우를 단계적으로 거치게 프로그래밍 펄스들을 인가한다. 실제로, 적합히 분해될 수 있게, 각각의 분할된 혹은 분리된 영역은 적어도 약 5개의 프로그래밍 단계들을 거칠 것을 요구할 것이다. 수행은 2상태 메모리 셀들에 대해선 수락될 수 있다. 그러나, 복수-상태 셀들에 대해서, 요구되는 단계 수는 분할 수에 따라 증가하며 따라서, 프로그래밍 정밀도 혹은 분해능은 증가되어야 한다. 예를 들면, 16-상태 셀은 타겟 상태로 프로그램하기 위해 평균하여 적어도 40 프로그래밍 펄스들을 요구할 수도 있다.
도 5는 행 디코더(130) 및 열 디코더(160)를 통해 독출/기입 회로들(170)에 의해 액세스될 수 있는 전형적인 배열의 메모리 어레이(100)를 구비한 메모리 디바이스를 개략적으로 도시한 것이다. 도 2 및 도 3에 관련하여 기술된 바와 같이, 메모리 어레이(100) 내 메모리 셀의 메모리 트랜지스터는 한 세트의 선택된 워드라인(들) 및 비트라인(들)을 통해 어드레스될 수 있다. 행 디코더(130)는 어드레스된 메모리 트랜지스터의 각각의 게이트들에 적합한 전압들을 인가하기 위해 하나 이상 의 워드라인들을 선택하며 열 디코더(160)는 하나 이상의 비트라인들을 선택한다. 독출/기입 회로들(170)은 어드레스된 메모리 트랜지스터의 메모리 상태들을 독출 혹은 기입(프로그램)하기 위해 제공된다. 독출/기입 회로들(170)은 어레이 내 메모리 소자들에 비트라인을 통해 접속될 수 있는 다수의 독출/기입 모듈들을 포함한다.
도 6a는 개개의 독출/기입 모듈(190)의 개략적인 블록도이다. 근본적으로, 독출 혹은 검증 동안에, 감지 증폭기는 선택된 비트라인을 통해 접속된 어드레스된 메모리 트랜지스터의 드레인을 통해 흐르는 전류를 판정한다. 전류는 메모리 트랜지스터에 저장된 전하 및 이의 제어 게이트 전압에 따른다. 예를 들면, 복수-상태 EEPROM 셀에서, 이의 플로팅 게이트는 몇 개의 서로 다른 레벨들 중 한 레벨로 충전될 수 있다. 4-레벨 셀에 있어서, 이것은 2비트의 데이터를 저장하는데 사용될 수 있다. 감지 증폭기에 의해 검출되는 레벨은 레벨을 비트로의 변환 로직에 의해 데이터 래치에 저장될 한 세트의 데이터 비트들로 변환된다.
독출/기입 수행 및 정확도에 영향을 미치는 요인들
독출 및 프로그램 수행을 향상시키기 위해서, 어레이 내 복수의 전하 저장 소자들 혹은 메모리 트랜지스터들은 병렬로 독출 혹은 프로그램된다. 이에 따라, 메모리 소자들의 논리 "페이지"는 함께 독출 혹은 프로그램된다. 현존의 메모리 구조들에서, 통상적으로 행은 몇몇의 인터리브된 페이지들을 내포한다. 페이지의 모든 메모리 소자들은 함께 독출 혹은 프로그램될 것이다. 열 디코더는 인터리브된 페이지들의 각각을 대응하는 수의 독출/기입 모듈들에 선택적으로 접속할 것이다. 예를 들면, 한 구현에서, 메모리 어레이는 532바이트(512바이트와 이에 더하여 20바이트의 오버헤드들)의 페이지 크기를 갖도록 설계된다. 각 열이 드레인 비트라인을 내포하고 행 당 2개의 인터리브된 페이지들이 있다면, 이것은 각 페이지가 4256 열들에 연관되어 전부 8512 열들에 이른다. 모든 우수 비트라인들 혹은 기수 비트라인들을 병렬로 독출 혹은 기입하기 위해 접속될 수 있는 4256 감지 모듈들이 있을 것이다. 이렇게 하여, 한 페이지의 4256비트들(즉, 532 바이트)의 데이터는 병렬로 한 페이지의 메모리 소자들로부터 독출 혹은 이들에 프로그램된다. 독출/기입 회로들(170)을 형성하는 독출/기입 모듈들은 다양한 구조들로 배열될 수 있다.
도 5를 참조하면, 독출/기입 회로들(170)은 뱅크들의 독출/기입 스택들(180)로 구성된다. 각각의 독출/기입 스택(180)은 한 스택의 독출/기입 모듈들(190)이다. 메모리 어레이에서, 열(column) 간격은 점유하는 하나 혹은 두 개의 트랜지스터들의 크기에 의해 결정된다. 그러나, 도 6a에서 알 수 있는 바와 같이, 독출/기입 모듈의 회로는 더 많은 트랜지스터들 및 회로 요소들로 구현될 것이며 따라서 많은 열들에 대한 공간을 점유할 것이다. 점유된 열들 중 1이상 열에 소용되기 위해서, 복수의 모듈들은 수직으로 적층된다.
도 6b는 통상적으로 한 스택의 독출/기입 모듈들(190)에 의해 구현되는 도 5의 독출/기입 스택을 도시한 것이다. 예를 들면, 독출/기입 모듈은 16개의 열들에 대해 확장할 수 있고, 한 스택의 8개의 독출/기입 모듈들을 구비한 독출/기입 스택(180)은 병렬로 8개의 열들에 작용하는데 사용될 수 있다. 독출/기입 스택은 열 디코더를 통해 뱅크 중에 8개의 기수(1, 3, 5, 7, 9, 11, 13, 15) 열들 혹은 8개의 우수(2, 4, 6, 8, 10, 12, 14, 16) 열들에 결합될 수 있다.
전에 언급된 바와 같이, 종래의 메모리 디바이스들은 한번에 모든 우수 혹은 모든 기수 비트라인들을 대량으로 병렬로 동작시킴으로써 독출/기입 동작들을 개선한다. 2개의 인터리브된 페이지들로 구성된 행의 이러한 구조는 한 블록의 독출/기입 회로들에 맞추는 문제를 완화시키는데 도움을 줄 것이다. 또한, 비트라인간 용량성 커플링을 고려함으로써 정해진다. 우수 페이지 혹은 기수 페이지에 한 세트의 독출/기입 모듈들을 멀티플렉싱하기 위해 블록 디코더가 사용된다. 따라서, 한 세트의 비트라인들이 독출 혹은 프로그램될 때마다, 인터리빙된 세트는 바로 옆 이웃 커플링을 최소화하기 위해 접지될 수 있다.
그러나, 인터리빙 페이지 구조는 적어도 3가지 면에서 단점이 있다. 먼저, 추가의 멀티플렉싱 회로를 요구한다. 두 번째로, 수행이 느리다. 워드라인에 의해 혹은 일렬로 연결된 메모리 셀들의 독출 혹은 프로그램을 마치기 위해서, 2번의 독출 혹은 2번의 프로그램 동작들이 요구된다. 세 번째로, 2개의 이웃들이 서로 다른 시간들에서, 이를테면 개별적으로 기수 및 우수 페이지들에서 프로그램될 때 플로팅 게이트 레벨에서 이웃한 전하 저장 소자들간의 필드 커플링과 같은 다른 교란 영향들을 해결함에 있어 최적이 아니다.
이웃 필드 커플링의 문제는 메모리 트랜지스터들간 더욱 더 근접한 간격에 의해 더욱 두드러지게 된다. 메모리 트랜지스터에서, 전하 저장 요소는 채널 영역과 제어 게이트간에 개재된다. 채널영역에 흐르는 전류는 제어 게이트에서의 필드 에 의해 기여되는 결과적인 전계와 전하 저장 요소와의 함수이다. 점점 더 증가하는 밀도에 의해, 메모리 트랜지스터들은 서로 더욱 더 가깝게 형성된다. 이웃한 전하 요소들로부터의 필드는 영향받는 셀의 결과적인 필드에의 현저한 기여자가 된다. 이웃한 필드는 이웃들의 전하 저장 요소들에 프로그램된 전하에 의존한다. 이러한 교란적 필드는 이웃들의 프로그램된 상태들에 따라 변하기 때문에 본질적으로 동적이다. 이에 따라, 영향받는 셀은 이웃들의 변하는 상태들에 따라 서로 다른 시간에서 다르게 독출될 수도 있다.
인터리빙 페이지의 종래의 구조는 이웃한 플로팅 게이트 커플링에 의해 야기되는 오류를 악화시킨다. 우수 페이지 및 기수 페이지는 서로 무관하게 프로그램되고 독출되기 때문에, 페이지는 한 세트의 상태 하에 프로그램될 수 있으나, 그러는 사이에, 개재된 페이지에서 일어난 것에 따라서, 전적으로 다른 한 세트의 상태 하에서 다시 독출될 수도 있다. 독출 오류는 증가하는 밀도에 따라 더욱 심해질 것이므로, 보다 정확한 독출 동작과 복수-상태 구현을 위한 임계 윈도우의 좀 큰 분할을 요구한다. 수행은 악화될 것이며 복수-상태 구현에서 잠재적 용량은 제한된다.
미국특허 공개 US-2004-0060031-Al은 대응하는 한 블록의 메모리 셀들을 병렬로 독출 및 기입하기 위한 큰 한 블록의 독출/기입 회로들을 구비한 고 성능이면서도 콤팩트한 비휘발성 메모리 디바이스를 개시한다. 특히, 메모리 디바이스는 한 블록의 독출/기입 회로들의 용장성을 최소한으로 감소시키는 구조를 갖는다. 파워뿐만 아니라 공간에 현저한 절약은 시간 다중 방식으로 실질적으로 더 작은 다수 세트들의 공통 부분들과 상호작용하게 하면서 한 블록의 독출/기입 모듈들을 병렬 로 동작하는 한 블록의 독출/기입 모듈 코어 부분들에 재분배함으로써 달성된다. 특히, 복수의 감지 증폭기들과 데이터 래치들간에 독출/기입 회로들간 데이터 처리는 공유된 프로세서에 의해 수행된다.
그러므로, 고성능 및 고용량 비휘발성 메모리에 대한 일반적인 필요성이 있다. 특히, 콤팩트하고 효율적이면서도 독출/기입 회로들간에 데이터 처리에 있어 매우 융통성이 있는 개선된 프로세서를 구비한 향상된 독출 및 프로그램 수행을 갖는 콤팩트한 비휘발성 메모리에 대한 필요성이 있다.
<발명의 요약>
발명의 한 면에 따라서, 내부 메모리가 이를테면 독출, 프로그램 혹은 소거와 같은 또 다른 동작에 관여되는 동안 데이터가 메모리에 혹은 메모리로부터 전송될 수 있게 하는 캐시 동작들이 제안된다. 특히, 이러한 캐시 동작들을 할 수 있게 하는 데이터 래치들의 배열들 및 이들의 사용 방법들이 기술된다.
데이터 래치들이 다수의 물리적 페이지들에 의해 공유되는 구조들이 기술된다. 예를 들면, 독출/기입 스택들은 복수의 워드라인들에 의해 공유되는 메모리의 비트라인들에 연관된다. 한 동작이 메모리에서 진행중인 동안, 이들 래치 중 어느 것이 확보된다면, 이들은 동일 혹은 또 다른 워드라인에서의 차후의 동작들을 위해 데이터를 캐시할 수 있어, 이것이 또 다른 동작 배후에 은닉될 수 있으므로 전송 시간을 절약한다. 이것은 서로 다른 동작들 혹은 동작들의 국면들을 파이프라인하는 량을 증가시킴으로써 수행을 향상시킬 수 있다. 일 예에서, 캐시 프로그램 동작에서, 한 페이지의 데이터를 프로그램하는 중에 또 다른 한 페이지의 데이터가 로 딩될 수 있어 전송 시간에 대해 절약할 수 있다. 또 다른 예에서, 한 전형적 실시예에서, 한 워드라인에 관한 독출 동작은 또 다른 워드라인에 관한 기입 동작에 삽입되어, 데이터 기입이 계속되는 중에 독출로부터의 데이터가 메모리로부터 전송될 수 있게 된다.
여러 면들에 따라서, 동일 블록 내, 그러나 다른 워드라인 상의 또 다른 페이지로부터 데이터는 기입 혹은 다른 동작이 제1 페이지의 데이터에 대해 진행중인 동안에 토글 아웃(toggle out)(예를 들면, ECC 동작을 행하기 위해)될 수 있다. 동작들의 이러한 국면간 파이프라인은 제1 페이지의 데이터에 관한 동작 배후에 데이터 전송에 필요한 시간이 은닉될 수 있게 한다. 보다 일반적으로, 이것은 또 다른, 전형적으로 더 긴, 동작의 국면들간에 한 동작의 일부가 삽입될 수 있게 한다. 또 다른 예는 이를테면 소거 펄스 전에 혹은 소거의 나중 부분으로서 사용되는 소프트 프로그래밍 국면 전에, 예를 들면 소거 동작의 국면들 사이에 감지 동작을 삽입하는 것이 될 것이다.
서로 다른 국면들을 가진 비교적 긴 동작이 수행되고 있다면, 래치들이 가용한 경우 독출/기입 스택들의 공유된 래치들을 사용하여 보다 신속한 동작에 주요 국면이 삽입할 것이다. 예를 들면, 독출은 프로그램 혹은 소거 동작에 삽입될 수 있고, 혹은 바이너리 프로그램은 소거에 삽입될 수 있다. 주요 전형적 실시예들은 동일한 독출 기입 스택들을 공유하는 또 다른 페이지에 대한 프로그램 동작 동안에 한 페이지에 대해 데이터를 토글 인(toggle in) 및/또는 토글 아웃할 것이며, 이 경우, 예를 들면, 토글 아웃되어 수정될 데이터의 독출은 데이터 기입의 검증 국면 에 삽입된다.
개방된 데이터 래치들의 이용성은 다수의 방법들로 생길 수 있다. 일반적으로, 셀 당 n 비트를 저장하는 메모리에 있어서, n개의 이러한 데이터 래치들이 각각의 비트라인마다 필요할 것이지만, 그러나, 이들 래치들 전부가 항시 필요한 것은 아니다. 예를 들면, 상위 페이지/하위 페이지 포맷으로 데이터를 저장하는 셀 당 2비트 메모리에서, 하위 페이지를 프로그램할 때 하나의 데이터 래치가 필요할 것이다(신속 패스 기입이 구현된다면 또 따른 래치가 사용된다). 2개의 데이터 래치들은 상위 페이지를 프로그램할 때 필요할 것이다(신속 패스 기입이 구현된다면 제3 래치가 사용된다). 보다 일반적으로, 복수의 페이지들을 저장하는 메모리들에 있어서, 모든 래치들은 최상위 페이지를 프로그램할 때만 필요할 것이다. 이것은 다른 래치들을 캐시 동작들에 사용될 수 있게 한다. 또한, 최상위 페이지를 기입하는 중에도, 기입 동작의 검증 국면으로부터 여러 가지 상태들이 제거되므로, 래치들은 확보될 것이다. 구체적으로, 일단 최상위의 상태만이 검증된 상태에 있게 되면, 단일의 래치만이 검증 목적에 필요하게 되고 다른 것들은 캐시 동작들을 위해 사용될 수 있다.
전형적 실시예는 셀당 2비트를 저장하며 각 비트라인 상의 데이터에 대해 2개의 래치들과 신속 패스 기입을 위한 하나의 추가의 래치를 구비하는 4상태 메모리에 기초한다. 하위 페이지를 기입하거나, 소거하거나, 사후 소거 소프트 프로그램을 행하는 동작들은 기본적으로 바이너리 동작이며 데이터를 캐시하기 위해 사용할 수 있는 데이터 래치들 중 하나를 확보하게 한다. 유사하게, 상위 페이지 혹은 완전 시퀀스 기입을 행하는 경우, 일단 거의 최상위의 레벨이 검증되었으면, 단일 상태만이 검증할 필요가 있고 메모리는 데이터를 캐시하는데 사용될 수 있는 래치를 확보할 수 있다. 이것이 어떻게 사용될 수 있는가의 예는 카피 동작에서와 같이 한 페이지를 프로그래밍할 때, 이를테면 동일한 세트의 비트라인들 상의 또 다른 워드라인과 같은, 동일한 세트의 데이터 래치들을 공유하는 또 다른 페이지의 독출은 프로그램 펄스와 기입의 검증 국면 사이에서 사라질 수 있다. 그러면 어드레스는 기입되는 페이지로 전환될 수 있어, 다시 시작해야 할 필요없이 기입 프로세스가 그만둔 곳을 찾아낼 수 있게 된다. 기입이 계속되는 중에, 삽입된 독출동안 캐시된 데이터는 토글 아웃되거나, 체크되거나 혹은 수정되어 일단 전의 기입 동작이 완료되면 다시 기입을 위해 현존하여 있을 수 있게 다시 전송될 수 있다. 이러한 종류의 캐시 동작은 제2 페이지의 데이터의 토글 아웃 및 수정을 제1 페이지의 프로그래밍 배후에 은닉될 수 있게 한다.
본 발명의 추가의 특징들 및 이점들은 이의 바람직한 실시예들의 다음의 설명으로부터 이해될 것이며, 이 설명은 첨부한 도면들과 함께 취해질 것이다.
도 1a-1e는 비휘발성 메모리 셀들의 서로 다른 예들을 개략적으로 도시한 것이다.
도 2는 NOR 어레이의 메모리 셀들의 예를 도시한 것이다.
도 3은 도 1d에 도시된 것과 같은 NAND 어레이의 메모리 셀들의 예를 도시한 것이다.
도 4는 플로팅 게이트가 임의의 한 시간에 저장하고 있을 수 있는 4개의 서로 다른 전하들 Q1-Q4에 대해 소스-드레인 전류와 제어 게이트 전압간에 관계를 도시한 것이다.
도 5는 행 및 열 디코더들을 통해 독출/기입 회로들에 의해 액세스될 수 있는 메모리 어레이의 전형적인 배열을 개략적으로 도시한 것이다.
도 6a는 개개의 독출/기입 모듈의 개략적인 블록도이다.
도 6b는 종래에 한 스택의 독출/기입 모듈들에 의해 구현되는 도 5의 독출/기입 스택을 도시한 것이다.
도 7a는 본 발명의 개선된 프로세서가 구현되는, 한 뱅크의 분할된 독출/기입 스택들을 구비한 콤팩트한 메모리 디바이스를 개략적으로 도시한 것이다.
도 7b는 도 7a에 도시된 콤팩트한 메모리 디바이스의 바람직한 배열을 도시한 것이다.
도 8은 도 7a에 도시된 독출/기입 스택 내 기본 성분들의 일반적인 배열을 개략적으로 도시한 것이다.
도 9는 도 7a 및 도 7b에 도시된 독출/기입 회로들간에 독출/기입 스택들의 한 바람직한 배열을 도시한 것이다.
도 10은 도 9에 도시된 공통 프로세서의 개선된 실시예를 도시한 것이다.
도 11a는 도 10에 도시된 공통 프로세서의 입력 로직의 바람직한 실시예를 도시한 것이다.
도 11b는 도 11a의 입력 로직의 진리표를 도시한 것이다.
도 12a는 도 10에 도시된 공통 프로세서의 출력 로직의 바람직한 실시예를 도시한 것이다.
도 12b는 도 12a의 출력 로직의 진리표를 도시한 것이다.
도 13은 본 발명의 2비트 실시예에서 본 논의에 관계된 일부 특정의 요소들을 나타낸 도 10을 간이화한 도면이다.
도 14는 하위 페이지 데이터가 독출되는 상위 페이지 프로그램을 위한 도 13과 동일한 요소들에 대한 래치 할당을 나타낸 것이다.
도 15는 단일 페이지 모드에서 캐시 프로그램의 면들을 도시한 것이다.
도 16은 하위 페이지에서 완전 시퀀스로의 전환에서 사용될 수 있는 프로그래밍 파형을 도시한 것이다.
도 17은 완전 시퀀스 전환에 의한 캐시 프로그램 동작에서 상대적 타이밍을 도시한 것이다.
도 18은 캐시 페이지 카피 동작에서 래치들의 사용을 기술한 것이다.
도 19a 및 도 19b는 캐시 페이지 카피 동작들에서 상대적 타이밍들을 도시한 것이다.
도 7a는 본 발명의 개선된 프로세서가 구현되는, 한 뱅크의 분할된 독출/기입 스택들을 구비한 콤팩트한 메모리 디바이스를 개략적으로 도시한 것이다. 메모리 디바이스는 2차원 어레이의 메모리 셀들(300), 제어 회로(310), 및 독출/기입 회로들(370)을 포함한다. 메모리 어레이(300)는 행 디코더(330)를 통해서 워드라인 들에 의해서 그리고 열 디코더(360)를 통해서 비트라인들에 의해 어드레스될 수 있다. 독출/기입 회로들(370)은 한 뱅크의 분할된 독출/기입 스택들(400)로서 구현되고 한 블록("페이지"라고도 함)의 메모리 셀들이 병렬로 독출 혹은 프로그램되게 한다. 바람직한 실시예에서, 페이지는 인접한 한 행의 메모리 셀들로부터 구성된다. 한 행의 메모리 셀들이 복수의 블록들 혹은 페이지들로 분할되는 또 다른 실시예에서, 독출/기입 회로들(370)을 개개의 블록들에 멀티플렉싱하기 위해 블록 멀티플렉서(350)가 제공된다
제어회로(310)는 메모리 어레이(300)에 대해서 메모리 동작들을 수행하기 위해 독출/기입회로들(370)과 협동한다. 제어회로(310)는 상태 머신(312), 온-칩 어드레스 디코더(314) 및 파워 제어 모듈(316)을 포함한다. 상태 머신(312)은 메모리 동작들의 칩 레벨 제어를 제공한다. 온-칩 어드레스 디코더(314)는 디코더들(330, 370)에 의해 사용되는 하드웨어 어드레스와 호스트 혹은 메모리 제어기에 의해 사용되는 것간에 어드레스 인터페이스를 제공한다. 파워 제어 모듈(316)은 메모리 동작들 동안 워드라인들 및 비트라인들에 공급되는 파워 및 전압들을 제어한다.
도 7b는 도 7a에 도시된 콤팩트한 메모리 디바이스의 바람직한 구성을 도시한 것이다. 다양한 주변회로들에 의한 메모리 어레이(300)에의 액세스는 각 측 상의 액세스 라인들 및 회로가 반으로 감소되게 어레이의 서로 대향한 양측에서, 대칭으로 이행된다. 이에 따라, 행 디코더는 행 디코더들(330A, 330B)로 분할되고 열 디코더는 열 디코더들(360A, 360B)로 분할된다. 한 행의 메모리 셀들이 복수의 블록들로 분할된 실시예에서, 블록 멀티플렉서(350)는 블록 멀티플렉서들(350A, 350B)로 분할된다. 마찬가지로, 독출/기입 회로들은 어레이(300)의 하부로부터 비트라인들에 연결하는 독출/기입 회로들(370A) 및 어레이(300)의 상부로부터 비트라인들에 연결하는 독출/기입회로들(370B)로 분할된다. 이렇게 하여, 독출/기입 모듈들의 밀도, 따라서, 분할된 독출/기입 스택들(400)의 밀도는 근본적으로 반만큼 감소된다.
도 8은 도 7a에 도시된 독출/기입 스택 내 기본 구성성분들의 일반적인 배열을 개략적으로 도시한 것이다. 발명의 일반적인 구조에 따라서, 독출/기입 스택(400)은 k 비트라인들을 감지하기 위한 한 스택의 감지 증폭기들(212), I/O 버스(231)를 통해 데이터의 입력 혹은 출력을 위한 I/O 모듈(440), 입력 혹은 출력 데이터를 저장하기 위한 한 스택의 데이터 래치들(430), 독출/기입 스택(400) 간에 데이터를 처리하여 저장하기 위한 공통 프로세서(500), 및 스택 구성성분들간에 통신을 위한 스택 버스(421)를 포함한다. 독출/기입 회로들(370)간에 스택 버스 제어기는 독출/기입 스택들간에 다양한 구성성분들을 제어하기 위해 라인들(411)을 통해 제어 및 타이밍 신호들을 제공한다.
도 9는 도 7a 및 도 7b에 도시된 독출/기입 회로들간에 독출/기입 스택들의 한 바람직한 배열을 도시한 것이다. 각각의 독출/기입 스택(400)은 한 그룹의 k 비트라인들에 대해 병렬로 동작한다. 한 페이지가 p=r*k 비트라인들을 갖는다면, r개의 독출/기입 스택들(400-1, ..., 400-r)이 있을 것이다.
병렬로 동작하는 전체 한 뱅크의 분할된 독출/기입 스택들(400)은 한 행을 따른 한 블록(혹은 페이지)의 p개의 셀들이 병렬로 독출 혹은 프로그램될 수 있게 한다. 이에 따라, 전체 한 행의 셀들을 위한 p 개의 독출/기입 모듈들이 있을 것이다. 각각의 스택이 k개의 메모리 셀들에 사용되고 있을 때, 뱅크 내 기입/독출 스택들의 총 수는 r=p/k에 의해 주어진다. 예를 들면, r이 뱅크 내 스택들의 수이라면, p=r*k이 된다. 한 예로서의 메모리 어레이는 p=512 바이트들(512x8 비트들), k=8을 가질 것이며 따라서, r=512이 된다. 바람직한 실시예에서, 블록은 연속한 전체 한 행의 셀들이다. 또 다른 실시예에서, 블록은 행 내 셀들의 부분집합이다. 예를 들면, 한 부분집합의 셀들은 전체 한 행의 1/2일 수도 있을 것이고 전체 한 행의 1/4일 수도 있을 것이다. 한 부분집합의 셀들은 연속된 이웃한 셀들 혹은 한 모든 다른 셀, 혹은 한 모든 소정 수의 셀들일 수도 있을 것이다.
이를테면 400-1과 같은 각각의 독출/기입 스택은 근본적으로, 한 세그먼트의 k개의 메모리 셀들에 병렬로 작용하는 한 스택의 감지 증폭기들(212-1 내지 212-k)을 내포한다. 바람직한 감지 증폭기는 개시된 바 전체를 여기 참조로 포함시키는 미국특허 공개 2004- 0109357-A1에 개시되어 있다.
스택 버스 제어기(410)는 라인들(411)을 통해 독출/기입 회로(370)에 제어 및 타이밍 신호들을 제공한다. 스택 버스 제어기는 자체가 라인들(311)을 통해 메모리 제어기(310)에 의존한다. 각 독출/기입 스택(400) 간 통신은 상호접속하는 스택 버스(431)에 의해 달성되고 스택 버스 제어기(410)에 의해 제어된다. 제어 라인들(411)은 스택 버스 제어기(410)로부터의 제어 및 클럭신호들을 독출/기입 스택들(400-1)의 성분들에 제공한다.
바람직한 실시예에서, 스택 버스는 공통 프로세서(500)와 한 스택의 감지 증 폭기들(212)간 통신을 위한 SABus(422), 및 프로세서와 한 스택의 데이터 래치들(430)간 통신을 위한 DBus(423)로 분할된다.
한 스택의 데이터 래치들(430)은 스택에 연관된 각 메모리 셀에 하나씩의 데이터 래치들(430-1 내지 430-k)로 구성된다. I/O 모듈(440)은 데이터 래치들이 I/O 버스(231)를 통해 외부와 데이터를 교환할 수 있게 한다.
또한, 공통 프로세서는 이를테면 오류 상태와 같은, 메모리 동작 상태를 나타내는 상태 신호의 출력을 위한 출력(507)을 포함한다. 상태 신호는 결선된 OR(Wired-Or) 구성으로 FLAG BUS(509)에 의해 결합된 n-트랜지스터(550)의 게이트를 구동하는데 사용된다. FLAG BUS는 바람직하게는 제어기(310)에 의해 프리차지되고, 상태신호가 독출/기입 스택들의 어느 것에 의해 나타나게 되었을 때 풀 다운될 것이다.
도 10은 도 9에 도시된 공통 프로세서의 개선된 실시예를 도시한 것이다. 공통 프로세서(500)는 프로세서 버스, 외부 회로들과 통신을 위한 PBUS(505), 입력 로직(510), 프로세서 래치 PLatch(520) 및 출력 로직(530)을 포함한다.
입력 로직(510)은 PBUS로부터 데이터를 수신하고, 신호라인들(411)을 통해 스택 버스 제어기(410)로부터의 제어신호들에 따라 논리 상태들 "1", "0" 혹은 "Z"(플로팅) 중 하나로 변환된 데이터로서 BSI 노드에 출력한다. 그러면, Set/Reset 래치인 PLatch(520)는 BSI를 래치하여, 한 쌍의 상보 출력신호들 MTCH 및 MTCH*가 된다.
출력 로직(530)은 MTCH 및 MTCH* 신호들을 수신하고, 신호라인들(411)을 통 해 스택 버스 제어기(410)로부터의 제어신호들에 따라 논리 상태들 "1", "0" 혹은 "Z"(플로팅) 중 하나로 변환된 데이터를 PBUS(505) 상에 출력한다.
임의의 한 시간에 공통 프로세서(500)는 주어진 메모리 셀에 관계된 데이터를 처리한다. 예를 들면, 도 10은 비트라인 1에 결합된 메모리 셀의 경우를 도시한 것이다. 대응하는 감지 증폭기(212-1)는 감지 증폭기 데이터가 나타나는 노드를 포함한다. 바람직한 실시예에서, 노드는 데이터를 저장하는 SA 래치(214-1) 형태를 취한다. 유사하게, 대응하는 한 세트의 데이터 래치들(430-1)은 비트라인 1에 결합된 메모리 셀에 연관된 입력 혹은 출력 데이터를 저장한다. 바람직한 실시예에서, 한 세트의 데이터 래치들(430-1)은 n비트들의 데이터를 저장하기 위한 충분한 데이터 래치들(434-1, ...,434-n)을 포함한다.
공통 프로세서(500)의 PBUS(505)는 한 쌍의 상보 신호들(SAP, SAN)에 의해 전송 게이트(501)가 활성화되었을 때 SBUS(422)를 통해 SA 래치(214-1)에 액세스할 수 있다. 유사하게, PBUS(505)는 한 쌍의 상보 신호들(DTP, DTN)에 의해 전송 게이트(502)가 활성화되었을 때 DBUS(423)를 통해 한 세트의 데이터 래치(430-1)에 액세스할 수 있다. 신호들(SAP, SAN, DTP, DTN)은 스택 버스 제어기(410)로부터의 제어신호들의 일부로서 명시적으로 도시되었다.
도 11a는 도 10에 도시된 공통 프로세서의 입력 로직의 바람직한 실시예를 도시한 것이다. 입력 로직(520)은 PBUS(505) 상에 데이터를 수신하고, 제어신호들에 따라, 동일하거나, 반전되거나, 혹은 플로팅된 출력 BSI를 갖는다. 출력 BSI 노드는 근본적으로 전송 게이트(522) 혹은 Vdd에 직렬의 p-트랜지스터들(524, 525)을 포함하는 풀-업 회로, 혹은 접지에 직렬의 n-트랜지스터들(526, 527)을 포함하는 풀-다운 회로의 어느 한 출력에 의해 영향을 받는다. 풀-업 회로는 각각 신호들(PBUS 및 ONE)에 의해 제어되는 p-트랜지스터(524, 525)의 게이트들을 갖는다. 풀-다운 회로는 각각 신호들 ONEB<1> 및 PBUS에 의해 제어되는 n-트랜지스터들(526, 527)의 게이트들을 갖는다.
도 11b는 도 11a의 입력 로직의 진리표를 도시한 것이다. 로직은 PBUS 및 스택 버스 제어기(410)로부터의 제어신호들의 일부인 제어 신호들 ONE, ONEB<0>, ONEB<1>에 의해 제어된다. 근본적으로, 3개의 전송 모드들로서, PASSTHROUGH, INVERTED, 및 FLOATED이 지원된다.
BSI가 입력 데이터와 동일한 PASSTHROUGH의 경우에 있어서, 신호들 ONE은 논리 "1", ONEB<0>은 "0", ONEB<1>은 "0"에 있다. 이것은 풀-업 혹은 풀-다운을 비활성화시킬 것이지만 PBUS(505) 상의 데이터를 출력(523)에 전달하기 위해 전송 게이트(522)를 활성화활 것이다. BSI가 입력 데이터의 반전인 IVNERTED 모드의 경우에, 신호들 ONE은 "0", ONEB<0>은 "1", ONE<1>은 "1"에 있다. 이것은 전송 게이트(522)를 비활성화시킬 것이다. 또한, PBUS가 "0"에 있을 때, 풀-다운 회로는 비활성화될 것이며 풀-업 회로는 활성화되어 BSI는 "1"에 있게 된다. 유사하게, PBUS가 "1"에 있을 때, 풀-업 회로는 비활성화되고 풀-다운 회로는 활성화되어, BSI는 "0"에 있게 된다. 마지막으로, FLOATED 모드의 경우에, 출력 BSI는 신호들 "1"의 ONE, "1"의 ONEB<0>, "0"의 ONEB<1>을 갖는 것에 의해 플로팅될 수 있다. FLOATED 모드는 실제로는 사용되지 않을지라도, 완전함을 위해 리스트되어 있다.
도 12a는 도 10에 도시된 공통 프로세서의 출력 로직의 바람직한 실시예를 도시한 것이다. 입력 로직(520)으로부터의 BSI 노드에 신호는 프로세서 래치 PLatch(520)에 래치된다. 출력 로직(530)은 PLatch(520)로부터 데이터 MTCH 및 MTCH*를 수신하며 제어신호들에 따라, PASSTHROUGH, INVERTED 혹은 FLOATED 모드 중 어느 하나에서처럼 PBUS 상에 출력한다. 즉, 4개의 브랜치들은 PBUS(505)에 대해 드라이버들로서 작용하며, 이를 유효하게 HIGH, LOW 혹은 FLOATED의 어느 한 상태가 되게 한다. 이것은 PBUS(505)에 대한 4개의 브랜치 회로들, 즉 2개의 풀-업 및 2개의 풀-다운 회로들에 의해 달성된다. 제1 풀-업 회로는 Vdd와 직렬의 p-트랜지스터들(531, 532)을 포함하고, MTCH가 "0"에 있을 때 PBUS를 풀업할 수 있다. 제2 풀-업 회로는 접지에 직렬의 p-트랜지스터들(533, 534)을 포함하고 MTCH가 "1"에 있을 때 PBUS를 풀업할 수 있다. 유사하게, 제1 풀-다운 회로는 Vdd에 직렬의 n-트랜지스터들(535, 536)을 포함하고 MTCH가 "0"에 있을 때 PBUS를 풀 다운할 수 있다. 제2 풀-업 회로는 접지에 직렬의 n-트랜지스터들(537, 538)을 포함하고 MTCH가 "1"에 있을 때 PBUS를 풀업할 수 있다.
발명의 한 특징은 PMOS 트랜지스터들로 풀-업 회로들과 NMOS 트랜지스터들로 풀-다운 회로들을 구성하는 것이다. NMOS에 의한 풀(pull)은 PMOS에 의한 것보다는 훨씬 강력하기 때문에, 풀-다운은 항시 어떠한 경합들에서도 풀-업을 압도할 것이다. 즉, 노드 혹은 버스는 항시 풀-업 혹은 "1" 상태로 내정할 수 있으나, 원한다면 풀다운에 의해 "0" 상태로 항시 반대가 되게 할 수 있다.
도 12b는 도 12a의 출력 로직의 진리표를 도시한 것이다. 로직은 입력 로직 으로부터 래치된 MTCH, MTCH* 및 스택 버스 제어기(410)로부터의 제어신호들의 일부인 제어신호들 PDIR, PINV, NDIR, NINV에 의해 제어된다. 4개의 동작 모드들로서 PASSTHROUGH, INVERTED, FLOATED, 및 PRECHARGE이 지원된다.
FLOATED 모드에서, 모든 4개의 브랜치들은 비활성화된다. 이것은 내정된 값들인 신호들 PINV=1, NINV=0, PDIR=1, NDIR=0로 함으로써 달성된다. PASSTHROUGH 모드에서, MTCH=0일 때, PBUS=0을 요구할 것이다. 이것은 NDIR=1을 제외하고 모든 제어 신호들을 이들의 내정된 값들에 있게 하고, n-트랜지스터들(535, 536)을 구비한 풀-다운 브랜치만을 활성화함으로써 달성된다. MTCH=1일 때, PBUS=1일 것을 요구할 것이다. 이것은 PINV=0을 제외하고 모든 제어신호들을 이들의 내정된 값들에 있게 하고, p-트랜지스터들(533, 534)을 구비한 풀-업 브랜치만을 활성화함으로써 달성된다. INVERTED 모드에서, MTCH=0일 때, PBUS=1일 것을 요구할 것이다. 이것은 PDIR=0을 제외하고 모든 제어신호들을 이들의 내정된 값들에 있게 하고, p-트랜지스터들(531, 532)을 구비한 풀-업 브랜치만을 활성화함으로써 달성된다. MTCH=1일 때, PBUS=0일 것을 요구할 것이다. 이것은 NINV=1을 제외하고 모든 제어신호들을 이들의 내정된 값들에 있게 하고, n-트랜지스터들(537, 538)을 구비한 풀-다운 브랜치만을 활성화함으로써 달성된다. PRECHARGE 모드에서, PDIR=0 및 PINV=0의 제어 신호 설정들은 MTCH=0일 때 p-트랜지스터들(531, 531)을 구비한 풀-업 브랜치를 활성화하거나 MTCH=0일 때 p-트랜지스터들(533, 534)을 구비한 풀-업 브랜치를 활성화할 것이다.
공통 프로세서 동작들은 전부를 참조로 여기 포함시키는 2004년 12월 29일 미국특허 출원번호 11/026,536에 보다 완전하게 전개되어 있다.
캐시 동작들에서의 데이터 래치들의 사용
본 발명의 다수의 면들은 내부 메모리가 이를테면 독출, 기입 혹은 소거와 같은 다른 동작들을 행하고 있는 중에 데이터를 입력 혹은 출력할 캐시 동작들을 위해 도 10에 위에 기술된 독출/기입 스택들의 데이터 래치들을 이용한다. 위에 기술된 구조들에서, 데이터 래치들은 다수의 물리적 페이지들에 의해 공유된다. 예를 들면, 비트라인들의 독출/기입 스택들에서, 모든 워드라인들에 의해 공유될 때, 따라서 한 동작이 진행되고 있는 중에, 이들 래치들 중 어느 것이든 확보할 경우, 이들은 동일 혹은 또 다른 워드라인에서의 후속 동작들을 위해 데이터를 캐시할 수 있고, 이것이 또 다른 동작 배후로 은닉될 수 있으므로 전송 시간을 절약한다. 이것은 서로 다른 동작들 혹은 동작들의 국면들을 파이프라인하는 량을 증가시킴으로써 수행을 향상시킬 수 있다. 한 예에서, 캐시 프로그램 동작에서, 한 페이지의 데이터를 프로그램하는 중에 또 다른 한 페이지의 데이터가 로딩될 수 있어 전송 시간을 절약한다. 또 다른 예에서, 한 전형적인 실시예에서, 한 워드라인에 관한 독출 동작은 또 다른 워드라인에 관한 기입 동작에 삽입되고, 따라서 데이터 기입이 계속되는 중에 독출로부터의 데이터가 메모리로부터 전송될 수 있게 된다.
동일 블록 내 또 다른 페이지로부터, 그러나 다른 워드라인 상의 데이터는, 제1 페이지의 데이터에 대해 기입 혹은 다른 동작이 계속되는 중에 토글 아웃(예를 들면, ECC 동작을 행하기 위해)될 수 있는 것에 유의한다. 동작들의 이러한 국면간 파이프라인은 데이터 전송에 필요한 시간이 제1 페이지의 데이터에 관한 동작 배후로 은닉될 수 있게 한다. 보다 일반적으로, 이것은 한 동작의 부분이 또 다른, 통상적으로 더 긴, 동작의 국면들 사이에 삽입될 수 있게 한다. 또 다른 예는 이를테면 소거 펄스 전에 혹은 소거의 나중 부분으로서 사용되는 소프트 프로그래밍 국면 전에와 같이, 예를 들면 소거 동작의 국면들 사이에 감지 동작을 삽입하는 것이 될 것이다.
동작들의 일부에 대해 필요한 상대적 시간들을 논의하기 위해서, 위에 기술된 시스템에 대한 한 세트의 전형적인 시간 값들이 다음과 같이 취해질 수 있다.
데이터 기입: ~700㎲(하위 페이지~600㎲, 상위 페이지 800㎲)
바이너리 데이터 기입: ~200㎲
소거: ~2,500㎲
독출: ~20-40㎲
데이터 독출 및 토글 아웃: 2KB 데이터, ~80㎲; 4KB ~160㎲; 8KB ~320㎲
이들 값들은 이하 타이밍도들에 연루된 상대 시간들을 알게 하기 위해 참조로 사용될 수 있다. 서로 다른 국면들을 가진 긴 동작이 있다면, 래치들이 가용한 경우 독출/기입 스택들의 공유된 래치들을 사용하여 보다 신속한 동작에 주요 국면이 삽입할 것이다. 예를 들면, 독출은 프로그램 혹은 소거 동작에 삽입될 수 있고, 혹은 바이너리 프로그램은 소거에 삽입될 수 있다. 주요 전형적 실시예들은 동일한 독출 기입 스택들을 공유하는 또 다른 페이지에 대한 프로그램 동작 동안에 한 페이지에 대해 데이터를 토글 인 및/또는 토글 아웃할 것이며, 이 경우, 예를 들면, 토글 아웃되어 수정될 데이터의 독출은 데이터 기입의 검증 국면에 삽입된다.
개방된 데이터 래치들의 이용성은 다수의 방법들로 생길 수 있다. 일반적으로, 셀 당 n 비트를 저장하는 메모리에 있어서, n개의 이러한 데이터 래치들이 각각의 비트라인마다 필요할 것이지만, 그러나, 이들 래치들 전부가 항시 필요한 것은 아니다. 예를 들면, 상위 페이지/하위 페이지 포맷으로 데이터를 저장하는 셀 당 2비트 메모리에서, 하위 페이지를 프로그램할 때 2개의 데이터 래치들이 필요할 것이다. 보다 일반적으로, 복수의 페이지들을 저장하는 메모리들에 있어서, 모든 래치들은 최상위의 페이지를 프로그램할 때만 필요할 것이다. 이것은 다른 래치들을 캐시 동작들에 사용될 수 있게 한다. 또한, 최상위의 페이지를 기입하는 중에도, 기입 동작의 검증 국면으로부터 여러 가지 상태들이 제거되므로, 래치들은 확보될 것이다. 구체적으로, 일단 최상위의 상태만이 검증된 상태에 있게 되면, 단일의 래치만이 검증 목적에 필요하게 되고 다른 것들은 캐시 동작들을 위해 사용될 수 있다.
다음의 논의는 위에서 포함되었던 본원과 동시에 출원된 "Use of Data Latches in Multi-Phase Programming of Non- Volatile Memories" 명칭의 미국특허출원에 기술된 바와 같이, 셀당 2비트를 저장하며 각 비트라인 상의 데이터에 대해 2개의 래치들과 신속 패스 기입을 위한 하나의 추가의 래치를 구비하는 4상태 메모리에 기초할 것이다. 하위 페이지를 기입하거나, 소거하거나, 사후 소거 소프트 프로그램을 행하는 동작들은 기본적으로 바이너리 동작이며 데이터를 캐시하기 위해 사용할 수 있는 데이터 래치들 중 하나를 확보하게 한다. 유사하게, 상위 페이지 혹은 완전 시퀀스 기입을 행하는 경우, 일단 거의 최상위의 레벨이 검증되었으면, 단일 상태만이 검증할 필요가 있고 메모리는 데이터를 캐시하는데 사용될 수 있는 래치를 확보할 수 있다. 이것이 어떻게 사용될 수 있는가의 예는 카피 동작에서와 같이 한 페이지를 프로그래밍할 때, 이를테면 동일한 한 세트의 비트라인들 상의 또 다른 워드라인과 같은, 동일한 한 세트의 데이터 래치들을 공유하는 또 다른 페이지의 독출은 기입의 검증 국면 동안에 사라질 수 있다. 그러면 어드레스는 기입되는 페이지로 전환될 수 있어, 다시 시작해야 할 필요없이 기입 프로세스가 그만둔 곳을 찾아낼 수 있게 된다. 기입이 계속되는 중에, 삽입된 독출동안 캐시된 데이터는 토글 아웃되거나, 체크되거나 혹은 수정되어, 전의 기입 동작이 일단 완료되면, 다시 기입을 위해 현존하여 있을 수 있게 다시 전송될 수 있다. 이러한 종류의 캐시 동작은 제2 페이지의 데이터의 토글 아웃 및 수정을 제1 페이지의 프로그래밍 배후에 은닉될 수 있게 한다.
제1 예로서, 단일 페이지(하위 페이지/상위 페이지 포맷) 프로그램 모드에서 동작하는 2비트 메모리에 대한 캐시 프로그램 동작이다. 도 13은 2비트 실시예에서 본 논의에 관계된 일부 특정의 요소들을 도시한 도 10을 간이화한 것으로, 다른 요소들은 논의를 단순화하기 위해서 삭제되었다. 이들은 데이터 I/O 라인(231)에 접속된 데이터 래치 DL0(434-0), 라인(423)에 의해 공통 프로세서(500)에 접속된 데이터 래치 DL1(434-1), 라인(435)에 의해 다른 데이터 래치들에 공통으로 접속된 데이터 래치 DL2(434-2), 및 라인(422)에 의해 공통 프로세서(500)에 접속된 감지 증폭기 데이터 래치 DLS(214)를 포함한다. 도 13의 여러 요소들은 하위 페이지의 프로그래밍 동안 그들의 사용에 따라 표기되었다. 래치 DL2(434-2)는 본원과 동시에 출원된 "Use of Data Latches in Multi-Phase Programming of Non-Volatile Memories" 명칭의 미국특허출원에 기술된 바와 같이, 신속 패스 기입 모드에서 하위 검증(VL)을 위해 사용되며, 레지스터를 포함하는 것과, 이것이 포함될 때 신속 패스 기입을 사용하는 것을 포함하는 것은 선택적인 것이지만 본 실시예는 이 레지스터를 포함할 것이다.
하위 페이지의 프로그래밍은 다음 단계들을 포함할 수 있다.
(1) 프로세스는 데이터 래치들 DL0(434-0)을 내정값 "1"로 재설정함으로써 시작한다. 이러한 관례는 프로그램되지 않아야 할 선택된 행 내의 셀들이 프로그램 금지될 때 부분적 페이지 프로그래밍을 단순화하는데 사용된다.
(2) 프로그램 데이터는 I/O 라인(231)을 따라 DL0(434-0)에 공급된다.
(3) 프로그램 데이터는 DL1(434-1) 및 DL2(434-2)에 전송될 것이다(이 래치가 포함되고 신속 패스 기입이 구현된다면).
(4) 일단 프로그램 데이터가 DL1(434-1)에 전송되면, 데이터 래치 DL0(434-0)은 "1"로 재설정될 수 있고, 프로그램 시간 동안, 다음 데이터 페이지가 I/O 라인(231)을 따라 DL0(434-0)에 로딩될 수 있어, 제1 페이지가 기입되고 있는 중에 제2 페이지가 캐시될 수 있다.
(5) 일단 제1 페이지가 DL1(434-1)에 로딩되면, 프로그래밍은 시작할 수 있다. DL1(434-1) 데이터는 차후 프로그래밍으로부터 셀을 로크아웃(lockout)하는데 사용된다. DL2(434-2) 데이터는 본원과 동시에 출원된 "Use of Data Latches in Multi-Phase Programming of Non- Volatile Memories" 명칭의 미국특허출원에 기술된 바와 같이, 신속 패스 기입의 제2 국면으로의 천이를 제어하는 하위 검증 로크아웃에 사용된다.
(6) 일단 프로그래밍이 시작되면, 프로그래밍 펄스 후에, 하위 검증의 결과는 DL2(434-2)를 업데이트하는데 사용되며, 상위 검증의 결과는 DL1(434-1)을 업데이트하는데 사용된다. (이 논의는 "통상적(conventional)" 코딩에 기초하며, 여기서 하위 페이지 프로그래밍은 A 상태에 대한 것이다. 이 코딩, 및 다른 코딩들은 본원과 동시에 출원된 "Use of Data Latches in Multi-Phase Programming of Non- Volatile Memories" 명칭의 미국특허출원 및 2005년 3월 16일에 출원된 "Non- Volatile Memory and Method with Power-Saving Read and Program- Verify Operations" 명칭의 미국특허출원에 더 논의되어 있다. 다른 코딩들로의 본 논의의 확장은 쉽게 행해진다.)
(7) 프로그래밍이 완료되었는지를 판정함에 있어, 행의 셀들의 DL1(434-1) 레지스터들만(혹은 프로그램의 적합한 물리적 단위)이 체크된다.
일단 하위 페이지가 기입되면, 상위 페이지가 프로그램될 수 있다. 도 14는 도 13과 동일한 요소들을 보이고 있으나, 하위 페이지 데이터가 읽어들여진 상위 페이지 프로그램을 위한 래치 할당을 나타내고 있다. (본 설명은 다시 통상적 코딩을 사용하므로 상위 페이지의 프로그래밍은 B 및 C 상태들에 대한 것이다). 상위 페이지의 프로그래밍은 다음의 단계들을 포함할 수 있다.
(1) 일단 하위 페이지가 프로그래밍을 마쳤으면, (미실행된) 캐시 프로그램 명령들이 유지되어 있는 상태 머신 제어기로부터의 신호에 의해 상위 페이지(혹은 다음 페이지) 기입이 시작될 것이다.
(2) 프로그램 데이터는 DL0(434-0)(하위 페이지 기입 동안 단계(4)에서 로딩되어 있는)에서 DL1(434-1) 및 DL2(434-2)로 전송될 것이다.
(3) 하위 페이지 데이터는 어레이로부터 읽어들여져 DL0(434-0)에 두어질 것이다.
(4) DL1(434-1) 및 DL2(434-2)는 검증 하이 및 검증 로우 로크아웃 데이터를 위해 각각 다시 사용된다. 래치 DL0(434-0)(하위 페이지 데이터를 유지하는)은 프로그램 참조 데이터로서 체크되나, 검증 결과들에 따라 업데이트되지 않는다.
(5) B 상태를 검증하는 부분으로서, 하위 검증 VBL에서 감지 후에, 데이터는 그에 따라 DL2(434-2) 내에서 업데이트될 것이며, DL1(434-1) 데이터는 하이 검증 VBH 결과들에 따라 업데이트된다. 유사하게, C 검증은 각각의 VCL 및 VCH 결과들에 따라 래치들 DL2(434-2) 및 DL1(434-1)을 업데이트하기 위한 대응하는 명령들을 가질 것이다.
(6) 일단 B 데이터가 완료되면, 하위 페이지 데이터(참조를 위해 DL0(434-0)에 유지된)는 C 상태를 위한 검증만이 수행될 필요가 있으므로 필요하지 않다. DL0(434-0)은 "1"로 재설정되고 또 다른 페이지의 프로그램 데이터는 I/O 라인(231)으로부터 로딩되어 래치 DL0(434-0)에 캐시될 수 있다. 공통 프로세서(500)는 C 상태만이 검증될 것이라는 지시를 설정할 수 있다.
(7) 상위 페이지 프로그래밍이 완료되었는지를 판정함에 있어, B 상태에 대 해서, 래치들 DL1(434-1) 및 DL0(434-0) 둘 다가 체크된다. 일단 셀들이 B 상태로 프로그램되고 C 상태만이 검증되고 있으면, 래치 DL1(434-1) 데이터만이 프로그램되지 않은 어떤 비트들이 있는지를 알기 위해 체크될 필요가 있다.
이러한 배열 하에서, 단계 6에서, 래치 DL0(434-0)은 더 이상 요구되지 않으며 다음 프로그래밍 동작을 위해 데이터를 캐시하는데 사용될 수 있는 것에 유의한다. 또한, 신속 패스 기입을 사용하는 실시예들에서, 일단 제2의 완만하게 프로그램하는 국면에 진입되면, 래치 DL2(434-2)는 데이터를 캐시하는데 사용되게 할 수도 있을 것이지만, 실제로, 이것은 이러한 특징을 구현하는데 흔히 요구되는 추가의 오버헤드를 정당화하지 않는 매우 짧은 기간동안 이러한 식으로 가능할 뿐인 경우가 대부분이다.
도 15는 마지막 몇 개의 문단들에서 기술된 단일 페이지 모드에서 캐시 프로그램의 많은 면들을 예시하는데 사용될 수 있다. 도 15는 메모리 내부에서 어떤 이벤트들이 일어나고 있는가(밑에 "트루 비지" 라인)와 메모리 외부로부터 보여지는(위쪽의 "캐시 비지" 라인) 상대적 타이밍을 도시한 것이다.
시간 t0에서, 선택된 워드라인(WLn)에 프로그램될 하위 페이지가 메모리에 로딩된다. 이것은 후속되는 페이지들에 대해서도 마찬가지로, 제1 하위 페이지의 데이터가 사전에 캐시되지 않은 것으로 가정한다. 시간 t1에서 하위 페이지는 로딩을 끝내고 메모리는 이것을 기입하기 시작한다. 이것은 이때 바이너리 동작과 같기 때문에, 상태 A만이 검증될 필요가 있고("pvfyA") 데이터 래치 DL0(434-0)은 여기 에서는 하위 페이지의 프로그래밍 동안에 래치 DL0(434-0)에 결과적으로 캐시되는, 시간 t2에서, WLn에 프로그램될 상위 페이지들로서 취해지는 다음 페이지의 데이터를 수신하는데 사용될 수 있다. 상위 페이지는 시간 t3에서 로딩을 마치고 t4에서 하위 페이지가 종료되는 즉시로 프로그램될 수 있다. 이러한 배열 하에서, 프로그래밍의 물리적 단위(여기에서는, 워드라인(WLn))에 모든 데이터(하위 및 상위 페이지)가 기입될지라도, 메모리는 이하 기술되는 완전 시퀀스 실시예와는 달리, 상위 페이지 데이터가 기입될 수 있기 전에 시간 t3부터 시간 t4까지 기다려야 한다.
상위 페이지의 프로그래밍은 시간 t4에서 시작하는데, 여기서 초기에 B 상태만이 검증되며("pvfyB"), C 상태는 t5에서 추가된다("pvfyB/C"). 일단 B 상태가 더 이상 t6에서 검증되지 않고 있으면, C 상태만이 검증될 필요가 있고("pvfyC") 래치 DL0(434-0)은 확보된다. 이것은 상위 페이지가 프로그래밍을 끝낼 때 다음 데이터 세트가 캐시될 수 있게 한다.
언급된 바와 같이, 캐시 프로그램을 구비한 단일 페이지 알고리즘에 따라, 도 15에 도시된 바와 같이, 상위 페이지 데이터가 시간 t3에서 입수될 수 있을지라도, 메모리는 이 데이터를 기입하기를 시작하기 전에 시간 t4까지 기다려야 한다. 이를테면 미국특허출원 11/013,125에 보다 완전하게 전개되어 있는 것과 같이, 완전 시퀀스 프로그램 동작으로의 전환에서, 일단 상위 페이지가 입수가능하면 상위 및 하위 페이지 데이터는 동시에 프로그램될 수 있다.
완전 시퀀스(하위에서 완전으로의 전환) 기입에서 캐시 프로그램을 위한 알고리즘은 위에서와 같이 하위 페이지 프로그램부터 시작한다. 결국, 단계들 (1)-(4)는 단일 페이지 프로그램 모드에서 하위 페이지 프로세스에 대한 것과 같다.
(1) 프로세스는 데이터 래치들 DL0(434-0)을 내정값 "1"로 재설정함으로서 시작한다. 이러한 관례는 프로그램되지 않아야 할 선택된 행 내의 셀들이 프로그램 금지될 때 부분적 페이지 프로그래밍을 단순화하는데 사용된다.
(2) 프로그램 데이터는 I/O 라인(231)을 따라 DL0(434-0)에 공급된다.
(3) 프로그램 데이터는 DL1(434-1) 및 DL2(434-2)에 전송될 것이다(이 래치가 포함되고 신속 패스 기입이 구현된다면).
(4) 일단 프로그램 데이터가 DL1(434-1)에 전송되면, 데이터 래치 DL0(434-0)은 "1"로 재설정될 수 있고, 프로그램 시간 동안, 다음 데이터 페이지가 I/O 라인(231)을 따라 DL0(434-0)에 로딩될 수 있어, 제1 페이지가 기입되고 있는 중에 제2 페이지가 캐시될 수 있다.
일단 제2 페이지의 데이터가 로딩되고, 기입되는 하위 페이지의 상위에 해당되고 하위 페이지가 아직 프로그래밍을 마치지 않은 경우, 완전 시퀀스 기입으로의 전환이 이행될 수 있다. 이 논의는 본원과 함께 계류중의 같이 양도된 미국특허출원 11/013,125에 다른 많은 상세들이 보다 완전히 전개된 이러한 알고리즘에서 데이터 래치들의 사용에 중점을 둔다.
상위 페이지 데이터가 래치 DL0(434-0)에 로딩된 후에, 한 페이지는 하위 페이지이고 다른 한 페이지는 상위 페이지인 두 페이지들이 동일 워드라인 및 동일 블록에 있는지를 체크하기 위해 어드레스 블록에서 판정이 행해질 것이다. 그러하다면, 프로그램 상태 머신은 허용된다면 하위 페이지 프로그램에서 완전 시퀀스 프로그램으로의 전환을 행할 것이다. 임의의 미완의 검증이 완료된 후에, 이때 천이가 달성된다.
(6) 프로그램 시퀀스가 하위 페이지에서 완전 시퀀스로 변경되었을 때 통상적으로 일부 동작 파라미터들이 변경될 것이다. 전형적 실시예에서 이들은 다음을 포함한다.
(i) 펄스 검증 사이클들의 수에 대한 최대 프로그램 루프는 하위 페이지 데이터가 로크아웃되지 않았다면 하위 페이지 알고리즘의 프로그램 루프에서 완전 시퀀스의 프로그램 루프로 변경될 것이지만, 완료된 프로그램 루프들의 수는 전환에 의해 재설정되지 않을 것이다.
(ii) 도 16에 도시된 바와 같이, 프로그래밍 파형은 하위 페이지 프로그래밍 프로세스에서 사용되는 값 VPGM_L부터 시작한다. 상위 페이지 프로세스에서 사용되는 시작 값 VPGM_U을 초과하는 곳까지 프로그래밍 파형이 진행되었다면, 완전 시퀀스로의 전환에서, 계단은 계단을 계속하기에 앞서 VPGM_U으로 다시 낮출 것이다.
(iii) 프로그램 펄스의 스텝 크기와 최대 값을 결정하는 파라미터들은 변경되지 않는다.
(7) 메모리 셀들의 현 상태의 완전 시퀀스 독출은 복수-레벨 코딩을 위해 올바른 데이터가 프로그램될 것임을 보장하기 위해 수행되어야 한다. 이것은 이전에 하위 페이지 프로그램에서 로크아웃되어 있을 수 있으나 차후 프로그래밍에서 이들의 상위 페이지 데이터를 고려할 것을 요구하는 상태들이 완전 시퀀스가 시작할 때 확실하게 프로그램 금지되지 않게 한다.
(8) 신속 패스 기입이 활성화된다면, 상위 페이지 프로그램 데이터는 전에 A 상태만에 대한 하위 검증에 근거하였기 때문에, 이를 반영하기 위해 래치 DL2(434-2)의 데이터도 업데이트될 것이다.
(9) 이어서 프로그래밍은 복수-레벨의 완전 시퀀스 프로그램 알고리즘으로 재개한다. 하위 페이지 프로세스에서 프로그램 파형이 상위 페이지 시작 레벨을 넘어 증가하였다면, 파형은 도 16에 도시된 바와 같이, 전환시에 이 레벨로 물러난다.
도 17은 완전 시퀀스로의 하위 페이지의 전환 기입 프로세스에 연루된 상대적 시간들을 개략적으로 나타낸 것이다. 시간 t3까지, 프로세스는 도 15에 프로세스에 대해 위에 기술된 바와 같다. t3에서 상위 페이지의 데이터가 로딩되었으며 검증 프로세스가 A 상태들과 함께 B 상태들을 포함하게 전환되는 완전 시퀀스 알고리즘으로의 천이가 행해진다. 일단 모든 A 상태들이 로크아웃하였으면, 검증 프로세스는 시간 t4에서 B 및 C 상태들에 대해 체크하는 것으로 전환한다. 일단 B 상태들이 t5에서 검증되었으면, C 상태만이 체크될 필요가 있고, 레지스터는, 캐시 비지 라인 상에 나타낸 바와 같이 다음 워드라인(WLn+1) 상에 하위 페이지와 같이, 프로그램될 다음 데이터를 로딩하기 위해 확보될 수 있다. 시간 t6에서, 이 다음 데이터 세트는 캐시되었으며 이전 세트에 대한 C 데이터의 프로그래밍은 t7에서 끝나고, 이 다음 데이터 세트는 프로그래밍을 시작한다. 또한, 워드라인(WLn+1) 상의 (여기에서) 하위 페이지가 프로그램되고 있는 동안, 다음 데이터(이를테면 대응하는 상위 페이지 데이터)는 개방된 래치 DL0(434-0)에 로딩될 수 있다.
완전 시퀀스 기입동안, 하위 페이지 및 상위 페이지 상태를 독립적으로 제공하는 방식으로 상태 보고가 이행된다. 프로그램 시퀀스의 끝에서, 끝나지 않은 비트들이 있다면, 물리적 페이지의 스캐닝이 수행될 수 있다. 제1 스캐닝은 종료되지 않은 상위 페이지 데이터에 대해 DL0(434-0)을 체크할 수 있고, 제2 스캐닝은 종료되지 않은 하위 페이지 데이터에 대해 DL1(434-1)을 체크할 수 있다. B 상태의 검증은 DL0(434-0) 및 DL1(434-1) 데이터 둘 다를 변경할 것이기 때문에, A 상태 검증은 비트의 임계값이 A 검증 레벨보다 높다면 DL1(434-1) 데이터 "0"이 "1"로 변경되도록 수행될 것이다. 이 사후 검증은 프로그램된 B 레벨들 밑에 어느 것이든 A 레벨에서 통과하였는지를 체크할 것이며, 이들이 A 레벨에서 통과하였다면, 오류는 상위 페이지에만 있고 하위 페이지에는 없으며, A 레벨에서 통과하지 않으면, 하위 및 상위 페이지들 둘 다는 오류를 갖는다.
캐시 프로그램 알고리즘이 사용된다면, A 및 B 데이터가 프로그램된 후에, C 상태는 프로그래밍을 끝내기 위해서 래치 DL1(434-1)로 이송될 것이다. 이 경우에, 래치의 스캐닝은 하위 페이지가 이미 어떤 실패된 비트들도 없이 프로그램을 통과 하였을 것이기 때문에 하위 페이지에 대해선 필요하지 않다.
본 발명의 또 다른 한 세트의 전형적 실시예들은 페이지 카피 동작들에 관한 것으로, 이 경우 데이터 세트는 한 위치에서 다른 위치로 재배치된다. 데이터 재배치 동작들의 여러 가지 면들은 2004년 5월 13일에 출원된 미국특허출원번호 US 10/846,289; 2004년 12월 21의 번호 11/022,462; 2004년 8월 9일에 출원된 번호 US 10/915,039; 미국특허 6,266,273에 기술되어 있고, 이들 전부는 참조로 여기 포함시킨다. 데이터가 한 위치에서 다른 위치로 카피될 때, 데이터는 흔히 체크하기 위해(예를 들면, 오류에 대해서), 혹은 업데이트하기 위해(이를테면 헤더를 업데이트함), 혹은 둘 다를 위해(이를테면 검출된 오류를 정정함) 토글 아웃된다. 이러한 전송들은 또한 가비지 수거 동작들에서 데이터를 통합하는 것이다. 본 발명의 주요 면은 개방된 레지스터로 읽어들인 데이터가 기입 동작의 검증 국면 동안 삽입되게 하여, 이러한 캐시된 데이터가 기입 동작이 계속될 때 메모리 디바이스로부터 전송됨으로써, 데이터를 토글 아웃하기 위한 시간이 기입 동작 배후에 은닉하게 한다.
다음은 캐시 페이지 카피 동작의 2개의 실시예들을 나타낸 것이다. 두 경우들에 있어서, 신속 패스 기입 구현을 사용하는 구현이 기술된다. 도 18은 프로세스가 진행됨에 따른 래치들의 배열의 사용을 나타낸다.
캐시 페이지 카피의 제1 버전은 하위 페이지에 기입할 것이며 다음의 단계들을 포함할 수 있는데, 여기서 독출 어드레스들은 M, M+1,...,로 표기되어 있고 기입 어드레스들은 N, N+1,...로 표기되었다.
(1) 카피될 페이지("페이지 M")은 래치 DL1(434-1)로 읽어들여진다. 이것은 상위 혹은 하위 페이지의 데이터일 수 있다.
(2) 이어서 페이지 M이 DL0(434-0)에 전송된다.
(3) DL0(434-0) 내 데이터는 토글 아웃되고 수정되며, 이후 래치로 다시 전송된다.
(4) 이어서 프로그램 시퀀스가 시작될 수 있다. 하위 페이지 N에 기입될 데이터가 DL1(434-1) 및 DL2(434-2)에 전송된 후에, 래치 DL0(434-0)은 데이터를 캐시할 준비가 된다. 이 하위 페이지가 프로그램될 것이다. 이 실시예에 있어서, 프로그램 상태 머신은 여기서 중지할 것이다.
(5) 카피될 다음 페이지는 DL0(434-0)에 읽어들여진다. 이어서 프로그래밍이 재개할 수 있다. 단계(4)의 끝에서 정지된 상태 머신은 처음부터 프로그램 시퀀스를 다시 시작할 것이다.
(6) 프로그래밍은 하위 페이지가 끝날 때까지 계속한다.
카피 목적지 페이지 어드레스는 기입이 하위 혹은 상위 페이지에 대한 것인지를 판정할 것이다. 프로그램 어드레스가 상위 페이지 어드레스이라면, 프로그래밍 시퀀스는 프로그래밍이 끝날 때까지 정지되지 않을 것이며 단계(5)의 독출은 기입이 완료된 후에 실행될 것이다.
제2 캐시 페이지 카피 방법에서, 프로그램/검증 프로세스는 독출동작을 삽입하기 위해 일시정지될 수 있고 이어서 중지한 지점에서 찾아내어 기입 동작을 다시 시작할 수 있다. 이러한 인터리빙된 감지 동작동안 독출된 데이터는 재개된 기입동작이 계속될 동안 토글 아웃될 수 있다. 또한, 이 제2 프로세스는 일단 C 상태만이 검증되고 있고 각 비트라인 상의 한 래치가 개방되면 상위 페이지 혹은 완전 시퀀스 기입 프로세스에서 페이지 카피 메커니즘이 사용될 수 있게 한다. 제2 캐시 페이지 카피 동작은 제1 경우에서와 같이 동일한 처음 3개의 단계들부터 시작하나 그 이후는 다르다. 다음의 단계들을 포함할 수 있다.
(1) 카피될 페이지("페이지 M")가 래치 DL1(434-1)에 읽어들여진다. 이것은 하위 혹은 상위 페이질 수 있다.
(2) 페이지 M으로부터의 데이터가 DL0(434-0)에 전송된다. (전과 같이, N 등은 기입 어드레스를 표기할 것이며, M, 등은 독출 어드레스에 대한 것이다).
(3) DL0(434-0) 내 데이터가 토글 아웃되고, 수정되고, 이어서 래치로 다시 전송된다.
(4) 상태 머신 프로그램은 독출 명령이 입력되고 래치 DL0(434-0)으로 또 다른 페이지, 예를 들면 다음 페이지 M+1의 독출이 시작할 때까지 무한 대기 상태로 갈 것이다.
(5) 단계 (4)의 독출이 완료되면, 어드레스는 단계들(1-3)에서의 데이터를 페이지 N(여기에서는, 하위 페이지)에 프로그램하기 위해 다시 워드라인 및 블록 어드레스로 전환되고 프로그래밍이 재개된다.
(6) 페이지 M+1의 독출이 종료된 후에, 데이터는 토글 아웃되고, 수정되어 복귀될 수 있다. 일단 프로세스가 완료되면, 기입은 2 페이지들이 동일 WL 상의 대응하는 상위 및 하위 페이지들이라면 완전 시퀀스 동작으로 전환될 수 있다.
(7) 일단 A 및 B 레벨들이 완전 시퀀스 기입에서 행해지면, DL0(434-0) 내의 데이터는 앞서 기술된 정규 캐시 프로그램에서처럼, DL1(434-1)로 전송될 것이며, 또 다른 페이지(예를 들면, 페이지 M+2)에 대한 독출명령이 발행될 수 있다. 완전 시퀀스 전환으로의 단일 페이지가 없다면, 하위 페이지는 기입을 종료할 것이며 이어서 상위 페이지가 시작될 것이다. B 레벨 상태가 완전하게 행해진 후에, 동일 DL0(434-0)에서 DL1(434-1)로의 데이터 전송이 일어날 것이며, 상태 머신은 페이지 M+2에 대한 독출 명령을 기다리는 상태로 갈 것이다.
(8) 일단 독출 명령이 도착하면, 어드레스는 독출 어드레스로 전환되고 다음 페이지(페이지 M+2)가 읽혀진다.
(9) 독출이 완료되면, 어드레스는 기입이 종료할 때까지 다시 이전 상위 페이지 어드레스(프로그램 어드레스 N+1)로 전환될 것이다.
위에 언급된 바와 같이, 전형적 실시예들은 메모리 셀들의 각각에 프로그램될 수 있는 데이터의 유지(여기서는 2비트)에 사용되는 래치들 DL0(434-0) 및 DL1(434-1) 외에도 신속 패스 기입 기술의 하위 검증을 위해 사용되는 래치 DL2(434-2)를 포함한다. 일단 하위 검증이 통과되면, 래치 DL2(434-2)는 확보되어 데이터를 캐시하는데 사용될 수 있는데, 그러나 이것은 본 실시예들에선 행해지지 않는다.
도 19a 및 도 19b는 제2 캐시 페이지 카피 방법의 상대적 타이밍을 도시한 것으로, 도 19b는 완전 시퀀스 기입 전환을 갖는 알고리즘을 도시한 것이고 도 19a는 그렇지 않은 알고리즘을 도시한 것이다. (도 19a 및 도 19b 둘 다는, t0에 대응 하는 수직 점선 A에서 시작하여 t5에 대응하는 수직 점선 B로 끝나는 제1 상측 부분과, 상측 부분에 연속이고 t5에 대응하는 수직 점선 B에서 시작하는 제2 하측 부분인 두 부분들로 구성된다. 두 경우들에 있어서 시간 t5에서 선 B는 하측 부분에서와 같이 상측 부분에서 동일한 것으로, 두 선들 상에 표시되게 한 두 부분들에 단지 이음이다).
도 19a는 이 예에서 하위 페이지인 것으로 취해진 제1 페이지(페이지 M)의 독출부터 시작하며, 사전에 어떠한 데이터도 캐시되어 있지 않은 것으로 가정하며, 단일 페이지 모드에서 동작하며, 상위 페이지를 기입하기를 시작하기 전에 하위 페이지가 기입을 끝낼 때까지 기다리는 프로세스를 도시한 것이다. 프로세스는 시간 t0에서 여기에서는 이 코딩에서 A 및 C 레벨들에서 독출에 의해 감지되는 하위인 페이지 M(감지 페이지 M(L))의 독출부터 시작한다. 이때 시간 t1에서 독출이 완료되고 페이지 M이 토글 아웃되고 체크 혹은 수정될 수 있다. 시간 t2에서 시작하여 다음 페이지(여기에서는 페이지 M+1, 상위 페이지는 하위 페이지 M과 동일한 물리 페이지에 대응한다)가 B 레벨에서 독출함으로써 감지되고, 프로세스는 시간 t3에서 종료한다. 이때, 제1 페이지(페이지 M에서 비롯된)(하위)는 페이지 N에서 메모리에 다시 프로그램될 준비가 되고 페이지 M+1로부터 독출된 데이터는 래치에 유지되어 있고 수정/체크되게 전송될 수 있다. 이들 두 프로세스들은 여기에서는 t3에서 동시에 시작할 수 있다. 위에 기술된 전형적 시간 값들을 사용하여, 페이지 M+1로부터의 데이터는 시간 t4에서 토글 아웃되어 수정되었는데, 그러나, 완전 시퀀스 전환을 구현하지 않는 실시예에 있어서, 메모리는 페이지 N이 페이지 N+1에 제2 독출된 페이지의 데이터(페이지 M+1에서 비롯된)를 기입하기를 시작하기 위해 시간 t5에서 마칠 때까지 기다릴 것이다.
페이지 N+1이 상위 페이지이므로, 이의 기입은 초기에는 B 레벨에서 검증부터 시작하며, C 레벨이 t6에서 부가된다. 일단 타겟 상태 B를 갖는 저장 요소들이 모두가 시간 t7에서 로크아웃되면(혹은 최대 카운트에 도달되면), B 상태 검증은 생략된다. 위에 기술된 바와 같이, 본 발명의 몇가지 주요 면들에 따라서, 이것은 데이터 래치가 확보되게 하며, 진행중의 기입 동작은 중지되고, 독출 동작(중지된 프로그램/검증 동작과는 다른 어드레스에서)이 삽입되고, 기입은 중단된 곳에서 재개하며, 삽입된 기입 동작을 감지한 데이터는 재개된 기입 동작이 계속되는 동안 토글 아웃될 수 있다.
시간 t7에서, 삽입된 기입 동작은 여기에서는 하위 페이지 M+2에 대해 수행된다. 이 감지는 시간 t8에서 끝나고 페이지 N+1의 기입이 다시 취해지고 페이지 M+2로부터 데이터가 동시에 토글 아웃되고 수정된다. 이 예에서, 페이지 N+1은 페이지 M+2가 시간 t10에서 끝나기 전에 시간 t9에서 프로그래밍을 끝낸다. 시간 t10에서, 페이지 M+2로부터 비롯된 데이터의 기입이 시작될 수도 있을 것이지만, 이 실시예에서는 대신에 페이지 M+3의 독출 먼저 실행되어, 시간 t11에서 시작하여, 이 페이지의 데이터가 페이지 N+2에 페이지 M+2에서 비롯된 데이터의 기입을 배후에 은닉되게 토글 아웃되고 수정되게 한다. 이어서 프로세스는 카피 프로세스가 중지될 때까지, 시간 t11이 시간 t3에 대응하고 시간 t12가 시간 t4에 대응하는, 등등으로 페이지 번호들이 옮겨져, 도면의 앞부분들에서처럼 계속된다.
도 19b는 하위 페이지인 것으로 취해진 하위 페이지인 페이지 M의 독출부터 시작하고 사전에 어떠한 데이터도 캐시되지 않은 것으로 가정하는 프로세스를 다시 도시한 것이다. 도 19b는 시간 t4에서 완전 시퀀스 기입으로의 전환을 구현함으로써 도 19a와는 다르다. 이것은 도 19a의 시간 (t5-t4)만큼 프로세스를 대략 가속시킨다. 시간 t4에서(도 19a에서 =t5), 완전 시퀀스 전환에 관계된 여러 가지 변경들은 앞에서 기술된 바와 같이 구현된다. 그렇지 않다면, 프로세스는 시간 t7와 t12 사이에 발견되는 본 발명의 면들을 포함하여, 도 19a와 유사하다.
페이지 카피 프로세스들 및 데이터 기입을 수반하는 여기 서술된 다른 기술들에서, 주어진 시간에 어떤 상태들이 검증될 것인가는 참조로 여기 포함시키는 2002년 12월 5일에 출원된 미국특허출원 10/314,055에 기술된 라인들을 따라 현명하게 선택될 수 있다. 예를 들면, 완전 시퀀스 기입에서, 기입 프로세스는 A 레벨만을 검증하는 것을 시작할 수 있다. A 검증 후에, 어떤 비트들이 통과하였는지를 알기 위해 체크된다. 그러하다면, B 레벨이 검증 국면에 추가될 수 있다. A 레벨 검증은 모든 저장유닛들의 타겟 값들로서 이 검증에 의한 이들 유닛이 검증된 후 에(혹은 설정가능한 파라미터에 근거한 최대 카운트를 제외하고) 제거될 것이다. 유사하게, B 레벨에서 검증 후에, C 레벨의 검증이 추가될 수 있고, B 레벨 검증은 모든 저장유닛들의 타겟 값들로서 이 검증에 의한 이들 유닛들이 검증된 후에(혹은 설정가능한 파라미터에 근거한 최대 카운트를 제외하고) 제거된다.
본 발명의 여러 가지 면들이 어떤 실시예들에 관하여 기술되었을지라도, 발명은 첨부된 청구항들의 전체 범위 내에서 보호되게 한 것임을 알 것이다.

Claims (23)

  1. 메모리 셀 어레이와, 메모리 셀 그룹에서 상기 어레이의 병렬 동작을 위한 독출/기입 회로 세트를 포함하는 비휘발성 메모리 디바이스를 동작시키는 방법으로서,
    각각의 독출/기입 회로는 상기 메모리 셀 그룹 중 대응하는 메모리 셀의 입력 및/또는 출력 데이터를 래치하기 위한 데이터 래치 세트를 구비하는, 비휘발성 메모리 디바이스를 동작시키는 방법에 있어서,
    제 1 복수의 데이터 래치 세트에 저장된 제 1 데이터 세트를 사용하여 제 1 그룹의 메모리 셀에서 제 1 동작을 수행하는 단계와,
    상기 제 1 동작 동안, 상기 제 1 복수의 데이터 래치 세트에서 제 2 동작을 위한 제 2 데이터 세트를 캐싱하는 단계를
    포함하고,
    상기 제 1 동작은 복수 단계(multiple phase)를 포함하고, 상기 제 2 데이터 세트를 캐싱하는 것은 상기 제 1 그룹의 메모리 셀과 다른 제 2 그룹의 메모리 셀로부터 제 2 데이터를 독출하는 단계를 포함하며, 상기 제 2 데이터 세트는 상기 제 1 동작의 단계(phase) 사이에서 독출되고,
    상기 제 1 동작은 교번하는 프로그램과 검증 단계를 갖는 기입 동작이고, 상기 제 1 데이터 세트는 상기 제 1 그룹의 메모리 셀에 기입될 데이터이며,
    상기 메모리 셀은 N 비트 데이터를 저장하는 복수 레벨 메모리 셀이고, N은 1보다 크며, 상기 데이터 래치 세트 각각은 N개의 데이터 래치를 포함하고, 상기 제 1 데이터 세트는 N 비트 데이터이며,
    상기 N 비트 데이터의 비트가 검증됨에 따라, 상기 데이터 래치 세트의 데이터 래치가 해제되고 상기 캐싱된 데이터 세트는 상기 해제된 데이터 래치에 저장되는, 비휘발성 메모리 디바이스를 동작시키는 방법.
  2. 메모리 셀 어레이와, 메모리 셀 그룹에서 상기 어레이의 병렬 동작을 위한 독출/기입 회로 세트를 포함하는 비휘발성 메모리 디바이스를 동작시키는 방법으로서,
    각각의 독출/기입 회로는 상기 메모리 셀 그룹 중 대응하는 메모리 셀의 입력 및/또는 출력 데이터를 래치하기 위한 데이터 래치 세트를 구비하는, 비휘발성 메모리 디바이스를 동작시키는 방법에 있어서,
    제 1 복수의 데이터 래치 세트에 저장된 제 1 데이터 세트를 사용하여 제 1 그룹의 메모리 셀에서 제 1 동작을 수행하는 단계와,
    상기 제 1 동작 동안, 상기 제 1 복수의 데이터 래치 세트에서 제 2 동작을 위한 제 2 데이터 세트를 캐싱하는 단계로서, 상기 제 1 동작은 소거 동작이고 제 2 동작은 독출인, 상기 단계를
    포함하는, 비휘발성 메모리 디바이스를 동작시키는 방법.
  3. 메모리 셀 어레이와, 메모리 셀 그룹에서 상기 어레이의 병렬 동작을 위한 독출/기입 회로 세트를 포함하는 비휘발성 메모리 디바이스를 동작시키는 방법으로서,
    각각의 독출/기입 회로는 상기 메모리 셀 그룹 중 대응하는 메모리 셀의 입력 및/또는 출력 데이터를 래치하기 위한 데이터 래치 세트를 구비하는, 비휘발성 메모리 디바이스를 동작시키는 방법에 있어서,
    제 1 복수의 데이터 래치 세트에 저장된 제 1 데이터 세트를 사용하여 제 1 그룹의 메모리 셀에서 제 1 동작을 수행하는 단계와,
    상기 제 1 동작 동안, 상기 제 1 복수의 데이터 래치 세트에서 제 2 동작을 위한 제 2 데이터 세트를 캐싱하는 단계로서, 상기 제 1 동작은 소거 동작이고 제 2 동작은 프로그래밍 동작인, 상기 단계를
    포함하는, 비휘발성 메모리 디바이스를 동작시키는 방법.
  4. 1보다 큰 적어도 N 비트의 데이터를 각각 저장하는 메모리 셀 어레이와, 메모리 셀 그룹에서 상기 어레이의 병렬 동작을 위한 독출/기입 회로 세트를 포함하는 비휘발성 메모리 디바이스를 동작시키는 방법으로서,
    각각의 독출/기입 회로는 상기 메모리 셀 그룹 중 대응하는 메모리 셀의 입력 및/또는 출력 데이터를 래치하기 위한 데이터 래치 세트를 구비하는, 비휘발성 메모리 디바이스를 동작시키는 방법에 있어서,
    대응하는 데이터 래치 세트 각각의 N 데이터 래치에 제 1 그룹의 메모리 셀에 대한 제 1의, N 비트 데이터 세트를 저장하는 단계와,
    상기 제 1 그룹의 메모리 셀에 제 1 데이터 세트를 기입하는 단계로서, 상기 기입은 교번하는 프로그램과 검증 단계를 포함하고, 일단 메모리 셀 그룹이 하나 이상의 검증 레벨을 초과하지만 모든 검증 레벨 미만으로 프로그래밍되면, 대응하는 데이터 래치 그룹 각각에서 하나 이상의 N 데이터 래치가 상기 기입을 완료하기 전에 해제되는, 상기 기입 단계와,
    상기 기입을 완료하기 전에 상기 해제된 데이터 래치로 제 2 데이터 세트를 전송하는 단계를
    포함하는, 비휘발성 메모리 디바이스를 동작시키는 방법.
  5. 제 4항에 있어서, 상기 제 2 데이터 세트는 독출/기입 회로 세트가 동작할 수 있는 상기 어레이의 제 2 메모리 셀 그룹에 대한 것이고, 상기 제 2 메모리 셀 그룹은 상기 제 1 메모리 셀 그룹과 다른, 비휘발성 메모리 디바이스를 동작시키는 방법.
  6. 제 4항에 있어서, 상기 전송은,
    상기 제 2 메모리 셀 그룹의 상기 제 2 데이터 세트를 상기 해제된 래치로 독출하는 단계를 포함하고, 상기 독출은 상기 기입의 펄스 사이에서 수행되는, 비휘발성 메모리 디바이스를 동작시키는 방법.
  7. 제 4항에 있어서, 상기 전송은,
    상기 해제된 래치로부터 상기 제 2 데이터 세트를 전송하는 단계를 포함하고, 상기 전송은 상기 기입을 완료하기 전에 시작되는, 비휘발성 메모리 디바이스를 동작시키는 방법.
  8. 비휘발성 메모리 디바이스에 있어서,
    메모리 셀 어레이로서, 각각 적어도 N 비트의 데이터를 저장할 수 있고, N은 1보다 큰 정수인, 메모리 셀 어레이와,
    메모리 셀 그룹에서 상기 어레이의 병렬 동작을 위해 상기 어레이에 연결된 독출/기입 회로 세트로서, 각각의 독출/기입 회로는 상기 메모리 셀 그룹 중 대응하는 메모리 셀의 입력 및/또는 출력 데이터를 래칭하기 위한 데이터 래치 세트를 갖는, 독출/기입 회로 세트를
    포함하고,
    기입 공정에서, 상기 독출/기입 회로는 대응하는 데이터 래치 세트 각각의 N 데이터 래치에 제 1 그룹의 메모리 셀에 대한 제 1의 N 비트 데이터 세트를 저장하고, 상기 제 1 데이터 세트를 상기 제 1 그룹의 메모리 셀에 저장할 수 있으며, 상기 기입은 교번하는 프로그램과 검증 단계를 포함하고, 일단 메모리 셀 그룹이 하나 이상의 검증 레벨을 초과하지만 모든 검증 레벨 미만으로 프로그래밍되면, 대응하는 데이터 래치 그룹 각각에서 하나 이상의 N 데이터 래치가 상기 기입을 완료하기 전에 해제되고,
    상기 독출/기입 회로는 상기 기입을 완료하기 전에 상기 해제된 데이터 래치로 제 2 데이터 세트를 전송하는, 비휘발성 메모리 디바이스.
  9. 제 8항에 있어서, 상기 제 2 데이터 세트는 독출/기입 회로 세트가 동작할 수 있는 상기 어레이의 제 2 메모리 셀 그룹에 대한 것이고, 상기 제 2 메모리 셀 그룹은 상기 제 1 메모리 셀 그룹과 다른, 비휘발성 메모리 디바이스.
  10. 제 8항에 있어서, 상기 해제된 데이터 래치로 제 2 데이터 세트의 상기 전송은 상기 제 2 그룹의 메모리 셀로부터 상기 해제된 래치로 상기 제 2 데이터 세트를 독출하는 단계를 포함하고, 상기 독출은 상기 기입 펄스 사이에서 수행되는, 비휘발성 메모리 디바이스.
  11. 제 8항에 있어서, 상기 해제된 데이터 래치로 제 2 데이터 세트의 상기 전송은 상기 해제된 래치로부터 상기 제 2 데이터 세트를 전송하는 단계를 포함하고, 상기 전송은 상기 기입을 완료하기 전에 시작되는, 비휘발성 메모리 디바이스.
  12. 메모리 셀 어레이와, 메모리 셀 그룹에서 상기 어레이의 병렬 동작을 위한 독출/기입 회로 세트를 포함하는 비휘발성 메모리 디바이스를 동작시키는 방법으로서,
    각각의 독출/기입 회로는 상기 메모리 셀 그룹 중 대응하는 메모리 셀의 입력 및/또는 출력 데이터를 래치하기 위한 데이터 래치 세트를 구비하는, 비휘발성 메모리 디바이스를 동작시키는 방법에 있어서,
    제 1 데이터 세트를 복수의 제 1 데이터 래치로 로딩하는 단계와,
    상기 복수의 제 1 데이터 래치 세트의 모든 래치를 사용하여 제 1 메모리 셀 그룹에서 제 1 동작을 수행하는 단계와,
    상기 제 1 동작 동안, 상기 복수의 제 1 데이터 래치 세트 중 모든 래치보다 적은 일부 래치를 해제하는 단계와,
    상기 제 1 동작 동안, 상기 복수의 제 1 데이터 래치 세트 중 해제된 세트에서 제 2 동작을 위해 제 2 데이터 세트를 캐싱하는 단계를
    포함하는, 비휘발성 메모리 디바이스를 동작시키는 방법.
  13. 제 12항에 있어서, 상기 제 2 데이터 세트는 외부로부터 상기 메모리 디바이스로 제공되는, 비휘발성 메모리 디바이스를 동작시키는 방법.
  14. 제 12항에 있어서, 상기 제 2 동작은 복수 단계를 포함하고, 상기 제 2 데이터 세트는 제 1 메모리 셀 그룹과 다른 제 2 메모리 셀 그룹으로부터 독출되고, 상기 제 2 데이터 세트는 상기 제 1 동작의 단계 사이에서 독출되는, 비휘발성 메모리 디바이스를 동작시키는 방법.
  15. 제 14항에 있어서, 상기 제 1 동작은 교번하는 프로그램과 검증 단계를 갖는 기입 동작이고, 상기 제 1 데이터 세트는 상기 제 1 메모리 셀 그룹에 기입될 데이터인, 비휘발성 메모리 디바이스를 동작시키는 방법.
  16. 제 15항에 있어서, 상기 캐싱된 데이터 세트는, 상기 기입 동작 동안, 상기 복수의 제 1 데이터 래치 세트 밖으로 추후 전송된, 비휘발성 메모리 디바이스를 동작시키는 방법.
  17. 제 15항에 있어서, 상기 제 2 데이터 세트가 독출되는 동안 기입 공정이 중단되면, 상기 교번하는 프로그램과 검증 단계가 다시 시작되는, 비휘발성 메모리 디바이스를 동작시키는 방법.
  18. 제 15항에 있어서, 상기 메모리 셀은 N 비트 데이터를 저장하는 복수 레벨 메모리 셀로, N은 1보다 크고, 상기 데이터 래치 세트 각각은 N 데이터 래치를 포함하며, 상기 제 1 데이터 세트는 N 비트 데이터인, 비휘발성 메모리 디바이스를 동작시키는 방법.
  19. 제 14항에 있어서, 상기 제 1 및 제 2 데이터 세트는 상기 메모리의 개별 제 1 및 제 2 워드 라인에 대응하는, 비휘발성 메모리 디바이스를 동작시키는 방법.
  20. 제 12항에 있어서, 상기 래치 세트 각각은 상기 메모리의 개별 비트 라인과 연관되어 있는, 비휘발성 메모리 디바이스를 동작시키는 방법.
  21. 메모리 셀 어레이와, 메모리 셀 그룹에서 상기 어레이의 병렬 동작을 위한 독출/기입 회로 세트를 포함하는 비휘발성 메모리 디바이스를 동작시키는 방법으로서,
    각각의 독출/기입 회로는 상기 메모리 셀 그룹 중 대응하는 메모리 셀의 입력 및/또는 출력 데이터를 래치하기 위한 데이터 래치 세트를 구비하는, 비휘발성 메모리 디바이스를 동작시키는 방법에 있어서,
    제 1 메모리 셀 그룹에 대한 제 1 데이터 세트를 대응하는 데이터 래치 세트에 저장하는 단계와,
    상기 대응하는 모든 데이터 래치 세트를 사용하여 상기 제 1 데이터 세트를 상기 제 1 메모리 셀 그룹에 기입하는 단계로서, 상기 기입은 교번하는 프로그램과 검증 단계를 포함하는, 상기 기입 단계와,
    상기 제 1 데이터 세트의 기입 동안, 대응하는 데이터 래치 세트 중 모든 래치보다 적은 일부 래치를 해제하는 단계와,
    프로그램 단계 중 하나와 상기 검증 단계 중 하나 사이에 상기 기입을 중단는 단계와,
    상기 중단 후에, 상기 제 2 메모리 셀 그룹으로부터 상기 대응하는 데이터 래치 세트의 해제된 래치로 제 2 데이터 세트를 독출하는 단계와,
    상기 독출 후에, 상기 중단된 기입을 다시 시작하는 단계를
    포함하는, 비휘발성 메모리 디바이스를 동작시키는 방법.
  22. 제 21항에 있어서, 상기 기입은 상태 머신(state machine)에 의해 관리되고, 상기 중단은 상기 독출을 위한 명령을 수신하는 것에 응답하며, 상기 다시 시작하는 것은 상기 독출을 완료하는 것에 응답하는, 비휘발성 메모리 디바이스를 동작시키는 방법.
  23. 제 21항에 있어서,
    상기 독출 후에, 상기 다시 시작된 기입 동안 상기 메모리로부터 제 2 데이터 세트를 전송하는 단계를 더 포함하는, 비휘발성 메모리 디바이스를 동작시키는 방법.
KR1020077022634A 2005-04-01 2006-03-27 비휘발성 메모리의 캐시 동작에서의 데이터 래치의 사용 KR101106977B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/097,590 US7206230B2 (en) 2005-04-01 2005-04-01 Use of data latches in cache operations of non-volatile memories
US11/097,590 2005-04-01
PCT/US2006/011248 WO2006107654A1 (en) 2005-04-01 2006-03-27 Use of data latches in cache operations of non-volatile memories

Publications (2)

Publication Number Publication Date
KR20070122208A KR20070122208A (ko) 2007-12-28
KR101106977B1 true KR101106977B1 (ko) 2012-01-20

Family

ID=36636435

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077022634A KR101106977B1 (ko) 2005-04-01 2006-03-27 비휘발성 메모리의 캐시 동작에서의 데이터 래치의 사용

Country Status (9)

Country Link
US (13) US7206230B2 (ko)
EP (1) EP1864289B1 (ko)
JP (1) JP5038292B2 (ko)
KR (1) KR101106977B1 (ko)
CN (1) CN101171641B (ko)
AT (1) ATE458248T1 (ko)
DE (1) DE602006012293D1 (ko)
TW (1) TWI396199B (ko)
WO (1) WO2006107654A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101620772B1 (ko) 2012-04-27 2016-05-12 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 멀티-레벨 셀을 사용하는 로컬 체크포인팅
US10353625B2 (en) 2015-11-17 2019-07-16 SK Hynix Inc. Memory system and operating method of memory system
US11144248B2 (en) 2019-06-04 2021-10-12 SK Hynix Inc. Memory device and method of operating the same

Families Citing this family (285)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5657332A (en) 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
KR101051703B1 (ko) 2004-08-09 2011-07-25 삼성전자주식회사 서스펜드/리쥼 기능을 갖는 집적 회로 카드 및 집적 회로카드 시스템
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
US7251160B2 (en) * 2005-03-16 2007-07-31 Sandisk Corporation Non-volatile memory and method with power-saving read and program-verify operations
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
US7564713B2 (en) * 2005-04-28 2009-07-21 Kabushiki Kaisha Toshiba Semiconductor integrated circuit device wherein during data write a potential transferred to each bit line is changed in accordance with program order of program data
EP1750278B1 (en) * 2005-07-28 2009-11-11 STMicroelectronics S.r.l. Method of programming a four-level flash memory device and a related page buffer
JP5162846B2 (ja) * 2005-07-29 2013-03-13 ソニー株式会社 記憶装置、コンピュータシステム、および記憶システム
US20100302919A1 (en) * 2005-10-27 2010-12-02 Mediatek Inc. Optical Recording Method and Apparatus
EP1850347A1 (en) * 2006-04-28 2007-10-31 Deutsche Thomson-Brandt Gmbh Method and device for writing to a flash memory
US7917685B2 (en) 2006-05-04 2011-03-29 Micron Technology, Inc. Method for reading a multilevel cell in a non-volatile memory device
WO2007130976A2 (en) * 2006-05-05 2007-11-15 Sandisk Corporation Non-volatile memory with background data latch caching during program operations and methods therefor
WO2007131059A2 (en) * 2006-05-05 2007-11-15 Sandisk Corporation Non-volatile memory with background data latch caching during erase operations and methods therefor
US7355892B2 (en) * 2006-06-30 2008-04-08 Sandisk Corporation Partial page fail bit detection in flash memory devices
US7734861B2 (en) 2006-09-08 2010-06-08 Sandisk Corporation Pseudo random and command driven bit compensation for the cycling effects in flash memory
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
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
US7716538B2 (en) * 2006-09-27 2010-05-11 Sandisk Corporation Memory with cell population distribution assisted read margining
US7886204B2 (en) 2006-09-27 2011-02-08 Sandisk Corporation Methods of cell population distribution assisted read margining
US7904619B2 (en) 2006-11-24 2011-03-08 Sandforce, Inc. System, method, and computer program product for reducing memory write operations using difference information
US7747813B2 (en) * 2006-11-24 2010-06-29 Sandforce, Inc. Multi-memory device system and method for managing a lifetime thereof
US7809900B2 (en) * 2006-11-24 2010-10-05 Sandforce, Inc. System, method, and computer program product for delaying an operation that reduces a lifetime of memory
US7904672B2 (en) 2006-12-08 2011-03-08 Sandforce, Inc. System and method for providing data redundancy after reducing memory writes
US7616505B2 (en) * 2006-12-28 2009-11-10 Sandisk Corporation Complete word line look ahead with efficient data latch assignment in non-volatile memory read operations
US7616506B2 (en) * 2006-12-28 2009-11-10 Sandisk Corporation Systems for complete word line look ahead with efficient data latch assignment in non-volatile memory read operations
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
KR100813631B1 (ko) * 2007-03-19 2008-03-14 삼성전자주식회사 읽기 성능을 향상시킬 수 있는 플래시 메모리 장치
US7477547B2 (en) 2007-03-28 2009-01-13 Sandisk Corporation Flash memory refresh techniques triggered by controlled scrub data reads
US7573773B2 (en) * 2007-03-28 2009-08-11 Sandisk Corporation Flash memory with data refresh triggered by controlled scrub data reads
US7606072B2 (en) * 2007-04-24 2009-10-20 Sandisk Corporation Non-volatile storage with compensation for source voltage drop
US7606071B2 (en) * 2007-04-24 2009-10-20 Sandisk Corporation Compensating source voltage drop in non-volatile storage
KR100927119B1 (ko) * 2007-05-10 2009-11-18 삼성전자주식회사 불 휘발성 반도체 메모리 장치 및 그것의 프로그램 방법
JP2008310841A (ja) * 2007-06-12 2008-12-25 Panasonic Corp 半導体記憶装置及び電子装置
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US7849275B2 (en) 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
US7903486B2 (en) 2007-11-19 2011-03-08 Sandforce, Inc. System, method, and computer program product for increasing a lifetime of a plurality of blocks of memory
US8453022B2 (en) 2007-12-05 2013-05-28 Densbits Technologies Ltd. Apparatus and methods for generating row-specific reading thresholds in flash memory
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
US8307180B2 (en) 2008-02-28 2012-11-06 Nokia Corporation Extended utilization area for a memory device
US7961512B2 (en) * 2008-03-19 2011-06-14 Sandisk Corporation Adaptive algorithm in cache operation with dynamic data latch requirements
US7986554B2 (en) 2008-03-19 2011-07-26 Sandisk Technologies Inc. Different combinations of wordline order and look-ahead read to improve non-volatile memory performance
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
GB2474592B (en) * 2008-05-13 2013-01-23 Rambus Inc Fractional program commands for memory devices
US8130576B2 (en) * 2008-06-30 2012-03-06 Intel Corporation Memory throughput increase via fine granularity of precharge management
US7729166B2 (en) * 2008-07-02 2010-06-01 Mosaid Technologies Incorporated Multiple-bit per cell (MBC) non-volatile memory apparatus and system having polarity control and method of programming same
KR101395152B1 (ko) 2008-07-18 2014-05-15 삼성전자주식회사 비휘발성 메모리 셀, 비휘발성 메모리 장치 및 상기비휘발성 메모리 장치의 프로그래밍 방법
US7852671B2 (en) 2008-10-30 2010-12-14 Micron Technology, Inc. Data path for multi-level cell memory, methods for storing and methods for utilizing a memory array
KR20110110106A (ko) * 2008-12-09 2011-10-06 램버스 인코포레이티드 병행 및 파이프라인화 메모리 동작을 위한 비휘발성 메모리 디바이스
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8832353B2 (en) * 2009-04-07 2014-09-09 Sandisk Technologies Inc. Host stop-transmission handling
JP5532671B2 (ja) * 2009-05-08 2014-06-25 ソニー株式会社 データ記憶システムおよびデータ記憶方法、実行装置および制御方法、並びに制御装置および制御方法
US8874824B2 (en) 2009-06-04 2014-10-28 Memory Technologies, LLC Apparatus and method to share host system RAM with mass storage memory RAM
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
US8180994B2 (en) * 2009-07-08 2012-05-15 Sandisk Technologies Inc. Optimized page programming order for non-volatile memory
WO2011010184A1 (en) 2009-07-20 2011-01-27 Freescale Semiconductor, Inc. Signal processing system, integrated circuit comprising buffer control logic and method therefor
US8516166B2 (en) * 2009-07-20 2013-08-20 Lsi Corporation System, method, and computer program product for reducing a rate of data transfer to at least a portion of memory
JP5316299B2 (ja) * 2009-08-07 2013-10-16 富士通セミコンダクター株式会社 半導体メモリ、システムおよび半導体メモリの動作方法
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
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
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
KR101893332B1 (ko) 2009-11-13 2018-08-31 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치 및 반도체 장치의 구동 방법
KR101636248B1 (ko) * 2009-12-10 2016-07-06 삼성전자주식회사 플래시 메모리 장치, 이를 포함하는 플래시 메모리 시스템 및 이의 프로그램 방법
US8213243B2 (en) * 2009-12-15 2012-07-03 Sandisk 3D Llc Program cycle skip
JP2011129176A (ja) * 2009-12-15 2011-06-30 Toshiba Corp 不揮発性半導体記憶装置
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
US9092340B2 (en) * 2009-12-18 2015-07-28 Sandisk Technologies Inc. Method and system for achieving die parallelism through block interleaving
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8248850B2 (en) * 2010-01-28 2012-08-21 Sandisk Technologies Inc. Data recovery for non-volatile memory based on count of data state-specific fails
US8107298B2 (en) * 2010-01-29 2012-01-31 Sandisk Technologies Inc. Non-volatile memory with fast binary programming and reduced power consumption
JP2011187141A (ja) * 2010-03-10 2011-09-22 Toshiba Corp 転送回路及びそれを用いた不揮発性半導体記憶装置
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US20110252185A1 (en) * 2010-04-08 2011-10-13 Silicon Storage Technology, Inc. Method Of Operating A NAND Memory Controller To Minimize Read Latency Time
US8416624B2 (en) 2010-05-21 2013-04-09 SanDisk Technologies, Inc. Erase and programming techniques to reduce the widening of state distributions in non-volatile memories
TW201212018A (en) * 2010-06-24 2012-03-16 Mediatek Inc Optical recording method and system
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8432732B2 (en) 2010-07-09 2013-04-30 Sandisk Technologies Inc. Detection of word-line leakage 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
US8305807B2 (en) 2010-07-09 2012-11-06 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US8310870B2 (en) 2010-08-03 2012-11-13 Sandisk Technologies Inc. Natural threshold voltage distribution compaction in non-volatile memory
WO2012021379A2 (en) * 2010-08-10 2012-02-16 Rambus Inc. Verify before program resume for memory devices
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8675418B2 (en) * 2010-08-31 2014-03-18 Taiwan Semiconductor Manufacturing Company, Ltd. Memory write assist
US8595414B2 (en) * 2010-09-30 2013-11-26 Apple Inc. Selectively combining commands for a system having non-volatile memory
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
KR20120066347A (ko) * 2010-12-14 2012-06-22 삼성전자주식회사 비휘발성 메모리 장치 및 그 구동 방법
KR101212739B1 (ko) 2010-12-21 2012-12-14 에스케이하이닉스 주식회사 비휘발성 메모리장치 및 이의 동작방법
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
US8819328B2 (en) 2010-12-30 2014-08-26 Sandisk Technologies Inc. Controller and method for performing background operations
KR101861739B1 (ko) * 2011-01-03 2018-05-29 삼성전자주식회사 출력 드라이버 및 이를 포함하는 장치들
KR20120091648A (ko) * 2011-02-09 2012-08-20 삼성전자주식회사 비휘발성 메모리, 이를 포함하는 시스템, 및 이의 프로그램 방법
US8631288B2 (en) 2011-03-14 2014-01-14 Micron Technology, Inc. Methods, devices, and systems for data sensing in a memory system
US8693258B2 (en) * 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
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
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
US8379454B2 (en) 2011-05-05 2013-02-19 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US8843693B2 (en) 2011-05-17 2014-09-23 SanDisk Technologies, Inc. Non-volatile memory and method with improved data scrambling
US8432740B2 (en) 2011-07-21 2013-04-30 Sandisk Technologies Inc. Program algorithm with staircase waveform decomposed into multiple passes
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
US20130031431A1 (en) * 2011-07-28 2013-01-31 Eran Sharon Post-Write Read in Non-Volatile Memories Using Comparison of Data as Written in Binary and Multi-State Formats
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
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
US8842476B2 (en) 2011-11-09 2014-09-23 Sandisk Technologies Inc. Erratic program detection for non-volatile storage
US8630118B2 (en) 2011-11-09 2014-01-14 Sandisk Technologies Inc. Defective word line detection
US8687421B2 (en) 2011-11-21 2014-04-01 Sandisk Technologies Inc. Scrub techniques for use with dynamic read
US9286205B2 (en) 2011-12-20 2016-03-15 Intel Corporation Apparatus and method for phase change memory drift management
US8488382B1 (en) * 2011-12-21 2013-07-16 Sandisk Technologies Inc. Erase inhibit for 3D non-volatile memory
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
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
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
US8817569B2 (en) 2012-03-19 2014-08-26 Sandisk Technologies Inc. Immunity against temporary and short power drops in non-volatile memory
US9135192B2 (en) 2012-03-30 2015-09-15 Sandisk Technologies Inc. Memory system with command queue reordering
US9311226B2 (en) * 2012-04-20 2016-04-12 Memory Technologies Llc Managing operational state data of a memory module using host memory in association with state change
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
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
US9075727B2 (en) 2012-06-14 2015-07-07 International Business Machines Corporation Reducing penalties for cache accessing operations
US9015423B2 (en) * 2012-06-14 2015-04-21 International Business Machines Corporation Reducing store operation busy times
US8750045B2 (en) 2012-07-27 2014-06-10 Sandisk Technologies Inc. Experience count dependent program algorithm for flash memory
US8755226B2 (en) * 2012-08-07 2014-06-17 Kabushiki Kaisha Toshiba Storage device and control method of nonvolatile memory
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
US9135989B2 (en) 2012-09-06 2015-09-15 Sandisk Technologies Inc. Write data preservation for non-volatile storage
US9329986B2 (en) 2012-09-10 2016-05-03 Sandisk Technologies Inc. Peak current management in multi-die non-volatile memory devices
US9810723B2 (en) 2012-09-27 2017-11-07 Sandisk Technologies Llc Charge pump based over-sampling ADC for current detection
US9164526B2 (en) 2012-09-27 2015-10-20 Sandisk Technologies Inc. Sigma delta over-sampling charge pump analog-to-digital converter
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
WO2014074496A2 (en) 2012-11-09 2014-05-15 Sandisk Technologies Inc. Cam nand with or function and full chip search capability
US8780632B2 (en) 2012-11-09 2014-07-15 Sandisk Technologies Inc. De-duplication techniques using NAND flash based content addressable memory
US10127150B2 (en) 2012-11-09 2018-11-13 Sandisk Technologies Llc Key value addressed storage drive using NAND flash based content addressable memory
WO2014074483A2 (en) 2012-11-09 2014-05-15 Sandisk Technologies Inc. On-device data analytics using nand flash based intelligent memory
US8780634B2 (en) 2012-11-09 2014-07-15 Sandisk Technologies Inc. CAM NAND with OR function and full chip search capability
US8780633B2 (en) 2012-11-09 2014-07-15 SanDisk Technologies, Inc. De-duplication system using NAND flash based content addressable memory
US8817541B2 (en) 2012-11-09 2014-08-26 Sandisk Technologies Inc. Data search using bloom filters and NAND based content addressable memory
US8780635B2 (en) 2012-11-09 2014-07-15 Sandisk Technologies Inc. Use of bloom filter and improved program algorithm for increased data protection in CAM NAND memory
US8634248B1 (en) 2012-11-09 2014-01-21 Sandisk Technologies Inc. On-device data analytics using NAND flash based intelligent memory
US8792279B2 (en) 2012-11-09 2014-07-29 Sandisk Technologies Inc. Architectures for data analytics using computational NAND memory
US8811085B2 (en) 2012-11-09 2014-08-19 Sandisk Technologies Inc. On-device data analytics using NAND flash based intelligent memory
US8773909B2 (en) 2012-11-09 2014-07-08 Sandisk Technologies Inc. CAM NAND with or function and full chip search capability
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9171620B2 (en) 2012-11-29 2015-10-27 Sandisk Technologies Inc. Weighted read scrub for nonvolatile memory
KR20150098649A (ko) 2012-12-22 2015-08-28 퀄컴 인코포레이티드 비-휘발성 메모리의 이용을 통한 휘발성 메모리의 전력 소비 감소
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US8710914B1 (en) 2013-02-08 2014-04-29 Sandisk Technologies Inc. Voltage regulators with improved wake-up response
US8928367B2 (en) 2013-02-28 2015-01-06 Sandisk Technologies Inc. Pre-charge circuit with reduced process dependence
US9075424B2 (en) 2013-03-06 2015-07-07 Sandisk Technologies Inc. Compensation scheme to improve the stability of the operational amplifiers
US9384839B2 (en) 2013-03-07 2016-07-05 Sandisk Technologies Llc Write sequence providing write abort protection
US9142270B2 (en) * 2013-03-08 2015-09-22 Cypress Semiconductor Corporation Pipelining in a memory
US8947972B2 (en) 2013-03-15 2015-02-03 Sandisk 3D Llc Dynamic address grouping for parallel programming in non-volatile memory
US9037902B2 (en) 2013-03-15 2015-05-19 Sandisk Technologies Inc. Flash memory techniques for recovering from write interrupt resulting from voltage fault
US8947944B2 (en) 2013-03-15 2015-02-03 Sandisk 3D Llc Program cycle skip evaluation before write operations in non-volatile memory
US9047933B2 (en) 2013-04-22 2015-06-02 Sandisk Technologies Inc. High speed signaling techniques to improve performance of integrated circuits
US9183940B2 (en) 2013-05-21 2015-11-10 Aplus Flash Technology, Inc. Low disturbance, power-consumption, and latency in NAND read and program-verify operations
FR3006094A1 (fr) * 2013-05-21 2014-11-28 St Microelectronics Rousset Ecriture d'une memoire eeprom sur bus i2c
FR3006097A1 (fr) * 2013-05-21 2014-11-28 St Microelectronics Rousset Mecanisme d'ecriture d'une memoire eeprom sur bus i2c
KR20140142759A (ko) 2013-05-31 2014-12-15 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 그의 동작방법과 비휘발성 메모리 장치를 포함하는 시스템
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
WO2014210424A2 (en) 2013-06-27 2014-12-31 Aplus Flash Technology, Inc. Novel nand array architecture for multiple simultaneous program and read
US20150006784A1 (en) 2013-06-27 2015-01-01 Sandisk Technologies Inc. Efficient Post Write Read in Three Dimensional Nonvolatile Memory
US9195406B2 (en) 2013-06-28 2015-11-24 Micron Technology, Inc. Operation management in a memory device
US9063671B2 (en) 2013-07-02 2015-06-23 Sandisk Technologies Inc. Write operations with full sequence programming for defect management in nonvolatile memory
US9218242B2 (en) 2013-07-02 2015-12-22 Sandisk Technologies Inc. Write operations for defect management in nonvolatile memory
US9230677B2 (en) 2013-07-25 2016-01-05 Aplus Flash Technology, Inc NAND array hiarchical BL structures for multiple-WL and all-BL simultaneous erase, erase-verify, program, program-verify, and read operations
KR102133362B1 (ko) 2013-08-14 2020-07-15 삼성전자주식회사 비휘발성 메모리 장치, 그것을 포함하는 메모리 시스템, 및 그것의 프로그램 방법
US8981750B1 (en) 2013-08-21 2015-03-17 Sandisk Technologies Inc. Active regulator wake-up time improvement by capacitive regulation
US9293205B2 (en) 2013-09-14 2016-03-22 Aplus Flash Technology, Inc Multi-task concurrent/pipeline NAND operations on all planes
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
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
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
US9711225B2 (en) 2013-10-16 2017-07-18 Sandisk Technologies Llc Regrouping and skipping cycles in non-volatile memory
US9043537B1 (en) 2013-11-21 2015-05-26 Sandisk Technologies Inc. Update block programming order
US9218891B2 (en) * 2013-11-27 2015-12-22 Silicon Motion, Inc. Data storage device and flash memory control method
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
US9280419B2 (en) 2013-12-16 2016-03-08 International Business Machines Corporation Dynamic adjustment of data protection schemes in flash storage systems based on temperature, power off duration and flash age
WO2015100434A2 (en) 2013-12-25 2015-07-02 Aplus Flash Technology, Inc A HYBRID NAND WITH ALL-BL m-PAGE OPERATION SCHEME
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
KR102187521B1 (ko) 2014-01-28 2020-12-08 삼성전자주식회사 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 메모리 시스템 및 불휘발성 메모리에 데이터를 프로그램하는 프로그램 방법
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9437302B2 (en) 2014-02-06 2016-09-06 Sandisk Technologies Llc State-dependent lockout in non-volatile memory
US9230689B2 (en) 2014-03-17 2016-01-05 Sandisk Technologies Inc. Finding read disturbs on non-volatile memories
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
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
US9514835B2 (en) 2014-07-10 2016-12-06 Sandisk Technologies Llc Determination of word line to word line shorts between adjacent blocks
US9460809B2 (en) 2014-07-10 2016-10-04 Sandisk Technologies Llc AC stress mode to screen out word line to word line shorts
US9659636B2 (en) 2014-07-22 2017-05-23 Peter Wung Lee NAND memory array with BL-hierarchical structure for concurrent all-BL, all-threshold-state program, and alternative-WL program, odd/even read and verify operations
US9240249B1 (en) 2014-09-02 2016-01-19 Sandisk Technologies Inc. AC stress methods to screen out bit line defects
US9202593B1 (en) 2014-09-02 2015-12-01 Sandisk Technologies Inc. Techniques for detecting broken word lines in non-volatile memories
US9449694B2 (en) 2014-09-04 2016-09-20 Sandisk Technologies Llc Non-volatile memory with multi-word line select for defect detection operations
TWI559320B (zh) * 2014-09-10 2016-11-21 東芝股份有限公司 半導體儲存裝置
US9275714B1 (en) * 2014-09-26 2016-03-01 Qualcomm Incorporated Read operation of MRAM using a dummy word line
US9552171B2 (en) 2014-10-29 2017-01-24 Sandisk Technologies Llc Read scrub with adaptive counter management
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
US9978456B2 (en) 2014-11-17 2018-05-22 Sandisk Technologies Llc Techniques for reducing read disturb in partially written blocks of non-volatile memory
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US9349479B1 (en) 2014-11-18 2016-05-24 Sandisk Technologies Inc. Boundary word line operation in nonvolatile memory
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
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
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9564215B2 (en) 2015-02-11 2017-02-07 Sandisk Technologies Llc Independent sense amplifier addressing and quota sharing in non-volatile memory
US9449700B2 (en) 2015-02-13 2016-09-20 Sandisk Technologies Llc Boundary word line search and open block read methods with reduced read disturb
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
KR20160127524A (ko) 2015-04-27 2016-11-04 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
KR102282196B1 (ko) 2015-04-28 2021-07-27 삼성전자 주식회사 비휘발성 메모리 장치, 메모리 시스템 및 그것의 동작 방법
CN107430879B (zh) * 2015-05-08 2020-07-21 桑迪士克科技有限责任公司 非易失性储存装置的数据映射
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
US9653154B2 (en) 2015-09-21 2017-05-16 Sandisk Technologies Llc Write abort detection for multi-state memories
US9858009B2 (en) 2015-10-26 2018-01-02 Sandisk Technologies Llc Data folding in 3D nonvolatile memory
US9711211B2 (en) 2015-10-29 2017-07-18 Sandisk Technologies Llc Dynamic threshold voltage compaction for non-volatile memory
KR20170050953A (ko) * 2015-11-02 2017-05-11 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
KR102435027B1 (ko) 2015-11-09 2022-08-23 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 읽기 방법
WO2017086925A1 (en) 2015-11-17 2017-05-26 Hewlett Packard Enterprise Development Lp Iterative write sequence interrupt
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US9698676B1 (en) 2016-03-11 2017-07-04 Sandisk Technologies Llc Charge pump based over-sampling with uniform step size for current detection
US9996280B2 (en) 2016-03-15 2018-06-12 Sandisk Technologies Llc Data register copying for non-volatile storage array operations
KR20180011376A (ko) 2016-07-21 2018-02-01 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US9898229B1 (en) 2016-07-29 2018-02-20 Sandisk Technologies Llc Systems and methods of memory reads
JP2018041154A (ja) * 2016-09-05 2018-03-15 東芝メモリ株式会社 ストレージシステムおよび処理方法
US9767914B1 (en) 2016-10-10 2017-09-19 Wingyu Leung Durable maintenance of memory cell electric current sense window following program-erase operations to a non-volatile memory
CN106502919B (zh) * 2016-10-11 2019-05-31 上海东软载波微电子有限公司 一种Flash闪存的写操作方法及装置
US10379940B2 (en) 2016-12-08 2019-08-13 Sandisk Technologies Llc Pipeline delay detection during decoding by a data storage device
KR102639697B1 (ko) 2017-01-09 2024-02-21 삼성전자주식회사 비휘발성 메모리 장치 및 그 프로그램 방법
JP6783682B2 (ja) * 2017-02-27 2020-11-11 キオクシア株式会社 半導体記憶装置及びメモリシステム
JP2019029045A (ja) * 2017-07-26 2019-02-21 東芝メモリ株式会社 半導体記憶装置
KR102631353B1 (ko) * 2017-08-17 2024-01-31 삼성전자주식회사 비휘발성 메모리 장치 및 이의 동작 방법
EP3688599A4 (en) * 2017-09-30 2021-07-28 Micron Technology, INC. PRE-EMPTIVE READ SCANS DURING INACTIVITY
KR20190090268A (ko) * 2018-01-24 2019-08-01 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US10642746B2 (en) 2018-03-22 2020-05-05 Western Digital Technologies, Inc. Controlling cached/non-cached memory access decisions based on memory access queue fill levels
KR20200023758A (ko) * 2018-08-27 2020-03-06 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
JP2020047335A (ja) 2018-09-18 2020-03-26 キオクシア株式会社 不揮発性メモリ及びメモリシステム
KR20200034312A (ko) * 2018-09-21 2020-03-31 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11055184B2 (en) 2018-12-19 2021-07-06 Vmware, Inc. In-place garbage collection of a sharded, replicated distributed state machine based on supersedable operations
US11360704B2 (en) * 2018-12-21 2022-06-14 Micron Technology, Inc. Multiplexed signal development in a memory device
US10877881B2 (en) * 2019-01-11 2020-12-29 Vmware, Inc. In-place garbage collection of a sharded, replicated distributed state machine based on mergeable operations
KR20200098009A (ko) 2019-02-11 2020-08-20 삼성전자주식회사 비휘발성 메모리 장치 및 그 동작 방법
US10811082B1 (en) 2019-06-24 2020-10-20 Sandisk Technologies Llc Non-volatile memory with fast data cache transfer scheme
US10825526B1 (en) * 2019-06-24 2020-11-03 Sandisk Technologies Llc Non-volatile memory with reduced data cache buffer
US11152054B2 (en) 2019-08-28 2021-10-19 Micron Technology, Inc. Apparatuses and methods for performing background operations in memory using sensing circuitry
US11681797B2 (en) 2019-08-28 2023-06-20 Micron Technology, Inc. Row activation prevention using fuses
KR20210060867A (ko) * 2019-11-19 2021-05-27 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
CN111400201B (zh) * 2020-03-19 2022-08-16 合肥兆芯电子有限公司 快闪存储器的数据整理方法、存储装置及控制电路单元
US11288011B2 (en) 2020-03-26 2022-03-29 Western Digital Technologies, Inc. Non-volatile memory array with write failure protection for multi-level cell (MLC) storage elements using coupled writes
KR20220001137A (ko) 2020-06-29 2022-01-05 에스케이하이닉스 주식회사 메모리 시스템, 메모리 장치 및 메모리 장치의 동작 방법
US11816343B2 (en) * 2020-11-30 2023-11-14 Western Digital Technologies, Inc. Data storage device enabling latches of non-volatile memory dies for use as externally-accessible volatile memory
CN112466372B (zh) * 2020-12-23 2021-12-21 芯天下技术股份有限公司 一种小尺寸Latch单元电路及Flash芯片
CN113409852A (zh) * 2021-06-17 2021-09-17 芯天下技术股份有限公司 一种提高闪存编程效率的方法、装置、存储介质和终端
US11651800B2 (en) * 2021-06-22 2023-05-16 Sandisk Technologies Llc Sense amplifier mapping and control scheme for non-volatile memory
US11776599B2 (en) * 2021-09-24 2023-10-03 Advanced Micro Devices, Inc. Encoded enable clock gaters

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5034922A (en) * 1987-12-21 1991-07-23 Motorola, Inc. Intelligent electrically erasable, programmable read-only memory with improved read latency
KR20030052943A (ko) * 2001-12-21 2003-06-27 후지쯔 가부시끼가이샤 Nand형 플래시 메모리용의 간극이 없는 프로그래밍
JP2006031871A (ja) 2004-07-20 2006-02-02 Toshiba Corp 半導体記憶装置

Family Cites Families (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1224062B (it) * 1979-09-28 1990-09-26 Ates Componenti Elettron Metodo di programmazione per una memoria a semiconduttore non volatile elettricamente alterabile
US4785427A (en) * 1987-01-28 1988-11-15 Cypress Semiconductor Corporation Differential bit line clamp
US5093806A (en) * 1988-02-16 1992-03-03 Tran Hiep V Sensing and decoding scheme for a bicmos read/write memory
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
US5172338B1 (en) * 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
DE69033438T2 (de) * 1989-04-13 2000-07-06 Sandisk Corp Austausch von fehlerhaften Speicherzellen einer EEprommatritze
EP0407087B1 (en) 1989-07-06 1997-08-20 Digital Equipment Corporation Memory subsystem input queue
JP2646850B2 (ja) * 1990-11-30 1997-08-27 日本電気株式会社 半導体メモリ回路
US5343063A (en) * 1990-12-18 1994-08-30 Sundisk Corporation Dense vertical programmable read only memory cell structure and processes for making them
US5218569A (en) 1991-02-08 1993-06-08 Banks Gerald J Electrically alterable non-volatile memory with n-bits per memory cell
US5490107A (en) * 1991-12-27 1996-02-06 Fujitsu Limited Nonvolatile semiconductor memory
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
JP3323869B2 (ja) 1992-03-31 2002-09-09 株式会社東芝 不揮発性半導体メモリ装置
US5532962A (en) * 1992-05-20 1996-07-02 Sandisk Corporation Soft errors handling in EEPROM devices
US5315541A (en) * 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
JP3594626B2 (ja) 1993-03-04 2004-12-02 株式会社ルネサステクノロジ 不揮発性メモリ装置
JP3078946B2 (ja) 1993-03-11 2000-08-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置
US5555204A (en) * 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
US5509134A (en) * 1993-06-30 1996-04-16 Intel Corporation Method and apparatus for execution of operations in a flash memory array
US5519847A (en) * 1993-06-30 1996-05-21 Intel Corporation Method of pipelining sequential writes in a flash memory
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
KR100210985B1 (ko) * 1994-06-29 1999-07-15 니시무로 타이죠 불휘발성 반도체 기억장치
US5691994A (en) 1995-05-08 1997-11-25 Western Digital Corporation Disk drive with fast error correction validation
US5838614A (en) 1995-07-31 1998-11-17 Lexar Microsystems, Inc. Identification and verification of a sector within a block of mass storage flash memory
US5692165A (en) 1995-09-12 1997-11-25 Micron Electronics Inc. Memory controller with low skew control signal
KR0169419B1 (ko) * 1995-09-28 1999-02-01 김광호 불휘발성 반도체 메모리의 독출방법 및 장치
JP3941149B2 (ja) * 1996-12-03 2007-07-04 ソニー株式会社 半導体不揮発性記憶装置
US5893135A (en) 1995-12-27 1999-04-06 Intel Corporation Flash memory array with two interfaces for responding to RAS and CAS signals
US5724303A (en) * 1996-02-15 1998-03-03 Nexcom Technology, Inc. Non-volatile programmable memory having an SRAM capability
US5903495A (en) * 1996-03-18 1999-05-11 Kabushiki Kaisha Toshiba Semiconductor device and memory system
US5860082A (en) * 1996-03-28 1999-01-12 Datalight, Inc. Method and apparatus for allocating storage in a flash memory
FR2749682B1 (fr) 1996-06-10 1998-07-10 Bull Sa Circuit pour transborder des donnees entre memoires distantes et calculateur comprenant un tel circuit
US5784705A (en) 1996-07-15 1998-07-21 Mosys, Incorporated Method and structure for performing pipeline burst accesses in a semiconductor memory
US5768192A (en) * 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
JP3897388B2 (ja) * 1996-12-27 2007-03-22 シャープ株式会社 シリアルアクセス方式の半導体記憶装置
US6097638A (en) * 1997-02-12 2000-08-01 Kabushiki Kaisha Toshiba Semiconductor memory device
KR100272037B1 (ko) * 1997-02-27 2000-12-01 니시무로 타이죠 불휘발성 반도체 기억 장치
US5870335A (en) * 1997-03-06 1999-02-09 Agate Semiconductor, Inc. Precision programming of nonvolatile memory cells
US5732017A (en) 1997-03-31 1998-03-24 Atmel Corporation Combined program and data nonvolatile memory with concurrent program-read/data write capability
US5872739A (en) * 1997-04-17 1999-02-16 Radiant Technologies Sense amplifier for low read-voltage memory cells
JPH113290A (ja) 1997-06-11 1999-01-06 Hitachi Ltd メモリ制御方式
US5912906A (en) 1997-06-23 1999-06-15 Sun Microsystems, Inc. Method and apparatus for recovering from correctable ECC errors
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
US5867429A (en) * 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US6333871B1 (en) 1998-02-16 2001-12-25 Hitachi, Ltd. Nonvolatile semiconductor memory including a controller for providing an improved reprogram operation
US5969986A (en) * 1998-06-23 1999-10-19 Invox Technology High-bandwidth read and write architectures for non-volatile memories
KR100332950B1 (ko) 1998-04-10 2002-08-21 삼성전자 주식회사 단일비트동작모드와다중비트동작모드를갖는불휘발성반도체메모리장치및그것의기입/독출방법
US6128229A (en) 1998-09-16 2000-10-03 Sony Corporation Non-volatile semiconductor memory and method of verifying after writing and reading the same
US5949720A (en) * 1998-10-30 1999-09-07 Stmicroelectronics, Inc. Voltage clamping method and apparatus for dynamic random access memory devices
US6567302B2 (en) * 1998-12-29 2003-05-20 Micron Technology, Inc. Method and apparatus for programming multi-state cells in a memory device
US6282145B1 (en) 1999-01-14 2001-08-28 Silicon Storage Technology, Inc. Array architecture and operating methods for digital multilevel nonvolatile memory integrated circuit system
US6356485B1 (en) * 1999-02-13 2002-03-12 Integrated Device Technology, Inc. Merging write cycles by comparing at least a portion of the respective write cycle addresses
JP2000243085A (ja) 1999-02-22 2000-09-08 Hitachi Ltd 半導体装置
EP1209568A1 (en) 1999-02-22 2002-05-29 Hitachi, Ltd. Memory card, method for allotting logical address, and method for writing data
KR100287188B1 (ko) 1999-04-06 2001-04-16 윤종용 데이터 처리속도 및 데이터 입출력핀의 효율을 향상시킬 수 있는 반도체 메모리장치 및 이의 독출기입 제어방법
JP3299219B2 (ja) * 1999-05-07 2002-07-08 日本電気株式会社 ディジタルpll回路
US6253250B1 (en) * 1999-06-28 2001-06-26 Telocity, Incorporated Method and apparatus for bridging a plurality of buses and handling of an exception event to provide bus isolation
JP3863330B2 (ja) * 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
JP2001184881A (ja) 1999-12-28 2001-07-06 Toshiba Corp 不揮発性半導体メモリの読み出し回路
JP3983969B2 (ja) * 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
US6856568B1 (en) * 2000-04-25 2005-02-15 Multi Level Memory Technology Refresh operations that change address mappings in a non-volatile memory
US6396741B1 (en) 2000-05-04 2002-05-28 Saifun Semiconductors Ltd. Programming of nonvolatile memory cells
TW470967B (en) 2000-05-23 2002-01-01 Silicon Integrated Sys Corp High speed multiple ports first-in-first-out memory structure
US6504757B1 (en) * 2000-08-11 2003-01-07 Advanced Micro Devices, Inc. Double boosting scheme for NAND to improve program inhibit characteristics
US6266273B1 (en) * 2000-08-21 2001-07-24 Sandisk Corporation Method and structure for reliable data copy operation for non-volatile memories
JP2002100192A (ja) 2000-09-22 2002-04-05 Toshiba Corp 不揮発性半導体メモリ
US6252803B1 (en) * 2000-10-23 2001-06-26 Advanced Micro Devices, Inc. Automatic program disturb with intelligent soft programming for flash cells
US6684289B1 (en) 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US6349056B1 (en) 2000-12-28 2002-02-19 Sandisk Corporation Method and structure for efficient data verification operation for non-volatile memories
US6763424B2 (en) 2001-01-19 2004-07-13 Sandisk Corporation Partial block data programming and reading operations in a non-volatile memory
KR100381956B1 (ko) * 2001-02-02 2003-04-26 삼성전자주식회사 플래시 메모리 장치의 감지 증폭 회로
US6407953B1 (en) * 2001-02-02 2002-06-18 Matrix Semiconductor, Inc. Memory array organization and related test method particularly well suited for integrated circuits having write-once memory arrays
US6738289B2 (en) * 2001-02-26 2004-05-18 Sandisk Corporation Non-volatile memory with improved programming and method therefor
NO20010968A (no) 2001-02-26 2002-07-15 Thin Film Electronics Asa Ikke-destruktiv utlesing
JP3957985B2 (ja) 2001-03-06 2007-08-15 株式会社東芝 不揮発性半導体記憶装置
US6377507B1 (en) 2001-04-06 2002-04-23 Integrated Memory Technologies, Inc. Non-volatile memory device having high speed page mode operation
US6570810B2 (en) * 2001-04-20 2003-05-27 Multi Level Memory Technology Contactless flash memory with buried diffusion bit/virtual ground lines
JP2003018307A (ja) 2001-06-29 2003-01-17 Mitsutoyo Corp 測定データ処理方法およびその装置
US6671204B2 (en) 2001-07-23 2003-12-30 Samsung Electronics Co., Ltd. Nonvolatile memory device with page buffer having dual registers and methods of using the same
JP2003036681A (ja) 2001-07-23 2003-02-07 Hitachi Ltd 不揮発性記憶装置
US7177197B2 (en) 2001-09-17 2007-02-13 Sandisk Corporation Latched programming of memory and method
US6456528B1 (en) * 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
JP4454896B2 (ja) * 2001-09-27 2010-04-21 シャープ株式会社 仮想接地型不揮発性半導体記憶装置
KR100454119B1 (ko) * 2001-10-24 2004-10-26 삼성전자주식회사 캐쉬 기능을 갖는 불 휘발성 반도체 메모리 장치 및 그것의 프로그램, 읽기, 그리고 페이지 카피백 방법들
JP3851865B2 (ja) * 2001-12-19 2006-11-29 株式会社東芝 半導体集積回路
US6700820B2 (en) * 2002-01-03 2004-03-02 Intel Corporation Programming non-volatile memory devices
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 株式会社東芝 不揮発性半導体記憶装置
JP2003233993A (ja) 2002-02-08 2003-08-22 Matsushita Electric Ind Co Ltd 不揮発性記憶装置の書き換え方法
US20040023700A1 (en) * 2002-08-02 2004-02-05 Amphenol-T&M Antennas Self-contained portable hinge assembly
US7046568B2 (en) * 2002-09-24 2006-05-16 Sandisk Corporation Memory sensing circuit and method for low voltage operation
US6940753B2 (en) * 2002-09-24 2005-09-06 Sandisk Corporation Highly compact non-volatile memory and method therefor with space-efficient data registers
US6987693B2 (en) 2002-09-24 2006-01-17 Sandisk Corporation Non-volatile memory and method with reduced neighboring field errors
US7196931B2 (en) * 2002-09-24 2007-03-27 Sandisk Corporation Non-volatile memory and method with reduced source line bias errors
US7443757B2 (en) 2002-09-24 2008-10-28 Sandisk Corporation Non-volatile memory and method with reduced bit line crosstalk errors
AU2003272596A1 (en) 2002-09-24 2004-04-19 Sandisk Corporation Non-volatile memory and its sensing method
US6983428B2 (en) * 2002-09-24 2006-01-03 Sandisk Corporation Highly compact non-volatile memory and method thereof
JP4265206B2 (ja) * 2002-11-27 2009-05-20 株式会社 東北テクノアーチ 非接触導電率測定システム
US6657891B1 (en) * 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
US7073103B2 (en) 2002-12-05 2006-07-04 Sandisk Corporation Smart verify for multi-state memories
US6829167B2 (en) 2002-12-12 2004-12-07 Sandisk Corporation Error recovery for nonvolatile memory
JP3920768B2 (ja) 2002-12-26 2007-05-30 株式会社東芝 不揮発性半導体メモリ
DE60306488D1 (de) * 2003-02-27 2006-08-10 St Microelectronics Srl Eingebautes Testverfahren in einem Flash Speicher
US7093062B2 (en) * 2003-04-10 2006-08-15 Micron Technology, Inc. Flash memory data bus for synchronous burst read page
JP3913704B2 (ja) * 2003-04-22 2007-05-09 株式会社東芝 不揮発性半導体記憶装置及びこれを用いた電子装置
JP2004326974A (ja) * 2003-04-25 2004-11-18 Toshiba Corp 半導体集積回路装置及びicカード
US7392436B2 (en) * 2003-05-08 2008-06-24 Micron Technology, Inc. Program failure recovery
US7012835B2 (en) * 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US6868009B1 (en) 2003-10-20 2005-03-15 Macronix International Co., Ltd. Flash memory device with byte erase
US7372730B2 (en) * 2004-01-26 2008-05-13 Sandisk Corporation Method of reading NAND memory to compensate for coupling between storage elements
JP4170952B2 (ja) * 2004-01-30 2008-10-22 株式会社東芝 半導体記憶装置
US7177977B2 (en) 2004-03-19 2007-02-13 Sandisk Corporation Operating non-volatile memory without read disturb limitations
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
US7420847B2 (en) * 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
US7158421B2 (en) 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7120051B2 (en) 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7409473B2 (en) 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US20060140007A1 (en) 2004-12-29 2006-06-29 Raul-Adrian Cernea Non-volatile memory and method with shared processing for an aggregate of read/write circuits
US7251160B2 (en) * 2005-03-16 2007-07-31 Sandisk Corporation Non-volatile memory and method with power-saving read and program-verify operations
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
US7196928B2 (en) * 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling during read operations of non-volatile memory
US7187585B2 (en) 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7224614B1 (en) * 2005-12-29 2007-05-29 Sandisk Corporation Methods for improved program-verify operations in non-volatile memories

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5034922A (en) * 1987-12-21 1991-07-23 Motorola, Inc. Intelligent electrically erasable, programmable read-only memory with improved read latency
KR20030052943A (ko) * 2001-12-21 2003-06-27 후지쯔 가부시끼가이샤 Nand형 플래시 메모리용의 간극이 없는 프로그래밍
JP2006031871A (ja) 2004-07-20 2006-02-02 Toshiba Corp 半導体記憶装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101620772B1 (ko) 2012-04-27 2016-05-12 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 멀티-레벨 셀을 사용하는 로컬 체크포인팅
US10353625B2 (en) 2015-11-17 2019-07-16 SK Hynix Inc. Memory system and operating method of memory system
US11144248B2 (en) 2019-06-04 2021-10-12 SK Hynix Inc. Memory device and method of operating the same

Also Published As

Publication number Publication date
US20060233022A1 (en) 2006-10-19
US20060233026A1 (en) 2006-10-19
US8351269B2 (en) 2013-01-08
US8036041B2 (en) 2011-10-11
US20060233023A1 (en) 2006-10-19
US8705286B2 (en) 2014-04-22
US7505320B2 (en) 2009-03-17
CN101171641B (zh) 2012-07-11
US20120026791A1 (en) 2012-02-02
US20070002626A1 (en) 2007-01-04
US7577037B2 (en) 2009-08-18
US7619922B2 (en) 2009-11-17
EP1864289A1 (en) 2007-12-12
US7206230B2 (en) 2007-04-17
EP1864289B1 (en) 2010-02-17
DE602006012293D1 (de) 2010-04-01
JP2008535139A (ja) 2008-08-28
US7936602B2 (en) 2011-05-03
ATE458248T1 (de) 2010-03-15
US20070109867A1 (en) 2007-05-17
US20060233010A1 (en) 2006-10-19
TWI396199B (zh) 2013-05-11
US20100226176A1 (en) 2010-09-09
CN101171641A (zh) 2008-04-30
US7733703B2 (en) 2010-06-08
KR20070122208A (ko) 2007-12-28
US20130121072A1 (en) 2013-05-16
US7502260B2 (en) 2009-03-10
US20090262578A1 (en) 2009-10-22
WO2006107654A1 (en) 2006-10-12
TW200701233A (en) 2007-01-01
US20060221704A1 (en) 2006-10-05
US20060233021A1 (en) 2006-10-19
US7609552B2 (en) 2009-10-27
JP5038292B2 (ja) 2012-10-03
US7480181B2 (en) 2009-01-20
US20090067253A1 (en) 2009-03-12
US7486558B2 (en) 2009-02-03

Similar Documents

Publication Publication Date Title
KR101106977B1 (ko) 비휘발성 메모리의 캐시 동작에서의 데이터 래치의 사용
KR101106976B1 (ko) 비휘발성 메모리의 복수-국면 프로그래밍에서의 데이터래치의 사용
KR101533965B1 (ko) 페이지 내 및 페이지 사이에서 데이터의 온칩 의사-랜덤화를 위한 비휘발성 메모리와 방법
US7734861B2 (en) Pseudo random and command driven bit compensation for the cycling effects in flash memory
JP4814995B2 (ja) 読み出し操作中にデータラッチでバックグラウンドキャッシングを行う不揮発性メモリとその方法
US7345928B2 (en) Data recovery methods in multi-state memory after program fail
US7420847B2 (en) Multi-state memory having data recovery after program fail
EP2070090B1 (en) Pseudo random and command driven bit compensation for the cycling effects in flash memory and methods therefor
US7606966B2 (en) Methods in a pseudo random and command driven bit compensation for the cycling effects in flash memory
WO2006107651A1 (en) Multi-state memory having data recovery after program fail

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 8