(57)【要約】【課題】  コピー先の記憶領域の設定に要するユーザの労力を軽減することが可能な技術を提供する。【解決手段】  正記憶領域を有する正記憶装置と、第１副記憶領域を有する第１副記憶装置と、第２副記憶領域を有する第２副記憶装置と、を備えるストレージシステムを用いる。ここで、正記憶装置は、ホストコンピュータからのホスト要求に応じて、要求されたデータを正記憶領域に書き込む。また、正記憶装置は、ホストデータのコピーであるコピーデータをそれぞれ含む第１及び第２コピー要求を第１及び第２副記憶装置にそれぞれ送信して第１及び第２副記憶領域にコピーデータを格納させる。ここで、第２副記憶領域は、第２副記憶領域を正記憶装置内の仮想的な記憶領域として特定するために使用される仮想識別子を用いて特定される。【選択図】  図５
2007066154.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータにデータの記憶領域を提供するストレージシステムであって、
前記ホストコンピュータに接続されるとともに、前記ホストコンピュータに提供するための正記憶領域を有する正記憶装置と、
前記正記憶装置に接続されるとともに、第１副記憶領域を有する第１副記憶装置と、
前記正記憶装置に接続されるとともに、第２副記憶領域を有する第２副記憶装置と、
を備え、
前記正記憶装置は、
前記第２副記憶領域と、前記第２副記憶領域を前記正記憶装置内の仮想的な記憶領域として特定するために使用する仮想識別子と、の対応関係を設定する仮想化部と、
前記ホストコンピュータから、データ書き込み要求であるホスト要求を受信して、要求されたデータであるホストデータを前記正記憶領域に書き込む正書き込み処理を実行する正書き込み部と、
前記ホストデータのコピーであるコピーデータをそれぞれ含む第１及び第２コピー要求を前記第１及び第２副記憶装置にそれぞれ送信して前記第１及び第２副記憶領域に前記コピーデータを格納させるためのコピー制御部と、
を備え、
前記コピー制御部は、前記第２コピー要求の完了通知を前記第２副記憶装置から受信するか否かに拘わらず、前記第１コピー要求の完了通知を前記第１副記憶装置から受信したことに応じて前記ホスト要求の完了通知を前記ホストコンピュータに送信し、
前記コピー制御部は、前記仮想識別子を用いて前記第２副記憶領域を特定する、
ストレージシステム。
【請求項２】
請求項１に記載のストレージシステムであって、
前記コピー制御部は、
前記第１及び第２コピー要求を作成し、この際、前記仮想識別子を用いて前記第２副記憶領域を特定して前記第２コピー要求を作成するコピー指示部と、
前記第１及び第２コピー要求を前記第１及び第２副記憶装置にそれぞれ送信するアクセス制御部と、
を含み、
前記コピー指示部は、前記仮想化部で設定された対応関係を参照することによって前記第２コピー要求内の前記仮想識別子を前記第２副記憶領域の現実の識別子に置換するとともに、前記置換後の前記第２コピー要求を前記第２副記憶装置に送信する、
ストレージシステム。
【請求項３】
請求項１または請求項２に記載のストレージシステムであって、
前記第１副記憶装置と前記第２副記憶装置とは互いに接続され、
前記正記憶装置は、さらに、
前記ホスト要求に、前記正書き込み処理が実行される時期を表す世代を割り当てるとともに、所定の条件に応じて前記世代を更新する世代設定部と、
前記第１コピー要求の元となる前記ホスト要求の世代を表す第１世代情報を前記第１副記憶装置に送信する世代情報送信部と、
を備え、
前記第１副記憶装置は、さらに、
前記第１世代情報を用いて、前記第１コピー要求に応じた書き込みの履歴を表す第１履歴情報を、前記第１コピー要求の元となる前記ホスト要求の世代毎に作成する第１履歴作成部と、
前記第１副記憶装置内の記憶領域と前記第２副記憶装置内の記憶領域との間でデータをコピーすることによって、前記コピーの対象である各記憶領域に格納されているデータを一致させる副コピー処理を実行する副コピー部を備え、
前記コピー制御部は、前記世代設定部が前記世代を更新したことに応じて、新たな世代に属する前記ホスト要求に対応する前記第２コピー要求の送信を保留するとともに、前記新たな世代の１つ前の世代である旧世代に属する全ての前記ホスト要求に対応する前記第２コピー要求を前記第２副記憶装置へ送信し、
前記副コピー部は、前記副コピー処理の動作モードとして、
前記新たな世代の履歴を表す最新第１履歴情報のみを用いることによって前記第１副記憶領域と前記第２副記憶領域との間でデータが異なる部分を特定し、
前記異なる部分のデータである差分データのみをコピーすることによって、前記第１副記憶領域と前記第２副記憶領域とのそれぞれに格納されているデータを一致させる第１副コピーモードを有する、
ストレージシステム。
【請求項４】
請求項３に記載のストレージシステムであって、
前記第２副記憶装置は、さらに、
バックアップ記憶領域と、
前記第２副記憶領域に格納されたデータを前記バックアップ記憶領域にコピーすることによって、前記第２副記憶領域を前記バックアップ記憶領域にバックアップするバックアップコピー部と、
を備え、
前記バックアップコピー部は、前記旧世代に対応する全ての前記第２コピー要求の完了通知の発行後に前記バックアップを実行するとともに、前記バックアップの完了通知を外部に送信し、
前記コピー制御部は、前記バックアップの完了通知の発行後に、前記新たな世代に対応する前記第２コピー要求の送信を開始し、
前記副コピー部は、前記副コピー処理の動作モードとして、
前記最新第１履歴情報と、前記最新第１履歴情報よりも１つだけ古い世代の履歴を表す旧第１履歴情報と、の内の少なくとも前記最新第１履歴情報を含む履歴情報を用いることによって、前記第１副記憶領域と前記バックアップ記憶領域との間でデータが異なる部分を特定し、
前記異なる部分のデータである差分データのみをコピーすることによって、前記第１副記憶領域と前記バックアップ記憶領域とのそれぞれに格納されているデータを一致させる第２副コピーモードを有する、
ストレージシステム。
【請求項５】
請求項４に記載のストレージシステムであって、
前記バックアップコピー部は、要求に応じて前記バックアップ記憶領域に反映済の前記第２コピー要求に対応する世代に関連するバックアップ世代情報を前記第１副記憶装置に送信可能であり、
前記副コピー部は、前記第２副コピーモードにおいて、
前記バックアップコピー部からバックアップ世代情報を受信し、
前記２つの第１履歴情報の内の、前記バックアップ記憶領域に反映済の前記第２コピー要求に対応する世代よりも新しい世代の履歴情報のみを選択して用いることによって、前記異なる部分を特定する、
ストレージシステム。
【請求項６】
請求項４または請求項５に記載のストレージシステムであって、
前記副コピー部は、
前記副コピー処理を実行する時点が前記旧世代に対応する全ての前記第２コピー要求の完了通知の発行後から前記新たな世代に属する前記第２コピー要求の送信開始までの間であることを表す第１タイミング条件を含む所定の第１モード条件が満たされる場合に、前記第１副コピーモードでの処理を実行し、
前記副コピー処理を実行する時点が前記バックアップの完了通知の発行後から新たな前記バックアップ処理の開始までの間であることを表す第２タイミング条件を含む所定の第２モード条件が満たされる場合に、前記第２副コピーモードでの処理を実行する、
ストレージシステム。
【請求項７】
請求項６に記載のストレージシステムであって、
前記第２副記憶装置は、さらに、
前記第２コピー要求に応じた書き込みの履歴を表す第２履歴情報を作成する第２履歴作成部を備え、
前記副コピー部は、前記第１モード条件と前記第２モード条件とのいずれもが満たされない場合の前記副コピー処理の動作モードとして、
前記第１タイミング条件が成立している場合には前記第２副記憶領域を選択し、
前記第２タイミング条件が成立している場合には前記バックアップ記憶領域を選択し、
少なくとも前記第２履歴情報を用いることによって前記選択された記憶領域と前記第１副記憶領域との間でデータが異なる部分を特定し、
前記異なる部分のデータである差分データのみをコピーすることによって、前記選択された記憶領域と前記第１副記憶領域とのそれぞれに格納されているデータを一致させる第３副コピーモードを有する、
ストレージシステム。
【請求項８】
請求項６または請求項７に記載のストレージシステムであって、
前記第２副記憶装置は、さらに、前記第２副記憶領域の状態を表す領域状態情報を格納するための状態記憶領域を有し、
前記コピー制御部は、
前記旧世代に対応する全ての前記第２コピー要求の完了通知が発行されたことに応じて、前記第１タイミング条件が成立していることを表す前記領域状態情報を含む前記状態記憶領域に対する書き込み要求を前記第２副記憶装置に送信し、
前記格納要求の送信後であって、前記新たな世代に属する前記第２コピー要求の送信開始前に、前記第１タイミング条件が成立していないことを表す前記領域状態情報を含む前記状態記憶領域に対する書き込み要求を前記第２副記憶装置に送信し、
前記副コピー部は、前記副コピー処理を実行する時に、前記領域状態情報を参照することによって、前記第１タイミング条件と前記第２タイミング条件とのいずれが満たされているかの判断を行う、
ストレージシステム。
【請求項９】
請求項６または請求項７に記載のストレージシステムであって、
前記コピー制御部は、
前記旧世代に対応する全ての前記第２コピー要求の完了通知の発行後に、前記第１タイミング条件が成立している旨の第１通知を前記第２副記憶装置に送信し、
前記新たな世代に属する前記第２コピー要求の送信開始の前に、前記第１タイミング条件が成立していない旨の第２通知を前記第２副記憶装置に送信し、
前記副コピー部は、前記副コピー処理を実行する時に、前記第１タイミング条件と前記第２タイミング条件とのいずれが満たされているかに関する情報であるタイミング条件情報を前記第２副記憶装置に要求し、
前記バックアップコピー部は、前記第１通知と前記第２通知との内の最後に受信した通知と、前記バックアップ処理の実行状況とに基づいて、前記タイミング条件情報を前記正記憶装置に送信する、
ストレージシステム。
【請求項１０】
請求項３ないし請求項９のいずれかに記載のストレージシステムであって、
前記正記憶装置は、互いに異なる識別子で特定される複数の正記憶領域を有し、
前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、
前記世代設定部は、前記コンシステンシグループに含まれる前記複数の正記憶領域のそれぞれに関する前記世代を同じタイミングで更新する、
ストレージシステム。
【請求項１１】
請求項３ないし請求項９のいずれかに記載のストレージシステムであって、さらに、
複数の前記正記憶装置と、
前記ホストコンピュータと前記複数の正記憶装置のそれぞれとに接続された管理装置と、を備え、
互いに異なる識別子で特定される複数の正記憶領域が、前記複数の正記憶装置に分けて設けられており、
前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、
前記管理装置は、
前記ホストコンピュータに、新たな前記ホスト要求の送信を保留する指示を送信し、
前記保留指示の完了通知を前記ホストコンピュータから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する前記世代を更新する指示を、前記複数の正記憶装置にそれぞれ送信し、
前記世代更新指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記ホストコンピュータに新たな前記ホスト要求の送信を再開する指示を送信する、
ストレージシステム。
【請求項１２】
請求項３ないし請求項９のいずれかに記載のストレージシステムであって、さらに、
複数の前記正記憶装置と、
前記ホストコンピュータと前記複数の正記憶装置のそれぞれとに接続された管理装置と、を備え、
互いに異なる識別子で特定される複数の正記憶領域が、前記複数の正記憶装置に分けて設けられており、
前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、
前記管理装置は、
前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する新たな前記ホスト要求に応じた前記正書き込み処理と前記第１及び第２コピー要求の送信処理との実行を保留する指示を、前記複数の正記憶装置にそれぞれ送信し、
前記保留指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する前記世代を更新する指示を、前記複数の正記憶装置にそれぞれ送信し、
前記更新指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する新たな前記ホスト要求に応じた前記各処理の実行を再開する指示を、前記複数の正記憶装置にそれぞれ送信する、
ストレージシステム。
【請求項１３】
ホストコンピュータに接続されるとともに、前記ホストコンピュータに提供するための正記憶領域を有する正記憶装置と、前記正記憶装置に接続されるとともに、第１副記憶領域を有する第１副記憶装置と、前記正記憶装置に接続されるとともに、第２副記憶領域を有する第２副記憶装置と、を備えるストレージシステムの制御方法であって、
（Ａ）前記正記憶装置が、前記第２副記憶領域と、前記第２副記憶領域を前記正記憶装置内の仮想的な記憶領域として特定するために使用する仮想識別子と、の対応関係を設定する工程と、
（Ｂ）前記正記憶装置が、前記ホストコンピュータから、データ書き込み要求であるホスト要求を受信して、要求されたデータであるホストデータを前記正記憶領域に書き込む正書き込み処理を実行する工程と、
（Ｃ）前記正記憶装置が、前記ホストデータのコピーであるコピーデータをそれぞれ含む第１及び第２コピー要求を前記第１及び第２副記憶装置にそれぞれ送信して前記第１及び第２副記憶領域に前記コピーデータを格納させる工程と、
（Ｄ）前記正記憶装置が、前記第２コピー要求の完了通知を前記第２副記憶装置から受信するか否かに拘わらず、前記第１コピー要求の完了通知を前記第１副記憶装置から受信したことに応じて前記ホスト要求の完了通知を前記ホストコンピュータに送信する工程と、
を備え、
前記工程（Ｃ）は、前記正記憶装置が、前記仮想識別子を用いて前記第２副記憶領域を特定する工程を含む、
制御方法。
【請求項１４】
請求項１３に記載の制御方法であって、
前記工程（Ｃ）は、
（Ｃ１）前記正記憶装置が、前記第１及び第２コピー要求を作成し、この際、前記仮想識別子を用いて前記第２副記憶領域を特定して前記第２コピー要求を作成する工程と、
（Ｃ２）前記正記憶装置が、前記第１及び第２コピー要求を前記第１及び第２副記憶装置にそれぞれ送信する工程と、
を含み、
前記工程（Ｃ２）は、
（Ｃ２−１）前記正記憶装置が、前記仮想化部で設定された対応関係を参照することによって前記第２コピー要求内の前記仮想識別子を前記第２副記憶領域の現実の識別子に置換するとともに、前記置換後の前記第２コピー要求を前記第２副記憶装置に送信する工程を含む、制御方法。
【請求項１５】
請求項１３または請求項１４に記載の制御方法であって、
前記第１副記憶装置と前記第２副記憶装置とは互いに接続され、
前記制御方法は、さらに、
（Ｅ）前記正記憶装置が、前記ホスト要求に、前記正書き込み処理が実行される時期を表す世代を割り当てるとともに、所定の条件に応じて前記世代を更新する工程と、
（Ｆ）前記正記憶装置が、前記第１コピー要求の元となる前記ホスト要求の世代を表す第１世代情報を前記第１副記憶装置に送信する工程と、
（Ｇ）前記第１副記憶装置が、前記第１世代情報を用いて、前記第１コピー要求に応じた書き込みの履歴を表す第１履歴情報を、前記第１コピー要求の元となる前記ホスト要求の世代毎に作成する工程と、
（Ｈ）前記第１副記憶装置が、前記第１副記憶装置内の記憶領域と前記第２副記憶装置内の記憶領域との間でデータをコピーすることによって、前記コピーの対象である各記憶領域に格納されているデータを一致させる副コピー処理を実行する工程と、
（Ｉ）前記正記憶装置が、前記工程（Ｅ）によって前記世代が更新されたことに応じて、新たな世代に属する前記ホスト要求に対応する前記第２コピー要求の送信を保留するとともに、前記新たな世代の１つ前の世代である旧世代に属する全ての前記ホスト要求に対応する前記第２コピー要求を前記第２副記憶装置へ送信する工程と、を含み、
前記工程（Ｈ）は、
（Ｈ１−１）前記第１副記憶装置が、前記新たな世代の履歴を表す最新第１履歴情報のみを用いることによって前記第１副記憶領域と前記第２副記憶領域との間でデータが異なる部分を特定する工程と、
（Ｈ１−２）前記第１副記憶装置が、前記異なる部分のデータである差分データのみをコピーすることによって、前記第１副記憶領域と前記第２副記憶領域とのそれぞれに格納されているデータを一致させる工程と、
を含む第１副コピーモードによる副コピー処理を実行する工程を含む、制御方法。
【請求項１６】
請求項１５に記載の制御方法であって、
前記第２副記憶装置は、さらに、バックアップ記憶領域を備え、
前記制御方法は、
（Ｊ）前記第２副記憶装置が、前記旧世代に対応する全ての前記第２コピー要求の完了通知の発行後に、前記第２副記憶領域に格納されたデータを前記バックアップ記憶領域にコピーすることによって、前記第２副記憶領域を前記バックアップ記憶領域にバックアップする処理を実行するとともに、前記バックアップの完了通知を外部に送信する工程と、
（Ｋ）前記正記憶装置が、前記バックアップの完了通知の発行後に、前記新たな世代に対応する前記第２コピー要求の送信を開始する工程と、
を含み、
前記工程（Ｈ）は、
（Ｈ２−１）前記第１副記憶装置が、前記最新第１履歴情報と、前記最新第１履歴情報よりも１つだけ古い世代の履歴を表す旧第１履歴情報と、の内の少なくとも前記最新第１履歴情報を含む履歴情報を用いることによって、前記第１副記憶領域と前記バックアップ記憶領域との間でデータが異なる部分を特定する工程と、
（Ｈ２−２）前記第１副記憶装置が、前記異なる部分のデータである差分データのみをコピーすることによって、前記第１副記憶領域と前記バックアップ記憶領域とのそれぞれに格納されているデータを一致させる工程と、
を含む第２副コピーモードによる副コピー処理を実行する工程を含む、
制御方法。
【請求項１７】
請求項１６に記載の制御方法であって、
前記工程（Ｈ２−１）は、
前記第１副記憶装置が、前記第２副記憶装置から、前記バックアップ記憶領域に反映済の前記第２コピー要求に対応する世代に関連するバックアップ世代情報を受信する工程と、
前記第１副記憶装置が、前記２つの第１履歴情報の内の、前記バックアップ記憶領域に反映済の前記第２コピー要求に対応する世代よりも新しい世代の履歴情報のみを選択して用いることによって、前記異なる部分を特定する工程と、
を含む、制御方法。
【請求項１８】
請求項１６または請求項１７に記載の制御方法であって、
前記工程（Ｈ）は、
前記第１副記憶装置が、前記副コピー処理を実行する時点が前記旧世代に対応する全ての前記第２コピー要求の完了通知の発行後から前記新たな世代に属する前記第２コピー要求の送信開始までの間であることを表す第１タイミング条件を含む所定の第１モード条件が満たされる場合に、前記第１副コピーモードでの処理を実行する工程と、
前記第１副記憶装置が、前記副コピー処理を実行する時点が前記バックアップの完了通知の発行後から新たな前記バックアップ処理の開始までの間であることを表す第２タイミング条件を含む所定の第２モード条件が満たされる場合に、前記第２副コピーモードでの処理を実行する工程と、
を含む、制御方法。
【請求項１９】
請求項１８に記載の制御方法であって、さらに、
（Ｌ）第２副記憶装置が、前記第２コピー要求に応じた書き込みの履歴を表す第２履歴情報を作成する工程を、含み、
前記工程（Ｈ）は、
前記第１モード条件と前記第２モード条件とのいずれもが満たされない場合には、
（Ｈ３−１）前記第１副記憶装置が、前記第１タイミング条件が成立している場合には前記第２副記憶領域を選択する工程と、
（Ｈ３−２）前記第１副記憶装置が、前記第２タイミング条件が成立している場合には前記バックアップ記憶領域を選択する工程と、
（Ｈ３−３）前記第１副記憶装置が、少なくとも前記第２履歴情報を用いることによって前記選択された記憶領域と前記第１副記憶領域との間でデータが異なる部分を特定する工程と、
（Ｈ３−４）前記第１副記憶装置が、前記異なる部分のデータである差分データのみをコピーすることによって、前記選択された記憶領域と前記第１副記憶領域とのそれぞれに格納されているデータを一致させる工程と、
を含む第３副コピーモードによる副コピー処理を実行する工程を含む、
制御方法。
【請求項２０】
請求項１８または請求項１９に記載の制御方法であって、
前記第２副記憶装置は、さらに、前記第２副記憶領域の状態を表す領域状態情報を格納するための状態記憶領域を有し、
前記制御方法は、さらに、
（Ｍ）前記正記憶装置が、前記旧世代に対応する全ての前記第２コピー要求の完了通知が発行されたことに応じて、前記第１タイミング条件が成立していることを表す前記領域状態情報を含む前記状態記憶領域に対する書き込み要求を前記第２副記憶装置に送信する工程と、
（Ｎ）前記正記憶装置が、前記格納要求の送信後であって、前記新たな世代に属する前記第２コピー要求の送信開始前に、前記第１タイミング条件が成立していないことを表す前記領域状態情報を含む前記状態記憶領域に対する書き込み要求を前記第２副記憶装置に送信する工程と、
（Ｏ）前記第１副記憶装置が、前記副コピー処理を実行する時に、前記領域状態情報を参照することによって、前記第１タイミング条件と前記第２タイミング条件とのいずれが満たされているかの判断を行う工程と、
を含む、制御方法。
【請求項２１】
請求項１８または請求項１９に記載の制御方法であって、さらに、
（Ｍ）前記正記憶装置が、前記旧世代に対応する全ての前記第２コピー要求の完了通知の発行後に、前記第１タイミング条件が成立している旨の第１通知を前記第２副記憶装置に送信する工程と、
（Ｎ）前記正記憶装置が、前記新たな世代に属する前記第２コピー要求の送信開始の前に、前記第１タイミング条件が成立していない旨の第２通知を前記第２副記憶装置に送信する工程と、
（Ｏ）前記第１副記憶装置が、前記副コピー処理を実行する時に、前記第１タイミング条件と前記第２タイミング条件とのいずれが満たされているかに関する情報であるタイミング条件情報を前記第２副記憶装置に要求する工程と、
（Ｐ）前記第２副記憶装置が、前記第１通知と前記第２通知との内の最後に受信した通知と、前記バックアップ処理の実行状況とに基づいて、前記タイミング条件情報を前記正記憶装置に送信する工程と、
を含む、制御方法。
【請求項２２】
請求項１５ないし請求項２１のいずれかに記載の制御方法であって、
前記正記憶装置は、互いに異なる識別子で特定される複数の正記憶領域を有し、
前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、
前記制御方法は、さらに、
（Ｑ）前記正記憶装置が、前記コンシステンシグループに含まれる前記複数の正記憶領域のそれぞれに関する前記世代を同じタイミングで更新する工程を含む、制御方法。
【請求項２３】
請求項１５ないし請求項２１のいずれかに記載の制御方法であって、
前記ストレージシステムは、さらに、
複数の前記正記憶装置と、
前記ホストコンピュータと前記複数の正記憶装置のそれぞれとに接続された管理装置と、を備え、
互いに異なる識別子で特定される複数の正記憶領域が、前記複数の正記憶装置に分けて設けられており、
前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、
前記制御方法は、さらに、
（Ｑ）前記管理装置が、前記ホストコンピュータに、新たな前記ホスト要求の送信を保留する指示を送信する工程と、
（Ｒ）前記管理装置が、前記保留指示の完了通知を前記ホストコンピュータから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する前記世代を更新する指示を、前記複数の正記憶装置にそれぞれ送信する工程と、
（Ｓ）前記管理装置が、前記世代更新指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記ホストコンピュータに新たな前記ホスト要求の送信を再開する指示を送信する工程と、
を含む、制御方法。
【請求項２４】
請求項１５ないし請求項２１のいずれかに記載の制御方法であって、
前記ストレージシステムは、さらに、
複数の前記正記憶装置と、
前記ホストコンピュータと前記複数の正記憶装置のそれぞれとに接続された管理装置と、を備え、
互いに異なる識別子で特定される複数の正記憶領域が、前記複数の正記憶装置に分けて設けられており、
前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、
前記制御方法は、さらに、
（Ｑ）前記管理装置が、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する新たな前記ホスト要求に応じた前記正書き込み処理と前記第１及び第２コピー要求の送信処理との実行を保留する指示を、前記複数の正記憶装置にそれぞれ送信する工程と、
（Ｒ）前記管理装置が、前記保留指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する前記世代を更新する指示を、前記複数の正記憶装置にそれぞれ送信する工程と、
（Ｓ）前記管理装置が、前記更新指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する新たな前記ホスト要求に応じた前記各処理の実行を再開する指示を、前記複数の正記憶装置にそれぞれ送信する工程と、
を含む、制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データをコピーして複数の記憶装置に格納するストレージシステムに関するものである。
【背景技術】
【０００２】
複数の記憶装置を有するストレージシステムと、ホストコンピュータと、を備えるデータ処理システムにおいて、リモートコピーを行う技術が知られている（例えば、特許文献１参照）。リモートコピー技術とは、ストレージシステム内の１つの記憶装置に含まれる記憶領域に格納されたデータを、他の記憶装置に含まれる記憶領域にコピーする技術である。このリモートコピー技術を用いれば、１つの記憶装置に不具合が発生した場合にも、他の記憶装置に格納されたデータを使用することにより、データ処理システムにおける業務の続行が可能である。
【０００３】
【特許文献１】特開２００５−７８４５３号公報
【特許文献２】特開２００４−５３７０号公報
【特許文献３】特開２０００−２４２４３７号公報
【０００４】
ところで、コピー先の記憶領域の設定は、その記憶領域を有する記憶装置と、その記憶領域と、のそれぞれを設定することによって行われる。ところが、これらの設定を行うためには、ユーザの多大な労力を要する場合が多かった。また、コピーデータを格納する複数の記憶装置を利用する場合の利便性の向上については十分に検討されていなかった。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の第１の目的は、コピー先の記憶領域の設定に要するユーザの労力を軽減することが可能な技術を提供することである。また、第２の目的は、コピーデータを格納する複数の記憶装置を利用する場合の利便性を向上させることが可能な技術を提供することである。
【課題を解決するための手段】
【０００６】
上記課題の少なくとも一部を解決するために、本発明のストレージシステムは、ホストコンピュータにデータの記憶領域を提供するストレージシステムであって、前記ホストコンピュータに接続されるとともに、前記ホストコンピュータに提供するための正記憶領域を有する正記憶装置と、前記正記憶装置に接続されるとともに、第１副記憶領域を有する第１副記憶装置と、前記正記憶装置に接続されるとともに、第２副記憶領域を有する第２副記憶装置と、を備え、前記正記憶装置は、前記第２副記憶領域と、前記第２副記憶領域を前記正記憶装置内の仮想的な記憶領域として特定するために使用する仮想識別子と、の対応関係を設定する仮想化部と、前記ホストコンピュータから、データ書き込み要求であるホスト要求を受信して、要求されたデータであるホストデータを前記正記憶領域に書き込む正書き込み処理を実行する正書き込み部と、前記ホストデータのコピーであるコピーデータをそれぞれ含む第１及び第２コピー要求を前記第１及び第２副記憶装置にそれぞれ送信して前記第１及び第２副記憶領域に前記コピーデータを格納させるためのコピー制御部と、を備え、前記コピー制御部は、前記第２コピー要求の完了通知を前記第２副記憶装置から受信するか否かに拘わらず、前記第１コピー要求の完了通知を前記第１副記憶装置から受信したことに応じて前記ホスト要求の完了通知を前記ホストコンピュータに送信し、前記コピー制御部は、前記仮想識別子を用いて前記第２副記憶領域を特定する。
【０００７】
このストレージシステムによれば、第１副記憶装置にコピーデータが格納されるとともに、正記憶装置は、第１コピー要求の完了通知を第１副記憶装置から受信したことに応じてホスト要求の完了通知をホストコンピュータに送信するので、データの冗長性を高めることができる。また、第２副記憶装置にコピーデータが格納されるとともに、正記憶装置は、第２コピー要求の完了通知を第２副記憶装置から受信するか否かに拘わらず、ホスト要求の完了通知をホストコンピュータに送信するので、正記憶装置から第２副記憶装置までの距離に拘わらずに、ホストコンピュータに対する応答時間が過剰に長くなることを抑制できる。さらに、コピー制御部は、第２副記憶領域を正記憶装置内の仮想的な記憶領域として特定するために使用する仮想識別子を用いて第２副記憶領域を特定する。従って、一旦、第２副記憶領域に仮想識別子が割り当てられれば、その後は、仮想識別子を用いることによって第２副記憶領域を内部の領域として特定できるので、コピー先の記憶領域の設定に要するユーザの労力を軽減することが可能となる。
【０００８】
上記ストレージシステムにおいて、前記コピー制御部は、前記第１及び第２コピー要求を作成し、この際、前記仮想識別子を用いて前記第２副記憶領域を特定して前記第２コピー要求を作成するコピー指示部と、前記第１及び第２コピー要求を前記第１及び第２副記憶装置にそれぞれ送信するアクセス制御部と、を含み、前記コピー指示部は、前記仮想化部で設定された対応関係を参照することによって前記第２コピー要求内の前記仮想識別子を前記第２副記憶領域の現実の識別子に置換するとともに、前記置換後の前記第２コピー要求を前記第２副記憶装置に送信することが好ましい。
【０００９】
この構成によれば、コピー指示部は、仮想識別子を用いることによって第２副記憶領域を内部の領域として特定できるので、コピー先の記憶領域の設定に要するユーザの労力を適切に軽減することが可能となる。
【００１０】
上記各ストレージシステムにおいて、前記第１副記憶装置と前記第２副記憶装置とは互いに接続され、前記正記憶装置は、さらに、前記ホスト要求に、前記正書き込み処理が実行される時期を表す世代を割り当てるとともに、所定の条件に応じて前記世代を更新する世代設定部と、前記第１コピー要求の元となる前記ホスト要求の世代を表す第１世代情報を前記第１副記憶装置に送信する世代情報送信部と、を備え、前記第１副記憶装置は、さらに、前記第１世代情報を用いて、前記第１コピー要求に応じた書き込みの履歴を表す第１履歴情報を、前記第１コピー要求の元となる前記ホスト要求の世代毎に作成する第１履歴作成部と、前記第１副記憶装置内の記憶領域と前記第２副記憶装置内の記憶領域との間でデータをコピーすることによって、前記コピーの対象である各記憶領域に格納されているデータを一致させる副コピー処理を実行する副コピー部を備え、前記コピー制御部は、前記世代設定部が前記世代を更新したことに応じて、新たな世代に属する前記ホスト要求に対応する前記第２コピー要求の送信を保留するとともに、前記新たな世代の１つ前の世代である旧世代に属する全ての前記ホスト要求に対応する前記第２コピー要求を前記第２副記憶装置へ送信し、前記副コピー部は、前記副コピー処理の動作モードとして、前記新たな世代の履歴を表す最新第１履歴情報のみを用いることによって前記第１副記憶領域と前記第２副記憶領域との間でデータが異なる部分を特定し、前記異なる部分のデータである差分データのみをコピーすることによって、前記第１副記憶領域と前記第２副記憶領域とのそれぞれに格納されているデータを一致させる第１副コピーモードを有することとしてもよい。
【００１１】
この構成によれば、第１副コピーモードでは、最新第１履歴情報のみを用いることによって特定される差分データのみをコピーすることによって、前記第１副記憶装置と前記第２副記憶装置とのそれぞれの記憶領域に格納されているデータが一致するので、コピーデータを格納する複数の記憶装置を利用する場合の利便性を向上させることが可能となる。
【００１２】
上記ストレージシステムにおいて、前記第２副記憶装置は、さらに、
バックアップ記憶領域と、前記第２副記憶領域に格納されたデータを前記バックアップ記憶領域にコピーすることによって、前記第２副記憶領域を前記バックアップ記憶領域にバックアップするバックアップコピー部と、を備え、前記バックアップコピー部は、前記旧世代に対応する全ての前記第２コピー要求の完了通知の発行後に前記バックアップを実行するとともに、前記バックアップの完了通知を外部に送信し、前記コピー制御部は、前記バックアップの完了通知の発行後に、前記新たな世代に対応する前記第２コピー要求の送信を開始し、前記副コピー部は、前記副コピー処理の動作モードとして、前記最新第１履歴情報と、前記最新第１履歴情報よりも１つだけ古い世代の履歴を表す旧第１履歴情報と、の内の少なくとも前記最新第１履歴情報を含む履歴情報を用いることによって、前記第１副記憶領域と前記バックアップ記憶領域との間でデータが異なる部分を特定し、前記異なる部分のデータである差分データのみをコピーすることによって、前記第１副記憶領域と前記バックアップ記憶領域とのそれぞれに格納されているデータを一致させる第２副コピーモードを有することとしてもよい。
【００１３】
この構成によれば、第２副記憶領域の利用に不具合がある場合にも、第２副コピーモードでは、バックアップ記憶領域を用いることによって、前記第１副記憶装置と前記第２副記憶装置とのそれぞれの記憶領域に格納されているデータが一致するので、コピーデータを格納する複数の記憶装置を利用する場合の利便性を向上させることが可能となる。
【００１４】
上記ストレージシステムにおいて、前記バックアップコピー部は、要求に応じて前記バックアップ記憶領域に反映済の前記第２コピー要求に対応する世代に関連するバックアップ世代情報を前記第１副記憶装置に送信可能であり、前記副コピー部は、前記第２副コピーモードにおいて、前記バックアップコピー部からバックアップ世代情報を受信し、前記２つの第１履歴情報の内の、前記バックアップ記憶領域に反映済の前記第２コピー要求に対応する世代よりも新しい世代の履歴情報のみを選択して用いることによって、前記異なる部分を特定することとしてもよい。
【００１５】
この構成によれば、前記バックアップ記憶領域に反映済の前記第２コピー要求に対応する世代よりも新しい世代の履歴情報のみを選択して用いることによって、前記異なる部分を特定されるので、異なる部分の特定に過剰な時間を要することを抑制できる。
【００１６】
上記各ストレージシステムにおいて、前記副コピー部は、前記副コピー処理を実行する時点が前記旧世代に対応する全ての前記第２コピー要求の完了通知の発行後から前記新たな世代に属する前記第２コピー要求の送信開始までの間であることを表す第１タイミング条件を含む所定の第１モード条件が満たされる場合に、前記第１副コピーモードでの処理を実行し、前記副コピー処理を実行する時点が前記バックアップの完了通知の発行後から新たな前記バックアップ処理の開始までの間であることを表す第２タイミング条件を含む所定の第２モード条件が満たされる場合に、前記第２副コピーモードでの処理を実行することとしてもよい。
【００１７】
この構成によれば、第１タイミング条件と第２タイミング条件とに基づいて、第１副コピーモードと第２副コピーモードとを適切に切り替えることができる。
【００１８】
上記ストレージシステムにおいて、前記第２副記憶装置は、さらに、
前記第２コピー要求に応じた書き込みの履歴を表す第２履歴情報を作成する第２履歴作成部を備え、前記副コピー部は、前記第１モード条件と前記第２モード条件とのいずれもが満たされない場合の前記副コピー処理の動作モードとして、前記第１タイミング条件が成立している場合には前記第２副記憶領域を選択し、前記第２タイミング条件が成立している場合には前記バックアップ記憶領域を選択し、少なくとも前記第２履歴情報を用いることによって前記選択された記憶領域と前記第１副記憶領域との間でデータが異なる部分を特定し、前記異なる部分のデータである差分データのみをコピーすることによって、前記選択された記憶領域と前記第１副記憶領域とのそれぞれに格納されているデータを一致させる第３副コピーモードを有することとしてもよい。
【００１９】
この構成によれば、第１コピー要求に不具合が生じた場合であっても、第２履歴情報を用いることによって、第１副記憶装置と第２副記憶装置とのそれぞれの記憶領域に格納されているデータを、差分データのコピーによって一致させることができる。
【００２０】
上記各ストレージシステムにおいて、前記第２副記憶装置は、さらに、前記第２副記憶領域の状態を表す領域状態情報を格納するための状態記憶領域を有し、前記コピー制御部は、前記旧世代に対応する全ての前記第２コピー要求の完了通知が発行されたことに応じて、前記第１タイミング条件が成立していることを表す前記領域状態情報を含む前記状態記憶領域に対する書き込み要求を前記第２副記憶装置に送信し、前記格納要求の送信後であって、前記新たな世代に属する前記第２コピー要求の送信開始前に、前記第１タイミング条件が成立していないことを表す前記領域状態情報を含む前記状態記憶領域に対する書き込み要求を前記第２副記憶装置に送信し、前記副コピー部は、前記副コピー処理を実行する時に、前記領域状態情報を参照することによって、前記第１タイミング条件と前記第２タイミング条件とのいずれが満たされているかの判断を行うこととしてもよい。
【００２１】
この構成によれば、正記憶装置のコピー制御部が、第２副記憶領域の状態を表す領域状態情報を含む書き込み要求を、第２副記憶装置に送信するので、第２副記憶装置の機能の簡素化を図ることができる。
【００２２】
上記各ストレージシステムにおいて、前記コピー制御部は、前記旧世代に対応する全ての前記第２コピー要求の完了通知の発行後に、前記第１タイミング条件が成立している旨の第１通知を前記第２副記憶装置に送信し、前記新たな世代に属する前記第２コピー要求の送信開始の前に、前記第１タイミング条件が成立していない旨の第２通知を前記第２副記憶装置に送信し、前記副コピー部は、前記副コピー処理を実行する時に、前記第１タイミング条件と前記第２タイミング条件とのいずれが満たされているかに関する情報であるタイミング条件情報を前記第２副記憶装置に要求し、前記バックアップコピー部は、前記第１通知と前記第２通知との内の最後に受信した通知と、前記バックアップ処理の実行状況とに基づいて、前記タイミング条件情報を前記正記憶装置に送信することとしてもよい。
【００２３】
この構成によれば、副コピー部は、バックアップコピー部から受信したタイミング条件情報に基づいて、適切に、第１タイミング条件と第２タイミング条件とのいずれが満たされているかの判断を行うことができる。
【００２４】
上記各ストレージシステムにおいて、前記正記憶装置は、互いに異なる識別子で特定される複数の正記憶領域を有し、前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、前記世代設定部は、前記コンシステンシグループに含まれる前記複数の正記憶領域のそれぞれに関する前記世代を同じタイミングで更新することとしてもよい。
【００２５】
この構成によれば、コンシステンシグループに含まれる複数の記憶領域の世代が同じタイミングで更新されるので、複数の記憶領域の全体におけるデータ書き込み順序が、世代を超えて入れ替わることを防止できる。
【００２６】
上記各ストレージシステムにおいて、さらに、複数の前記正記憶装置と、前記ホストコンピュータと前記複数の正記憶装置のそれぞれとに接続された管理装置と、を備え、互いに異なる識別子で特定される複数の正記憶領域が、前記複数の正記憶装置に分けて設けられており、前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、前記管理装置は、前記ホストコンピュータに、新たな前記ホスト要求の送信を保留する指示を送信し、前記保留指示の完了通知を前記ホストコンピュータから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する前記世代を更新する指示を、前記複数の正記憶装置にそれぞれ送信し、前記世代更新指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記ホストコンピュータに新たな前記ホスト要求の送信を再開する指示を送信することとしてもよい。
【００２７】
この構成によれば、ホストコンピュータがデータ更新を保留している間に、コンシステンシグループに含まれる複数の記憶領域の世代がそれぞれ更新されるので、複数の記憶領域の全体におけるデータ書き込み順序が、世代を超えて入れ替わることを防止できる。
【００２８】
上記各ストレージシステムにおいて、さらに、複数の前記正記憶装置と、前記ホストコンピュータと前記複数の正記憶装置のそれぞれとに接続された管理装置と、を備え、互いに異なる識別子で特定される複数の正記憶領域が、前記複数の正記憶装置に分けて設けられており、前記複数の正記憶領域は、共通の前記世代に基づき管理されるコンシステンシグループを構成し、前記管理装置は、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する新たな前記ホスト要求に応じた前記正書き込み処理と前記第１及び第２コピー要求の送信処理との実行を保留する指示を、前記複数の正記憶装置にそれぞれ送信し、前記保留指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する前記世代を更新する指示を、前記複数の正記憶装置にそれぞれ送信し、前記更新指示の完了通知を前記複数の正記憶装置のそれぞれから受信したことに応じて、前記コンシステンシグループに含まれる前記各正記憶領域のそれぞれに関する新たな前記ホスト要求に応じた前記各処理の実行を再開する指示を、前記複数の正記憶装置にそれぞれ送信することとしてもよい。
【００２９】
この構成によれば、各正記憶装置がデータ更新を保留している間に、コンシステンシグループに含まれる複数の記憶領域の世代がそれぞれ更新されるので、複数の記憶領域の全体におけるデータ書き込み順序が、世代を超えて入れ替わることを防止できる。
【００３０】
なお、本発明は、種々の形態で実現することが可能であり、例えば、記憶領域の提供方法および装置、ストレージシステムの制御方法及び制御装置、データ処理システムの制御方法及び制御装置、それらの方法または装置の機能を実現するためのコンピュータプログラム、そのコンピュータプログラムを記録した記録媒体、そのコンピュータプログラムを含み搬送波内に具現化されたデータ信号、等の形態で実現することができる。
【発明を実施するための最良の形態】
【００３１】
次に、本発明の実施の形態を実施例に基づいて以下の順序で説明する。
Ａ．第１実施例：
Ｂ．第２実施例：
Ｃ．第３実施例：
Ｄ．第４実施例：
Ｅ．第５実施例：
Ｆ．第６実施例：
Ｇ．第７実施例：
Ｈ．第８実施例：
Ｉ．変形例：
【００３２】
Ａ．第１実施例：
Ａ１．装置構成：
図１は、本発明の一実施例としてのデータ処理システムのハードウェア構成を示す説明図である。このデータ処理システム１０は、２台のホストコンピュータ１００（１００Ｐ、１００Ｌ）と、３台の記憶装置２００（２００Ｐ、２００Ｌ、２００Ｒ）と、管理サーバ１１０Ｐと、を備えている。なお、３台の記憶装置２００（２００Ｐ、２００Ｌ、２００Ｒ）と、管理サーバ１１０Ｐとの全体は、「ストレージシステム」に相当する。
【００３３】
正ホストコンピュータ１００Ｐと正記憶装置２００Ｐと管理サーバ１１０Ｐとは、データの処理活動を行うプロダクションサイトに設置されている。副ホストコンピュータ１００Ｌと副記憶装置２００Ｌとは、プロダクションサイトの近隣にあるローカルサイトに設置されている。副記憶装置２００Ｒは、プロダクションサイトから遠隔にあるリモートサイトに設置されている。以下、プロダクションサイトのことを「正サイト」とも呼ぶ。
【００３４】
本明細書では、ホストコンピュータおよび記憶装置の本体と、各構成要素と、各種の情報およびプログラムとを表す符号の末尾に、それが存するサイトを識別する符号を付加している。すなわち、それぞれを表す符号の末尾に、プロダクションサイトに存するものには「Ｐ」の符号を、ローカルサイトに存するものには「Ｌ」の符号を、リモートサイトに存するものには「Ｒ」の符号を、それぞれ付加している。また、本明細書中の説明において、個別のホストコンピュータや個別の記憶装置等を区別する必要のないときは、符号の末尾に付加したサイトを識別する符号を省略している。
【００３５】
記憶装置２００は、制御装置２１０と、制御装置２１０に接続されたディスクアレイ２７０と、を有している。制御装置２１０は、ディスクアレイ２７０と他の装置（例えば、ホストコンピュータ１００や他の記憶装置２００）との間のデータ転送を制御する。制御装置２１０は、ＣＰＵ２２０と、メモリ２３０と、キャッシュメモリ２６０と、を有している。キャッシュメモリ２６０は、制御装置２１０とディスクアレイ２７０との間で転送されるデータを一時的に記憶するための半導体メモリであり、ＣＰＵ２２０専用のキャッシュメモリ（図示せず）とは別のものである。
【００３６】
ディスクアレイ２７０は、ディスク装置を複数用いた装置であり、少なくとも１つのボリューム２７２を有している。ボリューム２７２は、ホストコンピュータ１００のデータ処理に用いられるデータ等を格納する論理的な記憶領域である。例えば、１つのボリューム２７２は、複数のディスク装置により形成される１つの論理的な記憶領域を、論理的に分割して形成される。
【００３７】
正サイトの正ホストコンピュータ１００Ｐは、正サイトの正記憶装置２００Ｐ（制御装置２１０Ｐ）に接続されている。この正ホストコンピュータ１００Ｐは、通常時において、正記憶装置２００Ｐが提供する記憶領域を利用しつつ、所定のデータ処理を実行する。データ処理としては、例えば、データファイルをクライアント装置（図示せず）に提供するファイルサーバとしての処理や、種々のデータを管理するデータベースサーバとしての処理がある。
【００３８】
ローカルサイトの副ホストコンピュータ１００Ｌは、ローカルサイトの副記憶装置２００Ｌ（制御装置２１０Ｌ）に接続されている。この副ホストコンピュータ１００Ｌは、正ホストコンピュータ１００Ｐの代わりに所定のデータ処理を実行可能である。例えば、副ホストコンピュータ１００Ｌは、通常時には何も実行しないが、正ホストコンピュータ１００Ｐに不具合が生じた場合には所定のデータ処理を実行する。
【００３９】
各サイトの記憶装置２００（制御装置２１０）は、ストレージネットワークＳＮを介して互いに接続されている。ストレージネットワークＳＮとしては、例えば、ファイバーチャンネルやＩＰネットワークが用いられる。正ホストコンピュータ１００Ｐが正記憶装置２００Ｐに格納したデータは、このストレージネットワークＳＮを介して各副記憶装置２００Ｌ、２００Ｒにコピーされる。このようなコピーによって、地理的に離れた３つの記憶装置２００が同じデータを格納することが可能となる。
【００４０】
また、各サイトの記憶装置２００（制御装置２１０）は、管理ネットワークＭＮ１を介して管理サーバ１１０Ｐに接続されている。管理サーバ１１０Ｐは、この管理ネットワークＭＮ１を介して各記憶装置２００の動作を制御する。また、管理サーバ１１０Ｐは、ＣＰＵ１１２Ｐと、メモリ１１４Ｐと、を有している。データ処理システム１０のユーザは、この管理サーバ１１０Ｐを操作することによって、各記憶装置２００の動作の設定を行うことができる。
【００４１】
管理サーバ１１０Ｐと正ホストコンピュータ１００Ｐとは、別の管理ネットワークＭＮ２を介して互いに接続されている。正ホストコンピュータ１００Ｐは、この管理ネットワークＭＮ２を介して、管理サーバ１１０Ｐから記憶領域に関する情報（例えば、ボリューム２７２を識別する識別子）を取得可能である。なお、各管理ネットワークＭＮ１、ＭＮ２としては、例えば、ＩＰネットワークが用いられる。
【００４２】
図２は、データ処理システム１０の構成を示す概略図である。各サイトの記憶装置２００のメモリ２３０は、読み書きモジュール２３５を格納している。読み書きモジュール２３５は、外部からの要求に応じて、自己の記憶装置内のボリューム（以下「内部ボリューム」とも呼ぶ）に対する書き込み処理と読み出し処理とを実行する。図２の例では、正記憶装置２００Ｐは内部ボリュームＶＯＬ１−Ｐを有しており、副記憶装置２００Ｌは内部ボリュームＶＯＬ１−Ｌを有しており、副記憶装置２００Ｒは内部ボリュームＶＯＬ１−Ｒを有している。正記憶装置２００ＰのボリュームＶＯＬ３−Ｐについては、後述する。
【００４３】
正サイトとローカルサイトとの記憶装置２００Ｐ、２００Ｌのメモリ２３０Ｐ、２３０Ｌは、さらに、仮想化モジュール２３１とコピーモジュール２３２とを格納している。仮想化モジュール２３１は、他の記憶装置のボリューム２７２（図１）に、自身の仮想的な内部ボリュームとして特定するために使用する仮想識別子を割り当てる。コピーモジュール２３２は、２つのボリューム間でのデータコピー処理を実行する。なお、コピーモジュール２３２は、指示モジュール２３３とアクセスモジュール２３４とを有している（コピーモジュール２３２Ｌでは図示が省略されている）。さらに、正サイトの正記憶装置２００Ｐのメモリ２３０Ｐは、ボリューム情報２４６Ｐとペア情報２４８Ｐとを格納している。これらの詳細については、後述する。
【００４４】
管理サーバ１１０Ｐのメモリ１１４Ｐは、管理モジュール１１６Ｐを格納している。管理モジュール１１６Ｐは、各記憶装置２００を制御する処理を実行する。
【００４５】
なお、各モジュールの機能は、ＣＰＵ１１２、２２０（図１）がプログラム（モジュール）を実行することによって実現されている。
【００４６】
図３は、ペア情報２４８Ｐの一例を示す説明図である。ペア情報２４８Ｐはコピーペアを定義する情報を含む。コピーペアとは、データのコピーが行われる２つのボリュームの組み合わせを意味している。コピーペアを構成する一方のボリューム（「コピー元ボリューム」あるいは単に「元ボリューム」と呼ぶ）に格納されたデータは、他方のボリューム（「コピー先ボリューム」あるいは単に「先ボリューム」と呼ぶ）にコピーされる。
【００４７】
元ボリュームと先ボリュームとは、図３に示すように、記憶装置２００を識別する識別子（装置識別子）とボリュームを識別する識別子（ボリューム識別子）とによって特定される。装置識別子は、記憶装置２００（より正確には、ストレージネットワークＳＮとの接続のためのインターフェース（図示せず））毎に固有である。ボリューム識別子は、記憶装置２００毎に独立に設定され得る識別子であり、１つの記憶装置２００内においては、ボリューム毎に固有である。ストレージネットワークＳＮ（図１）では、このような装置識別子とボリューム識別子との組み合わせによって、１つのボリュームが識別される。
【００４８】
図３において、記憶装置識別子「Ｐ」は正記憶装置２００Ｐを表し、記憶装置識別子「Ｌ」は副記憶装置２００Ｌを表し、記憶装置識別子「Ｒ」は副記憶装置２００Ｒを表している。また、以下の説明では、例えば、記憶装置識別子が「Ｐ」である正記憶装置２００Ｐの有するボリューム識別子が「ＶＯＬ１」であるボリュームを、「ボリュームＶＯＬ１−Ｐ」と呼ぶ。他のボリュームについても、同様である。
【００４９】
図３の第１コピーペアＣＰ１では、元ボリュームが正記憶装置２００ＰのボリュームＶＯＬ１−Ｐ（図２）であり、先ボリュームが副記憶装置２００ＬのボリュームＶＯＬ１−Ｌである。また、第２コピーペアＣＰ２では、記憶装置識別子が省略されている。これは、両方のボリュームが正記憶装置２００Ｐの内部ボリュームであることを意味している。すなわち、第２コピーペアＣＰ２では、元ボリュームがボリュームＶＯＬ１−Ｐであり、先ボリュームがボリュームＶＯＬ３−Ｐである。なお、後述するように、ボリュームＶＯＬ３−Ｐは、実体が副記憶装置２００ＲのボリュームＶＯＬ１−Ｒである仮想的な内部ボリュームである。
【００５０】
また、ペア情報２４８Ｐ（図３）は、各コピーペアのコピー種類とペア状態とを含んでいる。コピー種類は、「同期」と「非同期」とのいずれかに設定される。同期コピーと非同期コピーとの詳細については後述する。ペア状態は、コピーペアの状態を示している。ペア状態は、「ペア」「スプリット」「リシンク」のいずれかに設定される。「ペア」は、元ボリュームに対する更新が先ボリュームにも反映される状態を表す。「スプリット」は、元ボリュームに対する更新が先ボリュームに反映されない状態を表す。スプリット状態は、例えば、先ボリュームのデータを別のボリュームにバックアップする場合に用いられる。「リシンク」は、スプリット状態からペア状態へ移行中の状態を表す。このリシンク状態では、スプリット中に行われた元ボリュームに対する更新が、先ボリュームに反映される。この反映の完了後に、ペア状態は「ペア」となる。
【００５１】
ペア情報２４８Ｐは、指示モジュール２３３Ｐによって設定される。指示モジュール２３３Ｐは、例えば、管理サーバ１１０Ｐからの指示に従って、ペア情報２４８Ｐを設定する。また、指示モジュール２３３Ｐが、ペア情報２４８Ｐの各設定値を定めることをユーザに許容してもよい。例えば、ユーザが、管理サーバ１１０Ｐや正記憶装置２００Ｐの操作パネル（図示せず）を操作し、指示モジュール２３３Ｐが、管理サーバ１１０Ｐや操作パネル（図示せず）からユーザの指示を受け取ることとしてもよい。これは、後述する他のモジュールが利用する情報についても同様であり、また、後述する他の実施例についても同様である。
【００５２】
図４は、ボリューム情報２４６Ｐの一例を示す説明図である。このボリューム情報２４６Ｐは、内部ボリューム識別子と、外部装置識別子と、外部ボリューム識別子との対応関係を格納している。外部装置識別子と外部ボリューム識別子とは、他の記憶装置２００のボリューム（「外部ボリューム」とも呼ぶ）を特定するための識別子である。内部ボリューム識別子は、この外部ボリュームを仮想的な内部ボリュームとして特定するための仮想的な識別子である。外部ボリュームは、内部ボリューム識別子で特定される内部ボリュームとして扱われる。図４の例では、副記憶装置２００ＲのボリュームＶＯＬ１−Ｒが、仮想的な内部ボリュームＶＯＬ３−Ｐとして扱われる（詳細は後述）。このボリューム情報２４６Ｐは、仮想化モジュール２３１Ｐによって設定される。仮想化モジュール２３１Ｐは、例えば、管理サーバ１１０Ｐからの指示に従って、ボリューム情報２４６Ｐを設定する。また、仮想化モジュール２３１Ｐが、ボリューム情報２４６Ｐの各設定値を定めることをユーザに許容してもよい。
【００５３】
Ａ２．データ書き込み処理：
図５は、データ処理システム１０によるデータ書き込み処理の概要を示すブロック図である。なお、以下の説明では、正ホストコンピュータ１００Ｐのことを単に「正ホスト１００Ｐ」とも呼ぶ。また、正記憶装置２００Ｐのことを単に「正装置２００Ｐ」とも呼ぶ。また、副記憶装置２００Ｌのことを「同期副記憶装置２００Ｌ」あるいは単に「同期副装置２００Ｌ」とも呼ぶ。また、副記憶装置２００Ｒのことを「非同期副記憶装置２００Ｒ」あるいは単に「非同期副装置２００Ｒ」とも呼ぶ。
【００５４】
まず、正ホスト１００Ｐが、ボリュームＶＯＬ１−Ｐを対象とする書き込み要求ＷＲ１０を正装置２００Ｐに送信する。この要求ＷＲ１０を受信した読み書きモジュール２３５Ｐは、要求されたデータをボリュームＶＯＬ１−Ｐに書き込み、完了通知Ｃ１０ａを指示モジュール２３３Ｐに供給する。以下、正ホスト１００Ｐからの書き込み要求を「ホスト要求」とも呼ぶ。また、ホスト要求によって書き込み要求されたデータを「ホストデータ」とも呼ぶ。なお、指示モジュール２３３Ｐは、読み書きモジュール２３５Ｐが要求ＷＲ１０に基づいてデータを書き込んでいる最中に起動されても良い。この場合、読み書きモジュール２３５Ｐは、完了通知Ｃ１０ａの代わりに指示モジュール２３３Ｐの起動を、要求ＷＲ１０の受信時に指示モジュール２３３Ｐに通知する。これにより、この場合には、リモートコピーの実行が正記憶装置２００Ｐでのデータ格納と並行して行われる。
【００５５】
指示モジュール２３３Ｐは、読み書きモジュール２３５Ｐが受信したホスト要求ＷＲ１０を参照し、ペア情報２４８Ｐの中から、元ボリュームがこのホスト要求ＷＲ１０の対象ボリュームＶＯＬ１−Ｐであるコピーペアを検索する。図３の例では、２つのコピーペアＣＰ１、ＣＰ２が検出される。以下、これらのペアＣＰ１、ＣＰ２が検出されたこととして、説明を行う。
【００５６】
次に、指示モジュール２３３Ｐは、検出した同期コピーペアＣＰ１に従ってコピー（書き込み）要求ＷＲ１０ｂを作成し、作成した要求ＷＲ１０ｂをアクセスモジュール２３４Ｐに供給する。この要求ＷＲ１０ｂは、ホスト要求ＷＲ１０と同じホストデータと、同期コピーペアＣＰ１の先ボリュームであるＶＯＬ１−Ｌの識別子（装置とボリュームとの識別子）と、を含む。アクセスモジュール２３４Ｐは、要求ＷＲ１０ｂと同じ情報を含む要求ＷＲ１０ｃを、要求ＷＲ１０ｂで指定された装置識別子「Ｌ」によって特定される同期副装置２００Ｌに送信する。同期副装置２００Ｌの読み書きモジュール２３５Ｌ（図２）は、受信したホストデータを指定されたボリュームＶＯＬ１−Ｌに書き込むと、要求ＷＲ１０ｃの完了通知Ｃ１０ｃを正装置２００Ｐに送信する。アクセスモジュール２３４Ｐは、完了通知Ｃ１０ｃを受信したことに応じて、要求ＷＲ１０ｂの完了通知Ｃ１０ｂを指示モジュール２３３Ｐに供給する。
【００５７】
さらに、指示モジュール２３３Ｐは、検出した非同期コピーペアＣＰ２に従ってコピー（書き込み）要求ＷＲ１０ｄを作成し、作成した要求ＷＲ１０ｄをアクセスモジュール２３４Ｐに供給する。この要求ＷＲ１０ｄは、ホスト要求ＷＲ１０と同じホストデータと、非同期コピーペアＣＰ２の先ボリュームであるＶＯＬ３−Ｐの識別子（仮想的な内部ボリューム識別子）とを含む。アクセスモジュール２３４Ｐは、ボリューム情報２４６Ｐ（図４）を参照することによって、要求ＷＲ１０ｄ内のボリュームＶＯＬ３−Ｐの仮想的な識別子を、ボリュームＶＯＬ１−Ｒの識別子（装置とボリュームとの識別子）に置換する。そして、アクセスモジュール２３４Ｐは、置換後の要求ＷＲ１０ｅを、置換後の装置識別子「Ｒ」によって特定される非同期副装置２００Ｒに送信する。非同期副装置２００Ｒの読み書きモジュール２３５Ｒ（図２）は、受信したホストデータを指定されたボリュームＶＯＬ１−Ｒに書き込むと、要求ＷＲ１０ｅの完了通知Ｃ１０ｅを正装置２００Ｐに送信する。アクセスモジュール２３４Ｐは、完了通知Ｃ１０ｅを受信したことに応じて、要求ＷＲ１０ｄの完了通知Ｃ１０ｄを指示モジュール２３３Ｐに供給する。
【００５８】
また、指示モジュール２３３Ｐは、正ホスト１００Ｐにホスト要求ＷＲ１０の完了通知Ｃ１０を、元のボリュームＶＯＬ１−Ｐへの書き込みの完了通知Ｃ１０ａの受領と、同期コピーペアＣＰ１の要求ＷＲ１０ｃの完了通知Ｃ１０ｃ（Ｃ１０ｂ）の受領とに応じて、送信する。また、この完了通知Ｃ１０の送信に際しては、指示モジュール２３３Ｐが、非同期コピーペアＣＰ２の要求ＷＲ１０ｅの完了通知Ｃ１０ｅ（Ｃ１０ｄ）を受信するか否かについては、考慮されない。
【００５９】
このように、同期コピーでは、正ホスト１００Ｐが完了通知Ｃ１０を受け取った時点で、ホストデータは、正装置２００Ｐ（元ボリュームＶＯＬ１−Ｐ）と同期副装置２００Ｌ（先ボリュームＶＯＬ１−Ｌ）との両方に格納されている。従って、同期コピーを用いることによって、データの冗長性を高めることができる。ただし、正ホスト１００Ｐに対する応答時間が過剰に長くなることを防止するためには、先ボリュームの記憶装置２００Ｌを、元ボリュームの記憶装置２００Ｐに近接した地域内（例えば、距離が１００ｋｍ程度までの地域内）に設置することが好ましい。
【００６０】
一方、非同期コピーでは、正ホスト１００Ｐが完了通知Ｃ１０を受け取った時点で、ホストデータが非同期副装置２００Ｒ（先ボリュームＶＯＬ３−Ｐ（ＶＯＬ１−Ｒ））に格納されていることが保証されていない。ただし、コピー要求の完了通知を待たずに、正ホスト１００Ｐへ完了通知が送信されるので、正ホスト１００Ｐに対する応答時間を短縮できる。従って、先ボリュームの記憶装置２００Ｒを、元ボリュームの記憶装置２００Ｐからの距離に制限されることなく、設置することができる。
【００６１】
なお、指示モジュール２３３Ｐは、非同期コピーの要求送信を、任意のタイミングで実行可能である。例えば、指示モジュール２３３Ｐは、定期的に非同期コピーの要求を送信可能である。この場合には、指示モジュール２３３Ｐは、元ボリュームＶＯＬ１−Ｐに対する更新履歴（図示せず）をメモリ（例えば、メモリ２３０Ｐやキャッシュメモリ２６０Ｐ）に格納しておき、この更新履歴に従ってアクセスモジュール２３４Ｐに要求を供給すればよい。
【００６２】
図６は、正装置２００Ｐに不具合が発生した場合のデータ処理システム１０を示す概略図である。この場合には、ボリュームＶＯＬ１−Ｐに格納されたデータのコピーが、ボリュームＶＯＬ１−Ｌに格納されている。副ホスト１００Ｌは、このボリュームＶＯＬ１−Ｌを利用することによって、迅速にデータ処理を再開することができる。
【００６３】
また、同期副装置２００Ｌは、正装置２００Ｐと同様の仮想化モジュール２３１Ｌとコピーモジュール２３２Ｌとを有している。従って、正装置２００Ｐと同様に、仮想化モジュール２３１Ｌは、ボリュームＶＯＬ１−Ｒを仮想化するボリューム情報２４６Ｌを設定し、コピーモジュール２３２Ｌは、この仮想的な内部ボリューム（図６の例では、ボリュームＶＯＬ４−Ｌ）を用いたペア情報２４８Ｌを設定可能である。その結果、同期副装置２００Ｌは、正装置２００Ｐと同様に、ボリュームＶＯＬ１−Ｌに格納されるデータのコピーを、ボリュームＶＯＬ１−Ｒに格納することができる。ただし、これらのモジュール２３１Ｌ、２３２Ｌを省略することとしてもよい。
【００６４】
さらに、同期副装置２００Ｌにも不具合が発生した場合には、非同期副装置２００Ｒにホストコンピュータ（図示せず）を接続すればよい。このホストコンピュータは、ボリュームＶＯＬ１−Ｒに格納されているデータを用いて、データ処理を再開することができる。
【００６５】
以上のように、第１実施例のデータ処理システム１０では、正装置２００Ｐに格納されるデータのコピーが、２つの副記憶装置２００Ｌ、２００Ｒにも格納されるので、データの冗長性を高めることが可能となる。さらに、比較的正装置２００Ｐに近い同期副装置２００Ｌに対しては同期コピーが実行され、比較的正装置２００Ｐから遠い非同期副装置２００Ｒに対しては非同期コピーが実行される。従って、正ホスト１００Ｐに対する応答時間が過剰に長くなることを防止できる。
【００６６】
さらに、第１実施例のデータ処理システム１０では、アクセスモジュール２３４Ｐ（図２、図５）は、仮想的な内部ボリュームに対するコピー要求（例えば、要求ＷＲ１０ｄ）を受けて、実体のボリュームに対するコピー要求（例えば、要求ＷＲ１０ｅ）を送信可能である。従って、指示モジュール２３３Ｐは、非同期副装置２００Ｒを特定せずに、コピーペア（図３）を定めることができる。例えば、一旦、ボリューム情報２４６Ｐが設定されていれば、その後は、副記憶装置２００Ｒを特定する識別子を知らないユーザであっても、ペア情報２４８Ｐを設定することができる。従って、遠隔地に設置された非同期副装置２００Ｒを用いたストレージシステムを構築するためのユーザの労力を軽減することができる。この際、指示モジュール２３３Ｐは、利用可能な内部ボリュームの一覧（仮想的な内部ボリュームを含む）を、操作パネル（図示せず）や管理サーバ１１０Ｐを介してユーザに提示することが好ましい。こうすれば、ユーザは、容易にコピーペアを定めることができる。
【００６７】
なお、記憶装置２００（読み書きモジュール２３５）の中には、書き込み要求されたデータをキャッシュメモリ２６０に格納した段階で要求の完了通知を発行し、その後、データをボリュームに書き込むものがある。このような記憶装置２００を用いる場合には、各完了通知Ｃ１０ａ、Ｃ１０ｃ、Ｃ１０ｅ（図５）として、このような完了通知を用いることが可能である。このように、コピー要求（書き込み要求）の完了通知とは、ボリュームへの実際の書き込みが完了したことの通知に限らず、キャッシュメモリ２６０等の一時的に利用されるメモリへの書き込みが完了したことの通知を含む広い意味を有している。
【００６８】
また、正ホスト１００Ｐへの完了通知Ｃ１０の送信は、指示モジュール２３３Ｐに限らず、アクセスモジュール２３４Ｐや、コピーモジュール２３２Ｐが有する他のモジュール（図示せず）が実行してもよい。
【００６９】
Ｂ．第２実施例：
図７は、第２実施例におけるデータ処理システム１０ａの構成を示す説明図である。データ処理システム１０ａのハードウェアの構成は、図１に示すデータ処理システム１０と同じである。ただし、各記憶装置２００の機能的な構成が図２に示すデータ処理システム１０と異なっている。各記憶装置２００における差違は、以下の通りである。
（１）正記憶装置２００Ｐにおける差違：
メモリ２３０Ｐが、さらに、世代設定モジュール２３６Ｐと、世代情報送信モジュール２３７Ｐと、を格納している。
（２）同期副記憶装置２００Ｌにおける差違：
メモリ２３０Ｌが、さらに、履歴作成モジュール２３８Ｌと、副コピーモジュール２４０Ｌと、第１ビットマップＢＭＡと、第２ビットマップＢＭＢと、を格納している。
（３）非同期副記憶装置２００Ｒにおける差違：
メモリ２３０Ｒが、さらに、履歴作成モジュール２３８Ｒと、バックアップモジュール２４２Ｒと、ペア情報２４８Ｒと、第３ビットマップＢＭＣと、を格納している。また、副記憶装置２００Ｒのディスクアレイ２７０Ｒ（図１）は、ボリュームＶＯＬ１−Ｒに加えて、ボリュームＶＯＬ２−Ｒを有している。
【００７０】
同期副装置２００Ｌの２つのビットマップＢＭＡ、ＢＭＢには、ボリュームＶＯＬ１−Ｌに対する更新の履歴が格納される。一方、非同期副装置２００Ｒの第３ビットマップＢＭＣには、ボリュームＶＯＬ１−Ｒに対する更新の履歴が格納される。また、これら３つのビットマップＢＭＡ〜ＢＭＣは、正記憶装置２００Ｐに不具合が生じた場合に利用される（詳細は後述）。
【００７１】
図７には、ペア情報２４８Ｒの一例が示されている。このペア情報２４８Ｒでは、バックアップコピーペアＢＣＰが定義されている。このバックアップコピーペアＢＣＰでは、元ボリュームがＶＯＬ１−Ｒであり、先ボリュームがＶＯＬ２−Ｒである（双方のボリュームは内部ボリュームである）。バックアップモジュール２４２Ｒは、このバックアップコピーペアＢＣＰに従って、元ボリュームＶＯＬ１−Ｒのデータを、先ボリュームＶＯＬ２−Ｒにコピーする。以下、先ボリュームＶＯＬ２−Ｒのことを「バックアップボリュームＶＯＬ２−Ｒ」とも呼ぶ。また、ペア情報２４８Ｒは、非同期コピーペアＣＰ２の先ボリュームとペア状態とを含んでいる（元ボリュームについては省略されている）。なお、バックアップモジュール２４２Ｒは、指示モジュール２３３Ｐがペア情報２４８Ｐを設定するのと同様に、このペア情報２４８Ｒを設定する。ただし、非同期コピーペアＣＰ２に関する情報は、コピーモジュール２３２Ｐの指示に従って設定される。
【００７２】
Ｂ１．ホスト整合性：
第２実施例では、ボリュームＶＯＬ１−ＰからボリュームＶＯＬ３−Ｐ（ＶＯＬ１−Ｒ）への非同期コピー処理と、非同期コピーを中断した状態でのボリュームＶＯＬ１−ＲからボリュームＶＯＬ２−Ｒへのバックアップコピー処理とが、交互に繰り返される。非同期副装置２００Ｒが、ボリュームＶＯＬ１−Ｒのデータを別のボリュームＶＯＬ２−Ｒにバックアップコピーする理由は、非同期副装置２００Ｒが、ホスト１００にとっての整合性を有するボリュームを少なくとも１つ確保するためである。図８、図９は、データ処理システム１０ａによるデータ書き込み処理の手順を示すシーケンス図である。これらのシーケンス図は、「ホスト１００にとっての整合性」を説明するためのものであり、バックアップ処理が省略されたものである。
【００７３】
図８は、正ホスト１００Ｐが３つのホスト要求ＷＲ１、ＷＲ２、ＷＲ３を送信する場合の処理の流れを示している。正ホスト１００Ｐは、３つのホスト要求をＷＲ１、ＷＲ２、ＷＲ３を、この順番に正装置２００Ｐに送信する。図８の例では、これら３つの要求ＷＲ１、ＷＲ２、ＷＲ３のデータ書き込み順序が入れ替わることが許容されないこととしている。このような書き込み順序の入れ替わりが許容されない場合としては、例えば、複数のホスト要求が、同じデータファイルを繰り返し更新する場合や、複数のホスト要求が、金融データベースにおける「入金処理」のためのホスト要求と「その入金処理の後の出金処理」のためのホスト要求とを含む場合がある。
【００７４】
以下の説明では、「記憶装置２００が処理を実行する」と省略して記載されているが、ボリュームへのデータ書き込み処理や、コピー要求の送信処理、コピー要求の完了通知の送信処理等は、図５に示した例と同様に、記憶装置２００の各モジュールによって実行されている。さらに、以下の説明では、正装置２００Ｐが、ホスト要求に応じて各副記憶装置２００に送信するコピー要求（書き込み要求）を表す符号の末尾に、副記憶装置のサイトを識別する符号を付加する。例えば、正装置２００Ｐが同期副装置２００Ｌに送信する要求ＷＲ１Ｌは、ホスト要求ＷＲ１に応じたコピー要求である。同様に、各副記憶装置２００が正装置２００Ｐに送信する完了通知を表す符号の末尾にも、副記憶装置２００のサイトを識別する符号を付加する。これらは、後述する他の実施例についても同様である。
【００７５】
図８の例では、最初に、正ホスト１００Ｐは、ホスト要求ＷＲ１を正装置２００Ｐに送信する（ステップＨ７００）。すると、正装置２００Ｐと同期副装置２００Ｌとは、図５の例と同様に、同期コピーに基づく処理を実行する。具体的には、正装置２００Ｐは、この要求ＷＲ１に応じた書き込み処理を実行し（Ｐ７０２）、コピー要求ＷＲ１Ｌを同期副装置２００Ｌに送信する（Ｐ７０４）。非同期副装置２００Ｒは、この要求ＷＲ１Ｌに応じた書き込み処理を実行し（Ｌ７０６）、完了通知Ｃ１Ｌを正記憶装置２００Ｐに送信する（Ｌ７０８）。完了通知Ｃ１Ｌを受けた正記憶装置２００Ｐは、完了通知Ｃ１を正ホスト１００Ｐに送信する（Ｐ７０９）。
【００７６】
正ホスト１００Ｐは、要求ＷＲ１の完了通知Ｃ１を受信したことに応じて、次のホスト要求ＷＲ２を、正装置２００Ｐに送信する（ステップＨ７１０）。この要求ＷＲ２に応じた一連の処理ＳＷＲ２（Ｈ７１０〜Ｐ７１９）は、要求ＷＲ１に応じた一連の処理ＳＷＲ１（Ｈ７００〜Ｐ７０９）と同じである。同様に、正ホスト１００Ｐは、要求ＷＲ２の完了通知Ｃ２を受信したことに応じて、次のホスト要求ＷＲ３を、正装置２００Ｐに送信する（ステップＨ７２０）。要求ＷＲ３に応じた一連の処理ＳＷＲ３（Ｈ７２０〜Ｐ７２９）も、各要求ＷＲ１、ＷＲ２に応じた一連の処理ＳＷＲ１、ＳＷＲ２と同じである。
【００７７】
以上のように、正ホスト１００Ｐは、正装置２００Ｐからの先のホスト要求の完了通知を受信したことに応じて、次のホスト要求を正装置２００Ｐに送信する。その結果、正装置２００Ｐと同期副装置２００Ｌとのそれぞれにおいては、各要求ＷＲ１、ＷＲ２、ＷＲ３の書き込み順序が入れ替わることがない。その結果、仮に、これらの要求ＷＲ１、ＷＲ２、ＷＲ３に応じた処理の途中で正装置２００Ｐに不具合が生じた場合であっても、副ホスト１００Ｌ（図１））は、同期副装置２００Ｌを用いて、データ処理を再開することができる。例えば、ステップＬ７０８とステップＰ７０９との間のタイミングＴ１（図８）で不具合が生じた場合には、副ホスト１００Ｌは、同期副装置２００Ｌ（ボリュームＶＯＬ１−Ｌ）を用いることによって、タイミングＴ１における状態からデータ処理を再開できる。このように、ボリュームの状態が、ホスト１００がそのボリュームをそのまま用いることによってデータ処理を開始できる状態であることを、「そのボリュームは、ホスト１００にとっての整合性を有する」という。以下、「ホストにとっての整合性」のことを「ホスト整合性」とも呼ぶ。
【００７８】
一方、正装置２００Ｐと非同期副装置２００Ｒとは、非同期コピーに基づく処理を実行する。正装置２００Ｐは、ボリュームＶＯＬ１−Ｐに格納されているデータの中の、正ホスト１００Ｐからの要求に応じて更新された部分についてのコピー（書き込み）要求を、記憶装置２００Ｒに送信する（ステップＰ７３０）。その結果、各要求ＷＲ１Ｒ、ＷＲ２Ｒ、ＷＲ３Ｒが、非同期副装置２００Ｒに送信される。ここで、非同期副装置２００Ｒが各要求ＷＲ１Ｒ、ＷＲ２Ｒ、ＷＲ３Ｒを受信する順番は、正装置２００Ｐが各要求を送信した順番と異なる場合がある。これは、正装置２００Ｐと非同期副装置２００Ｒとの間の通信経路が複数存在し、さらに、各通信経路毎に通信遅延量が異なる場合があるからである（このような複数の経路を用いたデータ転送を「多重転送」とも呼ぶ）。また、第２実施例では、非同期副装置２００Ｒは、要求を受信した順番に、各要求のデータをボリュームＶＯＬ１−Ｒに書き込みこととしている。従って、非同期副装置２００Ｒが、これら全ての要求ＷＲ１Ｒ、ＷＲ２Ｒ、ＷＲ３Ｒの完了通知を発行する前には、ボリュームＶＯＬ１−Ｒがホスト整合性を有していない可能性がある。
【００７９】
例えば、図８の例では、正装置２００Ｐは、各要求ＷＲ１Ｒ、ＷＲ２Ｒ、ＷＲ３Ｒをこの順番に送信しているが、非同期副装置２００Ｒは、ＷＲ２Ｒ、ＷＲ３Ｒ、ＷＲ１Ｒの順番に受信している（ステップＲ７４０、Ｒ７４２、Ｒ７４４）。仮に、ステップＲ７４２とステップＲ７４４との間のタイミングＴ２で、正装置２００Ｐと非同期副装置２００Ｒとの間の通信経路に不具合が生じたとする。すると、ボリュームＶＯＬ１−Ｒは、要求ＷＲ１のデータを格納せずに、要求ＷＲ２と要求ＷＲ３とのデータを格納した状態となる。ここで、副ホスト１００Ｌは、過去に遡って要求ＷＲ１を送信することができないので、非同期副装置２００Ｒ（ボリュームＶＯＬ１−Ｒ）をそのまま用いることによってデータ処理を再開することができない。すなわち、ボリュームＶＯＬ１−Ｒはホスト整合性を有していない。一方、全ての要求ＷＲ１、ＷＲ２、ＷＲ３の完了通知の発行後のタイミングＴ３では、ボリュームＶＯＬ１−Ｒはホスト整合性を有している。
【００８０】
なお、コピーモジュール２３２Ｐ（図７）は、非同期コピーのために、ボリュームＶＯＬ１−Ｐを複数のブロックに分割することによって、ボリュームＶＯＬ１−Ｐの更新状態の管理を行っている。コピーモジュール２３２Ｐは、更新されたブロックを識別する情報をメモリ（例えば、メモリ２３０Ｐやキャッシュメモリ２６０Ｐ）に格納する。そして、コピーモジュール２３２Ｐは、この更新されたブロックのデータのみを対象とする書き込み要求を、非同期副装置２００Ｒに送信する。各要求ＷＲ１、ＷＲ２、ＷＲ３が同じブロックを対象とする場合には、共通するブロックについては、最新のデータを用いた１つの書き込み要求のみが送信される。また、コピーモジュール２３２Ｐは、同じブロックを対象とする複数の書き込み要求を非同期副装置２００Ｒに送信する場合には、先の要求の完了通知を受信してから、後の要求を送信する。従って、要求の到着順が不規則である場合であっても、非同期コピーの先ボリュームＶＯＬ１−Ｒにおいて、比較的新しい更新済のデータが、比較的古い更新データによって上書きされることが防止される。なお、このような更新状態管理は、指示モジュール２３３によって行われる。
【００８１】
図９は、データ書き込み処理の別の例を示すシーケンス図である。図９の例では、正ホスト１００Ｐは、４つのホスト要求ＷＲａ１、ＷＲａ２、ＷＲｂ１、ＷＲｂ２を正装置２００Ｐに送信する。第１要求グループＲＧａの２つの要求ＷＲａ１、ＷＲａ２の書き込み順序の入れ替わりは許容されていないこととする。同様に、第２要求グループＲＧｂの２つの要求ＷＲｂ１、ＷＲｂ２の書き込み順序の入れ替わりも許容されていないこととする。ただし、２つのグループＲＧａ、ＲＧｂ間での書き込み順序の入れ替わりは許容されていることとする。書き込み順序の入れ替わりが許容される場合としては、例えば、複数の要求が互いに異なるデータファイルを更新する場合や、複数の要求が互いに異なるデータベースに対する更新の要求である場合がある。
【００８２】
まず、正ホスト１００Ｐは、要求ＷＲａ１を正装置２００Ｐに送信する（ステップＨ８００）。正装置２００Ｐは、この要求ＷＲａ１に応じた書き込み処理を実行し（Ｐ８０２）、要求ＷＲａ１Ｌを同期副装置２００Ｌに送信する（Ｐ８０４）。ここで、正ホスト１００Ｐは、データ書き込み順序の入れ替わりが許容される場合には、先のホスト要求の完了通知を受信する前に、次のホスト要求を送信する。そこで、正ホスト１００Ｐは、先の要求ＷＲａ１の完了通知の受信を待たずに、次の要求ＷＲｂ１を正装置２００Ｐに送信する（Ｈ８０６）。正装置２００Ｐは、この要求ＷＲｂ１に応じた書き込み処理を実行し（Ｐ８０８）、要求ＷＲｂ１Ｌを同期副装置２００Ｌに送信する（Ｐ８１０）。
【００８３】
ここで、同期副装置２００Ｌが、これらの要求ＷＲａ１Ｌ、ＷＲｂ１Ｌを受信する順番は、各要求ＷＲａ１Ｌ、ＷＲｂ１Ｌが送信された順番と異なる場合がある。これは、正装置２００Ｐと同期副装置２００Ｌとの間のデータ転送が、多重転送によって行われる場合があるからである。図９の例では、同期副装置２００Ｌは、後に送信された要求ＷＲｂ１Ｌを、先に送信された要求ＷＲａ１Ｌよりも先に受信している。また、第２実施例では、同期副装置２００Ｌは、要求を受信した順番に、要求されたデータをボリュームＶＯＬ１−Ｌに書き込みこととしている。そこで、同期副装置２００Ｌは、先に、要求ＷＲｂ１Ｌに応じた書き込み処理を実行し（Ｌ８１２）、要求ＷＲｂ１Ｌの完了通知Ｃｂ１Ｌを正装置２００Ｐに送信する（Ｌ８１４）。完了通知Ｃｂ１Ｌを受信した正装置２００Ｐは、要求ＷＲｂ１の完了通知Ｃｂ１を正ホスト１００Ｐに送信する（Ｐ８１６）。正ホスト１００Ｐは、この完了通知Ｃｂ１を受信したことに応じて、次の要求ＷＲｂ２を正装置２００Ｐに送信する（Ｈ８１８）。この要求ＷＲｂ２は、要求ＷＲａ１の完了通知Ｃａ１を待たずに送信される。正装置２００Ｐは、この要求ＷＲｂ２に応じた書き込み処理を実行し（Ｐ８２０）、コピー要求ＷＲｂ２Ｌを同期副装置２００Ｌに送信する（Ｐ８３２）。同期副装置２００Ｌは、受信した要求ＷＲｂ２Ｌに応じた書き込み処理を実行する（Ｌ８３４）。
【００８４】
また、同期副装置２００Ｌは、要求ＷＲａ１Ｌに応じた書き込み処理を実行し（Ｌ８２２）、要求ＷＲａ１Ｌの完了通知Ｃａ１Ｌを正装置２００Ｐに送信する（Ｌ８２４）。完了通知Ｃａ１Ｌを受信した正装置２００Ｐは、要求ＷＲａ１の完了通知Ｃａ１を正ホスト１００Ｐに送信する（Ｐ８２６）。正ホスト１００Ｐは、この完了通知Ｃａ１を受信した後に、次の要求ＷＲａ２を正装置２００Ｐに送信する（Ｈ８２８）。正装置２００Ｐは、この要求ＷＲａ２に応じた書き込み処理を実行し（Ｐ８３０）、コピー要求ＷＲａ２Ｌを同期副装置２００Ｌに送信する（Ｐ８３６）。同期副装置２００Ｌは、受信した要求ＷＲａ２Ｌに応じた書き込み処理を実行する（Ｌ８３８）。
【００８５】
以上のように、正ホスト１００Ｐは、データ書き込み順序の入れ替わりが許容される複数のホスト要求については、先のホスト要求の完了通知を受信する前に、次のホスト要求を送信する。その結果、同期副装置２００Ｌにおいて、各要求の書き込み順序が入れ替わる場合がある。ただし、正ホスト１００Ｐは、データ書き込み順序の入れ替わりが許容されない複数のホスト要求（例えば、要求ＷＲａ１、ＷＲａ２の組み合わせや、要求ＷＲｂ１、ＷＲｂ２の組み合わせ）については、先のホスト要求の完了通知を受信した後で、次のホスト要求を送信する。従って、記憶装置２００ＬのボリュームＶＯＬ１−Ｌは、常にホスト整合性を有することとなる。例えば、仮に、図９のステップＬ８１２とステップＬ８２２との間のタイミングＴ１０で、正装置２００Ｐと同期副装置２００Ｌとの間の通信経路に不具合が生じたとする。すると、ボリュームＶＯＬ１−Ｌは、先の要求ＷＲａ１のデータを格納せずに、後の要求ＷＲｂ１のデータを格納した状態となる。ただし、これらの要求ＷＲａ１、ＷＲｂ１の書き込み順序は入れ替わることが許容されている。従って、副ホスト１００Ｌ（図１）は、同期副装置２００Ｌ（ボリュームＶＯＬ１−Ｌ）をそのまま用いることによって、データ処理を再開することができる。
【００８６】
なお、正装置２００Ｐと非同期副装置２００Ｒとは、非同期コピーに基づく処理（ステップＰ８４０、Ｒ８４２〜Ｒ８５０）を実行する。これらの処理は、図８で説明した処理
（Ｐ７３０、Ｒ７４０〜Ｒ７４４）と同様に行われる。
【００８７】
以上、図８、図９を用いて説明したように、同期コピーの先ボリュームＶＯＬ１−Ｌは、常にホスト整合性を有している。一方、非同期コピーの先ボリュームＶＯＬ１−Ｒは、非同期コピーが完了した時点ではホスト整合性を有しているが、非同期コピーの最中にはホスト整合性を有していない可能性がある。そこで、第２実施例では、非同期副装置２００Ｒが少なくとも１つのホスト整合性を有するボリュームを確保するために、ボリュームＶＯＬ２−Ｒを用いたボリュームＶＯＬ１−Ｒのバックアップが行われる。
【００８８】
Ｂ２．データ書き込み処理：
図１０、図１１は、データ処理システム１０ａによるデータ書き込み処理の手順を示すシーケンス図である。図１１は、図１０の手順に続く後半部分を示している。このシーケンス図は、ボリュームＶＯＬ１−Ｒのバックアップ処理を含んでいる。また、この例では、正ホスト１００Ｐは、５つのホスト要求ＷＲ３１〜ＷＲ３５を正装置２００Ｐに送信することとしている。ここで、これらの要求ＷＲ３１〜ＷＲ３５の書き込み順序の入れ替わりは許容されていることとしている。また、各記憶装置２００は、図５の例と同様に、コピー（書き込み）要求の完了通知を送信するが、以下の説明では図示と説明とを省略している。
【００８９】
正ホスト１００Ｐは、各要求ＷＲ３１〜ＷＲ３５を、この順番に正装置２００Ｐに送信する。正装置２００Ｐは、各要求に応じて、書き込み処理と、同期副装置２００Ｌへのコピー要求の送信処理とを、各要求を受信した順番（送信された順番と同じ）に実行する（ステップＰ１００〜Ｐ１０６、Ｐ１１６、Ｐ１１８）。
【００９０】
図１２は、正装置２００Ｐが同期副装置２００Ｌに送信するコピー要求を示す説明図である。各コピー要求ＷＲ３１Ｌ〜ＷＲ３５Ｌのそれぞれは、世代番号ＧＮｏと、シーケンス番号ＳＮｏと、ホストデータＨＤとを含む。シーケンス番号ＳＮｏは、元となるホスト要求が、読み書きモジュール２３５Ｐ（図７）に受信された順序を示す番号であり、指示モジュール２３３Ｐによって各要求ＷＲ３１Ｌ〜ＷＲ３５Ｌに割り当てられる。なお、２つの要求ＷＲ３３Ｌ、ＷＲ３４Ｌの間には、マーカＭＫが送信されている（図１０：ステップＰ１１４）。このマーカＭＫについては後述する。
【００９１】
世代番号ＧＮｏは、読み書きモジュール２３５Ｐ（図５、図７）が、元のホスト要求を受信してホストデータの書き込み処理を実行する時期を表す番号である。世代設定モジュール２３６Ｐは、読み書きモジュール２３５Ｐがホスト要求を受信する毎に、その受信時を基準として、そのホスト要求に世代番号ＧＮｏを割り当てる。また、世代設定モジュール２３６Ｐは、管理サーバ１１０Ｐからスプリット指示（詳細は後述）を受ける毎に、この世代番号を新しい番号に切り替える。世代情報送信モジュール２３７Ｐは、世代番号ＧＮｏを同期副装置２００Ｌに送信するために、アクセスモジュール２３４Ｐが準備した各要求ＷＲ３１Ｌ〜ＷＲ３５Ｌに、この世代番号ＧＮｏを付加する。図１２の例では、最初の３つの要求ＷＲ３１Ｌ〜ＷＲ３３Ｌの世代番号は「１００」に設定されている。続く２つの要求ＷＲ３４Ｌ、ＷＲ３５Ｌの世代番号は、１つ新しい「１０１」に設定されている。これは、正装置２００Ｐが、２つの要求ＷＲ３３、ＷＲ３４の間にスプリット指示を受信したからである（図１０：ステップＰ１１０。詳細は後述）。なお、読み書きモジュール２３５Ｐは、ホストデータの書き込み処理を、ホスト要求を受信した順番に実行する。従って、世代設定モジュール２３６Ｐは、世代番号の割り当ての基準時として、書き込み処理の開始時や、書き込み処理の完了通知が発行された時を採用可能である。
【００９２】
図１３は、ビットマップＢＭＡ、ＢＭＢを示す説明図である。同期副装置２００Ｌの履歴作成モジュール２３８Ｌ（図７）は、ボリュームＶＯＬ１−Ｌを複数のブロックに分割することによって、更新履歴を管理している。各ビットマップＢＭＡ、ＢＭＢは、各ブロック毎の更新の有無を表すビットを含んでいる。図１３の例では、履歴作成モジュール２３８Ｌは、最初に全てのビットを「０」に設定し、その後、更新されたブロックのビットを「１」に設定する。更新ブロックのビット設定は、読み書きモジュール２３５Ｌが同期コピーの書き込み処理を実行する毎に行われる。なお、１つの要求によって更新されるブロック数は、ホストデータに応じた可変値である。
【００９３】
また、各ビットマップＢＭＡ、ＢＭＢは、世代情報ＧＩと履歴状態情報ＨＳＩとを含む。世代情報ＧＩは、ビットマップの世代番号ＧＮｏ（図１２）を示している。履歴作成モジュール２３８Ｌは、世代番号ＧＮｏ毎に、ビットマップを作成する。また、履歴作成モジュール２３８Ｌは、最新の２つの世代のビットマップのみを、ビットマップＢＭＡ、ＢＭＢに確保する。図１３の例では、第１ビットマップＢＭＡの世代番号は「１００」であり、第２ビットマップＢＭＢの世代番号は「１０１」である。なお、同期副装置２００Ｌが世代番号１０１の要求を受信する前には、第２ビットマップＢＭＢには、世代番号９９の更新履歴が格納されている（詳細は後述）。
【００９４】
履歴状態情報ＨＳＩは、将来の更新の可能性の有無を示す情報である。履歴作成モジュール２３８Ｌは、最初に履歴状態情報ＨＳＩを「未確定」に設定する。その後、履歴作成モジュール２３８Ｌは、対応する世代番号ＧＮｏの全てのコピー要求の完了通知が発行されたことに応じて、履歴状態情報ＨＳＩを「未確定」から「確定」に切り替える（詳細は後述）。
【００９５】
以上、同期副装置２００ＬのビットマップＢＭＡ、ＢＭＢについて説明したが、非同期副装置２００Ｒの第３ビットマップＢＭＣ（図７）の構成も、これらのビットマップＢＭＡ、ＢＭＢと同じである。履歴作成モジュール２３８Ｒは、読み書きモジュール２３５Ｒが非同期コピーの書き込み処理を実行する毎に、第３ビットマップＢＭＣを更新する。
【００９６】
なお、第３ビットマップＢＭＣの世代情報については、後述するように、正装置２００Ｐのコピーモジュール２３２Ｐの指示に従って１つずつ更新される。第３ビットマップＢＭＣの世代の初期値は、予め、種々の方法で設定され得る。例えば、世代情報送信モジュール２３７Ｐが、予め、非同期副装置２００Ｒ（履歴作成モジュール２３８Ｒ）に、世代の初期値を送信しておくこととしてもよい。また、管理サーバ１１０Ｐの指示や、ユーザの指示に従って、初期値が設定されることとしてもよい。
【００９７】
次に、図１０、図１１の例を用いて、データ処理システム１０ａ（図７）の状態の変化について説明する。管理サーバ１１０Ｐ（管理モジュール１１６Ｐ）がスプリット指示を正装置２００Ｐに送信すると（ステップＭ１０８）、正装置２００Ｐは、指示に応じてスプリット処理を開始する（Ｐ１１０）。このスプリット指示によって、世代番号が１つだけ新しい番号に切り替えられる。さらに、非同期コピーペア（ＶＯＬ１−Ｐ、ＶＯＬ３−Ｐ）における新世代のホスト要求に応じたデータコピーは保留される。図１０の例では、このスプリット指示は、２つの要求ＷＲ３３、ＷＲ３４の間に正装置２００Ｐに受信されている。コピーモジュール２３２Ｐは、このスプリット指示の後に受信した新世代のホスト要求（ＷＲ３４、３５）を、後で非同期副装置２００Ｒに送信するときのために、キャッシュメモリ２６０Ｐに保持する。
【００９８】
スプリット指示は、非同期コピーの先ボリュームＶＯＬ３−Ｐ（ＶＯＬ１−Ｒ）をバックアップするために送信される。管理サーバ１１０Ｐは、この指示を任意のタイミングで送信することができる。例えば、スプリット指示は、定期的に送信される。また、ユーザの指示に従ったタイミングで、スプリット指示が送信されることとしてもよい。
【００９９】
世代設定モジュール２３６Ｐ（図７）は、スプリット指示を受信したことに応じて、世代番号（１００）を１つだけ新しい番号（１０１）に切り替える（ステップＰ１１２）。次に、世代情報送信モジュール２３７Ｐは、世代の切り替わりを表すマーカＭＫを同期副装置２００Ｌに送信する（Ｐ１１４）。
【０１００】
図１２には、マーカＭＫの例が示されている。マーカＭＫは、他の要求ＷＲ３１Ｌ〜ＷＲ３５Ｌと同じ構成を有している。世代番号ＧＮｏは、新しい世代番号（１０１）に設定されている。ホストデータＨＤに相当する部分は、マーカであることを示す所定の値に設定されている。シーケンス番号ＳＮｏは、書き込み要求ＷＲ３１Ｌ〜ＷＲ３５Ｌと同様に、正装置２００Ｐによるスプリット指示の受信順序を示す番号に設定される。マーカＭＫのシーケンス番号ＳＮｏは、スプリット指示受信前の最後の要求（ＷＲ３３Ｌ）よりも１つ新しい番号（１００４）に設定される。また、スプリット指示受信後の最初の要求（ＷＲ３４Ｌ）のシーケンス番号ＳＮｏは、マーカＭＫよりも１つ新しい番号（１００５）に設定される。シーケンス番号ＳＮｏの設定は、指示モジュール２３３Ｐによって行われる。
【０１０１】
マーカＭＫに付与されたシーケンス番号ＳＮｏは、マーカＭＫの世代よりも１つ前の世代の全ての要求の完了通知が発行されか否かの判断に利用される。例えば、図１２の例では、マーカＭＫのシーケンス番号ＳＮｏが「１００４」である。従って、同期副装置２００Ｌが１つ前の「１００３」までの全ての要求の完了通知を発行すれば、１つ前の世代の全ての要求の完了通知が発行されたと判断できる。この判断は、履歴作成モジュール２３８Ｌ（図７）によって行われる（後述）。
【０１０２】
図１４は、図１０の例における、同期副装置２００Ｌが、各要求ＷＲ３１Ｌ〜ＷＲ３５ＬとマーカＭＫとを受信する順番を示す説明図である。図１０の例では、同期副装置２００Ｌは、ＷＲ３２Ｌ、マーカＭＫ、ＷＲ３５Ｌ、ＷＲ３１Ｌ、ＷＲ３３Ｌ、ＷＲ３４Ｌの順にデータを受信する（Ｌ１０４〜Ｌ１２６）。図１４（Ａ）〜図１４（Ｆ）は、その順番に、データが受信される様子を示している。この受信順番が、送信された順番と異なるのは、データ転送が多重転送によって行われるからである。同期副装置２００Ｌ（図７：読み書きモジュール２３５Ｌ）は、各要求を受信した順番に、各要求のホストデータをボリュームＶＯＬ１−Ｌに書き込む（ステップＬ１０４〜Ｌ１２６）。履歴作成モジュール２３８Ｌも、同じ順番に、ビットマップＢＭＡ、ＢＭＢを更新する。
【０１０３】
図１５は、同期副装置２００Ｌが要求ＷＲ３２の書き込み処理（Ｌ１０４）を実行した段階におけるデータ処理システム１０ａの状態１を示す説明図である。図１５には、４つのボリュームＶＯＬ１−Ｐ、ＶＯＬ１−Ｌ、ＶＯＬ１−Ｒ、ＶＯＬ２−Ｒと、３つのビットマップＢＭＡ、ＢＭＢ、ＢＭＣと、が示されている。各ボリュームに付された括弧内の数字は、そのボリュームに反映された要求の世代番号ＧＮｏを示している。例えば、バックアップボリュームＶＯＬ２−Ｒには、世代番号９９の要求が反映されているが、世代番号１００の要求は反映されていない。
【０１０４】
また、各ビットマップに付された括弧内の数字は、そのビットマップの世代番号を示している。また、図中には、各ビットマップの世代番号と履歴状態とを示すテーブルが示されている。なお、図中においては、各ビットマップＢＭＡ、ＢＭＢ、ＢＭＣのそれぞれが、符号「ＢＭ」が省略された符号を用いて示されている。例えば、符号「Ａ」は、第１ビットマップＢＭＡを示している。後述する他の図についても同様である。
【０１０５】
なお、図中の２重線の矢印は、正装置２００Ｐに不具合が生じた場合に実行される副コピー処理を示している（詳細は後述）。
【０１０６】
この状態１では、同期コピーペアＣＰ１「ＶＯＬ１−Ｐ、ＶＯＬ１−Ｌ」のペア状態は「ペア」である。また、非同期コピーペアＣＰ２「ＶＯＬ１−Ｐ、ＶＯＬ１−Ｒ」のペア状態も「ペア」である。バックアップコピーペアＢＣＰ「ＶＯＬ１−Ｒ、ＶＯＬ２−Ｒ」のペア状態は「スプリット」である。また、第２ビットマップＢＭＢについては、世代番号が「９９」であり、履歴状態が「確定」である。一方、第１ビットマップＢＭＡと第３ビットマップＢＭＣとについては、世代番号が「１００」であり、履歴状態が「未確定」である。
【０１０７】
図１６は、状態２を示す説明図である。正装置２００Ｐがスプリット指示を受け（図１０：Ｐ１１０）、さらに、同期副装置２００Ｌが、新たな世代１０１の要求ＷＲ３５Ｌの書き込み処理を実行すると（図１０：Ｌ１２０）、システム１０ａの状態は、状態２に変わる。履歴作成モジュール２３８Ｌは、読み書きモジュール２３５Ｌが受けるコピー要求の世代番号を参照する。参照された世代番号が、２つのビットマップＢＭＡ、ＢＭＢの両方の世代番号よりも新しい場合には、履歴作成モジュール２３８Ｌは、古い方のビットマップをクリアして、この新しい世代の履歴をクリアされたビットマップに格納する。また、クリアされたビットマップの履歴状態は「未確定」に設定される。図１５の例では、第２ビットマップＢＭＢに新たな世代番号１０１の更新が格納される。
【０１０８】
図１７は、状態３を示す説明図である。同期副装置２００Ｌが要求ＷＲ３１Ｌ、ＷＲ３３Ｌの書き込み処理を実行すると（図１０：Ｌ１２２、Ｌ１２４）、システム１０ａの状態は、状態３に変わる。履歴作成モジュール２３８Ｌは、同期副装置２００Ｌが受信したマーカＭＫを参照することによって、世代番号１００のコピー要求のシーケンス番号ＳＮｏが１００３までであることを知る。また、同期副装置２００Ｌは、ステップＬ１２４で、シーケンス番号ＳＮｏ１００３までの全ての要求の完了通知を発行する。そこで、履歴作成モジュール２３８Ｌは、このステップＬ１２４で、世代番号１００の全てのコピー要求の完了通知が発行されたと判断し、世代番号１００のビットマップＭＢＡの履歴状態を「確定」に設定する。
【０１０９】
その後、正装置２００Ｐのコピーモジュール２３２Ｐ（図７）は、非同期コピーに基づくコピー要求を非同期副装置２００Ｒに送信する（図１０：Ｐ１２８）。ここで送信される要求は、スプリット指示前の世代番号１００の全ての要求ＷＲ３１、ＷＲ３２、ＷＲ３３に基づくもののみである。非同期副装置２００Ｒは、これらの要求に応じた書き込み処理を実行し（Ｒ１３０）、完了通知を正装置２００Ｐに送信する（Ｒ１３１）。なお、以下では、スプリット指示時に全ての非同期リモートコピーのデータ（ここでは、ＷＲ３１、３２、３３）を非同期副記憶装置２００Ｒに送信することとして説明しているが、データ転送のタイミングはこれに限られない。例えば、随時非同期リモートコピーが実行され、スプリット指示の受信時に、正記憶装置２００Ｐが、スプリット指示前の世代番号が割り振られた要求ＷＲの有無を確認し、該当する要求ＷＲを非同期副装置２００Ｒに送信することとしてもよい。
【０１１０】
非同期コピーに基づく全てのコピー要求の完了通知の発行後、システム１０ａの状態は、状態４に変わる。図１８は、状態４を示す説明図である。コピーモジュール２３２Ｐは、非同期コピーに基づく全てのコピー要求の完了通知を非同期副装置２００Ｒから受信したことに応じて、ペア情報２４８Ｐにおける非同期コピーペアＣＰ２のペア状態を「スプリット」に設定する（Ｐ１３２）。そして、コピーモジュール２３２Ｐは、スプリットの完了通知を非同期副装置２００Ｒに送信する。次のステップＲ１４３では、非同期副装置２００Ｒにおいて、スプリット完了通知を受けた履歴作成モジュール２３８Ｒが、第３ビットマップＢＭＣの履歴状態を「確定」に設定する。また、スプリット完了通知を受けたバックアップモジュール２４２Ｒは、ペア情報２４８Ｒ（図７）における非同期コピーペアＣＰ２のペア状態を「スプリット」に設定する。その結果、システム１０ａの状態は、スプリットが完了した状態４となる。この状態４では、非同期コピーの先ボリュームＶＯＬ１−Ｒは、ホスト整合性を有している。
【０１１１】
スプリットの完了後、システム１０ａの状態は、状態５に変わる。図１９は、状態５を示す説明図である。図１１のステップＭ１３６で、管理サーバ１１０Ｐ（管理モジュール１１６Ｐ）は、非同期副装置２００Ｒにリシンク指示を送信する。リシンク指示を受信したバックアップモジュール２４２Ｒは、元ボリュームＶＯＬ１−Ｐのデータを先ボリュームＶＯＬ２−Ｒにコピー（バックアップコピー）し、先ボリュームＶＯＬ２−Ｒのデータを元ボリュームＶＯＬ１−Ｐのデータに一致させる（図１１：Ｒ１３８）。この際、バックアップモジュール２４２Ｒは、第３ビットマップＢＭＣで特定される更新ブロックのデータのみをコピーする。また、バックアップモジュール２４２Ｒは、ペア情報２４８ＲのバックアップコピーペアＢＣＰのペア状態を「リシンク」に設定する。コピー完了の後、バックアップモジュール２４２Ｒは、このペア状態を「ペア」に設定し、さらに、リシンク完了通知を管理サーバ１１０Ｐに送信する（状態５）。
【０１１２】
ところで、このバックアップコピーの開始から完了の間には、バックアップボリュームＶＯＬ２−Ｒはホスト整合性を有していない可能性がある。ただし、コピー元のボリュームＶＯＬ１−Ｒは、ホスト整合性を有している。
【０１１３】
また、リシンク指示の受信時に、ペア情報２４８Ｒ（図７）における第２コピーペアＣＰ２のペア状態が「スプリット」ではない場合がある。この場合には、バックアップモジュール２４２Ｒは、リシンク指示（図１１：Ｍ１３６）に対して、実行不可である通知を管理サーバ１１０Ｐに送信する（図示せず）。管理サーバ１１０Ｐ（管理モジュール１１６Ｐ）は、リシンク可能となるまで、繰り返し、リシンク指示を非同期副装置２００Ｒに送信する。
【０１１４】
リシンクの完了後、システム１０ａの状態は、状態６に変わる。図２０は、状態６を示す説明図である。管理サーバ１１０Ｐ（管理モジュール１１６Ｐ）は、リシンク完了通知を受信したら、スプリット指示を非同期副装置２００Ｒに送信する（図１１：Ｍ１４０）。非同期副装置２００Ｒのバックアップモジュール２４２Ｒは、指示に応じて、ペア情報２４８Ｒ（図７）におけるバックアップコピーペアＢＣＰのペア状態を「スプリット」に設定する（状態６）。
【０１１５】
スプリットの完了後、バックアップモジュール２４２Ｒは、スプリット完了通知を管理サーバ１１０Ｐに送信する（図１１：Ｒ１４２）。すると、システム１０ａの状態は、状態７に変わる。図２１は、状態７を示す説明図である。
【０１１６】
また、スプリットの完了の後、システム１０ａの状態は、状態８に変わる。図２２は、状態８を示す説明図である。管理サーバ１１０Ｐ（管理モジュール１１６Ｐ）は、スプリット完了通知を受信したら、正装置２００Ｐにリシンク指示を送信する（図１１：Ｍ１４４）。リシンク指示を受信したコピーモジュール２３２Ｐは、第３ビットマップＢＭＣをクリアする指示と、第３ビットマップＢＭＣの履歴状態を「未確定」に設定する指示とを、非同期副装置２００Ｒに送信する（図１１：Ｐ１４６）。これらの指示を受信した履歴作成モジュール２３８Ｒは、第３ビットマップＢＭＣをクリアし、その履歴状態を「未確定」に設定する（図１１：Ｒ１４８）。
【０１１７】
さらに、コピーモジュール２３２Ｐは、リシンクの開始を非同期副装置２００Ｒに通知する（図１１：Ｐ１５０）。次のステップＲ１５２では、通知を受信した履歴作成モジュール２３８Ｒが、第３ビットマップＢＭＣの世代番号を１つ新しい番号（１０１）に設定する。さらに、通知を受信したバックアップモジュール２４２Ｒが、ペア情報２４８Ｒ（図７）における非同期コピーペアＣＰ２のペア状態を「ペア」に設定する。
【０１１８】
次に、コピーモジュール２３２Ｐは、リシンク処理を実行する（Ｐ１５４）。コピーモジュール２３２Ｐは、ペア情報２４８Ｐにおける非同期コピーペアＣＰ２のペア状態を「リシンク」に設定する。そして、コピーモジュール２３２Ｐは、キャッシュメモリ２６０Ｐに保存された新世代（１０１）の要求（ＷＲ３４、３５）に応じて、非同期副装置２００Ｒにコピー要求ＷＲ３４Ｒ、ＷＲ３５Ｒを送信する（Ｐ１５６）。非同期副装置２００Ｒは、要求に応じた書き込み処理を実行する。また、履歴作成モジュール２３８Ｒは、この書き込み処理に応じて、第３ビットマップＢＭＣを更新する。その結果、システム１０ａの状態は、図２２に示す状態８となる。
【０１１９】
この状態８は、２つのビットマップＢＭＡ、ＢＭＢの立場が入れ替わっている点と世代番号が更新されている点とを除けば、図１５に示す状態１と同等である。以後、データ処理システム１０ａは、図１０、図１１の手順と同様に、スプリットとリシンクとの処理を繰り返し実行する。
【０１２０】
なお、図１０、図１１の例では、書き込み順序の入れ替わりが許容される５つのホスト要求ＷＲ３１〜ＷＲ３５が正ホスト１００Ｐによって送信される場合について説明したが、異なるタイミングで異なる数の要求が送信される場合も、システム１０ａの状態変化は同様である。さらに、入れ替わりが許容されない複数の要求が送信される場合も、後のホスト要求が送信されるタイミングが変わるだけで、システム１０ａの状態変化は同様である。
【０１２１】
以上のように、第２実施例では、バックアップボリュームＶＯＬ２−Ｒは、正装置２００Ｐが最後にスプリット指示を受信した時点（図１０：Ｐ１１０）での正装置２００ＰのボリュームＶＯＬ１−Ｐのバックアップを格納することとなる。また、第３ビットマップＢＭＣは、新たな世代のコピー要求の書き込みが実行される前にクリアされる（図１１：Ｒ１４８）。従って、第３ビットマップＢＭＣには、新たな世代の要求に応じた更新履歴が格納されることとなる。一方、同期副装置２００Ｌは、新たな世代のビットマップと、新たな世代の１つ前の世代のビットマップとを格納する。
【０１２２】
Ｂ３．副コピー処理：
図２３は、正装置２００Ｐに不具合が発生した場合のデータ処理システム１０ａを示す説明図である。この場合も、図６に示す第１実施例と同様に、副ホスト１００Ｌは、同期副装置２００Ｌを用いることによってデータ処理を再開する。ただし、データ処理の再開の前に、副コピーモジュール２４０Ｌが、同期副装置２００Ｌのボリュームのデータと非同期副装置２００Ｒのボリュームのデータとを一致させる副コピー処理を実行する。この副コピー処理が実行される理由は、副ホスト１００Ｌによるデータ処理の再開後に、通常時と同様に、ボリュームＶＯＬ１−Ｌに格納されるデータを、非同期副装置２００Ｒにコピーするためである。ここで、副コピーモジュール２４０Ｌは、一方のボリュームの全体を他方のボリュームへコピーする代わりに、ビットマップＢＭＡ、ＢＭＢ、ＢＭＣを用いて、２つのボリュームの間でデータが異なる部分を特定し、この異なる部分のデータ（以下「差分データ」とも呼ぶ）のみをコピーする。
【０１２３】
図２４は、副コピー処理の手順を示すフローチャートである。最初のステップＳ２００では、副コピーモジュール２４０Ｌは、非同期副装置２００Ｒの２つのボリュームＶＯＬ１−Ｒ、ＶＯＬ２−Ｒの中から、ホスト整合性を有するボリュームを選択する（以下、選択されたボリュームを「整合ボリューム」とも呼ぶ）。図２５（Ａ）は、整合ボリュームを選択するための条件を示している。この条件は、ペア情報２４８Ｒのペア状態に基づいて定められている。副コピーモジュール２４０Ｌは、バックアップモジュール２４２Ｒに取得要求を送信することによって、ペア情報２４８Ｒを取得可能である。
【０１２４】
非同期コピーペアＣＰ２のペア状態が「スプリット」である場合には（条件Ｖ１）、副コピーモジュール２４０Ｌは、ボリュームＶＯＬ１−Ｒを選択する。一方、非同期コピーペアＣＰ２のペア状態が「スプリット」でなく、かつ、バックアップコピーペアＢＣＰのペア状態が「スプリット」である場合には（条件Ｖ２）、副コピーモジュール２４０Ｌは、バックアップボリュームＶＯＬ２−Ｒを選択する。なお、通常は、非同期コピーペアＣＰ２のペア状態が「スプリット」でなければ、バックアップコピーペアＢＣＰのペア状態は「スプリット」である。
【０１２５】
次のステップＳ２１０（図２４）では、副コピーモジュール２４０Ｌは、差分を特定するためのビットマップ（「差分ビットマップ」とも呼ぶ）を選択する。ここで、差分ビットマップとは、ボリュームＶＯＬ１−Ｌと整合ボリュームとの間でデータが異なる部分を特定可能な１以上のビットマップである。図２５（Ｂ）は、差分ビットマップを選択するための条件を示している。差分ビットマップに付された括弧内の数字は、選択されるビットマップの数を示している。この条件は、各ビットマップＢＭＡ、ＢＭＢ、ＢＭＣの世代番号と履歴状態とに基づいて定められている。なお、副コピーモジュール２４０Ｌは、バックアップモジュール２４２Ｒに取得要求を送信することによって、第３ビットマップＢＭＣに関する情報を取得可能である。差分ビットマップ選択処理の詳細については後述する。
【０１２６】
また、以下、同期副装置２００Ｌの２つのビットマップＢＭＡ、ＢＭＢのことを「同期ビットマップＢＭＡ、ＢＭＢ」とも呼ぶ。また、非同期副装置２００Ｒの第３ビットマップＢＭＣのことを「非同期ビットマップＢＭＣ」とも呼ぶ。
【０１２７】
次のステップＳ２２０（図２４）では、副コピーモジュール２４０Ｌは、コピー方向を選択する。通常は、副コピーモジュール２４０Ｌは、比較的新しいデータを格納するボリュームから、他方のボリュームへデータをコピーする。これは、比較的新しいホストデータを用いることによってデータ処理を再開するためである。
【０１２８】
ここで、ボリュームに反映されたコピー要求の世代番号のうち最新の番号を「ボリュームの世代番号」と呼ぶ。副コピーモジュール２４０Ｌは、世代番号が比較的新しいボリュームから世代番号が比較的古いボリュームへ向かう方向を、コピー方向として選択する。同期コピーの先ボリュームＶＯＬ１−Ｌの世代番号は、同期ビットマップＢＭＡ、ＢＭＢの内の新しい方の世代番号と同じである。非同期コピーの先ボリュームＶＯＬ１−Ｒの世代番号は、非同期ビットマップＢＭＣの世代番号と同じである。また、整合ボリュームとしてバックアップボリュームＶＯＬ２−Ｒが選択される場合には、第２コピーペアＣＰ２のペア状態が「非スプリット」である。この場合には、バックアップボリュームＶＯＬ２−Ｒの世代番号は、非同期ビットマップＢＭＣの世代番号よりも１つだけ古くなる。
【０１２９】
なお、副コピーモジュール２４０Ｌは、ユーザの指示に従って、コピー方向を選択することとしてもよい。副コピーモジュール２４０Ｌは、このような指示を、例えば、同期副装置２００Ｌの操作パネル（図示せず）や、同期副装置２００Ｌと通信可能な管理サーバから、受け取ることができる。
【０１３０】
次のステップＳ２３０（図２４）では、副コピーモジュール２４０Ｌは、ボリュームＶＯＬ１−Ｌと整合ボリュームとの間で差分データのコピーを行い、これらのボリュームのデータを一致させる。このステップＳ２３０では、副コピーモジュール２４０Ｌは、整合ボリュームに対する読み書きの要求を非同期副装置２００Ｒに送信する。この要求に応じた読み書きは、読み書きモジュール２３５Ｒによって実行される。
【０１３１】
差分データのコピーが完了したら、副コピー処理が終了する。その後、副ホスト１００Ｌは、副記憶装置２００Ｌ（ＶＯＬ１−Ｌ）を用いて、データ処理を再開する。
【０１３２】
次に、差分ビットマップの選択条件の詳細について説明する。以下、同期ビットマップＢＭＡ、ＢＭＢの内の非同期ビットマップＢＭＣと同世代のビットマップのことを、単に「同世代ビットマップ」とも呼ぶ。同様に、同期ビットマップＢＭＡ、ＢＭＢの内の非同期ビットマップＢＭＣと異世代のビットマップのことを、単に「異世代ビットマップ」とも呼ぶ。
【０１３３】
（１）条件Ｂ１：
非同期ビットマップＢＭＣの状態が「未確定」であり、かつ、異世代ビットマップの状態が「確定」である場合には、同世代ビットマップのみが選択される。この条件Ｂ１が満たされる状態としては、例えば、図１５の状態１がある。この状態１で正装置２００Ｐに不具合が生じた場合には、第１ビットマップＢＭＡで特定される更新ブロックのデータが、ボリュームＶＯＬ１−ＬからバックアップボリュームＶＯＬ２−Ｒにコピーされる。
【０１３４】
非同期ビットマップＢＭＣの状態が未確定である場合には、通常は、整合ボリュームとして、バックアップボリュームＶＯＬ２−Ｒが選択される。また、このバックアップボリュームＶＯＬ２−Ｒの世代は非同期ビットマップＢＭＣよりも１つ古い世代となる。さらに、異世代ビットマップが確定している場合には、通常は、この異世代ビットマップの世代は、非同期ビットマップＢＭＣよりも１つ古い世代である。状態１では、非同期ビットマップＢＭＣの世代番号は１００であり、異世代ビットマップ（ＢＭＢ）の世代番号は９９である。このように、条件Ｂ１が成立する場合には、同世代ビットマップの世代は、整合ボリューム（バックアップボリュームＶＯＬ２−Ｒ）の世代よりも１つだけ新しい。従って、この同世代ビットマップを用いることによって、ボリュームＶＯＬ１−Ｌと整合ボリューム（ＶＯＬ２−Ｒ）との間でデータが異なる部分を特定することができる。なお、図２２に示す状態８についても同様である。
【０１３５】
（２）条件Ｂ２：
非同期ビットマップＢＭＣの状態が「未確定」であり、かつ、異世代ビットマップの状態が「未確定」である場合には、両方の同期ビットマップＢＭＡ、ＢＭＢが選択される。この条件Ｂ２が満たされる状態としては、例えば、図１６に示す状態２がある。この状態２で正装置２００Ｐに不具合が生じた場合には、２つのビットマップＢＭＡ、ＢＭＢの「ＯＲ」演算によって得られるビットマップが示す更新ブロックのデータが、ボリュームＶＯＬ１−ＬからバックアップボリュームＶＯＬ２−Ｒにコピーされる。
【０１３６】
非同期ビットマップＢＭＣが未確定であり、かつ、異世代ビットマップが未確定である場合には、通常は、この異世代ビットマップの世代は、非同期ビットマップＢＭＣよりも１つ新しい世代である。状態２では、非同期ビットマップＢＭＣの世代番号が１００であり、異世代ビットマップ（ＢＭＢ）の世代番号が１０１である。このように、条件Ｂ２が成立する場合には、両方の同期ビットマップＢＭＡ、ＢＭＢの世代（１００、１０１）は、整合ボリューム（バックアップボリュームＶＯＬ２−Ｒ）の世代（９９）よりも新しい。さらに、同期ビットマップＢＭＡ、ＢＭＢの世代番号（１００、１０１）は、整合ボリュームの世代番号（９９）と連続している。従って、両方の同期ビットマップＢＭＡ、ＢＭＢの「ＯＲ」演算によって得られるビットマップを用いることによって、ボリュームＶＯＬ１−Ｌと整合ボリューム（ＶＯＬ２−Ｒ）との間でデータが異なる部分を特定することができる。なお、図１７の状態３についても同様である。
【０１３７】
（３）条件Ｂ３：
非同期ビットマップＢＭＣの状態が「確定」であり、かつ、同世代ビットマップの状態が「確定」である場合には、同期ビットマップＢＭＡ、ＢＭＢの内の非同期ビットマップＢＭＣよりも世代が新しく、かつ、未確定のビットマップが選択される。この条件Ｂ３が満たされる状態としては、例えば、図１８の状態４がある。この状態４で正装置２００Ｐに不具合が生じた場合には、第２ビットマップＢＭＢで特定される更新ブロックのデータが、ボリュームＶＯＬ１−ＬからボリュームＶＯＬ１−Ｒにコピーされる。
【０１３８】
非同期ビットマップＢＭＣの状態が確定である場合には、通常は、整合ボリュームとして、非同期コピーの先ボリュームＶＯＬ１−Ｒが選択される。さらに、同世代ビットマップが確定している場合には、通常は、異世代ビットマップの状態は未確定である。この場合には、異世代ビットマップの世代は、非同期ビットマップＢＭＣの世代（すなわち、整合ボリュームＶＯＬ１−Ｒの世代）よりも１つだけ新しい。状態４では、異世代ビットマップ（ＢＭＢ）の世代番号（１０１）は、非同期ビットマップＢＭＣの世代（１００）よりも１つだけ新しい。このように、条件Ｂ３が成立する場合には、同期ビットマップＢＭＡ、ＢＭＢの内の、非同期ビットマップＢＭＣよりも新しく、かつ、状態が未確定であるビットマップの世代は、整合ボリューム（ＶＯＬ１−Ｒ）の世代よりも１つだけ新しい。従って、このビットマップを用いることによって、ボリュームＶＯＬ１−Ｌと整合ボリューム（ＶＯＬ１−Ｒ）との間でデータが異なる部分を特定することができる。また、ここで選択されるビットマップは、２つの同期ビットマップＢＭＡ、ＢＭＢの中の比較的新しい世代の履歴を表すビットマップである。なお、図１９に示す状態５と、図２０に示す状態６と、図２１に示す状態７についても同様である。
【０１３９】
なお、データ処理システム１０ａの状態によっては、いずれの条件Ｂ１〜Ｂ３も成立しない場合がある。このような場合には、副コピーモジュール２４０Ｌは、差分データのみをコピーする代わりに、一方のボリュームの全体を他方のボリュームへコピーすればよい。
【０１４０】
以上のように、第２実施例では、副コピーモジュール２４０Ｌは、図２５（Ｂ）に示す条件に従って、２つの同期ビットマップＢＭＡ、ＢＭＢを選択的に利用する。その結果、２つの同期ビットマップＢＭＡ、ＢＭＢの「ＯＲ」演算結果を常に用いる場合と比べて、
ビットマップの演算に要する時間とコピーすべき差分データの量とを低減させることが可能となる。その結果、正記憶装置２００Ｐに不具合が発生した場合でも、迅速に、副記憶装置２００ＬのボリュームＶＯＬ１−Ｌのデータと、副記憶装置２００Ｒのボリューム（整合ボリューム）のデータと、を一致させることができる。その結果、２つの記憶装置２００Ｌ、２００Ｒを用いることによってデータの冗長性を高めつつ、データ処理を迅速に再開することができる。
【０１４１】
また、第２実施例では、非同期コピーと、非同期コピーを中断した状態でのバックアップと、が交互に繰り返し実行される。従って、非同期副装置２００Ｒは、ホスト整合性を有するボリュームを少なくとも１つ確保できる。その結果、正装置２００Ｐに不具合が生じた場合であっても、迅速に、非同期副装置２００Ｒを用いることによってデータ処理を再開できる。
【０１４２】
Ｃ．第３実施例：
図２６は、第３実施例における、コピーモジュール２３２Ｐが非同期コピーペアＣＰ２のリシンク開始時に実行する処理を示す説明図である。上述の第２実施例との差違は２つある。１つ目の差違は、このリシンク開始時における処理が、同期コピーの不具合の有無に応じて切り替えられる点である。書き込み処理の他の手順は、図１０、図１１に示す例と同様である。２つ目の差違は、差分ビットマップを選択するための条件に、新しい条件が追加されている点である。データ処理システムの構成は、図７に示すデータ処理システム１０ａと同じである。
【０１４３】
コピーモジュール２３２Ｐ（図７）は、ステップＳ３００で管理サーバ１１０Ｐからリシンク指示を受信すると（図１１：ステップＭ１４４）、同期コピーに不具合が有るか否かを判断する（Ｓ３０５）。コピーモジュール２３２Ｐは、不具合の有無を種々の方法で検知可能である。例えば、コピーモジュール２３２Ｐは、コピー要求を同期副装置２００Ｌに送信してからの経過時間が所定時間を越えても完了通知を受信できない場合に、不具合が有ると判断する。また、コピーモジュール２３２Ｐは、同期コピー用の通信経路に接続されたインターフェース（図示せず）からエラー通知を受けた場合に、不具合が有ると判断する。コピーモジュール２３２Ｐは、このような種々の条件を総合的に用いることによって、不具合の有無を判断することもできる。
【０１４４】
同期コピーに不具合が無いと判断された場合の処理（ステップＳ３１０）は、図１０、図１１で説明した処理と同じである。図１１のステップＰ１４６に示すように、コピーモジュール２３２Ｐは、第３ビットマップＢＭＣをクリアする指示（単に「クリア指示」とも呼ぶ）と、第３ビットマップＢＭＣの履歴状態を「未確定」に設定する指示（単に「未確定設定指示」とも呼ぶ）とを、非同期副装置２００Ｒに送信する。さらに、ステップＰ１５０に示すように、コピーモジュール２３２Ｐは、第３ビットマップＢＭＣの世代を１つ新しくする指示を、非同期副装置２００Ｒに送信する（リシンク開始通知がこの世代更新指示に相当する）。以後、データ処理システム１０ａは、図１０、図１１と同様の手順に従って、データ書き込み処理を実行する。
【０１４５】
一方、同期コピーに不具合があると判断された場合には、コピーモジュール２３２Ｐは、ステップＳ３２０に移行する。この場合には、コピーモジュール２３２Ｐは、クリア指示と未確定設定指示とを、送信せずに、第３ビットマップＢＭＣの世代を１つ新しくする指示のみを、非同期副装置２００Ｒに送信する。
【０１４６】
Ｃ１．データ書き込み処理の詳細：
図２７、図２８は、データ処理システム１０ａによるデータ書き込み処理の手順を示すシーケンス図である。図２８は、図２７の手順に続く後半部分を示している。図１０、図１１に示す手順との差違は、同期コピーの通信経路の不具合によって、非同期コピーペアＣＰ２のリシンク開始時における処理が切り替えられている点だけである。
【０１４７】
この例では、同期コピーに不具合が生じた場合であっても、正装置２００Ｐと非同期副装置２００Ｒとを用いたデータ処理が継続される。また、この場合には、同期副装置２００Ｌへのコピー要求は送信されなくなる。さらに、正ホスト１００Ｐへのホスト要求の完了通知は、元のボリュームＶＯＬ１−Ｐへの書き込みの完了通知（例えば、図５の完了通知Ｃ１０ａ）の受領に応じて送信される。この際、正装置２００Ｐが、非同期コピーペアＣＰ２のコピー要求の完了通知（例えば、図５の要求Ｃ１０ｅ（Ｃ１０ｄ））を受信するか否かについては、考慮されない。
【０１４８】
また、この例では、正ホスト１００Ｐは、６つのホスト要求ＷＲｓ〜ＷＲｘを正装置２００Ｐに送信している。ここで、これらの要求ＷＲｓ〜ＷＲｘの書き込み順序の入れ替わりは許容されていることとしている。また、最初のステップＰ５００が実行される時点での世代番号が「１００」であることとしている。
【０１４９】
なお、各記憶装置２００は、図５の例と同様に、コピー（書き込み）要求の完了通知を発行するが、以下の説明や後述する他の実施例では、図示と説明とを省略している。また、正装置２００Ｐは、ホスト要求に応じた書き込み処理を実行するが、以下の説明や後述する他の実施例では、図示と説明とを省略している。
【０１５０】
まず、正ホスト１００Ｐは、各要求ＷＲｓ〜ＷＲｗを、この順番に正装置２００Ｐに送信する（図示せず）。正装置２００Ｐは、各要求に応じて、書き込み処理と、同期副装置２００Ｌへのコピー要求ＷＲｓＬ〜ＷＲｗＬの送信と、を実行する（ステップＰ５００、Ｐ５０４、Ｐ５０６、Ｐ５１６、Ｐ５２０）。ただし、図２７の例では、同期コピーの通信経路に不具合が生じており、要求ＷＲｔＬと、要求ＷＲｗＬとは、同期副装置２００Ｌに届いていない。同期副装置２００Ｌは、受信した要求ＷＲｓＬ、ＷＲｕＬ、ＷＲｖＬに応じた書き込み処理を実行する（Ｌ５０２、Ｌ５０８、Ｌ５１８）。以下、正装置２００Ｐと同期副装置２００Ｌとの間の通信が途絶えたこととする。
【０１５１】
一方、管理サーバ１１０Ｐ（管理モジュール１１６Ｐ）は、スプリット指示を正装置２００Ｐに送信する（ステップＭ５１０）。図２７の例では、正装置２００Ｐは、このスプリット指示を、要求ＷＲｕと要求ＷＲｖとの間に受信している。スプリット指示を受信した正装置２００Ｐは、現行の世代番号を新しい番号（１０１）に切り替え（Ｐ５１２）、マーカを送信し（Ｐ５１４）、非同期コピーに基づく書き込み要求を非同期副装置２００Ｒに送信する（Ｐ５２２）。これらのステップＰ５１２、Ｐ５１４、Ｐ５２２は、図１０のステップＰ１１２、Ｐ１１４、Ｐ１２８と、それぞれ、同様である。すると、非同期副装置２００Ｒは、世代番号が１００である要求ＷＲｓＲ、ＷＲｔＲ、ＷＲｕＲを受信し、これらの要求に応じた書き込み処理を実行する（Ｒ５２４）。すると、データ処理システム１０ａの状態は、状態２１となる。
【０１５２】
図２９は、状態２１を示す説明図である。図中においては、ボリュームに格納されたホストデータのそれぞれは、ホスト要求の符号から「ＷＲ」を省略した符号を用いて示されている。例えば、符号「ｓ」は、ホスト要求ＷＲｓのホストデータを示す。後述する他の図についても同様である。
【０１５３】
この状態２１では、同期コピーの先ボリュームＶＯＬ１−Ｌは、３つのホストデータｓ、ｕ、ｖを格納している。また、第１ビットマップＢＭＡについては、世代番号が「１００」であり、履歴状態が「未確定」である。この第１ビットマップＢＭＡは、ホストデータｓ、ｕの履歴を格納している。一方、第２ビットマップＢＭＢについては、世代番号が「１０１」であり、履歴状態が「未確定」である。この第２ビットマップＢＭＢは、ホストデータｖの履歴を格納している。
【０１５４】
一方、非同期コピーペアＣＰ２「ＶＯＬ１−Ｐ、ＶＯＬ１−Ｒ」のペア状態は「ペア」である。また、非同期コピーの先ボリュームＶＯＬ１−Ｒは、世代番号が１００である３つのホストデータｓ、ｔ、ｕを格納している。第３ビットマップＢＭＣについては、世代番号が「１００」であり、履歴状態が「未確定」である。この第３ビットマップＢＭＣは、ホストデータｓ、ｔ、ｕの履歴を格納している。
【０１５５】
次に、非同期副装置２００Ｒは、非同期コピーによるコピー要求に応じた完了通知を正装置２００Ｐに送信する（図２７：ステップＲ５２５）。正装置２００Ｐが非同期コピーの全ての完了通知を受信すると、正装置２００Ｐと非同期副装置２００Ｒとは、非同期コピーペアＣＰ２を「スプリット」する処理を実行する（Ｐ５２６、Ｒ５２８）。これらのステップＰ５２６、Ｒ５２８は、図１０のステップＰ１３２、Ｒ１３４と、それぞれ同様である。
【０１５６】
次に、管理サーバ１１０Ｐ（管理モジュール１１６Ｐ）は、非同期副装置２００Ｒに対するリシンク指示とスプリット指示とを送信する（Ｍ５３０、Ｍ５３４）。非同期副装置２００Ｒは、これらの指示に従って、非同期コピーの先ボリュームＶＯＬ１−Ｒをバックアップする（Ｒ５３２、Ｒ５３６）。これらのステップＭ５３０、Ｒ５３２、Ｍ５３４、Ｒ５３６は、図１１のステップＭ１３６、Ｒ１３８、Ｍ１４０、Ｒ１４２と、それぞれ同様である。
【０１５７】
図３０は、非同期副装置２００Ｒが、バックアップコピー（リシンク）処理を実行している状態２２を示す説明図である。この状態２２では、非同期コピーペアＣＰ２「ＶＯＬ１−Ｐ、ＶＯＬ１−Ｒ」のペア状態は「スプリット」である。また、第３ビットマップＢＭＣの履歴状態は「確定」である。
【０１５８】
次に、管理サーバ１１０Ｐ（管理モジュール１１６Ｐ）は、正装置２００Ｐにリシンク指示を送信する（Ｍ５３８）。図２７の例では、同期コピーに不具合が生じている。従って、コピーモジュール２３２Ｐは、図２６のステップＳ３２０に従った処理を実行する。具体的には、コピーモジュール２３２Ｐは、クリア指示と未確定設定指示とを送信せずに、リシンク開始通知を非同期副装置２００Ｒに送信する（Ｐ５４０）。続くステップＲ５４２、Ｐ５４４（図２８）は、図１１のＲ１５２、Ｐ１５４と、それぞれ同様である。
【０１５９】
次に、管理サーバ１１０Ｐ（管理モジュール１１６Ｐ）は、新たなサイクルのスプリット指示を正装置２００Ｐに送信する（図２８：Ｍ５５０）。この指示に従って、データ処理システム１０ａは、新たなスプリット処理（Ｐ５５１〜Ｒ５６０）を実行する。これらのステップＰ５５１〜Ｒ５６０は、前回のサイクルにおけるステップＰ５１１〜Ｒ５２８（図２７）と、それぞれ同様である。また、このサイクルでは、正装置２００Ｐは、新たな世代（１０１）の要求ＷＲｖＲ、ＷＲｗＲを非同期副装置２００Ｒに送信する（Ｐ５５４）。非同期副装置２００Ｒは、受信した要求に応じた書き込み処理を実行する（Ｒ５５６）。すると、データ処理システム１０ａの状態は、状態２３となる。
【０１６０】
図３１は、状態２３を示す説明図である。バックアップボリュームＶＯＬ２−Ｒは、世代番号１００のデータｓ、ｔ、ｕを格納している。非同期コピーの元ボリュームＶＯＬ１−Ｒは、世代番号１００のデータｓ、ｔ、ｕに加えて、世代番号１０１のデータｖ、ｗを格納している。第３ビットマップＢＭＣは、クリアされていないので、世代番号１０１の履歴（ｖ、ｗ）に加えて、世代番号１００の履歴（ｓ、ｔ、ｕ）を格納している。なお、図３１の例では、ボリュームＶＯＬ１−Ｐは、新たなデータｘを格納している。このデータｘは、さらに新たな世代（１０２）のデータである。
【０１６１】
非同期コピーペアＣＰ２のスプリットが完了したら、次に、管理サーバ１１０Ｐ（管理モジュール１１６Ｐ）は、非同期副装置２００Ｒに対するリシンク指示とスプリット指示とを送信する（Ｍ５６２、Ｍ５６６）。非同期副装置２００Ｒは、これらの指示に従って、非同期コピーの先ボリュームＶＯＬ１−Ｒをバックアップする（Ｒ５６４、Ｒ５６８）。これらのステップＭ５６２、Ｒ５６４、Ｍ５６６、Ｒ５６８は、図２７のステップＭ５３０、Ｒ５３２、Ｍ５３４、Ｒ５３６と、それぞれ同様である。
【０１６２】
図３２は、非同期副装置２００Ｒが、バックアップコピー（リシンク）処理を実行している状態２４を示す説明図である。この状態２４では、非同期コピーペアＣＰ２「ＶＯＬ１−Ｐ、ＶＯＬ１−Ｒ」のペア状態は「スプリット」である。
【０１６３】
次に、管理サーバ１１０Ｐ（管理モジュール１１６Ｐ）は、新たなサイクルのリシンク指示を正装置２００Ｐに送信する（Ｍ５７０）。正装置２００Ｐと非同期副装置２００Ｒとは、前回にリシンク指示を受信したときの処理（Ｐ５４０、Ｒ５４２、Ｐ５４４）と同様の処理を実行する（Ｐ５７２、Ｒ５７４、Ｐ５７８）。
【０１６４】
次に、正装置２００Ｐは、非同期コピーに基づく書き込み要求を非同期副装置２００Ｒに送信する（Ｐ５８０）。このステップＰ５８０では、世代番号が１０２である要求ＷＲｘＲが送信される。非同期副装置２００Ｒは、この要求ＷＲｘＲに応じた書き込み処理を実行する（Ｒ５８２）。すると、データ処理システム１０ａの状態は、状態２５となる。
【０１６５】
図３３は、状態２５を示す説明図である。この状態２５では、第３ビットマップＢＭＣの世代番号は、同期ビットマップＢＭＡ、ＢＭＢのいずれよりも新しい１０２番である。また、第３ビットマップＢＭＣは、世代番号１００、１０１の履歴（ｓ，ｔ，ｕ，ｖ，ｗ）に加えて、世代番号１０２の履歴（ｘ）を格納している。
【０１６６】
以上説明したように、第３実施例では、同期コピーに不具合が生じた後は、第３ビットマップＢＭＣはクリアされないので、第３ビットマップＢＭＣは、不具合の生じた時点での世代以降の全ての履歴を格納することとなる。
【０１６７】
Ｃ２．副コピー処理：
図３４は、差分ビットマップを選択するための条件を示す説明図である。図２５（Ｂ）に示す実施例との差違は、条件Ｂ４、Ｂ５が追加されている点だけである。正装置２００Ｐ（図７）に不具合が発生した場合には、副コピーモジュール２４０Ｌは、図２４に示す第２実施例と同様に、副コピー処理を実行する。ただし、差分ビットマップを選択は（Ｓ２１０）、図２５（Ｂ）の条件の代わりに、図３４の条件に従って行われる。
【０１６８】
第３実施例では、同期コピーに不具合が生じた場合であっても、正装置２００Ｐと非同期副装置２００Ｒとを用いたデータ処理が継続される。その結果、非同期ビットマップＢＭＣの世代番号が、同期ビットマップＢＭＡ、ＢＭＢのいずれの世代番号よりも新しくなる可能性がある。従って、上述した条件Ｂ１〜Ｂ３のそれぞれには、「同期ビットマップＢＭＡ、ＢＭＢのいずれか一方の世代番号が、非同期ビットマップＢＭＣの世代番号と同じである」との条件が追加されている。ただし、各条件が満たされるデータ処理システム１０ａの状態は、上述の第２実施例と同じである。また、新しい条件Ｂ４、Ｂ５は、同期コピーの不具合が先に生じた場合に起こり得る状態を示している。
【０１６９】
（４）条件Ｂ４：
非同期ビットマップＢＭＣの状態が「確定」であり、かつ、同世代ビットマップの状態が「未確定」である場合には、非同期ビットマップＢＭＣに加えて、同期ビットマップＢＭＡ、ＢＭＢの内の未確定のビットマップが選択される。この条件Ｂ４が満たされる状態としては、例えば、図３０の状態２２がある。この状態２２で正装置２００Ｐに不具合が生じた場合には、３つのビットマップＢＭＡ、ＢＭＢ、ＢＭＣが選択される。そして、３つのビットマップＢＭＡ、ＢＭＢ、ＢＭＣの「ＯＲ」演算によって得られるビットマップが示す更新ブロックのデータが、ボリュームＶＯＬ１−ＬとバックアップボリュームＶＯＬ２−Ｒとの間でコピーされる。なお、この場合には、２つのボリュームのそれぞれは、互いに共有しないデータ（データｔとデータｖ）を格納している。そのために、副コピーモジュール２４０Ｌは、比較的新しいデータを優先する場合であっても、好ましいコピー方向を一意には決定できない。このような場合には、副コピーモジュール２４０Ｌは、ユーザの指示に従ってコピー方向を選択することが好ましい。
【０１７０】
通常は、未確定な同期ビットマップＢＭＡ、ＢＭＢは、非同期副装置２００Ｒの整合ボリュームには格納されていない更新の履歴を含む場合が多い。一方、非同期ビットマップＢＭＣは、同期コピーに不具合が生じた場合には、クリアされずに履歴を格納し続ける。従って、非同期ビットマップＢＭＣは、同期コピーの先ボリュームＶＯＬ１−Ｌには格納されていない更新の履歴を含む可能性がある。従って、条件Ｂ４が成立する場合（上述の３つの条件Ｂ１、Ｂ２、Ｂ３のいずれも成立しない場合）には、同期ビットマップＢＭＡ、ＢＭＢの内の未確定のビットマップと、非同期ビットマップＢＭＣと、が選択されることが好ましい。ここで、副コピーモジュール２４０Ｌは、選択されたビットマップの「ＯＲ」演算によって得られるビットマップを用いて差分データを特定すれば、漏れのない差分データのコピーを実行することができる。なお、図３１に示す状態２３と、図３２に示す状態２４についても同様である。
【０１７１】
（５）条件Ｂ５：
非同期ビットマップＢＭＣの世代番号が、同期ビットマップＢＭＡ、ＢＭＢのいずれの世代番号よりも新しい場合には、非同期ビットマップＢＭＣのみが選択される。この条件Ｂ５が満たされる状態としては、例えば、図３３の状態２５がある。この状態で正装置２００Ｐに不具合が生じた場合には、非同期ビットマップＢＭＣが示す更新ブロックのデータが、バックアップボリュームＶＯＬ２−ＲからボリュームＶＯＬ１−Ｌにコピーされる。
【０１７２】
条件Ｂ５が成立する場合は、同期コピーに不具合が生じた後も、非同期コピーを用いたデータ処理が継続された場合である。このような場合には、非同期副装置２００Ｒの整合ボリュームに最新のデータが格納されている。また、非同期ビットマップＢＭＣは、同期コピーに不具合が生じた時点での世代以降の全ての履歴を格納している。従って、非同期ビットマップＢＭＣを用いることによって、ボリュームＶＯＬ１−Ｌと整合ボリューム（ＶＯＬ２−Ｒ）との間でデータが異なる部分を特定することができる。
【０１７３】
なお、非同期ビットマップＢＭＣは、バックアップボリュームＶＯＬ２−Ｒの代わりに、非同期コピーの先ボリュームＶＯＬ１−Ｒの履歴を格納する。ただし、非同期ビットマップＢＭＣは、バックアップボリュームＶＯＬ２−Ｒに反映済みの更新の履歴を含む。従って、整合ボリュームとして、バックアップボリュームＶＯＬ２−Ｒが選択された場合であっても、非同期ビットマップＢＭＣを用いることによって、漏れのない差分データの特定が可能である。
【０１７４】
以上のように、第３実施例では、副コピーモジュール２４０Ｌは、非同期コピーによる更新履歴を格納する非同期ビットマップＢＭＣを用いることによって、差分データを特定することができる（図３４：条件Ｂ４、Ｂ５）。従って、先に同期コピーに不具合が生じ、その後で正装置２００Ｐに不具合が生じた場合であっても、差分データのみをコピーすることによって、迅速に、副記憶装置２００ＬのボリュームＶＯＬ１−Ｌのデータと、副記憶装置２００Ｒのボリューム（整合ボリューム）のデータと、を一致させることができる。
【０１７５】
Ｄ．第４実施例：
図３５は、第４実施例における正装置２００Ｐが実行する同期コピーの不具合対応処理の手順を示すフローチャートである。上述の第３実施例とは異なり、正装置２００Ｐは、同期コピーに不具合が生じた場合には、管理サーバ１１０Ｐからのスプリットの指示が無くても、自発的に非同期コピーペアＣＰ２のスプリット処理を実行する。書き込み処理の他の手順は、図２６、図２７、図２８に示す例と同じである。また、データ処理システムの構成は、図７に示すデータ処理システム１０ａと同じである。
【０１７６】
コピーモジュール２３２Ｐは、同期コピーに不具合が有るか否かを判断する処理を繰り返し実行する（Ｓ５００）。不具合が有る場合には、次のステップＳ５１０で、非同期コピーペアＣＰ２の状況を確認する。既にペア状態が「スプリット」である場合や、既に「スプリット指示」を受信してスプリットを開始している場合には、コピーモジュール２３２Ｐは、自発的なスプリット処理を実行せずに、通常の処理に戻る。
【０１７７】
次に、コピーモジュール２３２Ｐは、ステップＳ５２０に移行し、自発的にスプリット処理を開始する。この自発的なスプリット処理は、管理サーバ１１０Ｐからの指示に従って実行されるスプリット処理と同じである。世代設定モジュール２３６Ｐは、コピーモジュール２３２Ｐから指示を受け、世代番号を更新する（ステップＳ５２５）。以後、図２６、図２７、図２８と同様の処理が継続して実行される。
【０１７８】
また、コピーモジュール２３２Ｐは、同期コピーが完了できなかったホスト要求をステップＳ５００において検出し、ステップＳ５２０の自発的なスプリットを実行する場合には、このホスト要求を、自発的なスプリットの後の新世代の要求として扱う。
【０１７９】
なお、コピーモジュール２３２Ｐは、自発的なスプリット処理を、不具合によって同期コピーの完了通知を受信できなかったホスト要求に応じたコピー要求を非同期副装置２００Ｒに送信する処理の前に、実行する。これは、非同期副装置２００Ｒが、不具合発生時におけるボリュームのバックアップを確保するためである。その結果、第４実施例では、不具合発生時点からのデータ処理の再開が容易となる。
【０１８０】
Ｅ．第５実施例：
図３６は、第５実施例におけるデータ処理システム１０ｂの構成を示す概略図である。図７に示すデータ処理システム１０ａとの差違は、３点ある。１つ目の差違は、非同期副装置２００Ｒにおいて、履歴作成モジュール２３８Ｒと第３ビットマップＢＭＣとが省略され、この代わりに、状態情報２８０Ｒを格納するボリュームＶＯＬ３−Ｒが設けられている点である。２つ目の差違は、ペア情報２４８Ｒにおける第２コピーペアＣＰ２に関する情報が省略されている点である。３つ目の差違は、副コピー処理で用いられる条件が、図２５（Ａ）（Ｂ）に示す例と異なっている点である。他の構成は、図７のデータ処理システム１０ａと同じである。また、データ処理システム１０ｂによるデータ書き込み処理の手順は、以下の点を除いて、図１０、図１１に示す手順と同様である。すなわち、第５実施例では、非同期ビットマップＢＭＣの設定に関する処理と、ペア情報２４８Ｒの非同期コピーペアＣＰ２の設定に関する処理とが省略されている。この代わりに、状態情報２８０Ｒの書き込み処理が追加されている。
【０１８１】
Ｅ１．データ書き込み処理：
図３７は、状態情報２８０Ｒの書き込み処理の手順を示すシーケンス図である。このシーケンス図は、データ処理システム１０ｂによるデータ書き込み処理の一部分を示しており、非同期コピーが完了した後に続く処理を示している。コピーモジュール２３２Ｐは、非同期コピーの全てのコピー要求の完了通知を受信した後に、ペア情報２４８Ｐにおける非同期コピーペアＣＰ２のペア状態を「スプリット」に設定する（Ｐ６００）。このステップＰ６００は、図１０のステップＰ１３２と同じである（ただし、完了通知は送信されない）。次に、コピーモジュール２３２Ｐは、ボリュームＶＯＬ３−Ｒに対する書き込み要求を非同期副装置２００Ｒに送信する（Ｐ６０２）。書き込みデータは、「確定」を示すデータである。「確定」の意味については後述する。非同期副装置２００Ｒの読み書きモジュール２３５Ｒは、受信した要求に応じて、要求されたデータをＶＯＬ３−Ｒに書き込む（Ｒ６０４）。ここで書き込まれたデータが、状態情報２８０Ｒに相当する。以後、データ処理システム１０ｂは、管理サーバ１１０Ｐが正装置２００Ｐに非同期コピーペアＣＰ２のリシンク指示を送信するまで（例えば、図１１：Ｍ１４４）、図１０、図１１と同様の処理を実行する。
【０１８２】
図３８は、状態情報２８０Ｒの書き込み処理の手順を示すシーケンス図である。このシーケンス図は、データ処理システム１０ｂによるデータ書き込み処理の一部分を示しており、非同期コピーペアＣＰ２のリシンク処理の実行に先立って実行される処理を示している。まず、コピーモジュール２３２Ｐは、管理サーバ１１０Ｐからリシンク指示を受信する（Ｐ６１０）。次に、コピーモジュール２３２Ｐは、リシンク処理を実行する前に、ボリュームＶＯＬ３−Ｒに対する書き込み要求を非同期副装置２００Ｒに送信する（Ｐ６１２）。要求される書き込みデータは、「未確定」を示すデータである。「未確定」の意味については後述する。状態情報２８０Ｒは、このデータによって更新される。次に、コピーモジュール２３２Ｐは、状態情報２８０Ｒの書き込み要求の完了通知（図示せず）を読み書きモジュール２３５Ｒから受信したことに応じて、リシンク処理を実行する（Ｐ６１６）。このステップＰ６１６は、図１１のステップＰ１５４と同じである。以後、データ処理システム１０ｂは、管理サーバ１１０Ｐが正装置２００Ｐにスプリット指示を送信するまで（例えば、図１０：Ｍ１０８）、図１０、図１１と同様の処理を実行する。
【０１８３】
以上のように、第５実施例では、非同期コピーペアＣＰ２のペア状態に応じて、状態情報２８０Ｒは「確定」と「未確定」とを交互に示すこととなる。ここで、１つの世代に関する非同期コピーが完了し、次の世代の非同期コピーが開始されるまでの間は、状態情報２８０Ｒは「確定」となる。すなわち、状態情報２８０Ｒが「確定」であることは、非同期コピーの先ボリュームＶＯＬ１−Ｒがホスト整合性を有していることを意味している。一方、状態情報２８０Ｒが「未確定」であることは、先ボリュームＶＯＬ１−Ｒがホスト整合性を有していない可能性があることを意味する。なお、この場合には、通常は、バックアップボリュームＶＯＬ２−Ｒがホスト整合性を有している。
【０１８４】
図３９は、状態情報２８０Ｒの書き込み処理の手順を示すシーケンス図である。このシーケンス図は、データ処理システム１０ｂによるデータ書き込み処理の一部分を示しており、同期コピーに不具合が生じた場合に実行される処理を示している。同期コピーに不具合が生じると、コピーモジュール２３２Ｐは、同期コピーの完了通知を受信できなかったホスト要求に応じたコピー要求を非同期副装置２００Ｒに送信することとなる。コピーモジュール２３２Ｐは、このようなコピー要求を非同期副装置２００Ｒに送信する前に、「全コピー」を示すデータの書き込み要求を非同期副装置２００Ｒに送信する（Ｐ６２０）。「全コピー」の意味については後述する。読み書きモジュール２３５Ｒは、受信した要求に応じて、要求されたデータをＶＯＬ３−Ｒに書き込む（Ｒ６２２）。なお、状態情報２８０Ｒは、「確定／未確定」を示すデータに加えて、「全コピー」を示すデータを含むこととなる。
【０１８５】
次に、コピーモジュール２３２Ｐは、状態情報２８０Ｒの書き込み要求の完了通知（図示せず）を読み書きモジュール２３５Ｒから受信したことに応じて、非同期コピーに応じたコピー（書き込み）要求を非同期副装置２００Ｒに送信する（Ｐ６２４）。このコピー要求には、同期コピーがされなかったホストデータのコピー要求が含まれている。なお、このステップＰ６２４は、図１０のステップＰ１２８や図１１のステップＰ１５６と同様に行われる。以後、データ処理システム１０ｂは、図１０、図１１の例と同様に、データの書き込み処理を継続する。
【０１８６】
Ｅ２．副コピー処理：
第５実施例では、正装置２００Ｐに不具合が生じた場合には、副コピーモジュール２４０Ｌは、図２４に示す手順に従って副コピー処理を実行する。図４０（Ａ）は、整合ボリュームを選択するための条件を示している。図２５（Ａ）に示す条件との差違は、第２コピーペアＣＰ２のペア状態の代わりに、状態情報２８０Ｒが用いられている点である。上述したように、状態情報２８０Ｒが「確定」を示す場合（条件Ｖ１１）には、ボリュームＶＯＬ１−Ｒがホスト整合性を有しているので、ボリュームＶＯＬ１−Ｒが選択される。一方、状態情報２８０Ｒが「未確定」を示し、かつ、バックアップコピーペアＢＣＰのペア状態が「スプリット」である場合には（条件Ｖ１２）、バックアップボリュームＶＯＬ２−Ｒが選択される。なお、通常は、状態情報２８０Ｒが「未確定」を示す場合には、バックアップコピーペアＢＣＰのペア状態は「スプリット」である。また、副コピーモジュール２４０Ｌは、読み書きモジュール２３５Ｒとの通信によって、状態情報２８０Ｒを取得可能である。
【０１８７】
図４０（Ｂ）は、差分ビットマップを選択するための条件を示している。図２５（Ｂ）に示す条件との差違は、この条件が状態情報２８０Ｒを用いて定められている点である。
【０１８８】
（１）条件Ｂ１１：
状態情報２８０Ｒが「全コピー」を示している場合には、副コピーモジュール２４０Ｌは、差分コピーの代わりに、一方のボリュームの全体を他方のボリュームへコピーする。この場合には、非同期コピーの先ボリュームＶＯＬ１−Ｒが、同期コピーの先ボリュームＶＯＬ１−Ｌに格納されていないデータを格納している。ただし、第５実施例では、非同期ビットマップＢＭＣが省略されているので、この差分データの特定ができない。そこで、副コピーモジュール２４０Ｌは、ボリュームの全体のコピーを実行する。
【０１８９】
（２）条件Ｂ１２：
状態情報２８０Ｒが「全コピー」を示さず、かつ「確定」を示す場合には、ＢＭＢのうちの一方の未確定ビットマップのみが選択される。この条件Ｂ１２が満たされる場合には、通常は、２つの同期ビットマップＢＭＡ、ＢＭＢのうち、整合ボリュームＶＯＬ１−Ｒと同世代のビットマップは確定している。一方、他方の同期ビットマップは、未確定であり、さらに、整合ボリュームＶＯＬ１−Ｒよりも１つだけ新しい世代の履歴を格納している。従って、副コピーモジュール２４０Ｌは、この未確定の同期ビットマップを用いることによって、差分データを特定することが可能である。
【０１９０】
（３）条件Ｂ１３：
状態情報２８０Ｒが「全コピー」を示さず、かつ「未確定」を示す場合には、両方の同期ビットマップＢＭＡ、ＢＭＢが選択される。この条件Ｂ１３が満たされる場合には、通常は、図２５（Ｂ）に示す条件Ｂ２と同様に、両方の同期ビットマップＢＭＡ、ＢＭＢの世代は、整合ボリューム（バックアップボリュームＶＯＬ２−Ｒ）の世代よりも新しい。従って、副コピーモジュール２４０Ｌは、２つのビットマップＢＭＡ、ＢＭＢの「ＯＲ」演算によって得られるビットマップを用いて、差分データを特定することができる。
【０１９１】
以上のように、第５実施例では、図７に示す例とは異なり、第３ビットマップＢＭＣが省略されている。さらに、非同期コピーの先ボリュームＶＯＬ１−Ｒの状態に関する情報を非同期副装置２００Ｒに格納するために、コピーモジュール２３２Ｐは、種々の指示（例えば、図１１のステップＰ１５０のペア状態を設定する旨の通知）の代わりに、単純なデータ（状態情報２８０Ｒ）を含む書き込み要求を、非同期副装置２００Ｒに送信する。従って、非同期副装置２００Ｒの機能の簡素化を図りつつ、ホスト整合性を有するボリュームを用いた副コピー処理が可能となる。
【０１９２】
Ｆ．第６実施例：
図４１は、第６実施例におけるデータ処理システム１０ｃの構成を示す説明図である。上述の各実施例との差違は、コンシステンシグループＣＧ１、ＣＧ２が設定されている点である。ここで、コンシステンシグループとは、共通の世代に基づいてデータ書き込み処理の制御が行われる複数のコピーペアのグループである。本実施例では、１つのコンシステンシグループに含まれる複数のコピーペアに関しては、スプリット状態への移行が同時に行われる。換言すれば、これら複数のコピーペアに関しては、世代の切り替えが同時に行われる。また、１つのコンシステンシグループの複数のコピーペアに対しては、共通の世代番号が用いられる。
【０１９３】
管理サーバ１１０Ｐのメモリ１１４Ｐは、管理モジュール１１６ａＰとコンシステンシグループ情報１１８とを格納している。コンシステンシグループ情報１１８は、非同期コピーの元ボリュームの識別子と、グループ番号と、の対応関係を定めている。図４１の例では、２つのボリュームＶＯＬ１０−Ｐ、ＶＯＬ１１−Ｐ（２つの非同期コピーペアＡＣＰ１０、ＡＣＰ１１）が、第１グループＣＧ１を構成し、３つのボリュームＶＯＬ１２−Ｐ、ＶＯＬ１３−Ｐ、ＶＯＬ１４−Ｐ（３つの非同期コピーペアＡＣＰ１２、ＡＣＰ１３、ＡＣＰ１４）が、第２グループＣＧ２を構成している。なお、各コピーペアＡＣＰ１０〜ＡＣＰ１１を構成する複数の元ボリュームＶＯＬ１０−Ｐ〜ＶＯＬ１４−Ｐは、互いに異なる識別子によって特定されている。複数の先ボリュームＶＯＬ２０−Ｒ〜ＶＯＬ２４−Ｒについても同様である。また、データ処理システム１０ｃの他の構成は、上述の各実施例（例えば、図７のデータ処理システム１０ａや図３６のデータ処理システム１０ｂ）と同じである（図示省略）。
【０１９４】
図４２は、データ書き込み処理の比較例を示すシーケンス図である。このシーケンス図は、データ処理システム１０ｃによるデータ書き込み処理の一部分を示しており、２つの非同期コピーペアＡＣＰ１０、ＡＣＰ１１のスプリットが実行される部分を示している。この比較例では、２つの非同期コピーペアＡＣＰ１０、ＡＣＰ１１のスプリットが、異なるタイミングで実行されることとしている。なお、スプリット以外の処理は、上述の各実施例（例えば、図１０、図１１、や、図２６、図２７、図２８の例）と同じである。また、ボリュームの世代が、このスプリットによって「１００」から「１０１」に切り替えられることとしている。
【０１９５】
図４２の例では、正装置２００Ｐは、４つのホスト要求ＷＲｈ〜ＷＲｋを、この順番に受信し、各要求に応じた非同期コピー要求ＷＲｈＲ〜ＷＲｋＲを非同期副装置２００Ｒに送信する（Ｐ２００、Ｐ２０２、Ｐ２０４、Ｐ２０６）。非同期副装置２００Ｒは、要求に応じた書き込み処理を実行する（Ｒ２０１、Ｒ２０３、Ｒ２０５、Ｒ２０７）。
【０１９６】
ここで、先の２つのコピー要求ＷＲｈＲ、ＷＲｉＲの対象はボリュームＶＯＬ２０−Ｒ（非同期コピーペアＡＣＰ１０）であり、後の２つのコピー要求ＷＲｊＲ、ＷＲｋＲの対象は、ボリュームＶＯＬ２１−Ｒ（非同期コピーペアＡＣＰ１１）である。対象ボリュームが異なる理由は、先の２つのホスト要求ＷＲｈ、ＷＲｉの対象が、ボリュームＶＯＬ１０−Ｐ（図４１）であり、後の２つのホスト要求ＷＲｊ、ＷＲｋの対象が、ボリュームＶＯＬ１１−Ｐであるからである。また、これらのホスト要求ＷＲｈ〜ＷＲｋの書き込み順序の入れ替わりは許容されていないこととしている。このように、異なるボリュームを対象とする複数のホスト要求の書き込み順序の入れ替わりが許容されない場合としては、例えば、１つのデータベースが複数のボリュームに分割して格納されている場合や、１つのデータファイルが複数のボリュームに分割して格納されている場合がある。
【０１９７】
管理モジュール１１６ａＰ（図４１）は、コンシステンシグループ情報１１８を参照し、第１コンシステンシグループＣＧ１に含まれる全ての非同期コピーペア（ＡＣＰ１０、ＡＣＰ１１）のスプリット指示を正装置２００Ｐに送信する。ただし、この比較例では、各コピーペアのスプリット指示が互いに異なるタイミングで送信されている（Ｍ２１０、Ｍ２１２）。正装置２００Ｐは、非同期コピーペアＡＣＰ１０のスプリットを、ステップＰ２００、Ｐ２０２の間に実行している（Ｐ２１０）。さらに、正装置２００Ｐは、非同期コピーペアＡＣＰ１１のスプリットを、ステップＰ２０４、Ｐ２０６の間に実行している（Ｐ２１２）。これらのスプリットによって、世代が「１００」から「１０１」に切り替えられる。図４２の書き込み処理（Ｒ２０１、Ｒ２０３、Ｒ２０５、Ｒ２０７）に付された括弧内の数字は世代番号を示す。
【０１９８】
ここで、正装置２００Ｐに不具合が生じ、非同期副装置２００Ｒを用いることによってデータ処理が再開されるとする。ところが、世代番号「１００」の全ての要求が反映された２つのボリュームＶＯＬ２０−Ｒ、ＶＯＬ２１−Ｒ（あるいは、これらのバックアップボリューム）には、先のホストデータｉが格納されずに後のホストデータｊが格納されている。すなわち、これらのボリュームＶＯＬ２０−Ｒ、ＶＯＬ２１−Ｒ（あるいは、バックアップボリューム）の全体は、ホスト整合性を有さないこととなる。その結果、非同期副装置２００Ｒを用いたデータ処理の再開に不具合が生じる。
【０１９９】
図４３は、第６実施例におけるデータ書き込み処理を示すシーケンス図である。図４２の比較例との差違は、２つの非同期コピーペアＡＣＰ１０、ＡＣＰ１１のスプリットが、同じタイミングで実行される点だけである。各コピーペアＡＣＰ１０、ＡＣＰ１１に対して実行されるデータ書き込み処理は、スプリットのタイミング以外の部分については、上述の各実施例（例えば、図１０、図１１、や、図２６、図２７、図２８の例）と同じである。管理モジュール１１６ａＰ（図４１）は、第１コンシステンシグループＣＧ１（２つの非同期コピーペアＡＣＰ１０、ＡＣＰ１１）のスプリットを同時に実行する旨の指示を正装置２００Ｐに送信する（Ｍ２２０）。正装置２００Ｐは、指示に従って、同時にスプリットを実行する（Ｐ２２０）。図４３の例では、正装置２００Ｐは、スプリットを、ステップＰ２０４、Ｐ２０６の間に実行している。その結果、世代番号「１００」の全ての要求が反映された２つのボリュームＶＯＬ２０−Ｒ、ＶＯＬ２１−Ｒ（あるいは、これらのバックアップボリューム）は、ホストデータｈ、ｉ、ｊを格納する。これらのボリュームＶＯＬ２０−Ｒ、ＶＯＬ２１−Ｒ（あるいは、これらのバックアップボリューム）の全体は、ホスト整合性を有している。これは、他のタイミングでスプリットが行われた場合も同様である。また、各ホスト要求の対象ボリュームが、図４３の例とは異なる場合も同様である。
【０２００】
以上のように、第５実施例では、管理モジュール１１６ａＰは、１つのコンシステンシグループに含まれる複数のコピーペアに対して、同時にスプリットをする旨の指示を正装置２００Ｐに送信する。正装置２００Ｐは、この指示に従って、これらの複数のコピーペアのスプリット（世代の更新）を同じタイミングで実行する。その結果、書き込み順序の入れ替わりが許容されない複数のホストデータが、複数のボリュームに分けて格納される場合であっても、スプリット後のボリュームの全体や、バックアップボリュームの全体において、ホストデータの書き込み順序が世代を超えて入れ替わることを防止できる。これは、１つのコンシステンシグループに含まれるコピーペアの数が３以上である場合も同様である。
【０２０１】
Ｇ．第７実施例：
図４４は、第７実施例におけるデータ処理システム１０ｄの構成を示す説明図である。図４１に示すデータ処理システム１０ｃとの差違は、１つのコンシステンシグループの複数の非同期コピーペアが、複数の正装置２００Ｐと非同期副装置２００Ｒに分けて設けられている点である。このデータ処理システム１０ｄは、複数の正装置２００ａＰ〜２００ｃＰと複数の非同期副装置２００ａＲ〜２００ｃＲとを有している。第１コンシステンシグループＣＧ１に関しては、第１非同期コピーペアＡＣＰ１０が第１正装置２００ａＰと第１非同期副装置２００ａＲとを用いて形成され、第２非同期コピーペアＡＣＰ１１が第２正装置２００ｂＰと第２非同期副装置２００ｂＲとを用いて形成されている。第２コンシステンシグループＣＧ２についても、同様に、非同期コピーペアＡＣＰ１２が第２正装置２００ｂＰと第２非同期副装置２００ｂＲとを用いて形成され、非同期コピーペアＡＣＰ１３、ＡＣＰ１４が第３正装置２００ｃＰと第３非同期副装置２００ｃＲとを用いて形成されている。なお、各正装置２００ａＰ〜２００ｃＰの構成は、図７に示す正装置２００Ｐの構成と同じであり、各非同期副装置２００ａＲ〜２００ｃＲの構成は、図７に示す非同期副装置２００Ｒの構成と同じである。データ処理システム１０ｄの他の構成は、図７のデータ処理システム１０ａと同じである（図示省略）。
【０２０２】
図４５は、データ書き込み処理の比較例を示すシーケンス図である。このシーケンス図は、データ処理システム１０ｄによるデータの書き込み処理の一部分を示しており、２つの非同期コピーペアＡＣＰ１０、ＡＣＰ１１のスプリットが実行される部分を示している。なお、各コピーペアＡＣＰ１０、ＡＣＰ１１に対して実行されるデータ書き込み処理は、図１０、図１１の例と同じである。また、ボリュームの世代が、このスプリットによって「１００」から「１０１」に切り替えられることとしている。
【０２０３】
正ホスト１００Ｐは、図４２の例と同じ４つのホスト要求ＷＲｈ〜ＷＲｋを、この順番に送信する（Ｈ３００、Ｈ３１０、Ｈ３２０、Ｈ３３０）。ただし、先の２つの要求ＷＲｈ、ＷＲｉの送信先は第１正装置２００ａＰであり、後の２つの要求ＷＲｊ、ＷＲｋの送信先は第２正装置２００ｂＰである。各正装置２００ａＰ、２００ｂＰは、受信した要求に応じて、書き込み処理を実行し（Ｐａ３０２、Ｐａ３１２、Ｐｂ３２２、Ｐｂ３３２）、完了通知を正ホスト１００Ｐに送信する（Ｐａ３０４、Ｐａ３１４、Ｐｂ３２４、Ｐｂ３３４）。
【０２０４】
管理モジュール１１６ｂＰ（図４４）は２つの正装置２００ａＰ、２００ｂＰ（制御装置２１０ａＰ、２１０ｂＰ）に同時にスプリット指示を送信している（Ｍ３４０）。ただし、各正装置２００ａＰ、２００ｂＰは、互いに異なるタイミングでスプリット指示を受信している。これは、管理サーバ１１０Ｐとの通信経路が、各正装置２００ａＰ、２００ｂＰ毎に異なっているからである。その結果、各非同期コピーペアＡＣＰ１０、ＡＣＰ１１のスプリットが、互いに異なるタイミングで実行される。図４５の例では、第１正装置２００ａＰは、ステップＰａ３０４、Ｐａ３１２の間にスプリットを実行する。一方、第２正装置２００ｂＰは、ステップＰｂ３２４、Ｐｂ３３２の間にスプリットを実行する。図４５の書き込み処理（Ｐａ３０２、Ｐａ３１２、Ｐｂ３２２、Ｐｂ３３２）に付された括弧内の数字は世代番号を示す。
【０２０５】
ここで、非同期副装置２００Ｒを用いることによってデータ処理が再開されるとする。ところが、図４２の比較例と同様に、２つのボリュームＶＯＬ２０−Ｒ、ＶＯＬ２１−Ｒ（あるいは、バックアップボリューム）の全体は、ホスト整合性を有さないので、非同期副装置２００Ｒを用いたデータ処理の再開に不具合が生じる。
【０２０６】
図４６は、第７実施例におけるデータ書き込み処理を示すシーケンス図である。図４５の比較例との差違は、管理モジュール１１６ｂＰ（図４４）が、正ホスト１００Ｐによるデータ更新が保留されている間に、２つの正装置２００ａＰ、２００ｂＰにスプリット指示を送信している点である。４つのホスト要求ＷＲｈ〜ＷＲｋは、図４５の例と同じである。具体的には、まず、管理サーバ１１０Ｐ（管理モジュール１１６ｂＰ）は、スプリット指示の送信前に、新規のデータ更新を保留する指示を正ホスト１００Ｐに送信する（Ｍ３５０）。すると、正ホスト１００Ｐは、全ての送信済みのホスト要求の完了通知を正装置２００Ｐから受信した後に、保留完了通知を管理サーバ１１０Ｐに送信する（Ｈ３５２）。図４６の例では、正ホスト１００Ｐは、ホスト要求ＷＲｈの送信（Ｈ３００）の後に保留指示を受信している。従って、正ホスト１００Ｐは、この要求ＷＲｈの完了通知Ｃｈを受信した後に、保留完了通知を管理サーバ１１０Ｐに送信する（Ｈ３５２）。以後、正ホスト１００Ｐは、新規のホスト要求の送信を保留する。
【０２０７】
次に、管理サーバ１１０Ｐ（管理モジュール１１６ｂＰ）は、正ホスト１００Ｐから保留完了通知を受信したことに応じて、２つの正装置２００ａＰ、２００ｂＰにスプリット指示を送信する（Ｍ３５４）。すると、各正装置２００ａＰ、２００ｂＰは、それぞれ、指示に従ってスプリットを実行し、スプリットの完了通知を管理サーバ１１０Ｐに送信する（Ｐａ３５６、Ｐｂ３５８）。各正装置２００ａＰ、２００ｂＰのコピーモジュール２３２Ｐは、これらの完了通知を、世代の更新と、更新前の世代の非同期コピーの全てのコピー要求の完了通知の受領と、に応じて、それぞれ送信する。
【０２０８】
管理サーバ１１０Ｐは、２つの正装置２００ａＰ、２００ｂＰからのスプリット完了通知を受信したことに応じて、新規のデータ更新を再開する指示を正ホスト１００Ｐに送信する（Ｍ３６０）。正ホスト１００Ｐは、この指示を受信したことに応じて、次のホスト要求ＷＲｉを送信する（Ｈ３１０）。以後、データ処理システム１０ｄは、各ホスト要求ＷＲｉ、ＷＲｊ、ＷＲｋに応じた処理を実行する（要求ＷＲｊ、ＷＲｋについては、図示省略）。
【０２０９】
以上のように、第７実施例では、管理モジュール１１６ｂＰは、正ホスト１００Ｐに新規のデータ更新を保留する指示を送信する。そして、管理モジュール１１６ｂＰは、正ホスト１００Ｐがデータ更新を保留している間に、１つのコンシステンシグループに含まれる全てのコピーペアに対するスプリット指示を、各コピーペアのペア状態を制御する全ての正記憶装置（２００ａＰ、２００ｂＰ。具体的には、全ての制御装置（２１０ａＰ、２１０ｂＰ））に送信する。その結果、書き込み順序の入れ替わりが許容されない複数のホストデータが、互いに異なる制御装置にペア状態が管理される複数のボリュームに分けて格納される場合であっても、スプリット後のボリュームの全体や、バックアップボリュームの全体において、ホストデータの書き込み順序が世代を超えて入れ替わることを防止できる。これは、１つのコンシステンシグループに含まれる複数のコピーペアの各ペア状態を制御する正記憶装置（制御装置）の数が３以上である場合も同様である。また、この実施例の態様は、図２６、図２７、図２８の例や、図３５の例や、図３６の例にも適用可能である。
【０２１０】
Ｈ．第８実施例：
図４７は、第８実施例におけるデータ処理システム１０ｅの構成を示す説明図である。図４４に示すデータ処理システム１０ｄとの差違は、管理モジュール１１６ｃＰが、更新保留指示を、正ホスト１００Ｐの代わりに、各正装置２００Ｐに送信する点だけである。他の構成は、図４４に示すデータ処理システム１０ｄと同じである。
【０２１１】
図４８は、第８実施例におけるデータ書き込み処理を示すシーケンス図である。図４６に示す例との差違は、管理サーバ１１０Ｐ（図４７：管理モジュール１１６ｃＰ）が、各正装置２００ａＰ、２００ｂＰによるデータ更新が保留されている間に、各正装置２００ａＰ、２００ｂＰにスプリット指示を送信している点である。４つのホスト要求ＷＲｈ〜ＷＲｋ（Ｈ３００〜Ｈ３３０）と、これらの要求に応じた各正装置２００ａＰ、２００ｂＰの処理（Ｐａ３０２〜Ｐａ３１４、Ｐｂ３２２〜Ｐｂ３３４）とは、図４５、図４６の例と同じである。
【０２１２】
まず、管理サーバ１１０Ｐ（管理モジュール１１６ｃＰ）は、新規のデータ更新を保留する指示を２つの正装置２００ａＰ、２００ｂＰに送信する（Ｍ３７０）。各正装置２００ａＰ、２００ｂＰは、全ての受信済みのホスト要求の完了通知の発行後に、保留完了通知を管理サーバ１１０Ｐに送信する（Ｐａ３７２、Ｐｂ３７４）。図４８の例では、第１正装置２００ａＰは、ホスト要求ＷＲｈの受信（Ｐａ３０２）の後に保留指示を受信している。従って、第１正装置２００ａＰは、この要求ＷＲｈの完了通知Ｃｈの送信（Ｐａ３０４）の後に、保留完了通知を管理サーバ１１０Ｐに送信する（Ｐａ３７２）。以後、各正装置２００ａＰ、２００ｂＰは、新規のホスト要求を受信しても、書き込み処理を実行せずに保留する。例えば、図４８の例では、第１正装置２００ａＰは、保留完了通知送信（Ｐａ３７２）の後に、ホスト要求ＷＲｉを受信している。しかし、第１正装置２００ａＰは、この要求に応じた処理を後で実行する（後述）。
【０２１３】
次に、管理サーバ１１０Ｐ（管理モジュール１１６ｃＰ）は、各正装置２００ａＰ、２００ｂＰから保留完了通知を受信したことに応じて、各正装置２００ａＰ、２００ｂＰにスプリット指示を送信する（Ｍ３８０）。すると、各正装置２００ａＰ、２００ｂＰは、図４６の例と同様に、それぞれ、指示に従ってスプリットを実行し、スプリットの完了通知を管理サーバ１１０Ｐに送信する（Ｐａ３８２、Ｐｂ３８４）。管理サーバ１１０Ｐは、２つの正装置２００ａＰ、２００ｂＰからのスプリット完了通知を受信したことに応じて、新規のデータ更新を再開する指示を各正装置２００ａＰ、２００ｂＰに送信する（Ｍ３９０）。各正装置２００ａＰ、２００ｂＰは、この指示を受信したことに応じて、新規ホスト要求に応じた処理の実行を開始する。例えば、図４８の例では、第１正装置２００ａＰは、保留された要求ＷＲｉに応じた書き込み処理を、再開指示を受信したことに応じて、実行する（Ｐａ３１２）。以後、データ処理システム１０ｅは、要求ＷＲｊ、ＷＲｋに応じた処理を実行する。
【０２１４】
以上のように、第８実施例では、管理モジュール１１６ｃＰは、１つのコンシステンシグループに含まれる複数のコピーペアのそれぞれのペア状態を制御する全ての正記憶装置（２００ａＰ、２００ｂＰ。具体的には、全ての制御装置（２１０ａＰ、２１０ｂＰ））に、新規のデータ更新を保留する指示を送信する。そして、管理モジュール１１６ｃＰは、これら全ての正装置２００Ｐがデータ更新を保留している間に、１つのコンシステンシグループに含まれる全てのコピーペアに対するスプリット指示を、これら全ての正記憶装置に送信する。その結果、書き込み順序の入れ替わりが許容されない複数のホストデータが、互いに異なる制御装置にペア状態が管理される複数のボリュームに分けて格納される場合であっても、スプリット後のボリュームの全体や、バックアップボリュームの全体において、ホストデータの書き込み順序が世代を超えて入れ替わることを防止できる。これは、１つのコンシステンシグループに含まれる複数のコピーペアの各ペア状態を制御する正記憶装置（制御装置）の数が３以上である場合も同様である。また、この実施例の態様は、図２６、図２７、図２８の例や、図３５の例や、図３６の例にも適用可能である。
【０２１５】
Ｉ．変形例：
なお、上記各実施例における構成要素の中の、独立クレームでクレームされた要素以外の要素は、付加的な要素であり、適宜省略可能である。また、この発明は上記の実施例や実施形態に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能であり、例えば次のような変形も可能である。
【０２１６】
変形例１：
上記各実施例において、副コピー処理で用いられるビットマップの選択条件としては、種々の条件を採用可能である。例えば、図２５（Ｂ）に示す条件の代わりに、２つの同期ビットマップＢＭＡ、ＢＭＢの内の整合ボリュームの世代よりも新しい世代のビットマップを差分ビットマップとして選択する任意の条件を採用可能である。なお、図２５（Ｂ）の例では、このような差分ビットマップが、非同期ビットマップＢＭＣの世代に基づいて選択される。従って、非同期ビットマップＢＭＣの世代が、本発明における「バックアップ世代情報」に相当する。
【０２１７】
ここで、副コピーモジュール２４０Ｌ（図７）が、バックアップモジュール２４２ＲからバックアップボリュームＶＯＬ２−Ｒの世代を取得することとしてもよい。バックアップモジュール２４２ＲがバックアップボリュームＶＯＬ２−Ｒの世代を特定する方法としては、種々の方法を採用可能である。例えば、非同期ビットマップＢＭＣの世代とバックアップ処理の進行状況とに基づいて特定する方法を採用可能である。具体的には、非同期ビットマップＢＭＣに記録された更新が、バックアップ処理によってバックアップボリュームＶＯＬ２−Ｒに反映される前は、バックアップボリュームＶＯＬ２−Ｒの世代は、非同期ビットマップＢＭＣの世代よりも１つ前の世代である。一方、反映後には、バックアップボリュームＶＯＬ２−Ｒの世代は、非同期ビットマップＢＭＣの世代と同じとなる。また、正装置２００Ｐが、図１２に示すコピー（書き込み）要求と同様に、世代番号ＧＮｏが付加されたコピー要求を非同期副装置２００Ｒに送信することとしてもよい。こうすれば、バックアップモジュール２４２Ｒは、コピー要求に含まれる世代番号ＧＮｏとバックアップ処理の進行状況とに基づく特定を実行可能である。
【０２１８】
変形例２：
図２５（Ａ）に示す条件において、非同期コピーペアＣＰ２（ＶＯＬ１−Ｒ）のペア状態が「スプリット」であることは、副コピー処理の実行時点が、旧世代の全ての非同期コピー要求の完了通知の発行後から新たな世代の非同期コピー要求の送信開始までの間であることを表す第１タイミング条件が成立していることを意味している。また、バックアップコピーペアＢＣＰ（ＶＯＬ２−Ｒ）のペア状態が「スプリット」であることは、副コピー処理の実行時点が、バックアップの完了通知の発行後から新たなバックアップ処理の開始までの間であることを表す第２タイミング条件が成立していることを意味している。このように、非同期コピーペアＣＰ２のペア状態とバックアップコピーペアＢＣＰのペア状態とは「タイミング条件情報」に相当する。ただし、上記各実施例では、通常は、非同期コピーペアＣＰ２（ＶＯＬ１−Ｒ）のペア状態が「非スプリット」である場合には、バックアップコピーペアＢＣＰ（ＶＯＬ２−Ｒ）のペア状態が「スプリット」である。従って、副コピーモジュール２４０Ｌは、バックアップコピーペアＢＣＰのペア状態を用いずに、非同期コピーペアＣＰ２のペア状態が「非スプリット」であることに応じて、第２タイミング条件が成立していると判断可能である。
【０２１９】
また、図４０（Ａ）に示す条件において、状態情報２８０Ｒが「確定」を示すことは、副コピー処理の実行時点が、旧世代の全ての非同期コピー要求の完了通知の発行後から新たな世代の非同期コピー要求の送信開始までの間であることを表す第１タイミング条件が成立していることを意味している。また、上記各実施例では、通常は、状態情報２８０Ｒが「確定」を示していない場合、すなわち、状態情報２８０Ｒが「未確定」を示す場合には、バックアップコピーペアＢＣＰのペア状態は「スプリット」である。従って、副コピーモジュール２４０Ｌは、バックアップコピーペアＢＣＰ（ＶＯＬ２−Ｒ）のペア状態を用いずに、状態情報２８０Ｒが「未確定」であることに応じて、第２タイミング条件が成立していると判断可能である。
【０２２０】
変形例３：
図４１、図４４、図４７に示す実施例において、同期コピーの先ボリュームの構成としては、種々の構成を採用可能である。例えば、各元ボリュームＶＯＬ１０−Ｐ〜ＶＯＬ１４−Ｐのそれぞれに対応付けられた複数の同期コピーの先ボリューム（図示せず）が、１台の同期副装置２００Ｌに設けられていてもよい。この代わりに、複数の先ボリュームが、複数の記憶装置に分けて設けられていてもよい。いずれの場合も、複数の先ボリュームのそれぞれは、互いに異なる識別子（装置識別子とボリューム識別子）によって特定されることが好ましい。非同期コピーの先ボリュームの構成についても、同様である。
【０２２１】
変形例４：
上記各実施例において、いずれかの記憶装置２００の動作状況に応じて他の記憶装置２００に指示を送信する装置としては、管理サーバ１１０Ｐに限らず、種々の装置を採用可能である。例えば、各記憶装置２００が、互いに、自己の動作状況に応じて他の記憶装置２００に指示を送信することとしてもよい。具体的には、正装置２００Ｐが、非同期コピーに基づく全ての旧世代のコピー要求の完了通知を非同期副装置２００Ｒから受信したことに応じて（例えば、図１０：Ｒ１３１）、非同期副装置２００Ｒにリシンク（バックアップ）の指示（図１１：Ｍ１３６）を送信することとしてもよい。また、非同期副装置２００Ｒが、バックアップ処理（図１１：Ｒ１３８）の完了に応じて、正装置２００Ｐにリシンク指示（図１１：Ｍ１４４）を送信することとしてもよい。また、いずれかの記憶装置２００の制御装置２１０が、管理サーバ１１０Ｐの機能を有することとしてもよい。
【０２２２】
変形例５：
上記各実施例において、同期副装置２００Ｌ（例えば、履歴作成モジュール２３８Ｌ。図７）が、ある世代の全ての同期コピー要求の完了通知が発行されたか否かを判断する方法としては、種々の方法を採用可能である。例えば、コピーモジュール２３２Ｐが、ある世代のホスト要求の総数を同期副装置２００Ｌに送信することとしてもよい。履歴作成モジュール２３８Ｌは、その世代のコピー要求の完了通知の総数が、同じ世代のホスト要求の総数と同じになった場合に、その世代の全ての完了通知が発行されたと判断できる。
【０２２３】
同様に、非同期副装置２００Ｒ（例えば、バックアップモジュール２４２Ｒ。図７）が、ある世代の全ての非同期コピー要求の完了通知が発行されたか否かを判断する方法としては、種々の方法を採用可能である。例えば、非同期副装置２００Ｒも、同期副装置２００Ｌと同様に、正装置２００Ｐから、世代番号ＧＮｏ（図１２）が付加されたコピー要求を受けることとしてもよい。こうすれば、非同期副装置２００Ｒは、同期副装置２００Ｌと同様に判断可能である。また、この場合には、履歴作成モジュール２３８Ｒは、コピー要求に付加された世代番号ＧＮｏを参照することによって、第３ビットマップＢＭＣの世代を設定できる。
【０２２４】
変形例６：
上記各実施例において、非同期副装置２００Ｒも、同期副装置２００Ｌと同様に、正装置２００Ｐから、シーケンス番号ＳＮｏ（図１２）が付加されたコピー要求を受けることとしてもよい。さらに、非同期副装置２００Ｒが、シーケンス番号ＳＮｏの順番に、要求に応じた書き込み処理を実行することとしてもよい。こうすれば、非同期コピーの先ボリュームＶＯＬ１−Ｒも常にホスト整合性を有することとなる。従って、バックアップボリュームＶＯＬ２−Ｒとバックアップモジュール２４２Ｒとを省略することが可能となる。ただし、上記各実施例のように、非同期副装置２００Ｒが、コピー要求を受信した順番に、各要求のデータをボリュームＶＯＬ１−Ｒに書き込みこととしてもよい。こうすれば、非同期副装置２００Ｒの構成を簡単なものとすることができる。これらは、同期副装置２００Ｌについても同様である。
【０２２５】
変形例７：
上記各実施例において、副コピーモジュール２４０Ｌも、コピーモジュール２３２と同様に、データのコピーを実行するための、指示モジュールとアクセスモジュールとを有することが好ましい。こうすれば、副コピー処理のコピー先の記憶領域の設定に要するユーザの労力を軽減することができる。
【０２２６】
変形例８：
上記各実施例において、ソフトウェアによって実現されていた構成の一部をハードウェアに置き換えるようにしてもよく、逆に、ハードウェアによって実現されていた構成の一部をソフトウェアに置き換えるようにしてもよい。例えば、読み書きモジュール２３５（図２）の機能を、論理回路を有するハードウェア回路によって実現することとしてもよい。
【図面の簡単な説明】
【０２２７】
【図１】本発明の一実施例としてのデータ処理システムのハードウェア構成を示す説明図である。
【図２】データ処理システム１０の構成を示す概略図である。
【図３】ペア情報２４８Ｐの一例を示す説明図である。
【図４】ボリューム情報２４６Ｐの一例を示す説明図である。
【図５】データ処理システム１０によるデータ書き込み処理の概要を示すブロック図である。
【図６】正装置２００Ｐに不具合が発生した場合のデータ処理システム１０を示す概略図である。
【図７】第２実施例におけるデータ処理システム１０ａの構成を示す説明図である。
【図８】正ホスト１００Ｐが３つのホスト要求ＷＲ１、ＷＲ２、ＷＲ３を送信する場合の処理の流れを示している。
【図９】データ処理システム１０ａによるデータ書き込み処理の手順を示すシーケンス図である。
【図１０】データ処理システム１０ａによるデータ書き込み処理の手順を示すシーケンス図である。
【図１１】データ処理システム１０ａによるデータ書き込み処理の手順を示すシーケンス図である。
【図１２】正装置２００Ｐが同期副装置２００Ｌに送信するコピー要求を示す説明図である。
【図１３】ビットマップＢＭＡＢＭＢを示す説明図である。
【図１４】同期副装置２００Ｌが各要求ＷＲ３１Ｌ〜ＷＲ３５ＬとマーカＭＫとを受信する順番を示す説明図である。
【図１５】データ処理システム１０ａの状態１を示す説明図である。
【図１６】状態２を示す説明図である。
【図１７】状態３を示す説明図である。
【図１８】状態４を示す説明図である。
【図１９】状態５を示す説明図である。
【図２０】状態６を示す説明図である。
【図２１】状態７を示す説明図である。
【図２２】状態８を示す説明図である。
【図２３】正装置２００Ｐに不具合が発生した場合のデータ処理システム１０ａを示す説明図である。
【図２４】副コピー処理の手順を示すフローチャートである。
【図２５】副コピー処理に用いられる条件を示す説明図。
【図２６】第３実施例におけるコピーモジュール２３２Ｐが非同期コピーペアＣＰ２のリシンク開始時に実行する処理を示す説明図である。
【図２７】データ処理システム１０ａによるデータ書き込み処理の手順を示すシーケンス図である。
【図２８】データ処理システム１０ａによるデータ書き込み処理の手順を示すシーケンス図である。
【図２９】状態２１を示す説明図である。
【図３０】状態２２を示す説明図である。
【図３１】状態２３を示す説明図である。
【図３２】状態２４を示す説明図である。
【図３３】状態２５を示す説明図である。
【図３４】差分ビットマップを選択するための条件を示す説明図である。
【図３５】第４実施例における正装置２００Ｐが実行する同期コピーの不具合対応処理の手順を示すフローチャートである。
【図３６】第５実施例におけるデータ処理システム１０ｂの構成を示す概略図である。
【図３７】状態情報２８０Ｒの書き込み処理の手順を示すシーケンス図である。
【図３８】状態情報２８０Ｒの書き込み処理の手順を示すシーケンス図である。
【図３９】状態情報２８０Ｒの書き込み処理の手順を示すシーケンス図である。
【図４０】整合ボリュームを選択するための条件および差分ビットマップを選択するための条件を示す説明図である。
【図４１】第６実施例におけるデータ処理システム１０ｃの構成を示す説明図である。
【図４２】データ書き込み処理の比較例を示すシーケンス図である。
【図４３】第６実施例におけるデータ書き込み処理を示すシーケンス図である。
【図４４】第７実施例におけるデータ処理システム１０ｄの構成を示す説明図である。
【図４５】データ書き込み処理の比較例を示すシーケンス図である。
【図４６】第７実施例におけるデータ書き込み処理を示すシーケンス図である。
【図４７】第８実施例におけるデータ処理システム１０ｅの構成を示す説明図である。
【図４８】第８実施例におけるデータ書き込み処理を示すシーケンス図である。
【符号の説明】
【０２２８】
１０...データ処理システム
１０ａ...データ処理システム
１０ｂ...データ処理システム
１０ｃ...データ処理システム
１０ｄ...データ処理システム
１０ｅ...データ処理システム
１００...ホストコンピュータ
１１０...管理サーバ
１１２...ＣＰＵ
１１４...メモリ
１１６...管理モジュール
１１６ａＰ...管理モジュール
１１６ｂＰ...管理モジュール
１１６ｃＰ...管理モジュール
１１８...コンシステンシグループ情報
２００...記憶装置
２００Ｌ...同期副記憶装置
２００Ｐ...正記憶装置
２００Ｒ...非同期副記憶装置
２００ａＰ...第１正装置
２００ｂＰ...第２正装置
２００ｃＰ...第３正装置
２００ａＲ...第１非同期副装置
２００ｂＲ...第２非同期副装置
２００ｃＲ...第３非同期副装置
２１０...制御装置
２１０ａＰ、２１０ｂＰ...制御装置
２２０...ＣＰＵ
２３０...メモリ
２３１...仮想化モジュール
２３２...コピーモジュール
２３３...指示モジュール
２３４...アクセスモジュール
２３５...読み書きモジュール
２３６Ｐ...世代設定モジュール
２３７Ｐ...世代情報送信モジュール
２３８Ｌ...履歴作成モジュール
２３８Ｒ...履歴作成モジュール
２４０Ｌ...副コピーモジュール
２４２Ｒ...バックアップモジュール
２４６Ｌ...ボリューム情報
２４６Ｐ...ボリューム情報
２４８Ｌ...ペア情報
２４８Ｐ...ペア情報
２６０...キャッシュメモリ
２７０...ディスクアレイ
２７２...ボリューム
２８０Ｒ...状態情報
ＨＤ...ホストデータ
ＧＩ...世代情報
ＭＫ...マーカ
ＳＮ...ストレージネットワーク
ＭＮ１...管理ネットワーク
ＭＮ２...管理ネットワーク
ＢＭＡ...第１ビットマップ
ＢＭＢ...第２ビットマップ
ＢＭＣ...第３ビットマップ
ＨＳＩ...履歴状態情報
ＧＮｏ...世代番号
ＳＮｏ...シーケンス番号
【図１】
2007066154.tif 000003
【図２】
2007066154.tif 000004
【図３】
2007066154.tif 000005
【図４】
2007066154.tif 000006
【図５】
2007066154.tif 000007
【図６】
2007066154.tif 000008
【図７】
2007066154.tif 000009
【図８】
2007066154.tif 000010
【図９】
2007066154.tif 000011
【図１０】
2007066154.tif 000012
【図１１】
2007066154.tif 000013
【図１２】
2007066154.tif 000014
【図１３】
2007066154.tif 000015
【図１４】
2007066154.tif 000016
【図１５】
2007066154.tif 000017
【図１６】
2007066154.tif 000018
【図１７】
2007066154.tif 000019
【図１８】
2007066154.tif 000020
【図１９】
2007066154.tif 000021
【図２０】
2007066154.tif 000022
【図２１】
2007066154.tif 000023
【図２２】
2007066154.tif 000024
【図２３】
2007066154.tif 000025
【図２４】
2007066154.tif 000026
【図２５】
2007066154.tif 000027
【図２６】
2007066154.tif 000028
【図２７】
2007066154.tif 000029
【図２８】
2007066154.tif 000030
【図２９】
2007066154.tif 000031
【図３０】
2007066154.tif 000032
【図３１】
2007066154.tif 000033
【図３２】
2007066154.tif 000034
【図３３】
2007066154.tif 000035
【図３４】
2007066154.tif 000036
【図３５】
2007066154.tif 000037
【図３６】
2007066154.tif 000038
【図３７】
2007066154.tif 000039
【図３８】
2007066154.tif 000040
【図３９】
2007066154.tif 000041
【図４０】
2007066154.tif 000042
【図４１】
2007066154.tif 000043
【図４２】
2007066154.tif 000044
【図４３】
2007066154.tif 000045
【図４４】
2007066154.tif 000046
【図４５】
2007066154.tif 000047
【図４６】
2007066154.tif 000048
【図４７】
2007066154.tif 000049
【図４８】
2007066154.tif 000050