KR100982481B1 - 프론트 메모리 저장 시스템 및 방법 - Google Patents

프론트 메모리 저장 시스템 및 방법 Download PDF

Info

Publication number
KR100982481B1
KR100982481B1 KR1020087007413A KR20087007413A KR100982481B1 KR 100982481 B1 KR100982481 B1 KR 100982481B1 KR 1020087007413 A KR1020087007413 A KR 1020087007413A KR 20087007413 A KR20087007413 A KR 20087007413A KR 100982481 B1 KR100982481 B1 KR 100982481B1
Authority
KR
South Korea
Prior art keywords
memory cells
group
memory
bits
cells
Prior art date
Application number
KR1020087007413A
Other languages
English (en)
Other versions
KR20080038441A (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 KR20080038441A publication Critical patent/KR20080038441A/ko
Application granted granted Critical
Publication of KR100982481B1 publication Critical patent/KR100982481B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • 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/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • G11C16/3495Circuits or methods to detect or delay wearout of nonvolatile EPROM or EEPROM memory devices, e.g. by counting numbers of erase or reprogram cycles, by using multiple memory areas serially or cyclically
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7211Wear leveling
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Read Only Memory (AREA)

Abstract

플래시 메모리 저장 시스템(10)은 복수의 메모리 셀(14)을 포함한 메모리 어레이(12), 및 플래시 메모리 어레이(12)를 컨트롤하기 위한 컨트롤러(16)를 포함한다. 컨트롤러(16)는 셀당 제1비트수로 동작하기 위한 제1그룹의 메모리 셀, 및 셀당 제2비트수로 동작하기 위한 제2의, 개별 그룹의 메모리 셀(14)을 제공한다. 메모리 셀(14)이 균일하게 마모되도록 두 그룹의 셀에 개별적으로 마모 레벨링 기술을 적용하기 위한 메카니즘이 제공된다.
Figure R1020087007413
플래시 메모리 저장 시스템, 컨트롤러, 메모리 어레이, 제1비트수, 제2비트수, 마모 레벨링 기술.

Description

프론트 메모리 저장 시스템 및 방법{FRONT MEMORY STORAGE SYSTEM AND METHOD}
본 발명은 일반적으로 플래시 메모리 저장 시스템에 관한 것이다. 더욱 상세하게는, 본 발명은 메모리 셀당 복수의 비트를 저장할 수 있는 캐시 메모리 메카니즘을 포함하는 플래시 메모리 저장 시스템에 관한 것이다.
멀티-레벨 셀(MLC) 플래시 메모리로 구현된 플래시 메모리 시스템은 각각의 메모리 셀에 1비트 이상의 데이터를 저장하기 위해 제공된다. MLC 플래시 메모리에 데이터를 기록하는 것은 셀당 1비트의 데이터만 저장하는 단일-레벨 셀(SLC)에 데이터를 기록하는 것보다 느린 것이 전형적이다. 그러므로, MLC 플래시 메모리 기반의 저장 시스템은 더 빠른 기록 속도로 그것으로 전송되어 입력되는 데이터의 스트림을 기록할 수 없을 수 있다.
전형적으로, 직접적으로 저장되기에 너무 빠른 속도로 데이터가 제공되는 경우에, 캐시 메모리 메카니즘이 제공되고, 입력되는 데이터 스트림을 처리하기에 충분히 고속으로 동작하도록 설계된다. (더 빠른) 제2메모리를 사용하는 캐시 메모리는 입력 데이터 소스와 (더 느린) 메인 메모리 사이에 구현된다. 입력 데이터 스트림은 더 빠른 캐시 메모리에 먼저 기록되고, 다음 단계에서 더 빠른 캐시 메모 리로부터 메인 메모리로 복사된다. 복사 오퍼레이션은 전형적으로 백그라운드에서 수행되기 때문에, 입력 데이터 스트림 속도에 의해 부과된 엄격한 성능 조건을 만족할 필요가 없고, 그러므로, 메인 메모리의 더 낮은 기록 성능이 더 이상 문제가 되지 않는다.
그러나, 캐싱을 위한 제2메모리의 구현은 단점을 가진다. 이러한 구현은 캐싱 메모리를 위한, 그리고 그것의 컨트롤을 위한 추가적인 컴포넌트를 필요로 하고, 메모리 시스템의 설계 및 관리가 복잡하다.
종래기술은 MLC 플래시 메모리 내에 캐싱의 장점의 달성하지만 그 단점은 줄인 플래시 메모리 저장 시스템에서 기록 오퍼레이션을 캐싱하기 위한 메모리 방법 및 시스템을 개시한, 'Lee et al.'의 미국특허번호 제5,930,167호를 포함한다. MLC 플래시 메모리 매체는 그 자신의 캐시 메모리로서 동작하도록 구성된다. 이것은 복수의 비트를 저장하는 메모리 셀이 SLC 메모리 셀과 유사하게 동작하도록 그리고 기술적 관점에서 더 쉬운 태스크인, 각각 단일 비트만 저장하도록 더 구형될 수 있기 때문에 가능하다. 결과적으로, MLC 메모리 셀은 SLC 플래시 메모리를 특징화하는 더 빠른 기록 성능을 달성하기 위해 구현될 수 있다.
'Lee et al.'의 것과 같은 공지 기술은 MLC 플래시 메모리 저장 시스템 내에 내장된 "빌트-인" 고속 캐시 메모리를 제공한다. 데이터 비트가 저장을 위해 수신된 때, 그들은 먼저 SLC 모드로 동작하도록 설정된 메모리 셀에 기록된다. 이러한 제1기록 오퍼레이션은 비교적 고속으로 수행될 수 있다. 이 오퍼레이션에 후속하여, 백그라운드에서, 그리고 시간이 허용할 때, 그 데이터 비트는 SLC 셀에서부터 MLC 모드로 동작하도록 설정된 MLC 셀로 복사된다. 그러므로, 시스템이 더 높은 저장 밀도의 MLC 플래시 메모리 저장 시스템을 사용하도록 설계되었을 때, 캐시 메모리 메카니즘 없이 처리될 수 없는 더 빠른 입력 스트림을 처리한다.
이러한 SLC 캐싱 스킴을 사용하고, 플래시 메모리 시스템을 구성하기 위한 두 가지 가능한 방법이 있다:
A. 지정 캐시 - 메모리 셀의 특정 부분은 항상 SLC 모드로 동작하도록 할당되어 있고, 다른 셀은 MLC 모드로만 동작하도록 할당되어 있다. 즉, SLC 모드로 동작하는 메모리 셀(SLC 셀) 및 MLC 모드로 동작하는 메모리 셀(MLC 셀)은 동시에 그 저장 시스템 내에 존재하지만, 각각의 특정 메모리 셀은 SLC 모드, 또는 MLC 모드 중 하나로 동작하도록 할당되고, 한 시점에 SLC 모드로 동작하고, 다른 시점에 MLC 모드로 동작하도록 바뀌어 할당될 수 없다.
B. 혼합 캐시 - 적어도 메모리 셀의 일부는 시스템 동작 중에 모드를 변환한다. 즉 - 특정 메모리 셀은 한 시점에 SLC 모드로 동작하도록 할당되고, 데이터를 케싱하기 위해 사용될 수 있고, 제2시점에서 동일한 메모리 셀은 MLC 모드로 동작하도록 할당되고, 메인 메모리에 고밀도 데이터 저장을 위해 사용될 수 있다.
지정 캐시 방법은 혼합 캐시 방법보다 플래시 메모리 시스템을 관리하는 것이 훨씬 더 간단하다. 메모리 셀의 각각의 부분은 SLC 모드 또는 MLC 모드 중 하나로 동작하도록 미리-할당된다. 그러므로, 실시간 모드 스위칭이 요구되지 않는다. 또한, 임의의 메모리 부분의 현재 동작 모드를 저장하고 탐지하기 위한 정보 관리 모듈을 제공할 필요성이 없다.
이러한 장점이 분명함에도 불구하고, Lee 특허는 더 복잡한 혼합 캐시 방법을 적용하는 저장 시스템을 개시한다, 2단 49줄:
"플래시 메모리 EEPROM의 일부분을 기록 캐시로서만 동작하도록 지정하는 것이 필수적이지 않고 ... 그러므로, 고밀도로 데이터를 저장하는 본 발명의 플래시 EEPROM 메모리의 일부분은 또한 기록 캐시로서 동작될 수 있다 ... 장기간, 고밀도 저장을 위해 사용되는 메모리 섹터를 식별하는 것은 저밀도의 입력되는 데이터를 사용되지 않는 섹터로 다이렉팅 가능하기 위해, 파일 할당 테이블에 의한 것과 같이, 유지된다."
더 복잡한 혼합 캐시 방법을 사용하는 예가 Lee 특허에 더 주어져 있다, 2단 51줄:
"기록 버퍼로 지정된 메모리 부분의 사용은 그 부분 내의 셀이 메모리의 다른 부분 보다 훨씬 더 많이 사용되게 하고, 이는 메모리를 균일하게 마모시키고자 하는 일반적인 바램과 대조된다."
즉, 입력되는 데이터의 각 정크는 한번은 (캐싱될 때) SLC 모드로, 한번은 (메인 메모리에 복사될 때) MLC 모드로 두 번 기록되기 때문에, 그리고, 전형적으로 캐시 메모리로 할당된 메모리 셀 부분은 메인 메모리에 할당된 부분 보다 훨씬 더 작기 때문에, 캐시 메모리에만 할당된 메모리 셀은 평균적으로 오버타임?하고, 메인 메모리에만 할당된 메모리 셀보다 더 빈번하게 삭제될 것이다.
플래시 메모리 셀은 사용시, 즉 그들이 더 많은 기록/삭제 사이클을 겪을수록, 마모되는 것으로 공지되어 있다. 그러므로, Lee에 따라, 지정 캐시 방법에 따 라 캐시에 할당된 메모리 셀은 다른 메모리 셀보다 훨씬 빠르게 마모될 것이고, 그것의 수명(즉, 그것의 사용가능한 기능적 용량)을 다할 것이지만, 캐시를 위해 사용되지 않는 셀은 여전히 잘 작동한다.
그러므로, Lee 특허는 캐시 내에 일정하게 자주 사용되는 셀이 없도록, 모든 메모리 셀에 걸쳐 마모를 균일하게 분포시키기 위해 혼합 캐시 방법을 적용한다.
실제로, Lee 특허는 지정 방법을 사용하는 것에 반대하는 그것의 논증이 강화할 수 있다, 3단 2줄:
"저밀도 프로그래밍의 경우는 고밀도 프로그래밍의 경우보다 많은 마모를 발생할 수 있기 때문에..."
그러므로, 캐시 메모리의 메모리 셀은 더욱 빈번하게 기록되는, 그리고 더욱 빨리 마모시키는 경향이 있음은 물론, Lee 특허에 따라, 심지어 동일한 횟수의 기록/삭제 사이클에서도 - SLC 모드로 동작하도록 구성된 메모리 셀이 MLC 모드로 동작하도록 구성된 메모리 셀보다 더 빨리 마모된다.
또한, Lee 특허는 지정 캐시 방법이 적용될 수 있는 한 경우가 있음을 언급한다, 9단 44줄:
"대안으로서, 메모리 시스템의 사용이 이러한 마모 레벨링을 요구할 만큼 충분히 클 것으로 예상되지 않는 어플리케이션에서, 임의의 블록 또는 섹터는 초기의 두-상태 데이터 기록을 위해 지정될 수 있다."
즉, 저장 시스템이 마모 레벨링 기술을 사용하지 않고도, 마모될 것으로 예상되는 메모리 셀이 없을 만큼 빈번하지 않게 기록된다면, 지정 캐시 방법을 적용 하는 것이 가능하다.
모든 메모리 블록에 걸쳐 마모를 균일하게 분포시키기 위한 마모 레벨링을 달성하기 위한 기술이 공지되어 있다. 그들은 'Lofgren et al.'의 미국특허번호 제6,230,233호, 'Wells'의 미국특허번호 제5,341,339호, 'Jou et al.'의 미국특허번호 제5,568,423호, 'Assar et al.'의 미국특허번호 제5,388,083호, 'Harari'의 미국특허번호 제5,712,819호, 제6,570,790호, 및 제5,963,480호, 및 'Chang et al.'의 미국특허번호 제6,831,865호를 포함한다. 이들 특허는 모두 본 명세서에 참조로써 완전히 합치되었다.
상술된 모든 종래기술의 접근법은 각각의 플래시 메모리 셀이 겪는 기록/삭제 사이클의 횟수를 카운팅하는 것을 기초로 하고, 새로운 블록이 기록을 위해 필요할 때 어떤 블록을 할당할 것인지 결정하기 위해 카운트를 사용한다. 실제로, Lee는 이러한 접근법을 사용하여, 각각의 블록에 대한 개별 SLC 카운트 및 MLC 카운트를 유지하는 단계를 더 발전시켰다.
요약하자면, Lee 특허에 따라 - 이러한 셀프-캐시 MLC/SLC 플래시 메모리 시스템의 설계자는 다음 대안들 중 하나를 선택할 수 있다:
A. 혼합 캐시 방법을 사용하고, 마모 레벨링 기술을 사용하고, 그리고 빈번한 기록을 견딜 수 있는 저장 시스템을 얻는다. 이것이 주로 추천되는 접근법이다.
B. 지정 캐시 방법을 사용하고, 마모 레벨링 기술을 사용하지 않고, 데이터의 기록이 빈번하지 않을 때만 사용될 수 있는 저장 시스템을 확보한다.
그러나, 이러한 접근법의 주요 단점은 혼합 캐시 방법은 실시간 모드 스위칭 관리가 필요하기 때문에, 달성하고 처리하는 것이 훨씬 더 복잡하다는 것이다.
그러므로, 메모리 셀에 빈번하게 기록함으로써 발생되는 마모 문제를 극복하고, 지정 캐시 방법을 사용하는 저장 시스템을 제공하는 것이 바람직하다.
따라서, 본 발명의 주된 목적은 지정 캐시 방법을 채용하기 위해 사용되는 종래 기술의 단점을 극복함과 동시에, 메모리 셀에 빈번하게 기록함으로써 발생되는 마모 문제를 극복하는 것이다.
제안된 플래시 메모리 저장 시스템은 두 그룹의 메모리 셀을 갖춘 플래시 메모리 어레이를 포함한다. 컨트롤러는 제1그룹의 메모리 셀을 SLC 모드로, 제2그룹의 메모리 셀을 MLC 모드로 동작함으로써 플래시 메모리 어레이를 컨트롤하기 위해 제공된다. MLC 모드로 동작하는 메모리 셀(MLC 셀)은 SLC 셀보다 큰 수의 비트를 포함하고, 두 그룹의 메모리 셀의 비트는 중첩되지 않는다.
본 발명의 바람직한 실시예에 따라, 컨트롤러 및 메모리 어레이를 갖춘 플래시 메모리 저장 시스템 내에 데이터를 저장하기 위한 플래시 메모리 저장 시스템 및 방법이 제공되어 있고, 이 방법은:
각각의 제1그룹의 메모리 셀이 제1비트수를 저장하도록, 지정하는 단계;
각각의 제2그룹의 메모리 셀이 제2비트수를 저장하도록, 메모리 어레이의 제2그룹의 메모리 셀을 지정하는 단계;
제1그룹의 메모리 셀에 데이터를 저장하는 단계;
제1그룹의 메모리 셀로부터 제2그룹의 메모리 셀로 데이터를 복사하는 단계; 및
자체 내에 제1그룹의 메모리 셀의 마모를 균일하게 분포시키기 위해 제1그룹의 메모리 셀에 제1마모 레벨링 기술을 적용하는 단계를 포함하고,
여기서, 제2비트수는 제1비트수 보다 더 크고, 제1그룹의 메모리 셀과 제2그룹의 메모리 셀은 중첩되지 않는다.
본 발명의 다른 방법에 따라, 제1비트수는 1이고, 제2비트수는 2이다.
본 발명의 다른 방법에 따라, 제1비트수는 1이고, 제2비트수는 4이다.
본 발명의 다른 방법에 따라, 제2그룹의 셀의 개수와 제1그룹의 셀의 개수 간의 비율은 제1비트수와 제2비트수 간의 비율이 곱해진 제2그룹의 메모리 셀의 내구성과 제1그룹의 메모리 셀의 내구성 간의 비율과 대략 동일하게 설정된다.
본 발명의 다른 방법에 따라, 자체 내에 제2그룹의 메모리 셀의 마모를 균일하게 분포시키기 위해 제2그룹의 메모리 셀에 제2마모 레벨링 기술을 적용하는 단계를 더 포함한다.
본 발명의 다른 실시예에 따라,
복수의 메모리 셀을 포함하는 메모리 어레이;
제1그룹의 메모리 셀을 셀당 제1비트수를 저장하도록 지정하고, 제2그룹의 메모리 셀을 셀당 제2비트수를 저장하도록 지정함으로써, 플래시 메모리를 컨트롤하는 컨트롤러; 및
자체 내에 제1그룹의 메모리 셀의 마모를 균일하게 분산시키기 위해 제1그룹의 메모리 셀에 제1마모 레벨링 기술을 적용하는 메카니즘을 포함하고, 여기서, 제2비트수는 제1비트수 보다 크고, 제1그룹의 메모리 셀과 제2그룹의 메모리 셀이 중첩되지 않는 플래시 메모리 저장 시스템이 제공되어 있다.
본 발명의 부가적인 특징 및 장점은 다음의 도면 및 설명을 통해 명백해질 것이다.
그것의 실시예에 대하여 본 발명을 더 잘 이해하기 위해, 첨부된 도면을 참조하고, 유사한 참조 번호는 대응 색션 또는 엘리먼트를 의미한다:
단일 도면은 본 발명의 바람직한 실시예에 따른, 제안된 플래시 메모리 저장 시스템을 포함하는 컴포넌트의 블럭 다이어그램을 도시한다.
본 발명은 지정 캐시 방법을 사용하고, 메모리 셀에 빈번하게 기록함으로써 발생하는 마모 문제를 극복한 혁신적인 플래시 메모리 저장 시스템을 개시한다.
제안된 플래시 메모리 저장 시스템은 두 그룹의 메모리 셀을 갖춘 플래시 메모리 어레이를 포함한다. 컨트롤러는 제1그룹의 메모리 셀을 SLC 모드로 동작하고, 제2그룹의 메모리 셀을 MLC 모드로 동작함으로써 플래시 메모리 어레이를 컨트롤하기 위해 제공된다. MLC 모드로 동작하는 메모리 셀(MLC 셀)은 SLC 셀보다 큰 수의 비트를 포함하고, 두 그룹의 메모리 셀의 비트는 중첩되지 않는다(즉, 두 그룹의 메모리 셀이 겹치지 않는다, 공통의 엘리먼트를 가지지 않는다). 형식에 관 계없이, 두 그룹은 양 그룹에 속하는 대상이 없다면, 중첩되지 않는다.
지정 캐싱 방법에 따라, 메모리 셀의 특정 부분은 항상 SLC 모드로 동작하도록 할당되어 있고, 다른 메모리 셀은 MLC 모드로만 동작하도록 할당되어 있다. 즉, 각각의 특정 메모리 셀은 SLC 모드 또는 MLC 중 하나로 동작하도록 할당되어 있고, 대안으로서 한 시점에서 SLC 모드로, 그리고 다른 시점에서 MLC 모드로 동작하도록 할당될 수 없다.
메모리 셀의 특정 부분을 항상 특정 모드로 동작하도록 지정하는 것은 실시간 모드 스위칭 기술을 수행할 필요성을 절약한다. 또한, 메모리 셀의 현재 동작 모드를 식별하기 위해 요구되는 정보 관리를 제공할 필요도 없다. 그러므로, 설계의 전체 복잡도가 단순화된다.
SLC 모드로 동작하도록 설정된 메모리 셀(즉, SLC 셀)은 그들이 MLC 모드로 동작하도록 설정되었을 때(즉, MLC 셀) 보다 훨씬 덜 마모된다. 이는 MLC 셀의 훨씬 더 긴 동작시간이 이들 메모리 셀에 더 스트레스를 가하고, 마모를 증가시키기 때문이다.
또한, MLC 플래시 메모리 저장 시스템 내의 SLC 셀의 마모 특성은 전형적인 SLC 플래시 메모리 저장 시스템 내의 SLC 셀과 유사하다. 예를 들어, 전형적인 SLC 플래시 메모리 저장 시스템은 MLC 플래시 메모리 저장 시스템 내의 단 10,000 프로그램/삭제 사이클과 비교되는 100,000 프로그램/삭제 사이클의 내구성을 가진다.
(MLC 모드 보다) SLC 모드로 동작할 때 더 높은 마모의 존재에 관한 lee 특 허 내에서 이루어진 가정은 실제로는 맞지 않다. 이러한 가정은 검증되지 않았거나, Lee 특허에 개시된 플래시 메모리 디바이스는 현재 공지된 플래시 메모리 디바이스와 상이한 동작적 행동을 나타낸다.
이유에 관계없이, 제안된 플래시 메모리 저장 시스템의 SLC 모드로의 동작이 MLC 모드로의 동작보다 마모를 덜 일으킨다는 점이 본 발명을 사용가능하게 만드는 결정적인 요인이다.
그러므로, SLC 셀이 MLC 셀에 대한 캐시로서 사용된다면, 캐시에 할당된 메모리 셀이 지정된 캐시 방법을 적용할 때 훨씬 더 많은 기록/삭제 사이클을 겪더라도, (SLC 모드로 동작하기 때문에) SLC 셀의 더 우수한 마모 특성이 이러한 더 빈번한 기록을 보상한다.
지금부터 도 1을 참조하면, 본 발명에 따른, 플래시 메모리 저장 시스템(10)의 바람직한 실시예의 컴포넌트의 블록 다이어그램이 도시되어 있다. 플래시 메모리 저장 시스템(10)은 각각 C11-C1m 및 C21-C2n로 도시된, SLC 모드 또는 MLC 모드 중 하나로 동작하는 복수의 메모리 셀(14)을 갖춘 메모리 어레이(12)를 포함한다. 컨트롤러(16)는 메모리 어레이(12)를 컨트롤하고, 메모리 셀(14)에 데이터를 기록하기 위해 더 제공되어 있다.
메모리 셀(14)는 셀당 1비트를 저장할 때 200,000 프로그램/삭제 사이클의 SLC 내구성, 및 셀당 2비트를 저장할 때 10,000 프로그램/삭제 사이클의 MLC 내구성을 가진다.
컨트롤러(16)는 메모리 셀의 9% C11-C1m이 (SLC 셀로서 할당된) SLC 모드로 만 동작하고, 메모리 셀의 나머지 91% C21-C2n는 (MLC 셀로서 할당된) MLC 모드로만 동작하도록 메모리 어레이(12)를 컨트롤한다.
한눈에, 평균적으로 SLC 셀이 MLC 셀보다 대략 10배 더 자주 순환됨을 알 수 있다. 그러나, SLC 셀에 주어진 크기의 데이터를 저장하는 것은 정의에 의해 - MLC 셀에 동일한 크기의 데이터를 저장하기 위해 필요한 메모리 셀의 개수의 두 배가 필요하다는 점이 고려되어야 한다.
그러므로, 정확한 결론은 평균적으로 - 각각의 SLC 셀 C11-C1m은 각각의 MLC 셀 C21-C2n 보다 대략 20배 더 자주 순환된다는 것이다.
그러나, (200,000 프로그램/삭제 사이클을 가진) 각각의 SLC 셀은 (10,000 프로그램/삭제 사이클을 가진) 각각의 MLC 셀의 내구성의 대략 20배를 가지고, 따라서, SLC 셀 및 MLC 셀, C11-C1m 및 C21-C2n는 모두 평균적으로 동시에 마모되고 그들의 수명(즉, 그들의 사용가능한 기능적 용량)을 다한다. 결국, 모든 메모리 셀(14)의 마모는 시스템에 균일하게 분포된다.
SLC 셀 및 MLC 셀 모두의 균일한 마모를 가능하게 하는 것은 최적의 결과를 달성한다. 그러므로, 플래시 메모리 저장 시스템은 몇몇 메모리 셀은 완전히 마모되어 시스템에 의해 저장장치로 사용 불가능하고, 다른 메모리 셀은 아직 "새롭고(fresh)" 사용가능한 경우와 달리, 최적의 시간 동안 사용가능하다.
상술된 내용을 실현하기 위해, 플래시 메모리 저장 시스템(10)은 그 자체 내에 캐시 셀의 마모를 균일하게 분산하기 위해 마모 레벨링 기술을 사용한다. 마모 레벨링 기술이 그 자체 내에 한 그룹의 셀의 마모를 균일하게 분산시킨다는 것 은 그 기술이 그 그룹에 속하지 않은 임의의 셀의 마모와는 관계없이, 그 그룹 내의 모든 셀이 유사하게 마모되게 하고자 함을 의미한다. 그러므로, 마모 레벨링 기술은 다른 셀의 마모와는 관계없이, 그 캐시의 모든 셀을 유사하게 마모되게 하고자 한다. 이것은 SLC 기록/삭제 카운트와 함께(즉, 한 그룹으로써 삭제가능한 메모리 셀의 각각의 블록에 의해 실행되는 SLC 모드로의 기록/삭제 사이클의 횟수를 카운팅함으로써), 공지된 마모 레벨링 기술을 사용하여 수행된다.
이와 유사하게, 마모 레벨링 기술은, 또한, 그 자체 내에 논-캐시 셀의 마모를 균일하게 분산시키기 위해 사용될 수 있다. 즉 - 마모 레벨링 기술은 모든 논-캐싱 셀이 다른 셀의 마모와는 관계없이 유사하게 마모되게 하고자 한다. 이것은 MLC 기록/삭제 카운트와 함께(즉, 메모리 셀의 각각의 블록에 의해 수행된 MLC 모드의 기록/삭제 사이클의 횟수를 카운팅함으로써), 그리고, 다시 공지된 마모 레벨링 기술을 사용하여 수행된다. Lee 특허와 달리, 각각의 블록이 절대로 두 모드가 아니라 SLC 모드 또는 MLC 모드 중 하나로 사용되는 지정 캐시 방법을 따르므로, 블록당 두 개의 카운트를 제공할 필요가 없고, 블록당 하나의 카운트만 필요하다.
본 발명의 바람직한 실시예에 따라, 메모리 어레이의 MLC 셀 마다 두 비트가 저장된다. 그러나, 제안된 플래시 메모리 저장 시스템은 이러한 경우로 제한되지 않는다. 메모리 어레이에 할당된 MLC 셀은 셀당 3비트, 셀당 4비트, 또는 1보다 큰 임의의 다른 개수의 비트를 저장할 수 있다. 이와 유사하게, SLC 셀은 반드시 셀당 하나의 비트를 저장할 필요는 없다. 각각의 "SLC" 셀(그 셀이 더이상 단일-레벨 셀"이 아니므로 "SLC"로 인용부호를 단다)은 MLC 셀당 저장되는 비트수가 "SLC" 셀 당 비트수보다 더 큰 한, 셀당 임의의 개수의 비트를 저장할 수 있다. 이러한 관계가 유지되는 한, "SLC" 셀에 대한 기록 오퍼레이션은 MLC 셀에 대한 것보다 덜 시간 소비적이다. 그러므로, 입력 스트림의 빠른 속도를 지원하는 것이 가능하다.
바람직하게는, MLC 셀의 개수와 "SLC" 셀의 개수 간의 비율은 MLC 셀의 개수와 "SLC" 셀의 개수 간의 비율이 곱해진 MLC 셀의 내구성과 "SLC" 셀의 내구성 간의 비율과 대략 동일하게 설정된다.
본 명세서에 개시된 플래시 메모리 저장 시스템은 NAND 타입의 플래시 메모리를 사용하는 것이 바람직하지만, 다른 타입의 플래시 메모리가 사용될 수 있음을 이해해야 한다. 또한, 다른 구현이 본 발명의 범위 내에서 가능하고, 그러므로 마모 문제를 극복하고 유사한 기능을 제공하는 지정 캐시 방법을 사용하는 임의의 시스템에 관한,
본 발명은 그것의 특정 실시예에 관하여 서술하였으나, 이는 이해를 위한 것으로 이에 제한되지 않고, 다양한 수정이 당업자들에 의해 제안될 수 있고, 첨부된 청구항의 범위에 속한다.

Claims (13)

  1. 컨트롤러 및 메모리 어레이를 갖춘 플래시 메모리 저장 시스템에 데이터를 저장하는 방법으로서,
    a. 상기 메모리 어레이의 제1그룹의 메모리 셀을, 상기 제1그룹의 메모리 셀의 각각이 제1비트수를 저장하도록, 지정하는 단계;
    b. 상기 메모리 어레이의 제2그룹의 메모리 셀을, 상기 제2그룹의 메모리 셀의 각각이 제2비트수를 저장하도록 지정하는 단계;
    c. 상기 제1그룹의 메모리 셀에 데이터를 기록하는 단계;
    d. 상기 제1그룹의 메모리 셀로부터 상기 제2그룹의 메모리 셀로 데이터를 복사하는 단계;
    e. 자체 내의 상기 제1그룹의 메모리 셀 만의 균일하게 분포된 마모를 위해, 상기 제1그룹의 메모리 셀에 제1마모 레벨링 기술을 적용하는 단계를 포함하고,
    상기 제2비트수는 상기 제1비트수 보다 크고, 상기 제1그룹의 메모리 셀과 상기 제2그룹의 메모리 셀은 중첩되지 않은 것을 특징으로 하는 컨트롤러 및 메모리 어레이를 갖춘 플래시 메모리 저장 시스템에 데이터를 저장하는 방법.
  2. 제 1 항에 있어서, 상기 제1비트수는 1이고, 상기 제2비트수는 2인 것을 특징으로 하는 컨트롤러 및 메모리 어레이를 갖춘 플래시 메모리 저장 시스템에 데이터를 저장하는 방법.
  3. 제 1 항에 있어서, 상기 제1비트수는 1이고 상기 제2비트수는 4인 것을 특징으로 하는 컨트롤러 및 메모리 어레이를 갖춘 플래시 메모리 저장 시스템에 데이터를 저장하는 방법.
  4. 제 1 항에 있어서, 상기 제1그룹의 메모리 셀 개수와 상기 제2그룹의 메모리 셀 개수 간의 비율은 상기 제1비트수 및 상기 제2비트수 간의 비율이 곱해진 상기 제1그룹의 메모리 셀의 내구성 및 상기 제2그룹의 메모리 셀의 내구성 간의 비율과 동일하도록 설정되는 것을 특징으로 하는 컨트롤러 및 메모리 어레이를 갖춘 플래시 메모리 저장 시스템에 데이터를 저장하는 방법.
  5. 제 1 항에 있어서,
    f. 그 자체 내의 상기 제2그룹의 메모리 셀의 균일하게 분포된 마모를 위해 상기 제2그룹의 메모리 셀에 제2마모 레벨링 기술을 적용하는 단계를 더 포함하는 것을 특징으로 하는 컨트롤러 및 메모리 어레이를 갖춘 플래시 메모리 저장 시스템에 데이터를 저장하는 방법.
  6. 플래시 메모리 저장 시스템으로서,
    a. 복수의 메모리 셀을 포함하는 메모리 어레이;
    b. 제1그룹의 메모리 셀을 셀당 제1비트수를 저장하도록 지정하고, 제2그룹의 메모리 셀을 셀당 제2비트수를 저장하도록 지정함으로써 상기 플래시 메모리 어레이를 컨트롤하고, 상기 셀당 제2비트수는 상기 셀당 제1비트수보다 크고, 상기 제1그룹의 메모리 셀과 상기 제2그룹의 메모리 셀은 중첩되지 않는 컨트롤러;를 포함하고, 상기 컨트롤러는:
    데이터를 상기 제1그룹의 메모리 셀에 기록하고;
    상기 제1그룹의 메모리 셀로부터 상기 제2그룹의 메모리 셀로 데이터를 복사하고;
    그 자체 내의 상기 제1그룹의 메모리 셀 만의 균일하게 분포된 마모를 위해 상기 제1그룹의 메모리 셀에 제1마모 레벨링 기술을 적용하도록;
    더 설정되는 것을 특징으로 하는 플래시 메모리 저장 시스템.
  7. 제 6 항에 있어서, 상기 컨트롤러는 상기 제1그룹의 메모리 셀에 데이터를 저장한 다음, 상기 제2그룹의 메모리 셀에 상기 데이터를 복사하도록 더 동작하는 것을 특징으로 하는 플래시 메모리 저장 시스템.
  8. 제 6 항에 있어서, 상기 제1비트수는 1이고, 상기 제2비트수는 2인 것을 특징으로 하는 플래시 메모리 저장 시스템.
  9. 제 6 항에 있어서, 상기 제1비트수는 1이고, 상기 제2비트수는 4인 것을 특징으로 하는 플래시 메모리 저장 시스템.
  10. 제 6 항에 있어서, 상기 제1그룹의 메모리 셀 개수와 상기 제2그룹의 메모리 셀 개수 간의 비율은 상기 제1비트수와 상기 제2비트수 간의 비율이 곱해진 상기 제1그룹의 메모리 셀의 내구성 및 상기 제2그룹의 메모리 셀의 내구성 간의 비율과 동일하도록 설정되는 것을 특징으로 하는 플래시 메모리 저장 시스템.
  11. 제 6 항에 있어서, 그 자체 내에 상기 제2그룹의 메모리 셀의 균일하게 분포된 마모를 위해 상기 제2그룹의 메모리 셀 내에 제2마모 레벨링 기술을 적용하기 위한 메카니즘을 더 포함하는 것을 특징으로 하는 플래시 메모리 저장 시스템.
  12. 삭제
  13. 삭제
KR1020087007413A 2005-09-09 2006-09-07 프론트 메모리 저장 시스템 및 방법 KR100982481B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US71539105P 2005-09-09 2005-09-09
US60/715,391 2005-09-09
US11/318,906 2005-12-28
US11/318,906 US7752382B2 (en) 2005-09-09 2005-12-28 Flash memory storage system and method
PCT/IL2006/001049 WO2007029259A2 (en) 2005-09-09 2006-09-07 Front memory storage system and method

Publications (2)

Publication Number Publication Date
KR20080038441A KR20080038441A (ko) 2008-05-06
KR100982481B1 true KR100982481B1 (ko) 2010-09-16

Family

ID=37836264

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087007413A KR100982481B1 (ko) 2005-09-09 2006-09-07 프론트 메모리 저장 시스템 및 방법

Country Status (6)

Country Link
US (2) US7752382B2 (ko)
EP (1) EP1922623B1 (ko)
JP (1) JP4759057B2 (ko)
KR (1) KR100982481B1 (ko)
CN (1) CN101356507B (ko)
WO (1) WO2007029259A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140000751A (ko) * 2012-06-25 2014-01-06 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법

Families Citing this family (240)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051052B2 (en) * 2004-12-21 2011-11-01 Sandisk Technologies Inc. Method for creating control structure for versatile content control
US20070168292A1 (en) * 2004-12-21 2007-07-19 Fabrice Jogand-Coulomb Memory system with versatile content control
US8504849B2 (en) * 2004-12-21 2013-08-06 Sandisk Technologies Inc. Method for versatile content control
US8601283B2 (en) * 2004-12-21 2013-12-03 Sandisk Technologies Inc. Method for versatile content control with partitioning
US7748031B2 (en) 2005-07-08 2010-06-29 Sandisk Corporation Mass storage device with automated credentials loading
KR100714873B1 (ko) * 2005-09-06 2007-05-07 삼성전자주식회사 비휘발성 메모리에서 데이터 갱신 방법 및 이를 위한 장치
US7752382B2 (en) 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
WO2007132457A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
WO2007132452A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Reducing programming error in memory devices
WO2007132456A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
CN103280239B (zh) 2006-05-12 2016-04-06 苹果公司 存储设备中的失真估计和消除
US7711890B2 (en) 2006-06-06 2010-05-04 Sandisk Il Ltd Cache control in a non-volatile memory device
US20080022395A1 (en) * 2006-07-07 2008-01-24 Michael Holtzman System for Controlling Information Supplied From Memory Device
US8613103B2 (en) * 2006-07-07 2013-12-17 Sandisk Technologies Inc. Content control method using versatile control structure
US8140843B2 (en) * 2006-07-07 2012-03-20 Sandisk Technologies Inc. Content control method using certificate chains
US8266711B2 (en) * 2006-07-07 2012-09-11 Sandisk Technologies Inc. Method for controlling information supplied from memory device
US8639939B2 (en) * 2006-07-07 2014-01-28 Sandisk Technologies Inc. Control method using identity objects
US20080010458A1 (en) * 2006-07-07 2008-01-10 Michael Holtzman Control System Using Identity Objects
US20080034440A1 (en) * 2006-07-07 2008-02-07 Michael Holtzman Content Control System Using Versatile Control Structure
US20080010452A1 (en) * 2006-07-07 2008-01-10 Michael Holtzman Content Control System Using Certificate Revocation Lists
US20080010449A1 (en) * 2006-07-07 2008-01-10 Michael Holtzman Content Control System Using Certificate Chains
US20100138652A1 (en) * 2006-07-07 2010-06-03 Rotem Sela Content control method using certificate revocation lists
US8245031B2 (en) * 2006-07-07 2012-08-14 Sandisk Technologies Inc. Content control method using certificate revocation lists
US7894269B2 (en) * 2006-07-20 2011-02-22 Sandisk Corporation Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells
US7885119B2 (en) 2006-07-20 2011-02-08 Sandisk Corporation Compensating for coupling during programming
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
WO2008053473A2 (en) 2006-10-30 2008-05-08 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
US8151163B2 (en) * 2006-12-03 2012-04-03 Anobit Technologies Ltd. Automatic defect management in memory devices
US9153337B2 (en) 2006-12-11 2015-10-06 Marvell World Trade Ltd. Fatigue management system and method for hybrid nonvolatile solid state memory system
US20080140918A1 (en) * 2006-12-11 2008-06-12 Pantas Sutardja Hybrid non-volatile solid state memory system
US7900102B2 (en) * 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
US7593263B2 (en) * 2006-12-17 2009-09-22 Anobit Technologies Ltd. Memory device with reduced reading latency
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
KR100819102B1 (ko) 2007-02-06 2008-04-03 삼성전자주식회사 개선된 멀티 페이지 프로그램 동작을 갖는 불휘발성 반도체메모리 장치
US8370562B2 (en) * 2007-02-25 2013-02-05 Sandisk Il Ltd. Interruptible cache flushing in flash memory systems
WO2008111058A2 (en) * 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
TWI368224B (en) * 2007-03-19 2012-07-11 A Data Technology Co Ltd Wear-leveling management and file distribution management of hybrid density memory
JP2008257773A (ja) * 2007-04-02 2008-10-23 Toshiba Corp 不揮発性半導体記憶装置、不揮発性半導体記憶装置の制御方法、不揮発性半導体記憶システム、及びメモリカード
US20080250220A1 (en) * 2007-04-06 2008-10-09 Takafumi Ito Memory system
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
JP4781373B2 (ja) * 2007-05-14 2011-09-28 株式会社バッファロー 記憶装置
US7925936B1 (en) 2007-07-13 2011-04-12 Anobit Technologies Ltd. Memory device with non-uniform programming levels
US7916536B2 (en) * 2007-07-26 2011-03-29 Micron Technology, Inc. Programming based on controller performance requirements
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
KR101498673B1 (ko) 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
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
US7545673B2 (en) * 2007-09-25 2009-06-09 Sandisk Il Ltd. Using MLC flash as SLC by writing dummy data
US9607664B2 (en) * 2007-09-27 2017-03-28 Sandisk Technologies Llc Leveraging portable system power to enhance memory management and enable application level features
US8566504B2 (en) * 2007-09-28 2013-10-22 Sandisk Technologies Inc. Dynamic metablocks
JP4746598B2 (ja) * 2007-09-28 2011-08-10 株式会社東芝 半導体記憶装置
US7773413B2 (en) 2007-10-08 2010-08-10 Anobit Technologies Ltd. Reliable data storage in analog memory cells in the presence of temperature variations
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
US8527819B2 (en) * 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8270246B2 (en) * 2007-11-13 2012-09-18 Apple Inc. Optimized selection of memory chips in multi-chips memory devices
US9183133B2 (en) * 2007-11-28 2015-11-10 Seagate Technology Llc System, method, and computer program product for increasing spare space in memory to extend a lifetime of the memory
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
US8200904B2 (en) * 2007-12-12 2012-06-12 Sandisk Il Ltd. System and method for clearing data from a cache
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US7831758B2 (en) * 2007-12-21 2010-11-09 Intel Corporation Accelerating input/output (IO) throughput on solid-state memory-based mass storage device
US8001316B2 (en) * 2007-12-27 2011-08-16 Sandisk Il Ltd. Controller for one type of NAND flash memory for emulating another type of NAND flash memory
US8085586B2 (en) * 2007-12-27 2011-12-27 Anobit Technologies Ltd. Wear level estimation in analog memory cells
CN101632068B (zh) 2007-12-28 2015-01-14 株式会社东芝 半导体存储装置
US7865658B2 (en) * 2007-12-31 2011-01-04 Sandisk Il Ltd. Method and system for balancing host write operations and cache flushing
CN101499315B (zh) * 2008-01-30 2011-11-23 群联电子股份有限公司 快闪存储器平均磨损方法及其控制器
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
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
TWI425523B (zh) * 2008-03-25 2014-02-01 Asmedia Technology Inc 混合型快閃儲存裝置及其操作方法
US8341331B2 (en) * 2008-04-10 2012-12-25 Sandisk Il Ltd. Method, apparatus and computer readable medium for storing data on a flash device using multiple writing modes
US8285919B2 (en) * 2008-05-27 2012-10-09 Initio Corporation SSD with improved bad block management
US7970978B2 (en) * 2008-05-27 2011-06-28 Initio Corporation SSD with SATA and USB interfaces
US8060719B2 (en) * 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
TWI437429B (zh) * 2008-06-04 2014-05-11 A Data Technology Co Ltd 多通道混合密度記憶體儲存裝置及其控制方法
TWI375962B (en) * 2008-06-09 2012-11-01 Phison Electronics Corp Data writing method for flash memory and storage system and controller using the same
US7848144B2 (en) * 2008-06-16 2010-12-07 Sandisk Corporation Reverse order page writing in flash memories
US8843691B2 (en) * 2008-06-25 2014-09-23 Stec, Inc. Prioritized erasure of data blocks in a flash storage device
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
TW201007451A (en) * 2008-08-12 2010-02-16 Phison Electronics Corp Block management method for flash memory and storage system and controller using the same
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
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
US8239734B1 (en) 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8407399B2 (en) * 2008-10-29 2013-03-26 Sandisk Il Ltd. Method and apparatus for enforcing a flash memory caching policy
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
KR101548175B1 (ko) * 2008-11-05 2015-08-28 삼성전자주식회사 싱글 레벨 메모리 셀 블락과 멀티 레벨 메모리 셀 블락을 포함하는 불휘발성 메모리 장치의 마모 레벨링 방법
US8407400B2 (en) * 2008-11-12 2013-03-26 Micron Technology, Inc. Dynamic SLC/MLC blocks allocations for non-volatile memory
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
TW201020786A (en) * 2008-11-28 2010-06-01 Avermedia Tech Inc Method for executing scheduled task
US8600883B2 (en) 2008-12-02 2013-12-03 Ebay Inc. Mobile barcode generation and payment
US20100146187A1 (en) * 2008-12-05 2010-06-10 Grimsrud Knut S Endurance management technique
US8209466B2 (en) * 2008-12-16 2012-06-26 Intel Corporation Methods and systems to allocate addresses in a high-endurance/low-endurance hybrid flash memory
US9104618B2 (en) * 2008-12-18 2015-08-11 Sandisk Technologies Inc. Managing access to an address range in a storage device
JP2010152778A (ja) * 2008-12-26 2010-07-08 Hitachi Ulsi Systems Co Ltd 半導体記憶装置
US8261009B2 (en) * 2008-12-30 2012-09-04 Sandisk Il Ltd. Method and apparatus for retroactive adaptation of data location
US20100169540A1 (en) * 2008-12-30 2010-07-01 Sinclair Alan W Method and apparatus for relocating selected data between flash partitions in a memory device
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
US20100174845A1 (en) * 2009-01-05 2010-07-08 Sergey Anatolievich Gorobets Wear Leveling for Non-Volatile Memories: Maintenance of Experience Count and Passive Techniques
US8244960B2 (en) 2009-01-05 2012-08-14 Sandisk Technologies Inc. Non-volatile memory and method with write cache partition management methods
US8700840B2 (en) * 2009-01-05 2014-04-15 SanDisk Technologies, Inc. Nonvolatile memory with write cache having flush/eviction methods
US8040744B2 (en) 2009-01-05 2011-10-18 Sandisk Technologies Inc. Spare block management of non-volatile memories
US8094500B2 (en) * 2009-01-05 2012-01-10 Sandisk Technologies Inc. Non-volatile memory and method with write cache partitioning
KR101760144B1 (ko) 2009-01-05 2017-07-31 샌디스크 테크놀로지스 엘엘씨 비휘발성 메모리 및 기록 캐시를 분할하는 방법
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
TWI425444B (zh) * 2009-02-20 2014-02-01 Avermedia Information Inc 影像資料歪斜偵測校正方法與裝置
EP2401680B1 (de) 2009-02-26 2013-11-06 Hyperstone GmbH Verfahren zur verwaltung von flashspeichern mit gemischten speichertypen
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
US8027195B2 (en) * 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
US8102705B2 (en) 2009-06-05 2012-01-24 Sandisk Technologies Inc. Structure and method for shuffling data within non-volatile memory devices
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
US7948798B1 (en) 2009-07-22 2011-05-24 Marvell International Ltd. Mixed multi-level cell and single level cell storage device
US8463983B2 (en) * 2009-09-15 2013-06-11 International Business Machines Corporation Container marker scheme for reducing write amplification in solid state devices
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
US8468294B2 (en) 2009-12-18 2013-06-18 Sandisk Technologies Inc. Non-volatile memory with multi-gear control using on-chip folding of data
US8144512B2 (en) 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US20110153912A1 (en) 2009-12-18 2011-06-23 Sergey Anatolievich Gorobets Maintaining Updates of Multi-Level Non-Volatile Memory in Binary Non-Volatile Memory
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
US8631304B2 (en) 2010-01-28 2014-01-14 Sandisk Il Ltd. Overlapping error correction operations
JP5612508B2 (ja) * 2010-03-25 2014-10-22 パナソニック株式会社 不揮発性メモリコントローラ及び不揮発性記憶装置
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US9235530B2 (en) 2010-05-31 2016-01-12 Sandisk Technologies Inc. Method and system for binary cache cleanup
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8543757B2 (en) 2010-06-23 2013-09-24 Sandisk Technologies Inc. Techniques of maintaining logical to physical mapping information in non-volatile memory systems
US8417876B2 (en) 2010-06-23 2013-04-09 Sandisk Technologies Inc. Use of guard bands and phased maintenance operations to avoid exceeding maximum latency requirements in non-volatile memory systems
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US8464135B2 (en) 2010-07-13 2013-06-11 Sandisk Technologies Inc. Adaptive flash interface
US9069688B2 (en) 2011-04-15 2015-06-30 Sandisk Technologies Inc. Dynamic optimization of back-end memory system interface
CN107093464A (zh) 2010-07-13 2017-08-25 桑迪士克科技有限责任公司 后台存储器系统接口的动态优化
US8898374B2 (en) * 2010-07-21 2014-11-25 Silicon Motion, Inc. Flash memory device and method for managing flash memory device
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8767459B1 (en) 2010-07-31 2014-07-01 Apple Inc. Data storage in analog memory cells across word lines 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
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
WO2012158514A1 (en) * 2011-05-17 2012-11-22 Sandisk Technologies Inc. Non-volatile memory and method with small logical groups distributed among active slc and mlc memory partitions
US9176864B2 (en) 2011-05-17 2015-11-03 SanDisk Technologies, Inc. Non-volatile memory and method having block management with hot/cold data sorting
US9141528B2 (en) 2011-05-17 2015-09-22 Sandisk Technologies Inc. Tracking and handling of super-hot data in non-volatile memory systems
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
CN103959258B (zh) * 2011-12-05 2017-03-29 英特尔公司 背景重排序——具有有限开销的预防性的磨损控制机制
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
TWI486765B (zh) * 2012-06-11 2015-06-01 Phison Electronics Corp 記憶體管理方法、記憶體控制器與記憶體儲存裝置
KR102147359B1 (ko) * 2012-06-29 2020-08-24 삼성전자 주식회사 비휘발성 메모리 장치의 관리 방법 및 비휘발성 메모리 장치
US9003068B2 (en) 2012-07-12 2015-04-07 International Business Machines Corporation Service channel for connecting a host computer to peripheral devices
US9490035B2 (en) 2012-09-28 2016-11-08 SanDisk Technologies, Inc. Centralized variable rate serializer and deserializer for bad column management
US8897080B2 (en) 2012-09-28 2014-11-25 Sandisk Technologies Inc. Variable rate serial to parallel shift register
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
CN105264610B (zh) * 2013-09-17 2018-05-22 桑迪士克科技有限责任公司 在多位存储元件处存储数据时使用虚数据的装置和方法
JP6289883B2 (ja) * 2013-11-27 2018-03-07 株式会社東芝 ストレージ装置
US9384128B2 (en) 2014-04-18 2016-07-05 SanDisk Technologies, Inc. Multi-level redundancy code for non-volatile memory controller
US9928169B2 (en) * 2014-05-07 2018-03-27 Sandisk Technologies Llc Method and system for improving swap performance
US9710198B2 (en) 2014-05-07 2017-07-18 Sandisk Technologies Llc Method and computing device for controlling bandwidth of swap operations
US9633233B2 (en) 2014-05-07 2017-04-25 Sandisk Technologies Llc Method and computing device for encrypting data stored in swap memory
US9665296B2 (en) 2014-05-07 2017-05-30 Sandisk Technologies Llc Method and computing device for using both volatile memory and non-volatile swap memory to pre-load a plurality of applications
US10031673B2 (en) * 2014-09-26 2018-07-24 SK Hynix Inc. Techniques for selecting amounts of over-provisioning
US9875039B2 (en) 2014-09-30 2018-01-23 Sandisk Technologies Llc Method and apparatus for wear-leveling non-volatile memory
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
US10096355B2 (en) * 2015-09-01 2018-10-09 Sandisk Technologies Llc Dynamic management of programming states to improve endurance
US10884926B2 (en) 2017-06-16 2021-01-05 Alibaba Group Holding Limited Method and system for distributed storage using client-side global persistent cache
US10877898B2 (en) 2017-11-16 2020-12-29 Alibaba Group Holding Limited Method and system for enhancing flash translation layer mapping flexibility for performance and lifespan improvements
US10891239B2 (en) 2018-02-07 2021-01-12 Alibaba Group Holding Limited Method and system for operating NAND flash physical space to extend memory capacity
US10496548B2 (en) 2018-02-07 2019-12-03 Alibaba Group Holding Limited Method and system for user-space storage I/O stack with user-space flash translation layer
US10831404B2 (en) 2018-02-08 2020-11-10 Alibaba Group Holding Limited Method and system for facilitating high-capacity shared memory using DIMM from retired servers
US11379155B2 (en) 2018-05-24 2022-07-05 Alibaba Group Holding Limited System and method for flash storage management using multiple open page stripes
US11816043B2 (en) 2018-06-25 2023-11-14 Alibaba Group Holding Limited System and method for managing resources of a storage device and quantifying the cost of I/O requests
US10921992B2 (en) 2018-06-25 2021-02-16 Alibaba Group Holding Limited Method and system for data placement in a hard disk drive based on access frequency for improved IOPS and utilization efficiency
US10871921B2 (en) 2018-07-30 2020-12-22 Alibaba Group Holding Limited Method and system for facilitating atomicity assurance on metadata and data bundled storage
US10996886B2 (en) 2018-08-02 2021-05-04 Alibaba Group Holding Limited Method and system for facilitating atomicity and latency assurance on variable sized I/O
US11327929B2 (en) 2018-09-17 2022-05-10 Alibaba Group Holding Limited Method and system for reduced data movement compression using in-storage computing and a customized file system
US10852948B2 (en) 2018-10-19 2020-12-01 Alibaba Group Holding System and method for data organization in shingled magnetic recording drive
US10795586B2 (en) 2018-11-19 2020-10-06 Alibaba Group Holding Limited System and method for optimization of global data placement to mitigate wear-out of write cache and NAND flash
US10769018B2 (en) 2018-12-04 2020-09-08 Alibaba Group Holding Limited System and method for handling uncorrectable data errors in high-capacity storage
US10977122B2 (en) 2018-12-31 2021-04-13 Alibaba Group Holding Limited System and method for facilitating differentiated error correction in high-density flash devices
US11061735B2 (en) 2019-01-02 2021-07-13 Alibaba Group Holding Limited System and method for offloading computation to storage nodes in distributed system
US11132291B2 (en) 2019-01-04 2021-09-28 Alibaba Group Holding Limited System and method of FPGA-executed flash translation layer in multiple solid state drives
US11200337B2 (en) 2019-02-11 2021-12-14 Alibaba Group Holding Limited System and method for user data isolation
US10970212B2 (en) 2019-02-15 2021-04-06 Alibaba Group Holding Limited Method and system for facilitating a distributed storage system with a total cost of ownership reduction for multiple available zones
US11061834B2 (en) 2019-02-26 2021-07-13 Alibaba Group Holding Limited Method and system for facilitating an improved storage system by decoupling the controller from the storage medium
US10891065B2 (en) 2019-04-01 2021-01-12 Alibaba Group Holding Limited Method and system for online conversion of bad blocks for improvement of performance and longevity in a solid state drive
US10922234B2 (en) 2019-04-11 2021-02-16 Alibaba Group Holding Limited Method and system for online recovery of logical-to-physical mapping table affected by noise sources in a solid state drive
US10908960B2 (en) 2019-04-16 2021-02-02 Alibaba Group Holding Limited Resource allocation based on comprehensive I/O monitoring in a distributed storage system
US11169873B2 (en) 2019-05-21 2021-11-09 Alibaba Group Holding Limited Method and system for extending lifespan and enhancing throughput in a high-density solid state drive
US10860223B1 (en) 2019-07-18 2020-12-08 Alibaba Group Holding Limited Method and system for enhancing a distributed storage system by decoupling computation and network tasks
US11074124B2 (en) 2019-07-23 2021-07-27 Alibaba Group Holding Limited Method and system for enhancing throughput of big data analysis in a NAND-based read source storage
US11126561B2 (en) 2019-10-01 2021-09-21 Alibaba Group Holding Limited Method and system for organizing NAND blocks and placing data to facilitate high-throughput for random writes in a solid state drive
US11617282B2 (en) 2019-10-01 2023-03-28 Alibaba Group Holding Limited System and method for reshaping power budget of cabinet to facilitate improved deployment density of servers
US11449455B2 (en) 2020-01-15 2022-09-20 Alibaba Group Holding Limited Method and system for facilitating a high-capacity object storage system with configuration agility and mixed deployment flexibility
US10872622B1 (en) 2020-02-19 2020-12-22 Alibaba Group Holding Limited Method and system for deploying mixed storage products on a uniform storage infrastructure
US10923156B1 (en) 2020-02-19 2021-02-16 Alibaba Group Holding Limited Method and system for facilitating low-cost high-throughput storage for accessing large-size I/O blocks in a hard disk drive
US11144250B2 (en) 2020-03-13 2021-10-12 Alibaba Group Holding Limited Method and system for facilitating a persistent memory-centric system
US11200114B2 (en) 2020-03-17 2021-12-14 Alibaba Group Holding Limited System and method for facilitating elastic error correction code in memory
US11385833B2 (en) 2020-04-20 2022-07-12 Alibaba Group Holding Limited Method and system for facilitating a light-weight garbage collection with a reduced utilization of resources
US11281575B2 (en) 2020-05-11 2022-03-22 Alibaba Group Holding Limited Method and system for facilitating data placement and control of physical addresses with multi-queue I/O blocks
US11461262B2 (en) 2020-05-13 2022-10-04 Alibaba Group Holding Limited Method and system for facilitating a converged computation and storage node in a distributed storage system
US11494115B2 (en) 2020-05-13 2022-11-08 Alibaba Group Holding Limited System method for facilitating memory media as file storage device based on real-time hashing by performing integrity check with a cyclical redundancy check (CRC)
US11218165B2 (en) 2020-05-15 2022-01-04 Alibaba Group Holding Limited Memory-mapped two-dimensional error correction code for multi-bit error tolerance in DRAM
US11556277B2 (en) 2020-05-19 2023-01-17 Alibaba Group Holding Limited System and method for facilitating improved performance in ordering key-value storage with input/output stack simplification
US11507499B2 (en) 2020-05-19 2022-11-22 Alibaba Group Holding Limited System and method for facilitating mitigation of read/write amplification in data compression
US11263132B2 (en) 2020-06-11 2022-03-01 Alibaba Group Holding Limited Method and system for facilitating log-structure data organization
US11422931B2 (en) 2020-06-17 2022-08-23 Alibaba Group Holding Limited Method and system for facilitating a physically isolated storage unit for multi-tenancy virtualization
US11354200B2 (en) 2020-06-17 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating data recovery and version rollback in a storage device
US11354233B2 (en) 2020-07-27 2022-06-07 Alibaba Group Holding Limited Method and system for facilitating fast crash recovery in a storage device
US11372774B2 (en) 2020-08-24 2022-06-28 Alibaba Group Holding Limited Method and system for a solid state drive with on-chip memory integration
US11487465B2 (en) 2020-12-11 2022-11-01 Alibaba Group Holding Limited Method and system for a local storage engine collaborating with a solid state drive controller
US11734115B2 (en) 2020-12-28 2023-08-22 Alibaba Group Holding Limited Method and system for facilitating write latency reduction in a queue depth of one scenario
US11416365B2 (en) 2020-12-30 2022-08-16 Alibaba Group Holding Limited Method and system for open NAND block detection and correction in an open-channel SSD
US11494299B2 (en) 2021-02-18 2022-11-08 Silicon Motion, Inc. Garbage collection operation management with early garbage collection starting point
US20220300184A1 (en) * 2021-03-19 2022-09-22 Silicon Motion, Inc. Method of performing wear-leveling operation in flash memory and related controller and storage system
US11726699B2 (en) 2021-03-30 2023-08-15 Alibaba Singapore Holding Private Limited Method and system for facilitating multi-stream sequential read performance improvement with reduced read amplification
US11461173B1 (en) 2021-04-21 2022-10-04 Alibaba Singapore Holding Private Limited Method and system for facilitating efficient data compression based on error correction code and reorganization of data placement
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11476874B1 (en) 2021-05-14 2022-10-18 Alibaba Singapore Holding Private Limited Method and system for facilitating a storage server with hybrid memory for journaling and data storage
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
CN117742614B (zh) * 2023-12-29 2024-06-18 深圳市安信达存储技术有限公司 一种芯片内部闪存组合riad阵列方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268870A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5268319A (en) * 1988-06-08 1993-12-07 Eliyahou Harari Highly compact EPROM and flash EEPROM devices
US6230233B1 (en) * 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
US5341339A (en) * 1992-10-30 1994-08-23 Intel Corporation Method for wear leveling in a flash EEPROM memory
US5388083A (en) * 1993-03-26 1995-02-07 Cirrus Logic, Inc. Flash memory mass storage architecture
US5568423A (en) * 1995-04-14 1996-10-22 Unisys Corporation Flash memory wear leveling system providing immediate direct access to microprocessor
US5671388A (en) * 1995-05-03 1997-09-23 Intel Corporation Method and apparatus for performing write operations in multi-level cell storage device
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
JP2000173281A (ja) * 1998-12-04 2000-06-23 Sony Corp 半導体記憶装置
JP2001006374A (ja) * 1999-06-17 2001-01-12 Hitachi Ltd 半導体記憶装置及びシステム
US7243185B2 (en) * 2004-04-05 2007-07-10 Super Talent Electronics, Inc. Flash memory system with a high-speed flash controller
JP4282197B2 (ja) * 2000-01-24 2009-06-17 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP3983969B2 (ja) * 2000-03-08 2007-09-26 株式会社東芝 不揮発性半導体記憶装置
JP2001306393A (ja) * 2000-04-20 2001-11-02 Mitsubishi Electric Corp 記憶装置
JP2002197890A (ja) * 2000-12-26 2002-07-12 Mitsubishi Electric Corp 不揮発性半導体メモリ
JP3828376B2 (ja) * 2001-05-07 2006-10-04 株式会社東芝 記憶システム
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US6831865B2 (en) * 2002-10-28 2004-12-14 Sandisk Corporation Maintaining erase counts in non-volatile storage systems
JP2005267676A (ja) * 2004-03-16 2005-09-29 Matsushita Electric Ind Co Ltd 不揮発性記憶装置
JP4357331B2 (ja) * 2004-03-24 2009-11-04 東芝メモリシステムズ株式会社 マイクロプロセッサブートアップ制御装置、及び情報処理システム
US20060256623A1 (en) * 2005-05-12 2006-11-16 Micron Technology, Inc. Partial string erase scheme in a flash memory device
US7752382B2 (en) 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140000751A (ko) * 2012-06-25 2014-01-06 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법
KR101989018B1 (ko) * 2012-06-25 2019-06-13 에스케이하이닉스 주식회사 데이터 저장 장치의 동작 방법

Also Published As

Publication number Publication date
CN101356507A (zh) 2009-01-28
US20070061502A1 (en) 2007-03-15
WO2007029259A2 (en) 2007-03-15
EP1922623B1 (en) 2013-07-10
KR20080038441A (ko) 2008-05-06
EP1922623A4 (en) 2009-04-29
EP1922623A2 (en) 2008-05-21
CN101356507B (zh) 2012-04-18
JP4759057B2 (ja) 2011-08-31
US20100274955A1 (en) 2010-10-28
JP2009510549A (ja) 2009-03-12
US8069302B2 (en) 2011-11-29
WO2007029259A3 (en) 2007-11-15
US7752382B2 (en) 2010-07-06

Similar Documents

Publication Publication Date Title
KR100982481B1 (ko) 프론트 메모리 저장 시스템 및 방법
US10209902B1 (en) Method and apparatus for selecting a memory block for writing data, based on a predicted frequency of updating the data
US8200904B2 (en) System and method for clearing data from a cache
US9176862B2 (en) SLC-MLC wear balancing
JP4518951B2 (ja) 不揮発性記憶システムにおける自動損耗均等化
US7865658B2 (en) Method and system for balancing host write operations and cache flushing
US8122184B2 (en) Methods for managing blocks in flash memories
KR101103210B1 (ko) 시퀀스 번호 랩 어라운드 장치, 방법 및 물품
US20130073807A1 (en) Hybrid memory management
JP2009099149A (ja) 適応ハイブリッド密度メモリ記憶装置の制御方法、及び適応ハイブリッド密度メモリ記憶装置
KR20080085574A (ko) 비휘발성 메모리의 가비지 컬렉션을 위한 장치 및 방법
EP2441004A2 (en) Memory system having persistent garbage collection
WO2014185038A1 (ja) 半導体記憶装置およびその制御方法

Legal Events

Date Code Title Description
A201 Request for examination
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: 20130820

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140825

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150819

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160818

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20170818

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20180816

Year of fee payment: 9