KR101474344B1 - 캐시 플러시 제어 방법 및 이를 이용한 데이터 저장 시스템 - Google Patents

캐시 플러시 제어 방법 및 이를 이용한 데이터 저장 시스템 Download PDF

Info

Publication number
KR101474344B1
KR101474344B1 KR1020080067818A KR20080067818A KR101474344B1 KR 101474344 B1 KR101474344 B1 KR 101474344B1 KR 1020080067818 A KR1020080067818 A KR 1020080067818A KR 20080067818 A KR20080067818 A KR 20080067818A KR 101474344 B1 KR101474344 B1 KR 101474344B1
Authority
KR
South Korea
Prior art keywords
storage
storage device
cache
information
data
Prior art date
Application number
KR1020080067818A
Other languages
English (en)
Other versions
KR20100007258A (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 KR1020080067818A priority Critical patent/KR101474344B1/ko
Priority to US12/499,835 priority patent/US8307162B2/en
Priority to JP2009163816A priority patent/JP5325683B2/ja
Publication of KR20100007258A publication Critical patent/KR20100007258A/ko
Application granted granted Critical
Publication of KR101474344B1 publication Critical patent/KR101474344B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • 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

Abstract

본 발명은 데이터 저장 장치 및 그 제어 방법에 관한 것으로서, 특히 고속으로 데이터를 처리하기 위한 캐시 플러시 제어 방법 및 장치에 관한 것이다.
본 발명에 따른 캐시 플러시 제어 방법은 캐시 플러시 이벤트가 발생되면, 캐시 메모리에 저장된 정보를 시스템에 포함된 복수의 저장 장치들 중에서 제1저장 장치로 캐시 플러시 처리하는 단계 및, 상기 제1의 저장 장치로 캐시 플러시 처리되어 저장된 정보에 근거하여 상기 제1의 저장 장치보다 라이트 속도가 낮은 제2저장 장치에 라이트 커맨드를 실행하는 단계를 포함함을 특징으로 한다.

Description

캐시 플러시 제어 방법 및 이를 이용한 데이터 저장 시스템{Method for controlling cache flush and data storage system using the same}
본 발명은 데이터 저장 장치 및 그 제어 방법에 관한 것으로서, 특히 고속으로 데이터를 처리하기 위한 캐시 플러시 제어 방법 및 장치에 관한 것이다.
일반적으로, 데이터 저장 장치의 하나인 하드디스크 드라이브는 자기 헤드에 의해 디스크에 기록된 데이터를 재생하거나, 디스크에 사용자 데이터를 기록함으로써 컴퓨터 시스템 운영에 기여하게 된다.
컴퓨터 시스템에서 하드디스크 드라이브로부터의 데이터 읽기 및 쓰기 동작을 수행하는 속도는 호스트 장치의 반도체 메인 메모리로부터의 데이터 읽기 및 쓰기 동작을 수행하는 속도보다 느리다. 이러한 속도의 차이를 보상하기 위하여 캐시 메모리가 사용되고 있다. 캐시 메모리로는 DRAM이 사용되며, DRAM의 특성 상 캐시 플러시를 중간에 반드시 수행하여야 한다.
그런데, 하드디스크 드라이브와 같은 저장 장치로 캐시 플러시를 직접 수행하는 경우에는 캐시 플러시 응답 속도를 일정 수준 이상 높일 수 없는 단점이 있었다.
본 발명이 해결하고자 하는 과제는 라이트 커맨드 처리 속도를 향상시키기 위한 캐시 플러시 제어 방법을 제공하는데 있다.
본 발명이 해결하고자 하는 다른 과제는 라이트 커맨드 처리 속도를 향상시키기 위한 캐시 플러시 제어 방법을 이용하여 데이터 저장 시스템을 제공하는데 있다.
본 발명이 해결하고자 하는 또 다른 과제는 라이트 커맨드 처리 속도를 향상시키기 위한 캐시 플러시 제어 방법을 수행하는 프로그램 코드가 기록된 저장매체를 제공하는데 있다.
상기 과제를 달성하기 위한 본 발명의 일실시 예에 따른 캐시 플러시 제어 방법은 캐시 플러시 이벤트가 발생되면, 캐시 메모리에 저장된 정보를 시스템에 포함된 복수의 저장 장치들 중에서 제1저장 장치로 캐시 플러시 처리하는 단계 및, 상기 제1의 저장 장치로 캐시 플러시 처리되어 저장된 정보에 근거하여 상기 제1의 저장 장치보다 라이트 속도가 낮은 제2저장 장치에 라이트 커맨드를 실행하는 단계를 포함함을 특징으로 한다.
상기 복수의 저장 장치들은 비휘발성 저장 장치를 포함하는 것이 바람직하다.
상기 제1저장 장치는 상기 시스템에 포함된 복수의 저장 장치들 중에서 기 록 속도가 가장 빠른 비휘발성 저장 장치로 설정하는 것이 바람직하다.
상기 제1저장 장치는 비휘발성 반도체 메모리 장치를 포함하는 것이 바람직하다.
상기 제2저장 장치는 하드디스크 드라이브를 포함하는 것이 바람직하다.
상기 제1저장 장치로 캐시 플러시 처리되는 정보에는 명령어 큐 정보 및 기록할 데이터를 포함하는 것이 바람직하다.
본 발명의 일실시 예에 따르면, 상기 캐시 플러시 처리하는 단계를 실행하고 나서, 캐시 플러시 처리되어 저장된 명령어 큐 정보에 포함된 복수개의 라이트 커맨드들의 실행 순서를 논리적인 블록 어드레스 정보에 대한 물리적인 위치를 고려하여 라이트 커맨드 실행 시간이 최대한 단축되도록 재 정렬한 테이블 정보를 생성시키는 단계를 더 포함하고, 상기 라이트 하는 단계는 상기 테이블 정보에 재 정렬된 명령어 실행 순서에 근거하여 상기 제1저장 장치에 저장된 데이터를 읽어내어 상기 제2저장 장치에 라이트 실행하는 것이 바람직하다.
상기 테이블 정보는 명령어 큐 정보에 포함된 복수개의 라이트 커맨드들의 실행 순서를 저장매체에서 한쪽 방향으로 순차적으로 데이터가 저장되도록 재 정렬하는 것이 바람직하다. 상기 저장매체는 디스크를 포함하는 것이 바람직하다.
상기 테이블 정보는 상기 제1저장 장치에 저장하는 것이 바람직하다.
상기 다른 과제를 달성하기 위한 본 발명의 일실시 예에 따른 데이터 저장 시스템은 기록 방식이 상이한 복수의 저장 장치들, 상기 복수의 저장 장치들에 라이트 할 정보 및 상기 복수의 저장 장치들로부터 읽어낸 정보를 일시적으로 저장하 는 캐시 메모리 및, 캐시 플러시 이벤트가 발생되면, 상기 캐시 메모리에 저장된 정보를 상기 복수의 저장 장치들 중에서 제1저장 장치로 캐시 플러시 처리하고, 상기 제1저장 장치로 캐시 플러시 처리되어 저장된 정보에 근거하여 상기 제1저장 장치보다 데이터 기록 속도가 낮은 제2저장 장치에 라이트 커맨드를 실행하도록 제어하는 컨트롤러를 포함함을 특징으로 한다.
상기 컨트롤러는 상기 제1저장 장치로 캐시 플러시를 실행시키고 나서, 캐시 플러시 처리되어 저장된 명령어 큐 정보에 포함된 복수개의 라이트 커맨드들의 실행 순서를 논리적인 블록 어드레스 정보에 대한 물리적인 위치를 고려하여 라이트 커맨드 실행 시간이 최대한 단축되도록 재 정렬한 테이블 정보를 생성시키도록 설계하는 것이 바람직하다.
상기 또 다른 기술적 과제를 해결하기 위하여 본 발명은 상기 캐시 플러시 제어 방법을 컴퓨터에서 실행시키기 위한 프로그램 코드를 기록한 컴퓨터로 읽을 수 있는 저장 매체를 제공한다.
본 발명에 의하면 비휘발성 저장 장치를 보조 캐시로 이용하여 캐시 플러시를 실행함으로써, 캐시 플러시에 대한 응답 속도를 높일 수 있는 효과가 발생된다. 또한, 명령어 큐 정보에 포함된 라이트 커맨드들의 실행 순서를 재정렬하고, 재정렬된 라이트 커맨드들의 실행 순서에 근거하여 라이트 커맨드를 실행함으로써 실제 라이트되는 시간을 단축시킬 수 있는 효과가 발생된다.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시 예를 예시하는 첨부 도면 및 도면에 기재된 내용을 참조하여야 한다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세히 설명하기로 한다.
도 1은 본 발명의 일실시 예에 따른 데이터 저장 시스템의 구성도이다.
도 1에 도시된 바와 같이, 본 발명의 일실시 예에 따른 데이터 저장 시스템은 호스트 장치(110), 컨트롤러(120), 캐시 메모리(130) 및 제1저장 장치(140) 및 제2저장 장치(150)를 포함한다.
여기에서, 컨트롤러(120)는 중앙처리장치(CPU; 120-1)와 프로그램 메모리(120-2)로 구성된다. 중앙처리장치(120-1)는 데이터 저장 시스템을 총괄적으로 제어하는 수단으로서 명령어의 해석과 자료의 연산, 비교 등의 일련의 처리를 제어하는 수단이다. 프로그램 메모리(120-2)에는 데이터 저장 시스템을 제어하는데 필요한 프로그램들이 저장되어 있으며, 특히 도 4의 흐름도를 실행시키기 위한 프로그램도 저장되어 있다.
제1저장 장치(140) 및 제2저장 장치(150)는 전원이 차단되더라도 저장매체에 저장된 데이터를 잃지 않는 비휘발성 저장 장치들이며, 제1,2저장 장치의 기록 방식은 상이하다. 본 발명의 일실시 예에서는 기록 속도가 빠른 저장 장치를 제1저장 장치(140)로 설정하고, 제1저장 장치보다 기록 속도가 늦은 저장 장치를 제2저장 장치(150)로 설정하였다. 본 발명의 일실시 예에 따르면 제1저장 장치(140)는 비휘 발성 반도체 메모리 장치로 설정할 수 있으며, 제2저장 장치(150)는 하드디스크 드라이브로 설정할 수 있다. 본 발명의 일실시 예에서는 설명의 편의를 위하여 데이터 저장 시스템에 2개의 저장 장치가 포함되는 것으로 한정하여 설명하였으나, 본 발명은 이에 한정되지 않고 3개 이상의 복수의 저장 장치를 포함하도록 설계할 수도 있음은 당연한 사실이다. 만일 시스템에 3개 이상의 복수의 저장 장치가 포함되어 있는 경우에는 보조 캐시로 이용하는 제1저장 장치는 복수의 저장 장치들 중에서 기록 속도가 가장 빠른 비휘발성 저장 장치로 선정된다.
캐시 메모리(130)에는 수신되는 명령어, 복수의 저장 장치들에 라이트할 정보 및 복수의 저장 장치들로부터 읽어낸 정보들이 일시적으로 저장한다.
그러면, 컨트롤러(120)에 의한 캐시 플러시 제어 방법을 도 4 및 도 5를 참조하여 설명하기로 한다.
도 5는 저장매체들 사이의 정보의 이동 상태를 보여주는 도면이다. 도 5에서 참조번호 130-1은 캐시 메모리(130)의 기록 영역을 나타내고, 참조번호 140-1은 제1저장 장치(140)의 저장매체를 나타내고, 참조번호 150-1은 제2저장 장치(150)의 저장매체를 나타낸다. 제1저장 장치의 저장매체(140-1)에는 캐시 플러시에 의하여 보조 캐시 영역에 명령어 큐 및 기록할 데이터가 저장된다. 그리고, 제2저장 장치(150)의 저장매체(150-1)는 데이터 영역과 시스템 정보 영역으로 나누어져 있다.
호스트 장치(110)로부터 명령어가 컨트롤러(120)로 수신되면 컨트롤러(120)의 중앙처리장치(120-1)에서 명령어를 해석하여, 라이트 명령어가 수신되었는지를 판단한다(S401).
단계401(S401)의 판단 결과 라이트 명령어가 수신된 경우에 캐시 메모리(130)에 명령어 및 기록할 데이터를 저장한다(S402). 캐시 메모리(130)는 명령어를 저장하는 영역과 데이터를 저장하는 영역으로 나누어져 있으며, 명령어를 저장하는 영역에는 명령어 큐 정보가 저장되고, 데이터를 저장하는 영역에는 라이트 명령에 의하여 기록할 데이터가 저장된다. 명령어 큐에는 수신되는 순서대로 명령어가 저장된다.
다음으로, 컨트롤러(120)의 중앙처리장치(120-1)는 캐시 플러시 조건이 발생되는지를 판단한다(S403). 일 예로서, 캐시 플러시 발생 조건은 캐시 메모리(130)에 캐시 메모리(130)의 총 저장 용량의 일정 비율을 초과하여 데이터가 저장되는 경우에 캐시 플러시를 실행시키도록 설정할 수 있다.
단계403의 판단 결과 캐시 플러시 조건이 발생되면, 도 5의 ①에 도시된 바와 같이 중앙처리장치(120-1)는 캐시 메모리(130)의 저장매체(130-1)에 저장된 명령어 큐 정보와 기록할 데이터를 제1저장 장치(140)의 저장매체(140-1)에 할당된 보조 캐시 영역으로 캐시 플러시 처리한다(S404). 여기에서, 제1저장 장치(140)는 데이터 저장 시스템에 포함된 복수의 저장 장치들 중에서 기록 속도가 가장 빠른 비휘발성 저장 장치로 설정하는 것이 바람직하다. 도 1에 도시된 바와 같이, 2개의 저장 장치가 포함된 시스템에서 제1저장 장치(140)가 제2저장 장치(150)에 비하여 기록 속도가 빠른 비휘발성 저장 장치로 설정된다.
다음으로, 도 5의 ②에 도시된 바와 같이 중앙처리장치(120-1)는 제1저장 장치(140)로 캐시 플러시 처리되어 저장된 명령어 큐 정보에 포함된 복수개의 라이트 커맨드들의 실행 순서를 LBA(Logical Block Address) 정보에 대한 물리적인 위치를 고려하여 라이트 커맨드 실행 시간이 최대한 단축될 수 있도록 재 정렬한 테이블 정보를 생성시켜 제1저장 장치(140)에 포함된 저장매체(140-1)의 특정 영역에 저장한다(S405). 특히, 시크(seek) 시간과 레이턴시(latency)를 고려하여 시이퀀셜(sequential) 라이트 수행이 많이 되도록 라이트 명령어 실행 순서가 재설정된다. 일 예로서, 명령어 큐 정보에 포함된 복수개의 라이트 커맨드들의 실행 순서를 저장매체에서 한쪽 방향으로 순차적으로 데이터가 저장되도록 라이트 명령어 실행 순서를 재정렬한 테이블을 생성시킨다. 이와 같이 테이블 정보는 제1저장 장치(140)의 초기 설정된 테이블 저장 영역에 저장한다.
다음으로, 도 5의 ③ 및 ④에 도시된 바와 같이 중앙처리장치(120-1)는 테이블에 재정렬된 명령어 실행 순서에 근거하여 제2저장 장치(150)의 저장매체(150-1)의 데이터 영역에 라이트 명령을 실행시킨다(S406). 즉, 테이블에 재정렬된 명령어 실행 순서에 따라서 제1저장 장치(140)에 저장된 데이터를 제2저장 장치(150)의 저장매체(150-1)의 영역에 라이트 처리한다.
이와 같은 동작에 의하여 주 기억 장치에 해당되는 제2저장 장치(150)보다 기록 속도가 빠른 제1저장 장치(140)를 보조 캐시로 이용하여 캐시 플러시 처리를 실행함으로써, 캐시 플러시에 대한 응답 속도를 높일 수 있게 된다. 또한, 제1저장 장치(140)에서 명령어 큐 정보에 포함된 복수개의 라이트 커맨드들의 실행 순서를 라이트 수행 속도를 최대한 단축시키도록 재 정렬하는 테이블을 생성시키고, 생성된 테이블을 이용하여 라이트를 실행함으로써 실제 라이트 속도를 향상시킬 수 있 게 된다.
다음으로, 하드디스크 드라이브에서 보조 캐시 메모리로 비휘발성 반도체 메모리 장치를 이용하는 실시 예에 대하여 설명하기로 한다.
도 2에 도시된 바와 같이, 본 발명의 일실시 예에 따른 하드디스크 드라이브는 프리 앰프(210), 기록/판독 채널(220), 컨트롤러(230), 캐시 메모리(240), 제1저장 장치(250), 호스트 인터페이스(260) 및 보이스 코일 모터(VCM) 구동부(270)를 포함한다.
여기에서, 제1저장 장치(250)는 비휘발성 저장 장치로서, 디스크(12)에 기록되는 속도보다 빠른 메모리 장치로 설정한다. 제1저장 장치(250)는 일 예로서 반도체 비휘발성 메모리인 플래시 메모리, PRAM(Phase change RAM), FRAM(Ferroelectric RAM), MRAM(Magnetic RAM) 등이 이용될 수 있다. 제1저장 장치(250)의 저장 영역 중에서 일부를 보조 캐시 영역으로 할당한다.
컨트롤러(230)는 하드디스크 드라이브를 총괄적으로 제어하며, 디지털 신호 프로세서(DSP : Digital Signal Processor), 마이크로프로세서, 마이크로컨트롤러 등으로 구현될 수 있다. 컨트롤러(230)는 호스트 인터페이스(260)를 통하여 호스트 장치로부터 수신되는 커맨드에 따라서 디스크(12)로부터 정보를 읽거나 또는 디스크(12)에 정보를 기록하기 위하여 기록/판독 채널(220)을 제어한다.
그리고, 컨트롤러(230)는 보이스 코일(26)에 구동 전류를 공급하는 VCM 구동부(270)에 또한 결합되어 있다. 컨트롤러(230)는 보이스 코일 모터의 여기 및 변환기(16)의 움직임을 제어하기 위하여 VCM 구동부(270)로 제어신호를 공급한다.
특히, 컨트롤러(230)는 제1저장 장치(250)를 보조 캐시로 이용하여 캐시 플러시 처리하도록 제어하고, 또한 라이트 커맨드 처리 속도를 향상시키기 위한 일련의 제어 처리를 실행한다. 이에 대해서는 아래에서 구체적으로 설명되어질 것이다.
우선, 일반적인 하드디스크 드라이브의 동작을 설명하면 다음과 같다.
데이터 읽기(Read) 모드에서, 읽어낼 데이터가 캐시 메모리(240)에 저장되어 있는지를 우선 확인한 후에, 캐시 메모리(240)에 저장되어 있으면 해당 데이터를 호스트 인터페이스(260)로 출력시킨다. 그러나, 캐시 메모리(240)에 해당 데이터가 저장되어 있지 않으면, 하드디스크 드라이브는 컨트롤러(230)의 제어에 의하여 변환기(16)를 디스크(12)의 목표 위치로 이동시킨 후에 디스크(12)로부터 변환기(16)에 의하여 감지된 전기적인 신호를 프리 앰프(210)에서 신호 처리에 용이하도록 증폭시킨다. 그리고 나서, 리드/라이트 채널 회로(220)에서는 컨트롤러(230)에서 생성되는 섹터 펄스에 따라서 디스크(12)로부터 읽어낸 신호를 디지털 신호로 부호화시키고, 스트림 데이터로 변환하여 캐시 메모리(240)에 일시적으로 저장한 후에 호스트 인터페이스(260)를 통하여 호스트 기기(도면에 미도시)로 전송한다.
다음으로 쓰기(Write) 모드에서, 하드디스크 드라이브는 호스트 인터페이스(260)를 통하여 호스트 장치로부터 라이트 명령어와 기록할 데이터를 입력받아 캐시 메모리(240)에 일시 저장시킨 후에, 제1저장 장치(250)의 보조 캐시 영역을 이용하여 캐시 플러시 처리를 한 후에 제1저장 장치(250)에서 출력되는 기록할 데이터를 기록/판독 채널(220)에서 디스크(12)의 기록 채널에 적합한 바이너리 데이터 스트림으로 변환시킨 후에, 섹터 펄스가 발생되는 시점에 프리 앰프(210)에 의 하여 증폭된 기록 전류로 변환기(16)를 통하여 디스크(12)에 기록시킨다.
그러면, 컨트롤러(230)의 제어에 의한 캐시 플러시 처리 및 라이트 커맨드 실행 처리에 대하여 구체적으로 설명하기로 한다.
컨트롤러(230)는 호스트 인터페이스(260)를 통하여 라이트 명령어가 수신되면 캐시 메모리(240)에 명령어 및 기록할 데이터를 저장시킨다. 캐시 메모리(240)는 명령어를 저장하는 영역과 데이터를 저장하는 영역으로 나누어져 있으며, 명령어를 저장하는 영역에는 명령어 큐 정보가 저장되고, 데이터를 저장하는 영역에는 라이트 명령에 의하여 기록할 데이터가 저장된다. 명령어 큐에는 수신되는 순서대로 명령어가 저장된다.
다음으로, 컨트롤러(230)는 캐시 플러시 조건이 발생되면, 캐시 메모리(240)에 저장된 명령어 큐 정보와 기록할 데이터를 제1저장 장치(250)의 보조 캐시 영역으로 캐시 플러시 처리한다. 캐시 플러시 발생 조건은 일 예로서, 캐시 메모리(240)에 캐시 메모리(240)의 총 저장 용량의 일정 비율을 초과하여 데이터가 저장되는 경우에 캐시 플러시를 실행시키도록 설정할 수 있다.
그리고 나서, 컨트롤러(230)는 제1저장 장치(250)의 보조 캐시 영역에 저장된 명령어 큐 정보에 포함된 복수개의 라이트 커맨드들의 실행 순서를 LBA 정보에 대한 물리적인 위치를 고려하여 라이트 커맨드 실행 시간이 최대한 단축될 수 있도록 재정렬한 테이블 정보를 생성시킨다. 특히, 시크(seek) 시간과 레이턴시(latency)를 고려하여 시이퀀셜(sequential) 라이트 수행이 많이 되도록 라이트 명령어 실행 순서를 재 설정하여 테이블에 저장한다. 일 예로서, 명령어 큐 정보에 포함된 복수개의 라이트 커맨드들의 실행 순서를 디스크(12)에서 한쪽 방향으로 순차적으로 데이터가 저장되도록 라이트 명령어 실행 순서를 재정렬한 테이블을 생성시킨다. 즉, 라이트 명령어에서 기록 시작할 LBA 정보를 CHS(Cylinder Head Sector) 정보로 변환시켜 디스크(12)에서의 물리적인 위치를 고려하여 시크 시간과 레이턴시가 가장 짧아지도록 커맨드 큐의 라이트 명령어 실행 순서를 재정렬하는 테이블을 생성시킨다. 컨트롤러(230)는 이와 같은 방식으로 생성된 테이블을 제1저장 장치(250)의 특정 영역에 저장한다.
예를 들어, 도 6에 도시된 바와 같이, 커맨드 큐에 저장된 라이트 명령의 실행 순서가 디스크(12)의 물리적인 위치에서 ①→②→③→④→⑤ 순으로 설정되어 있다면, 디스크(12)의 내주에서 외주 방향으로 이동하면서 라이트가 실행되도록 라이트 명령어 실행 순서를 재정렬할 수 있다. 이 경우에 라이트 명령어 실행 순서 재정렬 테이블에는 디스크(12)에서의 위치 ②→①→⑤→④→③ 순으로 라이트가 실행되도록 라이트 명령어 실행 순서가 재정렬된다.
경우에 따라서는 디스크(12)의 외주에서 내주 방향으로 이동하면서 라이트를 실행하도록 라이트 명령어 실행 순서를 재정렬할 수도 있는데, 이 경우에 라이트 명령어 실행 순서 재정렬 테이블에는 디스크(12)에서의 위치 ③→④→⑤→①→② 순으로 라이트가 실행되도록 라이트 명령어 실행 순서가 재정렬된다.
다음으로, 컨트롤러(230)는 제1저장 장치(250)에 저장된 테이블에 재정렬된 명령어 실행 순서에 근거하여 라이트 명령을 실행한다. 이에 따라서, 제1저장 장치(250)에서 출력되는 데이터는 기록/판독 채널(220) 및 프리 앰프(210)를 거쳐 디 스크(12)에 기록된다.
도 3은 본 발명이 적용되는 하드디스크 드라이브의 HDA(Head Disk Assembly; 10)의 구성을 보여준다.
헤드 디스크 어셈블리(10)는 스핀들 모터(14)에 의하여 회전되는 적어도 하나의 자기 디스크(12)를 포함하고 있다. 디스크 드라이브(10)는 디스크(12) 표면에 인접되게 위치한 변환기(16)를 또한 포함하고 있다.
변환기(16)는 각각의 디스크(12)의 자계를 감지하고 자화시킴으로써 회전하는 디스크(12)에서 정보를 읽거나 기록할 수 있다. 전형적으로 변환기(16)는 각 디스크(12) 표면에 결합되어 있다. 비록 단일의 변환기(16)로 도시되어 설명되어 있지만, 이는 디스크(12)를 자화시키기 위한 기록용 변환기와 디스크(12)의 자계를 감지하기 위한 분리된 읽기용 변환기로 이루어져 있다고 이해되어야 한다. 읽기용 변환기는 자기 저항(MR : Magneto-Resistive) 소자로부터 구성되어 진다. 변환기(16)는 통상적으로 헤드(Head)라 칭해지기도 한다.
변환기(16)는 슬라이더(20)에 통합되어 질 수 있다. 슬라이더(20)는 변환기(16)와 디스크(12) 표면사이에 공기 베어링(air bearing)을 생성시키는 구조로 되어 있다. 슬라이더(20)는 헤드 짐벌 어셈블리(22)에 결합되어 있다. 헤드 짐벌 어셈블리(22)는 보이스 코일(26)을 갖는 엑츄에이터 암(24)에 부착되어 있다. 보이스 코일(26)은 보이스 코일 모터(VCM : Voice Coil Motor 30)를 특정하도록 마그네틱 어셈블리(28)에 인접되게 위치하고 있다. 보이스 코일(26)에 공급되는 전류는 베어링 어셈블리(32)에 대하여 엑츄에이터 암(24)을 회전시키는 토오크를 발생시킨 다. 엑츄에이터 암(24)의 회전은 디스크(12) 표면을 가로질러 변환기(16)를 이동시킬 것이다.
정보는 전형적으로 디스크(12)의 환상 트랙 내에 저장된다. 각 트랙(34)은 일반적으로 복수의 섹터를 포함하고 있다. 각 섹터는 데이터 필드(data field)와 식별 필드(identification field)를 포함하고 있다. 식별 필드는 섹터 및 트랙(실린더)을 식별하는 그레이 코드(Gray code)로 구성되어 있다. 변환기(16)는 다른 트랙에 있는 정보를 읽거나 기록하기 위하여 디스크(12) 표면을 가로질러 이동된다.
디스크(12)는 크게 디스크 드라이브에 관련된 정보를 저장하는 메인터넌스 실린더(Maintenance Cylinder; 일반적으로 MC라 칭함) 영역과 사용자 데이터 영역으로 나누어진다. 메인터넌스 실린더 영역에는 디펙 리스트(defect list) 정보와 리드/라이트 최적화 파라미터(parameter) 정보들을 포함하여 디스크 드라이브에 관련된 각종 정보들이 저장되며, 사용자가 임의로 액세스할 없는 영역이다. 그리고, 사용자 데이터 영역은 사용자가 데이터를 실질적으로 라이트하거나 리드할 수 있는 영역이다.
본 발명은 방법, 장치, 시스템 등으로서 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필연적으로 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되어 질 수 있다. 프로세서 판독 가능 매체는 정보를 저장 또는 전송할 수 있는 어떠한 매체도 포함한다. 프로세서 판독 가능 매체의 예로는 전자 회로, 반도체 메모리 소자, ROM, 플레쉬 메모리, 이레이져블 ROM(EROM : Erasable ROM), 플로피 디스크, 광 디스크, 하드 디스크, 광 섬유 매체, 무선 주파수(RF) 망, 등이 있다. 컴퓨터 데이터 신호는 전자 망 채널, 광 섬유, 공기, 전자계, RF 망, 등과 같은 전송 매체 위로 전파될 수 있는 어떠한 신호도 포함된다.
첨부된 도면에 도시되어 설명된 특정의 실시 예들은 단지 본 발명의 예로서 이해되어 지고, 본 발명의 범위를 한정하는 것이 아니며, 본 발명이 속하는 기술 분야에서 본 발명에 기술된 기술적 사상의 범위에서도 다양한 다른 변경이 발생될 수 있으므로, 본 발명은 보여지거나 기술된 특정의 구성 및 배열로 제한되지 않는 것은 자명하다.
도 1은 본 발명에 따른 데이터 저장 시스템의 구성도이다.
도 2는 본 발명의 일실시 예에 따른 하드디스크 드라이브의 전기적인 회로 구성도이다.
도 3은 본 발명이 적용되는 디스크 드라이브의 헤드 디스크 어셈블리의 평면도이다.
도 4는 본 발명에 따른 캐시 플러시 제어 방법의 흐름도이다.
도 5는 본 발명에 따른 데이터 저장 시스템에서의 캐시 플러시 제어 프로세스에 따른 저장매체들 사이의 정보의 이동 상태를 보여주는 도면이다.
도 6은 본 발명에 적용되는 명령어 실행 순서 재정렬 테이블 생성 방법을 설명하기 위한 디스크에서의 라이트 명령이 시작되는 위치를 도시한 것이다.

Claims (22)

  1. 캐시 플러시 상황이 발생되면, 캐시 메모리에 저장된 정보를 데이터 저장 시스템에 포함된 복수의 저장 장치들의 제1저장 장치로 캐시 플러시하는 단계; 및
    캐시 플러시되어 저장된 커맨드 큐 정보에 포함된 복수의 라이트 커맨드들의 실행 순서가 논리적인 블록 어드레스 정보에 대한 물리적인 위치를 고려하여 재정렬된 테이블 정보를 생성하는 단계를 포함하는,
    캐시 플러시 제어 방법.
  2. 제1항에 있어서, 상기 복수의 저장 장치들은 비휘발성 저장 장치를 포함하는,
    캐시 플러시 제어 방법.
  3. 제1항에 있어서, 상기 제1저장 장치는 상기 데이터 저장 시스템에 포함된 다른 저장 장치들보다 빠른 라이팅 속도를 갖는 비휘발성 저장 장치를 포함하는,
    캐시 플러시 제어 방법.
  4. 제1항에 있어서, 상기 정보는 기록될 데이터 및 커맨드 큐를 포함하는,
    캐시 플러시 제어 방법.
  5. 제1항에 있어서, 상기 방법은 상기 캐시 플러시된 상기 제1저장 장치에 저장된 정보에 따라 상기 제1저장 장치보다 느린 라이팅 속도를 갖는 복수의 저장 장치들의 제2저장 장치에 라이트 커맨드를 실행하는 단계를 더 포함하는,
    캐시 플러시 제어 방법.
  6. 제5항에 있어서, 실행될 커맨드 큐에 포함된 상기 라이트 커맨드들의 재정렬 되는 순서는 저장 매체 상에서 일 방향으로 상기 라이트 커맨드들이 순차적으로 실행되는 상기 방향에 상응하는,
    캐시 플러시 제어 방법.
  7. 제5항에 있어서, 상기 테이블 정보는 상기 제1저장 장치에 저장되는,
    캐시 플러시 제어 방법.
  8. 컴퓨터에 의해 실행될 때 데이터 저장 시스템의 캐시 플러시 제어 방법을 실행하는 컴퓨터-판독가능 코드들을 포함하는 컴퓨터-판독가능 매체로서,
    상기 방법은,
    캐시 플러시 상황이 발생되면 캐시 메모리에 저장된 정보를 데이터 저장 시스템에 포함된 복수의 저장 장치들의 제1저장 장치로 캐시 플러시하는 단계; 및
    캐시 플러시되어 저장된 커맨드 큐 정보에 포함된 복수의 라이트 커맨드들의 실행 순서가 논리적인 블록 어드레스 정보에 대한 물리적인 위치를 고려하여 재정렬된 테이블 정보를 생성하는 단계를 포함하는,
    컴퓨터-판독가능 매체.
  9. 데이터 저장 시스템으로서,
    상이한 데이터 라이팅 방법들을 갖는 복수의 저장 장치들;
    상기 복수의 저장 장치들에 저장될 정보 또는 상기 복수의 저장 장치들로부터 판독되는 정보를 일시적으로 저장하는 캐시 메모리; 및
    상기 복수의 저장 장치들의 제2저장 장치에 커맨드들을 수행하는데 걸리는 시간의 기간이 단축되도록 캐시 플러시되어 데이터 저장 시스템의 복수의 저장 장치들의 제1저장 장치에 캐시 메모리로 저장된 커맨드 큐 정보에 포함된 복수의 라이트 커맨드들의 실행 순서가 논리적인 블록 어드레스 정보에 대한 물리적인 위치를 고려하여 재정렬된 테이블 정보를 생성하는 컨트롤러를 포함하는,
    데이터 저장 시스템.
  10. 제9항에 있어서, 상기 복수의 저장 장치들은 비휘발성 저장 장치를 포함하는,
    데이터 저장 시스템.
  11. 제9항에 있어서,
    상기 제1저장 장치는 상기 데이터 저장 시스템에 포함된 다른 저장 장치들보다 빠른 라이팅 속도를 갖는 비휘발성 저장 장치를 포함하는,
    데이터 저장 시스템.
  12. 제9항에 있어서,
    상기 컨트롤러는 캐시 플러시 상황이 발생되면 상기 캐시 메모리에 저장된 정보를 상기 데이터 저장 시스템에 포함된 상기 복수의 저장 장치들의 제1저장 장치로 캐시 플러시하고, 캐시 플러시된 상기 제1저장 장치에 저장된 정보에 따라 상기 제1저장 장치보다 낮은 라이팅 속도를 갖는 복수의 저장 장치들의 제2저장 장치에 라이트 커맨드를 실행하는,
    데이터 저장 시스템.
  13. 제12항에 있어서, 상기 컨트롤러는 상기 제1저장 장치에서 상기 테이블 정보 상에 정보를 저장하는,
    데이터 저장 시스템.
  14. 제13항에 있어서, 상기 컨트롤러는 상기 생성된 테이블 정보의 재정렬된 순서에 따라 상기 제1저장 장치에 저장된 데이터를 판독함으로써 제2저장 장치에 라이트 커맨드를 실행하는,
    데이터 저장 시스템.
  15. 제12항에 있어서, 실행될 상기 커맨드 큐에 포함된 상기 라이트 커맨드들의 재정렬되는 순서는 저장 매체 상에서 일 방향으로 상기 라이트 커맨드들이 순차적으로 실행되는 상기 방향에 상응하는,
    데이터 저장 시스템.
  16. 제15항에 있어서, 상기 저장 매체는 디스크를 포함하는,
    데이터 저장 시스템.
  17. 디바이스로서,
    복수의 저장 장치들의 제2저장 장치에 커맨드들을 수행하는데 걸리는 시간의 기간이 단축되도록 캐시 플러시되어 데이터 저장 시스템의 복수의 저장 장치들의 제1저장 장치의 캐시 메모에 저장된 커맨드 큐 정보에 포함된 복수의 라이트 커맨드들의 실행 순서가 논리적인 블록 어드레스 정보에 대한 물리적인 위치를 고려하여 재정렬된 테이블 정보를 생성하도록 구성된 컨트롤러를 포함하는,
    디바이스.
  18. 제17항에 있어서, 캐시 플러시된 상기 제1저장 장치에 저장된 정보에 따라 상기 제1 저장 장치보다 낮은 라이팅 속도를 갖는 복수의 저장 장치들의 제2저장 장치에 라이트 커맨드를 실행하는 것을 더 포함하는,
    디바이스.
  19. 방법으로서,
    캐시 플러시되어 데이터 저장 시스템의 복수의 저장 장치들의 제1저장 장치의 캐시 메모리에 저장된 커맨드 큐 정보에 포함된 복수의 라이트 커맨드들의 실행 순서가 논리적인 블록 어드레스 정보에 대한 물리적인 위치를 고려하여 재정렬된 테이블 정보를 생성하는 단계; 및
    상기 테이블 정보에 따라 제1저장 장치로부터 데이터를 판독함으로써 제2저장 장치상에 라이트 커맨드들을 실행하는 단계를 포함하는,
    방법.
  20. 제5항에 있어서, 상기 테이블 정보에 따라 상기 제1저장 장치로부터 데이터를 판독함으로써 제2저장 장치에 상기 라이트 커맨드를 실행하는 단계를 더 포함하는,
    캐시 플러시 제어 방법.
  21. 삭제
  22. 삭제
KR1020080067818A 2008-07-11 2008-07-11 캐시 플러시 제어 방법 및 이를 이용한 데이터 저장 시스템 KR101474344B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020080067818A KR101474344B1 (ko) 2008-07-11 2008-07-11 캐시 플러시 제어 방법 및 이를 이용한 데이터 저장 시스템
US12/499,835 US8307162B2 (en) 2008-07-11 2009-07-09 Method and apparatus for cache flush control and write re-ordering in a data storage system
JP2009163816A JP5325683B2 (ja) 2008-07-11 2009-07-10 キャッシュフラッシュ制御方法及び装置並びにこれを利用したデータ保存システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020080067818A KR101474344B1 (ko) 2008-07-11 2008-07-11 캐시 플러시 제어 방법 및 이를 이용한 데이터 저장 시스템

Publications (2)

Publication Number Publication Date
KR20100007258A KR20100007258A (ko) 2010-01-22
KR101474344B1 true KR101474344B1 (ko) 2014-12-18

Family

ID=41506158

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080067818A KR101474344B1 (ko) 2008-07-11 2008-07-11 캐시 플러시 제어 방법 및 이를 이용한 데이터 저장 시스템

Country Status (3)

Country Link
US (1) US8307162B2 (ko)
JP (1) JP5325683B2 (ko)
KR (1) KR101474344B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11693589B2 (en) 2020-10-13 2023-07-04 SK Hynix Inc. Storage device using cache buffer and method of operating the same

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589655B2 (en) * 2010-09-15 2013-11-19 Pure Storage, Inc. Scheduling of I/O in an SSD environment
US8661193B1 (en) 2010-10-29 2014-02-25 Western Digital Technologies, Inc. Disk drive with partial sector management
US8578100B1 (en) 2010-11-08 2013-11-05 Western Digital Technologies, Inc. Disk drive flushing write data in response to computed flush time
US20120166731A1 (en) * 2010-12-22 2012-06-28 Christian Maciocco Computing platform power management with adaptive cache flush
US8654619B1 (en) 2011-09-29 2014-02-18 Western Digital Technologies, Inc. Method and apparatus for operating a disk drive
US8711509B2 (en) * 2011-10-31 2014-04-29 Lsi Corporation Disk-based storage device having read channel memory that is selectively accessible to disk controller
US9122606B2 (en) * 2011-11-21 2015-09-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for distributing tiered cache processing across multiple processors
US20130242425A1 (en) 2012-03-16 2013-09-19 Toshiba America Electronics Components, Inc. Write reordering in a hybrid disk drive
JP5871700B2 (ja) * 2012-04-10 2016-03-01 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Rdf表現の生成方法、プログラム、及びシステム
CN102662459A (zh) * 2012-04-22 2012-09-12 复旦大学 利用固态硬盘与机械硬盘混合存储减少服务器能源消耗的方法
US9953742B2 (en) 2013-03-15 2018-04-24 General Cable Technologies Corporation Foamed polymer separator for cabling
JP6335616B2 (ja) * 2013-04-30 2018-05-30 株式会社半導体エネルギー研究所 半導体装置
JP6486939B2 (ja) * 2013-09-09 2019-03-20 シーゲイト テクノロジー エルエルシーSeagate Technology LLC 電源管理を使用したモバイルデータ記憶デバイス
EP3152770B1 (en) 2014-06-06 2020-03-25 General Cable Technologies Corporation Foamed polycarbonate separators and cables thereof
US9495102B2 (en) * 2014-07-31 2016-11-15 Samsung Electronics Co., Ltd. Input/output (I/O) interceptor that re-orders a plurality of write I/O into combined with I/O with intelligent flush control logic
KR102364381B1 (ko) * 2015-03-06 2022-02-18 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작방법
CN106527959B (zh) * 2015-09-10 2019-07-26 阿里巴巴集团控股有限公司 刷新磁盘输入输出请求的处理方法及设备
US10387330B1 (en) * 2018-04-30 2019-08-20 Lenovo Enterprise Solutions (Singapore) Pte. Ltd Less recently and frequently used (LRAFU) cache replacement policy
CN109343797B (zh) * 2018-09-25 2021-09-17 郑州云海信息技术有限公司 一种缓存数据的传输方法、系统及相关组件
KR102605566B1 (ko) * 2018-11-22 2023-11-24 에스케이하이닉스 주식회사 메모리 컨트롤러 및 그 동작 방법
US11893277B2 (en) 2020-10-14 2024-02-06 Western Digital Technologies, Inc. Data storage device managing low endurance semiconductor memory write cache
JP2022138388A (ja) * 2021-03-10 2022-09-26 株式会社東芝 磁気ディスク装置及びリオーダリング処理方法
CN113608682B (zh) * 2021-06-30 2023-12-22 济南浪潮数据技术有限公司 一种基于hdd磁盘压力的智能流控方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084252A1 (en) 2001-11-01 2003-05-01 Talagala Nisha D. Disk drive employing adaptive flushing of a write cache
US20080049354A1 (en) 2006-07-31 2008-02-28 Kabushiki Kaisha Toshiba Magnetic disk drive apparatus and method of controlling the same

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1040170A (ja) * 1996-07-26 1998-02-13 Toshiba Corp ディスクキャッシュシステム
US6170042B1 (en) * 1998-02-24 2001-01-02 Seagate Technology Llc Disc drive data storage system and method for dynamically scheduling queued commands
JP4327585B2 (ja) * 2003-12-25 2009-09-09 株式会社東芝 記憶装置
US7472222B2 (en) * 2004-10-12 2008-12-30 Hitachi Global Storage Technologies Netherlands B.V. HDD having both DRAM and flash memory
US7603517B2 (en) * 2005-09-27 2009-10-13 Fujitsu Limited Disk storage device and cache control method for disk storage device
US8244975B2 (en) * 2006-06-30 2012-08-14 Seagate Technology Llc Command queue ordering by flipping active write zones
JP2009181314A (ja) * 2008-01-30 2009-08-13 Toshiba Corp 情報記録装置およびその制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030084252A1 (en) 2001-11-01 2003-05-01 Talagala Nisha D. Disk drive employing adaptive flushing of a write cache
US20080049354A1 (en) 2006-07-31 2008-02-28 Kabushiki Kaisha Toshiba Magnetic disk drive apparatus and method of controlling the same

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11693589B2 (en) 2020-10-13 2023-07-04 SK Hynix Inc. Storage device using cache buffer and method of operating the same

Also Published As

Publication number Publication date
US20100011168A1 (en) 2010-01-14
KR20100007258A (ko) 2010-01-22
US8307162B2 (en) 2012-11-06
JP2010020774A (ja) 2010-01-28
JP5325683B2 (ja) 2013-10-23

Similar Documents

Publication Publication Date Title
KR101474344B1 (ko) 캐시 플러시 제어 방법 및 이를 이용한 데이터 저장 시스템
US8429343B1 (en) Hybrid drive employing non-volatile semiconductor memory to facilitate refreshing disk
KR101517761B1 (ko) 데이터 저장 위치 관리 방법 및 이를 데이터 저장 시스템
US8667248B1 (en) Data storage device using metadata and mapping table to identify valid user data on non-volatile media
KR100801015B1 (ko) 하이브리드 하드 디스크 드라이브와 데이터 저장 방법
KR100699893B1 (ko) 하이브리드 디스크 드라이브 및 하이브리드 디스크드라이브의 데이터 제어방법
JP4675881B2 (ja) 磁気ディスク装置およびその制御方法
US7463441B2 (en) Automatic data update method of data storage system and disk drive using the same
KR101854206B1 (ko) 라이트 방법 및 그 방법을 이용하는 저장 장치
US9268499B1 (en) Hybrid drive migrating high workload data from disk to non-volatile semiconductor memory
JP2005267702A (ja) 磁気ディスク装置及びリフレッシュ方法
KR20120121741A (ko) 데이터 리드 방법 및 이를 적용한 저장 장치
KR101674015B1 (ko) 데이터 저장 매체 액세스 방법과 그와 같은 기능을 갖는 데이터 저장 장치 및 기록 매체
JP2010027134A (ja) 磁気ディスク装置及び同装置におけるデータリフレッシュ方法
KR100594301B1 (ko) 데이터 저장 매체의 기록 밀도 가변 방법 및 이를 이용한 디스크 드라이브
JP2011253578A (ja) 磁気ディスク装置及びデータブロックの書き換え方法
US20120162809A1 (en) Magnetic disk drive and method of accessing a disk in the drive
US8959284B1 (en) Disk drive steering write data to write cache based on workload
US8032699B2 (en) System and method of monitoring data storage activity
JP4919983B2 (ja) データ記憶装置及びデータ記憶装置におけるデータ管理方法
US9058280B1 (en) Hybrid drive migrating data from disk to non-volatile semiconductor memory based on accumulated access time
KR20050081408A (ko) 데이터 저장 시스템에서의 적응적 데이터 액세스 제어방법 및 이를 이용한 디스크 드라이브
US20240105216A1 (en) Magnetic disk device and control method
JP2005189907A (ja) ディスク装置
KR100712536B1 (ko) 하드디스크 드라이브의 최적화된 기록 순서 재배열 방법 및그 장치

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee