(57)【特許請求の範囲】
【請求項１】
上位装置からストレージ装置へ送出されるデータ転送コマンドを蓄積するとともに、２つのモードで動作可能なコマンド格納キューと、
前記コマンド格納キューが動作する前記モードの継続時間を計測し、前記継続時間が第１の所定値を超えたとき、第１の信号を出力する第１の計測部と、
前記データ転送コマンドが送出される頻度を計測し、前記頻度が第２の所定値を超えたとき、第２の信号を出力する第２の計測部と、
前記第１及び第２の信号の出力の有無に応じて前記コマンド格納キューに対して前記モードの切替制御を行うキューイング制御部とを備えたコマンドキューイング制御装置。
【請求項２】
前記制御部は、前記第１の計測部からの前記第１の信号を受信し、かつ前記第２の計測部からの前記第２の信号を受信した場合は、前記コマンド格納キューに対して第１のキューイングモードを指示し、前記第１の計測部からの前記第１の信号を受信し、かつ前記第２の計測部からの前記第２の信号を受信しなかった場合は、前記コマンド格納キューに対して第２のキューイングモードを指示し、それ以外の場合は同じキューイングモードを継続するように前記コマンド格納キューに対して指示する請求項１に記載のコマンドキューイング制御装置。
【請求項３】
前記コマンド格納キューは、前記第１のキューイングモードにおいては、前記ストレージ装置がビジーでなくても、所定の条件を満たせば前記データ転送コマンドを蓄積し、
前記第２のキューイングモードにおいては、前記ストレージ装置がビジーである場合のみ前記データ転送コマンドを蓄積する請求項２に記載のコマンドキューイング制御装置。
【請求項４】
前記所定の条件は、前記コマンド格納キューに格納された前記データ転送コマンドの総数が所定値未満であり、かつ最後に前記データ転送コマンド実行後の経過時間が所定値未満である請求項３に記載のコマンドキューイング制御装置。
【請求項５】
前記所定の条件は、前記コマンド格納キューに格納された前記データ転送コマンドの総転送サイズが所定値未満であり、かつ最後に前記データ転送コマンド実行後の経過時間が所定値未満である請求項３に記載のコマンドキューイング制御装置。
【請求項６】
前記キューイング制御部は、
前記ストレージ装置から割込信号を受信した場合、前記コマンド格納キューに未実行のデータ転送コマンドが蓄積されているかを確認し、蓄積されていたら、そのデータ転送コマンドを実行させる請求項１乃至５のいずれか１項に記載のコマンドキューイング制御装置。
【請求項７】
上位装置からストレージ装置へ送出されるデータ転送コマンドを蓄積するとともに、２つのモードで動作可能なコマンド格納キュー手段と、
前記コマンド格納キュー手段が動作する前記モードの継続時間を計測し、前記継続時間が第１の所定値を超えたとき、第１の信号を出力する第１の計測手段と、
前記データ転送コマンドが送出される頻度を計測し、前記頻度が第２の所定値を超えたとき、第２の信号を出力する第２の計測手段と、
前記第１及び第２の信号の出力の有無に応じて前記コマンド格納キューに対して前記モードの切替制御を行うコマンドキューイング制御手段の機能をコンピュータに実行させるためのコマンドキューイングプログラム。
【請求項８】
データ転送コマンドを送出する上位装置と、
ストレージ装置と、
前記上位装置から前記ストレージ装置へ送出される前記データ転送コマンドを蓄積するとともに、２つのモードで動作可能なコマンド格納キューと、前記コマンド格納キューが動作する前記モードの継続時間を計測し、前記継続時間が第１の所定値を超えたとき、第１の信号を出力する第１の計測部と、前記データ転送コマンドが送出される頻度を計測し、前記頻度が第２の所定値を超えたとき、第２の信号を出力する第２の計測部と、前記第１及び第２の信号の出力の有無に応じて前記コマンド格納キューに対して前記モードの切替制御を行う制御部とを有するコマンドキューイング制御装置とを備えたストレージシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステムに関する。
【背景技術】
【０００２】
近年、ホストコンピュータとストレージ装置との間のＤＭＡ(Direct Memory Access)転送の高速化が検討されている。
【０００３】
ホストコンピュータは、例えば、５１２バイト、１Ｋバイトといった容量のブロックを単位とするリード／ライトコマンドを、ストレージ装置に発行することでアクセスを行う。ブロックサイズは、ホストコンピュータで実行されるアプリケーション毎に変わる。
【０００４】
アクセス速度を向上するため、ストレージ装置側のリード／ライト完了を待たずに、ホストコンピュータから複数のコマンドを発行し、それらを一時的にコマンド格納キューに蓄えた後、まとめてアクセスを行うコマンドキューイング方式が用いられる（例えば、特許文献１、２参照。）。
【特許文献１】特開平９−２５８９０７号公報
【特許文献２】特開平４−１７０６２４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ストレージ装置の応答性が高いと、ホストコンピュータへの割込み頻度が増すためビジーとなり、データ転送の高速化に悪影響を及ぼすおそれがある。
【０００６】
そこで、本発明の目的は、ストレージ装置の応答性に拘わらずデータ転送の高速化が可能なコマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステムを提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一態様は、上記目的を達成するため、以下のコマンドキューイング制御装置、コマンドキューイングプログラム及びストレージシステムを提供する。
【０００８】
［１］上位装置からストレージ装置へ送出されるデータ転送コマンドを蓄積するとともに、２つのモードで動作可能なコマンド格納キューと、前記コマンド格納キューが動作する前記モードの継続時間を計測し、前記継続時間が第１の所定値を超えたとき、第１の信号を出力する第１の計測部と、前記データ転送コマンドが送出される頻度を計測し、前記頻度が第２の所定値を超えたとき、第２の信号を出力する第２の計測部と、前記第１及び第２の信号の出力の有無に応じて前記コマンド格納キューに対して前記モードの切替制御を行うキューイング制御部とを備えたコマンドキューイング制御装置。
【０００９】
［２］前記制御部は、前記第１の計測部からの前記第１の信号を受信し、かつ前記第２の計測部からの前記第２の信号を受信した場合は、前記コマンド格納キューに対して第１のキューイングモードを指示し、前記第１の計測部からの前記第１の信号を受信し、かつ前記第２の計測部からの前記第２の信号を受信しなかった場合は、前記コマンド格納キューに対して第２のキューイングモードを指示し、それ以外の場合は同じキューイングモードを継続するように前記コマンド格納キューに対して指示する前記［１］に記載のコマンドキューイング制御装置。
【００１０】
［３］前記コマンド格納キューは、前記第１のキューイングモードにおいては、前記ストレージ装置がビジーでなくても、所定の条件を満たせば前記データ転送コマンドを蓄積し、前記第２のキューイングモードにおいては、前記ストレージ装置がビジーである場合のみ前記データ転送コマンドを蓄積する前記［２］に記載のコマンドキューイング制御装置。
【００１１】
［４］前記所定の条件は、前記コマンド格納キューに格納された前記データ転送コマンドの総数が所定値未満であり、かつ最後に前記データ転送コマンド実行後の経過時間が所定値未満である前記［３］に記載のコマンドキューイング制御装置。
【００１２】
［５］前記所定の条件は、前記コマンド格納キューに格納された前記データ転送コマンドの総転送サイズが所定値未満であり、かつ最後に前記データ転送コマンド実行後の経過時間が所定値未満である前記［３］に記載のコマンドキューイング制御装置。
【００１３】
［６］前記キューイング制御部は、前記ストレージ装置から割込信号を受信した場合、前記コマンド格納キューに未実行のデータ転送コマンドが蓄積されているかを確認し、蓄積されていたら、そのデータ転送コマンドを実行させる前記［１］乃至［５］のいずれか１つに記載のコマンドキューイング制御装置。
【００１４】
［７］上位装置からストレージ装置へ送出されるデータ転送コマンドを蓄積するとともに、２つのモードで動作可能なコマンド格納キュー手段と、前記コマンド格納キュー手段が動作する前記モードの継続時間を計測し、前記継続時間が第１の所定値を超えたとき、第１の信号を出力する第１の計測手段と、前記データ転送コマンドが送出される頻度を計測し、前記頻度が第２の所定値を超えたとき、第２の信号を出力する第２の計測手段と、前記第１及び第２の信号の出力の有無に応じて前記コマンド格納キューに対して前記モードの切替制御を行うコマンドキューイング制御手段の機能をコンピュータに実行させるためのコマンドキューイングプログラム。
【００１５】
［８］データ転送コマンドを送出する上位装置と、ストレージ装置と、前記上位装置から前記ストレージ装置へ送出される前記データ転送コマンドを蓄積するとともに、２つのモードで動作可能なコマンド格納キューと、前記コマンド格納キューが動作する前記モードの継続時間を計測し、前記継続時間が第１の所定値を超えたとき、第１の信号を出力する第１の計測部と、前記データ転送コマンドが送出される頻度を計測し、前記頻度が第２の所定値を超えたとき、第２の信号を出力する第２の計測部と、前記第１及び第２の信号の出力の有無に応じて前記コマンド格納キューに対して前記モードの切替制御を行う制御部とを有するコマンドキューイング制御装置とを備えたストレージシステム。
【発明の効果】
【００１６】
請求項１に係るコマンドキューイング制御装置によれば、ストレージ装置の応答性に拘わらずデータ転送の高速化が可能となる。
【００１７】
請求項２に係るコマンドキューイング制御装置によれば、ストレージ装置の応答性に拘わらずデータ転送の高速化が可能となる。
【００１８】
請求項３に係るコマンドキューイング制御装置によれば、ストレージ装置の応答性が高いためにコマンドが蓄積されるよりもコマンドが実行される方が速い場合には、コマンド格納キューに第１のキューイングモードを指示することにより、上位装置への割込みを抑制することができる。
【００１９】
請求項４に係るコマンドキューイング制御装置によれば、上位装置への割込み回数を減らすことができる。
【００２０】
請求項５に係るコマンドキューイング制御装置によれば、上位装置への割込み回数を減らすことができる。
【００２１】
請求項６に係るコマンドキューイング制御装置によれば、構成によってはコマンド格納キューに未実行のデータ転送コマンドが残ってしまう場合もあるが、このような場合でも、未実行のデータ転送コマンドを確実に実行することができる。
【００２２】
請求項７に係るコマンドキューイングプログラムによれば、ストレージ装置の応答性に拘わらずデータ転送の高速化が可能となる。
【００２３】
請求項８に係るストレージシステムによれば、ストレージ装置の応答性に拘わらずデータ転送の高速化が可能となる。
【発明を実施するための最良の形態】
【００２４】
［第１の実施の形態］
図１は、本発明の第１の実施の形態に係るストレージシステムを示す。このストレージシステム１は、上位装置としてのホストコンピュータ２と、コマンドキューイング制御装置３と、ストレージ装置４とを有して構成されている。ホストコンピュータ２とコマンドキューイング制御装置３、コマンドキューイング制御装置３とストレージ装置４は、それぞれＳＣＳＩ(Small Computer System Interface)バス５，６によって接続されている。
【００２５】
コマンドキューイング制御装置３は、ホストコンピュータ２からのデータ転送コマンド１００を入力し、ストレージ装置４に対するデータ転送処理を行うものであり、コマンド格納キュー３０、コマンド総数検出部３１、タイマー部（第１の計測部）３２、コマンド頻度算出部（第２の計測部）３３、キューイング制御部３４、及び転送するデータを記憶するデータバッファやデータの転送を制御する制御部等から構成されている。
【００２６】
ホストコンピュータ２から送出されるデータ転送コマンドには、リードコマンド、ライトコマンド、これ以外のコマンドがある。リードコマンドとライトコマンドは、ホスト先頭アドレス、ストレージ先頭アドレス、転送サイズを各々表わすフィールドを備える。
【００２７】
コマンド格納キュー３０は、データ転送コマンド１００を入力して蓄積し、キューイング制御部３４からの信号１０４に従って蓄積されたデータ転送コマンドを古い順に出力する。
【００２８】
また、コマンド格納キュー３０は、第１のキューイングモードとしてのマニュアルキューイングモードと、第２のキューイングモードとしてのオートキューイングモードの２つのモードで動作可能に構成されている。「マニュアルキューイングモード」は、ストレージ装置４がビジーでなくても、後述するモード遷移の条件を満たせばデータ転送コマンドを蓄積するモードである。「オートキューイングモード」は、ストレージ装置４がビジーである場合のみデータ転送コマンドを蓄積するモードである。
【００２９】
また、コマンド格納キュー３０は、ホストコンピュータ２からデータ転送コマンド１００が送出される毎に信号１０１ａをコマンド総数検出部３１に出力するとともに、信号１０３をコマンド頻度算出部３３に出力し、データ転送コマンド１０８をストレージ装置４に送出する毎に信号１０１ｂをコマンド総数検出部３１に出力し、モードが切り替わる毎に信号１０２をタイマー部３２に出力する。
【００３０】
コマンド総数検出部３１は、コマンド格納キュー３０から信号１０１ａが到来する毎にカウントアップし、コマンド格納キュー３０から信号１０１ｂが到来する毎にカウントダウンすることにより、コマンド格納キュー３０に蓄積されたデータ転送コマンドの総数を検出し、データ転送コマンドの総数が所定値（例えば、５１２個）を超えると、信号１０５をキューイング制御部３４に出力する。
【００３１】
タイマー部３２は、コマンド格納キュー３０から信号１０２が到来する毎にタイマー値をリセットして各キューイングモードの継続時間を計測し、継続時間が所定値を超えると、信号１０６をキューイング制御部３４に出力する。
【００３２】
コマンド頻度算出部３３は、コマンド格納キュー３０から出力される信号１０３に基づいて、ストレージ装置４に対してデータ転送コマンド１０８が実行された頻度を計測し、頻度が所定値を超えると、信号１０７をキューイング制御部３４に出力する。頻度の算出方法については、後述する。
【００３３】
キューイング制御部３４は、コマンド総数検出部３１からの信号１０５、タイマー部３２からの信号（第１の信号）１０６、及びコマンド頻度算出部３３からの信号（第２の信号）１０７の有無に応じてコマンド格納キュー３０に対するモードの切替制御を行う。モードの切替の詳細については、後述する。
【００３４】
ストレージ装置４は、データ転送コマンドの実行が完了すると、割込信号をキューイング制御部３４に送信し、キューイング制御部３４は、割込信号をホストコンピュータ２に送信する。ストレージ装置４は、半導体ディスク装置、ハードディスク装置、光ディスク装置等を用いることができる。
【００３５】
（頻度の算出）
図２は、コマンド頻度算出部３３による頻度の算出例を説明するための図である。同図中、Ｒはリードコマンドを示し、Ｗはライトコマンドを示す。コマンド頻度算出部３３は、例えば、一定の期間Ｔ（例えば、３０秒）に発生したコマンド（信号１０３）の数を頻度として演算する。同図では、期間Ｔ１では、Ｒ、Ｒ、Ｗが存在するので、頻度が３回、期間Ｔ２では、Ｒ、Ｗ、Ｗが存在するので、頻度が３回、期間Ｔ３では、Ｗのみが存在するので、頻度が１回である。なお、頻度は、所定期間に発生したコマンドの数以外の値でもよく、例えば基準となる他の期間（例えば、３００秒）に発生したコマンド数に対する一定の期間Ｔに発生したコマンドの数（コマンド数比率）のように、他の値をとり得る。また、データ転送コマンドの頻度に応じて適切にモードを切替えるためには、一定の期間Ｔは頻度を算出する時点に対して時間的に近いほうが好ましい。
【００３６】
（モードの切替）
図３（ａ）は、モードの遷移状態を示す図、図３（ｂ）は、モード遷移の条件を示す図である。図３（ａ）の(1)〜(3)は、図３（ｂ）のモード遷移欄の(1)〜(3)に対応する。図３（ｂ）において、モード遷移の条件を満たす場合は○印、満たさない場合は×印で示す。
【００３７】
モード遷移の条件は、図３（ｂ）にも示すように、次の３つである。
（ａ）コマンド総数検出部３１からの信号１０５無し
（ｂ）タイマー部３２からの信号１０６有り
（ｃ）コマンド頻度算出部３３からの信号１０７有り
【００３８】
上記３つの条件を満たせば、図３（ｂ）に示すように、モード遷移(1)となり、キューイング制御部３４は、コマンド格納キュー３０に対してマニュアルキューイングモードを指示する。上記３つの条件のうち上記（ａ）、（ｂ）を満たし、上記（ｃ）を満たしない場合は、モード遷移(2)となり、キューイング制御部３４は、コマンド格納キュー３０に対してオートキューイングモードを指示する。それ以外の場合は、同じキューイングモードの継続をコマンド格納キュー３０に対して指示する。
【００３９】
（第１の実施の形態の動作）
次に、第１の実施の形態に係るストレージシステム１の動作について説明する。なお、オートキューイングモードが設定されているとする。
【００４０】
（オートキューイングモード）
ホストコンピュータ２からデータ転送コマンド１００が送出されると、コマンドキューイング制御装置３のコマンド格納キュー３０は、送出されたデータ転送コマンド１００を蓄積する。
【００４１】
ホストコンピュータ２からデータ転送コマンド１００が順次送出され、コマンド格納キュー３０に蓄積されたデータ転送コマンドの総数が所定値を超えると、コマンド総数検出部３１は、信号１０５をキューイング制御部３４に出力する。
【００４２】
キューイング制御部３４は、コマンド総数検出部３１から信号１０５を受信すると、ストレージ装置がビジーか否かを判定し、ビジーでなければ、コマンド格納キュー３０の先頭コマンド（コマンド格納キュー３０に蓄積された最も古いコマンド）をストレージ装置４に出力させる。コマンド格納キュー３０に蓄積されたデータ転送コマンドの総数が所定値以下になると、コマンド総数検出部３１は、信号１０５の出力を停止する。
【００４３】
オードキューイングモードの継続時間が所定値を超えると、タイマー部３２は、信号１０６をキューイング制御部３４に出力する。そして、ストレージ装置４におけるデータ転送コマンドが実行される頻度が所定値を超えると、コマンド頻度算出部３３は、信号１０７をキューイング制御部３４に出力する。このとき、コマンド格納キュー３０に蓄積されたデータ転送コマンドの総数が所定値を超えていない場合は、図３（ｂ）に示すモード遷移(1)に該当する状態となり、キューイング制御部３４は、オートキューイングモードからマニュアルキューイングモードに切替えるようにコマンド格納キュー３０を制御する。
【００４４】
（マニュアルキューイングモード）
コマンド格納キュー３０は、ストレージ装置４がビジーでなくてもホストコンピュータ２から送出されるデータ転送コマンド１００を蓄積する。コマンド格納キュー３０に蓄積されたデータ転送コマンドの総数が所定値を超えると、コマンド総数検出部３１は、信号１０５をキューイング制御部３４に出力する。
【００４５】
キューイング制御部３４は、ストレージ装置４がビジーか否かを判定し、ビジーでなければ、コマンド格納キュー３０の先頭コマンド（コマンド格納キュー３０に蓄積された最も古いコマンド）をストレージ装置４に出力させる。
【００４６】
ストレージ装置４におけるデータ転送コマンドが実行される頻度が所定値を下回ると、コマンド頻度算出部３３は、信号１０７を出力しなくなる。これで、図３（ｂ）に示すように、モード遷移(2)に該当する状態となり、キューイング制御部３４は、マニュアルキューイングモードからオートキューイングモードに切替えるようにコマンド格納キュー３０を制御する。
【００４７】
（第１の実施の形態の効果）
第１の実施の形態によれば、コマンド格納キュー３０に蓄積されたデータ転送コマンドの総数が所定値を超えるまではコマンド格納キュー３０にデータ転送コマンドが蓄積されるので、ホストコンピュータ２への割込み回数が減り、データ転送性能が向上する。また、ストレージ装置４の応答性が高い場合には、コマンドの蓄積よりもコマンドが実行される頻度が高くなり、コマンドが蓄積できなくなって、ホストコンピュータ２への割込み回数が増えてデータ転送性能が低下するおそれがある。そのため、このような場合には、ストレージ装置４がビジーでなくてもコマンドを蓄積させるマニュアルキューイングモードに切替えることにより、ホストコンピュータ２への割込みが抑制されてデータ転送性能が向上する。
【００４８】
［第２の実施の形態］
図４は、本発明の第２の実施の形態に係るストレージシステムを示す。本実施の形態は、第１の実施の形態のコマンド総数検出部３１をコマンド総転送量検出部３５に置き換えたものであり、他は第１の実施の形態と同様に構成されている。
【００４９】
コマンド総転送量検出部３５は、コマンド格納キュー３０から信号１０１ａが到来する毎にデータ転送量を加算し、コマンド格納キュー３０から信号１０１ｂが到来する毎にデータ転送量を減算することにより、コマンド格納キュー３０に格納されたデータ転送コマンドの総データ転送量が所定値（例えば、２キロバイト）を超えると、信号１１０を出力する。本実施の形態の動作は、第１の実施の形態と同様であるので、説明を省略する。
【００５０】
第２の実施の形態によれば、コマンド格納キュー３０に蓄積されたデータ転送コマンドの総データ転送量が所定値を超えるまではコマンド格納キュー３０にデータ転送コマンドが蓄積されるので、ホストコンピュータ２への割込み回数が減り、データ転送性能が向上する。また、ストレージ装置４の応答性が高いためにコマンドの蓄積よりもコマンドが実行される頻度が高くなった場合には、第１の実施の形態と同様に、マニュアルキューイングモードに切替えることにより、ホストコンピュータ２への割込みが抑制されてデータ転送性能が向上する。
【００５１】
［第３の実施の形態］
図５は、本発明の第３の実施の形態に係るストレージシステムを示す。第１の実施の形態のコマンド頻度算出部３３は、ストレージ装置４に対してデータ転送コマンドが実行された頻度を計測したが、本実施の形態は、ホストコンピュータ２からコマンド格納キュー３０に転送されるデータ転送コマンド１００の頻度を計測したものであり、他は第１の実施の形態と同様に構成されている。この構成によっても第１の実施の形態と同様の作用、効果を奏する。
【００５２】
［第４の実施の形態］
図６は、本発明の第４の実施の形態に係るストレージシステムを示す。本実施の形態は、図１に示すコマンドキューイング制御装置３をプログラムによって実現したものである。
【００５３】
このストレージシステム１は、ホストコンピュータ２と、ストレージ装置４とを有して構成されている。
【００５４】
ホストコンピュータ２は、文書作成プログラム等のアプリケーションプログラム２０、オペレーションシステム（ＯＳ）２１、ＯＳ２１に組み込まれたファイルシステム２１０、及びストレージ装置４を制御するデバイスドライバ２２等のプログラムを有する。これらのアプリケーションプログラム２０、ＯＳ２１、ファイルシステム２１０及びデバイスドライバ２２等のプログラムは、例えば、ＨＤＤ（ハードディスク）等に格納されており、図示しないＣＰＵによって実行される。なお、デバイスドライバ２２等のプログラムは、ＣＤ−ＲＯＭ等の記録媒体からホストコンピュータ２内に取り込んでもよく、インターネット等のネットワークを介してホストコンピュータ２内に取り込んでもよい。
【００５５】
デバイスドライバ２２は、第１の実施の形態の、コマンド格納キュー３０、コマンド総数検出部３１、タイマー部３２、コマンド頻度算出部３３及びキューイング制御部３４にそれぞれ対応した機能を有する、コマンド格納キュー手段２２０、コマンド総数検出手段２２１、タイマー手段２２２、コマンド頻度算出手段２２３及びキューイング制御手段２２４を備える。
【００５６】
この構成によっても第１の実施の形態と同様の作用、効果を奏することができる。
【００５７】
なお、第２、第３の実施の形態のコマンドキューイング制御装置３をプログラムによって実現してもよい。また、デバイスドライバの一部を特定用途向け集積回路（ＡＳＩＣ：Application Specific IＣ）等のハードウェアによって実現してもよい。
【実施例１】
【００５８】
次に、本発明の第１の実施の形態に対応する実施例１について説明する。コマンド総数検出部３１が信号１０５を出力する基準となる、データ転送コマンドの総数の所定値を５１２バイトとする。タイマー部３２が信号１０６を出力する基準となる、キューイングモードの継続時間の所定値を１０ｍｓとする。コマンド頻度算出部３３が信号１０７を出力する基準となる頻度を１００μｓとする。以上の条件の下で、ＣＰＵとしてＸｅｏｎ（３．６ＧＨｚ）を２個搭載したサーバにより、ストレージ装置上で大きさ１キロバイトのファイルを１万個コピーするのに必要な時間を計測したところ、オートキューイングモードの場合は、約１５０秒要した。一方、本第１の実施の形態の方式では約１０秒要しただけであった。
【００５９】
なお、本発明は、上記各実施の形態に限定されず、本発明の趣旨を逸脱しない範囲内で種々な変形が可能である。また、上記各実施の形態の構成要素は、本発明の趣旨を逸脱しない範囲内で任意に組み合わせることができる。
【００６０】
キューイング制御部は、ストレージ装置から割込信号を受信した場合、コマンド格納キューに未実行のデータ転送コマンドが蓄積されているかを確認し、蓄積されていたら、そのデータ転送コマンドを実行させるようにしてもよい。構成によってはコマンド格納キューに未実行のデータ転送コマンドが残ってしまう場合もあるが、このような場合でも、未実行のデータ転送コマンドを確実に実行することができる。
【図面の簡単な説明】
【００６１】
【図１】図１は、本発明の第１の実施の形態に係るストレージシステムを示すブロック図である。
【図２】図２は、コマンド頻度算出部による頻度の算出例を説明するための図である。
【図３】図３（ａ）は、モードの遷移状態を示す図、図３（ｂ）は、モード遷移の条件を示す図である。
【図４】図４は、本発明の第２の実施の形態に係るストレージシステムを示すブロック図である。
【図５】図５は、本発明の第３の実施の形態に係るストレージシステムを示すブロック図である。
【図６】図６は、本発明の第４の実施の形態に係るストレージシステムを示すブロック図である。
【符号の説明】
【００６２】
１  ストレージシステム
２  ホストコンピュータ
３  コマンドキューイング制御装置
４  ストレージ装置
５，６  ＳＣＳＩバス
２０  アプリケーションプログラム
２２  デバイスドライバ
３０  コマンド格納キュー
３１  コマンド総数検出部
３２  タイマー部
３３  コマンド頻度算出部
３４  キューイング制御部
３５  コマンド総転送量検出部
１００  データ転送コマンド
１０１ａ，１０１ｂ  信号
１０２〜１０７  信号
１０８  データ転送コマンド
１１０  信号
２１０  ファイルシステム
２２０  コマンド格納キュー手段
２２１  コマンド総数検出手段
２２２  タイマー手段
２２３  コマンド頻度算出手段
２２４  キューイング制御手段
【図１】
0004867897.tif 000002
【図２】
0004867897.tif 000003
【図３】
0004867897.tif 000004
【図４】
0004867897.tif 000005
【図５】
0004867897.tif 000006
【図６】
0004867897.tif 000007