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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk 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
を向上することのできる実行コマンドの選択方法を提供
する。 【解決手段】 コマンドC1の実行待ち時間D1は、基
準時間CRTの1/4周を超えている。コマンドC8の
実行待ち時間D8は8/64(1/4)周であるから、
基準時間CRT以上の要件を満たす。また、コマンドC
8の実行待ち時間D8は、走査時間SCN以上である。
したがって、コマンドC8が次に選択されるコマンドと
して選択される。この選択の後、今回のコマンド選択に
ついては、コマンドC9以降のコマンドについての実行
待ち時間の算出を打ち切る。
Description
ライブ(HDD)に代表されるデータ記憶装置に関し、
特に保持されている書き込みまたは読み出しコマンドの
中から次に実行すべきコマンドを選択する方法に関する
ものである。
タの外部記憶装置の1つである。HDDは、磁気ディス
クに記憶されているデータを読み出し、または磁気ディ
スクにデータを書き込むための磁気ヘッドを備えてい
る。この磁気ヘッドは、VCM(Voice Coil Motor)に
よって揺動するアクチュエータ機構に保持されている。
磁気ヘッドがデータの読み出しまたはデータの書き込み
を行う場合、アクチュエータ機構を駆動することによ
り、磁気ヘッドを磁気ディスク上の所定のトラックに移
動(シーク)しかつ位置決めする。トラックは、データ
記憶の最小単位であるセクタを複数含んでいる。磁気ヘ
ッドは、磁気ディスク上に記憶されたサーボ情報を手が
かりに所定の位置への移動制御がなされる。
込みコマンドおよび読み出しコマンド(以下、両者をコ
マンドと総称する)は、HDD内のコマンド・キュー
(以下、単にキューという)に保持(キューイング)さ
れる。このキューにおいて、保持される複数のコマンド
の実行順位が決定される。ここで、実行とは、書き込み
コマンドであれば、磁気ヘッドを用いて書き込みコマン
ドに含まれるデータを磁気ディスクの所定位置に書き込
む動作をいう。また、読み出しコマンドであれば、磁気
ディスクの所定位置から磁気ヘッドを用いてデータを読
み出す動作をいう。コマンドの実行順位は、磁気ディス
ク上の目標となるトラックへのシークを開始してから当
該トラックに到達するまでのシーク時間と到達後に目標
のセクタにアクセスを開始するまでのディスク回転待ち
時間(Latency Time)とを基に、先行して選択されたコ
マンドに対応する最後尾を基点として、最も早く辿り着
ける先頭セクタを持つコマンドを、キューに保持されて
いる全てのコマンドから一つだけ選択する手法を採用し
ている。HDDにおける書き込み、読み出しのパフォー
マンスを向上させるためである。
間で実行可能なコマンドを確実に選択するのに適してい
る。ところが、この手法はキューに保持されているコマ
ンドの数が多い場合(以下、このことを、キューが深
い、等と表現する)以下のような不具合が生じる。上述
した従来のコマンドの選択方法は、キューに保持されて
いる全てのコマンドについて、磁気ディスク上の目標と
なるトラックへのシークを開始してから当該トラックに
到達するまでのシーク時間と到達後に目標のセクタにア
クセスを開始するまでのディスク回転待ち時間を計算
(走査)する。したがって、従来の手法では、この走査
に要する時間よりも短い実行待ち時間のコマンドを選択
することができないために、周回待ちを引き起こすこと
がある。また、全てのコマンドを走査するのが間に合わ
ないために、周回待ちを引き起こすこともある。近時の
HDDは、キューが64あるいはそれ以上のコマンドを
保持するようになってきているため、キューの深さも深
くなり、以上の問題によるパフォーマンス低下が無視で
きなくなりつつある。そこで本発明は、キューの深さが
深い場合に、従来の手法に比べてパフォーマンスを向上
することのできる、実行コマンドの選択方法を提供す
る。また本発明は、この実行コマンドの選択方法を適用
したデータ記憶装置を提供する。さらに本発明は、この
実行コマンドの選択方法を適用したデータ処理方法を提
供する。
が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が次に実行されるコマンドとして、キ
ュー内の最上位に位置することになる。
例について説明したが、次に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倍も待ち時間の長いコマンドを選択する
ことになる。
りも短い待ち時間のコマンドが見出されたならば、以後
の走査を行わない、という条件を加えることにする。こ
の例を図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倍程度の実行待ち時間の
コマンドを選択できることになる。
リオーダリングの際に、以上の基準時間を導入するとこ
ろに特徴を有している。本発明は、外部から転送される
書き込みまたは読み出しのコマンドに基づいて、書き込
み処理または読み出し処理を実行する読み書きヘッド
と、読み書きヘッドの書き込み処理によって書き込みデ
ータが記憶され、かつ読み出し処理によって読み出しデ
ータが読み出されるディスク状記憶媒体と、コマンド
の、ディスク状記憶媒体に対する書き込みおよび/また
は読み出し順位を保持する順位保持手段と、順位保持手
段に保持されているコマンドの中から、次に実行すべき
コマンドを選択するコマンド選択手段とを備えたデータ
記憶装置に適用することができる。そして、本発明は、
このデータ記憶装置において、コマンド選択手段は、所
定の基準時間より実行待ち時間の短いコマンドを、次に
実行すべきコマンドとして選択することを特徴としてい
る。なお、選択されるコマンドの実行待ち時間は、前述
した走査時間以上の値であることを前提とする。この走
査時間は、前述のように、基準時間に基づいて定めるこ
とができる。
ド選択手段は、コマンド・キューに保持されているコマ
ンドについて、先行して選択されたコマンドを基点とし
てコマンド実行待ち時間を算出し、かつ所定の基準時間
と比較することにより、次に実行すべきコマンドとして
選択することができる。本発明のコマンド選択手段は、
所定の基準時間より実行待ち時間の短いコマンドを、次
に実行すべきコマンドとして選択した後に、次に実行す
べきコマンドの選択のためのコマンド実行待ち時間の算
出を打ち切る。走査時間が長くなることにより実行待ち
時間の短いコマンドを選択できなくなる事態を回避する
ためである。本発明のコマンド選択手段は、順位保持手
段に所定数以上のコマンドが保持されている場合に、所
定の基準時間より実行待ち時間の短い前記コマンドを、
次に実行すべきコマンドとして選択することが望まし
い。保持されているコマンドの数が多いほど、基準時間
の導入が有効なためである。また、本発明のコマンド選
択手段は、順位保持手段に所定数以上のコマンドが保持
されている場合に、前記所定の基準時間より実行待ち時
間の短い前記コマンドを次に実行すべきコマンドとして
選択し、次いで、順位保持手段に保持されている他のコ
マンドについて、選択されたコマンドを基点として、コ
マンド実行待ち時間を算出し、かつ所定の基準時間と比
較することにより、さらに次に実行すべきコマンドを選
択することができる。
行すべきコマンドを選択する手法を独立して実施するこ
とも可能である。したがって本発明は、外部から転送さ
れる書き込みまたは読み出しのコマンドに基づいて書き
込み処理または読み出し処理を実行する読み書きヘッド
と、読み書きヘッドの書き込み処理によって書き込みデ
ータが記憶され、かつ読み出し処理によって読み出しデ
ータが読み出されるディスク状記憶媒体と、コマンド
の、ディスク状記憶媒体に対する書き込みおよび/また
は読み出し順位を保持する順位保持手段と、順位保持手
段に保持されているコマンドの中から、次に実行すべき
コマンドを選択するコマンド選択手段と、を備えている
場合に、コマンド選択手段は、順位保持手段に所定数以
上のコマンドが保持されている場合に、次に実行すべき
第1のコマンドを選択した後に、第1のコマンドよりも
先に選択されたコマンドの実行にかかわらず、前記第1
のコマンドの次に実行する第2のコマンドを選択するこ
とを特徴とするデータ記憶装置を提供する。
に保持されているコマンド数が前記所定数未満の場合に
は、次に実行すべき第1のコマンドを選択した後であっ
て、かつ第1のコマンドよりも先に選択されたコマンド
が実行された後に、前記第1のコマンドの次に実行する
第2のコマンドを選択することができる。
体を有するデータ記憶装置のコマンド・キューにキュー
イングされた書き込みおよび/または読み出しのコマン
ドから次に実行すべきコマンドを選択する際に、コマン
ド・キューにキューイングされた所定のコマンドについ
て、実行待ち時間を求めるステップと、求められた実行
待ち時間が所定の時間的条件を具備するか否かを判断す
るステップと、をまず実行する。そして、求められた実
行待ち時間が所定の時間的条件を具備すると判断する
と、所定の時間的条件を具備した所定のコマンドを次に
実行すべきコマンドとして選択するステップを実行す
る。一方で、求められた実行待ち時間が所定の時間的条
件を具備しないと判断すると、所定のコマンドとは異な
る他のコマンドについて、実行待ち時間を求めるステッ
プを実行する。そして、ここで求められた実行待ち時間
が所定の時間的条件を具備するか否かを判断するステッ
プを実行すればよい。
ことにより、ホストから転送され、かつコマンド・キュ
ーにキューイングされた書き込みおよび/または読み出
しのコマンドを、読み書きヘッドを介して記憶媒体に対
して実行する以下のデータ処理方法が提供される。この
処理方法の要旨は、コマンド・キューにキューイングさ
れたコマンドについて、所定の基準時間内に実行可能か
否か順次判断を行い、かつ所定の基準時間内に実行可能
なコマンドが判定された時点で、当該コマンドを次に実
行すべきコマンドとして選択するコマンド選択ステップ
を含む。そして、このステップで選択されたコマンドに
基づいて、記憶媒体からのデータ読み出しまたは記憶媒
体へのデータの書き込みを実行するコマンド実行ステッ
プと、を備えることを特徴とする。
ド選択ステップは、次に実行すべきコマンドよりも先行
して選択された先行コマンドの実行が完了する前に行わ
れるべきものである。また、コマンド選択ステップは、
ホストから転送された順番で、コマンド・キューにキュ
ーイングされたコマンドについて、所定の基準時間内に
実行可能か否か順次判断する。
ド・ディスク・ドライブを例にして詳細に説明する。図
1は、本実施の形態によるハード・ディスク・ドライブ
1の主要構成を示すブロック図である。ハード・ディス
ク・ドライブ1は、スピンドル・モータ3によって回転
駆動される磁気ディスク2上を磁気ヘッド4がシークし
かつ所定のトラック(位置)に留まって磁気ディスク2
に対してデータを書き込み、または磁気ディスク2に書
き込まれたデータを読み出すデータ記憶再生装置であ
る。磁気ディスク2は、必要に応じて単数または複数搭
載されるが、本実施の形態においては、単数の例を示し
ている。
ライブ1が動作しているとき、スピンドル・モータ3の
スピンドル軸を中心にして回転駆動され、ハード・ディ
スク・ドライブ1が非動作のとき、回転停止(静止)す
る。磁気ディスク2は、その表面を木の年輪状に分割し
たトラックをさらに放射状に区切ったセクタをデータの
記録最小単位としている。セクタの長さは通常512バ
イトである。磁気ディスク2の表面には、磁気ディスク
2の半径方向に沿って複数の位置情報(サーボ情報)記
憶領域が放射状に形成されており、他の領域にはデータ
記憶領域が形成されている。このサーボ情報を磁気ヘッ
ド4が読み取ることにより磁気ヘッド4の位置を知るこ
とができる。
部に磁気ディスク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に転送する。
イル・モータ)6によって駆動される。VCM6は、コ
イルを要素とする可動子と永久磁石を要素とする固定子
とから構成されており、このコイルに所定の電流をVC
Mドライバ8から供給することにより、可動子を駆動さ
せ、磁気ヘッド4を磁気ディスク2上の所定位置に移動
あるいは停止させる。
ラ)13は、ハード・ディスク・ドライブ1のインター
フェースとしての機能を有している。その機能の1つ
は、ホスト・コンピュータ20から転送された書き込み
コマンドまたは読み出しコマンドを受けるとともに、受
けた書き込みコマンドまたは読み出しコマンドをバッフ
ァ15に転送する機能である。この書き込みコマンド
は、書き込みデータを含んでいるため、以下では適宜書
き込みデータということがある。バッファ15に一時的
に記憶された書き込みコマンドまたは読み出しコマンド
は、MPU12の指示に基づきHDC13により読み出
され、リード/ライト回路11に転送される。
記憶された書き込みコマンドまたは書き込みコマンドの
実行順位を保持する。この実行順位は、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に供給する。
て、ハード・ディスク・ドライブ1における特長的なリオ
ーダリング方法について説明する。図2において、はじ
めに、コマンド選択が必要か否かの判断を行う(図2
S101)。この判断は、MPU12の指示にしたがっ
て、HDC13がバッファ15内のコマンドの記憶状況
に基づいて行う。コマンド選択が必要な場合とは、実行
待ちのコマンドが存在しない場合をいう。ただし、後述
するように、実行待ちのコマンドが存在していても、コ
マンド・キュー16に保持されているコマンドの数によ
っては、コマンド選択が必要と判断することもできる。
コマンド選択が必要と判断されると、MPU12は、所
定のコマンドCxについて、基点からターゲットまでの
シーク時間Sxを算出する(図2 S103)。ここ
で、基点とは、先行して選択されたコマンドCx−1に
ついて磁気ディスク2における書き込みまたは読み出し
がなされる位置をいい、より具体的には書き込みまたは
読み出しがなされる最後尾のセクタをいう。また、ター
ゲットとは、コマンドCxについて磁気ディスク2にお
ける書き込みまたは読み出しがなされる先頭のセクタを
いう。
て、基点からターゲットまでのセクタ距離を算出してこ
れを回転待ち時間Lxとする(図2 S105)。次
に、MPU12は、算出されたシーク時間Sxおよび回
転待ち時間Lxに基づいて実行待ち時間Dxを求める
(図2 S107)。具体的には、以下のとおりであ
る。まず、回転待ち時間Lxが先に算出されたシーク時
間Sx以上であれば、磁気ヘッド4のシークが間に合う
ことを意味するから、算出されたセクタ距離を実行待ち
時間Dxとする。一方、回転待ち時間Lxがシーク時間
Sx未満であれば、磁気ヘッド4のシークが間に合わな
いため、算出されたセクタ距離に1周分の回転待ち時間
をLx加算して、実行待ち時間Dxとする。
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の処理を実行する。
コマンド・キュー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周と定めることができ
る。
グ方法を適用したときの効果を示すグラフである。この
グラフは、縦軸にパフォーマンス(IO/SEC:1秒
間におけるデータ書き込みおよび/または読み出し回
数)、横軸にコマンド・キュー16の深さを示してい
る。図9に示すように、コマンド・キュー16の深さが
16を超えると、本実施の形態によるリオーダリング方
法を適用した場合のパフォーマンスが、従来のリオーダ
リング方法を適用した場合に比べて顕著に向上している
ことがわかる。なお、従来のリオーダリング方法とは、
コマンド・キュー16に保持されている全てのコマンド
について実行待ち時間を算出し、その中で実行可能な最
短の待ち時間のコマンドを次に実行すべきコマンドとし
て選択する方法である。一方で、コマンド・キュー16
の深さが16未満の場合には、本実施の形態と従来手法
とに差異がない。したがって、本実施の形態において、
例えば、図10に示すように、S102でコマンド・キ
ュー16の深さが16以上か否かを判断し、16以上で
あればS103に進み、そうでなければ従来のリオーダ
リング方法を適用するようにしてもよい。なお、コマン
ド・キュー16の深さが16というのはあくまで一例で
あり、本発明は他の値を採用することを許容する。
いて、実行待ちのコマンドが存在していても、コマンド
・キュー16に保持されているコマンドの数によって
は、コマンド選択を必要と判断することもできる。例え
ば、図11に示すように、コマンド・キュー16の深さ
が8以下であるか否か判断する(図11 S101
1)。深さが8以上であれば、実行待ちのコマンド数が
0または1の場合には、前述したS103以降の処理に
進む(図11 S1012)。一方、コマンド・キュー
16の深さが8を超えない場合には、実行待ちのコマン
ドがある場合にはS103の処理には進まず、実行待ち
のコマンドがない場合にのみS103の処理に進む(図
11 S1013)。
定数以上のコマンドが保持されている場合に、基準時間
により実行待ち時間の短いコマンドを次に実行すべきコ
マンドとして選択し、次いで、コマンド・キュー16に
保持されている他のコマンドについて、選択されたコマ
ンドを基点として、コマンド実行待ち時間を算出し、か
つ所定の基準時間と比較することにより、さらに次に実
行すべきコマンドを選択する。ホスト・コンピュータ2
0から、コマンドが逐次転送されるため、リオーダリン
グにおけるコマンドの選択は、1つに留めておくべきで
ある。新たに転送されたコマンドの方が、先に転送され
たコマンドよりも実行待ち時間が短いことも想定される
からである。ところが、ある程度の数のコマンドがコマ
ンド・キュー16に保持されている場合には、新たなコ
マンドが転送されてきたとしても、それが最も実行待ち
時間の短いコマンドである確率は低いことになる。した
がって、リオーダリングにおけるコマンドの選択を1つ
に留めておく必要性が低い。そこで本実施の形態におい
ては、コマンド・キュー16の深さが8を基準として、
それ以上の深さの場合には、2つまで選択することを許
容することにしたのである。
タ記憶装置は、新規なリオーダリング方法を採用するこ
とにより、パフォーマンス、特にコマンド・キューの深
さが深い場合のパフォーマンス向上に有効である。
イブの基本構成を示すブロック図である。
イブのリオーダリング処理手順を示すフローチャートで
ある。
ある。
ある。
ある。
ある。
の図である。
の図である。
グラフである。
順の変形例を示すフローチャートである。
順の変形例を示すフローチャートである。
3…スピンドル・モータ、4…磁気ヘッド、5…アクチ
ュエータ、6…VCM(ボイス・コイル・モータ)、7
…DAC、11…リード/ライト回路、12…MPU、
13…HDC(ハード・ディスク・コントローラ)、1
4…サーボ信号検出回路、15…バッファ、16…コマ
ンド・キュー、17…メモリ、20…ホスト・コンピュ
ータ
Claims (13)
- 【請求項1】 外部から転送される書き込みまたは読み
出しのコマンドに基づいて、書き込み処理または読み出
し処理を実行する読み書きヘッドと、 前記読み書きヘッドの前記書き込み処理によって書き込
みデータが記憶され、かつ前記読み出し処理によって読
み出しデータが読み出されるディスク状記憶媒体と、 前記コマンドの、前記ディスク状記憶媒体に対する書き
込みおよび/または読み出し順位を保持する順位保持手
段と、 前記順位保持手段に保持されている前記コマンドの中か
ら、次に実行すべきコマンドを選択するコマンド選択手
段と、を備え、 前記コマンド選択手段は、所定の基準時間より実行待ち
時間の短い前記コマンドを、次に実行すべきコマンドと
して選択することを特徴とするデータ記憶装置。 - 【請求項2】 前記コマンド選択手段は、 前記順位保持手段に保持されている前記コマンドについ
て、先行して選択されたコマンドを基点として前記実行
待ち時間を算出し、かつ所定の基準時間と比較すること
により、次に実行すべきコマンドとして選択することを
特徴とする請求項1に記載のデータ記憶装置。 - 【請求項3】 前記コマンド選択手段は、 前記所定の基準時間より実行待ち時間の短い前記コマン
ドを、次に実行すべきコマンドとして選択した後に、次
に実行すべきコマンドの選択のための前記実行待ち時間
の算出を打ち切ることを特徴とする請求項1に記載のデ
ータ記憶装置。 - 【請求項4】 前記コマンド選択手段は、 前記順位保持手段に所定数以上の前記コマンドが保持さ
れている場合に、前記所定の基準時間より実行待ち時間
の短い前記コマンドを、次に実行すべきコマンドとして
選択することを特徴とする請求項1に記載のデータ記憶
装置。 - 【請求項5】 前記コマンド選択手段は、 前記順位保持手段に所定数以上の前記コマンドが保持さ
れている場合に、前記所定の基準時間より実行待ち時間
の短い前記コマンドを次に実行すべきコマンドとして選
択し、 次いで、前記順位保持手段に保持されている他のコマン
ドについて、選択された前記コマンドを基点として、コ
マンド実行待ち時間を算出し、かつ所定の基準時間と比
較することにより、さらに次に実行すべきコマンドを選
択することを特徴とする請求項1に記載のデータ記憶装
置。 - 【請求項6】 外部から転送される書き込みまたは読み
出しのコマンドに基づいて書き込み処理または読み出し
処理を実行する読み書きヘッドと、 前記読み書きヘッドの前記書き込み処理によって書き込
みデータが記憶され、かつ前記読み出し処理によって読
み出しデータが読み出されるディスク状記憶媒体と、前
記コマンドの、前記ディスク状記憶媒体に対する書き込
みおよび/または読み出し順位を保持する順位保持手段
と、 前記順位保持手段に保持されている前記コマンドの中か
ら、次に実行すべきコマンドを選択するコマンド選択手
段と、を備え、 前記コマンド選択手段は、 前記順位保持手段に所定数以上の前記コマンドが保持さ
れている場合に、次に実行すべき第1のコマンドを選択
した後に、前記第1のコマンドよりも先に選択されたコ
マンドの実行にかかわらず、前記第1のコマンドの次に
実行する第2のコマンドを選択することを特徴とするデ
ータ記憶装置。 - 【請求項7】 前記コマンド選択手段は、 前記順位保持手段に保持されているコマンド数が前記所
定数未満の場合に、 次に実行すべき第1のコマンドを選択した後であって、
かつ前記第1のコマンドよりも先に選択されたコマンド
が実行された後に、前記第1のコマンドの次に実行する
第2のコマンドを選択することを特徴とする請求項6に
記載のデータ記憶装置。 - 【請求項8】 ディスク状記憶媒体を有するデータ記憶
装置のコマンド・キューにキューイングされた書き込み
および/または読み出しのコマンドから次に実行すべき
コマンドを選択する方法であって、 前記コマンド・キューにキューイングされた所定のコマ
ンドについて、実行待ち時間を求めるステップと、 求められた前記実行待ち時間が所定の時間的条件を具備
するか否かを判断するステップと、を備えることを特徴
とする実行コマンドの選択方法。 - 【請求項9】 求められた前記実行待ち時間が所定の時
間的条件を具備すると判断すると、前記所定の時間的条
件を具備した前記所定のコマンドを次に実行すべきコマ
ンドとして選択するステップをさらに備えることを特徴
とする請求項8に記載の実行コマンドの選択方法。 - 【請求項10】 求められた前記実行待ち時間が所定の
時間的条件を具備しないと判断すると、前記所定のコマ
ンドとは異なる他のコマンドについて、実行待ち時間を
求めるステップと、 求められた前記実行待ち時間が所定の時間的条件を具備
するか否かを判断するステップと、をさらに備えること
を特徴とする請求項8に記載の実行コマンドの選択方
法。 - 【請求項11】 ホストから転送され、かつコマンド・
キューにキューイングされた書き込みおよび/または読
み出しのコマンドを、読み書きヘッドを介して記憶媒体
に対して実行するデータ処理方法であって、 前記コマンド・キューにキューイングされた前記コマン
ドについて、所定の基準時間内に実行可能か否か順次判
断を行い、かつ前記所定の基準時間内に実行可能なコマ
ンドが判定された時点で、当該コマンドを次に実行すべ
きコマンドとして選択するコマンド選択ステップと、選
択された前記コマンドに基づいて、前記記憶媒体へのデ
ータの書き込みまたは前記記憶媒体からのデータ読み出
しを実行するコマンド実行ステップと、を備えることを
特徴とするデータ処理方法。 - 【請求項12】 前記コマンド選択ステップは、 前記次に実行すべきコマンドよりも先行して選択された
先行コマンドの実行が完了する前に行われることを特徴
とする請求項11に記載のデータ処理方法。 - 【請求項13】 前記コマンド選択ステップは、 前記ホストから転送された順番で、前記コマンド・キュ
ーにキューイングされた前記コマンドについて、所定の
基準時間内に実行可能か否か順次判断することを特徴と
する請求項11に記載のデータ処理方法。
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)
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)
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)
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 |
-
2002
- 2002-04-12 JP JP2002110702A patent/JP2003316523A/ja active Pending
-
2003
- 2003-04-15 US US10/417,405 patent/US7343463B2/en not_active Expired - Fee Related
Cited By (2)
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 |