KR100675010B1 - 하이브리드 하드디스크 드라이브의 캐시 제어 방법, 이에적합한 기록 매체 그리고 이에 적합한 장치 - Google Patents

하이브리드 하드디스크 드라이브의 캐시 제어 방법, 이에적합한 기록 매체 그리고 이에 적합한 장치 Download PDF

Info

Publication number
KR100675010B1
KR100675010B1 KR1020060010638A KR20060010638A KR100675010B1 KR 100675010 B1 KR100675010 B1 KR 100675010B1 KR 1020060010638 A KR1020060010638 A KR 1020060010638A KR 20060010638 A KR20060010638 A KR 20060010638A KR 100675010 B1 KR100675010 B1 KR 100675010B1
Authority
KR
South Korea
Prior art keywords
hard disk
cache
host
searching
data
Prior art date
Application number
KR1020060010638A
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 KR1020060010638A priority Critical patent/KR100675010B1/ko
Application granted granted Critical
Publication of KR100675010B1 publication Critical patent/KR100675010B1/ko
Priority to US11/702,091 priority patent/US8661194B2/en

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/0877Cache access modes
    • G06F12/0884Parallel mode, e.g. in parallel with main memory or CPU
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60MPOWER SUPPLY LINES, AND DEVICES ALONG RAILS, FOR ELECTRICALLY- PROPELLED VEHICLES
    • B60M5/00Arrangements along running rails or at joints thereof for current conduction or insulation, e.g. safety devices for reducing earth currents
    • B60M5/02Means for reducing potential difference between rail and adjacent ground
    • 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
    • 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/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • 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/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • 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/068Hybrid storage device
    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01RELECTRICALLY-CONDUCTIVE CONNECTIONS; STRUCTURAL ASSOCIATIONS OF A PLURALITY OF MUTUALLY-INSULATED ELECTRICAL CONNECTING ELEMENTS; COUPLING DEVICES; CURRENT COLLECTORS
    • H01R4/00Electrically-conductive connections between two or more conductive members in direct contact, i.e. touching one another; Means for effecting or maintaining such contact; Electrically-conductive connections having two or more spaced connecting locations for conductors and using contact members penetrating insulation
    • H01R4/58Electrically-conductive connections between two or more conductive members in direct contact, i.e. touching one another; Means for effecting or maintaining such contact; Electrically-conductive connections having two or more spaced connecting locations for conductors and using contact members penetrating insulation characterised by the form or material of the contacting members
    • H01R4/64Connections between or with conductive parts having primarily a non-electric function, e.g. frame, casing, rail
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60YINDEXING SCHEME RELATING TO ASPECTS CROSS-CUTTING VEHICLE TECHNOLOGY
    • B60Y2200/00Type of vehicle
    • B60Y2200/30Railway vehicles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/22Employing cache memory using specific memory technology
    • G06F2212/222Non-volatile memory

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)
  • Mechanical Engineering (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 하이브리드 하드디스크 드라이브 즉, 하드디스크와 비휘발성 캐시를 가지는 하드디스크 드라이브에 관한 것으로서 특히, 비휘발성 캐시와 하드디스크를 동시에 탐색함으로써 데이터 액세스 속도를 높이는 캐시 제어 방법, 이에 적합한 기록 매체 그리고 이에 적합한 장치에 관한 것이다.
본 발명에 따른 하이브리드 하드디스크 드라이브의 캐시 제어 방법은 비휘발성 캐시 그리고 하드디스크를 가지는 하이브리드 하드디스크 드라이브의 캐시 제어 방법에 있어서, 병렬 모드가 설정되어 있지 않다면, 상기 비휘발성 캐시 및 상기 하드디스크를 순차적으로 탐색하여 호스트에서 요청된 데이터를 탐색하는 제1 탐색 과정; 및 병렬 모드가 활성화되어 있다면, 상기 비휘발성 캐시 및 상기 하드디스크를 동시에 탐색하여 상기 호스트에서 요청된 데이터를 탐색하는 제2탐색 과정을 포함하는 것을 특징으로 한다.

Description

하이브리드 하드디스크 드라이브의 캐시 제어 방법, 이에 적합한 기록 매체 그리고 이에 적합한 장치{method for cache controlling of hybrid hard disk drive, recording medium and apparatus therefor}
도 1은 본 발명에 따른 캐시 제어 방법의 바람직한 실시예를 보이는 흐름도이다.
도 2는 본 발명에 따른 하이브리드 하드디스크 드라이브의 구성을 보이는 것이다.
도 3은 도 2에 도시된 장치를 제어하는 회로의 구성을 보이는 블럭도이다.
본 발명은 하이브리드 하드디스크 드라이브 즉, 하드디스크와 비휘발성 캐시를 가지는 하드디스크 드라이브에 관한 것으로서 특히, 비휘발성 캐시와 하드디스크를 동시에 탐색함으로써 데이터 액세스 속도를 높이는 캐시 제어 방법, 이에 적합한 기록 매체 그리고 이에 적합한 장치에 관한 것이다.
하이브리드 하드디스크 드라이브(hybrid hard disk drive)는 통상의 하드디스크 드라이브에 비휘발성 캐시(Non-Volatile Cache; NVC)를 추가적으로 구비시킨 것이다. 비휘발성 캐시는 플래시 메모리로 구현된다.
이러한 하이브리드 하드디스크 드라이브는 통상의 하드디스크 드라이브에 비해 다음과 같은 점에서 이점을 가진다.
첫 째, 호스트 시스템의 부팅 시간을 단축시킬 수 있다. 즉, 호스트 시스템은 운영체제를 부팅하기 위해 필요한 파일들을 비휘발성 캐시에 복사시켜 두었다가 사용함으로써 부팅 시간을 단축시킬 수 있다. 통상의 하드디스크 드라이브는 파워 리셋시 스핀들 모터를 규정된 속도까지 회전시키기 위한 시간이 필요하다. 그렇지만, 하이브리드 하드디스크를 사용하는 호스트는 운영체제가 부팅하기 위해 필요한 파일들을 하드디스크가 아니라 비휘발성 캐시로부터 읽어들일 수 있기 때문에 그만큼 부팅 시간을 단축시킬 수 있다.
둘 째, 데이터 액세스 시간을 단축시킬 수 있다. 즉, 하이브리드 하드디스크 드라이브를 사용하는 호스트에서 기록할 데이터를 비휘발성 캐시와 하드디스크에 동시에 기록시켜두고, 데이터를 읽어낼 때 비휘발성 캐시를 먼저 탐색하여 해당하는 데이터가 기록되어 있으면 비휘발성 캐시로부터 데이터를 읽어낸다. 최근에 기록된 데이터일수록 액세스 확률이 높은 것을 감안하면 비휘발성 캐시를 이용하여 데이터 액세스 시간을 단축시킬 수 있다.
통상의 하드디스크 드라이브와는 달리 하이브리드 하드디스크 드라이브에는 데이터를 읽어낼 수 있는 매체가 DRAM 캐시와 하드디스크 이외에도 비휘발성 캐시가 더 있다. 여기서, DRAM 캐시는 하드디스크 드라이브와 호스트와의 사이에서 전송되는 데이터를 버퍼링하는 것을 말한다. 따라서, DRAM 캐시에서 완전 히트(full hit)가 발생했을 때 가장 빠른 속도로 호스트로 데이터를 전송하는 것이 가능하다. 비휘발성 캐시에서 히트가 발생했을 때는 데이터는 일단 DRAM 캐시로 전송된 후에 다시 호스트로 전송된다.
종래의 하이브리드 하드디스크 드라이브는 매체의 데이터 처리 속도를 고려하여 DRAM 캐시, 비휘발성 캐시 그리고 하드디스크의 순서로 데이터를 액세스하였다. 즉, 호스트로부터 리드 명령이 인가되면 먼저, DRAM 캐시를 탐색하고, 이어서 비휘발성 캐시와 하드디스크를 순차로 탐색하였다.
그렇지만, 호스트에서 요구하는 데이터가 DRAM 캐시와 비휘발성 캐시 모두에 없을 경우에는, 비휘발성 캐시까지 모두 탐색한 후에야 하드디스크를 탐색하기 때문에 데이터 액세스 시간이 늦어질 수 있다는 잠재 요인을 가지고 있다.
특히, 하드디스크를 액세스하기 위해서는 스핀들 모터를 기동시켜 규정의 속도에 도달하기까지, 통상 수ms 동안, 대기하여야 한다. 이에 따라, DRAM 캐시에서 완전 히트되는 경우에 비해 최악의 경우 비휘발성 캐시를 탐색하는 시간, 스핀들 모터가 규정속도로 회전하기까지의 시간, 하드디스크로부터 데이터를 읽어서 DRAM 캐시로 전송하기까지의 시간 등이 추가적으로 소요된다.
본 발명은 상기의 요구에 부응하기 위한 것으로서, 하이브리드 하드디스크 드라이브에 있어서 데이터 액세스 시간을 줄일 수 있는 캐시 제어 방법을 제공하는 것을 그 목적으로 한다.
본 발명의 다른 목적은 상기의 캐시 제어 방법을 수행하는 프로그램이 기록 된 컴퓨터로 읽어들일 수 있는 기록 매체를 제공하는 것에 있다.
본 발명의 또 다른 목적은 상기의 캐시 제어 방법에 적합한 장치를 제공하는 것에 있다.
상기의 목적을 달성하기 위한 본 발명에 따른 하이브리드 하드디스크 드라이브의 캐시 제어 방법은
비휘발성 캐시 그리고 하드디스크를 가지는 하이브리드 하드디스크 드라이브의 캐시 제어 방법에 있어서,
병렬 모드가 설정되어 있지 않다면, 상기 비휘발성 캐시 및 상기 하드디스크를 순차적으로 탐색하여 호스트에서 요청된 데이터를 탐색하는 제1 탐색 과정; 및
병렬 모드가 활성화되어 있다면, 상기 비휘발성 캐시 및 상기 하드디스크를 동시에 탐색하여 상기 호스트에서 요청된 데이터를 탐색하는 제2탐색 과정을 포함하는 것을 특징으로 한다.
여기서, 상기 하이브리드 하드디스크 드라이브가 파워 리셋될 때 상기 병렬 모드를 비활성화시키는 과정을 더 구비하는 것이 바람직하다.
상기의 다른 목적을 달성하기 위한 본 발명에 따른 기록 매체는
비휘발성 캐시 그리고 하드디스크를 가지는 하이브리드 하드디스크 드라이브의 캐시 제어 방법을 수행하는 프로그램이 기록된 컴퓨터로 읽어들일 수 있는 기록 매체에 있어서, 상기 캐시 제어 방법은
병렬 모드가 설정되어 있지 않다면, 상기 비휘발성 캐시 및 상기 하드디스크를 순차적으로 탐색하여 호스트에서 요청된 데이터를 탐색하는 제1 탐색 과정; 및
병렬 모드가 활성화되어 있다면, 상기 비휘발성 캐시 및 상기 하드디스크를 동시에 탐색하여 상기 호스트에서 요청된 데이터를 탐색하는 제2탐색 과정을 포함하는 것을 특징으로 한다.
상기의 또 다른 목적을 달성하기 위한 본 발명에 따른 하이브리드 하드디스크 드라이브는
비휘발성 캐시;
하드디스크; 및
상기 비휘발성 캐시 및 상기 하드디스크로부터 상기 호스트로부터 요청된 데이터를 탐색하여 상기 호스트 인터페이스를 통하여 전송하는 제어부를 포함하며,
상기 제어부는
병렬 모드가 설정되어 있지 않다면, 상기 비휘발성 캐시 및 상기 하드디스크를 순차적으로 탐색하여 호스트에서 요청된 데이터를 탐색하는 제1 탐색 과정; 및
병렬 모드가 활성화되어 있다면, 상기 비휘발성 캐시 및 상기 하드디스크를 동시에 탐색하여 상기 호스트에서 요청된 데이터를 탐색하는 제2탐색 과정을 수행하는 것을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명의 구성 및 동작을 상세히 설명하기로 한다.
본 발명은 어떤 데이터 액세스 동작에서 비휘발성 캐시에서 데이터가 탐색되지 않을 경우 다음의 데이터 액세스 동작에서는 비휘발성 캐시와 하드디스크를 동시에 탐색하도록 함으로써 데이터 액세스 시간을 줄이는 것을 특징으로 한다.
그렇지만, 모든 데이터 액세스 동작에서 비휘발성 캐시와 하드디스크를 동시에 탐색하도록 하는 것은 비효율적이고 전력 소모를 증가시킬 수 있다. 예를 들어, 호스트에서 요청한 데이터가 비휘발성 캐시에서 모두 탐색되는 경우에도 하드디스크를 탐색하기 위하여 스핀들 모터를 구동시킬 필요는 없다.
따라서, 비휘발성 캐시와 하드디스크를 동시에 탐색하는 동작을 활성화시키는 시점이 중요하게 된다.
본 발명에서는 호스트에서 요청한 데이터가 비휘발성 캐시에서 모두 찾아지지 않는 시점에서 비휘발성 캐시와 하드디스크를 동시에 탐색하는 동작을 활성화시키고 이를 하이브리드 하드디스크 드라이브가 파워다운될 때까지 유지시키는 것을 특징으로 한다.
호스트에서 요청한 데이터가 비휘발성 캐시에서 모두 찾아지지 않는 시점에서 비휘발성 캐시와 하드디스크를 동시에 탐색하는 동작을 활성화시키는 이유는 다음과 같다.
전술한 바와 같이 비휘발성 캐시에는 운영체제의 부팅시 요구되는 파일들을 저장한다. 예를 들어, Add LBA to NVC 명령을 통해서 부팅시에 요구되는 파일들을 비휘발성 캐시에 저장해놓고 부팅시에는 디스크를 액세스하지 않고 비휘발성 캐시 로부터 읽어옴으로써 부팅시간을 단축시키게 된다. 따라서, 하이브리드 하드디스크 드라이브가 파워리셋된 후 얼마 동안은 호스트에서 요청한 데이터가 모두 비휘발성 캐시에서 탐색될 수 있다고 보여진다.
그렇지만, 하이브리드 하드디스크 드라이브가 부팅된 후 사용자가 작성한 데이터가 액세스되게 되면 비휘발성 캐시에서 호스트가 요청한 데이터가 탐색되지 않을 확률이 점점 높아진다. 물론 비휘발성 캐시에서 호스트가 요청한 데이터가 탐색되지 않기까지의 시간은 비휘발성 캐시의 용량, 데이터 액세스 빈도 등에 의해 달라질 수는 있다.
한편, 일단 비휘발성 캐시에서 호스트가 요청한 데이터가 탐색되지 않게 되면 동일한 현상이 반복될 확률은 매우 높다. 따라서, 비휘발성 캐시에서 호스트가 요청한 데이터가 탐색되지 않게 되는 시점에서부터 하이브리드 하드디스크 드라이브가 파워다운될 때까지는 비휘발성 캐시와 하드디스크를 동시에 액세스하게 함으로써 데이터 액세스 속도를 높일 수 있다.
즉, 하드디스크를 액세스하기 위해서는 수ms가 소요되므로 그 동안에 비휘발성 캐시를 탐색하도록 하고 히트되었을 경우에 DRAM 캐시로 읽어오는 동작을 수행한다. 하드디스크에서 읽어온 데이터 중에서 비휘발성 캐시와 겹치는 부분은 무효하므로 버려지게 되고 비휘발성 캐시에서 읽어온 내용이 호스트로 전송되게 된다.
만일, 비휘발성 캐시에서 완전 히트가 발생한 경우에는 하드디스크로부터 읽어온 데이터가 필요가 없게 되므로 디스크 액세스 동작을 종료시키고 그때까지 읽어온 데이터가 있으면 버리게 된다.
도 1은 본 발명에 따른 캐시 제어 방법의 바람직한 실시예를 보이는 흐름도이다. 도 1에 있어서 병렬 모드(parallel mode)란 비휘발성 캐시와 하드디스크를 동시에 탐색하는 모드를 말하며, 하이브리드 하드디스크 드라이브가 파워리셋될 때는 비활성화되고, 비휘발성 캐시에서 호스트가 요청한 데이터가 탐색되지 않게 되는 시점에서 활성화된다.
호스트로부터 리드 명령이 인가되면, s102과정에서 병렬 모드가 활성화되어 있는지를 판단한다. S102과정에서 병렬 모드가 활성화되어 있지 않다면 도 1에서 좌측에 도시되는 바와 같은 제1탐색 과정을 수행하고, 병렬 모드가 활성화되어 있다면 도 1에서 우측에 도시되는 바와 같은 제2탐색 과정을 수행한다.
하이브리드 하드디스크 드라이브에 관한 자료는 http://www.t13.org/#Project_darfts에 개제된 NV Cache Command Proposal, 12/02/05에 상세히 개시되며, NV Cache Command들은 ATA8-ACS에 포함된다. 이를 참조하면, NV Cache Command에 관련된 명령어들의 집합인 NV Cache set는 호스트에 의해 비휘발성 캐시에 기록된 데이터를 지울 수 없는 NV Cache Pinned Set과 NV Cache Pinned Set에 포함되지 않는 NV Cache Unpinned Set으로 구성된다.
S102과정에서 병렬 모드가 설정되어 있지 않다면, s104과정에서 DRAM 캐시를 탐색한다. 이 DRAM 캐시는 하이브리드 하드디스크 드라이브와 호스트 사이의 데이터 전송을 버퍼링하기 위한 것이다.
S106과정에서는 완전 히트(full hit)가 발생하였는지를 판단한다. 즉, 호스 트가 요청한 데이터가 DRAM 캐시에서 모두 탐색되었는 지를 판단한다. 만일, s106과정에서 완전 히트가 발생하였다면, s120과정으로 진행하여 탐색된 데이터를 호스트로 전송한다.
S106과정에서 완전 히트가 발생하지 않았다고 판단되면, 먼저 s108과정에서 비휘발성 캐시를 탐색한다. S110과정에서 비휘발성 캐시에서 히트된 부분을 읽어낸다.
S112과정에서는 완전 히트(full hit)가 발생하였는지를 판단한다. 즉, 호스트가 요청한 데이터가 비휘발성 캐시에서 모두 탐색되었는 지를 판단한다. 만일, s112과정에서 완전 히트가 발생하였다면, s120과정으로 진행하여 탐색된 데이터를 호스트로 전송한다.
s112과정에서 완전 히트가 발생하지 않았다면, s114과정으로 진행하여 하드디스크로부터 데이터를 읽어낸다.
S116과정에서는 DRAM 캐시에서 히트된 일부 데이터와 비휘발성 캐시에서 히트된 일부 데이터와 하드디스크에서 히트된 나머지 데이터를 호스트로 전송한다.
S118과정에서는 병렬 모드를 활성화시킨다. S118 과정에서 병렬 모드를 활성화시킴에 의해 이후의 데이터 액세스 동작에서는 병렬 모드로 데이터를 액세스하게 된다.
S102과정에서 병렬 모드가 설정되어 있다면, s122과정에서 DRAM 캐시를 탐색한다.
S124과정에서는 완전 히트(full hit)가 발생하였는지를 판단한다. 즉, 호스 트가 요청한 데이터가 DRAM 캐시에서 모두 탐색되었는 지를 판단한다. 만일, s124과정에서 완전 히트가 발생하였다면, s120과정으로 진행하여 탐색된 데이터를 호스트로 전송한다.
S126과정에서는 디스크 리드(disk read)를 시작함과 동시에 비휘발성 캐시를 탐색한다. 비휘발성 캐시에서 히트(hit)되었다면 S127과정에서 비휘발성 캐시에서 히트된 부분을 read한다.
S128과정에서는 DRAM 캐시에서 히트된 일부 데이터와 비휘발성 캐시에서 히트된 일부 데이터와 하드디스크에서 히트된 나머지 데이터를 호스트로 전송한다.
도 2는 본 발명에 따른 하이브리드 하드디스크 드라이브의 구성을 보이는 것이다. 도 2를 참조하면, 본 발명에 따른 하이브리드 하드 디스크 드라이브(100)는 스핀들 모터(미도시)에 의하여 회전되는 적어도 하나의 디스크(12)를 포함하고 있다. 하드 디스크 드라이브(100)는 디스크(12)의 표면에 인접되게 위치한 헤드(16)를 또한 포함하고 있다.
헤드(16)는 디스크(12)의 표면에 형성된 자계를 감지하거나 디스크(12)의 표면을 자화시킴에 의해 디스크(12)로부터 정보를 읽거나 기록할 수 있다. 비록 도 1에 있어서 단일의 헤드로 도시되어 있지만, 이는 디스크(12)를 자화시키기 위한 기록용 헤드와 디스크(12)의 자계를 감지하기 위한 분리된 읽기용 헤드로 이루어져 있다고 이해되어야 한다.
헤드(16)는 슬라이더(미도시)에 통합될 수 있다. 슬라이더는 헤드(16)와 디스크(12)의 표면 사이에 공기 베어링(air bearing)을 생성시키는 구조로 되어 있 다. 슬라이더는 서스펜션(20)에 부착되며, 서스펜션(20은 헤드 스택 어셈블리(HSA; head stack assembly, 22)에 결합되어 있다. 헤드 스택 어셈블리(22)는 보이스 코일(26)을 갖는 액튜에이터 암(24)에 결합되어 있다. 보이스 코일(26)은 그것과 더불어 보이스 코일 모터(voice coil motor; VCM, 30)을 특정하는 마그네틱 어셈블리(28)에 인접되게 위치하고 있다. 보이스 코일(26)에 공급되는 VCM 구동 전류는 베어링 어셈블리(32)에 대하여 액튜에이터 암(24)을 회전시키는 구동력을 발생시킨다. 액튜에이터 암(24)의 회전은 디스크(12)의 표면을 가로질러 헤드(16)를 이동시킨다.
도 3은 도 2에 도시된 장치를 제어하는 회로의 구성을 보이는 블럭도이다.
도 3을 참조하면, 본 발명에 의한 하드디스크 드라이브는 제어장치(200)는 리드/라이트(R/W) 채널 회로(204) 및 리드 프리앰프 & 라이트 드라이버 회로(206)에 의하여 헤드(16)에 결합된 컨트롤러(202)를 포함하고 있다. 컨트롤러(202)는 디지털 신호 프로세서(DSP: Digital Signal Processor), 마이크로프로세서, 마이크로 컨트롤러 등이 된다.
컨트롤러(202)는 디스크(12)로부터 데이터를 리드하거나 또는 디스크(12)에 데이터를 기록하기 위하여 리드/라이트 채널(204)로 제어신호를 공급한다.
정보는 전형적으로 R/W 채널(204)로부터 호스트 인터페이스 회로(210)로 전송된다. 데이터의 버퍼링 동작은 호스트 인터페이스 회로(210), NV 캐시(220) DRAM 캐시 그리고 R/W 채널 (204) 사이에서 수행된다. DRAM 캐시는 DRAM 버퍼(미도시)로 구현되며, 이 DRAM 버퍼는 동작적으로 호스트 인터페이스 회로(210)와 R/W 채널 사 이에 개재되며 호스트 인터페이스 회로(210)의 내부에 설치될 수 있다. 호스트 인터페이스 회로(210)는 퍼스널 컴퓨터와 같은 시스템에 인터페이스하기 위한 제어 회로를 포함하고 있다.
R/W 채널 회로(204)는 재생 모드에서는 헤드(16)로부터 읽혀져 리드 프리앰프&라이트 드라이버 회로(206)에서 증폭된 아날로그 신호를 호스트 컴퓨터(도면에 미도시)가 판독할 수 있는 디지털 신호로 변조시켜 DRAM 버퍼(미도시)를 통하여 호스트 인터페이스 회로(210)로 출력하거나 호스트 인터페이스 회로(210)를 통하여 수신된 데이터를 디스크에 기록할 수 있도록 기록 전류로 변환시켜 리드 프리앰프&라이트 드라이버 회로(206)로 출력시킨다.
컨트롤러(202)는 보이스 코일(126)에 구동 전류를 공급하는 VCM 구동부(208)에 또한 결합되어 있다. 컨트롤러(202)는 VCM(30)의 여기 및 헤드(16)의 움직임을 제어하기 위하여 VCM 구동부(208)로 제어신호를 공급한다.
컨트롤러(202)는 읽기 전용 메모리(ROM: Read Only Memory, 214) 및 랜덤 액세스 메모리(RAM: Random Access Memory, 216)에 결합되어 있다. 메모리(214, 216)는 소프트웨어 루틴을 실행시키기 위하여 컨트롤러(202)에 의하여 사용되는 명령어 및 데이터를 포함하고 있다.
소프트웨어 루틴의 하나로서 특히 본 발명의 실시 예에 의한 캐시 제어 방법을 수행하기 위한 프로그램이 저장된다. 이때 메모리(214)는 비휘발성 메모리로 설계한다.
컨트롤러(202)는 비휘발성 캐시(220)의 병렬 모드의 설정 여부를 관리하며, 병렬 모드에 따라 호스트에서 요청한 데이터를 탐색하는 동작을 제어한다.
먼저, 병렬 모드가 설정되어 있지 않으면, 컨트롤러(202)는 DRAM 캐시 (미도시), 비휘발성 캐시(220) 그리고 하드디스크(12)의 순서로 데이터를 탐색한다.
다음으로 병렬 모드가 설정되어 있으면, 컨트롤러(202)는 먼저 DRAM 캐시를 탐색하고, 이후 비휘발성 캐시(220)와 하드디스크(12)를 동시에 탐색한다.
컨트롤러(202)는 하이브리드 하드디스크 드라이브가 파워리셋되면 병렬 모드를 비활성화시킨다. 이에 따라 부팅 동작 및 초기 동작에 있어서 호스트에서 요청된 데이터는 비휘발성 캐시(220)로부터 읽혀지게 된다. 또한, 컨트롤러(202)는 비휘발성 캐시(220)로부터 완전 히트가 발생되지 않을 때 병렬 모드를 활성화시키며 이후의 데이터 액세스에 있어서는 비휘발성 캐시(220)와 하드디스크(12)가 동시에 탐색된다. 또한, 컨트롤러(202)는 호스트에서 요청한 데이터가 비휘발성 캐시(220)에서 모두 탐색되면 하드디스크에서의 탐색 동작을 종료시켜 전력 절감을 도모하게 된다.
본 발명은 방법, 장치, 시스템 등으로서 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필연적으로 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장될 수 있으며 또는 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다. 프로세서 판독 가능 매체는 정보를 저장 또는 전송할 수 있는 어떠한 매체도 포함한다. 프로세서 판독 가능 매체의 예로는 전자 회로, 반도체 메모리 소자, ROM, 플래쉬 메모리, 이레이져블 ROM(EROM: Erasable ROM), 플로 피 디스크, 광 디스크, 하드 디스크, 광 섬유 매체, 무선 주파수(RF) 망, 등이 있다. 컴퓨터 데이터 신호는 전자 망 채널, 광 섬유, 공기, 전자계, RF 망, 등과 같은 전송 매체 위로 전파될 수 있는 어떠한 신호도 포함된다.
첨부된 도면에 도시되어 설명된 특정의 실시 예들은 단지 본 발명의 예로서 이해되어 지고, 본 발명의 범위를 한정하는 것이 아니며, 본 발명이 속하는 기술 분야에서 본 발명에 기술된 기술적 사상의 범위에서도 다양한 다른 변경이 발생될 수 있으므로, 본 발명은 보여지거나 기술된 특정의 구성 및 배열로 제한되지 않는 것은 자명하다.
상술한 바와 같이 본 발명에 따른 캐시 제어 방법은 비휘발성 캐시와 하드디스크를 동시에 탐색하도록 함으로써 데이터 액세스 시간을 단축시키는 효과를 가지게 된다.

Claims (10)

  1. 비휘발성 캐시 그리고 하드디스크를 가지는 하이브리드 하드디스크 드라이브의 캐시 제어 방법에 있어서,
    병렬 모드가 설정되어 있지 않다면, 상기 비휘발성 캐시 및 상기 하드디스크를 순차적으로 탐색하여 호스트에서 요청된 데이터를 탐색하는 제1 탐색 과정; 및
    병렬 모드가 활성화되어 있다면, 상기 비휘발성 캐시 및 상기 하드디스크를 동시에 탐색하여 상기 호스트에서 요청된 데이터를 탐색하는 제2탐색 과정을 포함하는 하이브리드 하드디스크 드라이브의 캐시 제어 방법.
  2. 제1항에 있어서, 상기 하이브리드 하드디스크 드라이브가 파워 리셋될 때 상기 병렬 모드를 비활성화시키는 과정을 더 구비하는 것을 특징으로 하는 하드디스크 드라이브의 캐시 제어 방법.
  3. 제1항에 있어서, 상기 제2탐색 과정은 상기 호스트에서 요청된 데이터가 상기 비휘발성 캐시에서 모두 탐색된다면 상기 하드디스크를 탐색하는 동작을 중지시키는 과정을 더 구비하는 것을 특징으로 하는 하이브리드 하드디스크 드라이브의 캐시 제어 방법.
  4. 비휘발성 캐시 그리고 하드디스크를 가지는 하이브리드 하드디스크 드라이브의 캐시 제어 방법에 있어서,
    호스트에서 요청한 데이터가 상기 비휘발성 캐시 에 있는지를 탐색하는 과정과 상기 하드디스크에 있는지를 탐색하는 과정을 동시에 수행하는 것을 특징으로 하는 하이브리드 하드디스크 드라이브의 캐시 제어 방법.
  5. 비휘발성 캐시 그리고 하드디스크를 가지는 하이브리드 하드디스크 드라이브의 캐시 제어 방법을 수행하는 프로그램이 기록된 컴퓨터로 읽어들일 수 있는 기록 매체에 있어서, 상기 캐시 제어 방법은
    병렬 모드가 설정되어 있지 않다면, 상기 비휘발성 캐시 및 상기 하드디스크를 순차적으로 탐색하여 호스트에서 요청된 데이터를 탐색하는 제1 탐색 과정; 및
    병렬 모드가 활성화되어 있다면, 상기 비휘발성 캐시 및 상기 하드디스크를 동시에 탐색하여 상기 호스트에서 요청된 데이터를 탐색하는 제2탐색 과정을 포함하는 것을 특징으로 하는 기록 매체.
  6. 제5항에 있어서, 상기 캐시 제어 방법은
    하이브리드 하드디스크 드라이브가 파워 리셋될 때 상기 병렬 모드를 비활성화시키는 과정을 더 구비하는 것을 특징으로 하는 기록 매체.
  7. 제6항에 있어서, 상기 제2탐색 과정은 나머지 데이터가 상기 비휘발성 캐시에서 모두 탐색된다면 상기 하드디스크를 탐색하는 동작을 중지시키는 과정을 더 구비하는 것을 특징으로 하는 기록 매체.
  8. 비휘발성 캐시;
    하드디스크; 및
    상기 비휘발성 캐시 및 상기 하드디스크로부터 상기 호스트로부터 요청된 데이터를 탐색하여 상기 호스트 인터페이스를 통하여 전송하는 제어부를 포함하며,
    상기 제어부는
    병렬 모드가 설정되어 있지 않다면, 상기 비휘발성 캐시 및 상기 하드디스크를 순차적으로 탐색하여 호스트에서 요청된 데이터를 탐색하는 제1 탐색 과정; 및
    병렬 모드가 활성화되어 있다면, 상기 비휘발성 캐시 및 상기 하드디스크를 동시에 탐색하여 상기 호스트에서 요청된 데이터를 탐색하는 제2탐색 과정을 수행하는 것을 특징으로 하는 하이브리드 하드디스크 드라이브.
  9. 제8항에 있어서, 상기 제어부는 하이브리드 하드디스크 드라이브가 파워 리셋될 때 상기 병렬 모드를 비활성화시키는 과정을 더 수행하는 것을 특징으로 하는 하드디스크 드라이브.
  10. 제8항에 있어서, 상기 제어부는 나머지 데이터가 상기 비휘발성 캐시에서 모두 탐색된다면 상기 하드디스크를 탐색하는 동작을 중지시키는 과정을 더 수행하는 것을 특징으로 하는 하이브리드 하드디스크 드라이브.
KR1020060010638A 2006-02-03 2006-02-03 하이브리드 하드디스크 드라이브의 캐시 제어 방법, 이에적합한 기록 매체 그리고 이에 적합한 장치 KR100675010B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020060010638A KR100675010B1 (ko) 2006-02-03 2006-02-03 하이브리드 하드디스크 드라이브의 캐시 제어 방법, 이에적합한 기록 매체 그리고 이에 적합한 장치
US11/702,091 US8661194B2 (en) 2006-02-03 2007-02-05 Cache control method for hybrid HDD, related program, and hybrid disk drive using same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060010638A KR100675010B1 (ko) 2006-02-03 2006-02-03 하이브리드 하드디스크 드라이브의 캐시 제어 방법, 이에적합한 기록 매체 그리고 이에 적합한 장치

Publications (1)

Publication Number Publication Date
KR100675010B1 true KR100675010B1 (ko) 2007-01-29

Family

ID=38014999

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060010638A KR100675010B1 (ko) 2006-02-03 2006-02-03 하이브리드 하드디스크 드라이브의 캐시 제어 방법, 이에적합한 기록 매체 그리고 이에 적합한 장치

Country Status (2)

Country Link
US (1) US8661194B2 (ko)
KR (1) KR100675010B1 (ko)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7899987B2 (en) * 2007-05-15 2011-03-01 Sandisk Il Ltd. File storage in a computer system with diverse storage media
JP5025670B2 (ja) * 2009-01-28 2012-09-12 株式会社東芝 情報処理装置およびデータ記憶装置
KR101023883B1 (ko) * 2009-02-13 2011-03-22 (주)인디링스 고속 저장 장치를 캐쉬로 사용하는 스토리지 시스템
US8312219B2 (en) * 2009-03-02 2012-11-13 International Business Machines Corporation Hybrid caching techniques and garbage collection using hybrid caching techniques
US8438334B2 (en) 2009-12-22 2013-05-07 International Business Machines Corporation Hybrid storage subsystem with mixed placement of file contents
US8495296B2 (en) 2010-05-18 2013-07-23 International Business Machines Corporation System and method for optimizing data remanence over hubrid disk clusters using various storage technologies
US9069475B1 (en) 2010-10-26 2015-06-30 Western Digital Technologies, Inc. Hybrid drive selectively spinning up disk when powered on
US8447925B2 (en) 2010-11-01 2013-05-21 Taejin Info Tech Co., Ltd. Home storage device and software including management and monitoring modules
US8990494B2 (en) 2010-11-01 2015-03-24 Taejin Info Tech Co., Ltd. Home storage system and method with various controllers
US8630056B1 (en) 2011-09-12 2014-01-14 Western Digital Technologies, Inc. Hybrid drive adjusting spin-up profile based on cache status of non-volatile semiconductor memory
US8909889B1 (en) 2011-10-10 2014-12-09 Western Digital Technologies, Inc. Method and apparatus for servicing host commands by a disk drive
WO2013055312A1 (en) * 2011-10-10 2013-04-18 Intel Corporation Host controlled hybrid storage device
JP5967967B2 (ja) * 2012-02-13 2016-08-10 キヤノン株式会社 情報処理装置およびその制御方法
US10353816B2 (en) 2015-01-28 2019-07-16 Hewlett-Packard Development Company, L.P. Page cache in a non-volatile memory
US10303372B2 (en) * 2015-12-01 2019-05-28 Samsung Electronics Co., Ltd. Nonvolatile memory device and operation method thereof
US9990134B2 (en) 2016-06-15 2018-06-05 Seagate Technology Llc Command tunneling in a hybrid data storage device
US10459658B2 (en) 2016-06-23 2019-10-29 Seagate Technology Llc Hybrid data storage device with embedded command queuing
US10628045B2 (en) 2016-06-23 2020-04-21 Seagate Technology Llc Internal data transfer management in a hybrid data storage device
US9927981B2 (en) 2016-08-29 2018-03-27 Seagate Technology Llc Hybrid data storage device with partitioned local memory
US10552053B2 (en) 2016-09-28 2020-02-04 Seagate Technology Llc Hybrid data storage device with performance mode data path
US10394493B2 (en) 2017-06-30 2019-08-27 Seagate Technology Llc Managing shingled magnetic recording (SMR) zones in a hybrid storage device

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4723181A (en) * 1986-09-24 1988-02-02 Eastman Kodak Company Tape memory with integral disk index on reel
US5636355A (en) * 1993-06-30 1997-06-03 Digital Equipment Corporation Disk cache management techniques using non-volatile storage
JP3188071B2 (ja) * 1993-10-14 2001-07-16 富士通株式会社 ディスクキャッシュ装置
US5584007A (en) * 1994-02-09 1996-12-10 Ballard Synergy Corporation Apparatus and method for discriminating among data to be stored in cache
US5884093A (en) * 1994-09-02 1999-03-16 Rock Solid Systems, Inc. Hard disk cache for CD-ROM and other slow access time devices
JPH0883148A (ja) 1994-09-13 1996-03-26 Nec Corp 磁気ディスク装置
US5606529A (en) * 1994-12-20 1997-02-25 Hitachi, Ltd. Semiconductor disk storage
US5832262A (en) * 1995-09-14 1998-11-03 Lockheed Martin Corporation Realtime hardware scheduler utilizing processor message passing and queue management cells
JPH10154101A (ja) * 1996-11-26 1998-06-09 Toshiba Corp データ記憶システム及び同システムに適用するキャッシュ制御方法
US6292878B1 (en) * 1996-12-12 2001-09-18 Matsushita Electric Industrial Co., Ltd. Data recorder and method of access to data recorder
JP4000654B2 (ja) * 1997-02-27 2007-10-31 セイコーエプソン株式会社 半導体装置及び電子機器
US6725342B1 (en) * 2000-09-26 2004-04-20 Intel Corporation Non-volatile mass storage cache coherency apparatus
US6785767B2 (en) * 2000-12-26 2004-08-31 Intel Corporation Hybrid mass storage system and method with two different types of storage medium
JP3628265B2 (ja) * 2001-02-21 2005-03-09 株式会社半導体理工学研究センター マルチプロセッサシステム装置
US20040225874A1 (en) * 2003-05-09 2004-11-11 Jeremy Burr Method for reduced BIOS boot time
US20050125600A1 (en) * 2003-12-04 2005-06-09 Ehrlich Richard M. Method for storing HDD critical data in flash
WO2005104027A2 (en) * 2004-04-22 2005-11-03 Koninklijke Philips Electronics N.V. Data processing apparatus that provides parallel access to multi-dimensional array of data values
US7318118B2 (en) * 2005-07-14 2008-01-08 Hitachi Global Storage Technologies B.V. System and method for selective write to flash memory in HDD
US7707388B2 (en) * 2005-11-29 2010-04-27 Xmtt Inc. Computer memory architecture for hybrid serial and parallel computing systems
US7411757B2 (en) * 2006-07-27 2008-08-12 Hitachi Global Storage Technologies Netherlands B.V. Disk drive with nonvolatile memory having multiple modes of operation

Also Published As

Publication number Publication date
US8661194B2 (en) 2014-02-25
US20070186039A1 (en) 2007-08-09

Similar Documents

Publication Publication Date Title
KR100675010B1 (ko) 하이브리드 하드디스크 드라이브의 캐시 제어 방법, 이에적합한 기록 매체 그리고 이에 적합한 장치
KR100744122B1 (ko) 하이브리드 하드디스크 드라이브의 제어 방법, 이에 적합한기록 매체 그리고 이에 적합한 장치
US8607007B2 (en) Selection of data storage medium based on write characteristic
JP5888717B2 (ja) ハイブリッドハードディスクドライブ制御方法、メモリ装置及びハイブリッドハードディスクドライブ
US7606970B2 (en) Hybrid disk drive and method of controlling data therein
US8291185B2 (en) Data storing location managing method and data storage system
US8069324B2 (en) Storage device with manual learning
EP1566797A2 (en) Method of controlling the idle mode of hard disc drives and apparatus therefor
JP2007193440A (ja) 不揮発性キャッシュメモリを用いる記憶装置とその制御方法
JP2009020986A (ja) ディスク・ドライブ装置及びディスク・ドライブ装置において不揮発性半導体メモリ領域上のデータを管理するテーブルを保存する方法
JP2007193441A (ja) 不揮発性キャッシュメモリを用いる記憶装置とその制御方法
US20160124487A1 (en) Storage device and method for processing power disable signal
JP2005267497A (ja) データ記憶装置、その制御方法及び磁気ディスク記憶装置
US6693754B2 (en) Method and apparatus for a disc drive adaptive file system
KR20100030990A (ko) 특정 조건을 갖는 파일을 정해진 위치에 저장할 수 있는 하이브리드 하드디스크 드라이브, 이에 적합한 제어 방법 및 이에 적합한 기록 매체
JP4919983B2 (ja) データ記憶装置及びデータ記憶装置におけるデータ管理方法
US20090002863A1 (en) System and method of monitoring data operations at a data storage device
US9606932B2 (en) Storage device and control method thereof
JP2002342038A (ja) コマンドの実行順序を制御するディスク装置
JPH10275425A (ja) ディスク装置及び同装置における欠陥による再配置データの高速ホスト転送方法
JP2017151609A (ja) ストレージ、ストレージシステム
KR100594255B1 (ko) 하드디스크 드라이브의 제어 방법 및 이에 적합한 장치
JP2017167740A (ja) ストレージ、ストレージシステム
JP2008176894A (ja) 不揮発性メモリを備える磁気ディスク装置および不揮発性メモリを備える磁気ディスク装置の制御方法

Legal Events

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

Payment date: 20130109

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140108

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150107

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170120

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20171215

Year of fee payment: 12