(57)【特許請求の範囲】
【請求項１】
複数の記憶サブシステムと、
前記複数の記憶サブシステムのうち少なくとも一つにデータを書き込むホスト計算機と、からなる計算機システムの前記複数の記憶サブシステムを管理する管理計算機において、
前記複数の記憶サブシステムは、直列に接続された少なくとも三つの記憶サブシステムからなる少なくとも一つの系列を構成し、
前記ホスト計算機は、前記系列の最上位の前記記憶サブシステムと接続され、
各前記記憶サブシステムは、
データが格納される一つ以上の論理ボリュームと、
データが一時的に格納されるバッファと、を備え、
前記記憶サブシステムの前記論理ボリュームは、他の前記記憶サブシステムの前記論理ボリュームとリモートコピーによるペアを構成し、
前記最上位の記憶サブシステムの前記バッファには、前記ホスト計算機から前記論理ボリュームに書き込まれるデータ、及び、他の前記記憶サブシステムに前記リモートコピーによって送信されるデータが格納され、
前記最上位以外の記憶サブシステムの前記バッファには、他の前記記憶サブシステムから前記リモートコピーによって前記論理ボリュームに書き込まれるデータ、及び、他の前記記憶サブシステムに前記リモートコピーによって送信されるデータが格納され、
前記管理計算機は、情報収集部を備え、
前記情報収集部は、
各前記記憶サブシステムの前記バッファの使用量を観測し、
前記記憶サブシステムのうち前記最上位以外の第１の記憶サブシステムの前記バッファの、他の前記記憶サブシステムから前記リモートコピーによって前記論理ボリュームに書き込まれるデータ、及び、他の前記記憶サブシステムに前記リモートコピーによって送信されるデータによる使用量が所定の閾値を超えた場合、前記第１の記憶サブシステムより上位の第２の記憶サブシステムに、前記第２の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする管理計算機。
【請求項２】
前記情報収集部は、前記第１の記憶サブシステムの前記バッファの使用量が前記所定の閾値を超えた場合、前記第１の記憶サブシステムより上位の前記記憶サブシステムのうち、前記書き込み処理を制限する入出力制限部を備える第３の記憶サブシステムに、前記第３の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする請求項１に記載の管理計算機。
【請求項３】
前記情報収集部は、前記第１の記憶サブシステムの前記バッファの使用量が前記所定の閾値を超えた場合、前記第１の記憶サブシステムより上位の前記記憶サブシステムの前記バッファの使用量を観測し、前記第１の記憶サブシステムより上位の前記記憶サブシステムのうち、前記バッファの使用量が所定の閾値を超えていない第４の記憶サブシステムの下位に隣接する第５の記憶サブシステムに、前記第５の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする請求項１に記載の管理計算機。
【請求項４】
前記複数の記憶サブシステムは、少なくとも二つの前記系列を構成し、
複数の前記ペアが、データの更新順序が維持されるコンシステンシグループを構成し、
前記情報収集部は、前記第１の記憶サブシステムの前記バッファの使用量が前記所定の閾値を超え、かつ、同一の前記コンシステンシグループに属する複数の前記ペアが、異なる前記系列に属する場合、最上位の前記記憶サブシステムに、前記最上位の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする請求項１に記載の管理計算機。
【請求項５】
前記管理計算機は、前記書き込み処理を制限することによって前記バッファからデータが溢れることを防ぐことができるか否かを判定する制限実行判定部を備え、
前記情報収集部は、前記第１の記憶サブシステムの前記バッファの使用量が前記所定の閾値を超え、かつ、前記制限実行判定部が、前記書き込み処理を制限することによって前記バッファからデータが溢れることを防ぐことができると判定した場合、前記第１の記憶サブシステムより上位の前記第２の記憶サブシステムに、前記第２の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする請求項１に記載の管理計算機。
【請求項６】
前記制限実行判定部は、前記バッファの使用量が前記所定の閾値を超えた前記第１の記憶サブシステムと、前記第１の記憶サブシステムの下位に隣接する記憶サブシステムとの間の接続の数が所定の閾値を超える場合、前記書き込み処理を制限することによって前記バッファからデータが溢れることを防ぐことができると判定することを特徴とする請求項５に記載の管理計算機。
【請求項７】
複数の記憶サブシステムと、
前記複数の記憶サブシステムのうち少なくとも一つにデータを書き込むホスト計算機と、
前記複数の記憶サブシステムを管理する管理計算機と、からなる計算機システムにおいて、
前記複数の記憶サブシステムは、直列に接続された少なくとも三つの記憶サブシステムからなる少なくとも一つの系列を構成し、
前記ホスト計算機は、前記系列の最上位の前記記憶サブシステムと接続され、
各前記記憶サブシステムは、
データが格納される一つ以上の論理ボリュームと、
データが一時的に格納されるバッファと、を備え、
前記記憶サブシステムの前記論理ボリュームは、他の前記記憶サブシステムの前記論理ボリュームとリモートコピーによるペアを構成し、
前記最上位の記憶サブシステムの前記バッファには、前記ホスト計算機から前記論理ボリュームに書き込まれるデータ、及び、他の前記記憶サブシステムに前記リモートコピーによって送信されるデータが格納され、
前記最上位以外の記憶サブシステムの前記バッファには、他の前記記憶サブシステムから前記リモートコピーによって前記論理ボリュームに書き込まれるデータ、及び、他の前記記憶サブシステムに前記リモートコピーによって送信されるデータが格納され、
前記管理計算機は、情報収集部を備え、
前記情報収集部は、
各前記記憶サブシステムの前記バッファの使用量を観測し、
前記記憶サブシステムのうち前記最上位以外の第１の記憶サブシステムの前記バッファの、他の前記記憶サブシステムから前記リモートコピーによって前記論理ボリュームに書き込まれるデータ、及び、他の前記記憶サブシステムに前記リモートコピーによって送信されるデータによる使用量が所定の閾値を超えた場合、前記第１の記憶サブシステムより上位の第２の記憶サブシステムに、前記第２の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする計算機システム。
【請求項８】
前記情報収集部は、前記第１の記憶サブシステムの前記バッファの使用量が前記所定の閾値を超えた場合、前記第１の記憶サブシステムより上位の前記記憶サブシステムのうち、前記書き込み処理を制限する入出力制限部を備える第３の記憶サブシステムに、前記第３の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする請求項７に記載の計算機システム。
【請求項９】
前記情報収集部は、前記第１の記憶サブシステムの前記バッファの使用量が前記所定の閾値を超えた場合、前記第１の記憶サブシステムより上位の前記記憶サブシステムの前記バッファの使用量を観測し、前記第１の記憶サブシステムより上位の前記記憶サブシステムのうち、前記バッファの使用量が所定の閾値を超えていない第４の記憶サブシステムの下位に隣接する第５の記憶サブシステムに、前記第５の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする請求項７に記載の計算機システム。
【請求項１０】
前記複数の記憶サブシステムは、少なくとも二つの前記系列を構成し、
複数の前記ペアが、データの更新順序が維持されるコンシステンシグループを構成し、
前記情報収集部は、前記第１の記憶サブシステムの前記バッファの使用量が前記所定の閾値を超え、かつ、同一の前記コンシステンシグループに属する複数の前記ペアが、異なる前記系列に属する場合、最上位の前記記憶サブシステムに、前記最上位の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする請求項７に記載の計算機システム。
【請求項１１】
前記管理計算機は、前記書き込み処理を制限することによって前記バッファからデータが溢れることを防ぐことができるか否かを判定する制限実行判定部を備え、
前記情報収集部は、前記第１の記憶サブシステムの前記バッファの使用量が前記所定の閾値を超え、かつ、前記制限実行判定部が、前記書き込み処理を制限することによって前記バッファからデータが溢れることを防ぐことができると判定した場合、前記第１の記憶サブシステムより上位の前記第２の記憶サブシステムに、前記第２の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする請求項７に記載の計算機システム。
【請求項１２】
前記制限実行判定部は、前記バッファの使用量が前記所定の閾値を超えた前記第１の記憶サブシステムと、前記第１の記憶サブシステムの下位に隣接する記憶サブシステムとの間の接続の数が所定の閾値を超える場合、前記書き込み処理を制限することによって前記バッファからデータが溢れることを防ぐことができると判定することを特徴とする請求項１１に記載の計算機システム。
【請求項１３】
前記情報収集部は、
前記ホスト計算機に接続された記憶サブシステムを介して、各前記記憶サブシステムの前記バッファの使用量を取得し、
前記第１の記憶サブシステムの前記バッファの使用量が所定の閾値を超えた場合、前記ホスト計算機に接続された記憶サブシステムを介して、前記第１の記憶サブシステムより上位の前記記憶サブシステムに、前記前記上位の記憶サブシステム内の前記論理ボリュームへの制限命令を発行することを特徴とする請求項７に記載の計算機システム。
【請求項１４】
複数の記憶サブシステムと、
前記複数の記憶サブシステムのうち少なくとも一つにデータを書き込むホスト計算機と、からなる計算機システムの制御方法であって、
前記複数の記憶サブシステムは、直列に接続された少なくとも三つの記憶サブシステムからなる少なくとも一つの系列を構成し、
前記ホスト計算機は、前記系列の最上位の前記記憶サブシステムと接続され、
各前記記憶サブシステムは、
データが格納される一つ以上の論理ボリュームと、
データが一時的に格納されるバッファと、を備え、
前記記憶サブシステムの前記論理ボリュームは、他の前記記憶サブシステムの前記論理ボリュームとリモートコピーによるペアを構成し、
前記最上位の記憶サブシステムの前記バッファには、前記ホスト計算機から前記論理ボリュームに書き込まれるデータ、及び、他の前記記憶サブシステムに前記リモートコピーによって送信されるデータが格納され、
前記最上位以外の記憶サブシステムの前記バッファには、他の前記記憶サブシステムから前記リモートコピーによって前記論理ボリュームに書き込まれるデータ、及び、他の前記記憶サブシステムに前記リモートコピーによって送信されるデータが格納され、
前記制御方法は、
各前記記憶サブシステムの前記バッファの使用量を観測し、
前記記憶サブシステムのうち前記最上位以外の第１の記憶サブシステムの前記バッファの、他の前記記憶サブシステムから前記リモートコピーによって前記論理ボリュームに書き込まれるデータ、及び、他の前記記憶サブシステムに前記リモートコピーによって送信されるデータによる使用量が所定の閾値を超えた場合、前記第１の記憶サブシステムより上位の第２の記憶サブシステムに、前記第２の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする制御方法。
【請求項１５】
前記制限命令の発行において、前記第１の記憶サブシステムより上位の前記記憶サブシステムのうち、前記書き込み処理を制限する入出力制限部を備える第３の記憶サブシステムに、前記第３の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする請求項１４に記載の制御方法。
【請求項１６】
前記制限命令の発行において、前記第１の記憶サブシステムの前記バッファの使用量が前記所定の閾値を超えた場合、前記第１の記憶サブシステムより上位の前記記憶サブシステムの前記バッファの使用量を観測し、前記第１の記憶サブシステムより上位の第４の記憶サブシステムのうち、前記バッファの使用量が所定の閾値を超えていない前記記憶サブシステムの下位に隣接する第５の記憶サブシステムに、前記第５の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする請求項１４に記載の制御方法。
【請求項１７】
前記複数の記憶サブシステムは、少なくとも二つの前記系列を構成し、
複数の前記ペアが、データの更新順序が維持されるコンシステンシグループを構成し、
前記制限命令の発行において、前記第１の記憶サブシステムの前記バッファの使用量が前記所定の閾値を超え、かつ、同一の前記コンシステンシグループに属する複数の前記ペアが、異なる前記系列に属する場合、最上位の前記記憶サブシステムに、前記最上位の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする請求項１４に記載の制御方法。
【請求項１８】
前記制限命令の発行において、
前記書き込み処理を制限することによって前記バッファからデータが溢れることを防ぐことができるか否かを判定し、
前記第１の記憶サブシステムの前記バッファの使用量が前記所定の閾値を超え、かつ、前記書き込み処理を制限することによって前記バッファからデータが溢れることを防ぐことができると判定された場合、前記第１の記憶サブシステムより上位の前記第２の記憶サブシステムに、前記第２の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする請求項１４に記載の制御方法。
【請求項１９】
前記判定において、前記バッファの使用量が前記所定の閾値を超えた前記第１の記憶サブシステムと、前記第１の記憶サブシステムの下位に隣接する記憶サブシステムとの間の接続の数が所定の閾値を超える場合、前記書き込み処理を制限することによって前記バッファからデータが溢れることを防ぐことができると判定することを特徴とする請求項１８に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステムの制御技術に関し、特に、リモートコピー技術を適用したストレージシステムのデータ転送制御技術に関する。
【背景技術】
【０００２】
現在、多くの企業活動等は、情報システムの利用を前提として行われている。このため、災害、事故又はテロ等の不測の事態によって情報システムが長時間停止すると、多大な損害が発生する。このような損害を最小限にとどめるため、リモートコピー技術を応用したディザスタリカバリ技術が提案されている。これは、通常の運用時に遠隔地のサイトに業務データの複製を作成（リモートコピー）し、障害発生時にその複製を用いて迅速に復旧する技術である。
【０００３】
リモートコピー技術によれば、ホストコンピュータに直接接続された記憶サブシステム（直結記憶サブシステム）の論理ボリューム（ＬＵ）に書き込まれたデータが、遠隔地の記憶サブシステム（リモート記憶サブシステム）のＬＵにコピーされる。このようなコピー元のＬＵとコピー先のＬＵとの組は、コピーペアと呼ばれる。このとき、データの一貫性（コンシステンシ）を保つために、Ｉ／Ｏの順序が保証される。すなわち、ホストコンピュータから直結記憶サブシステムのＬＵに書き込まれたときと同じ順序で、リモート記憶サブシステムのＬＵにデータが書き込まれる。この順序が保証されないと、本来先に書き込まれるべきデータが後で書き込まれる場合があり、その本来先に書き込まれるべきデータが書き込まれる前に障害が発生すると、リモート記憶サブシステムのＬＵのデータのコンシステンシが失われる。コンシステンシが失われたデータを用いてシステムを復旧することはできない。
【０００４】
なお、コンシステンシは、複数のコピーペアにわたって保たれなければならない場合がある。このような複数のコピーペアの集合は、コンシステンシグループ（ＣＧ）と呼ばれる。すなわち、各ＣＧにおいて、Ｉ／Ｏの順序が保証される。
【０００５】
Ｉ／Ｏの順序を保証してデータのコンシステンシを保つため、サイドファイルと呼ばれるキャッシュを用いたリモートコピー技術が提案されている（特許文献１参照）。特許文献１によれば、直結記憶サブシステム（マスターディスクサブシステム）からリモート記憶サブシステム（リモートディスクサブシステム）にコピーされるデータは、一旦直結記憶サブシステムの正キャッシュ（マスターディスクサブシステムのキャッシュメモリ）に格納された後、リモート記憶サブシステムに送信される。リモート記憶サブシステムは、受信したデータを一旦副キャッシュ（リモートディスクサブシステムのキャッシュメモリ）に格納する。そして、副キャッシュのデータは、直結記憶サブシステムに書き込まれた順序で、リモート記憶サブシステムのボリュームに書き込まれる。
【０００６】
正キャッシュのデータは、そのデータが下位のリモート記憶サブシステムの副キャッシュに格納されたことを示す応答を受けるまで保持される。正キャッシュの容量は有限であるため、記憶サブシステム間の通信速度が低下した場合、正キャッシュからデータが溢れる場合がある。この場合、データのコンシステンシを保つことができない。特許文献１によれば、直結記憶サブシステムが正キャッシュの使用量を監視し、その使用量が所定の閾値を超えたときに、ホストコンピュータからのＩ／Ｏを制限する。具体的には、ホストコンピュータからの書き込み命令に対する応答を意図的に遅らせることによって、正キャッシュにデータが格納される速さを低下させ、正キャッシュのデータ溢れを防ぐ。その結果、システムを停止させることなく、データのコンシステンシを保つことができる。
【０００７】
一方、さらに耐障害性を高めるため、複数のリモート記憶サブシステムにデータをコピーするリモートコピー技術が提案されている（例えば、特許文献２参照）。特許文献２によれば、直結記憶サブシステムのデータが二つのリモート記憶サブシステムにコピーされる。このため、これらの三つの記憶サブシステムのうち一つに障害が発生しても、残りの二つの記憶サブシステムでリモートコピーを実行することによって、高い耐障害性を維持することができる。
【特許文献１】特開２００２−３３４０４９号公報
【特許文献２】特開２００３−１２２５０９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
複数のリモート記憶サブシステムにデータをコピーするリモートコピーの接続形態の一つに、いわゆるカスケード型がある。カスケード型とは、直結記憶サブシステムに第１のリモート記憶サブシステムが接続され、第１のリモート記憶サブシステムに第２のリモート記憶サブシステムが接続される直列の接続形態である。この場合、直結記憶サブシステムに書き込まれたデータは、第１のリモート記憶サブシステム及び第２のリモート記憶サブシステムに順次コピーされる。同様にして、第２の記憶サブシステムの下位にさらに第３、第４の記憶サブシステムが直列に接続されてもよい。このようなカスケード型の接続形態においても、上記特許文献１に記載された発明を適用することができる。
【０００９】
しかし、特許文献１の発明によれば、いずれかのキャッシュの使用量が所定の閾値を超えた場合、常に、当該キャッシュが属する記憶サブシステムにおいてＩ／Ｏ制限が実行される。この場合、当該記憶サブシステムにデータが書き込まれる速度がＩ／Ｏ制限によって低下する。その上位の記憶サブシステムのキャッシュの容量に余裕がない場合、そのキャッシュにおいてデータ溢れが発生しやすくなる。
【００１０】
例えば、いずれかのＣＧにおいて処理が一時的に混雑し、そのＣＧの正側のキャッシュの使用量が閾値を超えた場合、その正側のキャッシュが属する記憶サブシステムにおいてＩ／Ｏ制限が実行される。この場合、その正側のキャッシュが属する記憶サブシステムの上位の記憶サブシステムのキャッシュにおいてデータ溢れが発生しやすくなる。その上位の記憶サブシステムのキャッシュにおいてデータ溢れが発生すると、処理が混雑したＣＧとは別の系統のＣＧにおいても、コピーペアが停止する。このように、特許文献１に記載された発明によれば、一つのＣＧにおいてキャッシュのデータ溢れが発生しそうになると、その影響が他の系統のＣＧにも波及する場合があった。
【００１１】
また、キャッシュの使用量が閾値を超える原因には、一時的な処理の混雑等のほか、記憶サブシステム間の連結（リンク）の障害がある。例えば、ある二つの記憶サブシステム間の全てのリンクに障害が発生した場合、それらのうち上位の記憶サブシステムのキャッシュにデータ溢れが発生すると考えられる。しかし、Ｉ／Ｏ制限は、Ｉ／Ｏを停止させるのではなく、Ｉ／Ｏの速度を遅くするに過ぎないため、このような場合にＩ／Ｏ制限を実行しても、データ溢れを防ぐことはできない。すなわち、無意味にＩ／Ｏ速度が劣化することとなる。さらに、この場合も上記と同様に、一つのＣＧにおいて発生した障害の影響が他のＣＧに波及する場合がある。
【課題を解決するための手段】
【００１２】
本発明は、複数の記憶サブシステムと、前記複数の記憶サブシステムのうち少なくとも一つにデータを書き込むホスト計算機と、からなる計算機システムの前記複数の記憶サブシステムを管理する管理計算機において、前記複数の記憶サブシステムは、直列に接続された少なくとも三つの記憶サブシステムからなる少なくとも一つの系列を構成し、前記ホスト計算機は、前記系列の最上位の前記記憶サブシステムと接続され、各前記記憶サブシステムは、データが格納される一つ以上の論理ボリュームと、データが一時的に格納されるバッファと、を備え、前記記憶サブシステムの前記論理ボリュームは、他の前記記憶サブシステムの前記論理ボリュームとリモートコピーによるペアを構成し、前記最上位の記憶サブシステムの前記バッファには、前記ホスト計算機から前記論理ボリュームに書き込まれるデータ、及び、他の前記記憶サブシステムに前記リモートコピーによって送信されるデータが格納され、前記最上位以外の記憶サブシステムの前記バッファには、他の前記記憶サブシステムから前記リモートコピーによって前記論理ボリュームに書き込まれるデータ、及び、他の前記記憶サブシステムに前記リモートコピーによって送信されるデータが格納され、前記管理計算機は、情報収集部を備え、前記情報収集部は、各前記記憶サブシステムの前記バッファの使用量を観測し、前記記憶サブシステムのうち前記最上位以外の第１の記憶サブシステムの前記バッファの、他の前記記憶サブシステムから前記リモートコピーによって前記論理ボリュームに書き込まれるデータ、及び、他の前記記憶サブシステムに前記リモートコピーによって送信されるデータによる使用量が所定の閾値を超えた場合、前記第１の記憶サブシステムより上位の第２の記憶サブシステムに、前記第２の記憶サブシステム内の前記論理ボリュームへの書き込み処理を制限させる制限命令を発行することを特徴とする。
【発明の効果】
【００１３】
本発明によれば、キャッシュの使用量が閾値を超えた場合、そのキャッシュが属する記憶サブシステム以外の記憶サブシステムにおいてＩ／Ｏ制限を実行することができる。このため、容量に余裕のあるキャッシュを使用するようにＩ／Ｏ制限する記憶サブシステムを選択することができる。その結果、他の記憶サブシステムにおいてデータ溢れが発生することを防ぐことによって、他のＣＧの処理に影響を与えずにＩ／Ｏ制限を実現することができる。
【００１４】
また、本発明によれば、各記憶サブシステム間のリンクの稼動状況が観測される。そして、Ｉ／Ｏ制限によってデータ溢れを防ぐことができる場合にのみ、Ｉ／Ｏ制限が実行される。すなわち、無意味なＩ／Ｏ制限を実行しないため、資源の浪費及びホストからのＩ／Ｏの性能低下を防ぐことができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施の形態を図面に基づいて説明する。最初に、本発明の第１の実施の形態について説明する。
【００１６】
図１は、本発明の第１の実施の形態の計算機システムの構成を示すブロック図である。
【００１７】
本実施の形態の計算機システムは、四つの記憶サブシステム、ホスト計算機１３０及び管理計算機１４０からなる。
【００１８】
四つの記憶サブシステムは、リンク１６０を介して直列に連結される。四つの記憶サブシステムの一つである直結記憶サブシステム１００は、ホスト計算機１３０にストレージネットワーク１５０を介して接続される。他の三つは、リモート記憶サブシステム１１０又は１２０である。以下の説明において、直結記憶サブシステム１００、リモート記憶サブシステム１１０及び１２０を特に区別する必要がない場合、「記憶サブシステム」と記載する。
【００１９】
各記憶サブシステム内のキャッシュメモリ３０３、論理ボリューム（ＬＵ）３３１及びその他の構成については、後で詳細に説明する。さらに、ＬＵ３３１によって構成されるコピーペア６０１及びコンシステンシグループ（ＣＧ）６０２についても、後で詳細に説明する。
【００２０】
リンク１６０は、記憶サブシステム間の通信路である。各記憶サブシステム間は、一つ以上のリンク１６０によって連結される。リンク１６０は、例えばファイバーチャネル（ＦＣ）であってもよいが、接続される記憶サブシステムが遠距離にある場合は、公衆回線等を含んでもよい。後述するリモートコピーは、リンク１６０を介して実行される。
【００２１】
以下の説明において、直列に連結された記憶サブシステムのうち、ホスト計算機１３０に近い側を「上位」、遠い側を「下位」と記載する。本実施の形態では、直結記憶サブシステム１００が最も上位であり、その下位に二つのリモート記憶サブシステム１１０が接続され、さらにその下位に、リモート記憶サブシステム１２０が接続される。
【００２２】
言い換えると、直結記憶サブシステム１００は、直列に連結された記憶サブシステムの上位側の端に位置する。
【００２３】
ホスト計算機１３０から直結記憶サブシステム１００の論理ボリューム（後述）に書き込まれたデータは、順次、下位のリモート記憶サブシステム１１０等の論理ボリュームにコピー（リモートコピー）される。このように、複数の記憶サブシステムが直列に連結され、データが上位から下位へ順次コピーされる構成は、カスケード構成とも呼ばれる。
【００２４】
なお、以下の説明において、一つの直結記憶サブシステム１００と、その下位のリモート記憶サブシステム１１０等の集合を「系列」と記載する。
【００２５】
また、コピー元の論理ボリュームとコピー先の論理ボリュームとの組を「コピーペア」と記載する。
【００２６】
リモートコピーには、同期リモートコピーと非同期リモートコピーの二つの種類がある。
【００２７】
本実施の形態において実行されるリモートコピーは、非同期リモートコピーを例として説明する。また、同期リモートコピーと非同期リモートコピーとが混在する計算機システムでもよい。
【００２８】
本実施の形態では、一つの系列が四つの記憶サブシステムからなるが、さらに多くの記憶サブシステムを含む計算機システムにも本発明を適用することができる。
【００２９】
また、図１には一つの系列のみを示すが、複数の系列が一つのホスト計算機１３０に接続される計算機システムにも本発明を適用することができる。
【００３０】
各記憶サブシステムには、数字又は文字列からなる一意の記憶サブシステム識別子（ＩＤ）が付与される。本実施の形態では、四つの記憶サブシステムに、上位から順に、「筐体１」、「筐体２」、「筐体３」及び「筐体４」が付与される。すなわち、直結サブシステム１００の記憶サブシステムＩＤが「筐体１」、リモート記憶サブシステム１１０の記憶サブシステムＩＤが「筐体２」、その下位のリモート記憶サブシステム１１０の記憶サブシステムＩＤが「筐体３」、そのさらに下位のリモート記憶サブシステム１２０の記憶サブシステムＩＤが「筐体４」である。以下、記憶サブシステムＩＤが「筐体１」である記憶サブシステム（本実施の形態の場合、直結記憶サブシステム１００）を、単に筐体１と記載する。他の記憶サブシステムについても同様である。
【００３１】
ホスト計算機１３０は、ストレージネットワーク１５０を介して直結記憶サブシステム１００と接続され、直結記憶サブシステム１００にデータの書き込み・読み出しを実行する計算機である。ホスト計算機１３０の構成については詳細な説明を省略するが、ＣＰＵ、メモリ等を備える（図示省略）。
【００３２】
ストレージネットワーク１５０は、ホスト計算機１３０と直結記憶サブシステム１００とが通信するためのネットワークである。ストレージネットワーク１５０上では、例えば、ＦＣ、ＳＣＳＩ等のプロトコルによって通信が行われる。ストレージネットワーク１５０は、例えば、ストレージエリアネットワーク（ＳＡＮ）であってもよい。
【００３３】
管理計算機１４０は、管理ネットワーク１７０を介して各記憶サブシステムと接続され、これらの記憶サブシステムを管理する。管理計算機１４０の構成については、後で詳細に説明する（図２参照）。
【００３４】
管理ネットワーク１７０は、管理計算機１４０と各記憶サブシステムとが通信するためのネットワークである。本実施の形態では、管理ネットワーク１７０は、ＩＰネットワークである。したがって、管理計算機１４０は、各記憶サブシステムをＩＰアドレスによって識別する。しかし、本実施の形態には、他の形態のネットワークを適用することもできる。
【００３５】
図２は、本発明の第１の実施の形態の管理計算機１４０の構成を示すブロック図である。
【００３６】
本実施の形態の管理計算機１４０は、少なくとも、入力装置２０１、ＣＰＵ２０２、表示装置２０３、メモリ２０４及びストレージ管理インターフェース（Ｉ／Ｆ）２０５からなる。
【００３７】
入力装置２０１は、システム管理者が計算機システムの各種パラメータ等を設定するために使用される装置であり、例えば、キーボード及びポインティングデバイス等である。
【００３８】
ＣＰＵ２０２は、メモリ２０４に格納された各種プログラムを実行するプロセッサである。
【００３９】
表示装置２０３は、計算機システムの状態や各種メッセージ等を表示する装置であり、例えば、ＣＲＴ等の画像表示装置である。また、表示装置２０３は、システム管理者が計算機システムの各種パラメータを設定する際に、グラフィカルユーザインターフェース（ＧＵＩ）を提供してもよい。
【００４０】
メモリ２０４は、例えば、半導体メモリである。メモリ２０４には、ＣＰＵ２０２によって実行される各種プログラム及びそれらのプログラムの実行の際に参照される各種の情報が格納される。本実施の形態のメモリ２０４には、少なくとも、監視情報設定プログラム２１１、構成情報収集プログラム２１２、閾値設定プログラム２１３、障害定義情報設定プログラム２１４、情報収集プログラム２１５、Ｉ／Ｏ制限実行判定プログラム２１６、監視設定情報２２１、コピーペア管理情報２２２、全体キャッシュ使用量閾値情報２２３、個別キャッシュ使用量閾値情報２２４、障害定義情報２２５及びＩ／Ｏ制限装置情報２２６が格納される。これらのプログラム及び情報については、後で詳細に説明する。
【００４１】
ストレージ管理Ｉ／Ｆ２０５は、管理ネットワーク１７０を介して各記憶サブシステムと接続され、これらと通信をするインターフェースである。
【００４２】
図３は、本発明の第１の実施の形態の直結記憶サブシステム１００の構成を示すブロック図である。
【００４３】
本実施の形態の直結記憶サブシステム１００は、コントローラ３００及びディスクアレイ３３０からなる。
【００４４】
コントローラ３００は、直結記憶サブシステム１００の制御装置であり、少なくとも、ホストＩ／Ｆ３０１、管理用Ｉ／Ｆ３０２、キャッシュメモリ３０３、プロセッサ３０４、記憶装置Ｉ／Ｆ３０５及びメモリ３０６からなる。
【００４５】
ホストＩ／Ｆ３０１は、ストレージネットワーク１５０を介してホスト計算機１３０と接続され、通信をするインターフェースである。
【００４６】
管理用Ｉ／Ｆ３０２は、管理ネットワーク１７０を介して管理計算機１４０と接続され、通信をするインターフェースである。
【００４７】
キャッシュメモリ３０３は、データを一時的に格納するメモリである。例えば、キャッシュメモリ３０３には、非同期リモートコピーを実行する際に、コピーされるデータが一時的に格納されてもよい。このようなキャッシュメモリ３０３の使用方法については、後で詳細に説明する。また、キャッシュメモリ３０３には、ディスクアレイ３３０に書き込まれるデータ又はディスクアレイ３３０から読み出されたデータが一時的に格納されてもよい。
【００４８】
プロセッサ３０４は、メモリ３０６に格納された各種プログラムを実行する。
【００４９】
記憶装置Ｉ／Ｆ３０５は、リンク１６０を介してリモート記憶サブシステム１１０等と接続される。リモートコピーによってコピーされるデータは、記憶装置Ｉ／Ｆ３０５によって送受信される。
【００５０】
メモリ３０６は、例えば、半導体メモリである。メモリ３０６には、プロセッサ３０４によって実行される各種プログラム及びそれらのプログラムの実行の際に参照される各種の情報が格納される。本実施の形態のメモリ３０６には、少なくとも、Ｉ／Ｏ制限命令受付プログラム３１１、Ｉ／Ｏ制限処理プログラム３１２、筐体情報管理プログラム３１３、Ｉ／Ｏ制限情報３２１、コピーペア構成情報３２２、キャッシュ管理テーブル３２３及びリンク稼動状況テーブル３２４が格納される。これらのプログラム及び情報については、後で詳細に説明する。
【００５１】
なお、図３のメモリ３０６には、自連結位置判断プログラム３１４が格納されているが、本実施の形態の直結記憶サブシステム１００は、このプログラムを必要としない。後述する第２の実施の形態においては、自連結位置判断プログラム３１４が必要となる。図４及び図５に示すリモート記憶サブシステム１１０等についても同様である。
【００５２】
ディスクアレイ３３０は、複数のディスクドライブ（図示省略）からなる記憶装置である。ディスクアレイ３３０は、例えば、Redundant Arrays of Inexpensive Disks（ＲＡＩＤ）を構成してもよい。
【００５３】
ディスクアレイ３３０には、ホスト計算機１３０からの書き込み要求に応じて、データが格納される。また、ホスト計算機１３０からの読み出し要求に応じて、ディスクアレイ３３０に格納されたデータが読み出される。
【００５４】
ディスクアレイ３３０上の記憶領域（データが格納される領域）は、一つ以上の論理ボリューム（ＬＵ）３３１として管理される。ＬＵ３３１は、ホスト計算機によって論理的なディスクドライブとして認識される領域である。
【００５５】
図４は、本発明の第１の実施の形態のリモート記憶サブシステム１１０の構成を示すブロック図である。
【００５６】
リモート記憶サブシステム１１０において、直結記憶サブシステム１００と共通する構成については、説明を省略する。
【００５７】
本実施の形態のリモート記憶サブシステム１１０は、コントローラ４００及びディスクアレイ３３０からなる。
【００５８】
コントローラ４００は、リモート記憶サブシステム１１０の制御装置であり、少なくとも、管理用Ｉ／Ｆ３０２、キャッシュメモリ３０３、プロセッサ３０４、二つの記憶装置Ｉ／Ｆ３０５及びメモリ３０６からなる。
【００５９】
二つの記憶装置Ｉ／Ｆ３０５のうち、一方は、上位の記憶サブシステムと接続され、もう一方は、下位の記憶サブシステムと接続される。
【００６０】
図５は、本発明の第１の実施の形態のリモート記憶サブシステム１２０の構成を示すブロック図である。
【００６１】
本実施の形態のリモート記憶サブシステム１２０の構成は、リモート記憶サブシステム１１０と同じである。ただし、リモート記憶サブシステム１２０のメモリ３０６には、筐体情報管理プログラム３１３、コピーペア構成情報３２２、キャッシュ管理テーブル３２３及びリンク稼動状況テーブル３２４が格納され、Ｉ／Ｏ制限命令受付プログラム３１１、Ｉ／Ｏ制限処理プログラム３１２及びＩ／Ｏ制限情報３２１は格納されない。
【００６２】
次に、本実施の形態の計算機システムに形成されるコンシステンシグループ及びコピーペアについて、図１を参照して説明する。
【００６３】
コピーペア６０１とは、リモートコピーが実行されるＬＵ３３１の組であり、具体的には、データのコピー元のＬＵ３３１と、データのコピー先のＬＵ３３１との組である。なお、図１では、コピーペア６０１を矢印で示す。
【００６４】
本実施の形態において、各ＬＵ３３１は、ＬＵ識別子（ＬＵＩＤ）によって識別される。以下の説明において、ＬＵ識別子が「ＬＵ１０」であるＬＵ３３１を、単にＬＵ１０と記載する。他のＬＵ識別子についても同様である。
【００６５】
図１に示すように、本実施の形態の筐体１には、少なくともＬＵ１０及びＬＵ２０の二つのＬＵ３３１が格納される。筐体２には、少なくともＬＵ１１及びＬＵ２１の二つのＬＵ３３１が格納される。筐体３には、少なくともＬＵ１２及びＬＵ２２の二つのＬＵ３３１が格納される。筐体４には、少なくともＬＵ１３及びＬＵ２３の二つのＬＵ３３１が格納される。
【００６６】
図１に示すように、ＬＵ１０とＬＵ１１は、コピーペア６０１を形成する。そのコピーペア６０１のペア識別子（ペアＩＤ）は、「Ｐａｉｒ１１」である。以下の説明において、ペアＩＤが「Ｐａｉｒ１１」であるコピーペア６０１を、単に「Ｐａｉｒ１１」と記載する。他のコピーペア６０１についても同様である。
【００６７】
図１に示すように、ＬＵ１１とＬＵ１２は、Ｐａｉｒ１２を形成する。ＬＵ１２とＬＵ１３は、Ｐａｉｒ１３を形成する。ＬＵ２０とＬＵ２１は、Ｐａｉｒ２１を形成する。ＬＵ２１とＬＵ２２は、Ｐａｉｒ２２を形成する。ＬＵ２２とＬＵ２３は、Ｐａｉｒ２３を形成する。
【００６８】
一つのコピーペア６０１において、データのコピー元のＬＵ３３１を「正ＬＵ」、コピー先のＬＵ３３１を「副ＬＵ」と記載する。図１に示す矢印の元が正ＬＵ、矢印の先が副ＬＵである。例えば、Ｐａｉｒ１１において、ＬＵ１０が正ＬＵ、ＬＵ１１が副ＬＵである。また、ＬＵ１１は、Ｐａｉｒ１１の副ＬＵであると同時に、Ｐａｉｒ１２の正ＬＵでもある。
【００６９】
コピーペア６０１によって連結されたＬＵ１０、ＬＵ１１、ＬＵ１２及びＬＵ１３が一つの系列をなす。同様に、コピーペア６０１によって連結されたＬＵ２０、ＬＵ２１、ＬＵ２２及びＬＵ２３が別の系列をなす。
【００７０】
図１のようなコピーペア６０１の系列が形成された場合、ホスト計算機１３０から筐体１のＬＵ１０に書き込まれたデータは、ＬＵ１０からＬＵ１１にコピー（リモートコピー）され、ＬＵ１１からＬＵ１２にコピーされ、さらに、ＬＵ１２からＬＵ１３にコピーされ、各ＬＵ３３１に格納される。同様にして、ホスト計算機１３０から筐体１のＬＵ２０に書き込まれたデータは、順次、ＬＵ２１、ＬＵ２２及びＬＵ２３にコピーされて格納される。
【００７１】
リモートコピーには、同期リモートコピーと非同期リモートコピーの二つの方法がある。
【００７２】
例えば、筐体１がホスト計算機１３０からＬＵ１０へのデータ書き込み要求を受けた場合、筐体１は、ＬＵ１０にデータを格納した後、そのデータを筐体２のＬＵ１１にコピー（リモートコピー）する。具体的には、筐体１は、リンク１６０を介してそのデータを筐体２に転送する。筐体２は、筐体１から受けたデータをＬＵ１１に格納して、筐体１に応答を返す。
【００７３】
同期リモートコピーによれば、筐体１は、ＬＵ１０にデータを格納し、さらに、筐体２から応答を受けた後で、そのデータの書き込みが終了したことを示す応答をホスト計算機１３０に返す。
【００７４】
一方、非同期リモートコピーによれば、筐体１は、ＬＵ１０にデータを格納すると、そのデータを筐体１のキャッシュメモリ３０３に格納し、その格納が終了した時点でホスト計算機１３０に応答を返す。キャッシュメモリ３０３に格納されたデータは、その後、リンク１６０を介して筐体２に転送される。例えば、筐体１は、リンク１６０の通信量（トラフィック量）が少ない時間帯に、キャッシュメモリ３０３のデータを転送してもよい。
【００７５】
筐体１のキャッシュメモリ３０３に格納されたデータは、キャッシュメモリ３０３に格納された順に（すなわちＬＵ１０に格納された順に）筐体２に転送される。しかし、筐体１から送信された順で筐体２がデータを受信するとは限らない。筐体１と筐体２との間に複数のリンク１６０が設けられ、それらの複数のリンク１６０にデータ送信が分散されると、後から送信されたデータが先に送信されたデータより早く到達する場合があるためである。
【００７６】
例えば、ホスト計算機１３０からデータ「Ａ」、「Ｂ」及び「Ｃ」（図示省略）が、その順でＬＵ１０に書き込まれる。そして、それらのデータが筐体１から筐体２に転送される。筐体２が「Ａ」、「Ｃ」の順で受信してＬＵ１１に格納する。このとき、筐体２が「Ｂ」を受信する前に、筐体１又はリンク１６０に障害が発生すると、リモートコピーが停止して、ＬＵ１１にはデータ「Ａ」、「Ｃ」が格納され、データ「Ｂ」が格納されていないこととなる。
【００７７】
このように、本来後で格納されるデータが、先に格納されるべきデータより早く格納されると、ＬＵ１１においてデータの整合性（コンシステンシ）が失われる。コンシステンシが失われたデータは、利用することができない。このため、上位のＬＵ３３１に格納されるデータの順序は、その下位のＬＵ３３１においても維持される必要がある。
【００７８】
このため、筐体２は、筐体１から受信したデータを一旦キャッシュメモリ３０３に格納する。そして、筐体２は、データ「Ｂ」を受信してＬＵ１１に格納するまで、データ「Ｃ」をＬＵ１１に格納せず、キャッシュメモリ３０３に格納しておく。このように、リモートコピーによってこれから送信されるデータ又は受信したデータが一旦格納されるキャッシュメモリ３０３上の領域は、サイドファイルとも呼ばれる。以下、これから送信されるデータが格納される領域を正側キャッシュ、受信したデータが格納される領域を副側キャッシュと記載する。
【００７９】
これらの正側キャッシュ及び副側キャッシュは、それぞれ、これから送信されるデータ及び受信したデータのバッファとして使用される資源であり、上記のサイドファイルと呼ばれるものの他、いわゆるジャーナルであってもよい。
【００８０】
具体的には、例えば、筐体２がデータ「Ａ」を受信したとき、データ「Ａ」は、筐体２のキャッシュメモリ３０３に格納される。このとき、データ「Ａ」が格納された領域（ここでは、領域「ａ」とする。図示省略）は、「副側キャッシュ」と識別される。データ「Ａ」は、例えば、ＬＵ１１に格納される。この格納が終了しても、データ「Ａ」がリモートコピーによって筐体３に転送され、筐体３のキャッシュメモリ３０３に格納されるまで、データ「Ａ」は領域「ａ」から削除されない。データ「Ａ」がリモートコピーによって筐体３に転送されるとき、領域「ａ」は、「正側キャッシュ」と識別される。
【００８１】
なお、複数のＬＵ３３１においてコンシステンシが求められる場合もある。例えば、一つのデータベースに関するデータが複数のＬＵ３３１に格納される場合、それらの複数のＬＵ３３１のコンシステンシが求められる。このように、コンシステンシが求められるＬＵ３３１からなるコピーペア６０１は、コンシステンシグループ（ＣＧ）６０２を形成する。図１において、Ｐａｉｒ１１とＰａｉｒ２１が一つのＣＧ６０２を形成する（図１の破線で囲まれた部分）。
【００８２】
ＣＧ６０２は、ＣＧ識別子（ＣＧＩＤ）によって識別される。Ｐａｉｒ１１とＰａｉｒ２１によって形成されるＣＧ６０２のＣＧＩＤは、「ＣＧ１」である。以下、ＣＧＩＤが「ＣＧ１」であるＣＧ６０２を、単にＣＧ１と記載する。他のＣＧ６０２についても同様である。
【００８３】
同様に、Ｐａｉｒ１２とＰａｉｒ２２がＣＧ２を形成し、Ｐａｉｒ１３とＰａｉｒ２３がＣＧ３を形成する。
【００８４】
各キャッシュメモリ３０３は、各ＣＧ６０２に対応する正側キャッシュ又は副側キャッシュを含む。具体的には、筐体１のキャッシュメモリ３０３は、ＣＧ１の正側キャッシュを含む。筐体２のキャッシュメモリ３０３は、ＣＧ１の副側キャッシュ及びＣＧ２の正側キャッシュを含む。筐体３のキャッシュメモリ３０３は、ＣＧ２の副側キャッシュ及びＣＧ２の正側キャッシュを含む。筐体４のキャッシュメモリ３０３は、ＣＧ３の副側キャッシュを含む。
【００８５】
一般に、同期リモートコピーが実行されるコピーペアと非同期リモートコピーが実行されるコピーペアとが一つの計算機システムに混在する場合がある。しかし、一つのＣＧ６０２内には、異なる種類のリモートコピーが混在してはならない。例えば、図１のＣＧ２に属するＰａｉｒ１２及びＰａｉｒ２２において同期リモートコピーが実行され、ＣＧ３に属するＰａｉｒ１３及びＰａｉｒ２３において非同期リモートコピーが実行されてもよい。しかし、Ｐａｉｒ１２において同期リモートコピーが実行され、Ｐａｉｒ２２において非同期リモートコピーが実行されてはならない。
【００８６】
本実施の形態では、全てのコピーペア６０１において非同期リモートコピーが実行される場合について説明する。しかし、本発明は、同期リモートコピーが実行されるコピーペア６０１と非同期リモートコピーが実行されるコピーペア６０１とが混在する計算機システムにも適用することができる。
【００８７】
次に、本実施の形態の概要について、図１を参照して説明する。
【００８８】
例えば、筐体３と筐体４との間のリンク１６０の通信が混雑した場合、筐体３から筐体４へのリモートコピーにおけるデータ転送速度が低下する。筐体２から筐体３へのデータ転送速度が筐体３から筐体４へのデータ転送速度を上回る場合、筐体３のキャッシュメモリ３０３に占める送信側キャッシュのデータ量が増加する。キャッシュメモリ３０３の容量は有限であるため、やがてキャッシュメモリ３０３からデータが溢れる。その結果、筐体３は筐体２から転送されるデータを受け付けることができなくなり、筐体２及び筐体３の間のリモートコピーが停止（サスペンド）する。
【００８９】
本実施の形態の管理計算機１４０は、このようなリモートコピーの停止を防ぐため、各筐体のキャッシュメモリの使用状況を観測する。そして、いずれかのキャッシュメモリのデータ量が所定の閾値を超えた場合、いずれかの筐体のリモートコピーによるデータＩ／Ｏ又はホスト計算機１３０からのデータＩ／Ｏを制限することによって、キャッシュメモリのデータ溢れを防止する。
【００９０】
このとき、管理計算機１４０は、発生した障害の状況を観測し、データＩ／Ｏの制限によってデータ溢れを防止することができるか否かを判定する。例えば、筐体３と筐体４の間の全てのリンク１６０に障害が発生した場合、データＩ／Ｏを制限しても筐体３のキャッシュメモリ３０３のデータ溢れを防止することができない。
【００９１】
また、管理計算機１４０は、各筐体のキャッシュメモリ３０３の使用状況を観測し、余裕のあるキャッシュメモリ３０３を探す。例えば、筐体３のキャッシュメモリ３０３にデータ溢れが発生しそうであり、筐体２のキャッシュメモリ３０３の容量にも余裕がなく、筐体１のキャッシュメモリ３０３には余裕がある場合、管理計算機１４０は、筐体１と筐体２との間、及び、筐体２と筐体３との間のＩ／Ｏを制限することによって、筐体３のキャッシュメモリ３０３のデータ溢れを防止する。
【００９２】
筐体２が筐体１から受けるＩ／Ｏが制限されたとしても、筐体３が筐体２から受けるＩ／Ｏを制限しない限り、筐体２のキャッシュメモリ３０３に既に格納されているデータが筐体３に流れ込むことによって、筐体３のキャッシュメモリ３０３にデータ溢れが発生することがある。このため、筐体１と筐体２との間だけでなく、筐体２と筐体３との間においてもＩ／Ｏ制限を実行する必要がある。
【００９３】
以下、本実施の形態について詳細に説明する。なお、以下の説明は、特に記載がない限り、図１から図５に示す計算機システムに関する。
【００９４】
最初に、本実施の形態の管理計算機１４０に格納されるプログラム及び情報について説明する。
【００９５】
図６は、本発明の第１の実施の形態の管理計算機１４０に格納される監視設定情報の説明図である。
【００９６】
図６（Ａ）は、監視設定情報２２１を設定するために管理計算機１４０に表示される監視設定画面の説明図である。
【００９７】
図６（Ａ）の監視設定画面８００は、監視情報設定プログラム２１１によって管理計算機１４０の表示装置２０３に表示される。監視設定画面８００は、システム管理者が監視設定情報２２１を設定するためのＧＵＩを提供する。
【００９８】
監視設定画面８００は、コメント表示部８１０、監視インターバル入力部８２０、監視対象入力部８３０、決定ボタン８４０及び取り消しボタン８５０からなる。
【００９９】
コメント表示部８１０は、システム管理者に、監視対象記憶サブシステム及び監視インターバルを設定するよう促すコメントを表示する部分である。
【０１００】
監視インターバル入力部８２０は、システム管理者が監視インターバルを設定する部分である。システム管理者が監視インターバル入力部８２０に入力した値が、監視インターバルとして設定される。監視インターバルとは、キャッシュメモリ３０３の使用状況を監視する間隔である。図６（Ａ）の例において、システム管理者は、監視インターバルを「３分」と設定している。
【０１０１】
監視対象入力部８３０は、管理計算機１４０が監視する対象の記憶サブシステムをシステム管理者が設定する部分である。ここで監視対象として設定された記憶サブシステムのキャッシュメモリの使用状況が監視インターバルごとに監視される。
【０１０２】
監視対象入力部８３０は、監視対象ＩＰアドレス入力部８３１、記憶サブシステムＩＤ入力部８３２及び追加・削除ボタン８３３からなる。
【０１０３】
監視対象ＩＰアドレス入力部８３１は、システム管理者が、監視対象として設定しようとする記憶サブシステムの管理ネットワーク１７０におけるＩＰアドレスを設定する部分である。図６（Ａ）の例では、筐体１、筐体２、筐体３及び筐体４に対して、それぞれ、「１９２．１６８．０．３」、「１９２．１６８．０．４」、「１９２．１６８．０．５」及び「１９２．１６８．０．６」が設定される。
【０１０４】
記憶サブシステムＩＤ入力部８３２は、システム管理者が、監視対象として設定しようとする記憶サブシステムの記憶サブシステムＩＤを設定する部分である。図６（Ａ）の例では、筐体１、筐体２、筐体３及び筐体４が設定される。
【０１０５】
追加・削除ボタン８３３は、監視対象の記憶サブシステムを追加又は削除するときにシステム管理者が使用する部分である。
【０１０６】
システム管理者が監視対象の記憶サブシステムを新たに追加しようとする場合、追加ボタンを操作すると（例えば、画面上で「追加」表示にカーソルを合わせてマウスクリックすると）、監視対象入力部８３０に新たな空の行が出現する。システム管理者は、その空の行に、新たな監視対象として追加される記憶サブシステムのＩＰアドレス及び記憶サブシステムＩＤを入力する。
【０１０７】
システム管理者が監視対象の記憶サブシステムを削除しようとする場合、削除しようとする記憶サブシステムが表示された行の削除ボタンを操作すると（例えば、画面上で「削除」表示にカーソルを合わせてマウスクリックすると）、その行が削除され、その行に表示されていた記憶サブシステムは監視対象でなくなる。
【０１０８】
システム管理者が決定ボタン８４０を操作すると、そのとき監視設定画面８００上に表示されている内容が監視設定情報２２１に登録される。
【０１０９】
システム管理者が取り消しボタン８５０を操作すると、そのとき監視設定画面８００上に表示されている内容が取り消される。その結果、システム管理者は、設定をやり直すことができる。
【０１１０】
図６（Ｂ）は、図６（Ａ）の監視設定画面によって設定される監視設定情報２２１の説明図である。
【０１１１】
監視設定情報２２１は、図２に示すように、管理計算機１４０のメモリ２０４に格納される。以下の説明において、図６（Ａ）で既に説明された内容は、省略する。
【０１１２】
監視設定情報２２１は、監視インターバル９１０及び監視対象テーブル９２０からなる。
【０１１３】
監視インターバル９１０は、図６（Ａ）の監視インターバル入力部８２０に設定された値である。
【０１１４】
監視対象テーブル９２０には、管理計算機による監視対象の記憶サブシステムに関する情報が格納される。
【０１１５】
監視対象ＩＰアドレス９２１及び記憶サブシステムＩＤ９２２は、それぞれ、監視対象ＩＰアドレス入力部８３１及び記憶サブシステムＩＤ入力部８３２に設定された値である。
【０１１６】
Ｉ／Ｏ制限可否９２３は、各記憶サブシステムがＩ／Ｏ制限を実行することができるか否かを示す。
【０１１７】
本実施の形態において、Ｉ／Ｏ制限とは、記憶サブシステムの入出力（Ｉ／Ｏ）を制限することである。具体的には、図２１において詳細に説明するように、記憶サブシステムがデータの書き込み応答を意図的に遅らせる処理である。Ｉ／Ｏ制限は、記憶サブシステムのＩ／Ｏ制限処理プログラム３１２によって実行される。したがって、Ｉ／Ｏ制限を実行することができるか否かは、記憶サブシステムがＩ／Ｏ制限処理プログラム３１２を備えるか否かによって決まる。
【０１１８】
図１から図５に示す計算機システムにおいては、Ｉ／Ｏ制限処理プログラム３１２を備える直結記憶サブシステム１００（筐体１）及びリモート記憶サブシステム１１０（筐体２及び筐体３）は、Ｉ／Ｏ制限を実行することができる。このため、筐体１、筐体２及び筐体３に対応するＩ／Ｏ制限可否９２３の値は「可」となる。
【０１１９】
一方、Ｉ／Ｏ制限処理プログラム３１２を備えないリモート記憶サブシステム１２０（筐体４）は、Ｉ／Ｏ制限を実行することができない。このため、筐体４に対応するＩ／Ｏ制限可否９２３の値は「否」となる。
【０１２０】
なお、Ｉ／Ｏ制限可否９２３の値は、構成情報収集プログラム２１２によって、各記憶サブシステムから取得され、設定される（図７参照）。
【０１２１】
ここで、監視設定情報２２１を設定する手順を説明する。この手順は、監視情報設定プログラム２１１によって実行される。
【０１２２】
監視情報設定プログラム２１１は、図２に示すように、管理計算機１４０のメモリ２０４に格納され、ＣＰＵ２０２によって実行される。監視情報設定プログラム２１１は、システム管理者から入力を受け付けて、監視設定情報２２１を設定するプログラムである。
【０１２３】
監視情報設定プログラム２１１は、実行が開始されると、表示装置２０３に監視設定画面８００を表示する。
【０１２４】
次に、監視情報設定プログラム２１１は、入力装置２０１からシステム管理者による入力を受け付ける。
【０１２５】
次に、監視情報設定プログラム２１１は、システム管理者から入力された情報を監視設定情報２２１に登録する。
【０１２６】
以上で、監視情報設定プログラム２１１の実行が終了する。
【０１２７】
図７は、本発明の第１の実施の形態の管理計算機１４０の構成情報収集プログラム２１２のフローチャートである。
【０１２８】
構成情報収集プログラム２１２は、図２に示すように、管理計算機１４０のメモリ２０４に格納され、ＣＰＵ２０２によって実行される。構成情報収集プログラム２１２は、監視対象の記憶サブシステムから情報を取得して、監視設定情報２２１のＩ／Ｏ制限可否９２３及びコピーペア管理情報２２２を設定するプログラムである。
【０１２９】
監視情報設定プログラム２１１は、実行が開始されると、監視設定情報２２１に設定された監視対象の記憶サブシステムから、コピーペアの構成情報及びＩ／Ｏ制限可否の情報を取得する（１００１）。コピーペアの構成情報は、各記憶サブシステムのコピーペア構成情報３２２に格納されている（後述）。また、Ｉ／Ｏ制限処理プログラム３１２を備える直結記憶サブシステム１００及びリモート記憶サブシステム１１０は、Ｉ／Ｏ制限可であり、Ｉ／Ｏ制限処理プログラム３１２を備えないリモート記憶サブシステム１２０は、Ｉ／Ｏ制限不可（否）である。
【０１３０】
次に、監視情報設定プログラム２１１は、ステップ１００１で取得したコピーペアの構成情報を、コピーペア管理情報２２２に設定する（１００２）。このようにして設定されたコピーペア管理情報２２２については、図８で詳細に説明する。
【０１３１】
次に、監視情報設定プログラム２１１は、ステップ１００１で取得したＩ／Ｏ制限可否の情報を、監視設定情報２２１のＩ／Ｏ制限可否９２３に設定する（１００３）。このようにして設定されたＩ／Ｏ制限可否９２３は、図６（Ｂ）に示す通りである。
【０１３２】
以上で、構成情報収集プログラム２１２の実行が終了する。
【０１３３】
なお、本実施の形態では、構成情報収集プログラム２１２は、必要な情報を各記憶サブシステムから取得するが、これらの情報は、システム管理者が入力装置２０１を使用して入力してもよい。
【０１３４】
図８は、本発明の第１の実施の形態の管理計算機１４０に格納されるコピーペア管理情報２２２の説明図である。
【０１３５】
コピーペア管理情報２２２は、構成情報収集プログラム２１２によって設定され、管理計算機１４０のメモリ２０４に格納される（図２及び図７参照）。図８は、図１のようなコピーペアが形成されている場合のコピーペア管理情報２２２を示す。
【０１３６】
コピーペア管理情報２２２は、一つの行が一つのコピーペア６０１に対応するテーブルである。
【０１３７】
コピーペア管理情報２２２において、ＣＧＩＤ１１０１は、各コピーペア６０１が属するコンシステンシグループ（ＣＧ）６０２の識別子である。本実施の形態では、図１に示すように三つのＣＧ６０２が形成されているため、ＣＧＩＤ１１０１は、「ＣＧ１」、「ＣＧ２」及び「ＣＧ３」となる。
【０１３８】
ペアＩＤ１１０２は、各コピーペア６０１の識別子である。本実施の形態では、図１に示すように六つのコピーペア６０１が形成されている。ＣＧ１に属する二つのコピーペア６０１のペアＩＤ１１０２は、「Ｐａｉｒ１１」及び「Ｐａｉｒ２１」である。ＣＧ２に属する二つのコピーペア６０１のペアＩＤ１１０２は、「Ｐａｉｒ１２」及び「Ｐａｉｒ２２」である。ＣＧ３に属する二つのコピーペア６０１のペアＩＤ１１０２は、「Ｐａｉｒ１３」及び「Ｐａｉｒ２３」である。
【０１３９】
正ＬＵＩＤ１１０３は、各コピーペア６０１の正側のＬＵ３３１の識別子である。本実施の形態では、図１に示すように八つのＬＵ３３１がコピーペア６０１を形成している。これらのうち、六つのＬＵ３３１が正側である。Ｐａｉｒ１１、Ｐａｉｒ２１、Ｐａｉｒ１２、Ｐａｉｒ２２、Ｐａｉｒ１３及びＰａｉｒ２３に対応する正ＬＵＩＤ１１０３は、それぞれ、「ＬＵ１０」、「ＬＵ２０」、「ＬＵ１１」、「ＬＵ２１」、「ＬＵ１２」及び「ＬＵ２２」である。
【０１４０】
正記憶サブシステムＩＤ１１０４は、各コピーペア６０１の正側のＬＵ３３１を格納する記憶サブシステムの識別子である。本実施の形態では、図１に示すように四つの記憶サブシステムがＬＵ３３１を格納している。これらのうち、三つの記憶サブシステムが、正側のＬＵ３３１を格納する。ＬＵ１０及びＬＵ２０を格納する記憶サブシステムの正記憶サブシステムＩＤ１１０４は、「筐体１」である。ＬＵ１１及びＬＵ２１を格納する記憶サブシステムの正記憶サブシステムＩＤ１１０４は、「筐体２」である。ＬＵ１２及びＬＵ２２を格納する記憶サブシステムの正記憶サブシステムＩＤ１１０４は、「筐体３」である。
【０１４１】
副ＬＵＩＤ１１０５は、各コピーペア６０１の副側のＬＵ３３１の識別子である。本実施の形態では、六つのＬＵ３３１が副側である。Ｐａｉｒ１１、Ｐａｉｒ２１、Ｐａｉｒ１２、Ｐａｉｒ２２、Ｐａｉｒ１３及びＰａｉｒ２３に対応する副ＬＵＩＤ１１０５は、それぞれ、「ＬＵ１１」、「ＬＵ２１」、「ＬＵ１２」、「ＬＵ２２」、「ＬＵ１３」及び「ＬＵ２３」である。
【０１４２】
副記憶サブシステムＩＤ１１０６は、各コピーペア６０１の副側のＬＵ３３１を格納する記憶サブシステムの識別子である。本実施の形態では、三つの記憶サブシステムが、副側のＬＵ３３１を格納する。ＬＵ１１及びＬＵ２１を格納する記憶サブシステムの副記憶サブシステムＩＤ１１０６は、「筐体２」である。ＬＵ１２及びＬＵ２２を格納する記憶サブシステムの副記憶サブシステムＩＤ１１０６は、「筐体３」である。ＬＵ１３及びＬＵ２３を格納する記憶サブシステムの副記憶サブシステムＩＤ１１０６は、「筐体４」である。
【０１４３】
図９は、本発明の第１の実施の形態の管理計算機１４０の閾値設定プログラム２１３のフローチャートである。
【０１４４】
閾値設定プログラム２１３は、図２に示すように、管理計算機１４０のメモリ２０４に格納され、ＣＰＵ２０２によって実行される。閾値設定プログラム２１３は、監視対象の記憶サブシステムのキャッシュメモリの使用量の閾値を設定するプログラムである。具体的には、閾値設定プログラム２１３は、システム管理者からの入力を受け付けて、全体キャッシュ使用量閾値情報２２３及び個別キャッシュ使用量閾値情報２２４を設定する。これらの閾値情報については、後で詳細に説明する（図１１参照）。
【０１４５】
閾値設定プログラム２１３は、実行が開始されると、表示装置２０３に閾値設定画面を表示する（１２０１）。
【０１４６】
次に、閾値設定プログラム２１３は、入力装置２０１からシステム管理者による入力を受け付ける（１２０２）。
【０１４７】
なお、ステップ１２０１において表示される閾値設定画面及びステップ１２０２において入力される値の例については、図１０において説明する。
【０１４８】
次に、閾値設定プログラム２１３は、ステップ１２０２においてシステム管理者から入力された情報に基づいて、記憶サブシステムごとに、全体キャッシュ使用量閾値情報２２３を設定する（１２０３）。
【０１４９】
次に、閾値設定プログラム２１３は、ステップ１２０２においてシステム管理者から入力された情報に基づいて、ＣＧ６０２ごとに、個別キャッシュ使用量閾値情報２２４を設定する（１２０４）。
【０１５０】
以上で、監視情報設定プログラム２１１の実行が終了する。
【０１５１】
図１０は、本発明の第１の実施の形態の管理計算機１４０に表示される閾値設定画面の説明図である。
【０１５２】
図１０の監視設定画面１３００は、閾値設定プログラム２１３によって管理計算機１４０の表示装置２０３に表示される（図９のステップ１２０１）。監視設定画面１３００は、システム管理者が全体キャッシュ使用量閾値情報２２３及び個別キャッシュ使用量閾値情報２２４を設定するためのＧＵＩを提供する。
【０１５３】
監視設定画面１３００は、コメント表示部１３１０、全体キャッシュ使用量閾値入力部１３２０、個別キャッシュ使用量閾値入力部１３３０、決定ボタン１３４０及び取り消しボタン１３５０からなる。
【０１５４】
コメント表示部１３１０は、システム管理者に、監視対象記憶サブシステム及びＣＧ６０２のキャッシュメモリ３０３の使用量の閾値を設定するよう促すコメントを表示する部分である。
【０１５５】
全体キャッシュ使用量閾値入力部１３２０は、システム管理者が全体キャッシュ使用量閾値を設定する部分である。全体キャッシュ使用量閾値とは、記憶サブシステムごとに設定される値であり、Ｉ／Ｏ制限を実行するか否かを判定するために、情報収集プログラム２１５によって参照される（図１６及び２２参照）。
【０１５６】
全体キャッシュ使用量閾値入力部１３２０は、記憶サブシステム選択部１３２１及び閾値入力部１３２２からなる。
【０１５７】
システム管理者は、記憶サブシステム選択部１３２１を操作して、閾値１３２２を設定しようとする記憶サブシステムを選択する。具体的には、記憶サブシステム選択部１３２１の逆三角形を操作する（例えば、マウスクリックする）ことによって、監視対象の記憶サブシステムＩＤの一覧がプルダウンメニュー（図示省略）として表示される。システム管理者は、これらの記憶サブシステムＩＤから、閾値を設定しようとする記憶サブシステムを選択する。
【０１５８】
そして、システム管理者は、選択した記憶サブシステムについて、閾値１３２２を入力する。ここに入力された値は、選択された記憶サブシステムの全体キャッシュ使用量閾値として設定される。図１０の例では、筐体２のキャッシュメモリ３０３の全体キャッシュ使用量閾値が「７０％」と設定される。ここで設定された全体キャッシュ使用量閾値は、全体キャッシュ使用量閾値情報２２３に登録される（図１１（Ａ）参照）。
【０１５９】
個別キャッシュ使用量閾値入力部１３３０は、システム管理者が個別キャッシュ使用量閾値を設定する部分である。個別キャッシュ使用量閾値とは、各ＣＧ６０２の正側キャッシュ及び副側キャッシュに設定される値である。個別キャッシュ使用量閾値は、どのＣＧ６０２についてＩ／Ｏ制限を実行するかを判定するために、情報収集プログラム２１５によって参照される（図１６及び２２参照）。
【０１６０】
個別キャッシュ使用量閾値入力部１３３０は、ＣＧ選択部１３３１、正・副表示部１３３２及び閾値入力部１３３３からなる。
【０１６１】
システム管理者は、ＣＧ選択部１３３１を操作して、閾値１３２２を設定しようとするＣＧ６０２を選択する。具体的には、ＣＧ選択部１３３１の逆三角形を操作することによって、監視対象の記憶サブシステムに格納されたＬＵ３３１が属するＣＧ６０２のＣＧＩＤの一覧がプルダウンメニュー（図示省略）として表示される。
【０１６２】
ただし、図１０の例では、全体キャッシュ使用量閾値入力部１３２０と個別キャッシュ使用量閾値入力部１３３０とが連動しており、記憶サブシステム選択部１３２１において選択された記憶サブシステムに関係するＣＧ６０２（すなわち、選択された記憶サブシステムに格納されたＬＵ３３１が属するＣＧ６０２）のペアＩＤのみが、上記のプルダウンメニューに表示される。図１０の例では、筐体２が選択されているため、ＣＧ選択部１３３１のプルダウンメニューには、筐体２に関係するＣＧＩＤ「ＣＧ１」及び「ＣＧ２」が表示される（図示省略）。システム管理者は、これらのＣＧＩＤから、閾値を設定しようとするＣＧ６０２を選択する。
【０１６３】
正・副表示部１３３２には、閾値１３２２を設定しようとするキャッシュメモリ３０３が、ＣＧ選択部１３３１で選択されたＣＧ６０２の正側キャッシュ又は副側キャッシュのいずれであるかが表示される。
【０１６４】
そして、システム管理者は、選択したＣＧ６０２について、閾値１３３３を入力する。ここに入力された値は、選択されたＣＧ６０２の個別キャッシュ使用量閾値として設定される。図１０の例では、筐体２のキャッシュメモリ３０３に含まれるＣＧ２の正側キャッシュの個別キャッシュ使用量閾値が「３０％」と設定される。ここで設定された個別キャッシュ使用量閾値は、個別キャッシュ使用量閾値情報２２４に登録される（図１１（Ｂ）参照）。
【０１６５】
システム管理者が決定ボタン１３４０を操作すると、そのときまでに閾値設定画面１３００上で設定された内容が全体キャッシュ使用量閾値情報２２３及び個別キャッシュ使用量閾値情報２２４に登録される。
【０１６６】
システム管理者が取り消しボタン１３５０を操作すると、そのときまでに閾値設定画面１３００上で設定された内容が取り消される。その結果、システム管理者は、設定をやり直すことができる。
【０１６７】
図１１は、本発明の第１の実施の形態の管理計算機１４０に格納されるキャッシュ使用量閾値情報の説明図である。
【０１６８】
図１１（Ａ）は、全体キャッシュ使用量閾値情報２２３の説明図である。
【０１６９】
全体キャッシュ使用量閾値情報２２３は、閾値設定プログラム２１３によって設定され（図９及び１３参照）、管理計算機１４０のメモリ２０４に格納される（図２参照）。
【０１７０】
全体キャッシュ使用量閾値情報２２３は、記憶サブシステムＩＤ１４０１及び閾値１４０２からなる。
【０１７１】
記憶サブシステムＩＤ１４０１は、監視対象の記憶サブシステムの識別子である。本実施の形態では、図１に示すように、筐体１、筐体２、筐体３及び筐体４が監視対象である。
【０１７２】
閾値１４０２は、全体キャッシュ使用量閾値（すなわち、各記憶サブシステムごとに設定されたキャッシュメモリ３０３の使用量の閾値）である。具体的には、閾値１４０２は、各記憶サブシステムのキャッシュメモリ３０３の容量に対して、正側キャッシュ及び副側キャッシュとして使用されている領域のデータ量の合計値の割合の閾値である。図１１（Ａ）の例では、筐体１、筐体２、筐体３及び筐体４の閾値１４０２の値は、それぞれ、「４０％」、「７０％」、「７０％」及び「７０％」である。
【０１７３】
例えば、筐体４のキャッシュメモリ３０３の容量に対して、正側キャッシュとして使用されている領域のデータ量及び副側キャッシュとして使用されているデータ量の合計値が閾値１４０２の７０％を超えた場合、いずれかの記憶サブシステムにおいて、Ｉ／Ｏ制限が実行される。詳細には、図１６及び２２において説明する。
【０１７４】
図１１（Ｂ）は、個別キャッシュ使用量閾値情報２２４の説明図である。
【０１７５】
個別キャッシュ使用量閾値情報２２４は、閾値設定プログラム２１３によって設定され（図９及び１３参照）、管理計算機１４０のメモリ２０４に格納される（図２参照）。
【０１７６】
個別キャッシュ使用量閾値情報２２４は、ＣＧＩＤ１５０１、正・副１５０２及び閾値１５０３からなる。
【０１７７】
ＣＧＩＤ１５０１は、監視対象の記憶サブシステムに関係するＣＧ６０２の識別子である。本実施の形態では、図１に示す三つのＣＧ６０２のＣＧＩＤ１５０１として、ＣＧ１、ＣＧ２及びＣＧ３が設定される。
【０１７８】
正・副１５０２は、正側キャッシュと副側キャッシュの区別を示す。
【０１７９】
閾値１５０３は、個別キャッシュ使用量閾値（すなわち、各ＣＧ６０１ごとに設定されたキャッシュメモリ３０３の使用量の閾値）である。具体的には、閾値１５０３は、各記憶サブシステムのキャッシュメモリ３０３の容量に対して、各ＣＧ６０２の正側キャッシュ又は副側キャッシュとして使用されている領域のデータ量の割合の閾値である。図１１（Ｂ）の例では、全てのＣＧ６０２の閾値１５０３が、正側、副側共、「３０％」に設定されている。
【０１８０】
例えば、筐体３のキャッシュメモリ３０３には、ＣＧ２の副側キャッシュ及びＣＧ３の正側キャッシュの領域が存在し得る。図１１（Ｂ）の例では、ＣＧ２の副側キャッシュの閾値１５０３が３０％である。この場合、筐体３のキャッシュメモリ３０３の容量に対して、ＣＧ２の副側キャッシュのデータ量が３０％を超えた場合、ＣＧ２又はその上位のＣＧ６０２がＩ／Ｏ制限の対象となる。他のＣＧ６０２の正側キャッシュ及び副側キャッシュについても同様である。詳細には、図１６及び２２において説明する。
【０１８１】
図１２は、本発明の第１の実施の形態の管理計算機１４０に表示される障害定義情報設定画面の説明図である。
【０１８２】
図１２の障害定義情報設定画面１７００は、障害定義情報設定プログラム２１４によって管理計算機１４０の表示装置２０３に表示される。障害定義情報設定画面１７００は、システム管理者が障害定義情報２２５を設定するためのＧＵＩを提供する。
【０１８３】
障害定義情報２２５は、各ＣＧ６０２の正側キャッシュ及び副側キャッシュについて、Ｉ／Ｏ制限が有効であるか否か（すなわち、Ｉ／Ｏ制限をすることによってキャッシュメモリ３０３のデータ溢れを防ぎ、その結果、コピーペア６０１の停止を回避することができるか否か）を判定するための規則（ルール）が設定される。ここで、コピーペア６０１の停止とは、そのコピーペア６０１におけるリモートコピーの停止を意味する。
【０１８４】
障害定義情報設定画面１７００は、コメント表示部１７１０、設定対象入力部１７２０、ルール設定部１７３０、決定ボタン１７４０及び取り消しボタン１７５０からなる。
【０１８５】
コメント表示部１７１０は、システム管理者に、障害定義情報２２５（すなわち、Ｉ／Ｏ制限によってコピーペア６０１の停止を回避することができるか否かを判定するルール）を設定するよう促すコメントを表示する部分である。
【０１８６】
設定対象入力部１７２０は、システム管理者が、ルールを設定しようとする対象のＣＧ６０２の正側又は副側キャッシュを入力する部分である。
【０１８７】
設定対象入力部１７２０は、ＣＧ選択部１７２１及び正・副選択部１７２２からなる。
【０１８８】
システム管理者は、ＣＧ選択部１７２１を操作して、ルールを設定しようとするＣＧ６０２を選択する。具体的には、ＣＧ選択部１７２１の逆三角形を操作することによって、監視対象の記憶サブシステムに格納されたＬＵ３３１が属するＣＧ６０２のＣＧＩＤの一覧がプルダウンメニュー（図示省略）として表示される。システム管理者は、これらのＣＧＩＤから、ルールを設定しようとするＣＧ６０２を選択する。
【０１８９】
さらに、システム管理者は、正・副選択部１７２２に、ルールを設定しようとする対象が、ＣＧ選択部１７２１で選択されたＣＧ６０２の正側キャッシュであるか副側キャッシュであるかを入力する。正・副選択部１７２２には、ＣＧ選択部１７２１と同様に、正側又は副側のいずれかを選択するためのプルダウンメニューが表示されてもよい。
【０１９０】
ルール設定部１７３０は、システム管理者が、設定対象入力部１７２０において選択された設定対象に適用されるルールを設定する部分である。
【０１９１】
ルール設定部１７３０は、ルール入力部１７３１及び追加・削除ボタン１７３２からなる。
【０１９２】
ルール入力部１７３１は、システム管理者が定義されたルールを入力する部分である。図１２の例では、「ｒｕｌｅ１」及び「ｒｕｌｅ２」が入力されている。定義されたルールの例は、後で詳細に説明する（図１４参照）。
【０１９３】
追加・削除ボタン１７３２は、ルールを追加又は削除するときにシステム管理者が使用する部分である。
【０１９４】
システム管理者は、追加・削除ボタン１７３２のルール追加ボタンを操作することによって、ルール設定部１７３０に新たな行を表示させることができる。システム管理者は、新たな行のルール入力部１７３１に、任意のルールを入力することによって、当該任意のルールを追加することができる。また、システム管理者は、追加・削除ボタン１７３２のうち、表示されているルールに対応する削除ボタンを操作することによって、当該ルールを削除することができる。
【０１９５】
一つの設定対象に複数のルールが設定されている場合、例えば、それらのルールの論理積が、その設定対象に最終的に適用されるルールとなる。
【０１９６】
システム管理者が決定ボタン１７４０を操作すると、そのときまでに障害定義情報設定画面１７００上で設定された内容が障害定義情報２２５に登録される。
【０１９７】
システム管理者が取り消しボタン１７５０を操作すると、そのときまでに障害定義情報設定画面１７００上で設定された内容が取り消される。その結果、システム管理者は、設定をやり直すことができる。
【０１９８】
図１３は、本発明の第１の実施の形態の管理計算機１４０に格納される障害定義情報２２５の説明図である。
【０１９９】
障害定義情報２２５は、障害定義情報設定プログラム２１４によって設定され（１７参照）、管理計算機１４０のメモリ２０４に格納される（図２参照）。
【０２００】
障害定義情報２２５は、ＣＧＩＤ１８０１、正・副１８０２及びルール１８０３からなる。
【０２０１】
ＣＧＩＤ１８０１は、監視対象の記憶サブシステムに関係するＣＧ６０２の識別子である。本実施の形態では、図１に示す三つのＣＧ６０２のＣＧＩＤ１８０１が設定される。図１３には、ＣＧ１及びＣＧ２のみ示し、他は省略する。
【０２０２】
正・副１８０２は、正側キャッシュと副側キャッシュの区別を示す。
【０２０３】
ルール１８０３は、各ＣＧ６０２に対して適用されるルールである。図１３の例では、各ＣＧ６０２の正側にｒｕｌｅ１が適用され、副側にｒｕｌｅ２が適用される。
【０２０４】
ここで、障害定義情報２２５を設定する手順を説明する。この手順は、障害定義情報設定プログラム２１４によって実行される。
【０２０５】
障害定義情報設定プログラム２１４は、図２に示すように、管理計算機１４０のメモリ２０４に格納され、ＣＰＵ２０２によって実行される。障害定義情報設定プログラム２１４は、システム管理者からの入力を受け付けて、障害定義情報２２５を設定する。
【０２０６】
障害定義情報設定プログラム２１４は、実行が開始されると、表示装置２０３に障害定義情報設定画面１７００を表示する。
【０２０７】
次に、障害定義情報設定プログラム２１４は、入力装置２０１からシステム管理者による入力を受け付ける。
【０２０８】
次に、障害定義情報設定プログラム２１４は、システム管理者から入力された情報を、障害定義情報２２５に登録する。
【０２０９】
以上で、障害定義情報設定プログラム２１４の実行が終了する。
【０２１０】
図１４は、本発明の第１の実施の形態において適用されるルールの例の説明図である。
【０２１１】
図１４は、図１２及び図１３に示す「ｒｕｌｅ１」の例である。
【０２１２】
ルール１によれば、最初に、有効リンク数（すなわち、使用可能なリンク１６０の数）が「２」より大きいか否かが判定される（１９０１）。ここで、判定の対象となるリンク１６０は、判定の対象の正側キャッシュの下位のリンク１６０である。例えば、ｒｕｌｅ１がＣＧ１（図１）の正側キャッシュに適用される場合、筐体１と筐体２との間の使用可能なリンク１６０の数が判定される。このとき、リンク稼動状況テーブル３２４の稼動状況情報２９０４が参照されてもよい。
【０２１３】
ステップ１９０１において、有効リンク数が「２」より大きいと判定された場合、Ｉ／Ｏ制限を実行することによってキャッシュメモリ３０３のデータ溢れ及びコピーペア６０１の停止を回避することができる（すなわち、Ｉ／Ｏ制限が有効である）と判定される（１９０２）。
【０２１４】
一方、ステップ１９０１において、有効リンク数が「２」より大きくないと判定された場合、Ｉ／Ｏ制限を実行することによってキャッシュメモリ３０３のデータ溢れ及びコピーペア６０１の停止を回避することができない（すなわち、Ｉ／Ｏ制限が有効でない）と判定される（１９０３）。
【０２１５】
なお、ステップ１９０３の判定の閾値は、「２」以外の値であっても、計算機システムの規模や性能等に応じて、十分な転送性能を確保できる有効リンク数を設定することができる。有効リンク数が、十分な転送性能を確保できる値であれば、Ｉ／Ｏ制限が有効であると判定される。
【０２１６】
図１４は、ルールの一例である。システム管理者は、任意のルールを設定することができる。
【０２１７】
図１５は、本発明の第１の実施の形態の管理計算機１４０に格納されるＩ／Ｏ制限装置情報２２６の説明図である。
【０２１８】
Ｉ／Ｏ制限装置情報２２６は、管理計算機１４０のメモリ２０４に格納される（図２参照）。Ｉ／Ｏ制限装置情報２２６は、Ｉ／Ｏ制限命令を受けた記憶サブシステムに関する情報が格納される。図１６において説明するように、Ｉ／Ｏ制限装置情報２２６に格納される情報は、情報収集プログラム２１５によって新たに登録され、又は、削除される。
【０２１９】
Ｉ／Ｏ制限装置情報２２６は、ＣＧＩＤ２００１、正・副２００２及びＩ／Ｏ制限装置２００３からなる。これらのうち、ＣＧＩＤ２００１及び正・副２００２は、個別キャッシュ使用量が所定の閾値を超えたＣＧ６０２に関する情報であり、Ｉ／Ｏ制限装置２００３は、そのＣＧ６０２に入力されるデータ量を制限するためにＩ／Ｏ制限が実行される記憶サブシステムに関する情報である。
【０２２０】
例えば、図１において、筐体１のキャッシュメモリ３０３の使用量が所定の閾値を超え、さらに、ＣＧ１の正側キャッシュの使用量が所定の閾値を超える場合であって、かつ、管理計算機１４０が筐体１にＩ／Ｏ制限命令を発行する場合、Ｉ／Ｏ制限装置情報２２６のＣＧＩＤ２００１は「ＣＧ１」、正・副２００２は「正」、Ｉ／Ｏ制限装置２００３は「１９２．１６８．０．３」となる。
【０２２１】
なお、Ｉ／Ｏ制限装置２００３は、管理計算機１４０がＩ／Ｏ制限命令の発行対象の記憶サブシステムにアクセスするためのＩＰアドレス（図６（Ｂ）の監視対象ＩＰ９２１）である。Ｉ／Ｏ制限命令を受けた記憶サブシステムは、Ｉ／Ｏ制限を実行する。
【０２２２】
また、図１において、筐体３のキャッシュメモリ３０３の使用量が所定の閾値を超え、さらに、ＣＧ３の正側キャッシュの使用量が所定の閾値を超える場合であって、かつ、管理計算機１４０が筐体１にＩ／Ｏ制限命令を発行する場合、Ｉ／Ｏ制限装置情報２２６のＣＧＩＤ２００１は「ＣＧ３」、正・副２００２は「正」、Ｉ／Ｏ制限装置２００３は「１９２．１６８．０．３」となる。
【０２２３】
管理計算機１４０がＩ／Ｏ制限命令を発行するか否かの判定、及び、管理計算機１４０がＩ／Ｏ制限命令を発行する対象の選択については、図１６及び図１７において詳細に説明する。
【０２２４】
図１６は、本発明の第１の実施の形態の管理計算機１４０の情報収集プログラム２１５のフローチャートである。
【０２２５】
情報収集プログラム２１５は、図２に示すように、管理計算機１４０のメモリ２０４に格納され、ＣＰＵ２０２によって実行される。情報収集プログラム２１５は、所定の間隔（監視インターバル）で、記憶サブシステムのキャッシュメモリ３０３の使用状況を監視し、キャッシュメモリ３０３の使用量が所定の閾値を超えている場合は、記憶サブシステムにＩ／Ｏ制限を命令する。このとき、情報収集プログラム２１５は、Ｉ／Ｏ制限を命令する対象の記憶サブシステムを選択する。
【０２２６】
情報収集プログラム２１５は、実行が開始されると、監視インターバル９１０だけ待つ（２１０１）。例えば、監視インターバル９１０が３分（図６（Ｂ）参照）と設定されている場合、３分待つ。
【０２２７】
次に、情報収集プログラム２１５は、監視設定情報２２１に監視対象として登録された記憶サブシステム（以下、登録監視対象サブシステムと記載する）から、情報を収集する（２１０２）。このとき、情報収集プログラム２１５は、情報を要求するコマンド（図示省略）を各登録監視対象サブシステムに発行する。ここで収集する情報は、具体的には、各登録監視対象サブシステムのキャッシュ管理テーブル３２３及びリンク稼動状況テーブル３２４の内容である。これらのテーブル及びこのコマンドを受信した記憶サブシステムの動作については、後で詳細に説明する（図２２及び図２３参照）。
【０２２８】
次に、情報収集プログラム２１５は、最初の登録監視対象サブシステムを、検査対象とする（２１０３）。以下、検査対象とされた登録監視対象サブシステムを、検査対象サブシステムと記載する。例えば、監視設定情報２２１が図６（Ｂ）に示す通りである場合、筐体１が最初に検査対象サブシステムとなる。
【０２２９】
次に、情報収集プログラム２１５は、全体キャッシュ使用量が全体キャッシュ使用量閾値を超えるか否かを判定する（２１０４）。全体キャッシュ使用量は、キャッシュ管理テーブル３２３の内容から算出される。算出方法は、後で説明する（図２３参照）。全体キャッシュ使用量閾値は、全体キャッシュ使用量閾値情報２２３の閾値１４０２である。例えば、検査対象サブシステムが筐体１である場合、全体キャッシュ使用量閾値は４０％となる。このため、全体キャッシュ使用量が４０％を超える場合、全体キャッシュ使用量が全体キャッシュ使用量閾値を超えると判定される。
【０２３０】
ステップ２１０４において、全体キャッシュ使用量が全体キャッシュ使用量閾値を超えないと判定された場合、当該検査対象サブシステムに関してはＩ／Ｏ制限をする必要がない。さらに、当該検査対象サブシステムのキャッシュメモリ３０３のデータ溢れを防止するためにいずれかの記憶サブシステムで既にＩ／Ｏ制限が実行されている場合、そのＩ／Ｏ制限を解除することができる。
【０２３１】
このため、情報収集プログラム２１５は、Ｉ／Ｏ制限を実行している格納ペアボリュームがあるか否かを判定する（２１０５）。
【０２３２】
ここで、ペアボリュームとは、ＣＧＩＤ、ペアＩＤ及び正側か副側かによって識別されるＬＵ３３１である。例えば、図１のＬＵ１１は、ＣＧ１のＰａｉｒ１１の副側のペアボリュームに対応し、かつ、ＣＧ２のＰａｉｒ１２の正側のペアボリュームに対応する。
【０２３３】
格納ペアボリュームとは、検査対象サブシステムに格納されているペアボリュームである。
【０２３４】
ステップ２１０５の判定は、Ｉ／Ｏ制限装置情報２２６を参照して行われる。例えば、Ｉ／Ｏ制限装置情報２２６が図１５に示す通りであり、検査対象サブシステムが筐体３であるとする。この場合、Ｉ／Ｏ制限装置情報２２６を参照すると、ＣＧ３の正側のペアボリュームについて、Ｉ／Ｏ制限が実行されていると判定される。また、ＣＧ３の正側のペアボリュームは筐体３に格納されている。このため、ステップ２１０５において、Ｉ／Ｏ制限を実行している格納ペアボリュームがあると判定される。
【０２３５】
ステップ２１０５において、Ｉ／Ｏ制限を実行している格納ペアボリュームがあると判定された場合、その格納ペアボリュームについては、Ｉ／Ｏ制限を解除することができる。このため、情報収集プログラム２１５は、Ｉ／Ｏ制限が実行されている格納ペアボリュームに対応するＩ／Ｏ制限装置２００３に、Ｉ／Ｏ制御を解除するＩ／Ｏ制限命令を発行する（２１０６）。例えば、Ｉ／Ｏ制限が実行されている格納ペアボリュームがＣＧ３の正側のペアボリュームである場合、ＩＰアドレス「１９２．１６８．０．３」（図１５のＩ／Ｏ制限装置２００３参照）にＩ／Ｏ制御を解除するＩ／Ｏ制限命令が発行される。
【０２３６】
次に、情報収集プログラム２１５は、ステップ２１０６においてＩ／Ｏ制限を解除された格納ペアボリュームを、Ｉ／Ｏ制限装置情報２２６から削除する（２１０７）。例えば、ＣＧ３の正側のペアボリューム及びそれに対応するＩＰアドレス「１９２．１６８．０．３」が削除される。
【０２３７】
一方、ステップ２１０５において、Ｉ／Ｏ制限を実行している格納ペアボリュームがないと判定された場合、Ｉ／Ｏ制限を解除することができる格納ペアボリュームがない。このため、Ｉ／Ｏ制限を解除せずに、ステップ２１０８に進む。
【０２３８】
次に、全ての登録監視対象サブシステムについて、検査が終了したか否かを判定する（２１０８）。ここで、検査とは、ステップ２１０４の処理である。
【０２３９】
ステップ２１０８において、全ての登録監視対象サブシステムについて検査が終了していないと判定された場合、次の登録監視対象サブシステムを検査対象サブシステムとして（２１０９）、ステップ２１０４に戻る。
【０２４０】
一方、ステップ２１０８において、全ての登録監視対象サブシステムについて検査が終了したと判定された場合、ステップ２１０１に戻る。
【０２４１】
ステップ２１０４において、全体キャッシュ使用量が全体キャッシュ使用量閾値を超えると判定された場合、検査対象サブシステムのキャッシュメモリ３０３がデータ溢れを起こすおそれがある。しかし、Ｉ／Ｏ制限を実行することによって、データ溢れを防止できる場合がある。このため、情報収集プログラム２１５は、最初の格納ペアボリュームを、検査対象とする（２１１０）。以下、検査対象とされた格納ペアボリュームを、検査対象ペアボリュームと記載する。例えば、コピーペア管理情報２２２が図８に示す通りである場合、ＣＧ１のＰａｉｒ１１の正側のＬＵ３３１であるＬＵ１０が、最初に検査対象ペアボリュームとされる。
【０２４２】
次に、情報収集プログラム２１５は、検査対象ペアボリュームについて、個別キャッシュ使用量が個別キャッシュ使用量閾値を超えるか否かを判定する（２１１１）。個別キャッシュ使用量は、キャッシュ管理テーブル３２３の内容から算出される。算出方法は、後で説明する（図２３参照）。個別キャッシュ使用量閾値は、個別キャッシュ使用量閾値情報２２４の閾値１５０３である。例えば、検査対象ペアボリュームがＣＧ１の正側である場合、個別キャッシュ使用量閾値は３０％となる。このため、個別キャッシュ使用量が３０％を超える場合、個別キャッシュ使用量が個別キャッシュ使用量閾値を超えると判定される。
【０２４３】
ステップ２１１１において、個別キャッシュ使用量が個別キャッシュ使用量閾値を超えないと判定された場合、当該検査対象ペアボリュームについては、Ｉ／Ｏ制限を実行しない。このため、情報収集プログラム２１５は、全ての格納ペアボリュームについて検査が終了したか否かを判定する（２１１２）。ここで、検査とは、ステップ２１１１の処理である。
【０２４４】
ステップ２１１２において、全ての格納ペアボリュームについて検査が終了したと判定された場合、当該検査対象ペアボリュームを格納する検査対象サブシステムについて、検査が終了した。このため、次の登録監視対象サブシステムについて検査するために、ステップ２１０８に進む。
【０２４５】
一方、ステップ２１１２において、全ての格納ペアボリュームについて検査が終了していないと判定された場合、当該検査対象ペアボリュームを格納する検査対象サブシステムに、まだ検査されていない格納ペアボリュームがある。このため、次の格納ペアボリュームを検査対象ペアボリュームとして（２１１３）、ステップ２１１１に戻る。
【０２４６】
ステップ２１１１において、個別キャッシュ使用量が個別キャッシュ使用量閾値を超えると判定された場合、当該検査対象ペアボリュームについてＩ／Ｏ制限を実行することによって、キャッシュメモリ３０３のデータ溢れを防止できる場合がある。
【０２４７】
このため、次に、情報収集プログラム２１５は、Ｉ／Ｏ制限が有効であるか否かを判定する（２１１４）。具体的には、情報収集プログラム２１５は、Ｉ／Ｏ制限実行判定プログラム２１６を呼び出し、Ｉ／Ｏ制限が有効であるか否かを判定させる。
【０２４８】
Ｉ／Ｏ制限実行判定プログラム２１６は、障害定義情報２２５を参照して、検査対象ペアボリュームに対応するルール１８０３を取得する。例えば、検査対象ペアボリュームがＣＧ１の正側である場合、ルール１８０３は、ｒｕｌｅ１である。そこで、Ｉ／Ｏ制限実行判定プログラム２１６は、ｒｕｌｅ１（図１４参照）に従って、Ｉ／Ｏ制限が有効であるか否かを判定する。
【０２４９】
ステップ２１１４において、Ｉ／Ｏ制限が有効でないと判定された場合、当該検査対象ペアボリュームについてＩ／Ｏ制限を実行しても、キャッシュメモリ３０３のデータ溢れを防止することができない。このため、次の格納ペアボリュームについて検査するために、ステップ２１１２に進む。
【０２５０】
一方、ステップ２１１４において、Ｉ／Ｏ制限が有効であると判定された場合、当該検査対象ペアボリュームについてＩ／Ｏ制限を実行することによって、キャッシュメモリ３０３のデータ溢れを防止することができる。このため、情報収集プログラム２１５は、次に、Ｉ／Ｏ制限装置選択処理を実行する（２１１５）。Ｉ／Ｏ制限装置選択処理は、Ｉ／Ｏ制限を実行する記憶サブシステムを選択する処理である。この処理については、図１７で詳細に説明する。
【０２５１】
次に、情報収集プログラム２１５は、ステップ２１１５で選択された記憶サブシステム（以下、Ｉ／Ｏ制限装置と記載する）に、Ｉ／Ｏ制限を実行するＩ／Ｏ制限命令を発行する（２１１６）。Ｉ／Ｏ制限装置のＩ／Ｏ制限命令受付プログラム３１１がこの命令を受け付け、Ｉ／Ｏ制限処理プログラム３１２がＩ／Ｏ制限を実行する。これらのプログラムの処理については、図１９及び２１において詳細に説明する。また、ステップ２１１６で発行されるＩ／Ｏ制限命令の形式については、図１８において詳細に説明する。
【０２５２】
次に、情報収集プログラム２１５は、Ｉ／Ｏ制限装置をＩ／Ｏ制限装置情報２２６に登録する（２１１７）。具体的には、情報収集プログラム２１５は、検査対象ペアボリュームを識別するＣＧＩＤ、ペアＩＤ及び正側か副側かを示す情報と、Ｉ／Ｏ制限装置のＩＰアドレス（当該記憶サブシステムの監視対象ＩＰ９２１）とを、Ｉ／Ｏ制限装置情報２２６に登録する。そして、情報収集プログラム２１５は、次の格納ペアボリュームについて検査するために、ステップ２１１２に進む。
【０２５３】
図１７は、本発明の第１の実施の形態の管理計算機１４０の情報収集プログラム２１５が実行するＩ／Ｏ制限装置選択処理のフローチャートである。
【０２５４】
Ｉ／Ｏ制限装置選択処理は、図１６のステップ２１１５において、情報収集プログラム２１５によって実行される。
【０２５５】
Ｉ／Ｏ制限装置選択処理が開始されると、情報収集プログラム２１５は、最初に、超過個別キャッシュを保持する記憶サブシステムを「Ｉ／Ｏ制限装置候補」と定義する（２２０１）。
【０２５６】
ここで、超過個別キャッシュとは、図１６のステップ２１１１において個別キャッシュ使用量が個別キャッシュ使用量閾値を超えていると判定された検査対象ＣＧのキャッシュである。例えば、図１に示すＣＧ３の正側について個別キャッシュ使用量が個別キャッシュ使用量閾値を超えていると判定された場合、ＣＧ３の正側キャッシュが超過個別キャッシュである。この場合、ＣＧ３の正側の筐体３がＩ／Ｏ制限装置候補である。
【０２５７】
次に、情報収集プログラム２１５は、超過個別キャッシュが正側キャッシュであるか否かを判定する（２２０２）。
【０２５８】
ステップ２２０２において、超過個別キャッシュが正側キャッシュであると判定された場合、情報収集プログラム２１５は、その超過個別キャッシュに対応するＣＧ６０２の一段上位のＣＧ６０２をＩ／Ｏ制限対象ＣＧとする（２２０３）。例えば、超過個別キャッシュがＣＧ３の正側キャッシュである場合、ＣＧ２がＩ／Ｏ制限対象ＣＧとなる。
【０２５９】
一方、ステップ２２０２において、超過個別キャッシュが正側キャッシュでないと判定された場合、超過個別キャッシュは副側キャッシュである。この場合、情報収集プログラム２１５は、その超過個別キャッシュに対応するＣＧ６０２をＩ／Ｏ制限対象ＣＧとする（２２０４）。ここで、Ｉ／Ｏ制限対象ＣＧとは、Ｉ／Ｏ（データ転送）の制限の対象となるＣＧ６０２である。
【０２６０】
ステップ２２０３又は２２０４が終了すると、次に、情報収集プログラム２１５は、Ｉ／Ｏ制限装置候補をＩ／Ｏ制限装置リスト（図示省略）に追加する（２２０５）。Ｉ／Ｏ制限装置リストとは、Ｉ／Ｏ制限装置選択処理によって選択される記憶サブシステム（すなわち、Ｉ／Ｏ制限を実行する記憶サブシステム）の一覧を示す情報である。Ｉ／Ｏ制限装置リストは、例えば、管理計算機１４０のメモリ２０４に格納される。
【０２６１】
次に、情報収集プログラム２１５は、Ｉ／Ｏ制限対象ＣＧが複数の記憶サブシステムに跨っているか否かを判定する（２２０６）。ここで、ＣＧ６０２が複数の記憶サブシステムに跨る状態とは、一つのＣＧ６０２に複数のコピーペア６０１が属し、これらのコピーペア６０１の系列のうち、少なくとも二つが、異なる記憶サブシステムに属している状態である。具体的には、Ｉ／Ｏ制限対象ＣＧに含まれるペアの正側又は副側の少なくとも一方のＬＵ３３１が複数の記憶サブシステムに格納されている場合、Ｉ／Ｏ制限対象ＣＧが複数の記憶サブシステムに跨っていると判定される。
【０２６２】
例えば、図１においてＣＧ２がＩ／Ｏ制限対象ＣＧである場合、ＣＧ２を構成するＰａｉｒ１２の正側のＬＵ１１及びＰａｉｒ２２の正側のＬＵ２１は、同じ筐体２に格納されている。さらに、Ｐａｉｒ１２の副側のＬＵ１２及びＰａｉｒ２２の副側のＬＵ２２も、同じ筐体３に格納されている。このため、ＣＧ２は、複数の記憶サブシステムに跨っていないと判定される。
【０２６３】
図１に示す構成では、各ＣＧ６０２に二つのコピーペア６０１の系列が属するが、これらの二つのコピーペア６０１の系列が異なる記憶サブシステムに属する場合がない。例えば、ＣＧ１にはＰａｉｒ１１及びＰａｉｒ２１の二つのコピーペア６０１が属するが、これらは、いずれも、筐体１を正側、筐体２を副側としている。このため、Ｉ／Ｏ制限対象ＣＧが複数の記憶サブシステムに跨っていると判定される場合はない。Ｉ／Ｏ制限対象ＣＧが複数の記憶サブシステムに跨る構成の例については、後で詳細に説明する（図２６参照）。
【０２６４】
ステップ２２０６において、Ｉ／Ｏ制限対象ＣＧが複数の記憶サブシステムに跨っていると判定された場合、情報収集プログラム２１５は、Ｉ／Ｏ制限装置候補の上位にＩ／Ｏ制限を実行できない記憶サブシステム（すなわち、Ｉ／Ｏ制限処理プログラム３１２を保持しないリモート記憶サブシステム１２０）が存在するか否かを判定する（２２１２）。
【０２６５】
ステップ２２１２において、Ｉ／Ｏ制限装置候補の上位にＩ／Ｏ制限を実行できない記憶サブシステムが存在しないと判定された場合、Ｉ／Ｏ制限を実行することができる。このため、情報収集プログラム２１５は、Ｉ／Ｏ制限装置候補より上位の全ての記憶サブシステムをＩ／Ｏ制限装置リストに追加して（２２１４）、処理を終了する。
【０２６６】
一方、ステップ２２１２において、Ｉ／Ｏ制限装置候補の上位にＩ／Ｏ制限を実行できない記憶サブシステムが存在すると判定された場合、Ｉ／Ｏ制限を実行することができない。このため、情報収集プログラム２１５は、Ｉ／Ｏ制限装置リストをクリアして（すなわち、Ｉ／Ｏ制限装置リストに登録された全ての内容を削除して）（２２１３）、処理を終了する。
【０２６７】
ステップ２２０６において、Ｉ／Ｏ制限対象ＣＧが複数の記憶サブシステムに跨っていないと判定された場合、情報収集プログラム２１５は、Ｉ／Ｏ制限装置候補がＩ／Ｏ制限可能か否かを判定する（２２０７）。具体的には、Ｉ／Ｏ制限装置候補がＩ／Ｏ制限処理プログラム３１２を含むリモート記憶サブシステム１１０である場合、Ｉ／Ｏ制限可能であると判定される。一方、Ｉ／Ｏ制限装置候補がＩ／Ｏ制限処理プログラム３１２を含まないリモート記憶サブシステム１２０である場合、Ｉ／Ｏ制限可能でないと判定される。
【０２６８】
ステップ２２０７において、Ｉ／Ｏ制限装置候補がＩ／Ｏ制限可能でないと判定された場合、Ｉ／Ｏ制限を実行することができない。このため、処理はステップ２２１３に進む。
【０２６９】
一方、ステップ２２０７において、Ｉ／Ｏ制限装置候補がＩ／Ｏ制限可能でないと判定された場合、情報収集プログラム２１５は、そのＩ／Ｏ制限装置候補の上位に記憶サブシステムが存在するか否かを判定する（２２０８）。
【０２７０】
ステップ２２０８において、Ｉ／Ｏ制限装置候補の上位に記憶サブシステムが存在しないと判定された場合、Ｉ／Ｏ制限装置候補が直結記憶サブシステム１００であり、その上位に記憶サブシステムが存在しない。この場合、Ｉ／Ｏ制限を実行する全ての記憶サブシステムの選択が終了したため、Ｉ／Ｏ制限装置選択処理を終了する。
【０２７１】
一方、ステップ２２０８において、Ｉ／Ｏ制限装置候補の上位に記憶サブシステムが存在すると判定された場合、情報収集プログラム２１５は、Ｉ／Ｏ制限装置候補の一段上位の記憶サブシステムの全体キャッシュ使用量が全体キャッシュ使用量閾値を超えるか否かを判定する（２２０９）。
【０２７２】
当該一段上位の記憶サブシステムのキャッシュメモリ３０３の空き容量に余裕がない場合、さらに上位の記憶サブシステム（又はホスト計算機）から転送されるデータの量を制限しない限り、当該一段上位の記憶サブシステムにおいてデータ溢れが発生しやすくなる。このため、ステップ２２０９において、キャッシュメモリ３０３に十分な空き容量があるか否かが判定される。
【０２７３】
ステップ２２０９において、Ｉ／Ｏ制限装置候補の一段上位の記憶サブシステムの全体キャッシュ使用量が全体キャッシュ使用量閾値を超えると判定された場合、当該一段上位の記憶サブシステムのキャッシュメモリ３０３に十分な空き容量がない。この場合、データ溢れを防ぐために、当該一段上位の記憶サブシステムのさらに上位の記憶サブシステムにおいてもＩ／Ｏ制限を実行する必要がある。このため、情報収集プログラム２１５は、さらに上位の記憶サブシステムについて、上記ステップ２２０５以降の処理を行う。具体的には、情報収集プログラム２１５は、ステップ２２０９の時点のＩ／Ｏ制限装置候補の一段上位の記憶サブシステムを新たにＩ／Ｏ制限装置候補とし、ステップ２２０９の時点のＩ／Ｏ制限対象ＣＧの一段上位のＣＧ６０２を新たにＩ／Ｏ制限対象ＣＧとする（２２１１）。そして、ステップ２２０５に戻る。
【０２７４】
一方、ステップ２２０９において、Ｉ／Ｏ制限装置候補の一段上位の記憶サブシステムの全体キャッシュ使用量が全体キャッシュ使用量閾値を超えないと判定された場合、当該一段上位の記憶サブシステムのキャッシュメモリ３０３に十分な空き容量がある。この場合、情報収集プログラム２１５は、Ｉ／Ｏ制限対象ＣＧの正側キャッシュの個別キャッシュ使用量が個別キャッシュ使用量閾値を超えるか否かを判定する（２２１０）。
【０２７５】
ステップ２２０９において、キャッシュメモリ３０３に十分な空き容量があると判定された場合でも、Ｉ／Ｏ制限対象ＣＧの正側キャッシュの個別キャッシュ使用量が個別キャッシュ使用量閾値を超える場合は、Ｉ／Ｏ制限対象ＣＧ以外のＣＧ６０２に対してキャッシュメモリ３０３の容量を十分に確保することができないことがある。このため、ステップ２２１０において、Ｉ／Ｏ制限対象ＣＧの正側キャッシュの個別キャッシュ使用量が個別キャッシュ使用量閾値を超えると判定された場合、情報収集プログラム２１５は、ステップ２２１１に進む。
【０２７６】
一方、ステップ２２１０において、Ｉ／Ｏ制限対象ＣＧの正側キャッシュの個別キャッシュ使用量が個別キャッシュ使用量閾値を超えないと判定された場合、情報収集プログラム２１５は、Ｉ／Ｏ制限装置選択処理を終了する。
【０２７７】
図１８は、本発明の第１の実施の形態の管理計算機１４０が記憶サブシステムに発行するＩ／Ｏ制限命令の説明図である。
【０２７８】
管理計算機１４０が図１６のステップ２１１６又は２１０６においてＩ／Ｏ制限命令を発行するとき、図１８に示すＩ／Ｏ制限命令データ２３００が管理計算機１４０から当該命令の発行先の記憶サブシステムに、管理ネットワーク１７０を経由して転送される。なお、図１８（Ａ）は、Ｉ／Ｏ制限命令データ２３００の形式を示す図であり、図１８（Ｂ）は、Ｉ／Ｏ制限命令データ２３００の一例を示す図である。
【０２７９】
Ｉ／Ｏ制限命令データ２３００は、少なくとも、ＬＵＩＤ２３０１、コマンド種別２３０２及び制御内容２３０３を含む（図１８（Ａ））。
【０２８０】
ＬＵＩＤ２３０１は、Ｉ／Ｏ制限命令の対象のＬＵ３３１の識別子である。例えば、Ｉ／Ｏ制限装置選択処理（図１７）において、図１のＰａｉｒ１２がＩ／Ｏ制限対象ペア、筐体２がＩ／Ｏ制限装置として選択された場合、筐体２においてＰａｉｒ１２に属するＬＵ１１がＩ／Ｏ制限命令の対象となる。この場合、ＬＵＩＤ２３０１は「ＬＵ１１」となる（図１８（Ｂ））。
【０２８１】
コマンド種別２３０２は、管理計算機１４０から発行される命令の種類を示す情報である。図１８の場合、命令はＩ／Ｏ制限命令であるため、コマンド種別２３０２は「Ｉ／Ｏ制限」となる（図１８（Ｂ））。
【０２８２】
制御内容２３０３は、管理計算機１４０から命令される制御の内容を示す情報である。図１８の場合、命令の内容がＩ／Ｏ制限の実行である場合（図１６のステップ２１１６参照）、制御内容２３０３は「ＯＮ」となる。一方、命令の内容がＩ／Ｏ制限の解除である場合（図１６のステップ２１０６参照）、制御内容２３０３は「ＯＦＦ」となる（図１８（Ｂ））。
【０２８３】
図１９は、本発明の第１の実施の形態の記憶サブシステムのＩ／Ｏ制限命令受付プログラム３１１のフローチャートである。
【０２８４】
Ｉ／Ｏ制限命令受付プログラム３１１は、図３及び図４に示すように、直結記憶サブシステム１００及びリモート記憶サブシステム１１０のメモリ３０６に格納され、プロセッサ３０４によって実行される。Ｉ／Ｏ制限命令受付プログラム３１１は、管理計算機１４０から発行されたＩ／Ｏ制限命令（図１６のステップ２１１６又は２１０６参照）を受けて、Ｉ／Ｏ制限の実行又は解除を設定する。
【０２８５】
Ｉ／Ｏ制限命令受付プログラム３１１は、Ｉ／Ｏ制限命令を受け付けることによって実行が開始されると、受け付けたＩ／Ｏ制限命令が「ＯＮ」（すなわち、Ｉ／Ｏ制限を実行する命令）であるか否かを判定する（２４０１）。具体的には、Ｉ／Ｏ制限命令データ２３００のコマンド種別２３０２が「Ｉ／Ｏ制限」、制御内容２３０３が「ＯＮ」であるか否かを判定する。
【０２８６】
ステップ２４０１において、受け付けたＩ／Ｏ制限命令が「ＯＮ」であると判定された場合、Ｉ／Ｏ制限の実行が命令されている。このため、Ｉ／Ｏ制限命令受付プログラム３１１は、当該Ｉ／Ｏ制限命令によって指定されたＬＵＩＤ２３０１について、Ｉ／Ｏ制限の実行をＩ／Ｏ制限情報３２１に登録する（２４０２）。Ｉ／Ｏ制限情報３２１については、後で詳細に説明する（図２０参照）。
【０２８７】
一方、ステップ２４０１において、受け付けたＩ／Ｏ制限命令が「ＯＦＦ」であると判定された場合、Ｉ／Ｏ制限の解除が命令されている。このため、Ｉ／Ｏ制限命令受付プログラム３１１は、当該Ｉ／Ｏ制限命令によって指定されたＬＵＩＤ２３０１について、Ｉ／Ｏ制限の実行をＩ／Ｏ制限情報３２１に登録する（２４０３）。
【０２８８】
以上で、処理を終了する。
【０２８９】
図２０は、本発明の第１の実施の形態の記憶サブシステムに格納されるＩ／Ｏ制限情報３２１の説明図である。
【０２９０】
Ｉ／Ｏ制限情報３２１は、図３及び図４に示すように、直結記憶サブシステム１００及びリモート記憶サブシステム１１０のメモリ３０６に格納される。図２０は、例として、リモート記憶サブシステム１１０（筐体２）に格納されるＩ／Ｏ制限情報３２１を示す。
【０２９１】
Ｉ／Ｏ制限情報３２１は、ＬＵＩＤ２５０１及び制限２５０２を含む。
【０２９２】
ＬＵＩＤ２５０１は、当該Ｉ／Ｏ制限情報３２１を格納する記憶サブシステムに格納されるＬＵ３３１の識別子である。図２０は、筐体２のＩ／Ｏ制限情報３２１であるため、筐体２に格納されるＬＵ１１及びＬＵ２１がＬＵＩＤ２５０１として登録される。
【０２９３】
制限２５０２は、各ＬＵ３３１について、Ｉ／Ｏ制限が実行されているか否かを示す。制限２５０２が「ＯＮ」のとき、Ｉ／Ｏ制限が実行されており、「ＯＦＦ」のとき、Ｉ／Ｏ制限が実行されていない。
【０２９４】
各ＬＵＩＤ２５０１に対応する制限２５０２は、管理計算機１４０からのＩ／Ｏ制限命令によって設定される。例えば、図１８（Ｂ）のように、ＬＵ１１についてＩ／Ｏ制限を実行する命令が発行されると、Ｉ／Ｏ制限情報３２１において、ＬＵ１１に対応する制限２５０２が「ＯＮ」となる。図２０は、ＬＵ１１が「ＯＮ」、ＬＵ２１が「ＯＦＦ」となっている状態を示す。
【０２９５】
図２１は、本発明の第１の実施の形態の記憶サブシステムのＩ／Ｏ制限処理プログラム３１２のフローチャートである。
【０２９６】
Ｉ／Ｏ制限処理プログラム３１２は、図３及び図４に示すように、直結記憶サブシステム１００及びリモート記憶サブシステム１１０のメモリ３０６に格納され、プロセッサ３０４によって実行される。Ｉ／Ｏ制限処理プログラム３１２は、ホスト計算機１３０からデータを書き込むＩ／Ｏ要求を受けたとき、又は、上位の記憶サブシステムからデータを書き込むリモートＩ／Ｏ要求を受けたときに、Ｉ／Ｏ制限を実行する。
【０２９７】
Ｉ／Ｏ制限処理プログラム３１２は、書き込みデータを受け付けることによって実行が開始されると、当該データの書き込み対象のＬＵ３３１について、Ｉ／Ｏ制限情報３２１を参照して、書き込み対象のＬＵＩＤ２５０１に対応する制限２５０２が「ＯＮ」であるか否かを判定する（２６０１）。
【０２９８】
例えば、Ｉ／Ｏ制限情報３２１が図２０に示す通りである場合、データの書き込み対象がＬＵ１１であれば、対応する制限２５０２は「ＯＮ」である。すなわち、ＬＵ１１へのデータの書き込みについては、Ｉ／Ｏ制限が実行される。一方、データの書き込み対象がＬＵ２１であれば、対応する制限２５０２は「ＯＦＦ」である。すなわち、ＬＵ２１へのデータの書き込みについては、Ｉ／Ｏ制限が実行されない。
【０２９９】
ステップ２６０１において、書き込み対象のＬＵＩＤ２５０１に対応する制限２５０２が「ＯＮ」であると判定された場合、Ｉ／Ｏ制限処理プログラム３１２は、Ｉ／Ｏ制限を実行するため、所定の時間スリープする（２６０２）。すなわち、Ｉ／Ｏ制限処理プログラム３１２は、所定の時間、書き込みを実行せずに待つ。その後、Ｉ／Ｏ制限処理プログラム３１２は、書き込み処理を実行する（２６０３）。
【０３００】
一方、ステップ２６０１において、書き込み対象のＬＵＩＤ２５０１に対応する制限２５０２が「ＯＮ」でないと判定された場合、Ｉ／Ｏ制限処理プログラム３１２は、Ｉ／Ｏ制限を実行しないため、スリープせずに、書き込み処理を実行する（２６０３）。
【０３０１】
このように、Ｉ／Ｏ制限が実行されるＬＵ３３１への書き込みは、スリープ処理（２６０２）の時間だけ遅れる。書き込み処理（２６０３）の結果、キャッシュメモリ３０３にもデータが書き込まれるため、スリープ処理によって書き込みを遅らせることによって、キャッシュメモリ３０３のデータ溢れを防ぐことができる。
【０３０２】
図２２は、本発明の第１の実施の形態の記憶サブシステムに格納される各種の情報の説明図である。
【０３０３】
図２２（Ａ）は、コピーペア構成情報３２２の説明図である。
【０３０４】
コピーペア構成情報３２２は、図３から図５に示すように、直結記憶サブシステム１００、リモート記憶サブシステム１１０及びリモート記憶サブシステム１２０のメモリ３０６に格納される。図２２（Ａ）は、例として、リモート記憶サブシステム１１０（筐体２）に格納されるコピーペア構成情報３２２を示す。
【０３０５】
コピーペア構成情報３２２は、各記憶サブシステムに構成されるコピーペア６０１に関する情報である。図２２（Ａ）は、筐体２のコピーペア構成情報３２２であるため、筐体２に含まれるＬＵ１１及びＬＵ２１が属するＰａｉｒ１１、Ｐａｉｒ２１、Ｐａｉｒ１２及びＰａｉｒ２２に関する情報を含む（図１参照）。
【０３０６】
管理計算機１４０に格納されるコピーペア管理情報２２２は、管理計算機１４０の構成情報収集プログラム２１２が各記憶サブシステムのコピーペア構成情報３２２の内容を取得して作成したものである。コピーペア構成情報３２２のＣＧＩＤ２７０１、ペアＩＤ２７０２、正ＬＵＩＤ２７０３、正記憶サブシステムＩＤ２７０４、副ＬＵＩＤ２７０５及び副記憶サブシステムＩＤ２７０６は、それぞれ、コピーペア管理情報２２２のＣＧＩＤ１１０１、ペアＩＤ１１０２、正ＬＵＩＤ１１０３、正記憶サブシステムＩＤ１１０４、副ＬＵＩＤ１１０５及び副記憶サブシステムＩＤ１１０６に対応する。以下において、コピーペア管理情報２２２と同様の説明は省略する。
【０３０７】
コピーペア構成情報３２２において、ＣＧＩＤ２７０１は、各コピーペア６０１が属するＣＧ６０２の識別子である。図２２（Ａ）は、筐体２のコピーペア構成情報３２２であるため、ＣＧＩＤ２７０１は、「ＣＧ１」及び「ＣＧ２」となる。
【０３０８】
ペアＩＤ２７０２は、各コピーペア６０１の識別子である。ＣＧ１に属する二つのコピーペア６０１のペアＩＤ２７０２は、「Ｐａｉｒ１１」及び「Ｐａｉｒ２１」である。また、ＣＧ２に属する二つのコピーペア６０１のペアＩＤ２７０２は、「Ｐａｉｒ１２」及び「Ｐａｉｒ２２」である。
【０３０９】
正ＬＵＩＤ２７０３は、各コピーペア６０１の正側のＬＵ３３１の識別子である。Ｐａｉｒ１１、Ｐａｉｒ２１、Ｐａｉｒ１２及びＰａｉｒ２２に対応する正ＬＵＩＤ２７０３は、それぞれ、「ＬＵ１０」、「ＬＵ２０」、「ＬＵ１１」及び「ＬＵ２１」である。
【０３１０】
正記憶サブシステムＩＤ２７０４は、各コピーペア６０１の正側のＬＵ３３１を格納する記憶サブシステムの識別子である。ＬＵ１０及びＬＵ２０を格納する記憶サブシステムの正記憶サブシステムＩＤ２７０４は、「筐体１」である。ＬＵ１１及びＬＵ２１を格納する記憶サブシステムの正記憶サブシステムＩＤ２７０４は、「筐体２」である。
【０３１１】
副ＬＵＩＤ２７０５は、各コピーペア６０１の副側のＬＵ３３１の識別子である。Ｐａｉｒ１１、Ｐａｉｒ２１、Ｐａｉｒ１２及びＰａｉｒ２２に対応する副ＬＵＩＤ２７０５は、それぞれ、「ＬＵ１１」、「ＬＵ２１」、「ＬＵ１２」及び「ＬＵ２２」である。
【０３１２】
副記憶サブシステムＩＤ２７０６は、各コピーペア６０１の副側のＬＵ３３１を格納する記憶サブシステムの識別子である。ＬＵ１１及びＬＵ２１を格納する記憶サブシステムの副記憶サブシステムＩＤ２７０６は、「筐体２」である。ＬＵ１２及びＬＵ２２を格納する記憶サブシステムの副記憶サブシステムＩＤ２７０６は、「筐体３」である。
【０３１３】
図２２（Ｂ）は、キャッシュ管理テーブル３２３の説明図である。
【０３１４】
キャッシュ管理テーブル３２３は、図３から図５に示すように、直結記憶サブシステム１００、リモート記憶サブシステム１１０及びリモート記憶サブシステム１２０のメモリ３０６に格納される。図２２（Ｂ）は、例として、リモート記憶サブシステム１１０（筐体２）に格納されるキャッシュ管理テーブル３２３を示す。
【０３１５】
キャッシュ管理テーブル３２３は、記憶サブシステムのキャッシュメモリ３０３の使用状況を示すテーブルである。具体的には、キャッシュ管理テーブル３２３は、キャッシュメモリ３０３の全アドレスについて、そのアドレスに対応する領域が使用されている（すなわち、その領域にデータが格納されている）か否か、また、使用されている場合、どのＣＧ６０２のどのコピーペア６０１のキャッシュとして使用されているか、さらに、正側キャッシュ又は副側キャッシュのいずれであるかを示す情報を含む。
【０３１６】
キャッシュ管理テーブル３２３は、アドレス２８０１、利用ＣＧＩＤ２８０２、利用ペアＩＤ２８０３及び正・副２８０４からなる。
【０３１７】
アドレス２８０１は、キャッシュメモリ３０３上のデータが格納されている領域のアドレスである。本実施の形態では、キャッシュメモリ３０３には、データが論理ブロック単位で格納されるため、アドレス２８０１は、論理ブロックアドレス（ＬＢＡ）に相当する。図２２（Ｂ）の例では、「１」から「５」までのアドレス２８０１を示し、他は省略するが、アドレス２８０１には、キャッシュメモリ３０３上の全てのＬＢＡが登録される。
【０３１８】
利用ＣＧＩＤ２８０２、利用ペアＩＤ２８０３及び正・副２８０４は、アドレス２８０１が示す領域が、どのように使用されているかを示す。例えば、図２２（Ｂ）において、アドレス２８０１が「１」である場合、対応する利用ＣＧＩＤ２８０２、利用ペアＩＤ２８０３及び正・副２８０４は、それぞれ、「ＣＧ１」、「Ｐａｉｒ１１」及び「副」である。これは、キャッシュメモリ３０３のＬＢＡが「１」の論理ブロックが、ＣＧ１に属するＰａｉｒ１１の副側キャッシュとして使用されていることを示す。同様にして、図２２（Ｂ）の例では、ＬＢＡが「２」、「３」及び「５」の論理ブロックが、ＣＧ２に属するＰａｉｒ１２の正側キャッシュとして使用されている。一方、図２２（Ｂ）の例では、ＬＢＡが「２」の領域が使用されていない。このため、アドレス２８０１が「４」である利用ＣＧＩＤ２８０２、利用ペアＩＤ２８０３及び正・副２８０４は、「−」となる。
【０３１９】
図２２（Ｃ）は、リンク稼動状況テーブル３２４の説明図である。
【０３２０】
リンク稼動状況テーブル３２４は、図３から図５に示すように、直結記憶サブシステム１００、リモート記憶サブシステム１１０及びリモート記憶サブシステム１２０のメモリ３０６に格納される。図２２（Ｃ）は、例として、リモート記憶サブシステム１１０（筐体２）に格納されるリンク稼動状況テーブル３２４を示す。
【０３２１】
リンク稼動状況テーブル３２４は、記憶サブシステム間を結合するリンク１６０の稼動状況を示すテーブルである。具体的には、リンク稼動状況テーブル３２４は、記憶サブシステムに接続されるリンク１６０ごとに、そのリンク１６０が稼動しているか否かを示す情報を含む。ここで、リンク１６０が稼動しているとは、正常にデータ転送をすることができることを意味する。また、リンク１６０が稼動していないとは、障害等によってデータ転送をすることができないことを意味する。
【０３２２】
リンク稼動状況テーブル３２４は、リンクＩＤ２９０１、正記憶サブシステムＩＤ２９０２、副記憶サブシステムＩＤ２９０３及び稼動状況情報２９０４からなる。
【０３２３】
リンクＩＤ２９０１は、各リンク１６０の識別子である。
【０３２４】
正記憶サブシステムＩＤ２９０２は、各リンク１６０の正側（すなわち、ホスト計算機に近い側）に接続された記憶サブシステムの識別子である。
【０３２５】
副記憶サブシステムＩＤ２９０３は、各リンク１６０の副側（すなわち、ホスト計算機から遠い側）に接続された記憶サブシステムの識別子である。
【０３２６】
稼動状況情報２９０４は、各リンク１６０が稼動しているか否かを示す。「ＯＫ」は、リンク１６０が稼動していることを、「ＮＧ」は、リンク１６０が稼動していないことを示す。
【０３２７】
図２２（Ｃ）の例では、筐体１と筐体２との間に二つのリンク１６０があり、それぞれのリンクＩＤ２９０１は「Ｌｉｎｋ１」及び「Ｌｉｎｋ２」である。これらの二つのリンクは、稼動している。一方、筐体２と筐体３との間にも二つのリンク１６０がある。それぞれのリンクＩＤ２９０１は「Ｌｉｎｋ３」及び「Ｌｉｎｋ４」である。「Ｌｉｎｋ３」は稼動しているが、「Ｌｉｎｋ４」は稼動していない。
【０３２８】
例えば、図１６のステップ２１１４において使用されるルール（図１４参照）が、記憶サブシステム間のリンク数に基づいている場合、このステップ２１１４において、リンク稼動状況テーブル３２４の稼動状況情報２９０４が参照されてもよい。
【０３２９】
図２３は、本発明の第１の実施の形態の記憶サブシステムの筐体情報管理プログラム３１３が実行する筐体情報提供処理のフローチャートである。
【０３３０】
筐体情報管理プログラム３１３は、図３から図５に示すように、直結記憶サブシステム１００、リモート記憶サブシステム１１０及びリモート記憶サブシステム１２０のメモリ３０６に格納され、プロセッサ３０４によって実行される。筐体情報提供処理は、筐体情報管理プログラム３１３によって実行される処理の一つである。筐体情報提供処理は、管理計算機１４０からの要求を受けて、記憶サブシステムに関する情報を管理計算機に応答する処理である。
【０３３１】
管理計算機１４０の情報収集プログラム２１５は、各登録監視対象サブシステムに対して、その記憶サブシステムの情報を要求するコマンドを発行する（図１６のステップ２１０２参照）。
【０３３２】
このコマンドを受けた筐体情報管理プログラム３１３は、筐体情報提供処理を開始する。最初に、筐体情報管理プログラム３１３は、記憶サブシステムのキャッシュメモリ３０３の使用量（すなわち、全体キャッシュ使用量）を算出して取得する（３００１）。具体的には、筐体情報管理プログラム３１３は、キャッシュ管理テーブル３２３を参照して、使用されているアドレス２８０１の数と論理ブロックサイズとの積を算出し、その積をキャッシュメモリ３０３の全体の容量で除算した値を、全体キャッシュ使用量とする。
【０３３３】
次に、筐体情報管理プログラム３１３は、各ＣＧ６０２ごとのキャッシュメモリ３０３の使用量（すなわち、個別キャッシュ使用量）を算出して取得する（３００２）。具体的には、筐体情報管理プログラム３１３は、キャッシュ管理テーブル３２３を参照して、利用ＣＧＩＤ２８０２及び正・副２８０４ごとに、使用されているアドレス２８０１の数と論理ブロックサイズとの積を算出する。そして、その積をキャッシュメモリ３０３の全体の容量で除算した値を、個別キャッシュ使用量とする。
【０３３４】
例えば、図２２（Ｂ）に示すキャッシュ管理テーブル３２３の場合、ＣＧ１の副側キャッシュとして一つのアドレス２８０１（アドレス「１」）が使用されている。このため、ＣＧ１の副側キャッシュの個別キャッシュ使用量は、「１」と論理ブロックサイズとの積をキャッシュメモリ３０３の全体の容量で除算した値となる。また、ＣＧ２の正側キャッシュとして三つのアドレス２８０１（アドレス「２」、「３」及び「５」）が使用されている。このため、ＣＧ２の正側キャッシュの個別キャッシュ使用量は、「３」と論理ブロックサイズとの積をキャッシュメモリ３０３の全体の容量で除算した値となる。
【０３３５】
次に、筐体情報管理プログラム３１３は、リンク１６０の稼動状況に関する情報を取得する（３００３）。具体的には、筐体情報管理プログラム３１３は、リンク稼動状況テーブル３２４を参照して、使用可能なリンク１６０の数を取得する。
【０３３６】
次に、筐体情報管理プログラム３１３は、ステップ３００１、３００２及び３００３で取得した情報を、管理計算機１４０に応答する（３００４）。
【０３３７】
以上の本発明の第１の実施の形態において実行されるＩ／Ｏ制限について、図１を参照して説明する。
【０３３８】
例えば、筐体３のキャッシュメモリ３０３の全体キャッシュ使用量が閾値を超え、さらに、ＣＧ２の副側キャッシュの個別キャッシュ使用量が閾値を超えた場合について説明する。
【０３３９】
この場合、筐体３のＬＵ１２への書き込みを制限するＩ／Ｏ制限を実行することによって、筐体３のキャッシュメモリ３０３のデータ溢れを防ぐことができる。
【０３４０】
しかし、筐体３がＩ／Ｏ制限を実行することができない場合がある。また、筐体３がＩ／Ｏ制限処理プログラム３１２を備えたとしても、筐体２のキャッシュメモリ３０３の容量に余裕がない場合、筐体３においてＩ／Ｏ制限を実行することができない。筐体２のキャッシュメモリ３０３のデータは、筐体３への転送が終了しなければ削除することができないが、Ｉ／Ｏ制限が実行されると、筐体２から筐体３への転送速度が低下する。その結果、筐体２のキャッシュメモリ３０３からデータが削除される速さも低下し、筐体２のキャッシュメモリ３０３においてデータ溢れが発生しやすくなるためである。
【０３４１】
筐体３がＩ／Ｏ制限処理プログラム３１２を備え、かつ、筐体２のキャッシュメモリ３０３の容量に余裕があったとしても、Ｉ／Ｏ制限を実行することによってキャッシュメモリ３０３のデータ溢れを防ぐことができない場合がある。例えば、筐体３と筐体４の間のリンク１６０が全て使用できない状態である場合、Ｉ／Ｏ制限によってデータ転送速度を低下させても、いずれキャッシュメモリ３０３にデータ溢れが発生する。
【０３４２】
さらに、図１には示さないが、筐体２にＣＧ１及びＣＧ２とは異なる系統のＣＧ６０２が存在する場合、筐体２のキャッシュメモリ３０３においてデータ溢れが発生すると、そのＣＧ６０２においてコピーペア６０１が停止する。このように、一つのＣＧ６０２において発生したデータ溢れの影響が、別の系統のＣＧ６０２に波及する場合がある。
【０３４３】
管理計算機１４０は、図１６及び図１７に示すように、筐体２のキャッシュメモリ３０３の使用量が閾値を超えるか否かを判定する。そして、使用量が閾値を超えない場合には、キャッシュメモリ３０３の容量に余裕があるため、筐体２に対して、ＬＵ１１への書き込みを制限するＩ／Ｏ制御命令を発行する。一方、使用量が閾値を超える場合には、キャッシュメモリ３０３の容量に余裕がないため、筐体１のキャッシュメモリ３０３の使用量が閾値を超えるか否かを判定する。筐体１のキャッシュメモリ３０３の使用量が閾値を超えない場合、管理計算機１４０は、筐体１に対して、ＬＵ１０への書き込みを制限するＩ／Ｏ制御命令を発行する。さらに、管理計算機１４０は、Ｉ／Ｏ制限をすることによってキャッシュメモリ３０３のデータ溢れを防ぐことができない場合、Ｉ／Ｏ制限命令を発行しない。
【０３４４】
以上のように、本実施の形態の管理計算機１４０は、各記憶サブシステムがＩ／Ｏ制限処理プログラム３１２を備え、Ｉ／Ｏ制限を実行することができるか否かを示す情報を保持する（図２及び図６（Ｂ）参照）。さらに、管理計算機１４０は、いずれかのキャッシュメモリ３０３の使用量が閾値を超えたとき、各記憶サブシステムのキャッシュメモリ３０３の使用状況を取得する。そして、管理計算機１４０は、Ｉ／Ｏ制限を実行することができ、かつ、キャッシュメモリ３０３の容量に余裕がある記憶サブシステムに、Ｉ／Ｏ制限の実行を命令する。
【０３４５】
以上の本実施の形態では、記憶サブシステムがＩ／Ｏ制限を実行するが、ホスト計算機がＩ／Ｏ制限を実行してもよい。
【０３４６】
図２４は、本発明の第１の実施の形態のＩ／Ｏ制限を実行するホスト計算機３１００の構成を示すブロック図である。
【０３４７】
ホスト計算機３１００は、図１においてホスト計算機１３０と置き換えられる。ただし、ホスト計算機３１００は、ストレージネットワーク１５０だけでなく、管理ネットワーク１７０にも接続される。
【０３４８】
ホスト計算機３１００は、入力装置３１１０、ＣＰＵ３１２０、表示装置３１３０、メモリ３１４０、ストレージＩ／Ｆ３１５０及び管理用Ｉ／Ｆ３１６０を備える。
【０３４９】
入力装置３１１０は、ユーザがホスト計算機３１１０を制御するために使用する装置であり、例えば、キーボード及びポインティングデバイス等である。
【０３５０】
ＣＰＵ３１２０は、メモリ３１４０に格納された各種プログラムを実行するプロセッサである。
【０３５１】
表示装置３１３０は、ユーザに提供する情報を表示する装置であり、例えば、ＣＲＴ等の画像表示装置である。
【０３５２】
メモリ３１４０は、例えば、半導体メモリである。メモリ３１４０には、ＣＰＵ３１２０によって実行される各種プログラム及びそれらのプログラムの実行の際に参照される各種の情報が格納される。本実施の形態のメモリ３１４０には、少なくとも、Ｉ／Ｏ制限命令受付プログラム３１４１、Ｉ／Ｏ制限処理プログラム３１４２及びＩ／Ｏ制限情報３１４３が格納される。さらに、メモリ３１４０には、ＣＰＵ３１２０によって実行されてユーザに提供される各種のアプリケーションプログラム（図示省略）を含む。
【０３５３】
ストレージＩ／Ｆ３１５０は、ストレージネットワーク１５０を介して直結記憶サブシステム１００と接続され、通信をするインターフェースである。
【０３５４】
管理用Ｉ／Ｆ３１６０は、管理ネットワーク１７０を介して管理計算機１４０と接続され、通信をするインターフェースである。管理用Ｉ／Ｆ３１６０は、記憶サブシステムの管理用Ｉ／Ｆ３０２と同等のものである。
【０３５５】
Ｉ／Ｏ制限命令受付プログラム３１４１は、記憶サブシステムのＩ／Ｏ制限命令受付プログラム３１１と同等である（図１９参照）。また、Ｉ／Ｏ制限情報３１４３には、記憶サブシステムのＩ／Ｏ制限情報３２１と同様の情報が格納される（図２０参照）。このため、これらについては説明を省略する。Ｉ／Ｏ制限処理プログラム３１４２については、後で詳細に説明する（図２５参照）。
【０３５６】
図２５は、本発明の第１の実施の形態のホスト計算機３１００のＩ／Ｏ制限処理プログラム３１４２のフローチャートである。
【０３５７】
図２５において、図２１と同様の部分については、詳細な説明を省略する。
【０３５８】
Ｉ／Ｏ制限処理プログラム３１４２は、図２４に示すように、ホスト計算機３１００のメモリ３１４０に格納され、プロセッサ３１２０によって実行される。Ｉ／Ｏ制限処理プログラム３１４２は、ホスト計算機３１００のアプリケーションプログラムからデータを書き込むＩ／Ｏ要求を受けたとき、Ｉ／Ｏ制限を実行する。
【０３５９】
Ｉ／Ｏ制限処理プログラム３１４２は、書き込みデータをアプリケーションプログラムから受け付けることによって実行が開始されると、当該データの書き込み対象のＬＵ３３１について、Ｉ／Ｏ制限情報３１４３を参照して、書き込み対象のＬＵＩＤ２５０１に対応する制限２５０２が「ＯＮ」であるか否かを判定する（３２０１）。
【０３６０】
ステップ３２０１において、書き込み対象のＬＵＩＤ２５０１に対応する制限２５０２が「ＯＮ」であると判定された場合、Ｉ／Ｏ制限処理プログラム３１４２は、Ｉ／Ｏ制限を実行するため、所定の時間スリープする（３２０２）。その後、Ｉ／Ｏ制限処理プログラム３１４２は、書き込み処理を実行する（３２０３）。
【０３６１】
一方、ステップ３２０１において、書き込み対象のＬＵＩＤ２５０１に対応する制限２５０２が「ＯＮ」でないと判定された場合、Ｉ／Ｏ制限処理プログラム３１４２は、Ｉ／Ｏ制限を実行しないため、スリープせずに、書き込み処理を実行する（３２０３）。
【０３６２】
このように、ホスト計算機３１００側でＩ／Ｏ制限を実行しても、記憶サブシステムへのデータ転送速度が低下するため、キャッシュメモリ３０３のデータ溢れを防ぐことができる。
【０３６３】
上記の本実施の形態は、一つのＣＧ６０２が複数の記憶サブシステムに跨る場合にも適用することができる。
【０３６４】
図２６は、本発明の第１の実施の形態の計算機システムに形成される複数の記憶サブシステムの系列に跨るコンシステンシグループ及びコピーペアの説明図である。
【０３６５】
図１７においても説明した通り、一つのＣＧ６０２が複数の記憶サブシステムに跨る場合とは、一つのＣＧ６０２が複数のコピーペア６０１によって構成され、それらのコピーペアがそれぞれ異なる記憶サブシステムの系列に属する場合である。具体的には、図２６のＣＧ１、ＣＧ２及びＣＧ３が、複数の記憶サブシステムに跨るＣＧ６０２である。
【０３６６】
図２６において、図１と同様の部分については、詳細な説明を省略する。
【０３６７】
図２６において、筐体１、筐体２、筐体３及び筐体４は、図１の筐体１、筐体２、筐体３及び筐体４と同様の記憶サブシステムである。ただし、図２６の筐体１、筐体２、筐体３及び筐体４は、それぞれ、ＬＵ１０、ＬＵ１１、ＬＵ１２及びＬＵ１３を格納する。
【０３６８】
筐体５、筐体６、筐体７及び筐体８は、筐体１、筐体２、筐体３及び筐体４と同様の記憶サブシステムである。筐体５は、ＬＵ２０及びＬＵ３０を格納する。筐体６は、ＬＵ２１及びＬＵ３１を格納する。筐体７は、ＬＵ２２及びＬＵ３２を格納する。筐体８は、ＬＵ２２及びＬＵ３２を格納する。
【０３６９】
ＬＵ１０及びＬＵ１１は、Ｐａｉｒ１１を形成する。ＬＵ１１及びＬＵ１２は、Ｐａｉｒ１２を形成する。ＬＵ１２及びＬＵ１３は、Ｐａｉｒ１３を形成する。
【０３７０】
ＬＵ２０及びＬＵ２１は、Ｐａｉｒ２１を形成する。ＬＵ２１及びＬＵ２２は、Ｐａｉｒ２２を形成する。ＬＵ２２及びＬＵ２３は、Ｐａｉｒ２３を形成する。
【０３７１】
ＬＵ３０及びＬＵ３１は、Ｐａｉｒ３１を形成する。ＬＵ３１及びＬＵ３２は、Ｐａｉｒ３２を形成する。ＬＵ３２及びＬＵ３３は、Ｐａｉｒ３３を形成する。
【０３７２】
Ｐａｉｒ１１及びＰａｉｒ２１は、ＣＧ１を形成する。Ｐａｉｒ１２及びＰａｉｒ２２は、ＣＧ２を形成する。Ｐａｉｒ１３及びＰａｉｒ２３は、ＣＧ３を形成する。
【０３７３】
筐体１のＬＵ１０及び筐体５のＬＵ２０は、ホスト計算機Ａ１３０によって使用される。すなわち、これらのＬＵ１０及びＬＵ２０には、ホスト計算機Ａ１３０からデータを書き込まれる。
【０３７４】
筐体５のＬＵ３０は、ホスト計算機Ｂ１３０によって使用される。すなわち、ＬＵ３０には、ホスト計算機Ｂ１３０からデータを書き込まれる。
【０３７５】
図２６の構成の計算機システムにも、上記の本実施の形態を適用することができる。
【０３７６】
図２６の例では、筐体３に書き込まれるデータは、ホスト計算機Ａ１３０から筐体１に書き込まれたデータのコピーである。筐体３のキャッシュメモリ３０３の使用量が閾値を超え、筐体２においてＩ／Ｏ制限が実行されると、Ｐａｉｒ１１におけるデータ転送速度が低下する。このとき、Ｐａｉｒ１１とＰａｉｒ２１は、同一のＣＧ１に属するため、コンシステンシを維持するために、Ｐａｉｒ２１におけるデータ転送速度も低下する。その結果、筐体１のキャッシュメモリ３０３だけでなく、筐体５のキャッシュメモリ３０３においても、データ溢れが発生しやすくなる。特に、筐体２においてＩ／Ｏ制限が実行される前から筐体６においてＩ／Ｏ制限が実行されていた場合、筐体５のキャッシュメモリ３０３においてデータ溢れが発生しやすい。
【０３７７】
筐体５のキャッシュメモリ３０３においてデータ溢れが発生すると、Ｐａｉｒ２１だけでなく、Ｐａｉｒ３１においてもリモートコピーが停止する。すなわち、筐体３のキャッシュメモリ３０３の使用量が閾値を超えたことが原因で、筐体３とは本来無関係のＰａｉｒ３１のリモートコピーが停止する。
【０３７８】
このようなリモートコピーの停止を防ぐため、本実施の形態では、図２６のように一つのＣＧ６０２が複数の記憶サブシステムの系列に跨る場合、どのキャッシュメモリ３０３において使用量が閾値を超えたかに関らず、使用量が閾値を超えたキャッシュメモリ３０３を備える記憶サブシステム１１０等より上位の全ての記憶サブシステムにおいてＩ／Ｏ制限を実行してもよい（図１７のステップ２２０６及びステップ２２１４参照）。
【０３７９】
あるいは、図２６のように上位の記憶サブシステムが複数のＣＧ６０２を含み、少なくとも一つのＣＧ６０２が複数の記憶サブシステムに跨る場合、それらの複数の記憶サブシステムのキャッシュメモリ３０３の使用量を参照し、その容量に余裕がある場合にＩ／Ｏ制限を実行してもよい。さらに、その判断をルール（図１２から図１４参照）として定義してもよい。
【０３８０】
図２７は、本発明の第１の実施の形態において、コンシステンシグループ６０２が複数の記憶サブシステムの系列に跨る場合に、管理計算機１４０に格納されるコピーペア管理情報２２２の説明図である。
【０３８１】
図２７において、Ｐａｉｒ３１、Ｐａｉｒ３２及びＰａｉｒ３３については、図示を省略する。
【０３８２】
ここでは、図８との相違点のみについて説明する。
【０３８３】
Ｐａｉｒ２１については、正記憶サブシステムＩＤ１１０４が「筐体５」、副記憶サブシステムＩＤ１１０６が「筐体６」である。Ｐａｉｒ２２については、正記憶サブシステムＩＤ１１０４が「筐体６」、副記憶サブシステムＩＤ１１０６が「筐体７」である。Ｐａｉｒ２３については、正記憶サブシステムＩＤ１１０４が「筐体７」、副記憶サブシステムＩＤ１１０６が「筐体８」である。
【０３８４】
本実施の形態によれば、キャッシュメモリ３０３の使用量が閾値を超えた場合、そのキャッシュメモリ３０３が属する記憶サブシステム以外の記憶サブシステムにおいてＩ／Ｏ制限を実行することができる。管理計算機１４０は、容量に余裕のあるキャッシュメモリ３０３が使用されるように、Ｉ／Ｏ制限を実行する記憶サブシステムを選択する。その結果、Ｉ／Ｏ制限を実行している記憶サブシステムの上位の記憶サブシステムにおいてデータ溢れが発生することを防ぐことによって、他のＣＧの処理に影響を与えずにＩ／Ｏ制限を実現することができる。
【０３８５】
また、本発明によれば、各記憶サブシステム間のリンク１６０の稼動状況が観測される。そして、Ｉ／Ｏ制限によってデータ溢れを防ぐことができる場合にのみ、Ｉ／Ｏ制限が実行される。すなわち、無意味なＩ／Ｏ制限を実行しないため、資源の浪費及びホストからのＩ／Ｏの性能低下を防ぐことができる。
【０３８６】
次に、本発明の第２の実施の形態について説明する。
【０３８７】
最初に、本発明の第２の実施の形態の計算機システムの構成について、図２６を参照して説明する。
【０３８８】
本実施の形態の計算機システムは、第１の実施の形態の図２６に示すものと同様、八つの記憶サブシステム、ホスト計算機１３０及び管理計算機１４０からなる。
【０３８９】
ただし、図２６と異なり、本実施の形態の管理計算機１４０は、直結記憶サブシステム１００のみに接続され、リモート記憶サブシステム１１０及び１２０とは接続されない。このため、本実施の形態の管理計算機１４０は、直結記憶サブシステム１００を介して、リモート記憶サブシステム１１０及び１２０から情報を取得する。また、本実施の形態の管理計算機１４０は、直結記憶サブシステム１００を介して、リモート記憶サブシステム１１０及び１２０にＩ／Ｏ制限命令を発行する。その他の点については、本実施の形態は第１の実施の形態と同様である。
【０３９０】
以下、本実施の形態については、第１の実施の形態との相違点についてのみ説明する。
【０３９１】
管理計算機１４０の構成について、図２を参照して説明する。
【０３９２】
本実施の形態の管理計算機１４０の構成は、第１の実施の形態の管理計算機１４０の構成と同様である（図２参照）。ただし、監視設定情報２２１の内容は、第１の実施の形態と異なる。これについては、後で詳細に説明する。
【０３９３】
なお、管理計算機１４０の情報収集プログラム２１５のフローチャートは、図１６及び図１７に示す通りであるが、ステップ２１０２及びステップ２１１６において発行される情報及びその送信先は、第１の実施の形態と異なる。これらについては、後で詳細に説明する。
【０３９４】
直結記憶サブシステム１００の構成について、図３を参照して説明する。
【０３９５】
本実施の形態の直結記憶サブシステム１００の構成は、第１の実施の形態の直結記憶サブシステム１００の構成と同様である（図３参照）。ただし、Ｉ／Ｏ制限命令受付プログラム３１１、筐体情報管理プログラム３１３及びＩ／Ｏ制限情報３２１の内容が第１の実施の形態と異なり、さらに、自連結位置判断プログラム３１４が追加されている。Ｉ／Ｏ制限命令受付プログラム３１１、筐体情報管理プログラム３１３、Ｉ／Ｏ制限情報３２１及び自連結位置判断プログラム３１４については、後で詳細に説明する。
【０３９６】
リモート記憶サブシステム１１０の構成について、図４を参照して説明する。
【０３９７】
本実施の形態のリモート記憶サブシステム１１０の構成は、第１の実施の形態のリモート記憶サブシステム１１０の構成と同様である（図４参照）。ただし、本実施の形態のリモート記憶サブシステム１１０は、管理計算機１４０と接続されないため、管理用Ｉ／Ｆ３０２を備えなくてもよい。さらに、Ｉ／Ｏ制限命令受付プログラム３１１、筐体情報管理プログラム３１３及びＩ／Ｏ制限情報３２１の内容が第１の実施の形態と異なり、自連結位置判断プログラム３１４が追加されている。
【０３９８】
リモート記憶サブシステム１２０の構成について、図５を参照して説明する。
【０３９９】
本実施の形態のリモート記憶サブシステム１２０の構成は、第１の実施の形態のリモート記憶サブシステム１１０からＩ／Ｏ制限命令受付プログラム３１１、Ｉ／Ｏ制限処理プログラム３１２及びＩ／Ｏ制限情報３２１を削除したものである。
【０４００】
図２８は、本発明の第２の実施の形態の管理計算機１４０に格納される監視設定情報２２１の説明図である。
【０４０１】
監視設定情報２２１は、監視インターバル９１０、直結記憶サブシステム情報４０１０及び記憶サブシステム連結情報４０２０からなる。
【０４０２】
監視インターバル９１０は、第１の実施の形態の監視設定情報２２１（図９参照）に含まれるものと同様である。
【０４０３】
直結記憶サブシステム情報４０１０は、計算機システムに存在する直結記憶サブシステム１００に関する情報を含む。具体的には、直結記憶サブシステム情報４０１０は、直結記憶サブシステム数４０１１、接続順序情報４０１２及び記憶サブシステムＩＤ４０１３を含む。
【０４０４】
直結記憶サブシステム数４０１１は、計算機システムに存在する直結記憶サブシステム１００の数である。本実施の形態の計算機システムは、図２６に示す構成であるため、直結記憶サブシステム数４０１１は「２」となる。
【０４０５】
記憶サブシステムＩＤ４０１３は、計算機システムに存在する直結記憶サブシステム１００の識別子である。図２６に示す構成の場合、記憶サブシステムＩＤ４０１３は、「筐体１」及び「筐体５」となる。
【０４０６】
接続順序情報４０１２は、直結記憶サブシステム１００が接続される順序である。図２８の例では、筐体１の接続順序情報４０１２が「１」、筐体５の接続順序情報４０１２が「２」となる。
【０４０７】
記憶サブシステム連結情報４０２０は、計算機システムに存在する記憶サブシステムの系列に関する情報を含む。具体的には、記憶サブシステム連結情報４０２０は、記憶サブシステム連結数４０２１、連結順序情報４０２２及び記憶サブシステムＩＤ４０２３を含む。
【０４０８】
記憶サブシステム連結数４０２１は、一つの記憶サブシステムの系列を構成する記憶サブシステムの数である。図２６の筐体１から筐体４までの系列及び筐体５から筐体８までの系列については、記憶サブシステム連結数４０２１は「４」となる。
【０４０９】
記憶サブシステムＩＤ４０２３は、各系列を構成する記憶サブシステムの識別子である。図２６の筐体１から筐体４までの系列の場合、記憶サブシステムＩＤ４０２３は、「筐体１」、「筐体２」、「筐体３」及び「筐体４」となる。図２６の筐体５から筐体８までの系列の場合、記憶サブシステムＩＤ４０２３は、「筐体５」、「筐体６」、「筐体７」及び「筐体８」となる（図示省略）。
【０４１０】
連結順序情報４０２２は、各記憶サブシステムに付与される順序情報であり、最上位の記憶サブシステム（直結記憶サブシステム１００）の連結順序情報４０２２が「１」となり、以下、下位に向かって「１」ずつ大きくなる値が付与される。例えば、「筐体１」、「筐体２」、「筐体３」及び「筐体４」の連結順序情報４０２２は、それぞれ、「１」、「２」、「３」及び「４」である。
【０４１１】
図２９は、本発明の第２の実施の形態の管理計算機１４０が直結記憶サブシステム１００に発行する状態情報取得命令の説明図である。
【０４１２】
管理計算機１４０が図１６のステップ２１０２において記憶サブシステムから情報を取得するとき、図２９に示す状態情報取得命令データ４１００が管理計算機１４０から直結記憶サブシステム１００に発行される。各記憶サブシステムは、下位に記憶サブシステムが連結されている場合、受け付けた状態情報取得命令データ４１００を下位の記憶サブシステムに転送する（図３０参照）。
【０４１３】
なお、図２９（Ａ）は、状態情報取得命令データ４１００の形式を示す図であり、図２９（Ｂ）は、状態情報取得命令データ４１００の一例を示す図である。
【０４１４】
状態情報取得命令データ４１００は、少なくとも、状態取得コマンド種類４１０１、記憶サブシステムＩＤ４１０２、ＣＧＩＤ４１０３及び取得情報種類４１０４を含む（図２９（Ａ））。
【０４１５】
状態取得コマンド種類４１０１は、発行される命令の種類を示す情報である。図２９の場合、最新のペア状態等を取得するため、状態取得コマンド種類４１０１は、「最新」となる（図２９（Ｂ））。
【０４１６】
記憶サブシステムＩＤ４１０２は、情報を取得する対象の記憶サブシステムの識別子である。例えば、筐体２から情報を取得しようとする場合、記憶サブシステムＩＤ４１０２は「筐体２」となる（図２９（Ｂ））。
【０４１７】
ＣＧＩＤ４１０３は、情報を取得する対象のＣＧ６０２の識別子である。例えば、ＣＧ１から情報を取得しようとする場合、ＣＧＩＤ４１０３は「ＣＧ１」となる（図２９（Ｂ））。
【０４１８】
取得情報種類４１０４は、取得しようとする情報の種類を示す情報である。本実施の形態では、取得しようとする情報は、全体キャッシュ使用量、個別キャッシュ使用量及びリンク稼動状況である。（図１８（Ｂ））。
【０４１９】
図３０は、本発明の第２の実施の形態の記憶サブシステムの筐体情報管理プログラム３１３が実行する系列状態取得処理のフローチャートである。
【０４２０】
記憶サブシステムの筐体情報管理プログラム３１３は、系列状態取得処理を開始すると、最初に、状態情報取得命令データ４１００（図２９参照）を受信する（４２０１）。
【０４２１】
次に、筐体情報管理プログラム３１３は、自連結位置判断プログラム３１４に、当該筐体情報管理プログラム３１３を格納する記憶サブシステム（以下、当該記憶サブシステムと記載する）が末端記憶サブシステムであるか否かを判定させる（４２０２）。ここで、末端記憶サブシステムとは、下位に他の記憶サブシステムが連結されていない記憶サブシステムである。図２６の例では、筐体４及び筐体８が末端記憶サブシステムである。
【０４２２】
ステップ４２０２において、当該記憶サブシステムが末端記憶サブシステムであると判定された場合、受信した状態情報取得命令データ４１００の取得情報種類４１０４に従って、状態情報を生成する（４２０３）。本実施の形態では、筐体情報管理プログラム３１３は、コピーペア構成情報３２２、キャッシュ管理テーブル３２３及びリンク稼動状況テーブル３２４を参照して、全体キャッシュ使用量、個別キャッシュ使用量及びリンク稼動状況を状態情報として生成する。
【０４２３】
一方、ステップ４２０２において、当該記憶サブシステムが末端記憶サブシステムでないと判定された場合、下位の記憶サブシステムから情報を取得する必要がある。このため、筐体情報管理プログラム３１３は、状態情報取得命令データ４１００を下位の記憶サブシステムに転送し、下位の記憶サブシステムからの応答を待つ（４２０４）。
【０４２４】
筐体情報管理プログラム３１３は、下位の記憶サブシステムから状態情報の応答を受けると、受けた状態情報をコピーペア構成情報３２２等に格納するとともに（４２０５）、当該記憶サブシステムの状態情報を追加して、状態情報を生成する（４２０６）。
【０４２５】
筐体情報管理プログラム３１３は、状態情報を生成すると（４２０３又は４２０４）、自連結位置判断プログラム３１４に、当該記憶サブシステムがホスト計算機１３０に直結されているか否か（すなわち、当該記憶サブシステムが直結記憶サブシステム１００であるか否か）を判定させる（４２０７）。
【０４２６】
ステップ４２０７において、当該記憶サブシステムがホスト計算機１３０に直結されていると判定された場合、筐体情報管理プログラム３１３は、状態情報をホスト計算機１３０に送信する（４２０８）。
【０４２７】
一方、ステップ４２０７において、当該記憶サブシステムがホスト計算機１３０に直結されていないと判定された場合、筐体情報管理プログラム３１３は、状態情報を上位の記憶サブシステムに送信する（４２０９）。
【０４２８】
以上で、系列状態取得処理を終了する。
【０４２９】
図３１は、本発明の第２の実施の形態の管理計算機１４０が記憶サブシステムに発行するＩ／Ｏ制限命令の説明図である。
【０４３０】
管理計算機１４０が図１６のステップ２１１６又は２１０６においてＩ／Ｏ制限命令を発行するとき、図３１に示すＩ／Ｏ制限命令データ４３００が管理計算機１４０から直結記憶サブシステム１００に転送される。図３１（Ａ）は、Ｉ／Ｏ制限命令データ４３００の形式を示す図であり、図３１（Ｂ）は、Ｉ／Ｏ制限命令データ４３００の一例を示す図である。
【０４３１】
Ｉ／Ｏ制限命令データ４３００は、第１の実施の形態のＩ／Ｏ制限命令データ２３００に、サブシステムＩＤ４３０１を追加したものである（図３１（Ａ））。ＬＵＩＤ２３０１、コマンド種別２３０２及び制御内容２３０３については、図１８において説明したため、ここでは説明を省略する。
【０４３２】
本実施の形態では、第１の実施の形態と異なり、全てのＩ／Ｏ制限命令が管理計算機１４０から直結記憶サブシステム１００に転送される。すなわち、各記憶サブシステムは、自分以外の記憶サブシステムを対象として発行されたＩ／Ｏ制限命令を受信する場合がある。このため、Ｉ／Ｏ制限命令データ４３００は、Ｉ／Ｏ制限命令の対象の記憶サブシステムを識別するサブシステムＩＤ４３０１を含む。例えば、Ｉ／Ｏ制限命令の対象の記憶サブシステムが筐体１である場合、サブシステムＩＤ４３０１は、「筐体１」となる（図３１（Ｂ））。
【０４３３】
図３２は、本発明の第２の実施の形態の記憶サブシステムのＩ／Ｏ制限命令受付プログラム３１１のフローチャートである。
【０４３４】
Ｉ／Ｏ制限命令受付プログラム３１１は、直結記憶サブシステム１００及びリモート記憶サブシステム１１０のメモリ３０６に格納され、プロセッサ３０４によって実行される。Ｉ／Ｏ制限命令受付プログラム３１１は、管理計算機１４０から発行されたＩ／Ｏ制限命令（図１６のステップ２１１６又は２１０６参照）を受けて、Ｉ／Ｏ制限の実行又は解除を設定する。
【０４３５】
Ｉ／Ｏ制限命令受付プログラム３１１は、Ｉ／Ｏ制限命令を受け付けると（４４０１）、当該Ｉ／Ｏ制限命令を受けた記憶サブシステム（以下、当該記憶サブシステムとする）が、当該Ｉ／Ｏ制限命令の対象の記憶サブシステムであるか否かを判定する（４４０２）。具体的には、受け付けたＩ／Ｏ制限命令データ４３００のサブシステムＩＤ４３０１を参照し、これが当該記憶サブシステムの識別子と一致する場合、当該記憶サブシステムが当該Ｉ／Ｏ制限命令の対象であると判定される。
【０４３６】
ステップ４４０２において、当該記憶サブシステムが当該Ｉ／Ｏ制限命令の対象でないと判定された場合、当該Ｉ／Ｏ制限命令は、他の記憶サブシステムに対して発行されたものである。このため、Ｉ／Ｏ制限命令受付プログラム３１１は、当該Ｉ／Ｏ制限命令を下位の記憶サブシステムに転送して（４４０３）、処理を終了する。
【０４３７】
一方、ステップ４４０２において、当該記憶サブシステムが当該Ｉ／Ｏ制限命令の対象であると判定された場合、Ｉ／Ｏ制限命令受付プログラム３１１は、受け付けたＩ／Ｏ制限命令が「ＯＮ」（すなわち、Ｉ／Ｏ制限を実行する命令）であるか否かを判定する（４４０４）。具体的には、Ｉ／Ｏ制限命令データ４３００のコマンド種別２３０２が「Ｉ／Ｏ制限」、制御内容２３０３が「ＯＮ」であるか否かを判定する。
【０４３８】
ステップ４４０４において、受け付けたＩ／Ｏ制限命令が「ＯＮ」であると判定された場合、Ｉ／Ｏ制限の実行が命令されている。このため、Ｉ／Ｏ制限命令受付プログラム３１１は、当該Ｉ／Ｏ制限命令によって指定されたＬＵＩＤ２３０１について、Ｉ／Ｏ制限の実行をＩ／Ｏ制限情報３１３に登録する（４４０５）。
【０４３９】
一方、ステップ４４０４において、受け付けたＩ／Ｏ制限命令が「ＯＦＦ」であると判定された場合、Ｉ／Ｏ制限の解除が命令されている。このため、Ｉ／Ｏ制限命令受付プログラム３１１は、当該Ｉ／Ｏ制限命令によって指定されたＬＵＩＤ２３０１について、Ｉ／Ｏ制限の実行をＩ／Ｏ制限情報３１３に登録する（４４０６）。
【０４４０】
以上で、処理を終了する。
【０４４１】
以上の本実施の形態によれば、管理計算機１４０は、直結記憶サブシステム１００を経由して当該直結記憶サブシステム１００の下位のリモート記憶サブシステム１１０等にＩ／Ｏ制限命令を発行することができる。その結果、管理計算機は、リモート記憶サブシステム１１０等と直接接続されていなくても、それらを制御することができる。
【図面の簡単な説明】
【０４４２】
【図１】本発明の第１の実施の形態の計算機システムの構成を示すブロック図である。
【図２】本発明の第１の実施の形態の管理計算機の構成を示すブロック図である。
【図３】本発明の第１の実施の形態の直結記憶サブシステムの構成を示すブロック図である。
【図４】本発明の第１の実施の形態のリモート記憶サブシステムの構成を示すブロック図である。
【図５】本発明の第１の実施の形態の別のリモート記憶サブシステムの構成を示すブロック図である。
【図６】本発明の第１の実施の形態の管理計算機に格納される監視設定情報の説明図である。
【図７】本発明の第１の実施の形態の管理計算機の構成情報収集プログラムのフローチャートである。
【図８】本発明の第１の実施の形態の管理計算機に格納されるコピーペア管理情報の説明図である。
【図９】本発明の第１の実施の形態の管理計算機の閾値設定プログラムのフローチャートである。
【図１０】本発明の第１の実施の形態の管理計算機に表示される閾値設定画面の説明図である。
【図１１】本発明の第１の実施の形態の管理計算機に格納されるキャッシュ使用量閾値情報の説明図である。
【図１２】本発明の第１の実施の形態の管理計算機に表示される障害定義情報設定画面の説明図である。
【図１３】本発明の第１の実施の形態の管理計算機に格納される障害定義情報の説明図である。
【図１４】本発明の第１の実施の形態において適用されるルールの例の説明図である。
【図１５】本発明の第１の実施の形態の管理計算機に格納されるＩ／Ｏ制限装置情報の説明図である。
【図１６】本発明の第１の実施の形態の管理計算機の情報収集プログラムのフローチャートである。
【図１７】本発明の第１の実施の形態の管理計算機の情報収集プログラムが実行するＩ／Ｏ制限装置選択処理のフローチャートである。
【図１８】本発明の第１の実施の形態の管理計算機が記憶サブシステムに発行するＩ／Ｏ制限命令の説明図である。
【図１９】本発明の第１の実施の形態の記憶サブシステムのＩ／Ｏ制限命令受付プログラムのフローチャートである。
【図２０】本発明の第１の実施の形態の記憶サブシステムに格納されるＩ／Ｏ制限情報の説明図である。
【図２１】本発明の第１の実施の形態の記憶サブシステムのＩ／Ｏ制限処理プログラムのフローチャートである。
【図２２】本発明の第１の実施の形態の記憶サブシステムに格納される各種の情報の説明図である。
【図２３】本発明の第１の実施の形態の記憶サブシステムの筐体情報管理プログラムが実行する筐体情報提供処理のフローチャートである。
【図２４】本発明の第１の実施の形態のＩ／Ｏ制限を実行するホスト計算機の構成を示すブロック図である。
【図２５】本発明の第１の実施の形態のホスト計算機のＩ／Ｏ制限処理プログラムのフローチャートである。
【図２６】本発明の第１の実施の形態の計算機システムに形成される複数の記憶サブシステムに跨るコンシステンシグループ及びコピーペアの説明図である。
【図２７】本発明の第１の実施の形態において、コンシステンシグループが複数の記憶サブシステムの系列に跨る場合に、管理計算機に格納されるコピーペア管理情報の説明図である。
【図２８】本発明の第２の実施の形態の管理計算機に格納される監視設定情報の説明図である。
【図２９】本発明の第２の実施の形態の管理計算機が直結記憶サブシステムに発行する状態情報取得命令の説明図である。
【図３０】本発明の第２の実施の形態の記憶サブシステムの筐体情報管理プログラムが実行する系列状態取得処理のフローチャートである。
【図３１】本発明の第２の実施の形態の管理計算機が記憶サブシステムに発行するＩ／Ｏ制限命令の説明図である。
【図３２】本発明の第２の実施の形態の記憶サブシステムのＩ／Ｏ制限命令受付プログラムのフローチャートである。
【符号の説明】
【０４４３】
１００  直結記憶サブシステム
１１０、１２０  リモート記憶サブシステム
１３０  ホスト計算機
１４０  管理計算機
１５０  ストレージネットワーク
１６０  リンク
１７０  管理ネットワーク
２０１  入力装置
２０２  ＣＰＵ
２０３  表示装置
２０４、３０６  メモリ
２０５  ストレージ管理インターフェース（Ｉ／Ｆ）
３００、４００  コントローラ
３０１  ホストＩ／Ｆ
３０２  管理用Ｉ／Ｆ
３０３  キャッシュメモリ
３０４  プロセッサ
３０５  記憶装置Ｉ／Ｆ
３３０  ディスクアレイ
３３１  論理ボリューム（ＬＵ）
【図１】
0004681374.tif 000002
【図２】
0004681374.tif 000003
【図３】
0004681374.tif 000004
【図４】
0004681374.tif 000005
【図５】
0004681374.tif 000006
【図６】
0004681374.tif 000007
【図７】
0004681374.tif 000008
【図８】
0004681374.tif 000009
【図９】
0004681374.tif 000010
【図１０】
0004681374.tif 000011
【図１１】
0004681374.tif 000012
【図１２】
0004681374.tif 000013
【図１３】
0004681374.tif 000014
【図１４】
0004681374.tif 000015
【図１５】
0004681374.tif 000016
【図１６】
0004681374.tif 000017
【図１７】
0004681374.tif 000018
【図１８】
0004681374.tif 000019
【図１９】
0004681374.tif 000020
【図２０】
0004681374.tif 000021
【図２１】
0004681374.tif 000022
【図２２】
0004681374.tif 000023
【図２３】
0004681374.tif 000024
【図２４】
0004681374.tif 000025
【図２５】
0004681374.tif 000026
【図２６】
0004681374.tif 000027
【図２７】
0004681374.tif 000028
【図２８】
0004681374.tif 000029
【図２９】
0004681374.tif 000030
【図３０】
0004681374.tif 000031
【図３１】
0004681374.tif 000032
【図３２】
0004681374.tif 000033