KR20070101250A - 조기 데이타를 이용한 비휘발성 메모리의 파이프라인식프로그래밍 - Google Patents

조기 데이타를 이용한 비휘발성 메모리의 파이프라인식프로그래밍 Download PDF

Info

Publication number
KR20070101250A
KR20070101250A KR1020077013359A KR20077013359A KR20070101250A KR 20070101250 A KR20070101250 A KR 20070101250A KR 1020077013359 A KR1020077013359 A KR 1020077013359A KR 20077013359 A KR20077013359 A KR 20077013359A KR 20070101250 A KR20070101250 A KR 20070101250A
Authority
KR
South Korea
Prior art keywords
data content
programming
data
page
programming operation
Prior art date
Application number
KR1020077013359A
Other languages
English (en)
Other versions
KR101193584B1 (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 KR20070101250A publication Critical patent/KR20070101250A/ko
Application granted granted Critical
Publication of KR101193584B1 publication Critical patent/KR101193584B1/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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • G11C16/3459Circuits or methods to verify correct programming of nonvolatile memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3436Arrangements for verifying correct programming or erasure
    • G11C16/3454Arrangements for verifying correct programming or for detecting overprogrammed cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/32Timing circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Non-Volatile Memory (AREA)
  • Advance Control (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

본 발명은 메모리 시스템이 프로그래밍 공정을 차단하고 부가적인 데이터를 포함한 이 프로그램 공정을 재시작하도록 하는 기술을 제공하는 것이다. 보다 구체적으로, 메모리 시스템이 프로그래밍 단위로서 모두 셀들의 그룹으로 데이터를 프로그램할 때, 프로그래밍은 이 그룹을 유지할 수 있는 전체 데이터 내용보다 적게 시작될 수 있다. 일 실시예에서, 본 발명은 상부 및 하부 데이터 페이지들의 중첩된 프로그래밍을 허용하는데, 메모리가 하부 논리 데이터 페이지 페이지를 프로그램하기 시작하면, 동일한 물리적 페이지로 할당된 상부 페이지를 위한 데이타가 수신되는 경우, 프로그래밍은 차단되고 상부 및 하부 페이지들의 동시 프로그래밍으로 재시작된다. 실시예에서, 페이지가 다수의 데이터 섹터들을 포함할 때, 페이지의 부가적인 섹터들을 포함하도록 수신, 중단 및 재시작되는 경우 물리적 페이지의 프로그래밍은 대응하는 논리 페이지를 형성하는 전체 섹터들보다 적지만 하나 이상의 섹터들이 시작될 수 있다.
명령 회로, 제어기, 상태기, 로우 제어 회로, 메모리 셀 어레이

Description

조기 데이타를 이용한 비휘발성 메모리의 파이프라인식 프로그래밍{PIPELINED PROGRAMMING OF NON-VOLATILE MEMORIES USING EARLY DATA}
본 발명은 일반적으로 비휘발성 메모리 및 이의 동작에 관한 것이며, 특히, 프로그래밍이 개시되는 시간에서 완전한 데이터가 초기에 제공되지 않을 때 다상 메모리들의 프로그래밍 속도를 개선하는 기술들에 관한 것이다.
본 발명의 원리들은 각종 유형들의 비휘발성 메모리들에 적용하는 것인데, 이들 원리들은 기존의 것을 이용하거나 새로이 개발된 기술을 이용한다. 그러나, 본 발명의 구현방식들은 플래시 소거가능하고 프로그램가능한 판독 전용 메모리(EEPROM)에 대해서 설명되는데, 여기서 저장 소자들은 예로서 플로우팅 게이트들이다.
2진 모드로 동작하여 단일 데이터 비트를 저장하는 플래시 EEPROM의 각 플로우팅 게이트 저장 소자 제품이 현재 상업화되었는데, 플로우팅 게이트 트랜지스터들의 임계 레벨들의 2개의 범위들은 저장 레벨들로서 규정된다. 플로우팅 게이트의 임계 레벨들은 자신들의 플로우팅 게이트들 상에 저장되는 전하 레벨들의 범위들에 대응한다. 메모리 어레이들의 크기를 축소하는 것 이외에도, 각 플로우팅 게이트 트랜지스터에서 하나 이상의 데이터 비트를 저장함으로써 이와 같은 메모리 어레이 들의 데이터 저장 밀도를 더욱 증가시키는 것이 추세이다. 이는 각 플로우팅 게이트 트랜지스터에 대한 저장 상태들로서 2개 이상의 임계 레벨들을 규정함으로써 성취되는데, 4개의 이와 같은 상태들(플로우팅 게이트 저장 소자 당 데이터 2비트들)이 현재 시장 제품들에 포함된다. 저장 소자 당 16개의 상태들과 같은 더 많은 저장 상태들이 고려된다. 각 플로우팅 게이트 메모리 트랜지스터는 실제 동작될 수 있는 임계 전압들의 특정 총 범위(윈도우)를 갖는데, 이 범위는 메모리 트랜지스터에 대해 규정된 상태들의 수 더하기 상태들 간의 마진들로 나뉘어져 이들이 서로 명백하게 구별될 수 있도록 한다.
각 메모리 셀에 저장된 상태들의 수가 증가함에 따라서, 플로우팅 게이트 저장 소자들 상에 프로그램된 전하 레벨에서 임의의 시프트들의 공차는 감소된다. 각 저장 상태에 대해 지정된 전하 범위들은 반드시 좁게되어야 하고 각 메모리 셀 저장 소자 상에 저장된 상태들의 수가 증가함에 따라서 모두 밀접하게 배치되어야 하기 때문에 프로그래밍은 증가된 정확도로 수행되고 허용될 수 있거나, 저장된 전하 레벨들의 임의의 후 프로그래밍 시프트들(post-programming shifts), 실제 또는 명백한 시프트들의 정도가 감소된다. 한 셀에 저장된 전하의 실제 시프트들은 동일한 칼럼 또는 로우에 있는 셀과 라인 또는 노드를 공유하는 셀들과 같은 셀과 어느 정도 전기적 결합하는 다른 셀들을 판독, 프로그래밍 및 소거할 때 외란될 수 있다.
저장된 전하의 명백한 시프트들은 저장 소자들 간의 필드 결합 때문에 발생된다. 메모리 셀 어레이들의 크기들이 감소됨에 따라서 그리고 집적 회로 제조 기술들의 향상 결과에 따라서 이 결합도는 반드시 증가한다. 상이한 시간에서 프로그 램된 2세트의 인접 셀들 간에서 문제가 가장 크게 발생된다. 한 세트의 셀들은 전라 레벨을 한 세트의 데이터에 대응하는 이들 셀들의 플로우팅 게이트들에 부가하도록 프로그램된다. 제2 세트의 셀들은 제2 세트의 데이터로 프로그램된 후, 제1 세트의 셀들의 플로우팅 게이트들로부터 판독된 전하 레벨들은 상기 제1 세트와 결합되는 제2 세트의 플로우팅 게이트들에 대한 전하의 영향 때문에 프로그램된 것과 다르게 종종 나타난다. 이는 본원에 전반적으로 참조된 미국 특허 5,867,429 및 5,930,167에 개시되어 있다. 이들 특허들은 2 세트의 플로우팅 게이트들을 서로 물리적으로 절연시키거나 상기 제1 세트의 전하 레벨을 판독할 때 제2 세트의 플로우팅 게이트들에 대한 전하의 영향을 고려하는 것을 개시한다. 게다가, 특히 5,930,167은 데이터를 초기에 프로그램하는데 걸리는 시간을 줄이기 위하여 단지 2가지 상태들로 또는 감소된 마진으로 캐쉬 메모리로서 다상 메모리의 부분들을 선택적으로 프로그램하는 방법들을 개시한다. 이 데이터는 나중에 판독되고 2가지 이상의 상태들로 또는 증가된 마진으로 메모리로 재프로그램된다.
이 영향은 다양한 유형의 플래시 EEPROM 셀 어레이들에 존재한다. 한 가지 설계의 NOR 어레이는 인접 비트(칼럼) 라인들 및 워드(로우) 라인들에 연결된 제어 게이들 간에 연결된 메모리 셀들을 갖는다. 개별적인 셀들은 선택 트랜지스터와 직렬로 형성되거나 형성되지 않는 하나의 플로우팅 게이트 트랜지스터 또는 단일 선택 트랜지스터에 의해 분리된 2개의 플로우팅 게이트 트랜지스터들을 포함한다. 이와 같은 어레이들의 예들 및 저장 시스템들의 사용은 본원에 전반적으로 참조된 샌디스크 사의 다음 미국 특허들과 계류중인 출원들에 제공된다: 특허 번호 5,095,344, 5,172,338, 5,602,987, 5,663,901, 5,430,859, 5,657,332, 5,712,180, 5,890,192 및 6,151,248 및 2000년 2월 17일에 출원된 일련 번호 09/505,555, 및 2000년 9월 22일에 출원된 09/667,344.
한 설계의 NAND 어레이는 비트 라인 및 양단에서의 선택 트랜지스틀 통한 기준 전위 간의 직렬 스트링으로 연결된 8, 16, 또는 심지어 32와 같은 다수의 메모리 셀들을 갖는다. 워드 라인들은 상이한 직렬 스트링에서 셀들의 제어 게이트들과 연결된다. 이와 같은 어레이들 및 이들의 동작의 관련 예들은 본원에 전반적으로 참조된 다음 미국 특허들에 제공된다: 5,570,315, 5,774,397, 및 6,046,935. 요약하면, 인입 데이터의 상이한 논리적 페이지로부터의 데이터의 2비트는 2 단계로 개별적인 셀들의 4개의 상태들 중 한 상태로 프로그램되는데, 우선 데이터의 1비트에 따라서 셀을 한 상태로 프로그램하며, 데이터가 필요로 되면, 인입 데이터의 제2 비트에 따라서 상태들 중 또 다른 한 상태로 셀을 재프로그램한다.
이들 특허들에서 설명된 바와 같이, 이들 다상(또는 MLC) 메모리들에 저장된 데이터를 인코딩하는 보편적인 기술은 다상 레벨 셀들의 동일한 세트에 데이터의 상부 페이지 및 데이터의 하부 페이지를 저장하도록 하는 것이다.이 장치는, MLC 플래시 메모리의 물리적 페이지가 하부 페이지 데이터로 프로그램되는 경우, 실제로 하부 및 상부 페이지 데이터가 동일한 물리적 페이지로 프로그램되도록 하고자 할 때 사용자(제어기)는 상부 페이지 데이터를 프로그래밍을 시작할 수 있도록 프로그래밍이 완료될 때까지 대기하여야 하는 단점을 갖는다. 이들 설계들에서 다수의 데이터 전달 단위들에 대응하는 데이터 량을 포함하는 페이지에 데이터를 기록 하도록 하는 것이 보편적이다. 이는 플래시 메모리가 부분적으로 프로그램되는 경우, 다중-섹터 또는 다중-플레인 페이지가 단지 데이터의 단일 섹터로 프로그램될 때처럼 사용자는 동일한 페이지의 또다른 부분적인 프로그램을 시작할 수 있도록 완료될 때까지 대기하여야 하는 단점을 초래한다. 이들 단점들을 감소시키거나 제거하면 비휘발성 메모리 시스템들의 성능은 개선될 수 있다.
요약하면 그리고 일반적으로, 본 발명은 메모리 시스템이 프로그래밍 공정을 차단하고 부가적인 데이터를 포함한 이 공정을 재시작하도록 하는 기술을 제공한다. 보다 구체적으로, 메모리 시스템이 프로그래밍 단위로서 모두 셀들의 그룹으로 데이터를 프로그램할 때, 프로그래밍은 이 그룹을 유지할 수 있는 전체 데이터 내용보다 적게 시작될 수 있다. 이 그룹에 할당된 부가적인 데이터는 프로그램이 진행중인 동안 도달되면, 이 프로그래밍은 차단되고 메모리 셀들의 현재 상태가 결정된다. 그 후, 부가적인 데이터는 완료될 때까지 또는 이 그룹에 할당되는 훨씬 더 많은 부가적인 데이터가 메모리에 도달될 때까지 프로그램되는 데이터에 결합되고 프로그래밍은 재개한다. 이는 공정에서 부분적인 컨텐트 프로그래밍이 완료될 때까지 대기하는 것이 아니라 도달될 때 부가적인 데이터의 프로그래밍이 시작하기 때문에 성능을 개선시킨다.
본 발명의 또 다른 양상에서, 본 발명은 상부 및 하부 페이지들의 중첩된 프로그래밍을 허용한다. 다중-패스 프로그래밍을 이용하는 다상 시스템에서, 메모리의 물리적 페이지에 할당되는 하부 논리적 데이터 페이지는 프로그래밍하기 시작한다. 동일한 물리적 페이지에 할당되는 상부 논리적 데이터 페이지가 메모리로 전달되면, 하부 페이지의 프로그래밍은 차단되고 하부 페이지 프로그래밍의 상태가 설정된다. 메모리는 다상 프로그래밍 모드로 변환되어 상부 및 하부 페이지 데이터를 동시에 기록한다. 이는 관련된 상부 페이지를 대기함이 없이 이용가능하자 마자 하부 페이지 데이터를 프로그램하기 시작한다. 이는 또한 하부 페이지에 기록하는 것을 완료하기 위하여 제1 프로그래밍 패스를 대기함이 없이 이용가능하자 마자 상부 페이지를 프로그램하기 시작한다.
본 발명의 또 다른 양상에서, 물리적 페이지로 프로그래밍은 페이지를 구성하는 전체 상보적인 플레인들보다 적게 대응하는 경우 조차도 소정 물리적 페이지로 할당된 데이터가 전달되자 마자 시작할 수 있다. 예를 들어, 페이지가 다수의 데이터 섹터들을 포함할 때, 물리적 페이지의 프로그래밍은 대응하는 논리적 페이지를 형성하는 하나 이상이지만 전체보다 적은 섹터들이 수신될 때 시작할 수 있다. 부분적인 페이지 프로그래밍이 시작하자 마자, 프로그램된 페이지에 할당되는 부가적인 데이터(예를 들어, 부가적인 섹터들)는 메모리로 전달되면, 부분적인 페이지 프로그래밍은 차단되고 부분적인 페이지의 상태가 설정된다. 그 후, 메모리는 부가적인 데이터를 기록에 부가되고 프로그래밍을 재시작한다. 이는 페이지를 완료하는데 필요로 되는 임의의 부가적인 데이터를 대기함이 없이 제1 전달된 데이터가 이용가능하자 마자 프로그래밍을 재시작하도록 한다. 이는 기록을 완료하기 위하여 페이지의 초기에 전달된 부분의 부분적인 페이지 프로그래밍을 대기함이 없이 전달된 즉시 부가적인 데이터가 프로그래밍을 시작하도록 하여, 파이프라인식 부분적인 페이지 프로그래밍 공정을 하게 한다. 게다가, 물리적 페이지는 메모리의 다수의 플레인들에 걸쳐서 분포될 수 있다.
이들 양상들의 특정 실시예는 계단(staircase) 프로그래밍 파형을 이용한다. 부가적인 데이터가 수신될 때, 이 계단의 레벨 또는 다른 관련된 파라미터들은 이 지점까지 프로그래밍의 진행에 따라서 리셋될 필요가 있을 수 있다.
본 발명의 부가적인 양상들, 특징들, 장점들 및 응용들은 첨부 도면과 관련된 이하의 예시적인 실시예들의 설명에 포함된다.
도1은 본 발명의 각종 양상들이 구현되도록 설명되는 비휘발성 메모리 시스템의 블록도.
도2는 메모리 셀 어레이가 NAND 형일 때 도1의 메모리 어레이의 기존 회로 및 구성을 도시한 도면.
도3은 반도체 기판 상에 형성되는 NAND 형 메모리 어레이의 칼럼을 따라서 본 단면도.
도4는 섹션 4-4를 따라서 본 도3의 메모리 어레이의 단면도.
도5는 섹션 5-5를 따라서 본 도3의 메모리 어레이의 단면도.
도6은 도2 내지 도5의 NAND 메모리 셀 어레이의 동작 전압들의 예에 대한 표1을 제공한 도면.
도7은 도2 내지 도5의 NAND 메모리 셀 어레이의 또 다른 특징을 도시한 도면.
도8A는 4개의 상태들로 동작될 때 도2-5의 NAND 메모리 셀 어레이의 임계 전압들의 기존 분포의 예를 도시한 도면.
도8B 및 도8C는 도2 내지 도5의 메모리 셀 어레이를 프로그램하는 다상 기술을 도시한 전압 임계 레벨 분포를 도시한 도면.
도9는 도2 내지 도5의 메모리 셀 어레이에 사용될 수 있는 프로그래밍 전압 신호의 예를 도시한 도면.
도10A 및 도10B는 종래 기술에서 실행되는 바와 같은 상부 및 하부 MLC 페이지들의 프로그래밍을 도시한 도면.
도11A 내지 도11C는 상부 및 하부 MLC 페이지들의 프로그래밍을 중첩시키는 공정의 제1 실시예를 도시한 도면.
도12는 종래 기술에서 실행될 수 있는 바와 같은 부분적인 페이지 프로그래밍을 도시한 도면.
도13은 파이프라인식 부분적인 페이지 프로그래밍 프로세스의 제1 실시예를 도시하 도면.
도14A 및 도14B는 파이프라인식 부분적인 페이지 프로그래밍 프로세스의 제2 실시예를 도시한 도면.
비휘발성 메모리 시스템의 예
도1 내지 도7을 참조하면, 정의된 예들을 제공하기 위하여 본 발명의 다양한 양상들이 구현되는 특정 비휘발성 메모리 시스템이 개시된다. 도1은 플래시 메모리 시스템의 블록도이다. 매트릭스로 배열되는 다수의 메모리 셀들(M)을 포함하는 메모리 셀 어레이(1)는 칼럼 제어 회로(2), 로우 제어 회로(3), c-소스 제어 회로(4) 및 c-p-웰 제어 회로(5)에 의해 제어된다. 칼럼 제어 회로(2)는 메모리 셀들(M)에 저장된 데이터를 판독하며, 프로그램 동작 동안 메모리 셀들(M)의 상태를 결정하고 프로그래밍을 촉진 또는 금지시키기 위하여 비트 라인들(BL)의 전위 레벨들을 제어하기 위한 메모리 셀 어레이(1)의 비트라인들(BL)에 연결된다. 로우 제어 회로93)는 워드 라이들(WL)에 연결되어 워드 라인들(WL) 중 하나를 선택하며, 판독 전압들을 인가하며, 칼럼 제어 회로(2)에 의해 제어되는 비트 라인 전위 레벨들과 결합되는 프로그램 전압들을 인가하고, 메모리 셀들(M)이 형성되는 p-형 영역(도3에서 "c-p-웰"로 라벨링됨)의 전압과 결합되는 소거 전압을 인가한다. c-소스 제어 회로(4)는 메모리 셀들(M)에 연결되는 공통 소스 라인(도2의 "c-소스"로 라벨링됨)을 제어한다. c-p-웰 제어 회로(5)는 c-p-웰 전압을 제어한다.
메모리 셀들(M)에 저장되는 데이터는 칼럼 제어 회로(2)에 의해 판독출력되고 I/O 라인 및 데이터 입력/출력 버퍼(6)를 통해서 외부 I/O 라인들로 출력된다. 메모리 셀들에 저장될 프로그램 데이터는 외부 I/O 라인들을 통해서 데이터 입력/출력 버퍼(6)로 입력되고 칼럼 제어 회로(2)로 전달된다. 외부 I/O 라인들은 제어기(20)에 연결된다.
플래시 메모리 장치를 제어하기 위한 명령 데이터는 제어기(20)와 연결되는 외부 제어 라인들에 연결되는 명령 인터페이스로 입력된다. 명령 데이터는 어떤 동작이 요청되는지를 플래시 메모리에 통지한다. 입력 명령은 칼럼 제어 회로(2), 로 우 제어 회로(3), c-소스 제어 회로(4), c-p-웰 제어 회로(5) 및 데이터 입력/출력 버퍼(6)를 제어하는 상태기(80)로 전달된다. 상태기(8)는 READY/BUSY 또는 PASS/FAIL과 같은 플래시 메모리의 상태 데이터를 출력할 수 있다.
제어기(20)는 개인용 컴퓨터, 디지털 카메라, 또는 개인 휴대 정보 단말기와 같은 호스트 시스템과 연결되거나 연결될 수 있다. 메모리 어레이(1)로 또는 이로부터 데이터를 저장 또는 판독하고 이와 같은 데이터를 각각 제공 또는 수신하도록 하는 것과 같은 명령들을 개시하는 것은 바로 호스트이다. 제어기는 이와 같은 명령들을 명령 회로들(7)에 의해 해석되고 실행될 수 있는 명령 신호들로 변환시킨다. 제어기는 또한 전형적으로 메모리 어레이로 기록 또는 이로부터 판독되는 사용자 데이터용 버퍼 메모리를 포함한다. 전형적인 메모리 시스템은 제어기(20)를 포함하는 하나의 집적 회로 칩 및 메모리 어레이 및 관련된 제어, 입력/출력 및 상태 기 회로들을 각각 포함하는 하나 이상의 집적 회로 칩들을 포함한다. 물론, 이 경향은 시스템의 제어기 회로들 및 메모리 어레이 모두를 하나 이상의 집적 회로 칩들 상에 집적시키는 것이다. 메모리 시스템은 호스트 시스템의 부분으로서 구현될 수 있거나 호스트 시스템들의 메이팅 소켓에 탈착가능하게 삽입될 수 있는 메모리 카드에 포함될 수 있다. 이와 같은 카드는 전체 메모리 시스템을 포함할 수 있거나 제어기 및 메모리 어레이와 더불어 관련된 주변 회로들이 별도의 카드들에 제공될 수 있다.
도2를 참조하면, 메모리 셀 어레이 예의 구조가 개시된다. NAND 형의 플래시 EEPROM이 예로서 개시되어 있다. 메모리 셀들(M)은 특정 예에서 1024개의 블록들로 분할된다. 각 블록에 저장된 데이터는 동시에 소거된다. 따라서, 블록은 동시에 소거될 수 있는 다수의 셀들의 최소 단위가다. 이 예에서, 각 블록에서, 우수 칼럼들 및 기수 칼럼들로 분할되는 8512개의 칼럼들이 존재한다. 비트 라인들은 또한 우수 비트 라인들(BLe) 및 기수 비트 라인들(BLo)로 분할된다. 각 게이트 전극에서 워드 라인들(WL0 내지 WL3)에 연결되는 4개의 메모리 셀들은 직렬로 연결되어 NAND 셀 유닛 또는 NAND 스트링을 형성한다. NAND 셀 유닛의 한 단자는 게이트 전극이 제1 선택 게이트 라인(SGD)에 결합되는 제1 선택 트랜지스터를 통해서 대응하는 비트 라인(BL)에 연결되고 또 다른 단자는 게이트 전극이 제2 선택 게이트 라인(SGS)에 결합되는 제2 선택 트랜지스터를 통해서 c-소스에 연결된다. 4개의 플로우팅 게이트 트랜지스터들이 간결성을 위하여 각 셀 유닛에 포함되도록 도시되지만, 8, 16 또는 심지어 32개와 같은 더 많은 수의 트랜지스터들이 사용된다.
사용자 데이터 판독 및 프로그래밍 동작들 동안, 4256개의 셀들(M)이 이 예에서 동시에 선택된다. 선택된 셀들(M)은 동일한 워드 라인(WL), 예를 들어 (WL2) 및 동일한 종류의 비트 라인(BL), 예를 들어, 우수 비트 라인들(BLe0 내지 BLe4255)을 갖는다. 그러므로, 데이터의 532 바이트들은 동시에 판독되거나 프로그램될 수 있고 이 데이터 단위를 페이지라 칭한다. 이 예에서, 각 NAND 스트링이 4개의 셀들을 포함하고 감지 증폭기 당 2개의 비트 라인들이 존재하기 때문에, 하나의 블록은 적어도 8개의 페이지들을 저장할 수 있다. 각 메모리 셀(M)이 데이터의 2비트들을 저장할 때, 즉 다중 레벨 셀을 저장할 때, 하나의 블록은 16개의 페이지들을 저장한다. 이 실시예에서, 메로리 셀들 각각의 저장 소자, 이 경우에, 상기 메모리 셀들 각각의 플로우팅 게이트는 사용자 데이터의 2비트들을 저장한다.
도3은 비트 라인(BL) 방향으로 도2에 개략적으로 도시된 유형의 NAND 셀 유닛의 단면도를 도시한다. p-형 반도체 기판(9)의 표면에서, p-형 영역 c-p-웰 (11)이 형성되며, c-p-웰은 p-형 기판으로부터 c-p-웰을 전기적으로 절연시키기 위하여 n-형 영역(10)에 의해 둘러싸여진다. n-형 영역(10)은 제1 접촉 홀(CB) 및 n-형 확산 층(12)을 통해서 제1 금속(M0)로 이루어진 c-p-웰 라인에 연결된다. p-형 영역 c-p-웰 (11)은 또한 제1 접촉 홀(CB) 및 p-형 확산 층(13)을 통해서 c-p-웰 라인에연결된다. c-p-웰 라인은 c-p-웰 제어 회로(5)(도1)에 연결된다.
각 메모리 셀은 셀에 저장된 데이터에 대응하는 전하량을 저장하는 플로우팅 게이트(FG), 게이트 전극을 형성하는 워드 라인(WL) 및 n-형 확산 층(12)으로 이루어진 드레인 및 소스 전극들을 갖는다. 플로우팅 게이트(FG)는 터널 산화막(14)을 통해서 c-p-웰의 표면상에 형성된다. 워드 라인(WL)은 인슐레이터 막(15)을 통해서 플로우팅 게이트(FG) 상에 적층된다. 소스 전극은 제2 선택 트랜지스터(S) 및 제1 접촉 홀(CB)을 통해서 제1 금속(MO)으로 이루어진 공통 소스 라인(c-소스)에 연결된다. 공통 소스 라인은 c-소스 제어 라인(4)에 연결된다. 드레인 전극은 제1 선택 트랜지스터(S), 제1 접촉 홀(CB), 제 금속(MO)의 중간 배선 및 제2 접촉 홀(V1)을 통해서 제2 금속(M1)으로 이루어진 비트 라인(BL)에 연결된다. 비트 라인은 칼럼 제어 회로(2)에 연결된다.
도4 및 도5는 워드 라인(WL2)의 방향으로 메모리 셀(도3의 단면 4-4) 및 선택 트랜지스터(도3의 단면 5-5)의 단면도를 도시한다. 각 칼럼은 기판에 형성된 트 렌치에 의해 이웃 칼럼들로부터 절연되고 샐로우 트렌치 아이솔레이션(STI)로서 공지된 아이솔레이션 재료로 충전된다. 플로우팅 게이트들(FG)은 STI 및 인슐레이터 막(15) 및 워드 라인(WL)에 의해 서로로부터 절연된다. 플로우팅 게이트(FG)간의 공간은 0.1 ㎛정도일 수 있고 플로우팅 게이트들 간의 용량성 결합이 중요할 수 있다. 선택 트랜지스터의 게이트 전극(SG)이 플로우팅 게이트(FG) 및 워드 라인(WL)과 동일한 형성 공정으로 형성되기 때문에, 이는 적층된 게이트 구조를 도시한다. 이들 2개의 선택 게이트 라인들(SG)은 워드 라인들의 끝에서 모두 전기적으로 단락된다.
도6의 표 1은 특정 예에서 메모리 셀 어레이 (1)을 동작시키도록 인가되는 전압들을 요약한 것인데, 각 메모리 셀의 플로우팅 게이트는 2비트들을 저장하며, 상태들 "11", "10", "01", "00"중 한 상태를 갖는다. 이 표는 워드 라인 "WL2" 및"BLe"의 비트 라인들이 판독 및 프로그래밍 동안 선택되는 경우를 도시한다. c-p-웰을 20V의 소거 전압으로 상승시키고 선택된 블록의 워드 라인들(WL)을 접지시킴으로써, 선택된 블록의 데이터가 소거된다. 선택되지 않은 블록들의 워드 라인들(WL), 비트 라인들(BL), 선택 라인들(SG) 및 c-소스 모두는 플로우팅 상태로 되기 때문에, c-p-웰과 용량성 결합으로 인해 거의 20V까지 상승된다. 그러므로, 강한 전계가 선택된 메모리 셀들(M)의 터널 산화막들(14)(도4 및 도5)만에 인가되고 선택된 메모리 셀들의 데이터는 터널 산화막(14) 양단에 터널 전류가 흐름에 따라서 소거된다. 이 소거된 셀은 이 예에서 4개의 가능한 프로그램된 상태들 중 한 상태, 즉 "11"가 된다.
프로그래밍 동작 동안 플로우팅 게이트(FG)에서 전자들을 저장하기 위하여, 선택된 워드 라인(WL2)은 프로그램 펄스(Vpgm)를 프로그램하도록 연결되고 선택된 비트 라인들(BLe)는 접지된다. 다른 한편으로, 프로그래밍이 발생되지 않는 메모리 셀들(M) 상에 프로그램을 금지하기 위하여, 대응하는 비트 라인들(BLe)은 정의 전압(Vdd), 예를 들어 3V 뿐만 아니라 선택되지 않은 비트 라인들(BLo) 모두에 연결된다. 선택되지 않은 워드 라인들(WL0, WL1 및 WL3)은 10V에 연결되며, 제1 선택 게이트(SGD)는 Vdd에 연결되고 제2 선택 게이트(SGS)가 접지된다. 따라서, 프로그램되는 메모리 셀(M)의 채널 전위는 0V로 설정된다. 금지되는 셀의 채널 전위는 워드 라인들(WL)과의 용량성 결합에 의해 풀업되는 채널 전위에 따라서 약 6V로 상승된다. 상기 설명된 바와 같이, 저장 전계는 프로그래밍 동안 메모리 셀들(M)의 터널 산화막들(14)에만 인가되고 터널 전류는 소거와 비교하여 역방향으로 터널 산화막(14)을 가로질러 흐르고 나서, 논리 상태는 "11"로부터 다른 상태들 "10", "01" 또는 "00" 중 하나로 변경된다. 각종 다른 코딩 방식들은 이들 상태들을 표시하도록 선택되어 지정 E(소거), A(최저 임계 프로그램 상태), B(A 보다 높은 임계) 및 C(최고 임계 프로그램 상태)가 이하의 설명에서 사용될 것이다.
판독 및 검증 동작들에서, 선택 게이트들(SGD 및 SGS) 및 선택되지 않은 워드 라인들(WLO, WL1 및 WL3)은 4.5V의 판독 패스 전압으로 상승되어, 비트 라인과 공통 소스 라인 간의 전류가 이들을 통과할 수 있도록 보장한다. 선택된 워드 라인(WL2)은 저압에 연결되는데, 이의 레벨은 각 판독 및 검증 동작을 위하여 지정되어 관련된 메모리 셀의 임계 전압이 이와 같은 레벨에 도달하는지를 결정한다. 예 를 들어, READ10 동작(상태 A)에서, 선택된 워드 라인 (WL2)은 접지되어, 임계 전압이 OV보다 높은지 여부를 검출하도록 한다. 이 판독 경우에, 판독 레벨을 0V라 할 수 있다. VERIFY01 동작(상태 C)에서, 선택된 워드 라인(WL2)은 2.4V에 연결되어, 임계 전압이 2.4V에 도달하는지를 검증하도록 한다. 이 검증 경우에, 검증 레벨은 2.4V라 할 수 있다.
선택된 비트 라인들(BLe)는 고 레벨, 예를 들어 0.7V로 프리 챠지된다. 임계 전압이 판독 또는 검증 레벨보다 높으면, 관련된 비트 라인(BLe)의 전위 레벨은 비 도전성 메모리 셀(M)로 인해 고 레벨을 유지한다. 다른 한편으로, 임계 전압이 판독 또는 검증 레벨보다 낮으면, 관련된 비트 라인(BLe)의 전위 레벨은 도전성 메모리 셀(M) 때문에 저 레벨, 예를 들어 0.5V보다 작은 레벨로 감소된다. 판독 및 검증 동작들의 부가적인 상세한 사항들이 후술된다.
도7은 도1의 칼럼 제어 회로(2)의 일부를 도시한 것이다. 비트 라인들(BLe 및 BLo)의 각 쌍은 2개의 데이터 저장(DS1 및 DS2) 레지스터들을 포함하는 데이터 저장부(16)에 결합되는데, 각 레지스터는 데이터의 1비트를 저장할 수 있다. 데이터 저장부(16)는 판독 또는 검증 동작 동안 선택된 비트 라인(BL)의 전위 레벨을 감지하고 나서 데이터를 2진 방식으로 저장하고, 프로그램 동작으로 비트 라인 전압을 제어한다. 데이터 저장부(16)는 "EVENBL" 및 "ODDBL"의 신호들 중 한 신호를 선택함으로써 선택된 비트 라인(BL)에 선택적으로 연결된다. 데이터 저장부(16)는 또한 판독 데이터를 출력하고 프로그램 데이터를 저장하도록 I/O 라인에 결합된다. I/O 라인은 도1과 관련하여 상술된 바와 같이 데이터 입력/출력 버퍼(6)에 연결된 다.
저장 소자당 2개 이상의 상태들로 메모리 시스템의 동작
도8A는 각 플로우팅 게이트 저장 소자가 데이터의 2비트들, 즉 4개의 데이터 상태들을 각 메모리 셀(M)에 저장할 때 메모리 셀 어레이(1)에 대한 임계 전압 분포들을 도시한 것이다. 곡선(33)은 부의 임계 전압 레벨들인 소거 상태(E 데이터 상태)에 있는 어레이(1) 내의 셀들의 임계 레벨들(VT)의 분포를 도시한다. A 및 B 사용자 데이터 각각을 저장하는 메모리 셀들 임계 전압 분포들(34 및 35)은 0V 및 1V 사이와 1V 및 2V 사이에 있는 것으로 도시된다. 곡선(36)은 판독 패스 전압의 2V 이상과 4.5V 보다 작게 설정된 최고 임계 전압 레벨 C 데이터 상태로 프로그램되는 셀들의 분포를 도시한다.
이 예에서 일 메모리 셀(M)에 저장된 2비트들 각각은 서로 다른 논리적 페이지로부터 나온다. 즉, 각 메모리 셀에 저장된 2비트들의 각 비트는 다른 비트와 다른 논리적 페이지 어드레스를 반송한다. 도8A에 도시된 하부 페이지 비트는 우수 페이지 어드레스(=0,2,4,...N/2)가 입력될 때 어드레스되는데, N은 메모리의 논리적 페이지 용량이다. 상부 페이지 비트는 기수 페이지 어드레스(=1,3,5,...,[N/2]+1)이 입력될 때 액세스된다. 도8A에 도시된 예의 코딩을 이용하면, 상태 E는 "11" 상태로, 상태 A는 "10" 상태로 , 상태 B는 "00" 상태로 그리고 상태 C는 "01' 상태로 표시될 수 있는데, 여기서 제1의 2진 디지트는 상부 페이지에 저장된 값을 표시하고 제2의 2진 디지트는 하부 페이지에 저장된 값을 표시한 다.
개선된 신뢰성을 제공하기 위하여, 개별적인 분포들이 타이트(협소화된 임계 분포)하게 되는 것이 더 바람직한데, 그 이유는 분포가 더욱 타이트하면 할수록 판독 마진(이들간의 거리)이 더욱 넓게되기 때문이다. 본 발명을 따르면, 분포 폭은 프로그래밍 속도면에서 현저한 저하없이 더욱 타이트한 채로 유지된다.
본원에 전반적으로 참조된 Digest of 1995 Symposium on VLSI Technology, pp129-130에 발표된 논문 "Fast and Accurate Programming Method for Mulit-level NAND EEPROMs"에 따르면, 원리적으로, 0.2V 폭으로 분포를 제한하면 통상적인 반복 프로그래밍 펄스들은 단계들 간에서 0.2V 증가되는 것을 필요로 한다. 도9SMS 기존 프로그래밍 펄스 기술을 도시한다. 프로그래밍 전압 Vpgm 파형이 도시된다. 프로그래밍 전압 Vpgm은 많은 펄스들로 분할되고 0.2 펄스씩 증가된다. Vpgm의 시작 레벨은 특정 예에서 12V이다.
펄스들 간의 기간들에서, 검증(판독) 동작들이 실행된다. 즉, 병렬로 프로그램되는 각 셀의 프로그램된 레벨은 각 프로그래밍 펄스 간에서 판독되어 프로그램되는 검증 레벨과 동일한지 이보다 큰지를 결정한다. 소정 메모리 셀의 임계 전압이 검증 레벨을 초과한다라고 결정되면, 비트 라인의 전압을 소정 셀의 일련의 셀 유닛이 연결되는 비트 라인의 전압을 0V로부터 Vdd로 상승시킴으로써 이 비트에 대해서 프로그래밍이 중단 또는 금지된다. 동일한 페이지 상에서 병렬로 프로그램되는 셀들 중 다른 셀들의 프로그래밍은 이들 셀이 차례로 자신들의 검증 레벨들에 도달할 때까지 계속된다. 임계 전압이 셀의 최종 프로그래밍 펄스동안 검증 레벨 보다 아래에서 이보다 위의 레벨로 이동할 때, 임계 전압의 시프트는 0.2V의 Vpgm 스텝 크기와 동일하게 된다. 그러므로, 임계 전압들은 0.2V 폭 내에서 제어된다.
도8B 및 8C는 상술된 유형의 어레이에서 4상 NAND 메모리 셀을 프로그램하는 특정 기존 기술을 도시한다. 제1 프로그래밍 패스에서, 셀의 임계 레벨은 하부 논리적 페이지로부터의 비트에 따라서 설정된다. 이 비트가 "1"이면, 조기 소거됨에 따라서 이 상태에 있기 때문에 아무것도 행해지지 않는다. 그러나, 비트가 "0"이면, 셀의 레벨은 검증 전압으로서 VVA를 이용하여 A 프로그램된 상태로 증가되어 부가적인 프로그래밍을 금지한다. 이는 제1 프로그래밍 패스를 결론짓는다.
제2 프로그래밍 패스에서, 셀의 임계 레벨은 상부 논리적 페이지로부터 셀에 저장되는 비트에 따라서 설정된다. "1"이면, 하부 페이지 비트의 프로그래밍에 따라서 상태들(33 또는 34) 중 하나에 셀이 있기 때문에 프로그래밍이 발생되지 않는데, 이 상태들 둘 다는 "1"의 상부 페이지 비트를 반송한다. 그러나, 상부 페이지 비트가 "0"이면, 셀은 제2 시간에서 프로그램된다. 제1 패스가 소거된 또는 E 상태(33)로 유지되는 셀이되면, 이 셀은 도8C에서 상부 화살표로 도시된 바와 같이 이 상태로부터 최고 임계 상태(36)(상태 C)까지 프로그램되고 Vvc는 부가적인 프로그램을 금지하기 위한 검증 조건으로서 사용된다. 셀이 상태(34)(상태 A)로 프로그램되면, 제1 프로그래밍 패스에 따라서, 이 셀은 도8C에서 하부 화살표로 도시된 바와 같이 검증 조건으로서 VVB를 이용하여 상태로부터 상태(35)(상태 B)까지 제2 패스로 부가 프로그램된다. 제2 패스의 결과는 제1 패스 프로그래밍 동안 기록된 논리적 값을 변경시킴이 없이 상부 페이지로부터 "0"을 저장하도록 지정된 상태로 셀을 프로그램하기 위한 것이다. 이 제2 프로그래밍 사이클 동안, 셀의 임계 분포는 상태 E 또는 A로 유지될 수 있거나 상태 B 또는 C로 시프트된다. 동일한 프로그래밍 사이클 동안 동시에 상이한 셀들에서 발생하는 2개의 서로 다른 타겟 임계 상태들이 존재하기 때문에, 2개의 상이한 검증 레벨들(VVB 및 VCC)은 각 프로그래밍 펄스 후 검사되어야 한다. 일부 시스템들에서 VCC는 총 프로그램 사이클을 속도 상승시키기 위하여 나중 전압 펄스들 동안에만 검사될 수 있다.
물론, 메모리가 4개 이상의 상태들로 동작되면, 상태들의 수와 동일한 메모리 셀들의 규정된 전압 임계 윈도우 내에서 다수의 분포들이 존재할 것이다. 게다가, 특정 비트 패턴들이 분포들 각각에 할당되지만, 서로 다른 비트 패턴들이 또한 할당되는데, 이 경우에, 프로그래밍이 발생되는 상태들은 도8B 및 8C에 도시된 상태들과 다르다. 몇개의 이와 같은 변화들이 NAND 시스템들에 대한 배경에서 이미 참조된 특허들에 논의되어 있다. 게다가, NAND에서 인접 셀 결합 결과들을 감소시키는 기술 및 다상으로 동작되는 메모리 어레이들의 다른 유형들이 미국 특허 6,522,580에 서술되어 있는데, 이들은 본원에 전반적으로 참조되어 있다.
분포들(33-36)중 인접한 분포들 간의 거의 중도에 위치되는 전압들(VRA, VRB, 및 VRC)는 메모리 셀 어레이로부터 데이터를 판독하도록 사용된다. 판독되는 각 셀의 임계 전압 상태와 비교되는 임계 전압들이 존재한다. 이는 기준 전류들 또는 전압들 각각을 지닌 셀로부터 측정되는 전류 또는 전압을 비교함으로써 성취된다. 이들 판독 전압들 및 프로그램된 임계 전압 분포들 간에 마진들이 존재함으로, 이 분포들은 판독 전압들(VRA, VRB, 및 VRC)중 임의의 전압과 중첩하지 않는한 상술된 바와 같은 외란들로부터 분포들의 일부 확산을 허용한다. 그러나, 저장 상태 분포들의 수가 증가함에 따라서, 이 마진은 감소되고 나서 프로그래밍은 이와 같은 확산을 방지하기 위하여 더욱 정밀하게 실행되는 것이 바람직하다.
이전 설명은 2개의 논리적 페이지들이 하나의 물리적 페이지에 존재하고 둘 다가 아니라 하부 논리적 페이지 또는 상부 논리적 페이지만이 소정 프로그래밍 사이클 동안 프로그램 된다라고 가정하자. 본원에 참조된 "Method and System for Programming and Inhibiting Multi-Level Non-Volatile Memory Cells"이라는 명칭의 미국 특허 출원 공개 US 2003/0112663은 하나의 프로그래밍 동작 동안 페이지의 물리적 상태들 모두를 프로그래밍하는 것을 설명한다. 도8에 도시된 바와 같은 셀 당 4개의 상태들의 경우에, 프로그램 상태들 (A, B 또는 C) 중 임의의 상태로 프로그램될 모든 셀들은 우선 상술된 바와 같이 상태 A로 프로그램된다. 이들 상태들 중 임의의 상태로 프로그램될 모든셀들이 상태 A에 도달되었다라고 검증된 후 그리고 상부 상태들 (B 및 C)에 대한 데이터가 이미 도7의 데이터 래치들(DS1 및 DS2)에 존재하기 때문에, 프로그래밍 사이클은 새로운 데이터의 차단 또는 재로딩함이 없이 계속될 수 있고, 상태들 B 및 C로 프로그램되어야 하는 셀들은 상태(B)로 계속 프로그래밍될 수 있다. 모든 셀들이 이 레벨에 도달하면, C에 필요로 되는 이들 셀들만이 이 상태로 계속된다. 이 특허 출원에 설명된 바와 같이, 일부 비트들("고 속 비트들")이 다른 비트들("저속 비트들")보다 고속으로 프로그램되로 실제로 워드라인 전압의 일부 감소는 프로그래밍으로부터 상태 A로부터 상태 B로 그리고 유사하게 상태B로부터 상태 C로 천이될 때 바람직하다는 것이 관찰된다. 프로그래밍 전압에서 이 감소에 통합되는 전형적인 전압 파형은 도11에 도시된다.
특정 프로그래밍 방식이 도8B-8C를 이용하여 설명되지만, 사용될 수 있는 다른 가능성들이 존재한다. 예를 들어, 미국 특허 6,406,935는 선택된 셀들이 제1 프로그래밍 사이클 동안 상태 E로부터 상태 B로 프로그램되는 프로그래밍 방법을 설명한다. 제2 프로그래밍 사이클 동안, 셀들은 상태 E로부터 상태 A로 프로그램되고 상태 B로부터 상태 C로 프로그램된다. 미국 특허 6,657,891은 제2 프로그래밍 사이클 동안에만 도8C에 도시된 바와 같은 분포로 타이트하게 되는 상태 B의 초기 분포가 더 낮은 임계 한도로 확장하도록 허용되고 심지어 제1 프로그래밍 사이클의 끝에서 최종 상태 A와 중첩하도록 하는 이 방법을 더욱 정교화한 것이다. 게다가, 상태들 E,A,B, 및 C을 표시하도록 채택된 2진 코딩은 도8A 내지 C에 도시된 것과 다르게 선택될 수 있다. 2개의 특허들 6.046,935 및 6,675,891이 본원에 참조되어 있다.
동일한 페이지에서 데이터 부분들의 중첩된 프로그래밍
상술된 바와 같이, 프로그래밍 또는 "물리적 페이지"의 단위는 동시에 프로그램될 수 있는 셀들로 이루어진다. 다상 메모리의 경우에, 각 물리적 페이지는 하나 이상의 논리적 페이지를 저장할 수 있는데, 예시적인 실시예는 상부 논리적 페이지 및 하부 논리적 페이지를 각 물리적 페이지에 저장한다. 종래 기술의 2개의 패스 프로그래밍 공정에서, 소정의 물리적 페이지에 할당되는 하부 페이지 데이터가 프로그래밍 동작을 시작하면, 이 프로세스는 성공적인 프로그래밍 동작을 위하여 완료하도록 실행되어야 한다. 동일한 물리적 페이지에 할당된 상부 페이지 데이터가 메모리 레지스터들에 제공될 수 있지만, 종래 기술은 제1 프로그래밍 패스가 차단되도록 하지 않고 나중에 물리적 페이지에 대한 모든 데이터 내용을 포함하도록 재시작된다. 따라서, 소정 물리적 페이지로 프로그램되어야 하는 모든 데이터가 메모리상에 제공될 수 있지만, 프로그래밍 공정은 전체 프로그래밍 시퀀스로 천이될 수 없고 상부 페이지 데이터는 하부 페이지가 제1 패스의 프로그래밍 공정을 완료할 때까지 대기하여야 한다.
종래 기술에서, 이 프로그래밍은 본원에 참조된 미국 특허 5,890,192 및 6,246,893에 더욱 상세하게 서술된 바와 같은 하나 이상의 메모리 칩들에 걸쳐서 분포된 플레인들(또는 쿼드들)로 공지된 다수의 반자동 메모리 어레이들에서 동시에 수행될 수 있다는 것이 공지되었다. 메모리는 2진 또는 다상중 어느 하나일 수 있다. 이 경우에, 물리적 페이지는 여러 플레인들로 이루어지고 프로그래밍 동작은 이들 플레인들 각각으로 섹터(또는 다른 데이터 량)를 동시에 프로그램할 것이다. 일부이지만 전부가 아닌 데이터가 메모리로 전달되면, 전체 페이지를 프로그램하기 위하여 메모리는 페이지의 나머지를 위한 데이터를 대기하여야 한다. 대안적으로, 메모리는 데이터를 프로그램할 수 있는데, 이는 부분적인 페이지 프로그래밍 동작을 가지며, 여기서 손실 부분은 데이터가 모두 소거된 상태인 경우처럼 프로그램되거나 처리되지 않는다. 부분적인 페이지 프로그래밍 동안 페이지에 속하는 부가적 인 데이터가 도달하면, 종래 기술은 프로그래밍 동작이 차단되도록 하지 않고 부가적인 데이터를 통합하여 재시작하지 않는다.
이들 경우들 둘 다는 프로그래밍 동작이 물리적 페이지가 포함될 수 있는 전체 데이터 량보다 작게 시작된다는 점에서 유사하다. 이 상황은 수평 방향(플레인들로) 또는 수직 방향(상부 및 하부 페이지들) 중 하나로 물리적 페이지를 서브분할하는 것으로서 개념화될 수 있다. 데이터가 모든 서브분할보다 작게 제공될 때, 이용가능한 데이터를 토대로 한 부분적인 프로그래밍이 시작될 수 있지만, 물리적 페이지가 프로그래밍 단위를 형성할 때, 차단 및 재시작 프로그래밍을 제공함이 없이, 부가적인 데이터는 부가적인 다음 프로그래밍 동작을 이용하는 것을 제외하면 통합될 수 없다. 본 발명은 주요 양상은 이 성능을 제공하는 것이다.
상부 페이지/하부 페이지 배열에서, 이는 상부 및 하부 다상 메모리 페이지들의 중첩된 프로그래밍으로 된다. 다중-플레인의 경우에, 이는 파이프라인식 부분적인 페이지 프로그래밍이 된다. 이들 2가지 서브-양상들의 예시적인 실시예들에서, 프로그래밍 공정은 도9에 도시된 바와 같은 계단 프로그래밍 파형을 이용한다. 물리적 페이지에 대응하는 부가적인 데이터가 페이지의 이용가능한 내용보다 작게 프로그래밍(가령 하부 페이지 또는 부분적인 페이지 프로그래밍) 동작을 겪을때, 검증될 셀들의 데이터 컨텐트 및 프로그래밍 동작은 부가적인 데이터를 통합하여 리셋되고 재시작된다.
상부 및 하부 MLC 페이지들의 중첩된 프로그래밍
배경에서 설명된 바와 같이, MLC 플래시 메모리의 물리적 페이지가 하부 페이지 데이터로 프로그램되고 있을때, 사용자(제어기)는 실제로, 하부 및 상부 페이지 데이터가 궁극적으로 동일한 물리적 페이지 내로 프로그램될 때 상부 페이지 데이터를 프로그램하기 시작할 수 있도록 하기 위해서는 프로그래밍이 종료될 때까지 대기해야 한다. 이것은 예시적인 4-상태 셀 실시예에 대해 도10A에 도시되어 있다.
도10A에서, 제1 로우(호스트 전달들)는 호스트로부터 제어기(20)로의 데이터의 전달을 도시하고, 제2 로우(플래시 전달)은 제어기로부터 데이터 저장부(16) 내로의 이 데이터의 그 다음 전달을 도시한다. 하부 페이지로서 프로그램될 데이터의 각 섹터(또는 다른 전달 단위)가 우선 제어기 내로 전달되고 나서, 메모리 상으로 전달된다. 일단 전체 하부 페이지가 전달되면, 하부 페이지 프로그래밍이 시작되고, 여기서 도12A의 제3 라인은 어느 데이터가 프로그램되고 있는지를 나타낸다. 하부 페이지의 제1 프로그래밍 패스(programming pass)가 상태 E로부터 상태 A까지만 프로그램하기 때문에, 이 천이만이 활성으로 도시된다(1E→A 라인). E→A 프로그래밍은 시간(t1)에서 시작하고 시간(t3)에서 종료된다.
하부 페이지 데이터가 제어기로부터 메모리로 전달된 후 상부 페이지 데이터가 제어기로 전달되고 나서 플래시 메모리 상으로 전달된다. 상기 전달은 하부 페이지의 프로그래밍 동안 발생되고 시간(t2)에서 완료된다. 상부 페이지 데이터가 시간(t2)에 칩 상에 있을지라도, 종래 기술이 하부 페이지 프로그래밍이 완료 전에 종료되고 나중에 재개되는 것을 허용하지 않기 때문에, 상부 페이지 데이터는 하부 페이지 프로그래밍이 완료되는 시간(t3)까지 프로그램될 수 없다. 시간(t3)에서 시 작하면, 상부 페이지 데이터는 도10A에 도시된 바와 같이 프로그램되고, A→B 및 E→C 천이가 활성이 된다. 전체 프로세서는 t4에서 종료된다.
본 발명의 제1 양상을 따르면, 일단 상부 페이지 데이터가 메모리 상에 존재하면, 하부 데이터 프로그래밍이 시간(t2)에서 차단된다. 그 다음에, 동시에 하부 및 상부 페이지 둘 다를 프로그램하는 프로세스가 재개된다. 이는 하부 페이지 데이터에만 전용되는 시간(t2) 및 시간(t3) 간의 프로그래밍 시간을 제거하고, 본질적으로 이 량만큼의 프로그래밍 시간을 감소시킨다.
도10B는 도10A의 프로세스에 대한 부가적인 세부사항을 도시한다. 제1 라인(Cache Busy)는 데이터를 전달하는 인에이블 신호에 대응한다. 이것이 로우인 후에 하이로 진행할 때, 이는 프로그래밍이 실제로 완성된다는 것이 아니라, 다음 데이터를 유지할 데이터 레지스터가 존재한다는 것을 나타낸다. 제2 라인(True Busy)은 칩 내측에서 실제로 발생하고 있는 것에 대응한다. 캐쉬 비지 신호는 로우로 진행하기 전 데이터의 하부 페이지를 로딩하기 위하여 하이가 되고 나서, 상부 페이지를 로딩하기 위하여 다시 하이가 된다. 이 신호는 그 다음 데이터가 로딩될 때까지 로우로 유지된다. 일단 하부 페이지가 로딩되면, 프로그래밍이 인에이블되고 하부 페이지가 프로그램된다. 데이터가 최하부 비-소거 상태로만 프로그램되고 있기 때문에, A 상태만이 검증될 필요가 있다. 일단 A 상태로 프로그램된 모든 셀이 검증되면(또는 펄스의 최대 수에 도달하면), 상부 페이지의 프로그램이 시작된다. 처음에, 검증은 E→C 천이를 겪는 상태가 자신의 타겟 값에 도달하는데 더 많은 시간이 걸리기 때문에 B 상태에 대해서만 수행된다. 궁극적으로, pvfyB/C에 의해 표시 된 바와 같이, B 및 C 상태들 둘 다를 검사하는 것이 필요로될 것이다. 일단 B 상태에 대한 할당된 수의 펄스들이 종료되면, B 타겟 상태를 갖는 셀들이 록 아웃되고, 자신의 타겟 상태로서 C를 갖는 모든 셀들이 검증되거나 펄스들의 최대 수에 도달할 때까지 C 상태만이 검증된다.
본 발명의 제1 양상에서, 도10A의 t2 및 t3 간의 시간(상부 페이지 데이터가 메모리로 전달되지만, 프로그래밍되고 있지 않은 시간)은 다중-상태 메모리에서 상부 및 하부 페이지들 중첩된 프로그래밍을 허용함으로써 거의 제거된다. 이는 메모리가 임의의 환경들 하에서 자신의 최고 프로그래밍 대역폭에서 프로그램되도록 한다. 따라서, 제어기는 새로운 데이터로 상부 페이지를 프로그램할 준비가 되기 전에 완료될 하부 페이지 프로그래밍을 대기할 필요가 없다. 이 방법을 토대로 한, 가능한 한 빨리 프로그래밍을 시작하는 전략은 특히, 호스트가 작은 클러스터들에서 또는 불-연속적으로 기록하는 경우에, 애플리케이션들에서 다중-상태 메모리의 성능을 상당히 증가시킬 수 있다.
종래 기술의 배열 하에서, 도10A의 제한들은 캐쉬 형태의 명령을 갖는 프로그램을 사용함으로써만 동작하며, 여기서 하부 페이지 데이터는 상부 페이지 데이터가 전달될 때까지 플래시 메모리의 데이터 레이지터에 캐쉬되고 나서, 페이지들 둘 다가 동시에 프로그램된다. 이 해결책은 긴, 연속적인 호스트 기록 동작들을 위한 최대 프로그래밍 대역폭을 유지하지만, 호스트가 적은 클러스터들 내에서 또는 불-연속적으로 기록되는 경우 단점을 제공한다. 호스트가 긴 연속적인 청크들(chunk)로 데이터 섹터들을 기록하고 있지 않고, 이전 것에 연속하는 다음 데이 터 부분의 예상이 잘못된 경우, 부가적인 지연이 발생된다.
본 발명의 이 양상에서, 상기 방법은 상부 페이지 데이터가 이용 가능하기 전 하부페이지의 프로그래밍을 시작함으로써 개시된다. 프로그래밍 동작은 상부 페이지 데이터가 이용 가능할 때, 하부 페이지 프로그래밍이 완료되기 전 중단될 수 있다. 새로운 데이터가 또 다른 물리적 페이지에 기록되면, 제어기는 단지 진행중인 하부 페이지 프로그램 동작의 종료를 대기할 필요가 있다; 그러나, 새로운 데이터가 프로그램되는 현재의 하부 페이지 데이터와 동일한 물리적 페이지에 대응하는 상부 페이지 데이터인 경우에, 프로그램되고 있는 메모리 셀들의 상태가 검증되고 나서, 메모리의 물리적 페이지가 하부 및 상부 페이지 데이터들 둘 다에 의해 병렬로 프로그램될 수 있다. 결과적으로, 제어기는 상부 페이지의 데이터를 대기할 필요가 없는 경우에, 가능한 성능 패널티 없이 가능한한 빨리 하부 페이지 프로그래밍을 시작할 수 있다. 상기 방법은 도11A-11C에 개략적으로 도시되어 있다.
도10A에서와 같이, 도11A의 프로세스는 호스트로부터 제어기로의 하부 페이지 데이터의 전달 및 그 다음에 호스트로부터 메모리로의 전달에 의해 시작되고, 이 시간(t1)에 하부 페이지 데이터의 프로그래밍이 시작된다. 일단 하부페이지 데이터가 전달되면, 상부 페이지 데이터가 메모리 상에 전달되고, 시간(t2)에서 종료된다. 이 지점까지, 프로세스는 본질적으로 도12에 대해 상술된 것과 동일하다.
일단 제2 세트의 데이터가 수신되면, 이것이 프로그램되는 하부 페이지와 메모리의 동일한 물리적인 셀들에 대응하는 상부 페이지에 대한 것인지 검사될 필요가 있다. 더 일반적으로, 이것은 자신이 현재 프로그램되고 있는 것들과 셀들의 동 일한 세트에 저장된 데이터 상태들의 부가적인 세트에 대응한다는 것을 확인하기 위해 검사된다; 예를 들어, 3개의 페이지들이 물리적 페이지 상에 저장되면, 이것은 프로그래밍을 진행하는 하부 페이지에 대응하는 중간 페이지일 수 있다. 새로운 페이지 데이터가 현재 프로그램하는 하부 페이지에 부가되는데 적합하다라고 결정될 때, "전체 시퀀스 프로그래밍"으로의 변화가 개시된다. 전체 시퀀스 프로그래밍은 2개의 이진 비트들이 동시에 프로그램되고 있다는 것을 의미한다. 이 프로그래밍은 프로그래밍 속도를 증가시키는 반면, 각 비트에 대한 프로그래밍이 종료되어야 하는 때를 결정하기 위하여 각각의 프로그래밍 펄스 후 하나 이상의 부가적인 검증 단계들을 필요로 할 수 있다. 하부 페이지 프로그래밍으로부터 전체 시퀀스 프로그래밍으로의 변화를 개시하는 것은 여러 조건들이 검사되는 것을 필요로 한다. 우선, 하부 페이지 프로그래밍이 실제로 완료되었는지 또는 거의 완료되었는지가 결정되어야 한다. 그러한 경우, 전체 시퀀스 프로그래밍으로의 변화가 발생하지 않을 것이며; 하부 페이지 프로그래밍이 정상적인 방식으로 완료될 것이며, 프로그래밍은 표준 프로그래밍 알고리즘들을 사용하여 상부 페이지 프로그래밍으로 계속될 것이다. 다음으로, 전체 시퀀스 프로그래밍으로의 변화는 현재 프로그램 검증 사이클의 종료 시에만 발생할 것이다. 도9에 도시된 바와 같이 계단식 프로그래밍 전압 파형을 사용하는 실시예의 경우에, 프로그래밍 전압의 새로운 시작 레벨이 시간(t2)에서 리셋될 필요가 있을 수 있다. 상황은 3개의 경우로 그룹화될 수 있다: 첫 번째 경우에, 상부 페이지 데이터를 수신한 후 하부 페이지 데이터 프로그래밍이 종료되었다는 것이 발견되면, 상부 페이지 데이터는 상부 페이지 데이터에 대한 표준 제2 프로그래밍 패스 파형을 사용하여 프로그램된다. 두 번째 경우에, 상부 페이지 데이터가 이미 충분히 존재하고 하부 페이지 파형이 전체 시퀀스 파형에 대한 시작 지점을 초과할만큼 충분히 진행되지 않았다면, 최대 펄스 수 카운터 및 다른 파라미터들이 리셋될 필요가 있을지라도, 파형은 지속적으로 단조롭게 발생할 수 있고 전체 시퀀스 파형으로 천이될 수 있다. 세 번째 경우에, 하부 페이지가 프로그래밍을 종료한 것이 아니라, 프로그래밍 전압 파형이 그 시작하는 전체 시퀀스 값을 초과하는 경우에, 파형은 도11B에 도시된 바와 같이 전체 시퀀스 루틴을 시작하도록 다시 설정될 필요가 있을 것이다. 이것은 부가적인 하부 페이지 프로그래밍으로부터 현재 록 아웃된 임의의 고속 프로그래밍 비트들이 제1의 전체 시퀀스 프로그래밍 전압 펄스 다음의 원하는 다음 임계 상태를 오버슛하지 않도록 하는데 필요로 된다.
도11B는 도11A의 프로세스에 대한 프로그래밍 파형의 예를 도시한다. 도11A는 하부 페이지 데이터의 프로그래밍 동안 어떤 지점에서 파형을 픽업하고, 물리적인 페이지 내의 셀들은 표준 제1 패시 펄스/검증 사이클을 겪는다. 그 다음 검증 판독이 펄스(103) 주위의 어떤 시간에서 발생하도록 이벤트 시간(t2)이 선택된다. 펄스(103)가 하부 페이지의 제1 프로그래밍 패스에 대한 펄스들의 최대 수에 대응하여 발생되어야 하는 경우, 프로세스는 그 후에 상부 페이지의 제2 프로그래밍 패스에 의해 지속될 것이다. 펄스(103)가 하부 페이지의 최대 펄스 수보다 적을때, 프로세스는 다중-상태 프로그래밍 모드의 전체 시퀀스 프로그맹으로 변환된다. A 상태로서 자신들의 최종 타겟 상태를 가지며 정확하게 검증되었던 임의의 셀들은 록 아웃되는 반면, 모든 다른 셀들은 더 많은 프로그래밍을 받게 될 것이다. 이들의 타겟 상태의 오버슛을 피하기 위하여, 예시적인 실시예는 하부 페이지의 최디 값보다 더 낮은 값에서 전체 시퀀스 파형을 시작한다. 도11B에서, 이것은 선행하는 펄스(103)보다 적은 펄스(105)로서 도시되어 있다. 전체 시퀀스프로그래밍으로 변환 시에, 다수의 파형 파라미터들이 변화될 수 있다. 시작하는 Vpgm 값 이외에, 이것은 최대 Vpgm 값, 펄스들의 최대 수, 및 스텝 크기를 포함하며, 여기서 예는 전체 시퀀스 스텝 크기를 동일하거나 더 낮은 페이지 스텝 크기로서 취한다. 이들 파라미터들은 고정되거나, 바람직하게는, 설정 가능할 수 있다.
이벤트 t2가 펄스(101) 전에 발생하면, 하부 페이지 대 전체 시퀀스 변환은 펄스 진폭이 105의 전체 시퀀스 시작 값에 도달하기 전에 발생할 것이다. 이 경우에, 계단은 자신이 이 레벨에 도달할 때까지 일정한 스텝 레벨들만큼 지속적으로 상승할 수 있고, 101 및 105 간의 펄스들은 제거되고 이들의 2개의 펄스들은 근본적으로 합해져서 도9에 도시된 것과 같은 단일 계단을 형성한다. 하부 페이지 대 전체 시퀀스 변환과 관련된 각종 파라미터들이 또한 리셋될 것이다.
도11C는 도11A의 도10B에 대한 등가 실시예이다. 도10B에 도시된 바와 같이, 제1 라인(Cache Busy)은 데이터를 전달하는 인에이블 신호에 대응하며, 상부 페이지를 로딩하는 것보다 선행하는 하부 페이지의 로딩을 나타하며, 여기서 상부 및 하부 페이지들은 동일한 물리적인 페이지에 대응한다. Cache Busy 신호는 로우로 진행하기 전 데이터의 하부 페이지를 로딩하기 위해 하이가 되고 나서, 상부 페이지를 로딩하기 위해 다시 하이가 된다. 그 후, 상기 신호는 그 다음 데이터, 여기 서는 다음 워드 라인 상의 하부 페이지 데이터가 로딩될 때까지 로우로 유지된다. 일단 하부 페이지가 로딩되면, 프로그래밍이 인에이블되고 하부 페이지가 프로그램되고, 여기서 제2 라인(True Busy)은 인에이블되는 프로그래밍에 대응한다.
하부 페이지만이 프로그램되고 있는 동안, pvfyA에 의해 표시된 바와 같이, A 상태만이 검증될 필요가 있다. 일단 상부 페이지 데이터가 로딩되면, pvfyA/B에의해 표시된 바와 같이, B 상태가 또한 검증된다. 펄스들의 수가 A 상태에 대해 할당된 후, 프로그래밍은 자신들의 타겟 상태로서 검증되지 않은 A 상태를 갖는 임의의 셀들에 대해 중단될 수 있고, 이들은 에러 수정 방법들에 의해 처리될 수 있다. A 상태의 검증이 중단된 후에, pvfyB/C에 의해 표시된 바와 같이, C 상태의 검증이 B 상태의 검증에 부가된다. 일단 B 상태에 대한 할당된 수의 펄스들이 사용되면, pvfyC에 의해 표시된 바와 같이 C 상태만이 지속적으로 검증된다. 라인(41)은 모든 셀들이 상태 B에서 검증되고 상태 C의 프로그래밍만이 남아 있을 때, 상태 C에 대해 프로그래밍이 지속되는 동안, 다음 페이지에 대한 새로운 데이터가 수신 및 발생될 수 있다는 것을 나타낸다. 이는 프로그래밍 시간을 더욱 개선시키기 위한 본 발명의 또 다른 실시예이다. 도8A에서 상술된 상태 코딩을 가정하면, 상태 B는 "00"으로 표현되고, 상태 C는 "01"로서 표현되며, 프로그램이 지속되고 있다면, 이 셀에 대한 상부 페이지 데이터가 0이라는 것을 인지한다. 따라서, 상부 페이지 버퍼 레지스터를 일시적으로 릴리스하고, 다음 페이지에 대한 하부 페이지 데이터를 이 버퍼 내로 로딩할 수 있다(상기 데이터는 프로그래밍이 새로운 페이지에 대해 시작될 때 하부 페이지 퍼버로 전달될 것이다). 상태 C의 그 다음의 프로그래밍 동 안 프로그램 고장이 존재하고 데이터를 재기록할 필요가 있을지라도, 제어기는 페이지(n)에 대한 새로운 데이터를 메모리에 전달할 필요가 없고; 여전히 하부 페이지데이터를 가지며, VRB 임계값(도10C 참조)을 사용하여 셀의 상태를 단순히 판독함으로써 상부 페이지 데이터를 복구시킬 수 있다. 이 이벤트에서, 에러가 제어기에 보고되고, 하부 페이지(n+1)에 대해 수신된 데이터는 폐기되며, 페이지(n)에 대한 복구된 데이터가 제어기에 의해 지향된 바와 같은 새로운 위치로 기록될 것이다. 상기 참조된 미국 특허 6,046,935 또는 6,657,891에 서술된 바와 같은 대안을 사용하는 것은 하부 페이지 버퍼가 릴리스되도록 하지만, 기본적인 원리는 동일하게 유지된다.
파이프라인식의 부분적인 페이지 프로그래밍
배경에서 서술된 바와 같이, 플래시 또는 다른 메모리 내의 페이지가 부분적으로 프로그램되고 있을 때, 예를 들어, 다중-섹터 또는 다중-플레인 페이지는 단일 데이터 섹터로만 프로그램되고, 사용자(제어기)는 동일한 페이지의 또 다른 부분적인 프로그램을 시작할 수 있도록 하기 위해서는 프로그래밍이 종료될 때까지 대기해야 한다. 이 프로세스가 도12에 도시되어 있다.
제12의 처음 2 라인들은 전달 단위들이 완전한 상부 및 하부 페이지 데이터라기 보다는 페이지의 부분들이라는 점을 제외하면, 도10A와 유사하다. 프로그램, 또는 (프로그래밍) 페이지의 단위는 동시에 프로그램될 수 있는 다수의 이와 같은 전달 단위들로 이루어지도록 선택되는데, 이 예에서 섹터로서 선택된다. 페이지 내 로 결합되는 이들 섹터들 각각은 메모리의 별도의 반-자율적인 어레이, 또는 플레인에 속하는 것으로서 선택된다. 플레인들은 모두 동일한 메모리 칩 상에 존재하며, 다수의 칩들에 걸쳐 분포된다. 복합적인 논리적 구조들을 형성하기 위하여 여러 어레이들의 부분들을 함께 링크하는 프로세스는 둘 다 2003년 12월 30일자로 출원된 미국 특허 출원 일련 번호들 10/750,157 및 10/750,155에 더욱 충분하게 설명되어 있고, 이들 둘 다는 본원에 참조되어 있다. 도12의 예는 메모리 시스템이 4개 까지의 섹터들이 4개의 플레인들 내로 동시에 프로그램될 수 있도록 하는 부분적인 페이지 프로그래밍을 허용하고, 대응하는 섹터들이 여기서 0-3으로 라벨링된다라고 가정한다. 본 발명의 이 양상에서, 메모리 셀들은 이진 또는 다중-레벨 셀들일 수 있다. 다중-레벨 데이터의 경우에, 데이터는 단일의 논리적 페이지에 속하는 다중-상태 데이터로서, 또는 상술된 상부 페이지/하부 페이지 배열과 같은 다중-페이지 포맷으로 인코딩될 수 있다. 최종 경우에, 이 절에 설명된 본 발명의 파이프라인식의 부분적인 페이지 프로그래밍 양상은 이전 절에 설명된 상부 및 하부 페이지들의 중첩된 프로그래밍과 결합될 수 있다.
도12의 최하부의 4개의 라인들은 어느 플레인들이 언제 및 어느 데이터로 프로그램되고 있는지를 나타낸다. 상기 예에서, 호스트 섹터들 0 및 1을 번갈아 전달하고 메모리는 프로그래밍을 시작하기 전에 둘 다를 축적하기 위하여 대기한다. 오게 될 더 많은 데이터의 즉각적인 표시가 존재하지 않거나, 시스템이 더 많은 데이터를 대기하도록 결정하지 않으면, 시간(t1)에서 섹터들 0 및 1의 부분적인 페이지가 플레인들 0 및 1 내로의 프로그래밍을 시작한다. 프로그래밍은 모든 셀들이 검 증되거나 최대 펄스 수에 도달될 때까지 지속된다.
섹터들 0 및 1의 부분적인 페이지가 프로그램되고 있는 동안, 이 페이지에 대응하는 데이터의 나머지가 도착하고, 섹터 2 및 섹터 3 데이터가 시간들(t2 및 t3)에 각각 메모리에 전달된다. 종래 기술이 프로그래밍이 완료되기 전에 프로그래밍을 차단하고 나중에 재개하는 것을 허용하지 않기 때문에, 메모리는 섹터들 0 및 1이 시간(t4)에서 프로그래밍을 종료할 때까지 대기해야 하고, 그 후에 섹터 2 및 3 데이터가 제2의 부분적인 프로그래밍 동작에서 플레인들 2 및 3 내로 프로그램될 수 있다. 섹터들 2 및 3을 프로그래밍하는 동안, 섹터들 4-7이 전달되고, 섹터들 2 및 3의 부분적인 페이지 프로그래밍이 종료되는 시간(t5)에서 시작하여, 전체 페이지로서 함께 프로그램될 수 있다. 이 시퀀스가 단지 상이한 섹터들이 전달되는 시간에 대한 타이밍의 예라는 점에 주의해야 하며; 더 일반적으로는, 이들 고려사항들이 갭이 존재하면 언제나 적용되며, 완전한 페이지를 구성하는 모두보다 적은 섹터들이 우측으로 차례로 나타나고 나서, 부분적인 페이지가 여전히 프로그램되고 있는 동안, 페이지에 속하는 부가적인 섹터들이 도착한다.
섹터 2의 데이터가 시간(t2)에 존재하고 섹터 3에 대한 데이터가 시간(t3)에 존재할지라도, 종래 기술에 따르면, 섹터들 0 및 1의 부분적인 페이지는 페이지의 이러한 부가적인 부분들을 포함시키기 위하여 중간-과정에 차단되고 나서 재개될 수 있는 것이 아니라, 제2의 부분적인 페이지 프로그램보다 선행하여 시간(t4)에 종료되어야 한다. 본 발명의 양상은 메모리가 임의의 상황들 하에서 자신의 최고 프로그래밍 대역폭에서 프로그램될 수 있도록 플래시 메모리에서 메모리 페이지의 파이프라인식의 부분적인 프로그래밍을 허용하는 방법이다. 특정 전략은 이 방법에 기초하여 가능한한 빨리 프로그래밍을 시작하는 것이며, 호스트가 적은 클러스터들에 또는 불연속적으로 기록하는 애플리케이션들에서 시스템 성능을 상당히 증가시킬 수 있다.
종래 기술에서의 이들 문제점들을 처리하기 위하여, 여러 방법들의 존재하는데, 여기서 주요 아이디어는 페이지 프로그래밍을 위해 가능한한 많은 데이터를 수집하는 것이다. 이 경우에, 상이한 섹터들에 대한 데이터는 도12에 도시된 전달들에 대하여, 섹터들 0-3 모두가 전달될 때까지 프로그래밍이 시작되지 않도록, 페이지에 대한 모든 데이터가 전체 페이지 프로그램을 위해 수집될 때까지 제어기 버퍼 또는 메모리 데이터 레지스터에서 캐쉬되거나, 호스트가 연속되지 않은 섹터를 기록하고 데이터가 부분적인 페이지 프로그래밍에 의해 기록되지 않아야 한다. 이들 솔류션들은 긴, 연속적인 호스트 기록 동작에 대해 최대 프로그래밍 대역폭을 유지히만, 호스트가 작은 클러스터들에서 또는 불연속적으로 기록하는 경우에 단점을 제공한다. 호스트가 긴 연속적인 청크들에 데이터 섹터들을 기록하고 이전의 것에 연속되는 다음 데이터 부분의 예상이 틀린 경우, 이것은 부가적인 지연을 발생시킨다. 또한, 이 방법은 제어기가 제어기의 버퍼에서 모든 데이터를 수집하는 경우에, 더 많은 버퍼 공간을 필요로 한다.
제1의 부분적인 페이지 프로그래밍은 어떤 섹터를 비워 두고, 제1 데이터 부분에서 시작한다. 이 제1의 부분적인 페이지 프로그래밍은 다음 호스트 명령이 수신되기 전, 그리고 다음 명령이 연속적인 섹터 기록인지를 인지하지 못할 때 시작 된다. 제1의 부분적인 페이지 프로그래밍 동작은 이 새로운 데이터 부분이 수신되자마자 그 다음 명령이 페이지의 빈 섹터(blank sector)들에 대한 데이터와 관련되는 경우, 완료 전에 중단될 수 있다. 새로운 데이터가 다른 페이지에 대응하는 경우, 제어기는 단지 진행중인 프로그램 동작의 종료를 대기할 필요가 있다. 그 후, 메모리 셀의 상태가 검증되고 나서, 페이지는 원래 데이터 및 새로운 데이터 둘 다에 의해 병렬로 프로그램될 수 있다. 메모리는 프로그램되는 페이지의 모든 섹터/플레인에대한 상태를 표시하여, 제어기가 이미 프로그램된 그러한 섹터들에 대한 데이터를 포함하는 버퍼를 자유롭게 할 수 있도록 한다. 제어기는 다른 플레인들에서의 진행중인 활동들과 관계없이 다음 섹터의 프로그래밍을 시작할 수 있고, 다중-플레인 메모리는 프로그래밍이 다른 플레인들 이전에 완성되는 그러한 플레인들에서 프로그래밍을 시작할 수 있다.
이러한 각종 서브-양상들에 따르면, 제어기는 자신이 나중에 동일한 페이지에 더 많은 데이터를 프로그램하고자 하는 경우에, 가능한 성능 패널티 없이 가능한한 빨리 제1의 부분적인 페이지 프로그래밍 동작을 시작할 수 있다. 이것은 또한 제어기가 제2의 부분적인 데이터 프로그램이 종료되기 전에 제1 부분에 대한 데이터를 포함하는 데이터 버퍼를 자유롭게 하도록 한다. 또한, 메모리 구조가 허용하는 경우, 제어기는 비활성 플레인들에서 또 다른 프로그램 동작을 시작할 수 있다.
파이프라인식의 부분적인 페이지 프로그래밍 동작의 제1 실시예가 도13의 도면에 도시되어 있다. 도11A에 대하여 상술된 프로세스와 유사하게, 이 제1 실시예는 차단되었던 페이지의 그러한 파트들에 대하여, 프로그래밍 사이클이 동일한 지 점에서 재시작될 수 있다라고 가정한다. 이것은 예를 들어, 일정한 펄스 진폭을 갖는 펄싱된 프로그래밍 파형이 사용되는 경우 또는 프로그래밍을 위해 일정한 바이어스가 인가되는 경우일 수 있다. 이것은 또한 각각의 플레인이 자신의 계단을 가지는 도9에 도시된 바와 같은 계단식 프로그래밍 파형에 적용될 수 있다. (플레인들 모두가 동일한 파형을 공유하는 계단식 프로그래밍 파형의 경우는 도14A 및 도14B를 참조하여 이하에 설명된다.)
도13에서 시간(t1) 이전에, 섹터들 0 및 1에 대한 데이터가 제어기에 의해 수신된다. 제어기는 명령의 실행이 성공이었고(기록 캐쉬가 인에이블됨), 다른 명령에 대한 준비가 되어 있다라고 보고한다. 섹터들 0 및 1이 4-플레인 플래시 메모리에 전달된다. 그 후, 부분적인 페이지 프로그래밍이 시작되는데, 여기서 플레인들 0 및 1이 이에 대응하여 섹터 0 및 1 데이터로 프로그램될 것이며, 플레인들 2 및 3이 빈 데이터(FF's)로 프로그램되거나 전혀 프로그램되지 않을 것이다. 본 발명은 FFs가 프로그램되어야 하는 4-섹터 단일 플레인 메모리에 적용된다. 단일 플레인 장치에서도, 프로그래밍 회로는 셀들 중 어느 그룹(예를 들어, 섹터들)이 프로그램되는지에 관한 정보를 제공하여, 이들 셀들의 데이터를 포함하는 버퍼가 릴리스될 수 있도록 한다.
시간(t2)에서, 섹터 2에 대한 데이터가 새로운 명령에 의해 수신된다(다른 예에서와 같이, 이것은 동일한 페이지의 파트로서 섹터들 0 및 1에 이어서 기록될 예정인 임의의 섹터일 수 있음). 제어기는 성공적인 명령 실행을 보고하고, 섹터 2가 플래시 메모리에 전달된다. 물리적 페이지 프로그래밍이 중단되고, 물리적 페이 지의 상태가 검증되어, 나중에 매 셀마다 정확한(예를 들어, 대략적이거나 미세한) 프로그래밍 모드가 선택될 수 있다. 그 후에, 부분적인 페이지 프로그래밍이 재개되는데, 여기서 플레인들 0, 1 및 2는 대응적으로 섹터 0, 1 및 2 데이터로 프로그램될 것이며, 플레인 3은 빈 데이터(FF's)로 프로그램되거나 전혀 프로그램되지 않을 것이다. 개략적인/미세한 프로래밍 모드의 하나의 구현방식이 본원에 참조되어 있는 미국 특허 번호 6,643,188에 서술되어 있다.
시간(t3)에서, 섹터 3에 대한 데이터가 새로운 명령에 의해 수신된다. 제어기는 데이터 버퍼들이 이용 가능하지 않기 때문에, 성공적인 명령 실행을 보고하지 않는다. 섹터 3이 플래시 메모리로 전달된다. 물리적 페이지 프로그래밍은 다시 중단되고, 물리적 페이지의 상태가 검증되어, 나중에 매 셀마다 정확한 프로그래밍 모드가 선택될 수 있다. 그 후에, 전체 페이지 프로그래밍이 시작될 수 있는데, 여기서 플레인들 0, 1, 2 및 3은 이에 대응하여 섹터 0, 1, 2 및 3 데이터로 프로그램될 것이다.
이 실시예에서, 플레인들 0 및 1 내로의 섹터 데이터 0 및 1의 프로그래밍이 종료되는 시간(t4)에, 제어기는 섹터들 0 및 1에 대한 데이터를 포함하는 버퍼들을 자유롭게 하고, 제어기는 최종 명령의 성공적인 실행을 보고한다. 시간(t4) 후 및 시간(t5) 전에, 섹터들 4 및 5에 대한 데이터가 제어기에 의해 수신되고 4-플레인 플래시 메모리에 전달된다. 메모리가 독립적인 플레인 프로그래밍을 허용하면, 플레인들 0 및 1의 프로그래밍이 시작될 수 있고, 여기서 플레인들 0 및 1은 이에 대응하여 섹터들 4 및 5에 대한 데이터로 프로그램될 것이며, 플레인들 2 및 3은 여 전히 빈 데이터(FF's)로 프로그램되거나 전혀 프로그램되지 않을 것이다. 메모리 플레인들이 독립적으로 프로그램될 수 없다면, 물리적 페이지 프로그래밍이 중단될 수 있고, 물리적 페이지의 상태가 검증되어, 나중에 매 셀마다 정확한 프로그래밍 모드가 선택될 수 있고, 모든 플레인들에 대한 프로그래밍이 섹터들 2, 3, 4 및 5로 시작된다.
시간(t6) 전에, 플레인 2의 프로그래밍이 종료되고, 제어기는 섹터 2에 대한 데이터를 포함하는 버퍼를 자유롭게 하고 최종 명령에 대한 성공적인 실행을 보고한다. 섹터 6에 대한 데이터가 그 후에 제어기에 의해 수신된다. 제어기는 데이터 버퍼들이 이용 가능하지 않기 때문에 성공적인 명령 실행을 보고하지 않는다. 섹터 6이 플래시 메모리로 전달된다. 메모리가 독립적인 플레인 프로그래밍을 허용하면, 플레인 2 프로그래밍이 섹터 6 데이터로 시작되고, 플레인들 0, 1 및 3이 섹터들 4, 5 및 3 데이터로 각각 프로그래밍을 재시작할 것이다. 메모리 플레인들이 독립적으로 프로그램될 수 없다면, 물리적 페이지 프로그래밍은 중단되어야 하며, 물리적 페이지의 상태가 검증되어, 나중에 매 셀마다 정확한 프로그래밍 모드가 선택될 수 있고, 모든 플레인들에 대한 프로그래밍이 섹터들 3, 4, 5 및 6에 대한 데이터로 시작된다.
시간(t7)에서, 플레인 3의 프로그래밍이 종료되고 제어기는 섹터 3에 대한 데이터로 버퍼를 자유롭게 할 수 있다. 섹터들 4, 5 및 6의 프로그래밍이 아직 시작되지 않았다면, 부분적인 페이지 프로그래밍이 시작될 수 있는데, 여기서 플레인들 0, 1 및 2는 이에 대응하여 섹터 4, 5 및 6 데이터로 프로그램될 것이며, 플레 인 3은 빈 데이터(FF's)로 프로그램되거나 전혀 프로그램되지 않을 것이다. 시간(t8)에서, 섹터(7) 데이터가 새로운 명령에 의해 수신된다. 제어기는 데이터 버퍼드링 이용 가능하지 않기 때문에 성공적인 명령 실행을 보고하지 않는다. 섹터 7이 플래시 메모리로 전달된다. 물리적 페이지 프로그래밍이 중단되고, 이의 상태가 검증되어, 나중에 매 셀마다 정확한 프로그래밍 모드가 선택될 수 있다. 전체 프로그래밍이 시작되고, 여기서 플레인들 0, 1, 2 및 3은 이에 대응하여 섹터 4, 5, 6 및 7 데이터로 프로그램될 것이다.
도14A 및 14B는 파이프라인식이 부분적인 페이지 프로그래밍에 대한 제2 실시예를 도시한다. 이 실시예는 프로그래밍이 추가된 페이지의 부가적인 부분에 대한 데이터로 재개될 때 프로그래밍 프로세스가 리셋될 필요가 있는 경우를 커버한다는 점에서 도13과 상이하다. 이것은 물리적 페이지 내의 모든 플레인들이 동일한 프로그래밍 값(Vpgm)을 공유하고, 프로그래밍 파형이 도9에서와 같이 계단식인 구조에서 발생한다. 이 배열에서, 일단 플레인들 중 어느 하나에서 워드 라인 프로그래밍 사이클이 시작되면, 상기 사이클은 불완전하게 종료될 수 있지만, 부가적인 데이터가 물리적 페이지의 또 다른 플레인에 추가되면, Vpgm은 새로운 데이터에 대해 리셋될 필요가 있을 것이다. 결과적으로, 이것은 동일한 전하 펌프가 전체 워드 라인에 공급될 때 물리적인 페이지의 나머지에서 또한 리셋될 것이다. 이 배열에서, 프로그래밍 섹터 1은 반드시 도13에 도시된 바와 같이, 섹터 2에 앞서 종료되지는 않을 것이다. 도14A 및 14B의 실시예에서, 프로그래밍이 차단될 때, Vpgm은 리셋되 고 데이터 레지스터들은 불완전하게 프로그램된 셀들의 상태를 판독함으로써 리셋된다. 많은 이러한 세부사항들에서, 도14A 및 14B의 실시예는 도11A-11C의 실시예가 도10의 실시예와 관련되는 것과 거의 동일한 방식으로 도13의 실시예와 관련된다.
시간(t2)까지, 도14A의 프로세스는 도13A와 동일하다. 일단 섹터 2 데이터가 전달되면, 펄스/검증 프로세스의 현재 사이클이 종료되고, 셀들의 상태가 검증되며, 프로그래밍 파형이 리셋된다. 리셋에 의해 시간(t2)에서의 Vpgm 파형은 시간(t1)에서 시작된 것과 동일한 레벨로서 시작된다. 펄스들의 최대 수와 같은, 프로세스와 관련된 임의의 적절한 파라미터들이 또한 리셋된다. 결과적으로, 섹터 3에 대한 데이터가 충분히 빨리 도달하지 않는다면, 섹터들 0 및 1의 프로그래밍은 이제 t7보다 더 빠른 어떤 시간에 섹터 2의 프로그래밍과 함께 종료될 것이다.
그러나, 상기 예에서, 섹터 3 데이터가 시간(t3)에 도착하고 전달된다. 플레인들 0-2의 부분적인 페이지의 프로그래밍이 차단되고, 프로그래밍 프로세스는 시간(t2)에서 다시 리셋되며, 프로그래밍은 전체 페이지로 재개된다. 리셋으로 인하여, 전체 페이지는 시간(t7)에 종료된다. 이는 각 섹터의 프로그래밍이 데이터가 이용 가능한 즉시, 파이프라인식의 부분적인 페이지 프로세스에서 시작되도록 한다. 섹터들 2 및 3 둘 다는 프로그래밍을 시작하기 위하여 시간(t4)까지 대기하기보다는, t2 및 t3에서 각각 시작될 수 있다.
섹터들 0-3이 프로그램되고 있는 동안, 섹터들 4 및 5는 시간(t5)에 전달되 고, 섹터 6은 시간(t6)에 전달된다. 일단 제1 페이지가 시간(t7)에서 종료되면, 제1 페이지와 동일한 프로세스 다음에, 각각의 섹터 데이터 4-6에 의한 플레인들 0-2의 부분적인 페이지 프로그래밍이 시작된다. 이것은 섹터들 0-3이 프로그래밍을 종료하기 전에 버퍼 공간이 이용 가능하도록 한다. 그렇지 않으면, 이 제1 페이지의 프로그램이 종료되는 즉시, 섹터들 4-6이 이벤트 시간(t4) 다음에 전달된다. 일단 이 섹터들이 메모리 상에 존재하면, 섹터들 4-6의 플레인들 0-2 내로의 프로그래밍이 시작된다. 섹터 7 데이터가 도착할 때, 플레인들 0-2의 부분적인 페이지 프로그래밍이 차단되고, 프로세스는 리셋되며, 전체 페이지 프로그래밍이 이벤트 시간(t8)에 재개된다.
도14B는 시간(t1)에서 시간(t5) 주위의 어떤 시간까지의 도14A의 프로세스에 대한 예시적인 파형이다. Vpgm 파형은 도9의 파형과 같이 시작되며, 섹터들 0 및 1의 부분적인(논리적) 페이지가 플레인들 0 및 1의 부분적인(논리적) 페이지 내로 프로그램되도록 하는데 사용된다. 섹터 2에 대한 부가적인 데이터는 펄스(201)와 관련된 펄스/검증 사이클에서의 어떤 시간에 나타난다. 프로그래밍은 차단되고, 셀들의 상태가 결정되며, 프로그래밍은 섹터들 0-2에 대해 리셋되고 재시작된다. 유사하게, 페이지에 대한 나머지 데이터가 펄스(205)와 관련된 펄스/검증 사이클에서의 어떤 시간에 나타날 때, 부분적인 페이지 프로그래밍이 차단되고 이제 표준인 전체 페이지 프로그래밍 프로세스에서, 전체 페이지, 등으로 207에서 재시작된다.
파이프라인식의 부분적인 페이지 프로그래밍 및 상부와 하부 MLC 페이지들에 대한(즉, 동일한 페이지 내의 데이터 부분들의 중첩된 프로그래밍의 "수평" 및 "수직" 구현방식들 둘 다에 대한) 상기 실시예들 모두에서, "현재 프로그래밍 동작들", 또는 더 간략하게, "동시적인 프로그래밍"의 사용이 반드시 페이지 내의 모든 데이터에 대한 모든 프로그래밍 펄스들이 절대적으로 동일하다는 것을 의미하지는 않는다는 점에 주목해야 한다. 이것은 또한 페이지가 다수의 플레인들("메타-페이지") 걸친 경우에도 적용된다. 예를 들어, 메타-페이지가 다수의 칩에 걸치는 경우에, 제2 칩에서의 동일한 프로그래밍 동작에 대한 프로그래밍 펄스들에 앞서 제1 칩들에서의 프로그래밍 동작의 프로그래밍 펄스들이 먼저 시작될 수 있다. 이와 같은 넓은-메타-페이지들은 편의상 일부 다중-칩 병렬 구조들에서 사용된다. 이들이 장점들을 제공할 수 있는 영역들 중에는: 어드레스 변환; 메타-페이지의 프로그래밍 파트들이 동시적인 것이 아니라, 다수의 프로그램들을 위해 충분한 데이터가 수집되면 프로그램 펄스들이 더 짧은 시간에 번갈아서 시작될 수 있는 경우, 오버헤드를 감소시키는 점(극단적인 경우에, 데이터들이 메모리 칩 내측에서 비트단위로 프로그램될 수 있다); 및/또는 전력 소모를 감소시키는 점이 있다.
유전체 저장 소자들의 대안적인 용도
플래시 EEPROM 메모리 셀들을 상기 예들은 전하 저장 소자들로서 도전성 플로우팅 게이트들을 사용하는 셀의 유형에 대해 설명되었다. 그러나, 본 발명의 다양한 양상들은 본원에 참조되어 있는 2004년 5월 7일자로 출원된 미국 특허 출원 번호 10/841,379에서 설명된 각종 메모리 기술들과 함께 사용될 수 있다. 예를 들어, 본 발명은 또한 플로우팅 게이트들 대신에 개별적인 메모리 셀들 내의 저장 소 자들로서 전하 트랩핑 유전체를 사용하는 시스템에서 구현될 수 있다. 유전체 저장 소자는 셀의 채널 영역 내에서 기판 및 도전성 제어 게이트 간에 샌드위치된다. 유전체가 플로우팅 게이트들과 동일한 크기들 및 위치들을 갖는 개별적인 소자들로부터 분리될 수 있을지라도, 전하가 이와 같은 유전체에 의해 국소적으로 트랩되기 때문에, 통상적으로 그렇게 할 필요는 없다. 전하 트랩핑 유전체는 선택 트랜지스터들, 등에 의해 점유되는 에어리어들 이외의 전체 어레이에 걸쳐 확장될 수 있다.
유전체 저장 소자 메모리 셀들은 일반적으로 본원에 전체적으로 참조되어 있는 다음의 기술적인 논문 및 특허들에서 설명되어 있다: Chan 등의 "A True Single-Transistor Oxide-Nitride-Oxide EEPROM" IEEE Electron Device Letters, Vol. EDL-8, No.3, March 1987, pp.93-95; Nozaki 등의 "A 1-Mb EEPROM with MONOS Memeory Cell for Semiconductor Disk Application," IEEE Journal of Solid State Circuit, Vol. 26, No.4, April 1991, pp.497-501; Eitan 등의 "NROM: A Novel Localized Trapping, 2-Bit Nonvolatile Memory Cell", IEEE Electron Device Latters, Vol.21, No11, November 2000, pp.543-545, 및 미국 특허 번호 5,851,881.
사용하기에 실용적인 2개의 특정 전하 트랩핑 유전체 재료 및 구성이 존재한다. 하나는 기판 상에 최초로 성장된 이산화 실리콘, 그 위에 증착된 질화 실리콘 층 및 질화 실리콘 층위에 성장 및/또는 증착된 산화 실리콘의 따른 층("ONO")을 갖는 3-층 유전체이다. 제2 대안은 게이트 및 반도체 기판 표면 간에 샌드위치된 실리콘 풍부 이산화 실리콘의 단일 층이다. 이 후자의 재료는 전체적으로 본원에 참조되어 있는 다음 2개의 논문에서 설명된다: DiMaria 등의 "Electrically-alterable read-only-memory using Si-rich SIO2 injectors and a floating polycrystailline silicon storage layer." J. Appl, Phys, 52(7), july 1981. pp. 4825-4842; Hori 등에 의한 "A MOSFET with Si-implanted Gate-SiO2 Insulator for Nonvolatile Memory Application," IDEM 92, April 1992, pp.469-472. 유전체 저장 소자들은 또한 본원에 참조되어 있는 2002년10월 25일자로 출원된 미국 특허 출원 일련 번호 US10/280,352에 더 논의되어 있다.
본 발명은 특정 예들 및 변형들에 관하여 설명되었을지라도, 첨부된 청구항들의 전체 범위 내에서 보호되어야 한다는 것이 이해된다.

Claims (37)

  1. 프로그래밍 동작 데이터가 물리적 페이지로 형성되는 다수의 다상 저장 유닛들로 기록되는 동안 비휘발성 메모리를 프로그램하는 방법에 있어서,
    물리적 페이지로 할당되는 제1 데이터 컨텐트를 수신하는 단계로서, 상기 제1 물리적 컨텐트는 상기 물리적 페이지의 저장 유닛들에 저장될 수 있는 모든 데이터 컨텐트보다 적게 규정되는, 수신 단계;
    상기 물리적 페이지로의 상기 제1 데이터 컨텐트의 프로그래밍 동작을 시작하는 단계;
    상기 제1 데이터 컨텐트를 수신한 다음과 상기 제1 데이터 컨텐트의 상기 프로그래밍 동작을 완료하기 전, 상기 물리적 페이지의 상기 저장 유닛들에 대한 부가적인 데이터 컨텐트를 수신하는 단계;
    상기 부가적인 데이터 컨텐트를 수신한 다음과 상기 제1 데이터 컨텐트의 프로그래밍 동작을 완료하기 전, 상기 제1 데이터 컨텐트의 프로그래밍 동작을 차단하는 단계; 및,
    상기 물리적 페이지로의 상기 제1 데이터 컨텐트와 상기 부가적인 데이터 컨텐트의 동시 프로그래밍 동작을 시작하는 단계를 포함하는 비휘발성 메모리를 프로그램하는 방법.
  2. 제1항에 있어서, 상기 제1 데이터 컨텐트는 하부 데이터 페이지이고 상기 부 가적인 컨텐트는 상부 데이터 페이지인 비휘발성 메모리를 프로그램하는 방법.
  3. 제1항에 있어서, 상기 제1 데이터 컨텐트의 프로그래밍 동작을 차단하기 전, 상기 부가적인 데이터 컨텐트가 상기 제1 데이터 컨텐트와 동일한 물리적 페이지에 할당된다라고 결정하는 단계를 더 포함하는 비휘발성 메모리를 프로그램하는 방법.
  4. 제1항에 있어서, 상기 제1 데이터 컨텐트의 프로그래밍 동작을 차단한 다음 그리고 상기 제1 데이터 컨텐트 및 부가적인 데이터 컨텐트의 동시 프로그래밍 동작을 시작하기 전, 상기 물리적 페이지의 저장 유닛들의 상태를 검증하는 단계를 더 포함하는 비휘발성 메모리를 프로그램하는 방법.
  5. 제4항에 있어서, 상기 제1 데이터 컨텐트의 프로그래밍 동작을 차단한 다음 과 상기 제1 데이터 컨텐트 및 부가적인 데이터 컨텐트의 동시 프로그래밍 동작을 시작하기 전, 하나 이상의 프로그래밍 파라미터들을 리셋하는 단계를 더 포함하는 비휘발성 메모리를 프로그램하는 방법.
  6. 제5항에 있어서, 상기 프로그래밍 동작은 증가하는 크기의 일련의 펄스들을 포함하는 프로그래밍 파형을 이용하는 비휘발성 메모리를 프로그램하는 방법.
  7. 제6항에 있어서, 상기 하나 이상의 프로그래밍 파라미터들은 프로그래밍 파 형의 진폭을 포함하는 비휘발성 메모리를 프로그램하는 방법.
  8. 제6항에 있어서, 상기 하나 이상의 프로그래밍 파라미터들은 최대 펄스들의 수를 포함하는 비휘발성 메모리를 프로그램하는 방법.
  9. 제6항에 있어서, 상기 제1 데이터 컨텐트의 프로그래밍 동작을 차단한 다음 그리고 상기 제1 데이터 컨텐트 및 부가적인 데이터 컨텐트의 동시 프로그래밍 동작을 시작하기 전, 상기 물리적 페이지의 저장 유닛들의 상태를 검증하는 단계를 더 포함하는데, 상기 프로그래밍 파라미터들은 상기 저장 유닛들의 상태를 토대로 설정되는 비휘발성 메모리를 프로그램하는 방법.
  10. 제1항에 있어서, 상기 물리적 페이지로의 상기 제1 데이터 컨텐트의 상기 프로그래밍 동작은 상기 물리적 페이지의 비규정된 데이터 컨텐트에 대한 기록 블랭크 데이터를 포함하는 비휘발성 메모리를 프로그램하는 방법.
  11. 제1항에 있어서, 상기 제1 데이터 컨텐트를 수신한 다음 그리고 상기 물리적 페이지로의 상기 제1 데이터 컨텐트 및 부가적인 데이터 컨텐트의 동시 프로그래밍 동작을 완료하기 전, 상기 물리적 페이지의 메모리 외부의 일부에 또 다른 프로그래밍 동작을 시작하는 단계를 더 포함하는 비휘발성 메모리를 프로그램하는 방법.
  12. 프로그래밍 동작 데이터가 다수의 다상 저장 유닛들을 갖는 물리적 페이지로로 기록되는 동안 비휘발성 메모리를 프로그램하는 방법에 있어서,
    물리적 페이지로 할당되는 제1 데이터 컨텐트를 수신하는 단계로서, 상기 제1 물리적 컨텐트는 상기 물리적 페이지를 형성하는 모든 저장 유닛들보다 적게 데이터 컨텐트를 규정하는, 수신 단계;
    상기 물리적 페이지로의 상기 제1 데이터 컨텐트의 프로그래밍 동작을 시작하는 단계;
    상기 제1 데이터 컨텐트를 수신하는 단계 다음과 상기 제1 데이터 컨텐트의 상기 프로그래밍 동작을 완료하기 전, 데이터가 제1 데이터 컨텐트에 의해 규정되지 않는 상기 물리적 페이지의 하나 이상의 저장 유닛들에 대한 부가적인 데이터 컨텐트를 수신하는 단계;
    상기 부가적인 데이터 컨텐트를 수신하는 단계 다음과 상기 제1 데이터 컨텐트의 프로그래밍 동작을 완료하기 단계 전, 상기 제1 데이터 컨텐트의 프로그래밍 동작을 차단하는 단계; 및,
    상기 물리적 페이지로의 상기 제1 데이터 컨텐트와 상기 부가적인 데이터 컨텐트의 동시 프로그래밍 동작을 시작하는 단계를 포함하는 비휘발성 메모리를 프로그램하는 방법.
  13. 제12항에 있어서, 상기 페이지는 다수의 섹터들을 포함하며, 상기 제1 데이터 컨텐트는 하나 이상이지만 전부 보다 적은 페이지의 섹터들을 포함하고 상기 부 가적인 데이터 컨텐트는 상기 페이지의 하나 이상의 섹터들을 포함하는 비휘발성 메모리를 프로그램하는 방법.
  14. 제12항에 있어서, 상기 물리적 페이지는 상기 비휘발성 메모리의 다수의 플레인들에 걸쳐서 분포되는 비휘발성 메모리를 프로그램하는 방법.
  15. 제12항에 있어서, 상기 제1 데이터 컨텐트의 프로그래밍 동작을 차단하기 전, 상기 부가적인 데이터 컨텐트가 상기 제1 데이터 컨텐트와 동일한 물리적 페이지로 할당된다라고 결정하는 단계를 더 포함하는 비휘발성 메모리를 프로그램하는 방법.
  16. 제12항에 있어서, 상기 제1 데이터 컨텐트의 상기 프로그래밍 동작을 차단하한 다음과 상기 제1 데이터 컨텐트의 동시 프로그래밍 동작을 시작하기 전, 상기 물리적 페이지의 저장 유닛들의 상태를 검증하는 단계를 더 포함하는 비휘발성 메모리를 프로그램하는 방법.
  17. 제16항에 있어서, 상기 물리적 페이지의 저장 유닛들의 상태를 검증한 다음과 상기 제1 데이터 컨텐트와 부가적인 데이터 컨텐트의 동시 프로그래밍을 시작하기 전, 하나 이상의 프로그래밍 파라미터들을 리셋하는 단계를 더 포함하는 비휘발성 메모리를 프로그램하는 방법.
  18. 제17항에 있어서, 상기 프로그래밍 동작들은 증가하는 크기의 일련의 펄스들을 포함하는 프로그래밍 파형을 이용하는 비휘발성 메모리를 프로그램하는 방법.
  19. 제18항에 있어서, 상기 하나 이상의 프로그래밍 파라미터들은 프로그래밍 파형의 진폭을 포함하는 비휘발성 메모리를 프로그램하는 방법.
  20. 제18항에 있어서, 상기 하나 이상의 프로그래밍 파라미터들은 최대 펄스들의 수를 포함하는 비휘발성 메모리를 프로그램하는 방법.
  21. 제12항에 있어서, 상기 물리적 페이지로의 상기 제1 데이터 컨텐트의 상기 프로그래밍 동작은 상기 데이터가 규정되지 않은 물리적 페이지의 저장 유닛들에 대한 기록 블랭크 데이터를 포함하는 비휘발성 메모리를 프로그램하는 방법.
  22. 제12항에 있어서, 상기 제1 데이터 컨텐트를 수신한 다음 그리고 상기 물리적 페이지로의 상기 제1 데이터 컨텐트 및 부가적인 데이터 컨텐트의 동시 프로그래밍 동작을 완료하기 전, 상기 물리적 페이지의 메모리 외부의 일부에 또 다른 프로그래밍 동작을 시작하는 단계를 더 포함하는 비휘발성 메모리를 프로그램하는 방법.
  23. 프로그래밍 동작 데이터가 다수의 저장 유닛들로 기록되는 동안 비휘발성 메모리를 프로그램하는 방법에 있어서,
    상기 다수의 저장 유닛들로 할당되는 제1 데이터 컨텐트를 수신하는 단계로서, 상기 제1 데이터 컨텐트는 상기 저장 유닛들이 포함할 수 있는 모든 데이터 컨텐트보다 적게 데이터 컨텐트를 규정하는, 수신 단계;
    상기 다수의 저장 유닛들로의 상기 제1 데이터 컨테트의 프로그래밍 동작을 시작하는 단계;
    상기 제1 데이터 컨텐트를 수신한 다음과 상기 제1 데이터 컨텐트의 상기 프로그래밍 동작을 완료하기 전, 상기 다수의 저장 유닛들 만큼 포함될 수 있는 부가적인 데이터 컨텐트를 수신하는 단계;
    상기 부가적인 데이터 컨텐트를 수신한 다음과 상기 제1 데이터 컨텐트의 프로그래밍 동작을 완료하기 전, 상기 제1 데이터 컨텐트의 프로그래밍 동작을 차단하는 단계; 및,
    상기 물리적 페이지로의 상기 제1 데이터 컨텐트와 상기 부가적인 데이터 컨텐트의 동시 프로그래밍 동작을 시작하는 단계를 포함하는 비휘발성 메모리를 프로그램하는 방법.
  24. 제23항에 있어서, 상기 다수의 저장 유닛들은 다상 저장 유닛들이고 다수의 논리적 페이지들을 저장하는 물리적 페이지로 형성되고 상기 제1 데이터 컨텐트는 상기 다수의 페이지들 모두보다 적게 데이터 컨텐트를 규정하는 비휘발성 메모리를 프로그램하는 방법.
  25. 제23항에 있어서, 상기 제1 데이터 컨텐트는 상기 저장 유닛들 모두보다 적게 데이터 컨텐트를 규정하고 상기 부가적인 데이터 컨텐트는 데이터가 상기 제1 데이터 컨텐트에 의해 규정되지 않는 상기 저장 유닛들 중 하나이상의 부가적인 유닛들에 대한 데이터 컨텐트를 규정하는 비휘발성 메모리를 프로그램하는 방법.
  26. 제23항에 있어서, 상기 제1 데이터 컨텐트의 프로그래밍 동작을 차단한 다음 그리고 상기 제1 데이터 컨텐트 및 부가적인 데이터 컨텐트의 동시 프로그래밍 동작을 시작하기 전, 상기 다수의 저장 유닛들을 검증하는 단계를 더 포함하는 비휘발성 메모리를 프로그램하는 방법.
  27. 제26항에 있어서, 상기 다수의 저장 유닛들의 상태를 검증한 다음 그리고 상기 제1 데이터 컨텐트 및 부가적인 데이터 컨텐트의 동시 프로그래밍 동작을 시작하기 전, 하나 이상의 프로그래밍 파라미터들을 리셋하는 단계를 더 포함하는 비휘발성 메모리를 프로그램하는 방법.
  28. 제27항에 있어서, 상기 프로그래밍 동작들은 증가하는 크기의 일련의 펄스들을 포함하는 프로그래밍 파형을 이용하는 비휘발성 메모리를 프로그램하는 방법.
  29. 제28항에 있어서, 상기 하나 이상의 프로그래밍 파라미터들은 프로그래밍 파형의 진폭을 포함하는 비휘발성 메모리를 프로그램하는 방법.
  30. 제28항에 있어서, 상기 하나 이상의 프로그래밍 파라미터들은 최대 펄스들의 수를 포함하는 비휘발성 메모리를 프로그램하는 방법.
  31. 제23항에 있어서, 상기 다수의 저장 유닛들로의 상기 제1 데이터 컨텐트의 상기 프로그래밍 동작은 상기 저장 유닛들의 비규정된 데이터 컨텐트에 대한 기록 블랭크 데이터를 포함하는 비휘발성 메모리를 프로그램하는 방법.
  32. 제23항에 있어서, 상기 제1 데이터 컨텐트를 수신한 다음 그리고 상기 다수의 저장 유닛들로의 상기 제1 데이터 컨텐트 및 부가적인 데이터 컨텐트의 동시 프로그래밍 동작을 완료하기 전, 상기 다수의 저장 유닛들을 포함하지 않는 메모리의 일부에서 또 다른 프로그래밍 동작을 시작하는 단계를 더 포함하는 비휘발성 메모리를 프로그램하는 방법.
  33. 데이터가 다수의 데이터 버퍼들로부터 물리적 페이지로 형성되는 다수의 저장 유닛들로 동시에 프로그램될 수 있는 비휘발성 메모리를 동작시키는 방법에 있어서,
    데이터가 다수의 상기 버퍼들로부터 상기 물리적 페이지로 기록되는 프로그 래밍 동작을 수행하는 단계;
    상기 다수의 버퍼들중 하나 이상이지만 전부보다 적은 것에 대응하는 저장 유닛들의 데이터 컨텐트가 성공적으로 기록되었다는 것을 검증하는 단계;
    컨텐트가 성공적으로 기록된 것으로서 검증되는 저장 유닛들에 대응하는 거소가 다른 상기 다수의 버퍼들중의 버퍼들에 대응하는 저장 유닛들에 대한 상기 프로그래밍 동작을 계속하는 단계; 및,
    상기 프로그래밍 동작을 계속하는 것과 동시에, 컨텐트가 성공적으로 기록된 것으로서 검증되는 저장 유닛들에 대응하는 버퍼들로 새로운 데이터 컨텐트를 수신하는 단계를 포함하는 비휘발성 메모리를 동작시키는 방법.
  34. 제33항에 있어서, 상기 저장 유닛들은 2진 데이터를 저장하는 비휘발성 메모리를 동작시키는 방법.
  35. 제33항에 있어서, 상기 저장 유닛들은 다상 데이터를 저장하는 비휘발성 메모리를 동작시키는 방법.
  36. 제33항에 있어서, 상기 물리적 페이지는 상기 비휘발성 메모리의 다수 플레인들에 걸쳐서 분포되는 비휘발성 메모리를 동작시키는 방법.
  37. 제33항에 있어서, 상기 버퍼들 각각은 데이터의 하나 이상의 섹터들을 저장 하는 비휘발성 메모리를 동작시키는 방법.
KR1020077013359A 2004-12-14 2005-11-28 조기 데이타를 이용한 비휘발성 메모리의 파이프라인식프로그래밍 KR101193584B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/013,125 2004-12-14
US11/013,125 US7120051B2 (en) 2004-12-14 2004-12-14 Pipelined programming of non-volatile memories using early data
PCT/US2005/043020 WO2006065518A1 (en) 2004-12-14 2005-11-28 Pipelined programming of non-volatile memories using early data

Publications (2)

Publication Number Publication Date
KR20070101250A true KR20070101250A (ko) 2007-10-16
KR101193584B1 KR101193584B1 (ko) 2012-10-23

Family

ID=36583610

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077013359A KR101193584B1 (ko) 2004-12-14 2005-11-28 조기 데이타를 이용한 비휘발성 메모리의 파이프라인식프로그래밍

Country Status (10)

Country Link
US (3) US7120051B2 (ko)
EP (1) EP1829045B1 (ko)
JP (1) JP4372196B2 (ko)
KR (1) KR101193584B1 (ko)
CN (1) CN100543878C (ko)
AT (1) ATE475185T1 (ko)
DE (1) DE602005022487D1 (ko)
IL (1) IL183833A0 (ko)
TW (1) TWI413125B (ko)
WO (1) WO2006065518A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9147475B2 (en) 2012-07-18 2015-09-29 Samsung Electronics Co., Ltd. Data storage device comprising nonvolatile memory chips and control method thereof

Families Citing this family (335)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6687158B2 (en) * 2001-12-21 2004-02-03 Fujitsu Limited Gapless programming for a NAND type flash memory
US7881133B2 (en) * 2003-11-11 2011-02-01 Samsung Electronics Co., Ltd. Method of managing a flash memory and the flash memory
US7490283B2 (en) 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US7298648B2 (en) * 2004-11-19 2007-11-20 Samsung Electronics Co., Ltd. Page buffer and multi-state nonvolatile memory device including the same
US7120051B2 (en) * 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
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
US7409473B2 (en) * 2004-12-21 2008-08-05 Sandisk Corporation Off-chip data relocation
US7849381B2 (en) * 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
WO2006082914A1 (ja) * 2005-02-03 2006-08-10 Kabushiki Kaisha Toshiba 不揮発性半導体記憶装置及びその動作方法
US7463521B2 (en) * 2005-04-01 2008-12-09 Sandisk Corporation Method for non-volatile memory with managed execution of cached data
US7447078B2 (en) * 2005-04-01 2008-11-04 Sandisk Corporation Method for non-volatile memory with background data latch caching during read operations
US7206230B2 (en) * 2005-04-01 2007-04-17 Sandisk Corporation Use of data latches in cache operations of non-volatile memories
US7339834B2 (en) 2005-06-03 2008-03-04 Sandisk Corporation Starting program voltage shift with cycling of non-volatile memory
KR100713984B1 (ko) * 2005-09-15 2007-05-04 주식회사 하이닉스반도체 멀티-플레인 구조를 갖는 비휘발성 메모리 장치의 프로그램방법
US7301817B2 (en) 2005-10-27 2007-11-27 Sandisk Corporation Method for programming of multi-state non-volatile memory using smart verify
US7366022B2 (en) * 2005-10-27 2008-04-29 Sandisk Corporation Apparatus for programming of multi-state non-volatile memory using smart verify
EP2256748B1 (en) 2005-12-06 2013-09-11 SanDisk Technologies Inc. Reducing read disturb for non-volatile storage
US7355888B2 (en) * 2005-12-19 2008-04-08 Sandisk Corporation Apparatus for programming non-volatile memory with reduced program disturb using modified pass voltages
US7355889B2 (en) * 2005-12-19 2008-04-08 Sandisk Corporation Method for programming non-volatile memory with reduced program disturb using modified pass voltages
US7365018B2 (en) * 2005-12-28 2008-04-29 Sandisk Corporation Fabrication of semiconductor device for flash memory with increased select gate width
JP4233563B2 (ja) * 2005-12-28 2009-03-04 パナソニック株式会社 多値データを記憶する不揮発性半導体記憶装置
ATE494614T1 (de) 2006-03-03 2011-01-15 Sandisk Corp Leseoperation für nichtflüchtige speicherung mit floating-gate-kopplungskompensation
DE602006016065D1 (de) * 2006-03-10 2010-09-23 St Microelectronics Srl Verfahren zum Programmieren und Löschen eines nichtflüchtigen Speichers, insbesonders für Flash-Typ Speicher.
WO2007131062A2 (en) 2006-05-05 2007-11-15 Sandisk Corporation Non-volatile memory with background data latch caching during read operations and methods therefor
WO2007131127A2 (en) * 2006-05-05 2007-11-15 Sandisk Corporation Merging queued memory operation in a non-volatile memory
WO2007132452A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
WO2007132457A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
WO2007132453A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
WO2007132456A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
WO2008097320A2 (en) * 2006-06-01 2008-08-14 Virginia Tech Intellectual Properties, Inc. Premixing injector for gas turbine engines
US7586784B2 (en) * 2006-06-09 2009-09-08 Micron Technology, Inc. Apparatus and methods for programming multilevel-cell NAND memory devices
US7391650B2 (en) * 2006-06-16 2008-06-24 Sandisk Corporation Method for operating non-volatile memory using temperature compensation of voltages of unselected word lines and select gates
US7342831B2 (en) * 2006-06-16 2008-03-11 Sandisk Corporation System for operating non-volatile memory using temperature compensation of voltages of unselected word lines and select gates
US7349261B2 (en) * 2006-06-19 2008-03-25 Sandisk Corporation Method for increasing programming speed for non-volatile memory by applying counter-transitioning waveforms to word lines
US7492633B2 (en) * 2006-06-19 2009-02-17 Sandisk Corporation System for increasing programming speed for non-volatile memory by applying counter-transitioning waveforms to word lines
US7489549B2 (en) * 2006-06-22 2009-02-10 Sandisk Corporation System for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US7486561B2 (en) * 2006-06-22 2009-02-03 Sandisk Corporation Method for non-real time reprogramming of non-volatile memory to achieve tighter distribution of threshold voltages
US20070297247A1 (en) * 2006-06-26 2007-12-27 Gerrit Jan Hemink Method for programming non-volatile memory using variable amplitude programming pulses
US7885119B2 (en) 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
US7894269B2 (en) * 2006-07-20 2011-02-22 Sandisk Corporation Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells
US7567461B2 (en) * 2006-08-18 2009-07-28 Micron Technology, Inc. Method and system for minimizing number of programming pulses used to program rows of non-volatile memory cells
US8060806B2 (en) 2006-08-27 2011-11-15 Anobit Technologies Ltd. Estimation of non-linear distortion in memory devices
US7440326B2 (en) 2006-09-06 2008-10-21 Sandisk Corporation Programming non-volatile memory with improved boosting
US7734861B2 (en) 2006-09-08 2010-06-08 Sandisk Corporation 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
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
KR101615773B1 (ko) 2006-09-08 2016-04-26 샌디스크 테크놀로지스, 인코포레이티드 플래시 메모리에서 사이클링 효과들에 대한 의사 랜덤 및 명령 구동 비트 보상 및 이를 위한 방법
DE102007046401B4 (de) 2006-09-22 2023-08-24 Samsung Electronics Co., Ltd. Nichtflüchtiges Halbleiterspeichersystem und zugehöriges Verfahren zum Durchführen einer Programmieroperation
US7977186B2 (en) * 2006-09-28 2011-07-12 Sandisk Corporation Providing local boosting control implant for non-volatile memory
US7705387B2 (en) * 2006-09-28 2010-04-27 Sandisk Corporation Non-volatile memory with local boosting control implant
US7701770B2 (en) * 2006-09-29 2010-04-20 Hynix Semiconductor Inc. Flash memory device and program method thereof
US7450426B2 (en) * 2006-10-10 2008-11-11 Sandisk Corporation Systems utilizing variable program voltage increment values in non-volatile memory program operations
US7474561B2 (en) * 2006-10-10 2009-01-06 Sandisk Corporation Variable program voltage increment values in non-volatile memory program operations
US7616490B2 (en) * 2006-10-17 2009-11-10 Sandisk Corporation Programming non-volatile memory with dual voltage select gate structure
US7586157B2 (en) * 2006-10-17 2009-09-08 Sandisk Corporation Non-volatile memory with dual voltage select gate structure
US7691710B2 (en) * 2006-10-17 2010-04-06 Sandisk Corporation Fabricating non-volatile memory with dual voltage select gate structure
KR100830580B1 (ko) * 2006-10-20 2008-05-21 삼성전자주식회사 플래시 메모리 장치를 포함한 메모리 시스템의 데이터 복원방법
US7596031B2 (en) 2006-10-30 2009-09-29 Sandisk Corporation Faster programming of highest multi-level state for non-volatile memory
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
WO2008053473A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Memory cell readout using successive approximation
US7468911B2 (en) * 2006-11-02 2008-12-23 Sandisk Corporation Non-volatile memory using multiple boosting modes for reduced program disturb
US7440323B2 (en) * 2006-11-02 2008-10-21 Sandisk Corporation Reducing program disturb in non-volatile memory using multiple boosting modes
US7508710B2 (en) * 2006-11-13 2009-03-24 Sandisk Corporation Operating non-volatile memory with boost structures
US7696035B2 (en) * 2006-11-13 2010-04-13 Sandisk Corporation Method for fabricating non-volatile memory with boost structures
US7508703B2 (en) * 2006-11-13 2009-03-24 Sandisk Corporation Non-volatile memory with boost structures
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
US8151163B2 (en) * 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
JP2010512584A (ja) 2006-12-06 2010-04-22 フュージョン マルチシステムズ,インク.(ディービイエイ フュージョン−アイオー) 空データトークン指令を有する要求デバイスからのデータを管理する装置、システムおよび方法
US7623386B2 (en) * 2006-12-12 2009-11-24 Sandisk Corporation Reducing program disturb in non-volatile storage using early source-side boosting
US7623387B2 (en) * 2006-12-12 2009-11-24 Sandisk Corporation Non-volatile storage with early source-side boosting for reducing program disturb
KR100801035B1 (ko) * 2006-12-14 2008-02-04 삼성전자주식회사 멀티 레벨 셀의 프로그램 방법, 페이지 버퍼 블록 및 이를포함하는 불휘발성 메모리 장치
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7570520B2 (en) * 2006-12-27 2009-08-04 Sandisk Corporation Non-volatile storage system with initial programming voltage based on trial
US7551482B2 (en) * 2006-12-27 2009-06-23 Sandisk Corporation Method for programming with initial programming voltage based on trial
US7701765B2 (en) * 2006-12-28 2010-04-20 Micron Technology, Inc. Non-volatile multilevel memory cell programming
US7468919B2 (en) * 2006-12-30 2008-12-23 Sandisk Corporation Biasing non-volatile storage based on selected word line
US7583535B2 (en) * 2006-12-30 2009-09-01 Sandisk Corporation Biasing non-volatile storage to compensate for temperature variations
US7554853B2 (en) * 2006-12-30 2009-06-30 Sandisk Corporation Non-volatile storage with bias based on selective word line
US7468920B2 (en) 2006-12-30 2008-12-23 Sandisk Corporation Applying adaptive body bias to non-volatile storage
US7583539B2 (en) * 2006-12-30 2009-09-01 Sandisk Corporation Non-volatile storage with bias for temperature compensation
US7525843B2 (en) * 2006-12-30 2009-04-28 Sandisk Corporation Non-volatile storage with adaptive body bias
US8151166B2 (en) * 2007-01-24 2012-04-03 Anobit Technologies Ltd. Reduction of back pattern dependency effects in memory devices
US7751240B2 (en) * 2007-01-24 2010-07-06 Anobit Technologies Ltd. Memory device with negative thresholds
US7679965B2 (en) * 2007-01-31 2010-03-16 Sandisk Il Ltd Flash memory with improved programming precision
US7738295B2 (en) 2007-01-31 2010-06-15 Micron Technology, Inc. Programming a non-volatile memory device
KR100819102B1 (ko) 2007-02-06 2008-04-03 삼성전자주식회사 개선된 멀티 페이지 프로그램 동작을 갖는 불휘발성 반도체메모리 장치
US20080189473A1 (en) * 2007-02-07 2008-08-07 Micron Technology, Inc Mlc selected multi-program for system management
KR100866957B1 (ko) * 2007-02-08 2008-11-05 삼성전자주식회사 데이터 프로그램 시간을 단축시킨 불휘발성 메모리 장치 및그 구동방법
US20080205140A1 (en) * 2007-02-26 2008-08-28 Aplus Flash Technology, Inc. Bit line structure for a multilevel, dual-sided nonvolatile memory cell array
DE102007011638A1 (de) * 2007-03-09 2008-09-11 Giesecke & Devrient Gmbh Verfahren zum Einschreiben von Daten in einen Speicher eines tragbaren Datenträgers
US8369141B2 (en) * 2007-03-12 2013-02-05 Apple Inc. Adaptive estimation of memory cell read thresholds
US7797480B2 (en) * 2007-03-29 2010-09-14 Sandisk Corporation Method for reading non-volatile storage using pre-conditioning waveforms and modified reliability metrics
US7904793B2 (en) 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US7606076B2 (en) * 2007-04-05 2009-10-20 Sandisk Corporation Sensing in non-volatile storage using pulldown to regulated source voltage to remove system noise
US7539060B2 (en) * 2007-04-05 2009-05-26 Sandisk Corporation Non-volatile storage using current sensing with biasing of source and P-Well
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US7606071B2 (en) * 2007-04-24 2009-10-20 Sandisk Corporation Compensating source voltage drop in non-volatile storage
US7606072B2 (en) * 2007-04-24 2009-10-20 Sandisk Corporation Non-volatile storage with compensation for source voltage drop
US7606079B2 (en) * 2007-04-25 2009-10-20 Sandisk Corporation Reducing power consumption during read operations in non-volatile storage
US7440327B1 (en) 2007-04-25 2008-10-21 Sandisk Corporation Non-volatile storage with reduced power consumption during read operations
US7577026B2 (en) * 2007-05-07 2009-08-18 Sandisk Corporation Source and drain side early boosting using local self boosting for non-volatile storage
US7460404B1 (en) * 2007-05-07 2008-12-02 Sandisk Corporation Boosting for non-volatile storage using channel isolation switching
US7463522B2 (en) * 2007-05-07 2008-12-09 Sandisk Corporation Non-volatile storage with boosting using channel isolation switching
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) * 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US7619931B2 (en) * 2007-06-26 2009-11-17 Micron Technology, Inc. Program-verify method with different read and verify pass-through voltages
WO2009006275A1 (en) * 2007-06-29 2009-01-08 Sandisk Corporation Non-volatile storage with source bias all bit line sensing
US7471567B1 (en) 2007-06-29 2008-12-30 Sandisk Corporation Method for source bias all bit line sensing in non-volatile storage
US7545678B2 (en) * 2007-06-29 2009-06-09 Sandisk Corporation Non-volatile storage with source bias all bit line sensing
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8044705B2 (en) 2007-08-28 2011-10-25 Sandisk Technologies Inc. Bottom plate regulation of charge pumps
US7876638B2 (en) 2007-09-11 2011-01-25 Micron Technology, Inc. Storing operational information in an array of memory cells
US7652929B2 (en) * 2007-09-17 2010-01-26 Sandisk Corporation Non-volatile memory and method for biasing adjacent word line for verify during programming
US8174905B2 (en) * 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7577034B2 (en) * 2007-09-26 2009-08-18 Sandisk Corporation Reducing programming voltage differential nonlinearity in non-volatile storage
US7978520B2 (en) 2007-09-27 2011-07-12 Sandisk Corporation Compensation of non-volatile memory chip non-idealities by program pulse adjustment
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
WO2009050703A2 (en) * 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
US8068360B2 (en) * 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
KR101509836B1 (ko) * 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US7688638B2 (en) * 2007-12-07 2010-03-30 Sandisk Corporation Faster programming of multi-level non-volatile storage through reduced verify operations
US7586363B2 (en) 2007-12-12 2009-09-08 Sandisk Corporation Diode connected regulation of charge pumps
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US7586362B2 (en) * 2007-12-12 2009-09-08 Sandisk Corporation Low voltage charge pump with regulation
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
US8156398B2 (en) * 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
JP2009193620A (ja) * 2008-02-13 2009-08-27 Toshiba Corp 不揮発性半導体記憶装置
US7924587B2 (en) * 2008-02-21 2011-04-12 Anobit Technologies Ltd. Programming of analog memory cells using a single programming pulse per state transition
US7864573B2 (en) 2008-02-24 2011-01-04 Anobit Technologies Ltd. Programming analog memory cells for reduced variance after retention
US8230300B2 (en) * 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8059457B2 (en) * 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
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
US7915664B2 (en) * 2008-04-17 2011-03-29 Sandisk Corporation Non-volatile memory with sidewall channels and raised source/drain regions
US8051240B2 (en) * 2008-05-09 2011-11-01 Sandisk Technologies Inc. Compensating non-volatile storage using different pass voltages during program-verify and read
US7957197B2 (en) * 2008-05-28 2011-06-07 Sandisk Corporation Nonvolatile memory with a current sense amplifier having a precharge circuit and a transfer gate coupled to a sense node
US20090302930A1 (en) * 2008-06-09 2009-12-10 Feng Pan Charge Pump with Vt Cancellation Through Parallel Structure
US7969235B2 (en) 2008-06-09 2011-06-28 Sandisk Corporation Self-adaptive multi-stage charge pump
US7855913B2 (en) * 2008-06-10 2010-12-21 Micron Technology, Inc. Dynamically configurable MLC state assignment
US8710907B2 (en) 2008-06-24 2014-04-29 Sandisk Technologies Inc. Clock generator circuit for a charge pump
US7683700B2 (en) 2008-06-25 2010-03-23 Sandisk Corporation Techniques of ripple reduction for charge pumps
US7800956B2 (en) * 2008-06-27 2010-09-21 Sandisk Corporation Programming algorithm to reduce disturb with minimal extra time penalty
US8762654B1 (en) * 2008-07-02 2014-06-24 Marvell International Ltd. Selectively scheduling memory accesses in parallel based on access speeds of memory
US8706951B2 (en) 2008-07-18 2014-04-22 Marvell World Trade Ltd. Selectively accessing faster or slower multi-level cell memory
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US7876611B2 (en) * 2008-08-08 2011-01-25 Sandisk Corporation Compensating for coupling during read operations in non-volatile storage
US8169825B1 (en) 2008-09-02 2012-05-01 Anobit Technologies Ltd. Reliable data storage in analog memory cells subjected to long retention periods
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
JP5360214B2 (ja) * 2008-09-03 2013-12-04 マーベル ワールド トレード リミテッド マルチプレーン型フラッシュメモリへのデータのプログラミング方法、これを用いたデバイスおよびシステム
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US7755946B2 (en) * 2008-09-19 2010-07-13 Sandisk Corporation Data state-based temperature compensation during sensing in non-volatile memory
JP2010092559A (ja) * 2008-10-10 2010-04-22 Toshiba Corp Nand型フラッシュメモリ
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8127091B2 (en) * 2008-10-30 2012-02-28 Micron Technology, Inc. Programming memory cells with additional data for increased threshold voltage resolution
US8713330B1 (en) 2008-10-30 2014-04-29 Apple Inc. Data scrambling in memory devices
US8208304B2 (en) * 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8332577B2 (en) * 2008-12-10 2012-12-11 Sandisk Technologies Inc. Program control of a non-volatile memory
US7795952B2 (en) * 2008-12-17 2010-09-14 Sandisk Corporation Regulation of recovery rates in charge pumps
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8248831B2 (en) * 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8255615B1 (en) 2009-01-08 2012-08-28 Marvell International Ltd. Flexible sequence design architecture for solid state memory controller
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
KR101074539B1 (ko) * 2009-02-04 2011-10-17 주식회사 하이닉스반도체 불휘발성 메모리 장치 및 그 동작 방법
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) * 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8832353B2 (en) * 2009-04-07 2014-09-09 Sandisk Technologies Inc. Host stop-transmission handling
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8102705B2 (en) 2009-06-05 2012-01-24 Sandisk Technologies Inc. Structure and method for shuffling data within non-volatile memory devices
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
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
US8054691B2 (en) 2009-06-26 2011-11-08 Sandisk Technologies Inc. Detecting the completion of programming for non-volatile storage
KR101010468B1 (ko) * 2009-06-29 2011-01-21 주식회사 하이닉스반도체 불휘발성 메모리 소자의 프로그램 방법
US8874825B2 (en) 2009-06-30 2014-10-28 Sandisk Technologies Inc. Storage device and method using parameters based on physical memory block location
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
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US7973592B2 (en) 2009-07-21 2011-07-05 Sandisk Corporation Charge pump with current based regulation
US8339183B2 (en) 2009-07-24 2012-12-25 Sandisk Technologies Inc. Charge pump with reduced energy consumption through charge sharing and clock boosting suitable for high voltage word line in flash memories
US7995394B2 (en) * 2009-07-30 2011-08-09 Sandisk Technologies Inc. Program voltage compensation with word line bias change to suppress charge trapping in memory
US8130543B2 (en) * 2009-08-13 2012-03-06 Macronix International Co., Ltd. Method and apparatus for increasing memory programming efficiency through dynamic switching of sense amplifiers
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US20110133820A1 (en) * 2009-12-09 2011-06-09 Feng Pan Multi-Stage Charge Pump with Variable Number of Boosting Stages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US20110148509A1 (en) * 2009-12-17 2011-06-23 Feng Pan Techniques to Reduce Charge Pump Overshoot
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
US8402203B2 (en) * 2009-12-31 2013-03-19 Seagate Technology Llc Systems and methods for storing data in a multi-level cell solid state storage device
US20110158001A1 (en) * 2009-12-31 2011-06-30 Hynix Semiconductor Inc. Programming method for nonvolatile memory device
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8572311B1 (en) 2010-01-11 2013-10-29 Apple Inc. Redundant data storage in multi-die memory systems
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
US8213255B2 (en) 2010-02-19 2012-07-03 Sandisk Technologies Inc. Non-volatile storage with temperature compensation based on neighbor state information
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8274831B2 (en) 2010-05-24 2012-09-25 Sandisk Technologies Inc. Programming non-volatile storage with synchronized coupling
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
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
US8432732B2 (en) 2010-07-09 2013-04-30 Sandisk Technologies Inc. Detection of word-line leakage in memory arrays
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
KR101153813B1 (ko) 2010-09-30 2012-06-13 에스케이하이닉스 주식회사 반도체 메모리 장치
US8339185B2 (en) 2010-12-20 2012-12-25 Sandisk 3D Llc Charge pump system that dynamically selects number of active stages
US8294509B2 (en) 2010-12-20 2012-10-23 Sandisk Technologies Inc. Charge pump systems with reduction in inefficiencies due to charge sharing between capacitances
US8472280B2 (en) 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
US8379454B2 (en) 2011-05-05 2013-02-19 Sandisk Technologies Inc. Detection of broken word-lines in memory arrays
US8843693B2 (en) 2011-05-17 2014-09-23 SanDisk Technologies, Inc. Non-volatile memory and method with improved data scrambling
US8726104B2 (en) 2011-07-28 2014-05-13 Sandisk Technologies Inc. Non-volatile memory and method with accelerated post-write read using combined verification of multiple pages
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
US8750042B2 (en) 2011-07-28 2014-06-10 Sandisk Technologies Inc. Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures
US8699247B2 (en) 2011-09-09 2014-04-15 Sandisk Technologies Inc. Charge pump system dynamically reconfigurable for read and program
US9477590B2 (en) * 2011-09-16 2016-10-25 Apple Inc. Weave sequence counter for non-volatile memory systems
US8514628B2 (en) 2011-09-22 2013-08-20 Sandisk Technologies Inc. Dynamic switching approach to reduce area and power consumption of high voltage charge pumps
US8400212B1 (en) 2011-09-22 2013-03-19 Sandisk Technologies Inc. High voltage charge pump regulation system with fine step adjustment
WO2013058960A2 (en) 2011-10-20 2013-04-25 Sandisk Technologies Inc. Compact sense amplifier for non-volatile memory
US8630120B2 (en) 2011-10-20 2014-01-14 Sandisk Technologies Inc. Compact sense amplifier for non-volatile memory
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
US8634239B2 (en) 2011-12-28 2014-01-21 Sandisk Technologies Inc. Hybrid multi-level cell programming sequences
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
WO2013134735A1 (en) 2012-03-08 2013-09-12 California Institute Of Technology Rank-modulation rewriting codes for flash memories
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
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
TWI486766B (zh) 2012-05-11 2015-06-01 Phison Electronics Corp 資料處理方法、記憶體控制器與記憶體儲存裝置
CN103425594B (zh) * 2012-05-23 2016-09-14 群联电子股份有限公司 数据处理方法、存储器控制器与存储器存储装置
US20140003176A1 (en) 2012-06-28 2014-01-02 Man Lung Mui Compact High Speed Sense Amplifier for Non-Volatile Memory with Reduced layout Area and Power Consumption
US9293195B2 (en) 2012-06-28 2016-03-22 Sandisk Technologies Inc. Compact high speed sense amplifier for non-volatile memory
US8971141B2 (en) 2012-06-28 2015-03-03 Sandisk Technologies Inc. Compact high speed sense amplifier for non-volatile memory and hybrid lockout
US8824203B2 (en) * 2012-07-13 2014-09-02 Micron Technology, Inc. Multiple step programming in a memory device
KR20140028582A (ko) * 2012-08-29 2014-03-10 에스케이하이닉스 주식회사 반도체 메모리 장치 및 그것의 동작 방법
US9135989B2 (en) * 2012-09-06 2015-09-15 Sandisk Technologies Inc. Write data preservation for non-volatile storage
US8710909B2 (en) 2012-09-14 2014-04-29 Sandisk Technologies Inc. Circuits for prevention of reverse leakage in Vth-cancellation charge pumps
US9164526B2 (en) 2012-09-27 2015-10-20 Sandisk Technologies Inc. Sigma delta over-sampling charge pump analog-to-digital converter
US9810723B2 (en) 2012-09-27 2017-11-07 Sandisk Technologies Llc Charge pump based over-sampling ADC for current detection
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
KR20140076128A (ko) * 2012-12-12 2014-06-20 에스케이하이닉스 주식회사 비휘발성 메모리 장치 및 동작 방법과, 이를 포함하는 데이터 처리 시스템
US9236136B2 (en) 2012-12-14 2016-01-12 Intel Corporation Lower page read for multi-level cell memory
US9026757B2 (en) * 2013-01-25 2015-05-05 Sandisk Technologies Inc. Non-volatile memory programming data preservation
US8913428B2 (en) 2013-01-25 2014-12-16 Sandisk Technologies Inc. Programming non-volatile storage system with multiple memory die
US8971128B2 (en) 2013-01-31 2015-03-03 Sandisk Technologies Inc. Adaptive initial program voltage for non-volatile memory
US8836412B2 (en) 2013-02-11 2014-09-16 Sandisk 3D Llc Charge pump with a power-controlled clock buffer to reduce power consumption and output voltage ripple
US9384839B2 (en) 2013-03-07 2016-07-05 Sandisk Technologies Llc Write sequence providing write abort protection
US9053810B2 (en) * 2013-03-08 2015-06-09 Sandisk Technologies Inc. Defect or program disturb detection with full data recovery capability
US9047211B2 (en) 2013-03-15 2015-06-02 SanDisk Technologies, Inc. Managing data reliability
US9037902B2 (en) 2013-03-15 2015-05-19 Sandisk Technologies Inc. Flash memory techniques for recovering from write interrupt resulting from voltage fault
US8981835B2 (en) 2013-06-18 2015-03-17 Sandisk Technologies Inc. Efficient voltage doubler
US9024680B2 (en) 2013-06-24 2015-05-05 Sandisk Technologies Inc. Efficiency for charge pumps with low supply voltages
US9077238B2 (en) 2013-06-25 2015-07-07 SanDisk Technologies, Inc. Capacitive regulation of charge pumps without refresh operation interruption
US9007046B2 (en) 2013-06-27 2015-04-14 Sandisk Technologies Inc. Efficient high voltage bias regulation circuit
US20150006784A1 (en) 2013-06-27 2015-01-01 Sandisk Technologies Inc. Efficient Post Write Read in Three Dimensional Nonvolatile Memory
US9218242B2 (en) 2013-07-02 2015-12-22 Sandisk Technologies Inc. Write operations for defect management in nonvolatile memory
US9063671B2 (en) 2013-07-02 2015-06-23 Sandisk Technologies Inc. Write operations with full sequence programming for defect management in nonvolatile memory
CN105518793B (zh) 2013-07-08 2019-06-04 东芝存储器株式会社 半导体存储装置
KR101449933B1 (ko) * 2013-09-02 2014-10-15 (주)피델릭스 노이즈 피크를 줄이면서 프로그램 소요시간을 저감하는 플래시 메모리 장치 및 그의 프로그램 방법
US9165683B2 (en) 2013-09-23 2015-10-20 Sandisk Technologies Inc. Multi-word line erratic programming detection
US9083231B2 (en) 2013-09-30 2015-07-14 Sandisk Technologies Inc. Amplitude modulation for pass gate to improve charge pump efficiency
US9424179B2 (en) 2013-10-17 2016-08-23 Seagate Technology Llc Systems and methods for latency based data recycling in a solid state memory system
US9043537B1 (en) 2013-11-21 2015-05-26 Sandisk Technologies Inc. Update block programming order
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
US9154027B2 (en) 2013-12-09 2015-10-06 Sandisk Technologies Inc. Dynamic load matching charge pump for reduced current consumption
JP6226809B2 (ja) * 2014-05-01 2017-11-08 東芝メモリ株式会社 半導体記憶装置
US9384830B2 (en) 2014-05-06 2016-07-05 Micron Technology, Inc. Apparatuses and methods for performing multiple memory operations
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
US9484086B2 (en) 2014-07-10 2016-11-01 Sandisk Technologies Llc Determination of word line to local source line shorts
US9460809B2 (en) 2014-07-10 2016-10-04 Sandisk Technologies Llc AC stress mode to screen out word line to word line shorts
US9443612B2 (en) 2014-07-10 2016-09-13 Sandisk Technologies Llc Determination of bit line to low voltage signal shorts
US9514835B2 (en) 2014-07-10 2016-12-06 Sandisk Technologies Llc Determination of word line to word line shorts between adjacent blocks
US9696918B2 (en) 2014-07-13 2017-07-04 Apple Inc. Protection and recovery from sudden power failure in non-volatile memory devices
US9208895B1 (en) 2014-08-14 2015-12-08 Sandisk Technologies Inc. Cell current control through power supply
US9349468B2 (en) 2014-08-25 2016-05-24 SanDisk Technologies, Inc. Operational amplifier methods for charging of sense amplifier internal nodes
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
US9772935B2 (en) * 2014-09-16 2017-09-26 Empire Technology Development Llc Data storage based on rank modulation in single-level flash memory
US9678832B2 (en) * 2014-09-18 2017-06-13 Sandisk Technologies Llc Storage module and method for on-chip copy gather
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
KR102438552B1 (ko) * 2015-02-04 2022-09-01 에스케이하이닉스 주식회사 메모리 시스템 및 그 동작방법
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9224492B1 (en) * 2015-02-17 2015-12-29 Phison Electronics Corp. Memory management method, memory storage device and memory controlling circuit unit
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 에스케이하이닉스 주식회사 메모리 시스템 및 메모리 시스템의 동작 방법
US9917507B2 (en) 2015-05-28 2018-03-13 Sandisk Technologies Llc Dynamic clock period modulation scheme for variable charge pump load currents
US10164770B1 (en) * 2015-06-03 2018-12-25 Marvell International Ltd. Pipelined data cryptography device and method
US9647536B2 (en) 2015-07-28 2017-05-09 Sandisk Technologies Llc High voltage generation using low voltage devices
US9659666B2 (en) 2015-08-31 2017-05-23 Sandisk Technologies Llc Dynamic memory recovery at the sub-block level
US9520776B1 (en) 2015-09-18 2016-12-13 Sandisk Technologies Llc Selective body bias for charge pump transfer switches
US9858009B2 (en) 2015-10-26 2018-01-02 Sandisk Technologies Llc Data folding in 3D nonvolatile memory
US20170123721A1 (en) * 2015-10-28 2017-05-04 Sandisk Technologies Inc. System and method for utilization of a data buffer by command completion in parts
US9880783B2 (en) 2015-10-28 2018-01-30 Sandisk Technologies Llc System and method for utilization of a shadow data buffer in a host where the shadow data buffer is controlled by external storage controller
KR102470606B1 (ko) * 2015-11-26 2022-11-28 삼성전자주식회사 불휘발성 메모리 장치 및 불휘발성 메모리 장치를 포함하는 스토리지 장치
TWI588833B (zh) * 2015-11-27 2017-06-21 群聯電子股份有限公司 資料程式化方法與記憶體儲存裝置
US10198315B2 (en) 2016-02-29 2019-02-05 Sandisk Technologies Llc Non-volatile memory with corruption recovery
US9698676B1 (en) 2016-03-11 2017-07-04 Sandisk Technologies Llc Charge pump based over-sampling with uniform step size for current detection
US9792995B1 (en) 2016-04-26 2017-10-17 Sandisk Technologies Llc Independent multi-plane read and low latency hybrid read
JP6652470B2 (ja) 2016-09-07 2020-02-26 キオクシア株式会社 半導体記憶装置
JP2018045741A (ja) 2016-09-12 2018-03-22 東芝メモリ株式会社 半導体記憶装置及びメモリシステム
US10134479B2 (en) * 2017-04-21 2018-11-20 Sandisk Technologies Llc Non-volatile memory with reduced program speed variation
US10096380B1 (en) * 2017-08-31 2018-10-09 Micron Technology, Inc. Erase page check
US10304550B1 (en) 2017-11-29 2019-05-28 Sandisk Technologies Llc Sense amplifier with negative threshold sensing for non-volatile memory
US10600484B2 (en) 2017-12-20 2020-03-24 Silicon Storage Technology, Inc. System and method for minimizing floating gate to floating gate coupling effects during programming in flash memory
KR20200023758A (ko) * 2018-08-27 2020-03-06 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
KR20200034312A (ko) * 2018-09-21 2020-03-31 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
KR102528274B1 (ko) 2018-11-06 2023-05-02 삼성전자주식회사 비휘발성 메모리 장치 및 그 구동 방법
US10643695B1 (en) 2019-01-10 2020-05-05 Sandisk Technologies Llc Concurrent multi-state program verify for non-volatile memory
US10748622B2 (en) 2019-01-21 2020-08-18 Sandisk Technologies Llc State adaptive predictive programming
KR20210000212A (ko) * 2019-06-24 2021-01-04 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이를 포함하는 메모리 시스템
US11309032B2 (en) 2019-11-26 2022-04-19 Samsung Electronics Co., Ltd. Operating method of memory system including memory controller and nonvolatile memory device
US11024392B1 (en) 2019-12-23 2021-06-01 Sandisk Technologies Llc Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11694755B2 (en) 2021-06-02 2023-07-04 Sandisk Technologies Llc Nonvolatile memory with data recovery
CN113409850A (zh) * 2021-06-17 2021-09-17 芯天下技术股份有限公司 一种提高编程效率的方法、装置、存储介质和终端
US11657883B2 (en) 2021-07-22 2023-05-23 Western Digital Technologies, Inc. Isolating problematic memory planes to avoid neighbor plan disturb
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
US11763905B2 (en) 2021-12-16 2023-09-19 Western Digital Technologies, Inc. Storage system and method for data protection during power loss

Family Cites Families (119)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1089225B (it) 1977-12-23 1985-06-18 Honeywell Inf Systems Memoria con dispositivo rivelatore e correttore a intervento selettivo
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
US5034922A (en) 1987-12-21 1991-07-23 Motorola, Inc. Intelligent electrically erasable, programmable read-only memory with improved read latency
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
DE69033262T2 (de) 1989-04-13 2000-02-24 Sandisk Corp EEPROM-Karte mit Austauch von fehlerhaften Speicherzellen und Zwischenspeicher
US5172338B1 (en) 1989-04-13 1997-07-08 Sandisk Corp Multi-state eeprom read and write circuits and techniques
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
US5274646A (en) * 1991-04-17 1993-12-28 International Business Machines Corporation Excessive error correction control
KR960000619B1 (ko) 1991-12-27 1996-01-10 후지쓰 가부시끼가이샤 일괄소거형의 불휘발성 반도체 기억장치 및 그의 구동제어회로
US6222762B1 (en) 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5313421A (en) 1992-01-14 1994-05-17 Sundisk Corporation EEPROM with split gate source side injection
JP3323869B2 (ja) 1992-03-31 2002-09-09 株式会社東芝 不揮発性半導体メモリ装置
US5315541A (en) 1992-07-24 1994-05-24 Sundisk Corporation Segmented column memory array
US5586285A (en) 1993-02-19 1996-12-17 Intel Corporation Method and circuitry for increasing reserve memory in a solid state memory disk
JP3078946B2 (ja) 1993-03-11 2000-08-21 インターナショナル・ビジネス・マシーンズ・コーポレ−ション 一括消去型不揮発性メモリの管理方法及び半導体ディスク装置
KR970008188B1 (ko) * 1993-04-08 1997-05-21 가부시끼가이샤 히다찌세이사꾸쇼 플래시메모리의 제어방법 및 그것을 사용한 정보처리장치
US5555204A (en) 1993-06-29 1996-09-10 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
US5519847A (en) 1993-06-30 1996-05-21 Intel Corporation Method of pipelining sequential writes in a flash memory
JP2922116B2 (ja) * 1993-09-02 1999-07-19 株式会社東芝 半導体記憶装置
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 니시무로 타이죠 불휘발성 반도체 기억장치
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
JP3941149B2 (ja) 1996-12-03 2007-07-04 ソニー株式会社 半導体不揮発性記憶装置
US5875477A (en) 1995-12-22 1999-02-23 Intel Corporation Method and apparatus for error management in a solid state disk drive using primary and secondary logical sector numbers
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
KR100308173B1 (ko) * 1996-02-29 2001-11-02 가나이 쓰도무 부분불량메모리를탑재한반도체기억장치
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
US5768192A (en) 1996-07-23 1998-06-16 Saifun Semiconductors, Ltd. Non-volatile semiconductor memory cell utilizing asymmetrical charge trapping
US5890192A (en) * 1996-11-05 1999-03-30 Sandisk Corporation Concurrent write of multiple chunks of data into multiple subarrays of flash EEPROM
US5901086A (en) * 1996-12-26 1999-05-04 Motorola, Inc. Pipelined fast-access floating gate memory architecture and method of operation
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
US5822245A (en) * 1997-03-26 1998-10-13 Atmel Corporation Dual buffer flash memory architecture with multiple operating modes
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 メモリ制御方式
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
US6021463A (en) * 1997-09-02 2000-02-01 International Business Machines Corporation Method and means for efficiently managing update writes and fault tolerance in redundancy groups of addressable ECC-coded sectors in a DASD storage subsystem
JPH11203191A (ja) * 1997-11-13 1999-07-30 Seiko Epson Corp 不揮発性記憶装置、不揮発性記憶装置の制御方法、および、不揮発性記憶装置を制御するプログラムを記録した情報記録媒体
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
US6040997A (en) * 1998-03-25 2000-03-21 Lexar Media, Inc. Flash memory leveling architecture having no external latch
US5949720A (en) 1998-10-30 1999-09-07 Stmicroelectronics, Inc. Voltage clamping method and apparatus for dynamic random access memory devices
US6490649B2 (en) * 1998-11-10 2002-12-03 Lexar Media, Inc. Memory device
WO2000030116A1 (en) * 1998-11-17 2000-05-25 Lexar Media, Inc. Method and apparatus for memory control circuit
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
GB9903490D0 (en) 1999-02-17 1999-04-07 Memory Corp Plc Memory system
US6449625B1 (en) * 1999-04-20 2002-09-10 Lucent Technologies Inc. Use of a two-way stack approach to optimize flash memory management for embedded database systems
WO2000067137A1 (en) 1999-04-29 2000-11-09 Koninklijke Philips Electronics N.V. Device for use as stand-alone device and as slave device in a data bus system
KR100618298B1 (ko) * 1999-07-28 2006-09-01 소니 가부시끼 가이샤 기록 시스템, 데이터 기록 장치, 메모리 장치 및 데이터기록 방법
JP3863330B2 (ja) 1999-09-28 2006-12-27 株式会社東芝 不揮発性半導体メモリ
US6278633B1 (en) * 1999-11-05 2001-08-21 Multi Level Memory Technology High bandwidth flash memory that selects programming parameters according to measurements of previous programming operations
JP2001184881A (ja) 1999-12-28 2001-07-06 Toshiba Corp 不揮発性半導体メモリの読み出し回路
US6426893B1 (en) * 2000-02-17 2002-07-30 Sandisk Corporation Flash eeprom system with simultaneous multiple data sector programming and storage of physical block characteristics in other designated blocks
JP3983969B2 (ja) 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
US6396744B1 (en) * 2000-04-25 2002-05-28 Multi Level Memory Technology Flash memory with dynamic refresh
US6396741B1 (en) 2000-05-04 2002-05-28 Saifun Semiconductors Ltd. Programming of nonvolatile memory cells
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
US6581142B1 (en) * 2000-09-01 2003-06-17 International Business Machines Corporation Computer program product and method for partial paging and eviction of microprocessor instructions in an embedded computer
JP2002100192A (ja) 2000-09-22 2002-04-05 Toshiba Corp 不揮発性半導体メモリ
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
JP3957985B2 (ja) 2001-03-06 2007-08-15 株式会社東芝 不揮発性半導体記憶装置
US6570810B2 (en) 2001-04-20 2003-05-27 Multi Level Memory Technology Contactless flash memory with buried diffusion bit/virtual ground lines
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 不揮発性記憶装置
JP3979486B2 (ja) * 2001-09-12 2007-09-19 株式会社ルネサステクノロジ 不揮発性記憶装置およびデータ格納方法
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 シャープ株式会社 仮想接地型不揮発性半導体記憶装置
GB0123412D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system sectors
GB0123410D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Memory system for data storage and retrieval
GB0123416D0 (en) 2001-09-28 2001-11-21 Memquest Ltd Non-volatile memory control
KR100454119B1 (ko) 2001-10-24 2004-10-26 삼성전자주식회사 캐쉬 기능을 갖는 불 휘발성 반도체 메모리 장치 및 그것의 프로그램, 읽기, 그리고 페이지 카피백 방법들
US6977847B2 (en) 2001-11-23 2005-12-20 M-Systems Flash Disk Pioneers Ltd. Detecting partially erased units in flash devices
JP3874653B2 (ja) 2001-11-29 2007-01-31 富士通株式会社 圧縮テスト機能を有するメモリ回路
US6687158B2 (en) 2001-12-21 2004-02-03 Fujitsu Limited Gapless programming for a NAND type flash memory
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
US20030163692A1 (en) * 2002-01-31 2003-08-28 Brocade Communications Systems, Inc. Network security and applications to the fabric
JP4004811B2 (ja) 2002-02-06 2007-11-07 株式会社東芝 不揮発性半導体記憶装置
US6836432B1 (en) 2002-02-11 2004-12-28 Advanced Micro Devices, Inc. Partial page programming of multi level flash
US6871257B2 (en) * 2002-02-22 2005-03-22 Sandisk Corporation Pipelined parallel programming operation in a non-volatile memory system
US6771536B2 (en) * 2002-02-27 2004-08-03 Sandisk Corporation Operating techniques for reducing program and read disturbs of a non-volatile memory
JP2004030784A (ja) 2002-06-26 2004-01-29 Fujitsu Ltd 半導体記憶装置
JP4225749B2 (ja) 2002-08-07 2009-02-18 株式会社ルネサステクノロジ 半導体記憶装置
US6987693B2 (en) 2002-09-24 2006-01-17 Sandisk Corporation Non-volatile memory and method with reduced neighboring field errors
US6983428B2 (en) 2002-09-24 2006-01-03 Sandisk Corporation Highly compact non-volatile memory and method thereof
US6940753B2 (en) 2002-09-24 2005-09-06 Sandisk Corporation Highly compact non-volatile memory and method therefor with space-efficient data registers
US7443757B2 (en) 2002-09-24 2008-10-28 Sandisk Corporation Non-volatile memory and method with reduced bit line crosstalk errors
US7196931B2 (en) 2002-09-24 2007-03-27 Sandisk Corporation Non-volatile memory and method with reduced source line bias errors
US7046568B2 (en) * 2002-09-24 2006-05-16 Sandisk Corporation Memory sensing circuit and method for low voltage operation
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
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
US7490283B2 (en) * 2004-05-13 2009-02-10 Sandisk Corporation Pipelined data relocation and improved chip architectures
US7120051B2 (en) 2004-12-14 2006-10-10 Sandisk Corporation Pipelined programming of non-volatile memories using early data
US7158421B2 (en) 2005-04-01 2007-01-02 Sandisk Corporation Use of data latches in multi-phase programming of non-volatile memories
US7420847B2 (en) 2004-12-14 2008-09-02 Sandisk Corporation Multi-state memory having data recovery after program fail
US7849381B2 (en) 2004-12-21 2010-12-07 Sandisk Corporation Method for copying data in reprogrammable non-volatile memory
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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9147475B2 (en) 2012-07-18 2015-09-29 Samsung Electronics Co., Ltd. Data storage device comprising nonvolatile memory chips and control method thereof

Also Published As

Publication number Publication date
US20070014153A1 (en) 2007-01-18
US7120051B2 (en) 2006-10-10
JP2008523542A (ja) 2008-07-03
US20060126390A1 (en) 2006-06-15
CN100543878C (zh) 2009-09-23
US7301805B2 (en) 2007-11-27
WO2006065518A1 (en) 2006-06-22
KR101193584B1 (ko) 2012-10-23
US7345928B2 (en) 2008-03-18
IL183833A0 (en) 2007-10-31
TWI413125B (zh) 2013-10-21
EP1829045B1 (en) 2010-07-21
JP4372196B2 (ja) 2009-11-25
US20060126393A1 (en) 2006-06-15
TW200632921A (en) 2006-09-16
DE602005022487D1 (de) 2010-09-02
EP1829045A1 (en) 2007-09-05
CN101107673A (zh) 2008-01-16
ATE475185T1 (de) 2010-08-15

Similar Documents

Publication Publication Date Title
KR101193584B1 (ko) 조기 데이타를 이용한 비휘발성 메모리의 파이프라인식프로그래밍
US6522580B2 (en) Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6456528B1 (en) Selective operation of a multi-state non-volatile memory system in a binary mode
US7385854B2 (en) Selective operation of a multi-state non-volatile memory system in a binary mode
EP1769506B1 (en) Multi-purpose non-volatile memory card
US7596031B2 (en) Faster programming of highest multi-level state for non-volatile memory
US7778082B2 (en) Non-volatile memory device and programming method
US7978522B2 (en) Flash memory device including a dummy cell
US20050162913A1 (en) Method of reading NAND memory to compensate for coupling between storage elements
US11164630B2 (en) Semiconductor memory device
US11574693B2 (en) Memory apparatus and method of operation using periodic normal erase dummy cycle to improve stripe erase endurance and data retention
JP2009301621A (ja) 半導体記憶装置
KR20090110605A (ko) 더미 셀을 포함하는 불휘발성 메모리 장치 및 그것의프로그램 방법
WO2004068500A1 (ja) 不揮発性半導体記憶装置

Legal Events

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

Payment date: 20150918

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160921

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170919

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee