JP2003316523A - データ記憶装置、実行コマンドの選択方法およびデータ処理方法 - Google Patents

データ記憶装置、実行コマンドの選択方法およびデータ処理方法

Info

Publication number
JP2003316523A
JP2003316523A JP2002110702A JP2002110702A JP2003316523A JP 2003316523 A JP2003316523 A JP 2003316523A JP 2002110702 A JP2002110702 A JP 2002110702A JP 2002110702 A JP2002110702 A JP 2002110702A JP 2003316523 A JP2003316523 A JP 2003316523A
Authority
JP
Japan
Prior art keywords
command
read
selecting
waiting time
executed
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP2002110702A
Other languages
English (en)
Inventor
Hiromi Nishinomiya
寛美 西宮
Toshio Kakihara
俊男 柿原
Akinori Yuzuba
昭典 柚場
Tomoyuki Oyama
智之 大山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2002110702A priority Critical patent/JP2003316523A/ja
Priority to US10/417,405 priority patent/US7343463B2/en
Publication of JP2003316523A publication Critical patent/JP2003316523A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

(57)【要約】 【課題】 キューの深さが深い場合に、パフォーマンス
を向上することのできる実行コマンドの選択方法を提供
する。 【解決手段】 コマンドC1の実行待ち時間D1は、基
準時間CRTの1/4周を超えている。コマンドC8の
実行待ち時間D8は8/64(1/4)周であるから、
基準時間CRT以上の要件を満たす。また、コマンドC
8の実行待ち時間D8は、走査時間SCN以上である。
したがって、コマンドC8が次に選択されるコマンドと
して選択される。この選択の後、今回のコマンド選択に
ついては、コマンドC9以降のコマンドについての実行
待ち時間の算出を打ち切る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はハード・ディスク・ド
ライブ(HDD)に代表されるデータ記憶装置に関し、
特に保持されている書き込みまたは読み出しコマンドの
中から次に実行すべきコマンドを選択する方法に関する
ものである。
【0002】
【従来の技術】HDDは、最も普及しているコンピュー
タの外部記憶装置の1つである。HDDは、磁気ディス
クに記憶されているデータを読み出し、または磁気ディ
スクにデータを書き込むための磁気ヘッドを備えてい
る。この磁気ヘッドは、VCM(Voice Coil Motor)に
よって揺動するアクチュエータ機構に保持されている。
磁気ヘッドがデータの読み出しまたはデータの書き込み
を行う場合、アクチュエータ機構を駆動することによ
り、磁気ヘッドを磁気ディスク上の所定のトラックに移
動(シーク)しかつ位置決めする。トラックは、データ
記憶の最小単位であるセクタを複数含んでいる。磁気ヘ
ッドは、磁気ディスク上に記憶されたサーボ情報を手が
かりに所定の位置への移動制御がなされる。
【0003】コンピュータからHDDに転送された書き
込みコマンドおよび読み出しコマンド(以下、両者をコ
マンドと総称する)は、HDD内のコマンド・キュー
(以下、単にキューという)に保持(キューイング)さ
れる。このキューにおいて、保持される複数のコマンド
の実行順位が決定される。ここで、実行とは、書き込み
コマンドであれば、磁気ヘッドを用いて書き込みコマン
ドに含まれるデータを磁気ディスクの所定位置に書き込
む動作をいう。また、読み出しコマンドであれば、磁気
ディスクの所定位置から磁気ヘッドを用いてデータを読
み出す動作をいう。コマンドの実行順位は、磁気ディス
ク上の目標となるトラックへのシークを開始してから当
該トラックに到達するまでのシーク時間と到達後に目標
のセクタにアクセスを開始するまでのディスク回転待ち
時間(Latency Time)とを基に、先行して選択されたコ
マンドに対応する最後尾を基点として、最も早く辿り着
ける先頭セクタを持つコマンドを、キューに保持されて
いる全てのコマンドから一つだけ選択する手法を採用し
ている。HDDにおける書き込み、読み出しのパフォー
マンスを向上させるためである。
【0004】
【発明が解決しようとする課題】以上の手法は、最短時
間で実行可能なコマンドを確実に選択するのに適してい
る。ところが、この手法はキューに保持されているコマ
ンドの数が多い場合(以下、このことを、キューが深
い、等と表現する)以下のような不具合が生じる。上述
した従来のコマンドの選択方法は、キューに保持されて
いる全てのコマンドについて、磁気ディスク上の目標と
なるトラックへのシークを開始してから当該トラックに
到達するまでのシーク時間と到達後に目標のセクタにア
クセスを開始するまでのディスク回転待ち時間を計算
(走査)する。したがって、従来の手法では、この走査
に要する時間よりも短い実行待ち時間のコマンドを選択
することができないために、周回待ちを引き起こすこと
がある。また、全てのコマンドを走査するのが間に合わ
ないために、周回待ちを引き起こすこともある。近時の
HDDは、キューが64あるいはそれ以上のコマンドを
保持するようになってきているため、キューの深さも深
くなり、以上の問題によるパフォーマンス低下が無視で
きなくなりつつある。そこで本発明は、キューの深さが
深い場合に、従来の手法に比べてパフォーマンスを向上
することのできる、実行コマンドの選択方法を提供す
る。また本発明は、この実行コマンドの選択方法を適用
したデータ記憶装置を提供する。さらに本発明は、この
実行コマンドの選択方法を適用したデータ処理方法を提
供する。
【0005】
【課題を解決するための手段】はじめに、キューの深さ
が8および64のときの従来の手法によるリオーダリン
グについて説明し、その後本発明によるリオーダリング
の説明に移ることにする。なお、 コマンドの回転待ち
時間が平均的にばらついており、シーク時間が十分に短
いものと仮定する。また、キューの中で1つのコマンド
を走査するのにかかる時間を1/128周とする。な
お、1/128周とは、磁気ディスクが1回転するのに
要する時間の1/128に相当する時間をいう。図3の
リオーダリング前の欄に示すように、キューの中にC1
〜C8の8つのコマンドが保持されているものとする。
この状態では、コンピュータから転送された順にコマン
ドC1〜C8が保持されている。各コマンドC1〜C8
の実行までにかかる待ち時間(実行待ち時間)は、図3
中に各コマンドC1〜C8に対応して示されている。従
来の手法は、実行すべきコマンド選択の際に、コマンド
C1〜C8の全てのコマンドについて実行待ち時間を算
出する。8つのコマンドC1〜C8を走査するのに要す
る時間は、8×1/128周=1/16周である。図4
は、各コマンドC1〜C8の実行待ち時間を線分で表し
たグラフである。また、図4中に、8つのコマンドC1
〜C8を走査するのに要する時間(1/16周)も示し
ている。走査時間より短い待ち時間のコマンドを選択す
ることはできないから、次に実行すべきコマンドとして
は、走査時間以上の実行待ち時間を有するコマンドの中
で一番待ち時間の短いコマンドが適している。このコマ
ンドは、図4から明らかなように、待ち時間が1/8周
のコマンドC4である。したがって、キュー内における
コマンドは、図3のリオーダリング後の欄に示すよう
に、コマンドC4が次に実行されるコマンドとして、キ
ュー内の最上位に位置することになる。
【0006】以上では、8つのコマンドを保持している
例について説明したが、次に64のコマンドがキューに
保持されている場合について図5および図6に基づいて
説明する。図5に示すように、リオーダリング前には、
コマンドC1〜C64の順に64のコマンドがキューに
保持されているものとする。なお、各コマンドの実行待
ち時間は、図5に示すとおりである。従来の手法は、実
行すべきコマンド選択の際に、コマンドC1〜C64の
全てのコマンドについて実行待ち時間を算出する。ここ
で、64のコマンドを全て走査するために必要な時間
は、64×1/128周=1/2周である。図6は、各
コマンドC1〜C64の待ち時間を線分で示したグラフ
である。また、図6中に、64のコマンドC1〜C64
を走査するのに要する時間(1/2周)も示している。
走査時間より短い実行待ち時間のコマンドを選択するこ
とはできないから、次に実行すべきコマンドとしては、
走査時間以上の実行待ち時間を有するコマンドの中で一
番待ち時間の短いコマンドが適している。このコマンド
は、図6から明らかなように、待ち時間が1/2(32
/64)周のコマンドC48である。図5に示すよう
に、リオーダリング後には、コマンドC48が次に実行
されるコマンドであることを示すキュー内の最上位に位
置することになるが、コマンドが8つ保持されている場
合に比べて、4倍も待ち時間の長いコマンドを選択する
ことになる。
【0007】そこで、例えば、1/4周(基準時間)よ
りも短い待ち時間のコマンドが見出されたならば、以後
の走査を行わない、という条件を加えることにする。こ
の例を図7および図8に基づいて説明する。図7に示す
ように、リオーダリング前には、コマンドC1〜C64
の順に64のコマンドがキューに保持されているものと
する。なお、各コマンドの待ち時間は、図7に示すとお
りであるが、この例ではリオーダリングのためにコマン
ドC1〜C64の全てについて実行待ち時間を算出する
わけではない。64個のコマンドが保持されているとき
に、前述した前提に従えば、平均して16個のコマンド
を走査したところで、1/4周(基準時間)よりも短い
待ち時間のコマンドを抽出できることになる。16個の
コマンドを走査するために必要な時間(走査時間)は、
16×1/128周=1/8周である。図8は、各コマ
ンドC1〜C64の実行待ち時間を線分で示したグラフ
である。このグラフ中には、走査時間および基準時間を
示している。走査時間が1/8(8/64)周であるか
ら、1/8周以上でかつ基準時間である1/4(16/
64)周以下の実行待ち時間のコマンドが抽出されう
る。その中で、実行待ち時間が8/64であるコマンド
C8が、最先に抽出されたものとすると、コマンドC8
が次に実行されるべきコマンドとして選択される。そし
て、コマンドC8以降のコマンドC9、C10…につい
ては、実行待ち時間の算出を打ち切る。このように、6
4個のコマンドが保持されている場合であっても、基準
時間を設けることにより、8つのコマンドが保持されて
いる場合に比べて、同等から2倍程度の実行待ち時間の
コマンドを選択できることになる。
【0008】本発明は、キューに保持されたコマンドの
リオーダリングの際に、以上の基準時間を導入するとこ
ろに特徴を有している。本発明は、外部から転送される
書き込みまたは読み出しのコマンドに基づいて、書き込
み処理または読み出し処理を実行する読み書きヘッド
と、読み書きヘッドの書き込み処理によって書き込みデ
ータが記憶され、かつ読み出し処理によって読み出しデ
ータが読み出されるディスク状記憶媒体と、コマンド
の、ディスク状記憶媒体に対する書き込みおよび/また
は読み出し順位を保持する順位保持手段と、順位保持手
段に保持されているコマンドの中から、次に実行すべき
コマンドを選択するコマンド選択手段とを備えたデータ
記憶装置に適用することができる。そして、本発明は、
このデータ記憶装置において、コマンド選択手段は、所
定の基準時間より実行待ち時間の短いコマンドを、次に
実行すべきコマンドとして選択することを特徴としてい
る。なお、選択されるコマンドの実行待ち時間は、前述
した走査時間以上の値であることを前提とする。この走
査時間は、前述のように、基準時間に基づいて定めるこ
とができる。
【0009】本発明のデータ記憶装置において、コマン
ド選択手段は、コマンド・キューに保持されているコマ
ンドについて、先行して選択されたコマンドを基点とし
てコマンド実行待ち時間を算出し、かつ所定の基準時間
と比較することにより、次に実行すべきコマンドとして
選択することができる。本発明のコマンド選択手段は、
所定の基準時間より実行待ち時間の短いコマンドを、次
に実行すべきコマンドとして選択した後に、次に実行す
べきコマンドの選択のためのコマンド実行待ち時間の算
出を打ち切る。走査時間が長くなることにより実行待ち
時間の短いコマンドを選択できなくなる事態を回避する
ためである。本発明のコマンド選択手段は、順位保持手
段に所定数以上のコマンドが保持されている場合に、所
定の基準時間より実行待ち時間の短い前記コマンドを、
次に実行すべきコマンドとして選択することが望まし
い。保持されているコマンドの数が多いほど、基準時間
の導入が有効なためである。また、本発明のコマンド選
択手段は、順位保持手段に所定数以上のコマンドが保持
されている場合に、前記所定の基準時間より実行待ち時
間の短い前記コマンドを次に実行すべきコマンドとして
選択し、次いで、順位保持手段に保持されている他のコ
マンドについて、選択されたコマンドを基点として、コ
マンド実行待ち時間を算出し、かつ所定の基準時間と比
較することにより、さらに次に実行すべきコマンドを選
択することができる。
【0010】本発明において、上述した、さらに次に実
行すべきコマンドを選択する手法を独立して実施するこ
とも可能である。したがって本発明は、外部から転送さ
れる書き込みまたは読み出しのコマンドに基づいて書き
込み処理または読み出し処理を実行する読み書きヘッド
と、読み書きヘッドの書き込み処理によって書き込みデ
ータが記憶され、かつ読み出し処理によって読み出しデ
ータが読み出されるディスク状記憶媒体と、コマンド
の、ディスク状記憶媒体に対する書き込みおよび/また
は読み出し順位を保持する順位保持手段と、順位保持手
段に保持されているコマンドの中から、次に実行すべき
コマンドを選択するコマンド選択手段と、を備えている
場合に、コマンド選択手段は、順位保持手段に所定数以
上のコマンドが保持されている場合に、次に実行すべき
第1のコマンドを選択した後に、第1のコマンドよりも
先に選択されたコマンドの実行にかかわらず、前記第1
のコマンドの次に実行する第2のコマンドを選択するこ
とを特徴とするデータ記憶装置を提供する。
【0011】本発明のデータ記憶装置は、順位保持手段
に保持されているコマンド数が前記所定数未満の場合に
は、次に実行すべき第1のコマンドを選択した後であっ
て、かつ第1のコマンドよりも先に選択されたコマンド
が実行された後に、前記第1のコマンドの次に実行する
第2のコマンドを選択することができる。
【0012】次に、本発明において、ディスク状記憶媒
体を有するデータ記憶装置のコマンド・キューにキュー
イングされた書き込みおよび/または読み出しのコマン
ドから次に実行すべきコマンドを選択する際に、コマン
ド・キューにキューイングされた所定のコマンドについ
て、実行待ち時間を求めるステップと、求められた実行
待ち時間が所定の時間的条件を具備するか否かを判断す
るステップと、をまず実行する。そして、求められた実
行待ち時間が所定の時間的条件を具備すると判断する
と、所定の時間的条件を具備した所定のコマンドを次に
実行すべきコマンドとして選択するステップを実行す
る。一方で、求められた実行待ち時間が所定の時間的条
件を具備しないと判断すると、所定のコマンドとは異な
る他のコマンドについて、実行待ち時間を求めるステッ
プを実行する。そして、ここで求められた実行待ち時間
が所定の時間的条件を具備するか否かを判断するステッ
プを実行すればよい。
【0013】本発明は以上のコマンド選択手法を用いる
ことにより、ホストから転送され、かつコマンド・キュ
ーにキューイングされた書き込みおよび/または読み出
しのコマンドを、読み書きヘッドを介して記憶媒体に対
して実行する以下のデータ処理方法が提供される。この
処理方法の要旨は、コマンド・キューにキューイングさ
れたコマンドについて、所定の基準時間内に実行可能か
否か順次判断を行い、かつ所定の基準時間内に実行可能
なコマンドが判定された時点で、当該コマンドを次に実
行すべきコマンドとして選択するコマンド選択ステップ
を含む。そして、このステップで選択されたコマンドに
基づいて、記憶媒体からのデータ読み出しまたは記憶媒
体へのデータの書き込みを実行するコマンド実行ステッ
プと、を備えることを特徴とする。
【0014】本発明のデータ処理方法において、コマン
ド選択ステップは、次に実行すべきコマンドよりも先行
して選択された先行コマンドの実行が完了する前に行わ
れるべきものである。また、コマンド選択ステップは、
ホストから転送された順番で、コマンド・キューにキュ
ーイングされたコマンドについて、所定の基準時間内に
実行可能か否か順次判断する。
【0015】
【発明の実施の形態】以下本発明の実施の形態を、ハー
ド・ディスク・ドライブを例にして詳細に説明する。図
1は、本実施の形態によるハード・ディスク・ドライブ
1の主要構成を示すブロック図である。ハード・ディス
ク・ドライブ1は、スピンドル・モータ3によって回転
駆動される磁気ディスク2上を磁気ヘッド4がシークし
かつ所定のトラック(位置)に留まって磁気ディスク2
に対してデータを書き込み、または磁気ディスク2に書
き込まれたデータを読み出すデータ記憶再生装置であ
る。磁気ディスク2は、必要に応じて単数または複数搭
載されるが、本実施の形態においては、単数の例を示し
ている。
【0016】磁気ディスク2は、ハード・ディスク・ド
ライブ1が動作しているとき、スピンドル・モータ3の
スピンドル軸を中心にして回転駆動され、ハード・ディ
スク・ドライブ1が非動作のとき、回転停止(静止)す
る。磁気ディスク2は、その表面を木の年輪状に分割し
たトラックをさらに放射状に区切ったセクタをデータの
記録最小単位としている。セクタの長さは通常512バ
イトである。磁気ディスク2の表面には、磁気ディスク
2の半径方向に沿って複数の位置情報(サーボ情報)記
憶領域が放射状に形成されており、他の領域にはデータ
記憶領域が形成されている。このサーボ情報を磁気ヘッ
ド4が読み取ることにより磁気ヘッド4の位置を知るこ
とができる。
【0017】磁気ヘッド4は、アクチュエータ5の先端
部に磁気ディスク2の表裏面に対応して2つ保持されて
いる。磁気ヘッド4は、磁気ディスク2に対してデータ
の書き込みおよび読み出しを実行する。また、磁気ディ
スク2に記憶されているサーボ情報を読み取る。磁気ヘ
ッド4は、アクチュエータ5と一体となって磁気ディス
ク2の半径方向に移動する。磁気ヘッド4が駆動しない
場合に退避するためのランプ(図示せず)が、磁気ディ
スク2よりも外方に配置されている。リード/ライト回
路11は、データの読み/書き処理を実行する。つま
り、HDC(ハード・ディスク・コントローラ)13を
介してホスト・コンピュータ20から転送された書き込
みデータを書き込み信号(電流)に変換して磁気ヘッド
4に供給する。磁気ヘッド4は、この書き込み電流に基
づいて磁気ディスク2に対してデータの書き込みを実行
する。一方、磁気ディスク2から読み出した読み出し信
号(電流)をデジタル・データに変換してHDC13を
介してホスト・コンピュータ20に出力する。サーボ信
号検出回路14は、リード/ライト回路11から出力さ
れる読み出しデータの中からサーボ情報を抽出する。前
述のように、サーボ情報は、トラック識別データおよび
バースト・パターンを含んでいる。サーボ信号検出回路
14は、抽出したサーボ情報をMPU(Micro Processi
ng Unit)12に転送する。
【0018】アクチュエータ5は、VCM(ボイス・コ
イル・モータ)6によって駆動される。VCM6は、コ
イルを要素とする可動子と永久磁石を要素とする固定子
とから構成されており、このコイルに所定の電流をVC
Mドライバ8から供給することにより、可動子を駆動さ
せ、磁気ヘッド4を磁気ディスク2上の所定位置に移動
あるいは停止させる。
【0019】HDC(ハード・ディスク・コントロー
ラ)13は、ハード・ディスク・ドライブ1のインター
フェースとしての機能を有している。その機能の1つ
は、ホスト・コンピュータ20から転送された書き込み
コマンドまたは読み出しコマンドを受けるとともに、受
けた書き込みコマンドまたは読み出しコマンドをバッフ
ァ15に転送する機能である。この書き込みコマンド
は、書き込みデータを含んでいるため、以下では適宜書
き込みデータということがある。バッファ15に一時的
に記憶された書き込みコマンドまたは読み出しコマンド
は、MPU12の指示に基づきHDC13により読み出
され、リード/ライト回路11に転送される。
【0020】コマンド・キュー16は、バッファ15に
記憶された書き込みコマンドまたは書き込みコマンドの
実行順位を保持する。この実行順位は、MPU12およ
びHDC13によって定められる。バッファ15に記憶
された書き込みコマンドまたは読み出しコマンドは、コ
マンド・キュー16に保持された実行順位にしたがって
順次磁気ディスク2に書き込みデータが書き込まれ、ま
たは読み出しデータが読み出される。MPU12は、H
DC13と連動して、ハード・ディスク・ドライブ1の
制御を担う。MPU12は、メモリ17に記憶されたプ
ログラムを解釈、実行する。このプログラムには、後述
するコマンド・キュー16のリオーダリングを実行する
ためのプログラムも含まれている。また、MPU12
は、サーボ信号検出回路14から転送されたサーボ情報
に基づいて磁気ヘッド4の位置を判断し、判断した磁気
ヘッド4の位置とターゲット位置との距離に基づいて磁
気ヘッド4への位置決め制御電流を生成してデジタル/
アナログ変換器(DAC)7に出力する。DAC7は、
MPU12から出力された位置決め制御電流をアナログ
信号(電圧信号)に変換するとともに、VCMドライバ
8に出力する。VCMドライバ8は、DAC7から受け
た電圧信号を駆動電流に変換してVCM6に供給する。
【0021】次に、図2に示すフローチャートに基づい
て、ハード・ディスク・ドライブ1における特長的なリオ
ーダリング方法について説明する。図2において、はじ
めに、コマンド選択が必要か否かの判断を行う(図2
S101)。この判断は、MPU12の指示にしたがっ
て、HDC13がバッファ15内のコマンドの記憶状況
に基づいて行う。コマンド選択が必要な場合とは、実行
待ちのコマンドが存在しない場合をいう。ただし、後述
するように、実行待ちのコマンドが存在していても、コ
マンド・キュー16に保持されているコマンドの数によ
っては、コマンド選択が必要と判断することもできる。
コマンド選択が必要と判断されると、MPU12は、所
定のコマンドCxについて、基点からターゲットまでの
シーク時間Sxを算出する(図2 S103)。ここ
で、基点とは、先行して選択されたコマンドCx−1に
ついて磁気ディスク2における書き込みまたは読み出し
がなされる位置をいい、より具体的には書き込みまたは
読み出しがなされる最後尾のセクタをいう。また、ター
ゲットとは、コマンドCxについて磁気ディスク2にお
ける書き込みまたは読み出しがなされる先頭のセクタを
いう。
【0022】次に、MPU12は、コマンドCxについ
て、基点からターゲットまでのセクタ距離を算出してこ
れを回転待ち時間Lxとする(図2 S105)。次
に、MPU12は、算出されたシーク時間Sxおよび回
転待ち時間Lxに基づいて実行待ち時間Dxを求める
(図2 S107)。具体的には、以下のとおりであ
る。まず、回転待ち時間Lxが先に算出されたシーク時
間Sx以上であれば、磁気ヘッド4のシークが間に合う
ことを意味するから、算出されたセクタ距離を実行待ち
時間Dxとする。一方、回転待ち時間Lxがシーク時間
Sx未満であれば、磁気ヘッド4のシークが間に合わな
いため、算出されたセクタ距離に1周分の回転待ち時間
をLx加算して、実行待ち時間Dxとする。
【0023】次に、MPU12は、求めた実行待ち時間
Dxが所定の基準時間CRT以下か否かの判断を行う
(図2 S109)。実行待ち時間Dxが所定の基準時
間CRT以下の場合には、さらに、実行待ち時間Dxが
走査時間SCN以上か否かの判断を行う(図2 S11
1)。この走査時間は、基準時間CRTに基づいて、後
述するように定められる。実行待ち時間Dxが走査時間
SCN以上の場合には、コマンドCxを実行すべきコマ
ンドとして選択し(図2 S113)、以後は、今回の
コマンド選択に関しては、コマンド・キュー16に保持
されているコマンドについての実行待ち時間の算出を打
ち切る。選択されたコマンドCxは適時に実行される、
つまり磁気ディスク2へのデータの書き込みまたは磁気
ディスク2からのデータの読み出しが実行される(図2
S115)。実行待ち時間Dxが所定の基準時間CR
Tを超える場合(図2 S109)、または実行待ち時
間Dxが走査時間SCN未満の場合(図2 S111)
には、S103に戻り、コマンド・キュー16に保持さ
れている他のコマンドCx+1についてS103〜S1
11の処理を実行する。
【0024】以上の図2における処理を、図7に示した
コマンド・キュー16に対して実行した場合について説
明する。なお、図7における基準時間は1/4周であ
る。まず、実行待ちのコマンドが存在しないために、コ
マンド選択が必要と判断されると(図2 S101)、
コマンド・キュー16に転送されてきた順が最も古いコ
マンドC1について、図2のS103〜S107を実行
する。コマンドC1の実行待ち時間D1は、48/64
周であるから、基準時間CRTの1/4周を超えている
(図2 S109)。そこで、次のコマンドC2以降に
ついて、図2のS103〜S107を実行する。なお、
コマンドC2〜C7もコマンドC1と同様に、その実行
待ち時間D2〜D7が基準時間CRTの1/4周を超え
ているものとする。コマンドC8の実行待ち時間D8は
8/64(1/4)周であるから、図2のS109の判
断要件を満足する。また、コマンドC8の実行待ち時間
D8は、走査時間SCN以上である(図2 S11
1)。したがって、コマンドC8が次に選択されるコマ
ンドとして選択され、図7におけるリオーダリング後の
欄に示すように、コマンドC1よりも先にコマンドC8
が実行されることになる。このコマンドC8の選択は、
先行して選択された例えばコマンドC0の実行が完了す
る前に行われる。一方で、コマンドC9以降のコマンド
については、S103〜S101の処理を行わない。な
お、64個のコマンドが保持されているときに、平均し
て16個のコマンドを走査したところで、1/4周(基
準時間)よりも短い待ち時間のコマンドを抽出できるこ
とになる。したがって、この例の場合、走査時間SCN
は、16個のコマンドを走査するために必要な時間、つ
まり16×1/128周=1/8周と定めることができ
る。
【0025】図9は、本実施の形態によるリオーダリン
グ方法を適用したときの効果を示すグラフである。この
グラフは、縦軸にパフォーマンス(IO/SEC:1秒
間におけるデータ書き込みおよび/または読み出し回
数)、横軸にコマンド・キュー16の深さを示してい
る。図9に示すように、コマンド・キュー16の深さが
16を超えると、本実施の形態によるリオーダリング方
法を適用した場合のパフォーマンスが、従来のリオーダ
リング方法を適用した場合に比べて顕著に向上している
ことがわかる。なお、従来のリオーダリング方法とは、
コマンド・キュー16に保持されている全てのコマンド
について実行待ち時間を算出し、その中で実行可能な最
短の待ち時間のコマンドを次に実行すべきコマンドとし
て選択する方法である。一方で、コマンド・キュー16
の深さが16未満の場合には、本実施の形態と従来手法
とに差異がない。したがって、本実施の形態において、
例えば、図10に示すように、S102でコマンド・キ
ュー16の深さが16以上か否かを判断し、16以上で
あればS103に進み、そうでなければ従来のリオーダ
リング方法を適用するようにしてもよい。なお、コマン
ド・キュー16の深さが16というのはあくまで一例で
あり、本発明は他の値を採用することを許容する。
【0026】S101の説明中で触れたが、本発明にお
いて、実行待ちのコマンドが存在していても、コマンド
・キュー16に保持されているコマンドの数によって
は、コマンド選択を必要と判断することもできる。例え
ば、図11に示すように、コマンド・キュー16の深さ
が8以下であるか否か判断する(図11 S101
1)。深さが8以上であれば、実行待ちのコマンド数が
0または1の場合には、前述したS103以降の処理に
進む(図11 S1012)。一方、コマンド・キュー
16の深さが8を超えない場合には、実行待ちのコマン
ドがある場合にはS103の処理には進まず、実行待ち
のコマンドがない場合にのみS103の処理に進む(図
11 S1013)。
【0027】以上の手順は、コマンド・キュー16に所
定数以上のコマンドが保持されている場合に、基準時間
により実行待ち時間の短いコマンドを次に実行すべきコ
マンドとして選択し、次いで、コマンド・キュー16に
保持されている他のコマンドについて、選択されたコマ
ンドを基点として、コマンド実行待ち時間を算出し、か
つ所定の基準時間と比較することにより、さらに次に実
行すべきコマンドを選択する。ホスト・コンピュータ2
0から、コマンドが逐次転送されるため、リオーダリン
グにおけるコマンドの選択は、1つに留めておくべきで
ある。新たに転送されたコマンドの方が、先に転送され
たコマンドよりも実行待ち時間が短いことも想定される
からである。ところが、ある程度の数のコマンドがコマ
ンド・キュー16に保持されている場合には、新たなコ
マンドが転送されてきたとしても、それが最も実行待ち
時間の短いコマンドである確率は低いことになる。した
がって、リオーダリングにおけるコマンドの選択を1つ
に留めておく必要性が低い。そこで本実施の形態におい
ては、コマンド・キュー16の深さが8を基準として、
それ以上の深さの場合には、2つまで選択することを許
容することにしたのである。
【0028】
【発明の効果】以上説明したように、本発明によるデー
タ記憶装置は、新規なリオーダリング方法を採用するこ
とにより、パフォーマンス、特にコマンド・キューの深
さが深い場合のパフォーマンス向上に有効である。
【図面の簡単な説明】
【図1】 本実施の形態によるハード・ディスク・ドラ
イブの基本構成を示すブロック図である。
【図2】 本実施の形態によるハード・ディスク・ドラ
イブのリオーダリング処理手順を示すフローチャートで
ある。
【図3】 従来のリオーダリングを説明するための図で
ある。
【図4】 従来のリオーダリングを説明するための図で
ある。
【図5】 従来のリオーダリングを説明するための図で
ある。
【図6】 従来のリオーダリングを説明するための図で
ある。
【図7】 本発明によるリオーダリングを説明するため
の図である。
【図8】 本発明によるリオーダリングを説明するため
の図である。
【図9】 本発明によるパフォーマンス向上効果を示す
グラフである。
【図10】 本実施の形態によるリオーダリング処理手
順の変形例を示すフローチャートである。
【図11】 本実施の形態によるリオーダリング処理手
順の変形例を示すフローチャートである。
【符号の説明】
1…ハード・ディスク・ドライブ、2…磁気ディスク、
3…スピンドル・モータ、4…磁気ヘッド、5…アクチ
ュエータ、6…VCM(ボイス・コイル・モータ)、7
…DAC、11…リード/ライト回路、12…MPU、
13…HDC(ハード・ディスク・コントローラ)、1
4…サーボ信号検出回路、15…バッファ、16…コマ
ンド・キュー、17…メモリ、20…ホスト・コンピュ
ータ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 西宮 寛美 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内 (72)発明者 柿原 俊男 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内 (72)発明者 柚場 昭典 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内 (72)発明者 大山 智之 神奈川県藤沢市桐原町1番地 日本アイ・ ビー・エム株式会社 藤沢事業所内 Fターム(参考) 5B065 BA01 CH15 5D044 BC01 CC05 DE91 FG19 HL02

