(57)【要約】【課題】正ボリュームと副ボリュームとに格納されているデータの整合性を保持しつつ、正ホストコンピュータ及び副ホストコンピュータからの書き込み要求を受け付ける。【解決手段】記憶制御装置３０２は副ボリュームに発行されたＩ／Ｏ処理を、通信ボリュームを介して、正ボリュームへ転送する。正記憶制御装置３０１は、正ホストコンピュータから受け取った書き込みデータを正ボリューム６０１に書き込むと共に、副記憶制御装置３０２へ送る。【選択図】  図１
2004164047.tif 000002
【特許請求の範囲】
【請求項１】
送られた情報を格納する第１の記憶領域と、
送られた情報を格納する第２の記憶領域と、
前記第１の記憶領域を制御する第１の記憶制御装置と、
前記第２の記憶領域を制御する第２の記憶制御装置と、
前記第１の記憶制御装置は、前記第１の記憶領域に対して送られた第１の書き込み要求に従って、前記第１の記憶領域に対してデータの書き込みを行う一方、前記第２の記憶制御装置に対して前記第１の書き込み要求を転送するものであり、
前記第２の記憶制御装置は、前記第１の記憶制御装置から受けた前記第１の書き込み要求に従って前記第２の記憶領域に対してデータを書き込む動作を行いながら、前記第２の記憶領域に対して送られた第２の書き込み要求を、前記第１の記憶制御装置に対して転送するものであることを特徴とする記憶システム。
【請求項２】
請求項１記載の記憶システムにおいて、
前記第１の記憶制御装置は、前記第２の記憶制御装置から送られた第２の書き込み要求に従って、前記第１の記憶領域に対してデータを書き込む一方、前記第２の記憶制御装置に対して前記第２の書き込み要求を転送するものであることを特徴とする記憶システム。
【請求項３】
請求項２記載の記憶システムにおいて、
前記第２の記憶制御装置は、前記第１の記憶制御装置から送られた第２の書き込み要求に従って、前記第２の記憶領域に対してデータを書き込むものであることを特徴とする記憶システム。
【請求項４】
送られた情報を格納する第１の記憶領域と、
前記第１の記憶領域を制御する第１の記憶制御装置とを有する第１の記憶システム及び、
送られた情報を格納する第２の記憶領域と、
前記第２の記憶領域を制御する第２の記憶制御装置とを有する第２の記憶システムとを有する記憶システム群に利用される第１の記憶システムであって、
前記第１の記憶制御装置は、前記第１の記憶領域に対して送られた第１の書き込み要求に従って、前記第１の記憶領域に対してデータの書き込みを行う一方、前記第１の記憶制御装置は、前記第２の記憶領域に書き込むための前記第１の書込み要求を、前記第２の記憶制御装置へ転送する一方、
前記第１の記憶制御装置は、前記第２の記憶領域に対して送られた第２の書き込み要求を受け取るものであることを特徴とする第１の記憶システム。
【請求項５】
請求項１記載の記憶システムにおいて、
前記第１の記憶制御装置は、前記第２の記憶制御装置から送られた第２の書き込み要求に従って、前記第１の記憶領域に対してデータを書き込む一方、前記第２の記憶制御装置に対して前記第２の書き込み要求を転送するものであることを特徴とする記憶システム。
【請求項６】
請求項２記載の記憶システムにおいて、
前記第２の記憶制御装置は、前記第１の記憶制御装置から送られた第２の書き込み要求に従って、前記第２の記憶領域に対してデータを書き込むものであることを特徴とする記憶システム。
【請求項７】
送られた情報を格納する第１の記憶領域と、
前記第１の記憶領域を制御する第１の記憶制御装置とを有する第１の記憶システム及び、
送られた情報を格納する第２の記憶領域と、
前記第２の記憶領域を制御する第２の記憶制御装置とを有する第２の記憶システムとを有する記憶システム群に利用される第１の記憶システムであって、
前記第２の記憶制御装置は、前記第１のホストコンピュータから送られた第１の書き込み要求を前記第２の記憶領域に書き込む一方、
前記第２の記憶制御装置は、前記第２のホストコンピュータから前記第２の記憶領域に対して送られた第２の書き込み要求を、前記第１の記憶制御装置に対して転送するものであることを特徴とする第２の記憶システム。
【請求項８】
請求項１記載の記憶システムにおいて、
前記第１の記憶制御装置は、前記第２の記憶制御装置から送られた第２の書き込み要求に従って、前記第１の記憶領域に対してデータを書き込む一方、前記第２の記憶制御装置に対して前記第２の書き込み要求を転送するものであることを特徴とする記憶システム。
【請求項９】
請求項２記載の記憶システムにおいて、
前記第２の記憶制御装置は、前記第１の記憶制御装置から送られた第２の書き込み要求に従って、前記第２の記憶領域に対してデータを書き込むものであることを特徴とする記憶システム。
【請求項１０】
送られた情報を格納する第１の記憶領域と、
前記第１の記憶領域を制御する第１の記憶制御装置とを有する第１の記憶システム及び、
送られた情報を格納する第２の記憶領域と、
前記第２の記憶領域を制御する第２の記憶制御装置とを有する第２の記憶システムとを有する記憶システム群に利用されるデータ転送方法であって、
前記第１の記憶制御装置は、
前記第１の記憶領域に対して送られた第１書き込み要求を受け取り、
前記第１の書き込み要求に従って、前記第１の記憶領域に要求された情報を書き込む一方、前記第２の記憶制御装置に対して前記第１の書き込み要求を転送し、
前記第２の記憶制御装置は、
前記第１の記憶装置から送られた前記第１の書き込み要求を受け取り、
前記第１の書き込み要求に従って、前記第２の記憶領域に要求された情報を書き込みつつ、前記第２の記憶領域に対して送られた第２の書き込み要求を受け取り、
前記第１の記憶制御装置へ前記第２の書き込み要求を転送することを特徴とするデータ転送方法。
【請求項１１】
請求項１０記載のデータ転送方法において、
前記第１の記憶制御装置は、前記第２の記憶制御装置から送られた第２の書き込み要求に従って、前記第１の記憶領域に対してデータを書き込む一方、前記第２の記憶制御装置に対して前記第２の書き込み要求を転送することを特徴とするデータ転送方法。
【請求項１２】
請求項１０記載のデータ転送方法において、
前記第２の記憶制御装置は、前記第１の記憶制御装置から送られた第２の書き込み要求に従って、前記第２の記憶領域に対してデータを書き込むことを特徴とするデータ転送方法。
【請求項１３】
送られた情報を格納する第１の記憶領域と、
前記第１の記憶領域を制御する第１の記憶制御装置とを有する第１の記憶システム及び、
送られた情報を格納する第２の記憶領域と、
前記第２の記憶領域を制御する第２の記憶制御装置とを有する第２の記憶システムとを有する記憶システム群に利用されるデータ転送方法であって、
前記第１の記憶制御装置は、前記第１の記憶領域に対して送られた第１の書き込み要求を受け取り、
前記第１の書き込み要求に従って、前記第１の記憶領域に要求された情報を書き込む一方、転送するための前記第１の書き込み要求を転送つつ、前記第２の記憶領域に対して送られた第２の書き込み要求を前記第１の記憶制御装置へ転送することを特徴とするデータ転送方法。
【請求項１４】
請求項１３記載のデータ転送方法において、
前記第１の記憶制御装置は、前記第２の記憶制御装置から送られた第２の書き込み要求に従って、前記第１の記憶領域に対してデータを書き込む一方、前記第２の記憶制御装置に対して前記第２の書き込み要求を転送することを特徴とするデータ転送方法。
【請求項１５】
請求項１４記載のデータ転送方法において、
前記第２の記憶制御装置は、前記第１の記憶制御装置から送られた第２の書き込み要求に従って、前記第２の記憶領域に対してデータを書き込むことを特徴とするデータ転送方法。
【請求項１６】
送られた情報を格納する第１の記憶領域と、
前記第１の記憶領域を制御する第１の記憶制御装置とを有する第１の記憶システム及び、
送られた情報を格納する第２の記憶領域と、
前記第２の記憶領域を制御する第２の記憶制御装置とを有する第２の記憶システムとを有する記憶システム群に利用されるデータ転送方法であって、
前記第２の記憶制御装置は、前記第１の記憶領域に対して送られた第１の書き込み要求を受け取り、
前記第２の記憶領域に書き込む一方、前記第２の記憶領域に対して送られた第２の書き込み要求を受け取り、
前記第１の記憶制御装置に対して転送することを特徴とするデータ転送方法。
【請求項１７】
請求項１６記載のデータ転送方法において、
前記第１の記憶制御装置は、前記第２の記憶制御装置から送られた第２の書き込み要求に従って、前記第１の記憶領域に対してデータを書き込む一方、前記第２の記憶制御装置に対して前記第２の書き込み要求を転送することを特徴とするデータ転送方法。
【請求項１８】
請求項１６記載のデータ転送方法において、
前記第２の記憶制御装置は、前記第１の記憶制御装置から送られた第２の書き込み要求に従って、前記第２の記憶領域に対してデータを書き込むことを特徴とするデータ転送方法。
【請求項１９】
送られた情報を格納する第１の記憶領域と、
前記第１の記憶領域を制御する第１の記憶制御装置と、
前記第１の記憶制御装置内の第１の接続手段と、
送られた情報を格納する第２の記憶領域と、
前記第２の記憶領域を制御する第２の記憶制御装置と、
前記第２の記憶制御装置内の第２の接続手段と、
前記第１の接続手段と前記第１の記憶領域との間でデータを転送する第１の経路及び、前記第１の記憶領域と前記第２の記憶制御装置との間でデータを転送する第２の経路とを有する前記第１の記憶制御装置であり、
前記第１の記憶制御装置と前記第２の記憶領域との間でデータを転送する第３の経路と、
前記第２の接続手段と前記第１の記憶制御装置との間でデータを転送する第４の経路とを有する前記第２の記憶制御装置であることを特徴とする記憶システム。
【請求項２０】
請求項１９記載の記憶システムにおいて、
前記第１の記憶制御装置は、前記第１の記憶領域に対して送られた第１の書き込み要求を前記第１の経路を介して前記第１の記憶領域に書き込む一方、前記第１の書き込み要求を前記第２の経路を介して前記第２の記憶制御装置へ転送するものであることを特徴とする記憶システム。
【請求項２１】
請求項１９記載の記憶システムにおいて、
前記第２の記憶制御装置は、前記第１の記憶領域に対して送られた第１の書き込み要求を前記第３の経路を介して前記第２の記憶領域に書き込む一方、前記第２の記憶領域に対して送られた第２の書き込み要求を、前記第４の経路を介して前記第１の記憶制御装置に前記第２の書き込み要求を転送するものであることを特徴とする記憶システム。
【請求項２２】
送られた情報を格納する第１の記憶領域と、
前記第１の記憶領域を制御し、第２の記憶制御装置と接続された第１の記憶制御装置と、
前記第１の記憶制御装置内の第１の接続手段と、
前記第１の接続手段と前記第１の記憶領域との間で、データを転送される第１の転送経路と、
前記第１の記憶領域と前記第２の記憶制御装置との間で、データを転送される第２の転送経路とを有するものであることを特徴とする第１の記憶システム。
【請求項２３】
請求項２２記載の記憶システムにおいて、
前記第１の記憶制御装置は、前記第１の記憶領域に対して送られた第１の書き込み要求を前記第１の経路を介して前記第１の記憶領域に書き込む一方、前記第１の書き込み要求を前記第２の経路を介して前記第２の記憶制御装置へ転送するものであることを特徴とする記憶システム。
【請求項２４】
請求項２２記載の記憶システムにおいて、
前記第２の記憶制御装置は、前記第１の記憶領域に対して送られた第１の書き込み要求を前記第２の経路を介して受け取り、前記第２の記憶領域に書き込むものであることを特徴とする記憶システム。
【請求項２５】
送られた情報を格納する第１の記憶領域と、
前記第１の記憶領域を制御する第１の記憶制御装置と、
前記第１の記憶制御装置内の第１の接続手段と、
送られた情報を格納する第２の記憶領域と、
前記第２の記憶領域を制御する第２の記憶制御装置と、
前記第２の記憶制御装置内の第２の接続手段とを有する記憶システムであって、第２の接続手段と前記第１の記憶制御装置との間でデータを転送される第１の転送経路と、
前記第１の記憶制御装置と前記第２の記憶領域との間で、データを転送される第２の転送経路とを有するものであることを特徴とする第２の記憶システム。
【請求項２６】
請求項２５記載の記憶システムにおいて、
前記第２の記憶制御装置は、前記第１の記憶領域に対して送られた第１の書き込み要求を前記第２の経路を介して前記第２の記憶領域に書き込む一方、第２の記憶領域に対して送られた第２の書き込み要求を前記第１の経路を介して前記第１の記憶制御装置へ転送するものであることを特徴とする記憶システム。
【請求項２７】
請求項２５記載の記憶システムにおいて、
前記第２の記憶制御装置は、前記第１の記憶領域に対して送られた第１の書き込み要求を前記第２の経路を介して受け取り、前記第２の記憶領域に書き込むものであることを特徴とする記憶システム。
【請求項２８】
送られた情報を格納する第１の記憶領域と、
前記第１の記憶領域を制御する第１の記憶制御装置と、
前記第１の記憶制御装置内の第１の接続手段と、
送られた情報を格納する第２の記憶領域と、
前記第２の記憶領域を制御する第２の記憶制御装置と、
前記第２の記憶制御装置内の第２の接続手段とを有する記憶システムに利用される第１の記憶制御装置であって、
前記第１の記憶制御装置は、前記第１の記憶領域に対して送られた第１の書き込み要求を第１の記憶領域に書き込む一方、前記２の記憶領域に対して送られた第２の書き込み要求を受け取り前記第１の記憶領域に書き込むものであることを特徴とする第１の記憶制御装置。
【請求項２９】
送られた情報を格納する第１の記憶領域と、
前記第１の記憶領域を制御する第１の記憶制御装置と、
送られた情報を格納する第２の記憶領域と、
前記第２の記憶領域を制御する第２の記憶制御装置とを有する記憶システムに利用される第２の記憶制御装置であって、
前記第２の記憶制御装置は、前記第１の記憶領域に対して送られた第１の書き込み要求を受け取り、前記第２の記憶領域に書き込む一方、前記第２の記憶領域に対して送られた第２の書き込み要求を受け取り、前記第２の書き込み要求を前記第１の記憶制御装置に転送するものであることを特徴とする第２の記憶制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の記憶システムのそれぞれに設けられた記憶ボリューム間でペアを形成しデータを多重化する記憶システムに関して、特に、データの整合性を確保しつつ、正ホストコンピュータ及び副ホストコンピュータからのアクセス要求を受ける技術に関する。
【０００２】
【従来の技術】
近年の記憶システムでは、記憶制御装置及び記憶ボリュームに対する障害や災害時に、実行していたオンライン業務等の処理を速やかに回復できるように、記憶制御装置や記憶制御装置に接続される記憶ボリュームを２重化することがしばしばある。また、記憶システムの一部または全体を２重化構成にしておくことは、システムの保守作業を行う場合にも有効である。
【０００３】
記憶ボリュームを２重化するための構成の一つとして、２台のホストコンピュータのそれぞれに接続された記憶制御装置の各々は、正ボリューム又は、副ボリュームに接続される。正ホストコンピュータが正ボリュームに対して書き込み処理を行うと、記憶制御装置は正ボリュームから副ボリュームへデータをコピーする。このコピー処理による正ボリュームと副ボリュームとの状態をペア状態と呼ぶ。ペア状態においては、副ホストコンピュータは、副ボリュームにアクセスできない。
【０００４】
【特許文献１】
特開２００１−２７３２４２号公報
【０００５】
【発明が解決しようとする課題】
従来、ペア状態を解除しなければ、副ホストコンピュータが目的の記憶ボリュームのデータにアクセスすることができなかった。つまり、ペア状態を保持したまま、副ホストコンピュータが目的の記憶ボリュームのデータにアクセスすることができなかった。
【０００６】
本発明の目的は、２重化された記憶システムにおいて、正ボリュームと副ボリュームに格納されているデータの整合性を保証しながら、正ホストコンピュータと副ホストコンピュータが、あたかも同一の記憶ボリュームを共有しているかの如く、Ｉ／Ｏ処理を行うことである。
【０００７】
さらに、正側と副側の区別を持たずに両側のホストコンピュータがあたかも同一の記憶ボリュームを共有するかの如く、Ｉ／Ｏ処理を行うことを可能にすることである。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明は、副ボリュームに対して通信用ボリュームを設ける。副記憶制御装置は、副ホストコンピュータが発行した書き込み要求または、読み込み要求であるＩ／Ｏ処理を、通信用ボリュームから正側の記憶ボリュームである正ボリュームへのＩ／Ｏ処理として正側の記憶制御装置へ転送する。正側の記憶制御装置は、転送されたＩ／Ｏ処理を、正側のホストコンピュータから発行されたＩ／Ｏ処理と同様に、副ボリュームへデータを転送する。
【０００９】
【発明の実施の形態】
図１８は、本発明の原理図である。図１８の記憶システムにおいて、正側のホストコンピュータ１０１が正ボリューム６０１に対してＩ／Ｏ処理を行うと、正側の記憶制御装置３０１は、ホストコンピュータ１０１からＩ／Ｏ処理を受け取り、から正ボリューム６０１に対してＩ／Ｏ処理を行う（ａ）。
【００１０】
また、正側の記憶制御装置は、正側のホストコンピュータ１０１からのＩ／Ｏ処理を副側の記憶制御装置３０２へ転送する。正側の記憶制御装置３０１からＩ／Ｏ処理を受領した副側の記憶制御装置３０２は、副ボリューム６０２にＩ／Ｏ処理を行う（ｂ）。
【００１１】
一方、副側のホストコンピュータ１０２から副ボリューム６０２にＩ／Ｏ処理を行うと、副側の記憶制御装置３０２は、ホストコンピュータ１０２からＩ／Ｏ処理を受け取り、Ｉ／Ｏ処理を正側の記憶制御装置３０１へ転送する。副側の記憶制御装置３０２からＩ／Ｏ処理を受け取った正側の記憶制御装置３０１は、正ボリューム６０１にＩ／Ｏ処理を行う（ｃ）。
【００１２】
さらに、正側の記憶制御装置３０１は、受け取ったＩ／Ｏ処理を副側の記憶制御装置３０２に送り戻す。送り戻されたＩ／Ｏ処理を受け取った副側の記憶制御装置３０２は、副ボリューム６０２に対して送り戻されたＩ／Ｏ処理を行う（ｄ）。
【００１３】
尚、本発明の正ボリューム６０１、副ボリューム６０２及び通信用ボリューム６０３の各々のボリュームは、実際には、一つ以上の記憶媒体で構成されるものである。記憶媒体の例として、磁気ディスクや光ディスク等がある。特に、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｆｏｒ  Ｉｎｅｘｐｅｎｓｉｖｅ  Ｄｉｓｋｓ）方式を採用する場合、正／副記憶制御装置は、ホストコンピュータから論理ボリュームに対して送られたＩ／Ｏ処理を、論理ボリュームに対応する複数のディスクに対してＩ／Ｏ処理を実行する。
【００１４】
図１は図１８の原理図を詳細に記載した本発明における記憶システムの第１の実施の形態を示した図である。図１の記憶システムにおいて、記憶制御装置３０１は、チャネルパス２０１を介してホストコンピュータ１０１に接続される。記憶制御装置３０１は、ホストコンピュータ１０１から要求されるＩ／Ｏ処理を実行する。記憶制御装置３０１は、チャネルポート４０１〜４０３、Ｉ／Ｏ処理制御部（プロセッサ）５０１〜５０３とそれらの各々に備わる個別メモリ５０４〜５０６、チャネルポートを介してＩ／Ｏ処理を行うＩ／Ｏ処理制御部（Ｉ／Ｏ処理制御部）５０１〜５０３からアクセス可能な共有メモリとキャッシュメモリ５０７、ドライブポート５２６、正ボリューム６０１に対して書き込み処理及び読み込み処理を行うＩ／Ｏ処理制御部５２２及びこれに備わる個別メモリ５２４を有する。ドライブポート５２６は、正ボリューム６０１と接続される。
【００１５】
記憶制御装置３０２は、記憶制御装置３０１と同様の構成をとっている。記憶制御装置３０２は、チャネルパス２０４を介してホストコンピュータ１０２に接続され、ホストコンピュータ１０２から要求されるＩ／Ｏ処理を制御する。記憶制御装置３０２は、記憶制御装置３０１と同様の構成であるが、異なる点は、通信用ボリューム６０３を有することである。
【００１６】
通信用ボリューム６０３は、ホストコンピュータ１０２からのＩ／Ｏ処理を記憶制御装置３０１に転送する際に使用する。
【００１７】
記憶制御装置３０１及び記憶制御装置３０２はチャネルポート４０２とチャネルポート４０５間をチャネルパス２０２によって、チャネルポート４０３とチャネルポート４０４間をチャネルパス２０３によってそれぞれ接続され、この接続により、正ボリューム６０１と副ボリューム６０２をペアとして形成している。チャネルパス２０２、２０３は、一方向通行路である。本実施の形態において、チャネルパス２０２、２０３は、一方向通信路を用いたが、パスを一つにして、ペアを形成しているので、ホストコンピュータ１０１から正ボリューム６０１に対してＩ／Ｏ処理が発行されると、Ｉ／Ｏ処理を受領した記憶制御装置３０１は、チャネルパス２０２及び記憶制御装置３０２を介して、ペアである副ボリューム６０２へＩ／Ｏ処理を転送する。
【００１８】
一方、ホストコンピュータ１０２から副ボリューム６０２に対してＩ／Ｏ処理が発行されると、Ｉ／Ｏ処理を受領した記憶制御装置３０２のＩ／Ｏ処理制御部５２３は、副ボリューム６０２に対してＩ／Ｏ処理を実行せずに、最初に通信用ボリューム６０３の処理として制御を変更する。
【００１９】
その後、記憶制御装置３０２は通信用ボリューム６０３から正ボリューム６０１へのＩ／Ｏ処理として、チャネルパス２０３を介して記憶制御装置３０１へＩ／Ｏ処理を転送する。記憶制御装置３０２からＩ／Ｏ処理を受け取った記憶制御装置３０１のＩ／Ｏ処理制御部５０３は、正ボリューム６０１へＩ／Ｏ処理を行う。その後、今度は副ボリューム６０２への処理として、チャネルパス２０２を経由して記憶制御装置３０２へＩ／Ｏ処理を更に転送する。記憶制御装置３０２は、副ボリューム６０２に対して転送されたＩ／Ｏ処理を行う。
【００２０】
図２は、記憶制御装置３０２の共有メモリ／キャッシュメモリ５１４内の管理情報を示したものである。ホストコンピュータ１０２が副ボリューム６０２へＩ／Ｏ処理を発行する際、Ｉ／Ｏ処理制御部５１０は、共有メモリ／キャッシュメモリ５１４内の通信ボリューム用管理エリア５１５に、副ボリューム番号５１６、コマンド５１９とパラメータ情報５２０を格納する。
【００２１】
ホストコンピュータ１０２からの書き込み要求の際、Ｉ／Ｏ処理制御部５１０は、共有メモリ／キャッシュメモリ５１４内の受領データ格納領域５２１へホストコンピュータ１０２からのデータを格納する。その後、Ｉ／Ｏ処理制御部５１０は、通信用ボリューム６０３へ処理を移すために、Ｉ／Ｏ処理制御部５０８へ制御を移す。制御を移されたＩ／Ｏ処理制御部５０８は、副ボリューム番号５１６から、対応するペア正ボリューム番号５１７とパス情報５１８を求め、Ｉ／Ｏ処理の転送先を算出する。その後、Ｉ／Ｏ処理制御部５０８は、通信用ボリューム６０３から正ボリューム６０１へのＩ／Ｏとして、チャネルパス２０３経由で記憶制御装置３０１のＩ／Ｏ処理制御部５０３へコマンド５１９を発行し、パラメータ情報５２１を転送する。書き込み処理を伴う場合には、Ｉ／Ｏ処理制御部５０８は、ホストコンピュータ１０２から送られたデータを格納した受領データ格納領域５２１から格納したデータも転送する。
【００２２】
一方、Ｉ／Ｏ処理制御部５０８、５０９、５１０の処理とは別に、Ｉ／Ｏ処理制御部５２３は、受領データ格納領域５２１に書き込みデータがあれば、書き込みのデータを通信ボリューム６０３に書き込む。
【００２３】
図３〜図７は、図１及び図２における処理フローである。フローは、対象ボリュームが正ボリューム６０１であるか副ボリューム６０２であるか、またはホストコンピュータ１０１からのＩ／Ｏかホストコンピュータ１０２からのＩ／Ｏかによってフローが異なる。Ｉ／Ｏには、書き込みと読み込みがあるが、書き込みのＩ／Ｏの場合、記憶制御装置３０２は、ホストコンピュータ１０２からのＩ／Ｏであれば、記憶制御装置３０１に転送する。また、記憶制御装置３０１からのＩ／Ｏであれば、記憶制御装置３０２は、副ボリューム６０２に書き込む。
【００２４】
図３でＩ／Ｏ処理制御部５１０（ＪＯＢ１）の処理を説明する。ホストコンピュータ１０２から記憶制御装置３０２へＩ／Ｏが発行され、Ｉ／Ｏ処理制御部５１０は、コマンド解析（ステップ７０１）を行う。その後、Ｉ／Ｏ処理制御部５１０は、データ転送が可能である状態かどうか、つまり、ペア状態が正常であるか異常であるかを判断する（ステップ７０２）。ペア状態が異常の時は、正／副ボリュームとのデータの整合性が取れないため、Ｉ／Ｏ処理制御部５１０は、ホストコンピュータ１０２へペア状態が異常であることを報告するチェック報告を行う（ステップ７０３）。ペア状態が正常ならば、Ｉ／Ｏ処理制御部５１０は、通信ボリュームのＪＯＢ３へＩ／Ｏ処理の要求を行い（ステップ７０４）、Ｉ／Ｏ処理制御部５１０（ＪＯＢ１）は、待機状態となる（ステップ７０５）。通信ボリュームのＪＯＢ３の処理が終了した時点で処理が再開される（ステップ７０６）。Ｉ／Ｏ処理制御部５１０は、ホストコンピュータ１０２へ終了報告をする（ステップ７０７）。
【００２５】
次に図５でＩ／Ｏ処理制御部５０８（ＪＯＢ３）の処理を説明する。Ｉ／Ｏ処理制御部５０８がＩ／Ｏ処理制御部５１０（ＪＯＢ１）からＩ／Ｏ処理の要求を受信すると、Ｉ／Ｏ処理制御部５０８（ＪＯＢ３）は、正ボリューム情報５１７、パス情報５１８を設定し（ステップ７１３）、ステップ７１３で準備した情報に従って、記憶制御装置３０１へコマンドを発行する（ステップ７１４）。これにより、Ｉ／Ｏ処理制御部５０３（ＪＯＢ４）の処理が起動される。Ｉ／Ｏ処理制御部５０８は、パラメータ転送に続き、データ転送を開始（ステップ７１５）する。転送が終了すれば、Ｉ／Ｏ処理制御部５０８（ＪＯＢ３）は、待機状態になる（ステップ７１６）。
【００２６】
データ転送が終了した時点で、記憶制御装置３０１のＩ／Ｏ処理制御部５０３は、Ｉ／Ｏ処理制御部５０８に対してＪＯＢ４の終了通知をする。これによりＩ／Ｏ処理制御部５０８（ＪＯＢ３）は、再起動され（ステップ７１７）、Ｉ／Ｏ処理制御部５１０（ＪＯＢ１）へ終了通知をする（ステップ７１８）。
【００２７】
図６では、Ｉ／Ｏ処理制御部５０８（ＪＯＢ３）からのＩ／Ｏ処理要求によって起動されるＩ／Ｏ処理制御部５０３（ＪＯＢ４）の処理を説明する。まず、Ｉ／Ｏ処理制御部５０３は、Ｉ／Ｏ処理要求によって起動されたＪＯＢ４で、コマンド解析（ステップ７１９）を行う。その後、Ｉ／Ｏ処理制御部５０３は、個別メモリ５０６にコマンドとパラメータを退避する（ステップ７２０）。尚、本実施の形態では、個別メモリにコマンドとパラメータを退避したが、共有メモリ／キャッシュメモリ５０７に退避することもできる。その後、Ｉ／Ｏ処理制御部５０３は、共有メモリ／キャッシュメモリ５０７にデータ転送を行う（ステップ７２１）。つまり、書き込み処理の際、転送データを伴うので、転送データは、Ｉ／Ｏ処理制御部５０３によって、共有メモリ／キャッシュメモリ５０７に格納される。
【００２８】
その後、Ｉ／Ｏ処理制御部５０３（ＪＯＢ４）は、Ｉ／Ｏ処理制御部５０２（ＪＯＢ５）に対してＩ／Ｏ処理要求をし（ステップ７２２）、Ｉ／Ｏ処理制御部５０３（ＪＯＢ４）は一旦待機状態になる（ステップ７２３）。Ｉ／Ｏ処理制御部５０２（ＪＯＢ５）からの終了通知でＪＯＢ４の処理が再開され、Ｉ／Ｏ処理制御部５０３は、Ｉ／Ｏ処理制御部５０８（ＪＯＢ３）へ終了通知をして処理を終了する。また、共有メモリ／キャッシュメモリ５０７に格納された転送データは、Ｉ／Ｏ処理制御部５２２によって、正ボリューム６０１に書き込まれる。
【００２９】
更に図７では、Ｉ／Ｏ処理制御部５０３（ＪＯＢ４）からのＩ／Ｏ処理要求によって起動されるＩ／Ｏ処理制御部５０２（ＪＯＢ５）の処理を説明する。まず、Ｉ／Ｏ処理制御部５０２は、副ボリューム番号とパス情報を設定し（ステップ７２６）、副ボリューム６０２のＩ／Ｏ処理を行うＪＯＢ２へコマンドを発行する（ステップ７２７）。Ｉ／Ｏ処理制御部５０２は、続いてパラメータ／データ転送を行う（ステップ７２８）。転送が終了したら、Ｉ／Ｏ処理制御部５０２は、Ｉ／Ｏ処理制御部５０３（ＪＯＢ４）へ処理の終了通知を行う（ステップ７２９）。
【００３０】
ステップ７２８において、転送されるデータが、記憶制御装置３０２の共有メモリ／キャッシュメモリ５１４に存在する時は、データの転送を省略することができる。これにより、データの転送を省略できた場合、ホストコンピュータへのレスポンスを向上させることができる。
【００３１】
最後に図４では、Ｉ／Ｏ処理制御部５０２（ＪＯＢ５）からのＩ／Ｏ要求によって起動されるＩ／Ｏ処理制御部５０９（ＪＯＢ２）の処理を説明する。ＪＯＢ２が起動されると、Ｉ／Ｏ処理制御部５０９は、コマンド解析（ステップ７０８）を行う。その後、Ｉ／Ｏ処理制御部５０９は、ペア状態をチェックする（ステップ７０９）。ペア状態が異常の時、正／副ボリュームの整合性が取れないため、Ｉ／Ｏ処理制御部５０９は、Ｉ／Ｏ処理制御部５０２（ＪＯＢ５）へチェック報告を行う（ステップ７１０）。ペア状態が正常ならば、Ｉ／Ｏ処理制御部５０９は、続いてコマンド、パラメータ及びデータの転送処理を行う（ステップ７１１）。終了したらＩ／Ｏ処理制御部５０９は、正側の記憶制御装置３０１のＩ／Ｏ処理制御部５０２（ＪＯＢ５）へ終了通知をして（ステップ７１２）処理を終了する。
【００３２】
尚、ステップ７１１において、転送されるデータが、記憶制御装置３０２の共有メモリ／キャッシュメモリ５１４に存在する時は、データの転送を省略することができる。
【００３３】
図８は図３〜図７の制御方式を用いて処理を行う際の、副ボリューム６０２、通信ボリューム６０３、正ボリューム６０１で起動するＪＯＢ間のシーケンスの流れを示した図である。図８によれば、ホストコンピュータ１０２からＩ／Ｏ要求を受領したＩ／Ｏ処理制御部５１０（ＪＯＢ１）は、コマンドとパラメータの受領及び退避や、ホストからのデータ受領及びキャッシュメモリへのデータ退避などの前処理を行う。その後、Ｉ／Ｏ処理制御部５１０、通信ボリューム（６０３）のＩ／Ｏ処理制御部５０８（ＪＯＢ３）へ処理の要求を行い、Ｉ／Ｏ処理制御部５１０（ＪＯＢ１）は待機状態となる。Ｉ／Ｏ処理制御部５０８（ＪＯＢ３）が起動されると、正ボリューム６０１のＩ／Ｏ処理制御部５０３（ＪＯＢ４）に対してコマンドを発行する。Ｉ／Ｏ処理制御部５０３において、ＪＯＢ４が起動されると、コマンド／パラメータの受領／退避や、副ボリューム６０２からのデータ受領などの前処理を行う。その後、今度は逆に副ボリューム６０２へデータをコピーするためにＩ／Ｏ処理制御部５０２は、Ｉ／Ｏ処理制御部５０９（ＪＯＢ２）に対してコマンドを発行する。Ｉ／Ｏ処理制御部５０９（ＪＯＢ２）は、データの転送が完了したらＩ／Ｏ処理制御部５０３（ＪＯＢ４）に終了通知を行う。終了通知を受領したＩ／Ｏ処理制御部５０３（ＪＯＢ４）は、Ｉ／Ｏ処理制御部５０８（ＪＯＢ３）へ終了通知を行う。
【００３４】
続いてＩ／Ｏ処理制御部５０８（ＪＯＢ３）は、Ｉ／Ｏ処理制御部５１０（ＪＯＢ１）に終了通知を行い、Ｉ／Ｏ処理制御部５１０（ＪＯＢ１）はホストコンピュータ１０２へ終了報告をする。この一連の処理を行うことで正／副ボリュームのデータの整合性を保ちながらＩ／Ｏ処理を完結させることが可能となる。
【００３５】
本実施の形態において読み込みのＩ／Ｏ処理についても、同様の処理で行うが、以下の処理を行えば、副ボリューム６０２から読み込み可能である。ホストコンピュータ１０１から正ボリューム６０１に対して書き込み要求があることを記憶制御装置３０２に通知し、共有メモリ５１４に正ボリューム６０１に対する書き込み要求を格納し、その後、正ボリューム６０１に書き込む。ホストコンピュータ１０２から副ボリューム６０２対して直接読み込むことができる。読み込み要求によって読み込まれる領域と共有メモリ５１４に格納された書き込み要求のある書き込み領域が重ならない場合、副ボリューム６０２から読み込む。一方、読み込み領域が書き込み領域と重なる場合、正ボリューム６０１に対して読み込み要求を転送し読み込む。
【００３６】
第１の実施の形態は、通信ボリュームを定義しているので、記憶制御装置３０２の各Ｉ／Ｏ処理制御部は、通信ボリュームと副ボリュームとの処理を判別する必要がなく、Ｉ／Ｏ処理制御部の処理が単純になる。また、ホストコンピュータ１０２のユーザは、正ボリュームと副ボリュームとのデータの整合性が取れているため、副ボリュームに対して正ボリュームと区別することなくＩ／Ｏ処理を行うことができる。
【００３７】
本実施の形態は、データの転送処理を非同期に行うこともできる。ここで、データの転送処理の非同期とは、ホストコンピュータ１０２からの書き込み要求のＩ／Ｏと、副ボリュームへのデータ転送処理を非同期に処理することである。第２の実施の形態は、図１と同様の形態をとるが、一部の処理が異なる。
【００３８】
図９は、データの転送処理を非同期に行う各Ｉ／Ｏ処理制御部のシーケンス図である。図８との違いは、Ｉ／Ｏ処理制御部５１０（ＪＯＢ１）がＩ／Ｏ処理制御部５０８（ＪＯＢ３）へ通信ボリュームへの処理通知を行う前に、ホストホストコンピュータ１０２に対して終了報告を送信することである。図９の場合は、図８の処理よりも、ホストコンピュータ１０２へのレスポンスが向上する。
【００３９】
図１０は、本発明の第２の実施の形態を示した図である。本実施の形態は、図１における通信ボリューム６０３の機能を副ボリューム６０２が兼ねている。図１の場合と異なる動作は、副ボリューム６０２が通信ボリューム６０３で動作するＪＯＢにＩ／Ｏ処理を転送する代わりに、副ボリューム６０２内の別ＪＯＢにＩ／Ｏ処理要求を行う点である。本実施の形態の特徴は、図１の場合には記憶ボリュームとしての役割を持たない通信ボリュームを定義しなければならない。しかし、図１０の場合には、通信ボリューム６０３の定義が不要なところである。第３の実施の形態は、通信ボリューム６０３を定義する必要がないため、副ボリューム６０２の容量は、通信ボリューム６０３の分だけ増やすことができる。
【００４０】
図１１〜図１５は、図１０における構成の制御フローを記述したものである。副ボリューム６０２のＩ／Ｏ処理を、同一副ボリューム６０２内の別ＪＯＢを使用して正ボリューム６０１へ転送し、転送が終了した時点で副ボリューム６０２のＪＯＢを経由してホストコンピュータへ終了報告をするための制御フローを記述したものである。
【００４１】
処理の流れは、図３〜図７と同様に行われるが、相違点は、以下の通りである。第１の相違点は、正ボリュームからのＩ／Ｏでなければ、同一副ボリューム６０２の別ＪＯＢへ正ボリュームへのＩ／Ｏ処理転送要求を行う（ステップ８０４）点である。第２の相違点は、副ボリューム６０２でのＩ／Ｏ処理の引継ぎと判断した際（ステップ８１３）、通信ボリュームで起動されたＪＯＢの場合と同様に、情報設定（ステップ８１４及び８１５）を行った後、正ボリューム６０１へコマンド発行（ステップ８１６）、パラメータ、データ転送する点（ステップ８１７）である。
【００４２】
図１６は、図１１〜図１５の制御方式を用いて処理を行う際の、副ボリューム６０２、正ボリューム６０１で起動するＪＯＢ間のシーケンスの流れを示した図である。図１６の流れは、図８の流れとほぼ同一である。違いは、通信ボリューム６０３で起動していたＪＯＢの代わりに、副ボリューム６０２内でＪＯＢ３を割当てるところである。
【００４３】
本実施の形態においても、非同期の転送を行うことができる。図９の通信ボリュームを副ボリュームに置き換えることによって、データを非同期に転送することができる。
【００４４】
また、本実施の形態において、副ボリューム６０２でホストコンピュータ１０２からのデータを共有メモリ／キャッシュメモリ５１４上に一時的に格納しておけば、正ボリューム６０１からデータコピーの指示が来た時にデータ転送を省略することが可能である。
【００４５】
また、通信ボリューム６０３を副ボリューム６０２でなく共有メモリ／キャッシュメモリ５１４に定義することも可能である。共有メモリ／キャッシュメモリ５１４に通信ボリューム６０３を定義すれば、副ボリューム６０２へ書き込む処理がなくなるので、結果としてホストコンピュータへのレスポンスの向上をさせることができる。
【００４６】
第３の実施の形態は、正ボリュームと副ボリュームの区別をなくした形態である。正ボリュームと副ボリュームの区別をなくし、両方ともに正ボリュームの位置付けとし、ホストコンピュータ１０１及びホストコンピュータ１０２、もしくは記憶制御装置３０１及び記憶制御装置３０２間で正ボリュームと副ボリュームを他のホストＩ／Ｏから排他した方に正ボリュームの動作とする。一方、排他をしていない方を副ボリューム６０２の動作として処理をさせることでデータの整合性を保ちながら、両ホストコンピュータ１０１及びホストコンピュータ１０２からＩ／Ｏ処理を行うことを可能にする。その時点での正ボリュームの動作をするボリュームと副ボリュームの動作をするボリュームの関係が決定すれば、処理フローは図３〜７、または図１１〜１５の動作に従うことができる。
【００４７】
図１７は、上記正ボリュームと副ボリュームの区別をなくした本実施の形態における処理を行うフロー図である。あらかじめ、対のボリュームに対して排他モードを定義しておく。即ち一方のボリュームを排他メイン、他方を排他サブとし、メインの排他を取得した記憶制御装置が優先となる。
【００４８】
まずホストコンピュータからのＩ／Ｏに対するＪＯＢが起動され（ステップ８５６）、コマンド解析を行う（ステップ８５７）。次に自ボリュームの排他モードをチェックし（ステップ８５８）、排他サブであれば続いて他ホストがリザーブ中かどうかチェックする（ステップ８５９）。リザーブ中であればホストへリザーブコンフリクト報告を行い（ステップ８３４）、処理を終了する（ステップ８３５）。リザーブ中でなければ更に他ホストでボリュームが排他中かどうかをチェックする（ステップ８２９）。排他中であれば他ホストがアクセス中であるため、一旦ＪＯＢは待機状態となる（ステップ８３６）。排他中でなければ、排他サブを取得する（ステップ８３０）。
【００４９】
その後、相手ボリュームへホストからのパラメータまたはデータを転送する（ステップ８３１）。この時未だ排他メインを取得しているわけではないので、転送結果をチェックする必要がある。転送結果が相手ボリュームでボリューム排他中であれば（ステップ８３２）、既に他ホストに排他メインを取得されていたことになるため、一旦排他サブを解除し（ステップ８５１）、ＪＯＢは待機状態になる（ステップ８３３）。転送結果が「相手ボリュームでリザーブ中」であれば（ステップ８３７）、すれ違いで他ホストにリザーブを取得されていたことになるため、排他サブを解除し（ステップ８５２）、ホストへリザーブコンフリクト応答を行い（ステップ８３８）、処理を終了する（ステップ８３９）。転送結果が排他中でもリザーブ中でもなければ、正常に相手ボリュームへ転送処理を行えたため、自ボリュームに対してもホストからのパラメータまたはデータの転送を行い（ステップ８５３）、排他サブ情報を解除し（ステップ８５４）ホストへ終了報告を行い（ステップ８４０）、処理を終了する（ステップ８４１）。
【００５０】
自ボリュームの排他モードがメインの時にも、まず他ホストがリザーブ中かどうかチェックする（ステップ８４２）。リザーブ中であればホストへリザーブコンフリクト応答を行い（ステップ８４８）、処理を終了する（ステップ８４９）。リザーブ中でなければ更に他ホストでボリュームが排他中かどうかをチェックする（ステップ８４３）。排他中であれば他ホストがアクセス中であるため、一旦ＪＯＢは待機状態となる（ステップ８５０）。排他中でなければ、排他メインを取得する（ステップ８４４）。その後、自ボリュームと相手ボリュームへホストからのパラメータまたはデータを転送する（ステップ８４５）。この時は排他メインを取得しているので転送は必ず終了する。換言すると、すれ違いで相手のボリュームに排他がかかっていても、自ボリュームの排他モードがメインなので、時間監視を行い、相手のボリュームの排他が解除されるのを待ち処理を実行する。その後、排他メイン情報を解除し（ステップ８５５）ホストへ終了報告を行い（ステップ８４６）、処理を終了する（ステップ８４７）。
【００５１】
本実施の形態によると、排他メインを取得すれば、ペアのボリュームとのデータの整合性が取れている。よって、読み込み処理の場合、常に正側の記憶制御装置は、自ボリュームからデータ転送を行うことができる。自ボリュームから読み出すことができるので、ペアボリュームへのデータ転送処理のオーバヘッドは、なく、ホストコンピュータへのレスポンス向上をさせることができる。また、正／副ボリュームの区別がないため、クラスタリングに適した形態となる。
【００５２】
本発明の第１〜第３の実施の形態において、図１〜８で、正ボリューム６０１、副ボリューム６０２及び通信ボリューム６０３にＩ／Ｏ処理を行う際、Ｉ／Ｏ処理制御部５２２及びＩ／Ｏ処理制御部５２３が処理を行っているが、このＩ／Ｏ処理をＩ／Ｏ処理制御部５０１〜５０３、５０８〜５１０に行わせることもできる。
【００５３】
また、チャネルパス２０２、２０３は、本実施の形態においては専用線を用いたが、専用線だけに限らず、公衆回線、ＬＡＮ、又は、インターネット等の回線を使用することもできる。
【００５４】
また、図１において、正ボリューム６０１とは別に、通信ボリューム６０３を記憶制御装置３０１に接続すれば、ホストコンピュータ１０１とホストコンピュータ１０２、記憶制御装置３０１と記憶制御装置３０２、正ボリューム６０１と副ボリューム６０２の機能を入れ替えることができる。同様に、第２の実施の形態においても、機能を入れ替えることができる。
【００５５】
【発明の効果】
本発明によれば、ペア状態であっても、副側のホストコンピュータは、正ボリュームとのデータの整合性をとりながら、副ボリュームにＩ／Ｏ処理を行うことが可能である。
【図面の簡単な説明】
【図１】本発明の第１の実施の形態における記憶システムの構成例を示す図である。
【図２】Ｉ／Ｏ処理を転送するために必要な情報を格納している共有メモリ／キャッシュメモリを示す図である。
【図３】第１の実施の形態におけるＩ／Ｏ処理制御部５１０のフロー図である。
【図４】第１の実施の形態におけるＩ／Ｏ処理制御部５０９のフロー図である。
【図５】第１の実施の形態におけるＩ／Ｏ処理制御部５０８のフロー図である。
【図６】第１の実施の形態におけるＩ／Ｏ処理制御部５０３のフロー図である。
【図７】第１の実施の形態におけるＩ／Ｏ処理制御部５０２のフロー図である。
【図８】第１の実施の形態における各Ｉ／Ｏ処理制御部のＪＯＢの関係を示したシーケンス図である。
【図９】第２の実施の形態における各Ｉ／Ｏ処理制御部のＪＯＢの関係を示したシーケンス図である。
【図１０】本発明の第３の実施の形態における記憶システムの構成例を示す図である。
【図１１】第３の実施の形態におけるＩ／Ｏ処理制御部５１０のフロー図である。
【図１２】第３の実施の形態におけるＩ／Ｏ処理制御部５０９のフロー図である。
【図１３】第３の実施の形態におけるＩ／Ｏ処理制御部５０８のフロー図である。
【図１４】第３の実施の形態におけるＩ／Ｏ処理制御部５０３のフロー図である。
【図１５】第３の実施の形態におけるＩ／Ｏ処理制御部５０２のフロー図である。
【図１６】第３の実施の形態における各Ｉ／Ｏ処理制御部のＪＯＢの関係を示したシーケンス図である。
【図１７】第４の実施の形態におけるフロー図である。
【図１８】本発明の動作原理を示す原理図である。
【符号の説明】
１０１、１０２・・・ホストコンピュータ、
２０１、２０２、２０３、２０４・・・チャネルパス、
３０１、３０２・・・記憶制御装置、
５０１、５０２、５０３、５０８、５０９、５１０、５２２、５２３・・・Ｉ／Ｏ処理制御部（プロセッサ）、
５０７、５１４・・・Ｉ／Ｏ処理制御部間共有メモリ／キャッシュメモリ、
６０１、６０２、６０３・・・記憶装置、
５１５・・・通信ボリューム用管理エリア、
５１６・・・副ボリューム番号情報、
５１７・・・ペア正ボリューム番号情報
【図１】
2004164047.tif 000003
【図２】
2004164047.tif 000004
【図３】
2004164047.tif 000005
【図４】
2004164047.tif 000006
【図５】
2004164047.tif 000007
【図６】
2004164047.tif 000008
【図７】
2004164047.tif 000009
【図８】
2004164047.tif 000010
【図９】
2004164047.tif 000011
【図１０】
2004164047.tif 000012
【図１１】
2004164047.tif 000013
【図１２】
2004164047.tif 000014
【図１３】
2004164047.tif 000015
【図１４】
2004164047.tif 000016
【図１５】
2004164047.tif 000017
【図１６】
2004164047.tif 000018
【図１７】
2004164047.tif 000019
【図１８】
2004164047.tif 000020