KR20080074584A - 메모리 시스템 및 그것의 데이터 저장 방법 - Google Patents

메모리 시스템 및 그것의 데이터 저장 방법 Download PDF

Info

Publication number
KR20080074584A
KR20080074584A KR1020070013894A KR20070013894A KR20080074584A KR 20080074584 A KR20080074584 A KR 20080074584A KR 1020070013894 A KR1020070013894 A KR 1020070013894A KR 20070013894 A KR20070013894 A KR 20070013894A KR 20080074584 A KR20080074584 A KR 20080074584A
Authority
KR
South Korea
Prior art keywords
data
memory
area
mlc
slc
Prior art date
Application number
KR1020070013894A
Other languages
English (en)
Other versions
KR100854032B1 (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 KR1020070013894A priority Critical patent/KR100854032B1/ko
Priority to US12/003,465 priority patent/US20080195679A1/en
Priority to JP2008025422A priority patent/JP2008198200A/ja
Priority to CN200810009905XA priority patent/CN101261567B/zh
Publication of KR20080074584A publication Critical patent/KR20080074584A/ko
Application granted granted Critical
Publication of KR100854032B1 publication Critical patent/KR100854032B1/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A47FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
    • A47JKITCHEN EQUIPMENT; COFFEE MILLS; SPICE MILLS; APPARATUS FOR MAKING BEVERAGES
    • A47J43/00Implements for preparing or holding food, not provided for in other groups of this subclass
    • A47J43/04Machines for domestic use not covered elsewhere, e.g. for grinding, mixing, stirring, kneading, emulsifying, whipping or beating foodstuffs, e.g. power-driven
    • A47J43/07Parts or details, e.g. mixing tools, whipping tools
    • A47J43/0727Mixing bowls
    • 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
    • AHUMAN NECESSITIES
    • A21BAKING; EDIBLE DOUGHS
    • A21CMACHINES OR EQUIPMENT FOR MAKING OR PROCESSING DOUGHS; HANDLING BAKED ARTICLES MADE FROM DOUGH
    • A21C1/00Mixing or kneading machines for the preparation of dough
    • A21C1/14Structural elements of mixing or kneading machines; Parts; Accessories
    • A21C1/1485Doors; Closures; Operating, e.g. safety, mechanisms therefor
    • AHUMAN NECESSITIES
    • A21BAKING; EDIBLE DOUGHS
    • A21CMACHINES OR EQUIPMENT FOR MAKING OR PROCESSING DOUGHS; HANDLING BAKED ARTICLES MADE FROM DOUGH
    • A21C1/00Mixing or kneading machines for the preparation of dough
    • A21C1/14Structural elements of mixing or kneading machines; Parts; Accessories
    • A21C1/149Receptacles, e.g. provided with means for carrying or guiding fluids, e.g. coolants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • 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)
  • Food Science & Technology (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mechanical Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Read Only Memory (AREA)

Abstract

본 발명에 따른 메모리 시스템의 데이터 저장 방법은: (a) 데이터를 필터링하는 단계; (b) 상기 필터링에 근거하여 상기 데이터가 복수의 서로 다른 메모리 영역 중 어느 하나에 저장될지 여부를 판단하는 단계; 및 (c) 상기 판단 결과에 따라 상기 데이터를 저장하는 단계를 포함하되, 상기 (b) 단계 이후, 상기 데이터는 상기 판단 결과에 대한 정보를 포함한다.
Figure P1020070013894
태그, 데이터

Description

메모리 시스템 및 그것의 데이터 저장 방법{MEMORY SYSTEM AND DATA STORAGING METHOD THEREOF}
도 1은 일반적인 메모리 시스템을 보여주는 도면이다.
도 2는 본 발명에 따른 메모리 시스템(200)의 제 1 실시예를 보여주고 있다.
도 3은 본 발명의 메모리 시스템(200)의 파일 시스템의 아키텍쳐에 대한 제 1 실시예이다.
도 4는 본 발명의 메모리 시스템(200)의 파일 시스템의 아키텍쳐에 대한 제 2 실시예이다.
도 5는 본 발명의 메모리 시스템(300)에 대한 제 2 실시예를 보여주고 있다.
도 6은 하이브리드 HDD를 이용하는 본 발명의 메모리 시스템(400)의 제 3 실시예를 보여주고 있다.
도 7은 본 발명의 메모리 시스템(500)에 대한 제 4 실시예를 보여주고 있다
*도면의 주요부분에 대한 부호의 설명*
100,200,300,400,500: 메모리 시스템
110,210,310,410,510: 호스트
120,220: 메모리 제어기 130,230: 플래시 메모리
211,311: 프로세싱 유닛 212,312: 시스템 메모리
213,313: 어플리케이션 214,314: 파일 시스템
215,315,415,515: 필터 드라이버 216,316: 디바이스 드라이버
222: 펌웨어
232: SLC 영역 234: MLC 영역
322: 제 1 메모리 영역 324: 제 2 메모리 영역
320: 저장장치 420: 하이브리드 HDD
520: 플래시 저장장치 530: HDD
본 발명은 메모리 시스템에 관한 것으로, 좀 더 구체적으로 보다 효율적으로 데이터를 관리하기 위한 메모리 시스템 및 그것의 데이터 저장 방법에 관한 것이다.
최근 들어 비휘발성 메모리를 사용하는 장치들이 증가하고 있다. 예를 들면, MP3 플레이어, 디지털 카메라(Digital Camera), 휴대전화(Mobile Phone), 캠코더, 플래시 카드(flash card), 및 SSD(Solid State Disk) 등은 저장장치로 비휘발성 메모리를 사용하고 있다.
저장장치로 비휘발성 메모리를 사용하는 장치들이 증가하면서, 비휘발성 메모리의 용량도 급속히 증가하고 있다. 메모리 용량을 증가시키는 방법들 중 하나는 하나의 메모리 셀(cell)에 다수의 비트들을 저장하는 방식인 이른바 멀티 레벨 셀(MLC: Multi Level Cell) 방식이다.
도 1은 일반적인 메모리 시스템(100)을 보여주고 있다. 도 1을 참조하면, 종래의 메모리 시스템(100)은 호스트(110), 메모리 제어기(120), 그리고 플래시 메모리(130)를 구비한다.
메모리 제어기(120)는 버퍼 메모리(121)를 포함한다. 플래시 메모리(130)는 셀 어레이(131) 및 페이지 버퍼(132)를 포함한다. 도 1에 도시되어 있지 않지만, 플래시 메모리(130)에는 디코더(decoder), 데이터 버퍼(data buffer), 그리고 제어 유닛(control unit)이 포함되어 있다.
메모리 제어기(120)는 호스트(110)로부터 입력되는 데이터(Data)와 쓰기 커맨드(Write Command)를 입력받고, 데이터(Data)가 셀 어레이(131)에 쓰이도록 플래시 메모리(130)를 제어한다. 또한, 메모리 제어기(120)는 호스트(110)로부터 입력되는 읽기 커맨드(Read Command)에 따라, 셀 어레이(131)에 저장되어 있는 데이터가 읽혀지도록 플래시 메모리(130)를 제어한다.
버퍼 메모리(121)는 플래시 메모리(130)에 쓰일 데이터 또는 플래시 메모리(130)로부터 읽은 데이터를 임시로 저장한다. 버퍼 메모리(121)에 임시적 저장된 데이터는 메모리 제어기(120)의 제어에 의해 임시적 저장된 데이터를 호스트(110) 또는 플래시 메모리(130)로 전송한다.
플래시 메모리(130)의 셀 어레이(131)는 복수의 메모리 셀(Cell)로 구성된다. 메모리 셀은 비휘발성(Nonvolatile)으로, 데이터를 저장한 후 전원이 꺼져도 메모리 셀에 저장된 데이터가 지워지지 않는다. 페이지 버퍼(132)는 셀 어레 이(131)의 선택된 페이지(page)에 쓰일 데이터 또는 선택된 페이지로부터 읽은 데이터를 저장하는 버퍼이다. 플래시 메모리(130)의 셀 어레이(131)는 멀티비트 데이터가 프로그램된다. 즉, 하위비트(LSB) 먼저 프로그램하고, 하위 비트(LSB)가 프로그램되어 있는 메모리 셀에 상위비트(MSB)를 프로그램한다.
일반적으로 플래시 메모리(130)는 SLC(Single Level Cell) 방식으로 프로그램되는 영역(도시되지 않음)과 MLC(Multi Level Cell) 방식으로 프로그램되는 영역(도시되지 않음)을 포함하고 있다. 최근에 어드레스 정보를 기반으로 데이터를 필터링하여 SLC 방식으로 프로그램할지 혹은 MLC 방식으로 프로그램할지에 대한 연구가 활발하다. 하지만 이러한 데이터 필터는 어드레스 요청에 대한 정보만 있을 뿐 호스트(100)의 오브젝트(Object) 특성을 고려하지 않고 데이터를 구분함으로 필터의 범위가 협소하다. 한편 호스트(100)내의 디바이스 드라이버(도시되지 않음)는 플래시 메모리(130)의 특성을 고려하지 않은 읽기, 쓰기 및 소거를 요청함으로 플래시 메모리(130)를 비효율적으로 사용하게 된다.
예를 들어, 마이크로 소프트사의 원도우 시스템일 경우, 윈도우의 파일 시스템에서 사용되는 윈도우 메타 파일(windows meta file)은 필터링되지 않고 플래시 메모리(130)의 MLC 영역에 저장되고 있다. 이러한 윈도우 메타 파일은 비번하게 억세스되는 데이터이다. 따라서, 이러한 윈도우 메타 파일은 SLC 영역에 저장되도록 필터링될 필요성이 있다.
본 발명은 상술한 문제점을 해결하기 위하여 제안된 것으로, 본 발명의 목적 은 효율적으로 데이터를 관리할 수 있는 메모리 시스템 및 그것의 데이터 저장 방법을 제공하는데 있다.
본 발명에 따른 메모리 시스템의 데이터 저장 방법은: (a) 데이터를 필터링하는 단계; (b) 상기 필터링에 근거하여 상기 데이터가 복수의 서로 다른 메모리 영역 중 어느 하나에 저장될지 여부를 판단하는 단계; 및 (c) 상기 판단 결과에 따라 상기 데이터를 저장하는 단계를 포함하되, 상기 (b) 단계 이후, 상기 데이터는 상기 판단 결과에 대한 정보를 포함한다.
실시예에 있어서, 상기 (a) 단계에서, 상기 데이터는 심볼을 기준으로 필터링된다.
실시예에 있어서, 상기 (a) 단계에서, 상기 입력되는 데이터는 상기 복수의 필터링 데이터로 필터링된다.
실시예에 있어서, 상기 (b) 단계에서, 상기 서로 다른 메모리 영역은 서로 다른 메모리 장치이다.
실시예에 있어서, 상기 서로 다른 메모리 장치는 플래시 저장 장치 및 HDD(Hard Disk Driver)이다.
실시예에 있어서, 상기 (b) 단계에서, 상기 서로 다른 메모리 영역은 하나의 메모리 장치에 포함되어 있다.
실시예에 있어서, 상기 메모리 장치는 하이브리드 HDD이다.
실시예에 있어서, 상기 메모리 장치는 낸드 플래시 메모리 장치이다.
실시예에 있어서, 상기 서로 다른 메모리 영역은 각각 SLC(Singl Level Cell) 영역 및 MLC(Multi Level Cell) 영역이되, 상기 SLC 영역은 데이터를 SLC 방식으로 프로그램하는 영역이고, 상기 MLC 영역은 데이터를 MLC 방식으로 프로그램하는 영역이다.
실시예에 있어서, 상기 (a) 단계에서, 상기 필터링 데이터는 상기 복수의 서로 다른 메모리 영역 중 어느 하나를 나타내는 태그를 덧붙히는 단계를 더 포함한다.
실시예에 있어서, 상기 (b) 단계에서, 상기 필터링 데이터는 상기 태그에 따라 상기 복수의 서로 다른 메모리 영역 중 어느 하나를 저장될지 판단된다.
본 발명에 따른 메모리 시스템은: 제 1 종류의 데이터를 저장하는 제 1 메모리 영역; 제 2 종류의 데이터를 저장하는 제 2 메모리 영역; 및 상기 제 1 및 제 2 메모리 영역으로부터 데이터를 입출력하되, 데이터를 상기 제 1 혹은 제 2 종류의 데이터로 필터링하여 상기 제 1 및 제 2 메모리 영역에 전송하는 호스트를 포함한다.
실시예에 있어서, 상기 호스트에서 상기 데이터는 심볼을 기준으로 필터링된다.
실시예에 있어서, 상기 제 1 및 제 2 메모리 영역은 서로 다른 메모리 장치이다.
실시예에 있어서, 상기 서로 다른 메모리 장치는 플래시 저장 장치 및 HDD(Hard Disk Driver)이다.
실시예에 있어서, 상기 서로 다른 메모리 영역은 하나의 메모리 장치에 포함되어 있다.
실시예에 있어서, 상기 메모리 장치는 하이브리드 HDD이다.
실시예에 있어서, 상기 메모리 장치는 낸드 플래시 메모리 장치이다.
실시예에 있어서, 상기 서로 다른 메모리 영역은 각각 SLC(Singl Level Cell) 영역 및 MLC(Multi Level Cell) 영역이되, 상기 SLC 영역은 데이터를 SLC 방식으로 프로그램하는 영역이고, 상기 MLC 영역은 데이터를 MLC 방식으로 프로그램하는 영역이다.
실시예에 있어서, 상기 호스트는 상기 데이터를 필터링할 때 상기 복수의 서로 다른 메모리 영역 중 어느 하나를 나타내는 태그를 상기 데이터에 덧붙히는 필터 드라이버를 더 포함한다.
실시예에 있어서, 상기 호스트는 상기 데이터에 덧붙혀진 상기 태그에 따라 상기 복수의 서로 다른 메모리 영역 중 어느 하나에 저장될지 판단한다.
실시예에 있어서, 상기 호스트는 상기 데이터를 필터링 할 때 상기 SLC 영역 혹은 MLC 영역 중 어느 하나를 나타내는 태그를 상기 데이터에 덧붙히는 필터 드라이버를 더 포함한다.
실시예에 있어서, 상기 데이터에 덧붙혀진 상기 태그에 따라 상기 필터링 데이터를 상기 SLC 영역 혹은 상기 MLC 영역에 저장시키는 메모리 제어기를 더 포함한다.
실시예에 있어서, 상기 SLC 영역에 저장되는 데이터는 시스템의 메타 파일 혹은 코드 데이터이다.
실시예에 있어서, 상기 메모리 시스템은 메모리 카드에 이용된다.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있도록 본 발명의 실시예를 첨부된 도면을 참조하여 설명한다.
도 2는 본 발명에 따른 메모리 시스템(200)을 보여주고 있다. 도 2를 참조하면, 메모리 시스템(200)은 호스트(210), 메모리 제어기(220) 및 플래시 메모리(230)을 포함하고 있다. 본 발명의 메모리 시스템(200)의 호스트(210)는 플래시 메모리(230)의 SLC(Single Level Cell) 영역(232) 혹은 MLC(Multi Level Cell) 영역(234)에 저장될 데이터를 각각 필터링하여 메모리 제어기(220)로 전달한다. 여기서 SLC 영역(232)은 SLC 방식으로 프로그램되는 메모리 영역을 말하고, MLC 영역(234)는 MLC 방식으로 프로그램되는 메모리 영역을 말한다. SLC 영역(232) 및 MLC 영역(234)은 고정되어 있을 수도 있고 유동적일 수도 있다.
호스트(210)는 프로세싱 유닛(211) 및 시스템 메모리(212)를 포함하고 있다. 프로세싱 유닛(211)은 중앙처리장치로 구현될 것이다. 프로세싱 유닛(211)은 호스트(210)의 전반적인 동작을 제어한다. 시스템 메모리(212)는 응용 프로그램(213), 파일 시스템(214), 필터 드라이버(215) 및 디바이스 드라이버(216)를 포함하고 있다.
파일 시스템(214)은 자료를 계층적으로 저장, 탐색, 접근, 조작하기 위한 추상적 자료구조의 집합으로 정의된다. 예를 들어, 개인용 컴퓨터 시스템을 구동하는 원도우즈(Microsoft Windows)는 FAT(File Allocation Table) 또는 NTFS(NT File System)을 파일 시스템(214)으로 사용하고 있다.
필터 드라이버(215)는 파일 시스템(214)을 경유한 데이터 중에서 빈번하게 억세스가 요구되는 데이터를 필터링한다. 아래에서 빈번하게 억세스가 요구되는 데이터를 메타 데이터(Meta Data)라 하겠다. 또한, 파일의 실제적인 정보를 나타내는 데이터를 파일 데이터라 하겠다. 메타 데이터에는 코드(Code) 및 원도우즈 메타 파일(Windows Meta File)이 포함된다. 여기서 코드는 파일 관련 정보, 확장자 정보 및 미러링을 통해 취할 수 있는 모든 파일의 정보를 포함하고 있다. 한편, 원도우즈 메타 파일은 마이크로 소프트의 윈도우즈 프로그램을 구동하는데 필요로 하는 데이터이다. 예를 들어, 'a.txt'파일의 경우, 이 파일과 관련된 정보 및 원도우즈를 운영하는 데 필요한 데이터는 메타 데이터이고, 'a.txt'의 실제적인 정보는 파일 데이터이다.
본 발명의 필터 드라이버(215)는 심볼(Symbol)을 이용하여 데이터를 필터링한다. 필터 드라이버(215)가 메타 데이터를 필텅링하기 위한 심볼에는 파일 이름, 확장자 정보, 미러링을 통해 취할 수 있는 모든 파일 정보 및 마이크로 소프트사의 윈도우즈의 경우 $으로 시작하는 메타 파일 심볼(Meta File Symbol) 등이 있다.
여기서 $으로 시작하는 메타 파일 심볼은 다음 표와 같다.
심볼 대상 역할여u
$Mft MFT 파일 MFT 자신에 대한 파일 레코드
$MftMirr MFT 미러 파일 MFT의 앞쪽 몇 개에 대한 사본
$LogFile 로그 파일 볼륨구조에 영향을 미치는 모든 작업에 대한 기록
$Root 루트 정보 파일 루트에 저장된 파일과 디렉토리 목록
$Bitmap 비트맵 볼륨 할당상태 기록
$Secure 데이터 베이스 파일 볼륨 전역의 보안 서술자 데이터 베이스
$Boot 부트 파일 부트 스트랩에 대한 파일
원도우즈의 메타 파일은 필터 드라이버(215)를 통해 호스트(200)의 램(도시되지 않음)와 같은 메모리에 임시 저장해두었다가 전송된다. 이를 통해 I/O 요청외에 불필요하게 플래시 메모리(230)에 억세스되는 것을 피하게 된다.
필터 드라이버(215)는 심볼을 근거로 데이터를 필터링하여 메타 데이터 및 파일 데이터에 각각 서로 다른 태그를 붙혀준다. 예를 들어, 메타 데이터는 SLC 태그를 덧붙혀주고, 파일 데이터는 MLC 태그를 덧붙혀준다. 여기서 태그는 소정 비트의 데이터에 하나의 비트를 추가하는 형태가 될 수 있다. 예를 들어, 메타 데이터는 SLC 태그로 '1' 비트를 추가하고, 파일 데이터는 MLC 태그로 '0'비트를 추가할 수 있다.
디바이스 드라이버(216)는 플래시 메모리(230)의 제어 및 인터페이스를 위해 사용된다. 프로세싱 유닛(211)은 디바이스 드라이버(216)를 이용하여 플래시 메모리(230)와의 인터페이스를 제어한다.
메모리 제어기(220) 및 플래시 메모리(230)는 하나의 메모리 카드 내에 포함될 수 있다. 이러한 메모리 카드에는 MMC(Multi Media Card), SD 카드, XD 카드, CF 카드, SIM 카드 등이 포함된다. 또한 이러한 메모리 카드는 컴퓨터, 노트북, 디지털 카메라, 휴대폰, MP3 플레이어, PMP 등과 같은 호스트(210)에 접속되어 있다.
메모리 제어기(220)는 플래시 메모리(230)의 제반 동작(예를 들면, 쓰기 혹은 읽기 동작)을 제어한다. 도 4를 참조하면, 메모리 제어기(220)는 펌웨어(222)를 포함하고 있다. 펌웨어(222)는 호스트(210)로부터 전달된 태그가 붙여진 데이터를 보고, 해당 데이터를 SLC 방식 혹은 MLC 방식으로 플래시 메모리(230)에 프로그램 시킨다. 예를 들어, 메타 데이터의 경우, 펌웨어(222)는 SLC 태그에 근거하여 메타 데이터를 SLC 방식으로 플래시 메모리(230)에 프로그램시킨다. 한편, 파일 데이터의 경우, 펌웨어(222)는 MLC 태그에 근거하여 파일 데이터를 자동으로 MLC 방식으로 플래시 메모리(230)에 프로그램시킨다.
플래시 메모리(230)는 메모리 셀 어레이(도시되지 않음)을 포함하고 있다. 메모리 셀 어레이는 SLC 영역(232) 및 MLC 영역(234)을 포함하고 있다. 여기서 SLC 영역(232)는 상술된 바와 같이 SLC 방식으로 프로그램되는 영역이고, MLC 영역(234)은 MLC 방식으로 프로그램되는 영역이다. MLC 방식에는 하나의 메모리 셀이 2비트를 저장할 수 있는 2비트 MLC 방식, 3비트를 저장할 수 있는 3비트 MLC 방식 및 4비트를 저장할 수 있는 4비트 MLC 방식 등이 있다.
한편 SLC 영역(232) 및 MLC 영역(234)은 플래시 메모리(230)에 고정되어 있을 수도 있고 혹은 유동적일 수도 있다. 즉, 영역이 고정된 경우에는, 플래시 메모리(230)의 메모리 셀 어레이 중에서 일정한 영역은 SLC 영역(232)으로 이용하고 나머지 영역을 MLC 영역으로 이용한다. 한편, 영역이 고정되지 않은 경우에는, 플래시 메모리(230)의 메모리 셀 어레이는 사용자의 필요에 따라 SLC 방식으로 프로그램할 수도 있고 MLC 방식으로 프로그램할 수도 있다.
본 발명의 메모리 시스템(200)의 호스트(210)는 데이터를 필터링하여 SLC 방식 혹은 MLC 방식으로 프로그램할지를 결정하게 된다. 호스트(210)는 필터링된 데이터에 적합한 SLC 태그 혹은 MLC 태그를 덧붙혀준다. 메모리 제어기(220)는 전달된 데이터에 붙혀진 SLC 태그 혹은 MLC 태그를 근거로 전송된 데이터를 SLC 방식으 로 프로그램할지 혹은 MLC 방식으로 프로그램할지 결정한다. 따라서 본 발명의 메모리 시스템(200)은 플래시 메모리(230)의 특성에 맞게 효율적으로 데이터를 관리할 수 있게 된다.
도 3은 본 발명의 메모리 시스템(200)의 파일 시스템의 아키텍쳐에 대한 제 1 실시예이다. 도 2 및 도 3를 참조하면, 데이터 저장방법이 설명될 것이다.
S105 단계에서는 저장하려는 파일(예를 들어, a.txt)로부터 심볼 정보(symbolic information)를 알아낸다. 좀더 자세하게 살펴보면, 사용자(user)가 플래시 메모리(230)에 파일(a.txt)를 저장하는 I/O 요청을 하게 되면, 필터 드라이버(212)는 저장하려는 파일(a.txt)을 필터링하여 심볼 정보(symbolic information)를 추출해 낸다
S110 단계에서는 파일 시스템 계층은 저장하려는 파일(a.txt)을 나타내는 논리 어드레스를 생성한다. 여기서 파일 시스템은 크게 위치 정보 영역(Location Information)과 데이터 영역(Data Area)로 구성된다. 위치 정보 영역에는 논리 어드레스를 포함하고 있으며, 데이터 영역에는 메타 데이터 및 파일 데이터를 포함하고 있다.
S120 단계에서 I/O 계층은 파일 시스템 계층에서 생성된 논리 어드레스에 해당하는 데이터를 어떠한 저장 장치로 저장할지를 결정하게 된다. 이러한 저장 장치는 다양하게 구현될 수 있다. 본 메모리 시스템(200)에서는 저장장치로 플래시 메모리(230)를 이용하고 있다.
S125 단계에서 필터 드라이버(212)는 S105 단계에서 알아낸 심볼 정보를 근 거하여 데이터를 플래시 메모리(230)의 SLC 영역(232) 혹은 MLC 영역(234)에 저장할지 판단한다. 또한 필터 드라이버(212)는 이러한 판단 결과에 따라 각각의 데이터에 적합한 SLC 태그 혹은 MLC 태그를 덧붙혀준다.
S130 단계에서 플래시 변환 계층(Flash Translation Layer)은 논리 어드레스을 플래시 메모리(230)에 적합한 물리적인 어드레스로 매핑시켜 준다. 동시에 플래시 변환 계층(FTL)은 입력되는 데이터의 태그에 따라 해당 데이터를 SLC 방식으로 프로그램할지 혹은 MLC 방식으로 프로그램할지 결정하게 된다. 도 2에 도시된 펌웨어(222)는 플래시 변환 계층에 포함된다.
플래시 변환 계층은 파일 시스템으로부터 제공되는 논리 어드레스를 플래시 메모리의 물리 어드레스로 변환하기 위한 어드레스 맵핑 모듈(도시되지 않음)을 포함하고 있다. 또한 소거 평준화 동작을 수행하는 소거 평준화 모듈(도시되지 않음)을 포함한다. 한편, 플래시 변환 계층은 플래시 메모리의 각 블럭들에 흩어져 있는 유효 데이터들을 모아서 하나의 블럭에 채우는 가비지 컬렉션(Garbage Collection) 동작을 지원하고 있다. 이밖에 플래시 변환 계층은 모듈 단위의 기능블럭들을 포함하며, 파일 시스템으로부터 읽기/쓰기 요청에 대응하는 효율적인 억세스 동작을 지원한다.
S140 단계에서 플래시 메모리(230)의 해당 물리적 어드레스에 S130 단계에서 결정된 SLC 방식 혹은 MLC 방식으로 해당 데이터가 프로그램된다.
도 4은 본 발명의 메모리 시스템(200)의 파일 시스템의 아키텍쳐에 대한 제 2 실시예이다. 도 2 및 도 4을 참조하면, 데이터 저장 방법이 설명될 것이다.
S210 단계에서, 사용자가 플래시 메모리(230)에 파일(a.txt)을 저장하는 I/O 요청을 하면, 파일 시스템 계층은 파일(a.txt)에 해당하는 논리 어드레스를 생성한다. 이때 동시에 S215 단계도 진행된다.
S215 단계에서, 필터 드라이버(212)는 파일 시스템 계층의 데이터로부터 심볼(Symbol)을 추출한다. 필터 드라이버(212)는 추출된 심볼에 따라 해당하는 데이터에 SLC 태그 혹은 MLC 태그를 붙여준다.
S220 단계에서, I/O 계층은 태크가 붙은 데이터와 해당 논리 어드레스를 어떠한 저장 장치에 저장할지 결정된다. 본 발명은 설명의 편의를 위하여 플래시 메모리(230)에 한정하였다. I/O 계층은 SLC 혹은 MLC 태그가 붙은 데이터를 메모리 제어기(220)로 전송한다.
S230 단계에서, 플래시 변환 계층은 논리 어드레스를 플래시 메모리(230)에 적합한 물리 어드레스로 매핑한다. 또한 플래시 변환 계층은 동시에 전송된 데이터의 태그에 따라 해당하는 물리 어드레스에 SLC 방식으로 프로그램할지 혹은 MLC 방식으로 프로그램할지 판단하게 된다.
S240 단계에서, 플래시 변환 계층의 판단 결과에 따라 플래시 메모리(230)에 해당 데이터를 SLC 방식 혹은 MLC 방식으로 프로그램시킨다.
본 발명의 메모리 시스템(200)은 비번하게 억세스되는 데이터를 필터링하여 플래시 메모리(130)의 SLC 영역(232)에 자동으로 프로그램하여 읽기 동작 성능을 향상시키게 된다.
도 2에 도시된 메모리 시스템(200)은 저장장치로 플래시 메모리 저장장치를 이용하고 있다. 그러나 반드시 그럴 필요는 없다. 본 발명의 메모리 시스템은 서로 다른 종류의 메모리 영역을 포함하는 저장장치에 대하여 필터링된 데이터를 저장할 수도 있다. 도 5은 본 발명의 또 다른 메모리 시스템(300)을 보여주고 있다. 도 5를 참조하면, 메모리 시스템(300)은 호스트(310) 및 저장장치(320)를 포함하고 있다. 호스트(310)는 도 2에 도시된 호스트(210)와 기능적으로 동일하게 구현될 것이다. 저장장치(320)는 서로 다른 종류의 제 1 메모리 영역(322) 및 제 2 메모리 영역(324)을 포함하고 있다. 여기서 제 1 메모리 영역(322)은 억세스와 신뢰성을 요구되는 종류의 메모리로서, 노아 플래시 메모리 혹은 피램을 이용할 수 있다. 한편, 제 2 메모리 영역(324)은 대용량의 데이터를 저장할 수 있는 메모리로서, 낸드 플래시 메모리를 이용할 수 있다. 덧붙혀, 제 1 메모리 영역(242)는 휘발성 메모리를, 제 2 메모리 영역(324)는 비휘발성 메모리를 이용할 수도 있다.
한편, 본 발명의 메모리 시스템은 저장장치로 하이브리드 하드디스크 드라이버(Hybrid HDD)를 이용할 수도 있다. 도 6은 하이브리드 HDD를 이용하는 본 발명의 메모리 시스템(400)이다. 도 6을 참조하면, 메모리 시스템(400)은 호스트(410) 및 하이브리드 HDD(420)를 포함하고 있다. 하이브리드 하드디스크 드라이버(420)는 플래시 메모리(422) 및 HDD(424)를 포함하고 있다. 플래시 메모리(422)는 호스트(410)을 운용하는데 필요한 부트 코드(boot code)가 저장된다. 호스트(410)의 필터 드라이버(415)는 데이터 중에서 호스트(410)를 운용하는데 필요한 부트 코드를 필터링하여 적합한 태그를 덧붙혀준다. 하이브리드 HDD(420)는 호스트(410)로부터 전달된 데이터에 붙혀진 태그를 보고, 플래시 메모리(422)에 저장할지 혹은 HDD(424)에 저장할지 판단한다.
본 발명의 메모리 시스템에 사용되는 저장장치는 서로 다른 종류의 메모리 영역을 포함하고 있는 HDD(Hard Disk Driver), DVD(Digital Versatile Disc), BD(Blu-ray Disc) 등에 적용될 수도 있다.
상술한 본 발명의 메모리 시스템은 하나의 저장 장치내에 서로 다른 메모리 영역들을 포함하고 있었다. 그러나 반드시 그럴 필요는 없다. 본 발명의 메모리 시스템은 서로 다른 저장장치로도 확장이 가능하다. 도 7은 본 발명에 또 다른 메모리 시스템(500)에 대한 실시예를 보여주고 있다. 도 7을 참조하면, 메모리 시스템(500)은 호스트(510), 플래시 저장장치(520) 및 HDD(530)을 포함하고 있다.
호스트(510)는 파일을 어떠한 저장장치(520)에 저장할지를 판단한다. 즉 호스트(510)의 필터 드라이버(515)는 데이터를 필터링하여 해당 데이터가 플래시 저장장치(520)에 저장될지 혹은 HDD(530)에 저장될지 판단한다. 호스트(510)의 I/O 계층(도시되지 않음)은 필터 드라이버(512)의 판단 결과에 따라 해당 데이터를 플래시 저장장치(520) 혹은 HDD(530)에 전송하게 된다. 여기서 해당 데이터에는 필터 드라이버(512)의 판단 정보가 포함되어 있다.
일례로, 필터 드라이버(515) 파일의 확장자에 따라 데이터 저장 장치를 구분할 수 있다. 파일의 확장자가 동영상 혹은 음원일 경우(예를 들어, MPG,AVI,MP3 등), 필터 드라이버(515)는 해당 파일을 플래시 메모리(520)에 저장하게 하고, 그 외의 파일은 HDD(530)에 저장하도록 판단하고, 적합한 판단 정보를 해당 데이터에 추가한다. I/O 계층(도시되지 않음)은 판단 정보에 따라 해당 데이터를 플래시 저 장치(520) 혹은 HDD(530)에 전송한다.
한편, 본 발명의 상세한 설명에서는 구체적인 실시예에 관하여 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지로 변형할 수 있다. 그러므로 본 발명의 범위는 상술한 실시예에 국한되어 정해져서는 안되며 후술하는 특허청구범위 뿐만 아니라 이 발명의 특허청구범위와 균등한 것들에 의해 정해져야 한다.
상술한 바와 같이 본 발명에 따른 메모리 시스템 및 그것의 데이터 저장 방법은 심볼을 기반으로 데이터를 필터링하여 해당 데이터를 적합한 메모리 영역에 저장하게 함으로 보다 효율적으로 데이터를 관리할 수 있게 된다.

Claims (25)

  1. 메모리 시스템의 데이터 저장 방법에 있어서:
    (a) 데이터를 필터링하는 단계;
    (b) 상기 필터링에 근거하여 상기 데이터가 복수의 서로 다른 메모리 영역 중 어느 하나에 저장될지 여부를 판단하는 단계; 및
    (c) 상기 판단 결과에 따라 상기 데이터를 저장하는 단계를 포함하되,
    상기 (b) 단계 이후, 상기 데이터는 상기 판단 결과에 대한 정보를 포함하는 메모리 시스템의 데이터 저장 방법.
  2. 제 1 항에 있어서,
    상기 (a) 단계에서, 상기 데이터는 심볼을 기준으로 필터링되는 메모리 시스템의 데이터 저장 방법.
  3. 제 1 항에 있어서,
    상기 (a) 단계에서, 상기 입력되는 데이터는 상기 복수의 필터링 데이터로 필터링되는 메모리 시스템의 데이터 저장 방법.
  4. 제 1 항에 있어서,
    상기 (b) 단계에서, 상기 서로 다른 메모리 영역은 서로 다른 메모리 장치인 메모리 시스템의 데이터 저장 방법.
  5. 제 4 항에 있어서,
    상기 서로 다른 메모리 장치는 플래시 저장 장치 및 HDD(Hard Disk Driver)인 메모리 시스템의 데이터 저장 방법.
  6. 제 1 항에 있어서,
    상기 (b) 단계에서, 상기 서로 다른 메모리 영역은 하나의 메모리 장치에 포함되어 있는 메모리 시스템의 데이터 저장 방법.
  7. 제 6 항에 있어서,
    상기 메모리 장치는 하이브리드 HDD인 메모리 시스템의 데이터 저장 방법.
  8. 제 6 항에 있어서,
    상기 메모리 장치는 낸드 플래시 메모리 장치인 메모리 시스템의 데이터 저장 방법.
  9. 제 7 항에 있어서,
    상기 서로 다른 메모리 영역은 각각 SLC(Singl Level Cell) 영역 및 MLC(Multi Level Cell) 영역이되,
    상기 SLC 영역은 데이터를 SLC 방식으로 프로그램하는 영역이고, 상기 MLC 영역은 데이터를 MLC 방식으로 프로그램하는 영역인 메모리 시스템의 데이터 저장 방법.
  10. 제 1 항에 있어서,
    상기 (a) 단계에서, 상기 필터링 데이터는 상기 복수의 서로 다른 메모리 영역 중 어느 하나를 나타내는 태그를 덧붙히는 단계를 더 포함하는 메모리 시스템의 데이터 저장 방법.
  11. 제 10 항에 있어서,
    상기 (b) 단계에서, 상기 필터링 데이터는 상기 태그에 따라 상기 복수의 서로 다른 메모리 영역 중 어느 하나를 저장될지 판단되는 메모리 시스템의 데이터 저장 방법.
  12. 제 1 종류의 데이터를 저장하는 제 1 메모리 영역;
    제 2 종류의 데이터를 저장하는 제 2 메모리 영역; 및
    상기 제 1 및 제 2 메모리 영역으로부터 데이터를 입출력하되, 데이터를 상기 제 1 혹은 제 2 종류의 데이터로 필터링하여 상기 제 1 및 제 2 메모리 영역에 전송하는 호스트를 포함하는 메모리 시스템.
  13. 제 12 항에 있어서,
    상기 호스트에서 상기 데이터는 심볼을 기준으로 필터링되는 메모리 시스템.
  14. 제 12 항에 있어서,
    상기 제 1 및 제 2 메모리 영역은 서로 다른 메모리 장치인 메모리 시스템.
  15. 제 14 항에 있어서,
    상기 서로 다른 메모리 장치는 플래시 저장 장치 및 HDD(Hard Disk Driver)인 메모리 시스템.
  16. 제 12 항에 있어서,
    상기 서로 다른 메모리 영역은 하나의 메모리 장치에 포함되어 있는 메모리 시스템.
  17. 제 16 항에 있어서,
    상기 메모리 장치는 하이브리드 HDD인 메모리 시스템.
  18. 제 16 항에 있어서,
    상기 메모리 장치는 낸드 플래시 메모리 장치인 메모리 시스템.
  19. 제 18 항에 있어서,
    상기 서로 다른 메모리 영역은 각각 SLC(Singl Level Cell) 영역 및 MLC(Multi Level Cell) 영역이되,
    상기 SLC 영역은 데이터를 SLC 방식으로 프로그램하는 영역이고, 상기 MLC 영역은 데이터를 MLC 방식으로 프로그램하는 영역인 메모리 시스템.
  20. 제 12 항에 있어서,
    상기 호스트는 상기 데이터를 필터링할 때 상기 복수의 서로 다른 메모리 영역 중 어느 하나를 나타내는 태그를 상기 데이터에 덧붙히는 필터 드라이버를 더 포함하는 메모리 시스템.
  21. 제 20 항에 있어서,
    상기 호스트는 상기 데이터에 덧붙혀진 상기 태그에 따라 상기 복수의 서로 다른 메모리 영역 중 어느 하나에 저장될지 판단하는 메모리 시스템.
  22. 제 19 항에 있어서,
    상기 호스트는 상기 데이터를 필터링 할 때 상기 SLC 영역 혹은 MLC 영역 중 어느 하나를 나타내는 태그를 상기 데이터에 덧붙히는 필터 드라이버를 더 포함하는 메모리 시스템.
  23. 제 22 항에 있어서,
    상기 데이터에 덧붙혀진 상기 태그에 따라 상기 필터링 데이터를 상기 SLC 영역 혹은 상기 MLC 영역에 저장시키는 메모리 제어기를 더 포함하는 메모리 시스템.
  24. 제 23 항에 있어서,
    상기 SLC 영역에 저장되는 데이터는 시스템의 메타 파일 혹은 코드 데이터인 메모리 시스템.
  25. 제 12 항에 있어서,
    상기 메모리 시스템은 메모리 카드에 이용되는 메모리 시스템.
KR1020070013894A 2007-02-09 2007-02-09 메모리 시스템 및 그것의 데이터 저장 방법 KR100854032B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020070013894A KR100854032B1 (ko) 2007-02-09 2007-02-09 메모리 시스템 및 그것의 데이터 저장 방법
US12/003,465 US20080195679A1 (en) 2007-02-09 2007-12-26 Systems and methods for managing data storage
JP2008025422A JP2008198200A (ja) 2007-02-09 2008-02-05 データストレ−ジを管理するためのシステム及び方法
CN200810009905XA CN101261567B (zh) 2007-02-09 2008-02-13 管理数据存储的系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070013894A KR100854032B1 (ko) 2007-02-09 2007-02-09 메모리 시스템 및 그것의 데이터 저장 방법

Publications (2)

Publication Number Publication Date
KR20080074584A true KR20080074584A (ko) 2008-08-13
KR100854032B1 KR100854032B1 (ko) 2008-08-26

Family

ID=39686780

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070013894A KR100854032B1 (ko) 2007-02-09 2007-02-09 메모리 시스템 및 그것의 데이터 저장 방법

Country Status (4)

Country Link
US (1) US20080195679A1 (ko)
JP (1) JP2008198200A (ko)
KR (1) KR100854032B1 (ko)
CN (1) CN101261567B (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120022065A (ko) * 2010-08-31 2012-03-09 삼성전자주식회사 저장 장치, 그것의 스트림 필터링 방법 및 비휘발성 메모리 장치를 포함하는 데이터 저장장치
US8843697B2 (en) 2012-06-25 2014-09-23 SK Hynix Inc. Operating method of data storage device
KR20150061945A (ko) * 2013-11-28 2015-06-05 삼성전자주식회사 내부 하드웨어 필터를 포함하는 일체형 데이터 저장 장치, 이의 동작 방법, 및 상기 데이터 저장 장치를 포함하는 시스템
KR20160083761A (ko) * 2015-01-02 2016-07-12 삼성전자주식회사 하드웨어 필터를 포함하는 데이터 저장 장치 및 상기 데이터 저장 장치를 포함하는 데이터 처리 시스템

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
KR20100107089A (ko) * 2009-03-25 2010-10-05 삼성전자주식회사 저장 장치 및 이를 포함하는 데이터 저장 시스템
JP5984118B2 (ja) * 2009-12-04 2016-09-06 マーベル ワールド トレード リミテッド 格納デバイスの仮想化
CN105426117B (zh) * 2015-10-27 2018-11-16 浪潮(北京)电子信息产业有限公司 一种系统性能优化方法及装置
CN105892937B (zh) * 2016-02-23 2020-09-25 联想(北京)有限公司 一种信息处理方法及电子设备
KR20210074849A (ko) 2019-12-12 2021-06-22 에스케이하이닉스 주식회사 메모리 컨트롤러 및 이의 동작 방법

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01287761A (ja) * 1988-05-14 1989-11-20 Fujitsu Ltd 半導体記憶装置
KR0135789B1 (ko) * 1995-01-27 1998-06-15 김광호 고밀도 저장기기에 있어서 데이타 검출방법 및 장치
US5832501A (en) * 1996-12-31 1998-11-03 Apple Computer, Inc. Method and system for filtering file manager attribute values
US5960169A (en) * 1997-02-27 1999-09-28 International Business Machines Corporation Transformational raid for hierarchical storage management system
US6785767B2 (en) * 2000-12-26 2004-08-31 Intel Corporation Hybrid mass storage system and method with two different types of storage medium
CA2365375A1 (en) * 2001-12-18 2003-06-18 Ibm Canada Limited-Ibm Canada Limitee Optimizing source code for iterative execution
US6715041B2 (en) 2002-01-28 2004-03-30 M-Systems Flash Disk Pioneers Ltd. Non-volatile memory device with multiple ports
US7386530B2 (en) * 2002-12-19 2008-06-10 Mathon Systems, Inc. System and method for managing content including addressability features
US7627552B2 (en) * 2003-03-27 2009-12-01 Microsoft Corporation System and method for filtering and organizing items based on common elements
KR20050116714A (ko) * 2004-06-08 2005-12-13 삼성전자주식회사 저전력 캐시장치
US8275802B2 (en) * 2004-06-17 2012-09-25 International Business Machines Corporation Optimized least recently used lookup cache

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120022065A (ko) * 2010-08-31 2012-03-09 삼성전자주식회사 저장 장치, 그것의 스트림 필터링 방법 및 비휘발성 메모리 장치를 포함하는 데이터 저장장치
US8843697B2 (en) 2012-06-25 2014-09-23 SK Hynix Inc. Operating method of data storage device
KR20150061945A (ko) * 2013-11-28 2015-06-05 삼성전자주식회사 내부 하드웨어 필터를 포함하는 일체형 데이터 저장 장치, 이의 동작 방법, 및 상기 데이터 저장 장치를 포함하는 시스템
KR20160083761A (ko) * 2015-01-02 2016-07-12 삼성전자주식회사 하드웨어 필터를 포함하는 데이터 저장 장치 및 상기 데이터 저장 장치를 포함하는 데이터 처리 시스템

Also Published As

Publication number Publication date
CN101261567A (zh) 2008-09-10
JP2008198200A (ja) 2008-08-28
KR100854032B1 (ko) 2008-08-26
CN101261567B (zh) 2013-01-02
US20080195679A1 (en) 2008-08-14

Similar Documents

Publication Publication Date Title
KR100854032B1 (ko) 메모리 시스템 및 그것의 데이터 저장 방법
TWI720588B (zh) 用以在記憶裝置中進行存取管理的方法、相關記憶裝置及其控制器以及相關電子裝置
US7395384B2 (en) Method and apparatus for maintaining data on non-volatile memory systems
US8078794B2 (en) Hybrid SSD using a combination of SLC and MLC flash memory arrays
KR101528714B1 (ko) 메모리 유닛 동작 방법 및 메모리 제어기
CN105045523B (zh) 存储控制器、存储装置和系统及操作存储控制器的方法
US9489297B2 (en) Pregroomer for storage array
US9116791B2 (en) Method for flash-memory management
EP1782211B1 (en) Fat analysis for optimized sequential cluster management
KR101404083B1 (ko) 반도체 디스크 및 그것의 동작 방법
US8122193B2 (en) Storage device and user device including the same
KR100823171B1 (ko) 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
US9367451B2 (en) Storage device management device and method for managing storage device
US20150186259A1 (en) Method and apparatus for storing data in non-volatile memory
KR20140112303A (ko) 불휘발성 메모리 장치, 전자 장치 그리고 그것을 포함하는 컴퓨팅 시스템
US10459803B2 (en) Method for management tables recovery
US11204864B2 (en) Data storage devices and data processing methods for improving the accessing performance of the data storage devices
US8954692B2 (en) File protecting method and system, and memory controller and memory storage apparatus thereof
US20090172269A1 (en) Nonvolatile memory device and associated data merge method
US20130275655A1 (en) Memory management method and memory controller and memory storage device using the same
CN115390747A (zh) 存储设备及其操作方法
KR20160119607A (ko) 데이터 저장 장치 및 그것의 동작 방법
KR102580075B1 (ko) 플래시 메모리의 가비지 콜렉션 방법 및 이를 이용하는 저장 장치
US20240103733A1 (en) Data processing method for efficiently processing data stored in the memory device by splitting data flow and the associated data storage device
US20220164119A1 (en) Controller, and memory system and data processing system including the same

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