Claims (13)

    【特許請求の範囲】
  1. 【請求項1】 外部から転送される書き込みまたは読み
    出しのコマンドに基づいて、書き込み処理または読み出
    し処理を実行する読み書きヘッドと、 前記読み書きヘッドの前記書き込み処理によって書き込
    みデータが記憶され、かつ前記読み出し処理によって読
    み出しデータが読み出されるディスク状記憶媒体と、 前記コマンドの、前記ディスク状記憶媒体に対する書き
    込みおよび/または読み出し順位を保持する順位保持手
    段と、 前記順位保持手段に保持されている前記コマンドの中か
    ら、次に実行すべきコマンドを選択するコマンド選択手
    段と、を備え、 前記コマンド選択手段は、所定の基準時間より実行待ち
    時間の短い前記コマンドを、次に実行すべきコマンドと
    して選択することを特徴とするデータ記憶装置。
  2. 【請求項2】 前記コマンド選択手段は、 前記順位保持手段に保持されている前記コマンドについ
    て、先行して選択されたコマンドを基点として前記実行
    待ち時間を算出し、かつ所定の基準時間と比較すること
    により、次に実行すべきコマンドとして選択することを
    特徴とする請求項1に記載のデータ記憶装置。
  3. 【請求項3】 前記コマンド選択手段は、 前記所定の基準時間より実行待ち時間の短い前記コマン
    ドを、次に実行すべきコマンドとして選択した後に、次
    に実行すべきコマンドの選択のための前記実行待ち時間
    の算出を打ち切ることを特徴とする請求項1に記載のデ
    ータ記憶装置。
  4. 【請求項4】 前記コマンド選択手段は、 前記順位保持手段に所定数以上の前記コマンドが保持さ
    れている場合に、前記所定の基準時間より実行待ち時間
    の短い前記コマンドを、次に実行すべきコマンドとして
    選択することを特徴とする請求項1に記載のデータ記憶
    装置。
  5. 【請求項5】 前記コマンド選択手段は、 前記順位保持手段に所定数以上の前記コマンドが保持さ
    れている場合に、前記所定の基準時間より実行待ち時間
    の短い前記コマンドを次に実行すべきコマンドとして選
    択し、 次いで、前記順位保持手段に保持されている他のコマン
    ドについて、選択された前記コマンドを基点として、コ
    マンド実行待ち時間を算出し、かつ所定の基準時間と比
    較することにより、さらに次に実行すべきコマンドを選
    択することを特徴とする請求項1に記載のデータ記憶装
    置。
  6. 【請求項6】 外部から転送される書き込みまたは読み
    出しのコマンドに基づいて書き込み処理または読み出し
    処理を実行する読み書きヘッドと、 前記読み書きヘッドの前記書き込み処理によって書き込
    みデータが記憶され、かつ前記読み出し処理によって読
    み出しデータが読み出されるディスク状記憶媒体と、前
    記コマンドの、前記ディスク状記憶媒体に対する書き込
    みおよび/または読み出し順位を保持する順位保持手段
    と、 前記順位保持手段に保持されている前記コマンドの中か
    ら、次に実行すべきコマンドを選択するコマンド選択手
    段と、を備え、 前記コマンド選択手段は、 前記順位保持手段に所定数以上の前記コマンドが保持さ
    れている場合に、次に実行すべき第1のコマンドを選択
    した後に、前記第1のコマンドよりも先に選択されたコ
    マンドの実行にかかわらず、前記第1のコマンドの次に
    実行する第2のコマンドを選択することを特徴とするデ
    ータ記憶装置。
  7. 【請求項7】 前記コマンド選択手段は、 前記順位保持手段に保持されているコマンド数が前記所
    定数未満の場合に、 次に実行すべき第1のコマンドを選択した後であって、
    かつ前記第1のコマンドよりも先に選択されたコマンド
    が実行された後に、前記第1のコマンドの次に実行する
    第2のコマンドを選択することを特徴とする請求項6に
    記載のデータ記憶装置。
  8. 【請求項8】 ディスク状記憶媒体を有するデータ記憶
    装置のコマンド・キューにキューイングされた書き込み
    および/または読み出しのコマンドから次に実行すべき
    コマンドを選択する方法であって、 前記コマンド・キューにキューイングされた所定のコマ
    ンドについて、実行待ち時間を求めるステップと、 求められた前記実行待ち時間が所定の時間的条件を具備
    するか否かを判断するステップと、を備えることを特徴
    とする実行コマンドの選択方法。
  9. 【請求項9】 求められた前記実行待ち時間が所定の時
    間的条件を具備すると判断すると、前記所定の時間的条
    件を具備した前記所定のコマンドを次に実行すべきコマ
    ンドとして選択するステップをさらに備えることを特徴
    とする請求項8に記載の実行コマンドの選択方法。
  10. 【請求項10】 求められた前記実行待ち時間が所定の
    時間的条件を具備しないと判断すると、前記所定のコマ
    ンドとは異なる他のコマンドについて、実行待ち時間を
    求めるステップと、 求められた前記実行待ち時間が所定の時間的条件を具備
    するか否かを判断するステップと、をさらに備えること
    を特徴とする請求項8に記載の実行コマンドの選択方
    法。
  11. 【請求項11】 ホストから転送され、かつコマンド・
    キューにキューイングされた書き込みおよび/または読
    み出しのコマンドを、読み書きヘッドを介して記憶媒体
    に対して実行するデータ処理方法であって、 前記コマンド・キューにキューイングされた前記コマン
    ドについて、所定の基準時間内に実行可能か否か順次判
    断を行い、かつ前記所定の基準時間内に実行可能なコマ
    ンドが判定された時点で、当該コマンドを次に実行すべ
    きコマンドとして選択するコマンド選択ステップと、選
    択された前記コマンドに基づいて、前記記憶媒体へのデ
    ータの書き込みまたは前記記憶媒体からのデータ読み出
    しを実行するコマンド実行ステップと、を備えることを
    特徴とするデータ処理方法。
  12. 【請求項12】 前記コマンド選択ステップは、 前記次に実行すべきコマンドよりも先行して選択された
    先行コマンドの実行が完了する前に行われることを特徴
    とする請求項11に記載のデータ処理方法。
  13. 【請求項13】 前記コマンド選択ステップは、 前記ホストから転送された順番で、前記コマンド・キュ
    ーにキューイングされた前記コマンドについて、所定の
    基準時間内に実行可能か否か順次判断することを特徴と
    する請求項11に記載のデータ処理方法。
JP2002110702A 2002-04-12 2002-04-12 データ記憶装置、実行コマンドの選択方法およびデータ処理方法 Pending JP2003316523A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002110702A JP2003316523A (ja) 2002-04-12 2002-04-12 データ記憶装置、実行コマンドの選択方法およびデータ処理方法
US10/417,405 US7343463B2 (en) 2002-04-12 2003-04-15 Data storage unit, executable command selection method, and data processing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002110702A JP2003316523A (ja) 2002-04-12 2002-04-12 データ記憶装置、実行コマンドの選択方法およびデータ処理方法

Publications (1)

Publication Number Publication Date
JP2003316523A true JP2003316523A (ja) 2003-11-07

Family

ID=29533401

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002110702A Pending JP2003316523A (ja) 2002-04-12 2002-04-12 データ記憶装置、実行コマンドの選択方法およびデータ処理方法

Country Status (2)

Country Link
US (1) US7343463B2 (ja)
JP (1) JP2003316523A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343463B2 (en) 2002-04-12 2008-03-11 Hitachi Global Storage Technologies Netherlands B.V. Data storage unit, executable command selection method, and data processing method
US7664884B2 (en) 2004-11-11 2010-02-16 Hitachi Global Storage Technologies Netherlands B.V. Media drive that creates a transfer unnecessary period, and power saving method thereof

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004335020A (ja) * 2003-05-09 2004-11-25 Fujitsu Ltd ストリーム系コマンドの書込み処理方法及び媒体記憶装置
JP2005115600A (ja) * 2003-10-07 2005-04-28 Hitachi Ltd 情報処理装置及び方法
US7966439B1 (en) * 2004-11-24 2011-06-21 Nvidia Corporation Apparatus, system, and method for a fast data return memory controller
US8019936B1 (en) * 2007-04-10 2011-09-13 Marvell International Ltd. Fast disk start system
US7991948B2 (en) * 2008-01-30 2011-08-02 International Business Machines Corporation Optimizing execution of I/O requests for a disk drive in a computing system
KR102002899B1 (ko) * 2012-12-18 2019-07-23 삼성전자 주식회사 시스템-온 칩, 이의 동작 방법, 및 이를 포함하는 장치
US11182258B2 (en) * 2019-01-04 2021-11-23 Western Digital Technologies, Inc. Data rebuild using dynamic peer work allocation
CN113162803B (zh) * 2021-04-15 2022-12-23 浪潮思科网络科技有限公司 一种基于二分法的串口控制方法、设备及介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311256B2 (en) * 1997-06-30 2001-10-30 Emc Corporation Command insertion and reordering at the same storage controller
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
JP3712567B2 (ja) 1999-07-23 2005-11-02 富士通株式会社 記憶装置
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
US6681289B2 (en) * 2002-01-25 2004-01-20 International Business Machines Corporation System and method for efficiently sorting DASD queued commands with unknown rotational latency
JP2003316523A (ja) 2002-04-12 2003-11-07 Internatl Business Mach Corp <Ibm> データ記憶装置、実行コマンドの選択方法およびデータ処理方法
US7007138B2 (en) * 2002-04-17 2006-02-28 Matsushita Electric Industiral Co., Ltd. Apparatus, method, and computer program for resource request arbitration

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7343463B2 (en) 2002-04-12 2008-03-11 Hitachi Global Storage Technologies Netherlands B.V. Data storage unit, executable command selection method, and data processing method
US7664884B2 (en) 2004-11-11 2010-02-16 Hitachi Global Storage Technologies Netherlands B.V. Media drive that creates a transfer unnecessary period, and power saving method thereof

Also Published As

Publication number Publication date
US7343463B2 (en) 2008-03-11
US20040210711A1 (en) 2004-10-21

Similar Documents

Publication Publication Date Title
US7373460B2 (en) Media drive and command execution method thereof
US20050166014A1 (en) Data transmission control method and storage device
JP2003308176A (ja) データ記憶装置、コマンド・キューのリオーダリング方法、データ処理方法およびプログラム
US6957311B2 (en) Data storage apparatus, computer apparatus, data processing apparatus, and data processing method
KR20060042133A (ko) 데이터 기억 장치, 그 제어 방법 및 자기 디스크 기억 장치
JP4630933B2 (ja) ディスクコントローラ、ディスクドライブ装置、及びディスク制御方法
JP2003316523A (ja) データ記憶装置、実行コマンドの選択方法およびデータ処理方法
US5860089A (en) Disk system with command processing function
JPH10149260A (ja) ディスクドライブにおける読出キャッシュ方式
US20040015878A1 (en) Reordering controller, reordering method and storage apparatus
JP2001034423A (ja) 記憶装置
US20060129716A1 (en) Data storage device and buffer control method thereof
JP2010027105A (ja) ディスク・ドライブ装置及びそのエラー回復処理の方法
JP5030387B2 (ja) データ記憶装置
JP2005025829A (ja) ディスク記憶装置及びデータストリーム制御方法
US6697913B1 (en) Seek queue for improved disk drive performance
US20100017633A1 (en) Memory device, control device for memory device, and control method for memory device
US6728060B1 (en) Disc drive with delayed reassignment write
US11656797B2 (en) Data storage device executing runt write commands as free commands
US11875829B2 (en) Magnetic disk device and reordering method
JP3080758B2 (ja) 磁気ディスク装置
JP2018163725A (ja) 磁気ディスク装置、コントローラ及びシーク方法
JP2009054209A (ja) 不揮発性半導体メモリ装置を有するディスク・ドライブ装置及びそのディスク・ドライブ装置において不揮発性半導体メモリ装置にデータを格納する方法
US6961198B2 (en) Method and apparatus for controlling data read/write between a hard disk and a hard disk controller
JP2012038330A (ja) ハードディスクドライブ

Legal Events

Date Code Title Description
RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20040826

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20050407

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050411

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070508

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070706

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20070706

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070828