KR20070054324A - 캐쉬 버퍼 제어 방법 및 이를 이용한 디스크 드라이브 - Google Patents

캐쉬 버퍼 제어 방법 및 이를 이용한 디스크 드라이브 Download PDF

Info

Publication number
KR20070054324A
KR20070054324A KR1020050112202A KR20050112202A KR20070054324A KR 20070054324 A KR20070054324 A KR 20070054324A KR 1020050112202 A KR1020050112202 A KR 1020050112202A KR 20050112202 A KR20050112202 A KR 20050112202A KR 20070054324 A KR20070054324 A KR 20070054324A
Authority
KR
South Korea
Prior art keywords
cache buffer
read
file
disk
data
Prior art date
Application number
KR1020050112202A
Other languages
English (en)
Other versions
KR100723512B1 (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 KR1020050112202A priority Critical patent/KR100723512B1/ko
Publication of KR20070054324A publication Critical patent/KR20070054324A/ko
Application granted granted Critical
Publication of KR100723512B1 publication Critical patent/KR100723512B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B19/00Driving, starting, stopping record carriers not specifically of filamentary or web form, or of supports therefor; Control thereof; Control of operating function ; Driving both disc and head
    • G11B19/02Control of operating function, e.g. switching from recording to reproducing
    • G11B19/12Control of operating function, e.g. switching from recording to reproducing by sensing distinguishing features of or on records, e.g. diameter end mark
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/329Table of contents on a disc [VTOC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/46Caching storage objects of specific type in disk cache
    • G06F2212/461Sector or disk block
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2562DVDs [digital versatile discs]; Digital video discs; MMCDs; HDCDs

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 캐쉬 버퍼 제어 방법 및 장치에 관한 것으로, 특히 캐쉬 버퍼의 캐쉬 히트될 가능성을 높이기 위한 방법 및 이를 이용한 장치에 관한 것이다.
본 발명에 따른 캐쉬 제어 방법은 데이터 처리 방법에 있어서, (a) 기록매체로부터 읽어낼 파일의 사이즈 정보를 읽어내는 단계; 및 (b) 상기 단계(a)에서 읽어낸 파일의 사이즈 정보 및 캐쉬 버퍼의 저장 용량 정보에 근거하여 캐쉬 버퍼 내부의 메모리 블록 교환의 우선순위를 결정하는 단계를 포함함을 특징으로 한다.

Description

캐쉬 버퍼 제어 방법 및 이를 이용한 디스크 드라이브{Cache buffer control method and disk drive using the same}
도 1은 본 발명이 적용되는 디스크 드라이브의 헤드 디스크 어셈블리의 평면도이다.
도 2는 본 발명에 따른 캐쉬 버퍼 제어 방법이 적용되는 디스크 드라이브의 전기적인 회로 구성도이다.
도 3은 본 발명에 따른 캐쉬 버퍼 제어 방법의 흐름도이다.
본 발명은 캐쉬 버퍼 제어 방법 및 장치에 관한 것으로, 특히 캐쉬 버퍼의 캐쉬 히트될 가능성을 높이기 위한 방법 및 이를 이용한 장치에 관한 것이다.
일반적으로 데이터 처리 시스템에서 중앙처리장치와 주 메모리(또는 기록매체)의 데이터 처리 속도의 차이는 약 100배 이상이며, 이 처리 속도 차이를 캐쉬(Cache) 버퍼가 보완하게 된다.
캐쉬 버퍼는 중앙처리장치가 다음에 요구할 것으로 예상되는 일련의 데이터를 주 메모리로부터 먼저 읽어내어 저장해두는 장치로서 주 메모리에 비해 빠른 액 세스 속도를 가진다.
중앙처리장치는 주 메모리를 액세스하기 전에 캐쉬 버퍼를 먼저 액세스하여 원하는 데이터를 얻게 된다. 이 예상의 적중률이 높게 되면 시스템은 빠른 속도로 동작하게 된다.
일반적인 캐쉬 버퍼 관리 방법으로 LRU(Least Recently Used) 알고리즘을 이용한다. LRU 알고리즘은 캐쉬 버퍼에 저장된 정보 일부를 캐쉬 버퍼 밖으로 내보내야 할 경우가 발생되면, 캐쉬 버퍼에 저장된 정보 중에서 가장 최근에 사용되지 않은 정보를 우선적으로 선택하여 제거시키는 메모리 관리 알고리즘이다. 즉, LRU 알고리즘은 시간 집약성(temporal locality)에 기반을 두고 있다.
그런데, LRU 알고리즘에만 근거하여 캐쉬 버퍼의 내부 메모리 블록 교환의 우선순위를 결정하는 경우에는 캐쉬 히트될 가능성이 낮거나 없는 데이터가 캐쉬 히트될 가능성이 있는 데이터를 대체하여 캐쉬 버퍼의 내부 메모리 블록을 점유하는 문제점이 발생되기도 한다.
본 발명이 이루고자 하는 기술적 과제는 상술한 문제점을 해결하기 위하여 캐쉬 버퍼 사이즈와 저장할 파일의 데이터 사이즈를 고려하여 캐쉬 히트율을 높이도록 캐쉬 버퍼를 관리하기 위한 캐쉬 제어 방법 및 이를 이용한 디스크 드라이브를 제공하는데 있다.
상기 기술적 과제를 달성하기 위하여 본 발명에 따른 캐쉬 제어 방법은 데이 터 처리 방법에 있어서, (a) 기록매체로부터 읽어낼 파일의 사이즈 정보를 읽어내는 단계; 및 (b) 상기 단계(a)에서 읽어낸 파일의 사이즈 정보 및 캐쉬 버퍼의 저장 용량 정보에 근거하여 캐쉬 버퍼 내부의 메모리 블록 교환의 우선순위를 결정하는 단계를 포함함을 특징으로 한다.
상기의 다른 기술적 과제를 달성하기 위하여 본 발명에 따른 디스크 드라이브는 데이터 저장 장치에 있어서, 데이터를 저장하는 디스크; 상기 디스크에서 읽어낸 데이터를 일시적으로 저장하거나, 상기 디스크에 기록할 데이터를 일시적으로 저장하는 캐쉬 버퍼; 및 상기 디스크로부터 읽어낼 파일의 사이즈 및 상기 캐쉬 버퍼의 저장 용량을 고려하여 상기 캐쉬 버퍼 내부의 메모리 블록 교환의 우선순위를 결정하고, 결정된 메모리 블록 교환의 우선순위에 근거하여 상기 디스크에서 읽어낸 파일의 데이터를 상기 캐쉬 버퍼에 저장하도록 제어하는 컨트롤러를 포함함을 특징으로 한다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대하여 상세히 설명하기로 한다.
본 발명에 따른 캐쉬 버퍼 제어 방법이 적용되는 데이터 저장 장치인 하드 디스크 드라이브는 기구적인 부품들로 구성된 HDA(Head Disk Assembly)와 전기 회로의 결합으로 이루어진다.
도 1은 본 발명이 적용되는 하드 디스크 드라이브의 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) 정보들을 포함하여 디스크 드라이브에 관련된 각종 정보들이 저장되며, 사용자가 임의로 액세스할 없는 영역이다. 그리고, 사용자 데이터 영역은 사용자가 데이터를 실질적으로 라이트하거나 리드할 수 있는 영역이다. 디스크(12)의 사용자 데이터 영역은 복수 개의 존(zone)으로 나누어지며, 각 존에는 디펙 섹터를 대체하기 위한 스페어 실린더(spare cylinder)가 할당되어 있다.
도 2는 하드 디스크 드라이브를 제어할 수 있는 전기 시스템을 보여준다. 전기 시스템은 프리 앰프(210), 기록/판독 채널(220), 캐쉬 버퍼(230), 컨트롤러(240), ROM(Read Only Memory; 250A), RAM(Random Access Memory; 250B), 호스트 인터페이스(260) 및 보이스 코일 모터(VCM) 구동부(270)를 포함하고 있다.
컨트롤러(240)는 디지털 신호 프로세서(DSP : Digital Signal Processor), 마이크로프로세서, 마이크로컨트롤러 등이 된다. 컨트롤러(240)는 호스트 인터페이스(260)를 통하여 호스트 기기(도면에 미도시)로부터 수신되는 코멘드(command)에 따라서 디스크(12)로부터 정보를 읽거나 또는 디스크(12)에 정보를 기록하기 위하 여 기록/판독 채널(220)을 제어한다.
그리고, 컨트롤러(240)는 보이스 코일(26)에 구동 전류를 공급하는 VCM 구동부(270)에 또한 결합되어 있다. 컨트롤러(240)는 보이스 코일 모터의 여기 및 변환기(16)의 움직임을 제어하기 위하여 VCM 구동부(270)로 제어신호를 공급한다.
ROM(250A)에는 디스크 드라이브를 제어하는 펌웨어 및 각종 제어 데이터들이 저장되어 있다. 물론 도 3에 도시된 본 발명에 의한 캐쉬 버퍼 제어 방법의 흐름도를 실행시키기 위한 프로그램들도 저장되어 있다.
RAM(250B)에는 디스크 드라이브에 전원이 공급되면 디스크(12)의 메인터넌스 실린더(Maintenance Cylinder) 위치에서 읽어낸 디스크 드라이브에 관련된 각종 정보들이 로딩된다.
우선, 일반적인 디스크 드라이브의 동작을 설명하면 다음과 같다.
데이터 읽기(Read) 모드에서, 디스크 드라이브는 변환기(16)를 디스크(12)의 목표 위치로 이동시킨 후에 디스크(12)로부터 변환기(16)에 의하여 감지된 전기적인 신호를 프리 앰프(210)에서 신호 처리에 용이하도록 증폭시킨다. 그리고 나서, 리드/라이트 채널 회로(220)에서는 컨트롤러(240)에서 생성되는 섹터 펄스에 따라서 디스크(12)로부터 읽어낸 신호를 디지털 신호로 부호화시키고, 스트림 데이터로 변환하여 캐쉬 버퍼(230)에 일시적으로 저장한 후에 호스트 인터페이스(260)를 통하여 호스트 기기(도면에 미도시)로 전송한다.
다음으로 쓰기(Write) 모드에서, 디스크 드라이브는 호스트 인터페이스(260)를 통하여 호스트 기기(도면에 미도시)로부터 기록할 데이터를 입력받아 캐쉬 버퍼 (230)에 일시 저장시킨 후에, 캐쉬 버퍼(230)에서 읽어낸 데이터를 기록/판독 채널(220)에서 디스크(12)의 기록 채널에 적합한 바이너리 데이터 스트림으로 변환시킨 후에, 섹터 펄스가 발생되는 시점에 프리 앰프(210)에 의하여 증폭된 기록 전류로 변환기(16)를 통하여 디스크(12)에 기록시킨다.
본 발명에 따르면, 컨트롤러(240)는 데이터 읽기 명령이 수신되면, 디스크(12)로부터 읽어낼 파일의 사이즈 및 캐쉬 버퍼(230)의 사이즈를 고려하여 캐쉬 버퍼(230) 내부의 메모리 블록 교환의 우선순위를 결정하고, 결정된 메모리 블록 교환의 우선순위에 근거하여 디스크(12)에서 읽어낸 파일의 데이터를 캐쉬 버퍼(230)에 저장하도록 제어한다. 일 예로서, 컨트롤러(240)는 디스크(12)로부터 읽어낼 파일의 사이즈가 캐쉬 버퍼(230)의 저장 용량의 일정 비율(K)을 초과하는 경우에는, 디스크(12)로부터 읽어내는 파일의 데이터를 일시적으로 저장하기 위하여 캐쉬 버퍼(230)를 구성하는 복수의 메모리 블록 중에서 하나의 메모리 블록만을 교환 블록으로 할당하도록 제어하도록 설계할 수 있다. 이 경우에는 파일 데이터가 리드될 때 캐쉬 버퍼(230)에 쌓아두지 않고 바로바로 새로운 데이터에 의하여 지워지게 된다.
그러면, 컨트롤러(240)에 의하여 실행되는 본 발명에 따른 캐쉬 버퍼 제어 방법을 도 3의 흐름도를 참조하여 상세히 설명하기로 한다.
컨트롤러(240)는 호스트 인터페이스(260)를 통하여 호스트 기기로부터 리드(READ) 명령이 수신되는지를 판단한다(S310).
리드 명령이 수신되면, 컨트롤러(240)는 읽어낼 파일 데이터를 액세스하기 전에 디스크(12)로부터 읽어낼 파일에 대한 파일 레코드(File Record) 정보를 읽어낸다(S320). 파일 레코드 정보에는 파일 이름, 파일 생성 날짜, 파일 사이즈 등이 포함되어 있으며, 디스크(12) 상에서 파일 레코드 정보는 파일 데이터 정보와는 다른 영역에 저장되는 것이 일반적이다.
다음으로, 리드 명령에 따라서 파일 데이터 읽기를 수행하며, 디스크(12)를 액세스하여 해당 파일의 데이터를 읽어내기 전에, 읽어낼 파일 데이터가 캐쉬 버퍼(230)에 저장되어 있는지를 판단한다(S330). 즉, 캐쉬 히트(Cache Hit)가 발생되는지를 판단한다.
단계330(S330)의 판단 결과 캐쉬 히트가 발생된 경우에는, 디스크(12)를 액세스하지 않고 바로 캐쉬 버퍼(230)로부터 해당 파일 데이터를 읽어내어 호스트 인터페이스(260)를 통하여 호스트 기기로 전송한다(S340).
만일 단계330(S330)의 판단 결과 캐쉬 히트가 발생되지 않은 경우에는, 디스크(12)를 액세스하여 해당 파일의 데이터를 읽어낸다(S350).
디스크(12)로부터 읽어낸 파일 데이터를 캐쉬 버퍼(230)에 저장하기 전에, 컨트롤러(240)는 단계320(S320)에서 읽어낸 파일 레코드 정보를 참조하여 파일 사이즈가 캐쉬 버퍼(230) 저장 용량의 일정 비율(K)을 초과하는지를 판단한다(S360). 비율 K 값은 하드디스크 드라이브의 사용 용도에 따라 다르게 결정할 수 있으며, 0보다는 크고, 1을 초과하지 않는 범위 내에서 결정한다.
단계360(S360)의 판단 결과 리드 명령에 따라 읽어낼 파일의 사이즈가 캐쉬 버퍼(230) 저장 용량의 일정 비율(K)을 초과하는 경우에는, 단계350(S350)에서 읽 어낸 파일 데이터들을 캐쉬 버퍼(230)를 구성하는 복수의 메모리 블록 중에서 일부 메모리 블록만을 이용하여 저장한다(S370). 일예로서, 캐쉬 버퍼(230)를 구성하는 복수의 메모리 블록 중에서 하나의 메모리 블록만을 교환 블록으로 할당하여 파일 데이터를 저장한다. 이는 디스크(12)로부터 읽어낸 파일 데이터를 쌓아두지 않고, 파일 데이터를 일시적으로 저장하기 위하여 하나의 동일한 메모리 블록만을 이용한다는 의미이다.
즉, 일 예로서 K=1로 설정한 경우에, 파일 데이터 사이즈가 커서 캐쉬 버퍼(230)에 파일 전체를 저장할 수 없다면, 일반적인 캐쉬 버퍼 관리 방법에 따라 캐쉬 버퍼에 파일을 저장하는 경우에는 파일 데이터의 끝부분이 캐쉬 버퍼에 저장되는 순간에는 해당 파일 데이터의 첫 부분은 캐쉬 버퍼(230)에서 지워지게 된다. 따라서, 파일의 첫 부분이 캐쉬 히트(Cache Hit) 되지 않는다면, 결과적으로 이 파일의 어떤 부분도 캐쉬 히트되지 않을 것이다. 본 발명에서는 이를 개선하기 위하여 비교적 큰 사이즈의 파일 데이터를 리드할 때에, 단계370(S370)에서와 같이 캐쉬 버퍼(230)에 쌓아두지 않도록 캐쉬 버퍼(230)의 블록 교환을 제어함으로써, 캐쉬 버퍼(230)에 저장되어 있는 다른 데이터를 보존하여 캐쉬 히트율을 높인다.
그러나, 단계360(S360)의 판단 결과 리드 명령에 따라 읽어낼 파일의 사이즈가 캐쉬 버퍼(230) 저장 용량의 일정 비율(K)을 초과하지 않는 경우에는, 단계350(S350)에서 읽어낸 파일 데이터들을 일반적인 블록 교환 알고리즘인 LRU(Least Recently Used) 알고리즘을 이용하여 캐쉬 버퍼(230)를 구성하는 복수의 메모리 블록의 교환 블록을 결정하여 결정된 교환 블록에 저장한다(S380). LRU 알고리즘은 캐쉬 버퍼(230)에 저장된 데이터 일부를 캐쉬 버퍼 밖으로 내보내야 할 경우가 발생되면, 캐쉬 버퍼에 저장된 데이터 중에서 가장 최근에 사용되지 않은 데이터를 우선적으로 선택하여 제거시키는 메모리 관리 알고리즘이다. 이 경우에는 디스크(12)로부터 읽어낸 하나의 파일 데이터 전체가 캐쉬 버퍼(230)에 저장되게 된다.
이와 같이, 본 발명에서는 디스크에서 읽어내는 파일의 사이즈 크기에 따라서 캐쉬 히트될 가능성이 없거나 매우 낮은 경우에는, 읽어낸 파일 데이터를 캐쉬 버퍼(230)에 쌓아두지 않도록 캐쉬 버퍼(230)의 메모리 블록 교환을 결정하여 캐쉬 히트율을 높이도록 하였다.
본 발명은 방법, 장치, 시스템 등으로서 실행될 수 있다. 소프트웨어로 실행될 때, 본 발명의 구성 수단들은 필연적으로 필요한 작업을 실행하는 코드 세그먼트들이다. 프로그램 또는 코드 세그먼트들은 프로세서 판독 가능 매체에 저장되어 질 수 있으며 또는 전송 매체 또는 통신망에서 반송파와 결합된 컴퓨터 데이터 신호에 의하여 전송될 수 있다. 프로세서 판독 가능 매체는 정보를 저장 또는 전송할 수 있는 어떠한 매체도 포함한다. 프로세서 판독 가능 매체의 예로는 전자 회로, 반도체 메모리 소자, ROM, 플레쉬 메모리, 이레이져블 ROM(EROM : Erasable ROM), 플로피 디스크, 광 디스크, 하드디스크, 광 섬유 매체, 무선 주파수(RF) 망, 등이 있다. 컴퓨터 데이터 신호는 전자 망 채널, 광 섬유, 공기, 전자계, RF 망, 등과 같은 전송 매체 위로 전파될 수 있는 어떠한 신호도 포함된다.
첨부된 도면에 도시되어 설명된 특정의 실시 예들은 단지 본 발명의 예로서 이해되어 지고, 본 발명의 범위를 한정하는 것이 아니며, 본 발명이 속하는 기술 분야에서 본 발명에 기술된 기술적 사상의 범위에서도 다양한 다른 변경이 발생될 수 있으므로, 본 발명은 보여지거나 기술된 특정의 구성 및 배열로 제한되지 않는 것은 자명하다. 즉, 본 발명은 하드디스크 드라이브를 포함하는 각종 디스크 드라이브에 적용될 수 있을 뿐만 아니라, 다양한 종류의 데이터 저장 장치에 적용될 수 있음은 당연한 사실이다.
상술한 바와 같이, 본 발명에 의하면 캐쉬 버퍼 사이즈와 디스크로부터 읽어낼 파일의 데이터 사이즈를 고려하여 캐쉬 버퍼 내부의 메모리 블록 교환의 우선순위를 결정함으로써, 캐쉬 히트될 가능성이 없거나 매우 낮은 큰 사이즈의 파일 데이터가 리드될 때 파일 데이터를 캐쉬 버퍼에 쌓아두지 않도록 캐쉬 버퍼의 블록 교환을 제한하여 캐쉬 히트 율을 높일 수 있는 효과가 발생된다.

Claims (6)

  1. 데이터 처리 방법에 있어서,
    (a) 기록매체로부터 읽어낼 파일의 사이즈 정보를 읽어내는 단계; 및
    (b) 상기 단계(a)에서 읽어낸 파일의 사이즈 정보 및 캐쉬 버퍼의 저장 용량 정보에 근거하여 캐쉬 버퍼 내부의 메모리 블록 교환의 우선순위를 결정하는 단계를 포함함을 특징으로 하는 캐쉬 버퍼 제어 방법.
  2. 제1항에 있어서, 상기 단계(b)는
    (b1) 상기 기록매체로부터 읽어낼 파일의 사이즈가 상기 캐쉬 버퍼의 저장 용량의 일정 비율을 초과하는지를 판단하는 단계; 및
    (b2) 상기 기록매체로부터 읽어낼 파일의 사이즈가 상기 캐쉬 버퍼의 저장 용량의 일정 비율을 초과하는 경우에는 상기 기록매체로부터 읽어내는 파일의 데이터 처리를 위하여 캐쉬 버퍼를 구성하는 복수의 메모리 블록 중에서 일부 메모리 블록만을 한정하여 메모리 블록 교환 우선순위를 결정하는 단계를 포함함을 특징으로 하는 캐쉬 버퍼 제어 방법.
  3. 제2항에 있어서, 상기 단계(b2)는 상기 기록매체로부터 읽어낼 파일의 사이즈가 상기 캐쉬 버퍼 저장 용량의 일정 비율을 초과하는 경우에는, 상기 기록매체로부터 읽어내는 파일의 데이터를 저장하기 위하여 상기 캐쉬 버퍼를 구성하는 복수의 메모리 블록 중에서 하나의 메모리 블록만을 교환 블록으로 할당함을 특징으로 하는 캐쉬 버퍼 제어 방법.
  4. 데이터 저장 장치에 있어서,
    데이터를 저장하는 디스크;
    상기 디스크에서 읽어낸 데이터를 일시적으로 저장하거나, 상기 디스크에 기록할 데이터를 일시적으로 저장하는 캐쉬 버퍼; 및
    상기 디스크로부터 읽어낼 파일의 사이즈 및 상기 캐쉬 버퍼의 저장 용량을 고려하여 상기 캐쉬 버퍼 내부의 메모리 블록 교환의 우선순위를 결정하고, 결정된 메모리 블록 교환의 우선순위에 근거하여 상기 디스크에서 읽어낸 파일의 데이터를 상기 캐쉬 버퍼에 저장하도록 제어하는 컨트롤러를 포함함을 특징으로 하는 디스크 드라이브.
  5. 제4항에 있어서, 상기 컨트롤러는 상기 디스크로부터 읽어낼 파일의 사이즈가 상기 캐쉬 버퍼 저장 용량의 일정 비율을 초과하는 경우에는 상기 디스크로부터 읽어내는 파일의 데이터 처리를 위하여 캐쉬 버퍼를 구성하는 복수의 메모리 블록 중에서 일부 메모리 블록만을 한정하여 메모리 블록 교환 우선순위를 결정함을 특징으로 하는 디스크 드라이브.
  6. 제4항에 있어서, 상기 컨트롤러는 상기 디스크로부터 읽어낼 파일의 사이즈가 상기 캐쉬 버퍼 저장 용량의 일정 비율을 초과하는 경우에는, 상기 디스크로부터 읽어내는 파일의 데이터를 저장하기 위하여 상기 캐쉬 버퍼를 구성하는 복수의 메모리 블록 중에서 하나의 메모리 블록만을 교환 블록으로 할당함을 특징으로 하는 디스크 드라이브.
KR1020050112202A 2005-11-23 2005-11-23 캐쉬 버퍼 제어 방법 및 이를 이용한 디스크 드라이브 KR100723512B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050112202A KR100723512B1 (ko) 2005-11-23 2005-11-23 캐쉬 버퍼 제어 방법 및 이를 이용한 디스크 드라이브

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050112202A KR100723512B1 (ko) 2005-11-23 2005-11-23 캐쉬 버퍼 제어 방법 및 이를 이용한 디스크 드라이브

Publications (2)

Publication Number Publication Date
KR20070054324A true KR20070054324A (ko) 2007-05-29
KR100723512B1 KR100723512B1 (ko) 2007-05-30

Family

ID=38276146

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050112202A KR100723512B1 (ko) 2005-11-23 2005-11-23 캐쉬 버퍼 제어 방법 및 이를 이용한 디스크 드라이브

Country Status (1)

Country Link
KR (1) KR100723512B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2469373A (en) * 2009-03-31 2010-10-13 Intel Corp Using file level heuristics to manage a storage device cache

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05342152A (ja) * 1992-06-04 1993-12-24 Oki Fujiritsuku Syst Kaihatsu:Kk バッファ制御方式
JP2000047942A (ja) 1998-07-28 2000-02-18 Nec Corp キャッシュメモリ制御装置及びその制御方法
WO2001035416A2 (en) * 1999-11-10 2001-05-17 Koninklijke Philips Electronics N.V. Record carrier, device and method for playing back a record carrier, device for recording a record carrier
KR20030053285A (ko) * 2001-12-22 2003-06-28 엘지전자 주식회사 웹 캐쉬 대체 구조 및 방법
KR100496159B1 (ko) 2002-06-29 2005-06-20 주식회사 케이티 유용성 기반의 질의 결과 캐쉬 관리 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2469373A (en) * 2009-03-31 2010-10-13 Intel Corp Using file level heuristics to manage a storage device cache
GB2469373B (en) * 2009-03-31 2011-10-19 Intel Corp Method and system to perform caching based on file-level heuristics
DE102010013389B4 (de) 2009-03-31 2022-11-24 Intel Corporation Verfahren und System zum Durchführen von Caching, basierend auf der Heuristik auf Dateiebene

Also Published As

Publication number Publication date
KR100723512B1 (ko) 2007-05-30

Similar Documents

Publication Publication Date Title
KR100630745B1 (ko) 기록 매체의 데이터 보존 방법 및 이제 적합한 프로그램이기록된 기록 매체
KR100744122B1 (ko) 하이브리드 하드디스크 드라이브의 제어 방법, 이에 적합한기록 매체 그리고 이에 적합한 장치
US7337263B2 (en) Method of varying recording density of data storage medium and disk drive using the method
US8291185B2 (en) Data storing location managing method and data storage system
JP4733400B2 (ja) データ保存システムでの自動データアップデート方法及びそれを利用したディスクドライブ
KR20100007258A (ko) 캐시 플러시 제어 방법 및 이를 이용한 데이터 저장 시스템
US7853761B2 (en) Classifying write commands into groups based on cumulated flush time
JP2008071478A (ja) 故障に関するデータを格納する不揮発性メモリを備えたディスクドライブ
JP2008243269A (ja) ディスク・ドライブ装置及びそのデータの再書き込み方法
JP4240496B2 (ja) アクセス制御のための装置および方法
KR20140040870A (ko) 계층화된 비휘발성 스토리지를 위한 시스템 및 방법
US20060080570A1 (en) Method of recovering reallocation sectors in data storage system and disc drive using the same
US20120162809A1 (en) Magnetic disk drive and method of accessing a disk in the drive
US6556369B1 (en) Disk drive device with a high frequency access method and apparatus
KR100555536B1 (ko) 데이터 저장 시스템에서의 적응적 리트라이 제어 방법 및이를 이용한 디스크 드라이브
KR100723512B1 (ko) 캐쉬 버퍼 제어 방법 및 이를 이용한 디스크 드라이브
KR100594249B1 (ko) 데이터 저장 시스템에서의 적응적 데이터 액세스 제어방법 및 이를 이용한 디스크 드라이브
KR100699880B1 (ko) 데이터 저장 시스템에서의 메인터넌스 실린더의 트랙 디펙관리 방법 및 이를 이용한 디스크 드라이브
KR20070115485A (ko) 캐쉬 버퍼 관리 방법 및 이를 이용한 디스크 드라이브
KR20110036403A (ko) 기록매체의 존 레이아웃 설정 방법과 이를 적용한 데이터 저장 장치 및 저장매체
JP5331670B2 (ja) 磁気ディスク・ドライブ及びそのリフレッシュ・ライト方法
KR100699877B1 (ko) 데이터 저장 시스템에서의 디펙 섹터의 데이터 보존 방법및 이를 이용한 디스크 드라이브
KR100618835B1 (ko) 데이터 저장 시스템에서의 적응적 섹터 재 할당 방법 및이를 이용한 디스크 드라이브
KR20070096081A (ko) 저장매체의 마스터 부트 레코드 복구 방법 및 이를 이용한디스크 드라이브
KR100585165B1 (ko) 데이터 저장 장치 및 데이터 보호 방법

Legal Events

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

Payment date: 20100429

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee