KR20090098276A - 하이브리드 저장 장치 - Google Patents

하이브리드 저장 장치 Download PDF

Info

Publication number
KR20090098276A
KR20090098276A KR1020080023540A KR20080023540A KR20090098276A KR 20090098276 A KR20090098276 A KR 20090098276A KR 1020080023540 A KR1020080023540 A KR 1020080023540A KR 20080023540 A KR20080023540 A KR 20080023540A KR 20090098276 A KR20090098276 A KR 20090098276A
Authority
KR
South Korea
Prior art keywords
mapping
data
unit
mapping unit
flash memory
Prior art date
Application number
KR1020080023540A
Other languages
English (en)
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 KR1020080023540A priority Critical patent/KR20090098276A/ko
Publication of KR20090098276A publication Critical patent/KR20090098276A/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/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0873Mapping of cache memory to specific storage devices or parts thereof
    • 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/0683Plurality of storage devices
    • G06F3/0685Hybrid storage combining heterogeneous device types, e.g. hierarchical storage, hybrid arrays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Abstract

본 발명은 데이터에 따라 쓰기 방식을 구분하여 플래시 메모리와 비휘발성 메모리를 복합적으로 이용하는 하이브리드 저장 장치를 개시하며, 외부로부터 전송된 데이터의 쓰기 패턴을 판단하는 패턴 인식부; 메타 데이터를 제공하는 메타 데이터 저장부; 상기 외부로부터 전송된 데이터와 상기 메타 데이터를 구분하고, 상기 외부로부터 전송된 데이터를 상기 패턴 인식부에서 판단된 패턴을 구분하며, 상기 구분에 대응하는 사상 기법을 선택적으로 수행하는 사상부; 상기 사상부에서 선택된 기법에 해당하는 사상을 위한 물리적 주소를 제공하는 사상 테이블; 상기 사상부에서 대량 순차 쓰기 대상으로 구분된 데이터를 해당 물리적 주소에 저장하는 플래시 메모리; 및 상기 사상부에서 소량 랜덤 쓰기 대상으로 구분된 데이터를 해당 물리적 주소에 저장하는 비휘발성 메모리;를 구비함을 특징으로 한다.

Description

하이브리드 저장 장치{Hybrid Storage apparatus}
본 발명은 하이브리드 저장 장치에 관한 것으로서, 보다 상세하게는 데이터에 따라 쓰기 방식을 구분하여 플래시 메모리와 비휘발성 메모리를 복합적으로 이용하는 하이브리드 저장 장치에 관한 것이다.
일반적으로 컴퓨터 등과 같이 멀티미디어를 기록 및 재생하는 장치는 대용량 데이터를 저장하기 위한 저장소를 필요로 하며, 대용량 저장장치로서 하드디스크가 많이 이용되고 있으나, 최근 모바일 장치나 네트워크 등을 고려한 휴대성이나 용량의 확장성 등을 확보하기 위하여 플래시 메모리가 메인 저장 장치로 개발되어 상용화되는 추세이다.
플래시 메모리 저장 장치는 일반적으로 순차 읽기/쓰기, 랜덤 읽기에는 뛰어난 성능을 보이나, 소량 랜덤 쓰기 시에는 덮어쓰기가 어렵다는 제약으로 인해서 제자리 갱신(In-place update) 방법을 사용하지 못하기 때문에 기본적으로 주소 사상(Mapping) 기법을 사용하여 쓰기를 수행한다.
주소 사상 기법은 플래시 메모리의 프로그램 단위인 페이지 단위로 수행하거나 지우기 단위인 블록 단위로 수행하는 것이 일반적이다.
한편, 차세대 비휘발성 메모리 장치는 MRAM(마그네틱 메모리, Magneto-electric RAM), FRAM(강자성 메모리, Ferroelectric RAM), PRAM(상전환 메모리, Phase-change RAM), 배터리-백 DRAM(Batarry-backed DRAM) 등이 포함되며, 플래시 메모리도 비휘발성 메모리 장치이나 전통적인 비휘발성 메모리 장치와 상기한 차세대 비휘발성 메모리 장치를 구분하는 의미에서 본 명세서에서 차세대 비휘발성 메모리 장치는 비휘발성 메모리로 통칭한다.
상기한 비휘발성 메모리 장치는 S-RAM과 동일한 워드 단위의 덮어쓰기가 가능하고 접근 속도가 빠른 장점이 있으나, 집적도가 떨어져서 제작 단가가 비싼 단점이 있다.
상술한 바 플래시 메모리 저장 장치의 제약사항을 해결하면서 비휘발성 메모리의 인터페이스와 접근 속도를 공유하는 하이브리드 저장 장치의 개발이 소망되고 있다.
본 발명의 목적은 데이터에 따라 쓰기 방식을 구분하여 플래시 메모리와 비휘발성 메모리를 복합적으로 이용하는 하이브리드 저장 장치를 제공한다.
본 발명의 다른 목적은 소량 램덤 쓰기는 비휘발성 메모리를 이용하고 순차 대량 쓰기는 플래시 메모리를 이용하는 하이브리드 저장 장치를 제공한다.
본 발명에 따른 하이브리드 저장 장치는, 외부로부터 전송된 데이터의 쓰기 패턴을 판단하는 패턴 인식부; 메타 데이터를 제공하는 메타 데이터 저장부; 상기 외부로부터 전송된 데이터와 상기 메타 데이터를 구분하고, 상기 외부로부터 전송된 데이터를 상기 패턴 인식부에서 판단된 패턴을 구분하며, 상기 구분에 대응하는 사상 기법을 선택적으로 수행하는 사상부; 상기 사상부에서 선택된 기법에 해당하는 사상을 위한 물리적 주소를 제공하는 사상 테이블; 상기 사상부에서 대량 순차 쓰기 대상으로 구분된 데이터를 해당 물리적 주소에 저장하는 플래시 메모리; 및 상기 사상부에서 소량 랜덤 쓰기 대상으로 구분된 데이터를 해당 물리적 주소에 저장하는 비휘발성 메모리;를 구비함을 특징으로 한다.
여기에서, 상기 데이터는 버스나 네트워크 중 어느 하나로부터 전송될 수 있다.
그리고, 상기 패턴 인식부는, 쓰기 패턴을 소량 랜덤 쓰기와 대량 순차 쓰기로 인식함이 바람직하다.
그리고, 상기 사상부는, 플래시 메모리의 사상을 담당하는 플래시 메모리 사상부, 사상 테이블과 비휘발성 메모리 사상을 담당하는 비휘발성 메모리 사상부, 및 사상 테이블과 상기 메타 데이터 저장부의 데이터를 저장하는 메타 버퍼를 구비할 수 있다.
그리고, 상기 비휘발성 메모리는 MRAM(마그네틱 메모리, Magneto-electric RAM), FRAM(강자성 메모리, Ferroelectric RAM), PRAM(상전환 메모리, Phase-change RAM), 배터리-백 DRAM(Batarry-backed DRAM) 중 적어도 어느 하나를 포함함이 바람직하다.
본 발명에 따른 하이브리드 저장 장치는 대용량 데이터 저장은 플래시 메모리를 이용하여 수행하고, 플래시 메모리에서 처리하기 어려운 소량 랜덤 쓰기 대상 데이터는 비휘발성 메모리, 즉 SRAM과 동일한 인터페이스와 접근 속도를 제공하면서 비휘발성을 갖는 메모리인, 소량의 Persistent RAM(P-RAM)을 이용함으로써 저장장치에서 순차 읽기/쓰기의 처리시 오버헤드되는 문제를 해결할 수 있어 저장장치(Storage apparatus)의 성능과 경제성에서 장점을 취할 수 있다.
본 발명은 플래시 메모리와 비휘발성 메모리를 구비하며, 데이터의 쓰기 방식에 따라서 플래시 메모리와 비휘발성 메모리에 선택적으로 쓰기를 수행하는 하이브리드 저장 장치의 구성을 갖는다.
도 1은 본 발명에 따른 하이브리드 저장 장치의 실시예이며, 호스트(10), 패턴인식부(12), 메타 데이터 저장부(13), 사상부(14), 플래시 메모리(16), 비휘발성 메모리(18), 사상 테이블로서 플래시 메모리 사상 테이블(20) 및 비휘발성 메모리 사상 테이블(22)을 구비하며, 사상부(14)는 내부에 플래시 메모리 사상부(30), 비휘발성 메모리 사상부(32), 메타 버퍼(34)를 구비한다.
호스트(10)는 플래시 메모리(16)를 저장소로 이용하기 위하여 버스(BUS) 또는 네트워크를 통하여 데이터를 전송 채널에서 요구하는 포맷에 맞게 데이터를 전송하며, 전송되는 데이터는 쓰기 요청 패턴 정보와 같이 전송된다.
패턴 인식부(12)는 데이터와 같이 전송되는 쓰기 요청 패턴 정보를 참조하여 호스트(10)에서 전송되는 데이터를 쓰는 패턴을 인식하기 위한 것이며, 대량 순차 쓰기를 수행할 경우 데이터를 사상부(14)의 플래시 메모리 사상부(30)로 전송하고, 소량 랜덤 쓰기를 수행할 경우 데이터를 사상부(14)의 비휘발성 메모리 사상부(32)로 전송한다.
메타 데이터 저장부(13)는 내부 소프트웨어(도시되지 않음)에서 플래시 메모리 및 비휘발성 메모리에 저장된 데이터를 관리하기 위한 메타 데이터를 저장하는 것으로서, 사상부(14)의 메타 버퍼(34)에 데이터를 전송한다.
사상부(14)는 플래시 메모리 사상부(30)의 데이터를 플래시 메모리 사상 테이블(20)을 참조하여 지정된 물리적 어드레스의 플래시 메모리(16)에서 저장하는 기능을 수행하며, 비휘발성 메모리 사상부(32) 또는 메타 버퍼(34)의 데이터를 비휘발성 메모리 사상 테이블(22)을 참조하여 지정된 물리적 어드레스의 비휘발성 메모리(16)에 저장하는 기능을 수행한다. 이에 대하여 도 2 및 도 3을 참조하여 후술한다.
그리고, 플래시 메모리 사상부(30)는 데이터를 블록 단위로 저장하는 복수의 버퍼로 이루어질 수 있고, 비휘발성 메모리 사상부(32)도 데이터를 페이지 단위로 저장하는 복수의 버퍼로 이루어질 수 있다. 이때 메타 버퍼(34)도 페이지 단위로 저장하는 페이지 버퍼 또는 워드 단위로 저장하는 버퍼로 구성될 수 있다.
플래시 메모리(16)는 전통적인 비휘발성 특성을 갖는 플래시 메모리나, 복수의 플래시 메모리가 어레이된 대용량 메모리로 구성될 수 있다.
그리고, 비휘발성 메모리(18)는 차세대 비휘발성 메모리 장치를 지칭하는 것 으로 통칭하며, 여기에 MRAM(마그네틱 메모리, Magneto-electric RAM), FRAM(강자성 메모리, Ferroelectric RAM), PRAM(상전환 메모리, Phase-change RAM), 배터리-백 DRAM(Batarry-backed DRAM) 등이 포함된다.
상술한 바와 같이 구성됨으로써 사상부(14)는 패턴 인식부(12)에서 순차 대량 쓰기에 해당하는 데이터는 플래시 메모리 사상부(30)에 저장하여 사상을 수행하고, 패턴 인식부(12)에서 소량 랜덤 쓰기에 해당하는 데이터는 비휘발성 메모리 사상부(32)에 저장하여 사상을 수행한다. 그리고, 메타 데이터 저장부(13)에 대하여 메타 데이터를 페이지 단위로 사상을 수행하는 경우 비휘발성 메모리 사상 테이블(22)이 이용될 수 있다.
즉, 사상부(14)는 쓰기 요청 패턴이 대량 순차 쓰기 패턴으로 패턴 인식부(12)에서 인식하여 구분된 경우, 일예로 도 2와 같은 사상을 수행한다. 이때 대량 순차 쓰기 데이터는 호스트(10)의 소량 랜덤 쓰기 외의 쓰기 요청인 대량 랜덤, 소량 순차, 대량 순차에 의한 데이터를 포함할 수 있다.
사상부(14)의 플래시 메모리 사상부(30)에 저장되는 데이터는 블록 단위로 논리 주소(블록 논리 번호)를 갖는다. 그리고, 플래시 메모리 사상 테이블(20)은 논리 주소와 맵핑할 블록 프레임 번호(물리적 주소)에 대한 정보를 갖는다.
그에 따라 사상부(14)는 맵핑을 수행하며, 도 2를 일예로 설명하면 블록 논리 번호(0, 1, 2, 3)의 각 블록이 플래시 메모리 사상 테이블(20)을 참조하여 블록 프레임 번호(2, 5, 3, 7)에 맵핑되고, 플래시 메모리 사상부(30)에 저장된 데이터는 블록 단위로 메모리의 해당 블록 프레임 번호에 해당하는 주소 공간에 쓰여진 다.
한편, 사상부(14)는 쓰기 요청 패턴이 소량 랜덤 쓰기 패턴으로 패턴 인식부(12)에서 인식하여 구분된 경우 또는 메타 데이터 저장부(13)의 메타 데이터의 경우, 일예로 도 3와 같은 사상을 수행한다.
사상부(14)의 비휘발성 메모리 사상부(32)에 저장되는 데이터는 페이지 단위로 논리 주소(블록 논리 번호)를 갖는다. 그리고, 비휘발성 메모리 사상 테이블(22)은 논리 주소와 맵핑할 페이지 프레임 번호(물리적 주소)에 대한 정보를 갖는다.
그에 따라 사상부(14)는 맵핑을 수행하며, 도 3를 일예로 설명하면 페이지 논리 번호(0, 1, 2, 3)의 각 페이지가 비휘발성 메모리 사상 테이블(22)을 참조하여 페이지 프레임 번호(2, 5, 3, 7)에 맵핑되고, 비휘발성 메모리 사상부(32)에 저장된 데이터는 페이지 단위로 해당 페이지 프레임 번호에 해당하는 주소 공간에 쓰여진다.
이상과 같이 본 발명에 따른 실시예는 쓰기 요청 패턴 및 데이터의 종류에 따라 소량 랜덤 쓰기 또는 대량 순차 쓰기를 병행하여 플래시 메모리(16) 또는 비휘발성 메모리(18)에 데이터를 선택적으로 저장한다.
그에 따라서 본 발명에 따른 하이브리드 저장 장치는 대용량 데이터 저장은 플래시 메모리를 이용하여 수행하고, 플래시 메모리에서 처리하기 어려운 소량 랜덤 쓰기 대상 데이터는 비휘발성 메모리, 즉 SRAM과 동일한 인터페이스와 접근 속도를 제공하면서 비휘발성을 갖는 메모리인, 소량의 Persistent RAM(P-RAM)을 이용 함으로써 저장장치에서 순차 읽기/쓰기의 처리시 오버헤드되는 문제를 해결할 수 있어 저장장치(Storage apparatus)의 성능과 경제성에서 장점을 취할 수 있다.
본 발명은 상술한 특정의 바람직한 실시예에 한정되지 아니하며, 특허청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변형의 실시가 가능한 것은 물론이고, 그와 같은 변경은 특허청구범위 기재의 범위 내에 있게 된다.
도 1은 본 발명에 따른 하이브리드 저장 장치의 바람직한 실시예를 나타내는 블록도.
도 2는 도 1의 시스템에서 플래시 메모리 사상의 일예를 설명하는 도면.
도 3은 도 1의 시스템에서 비휘발성 메모리 사상의 일예를 설명하는 도면.

Claims (5)

  1. 외부로부터 전송된 데이터의 쓰기 패턴을 판단하는 패턴 인식부;
    메타 데이터를 제공하는 메타 데이터 저장부;
    상기 외부로부터 전송된 데이터와 상기 메타 데이터를 구분하고, 상기 외부로부터 전송된 데이터를 상기 패턴 인식부에서 판단된 패턴을 구분하며, 상기 구분에 대응하는 사상 기법을 선택적으로 수행하는 사상부;
    상기 사상부에서 선택된 기법에 해당하는 사상을 위한 물리적 주소를 제공하는 사상 테이블;
    상기 사상부에서 대량 순차 쓰기 대상으로 구분된 데이터를 해당 물리적 주소에 저장하는 플래시 메모리; 및
    상기 사상부에서 소량 랜덤 쓰기 대상으로 구분된 데이터를 해당 물리적 주소에 저장하는 비휘발성 메모리;를 구비함을 특징으로 하는 하이브리드 저장 장치.
  2. 제 1 항에 있어서, 상기 데이터는 버스나 네트워크 중 어느 하나로부터 전송하는 하이브리드 저장 장치.
  3. 제 1 항에 있어서, 상기 패턴 인식부는 쓰기 패턴을 소량 랜덤 쓰기와 대량 순차 쓰기로 인식하는 하이브리드 저장 장치.
  4. 제 1 항 또는 제 2 항에 있어서, 상기 사상부는 플래시 메모리의 사상을 담당하는 플래시 메모리 사상부, 사상 테이블과 비휘발성 메모리 사상을 담당하는 비휘발성 메모리 사상부, 및 사상 테이블과 상기 메타 데이터 저장부의 데이터를 저장하는 메타 버퍼를 구비하는 하이브리드 저장 장치.
  5. 제 1 항 또는 제 2 항에 있어서, 상기 비휘발성 메모리는 MRAM(마그네틱 메모리, Magneto-electric RAM), FRAM(강자성 메모리, Ferroelectric RAM), PRAM(상전환 메모리, Phase-change RAM), 배터리-백 DRAM(Batarry-backed DRAM) 중 적어도 어느 하나를 포함하는 하이브리드 저장 장치.
KR1020080023540A 2008-03-13 2008-03-13 하이브리드 저장 장치 KR20090098276A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020080023540A KR20090098276A (ko) 2008-03-13 2008-03-13 하이브리드 저장 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080023540A KR20090098276A (ko) 2008-03-13 2008-03-13 하이브리드 저장 장치

Publications (1)

Publication Number Publication Date
KR20090098276A true KR20090098276A (ko) 2009-09-17

Family

ID=41357379

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080023540A KR20090098276A (ko) 2008-03-13 2008-03-13 하이브리드 저장 장치

Country Status (1)

Country Link
KR (1) KR20090098276A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740630B2 (en) 2014-02-11 2017-08-22 Samsung Electronics Co., Ltd. Method of mapping address in storage device, method of reading data from storage devices and method of writing data into storage devices
US10942678B2 (en) 2018-08-09 2021-03-09 Samsung Electronics Co., Ltd. Method of accessing data in storage device, method of managing data in storage device and storage device performing the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740630B2 (en) 2014-02-11 2017-08-22 Samsung Electronics Co., Ltd. Method of mapping address in storage device, method of reading data from storage devices and method of writing data into storage devices
US10942678B2 (en) 2018-08-09 2021-03-09 Samsung Electronics Co., Ltd. Method of accessing data in storage device, method of managing data in storage device and storage device performing the same

Similar Documents

Publication Publication Date Title
CN107346290B (zh) 使用并行化日志列表重放分区逻辑到物理数据地址转换表
US10996883B2 (en) Storage system including host device and storage device configured to perform selective purge operation
US9298384B2 (en) Method and device for storing data in a flash memory using address mapping for supporting various block sizes
US10747680B2 (en) Storage device, storage system comprising the same, and operating methods of the storage device
US8144515B2 (en) Interleaved flash storage system and method
JP2021006984A (ja) 不揮発性メモリデータの書き込み管理
KR101014040B1 (ko) 디램 버퍼 관리 장치 및 방법
TWI473116B (zh) 多通道記憶體儲存裝置及其控制方法
US11630766B2 (en) Memory system and operating method thereof
US20150098271A1 (en) System and method of storing data in a data storage device
US11037627B2 (en) Cell block allocation for hybrid dual write
TW201617884A (zh) 緩存及讀取即將寫入儲存單元之資料的方法以及使用該方法的裝置
US10929303B2 (en) Data storage device utilizing virtual blocks to improve performance and data storage method thereof
CN109815160A (zh) 最后写入页搜索
EP3955116B1 (en) Memory controller, and memory system including the same
US20190114112A1 (en) Data storage management method and data storage system with namespace planning
KR101070511B1 (ko) Ssd 컨트롤러 및 ssd 컨트롤러의 동작 방법
KR20090098275A (ko) 플래시 메모리 시스템
KR20100130007A (ko) 데이터 저장 장치
KR20090098276A (ko) 하이브리드 저장 장치
CN117015766A (zh) 在分区命名空间ssd中的快速垃圾收集
CN114730291A (zh) 具有分区的ssd的数据停放
US8341378B2 (en) Data storage device and data access method
US11080203B2 (en) Data storage device and control method for non-volatile memory
US20230154529A1 (en) Storage controller and storage device including the same

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
E902 Notification of reason for refusal
E601 Decision to refuse application