KR100912612B1 - 향상된 신뢰도 및 성능을 갖는 멀티 비트 셀 플래시 메모리관리 방법 - Google Patents

향상된 신뢰도 및 성능을 갖는 멀티 비트 셀 플래시 메모리관리 방법 Download PDF

Info

Publication number
KR100912612B1
KR100912612B1 KR1020077016394A KR20077016394A KR100912612B1 KR 100912612 B1 KR100912612 B1 KR 100912612B1 KR 1020077016394 A KR1020077016394 A KR 1020077016394A KR 20077016394 A KR20077016394 A KR 20077016394A KR 100912612 B1 KR100912612 B1 KR 100912612B1
Authority
KR
South Korea
Prior art keywords
cell
storing
bits
data
memory
Prior art date
Application number
KR1020077016394A
Other languages
English (en)
Other versions
KR20070101277A (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 KR20070101277A publication Critical patent/KR20070101277A/ko
Application granted granted Critical
Publication of KR100912612B1 publication Critical patent/KR100912612B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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
    • 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
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5641Multilevel memory having cells with different number of storage levels

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

각각 데이터 비트를 저장할 수 있는 복수의 메모리 셀을 포함하는 플래시 메모리 디바이스를 제공함으로써 데이터를 저장하는 방법이 개시되어 있다. 제1 데이터 비트는 셀당 M 비트를 저장하도록 사용된 메모리 셀에 저장되고, 상기 메모리 셀은 상기 메모리의 페이지에 할당되어 있다. 제2 데이터 비트는 다른 메모리 셀에 저장되고, 셀당 N 비트를 저장하도록 사용된 상기 다른 메모리 셀은 상기 페이지에 할당되어 있고, 상기 제1 데이터 비트 및 상기 제2 데이터 비트를 저장시에, 상기 페이지는 셀당 M 비트를 가진 메모리 셀의 적어도 하나 및 셀당 N 비트를 가지 다른 메모리 셀의 적어도 하나를 동시에 사용하고, N은 M보다 작다.
플래시 메모리 디바이스, 유저 데이터 비트, 제어 데이터 비트, 메모리 셀, 페이지, 최대 전압, 임계 전압

Description

향상된 신뢰도 및 성능을 갖는 멀티 비트 셀 플래시 메모리 관리 방법{METHOD OF MANAGING A MULTI-BIT CELL FLASH MEMORY WITH IMPROVED RELIABILITY AND PERFORMANCE}
본 발명은 플래시 메모리에 관한 것이고, 보다 상세하게는, 셀 당 하나 보다 많은 비트를 갖도록 프로그래밍된 메모리 셀을 갖는 플래시 메모리에 관한 것이다. 특히, 본 발명은 1보다 큰 밀도(bit/cell)를 플래시 메모리의 단일 페이지에 저장하는 단계를 포함한다.
플래시 메모리는 비휘발성 메모리의 한 형태이다. 비휘발성 메모리는 실리콘 칩내의 정보를 유지하기 위해 전력을 필요로 하지 않는 방식으로 상기 실리콘 칩에 정보를 저장한다. 만약 상기 칩으로의 전력이 턴오프된다면, 정보는 임의의 전력을 소비하지 않고 유지된다. 플래시 메모리는 NOR 플래시 및 NAND 플래시를 포함하는 상이한 형태로 제조된다. 이 명칭은 주지된 NOR 및 NAND 로직 회로로의 두가지 타입의 플래시 메모리내의 저장 셀 사이의 상호연결의 유사성을 나타낸다. 플래시 메모리의 제한점은 플래시 메모리가 예를 들어, NOR 플래시내에 랜덤 액세스 방식으로 한번에 일 바이트 또는 한 단어로 판독되거나 프로그래밍될 수 있는 동안, 한 블록의 메모리가 동시에 삭제되어야 한다는 것이다. 한 블록은 일 동작 에 삭제되는 메모리의 최소 청크이다. NAND 플래시 메모리에서, 메모리는 한번에 한 페이지씩 랜덤 액세스 방식으로 프로그래밍(즉, 기록)된다. 한 블록은 보통 NAND 플래시의 한 페이지보다 훨씬 많은 페이지이다.
이러한 한계점 및 다른 한계점을 극복하기 위해, 플래시 파일 시스템(FFS)이 여기에 완전히 설명되어 통합되고 본 발명의 양수인에게 양도된 미국 특허 제5,404,485호에 개시되었다. FFS는 이러한 디바이스가 자기 디스크를 에뮬레이팅할 수 있도록 하는 플래시 디바이스상의 데이터 저장 및 조작의 시스템을 제공한다. 종래기술에서, 애플리케이션 또는 운영 체제는 물리 주소가 아닌 가상 주소를 사용하여 플래시 저장 서브시스템과 상호작용한다. 가상 주소로부터 물리 주소로의 맵핑을 제공하는 물리 디바이스와 소프트웨어 애플리케이션 사이에 중간층이 존재한다. 상술된 맵핑을 행하는 중간층은 상기 애플리케이션들이 실행하는 동일한 CPU상에 실행되는 소프트웨어 드라이버일 수 있다. 대안으로, 중간층은 플래시 디바이스를 제어하고 호스트 컴퓨터가 저장부에 액세스할 때 호스트 컴퓨터의 메인 CPU를 위한 인터페이스 포인트로서 기능하는 컨트롤러내에 내장될 수 있다. 이것은 예를 들어, 시큐어 디지털(SD) 카드 또는 멀티미디어 카드(MMC)와 같은 제거가능한 메모리 카드내의 상황일 수 있고, 상기 카드는 다른 기능 가운데, 상술된 맵핑 타입을 구현하는 펌웨어 프로그램을 실행하는 온보드 컨트롤러를 가지고 있다.
이러한 주소 맵핑을 행하는 소프트웨어 또는 펌웨어 구현은 보통 "플래시 관리 시스템" 또는 "플래시 파일 시스템"으로 불린다. 후자는 하드 파일이 운영 체제 또는 퍼스널 컴퓨터내에 사용된다는 점에서 "파일"을 지원할 필요는 없고, 디스 크 소프트웨어 드라이버에 의해 방출된 것과 유사한 블록 디바이스 인터페이스를 지원하기 때문에 오기이다. 또한 후자는 널리 사용되고 "플래시 파일 시스템" 및 "플래시 관리 시스템"은 여기에 상호교환하여 사용된다.
NAND형 플래시 디바이스에 있어서, 맵핑은 다음과 같이 이루어진다. 도 1(종래 기술)을 참조하면, 물리 주소 공간(13)은 실제로 소거 블록, 즉, 소거될 수 있는 최소 청크인 유닛(111)으로 구성된다. 용어 "블록" 및 "소거 블록"은 여기에 상호교환하여 사용되었다. 각 물리 유닛(111)은 하나 이상의 물리 페이지(113)를 포함하고, "페이지"는 기록될 수 있는 최소 청크이다. 가상 주소 공간(11)은 물리 유닛과 동일한 크기를 갖는 가상 유닛(121)으로 구성되어 있다. 각 가상 유닛은 물리 페이지(113)와 동일한 크기를 갖는 하나 이상의 가상 페이지(123)를 포함한다. 가상 주소가 판독 또는 기록을 위해 애플리케이션에 의해 제공될 때, 상기 주소가 속한 가상 유닛 넘버가 가상 주소로부터 추출된다. 하나의 물리 유닛(111) 또는 하나 보다 많은 물리 유닛(111)의 체인을 각 가상 유닛(121)에 할당하는 맵핑이 존재한다. 그다음, 가상 유닛(121)내의 요청된 가상 페이지(123)에 상응하는 물리 페이지(113)는 가상 페이지(123)를 물리 페이지(113)에 관련시키는 "로컬" 맵핑 룰을 사용하거나, 물리 페이지(113)와 함께 저장된 제어 정보를 사용하여, 상응하는 물리 유닛(111)내에 위치된다.
보통, 플래시 메모리내의 각 메모리 셀은 하나의 비트의 정보를 저장한다. 플래시 메모리 셀에 일 비트를 저장하는 전통적인 방법은 상기 셀의 2개의 상태를 지원함으로써 이루어져 왔다. 하나의 상태는 논리 "0"를 나타내고 또 다른 상태는 논리 "1"을 나타낸다. 플래시 메모리 셀에서, 2개의 상태는 셀의 채널상의 플로팅 게이트(상기 셀의 트랜지스터의 소스 및 드레인 엘리먼트를 연결하는 에어리어)를 가짐으로써 그리고 상기 플로팅 게이트내에 저장된 전하량을 위한 2개의 유효 상태를 가짐으로써 구현된다. 전통적으로, 하나의 상태는 소거된 후의 상기 셀의 미기록 상태(보통 "1" 상태를 나타내도록 정의된다)이고, 또 다른 상태는 상기 플로팅 게이트에 일정량의 음전하를 갖고 있다(보통 "0" 상태를 나타내도록 정의된다). 상기 게이트에 음전하를 갖음으로써 상기 셀의 트랜지스터의 임계전압(즉, 트랜지스터를 도통시키기 위해 트랜지스터의 제어 게이트에 인가되어야 할 전압)이 증가된다. 상기 셀의 임계전압을 체크함으로써 상기 저장된 비트를 판독하는 것이 가능하다. 이 임계전압이 보다 높은 상태에 있다면, 비트 값은 "0"이고 만약 임계값이 보다 낮은 상태에 있다면 비트 값은 "1"이다. 실제로, 상기 셀의 임계값을 정확하게 판독할 필요는 없다. 단지 상기 셀이 상기 2개의 상태중 어느에 위치되어 있는지를 정확하게 식별하기만 하면 된다. 이러한 목적을 위해, 상기 2개의 상태 사이에 있는 기준 전압에 상기 임계전압을 비교하고 상기 임계전압이 상기 기준 값보다 위인지 아래인지를 결정하는 것으로 충분하다.
도 1A(종래기술)은 이것이 어떻게 이루어지는지 그래프로 보여주고 있다. 구체적으로, 도 1A는 많은 수의 셀의 임계전압의 분포를 도시하고 있다. 플래시 디바이스내의 셀이 (예를 들어, 실리콘 기판내의 결함 또는 불순 농도에서의 작은 편차로 인한) 그들의 특징 및 동작에서 정확히 동일하지 않기 때문에, 동일한 프로그래밍 동작을 모든 셀에 적용한다고 해도 모든 셀이 정확하게 동일한 임계전압을 갖지는 않는다. 대신에, 이 임계전압은 도 1A에 도시된 바와 같이 분포된다. "1"의 값을 저장하는 셀은 보통 네가티브 임계전압을 가지고 있어서, 상기 셀의 대부분은 도 1A의 좌측 피크(1로 라벨링되어 있다)의 중심 전압값에 가까운 임계전압을 가지고 있고, 적은 수의 셀이 좌측 피크의 중심 전압보다 낮거나 높은 임계전압을 가지고 있다. 마찬가지로, "0"의 값을 저장하는 셀은 포지티브 임계전압을 가지고 있어서, 상기 셀의 대부분은 우측 피크(0으로 라벨링되어 있다)의 중심 전압에 가까운 임계전압을 가지고 있고, 적은 수의 셀이 우측 피크의 중심 전압보다 낮거나 높은 임계전압을 가지고 있다.
최근에, "멀티 레벨 셀(MLC)"를 사용하는 새로운 종류의 플래시 디바이스가 시장에 나타났다. 용어 "멀티 레벨 셀"은 셀당 단일 비트를 갖는 플래시 메모리가 상술된 바와 같이 복수의 즉, 2개의 레벨을 사용하기 때문에 혼란을 유발한다. 따라서, 용어 "단일 비트 셀(SBC)"은 이후에 2개의 레벨의 메모리 셀을 가리키는 것으로 사용되고 용어 "멀티 비트 셀(MBC)"은 2개보다 많은 레벨, 즉, 셀당 하나 보다 많은 비트의 메모리 셀을 가리키는 것으로 사용된다. MBC 플래시 디바이스의 대표적인 종래 예는 하라리에 의해 개시된 미국 특허 제5,434,825호에서 발견된다. 본발명은 주로 셀당 2개의 비트를 갖는 MBC 플래시 메모리를 가리키고 있다. 그러나, 본 발명은 셀당 2개보다 많은 비트를 지원하는 플래시 메모리 디바이스에도 동일하게 적용가능하다는 것을 이해해야 한다.
2개의 비트의 정보를 저장하는 단일 MBC 셀은 상이한 상태중 하나에 있다. 셀 "상태"가 셀의 임계전압에 의해 표시되기 때문에 MBC 셀은 셀의 임계전압에 대 한 4개의 상이한 유효한 범위를 지원한다. 도 1B(종래기술)는 셀당 2개의 비트의 전형적인 MBC 셀에 대한 임계전압 분포를 도시하고 있다. 예상되는 바와 같이, 도 1B는 하나의 상태에 각각 상응하는 4개의 피크를 가지고 있다. SBC에 대해서는 각 상태는 전압 범위이고 하나의 전압은 아니다. 셀의 컨텐츠를 판독할 때, 셀의 임계전압이 한정된 전압 범위내에 정확하게 식별되어야만 한다.
대부분의 MBC 디바이스에서, 디바이스 제조자는 주어진 블록내의 셀당 비트의 수를 선택하기 위해 임의의 수단을 사용자에게 제공하지 않는데, 즉, 셀당 비트의 수는 상기 디바이스내의 모든 셀에 대하여 동일하다. 그러나, 일부 MBC 디바이스에서, 셀당 비트의 수는 프로그래밍 동안 보다 높은 성능 또는 보다 높은 신뢰도를 달성하기 위해 디바이스의 파트에서 감소될 수 있다. 예를 들어, MBC 플래시는 그 블록의 대부분에서 셀당 2개의 셀을 저장할 수 있지만, 소프트웨어 프로그램 제어하에서는, 다른 블록내에서 셀당 오직 하나의 비트만을 저장할 수 있다. 셀당 상이한 수의 비트를 저장하는 동일한 디바이스내의 상이한 블록을 갖는 MBC 플래시 디바이스는 종래 기술에서 발견되었다. 대표적인 종래 기술은 리 등의 미국 특허 제5,930,167호, 곤잘레스 등의 미국 특허 제6,807,106호, 첸의 미국 특허 제6,456,528호, 및 제6,717,847호를 포함한다. 첸은 블록이 이들의 예상되는 유용한 수명의 끝에 접근할 때 셀당 보다 낮은 수의 비트로 상기 블록을 스위칭하는 단계를 개시한다.
MBC 디바이스에서, 임계전압 분포 그래프의 상이한 피트가 셀내에 저장된 비트의 값을 인코딩하기 위해 사용된다. 본원인은 여기에 완전히 제시된 바와 같이 모든 목적에 대해 언급되어 통합된 레세의 "멀티 레벨 셀 플래시 메모리내의 상태 인코딩"으로 표제된 미국 특허 출원 60/553,798호("레세 '798")의 용어를 사용할 것이다. 도 1B에 MBC 셀의 임계전압 분포가 도시되어 있다. 그래프의 피크는 (좌로부터 우로) "11", "10", "00", "01"로 표시되어 있다. 이것은 다음을 의미한다:
셀이 상태 A에 있을 때(좌로부터 첫번째 상태), 하위 비트에 대해 "1"을, 그리고 상위 비트에 대해 "1"을 표시하고(이것은 셀의 초기 프로그래밍되지 않은 상태이다),
셀이 상태 B에 있을 때(좌로부터 두번째 상태), 하위 비트에 대해 "0"을, 그리고 상위 비트에 대해 "1"을 표시하고,
셀이 상태 C에 있을 때(좌로부터 세번째 상태), 하위 비트에 대해 "0"을, 그리고 상위 비트에 대해 "0"을 표시하고,
셀이 상태 D에 있을 때(좌로부터 네번째 상태), 하위 비트에 대해 "1"을, 그리고 상위 비트에 대해 "0"을 표시한다.
셀당 2 비트의 MBC에 대하여 상술된 인코딩 방법은 미국 특허 제6,522,580호에서 첸에 의해 제안된 것이다. 상이한 방법이 미국 특허 제6,643,188호에서 타나카에 의해 제안되어 있는데, 여기에서 (임계전압 축을 따라 좌측으로부터 우측으로) 비트 할당의 순서는 "11", "10", "01", "00"이다. 이러한 방법의 해석방법은 다음과 같다:
셀이 상태 A에 있을 때(좌로부터 첫번째 상태), 하위 비트에 대해 "1"을, 그리고 상위 비트에 대해 "1"을 표시하고(이것은 셀의 초기 프로그래밍되지 않은 상 태이다),
셀이 상태 B에 있을 때(좌로부터 두번째 상태), 하위 비트에 대해 "0"을, 그리고 상위 비트에 대해 "1"을 표시하고,
셀이 상태 C에 있을 때(좌로부터 세번째 상태), 하위 비트에 대해 "1"을, 그리고 상위 비트에 대해 "0"을 표시하고,
셀이 상태 D에 있을 때(좌로부터 네번째 상태), 하위 비트에 대해 "0"을, 그리고 상위 비트에 대해 "0"을 표시한다.
예를 들어, 4개의 상태에서의 MBC 동작에 대하여 설계된 셀은 보통 2개의 상태를 갖는 SBC 셀로서 동작가능하다. 예를 들어, 여기에 완전히 제시된 바와 같이 모든 목적을 위해 언급되어 통합된 미국 특허 제6,426,893호내의 콘레이 등은 동일한 디바이스에서 MBC 및 SBC 모드 모두를 사용하는 단계, MBC 모드내의 최상위 밀도를 갖고 동작하도록 디바이스의 특정 파트를 선택하는 단계를 개시하였는데, 여기에서 다른 파트는 보다 나은 성능을 제공하기 위해 SBC 모드에서 사용되었다.
MBC 디바이스는 상당한 가격면에서 유익하다. 셀당 2개의 비트를 갖는 MBC 디바이스는 유사한 용량의 SBC보다 실리콘 웨이퍼의 면적에서 약 절반을 필요로 한다. 그러나, MBC 플래시를 사용하는데는 단점이 있다. MBC 메모리의 평균 판독 및 기록 시간은 SBC 메모리의 것보다 길어서 보다 불량한 성능을 나타낸다. 또한, MBC의 신뢰도는 SBC의 것보다 낮다. MBC 내의 임계 전압 범위 사이의 차이는 SBC에서보다 낮다. MBC내의 임계 전압 범위 사이의 차이는 SBC에서보다 훨씬 더 작다. 따라서, 상기 2개의 상태 사이의 큰 갭으로 인한 SBC에서 상당하지 않은 임계 전압에서 교란(예를 들어, 동작하는 이웃 셀로부터 간섭 또는 임계전압 드리프트를 유발하는 저장된 전하의 누설)에서 MBC 셀은 하나의 상태로부터 다른 상태로 이동할 수 있어서 에러 비트를 초래할 수 있다. 최종 결과로 많은 기록/소거 사이클에 대한 디바이스의 데이터 보존 시간 또는 지속시간에 있어서 MBC 셀이 보다 낮은 성능을 나타내게 된다.
이제 플래시 관리 소프트웨어가 동작하는 방식에 대해 설명한다. 다음 설명은 NAND 형 플래시 디바이스에 대한 것이지만, 이것은 임의의 방법으로 본 발명을 제한하고자 하는 것은 아니다. 플래시 저장 시스템이 부착된 호스트 프로세서는 보통 512 바이트로 데이터 섹터(또한 여기에서 "유저 데이터"로 불린다)를 판독하고 기록함으로써 플래시 저장 시스템과 상호작용한다. 물리 플래시 디바이스에서 각 섹터는 기록 동작을 위한 데이터의 최소 청크인 페이지(113, 또한, 보통 512 바이트이지만, 다른 페이지 크기를 갖는 디바이스가 역시 존재한다)내에 저장되어 있다. 섹터는 자주 페이지(113)내에 저장된 데이터를 가리킨다. 용어 "섹터" 및 용어 "페이지"는 여기에서 상호교환하여 사용된다.
정확하고 효율적인 동작을 위해 플래시 관리 소프트웨어는 각 그리고 모든 섹터에 대해 특정 제어 정보를 보존하고 있어야 한다. 예를 들어, 섹터에는 이것이 유효 데이터를 현재 포함하고 있는지, 이것이 (그 이전에 소거될 필요없이) 사용되는데 자유로운지 등을 지시하는 플래그가 수반될 수 있다. 또한, 섹터와 연관된 주소 맵핑을 식별하는 정보, 예를 들어, 호스트가 저장 시스템과 상호작용하는 로지컬 또는 가상 주소 공간내 어디에 이러한 섹터가 위치되어 있는지와 같은 정보 를 보전할 필요가 있다. 일부 제어 정보는 단일 섹터가 아닌, 동일한 블록(블록은 소거 동작을 위한 데이터의 최소 청크이다)내에 저장된 전체 그룹의 섹터와 연관될 수 있다. 이것에 대한 일예는 "소거 마크"를 포함하는 블록이 유효한 소거 동작을 완료하였고 "플래시 메모리내의 부분 소거된 유닛 검출"로 표제된 미국 특허 출원 제10/298,094호의 레세 등에 의해 개시된 데이터 기록을 위해 신뢰도를 가지고 사용될 수 있음을 지시하는 "소거 마크"의 저장이다. 이러한 타입의 블록 관련된 정보는 보통 해당 섹터내에 저장된 데이터를 수반하는, 블록의 제1 섹터내에 보존되어 있다. 이러한 원리에 따라 도작하는 플래시 관리 시스템은 당업분야에서 매우 잘 알려져 있다. 예를 들어, 여기에 완전히 개시된 바와 같이 모든 목적을 위해 언급되어 통합된, "오직 시퀀셜 기록만을 사용하는 플래시 관리 시스템"으로 표제된 레세의 미국 특허 제6,678,785호 및 "페이지 모드 플래시 기술을 위해 최적화된 플래시 파일 시스템"으로 표제된 반의 미국 특허 제5,937,425호를 참조하라. 데이터 섹터와 연관된 추가 정보를 저장할 일반적인 필요 때문에, NAND 플래시 디바이스는 각 섹터("엑스트라 에어리어" 또는 "스페어 에어리어"로 불린다)와 연관된 추가 저장 공간량을 가지고 구축되어, 제어 정보를 저장하기 위한 룸을 플래시 관리 소프트웨어에 제공한다. 보통 이러한 디바이스는 레귤러 저장 공간의 각 512 바이트당 16 바이트의 엑스트라 에어리어를 제공한다.
상술된 제어 정보는 관리 알고리즘을 위한 입력으로서 플래시 관리 소프트웨어에 의해 사용된다. 따라서, 제어 정보는 플래시 시스템의 정확한 동작에 중요하다. 유저 데이터내의 에러는 플래시 관리 시스템을 손상하지 않는 반면 제어 정보 내의 에러는 전체 섹터, 전체 블록, 또는 (극단의 경우에) 심지어 모든 디스크 내용의 손실을 초래할 수도 있다. 그래서, 최상위 신뢰도를 가진 제어 정보를 판독할 수 있다는 것은 매우 중요하다.
또한 상술된 제어 정보가 그 관리 알고리즘에 대한 입력으로서 플래시 관리 소프트웨어에 의해 사용되기 때문에, 제어 정보는 매우 자주, 평균적으로 연관된 유저 데이터보다 자주 액세스된다. 예를 들어, 플래시 저장 디바이스를 장착할 때(즉, 시스템 파워 업 후에 플래시 관리 소프트웨어를 개시할 때), 많은 섹터의 제어 벙보는 아무런 유저 데이터가 실제로 그 시간에 판독되지 않을지라도 소프트웨어의 주소 변환표를 구성하고 개시하기 위해 판독되어야만 한다. 또한, 정상 동작 동안, 호스트에 의해 요청된 데이터 섹터를 위치시키기 위해 요청된 것을 위치시키기 위해 매우 소수의 섹터의 제어 정보를 판독해야만 하는 많은 경우가 존재한다. 따라서, 가능한 고속으로 (연관된 섹터내의 유저 데이터 없이) 제어 정보를 판독할 수 있다는 것에 많은 성능 장점이 존재한다.
상기 방법을 사용하는 종래 기술의 플래시 시스템에서 제어 정보는 레귤러 유저 데이터와 동일한 기록 모드를 사용하여 저장된다. 플래시 디바이스가 MBC 모드를 사용한다면, 유저 데이터와 제어 정보는 MBC 모드에 저장된다. 플래시 디바이스가 SBC 모드를 사용한다면, 유저 데이터와 제어 정보는 모두 SBC 모드에 저장된다. 유저 데이터와 제어 정보는 모두 동일한 신뢰도 및 동일한 기록 속도를 가지고 있다.
종래 기술의 플래시 메모리 시스템은 유저 데이터와 제어 정보 사이의 분리 "모드"를 지원하지 않는다. 제어 정보는 관련 유저 데이터와 동일한 페이지에 저장되고 많은 경우에 제어 정보는 동일한 기록 동작에서 유저 데이터와 함께 저장되고 있다. 종래 기술의 플래시 디바이스는 기록 동작을 수행하는 플래시 디바이스의 내부 회로의 상당부분이 기록되는 셀 모두 사이에 함께 공유되고 종래 기술의 회로가 상이한 모드에서 동일한 시간에 동작할 수 없기 때문에, 일부 메모리 셀을 MBC 모드를 사용하여 기록하고 다른 메모리 셀을 SBC 모드를 사용하여 기록하는 단일 기록 동작을 지원하지 않는다. 둘째, 플래시 디바이스는 MBC 또는 SBC 어느 모드에서 페이지가 프로그래밍되는지 (플래시 시스템의 컨트롤러에 의해) 명령되어야만 하고, 존재하는 플래시 디바이스의 현 인터페이스는 동일한 기본 동작내의 혼합 모드를 지원하지 않는다.
따라서, 제어 정보에 관련된 유저 데이터와 동일한 기록 동작과 동일한 페이지내에 플래시 디바이스내에 제어 정보를 저장하기 위한 방법을 갖는 것이 필요하고 유익하다.
여기에 사용된 용어 "페이지"는 단일 동작으로 기록될 수 있는 플래시 메모리의 최소 부분이다.
여기에 사용된 용어 "전압 상태"는 셀의 임계전압이 특정 범위의 전압값내에 있는 플래시 메모리 셀의 상태를 가리키고, 상기 특정 범위내의 임계전압은 특정 패턴의 비트의 저장을 가리킨다. 포지티브 및 네가티브 무한값 역시 이러한 정의의 목적을 위한 유효한 전압 값으로서 생각되어, 전압 상태는 주어진 값의 아래 또는 주어진 값의 위의 모든 임계전압의 범위에 상응한다.
N 비트를 저장하도록 사용된 메모리 셀의 전압 상태를 설명하는데 있어서, 용어 "유용한 전압 상태"는 N 보다 큰 비트를 저장할 때 단일 셀내에 사용된 전압 상태를 가리킨다. 용어 "최대 유용한 전압 상태"는 최고 전압의 가장 극히 유용한 전압 상태를 가리킨다. 용어 "최우측 상태" 및 "최대 전압의 전압 상태"는 여기에서 상호교환하여 사용되고 있다.
본 발명에 따라, 각각 데이터 비트를 저장할 수 있는 복수의 메모리 셀을 포함하는 플래시 메모리 디바이스를 제공함으로써 데이터를 저장하는 방법이 제공된다. 제1 데이터 비트는 셀당 M 비트를 저장하도록 사용되는 메모리내에 저장되고, 상기 메모리 셀은 상기 메모리의 페이지에 할당된다. 제2 데이터 비트는 다른 메모리 셀내에 저장되고, 셀당 N 비트를 저장하도록 사용된 다른 메모리 셀은 상기 제1 데이터 비트 및 상기 제2 데이터 비트 저장시에 상기 페이지에 할당되고, 상기 페이지는 셀당 M 비트를 갖는 메모리 셀중 적어도 하나 및 셀당 N 비트를 갖는 다른 메모리 셀의 적어도 하나를 도시에 사용하고, N은 M 보다 작다. 상기 제1 데이터 비트는 유저 데이터 비트이고 상기 제2 데이터 비트는 제어 데이터 비트인 것이 바람직하다. N은 1 또는 2인 것인 바람직하다. N이 1일 때, M은 2, 3 또는 4이고, N이 2일 때, M은 3 또는 4인 것이 바람직하다. 상기 제1 데이터 비트 및 상기 제2 데이터 비트의 저장은 단일 기록 동작으로 실행되는 것이 바람직하다. 상기 방법은 상기 메모리 셀 및 다른 메모리 셀중 하나 이상을 단일 판독 동작으로 판독하는 단계를 더 포함하고, 상기 판독은 상기 제1 데이터 비트의 하나 이상 및 상기 제2 데이터 비트의 하나 이상을 판독하는 것이 바람직하다. 상기 방법은 단일 판독 동작으로 다른 메모리 셀을 판독하는 단계를 포함하고, 상기 판독은 제2 데이터 비트의 하나 이상을 판독하는 것이 바람직하다. 상기 다른 메모리 셀은 최대 전압의 유용한 전압 상태를 사용하는 것이 바람직하다. 상기 다른 메모리 셀은 상기 메모리 셀에 의해 사용된 최대 전압의 전압 상태 이외의 유용한 전압 상태를 사용하는 것이 바람직하다. 상기 다른 메모리 셀은 제2 최대 전압의 유용한 전압 상태를 사용하는 것이 바람직하다. 플래시 메모리 디바이스는 NAND 플래시 메모리 디바이스이고 상기 페이지는 단일 동작으로 기록될 수 있는 최소 청크의 메모리인 것이 바람직하다.
본 발명에 따라, 복수의 메모리 셀을 포함하는 플래시 메모리 디바이스를 제공함으로써, 저장된 데이터를 판독하는 방법이 제공된다. 상기 메모리 셀의 각각은 M 데이터 비트를 저장할 수 있고, M은 1 보다 큰 정수이다. 상기 방법은 페이지의 메모리 셀의 각각으로부터 각각 단일 비트를 단일 커맨드로 판독하는 단계를 더 포함하고, 상기 메모리 셀중 하나로부터 판독된 단일 비트는 M보다 작은 비트가 하나의 메모리 셀에 저장되어 있을 때만 유효하다.
본 발명에 따라, M은 1보다 큰 정수이고, 각각 M 데이터 비트를 저장할 수 있는 메모리 셀을 포함하는 플래시 메모리 디바이스를 제공함으로써 그리고 상기 메모리 셀의 그룹을 판독하기 위한 판독 커맨드를 제공함으로써, 저장된 데이터를 판독하는 단계가 제공된다. 이 판독 커맨드는 항상 상기 그룹의 각 메모리 셀에 단일 전압 비교를 행한다. M은 2, 3 또는 4인 것이 바람직하다.
본 발명에 따라, 데이터 비트를 저장할 수 있는 메모리 셀을 포함하는 플래시 메모리 디바이스가 제공된다. 이 디바이스는 상기 메모리 셀중 하나 이상내의 셀당 M 비트를 저장하는 제1 데이터 비트 및 하나 이상의 다른 메모리 셀내에 셀당 N 비트를 저장하는 제2 데이터 비트를 저장하는 컨트롤러를 더 포함한다. 이 메모리 셀은 하나의 페이지에 할당되어 있고 상기 다른 메모리 셀은 동일한 페이지에 할당되어 있다. 이 페이지는 N은 M보다 작고, 셀딩 M 비트를 가진 메모리 셀 및 셀당 N 비트를 가진 다른 메모리 셀을 동시에 사용한다. 제1 데이터 비트는 유저 데이터 비트이고 제2 데이터 비트는 제어 데이터 비트인 것이 바람직하다. N은 1 또는 2인 것이 바람직하다. 상기 제1 데이터 비트 및 제2 데이터 비트의 저장은 단일 기록 동작으로 실행되는 것이 바람직하다. 상기 방법은 단일 판독 동작으로 다른 메모리 셀을 판독하는 단계를 포함하고, 상기 판독은 상기 제2 데이터 비트중 하나 이상을 판독하는 것이 바람직하다. 다른 메모리 셀은 최대 전압의 유용한 전압 상태를 사용하는 것이 바람직하다. 다른 메모리 셀은 메모리 셀에 의해 사용되는 최대 전압의 전압 상태 이외의 유용한 전압 상태를 사용하는 것이 바람직하다. 다른 메모리 셀은 제2 최대 전압의 유용한 전압 상태를 사용하는 것이 바람직하다.
본 발명에 따라, M은 1보다 큰 정수인, M 데이터 비트를 저장할 수 있는 메모리 셀, 일 페이지의 메모리 셀중 하나로부터 각각 단일 비트를 단일 커맨드로 판독하기 위한 메커니즘을 포함하는 플래시 메모리 디바이스가 제공되고, 상기 메모리 셀중 하나로부터 판독된 상기 단일 비트는 M보다 작은 비트가 상기 하나의 메모리 셀에 저장되었을 때만 유효하다. M은 2, 3 또는 4인 것이 바람직하다.
본 발명에 따라, 복수의 메모리 셀을 포함하는 플래시 메모리 디바이스가 제공된다. 이 메모리 셀의 각각은 M은 1보다 큰 정수인, M 데이터 비트를 저장할 수 있다. 이 디바이스는 셀의 그룹을 판독하기 위한 판독 커맨드를 제공하기 위한 메커니즘을 더 포함하고, 상기 판독 커맨드는 항상 상기 그룹의 각 메모리 셀에 대한 단일 전압 비교를 행한다. M은 2, 3 또는 4인 것이 바람직하다.
본 발명은 다음의 첨부된 도면을 참조하여 예로서만 여기에 기술되어 있다.
도 1(종래기술)은 종래 플래시 디바이스의 단순도면,
도 1A는 셀당 단일 비트를 가진 종래 기술의 플래시 디바이스에서의 임계전압 분포를 도시하는 단순 그래프,
도 1B는 셀당 2개의 비트를 가진 종래기술의 플래시 디바이스에서의 임계전압 분포를 도시하는 단순 그래프,
도 2는 본 발명의 일실시예에 따른 플래시 디바이스의 단순 도면, 및
도 3는 본 발명의 일실시예에 따른 흐름도.
본 발명은 제어 정보에 관련된 유저 데이터와 동일한 페이지에 플래시 디바이스내에 제어 정보를 저장하기 위한 시스템 및 방법에 관한 것이다. 구체적으로, 이 저장은 유저 데이터와 동일한 기록 동작을 가지고 실행된다.
본 발명에 따른, 동일한 페이지내에 유저 데이터와 제어 정보를 저장하기 위한 시스템 및 방법의 원리 및 동작은 도면 및 수반되는 설명을 참조하여 보다 더 잘 이해될 수 있다. 본 발명의 실시에를 상세하게 설명하기 전에, 본 발명은 다음의 설명에 제시되거나 도면에 도시된 구성요소의 비열 및 설계의 상세에 본 발명의 적용이 제한되지 않는다는 것을 이해해야만 한다. 본 발명은 다른 실시예로 또는 다양한 방법으로 실행되거나 수행될 수 있다. 도한, 여기에 사용된 구 및 용어는 설명을 위한 것이지 제한하려는 것은 아니라는 것을 이해해야만 한다.
실시예 1
본 발명의 제1 실시예는 MBC 모드를 사용하지만 SBC모드와 유사한 향상된 신뢰도를 가지고 (하지만 판독 성능은 향상되지 않은) 제어 정보 및 유저 데이터를 기록하는 것이다. 이를 달성하기 위해 본발명자는 각 정보 상당의 단일 비트만을 저장하기 위해 제어 정보를 저장하기 위해 사용된 메모리 셀의 사용을 제한하고, MBC 모드를 사용할 때 이러한 셀내에 저장될 수 있는 엑스트라 비트를 사용하지 않는다.
이미 상술된 바와 같이, SBC 모드와 비교하여 MBC 모드를 사용할 때 보다 낮은 신뢰도에 대한 원인은 셀의 상태 사이의 보다 작은 갭이다. 따라서, 셀이 그 상태를 오변환하고 따라서 저장된 비트의 하나 이상을 대하여 부정확한 값을 표시할 가능성이 보다 높다. 하지만 본발명자는 첸 코딩 컨벤션을 사용하여, 제한된 방법, 즉, 오직 "11" 및 "01" 상태만을 사용하는 방법으로 동일한 셀을 사용할 것을 제안한다. 도 1B에서 볼 수 있는 바와 같이, 이것은 임계전압 축상의 가장 크게 격리된 한 쌍의 상태이다. 따라서, 이러한 2개의 상태중 하나에 기록된 셀이 다른 상태로 이동할 가능성은 매우 낮다. 실제로, 이러한 경우에서의 2개의 상태 사이의 분리는 도 1A 및 도 1B와 비교하여 볼 수 있는 바와 같이, 대부분의 SBC 디바이스내에서보다 훨씬 더 크다. 본발명자는 "1"을 나타내기 위해 상기 둘 중에 좌측 상태를 할당하고 "0"을 나타내기 위해 상기 둘 중에 우측 상태를 할당한다. 우리가 얻는 것은 정상 사용에서 MBC 셀내에 저장된 비트의 신뢰도보다 훨씬 더 높은 신뢰도를 갖는 단일 비트를 저장할 수 있는 MBC 셀이다. 이러한 고신뢰도 모드에서 그것을 동작하기 위해 셀내에 "1" 또는 "0"의 값을 기록하는 것은 다음과 같이 이루어진다.
"1" 기록: 상하위 비트 모두에 "1"을 기록하여 최좌측 상태에 있는 셀을 얻는다.
"0" 기록: 하위 비트에 "1"을 기록하고 상위 비트에 "0"을 기록하여 최우측 상태에 있는 셀을 얻는다.
제어 정보를 그 관련 유저 데이터와 동일한 페이지에 기록하면서 보다 높은 신뢰도를 가진 제어 정보를 저장하는 목표를 달성하기 위해 다음을 수행한다:
- 유저 데이터의 비트가 메모리 셀의 최대 용량을 사용하는 메모리 셀내로 기록된다. MBC 셀이 (상기 예에서와 같이) 셀당 2개의 비트를 저정할 수 있다면, 2개의 유저 데이터 비트가 각 셀내에 놓인다.
- 제어 정보의 비트가 각 메모리 셀내에 오직 하나의 비트가 저장된 메모리 셀내에 저장된다. 그러나, 그러한 각 비트는 상기 셀의 2개의 비트의 구체적 값에 의해 표시되어 최고로 먼 2개의 상태를 얻는다.
양 타입의 비트가 동일 페이지에 가능하게는 동일 기록 동작을 사용하여 저 장된다. 이 기록 동작은 MBC 모드를 사용한다(보통 이러한 디바이스에서는 오직 기록 동작만이 유용하다).
제어 정보를 판독하기 위해 우리는 레귤러 MBC 판독 커맨드를 적용한다(보통 판독 커맨드만이 유용하다). 제어 정보 셀로부터 2개의 비트를 검색한 후에, 우리는 이들을 다음의 규칙에 따라 표시되는 단일 비트로 변환한다.
- "11"이 판독되면 제어 정보 비트는 "1"로 취해진다.
- "10"이 판독되면 제어 정보 비트는 "1"로 취해진다(셀이 부정확한 상태로 드리프팅될지라도, 우리는 그 오리지널 값이 "11" 이었다고 추측할 수 있는데, 이는 이 값이 원래의 두개중 보다 가까운 상태이기 때문이다).
- "00"이 판독되면, 제어 정보 비트는 "0"으로 취해진다(셀이 부정확한 상태로 드리프팅될지라도, 우리는 그 오리지널 값이 "01" 이었다고 추측할 수 있는데, 이는 이 값이 원래의 두개중 보다 가까운 상태이기 때문이다)
- "01"이 판독되면, 제어 정보 비트는 "0"으로 취해진다.
상기 프로시져는 각 셀의 양 비트가 동일한 페이지에 속해 있는 경우에 수월하다. 이러한 경우에 2개의 비트를 저장하는 단계는 유저 데이터 및 제어 정보 모두를 함께 저장할 수 있는 하나의 기록 동작에서 이루어지고 2개의 비트를 판독하는 단계는 또한 하나의 판독 동작에서 이루어질 수 있다. 그러나, 본 발명은 도한 2개의 상이한 페이지에 셀의 2개의 비트가 속해있는 MBC 디바이스에도 적용가능하다. 이러한 디바이스에서 상기 셀을 공유하는 복수의 페이지는 보통 디바이스 주소 공간에 서로 인접하여 있다. 이러한 경우에 동일한 유저 데이터 셀을 공유하는 페이지의 각 그룹이 이들의 제어 정보를 함께 저장하기 위해 셀의 공유된 그룹을 할당하고 연속으로 이러한 페이지들을 디바이스에 기록할 필요가 있다. 이것은 이러한 경우에 각각 단일 비트를 셀내에 기록하는, 셀을 채우기 위한 복수의 기록 동작을 행하고 각각 단일 비트를 셀로부터 판독하는, 셀을 판독하기 위한 복수의 판독 동작을 행하는 것을 제외하고 이전의 경우와 정확히 동일하게 동작할 것이다.
본 발명은 셀의 상태에 의해 비트의 임의의 구체적인 인코딩 방식에 제한되지 않는다는 것을 이해해야만 한다. 셀당 2비트의 MBC에 대해 상기 예에서 제시된 인코딩 방식은 미국 특허 제6,522,580호에 첸에 의해 제안된 것이다.
타나카의 미국 특허 제6,643,188호에 제안된 인코딩 방식에서, 2개의 가장 분리된 상태는 "11" 및 "00"이고, 그래서, 이들 2개의 상태는 고신뢰도 모드에서 단일 비트를 저장하기 위해 사용되는 2개의 상태로서 선택된다. 이러한 고 신뢰도 모드에서 셀을 동작시키기 위해 셀에 "1" 또는 "0"을 기록하는 단계는 다음과 같이 이루어진다.
- "1 기록 - 상하위 비트 모두에 "1"을 기록하여 최좌측 상태에 있는 셀을 얻는다.
- "0" 기록 - 상하위 비트 모두에 "0"을 기록하여 최우측 상태에 있는 셀을 얻는다.
기록을 위한 프로시져는 다음과 같다:
- "11"이 판독되면, 제어 정보 비트는 "1"로 취해진다.
- "10"이 판독되면, 제어 정보 비트는 "1"로 취해진다(셀이 부정확한 상태로 드리프팅될지라도, 그 오리지널 값이 "11"이었다는 것을 추측할 수 있는데, 이는 이 값이 원래의 두개중 보다 가까운 상태이기 때문이다).
- "01"이 판독되면, 제어 정보 비트는 "01"로 취해진다(셀이 부정확한 상태로 드리프팅될지라도, 그 오리지널 값이 "01"이었다는 것을 추측할 수 있는데, 이는 이 값이 원래의 두개중 보다 가까운 상태이기 때문이다).
- "00"이 판독되면, 제어 정보 비트는 "0"으로 취해진다.
"0"을 나타내기 위해 선택된 비트의 값에서의 변화를 제외하곤, 기록 및 판독 프로시져의 모든 나머지는 양측 인코딩 방식과 정확하고 동일하게 동작한다. 따라서, 모든 유효한 인코딩 방식에 대하여 우리는 "1"을 나타내기 위해 2 비트 값"11"을 선택하고 "0"을 나타내기 위해 또 다른 1 비트 값(최우측 상태에 할당된 값)을 선택해야만 한다는 것을 이해할 수 있다. MBC 셀에 의해 사용된 인코딩 방식에 관계없이, 이러한 프로시져는 항상 높은 신뢰도의 단일 비트 저장을 얻게 될 것이다.
제어 정보에 대한 보다 양호한 신뢰도를 달성하는 본 발명의 일실시예에 따른 방법은 특별한 커맨드 또는 모드가 상기 스탠더드 MBC 플래시 디바이스에서 요구되지 않기 때문에 임의의 스탠더드 MBC 플래시 디바이스에 (SBC 모드를 지원하지 않는다 할지라도) 적용가능하다. MBC 플래시 디바이스에 이러한 방법을 사용하는 플래시 관리 소프트웨어는 상기 디바이스에 오직 스탠더드 MBC 기록 및 판독 커맨드만을 발행한다. 이 플래시 디바이스는 그것이 특별한 방법으로 사용되고 있다는 것을 실제로 인식하지 못한다. 이것은 상기 제시된 방법에 따른 올바른 인코딩을 채용하는, 각 비트를 별개의 메모리 셀에 할당하여 제어 정보를 적합하게 저장함으로써 이러한 방법에 의해 제공되는 장점을 달성하는 소프트웨어이다.
상기 예들이 모두 셀당 2 비트의 MBC 디바이스를 도시하고 있지만, 본 발명은 이러한 경우에 제한되지 않고 셀당 보다 많은 수의 비트를 갖는 MBC 셀에 동일하게 적용가능하다. 예를 들어, 셀당 4 비트의 MBC 디바이스는 비트 할당의 순서가 (임계전압 축에 따라 좌측으로부터 우측으로) "1111", "1110", "1100", 1101", 1001", "1011", "1010", "1000", "0000", "0100", "0101", "0001", "0011", "0010", "0110", "0111"인 인코딩 방식을 사용할 수 있다. 여기에서 각 제어 정보 비트는 4 비트 값에 의해 표시될 수 있는데, 즉, "1"에 대해 "1111"을 "0"에 대해 "0111"을 사용할 수 있다. 제어 정보를 판독할 때 상기 리스트의 처음 8개의 값은 "1"을 표시하고 상기 리스트의 나중의 8개의 값은 "0"으로 취해진다. 이러한 규칙을 따름으로써 높은 신뢰도의 SBC 셀로서 동작하는 셀당 4 비트의 셀을 얻을 수 있다.
이 방법은 셀당 제어 정보 비트의 수가 셀당 유저 비트의 수보다 훨씬 더 적다는 가정하에, 셀에 하나 보다 많은 제어 정보 비트를 정보를 저장함으로써 훨씬 더 일반화될 수 있다. 예를 들어, 상술된 셀당 4 비트의 MBC 디바이스에서, 우리는 셀당 2개의 제어 정보 비트를 저장할 수 있다. 이것은 셀당 오직 하나의 비트만을 저장할 때보다 제어 정보에 대해 보다 낮은 신뢰도를 얻을 것이지만, 제어 정보의 신뢰도는 유저 데이터의 신뢰도보다는 훨씬 더 높을 것이다. 이러한 일반화 역시 본 발명의 범위내에 있다.
또 다른 향상: 실시예2
상기 제시된 제1 실시예는 고 신뢰도를 가지고 제어 정보를 저장하는 방법을 제공하지만, 보다 양호한 판독 성능을 제공하기 위해 제어 정보를 저장할 필요는 언급하지 않고 있다. 본 발명의 제2 실시예는 이러한 필요도 언급하고 신뢰도 및 성능 목표 모두를 지원한다. 제2 실시예는 제1 실시예와는 달리 플래시 디바이스에 의해 제공된 특별 판독 커맨드를 필요로 한다.
이러한 제2 실시예는 제1 실시예와 동일한 원리를 사용하고, 또한 별개의 셀에 각 비트를 할당한 상태로 제어 정보를 저장하는 방법을 사용하고, 상기 셀내에 저장된 단일 비트를 나타내기 위한 MBC 셀의 2개의 가장 멀리 분리된 상태를 취한다. 기록에 있어서는 본 발명의 제2 실시예는 제1 실시예와 완전히 동일하다. 단 판독이 어떻게 이루어지는가에 있어서 차이가 날 뿐이다. 제1 실시예가 제어 정보를 검색하기 위한 스탠더드 MBC 모드 판독 커맨드를 사용하지만, 제2 실시예는 본 발명의 셀당 1 비트 방법을 사용하여 기록된 셀을 판독하도록 적용된 특별 판독 커맨드를 채용한다.
스탠더드 MBC 모드 판독 커맨드는 셀의 적어도 4개의 상이한 상태 사이에 분리되어 있어야 한다. 따라서, 스탠더드 MBC 모드 판독 커맨드는 단일 임계전압 비교를 사용하여 MBC 셀의 컨텐츠를 판독할 수 없다. (MBC 셀을 판독하기 위해 필요한 비교의 수에 관련된 이슈를 설명한 레세 '798을 참조하라.) 그러나, 본 발명의 방법이 제어 정보를 저장하기 위해 MBC 셀을 사용하는 방식에 의해 단일 비교만을 사용하여 상기 셀의 켄텐츠를 판독가능하다. 미리 알고 있는 바와 같이, 상기 셀 들이 2개의 상태중 어느 하나에 기록되었고, 상기 셀의 임계전압을 기준 분리된 2개의 상태에 비교하는 판독 커맨드를 구현하는 것이 가능하다(에를 들어, 기준값은 2 비트 MBC의 제2 및 제3 상태 사이에 또는 4비트 MBC의 제8 및 제9 상태 사이에 있도록 설정되어 있다). 이러한 판독 커맨드는 비교의 수가 판독을 실행하는데 걸리는 시간을 결정하는데 있어 주요 요인이기 때문에 제1 실시예에서 제어 정보를 판독하는데 사용된 정규 MBC 모드 판독 커맨드보다 빠르다.
본 발명의 특별 고속 판독 커맨드는 본 발명의 방법에 따라 각각 1 비트를 저장하도록 기록된 셀에 적용될 때 정확한 판독을 제공하도록 보장된다. 이러한 커맨드가 셀 당 하나 보다 많은 비트를 저장하도록 기록된 셀에 적용된다면, 오직 하나의 비트 값만이 각 셀로부터 리턴되고 이 리턴된 값은 무의미할 수도 있다. 이 커맨드는 해당 상태의 하반부로부터 상반부를 분리하도록 설계되어 있지만, 이러한 정보는 반드시 고정되거나 유용할 필요는 없다. 예를 들어, 첸의 인코딩 방식을 사용하는 2 비트 MBC 디바이스에서 이러한 커맨드는 실제로 셀에 저장된 상위 비트의 값을 리턴할 것이다. 만약 해당 2 비트 MBC 디바이스가 (좌측으로부터 우측으로) {"11", "01", "10", "00"}로서 순서지정된 상태를 갖는 방식을 사용한다면 (이것은 라세 '798에 역시 유효한 방식으로 도시되어 있다), 이 커맨드는 셀에 저장된 하위 비트의 값을 리턴할 것이다. 셀당 2보다 많은 비트를 갖는 MBC 셀에서 상기 리턴된 값이 셀에 저장된 비트중 하나를 나타내지 않는 유효한 방식이 존재한다. 그래서, 일반적으로, 1보다 큰 비트를 저장하도록 사용된 셀로부터의 이러한 커맨드에 의해 리턴된 값은 무의미한 것으로 처리할 수 없다.
NAND 플래시 디바이스에 있어서, 제2 실시예가 제어 정보와 연관된 유저 데이터가 아닌 제어 정보를 판독할 필요가 있을 때만 판독 실행 장점을 제공한다는 것에 주목해야 한다. 이러한 경우에 우리는 보다 느린 스탠더드 커맨드를 사용하여 판독에 반대로 고속 커맨드를 사용하여 판독을 실행한다. 그러나, 유저 데이터 및 그 연관된 제어 정보를 함께 판독할 필요가 있는 경우에, 속도에 있어서 아무런 향상이 없다. 유저 데이터가 보다 느린 스탠더드 커맨드를 사용하여 임의의 방법으로 판독되기 때문에, 우리는 제어 정보를 동시에 얻고, 제2 실시예의 특별히 고속인 판독 커맨드를 적용할 필요가 없다.
또 다른 향상: 실시예 3
상기 제시된 제1 및 제2 실시예는 별개의 셀에 각 제어 정보를 저장함으로써, 그리고 "0"을 나타내기 위해 MBC 셀의 최우측 상태를 선택함으로써 제어 정보의 신뢰가능한 저장을 제공한다. "최우측" 상태를 선택함으로써 2개의 유효 상태 사이의 최고로 넓은 이격을 제공할 수 있고 따라서 "1" 상태쪽으로 시간이 흐름에 따라 셀 드리프링하여 에러가 발생할 확률은 최소가 된다.
"최우측" 상태를 사용하는 단계가 셀의 플로팅 게이트로부터의 전하 누설에 의해 유발된 에러를 방지하기 위한 최상의 대책이지만, NAND 플래시 디바이스에서 "오버 프로그래밍"으로서 알려진 에러의 또 다른 잠재적인 원인이 존재한다. NAND 디바이스내의 셀 어레이의 구조 및 오버 프로그래밍 효과의 존재에 대한 원인을 이해하기 위해, 여기에 완전히 제시되어 모든 목적에 대해 언급되어 통합된, "복수 데이터 상태에서 동작되는 비휘발성 메모리의 저장 엘리먼트 사이의 커플링의 효과 를 감소시키기 위한 동작 기술"로 표제된 첸 등의 미국 특허 제6,522,580호를 참조할 수 있다.
오버 프로그래밍은 셀이 "과다하게" 프로그래밍되어 있을 때 일어난다. 이것은 그 임계전압이 임계 전압 분포 그래프내의 최우측 상태(도 1B의 상태 "01"의 우측)보다도 높다는 것을 의미한다. 이러한 현상은 셀을 최우측 상태로 프로그래밍하려고 시도할 때 발생할 수도 있다. 최우측 상태로 기록된 것으로 의미되고 오버 프로그래밍되는 경우가 발생된 셀은 실제로 셀이 판독 프로세스 동안 행해진 모든 비교 동작에서 정확한 결과를 제공할 것이기 때문에 판독 회로에 의해 정확하게 판독될 것이다. 그러나, (첸등에서 볼 수 있는 바와 같이, 길게 연결된 스트링을형성하는) NAND 디바이스내에 플래시 셀이 체이닝된 방식 때문에 오버 플그래밍된 셀은 동일한 체인에 위치된 다른 셀을 판독하는 경우에 에러를 유발한다. 이러한 다른 셀의 각각은 그 실제 상태에 관계없이 최우측 상태에 있는 것처럼 판독될 것이다. 이것은 (그 초고 임계전압으로 인해) 오버 프로그래밍된 셀이 항상 비도전 상태에 있기 때문인데, 이것은 다른 체인이 그 체인을 따라 도전할 수 없게 하고, 판독 회로에 의해 해석된 결과는 최우측 상태로서 여겨진다.
상기를 플래시의 사용자가 알 수 있는 것으로 변환하면, 하나의 페이지내의 오버 프로그래밍된 셀은 모든 셀이 동일한 블록의 다른 페이지내의 동일한 주소에 정확하게 위치되도록 하고 제어 정보를 "0"으로 판독되도록 저장한다. 이전의 실시예의 방법이 그 셀을 최우측 상태로 프로그래밍함으로써 "0"의 값을 갖는 제어 정보 비트를 저장함에 따라 이러한 실시예는 제어 정보를 저장하는 셀의 대부분을 "리스키" 최우측 상태로 기록하기 때문에 오버 프로그래밍에 의해 유발된 에러의 확률을 실제로 증가시킨다. 보통 제어 정보 셀은 모든 페이지내의 동일한 주소내에 위치되어 있어서 제어 정보 셀은 보통 다른 제어 정보 셀과 동일한 체인상에 있게 된다. 따라서, 제어 정보 셀내의 오버 프로그래밍의 확률을 증가시키면 (이웃하는 페이지내의) 다른 제어 정보 셀이 부정확하게 판독될 확률이 증가하게 된다.
본 발명의 제3 실시예는 제어 정보 비트내의 "0"을 나타내기 위해 최우측 상태가 아닌 최우측 상태 다음 상태를 사용하도록 이전 실시예의 방법을 수정함으로써 오버 프로그래밍의 리스크를 상당히 감소시킨다. 최우측 상태 다음의 상태와 같은, 최우측 상태가 아닌 상태로 기록된 셀이 오버 프로그래밍될 확률은 최우측 상태로 기록된 셀이 오버 프로그래밍될 확률보다 훨씬 더 적다. 따라서, 이러한 이전 실시예의 수정은 제어 정보의 신뢰도를 향상시킨다.
이러한 수정을 이전의 방법에 적용할 때 상이한 상태 및 상이한 비트 조합에 의해 "0"이 표시된다는 사실을 반영하기 위해 상기 제공된 기록 및 판독 프로시져를 수정해야만 하지만, 이러한 수정은 수월하고 상기 방법의 기본 원리는 여전히 적응된다.
혹자는 이러한 실시예는 오버 프로그래밍에 의해 유발된 에러의 확률을 감소시키지만, 제어 정보 비트를 인코딩하기 위해 사용된 2개의 상태를 분리시키는 거리를 감소시킴에 따라 플로팅 게이트로부터의 전하 누설에 의해 유발된 에러의 확률을 증가시킨다는 사실을 제기할 수도 있다. 이것은 이득이 손실보다 더 적은 경우가 될 수도 있다. 하지만, 이것은 최우측 상태로부터 그 이웃 상태로 이동함으 로써 셀의 임계 전압에서의 비교적 크고 주목할만한 변화를 유발하는 경우의 2 비트 MBC 디바이스에 대해서만 사실일 수 있다. 그러나, 이러한 실시예를 3 비트 MBC 그리고 심지어 4 비트 MBC 디바이스에 적용할 때 2개의 이웃 상태 사이의 거리에서의 변화는 훨씬 더 적고, 결과적으로 저장 누설에 의해 유발된 에러의 확률에서의 증가는 또한 훨신 더 적고, 심지어는 보통 무시할만 것이 된다. 따라서, 이러한 디바이스에서 이러한 실시예에 의해 제공되는 장점은 임의의 증가된 누설 에러의 단점을 훨씬 능가한다.
제1 실시예에 대하여 통지된 바와 같이, 제2 및 제3 실시예의 방법은 또한 2 비트 MBC 경우에 제한되지 않고 제2 및 제3 실시예 모두에 대해 임의의 MBC 디바이스에 동일하게 적용가능하다는 것을 이해해야만 한다. 이와 마찬가지로, 제2 및 제3 실시예의 방법은 또한 제어 정보가 하나의 셀내에 1보나 많은 비트를 가지고 저장되는 경우에까지 확장될 수 있다.
도면에서, 도 2는 NAND 플래시 디바이스(209)를 포함하는 시스템(20)을 도시하고 있다. 컨트롤러(204)에 의해 제어되는 플래시 디바이스(209)는 호스트(205)에 부착되어 있다. 플래시 디바이스(209)의 메모리의 페이지(113)가 도시되어 있고 페이지(113)는 1 비트/셀의 메모리 셀(210) 및 2 비트/셀의 메모리 셀(212)을 포함한다.
도 3은 본 발명의 일실시예에 따른, 프로세스의 흐름도이다. NAND 플래시 디바이스(209)의 파워업(단계 301) 후에, 예를 들어, 1 비트/셀의 메모리(210)내에 저장된 제어 데이터 및 2 비트/셀의 메모리 셀(212)내에 저장된 유저 데이터를 갖 는 데이터는 페이지(113)내의 2 밀도로 저장된다. 이러한 데이터가 2개의 밀도로 동시에 저장된 후에(단계 303), 판독 커맨드는 보다 낮은 밀도로 즉, 메모리 셀(210)내에 저장된 데이터만을 판독하기 위해 동작되는 컨트롤러(204)에 의해 제공된다(단계 305).
따라서, 상기 내용은 본 발명의 원리를 설명하기 위한 것일 뿐이다. 또한, 수많은 수정 및 변화가 당업자가 용이하기 때문에, 본 발명을 도시되고 설명된 설계 및 동작으로만 제한하는 것은 바람직하지 않고 따라서, 모든 적합한 수정 및 동등물이 본 발명의 범위내에 있을 수 있다.
이와 같이, 당업자는 이러한 개시가 기초한 개념이 본 발명의 복수의 목적을 수행하기 위한 다른 구조, 방법 및 시스템의 설계에 대한 기초로서 용이하게 사용될 수 있다는 것을 이해할 것이다. 따라서, 본 청구범위는 본 발명의 정신 및 범위를 벗어남 없이 이러한 동등한 구성을 포함하는 것으로 생각하는 것은 중요하다.
본 발명이 제한된 수의 실시예에 대하여 설명되었지만, 본 발명의 많은 수정, 변경 및 다른 적용이 가능할 수 있다는 것을 이해할 것이다.

Claims (38)

  1. 데이터 저장 방법에 있어서,
    (a) 각각 복수의 데이터 비트를 저장할 수 있는 복수의 메모리 셀을 포함하는 플래시 메모리 디바이스를 제공하는 단계;
    (b) 적어도 하나의 페이지에 할당되고 셀당 M 비트를 저장하도록 사용된, 상기 메모리 셀 중 적어도 하나의 메모리 셀에 제1 데이터 비트를 저장하는 단계; 및
    (c) 적어도 하나의 페이지에 할당되고 셀당 N 비트를 저장하도록 사용된, 상기 메모리 셀 중 적어도 하나의 다른 메모리 셀에 제2 데이터 비트를 저장하는 단계;를 포함하고,
    상기 제1 데이터 비트를 저장하는 단계 및 제2 데이터 비트를 저장하는 단계는 단일 기록 동작으로 실행되고, 상기 적어도 하나의 페이지는 셀당 M 비트를 가진 상기 메모리 셀의 적어도 하나 및 셀당 N 비트를 가진 상기 다른 메모리 셀의 적어도 하나를 동시에 사용하고, N은 M보다 작은 것을 특징으로 하는 데이터 저장 방법.
  2. 제1항에 있어서, 상기 제1 데이터 비트는 유저 데이터 비트인 것을 특징으로 하는 데이터 저장 방법.
  3. 제1항에 있어서, 상기 제2 데이터 비트는 제어 데이터 비트인 것을 특징으로 하는 데이터 저장 방법.
  4. 제1항에 있어서, N은 1 및 2로 구성된 정수의 그룹으로부터 선택되는 것을 특징으로 하는 데이터 저장 방법.
  5. 제1항에 있어서, N은 1이고, M은 2,3 및 4로 구성된 정수의 그룹으로부터 선택된 정수인 것을 특징으로 하는 데이터 저장 방법.
  6. 제1항에 있어서, N은 2이고, M은 3 및 4로 구성된 정수의 그룹으로부터 선택된 정수인 것을 특징으로 하는 데이터 저장 방법.
  7. 삭제
  8. 제1항에 있어서,
    (d) 단일 판독 동작으로 상기 적어도 하나의 메모리 셀 및 상기 적어도 하나의 다른 메모리 셀을 판독하는 단계를 더 포함하고, 상기 판독하는 단계는 상기 제1 데이터 비트중 적어도 하나 및 상기 제2 데이터 비트중 적어도 하나를 판독하는 것을 특징으로 하는 데이터 저장 방법.
  9. 제1항에 있어서,
    (d) 상기 적어도 하나의 다른 메모리 셀을 단일 판독 동작으로 판독하는 단계를 더 포함하고, 상기 판독하는 단계는 상기 제2 데이터 비트중 적어도 하나를 판독하는 것을 특징으로 하는 데이터 저장 방법.
  10. 제1항에 있어서, 상기 적어도 하나의 다른 메모리 셀은 최대 전압의 유용한 전압 상태를 사용하는 것을 특징으로 하는 데이터 저장 방법.
  11. 제1항에 있어서, 상기 적어도 하나의 다른 메모리 셀은 상기 적어도 하나의 메모리 셀에 의해 사용된 최대 전압의 전압 상태 이외의 유용한 전압 상태를 사용하는 것을 특징으로 하는 데이터 저장 방법.
  12. 제1항에 있어서, 상기 적어도 하나의 다른 메모리 셀은 제2 최대 전압의 유용한 전압 상태를 사용하는 것을 특징으로 하는 데이터 저장 방법.
  13. 제1항에 있어서, 상기 플래시 메모리 디바이스는 NAND 플래시 메모리 디바이스인 것을 특징으로 하는 데이터 저장 방법.
  14. 저장된 데이터 판독 방법에 있어서,
    (a) 각각 M 데이터 비트를 저장할 수 있는 복수의 메모리 셀을 포함하는 플래시 메모리 디바이스를 제공하는 단계; 및
    (b) 페이지의 상기 메모리 셀의 각각으로부터 각각 단일 비트를 단일 커맨드로 판독하는 단계;를 포함하고,
    M은 1보다 큰 정수이고, 상기 메모리 셀중 하나로부터 판독된 상기 단일 비트는 M보다 작은 비트가 상기 하나의 메모리 셀에 저장될 때만 유효한 것을 특징으로 하는 저장된 데이터 판독 방법.
  15. 저장된 데이터 판독 방법에 있어서,
    (a) 각각 M 데이터 비트를 저장할 수 있는 복수의 메모리 셀을 포함하는 플래시 메모리 디바이스를 제공하는 단계; 및
    (b) 상기 메모리 셀의 그룹을 판독하기 위해 판독 커맨드를 제공하는 단계;를 포함하고,
    M은 1보다 큰 정수이고, 상기 판독 커맨드는 상기 그룹의 상기 메모리 셀 각각에 단일 전압 비교를 항상 행하는 것을 특징으로 하는 저장된 데이터 판독 방법.
  16. 제14항에 있어서, M은 2,3 및 4로 구성된 그룹으로부터 선택된 정수인 것을 특징으로 하는 저장된 데이터 판독 방법.
  17. 플래시 메모리 디바이스에 있어서,
    (a) 각각 복수의 데이터 비트를 저장할 수 있는 복수의 메모리 셀; 및
    (b) 셀당 M 비트를 저장하는 적어도 하나의 메모리 셀에 제1 데이터 비트를 저장하고, 셀당 N 비트를 저장하는 적어도 하나의 다른 메모리 셀에 제2 데이터 비트를 저장하는 컨트롤러;를 포함하고, 상기 적어도 하나의 메모리 셀은 적어도 하나의 페이지에 할당되고, 상기 적어도 하나의 다른 셀은 상기 적어도 하나의 페이지에 할당되고, 상기 적어도 하나의 페이지는 셀당 M 비트를 가진 상기 메모리 셀의 적어도 하나 및 셀당 N 비트를 가진 상기 다른 메모리 셀의 적어도 하나를 동시에 사용하고, N은 M보다 작으며,
    상기 컨트롤러는 상기 제1 데이터 비트의 적어도 하나 및 상기 제2 데이터 비트의 적어도 하나를 단일 기록 동작으로 저장하는 것을 특징으로 하는 플래시 메모리 디바이스.
  18. 제17항에 있어서, 상기 제1 데이터 비트는 유저 데이터 비트인 것을 특징으로 하는 플래시 메모리 디바이스.
  19. 제17항에 있어서, 상기 제2 데이터 비트는 제어 데이터 비트인 것을 특징으로 하는 플래시 메모리 디바이스.
  20. 제17항에 있어서, N은 1 및 2로 구성된 정수의 그룹으로부터 선택되는 것을 특징으로 하는 플래시 메모리 디바이스.
  21. 제17항에 있어서, N은 1이고, M은 2, 3 및 4로 구성된 그룹으로부터 선택된 정수인 것을 특징으로 하는 플래시 메모리 디바이스.
  22. 제17항에 있어서, N은 2이고, M은 3 및 4로 구성된 정수의 그룹으로부터 선 택된 정수인 것을 특징으로 하는 플래시 메모리 디바이스.
  23. 삭제
  24. 제17항에 있어서, 상기 컨트롤러는 상기 제2 데이터 비트중 적어도 하나를 단일 판독 동작으로 판독하는 것을 특징으로 하는 플래시 메모리 디바이스.
  25. 제17항에 있어서, 상기 컨트롤러는 최대 전압의 유용한 전압 상태를 사용하여 상기 제2 데이터 비트중 적어도 하나를 저장하는 것을 특징으로 하는 플래시 메모리 디바이스.
  26. 제17항에 있어서, 상기 적어도 하나의 다른 메모리 셀은 상기 적어도 하나의 메모리 셀에 의해 사용된 최대 전압의 전압 상태 이외의 유용한 전압 상태를 사용하는 것을 특징으로 하는 플래시 메모리 디바이스.
  27. 플래시 메모리 디바이스에 있어서,
    (a) 각각 M 데이터 비트를 저장할 수 있는 복수의 메모리 셀; 및
    (b) 페이지의 상기 메모리 셀중 하나로부터 각각 단일 비트를 단일 커맨드로 판독하기 위한 메커니즘;을 포함하고,
    M은 1보다 큰 정수이고, 상기 메모리 셀중 하나로부터 판독된 상기 단일 비트는 M보다 작은 비트가 상기 하나의 메모리 셀에 저장된 때만 유효한 것을 특징으로 하는 플래시 메모리 디바이스.
  28. 제27항에 있어서, M은 2, 3 및 4로 구성된 그룹으로부터 선택된 정수인 것을 특징으로 하는 플래시 메모리 디바이스.
  29. 플래시 메모리 디바이스에 있어서,
    (a) 각각 M 데이터 비트를 저장할 수 있는 복수의 메모리 셀; 및
    (b) 상기 메모리 셀의 그룹을 판독하기 위한 판독 커맨드를 제공하기 위한 메커니즘;을 포함하고,
    상기 판독 커맨드는 상기 그룹의 상기 메모리 셀 각각에 단일 전압 비교를 항상 행하는 것을 특징으로 하는 플래시 메모리 디바이스.
  30. 제29항에 있어서, M은 2, 3 및 4로 구성된 그룹으로부터 선택된 정수인 것을 특징으로 하는 플래시 메모리 디바이스.
  31. 데이터 저장 방법에 있어서,
    (a) 각각 복수의 데이터 비트를 저장할 수 있는 복수의 메모리 셀을 포함하는 플래시 메모리 디바이스를 제공하는 단계;
    (b) 적어도 하나의 페이지에 할당되고 셀당 M 비트를 저장하도록 사용된, 상기 메모리 셀 중 적어도 하나의 메모리 셀에 제1 데이터 비트를 저장하는 단계;
    (c) 적어도 하나의 페이지에 할당되고 셀당 N 비트를 저장하도록 사용된, 상기 메모리 셀 중 적어도 하나의 다른 메모리 셀에 제2 데이터 비트를 저장하는 단계; 및
    (d) 단일 판독 동작으로 상기 적어도 하나의 메모리 셀 및 상기 적어도 하나의 다른 메모리 셀을 판독하는 단계;를 포함하고,
    상기 제1 데이터 비트를 저장하는 단계 및 제2 데이터 비트를 저장하는 단계시에, 상기 적어도 하나의 페이지는 셀당 M 비트를 가진 상기 메모리 셀의 적어도 하나 및 셀당 N 비트를 가진 상기 다른 메모리 셀의 적어도 하나를 동시에 사용하고, N은 M보다 작으며,
    상기 판독하는 단계는 상기 제1 데이터 비트중 적어도 하나 및 상기 제2 데이터 비트중 적어도 하나를 판독하는 것을 특징으로 하는 데이터 저장 방법.
  32. 데이터 저장 방법에 있어서,
    (a) 각각 복수의 데이터 비트를 저장할 수 있는 복수의 메모리 셀을 포함하는 플래시 메모리 디바이스를 제공하는 단계;
    (b) 적어도 하나의 페이지에 할당되고 셀당 M 비트를 저장하도록 사용된, 상기 메모리 셀 중 적어도 하나의 메모리 셀에 제1 데이터 비트를 저장하는 단계;
    (c) 적어도 하나의 페이지에 할당되고 셀당 N 비트를 저장하도록 사용된, 상기 메모리 셀 중 적어도 하나의 다른 메모리 셀에 제2 데이터 비트를 저장하는 단계; 및
    (d) 상기 적어도 하나의 다른 메모리 셀을 단일 판독 동작으로 판독하는 단계;를 포함하고,
    상기 제1 데이터 비트를 저장하는 단계 및 제2 데이터 비트를 저장하는 단계시에, 상기 적어도 하나의 페이지는 셀당 M 비트를 가진 상기 메모리 셀의 적어도 하나 및 셀당 N 비트를 가진 상기 다른 메모리 셀의 적어도 하나를 동시에 사용하고, N은 M보다 작으며,
    상기 판독하는 단계는 상기 제2 데이터 비트중 적어도 하나를 판독하는 것을 특징으로 하는 데이터 저장 방법.
  33. 데이터 저장 방법에 있어서,
    (a) 각각 복수의 데이터 비트를 저장할 수 있는 복수의 메모리 셀을 포함하는 플래시 메모리 디바이스를 제공하는 단계;
    (b) 적어도 하나의 페이지에 할당되고 셀당 M 비트를 저장하도록 사용된, 상기 메모리 셀 중 적어도 하나의 메모리 셀에 제1 데이터 비트를 저장하는 단계; 및
    (c) 적어도 하나의 페이지에 할당되고 셀당 N 비트를 저장하도록 사용된, 상기 메모리 셀 중 적어도 하나의 다른 메모리 셀에 제2 데이터 비트를 저장하는 단계;를 포함하고,
    상기 제1 데이터 비트를 저장하는 단계 및 제2 데이터 비트를 저장하는 단계시에, 상기 적어도 하나의 페이지는 셀당 M 비트를 가진 상기 메모리 셀의 적어도 하나 및 셀당 N 비트를 가진 상기 다른 메모리 셀의 적어도 하나를 동시에 사용하고, N은 M보다 작으며,
    상기 적어도 하나의 다른 메모리 셀은 최대 전압의 유용한 전압 상태를 사용하는 것을 특징으로 하는 데이터 저장 방법.
  34. 데이터 저장 방법에 있어서,
    (a) 각각 복수의 데이터 비트를 저장할 수 있는 복수의 메모리 셀을 포함하는 플래시 메모리 디바이스를 제공하는 단계;
    (b) 적어도 하나의 페이지에 할당되고 셀당 M 비트를 저장하도록 사용된, 상기 메모리 셀 중 적어도 하나의 메모리 셀에 제1 데이터 비트를 저장하는 단계; 및
    (c) 적어도 하나의 페이지에 할당되고 셀당 N 비트를 저장하도록 사용된, 상기 메모리 셀 중 적어도 하나의 다른 메모리 셀에 제2 데이터 비트를 저장하는 단계;를 포함하고,
    상기 제1 데이터 비트를 저장하는 단계 및 제2 데이터 비트를 저장하는 단계시에, 상기 적어도 하나의 페이지는 셀당 M 비트를 가진 상기 메모리 셀의 적어도 하나 및 셀당 N 비트를 가진 상기 다른 메모리 셀의 적어도 하나를 동시에 사용하고, N은 M보다 작으며,
    상기 적어도 하나의 다른 메모리 셀은 상기 적어도 하나의 메모리 셀에 의해 사용된 최대 전압의 전압 상태 이외의 유용한 전압 상태를 사용하는 것을 특징으로 하는 데이터 저장 방법.
  35. 데이터 저장 방법에 있어서,
    (a) 각각 복수의 데이터 비트를 저장할 수 있는 복수의 메모리 셀을 포함하는 플래시 메모리 디바이스를 제공하는 단계;
    (b) 적어도 하나의 페이지에 할당되고 셀당 M 비트를 저장하도록 사용된, 상기 메모리 셀 중 적어도 하나의 메모리 셀에 제1 데이터 비트를 저장하는 단계; 및
    (c) 적어도 하나의 페이지에 할당되고 셀당 N 비트를 저장하도록 사용된, 상기 메모리 셀 중 적어도 하나의 다른 메모리 셀에 제2 데이터 비트를 저장하는 단계;를 포함하고,
    상기 제1 데이터 비트를 저장하는 단계 및 제2 데이터 비트를 저장하는 단계시에, 상기 적어도 하나의 페이지는 셀당 M 비트를 가진 상기 메모리 셀의 적어도 하나 및 셀당 N 비트를 가진 상기 다른 메모리 셀의 적어도 하나를 동시에 사용하고, N은 M보다 작으며,
    상기 적어도 하나의 다른 메모리 셀은 제2 최대 전압의 유용한 전압 상태를 사용하는 것을 특징으로 하는 데이터 저장 방법.
  36. 플래시 메모리 디바이스에 있어서,
    (a) 각각 복수의 데이터 비트를 저장할 수 있는 복수의 메모리 셀; 및
    (b) 셀당 M 비트를 저장하는 적어도 하나의 메모리 셀에 제1 데이터 비트를 저장하고, 셀당 N 비트를 저장하는 적어도 하나의 다른 메모리 셀에 제2 데이터 비트를 저장하는 컨트롤러;를 포함하고, 상기 적어도 하나의 메모리 셀은 적어도 하나의 페이지에 할당되고, 상기 적어도 하나의 다른 셀은 상기 적어도 하나의 페이지에 할당되고, 상기 적어도 하나의 페이지는 셀당 M 비트를 가진 상기 메모리 셀의 적어도 하나 및 셀당 N 비트를 가진 상기 다른 메모리 셀의 적어도 하나를 동시에 사용하고, N은 M보다 작으며,
    상기 컨트롤러는 상기 제2 데이터 비트중 적어도 하나를 단일 판독 동작으로 판독하는 것을 특징으로 하는 플래시 메모리 디바이스.
  37. 플래시 메모리 디바이스에 있어서,
    (a) 각각 복수의 데이터 비트를 저장할 수 있는 복수의 메모리 셀; 및
    (b) 셀당 M 비트를 저장하는 적어도 하나의 메모리 셀에 제1 데이터 비트를 저장하고, 셀당 N 비트를 저장하는 적어도 하나의 다른 메모리 셀에 제2 데이터 비트를 저장하는 컨트롤러;를 포함하고, 상기 적어도 하나의 메모리 셀은 적어도 하나의 페이지에 할당되고, 상기 적어도 하나의 다른 셀은 상기 적어도 하나의 페이지에 할당되고, 상기 적어도 하나의 페이지는 셀당 M 비트를 가진 상기 메모리 셀의 적어도 하나 및 셀당 N 비트를 가진 상기 다른 메모리 셀의 적어도 하나를 동시에 사용하고, N은 M보다 작으며,
    상기 컨트롤러는 최대 전압의 유용한 전압 상태를 사용하여 상기 제2 데이터 비트중 적어도 하나를 저장하는 것을 특징으로 하는 플래시 메모리 디바이스.
  38. 플래시 메모리 디바이스에 있어서,
    (a) 각각 복수의 데이터 비트를 저장할 수 있는 복수의 메모리 셀; 및
    (b) 셀당 M 비트를 저장하는 적어도 하나의 메모리 셀에 제1 데이터 비트를 저장하고, 셀당 N 비트를 저장하는 적어도 하나의 다른 메모리 셀에 제2 데이터 비트를 저장하는 컨트롤러;를 포함하고, 상기 적어도 하나의 메모리 셀은 적어도 하나의 페이지에 할당되고, 상기 적어도 하나의 다른 셀은 상기 적어도 하나의 페이지에 할당되고, 상기 적어도 하나의 페이지는 셀당 M 비트를 가진 상기 메모리 셀의 적어도 하나 및 셀당 N 비트를 가진 상기 다른 메모리 셀의 적어도 하나를 동시에 사용하고, N은 M보다 작으며,
    상기 적어도 하나의 다른 메모리 셀은 상기 적어도 하나의 메모리 셀에 의해 사용된 최대 전압의 전압 상태 이외의 유용한 전압 상태를 사용하는 것을 특징으로 하는 플래시 메모리 디바이스.
KR1020077016394A 2005-01-10 2006-01-03 향상된 신뢰도 및 성능을 갖는 멀티 비트 셀 플래시 메모리관리 방법 KR100912612B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US64205505P 2005-01-10 2005-01-10
US60/642,055 2005-01-10
US11/090,177 US7308525B2 (en) 2005-01-10 2005-03-28 Method of managing a multi-bit cell flash memory with improved reliablility and performance
US11/090,177 2005-03-28

Publications (2)

Publication Number Publication Date
KR20070101277A KR20070101277A (ko) 2007-10-16
KR100912612B1 true KR100912612B1 (ko) 2009-08-17

Family

ID=36647862

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077016394A KR100912612B1 (ko) 2005-01-10 2006-01-03 향상된 신뢰도 및 성능을 갖는 멀티 비트 셀 플래시 메모리관리 방법

Country Status (3)

Country Link
US (1) US7308525B2 (ko)
KR (1) KR100912612B1 (ko)
WO (1) WO2006072945A2 (ko)

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101194238B (zh) * 2005-06-24 2010-05-19 松下电器产业株式会社 存储器控制器、非易失性存储装置、非易失性存储系统及数据写入方法
JP4575288B2 (ja) * 2005-12-05 2010-11-04 株式会社東芝 記憶媒体、記憶媒体再生装置、記憶媒体再生方法および記憶媒体再生プログラム
US8156403B2 (en) 2006-05-12 2012-04-10 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
WO2007132456A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
US7697326B2 (en) 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
US7518914B2 (en) * 2006-08-07 2009-04-14 Micron Technology, Inc. Non-volatile memory device with both single and multiple level cells
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7821826B2 (en) 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
US7975192B2 (en) 2006-10-30 2011-07-05 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7924648B2 (en) 2006-11-28 2011-04-12 Anobit Technologies Ltd. Memory power and performance management
WO2008068747A2 (en) 2006-12-03 2008-06-12 Anobit Technologies Ltd. Automatic defect management in memory devices
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
JP4563992B2 (ja) * 2006-12-26 2010-10-20 株式会社京都ソフトウェアリサーチ 多値フラッシュメモリおよび多値フラッシュメモリへのデータ書き込み方法
US8391061B2 (en) * 2006-12-29 2013-03-05 Intel Corporation Flash memory and associated methods
US20080158986A1 (en) * 2006-12-29 2008-07-03 Daniel Elmhurst Flash memory and associated methods
KR100850515B1 (ko) * 2007-01-24 2008-08-05 삼성전자주식회사 멀티레벨 셀 플래시 메모리를 갖는 메모리 시스템 및그것의 프로그램 방법
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
US7646636B2 (en) * 2007-02-16 2010-01-12 Mosaid Technologies Incorporated Non-volatile memory with dynamic multi-mode operation
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8001320B2 (en) 2007-04-22 2011-08-16 Anobit Technologies Ltd. Command interface for memory devices
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8429493B2 (en) 2007-05-12 2013-04-23 Apple Inc. Memory device with internal signap processing unit
US7525870B2 (en) 2007-05-21 2009-04-28 Sandisk Il, Ltd. Methods for optimizing page selection in flash-memory devices
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
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
US7545673B2 (en) * 2007-09-25 2009-06-09 Sandisk Il Ltd. Using MLC flash as SLC by writing dummy data
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
US8165621B2 (en) * 2007-10-10 2012-04-24 Unity Semiconductor Corporation Memory emulation in a cellular telephone
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8270246B2 (en) 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
US8225181B2 (en) 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
US8209588B2 (en) 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
KR101406279B1 (ko) * 2007-12-20 2014-06-13 삼성전자주식회사 반도체 메모리 장치 및 그것의 읽기 페일 분석 방법
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
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
US8059457B2 (en) 2008-03-18 2011-11-15 Anobit Technologies Ltd. Memory device with multiple-accuracy read commands
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US7729166B2 (en) * 2008-07-02 2010-06-01 Mosaid Technologies Incorporated Multiple-bit per cell (MBC) non-volatile memory apparatus and system having polarity control and method of programming same
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US7924613B1 (en) 2008-08-05 2011-04-12 Anobit Technologies Ltd. Data storage in analog memory cells with protection against programming interruption
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
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
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
DE102008057681B3 (de) * 2008-11-17 2009-12-10 Giesecke & Devrient Gmbh Verfahren zum sicheren Speichern von Daten in einem Speicher eines tragbaren Datenträgers
US8332577B2 (en) * 2008-12-10 2012-12-11 Sandisk Technologies Inc. Program control of a non-volatile memory
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
TWI397071B (zh) * 2008-12-31 2013-05-21 A Data Technology Co Ltd 記憶體儲存裝置及其控制方法
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
US8228701B2 (en) 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
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
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
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
US8874935B2 (en) * 2011-08-30 2014-10-28 Microsoft Corporation Sector map-based rapid data encryption policy compliance
US9588883B2 (en) * 2011-09-23 2017-03-07 Conversant Intellectual Property Management Inc. Flash memory system
US8995184B2 (en) 2012-12-06 2015-03-31 Sandisk Technologies Inc. Adaptive operation of multi level cell memory
US20140344570A1 (en) 2013-05-20 2014-11-20 Microsoft Corporation Data Protection For Organizations On Computing Devices
US9361220B2 (en) 2013-09-17 2016-06-07 Sandisk Technologies Inc. Apparatus and method of using dummy data while storing data at a multi-bit storage element
US9406385B2 (en) 2013-09-17 2016-08-02 Sandisk Technologies Llc Apparatus and method of storing data at a multi-bit storage element
US10615967B2 (en) 2014-03-20 2020-04-07 Microsoft Technology Licensing, Llc Rapid data protection for storage devices
US9825945B2 (en) 2014-09-09 2017-11-21 Microsoft Technology Licensing, Llc Preserving data protection with policy
US9853812B2 (en) 2014-09-17 2017-12-26 Microsoft Technology Licensing, Llc Secure key management for roaming protected content
US9900295B2 (en) 2014-11-05 2018-02-20 Microsoft Technology Licensing, Llc Roaming content wipe actions across devices
US9679652B2 (en) * 2015-05-04 2017-06-13 Phison Electronics Corp. Threshold based multi-level cell programming for reliability improvement
US9853820B2 (en) 2015-06-30 2017-12-26 Microsoft Technology Licensing, Llc Intelligent deletion of revoked data
US10096355B2 (en) * 2015-09-01 2018-10-09 Sandisk Technologies Llc Dynamic management of programming states to improve endurance
US9900325B2 (en) 2015-10-09 2018-02-20 Microsoft Technology Licensing, Llc Passive encryption of organization data
US9418731B1 (en) * 2015-11-06 2016-08-16 Phison Electronics Corp. Memory management method, memory storage device and memory control circuit unit
JP2018160056A (ja) * 2017-03-22 2018-10-11 東芝メモリ株式会社 メモリコントローラ、メモリシステムおよび制御方法
KR102261816B1 (ko) 2017-12-05 2021-06-07 삼성전자주식회사 데이터 신뢰성을 향상한 불휘발성 메모리 장치 및 그 동작방법
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930167A (en) * 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5043940A (en) 1988-06-08 1991-08-27 Eliyahou Harari Flash EEPROM memory systems having multistate storage cells
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
DE4244462A1 (de) * 1992-12-24 1994-06-30 Equicon Software Gmbh Jena Verfahren zur Generierung von ebenen technischen Kurven oder Konturen
US5404485A (en) 1993-03-08 1995-04-04 M-Systems Flash Disk Pioneers Ltd. Flash file system
US5515317A (en) * 1994-06-02 1996-05-07 Intel Corporation Addressing modes for a dynamic single bit per cell to multiple bit per cell memory
US5541886A (en) * 1994-12-27 1996-07-30 Intel Corporation Method and apparatus for storing control information in multi-bit non-volatile memory arrays
US5802553A (en) * 1995-12-19 1998-09-01 Intel Corporation File system configured to support variable density storage and data compression within a nonvolatile memory
US5937425A (en) 1997-10-16 1999-08-10 M-Systems Flash Disk Pioneers Ltd. Flash file system optimized for page-mode flash technologies
KR100332950B1 (ko) * 1998-04-10 2002-08-21 삼성전자 주식회사 단일비트동작모드와다중비트동작모드를갖는불휘발성반도체메모리장치및그것의기입/독출방법
JP4282197B2 (ja) * 2000-01-24 2009-06-17 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
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
JP3631463B2 (ja) 2001-12-27 2005-03-23 株式会社東芝 不揮発性半導体記憶装置
US6522580B2 (en) 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6678785B2 (en) 2001-09-28 2004-01-13 M-Systems Flash Disk Pioneers Ltd. Flash management system using only sequential write
US6977847B2 (en) 2001-11-23 2005-12-20 M-Systems Flash Disk Pioneers Ltd. Detecting partially erased units in flash devices
US6807106B2 (en) * 2001-12-14 2004-10-19 Sandisk Corporation Hybrid density memory card
US7882502B2 (en) * 2004-05-25 2011-02-01 Sap Ag Single file update

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5930167A (en) * 1997-07-30 1999-07-27 Sandisk Corporation Multi-state non-volatile flash memory capable of being its own two state write cache

Also Published As

Publication number Publication date
WO2006072945A3 (en) 2007-01-25
KR20070101277A (ko) 2007-10-16
US20060155919A1 (en) 2006-07-13
WO2006072945A2 (en) 2006-07-13
US7308525B2 (en) 2007-12-11

Similar Documents

Publication Publication Date Title
KR100912612B1 (ko) 향상된 신뢰도 및 성능을 갖는 멀티 비트 셀 플래시 메모리관리 방법
US12119054B2 (en) Lifetime mixed level non-volatile memory system
KR101556779B1 (ko) 저장 장치의 액세스 방법
KR101418631B1 (ko) 고체상태 저장 장치 내 전환 레이어
KR101456474B1 (ko) 플래시 메모리에서 오류를 방지하는 방법
US7366013B2 (en) Single level cell programming in a multiple level cell non-volatile memory device
KR100946286B1 (ko) 플래시 파일 시스템에서 가상-물리 주소 변환 방법 및 시스템
JP2019168937A (ja) メモリシステム、制御方法及びコントローラ
JP5497754B2 (ja) アドホックフラッシュメモリ基準セル
US20040151031A1 (en) Nonvolatile semiconductor memory
JP2018190483A (ja) 低キュー深度環境における、nレベルのnand型フラッシュセルのプログラミング
US10055267B2 (en) Block management scheme to handle cluster failures in non-volatile memory
US9123443B2 (en) Memory device, memory management device, and memory management method
US9342446B2 (en) Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
CN109727627B (zh) 组读取刷新
KR100282679B1 (ko) 반도체메모리 및 정보기억장치
US8995183B2 (en) Data retention in nonvolatile memory with multiple data storage formats
KR20120052216A (ko) 위성 파일 시스템을 구비한 멀티-뱅크 비휘발성 메모리 시스템
KR101070511B1 (ko) Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법
KR101027687B1 (ko) 라이트 동작을 제어하는 반도체 스토리지 시스템 및 그 제어 방법
US20240249755A1 (en) Temperature based block read
KR20210100790A (ko) 스토리지 장치 및 스토리지 장치의 동작 방법

Legal Events

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

Payment date: 20120727

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130723

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20140721

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20150716

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160720

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 10