(57)【要約】【課題】ブロックサイズに拘わらずデータ転送の高速化が可能なコマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステムを提供する。【解決手段】コマンドキューイング制御装置３は、ホストコンピュータ２からストレージ装置４へ送信されるデータ転送コマンドを蓄積するコマンド格納キュー３０と、データ転送コマンドの種別を判定するコマンド判定部３２と、コマンド格納キュー３０に蓄積されたデータ転送コマンドの総転送サイズを検出する総転送サイズ検出部３１と、コマンド判定部３２の判定結果及び総転送サイズ検出部３１の検出結果に基づいてコマンド格納キュー３０に対する出力指示を行う出力判定部３３Ａとを備える。【選択図】図１
2007304883.tif 000002
【特許請求の範囲】
【請求項１】
上位装置からストレージ装置へ送信されるデータ転送コマンドを蓄積するコマンド格納キューと、
前記コマンド格納キューに蓄積された前記データ転送コマンドの総転送サイズを検出する総転送サイズ検出部と、
前記総転送サイズ検出部の検出結果に基づいて前記コマンド格納キューに対する出力指示を行う出力判定部とを備えたことを特徴とするコマンドキューイング制御装置。
【請求項２】
前記出力判定部は、前記総転送サイズが第１の所定値を超えた場合、又は前記コマンド格納キューから最後に前記データ転送コマンドを出力してからの経過時間が第２の所定値を越えた場合に、前記コマンド格納キューに対して出力指示を行うことを特徴とする請求項１に記載のコマンドキューイング制御装置。
【請求項３】
上位装置からストレージ装置へ送信されるデータ転送コマンドを蓄積するコマンド格納キューと、
前記データ転送コマンドの種別を判定するコマンド判定部と、
前記コマンド格納キューに蓄積された前記データ転送コマンドの総転送サイズを検出する総転送サイズ検出部と、
前記コマンド判定部の判定結果及び前記総転送サイズ検出部の検出結果に基づいて前記コマンド格納キューに対する出力指示を行う出力判定部とを備えたことを特徴とするコマンドキューイング制御装置。
【請求項４】
前記出力判定部は、前記総転送サイズが第１の所定値を超えた場合、又は前記コマンド格納キューから最後に前記データ転送コマンドを出力してからの経過時間が第２の所定値を越えた場合に、前記コマンド格納キューに蓄積されているコマンドのうち、先頭コマンドと同種の、連続するコマンド群を全て逐次出力し、前記総転送サイズ検出部に対して、出力した前記コマンド群の転送サイズの合計値を、前記総転送サイズから減じる指示を行うことを特徴とする請求項３に記載のコマンドキューイング制御装置。
【請求項５】
上位装置からストレージ装置へ送信されるデータ転送コマンドを蓄積するコマンド格納キューと、
前記データ転送コマンドの種別を判定するコマンド判定部と、
前記コマンド格納キューに蓄積された前記データ転送コマンドの総転送サイズを前記データ転送コマンドの種別毎に検出する総転送サイズ検出部と、
前記総転送サイズ検出部の検出結果に基づいて前記コマンド格納キューに対する出力指示を行う出力判定部とを備えたことを特徴とするコマンドキューイング制御装置。
【請求項６】
前記出力判定部は、ライトコマンドまたはリードコマンドの総転送サイズが第３の所定値を超えた場合、又は前記コマンド格納キューから最後に前記データ転送コマンドを出力してからの経過時間が第２の所定値を越えた場合に、前記コマンド格納キューに蓄積されている前記データ転送コマンドのうち、先頭コマンドと同種の、連続するコマンド群を全て逐次出力し、前記総転送サイズ検出部に対して、前記コマンド群の転送サイズの合計値を、対応する前記総転送サイズから減じる指示を行うことを特徴とする請求項５に記載のコマンドキューイング制御装置。
【請求項７】
前記第２の所定値は、前記第１の所定値の転送サイズ分の前記データ転送コマンドが蓄積されるのに必要な予測時間であることを特徴とする請求項２、４又は６に記載のコマンドキューイング制御装置。
【請求項８】
前記第２の所定値は、前記コマンド格納キューから最後に前記データ転送コマンドを出力してからの経過時間に代えて、前記コマンド格納キューに最後に前記データ転送コマンドが到着してからの経過時間とすることを特徴とする請求項２、４又は６に記載のコマンドキューイング制御装置。
【請求項９】
前記出力判定部は、前記コマンド格納キューに最後に到着した前記データ転送コマンドの種別が、その直前に到着した前記データ転送コマンドと異なる場合、前記コマンド格納キューに対する出力指示を行うことを特徴とする請求項３又は５に記載のコマンドキューイング制御装置。
【請求項１０】
ストレージ装置に送信するデータ転送コマンドを蓄積するコマンド格納キュー手段と、
前記コマンド格納キュー手段に蓄積された前記データ転送コマンドの総転送サイズを検出する総転送サイズ検出手段と、
前記総転送サイズ検出手段の検出結果に基づいて前記コマンド格納キュー手段に対する出力指示を行う出力判定手段の機能をコンピュータに実現させるためのコマンドキューイングプログラム。
【請求項１１】
上位装置、ストレージ装置及びコマンドキューイング制御装置から構成されたストレージシステムであって、
前記コマンドキューイング制御装置は、
前記上位装置から出力されるデータ転送コマンドを蓄積し、前記ストレージ装置へ出力するコマンド格納キューと、
前記コマンド格納キューに蓄積された前記データ転送コマンドの総転送サイズを検出する総転送サイズ検出部と、
前記総転送サイズ検出部の検出結果に基づいて前記コマンド格納キューに対する出力指示を行う出力判定部とを備えたことを特徴とするストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、上位装置から出力されるデータ転送コマンドをコマンド格納キューに一旦蓄積してからストレージ装置に出力するコマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステムに関する。
【背景技術】
【０００２】
近年、ホストコンピュータとストレージ装置との間のＤＭＡ(Direct Memory Access)転送の高速化が検討されている。
【０００３】
ホストコンピュータは、例えば、５１２バイト、１Ｋバイトといった容量のブロックを単位とするリード／ライトコマンドを、ストレージ装置に発行することでアクセスを行う。ブロックサイズは、ホストコンピュータで実行されるアプリケーション毎に変わる。
【０００４】
アクセス速度を向上するため、ストレージ装置側のリード／ライト完了を待たずに、ホストコンピュータから複数のコマンドを発行してアクセスを行うコマンドキューイング方式が用いられる（例えば、特許文献１参照。）。例えば、シリアルＡＴＡ規格のハードディスクでは、複数コマンドをキューに蓄積後、ディスクのシーク順に並び替えてから出力するネイティブコマンドキューイング方式が用いられている。
【０００５】
半導体ストレージにおいては、ハードディスクのようなシークは不要だが、なるべく多くの容量のデータ転送を一括して行い、データ転送完了の割込処理の回数を減らすことで性能を上げるため、コマンドキューイング方式として、主に次の２方式が用いられている。
（ａ）単純キューイング
ストレージ装置側がビジーならコマンドを蓄積し、そうでなければコマンドを出力する。
（ｂ）マニュアルキューイング
強制的に一定数のコマンドをキューに蓄積する。但し、コマンド到着間隔が長いと一定数の蓄積に時間がかかるため、タイムアウト処理により蓄積を打ち切り、コマンドを出力する。
【特許文献１】特開平９−２５８９０７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記いずれの方式もブロックサイズの変動によって転送速度が低下するという問題がある。
【０００７】
すなわち、単純キューイングでは、ブロックサイズが小さい場合、正味の転送時間が短いため、蓄積されるコマンド数が少なくなることから、アクセス速度の向上が難しくなる。
【０００８】
また、マニュアルキューイングで、上記単純キューイングの問題を解決するには、強制的にコマンド蓄積数を大きく設定すればよいが、逆にブロックサイズが大きい場合、ブロックサイズが小さい場合に比べてコマンド到着頻度が下がると予想され、コマンド蓄積までの時間が長くなる。異なるブロックサイズのコマンドが混在する状況では、タイムアウト処理の待ち時間の最適な設定が難しくなる。
【０００９】
従って、本発明の目的は、ブロックサイズに拘わらずデータ転送の高速化が可能なコマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステムを提供することにある。
【課題を解決するための手段】
【００１０】
本発明は、上記目的を達成するため、上位装置からストレージ装置へ送信されるデータ転送コマンドを蓄積するコマンド格納キューと、前記コマンド格納キューに蓄積された前記データ転送コマンドの総転送サイズを検出する総転送サイズ検出部と、前記総転送サイズ検出部の検出結果に基づいて前記コマンド格納キューに対する出力指示を行う出力判定部とを備えたことを特徴とするコマンドキューイング制御装置を提供する。
【００１１】
本発明は、上記目的を達成するため、ストレージ装置に送信するデータ転送コマンドを蓄積するコマンド格納キュー手段と、前記コマンド格納キュー手段に蓄積された前記データ転送コマンドの総転送サイズを検出する総転送サイズ検出手段と、前記総転送サイズ検出手段の検出結果に基づいて前記コマンド格納キュー手段に対する出力指示を行う出力判定手段の機能をコンピュータに実現させるためのコマンドキューイングプログラムを提供する。
【００１２】
本発明は、上記目的を達成するため、上位装置、ストレージ装置及びコマンドキューイング制御装置から構成されたストレージシステムであって、前記コマンドキューイング制御装置は、前記上位装置から出力されるデータ転送コマンドを蓄積し、前記ストレージ装置へ出力するコマンド格納キューと、前記コマンド格納キューに蓄積された前記データ転送コマンドの総転送サイズを検出する総転送サイズ検出部と、前記総転送サイズ検出部の検出結果に基づいて前記コマンド格納キューに対する出力指示を行う出力判定部とを備えたことを特徴とするストレージシステムを提供する。
【００１３】
上記構成のコマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステムによれば、コマンド格納キューに蓄積されるコマンド数は、ブロックサイズが小さいコマンドは多数蓄積され、ブロックサイズが大きいコマンドは少数蓄積される。結果として、コマンド格納キューの蓄積時間のバラツキが減り、安定する。従って、ブロックサイズが異なるデータ転送コマンドがコマンド格納キューに混在する場合に、コマンド数に基づいて出力指示を行うよりも、総転送サイズに基づいて出力指示を行うことにより、コマンド格納キューからコマンドを連続して出力した後に行われる、上位装置に対する出力完了割り込みの回数が安定して削減され、転送性能が向上する。
【００１４】
出力判定部は、総転送サイズが第１の所定値を超えた場合、又はコマンド格納キューから最後にデータ転送コマンドを出力してからの経過時間が第２の所定値を越えた場合に、コマンド格納キューに対して出力指示を行ってもよい。
【００１５】
コマンド格納キューに蓄積されるコマンド数を見ると、ブロックサイズが小さいコマンドは多数蓄積され、ブロックサイズが大きいコマンドは少数蓄積される。ブロックサイズが大きいコマンドほど到着頻度が下がると仮定すると、第１の所定値の総転送サイズを蓄積に要する時間のバラツキが小さくなり、第２の所定値によるタイムアウト処理でのコマンド待ちオーバーヘッドが減ることで、転送性能が向上する。
【００１６】
また、第２の所定値を最後にデータ転送コマンドを出力してからの経過時間に代えてが、最後にデータ転送コマンドが到着してからの経過時間としてもよい。これにより、総転送サイズの蓄積時間よりも、コマンドの到着間隔が安定していてバラツキが少ない場合に、コマンド待ち時間が削減され、転送性能が向上する。
【発明の効果】
【００１７】
本発明によれば、ブロックサイズに拘わらずデータ転送の高速化が可能となる。
【発明を実施するための最良の形態】
【００１８】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係るストレージシステムを示す。このストレージシステム１は、上位装置としてのホストコンピュータ２と、コマンドキューイング制御装置３と、ストレージ装置４とを備えて構成されている。
【００１９】
コマンドキューイング制御装置３は、ホストコンピュータ２からの転送コマンドを入力とし、ストレージ装置４に対するデータ転送処理を行うものであり、コマンド格納キュー３０、総転送サイズ検出部３１Ａ、コマンド判定部３２及び出力判定部３３Ａから構成されている。
【００２０】
コマンド格納キュー３０は、転送コマンドを入力して蓄積し、蓄積した転送コマンドを出力判定部３３Ａからの信号に従って古い順に出力する。
【００２１】
総転送サイズ検出部３１Ａは、コマンド格納キュー３０に蓄積された転送コマンドのブロックサイズの合計値を算出し、算出結果を出力判定部３３Ａに出力する。なお、合計値は、出力判定部３３Ａからの指示により初期化する。
【００２２】
コマンド判定部３２は、後述する図２のフローチャートに従い、コマンドの種別（例えばリード、ライト、その他）を判定し、結果を出力判定部３３Ａに出力する。
【００２３】
ストレージ装置４は、半導体ディスク装置、ハードディスク装置、光ディスク装置等を用いることができる。
【００２４】
（第１の実施の形態の動作）
図２は、出力判定部３３Ａのコマンド格納キュー３０に対する出力指示のフローを示す。
【００２５】
コマンド判定部３２が、ホストコンピュータ２からのコマンドを検出すると（Ｓ１：Ｙｅｓ）、出力判定部３３Ａは、コマンドをコマンド格納キュー３０に蓄積する。
【００２６】
次に、コマンド判定部３２は、到着したコマンドがリードコマンド、ライトコマンド、又はそれ以外のコマンドかを判定する（Ｓ２）。ここでは、リードコマンドとライトコマンドは、ホスト先頭アドレス、ストレージ先頭アドレス、転送サイズを各々表すフィールドを備えるものとする。なお、リードコマンドとライトコマンドは、ホスト先頭アドレス、ストレージ先頭アドレス、ストレージ終了アドレスからなるものでもよい。
【００２７】
上記ステップ２の判定において、リードコマンドまたはライトコマンドと判定された場合は（Ｓ２：Ｙｅｓ）、総転送サイズ検出部３１Ａは、コマンド格納キュー３０に蓄積された各コマンドの、転送サイズのフィールドの合計値である総転送サイズを算出する（Ｓ３）。
【００２８】
次に、出力判定部３３Ａは、総転送サイズが第１の所定値を越えているか、または最後にコマンド格納キュー３０からコマンドを出力してからの経過時間が第２の所定値を越えているかを判定し（Ｓ４）、いずれか一方の条件を満たしたならば、ステップ５へと進む。第２の所定値は、第１の所定値の転送サイズ分だけのコマンドがコマンド格納キュー３０蓄積されるのに必要な予測時間を設定する。例えば、転送サイズが小さいコマンドほど到着頻度が高いと仮定して各到着時間を推定し、転送サイズ分の合計値を第２の所定値とする。
【００２９】
ステップＳ５において、出力判定部３３Ａは、ストレージ装置４がビジーであるかどうかを判定し（Ｓ５）、ビジーでなければ（Ｓ５：Ｎｏ）、コマンド格納キュー３０の先頭コマンド（コマンド格納キュー３０に蓄積された最も古いコマンド）を含む、連続する同種のコマンドを全て逐次出力する（Ｓ６）。例えば、先頭コマンドがリードコマンドであれば、それに続くリードコマンドを全て出力し、ライトコマンドが先頭となった時点で出力を中止する。
【００３０】
次に、出力判定部３３Ａは、上記ステップ６において出力されたコマンドに対応する転送サイズの合計値を、総転送サイズから減ずるように総転送サイズ検出部３１に指示する（Ｓ７）。
【００３１】
（具体例）
図３（ａ）〜（ｆ）は、具体例を示す。コマンド格納キュー３０内には、図３（ａ）に示すように、リードコマンドＲ１、Ｒ２、ライトコマンドＷ１が蓄積されているとする。図３（ｂ）に示すように、コマンド格納キュー３０にライトコマンドＷ２が入力され、コマンド格納キュー３０内の総転送サイズが第１の所定値を超えると、図３（ｃ）に示すように、先行するコマンド（リード）と同一種類のコマンドであるリードコマンドＲ１，Ｒ２がコマンド格納キュー３０から順次出力される。
【００３２】
次に、コマンド格納キュー３０に、図３（ｄ）に示すように、リードコマンドＲ３が入力され、続いて図３（ｅ）に示すように、リードコマンドＲ４が入力され、コマンド格納キュー３０内の総転送サイズが第１の所定値を超えると、図３（ｆ）に示すように、先行するコマンド（ライト）と同一種類のコマンドであるライトコマンドＷ１、Ｗ２がコマンド格納キュー３０から順次出力される。
【００３３】
（第１の実施の形態の効果）
第１の実施の形態によれば、総転送サイズが第１の所定値を超えているか、最後のコマンドを出力してからの経過時間が第２の所定値を超えている場合に、コマンド格納キュー３０に格納されているコマンドを転送するので、ホストコンピュータ２に対する割り込み回数を減らすことができる。
【００３４】
［第２実施の形態］
図４は、本発明の第２の実施の形態に係るストレージシステムを示すブロック図である。本実施の形態は、第１の実施の形態とは総転送サイズ検出部３１Ｂ及び出力判定部３３Ｂが異なり、他は第１の実施の形態と同様に構成されている。
【００３５】
本実施の形態の総転送サイズ検出部３１Ｂは、連続したリードコマンドの総転送サイズ、及び連続したライトコマンドの総転送サイズを検出するものである。
【００３６】
本実施の形態の出力判定部３３Ｂは、連続したリードコマンドの総転送サイズ又は連続したライトコマンドの総転送サイズが第３の所定値を超えた場合、又は最後にコマンド格納キュー３０からコマンドを出力してからの経過時間が第２の所定値を超えた場合に、コマンド格納キュー３０からコマンドを出力させるものである。
【００３７】
（第２の実施の形態の動作）
図５は、出力判定部３３Ｂのコマンド格納キュー３０に対する出力指示のフローを示す。
【００３８】
コマンド判定部３２が、ホストコンピュータ２からのコマンドを検出すると（Ｓ１１：Ｙｅｓ）、出力判定部３３Ｂは、コマンドをコマンド格納キュー３０に蓄積する。
【００３９】
次に、コマンド判定部３２は、到着したコマンドがリードコマンド、ライトコマンド、又はそれ以外のコマンドかを判定する（Ｓ１２）。
【００４０】
上記ステップ１２の判定において、リードコマンドまたはライトコマンドと判定された場合は（Ｓ１２：Ｙｅｓ）、総転送サイズ検出部３１Ｂは、コマンド格納キュー３０に蓄積されたリードコマンドの総転送サイズ、及びライトコマンドの総転送サイズを算出する（Ｓ１３）。
【００４１】
次に、出力判定部３３Ｂは、リードコマンドの総転送サイズ又はライトコマンドの総転送サイズが第３の所定値を超えているか、または最後にコマンド格納キュー３０からコマンドを出力してからの経過時間が第２の所定値を越えているかを判定し（Ｓ１４）、いずれか一方の条件を満たしたならば、ステップ１５へと進む。
【００４２】
上記ステップＳ１５において、出力判定部３３Ｂは、ストレージ装置４がビジーであるかどうかを判定し（Ｓ１５）、ビジーでなければ（Ｓ１５：Ｎｏ）、コマンド格納キュー３０の先頭コマンド（コマンド格納キュー３０に蓄積された最も古いコマンド）を含む、連続する同種のコマンドを全て逐次出力する（Ｓ１６）。
【００４３】
次に、出力判定部３３Ｂは、上記ステップ１６において出力されたコマンドに対応する転送サイズの合計値を、リードコマンドの総転送サイズ、又はライトコマンドの総転送サイズから減ずるように総転送サイズ検出部３１に指示する（Ｓ１７）。
【００４４】
（具体例）
図６（ａ）〜（ｇ）は、具体例を示す。コマンド格納キュー３０内には、図６（ａ）に示すように、リードコマンドＲ１、Ｒ２が蓄積されているとする。図６（ｂ）に示すように、コマンド格納キュー３０にリードコマンドＲ３が入力され、コマンド格納キュー３０内のリードコマンドの総転送サイズが第３の所定値を超えると、図６（ｃ）に示すように、先行するコマンド（リード）と同一種類のコマンドであるリードコマンドＲ１、Ｒ２、Ｒ３がコマンド格納キュー３０から順次出力される。
【００４５】
次に、コマンド格納キュー３０に、図６（ｄ）に示すように、ライトコマンドＷ１が入力され、続いて図６（ｅ）に示すように、ライトコマンドＷ２が入力され、続いて図６（ｆに示すように、ライトコマンドＷ３入力され、コマンド格納キュー３０内のライトコマンドの総転送サイズが第３の所定値を超えると、図３（ｇ）に示すように、先行するコマンド（ライト）と同一種類のコマンドであるライトコマンドＷ１、Ｗ２、Ｗ３がコマンド格納キュー３０から順次出力される。
【００４６】
（第２の実施の形態の効果）
第１の実施の形態の図２においては、ステップＳ４においてコマンド格納キュー３０に蓄積されたリードコマンドとライトコマンドの転送サイズの合計値が第１の所定値を越えると、ステップＳ５を経てステップＳ６にてコマンドが出力される。しかし、リードコマンドかライトコマンドのいずれか一方しか出力されないため、実際に転送されるサイズは総転送サイズよりも小さくなる。これがあまりに小さすぎると、転送性能が向上しないこともあり得る。
【００４７】
そこで、総転送サイズとして、連続するリードコマンドの総転送サイズ、連続するライトコマンドの総転送サイズを個別に算出することとし、図２のステップＳ４の条件を、先頭コマンドと同じ種別のコマンドの総転送サイズが第３の所定値を越えるか、又は最後にコマンドを出力してからの経過時間が第２の所定値を越えているか、いずれか一方の条件を満たしたならばステップ１５へと進む、とする。
【００４８】
これにより、転送サイズの計算量が増えるが、実際に転送されるサイズが第１の所定値以上であることが保証され、転送性能が確実に向上する。
【００４９】
なお、上記第２の実施の形態では、第３の所定値をリードコマンドとライトコマンドとで同一としたが、異なる値に設定してもよい。この構成によれば、ステップ４の条件を、先頭コマンドと同じ種別のコマンドの総転送サイズが、もしリードコマンドであれば第３の所定値Ｒを越え、もしライトコマンドであれば第３の所定値Ｗを越え、もしくは最後にコマンドを出力してからの経過時間が第２の所定値を越えているか、いずれか一方の条件を満たしたならばステップＳ５へと進むとする。これにより、リードコマンドとライトコマンドの到着頻度が異なる場合に、各々に適した所定値を設定することが可能となり、転送性能が向上する。
【００５０】
［第３の実施の形態］
図７は、本発明の第３の実施の形態に係るストレージシステムを示す。本実施の形態は、図１に示すコマンドキューイング制御装置３をプログラムによって構成したものである。
【００５１】
このストレージシステム１は、ホストコンピュータ２と、ストレージ装置４とを備える。ホストコンピュータ２は、文書作成プログラム等のアプリケーションプログラム２１と、オペレーションシステム（ＯＳ）２２と、ＯＳ２２に組み込まれたファイルシステム２３と、ストレージ装置４を制御するデバイスドライバ２４とを有する。これらのプログラム２１、ＯＳ２２、ファイルシステム２３及びデバイスドライバ２４は、ＨＤＤ等に格納されており、図示しないＣＰＵによって実行される。なお、デバイスドライバ２４等は、ＣＤ−ＲＯＭ等の記録媒体からホストコンピュータ２内に取り込んでもよく、インターネット等のネットワークを介してホストコンピュータ２内に取り込んでもよい。
【００５２】
デバイスドライバ２４は、第１の実施の形態の、コマンド格納キュー３０、相転送サイズ検出部３１Ａ、コマンド判定部３２及び出力判定部３３Ａにそれぞれ対応した機能を有するコマンド格納キュー手段２４０、総転送サイズ検出手段２４、コマンド判定手段２４２及び出力判定手段２４３を備える。
【００５３】
（第３の実施の形態の効果）
第３の実施の形態によれば、総転送サイズが第１の所定値を超えているか、最後のコマンドを出力してからの経過時間が第２の所定値を超えている場合に、コマンド格納キュー３０に格納されているコマンドを転送するので、ホストコンピュータ２のＣＰＵに対する割り込み回数を減らすことができる。
【００５４】
なお、第２の実施の形態のコマンドキューイング制御装置３をプログラムによって実現してもよい。
【００５５】
また、第３の実施の形態では、コマンドキューイング制御装置３の全体をソフトウェアによって実現したが、一部をソフトウェアによって実現してもよい。
【実施例１】
【００５６】
第１の所定値を１Ｋバイト、第２の所定値を１００ｍｓとし、ＣＰＵとして、３．６ＧＨｚのＸｅｏｎ（登録商標）のものを２個搭載したサーバにより、大きさ５１２バイトのデータの単位時間あたりの入出力回数を計測したところ、従来方式で約６５０００に対し本方式で約８５０００が得られた。
【００５７】
なお、本発明は、上記実施の形態に限定されず、その要旨を変更しない範囲内で種々な変形が可能である。
【００５８】
例えば、第１及び第２の実施の形態では、第２の所定値を最後にコマンドを出力してからの経過時間としたが、最後にコマンドが到着してからの経過時間としてもよい。これにより、総転送サイズの蓄積時間よりも、コマンドの到着間隔が安定していてバラツキが少ない場合に、コマンド待ち時間が削減され、転送性能が向上する。
【００５９】
また、出力判定部は、コマンド格納キュー３０に最後に到着したデータ転送コマンドの種別が、その直前に到着したデータ転送コマンドと異なる場合に、コマンド格納キュー３０から出力するように指示してもよい。例えば、コマンド格納キュー３０に同種コマンドが連続して到着した後に他の種類のコマンドが連続して到着する場合に、コマンド待ち時間が削減され、転送性能が向上する。
【図面の簡単な説明】
【００６０】
【図１】本発明の第１の実施の形態に係るストレージシステムを示すブロック図である。
【図２】本発明の第１の実施の形態に係る出力判定部のコマンド格納キューに対する出力指示のフローを示す図である。
【図３】（ａ）〜（ｆ）は、本発明の第１の実施の形態に係る出力判定部のコマンド格納キューに対する出力指示の具体例を示す図である。
【図４】本発明の第２の実施の形態に係るストレージシステムを示すブロック図である。
【図５】本発明の第２の実施の形態に係る出力判定部のコマンド格納キューに対する出力指示のフローを示す図である。
【図６】（ａ）〜（ｇ）は、本発明の第２の実施の形態に係る出力判定部のコマンド格納キューに対する出力指示の具体例を示す図である。
【図７】本発明の第３の実施の形態に係るストレージシステムを示すブロック図である。
【符号の説明】
【００６１】
１…ストレージシステム、２…ホストコンピュータ、
３…コマンドキューイング制御装置、４…ストレージ装置、
２１…アプリケーションプログラム、２２…オペレーティングシステム、
２３…ファイルシステム、２４…デバイスドライバ、３０…コマンド格納キュー、
３１Ａ，３１Ｂ…総転送サイズ検出部、３２…コマンド判定部、
３３Ａ，３３Ｂ…出力判定部、２４０…コマンド格納キュー手段、
２４１…総転送サイズ検出手段、２４２…コマンド判定手段、２４３…出力判定手段
【図１】
2007304883.tif 000003
【図２】
2007304883.tif 000004
【図３】
2007304883.tif 000005
【図４】
2007304883.tif 000006
【図５】
2007304883.tif 000007
【図６】
2007304883.tif 000008
【図７】
2007304883.tif 000009