(57)【要約】【課題】サーバに接続されたストレージ装置において、サーバが発行するコマンド数の上限値をシステム環境に応じて動的に設定することを目的とする。【解決手段】ストレージ装置１２は、ストレージ装置１２に接続されたサーバ１３の数を検出する検出部２０と、検出部２０で検出されたサーバ１３の数に基づいて、サーバ１３に設定されている設定上限値の変更を決定する決定部２１と、決定部２１で決定された設定上限値の変更に関する変更通知をサーバ１３に対して行なう通知部２２とをそなえ、サーバ１３は、通知部２２からの変更通知を受信する変更通知受信部２７と、変更通知受信部２７で受信した変更通知に基づいて、サーバ１３に設定されている設定上限値を変更する変更部２８とをそなえることを特徴とする。【選択図】図１
2009217475.tif 000002
【特許請求の範囲】
【請求項１】
コマンドの発行数の上限値である設定上限値が設定されたサーバと、該サーバで発行された該コマンドを処理するストレージ装置とをそなえたストレージシステムであって、
該ストレージ装置は、
該ストレージ装置に接続された該サーバの数を検出する検出部と、
該検出部で検出された該サーバの数に基づいて、該サーバに設定されている該設定上限値の変更を決定する決定部と、
該決定部で決定された前記設定上限値の変更に関する変更通知を該サーバに対して行なう通知部とをそなえ、
該サーバは、
該通知部からの該変更通知を受信する変更通知受信部と、
該変更通知受信部で受信した該変更通知に基づいて、該サーバに設定されている該設定上限値を変更する変更部とをそなえることを特徴とする、ストレージシステム。
【請求項２】
該ストレージ装置に、該サーバで発行された該コマンドを受信するコマンド受信部をさらにそなえ、
該決定部は、該コマンド受信部と該サーバとの通信状態に基づいて該設定上限値を変更することを特徴とする、請求項１に記載のストレージシステム。
【請求項３】
該通信状態は、所定時間内に該コマンド受信部で受信した該コマンドの数であることを特徴とする、請求項２に記載のストレージシステム。
【請求項４】
該通信状態は、該コマンド受信部で受信した該コマンドに伴なって獲得されるバッファの使用状況であることを特徴とする、請求項２に記載のストレージシステム。
【請求項５】
複数の該サーバをそなえ、
該決定部は、該コマンド受信部と該複数のサーバのそれぞれとの通信状態に基づいて、該複数のサーバのそれぞれに設定されている該設定上限値の変更を決定し、
該通知部は、該複数のサーバのうち少なくとも１つに対して該変更通知を行なうことを特徴とする、請求項１〜４のいずれか１項に記載のストレージシステム。
【請求項６】
コマンドの発行数の上限値である設定上限値が設定されたサーバで発行された該コマンドを処理するストレージ装置であって、
該ストレージ装置に接続された該サーバの数を検出する検出部と、
該検出部で検出された該サーバの数に基づいて、該サーバに設定されている該設定上限値の変更を決定する決定部と、
該決定部で決定された前記決定上限値の変更に関する変更通知を該サーバに対して行なう通知部とをそなえることを特徴とする、ストレージ装置。
【請求項７】
コマンドの発行数の上限値である設定上限値が設定されたサーバと、該サーバで発行された該コマンドを処理するストレージ装置とをそなえたストレージシステムの制御を行なう該ストレージシステムの制御方法であって、
該ストレージ装置に接続された該サーバの数を検出する検出ステップと、
該検出ステップで検出された該サーバの数に基づいて、該サーバに設定されている該設定上限値の変更を決定する決定ステップと、
該決定ステップにおいて決定された前記決定上限値の変更に関する変更通知を該サーバに対して行なう通知ステップとをそなえることを特徴とする、ストレージシステムの制御方法。
【請求項８】
コマンドの発行数の上限値である設定上限値が設定されたサーバと、該サーバで発行された該コマンドを処理するストレージ装置とをそなえたストレージシステムに関して、該ストレージシステムの制御を行なう制御機能をコンピュータに実行させるためのストレージシステムの制御プログラムであって、
該ストレージ装置に接続された該サーバの数を検出する検出部と、
該検出部で検出された該サーバの数に基づいて、該サーバに設定されている該設定上限値の変更を決定する決定部と、
該決定部で決定された前記決定上限値の変更に関する変更通知を該サーバに対して行なう通知部として、該コンピュータを機能させることを特徴とする、ストレージシステムの制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置等のような、サーバに接続されたストレージ装置において、サーバが発行するコマンド数の上限値を設定する技術に関する。
【背景技術】
【０００２】
例えば、ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置では、サーバで発行された複数のコマンドを1つのＦＣ（Fibre Channel）ポートで同時に受付可能な数（以下、受付可能コマンド数という）が制限されている。
図１０は従来のストレージシステムの構成例を模式的に示す図である。
ストレージシステム９０は、図１０に示すように、ＲＡＩＤ装置９１とこのＲＡＩＤ装置９１に接続されたサーバ（server）９２Ａとをそなえて構成されている。又、ＲＡＩＤ装置９１は、サーバ９２Ａとの通信を制御するコントローラ９３をそなえており、サーバ９２Ａは、ＲＡＩＤ装置９１のＦＣポート９３０に接続するためのＨＢＡ（Host Bus Adapter）９４Ａをそなえている。
【０００３】
例えば、図１０に示すように、ＲＡＩＤ装置９１は、受付可能コマンド数を越えるコマンドをサーバ９２Ａから受け付けると（図１０の符号“Ｐ”参照）、コマンドエラーが発生し、サーバ９２Ａに対して、例えば、BusyやQueue FullをSCSI（Small Computer System Interface） statusとして通知するようになっている（図１０の符号“Ｑ”参照）。
一方、BusyやQueue Fullが通知されたサーバ９２Ａは、コマンドの発行を一時的に中断する処理を行なうことになる。
【０００４】
なお、BusyやQueue Fullを通知してコマンドの発行を一時的に中断させる手法として、下記特許文献１には、Ｉ／Ｏコマンドの受け付け量を制御するＩ／Ｏ制御モジュールからの情報と、ストレージ装置へのアクセスの処理を行なうバックエンドモジュールからの情報とに基づきシステム負荷を計算し、ホストへのBusy／Queue Full応答にてホストＩ／Ｏの受付量を調節することにより、バックエンドモジュールで実行中のコマンドサイズが閾値になるまでコマンドの発行を抑止することを開示している。
【０００５】
しかしながら、BusyやQueue Fullをサーバに通知する手法においては、サーバにおける一部のＯＳ（Operating System）がこれらの通知に対して適切に処理することができずに、コマンドの発行を中断することができない場合がある。そのため、ＲＡＩＤ装置９１においてコマンドエラーを極力発生させないようにすることが望ましい。
図１１は従来のストレージシステムにおいてマックススロットル（Max Throttle）の設定例を模式的に示す図であり、図１２は従来のストレージシステムにおいてＲＡＩＤ装置に接続されるサーバを新規に追加する場合を模式的に示す図である。
【０００６】
ところで、サーバ９２Ａでは、ＲＡＩＤ装置９１の受付可能コマンド数に応じて、１つのサーバ９２Ａにおいて同時に発行可能なコマンド数の上限値であるマックススロットルが設定されている場合がある。
例えば、図１１に示すストレージシステム９０においては、ＲＡＩＤ装置９１の受付可能コマンド数が４０である場合、このＲＡＩＤ装置９１に対応するサーバ９２Ａのマックススロットルには、受付可能コマンド数と同じ４０の値もしくは受付可能コマンド数を越えない値が設定される。
【０００７】
そして、サーバ９２Ａは、設定されたマックススロットルの値を超えないように所定の時間間隔でコマンドを順次発行する。例えば、サーバ９２Ａは、同時に発行されたコマンド数がマックススロットルの値に到達すると、コマンドの発行を一時中断するようになっている。
なお、従来のストレージシステム９０においては、例えば、サーバ９２ＡのＨＢＡドライバを（図示省略）を用いて手動で（静的に）マックススロットルを設定したり、サーバ９２ＡのＨＢＡのファームウェア（図示省略）を用いて手動でマックススロットルを設定したりするようになっている。
【特許文献１】特開２００４−２０６６２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述した従来のストレージシステム９０では、例えば、１台のサーバ９２ＡがＦＣスイッチ（FC Switch）９５を介してＲＡＩＤ装置９１のＦＣポート９３０に接続されている環境において（図１１参照）、図１２に示すように、もう１台のサーバ９２Ｂを同一のＦＣスイッチ９５を介してＲＡＩＤ装置９１のＦＣポート９３０に接続するようにシステムの構成変更を行なう場合には、新規に追加したサーバ９２Ｂのマックススロットルを手動で設定（図１２に示す例では２０に設定）する必要があるだけでなく、既に接続されている運用中のサーバ９２Ａのマックススロットルの設定も手動で変更（図１２に示す例では４０から２０に再設定）しなければならない。
【０００９】
また、新規に追加したサーバ９２Ｂのマックススロットルに対して、ＲＡＩＤ装置９１に応じたデフォルト値が接続時に設定されたとしても、この新規に追加したサーバ９２Ｂに設定されたデフォルト値と運用中のサーバ９２Ａのマックススロットルとの和がＲＡＩＤ装置９１の受付可能コマンド数を越える場合には、新規に追加したサーバ９２Ａや運用中のサーバ９２Ｂの各マックススロットルを手動で変更しなければならない。
【００１０】
従って、ＲＡＩＤ装置９１に接続されるサーバの台数が多くなり、ストレージシステム９０が大規模になればなるほど、各サーバ９２Ａ，９２Ｂのマックススロットルの全ての設定を手動で変更しなければならないことから、マックススロットルの設定変更に手間や時間を要することになる。
なお、大規模なストレージシステムにおいては、１台のサーバで構築したシステムディスクイメージを他のサーバにコピーしてストレージシステムの構築作業を効率的に行なう場合があるが、システムディスクイメージを他のサーバにコピーした後に、環境に応じてマックススロットルの再設定をサーバ毎に手動で行なう作業を要することになることから、この場合においても、マックススロットルの設定変更に手間や時間を要することになる。
【００１１】
また、例えば、各サーバのマックススロットルについては、１つのＦＣポートに接続されているＨＢＡの数を数えて、このＦＣポートに接続されたＲＡＩＤ装置の受付可能コマンド数をＨＢＡの数で割ることで算出される場合があるが、ＨＢＡの数を数え間違えたり、設定された受付可能コマンド数の値を間違えたりすると、各サーバのマックススロットルに誤った値が設定されることになることから、サーバで発行されたコマンドの処理が遅延したり、上述したコマンドエラーが発生したりする可能性がある。
【００１２】
さらに、マックススロットルを手動で設定する場合には、サーバの運用状況を考慮して適切な設定を行うべきだが、運用状況が動的に変わる場合に追従する事ができない。
例えば、一方の運用系のサーバに割り当て比率９０％の設定上限値が、他方の待機系のサーバに割り当て比率１０％の設定上限値がそれぞれ割り当てられ、運用系と待機系とが所定のタイミングで交互に切り替えられるＨＡ（High Availability）クラスタにおいて、運用系と待機系とが切り替えられたとしても、この切替に各サーバのマックススロットルの割り当て比率を追従させることができず、運用系から待機系に切り替えられた一方のサーバに割り当て比率９０％のマックススロットルが、待機系から運用系に切り替えられた他方のサーバに割り当て比率１０％のマックススロットルがそれぞれ割り当てられることになるので、運用系と待機系とを切り替える都度、運用系のサーバに割り当て比率９０％のマックススロットルを、待機系のサーバに割り当て比率１０％のマックススロットルをそれぞれ割り当てるように手動で再設定しなければならない。
【００１３】
なお、上記特許文献１は、ホストへのBusy／Queue Full応答によりコマンドの発行を抑止することを開示しているに過ぎず、ホストのMax Throttleを設定したり変更したりすることについて言及していない。
本発明は、このような課題に鑑み創案されたもので、サーバに接続されたストレージ装置において、サーバが発行するコマンド数の上限値をシステム環境に応じて動的に設定することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、開示のストレージシステムは、コマンドの発行数の上限値である設定上限値が設定されたサーバと、該サーバで発行された該コマンドを処理するストレージ装置とをそなえたストレージシステムであって、該ストレージ装置は、該ストレージ装置に接続された該サーバの数を検出する検出部と、該検出部で検出された該サーバの数に基づいて、該サーバに設定されている該設定上限値の変更を決定する決定部と、該決定部で決定された前記設定上限値の変更に関する変更通知を該サーバに対して行なう通知部とをそなえ、該サーバは、該通知部からの該変更通知を受信する変更通知受信部と、該変更通知受信部で受信した該変更通知に基づいて、該サーバに設定されている該設定上限値を変更する変更部とをそなえている。
【００１５】
さらに、開示のストレージ装置は、コマンドの発行数の上限値である設定上限値が設定されたサーバで発行された該コマンドを処理するストレージ装置であって、該ストレージ装置に接続された該サーバの数を検出する検出部と、該検出部で検出された該サーバの数に基づいて、該サーバに設定されている該設定上限値の変更を決定する決定部と、該決定部で決定された前記決定上限値の変更に関する変更通知を該サーバに対して行なう通知部とをそなえている。
【００１６】
また、開示のストレージシステムの制御方法は、コマンドの発行数の上限値である設定上限値が設定されたサーバと、該サーバで発行された該コマンドを処理するストレージ装置とをそなえたストレージシステムの制御を行なう該ストレージシステムの制御方法であって、該ストレージ装置に接続された該サーバの数を検出する検出ステップと、該検出ステップで検出された該サーバの数に基づいて、該サーバに設定されている該設定上限値の変更を決定する決定ステップと、該決定ステップにおいて決定された前記決定上限値の変更に関する変更通知を該サーバに対して行なう通知ステップとをそなえている。
【００１７】
そして、開示のストレージシステムの制御プログラムは、コマンドの発行数の上限値である設定上限値が設定されたサーバと、該サーバで発行された該コマンドを処理するストレージ装置とをそなえたストレージシステムに関して、該ストレージシステムの制御を行なう制御機能をコンピュータに実行させるためのストレージシステムの制御プログラムであって、該ストレージ装置に接続された該サーバの数を検出する検出部と、該検出部で検出された該サーバの数に基づいて、該サーバに設定されている該設定上限値の変更を決定する決定部と、該決定部で決定された前記決定上限値の変更に関する変更通知を該サーバに対して行なう通知部として、該コンピュータを機能させている。
【発明の効果】
【００１８】
開示の技術によれば、以下の少なくともいずれか１つの効果ないし利点がある。
（１）サーバの設定上限値を自動で（動的に）変更することができるので、サーバの設定上限値を手動で設定する手間を省くことができる。
（２）ストレージ装置に接続されるサーバの台数が多くなり、ストレージシステムが大規模になったとしても、サーバの設定上限値の変更に要する時間を短縮することができる。
【００１９】
（３）新規にサーバが追加された場合であっても、各サーバの設定上限値を手動で設定する手間を省くことができ、設定変更に要する時間を短縮することができる。
（４）サーバの設定上限値に誤った値が設定されることがなくなるので、サーバで発行されたコマンドの処理が遅延したり、コマンドエラーが発生したりする可能性を低減することができる。
【発明を実施するための最良の形態】
【００２０】
以下、図面を参照しながら本発明の実施の形態について説明する。
〔１〕本発明の一実施形態の説明
図１は本発明の一実施形態としてのストレージシステムの構成例を模式的に示す図であり、図２はそのストレージシステムにサーバを新たに追加した場合の構成例を模式的に示す図である。なお、図２〜８においては、サーバ（server）１３Ａ，１３Ｂ，ＨＢＡ（Host Bus Adapter）２３Ａ，２３Ｂ，ＲＡＩＤ装置１２およびコントローラ１４についての詳細な図示を便宜上省略するものとする。又、図２〜８におけるサーバ１３Ｂは図１に示すサーバ１３Ａと同様の機能構成をそなえているため、詳細な図示を便宜上省略するものとする。
【００２１】
本実施形態に係るストレージシステム１０は、図１に示すように、ＦＣ（Fibre Channel）スイッチ（FC Switch）１１，ＲＡＩＤ（Redundant Arrays of Inexpensive Disks）装置（ストレージ装置）１２およびサーバ１３（１３Ａ，１３Ｂ）をそなえて構成されており、ＲＡＩＤ装置１２のＦＣポート１４０とサーバ１３ＡとがＦＣスイッチ１１を介して接続されている。
【００２２】
ＦＣスイッチ１１は、サーバ１３とＲＡＩＤ装置１２とを通信可能に接続するものである。このＦＣスイッチ１１は、例えば、図１に示すように、１つのサーバ１３ＡがＦＣスイッチ１１を介してＲＡＩＤ装置１２のＦＣポート１４０に接続されている場合には、サーバ１３ＡとＲＡＩＤ装置１２とを通信可能に接続するようになっている。なお、サーバ１３ＡとＲＡＩＤ装置１２とが１対１の関係で接続されている場合においては、ＦＣスイッチ１１は任意に設けられ、例えば、１つのサーバ１３Ａが、ＦＣスイッチ１１を介さずに、ＲＡＩＤ装置１２のＦＣポート１４０に直接接続されてもよい。
【００２３】
また、ＦＣスイッチ１１は、例えば、図２に示すように、複数（図２に示す例では２つ）のサーバ１３Ａ，１３ＢがＦＣスイッチ１１を介してＲＡＩＤ装置１２における同一のＦＣポート１４０に接続されている場合には、これらの複数のサーバ１３Ａ，１３ＢのそれぞれとＲＡＩＤ装置１２とを通信可能に接続するようになっている。
なお、以下、サーバを示す符号としては、複数のサーバのうち１つを特定する必要があるときは符号１３Ａ，１３Ｂを用いるが、任意のサーバを指すときには符号１３を用いる。
【００２４】
ＲＡＩＤ装置１２は、複数のハードディスク（図示省略）をまとめて1台のハードディスクとして管理するとともに、後述するサーバ１３で発行されたコマンドに応じた処理を行なうものである。このＲＡＩＤ装置１２は、例えば、コントローラ１４をそなえて構成されている。なお、ＲＡＩＤ装置の一般的な機能についての詳細な説明を省略する。
コントローラ１４は、ＲＡＩＤ装置１２とサーバ１３とのデータ通信を制御するものである。このコントローラ１４は、例えば、ＣＰＵ（Central Processing Unit）１５およびバッファ１６をそなえて構成されている。
【００２５】
ＣＰＵ１５は、ＲＡＩＤ装置１２において各種の数値計算，情報処理および機器制御等を行なうものである。このＣＰＵ１５は、例えば、コマンド受信部１７，コマンド処理部１８，監視部１９，検出部２０，決定部２１および通知部２２として機能するようになっている。
コマンド受信部１７は、後述するサーバ１３のコマンド発行部２６で発行されたコマンドを受け付ける（受信する）ものである。このコマンド受信部１７は、例えば、複数のコマンドを１つのＦＣポート１４０で同時に受け付けるようになっている。
【００２６】
ここで、ＲＡＩＤ装置１２には、複数のコマンドを1つのＦＣポート１４０で同時に受け付けることができる数を制限するための受付可能コマンド数が設定されている。この受付可能コマンド数は、例えば、ＲＡＩＤ装置１２の機種や性能等に応じて任意の値に設定されて、コントローラ１４内の記憶領域（図示省略；後述するバッファ１６でもよい）に格納されている。
【００２７】
そして、コマンド受信部１７は、受付可能コマンド数を越えるコマンドを受け付けると、コマンドエラーが発生し、ＲＡＩＤ装置１２に接続されたサーバ１３に対して、例えば、BusyやQueue FullをSCSI（Small Computer System Interface） statusとして通知するようになっている。
コマンド処理部１８は、コマンド受信部１７で受け付けたコマンドに応じたコマンド処理を行なうものである。このコマンド処理部１８は、例えば、コマンド処理を完了すると、この完了したコマンド処理に対応するコマンドを発行したサーバ１３に対してコマンド処理完了通知を行なうようになっている。
【００２８】
監視部１９は、コマンド受信部１７とサーバ１３との通信状態を監視するものである。本実施形態では、監視部１９は、コントローラ１４がそなえる既存の機能を用いることにより、上記通信状態としてＦＣポート１４０の使用率（単位：％）を定期的にチェックし、そのチェック結果をコントローラ１４内の記憶領域に格納するようになっている。
また、図２に示すように、複数のサーバ１３Ａ，１３ＢがＲＡＩＤ装置１２における同一のＦＣポート１４０に接続されている場合には、監視部１９は、コントローラ１４がそなえる既存の機能を用いることにより、複数のサーバ１３Ａ，１３ＢのそれぞれについてのＦＣポート１４０の使用率をチェックし、これらのチェック結果をコントローラ１４内の記憶領域に格納するようになっている。
【００２９】
具体的には、監視部１９は、一方のサーバ１３ＡについてのＦＣポート１４０の使用率をチェックするとともに、他方のサーバ１３ＢについてのＦＣポート１４０の使用率をチェックし、これらのチェック結果をコントローラ１４内の記憶領域に格納するようになっている。
検出部２０は、ＲＡＩＤ装置１２に接続されたサーバの数を検出するものであって、例えば、ＦＣポート１４０に接続されたＨＢＡ２３の数を検出するようになっている。
【００３０】
具体的には、図１に示すように、１つのサーバ１３ＡがＲＡＩＤ装置１２におけるＦＣポート１４０に接続されている場合には、検出部２０は、ＦＣポート１４０に接続されているサーバ１３ＡのＨＢＡ２３Ａを認識することにより、ＲＡＩＤ装置１２に接続されたサーバの数は１つであることを検出する。又、図２に示すように、複数のサーバ１３Ａ，１３ＢがＲＡＩＤ装置１２における同一のＦＣポート１４０に接続されている場合には、検出部２０は、ＦＣポート１４０に接続されているサーバ１３ＡのＨＢＡ２３Ａおよびサーバ１３ＢのＨＢＡ２３Ｂを認識することにより、ＲＡＩＤ装置１２に接続されたサーバの数は２つであることを検出する。
【００３１】
なお、以下、ＨＢＡを示す符号としては、複数のＨＢＡのうち１つを特定する必要があるときは符号２３Ａ，２３Ｂを用いるが、任意のＨＢＡを指すときには符号２３を用いる。
決定部２１は、コマンド受信部１７とサーバ１３との通信状態に基づいて、ＦＣポート１４０に接続されたサーバ１３に現在設定されているマックススロットル（Max Throttle；コマンドの発行数の上限値；最大発行コマンド数）である設定上限値の変更（増減）を決定するものである。本実施形態においては、決定部２１は、コマンド受信部１７とサーバ１３との通信状態に基づいて、サーバ１３に設定すべきマックススロットルである決定上限値を決定するようになっている。
【００３２】
本実施形態の決定部２１は、例えば、上限閾値（単位；％）と下限閾値（単位；％）とを予め設定してコントローラ１４内の記憶領域に格納しておき、これらの予め設定された上限閾値および下限閾値と監視部１９で監視されたＦＣポート１４０の使用率とを比較することにより、サーバ１３に現在設定されている設定上限値を増減した値を決定上限値として決定するようになっている。なお、設定上限値を増減した値は、ＲＡＩＤ装置１２の機種や性能等に応じて予め任意に設定可能であり、既知の種々の手法を用いて設定される。
【００３３】
ここで、マックススロットルとは、１つのサーバ１３において同時に発行可能な最大のコマンド数を意味し、具体的には、後述するサーバ１３のコマンド発行部２６がコマンドを発行してから、このコマンドに対応するコマンド処理完了通知をＲＡＩＤ装置１２のコマンド処理部１８から受けるまでの未処理の状態（以下、未処理状態という）の総数の上限値を意味する。なお、マックススロットルは、ＲＡＩＤ装置１２の受付可能コマンド数を超えないように設定され、例えば、図２に示すように、複数のサーバ１３Ａ，１３ＢがＲＡＩＤ装置１２における同一のＦＣポート１４０に接続されている場合には、サーバ１３Ａの設定上限値とサーバ１３Ｂの設定上限値との和が、ＲＡＩＤ装置１２の受付可能コマンド数を越えないように設定される。
【００３４】
また、決定部２１は、検出部２０で検出されたサーバ１３の数に基づいて、各サーバ１３Ａ，１３Ｂに現在設定されている設定上限値の変更を決定するようになっている。
さらに、複数のサーバ１３Ａ，１３ＢがＲＡＩＤ装置１２における同一のＦＣポート１４０に接続されている場合には、決定部２１は、コマンド受信部１７と複数のサーバ１３Ａ，１３Ｂのそれぞれとの通信状態に基づいて、複数のサーバ１３Ａ，１３Ｂのそれぞれに設定されている設定上限値の変更を決定するようになっている。本実施形態においては、決定部２１は、複数のサーバ１３Ａ，１３Ｂのそれぞれについての決定上限値を決定するのである。
【００３５】
通知部２２は、決定部２１で決定された決定上限値に関する変更通知をサーバ１３に対して行なうものである。本実施形態においては、通知部２２は、ＳＣＳＩのセンス（sense）法を用いることにより、決定部２１で決定された決定上限値を変更通知としてＳＣＳＩセンス情報に含めてサーバ１３に送信するようになっている（図５参照）。なお、通知部２２による変更通知は、前述したBusy やQueue Fullを通知するよりも前に行なわれる。
【００３６】
また、図２に示すように、複数のサーバ１３Ａ，１３ＢがＲＡＩＤ装置１２における同一のＦＣポート１４０に接続されている場合には、通知部２２は、複数のサーバ１３Ａ，１３Ｂのうち少なくとも１つに対して変更通知を行なうようになっている。本実施形態においては、通知部２２は、各サーバ１３Ａ，１３Ｂのうち、現在設定されている設定上限値を変更することが決定部２１で決定されたサーバ１３に対して変更通知を行なうようになっている。
【００３７】
バッファ１６は、コマンド受信部１７で受け付けたコマンドを格納するとともに、コマンド処理部１８がコマンドに応じた処理を行なう際に処理対象のデータを一時的に格納するものである。
サーバ１３は、ＲＡＩＤ装置１２に対してコマンドを発行するものである。このサーバ１３は、例えば、ＨＢＡ２３，保持部２４およびＣＰＵ２５をそなえたコンピュータとして構成されている。又、ＣＰＵ２５が、ＨＢＡ２３を介してＲＡＩＤ装置１２のＦＣポート１４０に接続されている。又、サーバ１３は、例えば、ＲＡＩＤ装置１２からBusyやQueue Fullが通知されると、コマンドの発行を一時的に中断する処理を行なうようになっている。
【００３８】
保持部２４は、デバイスドライバ（ここでは図示省略；例えば、図９の符号４４参照）を保持（記憶）するとともに、このデバイスドライバに設定されている設定上限値を保持するものである。この保持部２４は、例えば、ＦＣポート１４０への接続時においては、ＲＡＩＤ装置１２に対応するデフォルト値を設定上限値として設定して保持するようになっている。又、保持部２４は、ＦＣポート１４０への接続後においては、ＲＡＩＤ装置１２の通知部２２から変更通知が通知されると、後述する変更部２８により、現在設定されている設定上限値を決定上限値に変更して（書き換えて）保持するようになっている。これにより、サーバ１３を再起動した際にも保持部２４に保持された前回の設定上限値を自動的に設定することができるのである。
【００３９】
ＣＰＵ２５は、サーバ１３において各種の数値計算，情報処理および機器制御等を行なうものである。本実施形態においては、ＣＰＵ２５は、デバイスドライバを実行することにより、コマンド発行部２６，変更通知受信部２７および変更部２８として機能するようになっている。
コマンド発行部２６は、ＲＡＩＤ装置１２に対してコマンドを発行するものである。このコマンド発行部２６は、例えば、保持部２４に保持された設定上限値を超えないように所定の時間間隔で複数のコマンドを順次発行するようになっている。
【００４０】
そして、例えば、コマンド発行部２６は、同時に発行した（未処理状態の）コマンド数が設定上限値に到達すると、コマンドの発行を一時中断する。その後、コマンド発行部２６は、未処理状態の各コマンドのいずれかに対応するコマンド処理完了通知を受信してから、コマンドを新たに発行するようになっている。
変更通知受信部２７は、ＲＡＩＤ装置１２の通知部２２からの変更通知を受信するものである。
【００４１】
変更部２８は、変更通知受信部２７で受信した変更通知に基づいて、サーバ１３に現在設定されている設定上限値を変更するものである。この変更部２８は、例えば、保持部２４に保持された設定上限値を、変更通知受信部２７で受信した変更通知に含まれる決定上限値に書き換えるようになっている。
ここで、本発明の一実施形態としてのストレージシステム１０におけるサーバ１３に設定されている設定上限値を変更する手法の例について、図３〜８を参照しながら、（Ａ）〜（Ｃ）の態様に分けて説明する。
【００４２】
図３〜８は本発明の一実施形態としてのストレージシステムにおけるサーバ１３に設定されている設定上限値を変更する手法の例を説明するための図であり、図３は第１態様（Ａ）を説明するための図、図４は第２態様（Ｂ）を説明するための図、図５は第３態様（Ｃ−１）を説明するための図、図６〜８は第４態様（Ｃ−２）を説明するための図である。
【００４３】
なお、以下の説明においては、上限閾値が８０％に、下限閾値が６０％にそれぞれ予め設定されており、ＲＡＩＤ装置１２の受付可能コマンド数が４０に設定されているものとする。
また、本実施形態においては、サーバ１３がＦＣポート１４０に接続されると、この接続されたサーバ１３の設定上限値がＲＡＩＤ装置の機種等に応じて任意の値に自動的に設定されるようになっており、以下の説明においては、サーバ１３がＦＣポート１４０に接続されると、この接続されたサーバ１３の設定上限値がＲＡＩＤ装置１２に対応するデフォルト値である１０に自動的に設定されるようになっている。
【００４４】
（Ａ）１つのサーバ１３ＡがＦＣポート１４０に接続された場合（第１態様）
例えば、１つのサーバ１３ＡがＲＡＩＤ装置１２におけるＦＣポート１４０に接続されると、サーバ１３Ａの設定上限値がデフォルト値である１０に自動的に設定される。
その後、検出部２０は、ＦＣポート１４０に接続されているサーバ１３の数が１つであることを検出し、決定部２１は、図３に示すように、検出部２０で検出されたサーバ１３の数である１とサーバ１３Ａに現在設定されている設定上限値である１０とを認識し、サーバ１３Ａに設定すべき決定上限値をＲＡＩＤ装置１２の受付可能コマンド数と同じ値である４０に決定する。なお、決定部２１は、例えば、ベンダーユニークコマンドをサーバ１３から受信することで、サーバ１３に現在設定されている設定上限値を認識するようになっている。
【００４５】
そして、通知部２２は、サーバ１３Ａの設定上限値を現在設定されている値である１０から４０に増加させる旨の変更通知をサーバ１３Ａに対して行なう。その後、サーバ１３Ａの変更部２８は、サーバ１３Ａの保持部２４に保持された設定上限値である１０を、サーバ１３Ａの変更通知受信部２７で受信した変更通知に含まれる決定上限値である４０に書き換える。
【００４６】
（Ｂ）サーバ１３ＢがＦＣポート１４０に新たに追加された場合（第２態様）
例えば、図３に示すような、１つのサーバ１３ＡがＲＡＩＤ装置１２におけるＦＣポート１４０に接続されている環境において、図４に示すように、もう１台のサーバ１３ＢをＲＡＩＤ装置１２における同一のＦＣポート１４０に接続するようにシステムの構成変更を行なうと、新たに追加されたサーバ１３Ｂの設定上限値がデフォルト値である１０に自動的に設定される。
【００４７】
次に、検出部２０は、ＦＣポート１４０に接続されているサーバ１３の数が２つであることを検出する。決定部２１は、検出部２０で検出されたサーバ１３の数である２とサーバ１３Ａに現在設定されている設定上限値である４０とサーバ１３Ｂに現在設定されている設定上限値である１０とを認識する。その後、決定部２１は、図４に示すように、既に接続されているサーバ１３Ａの決定上限値を、サーバ１３Ｂの設定上限値とサーバ１３Ａの設定上限値との和がＲＡＩＤ装置１２の受付可能コマンド数を超えない値に決定する。ここでは、決定部２１は、サーバ１３Ａの決定上限値を、ＲＡＩＤ装置１２の受付可能コマンド数である４０からサーバ１３Ｂの設定上限値である１０を減算した値である３０に決定する。
【００４８】
なお、この場合においては、決定部２１は、サーバ１３Ｂの設定上限値とサーバ１３Ａの設定上限値との和がＲＡＩＤ装置１２の受付可能コマンド数を超えなければ、サーバ１３Ａの決定上限値とサーバ１３Ｂの決定上限値との双方について任意の値を決定してもよい。
そして、通知部２２は、サーバ１３Ｂに対しては変更通知を行なわず、サーバ１３Ａの設定上限値を現在設定されている値である４０から３０に減少させる旨の変更通知をサーバ１３Ａに対して行なう。その後、サーバ１３Ａの変更部２８は、サーバ１３Ａの保持部２４に保持された設定上限値である４０を、サーバ１３Ａの変更通知受信部２７で受信した変更通知に含まれる決定上限値である３０に書き換える。
【００４９】
（Ｃ）監視部１９により通信状態を監視している場合（第３態様，第４態様）
（Ｃ−１）１つのサーバ１３ＡがＦＣポート１４０に接続されている場合（第３態様）
例えば、図５に示すような、１つのサーバ１３ＡがＲＡＩＤ装置１２におけるＦＣポート１４０に接続されている場合には、決定部２１は、監視部１９で監視されたＦＣポート１４０の使用率が上限閾値である８０％を上回った状態が所定時間続くと、ＲＡＩＤ装置１２の負荷が大きい状態であると認識する。その後、決定部２１は、ＲＡＩＤ装置１２の負荷を軽減させるべくサーバ１３Ａでのコマンド発行数を抑止するために、サーバ１３Ａに現在設定されている設定上限値を減少させた値を決定上限値として決定する。
【００５０】
一方、決定部２１は、監視部１９で監視されたＦＣポート１４０の使用率が下限閾値である６０％を下回った状態が所定時間続くと、ＲＡＩＤ装置１２の負荷が小さく、サーバ１３Ａでのコマンド発行数を増加させてもよいと判断する。その後、決定部２１は、サーバ１３Ａに現在設定されている設定上限値を増加させた値を決定上限値として決定する。
そして、通知部２２は、サーバ１３Ａの設定上限値を所定の値に増減させる旨の変更通知をサーバ１３Ａに対して行なう。その後、サーバ１３Ａの変更部２８は、サーバ１３Ａの保持部２４に保持された設定上限値を、サーバ１３Ａの変更通知受信部２７で受信した変更通知に含まれる決定上限値に書き換える。
【００５１】
（Ｃ−２）２つのサーバ１３Ａ，１３ＢがＦＣポート１４０に接続されている場合（第４態様）
例えば、図６に示すような、２つのサーバ１３Ａ，１３ＢがＲＡＩＤ装置１２における同一のＦＣポート１４０に接続されている状態において、決定部２１は、監視部１９で監視されたＦＣポート１４０の使用率が下限閾値である６０％を下回った状態が所定時間続く場合には、ＲＡＩＤ装置１２の負荷が小さく、各サーバ１３Ａ，１３Ｂでのコマンド発行数を増加させたとしてもＲＡＩＤ装置１２の負荷にならないと判断し、図７に示すように、各サーバ１３Ａ，１３Ｂのそれぞれに現在設定されている設定上限値を増加させた値を決定上限値として決定する。
【００５２】
また、例えば、決定部２１は、上述した図７に示す場合の他、図６に示す状態において、監視部１９で監視されたＦＣポート１４０の使用率が下限閾値である６０％を下回る場合や、上限閾値である８０％を上回る場合に、ＦＣポート１４０に接続された各サーバ１３Ａ，１３Ｂからのコマンド発行数を比較してもよい。
例えば、図８に示すように、ＦＣポート１４０の使用率が６０％を下回る場合において、決定部２１は、各サーバ１３Ａ，１３Ｂからのコマンド発行数の比較により、コマンド発行数が多いサーバ（ここでは、サーバ１３Ｂ）に現在設定されている設定上限値を増減させずに、コマンド発行数が少ないサーバ（ここでは、サーバ１３Ａ）に現在設定されている設定上限値を増加させた値を決定上限値として決定する。その後、決定部２１は、ＦＣポート１４０の使用率が６０％を下回った状態が所定時間続く場合には、コマンド発行数が多いサーバ１３Ｂに現在設定されている設定上限値を増加させた値を決定上限値として決定する。以下同様に、決定部２１は、コマンド発行数が少ないサーバ１３Ａの設定上限値とコマンド発行数が多いサーバ１３Ｂの設定上限値とを交互に増加させる動作を、ＦＣポート１４０の使用率が６０％を上回るまで行なう。
【００５３】
また、例えば、図示を省略するが、ＦＣポート１４０の使用率が８０％を上回る場合において、決定部２１は、各サーバ１３Ａ，１３Ｂからのコマンド発行数の比較により、コマンド発行数が少ないサーバ（ここでは、サーバ１３Ａ）に現在設定されている設定上限値を増減させずに、コマンド発行数が多いサーバ（ここでは、サーバ１３Ｂ）に現在設定されている設定上限値を減少させた値を決定上限値として決定する。その後、決定部２１は、ＦＣポート１４０の使用率が８０％を上回った状態が所定時間続く場合には、コマンド発行数が少ないサーバ１３Ａに現在設定されている設定上限値を減少させた値を決定上限値として決定する。以下同様に、決定部２１は、コマンド発行数が多いサーバ１３Ｂの設定上限値とコマンド発行数が少ないサーバ１３Ａの設定上限値とを交互に減少させる動作を、ＦＣポート１４０の使用率が８０％を下回るまで行なう。
【００５４】
なお、これらの場合においても、決定部２１は、サーバ１３Ｂの設定上限値とサーバ１３Ａの設定上限値との和がＲＡＩＤ装置１２の受付可能コマンド数を超えなければ、サーバ１３Ａの決定上限値とサーバ１３Ｂの決定上限値との双方を任意の値に決定してもよい。
そして、決定部２１がサーバ１３Ａ，１３Ｂの双方の設定上限値を増加させると決定した場合には、通知部２２は、図７に示すように、各サーバ１３Ａ，１３Ｂのそれぞれの設定上限値を所定の値に増加させる旨の変更通知をサーバ１３Ａ，１３Ｂの双方に対して行なう。その後、サーバ１３Ａの変更部２８は、サーバ１３Ａの保持部２４に保持された設定上限値を、サーバ１３Ａの変更通知受信部２７で受信した変更通知に含まれる決定上限値に書き換える。又、サーバ１３Ｂの変更部２８は、サーバ１３Ｂの保持部２４に保持された設定上限値を、サーバ１３Ｂの変更通知受信部２７で受信した変更通知に含まれる決定上限値に書き換える。
【００５５】
一方、決定部２１がサーバ１３Ａのみの設定上限値を増加させると決定した場合には、通知部２２は、図８に示すように、サーバ１３Ｂに対しては変更通知を行なわず、サーバ１３Ａの設定上限値を所定の値に増加させる旨の変更通知をサーバ１３Ａに対して行なう。その後、サーバ１３Ａの変更部２８は、サーバ１３Ａの保持部２４に保持された設定上限値を、サーバ１３Ａの変更通知受信部２７で受信した変更通知に含まれる決定上限値に書き換える。
【００５６】
このように、本発明の一実施形態としてのストレージシステム１０によれば、ＲＡＩＤ装置１２において、コマンド受信部１７とサーバ１３との通信状態に基づいて決定上限値を決定し、この決定した決定上限値に関する変更通知をサーバ１３に対して行ない、変更通知を受信したサーバ１３において、受信した変更通知に基づいて、サーバ１３に現在設定されている設定上限値を決定上限値に変更することにより、コマンド受信部１７とサーバ１３との通信状態に応じてサーバ１３の設定上限値を自動で（動的に）変更することができるので、サーバ１３の設定上限値を手動で設定する手間を省くことができる。従って、ＲＡＩＤ装置１２に接続されるサーバ１３の台数が多くなり、ストレージシステム１０が大規模になったとしても、サーバ１３の設定上限値の変更に要する時間を短縮することができる。
【００５７】
また、１台のサーバ１３ＡがＲＡＩＤ装置１２におけるＦＣポート１４０に接続されている環境において、もう１台のサーバ１３ＢをＲＡＩＤ装置１２における同一のＦＣポート１４０に接続するようにシステムの構成変更を行なった場合に、決定部２１が、検出部２０で検出されたサーバ１３の数とサーバ１３Ａに現在設定されている設定上限値とサーバ１３Ｂに現在設定されている設定上限値とを認識し、既に接続されているサーバ１３Ａの決定上限値を、サーバ１３Ｂの設定上限値とサーバ１３Ａの設定上限値との和がＲＡＩＤ装置１２の受付可能コマンド数を超えない値に決定することにより、新規に追加したサーバ１３Ｂの設定上限値や、既に接続されている運用中のサーバ１３Ａの設定上限値を自動で変更することができるので、新規にサーバ１３Ｂが追加された場合であっても、各サーバ１３Ａ，１３Ｂの設定上限値を手動で設定する手間を省くことができ、設定変更に要する時間を短縮することができる。
【００５８】
なお、この場合において、新規に追加したサーバ１３Ｂの設定上限値に、ＲＡＩＤ装置１２に応じたデフォルト値が設定されたとしても、サーバ１３Ｂの設定上限値であるデフォルト値とサーバ１３Ａの設定上限値との和がＲＡＩＤ装置１２の受付可能コマンド数を越えないように、新規に追加したサーバ１３Ａや運用中のサーバ１３Ｂの各設定上限値を自動で変更することができるので、サーバ１３の設定上限値を、ＲＡＩＤ装置１２の負荷にならない安全な値に変更することができる。
【００５９】
さらに、ＲＡＩＤ装置１２に接続されたサーバ１３の数を検出し、この検出結果に基づいて決定上限値を決定することにより、ＨＢＡ２３の数を数え間違えたり、設定された受付可能コマンド数の値を間違えたりして、サーバ１３の設定上限値に誤った値が設定されることがなくなる。そのため、サーバ１３で発行されたコマンドの処理が遅延したり、コマンドエラーが発生したりする可能性を低減することができる。
【００６０】
〔２〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上記実施形態では、監視部１９が、コマンド受信部１７とサーバ１３との通信状態として、ＦＣポート１４０の使用率を監視する場合について説明しているが、それに限定されるものではなく、例えば、監視部１９が、コマンド受信部１７とサーバ１３との通信状態として、コントローラ１４内のＣＰＵ１５の使用率や、所定時間内にコマンド受信部１７で受信したコマンドの数（Ｉ／Ｏ数）を監視してもよい。又、例えば、監視部１９が、コマンド受信部１７とサーバ１３との通信状態として、コマンド受信部１７で受信したコマンドに伴なって獲得されるバッファ１６の使用状況を監視してもよく、ＦＣポート１４０の転送速度や、どのサーバ（ＷＷＮ）からアクセスしてきたかに基づく情報を監視してもよい。なお、これらの場合においても、コントローラ１４がそなえる既存の機能を用いることにより実現することができ、又、複数のサーバ１３Ａ，１３ＢがＲＡＩＤ装置１２における同一のＦＣポート１４０に接続されている場合には、複数のサーバ１３Ａ，１３Ｂのそれぞれについての通信状態を監視するようになっている。
【００６１】
また、上記実施形態では、ＲＡＩＤ装置１２の決定部２１が、具体的な値である決定上限値を決定し、サーバ１３の変更部２８が、設定変更値を、変更通知に含まれる決定上限値に変更する場合について説明しているが、それに限定されるものではなく、例えば、ＱＯＳ（帯域保証設定），応答性能重視，スループット重視の選択設定を可能にし、これらの設定内容に応じた指標を変更通知として用いてもよい。
【００６２】
さらに、例えば、ＲＡＩＤ装置１２において、決定部２１が、サーバ１３に現在設定されている設定上限値を増加させるかもしくは減少させるかを決定し、通知部２２が、決定部２１の決定内容に応じて、設定上限値を増加させる旨の変更通知もしくは設定上限値を減少させる旨の変更通知を行なってもよく、この場合、変更通知を受信したサーバ１３において、変更部２８が、変更通知受信部２７で設定上限値を増加させる旨の変更通知を受信すると、サーバ１３に現在設定されている設定上限値を一定割合増加させた値に変更し、変更通知受信部２７で設定上限値を減少させる旨の変更通知を受信すると、サーバ１３に現在設定されている設定上限値を一定割合減少させた値に変更するようになっている。ここで、設定上限値を増減させる一定割合は、ＲＡＩＤ装置１２の性能や機種等に応じて予め規定されている。
【００６３】
また、図示を省略するが、上記実施形態におけるストレージシステム１０をＨＡ（High Availability）クラスタに適用することもでき、このＨＡクラスタでは、例えば、一方の運用系のサーバ１３に割り当て比率９０％の設定上限値が、他方の待機系のサーバ１３に割り当て比率１０％の設定上限値がそれぞれ割り当てられ、運用系と待機系とが所定のタイミングで交互に切り替えられるようになっている。そして、各サーバの運用系と待機系とが切り替えられると、例えば、一方のサーバ１３の切替通知部（図示省略）が、運用系から待機系に切り替えられた旨の切替通知をＲＡＩＤ装置１２に対して行なうとともに、他方のサーバ１３の切替通知部（図示省略）が、待機系から運用系に切り替えられた旨の切替通知をＲＡＩＤ装置１２に対して行なう。その後、ＲＡＩＤ装置１２の決定部２１は、ＲＡＩＤ装置１２の切替通知受信部（図示省略）がこれらの各サーバ１３からの切替通知を受信すると、この受信した切替通知に基づいて、運用系から待機系に切り替えられた一方のサーバ１３に割り当て比率１０％の決定上限値を割り当てることを決定するとともに、待機系から運用系に切り替えられた他方のサーバ１３に割り当て比率９０％の決定上限値を割り当てることを決定するようになっている。
【００６４】
これにより、ＨＡクラスタにおいて、運用系と待機系とが動的に切り替えられる場合であっても、この切替に各サーバ１３の設定上限値の割り当て比率を追従させることができるので、サーバ１３の運用状況を考慮して適切な設定を行なうことができる。
図９は本発明の一実施形態の変形例としてのストレージシステムの構成例を模式的に示す図である。
【００６５】
さらに、上記実施形態では、通知部２２がＳＣＳＩのセンス法を用いることにより、変更通知をＳＣＳＩセンス情報に含めてサーバ１３に送信する場合について説明しているが、それに限定されるものではなく、例えば、ネットワーク経由で通知する方法を用いてもよい。
例えば、図９に示すストレージシステム４０は、上記実施形態の通知部２２に代えて通知部４１をそなえるものであり、その他の部分は上記実施形態のストレージシステム１０と同様に構成されている。
【００６６】
なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
この図９に示すように、ＲＡＩＤ装置１２において、通知部４１が、ネットワーク経由で通知する方法を用いることにより、決定部２１で決定された決定上限値を変更通知としてＳＮＭＰ（Simple Network Management Protocol）パケットに含めて、ＬＡＮ４２を介してサーバ１３に送信し、ＳＮＭＰパケットを受信したサーバ１３Ａにおいて、変更部２８として機能するアプリケーション４３が実行されて、保持部２４に格納されたデバイスドライバ４４に設定されている設定上限値をＳＮＭＰパケットに含まれる決定上限値に変更するようになっており、これによっても、上記実施形態と同様の作用効果を得ることができる。
【００６７】
そして、ＲＡＩＤ装置１２のＣＰＵ１５や、サーバ１３のＣＰＵ２５、ストレージシステム１０に接続された管理装置（図示省略）等が、ストレージシステムの制御プログラムを実行することにより、これらのコマンド受信部１７，コマンド処理部１８，監視部１９，検出部２０，決定部２１および通知部２２，４１として機能するようになっている。
なお、これらのコマンド受信部１７，コマンド処理部１８，監視部１９，検出部２０，決定部２１および通知部２２，４１としての機能を実現するためのプログラム（ストレージシステムの制御プログラム）は、例えばフレキシブルディスク，ＣＤ（ＣＤ−ＲＯＭ，ＣＤ−Ｒ，ＣＤ−ＲＷ等），ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−ＲＡＭ，ＤＶＤ−Ｒ，ＤＶＤ＋Ｒ，ＤＶＤ−ＲＷ，ＤＶＤ＋ＲＷ等），磁気ディスク，光ディスク，光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク，不揮発半導体メモリで構成される半導体ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
【００６８】
コマンド受信部１７，コマンド処理部１８，監視部１９，検出部２０，決定部２１および通知部２２，４１としての機能を実現する際には、内部記憶装置に格納されたプログラムがコンピュータのマイクロプロセッサによって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、ＣＰＵ等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、ＲＡＩＤ装置１２やサーバ１３がコンピュータとしての機能を有しているのである。
さらに、本実施形態における記録媒体としては、上述したフレキシブルディスク，ＣＤ，ＤＶＤ，磁気ディスク，光ディスク，光磁気ディスク，半導体ディスクのほか、ＩＣカード，ＲＯＭカートリッジ，磁気テープ，パンチカード，コンピュータの内部記憶装置（ＲＡＭやＲＯＭなどのメモリ），外部記憶装置等や、バーコードなどの符号が印刷された印刷物等のコンピュータ読取可能な種々の媒体を利用することができる。
【００６９】
〔３〕付記
（付記１）  コマンドの発行数の上限値である設定上限値が設定されたサーバと、該サーバで発行された該コマンドを処理するストレージ装置とをそなえたストレージシステムであって、
該ストレージ装置は、
該ストレージ装置に接続された該サーバの数を検出する検出部と、
該検出部で検出された該サーバの数に基づいて、該サーバに設定されている該設定上限値の変更を決定する決定部と、
該決定部で決定された前記設定上限値の変更に関する変更通知を該サーバに対して行なう通知部とをそなえ、
該サーバは、
該通知部からの該変更通知を受信する変更通知受信部と、
該変更通知受信部で受信した該変更通知に基づいて、該サーバに設定されている該設定上限値を変更する変更部とをそなえることを特徴とする、ストレージシステム。
【００７０】
（付記２）該ストレージ装置に、該サーバで発行された該コマンドを受信するコマンド受信部をさらに備え、
該決定部は、該コマンド受信部と該サーバとの通信状態に基づいて該設定上限値を変更することを特徴とする、付記１に記載のストレージシステム。
（付記３）  該通信状態は、所定時間内に該コマンド受信部で受信した該コマンドの数であることを特徴とする、付記２に記載のストレージシステム。
【００７１】
（付記４）  該通信状態は、該コマンド受信部で受信した該コマンドに伴なって獲得されるバッファの使用状況であることを特徴とする、付記２に記載のストレージシステム。
（付記５）  複数の該サーバをそなえ、
該決定部は、該コマンド受信部と該複数のサーバのそれぞれとの通信状態に基づいて、該複数のサーバのそれぞれに設定されている該設定上限値の変更を決定し、
該通知部は、該複数のサーバのうち少なくとも１つに対して該変更通知を行なうことを特徴とする、付記１〜４のいずれか１項に記載のストレージシステム。
【００７２】
（付記６）  コマンドの発行数の上限値である設定上限値が設定されたサーバで発行された該コマンドを処理するストレージ装置であって、
該ストレージ装置に接続された該サーバの数を検出する検出部と、
該検出部で検出された該サーバの数に基づいて、該サーバに設定されている該設定上限値の変更を決定する決定部と、
該決定部で決定された前記決定上限値の変更に関する変更通知を該サーバに対して行なう通知部とをそなえることを特徴とする、ストレージ装置。
【００７３】
（付記７）  該サーバで発行された該コマンドを受信するコマンド受信部をさらにそなえ、
該決定部は、該コマンド受信部と該サーバとの通信状態に基づいて該設定上限値を変更することを特徴とする、付記６に記載のストレージ装置。
（付記８）  該通信状態は、所定時間内に該コマンド受信部で受信した該コマンドの数であることを特徴とする、付記７に記載のストレージ装置。
【００７４】
（付記９）  該通信状態は、該コマンド受信部で受信した該コマンドに伴なって獲得されるバッファの使用状況であることを特徴とする、付記７に記載のストレージ装置。
（付記１０）  該決定部は、該コマンド受信部と複数の該サーバのそれぞれとの通信状態に基づいて、該複数のサーバのそれぞれに設定されている該設定上限値の変更を決定し、
該通知部は、該複数のサーバのうち少なくとも１つに対して該変更通知を行なうことを特徴とする、付記６〜９のいずれか１項に記載のストレージ装置。
【００７５】
（付記１１）  コマンドの発行数の上限値である設定上限値が設定されたサーバと、該サーバで発行された該コマンドを処理するストレージ装置とをそなえたストレージシステムの制御を行なう該ストレージシステムの制御方法であって、
該ストレージ装置に接続された該サーバの数を検出する検出ステップと、
該検出ステップで検出された該サーバの数に基づいて、該サーバに設定されている該設定上限値の変更を決定する決定ステップと、
該決定ステップにおいて決定された前記決定上限値の変更に関する変更通知を該サーバに対して行なう通知ステップとをそなえることを特徴とする、ストレージシステムの制御方法。
【００７６】
（付記１２）  該サーバで発行された該コマンドを受信するコマンド受信ステップをさらにそなえ、
該決定ステップにおいて、該コマンド受信ステップにおける該サーバとの通信状態に基づいて該設定上限値を変更することを特徴とする、付記１１に記載のストレージシステムの制御方法。
【００７７】
（付記１３）  該通信状態は、所定時間内に該コマンド受信部で受信した該コマンドの数であることを特徴とする、付記１２に記載のストレージシステムの制御方法。
（付記１４）  該通信状態は、該コマンド受信部で受信した該コマンドに伴なって獲得されるバッファの使用状況であることを特徴とする、付記１２に記載のストレージシステムの制御方法。
【００７８】
（付記１５）  該決定ステップにおいて、該コマンド受信における複数の該サーバのそれぞれとの通信状態に基づいて、該複数のサーバのそれぞれに設定されている該設定上限値の変更を決定し、
該通知ステップにおいて、該複数のサーバのうち少なくとも１つに対して該変更通知を行なうことを特徴とする、付記１１〜１４のいずれか１項に記載のストレージシステムの制御方法。
【００７９】
（付記１６）  コマンドの発行数の上限値である設定上限値が設定されたサーバと、該サーバで発行された該コマンドを処理するストレージ装置とをそなえたストレージシステムに関して、該ストレージシステムの制御を行なう制御機能をコンピュータに実行させるためのストレージシステムの制御プログラムであって、
該ストレージ装置に接続された該サーバの数を検出する検出部と、
該検出部で検出された該サーバの数に基づいて、該サーバに設定されている該設定上限値の変更を決定する決定部と、
該決定部で決定された前記決定上限値の変更に関する変更通知を該サーバに対して行なう通知部として、該コンピュータを機能させることを特徴とする、ストレージシステムの制御プログラム。
【００８０】
（付記１７）  該サーバで発行された該コマンドを受信するコマンド受信部として該コンピュータを機能させるとともに、
該決定部は、該コマンド受信部と該サーバとの通信状態に基づいて該設定上限値を変更するように該コンピュータを機能させることを特徴とする、付記１６に記載のストレージシステムの制御プログラム。
【００８１】
（付記１８）  該通信状態は、所定時間内に該コマンド受信部で受信した該コマンドの数であることを特徴とする、付記１７に記載のストレージシステムの制御プログラム。
（付記１９）  該通信状態は、該コマンド受信部で受信した該コマンドに伴なって獲得されるバッファの使用状況であることを特徴とする、付記１７に記載のストレージシステムの制御プログラム。
【００８２】
（付記２０）  該決定部は、該コマンド受信部と複数の該サーバのそれぞれとの通信状態に基づいて、該複数のサーバのそれぞれに設定されている該設定上限値の変更を決定し、
該通知部は、該複数のサーバのうち少なくとも１つに対して該変更通知を行なうように該コンピュータを機能させることを特徴とする、付記１６〜１９のいずれか１項に記載のストレージシステムの制御プログラム。
【図面の簡単な説明】
【００８３】
【図１】本発明の一実施形態としてのストレージシステムの構成例を模式的に示す図である。
【図２】本発明の一実施形態としてのストレージシステムにサーバを新たに追加した場合の構成例を模式的に示す図である。
【図３】本発明の一実施形態としてのストレージシステムにおけるサーバに設定されている設定上限値を変更する手法の例としての第１態様を説明するための図である
【図４】本発明の一実施形態としてのストレージシステムにおけるサーバに設定されている設定上限値を変更する手法の例としての第２態様を説明するための図である。
【図５】本発明の一実施形態としてのストレージシステムにおけるサーバに設定されている設定上限値を変更する手法の例としての第３態様を説明するための図である。
【図６】本発明の一実施形態としてのストレージシステムにおけるサーバに設定されている設定上限値を変更する手法の例としての第４態様を説明するための図である。
【図７】本発明の一実施形態としてのストレージシステムにおけるサーバに設定されている設定上限値を変更する手法の例としての第４態様を説明するための図である。
【図８】本発明の一実施形態としてのストレージシステムにおけるサーバに設定されている設定上限値を変更する手法の例としての第４態様を説明するための図である。
【図９】本発明の一実施形態の変形例としてのストレージシステムの構成例を模式的に示す図である。
【図１０】従来のストレージシステムの構成例を模式的に示す図である。
【図１１】従来のストレージシステムにおいてマックススロットルの設定例を模式的に示す図である。
【図１２】従来のストレージシステムにおいてＲＡＩＤ装置に接続されるサーバを新規に追加する場合を模式的に示す図である。
【符号の説明】
【００８４】
１０，４０，９０  ストレージシステム
１１，９５  ＦＣスイッチ
１２，９１  ＲＡＩＤ装置
１３，１３Ａ，１３Ｂ，９２Ａ，９２Ｂ  サーバ
１４，９３  コントローラ
１５  ＣＰＵ
１６  バッファ
１７  コマンド受信部
１８  コマンド処理部
１９  監視部
２０  検出部
２１  決定部
２２，４１  通知部
２３，２３Ａ，２３Ｂ，９４Ａ，９４Ｂ  ＨＢＡ
２４  保持部
２５  ＣＰＵ
２６  コマンド発行部
２７  変更通知受信部
２８  変更部
４２  ＬＡＮ
４３  アプリケーション
４４  デバイスドライバ
１４０，９３０  ＦＣポート
【図１】
2009217475.tif 000003
【図２】
2009217475.tif 000004
【図３】
2009217475.tif 000005
【図４】
2009217475.tif 000006
【図５】
2009217475.tif 000007
【図６】
2009217475.tif 000008
【図７】
2009217475.tif 000009
【図８】
2009217475.tif 000010
【図９】
2009217475.tif 000011
【図１０】
2009217475.tif 000012
【図１１】
2009217475.tif 000013
【図１２】
2009217475.tif 000014