KR20020001832A - 회전 최적화 탐색 개시를 위한 장치 및 방법 - Google Patents

회전 최적화 탐색 개시를 위한 장치 및 방법 Download PDF

Info

Publication number
KR20020001832A
KR20020001832A KR1020017013284A KR20017013284A KR20020001832A KR 20020001832 A KR20020001832 A KR 20020001832A KR 1020017013284 A KR1020017013284 A KR 1020017013284A KR 20017013284 A KR20017013284 A KR 20017013284A KR 20020001832 A KR20020001832 A KR 20020001832A
Authority
KR
South Korea
Prior art keywords
head
search
target data
track
data
Prior art date
Application number
KR1020017013284A
Other languages
English (en)
Other versions
KR100417431B1 (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 KR20020001832A publication Critical patent/KR20020001832A/ko
Application granted granted Critical
Publication of KR100417431B1 publication Critical patent/KR100417431B1/ko

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B21/00Head arrangements not specific to the method of recording or reproducing
    • G11B21/02Driving or moving of heads
    • G11B21/10Track finding or aligning by moving the head ; Provisions for maintaining alignment of the head relative to the track during transducing operation, i.e. track following
    • 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/14Control of operating function, e.g. switching from recording to reproducing by sensing movement or position of head, e.g. means moving in correspondence with head movements
    • 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
    • G11B21/00Head arrangements not specific to the method of recording or reproducing
    • G11B21/02Driving or moving of heads
    • G11B21/08Track changing or selecting during transducing operation
    • G11B21/081Access to indexed tracks or parts of continuous track
    • G11B21/083Access to indexed tracks or parts of continuous track on discs
    • 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
    • G11B20/10527Audio or video recording; Data buffering arrangements
    • G11B2020/1062Data buffering arrangements, e.g. recording or playback buffers
    • 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
    • G11B2020/10916Seeking data on the record carrier for preparing an access to a specific address
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B25/00Apparatus characterised by the shape of record carrier employed but not specific to the method of recording or reproducing, e.g. dictating apparatus; Combinations of such apparatus
    • G11B25/04Apparatus characterised by the shape of record carrier employed but not specific to the method of recording or reproducing, e.g. dictating apparatus; Combinations of such apparatus using flat record carriers, e.g. disc, card
    • G11B25/043Apparatus characterised by the shape of record carrier employed but not specific to the method of recording or reproducing, e.g. dictating apparatus; Combinations of such apparatus using flat record carriers, e.g. disc, card using rotating 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Moving Of The Head To Find And Align With The Track (AREA)
  • Moving Of Head For Track Selection And Changing (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 일단 명령이 수신되었을 때 리드 룩 어헤드(read look ahead; RLA) 데이터를 버퍼에 더 로드시키기 위하여 탐색을 지연시키는 제어 시스템 및 방법에 관한 것이다. 상기 방법은 언제 또는 어느 시점에서 프리패칭이 중단되어야하고 탐색이 개시되어야 하는가를 계산하는 단계를 포함하여, 그 결과 액추에이터 암이 타깃 데이터를 판독하기 시작하는 시간에 맞추어 새로운 트랙에 도착하게 한다. 상기 제어 시스템은, 액추에이터가 새로운 타깃 데이터를 판독하기 시작하는 시간에 맞추어 새로운 트랙에 도착하기 위해서는 반드시 탐색이 개시되어야 할 최종 순간까지, 데이터가 프래패치되고 버퍼에 로드되는 동안 액추에이터를 트랙상에 유지하도록 서보 제어부에 지시하는 프로세서를 포함한다.

Description

회전 최적화 탐색 개시를 위한 장치 및 방법 {ROTATIONALLY OPTIMIZED SEEK INITIATION}
디스크 드라이브에 있어서 데이터는 트랙으로 알려진 디스크상의 동심원 경로에 기록된다. 서보 버스트(servo burst)는 디스크상 각 트랙에 기록되고 위치 정보를 포함한다. 이러한 서보 버스트는, 원형 트랙에 수직인, 방사상으로 가늘게 웨지 형상(wedged shape)으로 된 의사-라인(quasi-line)을 따라서 위치하며 디스크를 존(zone)으로 세분한다. 버스트 웨지의 폭은 디스크 내부에서 외부로 갈수록 점점 증가한다. 각 존은 다수의 섹터를 포함하며, 섹터 번호는 하나의 존에서 다음 존으로 변화한다. 오퍼레이션 동안 디스크는 연속적으로 회전하며, 디스크 중심에서 소정의 반지름상에 위치하는 판독/기록 헤드는 주어진 트랙에 대해서 데이터를 판독하고 기록한다. 액추에이터 암은 헤드를 디스크 표면상에 호(arc) 형상으로 이동시켜(swing), 헤드가 상이한 트랙에 대하여 데이터를 판독 및 기록할 수 있게 한다.
판독/기록 헤드는 액추에이터 암의 단부에 장착되며, 액추에이터 암은 서보제어 시스템에 의해 움직인다. 그러므로, 헤드의 트랙 위치는 서보 시스템에 의해 제어된다. 헤드가 상이한 트랙을 액세스할 필요가 있을 때, 액추에이터 암은 헤드를 원하는 트랙 위치로 이동시킨다. 하나의 트랙에서 다른 트랙으로의 헤드 움직임은 가속 및 감속 시기를 포함하고, 헤드가 움직이는 동안의 시간(기간)은 탐색 시간으로 알려져 있다.
디스크 드라이브에 있어서, 데이터는 판독/기록 명령에 상응하여 디스크로부터 판독되고 디스크에 기록된다. 이러한 명령은 서보 버스트, 존, 그리고 섹터와 관련하여 타깃 데이터(target data)가 디스크상의 어디에 위치하는지를 제어 시스템에 알려주는 정보를 포함한다. 판독/기록 헤드는 서보 버스트가 포함하는 위치 정보를 판독함으로써 헤드가 서보 버스트 위를 통과할 때 자신의 위치를 검출한다. 그리고, 제어 시스템은 검출된 정보를 이용하여 액추에이터 암을 위치시키기 위해 인가되는 적절한 신호를 생성한다.
데이터가 디스크 드라이브로부터 검색될 수 있는 비율을 증가시키기 위하여, 프리패치(prefetch)된 데이터를 저장할 버퍼를 구비한다. 데이터 프리패칭은 회전 방향으로 트랙상의 타깃 데이터 바로 앞 또는 바로 뒤에 위치하는 데이터를 판독하고 이를 버퍼에 저장하는 프로세스이다. 프리패치된 데이터는 호스트에 의해 요청되지 않았지만, 호스트는 종종 이러한 데이터를 얼마 후에 요청하는 경우가 있다. 이 경우 버퍼는 데이터가 디스크에서 판독될 때보다 훨씬 빨리 프리패치된 데이터를 호스트 컴퓨터에 제공할 수 있다. 그러므로, 호스트 컴퓨터가 프리패치된 데이터를 요청할 때 수행 효율은 높아진다.
종래 디스크 드라이브에 있어서는, 일단 타깃 데이터가 판독된 후에 프리패치를 시작하고 새로운 명령이 수신될 때까지 이를 계속한다. 헤드가 다음에 판독할 데이터를 알기 위해서는 헤드 현재 위치의 앞쪽을 미리 조사(look ahead)해야 하기 때문에, 헤드의 투시(perspective)로부터, 시간적으로 뒤에 판독될 데이터는 현재 판독되고 있는 데이터의 회전방향으로 앞쪽에 위치된다. 헤드에서 바라볼 때, 회전방향으로 타깃 데이터의 앞쪽에 위치하고 타깃 데이터 후에 헤드에 도달할 데이터를 프리패치하는 것은 리드 룩 어헤드(read look ahead; RLA)로 언급된다. 새로운 명령이 수신될 때, 제어 시스템은 즉시 RLA 프리패치를 정지시키고 액추에이터 암과 헤드를 타깃 데이터쪽으로 탐색시킨다. 그리고, 헤드에서 바라볼 때, 회전방향으로 타깃 데이터 뒤쪽에 위치하고 타깃 데이터 전에 헤드에 도달하는 데이터에 대해 제로 레이턴시 프리패칭(zero latency prefetching; ZLP)을 시작한다. 일단 타깃 데이터가 도달하면, 프리패칭은 끝나고 타깃 데이터가 판독된다. 상기 프로세스는 성능을 향상시키지만, 타깃 데이터가 도달하기 전에 새로운 타깃 데이터의 트랙으로부터 프리패치된 ZLP 데이터는 버퍼에 있어 RLA 데이터만큼 유용하지 못하다. 호스트는 회전방향으로 타깃 데이터 앞쪽에 위치하고 타깃 데이터 후에 연속적으로 기록되어 있는 RLA 데이터를 종종 요청하기 때문에, RLA 데이터가 버퍼에 있는 것이 더 유용하다. 호스트는 회전방향으로 타깃 데이터 뒤쪽에 위치하고 타깃 데이터 전에 연속적으로 기록되어 있는 ZLP 데이터를 자주 요청하지 않는다.
일단 명령이 수신된 후 잠복기(latency period) 동안 RLA 데이터 프리패칭을 계속하기 위하여, 탐색이 즉시 개시되는 것보다는 지연되어야 한다. 종래 디스크드라이브는 일단 명령이 수신되면 탐색이 즉시 개시되는 것만 존재했었다. 따라서, 종래 디스크 드라이브는 일단 명령이 수신되면 덜 유용한 ZLP 데이터 대신 유용한 RLA 데이터를 프리패칭할 수 없었다.
본 발명은 하드 디스크 드라이브에 관한 것으로, 더 상세히는 회전 최적화 탐색 개시를 위한 장치 및 방법에 관한 것이다.
도 1은 본 발명의 바람직한 실시예에 따른 디스크 드라이브를 도시한 것이다.
도 2는 도 1의 디스크 드라이브를 위하여 호스트와 연결된 디스크 드라이브 시스템을 도시한 것이다.
도 3은 인접한 동심원 트랙에 방사상으로 위치한 서보 버스트에 의해 존(zone)으로 세분된 디스크를 도시한 것이다.
도 4는 2개의 트랙을 선형으로 도시한 것인데, 하나의 트랙상에는 이전 데이터 및 RLA 데이터가 위치해 있고 또다른 트랙상에는 새로운 타깃 데이터가 위치해 있다.
도 5는 도 2의 디스크 드라이브 시스템에서, 더 상세히는 도 8의 제어 시스템에서 실행되는 본 발명의 일 실시예에 따른 오퍼레이션 흐름도를 도시한 것이다.
도 6은 도 2의 디스크 드라이브 시스템에서, 더 상세히는 도 8의 제어 시스템에서 실행되는 본 발명의 또다른 실시예에 따른 오퍼레이션 흐름도를 도시한 것이다.
도 7은는 도 2의 디스크 드라이브 시스템에서, 더 상세히는 도 8의 제어 시스템에서 실행되는 본 발명의 또다른 실시예에 따른 오퍼레이션 흐름도를 도시한 것이다.
도 8은 본 발명에 따른 제어 시스템을 도시한 것이다.
최적화된 탐색 개시를 이용함으로써, 본 발명에 따른 장치 및 방법은 일단 명령이 수신되면 RLA 데이터를 프리패칭하는 디스크 드라이브에 대하여 전술한 문제점 및 또다른 문제점들을 해결한다. 탐색 실행 방법은 명령을 수신하는 단계, 그 후 즉시 탐색을 개시하는 대신 이전 타깃의 트랙으로부터 프리패칭하는 동안 탐색을 지연하는 단계, 그 후 새로운 타깃의 트랙으로부터 프리패치를 계속하는 단계를 수반한다. 상기 방법은 디스크 드라이브내 액추에이터의 현재 위치로부터 타깃 데이터 위치로의 회전 양인 액세스 회전 양(access rotation amount)을 계산한다. 탐색 회전 양(seek rotation amount)이 또한 계산되는데, 탐색 회전 양은 액추에이터 암이 이전 타깃의 트랙으로부터 새로운 타깃의 트랙으로 이동하는 시간동안의 회전 양이다. 액세스 양으로부터 탐색 양을 감산함으로써 잠복기가 결정된다. 잠복기는 버스트 카운트(burst count)로써 표현될 수 있다. 버스트 카운트는 나머지 잠복기 동안 헤드를 통과하여 회전하는 버스트의 수이다. RLA 데이터는 상기 잠복기 동안 프리패치되고, 탐색은 지연된다. 잠복기가 경과함에 따라, 버스트는 헤드를 통과하게 되고 판독된다. 버스트가 판독될 때마다, 잠복기를 나타내는 버스트 카운트는 감소한다. 그리고, 버스트 카운터가 잠복기가 끝났다는 것을 지시하는 0으로 감소할 때, 액추에이터 암은 새로운 타깃 데이터의 판독 시작 시간에 맞추어새로운 타깃 데이터로 탐색한다.
본 발명의 또다른 관점에 있어서, 탐색 개시 최적화를 위한 방법은 버스트 카운터로 표현되는 잠복기 대신 탐색 트리거 버스트(seek trigger burst)를 계산하는 단계를 수반한다. 상기 방법에 있어서는, 명령이 수신되고, 그 후 새로운 트랙으로의 탐색동안 액추에이터 암을 통과하여 회전할 서보 버스트의 수가 계산된다. 명령에서 얻어진 새로운 타깃 위치를 지시하는 서보 버스트 번호로부터 서보 버스트의 수를 감산하며, 그 결과는 헤드에 의한 1회 판독이 탐색 개시를 지시하는 트리거 버스트가 된다. 회전방향으로 이전 타깃 앞쪽에 위치하는 RLA 데이터의 프리패치는 트리거 버스트가 액추에이터 암 쪽으로 회전하고 헤드에 의해 판독될 때까지 판독된다. 이 시점에서, 액추에이터 암은 새로운 타깃 데이터의 판독 시간에 맞추어 새로운 타깃 데이터로 탐색한다.
이러한 2가지 방법은 탐색 시간을 최소화하기 위해 몇 개의 명령이 큐(qeue)되고 스케줄되는 디스크 드라이브에도 또한 적용될 수 있다. 이 경우, 각 명령을 판독하는 사이의 잠복기 또는 트리거 버스트는 모든 명령에 대해 계산된다.
본 발명의 또다른 관점에 있어서, 장치는 잠복기 카운터 또는 트리거 값을 계산하는 프로세서를 포함한다. 프로세서는 메모리에 저장된 프로그램을 실행하여 이러한 계산을 수행한다. 서보 검출기(servo detector)는 서보 버스트에 포함된 위치 정보를 판독하고, 이를 프로세서에 제공한다. 호스트 제어 로직(host control logic)은 명령들을 디코딩하고, 이를 프로세서에 제공한다. 서보 제어부(servo control)는 프로세서로부터 제어 신호를 수신하고, 판독되고 있는 현재 트랙상에 액추에이터 암을 유지시키거나 또는 새로운 트랙으로 액추에이터 암을 탐색시킨다. 버퍼 관리기(buffer manager)는 프로세서로부터 버퍼 제어 신호를 수신하며, 버퍼 제어 신호는 프리패치 데이터가 어떻게 판독되고 제공될 것인가에 대해 버퍼 관리기에 지시한다. 버퍼(buffer)는 버퍼 관리기로부터 프리패치된 데이터를 수신하고 저장하고, 이를 요청에 따라서 호스트 제어 로직에 제공한다. 프로세서는 타깃 데이터를 위하여 헤드쪽으로 회전할 액세스 회전 양 및 헤드를 새로운 트랙으로 이동시키기 위하여 액추에이터에 대한 탐색 양을 계산한다. 잠복기 값은 액세스 양으로부터 탐색 양을 감산함으로써 결정된다. 그리고, 프로세서는 서보 제어부에 지시하여 액추에이터를 현재 트랙상에 유지시키고, 버퍼 관리기에 지시하여 잠복기동안 프리패치하게 한다. 잠복기가 끝날 때, 서보 제어부는 새로운 트랙으로 탐색하도록 지시받는다.
본 발명의 또다른 관점에 있어서, 프로세서는 트리거 값을 계산한다. 트리거 버스트 또는 값은, 타깃의 서보 버스트 번호 위치를 수신하고 새로운 트랙으로탐색할 때 액추에이터를 통과하여 회전할 서보 버스트의 수를 파악함으로써 계산된다. 타깃 위치를 표현하는 서보 버스트 번호에서 탐색을 위한 서보 버스트의 수를 감산한 결과가 트리거이다. 서보 제어부는 트리거가 헤드에 의해 판독될 때까지 헤드를 현재 트랙상에 유지시키도록 지시받고, 버퍼 관리기는 트리거가 헤드에 의해 판독될 때까지 프리패치하도록 지시받는다. 서보 검출기가 헤드에 의해 판독된 트리거를 수신할 때, 서보 제어부는 새로운 트랙으로 탐색하도록 지시받는다.
타깃 데이터를 판독하기 시작하는 시간에 맞추어 액추에이터 암이 타깃 트랙에 도달하기 위해서 최종 순간까지 탐색을 지연시키는 회전 최적화 탐색 개시는, 디스크 드라이브가 유용한 데이터를 프리패치하고 버퍼에 저장하여 이러한 유용한 데이터를 요청에 의해 호스트에 효율적으로 제공할 수 있게 한다.
본 발명의 특성으로부터의 다양한 특징 및 장점들은 관련 도면을 참조하여 이하의 상세한 설명으로부터 명백해질 것이다.
디스크 드라이브는 요청에 의해서 데이터를 호스트에 제공하는 것을 돕는 많은 엘리먼트를 포함한다. 이러한 엘리먼트 중, 제어 시스템은 판독/기록 헤드를 포함하는 액추에이터을 움직인다. 본 발명에 따른 제어 시스템 실시예는 최종 순간까지 액추에이터의 움직임을 지연시킴으로써 액추에이터 암의 회전 탐색 개시를 최적화하여, 액추에이터가 타깃 데이터를 판독하기 시작하는 시간에 맞추어 새로운 트랙에 도달하게 한다. 탐색 최적화 방법은 우선 탐색 개시를 지연하는 회전 또는 시간의 양을 계산하거나 또는 탐색 개시 트리거를 찾음으로써 액추에이터의 탐색 개시를 지연한다. 회전 탐색 최적화는 다음 명령이 수신되기 전에 각 명령을 실행하는 경우 또는 몇몇 명령들이 실행되기 전에 큐되거나 또는 스케쥴이 형성되는 경우에 적용될 수 있다.
본 발명의 바람직한 실시예에 따라서 구성된 디스크 드라이브(100)가 도 1에 도시되어 있다. 디스크 드라이브(100)는 디스크 드라이브(100)의 다양한 컴포넌트가 장착되는 베이스(102)를 포함한다. 부분적으로 절단되어 도시된 상부 커버(104)는 베이스(102)와 함께 종래의 방식으로 디스크 드라이브의 밀봉된 내부를 형성한다. 컴포넌트는 일정한 속도로 하나 이상의 디스크(108)를 회전시키는스핀들 모터(106)를 포함한다. 탐색 오퍼레이션 동안 디스크(108)에 인접하여 위치한 베어링 축 부재(112)에 대하여 회전하는 액추에이터 부재(actuator assembly; 110)를 이용하여 디스크(108)상의 트랙에 정보를 기록 및 판독한다. 액추에이터 부재(110)는 디스크(108)를 향해 연장되어 있는 다수의 액추에이터 암(114)을 포함하며, 액추에이터 암(114)은 각각의 액추에이터 암(114)으로부터 연장되는 하나 이상의 만곡부(flexure; 116)를 포함한다. 각 만곡부(116)의 말단에는 헤드(118)가 장착되며, 헤드(118)는 관련 디스크(108)의 대응하는 표면에 거의 밀접하여 헤드(118)를 비행(fly)할 수 있게 하는 에어 베어링 슬라이더(air bearing slider)를 포함한다.
탐색 오퍼레이션 동안, 헤드(118)의 트랙 위치는 보이스 코일 모터(VCM; 124)를 이용하여 제어되며, 보이스 코일 모터(124)는 통상 액추에이터 부재(110)에 부착된 코일(126) 뿐만 아니라 코일이 있는 영역에 자기장을 형성하는 하나 이상의 영구자석(128)을 포함한다. 코일(126)에 제어된 전류를 인가함으로써 코일(126) 및 영구자석(128) 사이에 자기적 상호작용을 일으켜, 그 결과 코일(126)은 공지된 로렌츠 법칙에 따라서 이동하게 된다. 코일(126)이 이동함에 따라, 액추에이터 부재(110)는 베어링 축 부재(112)에 대해 피봇(pivot)되고, 헤드(118)는 디스크(108)의 표면을 가로질러 이동하게 된다.
디스크 드라이브(100)가 연장된 시간 주기동안 사용되지 않을 때에는, 통상 스핀들 모터(116)에 전류가 공급되지 않는다. 드라이브 모터에 전류가 공급되지 않는 경우, 헤드(118)는 디스크(108)의 내경 가까이의 파크 존(park zone; 120)으로 이동한다. 헤드(118)가 파킹되었을 때 액추에이터 부재(110)의 의도하지 않은 회전을 방지하는 액추에이터 래치(latch) 장치를 이용하여, 헤드(118)는 파크 존(120)에서 보호된다.
플랙스 부재(flex assembly; 130)는 오퍼레이션 동안 액추에이터 부재(110)의 피봇 움직임을 허용하는 한편, 액추에이터 부재(110)에 대하여 필요한 전기적 연결 경로를 제공한다. 플랙스 부재는 헤드의 전선(미도시)이 연결된 인쇄회로기판을 포함한다. 헤드 전선은 액추에이터 암(114) 및 만곡부(116)을 따라서 헤드(118)에 연결되어 있다. 인쇄회로기판(132)은 통상 기록 오퍼레이션 동안 헤드(108)에 인가되는 기록 전류를 제어하고 판독 오퍼레이션 동안 헤드(108)에 의해 생성된 판독 신호를 증폭하기 위한 회로를 포함한다. 플랙스 부재는 디스크 드라이브(100)의 하부면에 장착된 디스크 드라이브 인쇄회로기판(미도시)과 베이스 데크(102)를 통해서 통신하기 위한 플랙스 브래킷(flex bracket; 134)에서 끝난다.
도 2에는 도 1의 디스크 드라이브(100)의 기능 블록도가 도시되어 있는데, 이는 디스크 드라이브 인쇄회로기판에 존재하며 디스크 드라이브(100)의 오퍼레이션을 제어하는 주요 기능 회로를 보여준다. 도 2에 도시된 바와 같이, 디스크 드라이브(100)는 호스트 컴퓨터(140)에 종래의 일반적인 방식으로 장착되며, 호스트 컴퓨터(140)와 동작 가능하게 연결된다. 호스트 컴퓨터(140) 및 디스크 드라이브 마이크로프로세서(142) 사이에는 제어 통신 경로가 제공되며, 마이크로프로세서(142)는 일반적으로 마이크로프로세서 메모리(MEM)(143)에 저장된 프로그램과 함께 디스크 드라이브(100)에 대하여 최상의 통신 및 제어를 제공한다.MEM(143)은 마이크로프로세서(142)를 위하여 랜덤 액세스 메모리(RAM), 리드 온리 메모리(ROM) 및 다른 종류의 상주 메모리를 포함할 수 있다.
디스크(108)는 스핀들 제어 회로(148)에 의해서 일정한 고속으로 회전하며, 스핀들 제어 회로(148)는 통상 후 기전력(back electromotive force; BEMF) 감지를 이용하여 스핀들 모터(106)(도 1)와 전기적으로 통신한다. 탐색 오퍼레이션 동안, 헤드(118)의 트랙 위치는 액추에이터 부재(110)의 코일(126)에 전류를 인가함으로써 제어된다. 서보 제어 회로(150)가 이러한 제어를 담당한다. 도 7에 상세히 나타난 바와 같이, 탐색 오퍼레이션 동안 마이크로프로세서(142)는 헤드(118)의 속도와 관련된 정보를 수신하고, 상기 정보를 메모리(143)에 저장된 속도 프로파일과 연관시켜 이용하여 서보 제어 회로(150)와 통신하며, 서보 제어 회로(150)는 보이스 코일 모터(126)에 제어된 양의 전류를 인가함으로써 액추에이터 부재(110)를 피봇되게 한다.
디스크 드라이브 인터페이스(144)를 통해 호스트 컴퓨터(140)와 디스크 드라이브(100) 사이에 데이터가 전송되며, 디스크 드라이브 인터페이스(144)는 통상 호스트 컴퓨터(140)와 디스크 드라이브(100) 사이의 고속 데이터 전송을 용이하게 하기 위하여 버퍼를 포함한다. 이러한 버퍼는 프리패치된 데이터를 저장하기 위해 사용된다. 그러므로, 디스크 드라이브(100)에 기록될 데이터는 호스트 컴퓨터에서 인터페이스(144)를 통과하여 판독/기록 채널(146)로 전송되고, 판독/기록 채널(146)에서는 데이터를 인코딩하고 연속적으로 나열(serialize)하여 헤드(118)에 필수 기록 전류 신호를 제공한다. 디스크 드라이브(100)에 의해 이미 저장된데이터를 검색하기 위하여, 판독 신호가 헤드(118)에 의해서 생성되어 판독/기록 채널(146)에 제공되며, 판독/기록 채널(146)은 디코딩과 에러 검출 및 정정 동작을 수행하고 호스트 컴퓨터(140)로의 전송을 위하여 검색된 데이터를 인터페이스(144)로 출력한다. 이러한 디스크 드라이브(100)의 동작은 종래 기술로 공지되어 있으며, 예컨대 Shaver 등에 의해 1994년 1월 4일 특허된 미국 특허 제 5,276,662호에 기술되어 있다.
도 3은 디스크 드라이브에서 디스크(160)를 도시한 것이다. 디스크는 서보 버스트 의사-라인(quasi-line)(162)에 의해 많은 슬라이스(slice) 또는 존(zone)으로 나누어져 있다. 서보 버스트 라인의 수는 변화될 수 있으며, 도 3에서 도시된 수는 단지 예시적으로 나타낸 것이다. 이러한 서보 버스트 라인(162)은 디스크(160)의 중심에서 외부 에지로 방사상으로 연장된다. 비록 이러한 서보 버스트 라인(162)이 선으로 나타나 있고, 그 폭은 디스크의 내부에서 외부로 갈수록 약간씩 증가하지만, 서보 버스트 라인(162)에 포함된 버스트 정보는 디스크 중심으로부터의 거리에 관계없이 일정한 비율로 판독된다. 버스트 라인(162)의 각 버스트는 액추에이터를 안내하는데 이용되는 중요한 정보를 포함하고 있다. 동심원상의 트랙들(164)은 디스크(160)의 중심에 대하여 집중되어 있다. 트랙의 수도 또한 변화될 수 있는 것이며, 도 3에서는 단지 예시적으로 도시된 것이다. 디스크 드라이브에 수신된 호스트 컴퓨터로부터의 명령은 디스크상의 타깃 데이터에 대한 위치를 지시하는 트랙 정보를 포함한다. 디스크 드라이브는 몇 개의 스택된 디스크를 포함할 수 있으며, 각각의 디스크는 각 면에 데이터를 포함할 수 있다. 명령은존(zone)내의 적절한 섹터 위치에 대한 정보 뿐만 아니라 적절한 디스크 및 표면을 지시하는 정보도 또한 포함할 수 있다.
도 4는 선형 트랙에 대하여 종래의 탐색 및 본 발명에 따른 탐색을 간단하게 도시한 것이다. 회전방향으로 헤드 앞쪽에 위치한 데이터 및 회전방향으로 헤드 뒷쪽에 위치한 데이터에 대하여 종래의 방법을 부가적으로 설명하기 위해, 디스크의 회전방향은 오른쪽에서 왼쪽으로 움직이는 것으로 나타내었다. 이전의 타깃 데이터(170)가 판독된 후, 이전의 타깃 데이터(170)의 앞쪽에 위치하는 RLA 데이터(172)가 헤드를 통과하여 회전하고 프리패치된다. 명령이 큐되지 않는 종래의 탐색에 있어서는, 일단 새로운 명령이 수신되면 그 순간(174) RLA는 정지되고, 탐색(176)은 회전방향으로 새로운 타깃 데이터(180)의 뒤쪽에 위치한 ZLP 데이터(178)에 대한 프리패치가 일어나는 새로운 트랙으로 헤드의 움직임을 개시한다. 일단 새로운 타깃 데이터가 액추에이터 주위에서 회전하면, 프리패치는 정지되고 새로운 데이터(180)가 판독된다. 명령이 수신된 시간으로부터 새로운 타깃 데이터에 도달하기까지 평균 1/2 회전한다.
본 발명의 실시예에 따른 탐색(182)은 최종의 가능한 순간까지 지연된다. 명령이 수신되었을 때, 새로운 타깃 데이터를 헤드쪽으로 디스크를 회전시키는데 필요한 잠복기동안 RLA(184)는 지속된다. 그리고, 최종 가능한 순간(186)에 탐색(182)은 새로운 트랙으로 헤드를 움직이기 시작하여 새로운 타깃 데이터(180)가 시작되는 위치로 접근한다. 만약, 헤드가 타깃 데이터의 도달 전에 도착한다면, 타깃 데이터 뒤쪽에 위치한 소량의 데이터가 프리패치된다.
하나의 명령을 수행한 후 다음 명령을 수신할 수도 있지만, 디스크 드라이브에 명령이 큐될 수도 있다. 이러한 경우, 디스크 드라이브에 있는 마이크로프로세서가 탐색 시간을 최소화하도록 명령의 실행에 대한 스케줄을 작성한다. 예를 들면, 제 1 명령이 외부 트랙에 위치한 데이터의 판독이고, 제 2 명령이 내부 트랙에 위치한 데이터의 판독이며, 그리고 제 3 명령이 중간 트랙에 위치한 명령의 판독이라고 가정하자. 이러한 명령은 다른 디스크에 대한 동작이 실행되는 동안 큐된다. 그리고, 상기 명령이 실행될 때 만약 수신된 순서대로 명령이 수행된다면, 총 탐색 거리는 외부 트랙에서 내부 트랙으로의 거리에 다시 내부 트랙에서 중간 트랙으로의 거리가 합산되기 때문에 비효율적이다. 이러한 비효율성을 제거하기 위하여, 마이크로프로세서는 명령을 스케줄하여, 먼저 제 1 명령을 실행하고 그 뒤 제 3 명령을 실행한 후 마지막으로 제 2 명령을 수행한다. 이 경우에는, 총 탐색 거리가 외부 트랙에서 중간 트랙으로의 거리 및 중간 트랙에서 내부 트랙으로의 거리의 합이 된다. 명령을 스케줄하는 것은 내부 트랙에서 중간 트랙으로의 거리 만큼 총 탐색 거리를 감소시킨다.
디스크 드라이브가 명령들을 큐하는 경우, 도 4의 이전 타깃 데이터(170)는 또한 초기의 스케줄된 명령을 나타낸다. 종래 디스크 드라이브에 있어서는, 각 명령이 큐로부터 수신될 때, 시점(174 또는 186) 보다는 타깃이 판독된 후에 즉시 탐색(176)이 개시되었다. 따라서, RLA 데이터는 프리패치되지 않고, ZLP 데이터(178)가 다음 스케줄의 타깃 데이터가 도달할 때까지 버퍼로 로드된다. 새로운 타깃(180)은 다음 스케줄의 새로운 타깃 데이터를 나타낸다. 본 발명에 따른실시예는, 이전 스케줄의 타깃에 대한 판독을 완성하는 즉시 탐색하는 것이 아니라, 각각의 명령이 큐로부터 수신될 때 시점(186)에서 개시되는 지연된 탐색(182)을 이용한다. 탐색을 지연시킴으로써 최종 가능한 순간까지 유용한 RLA 데이터가 프리패치될 수 있게 한다.
도 5는 명령이 큐되지 않았을 경우 본 발명의 일 실시예에 따른 제어 시스템의 동작 흐름도를 도시한 것이다. 새로운 명령 오퍼레이션(202)은 호스트 컴퓨터로부터 새로운 인스트럭션을 수신한다. 판독 명령을 위한 타깃 데이터가 버퍼에 이미 로드되어 있는지에 대해, 캐시는 커리(query) 오퍼레이션(204) 테스트를 실행한다. 만약, 타깃 데이터가 버퍼에 로드되어 있다면, 데이터 오퍼레이션(206)은 상기 데이터를 버퍼로부터 호스트 컴퓨터로 전송한다. 만약, 버퍼에 로드되어 있지 않다면, 타깃 위치 오퍼레이션(208)은 타깃 데이터의 위치를 지시하는 트랙 및 서보 버스트 번호 또는 섹터를 획득한다. 헤드의 현재 위치는 타깃의 위치와 비교되어 액세스 회전 수를 계산한다. 액세스 양은 타깃 데이터에 도달하기 전에 헤드를 통과하여 회전하는 서보 버스트 또는 섹터의 수이다. 이러한 서보 버스트 수는 여기에 공지의 서보 버스트 샘플 주기(servo burst sample period)를 곱함으로써 시간 값으로 변환될 수 있다.
적절한 RLA를 계산하기 위하여 액세스 양을 이용하기 전에, RLA 커리 오퍼레이션(210)은 새로운 명령이 수신되기 전에 RLA가 발생되었는가를 테스트한다. 만약, 발생되지 않았다면, 트랙 커리 오퍼레이션(236)은 타깃 데이터가 액추에이터 암이 위치하는 트랙상에 위치하는가를 테스트한다. 만약, 위치하지 않는다면, 탐색 오퍼레이션(238)은 액추에이터 암을 이동시켜 헤드가 새로운 트랙상에 위치하도록 한다. 상기 단계는 최종적으로 사용된 헤드를 동일한 디스크 동일한 표면의 상이한 트랙으로 이동시킨다. 상기 단계는 또다른 헤드를 동일한 디스크의 다른 표면에 대하여 또다른 트랙으로 이동시키거나 또는 다른 디스크상의 헤드를 또다른 트랙으로 이동시키기도 한다. 탐색 오퍼레이션(238)은 또한 헤드 스위치(head switch)를 유발할 수도 있다. 헤드 스위치는, 모든 디스크에 대하여 헤드를 이동시키는 액추에이터 암 부재가 상이한 디스크 또는 동일한 디스크의 다른 표면상의 헤드를 최종적으로 사용된 헤드에 대한 트랙 반경과 동일한 반경의 트랙으로 충분히 정렬(align)시키기 위하여 이동이 필요한 경우에 발생한다. 만약, 액추에이터 암 부재가 완전히 정렬되었으면, 헤드 스위치는 어떠한 이동을 필요로 하지 않는다. 그러나, 제조상의 오차에 기인하여, 액추에이터 암 부재은 완전히 정렬되지 않을 수 있으며, 헤드 스위치는 예기되는 소정의 시간동안 액추에이터의 이동을 필요로 한다.
일단 탐색 또는 헤드 스위치가 발생되면, 판독 오퍼레이션(240)은 타깃 데이터가 헤드쪽으로 회전할 때 이를 판독한다. 만약 타깃이 동일한 디스크, 동일한 표면, 그리고 동일한 트랙에 위치하면, 탐색 또는 헤드 스위치는 요구되지 않으며, 흐름은 커리 오퍼레이션(236)에서 판독 오퍼레이션(240)으로 바로 이동한다. 일단 새로운 타깃이 판독되면, 새로운 명령 커리 오퍼레이션(242)은 새로운 명령이 수신되었는지를 테스트한다. 만약, 수신되지 않았다면, RLA 시작 오퍼레이션(244)은 리드 룩 어헤드(read look ahead; RLA) 데이터의 프리패칭을 시작한다. 만약, 새로운 명령이 커리 오퍼레이션(242)에서 수신되면, 오퍼레이션 흐름은 새로운 명령 오퍼레이션(202)으로 되돌아간다.
RLA 시작 오퍼레이션(244)에 의해 RLA가 개시된 후, 커리 오퍼레이션(246)은 버퍼가 가득 찼는지(full)를 테스트한다. 만약 가득 찼다면, 제거 오퍼레이션(248)이 버퍼내 공간에서 RLA 데이터를 제거한다. 만약 가득 차지 않았다면, RLA가 지속되는 한편, 오퍼레이션 흐름은 새로운 명령이 수신되었는지를 테스트하기 위해 커리 오퍼레이션(242)으로 되돌아간다. 상기 루프는 새로운 명령이 수신될 때까지 계속된다.
다시 RLA 커리 오퍼레이션(210)을 살펴보면, 만약 RLA가 발생된다면, 트랙 거리 오퍼레이션(212)은 현재의 트랙 위치를 파악하고 이를 새로운 타깃 트랙 위치와 비교하여 현재의 액추에이터 위치로부터 타깃 데이터까지의 거리를 계산한다. 그 후, 타깃 탐색 오퍼레이션(214)은 탐색을 위하여 적절한 탐색 시간을 선택한다. 오퍼레이션(214)은 하나의 선택적 단계이며, 단지 액추에이터 암 속도 프로파일이 변화될 경우의 디스크 드라이브에서 가능하다. 주어진 탐색에 대한 속도 프로파일이 항상 동일한 경우의 디스크 드라이브에 대해서는, 탐색 시간의 선택이 없기 때문에 오퍼레이션(214)은 제거된다.
버스트/섹터 수 결정 오퍼레이션(216)은 서보 버스트 또는 섹터에서 위치 번호인 탐색 양을 계산 및 조사하고, 새로운 트랙을 찾을 때까지 액추에이터 암을 회전시킨다. 버스트 수는 여기에 공지의 서보 버스트 주기를 곱함으로써 실제 시간값으로 변환될 수 있다. 카운트 수가 계산된 후, 흐름은 식별/저장오퍼레이션(218)으로 이동한다.
일 실시예에 있어서, 식별/저장 오퍼레이션(218)은 트리거 위치를 식별한다. 상기 트리거 서보 버스트 또는 섹터는 탐색이 개시되어야 하는 때를 지시하며, 그 결과 액추에이터 암은 새로운 타깃 데이터를 판독하기 시작하는 시간에 맞추어 적절한 트랙 위치에 도달하게 된다. 이러한 위치 트리거는 타깃 데이터의 위치를 지시하는 서보 버스트 번호 또는 섹터 값에서 탐색 양을 감산함으로써 식별된다. 탐색 양이 디스크의 1회전보다 큰 경우에는, 탐색 양의 분수 부분만이 트리거를 찾기 위해 감산된다. 트랙에 대한 섹터를 이용하면서, 트리거는 여분의 프로세싱을 필요로하지만, 보다 많은 RLA 데이터가 프리패치될 수 있도록 고해상도 탐색을 제공한다. 트리거를 발견하면, 식별/저장 오퍼레이션(218)은 보존적 계산(conservative computation)을 실행하고, 그 결과 액추에이터 암은 타깃을 판독하기 시작하는 시간이 되기 전에 타깃 트랙에 도달한다. 보존적 계산은 시스템내의 어떠한 래그(lag)가 타깃을 놓치는 것(miss)을 방지하여, 타깃이 그냥 지나친 헤드쪽으로 뒤로 가기 위하여 디스크가 완전한 1회전을 할 필요성을 없앤다. 상기와 같이 타깃을 그냥 지나치는 것은 판독 효율을 상당히 감소시킨다.
또 다른 실시예에 있어서, 식별/저장 오퍼레이션(218)은 버스트, 섹터 또는 시간에 있어 잠복기 카운트(latency count)를 계산하고 저장한다. 카운트는 0에 도달했을 때 탐색이 개시되어야 한다는 것을 지시한다. 최초 카운트 값은, 이전 타깃 데이터에서 새로운 타깃 데이터로 액추에이터 암을 통과하여 회전하는 서보 버스트 또는 섹터의 총 수인 액세스 양으로부터 감산된, 탐색동안 액추에이터 암을통과하여 회전하는 서보 버스트 또는 섹터의 수와 동일하다. 최초 카운트 값은 또한 실제 시간 유니트를 이용하여 수행될 수 있다. 최초 카운트 값은 시스템이 RLA 데이터를 프리패치하기 위하여 이용하는 잠복기 값이다. 카운트가 0으로 감소할 때까지 지연함으로써, RLA 데이터는 잠복기 값이 지속되는 동안 프리패치된다. 다시, 식별/저장 오퍼레이션(218)은 보존적일 수 있으며, 즉 타깃을 놓치는 것과 디스크의 무모한 회전을 방지하기 위하여 잠보기 값을 계산할 때 필요한 것보다 더 많은 탐색 양을 가정할 수 있다. 이는 탐색 양이 추정된 것이기 때문에 필요하다.
트리거가 식별/저장 오퍼레이션(218)에서 식별되는 경우의 실시예에 있어서, 모니터/감소(Monitor/Decrement) 오퍼레이션(220)은 서보 버스트 또는 섹터 값을 조사하면서, 서보 버스트 또는 섹터가 헤드를 통과하여 회전할 때 각각의 서보 버스트 또는 섹터를 판독한다. 카운트가 식별/저장 오퍼레이션(218)에 저장된 경우의 실시예에 있어서, 모니터/감소 오퍼레이션(220)은 서보 버스트가 헤드를 통과하여 회전할 때마다 카운트를 감소시킨다. 탐색 준비 커리 오퍼레이션(226)은 상기 일 실시예에서 오퍼레이션(220)이 트리거 값을 판독했는지 또는 상기 또다른 실시예에서 오퍼레이션(220)이 1에서 0으로 카운트를 감소시켰는지를 테스트한다. 만약 트리거가 식별되지 않거나 또는 카운트가 0으로 감소되지 않았으면, 버퍼 커리(22)은 버퍼가 가득 찼는지를 테스트하고, 만약 버퍼가 가득 차지 않았으면, 오퍼레이션 흐름은 오퍼레이션(220)으로 되돌아간다. 만약, 버퍼가 가득 찼으면, 제거 오퍼레이션(224)은 버퍼를 비우고 흐름은 오퍼레이션(220)으로 되돌아간다. 만약 트리거가 식별되었거나 또는 카운트가 0으로 감소되었으면, 흐름은 새로운 타깃이 이전 타깃을 포함하는 트랙상에 위치하는가를 테스트하는 새로운 타깃 커리 오퍼레이션(228)으로 이동한다. 만약, 동일한 트랙상에 위치한다면, 프리패치 오퍼레이션(232)에 의해 프리패치가 개시된다. 만약, 동일한 트랙상에 위치하지 않는다면, 탐색 시작 오퍼레이션(230)은 액추에이터를 적절한 위치로 이동시키고, 프리패치 오퍼레이션(232)이 시작된다. 만약, 탐색 커리 오퍼레이션(226)이 트리거 버스트가 아직 발견되지 않았거나 또는 카운트가 0이 아니라는 사실을 발견하면, 버퍼 커리 오퍼레이션(222)은 버퍼가 가득 찼는지를 검출한다. 만약, 버퍼가 가득 찼다면, 제거 오퍼레이션(224)은 버퍼의 일부를 비워 공간을 남기고 흐름은 오퍼레이션(220)으로 되돌아 간다. 만약, 커리 오퍼레이션(222)이 버퍼가 가득 차지 않았다는 것을 검출하면, 오퍼레이션(224)은 건너 뛰게 되며 흐름은 오퍼레이션(220)으로 바로 되돌아 간다.
오퍼레이션(218)에서 저장된 버스트, 시간 또는 섹터의 수가 0이 되거나 또는 오퍼레이션(218)에서 식별된 트리거가 계산된 시점에 도달될 수 있다. 이 경우, 오퍼레이션(226)은 즉시 트리거가 판독되었는지를 또는 버스트 카운트가 0인지를 검출한다. RLA 프리패치는 일어나지 않으며, 새로운 타깃이 상이한 트랙상에 위치할 경우 새로운 트랙에 대한 탐색이 즉시 개시되고, 또는 새로운 타깃이 동일한 트랙상에 위치할 경우 타깃은 즉시 판독된다.
일단 프리패치 오퍼레이션(232)이 시작되고, 만약 타깃 데이터가 액추에이터 암으로 아직 회전되지 않았다면 타깃 데이터가 도착할 때까지 프리패치는 계속된다. 오퍼레이션(218)으로부터의 보존적 트리거 또는 카운트는 액추에이터 암이 타깃 데이터 약간 앞에 도달하게 하며, 오퍼레이션(232)은 타깃 데이터가 도착하기 전의 시간을 이용하여 ZLA 데이터를 프리패치한다. 판독 타깃 오퍼레이션(234)은 타깃 데이터가 헤드에 도착할 때 디스크로부터 타깃 데이터를 판독한다. 일단 타깃 데이터가 판독되면, 흐름은 새로운 명령 커리 오퍼레이션(242)으로 이동한다.
도 6은 현재의 트랙상에 최종적으로 기록된 데이터를 지나서 RLA 프리패치가 계속되는 경우의 또다른 실시예를 도시한 것이다. 도 5에 도시된 오퍼레이션 흐름을 가지는 실시예는 트리거가 현재의 RLA 트랙상 데이터의 끝 위치에 설정되도록 구성될 수 있으며, 만약 RLA가 현재의 트랙을 지나서 연장되는 경우 끝 위치에서 0에 도달하도록 카운터를 설정할 수 있다. 그 후, 탐색은 개시되고, 회전방향으로 타깃 앞에 위치한 ZLP 데이터가 프리패치된다. RLA을 끝내고 타깃 앞의 ZLP 데이터를 프리패치하는 것보다, 오퍼레이션은 새로운 RLA의 연속 트랙 또는 헤드상의 연속적인 데이터에 대해 RLA가 계속되게 한다. 데이터가 기록될 때, 헤드가 트랙의 끝에 도달함으로써, 오퍼레이션은 데이터 기록을 계속하기 전에 새로운 트랙을 탐색해야 한다. 헤드가 새로운 트랙에 도달하고 다시 기록을 시작하기 전에, 탐색하는 동안 시간이 소요되며 디스크는 소정의 양만큼 회전한다. 상기 탐색 및 상응하는 회전 양은 헤드가 RLA 데이터를 판독하고, 그 끝에 도달하며, 그리고 RLA의 연속적인 트랙을 탐색하는데 요구되는 것과 동일한 양이다. 그러므로, RLA 트랙의 끝 위치에서 트리거된 탐색은 헤드가 도달하는 트랙의 데이터 시작 부분과 마찬가지로 헤드가 계속되는 RLA 트랙에 도달하게 한다.
RLA가 RLA 트랙의 끝 부분을 지나서 계속되는 경우, 도 6의 오퍼레이션 흐름은 도 5의 오퍼레이션 흐름으로 대체되고, 흐름은 도 5의 커리 오퍼레이션(210) 대신에 도 6의 커리 오퍼레이션(330)으로 이동된다.
커리 오퍼레이션(330)은 새로운 명령이 수신되면 RLA가 발생하는지를 테스트한다. 만약 RLA가 시작되지 않으면, 흐름은 RLA 시작 오퍼레이션(352)으로 이동하고 프리패치를 시작한다. 일단 프리패치가 시작되면, 트리거 또는 카운터가 타깃 탐색을 위하여 계산되어야 한다. 타깃 거리 계산 오퍼레이션(354)은 현재의 트랙 위치를 파악하고 이를 새로운 타깃 트랙 위치와 비교한다. 새로운 타깃 위치는 커리 오퍼레이션(330) 이전에 도 5의 오퍼레이션(208)에서 이미 파악되었다.
타깃 탐색 오퍼레이션(356)은 타깃 탐색을 위한 적절한 탐색 시간을 선택한다. 버스트/섹터 오퍼레이션(358)은 탐색 양을 계산하거나 또는 조사한다. 그 후, 식별/저장 오퍼레이션(360)은 일 실시예에서 타깃 트리거를 식별하거나 또는 다른 실시예에서 타깃 카운트를 저장한다. 그리고, 흐름은 커리 오퍼레이션(330)으로 되돌아 가서, RLA가 발생되었는지를 검출한다. 그리고, 흐름은 타깃 탐색이 개시되시 전 RLA를 지속시키기 위하여 또다른 트랙에 대한 스위치가 필요하다는 것을 지시하는 트리거 또는 0 카운트가 발생하기 전에, RLA가 현재 트랙상에 기록된 최종 데이터에 도달했는지를 검출하기 위하여 현재의 위치를 트리거 또는 카운트와 비교하는 RLA 탐색 오퍼레이션(332)으로 흐름은 이동한다.
RLA 탐색 커리 오퍼레이션(334)은 RLA의 지속이 탐색을 요구하는가에 기초하여 타깃 트리거 또는 카은트에 대한 모니터를 시작할 것인지를 결정한다. RLA 지속이 탐색을 필요로하지 않으면, 흐름은 타깃 트리거에 대한 조사를 시작하거나 또는 버스트 또는 섹터가 액추에이터에 의해 회전할 때마다 버스트/섹터 카운트를 감소시키기 시작하는 모니터/감소 오퍼레이션(334)으로 이동한다. 오퍼레이션(344)은 도 5의 오퍼레이션(220)과 동일하게 수행되고, 도 5의 나머지 오퍼레이션이 계속된다.
만약, RLA 지속이 탐색을 요구하면, 커리 오퍼레이션(334)은 흐름을 트랙 거리 오퍼레이션(355)으로 이동시킨다. 오퍼레이션(355)은 연속 RLA 트랙에서 타깃 트랙까지의 거리를 계산한다. 그리고, 타깃 탐색 오퍼레이션(357)은 타깃 탐색을 위한 적절한 탐색 시간을 선택한다. 버스트/섹터 오퍼레이션(359)은 연속 RLA 트랙에서 타깃 트랙까지 탐색을 위한 탐색 양을 계산하고 조사한다. 일 실시예에 있어서, 식별/저장 오퍼레이션(361)은 타깃 위치로부터 새로운 타깃 트리거를 식별하고, RLA 연속 트랙으로부터 새로운 탐색 양을 식별한다. 또다른 실시예에 있어서, 오퍼레이션(361)은 새로운 액세스 양 및 새로운 탐색 양으로부터 획득된 새로운 타깃 카운트를 저장한다. 새로운 액세스 양은 타깃 위치 및 RLA 연속 트랙의 시작 데이터 위치로부터 계산된다. 최종 데이터 오퍼레이션(336)은 현재 트랙에 기록된 데이터의 최종 부분을 조사하고 그 데이터가 프리패치되었는가를 탐색함으로써 RLA 연속 탐색을 개시할 시간을 계산한다. 최종 커리 오퍼레이션(338)은 현재 트랙에 대한 데이터의 끝 부분이 판독되었는가를 테스트한다. 만약 판독되지 않았으면, 흐름은 오퍼레이션(336)으로 되돌아 가서 데이터 끝 부분을 계속하여 찾는다. 만약 끝 부분이 판독되었으면, 탐색 오퍼레이션(340)은 액추에이터를 RLA 연속 트랙으로 이동시킨다.
연속 오퍼레이션(342)은 연속 트랙에서 RLA를 계속하고, 오퍼레이션 흐름은 새로운 타깃 데이터가 액추에이터 암에 대하여 회전되었는가 또는 새로운 타깃 카운트가 0에 도달했는가를 검출하는 모니터/감소 오퍼레이션(345)으로 이동된다. 헤드가 RLA 연속 트랙상에 위치할 때까지 타깃 카운트는 감소하지 않는다. 오퍼레이션(345)은 도 5의 오퍼레이션(220)과 동일하게 수행되고, 도 5의 나머지 오퍼레이션이 계속된다.
도 7은 본 발명의 또다른 실시예에 따른 제어 시스템의 오퍼레이션 흐름을 도시한 것이다. 상기 실시예는 디스크 드라이브의 마이크로컨트롤러에 의해 명령이 큐되고 스케줄될 때 오퍼레이션과 부합한다. 새로운 명령 오퍼레이션(250)은 호스트 컴퓨터로부터 새로운 명령들의 집합을 전송받아 이를 큐한다. 캐시 힛 커리 오퍼레이션(252)은 판독 명령들의 집합에 대한 타깃 데이터가 이미 버퍼에 로드되었는가를 검출한다. 만약, 버퍼에 있으면, 데이터 제공 오퍼레이션(254)은 버퍼에서 호스트 컴퓨터로 데이터를 전송한다. 타깃 커리 오퍼레이션(256)은 캐시에 타깃이 존재하는가를 검출한다. 만약, 모든 타깃 데이터가 캐시에 존재하면, 오퍼레이션 흐름은 수신 오퍼레이션(250)으로 되돌아 간다. 만약, 타깃 데이터의 일부분이 캐시에 존재하지 않는다면, 흐름은 스케줄 오퍼레이션(258)으로 이동한다. 만약, 커리 오퍼레이션(252)이 타깃 데이터가 캐시에 존재하지 않는다는 것을 검출하면, 흐름은 스케줄 오퍼레이션(258)으로 바로 이동한다. 스케줄 오퍼레이션(258)은 명령들을 저장(record)하고, 액세스 양을 최소화 한다. 스케줄 오퍼레이션(258)의 일부로서, 각각의 새로운 타깃 데이터 사이에 발생하는 액세스양 뿐만 아니라 각각의 새로운 타깃에 대한 위치가 발견된다. 액세스 양은 서보 버스트 또는 시간으로 표현될 수 있다.
거리 오퍼레이션(260)은 각각의 스케줄된 명령에 대해 액추에이터 암이 탐색해야 할 거리를 계산한다. 액추에이터는 앞에 스케줄된 타깃 데이터를 포함하는 트랙으로부터 다음에 스케줄된 타깃 데이터를 포함하는 트랙으로 탐색한다. 일단 각각에 대하여 탐색 거리가 계산되면, 시간 오퍼레이션(262)은 각각의 탐색에 대하여 적절한 시간을 획득한다. 시간 오퍼레이션(262)은 하나의 선택적 단계이며, 주어진 탐색에 대하여 변화하는 속도 프로파일을 가지는 디스크 드라이브에서만 수행된다. 시간 오퍼레이션(262)은 각 탐색에 대하여 단일 탐색 시간을 가지는 디스크 드라이브에는 포함되어 있지 않다.
버스트/섹터 오퍼레이션(264)은, 헤드가 각각의 스케줄된 명령에 대하여 탐색할 때 헤드가 지나쳐 회전하는 서보 버스트에서의 위치의 수인 탐색 양을 계산하고 조사한다. 이러한 탐색 양은 서보 버스트 또는 시간으로 표현될 수 있다. 그리고, 흐름은 식별/저장 오퍼레이션(266)으로 이동한다.
일 실시예에 있어서, 식별/저장 오퍼레이션(266)은 각각의 스케줄된 타깃 데이터 명령에 대하여 트리거를 식별한다. 이러한 트리거는 다음 스케줄의 타깃 데이터의 위치를 지시하는 서보 버스트 번호 또는 위치로부터 탐색동안 액추에이터 암에 의해 회전되는 서보 버스트 수 또는 위치를 감산함으로써 식별된다. 트리거는 탐색이 개시되어야 하는 때를 지시하고, 그 결과 액추에이터 암은 다음 스케줄의 타깃 데이터를 판독하기 시작하는 시간에 맞추어 적절한 트랙 위치에 도달하게된다. 트리거는 버스트보다는 섹터의 관점에서 유사하게 계산될 수 있다.
또다른 실시예에 있어서, 식별/저장 오퍼레이션(266)은 잠재적 기간을 표현하는 카운터를 계산하고 저장한다. 카운터는 0에 도달할 때 탐색이 개시되어야 하는 순간을 지시한다. 최초 카운터는, 앞의 스케줄된 타깃 데이터로부터 새로운 또는 다음의 스케줄된 타깃 데이터까지 액추에이터 암을 통과하여 회전하는 서보 버스트 또는 섹터의 총 수인 액세스 양으로부터 감산된, 탐색동안 액추에이터에 의해 회전되는 서보 버스트 또는 섹터의 수와 동일하다. 각 명령에 대한 최초 카운터는 시스템이 RLA 데이터를 프리패치하기 위해 이용하는 잠복기에 상응한다. RLA가 발생하는 경우에는 트랙당 섹터의 수가 일정하기 때문에, 잠복기 값은 섹터 뿐만 아니라 서보 버스트 또는 시간으로도 표현될 수 있다. 카운트가 0에 도달할 때까지 탐색을 지연시킴으로써 잠복기가 지속되는 동안 RLA 데이터는 프리패치될 수 있다.
오퍼레이션(266)에서 트리거가 식별되는 실시예에 있어서, 모니터/감소 오퍼레이션(268)은 트리거를 찾으면서 서보 버스트 또는 섹터가 액추에이터 암에 의해 회전할 때 각각의 서보 버스트 또는 섹터를 모니터한다. 오퍼레이션(266)에서 카운터가 저장되는 실시예에 있어서, 모니터/감소 오퍼레이션(268)은 서보 버스트 또는 섹터가 액추에이터 암을 통과하여 회전할 때마다 카운터를 감소시킨다. 탐색 커리 오퍼레이션(270)은 일 실시예에서 오퍼레이션(268)이 트리거를 찾았는지를 또는 또다른 실시예에서 오퍼레이션(268)이 카운트를 0으로 감소시켰는지를 테스트한다. 만약, 트리거 또는 0의 카운터가 발생되지 않았다면, 버퍼 커리 오퍼레이션(272)은 버퍼가 가득 찼는지를 검출하고, 만약 가득 차지 않았다면 흐름은 모니터/감소 오퍼레이션(268)으로 되돌아 간다. 만약 버퍼가 가득 찼다면, 제거 오퍼레이션(274)은 버퍼를 비우고 흐름은 오퍼레이션(268)로 되돌아 간다. 만약, 트리거 또는 0의 카운트가 발생되었다면, 흐름은 다음 스케줄의 타깃 데이터가 앞의 스케줄의 타깃 데이터와 동일한 트랙에 위치하는가를 검출하는 새로운 타깃 커리 오퍼레이션(276)으로 이동한다. 만약, 동일한 트랙상에 위치한다면, 프리패치 오퍼레이션(280)에 의해 프리패치가 개시된다. 만약, 동일한 트랙상에 위치하지 않는다면, 탐색 시작 오퍼레이션(278)은 액추에이터 암을 적절한 위치로 이동시키고 프리패치 오퍼레이션(280)이 시작된다. 프리패치는 타깃 판독 오퍼레이션(282)이 다음 스케줄의 타깃 데이터를 판독하기 시작하는 시간인 새로운 타깃 데이터가 액추에이터 암에 도달할 때까지 계속된다.
모든 타깃 데이터가 판독된 후, 캐시 미스(cache miss) 커리 오퍼레이션(284)은 스케줄된 모든 타깃 데이타가 판독되었는지를 검출한다. 만약, 모두 판독되지 않았다면, RLA 시작 오퍼레이션(286)은 RLA 데이타의 프리패치를 시작하고, 흐름은 오퍼레이션(268)으로 되돌아가 새로운 트리거 또는 카운트의 감소를 계속 조사한다. 만약, 스케줄된 모든 타깃 데이터가 판독되었다면, RLA 시작 오퍼레이션(288)은 RLA 데이터의 프리패치를 시작하고, 새로운 명령 커리 오퍼레이션(290)은 새로운 명령 집합이 수신되었는지를 검출한다. 만약, 새로운 명령 집합이 수신되지 않았다면, RLA 오퍼레이션(288)은 프리패치를 계속한다. 이러한 루프는 새로운 명령 집합이 수신될 때까지 계속된다. 일단 새로운 명령 집합이 수신되면, 흐름은 새로운 명령 오퍼레이션(250)으로 되돌아 간다.
도 8은 본 발명의 실시예에 따른 제어 시스템(320)을 도시한 것이다. 상기 시스템은 호스트 제어 로직(300), 프로세서(302), 메모리(304), 버퍼 관리기(306), 버퍼(314). 서보 제어부(316), 그리고 서보 검출기(306)를 포함한다. 인스트럭션은 호스트 제어 로직(300)에 의해 호스트 컴퓨터로부터 수신된다. 호스트 제어 로직(300)은 도 2에 도시된 인터페이스(144)내에 위치한다. 호스트 제어 로직(300)은 호스트 컴퓨터에 의해 수신된 인트스럭션으로부터 명령을 디코딩한다. 호스트 제어 로직(300)은 또한 버퍼(314)로부터 프리패치된 데이터를 액세스한다.
버퍼(314)는 버퍼 관리기(306)로부터 프리패치된 데이터를 수신하고, 호스트 제어 로직(300)에 의해 요청될 때까지 프리패치된 데이터를 저장한다. 버퍼(314)는 도 2의 인터페이스(144)의 일부로서 설명되어 있다.
메모리(304)는 탐색을 개시하는 때를 계산하기 위해 프로세서가 수행하는 프로그래밍 코드를 저장하고 있으며, 그 결과 타깃 데이터를 판독하는 시간에 맞추어 도달하게 된다. 메모리는 또한 탐색 거리에 대한 그리고 서보 버스트, 섹터 또는 시간에 있어서 상응하는 탐색 양에 대한 룩-업 테이블(look-up table)을 포함한다. 메모리(304)는 도 2에서 마이크로프로세서(142)의 일부로서 MEM(143)로 도시되어 있다.
서보 제어부(316)는 프로세서에 동작 가능하게 연결된다. 서보 제어부(316)는 프로세서로부터의 제어 신호에 응답하여, 서보가 액추에이터 암을 적절하게 위치하도록 구동시킨다.
버퍼 관리기(306)는 액추에이터 암에 위치한 판독/기록 헤드로부터 프리패치된 데이터를 수신한다. 버퍼 관리기(306)는 또한 프리패치된 데이터가 버퍼에 제공되는 방법에 관하여 버퍼 관리기에 지시하는 프로세서로부터 버퍼 제어 신호를 수신한다. 버퍼 관리기(306)는 도 2의 판독/기록 채널(146)에 포함될 수 있다. 버퍼 관리기(306)의 부가적인 기능은 디스크상에서 섹터의 위치를 검출하고 프로세서에 섹터의 위치를 제공하는 것이다.
서보 검출기(308)는 헤드가 서보 버스트 위를 통과할 때 액추에이터 암에 구비된 헤드에 의해 판독되는 위치 정보를 수신한다. 상기 위치 정보는 액추에이터 암의 현재 위치를 포함한다. 일 실시예에 있어서, 서보 검출기는 판독하여 신호를 프로세서에 공급하고, 프로세서는 트리거 버스트에 대하여 분석한다. 또다른 실시예에 있어서, 서보 검출기는 판독하여 신호를 프로세서에 공급하고, 프로세서는 버스트 카운트를 감소시킨다. 위치 신호는 섹터 정보 또는 서보 버스트 정보를 포함할 수 있다. 서보 검출기(308)는 또한 도 2의 판독/기록 채널(146)에 포함될 수 있다.
도 2에서 마이크로프로세서(142)로 도시된 프로세서(302)는 메모리(304)에 저장된 프로그램을 실행한다. 오퍼레이션에서, 프로세서(302)는 호스트 제어 로직(300)으로부터 명령 정보를 요청하고 수신한다. 액추에이터 암의 버스트 또는 섹터 위치 정보는 또한 서보 검출기(308)로부터 프로세서에 의해 수신된다.
일 실시예에 있어서, 호스트 컴퓨터로부터 수신된 명령 및 위치 정보에 기초하여 프로세서는 액세스 양 및 탐색 양을 계산한다. 프로세서는 메모리에 저장된 테이블에서 액추에이터 암의 현재 트랙 위치를 명령에 의해 지시된 트랙과 교차 참조(cross referencing)함으로써 탐색 양을 획득한다. 프로세서는 그 대신 거리를 알기 위해 현재의 트랙 위치와 타깃 트랙 위치를 비교하고, 메모리내 테이블을 스켄하여 탐색 거리에 상응하는 탐색 양을 조사한다. 회전 및 탐색 양은 서보 버스트, 섹터 또는 시간으로 표현될 수 있다.
액세스 양 및 탐색 양으로부터 잠복기가 계산된다. 일 실시예에 있어서, 잠복기는 액세스 양으로부터 탐색 양을 감산함으로써 얻어진다. 일단 잠복기가 계산되면, 프로세서는 잠복기가 끝날 때까지 버퍼 관리기(306)가 RLA 프리패치를 계속하도록 지시하고, 잠복기동안 액추에이터를 현재 트랙상에 유지하기 위해 서보 제어부(316)에 제어 신호를 공급한다. 프로세서(302)는 서보 검출기(308)로부터 위치 신호를 수신하고 트리거 버스트 또는 섹터를 조사함으로써 잠복기가 끝나는 시점을 검출한다. 일 실시예에 있어서, 프로세서(308)는 서보 검출기(308) 대신 버퍼 관리기(306)로부터 섹터 위치 신호를 수신할 수 있다. 프로세서(302)는 명령에 포함되어 있는 버스트 번호 또는 섹터로부터 탐색동안 요구되는 버스트 또는 섹터의 수를 감산함으로써 트리거를 계산한다. 트리거가 수신될 때, 프로세서(302)는 제어 신호를 서보 제어부(316)에 전송하여 액추에이터 암을 새로운 타깃 데이터 트랙으로 재위치시킨다. 일단 타깃 데이터가 판독/기록 헤드에 도착하면, 프로세서(302)는 또한 버퍼 관리기(306)에 지시하여 데이터를 버퍼(314)로 보내는 것을 중단시킨다.
또다른 실시예에 있어서, 프로세서(302)는 서보 검출기(308)로부터 버스트 위치 신호를 수신하거나 또는 버스트 관리기(306)나 서보 검출기(308)로부터 섹터위치 신호를 수신하고, 트리거 또는 위치에 대하여 신호를 분석한다. 일 실시예에 있어서, 트리거는 타깃 데이터 위치의 버스트 번호 또는 섹터로부터 탐색동안 요구되는 버스트 또는 섹터 수를 감산함으로써 프로세서(302)에 의해 계산된다. 탐색동안 현재 트랙에서 타깃 트랙으로 액추에이터 암을 통과하여 회전하는 서보 버스트 또는 섹터의 수는 프로세서(308)에 의해 계산되거나 또는 메모리(304)로부터 검색된다. 그 다음, 서보 버스트 또는 섹터의 수는 명령에 포함된 버스트 번호 또는 섹터로부터 감산되고, 그 결과는 트리거 위치가 된다.
일단 서보 검출기(308)가 트리거 서보 버스트 번호를 판독하고 프로세서(302) 또는 버퍼 관리기(306)에 신호하거나 또는 서보 검출기(308)가 트리거 섹터를 판독하고 프로세서(302)에 신호하면, 프로세서(302)는 적절한 제어 신호를 서보 제어부(316)에 전송하여 새로운 타깃 데이터 트랙에 대한 탐색을 개시한다. 액추에이터 암은 새로운 타깃 데이터 판독을 시작하는 시간에 맞추어 도달할 것이다.
본 발명에 따른 실시예들을 요약하면, 디스크 드라이브로부터 판독된 데이터를 버퍼에 로드시키는 방법은 다음의 단계들을 실행함으로써 구현될 수 있다. 오퍼레이션(202)에서처럼 명령이 수신되고, 오퍼레이션(208)에서처럼 서보 버스트, 섹터 및 시간에 있어 액세스 양이 타깃 위치로부터 계산된다. 오퍼레이션(214)에서처럼 서보 버스트, 섹터 및 시간에 있어 탐색 양이 파악된다. 탐색 양은 먼저 오퍼레이션(212)에서처럼 새로운 트랙에 대한 거리를 파악함으로써 획득될 수 있다. 변화가능한 탐색 시간으로 구동하기 위하여, 오퍼레이션(214)에서처럼 적절한탐색 시간이 먼저 파악될 수 있다. 그리고, 서보 버스트, 섹터 또는 시간에 있어 잠복기가 탐색 양 또는 액세스 양으로부터 계산된다. 잠복기는 오퍼레이션(218)에서처럼 액세스 양에서 탐색 양을 감산함으로써 계산된다. 오퍼레이션(220)에서처럼 타깃 데이터 앞쪽에 위치한 데이터는 잠복기와 동일한 지속기 동안 계속하여 판독된다. 그리고, 오퍼레이션(230)에서처럼 현재 트랙에서 원하는 트랙으로 탐색이 개시된다.
데이터를 버퍼에 로드시키는 또다른 방법은 다음의 단계들을 실행함으로써 구현될 수 있다. 오퍼레이션(202)에서처럼 명령이 수신된다. 오퍼레이션(216)에서처럼 탐색동안 액추에이터 암을 통과하여 회전하는 서보 버스트 또는 섹터의 수를 계산한다. 만약, 디스크 드라이브가 속도 프로파일을 변화시킬 수 있으면, 오퍼레이션(214)에서처럼 적절한 속도 프로파일이 선택되고, 탐색동안 회전되는 서보 버스트 또는 섹터의 수는 선택된 프로파일에 기초하여 계산된다. 오퍼레이션(218)에서처럼, 탐색을 트리거하는 서보 버스트 번호 또는 섹터가 파악된다. 트리거는 명령에 포함되어 있으며 타깃 데이터의 위치를 지시하는 버스트 번호 또는 섹터에서 탐색동안 액추에이터를 통과하여 회전하는 버스트 또는 섹터의 수를 감산함으로써 파악된다. 그리고, 오퍼레이션(220)에서처럼 트리거가 액추에이터 암을 통과하여 회전할 때까지 이전 타깃 데이터의 앞쪽에 위치한 데이터가 판독된다. 트리거가 액추에이터 암을 통과하여 회전할 때, 오퍼레이션(230)에서처럼 탐색은 개시되고 액추에이터 암은 현재 트랙에서 원하는 트랙으로 이동한다.
데이터를 버퍼에 로드시키는 또다른 방법은 또한 명령이 큐되고 스케줄되는경우에 적용될 수 있다. 상기 방법은 다음의 단계들을 실행함으로써 구현된다. 오퍼레이션(250)에서처럼 명령 집합이 수신된다. 오퍼레이션(258)에서처럼 상기 명령들은 탐색 시간을 최소화하기 위해 스케줄된다. 명령들이 스케줄됨에 따라, 오퍼레이션(258)에서 각 명령에 대한 액세스 양이 계산된다. 오퍼레이션(264)에서처럼 각 명령에 대한 탐색 양이 파악된다. 탐색에 대하여 다양한 탐색 시간이 존재하는 경우, 오퍼레이션(262)에서처럼 탐색 시간은 선택되고, 탐색 양은 선택된 탐색 시간에 기초하여 결정된다. 오퍼레이션(266)에서처럼 각 명령에 대해 잠복기가 계산되고, 오퍼레이션(268)에서처럼 앞의 스케줄된 명령의 앞쪽에 위치한 데이터가 잠복기와 동일한 지속기 동안 판독된다. 그리고, 각 명령에 대하여, 오퍼레이션(278)에서처럼 다음에 스케줄된 명령의 트랙으로 액추에이터의 탐색이 개시된다.
명령이 큐되는 경우 데이터를 버퍼에 로드시키는 또다른 방법은 다음의 단계들을 실행함으로써 구현된다. 오퍼레이션(250)에서처럼 명령 집합이 수신된다. 오퍼레이션(258)에서처럼 상기 명령들은 탐색 시간을 최소화하기 위해 스케줄된다. 명령에 상응하는 각각의 타깃 데이터에 대하여, 오퍼레이션(264)에서처럼 앞에 스케줄된 타깃 데이타 트랙으로부터의 탐색동안 액추에이터를 통과하여 회전할 서보 버스트 또는 섹터의 수가 결정된다. 명령에 상응하는 각각의 타깃 데이터에 대하여, 오퍼레이션(266)에서처럼, 탐색동안 회전할 버스트 또는 섹터의 수로부터 그리고 서보 버스트 번호 또는 섹터에 의해 지시되는 다음에 스케줄된 타깃 데이터의 위치로부터 탐색을 트리거하는 서보 버스트 번호 또는 섹터가 결정된다. 그리고,오퍼레이션(268)에서처럼 탐색 트리거가 액추에이터 암을 통과하여 회전할 때까지 앞에 스케줄된 타깃 데이터 앞쪽에 위치하는 데이터는 판독되어 버퍼에 저장된다. 그 후, 오퍼레이션(278)에서처럼, 탐색은 개시되고 액추에이터 암은 다음에 스케줄된 타깃 데이터를 포함하는 트랙으로 이동된다.
(320)과 같은 제어 시스템에 있어서, 프리패치된 데이터를 버퍼에 로드하는 동안 프로세서(302)는 서보 제어부(316)에 신호하여 액추에이터를 위치시킨다. 오퍼레이션(202)에서처럼 프로세서(302)는 호스트 제어 로직(300)으로부터 판독/기록 명령을 수신한다. 호스트 제어 로직(300)은 호스트 컴퓨터로부터 인스트럭션을 수신하고, 프로세서(302)를 위해 이를 디코딩한다. 프로세서(302)가 수신한 각각의 명령에 대하여, 서보 검출기(316) 또는 버퍼 관리기(306)에서 제공된 액추에이터의 현재 위치 및 명령에 의해 지시된 타깃 데이터의 시작 위치로부터 잠복기가 계산된다. 서보 버스트, 섹터 및 시간에 있어, 오퍼레이션(208)에서처럼 액세스 양을 계산하고 오퍼레이션(216)에서처럼 탐색 양을 계산함으로써 잠복기가 프로세서(302)에 의해 계산된다. 탐색 양은 메모리에서 타깃 위치 및 현재 위치를 교차 참조(cross-referencing)함으로써 파악될 수 있다. 오퍼레이션(218)에서처럼 탐색 위치는 액세스 양으로부터 감산되어 잠복기를 산출한다. 프로세서(302)는 서보 제어부(316)에 지시하여 잠복기 동안 액추에이터 암을 현재 트랙상에 유지시킨다. 프로세서(302)는 또한 버퍼 관리기(306)에 지시하여 잠복기 동안 데이터를 프리패치하여 이를 버퍼(314)로 전송시킨다. 잠복기가 끝날 때, 프로세서(302)는 서보 제어부(316)에 지시하여 오퍼레이션(230)에서처럼 새로운 타깃 데이터를 포함하는트랙상에 액추에이터를 재위치시킨다. 프로세서(302)는 메모리(300)에 포함된 프로그램을 실행하여 이러한 기능들을 수행한다.
(320)과 같은 또다른 제어 시스템에 있어서, 프리패치된 데이터를 버퍼에 로드하는 동안 프로세서(302)는 서보 제어부(316)에 신호하여 액추에이터를 위치시킨다. 오퍼레이션(202)에서처럼 프로세서(302)는 호스트 제어 로직(300)으로부터 판독/기록 명령을 수신한다. 호스트 제어 로직(300)은 호스트 컴퓨터로부터 인스트럭션을 수신하고, 프로세서(302)를 위해 이를 디코딩한다. 프로세서(302)가 수신한 각각의 명령에 대하여, 서보 검출기(316) 또는 버퍼 관리기(306)에서 제공된 액추에이터의 현재 위치 및 명령에 의해 지시된 타깃 데이터의 시작 위치로부터 탐색 트리거가 획득된다. 오퍼레이션(216)에서처럼 현재 트랙에서 원하는 트랙으로의 액추에이터 탐색동안 액추에이터 암을 통과하여 회전하는 디스크상의 서보 버스트 또는 섹터 수를 파악함으로써 탐색 트리거가 프로세서(302)에 의해 계산된다. 이 수는 탐색 양은 메모리(304)에서 현재 트랙 위치와 타깃 데이터가 있는 원하는 트랙 위치를 교차 참조(cross-referencing)함으로써 파악될 수 있다. 그리고, 탐색동안 액추에이터 암을 통과하여 회전하는 서보 버스트 또는 섹터의 수는 타깃 위치를 지시하는 서보 버스트 번호 또는 섹터에서 감산되어 오퍼레이션(218)에서처럼 트리거 버스트를 산출한다. 프로세서(302)는 서보 제어부(316)에 지시하여 탐색 트리거가 도달할 때까지 액추에이터 암을 현재 트랙상에 유지시킨다. 프로세서(302)는 또한 버퍼 관리기(306)에 지시하여 트리거가 도달할 때까지 데이터를 프리패치하여 이를 버퍼(314)로 전송시킨다. 일단 트리거가 도달하면, 프로세서(302)는 서보 제어부(316)에 지시하여 오퍼레이션(230)에서처럼 새로운 타깃 데이터를 포함하는 트랙상에 액추에이터를 재위치시킨다. 프로세서(302)는 메모리(300)에 포함된 프로그램을 실행하여 이러한 기능들을 수행한다.
본 발명이 고유의 특성 뿐만 아니라 전술한 목적 및 장점을 성취하기 위해 잘 적용될 수 있다는 것은 명백하다. 비록 전술한 바람직한 실시예는 본 발명의 개시를 위한 목적으로 설명되었지만, 여기에 개시되고 하기의 청구항으로써 정의된 본 발명의 사상을 벗어나지 않고 이로부터 다양한 변형이 있을 수 있다는 것은 본 기술분야의 당업자에게는 명백한 것이다.

Claims (18)

  1. 회전 최적화 탐색 개시에 의하여, 디스크 드라이브로부터 판독된 데이터를 버퍼에 로드시키는 방법으로서,
    a) 디스크상에 저장된 새로운 타깃 데이터에 대한 판독/기록 명령을 수신하는 단계;
    b) 현재의 새로운 타깃 데이터 위치로부터 헤드로 회전시키기 위하여, 새로운 타깃 데이터에 대한 액세스 양을 계산하는 단계;
    c) 디스크의 현재 트랙상에 위치된 헤드를 새로운 타깃 데이터를 포함하는 디스크상의 원하는 트랙으로 이동시키기 위한 탐색 양을 획득하는 단계;
    d) 액세스 양 및 탐색 양으로부터 잠복기를 계산하는 단계;
    e) 잠복기와 동일한 지속기 동안, 현재 트랙상의 이전 타깃 데이터 앞쪽에 위치한 데이터를 판독하는 단계; 및
    f) 잠복기가 끝나는 시점에서, 헤드를 포함하는 액추에이터 부재를 현재 트랙에서 원하는 트랙으로 탐색시키는 단계를 포함하는 것을 특징으로 하는 방법
  2. 제 1항에 있어서,
    액세스 양, 탐색 양, 잠복기 및 지속기는 시간의 양이고,
    잠복기와 동일한 시간의 양은 이전 타깃 데이터의 앞쪽에 위치한 데이터가 판독되는 동안 감소되며, 시간 값이 0이 될 때 잠복기가 끝나는 것을 특징으로 하는 방법.
  3. 제 1항에 있어서,
    액세스 양, 탐색 양, 잠복기 및 지속기는 서보 버스트의 수이고,
    잠복기와 동일한 서보 버스트의 수는 이전 타깃 데이터의 앞쪽에 위치한 데이터가 판독되는 동안 감소되며, 서보 버스트의 수가 0이 될 때 잠복기가 끝나는 것을 특징으로 하는 방법.
  4. 제 1항에 있어서,
    잠복기 및 지속기는 섹터의 수이고,
    잠복기와 동일한 섹터의 수는 이전 타깃 데이터의 앞쪽에 위치한 데이터가 판독되는 동안 감소되며, 섹터의 수가 0이 될 때 잠복기가 끝나는 것을 특징으로 하는 방법.
  5. 제 1항에 있어서,
    상기 단계 d)는 액세스 양으로부터 탐색 양을 감산하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 제 1항에 있어서,
    상기 탐색은 액추에이터 부재상에 위치한 헤드를 한 트랙에서 다른 트랙으로이동시키는 것을 의미하는 것을 특징으로 하는 방법.
  7. 제 1항에 있어서,
    상기 탐색은 이전에 선택된 헤드와는 상이한 액추에이터 부재상의 헤드를 선택하는 것을 의미하는 것을 특징으로 하는 방법.
  8. 제 1항에 있어서,
    상기 잠복기의 끝은 트리거 위치에 의해 식별되고,
    상기 트리거 위치는, 헤드가 탐색하는 동안 이전 타깃 데이터를 포함하는 현재 트랙으로부터 새로운 타깃 데이터를 포함하는 원하는 트랙으로 헤드를 통과하여 회전하는 위치의 수를 파악하는 단계; 및 탐색동안 헤드를 통과하여 회전하는 위치의 수 및 새로운 타깃 데이터의 위치로부터 트리거 위치를 계산하는 단계에 의해서 계산되는 것을 특징으로 하는 방법.
  9. 제 8항에 있어서,
    상기 트리거 위치를 계산하는 단계는 명령에 포함된 위치로부터 탐색동안 헤드를 통과하여 회전하는 위치의 수를 감산하는 단계를 포함하는 것을 특징으로 하는 방법.
  10. 제 8항에 있어서,
    상기 위치, 위치의 수, 그리고 트리거 위치는 서보 버스트 값인 것을 특징으로 하는 방법.
  11. 제 8항에 있어서,
    상기 위치, 위치의 수, 그리고 트리거 위치는 섹터 값인 것을 특징으로 하는 방법.
  12. 제 1항에 있어서,
    상기 수신된 명령은 명령 집합에 있는 다수의 명령 중 하나이고,
    상기 단계 a)는
    a)(i) 또다른 새로운 타깃 데이터를 위하여 명령 집합에 있어서 또다른 명령들을 수신하는 단계; 그리고
    a)(ii) 탐색 시간을 최소화하기 위하여 명령 집합에서 있어서 상기 명령 및 상기 또다른 명령들을 스케줄하는 단계를 더 포함하고;
    상기 단계 b)는 각각의 스케줄된 명령에 대하여, 앞에 스케줄된 새로운 타깃 데이터 위치로부터 헤드로 회전시키기 위하여, 다음의 새로운 타깃 데이터에 대한 액세스 양을 계산하는 단계를 더 포함하고;
    상기 단계 c)는 각각의 스케줄된 명령에 대하여, 헤드를 앞에 스케줄된 새로운 타깃 데이터를 포함하는 트랙에서 다음에 스케줄된 새로운 타깃 데이터를 포함하는 원하는 트랙으로 이동시키기 위한 탐색 양을 획득하는 단계를 더 포함하고;
    상기 단계 d)는 각각의 스케줄된 명령에 대하여, 각각의 새로운 타깃 데이터에 대해 계산된 액세스 양 및 각각의 새로운 타깃 데이터에 대해 획득된 탐색 양으로부터 각각의 새로운 타깃 데이터에 대한 잠복기를 계산하는 단계를 더 포함하고;
    상기 단계 e)는 각각의 스케줄된 명령에 대하여, 다음에 스케줄된 새로운 타깃 데이터에 대해 계산된 잠복기와 동일한 지속기 동안, 앞에 스케줄된 새로운 타깃 데이터 앞쪽에 위치한 데이터를 판독하는 단계를 더 포함하고; 그리고
    상기 단계 f)는 각각의 스케줄된 명령에 대하여, 잠복기가 끝나는 시점에서, 헤드를 포함하는 액추에이터 부재를 앞에 스케줄된 새로운 타깃 데이터를 포함하는 트랙에서 다음에 스케줄된 새로운 타깃 데이터를 포함하는 원하는 트랙으로 탐색시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  13. 제 1항에 있어서,
    상기 단계 c)는 탐색 속도 프로파일을 선택하는 단계 및 상기 속도 프로파일로부터 탐색 양을 획득하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 제 1항에 있어서,
    현재 트랙상의 데이터는 연속 트랙의 시작 위치에서 계속되고,
    상기 방법은
    g) 잠복기가 끝나기 전에 현재 트랙의 끝이 헤드로 회전하는가를 검출하는 단계;
    h) 연속 트랙의 시작 위치가 헤드에 위치할 때, 새로운 타깃 데이터 위치로부터 헤드로 회전시키기 위하여, 새로운 타깃 데이터에 대한 새로운 액세스 양을 계산하는 단계;
    i) 헤드를 연속 트랙에서 원하는 트랙으로 이동시키기 위한 새로운 탐색 양을 획득하는 단계;
    j) 새로운 액세스 양 및 새로운 탐색 양으로부터 새로운 잠복기를 계산하는 단계;
    k) 현재 트랙의 끝에 도달할 때까지, 현재 트랙상의 이전 타깃 데이터 앞쪽에 위치한 데이터를 판독하는 단계;
    l) 연속 트랙의 시작 위치로 액추에이터 부재를 탐색시키는 단계;
    m) 새로운 잠복기와 동일한 지속기 동안, 연속 트랙상에 위치한 데이터 판독을 계속하는 단계; 및
    n) 새로운 잠복기가 끝나는 시점에서, 액추에이터 부재를 연속 트랙에서 원하는 트랙으로 탐색시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  15. 호스트 컴퓨터와 인터페이스된 디스크 드라이브내 헤드에 대해, 회전 최적화 탐색 개시에 의하여, 리드 룩 어헤드(read look ahead; RLA) 데이터 획득을 최적화하는 제어 시스템으로서,
    판독/기록 명령 및 헤드 위치 정보를 수신하고, 상기 판독/기록 명령 및 헤드 위치 정보로부터 잠복기를 계산하고, 잠복기 동안에 RLA가 일어나는 동안 이전타깃 데이터를 포함하는 트랙상에 헤드를 유지시키기 위해 액추에이터 제어 신호를 제공하고, 잠복기가 끝날 때 판독/기록 명령에 상응하여 헤드를 새로운 트랙으로 탐색시키기 위해 액추에이터 제어 신호를 제공하고, 그리고 버퍼 제어 신호를 제공하는 프로세서;
    호스트 컴퓨터로부터 인스트럭션을 수신하고, 상기 인스트럭션으로부터 판독/기록 명령을 디코딩하며, 상기 판독/기록 명령을 프로세서에 제공하고, 그리고 호스트 컴퓨터에 의한 요청에 따라 프리패치된 데이터를 액세스하는 호스트 제어 로직;
    액추에이터 제어 신호를 수신하고, 그리고 액추에이터 제어 신호에 따라서 헤드를 위치시키는 서보 제어부;
    프리패치된 데이터를 수신 및 저장하고, 그리고 요청에 따라 프리패치된 데이터를 호스트 제어 로직에 제공하는 버퍼;
    헤드로부터 프리패치된 데이터를 수신하고, 프로세서로부터 버퍼 제어 신호를 수신하며, 그리고 이에 따라서 데이터를 버퍼에 로딩하는 버퍼 관리기;
    잠복기를 계산하기 위해 프로세서가 참조하는 코드를 저장하는 메모리; 및
    헤드에 의해 디스크로부터 판독된 위치 정보를 수신하고, 그리고 상기 위치 정보를 프로세서에 제공하는 서보 검출기를 포함하는 것을 특징으로 하는 제어 시스템.
  16. 제 15항에 있어서,
    상기 프로세서는, 판독/기록 명령에 포함된 새로운 타깃 데이터 위치 및 헤드에 의해 판독된 현재 위치로부터 액세스 양을 계산하고 판독/기록 명령에 포함된 새로운 타깃 데이터 트랙 위치 및 헤드에 의해 판독된 현재 트랙 위치로부터 탐색 양을 획득함으로써, 잠복기를 계산하는 것을 특징으로 하는 제어 시스템.
  17. 제 16항에 있어서,
    상기 프로세서는 액세스 양으로부터 탐색 양을 감산함으로써 잠복기를 계산하는 것을 특징으로 하는 제어 시스템.
  18. 호스트 컴퓨터와 인터페이스된 디스크 드라이브내 헤드에 대해, 회전 최적화 탐색 개시에 의하여, 리드 룩 어헤드(read look ahead; RLA) 데이터 획득을 최적화하는 제어 시스템으로서,
    헤드를 탐색할 수 있는 서보메카니즘; 및
    타깃 데이터가 도달하기 직전 헤드를 원하는 트랙에 위치시키기 위하여 탐색이 실행되어야 하는 최후 순간까지 현재 트랙에서 RLA가 계속될 수 있도록, 현재 트랙에서 타깃 데이터를 포함하는 원하는 트랙으로 헤드의 탐색을 개시하는 제어 신호를 스케줄하는 수단을 포함하는 것을 특징으로 하는 제어 시스템.
