(57)【要約】【課題】  リード要求に対するレスポンスの高速化を効率的に図ることができる磁気ディスク装置、その制御方法並びに制御プログラムを提供する。【解決手段】  同一のデータが二つのディスクのそれぞれに書き込まれるＲＡＩＤ構成を有する磁気ディスク装置の制御において、ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行し、前記リードコマンド発行ステップにより各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するようにした。【選択図】  図４
2006344088.tif 000002
【特許請求の範囲】
【請求項１】
同一のデータが二つのディスクのそれぞれに書き込まれるＲＡＩＤ構成を有する磁気ディスク装置であって、
ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行するリードコマンド発行部と、
前記リードコマンド発行部により各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得部と
を備えてなる磁気ディスク装置。
【請求項２】
請求項１に記載の磁気ディスク装置において、
前記リードコマンド発行部は、前記二つのディスクの負荷を判断し、該判断された負荷に基づいてそれぞれのディスクに対するリードコマンドのアルゴリズムを選択し、該選択されたアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置。
【請求項３】
同一のデータが二つのディスクのそれぞれに書き込まれるＲＡＩＤ構成を有する磁気ディスク装置のデータリード処理をコンピュータに実行させる磁気ディスク装置の制御プログラムであって、
ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行するリードコマンド発行ステップと、
前記リードコマンド発行ステップにより各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得ステップと
をコンピュータに実行させる磁気ディスク装置の制御プログラム。
【請求項４】
請求項３に記載の磁気ディスク装置の制御プログラムにおいて、
前記リードコマンド発行ステップは、前記二つのディスクの負荷を判断し、該判断された負荷に基づいてそれぞれのディスクに対するリードコマンドのアルゴリズムを選択し、該選択されたアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置の制御プログラム。
【請求項５】
同一のデータが二つのディスクのそれぞれに書き込まれるＲＡＩＤ構成を有する磁気ディスク装置の制御方法であって、
ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行するリードコマンド発行ステップと、
前記リードコマンド発行ステップにより各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得ステップと
を備える磁気ディスク装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、同一のデータが二つのディスクのそれぞれに書き込まれるＲＡＩＤ１、ＲＡＩＤ０＋１のＲＡＩＤ構成を有する磁気ディスク装置、その制御方法並びに制御プログラムに関し、特にそのＩ／Ｏレスポンスの高速化に関するものである。
【背景技術】
【０００２】
同一のデータが二つのディスクのそれぞれに書き込まれるＲＡＩＤ１、ＲＡＩＤ０＋１のＲＡＩＤ構成を有する磁気ディスク装置において、ホストからデータ読み込み要求があった場合、それぞれのディスクに同一のリードコマンドを発行し、該コマンドに対し最初に応答したデータをリードコマンドの結果として採用するようにした磁気ディスク装置が知られる（例えば、特許文献１参照）。
【特許文献１】特開平４−２０５５１８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、複数のディスクにおける各ディスクはそれぞれ負荷が異なっており、あるアルゴリズムによるリードコマンドと他のアルゴリズムによるリードコマンドとでは、それらに対するレスポンスが異なる場合がある。このような場合にも一律に定められたアルゴリズムによるリードコマンドによる読み込みを行っていたのでは、レスポンスの高速化を効率的に行うことができない。
【０００４】
本発明は、上述した従来の問題点を解決するためになされたものであり、リード要求に対するレスポンスの高速化を効率的に図ることができる磁気ディスク装置、その制御方法並びに制御プログラムを提供することを目的としている。
【課題を解決するための手段】
【０００５】
上述した課題を解決するため、本発明は、同一のデータが二つのディスクのそれぞれに書き込まれるＲＡＩＤ構成を有する磁気ディスク装置であって、ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行するリードコマンド発行部と、前記リードコマンド発行部により各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得部とを備えてなる。
【０００６】
また、本発明の磁気ディスク装置において、前記リードコマンド発行部は、前記二つのディスクの負荷を判断し、該判断された負荷に基づいてそれぞれのディスクに対するリードコマンドのアルゴリズムを選択し、該選択されたアルゴリズムに基づくリードコマンドを発行することを特徴とする。
【０００７】
なお、本発明の磁気ディスク装置において、前記リードコマンド発行部は、前記二つのディスクに対し、それぞれ異なるアルゴリズムに基づくリードコマンドを発行することを特徴とすることができる。また、前記リードコマンド発行部は、前記二つのディスクに対し同一のアルゴリズムに基づくリードコマンドを発行することを特徴とすることもできる。そして、前記アルゴリズムには、第１のアルゴリズムとして、ディスクに対して、読み込むべきＬＢＡ（ロジカルブロックアドレス）であって、離散するＬＢＡ毎にアクセスを行うリードコマンドを発行するアルゴリズムと、第２のアルゴリズムとして、１回のアクセスで読み込むべきＬＢＡを含む連続するＬＢＡを読み込み、不要なＬＢＡを破棄するリードコマンドを発行するアルゴリズムが備えられていることを特徴とすることもできる。
【０００８】
また、本発明の磁気ディスク装置において、前記リードコマンド発行部は、各ディスクに対するスループットを用いて負荷を判断し、負荷の高い方のディスクに対して第１のアルゴリズムによるリードコマンドを発行することを特徴とすることができ、また、前記リードコマンド発行部は、各ディスクに対するコマンド数を用いて各ディスクの負荷を判断し、負荷の高い方のディスクに対して、第２のアルゴリズムによるリードコマンドを発行することを特徴とすることができ、更に、前記リードコマンド発行部は、各ディスクに対するスループットを用いて第１負荷を判断し、各ディスクに対するコマンド数を用いて第２負荷を判断し、第１負荷と第２負荷とを用いて前記アルゴリズムを選択することを特徴とすることができる。
【０００９】
なお、前記リードコマンド発行部は、二つのディスク間における第１負荷と第２負荷のそれぞれの差に基づいて前記アルゴリズムを選択することを特徴とすることもできる。
【００１０】
また、本発明は、同一のデータが二つのディスクのそれぞれに書き込まれるＲＡＩＤ構成を有する磁気ディスク装置のデータリード処理をコンピュータに実行させる磁気ディスク装置の制御プログラムであって、ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行するリードコマンド発行ステップと、前記リードコマンド発行ステップにより各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得ステップとをコンピュータに実行させる。
【００１１】
また、本発明の磁気ディスク装置の制御プログラムにおいて、前記リードコマンド発行ステップは、前記二つのディスクの負荷を判断し、該判断された負荷に基づいてそれぞれのディスクに対するリードコマンドのアルゴリズムを選択し、該選択されたアルゴリズムに基づくリードコマンドを発行することを特徴とする。
【００１２】
なお、前記リードコマンド発行ステップは、前記二つのディスクに対し、それぞれ異なるアルゴリズムに基づくリードコマンドを発行することを特徴とすることができ、また、前記リードコマンド発行ステップは、前記二つのディスクに対し同一のアルゴリズムに基づくリードコマンドを発行することを特徴とすることができる。
【００１３】
また、本発明の磁気ディスク装置の制御プログラムにおいて、前記リードコマンド発行ステップは、各ディスクに対するスループットを用いて負荷を判断し、負荷の高い方のディスクに対して第１のアルゴリズムによるリードコマンドを発行することを特徴とすることができ、また、前記リードコマンド発行ステップは、各ディスクに対するコマンド数を用いて各ディスクの負荷を判断し、負荷の高い方のディスクに対して、第２のアルゴリズムによるリードコマンドを発行することを特徴とすることができる。
【００１４】
また、前記リードコマンド発行ステップは、各ディスクに対するスループットを用いて第１負荷を判断し、各ディスクに対するコマンド数を用いて第２負荷を判断し、第１負荷と第２負荷とを用いて前記アルゴリズムを選択することを特徴とすることもできる。
【００１５】
なお、前記リードコマンド発行ステップは、二つのディスク間における第１負荷と第２負荷のそれぞれの差に基づいて前記アルゴリズムを選択することを特徴とすることができる。
【００１６】
また、本発明は、同一のデータが二つのディスクのそれぞれに書き込まれるＲＡＩＤ構成を有する磁気ディスク装置の制御方法であって、ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行するリードコマンド発行ステップと、前記リードコマンド発行ステップにより各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得ステップとを備えるものである。
【発明の効果】
【００１７】
上述したように、本発明によれば、リード要求に対するレスポンスの高速化を効率的に図ることができるという効果を奏する。
【発明を実施するための最良の形態】
【００１８】
以下、本発明の実施の形態について図面を用いて説明する。
【００１９】
図１は本発明の実施の形態における磁気ディスク装置を示すブロック図である。図１においては、ホスト１に磁気ディスク装置１０が接続されている。磁気ディスク装置１０は、ＣＭ（コントローラモジュール）１１と、ＣＭ１１に接続されたＦＣ（ファイバチャネル）ループＡとＦＣループＢの二つのＦＣループと、各ＦＣループにおいて接続される複数のディスク１１ａ，１１ｂとを備えて構成されている。ＣＭ１１はＣＰＵ１２とメモリ１３を備え、本発明のリードコマンド発行部、データ取得部を構成するものである。
【００２０】
本実施の形態においてＲＡＩＤ構成は、ＲＡＩＤ１構成で説明するが、ＲＡＩＤ１+０のＲＡＩＤ構成を有する磁気ディスク装置にも同様に適用することができる。図１において、ＲＡＩＤ１を構成するディスクＡとディスクＢとは同一のデータが記憶されている（書き込まれている）。
【００２１】
本実施の形態では、このＲＡＩＤ１構成において、ＣＭ１１は、ディスクＡとディスクＢに記憶されたデータをそれぞれ異なるアルゴリズムに基づくリードコマンドを発行して読み込み、早く読み込まれたデータをホストに送出する構成としている。ここで用いられるアルゴリズムには、第１アルゴリズムと第２アルゴリズムの２種を用いる。
【００２２】
（第１アルゴリズム）
第１アルゴリズムは、ＦＣループの負荷が大きい（スループットが高い）場合に、読み込みが有利となるアルゴリズムであり、図２に示すように、ディスクに対して、読み込むべきＬＢＡ（ロジカルブロックアドレス）であって、離散するＬＢＡ毎にアクセスを行うリードコマンドを発行するアルゴリズムである。
【００２３】
図２について、説明すると、ディスクはＬＢＡと呼ばれる固定長(520byte)のブロックから成り立ち、ＣＭ１１はディスクに対して、アクセス開始ＬＢＡ位置、及び処理ＬＢＡ数を指定してディスクアクセスを行う。
【００２４】
一例として、ホストより、ＬＢＡ０,ＬＢＡ２、ＬＢＡ４の３つの離散するＬＢＡに対してリード要求が行われたとする。第１アルゴリズムでは、ＣＭはディスクに対して以下のように各ＬＢＡを指定して各ＬＢＡ毎に離散的にリードコマンドを発行する。
【００２５】
リードコマンド１回目: アクセス開始LBA=０,処理LBA数＝１．
リードコマンド２回目: アクセス開始LBA=２,処理LBA数＝１．
リードコマンド３回目: アクセス開始LBA=４,処理LBA数＝１．
【００２６】
（第２アルゴリズム）
第２アルゴリズムは、ディスクの負荷（コマンド数）が大きい場合に、読み込みが有利となるアルゴリズムであり、図３に示すように、１回のアクセスで読み込むべきＬＢＡを含む連続するＬＢＡを読み込み、不要なＬＢＡを破棄するリードコマンドを発行するアルゴリズムである。
【００２７】
図３について説明すると、例えば、ホストよりＬＢＡ０，２，４とリード要求が発行された場合、ＣＭ１１はディスクに１回のコマンドでＬＢＡ０〜４のデータを読み込む。具体的にはＣＭ１１はディスクより、ＬＢＡ０，１，２，３，４の全てを読み込み、ＬＢＡ１，３はＣＭ１１上で破棄する（図示しないトラッシュバッファとよばれるメモリに破棄する）。
【００２８】
第２アルゴリズムは、離散するＬＢＡのデータが書き込まれたディスクアクセスにおいて、１回のコマンドでＣＭ１１がディスクに対してアクセスを行うことにより、ＣＭ１１及びディスクのファームオーバーヘッドを無くすメリットがある。すなわち、リードコマンド数が減るため、ファームオーバーヘッドが減ることとなる。なお、第１アルゴリズムとは、逆にデメリットとして余計なデータ（ＬＢＡ１，３）も読み込むため、ＣＭ，ＤＩＳＫ間のＦＣ伝送路上に余計なデータが流れＦＣ伝送路ネックになる可能性もある。
【００２９】
なお、第２アルゴリズムについて、具体例で上述したＬＢＡ０，２，４についてデータを読み込む場合について説明すると、ＣＭ１１内のファームは、ディスクにアクセスを行う際、図示しないＱＸ４とよばれるＦＣ(Fiber Channel)のチップに対してパラメータを設定し、起動を行う。本パラメータの設定において、ＦＣセグメントなるものが存在し、ディスクから読み込んだデータを、ＣＭ内のどのバッファに格納するか指定することが可能である。
【００３０】
[ＣＭファームのＱＸ４に対する設定]
ＣＭがディスクに対するコマンド： アクセス開始ＬＢＡ＝０、処理ＬＢＡ数＝５ＦＣセグメント
0x00000208   # LBA0のデータの長さ
0xF0000000   # LBA0の格納先アドレス(データ格納バッファの先頭アドレス)
0x00000208   # LBA1のデータの長さ
0xF0000000   # LBA1の格納先アドレス(Trashバッファの先頭アドレス)
0x00000208   # LBA2のデータの長さ
0xF0000208   #LBA2の格納先アドレス(データ格納バッファ先頭アドレス+520byte)
0x00000208   # LBA3のデータの長さ
0xF0000000   # LBA3の格納先アドレス(Trashバッファの先頭アドレス)
0xF0000410   #LBA4の格納先アドレス(データ格納バッファ先頭アドレス+1040byte)
0x00000208   # LBA4のデータの長さ
【００３１】
本実施の形態では、以上に述べたそれぞれ異なるメリットとデメリットを有する二つのアルゴリズムに基づくリードコマンドを選択的に用いてディスクアクセスを行い、早く読み込まれたデータを採用することにより、より効率的に早くデータの読み込みが行えるようになる。なお、「選択的に用いる」とは、二つのディスクそれぞれに対し、それぞれ異なるアルゴリズムを用いても良いし、共通のアルゴリズムを用いても良いことを含む意味である。
【００３２】
更に、本実施の形態では、第１、第２アルゴリズムの各メリットをより有効に活用するため、ＦＣループ（Ａ，Ｂ）の負荷とディスク（Ａ，Ｂ）の負荷を検出判断し、その判断結果に基づいて、第１アルゴリズムと第２アルゴリズムによるリードコマンドを割り当てることにより早くデータの読み込みが行えるようにしている。なお、本発明では、後述する二つの負荷のいずれか一方のみを検出判断し、それに基づいて各アルゴリズムを割り当てるようにしてもよいことは言うまでもない。以下、負荷の検出判断について説明する。
【００３３】
（ＦＣループ負荷：第１負荷）
ＣＭ１１はＦＣループＡ，Ｂ配下のディスクに対してスループット(M byte/sec)を常に計算してもっている。この２つのＦＣループＡ，ＢのスループットをＦＣループ負荷として、アルゴリズムの選択に用いる。なお、後述するディスク負荷との関係もあるが、ＦＣループ負荷のみを考えるならば、スループットが低い方(ＦＣループの負荷が低い)のディスクには第２アルゴリズムでリードコマンドを発行し、一方、スループットが高い方(ＦＣループの負荷が高い)のディスクには第１アルゴリズムでリードコマンドを発行することが好ましい。
【００３４】
例えば、後述するディスク負荷を考慮しない場合、ディスクＡのＦＣループは４０Ｍｂｐｓ、ディスクＢのＦＣループは７５Ｍｂｐｓであったとすると、その場合、ディスクＡに対して、第２アルゴリズムによるリードコマンドを発行し、ディスクＢに対して、第１アルゴリズムによるリードコマンドを発行することが好ましい。
【００３５】
（ディスク負荷：第２負荷）
ディスクの負荷の検出（計算）について、ＣＭ１１はディスクＡ，Ｂに対してどれだけのコマンドを発行しているかをカウントしている。そして、２つのディスクの発行コマンド数をそれぞれのディスク負荷としてアルゴリズムの選択に用いる。なお、上述したＦＣループ負荷との関係もあるが、ディスク負荷のみを考えるならば、発行コマンド数が少ない（負荷が小さい）ディスクには第１アルゴリズムでリードコマンドを発行し、発行コマンド数が多い（負荷が大きい）ディスクには第１アルゴリズムよりリードコマンド数を少なくすることができる可能性の高い第２アルゴリズムでリードコマンドを発行することが好ましい。
【００３６】
例えば、上述したディスク負荷を考慮しない場合、ディスクＡに対しては３５コマンド発行中であり、ディスクＢに対しては５０コマンド発行中であったとすると、その場合、ディスクＡに対して、第１アルゴリズムを選択することが好ましい。
【００３７】
（ＦＣ負荷とディスク負荷のそれぞれの判断で選択されるアルゴリズムに矛盾が生じ得る場合）
ディスク負荷とＦＣ負荷に基づくアルゴリズムの選択判断で矛盾が生じるような場合、複数のアルゴリズムをどのように用いるかを定める必要がある。
【００３８】
（第１例）
例えば、ＦＣループ負荷を基準とすると、ディスクＡ（負荷がディスクＢよりも小さい）に対して第２アルゴリズムでリードコマンドを発行した方が良いと判断され、一方、ディスク負荷を基準とすると、ディスクＡ（負荷がディスクＢよりも小さい）でリードコマンドを発行した方が良いと判断される場合は、ディスク負荷の方を優先して、或いはＦＣループ負荷の方を優先してアルゴリズムを選択するようにすることができる。
【００３９】
（第２例）
例えば、二つのディスク間におけるＦＣループ負荷及びディスク負荷のそれぞれの差に基づいて前記アルゴリズムを選択するようにする。この場合、それぞれの差の負荷に対する比率を求め、その比率が大きい方の負荷についての負荷判断におけるアルゴリズムを選択することとする。
【００４０】
例えば、ディスク負荷についてコマンド発行数を比較した場合、少ないディスクでは、多い方のディスクの−５％以内であり、ＦＣループ負荷についてスループットを比較した場合、高いループは低いループの＋５０％以上であったというような場合には、ＦＣループ負荷の判断におけるアルゴリズムを適用し、ＦＣループ負荷の低い方に第２アルゴリズムを適用し、ＦＣループ負荷の高い方に第１アルゴリズムを適用することとする。
【００４１】
なお、本例は一例に過ぎず、どのような負荷の値に対して、アルゴリズムをどのように選択するかは、装置環境、ポリシー等による設計事項に過ぎない。
【００４２】
以下、本実施の形態のリードコマンド発行動作について図４のフローチャートを用いて説明する。
ホストからデータのリード指示があると、ＣＭ１１は、ディスク負荷とＦＣループ負荷の検出を行う（ステップＳ１，２）。次に、検出されたＦＣループ負荷が共に設定値より大きく、且つディスク負荷が共に設定値より小さい場合は（ステップＳ３，ｙｅｓ）、両ディスク（ディスクＡ，Ｂ）に対し第１アルゴリズムを適用したリードコマンドを発行し、ＦＣループ負荷の増大に伴うデータの早期読み込みが妨げられるのを防止する。
【００４３】
一方、ステップＳ３の判断が肯定的でない場合（ステップＳ３，ｎｏ）において、検出されたＦＣループ負荷が共に設定値より小さく、且つディスク負荷が共に設定値より大きい場合は（ステップＳ５，ｙｅｓ）、両ディスクに対し第２アルゴリズムを適用したリードコマンドを発行し、ディスク負荷の増大に伴うデータの早期読み込みが妨げられるのを防止する。
【００４４】
なお、以上の動作において、各設定値は、適宜発行コマンド数及びスループットを定めることにより設定することができる。
【００４５】
次に、ステップＳ５の判断が肯定的でない場合（ステップＳ５，ｎｏ）において、ＦＣループ負荷について一方（例えばディスクＡ）が他方（ディスクＢ）より小さく、且つディスク負荷について一方（ディスクＡ）が他方（ディスクＢ）より大きい場合は（ステップＳ７，ｙｅｓ）、一方（ディスクＡ）に第２アルゴリズムを適用し、他方に第１アルゴリズムを適用したリードコマンドを発行する（ステップＳ８）。
【００４６】
ステップＳ７の判断が肯定的でない場合（ステップＳ７，ｎｏ）において、ＦＣループ負荷について一方（ディスクＡ）が他方（ディスクＢ）より大きく、且つディスク負荷について一方（ディスクＡ）が他方（ディスクＢ）より小さい場合は（ステップＳ９，ｙｅｓ）、一方（ディスクＡ）に第１アルゴリズムを適用し、他方（ディスクＢ）に第２アルゴリズムを適用したリードコマンドを発行する。
【００４７】
ステップＳ９の判断が肯定的でない場合は（ステップＳ９，ｎｏ）、上述した第１例（設定された負荷優先度の高い方を用いて判断する）、又は第２例（差の比率を用いて採用する負荷を判断する）を適用したリードコマンドを発行する。
【００４８】
なお、以上の動作はリードコマンド発行処理動作を示し、ＣＭは上述のように二つのディスクに対して発行されたリードコマンドに対して早く応答のあったデータを採用してホストに送信する。
【００４９】
以上、本発明の一実施の形態について説明したが、本発明はかかる実施の形態に限定されるものではなく、例えば、負荷の検出を行わずに、二つのアルゴリズムによるリードコマンドを発行して早く応答のあったデータをホストに通知するようにしてもよい。また負荷検出もＦＣループ負荷とディスク負荷を検出するようにしたが、いずれか一方のみを採用してアルゴリズムを選択するようにしても良い。
【００５０】
なお、図４に示した動作を行うプログラムを磁気ディスク装置の制御プログラムとして、コンピュータにより読取り可能な記録媒体に記憶させることによって、磁気ディスクの制御方法をコンピュータに実行させることが可能となる。なお、本発明において、上記コンピュータにより読取り可能な記録媒体は、ＣＤ−ＲＯＭやフレキシブルディスク、ＤＶＤディスク、光磁気ディスク、ＩＣカード等の可搬型記憶媒体や、コンピュータプログラムを保持するデータベース、或いは、他のコンピュータ並びにそのデータベースや、更に回線上の伝送媒体をも含むものである。
（付記１）同一のデータが二つのディスクのそれぞれに書き込まれるＲＡＩＤ構成を有する磁気ディスク装置であって、
ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行するリードコマンド発行部と、
前記リードコマンド発行部により各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得部と
を備えてなる磁気ディスク装置。
（付記２）付記１に記載の磁気ディスク装置において、
前記リードコマンド発行部は、前記二つのディスクの負荷を判断し、該判断された負荷に基づいてそれぞれのディスクに対するリードコマンドのアルゴリズムを選択し、該選択されたアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置。
（付記３）付記２に記載の磁気ディスク装置において、
前記リードコマンド発行部は、前記二つのディスクに対し、それぞれ異なるアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置。
（付記４）付記２に記載の磁気ディスク装置において、
前記リードコマンド発行部は、前記二つのディスクに対し同一のアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置。
（付記５）付記１に記載の磁気ディスク装置において、
前記アルゴリズムには、第１のアルゴリズムとして、ディスクに対して、読み込むべきＬＢＡ（ロジカルブロックアドレス）であって、離散するＬＢＡ毎にアクセスを行うリードコマンドを発行するアルゴリズムと、
第２のアルゴリズムとして、１回のアクセスで読み込むべきＬＢＡを含む連続するＬＢＡを読み込み、不要なＬＢＡを破棄するリードコマンドを発行するアルゴリズムが備えられていることを特徴とする磁気ディスク装置。
（付記６）付記２に記載の磁気ディスク装置において、
前記リードコマンド発行部は、各ディスクに対するスループットを用いて負荷を判断し、負荷の高い方のディスクに対して第１のアルゴリズムによるリードコマンドを発行することを特徴とする磁気ディスク装置。
（付記７）付記２に記載の磁気ディスク装置において、
前記リードコマンド発行部は、各ディスクに対するコマンド数を用いて各ディスクの負荷を判断し、負荷の高い方のディスクに対して、第２のアルゴリズムによるリードコマンドを発行することを特徴とする磁気ディスク装置。
（付記８）付記２に記載の磁気ディスク装置において、
前記リードコマンド発行部は、各ディスクに対するスループットを用いて第１負荷を判断し、各ディスクに対するコマンド数を用いて第２負荷を判断し、第１負荷と第２負荷とを用いて前記アルゴリズムを選択することを特徴とする磁気ディスク装置。
（付記９）付記６に記載の磁気ディスク装置において、
前記リードコマンド発行部は、二つのディスク間における第１負荷と第２負荷のそれぞれの差に基づいて前記アルゴリズムを選択することを特徴とする磁気ディスク装置。
（付記１０）同一のデータが二つのディスクのそれぞれに書き込まれるＲＡＩＤ構成を有する磁気ディスク装置のデータリード処理をコンピュータに実行させる磁気ディスク装置の制御プログラムであって、
ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行するリードコマンド発行ステップと、
前記リードコマンド発行ステップにより各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得ステップと
をコンピュータに実行させる磁気ディスク装置の制御プログラム。
（付記１１）付記１０に記載の磁気ディスク装置の制御プログラムにおいて、
前記リードコマンド発行ステップは、前記二つのディスクの負荷を判断し、該判断された負荷に基づいてそれぞれのディスクに対するリードコマンドのアルゴリズムを選択し、該選択されたアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置の制御プログラム。
（付記１２）付記１０に記載の磁気ディスク装置の制御プログラムにおいて、
前記リードコマンド発行ステップは、前記二つのディスクに対し、それぞれ異なるアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置の制御プログラム。
（付記１３）付記１０に記載の磁気ディスク装置の制御プログラムにおいて、
前記リードコマンド発行ステップは、前記二つのディスクに対し同一のアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置。
（付記１４）付記１０に記載の磁気ディスク装置の制御プログラムにおいて、
前記アルゴリズムには、第１のアルゴリズムとして、ディスクに対して、読み込むべきＬＢＡ（ロジカルブロックアドレス）であって、離散するＬＢＡ毎にアクセスを行うリードコマンドを発行するアルゴリズムと、
第２のアルゴリズムとして、１回のアクセスで読み込むべきＬＢＡを含む連続するＬＢＡを読み込み、不要なＬＢＡを破棄するリードコマンドを発行するアルゴリズムが備えられていることを特徴とする磁気ディスク装置の制御プログラム。
（付記１５）付記１１に記載の磁気ディスク装置の制御プログラムにおいて、
前記リードコマンド発行ステップは、各ディスクに対するスループットを用いて負荷を判断し、負荷の高い方のディスクに対して第１のアルゴリズムによるリードコマンドを発行することを特徴とする磁気ディスク装置の制御プログラム。
（付記１６）付記１１に記載の磁気ディスク装置の制御プログラムにおいて、
前記リードコマンド発行ステップは、各ディスクに対するコマンド数を用いて各ディスクの負荷を判断し、負荷の高い方のディスクに対して、第２のアルゴリズムによるリードコマンドを発行することを特徴とする磁気ディスク装置の制御プログラム。
（付記１７）付記１１に記載の磁気ディスク装置の制御プログラムにおいて、
前記リードコマンド発行ステップは、各ディスクに対するスループットを用いて第１負荷を判断し、各ディスクに対するコマンド数を用いて第２負荷を判断し、第１負荷と第２負荷とを用いて前記アルゴリズムを選択することを特徴とする磁気ディスク装置の制御プログラム。
（付記１８）付記１７に記載の磁気ディスク装置の制御プログラムにおいて、
前記リードコマンド発行ステップは、二つのディスク間における第１負荷と第２負荷のそれぞれの差に基づいて前記アルゴリズムを選択することを特徴とする磁気ディスク装置の制御プログラム。
（付記１９）同一のデータが二つのディスクのそれぞれに書き込まれるＲＡＩＤ構成を有する磁気ディスク装置の制御方法であって、
ディスクに書き込まれているデータに対し、複数の異なるアルゴリズムの中から任意のアルゴリズムを選択し、該アルゴリズムに基づいたリードコマンドを前記二つのディスクそれぞれに書き込まれているデータに対しそれぞれ発行するリードコマンド発行ステップと、
前記リードコマンド発行ステップにより各ディスクに対して発行されたリードコマンドそれぞれによって、より早くデータの読み込みが行われたデータをリードデータとして採用するデータ取得ステップと
を備える磁気ディスク装置の制御方法。
（付記２０）付記１９に記載の磁気ディスク装置の制御方法において、
前記リードコマンド発行ステップは、前記二つのディスクの負荷を判断し、該判断された負荷に基づいてそれぞれのディスクに対するリードコマンドのアルゴリズムを選択し、該選択されたアルゴリズムに基づくリードコマンドを発行することを特徴とする磁気ディスク装置の制御方法。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施の形態を示すブロック図である。
【図２】第１アルゴリズムを示す説明図である。
【図３】第２アルゴリズムを示す説明図である。
【図４】ＣＭによるリードコマンド発行処理動作を示すフローチャートである。
【符号の説明】
【００５２】
１  ホスト、１０  磁気ディスク装置、１１  ＣＭ、１１ａ，１１ｂ  ディスク、１２  ＣＰＵ、１３  メモリ。
【図１】
2006344088.tif 000003
【図２】
2006344088.tif 000004
【図３】
2006344088.tif 000005
【図４】
2006344088.tif 000006