KR20110015023A - 하이브리드 메모리 관리 - Google Patents

하이브리드 메모리 관리 Download PDF

Info

Publication number
KR20110015023A
KR20110015023A KR1020107029386A KR20107029386A KR20110015023A KR 20110015023 A KR20110015023 A KR 20110015023A KR 1020107029386 A KR1020107029386 A KR 1020107029386A KR 20107029386 A KR20107029386 A KR 20107029386A KR 20110015023 A KR20110015023 A KR 20110015023A
Authority
KR
South Korea
Prior art keywords
memory
data
array
memory cells
logical address
Prior art date
Application number
KR1020107029386A
Other languages
English (en)
Other versions
KR101283711B1 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=41381226&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20110015023(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 마이크론 테크놀로지, 인크. filed Critical 마이크론 테크놀로지, 인크.
Publication of KR20110015023A publication Critical patent/KR20110015023A/ko
Application granted granted Critical
Publication of KR101283711B1 publication Critical patent/KR101283711B1/ko

Links

Images

Classifications

    • 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
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1016Performance improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • G06F2212/1036Life time enhancement
    • 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/7201Logical to physical mapping or translation of blocks or pages
    • 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
    • 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
    • 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)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Static Random-Access Memory (AREA)
  • Memory System (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명은 단일 레벨 및 다중 레벨 메모리 셀들을 사용하는 하이브리드 메모리 디바이스들에서 데이터 저장을 관리하기 위한 방법 및 장치에 관한 것이다. 논리적 어드레스들은 수행되는 기록 동작들의 빈도에 기초하여 단일 레벨 메모리 셀들 및 다중 레벨 메모리 셀들 사이에 분배될 수 있다. 메모리 내의 논리적 어드레스에 상응하는 데이터의 초기 저장은 초기에 모든 데이터를 단일 레벨에 기록하거나 초기에 모든 데이터를 다중 레벨 메모리에 기록하는 것을 포함하는 다양한 방법들에 의해 결정될 수 있다. 다른 방법들은 호스트가 예상된 사용에 기초하여 논리적 어드레스를 단일 레벨 또는 다중 레벨 메모리 셀들에 기록할 것을 지시하는 것을 허용한다.

Description

하이브리드 메모리 관리{HYBRID MEMORY MANAGEMENT}
본 발명은 일반적으로 메모리 디바이스들에 관한 것으로, 특히, 단일 및 다중 레벨 메모리 셀 저장 용량을 가지는 메모리 디바이스 내에 저장된 데이터를 관리하는 것에 관한 것이다.
메모리 디바이스들은 일반적으로, 컴퓨터들 또는 다른 전자 디바이스들 내에서 내장된 반도체 집적 회로로서 제공된다. 랜덤-액세스 메모리(RAM : random access memory), 판독 전용 메모리(ROM : read only memory), 동적 랜덤 액세스 메모리(DRAM : dynamic random access memory), 동기식 동적 랜덤 액세스 메모리(SDRAM : synchronous dynamic random access memory) 및 플래시 메모리(flash memory)를 포함하는 다수의 서로 다른 유형의 메모리가 존재한다.
플래시 메모리 디바이스들은 광범위한 전자 애플리케이션들을 위한 비휘발성 메모리의 대중적인 원천으로 개발되고 있다. 플래시 메모리 디바이스들은 일반적으로 높은 메모리 밀도, 높은 신뢰도 및 낮은 전력 소비를 허용하는 1-트랜지스터 메모리 셀(one-transistor memory cell)을 사용한다. 플래시 메모리에 대한 통상적인 용도들은 개인용 컴퓨터들, 개인용 휴대 단말(PDA : personal digital assistant)들, 디지털 카메라들 및 셀룰러 전화기들을 포함한다. 기본 입/출력 시스템(BIOS : basic input/output system)과 같은 프로그램 코드 및 시스템 데이터는 일반적으로 개인용 컴퓨터 시스템들에서의 사용을 위해 플래시 메모리 디바이스들 내에 저장된다.
플래시 메모리는 일반적으로 NOR 플래시 및 NAND 플래시로 공지된 2개의 기본 구조들 중 하나를 사용한다. 디바이스들을 판독하기 위해 사용된 로직으로부터 명칭이 유도된다. NAND 유형 플래시 메모리 어레이 구조에서, 메모리 어레이의 플로팅 게이트(floating gate) 메모리 셀들은 로우(row)들 및 컬럼(column)들의 매트릭스(matrix) 내에 배치된다. 어레이의 메모리 셀들은 또한 일반적으로 각각 8, 16, 32 또는 그 이상의 스트링(string)들 내에 함께 배치되며, 여기서, 스트링 내의 메모리 셀들은 종종 비트 라인이라 지칭되는 공통 소스 라인 및 컬럼 전송 라인 사이에서 직렬로, 즉, 소스로부터 드레인으로 함께 접속된다. 그 후에 어레이는 그들의 게이트들에 접속된 워드 라인을 선택함으로써 플로팅 게이트 메모리 셀들의 로우(row)를 활성화시키는 로우 디코더에 의해 액세스(access)된다. 추가로, 비트 라인들은 또한 수행되는 현재의 동작에 따라 하이(high) 또는 로우(low)로 구동될 수 있다.
전자 시스템들의 성능 및 복잡성이 증가함에 따라, 시스템 내에서 추가적인 메모리에 대한 요구 조건 또한 증가한다. 그러나, 시스템의 비용들을 계속해서 감소시키기 위해서는, 부품들의 수를 낮게 유지하는 것이 바람직하다. 이는 다중 레벨 셀(MLC : multilevel cell)들과 같은 기술들을 사용하여 집적 회로의 메모리 밀도를 증가시킴으로써 달성될 수 있다. 예를 들어, MLC NAND 플래시 메모리는 비용 효율적인 비휘발성 메모리이다.
다중 레벨 메모리 셀들은 (예를 들어, 비트 패턴에 의해 표현되는 것과 같은) 데이터 상태를 메모리 셀에 저장된 특정 범위의 임계 전압들(Vt)로 할당한다. 단일 레벨 메모리 셀(SLC : single level memory cell)들은 각각의 메모리 셀에서 단일 비트 데이터의 저장을 허용한다. 한편, MLC 기술은 셀에 할당된 임계 전압 범위들의 양 및 메모리 셀의 동작 수명 동안 할당된 임계 전압 범위들의 안정성에 따라, 셀당 2개 이상의 비트들(예를 들어, 2, 4, 8, 16 비트들)의 저장을 허용한다. N-비트들로 구성된 비트 패턴을 표현하기 위해 사용되는, 때때로 Vt 분배 창(distribution window)들이라 지칭되는 임계 전압 범위들(예를 들어, 레벨들)의 개수는 2N이다. 예를 들어, 하나의 비트는 2개의 레벨들로 표현될 수 있고, 2개의 비트들은 4개의 레벨들로 표현될 수 있고, 3개의 비트들은 8개의 레벨들로 표현될 수 있다.
예를 들어, 셀에는 2개의 비트들로 구성된 비트 패턴에 상응하는 데이터 상태를 표현하기 위해 각각 사용되는 200 mV의 4개의 서로 다른 전압 범위들 중 하나 내에 속하는 Vt가 할당될 수 있다. 일반적으로, 0.2V 내지 0.4V의 무효 공간(dead space)(때때로 마진(margin)이라 지칭됨)은 Vt 분배들이 겹쳐지지 않도록 하기 위해 각각의 범위 사이에서 유지된다. 만약 셀에 저장된 전압이 4개의 Vt 분배들 중 제 1 분배 내에 있다면, 이 경우에 셀은 논리 '11' 상태를 저장하며, 일반적으로 셀의 소거된 상태로 간주된다. 만약 전압이 4개의 Vt 분배들 중 제 2 분배 내에 있다면, 이 경우에 셀은 논리 '10' 상태를 저장한다. 4개의 Vt 분배들 중 제 3 분배 내의 전압은 이 경우에 셀이 논리 '00' 상태를 저장한다고 표시할 것이다. 마지막으로, 제 4 Vt 분배 내에 존재하는 Vt는 논리 '01' 상태가 셀 내에 저장된다고 표시한다.
SLC 또는 MLC 메모리를 사용하는 것과 연관된 장점들 및 단점들이 있다. MLC 메모리는 셀당 1개의 데이터 비트를 저장하기 위해 종래에 사용된 SLC 메모리와 대조적으로, 단일 메모리 셀 내에 예를 들어, 다수의 데이터 비트들을 저장할 수 있기 때문에, MLC 메모리는 일반적으로 메모리 밀도와 관련하여 더욱 비용 효율적인 것으로 간주된다. 그러나, 종래의 SLC 메모리는 종래의 MLC 보다 더 많은(예를 들어, 10배 만큼의) 횟수로 기록될 수 있다. 예를 들어, 종래의 MLC 메모리의 특징은 데이터가 약 10,000회 소거되고 재기록된 이후에 메모리가 상당한 판독 및 기록 에러들로 될 수 있다는 것이다. 다른 한편으로, 종래의 SLC 메모리는 일반적으로 데이터의 신뢰도가 떨어지기 시작하기 전에 약 100,000회 소거되고 재기록될 수 있다. 이 밀도 및 성능 특징들은 또한 서로 다른 유형의 MLC 어레이들 사이에 적용된다. 4개 및 8개 레벨들을 갖는 MLC 디바이스들이 현재 존재하며, 더욱 밀도가 높은 메모리들이 연구되고 있다. 더 많은 레벨들을 갖는(더 높은 밀도의) MLC는 더 적은 레벨들을 갖는(더 낮은 밀도의) MLC보다 더 효율적이며, 이 더 높은 밀도의 디바이스들은 더 낮은 밀도의 디바이스들에 비해 성능상의 불리한 점들을 가질 수 있다. SLC(2 레벨) 및 MLC(2 레벨 이상)가 장착된 디바이스의 경우는 자신의 밀도 및 성능의 균형을 각각 가지는 다수의 메모리 어레이들을 갖는 디바이스로서 일반화될 수 있다. 일 예는 MLC(4 레벨)의 어레이와 MLC(8 레벨)의 어레이가 장착된 디바이스이다. 심지어 SLC, MLC(4 레벨) 및 MLC(8 레벨)와 같은 2개 이상의 메모리 어레이들이 존재할 수 있다. 공통 명명 규칙(common naming convention)은 SLC 메모리가 예를 들어 0 또는 1로 표현되는 1개의 데이터 비트를 저장하기 위해 2개의 레벨들을 사용하기 때문에 SLC 메모리를 MLC(2 레벨) 메모리로서 지칭하는 것이다. 2개의 데이터 비트들을 저장하도록 구성된 MLC 메모리는 MLC(4 레벨)에 의해 표현될 수 있고, 3개의 데이터 비트들을 저장하도록 구성된 MLC 메모리는 MLC(8 레벨)에 의해 표현되는 등과 같이 될 수 있다. MLC(4 레벨) 메모리 셀은 일반적으로 메모리 셀당 저장된 비트들의 개수가 적기 때문에 MLC(8 레벨) 메모리보다 더 낮은 밀도의 메모리 셀로 지칭된다. SLC(예를 들어, MLC(2 레벨))는 일반적으로 MLC(4 레벨) 메모리 등등의 것보다 더 낮은 밀도의 메모리로서 지칭된다.
전술된 이유들과, 본 명세서를 읽고 이해할 때 당업자들에게 명백할 하기에 언급되는 다른 이유들로 인해, 각각의 메모리 유형과 관련된 바람직한 동작 특징들을 이용하기 위해 SLC 및 MLC 메모리와 같은 서로 다른 밀도들의 메모리 사용을 관리하도록 구성되는 하이브리드 메모리 디바이스들이 당업계에서 필요하다.
도 1은 본 개시물의 일 실시예에 따른 메모리 모듈의 기능적인 블럭도이다.
도 2는 본 개시물의 다양한 실시예들에 따른 다수 동작들을 예시하는 흐름도이다.
도 3은 본 개시물의 일 실시예에 따른 메모리 디바이스의 저장 구성을 예시한다.
도 4는 본 개시물의 일 실시예에 따른 데이터의 이동 동작을 예시한다.
도 5는 본 개시물의 일 실시예에 따른 데이터의 기록 동작을 예시한다.
도 6은 본 개시물의 일 실시예에 따른 적어도 하나의 메모리 디바이스를 가지는 전자 시스템의 기능적인 블럭도이다.
하기의 실시예들의 상세한 설명에서, 이 문서의 일 부분을 형성하는 첨부된 도면들이 참조된다. 도면들에서, 동일한 도면 부호들은 몇몇 도면들을 통해 실질적으로 유사한 구성요소들을 설명한다. 이 실시예들은 당업자들이 본 발명을 실시하도록 하기 위해 충분히 상세하게 설명된다. 다른 실시예들이 사용될 수 있고, 구조적인, 논리적인, 전기적인 변경들이 본 발명의 범위로부터 벗어나지 않고 행해질 수 있다. 그러므로, 하기의 상세한 설명은 제한의 의미로 취급되는 것이 아니며, 본 개시물의 범위는 청구항들의 자격이 부여되는 등가물들의 완전한 범위와 함께, 첨부된 청구항들에 의해서만 규정된다.
전술된 것과 같이, 종래의 SLC 및 MLC 메모리는 그들과 연관된 긍정적인 특성 및 부정적인 특성 모두를 갖는다. SLC 메모리는 더 빠른 기록 동작들을 허용하며, MLC 메모리에 비해 메모리 셀들의 신뢰도가 떨어지기 시작하기 전에 훨씬 많은 기록 동작들을 견뎌낼 수 있다. 그러나, SLC 메모리는 MLC 메모리만큼 효율적이지 못한데, MLC 메모리는 각각의 메모리 셀에 다수의 데이터 비트들을 저장할 수 있지만, SLC는 셀당 단일 비트만을 저장하도록 사용된다. 본 개시물의 다양한 실시예들은 SLC 메모리 내에 빈번하게 업데이트되는 데이터를 저장하고, MLC 메모리 내에 덜 빈번하게 업데이트되는 데이터를 저장한다. 이것은 메모리 디바이스들의 효율성 및 신뢰성을 개선하기 위해 사용될 수 있다. 일부 실시예들이 SLC 및 MLC 메모리를 사용하는 것과 관련하여 개시되지만, 다양한 실시예들은 이에 제한되지 않는다. 예를 들어, 일 실시예는 때때로 MLC(2 레벨) 메모리로 지칭되는 SLC 메모리 및 MLC(4 레벨) 메모리를 사용할 수 있다. 다른 실시예는 MLC(4 레벨) 및 MLC(8 레벨) 메모리를 사용할 수 있다. 또 다른 실시예들은 예를 들어, 동일한 메모리 디바이스 내에서 SLC, MLC(4 레벨) 및 MLC(8 레벨) 메모리와 같은 3개 이상의 메모리 어레이들을 사용할 수 있다. 본 개시물의 다양한 실시예들에 따라 다른 조합들이 가능하다. 따라서, 상기 실시예들은 메모리 디바이스 내에서 서로 다른 레벨(예를 들어, 밀도)의 메모리의 조합을 사용할 수 있다.
비휘발성 메모리 디바이스 내의 데이터는 그 디바이스 내에 데이터가 물리적으로 상주하는 장소를 정의하지 않는 논리적 블럭 어드레스(LBA : logical block address)라 불리는 추상 작용(abstraction)을 통해 액세스될 수 있다. 디바이스는 또한 물리적 위치를 정의하지만 이 위치 내에서 어떤 데이터가 유지되는지를 정의하거나 암시하지는 않는 물리적 블럭 어드레스(PBA : physical block address)를 가질 수 있다. 자기 디스크 디바이스에서, 물리적 블럭 어드레스는 특정 실린더, 헤드 및 섹터로 이동(translate)한다. 고체 상태의 비휘발성 메모리 디바이스에서, 물리적 블럭 어드레스는 일반적으로 특정 메모리 어레이 내의 특정 메모리 블럭 어드레스를 지칭한다. 논리적 블럭 어드레스들 및 물리적 블럭 어드레스들은 당업자들에게 공지되어 있다. 메모리 디바이스들은 LBA들을 그들의 할당된 PBA들로 맵핑하는 룩업 테이블(look up table)들을 포함한다. SLC 및 MLC 메모리 모두를 가지는 종래의 메모리 디바이스들은 SLC 메모리 또는 MLC 메모리 중 하나에 데이터를 저장한다. 데이터는 SLC 및 MLC 메모리 사이에서 이동하지 않는다. 이것은 예를 들어, 주어진 LBA의 사용(예를 들어, 수행되는 기록 동작들의 횟수)에 기초하여, 메모리 디바이스 내에 저장된 데이터가 SLC 및 MLC 사이에서 이동하도록 하는 본 개시물의 다양한 실시예들과는 대조적이다. 이 사용은 본 개시물의 다양한 실시예들에 따라 메모리 디바이스의 LBA들을 위해 결정되고(예를 들어, 추적되고) 지속된다. 본 개시물의 다양한 실시예들은 또한 주어진 LBA에 대한 사용을 예측하고, 이에 따라, 이를 SLC 또는 MLC 메모리에 할당할 수 있다. 예를 들어, 다수의 파일 시스템들은 파일 할당 테이블(FAT : file allocation table)과 같이 파일들을 LBA들에 참조시키기 위해 사용되는 데이터 구조를 유지하며, 이러한 구조들과 연관된 LBA들은 모든 파일 기록 동작에 대한 기록 동작들의 영향을 받을 가능성이 있다. 따라서, FAT와 연관된 LBA들은 처음에 MLC 메모리 대신에 SLC 메모리에 할당될 수 있다. 다른 실시예들은 각각의 LBA의 실제 추적된 사용에 응답하여 동작함으로써 SLC 또는 MLC 메모리 내에 주어진 LBA의 위치를 조정한다. 본 개시물의 일부 실시예들에 따르면, LBA는 LBA가 처음에 할당되었던 방법과 상관없이 메모리 디바이스의 동작 동안 LBA의 실제 사용에 기초하여 SLC 및 MLC 메모리 사이에서 이동할 수 있다.
도 1은 본 개시물의 일 실시예에 따른 메모리 디바이스를 예시한다. 도 1의 메모리 디바이스는 본 개시물의 다양한 실시예들에 집중하도록 간략화되었다. 메모리 디바이스(100)는 LBA들의 SLC 또는 MLC(또는 서로 다른 밀도의 MLC 사이) 메모리로의 할당을 관리하는 것을 포함하는 본 개시물의 다양한 실시예들에 따라 메모리 디바이스(100)의 동작들을 제어하고 관리하기 위한 제어기(170)를 포함한다. 제어기(170)는 예를 들어, 이산 로직(discrete logic) 또는 상태 머신(state machine)의 형태를 취할 수 있다. 제어기(170)는 또한 프로세서(110)와 같은 호스트와 통신하기 위한 다양한 수단을 포함한다. 예를 들어, 제어기(170)는 당업계에 공지된 것과 같은 범용 직렬 버스(USB : universal serial bus), SATA, PATA, ATA8-ACS, SD, MMC, 컴팩트 플래시(compact flash), 메모리 스틱, IEEE 1394 또는 BA-NAND 인터페이스를 포함할 수 있다. SLC 및 MLC 메모리의 물리적 웨어 레벨링(wear leveling)이 또한 제어기(170)에 의해 처리될 수 있다.
메모리 디바이스(100)는 또한 SLC 메모리(132)의 어레이 및 MLC 메모리(134)의 어레이를 포함한다. 몇몇 실시예들에서, SLC(132) 및 MLC(134) 메모리는 분리된 플래시 메모리 칩들이지만, 다른 실시예들에서 SLC 및 MLC 메모리는 하나의 칩에 포함될 수 있다. 메모리 어레이들(132 및 134)은 또한 서로 다른 밀도의 MLC 메모리로 구성될 수 있다. 어레이(132)는 MLC(4 레벨)일 수 있고, 어레이(134)는 예를 들어 MLC(8 레벨)일 수 있다. 도 1에 예시된 SLC(132) 및 MLC(134) 메모리는 각각 추가로 메모리의 다수의 뱅크들 및 블럭들로 구성될 수 있다. 도 1에 도시된 SLC(132) 및 MLC(134) 메모리 블럭들의 각각은 다수의 메모리 칩들로 구성될 수 있다. 메모리 디바이스(100)의 SLC 및 MLC 메모리의 양(예를 들어, 용량)은 동일하거나 동일하지 않을 수 있다. 일부 실시예들(예를 들어, SLC 및 MLC 메모리를 포함하는 단일 칩)에서, SLC 어레이 및 MLC 어레이의 크기는 주어진 애플리케이션에 대하여 SLC 대 MLC 메모리의 희망하는 양에 따라 할당될 수 있다. 본 개시물에 따른 또다른 실시예에서, 도 1의 메모리 디바이스는 2개의 SLC 칩들 및 2개의 MLC 칩들을 가지는 2-방향 인터리빙 메모리 디바이스일 수 있다. 또한, 본 개시물의 다양한 실시예들에 따르면, SLC 및 MLC 칩들의 다른 양들이 가능할 수 있다.
도 1의 메모리 디바이스는 또한 사용 테이블(136)을 포함한다. 사용 테이블은 제어기(170)에 의해 메모리 디바이스(100)의 다양한 LBA들에 대한 사용 데이터(예를 들어, 수행되는 기록 동작들)를 저장하도록 사용된다. 예를 들어, LBA 상에서 기록 동작이 수행될 때마다, 그 LBA에 대한 연관된 사용 데이터가 업데이트될 것이다. 사용 테이블(136)은 또한 주어진 LBA가 기록된 횟수와 달리 언제 마지막으로 기록된 것인지를 표시하는 사용 정보(예를 들어, 시간 스탬프)를 저장할 수 있다. 예를 들어, LBA들은 LBA가 기록된 누적 횟수 대신에 특정 LBA가 마지막으로 기록된 이래로 얼마나 많은 시간이 경과했는지(예를 들어, 분, 일, 월, 등등)에 기초하여 맵핑될 수 있다. 시간 스탬프를 LBA에 할당하는 것에 부가하여, LBA들은 그 대신에 시간 그룹에 할당될 수 있다. 제 1 시간 그룹에 할당된 LBA들은 이번 달에 사용된 LBA들을 표현할 수 있는 반면, 제 2 시간 그룹에 할당된 LBA들은 지난달에 사용된 LBA들을 표현할 수 있다. 다양한 실시예들에 따르면, 사용은 또한 메모리 디바이스에 전력이 공급될 때 또는 전력이 공급된 이후의 특정 시간 프레임 동안 어떤 LBA들이 사용되는지를 추적하는 것을 포함한다. 특정 시간 프레임은 또한 예를 들어, 리셋 동작 이후가 될 수 있다. 이 LBA들은 그 후에 일반적으로 더 높은 밀도(예를 들어, MLC(4 레벨)) 메모리보다 빨리 액세스될 수 있는 더 낮은 밀도(예를 들어, SLC)의 메모리에 할당될 수 있다. 이것은 예를 들어, 부트 로드 동작(boot load operation) 동안 액세스 시간을 감소시키는 것과 같이 시동(start up) 성능을 개선할 수 있다. 사용 테이블(136) 내에 저장된 사용 데이터는 개별 LBA들의 사용에 제한되지 않는다. 다수의 LBA들 또는 LBA들의 범위들을 사용하는 것에 관한 사용 데이터가 또한 저장될 수 있다. 사용 테이블은 또한 원하는 경우에 소거될 수 있다. 예를 들어, 메모리 디바이스(100)에 접속된 호스트(110)는 사용 테이블(136)의 전부 또는 일부분이 소거될 것을 지시하는 특정 명령을 전송할 수 있다. 사용 테이블의 일 예가 도 1의 블럭(136)에 도시된다.
사용 테이블(136)은 휘발성 및 비휘발성 메모리 부분 중 하나 또는 모두를 가지는 집적 회로 디바이스와 같은 독립형 구성요소 내에 저장될 수 있다. 휘발성 및 비휘발성 메모리 모두를 가지는 실시예들에 대하여, 휘발성 메모리는 메모리 디바이스의 동작 동안 현재 사용 테이블을 유지할 수 있다. 그 후에 사용 테이블은 휘발성 메모리로부터 비휘발성 메모리로 주기적으로 복사될 수 있다. 현재 사용 테이블(136)은 또한 전력이 공급될 때 휘발성 메모리로 로딩될 수 있고, 메모리 디바이스의 전력이 차단되는 동안 비휘발성 메모리로 다시 이동될 수 있다. 다른 실시예들은 사용 테이블(136) 데이터가 메모리 디바이스(100)의 메모리 어레이(132/134) 내에 저장되는 것을 허용한다. 예를 들어, 사용 테이블 데이터는 메모리 디바이스 내의 LBA와 연관된 데이터와 함께(예를 들어, 부가되어) 저장될 수 있다. 다른 실시예들에서, 사용 테이블은 SLC(132) 또는 MLC(134) 메모리의 지정된 위치에 저장될 수 있다.
도 1은 또한 프로세서(110)에 결합된 메모리 디바이스(100)를 예시한다. 메모리 디바이스(100)는 다수의 버스들 및 신호들을 포함할 수 있는 인터페이스(174)를 통해 프로세서(110)에 결합된다. 예를 들면, 프로세서에 의해 생성된 제어 신호들은 제어 버스(172)에 의해 메모리 디바이스에 결합될 수 있다. 추가로, 어드레스 버스(142) 및 데이터 버스(162)가 또한 도면에 도시되어 있다. 인터페이스(174)는 전술된 인터페이스 프로토콜들(예를 들어, USB, SATA, PATA, 등) 중 하나를 따를 수 있다.
도 2는 본 개시물의 실시예들을 구현할 때, 제어기(170)에 의해 수행되는 다양한 동작들 중 몇몇의 흐름도를 예시한다. 본 개시물의 일부 실시예들에서, 메모리 디바이스의 제어기는 LBA가 메모리 디바이스(100) 내에 할당되어야 할 위치를 결정한다(200). 전술된 것과 같이, FAT 테이블은 빈번하게 사용될 수 있다. 따라서, 본 개시물의 일 실시예에 따르면, 메모리 디바이스(100)의 제어기(170)는 FAT와 연관된 LBA들을 SLC(예를 들어, MLC(2 레벨) 메모리)에 할당할 수 있다(214). 이 실시예에 따른 FAT LBA들은 SLC 메모리에 영구적으로 할당될(예를 들어, 확정될(pinned)) 수도 있다. 다른 실시예들에서, 제어기는 FAT LBA들을 MLC 메모리에 할당할 수 있고(206), 제어기(170)는 사용에 기초하여 FAT 테이블들을 이동시킬 수 있다. 따라서, 일 실시예에 따르면, 모든 LBA들은 먼저 MLC 메모리(206)에 기록될 수 있다(206). 다른 실시예들에서, 모든 LBA들은 먼저 SLC 메모리에 할당될 수 있다(214). 또 다른 실시예들은 기록 동작이 수행될 모든 LBA들을 SLC 메모리에 할당할 수 있다. 이 실시예들에서, 현재 기록되는 LBA가 이미 MLC 메모리에 할당되어 있다면, 제어기(170)는 기록되는 LBA가 궁극적으로 SLC 메모리에 할당되어야 하는지 또는 MLC 메모리에 할당되어야 하는지를 결정할 수 있다.
제어기는 또한 동작 동안 메모리 디바이스의 LBA들에 대한 사용 테이블 데이터를 추적하여 유지한다(예를 들어, 업데이트한다)(208/216). 만약 현재 MLC 메모리에 할당된 LBA의 사용이 일부 임계값을 초과하면(210), 제어기는 LBA와 연관된 데이터를 SLC 메모리로 이동시키는(그리고 LBA를 SLC 메모리 내의 위치에 재할당하는) 것을 시도할 것이다(212). 일 실시예에서, 상기 임계값은 주어진 LBA에서 수행된 1000회의 기록 동작들일 수 있다. 그러나, 실시예들은 단일 임계값에 제한되지 않는다. 예를 들어, 임계값은 메모리에서 수행된 전체 기록 동작들의 일부일 수 있다(212). 만약 MLC 메모리에 할당된 모든 LBA들에 대한 사용이 임계값 미만이 되면, 그 LBA들은 계속해서 MLC 메모리에 할당될 것이다.
일 실시예에 따르면, LBA가 SLC 메모리에 할당될 때마다, 제어기(214)로부터 또는 MLC 메모리에 할당된 LBA가 임의의 임계값을 초과하기 때문에(212), SLC 메모리 내에 충분한 수의 여분의 위치들이 존재하는지에 대해 결정된다(218). 여분의 위치들은 데이터 처리(handling) 및 하우스키핑(housekeeping)이 메모리 디바이스에서 수행되는 것을 허용하는 것이 바람직하다. 만약 SLC로의 현재 기록 동작이 발생한 이후에 SLC 내에 충분한 여분들이 존재하면, 제어기에 의한 추가의 동작은 불필요하며, LBA는 SLC 메모리에 할당된다. 그러나 만약 LBA의 SLC 메모리로의 현재 할당이 너무 적어서 SLC 메모리 내에 여분의 위치들을 발생하면, 제어기는 SLC 메모리 내에 최소 개수의 여분의 위치들을 유지하기 위해 본 개시물의 다양한 실시예들에 따른 데이터 관리 기능들을 수행할 것이다. 예를 들어, 제어기는 SLC에 현재 할당된 각각의 LBA에 대하여 사용 데이터를 검토할 것이다. SLC 메모리에 현재 할당된 LBA가 그와 연관된 최소한의 사용을 가지는지에 따라, 그 LBA와 연관된 데이터는 MLC 메모리(예를 들어, 다음의 더 높은 밀도의 메모리)로 이동될 것이다(220). LBA들에 대한 사용을 표현하기 위해 시간 스탬프를 사용하는 실시예들에서, SLC 메모리에 할당된 가장 최근에 사용된 LBA는 MLC 메모리로 이동될 것이다. 하나 이상의 실시예들에 따르면, LBA가 특정 시간 주기에 걸쳐 기록 동작을 경험하지 않았다면, 데이터가 더 높은 밀도의 메모리로 이동될 것이다(예를 들어, SLC로부터 MLC로). 예를 들어, 해당 LBA의 시간 스탬프가 LBA가 한 달 이상 기록되지 않았다고 표시하는 경우에 데이터는 MLC(4 레벨) 메모리로부터 MLC(8 레벨) 메모리로 이동될 수 있다. 본 개시물의 다양한 실시예들에 따르면, 다른 기간들이 가능하다.
SLC에 현재 할당된 최소 사용된 LBA와 연관된 데이터의 MLC 메모리(220)로의 이동 동작을 수행함으로써(220), 현재 LBA의 SLC 메모리로의 기록 동작이 종료된 후에 SLC 메모리 내에 충분한 양의 여분의 위치들이 존재해야 한다. 일부 실시예들에 따르면, 현재 SLC 메모리에 할당된 최소 사용된 LBA의 사용이 임의의 양을 초과하는 경우에 제어기는 SLC 메모리로의 기록 동작이 진행되는 것을 막을 수도 있다. 이 상황에서, SLC 메모리에 할당되는 것이 금지된 LBA는 그 대신에 MLC 메모리로 할당될 수 있다. LBA와 연관된 데이터가 SLC로부터 MLC로 이동되거나(220) 그 반대로 이동되면(212), 그 LBA와 연관된 사용 데이터는 적어도 본 개시물의 일 실시예에 따라 증가되지 않는다.
본 개시물의 다양한 실시예들에 따라 MLC 및 SLC 메모리 내부에서 또는 이들 사이에서 LBA들과 연관된 데이터의 이동이 발생하는 동안, 제어기(170)는 또한 메모리 디바이스 상에서 물리적 웨어 레벨링 동작들을 수행할 수 있다. 예를 들어, MLC 메모리에 할당된 LBA는 MLC 메모리 내에 위치된 또다른 PBA에 재할당될 수 있다. 따라서, LBA는 메모리 영역의 동일한 물리적 메모리 셀들에 대한 기록 동작들 모두를 수행하지 않고 메모리(예를 들어, MLC 또는 SLC)의 원하는 영역 내에 남아있게 된다. 유사한 물리적 웨어 레벨링은 메모리의 SLC 영역에 대해서도 수행된다.
도 3 내지 5는 본 개시물의 일 실시예에 따른 데이터 이동 및 기록 동작을 예시한다. 도 3은 메모리 디바이스(300)의 2-방향 인터리빙 실시예를 예시한다. 이 구성은 데이터의 큰 부분들이 2개의 메모리 칩들에 의해 공유되는 것을 허용한다. 그러나, 본 개시물에 따른 메모리 디바이스들은 2-방향 인터리빙 구성들에 제한되지 않는다. 도 3의 메모리 디바이스(300)는 제어기(302), SLC 메모리(306), MLC 메모리(308) 및 SLC 및 MLC 메모리를 제어기(304)에 결합하는 데이터 버스를 가지는 것으로 도시된다. 도 3에 도시된 실시예에서, SLC 메모리(306)는 2개의 플래시 SLC 메모리 집적 회로들(예를 들어, 칩들)(310/312)을 포함한다. 도 3에 도시된 메모리 디바이스(300)의 MLC 메모리(308)는 2개의 플래시 MLC 메모리 칩들(314/316)을 포함한다. 다른 실시예들은 예를 들어, 서로 다른 개수의 SLC 및 MLC 칩들을 갖는다. 도 3에 도시된 메모리 디바이스는 본 개시물의 실시예들에 집중하도록 간략화되었다. 다른 구성요소들은 당업자들에게 공지된 것과 같이 메모리 디바이스(300) 내에 포함될 수 있다.
도 3은 SLC 메모리(306) 내의 위치들(322)과, 그들의 할당된 LBA들 및 각각의 사용 데이터를 도시한다. 도 1에 대해 전술된 것과 같이, 사용 데이터는 LBA와 연관된 위치 내에 저장될 수 있거나 서로 다른 위치(136)에 저장될 수 있다. 도 3의 실시예는 4개의 LBA들이 사전에 SLC 메모리에 할당된 일 실시예를 예시한다. 다른 실시예들은 임의의 주어진 시간에 MLC 메모리에 할당된 LBA들만을 가질 수 있다. 도 3에 도시된 본 실시예에서, 최소 개수의 여분의 SLC 위치들은 2개이다. 그러나, 본 개시물의 실시예들은 2개의 여분의 위치들을 유지하는데 제한되지 않는다.
도 4는 도 2의 블럭(214)에 도시된 것과 같이 LBA가 SLC 메모리에 할당되는 동작을 예시한다. 이 예에서, 새로운 데이터를 위한 공간을 형성하고, SLC 메모리(306) 내에서 요구되는 2개의 여분 위치들을 유지하기 위해 이동 동작이 수행된다. 도 2를 다시 참조하면, 최저 사용을 가지는 LBA와 연관된 데이터는 SLC 메모리(306) 내에 최소 개수의 여분의 위치들을 유지하기 위해 MLC 메모리로 이동된다(220). 이 예에서, 위치(322)로 할당되는, LBA=2(사용=1을 가짐)와 연관된 데이터는 MLC 메모리(308)로 이동된다(418). 도 5는 LBA=7에서의 기록 동작(520)을 예시하며, 연관된 데이터는 SLC 메모리(306)로 기록된다. 기록 동작(520) 및 이동 동작(418)은 임의의 순서로 수행될 수 있다. 상기 실시예들은 이동 동작(418)이 기록 동작(520) 이전에 발생해야 하는 것으로 제한되지 않는다. 도 5에 예시된 것과 같이, 2개의 요구되는 여분의 메모리 위치들 중 하나는 효율적으로 SLC 메모리 내에 재배치된다. 그러나, 기록 동작(520)이 종료하면, 2개의 필요한 여분 위치들은 SLC 메모리(306) 내에 여전히 존재하는 것으로 도시된다. 도 3 내지 5에 도시된 본 개시물의 다양한 실시예들에 따르면, 다수의 더 많은 메모리 위치들 및 LBA들이 가능하다는 것에 주목해야 한다. 추가로, 다양한 실시예들에 따른 이동 동작들은 또한 그 사용이 이동 동작이 요구되는지 결정하기 위해 사용된 LBA와 함께 다수의 LBA들을 이동시키는 것을 포함할 수 있다. 예를 들어, 몇몇 실시예들에 따르면, 만약 메모리의 임의의 메모리 세그먼트가 논리 블럭들의 배수(예를 들어, 4LBAs, 8LBAs, 등)의 액세스들에서 가장 효율적으로 사용되는 구조를 가지면, 다양한 실시예들은 LBA 사용이 단일 LBA들에 의해 추적되는 경우에도 이 다양한 크기들의 LBA들의 그룹들을 이동시킬수 있다. 예를 들어, 만약 LBA=1이 이동될 것으로 결정되면, LBA들 2, 3, 4은 본 개시물의 다양한 실시예들에 따라 동일한 동작 동안 이동될 수도 있다.
도 1을 다시 참조하면, 본 개시물에 따른 실시예들은 프로세서(110)와 같은 호스트와 메모리 디바이스를 결합하기 위해 표준 인터페이스(174)를 가지는 메모리 디바이스(100)를 포함할 수 있다. 하드 디스크 드라이브(HDD)들을 위해 구성된 것과 같은 다양한 유형의 표준 인터페이스들이 있다. 예를 들어, SATA 및 PATA는 통상적인 HDD 인터페이스들이다. USB 및 SD 인터페이스들과 같은 추가적인 표준 비-HDD용 인터페이스 또한 당업계에 존재한다. 상기 및 다른 표준 인터페이스들 및 프로토콜들을 사용하는 본 개시물의 실시예들은 현존하는 프로세서들과, 상기 인터페이스들을 사용하기 위해 이미 구성된 제어기들에 의해 사용될 수 있다.
본 개시물에 따른 일 실시예에서, 인터페이스(174) 및 제어기(170)는 표준 HDD 인터페이스 및 프로토콜을 에뮬레이트(emulate)하도록 구성된다. 일반적으로, HDD들은 캐시 메모리(예를 들어, RAM) 및 회전하는 자기 매체 모두를 포함한다. 일반적인 HDD와 상호작용하는 호스트는 데이터가 HDD 데이터 캐시 내에 또는 자기 매체 위에 저장되어야 하는지 결정할 것이다. 예를 들어, FAT는 종종 호스트에 의해 HDD 데이터 캐시 내에 저장되는데 이는 FAT가 빈번하게 업데이트될 가능성이 있기 때문이다. 업데이트될 가능성이 적은 데이터는 호스트에 의해 자기 매체에 저장된다. 본 개시물의 몇몇 실시예들에 따르면, 호스트(110)는 메모리 디바이스(100)가 일반적인 HDD가 아니며, 따라서 메모리 디바이스(100)와 통신할 때 표준 HDD 명령들을 사용해야 한다는 것을 알지 못한다. 본 개시물의 실시예들에 따르면, 제어기(170)는 호스트로부터 데이터 및 명령들을 수신하여 이에 따라 SLC(132) 및/또는 MLC(134) 메모리 내의 저장을 지시하도록 구성된다. 예를 들어, 호스트가 신용하는 FAT 테이블은 제어기(170)에 의해 SLC 메모리(132) 내에 저장되는 대신에 HDD 데이터 캐시 내에 저장된다. 호스트(110)가 HDD의 자기 매체에 저장하려고 하는 데이터(예를 들어, 덜 빈번하게 업데이트되는 데이터)는 MLC 메모리(134) 내에 저장된다. 본 개시물의 다양한 실시예들에 따른 제어기(170)는 도 2를 참조하여 논의된 것과 같이 사용 테이블(136)을 업데이트하고 LBA들 상에서 동작들을 수행할 수 있다. 예를 들어, 도 2의 결정 블럭(210)에 대하여, MLC 메모리(134)에 할당된 LBA와 연관된 데이터는 LBA에 대한 사용 값이 임의의 특정 값을 초과하면 SLC 메모리(132) (및 SLC 내의 상응하는 위치에 재할당된 LBA)로 이동될 수 있다.
RAM 캐시 메모리 및 회전하는 자기 매체를 가지는 전술된 표준 HDD 인터페이스 및 프로토콜과 유사한 또 다른 HDD 인터페이스 및 프로토콜이 존재한다. 이 인터페이스 및 프로토콜은 T13 기술 위원회에 의해 주장되는 "Non Volatile Cache Command Proposal for ATA8-ACS(ATA8-ACS에 대한 비휘발성 캐시 명령 제안)"에서 설명된다. ATA8-ACS 제안은 전술된 것과 같은 휘발성 캐시 메모리(예를 들어, RAM) 대신에 비휘발성 캐시 메모리 및 회전 매체를 가지는 전통적인 HDD 디바이스와의 인터페이싱을 논의한다. 본 개시물의 다양한 실시예들은 제안된 ATA8-ACS 프로토콜을 사용할 수도 있다. 예를 들어, 호스트(110)는 비휘발성 캐시 명령들의 사용을 통해 ATA8-ACS 프로토콜에 따라 호스트(110)가 비휘발성 캐시 메모리라고 신용하는 것에 데이터가 저장되는 것을 표시할 수 있다. 다양한 실시예들 중 하나 이상의 실시예에 따른 제어기(170)는 ATA8-ACS 명령을 해석하여 데이터를 메모리 디바이스(100)의 SLC(예를 들어, 최저 밀도의) 메모리(132)로 전송한다. 그 대신에, 호스트(110)가 회전하는 자기 매체인 것으로 신용하는 것에 저장되도록 지시하는 데이터는 제어기(170)에 의해 메모리 디바이스(100)의 MLC(예를 들어, 더 높은 밀도의) 메모리(134)로 전송된다. ATA8-ACS 프로토콜에 따르면, 호스트(110)는 호스트가(110) 메모리 디바이스의 비휘발성 캐시 메모리 부분이라고 신용하는 것에 하나 이상의 LBA들을 고정시킬 수 있다. 다양한 실시예들에 따르면, 이 LBA들은 SLC 메모리(132) 또는 본 개시물의 실시예들에 따른 메모리 디바이스(100)의 최저 밀도의 메모리에 고정될 것이다.
본 개시물의 다른 실시예들에서, 호스트(110)는 메모리 디바이스(100)의 실제 특성(예를 들어, 플래시 메모리)을 인식할 수 있다. 이 실시예에서, 호스트는 메모리 디바이스에 대한 사용 테이블을 유지하고, 도 2에 도시되고 전술된 것과 같은 다양한 실시예들의 다양한 동작들을 수행할 것을 메모리 디바이스 제어기(170)에 지시한다. 예를 들어, 호스트(110)는 저장될 데이터의 특성에 기초하여 메모리 디바이스의 SLC 메모리(132) 내에 데이터를 저장할 것을 메모리 디바이스(100)에 지시할 수 있다. 예를 들어, 호스트(110)는 FAT에 대한 빈번한 업데이트의 가능성으로 인해 메모리 디바이스(100)에 대한 FAT가 메모리 디바이스(100)의 SLC 메모리(132) 내에 저장되도록 할당할 수 있다(214). 호스트(110)는 또한 LBA가 빈번하게 사용되지(예를 들어, 기록되지) 않을 가능성으로 인해 데이터가 메모리 디바이스의 MLC 메모리 내에 저장될 것을 지시할 수 있다(206). 저장될 데이터와 함께, 호스트는 또한 메모리 디바이스(100) 내의 데이터의 희망하는 목적지(예를 들어, SLC 또는 MLC)를 표시하는 표시자(예를 들어, 플래그)를 제어기(170)에 전송할 수 있다.
다양한 실시예들에 따르면, 호스트는 모든 LBA들을 SLC 메모리에 할당하거나, 모든 LBA들을 MLC 메모리에 할당하거나, 데이터의 특성에 기초하여 주어진 LBA가 할당될 위치를 동적으로 결정할 수 있다. 예를 들어, 데이터의 특성은 주어진 LBA와 연관될 데이터의 알려진 또는 예상된 사용 빈도를 의미할 수 있다. LBA들이 SLC에 할당되는지, MLC에 할당되는지, 또는 동적으로 할당되는지에 따라, 도 2에 예시된 동작들은 본 개시물의 다양한 실시예들에 따라 LBA들 상에서 수행될 수 있다. 예를 들어, MLC 메모리(134)로의 이동 동작들(220)은 SLC 메모리(132) 내에 충분한 양의 여분의 위치들을 유지(218)하기 위해 발생할 수 있다. 호스트에 의해 이 동작들을 수행하도록 하는 결정은 호스트(110)에 의해 유지되는 것과 같은 사용 테이블 데이터에 기초하여 실행될 수 있다. 호스트(110)는 메모리 디바이스(100) 내에 포함된 SLC 및 MLC 메모리의 양에 관하여 문의할 수도 있다. 본 개시물의 실시예들은 또한 전부 SLC로, 전부 MLC로 또는 SLC 및 MLC 메모리 양자의 조합으로 구성될 수 있는 메모리 디바이스들을 사용할 수 있다. 호스트는 또한 SLC 및 MLC 메모리의 조합으로 구성된 디바이스들 내에서 SLC 및 MLC로 표기된 메모리 사이의 분리에 대하여 문의할 수 있다.
추가적인 실시예들은 메모리 디바이스 제어기(170) 또는 호스트(110)가 사용 테이블(136)을 사용하는 대신에 SLC(132) 메모리를 향해 지시되는 포인터를 유지하는 것을 허용한다. 포인터들은 당업자들에게 공지되어 있다. 이 실시예들에 따르면, 단일 포인터가 사용되며 상기 포인터는 SLC(132) 메모리 공간을 통해 진행한다. SLC 메모리(132) 내에 새로운 위치가 필요할 때, 포인터가 검색되며, 상기 포인터에 의해 참조되는 위치 내의 현재의 SLC 데이터는 다시 맵핑되어 MLC 메모리(134)로 이동된다. 포인터에 의해 참조되는 SLC 위치는 그 후에 SLC 메모리(132) 내에 저장될 새로운 데이터로 오버라이트(overwrite)되며, 상기 포인터는 다음 SLC 메모리(132) 위치로 진행한다. 이 실시예들은 또한 메모리 디바이스 또는 호스트가 SLC 메모리 내에 남아 있는 것이 적절하다고 판단하는 데이터를 SLC(예를 들어, FAT)에 고정할 수 있다.
도 6은 본 개시물의 일 실시예에 따른 적어도 하나의 메모리 디바이스를 가지는 전자 시스템의 기능적인 블럭도이다. 도 6에 예시된 메모리 디바이스(600)는 프로세서(610)에 결합된다. 프로세서(610)는 마이크로 프로세서 또는 일부 다른 유형의 제어 회로일 수 있다. 메모리 디바이스(600) 및 프로세서(610)는 전자 시스템(620)의 일부분을 형성한다. 메모리 디바이스(600)는 본 개시물의 실시예들의 이해를 돕는 메모리 디바이스들의 특징들에 집중하기 위해 간략화되었다.
메모리 디바이스(600)는 로우들 및 컬럼들로 이루어진 뱅크들 내에 배치될 수 있는 메모리 셀들(630)의 어레이를 포함한다. 메모리 어레이(630)는 서로 다른 밀도들을 가지는 메모리의 적어도 2개의 어레이들(632/634)을 포함한다. 예를 들어, 메모리 어레이 세그먼트(632)는 SLC 또는 MLC(4레벨) 메모리일 수 있고, 메모리 어레이 세그먼트(634)는 MLC(8 레벨) 메모리일 수 있다. 하나 이상의 실시예들에 따르면, 이 메모리 셀들은 플래시 메모리 셀들이다. 각각의 어레이(632/634)는 메모리 셀들의 다수의 뱅크들 및 블럭들로 구성될 수 있다.
어드레스 버퍼 회로(640)는 어드레스 입력 접속부들 A0-Ax(642) 상에서 제공되는 어드레스 신호들을 래치(latch)하도록 제공된다. 메모리 어레이(630)를 액세스하기 위해, 어드레스 신호들이 수신되고, 로우 디코더(644) 및 컬럼 디코더(646)에 의해 디코딩된다. 본 발명의 장점에 의해, 어드레스 입력 접속부들의 개수는 메모리 어레이(630)의 구조 및 밀도에 의해 결정된다는 것이 당업자들에 의해 인식될 것이다. 즉, 어드레스들의 개수는 증가된 메모리 셀 개수들 및 증가된 뱅크 및 블럭 개수들에 따라 증가한다.
메모리 디바이스(600)는 감지/데이터 캐시 회로(650)를 사용하여 메모리 어레이 컬럼들 내에서의 전압 또는 전류 변화들을 감지함으로써 메모리 어레이(630) 내의 데이터를 판독한다. 일 실시예에서, 감지/데이터 캐시 회로(650)는 메모리 어레이(630)로부터의 데이터의 로우(row)를 판독하고 래치하도록 결합된다. 데이터 입력 및 출력 버퍼 회로(660)는 다수의 데이터 접속부들(662)을 통한 프로세서(610)와 의 양방향 데이터 통신을 위해 포함된다. 기록 회로(655)는 메모리 어레이(630)에 데이터를 기록하기 위해 제공된다.
제어 회로(670)는 또한 사용 테이블 블럭(660)에 결합되는 것으로 도시된다. 본 개시물의 다양한 실시예들에 따른 사용 테이블(660)은 메모리 어레이(630)의 LBA들의 사용과 관련된 데이터를 저장한다. 사용 테이블 블럭(660)은 도 6에 도시된 것과 같이 휘발성 메모리(674) 및 비휘발성 메모리(676) 모두를 사용하는 별개의 메모리 디바이스일 수 있다. 그러나, 본 개시물의 다양한 실시예들은 이에 제한되지 않는다. 다른 실시예들은 LBA들의 사용 데이터를 저장하기 위해 메모리 어레이(630)를 사용할 수 있다. 사용 데이터는 메모리 어레이(630)의 지정된 위치 내에 상주할 수 있거나 메모리 어레이(630) 내의 LBA에 상응하는 위치에 저장될 수 있다.
제어 회로(670)는 본 개시물의 다양한 실시예들의 특징들을 구현하도록 부분적으로 구성된다. 일 실시예에서, 제어 회로(670)는 상태 머신을 사용할 수 있다. 하나 이상의 실시예들에 따르면, 제어 회로(670), 어드레스 회로(640), I/O 회로(660), 로우 디코딩(644), 기록/소거(655), 컬럼 디코딩(646) 및 감지/데이터 캐시(650) 기능 블럭들은 도 1에 도시된 제어기(170)를 포함할 수 있다. 제어 신호들 및 명령들은 프로세서(610)에 의해 명령 버스(672)를 통해 메모리 디바이스(600)로 전송될 수 있다. 명령 버스(672)는 이산 신호(discrete signal)일 수 있거나 다수의 신호들(예를 들어, 명령 버스)로 구성될 수 있다. 이 명령 신호들(672)은 데이터 판독, 데이터 기록(프로그래밍) 및 소거 동작들을 포함하는 메모리 어레이(630) 상의 동작들을 제어하기 위해 사용된다. 명령 버스(672), 어드레스 버스(642) 및 데이터 버스(662)는 다수의 표준 인터페이스들(678)을 형성하기 위해 모두 결합될 수 있거나 부분적으로 결합될 수 있다. 예를 들면, 메모리 디바이스(600)와 프로세서(610) 사이의 인터페이스(678)는 범용 직렬 버스(USB) 인터페이스일 수 있다. 인터페이스(678)는 또한 다수의 하드 디스크 드라이브들(HDD)과 함께 사용되는 표준 인터페이스일 수 있다. 예를 들어, 인터페이스는 SATA 또는 PATA 인터페이스의 형태를 취할 수 있다. 다른 HDD 인터페이스들은 당업자들에게 공지되어 있다.
결론
본 개시물의 다양한 실시예들은 SLC 및 MLC 메모리 모두를 가지는 하이브리드 메모리 디바이스들 내에 저장된 논리적 블럭 어드레스들의 추적된 사용에 기초하여 논리적 블럭 어드레스들을 관리하기 위한 방법들을 제공한다. 또한 다수의 논리적 블럭 어드레스 관리 동작들을 수행하도록 구성된 장치가 개시되며, 상기 동작들은 하이브리드 메모리 디바이스 내에 저장된 논리적 블럭 어드레스들의 추적된 사용에 응답하여 수행된다.
특정 실시예들이 본 명세서에서 도시되고 설명되었지만, 당업자는 동일한 목적을 달성하기 위해 예측되는 임의의 장비가 도시된 특정 실시예들을 대신할 수 있음을 인식할 것이다. 그 응용은 본 발명의 임의의 대응들 또는 변형들을 커버하기 위한 것이다. 따라서 본 발명은 명백하게 청구항들 및 그 등가물들에 의해서만 제한된다.

Claims (20)

  1. 제 1 밀도를 각각 가지는 메모리 셀들의 제 1 어레이와, 제 2 밀도를 각각 가지는 메모리 셀들의 제 2 어레이를 포함하는 메모리 디바이스에 저장된 데이터를 관리하기 위한 방법으로서,
    상기 메모리 디바이스의 논리적 어드레스와 연관된 사용을 결정하는 단계; 및
    상기 사용에 적어도 부분적으로 기초하여, 메모리 셀들의 상기 제 1 어레이 및 제 2 어레이 중 하나에 상기 논리적 어드레스와 연관된 데이터를 저장하는 단계를 포함하는, 메모리 디바이스에 저장된 데이터를 관리하기 위한 방법.
  2. 청구항 1에 있어서,
    상기 사용은 상기 논리적 어드레스에 대하여 수행되는 다수의 기록 동작들을 포함하는, 메모리 디바이스에 저장된 데이터를 관리하기 위한 방법.
  3. 청구항 1에 있어서,
    상기 제 1 메모리 어레이는 메모리 셀당 제 1 수의 비트들을 저장하도록 구성된 MLC 메모리 셀들을 포함하고, 상기 제 2 메모리 어레이는 메모리 셀당 제 2 수의 비트들을 저장하도록 구성된 MLC 메모리 셀들을 포함하며, 상기 제 2 수는 상기 제 1 수보다 큰, 메모리 디바이스에 저장된 데이터를 관리하기 위한 방법.
  4. 청구항 1에 있어서,
    상기 메모리 디바이스의 사용 테이블 내에 상기 메모리 디바이스의 논리적 어드레스들과 연관된 사용을 저장하는 단계를 더 포함하는, 메모리 디바이스에 저장된 데이터를 관리하기 위한 방법.
  5. 청구항 4에 있어서,
    상기 논리적 어드레스와 연관된 사용을 유지하는 단계를 더 포함하며, 상기 논리적 어드레스와 연관된 사용을 유지하는 단계는 상기 논리적 어드레스에 대하여 수행되는 기록 동작에 응답하여 상기 사용 테이블을 업데이트하는 단계를 포함하는, 메모리 디바이스에 저장된 데이터를 관리하기 위한 방법.
  6. 청구항 4에 있어서,
    상기 사용은 상기 논리적 어드레스에 대하여 수행되는 기록 동작의 가장 최근의 발생에 상응하는 시간 스탬프를 포함하는, 메모리 디바이스에 저장된 데이터를 관리하기 위한 방법.
  7. 청구항 1에 있어서,
    상기 데이터를 저장하는 단계는 논리적 어드레스를, 상기 데이터가 저장될 상기 제 1 메모리 어레이 및 상기 제 2 메모리 어레이 중 하나의 메모리 내의 물리적 위치와 연관시키는 단계를 더 포함하는, 메모리 디바이스에 저장된 데이터를 관리하기 위한 방법.
  8. 청구항 1에 있어서,
    상기 사용을 결정하는 단계는 향후 사용을 예측하는 단계를 포함하는, 메모리 디바이스에 저장된 데이터를 관리하기 위한 방법.
  9. 청구항 1에 있어서,
    상기 제 1 메모리 어레이 및 상기 제 2 메모리 어레이 중 하나에 데이터를 초기에 저장하는 단계를 더 포함하는, 메모리 디바이스에 저장된 데이터를 관리하기 위한 방법.
  10. 청구항 1에 있어서,
    상기 논리적 어드레스와 연관된 사용에 적어도 부분적으로 기초하여, 상기 제 2 메모리 어레이에 저장된 데이터를 상기 제 1 메모리 어레이로 이동시키는 단계를 더 포함하는, 메모리 디바이스에 저장된 데이터를 관리하기 위한 방법.
  11. 청구항 1에 있어서,
    상기 데이터의 사용은 상기 데이터가 상기 메모리 디바이스의 전력이 공급된 이후의 특정 시간 프레임 동안 액세스 되는지에 적어도 부분적으로 기초하는, 메모리 디바이스에 저장된 데이터를 관리하기 위한 방법.
  12. 청구항 1에 있어서,
    상기 논리적 어드레스와 연관된 사용을 결정하는 단계는, 상기 사용이 메모리 내의 논리적 위치와 연관될 데이터의 결정된 특성에 응답하여 적어도 부분적으로 결정되는, 논리적 어드레스와 연관된 사용을 결정하는 단계와, 상기 특성에 적어도 부분적으로 기초하여, 상기 메모리 셀들의 제 1 어레이 및 상기 메모리 셀들의 제 2 어레이 중 하나에 상기 데이터를 저장하는 단계를 더 포함하는, 메모리 디바이스에 저장된 데이터를 관리하기 위한 방법.
  13. 청구항 12에 있어서,
    상기 데이터의 특성은 상기 데이터의 사용 빈도인, 메모리 디바이스에 저장된 데이터를 관리하기 위한 방법.
  14. 제 1 밀도를 각각 가지는 메모리 셀들의 제 1 어레이;
    제 2 밀도를 각각 가지는 메모리 셀들의 제 2 어레이; 및
    메모리 디바이스 내의 논리적 어드레스의 사용 데이터를 결정하고, 상기 사용에 적어도 부분적으로 기초하여, 상기 메모리 셀들의 제 1 어레이 및 제 2 어레이 중 하나에 상기 논리적 어드레스와 연관된 데이터를 저장하도록 구성된 제어 회로를 포함하는 메모리 디바이스.
  15. 청구항 14에 있어서,
    상기 사용 데이터는 상기 논리적 어드레스 상에서 수행되는 다수의 기록 동작들을 포함하는 메모리 디바이스.
  16. 청구항 14에 있어서,
    상기 제어 회로는 상기 메모리 셀들의 제 1 어레이 및 제 2 어레이 상에서 웨어 레벨링(wear leveling) 동작을 수행하도록 추가적으로 구성되는 메모리 디바이스.
  17. 청구항 14에 있어서,
    상기 사용 데이터는 상기 논리적 어드레스 상에서 가장 최근의 기록 동작이 수행된 이래로 경과한 시간이 상기 사용 데이터로부터 결정될 수 있도록 하는 데이터를 포함하는 메모리 디바이스.
  18. 청구항 14에 있어서,
    상기 제어 회로는, 상기 메모리 셀들의 제 1 어레이 또는 상기 메모리 셀들의 제 2 어레이 상에서 선택적으로 기록 동작을 수행하고, 각각의 논리적 어드레스 상에서 수행되는 다수의 기록 동작들에 적어도 부분적으로 기초하여 물리적 저장 위치들에 상기 논리적 어드레스들을 할당하며, 상기 기록 동작들의 횟수가 임계값을 초과하는 경우에 상기 메모리 셀들의 제 1 어레이에 논리적 어드레스들을 재할당하도록 추가적으로 구성되는 메모리 디바이스.
  19. 청구항 14에 있어서,
    상기 제어 회로는 상기 메모리 디바이스의 제어 회로에 결합되는 호스트로부터의 수신된 명령에 적어도 부분적으로 응답하여, 상기 메모리 셀들의 제 1 어레이 또는 상기 메모리 셀들의 제 2 어레이에 데이터를 기록하도록 추가적으로 구성되는 메모리 디바이스.
  20. 청구항 14에 있어서,
    상기 제어 회로는, 상기 메모리 셀들의 제 2 어레이 내의 위치들이 사용가능한 경우에, 최저 횟수의 기록 동작들이 수행되는 논리적 어드레스와 연관된 데이터를 상기 메모리 셀들의 제 2 어레이로 이동시키거나, 특정 기간보다 긴 기간 동안 기록 동작이 수행되지 않은 논리적 어드레스와 연관된 데이터를 상기 메모리 셀들의 제 2 어레이로 이동시킴으로써, 상기 메모리 셀들의 제 1 어레이 내에서 적어도 특정 개수의 여분 위치들을 유지하도록 추가적으로 구성되는 메모리 디바이스.
KR1020107029386A 2008-05-28 2009-05-28 하이브리드 메모리 관리 KR101283711B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/127,945 US8060719B2 (en) 2008-05-28 2008-05-28 Hybrid memory management
US12/127,945 2008-05-28
PCT/US2009/045386 WO2009155022A2 (en) 2008-05-28 2009-05-28 Hybrid memory management

Publications (2)

Publication Number Publication Date
KR20110015023A true KR20110015023A (ko) 2011-02-14
KR101283711B1 KR101283711B1 (ko) 2013-07-08

Family

ID=41381226

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107029386A KR101283711B1 (ko) 2008-05-28 2009-05-28 하이브리드 메모리 관리

Country Status (6)

Country Link
US (4) US8060719B2 (ko)
EP (1) EP2291746B1 (ko)
JP (2) JP5728672B2 (ko)
KR (1) KR101283711B1 (ko)
CN (1) CN102047230A (ko)
WO (1) WO2009155022A2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140043329A (ko) * 2011-03-31 2014-04-09 샌디스크 테크놀로지스, 인코포레이티드 셀 저장 용량당 서로 다른 비트를 갖는 세 개의 메모리 층을 구비한 메모리 시스템
KR20160025577A (ko) * 2013-06-28 2016-03-08 마이크론 테크놀로지, 인크. 메모리 디바이스 작동 관리
KR20200123850A (ko) * 2018-03-21 2020-10-30 마이크론 테크놀로지, 인크. 하이브리드 메모리 시스템

Families Citing this family (199)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
WO2009072102A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. System and methods employing mock thresholds to generate actual reading thresholds in flash memory devices
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
WO2009118720A2 (en) 2008-03-25 2009-10-01 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8281061B2 (en) * 2008-03-31 2012-10-02 Micron Technology, Inc. Data conditioning to improve flash memory reliability
US8060719B2 (en) 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
US20090319721A1 (en) * 2008-06-19 2009-12-24 Silicon Motion, Inc. Flash memory apparatus and method for operating the same
US8812805B2 (en) * 2008-08-05 2014-08-19 Broadcom Corporation Mixed technology storage device that supports a plurality of storage technologies
US8891298B2 (en) 2011-07-19 2014-11-18 Greenthread, Llc Lifetime mixed level non-volatile memory system
US9152569B2 (en) * 2008-11-04 2015-10-06 International Business Machines Corporation Non-uniform cache architecture (NUCA)
US8407400B2 (en) 2008-11-12 2013-03-26 Micron Technology, Inc. Dynamic SLC/MLC blocks allocations for non-volatile memory
US8069324B2 (en) * 2008-12-19 2011-11-29 Seagate Technology Llc Storage device with manual learning
KR20100107089A (ko) * 2009-03-25 2010-10-05 삼성전자주식회사 저장 장치 및 이를 포함하는 데이터 저장 시스템
US8819385B2 (en) * 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US20100332922A1 (en) * 2009-06-30 2010-12-30 Mediatek Inc. Method for managing device and solid state disk drive utilizing the same
US8468292B2 (en) 2009-07-13 2013-06-18 Compellent Technologies Solid state drive data storage system and method
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
TW201120900A (en) * 2009-12-07 2011-06-16 Jmicron Technology Corp Method and control unit for performing storage management upon storage apparatus and related storage apparatus thereof
US9092340B2 (en) * 2009-12-18 2015-07-28 Sandisk Technologies Inc. Method and system for achieving die parallelism through block interleaving
CN102103546A (zh) * 2009-12-21 2011-06-22 智微科技股份有限公司 用于储存装置以进行储存管理的方法及控制单元与相关储存装置
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8612809B2 (en) 2009-12-31 2013-12-17 Intel Corporation Systems, methods, and apparatuses for stacked memory
US8838903B2 (en) * 2010-02-04 2014-09-16 Dataram, Inc. Priority ordered multi-medium solid-state storage system and methods for use
TWI409633B (zh) * 2010-02-04 2013-09-21 Phison Electronics Corp 快閃記憶體儲存裝置、其控制器與資料寫入方法
CN102201259A (zh) * 2010-03-24 2011-09-28 建兴电子科技股份有限公司 非易失性存储器的平均抹写方法
CN101794199A (zh) * 2010-03-26 2010-08-04 山东高效能服务器和存储研究院 基于高速磁盘缓存的计算机磁盘性能加速方法
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US20110252215A1 (en) * 2010-04-09 2011-10-13 International Business Machines Corporation Computer memory with dynamic cell density
US8429391B2 (en) 2010-04-16 2013-04-23 Micron Technology, Inc. Boot partitions in memory devices and systems
US9021177B2 (en) * 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8451664B2 (en) 2010-05-12 2013-05-28 Micron Technology, Inc. Determining and using soft data in memory devices and systems
JP4886877B2 (ja) * 2010-05-31 2012-02-29 株式会社東芝 記録媒体制御装置、及びその方法
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
KR101727707B1 (ko) 2010-07-26 2017-04-19 삼성전자주식회사 비휘발성 메모리 장치의 프로그램 방법과, 상기 방법을 수행할 수 있는 장치들
US20120026802A1 (en) * 2010-07-30 2012-02-02 Emanuele Confalonieri Managed hybrid memory with adaptive power supply
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
KR101352084B1 (ko) * 2010-11-11 2014-01-15 도시바삼성스토리지테크놀러지코리아 주식회사 복합 저장 장치 및 이를 적용하는 전자 시스템
CN103221927A (zh) * 2010-11-24 2013-07-24 索尼爱立信移动通讯有限公司 用于电子设备的可动态配置的嵌入式闪存
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
US9977732B1 (en) * 2011-01-04 2018-05-22 Seagate Technology Llc Selective nonvolatile data caching based on estimated resource usage
US8886990B2 (en) * 2011-01-27 2014-11-11 Apple Inc. Block management schemes in hybrid SLC/MLC memory
JP5455945B2 (ja) * 2011-02-14 2014-03-26 株式会社東芝 調停装置、記憶装置、情報処理装置およびプログラム
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
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
KR101861170B1 (ko) 2011-08-17 2018-05-25 삼성전자주식회사 마이그레이션 관리자를 포함하는 메모리 시스템
US8977803B2 (en) * 2011-11-21 2015-03-10 Western Digital Technologies, Inc. Disk drive data caching using a multi-tiered memory
US9348741B1 (en) * 2011-12-19 2016-05-24 Western Digital Technologies, Inc. Systems and methods for handling write data access requests in data storage devices
US9116620B2 (en) * 2011-12-30 2015-08-25 Sandisk Technologies Inc. Controller and method for memory aliasing for different flash memory types
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US20130219146A1 (en) * 2012-02-16 2013-08-22 Micron Technology, Inc. Method, device and system for a configurable address space for non-volatile memory
US9146851B2 (en) * 2012-03-26 2015-09-29 Compellent Technologies Single-level cell and multi-level cell hybrid solid state drive
US8760957B2 (en) * 2012-03-27 2014-06-24 SanDisk Technologies, Inc. Non-volatile memory and method having a memory array with a high-speed, short bit-line portion
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
JP5536255B2 (ja) * 2012-06-04 2014-07-02 慧榮科技股▲分▼有限公司 データアクセス時間を短縮したフラッシュメモリ装置及びフラッシュメモリのデータアクセス方法
JP2013254403A (ja) * 2012-06-08 2013-12-19 Sony Corp 情報処理装置および方法、並びに、プログラム
TWI454913B (zh) * 2012-06-26 2014-10-01 Phison Electronics Corp 資料寫入方法、記憶體控制器與記憶體儲存裝置
KR101929584B1 (ko) * 2012-06-29 2018-12-17 에스케이하이닉스 주식회사 데이터 저장 장치 및 그 동작 방법
US9063864B2 (en) 2012-07-16 2015-06-23 Hewlett-Packard Development Company, L.P. Storing data in presistent hybrid memory
KR102028128B1 (ko) 2012-08-07 2019-10-02 삼성전자주식회사 불휘발성 랜덤 액세스 메모리 및 낸드 플래시 메모리를 포함하는 메모리 시스템의 동작 방법
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US20140219021A1 (en) * 2013-02-07 2014-08-07 Seagate Technology Llc Data protection for unexpected power loss
KR20140033964A (ko) * 2012-09-11 2014-03-19 삼성전자주식회사 단말기의 데이터 저장장치 및 방법
US8832530B2 (en) * 2012-09-26 2014-09-09 Intel Corporation Techniques associated with a read and write window budget for a two level memory system
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9147461B1 (en) 2012-11-28 2015-09-29 Samsung Electronics Co., Ltd. Semiconductor memory device performing a refresh operation, and memory system including the same
US9348746B2 (en) 2012-12-31 2016-05-24 Sandisk Technologies Method and system for managing block reclaim operations in a multi-layer memory
US9465731B2 (en) 2012-12-31 2016-10-11 Sandisk Technologies Llc Multi-layer non-volatile memory system having multiple partitions in a layer
US9734050B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for managing background operations in a multi-layer memory
US8873284B2 (en) 2012-12-31 2014-10-28 Sandisk Technologies Inc. Method and system for program scheduling in a multi-layer memory
US9734911B2 (en) 2012-12-31 2017-08-15 Sandisk Technologies Llc Method and system for asynchronous die operations in a non-volatile memory
US9223693B2 (en) 2012-12-31 2015-12-29 Sandisk Technologies Inc. Memory system having an unequal number of memory die on different control channels
US9336133B2 (en) 2012-12-31 2016-05-10 Sandisk Technologies Inc. Method and system for managing program cycles including maintenance programming operations in a multi-layer memory
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US10073851B2 (en) 2013-01-08 2018-09-11 Apple Inc. Fast new file creation cache
CN103116550A (zh) * 2013-01-11 2013-05-22 深圳市硅格半导体有限公司 切换闪存中物理块工作模式的方法和装置
US8954655B2 (en) 2013-01-14 2015-02-10 Western Digital Technologies, Inc. Systems and methods of configuring a mode of operation in a solid-state memory
US9136873B2 (en) * 2013-03-11 2015-09-15 Intel Corporation Reduced uncorrectable memory errors
US9489148B2 (en) 2013-03-13 2016-11-08 Seagate Technology Llc Selecting between non-volatile memory units having different minimum addressable data unit sizes
US9679615B2 (en) 2013-03-15 2017-06-13 Micron Technology, Inc. Flexible memory system with a controller and a stack of memory
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
CN105683926A (zh) * 2013-06-25 2016-06-15 美光科技公司 按需块管理
CN107391389B (zh) * 2013-08-05 2020-11-24 慧荣科技股份有限公司 用来管理一记忆装置的方法以及记忆装置与控制器
CN104346292B (zh) * 2013-08-05 2017-10-24 慧荣科技股份有限公司 用来管理一记忆装置的方法、记忆装置与控制器
CN104375944B (zh) * 2013-08-14 2018-04-27 北京联想核芯科技有限公司 一种数据存储方法和装置
US9442670B2 (en) 2013-09-03 2016-09-13 Sandisk Technologies Llc Method and system for rebalancing data stored in flash memory devices
US9519577B2 (en) 2013-09-03 2016-12-13 Sandisk Technologies Llc Method and system for migrating data between flash memory devices
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
KR20150049772A (ko) * 2013-10-31 2015-05-08 에스케이하이닉스 주식회사 데이터 처리 시스템 및 그것의 동작 방법
US9436408B2 (en) * 2013-12-20 2016-09-06 Seagate Technology Llc Direct hinting for a memory device
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
KR102218712B1 (ko) 2014-02-11 2021-02-22 삼성전자주식회사 저장 장치의 어드레스 맵핑 방법 및 저장 장치의 데이터 독출 방법
KR102190670B1 (ko) 2014-03-03 2020-12-14 삼성전자주식회사 마이그레이션 관리자를 포함하는 메모리 시스템
US9377954B2 (en) * 2014-05-09 2016-06-28 Advanced Micro Devices, Inc. System and method for memory allocation in a multiclass memory system
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US9645749B2 (en) 2014-05-30 2017-05-09 Sandisk Technologies Llc Method and system for recharacterizing the storage density of a memory device or a portion thereof
US8891303B1 (en) 2014-05-30 2014-11-18 Sandisk Technologies Inc. Method and system for dynamic word line based configuration of a three-dimensional memory device
CN103984509B (zh) * 2014-06-11 2019-02-12 上海新储集成电路有限公司 异构nand型固态硬盘及提高其性能的方法
JP2016004387A (ja) * 2014-06-16 2016-01-12 株式会社東芝 ストレージシステム、メモリコントローラ、および制御方法
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
JP6166476B2 (ja) * 2014-07-09 2017-07-19 株式会社日立製作所 メモリモジュールおよび情報処理システム
JP6327994B2 (ja) * 2014-07-28 2018-05-23 ルネサスエレクトロニクス株式会社 制御システムおよび半導体装置
US9519427B2 (en) 2014-09-02 2016-12-13 Sandisk Technologies Llc Triggering, at a host system, a process to reduce declared capacity of a storage device
US9665311B2 (en) 2014-09-02 2017-05-30 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by making specific logical addresses unavailable
US9582203B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by reducing a range of logical addresses
US9652153B2 (en) 2014-09-02 2017-05-16 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by reducing a count of logical addresses
US9563362B2 (en) 2014-09-02 2017-02-07 Sandisk Technologies Llc Host system and process to reduce declared capacity of a storage device by trimming
US9582220B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Notification of trigger condition to reduce declared capacity of a storage device in a multi-storage-device storage system
US9563370B2 (en) 2014-09-02 2017-02-07 Sandisk Technologies Llc Triggering a process to reduce declared capacity of a storage device
US9582212B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Notification of trigger condition to reduce declared capacity of a storage device
US9582193B2 (en) 2014-09-02 2017-02-28 Sandisk Technologies Llc Triggering a process to reduce declared capacity of a storage device in a multi-storage-device storage system
US9552166B2 (en) 2014-09-02 2017-01-24 Sandisk Technologies Llc. Process and apparatus to reduce declared capacity of a storage device by deleting data
US9524105B2 (en) 2014-09-02 2016-12-20 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by altering an encoding format
US9524112B2 (en) 2014-09-02 2016-12-20 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by trimming
US9582202B2 (en) * 2014-09-02 2017-02-28 Sandisk Technologies Llc Process and apparatus to reduce declared capacity of a storage device by moving data
US9158681B1 (en) * 2014-09-02 2015-10-13 Sandisk Technologies Inc. Process and apparatus to reduce declared capacity of a storage device by conditionally trimming
CN104331252B (zh) * 2014-10-10 2017-08-25 上海新储集成电路有限公司 异构nand固态硬盘结构及其数据读取管理方法
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
WO2016088234A1 (ja) 2014-12-04 2016-06-09 株式会社 東芝 異なる特性の不揮発性半導体メモリの寿命を長くするストレージ装置
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US9606737B2 (en) 2015-05-20 2017-03-28 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning
US9639282B2 (en) 2015-05-20 2017-05-02 Sandisk Technologies Llc Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices
US9697134B2 (en) 2015-06-10 2017-07-04 Micron Technology, Inc. Memory having a static cache and a dynamic cache
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US10061516B2 (en) * 2015-09-25 2018-08-28 Intel Corporation Methods and apparatus to configure performance of a solid state drive based on host write bandwidth
KR102379202B1 (ko) 2015-09-30 2022-03-28 삼성전자주식회사 전자 장치 및 그 부팅 방법
US10162526B2 (en) 2015-10-20 2018-12-25 Micron Technology, Inc. Logical address history management in memory device
US10042553B2 (en) 2015-10-30 2018-08-07 Sandisk Technologies Llc Method and system for programming a multi-layer non-volatile memory having a single fold data path
US10120613B2 (en) 2015-10-30 2018-11-06 Sandisk Technologies Llc System and method for rescheduling host and maintenance operations in a non-volatile memory
US10133490B2 (en) 2015-10-30 2018-11-20 Sandisk Technologies Llc System and method for managing extended maintenance scheduling in a non-volatile memory
US9778855B2 (en) 2015-10-30 2017-10-03 Sandisk Technologies Llc System and method for precision interleaving of data writes in a non-volatile memory
US10303372B2 (en) 2015-12-01 2019-05-28 Samsung Electronics Co., Ltd. Nonvolatile memory device and operation method thereof
US9946473B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive
US9946483B2 (en) 2015-12-03 2018-04-17 Sandisk Technologies Llc Efficiently managing unmapped blocks to extend life of solid state drive with low over-provisioning
JP6414853B2 (ja) 2015-12-14 2018-10-31 東芝メモリ株式会社 メモリシステムおよび制御方法
CN105739923A (zh) * 2016-01-28 2016-07-06 上海新储集成电路有限公司 一种可配置的数据管理方法
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
US10942844B2 (en) 2016-06-10 2021-03-09 Apple Inc. Reserved memory in memory management system
US10275541B2 (en) * 2016-08-05 2019-04-30 Micron Technology, Inc. Proactive corrective actions in memory based on a probabilistic data structure
KR20180031289A (ko) * 2016-09-19 2018-03-28 삼성전자주식회사 스토리지 장치 및 상기 스토리지 장치의 동작 방법
US10359933B2 (en) * 2016-09-19 2019-07-23 Micron Technology, Inc. Memory devices and electronic systems having a hybrid cache including static and dynamic caches with single and multiple bits per cell, and related methods
US10430085B2 (en) 2016-11-08 2019-10-01 Micron Technology, Inc. Memory operations on data
TWI596541B (zh) * 2016-11-30 2017-08-21 財團法人工業技術研究院 資料存取系統、資料存取裝置及資料存取方法
US9928907B1 (en) * 2017-01-27 2018-03-27 Western Digital Technologies, Inc. Block erase schemes for cross-point non-volatile memory devices
CN106951186B (zh) * 2017-03-07 2020-02-07 合肥兆芯电子有限公司 数据程序化方法、存储器存储装置及存储器控制电路单元
US10325668B2 (en) * 2017-04-05 2019-06-18 Micron Technology, Inc. Operation of mixed mode blocks
US10109361B1 (en) * 2017-06-29 2018-10-23 Intel Corporation Coarse pass and fine pass multi-level NVM programming
JP7030463B2 (ja) * 2017-09-22 2022-03-07 キオクシア株式会社 メモリシステム
US10430108B2 (en) * 2017-09-29 2019-10-01 Intel Corporation Concurrent copying of first and second subsets of pages from media such as SLC NAND to media such as QLC or MLC NAND for completion of copying of data
US10795827B2 (en) * 2017-11-17 2020-10-06 Western Digital Technologies, Inc. Adaptive management of intermediate storage
US20190034105A1 (en) * 2017-12-28 2019-01-31 Intel Corporation Storage device having programmed cell storage density modes that are a function of storage device capacity utilization
JP2019164411A (ja) * 2018-03-19 2019-09-26 株式会社東芝 管理装置、情報処理装置、管理方法、およびプログラム
JP6826066B2 (ja) * 2018-03-19 2021-02-03 株式会社東芝 管理装置、情報処理装置およびメモリ制御方法
US10713158B2 (en) * 2018-06-28 2020-07-14 Western Digital Technologies, Inc. Non-volatile storage system with dynamic allocation of applications to memory based on usage monitoring
US11537307B2 (en) * 2018-08-23 2022-12-27 Micron Technology, Inc. Hybrid wear leveling for in-place data replacement media
US11106577B2 (en) * 2018-10-30 2021-08-31 Micron Technology, Inc. Periodic flush in memory component that is using greedy garbage collection
EP3895026A4 (en) * 2018-12-13 2022-07-13 Telefonaktiebolaget Lm Ericsson (Publ) MEMORY HANDLING PROCEDURES AND NODES
KR20200110547A (ko) 2019-03-14 2020-09-24 삼성전자주식회사 스토리지 장치 및 스토리지 장치를 포함하는 컴퓨팅 장치
US11023172B2 (en) 2019-07-26 2021-06-01 Micron Technology, Inc. Selecting read voltage using write transaction data
EP3779704B1 (en) * 2019-08-01 2023-04-26 Samsung Electronics Co., Ltd. Storage device, memory system comprising the same, and operating method thereof
KR20210016188A (ko) 2019-08-01 2021-02-15 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
KR20210016184A (ko) 2019-08-01 2021-02-15 삼성전자주식회사 스토리지 장치, 그것을 포함하는 메모리 시스템 및 그것의 동작 방법
EP3771983B1 (en) * 2019-08-01 2024-05-01 Samsung Electronics Co., Ltd. Storage device and operating method of storage device
KR102650809B1 (ko) * 2019-08-02 2024-03-26 삼성전자주식회사 스토리지 장치 및 그것의 동작 방법
US11681909B2 (en) * 2019-10-14 2023-06-20 Micron Technology, Inc. Memory component with a bus to transmit data for a machine learning operation and another bus to transmit host data
US11264082B2 (en) 2019-10-28 2022-03-01 Samsung Electronics Co., Ltd. Memory device, memory system and autonomous driving apparatus
US11237955B2 (en) 2019-10-28 2022-02-01 Samsung Electronics Co., Ltd. Memory device, method of operating memory device, and computer system including memory device
KR20210050635A (ko) 2019-10-28 2021-05-10 삼성전자주식회사 메모리 장치, 및 이를 포함하는 컴퓨터 시스템
KR20210050634A (ko) 2019-10-28 2021-05-10 삼성전자주식회사 메모리 장치, 메모리 시스템 및 자율 주행 장치
US20210255783A1 (en) * 2020-02-19 2021-08-19 Silicon Motion, Inc. Method and apparatus for performing data storage management to enhance data reliability with aid of repeated write command detection
US11586604B2 (en) * 2020-07-02 2023-02-21 International Business Machines Corporation In-memory data structure for data access
US11748005B2 (en) * 2020-08-10 2023-09-05 Micron Technology, Inc. Transferring memory system data to an auxiliary array
US11568937B2 (en) * 2021-03-29 2023-01-31 Micron Technology, Inc. Memory device programming techinique using fewer latches
KR20230027957A (ko) 2021-08-20 2023-02-28 삼성전자주식회사 호스트 및 스토리지 장치를 포함하는 스토리지 시스템 및 이의 동작 방법
JP7451809B2 (ja) 2022-02-17 2024-03-18 キオクシア株式会社 方法
US11798643B1 (en) 2022-03-15 2023-10-24 Western Digital Technologies, Inc. Non-volatile storage system with hybrid SLC wear leveling

Family Cites Families (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1031992B1 (en) 1989-04-13 2006-06-21 SanDisk Corporation Flash EEPROM system
US6230233B1 (en) 1991-09-13 2001-05-08 Sandisk Corporation Wear leveling techniques for flash EEPROM systems
JPH07153285A (ja) * 1993-11-29 1995-06-16 Sansei Denshi Japan Kk 不揮発性フラッシュメモリの制御方法とその装置
JP3507132B2 (ja) 1994-06-29 2004-03-15 株式会社日立製作所 フラッシュメモリを用いた記憶装置およびその記憶制御方法
US5671388A (en) 1995-05-03 1997-09-23 Intel Corporation Method and apparatus for performing write operations in multi-level cell storage device
JP3200012B2 (ja) * 1996-04-19 2001-08-20 株式会社東芝 記憶システム
JPH09297659A (ja) * 1996-04-30 1997-11-18 Toshiba Corp 不揮発性記憶装置およびその制御方法
JPH1131102A (ja) * 1997-07-14 1999-02-02 Toshiba Corp データ記憶システム及び同システムに適用するアクセス制御方法
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
JPH11224491A (ja) * 1997-12-03 1999-08-17 Sony Corp 不揮発性半導体記憶装置およびそれを用いたicメモリカード
JPH11176178A (ja) * 1997-12-15 1999-07-02 Sony Corp 不揮発性半導体記憶装置およびそれを用いたicメモリカード
JPH11259370A (ja) * 1998-03-06 1999-09-24 Mitsubishi Electric Corp データ書込装置及びデータ書込方法
US7953931B2 (en) 1999-08-04 2011-05-31 Super Talent Electronics, Inc. High endurance non-volatile memory devices
US8078794B2 (en) * 2000-01-06 2011-12-13 Super Talent Electronics, Inc. Hybrid SSD using a combination of SLC and MLC flash memory arrays
US20080071973A1 (en) * 2000-01-06 2008-03-20 Chow David Q Electronic data flash card with various flash memory cells
JP4282197B2 (ja) * 2000-01-24 2009-06-17 株式会社ルネサステクノロジ 不揮発性半導体記憶装置
JP2001306393A (ja) * 2000-04-20 2001-11-02 Mitsubishi Electric Corp 記憶装置
US6785767B2 (en) 2000-12-26 2004-08-31 Intel Corporation Hybrid mass storage system and method with two different types of storage medium
US6456528B1 (en) 2001-09-17 2002-09-24 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
US7554842B2 (en) * 2001-09-17 2009-06-30 Sandisk Corporation Multi-purpose non-volatile memory card
US6807106B2 (en) 2001-12-14 2004-10-19 Sandisk Corporation Hybrid density memory card
JP2003216460A (ja) * 2002-01-21 2003-07-31 Hitachi Ltd 階層ストレージ装置及びその制御装置
JP3983650B2 (ja) * 2002-11-12 2007-09-26 株式会社日立製作所 ハイブリッドストレージ、および、それを用いた情報処理装置
JP3808842B2 (ja) * 2003-04-25 2006-08-16 株式会社東芝 書き換え可能な不揮発性メモリを備えた記憶装置及び記憶装置用不揮発性メモリの制御方法
JP2005165485A (ja) * 2003-12-01 2005-06-23 Sony Corp ファイル管理装置、ストレージ管理システム、システム管理方法、プログラム及び記録媒体
JP2004247042A (ja) * 2004-04-05 2004-09-02 Toshiba Corp 半導体集積回路装置
JP2006079274A (ja) * 2004-09-08 2006-03-23 Sony Corp ファイル管理装置、ネットワークシステム、ファイル管理方法及びプログラム
KR101257848B1 (ko) 2005-07-13 2013-04-24 삼성전자주식회사 복합 메모리를 구비하는 데이터 저장 시스템 및 그 동작방법
US7752382B2 (en) 2005-09-09 2010-07-06 Sandisk Il Ltd Flash memory storage system and method
CN101273413B (zh) * 2005-09-29 2011-11-16 特科2000国际有限公司 使用单层单元和多层单元闪速存储器的便携式数据存储
JP4805696B2 (ja) * 2006-03-09 2011-11-02 株式会社東芝 半導体集積回路装置およびそのデータ記録方式
JP4866117B2 (ja) * 2006-03-22 2012-02-01 パナソニック株式会社 不揮発性記憶装置、そのデータ書き込み方法、不揮発性記憶システム及びメモリコントローラ
JP2007305210A (ja) 2006-05-10 2007-11-22 Toshiba Corp 半導体記憶装置
US7639531B2 (en) 2006-05-15 2009-12-29 Apple Inc. Dynamic cell bit resolution
US7711890B2 (en) 2006-06-06 2010-05-04 Sandisk Il Ltd Cache control in a non-volatile memory device
JP2008053150A (ja) 2006-08-28 2008-03-06 Asano Laboratories Co Ltd 加熱装置及び加熱方法
KR100809320B1 (ko) * 2006-09-27 2008-03-05 삼성전자주식회사 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑정보 관리 장치 및 방법
JP2008090876A (ja) * 2006-09-29 2008-04-17 Toshiba Corp 不揮発性半導体記憶装置
KR100771521B1 (ko) * 2006-10-30 2007-10-30 삼성전자주식회사 멀티 레벨 셀을 포함하는 플래시 메모리 장치 및 그것의데이터 쓰기 방법
KR100833188B1 (ko) * 2006-11-03 2008-05-28 삼성전자주식회사 데이터의 특성에 따라 싱글 레벨 셀 또는 멀티 레벨 셀에데이터를 저장하는 불휘발성 메모리 시스템
US20080140918A1 (en) * 2006-12-11 2008-06-12 Pantas Sutardja Hybrid non-volatile solid state memory system
US7852654B2 (en) 2006-12-28 2010-12-14 Hynix Semiconductor Inc. Semiconductor memory device, and multi-chip package and method of operating the same
KR100850515B1 (ko) 2007-01-24 2008-08-05 삼성전자주식회사 멀티레벨 셀 플래시 메모리를 갖는 메모리 시스템 및그것의 프로그램 방법
TWI368224B (en) 2007-03-19 2012-07-11 A Data Technology Co Ltd Wear-leveling management and file distribution management of hybrid density memory
US20090043831A1 (en) * 2007-08-11 2009-02-12 Mcm Portfolio Llc Smart Solid State Drive And Method For Handling Critical Files
KR101498673B1 (ko) * 2007-08-14 2015-03-09 삼성전자주식회사 반도체 드라이브, 그것의 데이터 저장 방법, 그리고 그것을포함한 컴퓨팅 시스템
US7849275B2 (en) 2007-11-19 2010-12-07 Sandforce, Inc. System, method and a computer program product for writing data to different storage devices based on write frequency
US7975105B1 (en) 2007-12-03 2011-07-05 Yingju Sun Solid state storage devices with changeable capacity
TWI397912B (zh) 2008-02-13 2013-06-01 Genesys Logic Inc 調整存取效能的快閃記憶體儲存裝置
US8060719B2 (en) * 2008-05-28 2011-11-15 Micron Technology, Inc. Hybrid memory management
KR101861170B1 (ko) * 2011-08-17 2018-05-25 삼성전자주식회사 마이그레이션 관리자를 포함하는 메모리 시스템

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140043329A (ko) * 2011-03-31 2014-04-09 샌디스크 테크놀로지스, 인코포레이티드 셀 저장 용량당 서로 다른 비트를 갖는 세 개의 메모리 층을 구비한 메모리 시스템
KR20160025577A (ko) * 2013-06-28 2016-03-08 마이크론 테크놀로지, 인크. 메모리 디바이스 작동 관리
KR20200123850A (ko) * 2018-03-21 2020-10-30 마이크론 테크놀로지, 인크. 하이브리드 메모리 시스템
US11340808B2 (en) 2018-03-21 2022-05-24 Micron Technology, Inc. Latency-based storage in a hybrid memory system

Also Published As

Publication number Publication date
JP5728672B2 (ja) 2015-06-03
EP2291746A2 (en) 2011-03-09
US8751733B2 (en) 2014-06-10
US8296510B2 (en) 2012-10-23
KR101283711B1 (ko) 2013-07-08
WO2009155022A2 (en) 2009-12-23
US8060719B2 (en) 2011-11-15
EP2291746A4 (en) 2012-10-24
JP2014116031A (ja) 2014-06-26
WO2009155022A3 (en) 2010-03-04
US20140281177A1 (en) 2014-09-18
JP2011522350A (ja) 2011-07-28
US20130073807A1 (en) 2013-03-21
US20120059992A1 (en) 2012-03-08
US9390004B2 (en) 2016-07-12
CN102047230A (zh) 2011-05-04
US20090300269A1 (en) 2009-12-03
EP2291746B1 (en) 2014-10-29

Similar Documents

Publication Publication Date Title
KR101283711B1 (ko) 하이브리드 메모리 관리
US11416391B2 (en) Garbage collection
CN110603532B (zh) 存储器管理
US9471425B2 (en) Data conditioning to improve flash memory reliability
US9645896B2 (en) Data storage device and flash memory control method
EP2715548B1 (en) Dynamic memory cache size adjustment in a memory device
JP5823875B2 (ja) 固体メモリフォーマッティング
KR101551584B1 (ko) 하이브리드 slc/mlc 메모리 내의 블록 관리 방식들
US9448919B1 (en) Data storage device accessing garbage collected memory segments
EP2345037B1 (en) Translation layer in a solid state storage device
KR101403922B1 (ko) 접근 빈도에 따라 데이터를 할당하는 저장장치 및 저장방법
KR101027687B1 (ko) 라이트 동작을 제어하는 반도체 스토리지 시스템 및 그 제어 방법
KR100780963B1 (ko) 메모리 카드 및 메모리 카드의 구동 방법

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee