(57)【要約】【課題】バランス良くＩ／Ｏコマンドの処理が行なわれるとともに、ＱＦＵＬＬイベントの発生を低減して、キュー資源を効率的に使用できるようにする。【解決手段】外部装置１とデータ入出力要求コマンドを受信する論理デバイスとを組合せたコマンド授受対に対応させて、コマンド処理資源の割当個数を管理する割当個数管理部１３と、コマンド授受対に関して、割当個数管理部１３によって管理されている割当個数を上限値とする数のコマンド処理資源に、データ入出力要求コマンドを割り当てる割当制御部１４とをそなえて構成する。【選択図】図１
2010020694.tif 000002
【特許請求の範囲】
【請求項１】
複数の外部装置と通信可能に接続され、前記複数の外部装置に対してそれぞれ１以上の論理デバイスを提供し、該論理デバイスに対するデータ入出力要求コマンドを各外部装置から受け付け、これらのデータ入出力要求コマンドをコマンド処理資源に割り当てて実行するストレージ装置であって、
該外部装置と該データ入出力要求コマンドを受信する該論理デバイスとを組合せたコマンド授受対に対応させて、コマンド処理資源の割当個数を管理する割当個数管理部と、
該コマンド授受対に関して、該割当個数管理部によって管理されている該割当個数を上限値とする数の該コマンド処理資源に、該データ入出力要求コマンドを割り当てる割当制御部とをそなえることを特徴とする、ストレージ装置。
【請求項２】
各コマンド授受対に関して、単位時間あたりに並行して処理した該データ入出力要求コマンドの実行数を実施情報として管理する実施情報管理部と、
該実施情報に基づいて、該コマンド授受対に対するコマンド処理資源の割当個数を決定する割当個数決定部とをそなえることを特徴とする、請求項１記載のストレージ装置。
【請求項３】
該割当個数決定部が、当該ストレージ装置の設定時において、複数のコマンド授受対に対して、予め規定した同数の割当個数をそれぞれ設定することを特徴とする、請求項２記載のストレージ装置。
【請求項４】
前記複数の外部装置との接続にかかる通信ポートあたりのコマンド処理資源数が有限個数として予め設定され、
該コマンド処理資源の不足により該割当個数を設定することができない該コマンド授受対がある場合には、該割当個数決定部が、既に該割当個数が設定されている該コマンド授受対であって、前記割当個数を設定することができないコマンド授受対とは異なる他のコマンド授受対の該割当個数を、当該割当個数が前記単位時間あたりに処理したデータ入出力要求コマンドの実行数以下にならない範囲で減少させ、前記割当個数を設定することができないコマンド授受対の該割当個数を、該減少させた数だけ増加させることを特徴とする、請求項３記載のストレージ装置。
【請求項５】
該割当個数決定部が、該コマンド授受対に対するコマンド処理資源の割当個数を定期的に決定することを特徴とする、請求項２〜請求項４のいずれか１項に記載のストレージ装置。
【請求項６】
複数の外部装置と通信可能に接続され、前記複数の外部装置に対してそれぞれ１以上の論理デバイスを提供し、該論理デバイスに対するデータ入出力要求コマンドを各外部装置から受け付け、これらのデータ入出力要求コマンドをコマンド処理資源に割り当てて実行するストレージ装置の制御装置であって、
該外部装置と該データ入出力要求コマンドを受信する該論理デバイスとを組合せたコマンド授受対に対応させて、コマンド処理資源の割当個数を管理する割当個数管理部と、
該コマンド授受対に関して、該割当個数管理部によって管理されている該割当個数を上限値とする数の該コマンド処理資源に、該データ入出力要求コマンドを割り当てる割当制御部とをそなえることを特徴とする、制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の外部装置に対してそれぞれ１以上の論理デバイスを提供し、論理デバイスに対するデータ入出力要求コマンドを各外部装置から受け付け、これらのデータ入出力要求コマンドをコマンド処理資源に割り当てる技術に関する。
【背景技術】
【０００２】
近年、１以上のストレージを仮想化して複数のホスト装置に対して複数の論理記憶装置（ＬＵＮ：Logical Unit Number）を提供することにより、ストレージの物理的な制限を受けることなく、柔軟なシステム運用を行なうことを可能とするストレージ仮想化技術が知られている。
図１１は従来の仮想化ストレージシステムの構成例を模式的に示す図である。この図１１に示す例においては、２つのホスト５０１ａ，５０１ｂとＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置６０５とをそなえて構成された仮想化ストレージシステム６００を示している。
【０００３】
ＲＡＩＤ装置６０５は、キュー６０６，コントローラ６０３およびディスアレイ６０２をそなえて構成されている。このＲＡＩＤ装置６０５は、ポート６０１ａ，６０１ｂを介してホスト５０１ａ，５０１ｂに接続され、これらのホスト５０１ａ，５０１ｂからＩ／Ｏコマンドを受け取ると、そのＩ／Ｏコマンドに従って、ディスクアレイ６０２のＨＤＤ６０４−１〜６０４−４に対するデータの書き込みまたは読み出しを実行するものである。
【０００４】
ディスクアレイ６０２は、複数（図１１に示す例では４つ）のＨＤＤ（Hard disk drive）６０４−１〜６０４−４をそなえて構成され、ＲＡＩＤ装置６０５においては、これらの複数のＨＤＤ６０４−１〜６０４−４を論理的な一つのディスクとして取り扱うことができるものである。
キュー６０６は、ＲＡＩＤ装置６００がホスト５０１ａ，５０１ｂからＩ／Ｏコマンドを受け付けた場合に、これらのＩ／Ｏコマンドを実行するための種々の情報を格納する格納領域（メモリ）である。例えば、このキュー６０６には、Ｉ／Ｏコマンドの実行に際して用いられる返り値や、処理の進行状況を示す情報，ステータス，Ｉ／Ｏコマンド自体等が格納されるようになっている。
【０００５】
また、このキュー６０６は、上述したＩ／Ｏコマンドを実行するための種々の情報を格納するに際して、所定のサイズ（例えば、２５６ｂｙｔｅ）の複数のキュー（キュー資源）に分割されて用いられるようになっている。
コントローラ６０３は、ホスト５０１ａ，５０１ｂに対して、論理デバイス（ＬＵＮ）を提供し、これらのホスト５０１ａ，５０１ｂから受信したＩ／Ｏコマンドに応じて、ＨＤＤ６０４−１〜６０４−４に対する書き込みおよび読み出しの制御を行なうものである。
【０００６】
また、コントローラ６０３は、ホスト５０１ａ，５０１ｂからＩ／Ｏコマンドを受信すると、これらのＩ／Ｏコマンドに対してキュー６０６のキュー資源を割り当てて、ＨＤＤ６０４−１〜６０４−４の動作制御を行なうようになっている。
すなわち、ホスト５０１ａ，５０１ｂが、ＲＡＩＤ装置６０５から提供されるＬＵＮに対してアドレス指定を行なうことによりＩ／Ｏコマンドをそれぞれ送信すると、コントローラ６０３は、これらのＩ／Ｏコマンドを受信して順次キュー６０６に格納する（割り当てる）。
【０００７】
そして、コントローラ６０３は、これらのキュー資源が割り当てられたＩ／Ｏコマンドに従って、ＨＤＤ６０４−１〜６０４−４に対するデータの書き込みまたは読み出しを実行するのである。
また、ホスト５０１ａ，５０１ｂからＩ／Ｏコマンドを受信し実行するに際して、キュー６０６の空き容量不足等により、これらのＩ／Ｏコマンドを実行するための種々の情報を格納することができない場合、すなわち、キュー資源を割り当てることができない場合には、そのＩ／Ｏコマンドは拒絶され、送信元のホスト５０１ａ，５０１ｂに対して、キュー６０６が満杯であることを示すステータス（ＱＦＵＬＬ）とともに返されるようになっている（ＱＦＵＬＬ応答）。
【０００８】
このような仮想化ストレージシステム６００においては、各ＬＵＮ間において、バランス良くＩ／Ｏコマンドの処理が行なわれることが望ましく、又、ＱＦＵＬＬ応答が極力行なわれないようにすることも望まれている。
また、ホスト５０１ａ，５０１ｂにおいては、ＲＡＩＤ装置６０５からの応答待ちによりアプリケーションが永久待機させられることを防止するために、送信するＩ／Ｏコマンドに対してタイムアウト時間を設定する。そして、このタイムアウト時間を経過してもＩ／Ｏコマンドが処理されない（タイムアウト）場合に、ＲＡＩＤ装置６００に対して、そのＩ／Ｏコマンドの処理の中止を指示するとともに、同一のＩ／Ｏコマンドを再試行するようになっている（タイムアウトイベント）。
【０００９】
例えば、下記特許文献１には、上述したタイムアウトイベントやＱＦＵＬＬイベントの発生を最小限にすべく、キューの論理サイズを調節する手法が記載されている。
図１２（ａ）〜（ｃ）は従来の仮想化ストレージシステムにおけるキューの論理サイズの調整手法を説明するための図であって、図１２（ａ）は各キューに対して割り当てる論理サイズの変更前の状態を例示する図、図１２（ｂ）は図１２（ａ）の状態においてＱＦＵＬＬ率が高いＬＵＮの論理サイズを増加させた状態を例示する図、図１２（ｃ）は図１２（ｂ）の状態において更に他のＬＵＮに対するＩ／Ｏコマンドが受け付けられた状態を例示する図である。
【００１０】
なお、これらの図１２（ａ）〜（ｃ）中において、符号ａ１〜ａ７はそれぞれＬＵＮを特定するための識別情報であって、例えば、図１２（ａ）に示す状態は、ＲＡＩＤ装置６０５において、ホスト５０１ａからＬＵＮ＃ａ１，ａ２，ａ３，ａ４に対してそれぞれＩ／Ｏコマンドが出力され、これらのＬＵＮ＃ａ１，ａ２，ａ３，ａ４に対して出力された各Ｉ／Ｏコマンドに対して、論理サイズのキューが割り当てられている状態を示している。
【００１１】
特許文献１に開示された手法においては、この図１２（ａ）に示すような状態において、例えば、ＬＵＮ＃ａ１，ａ３においてＱＦＵＬＬ率が高くなった場合には、図１２（ｂ）に示すように、これらのＬＵＮ＃ａ１，ａ３に対して割り当てるキューの論理サイズを増大させるようになっている。
また、特許文献１においては、上述の如くＱＦＵＬＬ率が閾値を超えた場合にキューの論理サイズを増大させる手法の他に、タイムアウト率が閾値を超えた場合に、キューの論理サイズを減少させることも記載されている。
【特許文献１】特開２００５−１４９４３６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
仮想化ストレージシステムにおいてキュー資源は有限であり、この有限なキュー資源を効率的に使用することが望まれている。
しかしながら、上述の如き従来の仮想化ストレージシステムにおいては、閾値を超えたＬＵＮのキュー資源を無制限に増大することはできず、ＱＦＵＬＬイベントの発生を低減することはできない。
【００１３】
例えば、図１２（ｃ）に示すように、図１２（ｂ）に示した状態から、更に、ホスト５０１ａからのＬＵＮ＃ａ５，ａ６，ａ７に対するＩ／Ｏコマンドを受け付けることによりキューが一杯になった状態においては、例えば、ＬＵＮ＃ａ２においてＱＦＵＬＬ率が上昇したとしても、これ以上、このＬＵＮ＃ａ２に対して割り当てるキューを増大させることはできない。
【００１４】
また、タイムアウトの発生は、ＲＡＩＤ装置６０５にそなえられたＨＤＤ６０４−１〜６０４−４の一時的なハードウェア異常（例えば、媒体エラーやディスクの故障）によっても発生する。従って、タイムアウト率が閾値を超えた場合にキューの論理サイズを減少させる従来の手法においては、このような一時的な要因によるタイムアウトの発生によってもキューの論理サイズが減少させてしまい、ＲＡＩＤ装置６０５がそなえるリカバリ機能等によりハードウェア異常が解消された場合であっても、割り当てられたキュー資源は減少されたまま維持され、キュー資源を効率的に使用することができない。
【００１５】
本発明は、このような課題に鑑み創案されたもので、複数のＬＵＮ間において、バランス良くＩ／Ｏコマンドの処理が行なわれるとともに、ＱＦＵＬＬイベントの発生を低減して、キュー資源を効率的に使用できるようにすることを目的とする。
【課題を解決するための手段】
【００１６】
このため、このストレージ装置の特徴は、複数の外部装置と通信可能に接続され、前記複数の外部装置に対してそれぞれ１以上の論理デバイスを提供し、該論理デバイスに対するデータ入出力要求コマンドを各外部装置から受け付け、これらのデータ入出力要求コマンドをコマンド処理資源に割り当てて実行するストレージ装置であって、該外部装置と該データ入出力要求コマンドを受信する該論理デバイスとを組合せたコマンド授受対に対応させて、コマンド処理資源の割当個数を管理する割当個数管理部と、該コマンド授受対に関して、該割当個数管理部によって管理されている該割当個数を上限値とする数の該コマンド処理資源に、該データ入出力要求コマンドを割り当てる割当制御部とをそなえるものである。
【００１７】
また、この制御装置の特徴は、複数の外部装置と通信可能に接続され、前記複数の外部装置に対してそれぞれ１以上の論理デバイスを提供し、該論理デバイスに対するデータ入出力要求コマンドを各外部装置から受け付け、これらのデータ入出力要求コマンドをコマンド処理資源に割り当てて実行するストレージ装置の制御装置であって、該外部装置と該データ入出力要求コマンドを受信する該論理デバイスとを組合せたコマンド授受対に対応させて、コマンド処理資源の割当個数を管理する割当個数管理部と、該コマンド授受対に関して、該割当個数管理部によって管理されている該割当個数を上限値とする数の該コマンド処理資源に、該データ入出力要求コマンドを割り当てる割当制御部とをそなえるものである。
【発明の効果】
【００１８】
開示の装置によれば、複数のコマンド授受対間において、データ入出力要求コマンドの実行数のバランスを良くすることができ、データ入出力要求コマンドを効率的に処理することができる利点がある。
【発明を実施するための最良の形態】
【００１９】
以下、図面を参照して本発明の実施の形態を説明する。
図１は本発明の一実施形態としてのストレージシステムの構成を模式的に示す図である。
本発明の一実施形態としてのストレージシステム１００は、複数（図１に示す例では４つ）のホスト（外部装置）１ａ，１ｂ，１ｃ，１ｄ，端末装置４２およびＲＡＩＤ装置６０をそなえて構成されている。
【００２０】
ＲＡＩＤ装置（ストレージ装置）６０は、ホスト１ａ，１ｂ，１ｃ，１ｄと通信ポート４１ａ，４１ｂ，４１ｃ，４１ｄを介して通信可能に接続され、これらのホスト１ａ，１ｂ，１ｃ，１ｄに対してそれぞれ１以上の論理デバイス（ＬＵＮ：Logical Unit Number）を提供するものであり、コントローラ４０およびディスクアレイ３０をそなえて構成されている。
【００２１】
なお、以下、ホストを示す符号としては、複数のホストのうち１つを特定する必要があるときには符号１ａ，１ｂ，１ｃ，１ｄを用いるが、任意のホストを指すときには符号１を用いる。
ディスクアレイ３０は、複数（図１に示す例では４つ）の記憶装置３１−１〜３１−４をそなえて構成され、これらの記憶装置３１−１〜３１−４を論理的な一つの記憶装置として取り扱うことができるものである。
【００２２】
なお、これらの記憶装置３１−１〜３１−４としては、例えば、ＨＤＤ（Hard disk drive；磁気ディスク装置）や半導体記憶装置等、種々の記憶装置を用いることができる。なお、本実施形態においては、記憶装置３１−１〜３１−４としてＨＤＤを用いた例を示し、以下、これらの記憶装置３１−１〜３１−４をＨＤＤ３１−１〜３１−４と表わす場合もある。
【００２３】
また、以下、記憶装置（ＨＤＤ）を示す符号としては、複数の記憶装置（ＨＤＤ）のうち１つを特定する必要があるときには符号３１−１，３１−２，３１−３，３１−４を用いるが、任意の記憶装置（ＨＤＤ）を指すときには符号３１を用いる。
さらに、以下、通信ポートを示す符号としては、複数の通信ポートのうち１つを特定する必要があるときには符号４１ａ，４１ｂ，４１ｃ，４１ｄを用いるが、任意の通信ポートを指すときには符号４１を用いる。
【００２４】
コントローラ（制御装置）４０は、ＲＡＩＤ装置６０の機能を制御するものであって、ホスト１ａ，１ｂ，１ｃ，１ｄに対して、論理デバイス（ＬＵＮ）を提供するとともに、これらのホスト１ａ，１ｂ，１ｃ，１ｄから受信したＩ／Ｏコマンド（データ入出力要求）に応じて、ディスクアレイ３０のＨＤＤ３１−１〜３１−４に対する書き込みや読み出しの制御を行なうものである。
【００２５】
また、コントローラ４０は、ホスト１からＩ／Ｏコマンドを受信すると、これらのＩ／Ｏコマンドに対して後述するキュー資源を割り当てて、ＨＤＤ３１の動作制御を行なうようになっている。
すなわち、本ストレージシステム１００においては、ホスト１が、ＲＡＩＤ装置６０から提供されるＬＵＮに対してアドレス指定行なってＩ／Ｏコマンドをそれぞれ送信すると、コントローラ４０は、これらのＩ／Ｏコマンドを受信して、順次、キュー資源に格納し、これらのＩ／Ｏコマンドに従って、ＨＤＤ３１に対するデータの書き込みまたは読み出しを実行するのである。
【００２６】
また、ホスト１からＩ／Ｏコマンドを受信し実行するに際して、キュー資源の不足等により、これらのＩ／Ｏコマンドを実行するための種々の情報を格納することができない場合には、そのＩ／Ｏコマンドは拒絶され、コントローラ４０は、送信元のホスト１に対して、割り当て可能なキュー資源が不足していることを示すステータス（ＱＦＵＬＬ）とともに返すようになっている（ＱＦＵＬＬ応答）。
【００２７】
コントローラ４０は、図１に示すように、ＣＰＵ１０，記憶部２０およびキュー５０をそなえて構成されている。
キュー５０は、ＲＡＩＤ装置６０がホスト１からＩ／Ｏコマンドを受け付けた場合に、これらのＩ／Ｏコマンドを実行するための種々の情報を格納する格納領域（メモリ）である。
【００２８】
また、このキュー５０は、上述したＩ／Ｏコマンドを実行するための種々の情報を格納するに際して、所定のサイズ（例えば、２５６ｂｙｔｅ）の複数のキュー資源（単位キュー；コマンド処理資源）に分割されて用いられるようになっている。
例えば、このキュー５０には、Ｉ／Ｏコマンドの実行に際して用いられる返り値や、処理の進行状況を示す情報（実行位置やステータス等），Ｉ／Ｏコマンド自体が格納されるようになっており、これらの情報が各キュー資源に格納されるようになっている。
【００２９】
記憶部２０は、コントローラ４０において、後述するＣＰＵ１０が種々の処理を行なうために用いられる情報を格納するものであって、例えば、半導体記憶装置やＨＤＤにより実現される。
本ストレージシステム１００においては、この記憶部２０には、実施情報２１およびキューテーブルリンク２２が格納されるようになっている。
【００３０】
実施情報２１は、本ストレージシステム１００において処理（実行）されたＩ／Ｏコマンドに関する情報であって、例えば、受付コマンド数，最大キューデプス（最大Queue-Depth）およびキューフル数（ＱＦＵＬＬ数）をそなえて構成されている。
ここで、受付コマンド数は、単位時間内にホスト１から受け付けたＩ／Ｏコマンドの数であり、最大キューデプスは、単位時間あたりに並行して処理を行なったＩ／Ｏコマンドの実行数（最大並行実行コマンド数）である。又、キューフル数は、単位時間内にホスト１に対して行なったＱＦＵＬＬ応答の数である。
【００３１】
なお、これらの受付コマンド数，最大キューデプスおよびキューフル数は、既知の種々の手法により取得することができるものであり、便宜上、その具体的な取得手法等の説明は省略する。
また、これらの受付コマンド数，最大キューデプスおよびキューフル数を決定するために用いる単位時間は任意に設定することができ（１分，３０秒，１５秒等）、例えば、ユーザが後述する端末装置４２を介して任意に設定・変更することができるようになっている。
【００３２】
また、受付コマンド数，最大キューデプスおよびキューフル数を決定するに際して、これらの間で共通の単位時間を用いてもよく、又、少なくともいずれかにおいて異なる単位時間を用いてもよい。
図２は本発明の一実施形態としてのストレージシステム１００における実施情報２１の例を示す図である。
【００３３】
この図２に示すように、本ストレージシステム１００においては、ホスト１とＬＵＮとを組合せ（コマンド授受対）毎に、受付コマンド数，最大キューデプスおよびＱＦＵＬＬ数からなる実施情報が生成・管理されるようになっている。
なお、この図２中においては、便宜上、ＬＵＮ０に関係するコマンド授受対にのみ、受付コマンド数，最大キューデプスおよびＱＦＵＬＬ数を示し、ＬＵＮ１〜ＬＵＮ３に関係するコマンド授受対についての受付コマンド数，最大キューデプスおよびＱＦＵＬＬ数の図示を省略している。
【００３４】
また、この図２に示す例では、実施情報２１を、便宜上、複数のＬＵＮと複数のホスト１とからなるマトリクス状に構成して示しているが、これに限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
キューテーブルリンク２２は、ホスト１とＬＵＮとの各組合せ（コマンド授受対）に割り当てられた各キュー資源数を管理するものである。
【００３５】
図３は本発明の一実施形態としてのストレージシステム１００におけるキューテーブルリンク２２の例を示す図である。
キューテーブルリンク２２は、この図３に示すように、複数のキューテーブル２２１をリンクポインタ２２２によって相互に関連付ける（リンクを張る）ことによって構成されている。又、キューテーブル２２１は、ホスト１とＬＵＮとの各組合せ（コマンド授受対）に対して、そのコマンド授受対に割り当てられたキュー資源数（割当ＱＲＢ数）を対応付けることにより構成されている。
【００３６】
なお、リンクポインタ２２２は、次のキューテーブル２２１の、記憶部２０における格納位置（アドレス等）を示す情報（ポインタ）であり、このリンクポインタ２２２により、キュー資源割当個数管理部１３等が、他のキューテーブル２２１の格納位置を知ることができるようになっている。
また、本ストレージシステム１００においては、キュー資源数を複数個（ｋ個）単位で管理するようになっており、例えば、本実施形態においては４個（ｋ＝４）のキュー資源を１ＱＲＢ（Queue Resource Block）として、このＱＲＢの個数（ＱＲＢ数）により、キュー資源の割当個数を管理するようになっている。
【００３７】
例えば、図３に示す例においては、コマンド授受対［ホストＡ−ＬＵＮ３］に対して、６個のＱＲＢが割り当てられていることを示しており（割当ＱＲＢ数＝６）、このコマンド授受対［ホストＡ−ＬＵＮ３］に対して２４個（４×６＝２４）のキュー資源（単位キュー）が割り当てられていることを意味する。
なお、以下、１つのＱＲＢを構成するキュー資源の数（ｋ）を、ＱＲＢ構成数という場合がある。
【００３８】
また、このＱＲＢ構成数（ｋ）は任意に設定することができるものであり、例えば、ユーザが後述する端末装置４２を介して任意に設定・変更することができるようになっている。
さらに、以下、複数のＱＲＢを示す際に、“ＱＲＢ”の前にその個数を付して表わす場合がある。例えば、６個のＱＲＢを６ＱＲＢと示す場合がある。
【００３９】
また、図３に示す例においては、便宜上、キューテーブルリンク２２を構成する各キューテーブル２２１に隣接させて、各割当ＱＲＢ数と同数のＱＲＢをそれぞれ並べて示している。
ＣＰＵ（Central Processing Unit）１０は、記憶部２０や図示しない記憶装置に格納されたＯＳ（Operating System）やプログラムを実行することにより、種々の演算や制御を行ない、種々の機能を実現するものである。本ストレージシステム１００においては、ＣＰＵ１０は、記憶部２０等に格納されたキュー資源割当管理プログラムを実行することにより、実施情報管理部１１，割当個数決定部１２，キュー資源割当個数管理部１３，割当制御部１４およびドライブ制御部１５として機能するようになっている。
【００４０】
実施情報管理部１１は、上述した実施情報２１を生成して記憶部２１に格納したり、この生成した実施情報２１の管理を行なうものであり、ホスト１から受信したＩ／Ｏコマンドや、この受信したＩ／Ｏコマンドに基づいてドライブ制御部１５（詳細は後述）等が行なった処理に基づいて、受付コマンド数，最大キューデプスおよびＱＦＵＬＬ数を収集し、実施情報２１に格納することにより、これらの実施情報２１の管理・更新を行なうようになっている。
【００４１】
割当個数決定部１２は、各コマンド授受対（ＬＵＮ）に対するキュー資源（コマンド処理資源）の割当個数を決定するものであり、実施情報２１に基づいて、各コマンド授受対に対するキュー資源の割当個数（割当ＱＲＢ数）を決定するようになっている。
また、本ストレージシステム１００においては、割当個数決定部１２は、ＱＲＢ単位でコマンド授受対に対して割り当てる資源の数を決定するようになっている。
【００４２】
本ストレージシステム１００においては、１つの通信ポート４１に割り当てるキュー資源の数（１つのポートあたりのキュー資源数）に制限が設けられており、例えば、１つの通信ポート４１（すなわち、１つのホスト１）に関して、同時に割り当てられるキュー資源の総和が、この制限値（例えば、１０２４個すなわち、２５６ＱＲＢ）を超えることがないようになっている。
【００４３】
なお、この１つのポートあたりのキュー資源数の制限値は任意に設定することができるものであり、例えば、ユーザが後述する端末装置４２を介して任意に設定・変更することができるようになっている。
また、本ストレージシステム１００においては、１つのＬＵＮに割り当てるキュー資源の数（１つのＬＵＮあたりのキュー資源数）にも制限が設けられており、例えば、１つのＬＵＮに関して、同時に割り当てられるキュー資源の総和が、この制限値（例えば、１０２４個、すなわち、２５６ＱＲＢ）を超えることがないようになっている。
【００４４】
なお、この１つのＬＵＮあたりのキュー資源数の制限値は任意に設定することができるものであり、例えば、ユーザが後述する端末装置４２を介して任意に設定・変更することができるようになっている。
さらに、本ストレージシステム１００においては、割当個数決定部１２は、Ｉ／Ｏコマンドの受付数が多いＬＵＮ（コマンド授受対）に対してはキュー資源を多めに、又、Ｉ／Ｏコマンドの受付数が少ないＬＵＮ（コマンド授受対）に対してはキュー資源を少なめに割り当てる（割り振る）ようになっている。
【００４５】
また、本ストレージシステム１００においては、割当個数決定部１２は、ＱＦＵＬＬ応答が発生するＬＵＮ（コマンド授受対）間において、キュー資源を平等に割り当てるようになっている。
なお、本ストレージシステム１００においては、あるホスト１からあるＬＵＮに対して最初に送信されるＩ／Ｏコマンドに対して、コントローラ４０は、実行もしくはＢＵＳＹ応答を行なうようになっており、このような最初に送信されるＩ／Ｏコマンドに対してＱＦＵＬＬ応答を行なうことがないようになっている。
【００４６】
これは、ホスト１においては、ＬＵＮに対して行なったＩ／Ｏコマンドについて、ＲＡＩＤ装置６０からＱＦＵＬＬ応答を受信すると、それ以降、そのＬＵＮに対してＩ／Ｏコマンドの出力を行なわない（抑止する）ように構成されたものがあるからである。
なお、このようなホスト１であっても、一般に、Ｉ／Ｏコマンドについて、ＲＡＩＤ装置からＢＵＳＹ応答が行なわれた場合には、リトライが行なわれるので影響が少ない。
【００４７】
また、本ストレージシステム１００においては、Ｉ／Ｏコマンド等が割り当てられていない（未割り当ての）キュー資源を、フリープールＦＰ（空き資源領域；図４参照）を用いて表すようになっており、以下、未割り当てのキュー資源（ＱＲＢ）は「フリープールＦＰにある」、もしくは、「フリープールＦＰに格納されている」と表現する場合がある。
【００４８】
図４は本発明の一実施形態としてのストレージシステム１００におけるフリープールＦＰに格納されたＱＲＢを模式的に示す図である。
例えば、この図4に示す例においては、フリープールＦＰに９個の未割当ＱＲＢ（３６個の未割当キュー資源）が格納された状態を示している。
このフリープールＦＰは、仮想的に設けられた領域（空間，メモリ領域）であって、例えば、割当が行なわれていないキュー資源に対応させて、割当が行なわれていないことを示す識別情報（フラグ等）を設定することにより、この識別情報が設定されているキュー資源が、割り当てられていない、すなわち、フリープールＦＰにあるとして取り扱うことができるようになっている。
【００４９】
また、本ストレージシステム１００においては、フリープールＦＰには、割り当てが行なわれていないキュー資源がＱＲＢ単位で格納されるようになっている。
なお、以下、フリープールＦＰに格納されている、割り当てが行なわれていないＱＲＢのことを未割当ＱＲＢという場合があり、同様に、割り当てが行なわれていないキュー資源のことを未割当キュー資源という場合がある。
【００５０】
そして、割当個数決定部１２は、このフリープールＦＰを参照することにより未割当ＱＲＢの個数を認識し、この未割当ＱＲＢをコマンド授受対に対して割り当てるようになっている。なお、コマンド授受対に割り当てられたＱＲＢには、その割り当てられたコマンド授受対に関する情報（識別情報）等が設定されるとともに、前述した割当が行なわれていないことを示す識別情報（フラグ等）が削除され、これにより、割当が行われたＱＲＢは、フリープールＦＰから削除される（取り出される）ようになっている。
【００５１】
また、割当個数決定部１２は、定期的に複数のコマンド授受対間で割当ＱＲＢ数（キュー資源）の見直し（バランシング）を実施するようになっている。なお、割当個数決定部１２による割当ＱＲＢ数の具体的な決定手法や、キュー資源のバランシング手法については後述する。
キュー資源割当個数管理部（割当個数管理部）１３は、各コマンド授受対に対応させて、キュー資源の割当個数（割当ＱＲＢ数）を管理するものであり、割当個数決定部１２によって決定された割当ＱＲＢ数に基づき、キューテーブルリンク２２（キューテーブル２２１）を生成・管理するようになっている。
【００５２】
具体的には、キュー資源割当個数管理部１３は、割当個数決定部１２により決定された割当ＱＲＢ数をコマンド授受対に対応させることによりキューテーブル２２１を生成し、各コマンド授受対に関するこれらのキューテーブル２２１をリンクポインタ２２２により相互に連結する（関連付ける）ことにより、キューテーブルリンク２２を生成するようになっている。なお、このキュー資源割当個数管理部１３によって生成されたキューテーブルリンク２２は記憶部２０に格納されるようになっている。
【００５３】
また、キュー資源割当個数管理部１３は、割当個数決定部１２が、後述の如く、コマンド授受対に対する割当ＱＲＢ数の決定・変更を行なう度に、その変更後の割当ＱＲＢ数をキューテーブルリンク２２に反映させるようになっている。
割当制御部１４は、キュー資源に対して、Ｉ／Ｏコマンド等を割り当てるものであって、キュー資源割当個数管理部１３によって管理されている割当ＱＲＢ数に基づいて、その割当ＱＲＢ数を上限値とする数のキュー資源に、Ｉ／Ｏコマンド等を割り当てるようになっている。
【００５４】
すなわち、割当制御部１４は、コマンド授受対に関するＩ／Ｏコマンドの実行に際して用いられる種々の情報（返り値，処理の進行状況を示す情報，ステータス，Ｉ／Ｏコマンド自体等）を、キュー資源割当個数管理部１３によって管理されている割当個数（割当ＱＲＢ数）に対応する数（割当ＱＲＢ数×ＱＲＢ構成数（ｋ））を上限値とする数のキュー資源に割り当て、これらのＩ／Ｏコマンドの実行に際して用いられる種々の情報をキュー５０に格納するものである。
【００５５】
なお、以下、キュー資源に対して、Ｉ／Ｏコマンドや、このＩ／Ｏコマンドの実行に際して用いられる種々の情報を割り当てることを、便宜上、単に、Ｉ／Ｏコマンドを割り当てるという場合がある。
また、この割当制御部１４によるキュー資源にＩ／Ｏコマンド等を割り当てる手法には既知の種々の技術を用いることができるものであり、その具体的な説明は省略する。
【００５６】
ドライブ制御部１５は、割当制御部１４によってキュー資源に割り当てられたＩ／Ｏコマンドを処理・実行することにより、ディスクアレイ３０のＨＤＤ３１−１〜３１−４に対して動作制御を行ない、データの書き込みや読み出しを行なうものである。
また、このドライブ制御部１５は、実際に搭載した物理ディスクであるＨＤＤ３１−１〜３１−４上に、ホスト１へ提供する論理デバイスの規定のデータ形式に従いデータを格納するようになっている。
【００５７】
なお、ディスクアレイ３０のＨＤＤ３１−１〜３１−４に対してデータの書き込みや読み出しを行なうドライブ制御部１５としての機能は、既知の種々の手法を用いて実現することができるものであり、その具体的な説明は省略する。
端末装置４２は、ＲＡＩＤ装置６０に対する種々の設定や制御を行なうための端末装置である。この端末装置４２は、図示しない表示装置や入力装置（キーボードやマウス等）をそなえて構成されるとともに、ＲＡＩＤ装置６０に通信可能に接続され、ユーザが、この端末装置４２から入力操作を行なうことにより、ＲＡＩＤ装置６０における種々の設定や管理を行なうことができるようになっている。
【００５８】
例えば、ユーザは、この端末装置４２を介して、受付コマンド数，最大キューデプスおよびキューフル数を決定するために用いる単位時間，ＱＲＢ構成数（ｋ），１つのポートあたりのキュー資源数の制限値，１つのＬＵＮあたりのキュー資源数の制限値等を任意に設定することができるようになっている。
また、端末装置４２は、実施情報２１を計測するための単位時間を設定することもできるようになっており、ユーザが、この端末装置４２を介して、実施情報２１を計測するための単位時間を任意に設定することができる。
【００５９】
上述の如く構成された、本発明の一実施形態としてのストレージシステム１００における割当個数決定部１２によるキュー資源の分配手法を状況別に説明する。
（ａ）初期状態
本ストレージシステム１００において、例えば、電源投入時やリセット時の他、ホスト１から特定のジョブを流し始める（開始する）前の状態等を初期状態という。
【００６０】
本ストレージシステム１００において、その初期状態においては、全てのキュー資源がコマンド授受対に割り当てられていない状態（フリー状態）であるものとする。すなわち、この初期状態においては、全てのＱＲＢ（例えば２５６ＱＲＢ）がフリープールＦＰにあるものとする。
そして、この初期状態において、実施情報管理部１１は、実施情報２１の取得（所定時間あたりの、応答コマンド数，最大キューデプスおよびＱＦＵＬＬ数の各計数）を開始するようになっている。
【００６１】
（ｂ）最初のＩ／Ｏコマンド処理時
例えば、ホスト１からジョブを流し始める際等、ホスト１からＬＵＮに対して最初のＩ／Ｏコマンドが送信された場合には、割当個数決定部１２は、先ず、フリープールＦＰを参照して、このフリープールＦＰにＱＲＢがある場合、すなわち、未割当ＲＱＢがある場合には、そのＩ／Ｏコマンドの送信元のホスト１と送信先のＬＵＮによって構成されるコマンド授受対に対して、フリープールＦＰから所定個数（初期割当個数；例えば８個）のＱＲＢを取得して設定するようになっている。
【００６２】
すなわち、割当個数決定部１２は、フリープールＦＰに初期割当個数を充足させる数のの未割当ＱＲＢがあれば、そのフリープールＦＰから処理割当個数のＱＲＢを獲得して割り当てを行なうようになっている。
図５は本発明の一実施形態としてのストレージシステム１００の割当個数決定部１２により初期割当個数のＱＲＢが設定されたコマンド授受対のキューテーブルの例を示す図である。
【００６３】
この図５に示す例においては、コマンド授受対［ホストＡ−ＬＵＮ３］に対して８個のＱＲＢが割り当てられている状態を示している。なお、このＱＲＢの割り当てに伴い、割り当てられたＱＲＢの個数と同数の未割当ＱＲＢは、フリープールＦＰから削除される。
また、割当個数決定部１２は、フリープールＦＰにある未割当ＱＲＢをＩ／Ｏコマンドに割り当てるに際して、フリープールＦＰに充分な未割当ＱＲＢが無く、コマンド授受対に対して初期割当個数のＱＲＢを割り当てることができない場合には、このＱＲＢの割当設定を行なうコマンド授受対［ホストＡ−ＬＵＮ３］とは異なる他のコマンド授受対から、余剰のＱＲＢを寄せ集めて獲得するようになっている。
【００６４】
図６は本発明の一実施形態としてのストレージシステム１００の割当個数決定部１２によるキュー資源の割り当て手法を説明するための図であって、フリープールＦＰに充分な未割当ＱＲＢが無く、コマンド授受対に対して初期割当個数のＱＲＢを割り当てることができない場合に、他のコマンド授受対から余剰のＱＲＢを取得する手法を説明するための図である。
【００６５】
この図６においては、コマンド授受対［ホストＡ−ＬＵＮ０］に対して４個のＱＲＢが、又、コマンド授受対［ホストＡ−ＬＵＮ３］および［ホストＢ−ＬＵＮ１］に対して、６個と３個のＱＲＢがそれぞれ割り当てられており、又、フリープールＦＰには５個の未割当ＱＲＢがある状態において、新たに、ホストＣからＬＵＮ０に対して最初のＩ／Ｏコマンドが送信された例を示している。
【００６６】
なお、この図６に示す例においては、便宜上、各キューテーブル２２１の隣に、そのコマンド授受対に対応する実施情報（受付コマンド数，最大キューデプスおよびキューフル数（ＱＦＵＬＬ数））２１ａ，２１ｂ，２１ｃ，２１ｄをそれぞれ示している。
この図６に示すような状態において、割当個数決定部１２は、この新たに行なわれたホストＣからＬＵＮ０に対するＩ／Ｏコマンドについて、ＬＵＮコマンド授受対［ホストＣ−ＬＵＮ０］に対してＱＲＢの割り当てを行なう（以下、ＱＲＢ数の割当を行なう対象のコマンド授受対のことを対象コマンド授受対という場合がある）のであるが、フリープールＦＰには５個の未割当ＱＲＢしかないので、このフリープールＦＰにある未割当ＱＲＢだけでは初期割当個数である８個のＱＲＢを対象コマンド授受対［ホストＣ−ＬＵＮ０］に対して割り当てることができない。
【００６７】
そこで、割当個数決定部１２は、対象コマンド授受対［ホストＣ−ＬＵＮ０］とは異なる他のコマンド授受対［ホストＡ−ＬＵＮ０］，［ホストＡ−ＬＵＮ３］および［ホストＢ−ＬＵＮ１］のそれぞれにおいて、各割り当てられているＱＲＢ中に余剰のＱＲＢがあるか否かを調べるようになっている。
ここで、余剰のＱＲＢの数（余剰ＱＲＢ数）とは、そのコマンド授受対に対して割り当てられているＱＲＢの数から、最大キューデプスと同数のキュー資源を充足する（相当する）ＱＲＢの数（必須ＱＲＢ数）を減算して得られる数であり、以下の式により求めることができる。
【００６８】
余剰ＱＲＢ数＝割当ＱＲＢ数−必須ＱＲＢ数
なお、最大キューデプスと同数のキュー資源を充足するＱＲＢの数（必須ＱＲＢ数）とは、最大キューデプスと同数のキュー資源を含む（充足する）最低限のＱＲＢの数であり、具体的には、最大キューデプスの値をＱＲＢ構成数（ｎ）で割った値の端数（剰余）もしくは小数部を切り上げて得られる整数値である。
【００６９】
例えば、図６の例において、コマンド授受対［ホストＡ−ＬＵＮ３］の最大キューデプスは１４であり（実施情報２１ｂ参照）、ＱＲＢ構成数が“４”（ｎ＝４）の場合に、この最大キューデプス“１４”と同数の１４個のキュー資源を充足するＱＲＢの数は“４”（必須ＱＲＢ数＝４）となる。
従って、コマンド授受対［ホストＡ−ＬＵＮ３］の余剰ＱＲＢ数は、割当ＱＲＢ数“６”−必須ＱＲＢ数“４”＝２として求められる。
【００７０】
同様に、図６の例において、コマンド授受対［ホストＡ−ＬＵＮ０］の余剰ＱＲＢ数は“０”，コマンド授受対［ホストＢ−ＬＵＮ１］の余剰ＱＲＢ数は“１”である。
そして、割当個数決定部１２は、コマンド授受対［ホストＡ−ＬＵＮ３］の余剰ＱＲＢ数“２”とコマンド授受対［ホストＢ−ＬＵＮ１］の余剰ＱＲＢ数“１”とを、コマンド授受対［ホストＣ−ＬＵＮ０］に割当可能な未割当ＱＲＢ数“５”に加算する（割り振る）ことにより、コマンド授受対［ホストＣ−ＬＵＮ０］に対して、初期割当個数である８個のＱＲＢを割り当てる。
【００７１】
また、これに伴って、これらのコマンド授受対［ホストＡ−ＬＵＮ３］およびコマンド授受対［ホストＢ−ＬＵＮ１］の各割当ＱＲＢ数から、余剰のＱＲＢの数（余剰ＱＲＢ数）をそれぞれ減算するようになっている。
具体的には、図６の例において、コマンド授受対［ホストＡ−ＬＵＮ３］における余剰ＱＲＢ数“２”をコマンド授受対［ホストＣ−ＬＵＮ０］に割り振る（移動する）ことにより、コマンド授受対［ホストＡ−ＬＵＮ３］の割当ＱＲＢ数を“６”から“４”に減少させる。同様に、コマンド授受対［ホストＢ−ＬＵＮ１］においても、余剰ＱＲＢ数“１”をコマンド授受対［ホストＣ−ＬＵＮ０］に割り振る（移動する）ことにより、コマンド授受対［ホストＡ−ＬＵＮ３］の割当ＱＲＢ数を“３”から“２”に減少させるのである。
【００７２】
なお、以下、対象コマンド授受対に対してＱＲＢの割り当てを行なうに際して、他のコマンド授受対における割当ＱＲＢ数を減算させて、その減算させた数と同数を対象コマンド授受対の割当ＱＲＢ数に加算することを、コマンド授受対からＱＲＢを獲得すると表現する場合がある。
すなわち、割当個数決定部１２は、対象コマンド授受対に対してＱＲＢの割当を行なうに際して、他のコマンド授受対からその余剰ＱＲＢを取得し、この取得した余剰ＱＲＢを対象コマンド授受対に対して割り当てる（割当ＱＲＢ数に加算する）ようになっており、対象コマンド授受対にＱＲＢを割り当てるために、他のコマンド授受対から余剰ＱＲＢを獲得するのである。
【００７３】
そして、本ストレージシステム１００においては、割当個数決定部１２が、他のコマンド授受対から獲得した余剰ＱＲＢを対象コマンド授受対に割り当てた場合には、その割り当てた余剰ＱＲＢの数を、元のコマンド授受対の割当ＱＲＢ数から減算することにより、１つの通信ポート４１（すなわち、１つのホスト１）あたりのキュー資源（ＱＲＢ）の総数を一定（制限値）に維持するようになっている。
【００７４】
なお、コマンド授受対［ホストＡ−ＬＵＮ３］やコマンド授受対［ホストＢ−ＬＵＮ１］からそれぞれ割当ＱＲＢ数を減少させた場合であっても、これらのコマンド授受対［ホストＡ−ＬＵＮ３］やコマンド授受対［ホストＢ−ＬＵＮ１］においては、減少後の割当ＱＲＢ数は、それぞれ最大キューデプスに相当するキュー資源の数を満たしている。従って、これらのコマンド授受対においてＱＦＵＬＬ応答が生じるおそれは低く、本ストレージシステム１００の信頼性は高く維持されるのである。
【００７５】
割当個数決定部１２は、［割り当てられているキュー数（割当ＱＲＢ数×ＱＲＢ構成数（本実施形態では４））−最大キューデプス］の値（余剰キュー資源数）がＱＲＢ構成数（ｋ；本実施形態ではｋ＝４）以上のコマンド授受対の間で、例えば、ラウンドロビン手法を用いて余剰ＱＲＢを順次取得し、フリープールＦＰにある未割当ＱＲＢだけでは初期割当個数を満たすことができないコマンド授受対に対して、初期割当個数を満たすＱＲＢを割り当てるようになっている。
【００７６】
また、上述の如くラウンドロビン手法等を用いて、他のコマンド授受対から獲得した余剰ＱＲＢを用いても初期割当個数を満たす数のＱＲＢを割り当てることができない場合には、割当個数決定部１２は、それらの割り当てられた数をもって、そのコマンド授受対の割当ＱＲＢとする。
例えば、フリープールＦＰに３個しか未割当ＱＲＢが存在していない状態において、他のコマンド授受対から合わせて３つの余剰ＱＲＢしか獲得できなかった場合には、割当個数決定部１２は、その対象コマンド授受対に対して６ＱＲＢを割り当てる（割当ＱＲＢ数＝６）。
【００７７】
本ストレージシステム１００においては、コマンド授受対に対して、ＱＲＢ単位でキュー資源を割り当てるようになっているので、最低、１つのＱＲＢを割り当てることができれば、ＱＲＢ構成数であるｋ個のキュー資源が割り当てられ、これにより、少なくともｋ個分のＩ／Ｏコマンドにかかる処理を処理することができる。すなわち、このＱＲＢ構成数により、最低限のＩ／Ｏコマンドの実行が保障されるのである。
【００７８】
そして、ＱＲＢ構成数（ｋ）の値を多くすることにより、ＱＦＵＬＬの発生率を低減させることもできることになる。すなわち、このＱＲＢ構成数（ｋ）は、本ストレージシステム１００におけるＱＦＵＬＬにかかる最小動作保障を行なうものといえる。
また、割当個数決定部１２は、ＱＲＢの割当個数の決定に際して、フリープールＦＰに１つの未割当ＱＲＢもなく、且つ、他のコマンド授受対からも余剰のＱＲＢを獲得することができない場合には、実施情報２１を参照して、所定期間内においてＱＦＵＬＬイベントが発生していない（ＱＦＵＬＬ数＝０）他のコマンド授受対のうち、割当ＱＲＢ数が“２”以上のコマンド授受対から１つのＱＲＢを獲得して、対象コマンド授受対に対して割り当てるようになっている。
【００７９】
図７は本発明の一実施形態としてのストレージシステム１００の割当個数決定部１２によるキュー資源の割り当て手法を説明するための図であって、フリープールＦＰに未割当ＱＲＢが無く、且つ、他のコマンド授受対からも余剰のＱＲＢを獲得することができない場合に、他のコマンド授受対からＱＲＢを取得する手法を説明するための図である。
この図７に示す例においては、コマンド授受対［ホストＡ−ＬＵＮ３］およびコマンド授受対［ホストＢ−ＬＵＮ１］において、ＱＦＵＬＬイベントが発生しておらず、又、これらのコマンド授受対［ホストＡ−ＬＵＮ３］およびコマンド授受対［ホストＢ−ＬＵＮ１］のいずれも２以上の割当ＱＲＢ数をそなえている。
【００８０】
割当個数決定部１２は、これらのコマンド授受対［ホストＡ−ＬＵＮ３］およびコマンド授受対［ホストＢ−ＬＵＮ１］のうち、ラウンドロビン手法により、一のコマンド授受対を決定して（図７に示す例においてはコマンド授受対［ホストＡ−ＬＵＮ３］）から、１つのＱＲＢを獲得して、対象コマンド授受対［ホストC−ＬＵＮ０］に対して割り当てる。
【００８１】
前述の如く、本ストレージシステム１００においては、コマンド授受対に対して、ＱＲＢ単位でキュー資源を割り当てるようになっているので、最低、１つのＱＲＢを割り当てることができれば、少なくともｋ個分のＩ／Ｏコマンドにかかる処理を処理することができるのである。
なお、本実施形態においては、これらの所定期間内においてＱＦＵＬＬイベントが発生していない、割当ＱＲＢ数が“２”以上の他のコマンド授受対の中から、ＱＲＢを獲得する一のコマンド授受対をラウンドロビン手法により決定しているが、これに限定されるものではなく、例えば、これらのコマンド授受対の中からランダムに一のコマンド授受対を決定してもよく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
【００８２】
そして、割当個数決定部１２は、上述のいずれの手法においても、１つのＱＲＢを獲得することができず、対象コマンド授受対に対してＱＲＢを割り当てることができない場合には、そのホスト１に対してビジー（Busy）応答を行なうようになっている。
なお、このような１つのＱＲＢを獲得することができないケースを想定して、予め１以上のＱＲＢ（キュー資源）を確保しておき、１つのＱＲＢを獲得することができない場合に、この確保してあったＱＲＢを使用してもよく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
【００８３】
（ｃ）ＱＦＵＬＬ発生時
本ストレージシステム１００において、ホスト１からＬＵＮに対してＩ／Ｏコマンドが出力された場合において、そのコマンド授受対（対象コマンド授受対）に割り当てられているキュー資源数が３２（割当ＱＲＢ数＝８）未満である場合であって、フリープールＦＰに未割当ＱＲＢがある場合には、割当個数決定部１２は、フリープールＦＰからその未割当ＱＲＢを獲得して、対象コマンド授受対に割り当てる。
【００８４】
また、ここでフリープールＦＰに未割当ＱＲＢがない場合には、ホスト１に対してＱＦＵＬＬ応答を行なわせる。
一方、そのコマンド授受対（対象コマンド授受対）に割り当てられているキュー資源数が３２（割当ＱＲＢ数＝８）以上の場合には、フリープールＦＰに未割当ＱＲＢがあっても、そのタイミングではフリープールＦＰから未割当ＱＲＢを獲得することなく、ＱＦＵＬＬ応答を行なう。
【００８５】
（ｄ）キュー資源のバランシング
本ストレージシステム１００においては、割当個数決定部１２は、定期的にキュー資源のバランシングを実施するようになっている。以下、この割当個数決定部１２によるキュー資源のバランシング手法について説明する。
なお、割当個数決定部１２は、キュー資源のバランシングをＱＲＢ単位で行なうようになっており、又、このバランシングを、Ｉ／Ｏコマンド等のコマンド動作と並列にバックグラウンドで行なうようになっている。
【００８６】
例えば、割当個数決定部１２は、キュー資源のバランシングに際して、実施情報２１を参照して、単位時間あたりの受付コマンド数が“０”のコマンド授受対のキュー資源をフリープールＦＰにすべて解放するようになっている。
具体的には、割当個数決定部１２は、単位時間あたりの受付コマンド数が“０”のコマンド授受対の割当ＱＲＢ数を“０”にするとともに、そのコマンド授受対における“０”にする前に設定されていた割当ＱＲＢ数をフリープールＦＰの未割当ＱＲＢの数に加算することにより、キュー資源をフリープールＦＰに解放するようになっている。
【００８７】
また、割当個数決定部１２は、前述した余剰のＱＲＢがあるコマンド授受対から、この余剰ＱＲＢを獲得してフリープールＦＰに解放するようになっている。
図８は本発明の一実施形態としてのストレージシステム１００の割当個数決定部１２によるキュー資源のバランシング手法を説明するための図であって、余剰のＱＲＢをフリープールＦＰに解放する手法を説明するための図である。
【００８８】
割当個数決定部１２は、［割り当てられているキュー数（割当ＱＲＢ数×ＱＲＢ構成数）−最大キューデプス］の値（余剰キュー資源数）がＱＲＢ構成数（本実施形態では４）以上のコマンド授受対から、その余剰ＱＲＢ（余剰キュー資源）をフリープールＦＰに解放する。
例えば、図８に示す例においては、コマンド授受対［ホストＡ−ＬＵＮ３］における余剰キュー資源数は、以下の式により求められる。
【００８９】
余剰キュー資源数＝［割り当てられているキュー数（割当ＱＲＢ数×ＱＲＢ構成数（本実施形態では４））−最大キューデプス］＝６×４−１４＝１０
すなわち、コマンド授受対［ホストＡ−ＬＵＮ３］における余剰キュー資源数“１０”は４以上であるので、割当個数決定部１２は、この余剰キュー資源数に含まれる２ＱＲＢ（余剰ＱＲＢ数＝２）をフリープールＦＰに解放する。
【００９０】
また、割当個数決定部１２は、キュー資源のバランシングを行なうに際して、割当ＱＲＢ数がＬＵＮ毎（コマンド授受対毎）に異なる初期段階等において、ＱＦＵＬＬ応答が行なわれているＬＵＮ全体でフリープールＦＰ分のキュー資源も含め、均等なキュー資源数に設定し直すようになっている。
図９は本発明の一実施形態としてのストレージシステム１００の割当個数決定部１２によるキュー資源のバランシング手法を説明するための図であって、コマンド授受対間でキュー資源数を均等に分配する手法を説明するための図である。
【００９１】
この図９に示す例においては、コマンド授受対［ホストＡ−ＬＵＮ０］，コマンド授受対［ホストＡ−ＬＵＮ３］，コマンド授受対［ホストＢ−ＬＵＮ１］およびコマンド授受対［ホストＣ−ＬＵＮ０］において、それぞれ１以上のＱＦＵＬＬ応答が行なわれており（ＱＦＵＬＬ数≠０）、又、それぞれ、４，６，３，８の割当ＱＲＢ数が設定されている。
【００９２】
すなわち、これらのＱＦＵＬＬ応答が行なわれたコマンド授受対に対して計２１個のＱＲＢが割り当てられている。
このような状態において、例えば、フリープールＦＰに９個の未割当ＱＲＢ（９ＱＲＢ）がある場合には、４つのコマンド授受対全体で３０個のＱＲＢ（３０ＱＲＢ）存在することになる。このような場合に、割当個数決定部１２は、この３０ＱＲＢを４つのコマンド授受対に均等に分配する（割る）ことにより、１つのコマンド授受対に対して７ＱＲＢを割り当てるのである。
【００９３】
同様に、フリープールＦＰに２０個の未割当ＱＲＢ（２０ＱＲＢ）がある場合には、４つのコマンド授受対全体で４１個のＱＲＢ（４１ＱＲＢ）存在することになる。このような場合に、割当個数決定部１２は、この４１ＱＲＢを４つのコマンド授受対に均等に分配することにより、１つのコマンド授受対に対して１０ＱＲＢを割り当てる。
また、割当個数決定部１２は、１回の定期キューバランシングにおいて割当ＱＲＢ数を増大させる数、すなわち、キューバランシングを行なう前の割当ＱＲＢ数からキューバランシング後の割当ＱＲＢ数の増加数に制限に制限（最大増大キュー数）を設けてもよい。
【００９４】
例えば、図９に示す例において、フリープールＦＰに５０個の未割当ＱＲＢ（５０ＱＲＢ）がある場合には、４つのコマンド授受対全体で７１個のＱＲＢ（７１ＱＲＢ）存在することになる。この７１ＱＲＢを４つのコマンド授受対に均等に分配すると、１つのコマンド授受対あたりの割当ＱＲＢ数は１７となるが、ここで、１回の定期キューバランシングの最大増大キュー数として、例えば、“８”が設定されている場合には、コマンド授受対［ホストＢ−ＬＵＮ１］におけるキューバランシング前の割当ＱＲＢ数は“３”である。従って、コマンド授受対［ホストＢ−ＬＵＮ１］に割り当て可能な最大の割当ＱＲＢ数は、“１１”（＝３＋８）となる（制限される）。
【００９５】
なお、このようなキューバランシングを行なうに際して、余ったＱＲＢはフリープールＦＰに入れられるようになっている。
これらの手法は、特に、割当ＱＲＢ数がＬＵＮ毎（コマンド授受対毎）に異なる初期段階等におけるキュー資源のバランシングに適している。
また、割当個数決定部１２は、キュー資源の分配率を、ＬＵＮ毎（コマンド授受対毎）の負荷割合（受けたＩ／Ｏコマンド数）やＱＦＵＬＬ率（ＱＦＵＬＬ数÷コマンド数）を使用してそれに見合った割合としてもよい。このような手法は、例えば、ＬＵＮ毎（コマンド授受対毎）のＩ／Ｏコマンドが安定している段階などに適している。
【００９６】
また、本ストレージシステム１００においては、割当個数決定部１２は、現在の割当ＱＲＢ数やＱＦＵＬＬ率をパラメータとして、コマンド授受対に対して割り当てるキュー資源の増減を、これらのパラメータに基づいて調整してもよい。
さらに、例えば、本ストレージシステム１００のユーザが、ストレージに対する他のジョブ（夜間バックアップ等の業務）を行なう時刻等のスケジュールを設定した場合には、その時刻（ジョブ設定時刻）を境にＬＵＮの使用割合が全く変わることが予測される。
【００９７】
このような場合に、当該他のジョブの開始前に、予めフリープールＦＰに多めにキュー資源を解放しておき、新たなコマンドに備えるということが有効である。具体的には、割当個数決定部１２は、キュー資源全体のうちの所定割合（例えば、１／４）を、そのジョブの開始設定時刻直前のキューバランシングでフリープールＦＰに解放するように全体のキュー数を調整してもよい。
【００９８】
また、ＬＵＮ毎（コマンド授受対毎）の資源追加要求の重み（Ｗ）を、例えば以下に示す式（１）により算出し、この重み（Ｗ）をＬＵＮごとに比較して増減を調整してもよく、例えば、算出された重み（Ｗ）が大きいコマンド授受対（ＬＵＮ）に対する割当ＱＲＢ数数を多くするのである。
重み（Ｗ）＝（割当ＱＲＢ数）÷（1−ｎ×ＱＦＵＬＬ率）・・・（１）
なお、ｎはＱＦＵＬＬ係数であって、任意の値（例えば、０．５程度）であり、以下、本実施形態においては、ＱＦＵＬＬ係数（ｎ）＝０．５の例を示す。
【００９９】
また、上述の如く計算した重み（Ｗ）をＬＵＮ毎（コマンド授受対毎）に比較して、割当ＱＲＢ数の増減を調整してもよい。
図１０は本発明の一実施形態としてのストレージシステム１００の割当個数決定部１２によるキュー資源のバランシング手法を説明するための図であって、重み（Ｗ）を考慮したバランシング手法を説明するための図である。
【０１００】
この図１０に示す例において、例えば、コマンド授受対［ホストＡ−ＬＵＮ０］に割り当てられているＱＲＢは“４”であり（割当ＱＲＢ＝４）、その受付コマンド数は“１０００”，最大キューデプスは“１６”，ＱＦＵＬＬ数は“５００”である（実施情報２１ａ参照）。
従って、このコマンド授受対［ホストＡ−ＬＵＮ０］の重み（Ｗ：ホストＡ−ＬＵＮ０）は、以下に示すように求められる。
【０１０１】
ホストＡ−ＬＵＮ０：重み（Ｗ）＝4÷（1−0.5×500／1000）＝5.33
同様にして、他のコマンド授受対［ホストＡ−ＬＵＮ３］，コマンド授受対［ホストＢ−ＬＵＮ１］およびコマンド授受対［ホストＣ−ＬＵＮ０］の各重み（Ｗ）は、それぞれ以下に示すように求められる。
ホストＡ−ＬＵＮ０：重み（Ｗ）＝4÷（1−0.5×1000／3000）＝7.20
ホストＢ−ＬＵＮ１：重み（Ｗ）＝4÷（1−0.5×800／1000）＝5.00
ホストＣ−ＬＵＮ０：重み（Ｗ）＝4÷（１−0.5×500／4000）＝8.53
ここで、上述の如く計算した重み（Ｗ）をＬＵＮ毎（コマンド授受対毎）に比較して増減を調整するために、例えば、以下の式（２）を用いて割当ＱＲＢ数を決定することによりバランシングを行なってもよい。
【０１０２】
新ＱＲＢ数＝（全ＱＲＢ数）×（重み）÷（重みの総和）・・・（２）
例えば、図１０に示す例において、仮にフリープールＦＰに未割当ＱＲＢが９個あった場合に、ＱＦＵＬＬ数≠０のコマンド授受対でＱＲＢの総数は２１個なので、トータルで３０個のＱＲＢがある。
このような例において、上述した式（２）に基づき、各コマンド授受対におけるバランシング後の割当ＱＲＢ数を以下のように求めることができる。
【０１０３】
ホストＡ−ＬＵＮ０：割当ＱＲＢ数＝30×5.33÷26.06＝6.14≒６個
ホストＡ−ＬＵＮ３：割当ＱＲＢ数＝30×7.20÷26.06＝8.29≒８個
ホストＢ−ＬＵＮ１：割当ＱＲＢ数＝30×5.00÷26.06＝5.76≒５個
ホストＣ−ＬＵＮ０：割当ＱＲＢ数＝30×8.53÷26.06＝9.82≒９個
また、仮に、フリープールＦＰに未割当ＱＲＢがなかった場合には、トータルで２１個のＱＲＢがある。この場合においては、各コマンド授受対におけるバランシング後の割当ＱＲＢ数を以下のように求めることができる。
【０１０４】
ホストＡ−ＬＵＮ０：割当ＱＲＢ数＝21×5.33÷26.06＝4.30≒４個
ホストＡ−ＬＵＮ３：割当ＱＲＢ数＝21×7.20÷26.06＝5.80≒５個
ホストＢ−ＬＵＮ１：割当ＱＲＢ数＝21×5.00÷26.06＝4.03≒４個
ホストＣ−ＬＵＮ０：割当ＱＲＢ数＝21×8.53÷26.06＝6.83≒６個
なお、上記例においては、割当ＱＲＢ数の決定に際して、便宜上、小数点以下を切捨てることにより求めているが、これに限定されるものではなく、例えば、ＱＲＢ総数が足りるのであれば四捨五入してもよく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
【０１０５】
また、割当ＱＲＢ数の決定に際して、例えば、各コマンド授受対（ＬＵＮ）の平均レスポンス時間を考慮してもよく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
このように、本発明の一実施形態としてのストレージシステム１００によれば、複数のコマンド授受対（ＬＵＮ）間において、Ｉ／Ｏコマンドの実行数のバランスを良くすることができ、Ｉ／Ｏコマンドを効率的に処理することができる。又、この際、キュー資源の制限を考慮した状態でキュー資源を効率的に使用することができる。
【０１０６】
割当個数決定部１２が、実施情報２１に基づいて対象コマンド授受対に対する割当ＱＲＢ数を決定するので、対応コマンド授受対に対して、ＲＡＩＤ装置６０の実際の使用状況に応じたキュー資源を割り当てることができる。
また、本ストレージシステム１００においては、キュー資源の割当個数をＱＲＢ単位（ＱＲＢ構成数）で管理しているので、対象コマンド授受対に対してキュー資源を割り当てる際の処理の負荷を軽減し、処理を高速化することができる。
【０１０７】
例えば、ＱＲＢ構成数を大きく設定することによりＱＲＢ数が減少し、これにより、オーバーヘッドを減少させ、バランシング処理やＱＲＢのリンクを辿って行なう検索処理等を高速化することができる。一方、ＱＲＢ構成数と小さく設定することにより、きめの細かいバランシングを行なうことができる。
また、キュー資源の割当個数をＱＲＢ単位で管理することにより、重み（Ｗ）の算出を簡略化して行なうことができ、これによっても、バランシング処理を軽減することができるのである。
【０１０８】
さらに、上述の如きキューの割当処理は、本ストレージシステム１００の運用時においてホスト１からのアクセス処理を行ないながら行なわれるものであるので、上述の如くバランシング処理を軽減することにより、アクセス処理にかかる負荷を軽減し、処理の高速化を行なうことができる。
また、割当個数決定部１２が、最初のＩ／Ｏコマンドの処理時に、対象コマンド授受対に対して初期割当個数のＱＲＢを設定することにより、そのＩ／Ｏコマンドを確実に処理することができる。
【０１０９】
その対象コマンド授受対に初期割当個数のＱＲＢを割り当てるに際して、フリープールＦＰから初期割当個数のＱＲＢを獲得できない場合には、他のコマンド授受対から余剰ＱＲＢを獲得して、対象コマンド授受対に対して割り当てるので、その対象コマンド授受対においてそのＩ／Ｏコマンドを確実に処理することができる。
また、この際、余剰ＱＲＢを提供したコマンド授受対においても、最大キューデプスに相当するキュー資源の数を満たすＱＲＢが引き続き割り当てられているので、これらのコマンド授受対においてＱＦＵＬＬ応答が生じるおそれが低く、本ストレージシステム１００の処理速度が低減することがなく、高い信頼性を維持することができる。
【０１１０】
さらに、割当個数決定部１２が、［割り当てられているキュー数（割当ＱＲＢ数×ＱＲＢ構成数（本実施形態では４））−最大キューデプス］の値（余剰キュー資源数）がＱＲＢ構成数（ｋ；本実施形態ではｋ＝４）以上のコマンド授受対の間で、ラウンドロビン手法を用いて余剰ＱＲＢを順次取得し、フリープールＦＰにある未割当ＱＲＢだけでは初期割当個数を満たすことができないコマンド授受対に対して、初期割当個数を満たすＱＲＢを割り当てることにより、効率的にＱＲＢの割り当てを行なうことができる。
【０１１１】
また、割当個数決定部１２は、ＱＲＢの割当個数の決定に際して、フリープールＦＰに１つの未割当ＱＲＢもなく、且つ、他のコマンド授受対からも余剰のＱＲＢを獲得することができない場合には、実施情報２１を参照して、割当個数決定部１２は、所定期間内においてＱＦＵＬＬイベントが発生していない（ＱＦＵＬＬ数＝０）他のコマンド授受対のうち、割当ＱＲＢ数が“２”以上のコマンド授受対から１つのＱＲＢを獲得し、対象コマンド授受対に対して割り当てる。これにより、その対象コマンド授受対に対して、ＱＲＢ構成数であるｋ個のキュー資源が割り当てられ、これにより、少なくともｋ個分のＩ／Ｏコマンドにかかる処理を処理することができ、最低限のＩ／Ｏコマンド処理を担保することができる。
【０１１２】
さらに、割当個数決定部１２が、コマンド授受対に対して割り当てたＱＲＢについて、定期的にキュー資源のバランシングを実施するようになっているので、例えば、処理頻度の少ない（負荷の少ない）コマンド授受対に対して多くのキュー資源が永続的に割り当てられることが無く、キュー資源を効率的に用いることができる。又、ＱＦＵＬＬ応答の発生を低減することができ、これによってもＩ／Ｏコマンドを効率的に処理することができる。
【０１１３】
また、コマンド授受対毎（ＬＵＮ毎）の資源追加要求の重み（Ｗ）を実施情報２１（ＱＦＵＬＬ率等）に基づいて算出し、この重み（Ｗ）を用いて割当ＱＲＢ数の増減を調整することにより、ＲＡＩＤ装置６０の稼働状況に合ったキュー資源の割り当てを行なうことができる。
そして、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
【０１１４】
例えば、記憶装置は、ＨＤＤ（Hard disk drive）に限定されるものではなく、光ディスクドライブ，半導体記憶装置またはその他の記憶装置であってもよく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
なお、本発明の各実施形態が開示されていれば、本発明を当業者によって実施・製造することが可能である。
【０１１５】
そして、本発明は、以下に示すように要約することができる。
（付記１）  複数の外部装置と通信可能に接続され、前記複数の外部装置に対してそれぞれ１以上の論理デバイスを提供し、該論理デバイスに対するデータ入出力要求コマンドを各外部装置から受け付け、これらのデータ入出力要求コマンドをコマンド処理資源に割り当てて実行するストレージ装置であって、
該外部装置と該データ入出力要求コマンドを受信する該論理デバイスとを組合せたコマンド授受対に対応させて、コマンド処理資源の割当個数を管理する割当個数管理部と、
該コマンド授受対に関して、該割当個数管理部によって管理されている該割当個数を上限値とする数の該コマンド処理資源に、該データ入出力要求コマンドを割り当てる割当制御部とをそなえることを特徴とする、ストレージ装置。
【０１１６】
（付記２）  各コマンド授受対に関して、単位時間あたりに並行して処理した該データ入出力要求コマンドの実行数を実施情報として管理する実施情報管理部と、
該実施情報に基づいて、該コマンド授受対に対するコマンド処理資源の割当個数を決定する割当個数決定部とをそなえることを特徴とする、付記１記載のストレージ装置。
（付記３）  該割当個数決定部が、当該ストレージ装置の設定時において、複数のコマンド授受対に対して、予め規定した同数の割当個数をそれぞれ設定することを特徴とする、付記２記載のストレージ装置。
【０１１７】
（付記４）  前記複数の外部装置との接続にかかる通信ポートあたりのコマンド処理資源数が有限個数として予め設定され、
該コマンド処理資源の不足により該割当個数を設定することができない該コマンド授受対がある場合には、該割当個数決定部が、既に該割当個数が設定されている該コマンド授受対であって、前記割当個数を設定することができないコマンド授受対とは異なる他のコマンド授受対の該割当個数を、当該割当個数が前記単位時間あたりに処理したデータ入出力要求コマンドの実行数以下にならない範囲で減少させ、前記割当個数を設定することができないコマンド授受対の該割当個数を、該減少させた数だけ増加させることを特徴とする、付記３記載のストレージ装置。
【０１１８】
（付記５）  該割当個数決定部が、該コマンド授受対に対するコマンド処理資源の割当個数を定期的に決定することを特徴とする、付記２〜付記４のいずれか１項に記載のストレージ装置。
（付記６）  該実施情報管理部が、単位時間あたりの該ホスト装置から受け付けたコマンド数を該実施情報として管理し、
該割当個数決定部が、前期単位時間あたりのホスト装置から受け付けたコマンド数が０の該コマンド授受対に対応する該割当個数を０とすることを特徴とする、付記５記載のストレージ装置。
【０１１９】
（付記７）  該割当個数決定部が、該コマンド授受対に関して、前記単位時間あたりに処理した該データ入出力要求コマンドの実行数に予め設定された設定値を加算して求められた数を、当該コマンド授受対の該割当個数として決定することを特徴とする、付記５又は付記６記載のストレージ装置。
（付記８）  新たに該外部装置から受け付けた該データ入出力要求コマンドを該コマンド処理資源を割り当てることができないキューフル状態となった場合に、該割当個数決定部が、当該キューフル状態が生じた該論理デバイスに関する該コマンド授受対に対して、予め規定した同数の割当個数をそれぞれ設定することを特徴とする、付記５〜付記７のいずれか１項に記載のストレージ装置。
【０１２０】
（付記９）  該割当個数管理部が、２以上のコマンド処理資源によって構成されるブロック単位で、該割当個数を管理することを特徴とする、付記１〜付記８のいずれか１項に記載のストレージ装置。
（付記１０）  複数の外部装置と通信可能に接続され、前記複数の外部装置に対してそれぞれ１以上の論理デバイスを提供し、該論理デバイスに対するデータ入出力要求コマンドを各外部装置から受け付け、これらのデータ入出力要求コマンドをコマンド処理資源に割り当てて実行するストレージ装置の制御装置であって、
該外部装置と該データ入出力要求コマンドを受信する該論理デバイスとを組合せたコマンド授受対に対応させて、コマンド処理資源の割当個数を管理する割当個数管理部と、
該コマンド授受対に関して、該割当個数管理部によって管理されている該割当個数を上限値とする数の該コマンド処理資源に、該データ入出力要求コマンドを割り当てる割当制御部とをそなえることを特徴とする、制御装置。
【０１２１】
（付記１１）  各コマンド授受対に関して、単位時間あたりに処理した該データ入出力要求コマンドの実行数を実施情報として管理する実施情報管理部と、
該実施情報に基づいて、該コマンド授受対に対するコマンド処理資源の割当個数を決定する割当個数決定部とをそなえることを特徴とする、付記１０記載の制御装置。
（付記１２）  該割当個数決定部が、当該ストレージ装置の設定時において、複数のコマンド授受対に対して、予め規定した同数の割当個数をそれぞれ設定することを特徴とする、付記１１記載の制御装置。
【０１２２】
（付記１３）  前記複数の外部装置との接続にかかる通信ポートあたりのコマンド処理資源数が有限個数として予め設定され、
該コマンド処理資源の不足により該割当個数を設定することができない該コマンド授受対がある場合には、該割当個数決定部が、既に該割当個数が設定されている該コマンド授受対であって、前記割当個数を設定することができないコマンド授受対とは異なる他のコマンド授受対の該割当個数を、当該割当個数が前記単位時間あたりに処理したデータ入出力要求コマンドの実行数以下にならない範囲で減少させ、前記割当個数を設定することができないコマンド授受対の該割当個数を、該減少させた数だけ増加させることを特徴とする、付記１２記載の制御装置。
【０１２３】
（付記１４）  該割当個数決定部が、該コマンド授受対に対するコマンド処理資源の割当個数を定期的に決定することを特徴とする、付記１１〜付記１３のいずれか１項に記載の制御装置。
（付記１５）  該実施情報管理部が、単位時間あたりの該ホスト装置から受け付けたコマンド数を該実施情報として管理し、
該割当個数決定部が、前期単位時間あたりのホスト装置から受け付けたコマンド数が０の該コマンド授受対に対応する該割当個数を０とすることを特徴とする、付記１４記載の制御装置。
【０１２４】
（付記１６）  該割当個数決定部が、該コマンド授受対に関して、前記単位時間あたりに処理した該データ入出力要求コマンドの実行数に予め設定された設定値を加算して求められた数を、当該コマンド授受対の該割当個数として決定することを特徴とする、付記１４又は付記１５記載の制御装置。
（付記１７）  新たに該外部装置から受け付けた該データ入出力要求コマンドを該コマンド処理資源を割り当てることができないキューフル状態となった場合に、該割当個数決定部が、当該キューフル状態が生じた該論理デバイスに関する該コマンド授受対に対して、予め規定した同数の割当個数をそれぞれ設定することを特徴とする、付記１４〜付記１６のいずれか１項に記載の制御装置。
【０１２５】
（付記１８）  該割当個数管理部が、２以上のコマンド処理資源によって構成されるブロック単位で、該割当個数を管理することを特徴とする、付記１０〜付記１７のいずれか１項に記載のストレージ装置。
【図面の簡単な説明】
【０１２６】
【図１】本発明の一実施形態としてのストレージシステムの構成を模式的に示す図である。
【図２】本発明の一実施形態としてのストレージシステムにおける実施情報の例を示す図である。
【図３】本発明の一実施形態としてのストレージシステムにおけるキューテーブルリンクの例を示す図である。
【図４】本発明の一実施形態としてのストレージシステムにおけるフリープールに格納されたＱＲＢを模式的に示す図である。
【図５】本発明の一実施形態としてのストレージシステムの割当個数決定部により初期割当個数のＱＲＢが設定されたコマンド授受対のキューテーブルの例を示す図である。
【図６】本発明の一実施形態としてのストレージシステムの割当個数決定部によるキュー資源の割り当て手法を説明するための図である。
【図７】本発明の一実施形態としてのストレージシステムの割当個数決定部によるキュー資源の割り当て手法を説明するための図である。
【図８】本発明の一実施形態としてのストレージシステムの割当個数決定部によるキュー資源のバランシング手法を説明するための図である。
【図９】本発明の一実施形態としてのストレージシステムの割当個数決定部によるキュー資源のバランシング手法を説明するための図である。
【図１０】本発明の一実施形態としてのストレージシステムの割当個数決定部によるキュー資源のバランシング手法を説明するための図である。
【図１１】従来の仮想化ストレージシステムの構成例を模式的に示す図である。
【図１２】（ａ）〜（ｃ）は従来の仮想化ストレージシステムにおけるキューの論理サイズの調整手法を説明するための図である。
【符号の説明】
【０１２７】
１，１ａ，１ｂ，１ｃ，１ｄ    ホスト（外部装置）
１０    ＣＰＵ
１１    実施情報管理部
１２    割当個数決定部
１３    キュー資源割当個数管理部（割当個数管理部）
１４    割当制御部
１５    ドライブ制御部
２１，２１ａ，２１ｂ，２１ｃ，２１ｄ    実施情報
２２    キューテーブルリンク
３０    ディスクアレイ
３１，３１−１，３１−２，３１−３，３１−４    ＨＤＤ
４０    コントローラ（制御装置）
４１，４１ａ，４１ｂ，４１ｃ，４１ｄ    通信ポート
５０    キュー
６０    ＲＡＩＤ装置（ストレージ装置）
２２１    キューテーブル
２２２    リンクポインタ
ＦＰ    フリープール
【図１】
2010020694.tif 000003
【図２】
2010020694.tif 000004
【図３】
2010020694.tif 000005
【図４】
2010020694.tif 000006
【図５】
2010020694.tif 000007
【図６】
2010020694.tif 000008
【図７】
2010020694.tif 000009
【図８】
2010020694.tif 000010
【図９】
2010020694.tif 000011
【図１０】
2010020694.tif 000012
【図１１】
2010020694.tif 000013
【図１２】
2010020694.tif 000014