KR10-2001-7013284A 1999-04-21 2000-04-20 회전 최적화 탐색 개시를 위한 장치 및 방법 KR100417431B1 (ko)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US13028599P 1999-04-21 1999-04-21
US60/130,285 1999-04-21
US15883399P 1999-10-12 1999-10-12
US60/158,833 1999-10-12
US09/473,481 1999-12-28
US09/473,481 US6339811B1 (en) 1999-04-21 1999-12-28 Rotationally optimized seek initiation
PCT/US2000/010725 WO2000063907A2 (en) 1999-04-21 2000-04-20 Rotationally optimized seek initiation

Publications (2)

Publication Number Publication Date
KR20020001832A true KR20020001832A (ko) 2002-01-09
KR100417431B1 KR100417431B1 (ko) 2004-02-05

Family

ID=27383989

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-7013284A KR100417431B1 (ko) 1999-04-21 2000-04-20 회전 최적화 탐색 개시를 위한 장치 및 방법

Country Status (7)

Country Link
US (1) US6339811B1 (ko)
JP (1) JP2002542568A (ko)
KR (1) KR100417431B1 (ko)
CN (1) CN1165045C (ko)
DE (1) DE10084484C2 (ko)
GB (1) GB2363668B (ko)
WO (1) WO2000063907A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8077627B2 (en) 2006-08-28 2011-12-13 Samsung Electronics Co., Ltd Receiving apparatus and method in broadband wireless access system

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001022529A (ja) * 1999-06-30 2001-01-26 Internatl Business Mach Corp <Ibm> ディスクドライブ装置及びその制御方法
US6578107B1 (en) * 2000-05-25 2003-06-10 International Business Machines Corporation Method and system for prefetching data where commands are reordered for execution
US6831796B2 (en) 2000-08-15 2004-12-14 Seagate Technology Llc Amplitude modulation detection for hard disc drive write operation
JP3579395B2 (ja) * 2001-12-27 2004-10-20 株式会社東芝 ディスク記憶装置及びアクセス方法
US6907499B2 (en) * 2002-01-31 2005-06-14 Seagate Technology Llc Interrupting disc write operations to service read commands
US6968423B2 (en) * 2002-02-05 2005-11-22 Seagate Technology Llc Dynamic data access pattern detection in a block data storage device
SG103906A1 (en) 2002-03-13 2004-05-26 Toshiba Kk Method and apparatus for head positioning control in a disk drive
JP2003308667A (ja) * 2002-04-11 2003-10-31 Hitachi Ltd ディスク装置及びそのシーク制御方法
US7253981B2 (en) * 2002-04-26 2007-08-07 Seagate Technology, Llc Disc drive with reduced write latency
US7539814B2 (en) * 2002-09-05 2009-05-26 Seagate Technology Llc Selecting a target destination using seek cost indicators based on longitudinal position
US6963959B2 (en) * 2002-10-31 2005-11-08 International Business Machines Corporation Storage system and method for reorganizing data to improve prefetch effectiveness and reduce seek distance
US6965966B1 (en) 2002-10-31 2005-11-15 Western Digital Technologies, Inc. Disk drive pre-computing seek parameters for a continuation track and a next command to facilitate continuing a read-ahead or aborting the read-ahead
US7346740B2 (en) 2002-11-01 2008-03-18 Seagate Technology Llc Transferring speculative data in lieu of requested data in a data transfer operation
CN100501658C (zh) * 2002-12-20 2009-06-17 皇家飞利浦电子股份有限公司 用于便携式流播设备的功率节省方法及相关设备
US7194589B2 (en) * 2003-08-22 2007-03-20 Oracle International Corporation Reducing disk IO by full-cache write-merging
US7437502B1 (en) 2005-04-20 2008-10-14 Western Digital Technologies, Inc. Disk drive adjusting operating mode based on historical proximity of host commands
US7199966B1 (en) 2005-06-28 2007-04-03 Western Digital Technologies, Inc. Disk drive adjusting seek profile for variable seek times to reduce power dissipation
US7669044B2 (en) * 2006-09-29 2010-02-23 Microsoft Corporation Accelerated system boot
US7937541B2 (en) * 2006-10-12 2011-05-03 International Business Machines Corporation Speed selective table scan operation
US8010766B2 (en) * 2006-10-12 2011-08-30 International Business Machines Corporation Increasing buffer locality during multiple table access operations
US7870335B2 (en) * 2007-06-26 2011-01-11 Seagate Technology Llc Host adaptive seek technique environment
US7450334B1 (en) 2007-06-28 2008-11-11 Western Digital Technologies, Inc. Disk drive adjusting predictive caching based on temperature of voice coil motor
US7885033B2 (en) * 2007-11-09 2011-02-08 Seagate Technology Llc Anticipatory track switching
US8090902B1 (en) 2009-05-22 2012-01-03 Western Digital Technologies, Inc. Disk drive adjusting command execution in response to control circuitry die temperature
US8443167B1 (en) 2009-12-16 2013-05-14 Western Digital Technologies, Inc. Data storage device employing a run-length mapping table and a single address mapping table
US8134791B2 (en) * 2010-02-04 2012-03-13 Seagate Technology Llc Disc operation selection
US8194340B1 (en) 2010-03-18 2012-06-05 Western Digital Technologies, Inc. Disk drive framing write data with in-line mapping data during write operations
US8856438B1 (en) 2011-12-09 2014-10-07 Western Digital Technologies, Inc. Disk drive with reduced-size translation table
US9330715B1 (en) 2010-03-22 2016-05-03 Western Digital Technologies, Inc. Mapping of shingled magnetic recording media
US8693133B1 (en) 2010-03-22 2014-04-08 Western Digital Technologies, Inc. Systems and methods for improving sequential data rate performance using sorted data zones for butterfly format
US8687306B1 (en) 2010-03-22 2014-04-01 Western Digital Technologies, Inc. Systems and methods for improving sequential data rate performance using sorted data zones
US8699185B1 (en) 2012-12-10 2014-04-15 Western Digital Technologies, Inc. Disk drive defining guard bands to support zone sequentiality when butterfly writing shingled data tracks
US8621133B1 (en) 2010-06-29 2013-12-31 Western Digital Technologies, Inc. Reading multiple metadata files across multiple tracks
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
US8756361B1 (en) 2010-10-01 2014-06-17 Western Digital Technologies, Inc. Disk drive modifying metadata cached in a circular buffer when a write operation is aborted
US8954664B1 (en) 2010-10-01 2015-02-10 Western Digital Technologies, Inc. Writing metadata files on a disk
US8793429B1 (en) 2011-06-03 2014-07-29 Western Digital Technologies, Inc. Solid-state drive with reduced power up time
US8756382B1 (en) 2011-06-30 2014-06-17 Western Digital Technologies, Inc. Method for file based shingled data storage utilizing multiple media types
US9213493B1 (en) 2011-12-16 2015-12-15 Western Digital Technologies, Inc. Sorted serpentine mapping for storage drives
US8819367B1 (en) 2011-12-19 2014-08-26 Western Digital Technologies, Inc. Accelerated translation power recovery
US8612706B1 (en) 2011-12-21 2013-12-17 Western Digital Technologies, Inc. Metadata recovery in a disk drive
US9104578B2 (en) 2012-07-06 2015-08-11 Seagate Technology Llc Defining address ranges used to cache speculative read data
US9594685B2 (en) 2012-07-06 2017-03-14 Seagate Technology Llc Criteria for selection of data for a secondary cache
US9772948B2 (en) 2012-07-06 2017-09-26 Seagate Technology Llc Determining a criterion for movement of data from a primary cache to a secondary cache
US9529724B2 (en) 2012-07-06 2016-12-27 Seagate Technology Llc Layered architecture for hybrid controller
US9069474B2 (en) 2013-08-20 2015-06-30 Seagate Technology Llc Retention based defecting in a hybrid memory system
US9367247B2 (en) 2013-08-20 2016-06-14 Seagate Technology Llc Memory access requests in hybrid memory system
US9785564B2 (en) 2013-08-20 2017-10-10 Seagate Technology Llc Hybrid memory with associative cache
US9507719B2 (en) 2013-08-20 2016-11-29 Seagate Technology Llc Garbage collection in hybrid memory system
US8953269B1 (en) 2014-07-18 2015-02-10 Western Digital Technologies, Inc. Management of data objects in a data object zone
US9875055B1 (en) 2014-08-04 2018-01-23 Western Digital Technologies, Inc. Check-pointing of metadata

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4489378A (en) 1981-06-05 1984-12-18 International Business Machines Corporation Automatic adjustment of the quantity of prefetch data in a disk cache operation
JPS5833767A (ja) * 1981-08-21 1983-02-28 Canon Inc デイスク制御装置
US4584617A (en) * 1983-09-22 1986-04-22 Dual Systems Corporation Method and apparatus for improving the transfer time in rotating data storage systems
JPH087662B2 (ja) * 1985-10-18 1996-01-29 株式会社日立製作所 データ転送制御方法
JPS6387663A (ja) * 1986-10-01 1988-04-18 Hitachi Ltd 磁気デイスク装置のシ−ク制御方式
JPH0834050B2 (ja) * 1988-03-25 1996-03-29 日本電信電話株式会社 シーク制御回路
US4935828A (en) * 1988-06-30 1990-06-19 Wang Laboratories, Inc. Seek multitasking disk controller
US5268804A (en) * 1989-04-26 1993-12-07 International Business Machines Corporation Actuator arm controller for a storage device
US5146578A (en) 1989-05-01 1992-09-08 Zenith Data Systems Corporation Method of varying the amount of data prefetched to a cache memory in dependence on the history of data requests
US5133060A (en) 1989-06-05 1992-07-21 Compuadd Corporation Disk controller includes cache memory and a local processor which limits data transfers from memory to cache in accordance with a maximum look ahead parameter
DE69018609T2 (de) * 1989-09-13 1995-08-17 Fujitsu Ltd Verfahren und vorrichtung für die steuerung des suchens für plattenvorrichtung.
GB8927589D0 (en) * 1989-12-06 1990-02-07 Matthews Stanley J Venting device
US5483641A (en) 1991-12-17 1996-01-09 Dell Usa, L.P. System for scheduling readahead operations if new request is within a proximity of N last read requests wherein N is dependent on independent activities
US5729718A (en) * 1993-11-10 1998-03-17 Quantum Corporation System for determining lead time latency as function of head switch, seek, and rotational latencies and utilizing embedded disk drive controller for command queue reordering
US5687389A (en) * 1993-12-22 1997-11-11 Adaptec, Inc. System for controlling an automatic read operation of read cache control circuit in a disk drive controller utilizing a start counter, a working counter, and a sector counter
US5566317A (en) * 1994-06-14 1996-10-15 International Business Machines Corporation Method and apparatus for computer disk drive management
US5570332A (en) * 1995-05-25 1996-10-29 Seagate Technology, Inc. Method for reducing rotational latency in a disc drive
TW332284B (en) * 1995-10-30 1998-05-21 Sony Co Ltd Method and apparatus for controlling access to a recording disk
JPH09139033A (ja) * 1995-11-13 1997-05-27 Fujitsu Ltd 記憶装置及びシーク制御方法及び欠陥位置検出方法
JP3253535B2 (ja) * 1996-09-20 2002-02-04 富士通株式会社 ディスク装置のヘッド位置決め制御装置及び磁気ディスク装置
US6038096A (en) * 1997-08-28 2000-03-14 Samsung Electronics Co., Ltd. Adaptive sector seeking method for reducing disk drive power consumption
AU2092399A (en) * 1997-12-30 1999-07-19 Genesis One Technologies, Inc. Disk cache enhancer with dynamically sized read request based upon current cachehit rate

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8077627B2 (en) 2006-08-28 2011-12-13 Samsung Electronics Co., Ltd Receiving apparatus and method in broadband wireless access system

Also Published As

Publication number Publication date
DE10084484T1 (de) 2002-06-06
US6339811B1 (en) 2002-01-15
CN1347557A (zh) 2002-05-01
GB2363668A (en) 2002-01-02
GB2363668B (en) 2003-04-02
GB0123528D0 (en) 2001-11-21
JP2002542568A (ja) 2002-12-10
WO2000063907A2 (en) 2000-10-26
CN1165045C (zh) 2004-09-01
DE10084484C2 (de) 2003-04-30
KR100417431B1 (ko) 2004-02-05
WO2000063907A3 (en) 2001-01-11

Similar Documents

Publication Publication Date Title
KR100417431B1 (ko) 회전 최적화 탐색 개시를 위한 장치 및 방법
US6782449B1 (en) Adaptively modifying a read caching algorithm based upon the detection of a vibration state within a rotating media storage device
US6968422B1 (en) Disk drive employing a modified rotational position optimization algorithm to account for external vibrations
US6735041B1 (en) Method for seeking in a magnetic disk drive having a spiral track
US6789163B2 (en) Optimizing data transfer performance through partial write command purging in a disc drive
US6993604B2 (en) Dynamic buffer size allocation for multiplexed streaming
US6907499B2 (en) Interrupting disc write operations to service read commands
US6445531B1 (en) Disc drive method and apparatus for dynamically adjusting seek operations
US6038096A (en) Adaptive sector seeking method for reducing disk drive power consumption
JP2002197816A (ja) ディスク駆動機構におけるアクチュエータアームアセンブリの運動制御方法及び装置
US6310743B1 (en) Seek acoustics reduction with minimized performance degradation
US7808739B2 (en) Disk drive device and servo control method thereof
US9852754B1 (en) Serpentine seeks during data storage device idle periods
JP5325400B2 (ja) ハードディスクドライブ、ハードディスクドライブにおける再生方法及びコンピュータ読取可能な記録媒体
US6747838B2 (en) Thermal performance of an integrated amplifier in a disc drive
KR0146009B1 (ko) 자기 동기식 탐색 감속을 위한 방법 및 장치
US6578107B1 (en) Method and system for prefetching data where commands are reordered for execution
US6658535B1 (en) Non-interfering seek behavior modification for improved hard drive performance
US6788489B1 (en) Employing off-track capability in data access operations in a direct access storage device
KR100602297B1 (ko) 헤드 구동 방법, 헤드 구동 장치 및 그 방법과 장치를이용하는 디스크 구동 장치
US6687081B1 (en) Disk drive using seek profile to enhance fly height control
US7463445B2 (en) Method of controlling track seek in HDD and a recording medium therefor
KR20020040673A (ko) 디스크 드라이브 내 유휴-모드 가청소음 감소용 장치 및방법
US7352527B1 (en) Disk drive that balances seek speed and seek acoustics
KR100640607B1 (ko) 데이터 저장 시스템의 이상 상태 복원 제어 방법 및 이를이용한 디스크 드라이브

Legal Events

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

Payment date: 20130109

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140108

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee