KR100413865B1 - 디스크드라이브에서회전대기시간을감소시키기위한방법 - Google Patents

디스크드라이브에서회전대기시간을감소시키기위한방법 Download PDF

Info

Publication number
KR100413865B1
KR100413865B1 KR1019960017630A KR19960017630A KR100413865B1 KR 100413865 B1 KR100413865 B1 KR 100413865B1 KR 1019960017630 A KR1019960017630 A KR 1019960017630A KR 19960017630 A KR19960017630 A KR 19960017630A KR 100413865 B1 KR100413865 B1 KR 100413865B1
Authority
KR
South Korea
Prior art keywords
search
time
distance
command
instruction
Prior art date
Application number
KR1019960017630A
Other languages
English (en)
Other versions
KR960042678A (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 시게이트 테크놀로지 엘엘씨
Publication of KR960042678A publication Critical patent/KR960042678A/ko
Application granted granted Critical
Publication of KR100413865B1 publication Critical patent/KR100413865B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • 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/20Driving; Starting; Stopping; Control thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • 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
    • 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
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/54Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head into or out of its operative position or across tracks
    • G11B5/55Track change, selection or acquisition by displacement of the head
    • G11B5/5521Track change, selection or acquisition by displacement of the head across disk tracks
    • G11B5/5526Control therefor; circuits, track configurations or relative disposition of servo-information transducers and servo-information tracks for control thereof
    • G11B5/553Details
    • G11B5/5547"Seek" control and circuits therefor
    • 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
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers

Abstract

본 발명은 데이타 복귀 엘리먼트 및 회전 매체를 포함하는 시스템에서 회전 대기시간을 감소시키기 위한 방법이다. 상기 방법은 회전 매체가 복수의 분리각 영역으로 분할되는 것을 필요로 한다. 각 분리각 영역에 대하여, 매체의 단일 회전동안 데이타 복귀 엘리먼트에 의해 횡단될 수 있는 복수의 실린더가 식별된다. 복귀 엘리먼트의 현재 위치를 기초로하여 각 분리각 영역에 회전 대기시간이 할당된다. 명령 대기행렬 어레이는 최소 회전 대기시간을 갖는 분리각 영역에서 실린더 수에 의해 결정되는 실린더 영역내의 위치를 어드레싱하는 명령에 대하여 탐색된다. 최종적으로, 매체의 선택된 부닐각 영역에서 실린더 영역에서의 위치를 어드레싱하는 명령이 실행된다.

Description

디스크 드라이브에서 회전 대기 시간을 감소시키기 위한 방법
본 발명은 회전 디스크 드라이브 메모리 어셈블리 및 탐색 동작에 관한 것으로, 특히, 디스크 드라이브 메모리 어셈블리에서 회전 대기 시간을 감소시키기 위하여 명령 대기 행렬(command queue)을 정렬(sort)하는 방법에 관한 것이다.
회전 디스크 메모리는 스핀들 축 주위로 구동되는 하나 이상의 디스크를 포함한다. 각 디스크는 복수의 동심 트랙을 가지며, 그것의 일면 또는 양면상에서 판독/기입 엘리먼트에 의해 정보가 판독되거나 기입된다. 또한, 각 트랙은 복수의 섹터로 더 분할된다. 트랙 실린더는 디스크 메모리상에 방사상으로 대응하는 트랙에 의해 형성된다. 디스크 드라이브 시스템에서, 디스크는 판독/기입 엘리먼트가 회전 디스크의 표면 위로 "플라이(fly)"하면서 고속으로 회전한다. 판독/기입 엘리먼트는 호스트 컴퓨터로부터 수신된 명령에 따라서 디스크의 특정 영역이나 섹터들 위로 위치설정된다.
SCSI 인터페이스 프로토콜은 호스트 컴퓨터가 디스크 드라이브에 다중 명령을 보내기 위한 메카니즘을 제공한다. 그것은 디스크 드라이브가 명령에 대한 실행의 최적 레벨을 결정하게 한다. 디스크 드라이브를 실행시키는 명령의 세트는 이하 "명령 대기 행렬"이라 한다.
일반적으로, 디스크 드라이브는 여러가지 명령들 사이에서 탐색 시간을 최소화하는 정도로 명령 대기 행렬을 정렬하였다. 탐색 시간은 판독/기입 엘리먼트가 그 위로 위치설정되는 실린더와 특정 명령에 의해 어드레싱되는 실린더 사이에 실린더를 방사상으로 이동시키는데 필요한 시간이다.
그러나, 탐색 시간은 명령의 실제 접근 시간(access time)의 두 가지 성분중 한 성분 만이다. 다른 성분은 디스크 드라이브가 판독/기입 엘리먼트 하에서 회전하기 위하여 적당한 데이타를 대기하는데 소요되는 회전 지연 시간 또는 시간량이다. 회전 대기 시간은 거의 가장 긴 탐색에 대한 전체 접근 시간의 중요한 부분이다. 평균적으로, 회전 대기 시간은 비교적 짧은 탐색에 대한 전체 접근 시간의 우수한 성분이다.
일 세트의 명령에 대한 실행의 최적 레벨을 결정하기 위하여, 간단한 탐색 시간보다는 명령들 사이의 전체 접근 시간을 고려하는 것이 바람직하다. 이상적인 정렬 또는 디스크 스케줄링 알고리즘은 대기 행렬에서 모든 명령의 접근 시간의 합이 최소가 되도록 대기 행렬을 정렬한다. 이것은 대기 행렬의 각각의 가능한 레벨에 대한 접근 시간의 합을 계산하는 것을 수반한다. 그러나, 모든 가능한 레벨에 대한 접근 시간의 계산은 디스크 드라이브와 같은 실시간(real-time) 시스템에서 행하기에는 계산적으로 너무 어렵다. 예를 들면, 일 세트의 10가지 명령에는 3백만개의 가능한 레벨이 있다. 현재의 디스크 드라이브는 명령 대기 행렬에서 64개 이상의 명령까지 가질 수 있다. 또한, 실제 응용에서 명령 대기 행렬은 동적이다. 즉, 새로운 명령은 호스트 컴퓨터로부터 계속해서 수신된다. 그러므로, 이전에 수신된 명령에 대한 실행의 최적 레벨이 종종 변화하여, 재정렬되는 전체 대기 행렬을 필요로 한다.
전술한 이상적인 알고리즘이 비실용적이기 때문에, 디스크 스케줄링의 대체방법이 고안되어 왔다. 이러한 디스크 스케줄링 알고리즘의 일 예로 "회전 위치를 기초로한 디스크 스케줄링 알고리즘"(자콥슨 등 공저, Hewlitt-Packard Laboratories Technical Report, HPL-CSP-91-7, 1991년 2월 26일, 페이지 5-18)에 기재되어 있는 최단 접근 시간 제 1 알고리즘이 있다. 상기 최단 접근 시간 제 1 알고리즘은 현재 명령의 대기 행렬을 주사하고(디스크가 정지상태인 경우) 판독/기입 엘리먼트의 공지된 위치나 현재 명령의 종료시점에서 판독/기입 엘리먼트의 예상된 위치를 제공한 각 명령에 대한 접근 시간을 산정한다. 접근 시간은 각 가능한 탐색 간격에 대한 탐색 시간을 포함하는 정적 어레이를 사용함으로써 산정된다. 주사되어야 할 명령의 수 및 그것에 대하여 산정되어야 할 접근 시간을 감소시키기 위하여, 최단 접근 시간 제1 알고리즘은 디스크를 복수의 빈(bin)으로 분할한다. 명령 대기 행렬에서의 명령은 각 특정 명령에 의해 어드레싱된 위치를 기초로 하여 그룹화된다. 상기 빈은 판독/기입 엘리먼트의 현재 위치에 의해 결정된 레벨로 탐색된다. 판독/기입 엘리먼트의 현재 위치를 기초로하여 탐색되는 빈의 레벨은 미리 계산되어져서 판독/기입 엘리먼트의 위치에 의해 인덱스된 어레이에 저장된다. 빈 레벨 설정의 리스트는 64개 빈으로 분할된 디스크에 대하여 메모리의 약 8 킬로바이트를 필요로 한다.
실행 명령을 선택하기 위하여, 알고리즘은 제 1 층만 빈으로 그룹된 명령의 각각에 대하여 접근 시간을 산정한다. 각 명령에 대한 접근 시간이 산정된 후에, 일반적으로 최단 접근 시간을 갖는 명령이 실행된다. 그러나, 일부 빈은 회전 대기 라인 또는 헤드 궤도(trajectory)의 양측에 실린더를 포함한다. 즉, 일부 빈은 2회전으로만 접근될 수 있는 명령 어드레스만을 포함한다. 제 1 층만 빈이 회전 대기 라인이나 헤드 궤도 외부에 명령 어드레스만을 포함하는 시나리오로 대처하기 위하여, 알고리즘은 부가적으로 임계치(threshold value)가 각각의 빈 또는 셀에 대하여 산정 및 저장되는 것을 필요로 한다. 임계치는 명령이 실행되어 질수도 있는 최대 가능 접근 시간을 나타낸다. 접근 시간이 주사될 특정 빈 내의 각각 그리고 모든 명령 위치에 대하여 산정된 후에, 모든 명령들의 최대 또는 최소 접근 시간은 임계치와 비교된다. 모든 명령들의 최대 접근 시간이 임계치 아래이면, 최저 접근 시간을 갖는 명령이 실행된다. 그러나, 빈 내의 모든 명령 어드레스들의 최대 접근 시간이 임계치보다 크면, 알고리즘은 모든 명령을 주사하고 다음 층만 빈에서 모든 명령들에 대한 접근 시간을 산정하는 것에 의해 반복된다. 최단 접근 시간 제1 알고리즘이 명령들 사이의 탐색 시간을 단지 최소화하는 정렬 알고리즘을 개선한 것이라 할지라도, 최단 접근 시간 제1 알고리즘은 여러가지 결점을 갖는다. 첫째로, 최단 접근 시간 제1 방법은 디스크상에 군집된 위치를 어드레싱하는 명령을 위한 시간 소모 방식이다. 여러가지 시스템의 동작에 있어서, 명령 대기 행렬은 어느 한 순간에 디스크의 특정 영역에 군집된 위치를 어드레싱하는 일 세트의 명령을 포함한다. 그 결과, 단일 빈은 대다수의 명령 어드레스를 포함한다. 최단 접근 시간 제1 알고리즘은 접근 시간이 특정 빈 내에 각각 그리고 모든 명령 어드레스에 대하여 계산되는 것을 필요로 하기 때문에, 알고리즘은 대다수의 명령을 위하여 군집된 어드레스를 포함하는 빈에 대한 시간 소모이다.
둘째로, 최단 접근 시간 제1 알고리즘은 상당량의 메모리를 필요로 한다. 전술한 바와 같이, 최단 접근 시간 제1 알고리즘은 각 가능한 개시 빈에 대한 빈 탐색 레벨을 리스트하는 판독/기입 엘리먼트의 위치에 의해 인덱스된 어레이를 필요로 한다. 또한, 상기 알고리즘은 각 빈에 대한 임계치를 포함하는 어레이를 필요로 한다. 어레이에 필요한 8 킬로바이트의 메모리는 일부 디스크 드라이브상에 이용가능한 메모리의 양과 상당히 비교된다.
본 발명은 데이타 검색 엘리먼트와 회전 매체를 포함하는 시스템에서 회전 대기 시간을 감소하기 위한 방법이다. 상기 방법은 회전 매체가 복수의 분리각 영역으로 분할되는 것을 필요로 한다. 각 분리각 영역에 대하여, 매체의 단일 회전 동안에 데이타 검색 엘리먼트에 의해 횡단될 수 있는 복수의 실린더가 식별된다. 검색 엘리먼트의 현재 위치를 기초로하여 각 분리각 영역에 회전 대기 시간이 할당된다. 명령 대기 행렬 어레이는 최소 회전 대기 시간을 갖는 분리각 영역에서 실린더의 영역내에 위치를 어드레싱하는 명령에 대하여 탐색된다. 마지막으로, 매체의 선택된 환상 영역에서 실린더 영역에 위치를 어드레싱하는 명령이 실행된다.
이하, 도면을 참조하여 본 발명을 상세히 설명한다.
제 1 도는 회전 디스크(10) 및 판독/기입 엘리먼트(12)의 평면도이다. 제1도에서 도시된 바와 같이, 디스크(10)는 시계 반대 방향으로 회전한다. 판독/기입 엘리먼트(12)는 위치 X1에 위치설정되어 있으며 디스크(10) 회전과 관련하여 시계방향으로 이동한다. 실린더 경로(14)(점선으로 표시된 부분)는 그 위로 판독/기입 엘리먼트(12)가 위치되는 실린더 또는 현재의 트랙이다. 최대 탐색 영역(16)(빗금친 영역부분)은 디스크(10)가 현재 위치 X1으로부터 거의 완전히 일회전 하는데 필요한 시간동안 실린더 경로(14)의 일측상에서 판독/기입 엘리먼트(12)에 의해 횡단될 수 있는 실린더의 최대 영역이다. 탐색 영역(16)은 판독/기입 엘리먼트(12)의 현재 위치로부터 선택된 각도 간격에서 실린더 경로(14)의 일측상에 접근될 수 있는 실린더의 최대수를 한정하는 반경 길이(18)를 갖는다. 따라서, 탐색 영역(16)은 디스크(10)의 거의 완전한 회전 동안 판독/기입 엘리먼트(12)에 의해 접근될 수 있는 디스크의 최대 영역을 나타낸다. 예를 들면, 판독/기입 엘리먼트(12)는 디스크(10)가 일회전을 완료하는데 필요한 시간 동안에 전체 200 실린더를 횡단시킬 수 있다. 특히, 디스크(10)가 일회전을 완료하는데 필요한 시간 동안, 점 X1으로부터 시작하여, 판독/기입 엘리먼트(12)는 200 실린더를 횡단시킬 수 있다. 점 X1에서, 빗금친 영역(14)은 디스크(10)가 판독/기입 엘리먼트(12)아래의 점 X1에서 회전하기 위하여 극소량의 시간을 필요로 하기 때문에 아주 작다. 이러한 극소량의 시간동안, 판독/기입 엘리먼트(12)는 어느 한 방향으로 극소수의 실린더만을 횡단시킬 수 있다. 그러나, 점 X2에서, 디스크(10)가 거의 반회전을 완료하는데 필요한 시간이 지나간다. 판독/기입 엘리먼트(12)가 상기 시간 동안에 횡단시킬 수 있는 실린더의 수는 대략 100 실린더이다. 상응하게, 점 X2에서 최대 탐색 영역(16)의 반경 길이(18)는 점 X1에서 최대 탐색 영역(16)의 반경 길이(18)에 비하여 상당히 증가한다. 점 X3에서, 디스크(10)가 거의 완전히 회전하는데 필요한 시간이 지나간다. 보다 많은 시간동안, 판독/기입 엘리먼트(12)는 실린더 경로(14)의 일측상에 대다수의 실린더들도 횡단시킬 수 있다. 따라서, 점 X3에 바로 인접한 최대 탐색 영역(16)의 반경 길이(18)는 일회전으로 횡단될 수 있는 최대수의 실린더를 나타낸다(대략 200 실린더).
본 발명은 명령에 접근하는데 필요한 시간을 실질적으로 최소화하기 위하여 명령 대기 행렬 어레이에서 명령을 정렬하거나 스케줄링하기 위한 방법이다. 상기 방법은 판독/기입 엘리먼트(12)의 현재 위치로부터 최소 회전 대기 시간을 갖는 영역과 탐색 영역(16) 내에 위치를 어드레싱하는 명령 대기 행렬 어레이로부터 명령을 식별함으로써 시스템에 대한 명령 접근 시간을 최소화한다. 만약 상기 방법이 탐색 영역(16)내에 위치를 어드레싱하는 명령 대기 행렬에서 명령을 검색하지 못할 경우, 탐색 영역(16)은 디스크(10)의 부가적인 회전 동안에 판독/기입 엘리먼트(12)에 의해 부가적으로 횡단될 수 있는 실린더 수에 의해 반복적으로 확장된다. 탐색 영역(16)은 현재의 탐색 영역 내에 위치를 어드레싱하는 명령이 식별되어 실행될 때 까지 반복적으로 팽창된다. 제 2 도 및 제 3 도는 본 발명의 방법을 도시한다.
제 2 도 및 제 3 도는 회전 디스크(10)를 분리각 영역으로 모델링하거나 분할하는 방법을 도시한다. 제 2 도는 판독/기입 엘리먼트(12)의 현재 위치 또는 예상된 위치를 기초로하여 서로 방사상으로 간격져 있으며 가변 경계를 갖는 각도 영역으로 디스크(10)를 분할하는 방법을 도시한다. 제 3 도는 고정된 경계를 갖는 분리각 영역으로 분할된 디스크(10)를 도시한다. 제 2 도 및 제 3 도는 각도 영역으로 분할된 디스크(10)를 도시한다. 인지될 수 있는 바와 같이, 디스크(10)는 어떤 바람직한 수의 각도 영역으로 분할될 수 있다. 예를 들면, 디스크(10)는 회전 위치의 증가된 회전을 제공하기 위하여 250개의 각도 영역으로 분할될 수 있다.
제 2 도는 가변 경계 라인(22A-22J)에 의해 분리된 분리각 영역(20A-20J)으로 분할된 디스크(10)를 도시한다. 상기 분리각 영역(20A-20J)은 판독/기입 엘리먼트(12)의 현재 위치를 기초로하여 한정된다. 특히, 분리각 영역(20A-20J)을 분할하는 경계 라인(22A)은 항상 판독/기입 엘리먼트(12)의 현재 분리각 영역 위치에 대하여 반시계 방향으로 연장하도록 한정된다. 경계 라인(22A) 및 나머지 경계 라인(22B-22J)은 판독/기입 엘리먼트(12)의 가변 위치를 기초로하는 위치에서 변화한다. 따라서, 분리각 영역(20A)은 판독/기입 엘리먼트(12)의 현재 위치 아래에 놓여지도록 한정된다. 나머지 분리각 영역(20B-20J)은 그것으로부터 간격져 있다. 분리각 영역(20A-20J) 및 그 각각의 경계(22A-22J)는 판독/기입 엘리먼트(12)의 각도 재위치설정과 함께 회전한다.
제 3 도는 고정된 경계 라인(42A-42J)에 의해 분리각 영역(40A-40J)으로 분할된 디스크(10)를 도시한다. 판독/기입 엘리먼트(12)의 현재 위치를 기초로하여 분리각 영역(20A-20J)의 경계(22)를 한정하는 제 2 도에 도시된 방법에 대조하여, 제 3 도에 도시된 본 방법은 디스크(10)의 표면상에 분리각 영역(40A-40J)의 경계(42)를 영구적으로 한정한다. 명령 대기 행렬을 정렬하기 위하여, 명령 어드레스는 실린더, 헤드 및 분리각 영역 어드레스로 전환된다. 분리각 영역은 기록 영역에 관계없이 모든 어드레스에 대한 측정의 명령 시스템을 제공한다.
제 2 도 및 3 도에 더 도시된 바와 같이, 상대각 영역 번호, N=0 내지 9,는 판독/기입 엘리먼트(12)에 대한 영역의 상대 위치를 기초로하여 분리각 영역(20A-20J, 40A-40J)에 할당된다. 특히, 판독/기입 엘리먼트(12)를 포함하는 특정 영역은 상대각 영역 번호 N=0를 할당한다. 각 시계방향의 연속적인 각도 영역은 N=1 내지 N=9로부터 연속적으로 수치설정된다. 상대각 영역 번호 N는 항상 모듈로(modulo) X로 처리되며, 여기서 X는 각도 영역 번호이다. 예를 들면, 각도 영역 N=9에서 각도 영역 N=2 까지의 회전 위치의 차는 3 이다.
디스크(10)가 제2도 및 3도에 도시된 바와 같이 분리각 영역으로 분할되면, 회전 대기 시간은 디스크(10)를 영역으로 분할하는데 사용되는 특정 방법 및 각 특정 영역의 상대각 영역 번호를 기초로하여 각 분리각 영역에 할당된다. 설명의 목적으로, 이 회전 대기 시간은 디스크가 일회전을 완료하는데 필요한 시간의 분수로서 기술된다. 디스크(10)가 제 2도에 도시되어 있는 바와 같이 가변 경계 라인을 갖는 분리각 영역으로 분할되는 경우, 판독/기입 엘리먼트(12)는 상대각 영역 번호 N=1(영역 20B)를 갖는 분리각 영역 및 경계 라인(22B)에 이르기 전에 적어도 대략 하나의 분리각 영역(회전의 1/10)을 횡단시켜야 한다. 유사하게, 판독/기입 엘리먼트(12)는 상대각 영역번호 N=2를 갖는 분리각 영역과 경계 라인(22C)에 이르기 전에 적어도 대략 두 개의 각도 영역(회전의 2/10)을 횡단시켜야 한다. 그러므로, 각 분리각 영역(20A-20J)은 회전의 N/10의 회전 대기값이 할당된다. 상대각 영역수 N를 갖는 분리각 영역에 대하여, 디스크(10)는 판독/기입 엘리먼트(12)가 경계라인(22J)을 횡단하기 전에 완전한 일회전을 회전하여야 한다. 그러므로, 상대각 영역 번호 0를 갖는 분리각 영역은 디스크(10)의 완전한 일회전의 회전 대기 시간을 갖는다.
디스크(10)가 제 3 도에 도시한 바와 같이 고정된 경계 라인을 갖는 분리각 영역으로 분할되는 경우, 판독/기입(12) 엘리먼트는 특정 각도 영역의 시계방향 및 시계반대방향 사이의 어느곳에든지 위치될 수 있다. 판독/기입 엘리먼트(12)의 위치가 특정 분리각 영역의 시계방향 경계에 이르면, 그다음 인접한 시계방향 영역(각도 영역번호 N=1)의 회전 대기 시간은 0에 접근한다. 이와같이 변하는 회전 대기 시간을 카운트하기 위하여, 각 분리각 영역에는 특정 분리각 영역을 판독/기입 엘리먼트(12) 아래로 회전시키는데 필요한 최소 회전 대기 시간이 할당된다. 그러므로, 각 분리각 영역번호에는 회전의 (N-1)/10의 최소 회전 대기 시간이 할당되며, 여기서 N은 분리각 영역의 상대각 영역번호이다. N=0의 상대각 영역번호를 갖는 분리각 영역은 디스크(10)를 회전의 최소 9/10 회전시키는데 필요하며 회전의 9/10의 회전 대기 시간이 할당된다. 그러므로, N=1의 상대각 영역 번호를 갖는 분리각 영역은 디스크(10)를 완전 회전시키는데 필요한 시간중 회전 대기 시간이 할당된다.
각 분리각 영역에 할당된 회전 대기시간을 기초로하여, 제한 기준(limiting criterion)은 제1도에서 도시한 탐색 영역(16)내에 명령 어드레스를 어드레싱하는 명령 대기 행렬 어레이내의 명령을 식별하기 위하여 각 분리각 영역에 할당된다. 제한 기준은 실행될 다음 명령을 선택하는데 사용되며 여러가지 매개변수중 어느 하나에 의해 한정될 수도 있다. 예를 들면, 제한기준은 판독/기입 엘리먼트(12)가특정 분리각 영역의 할당된 회전 대기 시간동안 횡단될 수 있는 복수의 실린더에 의해 한정될 수도 있다. 이 실린더 영역이나 탐색 영역이 각 분리각 영역의 할당된 회전 대기시간을 사용하여 각 분리각 영역에 대하여 산정되면, 상기 방법은 최소 회전 대기시간을 갖는 분리각 영역에서 실린더 영역내에 명령 어드레스를 갖는 명령에 대하여 명령 대기행렬 어레이를 탐색할 필요가 있다.
제 2도 및 제 3도는 명령 대기행렬 어레이로부터 실행될 명령을 선택하기 위한 제한 기준으로서 실린더 영역이나 탐색 영역의 사용을 설명한다. 제 2도 및 제 3도에 의해 도시된 바와 같이, 각 분리각 영역은 영역의 특정 회전 대기시간을 기초로하여 (빗금친 영역으로 나타난) 실린더 영역(24A-24J)을 할당한다. 상기 실린더 영역(24A-24J)은 판독/기입 엘리먼트(12)의 현재 또는 예상 실린더 경로(14) 주위를 방사상으로 센터링한다. 제 2도 및 제 3도에 도시된 바와 같이, 실린더 영역(24A-24J)은 상대각 영역수 N 의 할당과 연합하여 회전하며 판독/기입 엘리먼트(12)의 현재 각 및 방사상 위치를 기초로하여 내부 및 외부로 방사상으로 이동되는 템플레이트(template)를 집합적으로 형성한다.
각 실린더 영역(24A-24J)은 디스크(10)의 단일 회전동안 판독/기입 엘리먼트(12)에 의해 횡단될 수 있는 가장 적은수의 실린더를 나타내는 반경 길이(28)를 갖는다. 특히, 각 실린더 영역(24A-24J)의 반경 길이(28)는 특정 분리각 영역(20A-20J),(40A-40J)의 시계반대방향 경계를 판독/기입 엘리먼트 아래로 회전시키는데 필요한 최소 시간 동안 초기 실린더 경로(14)의 일측상에 판독/기입 엘리먼트(12)에 의해 횡단될 수도 있는 대응 분리각 영역(20A-20J),(40A-40J)내에 복수의 실린더를 나타낸다. 너무 넓은 실린더 영역에 의해 초래된 회전 손실의 충격이 너무 좁은 실린더 영역에 의해 초래된 대기행렬의 정렬 기회 손실의 충격보다 더 크기 때문에, 각 실린더 영역(24A-24J)의 반경 길이(28)는 일정하며 제1도에 도시한 탐색 영역(16)의 대응 반경 길이(18)보다 더 짧다. 각 실린더 영역(24)의 반경 길이(28)는 특정 상대각 영역을 판독/기입 엘리먼트(12) 바로 아래로 회전하는데 필요한 시간(즉, 영역의 회전 대기시간) 동안 판독/기입 엘리먼트(12)에 의해 횡단될 수 있는 최대수의 실린더를 갖는 룩-업 테이블 또는 탐색 영역 어레이에 의해 제공되는 것이 바람직하다.
명령 대기 행렬 어레이에서 명령에 대한 접근시간을 최소화하기 위하여, 상기 방법은 최소 회전 대기 시간을 갖는 분리각 영역과 연합하는 실린더 영역(24)내에 명령 어드레스를 갖는 명령에 대한 명령 대기행렬 어레이를 탐색한다. 최소 회전 대기시간을 갖는 분리각 영역의 연합한 실린더 영역내에 명령 어드레스를 위치시키기 위하여, 분리각 영역(20A-20J)은 최소 회전 대기시간을 갖는 영역에서 시작하는 상승 레벨에서 탐색하는 것이 바람직하다. 명령이 탐색될 현재 분리각 영역에 대하여 식별되지 않을 경우, 상기 방법은 다음 연속적인 분리각 영역을 탐색함으로써 계속된다. 탐색은 최대 탐색 영역을 갖는 영역이 탐색될 때까지 영역마다 계속된다. 실린더 영역(24A-24J)중 한 영역내에 명령 어드레스를 갖는 영역에 대하여 아무런 명령도 식별되지 않을 경우, 실린더 영역(24A-24J)의 반경 길이(28)는 판독/기입 엘리먼트(12)가 디스크(10)의 부가적인 회전 동안 부가적으로 횡단될 수도 있는 복수의 실린더에 의해 증대된다. 각 실린더 영역(24A-24J)이 증대된 후에,상기 방법은 최소 회전 대기시간을 갖는 분리각 영역의 실린더 영역내에 명령 어드레스를 갖는 명령에 대하여 명령 대기 행렬 어레이를 다시 한번 탐색한다. 각 탐색 영역은 최소 회전 대기 시간을 갖는 분리각 영역의 실린더 영역내에 명령 어드레스를 갖는 명령이 검색되어 실행될 때까지 판독/기입 엘리먼트(12)가 디스크(10)의 부가적인 회전동안 횡단될 수 있는 복수의 실린더에 의해 증대된다.
제 4도는 제한 기준으로서 탐색 영역을 사용하는 본 발명의 방법의 단계의 흐름도이다. 단계50에서, 탐색 영역 어레이가 설정된다. 탐색 영역 어레이는 일회전의 10분의1을 단위로하는 시간에 따라 인덱스된다. 어레이의 각 엘리먼트는 엘리먼트에 대응하는 시간의 양으로 횡단될 수 있는 실린더수를 포함한다. 예를 들면, 탐색 영역 [3]=100 은 탐색가 일회전의 3/10으로 100 실린더를 횡단할 수 있다는 것을 의미한다.
초기에, 회전 영역 변수 RR, 영역 변수 N, 및 명령 변수인 인덱스가 단계 52에서 제로로 초기설정된다. 회전 영역 변수 RR은 명령 위치의 접근을 위하여 완료되어야 하는 회전수를 식별한다. 영역변수 N은 명령 어드레스를 위하여 탐색되는 특정 영역을 식별하는데 사용된다. 명령 변수인 인덱스는 평가될 명령 대기 행렬로부터 특정 명령을 식별한다. 회전 영역 변수 RR은 매체의 단일 회전동안 판독/기입 엘리먼트에 의해 횡단될 수 있는 복수의 실린더내에 위치를 어드레싱하는 명령이 검색되지 않을 경우 단계 62에서 증대된다. 탐색 영역(N) 및 회전 영역 변수 RR의 합은 단계 72에서 실행을 위한 명령 대기 행렬 어레이로부터 명령을 선택하기 위한 제한 기준을 제공한다.
단계 54에서, 상기 방법은 명령 대기행렬이 비어있는 경우를 결정한다. 대기 행렬이 비어있는 한, 어떠한 동작도 취해지지 않는다. 그러나, 명령은 언제라도 명령 대기행렬에 부가될 수 있다는 것을 주지해야 한다.
단계 56에서, 상기 매체는 판독/기입 엘리먼트(12)의 현재 위치를 기초로하여 변화하는 경계 라인을 갖는 분리각 영역으로 분할된다. 각 분리각 영역은 판독/기입 엘리먼트의 현재 또는 에상 위치를 기초로하여 상대각 영역 번호 N=0 내지 N=9로 할당된다. 상대각 영역 번호 N=0은 그 시계반대방향 경계의 바로 내부에 판독/기입 엘리먼트를 포함하는 영역에 할당된다. 연속적인 각 영역은 상대각 영역 번호 N=1 내지 N=9로 할당된다. 영역 번호 N=1에서 시작하여 N=0에서 끝나면, 각 분리각 영역의 회전 대기시간은 영역수가 증가하게 되면 증가한다.
단계 58에서, 명령 대기행렬이 비어있지 않으면, 상기 방법은 상대각 영역 번호N을 갖는 각 영역을 목표설정 하기 위한 증대N이다.
단계 60에서, 상기 방법은 각 분리각 영역이 탐색되었는지를 결정한다. 이 예에 있어서, N=11일 경우, 각 분리각 영역(20A-20J)이 탐색되었다. 각 영역이 탐색되지 않으면, 상기 방법은 각 영역에 대하여 계속된다.
각 분리각 영역이 탐색된 경우(N=11), 상기 방법은 판독/기입 엘리먼트(12)가 매체의 부가적인 완전 일회전동안 횡단시킬 수 있는 실린더 수에 의해 단계 62에서 변수 RR이 증대된다. 각 탐색 영역(N)의 증대시에, 상기 방법은 단계 58에서 각 영역 N=1을 다시 탐색하기 위하여 N=0에 리세트된다. 결론적으로, 상기 방법은 명령이 최소 회전 대기시간을 갖는 분리각 영역의 탐색 영역내에서 식별될 때까지단계 72에서 실행을 위한 명령을 선택하는데 사용되는 제한 기준을 반복적으로 증대시킨다.
단계 66에서, 인덱스는 명령 대기 행렬(인덱스)의 제1 명령에 접근하기 위해 증대된다. 명령 대기행렬(인덱스)은 명령 대기 행렬내에 각 명령을 포함하는 어레이다. 그러므로, 명령 대기행렬[1]은 대기행렬에서 제1명령이며, 명령 대기행렬[2]는 제2 명령이다.
단계 68에서, 상기 방법은 특정 영역(20)의 탐색 영역(24)내의 위치를 어드레싱하는 것을 결정하기 위하여 모든 명령을 체크하는지의 여부를 결정한다. 이것은 인덱스 수가 명령수보다 더 큰 경우를 결정함으로써 달성된다. 인덱스 수가 명령수보다 크지 않으면, 상기 방법은 단계 70으로 진행한다. 인덱스 수가 대기행렬된 명령의 수보다 크면, 상기 방법은 하나씩 증분 N에 대하여 단계 5B로 복귀함으로써 다음 연속적인 시계방향 각 영역(20)을 목표설정한다.
단계 70에서, 상기 방법은 명령 대기행렬(인덱스)의 논리 블록 어드레스가 최소 회전 대기시간을 갖는 다음 시계방향의 인접 영역내에 위치되는지의 여부를 결정한다. 매체는 판독/기입 엘리먼트의 "현재 위치"를 기초로 하여 변화하는 경계를 갖는 분리각 영역으로 분할되기 때문에, 최소 회전 대기 시간을 갖는 다음 시계방향 영역은 영역N 모듈로 10이다. 그러므로, 상기 방법은 명령 대기행렬(인덱스)의 논리 블록 어드레스가 영역 N 모듈로 10내에 위치되는지의 여부를 결정한다. 선택적으로, 매체가 판독/기입 엘리먼트(12)의 현재 위치에 관계없이 고정된 경계를 갖는 분리각 영역으로 분할되면, 단계 70은 선택적으로 명령 대기행렬(인덱스)의논리 블록 어드레스가 영역 (N+1) 모둘로(10)내에 위치되는지의 여부를 결정한다.
명령 대기행렬(인덱스)의 논리 블록 어드레스가 각 영역 N 모듈로 10를 한정하는 매개변수내에 떨어지면, "탐색 간격"으로서 다르게 알려진 "실린더 델타"는 단계 71에서 계산된다. 실린더 델타는 판독/기입 엘리먼트의 현재 위치로부터 명령 대기 행렬(인덱스)의 개시 실린더까지의 수이다. 단계 70에서, 명령 대기 행렬(인덱스)의 논리 블록 어드레스가 영역 N 모듈로 10내에 있지 않은 것이 결정되면, 공정은 명령 대기행렬에서 다음 명령에 접근하기 위하여 인덱스 수를 증대시키고자 단계 66으로 복귀한다.
단계 72에서, 상기 방법은 실린더 델타가 영역 N 모듈로 10의 탐색 영역과 카운터 변수 PR 의 합보다 작거나 같은지를 결정한다. 단계 72에서, 실린더 델타가 특정 각 영역의 탐색 영역(24)보다 큰 것을 결정할 경우, 공정은 명령 대기행렬에서 다음 명령에 접근하기 위하여 인덱스 지수를 증대시키고자 단계 66으로 복귀한다.
실린더 델타가 영역 N 모듈로 10 및 변수 PR의 실린더 영역내에 있는 것이 결정되면, 단계 73은 명령 대기행렬(인덱스)의 실행을 필요로 한다. 명령의 실행시에, 판독/기입 엘리먼트의 현재 위치는 블록 74로 지시된 바와 같이 바로 실행된 명령(즉, 명령 대기행렬 [1])의 최종 논리 블록 어드레스(LBA)의 물리적 위치이다. 단계 75에서, 명령 대기행렬(인덱스)은 명령 대기행렬 어레이로부터 제거된다.
명령이 실행되어 단계 73 및 75에서 명령 대기행렬로부터 제거되면, 공정은 단계 52로 복귀하며, 그것에 의해 N, 인덱스 및 RR은 리세트되거나 제로로 다시 초기화된다. 공정은 제한 기준을 충족하는 현재 명령 대기행렬 어레이로부터 명령을 선택하기 위하여 스스로 다시한번 반복한다. 그러나, "현재 위치"가 단계 73에서 실행된 명령의 최종 논리 블록 어드레스의 물리적 위치이기 때문에, 각 영역 N=0 내지 N=9는 판독/기입 엘리먼트의 지금 "현재 위치"를 기초로한 영역이나 지금 물리적 위치에 단계 56에서 재할당된다. 각 영역 N=0 내지 N=9는 판독/기입 엘리먼트의 "현재 위치"를 기초로하여 변화하기 때문에, 각 각도 영역 N=0 내지 N=9에 할당된 탐색영역을 포함하는, 단계 50에서 구성된 탐색 영역 어레이는 단계 56에서 영역 N=0 내지 N=9 의 재할당으로 회전하는 템플레이트로서 작용한다. 그러므로, 현 방법은 실행을 위한 명령 대기행렬 어레이로부터 명령을 최적으로 선택하기 위한 계산 시간 및 보다 작은 메모리를 필요로 한다.
탐색 영역이나 실린더 영역의 형태로 제한 기준을 한정하는 것에 대체하여, 상기 방법은 시간의 단위로 제한 기준을 한정할 수도 있다. 판독/기입 엘리먼트(12)가 특정 분리각 영역의 회전 대기시간동안 횡단될 수 있는 실린더 영역이나 탐색 영역을 산정하는 것보다는, 상기 방법은 실행을 위한 명령을 식별하기 위하여 분리각 영역의 회전 대기시간을 직접 사용한다. 그러나, 각 명령의 특정 탐색 간격(즉, 판독/기입 엘리먼트(12)의 현재 실린더 경로와 명령 어드레스의 실린더 경로 사이의 실린더 간격)은 먼저 식별되고 분리각 영역의 회전 대기시간과의 비교를 위한 대응 탐색 시간을 평가하기 위하여 사용된다. 그 결과, 이 방법은 탐색 시간이 명령 대기행렬 어레이내에 각 명령에 대하여 평가되는 것을 필요로 한다.
명령 어드레스가 특정 분리각 영역을 판독/기입 엘리먼트(12) 밑으로 회전시키는데 필요한 시간동안 실제로 감소될 수도 있는 것을 보장하기 위하여 탐색 영역을 감소시키는 방법에서와 같이, 본 방법은 명령 어드레스가 상기 어드레스를 포함하는 특정 분리각 영역을 판독/기입 엘리먼트 밑으로 회전시키는데 필요한 시간동안 접근될 수 있는 것을 보장한다. 선택적으로, 각 분리각 영역의 회전 대기 시간은 동일한 보장을 위하여 하향 조절될 수도 있다.
제 5 도는 디스크에 대한 탐색 시간 대 탐색 간격을 나타내는 그래프이다. 그래프에 의해 도시된 바와 같이, 탐색 시간과 탐색 간격 사이의 관계는 짧은 시간 간격에 대하여 비선형(비선형부(76) 참조)이며, 긴 시간간격에 대해서는 선형이다. 그 결과, 2차방정식과 같은 방정식은 짧은 탐색을 아주 잘 모델링하지 않는다. 더구나, 탐색 간격에 대한 탐색 시간을 평가하기 위하여 2차방정식을 산정하는데 필요한 계산 시간은 중요하다. 디스크 스케줄링 방법은 명령 대기행렬로부터 복수의 명령에 대한 탐색 시간을 계산함으로써 현재 명령의 접근 시간동안 실행하기 위해 다음 명령을 선택해야 하기 때문에, 실행하는데 최적의 명령을 선택하기 위하여 디스크 스케줄링 방법에 사용가능한 시간은 제한된다. 그러므로, 2차 방정식의 사용은 제한된 시간내에 명령을 선택하기에 아주 충분하지는 않다.
대조적으로, 탐색 시간 어레이 또는 룩업 테이블은 짧은 탐색를 아주 잘 모델링하며 약간의 계산 시간을 필요로 한다. 탐색 시간 어레이는 예비 선택된 복수의 탐색 간격에 대하여 판독/기입 엘리먼트(12)가 탐색 간격을 횡단하는데 필요한 대응하게 평가된 탐색 시간을 포함하는 어레이 또는 테이블이다. 예를 들면, 엔트리 넘버 1은 판독/기입 엘리먼트(12)가 하나의 실린더의 탐색 간격을 횡단하는데 필요한 예상 탐색 시간 주기를 지시한다. 엔트리 넘버 2는 판독/기입 엘리먼트(12)가 두 개의 실린더의 탐색 간격을 횡단하는데 필요한 예상 탐색 시간 주기를 지시한다.
그러나, 각 가능한 탐색 간격에 대한 어레이 또는 룩업 테이블을 제공하는 것은 비실용적이다. 현대의 디스크 드라이브는 전형적으로 대략 4,000 실린더를 포함한다. 4,000 엔트리 테이블이 확실하게 실행가능하다 할지라도, 이와같은 어레이 또는 테이블은 이미 제한된 메모리의 상당량을 필요로 한다.
본 발명은 탐색 프로필의 선형 영역(78)에서 긴 탐색를 위한 탐색 시간과 탐색 프로필의 비선형 영역(76)에서 짧은 탐색을 위한 룩업 테이블로서 탐색 시간 어레이를 계산하기 위하여 선형 방정식을 사용함으로써 상기 문제점들을 해결한다. 평가된 탐색 시간이 선형 영역내에 놓여 있는 긴 탐색을 위해서만 계산되기 때문에, 계산은 2차 대신 선형이다. 결론적으로, 선형 방정식을 평가하는데 필요한 계산 시간은 작다. 이 계산은 배타적으로 짧은 탐색를 초래하는 적용에 있어서는 필요로 하지 않는다. 보다 긴 탐색 간격을 초래하는 적용에 대하여, 평균 접근 시간은 더 크다. 그 결과, 디스크 스케줄링 방법은 계산을 실행하고 실행될 다음 명령을 선택하기 위하여 좀더 많은 시간을 갖는다.
바람직하게, 본 발명의 방법은 다음과 같은 관계식에 따라 탐색 프로필의 선형 영역(78)에서 긴 탐색을 위하여 탐색 시간을 계산함으로써 탐색 시간을 평가한다 :
여기서, D= 명령에 대한 데이타 복구 엘리먼트에 의해 횡단되는 식별된 탐색 간격, EST(D)= 탐색 간격 D에 대한 평가된 탐색 시간, Cn-1= 선형 영역(78)내의 제1 미리선택된 탐색 길이, Cn= 선형 영역(78)내의 제2 미리선택된 탐색 길이, tn-1= 데이타 복구 엘리먼트가 제1 미리선택된 탐색 길이를 횡단하는데 필요한 시간, 및 tn= 데이타 복구 엘리먼트가 제2 미리선택된 탐색 길이를 횡단하는데 필요한 시간이다.
상기 관계가 탐색 프로필의 선형 영역(78)내에 단독으로 놓여있는 탐색 간격에 대하여 잘 이루어진다 할지라도, 상기 관계는 어레이가 끝나고 선형 접근이 시작되는 곳에 불연속이 존재하기 때문에 시스템의 실제 실행을 매칭하기 위하여 전개될 수 없다. 이 불연속은 다음 관계식에 따라 탐색 시간을 선택적으로 계산함으로써 제거될 수 있다:
여기서, EST(D)= 탐색 간격 D에 대한 평가된 탐색 시간, Cn-1= 선형 영역(78)내의 제1 미리선택된 탐색 길이, Cn= 선형 영역(78)내의 제2 미리선택된 탐색 길이, tn-1= 데이타 복구 엘리먼트가 제1 미리선택된 탐색 길이를 횡단하는데 필요한 시간, D= 명령에 대한 데이타 복구 엘리먼트에 의해 횡단되는 식별된 탐색 간격, 및
여기서, tn= 데이타 복구 엘리먼트가 제2 탐색 길이를 횡단하는데 필요한 새롭게 평가된 시간, β=점근선 샘플 길이, tn= 데이타 복구 엘리먼트가 제2 탐색 길이를 횡단하는데 필요한 이전에 평가된 시간, 및
여기서, ADJ= 실제 탐색 시간의 변화를 기초로하는 미리선택된 조절, Ctm= 탐색 시간 어레이의 최대 탐색 간격, 및 ttm= 탐색 시간 어레이의 최대 탐색 간격에 대응하는 저장된 탐색 시간이다.
상기 방법은 짧은 탐색 간격에 대한 탐색 시간을 평가하기 위하여 탐색 시간 어레이에 접근한다. 탐색 시간 어레이는 짧은 탐색에 대한 아주 정확한 탐색 시간 평가를 제공한다. 더구나, 짧은 탐색에 대한 평가된 탐색 시간은 간단한 룩업 테이블을 통해 아주 빠르게 결정될 수 있다. 결론적으로, 짧은 접근 시간을 갖는 대다수의 짧은 탐색을 초래하는 적용에 있어서는, 디스크 스케줄링 방법이 배당된 시간에서 다음 명령을 좀 더 쉽게 선택할 수 있다.
탐색 시간 어레이는 정적이나 동적일 수 있다. 정적인 탐색 시간 어레이는 정적인 탐색 프로필로부터 구성된 미리 계산된 룩업 테이블이다. 이 정적인 탐색프로필은 실제 탐색 실행의 구분적 선형 접근으로 이루어진다. 탐색 길이의 비중첩 영역에 각각 할당된 직선 세그먼트는 그 영역내의 탐색에 대한 실행을 평가한다. 레벨설정된 쌍의 한정 세트는 직선 세그먼트를 한정한다. 각 쌍은 탐색 시간(ti)에서 실린더(ci)의 탐색 길이로 이루어진다: {(c1, t1), (c2, t2), (c3, t3), ......., (cn, tn)}. 한정 세트의 레벨 설정된 쌍들은 드라이브로부터 취해진 탐색 실행 측정을 기초로하며 실제 프로필을 매칭하기 위하여 이상적으로 선택되고, 온도 및 습도와 같은 환경 요소와 제조 변화에 기인한 탐색 실행에 있어서의 불확실함에 대한 보상을 하기에 충분한 마진을 부가한다. 정적인 탐색 시간 어레이는 임계 실행 경로에서 계산 총비용을 감소시키기 위하여 대부분의 탐색 간격에 대한 데이타를 포함한다. 정적인 탐색 시간 어레이에 필요한 메모리는 그 사이즈에 좌우된다. 그 결과, 정적인 탐색 시간 어레이는 비선형부(76)내에 탐색 간격에 대한 빠르고 정확한 탐색 시간 평가를 제공한다.
정적인 탐색 시간 어레이에 대체하는 것으로 동적이거나 적응형 탐색 시간 어레이가 있다. 정적인 탐색 시간 어레이와 유사하게, 적응형 탐색 어레이는 실린더에서 판독/기입 엘리먼트(12)가 주어진 탐색 간격이나 길이를 횡단하는데 필요한 평가된 탐색 시간을 포함하는 어레이나 룩업 테이블이다. 바람직하게, 적응형 탐색 어레이 및 정적인 탐색 어레이는 초기에 매칭된다. 적응형 탐색 어레이는 그 룩업 테이블을 초기화하기 위하여 정적인 탐색 어레이를 사용한다. 그러나, 각 판독/기입 엘리먼트(12)는 명령을 실행하기 위하여 주어진 복수의 실린더를 횡단하며, 시스템 또는 펌웨어는 판독/기입 엘리먼트(12)가 주어진 탐색 간격을 횡단하는데 필요한 실제 탐색 시간을 감지한다. 탐색 간격에 대한 감지된 실제 탐색 시간을 기초로하여, 본 발명은 적응형 탐색 어레이내에 탐색 간격에 대응하는 평가된 탐색 시간을 변형한다. 그 결과, 적응형 탐색 시간 어레이는 온도, 습도 및 대기압과 같은 환경 요소, 제조 편차, 및 에이징에 기인한 실행의 차이를 보상하는 탐색 간격에 대한 탐색 시간의 평가(즉, 탐색 실행)를 변형시킨다. 그러므로, 적응형 탐색 시간 어레이는 개별적인 드라이브에 대한 실행을 최대화하며 탐색 실행을 평가하기 위한 최적 구분 선형 접근을 설계하는데 필요한 시간 및 비용을 제거한다.
바람직한 방법에 따르면, 탐색 간격에 대응하는 이전에 저장된 탐색 시간은 다음과 같은 관계식에 따라 변형된다:
여기서 D=탐색 간격, 0 <α< 1, B= 간격D에 대한 이전에 제일 먼저 저장된 탐색 시간, C= 간격 D에 대하여 감지된 실제 탐색 시간, 및 ADJ= 실제 탐색 시간의 변화에 기초로하여 미리선택된 조절이다.
탐색 시간 측정에 부가된 조절은 미리선택된 상수이며 탐색 측정의 변화에 관계된다. 탐색 시간이 중요한 탐색 시간에 관하여 대략 정상 분포된다 하더라도, 낮은 탐색 시간 평가의 결과로서 회전 손실의 충격은 높은 평가의 결과로서 대기행렬 정렬 기회 손실보다 훨씬 더 나쁘다. 이 효과를 중화시키기 위하여, 탐색 시간 평가는 대부분의 탐색가 실제로 테이블에 의해 지시된 것보다 완료하기 위한 시간이 더 작게 걸리도록 조절에 의해 상향 이동된다.
선택적으로, 이전에 저장된 탐색 시간은 다음 관계식에 따라 변형될 수도 있다:
여기서, D=탐색 간격, β= 점근형 샘플 길이, B=간격D에 대한 이전에 저장된 제1 탐색 시간, C=간격D에 대하여 감지된 실제 제1 탐색 시간, ADJ=실제 탐색 시간의 변화를 기초로하여 미리선택된 조절이다.
상기 방정식은 방정식이 특정 탐색 간격에 대한 탐색 시간의 현재 평가에 상당한 영향을 미치는 복수의 이전 명령에 접근하는 정수인 β를 사용하기 때문에 정수 계산에 보다 적합하다. 값β는 다음 관계식에 따라 계산된다:
여기서, 0 < α < 1, β= 양의 정수이다.
제1 탐색 간격을 횡단하는데 필요한 감지된 실제 탐색 시간을 기초로 하여 적응형 탐색 시간 어레이에서 저장된 탐색 시간 평가를 변형하는 것외에도, 적응형 방법은 실제 탐색 시간이 감지되는 제1 탐색 간격에 가까운 탐색 간격 또는 길이에 대응하는 적응형 탐색 시간 어레이에서 저장된 탐색 시간을 부가적으로 변형할 수도 있다. 실제 탐색 프로필이 너무 원할하여 소수의 실린더에 의해 길이가 다른 탐색 사이에 보다 큰 실행의 불연속을 갖지 않기 때문에, 관계는 적응형 탐색 어레이 또는 적응형 룩업 테이블에서 인접 엔트리 사이에 설정될 수 있다. 결론적으로, 제1 탐색 간격에 대한 감지된 실제 탐색 시간은 제1 탐색 간격에 적어도 인접한제2 탐색 간격에 대한 적응형 탐색 시간 어레이에서 평가된 탐색 시간을 변형하는데 사용될 수 있다. 제2 탐색 간격이 실제 탐색 시간이 감지된 제1 탐색 간격에 접근하면, 제2 탐색 간격에 대한 평가된 탐색 시간이 변형되는 정도가 증가한다. 바람직하게, 실제 탐색 시간이 감지된 탐색 간격에 인접한 탐색 간격은 다음 관계식에 따라 변형된다:
여기서, β=점근형 샘플 길이, D=제1 탐색 간격, D+δ=제2 탐색 간격, δ= 오래 저장된 탐색 시간에 대응하는 탐색 간격(D+δ)과 감지된 실제 탐색 간격에 대응하는 탐색 간격D 사이의 실린더 간격, B=간격(D+δ)에 대한 이전에 저장된 제2 탐색 시간, C=간격D에 대한 감지된 실제 제1 탐색 시간, 및 ADJ= 실제 탐색 시간의 변화를 기초로하여 미리선택된 조절이다.
적응형 탐색 어레이의 사용이 제한 기준으로서 회전 대기시간을 직접 사용하는 방법과 연합하여 기술되었다 하더라도, 적응형 탐색 시간 어레이는 제한 기준으로서 탐색 영역을 사용하는 방법의 실행을 개선하는데 사용될 수도 있다. 특히, 각 탐색 영역은 분리각 영역에 할당된 회전 대기시간보다 작은 평가된 탐색 시간을 갖는 복수의 탐색 간격중 최대 간격을 식별하고, 복수의 탐색 간격에 대한 복수의 탐색 시간을 개별적으로 평가함으로써 계산될 수도 있다. 상기 복수의 탐색 간격에 대한 각각의 탐색 시간은 전술한 적응형 탐색 시간 어레이를 사용하여 평가된다. 그 결과, 각 분리각 영역에 할당된 탐색 영역은 온도, 습도, 대기압 등과 같은 환경 요소의 변화에 최적으로 적응된다. 결론적으로, 극단적인 환경 상태동안 손실된 회전을 피하는데 필요한 큰 마진은 상기 방법을 현재 동작 상태에 적응시키는 피드백으로서 실제 탐색 시간 측정을 사용함으로써 감소될 수 있다. 또한, 탐색 영역을 동적으로 적응시키기 위한 동적 또는 적응형 탐색 시간 어레이의 사용은 탐색 영역을 평가하기 위한 최적의 구분 선형 접근을 설계하는 지루한 일을 제거한다. 이 적응형 또는 동적인 탐색 시간 어레이는 제조 편차, 환경 요소 및 에이징에 기인한 실행의 차를 보상하는 탐색 실행의 평가를 연속적으로 변형한다.
또한, 제한 기준으로서 탐색 영역을 사용하는 방법은 미리선택된 임계 간격보다 크거나 같은 탐색 간격에 대하여 사용되는 탐색 시간을 계산하고, 탐색 간격이 미리선택된 임계 간격보다 작을 경우 탐색 시간 어레이로부터 탐색 시간을 선택하는 것에 의해 탐색 간격을 평가함으로써 탐색 영역을 계산할 수도 있다. 그 결과, 탐색 영역은 낮은 메모리 요건을 가지며 시간이 작게 결정될 수 있다.
동작에 있어서, 현재 명령이 접근되어 실행되면, 디스트 스케줄링 방법은 실행을 위한 다음 명령을 선택한다. 특히, 현재 명령 대기행렬은 어드레싱된 특정 명령을 포함하는 각도 영역을 기초로하여 상승 레벨로 저장된다. 명령 대기 행렬은 판독/기입 엘리먼트(12)의 현재 위치와 연합하는 각도 영역 값보다 큰 각도 영역값을 갖는 각도 영역내에 명령 어드레싱 위치에서 시작하는 각도 영역 번호의 순서로 횡단된다.
명령 대기 행렬이 횡단되면, 디스크 스케줄링 방법은 그 위로 판독/기입 엘리먼트(12)가 위치설정되는 현재 실린더 번호와 특정 명령의 시작 실린더 번호 사이의 차를 계산함으로써 각 명령에 대한 판독/기입 엘리먼트(12)에 의해 횡단되는 탐색 간격을 식별하고 계산한다. 식별된 탐색 간격이 미리선택된 임계 값 이하일 경우, 탐색 시간은 탐색 시간 어레이로부터 탐색 시간을 선택함으로써 평가된다. 선택적으로, 식별된 탐색 간격이 미리선택된 임계 간격보다 크거나 같으면, 평가된 탐색 시간은 선형 방정식을 사용하여 계산된다.
평가된 탐색 시간이 명령 어드레스를 포함하는 분리각 영역의 회전 대기행렬보다 작으면, 명령이 실행된다. 전체 명령 대기행렬이 명령의 실행없이 횡단되면, 명령 대기행렬은 판독/기입 엘리먼트(12)의 현재 위치와 연합하는 각도 영역값보다 큰 각도 영역값을 갖는 각도 영역내의 위치를 어드레싱하는 명령으로 시작하여 다시 한 번 횡단된다. 그러나, 회전 주기는 디스크(10)가 일회전을 완료하는데 필요한 시간에 의해 증대된다. 전체 명령 대기 행렬이 특정 분리각 영역의 회전 대기시간보다 작은 평가된 시간 플러스 디스크(10)가 일회전을 완료하는데 필요한 시간을 갖는 명령을 검색하지 않고 다시 한 번 횡단되면, 명령 대기 행렬이 다시 횡단되고 명령은 디스크가 2회전 하는데 필요한 시간과 명령 어드레스를 포함하는 분리각 영역의 회전 대기시간의 합보다 작은 평가된 탐색 시간을 가질 경우 실행된다. 명령 대기 행렬은 회전 주기와 명령 어드레스를 포함하는 분리각 영역의 회전 대기 행렬의 합보다 작은 평가된 탐색 시간을 갖는 명령이 검색되어 실행될 때까지 필요한 만큼 횡단된다. 이 공정은 필요한 만큼 반복되며, 명령이 선택될때 까지 반복당 일회전 주기가 부가된다.
제 6도는 제한 기준으로서 회전 대기시간을 직접 사용하는 본 발명의 방법의단계의 흐름도이다. 제 6도에서 단계 80에 의해 도시된 바와 같이, 초기 탐색 시간 어레이 T(D)가 생성된다. 바람직하게는, 단계 80에서 생성된 탐색 시간 어레이는 실제 탐색 실행의 구분 선형 접근을 기초로한 정적 프로필을 사용한다. 탐색 시간 어레이가 어떤 초기값을 사용하더라도, 탐색 시간 어레이는 합리적인 접근으로 초기화되는 경우 보다 작은 시간의 최적 프로필에 접근한다. 탐색 시간 어레이 T(D)는 미리선택된 임계 탐색 간격값까지 대응하는 탐색 간격에 대한 평가된 탐색 시간을 포함한다. 미리선택된 임계 탐색 간격값은 바람직하게는 대응하는 탐색 시간이 탐색 간격에 선형적으로 관련되기 시작하는 탐색 간격에 가깝다.
단계 82 및 84에 의해 도시된 바와 같이, 상기 방법은 회전 주기 PR 및 카운터 R을 제로로 초기화한다. 회전 주기는 실행에 대한 최적 명령을 선택하는데 있어서 제한 기준의 일부로서 사용된다. 단계 86에서, 상기 방법은 명령 대기행렬이 비어있을 경우를 결정한다. 명령 대기행렬이 비어있는 한, 어떠한 동작도 취해지지 않는다. 인지될 수 있는 바와 같이, 명령은 언제라도 명령 대기행렬에 부가될 수 있다.
단계 88에서, 명령 대기행렬이 비어있지 않으면, 디스크(10)는 현재 명령의 실행의 종료에서 판독/기입 엘리먼트의 예상된 위치 또는 현재 위치를 기초로하여 10개의 분리각 영역 N=0 내지 N=9로 분할된다. 다시, 본 발명이 10개 영역 N으로 기술되는 동안, 실제 번호는 어떤 편리한 번호일 수 있다. 바람직하게는, 다스크(10)는 판독/기입 엘리먼트의 현재 위치에 관계없이 고정된 경계를 갖는 각도 영역으로 분할된다. 선택적으로, 디스크(10)는 판독/기입 엘리먼트의 현재 위치또는 예상된 위치를 기초로하여 변화하는 경계를 갖는 각도 영역으로 분할된다. 각도 영역 N=0은 판독/기입 엘리먼트의 현재 위치 또는 예상된 위치를 포함하기 위하여 선택된다. 각각의 시계방향의 연속적인 각도 영역은 1에서 9까지 연속적으로 수치설정된다.
단계 90에서, 각각의 각도 영역 N=0 내지 N=9 은 판독/기입 엘리먼트의 현재 위치를 기초로하여 회전 대기시간이 할당된다. 영역 N=0이 항상 판독/기입 엘리먼트를 포함하기 위하여 할당되며 매체가 바람직하게 고정된 경계를 갖는 10개의 각도 영역으로 분할되기 때문에, 영역 N=0은 항상 회전의 9/10의 회전 대기시간을 갖는다. 영역 N=1은 항상 완전한 일회전의 회전 대기시간을 갖는다. 영역N=2 내지 N=9는 회전의 N/10 의 회전 대기시간을 가지며, 여기서 N은 영역 번호이다. 선택적으로, 디스크(10)가 가변 경계를 갖는 영역으로 분할되면, 영역N=0은 일회전의 회전 대기시간을 가지며 영역 N=1 내지 N=9는 회전의 N/10의 회전 대기시간을 가지며 여기서 N은 영역의 상대각 영역 번호이다.
단계 92 및 94에서, N 및 인덱스는 각각 일에서 초기화된다. 변수 N은 상기 방법이 제한 기준을 충족시키는 명령에 대하여 탐색하는 특정 영역을 지시하는데 사용된다. 인덱스는 명령 대기행렬 어레이로부터의 명령이 가능한 선택 및 실행을 위해 현재 평가되는 것을 식별하는데 사용된다.
단계 96에서, 방법은 명령 대기행렬(인덱스)에서 명령이 영역(N+1) 모듈로 10 내에 있는지를 결정한다. N이 단계 92에서 일로 초기화되기 때문에, 방법은 평가되는 현재 명령이 최소 회전 대기시간을 갖는 영역내에 명령을 어드레싱 하는지를 결정한다. 매체가 판독/기입 엘리먼트의 현재 위치에 관계없이 고정된 경계를 갖는 분리각 영역으로 분할되기 때문에, 최소 회전 대기시간을 갖는 분리각 영역은 전술한 바와 같이 영역 N=2이다. 단계 96은 명령이 영역 (N+1) 모듈로 10내에 있는지를 결정한다. 선택적으로, 매체가 판독/기입 엘리먼트의 현재 위치를 기초로하여 변화하는 경계를 갖는 분리각 영역으로 분할되면, 단계 96은 명령 대기행렬(인덱스)이 영역 N 모듈로 10내에 위치를 어드레싱 하는지를 선택적으로 결정한다.
현재 평가되는 명령 대기 행렬(인덱스)에서 명령이 영역(N+1) 모듈로 10 내에 위치를 어드레싱하지 않을 경우, 상기 방법은 단계 188에서 인덱스를 증대시킴으로써 명령 대기행렬에서 다음 명령을 목표설정한다. 단계 120에서, 상기 방법은 명령중 어떤 것이 영역(N+1) 모듈로 10내에 놓여있는지를 결정한다. 이것은 인덱스 번호가 명령 대기행렬에서의 명령 번호보다 큰 것을 결정함으로써 달성된다. 인덱스 번호가 명령 대기행렬에서의 명령번호보다 크면, 상기 방법은 명령 대기행렬에서 다음 명령에 대한 단계 96로 복귀한다. 인덱스 번호가 대기행렬 명령보다 크면, 상기 방법은 단계 122에서 하나씩 N을 증가시킴으로써 다음 연속하는 시계방향의 각도 영역을 목표설정한다. 단계 124에서, 상기 방법은 모든 각도 영역이 탐색되었을 경우를 결정한다. 본 예에 있어서, N=11인 경우, 각각의 분리각 영역(20A-20J)이 탐색된다. 디스크(10)의 모든 분리각 영역이 탐색되지 않으면, 상기 방법은 다음 연속적인 시계방향의 각도 영역에 대한 단계 94로 복귀한다.
단계 98에서, 목표설정된 특정 영역에 대하여 할당된 회전 대기시간은 목표설정된 명령이 실행을 위하여 선택되는지의 여부를 결정하기 위한 제한 기준을 설정하기 위하여 현재 회전 주기 RP에 부가된다.
단계 99에서, 상기 방법은 명령 대기행렬(인덱스)에 대한 탐색 간격D를 식별한다. 명령 대기행렬 인덱스는 명령 대기행렬에서 각 명령을 포함하는 어레이이다. 그러므로, 명령 대기행렬[1]은 대기행렬에서 제1명령이며, 명령 대기행렬[2]는 제2 명령이다.
단계 100에서, 식별된 탐색 간격D는 미리선택된 임계 간격과 비교된다. 식별된 탐색 간격D이 임계 간격보다 크면, 상기 방법은 방정식을 사용하는 단계 102에서 탐색 시간을 계산함으로써 탐색 간격D에 대한 탐색 시간을 평가한다. 바람직하게는, 단계 102에서 방법은 탐색 간격D에 대한 탐색 시간을 평가하기 위하여 선형 방정식을 사용한다. 식별된 탐색 간격D이 임계 간격보다 크지 않으면, 상기 방법은 단계 104에서 탐색 시간 어레이로부터 탐색 시간T(D)을 선택함으로써 탐색 간격D에 대한 탐색 시간을 평가한다.
다른 경우에는, 단계 106에서, 명령 대기행렬(인덱스)에서의 명령의 평가된 탐색 시간은 단계 98에서 계산된 현재 기준과 비교된다.
단계 106에서 명령 대기행렬(인덱스)에 대한 평가된 탐색 시간이 현재 기준보다 작으면, 상기 방법은 단계 108에서 명령을 실행한다. 명령의 실행동안, 시스템은 판독/기입 엘리먼트를 명령 대기행렬(인덱스)에 의해 어드레싱된 제1 어드레스로 이동시킨다. 전산은 단계 110에서 판독/기입 엘리면트가 탐색 간격D을 방사상으로 횡단하는데 필요한 실제 시간을 감지하며, 단계 112에서 탐색 시간 어레이T(D)를 변형한다. 탐색 간격D에 대응하는 탐색 시간 어레이에서의 엔트리를변형하는 것 이외에도, 평가된 탐색 시간은 탐색 간격D에 가까운 탐색 간격에 대하여 변형시킬 수도 있다. 그 결과, 상기 방법은 탐색 시간을 변형시키고 같은 환경 요소, 제조 편차, 및 에이징에 기인한 실행의 차를 보상하기 위하여 탐색 시간 어레이를 적응시킨다.
단계 114 및 116에서 도시된 바와 같이, 판독/기입 엘리먼트의 "현재 위치"는 명령 대기행렬(인덱스)의 최종 논리 블록 어드레스의 물리적 위치이다. 명령 대기행렬(인덱스)의 실행후에, 명령 대기 행렬(인덱스)은 명령 대기행렬로부터 제거된다.
단계 106에서 명령 대기행렬(인덱스)에 대한 평가된 탐색 시간이 현재 기준보다 작지 않으면, 상기 방법은 단계 118에서 인덱스를 증가함으로써 명령 대기행렬에서 다음 명령을 목표설정한다. 단계 120에서, 상기 방법은 명령중 어떤 명령이 영역(n+1) 모듈로 10을 한정하는 매개변수내에 있고 현재 기준보다 작은 평가된 탐색 시간을 갖는 위치를 어드레싱할 경우를 결정하기 위하여 모든 명령들을 검사할지의 여부를 식별한다. 이것은 인덱스 번호가 명령의 번호보다 큰 경우를 결정하여 달성된다. 인덱스 번호가 명령의 번호보다 크지 않으면, 상기 방법은 명령 대기행렬에서 다음 명령에 대한 단계 96으로 복귀한다. 인덱스 번호가 명령 대기행렬의 번호보다 크면, 상기 방법은 단계 122에서 1만큼 N을 증가시킴으로써 다음 연속하는 시계방향의 각도 영역을 목표설정한다.
단계 124에서, 상기 방법은 모든 각도 영역이 탐색되었을 경우를 결정한다. 이 예에서, N=11일 경우에, 각각의 분리각 영역(20A-20J)이 탐색되었다.디스크(10)의 모든 각도 영역이 탐색되지 않을 경우(즉, N <11), 상기 방법은 다음 연속적인 시계방향의 각도 영역에 대하여 단계 94로 복귀한다.
그러나, 모든 분리각 영역(20A-20J)이 탐색되었을 경우, 상기 방법은 디스크(10)의 부가 회전을 완료하는데 필요한 시간에 의해 현재 기준을 확장시킨다. 이것은 일만큼 변수 R을 증가시킴으로써 단계 126 및 128에서 달성되며, 그것에 의해 회전 주기 PR는 R 회전을 완료하는데 필요한 시간이다. 상기 방법은 단계 92에서 시작하여 반복한다. 이후, 상기 방법은 특정 명령의 회전 대기시간의 합인 확장된 기준으로 명령 대기행렬에서 각 명령의 평가된 탐색 시간과 R 회전을 완료하는데 필요한 시간을 비교한다.
본 발명이 바람직한 실시예를 참조로하여 기술되었다 하더라도, 당해 업자들은 본 발명의 사상 및 범위로부터 벗어나지 않고 변형될 수 있다는 것을 인지할 수 있을 것이다.
제 1 도는 일회전내에 판독/기입 엘리먼트에 의해 도달될 수 있는 디스크의 일부가 빗금쳐 있는 회전 디스크 및 판독/기입 엘리먼트의 평면도.
제 2 도는 판독/기입 엘리먼트의 현재 위치를 기초로하여 변화하는 경계와 할당된 탐색(seek) 영역을 갖는 분리각 영역으로 분할된 제 1도의 회전 디스크의 상세도.
제 3 도는 판독/기입 엘리먼트의 현재 위치에 관계없는 고정된 경계와 판독/기입 엘리먼트의 현재 위치를 기초로하여 할당된 탐색 영역을 갖는 분리각 영역으로 분할된 제 1 도의 회전 디스크의 상세도.
제 4 도는 본 발명에 따른 방법의 단계의 흐름도.
제 5 도는 탐색 시간 대 탐색 간격 사이의 관계를 나타내는 그래프.
제 6 도는 본 발명에 따른 방법의 단계의 흐름도.
* 도면의 주요 부분에 대한 부호의 설명 *
10 : 회전 디스크 12 : 판독/기입 엘리먼트
14 : 원통형 경로 16 : 탐색 영역
18 : 반경 길이

Claims (10)

  1. 데이터 검색 엘리먼트(12) 및 회전 매체(10)를 포함하는 시스템에서 회전 대기 시간을 감소시키는 방법으로서,
    상기 데이터 검색 엘리먼트에 의해 횡단된 탐색 거리에 대한 탐색 시간이 저장된 초기 탐색 시간 어레이(T(D))를 생성하는 단계;
    상기 매체를 다수의 분리각 영역(20A-20J, 40A-40J)으로 분리하는 단계;
    데이터 검색 엘리먼트의 현 위치를 기초로, 회전 대기시간을 각각의 분리각 영역에 할당하는 단계;
    명령 대기 행렬 어레이의 각각의 명령에 대한 탐색 거리를 식별하고 또한 상기 탐색 어레이를 기초로 상기 탐색 거리에 해당하는 탐색 시간(76,78)을 추정하며, 그리고 분리각 영역에 할당된 회전 대기시간과 추정된 탐색 시간을 비교함으로써, 매체가 일회전하는 동안 데이터 검색 엘리먼트에 의해 횡단될 수 있는 다수의 실린더(D)를 각각의 분리각 영역에서 식별하는 단계;
    최소 회전 대기시간을 가지는 분리각 영역에서, 상기의 식별된 다수 실린더에 의해 결정된, 실린더 범위내의 위치를 어드레싱하는 명령을 명령 대기행렬 어레이에서 검색하는 단계; 및
    상기 명령에 의해 어드레싱된 매체의 선택된 분리각 영역내에서, 실린더 범위내의 위치로 상기 데이터 검색 엘리먼트를 이동시키고, 상기 명령을 실행하는 단계를 포함하는 방법.
  2. 제 1 항에 있어서,
    제 1 탐색 거리에 해당하는 제 1 실제 탐색 시간을 센싱하는 단계;
    상기 제 1 탐색 거리에 대한 제 1 센싱된 실제 탐색 시간을 기초로, 제 1 탐색 거리에 해당하는 제 1 저장된 탐색 시간을 변경하는 단계; 및
    탐색 시간 어레이에서 제 1 탐색 거리에 해당하는 제 1 저장된 탐색 시간을 판독함으로써 제 1 탐색 거리를 횡단하는 탐색 시간을 추정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    상기 초기 탐색시간 어레이는 미리 선택된 드레스홀드 거리보다 작은 탐색 거리에 해당하는 탐색시간이 저장된 탐색시간 어레이이며; 그리고,
    다수의 탐색거리중 하나에 대한 탐색시간을 다음 두 단계에 의해 추정하는 단계; 상기 다음 두 단계는:
    만일 탐색거리가 미리 선택된 드레스홀드 거리 이상이라면, 상기 탐색시간을 계산하는 단계; 및
    만일 탐색거리가 미리 선택된 드레스홀드 거리 이하라면, 상기 탐색 시간으로부터 탐색 시간을 선택하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 제 1 항에 있어서,
    각각의 분리각 영역에 대하여, N이 초기에 1인 경우, 매체가 N회전하는 동안, 데이터 검색 엘리먼트에 의해 횡단될 수 있는 실린더수를 식별하는 단계; 및
    만일 1만큼 N을 증가시키는 단계를 반복하는 명령이 명령 대기행렬로부터 탐색하는 동안 발견되지 않는다면, 각각의 분리각 영역에 대하여 N회전동안 데이터 검색 엘리먼트에 의해 횡단될 수 있는 실린더수를 식별하며, 명령이 발견될 때까지 명령 대기행렬 어레이를 탐색하는 단계를 포함하는 것을 특징으로 하는 방법.
  5. 제 1 항에 있어서,
    각각의 연속된 분리각 영역에 대하여, 최소의 회전 대기시간을 가지는 분리각 영역으로 시작하는 단계;
    상기 분리각 영역내의 위치에 어드레싱하는 명령에 대한 명령 대기행렬 어레이를 탐색하는 단계;
    상기 명령을 위해, 데이터 검색 엘리먼트에 의해 횡단된 탐색거리를 식별하는 단계;
    식별된 탐색거리를 횡단하는 탐색시간을 추정하는 단계;
    명령에 의해 어드레싱된 위치를 포함하는 분리각 영역의 회전 대기시간 및 초기값이 제로인 회전 주기의 합이 상기의 추정된 명령 탐색시간 이하라면, 명령을 실행하는 단계;
    만일 명령 대기행렬 어레이의 모든 명령이, 각각의 명령에 의해 어드레싱된 위치를 포함하는 분리각의 회전 대기시간 및 이전의 회전 주기의 합 이상인 추정탐색시간을 가진다면, 일회전을 완료시키기 위해 매체에 필요한 시간만큼 회전주기(RP)를 증가시키는 단계; 및
    만일 명령 대기행렬 어레이를 탐색하는 것을 반복하는 명령이 실행되지 않는다면, 탐색거리를 식별하고, 탐색 시간을 탐색하며, 명령 대기행렬 어레이의 나머지 명령에 대한 명령을 실행하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제 3 항에 있어서,
    명령을 위해 데이터 검색 엘리먼트에 의해 횡단될 탐색거리를 식별하는 단계;
    상기 식별된 탐색거리가 드레스홀드 거리보다 큰지의 여부를 결정하는 단계; 및
    제 1 탐색거리에 대한 실제 탐색시간이 제 1 저장된 탐색시간보다 작도록 미리 선택된 시간값만큼 제 1 저장 탐색시간을 증가시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제 6 항에 있어서, 실제 탐색 시간의 변동에 기초하여 미리 선택된 시간값만큼 제 1 저장된 탐색시간을 조절하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 제 6 항 또는 제 7 항에 있어서, 제 1 탐색거리에 대한 센싱된 실제 탐색시간에 기초하여 제 2 탐색거리에 해당하는 제 2 저장된 탐색시간을 변경하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  9. 제 8 항에 있어서, 상기 제 2 저장된 탐색시간을 변경하는 단계는:
    제 1 탐색거리에 대한 센싱된 실제 탐색시간 및 제 1 탐색거리에 대한 제 2 탐색거리의 근접성에 기초하여 제 2 탐색거리에 해당하는 제 2 저장된 탐색시간을 변경하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 제 1 항에 있어서,
    상기 저장된 탐색시간은 미리 선택된 드레스홀드 거리보다 작은, 데이터 검색 엘리먼트에 의해 횡단된 탐색거리에 해당하며,
    상기 명령 대기행렬 어레이의 탐색은 선택된 분리각 영역내의 위치에 어드레싱하는 적어도 하나의 명령을 위한 것이며; 그리고
    상기 선택된 분리각 영역내의 위치에 어드레싱하는 각각의 명령에 대하여 전송된 탐색거리를 식별하는 단계;
    상기 식별된 탐색 거리가 임계 거리보다 큰지를 결정하는 단계;
    상기 식별된 탐색거리를 횡단하는 탐색시간을 다음 두 단계를 이용하여 추정하는 단계를 포함하며, 상기 두 단계는:
    만일 명령의 탐색거리가 미리 선택된 임계 거리보다 크다면 탐색시간을 계산하는 단계; 및
    만일 탐색 거리가 미리 선택된 임계 거리 이하라면 탐색시간 어레이로부터 탐색시간을 선택하는 단계를 포함하며; 및
    만일 명령의 추정 탐색 시간이 선택된 분리각 영역의 회전 대기시간보다 작다면 명령을 실행하는 단계를 포함하는 것을 특징으로 하는 방법.
KR1019960017630A 1995-05-25 1996-05-23 디스크드라이브에서회전대기시간을감소시키기위한방법 KR100413865B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/449,758 1995-05-25
US08/449,758 US5570332A (en) 1995-05-25 1995-05-25 Method for reducing rotational latency in a disc drive

Publications (2)

Publication Number Publication Date
KR960042678A KR960042678A (ko) 1996-12-21
KR100413865B1 true KR100413865B1 (ko) 2004-04-09

Family

ID=23785371

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960017630A KR100413865B1 (ko) 1995-05-25 1996-05-23 디스크드라이브에서회전대기시간을감소시키기위한방법

Country Status (6)

Country Link
US (1) US5570332A (ko)
EP (1) EP0744742B1 (ko)
JP (1) JPH08329589A (ko)
KR (1) KR100413865B1 (ko)
DE (1) DE69615270T2 (ko)
SG (1) SG44945A1 (ko)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5854941A (en) * 1996-05-31 1998-12-29 Acceleration Software International Corporation System for estimating access time by deriving from first and second rotational time from rotational time table based on logical address and head movement time
US5991825A (en) * 1997-07-11 1999-11-23 International Business Machines Corporation System for handling missed revolution in a disk drive by aborting the execution of primary command and executing secondary command if a missed revolution occurs
US6072648A (en) * 1997-08-14 2000-06-06 Seagate Technology, Inc. System and method for formatting disc surfaces
US6917569B1 (en) * 1997-10-06 2005-07-12 Emc Corporation Method for determining seek times in a disk array storage device
US6170042B1 (en) 1998-02-24 2001-01-02 Seagate Technology Llc Disc drive data storage system and method for dynamically scheduling queued commands
WO2000022614A1 (en) 1998-10-09 2000-04-20 Seagate Technology, Llc Disc drive method and apparatus for dynamically adjusting seek operations
US6195222B1 (en) * 1998-11-04 2001-02-27 Western Digital Corporation Disk drive with seek profile selection based on a queued vs. non-queued environment
US6515819B1 (en) * 1999-03-29 2003-02-04 Maxtor Corporation Adaptive update of seek time prediction data
US6272565B1 (en) 1999-03-31 2001-08-07 International Business Machines Corporation Method, system, and program for reordering a queue of input/output (I/O) commands into buckets defining ranges of consecutive sector numbers in a storage medium and performing iterations of a selection routine to select and I/O command to execute
US6339811B1 (en) * 1999-04-21 2002-01-15 Seagate Technologh Llc Rotationally optimized seek initiation
US6594105B1 (en) * 1999-04-21 2003-07-15 Seagate Technology Llc Time optimal seeks using linear velocity scheduling
TW573295B (en) 1999-04-23 2004-01-21 Koninkl Philips Electronics Nv Apparatus and method for scanning a rotating information carrier
US6310743B1 (en) 1999-06-24 2001-10-30 Seagate Technology Llc Seek acoustics reduction with minimized performance degradation
WO2001052260A1 (en) 2000-01-10 2001-07-19 Seagate Technology Llc Servo track writing using extended copying with head offset
US6898665B1 (en) 2000-01-11 2005-05-24 International Business Machines Corporation System and method for profiling access to disk drive commands based on a dual servo mode model
US6571298B1 (en) 2000-01-11 2003-05-27 International Business Machines Corporation System and method for grouping disk access commands in a queue according to proximate disk positions
US6574676B1 (en) 2000-01-11 2003-06-03 International Business Machines Corporation System and method for scheduling disk drive commands by expected total access time
JP2001216092A (ja) * 2000-01-27 2001-08-10 Internatl Business Mach Corp <Ibm> データの書き込み方法、データの読み出し方法、ディスクドライブ装置およびディスクドライブ装置のコントローラ
US6496877B1 (en) * 2000-01-28 2002-12-17 International Business Machines Corporation Method and apparatus for scheduling data accesses for random access storage devices with shortest access chain scheduling algorithm
US6789132B2 (en) 2000-02-09 2004-09-07 Seagate Technology Llc Modular disc drive architecture
US6892250B2 (en) 2000-02-09 2005-05-10 Seagate Technology Llc Command queue processor
US6848019B1 (en) 2000-02-17 2005-01-25 Seagate Technology Llc Performance in a data storage device using head-to-head offsets in access command scheduling
JP2001236744A (ja) 2000-02-18 2001-08-31 Hitachi Ltd 情報記録再生方法及び情報記録再生装置
US6724558B2 (en) 2000-04-19 2004-04-20 Jpmorgan Chase Bank Servo writing in a disc drive with substantially identical heads having read and write elements in a radial offset position
US6624963B2 (en) 2000-04-19 2003-09-23 Seagate Technology Llc Static track spacing error correction in a disc drive
US6831796B2 (en) 2000-08-15 2004-12-14 Seagate Technology Llc Amplitude modulation detection for hard disc drive write operation
US6754036B2 (en) 2001-01-29 2004-06-22 Seagate Technology Llc Automated tuning of disc drive seek profile
EP1229433A1 (en) * 2001-01-31 2002-08-07 Hewlett-Packard Company File sort for backup
US6775090B2 (en) 2001-03-09 2004-08-10 Seagate Technology Llc Adapting logical track addresses in relation to head offsets
EP1402735B2 (en) 2001-06-13 2016-03-09 OpenTV, Inc. A method and apparatus for improved acquisition and monitoring of event information table sections
US6789163B2 (en) 2001-09-17 2004-09-07 Seagate Technology Llc Optimizing data transfer performance through partial write command purging in a disc drive
US6968423B2 (en) * 2002-02-05 2005-11-22 Seagate Technology Llc Dynamic data access pattern detection in a block data storage device
US6804751B2 (en) * 2002-03-20 2004-10-12 Hitachi Global Storage Technologies Netherlands B.V. Method and apparatus for improving efficiency of operation of a hard disk drive by deferring command execution
JP2003308176A (ja) * 2002-04-03 2003-10-31 Internatl Business Mach Corp <Ibm> データ記憶装置、コマンド・キューのリオーダリング方法、データ処理方法およびプログラム
US20030200386A1 (en) * 2002-04-19 2003-10-23 Seagate Technology Llc Data retention prioritization for a data storage device
US6934802B2 (en) * 2002-04-19 2005-08-23 Seagate Technology Llc Band detection and performance optimization for a data storage device
US7253981B2 (en) * 2002-04-26 2007-08-07 Seagate Technology, Llc Disc drive with reduced write latency
US20030220896A1 (en) * 2002-05-23 2003-11-27 Gaertner Mark A. Method and apparatus for deferred sorting via tentative latency
US7043567B2 (en) * 2002-07-22 2006-05-09 Seagate Technology Llc Method and apparatus for determining the order of execution of queued commands in a data storage system
US6877070B2 (en) * 2002-07-23 2005-04-05 Hitachi Global Storage Technologies Netherlands, B.V. Method and apparatus for implementing command queue ordering with benefit determination of prefetch operations
US7092184B2 (en) * 2002-08-05 2006-08-15 Seagate Technology Llc Monitoring a sensor's output using a target window that is based on a longitudinal offset's position-dependent indicator
US6859859B2 (en) * 2002-08-08 2005-02-22 Hitachi Global Storage Technologies Netherlands, B.V. Method and system for efficiently calculating and storing expected access time information for DASD
WO2004023458A1 (en) * 2002-09-05 2004-03-18 Seagate Technology Llc Selecting a target destination using seek cost indicator based on the actual position
US7376784B2 (en) * 2004-01-26 2008-05-20 Hitachi Global Storage Technologies Netherlands B.V. System and method for selecting command for execution in HDD based on benefit
JP4310140B2 (ja) * 2003-06-25 2009-08-05 株式会社日立グローバルストレージテクノロジーズ 磁気ディスク装置
US6968422B1 (en) 2003-06-27 2005-11-22 Western Digital Technologies, Inc. Disk drive employing a modified rotational position optimization algorithm to account for external vibrations
JP2007087528A (ja) * 2005-09-22 2007-04-05 Fujitsu Ltd 記憶装置、記憶装置の制御方法および記憶装置に用いられる制御プログラム
JP2008021380A (ja) * 2006-07-14 2008-01-31 Fujitsu Ltd シーク制御装置、シーク制御方法、記憶装置
US7669044B2 (en) * 2006-09-29 2010-02-23 Microsoft Corporation Accelerated system boot
US7882304B2 (en) * 2007-04-27 2011-02-01 Netapp, Inc. System and method for efficient updates of sequential block storage
US8069305B2 (en) * 2007-07-25 2011-11-29 Oracle America, Inc. Logging latency reduction
US7602581B2 (en) * 2007-10-10 2009-10-13 Hitachi Global Storage Technologies Netherlands B.V. Interpolated just-in-time seek trajectories
US8134791B2 (en) * 2010-02-04 2012-03-13 Seagate Technology Llc Disc operation selection
US8498074B1 (en) 2010-09-23 2013-07-30 Western Digital Technologies, Inc. Disk drive choosing command from command queue based on a window defined by a probability of a seek miss
US10303373B2 (en) * 2017-06-12 2019-05-28 Seagate Technology Llc Prioritizing commands in a data storage device
US10418053B1 (en) 2018-03-07 2019-09-17 Kabushiki Kaisha Toshiba Disk-drive with efficient command-reordering
KR20190110360A (ko) * 2018-03-20 2019-09-30 에스케이하이닉스 주식회사 컨트롤러, 이를 포함하는 시스템 및 그 동작 방법
US10930310B1 (en) * 2020-02-04 2021-02-23 Western Digital Technologies, Inc. Data storage device sorting access commands based on peak current for multiple actuators
US20230305746A1 (en) * 2022-03-24 2023-09-28 Seagate Tecnology Llc Efficient scheduling of data storage disc input/output

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55112664A (en) * 1979-02-22 1980-08-30 Nec Corp Disc access time optimizing unit
US4656538A (en) * 1985-11-14 1987-04-07 Xebec Development Partners, Ltd. Disk drive control system
US4899234A (en) * 1988-04-04 1990-02-06 Magnetic Peripherals Inc. Adaptive velocity profile for disk actuator control
JPH027273A (ja) * 1988-06-24 1990-01-11 Nec Corp ディスクアクセス制御方式
US5140683A (en) * 1989-03-01 1992-08-18 International Business Machines Corporation Method for dispatching work requests in a data storage hierarchy
JPH02276083A (ja) * 1989-04-17 1990-11-09 Seiko Instr Inc ディスク・ヘッドのシーク動作の最適化方法
US5268804A (en) * 1989-04-26 1993-12-07 International Business Machines Corporation Actuator arm controller for a storage device
JP2657561B2 (ja) * 1990-02-09 1997-09-24 富士通株式会社 位置決め制御方式
JPH03260823A (ja) * 1990-03-12 1991-11-20 Toshiba Corp 磁気ディスク制御装置
US5150266A (en) * 1990-04-30 1992-09-22 Seagate Technology, Inc. Hard disk drive adaptation based on approach time measurement
JPH0778972B2 (ja) * 1990-06-29 1995-08-23 インターナショナル・ビジネス・マシーンズ・コーポレーション 光学ディスク駆動装置及びスパイラル・トラックのシーク方法
JPH04191921A (ja) * 1990-11-27 1992-07-10 Toshiba Corp データファイル装置
GB9026917D0 (en) * 1990-12-11 1991-01-30 Int Computers Ltd Rotating memory system
US5422762A (en) * 1992-09-30 1995-06-06 Hewlett-Packard Company Method and apparatus for optimizing disk performance by locating a file directory on a middle track and distributing the file allocation tables close to clusters referenced in the tables
US5459853A (en) * 1992-11-23 1995-10-17 International Business Machines Corporation Efficient variable-block data storage system employing a staggered fixed-block-architecture array
EP0675490B1 (en) * 1994-03-28 2000-05-17 Seagate Technology International Method for reducing rotational latency in a disc drive

Also Published As

Publication number Publication date
EP0744742B1 (en) 2001-09-19
SG44945A1 (en) 1997-12-19
JPH08329589A (ja) 1996-12-13
US5570332A (en) 1996-10-29
EP0744742A3 (en) 1997-03-19
EP0744742A2 (en) 1996-11-27
DE69615270T2 (de) 2002-04-18
DE69615270D1 (de) 2001-10-25
KR960042678A (ko) 1996-12-21

Similar Documents

Publication Publication Date Title
KR100413865B1 (ko) 디스크드라이브에서회전대기시간을감소시키기위한방법
US6571298B1 (en) System and method for grouping disk access commands in a queue according to proximate disk positions
US5333311A (en) Optimizing a magnetic disk by allocating files by the frequency a file is accessed/updated or by designating a file to a fixed location on a disk
US6574676B1 (en) System and method for scheduling disk drive commands by expected total access time
US6272565B1 (en) Method, system, and program for reordering a queue of input/output (I/O) commands into buckets defining ranges of consecutive sector numbers in a storage medium and performing iterations of a selection routine to select and I/O command to execute
KR100255577B1 (ko) 빈번하게 억세스되고 임의로 어드레스된 데이타의 적응 국지화 방법 및 장치
USRE44128E1 (en) Adaptive resource controlled write-back aging for a data storage device
US5802344A (en) Method and apparatus for dynamic segment allocation in log structured arrays
US8051115B2 (en) Measuring fragmentation on direct access storage devices and defragmentation thereof
US6418510B1 (en) Cooperative cache and rotational positioning optimization (RPO) scheme for a direct access storage device (DASD)
US6934802B2 (en) Band detection and performance optimization for a data storage device
US6105104A (en) Method and apparatus for optimizing the data transfer rate to and from a plurality of disk surfaces
US20030023815A1 (en) Cache buffer control method for hard disk drives
US5644786A (en) Method for scheduling the execution of disk I/O operations
US5854941A (en) System for estimating access time by deriving from first and second rotational time from rotational time table based on logical address and head movement time
US6754036B2 (en) Automated tuning of disc drive seek profile
US6993624B2 (en) Method and apparatus for selecting enqueued data access operations for execution in a disk drive data storage device
US20050144517A1 (en) Systems and methods for bypassing logical to physical address translation and maintaining data zone information in rotatable storage media
US6868477B2 (en) Method and apparatus for optimizing skip mask operations in a disc drive
US10777218B2 (en) Disk-drive with efficient command reordering
US6725395B2 (en) Method for assigning alternative sector, method for reading data, disk drive apparatus, and apparatus for writing/reading AV data
US10235071B2 (en) Tiered storage system, storage controller and tiering control method
US6763430B1 (en) Automatic acquisition of physical characteristics of a hard drive
US6725327B1 (en) Space-efficient expected access time algorithm for hard disk drive command queue ordering
US20030023778A1 (en) System and method for scheduling of random commands to minimize impact of locational uncertainty

Legal Events

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

Payment date: 20131210

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20141209

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 13

EXPY Expiration of term