KR101152108B1 - 하이브리드 하드 디스크 드라이브 장치 및 그 리드/라이트 제어 방법 - Google Patents

하이브리드 하드 디스크 드라이브 장치 및 그 리드/라이트 제어 방법 Download PDF

Info

Publication number
KR101152108B1
KR101152108B1 KR1020100035794A KR20100035794A KR101152108B1 KR 101152108 B1 KR101152108 B1 KR 101152108B1 KR 1020100035794 A KR1020100035794 A KR 1020100035794A KR 20100035794 A KR20100035794 A KR 20100035794A KR 101152108 B1 KR101152108 B1 KR 101152108B1
Authority
KR
South Korea
Prior art keywords
data
memory unit
hard disk
disk drive
nonvolatile memory
Prior art date
Application number
KR1020100035794A
Other languages
English (en)
Other versions
KR20110116404A (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 KR1020100035794A priority Critical patent/KR101152108B1/ko
Publication of KR20110116404A publication Critical patent/KR20110116404A/ko
Application granted granted Critical
Publication of KR101152108B1 publication Critical patent/KR101152108B1/ko

Links

Images

Classifications

    • 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
    • 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/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/012Recording on, or reproducing or erasing from, magnetic disks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 하드 디스크 드라이브 장치에 플래쉬 메모리 소자 등으로 구현되는 비휘발성 메모리부를 추가적으로 연결하여 비휘발성 메모리부를 캐쉬(cache) 메모리 장치로서 이용하기 위한 하이브리드 하드 디스크 드라이브 장치 및 그 리드/라이트 제어 방법에 관한 것이다. 본 발명의 하드 디스크 드라이브 장치는, 하드 디스크 드라이브에 대한 리드/라이트 동작을 제어함과 동시에 비휘발성 메모리부를 캐쉬 메모리 장치로 이용하여 리드/라이트 동작을 제어하는 디스크 제어부와, 비휘발성 메모리부의 리드/라이트를 제어하는 메모리 제어부를 구비하고, 디스크 제어부와 메모리 제어부 사이에 명령 및 데이터 전달을 위한 휘발성 메모리부를 구비하여 비휘발성 메모리부를 캐쉬 메모리 장치로서 이용함으로써, 하이브리드 하드 디스크 드라이브 장치의 데이터 액세스 성능을 극대화할 수 있다.

Description

하이브리드 하드 디스크 드라이브 장치 및 그 리드/라이트 제어 방법{HYBRID HARD DISK DRIVE APPARATUS AND READ/WRITE CONTROL METHOD THEREOF}
본 발명은 하이브리드 하드 디스크 드라이브(hybrid hard disk drive) 장치 및 그 리드/라이트(read/write) 제어 방법에 관한 것으로, 더욱 구체적으로, 하드 디스크 드라이브 장치에 플래쉬 메모리 소자 등으로 구현되는 비휘발성 메모리부를 추가적으로 연결하여 비휘발성 메모리부를 캐쉬(cache) 메모리 장치로서 이용하기 위한 기술에 관한 것이다.
하이브리드 하드 디스크 드라이브 장치는 기존의 하드 디스크 드라이브 장치에 대용량의 비휘발성 메모리 장치인 플래쉬 메모리 장치를 추가적인 결합시킨 장치로서, 하드 디스크 드라이브 장치에 의한 전력 소비를 최소화하고 데이터의 리드/라이트 성능을 향상시키기 위해 개발되고 있다.
기존의 하드 디스크 드라이브 장치는 저렴한 비용으로 대용량의 저장 기능을 수행한다는 점에서 널리 보급되어 있으나, 데이터 액세스 성능에 있어서 더 이상 개선시키기 어려운 한계를 가지고 있다.
이와 관련하여 저장 매체의 데이터 액세스 성능에 대해 더욱 구체적으로 설명한다. 저장 매체의 데이터 액세스 성능은 크게 연속 액세스 성능과 랜덤 액세스 성능으로 구분되며, 연속 액세스(sequential access) 성능은 연속적인 어드레스 위치에 존재하는 데이터를 저장매체로부터 리드(read)하거나 저장매체에 라이트(write)하는 능력을 의미하고, 랜덤 액세스(random access) 성능은 임의의 어드레스 위치에 존재하는 데이터를 저장매체로부터 리드하거나 저장매체에 라이트하는 능력을 의미한다.
예를 들어, 연속 액세스 성능이 높은 저장 매체는 대용량 동영상과 같은 파일에 대한 액세스에서 장점이 있고, 랜덤 액세스 성능이 높은 저장 매체는 웹 검색, 파일 설치 등에서 이용되는 소용량의 다수의 조각 파일에 대한 액세스에서 장점이 있다.
통상적으로, 기존의 하드 디스크 드라이브 장치는 낮은 비용으로도 우수한 연속 액세스 성능을 가지고 있으나, 이러한 기존의 하드 디스크 드라이브 장치의 랜덤 액세스 시간은 기껏해야 수십 ms(micro second)로서 더 이상 개선시키는 데에 있어서 한계가 있다.
이러한 기존의 하드 디스크 드라이브 장치의 랜덤 액세스 성능의 한계를 극복하기 위하여, 비휘발성 메모리 장치인 NAND 플래쉬 메모리 소자 등으로 구성될 수 있는 SSD(solid state disk) 장치가 개발되었다.
SSD 장치는 전기 신호를 이용하여 플래쉬 메모리 소자에 저장된 데이터를 검색하는 반면, 하드 디스크 드라이브 장치는 데이터를 찾기 위하여 디스크를 회전시키고 헤드를 이동하는 과정을 필요로 하므로, SSD 장치는 하드 디스크 드라이브 장치에 비해 우수한 데이터 액세스 성능을 가진다. 예를 들어, 앞에서 설명한 바와 같이 하드 디스크 드라이브 장치는 기껏해야 수십 ms의 랜덤 액세스 시간을 가지는 반면, 현재 시판되고 있는 SSD 장치는 0.1 ms 수준의 랜덤 액세스 시간을 가지는 경우가 보통이다.
이와 같이 SSD 장치는 우수한 데이터 액세스 성능으로 인해 데스크톱 컴퓨터, 노트북, 넷북, 휴대폰 등의 저장 매체로서 인기를 얻고 있으나, SSD 장치를 구성하는 플래쉬 메모리 소자가 하드 디스크 드라이브 장치의 자기 디스크에 비해 매우 고가이다. 따라서, SSD 장치는 동일 용량의 저장 공간을 실현함에 있어서 하드 디스크 드라이브 장치보다 월등히 높은 제조 단가를 가지며, 이 점이 SSD 장치를 저장 매체로서 구현함에 있어서 가장 문제로 부각되고 있다.
하이브리드 하드 디스크 드라이브 장치는 이러한 기술적 배경 하에서 도출된 것으로서, 하드 디스크 드라이브 장치와 플래쉬 메모리 장치를 결합하여 하드 디스크 드라이브 장치를 통해 낮은 단가의 대용량 저장 공간을 달성하고, 플래쉬 메모리 장치를 통해 우수한 데이터 액세스 성능을 달성하는 것을 목적으로 한다.
한편, 현재까지 개발된 하이브리드 하드 디스크 드라이브 장치는 그 내부의 플래쉬 메모리 장치를 독립된 하나의 저장 매체로 이용하면서 하드 디스크 드라이브 장치를 데이터 백업(backup)용으로 이용하는 방식이나, 플래쉬 메모리 장치에 메인티넌스(maintenance) 데이터와 같은 필수 데이터만을 저장하는 방식을 채용하고 있다.
그러나, 전자의 방식을 채용한 하이브리드 하드 디스크 드라이브 장치는 큰 용량의 플래쉬 메모리 장치를 필요로 한다는 단점을 가지며, 후자의 방식을 채용한 하이브리드 하드 디스크 드라이브 장치는 기존의 하드 디스크 드라이브 장치에 비해 데이터 액세스 성능을 향상시키는 데에 한계를 가지고 있다.
본 발명은 전술한 바와 같은 기술적 과제를 달성하기 위한 것으로서, 하드 디스크 드라이브와 함께 비휘발성 메모리부를 구비하고, 하드 디스크 드라이브의 리드/라이트를 제어하는 디스크 제어부와 비휘발성 메모리부의 리드/라이트를 제어하는 메모리 제어부 사이에 명령 및 데이터 전달을 위한 휘발성 메모리부를 구비하여 비휘발성 메모리부를 캐쉬 메모리 장치로서 이용할 수 있는 하이브리드 하드 디스크 드라이브 장치를 제공하는 것을 목적으로 한다.
본 발명의 또 다른 목적은 비휘발성 메모리부를 캐쉬 메모리 장치로서 이용할 수 있도록, 하드 디스크 드라이브 및 비휘발성 메모리부에 대한 데이터 리드/라이트 동작을 제어하는 방법을 제공하는 것을 목적으로 한다.
본 발명에 따른 하이브리드 하드 디스크 드라이브 장치는, 자성체로 피복된 디스크를 이용하여 자기적으로 데이터를 리드/라이트하는 하드 디스크 드라이브, 반도체 메모리 소자를 이용하여 전기적으로 데이터를 리드/라이트하는 비휘발성 메모리부, 상기 비휘발성 메모리부에 대한 데이터 리드/라이트 동작을 제어하는 메모리 제어부, 호스트 시스템으로부터 데이터 리드 명령이 수신되면, 상기 비휘발성 메모리부에 상기 데이터 리드 명령에 해당하는 데이터의 존재 여부를 판단하여 상기 비휘발성 메모리부로부터 해당 데이터를 리드하고, 상기 비휘발성 메모리부에 상기 데이터 리드 명령에 해당하는 데이터가 존재하지 않을 경우에는 상기 하드 디스크 드라이브를 검색하여 해당 데이터를 리드하도록 제어하고, 호스트 시스템으로부터 데이터 라이트 명령이 수신되면, 상기 하드 디스크 드라이브에 라이트 대상 데이터를 라이트한 후, 상기 비휘발성 메모리에도 라이트 대상 데이터를 라이트하도록 제어하는 디스크 제어부 및 상기 메모리 제어부 및 상기 디스크 제어부 사이에서 명령 및 데이터를 일시적으로 저장하는 휘발성 메모리부를 포함하고, 상기 휘발성 메모리부는 상기 디스크 제어부를 위한 전용 액세스 저장 공간을 가지는 제1 영역, 상기 메모리 제어부를 위한 전용 액세스 저장 공간을 가지는 제2 영역, 상기 디스크 제어부 및 메모리 제어부가 선택적으로 액세스할 수 있는 저장 공간을 가지는 공유 영역을 포함하며, 상기 메모리 제어부 및 디스크 제어부 중 하나의 제어부만 상기 공유 영역에 대한 액세스 권한을 가지고, 상기 디스크 제어부 및 상기 메모리 제어부 중 어느 하나의 제어부가 공유 영역에 대한 액세스 권한을 가지면, 다른 제어부는 권한 해제 여부를 계속 감시하여 권한이 해제되면 공유 영역에 대한 권한을 가지도록 하는 것을 특징으로 한다.
본 발명에 따른 하이브리드 하드 디스크 드라이브 장치의 데이터 리드 제어 방법은 주 저장 매체인 하드 디스크 드라이브와, 캐쉬 메모리 장치인 비휘발성 메모리부와, 메모리 제어부 및 상기 디스크 제어부 사이에서 명령 및 데이터를 일시 저장하며 디스크 제어부 및 메모리 제어부에 의해 선택적으로 액세스 가능한 공유 영역을 갖는 휘발성 메모리부를 포함하는 하이브리드 하드 디스크 드라이브 장치의 데이터 리드 제어 방법으로서, (a) 호스트 시스템으로부터 데이터 리드 명령이 수신될 경우, 상기 데이터 리드 명령에 대응하는 데이터가 상기 비휘발성 메모리 장치에 존재하는지를 판단하는 단계; (b) 상기 (a) 단계에서, 상기 데이터 리드 명령에 대응하는 데이터가 비휘발성 메모리 장치에 존재할 경우, 상기 디스크 제어부에서 상기 휘발성 메모리부에 대한 액세스 권한을 가짐과 동시에 상기 메모리 제어부에서 인식할 수 있는 리드 명령을 상기 휘발성 메모리부의 공유 영역에 저장하는 단계; (c) 상기 메모리 제어부에서 상기 휘발성 메모리부의 공유 영역에 대한 액세스 권한을 가짐과 동시에 상기 저장되어 있는 리드 명령에 대응하는 데이터를 상기 비휘발성 메모리부에서 리드하여 상기 휘발성 메모리부의 공유 영역에 저장하는 단계; (d) 상기 디스크 제어부에서 상기 휘발성 메모리부에 대한 액세스 권한을 가짐과 동시에 상기 휘발성 메모리부의 공유 영역에 저장된 데이터를 호스트 시스템으로 전송하는 단계 및 (e) 상기 (a) 단계에서, 상기 데이터 리드 명령에 대응하는 데이터가 상기 비휘발성 메모리 장치에 존재하지 않을 경우, 상기 하드 디스크 드라이브로부터 상기 데이터 리드 명령에 대응하는 데이터를 리드하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 하이브리드 하드 디스크 드라이브 장치의 데이터 라이트 제어 방법은 주 저장 매체인 하드 디스크 드라이브와, 캐쉬 메모리 장치인 비휘발성 메모리부와, 메모리 제어부 및 디스크 제어부 사이에서 명령 및 데이터를 일시 저장하며 디스크 제어부 및 메모리 제어부에 의해 선택적으로 액세스 가능한 공유 영역을 갖는 휘발성 메모리부를 포함하는 하이브리드 하드 디스크 드라이브 장치의 데이터 라이트 제어 방법으로서, (a) 호스트 시스템으로부터 데이터 라이트 명령이 수신될 경우, 비휘발성 메모리로의 라이트 명령인 경우에, 디스크 제어부에서 상기 휘발성 메모리부에 대한 액세스 권한을 가짐과 동시에 상기 메모리 제어부에서 인식할 수 있는 라이트 명령과 라이트 대상 데이터를 휘발성 메모리부의 공유 영역에 저장하는 단계; (b) 상기 메모리 제어부에서 상기 휘발성 메모리부의 공유 영역에 대한 액세스 권한을 가짐과 동시에 상기 공유 영역에 저장되어 있는 라이트 명령에 따라 해당 데이터를 비휘발성 메모리부에 라이트하여 저장하고 종료하는 단계를 포함하고, 상기 데이터 라이트 명령이 하드 디스크 드라이브로의 라이트 명령인 경우에는, 디스크 제어부에서 휘발성 메모리부의 제1 영역에 라이트 대상 데이터를 저장하고, 이 제1 영역에 저장된 데이터를 하드 디스크 드라이브에 라이트 한 후 호스트 시스템에 라이트 완료 응답을 통지하는 것을 특징으로 한다.
본 발명의 하이브리드 하드 디스크 드라이브 장치 및 그 리드/라이트 제어 방법에 따르면, 하드 디스크 드라이브에 대한 리드/라이트 동작을 제어함과 동시에 비휘발성 메모리부를 캐쉬 메모리 장치로 이용하여 리드/라이트 동작을 제어하는 디스크 제어부와, 비휘발성 메모리부의 리드/라이트를 제어하는 메모리 제어부를 구비하고, 디스크 제어부와 메모리 제어부 사이에 명령 및 데이터 전달을 위한 휘발성 메모리부를 구비하여 비휘발성 메모리부를 캐쉬 메모리 장치로서 이용함으로써, 하이브리드 하드 디스크 드라이브 장치의 데이터 액세스 성능을 극대화할 수 있다.
따라서, 본 발명은 하이브리드 하드 디스크 드라이브 장치의 단가를 기존의 SSD 장치보다 감소시키면서도, 기존의 하드 디스크 드라이브 장치에 비해 데이터 액세스 성능을 향상시키는 효과를 달성할 수 있다.
도 1은 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치를 적용한 시스템의 구성을 도시하는 블럭도이다.
도 2는 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치의 디스크 제어부에서 실행되는 데이터 리드 제어 방법을 설명하는 순서도이다.
도 3은 도 2에 도시된 데이터 리드 제어 방법을 더욱 구체적으로 나타내는 순서도이다.
도 4는 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치의 디스크 제어부에서 실행되는 데이터 라이트 제어 방법을 설명하는 순서도이다.
도 5는 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치의 메모리 제어부에서 실행되는 데이터 리드 서브루틴을 나타내는 순서도이다.
도 6은 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치의 메모리 제어부에서 실행되는 데이터 라이트 서브루틴을 나타내는 순서도이다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는, 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 설명한다. 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 본 실시예는 본 발명의 완전한 실시를 가능하게 하며 통상의 지식을 가진 자(이하, "당업자"라 함)에게 발명의 기술 사상을 충분히 알려주기 위해 제공되는 것이다.
먼저, 도 1을 참조하여 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치를 적용한 시스템의 구성 및 동작에 대해 설명한다.
도 1에 도시된 바와 같이, 호스트 시스템(10)은 하이브리드 하드 디스크 드라이브 장치(20)와 데이터 및 각종 제어 신호를 전송할 수 있도록 접속되어 있다.
더욱 구체적으로, 호스트 시스템(10)은 데이터 리드 명령 또는 데이터 라이트 명령을 하이브리드 하드 디스크 드라이브 장치(20)에 전송할 수 있고, 이러한 명령들에 대응하여 하이브리드 하드 디스크 드라이브 장치(20)로부터 데이터를 수신하거나 하이브리드 하드 디스크 드라이브 장치(20)로 데이터를 전송할 수 있다.
호스트 시스템(10)은 저장 매체로서 하이브리드 하드 디스크 드라이브 장치(10)를 이용할 수 있는 다양한 시스템에 의해 구현될 수 있다. 예를 들어, 호스트 시스템(10)은 데스크톱 컴퓨터, 노트북 컴퓨터, 넷북, 휴대폰, 스마트폰, PDA(personal digital assistant), MP3 플레이어 등의 각종 IT 기기, 또는 네트워크용 서버 컴퓨터 등과 같이 데이터 저장 장치를 이용하여 정보 처리를 수행하는 임의의 장치일 수 있다.
하이브리드 하드 디스크 드라이브 장치(20)는 데이터를 저장하는 저장 매체이며, 호스트 시스템(10)으로부터의 리드 명령에 따라 저장되어 있던 데이터를 내부의 저장 매체를 검색하여 호스트 시스템(10)으로 전송하고, 라이트 명령에 따라 호스트 시스템(10)으로부터 전송된 데이터를 내부의 저장 매체에 저장한다.
도 1에는 호스트 시스템(10)과 하이브리드 하드 디스크 드라이브 장치(20)의 개략적인 세부 구성이 도시되어 있다. 도 1에 도시된 호스트 시스템(10)과 하이브리드 하드 디스크 드라이브 장치(20)의 세부 구성은 설명의 편의를 위하여 각 구성요소 사이에서 신호 및 데이터를 전달하기 위한 적어도 하나 이상의 버스(bus), 각종 커넥터, 신호처리 블럭, 인터페이스 장치, 전원 공급 장치 등을 생략하고 있다. 따라서, 당업자는 본 발명의 기술적 범위가 도시된 내용으로 한정되는 것이 아니라 생략된 부분에도 적용될 수 있다는 것을 당연히 이해할 것이다.
도 1을 참조하면, 호스트 시스템(10)은 CPU(110), 메모리부(120), 입출력(I/O)부(130) 및 브릿지(140)를 포함한다.
이미 설명한 바와 같이, CPU(110), 메모리부(120), 입출력부(130) 및 브릿지(140)는 신호 및 데이터 전달을 위하여 적어도 하나 이상의 버스(bus)에 의해 서로 연결된다.
메모리부(120)는 ROM 메모리와 RAM 메모리로 구성될 수 있으며, ROM 메모리는 시스템 부팅에 필요한 기본적인 프로그램을 저장하고, RAM 메모리는 어플리케이션의 실행시에 데이터를 임시로 저장하는 공간을 제공한다.
CPU(110)는 OS(operating system) 및 각종 어플리케이션을 실행하기 위하여 명령(instruction)을 로딩하여 해당 명령에 의해 지시되는 연산 처리를 수행한다. 또한, CPU(110)는 전술한 바와 같은 연산 처리를 통해 입출력부(130), 메모리부(120) 및 브릿지(140)의 동작을 제어한다.
CPU(110)는 OS 및 각종 어플리케이션을 실행하는 동안, 사용자의 선택에 의해 또는 OS 및 어플리케이션 자체적으로 저장 매체에 데이터를 라이트하거나 저장 매체로부터 데이터를 리드해야 할 경우가 있다. 이때, CPU(110)는 데이터 리드 명령 또는 데이터 라이트 명령을 생성하고, 이 생성된 명령 또는 라이트 대상 데이터를 브릿지(140)를 통해 하이브리드 하드 디스크 드라이브 장치(20)로 전송한다.
이에 대응하여, 하이브리드 하드 디스크 드라이브 장치(20)는 호스트 시스템(10)의 브릿지(140)로부터의 리드 명령에 따라 그 내부에 저장되어 있던 데이터를 검색하여 호스트 시스템(10)으로 전송하고, 라이트 명령에 따라 호스트 시스템(10)으로부터 전송된 라이트 대상 데이터를 내부의 저장 매체에 저장한다.
입출력부(130)는 키보드, 마우스, 터치패널 등의 입력장치와 스피커, 디스플레이 등의 출력장치에 대한 인터페이스를 수행한다. 즉, 입출력부(130)는 입력장치를 통해 입력신호를 받아들이고, CPU(110)의 연산 처리에 의해, 디스플레이, 사운드 등과 관련된 신호가 생성될 경우, 이 신호를 수신하여 소정의 신호처리 후에 출력장치에 전달한다.
브릿지(140)는 메인 프로세서인 CPU(110)를 메모리부(120), 입출력부(130) 및 하이브리드 하드 디스크 드라이브 장치(20)와 연결시키고, CPU(110)의 제어에 따라 이 연결된 장치들 사이에서 데이터 및 제어 신호를 전달한다.
도 1을 다시 참조하면, 하이브리드 하드 디스크 드라이브 장치(20)는 디스크 제어부(210), 휘발성 메모리부(220), 메모리 제어부(230), 비휘발성 메모리부(240) 및 하드 디스크 드라이브(250)를 포함한다.
하드 디스크 드라이브(250)는 기존의 일반적인 하드 디스크 드라이브 장치로서, 도 1에 구체적으로 도시되지 않았지만, 복수의 디스크와 복수의 헤드를 포함한다. 즉, 복수의 디스크는 자성체로 피복된 알루미늄 판으로 구성되고, 디스크 상에 동심원으로 기록된 트랙 상에 데이터가 저장되며, 헤드는 디스크 상을 회전하면서 트랙 상에 데이터를 라이트하거나 트랙 상에 저장된 데이터를 리드한다.
하드 디스크 드라이브(250)는 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치(20)에서 데이터를 저장하는 주 저장 매체로서 작용한다.
본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치(20)에서는, NAND 플래쉬 메모리 소자 등으로 구현될 수 있는 비휘발성 메모리부(240)를 캐쉬 메모리 장치로서 동작하도록 구성한 것에 기술적 특징이 있다.
비휘발성 메모리부(240)를 캐쉬 메모리 장치로 이용하기 위하여, 본 발명의 하이브리드 하드 디스크 드라이브 장치(20)는, 하이브리드 하드 디스크 드라이브 장치(20)에 대한 데이터 라이트 시에, 하드 디스크 드라이브(250) 뿐만 아니라 비휘발성 메모리부(240)에도 데이터를 라이트하도록 구성되고, 하이브리드 하드 디스크 드라이브 장치(20)에 대한 데이터 리드 시에, 리드 요청된 데이터가 캐쉬 메모리로서 기능하는 비휘발성 메모리부(240)에 존재하는지 먼저 검색한 후, 비휘발성 메모리부(240)에 리드 대상 데이터가 존재하지 않을 경우에 하드 디스크 드라이브(250)를 검색하도록 구성된다. 이와 관련된 데이터 리드/라이트 제어 동작에 대해서는 도 2 내지 도 6의 순서도를 참조하여 추후에 더욱 구체적으로 설명한다.
본 발명의 실시예에서 이용되는 비휘발성 메모리부(240)는 8 GB 또는 16 GB의 NAND 플래쉬 메모리 소자로 구현될 수 있으나, 본 발명의 기술적 범위는 여기에 한정되지 않고 필요에 따라 NAND 플래쉬 메모리 소자의 용량은 증감될 수도 있다. 또한, 휘발성 메모리부(220)는 128 MB 또는 256 MB의 듀얼 포트 원 디램으로 구현될 수 있으나, 본 발명의 기술적 범위는 여기에 한정되지 않고 필요에 따라 2개의 프로세서에 의해 액세스 가능한 다른 종류의 메모리 소자로 구현될 수도 있다.
이와 같이 비휘발성 메모리부(240)를 캐쉬 메모리 장치로서 동작시키기 위하여, 하드 디스크 드라이브(250)에 대한 리드/라이트 동작을 제어하기 위한 디스크 제어부(210)와, 비휘발성 메모리부(240)에 대한 리드/라이트 동작을 제어하기 위한 메모리 제어부(230)가 구비되어 있고, 디스크 제어부(210)와 메모리 제어부(230)는 하드웨어적으로 휘발성 메모리부(220), 더욱 구체적으로, 듀얼 포트를 갖는 원 디램(one DRAM)을 통해 연결되어 있고, 디스크 제어부(210)와 메모리 제어부(230)는 소정의 프로토콜에 따라 휘발성 메모리부(220)를 통해 상호 간에 리드/라이트 명령 또는 리드/라이트 데이터를 전송한다.
휘발성 메모리부(220)는 일반적인 디램(DRAM)이 아니라 두 개의 프로세서가 디램(DRAM)을 공유하도록 연결된 듀얼 포트 원 디램으로 구현되며, 디스크 제어부(210)에 의한 전용 액세스 공간인 제 1 영역(221), 메모리 제어부(230)에 의한 전용 액세스 공간인 제 2 영역(223) 및 디스크 제어부(210)와 메모리 제어부(230)에 의해 선택적으로 액세스되는 공유 영역(222)으로 이루어진다.
휘발성 메모리부(220)의 공유 영역(222)에 대한 액세스 권한은 하나의 프로세서에만 주어지며, 그 권한의 통제는 소정의 프로토콜에 의해 이루어질 수 있다. 본 발명의 실시예에서는, 디스크 제어부(210) 및 메모리 제어부(230) 중 어느 하나의 프로세서가 공유 영역(222)에 대한 권한을 가지고 있을 때, 나머지 프로세서는 상기 하나의 프로세서의 권한 해제 여부를 계속 검사하고 있고, 상기 하나의 프로세서가 공유 영역(222)에 대한 권한을 해제하면, 나머지 프로세서가 공유 영역(222)에 대한 권한을 가지는 것으로 설계되어 있다. 본 발명의 기술적 범위는 여기에 한정되지 않으며, 비휘발성 메모리부(220)의 공유 영역(222)을 2개의 프로세서가 선택적으로 이용하기 위한 다른 권한 할당 방식이 이용될 수도 있다.
디스크 제어부(210)는 예를 들어, SATA 등과 같은 신호전송 규격을 통해 호스트 시스템(10)과의 인터페이스를 수행하는 한편, 하드 디스크 드라이브(250)에 대한 리드/라이트를 기계적으로 제어하는 기능을 수행한다. 즉, 디스크 제어부(210)는 하드 디스크 드라이브(250)를 기계적으로 구동하기 위한 스핀들 모터, 스핀들 모터 구동부, 스핀들 모터 구동부에 구동 명령을 생성하기 위한 구동 회로 등을 포함하며, 이러한 기술 내용은 당업자에게 충분히 알려져 있다.
이외에도, 디스크 제어부(210)는 비휘발성 메모리부(240)를 캐쉬 메모리 장치로 동작시키기 위한 리드/라이트 제어 방법을 실행하며, 이러한 리드/라이트 제어 방법은 펌웨어(firmware)의 형태로 디스크 제어부(210) 내에 구현될 수 있다. 디스크 제어부(210)에 의해 실행되는 리드/라이트 제어 방법에 대해서는 도 2 내지 도 6을 참조하여 추후에 더욱 구체적으로 설명한다.
디스크 제어부(210)에 의한 리드/라이트 제어 과정을 개략적으로 설명하면, 디스크 제어부(210)는 호스트 시스템(10)의 브릿지(140)로부터 리드 명령 또는 라이트 명령을 수신하고, 리드 명령에 따라 하드 디스크 드라이브(250)와 비휘발성 메모리부(240)에 저장된 데이터를 검색 및 리드하여 호스트 시스템(10)에 전송하도록 제어하고, 라이트 명령에 따라 호스트 시스템(10)으로부터 전송된 라이트 데이터(즉, 라이트해야 할 데이터)를 하드 디스크 드라이브(250)와 비휘발성 메모리부(240)에 저장하도록 제어한다.
메모리 제어부(230)는 비휘발성 메모리부(240)로부터 데이터를 리드하거나 비휘발성 메모리부(240)에 데이터를 라이트하는 동작을 제어한다.
다음으로, 휘발성 메모리부(220)를 이용하여 디스크 제어부(210)와 메모리 제어부(230)가 데이터를 전달하는 동작에 대해 설명한다.
본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치(20)에서는, 비휘발성 메모리부(240)가 캐쉬 메모리 장치로서 동작해야 하므로, 호스트 시스템(10)으로부터 전송된 라이트 대상 데이터(라이트해야 할 데이터)가 하드 디스크 드라이브(250)와 비휘발성 메모리부(240)에 모두 라이트되어야 하고, 호스트 시스템(10)으로부터 데이터 리드 요구가 있을 경우에는, 비휘발성 메모리부(240)를 먼저 검색하여 데이터가 리드되고, 이 리드 데이터는 비휘발성 메모리부(240)로부터 호스트 시스템(10)으로 전송되어야 한다.
이 경우, 디스크 제어부(210)와 메모리 제어부(230)는 휘발성 메모리부(220)를 이용하여 데이터를 상대방 저장 매체(즉, 하드 디스크 드라이브(230) 또는 비휘발성 메모리부(240)) 측으로 전송한다.
디스크 제어부(210)가 휘발성 메모리부(220)를 이용하여 데이터를 비휘발성 메모리부(240)로 전송하는 동작에 대해 먼저 설명한다.
우선, 디스크 제어부(210)는 호스트 시스템(10)으로부터 수신된 라이트 데이터를 휘발성 메모리부(220)의 제 1 영역(221)에 라이트하여 일시적으로 저장한다. 디스크 제어부(210)는 필요에 따라(더욱 구체적으로는, 디스크 제어부(210)에 의해 실행되는 리드/라이트 제어 방법의 명령에 따라) 제 1 영역(221)에 저장된 데이터를 하드 디스크 드라이브(250)에 저장하거나, 비휘발성 메모리부(240)에 저장할 수 있다.
디스크 제어부(210)가 제 1 영역(221)에 저장된 데이터를 비휘발성 메모리부(240)에 저장해야 할 경우, 디스크 제어부(210)는 공유 영역(222)에 대한 액세스 권한을 획득하여 제 1 영역(220)에 저장된 데이터를 공유 영역(222)에 라이트한다. 이 라이트 동작이 완료된 후, 디스크 제어부(210)가 공유 영역(222)에 대한 액세스 권한을 해제하면, 메모리 제어부(230)는 휘발성 메모리부(220)의 공유 영역(222)에 대한 액세스 권한을 획득한다.
휘발성 메모리부(220)의 공유 영역(222)에 대한 액세스 권한 할당에 관해서는 앞에서 충분히 설명하였다.
메모리 제어부(230)가 공유 영역(222)에 대한 액세스 권한을 획득하면, 메모리 제어부(230)는 공유 영역(222)에 저장된 데이터를 휘발성 메모리부(220)의 제 2 영역(223)에 라이트하여 일시적으로 저장한다. 그 다음, 메모리 제어부(230)는 필요에 따라 제 2 영역(223)에 저장된 데이터를 비휘발성 메모리부(240)에 라이트하여 비휘발성 메모리부(240)에 데이터를 저장할 수 있다.
다음으로, 호스트 시스템(10)으로부터의 데이터 리드 요구에 따라, 메모리 제어부(230)가 비휘발성 메모리부(240)로부터 리드한 데이터를 휘발성 메모리부(220)을 이용하여 호스트 시스템(10)으로 전송하는 동작에 대해 설명한다.
메모리 제어부(230)는 리드 명령에 따라 비휘발성 메모리부(240)의 소정 어드레스 위치에 존재하는 데이터를 리드하고, 이 리드 데이터를 휘발성 메모리부(220)의 제 2 영역(223)에 라이트하여 데이터를 일시적으로 저장한다. 다음으로, 메모리 제어부(230)는 휘발성 메모리부(220)의 공유 영역(222)에 대한 액세스 권한을 획득하여 제 2 영역(223)에 저장된 데이터를 공유 영역(222)에 라이트한다.
이 라이트 동작이 완료된 후, 메모리 제어부(230)가 공유 영역(222)에 대한 액세스 권한을 해제하면, 디스크 제어부(210)는 휘발성 메모리부(220)의 공유 영역(222)에 대한 액세스 권한을 획득한다.
디스크 제어부(210)가 공유 영역(222)에 대한 액세스 권한을 획득하면, 디스크 제어부(210)는 공유 영역(222)에 저장된 데이터를 휘발성 메모리부(220)의 제 1 영역(221)에 라이트하여 데이터를 일시적으로 저장한다. 그 다음, 디스크 제어부(210)는 필요에 따라 제 1 영역(221)에 저장된 데이터를 호스트 시스템(10)의 브릿지(140)로 전송한다.
본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치(20)는, 디스크 제어부(210)와 메모리 제어부(230) 사이에 듀얼 포트를 갖는 원 디램으로 구현될 수 있는 휘발성 메모리부(220)를 구비하여 호스트 시스템(10) 또는 하드 디스크 드라이브(250)와 비휘발성 메모리부(240) 사이의 데이터 전달을 가능하게 하고, 대용량의 플래쉬 메모리 소자로 구성될 수 있는 비휘발성 메모리부(240)를 캐쉬 메모리 장치로서 동작하도록 제어함으로써, 그 내부의 저장 매체에 저장되어 있는 데이터에 대한 빠른 액세스를 가능하게 한다.
즉, 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치(20)에서는, 기존의 하드 디스크 드라이브 장치를 대체할 정도로 대용량의 플래쉬 메모리 소자를 사용하지 않고, 캐쉬 기능을 달성하기에 적당한 용량(본 발명의 실시예에서는 8 GB 또는 16 GB를 가정하였으나, 본 발명의 기술적 범위는 반드시 이것에 한정되지 않으며, 시스템 상황이나 플래쉬 메모리 소자의 가격 등에 따라 플래쉬 메모리 소자의 용량이 변경될 수 있다)의 플래쉬 메모리 소자를 이용하여 비휘발성 메모리부(240)가 구성될 수 있다.
따라서, 본 발명은 하이브리드 하드 디스크 드라이브 장치(20)의 단가를 기존의 SSD 장치보다 감소시키면서도, 기존의 하드 디스크 드라이브 장치에 비해 데이터 액세스 성능을 향상시키는 효과를 달성할 수 있다.
다음으로, 도 2 내지 도 6을 참조하여 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치(20)의 데이터 리드/라이트 제어 방법을 설명한다.
먼저, 도 2, 도 3, 도 5 및 도 6을 참조하여 데이터 리드 제어 방법에 대해 설명한다.
도 2는 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치(20)의 디스크 제어부(210)에서 실행되는 데이터 리드 제어 방법을 설명하는 순서도이고, 도 3은 도 2에 도시된 데이터 리드 제어 방법을 더욱 구체적으로 나타내는 순서도이다. 도 5는 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치(20)의 메모리 제어부(230)에서 실행되는 데이터 리드 서브루틴을 나타내는 순서도이고, 도 6은 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치의 메모리 제어부에서 실행되는 데이터 라이트 서브루틴을 나타내는 순서도이다.
도 2의 순서도에 의해 도시된 데이터 리드 제어 방법은 펌웨어(firmware)의 형태로 디스크 제어부(210) 내에 구현될 수 있다. 예를 들어, 디스크 제어부(210)의 내부에 롬(ROM)과 같은 비휘발성 메모리 소자를 설치하고, 이 롬(ROM) 내에 상기 펌웨어를 인스톨하는 것이 가능하다.
도 2에 도시된 바와 같이, 동작이 시작되면, 디스크 제어부(210)는 캐쉬 맵핑 정보를 소정의 저장 위치로부터 휘발성 메모리부(220)의 제 1 영역(221)으로 로드한다(S10).
캐쉬 맵핑 정보는 본 발명에서 캐쉬 메모리 장치로서 이용되는 비휘발성 메모리부(240)의 논리 블럭 어드레스(LBA : logical block address)에 대한 데이터 맵핑 정보이다. 이 캐쉬 맵핑 정보는 비휘발성 메모리부(240)에 정보를 저장할 때마다 메모리 제어부(230)에 의해 업데이트된다. 캐쉬 맵핑 정보는 전원 공급이 차단되더라도 유지되어야 하므로, 상기 업데이트와 동시에 또는 전원 공급의 차단 직전에 하드 디스크 드라이브(250) 또는 비휘발성 메모리부(240)의 소정 위치에 저장된다. 그리고, 전원 공급과 동시에, 캐쉬 맵핑 정보는 디스크 제어부(210)에 의해 상기 소정의 저장 위치로부터 휘발성 메모리부(220)의 제 1 영역(221)으로 로드된다.
다음으로, 디스크 제어부(210)는 호스트 시스템(10)의 브릿지(140)로부터 데이터 리드 요구가 있는지를 판단한다(S12). 앞에서 설명한 바와 같이, 호스트 시스템(10)은 하이브리드 하드 디스크 드라이브 장치(20)로부터 데이터를 리드할 필요가 있을 경우, 데이터 리드 명령을 생성하여 브릿지(140)를 통해 하이브리드 하드 디스크 드라이브 장치(20)에 전송한다. 이 단계(S12)에서는 디스크 제어부(210)가 이러한 데이터 리드 명령의 유무를 검사한다.
상기 단계(S12)에서, 호스트 시스템(10)으로부터 데이터 리드 요구가 없으면, 디스크 제어부(210)는 데이터 리드 명령의 수신 여부를 계속 검사한다.
상기 단계(S12)에서, 디스크 제어부(210)가 호스트 시스템(10)으로부터 데이터 리드 요구를 수신한 것으로 판단되면, 디스크 제어부(210)는 데이터 리드 명령에 대응하는 데이터가 캐쉬 메모리 장치인 비휘발성 메모리부((240)에 존재하는지를 검사한다(S14). 이 단계(S14)의 동작은 통상적으로 캐쉬 히트 여부를 판단한다고 말할 수 있다. 상기 단계(S14)에서의 캐쉬 히트 여부는 데이터 리드 명령을 휘발성 메모리부(220)의 제 1 영역(221)에 로드된 캐쉬 맵핑 정보와 대조함으로써 판단될 수 있다.
상기 단계(S14)에서, 디스크 제어부(210)에 의해, 데이터 리드 명령에 대응하는 데이터가 캐쉬 메모리 장치인 비휘발성 메모리부(240)에 존재하는 것으로 판단되면, 즉, 캐쉬 히트인 것으로 판단되면, 디스크 제어부(210)는 메모리 제어부(230)에서 인식할 수 있는 리드 명령을 생성한다(S26). 이 단계(S26)는 호스트 시스템(10)으로부터 전송된 데이터 리드 명령을 메모리 제어부(230)에 의해 인식 가능한 리드 명령으로 변환하는 과정이다.
디스크 제어부(210)는 앞에서 설명된 휘발성 메모리부(220)를 이용한 데이터 전송 동작을 통해 상기 생성된 리드 명령을 메모리 제어부(230)로 전송한다(S28). 이 단계(S28)의 동작에 대해서는 도 3 및 도 5를 참조하여 추후에 더욱 구체적으로 설명한다.
메모리 제어부(230)는 디스크 제어부(210)로부터 전송된 리드 명령에 따라 비휘발성 메모리부(240)에 저장된 소정의 데이터를 리드하여 휘발성 메모리부(220)의 제 2 영역(223)에 저장한다(S30). 그 다음, 메모리 제어부(230)는 리드 데이터를 휘발성 메모리부(220)의 제 2 영역(223)으로부터 공유 영역(222)으로 복사한다.
디스크 제어부(210)는 휘발성 메모리부(220)의 공유 영역(222)에 대한 액세스 권한을 획득하여 공유 영역(222)에 저장된 데이터를 제 1 영역(221)으로 복사하고, 상기 제 1 영역(221)에 복사된 리드 데이터를 호스트 시스템(10)의 브릿지(140)로 전송한다(S32).
상기 설명된 단계(S26) 내지 단계(S32)는, 호스트 시스템(10)으로부터의 데이터 리드 명령에 대응하는 데이터가 캐쉬 메모리 장치인 비휘발성 메모리부(240)에 존재할 경우에, 비휘발성 메모리부(240)로부터 데이터를 리드하여 호스트 시스템(10)으로 전송하는 구체적인 절차를 나타낸다.
단계(S14)로 다시 돌아가서, 캐쉬 히트가 아닌 것으로 판단되면, 바꾸어 말하면, 호스트 시스템(10)으로부터의 데이터 리드 명령을 휘발성 메모리부(220)의 제 1 영역(221)에 로드된 캐쉬 맵핑 정보와 대조한 결과, 데이터 리드 명령에 대응하는 데이터가 캐쉬 메모리 장치인 비휘발성 메모리부(240)에 존재하는 것으로 판단되면, 디스크 제어부(210)는 하드 디스크 드라이브(250)를 구동하여 데이터 리드 명령에 대응하는 위치에 저장된 데이터를 리드한다(S16).
디스크 제어부(210)는 하드 디스크 드라이브(250)로부터 리드된 데이터를 휘발성 메모리부(220)의 제 1 영역(221)에 저장하고, 이 리드 데이터를 호스트 시스템(10)의 브릿지(140)로 전송한다(S18).
한편, OS 및 어플리케이션 실행시에, 호스트 시스템(10)은 저장 매체로부터 한번 리드한 데이터를 다시 리드할 확률이 상당히 높다. 이에 따라, 하드 디스크 드라이브(250)로부터 리드된 데이터는 캐쉬 메모리 장치로서 동작하는 비휘발성 메모리부(240)에 저장해 둘 필요가 있다.
단계(S20) 내지 단계(S24)는 이와 같이 비휘발성 메모리부(240)의 캐쉬 기능을 강화하기 위하여 하드 디스크 드라이브(250)로부터 리드된 데이터를 비휘발성 메모리부(240)에 저장하기 위한 구체적인 절차를 나타낸다.
먼저, 디스크 제어부(210)는 메모리 제어부(230)에서 인식할 수 있는 라이트 명령을 생성한다(S20). 다음으로, 디스크 제어부(210)는 앞에서 설명된 휘발성 메모리부(220)를 이용한 데이터 전송 동작을 통해 상기 생성된 라이트 명령과 라이트 대상 데이터를 메모리 제어부(230)로 전송한다(S22). 이때, 라이트 명령 및 라이트 대상 데이터는 휘발성 메모리부(220)를 이용한 데이터 전송 동작을 통해 전송될 수 있다. 메모리 제어부(230)는 메모리 제어부(230)의 라이트 명령에 따라 라이트 대상 데이터를 비휘발성 메모리부(240)에 라이트하여 데이터를 저장한다(S24).
단계(S24) 또는 단계(S32)가 완료되면, 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치의 데이터 리드 제어 방법은 종료된다.
다음으로, 도 3, 도 5 및 도 6을 참조하여 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치의 데이터 리드 제어 방법을 더욱 구체적으로 설명한다.
도 3의 단계들 중에서 도 2에 도시된 것과 동일한 도면번호를 갖는 단계들은 그 동작도 도 2에 설명된 내용과 동일하다. 따라서, 설명의 편의를 위해 중복되는 단계들의 동작에 대해서는 그 설명을 생략한다.
도 3의 단계(S26)에서, 디스크 제어부(210)는 리드 명령을 생성하여 휘발성 메모리부(220)의 제 1 영역(221)에 저장한다. 그 다음, 디스크 제어부(210)는 휘발성 메모리부(220)의 공유 영역(222)에 대한 액세스 권한을 획득하고, 제 1 영역(221)에 저장된 리드 명령을 공유 영역(222)에 라이트하여 리드 명령을 저장한다(S281).
그 다음, 디스크 제어부(210)는 휘발성 메모리부(220)의 공유 영역(222)에 대한 액세스 권한을 해제하고(S282), 메모리 제어부(230)로부터의 응답을 대기한다(S301). 공유 영역(222)에 대한 디스크 제어부(210)의 액세스 권한이 해제되면, 도 5에 도시된 서브루틴 A가 실행된다. 도 5에 도시된 서브루틴 A는 메모리 제어부(230)에 의해 실행되며, 디스크 제어부(210)로부터의 리드 명령에 따라 비휘발성 메모리부(240)로부터 데이터를 리드하는 과정을 나타낸다.
도 5의 서브루틴 A를 참조하면, 디스크 제어부(210)가 공유 영역(222)의 액세스 권한을 해제하기 이전부터, 메모리 제어부(230)는 휘발성 메모리부의 공유 영역(222)에 대한 디스크 제어부(210)의 액세스 권한 해제 여부를 감시한다(S62).
공유 영역(222)에 대한 디스크 제어부(210)의 액세스 권한이 해제된 것으로 판단되면, 메모리 제어부(230)는 내부의 레지스터(register)에 설정되어 있는 큐매니저를 액세스하여 실행 대상 명령문이 저장되어 있는 큐매니저(queue manager)를 검사한다(S64). 도 5의 순서도에 구체적으로 도시되지는 않았지만, 휘발성 메모리부(220)의 공유 영역(222)에 저장된 리드 명령은 메모리 제어부(230)에 의해 휘발성 메모리부(220)의 제 2 영역(223)으로 복사되고, 다시 메모리 제어부(230)의 큐매니저(queue manager)로 자동으로 로드된다.
메모리 제어부(230)는 큐매니저에 저장된 리드 명령을 로드하여 실행하며, 리드 명령의 실행에 의해, 이 리드 명령에 해당하는 데이터를 비휘발성 메모리부(240)로부터 리드한다(S66). 메모리 제어부(230)는 비휘발성 메모리부로부터(240)로부터 리드된 데이터를 휘발성 메모리부(220)의 제 2 영역(223)에 라이트하여 상기 리드 데이터를 일시적으로 저장한다.
다음으로, 메모리 제어부(230)는 리드 데이터를 호스트 시스템(10)으로 전송하기 위하여, 휘발성 메모리부(220)의 제 2 영역(223)에 저장된 리드 데이터를 휘발성 메모리부(220)의 공유 영역(222)에 복사한다(S68).
상기 단계(S68)가 완료되면, 메모리 제어부(230)는 휘발성 메모리부(220)의 공유 영역(222)에 대한 액세스 권한을 해제한다(S70). 따라서, 디스크 제어부(210)가 상기 공유 영역(222)에 대한 액세스 권한을 획득할 수 있다.
메모리 제어부(230)는 비휘발성 메모리부(240)로부터의 데이터 리드 동작이 완료되었음을 디스크 제어부(210)에 응답하고(S72), 서브루틴 A를 종료하고 제어 플로우(flow)를 리턴한다.
도 3으로 다시 돌아가서, 디스크 제어부(210)는 휘발성 메모리부(220)의 공유 영역(222)을 액세스하여 공유 영역(222)에 저장되어 있는 비휘발성 메모리부(240)로부터 리드된 데이터를 로컬 영역인 휘발성 메모리부(220)의 제 1 영역(221)으로 복사한다(S302).
다음으로, 디스크 제어부(210)는 상기 제 1 영역(221)에 복사된 리드 데이터를 호스트 시스템(10)의 브릿지(140)로 전송한다(S32).
도 3에서, 단계(S16) 및 단계(S18)는 하드 디스크 드라이브(250)로부터 데이터를 리드하는 과정으로서 도 2를 참조하여 그 동작이 이미 설명되었다.
도 3에서, 단계(S221) 내지 단계(S242)는 도 2의 단계(S22)와 단계(S24)를 더욱 구체적으로 표현한 것이다.
도 2를 참조하여 설명한 바와 같이, 단계(S20) 내지 단계(S24)는 비휘발성 메모리부(240)의 캐쉬 기능을 강화하기 위하여 하드 디스크 드라이브(250)로부터 리드된 데이터를 비휘발성 메모리부(240)에 저장하기 위한 구체적인 절차를 나타낸다.
단계(S20)에서, 디스크 제어부(210)가 메모리 제어부(230)에서 인식할 수 있는 라이트 명령을 생성한다. 이때, 디스크 제어부(210)는 라이트 명령과 라이트 대상 데이터를 휘발성 메모리부(220)의 제 1 영역(221)에 저장한다.
다음으로, 디스크 제어부(210)는 휘발성 메모리부(220)의 제 1 영역(221)에 저장되어 있는 라이트 명령 및 라이트 대상 데이터를 휘발성 메모리부(220)의 공유 영역(221)에 복사하여 라이트 명령 및 데이터를 저장한다(S221).
다음으로, 디스크 제어부(210)는 휘발성 메모리부(220)의 공유 영역(222)에 대한 액세스 권한을 메모리 제어부(230)로 이전하기 위하여 상기 공유 영역(222)에 대한 액세스 권한을 해제하고(S222), 메모리 제어부(230)로부터의 응답을 대기한다(S241). 상기 단계(S222)에서, 공유 영역(222)에 대한 디스크 제어부(210)의 액세스 권한이 해제되면, 도 6에 도시된 서브루틴 B가 실행된다. 도 6에 도시된 서브루틴 B는 메모리 제어부(230)에 의해 실행되며, 디스크 제어부(210)로부터의 라이트 명령에 따라 비휘발성 메모리부(240)에 데이터를 라이트하는 과정을 나타낸다.
도 6의 서브루틴 B를 참조하면, 디스크 제어부(210)가 공유 영역(222)의 액세스 권한을 해제하기 이전부터, 메모리 제어부(230)는 휘발성 메모리부(220)의 공유 영역(222)에 대한 디스크 제어부(210)의 액세스 권한 해제 여부를 감시한다(S80).
상기 단계(S80)에서, 공유 영역(222)에 대한 디스크 제어부(210)의 액세스 권한이 해제된 것으로 판단되면, 메모리 제어부(230)는 내부의 레지스터(register)에 설정되어 있는 큐매니저를 액세스하여 실행 대상 명령문이 저장되어 있는 큐매니저(queue manager)를 검사한다(S82). 도 6의 순서도에 구체적으로 도시되지는 않았지만, 휘발성 메모리부(220)의 공유 영역(222)에 저장된 라이트 명령 및 데이터는 메모리 제어부(230)에 의해 휘발성 메모리부(220)의 제 2 영역(223)으로 복사되고, 이 중에서 라이트 명령은 메모리 제어부(230)의 큐매니저(queue manager)로 자동으로 로드된다.
메모리 제어부(230)는 큐매니저에 저장된 라이트 명령을 로드하여 실행하며(S84), 라이트 명령의 실행에 의해, 이 라이트 명령과 함께 휘발성 메모리부(220)의 공유 영역(222)에 저장되어 있던 라이트 대상 데이터를 비휘발성 메모리부(240)에 라이트하여 라이트 대상 데이터를 저장한다.
상기 단계(S84)가 완료되면, 메모리 제어부(230)는 휘발성 메모리부(220)의 공유 영역(222)에 대한 액세스 권한을 해제한다(S86). 따라서, 디스크 제어부(210)가 상기 공유 영역(222)에 대한 액세스 권한을 획득할 수 있다.
메모리 제어부(230)는 비휘발성 메모리부(240)에 대한 데이터 라이트 동작이 완료되었음을 디스크 제어부(210)에 응답하고(S88), 서브루틴 B를 종료하고 제어 플로우(flow)를 리턴한다.
도 3으로 다시 돌아가서, 디스크 제어부(210)는 메모리 제어부(230)로부터의 데이터 리드 완료 응답을 수신하고(S242), 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치의 데이터 리드 제어 방법은 종료된다.
다음으로, 도 4 및 도 6을 참조하여 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치의 데이터 라이트 제어 방법에 대해 설명한다.
도 4는 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치의 디스크 제어부에서 실행되는 데이터 라이트 제어 방법을 설명하는 순서도이고, 도 6은 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치의 메모리 제어부에서 실행되는 데이터 라이트 서브루틴을 나타내는 순서도이다.
도 4에 도시된 바와 같이, 동작이 시작되면, 디스크 제어부(210)는 호스트 시스템(10)의 브릿지(140)로부터 데이터 라이트 요구가 있는지를 판단한다(S40).
앞에서 설명한 바와 같이, 호스트 시스템(10)은 하이브리드 하드 디스크 드라이브 장치(20)에 데이터를 라이트할 필요가 있을 경우, 데이터 라이트 명령을 생성하여 브릿지(140)를 통해 하이브리드 하드 디스크 드라이브 장치(20)에 라이트 명령 및 데이터를 전송한다. 이 단계(S40)에서는 디스크 제어부(210)가 이러한 데이터 라이트 명령의 유무를 검사한다.
상기 단계(S40)에서, 디스크 제어부(210)가 호스트 시스템(10)으로부터 데이터 라이트 요구를 수신한 것으로 판단되면, 디스크 제어부(210)는 호스트 시스템(10)의 브릿지(140)로부터 라이트 대상 데이터를 수신하여 휘발성 메모리부(220)의 제 1 영역(221)에 이를 저장하고, 이 제 1 영역(221)에 저장된 라이트 대상 데이터를 하드 디스크 드라이브(250)에 라이트한다(S42).
디스크 제어부(210)는 상기 단계(S42)에서 라이트 동작을 완료하고 호스트 시스템(10)의 브릿지(140)로 라이트 완료 응답을 통지한다(S44).
한편, OS 및 어플리케이션 실행시에, 호스트 시스템(10)은 저장 매체에 라이트한 데이터를 추후에 다시 리드할 확률이 상당히 높다. 이에 따라, 하드 디스크 드라이브(250)에 라이트된 데이터는 캐쉬 메모리 장치로서 동작하는 비휘발성 메모리부(240)에도 저장해 둘 필요가 있다.
도 4의 단계(S46) 내지 단계(S54)는 이와 같이 비휘발성 메모리부(240)의 캐쉬 기능을 강화하기 위하여 하드 디스크 드라이브(250)에 라이트된 데이터를 비휘발성 메모리부(240)에도 라이트하기 위한 구체적인 절차를 나타낸다.
우선, 디스크 제어부(210)는 메모리 제어부(230)에서 인식할 수 있는 라이트 명령을 생성한다(S46). 이와 같이 생성된 라이트 명령은 휘발성 메모리부(220)의 제 1 영역(221)에 일시적으로 저장된다.
다음으로, 디스크 제어부(210)는 앞에서 설명된 바와 같이 휘발성 메모리부(220)를 이용하여 비휘발성 메모리부(240)로 데이터를 전송하기 위하여, 휘발성 메모리부(220)의 제 1 영역(221)에 저장되어 있는 라이트 명령과 라이트 대상 데이터를 휘발성 메모리부(220)의 공유 영역(222)에 복사하여 라이트 명령 및 데이터를 공유 영역(222)에 저장한다(S48).
다음으로, 디스크 제어부(210)는 휘발성 메모리부(220)의 공유 영역(222)에 대한 액세스 권한을 메모리 제어부(230)로 이전하기 위하여 상기 공유 영역(222)에 대한 액세스 권한을 해제하고(S50), 메모리 제어부(230)로부터의 응답을 대기한다(S52). 상기 단계(S50)에서, 공유 영역(222)에 대한 디스크 제어부(210)의 액세스 권한이 해제되면, 도 6에 도시된 서브루틴 B가 메모리 제어부(230)에 의해 실행된다. 서브루틴 B에 대한 동작은 도 6을 참조하여 이미 설명하였고, 그 내용은 여기서도 동일하게 적용되므로 설명을 생략한다.
즉, 서브루틴 B를 통해, 디스크 제어부(210)로부터의 라이트 명령에 따라 비휘발성 메모리부(240)에 상기 공유 영역(221)에 저장되어 있던 데이터가 라이트된다.
상기 서브루틴 B가 완료되어 메모리 제어부(230)가 라이트 완료 응답을 송신하면, 디스크 제어부(210)는 그 응답을 수신하고, 본 발명의 실시예에 따른 하이브리드 하드 디스크 드라이브 장치의 데이터 라이트 제어 방법은 종료된다.
이상과 같이 설명된 본 발명의 하이브리드 하드 디스크 드라이브 장치 및 그 리드/라이트 제어 방법에 따르면, 하드 디스크 드라이브에 대한 리드/라이트 동작을 제어함과 동시에 비휘발성 메모리부를 캐쉬 메모리 장치로 이용하여 리드/라이트 동작을 제어하는 디스크 제어부와, 비휘발성 메모리부의 리드/라이트를 제어하는 메모리 제어부를 구비하고, 디스크 제어부와 메모리 제어부 사이에 명령 및 데이터 전달을 위한 휘발성 메모리부를 구비하여, 비휘발성 메모리부를 캐쉬 메모리 장치로서 이용할 수 있다. 따라서, 본 발명은 하이브리드 하드 디스크 드라이브 장치의 단가를 기존의 SSD 장치보다 감소시키면서도, 기존의 하드 디스크 드라이브 장치에 비해 데이터 액세스 성능을 향상시키는 효과를 달성할 수 있다.
본 발명은 도면에 도시된 일 실시예를 참고로 하여 설명하였으나 이는 예시적인 것에 불과하며 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 실시예의 변형이 가능하다는 점을 이해할 것이다. 그러나, 이와 같은 변형은 본 발명의 기술적 보호범위 내에 있다고 보아야 한다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위의 기술적 사상에 의해서 정해져야 할 것이다.
10 : 호스트 시스템 110 : CPU
120 : 메모리부 130 : 입출력부
140 : 브릿지 20 : 하이브리드 하드 디스크 드라이브 장치
210 : 디스크 제어부 220 : 휘발성 메모리부
230 : 메모리 제어부 240 : 비휘발성 메모리부
250 : 하드 디스크 드라이브

Claims (11)

  1. 자성체로 피복된 디스크를 이용하여 자기적으로 데이터를 리드/라이트하는 하드 디스크 드라이브,
    반도체 메모리 소자를 이용하여 전기적으로 데이터를 리드/라이트하는 비휘발성 메모리부,
    상기 비휘발성 메모리부에 대한 데이터 리드/라이트 동작을 제어하는 메모리 제어부,
    호스트 시스템으로부터 데이터 리드 명령이 수신되면, 상기 비휘발성 메모리부에 상기 데이터 리드 명령에 해당하는 데이터의 존재 여부를 판단하여 상기 비휘발성 메모리부로부터 해당 데이터를 리드하고, 상기 비휘발성 메모리부에 상기 데이터 리드 명령에 해당하는 데이터가 존재하지 않을 경우에는 상기 하드 디스크 드라이브를 검색하여 해당 데이터를 리드하도록 제어하고, 호스트 시스템으로부터 데이터 라이트 명령이 수신되면, 상기 하드 디스크 드라이브에 라이트 대상 데이터를 라이트한 후, 상기 비휘발성 메모리에도 라이트 대상 데이터를 라이트하도록 제어하는 디스크 제어부 및
    상기 메모리 제어부 및 상기 디스크 제어부 사이에서 명령 및 데이터를 일시적으로 저장하는 휘발성 메모리부를 포함하고,
    상기 휘발성 메모리부는 상기 디스크 제어부를 위한 전용 액세스 저장 공간을 가지는 제1 영역, 상기 메모리 제어부를 위한 전용 액세스 저장 공간을 가지는 제2 영역, 상기 디스크 제어부 및 메모리 제어부가 선택적으로 액세스할 수 있는 저장 공간을 가지는 공유 영역을 포함하며,
    상기 메모리 제어부 및 디스크 제어부 중 하나의 제어부만 상기 공유 영역에 대한 액세스 권한을 가지고, 상기 디스크 제어부 및 상기 메모리 제어부 중 어느 하나의 제어부가 공유 영역에 대한 액세스 권한을 가지면, 다른 제어부는 권한 해제 여부를 계속 감시하여 권한이 해제되면 공유 영역에 대한 권한을 가지도록 하는 것인 하이브리드 하드 디스크 드라이브 장치.
  2. 제 1 항에 있어서,
    상기 휘발성 메모리부는 듀얼 포트를 갖는 원 디램(one DRAM)으로 구현되는 것을 특징으로 하는 하이브리드 하드 디스크 드라이브 장치.
  3. 삭제
  4. 삭제
  5. 제 1 항에 있어서,
    상기 비휘발성 메모리부는 NAND 플래쉬 메모리 소자로 구현되는 것을 특징으로 하는 하이브리드 하드 디스크 드라이브 장치.
  6. 제 1 항에 있어서,
    상기 비휘발성 메모리부의 논리 블럭 어드레스에 대한 데이터 맵핑 정보인 캐쉬 맵핑 정보는 상기 비휘발성 메모리부에 데이터가 라이트될 때마다 상기 메모리 제어부에 의해 업데이트되고,
    상기 캐쉬 맵핑 정보는 상기 하드 디스크 드라이브 또는 상기 비휘발성 메모리부의 소정 위치에 저장되는 것을 특징으로 하는 하이브리드 하드 디스크 드라이브 장치.
  7. 제 6 항에 있어서,
    상기 디스크 제어부는 상기 비휘발성 메모리부에 상기 데이터 리드 명령에 해당하는 데이터가 존재하는지 여부를 판단하기 위하여, 상기 리드 명령과 상기 캐쉬 맵핑 정보를 대조하는 것을 특징으로 하는 하이브리드 하드 디스크 드라이브 장치.
  8. 주 저장 매체인 하드 디스크 드라이브와, 캐쉬 메모리 장치인 비휘발성 메모리부와, 메모리 제어부 및 상기 디스크 제어부 사이에서 명령 및 데이터를 일시 저장하며 디스크 제어부 및 메모리 제어부에 의해 선택적으로 액세스 가능한 공유 영역을 갖는 휘발성 메모리부를 포함하는 하이브리드 하드 디스크 드라이브 장치의 데이터 리드 제어 방법에 있어서,
    (a) 호스트 시스템으로부터 데이터 리드 명령이 수신될 경우, 상기 데이터 리드 명령에 대응하는 데이터가 상기 비휘발성 메모리 장치에 존재하는지를 판단하는 단계;
    (b) 상기 (a) 단계에서, 상기 데이터 리드 명령에 대응하는 데이터가 비휘발성 메모리 장치에 존재할 경우, 상기 디스크 제어부에서 상기 휘발성 메모리부에 대한 액세스 권한을 가짐과 동시에 상기 메모리 제어부에서 인식할 수 있는 리드 명령을 상기 휘발성 메모리부의 공유 영역에 저장하는 단계;
    (c) 상기 메모리 제어부에서 상기 휘발성 메모리부의 공유 영역에 대한 액세스 권한을 가짐과 동시에 상기 저장되어 있는 리드 명령에 대응하는 데이터를 상기 비휘발성 메모리부에서 리드하여 상기 휘발성 메모리부의 공유 영역에 저장하는 단계;
    (d) 상기 디스크 제어부에서 상기 휘발성 메모리부에 대한 액세스 권한을 가짐과 동시에 상기 휘발성 메모리부의 공유 영역에 저장된 데이터를 호스트 시스템으로 전송하는 단계 및
    (e) 상기 (a) 단계에서, 상기 데이터 리드 명령에 대응하는 데이터가 상기 비휘발성 메모리 장치에 존재하지 않을 경우, 상기 하드 디스크 드라이브로부터 상기 데이터 리드 명령에 대응하는 데이터를 리드하는 단계를 포함하는 것을 특징으로 하는 하이브리드 하드 디스크 드라이브 장치의 데이터 리드 제어 방법.
  9. 제 8 항에 있어서,
    상기 (a) 단계에서, 상기 데이터 리드 명령에 대응하는 데이터가 비휘발성 메모리 장치에 존재하는지를 판단하기 위하여, 상기 비휘발성 메모리부의 논리 블럭 어드레스에 대한 데이터 맵핑 정보인 캐쉬 맵핑 정보를 상기 데이터 리드 명령과 대조하는 것을 특징으로 하는 하이브리드 하드 디스크 드라이브 장치의 데이터 리드 제어 방법.
  10. 제 8 항에 있어서,
    상기 (e) 단계를 수행한 후, 상기 하드 디스크 드라이브로부터 리드된 데이터를 상기 비휘발성 메모리부에 라이트하는 단계를 더 포함하는 것을 특징으로 하는 하이브리드 하드 디스크 드라이브 장치의 데이터 리드 제어 방법.
  11. 주 저장 매체인 하드 디스크 드라이브와, 캐쉬 메모리 장치인 비휘발성 메모리부와, 메모리 제어부 및 디스크 제어부 사이에서 명령 및 데이터를 일시 저장하며 디스크 제어부 및 메모리 제어부에 의해 선택적으로 액세스 가능한 공유 영역을 갖는 휘발성 메모리부를 포함하는 하이브리드 하드 디스크 드라이브 장치의 데이터 라이트 제어 방법에 있어서,
    (a) 호스트 시스템으로부터 데이터 라이트 명령이 수신될 경우, 비휘발성 메모리로의 라이트 명령인 경우에, 디스크 제어부에서 상기 휘발성 메모리부에 대한 액세스 권한을 가짐과 동시에 상기 메모리 제어부에서 인식할 수 있는 라이트 명령과 라이트 대상 데이터를 휘발성 메모리부의 공유 영역에 저장하는 단계;
    (b) 상기 메모리 제어부에서 상기 휘발성 메모리부의 공유 영역에 대한 액세스 권한을 가짐과 동시에 상기 공유 영역에 저장되어 있는 라이트 명령에 따라 해당 데이터를 비휘발성 메모리부에 라이트하여 저장하고 종료하는 단계를 포함하고,
    상기 데이터 라이트 명령이 하드 디스크 드라이브로의 라이트 명령인 경우에는, 디스크 제어부에서 휘발성 메모리부의 제1 영역에 라이트 대상 데이터를 저장하고, 이 제1 영역에 저장된 데이터를 하드 디스크 드라이브에 라이트 한 후 호스트 시스템에 라이트 완료 응답을 통지하는 것인 하이브리드 하드 디스크 드라이브 장치의 데이터 라이트 제어 방법.
KR1020100035794A 2010-04-19 2010-04-19 하이브리드 하드 디스크 드라이브 장치 및 그 리드/라이트 제어 방법 KR101152108B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100035794A KR101152108B1 (ko) 2010-04-19 2010-04-19 하이브리드 하드 디스크 드라이브 장치 및 그 리드/라이트 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100035794A KR101152108B1 (ko) 2010-04-19 2010-04-19 하이브리드 하드 디스크 드라이브 장치 및 그 리드/라이트 제어 방법

Publications (2)

Publication Number Publication Date
KR20110116404A KR20110116404A (ko) 2011-10-26
KR101152108B1 true KR101152108B1 (ko) 2012-07-03

Family

ID=45030680

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100035794A KR101152108B1 (ko) 2010-04-19 2010-04-19 하이브리드 하드 디스크 드라이브 장치 및 그 리드/라이트 제어 방법

Country Status (1)

Country Link
KR (1) KR101152108B1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130238832A1 (en) * 2012-03-07 2013-09-12 Netapp, Inc. Deduplicating hybrid storage aggregate
US10990463B2 (en) 2018-03-27 2021-04-27 Samsung Electronics Co., Ltd. Semiconductor memory module and memory system including the same
KR102538679B1 (ko) 2018-04-06 2023-06-02 삼성전자주식회사 메모리 시스템 및 메모리 시스템의 동작 방법

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100699893B1 (ko) * 2006-01-23 2007-03-28 삼성전자주식회사 하이브리드 디스크 드라이브 및 하이브리드 디스크드라이브의 데이터 제어방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100699893B1 (ko) * 2006-01-23 2007-03-28 삼성전자주식회사 하이브리드 디스크 드라이브 및 하이브리드 디스크드라이브의 데이터 제어방법

Also Published As

Publication number Publication date
KR20110116404A (ko) 2011-10-26

Similar Documents

Publication Publication Date Title
KR102168838B1 (ko) 저장 장치들에 대한 매핑 테이블들
JP6253614B2 (ja) 格納デバイスの仮想化
US8380922B1 (en) Data storage device comprising host interface state machine blocking on target logical block address
KR102020466B1 (ko) 버퍼 메모리 장치를 포함하는 데이터 저장 장치
US8924659B2 (en) Performance improvement in flash memory accesses
US9182912B2 (en) Method to allow storage cache acceleration when the slow tier is on independent controller
CN105940386B (zh) 用于在存储器之间移动数据的方法、系统和介质
KR20150055882A (ko) 불휘발성 메모리 시스템 및 그것의 동작 방법
US9626112B2 (en) eMMC functionality expander
US8433847B2 (en) Memory drive that can be operated like optical disk drive and method for virtualizing memory drive as optical disk drive
KR102595233B1 (ko) 데이터 처리 시스템 및 그것의 동작 방법
KR20130024271A (ko) 하드 디스크 드라이브와 불휘발성 메모리를 포함하는 스토리지 시스템
CN110597742A (zh) 用于具有持久系统存储器的计算机系统的改进存储模型
US10031689B2 (en) Stream management for storage devices
KR101152108B1 (ko) 하이브리드 하드 디스크 드라이브 장치 및 그 리드/라이트 제어 방법
KR20210016188A (ko) 스토리지 장치 및 스토리지 장치의 동작 방법
KR20200114086A (ko) 컨트롤러, 메모리 시스템 및 그것의 동작 방법
US20190073147A1 (en) Control device, method and non-transitory computer-readable storage medium
KR20150041873A (ko) 데이터 처리 시스템
JP2012212192A (ja) 仮想マシンのための仮想ストレージを有するホストサーバ
KR20210016191A (ko) 스토리지 장치
US9946479B2 (en) Direct hinting for a memory device
KR20230060065A (ko) 스토리지 장치 및 전자 시스템
CN104424124A (zh) 内存装置、电子设备和用于控制内存装置的方法
TW201443647A (zh) 具有資料管理的層疊式資料儲存系統及其操作方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150624

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee