(57)【要約】【課題】コピー元からコピー先へのコピー処理を行なうストレージ装置において、コピー元内でのデータの転送処理を指示された後にコピー元が故障した場合でも、コピー先に記憶されたデータからコピー元を復旧できるようにする。【解決手段】コピー元記憶領域５Ａ内の第１領域５ａに記憶されたデータを前記コピー元記憶領域５Ａ内の第２領域５ｂへ転送することを指示する転送コマンドを受信するコマンド制御部１１と、前記転送コマンドの受信に応じて、前記第１領域５ａから転送データを読み出し、前記第２領域５ｂに書き込む転送処理を開始する転送処理部１２ａと、前記転送処理の開始とともに、コピー処理において、前記第２領域５ｂに対応するコピー先記憶領域５Ｂの対応領域５ｄへの前記転送データのコピーを開始するコピー処理部１２ｂと、をそなえる。【選択図】図４
2015007880.tif 000002
【特許請求の範囲】
【請求項１】
一以上の記憶ボリュームを持つコピー元記憶領域に記憶されたデータを、前記コピー元記憶領域に対応する、一以上の記憶ボリュームを持つコピー先記憶領域へコピーするコピー処理を実行するストレージ制御装置であって、
前記コピー元記憶領域内の第１領域に記憶されたデータを前記コピー元記憶領域内の第２領域へ転送することを指示する転送コマンドを、情報処理装置から受信するコマンド制御部と、
前記転送コマンドの受信に応じて、前記第１領域から転送データを読み出し、前記第２領域に書き込む転送処理を開始する転送処理部と、
前記転送処理の開始とともに、前記コピー処理において、前記第２領域に対応する前記コピー先記憶領域の対応領域への前記転送データのコピーを開始するコピー処理部と、
をそなえることを特徴とする、ストレージ制御装置。
【請求項２】
前記転送処理部は、開始した前記転送処理において、前記転送コマンドに対する応答時間内に転送可能な、前記転送データの少なくとも一部の転送可能データについて、前記第１領域から読み出して前記第２領域に書き込み、
前記コピー処理部は、前記コピーの開始処理において、前記転送可能データの前記対応領域へのコピーを開始し、
前記コマンド制御部は、前記転送可能データに関する情報を含む応答を前記情報処理装置へ送信し、前記情報処理装置から、前記第１領域のうちの前記転送処理部が転送を行なわなかった領域に記憶されたデータを前記第２領域へ転送することを指示する新たな転送コマンドを受信する、
ことを特徴とする、請求項１記載のストレージ制御装置。
【請求項３】
前記コピー処理部は、開始した前記コピーにおいて、前記応答時間内に前記転送可能データを前記対応領域へコピーし、
前記コマンド制御部は、前記転送処理部による前記転送可能データの転送処理と、前記コピー処理部による前記転送可能データのコピーとが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、請求項２記載のストレージ制御装置。
【請求項４】
前記ストレージ制御装置は、前記コピー先記憶領域を有するストレージ装置にそなえられ、
前記コピー先記憶領域は、前記ストレージ装置とは異なる他のストレージ装置にそなえられ、
前記ストレージ制御装置は、
バッファと、
前記コピー処理部による前記コピーの開始に応じて、前記応答時間内に前記転送可能データを前記バッファへ格納し、所定のタイミングで、前記バッファに格納された前記転送可能データを、前記他のストレージ装置へ送信するバッファ管理部と、をそなえ、
前記コマンド制御部は、前記転送処理部による前記転送可能データの転送処理と、前記バッファ管理部による前記バッファへの前記転送可能データの格納とが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、請求項２記載のストレージ制御装置。
【請求項５】
前記ストレージ制御装置は、前記第１領域に記憶されたデータを前記コピー先記憶領域の第３領域にコピーするとともに、前記第２領域に記憶されたデータを前記コピー先記憶領域の前記対応領域である第４領域にコピーする前記コピー処理を実行し、
前記コピー処理部は、前記コピーの開始処理において、前記第３領域に記憶された前記転送データに対応するコピー先転送データを、前記第４領域に転送することを指示するコピー先転送コマンドを発行し、
前記コマンド制御部は、前記転送処理部による前記転送処理の開始処理と、前記コピー処理部による前記コピー先転送コマンドの発行とが完了してから、前記転送コマンドに対する応答を前記情報処理装置へ送信する、
ことを特徴とする、請求項１記載のストレージ制御装置。
【請求項６】
前記ストレージ制御装置は、前記コピー先記憶領域を有するストレージ装置にそなえられ、
前記コピー先記憶領域は、前記ストレージ装置とは異なる他のストレージ装置にそなえられ、
前記コピー処理部は、開始した前記コピーにおいて、発行した前記コピー先転送コマンドを、前記他のストレージ装置へ送信し、
前記コマンド制御部は、前記転送処理部による前記転送処理の開始処理と、前記コピー処理部による前記コピー先転送コマンドの送信とが完了してから、前記応答を前記情報処理装置へ送信する、
ことを特徴とする、請求項５記載のストレージ制御装置。
【請求項７】
前記ストレージ制御装置は、前記コピー先記憶領域及び前記コピー先記憶領域を有するストレージ装置にそなえられ、
前記転送処理部は、前記コピー処理部が発行した前記コピー先転送コマンドに基づいて、前記第３領域から前記コピー先転送データを読み出し、前記第４領域に書き込むコピー先転送処理を開始する、
ことを特徴とする、請求項５記載のストレージ制御装置。
【請求項８】
前記ストレージ制御装置は、前記コピー先記憶領域を有するストレージ装置にそなえられ、
前記コピー先記憶領域は、前記ストレージ装置とは異なる他のストレージ装置にそなえられ、
前記ストレージ制御装置は、
バッファと、
前記コピー処理部による前記コピーの開始に応じて、前記コピー先転送コマンドを前記バッファへ格納し、所定のタイミングで、前記バッファに格納された前記コピー先転送コマンドを、前記他のストレージ装置へ送信するバッファ管理部と、をそなえ、
前記コマンド制御部は、前記転送処理部による前記転送処理の開始処理と、前記バッファ管理部による前記バッファへの前記コピー先転送コマンドの格納とが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、請求項５記載のストレージ制御装置。
【請求項９】
一以上の記憶ボリュームを持つコピー元記憶領域に記憶されたデータを、前記コピー元記憶領域に対応する、一以上の記憶ボリュームを持つコピー先記憶領域へコピーするコピー処理を実行するストレージ制御装置をそなえるストレージシステムであって、
前記ストレージ制御装置は、
前記コピー元記憶領域内の第１領域に記憶されたデータを前記コピー元記憶領域内の第２領域へ転送することを指示する転送コマンドを、情報処理装置から受信するコマンド制御部と、
前記転送コマンドの受信に応じて、前記第１領域から転送データを読み出し、前記第２領域に書き込む転送処理を開始する転送処理部と、
前記転送処理の開始とともに、前記コピー処理において、前記第２領域に対応する前記コピー先記憶領域の対応領域への前記転送データのコピーを開始するコピー処理部と、
をそなえることを特徴とする、ストレージシステム。
【請求項１０】
一以上の記憶ボリュームを持つコピー元記憶領域に記憶されたデータを、前記コピー元記憶領域に対応する、一以上の記憶ボリュームを持つコピー先記憶領域へコピーするコピー処理を実行するコンピュータに、
前記コピー元記憶領域内の第１領域に記憶されたデータを前記コピー元記憶領域内の第２領域へ転送することを指示する転送コマンドを、情報処理装置から受信し、
前記転送コマンドの受信に応じて、前記第１領域から転送データを読み出し、前記第２領域に書き込む転送処理を開始し、
前記転送処理の開始とともに、前記コピー処理において、前記第２領域に対応する前記コピー先記憶領域の対応領域への前記転送データのコピーを開始する、
処理を実行させることを特徴とする、制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本件は、ストレージ制御装置，ストレージシステム，および制御プログラムに関する。
【背景技術】
【０００２】
ストレージ装置におけるデータの転送処理は、サーバが、転送元のボリューム（記憶領域）から転送データを読み出し、読み出した転送データを転送先のボリューム（記憶領域）へ書き込むことにより行なわれる。
近年、サーバの負荷や通信回線の輻輳を抑えるため、ストレージ装置に記憶されたデータの転送処理をストレージ装置に実行させる（オフロードする）オフロードデータ転送機能をそなえた、サーバ等の情報処理装置が知られている。オフロードデータ転送機能としては、例えばMicrosoft（登録商標）社のWindows（登録商標） Server 2012に搭載されたOffloaded Data Transfer（ＯＤＸ）が挙げられる。ＯＤＸでは、サーバから発行されたＯＤＸコマンドを受けて、ストレージ装置が主体となって、データの転送処理を行なう。
【０００３】
ＯＤＸによるデータの転送処理では、ストレージ装置は、論理的には瞬時に転送を完了し、ＯＤＸコマンドへの応答をサーバへ返し、物理的にはバックグラウンドで転送データの転送を行なう。また、ＯＤＸの転送元／転送先の領域へデータアクセスが行なわれると、ストレージ装置は、データアクセスを行なう前に、当該データアクセスに係る更新領域の転送データを転送する、いわゆるコピーオンライト／コピーオンリード動作を行なう。このように、ＯＤＸでは、ストレージ装置によりスナップショットが作成され、サーバからは瞬時に転送（コピー）が完了したように見える。
【０００４】
図２９は、ＯＤＸによるストレージ装置でのデータ転送処理の一例を説明する図である。図２９に示すように、ホスト装置としてのサーバは、ストレージ装置に記憶されたファイル（データ）をコピーする際に、転送元の範囲（領域）を示すPopulate Token及び転送先の範囲（領域）を示すWrite Using Tokenを発行する。ストレージ装置は、ホスト装置から受信した上記コマンドに基づいて、転送処理を行なう。
【０００５】
以下、ストレージ装置内部で起動（開始）される転送処理を、ＯＤＸセッションといい、ホスト装置から発行されるPopulate Token及びWrite Using Tokenの２つのコマンドを、まとめてＯＤＸコマンド（転送コマンド）という。
ところで、複数のストレージ装置を含むストレージシステムにおいて、データのバックアップを行なう手法の１つとして、Remote Equivalent Copy（ＲＥＣ）が知られている。ＲＥＣは、ストレージ装置間（筐体間）でデータのミラーリングを行なう機能である。
【０００６】
図３０は、ＲＥＣによるストレージ装置間でのデータコピー処理の一例を説明する図である。ＲＥＣでは、ホスト装置からのStart（開始）コマンドにより、ＲＥＣセッションが起動（開始）される。ＲＥＣセッションでは、ストレージ装置のコピー元ボリューム（記憶領域）がコピー中状態となり、コピー元ボリュームのデータを他のストレージ装置のコピー先ボリューム（記憶領域）へコピーする等価処理が実行される。コピー中はコピー先ボリュームが不完全なデータであるため、コピー先／コピー元のストレージ装置は、Suspend（切り離し）コマンドに伴う切り離し処理は実行しない。
【０００７】
コピー中状態及び等価状態では、コピー元で変更された情報は、コピー先へ反映される。また、等価状態において、ホスト装置からSuspendコマンドが発行されると、コピー元とコピー先とがSuspend状態（切り離し状態）となり、スナップショット（コピー先ボリューム）が作成される。切り離し状態では、コピー元への更新はコピー先へ反映されなくなり、ホスト装置は、コピー先ボリュームへアクセス可能となる。
【０００８】
また、ＲＥＣでは、等価状態においてコピー元ストレージ装置が被災（故障）した場合、ホスト装置は、コピー先ストレージ装置へ切り離しコマンドを発行することで、コピー先ボリュームから業務を継続（フェイルオーバ）することが可能である。
ＲＥＣがサポートするコピーモードには、同期モード及びConsistency（コンシステンシ）モードが含まれる。これらのコピーモードは、コピー元ストレージ装置がホスト装置からコピー元ボリュームに対するWrite Input/Output(I/O)（書込コマンド）を受領したときの、書込コマンドに係る書込データの扱いが異なる。
【０００９】
同期モードは、コピー元ストレージ装置が書込コマンドを受領した場合、書込コマンドに係る書込データをＲＥＣの機能によりコピー先ボリュームにコピーしてから、書込コマンドへの応答を返す動作モードである。
コンシステンシモードは、コピー元ストレージ装置が、書込コマンドへの応答を返してから、書込データを専用のバッファ（ＲＥＣバッファ）に格納する。ＲＥＣバッファに格納された書込データは、数秒間隔で纏めてコピー先ストレージ装置のＲＥＣバッファへ転送され、転送された書込データがＲＥＣバッファからコピー先ボリュームに展開される。コンシステンシモードでは、コピー元ストレージ装置が書込コマンドの順番を保って書込データをＲＥＣバッファに格納していくため、ある時点までの書込データがコピー先ボリュームに全て反映されていることが保証される（順序性保証）。
【００１０】
なお、ＲＥＣと同様なミラーリングを、ストレージ装置内（筐体内）で行なうＥＣも知られている。ＥＣがサポートするコピーモードには、同期モードが含まれる。
また、他の技術として、ストレージ装置において、Transparent Failoverという技術がある。この技術は、ストレージ装置間でミラーリングを行ない、片方のストレージ装置が被災した場合、もう一方のストレージ装置に自動的にフェイルオーバをしてサーバからのアクセスを継続するものである。Transparent Failoverは、コピーセッションもストレージ装置間で同じ状態に保っておくことで、フェイルオーバした後のコピーセッションを手動で再設定せずに済み、また、初期コピーをやり直すことなく差分コピーによりコピーセッションを継続することができる。
【００１１】
なお、関連する技術として、コピー元から取得したコピーデータをコピー先で２重バックアップする場合におけるバックアップ処理を最適化する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【００１２】
【特許文献１】特開２０１０−１６０７６４号公報
【発明の概要】
【発明が解決しようとする課題】
【００１３】
図３１は、ＲＥＣを行なうコピー元ストレージ装置において、ＯＤＸコマンドへの応答後にコピー元ストレージ装置が故障した場合の例を示す図である。図３１に示すように、ＲＥＣのコピー元（ストレージ装置）は、ホスト装置からのＯＤＸコマンドを受領すると（矢印（１）参照）、ＯＤＸセッションを起動する（矢印（２）参照）。そして、コピー元は、ＯＤＸコマンドに係る論理的な転送を完了すると、ＯＤＸコマンドに対して応答を返す（矢印（３）参照）。コピー元がホスト装置へ応答を返した時点では、ＯＤＸセッションにおいてＯＤＸコマンドに係る転送データの物理的な転送は完了しておらず、コピー元とコピー先とは物理データとしては不等価な状態である。
【００１４】
このとき、コピー元ストレージ装置において故障が発生した場合を想定する（矢印（４）参照）。この場合、ホスト装置は、ＲＥＣのコピー先（ストレージ装置）へ切り離しコマンドを発行する。コピー先は、切り離しコマンドを受領すると（矢印（５−１）参照）、コピー元との等価状態を切り離し（矢印（５−２）参照）、ホスト装置へ応答を返す（矢印（５−３）参照）。
【００１５】
ホスト装置は、コピー元を復旧するため、ＲＥＣによりコピー元のデータがコピーされたコピー先へRead I/O（読出コマンド）を発行する。このとき、読出コマンドには、コピー元の転送データに対応する、コピー先のコピー先転送データの読み出し指示も含まれる。コピー先は、読出コマンドを受領すると（矢印（６）参照）、読出コマンドで指定されたコピー転送データを読み出してホスト装置へ応答しようとする（矢印（７）参照）。
【００１６】
しかし、コピー元においてＯＤＸによる転送処理が未完了であったため、ＲＥＣによるコピー先への転送データのコピーも未完了である。このため、コピー先は、読出コマンドで指定された領域へアクセスしても、コピー先転送データが存在しないため、読出に失敗する、又は、異なるデータを読み出すことになり、コピー先転送データを読み出してホスト装置へ応答することができない。
【００１７】
このように、ＲＥＣを行なうコピー元ストレージ装置において、ＯＤＸコマンドへの応答後にコピー元ストレージ装置が故障した場合、ホスト装置は、コピー先ストレージ装置からコピー転送データを取得することができない。従って、ホスト装置が最新のデータによってコピー先ストレージ装置を復旧することができないという課題がある。
なお、ここまで、コピー元ストレージ装置における転送処理（例えばＯＤＸ）の転送元及び転送先のボリューム（記憶領域）が、ともに筐体間コピー（例えばＲＥＣ）によるコピー元のボリュームであるものとして説明したが、上述した課題はこれに限定されるものではない。例えば、上述した課題は、少なくとも転送処理の転送先が筐体間コピーによるコピー元のボリュームである場合にも同様に生じ得る。また、上述した課題は、筐体内コピー（例えばＥＣ）を行なうストレージ装置においても、コピー元のボリュームが故障した場合に、同様に生じ得る。さらに、上述した課題は、転送処理の転送元の記憶領域及び転送先の記憶領域が同じボリュームの領域である場合（ボリューム内でデータ転送が行なわれる場合）においても、同様に生じ得る。
【００１８】
１つの側面では、本発明は、コピー元からコピー先の記憶領域へデータをコピーするコピー処理を行なうストレージ装置において、コピー元記憶領域内でのデータの転送処理を指示する転送コマンド受信後にコピー元が故障した場合でも、コピー先に記憶されたデータからコピー元を復旧できるようにすることを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の１つとして位置付けることができる。
【課題を解決するための手段】
【００１９】
本件のストレージ制御装置は、一以上の記憶ボリュームを持つコピー元記憶領域に記憶されたデータを、前記コピー元記憶領域に対応する、一以上の記憶ボリュームを持つコピー先記憶領域へコピーするコピー処理を実行するストレージ制御装置であって、前記コピー元記憶領域内の第１領域に記憶されたデータを前記コピー元記憶領域内の第２領域へ転送することを指示する転送コマンドを、情報処理装置から受信するコマンド制御部と、前記転送コマンドの受信に応じて、前記第１領域から転送データを読み出し、前記第２領域に書き込む転送処理を開始する転送処理部と、前記転送処理の開始とともに、前記コピー処理において、前記第２領域に対応する前記コピー先記憶領域の対応領域への前記転送データのコピーを開始するコピー処理部と、をそなえる。
【発明の効果】
【００２０】
一実施形態によれば、コピー元からコピー先の記憶領域へデータをコピーするコピー処理を行なうストレージ装置において、コピー元記憶領域内でのデータの転送処理を指示する転送コマンド受信後にコピー元が故障した場合でも、コピー先に記憶されたデータからコピー元を復旧することができる。
【図面の簡単な説明】
【００２１】
【図１】第１実施形態の一例としてのストレージシステムの構成例を示す図である。
【図２】図１に示すストレージシステムによるバックアップの態様の一例を説明する図である。
【図３】図１に示すストレージ装置のハードウェア構成例を示す図である。
【図４】図１に示すストレージシステムの機能構成例を示す図である。
【図５】図４に示すコピー元ストレージ装置がＯＤＸコマンドを受信した場合の処理の一例を示すフローチャートである。
【図６】図５に示す同期転送処理の一例を示すフローチャートである。
【図７】同期モードの場合の同期転送処理を説明する図である。
【図８】コンシステンシモードの場合の同期転送処理を説明する図である。
【図９】図５に示す非同期転送処理の一例を示すフローチャートである。
【図１０】図９に示す物理転送処理の一例を示すフローチャートである。
【図１１】同期モードの場合の非同期転送処理を説明する図である。
【図１２】コンシステンシモードの場合の非同期転送処理を説明する図である。
【図１３】第２実施形態の一例としてのコピー元ストレージ装置の機能構成例を示す図である。
【図１４】第２実施形態の一例としてのコピー先ストレージ装置の機能構成例を示す図である。
【図１５】図１３に示すＲＥＣバッファ管理部の処理の一例を説明する図である。
【図１６】図１３に示すコピー元ストレージ装置がＯＤＸコマンドを受信した場合の処理の一例を示すフローチャートである。
【図１７】図１６に示すコピー先非同期転送処理の一例を示すフローチャートである。
【図１８】図１７に示すバッファ転送処理の一例を示すフローチャートである。
【図１９】同期モードの場合の非同期転送処理を説明する図である。
【図２０】コンシステンシモードの場合の非同期転送処理を説明する図である。
【図２１】図１４に示すコピー先ストレージ装置が読出コマンドを受信した場合の処理の一例を示すフローチャートである。
【図２２】同期モードの場合のコピー先読出処理を説明する図である。
【図２３】コンシステンシモードの場合のコピー先読出処理を説明する図である。
【図２４】図１３に示すコピー元ストレージ装置が書込コマンドを受信した場合の処理の一例を示すフローチャートである。
【図２５】同期モードの場合のコピー元書込処理を説明する図である。
【図２６】コンシステンシモードの場合のコピー元書込処理を説明する図である。
【図２７】図１に示すストレージシステムによるバックアップの態様の一例を説明する図である。
【図２８】図１に示すストレージシステムによるバックアップの態様の一例を説明する図である。
【図２９】ＯＤＸによるストレージ装置でのデータ転送処理の一例を説明する図である。
【図３０】ＲＥＣによるストレージ装置間でのデータコピー処理の一例を説明する図である。
【図３１】ＲＥＣを行なうコピー元ストレージ装置において、ＯＤＸコマンドへの応答後にコピー元ストレージ装置が故障した場合の例を示す図である。
【００２２】
以下、図面を参照して実施の形態を説明する。
〔１〕第１実施形態
〔１−１〕ストレージシステムの構成例
図１は、第１実施形態の一例としてのストレージシステム１０の構成例を示す図であり、図２は、図１に示すストレージシステム１０によるバックアップの態様の一例を説明する図である。
【００２３】
図１に示すように、ストレージシステム１０は、ホスト装置２に接続され、ホスト装置２からの各種要求を受け、その要求に応じた各種処理を行なう。
ホスト装置２は、ストレージシステム１０に接続されたホストコンピュータ（上位装置）であり、例えばWindows Server 2012等のＯＤＸ（オフロードデータ転送機能）をサポートするOperating System（ＯＳ）を実行する。ホスト装置２としては、Personal Computer（ＰＣ）、サーバ、又はメインフレーム等の種々の情報処理装置が例として挙げられる。
【００２４】
ホスト装置２は、ストレージシステム１０に対して、ＯＤＸコマンド（転送コマンド）やＥＣ／ＲＥＣコマンド（コピーコマンド）の発行、ボリューム５ａ〜５ｄに対する書込（更新）／読出コマンド等を発行する。なお、ＥＣ／ＲＥＣコマンドとしては、Start（開始）コマンド、Suspend（切り離し）コマンド、又は、切り離し状態から等価状態へ遷移させるResume（再開）コマンド等が挙げられる。
【００２５】
ストレージシステム１０は、１以上（図１では２つ）のストレージ装置１Ａ及び１Ｂ（ストレージ装置１Ａ及び１Ｂを区別しない場合には、単にストレージ装置１という）をそなえる。
ストレージ装置１Ａは、１以上（図１では２つ）のコントローラモジュール（ＣＭ）３Ａ及びDisk Enclosure（ディスクエンクロージャ，以下、ＤＥという）４Ａをそなえる。また、ストレージ装置１Ｂは、１以上（図１に示す例では２つ）のＣＭ３Ｂ及びＤＥ４Ｂをそなえる。以下、ＣＭ３Ａ及び３Ｂを区別しない場合には、単にＣＭ３といい、ＤＥ４Ａ及び４Ｂを区別しない場合には、単にＤＥ４という。
【００２６】
ＤＥ４は、１以上（図１では２つ）のボリューム５ａ及び５ｂ、又は、５ｃ及び５ｄを格納（管理）する。以下、ボリューム５ａ〜５ｄを区別しない場合には、単にボリューム５という。ボリューム（記憶領域，記憶ボリューム）５は、ホスト装置２又はＣＭ３が記憶領域を物理的に又は仮想的に、１つの連続した記憶領域として管理する単位である。
以下、ＲＥＣセッションにおけるコピー元のボリューム（記憶領域）をコピー元記憶領域５Ａといい、コピー先のボリューム（記憶領域）をコピー先記憶領域５Ｂという。図２に示す例では、ストレージ装置１Ａのボリューム５ａ及び５ｂ（少なくともボリューム５ｂ）がコピー元記憶領域５Ａであり、ストレージ装置１Ｂのボリューム５ｃ及び５ｄ（少なくともボリューム５ｄ）がコピー先記憶領域５Ｂである。
【００２７】
なお、コピー元記憶領域５Ａ（ボリューム５ａ及び５ｂ）及びコピー先記憶領域５Ｂ（ボリューム５ｃ及び５ｄ）は、それぞれ、物理ボリュームであってもよいし、論理（仮想）ボリュームであってもよい。
例えば、コピー元記憶領域５Ａは、ＤＥ４Ａがそなえる記憶装置４１（図３参照）により実現される複数のボリュームのうちの１以上の物理又は論理（仮想）ボリューム（第１ボリューム）である。同様に、コピー先記憶領域５Ｂは、ＤＥ４Ｂがそなえる記憶装置４１により実現される複数のボリュームのうちの１以上の物理又は論理（仮想）ボリューム（第２ボリューム）である。
【００２８】
ＣＭ（ストレージ制御装置）３は、ホスト装置２、ＤＥ４、及び他のＣＭ３に接続され、ストレージ装置１における資源管理を行なうコンピュータ（情報処理装置）である。また、ＣＭ３は、ホスト装置２や他のＣＭ３からの要求に応じ、ＤＥ４に対する各種処理（データ転送処理、データコピー処理、データ書込／読出処理等）を行なう。
以下の説明では、ＣＭ３は、ホスト装置２からＯＤＸコマンド、ＲＥＣコマンド（コピーコマンド）、及び書込／読出コマンドを受信し、受信したコマンドに応じた処理を行なうものとして説明する。
【００２９】
ＣＭ３は、図２に示すように、ＯＤＸコマンドに応じて起動（開始）したＯＤＸセッション（転送処理）において、コピー元記憶領域５Ａ内のボリューム５ａ（第１領域）に記憶されたデータを読み出して、ボリューム５ｂ（第２領域）へ書き込むオフロード転送を行なう。また、ＣＭ３（ストレージ装置１）は、図２に示すように、ＲＥＣコマンドに応じて起動（開始）したＲＥＣセッション（コピー処理）において、コピー元記憶領域５Ａに記憶されたデータを、対応するコピー先記憶領域５Ｂへコピーする装置間（筐体間）コピーを行なう。
【００３０】
〔１−２〕ハードウェア構成
次に、図１及び図３を参照して、ストレージ装置１のハードウェア構成について説明する。図３は、図１に示すストレージ装置１のハードウェア構成例を示す図である。
ＣＭ３は、図１及び図３に示すように、Central Processing Unit（ＣＰＵ）３１、メモリ３２、Channel Adapter（ＣＡ）３３、Remote Adaptor（ＲＡ）３４、及び１以上（図１では２つ）のDisk Interface（ＤＩ）３５をそなえる。また、図３に示すように、ＣＭ３はさらに、記憶部３６、入出力部３７、読取部３８、及び記録媒体３９ａをそなえてもよい。
【００３１】
ＣＰＵ３１は、ＣＭ３内の各ブロック３１〜３９ａと接続され、種々の制御や演算を行なう演算処理装置（プロセッサ）である。ＣＰＵ３１は、メモリ３２、記憶部３６、記録媒体３９ａ、ＤＥ４、又は図示しないRead Only Memory（ＲＯＭ）等に格納されたプログラム（ファームウェア）を実行することにより、ＣＭ３における種々の機能を実現する。なお、ＣＰＵ３１に限らず、プロセッサとしては、Micro Processing Unit（ＭＰＵ）等の電子回路が用いられてもよい。
【００３２】
メモリ３２は、種々のデータやプログラムを格納するキャッシュメモリ等の記憶装置である。ＣＰＵ３１は、プログラムを実行する際に、メモリ３２にデータやプログラムを格納し展開する。例えば、メモリ３２は、ＣＰＵ３１がストレージ制御装置として機能するためのプログラム、ホスト装置２からＤＥ４へ書き込まれるデータ、ＤＥ４からホスト装置２や他のＣＭ３へ読み出されるデータ等を一時的に格納する。なお、メモリ３２としては、例えばRandom Access Memory（ＲＡＭ）等の揮発性メモリが挙げられる。
【００３３】
ＣＡ３３は、ホスト装置２と接続され、ホスト装置２とのインタフェース制御を行なうアダプタであり、ホスト装置２との間でデータ通信を行なう。ＲＡ３４は、他のストレージ装置１（ＣＭ３）内のＲＡ３４と接続され、他のストレージ装置１とのインタフェース制御を行なうポートであり、他のストレージ装置１との間で例えばデータ通信を行なう。ＤＩ３５は、ストレージシステム１０に収容されるＤＥ４とのインタフェース制御を行ない、ＤＥ４との間でデータ通信を行なう。図３に示す例では、ＣＡ３３、ＲＡ３４、及びＤＩ３５をまとめて、インタフェース部と表記している。
【００３４】
記憶部３６は、種々のデータやプログラム等を格納するハードウェアである。記憶部３６としては、例えばHard Disk Drive（ＨＤＤ）等の磁気ディスク装置、Solid State Drive（ＳＳＤ）等の半導体ドライブ装置、フラッシュメモリ等の不揮発性メモリ等の各種デバイスが挙げられる。
入出力部３７は、例えばマウスやキーボード等の入力装置、及びディスプレイやプリンタ等の出力装置の少なくとも一方を含むものである。入出力部３７は、入力装置によりストレージ装置１の管理者等の操作による動作命令を受け付ける一方、ストレージ装置１による処理結果やアラート等を出力装置に表示（出力）する。
【００３５】
記録媒体３９ａは、フラッシュメモリやＲＯＭ等の記憶装置であり、種々のデータやプログラムを記録する。読取部３８は、光ディスクやUniversal Serial Bus（ＵＳＢ）メモリ等のコンピュータ読取可能な記録媒体３９ｂに記録されたデータやプログラムを読み出す装置である。
記録媒体３９ａ及び３９ｂの少なくとも一方には、本実施形態に係るストレージシステム１０（ＣＭ３）の機能を実現する制御プログラムが格納されてもよい。例えば、ＣＰＵ３１は、記録媒体３９ａ、又は読取部３８を介して記録媒体３９ｂから入力された制御プログラムを、メモリ３２等の記憶装置に展開して実行する。これにより、ＣＭ３としてのコンピュータは、ＣＰＵ３１により、本実施形態に係るストレージ制御装置の機能を実現する。
【００３６】
ＤＥ４は、図３に示すように、１以上（図３では２つ）の記憶装置４１をそなえる。
記憶装置４１は、ＨＤＤ等の磁気ディスク装置やＳＳＤ等の半導体ドライブ装置の各種デバイスであり、種々のデータやプログラム等を格納するハードウェアである。
また、記憶装置４１は、ＣＭ３による管理を通じて、上述のように、コピー元記憶領域５Ａ及びコピー先記憶領域５Ｂとして用いられる物理／論理ボリュームを実現する。
【００３７】
なお、上述した各ブロック３１〜３９ａ間は、それぞれバスで相互に通信可能に接続される。また、ストレージ装置１間（ＲＡ３４間）、ホスト装置２−ＣＡ３３間、及びＤＩ３５−ＤＥ４（記憶装置４１）間は、それぞれ、ＬＡＮ、Small Computer System Interface（ＳＣＳＩ）、InfiniBand（インフィニバンド（登録商標））、又はFibre Channel（ファイバチャネル）等により相互に通信可能に接続される。
【００３８】
なお、ストレージ装置１の上述したハードウェア構成は例示である。従って、個々のストレージ装置１内、ＣＭ３、ＤＥ４内でのハードウェアの増減や分割、任意の組み合わせでの統合等は、適宜行なわれてもよい。また、ＣＭ３のハードウェアは、ストレージ装置１における複数のＣＭ３で共用されてもよい。
〔１−３〕ストレージシステムについて
ここで、第１実施形態に係るストレージシステム１０について、簡単に説明する。
【００３９】
上述のように、ＲＥＣを行なうコピー元ストレージ装置において、ＯＤＸコマンドへの応答後にコピー元ストレージ装置が故障した場合、ホスト装置は、コピー先ストレージ装置からコピー転送データを取得することができない。
これに対し、第１実施形態に係るストレージシステム１０では、コピー元のＣＭ３は、ＲＥＣによる等価状態においてＯＤＸコマンドを受領した場合、ＯＤＸによる物理的なデータの転送処理とＲＥＣによるデータのコピー処理とをＯＤＸコマンドへの応答前に実行する。すなわち、コピー元のＣＭ３は、ＯＤＸコマンドに係る転送処理と同期的にＲＥＣのコピー処理を行なうことによって、ＲＥＣによるコピー元／コピー先の等価性を保証する。
【００４０】
従って、ＯＤＸコマンド受信後にストレージ装置１Ａ又はコピー元記憶領域５Ａが故障した場合でも、ホスト装置２は、コピー先記憶領域５Ｂに記憶された最新のデータからストレージ装置１Ａ又はコピー元記憶領域５Ａを復旧することができる。
なお、第１実施形態に係るストレージシステム１０では、ストレージ装置１Ａのコピー元記憶領域５Ａにおける、ＯＤＸセッションの転送元及び転送先（ボリューム５ａ及び５ｂ）のうち、少なくとも転送先（ボリューム５ｂ）がＲＥＣセッションのコピー元であればよい。この場合、ストレージ装置１Ｂのコピー先記憶領域５Ｂにおけるボリューム５ｄが、ＲＥＣセッションのコピー先となる。
【００４１】
〔１−４〕ストレージシステムの構成
次に、図４を参照して、図１に示すストレージシステム１０の機能構成について説明する。図４は、図１に示すストレージシステム１０の機能構成例を示す図である。
ＣＭ３は、図４に示すように、ＲＥＣセッションのコピー元のストレージ装置１の機能としてストレージ装置１Ａに示す構成をそなえ、ＲＥＣセッションのコピー先のストレージ装置１の機能としてストレージ装置１Ｂに示す構成をそなえる。
【００４２】
なお、以下の説明では、ストレージシステム１０におけるＯＤＸ及びＲＥＣに係る機能に着目し、ストレージシステム１０が、ＲＥＣのコピーモードのうちの同期モードを用いる場合とコンシステンシモードを用いる場合とに分けて説明する。
〔１−４−１〕コピー元ストレージ装置の構成
はじめに、コピー元ストレージ装置１Ａ（ＣＭ３Ａ）の構成について説明する。
【００４３】
コピー元ストレージ装置１ＡのＣＭ３Ａは、ホストInterface（Ｉ／Ｆ）制御部１１、セッション管理部１２、ＲＥＣバッファ管理部１３、ＲＥＣバッファ１３ａ、及び装置間Ｉ／Ｆ制御部１４をそなえる。
ホストＩ／Ｆ制御部（コマンド制御部）１１は、ＣＡ３３を介して、ホスト装置２との間のインタフェース制御を行なうものであり、ホスト装置２からの各種コマンドの受信、ホスト装置２への各種コマンドへの応答の送信等を行なう。また、ホストＩ／Ｆ制御部１１は、受信したコマンドに応じた制御を行なう。このため、ホストＩ／Ｆ制御部１１は、書込／読出コマンド制御部１１ａ、ＯＤＸコマンド制御部１１ｂ、及びコピーコマンド制御部１１ｃをそなえる。
【００４４】
書込／読出コマンド制御部１１ａは、ホスト装置２から受領した書込／読出コマンドに係る制御を行なう。
例えば、書込／読出コマンド制御部１１ａは、ＲＥＣが等価状態の場合に、ボリューム５ｂへの書込コマンドを受信すると、書込データのボリューム５ｂへの書き込みを、ＤＩ３５を介してＤＥ４に指示する。また、書込／読出コマンド制御部１１ａは、ＲＥＣによる書込データのコピー先（ボリューム５ｄ）へのコピーを、セッション管理部１２に指示する。
【００４５】
ＯＤＸコマンド制御部１１ｂは、ホスト装置２から受領したＯＤＸコマンドに係る制御を行なう。
例えば、ＯＤＸコマンド制御部１１ｂは、ボリューム５ａに記憶されたデータ（転送データ）をボリューム５ｂへ転送することを指示するＯＤＸコマンドを受信すると、ＯＤＸセッションの起動を、セッション管理部１２に指示する。
【００４６】
また、ＯＤＸコマンド制御部１１ｂは、ＯＤＸセッション管理部１２ａによるＯＤＸセッション（転送処理）において、ＯＤＸコマンドに対する応答時間内に転送された転送データ（転送可能データ）に関する情報を含む応答を、ホスト装置２へ送信する。なお、転送可能データについては、後述する。
なお、ＯＤＸコマンド制御部１１ｂは、少なくともＯＤＸセッション管理部１２ａによる転送先への転送可能データの物理的な転送が完了してから、ホスト装置２へ応答を送信する。
【００４７】
コピーコマンド制御部１１ｃは、ホスト装置２から受領したＲＥＣコマンドに係る制御を行なう。
例えば、コピーコマンド制御部１１ｃは、ＲＥＣの開始コマンドを受信すると、コピーセッション管理部１２ｂにＲＥＣセッションの起動を指示する。
ＲＥＣバッファ管理部（バッファ管理部）１３は、ＲＥＣのコンシステンシモードでＣＭ３Ａにより利用されるＲＥＣバッファ１３ａを管理する。なお、ＲＥＣバッファ１３ａは、例えばメモリ３２の記憶領域の少なくとも一部の領域により実現される。
【００４８】
例えば、ＲＥＣバッファ管理部１３は、ＲＥＣが等価状態の場合、コピーセッション管理部１２ｂによるコピーの開始に応じて、転送可能データを応答時間内にＲＥＣバッファ１３ａへ格納する。また、ＲＥＣバッファ管理部１３は、所定のタイミングで、ＲＥＣバッファ１３ａに格納された転送可能データを、ストレージ装置１Ｂへ送信（バッファ転送）する。
【００４９】
具体的には、ＲＥＣバッファ管理部１３は、コピーセッション管理部１２ｂからＲＥＣセッションのコピー先（ボリューム５ｄ）への転送可能データを渡されると、渡された順で転送可能データをＲＥＣバッファ１３ａに格納する。そして、ＲＥＣバッファ管理部１３は、ＲＥＣバッファ１３ａに格納されたデータが所定サイズを超えた場合等の所定のタイミングで、又は、定期的に、ＲＥＣバッファ１３ａに格納されているデータをストレージ装置１Ｂへ送信する。
【００５０】
このように、ＲＥＣバッファ管理部１３は、ＲＥＣが等価状態の場合、ＯＤＸセッションによる転送先（ボリューム５ｂ）への転送可能データの書き込みとは非同期で、コピー先（ボリューム５ｄ）へ転送可能データを送信する。
なお、ＲＥＣバッファ管理部１３は、ＲＥＣがコピー中状態の場合、バックグラウンドで動作するＯＤＸセッションにより転送先（ボリューム５ｂ）に書き込まれた転送データを、ＲＥＣバッファ１３ａに格納する。また、ＲＥＣバッファ管理部１３は、ＲＥＣが等価状態又はコピー中状態である場合、コピー元記憶領域５Ａでの更新データを、ＲＥＣバッファ１３ａに格納する。
【００５１】
セッション管理部１２は、ＯＤＸセッションやＲＥＣセッション等のセッションを管理する。なお、セッション管理部１２は、セッションの管理に用いる管理情報をメモリ３２等に保存し、参照／更新する。セッション管理部１２は、ＯＤＸセッション管理部１２ａ及びコピーセッション管理部１２ｂをそなえる。
ＯＤＸセッション管理部（転送処理部）１２ａは、ＲＥＣが等価状態の場合、ＯＤＸコマンドの受信に応じて、転送元であるボリューム５ａから転送データを読み出し、転送先であるボリューム５ｂに書き込むＯＤＸセッションを起動（開始）する。
【００５２】
具体的には、ＯＤＸセッション管理部１２ａは、起動したＯＤＸセッションにおいて、転送コマンドに対する応答時間内に転送可能な、転送データの少なくとも一部の転送可能データについて、ボリューム５ａから読み出してボリューム５ｂに書き込む。転送可能データに関する情報としては、転送したブロックサイズ、又は転送可能データが記憶された領域（例えばアドレス）等の情報が挙げられる。なお、応答時間は、ＯＤＸの仕様により、又はホスト装置２若しくはストレージシステム１０の管理者等により、予め定められた時間であり、例えば数秒程度である。
【００５３】
ここで、ＯＤＸセッション管理部１２ａは、等価状態におけるＯＤＸセッションにおいて、転送データをブロック単位で転送する。なお、ブロックは、転送データのうちの纏まったサイズ（例えば数ＭＢｙｔｅ）のデータ（一部転送データ）である。ＯＤＸセッション管理部１２ａは、１ブロック又は数ブロックのデータを転送すると、現在の時刻が応答時間の期限に達しているか否かを判断する。達していない場合、ＯＤＸセッション管理部１２ａは、次のブロックの転送を行なう。一方、ＯＤＸセッション管理部１２ａは、現在の時刻が応答時間の期限に達している場合（タイムアウトした場合）、ブロックの転送を止め、ＯＤＸセッションにおいて転送した全ブロック（転送可能データ）に関するサイズ等の情報を、ＯＤＸコマンド制御部１１ｂへ通知する。
【００５４】
なお、図３１に示すＯＤＸセッションでは、転送データは、ホスト装置２への応答送信後にバックグラウンドで実行される。しかし、ＯＤＸセッション管理部１２ａは、ＲＥＣが等価状態の場合には、転送データのうちの転送可能データについて、応答時間内に転送を行なう。これにより、ホストＩ／Ｆ制御部１１は、ＯＤＸによる物理的な転送が確実に完了した転送可能データをホスト装置２へ通知することができる。
【００５５】
なお、ＯＤＸコマンド制御部１１ｂがホスト装置２へ応答を返すと、ホスト装置２は、新たなＯＤＸコマンドを発行する。新たなＯＤＸコマンドは、ボリューム５ａのうちのＯＤＸセッション管理部１２ａが転送を行なわなかった領域に記憶されたデータを、ボリューム５ｂへ転送することを指示するものである。ホスト装置２は、ストレージ装置１Ａから通知されたブロック数等の情報に基づいて、新たなＯＤＸコマンドに含める更新後の転送元及び転送先の領域（転送範囲）を決定する。
【００５６】
ＯＤＸセッション管理部１２ａは、ＯＤＸコマンドで指定される全ての領域に係る転送処理が完了するまで、応答を返すごとにホスト装置２から発行される新たなＯＤＸコマンドに基づいて、また、上述した転送可能データごとの転送処理を繰り返す。
なお、ＯＤＸセッション管理部１２ａは、ＲＥＣが等価状態ではない（例えばコピー中状態の）場合や、ＯＤＸの転送先がＲＥＣのコピー元ではない場合等には、図３１に示すものと同様の処理を行なう。すなわち、ＯＤＸセッション管理部１２ａはＯＤＸコマンドの受信に応じてＯＤＸセッションを起動してバックグラウンドで転送データの転送を行ない、ＯＤＸコマンド制御部１１ｂはＯＤＸセッションが起動されると応答を返す。
【００５７】
コピーセッション管理部（コピー処理部）１２ｂは、ＲＥＣセッションを管理する。
例えば、コピーセッション管理部１２ｂは、ＲＥＣが等価状態ではない場合（例えばコピー中状態の場合）、ＲＥＣセッション（コピー処理）において、コピー元記憶領域５Ａのデータを対応するコピー先記憶領域５Ｂへコピーする。
また、コピーセッション管理部１２ｂは、ＲＥＣが等価状態の場合、ＯＤＸセッションの開始とともに、ＲＥＣセッション（コピー処理）において、ＯＤＸの転送先（コピー元のボリューム５ｂ）に対応するコピー先記憶領域５Ｂのボリューム５ｄ（対応領域）への転送データのコピーを開始する。すなわち、コピーセッション管理部１２ｂは、ＯＤＸセッションが開始されたこと（ＯＤＸコマンドを受信したこと）をトリガに、ＲＥＣセッションにおける転送データのコピーを開始する。
【００５８】
具体的には、コピーセッション管理部１２ｂは、ＲＥＣが等価状態の場合、コピーの開始処理において、転送可能データのボリューム５ｄへのコピーを開始する。ここで、コピーセッション管理部１２ｂが起動するコピーは、等価状態のＲＥＣが同期モード及びコンシステンシモードのいずれのコピーモードであるかに応じて、以下のように実行される。
・同期モードの場合
コピーセッション管理部１２ｂは、同期モードの場合、開始したコピーにおいて、ＲＥＣの機能により、応答時間内に転送可能データをボリューム５ｄへコピーする。
【００５９】
なお、同期モードの場合、ＯＤＸコマンド制御部１１ｂは、ＯＤＸセッション管理部１２ａによる転送可能データの転送先へのＯＤＸセッションと、コピーセッション管理部１２ｂによる転送可能データのＲＥＣコピー先へのコピーとが完了してから、ホスト装置２へ応答を送信する。
・コンシステンシモードの場合
コピーセッション管理部１２ｂは、コンシステンシモードの場合、開始したコピーにおいて、ＲＥＣの機能により、ボリューム５ｄへの転送可能データをＲＥＣバッファ管理部１３に渡し、ＲＥＣバッファ管理部１３にＲＥＣバッファ１３ａへの格納を指示する。ＲＥＣバッファ１３ａに格納された転送可能データは、上述のように、ＲＥＣバッファ管理部１３により、所定のタイミングでボリューム５ｄへ送信される。
【００６０】
なお、コンシステンシモードの場合、ＯＤＸコマンド制御部１１ｂは、ＯＤＸセッション管理部１２ａによる転送可能データの転送先へのＯＤＸセッションと、ＲＥＣバッファ管理部１３によるＲＥＣバッファ１３ａへの転送可能データの格納とが完了してから、ホスト装置２へ応答を送信する。
また、コピーセッション管理部１２ｂは、ＲＥＣバッファ管理部１３によるバッファ転送前に切り離しコマンドを受領した場合、ＲＥＣバッファ１３ａに格納されているデータが全てバッファ転送されるまで、切り離し状態への変更処理を待機（待ち合わせ）する。
【００６１】
装置間Ｉ／Ｆ制御部１４は、ＲＡ３４を介して、ストレージ装置１Ｂとの間のインタフェース制御を行なうものである。例えば、装置間Ｉ／Ｆ制御部１４は、コピーセッション管理部１２ｂ又はＲＥＣバッファ管理部１３から送信されるＲＥＣセッション等に関するデータやコマンド等の情報をストレージ装置１Ｂへ送信する。また、装置間Ｉ／Ｆ制御部１４は、ストレージ装置１ＢからＲＥＣセッション等に関する応答等の情報を受信し、コピーセッション管理部１２ｂ又はＲＥＣバッファ管理部１３へ渡す。
【００６２】
以上のように、同期モードでは、ＯＤＸコマンド制御部１１ｂは、ＯＤＸによる転送可能データの物理的な転送と、ＲＥＣによる転送可能データのコピーとが完了してからホスト装置２へ応答を返す。従って、ホスト装置２への応答において、コピー元記憶領域５Ａとコピー先記憶領域５Ｂとの同期（等価状態）を確実に保証することができる。
また、コンシステンシモードでは、ＯＤＸコマンド制御部１１ｂは、ＯＤＸによる転送可能データの物理的な転送と、ＲＥＣによる転送可能データのＲＥＣバッファ１３ａへの格納とが完了してからホスト装置２へ応答を返す。従って、ホスト装置２への応答において、コピー元記憶領域５Ａとコピー先記憶領域５Ｂとの同期を、非同期のコピーモードであるコンシステンシモードで許容されるレベルで保証することができる。
【００６３】
〔１−４−２〕コピー先ストレージ装置の構成
次に、コピー先ストレージ装置１Ｂ（ＣＭ３Ｂ）の構成について説明する。
コピー先ストレージ装置１ＢのＣＭ３Ｂは、ホストＩ／Ｆ制御部２１、セッション管理部２２、ＲＥＣバッファ管理部２３、ＲＥＣバッファ２３ａ、及び装置間Ｉ／Ｆ制御部２４をそなえる。
【００６４】
ホストＩ／Ｆ制御部２１は、ＣＡ３３を介して、ホスト装置２との間のインタフェース制御を行なうものであり、ＣＭ３ＡのホストＩ／Ｆ制御部１１と同様の機能をそなえる。
例えば、ホストＩ／Ｆ制御部２１は、ホスト装置２からＲＥＣの切り離しコマンドを受信すると、セッション管理部２２にＲＥＣセッションの停止を指示する。
ＲＥＣバッファ管理部２３は、ＲＥＣのコンシステンシモードでＣＭ３Ｂにより利用されるＲＥＣバッファ２３ａを管理する。なお、ＲＥＣバッファ２３ａは、例えばメモリ３２の記憶領域の少なくとも一部の領域により実現される。
【００６５】
例えば、ＲＥＣバッファ管理部２３は、コンシステンシモードにおいて、ストレージ装置１Ａから送信（バッファ転送）されたデータ（転送可能データ）を、ＲＥＣバッファ２３ａに格納する。また、ＲＥＣバッファ管理部２３は、ＲＥＣバッファ管理部１３と同様の所定のタイミングで、ＲＥＣバッファ２３ａに格納されたデータをブロック単位で格納順に読み出し、セッション管理部２２に渡す。
【００６６】
セッション管理部２２は、ＲＥＣセッション等のセッションを管理する。なお、セッション管理部２２は、セッションの管理に用いる管理情報をメモリ３２等に保存し、参照／更新する。
例えば、セッション管理部２２は、ＲＥＣがコピー中状態又は等価状態である場合、ストレージ装置１Ｂから送信されたＲＥＣのコピー元記憶領域５Ａのデータについて、対応するコピー先記憶領域５Ｂへの書き込みをＤＥ４に指示する。このとき、セッション管理部２２は、コンシステンシモードの場合には、ＲＥＣバッファ２３ａに格納されたデータ（転送可能データ）をＲＥＣバッファ管理部２３から受け取り、当該データについて、コピー先記憶領域５Ｂへの書き込みをＤＥ４に指示する。
【００６７】
装置間Ｉ／Ｆ制御部２４は、ＲＡ３４を介して、ストレージ装置１Ａとの間のインタフェース制御を行なうものである。例えば、装置間Ｉ／Ｆ制御部２４は、ストレージ装置１Ａとの間で、ＲＥＣセッション等に関するデータやコマンド等の情報を送受信する。
〔１−５〕ストレージシステムの動作例
次に、図５〜図１２を参照して、上述の如く構成された第１実施形態の一例としてのストレージシステム１０の動作例について説明する。
【００６８】
図５は、図４に示すコピー元ストレージ装置１ＡがＯＤＸコマンドを受信した場合の処理の一例を示すフローチャートであり、図６は、図５に示す同期転送処理の一例を示すフローチャートである。図７は、同期モードの場合の同期転送処理を説明する図であり、図８は、コンシステンシモードの場合の同期転送処理を説明する図である。図９は、図５に示す非同期転送処理の一例を示すフローチャートであり、図１０は、図９に示す物理転送処理の一例を示すフローチャートである。図１１は、同期モードの場合の非同期転送処理を説明する図であり、図１２は、コンシステンシモードの場合の非同期転送処理を説明する図である。
【００６９】
図５に示すように、ホスト装置２によりコピー元ストレージ装置１ＡへＯＤＸコマンドが発行されると、ＯＤＸコマンド制御部１１ｂによりＯＤＸコマンドが受領される（ステップＳ１；図７，図８，図１１，図１２の矢印（１）参照）。
ＯＤＸコマンド制御部１１ｂでは、セッション管理部１２へ、ＯＤＸセッションの起動が指示される。セッション管理部１２では、ＯＤＸによる転送先のボリューム５ｂがＲＥＣのコピー元であるか否かの判断（ステップＳ２）、及び、コピー元である場合にはＲＥＣが等価状態であるか否かの判断が行なわれる（ステップＳ３）。
【００７０】
転送先がコピー元であり（ステップＳ２のＹｅｓルート）、且つ、ＲＥＣが等価状態である場合（ステップＳ３のＹｅｓルート）、ＯＤＸセッション管理部１２ａにより、同期転送処理が実行される（ステップＳ４及び図６のステップＳ１１〜Ｓ１５）。同期転送処理が完了すると、処理が後述するステップＳ６へ移行する。
一方、転送先がコピー元ではない（ステップＳ２のＮｏルート）、又は、ＲＥＣが等価状態ではない場合（ステップＳ３のＮｏルート）、ＯＤＸセッション管理部１２ａにより、非同期転送処理が起動される（ステップＳ５及び図９のステップＳ２１〜Ｓ２３）。なお、ステップＳ５では、ＯＤＸセッション管理部１２ａは、非同期転送処理の起動により、ＯＤＸセッションをバックグラウンドで起動させると、ＯＤＸコマンド制御部１１ｂを介してホスト装置２へＯＤＸコマンドへの応答を返す（ステップＳ６）。
【００７１】
以上により、コピー元ストレージ装置１ＡがＯＤＸコマンドを受領した場合の処理が終了する。
次に、ステップＳ４における同期転送処理について説明する。
図６に示すように、同期転送処理では、ＯＤＸセッション管理部１２ａにより、ＯＤＸによる物理的な転送が転送データの少なくとも一部のブロック（一部転送データ）について実施される（ステップＳ１１；図７，図８の矢印（２−１）参照）。また、同時に、セッション管理部１２により、コピーモードが同期モードであるか否かが判断される（ステップＳ１２）。
【００７２】
コピーモードが同期モードの場合（ステップＳ１２のＹｅｓルート）、コピーセッション管理部１２ｂにより、転送元から読み出された又は転送先へ書き込まれた一部転送データがＲＥＣのコピー先にコピーされる（ステップＳ１３；図７の矢印（２−２）参照）。
一方、コピーモードが同期モードではない場合（ステップＳ１２のＮｏルート）、つまりコンシステンシモードの場合、コピーセッション管理部１２ｂにより、転送元から読み出された又は転送先へ書き込まれた一部転送データがＲＥＣバッファ管理部１３へ渡される。ＲＥＣバッファ管理部１３では、渡された一部転送データがＲＥＣバッファ１３ａへ格納される（ステップＳ１４；図８の矢印（２−２）参照）。
【００７３】
ステップＳ１３又はＳ１４の処理が完了すると、ＯＤＸセッション管理部１２ａにより、ＯＤＸコマンドで指示された転送範囲について、転送処理が完了したか否か、又は、タイムアウトしたか否かが判断される（ステップＳ１５）。転送処理が完了しておらず、且つ、タイムアウトしていない場合（ステップＳ１５のＮｏルート）、処理がステップＳ１１に移行する。
【００７４】
一方、転送処理が完了した、又は、タイムアウトした場合（ステップＳ１５のＹｅｓルート）、同期転送処理が完了し、図５のステップＳ６の処理が実行される。すなわち、図５のステップＳ６において、ＯＤＸコマンド制御部１１ｂにより、ＯＤＸコマンドに対する応答がホスト装置２へ送信される（図７，図８の矢印（３）参照）。このとき、応答には、転送処理の完了又はタイムアウトまでに転送されたブロック数（転送可能データ）に関する情報が含まれる。
【００７５】
以上により、同期モードの場合における、コピー元ストレージ装置１ＡがＯＤＸコマンドを受領した場合の同期転送処理が終了する。
なお、コンシステンシモードの場合、ＲＥＣバッファ１３ａに格納されたデータ（一部転送データ，転送可能データ）は、ＲＥＣバッファ管理部１３により、所定のタイミングでコピー先へバッファ転送される（図８の矢印（４−１）参照）。また、コピー先ストレージ装置１Ｂでは、バッファ転送されてＲＥＣバッファ２３ａに格納されたデータが、ＲＥＣバッファ管理部２３経由でセッション管理部２２により読み出される。そして、セッション管理部２２により、ＲＥＣの機能でＲＥＣバッファ２３ａに格納されたデータがコピー先ボリューム５ｄへコピーされる（図８の矢印（４−２）参照）。
【００７６】
以上により、コンシステンシモードにおける、コピー元ストレージ装置１ＡがＯＤＸコマンドを受領した場合の同期転送処理が終了する。
なお、ホスト装置２は、応答に含まれるブロック数に基づいて（加味して）、先のＯＤＸコマンドで転送が行なわれなかった転送領域について、新たなＯＤＸコマンドをコピー元ストレージ装置１Ａへ発行する。つまり、ホスト装置２は、転送が完了したブロック数を受領すると、続きのブロックアドレスから始まる次の転送範囲を指定するＯＤＸコマンドを発行する。ストレージシステム１０では、このようにして、最初のＯＤＸコマンドで指定された転送範囲の転送データが全て転送される（又はＲＥＣバッファ１３ａに格納される）まで、上述した処理が繰り返される。
【００７７】
次に、図５に示すステップＳ５で起動される非同期転送処理について説明する。
図９に示すように、非同期転送処理では、ＯＤＸセッション管理部１２ａにより、ＯＤＸセッションが作成される（ステップＳ２１；図１１，図１２の矢印（２）参照）。そして、ＯＤＸセッション管理部１２ａにより、ＯＤＸによる物理的な転送が、バックグラウンドで起動される（ステップＳ２２）。なお、図５のステップＳ６におけるＯＤＸコマンドへの応答は、ＯＤＸコマンド制御部１１ｂにより、ステップＳ２２の処理が完了するとホスト装置２へ送信される（図１１，図１２の矢印（３）参照）。
【００７８】
次いで、ＯＤＸセッション管理部１２ａによる物理転送処理が実行される（ステップＳ２３及び図１０のステップＳ３１〜Ｓ３６）。
図１０に示すように、物理転送処理では、ＯＤＸセッション管理部１２ａにより、ＯＤＸによる物理的な転送が実施される（ステップＳ３１）。このとき、セッション管理部１２により、コピーモードが同期モードであるか否かが判断される（ステップＳ３２）。
【００７９】
コピーモードが同期モードである場合（ステップＳ３２のＹｅｓルート）、コピーセッション管理部１２ｂにより、転送元から読み出された又は転送先へ書き込まれた転送データがＲＥＣのコピー先にコピーされる（ステップＳ３３）。
一方、コピーモードが同期モードではない場合（ステップＳ３２のＮｏルート）、つまりコンシステンシモードの場合、コピーセッション管理部１２ｂにより、転送元から読み出された又は転送先へ書き込まれた転送データがＲＥＣバッファ管理部１３へ渡される。ＲＥＣバッファ管理部１３では、渡された転送データがＲＥＣバッファ１３ａへ格納される（ステップＳ３４；図１２の矢印（４）参照）。
【００８０】
ステップＳ３３又はＳ３４の処理が完了すると、ＯＤＸセッション管理部１２ａにより、ＯＤＸコマンドで指示された転送範囲について、転送処理が完了したか否かが判断される（ステップＳ３５）。転送処理が完了していない場合（ステップＳ３５のＮｏルート）、処理がステップＳ３１に移行する。
一方、転送処理が完了した場合（ステップＳ３５のＹｅｓルート）、ＯＤＸセッション管理部１２ａによりＯＤＸセッションが削除される（ステップＳ３６）。
【００８１】
なお、コンシステンシモードの場合、ＲＥＣバッファ１３ａに格納されたデータ（転送データ）は、ＲＥＣバッファ管理部１３により、所定のタイミングでコピー先へバッファ転送される（図１２の矢印（５−１）参照）。また、コピー先ストレージ装置１Ｂでは、セッション管理部２２により、バッファ転送されてＲＥＣバッファ２３ａに格納されたデータがＲＥＣの機能でボリューム５ｄへコピーされる（図１２の矢印（５−２）参照）。
【００８２】
また、同期モード及びコンシステンシモードのいずれのコピーモードにおいても、コピーセッション管理部１２ｂは、ＯＤＸセッション及びＲＥＣセッションの双方のコピーが完了したときに、ＲＥＣを等価状態に遷移する（図１１の矢印（４），図１２の矢印（６）参照）。
以上により、コピー元ストレージ装置１ＡがＯＤＸコマンドを受領した場合の非同期転送処理が終了する。
【００８３】
〔２〕第２実施形態
次に、第２実施形態に係るストレージシステム１０について説明する。
なお、第２実施形態に係るストレージシステム１０の構成例、バックアップの態様、及びストレージ装置１のハードウェア構成例は、図１〜図３に示すものと基本的に同様であるため、重複した説明は省略する。
【００８４】
〔２−１〕ストレージシステムについて
はじめに、第２実施形態に係るストレージシステム１０について、簡単に説明する。
ストレージシステム１０の運用形態としては、ＯＤＸの転送元及び転送先がともにＲＥＣによるコピー対象（コピー元）である場合が多い。ＯＤＸは、ホスト装置２が認識できる業務ボリュームで使用されるため、ＯＤＸの転送元及び転送先のいずれか一方のみがＲＥＣ対象であるというのは考えにくいことを踏まえると、この前提条件は一般的なストレージシステム１０の運用環境で満たされているといえる。
【００８５】
上述した前提条件において、ＲＥＣのコピー先ストレージ装置１Ｂ（ボリューム５ｃ）には、ＯＤＸの転送元（ボリューム５ａ）のデータが存在するはずである。従って、ストレージ装置１Ａは、ＯＤＸの転送先（ボリューム５ｂ）に転送された転送データ自体の、ＲＥＣによるストレージ装置１Ｂへのコピーを省略することができる。
例えば、第２実施形態に係るストレージシステム１０は、ＲＥＣが等価状態の場合、ホスト装置２からＯＤＸコマンドを受領すると、ＯＤＸセッションを起動するとともに、コピー先ストレージ装置１ＢでもＯＤＸセッションを起動させてから、ホスト装置２へ応答を返す。すなわち、コピー元のＣＭ３Ａは、ＯＤＸセッションの起動と同期的にＲＥＣのコピー先にもＯＤＸセッションの起動を行なわせることによって、ＲＥＣによるコピー元及びコピー先で並行して同様のＯＤＸセッションを動かし、コピー元及びコピー先の等価性を保証する。
【００８６】
従って、第１実施形態と同様に、ＯＤＸコマンド受信後にストレージ装置１Ａ又はコピー元記憶領域５Ａが故障した場合でも、ホスト装置２は、コピー先記憶領域５Ｂに記憶されたデータからストレージ装置１Ａ又はコピー元記憶領域５Ａを復旧することができる。
さらに、ＲＥＣによるストレージ装置１間での転送データ自体の通信を省略できるためストレージ装置１間でのデータ転送量を削減することも可能となる。
【００８７】
また、コピー元及びコピー先では、ＯＤＸセッションがバックグラウンドで動作するため、コピー元ストレージ装置１Ａは、ＯＤＸセッションの起動後にホスト装置２へ応答を返すことができる。従って、ＯＤＸによる物理的な転送とＲＥＣによる物理的なコピーとを同期的に実行する場合よりも応答の遅延を低減することも可能となる。
なお、第２実施形態に係るストレージシステム１０では、上述のように、ストレージ装置１Ａのコピー元記憶領域５Ａにおける、ＯＤＸセッションの転送元及び転送先（ボリューム５ａ及び５ｂ）がともにＲＥＣセッションのコピー元であることを前提とする。この場合、ストレージ装置１Ｂのコピー先記憶領域５Ｂにおけるボリューム５ｃ及び５ｄが、ＲＥＣセッションのコピー先となる。また、ボリューム５ｃ及び５ｄは、それぞれ、コピー先で起動されるコピー先ＯＤＸセッションの転送元及び転送先となる。
【００８８】
以下、第２実施形態に係るストレージシステム１０の詳細について説明する。
〔２−２〕ストレージシステムの構成
次に、図１３及び図１４を参照して、図１に示すストレージシステム１０の機能構成について説明する。図１３及び図１４は、それぞれ、第２実施形態の一例としてのコピー元ストレージ装置１Ａ及びコピー先ストレージ１Ｂの機能構成例を示す図である。
【００８９】
ＣＭ３は、図１３に示すようにＲＥＣセッションのコピー元のストレージ装置１の機能としてストレージ装置１Ａに示す構成をそなえ、図１４に示すようにＲＥＣセッションのコピー先のストレージ装置１の機能としてストレージ装置１Ｂに示す構成をそなえる。
なお、以下の説明では、ストレージシステム１０におけるＯＤＸ及びＲＥＣに係る機能に着目し、ストレージシステム１０が、ＲＥＣのコピーモードのうちの同期モードを用いる場合とコンシステンシモードを用いる場合とに分けて説明する。
【００９０】
また、図１３及び図１４において、図４に示す符号と同一の符号が付されたブロックは、図４に示すブロックと同様の機能を有するため、重複した説明は省略する。
〔２−２−１〕コピー元ストレージ装置の構成
はじめに、コピー元ストレージ装置１Ａ（ＣＭ３Ａ）の構成について説明する。
コピー元ストレージ装置１ＡのＣＭ３Ａは、ホストＩ／Ｆ制御部１１、セッション管理部１２、ＲＥＣバッファ管理部１３’、ＲＥＣバッファ１３ａ、及び装置間Ｉ／Ｆ制御部１４をそなえる。なお、ＲＥＣバッファ１３ａ及び装置間Ｉ／Ｆ制御部１４は、第１実施形態と同様である。
【００９１】
ホストＩ／Ｆ制御部（コマンド制御部）１１は、第１実施形態とは異なる書込／読出コマンド制御部１１ａ’及びＯＤＸコマンド制御部１１ｂ’をそなえるとともに、第１実施形態と同様のコピーコマンド制御部１１ｃをそなえる。
書込／読出コマンド制御部１１ａ’は、ホスト装置２から受領した書込／読出コマンドに係る制御を行なう。
【００９２】
例えば、書込／読出コマンド制御部１１ａ’は、ＲＥＣが等価状態の場合に、ボリューム５ｂへの書込コマンドを受信すると、ボリューム５ｂの書込先（書込領域）への書込データの書き込みを、ＤＩ３５を介してＤＥ４に指示する。また、書込／読出コマンド制御部１１ａ’は、ＲＥＣによる書込データのコピー先（ボリューム５ｄ）へのコピー（コピー先ＣＭ３ＢでのＯＤＸセッションの起動）を、セッション管理部１２に指示する。
【００９３】
また、書込／読出コマンド制御部１１ａ’は、ＲＥＣが等価状態の場合に、バックグラウンドでのＯＤＸによる転送データの書き込みが未完了の転送先（ボリューム５ｂ）に対する書込コマンドをホスト装置２から受領する場合がある。
この場合、書込／読出コマンド制御部１１ａ’は、書込データの書き込みよりも先に、ＯＤＸセッション管理部１２ａ’に、書込先へのＯＤＸによる物理的な転送を開始させてから、書込先への書込データの書き込みを行なう（ＤＥ４に指示する）。次いで、書込／読出コマンド制御部１１ａ’は、コピーセッション管理部１２ｂ’に、ＯＤＸによる転送データのボリューム５ｄへのコピーを開始させる。また、書込／読出コマンド制御部１１ａ’は、コピーセッション管理部１２ｂ’に、ＲＥＣの機能により書込データをコピー先へ送信させ、書込データをボリューム５ｂへ書き込ませる。そして、書込／読出コマンド制御部１１ａ’は、ホスト装置２へ応答を返す。これにより、書込先に対する、ＯＤＸの転送データと書込データとの順序性を保証することができ、コピー元記憶領域５Ａとコピー先記憶領域５Ｂとの同期（等価状態）を確実に保証することができる。
【００９４】
ＯＤＸコマンド制御部１１ｂ’は、ホスト装置２から受領したＯＤＸコマンドに係る制御を行なう。
例えば、ＯＤＸコマンド制御部１１ｂ’は、ボリューム５ａに記憶されたデータ（転送データ）をボリューム５ｂへ転送することを指示するＯＤＸコマンドを受信すると、ＯＤＸセッションの起動を、セッション管理部１２に指示する。
【００９５】
また、ＯＤＸコマンド制御部１１ｂ’は、ＯＤＸセッション管理部１２ａ’による転送データのＯＤＸセッション（転送処理）と、コピーセッション管理部１２ｂ’による後述するコピー先転送コマンドの発行とが完了してから、ＯＤＸコマンドに対する応答をホスト装置２へ送信する。
ＲＥＣバッファ管理部（バッファ管理部）１３’は、ＲＥＣのコンシステンシモードでＣＭ３Ａにより利用されるＲＥＣバッファ（バッファ）１３ａを管理する。
【００９６】
例えば、ＲＥＣバッファ管理部１３’は、ＲＥＣが等価状態の場合、コピーセッション管理部１２ｂ’によるコピーの開始に応じて、コピー先転送コマンドをＲＥＣバッファ１３ａへ格納する。また、ＲＥＣバッファ管理部１３’は、第１実施形態のＲＥＣバッファ管理部１３と同様の所定のタイミングで、ＲＥＣバッファ１３ａに格納されたコピー先転送コマンドを、ストレージ装置１Ｂへ送信（バッファ転送）する。
【００９７】
具体的には、ＲＥＣバッファ管理部１３’は、コピーセッション管理部１２ｂ’からＲＥＣセッションのコピー先（ボリューム５ｄ）へのコピー先転送コマンドを渡されると、渡された順でコピー先転送コマンドをＲＥＣバッファ１３ａに格納する。
このように、ＲＥＣバッファ管理部１３’は、ＯＤＸセッションによる転送先（ボリューム５ｂ）への転送データの書き込みとは非同期で、コピー先（ボリューム５ｄ）へコピー先転送コマンドを送信する。
【００９８】
なお、ＲＥＣバッファ管理部１３’は、ＲＥＣがコピー中状態の場合、バックグラウンドで動作するＯＤＸセッションにより転送先（ボリューム５ｂ）に書き込まれた転送データを、ＲＥＣバッファ１３ａに格納する。また、ＲＥＣバッファ管理部１３’は、ＲＥＣが等価状態又はコピー中状態である場合、コピー元記憶領域５Ａでの更新データを、ＲＥＣバッファ１３ａに格納する。
【００９９】
図１５は、図１３に示すＲＥＣバッファ管理部１３’の処理の一例を説明する図である。図１５に示すように、ＲＥＣバッファ管理部１３’は、更新データの書き込みやコピー先転送コマンドの発行がされた順に、更新データ又はコピー先転送コマンドをＲＥＣバッファ１３ａにおける所定サイズのブロックに格納していく。ＲＥＣバッファ管理部１３’は、ＲＥＣバッファ１３ａのブロックがいっぱいになると、次のブロックに切り替えて、更新データ又はコピー先転送コマンドの格納を行なう。
【０１００】
ここで、ＲＥＣによるバッファ転送によってコピー先へ送信された、ＲＥＣバッファ１３ａ内のデータは、ブロックごとにコピー先のボリューム５にコピーされる。このように、コンシステンシモードでは、ブロック単位でコピー先のボリューム５へのコピーが行なわれるため、ブロック間での順序性が保証される。
例えば、図１５に示すように、ＯＤＸの転送先のボリューム５において、領域Ａの更新データがＲＥＣバッファ１３ａのブロックに格納された状態で、ＯＤＸに係る転送データが領域Ａに書き込まれた場合を想定する。この場合、ＲＥＣバッファ管理部１３’は、領域Ａに係るコピー先転送コマンドを当該ブロックへ格納する。
【０１０１】
しかし、当該ブロックは、領域Ａについて、更新データとコピー先転送コマンドとが混在することになる。この場合、コピー先では、同一ブロック内の順序性は保証されないため、転送データが更新データにより上書きされてしまうことがある。
そこで、ＲＥＣバッファ管理部１３’は、コピー先転送コマンドをＲＥＣバッファ１３ａへ格納する際に、ブロックに格納されたデータのアドレスを管理する管理情報（図示省略）をメモリ３２等から参照する。そして、ＲＥＣバッファ管理部１３’は、管理情報に基づき、更新データが同じブロックに格納されていると判断すると、ブロックに空きがあっても、ブロックを次のブロックに切り替えて（バッファ切替を行ない）、切り替えたブロックにコピー先転送コマンドを格納する。
【０１０２】
これにより、コピー先転送コマンドがＲＥＣバッファ１３ａ経由でコピー先へ送信される場合であっても、ブロック内での順序性を保証することができる。
なお、ＲＥＣバッファ管理部１３’は、ＲＥＣが等価状態の場合に、書込／読出コマンド制御部１１ａ'が、バックグラウンドでＯＤＸによる転送が動作している転送先（ボリューム５ｂ）への書込コマンドを受領した場合にも、同様の処理を行なってよい。
【０１０３】
セッション管理部１２は、第１実施形態とは異なるＯＤＸセッション管理部１２ａ’及びコピーセッション管理部１２ｂ’をそなえる。
ＯＤＸセッション管理部（転送処理部）１２ａ’は、ＲＥＣが等価状態の場合、ＯＤＸコマンドの受信に応じて、転送元であるボリューム５ａから転送データを読み出し、転送先であるボリューム５ｂに書き込むＯＤＸセッションを起動（開始）する。
【０１０４】
具体的には、ＯＤＸセッション管理部１２ａ’は、ＯＤＸコマンドの受信に応じてＯＤＸセッションを起動して、バックグラウンドで転送データの転送を行なう。
コピーセッション管理部（コピー処理部）１２ｂ’は、ＲＥＣが等価状態の場合、ＯＤＸセッションの開始とともに、ＲＥＣセッション（コピー処理）において、ＯＤＸの転送先（コピー元のボリューム５ｂ）に対応するコピー先記憶領域５Ｂのボリューム５ｄ（対応領域）への転送データのコピーを開始する。すなわち、コピーセッション管理部１２ｂ’は、ＯＤＸセッションが開始されたこと（ＯＤＸコマンドを受信したこと）をトリガに、ＲＥＣセッションにおける転送データのコピーを開始する。
【０１０５】
具体的には、コピーセッション管理部１２ｂ’は、ＲＥＣが等価状態の場合、コピーの開始処理において、コピー先転送コマンドを発行する。
ここで、コピー先転送コマンドは、ＯＤＸセッションを起動するための制御情報（ＯＤＸ制御情報）である。例えば、コピー先転送コマンドには、コピー範囲のボリューム番号及びLogical Block Address（ＬＢＡ）が含まれる。コピーセッション管理部１２ｂ’は、例えば、ホスト装置２からのＯＤＸコマンドを改変してコピー先転送コマンドを生成してもよいし、ＯＤＸコマンドに類するコマンドやストレージ装置１間での通信に用いられる指示を生成してコピー先転送コマンドとしてもよい。
【０１０６】
このように、ＯＤＸコマンド制御部１１ｂ’は、ＯＤＸの転送元（ボリューム５ａ）に対応するコピー先（ボリューム５ｃ）に記憶された、転送データに対応するコピー先転送データを、ＯＤＸの転送先（ボリューム５ｂ）に対応するコピー先（ボリューム５ｄ）に転送することを指示するコピー先転送コマンドを、コピー先に発行する。
ここで、コピーセッション管理部１２ｂ’が起動するコピーは、ＲＥＣが同期モード及びコンシステンシモードのいずれのコピーモードであるかに応じて、以下のように実行される。
【０１０７】
・同期モードの場合
コピーセッション管理部１２ｂ’は、同期モードの場合、開始したコピーにおいて、発行したコピー先転送コマンドを、ＲＥＣの機能により他のストレージ装置１Ｂへ送信する。
なお、同期モードの場合、ＯＤＸコマンド制御部１１ｂ’は、ＯＤＸセッション管理部１２ａ’によるＯＤＸセッションの起動処理（開始処理）と、コピーセッション管理部１２ｂ’によるコピー先転送コマンドの送信とが完了してから、ホスト装置２へ応答を送信する。
【０１０８】
・コンシステンシモードの場合
コピーセッション管理部１２ｂ’は、コンシステンシモードの場合、開始したコピーにおいて、生成したコピー先転送コマンドをＲＥＣバッファ管理部１３’に渡し、ＲＥＣバッファ管理部１３’にＲＥＣバッファ１３ａへの格納を指示する。ＲＥＣバッファ１３ａに格納されたコピー先転送コマンドは、上述のように、ＲＥＣバッファ管理部１３’により、ＲＥＣの機能により所定のタイミングでストレージ装置１Ｂへ送信される。
【０１０９】
なお、コンシステンシモードの場合、ＯＤＸコマンド制御部１１ｂ’は、ＯＤＸセッション管理部１２ａ’によるＯＤＸセッションの起動処理と、ＲＥＣバッファ管理部１３’によるＲＥＣバッファ１３ａへのコピー先転送コマンドの格納とが完了してから、ホスト装置２へ応答を送信する。
以上のように、同期モードでは、ＯＤＸコマンド制御部１１ｂ’は、ＯＤＸによるＯＤＸセッションの起動と、ＲＥＣによるコピー先転送コマンドの送信とが完了してからホスト装置２へ応答を返す。従って、ホスト装置２への応答において、コピー元記憶領域５Ａとコピー先記憶領域５Ｂとの同期（等価状態）を確実に保証することができる。
【０１１０】
また、コンシステンシモードでは、ＯＤＸコマンド制御部１１ｂ’は、ＯＤＸによるＯＤＸセッションの起動と、ＲＥＣによるコピー先転送コマンドのＲＥＣバッファ１３ａへの格納とが完了してからホスト装置２へ応答を返す。従って、ホスト装置２への応答において、コピー元記憶領域５Ａとコピー先記憶領域５Ｂとの同期を、非同期のコピーモードであるコンシステンシモードで許容されるレベルで保証することができる。
【０１１１】
〔２−２−２〕コピー先ストレージ装置の構成
次に、コピー先ストレージ装置１Ｂ（ＣＭ３Ｂ）の構成について説明する。
図１４に示すように、コピー先ストレージ装置１ＢのＣＭ３Ｂは、ホストＩ／Ｆ制御部２１’、セッション管理部２２、ＲＥＣバッファ管理部２３’、ＲＥＣバッファ２３ａ、及び装置間Ｉ／Ｆ制御部２４’をそなえる。なお、ＲＥＣバッファ２３ａは、第１実施形態のものと同様である。
【０１１２】
ホストＩ／Ｆ制御部（コピー先コマンド制御部）２１’は、第１実施形態に係るホストＩ／Ｆ制御部２１と基本的に同様の機能をそなえる。例えば、ホストＩ／Ｆ制御部２１’は、ホスト装置２からＲＥＣの切り離しコマンドを受信すると、セッション管理部２２にＲＥＣセッションの停止を指示する。
また、ホストＩ／Ｆ制御部２１’は、コピー先転送コマンドに基づくＯＤＸの物理的な転送が未完了のコピー先の転送先（ボリューム５ｄ）への読出コマンドをホスト装置２から受領する場合がある。
【０１１３】
この場合、ホストＩ／Ｆ制御部２１’は、セッション管理部２２に、読出元（読出領域）へのＯＤＸによる物理的な転送を開始させる。具体的には、ホストＩ／Ｆ制御部２１’は、ＯＤＸセッション管理部２２ａ’に、ボリューム５ｄの読出元へのコピー先転送データの書き込みを行なわせる。
そして、ホストＩ／Ｆ制御部２１’は、読出元への物理的な転送が完了してから、読出コマンドに係る読出データをホスト装置２へ応答する。具体的には、ホストＩ／Ｆ制御部２１’は、転送元（ボリューム５ｃ）から読み出された又は転送先（読出元，ボリューム５ｄ）へ書き込まれたコピー先転送データを、ホスト装置２へ応答する。
【０１１４】
このように、ＯＤＸの物理的な転送が未完了の転送先（ボリューム５ｄ）への読出コマンドが発行されても、ホストＩ／Ｆ制御部２１’により、読出コマンドを契機に、読出元に対するＯＤＸによる物理的な転送が開始される。そして、ホストＩ／Ｆ制御部２１’により、最新の読出データが読み出され、ホスト装置２へ応答される。これにより、ＣＭ３Ｂは、コピー先ＯＤＸセッションをバックグラウンドで実行して処理負荷を低減させつつ、コピー元記憶領域５Ａとコピー先記憶領域５Ｂとの同期（等価状態）を確実に保証することができる。
【０１１５】
ＲＥＣバッファ管理部２３’は、ＲＥＣのコンシステンシモードでＣＭ３Ｂにより利用されるＲＥＣバッファ２３ａを管理する。
例えば、ＲＥＣバッファ管理部２３’は、ＲＥＣが等価状態の場合、ストレージ装置１Ａから送信（バッファ転送）されたデータ（コピー先転送コマンド）を、ＲＥＣバッファ２３ａに格納する。また、ＲＥＣバッファ管理部２３’は、ＲＥＣバッファ管理部１３’と同様の所定のタイミングで、ＲＥＣバッファ２３ａに格納されたデータをブロック単位で格納順に読み出し、セッション管理部２２に渡す。
【０１１６】
セッション管理部２２は、第１実施形態のセッション管理部２２と基本的に同様である。セッション管理部２２は、ＯＤＸセッションやＲＥＣセッション等のセッションを管理する。
例えば、セッション管理部２２は、ＲＥＣがコピー中状態又は等価状態の場合、ストレージ装置１Ｂから送信されたＲＥＣセッションに係るコピー元記憶領域５Ａのデータについて、対応するコピー先記憶領域５Ｂへの書き込みをＤＥ４に指示する。
【０１１７】
セッション管理部２２は、ＯＤＸセッション管理部２２ａ’をそなえる。
ＯＤＸセッション管理部（コピー先転送処理部）２２ａ’は、ＲＥＣが等価状態の場合、ストレージ装置１Ａから受信したコピー先転送コマンドに基づいて、コピー先ＯＤＸセッション（コピー先転送処理）を開始する。具体的には、ＯＤＸセッション管理部２２ａ’は、当該コマンドで指定された転送元（ボリューム５ｃ）からコピー先転送データを読み出し、転送先（ボリューム５ｄ）に書き込むコピー先ＯＤＸセッションをバックグラウンドで起動（開始）する。
【０１１８】
なお、ＯＤＸセッション管理部２２ａ’は、同期モードの場合には、コピー先転送コマンドを装置間Ｉ／Ｆ制御部２４’から受け取る。また、ＯＤＸセッション管理部２２ａ’は、コンシステンシモードの場合には、ＲＥＣバッファ２３ａに格納されたコピー先転送コマンドをＲＥＣバッファ管理部２３’から受け取る。
装置間Ｉ／Ｆ制御部２４’は、第１実施形態の装置間Ｉ／Ｆ制御部２４と基本的に同様である。
【０１１９】
また、装置間Ｉ／Ｆ制御部２４’は、ＲＥＣが等価状態の場合に、バックグラウンドで動作しているＯＤＸの転送先（ボリューム５ｄ）への書込データを、ストレージ装置１Ａから受領する場合がある。
この場合、装置間Ｉ／Ｆ制御部２４’は、上述した書込／読出コマンド制御部１１ａ’と同様に、書込データの書き込みよりも先に、ＯＤＸセッション管理部２２ａ’に、書込先（書込領域）へのＯＤＸによる物理的な転送を開始させる。そして、装置間Ｉ／Ｆ制御部２４’は、書込先への書込データの書き込みをＤＥ４に指示する。これにより、書込先に対する、ＯＤＸの転送データと書込データとの順序性を保証することができ、ストレージ装置１Ａ及び１Ｂを正しい等価状態に維持することができる。
【０１２０】
〔２−３〕ストレージシステムの動作例
次に、図１６〜図２６を参照して、上述の如く構成された第２実施形態の一例としてのストレージシステム１０の動作例について説明する。
〔２−３−１〕コピー元ストレージ装置がＯＤＸコマンドを受信した場合の動作例
はじめに、図１６〜図２０を参照して、図１３に示すコピー元ストレージ装置１ＡがＯＤＸコマンドを受信した場合の動作例について説明する。
【０１２１】
図１６は、図１３に示すコピー元ストレージ装置１ＡがＯＤＸコマンドを受信した場合の処理の一例を示すフローチャートであり、図１７は、図１６に示すコピー先非同期転送処理の一例を示すフローチャートである。図１８は、図１７に示すバッファ転送処理の一例を示すフローチャートである。図１９は、同期モードの場合の非同期転送処理を説明する図であり、図２０は、コンシステンシモードの場合の非同期転送処理を説明する図である。
【０１２２】
なお、以下の説明において、図１６〜図１８における非同期転送処理は、図９及び図１０を参照して説明した処理と同一又は略同一であるため、重複した説明は省略する。
図１６に示すように、ホスト装置２によりＲＥＣのコピー元ストレージ装置１ＡへＯＤＸコマンドが発行されると、ＯＤＸコマンド制御部１１ｂ’によりＯＤＸコマンドが受領される（ステップＳ４１；図１９，図２０の矢印（１）参照）。
【０１２３】
ＯＤＸコマンド制御部１１ｂ’では、セッション管理部１２へ、転送処理の起動が指示される。そして、セッション管理部１２により、ＯＤＸによる転送先のボリューム５ｂがＲＥＣのコピー元であるか否かの判断（ステップＳ４２）、及び、コピー元である場合にはＲＥＣが等価状態であるか否かの判断が行なわれる（ステップＳ４３）。
転送先がコピー元であり（ステップＳ４２のＹｅｓルート）、且つ、ＲＥＣが等価状態である場合（ステップＳ４３のＹｅｓルート）、ＯＤＸセッション管理部１２ａ’により、非同期転送処理が起動される（ステップＳ４４及び図９のステップＳ２１〜Ｓ２３）。なお、ステップＳ４４では、ＯＤＸセッション管理部１２ａ’は、非同期転送処理の起動により、ＯＤＸセッションをバックグラウンドで起動させると（図１９及び図２０の矢印（２−１）参照）、次のステップＳ４５の処理を実行する。
【０１２４】
ステップＳ４５では、コピーセッション管理部１２ｂ’により、コピー先ストレージ装置１Ｂの非同期転送処理が起動される（図１７のステップＳ５１〜Ｓ５６）。ステップＳ４５のコピー先非同期転送処理が完了すると、ホスト装置２へＯＤＸコマンドへの応答を返し（ステップＳ４７；図１９及び図２０の矢印（３）参照）、コピー元ストレージ装置１ＡがＯＤＸコマンドを受領した場合の処理が終了する。
【０１２５】
一方、転送先がコピー元ではない（ステップＳ４２のＮｏルート）、又は、ＲＥＣが等価状態ではない場合（ステップＳ４３のＮｏルート）、ＯＤＸセッション管理部１２ａ’により、非同期転送処理が起動される（ステップＳ４６）。ステップＳ４６の非同期転送処理が起動されると、処理がステップＳ４７へ移行する。
次に、ステップＳ４５におけるコピー先非同期転送処理について説明する。
【０１２６】
図１７に示すように、コピー先非同期転送処理では、セッション管理部１２により、コピーモードが同期モードであるか否かが判断される（ステップＳ５１）。なお、ステップＳ５１の前後において、コピーセッション管理部１２ｂ’は、コピー先ボリューム５ｃからコピー先ボリューム５ｄへのコピー先転送データの転送を指示するＯＤＸ制御情報（コピー先転送コマンド）を発行（作成）する。
【０１２７】
コピーモードが同期モードである場合（ステップＳ５１のＹｅｓルート）、発行されたＯＤＸ制御情報は、コピーセッション管理部１２ｂ’により、装置間Ｉ／Ｆ制御部１４を介してストレージ装置１Ｂへ送信される（ステップＳ５２）。
装置間Ｉ／Ｆ制御部２４’によりＯＤＸ制御情報を受信したストレージ装置１Ｂでは、ＯＤＸセッション管理部２２ａ’により、ＯＤＸ制御情報に基づく非同期転送処理が起動される（ステップＳ５３及び図９のステップＳ２１〜Ｓ２３）。なお、ステップＳ５３では、ＯＤＸセッション管理部２２ａ’は、非同期転送処理の起動により、ＯＤＸセッションをバックグラウンドで起動させると（図１９の矢印（２−２）参照）、コピー元ストレージ装置１ＡにＯＤＸ起動完了を応答する（ステップＳ５４）。
【０１２８】
以上により、同期モードの場合における、コピー元ストレージ装置１ＡがＯＤＸコマンドを受領した場合のコピー先非同期転送処理が終了する。
一方、コピーモードが同期モードではない場合（ステップＳ５１のＮｏルート）、つまりコンシステンシモードの場合、発行されたＯＤＸ制御情報は、コピーセッション管理部１２ｂ’により、ＲＥＣバッファ管理部１３’へ渡される。ＲＥＣバッファ管理部１３’では、渡されたＯＤＸ制御情報がＲＥＣバッファ１３ａへ格納される（ステップＳ５５；図２０の矢印（２−２）参照）。
【０１２９】
そして、ＲＥＣバッファ管理部１３’により、バッファ転送処理が起動され（ステップＳ５６及び図１８のステップＳ６１〜Ｓ６９）、コンシステンシモードの場合における、コピー元ストレージ装置１ＡがＯＤＸコマンドを受領した場合のコピー先非同期転送処理が終了する。
次に、ステップＳ５６におけるバッファ転送処理について説明する。
【０１３０】
なお、図１８に示すバッファ転送処理は、ＲＥＣバッファ管理部１３’により、バックグラウンドで定期的に起動される。
図１８に示すように、ＲＥＣバッファ管理部１３’により、ＲＥＣバッファ１３ａに格納されたデータ（ＯＤＸ制御情報）が読み出され、コピー先へバッファ転送される（ステップＳ６１；図２０の矢印（４）参照）。また、コピー先ストレージ装置１Ｂでは、バッファ転送されてＲＥＣバッファ２３ａに格納されたデータが、ＲＥＣバッファ管理部２３’経由でセッション管理部２２により読み出される（ステップＳ６２；図２０の矢印（５−１）参照）。そして、セッション管理部２２により、読み出されたデータがＯＤＸ制御情報であるか否かが判断される（ステップＳ６３）。
【０１３１】
読み出されたデータがＯＤＸ制御情報である場合（ステップＳ６３のＹｅｓルート）、ＯＤＸセッション管理部２２ａ’により、当該ＯＤＸ制御情報に基づいて、コピー先での非同期転送処理が起動される（ステップＳ６４）。なお、ステップＳ６４では、ＯＤＸセッション管理部２２ａ’は、非同期転送処理の起動により、ＯＤＸセッションをバックグラウンドで起動させると（図２０の矢印（５−２）参照）、次のステップＳ６８の処理を実行する。
【０１３２】
一方、ＲＥＣバッファ２３ａから読み出されたデータがＯＤＸ制御情報ではない場合（ステップＳ６３のＮｏルート）、つまり更新データである場合、セッション管理部２２により、ＲＥＣのコピー先のボリューム５がＯＤＸによる転送先であるか否かが判断される（ステップＳ６５）。
ボリューム５（例えばボリューム５ｄ）がＯＤＸによる転送先である場合（ステップＳ６５のＹｅｓルート）、ＯＤＸセッション管理部２２ａ’により、既存のＯＤＸによる転送元（ボリューム５ｃ）からボリューム５ｄへのコピー先転送データの物理的な転送が実行される（ステップＳ６６）。転送が完了した場合、又は、ボリューム５がＯＤＸによる転送先ではない場合（ステップＳ６５のＮｏルート）、装置間Ｉ／Ｆ制御部２４’により、ＲＥＣのコピー先へＲＥＣバッファ１３ａから読み出した更新データが反映され（ステップＳ６７）、処理がステップＳ６８に移行する。
【０１３３】
ステップＳ６８では、ＲＥＣバッファ管理部２３’により、ＲＥＣバッファ２３ａからのデータの読み出しが完了したか否かが判断され、完了していない場合（ステップＳ６８のＮｏルート）、処理がステップＳ６２に移行する。一方、ＲＥＣバッファ２３ａ内の全てのデータの読み出しが完了した場合（ステップＳ６８のＹｅｓルート）、ＲＥＣバッファ管理部２３’により、装置間Ｉ／Ｆ制御部２４’を介して、ＲＥＣのコピー元へバッファ転送の完了が通知される（ステップＳ６９）。
【０１３４】
以上により、ＲＥＣバッファ管理部１３’によるバッファ転送処理が終了する。
〔２−３−２〕コピー先ストレージ装置が読出コマンドを受信した場合の動作例
次に、図２１〜図２３を参照して、図１４に示すコピー先ストレージ装置１Ｂが読出コマンドを受信した場合の動作例について説明する。
図２１は、図１４に示すコピー先ストレージ装置１Ｂが読出コマンドを受信した場合の処理の一例を示すフローチャートである。図２２は、同期モードの場合のコピー先読出処理を説明する図であり、図２３は、コンシステンシモードの場合のコピー先読出処理を説明する図である。
【０１３５】
以下、図１３及び図１４に示すコピー元及びコピー先のストレージ装置１において、ＯＤＸセッションが起動された後、コピー元が故障した場合を想定する。このとき、図２２及び図２３に示すように、ホスト装置２は、コピー先へ切り離しコマンドを発行し、ホストＩ／Ｆ制御部２１’が、切り離しコマンドを受領する（図２２，図２３の矢印（１−１）参照）。セッション管理部２２は、コピー元との等価状態を切り離し（図２２，図２３の矢印（１−２）参照）、ホスト装置２へ応答を返す（図２２，図２３の矢印（１−３）参照）。また、ホスト装置２は、コピー元を復旧するため、コピー先へ読出コマンドを発行する。
【０１３６】
以上を前提として、図２１に示すように、ホストＩ／Ｆ制御部２１’が読出コマンドを受領すると（ステップＳ７１；図２２，図２３の矢印（２）参照）、セッション管理部２２により、読出元がＯＤＸの転送先であるか否かが判断される（ステップＳ７２）。
読出元がＯＤＸの転送先である場合（ステップＳ７２のＹｅｓルート）、ＯＤＸセッション管理部２２ａ’により、既存のＯＤＸによる転送元（ボリューム５ｃ）からボリューム５ｄへのコピー先転送データの物理的な転送が実行される（ステップＳ７３；図２２，図２３の矢印（３）参照）。転送が完了した場合、又は、読出元がＯＤＸによる転送先ではない場合（ステップＳ７２のＮｏルート）、ホストＩ／Ｆ制御部２１’により、読出コマンドに係るコピー先転送データを含むホスト装置２への応答が送信される（ステップＳ７４）。なお、応答に含まれるコピー先転送データは、ＯＤＸの転送処理においてボリューム５ｃから読み出されたデータ、又は、転送処理が行なわれたボリューム５ｄから読み出されたデータである。
【０１３７】
以上により、コピー先ストレージ装置１Ｂが読出コマンドを受信した場合の処理が終了する。
なお、ステップＳ７４において、ホストＩ／Ｆ制御部２１’は、ホスト装置２へ応答する読出データとして、ステップＳ７３でＯＤＸセッション管理部２２ａ’が転送先へ書き込むために転送元から読み出したデータを用いてもよい。
【０１３８】
〔２−３−３〕コピー元ストレージ装置が書込コマンドを受信した場合の動作例
次に、図２４〜図２６を参照して、図１３に示すコピー元ストレージ装置１Ａが書込コマンドを受信した場合の動作例について説明する。
図２４は、図１３に示すコピー元ストレージ装置１Ａが書込コマンドを受信した場合の処理の一例を示すフローチャートである。図２５は、同期モードの場合のコピー元書込処理を説明する図であり、図２６は、コンシステンシモードの場合のコピー元書込処理を説明する図である。
【０１３９】
図２４に示すように、コピー元の書込／読出コマンド制御部１１ａ’がホスト装置２からの書込コマンドを受領すると（ステップＳ８１；図２５，図２６の矢印（１）参照）、セッション管理部１２ＯＤＸセッション管理部１２ａ’により、書込領域がＯＤＸの転送先であるか否かが判断される（ステップＳ８２）。
書込先（例えばボリューム５ｂ）がＯＤＸの転送先である場合（ステップＳ８２のＹｅｓルート）、ＯＤＸセッション管理部１２ａ’により、既存のＯＤＸによる転送元（ボリューム５ａ）からボリューム５ｂへの転送データの物理的な転送が実行される（ステップＳ８３；図２５，図２６の矢印（２）参照）。転送が完了した場合、又は、書込先がＯＤＸによる転送先ではない場合（ステップＳ８２のＮｏルート）、書込／読出コマンド制御部１１ａ’により、書込コマンドに係る書込（更新）データがボリューム５ｂへ書き込まれる（ステップＳ８４；図２５，図２６の矢印（３）参照）。
【０１４０】
次いで、コピーセッション管理部１２ｂ’により、コピーモードが同期モードであるか否かが判断される（ステップＳ８５）。同期モードである場合（ステップＳ８５のＹｅｓルート）、セッション管理部１２により、ＲＥＣによる書込データの送信のため、装置間Ｉ／Ｆ制御部１４を介して書込データがストレージ装置１Ｂへ送信される（ステップＳ８６；図２５の矢印（４）参照）。
【０１４１】
また、ストレージ装置１Ｂでは、ＯＤＸセッション管理部２２ａ’により、ＲＥＣによる書込データのコピー先のボリューム５がＯＤＸの転送先であるか否かが判断される（ステップＳ８７）。
コピー先（例えばボリューム５ｄ）がＯＤＸの転送先である場合（ステップＳ８７のＹｅｓルート）、ＯＤＸセッション管理部２２ａ’により、既存のＯＤＸによる転送元（ボリューム５ｃ）からボリューム５ｄへのコピー先転送データの物理的な転送が実行される（ステップＳ８８；図２５の矢印（５）参照）。転送が完了した場合、又は、コピー先がＯＤＸによる転送先ではない場合（ステップＳ８７のＮｏルート）、装置間Ｉ／Ｆ制御部２４’により、ＲＥＣにより受信した書込データがボリューム５ｄへ書き込まれる（ステップＳ８９；図２５の矢印（６）参照）。
【０１４２】
また、装置間Ｉ／Ｆ制御部２４’により、ＲＥＣのコピー元ストレージ装置１Ａへ書込データのコピー完了が応答される（ステップＳ９０）。コピー先でのコピー完了の応答を受信すると、ストレージ装置１Ａでは、書込／読出コマンド制御部１１ａ’により、ホスト装置２へ書込コマンドへの応答が送信される（ステップＳ９１；図２５の矢印（７）参照）。
【０１４３】
以上により、同期モードの場合における、コピー元ストレージ装置１Ａが書込コマンドを受領した場合の処理が終了する。
一方、コピーモードが同期モードではない場合（ステップＳ８５のＮｏルート）、つまりコンシステンシモードの場合、書込／読出コマンド制御部１１ａ’により、ホスト装置２へ書込コマンドへの応答が送信される（ステップＳ９２；図２６の矢印（４）参照）。
【０１４４】
また、コピーセッション管理部１２ｂ’により、書込データがＲＥＣバッファ管理部１３’へ渡される。ＲＥＣバッファ管理部１３’では、渡された書込データがＲＥＣバッファ１３ａへ格納される（ステップＳ９３；図２６の矢印（５）参照）。
そして、ＲＥＣバッファ管理部１３’により、バッファ転送処理が起動される（ステップＳ９４及び図１８のステップＳ６１〜Ｓ６９）。
【０１４５】
なお、バッファ転送処理では、上述のように、ＲＥＣバッファ管理部１３’により、所定のタイミングでＲＥＣバッファ１３ａに格納されたデータ（書込データ）が読み出され、コピー先へバッファ転送される（図２６の矢印（６）参照）。また、コピー先のセッション管理部２２により、ＲＥＣバッファ管理部２３’経由でバッファ転送された書込データがＲＥＣバッファ２３ａから読み出される（図２６の矢印（７）参照）。さらに、既存のＯＤＸによる転送元（ボリューム５ｃ）から、書込データのコピー先であるＯＤＸの転送先（ボリューム５ｄ）へのコピー先転送データの物理的な転送が実行される（図２６の矢印（８）参照）。そして、装置間Ｉ／Ｆ制御部２４’により、ＲＥＣのコピー先へ書込データが反映される（図２６の矢印（９）参照）。
【０１４６】
以上により、コンシステンシモードの場合における、コピー元ストレージ装置１Ａが書込コマンドを受領した場合の処理が終了する。
〔３〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
【０１４７】
例えば、上述したコピー元ＣＭ３Ａの各機能を任意の組み合わせで統合又は分散してもよい。同様に、コピー先ＣＭ３Ｂの各機能を任意の組み合わせで統合又は分散してもよい。
また、上述したＣＭ３は、コピー元がＣＭ３Ａの機能をそなえ、コピー先がＣＭ３Ｂの機能をそなえるものとして説明したが、ＣＭ３は、自ＣＭ３がコピー元／先のいずれにも対応できるように、ＣＭ３Ａ及び３Ｂ双方の機能をそなえてもよい。
【０１４８】
さらに、上述したストレージシステム１０は、図２に示すバックアップを行なうものとして説明したが、これに限定されるものではなく、例えば、図２７又は図２８に示す態様のバックアップを行なってもよい。
図２７及び図２８は、それぞれ、図１に示すストレージシステム１０によるバックアップの態様の一例を説明する図である。
【０１４９】
ストレージシステム１０は、図２７に示すように、ＥＣ等の筐体内コピーを実行してもよい。この場合、コピー先記憶領域５Ａは、記憶装置４１により実現される１以上の物理又は論理ボリュームであり、コピー先記憶領域５Ｂは、記憶装置４１により実現される他の１以上の物理又は論理ボリュームである。なお、ストレージ装置１Ａは、１のＣＭ３Ａがコピー元記憶領域５Ａ及びコピー先記憶領域５Ｂを管理してもよいし、２つのＣＭ３Ａが、Direct Memory Access（ＤＭＡ）ポート等を介した通信により、それぞれコピー元記憶領域５Ａ及びコピー先記憶領域５Ｂを管理してもよい。また、図２７に示すバックアップが行なわれる場合、第２実施形態に係るストレージ装置１Ａでは、ＯＤＸセッション管理部１２ａ’が、コピーセッション管理部１２ｂ’が発行したコピー先転送コマンドに基づいて、コピー先転送処理を開始すればよい。
【０１５０】
または、ストレージシステム１０は、図２８に示すように、ＯＤＸを１つのボリューム内で行なってもよい。この場合においても、ストレージシステム１０には、上述した第１又は第２実施形態を適用することができる。
なお、第１及び第２実施形態に係るＣＭ３（ストレージ制御装置）の各種機能の全部もしくは一部は、コンピュータ（ＣＰＵ，情報処理装置，各種端末を含む）が所定のプログラム（制御プログラム）を実行することによって実現されてもよい。
【０１５１】
そのプログラムは、例えばフレキシブルディスク、ＣＤ、ＤＶＤ、ブルーレイディスク等のコンピュータ読取可能な記録媒体（例えば図３に示す記録媒体３９ｂ）に記録された形態で提供される。なお、ＣＤとしては、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ等が挙げられる。また、ＤＶＤとしては、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−Ｒ、ＤＶＤ−ＲＷ、ＤＶＤ＋Ｒ、ＤＶＤ＋ＲＷ等が挙げられる。また、そのプログラムを、例えば磁気ディスク，光ディスク，光磁気ディスク等の記憶装置（記録媒体）に記録しておき、その記憶装置から通信回線を介してコンピュータに提供するようにしてもよい。
【０１５２】
〔３〕付記
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
一以上の記憶ボリュームを持つコピー元記憶領域に記憶されたデータを、前記コピー元記憶領域に対応する、一以上の記憶ボリュームを持つコピー先記憶領域へコピーするコピー処理を実行するストレージ制御装置であって、
前記コピー元記憶領域内の第１領域に記憶されたデータを前記コピー元記憶領域内の第２領域へ転送することを指示する転送コマンドを、情報処理装置から受信するコマンド制御部と、
前記転送コマンドの受信に応じて、前記第１領域から転送データを読み出し、前記第２領域に書き込む転送処理を開始する転送処理部と、
前記転送処理の開始とともに、前記コピー処理において、前記第２領域に対応する前記コピー先記憶領域の対応領域への前記転送データのコピーを開始するコピー処理部と、
をそなえることを特徴とする、ストレージ制御装置。
【０１５３】
（付記２）
前記転送処理部は、開始した前記転送処理において、前記転送コマンドに対する応答時間内に転送可能な、前記転送データの少なくとも一部の転送可能データについて、前記第１領域から読み出して前記第２領域に書き込み、
前記コピー処理部は、前記コピーの開始処理において、前記転送可能データの前記対応領域へのコピーを開始し、
前記コマンド制御部は、前記転送可能データに関する情報を含む応答を前記情報処理装置へ送信し、前記情報処理装置から、前記第１領域のうちの前記転送処理部が転送を行なわなかった領域に記憶されたデータを前記第２領域へ転送することを指示する新たな転送コマンドを受信する、
ことを特徴とする、付記１記載のストレージ制御装置。
【０１５４】
（付記３）
前記コピー処理部は、開始した前記コピーにおいて、前記応答時間内に前記転送可能データを前記対応領域へコピーし、
前記コマンド制御部は、前記転送処理部による前記転送可能データの転送処理と、前記コピー処理部による前記転送可能データのコピーとが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、付記２記載のストレージ制御装置。
【０１５５】
（付記４）
前記ストレージ制御装置は、前記コピー先記憶領域を有するストレージ装置にそなえられ、
前記コピー先記憶領域は、前記ストレージ装置とは異なる他のストレージ装置にそなえられ、
前記ストレージ制御装置は、
バッファと、
前記コピー処理部による前記コピーの開始に応じて、前記応答時間内に前記転送可能データを前記バッファへ格納し、所定のタイミングで、前記バッファに格納された前記転送可能データを、前記他のストレージ装置へ送信するバッファ管理部と、をそなえ、
前記コマンド制御部は、前記転送処理部による前記転送可能データの転送処理と、前記バッファ管理部による前記バッファへの前記転送可能データの格納とが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、付記２記載のストレージ制御装置。
【０１５６】
（付記５）
前記ストレージ制御装置は、前記第１領域に記憶されたデータを前記コピー先記憶領域の第３領域にコピーするとともに、前記第２領域に記憶されたデータを前記コピー先記憶領域の前記対応領域である第４領域にコピーする前記コピー処理を実行し、
前記コピー処理部は、前記コピーの開始処理において、前記第３領域に記憶された前記転送データに対応するコピー先転送データを、前記第４領域に転送することを指示するコピー先転送コマンドを発行し、
前記コマンド制御部は、前記転送処理部による前記転送処理の開始処理と、前記コピー処理部による前記コピー先転送コマンドの発行とが完了してから、前記転送コマンドに対する応答を前記情報処理装置へ送信する、
ことを特徴とする、付記１記載のストレージ制御装置。
【０１５７】
（付記６）
前記ストレージ制御装置は、前記コピー先記憶領域を有するストレージ装置にそなえられ、
前記コピー先記憶領域は、前記ストレージ装置とは異なる他のストレージ装置にそなえられ、
前記コピー処理部は、開始した前記コピーにおいて、発行した前記コピー先転送コマンドを、前記他のストレージ装置へ送信し、
前記コマンド制御部は、前記転送処理部による前記転送処理の開始処理と、前記コピー処理部による前記コピー先転送コマンドの送信とが完了してから、前記応答を前記情報処理装置へ送信する、
ことを特徴とする、付記５記載のストレージ制御装置。
【０１５８】
（付記７）
前記ストレージ制御装置は、前記コピー先記憶領域及び前記コピー先記憶領域を有するストレージ装置にそなえられ、
前記転送処理部は、前記コピー処理部が発行した前記コピー先転送コマンドに基づいて、前記第３領域から前記コピー先転送データを読み出し、前記第４領域に書き込むコピー先転送処理を開始する、
ことを特徴とする、付記５記載のストレージ制御装置。
【０１５９】
（付記８）
前記ストレージ制御装置は、前記コピー先記憶領域を有するストレージ装置にそなえられ、
前記コピー先記憶領域は、前記ストレージ装置とは異なる他のストレージ装置にそなえられ、
前記ストレージ制御装置は、
バッファと、
前記コピー処理部による前記コピーの開始に応じて、前記コピー先転送コマンドを前記バッファへ格納し、所定のタイミングで、前記バッファに格納された前記コピー先転送コマンドを、前記他のストレージ装置へ送信するバッファ管理部と、をそなえ、
前記コマンド制御部は、前記転送処理部による前記転送処理の開始処理と、前記バッファ管理部による前記バッファへの前記コピー先転送コマンドの格納とが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、付記５記載のストレージ制御装置。
【０１６０】
（付記９）
前記コマンド制御部は、前記転送処理部による前記転送データの書き込みが未完了の前記第２領域に対する書込コマンドを前記情報処理装置から受信すると、前記転送処理部に、前記第２領域への前記転送データの書き込みを行なわせてから、前記第２領域へ前記書込コマンドに係る書込データを書き込む、
ことを特徴とする、付記５〜８のいずれか１項記載のストレージ制御装置。
【０１６１】
（付記１０）
一以上の記憶ボリュームを持つコピー元記憶領域に記憶されたデータを、前記コピー元記憶領域に対応する、一以上の記憶ボリュームを持つコピー先記憶領域へコピーするコピー処理を実行するストレージ制御装置をそなえるストレージシステムであって、
前記ストレージ制御装置は、
前記コピー元記憶領域内の第１領域に記憶されたデータを前記コピー元記憶領域内の第２領域へ転送することを指示する転送コマンドを、情報処理装置から受信するコマンド制御部と、
前記転送コマンドの受信に応じて、前記第１領域から転送データを読み出し、前記第２領域に書き込む転送処理を開始する転送処理部と、
前記転送処理の開始とともに、前記コピー処理において、前記第２領域に対応する前記コピー先記憶領域の対応領域への前記転送データのコピーを開始するコピー処理部と、
をそなえることを特徴とする、ストレージシステム。
【０１６２】
（付記１１）
前記転送処理部は、開始した前記転送処理において、前記転送コマンドに対する応答時間内に転送可能な、前記転送データの少なくとも一部の転送可能データについて、前記第１領域から読み出して前記第２領域に書き込み、
前記コピー処理部は、前記コピーの開始処理において、前記転送可能データの前記対応領域へのコピーを開始し、
前記コマンド制御部は、前記転送可能データに関する情報を含む応答を前記情報処理装置へ送信し、前記情報処理装置から、前記第１領域のうちの前記転送処理部が転送を行なわなかった領域に記憶されたデータを前記第２領域へ転送することを指示する新たな転送コマンドを受信する、
ことを特徴とする、付記１０記載のストレージシステム。
【０１６３】
（付記１２）
前記コピー処理部は、開始した前記コピーにおいて、前記応答時間内に前記転送可能データを前記対応領域へコピーし、
前記コマンド制御部は、前記転送処理部による前記転送可能データの転送処理と、前記コピー処理部による前記転送可能データのコピーとが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、付記１１記載のストレージシステム。
【０１６４】
（付記１３）
前記ストレージ制御装置及び前記コピー先記憶領域を有するコピー元ストレージ装置と、前記コピー先記憶領域を有するコピー先ストレージ装置とをそなえ、
前記ストレージ制御装置は、
バッファと、
前記コピー処理部による前記コピーの開始に応じて、前記応答時間内に前記転送可能データを前記バッファへ格納し、所定のタイミングで、前記バッファに格納された前記転送可能データを、前記他のストレージ装置へ送信するバッファ管理部と、をそなえ、
前記コマンド制御部は、前記転送処理部による前記転送可能データの転送処理と、前記バッファ管理部による前記バッファへの前記転送可能データの格納とが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、付記１１記載のストレージシステム。
【０１６５】
（付記１４）
前記ストレージ制御装置は、前記第１領域に記憶されたデータを前記コピー先記憶領域の第３領域にコピーするとともに、前記第２領域に記憶されたデータを前記コピー先記憶領域の前記対応領域である第４領域にコピーする前記コピー処理を実行し、
前記コピー処理部は、前記コピーの開始処理において、前記第３領域に記憶された前記転送データに対応するコピー先転送データを、前記第４領域に転送することを指示するコピー先転送コマンドを発行し、
前記コマンド制御部は、前記転送処理部による前記転送処理の開始処理と、前記コピー処理部による前記コピー先転送コマンドの発行とが完了してから、前記転送コマンドに対する応答を前記情報処理装置へ送信する、
ことを特徴とする、付記１０記載のストレージシステム。
【０１６６】
（付記１５）
前記ストレージ制御装置及び前記コピー先記憶領域を有するコピー元ストレージ装置と、前記コピー先記憶領域を有するコピー先ストレージ装置とをそなえ、
前記コピー先ストレージ装置は、
前記コピー先転送コマンドに基づいて、前記第３領域から前記コピー先転送データを読み出し、前記第４領域に書き込むコピー先転送処理を開始するコピー先転送処理部と、
前記コピー先転送処理部による前記コピー先転送データの書き込みが未完了の前記第４領域に対する読出コマンドを前記情報処理装置から受信すると、前記コピー先転送処理部に、前記第４領域への前記コピー先転送データの書き込みを行なわせてから、前記読出コマンドに係る読出データを前記情報処理装置へ応答するコピー先コマンド制御部と、
を有するコピー先ストレージ制御装置をそなえる、
ことを特徴とする、付記１４記載のストレージシステム。
【０１６７】
（付記１６）
一以上の記憶ボリュームを持つコピー元記憶領域に記憶されたデータを、前記コピー元記憶領域に対応する、一以上の記憶ボリュームを持つコピー先記憶領域へコピーするコピー処理を実行するコンピュータに、
前記コピー元記憶領域内の第１領域に記憶されたデータを前記コピー元記憶領域内の第２領域へ転送することを指示する転送コマンドを、情報処理装置から受信し、
前記転送コマンドの受信に応じて、前記第１領域から転送データを読み出し、前記第２領域に書き込む転送処理を開始し、
前記転送処理の開始とともに、前記コピー処理において、前記第２領域に対応する前記コピー先記憶領域の対応領域への前記転送データのコピーを開始する、
処理を実行させることを特徴とする、制御プログラム。
【０１６８】
（付記１７）
開始した前記転送処理において、前記転送コマンドに対する応答時間内に転送可能な、前記転送データの少なくとも一部の転送可能データについて、前記第１領域から読み出して前記第２領域に書き込み、
前記コピーの開始処理において、前記転送可能データの前記対応領域へのコピーを開始し、
前記転送可能データに関する情報を含む応答を前記情報処理装置へ送信し、
前記情報処理装置から、前記第１領域のうちの転送を行なわなかった領域に記憶されたデータを前記第２領域へ転送することを指示する新たな転送コマンドを受信する、
処理を前記コンピュータに実行させることを特徴とする、付記１６記載の制御プログラム。
【０１６９】
（付記１８）
開始した前記コピーにおいて、前記応答時間内に前記転送可能データを前記対応領域へコピーし、
前記転送可能データの転送処理と、前記転送可能データのコピーとが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、付記１７記載の制御プログラム。
【０１７０】
（付記１９）
前記コンピュータは、前記コピー先記憶領域を有するストレージ装置にそなえられ、
前記コピー先記憶領域は、前記ストレージ装置とは異なる他のストレージ装置にそなえられ、
前記コピーの開始に応じて、前記応答時間内に前記転送可能データをバッファへ格納し、
所定のタイミングで、前記バッファに格納された前記転送可能データを、前記他のストレージ装置へ送信する、
処理を前記コンピュータに実行させ、
前記転送可能データの転送処理と、前記バッファへの前記転送可能データの格納とが完了してから、前記情報処理装置へ前記応答を送信する、
ことを特徴とする、付記１７記載の制御プログラム。
【０１７１】
（付記２０）
前記第１領域に記憶されたデータを前記コピー先記憶領域の第３領域にコピーするとともに、前記第２領域に記憶されたデータを前記コピー先記憶領域の前記対応領域である第４領域にコピーする前記コピー処理を実行し、
前記コピーの開始処理において、前記第３領域に記憶された前記転送データに対応するコピー先転送データを、前記第４領域に転送することを指示するコピー先転送コマンドを発行し、
前記転送処理の開始処理と、前記コピー先転送コマンドの発行とが完了してから、前記転送コマンドに対する応答を前記情報処理装置へ送信する、
ことを特徴とする、付記１６記載の制御プログラム。
【符号の説明】
【０１７２】
１，１Ａ，１Ｂ    ストレージ装置
２    ホスト装置
３，３Ａ，３Ｂ    コントローラモジュール（ストレージ制御装置）
４，４Ａ，４Ｂ    ディスクエンクロージャ
５，５ａ〜５ｄ    ボリューム（記憶領域，第１〜第４領域）
５Ａ    コピー元記憶領域
５Ｂ    コピー先記憶領域
１０    ストレージシステム
１１    ホストＩ／Ｆ制御部（コマンド制御部）
１１ａ，１１ａ’    書込／読出コマンド制御部
１１ｂ，１１ｂ’    ＯＤＸコマンド制御部
１１ｃ    コピーコマンド制御部
１２，２２    セッション管理部
１２ａ，１２ａ’    ＯＤＸセッション管理部（転送処理部）
１２ｂ，１２ｂ’    コピーセッション管理部（コピー処理部）
１３，１３’，２３，２３’    ＲＥＣバッファ管理部
１３ａ，２３ａ    ＲＥＣバッファ
１４，２４，２４’    装置間Ｉ／Ｆ制御部
２１，２１’    ホストＩ／Ｆ制御部（コピー先コマンド制御部）
２２ａ’    ＯＤＸセッション管理部（コピー先転送処理部）
３１    ＣＰＵ
３２    メモリ
３３    チャネルアダプタ
３４    リモートアダプタ
３５    ディスクインタフェース
３６    記憶部
３７    入力部
３８    読取部
３９ａ，３９ｂ    記録媒体
４１    ドライブ（記憶装置）
【図１】
2015007880.tif 000003
【図２】
2015007880.tif 000004
【図３】
2015007880.tif 000005
【図４】
2015007880.tif 000006
【図５】
2015007880.tif 000007
【図６】
2015007880.tif 000008
【図７】
2015007880.tif 000009
【図８】
2015007880.tif 000010
【図９】
2015007880.tif 000011
【図１０】
2015007880.tif 000012
【図１１】
2015007880.tif 000013
【図１２】
2015007880.tif 000014
【図１３】
2015007880.tif 000015
【図１４】
2015007880.tif 000016
【図１５】
2015007880.tif 000017
【図１６】
2015007880.tif 000018
【図１７】
2015007880.tif 000019
【図１８】
2015007880.tif 000020
【図１９】
2015007880.tif 000021
【図２０】
2015007880.tif 000022
【図２１】
2015007880.tif 000023
【図２２】
2015007880.tif 000024
【図２３】
2015007880.tif 000025
【図２４】
2015007880.tif 000026
【図２５】
2015007880.tif 000027
【図２６】
2015007880.tif 000028
【図２７】
2015007880.tif 000029
【図２８】
2015007880.tif 000030
【図２９】
2015007880.tif 000031
【図３０】
2015007880.tif 000032
【図３１】
2015007880.tif 000033