KR100855467B1 - 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑장치 및 방법 - Google Patents

이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑장치 및 방법 Download PDF

Info

Publication number
KR100855467B1
KR100855467B1 KR1020060094297A KR20060094297A KR100855467B1 KR 100855467 B1 KR100855467 B1 KR 100855467B1 KR 1020060094297 A KR1020060094297 A KR 1020060094297A KR 20060094297 A KR20060094297 A KR 20060094297A KR 100855467 B1 KR100855467 B1 KR 100855467B1
Authority
KR
South Korea
Prior art keywords
logical address
area
mapping
memory
memory area
Prior art date
Application number
KR1020060094297A
Other languages
English (en)
Other versions
KR20080028685A (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 삼성전자주식회사
Priority to KR1020060094297A priority Critical patent/KR100855467B1/ko
Priority to US11/754,563 priority patent/US8429327B2/en
Priority to JP2007245073A priority patent/JP2008084317A/ja
Priority to EP07116949A priority patent/EP1906311B1/en
Priority to DE602007011549T priority patent/DE602007011549D1/de
Priority to CN200710161635XA priority patent/CN101154189B/zh
Publication of KR20080028685A publication Critical patent/KR20080028685A/ko
Application granted granted Critical
Publication of KR100855467B1 publication Critical patent/KR100855467B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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
    • 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)
  • Memory System (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명은 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치 및 방법에 관한 것으로서, 더욱 상세하게는 단위 셀이 나타낼 수 있는 비트의 수가 서로 다른 이종 셀 타입을 지원하는 비휘발성 메모리에서 논리 주소를 물리 주소에 맵핑할 수 있는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치 및 방법에 관한 것이다.
본 발명의 실시예에 따른 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치는, 사용자가 소정의 논리 주소를 이용하여 소정 연산을 요청하는 사용자 요청부, 이종의 셀 타입을 가지는 복수의 메모리 영역을 포함하는 비휘발성 메모리, 및 상기 연산 요청에 이용된 논리 주소에 따라 상기 복수의 메모리 영역 중 상기 논리 주소에 맵핑된 물리 주소를 판단하는 맵핑 관리부를 포함한다.
비휘발성 메모리, SLC, MLC, 맵핑

Description

이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치 및 방법{Apparatus and method for mapping of nonvolatile non-volatile memory supporting separated cell type}
도 1은 일반적인 비휘발성 메모리에서의 맵핑 방법이 도시된 도면.
도 2는 본 발명의 실시예에 따른 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치가 도시된 도면.
도 3은 본 발명의 제 1실시예에 따른 이종 셀 타입을 지원하는 비휘발성 메모리에서 연산 수행시 이용되는 논리 주소에 따라 물리 주소를 맵핑하는 방법이 도시된 도면.
도 4는 본 발명의 제 2실시예에 따른 이종 셀 타입을 지원하는 비휘발성 메모리에서 연산 수행시 이용되는 논리 주소에 따라 물리 주소를 맵핑하는 방법이 도시된 도면.
도 5는 본 발명의 실시예에 따른 사용자 요청부의 접근 패턴에 따라 이용되는 논리 주소가 결정되는 도면.
도 6은 본 발명의 제 1실시예에 따른 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 방법이 도시된 도면.
도 7은 본 발명의 제 2실시예에 따른 이종 셀 타입을 지원하는 비휘발성 메 모리를 위한 맵핑 방법이 도시된 도면.
<도면의 주요 부분에 관한 부호의 설명>
110: 사용자 요청부 120: 비휘발성 메모리
121: 제 1메모리 영역 122: 제 2메모리 영역
130: 맵핑 관리부
본 발명은 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치 및 방법에 관한 것으로서, 더욱 상세하게는 단위 셀이 나타낼 수 있는 비트의 수가 서로 다른 이종 셀 타입을 지원하는 비휘발성 메모리에서 논리 주소를 물리 주소에 맵핑할 수 있는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치 및 방법에 관한 것이다.
일반적으로, 가전 기기, 통신 기기, 셋탑 박스 등의 내장형 시스템(Embedded System)에서는 데이터를 저장하고 처리하기 위한 저장 매체로 비휘발성 메모리가 많이 사용되고 있다.
비휘발성 메모리 중에서 주로 사용되는 플래시 메모리는 전기적으로 데이터를 삭제하거나 다시 기록할 수 있는 비휘발성 기억 소자로서, 마그네틱 디스크 메모리를 기반으로 하는 저장 매체에 비해 전력 소모가 적으면서도 하드 디스크와 같은 빠른 액세스 타임(Access Time)을 가지며 크기가 작기 때문에 휴대 기기 등에 적합하다.
이러한 플래시 메모리는 하드웨어 특성상 이미 데이터가 쓰여진 메모리 섹터에 쓰기 연산을 수행하기 위해서는 그 섹터가 포함된 블록 전체를 지우는 연산이 선행되어야 한다. 이러한 쓰기 전 지우기(erase before write) 동작은 플래시 메모리의 성능 저하의 주요 이유가 되며, 이를 해결하기 위해 논리 주소와 물리 주소의 개념이 도입되었다. 다시 말해서, 논리 주소에 대한 읽기/쓰기 연산은 다양한 맵핑 알고리즘에 의해 플래시 메모리의 물리 주소에 대한 읽기/쓰기 연산으로 변경되어 연산이 수행된다. 이때, 논리 주소는 빈번히 업데이트되는 메타 데이터 등을 저장하기 위한 영역과 메타 데이터에 비하여 상대적으로 큰 크기의 자주 업데이트되지 않는 사용자 데이터 등을 저장하는 영역을 나누어 사용되는 특성을 가진다.
이와 같은 플래시 메모리는 하드웨어적 특성 상 하나의 셀이 나타낼 수 있는 비트의 수에 따라 그 타입이 나뉘게 된다. 예를 들어, 하나의 셀을 통해 하나의 비트를 나타낼 수 있는 타입을 SLC(Single Level Cell) 타입이라 하고, 하나의 셀을 통해 복수의 비트를 나타낼 수 있는 타입을 MLC(Multi Level Cell) 타입이라 한다. 이때, SLC 타입은 MLC 타입에 비하여 빠른 읽기/쓰기 성능을 가지며 NOP(Number Of Partial programmimg)가 큰 특징을 가지며, 동일한 물리적 크기일 경우 MLC 타입에 비하여 저장 용량이 적다.
현재 생산되고 있는 비휘발성 메모리를 가지는 장치는 단일 종의 셀 타입으로만 구성되어 있기 때문에 모든 물리 주소가 균등한 성능과 동일한 물리적인 특징을 가지고 있다. 따라서, 이종 셀 타입을 지원하는 비휘발성 메모리를 가지는 장치 를 사용할 경우에는, 논리 주소를 물리 주소에 맵핑시킬 때 각 셀 타입의 물리 주소에 대한 특성을 고려하지 않아 성능을 향상시키는데 한계가 있다는 문제점이 있다.
일본 공개 특허 2004-062328은 유저 물리 블록과 소거 물리 블록을 가지는 NAND형 플래쉬 메모리에서 데이터의 양과 물리블록의 소거상태에 따라 데이터 플로우를 변경하는 방법을 개시하고 있으나, 여전히 이종 셀 타입을 함께 사용하는 비휘발성 메모리에서의 맵핑 방법은 제안되고 있지 않다.
본 발명은 이종 셀 타입을 지원하는 비휘발성 메모리에서 각 셀 타입의 메모리 영역에 포함된 물리 주소의 특성을 고려하여 논리 주소를 물리 주소에 맵핑함으로써, 이종 셀 타입을 지원하는 비휘발성 메모리의 성능을 향상시킬 수 있는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치 및 방법을 제공하는데 그 목적이 있다.
본 발명의 목적은 이상에서 언급한 목적으로 제한되지 않으며, 언급되지 않은 또 다른 목적들은 아래의 기재로부터 당업자에게 명확하게 이해되어 질 수 있을 것이다.
상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치는, 사용자가 소정의 논리 주소를 이용하여 소정 연산을 요청하는 사용자 요청부, 이종의 셀 타입을 가지는 복수의 메모리 영역을 포함하는 비휘발성 메모리, 및 상기 연산 요청에 이용된 논리 주소에 따라 상기 복수의 메모리 영역 중 상기 논리 주소에 맵핑된 물리 주소를 판단하는 맵핑 관리부를 포함한다.
또한, 상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 방법은, 사용자가 소정의 논리 주소를 이용하여 소정 연산을 요청하는 단계, 상기 이용된 논리 주소가 포함되는 논리 주소 영역을 판단하는 단계, 및 이종의 셀 타입을 가지는 복수의 메모리 영역을 포함하는 비휘발성 메모리에서 상기 이용된 논리 주소에 맵핑될 물리 주소를 판단하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범수를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이하, 본 발명의 실시예들에 의하여 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치 및 방법을 설명하기 위한 블록도 또는 처리 흐름도에 대한 도 면들을 참고하여 본 발명에 대해 설명하도록 한다. 이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행예들에서는 블록들에서 언급된 기능들이 순서를 벗어나 서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
일반적으로 이종 셀 타입을 지원하는 비휘발성 메모리를 가지는 장치를 사용할 경우에는, 논리 주소를 물리 주소에 맵핑시킬 때 각 셀 타입의 물리 주소에 대한 특성을 고려하지 않고 있기 때문에 소정 연산을 위해 이용된 논리 주소를 셀 타입의 구분없이 단일 종의 셀 타입을 지원하는 비휘발성 메모리를 가지는 장치와 같은 맵핑 알고리즘을 통해 맵핑을 수행하고 있다.
예를 들어, 비휘발성 메모리가 SLC 타입과 MLC 타입을 지원하는 경우, 각 셀 타입을 구분하지 않고, 도 1과 같이 소정 연산을 위해 이용된 논리 주소를 단일 종의 셀 타입을 지원하는 비휘발성 메모리와 같은 맵핑 알고리즘을 사용하게 된다. 이때, 맵핑 단위는 섹터, 페이지 및 블록 등일 수 있으나, 이에 한정되지 않는다.
이와 같이, 각 셀 타입의 물리 주소에 대한 특성을 고려하지 않는 경우, SLC 타입의 특성인 빠른 읽기/쓰기/지우기 속도와 큰 NOP와 MLC 타입의 특성인 큰 저장 용량을 적절히 사용할 수 없기 때문에 비휘발성 메모리의 성능 향상에 한계가 있게 된다.
따라서, 본 발명의 실시예에 따른 이종 셀 타입을 지원하는 비휘발성 메모리의 맵핑 장치 및 방법은, 이종 셀 타입을 지원하는 비휘발성 메모리에서 각 셀 타입의 물리적인 특성을 고려하여 성능 향상을 꾀할 수 있는 것으로, 도 2는 본 발명의 실시예에 따른 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치가 도시된 도면이다. 이하, 본 발명의 실시예에서는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치를 '맵핑 장치'라 칭하기로 한다.
도시된 바와 같이, 본 발명의 실시예에 따른 맵핑 장치(100)는, 사용자가 소정의 논리 주소를 이용하여 소정 연산을 요청하는 사용자 요청부(110), 제 1셀 타입의 제 1메모리 영역(121) 및 제 2셀 타입의 제 2메모리 영역(122)을 포함하는 비휘발성 메모리(120), 및 사용자가 요청한 연산이 비휘발성 메모리(120)에서 수행되도록 사용자가 이용한 논리 주소를 비휘발성 메모리(120)에서의 물리 주소로 맵핑하는 맵핑 관리부(130)를 포함할 수 있다.
사용자 요청부(110)는 파일 시스템(File System) 또는 DMBS(Data Base Management System) 등과 같이 저장 장치를 논리 주소를 통해 사용하는 주체인 어플리케이션(Application)으로 이해될 수 있다. 따라서, 사용자는 어플리케이션을 통해 소정 논리 주소를 이용하여 비휘발성 메모리(120)에서의 소정 연산을 요청할 수 있다.
비휘발성 메모리(120)는 서로 다른 읽기/쓰기/지우기 성능 및 NOP를 갖는 이종의 셀 타입을 가지는 제 1메모리 영역(121) 및 제 2메모리 영역(122)을 포함할 수 있다. 이때, 본 발명의 실시예에서 제 1메모리 영역(121)은 SLC 타입이며, 제 2메모리 영역(122)은 MLC 타입인 경우를 예를 들어 설명하고 있으나, 이에 한정되지 않고 제 1메모리 영역(121) 및 제 2메모리 영역(122)은 서로 다른 읽기/쓰기/지우기 성능 및 NOP를 갖는 조건 하에서 다양한 셀 타입을 가질 수 있다. 또한, 본 발명의 실시예에서는 제 1메모리 영역(121)이 SLC 타입이기 때문에 MLC 타입을 가지 는 제 2메모리 영역(122)에 비하여 빠른 읽기/쓰기/지우기 성능을 가지며, 큰 NOP를 가지는 것을 알 수 있다.
맵핑 관리부(130)는 사용자 요청부(110)에서 연산 요청시 이용된 논리 주소를 제 1메모리 영역(121) 및 제 2메모리 영역(121) 중 어느 하나의 물리 주소에 맵핑하는 역할을 수행할 수 있다. 이때, 본 발명의 실시예에서의 논리 주소 영역은 빈번히 업데이트되는 어플리케이션의 메타 데이터를 위한 제 1논리 주소 영역 및 메타 데이터에 비하여 자주 업데이트가 되지 않고 상대적으로 크기가 큰 어플리케이션 사용자 데이터를 위한 제 2논리 주소 영역으로 나뉘어진 경우를 예를 들어 설명하기로 한다. 또한, 본 발명의 실시예에서 맵핑 관리부(130)에 의해 맵핑되는 맵핑 단위는 섹터, 페이지 및 블록 단위일 수 있으며, 이에 한정되지 않는다.
따라서, 맵핑 관리부(130)는 사용자 요청부(110)에서 연산 요청시 이용한 논리 주소에 따라 제 1메모리 영역(121) 및 제 2메모리 영역(122) 중 어느 영역에 포함된 물리 주소에 맵핑시킬 것인지를 판단할 수 있다. 예를 들어, 논리 주소의 전체 영역이 0-1000이며, 제 1논리 주소 영역이 0-100이고, 제 2논리 주소 영역101-1000인 경우, 사용자 요청부(110)에서 이용한 논리 주소가 50인 경우, 제 1논리 주소 영역에 포함되므로, 맵핑 관리부(130)는 제 1메모리 영역(121)의 물리 주소에 맵핑시킬 수 있다. 이러한 논리 주소 영역에 대한 정보는 본 발명의 실시예에 따른 맵핑 장치(100)가 초기화 수행시에 논리 주소 영역에 대한 정보를 얻어 비휘발성 메모리(120)의 소정 영역에 저장할 수 있다. 이때, 논리 주소 영역에 대한 정보가 저장되는 영역은, 제 1메모리 영역(121) 또는 제 2메모리 영역(122)에 저장되거나 별도로 형성된 메모리 영역에 저장될 수 있다.
반면, 사용자 요청부(110)가 연산 요청시 이용한 논리 주소가 500인 경우, 제 2논리 주소 영역에 포함되므로, 맵핑 관리부(130)는 제 2메모리 영역(121)의 물리 주소에 맵핑시킬 수 있다. 이때, 본 발명의 실시예에서는 제 1논리 주소 영역에 포함된 논리 주소는 제 1메모리 영역(121)에 맵핑시키고, 제 2논리 주소 영역에 포함된 논리 주소는 제 2메모리 영역(122)에 맵핑시키는 경우의 예를 들어 설명하고 있으나, 이에 한정되지 않고 제 1메모리 영역(121)에 포함된 물리 주소가 제 1논리 주소 영역에 포함된 논리 주소에 비하여 많은 경우, 맵핑 관리부(13)는 제 1메모리 영역(121)에 포함된 물리 주소를 제 2논리 주소 영역에 포함된 논리 주소에 맵핑시킬 수도 있다.
구체적으로, 맵핑 관리부(130)는 도 3과 같이, 논리 주소 영역(200) 중 제 1논리 주소 영역(210)에 포함된 논리 주소는 제 1메모리 영역(121)에 포함된 물리 주소에 맵핑시키고, 제 2논리 주소 영역(220)에 포함된 논리 주소는 제 2메모리 영역(122)에 맵핑시킬 수 있다.
또한, 도 4와 같이 맵핑 관리부(130)는 제 1논리 주소 영역(210)의 크기가 제 1메모리 영역(121)보다 작은 경우, 제 1메모리 영역(121)에서 남는 물리 주소는 제 2논리 주소 영역(220)에 포함된 논리 주소에 맵핑될 수 있다. 이때, 본 발명의 실시예에서는 제 1논리 주소 영역(210)의 크기가 제 1메모리 영역(212)보다 작은 경우를 예를 들어 설명하고 있으나, 이에 한정되지 않고 제 1논리 주소 영역(210)의 크기가 제 1메모리 영역(121)보다 큰 경우, 제 1논리 주소 영역(210)에 포함된 논리 주소는 제 2메모리 영역(122)에 포함된 물리 주소에 맵핑될 수도 있다.
이와 같이, 맵핑 관리부(130)는 사용자 요청부(110)에서 이용한 논리 주소가 포함되는 논리 주소 영역에 따라 제 1메모리 영역(121) 및 제 2메모리 영역(122) 중 어느 하나의 메모리 영역에 포함된 물리 주소에 맵핑시키는 경우를 예를 들어 설명하고 있으나, 이에 한정되지 않고 사용자 요청부(110)를 통해 알려진 접근 패턴에 따라 맵핑되는 물리 주소가 포함된 메모리 영역을 판단할 수 있다. 이하, 본 발명의 실시예에서 메타 데이터에 대한 접근 패턴을 '제 1패턴'이라 칭하고, 사용자 데이터에 대한 접근 패턴을 '제 2패턴'이라 칭하기로 한다.
예를 들어, 사용자 데이터와 메타 데이터가 혼합되어 있으며, 사용자 데이터와 메타 데이터의 논리 주소가 정해지지 않는 데이터 베이스의 경우, 사용자가 데이터 베이스에서 사용자 데이터에 해당하는 논리 주소 및 메타 데이터에 해당하는 논리 주소에 따른 패턴1 또는 패턴 2를 알려주면 맵핑 관리부(130)는 알려진 패턴에 따라 맵핑할 물리 주소를 판단할 수 있다.
구체적으로, 도 5와 같이 맵핑 관리부(130)는 사용자에 의해 알려지는 패턴, 예를 들어 메타 데이터임을 알리는 패턴 1, 사용자 데이터임을 알리는 패턴 2 등을 통해 맵핑 관리부(130)는 논리 주소 영역(200)에서 이용될 논리 주소가 포함되는 논리 주소 영역을 판단할 수 있고, 판단된 논리 주소 영역에 따라 논리 주소를 제 1메모리 영역(121) 및 제 2메모리 영역(122) 중 어느 하나의 메모리 영역에 포함된 물리 주소에 맵핑시킬지를 판단할 수 있다.
또한, 본 발명의 실시예에서는 맵핑 관리부(130)가 사용자 요청부(110)가 각 각 논리 주소 및 패턴에 따라 맵핑할 물리 주소를 판단하는 경우를 예를 들어 설명하고 있으나, 이에 한정되지 않고 논리 주소 및 패턴에 따른 맵핑을 혼합하여 맵핑할 물리 주소를 판단할 수도 있다.
이하, 본 발명의 실시예에 따른 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 방법이 도시된 도면이다. 이하, 본 발명의 실시예에 따른 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 방법을 '맵핑 방법'이라 칭하기로 한다. 또한, 본 발명의 실시예에 따른 맵핑 방법은, 제 1논리 주소 영역 및 제 2논리 주소 영역에 대한 정보를 통해 맵핑하는 제 1맵핑 방법 및 사용자의 접근 패턴을 통해 맵핑하는 제 2맵핑 방법으로 나뉘어질 수 있다.
도 6은 본 발명의 실시예에 따른 제 1맵핑 방법이 도시된 도면이다.
도시된 바와 같이, 본 발명의 실시예에 따른 제 1맵핑 방법은, 먼저 전술한 도 2의 맵핑 장치(100) 초기화를 수행하여 논리 주소에 대한 정보를 비휘발성 메모리(120)의 소정 영역에 저장하게 된다(S110). 이때, 본 발명의 실시예에서 초기화는 맵핑 관리부(130)가 수행하는 경우를 예를 들어 설명하기로 하며, 이에 한정되지 않고 초기화 수행을 위한 별도의 구성 요소를 사용할 수도 있다. 이때, 저장된 논리 주소에 대한 정보는, 메타 데이터를 위해 이용되는 제 1논리 주소 영역 및 사용자 데이터를 위해 이용되는 제 2논리 주소 영역에 대한 정보를 포함할 수 있으나, 이에 한정되지 않는다. 이때, S110 단계와 같은 초기화 단계가 소정 연산을 수행하기 전에 수행되는 경우를 예를 들어 설명하고 있으나, 연산 도중에도 수행될 수 있다.
사용자는 사용자 요청부(110)를 통해 소정의 논리 주소를 이용하여 소정 연산(예를 들어, 읽기/쓰기/지우기 연산 등)을 요청하게 된다(S120).
맵핑 관리부(130)는 소정 연산 요청시 이용된 논리 주소가 포함되는 논리 주소 영역을 전술한 S110단계에서 저장된 논리 주소에 대한 정보로부터 판단하여 요청된 연산이 수행될 메모리 영역을 판단하게 된다(S130).
판단 결과 요청한 연산에 이용된 논리 주소가 제 1논리 주소 영역에 포함되는 경우, 맵핑 관리부(130)는 요청한 연산에 이용된 논리 주소에 제 1메모리 영역(121)에 포함된 물리 주소를 맵핑시키게 된다(S140).
만일, 판단 결과 요청한 연산에 이용된 논리 주소가 제 2논리 주소 영역에 포함되는 경우, 맵핑 관리부(130)는 요청한 연산에 이용된 논리 주소에 제 2메모리 영역(122)에 포함된 물리 주소를 맵핑시키게 된다(S150).
도 7은 본 발명의 실시예에 따른 제 2맵핑 방법이 도시된 도면이다.
도시된 바와 같이, 본 발명의 실시예에 따른 제 2맵핑 방법은, 먼저 전술한 도 1의 맵핑 장치(100) 초기화를 수행하여 논리 주소에 대한 정보를 비휘발성 메모리(120)의 소정 영역에 저장하게 된다(S210). 이때, 본 발명의 실시예에서 초기화는 전술한 도 6과 같이, 맵핑 관리부(130)가 수행하는 경우를 예를 들어 설명하기로 하며, 이에 한정되지 않고 초기화 수행을 위한 별도의 구성 요소를 사용할 수도 있다. 이때, 저장된 논리 주소에 대한 정보는, 메타 데이터를 위해 이용되는 제 1논리 주소 영역 및 사용자 데이터를 위해 이용되는 제 2논리 주소 영역에 대한 정보를 포함할 수 있으나, 이에 한정되지 않는다.
사용자는 사용자 요청부(110)를 통해 소정의 논리 주소를 이용하여 소정 연산(예를 들어, 읽기/쓰기/지우기 연산 등)을 요청하게 된다(S220).
맵핑 관리부(130)는 소정 연산 요청시 이용된 논리 주소가 포함되는 논리 주소 영역을 전술한 S110단계에서 저장된 논리 주소에 대한 정보 및 사용자에 의해 알려진 패턴으로부터 요청된 연산이 수행될 메모리 영역을 판단하게 된다(S230).
판단 결과 요청한 연산에 이용된 접근 패턴이 제 1패턴인 경우, 이용되는 논리 주소가 제 1논리 주소 영역에 포함되는 것으로 판단하고, 맵핑 관리부(130)는 요청한 연산에 이용된 논리 주소에 제 1메모리 영역(121)에 포함된 물리 주소를 맵핑시키게 된다(S240).
만일, 판단 결과 요청한 연산에 이용된 접근 패턴이 제 2패턴인 경우, 이용되는 논리 주소가 제 2논리 주소 영역에 포함된 것으로 판단하고, 맵핑 관리부(130)는 요청한 연산에 이용된 논리 주소에 제 2메모리 영역(122)에 포함된 물리 주소를 맵핑시키게 된다(S250).
이와 같이, 전술한 도 6 및 도 7에서 소정 연산 수행시 이용되는 논리 주소, 즉 저장되는 데이터의 종류(예를 들어, 어플리케이션 메타 데이터 및 어플리케이션 사용자 데이터 등)에 따라 제 1메모리 영역(121) 및 제 2메모리 영역(122) 중 어느 하나의 메모리 영역에서 맵핑될 물리 주소를 판단하기 때문에 이종 셀 타입을 지원하는 비휘발성 메모리에서 각 메모리 영역의 물리적인 특성을 충분히 고려할 수 있기 때문에 이종 셀 타입을 지원하는 비휘발성 메모리에서의 성능 향상을 꾀할 수 있게 된다.
본 발명의 실시예에서 사용되는 용어 중 '부'는 소프트웨어 또는 Field Programmable Gate Array(FPGA) 또는 주문형 반도체(Application Specific Integrated Circuit, ASIC)과 같은 하드웨어 구성요소를 의미하며, 부는 어떤 역할들을 수행한다. 그렇지만 부는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 부는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 실행시키도록 구성될 수도 있다. 따라서, 일 예로서 부는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 부들에서 제공되는 기능은 더 작은 수의 구성요소들 및 부들로 결합되거나 추가적인 구성요소들과 부들로 더 분리될 수 있다.
이상과 같이 본 발명에 따른 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치 및 방법을 예시된 도면을 참조로 하여 설명하였으나, 본 명세서에 개시된 실시예와 도면에 의해 본 발명은 한정되지 않으며 그 발명의 기술사상 범위내에서 당업자에 의해 다양한 변형이 이루어질 수 있음은 물론이다.
상기한 바와 같은 본 발명의 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치 및 방법에 따르면, 이종 셀 타입을 지원하는 비휘발성 메모리에서 각 셀 타입에 따른 메모리 영역에 포함된 물리 주소의 특성을 고려하여 연산 성능을 향상시킬 수 있는 효과가 있다.

Claims (16)

  1. 사용자가 소정의 논리 주소를 이용하여 소정 연산을 요청하는 사용자 요청부;
    이종의 셀 타입을 가지는 복수의 메모리 영역을 포함하는 비휘발성 메모리; 및
    상기 연산 요청에 이용된 논리 주소에 따라 상기 복수의 메모리 영역 중 상기 논리 주소에 맵핑된 물리 주소를 판단하는 맵핑 관리부를 포함하는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치.
  2. 제 1 항에 있어서,
    상기 비휘발성 메모리는, 제 1셀 타입의 제 1메모리 영역; 및
    제 2셀 타입 영역의 제 2메모리 영역을 포함하는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치.
  3. 제 2 항에 있어서,
    상기 제 1메모리 영역은, SLC(Singl Level Cell) 타입이며,
    상기 제 2메모리 영역은, MLC(Multi Level Cell) 타입으로 이루어지는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치.
  4. 제 2 항에 있어서,
    상기 사용자가 이용하는 논리 주소는, 제 1논리 주소 영역 및 제 2논리 주소 영역으로 나뉘어지고,
    상기 맵핑 관리부는, 상기 제 1논리 주소 영역 및 상기 제 2논리 주소 영역에 포함된 논리 주소는 각각 상기 제 1메모리 영역 및 상기 제 2메모리 영역에 포함된 물리 주소에 맵핑하는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치.
  5. 제 2 항에 있어서,
    상기 맵핑 관리부는, 상기 사용자 요청부를 통해 알려진 접근 패턴에 따라 상기 논리 주소에 맵핑될 물리 주소가 포함되는 메모리 영역을 판단하는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치.
  6. 제 2 항에 있어서,
    상기 제 1메모리 영역에 저장되는 데이터는, 상기 제 2메모리 영역에 저장되는 데이터에 비하여 빈번한 업데이트가 이루어지는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 장치.
  7. 제 4 항에 있어서,
    상기 맵핑 관리부는, 상기 제 1메모리 영역에 포함된 물리 주소가 상기 제 1 논리 주소 영역에 포함된 논리 주소보다 많은 경우, 상기 제 1메모리 영역에서 남은 물리 주소는 상기 제 2논리 주소 영역에 포함된 논리 주소에 맵핑하는 이종 셀을 지원하는 비휘발성 메모리를 위한 맵핑 장치.
  8. 제 4 항에 있어서,
    상기 맵핑 관리부는, 상기 제 1메모리 영역에 포함된 물리 주소가 상기 제 1논리 주소 영역에 포함된 논리 주소보다 적은 경우, 상기 제 1논리 주소 영역에서 남은 논리 주소는 상기 제 2메모리 영역에 포함된 물리 주소에 맵핑하는 이종 셀을 지원하는 비휘발성 메모리를 위한 맵핑 장치.
  9. 사용자가 소정의 논리 주소를 이용하여 소정 연산을 요청하는 단계;
    상기 이용된 논리 주소가 포함되는 논리 주소 영역을 판단하는 단계; 및
    이종의 셀 타입을 가지는 복수의 메모리 영역을 포함하는 비휘발성 메모리에서 상기 이용된 논리 주소에 맵핑될 물리 주소를 판단하는 단계를 포함하는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 방법.
  10. 제 9 항에 있어서,
    상기 비휘발성 메모리는, 제 1셀 타입의 제 1메모리 영역; 및
    제 2셀 타입 영역의 제 2메모리 영역을 포함하는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 방법.
  11. 제 10 항에 있어서,
    상기 제 1메모리 영역은, SLC(Singl Level Cell) 타입이며,
    상기 제 2메모리 영역은, MLC(Multi Level Cell) 타입으로 이루어지는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 방법.
  12. 제 10 항에 있어서,
    상기 사용자가 이용하는 논리 주소는, 제 1논리 주소 영역 및 제 2논리 주소 영역으로 나뉘어지고,
    상기 맵핑될 물리 주소를 판단하는 단계는, 상기 제 1논리 주소 영역 및 상기 제 2논리 주소 영역에 포함된 논리 주소를 각각 상기 제 1메모리 영역 및 상기 제 2메모리 영역에 포함된 물리 주소에 맵핑하는 단계를 포함하는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 방법.
  13. 제 10 항에 있어서,
    상기 맵핑될 물리 주소를 판단하는 단계는, 상기 연산 요청시 알려진 패턴에 따라 상기 논리 주소에 맵핑될 물리 주소가 포함되는 메모리 영역을 판단하는 단계를 포함하는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 방법.
  14. 제 10 항에 있어서,
    상기 제 1메모리 영역에 저장되는 데이터는, 상기 제 2메모리 영역에 저장되는 데이터에 비하여 빈번한 업데이트가 이루어지는 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑 방법.
  15. 제 12 항에 있어서,
    상기 맵핑될 물리 주소를 판단하는 단계는, 상기 제 1메모리 영역에 포함된 물리 주소가 상기 제 1논리 주소 영역에 포함된 논리 주소보다 많은 경우, 남은 물리 주소는 상기 제 2논리 주소 영역에 포함된 논리 주소에 맵핑하는 단계를 포함하는 종 셀을 지원하는 비휘발성 메모리를 위한 맵핑 방법.
  16. 제 12 항에 있어서,
    상기 맵핑될 물리 주소를 판단하는 단계는, 상기 제 1메모리 영역에 포함된 물리 주소가 상기 제 1논리 주소 영역에 포함된 논리 주소보다 적은 경우, 상기 제 1논리 주소 영역에서 남은 물리 주소는 상기 제 2메모리 영역에 포함된 물리 주소에 맵핑하는 단계를 포함하는 종 셀을 지원하는 비휘발성 메모리를 위한 맵핑 방법.
KR1020060094297A 2006-09-27 2006-09-27 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑장치 및 방법 KR100855467B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020060094297A KR100855467B1 (ko) 2006-09-27 2006-09-27 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑장치 및 방법
US11/754,563 US8429327B2 (en) 2006-09-27 2007-05-29 Mapping apparatus and method for non-volatile memory supporting different cell types
JP2007245073A JP2008084317A (ja) 2006-09-27 2007-09-21 異種セルタイプを支援する不揮発性メモリのためのマッピング装置および方法
EP07116949A EP1906311B1 (en) 2006-09-27 2007-09-21 Mapping apparatus and method for non-volatile memory supporting different cell types
DE602007011549T DE602007011549D1 (de) 2006-09-27 2007-09-21 Abbildungsgerät und Verfahren für nichtflüchtige Speicher mit verschiedenen Zelltypen
CN200710161635XA CN101154189B (zh) 2006-09-27 2007-09-27 支持不同存储单元类型的非易失性存储器的设备和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060094297A KR100855467B1 (ko) 2006-09-27 2006-09-27 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑장치 및 방법

Publications (2)

Publication Number Publication Date
KR20080028685A KR20080028685A (ko) 2008-04-01
KR100855467B1 true KR100855467B1 (ko) 2008-09-01

Family

ID=38938292

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060094297A KR100855467B1 (ko) 2006-09-27 2006-09-27 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑장치 및 방법

Country Status (6)

Country Link
US (1) US8429327B2 (ko)
EP (1) EP1906311B1 (ko)
JP (1) JP2008084317A (ko)
KR (1) KR100855467B1 (ko)
CN (1) CN101154189B (ko)
DE (1) DE602007011549D1 (ko)

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080250220A1 (en) * 2007-04-06 2008-10-09 Takafumi Ito Memory system
US20090157940A1 (en) * 2007-12-15 2009-06-18 Hitachi Global Storage Technologies Netherlands, B.V. Techniques For Storing Data In Multiple Different Data Storage Media
JP5230267B2 (ja) * 2008-05-27 2013-07-10 キヤノン株式会社 機器制御装置および制御方法
JP5374075B2 (ja) * 2008-06-06 2013-12-25 エイチジーエスティーネザーランドビーブイ ディスク装置及びその制御方法
TWI388986B (zh) * 2008-06-19 2013-03-11 Silicon Motion Inc 快閃記憶體裝置的運作方法及快閃記憶體裝置
TWI416524B (zh) * 2008-06-25 2013-11-21 Silicon Motion Inc 記憶體裝置和資料儲存方法
CN101620568B (zh) * 2008-07-03 2011-05-11 慧国(上海)软件科技有限公司 存储装置和数据储存方法
TWI403906B (zh) * 2008-09-17 2013-08-01 Silicon Motion Inc 快閃記憶裝置及其運作方法
US8239613B2 (en) * 2008-12-30 2012-08-07 Intel Corporation Hybrid memory device
CN101794253B (zh) * 2009-02-04 2012-08-22 威刚科技股份有限公司 内存储存装置及其控制方法、热门数据控管模块
CN101814318B (zh) * 2009-02-25 2013-05-01 群联电子股份有限公司 多层存储单元与非型闪存储存系统及其控制器与存取方法
US8331168B2 (en) * 2009-04-30 2012-12-11 International Business Machines Corporation Increased capacity heterogeneous storage elements
CN101582903B (zh) * 2009-06-24 2012-08-08 浙江宇视科技有限公司 一种流媒体资源存储方法和设备
KR101119866B1 (ko) * 2010-04-16 2012-02-22 삼성전자주식회사 파티션별로 플랙시블한 크기의 로그블록을 포함하는 플래시 메모리 및 이를 이용한 메모리 시스템
JP5066241B2 (ja) * 2010-09-24 2012-11-07 株式会社東芝 メモリシステム
KR101329497B1 (ko) * 2011-03-10 2013-11-13 한양대학교 산학협력단 파티션에 따라서 저장 위치를 물리적으로 구분하는 nvram 기반의 저장 장치 및 상기 저장 장치의 동작 방법
KR101800444B1 (ko) 2011-03-28 2017-12-20 삼성전자주식회사 불휘발성 메모리의 제어 방법 및 그것을 포함하는 메모리 시스템
US9417794B2 (en) * 2011-07-26 2016-08-16 Apple Inc. Including performance-related hints in requests to composite memory
KR20130028349A (ko) * 2011-09-09 2013-03-19 삼성전자주식회사 메모리 장치, 메모리 시스템 및 그 데이터 저장 방법
KR20130030640A (ko) * 2011-09-19 2013-03-27 삼성전자주식회사 저장 매체에 데이터를 저장하는 방법 및 그것을 포함하는 데이터 저장 장치
US9417803B2 (en) 2011-09-20 2016-08-16 Apple Inc. Adaptive mapping of logical addresses to memory devices in solid state drives
US9275096B2 (en) 2012-01-17 2016-03-01 Apple Inc. Optimized b-tree
CN103914395B (zh) * 2013-01-06 2017-02-08 北京忆恒创源科技有限公司 用于存储设备的地址映射方法
US9454474B2 (en) 2013-03-05 2016-09-27 Western Digital Technologies, Inc. Methods, devices and systems for two stage power-on map rebuild with free space accounting in a solid state drive
US9274978B2 (en) 2013-06-10 2016-03-01 Western Digital Technologies, Inc. Migration of encrypted data for data storage systems
KR20150006613A (ko) * 2013-07-09 2015-01-19 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
SG11201507090PA (en) * 2013-08-19 2015-10-29 Toshiba Kk Memory system
US9792227B2 (en) * 2014-08-19 2017-10-17 Samsung Electronics Co., Ltd. Heterogeneous unified memory
CN105786724B (zh) * 2014-12-24 2018-12-25 华为技术有限公司 空间管理方法及装置
KR102397582B1 (ko) 2015-06-22 2022-05-13 삼성전자주식회사 데이터 저장 장치, 이를 포함하는 데이터 처리 시스템, 및 이의 작동 방법
CN104951418A (zh) * 2015-06-24 2015-09-30 成都广迈科技有限公司 带闪存功能的计算机通信系统
KR20170015708A (ko) * 2015-07-30 2017-02-09 삼성전자주식회사 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 프로그램 방법
CN105677257A (zh) * 2016-02-04 2016-06-15 联想(北京)有限公司 一种数据存储方法及电子设备
US10089243B2 (en) * 2016-02-25 2018-10-02 SK Hynix Inc. Memory controller and system including variable address mapping tables and a fixed address mapping table
CN106155588B (zh) * 2016-06-30 2019-04-26 联想(北京)有限公司 信息处理方法及固态硬盘
US10761750B2 (en) * 2017-03-09 2020-09-01 Netapp Inc. Selectively storing data into allocation areas using streams
TWI651727B (zh) * 2017-06-07 2019-02-21 力晶科技股份有限公司 非依電性儲存裝置、非依電性記憶體積體電路及其非依電性記憶體的操作方法
CN109389213B (zh) * 2017-08-02 2021-03-19 上海寒武纪信息科技有限公司 存储装置及方法、数据处理装置及方法、电子装置
KR20200142219A (ko) 2019-06-12 2020-12-22 삼성전자주식회사 전자 장치 및 그의 저장 공간 이용 방법
KR20210025344A (ko) * 2019-08-27 2021-03-09 에스케이하이닉스 주식회사 이종 메모리를 갖는 메인 메모리 장치, 이를 포함하는 컴퓨터 시스템, 그것의 데이터 관리 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020079764A (ko) * 1999-12-27 2002-10-19 그레고리 브이 쳐드노브시키 멀티뱅크, 고장 방지 능력, 고성능 메모리 어드레싱시스템 및 방법
KR100350177B1 (ko) 1997-10-09 2002-12-16 마쯔시다덴기산교 가부시키가이샤 메모리시스템
US20030163632A1 (en) 2002-02-27 2003-08-28 Aasheim Jered Donald Open architecture flash driver
JP2005302152A (ja) 2004-04-12 2005-10-27 Sony Corp 複合型記憶装置、データ書込方法及びプログラム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5671388A (en) * 1995-05-03 1997-09-23 Intel Corporation Method and apparatus for performing write operations in multi-level cell storage device
JPH09102190A (ja) 1995-08-02 1997-04-15 Sanyo Electric Co Ltd 信号記録装置、及び信号読出装置、並びに信号記録・読出装置
KR100205240B1 (ko) * 1996-09-13 1999-07-01 윤종용 단일 비트 및 다중 비트 셀들이 장착된 불휘발성 반도체 메모리 장치
US5812477A (en) * 1996-10-03 1998-09-22 Micron Technology, Inc. Antifuse detection circuit
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
KR100332950B1 (ko) 1998-04-10 2002-08-21 삼성전자 주식회사 단일비트동작모드와다중비트동작모드를갖는불휘발성반도체메모리장치및그것의기입/독출방법
JP2000173281A (ja) 1998-12-04 2000-06-23 Sony Corp 半導体記憶装置
JP2001306393A (ja) * 2000-04-20 2001-11-02 Mitsubishi Electric Corp 記憶装置
JP2003022687A (ja) * 2001-07-09 2003-01-24 Mitsubishi Electric Corp 半導体記憶装置
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
US6717847B2 (en) * 2001-09-17 2004-04-06 Sandisk Corporation Selective operation of a multi-state non-volatile memory system in a binary mode
JP2004062328A (ja) 2002-07-25 2004-02-26 Renesas Technology Corp Nand型フラッシュメモリを搭載したフラッシュストレージメディア
US7383375B2 (en) 2003-12-30 2008-06-03 Sandisk Corporation Data run programming
BRPI0418426A (pt) 2004-01-19 2007-05-22 Trek 2000 Int Ltd dispositivo portátil de armazenamento de dados usando uma tabela de mapeamento de endereço de memória
US20060161724A1 (en) * 2005-01-20 2006-07-20 Bennett Alan D Scheduling of housekeeping operations in flash memory systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100350177B1 (ko) 1997-10-09 2002-12-16 마쯔시다덴기산교 가부시키가이샤 메모리시스템
KR20020079764A (ko) * 1999-12-27 2002-10-19 그레고리 브이 쳐드노브시키 멀티뱅크, 고장 방지 능력, 고성능 메모리 어드레싱시스템 및 방법
US20030163632A1 (en) 2002-02-27 2003-08-28 Aasheim Jered Donald Open architecture flash driver
JP2005302152A (ja) 2004-04-12 2005-10-27 Sony Corp 複合型記憶装置、データ書込方法及びプログラム

Also Published As

Publication number Publication date
KR20080028685A (ko) 2008-04-01
EP1906311A3 (en) 2009-06-24
CN101154189A (zh) 2008-04-02
CN101154189B (zh) 2011-12-14
JP2008084317A (ja) 2008-04-10
US20080077729A1 (en) 2008-03-27
EP1906311B1 (en) 2010-12-29
US8429327B2 (en) 2013-04-23
DE602007011549D1 (de) 2011-02-10
EP1906311A2 (en) 2008-04-02

Similar Documents

Publication Publication Date Title
KR100855467B1 (ko) 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑장치 및 방법
KR100809320B1 (ko) 이종 셀 타입을 지원하는 비휘발성 메모리를 위한 맵핑정보 관리 장치 및 방법
US8200889B2 (en) Variable space page mapping method and apparatus for flash memory device
KR101464338B1 (ko) 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템
US8386701B2 (en) Apparatus and method for multi-level cache utilization
JP5683023B2 (ja) 不揮発性一時データの処理
US20180129424A1 (en) Data relocation in hybrid memory
US8966209B2 (en) Efficient allocation policies for a system having non-volatile memory
KR101300821B1 (ko) 비휘발성 메모리의 데이터 손실을 방지하기 위한 장치 및방법
US10162554B2 (en) System and method for controlling a programmable deduplication ratio for a memory system
US10338826B2 (en) Managed-NAND with embedded random-access non-volatile memory
JP2013137770A (ja) Lbaビットマップの使用
KR100781517B1 (ko) 비휘발성 메모리의 맵핑 정보 관리 장치 및 방법
US20100125697A1 (en) Computing device having storage, apparatus and method of managing storage, and file system recorded recording medium
KR100703806B1 (ko) 비휘발성 메모리, 이를 위한 데이터 유효성을 판단하는장치 및 방법
US11360885B2 (en) Wear leveling based on sub-group write counts in a memory sub-system
US20140075094A1 (en) Method to implement a binary flag in flash memory
US20070294492A1 (en) Method and apparatus for reducing flash cycles with a generational filesystem
US11789861B2 (en) Wear leveling based on sub-group write counts in a memory sub-system
JP2013077209A (ja) プログラム、情報処理システム、情報処理装置、および情報処理方法
JP2010140346A (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: 20120801

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20130731

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20140731

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20160801

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20180731

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 12