(57)【特許請求の範囲】
【請求項１】
上位装置に対して、データを読み書きするための第１のボリュームを提供する、少なくとも１つのストレージ装置から構成される第１のストレージ部と、前記第１のボリュームに書き込まれたデータを複製するための第２のボリュームを提供する、少なくとも１つのストレージ装置から構成される第２のストレージ部とを有するストレージシステムにおいて、
前記第１のストレージ部は、
１又は複数の前記第１のボリュームを含む複数の第１のグループを設定すると共に、設定した前記第１のグループごとに、前記第１のボリュームに対するデータの書き込みがあったときに、当該データ及び当該データの書き込み時刻を示すタイムスタンプを含むジャーナルを作成するジャーナル作成部
を備え、
前記第２のストレージ部は、
各前記第１のグループにそれぞれ対応させて、それぞれ１又は複数の前記第２のボリュームを含む複数の第２のグループを設定すると共に、設定した前記第２のグループごとに、前記ジャーナルを定期的にかつ作成された順番で前記第１のストレージ装置から取得し、取得した前記ジャーナルを対応する前記第２のグループ内の対応する前記第２のボリュームに反映するジャーナル取得反映部と、
前記第２のボリュームに未反映の状態で滞留している前記ジャーナルに含まれる前記第２のグループごとの最新の前記タイムスタンプを比較し、最新及び最古の前記タイムスタンプの時間差を検出する時間差検出部と、
前記時間差が予め設定された閾値を超えた場合に、前記タイムスタンプが最古の前記第２のグループについての前記ジャーナルを、他の前記第２のグループについての前記ジャーナルに優先して取得するための所定の制御処理を実行するジャーナル取得制御部と
を備える
ことを特徴とするストレージシステム。
【請求項２】
前記第２のストレージ部の前記時間差検出部は、
前記第２のグループごとの最新の前記タイムスタンプを定期的に比較する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項３】
前記上位装置は、
前記時間差検出部が前記第２のグループごとの最新の前記タイムスタンプを比較する周期を任意に設定するための設定画面を表示すると共に、前記設定画面において指定された指定値を前記第１のストレージ部を介して前記第２のストレージ部に通知し、
前記第２のストレージ部は、
前記上位装置から通知された前記設定画面において指定された前記指定値を、前記時間差検出部が前記第２のグループごとの最新の前記タイムスタンプを比較する周期として設定する
ことを特徴とする請求項２に記載のストレージシステム。
【請求項４】
前記第２のストレージ部の前記ジャーナル制御処理部は、
前記タイムスタンプが最古の前記第２のグループについての前記ジャーナルを、予め定められた所定のジャーナル量だけ取得するまで、当該第２のグループについての前記ジャーナルの取得を優先し、当該第２のグループ以外の前記第２のグループについての前記ジャーナルの取得を抑止する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項５】
前記上位装置は、
前記ジャーナル量を任意に設定するための設定画面を表示すると共に、前記設定画面において指定された指定値を前記第１のストレージ部を介して前記第２のストレージ部に通知し、
前記第２のストレージ部は、
前記上位装置から通知された前記設定画面において指定された前記指定値を、前記ジャーナル量として設定する
ことを特徴とする請求項４に記載のストレージシステム。
【請求項６】
前記第２のストレージ部は、
複数のストレージ装置から構成され、
前記時間差検出部及び前記ジャーナル取得制御部は、
前記複数のストレージ装置のうちの予め設定された１つのストレージ装置である
ことを特徴とする請求項１に記載のストレージシステム。
【請求項７】
前記上位装置は、
前記時間差検出部により検出される前記時間差の前記閾値を任意に設定するための設定画面を表示すると共に、前記設定画面において指定された指定値を前記第１のストレージ部を介して前記第２のストレージ部に通知し、
前記第２のストレージ部は、
前記上位装置から通知された前記設定画面において指定された前記指定値を、前記時間差検出部により検出される前記時間差の前記閾値として設定する
ことを特徴とする請求項１に記載のストレージシステム。
【請求項８】
上位装置に対して、データを読み書きするための第１のボリュームを提供する、少なくとも１つのストレージ装置から構成される第１のストレージ部と、前記第１のボリュームに書き込まれたデータをリモートコピーするための第２のボリュームを提供する、少なくとも１つのストレージ装置から構成される第２のストレージ部とを有するストレージシステムにおけるリモートコピーを制御方法において、
前記第１のストレージ部において、１又は複数の前記第１のボリュームを含む複数の第１のグループを設定すると共に、設定した前記第１のグループごとに、前記第１のボリュームに対するデータの書き込みがあったときに、当該データ及び当該データの書き込み時刻を示すタイムスタンプを含むジャーナルを作成する第１のステップと、
前記第２のストレージ部において、各前記第１のグループにそれぞれ対応させて、それぞれ１又は複数の前記第２のボリュームを含む複数の第２のグループを設定すると共に、設定した前記第２のグループごとに、前記ジャーナルを定期的にかつ作成された順番で前記第１のストレージ装置から取得し、取得した前記ジャーナルを対応する前記第２のグループ内の対応する前記第２のボリュームに反映する一方、前記第２のボリュームに未反映の状態で滞留している前記ジャーナルに含まれる前記第２のグループごとの最新の前記タイムスタンプを比較して、最新及び最古の前記タイムスタンプの時間差を検出し、前記時間差が予め設定された閾値を超えた場合に、前記タイムスタンプが最古の前記第２のグループについての前記ジャーナルを、他の前記第２のグループについての前記ジャーナルに優先して取得する第２のステップと
を備えることを特徴とするリモートコピー制御方法。
【請求項９】
前記第２のステップでは、
前記第２のグループごとの最新の前記タイムスタンプを定期的に比較する
ことを特徴とする請求項８に記載のリモートコピー制御方法。
【請求項１０】
前記上位装置は、
前記第２のステップにおいて前記第２のグループごとの最新の前記タイムスタンプを比較する周期を任意に設定するための設定画面を表示すると共に、前記設定画面において指定された指定値を前記第１のストレージ部を介して前記第２のストレージ部に通知し、
前記第２のストレージ部は、
前記上位装置から通知された前記設定画面において指定された前記指定値を、前記第２のステップにおいて前記第２のグループごとの最新の前記タイムスタンプを比較する周期として設定する
ことを特徴とする請求項９に記載のリモートコピー制御方法。
【請求項１１】
前記第２のステップでは、
前記タイムスタンプが最古の前記第２のグループについての前記ジャーナルを、予め定められた所定のジャーナル量だけ取得するまで、当該第２のグループについての前記ジャーナルを、他の前記第２のグループについての前記ジャーナルよりも優先して取得する
ことを特徴とする請求項８に記載のリモートコピー制御方法。
【請求項１２】
前記上位装置は、
前記ジャーナル量を任意に設定するための設定画面を表示すると共に、前記設定画面において指定された指定値を前記第１のストレージ部を介して前記第２のストレージ部に通知し、
前記第２のストレージ部は、
前記上位装置から通知された前記設定画面において指定された前記指定値を、前記ジャーナル量として設定する
ことを特徴とする請求項１１に記載のリモートコピー制御方法。
【請求項１３】
前記第２のストレージ部は、
複数のストレージ装置から構成され、
前記第２のステップでは、
前記複数のストレージ装置のうちの予め設定された１つのストレージ装置が、前記第２のボリュームに未反映の状態で滞留している前記ジャーナルに含まれる前記第２のグループごとの最新の前記タイムスタンプを比較して、最新及び最古のタイムスタンプの時間差を検出し、前記時間差が予め設定された閾値を超えた場合に、前記タイムスタンプが最古の前記第２のグループについての前記ジャーナルを、他の前記第２のグループについての前記ジャーナルに優先して取得するための所定の制御処理を実行する
ことを特徴とする請求項８に記載のリモートコピー制御方法。
【請求項１４】
前記上位装置は、
前記第２のステップにおける前記時間差の前記閾値を任意に設定するための設定画面を表示すると共に、前記設定画面において指定された指定値を前記第１のストレージ部を介して前記第２のストレージ部に通知し、
前記第２のストレージ部は、
前記上位装置から通知された前記設定画面において指定された前記指定値を、前記時間差の前記閾値として設定する
ことを特徴とする請求項８に記載のリモートコピー制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージシステム及びリモートコピー制御方法に関し、例えば運用拠点及び遠隔拠点間に設置されたストレージ装置間でデータをリモートコピーするストレージシステムに適用して好適なものである。
【背景技術】
【０００２】
現在、地震又はハリケーンなどによる大規模な自然災害や、システム操作者の誤操作又はテロリズム攻撃などによる人的災害、並びに機器及びプログラムの不具合によるデータ破壊からデータを保護するために、特に大企業や政府系のシステムにおいてリモートコピー技術が広く使用されている。
【０００３】
また、近年では業務で扱うデータ量が増大傾向にあり、これに伴ってリモートコピーの対象となるストレージ装置の数も増加しているため、大規模なストレージシステムを対象として入出力データの順序性・一貫性を保ったまま遠隔拠点にデータを複製可能なリモートコピー技術のニーズが高まっている。
【０００４】
このようなニーズに対して、例えば特許文献１及び特許文献２には、運用拠点に設置された複数台のストレージ装置（以下、これを正ストレージ装置と呼ぶ）がそれぞれ提供する複数のデータボリュームを複数のグループ（以下、これを正ジャーナルグループと呼ぶ）に分けると共に、これら正ジャーナルグループと対応させて、遠隔拠点に設置された複数台のストレージ装置（以下、これを副ストレージ装置と呼ぶ）がそれぞれ提供する複数のデータボリュームを複数のグループ（以下、これを副ジャーナルグループと呼ぶ）に分け、対応する正ジャーナル部ループ及び副ジャーナルグループ間で非同期リモートコピーを行なうリモートコピー技術が開示されている。
【０００５】
かかるリモートコピー技術においては、正ストレージ装置内のデータボリュームにデータが書き込まれたときに、書き込まれたデータ自体並びに当該データが書き込まれた位置及びその時刻（タイムスタンプ）などからなるジャーナルと呼ばれるデータボリュームの更新履歴情報を正ストレージ装置において作成する。
【０００６】
一方、副ストレージ装置は、定期的に対応する正ストレージ装置にジャーナルの転送要求（以下、これをジャーナル転送要求と呼ぶ）を送信する。また副ストレージ装置は、かかるジャーナル転送要求に応じて正ストレージ装置から転送されるジャーナルに含まれるデータを自ストレージ装置内の対応するデータボリュームの対応する位置に書き込む（以下、これを「ジャーナルをデータボリュームに反映する」と呼ぶ）。
【０００７】
このとき遠隔拠点側では、複数の副ストレージ装置の中から他のすべての副ストレージ装置と通信可能なマスタが設定される。そしてマスタに設定された副ストレージ装置は、自ストレージ装置内に設定された各ジャーナルグループと、他の副ストレージ装置内に設定された各ジャーナルグループとがそれぞれ持つ滞留中のジャーナルのうちの最新のジャーナルに含まれるタイムスタンプ（以下、これをグループ内最新タイムスタンプと呼ぶ）を取得する。
【０００８】
またマスタに設定された副ストレージ装置は、取得した全ジャーナルグループのグループ内最新タイムスタンプの値を相互に比較し、そのうちの最古のグループ内最新タイムスタンプに合わせて、当該最古のグループ内最新タイムスタンプが示す時刻までのジャーナルを各副データボリュームに一斉に反映するように他の副ストレージ装置を制御する。
【０００９】
このようなリモートコピー技術によれば、複数のジャーナルグループに跨って、ホストからの入出力データの順序性・一貫性を保ったまま遠隔拠点にデータを複製することが可能となる。
【００１０】
しかしながら、かかる特許文献１及び特許文献２に開示されたリモートコピー技術においては、正ストレージ装置のデータ入出力負荷が異なる場合について考慮されておらず、どのジャーナルグループ間のコピーにおいても同レベルでのデータ量及び間隔のデータ転送を定期的に行うため、データ入出力負荷が高いジャーナルグループほど遠隔拠点に転送しきれないジャーナルが増加するという問題がある。
【００１１】
この結果、かかるリモートコピー技術によると、ジャーナルグループ間で最新タイムスタンプの時間差が増大するため、特にデータ入出力負荷の少ないジャーナルグループにおいて、データボリュームにコピーされるデータの最新性が損なわれていく問題があった。
【００１２】
なお、特許文献３にも複数のストレージ装置間で順序性を保ったデータ転送と複製を行うリモートコピー技術が開示されてはいるが、この特許文献３でも上述のような正ストレージ装置間でデータ入出力負荷が異なることに対する配慮は示されていない。
【特許文献１】特開２００５−２６７２１６号公報
【特許文献２】特開２００６−３１８４９１号公報
【特許文献３】特開２００６−１０７４５０号公報
【発明の開示】
【発明が解決しようとする課題】
【００１３】
災害や障害によって業務システムがダウンした場合に、システムダウンの影響を最小限にとどめてシステムを回復するためには、可能な限りシステムがダウンした時点に近い状態のデータを、ホスト入出力の一貫性を保証した状態で複製しておく必要がある。
【００１４】
複数のジャーナルグループを一貫性保証の対象とする場合、個々のジャーナルグループの内部だけでなく、業務的に関連するすべてのジャーナルグループを対象としてデータの順序性と整合性を保証しなくてはならないため、業務で扱うデータ量が増えて複製の対象となるジャーナルグループの数が増加するごとに、先述のデータ入出力負荷の差異に伴う問題から、従来技術の範囲ではデータの最新性を確保した一貫性を保証することが困難となる。
【００１５】
そのため、複数のジャーナルグループを一貫性保証の対象とするシステムでは、ジャーナルグループの数が増加するごとに、業務システムが障害から復旧した場合に、より古い時点のデータしか復旧できず、災害発生時に、どの時点のデータまで復旧可能であるかを示す指針であるＲＰＯ（Recovery Point Objective）が低下する問題があった。
【００１６】
本発明は以上の点を考慮してなされたもので、障害発生時のＲＰＯを改善し、信頼性の高いストレージシステム及びリモートコピー制御方法を提案しようとするものである。
【課題を解決するための手段】
【００１７】
かかる課題を解決するため本発明においては、上位装置に対して、データを読み書きするための第１のボリュームを提供する、少なくとも１つのストレージ装置から構成される第１のストレージ部と、前記第１のボリュームに書き込まれたデータを複製するための第２のボリュームを提供する、少なくとも１つのストレージ装置から構成される第２のストレージ部とを有するストレージシステムにおいて、前記第１のストレージ部は、１又は複数の前記第１のボリュームを含む複数の第１のグループを設定すると共に、設定した前記第１のグループごとに、前記第１のボリュームに対するデータの書き込みがあったときに、当該データ及び当該データの書き込み時刻を示すタイムスタンプを含むジャーナルを作成するジャーナル作成部を備え、前記第２のストレージ部は、各前記第１のグループにそれぞれ対応させて、それぞれ１又は複数の前記第２のボリュームを含む複数の第２のグループを設定すると共に、設定した前記第２のグループごとに、前記ジャーナルを定期的にかつ作成された順番で前記第１のストレージ装置から取得し、取得した前記ジャーナルを対応する前記第２のグループ内の対応する前記第２のボリュームに反映するジャーナル取得反映部と、前記第２のボリュームに未反映の状態で滞留している前記ジャーナルに含まれる前記第２のグループごとの最新の前記タイムスタンプを比較し、最新及び最古のタイムスタンプの時間差を検出する時間差検出部と、前記時間差が予め設定された閾値を超えた場合に、前記タイムスタンプが最古の前記第２のグループについての前記ジャーナルを、他の前記第２のグループについての前記ジャーナルに優先して取得するための所定の制御処理を実行するジャーナル取得制御部とを備えることを特徴とする。
【００１８】
この結果、このストレージシステムでは、リモートコピーを行う第２のグループの数にかかわりなく、第２のグループ間において一定の時間的範囲内（閾値内）において、第２のグループ間におけるデータの最新性を確保した一貫性を保証することができる。
【００１９】
また本発明においては、上位装置に対して、データを読み書きするための第１のボリュームを提供する、少なくとも１つのストレージ装置から構成される第１のストレージ部と、前記第１のボリュームに書き込まれたデータをリモートコピーするための第２のボリュームを提供する、少なくとも１つのストレージ装置から構成される第２のストレージ部とを有するストレージシステムにおけるリモートコピーを制御方法において、前記第１のストレージ部において、１又は複数の前記第１のボリュームを含む複数の第１のグループを設定すると共に、設定した前記第１のグループごとに、前記第１のボリュームに対するデータの書き込みがあったときに、当該データ及び当該データの書き込み時刻を示すタイムスタンプを含むジャーナルを作成する第１のステップと、前記第２のストレージ部において、各前記第１のグループにそれぞれ対応させて、それぞれ１又は複数の前記第２のボリュームを含む複数の第２のグループを設定すると共に、設定した前記第２のグループごとに、前記ジャーナルを定期的にかつ作成された順番で前記第１のストレージ装置から取得し、取得した前記ジャーナルを対応する前記第２のグループ内の対応する前記第２のボリュームに反映する一方、前記第２のボリュームに未反映の状態で滞留している前記ジャーナルに含まれる前記第２のグループごとの最新の前記タイムスタンプを比較して、最新及び最古の前記タイムスタンプの時間差を検出し、前記時間差が予め設定された閾値を超えた場合に、前記タイムスタンプが最古の前記第２のグループについての前記ジャーナルを、他の前記第２のグループについての前記ジャーナルに優先して取得する第２のステップとを備えることを特徴とする。
【００２０】
この結果、このリモートコピー制御方法によれば、リモートコピーを行う第２のグループの数にかかわりなく、第２のグループ間において一定の時間的範囲内（閾値内）において、第２のグループ間におけるデータの最新性を確保した一貫性を保証することができる。
【発明の効果】
【００２１】
本発明によれば、障害発生時のＲＰＯを改善し、信頼性の高いストレージシステム及びリモートコピー制御方法を実現できる。
【発明を実施するための最良の形態】
【００２２】
以下図面について、本発明の一実施の形態を詳述する。
【００２３】
（１）第１の実施の形態
（１−１）本実施の形態によるストレージシステムの構成
図１において、１は全体として第１の実施の形態によるストレージシステムを示す。このストレージシステムは、ホスト２及び運用拠点に設置された正ストレージ装置３が接続されると共に、正ストレージ装置３がネットワーク４を介して遠隔拠点に設置された副ストレージ装置５と接続されることにより構成されている。
【００２４】
ホスト２は、ＣＰＵ（Central Processing Unit）１０及びメモリ１１等の情報処理資源を備えたメインフレーム系のコンピュータ装置から構成される。ＣＰＵ１０はホスト２全体の動作制御を司るプロセッサであり、メモリ１１に格納された業務プログラム１２をＣＰＵ１０が実行することにより、ホスト２全体として業務に関する各種処理を行う。メモリ１１は、業務プログラム１２を含む各種制御プログラムを保持するために用いられるほか、ＣＰＵ１０のワークメモリとしても用いられる。また、ホスト２は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置（図示せず）と、モニタディスプレイやスピーカ等の情報出力装置（図示せず）とを備える。
【００２５】
ネットワーク４は、例えばＳＡＮ（Storage Area Network）、ＬＡＮ（Local Area Network）、インターネット、公衆回線又は専用回線などから構成される。ネットワーク４を介したホスト２及び正ストレージ装置３間の通信は、例えばネットワーク４がＳＡＮである場合にはファイバーチャネルプロトコルに従って行われ、ネットワーク４がＬＡＮである場合にはＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。
【００２６】
正ストレージ装置３及び副ストレージ装置５は、ホスト２に対してデータを記憶するための記憶領域を提供する複数の記憶デバイス２０Ａ，２０Ｂが搭載された記憶ユニット２１Ａ，２１Ｂと、各記憶デバイス２０Ａ，２０Ｂに対するデータの入出力を制御するコントローラ２２Ａ，２２Ｂとを備えて構成される。
【００２７】
記憶デバイス２０Ａ，２０Ｂとしては、例えばＳＣＳＩ（Small Computer System Interface）ディスク等の高価なディスク、又はＳＡＴＡ（Serial AT Attachment）ディスクや光ディスク等の安価なディスクが適用される。なお、記憶デバイス２０Ａ，２０Ｂとして、例えばフラッシュメモリなどの半導体メモリを適用するようにしても良い。
【００２８】
各記憶デバイス２０Ａ，２０Ｂは、コントローラ２２Ａ，２２ＢによりＲＡＩＤ（Redundant Array of Inexpensive Disks）方式で運用される。１又は複数の記憶デバイス２０Ａ，２０Ｂにより提供される物理的な記憶領域上に、１又は複数の論理的なボリューム（以下、これを論理ボリュームと呼ぶ）ＶＯＬが設定される。そしてホスト２からのデータは、この論理ボリュームＶＯＬ内に所定大きさのブロック（以下、これを論理ブロックと呼ぶ）を単位として記憶される。
【００２９】
各論理ボリュームＶＯＬには、それぞれ固有の識別子（以下、これをＬＵＮ（Logical Unit number）と呼ぶ）が付与される。本実施の形態の場合、データの入出力は、このＬＵＮと、各論理ブロックにそれぞれ付与されるその論理ブロックに固有の番号（ＬＢＡ：Logical Block Address）とを組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
【００３０】
本実施の形態の場合、正ストレージ装置３や副ストレージ装置５内に設定される論理ボリュームＶＯＬの属性としては、ホスト２がデータを読み書きするデータボリュームと、ジャーナルを保持するためのジャーナルボリュームとが存在する。ここで、ジャーナルとは、上述のようにデータボリュームの更新履歴情報であり、図２に示すように、そのジャーナル３０に付与されたジャーナルグループごとの通し番号（シーケンス番号）でなるジャーナル識別子３０Ａと、そのときデータボリュームに書き込まれたデータ３０Ｂ自体と、そのデータ３０Ｂがデータボリュームに格納された時刻を表すタイムスタンプ３０Ｃとなどから構成される。
【００３１】
一方、コントローラ２２Ａ，２２Ｂは、複数のチャネルアダプタ２３Ａ，２３Ｂ、接続部２４Ａ，２４Ｂ、共有メモリ２５Ａ，２５Ｂ、キャッシュメモリ２６Ａ，２６Ｂ及び複数のディスクアダプタ２７Ａ，２７Ｂを備えて構成される。
【００３２】
各チャネルアダプタ２３Ａ，２３Ｂは、それぞれマイクロプロセッサ、メモリ及び通信インタフェース等を備えたマイクロコンピュータシステムとして構成されており、それぞれホスト２やネットワーク４に接続するためのポートを備える。チャネルアダプタ２３Ａ，２３Ｂは、ホスト２から与えられる各種コマンドや、正ストレージ装置３又は副ストレージ装置５から送信される各種コマンドを解釈して実行する。各チャネルアダプタ２３Ａ，２３Ｂのポートには、それぞれを識別するためのネットワークアドレス（例えば、ＩＰアドレスやＷＷＮ）が割り当てられており、これにより各チャネルアダプタ２３Ａ，２３Ｂがそれぞれ個別にＮＡＳ（Network Attached Storage）として振る舞うことができるようになされている。
【００３３】
接続部２４Ａ，２４Ｂは、チャネルアダプタ２３Ａ，２３Ｂ、共有メモリ２５Ａ，２５Ｂ、キャッシュメモリ２６Ａ，２６Ｂ及びディスクアダプタ２７Ａ，２７Ｂと接続されている。チャネルアダプタ２３Ａ，２３Ｂ、共有メモリ２５Ａ，２５Ｂ、キャッシュメモリ２６Ａ，２６Ｂ及びディスクアダプタ２７Ａ，２７Ｂ間でのデータやコマンドの授受は、この接続部２４Ａ，２４Ｂを介して行われる。接続部２４Ａ，２４Ｂは、例えば高速スイッチングによりデータ伝送を行う超高速クロスバススイッチなどのスイッチ又はバス等で構成される。
【００３４】
共有メモリ２５Ａ，２５Ｂ及びキャッシュメモリ２６Ａ，２６Ｂは、チャネルアダプタ２３Ａ，２３Ｂ及びディスクアダプタ２７Ａ，２７Ｂにより共有される記憶メモリである。共有メモリ２５Ａ，２５Ｂは、主に自ストレージ装置全体の構成に関するシステム構成情報等の各種制御情報やコマンド等を記憶するために利用される。またキャッシュメモリ２６Ａ，２６Ｂは、主に自ストレージ装置に入出力するデータを一時的に記憶するために利用される。
【００３５】
各ディスクアダプタ２７Ａ，２７Ｂは、マイクロプロセッサやメモリ等を備えたマイクロコンピュータシステムとして構成され、記憶ユニット２１Ａ，２１Ｂ内の各記憶デバイス２０Ａ，２０Ｂとの通信時におけるプロトコル制御を行うインタフェースとして機能する。またディスクアダプタ２７Ａ，２７Ｂは、ホスト２からのリード／ライト要求に応じて対応する記憶デバイス２０Ａ，２０Ｂを制御し、要求されたデータを対応する記憶デバイス２０Ａ，２０Ｂに読み書きする。
【００３６】
（１−２）本実施の形態によるリモートコピー制御機能
次に、副ストレージ装置５に搭載された本実施の形態によるリモートコピー制御機能について説明する。
【００３７】
図３は、正ストレージ装置３内に設定される正ジャーナルグループ３１Ａ及び副ストレージ装置５内に設定される副ジャーナルグループ３１Ｂの構成例を示している。この図３からも明らかなように、正ジャーナルグループ３１Ａ及び副ジャーナルグループ３１Ｂは、それぞれ１又は複数のデータボリュームＤＶＯＬと、これらデータボリュームＤＶＯＬに書き込まれたデータに基づいて作成されたジャーナル３０を格納する１つのジャーナルＪＶＯＬとから構成される。
【００３８】
そして正ストレージ装置３には、かかる正ジャーナルグループ３１Ａが複数設定されると共に、副ストレージ装置５には、各正ジャーナルグループ３１Ａにそれぞれ対応させて、複数の副ジャーナルグループ３１Ｂが設定される。また副ジャーナルグループ３１Ｂには、正ジャーナルグループ３１Ａ内の各データボリュームＤＶＯＬ及びジャーナルボリュームＪＶＯＬにそれぞれ対応させて、データボリュームＤＶＯＬ及びジャーナルボリュームＪＶＯＬが定義される。
【００３９】
そして正ストレージ装置３は、自ストレージ装置内のデータボリュームＤＶＯＬに対するライト要求及び書込み対象のデータがホスト２から与えられると、かかるデータのジャーナル３０を作成すると共に、作成したジャーナル３０を対応するデータボリュームＤＶＯＬに反映させる。さらに正ストレージ装置３は、かかるジャーナル３０を、当該ジャーナル３０を反映したデータボリュームＤＶＯＬと同じ正ジャーナルグループ３１Ａ内のジャーナルボリュームＪＶＯＬに格納する。
【００４０】
一方、副ストレージ装置５は、自ストレージ装置内に設けられた各副ジャーナルグループ３１Ｂについて、ジャーナル識別子を指定したジャーナル転送要求を定期的に正ストレージ装置３に送信する。そして正ストレージ装置３は、かかるジャーナル転送要求が与えられると、対応する正ジャーナルグループ３１Ａ内のジャーナルボリュームＪＶＯＬから指定されたジャーナル３０を読み出し、これを副ストレージ装置５に転送する。
【００４１】
副ストレージ装置５は、正ストレージ装置３から転送されるジャーナル３０を、対応する副ジャーナルグループ３１Ｂ内のジャーナルボリュームＪＶＯＬに格納すると共に、このジャーナル３０を当該副ジャーナルグループ３１Ｂ内の対応するデータボリュームＤＶＯＬに反映する。これにより正ストレージ装置３のデータボリュームＤＶＯＬに書き込まれたデータが、副ストレージ装置５内の対応するデータボリュームＤＶＯＬに複製されることとなる。
【００４２】
一方、副ストレージ装置５は、かかるリモートコピー処理と並行して、各副ジャーナルグループ３１Ｂにおけるグループ内最新タイムスタンプを一定時間間隔（以下、これをグループ間時間差確認間隔と呼ぶ）で確認する。
【００４３】
そして副ストレージ装置５は、各副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプの時間差が予め定められた閾値（以下、これをグループ間時間差閾値と呼ぶ）を超えた場合に、最もジャーナル転送が遅延している副ジャーナルグループ３１Ｂ（つまり、グループ内最新タイムスタンプが最も古い副ジャーナルグループ３１Ｂ）以外の副ジャーナルグループ３１Ｂについてのジャーナル転送を中断する。
【００４４】
また副ストレージ装置５は、かかる他の副ジャーナルグループ３１Ｂについてのジャーナル転送が中断している間に、独占的に回線を使用して、最もジャーナル転送が遅延している副ジャーナルグループ３１Ｂについてのジャーナル３０を予め設定された時間量（以下、これをジャーナル転送時間量と呼ぶ）分だけ正ストレージ装置３から取得する。
【００４５】
そして副ストレージ装置５は、この後、各副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプのうちの最古のグループ内最新タイムスタンプに合わせて、当該最古のグループ内最新タイムスタンプが示す時刻までのジャーナル３０を各副データボリューム３１Ｂに一斉に反映させる。
【００４６】
以上のようなリモートコピー制御処理を行うための手段として、ホスト２のメモリ１１には、図１に示すように、コピー管理プログラム１４及びジャーナルグループペア形成プログラム１５から構成されるストレージ管理プログラム１３が格納されている。
【００４７】
コピー管理プログラム１４は、正ストレージ装置３及び副ストレージ装置５間のリモートコピーを制御及び操作するための制御プログラムである。またジャーナルグループペア形成プログラム１５は、正ストレージ装置３及び副ストレージ装置５に所望の正ジャーナルグループ３１Ａ又は副ジャーナルグループ３１Ｂを設定したり、上述のグループ間時間差閾値、グループ間時間差検出周期及びジャーナル取得時間量等をシステム管理者が指定するための制御プログラムである。
【００４８】
そしてシステム管理者は、ジャーナルグループペア形成プログラム１５を起動することによって、ホスト２のモニタディスプレイに図４に示すようなジャーナルグループ設定／管理画面４０を表示させることができる。
【００４９】
このジャーナルグループ設定／管理画面４０は、正ジャーナルグループ３１Ａ及び副ジャーナルグループ３１Ｂの設定や管理を行うためのＧＵＩ（Graphical User Interface）画面であり、ジャーナルグループ設定フィールド４０Ａ、実施可能アクション表示フィールド４０Ｂ及び正ジャーナルグループ一覧表示フィールド４０Ｃから構成される。
【００５０】
このうちジャーナルグループ設定フィールド４０Ａは、上述のようなリモートコピー処理の処理単位となる正ジャーナルグループ３１Ａの集合体（データの最新性を確保した一貫性保証の対象となる複数の正ジャーナルグループ３１Ａの集合体であり、以下、これをジャーナルグループ集合体と呼ぶ）に関する概要を設定し又は既に設定された概要を表示するためのフィールドであり、ジャーナルグループ集合体名称フィールド４１、ジャーナルグループ総数表示フィールド４２、グループ時間差閾値フィールド４３、ジャーナル転送時間量フィールド４４及びグループ間時間差確認間隔フィールド４５が設けられている。
【００５１】
そしてシステム管理者は、かかるジャーナルグループ集合体名称定義フィールド４１に所望する名称を入力したり、グループ時間差閾値フィールド４３、ジャーナル転送時間量フィールド４４及びグループ間時間差確認間隔フィールド４５に所望するグループ時間差閾値、ジャーナル転送時間量及びグループ間時間差確認間隔をそれぞれ入力することによって、これらを指定することができる。またジャーナルグループ総数表示フィールド４２には、そのとき対象としているジャーナルグループ集合体に属する正ジャーナルグループ３１Ａの総数が表示される。
【００５２】
例えば図４の例では、現在対象としているジャーナルグループ集合体の名称として「Big Group」という名称が指定され、そのジャーナルグループ集合体には「３」個のジャーナルグループが属しており、そのジャーナルグループ集合体に属する各正ジャーナルグループ３１Ａについて、グループ時間差閾値として「２分（「02:00」）」、ジャーナル転送時間量として「３分（「03:00」）」、グループ間時間差確認間隔として「１秒（「00:01」）」がそれぞれ指定されていることが示されている。
【００５３】
また実施可能アクション表示フィールド４０Ｂには、後述のように正ジャーナルグループ一覧表示フィールド４０Ｃに一覧表示された、そのとき対象としているジャーナルグループ集合体に属する各正ジャーナルグループ３１Ａに対して実行可能な処理（アクション）が表示される。
【００５４】
例えば図４の例では、正ジャーナルグループ一覧表示フィールド４０Ｃに一覧表示された正ジャーナルグループ３１Ａについて、その正ジャーナルグループ３１Ａが属するジャーナルグループ集合体の変更（「c(Change attributes)」）、そのジャーナルグループ集合体への正ジャーナルグループ３１Ａの追加若しくは削除又は正ジャーナルグループ３１Ａの構成変更（「g(add/remove/configure journal Groups)」）などの処理を行ない得ることが示されている。
【００５５】
さらに正ジャーナルグループ一覧表示フィールド４０Ｃには、そのとき対象としているジャーナルグループ集合体に属する正ジャーナルグループ３１Ａの一覧が表示される。この正ジャーナルグループ一覧表示フィールド４０Ｃでは、所望する正ジャーナルグループ３１Ａと対応付けられたアクション設定フィールド４６に、実施可能アクション表示フィールド４０Ｂ内に表示された各種処理の中から所望する処理と対応付けられたアルファベット（図４の例では「c」、「g」、「p」、「e」、「s」、「y」、「d」、「r」、「A」）を入力することによって、そのジャーナルグループ集合体又は正ジャーナルグループ３１Ａに対して対応する操作や編集を行なうことができる。
【００５６】
なお図４は、「Big group」という名称のジャーナルグループ集合体に属するすべての正ジャーナルグループ３１Ａについて、システム管理者が所望するタイミングでの上述のようなジャーナル転送制御処理の実行（「A(run Arbitration)」）をシステム管理者が選択した場合の例である。この図４の例では、グループ名称フィールド４７にそのジャーナルグループ集合体又は当該ジャーナルグループ集合体に属する正ジャーナルグループ３１Ａの名称が表示され、ジャーナルグループＩＤフィールド４８にこれらの正ジャーナルグループ３１Ａに付与されたグループＩＤが表示される。
【００５７】
またペア総数フィールド４９には、その正ジャーナルグループ３１Ａ内において、対応する副ジャーナルグループ３１Ｂ内のいずれかのデータボリュームＤＶＯＬとペア設定されたデータボリュームＤＶＯＬの数が表示され、ジャーナル内最新タイムスタンプフィールド５０には、ホスト２が正ストレージ装置３を介して副ストレージ装置５から収集したその正ジャーナルグループ３１Ａのグループ内最新タイムスタンプが表示される。従って、システム管理者は、この最新タイムスタンプフィールド５０に表示された正ジャーナルグループ３１Ａごとのグループ内最新タイムスタンプに基づいて、副ジャーナルグループ３１Ｂ間におけるグループ内最新タイムスタンプの時間差を認識することができる。
【００５８】
一方、図５は、図４のジャーナルグループ設定／管理画面４０において、正ジャーナルグループ一覧表示フィールド４０Ｃ内のいずれかのアクション設定フィールド４６に「g」を設定したときに表示されるコピーペア追加／削除画面６０を示す。
【００５９】
このコピーペア追加／削除画面６０は、図４のジャーナルグループ設定／管理画面４０において対象としていたジャーナルグループ集合体内に新たな正ジャーナルグループ３１Ａを作成したり、図４のジャーナルグループ設定／管理画面４０において選択した正ジャーナルグループ３１Ａ（正ジャーナルグループ一覧表示フィールド４０Ｃ内の対応するアクション設定フィールド４６に「g」を設定した正ジャーナルグループ３１Ａ）に対して、リモートコピーを行うデータボリュームＤＶＯＬのペア（以下、これをコピーペアと呼ぶ）を追加又は削除するためのＧＵＩ画面であり、ジャーナルグループ情報フィールド６０Ａ、実施可能アクション表示フィールド６０Ｂ、コピーペア一覧表示フィールド６０Ｃ及び新規コピーペア定義フィールド６０Ｄから構成される。
【００６０】
このうちジャーナルグループ情報フィールド６０Ａには、そのとき対象としている正ジャーナルグループ３１Ａに関する概要を設定し又は既に設定された概要を表示するためのフィールドであり、ジャーナルグループ名称フィールド６１、コピーペア総数表示フィールド６２、ジャーナルグループＩＤフィールド６３、正ジャーナルボリュームＩＤフィールド６４及び副ジャーナルボリュームＩＤフィールド６５が設けられている。
【００６１】
そしてジャーナルグループ名称フィールド６１には、そのときシステム管理者により入力された新たな正ジャーナルグループ３１Ａの名称又は図４のジャーナルグループ設定／管理画面４０において選択された既存の正ジャーナルグループ３１Ａの名称が表示される。
【００６２】
また、コピーペア総数表示フィールド６２には、かかる正ジャーナルグループ３１Ａに属するコピーペアの総数が表示され、ジャーナルグループ表示フィールド６３には、かかる新たな正ジャーナルグループ３１Ａ又はかかる既存の正ジャーナルグループ３１Ａに対してシステム管理者が付与したグループＩＤが表示される。
【００６３】
さらに正ジャーナルボリュームＩＤフィールド６４には、かかる新たな又は既存の正ジャーナルグループ３１Ａ内の正ジャーナルボリュームＪＶＯＬのボリュームＩＤが表示され、副ジャーナルボリュームＩＤフィールド６５には、かかる新たな又は既存の正ジャーナルグループ３１Ａと対応付けられた副ジャーナルグループ３１Ｂ内の副ジャーナルボリュームＪＶＯＬのボリュームＩＤが表示される。
【００６４】
従って、例えば図５では、そのとき対象としている新たな又は既存の正ジャーナルグループ３１Ａの名称及びグループＩＤがそれぞれ「グループＡ（Group A）」及び「01」であり、その正ジャーナルグループ３１Ａに対応する副ジャーナルグループ３１Ｂ内のデータボリュームＤＶＯＬとの間でコピーペアが設定されたデータボリュームＤＶＯＬが「８」個存在し、その正ジャーナルグループ３１Ａにおける正ジャーナルボリュームＪＶＯＬのボリュームＩＤが「6240」であり、これと対応する副ジャーナルグループ３１Ｂにおける副ジャーナルボリュームＪＶＯＬのボリュームＩＤが「4940」であることが示されている。
【００６５】
また実施可能アクション表示フィールド６０Ｂには、後述のようにコピーペア一覧表示フィールド６０Ｃに一覧表示されたコピーペアに対して実行可能な処理（アクション）が表示される。例えば図５では、コピーペア一覧表示フィールド６０Ｃに一覧表示されたコピーペアの解除（「r(Remove Pair」）及びそのコピーペアの詳細情報の表示（「i(Detail Information)」）を行い得ることが示されている。
【００６６】
さらにコピーペア一覧表示フィールド６０Ｃには、そのとき対象としている正ジャーナルグループ３１Ａに正側のデータボリュームＤＶＯＬが属する各コピーペアに関して、正側のデータボリュームＤＶＯＬ及び副側のデータボリュームＤＶＯＬのボリュームＩＤがそれぞれ正データボリュームＩＤフィールド６７及び副データボリュームＩＤフィールド６８内に表示される。
【００６７】
例えば図５では、「Group A」という名称の正ジャーナルグループ３１Ａには、例えばボリュームＩＤが「5040」の副データボリューム（「S-Volume」）とコピーペアに設定されたボリュームＩＤが「7340」の正データボリューム（「P-Volume」）が存在することが示されている。
【００６８】
また、このコピーペア一覧表示フィールド６０Ｃでは、実施可能アクション表示フィールド６０Ａ内に表示された各種処理の中から所望する処理と対応付けられたアルファベット（図５の例では「r」又は「i」）を、所望するコピーペアと対応付けられたアクション設定フィールド６６に入力することによって、そのコピーペアに対して対応する操作や編集を行なうことができる。
【００６９】
一方、新規コピーペア定義フィールド６０Ｄは、そのとき対象としている正ジャーナルグループ３１Ａに追加しようとする新規のコピーペアを定義するためのフィールドであり、正側ボリュームＩＤ入力フィールド６９及び副側ボリュームＩＤ入力フィールド７０が設けられている。
【００７０】
そしてシステム管理者は、この新規コピーペア定義フィールド６０Ｄ内の正側ボリュームＩＤ入力フィールド６９に正側のデータボリュームＤＶＯＬのボリュームＩＤを入力し、副側ボリュームＩＤ入力フィールド７０に副側のデータボリュームＤＶＯＬのボリュームＩＤを入力することによって、新たなコピーペアを定義することができる。
【００７１】
例えば図５では、新たなコピーペアとして、ボリュームＩＤが「7348」であるデータボリュームＤＶＯＬを正側とし、ボリュームＩＤが「4950」であるデータボリュームＤＶＯＬを副側とするコピーペアを定義する場合について示している。
【００７２】
図６は、このようなジャーナルグループ設定／管理画面４０及びコピーペア追加／削除画面６０において入力された各種定義に従ってリモートコピーを行う正ジャーナルグループ３１Ａ又は副ジャーナルグループ３１Ｂのペア（以下、これをジャーナルグループペアと呼ぶ）を作成する場合におけるホスト２内のＣＰＵ１０（図１）の具体的な処理手順を示している。かかるＣＰＵ１０は、メモリ１１（図１）に格納されたジャーナルグループペア形成プログラム１５（図１）に従って、このジャーナルグループペア形成処理を実行する。
【００７３】
すなわちＣＰＵ１０は、図４について上述したジャーナルグループ設定／管理画面４０と、図５について上述したコピーペア追加／削除画面６０を介してシステム管理者により必要な情報が入力された後、ジャーナルグループペアを設定すべき旨の入力が与えられるとこのジャーナルグループペア形成処理を開始し、まず、ジャーナルグループ設定／管理画面４０においてシステム管理者が入力した各種情報に基づいて図７に示すようなジャーナルグループペア形成要求８０を作成する（ＳＰ１）。
【００７４】
次いでＣＰＵ１０は、作成したジャーナルグループペア形成要求８０を正ストレージ装置３に送信し（ＳＰ２）、この後、このジャーナルグループペア形成処理を終了する。
【００７５】
なお、かかるジャーナルグループペア形成処理のステップＳＰ１におけるＣＰＵ１０の具体的な処理内容を図９に示す。ＣＰＵ１０は、ジャーナルグループペア形成処理のステップＳＰ１に進むと図９に示すジャーナルグループペア形成要求作成処理手順に従って、まず、ジャーナルグループ設定／管理画面４０においてシステム管理者が定義した新たなジャーナルグループ集合体の名称をジャーナルグループペア形成要求８０のジャーナルグループ集合体名称格納フィールド８０Ａに格納する（ＳＰ１０）。
【００７６】
続いてＣＰＵ１０は、ジャーナルグループ設定／管理画面４０において定義されたそのジャーナルグループ集合体に属する１つの正ジャーナルグループ３１Ａに関する所定の管理情報（以下、これを正ジャーナルグループ情報と呼ぶ）をジャーナルグループペア形成要求８０の正ジャーナルグループ情報格納フィールド８０Ｂに格納する（ＳＰ１１）。
【００７７】
次いでＣＰＵ１０は、その正ジャーナルグループ３１Ａと共にジャーナルグループペアを構成する副ジャーナルグループ３１Ｂに関する所定の管理情報（副ジャーナルグループ情報）を、ジャーナルグループペア形成要求８０内のかかる正ジャーナルグループ情報格納フィールド８０Ａと対応付けられた副ジャーナルグループ情報格納フィールド８０Ｃに格納する（ＳＰ１２）。
【００７８】
次いでＣＰＵ１０は、ジャーナルグループ設定／管理画面４０において定義されたすべてのジャーナルグループペアについて、正ジャーナルグループ情報及び副ジャーナルグループ情報をジャーナルグループペア形成要求８０の正ジャーナルグループ情報格納フィールド８０Ｂや副ジャーナルグループ情報格納フィールド８０Ｃに格納し終えたか否かを判断する（ＳＰ１３）。
【００７９】
ＣＰＵ１０は、かかる判断において否定結果を得るとステップＳＰ１１に戻り、この後、ジャーナルグループ設定／管理画面４０において定義された残りのジャーナルグループペアについて同様の処理を繰り返す（ＳＰ１１〜ＳＰ１３−ＳＰ１１）。
【００８０】
そしてＣＰＵ１０は、ジャーナルグループ設定／管理画面４０において定義されたすべてのジャーナルグループペアについて同様の処理を終えると、ジャーナルグループ設定／管理画面４０において設定されたグループ間時間差閾値、ジャーナル転送時間量及びグループ間時間差確認間隔をそれぞれジャーナルグループペア形成要求８０のグループ間時間差閾値格納フィールド８０Ｄ、ジャーナル転送時間量格納フィールド８０Ｅ及びグループ間時間差確認間隔格納フィールド８０Ｆにそれぞれ格納する（ＳＰ１４〜ＳＰ１６）。そしてＣＰＵ１０は、この後、このジャーナルグループペア形成要求作成処理を終了する。
【００８１】
なお、正ジャーナルグループ情報及び副ジャーナルグループ情報の具体例を図８に示す。この図８からも明らかなように、正ジャーナルグループ情報及び副ジャーナルグループ情報は、そのジャーナルグループが正側及び副側のいずれであるかを表す正副判定フラグ８１Ａと、その正ジャーナルグループ３１Ａ又は副ジャーナルグループ３１ＢにおけるジャーナルグループＪＶＯＬのボリュームＩＤ８１Ｂと、その正ジャーナルグループ３１Ａ又は副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプ８１Ｃと、その正ジャーナルグループ３１Ａ又は副ジャーナルグループ３１Ｂについて定義された各コピーペアをそれぞれ構成する正側のデータボリュームＤＶＯＬのボリュームＩＤ８１Ｄ及び副側のデータボリュームＤＶＯＬのボリュームＩＤ８１Ｅとから構成される。ただし、グループ内最新タイムスタンプ８１Ｃは、後述のように副ストレージ装置５が正ストレージ装置３からその副ジャーナルグループ３１Ｂについてのジャーナル３０を受信するごとに更新する情報であり、ジャーナルグループペア形成要求８０では無効なデータがグループ内最新タイムスタンプ８１Ｃとして格納される。
【００８２】
一方、かかるジャーナルグループペア形成要求８０を受信した正ストレージ装置３のチャネルアダプタ２３Ａは、図示しない内部メモリに格納されたコピー処理プログラムに従って、図１０に示す正ジャーナルグループ形成処理を実行する。
【００８３】
すなわちチャネルアダプタ２３Ａは、かかるジャーナルグループペア形成要求８０を受信すると、この正ジャーナルグループ形成処理を開始し、まず、受信したジャーナルグループペア形成要求８０のジャーナルグループ集合体名称格納フィールド８０Ａに格納されている、そのとき作成対象としているジャーナルグループ集合体の名称と、各正ジャーナルグループ情報フィールド８０Ｂにそれぞれ格納されたそのジャーナルグループ集合体に属する各正ジャーナルグループ３１Ａの正ジャーナルグループ情報とを読み出し、読み出した正ジャーナルグループ情報に基づいて必要な正ジャーナルグループ３１Ａをすべて形成する（ＳＰ２０）。
【００８４】
具体的に、チャネルアダプタ２３Ａは、このステップＳＰ２０において、受信したジャーナルグループペア形成要求８０の各正ジャーナルグループ情報フィールド８０Ｂから読み出した正ジャーナルグループ情報に基づいて、必要なデータボリュームＤＶＯＬやジャーナルボリュームＪＶＯＬを作成したり、データボリュームＤＶＯＬとジャーナルボリュームＪＶＯＬの対応付け等を行なうようにして、必要な正ジャーナルグループ３１Ａをそれぞれ形成する。
【００８５】
続いてチャネルアダプタ２３Ａは、かかるジャーナルグループペア形成要求８０を、ステップＳＰ１において形成した各正ジャーナルグループ３１Ａと共にジャーナルグループペアを構成する副ジャーナルグループ３１Ｂを形成すべき、すべての副ストレージ装置５に転送する（ＳＰ２１）。そしてチャネルアダプタ２３Ａは、この後、この正ジャーナルグループ形成処理を終了する。
【００８６】
他方、かかるジャーナルグループペア形成要求８０を受信した副ストレージ装置５のチャネルアダプタ２３Ｂは、図示しない内部メモリに格納されたコピー処理プログラムに従って、図１１に示す副ジャーナルグループ形成処理を実行する。
【００８７】
すなわち、かかるチャネルアダプタ２３Ａは、正ストレージ装置３から転送されたジャーナルグループペア形成要求８０を受信すると、この副ジャーナルグループ形成処理を開始し、まず、受信したジャーナルグループペア形成要求８０の各副ジャーナルグループ情報フィールド８０Ｃにそれぞれ格納された副ジャーナルグループ情報を読み出し、読み出した副ジャーナルグループ情報に基づいて、必要な副ジャーナルグループ３１Ｂをすべて形成する（ＳＰ３０）。なお、このステップＳＰ３０におけるチャネルアダプタ２３Ｂの具体的な処理内容は、図１０のステップＳＰ２０について上述したチャネルアダプタ２３Ａの処理内容と同様であるため、ここでの説明は省略する。
【００８８】
続いてチャネルアダプタ２３Ｂは、データが格納されていない図１２に示すような副ジャーナルグループ制御情報管理テーブル８２を共有メモリ２５Ｂ上に生成する（ＳＰ３１）。この副ジャーナルグループ制御情報管理テーブル８２は、副ストレージ装置５が自ストレージ装置内に作成した副ジャーナルグループ３１Ｂを管理するためのテーブルであり、ジャーナルグループ集合体名称格納フィールド８２Ａ、１又は複数の正ジャーナルグループ情報フィールド８２Ｂ及び副ジャーナルグループ情報フィールド８２Ｃと、グループ間時間差閾値格納フィールド８２Ｄ、ジャーナル転送時間量格納フィールド８２Ｅ及びグループ間時間差確認間隔格納フィールド８２Ｆとから構成される。
【００８９】
次いでチャネルアダプタ２３Ｂは、ジャーナルグループペア形成要求８０に含まれる対応するジャーナルグループ集合体の名称を、かかる副ジャーナルグループ制御情報管理テーブル８２のジャーナルグループ集合体名称格納フィールド８２Ａに格納する（ＳＰ３２）。
【００９０】
続いてチャネルアダプタ２３Ｂは、ジャーナルグループペア形成要求８０に含まれる各副ジャーナルグループ情報を副ジャーナルグループ制御情報管理テーブル８２の副ジャーナルグループ情報フィールド８２Ｃにそれぞれ格納すると共に（ＳＰ３３）、ジャーナルグループペア形成要求８０に含まれる各正ジャーナルグループ情報を副ジャーナルグループ制御情報管理テーブル８２の対応する正ジャーナルグループ情報フィールド８２Ｂにそれぞれ格納する（ＳＰ３４）。
【００９１】
続いてチャネルアダプタ２３Ａは、ジャーナルグループペア形成要求８０に含まれるグループ間時間差閾値、ジャーナル転送時間量及びグループ間時間差確認間隔の各情報を、それぞれ副ジャーナルグループ制御情報管理テーブル８２のグループ間時間差閾値格納フィールド８２Ｄ、ジャーナル転送時間量格納フィールド８２Ｅ及びグループ間時間差確認間隔格納フィールド８２Ｆに格納する（ＳＰ３５〜ＳＰ３７）。
【００９２】
次いでチャネルアダプタ２３Ｂは、ステップＳＰ３０において形成した各副ジャーナルグループ３１Ｂについてのリモートコピー処理を開始し（ＳＰ３８）、この後、この副ジャーナルグループ形成処理を終了する。
【００９３】
なお、チャネルアダプタ２３Ｂは、リモートコピー処理を開始すると、各副ジャーナルグループ３１Ｂについて、ジャーナル識別子（シーケンス番号）を指定したジャーナル転送要求を定期的に正ストレージ装置３に送信すると共に、この結果として正ストレージ装置３から転送されるジャーナル３０を、対応する副ジャーナルグループ３１Ｂの対応するデータボリュームＤＶＯＬに反映する。
【００９４】
この際チャネルアダプタ２３Ｂは、正ストレージ装置３からジャーナル３０を受信するごとに、かかる副ジャーナルグループ制御情報管理テーブル８２内の対応する副ジャーナルグループ情報におけるグループ内最新タイムスタンプ８１Ｃの値を、そのとき取得したジャーナル３０に格納されているタイムスタンプの値に更新する。
【００９５】
他方、チャネルアダプタ２３Ｂは、かかるリモートコピー処理と並行して、図示しない内部メモリに格納されたジャーナル転送制御処理プログラムに従って、各ジャーナルグループ集合体について図１３に示すジャーナル転送制御処理を実行する。
【００９６】
すなわちチャネルアダプタ２３Ｂは、このジャーナル転送制御処理をグループ間時間差確認間隔周期で開始し、まず、そのとき対象としているジャーナルグループ集合体と対応付けられた各副ジャーナルグループ３１Ｂについて、副ジャーナルグループ制御情報管理テーブル８２（図８）上のこれら副ジャーナルグループ３１Ｂにそれぞれ対応する各副ジャーナルグループ情報内のグループ内最新タイムスタンプ８１Ｃ（図８）をそれぞれ読み出す（ＳＰ４０）。
【００９７】
続いてチャネルアダプタ２３Ｂは、ステップＳＰ４０において取得した各副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプの値を比較することにより、そのとき対象としているジャーナルグループ集合体内において最も古いグループ内最新タイムスタンプ（以下、これをグループ間最古タイムスタンプと呼ぶ）及び最も新しいグループ内最新タイムスタンプ（以下、これをグループ間最新タイムスタンプと呼ぶ）を決定する（ＳＰ４１）。
【００９８】
次いでチャネルアダプタ２３Ｂは、ステップＳＰ４１において決定したグループ間最古タイムスタンプと、グループ間最新タイムスタンプとの時間差を計算すると共に（ＳＰ４２）、この時間差が、かかる副ジャーナルグループ制御情報管理テーブル８２に格納されているグループ間時間差閾値よりも大きいか否かを判断する（ＳＰ４３）。
【００９９】
そしてチャネルアダプタ２３Ｂは、この判断において否定結果を得るとステップＳＰ４０に戻って、この後ステップＳＰ４３において肯定結果を得るまで同様の処理を繰り返す（ＳＰ４０〜ＳＰ４３−ＳＰ４０）。
【０１００】
そしてチャネルアダプタ２３Ｂは、やがてかかる判断において肯定結果を得ると、ジャーナル転送が最も遅れている副ジャーナルグループ３１Ｂ（グループ内最新タイムスタンプがグループ間最古タイムスタンプである副ジャーナルグループ３１Ｂ）以外の副ジャーナルグループ３１Ｂについてのジャーナル転送要求を正ストレージ装置３に送信するのを中断する（ＳＰ４４）。
【０１０１】
また、チャネルアダプタ２３Ｂは、この後、ジャーナル転送が最も遅れている副ジャーナルグループ３１Ｂについてのジャーナル３０を取得するごとに、副ジャーナルグループ制御情報管理テーブル８２に格納されている当該副ジャーナルグループ３１Ｂの副ジャーナルグループ情報に含まれるグループ内最新タイムスタンプの値をそのジャーナル３０に含まれるタイムスタンプの値に更新しながら、当該グループ内最新タイムスタンプの値がステップＳＰ４１において決定したグループ間最古タイムスタンプの値と、副ジャーナルグループ制御情報管理テーブル８２に設定されているジャーナル転送時間量との合計値以上となるのを待ち受ける（ＳＰ４５）。
【０１０２】
そしてチャネルアダプタ２３Ｂは、やがてステップＳＰ４５の判断において肯定結果を得ると、副ジャーナルグループ制御情報管理テーブル８２上のその副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプの値を最新のジャーナル３０に含まれるタイムスタンプの値に更新する（ＳＰ４６）。
【０１０３】
続いてチャネルアダプタ２３Ｂは、各副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプのうちの新たなグループ間最古タイムスタンプに合わせて、当該グループ間最古タイムスタンプが示す時刻までのジャーナル３０を各副データボリューム３１Ｂに一斉に反映させる（ＳＰ４７）。
【０１０４】
次いでチャネルアダプタ２３Ｂは、すべての副ジャーナルグループ３１Ｂについてのジャーナル３０の取得処理を再開し（ＳＰ４８）、この後、副ジャーナルグループ制御情報管理テーブル８２を参照して、今回のジャーナル転送制御処理を開始してからグループ間時間差確認間隔に達したか否かを判断する（ＳＰ４９）。
【０１０５】
そしてチャネルアダプタ２３Ｂは、この判断において肯定結果を得るとステップＳＰ４０に戻り、ステップＳＰ４０〜ステップＳＰ４９を上述と同様に処理する。これに対してチャネルアダプタ２３Ｂは、かかるステップＳＰ４８の判断において否定結果を得ると、このジャーナル転送制御処理を終了する。
【０１０６】
（１−３）本実施の形態の効果
以上のように本実施の形態によるストレージシステム１では、副ストレージ装置５において、ジャーナルグループ集合体ごとに、各副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプを監視し、当該時間差がグループ間時間差閾値を超えた場合に、最もジャーナル転送が遅延している副ジャーナルグループ３１Ｂ以外の副ジャーナルグループ３１Ｂについてのジャーナル転送を中断する。そして副ストレージ装置５は、この後、最もジャーナル転送が遅延している副ジャーナルグループ３１Ｂについてのジャーナル３０をジャーナル転送時間量分だけ正ストレージ装置３から取得した上で、各副ジャーナルグループ３１Ｂにジャーナル３０を反映する。
【０１０７】
従って、本ストレージシステム１によれば、リモートコピーを行う副ジャーナルグループ３１Ｂの数にかかわりなく、副ジャーナルグループ３１Ｂ間において一定の時間的範囲内（グループ間時間差閾値の範囲内）において、各副ジャーナルグループ３１Ｂ間におけるデータの最新性を確保した一貫性を保証することができ、その分信頼性の高いストレージシステムを提供することができる。
【０１０８】
また本ストレージシステム１は、グループ間時間差確認間隔、グループ間時間差閾値及びジャーナル転送時間量をシステム管理者がホスト２を用いて設定することができるため、かかる効果に加えて運用の柔軟性を高めることができるという効果をも得ることができる。
【０１０９】
（２）第２の実施の形態
図１との対応部分に同一符号又は同一符号に添え字「Ｘ」又は「Ｙ」を付して示す図１４は、第２の実施の形態によるストレージシステム９０を示す。このストレージシステム９０は、運用拠点に設置された第１及び第２の正ストレージ装置９２，９３と、遠隔拠点に設置された第１及び第２の副ストレージ装置９４，９５とがネットワーク４を介して接続されている。また第１の正ストレージ装置９２にはホスト９１が接続され、さらに第１及び第２の副ストレージ装置９４，９５が通信回線９６を介して接続されている。
【０１１０】
第１の正ストレージ装置９２内には１又は複数の正ジャーナルグループ３１Ａ（図３）が設けられており、これら正ジャーナルグループ３１Ａにそれぞれ対応させて第１の副ストレージ装置９４内に１又は複数の副ジャーナルグループ３１Ｂ（図３）が設けられている。そして第１の正ストレージ装置９２内のいずれかの正ジャーナルグループ３１ＡにおけるいずれかのデータボリュームＤＶＯＬにデータが書き込まれた場合、そのデータについてのジャーナル３０が第１の正ストレージ装置９２において作成され、これがネットワーク４を介して第１の副ストレージ装置９４に転送されて、当該第１の副ストレージ装置９４内の対応する副ジャーナルグループ３１Ｂにおける対応するデータボリュームＤＶＯＬに反映される。
【０１１１】
同様に、第２の正ストレージ装置９３内には１又は複数の正ジャーナルグループ３１Ａが設けられており、これら正ジャーナルグループ３１Ａにそれぞれ対応させて第２の副ストレージ装置９５内に１又は複数の副ジャーナルグループ３１Ｂが設けられている。そして第２の正ストレージ装置９５内のいずれかの正ジャーナルグループ３１ＡにおけるいずれかのデータボリュームＤＶＯＬにデータが書き込まれた場合、そのデータについてのジャーナル３０が第２の正ストレージ装置９３において作成され、これがネットワーク４を介して第２の副ストレージ装置９５に転送されて、当該第２の副ストレージ装置９５内の対応する副ジャーナルグループ３１Ｂにおける対応するデータボリュームＤＶＯＬに反映される。
【０１１２】
この場合において、本実施の形態によるストレージシステム９０では、第１及び第２の副ストレージ装置９４，９５のうち、システム管理者により指定された一方の第１又は第２の副ストレージ装置９４，９５がマスタとなって、ジャーナルグループ集合体ごとに、自ストレージ装置内の対応する副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプと、他方の第２又は第１の副ストレージ装置９５，９４内の対応する副ジャーナルグループ３１Ｂの各グループ内最新タイムスタンプとをそれぞれ所定のグループ間時間差確認間隔で確認する。
【０１１３】
そして、かかる各副ジャーナルグループ３１Ｂ間におけるグループ間最古タイムスタンプと、グループ間最新タイムスタンプとの時間差が予め定められたグループ間時間差閾値を超えた場合に、マスタである第１又は第２の副ストレージ装置９４，９５が他方の第２又は第１の副ストレージ装置９５，９４を必要に応じて制御することにより、最もジャーナル転送が遅延している副ジャーナルグループ３１Ｂ以外の副ジャーナルグループ３１Ｂについてのジャーナル転送を中断し又は中断させる。
【０１１４】
さらにマスタである第１又は第２の副ストレージ装置９４，９５は、かかる最もジャーナル転送が遅延している副ジャーナルグループ３１Ｂ以外の副ジャーナルグループ３１Ｂについてのジャーナル転送が中断している間に、独占的に回線を使用し又は回線を使用させて、かかる最もジャーナル転送が遅延している副ジャーナルグループ３１Ｂについてのジャーナル３０を、予め設定されたジャーナル転送時間量分だけ対応する第１又は第２の正ストレージ装置９２，９３から取得し又は取得させる。
【０１１５】
以上のようなリモートコピー制御処理を行うための手段として、ホスト９１のメモリ１１には、図１４に示すように、システム管理者がジャーナルグループペアの設定や、グループ間時間差閾値、グループ間時間差検出周期及びジャーナル取得時間量に加えてマスタとなる副ストレージ装置を設定するための制御プログラムであるジャーナルグループペア形成プログラム１００が格納されている。
【０１１６】
そしてシステム管理者は、ジャーナルグループペア形成プログラム１００を起動することによって、ホスト９１のモニタディスプレイに図１５に示すようなジャーナルグループ設定／管理画面１１０を表示させることができる。
【０１１７】
このジャーナルグループ設定／管理画面１１０は、正ジャーナルグループ３１Ａ及び副ジャーナルグループ３１Ｂの設定や管理を行うためのＧＵＩ画面であり、ジャーナルグループ設定フィールド４０にマスタ副ストレージ装置定義フィールド１１１が設けられている点を除いて図４について上述した第１の実施の形態によるジャーナルグループ設定／管理画面４０と同様に構成されている。
【０１１８】
かくしてシステム管理者は、かかるマスタ副ストレージ装置定義フィールド１１１に第１及び第２の副ストレージ装置９４，９５のうちの所望の第１又は第２の副ストレージ装置９４，９５の装置ＩＤを入力することによって、その第１又は第２の副ストレージ装置９４，９５をマスタとして指定することができる。
【０１１９】
図１６は、このようなジャーナルグループ設定／管理画面１１０及び図５について上述したコピーペア追加／削除画面６０において入力された各種定義に従ってジャーナルグループペアを作成する場合におけるホスト９１内のＣＰＵ１０（図１４）の具体的な処理手順を示している。かかるＣＰＵ１０は、メモリ１１（図１４）に格納されたジャーナルグループペア形成プログラム１００（図１４）に従って、このジャーナルグループペア形成処理を実行する。
【０１２０】
すなわちＣＰＵ１０は、図１５について上述したジャーナルグループ設定／管理画面１１０及び図５について上述したコピーペア追加／削除画面６０を介してシステム管理者により必要な情報が入力された後、ジャーナルグループペアを設定すべき旨の入力が与えられるとこのジャーナルグループペア形成処理を開始し、まず、ジャーナルグループ設定／管理画面１１０においてシステム管理者が入力した各種情報に基づいて、図１７に示すようなジャーナルグループペア形成要求１２０を作成する（ＳＰ５０）。
【０１２１】
このジャーナルグループペア形成要求１２０は、マスタ識別子フィールド１２０Ａを備える点を除いて図７について上述した第１の実施の形態によるジャーナルグループペア形成要求８０と同様に構成されている。そして、このマスタ識別子フィールド１２０Ａには、第１及び第２の副ストレージ装置９４，９５のうちのジャーナルグループ設定／管理画面１１０においてシステム管理者がマスタとして指定した第１又は第２の副ストレージ装置９４，９５の装置ＩＤが格納される。
【０１２２】
続いてＣＰＵ１０は、作成したジャーナルグループペア形成要求１２０を対応する第１及び又は第２の正ストレージ装置９２，９３に送信し（ＳＰ５１）、この後、このジャーナルグループペア形成処理を終了する。
【０１２３】
なお、かかるジャーナルグループペア形成処理のステップＳＰ５０におけるＣＰＵ１０の具体的な処理内容を図１８に示す。ＣＰＵ１０は、ジャーナルグループペア形成処理のステップＳＰ１に進むと、この図１８に示すジャーナルグループペア形成要求作成処理を開始し、まず、ジャーナルグループ設定／管理画面１１０においてシステム管理者が定義した新たなジャーナルグループ集合体の名称をジャーナルグループペア形成要求１２０のジャーナルグループ集合体名称格納フィールド８０Ａに格納する（ＳＰ６０）。
【０１２４】
続いてＣＰＵ１０は、ジャーナルグループ設定／管理画面１１０（図１５）においてシステム管理者が指定した第１及び第２の副ストレージ装置９４，９５のうちのマスタとすべき第１又は第２の副ストレージ装置９４，９５の装置ＩＤを、ジャーナルグループ形成要求１２０のマスタ識別子フィールド１２０Ａに格納する（ＳＰ６１）。
【０１２５】
そしてＣＰＵ１０は、この後、ステップＳＰ６２〜ステップＳＰ６７までを図９について上述した第１の実施の形態によるジャーナルグループペア形成要求作成処理のステップＳＰ１１〜ステップＳＰ１６までと同様に処理することにより、第１及び第２の副ストレージ装置９４，９５のうちのマスタとすべき第１又は第２のストレージ装置９４，９５の装置ＩＤを含むジャーナルグループペア形成要求１２０を作成し、この後このジャーナルグループペア形成要求作成処理を終了する。
【０１２６】
一方、かかるジャーナルグループペア作成要求１２０を受信した第１の正ストレージ装置９２のチャネルアダプタ１０１Ａ（図１４）は、図示しない内部メモリに格納されたコピー処理プログラムに従って、図１０について上述した正ジャーナルグループ形成処理を実行することにより、自ストレージ装置内に正ジャーナルグループ３１Ａを形成すると共に、受信したジャーナルグループペア形成要求１２０を第２の正ストレージ装置９３及び第１の副ストレージ装置９４に送信する。
【０１２７】
またジャーナルグループペア作成要求１２０を受信した第２の正ストレージ装置９３のチャネルアダプタ１０１Ａは、第１の正ストレージ装置９２と同様に、図示しない内部メモリに格納されたコピー処理プログラムに従って、図１０について上述した正ジャーナルグループ形成処理を実行することにより、自ストレージ装置内に正ジャーナルグループ３１Ａを形成すると共に、受信したジャーナルグループペア形成要求１２０を第２の副ストレージ装置９５に送信する。
【０１２８】
そして、かかるジャーナルグループペア形成要求１２０を受信した第１及び第２の副ストレージ装置９４，９５のチャネルアダプタ１０１Ｂは、図示しない内部メモリに格納されたコピー処理プログラムに従って、図１９に示す副ジャーナルグループ形成処理を実行する。
【０１２９】
すなわちかかるチャネルアダプタ１０１Ｂは、第１又は第２の正ストレージ装置９２，９３からのジャーナルグループペア形成要求１２０を受信すると、この副ジャーナルグループ形成処理を開始し、まず、受信したジャーナルグループペア形成要求１２０の各副ジャーナルグループ情報フィールド８０Ｃにそれぞれ格納された副ジャーナルグループ情報を読み出し、読み出した副ジャーナルグループ情報に基づいて、図１０について上述した正ジャーナルグループ形成処理のステップＳＰ２０と同様にして、必要な副ジャーナルグループをすべて形成する（ＳＰ８０）。
【０１３０】
続いてチャネルアダプタ１０１Ｂは、データが格納されていない図２０に示すような副ジャーナルグループ制御情報管理テーブル１３０を共有メモリ２５ＢＸ，２５ＢＹ上に生成する（ＳＰ８１）。この副ジャーナルグループ制御情報管理テーブル１３０は、マスタ判定フラグ格納フィールド１３０Ａが設けられている点を除いて図１２について上述した実施の形態による副ジャーナルグループ制御情報管理テーブル８２と同様の構成を有する。
【０１３１】
次いでチャネルアダプタ１０１Ｂは、図１１について上述した副ジャーナルグループ形成処理のステップＳＰ３２〜ステップＳＰ３４と同様にして、ジャーナルグループペア形成要求１２０に格納されているジャーナルグループ集合体の名称、すべての副ジャーナルグループ情報及びすべての正ジャーナルグループ情報をかかる副ジャーナルグループ制御情報管理テーブル１３０に保存する（ＳＰ８２〜ＳＰ８４）。
【０１３２】
続いてチャネルアダプタ１０１Ｂは、ジャーナルグループペア形成要求１２０のマスタ識別子格納フィールド１２０Ａ（図１７）に格納されている装置ＩＤに基づいて、自ストレージ装置がマスタに指定されているか否かを判断する（ＳＰ８５）。
【０１３３】
そしてチャネルアダプタ１０１Ｂは、この判断において否定結果を得ると、副ジャーナルグループ制御情報管理テーブル１３０のマスタ判定フラグ格納フィールド１３０Ａに「偽（「０」）」を設定し（ＳＰ８６）、この後この副ジャーナルグループ形成処理を終了する。従って、この場合、副ジャーナルグループ制御情報管理テーブル１３０のグループ間時間差閾値格納フィールド８２Ｄ、ジャーナル転送時間量格納フィールド８２Ｅ及びグループ間時間差確認間隔格納フィールド８２Ｆには何らのデータも格納されない。
【０１３４】
これに対してチャネルアダプタ１０１Ｂは、かかる判断において肯定結果を得ると、副ジャーナルグループ制御情報管理テーブル１３０のマスタ判定フラグ格納フィールド１３０Ａに「真（「１」）」を設定する（ＳＰ８７）。
【０１３５】
そしてチャネルアダプタ１０１Ｂは、この後副ジャーナルグループ形成処理（図１１）のステップＳＰ３５〜ステップＳＰ３７と同様にして、ジャーナルグループペア形成要求１２０に含まれるグループ間時間差閾値、ジャーナル転送時間量及びグループ間時間差確認間隔をそれぞれ副ジャーナルグループ制御情報管理テーブル１２０のグループ間時間差閾値格納フィールド８２Ｄ、ジャーナル転送時間量格納フィールド８２Ｅ及びグループ間時間差確認間隔格納フィールド８２Ｆに格納する（ＳＰ８８〜ＳＰ９０）。従って、本実施の形態の場合、システム管理者によりマスタに指定された第１又は第２の副ストレージ装置９４，９５の副ジャーナルグループ制御情報管理テーブル１３０にのみ、グループ間時間差閾値、ジャーナル転送時間量及びグループ間時間差確認間隔が格納されることとなる。
【０１３６】
続いてチャネルアダプタ１０１Ｂは、ステップＳＰ８０において形成した各副ジャーナルグループ３１Ｂについて、対応する第１及び又は第２の正ストレージ装置９２，９３にジャーナル転送要求を送信するようにしてリモートコピー処理を開始し（ＳＰ９１）、この後、この副ジャーナルグループ形成処理を終了する。
【０１３７】
なお、チャネルアダプタ１０１Ｂは、リモートコピー処理を開始すると、各副ジャーナルグループ３１Ｂについて、ジャーナル識別子（シーケンス番号）を指定したジャーナル転送要求を定期的に第１及び又は第２の正ストレージ装置９２，９３に送信すると共に、この結果として第１及び又は第２の正ストレージ装置９２，９３から転送されるジャーナル３０を、対応する副ジャーナルグループ３１Ｂの対応するデータボリュームＤＶＯＬに反映する。
【０１３８】
この際チャネルアダプタ１０１Ｂは、第１又は第２の正ストレージ装置９２，９３からジャーナル３０を受信するごとに、かかる副ジャーナルグループ制御情報管理テーブル１３０内の対応する副ジャーナルグループ情報におけるグループ内最新タイムスタンプを、そのとき取得したジャーナル３０に格納されているタイムスタンプの値に更新する。
【０１３９】
他方、リモートコピー処理を開始した第１及び第２の副ストレージ装置９４，９５のチャネルアダプタ１０１Ｂは、かかるリモートコピー処理と並行して、図示しない内部メモリに格納されたジャーナル転送制御処理プログラムに従って、図２１に示すジャーナル転送制御処理をジャーナルグループ集合体ごとに実行する。
【０１４０】
すなわちチャネルアダプタ１０１Ｂは、このジャーナル転送制御処理をグループ間時間差確認間隔周期で開始し、まず、共有メモリ２５ＢＸ，２５ＢＹに格納された副ジャーナルグループ制御情報管理テーブル１３０のマスタ判定フラグ格納フィールド１３０Ａ（図２０）に格納されたマスタ判定フラグに基づいて、自ストレージ装置がマスタであるか否かを判断する（ＳＰ１００）。
【０１４１】
そしてチャネルアダプタ１０１Ｂは、この判断において否定結果を得ると、このジャーナル転送制御処理を終了する。
【０１４２】
これに対してチャネルアダプタ１０１Ｂは、かかる判断において肯定結果を得ると、他方の第２又は第１の副ストレージ装置９５，９４にアクセスして、当該第２又は第１の副ストレージ装置９５，９４内に設定された対応する各副ジャーナルグループ３１Ｂについて、これら副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプ８１Ｃ（図８）をそれぞれ聞き出す（ＳＰ１０１）。
【０１４３】
またチャネルアダプタ１０１Ｂは、自ストレージ装置内の共有メモリ２５ＢＸ，２５ＢＹに格納されている副ジャーナルグループ制御情報管理テーブル１３０に保存されている対応する副ジャーナルグループ情報内のグループ内最新タイムスタンプ８１Ｃをそれぞれ読み出す（ＳＰ１０２）。
【０１４４】
次いでチャネルアダプタ１０１Ｂは、図１３について上述した第１の実施の形態によるジャーナル転送制御処理のステップＳＰ４１〜ステップＳＰ４３と同様にして、ジャーナルグループ集合体ごとに、グループ間最新タイムスタンプとグループ間最古タイムスタンプとの時間差を計算すると共に、当該時間差が副ジャーナルグループ制御情報管理テーブル１３０に格納されているグループ間時間差閾値よりも大きいか否かを判断する（ＳＰ１０３〜ＳＰ１０５）。
【０１４５】
そしてチャネルアダプタ１０１Ｂは、この判断において否定結果を得ると、ステップＳＰ１０１に戻って、この後ステップＳＰ１０５において肯定結果を得るまで同様の処理を繰り返す（ＳＰ１０１〜ＳＰ１０５−ＳＰ１０１）。
【０１４６】
そしてチャネルアダプタ１０１Ｂは、やがてかかる判断において肯定結果を得ると、最もジャーナル転送が送れている副ジャーナルグループ３１Ｂは自ストレージ装置内に設定された副ジャーナルグループ３１Ｂであるか否かを判断する（ＳＰ１０６）。
【０１４７】
チャネルアダプタ１０１Ｂは、この判断において肯定結果を得ると、自ストレージ装置内の最もジャーナル転送が遅れている副ジャーナルグループ３１Ｂ以外のすべての副ジャーナルグループ３１Ｂについてのジャーナル転送要求の発行を停止する。またチャネルアダプタ１０１Ｂは、他方の第２又は第１の副ストレージ装置９５，９４に対して、当該第２又は第１の副ストレージ装置９５，９４内のすべての副ジャーナルグループ３１Ｂについてのジャーナル転送要求の発行を停止するよう指示を与える（ＳＰ１０７）。
【０１４８】
この後、チャネルアダプタ１０１Ｂは、ジャーナル転送が最も遅れている副ジャーナルグループ３１Ｂについてのジャーナル３０を取得するごとに、副ジャーナルグループ制御情報管理テーブル８２に格納されている当該副ジャーナルグループ３１Ｂの副ジャーナルグループ情報に含まれるグループ内最新タイムスタンプの値をそのジャーナル３０に含まれるタイムスタンプの値に更新しながら、当該グループ内最新タイムスタンプの値がステップＳＰ１０３において決定したグループ間最古タイムスタンプの値と、副ジャーナルグループ制御情報管理テーブル１３０に設定されているジャーナル転送時間量との合計値以上となるのを待ち受ける（ＳＰ１０８）。
【０１４９】
そしてチャネルアダプタ１０１Ｂは、やがてステップＳＰ１０８の判断において肯定結果を得ると、副ジャーナルグループ制御情報管理テーブル１３０上のその副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプの値を、最新のジャーナル３０に含まれるタイムスタンプ値に更新する（ＳＰ１１１）。
【０１５０】
続いてチャネルアダプタ１０１Ｂは、そのとき対象としているジャーナルグループ集合体と対応付けられた各副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプのうちの新たなグループ間最古タイムスタンプに合わせて、当該グループ間最古タイムスタンプが示す時刻までのジャーナル３０を自ストレージ装置内のかかる各副データボリューム３１Ｂに一斉に反映させる。またチャネルアダプタ１０１Ｂは、他の副ストレージ装置９５，９４に対して、かかるグループ間最古タイムスタンプに合わせて、当該グループ間最古タイムスタンプが示す時刻までのジャーナル３０を当該ジャーナルグループ集合体に対応付けられた各副データボリューム３１Ｂに一斉に反映させるように指示を与える（ＳＰ１１２）。
【０１５１】
次いでチャネルアダプタ１０１Ｂは、自ストレージ装置内のすべての副ジャーナルグループ３１Ｂについてのジャーナル３０の取得処理を再開すると共に、他方の第２又は第１の副ストレージ装置９５，９４に対して、当該第２又は第１の副ストレージ装置９５，９４内のすべての副ジャーナルグループ３１Ｂについてのジャーナル３０の取得処理を再開するように指示した後（ＳＰ１１３）、今回のジャーナル転送制御処理を開始してからグループ間時間差確認間隔に達したか否かを判断する（ＳＰ１１４）。
【０１５２】
そしてチャネルアダプタ１０１Ｂは、この判断において肯定結果を得るとステップＳＰ１０１に戻り、この後ステップＳＰ１０１以降を同様に処理する。これに対してチャネルアダプタ１０１Ｂは、かかる判断において否定結果を得ると、このジャーナル転送制御処理を終了する。
【０１５３】
これに対してチャネルアダプタ１０１Ｂは、ステップＳＰ１０６の判断において否定結果を得ると、自ストレージ装置内のすべての副ジャーナルグループ３１Ｂについてのジャーナル転送要求の発行を停止する。またチャネルアダプタ１０１Ｂは、他方の第２又は第１の副ストレージ装置９５，９４に対して、当該第２又は第１の副ストレージ装置９５，９４内の最もジャーナル転送が遅れている副ジャーナルグループ３１Ｂについてのジャーナル３０を取得すべき旨の指示（以下、これをジャーナル継続取得指示と呼ぶ）と、当該副ジャーナルグループ３１Ｂ以外のすべての副ジャーナルグループ３１Ｂについてのジャーナル転送要求の発行を停止するべき旨の指示とを与える（ＳＰ１０９）。この際チャネルアダプタ１０１Ｂは、ステップＳＰ１０２において取得した最もジャーナル転送が遅れている副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプの値と、そのとき副ジャーナルグループ制御情報管理テーブル１３０に格納されているジャーナル転送時間量とをその第２又は第１の副ストレージ装置９５，９４に通知する。
【０１５４】
次いでチャネルアダプタ１０１Ｂは、図２２について後述するように、ジャーナル継続取得指示を与えた第２又は第１の副ストレージ装置９５，９４から最もジャーナル転送が遅れている副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプの値が送信されてくるのを待ち受ける（ＳＰ１１０）。
【０１５５】
そしてチャネルアダプタ１０１Ｂは、やがて他方の第２又は第１の副ストレージ装置９５，９４から最もジャーナル転送が遅れている副ジャーナルグループ３１Ｂについてのグループ内最新タイムスタンプの値が送信されてくると、副ジャーナルグループ制御情報管理テーブル１３０上のその副ジャーナルグループ３１Ｂについての副ジャーナルグループ情報に含まれるグループ内最新タイムスタンプの値を、そのとき送信されてきたグループ内最新タイムスタンプの値に更新する（ＳＰ１１１）。
【０１５６】
続いてチャネルアダプタ１０１Ｂは、そのとき対象としているジャーナルグループ集合体と対応付けられた各副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプのうちの新たなグループ間最古タイムスタンプに合わせて、当該グループ間最古タイムスタンプが示す時刻までのジャーナル３０を自ストレージ装置内のかかる各副データボリューム３１Ｂに一斉に反映させる。またチャネルアダプタ１０１Ｂは、他の副ストレージ装置９５，９４に対して、かかるグループ間最古タイムスタンプに合わせて、当該グループ間最古タイムスタンプが示す時刻までのジャーナル３０を当該ジャーナルグループ集合体に対応付けられた各副データボリューム３１Ｂに一斉に反映させるように指示を与える（ＳＰ１１２）。
【０１５７】
この後、チャネルアダプタ１０１Ｂは、自ストレージ装置内のすべての副ジャーナルグループ３１Ｂについてのジャーナル３０の取得処理を再開すると共に、他方の第２又は第１の副ストレージ装置９５，９４に対して、当該第２又は第１の副ストレージ装置９５，９４内のすべての副ジャーナル３１Ｂについてのジャーナル３０の取得処理を再開するように指示した後（ＳＰ１１３）、今回のジャーナル転送制御処理を開始してからグループ間時間差確認間隔に達したか否かを判断する（ＳＰ１１４）。
【０１５８】
そしてチャネルアダプタ１０１Ｂは、この判断において肯定結果を得るとステップＳＰ１０１に戻り、この後ステップＳＰ１０１以降を同様に処理する。これに対してチャネルアダプタ１０１Ｂは、かかる判断において否定結果を得ると、このジャーナル転送制御処理を終了する。
【０１５９】
一方、図２２は、図２１のステップＳＰ１０９においてマスタに設定されている第１又は第２の副ストレージ装置９４，９５からジャーナル継続取得指示が与えられた第２又は第１の副ストレージ装置９５，９４内のチャネルアダプタ１０１Ｂが行なう具体的な処理内容を示している。かかるチャネルアダプタ１０１Ｂは、かかるジャーナル継続取得指示が与えられると、内部メモリに格納されているジャーナル転送制御プログラムに従って、この図２２に示すジャーナル継続取得処理を実行する。
【０１６０】
すなわち、かかるチャネルアダプタ１０１Ｂは、マスタに設定されている第１又は第２の副ストレージ装置９４，９５からジャーナル継続取得指示が与えられると、このジャーナル継続取得処理を開始し、まず、対応する第２又は第１の正ストレージ装置９３，９２に対して、最もジャーナル転送が遅れている副ジャーナルグループ３１Ｂについてのジャーナル転送要求を送信することによりジャーナル３０を１つ取得する（ＳＰ１２０）。
【０１６１】
続いてチャネルアダプタ１０１Ｂは、取得したジャーナル３０にデータが格納されていないか否かを判断する（ＳＰ１２１）。これは第１及び第２の正ストレージ装置９２，９３が、転送すべきジャーナルが存在しない状態でジャーナル転送要求を与えられたときに、データに代えて所定のダミーデータを格納したジャーナル３０を第１又は第２の副ストレージ装置９４，９５に送信するため、取得したジャーナル３０にデータが格納されていないか否かを判断することによって、取得すべきジャーナル３０が未だ第１又は第２の正ストレージ装置９２，９３に残っているか否かを判断するためである。
【０１６２】
そしてチャネルアダプタ１０１Ｂは、この判断において肯定結果を得ると、自ストレージ装置の共有メモリ２５ＢＸ，２５ＢＹに格納されている副ジャーナルグループ制御情報管理テーブル１３０上の対応する副ストレージグループ情報内のグループ内最新タイムスタンプの値を、図２１のステップＳＰ１０９について上述したように、そのときジャーナル継続取得指示と共に与えられたグループ内最新タイムスタンプの値及びジャーナル転送時間量を加算した値に更新し（ＳＰ１２２）、この後ステップＳＰ１２５に進む。
【０１６３】
これに対してチャネルアダプタ１０１Ｂは、ステップＳＰ１２１の判断において否定結果を得ると、かかる副ジャーナルグループ制御情報管理テーブル１３０上の対応する副ストレージグループ情報内のグループ内最新タイムスタンプの値を、そのときステップＳＰ１２０において取得したジャーナル３０に含まれるタイムスタンプの値に更新する（ＳＰ１２３）。
【０１６４】
次いでチャネルアダプタ１０１Ｂは、かかる更新後のグループ内最新タイムスタンプの値がジャーナル継続取得指示と共に与えられたグループ内最新タイムスタンプの値及びジャーナル転送時間量を加算した値以上であるか否かを判断する（ＳＰ１２４）。
【０１６５】
チャネルアダプタ１０１Ｂは、この判断において否定結果を得るとステップＳＰ１２０に戻り、この後、ステップＳＰ１２４において肯定結果を得るまで同様の処理を繰り返す（ＳＰ１２０〜ＳＰ１２４−ＳＰ１２０）。
【０１６６】
チャネルアダプタ１０１Ｂは、やがてステップＳＰ１２４において肯定結果を得ると、ジャーナル継続取得指示が与えられた副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプの値を副ジャーナルグループ制御情報管理テーブル１３０から読み出し、これをマスタに設定されている第１又は第２の副ストレージ装置９４，９５に通知した後（ＳＰ１２５）、このジャーナル継続取得処理を終了する。
【０１６７】
以上のように本実施の形態によるストレージシステム９０では、第１及び第２の副ストレージ装置９４，９５のうちのマスタに設定された第１又は第２の副ストレージ装置９４，９５がジャーナルグループ集合体ごとに、自ストレージ装置及び他の第２又は第１の副ストレージ装置９５，９４内に設定された各副ジャーナルグループ３１Ｂのグループ内最新タイムスタンプを監視し、当該時間差がグループ間時間差閾値を超えた場合に、最もジャーナル転送が遅延している副ジャーナルグループ３１Ｂ以外の副ジャーナルグループ３１Ｂについてのジャーナル転送を中断するための制御処理を行なう。そしてマスタに設定された第１又は第２の副ストレージ装置９４，９５は、この後、最もジャーナル転送が遅延している副ジャーナルグループ３１Ｂについてのジャーナル３０をジャーナル転送時間量分だけ対応する第１又は第２の正ストレージ装置９２，９３から取得した上で、自ストレージ装置内の各副ジャーナルグループ３１Ｂにジャーナル３０を反映し、他の第２又は第１の副ストレージ装置９５，９４内の各副ジャーナルグループ３１Ｂにジャーナル３０を反映させる。
【０１６８】
従って、本ストレージシステム９０によれば、第１の実施の形態によるストレージシステム１と同様に、リモートコピーを行う副ジャーナルグループ３１Ｂの数にかかわりなく、副ジャーナルグループ３１Ｂ間において一定の時間的範囲内（グループ間時間差閾値の範囲内）において、各副ジャーナルグループ３１Ｂ間におけるデータの最新性を確保した一貫性を保証することができ、その分信頼性の高いストレージシステムを提供することができる。
【０１６９】
また本ストレージシステム９０においても、第１の実施の形態によるストレージシステム１と同様に、グループ間時間差確認間隔、グループ間時間差閾値及びジャーナル転送時間量をシステム管理者がホスト２を用いて設定することができるため、かかる効果に加えて運用の柔軟性を高めることができるという効果を得ることができる。
【０１７０】
（３）他の実施の形態
なお上述の第１の実施の形態においては、データを読み書きするための第１のボリューム（データボリュームＤＶＯＬ）を提供する第１のストレージ部を１台の正ストレージ装置３により構成し、第１のボリュームに書き込まれたデータを複製するための第２のボリューム（データボリュームＤＶＯＬ）を提供する第２のストレージ部を１台の副ストレージ装置５により構成する一方、第２の実施の形態においては、かかる第１のストレージ部を２台の正ストレージ装置９２，９３により構成する一方、かかる第２のストレージ部を２台の副ストレージ装置９４，９５により構成するようにした場合について述べたが、本発明はこれに限らず、かかる第１のストレージ部や第２のストレージ部を３台以上のストレージ装置により構成するようにしても良い。
【０１７１】
また上述の第１及び第２の実施の形態においては、正ストレージ装置３，９２，９３において、正ジャーナルグループ３１Ａ（第１のグループ）を設定すると共に、設定した正ジャーナルグループＡ３１ごとに、データボリュームＤＶＯＬに対するデータの書き込みがあったときにジャーナルを作成するジャーナル作成部としての機能をチャネルアダプタ２３Ａに搭載するようにした場合について述べたが、本発明はこれに限らず、かかる機能を他の回路ブロックに持たせるようにしても良い。
【０１７２】
同様に、上述の第１及び第２の実施の形態においては、副ストレージ装置５，９４，９５において、各正ジャーナルグループ３１Ａにそれぞれ対応させて副ジャーナルグループ３１Ｂを設定すると共に、設定した副ジャーナルグループ３１Ｂごとに、ジャーナル３０を定期的にかつ作成された順番で正ストレージ装置３，９２，９３から取得し、取得したジャーナル３０を対応する副ジャーナルグループ３１Ｂ内の対応するデータボリュームＤＶＯＬに反映するジャーナル取得反映部としての機能と、データボリュームＤＶＯＬに未反映の状態で滞留しているジャーナル３０に含まれる副ジャーナルグループ３１Ｂごとの最新のタイムスタンプを比較し、最新及び最古のタイムスタンプの時間差を検出する時間差検出部としての機能と、時間差が予め設定された閾値（グループ間時間差閾値）を超えた場合に、タイムスタンプが最古の副ジャーナルグループ３１Ｂについてのジャーナル３０を、他の副ジャーナルグループ３１Ｂについてのジャーナル３０に優先して取得するための所定の制御処理を実行するジャーナル取得制御部としての機能とを１つのチャネルアダプタ２３Ａに搭載するようにした場合について述べたが、本発明はこれに限らず、これら機能の一部又は全部を他の回路ブロックに持たせるようにしても良い。
【産業上の利用可能性】
【０１７３】
本発明は、運用拠点及び遠隔拠点間に設置されたストレージ装置間でデータをリモートコピーするストレージシステムに広く適用することができる。
【図面の簡単な説明】
【０１７４】
【図１】第１の実施の形態によるストレージシステムの構成を示すブロック図である。
【図２】ジャーナルの説明に供する概念図である。
【図３】ジャーナルグループの説明に供する概念図である。
【図４】第１の実施の形態によるジャーナルグループ設定／管理画面の構成例を略線的に示す略線図である。
【図５】コピーペア追加／削除画面の構成例を略線的に示す略線図である。
【図６】第１の実施の形態によるジャーナルグループペア形成処理の処理手順を示すフローチャートである。
【図７】第１の実施の形態によるジャーナルグループペア形成要求の説明に供する概念図である。
【図８】正ジャーナルグループ情報及び副ジャーナルグループ情報の説明に供する概念図である。
【図９】第１の実施の形態によるジャーナルグループペア形成要求作成処理の処理手順を示すフローチャートである。
【図１０】正ジャーナルグループ形成処理の処理手順を示すフローチャートである。
【図１１】第１の実施の形態による副ジャーナルグループ形成処理の処理手順を示すフローチャートである。
【図１２】第１の実施の形態による副ジャーナルグループ制御情報管理テーブルを示す概念図である。
【図１３】第１の実施の形態によるジャーナル転送制御処理の処理手順を示すフローチャートである。
【図１４】第２の実施の形態によるストレージシステムの構成を示すブロック図である。
【図１５】第２の実施の形態によるジャーナルグループ設定／管理画面の構成例を略線的に示す略線図である。
【図１６】第２の実施の形態によるジャーナルグループペア形成処理の処理手順を示すフローチャートである。
【図１７】第２の実施の形態によるジャーナルグループペア形成要求の説明に供する概念図である。
【図１８】第２の実施の形態によるジャーナルグループペア形成要求作成処理の処理手順を示すフローチャートである。
【図１９】第２の実施の形態による副ジャーナルグループ形成処理の処理手順を示すフローチャートである。
【図２０】第２の実施の形態による副ジャーナルグループ制御情報管理テーブルを示す概念図である。
【図２１】第２の実施の形態によるジャーナル転送制御処理の処理手順を示すフローチャートである。
【図２２】ジャーナル継続取得処理を示すフローチャートである。
【符号の説明】
【０１７５】
１，９０……ストレージシステム、２，９１……ホスト、３，９２，９３……正ストレージ装置、５，９４，９５……副ストレージ装置、１０……ＣＰＵ、１１……メモリ、１３……ストレージ管理プログラム、１４……コピー管理プログラム、１５，１００……ジャーナルグループペア形成プログラム、２３Ａ，２３Ｂ，１０１Ａ，１０１Ｂ……チャネルアダプタ、３０……ジャーナル、３１Ａ……正ジャーナルグループ、３１Ｂ……副ジャーナルグループ、４０，１１０……ジャーナルグループ設定／管理画面、６０……コピーペア追加／削除画面、８０，１２０……ジャーナルグループペア形成要求、８２，１３０……副ジャーナルグループ制御情報管理テーブル。
【図１】
0004916420.tif 000002
【図２】
0004916420.tif 000003
【図３】
0004916420.tif 000004
【図４】
0004916420.tif 000005
【図５】
0004916420.tif 000006
【図６】
0004916420.tif 000007
【図７】
0004916420.tif 000008
【図８】
0004916420.tif 000009
【図９】
0004916420.tif 000010
【図１０】
0004916420.tif 000011
【図１１】
0004916420.tif 000012
【図１２】
0004916420.tif 000013
【図１３】
0004916420.tif 000014
【図１４】
0004916420.tif 000015
【図１５】
0004916420.tif 000016
【図１６】
0004916420.tif 000017
【図１７】
0004916420.tif 000018
【図１８】
0004916420.tif 000019
【図１９】
0004916420.tif 000020
【図２０】
0004916420.tif 000021
【図２１】
0004916420.tif 000022
【図２２】
0004916420.tif 000023