(57)【要約】【課題】  バックアップ元ストレージからバックアップ先ストレージへのデータ転送量を低減する。【解決手段】  ストレージ装置は、バックアップ制御部と、リモートコピー制御部と、を備える。バックアップ制御部は、データを記憶可能な記憶領域により構成されるボリュームである第１ボリュームと、第２ボリュームとの間で、共通するデータが記憶された領域である共通データ領域を特定する。バックアップ制御部は、バックアップボリュームを保持するバックアップ先ストレージ装置に対して、共通データ領域に記憶されたデータを、第２ボリュームのバックアップボリュームから、第１ボリュームのバックアップボリュームに、バックアップ先ストレージ装置においてコピーすることを表す命令を送信する。リモートコピー制御部は、第１ボリュームにおける、共通データ領域とは異なる領域に記憶されたデータの少なくとも一部を、バックアップ先ストレージ装置に送信する。【選択図】      図２５
2018106272.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶可能な記憶領域により構成されるボリュームである第１ボリュームと第２ボリュームとの間で、共通するデータが記憶された領域である共通データ領域を特定し、
前記ボリュームから複製されたバックアップデータを記憶するバックアップボリュームを保持するよう構成された他のストレージ装置であるバックアップ先ストレージ装置に対して、前記共通データ領域に記憶されたデータを、前記第２ボリュームの前記バックアップボリュームから前記第１ボリュームの前記バックアップボリュームに、前記バックアップ先ストレージ装置においてコピーすることを表す命令を送信するバックアップ制御手段と、
前記第１ボリュームにおける、前記共通データ領域とは異なる領域に記憶されたデータの少なくとも一部を前記バックアップ先ストレージ装置に送信するリモートコピー制御手段と、を備える
ストレージ装置。
【請求項２】
前記第１ボリュームは、マスタとして使用される前記ボリュームであるエンティティボリュームから派生された、前記エンティティボリュームとの差分を記憶する前記ボリュームであるクローンボリュームであり、
前記第２ボリュームは、前記第１ボリュームと同じ前記エンティティボリュームから派生された他の前記クローンボリュームであり、
前記バックアップ制御手段は、
前記バックアップ先ストレージ装置に対するバックアップ処理が開始された１以上の前記第２ボリュームの内、一つの前記第２ボリュームを選択し、
前記エンティティボリュームと、前記第１ボリュームとの間で差分がない領域と、前記エンティティボリュームと、前記第２ボリュームとの間で差分がない領域とに応じて、前記共通データ領域を特定する、
請求項１に記載のストレージ装置。
【請求項３】
前記バックアップ制御手段は、
前記バックアップ先ストレージ装置に対するバックアップ処理が開始された１以上の前記第２ボリュームの内、最初にバックアップ処理が開始された前記第２ボリュームを選択するか、又は、
前記バックアップ先ストレージ装置に対するバックアップ処理が開始された１以上の前記第２ボリュームと、前記第１ボリュームとの間の前記共通データ領域をそれぞれ特定し、前記第１ボリュームとの間の前記共通データ領域が最も多い前記第２ボリュームを選択する
請求項２に記載のストレージ装置。
【請求項４】
前記リモートコピー制御手段は、
前記第１ボリュームおける前記共通データ領域とは異なる領域のうち、前記エンティティボリュームとの間で差分を有する領域については、前記第１ボリュームにおける当該領域に記憶されたデータを前記バックアップ先ストレージ装置に送信し、
前記第１ボリュームおける前記共通データ領域とは異なる領域のうち、前記エンティティボリュームとの間で差分がない領域については、前記エンティティボリュームにおける当該領域に記憶されたデータを前記バックアップ先ストレージ装置に送信する
請求項２又は３に記載のストレージ装置。
【請求項５】
前記バックアップ制御手段は、
前記バックアップ先ストレージ装置に対するバックアップ処理が開始された複数の前記第２ボリュームを選択し、
複数の前記第２ボリュームのそれぞれについて、前記第１ボリュームとの間の前記共通データ領域を特定し
前記リモートコピー制御手段は、前記第１ボリュームにおける、特定された全ての前記共通データ領域とは異なる領域に記憶されたデータの少なくとも一部を前記バックアップ先ストレージ装置に送信する、
請求項１に記載のストレージ装置。
【請求項６】
データを記憶可能な記憶領域により構成されるボリュームを備えるストレージ装置が、
前記ボリュームである第１ボリュームと第２ボリュームとの間で、共通するデータが記憶された領域である共通データ領域を特定し、
前記ボリュームから複製されたバックアップデータを記憶するバックアップボリュームを保持するよう構成された他のストレージ装置であるバックアップ先ストレージ装置に対して、前記共通データ領域を特定可能な情報を少なくとも含み、前記共通データ領域に記憶されたデータを、前記第２ボリュームの前記バックアップボリュームから前記第１ボリュームの前記バックアップボリュームに、前記バックアップ先ストレージ装置においてコピーすることを表す命令を送信し、
前記第１ボリュームにおける、前記共通データ領域とは異なる領域に記憶されたデータの少なくとも一部を前記バックアップ先ストレージ装置に送信する
ストレージ装置のバックアップ方法。
【請求項７】
データを記憶可能な記憶領域により構成されるボリュームを備えるストレージ装置に、
前記ボリュームである第１ボリュームと第２ボリュームとの間で、共通するデータが記憶された領域である共通データ領域を特定する処理と、
前記ボリュームから複製されたバックアップデータを記憶するバックアップボリュームを保持するよう構成された他のストレージ装置であるバックアップ先ストレージ装置に対して、前記共通データ領域を特定可能な情報を少なくとも含み、前記共通データ領域に記憶されたデータを、前記第２ボリュームの前記バックアップボリュームから前記第１ボリュームの前記バックアップボリュームに、前記バックアップ先ストレージ装置においてコピーすることを表す命令を送信する処理と、
前記第１ボリュームにおける、前記共通データ領域とは異なる領域に記憶されたデータの少なくとも一部を前記バックアップ先ストレージ装置に送信する処理と、を実行させる
ストレージ装置の制御プログラム。
【請求項８】
データを記憶可能な記憶領域により構成されるボリュームである１以上のバックアップボリュームと、
他のストレージ装置であるバックアップ元ストレージ装置から、当該バックアップ元ストレージ装置に含まれる、データを記憶可能な記憶領域により構成される第１ボリュームと、第２ボリュームとの間で共通するデータが記憶された領域である共通データ領域を特定可能な情報を少なくとも含む、前記第１ボリュームのバックアップに関する命令を受信し、当該命令に応じて、当該命令により特定された前記共通データ領域に含まれるデータを、自装置における前記第２ボリュームの前記バックアップボリュームから前記第１ボリュームの前記バックアップボリュームにコピーする処理と、
前記第１ボリュームにおける前記共通データ領域とは異なる領域に含まれる少なくとも一部のデータを前記バックアップ元ストレージ装置から受信し、受信したデータを前記第１ボリュームの前記バックアップボリュームに書き込む処理と、を実行する
リモート命令処理手段と、を備える
ストレージ装置。
【請求項９】
データを記憶可能な記憶領域により構成されるボリュームを備えるストレージ装置が、
他のストレージ装置であるバックアップ元ストレージ装置から、前記バックアップ元ストレージ装置に含まれる、データを記憶可能な記憶領域により構成される第１ボリュームと第２ボリュームとの間で共通するデータが記憶された領域である共通データ領域を特定可能な情報を少なくとも含む、前記第１ボリュームのバックアップに関する命令を受信し、
受信した命令に応じて、その命令により特定された前記共通データ領域に含まれるデータを、前記第２ボリュームから複製されたデータを記憶する前記ボリュームから、前記第１ボリュームから複製されたデータを記憶する前記ボリュームにコピーし、
前記バックアップ元ストレージ装置から、前記第１ボリュームにおける前記共通データ領域とは異なる領域に含まれる少なくとも一部のデータを受信し、
受信したデータを、前記第１ボリュームから複製されたデータを記憶する前記ボリュームに書き込む
ストレージ装置のバックアップ方法。
【請求項１０】
データを記憶可能な記憶領域により構成されるボリュームである第１ボリュームと第２ボリュームとを備えるストレージ装置であるバックアップ元ストレージ装置と、
データを記憶可能な記憶領域により構成されるボリュームであるバックアップボリュームを備える他のストレージ装置であるバックアップ先ストレージ装置と、を備え、
前記バックアップ元ストレージ装置は、
前記第１ボリュームと前記第２ボリュームの間で、共通するデータが記憶された領域である共通データ領域を特定し、
前記バックアップ先ストレージ装置に対して、前記共通データ領域に記憶されたデータを、前記第２ボリュームの前記バックアップボリュームから前記第１ボリュームの前記バックアップボリュームに、前記バックアップ先ストレージ装置においてコピーすることを表す命令を送信するバックアップ制御手段と、
前記第１ボリュームにおける、前記共通データ領域とは異なる領域に記憶されたデータの少なくとも一部を前記バックアップ先ストレージ装置に送信するリモートコピー制御手段と、を更に備え、
前記バックアップ先ストレージ装置は、
前記バックアップ元ストレージ装置から、前記命令を受信し、受信した当該命令に応じて、当該命令により特定された前記共通データ領域に含まれるデータを、自装置における前記第２ボリュームの前記バックアップボリュームから前記第１ボリュームの前記バックアップボリュームにコピーする処理と、
前記第１ボリュームにおける前記共通データ領域とは異なる領域に含まれる少なくとも一部のデータを前記バックアップ元ストレージ装置から受信し、受信したデータを前記第１ボリュームの前記バックアップボリュームに書き込む処理と、を実行する
リモート命令処理手段と、を更に備える
ストレージ装置のバックアップシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ストレージに記憶されたデータをバックアップする技術に関する。
【背景技術】
【０００２】
コストを削減可能であり、運用管理が容易な、仮想マシンを利用する技術が普及している。
【０００３】
仮想マシンの作成方法として、例えば、リンククローン方式（例えば、ＶＭｗａｒｅ（登録商法）社のＬｉｎｋｅｄ  Ｃｌｏｎｅ技術（登録商標）など）を用いた製品が知られている。例えば、特許文献１には、リンククローン方式を用いたストレージ管理システムに関する技術が記載されている。特許文献１には、各仮想マシンのディスクイメージを、マスタイメージとの差分として管理することで、ディスク容量を削減することを目的としたストレージシステムに関する技術が記載されている。
【０００４】
仮想マシンをバックアップする場合、その仮想マシンのボリューム（「仮想ボリューム」と記載する場合がある）を複製するためのデータアクセスが発生する。場合によっては、そのボリュームをバックアップ先に転送するためのデータ通信が実行されることがある。
【０００５】
特許文献２には、バックアップ元のデータを、重複を排除しながらバックアップ先に複製することを目的としたシステム等に関する技術が記載されている。特許文献２に記載されたシステムは、バックアップ先に送信済みのデータを特定可能な情報（ハッシュ値等）と、バックアップ元から転送するデータとを照合する。係るシステムは、当該データがバックアップ先に転送済みであるか否かを確認することにより、重複したデータの転送を避けることを企図した技術である。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−２４８７４２号公報
【特許文献２】特開２０１５−１５０４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
仮想ボリュームのバックアップデータ（「バックアップボリューム」と記載する場合がある）を、バックアップ先に作成する場合を想定する。この場合、各仮想ボリュームのデータを読み込み（リード）、バックアップ先へ転送する処理が実行される。バックアップ元と、バックアップ先とが通信回線により接続される場合、各仮想ボリュームのデータは、バックアップ先（リモートサイト）に転送されることから、通信量が増大し、通信回線の遅延等が発生する可能性がある。
【０００８】
リンククローン方式を用いて作成された仮想マシンの仮想ボリュームをバックアップする際、各仮想マシンに共通するデータを記憶するマスタボリュームが参照されることがある。これにより、マスタボリュームへのアクセスの処理に要する負荷が増大し、バックアップに要する時間がより長くなる可能性がある。
【０００９】
これに対して、特許文献１は、既存の仮想マシンをリンククローン方式に変更する技術を開示するにすぎない。また、特許文献２に記載された技術を用いた場合、バックアップされる全てのデータについてハッシュ値等を計算する必要があり、バックアップ先に転送済みか否かを確認する処理に時間を要する。また、係る確認のためにマスタボリュームへのアクセスが発生し、マスタボリュームの負荷が増大する。
【００１０】
本開示に係る技術は、上記のような状況を鑑みて着想されたものである。即ち、本開示に係る技術は、バックアップ元のストレージ装置から、バックアップ先のストレージ装置に転送されるデータ量を低減可能なバックアップ装置等を提供することを、主たる目的の一つとする。
【課題を解決するための手段】
【００１１】
本開示の一態様に係るストレージ装置は、データを記憶可能な記憶領域により構成されるボリュームである第１ボリュームと第２ボリュームとの間で、共通するデータが記憶された領域である共通データ領域を特定し、上記ボリュームから複製されたバックアップデータを記憶するバックアップボリュームを保持するよう構成された他のストレージ装置であるバックアップ先ストレージ装置に対して、上記共通データ領域に記憶されたデータを、上記第２ボリュームの上記バックアップボリュームから上記第１ボリュームの上記バックアップボリュームに、上記バックアップ先ストレージ装置においてコピーすることを表す命令を送信するバックアップ制御部と、上記第１ボリュームにおける、上記共通データ領域とは異なる領域に記憶されたデータの少なくとも一部を上記バックアップ先ストレージ装置に送信するリモートコピー制御部と、を備える。
【００１２】
本開示の他の態様に係るストレージ装置のバックアップ方法は、データを記憶可能な記憶領域により構成されるボリュームを備えるストレージ装置が、上記ボリュームである第１ボリュームと第２ボリュームとの間で、共通するデータが記憶された領域である共通データ領域を特定し、上記ボリュームから複製されたバックアップデータを記憶するバックアップボリュームを保持するよう構成された他のストレージ装置であるバックアップ先ストレージ装置に対して、上記共通データ領域を特定可能な情報を少なくとも含み、上記共通データ領域に記憶されたデータを、上記第２ボリュームの上記バックアップボリュームから上記第１ボリュームの上記バックアップボリュームに、上記バックアップ先ストレージ装置においてコピーすることを表す命令を送信し、上記第１ボリュームにおける、上記共通データ領域とは異なる領域に記憶されたデータの少なくとも一部を上記バックアップ先ストレージ装置に送信する、ことを含む。
【００１３】
本開示の更に他の態様に係るストレージ装置は、他のストレージ装置に含まれる、データを記憶可能な記憶領域により構成されるボリュームから複製されたバックアップデータを記憶する１以上のバックアップボリュームと、他のストレージ装置であるバックアップ元ストレージ装置から、当該バックアップ元ストレージ装置に含まれる、データを記憶可能な記憶領域により構成される第１ボリュームと、第２ボリュームとの間で共通するデータが記憶された領域である共通データ領域を特定可能な情報を少なくとも含む、上記第１ボリュームのバックアップに関する命令を受信し、当該命令に応じて、当該命令により特定された共通データ領域に含まれるデータを、自装置における上記第２ボリュームの上記バックアップボリュームから上記第１ボリュームの上記バックアップボリュームにコピーする処理と、上記第１ボリュームにおける上記共通データ領域とは異なる領域に含まれる少なくとも一部のデータを上記バックアップ元ストレージ装置から受信し、受信したデータを上記第１ボリュームの上記バックアップボリュームに書き込む処理と、を実行するリモート命令処理部と、を備える。
【００１４】
本開示の更に他の態様に係るストレージ装置のバックアップ方法は、データを記憶可能な記憶領域により構成されるボリュームを備えるストレージ装置が、他のストレージ装置であるバックアップ元ストレージ装置から、上記バックアップ元ストレージ装置に含まれる、データを記憶可能な記憶領域により構成される第１ボリュームと第２ボリュームとの間で共通するデータが記憶された領域である共通データ領域を特定可能な情報を少なくとも含む、上記第１ボリュームのバックアップに関する命令を受信し、受信した命令に応じて、当該命令により特定された共通データ領域に含まれるデータを、上記第２ボリュームから複製されたデータを記憶する上記ボリュームから、上記第１ボリュームから複製されたデータを記憶する上記ボリュームにコピーし、上記バックアップ元ストレージ装置から、上記第１ボリュームにおける上記共通データ領域とは異なる領域に含まれる少なくとも一部のデータを受信し、受信したデータを、上記第１ボリュームから複製されたデータを記憶する上記ボリュームに書き込む、ことを含む。
【００１５】
本開示の更に他の態様に係るストレージ装置のバックアップシステムは、データを記憶可能な記憶領域により構成されるボリュームである第１ボリュームと第２ボリュームとを備えるストレージ装置であるバックアップ元ストレージ装置と、データを記憶可能な記憶領域により構成されるボリュームであるバックアップボリュームを備える他のストレージ装置であるバックアップ先ストレージ装置と、を備える。
【００１６】
上記バックアップシステムにおけるバックアップ元ストレージ装置は、上記第１ボリュームと上記第２ボリュームの間で、共通するデータが記憶された領域である共通データ領域を特定し、上記バックアップ先ストレージ装置に対して、上記共通データ領域に記憶されたデータを、上記第２ボリュームの上記バックアップボリュームから上記第１ボリュームの上記バックアップボリュームに、上記バックアップ先ストレージ装置においてコピーすることを表す命令を送信するバックアップ制御部と、上記第１ボリュームにおける、上記共通データ領域とは異なる領域に記憶されたデータの少なくとも一部を上記バックアップ先ストレージ装置に送信するリモートコピー制御部と、を更に備える。
【００１７】
上記バックアップシステムにおけるバックアップ先ストレージ装置は、上記バックアップ元ストレージ装置から、上記命令を受信し、受信した当該命令に応じて、当該命令により特定された上記共通データ領域に含まれるデータを、自装置における上記第２ボリュームの上記バックアップボリュームから上記第１ボリュームの上記バックアップボリュームにコピーする処理と、上記第１ボリュームにおける上記共通データ領域とは異なる領域に含まれる少なくとも一部のデータを上記バックアップ元ストレージ装置から受信し、受信したデータを上記第１ボリュームの上記バックアップボリュームに書き込む処理と、を実行するリモート命令処理部と、を更に備える。
【００１８】
また、本開示の目的は、上記構成を有するストレージ装置、ストレージ装置のバックアップ方法、ストレージ装置のバックアップシステム等を、コンピュータによって実現するコンピュータ・プログラム、及び、そのコンピュータ・プログラムが格納されている、コンピュータ読み取り可能な記録媒体等によっても達成される。
【発明の効果】
【００１９】
本開示に係る技術によれば、バックアップ元のストレージ装置から、バックアップ先のストレージ装置に転送されるデータ量を低減可能である。
【図面の簡単な説明】
【００２０】
【図１】図１は、リンククローン方式におけるデータアクセスの具体例を示す説明図である。
【図２】図２は、第１の実施形態におけるストレージ装置の機能的な構成を例示するブロック図である。
【図３】図３は、第１の実施形態における、バックアップ元のストレージ装置の機能的な構成を例示するブロック図である。
【図４】図４は、第１の実施形態における、バックアップ先のストレージ装置の機能的な構成を例示するブロック図である。
【図５】図５は、第１の実施形態におけるストレージ装置が有するボリュームに関する情報を保持するテーブル（その１）の具体例を示す説明図である。
【図６】図６は、第１の実施形態におけるストレージ装置が有するボリュームに関する情報を保持するテーブル（その２）の具体例を示す説明図である。
【図７】図７は、第１の実施形態におけるストレージ装置が有するボリュームに関する情報を保持するテーブル（その３）の具体例を示す説明図である。
【図８】図８は、第１の実施形態におけるストレージ装置が有するボリュームに関する情報を保持するテーブル（その４）の具体例を示す説明図である。
【図９】図９は、第１の実施形態におけるストレージ装置の動作（共通データコピー命令の送信）を説明するフローチャートである。
【図１０】図１０は、第１の実施形態におけるデータのコピーに関する処理を模式的に表す説明図（その１）である。
【図１１】図１１は、第１の実施形態におけるデータのコピーに関する処理を模式的に表す説明図（その２）である。
【図１２】図１２は、第１の実施形態におけるデータのコピーに関する処理を模式的に表す説明図（その３）である。
【図１３】図１３は、第１の実施形態におけるバックアップ元のストレージ装置の動作（リモートコピー命令の送信）を説明するフローチャートである。
【図１４】図１４は、第１の実施形態におけるバックアップ先のストレージ装置の動作を説明するフローチャート（その１）である。
【図１５】図１５は、第１の実施形態におけるバックアップ先のストレージ装置の動作を説明するフローチャート（その２）である。
【図１６】図１６は、バックアップ先のストレージにおけるデータのコピーに関する処理を模式的に表す説明図である。
【図１７】図１７は、第１の実施形態におけるバックアップ先のストレージ装置の動作を説明するフローチャート（その３）である。
【図１８】図１８は、本開示に係る技術の対比として、ボリューム全体をそのままリモートサイトに転送する方法を採用した場合の動作を模式的に表す説明図である。
【図１９】図１９は、本開示に係る技術の対比として、ボリューム全体をそのままリモートサイトに転送する方法を用いて、複数のクローンボリュームをリモートサイトにバックアップした場合の動作を模式的に示す説明図である。
【図２０】図２０は、第１の実施形態に係るストレージ装置を用いて、複数のボリュームをリモートサイト２にバックアップした場合の動作を模式的に示す説明図である。
【図２１】図２１は、第１の実施形態の変形例におけるストレージ装置の動作を説明するフローチャートである。
【図２２】図２２は、第１の実施形態の変形例におけるデータのコピーに関する処理を模式的に表す説明図（その１）である。
【図２３】図２２は、第１の実施形態の変形例におけるデータのコピーに関する処理を模式的に表す説明図（その２）である。
【図２４】図２２は、第１の実施形態の変形例におけるストレージ装置を用いて、複数のボリュームをリモートサイト２にバックアップした場合の動作を模式的に示す説明図である。
【図２５】図２５は、第２の実施形態に係るストレージ装置の機能的な構成を例示するブロック図である。
【図２６】図２６は、第２の実施形態の変形例に係るストレージ装置の機能的な構成を例示するブロック図である。
【図２７】図２７は、第３の実施形態に係るストレージ装置の機能的な構成を例示するブロック図である。
【図２８】図２８は、各実施形態を実現可能なハードウェア構成を例示する説明図である。
【発明を実施するための形態】
【００２１】
まず、本開示に関する技術的な検討事項等についてより詳細に説明する。説明の便宜上、以下においては、リンククローン方式を用いて作成された仮想マシンのバックアップを具体例として用いる。なお、本開示に係る技術は、係る具体例に限定されず、他のバックアップ処理（例えば、リンククロー方式以外の仮想マシンのバックアップ等）にも適用可能である。
【００２２】
リンククローン方式は、１以上の仮想マシンに共通するマシンイメージであるマスタイメージ（マスタボリューム）を設け、各仮想マシンの仮想ボリューム（クローンボリューム）において、マスタイメージとの差分データを管理する。リンククローン方式によれば、各仮想マシンのクローンボリュームの記憶に用いられるディスク容量を削減することができる。以下、マスタボリュームは、エンティティボリュームと記載される場合がある。また、あるエンティティボリュームに対する差分データを含むクローンボリュームを、係るエンティティボリュームから派生（生成）されたクローンボリュームと記載する場合がある。
【００２３】
リンククローン方式におけるデータアクセスの具体例を図１に示す。図１において、エンティティボリューム（ＥＶ０）は、１以上の仮想マシンから参照されるマスタボリュームを表す。クローンボリューム（ＣＶ０及びＣＶ１）は、それぞれリンククローン方式により作成された仮想マシンの仮想ボリュームである。
【００２４】
クローンボリュームにおける、ある領域（例えば、あるアドレスにより特定される領域）に対するデータアクセスが発生した場合を想定する。ある領域について、クローンボリュームが、エンティティボリュームに対する差分データを保持していない場合、係るデータアクセスにより、エンティティボリュームのデータが参照される。図１に例示する具体例においては、例えば、ＣＶ０（クローンボリューム）の領域（例えば、ＡＤＤＲ＿Ｂ、ＡＤＤＲ＿Ｃ、ＡＤＤＲ＿Ｄ）に対するデータアクセスが発生した場合、ＥＶ０において対応する領域（例えば、ＡＤＤＲ＿Ｂ、ＡＤＤＲ＿Ｃ、ＡＤＤＲ＿Ｄ）のデータが参照される。同様に、ＣＶ１（クローンボリューム）の領域ＡＤＤＲ＿Ａ、ＡＤＤＲ＿Ｂ、ＡＤＤＲ＿Ｄに対するデータアクセスが発生した場合、ＥＶ０において対応する領域（ＡＤＤＲ＿Ａ、ＡＤＤＲ＿Ｂ、ＡＤＤＲ＿Ｄ）のデータが参照される。
【００２５】
一方、ある領域について、クローンボリュームが、エンティティボリュームに対する差分データを記憶している場合、係る領域にデータアクセスにより、クローンボリュームに記憶されたデータが参照される。図１に例示する具体例においては、例えば、ＣＶ０（クローンボリューム）の領域ＡＤＤＲ＿Ａに対するデータアクセスが発生した場合、クローンボリュームに記憶されたデータ（Ａ１）が参照される。同様に、例えば、ＣＶ１（クローンボリューム）の領域ＡＤＤＲ＿Ｃに対するデータアクセスが発生した場合、クローンボリュームに記憶されたデータ（Ｃ１）が参照される。
【００２６】
例えば、上記したようなデータアクセスの管理は、クローンボリュームとエンティティボリュームとの差分データの有無を管理する差分管理情報（例えば、図１の差分テーブル）を用いて実現されてよい。係る差分管理情報は、例えば、図１に示すように、ビットマップ（差分を含む領域には「１」が設定され、差分を含まない領域には「０」が設定される）を用いて表されてもよい。
【００２７】
リンククローン方式により作成された仮想マシンのクローンボリュームをバックアップすることを想定する。クローンボリュームは、例えば、システムのユーザ毎（又は仮想マシン毎）に提供されることもあり、場合によっては、数多くのクローンボリュームのバックアップが必要になる。
【００２８】
クローンボリュームのバックアップ（以下、「バックアップボリューム」と記載することがある）をバックアップ先に作成する方法の一つとして、例えば、クローンボリューム全体（全てのデータ）を、バックアップ先に転送する方法を用いることができる。しかしながら、係る方法を用いた場合、各クローンボリュームのバックアップに際して、エンティティボリュームに対する参照が発生する可能性がある。これにより、エンティティボリュームにおけるアクセス処理の負荷が増大する可能性がある。また、バックアップ元とバックアップ先とが通信回線を用いて接続されている場合、クローンボリュームのデータの転送により、通信量が増大する。このため、上記した方法を採用する場合、処理負荷及び通信量の増大など考慮して、バックアップのスケジューリングを行う必要があった。
【００２９】
これに対して、本開示に係る技術は、リンククローン方式にて作成したクローンボリュームをバックアップ先（リモートサイト）にバックアップするシステムにおいて、クローンボリューム間の差分に着目することで、バックアップ処理に要する通信量を削減可能な構成を実現する。また、本開示に係る技術は、クローンボリュームをバックアップする際に生じる、エンティティボリュームに対するアクセス負荷を軽減可能な構成を実現する。
【００３０】
以下の各実施形態を用いて説明する本開示に係るバックアップ技術は、例えば、以下のような処理を実行可能な構成を提供する。即ち、本開示に係るバックアップ技術は、共通のエンティティボリュームを参照する（即ち、共通のエンティティボリュームから派生した）１以上のクローンボリュームの間で、同じデータが記憶された領域と、異なるデータが記憶された領域とを特定可能である。本開示に係るバックアップ技術は、クローンボリューム（仮に「第１クローンボリューム」と記載する）をバックアップする際、当該クローンボリューム（第１クローンボリューム）と同じエンティティボリュームから派生した他のクローンボリューム（仮に「第２クローンボリューム」と記載する）が既にリモートサイトにバックアップされているか確認可能である。本開示に係るバックアップ技術は、第１クローンボリュームと第２クローンボリュームとにおいて異なるデータが記憶されている領域を、バックアップ元からリモートサイトに転送可能である。即ち、本開示に係るバックアップ技術は、リモートサイトに問い合わせることなく、第１クローンボリュームと第２クローンボリュームとにおいて同じデータが記憶された領域を特定可能であり、異なるデータが記憶されている領域をリモートサイトに送信可能である。これにより、例えば、第１ボリュームの少なくとも一部を複製したバックアップボリュームがリモートサイトに作成される。
【００３１】
本開示に係るバックアップ技術は、第２クローンボリュームがリモートサイトにバックアップされている場合、第１及び第２クローンボリュームにおいて同じデータが記憶されている領域を、第２クローンボリュームのバックアップボリュームから、第１ボリュームのバックアップボリュームに、リモートサイトにおいて複製することができる。これにより、第１ボリュームの全データを含むバックアップボリュームが、リモートサイトにおいて作成される。
【００３２】
上記のように構成された本開示に係るバックアップ技術によれば、バックアップ元から、リモートサイトに転送するクローンボリュームのデータを削減可能である。その理由は、第１クローンボリュームと、第２クローンボリュームとにおいて共通するデータを、バックアップ元からリモートサイトに転送する必要がないからである。また、これにより第１クローンボリュームをバックアップする際の、エンティティボリュームへのアクセスが低減される。その理由は、第１クローンボリュームと、第２クローンボリュームとにおいて共通するデータを、エンティティボリュームから取得する必要がないからである。また、あるデータがリモートサイトにバックアップされているか否かを、逐一リモートサイトに問い合わせる必要がない。
【００３３】
以下、各実施形態を用いて、本開示に係るバックアップ方法を実現可能な、ストレージ装置、ストレージ装置のバックアップ方法、ストレージ装置のバックアップシステム等について詳細に説明する。以下の各実施形態に記載されている装置、システム等の構成は例示であり、本開示に係る技術の範囲はそれらには限定されない。以下の各実施形態における装置、システムを構成する構成要素の区分け（例えば、機能的な単位による分割）は、本開示に係る技術を実現可能な一例である。本開示に係る技術の実現に際しては、以下の例示に限定されず、様々な構成が想定される。即ち、以下の各実施形態に例示する各構成要素は、更に分割されてもよい。また、以下の各実施形態における１以上の構成要素が、統合されてもよい。
【００３４】
本開示に係る技術は、単体の装置（物理的あるいは仮想的な装置）を用いて構成されてもよく、複数の離間した装置（物理的あるいは仮想的な装置）を用いて実現されてもよい。本開示に係る技術が複数の装置により実現（実装）される場合、各装置の間は有線、無線、又はそれらを適切に組み合わせた通信ネットワーク（通信回線）により通信可能に接続されてもよい。係る通信ネットワークは、物理的な通信ネットワークであってもよく、仮想的な通信ネットワークであってもよい。以下において説明する書く実施形態を実現可能なハードウェア構成については、後述する。
【００３５】
＜第１の実施形態＞
以下、図面を参照して本開示に係る技術の第１の実施形態について説明する。
【００３６】
［構成］
図２は、本実施形態におけるストレージ装置及びバックアップシステムの機能的な構成を例示するブロック図である。
【００３７】
図２において、プライマリサイト１にはストレージ装置１０２が配置され、リモートサイト２には、ストレージ装置２０２が配置される。ストレージ装置１０２は、例えば、バックアップ元のストレージ装置であり、ストレージ装置２０２は、例えば、バックアップ先のストレージ装置である。
【００３８】
プライマリサイト１とリモートサイト２とは、適切な通信回線を介して通信可能に接続されている。プライマリサイト１及びリモートサイト２は、例えば、１以上の物理的又は仮想的な情報処理装置等を用いて構成された単一のシステムに含まれてもよい。また、プライマリサイト１及びリモートサイト２は、例えば、物理的に離間した複数のシステムにより実現されてもよい。
【００３９】
プライマリサイト１とリモートサイト２とを接続する通信回線は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の狭域通信ネットワークであってもよく、インターネット等の広域通信ネットワークであってもよい。また、プライマリサイト１とリモートサイト２とが単一のシステムに含まれる場合、これらの間は適切な通信バスにより接続されてもよい。プライマリサイト１とリモートサイト２とを接続する通信回線は、有線、無線、又はそれらの組合せにより実現されてよい。また、プライマリサイト１とリモートサイト２とが仮想環境に構築される場合には、これらを接続する通信回線が仮想化されてもよい。
【００４０】
図２を参照すると、ストレージ装置１０２はホスト１０１と通信可能に接続され、ストレージ装置２０２はホスト２０１と通信可能に接続されている。
【００４１】
ホスト１０１は、例えば、コンピュータ等により構成された情報処理装置であってよい。ストレージ装置１０２は、ホスト１０１に対して記憶領域を提供する装置として機能してもよい。
【００４２】
以下図３を参照して、ストレージ装置１０２の機能的な構成について説明する。図３に例示する構成は、ストレージ装置１０２の一つの具体的な態様であり、本開示に係る技術は図３に例示する構成に限定されない。
【００４３】
ストレージ装置１０２は、バックアップ制御部１０３と、リモートコピー制御部１０４と、第１構成記憶部１０５と、ボリューム１０６とを含むよう構成されてよい。
【００４４】
バックアップ制御部１０３は、共通データテーブル作成部１０３ａと、共通データコピー指示部１０３ｂと、コピーアドレス決定部１０３ｃとを含むよう構成される。
【００４５】
バックアップ制御部１０３は、ホスト１０１から、クローンボリューム１０６ｂ（後述）をリモートサイト２へバックアップする命令（以下「リモートバックアップ命令」と記載）を受信する。バックアップ制御部１０３は、共通データテーブル作成部１０３ａと、共通データコピー指示部１０３ｂと、コピーアドレス決定部１０３ｃとにおいて、受信した命令に応じた処理を実行し、ホスト１０１にレスポンスを返却する。
【００４６】
共通データテーブル作成部１０３ａは、ボリューム管理テーブル１０５ａ（後述）を参照し、リモートバックアップ命令により指定されたバックアップ対象のクローンボリューム１０６ｂに関するエンティティボリューム１０６ａ（後述）から派生された、他のクローンボリュームを特定する。以下、説明の便宜上、リモートバックアップ命令により指定されたバックアップ対象のクローンボリュームを、仮に「バックアップ対象クローンボリューム」又は「第１クローンボリューム」と記載することがある。また、「第１クローンボリューム」が派生されたエンティティボリューム１０６ａを、仮に「派生元エンティティボリューム」と記載する場合がある。また、「第１クローンボリューム」に関する「派生エンティティボリューム」と同じエンティティボリュームから派生された他のクローンボリューム１０６ｂを、仮に「第２クローンボリューム」と記載する場合がある。ボリューム管理テーブル１０５ａの具体的態様については後述する。
【００４７】
共通データテーブル作成部１０３ａは、例えば、以下のような処理を実現するよう構成されてよい。即ち、共通データテーブル作成部１０３ａは、第１クローンボリュームに関する派生元エンティティボリュームから派生された１以上の第２クローンボリュームのうち、既にバックアップが実行（開始）された第２クローンボリュームを特定してよい。
【００４８】
一例として、共通データテーブル作成部１０３ａは、例えば、係る１以上の第２クローンボリュームのうち、最初にバックアップが開始された第２クローンボリュームを特定してもよい。
【００４９】
共通データテーブル作成部１０３ａは、第１クローンボリュームと、特定した第２クローンボリュームとにおいて、共通の（同じ）データ（以下「共通データ」と記載することがある）が記録されている領域を特定し、係る領域（以下「共通データ領域」と記載することがある）を示す情報を保持する共通データテーブル１０５ｄを作成する。
【００５０】
共通データテーブル作成部１０３ａは、バックアップされる第１クローンボリュームごとに、共通データテーブル１０５ｄを作成してよい。共通データテーブル１０５ｄの具体的態様については、後述する。
【００５１】
共通データテーブル作成部１０３ａは、例えば、第１クローンボリュームと、特定した第２クローンボリュームとにおいて、同じデータが記録されている領域を特定してもよい。係る領域は、例えば、クローンボリュームにおけるアドレスを用いて特定することができる。
【００５２】
共通データコピー指示部１０３ｂは、例えば、以下のような処理を実現するよう構成されてよい。即ち、共通データコピー指示部１０３ｂは、共通データテーブル１０５ｄの内容を含む命令（共通データコピー命令）を、リモートサイト２のストレージ装置２０２に送信する。
【００５３】
共通データコピー命令は、ストレージ装置２０２に対して、共通データテーブル１０５ｄの内容に応じて、ストレージ装置２０２に記憶されたバックアップボリューム２０５ａ（後述）の間で一部のデータをコピーすることを通知する命令である。
【００５４】
共通データコピー指示部１０３ｂは、例えば、ボリューム管理テーブル１０５ａにおける、第１クローンボリュームのバックアップ状況（後述）に、「バックアップ中」（例えば、「バックアップ中」を示す値）を設定してよい。
【００５５】
コピーアドレス決定部１０３ｃは、例えば、以下のような処理を実現するよう構成されてよい。即ち、コピーアドレス決定部１０３ｃは、第１クローンボリュームにおける、共通データ領域とは異なる領域を、リモートサイト２にコピーする対象として特定し、コピーアドレステーブル１０５ｃを作成する。以下、クローンボリュームにおいて、リモートサイト２にコピーされる対象として特定された領域を、「リモートコピー領域」と記載することがある。リモートコピー領域は、クローンボリューム１０６ｂにおけるアドレスを用いて特定されてもよい。リモートコピー領域は、クローンボリューム１０６ｂにおけるページとして特定されてもよい。
【００５６】
コピーアドレステーブル１０５ｃは、例えば、クローンボリュームを構成する領域（例えば、アドレスにより特定される範囲）ごとに、当該領域がリモートコピー領域であるか否か示すフラグを保持してもよい。当該領域がリモートコピー領域である場合、例えば、係るフラグに値”１”が設定され、当該領域がリモートコピー領域でない場合、例えば、係るフラグに値”０”が設定されてもよい。コピーアドレステーブル１０５ｃの具体的態様については後述する。
【００５７】
リモートコピー制御部１０４は、リモートコピー検索部１０４ａと、リモートコピー指示部１０４ｂとを含むよう構成される。
【００５８】
リモートコピー検索部１０４ａは、例えば、以下のような処理を実行するよう構成されておい。即ち、リモートコピー検索部１０４ａは、ボリューム管理テーブル１０５ａを参照し、リモートサイトへのバックアップが実行されている（バックアップ状況に、「バックアップ中」が設定されている）クローンボリューム（第１クローンボリューム）を特定する。
【００５９】
リモートコピー検索部１０４ａは、特定した第１クローンボリュームのコピーアドレステーブル１０５ｃから、リモートコピー領域を特定する。上記したように、リモートコピー領域は、リモートサイト２にコピーされる領域である。リモートコピー検索部１０４ａは、例えば、コピーアドレステーブル１０５ｃにおいて、リモートコピー領域であることを示すフラグが設定されている領域（アドレス等）を、コピー対象として決定してもよい。
【００６０】
リモートコピー検索部１０４ａは、ある第１クローンボリュームについてコピーする対象がない（リモートコピー領域がない）場合、ボリューム管理テーブル１０５ａにおける当該クローンボリュームのバックアップ状況に「バックアップ済」（例えば、「バックアップ済」を示す値）を設定してよい。
【００６１】
リモートコピー指示部１０４ｂは、例えば、以下のような処理を実行するよう構成されたよい。即ち、リモートコピー指示部１０４ｂは、リモートコピー検索部１０４ａが決定した、第１クローンボリュームにおけるリモートコピー領域のデータを、第１クローンボリュームから読み込む（リードする）。
【００６２】
リモートコピー指示部１０４ｂは、リードしたリモートコピー領域のデータをストレージ装置２０２におけるバックアップボリューム２０５ａへ書きこむことを指示する命令（リモートコピー命令）を、ストレージ装置２０２に対して送信する。係るリモートコピー命令には、例えば、書き込み先の領域を特定可能な情報（アドレス等）と、書き込まれるデータ（リモートコピー領域のデータ）と、が含まれてもよい。
【００６３】
リモートコピー指示部１０４ｂは、ストレージ装置２０２からレスポンスを受信した際、コピーアドレステーブル１０５ｃにおいて、リモートサイト２へのコピーが完了したリモートコピー領域に、コピーが完了したことを示すフラグを設定してもよい。リモートコピー指示部１０４ｂは、例えば、コピーアドレステーブル１０５ｃにおいて、リモートサイト２へのコピーが完了したリモートコピー領域のフラグに”０”を設定してもよい。
【００６４】
第１構成記憶部１０５は、ボリューム管理テーブル１０５ａと、差分テーブル１０５ｂと、コピーアドレステーブル１０５ｃと、共通データテーブル１０５ｄとを含むよう構成されてよい。上記各テーブルを実現可能なデータ構造は特に限定されない。各テーブルは、例えば、テーブル構造やデータベースを用いて各種データを保持してもよく、テーブル構造以外のデータ構造により、データを保持してもよい。
【００６５】
ボリューム管理テーブル１０５ａは、エンティティボリューム１０６ａとクローンボリューム１０６ｂ（後述）との関係、及び、リモートサイトにバックアップされるクローンボリュームと、バックアップボリュームとの対応関係を保持するよう構成されたテーブルである。
【００６６】
図５は、ボリューム管理テーブル１０５ａの一つの具体例を示す説明図である。ボリューム管理テーブル１０５ａは、エンティティボリュームを特定可能な識別情報（エンティティボリューム番号５０１）と、クローンボリュームボリュームを特定可能な識別情報（クローンボリューム番号５０２）と、クローンボリュームと対応するバックアップボリュームを特定可能な識別情報（バックアップボリューム番号５０３）と、を含む。これらの識別情報は、例えば、ボリューム番号により表されてもよい。これらの識別情報は相互に関連付けされていてもよい。
【００６７】
また、ボリューム管理テーブル１０５ａは、クローンボリュームごとに、リモートサイト２へのバックアップ処理の状況（バックアップ状況５０４）と、バックアップを開始した順序（バックアップ開始順序５０５）とを保持してもよい。具体例として、バックアップ状況５０４には、あるクローンボリュームがバックアップ済であることを示す値（「バックアップ済」）が設定されてよい。バックアップ状況５０４には、あるクローンボリュームに関するバックアップが進行中であることを示す値（「バックアップ中」）が設定されてよい。バックアップ状況５０４には、あるクローンボリュームがバックアップされていないことを示す値（「バックアップ未」）が設定されてよい。
【００６８】
差分テーブル１０５ｂは、クローンボリュームの領域ごとに、派生元のエンティティボリュームとは異なるデータが記憶されているか否かを表す情報（差分情報）を保持する。係る差分情報は、フラグとして保持されてもよい。以下、フラグが設定されるクローンボリュームの領域を、「ページ」と記載する場合がある。係るページは、例えば、アドレス（又はアドレス範囲）を用いて特定されてもよい。
【００６９】
図６は、差分テーブル１０５ｂの一つの具体例を示す説明図である。差分テーブル１０５ｂは、各クローンボリュームについて、ページ番号６０１により特定されるページごとに、派生元のエンティティボリュームと異なるデータが記憶されているか否かを表すフラグを保持する。例えば、あるページにフラグとして”１”が設定されている場合、クローンボリュームにおける当該ページには、エンティティボリュームとは異なるデータが記憶されている。即ち、この場合、クローンボリュームにける当該ページには、実データが存在する。例えば、あるページにフラグとして”０”が設定されている場合、クローンボリュームにおける当該ページのデータと、エンティティボリュームにおける当該ページのデータとは同一である。即ち、この場合、クローンボリュームにおける当該ページには実データが存在せず、当該ページがアクセスされた場合、エンティティボリュームにおける当該ページのデータが参照されてもよい。
【００７０】
例えば、共通データテーブル作成部１０３ａは、あるクローンボリューム１０６ｂと、他のクローンボリューム１０６ｂとについて、ページごとのフラグの値（”０”又は”１”）について論理演算（例えば論理和（ＯＲ））を実行することができる。これにより、共通データテーブル作成部１０３ａは、２つのクローンボリューム１０６ｂにおけるページごとに、共通するデータ（特には、エンティティボリューム１０６ａと差分がないデータ）が含まれるか否かを、容易に判定可能である。
【００７１】
例えば、図６において、クローンボリュームＣＶ０の”ｐａｇｅ２”にはフラグとして”１”が設定されているので、クローンボリュームＣＶ０の”ｐａｇｅ２”には実データが存在する。一方、クローンボリュームＣＶ０の”ｐａｇｅ３”にはフラグ”０”が設定されているので、クローンボリュームＣＶ０の”ｐａｇｅ３”には実データが存在しない。クローンボリュームＣＶ０の”ｐａｇｅ３”がアクセスされた場合、エンティティボリュームの”ｐａｇｅ３”が参照される。
【００７２】
差分テーブル１０５ｂは、図６に例示するように、ストレージ装置１０２に記憶される全てのクローンボリューム１０６ｂを含むテーブルとして構成されてもよい。他の具体例として、差分テーブル１０５ｂは、それぞれのクローンボリューム１０６ｂについて個別のテーブルとして構成されてもよい。
【００７３】
例えば、ストレージ装置１０２において、エンティティボリューム１０６ａから、クローンボリューム１０６ｂが派生された際に、当該クローンボリューム１０６ｂに関する差分テーブル１０５ｂが生成されてもよい。差分テーブル１０５ｂが生成された際、クローンボリュームの各領域（ページ）には、フラグとして”０”が初期値として設定されてもよい。
【００７４】
ストレージ装置１０２が運用されている間、ストレージ装置１０２は、クローンボリューム１０６ｂに対するアクセスが発生した際、差分テーブル１０５ｂのフラグを適切に設定する。例えば、クローンボリューム１０６ｂのある領域（ページ）において、データの書き込み、削除、変更等が発生した場合を想定する。この場合、クローンボリューム１０６ｂにおけるページと、そのページに対応するエンティティボリューム１０６ａにおけるページとには、異なるデータが記憶され得る。この場合、差分テーブル１０５ｂにおいては、係るページに、フラグとして”１”が設定される。また、クローンボリューム１０６ｂのある領域（ページ）のデータと、係るページに対応するエンティティボリューム１０６ａにおけるページのデータとが同一になった場合、差分テーブル１０５ｂにおいては、係るページに、フラグとして”０”が設定されてもよい。
【００７５】
コピーアドレステーブル１０５ｃは、各クローンボリュームの領域（ページ）ごとに、リモートサイト２に対してデータのコピーを実行するか否かを表すフラグを保持するよう構成される。
【００７６】
図７は、コピーアドレステーブル１０５ｃの一つの具体例を示す説明図である。コピーアドレステーブル１０５ｃは、クローンボリューム番号７０２により特定されるクローンボリュームについて、ページ番号７０１で特定されるページごとに、当該ページをリモートサイト２にコピーするか否かを表すフラグを保持する。例えば、あるページにフラグとして”１”が設定されている場合、クローンボリュームにおける当該ページのデータは、リモートサイト２にコピーされる。例えば、あるページにフラグとして”０”が設定されている場合、クローンボリュームにおける当該ページのデータを、リモートサイト２にコピーする必要はない。この場合、係るページは、例えば、リモートサイト２に既にコピー済みであるか、又は、コピーする必要がないページである。
【００７７】
例えば図７において、クローンボリュームＣＶ２の”ｐａｇｅ１”には、フラグ”１”が設定されているので、”ｐａｇｅ１”のデータをリモートサイト２にコピーする必要がある。一方、クローンボリュームＣＶ１の”ｐａｇｅ０”には、フラグ”０”が設定されているので、”ｐａｇｅ２”のデータをリモートサイト２にコピーする必要はない。
【００７８】
共通データテーブル１０５ｄは、バックアップされる第１クローンボリュームの各ページについて、第２クローンボリュームにおける対応するページと共通するデータが記憶されているか否かを表すフラグを保持するよう構成される。
【００７９】
図８は、共通データテーブル１０５ｄの一つの具体例を示す説明図である。共通データテーブル１０５ｄにおいて、例えば、バックアップ中ボリューム８０２は、バックアップ中の第１クローンボリュームを表す。また、クローンボリューム番号８０３は、第１クローンボリュームの派生元エンティティボリュームから派生された、バックアップ済み又はバックアップ中の第２クローンボリュームを表す。共通データテーブル１０５ｄは、第１クローンボリュームの各ページ（ページ番号８０１）に、第２クローンボリュームにおける対応するページと共通するデータ（共通データ）が記憶されているか否かを表す情報（共通データ情報）を保持する。共通データ情報はフラグにより表されてもよい。例えば、あるページにフラグとして”１”が設定されている場合、第１クローンボリュームにおける当該ページと、第２クローンボリュームにおける当該ページとには、共通するデータが記憶されている。一方、あるページにフラグとして”０”が設定されている場合、第１クローンボリュームにおける当該ページと、第２クローンボリュームにおける当該ページとには、異なるデータが記憶されている。
【００８０】
例えば図８に示す具体例においては、クローンボリュームＣＶ２が、バックアップされる第１クローンボリュームである。これに対して、クローンボリュームＣＶ０の”ｐａｇｅ０”にはフラグ”１”が設定されている。係るフラグは、クローンボリュームＣＶ２と、クローンボリュームＣＶ０の”ｐａｇｅ０”には、同一のデータが記憶されていることを示す。一方、クローンボリュームＣＶ１の”ｐａｇｅ０”にはフラグとして”０”が設定されている。係るフラグは、クローンボリュームＣＶ２と、クローンボリュームＣＶ１の”ｐａｇｅ０”には、異なるデータが記憶されていることを示す。
【００８１】
ボリューム１０６は、エンティティボリューム１０６ａとクローンボリューム１０６ｂとを含むよう構成される。
【００８２】
エンティティボリューム１０６ａは、リンククローン方式におけるマスタイメージに相当し、１以上のクローンボリューム１０６ｂに共通するデータを記憶するボリュームである。
【００８３】
クローンボリューム１０６ｂは、例えば、ユーザが使用する仮想マシンの仮想ボリュームであり、エンティティボリューム１０６ａとの差分のデータを記憶する。１つのエンティティボリューム１０６ａに対し、クローンボリューム１０６ｂは複数存在してよい。リンククローン方式の場合、例えば、仮想マシンごとに、エンティティボリューム１０６ａから派生されたクローンボリューム１０６ｂが割り当てられてよい。
【００８４】
以下、図４を参照して、ストレージ装置２０２の具体的な構成について説明する。図４に例示する構成は、ストレージ装置２０２の一つの具体的な態様であり、本開示に係る技術は図４に例示する構成に限定されない。
【００８５】
ストレージ装置２０２は、リモート命令処理部２０３と、第２構成記憶部２０４とバックアップ先ボリューム２０５とを含むよう構成される。
【００８６】
リモート命令処理部２０３は、共通データコピー部２０３ａと、リモートデータコピー部２０３ｂとを含、以下のような処理を実現するよう構成される。
【００８７】
リモート命令処理部２０３は、ストレージ装置１０２から各種命令を受信し、受信した命令の種類を判別する。以下、ストレージ装置１０２から受信する命令を、リモート命令と記載する場合がある。リモート命令には、例えば、上記説明した「共通データコピー命令」、「リモートコピー命令」等が含まれてよい。
【００８８】
リモート命令処理部２０３は、例えば、受信したリモート命令に応じて、共通データコピー部２０３ａ及びリモートデータコピー部２０３ｂの少なくとも一方における処理を実行し、ストレージ装置１０２にレスポンスを返却する。
【００８９】
共通データコピー部２０３ａは、以下のような処理を実現するよう構成される。即ち、共通データコピー部２０３ａは、受信した共通データコピー命令に含まれる共通データテーブルの内容を、共通データテーブル２０４ａに保存する。
【００９０】
共通データコピー部２０３ａは、共通データコピー命令により指定された共通データのコピー元であるバックアップボリュームに関するバックアップ処理（即ち、第２クローンボリュームに関するバックアップ処理）が完了するのを待つ。
【００９１】
共通データコピー部２０３ａは、バックアップボリュームにおいて、共通データテーブル２０４ａにフラグ”１”設定されているページを特定する。共通データコピー部２０３ａは、係るページのアドレスを特定してもよい。
【００９２】
共通データコピー部２０３ａは、コピー元のバックアップボリューム（第２クローンボリュームのバックアップボリューム）から、上記特定したページのデータを読み出し、バックアップ先バックアップボリューム（第１クローンボリュームのバックアップボリューム）へコピーする。これにより、各クローンボリュームのバックアップ先であるストレージ装置２０２において、既にバックアップが完了している第２クローンボリュームのバックアップボリュームから、第１クローンボリュームのバックアップボリュームに、少なくとも一部のデータがコピーされる。
【００９３】
リモートデータコピー部２０３ｂは、以下のような処理を実現するよう構成される。即ち、リモートデータコピー部２０３ｂは、リモートコピー命令により受信したデータ（リモートコピー領域のデータ）を、リモートコピー命令により指定されたバックアップ先のバックアップボリュームにおける特定の領域に書きこむ。リモートコピー命令により受信したデータの書き込み先は、ページ番号により指定されてもよく、アドレスにより指定されてもよい。
【００９４】
第２構成記憶部２０４は、共通データテーブル２０４ａを含むよう構成される。係るテーブルを実現可能なデータ構造は特に限定されない。係るテーブルは、例えば、テーブル構造やデータベースを用いて各種データを保持してもよく、テーブル構造以外のデータ構造により、データを保持してもよい。
【００９５】
共通データテーブル２０４ａは、共通データコピー命令で受信した共通データテーブルの内容を保存するよう構成される。共通データテーブル２０４ａの具体的な構成は、例えば、共通データテーブル１０５ｄと同様としてよい。
【００９６】
バックアップ先ボリューム２０５は、１以上のバックアップボリューム２０５ａから構成される。バックアップボリューム２０５ａは、ストレージ装置１０２に記憶されたクローンボリューム１０６ｂのバックアップである。各バックアップボリューム２０５ａは、クローンボリューム１０６ｂと１対１に対応していてもよい。また、一つのバックアップボリューム２０５ａに、複数のクローンボリューム１０６ｂのバックアップデータが記録されてもよい。この場合、例えば、バックアップボリューム２０５ａが複数の領域に分割され、それぞれの領域に対して、異なるクローンボリューム１０６ｂのバックアップデータが記録されてもよい。
【００９７】
［動作］
以下、本実施形態に係るストレージ装置の動作について、図面を参照して説明する。以下の各図面に例示するフローチャートは、ストレージ装置の動作の一具体例を示すものであり、本開示に係る技術はこれに限定されない。また、各フローチャートにおける処理（ステップ）は、処理の結果に影響しない範囲で、実行順序が変更されてもよく、一以上の処理（ステップ）が並行して実行されてもよい。
【００９８】
図９は、リモートバックアップ命令の処理を示すフローチャートである。
【００９９】
ストレージ装置１０２のバックアップ制御部１０３は、ホスト１０１から、クローンボリュームのバックアップを指示するバックアップ命令を受信する（ステップＳ９０１）。
【０１００】
共通データテーブル作成部１０３ａは、ボリューム管理テーブル１０５ａを参照し、上記受信したバックアップ命令により指定されたバックアップ対象のクローンボリューム１０６ｂ（第１クローンボリュームを）を特定する。共通データテーブル作成部１０３ａは、特定した第１クローンボリュームの派生元エンティティボリューム（エンティティボリューム１０６ａ）を特定する。そして、共通データテーブル作成部１０３ａは、係る派生元エンティティボリュームから派生された他のクローンボリューム１０６ｂ（第２クローンボリューム）のうち、バックアップ処理が開始されているクローンボリューム１０６ｂを特定する（ステップＳ９０２）。
【０１０１】
共通データテーブル作成部１０３ａは、例えば、最初にバックアップが開始されたクローンボリューム１０６ｂを、第２クローンボリュームとして特定してもよい。最初にバックアップが開始されたクローンボリューム１０６ｂについては、最初にバックアップが完了する可能性が高いと考えられる。これより、リモートサイト２のストレージ装置２０２におけるバックアップボリューム２０５ａの間のコピーを、比較的早期に実行可能であると考えられる。
【０１０２】
共通データテーブル作成部１０３ａは、上記に限定されず、他の適切な基準を用いて、第２クローンボリュームを特定してもよい。共通データテーブル作成部１０３ａは、例えば、第１クローンボリュームと同じ派生元エンティティボリュームから派生され、既にバックアップ処理が実行されている他のクローンボリューム１０６ｂのうち、第１クローンボリュームとの差異が最も少ないクローンボリューム１０６ｂを、第２クローンボリュームとして特定してもよい。この場合、リモートサイト２のストレージ装置２０２におけるバックアップボリューム２０５ａの間で、より多くのデータをコピーすることが可能である。これにより、プライマリサイト１から、リモートサイト２へのデータの転送量を削減可能である。
【０１０３】
共通データテーブル作成部１０３ａは、差分テーブル１０５ｂを参照し、上記特定した第１クローンボリュームに関する差分情報と、第２クローンボリュームに関する差分情報と、から共通データテーブル１０５ｄを作成する（ステップＳ９０３）。
【０１０４】
以下、共通データテーブル１０５ｄの作成手順について説明する。共通データテーブル作成部１０３ａは、第２クローンボリュームの差分テーブル１０５ｂと、第１クローンボリュームの差分テーブル１０５ｂとについて、領域（ページ）ごとに論理和（ＯＲ）を算出する。即ち、共通データテーブル作成部１０３ａは、第２クローンボリュームの差分テーブル１０５ｂにおけるフラグの値（”０”又は”１”）と、第１クローンボリュームの差分テーブル１０５ｂにおけるフラグの値（”０”又は”１”）と、の論理和を計算する。
【０１０５】
共通データテーブル作成部１０３ａは、係る計算の結果、フラグの値が”０”と算出された領域（ページ）を、共通データが記録された共通データ領域として特定することで、共通データテーブル１０５ｄを作成する。上記計算の結果、フラグの値が”０”と算出された領域は、第１クローンボリュームの差分テーブル１０５ｂと、第２クローンボリュームの差分テーブル１０５ｂと、において共にフラグの値が”０”である領域である。即ち、係る領域は、派生元のエンティティボリュームにおける対応する領域との差分がない領域である。なお、共通データテーブル作成部１０３ａは、上記計算結果（フラグの値）を反転して、共通データテーブル１０５ｄに設定する。共通データテーブル作成部１０３ａは、第２クローンボリュームが存在しない場合には、共通データテーブル１０５ｄのフラグを全て”０”としてよい。
【０１０６】
図１０に示す具体例を用いて、共通データテーブル１０５ｄの作成手順を説明する。図１０に示す具体例の場合、共通のエンティティボリュームＥＶ０から、クローンボリュームＣＶ０、ＣＶ１、ＣＶ２が派生されている。クローンボリュームＣＶ２は、バックアップ対象の第１クローンボリュームである。クローンボリュームＣＶ０及びＣＶ１は既にバックアップ処理が完了している。図１０においては、説明の便宜上、各クローンボリュームの差分テーブル１０５ｂの一部が示されている。
【０１０７】
エンティティボリュームＥＶ０において、ＡＤＤＲ＿Ａの領域（ページ）にデータ”Ａ０”が、ＡＤＤＲ＿Ｂの領域（ページ）にデータ”Ｂ０”が、ＡＤＤＲ＿Ｃの領域（ページ）にデータ”Ｃ０”が、ＡＤＤＲ＿Ｄの領域（ページ）に、データ”Ｄ０”が、記憶されている。
【０１０８】
クローンボリュームＣＶ０は、ＡＤＤＲ＿Ａの領域（ページ）についてエンティティボリュームＥＶ０と異なるデータ（”Ａ１”）を記憶し、その他の領域についてはエンティティボリュームＥＶ０と差分がない。
【０１０９】
クローンボリュームＣＶ１は、ＡＤＤＲ＿Ｃの領域（ページ）についてエンティティボリュームＥＶ０と異なるデータ（”Ｃ１”）を記憶し、その他の領域についてはエンティティボリュームＥＶ０と差分がない。
【０１１０】
クローンボリュームＣＶ２は、ＡＤＤＲ＿Ｄの領域（ページ）についてエンティティボリュームＥＶ０と異なるデータ（”Ｄ１”）を記憶し、その他の領域についてはエンティティボリュームＥＶ０と差分がない。
【０１１１】
ホスト１０１からクローンボリュームＣＶ２のバックアップが指示された場合、共通データテーブル作成部１０３ａは、例えば、第２クローンボリュームとして、クローンボリュームＣＶ０を特定する。共通データテーブル作成部１０３ａは、クローンボリュームＣＶ２の差分テーブル１０５ｂと、クローンボリュームＣＶ０の差分テーブル１０５ｂとの論理和（ＯＲ）を計算する。共通データテーブル作成部１０３ａは、計算結果のフラグの値が”０”のページを、共通データ領域として、クローンボリュームＣＶ２とＣＶ０との共通データテーブル１０５ｄを作成する。なお、共通データテーブル作成部１０３ａは、共通データテーブル１０５ｄを作成する際、計算結果のフラグの値を反転（”０”を”１”に変更し、”１”を”０”に変更）する。
【０１１２】
共通データコピー指示部１０３ｂは共通データテーブル１０５ｄの内容と、共通データ領域を保持するバックアップボリュームを特定可能な情報（例えば、ボリューム番号）とを含む、共通データコピー命令をリモートサイトのストレージ装置２０２に送信する（ステップＳ９０４）。
【０１１３】
共通データコピー指示部１０３ｂは、ボリューム管理テーブル１０５ａにおける、第１クローンボリュームに対するバックアップ状況５０４に「バックアップ中」を表す値を設定する（ステップＳ９０５）。この際、共通データコピー指示部１０３ｂは、バックアップ開始順序５０５を設定してもよい。
【０１１４】
コピーアドレス決定部１０３ｃは、共通データテーブル１０５ｄにおいてフラグ”０”が設定されている領域（ページ）を特定する。コピーアドレス決定部１０３ｃは、当該領域をコピー対象のデータが含まれる領域として、コピーアドレステーブル１０５ｃを作成する（ステップＳ９０６）。一つの具体的な態様として、コピーアドレス決定部１０３ｃは、例えば、共通データテーブル１０５ｄのフラグを反転することでコピーアドレステーブル１０５ｃを作成してもよい。
【０１１５】
図１１、図１２に示す具体例を用いて、コピーアドレステーブル１０５ｃの作成手順を説明する。図１１、図１２には、説明の便宜上、クローンボリューム、差分テーブル、コピーアドレステーブルの一部が、簡略化して表されている。
【０１１６】
図１１において、クローンボリュームＣＶ０は、最初にバックアップされるクローンボリューム（即ち、エンティティボリュームＥＶ０から派生されたクローンボリュームのうち、最初にバックアップされるクローンボリューム）であることを想定する。
【０１１７】
この場合、リモートサイト２にバックアップされている他のクローンボリュームは存在しない。即ち、共通データを有する他のクローンボリュームのバックアップボリュームが、ストレージ装置２０２には存在しない。これより、クローンボリュームＣＶ０については、全てのページ（ＡＤＤＲ＿Ａ〜ＡＤＤＲ＿Ｄ）がコピー対象としてコピーアドレステーブル１０５ｃに登録されている。具体的には、コピーアドレステーブル１０５ｃにおいて、全てのページについてフラグとして”１”が設定されている。係るコピーアドレステーブル１０５ｃの内容に応じて、クローンボリュームＣＶ０における全ページのデータが、ストレージ装置２０２におけるバックアップボリュームＲＶ０にコピーされる。
【０１１８】
図１２においては、クローンボリュームＣＶ０、ＣＶ１がバックアップ済みであり、クローンボリュームＣＶ２がバックアップされることを想定する。クローンボリュームＣＶ０及びＣＶ２の差分テーブル１０５ｂから、共通データテーブル１０５ｄが作成される。作成される共通データテーブル１０５ｄの内容は、図１０に例示する共通データテーブル１０５ｄと同様である。クローンボリュームＣＶ２は、２つ目以降にバックアップされるクローンボリュームなので、既にクローンボリュームＣＶ０がバックアップされている。これより、コピーアドレス決定部１０３ｃはクローンボリュームＣＶ０と、ＣＶ２との共通データテーブル１０５ｄにおいて、フラグとして”０”が設定されているページを、コピー対象として特定する。コピーアドレス決定部１０３ｃは、例えば、クローンボリュームＣＶ０とＣＶ２との共通データテーブル１０５ｄにおけるフラグの値を反転（”０”と”１”とを反転）することで、コピーアドレステーブル１０５ｃを作成してもよい。
【０１１９】
コピーアドレステーブル１０５ｃの作成が完了したら、バックアップ制御部１０３は、ホスト１０１へレスポンスを送信する（ステップＳ９０７）。
【０１２０】
以下、リモートコピー命令を送信する処理について、図１３を参照して説明する。
【０１２１】
リモートコピー命令を送信する処理は、適切なタイミングで実行される。係る処理は、例えば、定期的（一定時間ごと）に実行されてもよい。
【０１２２】
リモートコピー制御部１０４のリモートコピー検索部１０４ａは、ボリューム管理テーブル１０５ａを参照し、バックアップ中のクローンボリュームを特定する（ステップＳ１３０１〜ステップＳ１３０２）。
【０１２３】
バックアップ中のクローンボリュームがない場合（ステップＳ１３０２において［ＮＯ］）、リモートコピー検索部１０４ａは、処理を完了してもよい。なお、この際、リモートコピー検索部１０４ａは、例えば、次の実行タイミングを待ち合わせてもよい（ステップＳ１３０９）。
【０１２４】
バックアップ中のクローンボリュームを特定した場合には（ステップＳ１３０２において［ＹＥＳ］）、リモートコピー検索部１０４ａは、特定したクローンボリュームのコピーアドレステーブル１０５ｃの内容を検索する（ステップＳ１３０３）。具体的には、リモートコピー検索部１０４ａは、コピーアドレステーブル１０５ｃにおいて、リモートサイト２（ストレージ装置２０２）にコピーする必要があるページを検索する。リモートコピー検索部１０４ａは、例えば、コピーアドレステーブル１０５ｃにおいて、フラグ”１”が設定されているページを検索してもよい。
【０１２５】
リモートサイト２にコピーする必要があるページ（例えば、フラグ”１”が設定されたページ）が存在しない場合（ステップＳ１３０３において［ＮＯ］）、リモートコピー検索部１０４ａは、ステップＳ１３０１において特定したクローンボリュームのバックアップ状況を更新する。リモートコピー検索部１０４ａは、例えば、ステップＳ１３０１において特定したクローンボリュームについて、ボリューム管理テーブル１０５ａにおけるバックアップ状況５０４に、「バックアップ済」を表す値を設定し（ステップＳＳ１３０４）、処理を終了する。リモートコピー検索部１０４ａは、例えば、次の実行タイミングを待ち合わせてもよい（ステップＳ１３０９）。
【０１２６】
リモートサイト２にコピーする必要があるページ（例えば、フラグとして”１”が設定されたページ）を特定した場合（ステップＳ１３０３において［ＹＥＳ］）、リモートコピー指示部１０４ｂは、バックアップ中のクローンボリューム（ステップＳ１３０１において特定されたクローンボリューム）の当該ページのデータをリードする（ステップＳ１３０５）。
【０１２７】
リモートコピー指示部１０４ｂは、リードしたデータを含むリモートコピー命令を、リモートサイト２のストレージ装置２０２に送信する（ステップＳ１３０６）。係るリモートコピー命令には、データが書き込まれる領域を特定可能な情報（例えば、コピー先のバックアップボリュームにおけるアドレス等）が含まれてもよい。
【０１２８】
リモートコピー指示部１０４ｂは、リモートサイト２からレスポンスを受信し（ステップＳ１３０７）、コピーアドレステーブル１０５ｃを更新する（ステップＳ１３０８）。リモートコピー指示部１０４ｂは、例えば、コピーアドレステーブル１０５ｃにおいて、コピーが完了したページ（リモートサイト２からレスポンスを受信したページ）に、フラグ”０”を設定してよい。リモートコピー指示部１０４ｂは、ステップＳ１３０８を実行した後、処理を完了してもよい。なお、リモートコピー指示部１０４ｂにおける処理が完了した際、リモートコピー検索部１０４ａは、例えば、次の実行タイミングを待ち合わせてもよい（ステップＳ１３０９）。
【０１２９】
以下、リモートサイト２（ストレージ装置２０２）において、リモート命令処理について図１４を参照して説明する。
【０１３０】
リモートサイト２のストレージ装置２０２において、リモート命令処理部２０３が、ローカルサイトのストレージ装置１０２からのリモート命令を受信する（ステップＳ１３０１）。
【０１３１】
リモート命令処理部２０３は、リモート命令の種類を判別する（ステップＳ１３０２）。具体的には、リモート命令処理部２０３は、例えば、リモート命令が「共通データコピー命令」であるか否かを判別してもよい（ステップＳ１４０２）。
【０１３２】
受信したリモート命令が共通データコピー命令を受信した場合（ステップＳ１４０２において［共通データコピー命令］）、共通データコピー処理（後述）が実行される（ステップＳ１４０３）。また、受信したリモート命令がリモートコピー命令の場合（ステップＳ１４０２において［リモートコピー命令］）である場合、リモートデータコピー処理（後述）が実行される（ステップＳ１４０４）。リモート命令処理部２０３は、リモートコピー命令のレスポンスを送信元へ返却する（ステップＳ１４０５）。
【０１３３】
以下、図１５を参照して、共通データコピー処理について説明する。
【０１３４】
共通データコピー部２０３ａは、共通データコピー命令に含まれる共通データテーブルの内容を、ストレージ装置２０２の共通データテーブル２０４ａに保存する（ステップＳ１５０１）。上記したように、共通データコピー命令に含まれる共通データテーブルには、ストレージ装置１０２における第１クローンボリュームと、第２クローンボリュームとにおいて共通する（同一の）データが記憶された領域（ページ）を特定可能な情報（フラグ）が含まれる。
【０１３５】
共通データコピー部２０３ａは、共通データコピー命令により指定された共通データのコピー元であるバックアップボリューム２０５ａに関するバックアップ処理が完了しているか確認する（ステップＳ１５０２）。
【０１３６】
共通データコピー命令により指定された共通データのコピー元であるバックアップボリューム２０５ａは、第２クローンボリュームのバックアップボリュームに相当する。共通データコピー部２０３ａは、例えば、第２クローンボリュームに関するバックアップ処理が完了しているか否かを確認してもよい。
【０１３７】
コピー元のバックアップボリューム２０５ａに関するバックアップ処理が完了していない場合（ステップＳ１５０２において［ＮＯ］）、共通データコピー部２０３ａは、係るバックアップ処理が完了するまで待ち合わせる（ステップＳ１５０３）。
【０１３８】
コピー元のバックアップボリューム２０５ａに関するバックアップ処理が完了している場合（ステップＳ１５０２において［ＹＥＳ］）、共通データコピー部２０３ａは、共通データテーブル２０４ａを参照する。
【０１３９】
共通データコピー部２０３ａは、コピー元のバックアップボリューム２０５ａからコピー先のバックアップボリューム２０５ａにコピーされる領域（ページ）が共通データテーブル２０４ａに設定されているか確認する（ステップＳ１５０４）。具体的には、共通データコピー部２０３ａは、共通データテーブル２０４ａに、フラグとして”１”が設定されているページが含まれるか確認する。
【０１４０】
共通データテーブル２０４ａに、フラグとして”１”が設定されているページが含まれる場合（ステップＳ１５０４においてＹＥＳ）、共通データコピー部２０３ａは、当該ページのデータを、コピー元のバックアップボリューム２０５ａから読み込む（ステップＳ１５０５）。
【０１４１】
共通データコピー部２０３ａは、読み込んだデータを、コピー先のバックアップボリューム２０５ａにおける同じページにコピーする（ステップＳ１５０６）。コピー先のバックアップボリューム２０５ａは、第１クローンボリュームのバックアップボリュームに相当する。これより、第２クローンボリュームのバックアップボリューム２０５ａから、第１クローンボリュームのバックアップボリューム２０５ａにデータがコピーされる。
【０１４２】
共通データコピー部２０３ａは、共通データテーブル２０４ａを更新する（ステップＳ１５０７）。共通データコピー部２０３ａは、例えば、共通データテーブル２０４ａにおいて、コピー元からコピー先へのコピーが完了したページのフラグを”０”に設定してよい。
【０１４３】
共通データコピー部２０３ａは、ステップＳ１５０４から処理を続行する。
【０１４４】
共通データテーブル２０４ａに、フラグとして”１”が設定されているページが含まれない場合（ステップＳ１５０４において［ＮＯ］）、共通データコピー部２０３ａは処理を完了する。
【０１４５】
ステップ１５０３における、バックアップ完了の待ち合わせ処理においては、共通データコピー部２０３ａは、バックアップが完了したか否かを、バックアップボリュームにおける領域（例えばページ等）ごとに管理してもよい。共通データコピー部２０３ａは、例えば、バックアップが完了した領域（例えばページ等）から、順次共通データのコピーを実行することも可能である。共通データコピー部２０３ａは、バックアップボリュームにおける領域を、アドレスを用いて特定してよい。
【０１４６】
図１６に示す具体例を用いて、バックアップボリューム２０５ａの間におけるデータのコピーについて説明する。図１６に示す具体例においては、クローンボリュームＣＶ０が、ストレージ装置２０２にバックアップ済みのボリューム（第２クローンボリューム）であることを想定する。また、クローンボリュームＣＶ２が、バックアップが実行されているボリューム（第１クローンボリューム）であることを想定する。また、バックアップボリュームＲＶ０は、クローンボリュームＣＶ０のバックアップボリュームであり、バックアップボリュームＲＶ２は、クローンボリュームＣＶ２のバックアップボリュームであることを想定する。
【０１４７】
クローンボリュームＣＶ０と、ＣＶ２との共通データテーブル１０５ｄの内容を含む共通データコピー命令が、リモートサイト２に送信される。リモートサイト２において、共通データコピー部２０３ａは、係る共通データコピー命令に含まれる共通データテーブルの内容を、共通データテーブル２０４ａに保存する。
【０１４８】
図１６に例示するように、共通データテーブル２０４ａにおいては、ＡＤＤＲ＿Ｂ、ＡＤＤＲ＿Ｃのページについて、フラグとして”１”が設定されている。これより、共通データコピー部２０３ａは、共通データテーブル２０４ａにおいてフラグとして”１”が設定されているページのデータを、バックアップボリュームＲＶ０から、バックアップボリュームＲＶ２にコピーする。具体的には、共通データコピー部２０３ａは、バックアップボリュームＲＶ０におけるＡＤＤＲ＿Ｂのページに含まれるデータを、バックアップボリュームＲＶ２のＡＤＤＲ＿Ｂのページにコピーする。また、共通データコピー部２０３ａは、バックアップボリュームＲＶ０におけるＡＤＤＲ＿Ｃのページに含まれるデータを、バックアップボリュームＲＶ２のＡＤＤＲ＿Ｃのページにコピーする。
【０１４９】
上記処理により、リモートサイト２（ストレージ装置２０２）において、第２クローンボリュームのバックアップボリューム（ＲＶ０）から、第１クローンボリュームのバックアップボリューム（ＲＶ２）に、データがコピーされる。このため、クローンボリュームＣＶ２におけるＡＤＤＲ＿Ｂ、ＡＤＤＲ＿Ｃのページに記録されたデータを、ストレージ装置１０２からストレージ装置２０２に転送する必要がない。
【０１５０】
以下、図１７を参照して、リモートデータコピー処理について説明する。
【０１５１】
リモートデータコピー部２０３ｂは、リモートコピー命令に含まれるデータを読み出す。リモートデータコピー部２０３ｂは、読み出したデータを、当該命令により指定された、バックアップボリューム２０５ａにおける特定の領域に書き込む（ステップＳ１７０１）。
【０１５２】
再び図１２に示す具体例を用いて、リモートデータコピー処理について説明する。図１２の具体例の場合、クローンボリュームＣＶ２においてＡＤＤＲ＿Ａ、ＡＤＤＲ＿Ｄにより特定される領域が、リモートコピー命令により、バックアップボリュームＲＶ２にコピーされる。
【０１５３】
ストレージ装置１０２、ストレージ装置２０２を上記のように構成することで、第１クローンボリュームと、第２クローンボリュームとの間で共通するデータを、プライマリサイト１から、リモートサイト２に転送する必要がない。その理由は、リモートサイト２におけるストレージ装置２０２が、バックアップ済みのバックアップボリュームから、他のバックアップボリュームに対して、共通するデータをコピー可能だからである。これにより、プライマリサイト１から、リモートサイト２へのデータの転送量が削減されることから、回線遅延の発生、及びバックアップ時間の遅延による業務（オペレーション）への影響等も、低減可能である。
【０１５４】
図１８は、本開示に係る技術の対比として、クローンボリューム全体をそのままリモートサイト２にバックアップする方法を採用した場合のバックアップ過程を模式的に表す説明図である。
【０１５５】
クローンボリュームＣＶ０、ＣＶ１、ＣＶ２については、それぞれ、バックアップボリュームＲＶ０、ＲＶ１、ＲＶ２にバックアップが作成される。クローンボリューム全体を、そのままリモートサイト２にバックアップする場合、それぞれのクローンボリュームについて全てのデータがリモートサイト２に送信される。これにより、大量のデータが転送される。
【０１５６】
図１８の例においては、クローンボリュームＣＶ２をバックアップする際、ＡＤＤＲ＿Ａ、ＡＤＤＲ＿Ｂ、ＡＤＤＲ＿Ｃ、ＡＤＤＲ＿Ｄにより特定される領域に記憶されたデータが、全てリモートサイト２に転送される。図１８の例においては、クローンボリュームＣＶ０と、ＣＶ２との間で共通するデータ（ＡＤＤＲ＿Ｂ，ＡＤＤＲ＿Ｄ）が、既にリモートサイト２におけるバックアップボリュームＲＶ０に記録されている。しかしながら、クローンボリュームＣＶ２をバックアップする際、これらのデータがバックアップボリュームＲＶ２の作成に用いられることはない。
【０１５７】
これに対して、上記実施形態を用いて説明した本開示に係る技術によれば、例えば、図１０、図１２、図１６に示す具体例のように、クローンボリュームＣＶ０と、クローンボリュームＣＶ２とで共通するデータは、リモートサイト２においてコピーされる（図１６）。即ち、リモートサイトにおいてコピーされない領域が、プライマリサイト１からリモートサイト２に転送されることから、転送されるデータ量を削減することが可能である。なお、上記説明した本実施形態の場合、共通データコピー命令により、共通データテーブル１０５ｄの内容がプライマリサイト１から、リモートサイト２に転送される。しかしながら、共通データテーブル１０５ｄの内容は、例えば、クローンボリュームにおける領域（例えばページ）ごとのビットマップ（フラグとして”１”又は”０”が設定されたビットマップ）として表すことが可能である。共通データテーブル１０５ｄのデータ量は、クローンボリューム全体のデータ量に比べて少ないことから、プライマリサイト１からリモートサイト２に転送されるデータ量が削減される。
【０１５８】
図１９は、クローンボリューム全体をそのままリモートサイト２にバックアップする方法を用いて、複数のクローンボリュームをリモートサイト２にバックアップした場合の動作を模式的に示す説明図である。クローンボリュームをバックアップする際、エンティティボリュームＥＶ０と差分がない領域（差分テーブル１０５ｂにおいてフラグ”０”が設定されている領域）については、エンティティボリュームＥＶ０のデータが参照される。図１９の例においては、例えば、クローンボリュームＣＶ１、ＣＶ２をバックアップする際に、エンティティボリュームＥＶ０の領域が重複して参照される。このように、クローンボリューム全体をそのままリモートサイト２にバックアップする方法を用いた場合、エンティティボリュームＥＶ０に対するアクセスが集中する。これにより、エンティティボリュームＥＶ０の処理負荷が増大する可能性がある。
【０１５９】
これに対して、図２０は、本実施形態を用いて、複数のクローンボリュームをリモートサイト２にバックアップした場合の動作を模式的に示す説明図である。図２０の例では、クローンボリュームＣＶ０とＣＶ１とに共通するデータが、バックアップボリュームＲＶ０から、バックアップボリュームＲＶ１にコピーされる。クローンボリュームＣＶ０とＣＶ２とに共通するデータが、バックアップボリュームＲＶ０から、バックアップボリュームＲＶ２にコピーされる。即ち、各クローンボリューム（ＣＶ１、ＣＶ２）をバックアップする際、これらのデータについては、エンティティボリュームＥＶ０を参照する必要がない。これにより、本実施形態に依れば、エンティティボリュームＥＶ０に対するアクセスを低減することが可能である。
【０１６０】
上記説明した本実施形態について、以下のような変形例（バリエーション）が考えられる。以下において説明する本実施形態の変形例を第１変形例と記載する場合がある。
【０１６１】
第１変形例を実現可能な機能的な構成は、第１の実施形態の構成（図２）と同様としてよい。第１変形例においては、一部の構成要素の機能（処理）が、第１の実施形態から拡張されている。
【０１６２】
第１変形例におけるバックアップ制御部１０３の共通データテーブル作成部１０３ａは、ボリューム管理テーブル１０５ａを参照する。共通データテーブル作成部１０３ａは、バックアップされるクローンボリューム（第１クローンボリューム）と同じ派生元エンティティボリュームから派生された他のクローンボリュームのうち、複数のバックアップ中又はバックアップ済みのクローンボリューム（第２クローンボリューム）を特定する。共通データテーブル作成部１０３ａは、例えば、ある第１クローンボリュームに対して、１つずつ全ての第２クローンボリュームを特定してもよい。
【０１６３】
共通データテーブル作成部１０３ａは、特定した第２クローンボリュームごとに、第１クローンボリュームと同一のデータ（共通データ）が記憶された領域（アドレス）を示す共通データテーブル１０５ｄを作成する。
【０１６４】
共通データコピー指示部１０３ｂは、共通データテーブル作成部１０３ａが作成した共通データテーブル１０５ｄごとに、共通データコピー命令をリモートサイト２のストレージ装置２０２に送信する。この場合、共通データコピー指示部１０３ｂは、各共通データテーブル１０５ｄについて個別の共通データコピー命令を送信してもよく、一つの共通データコピー命令に、１以上の共通データテーブル１０５ｄの内容を含めてもよい。
【０１６５】
以下、第１変形例におけるリモートバックアップ命令の処理について図２１に例示するフローチャートを参照して説明する。
【０１６６】
ストレージ装置１０２のバックアップ制御部１０３が、ホスト１０１からリモートバックアップ命令を受信する（ステップＳ２１０１）。
【０１６７】
共通データテーブル作成部１０３ａは、ボリューム管理テーブル１０５ａを参照し、リモートバックアップ命令により指定されたクローンボリューム１０６ｂ（第１クローンボリューム）に関する第２クローンボリュームを特定する（ステップＳ２１０２）。共通データテーブル作成部１０３ａは、第２クローンボリュームが複数存在する場合、その全てを特定してもよい。
【０１６８】
上記したように、第２クローンボリュームは、第１クローンボリュームと同じ派生元のエンティティボリューム１０６ａから派生された他のクローンボリューム１０６ｂである。第２クローンボリュームは、既にリモートサイト２にバックアップされているか、バックアップ処理が実行されている。
【０１６９】
共通データテーブル作成部１０３ａは、第１クローンボリュームとの共通データテーブル１０５ｄが作成されていない第２クローンボリュームがあるか確認する（ステップＳ２１０３）。共通データテーブル１０５ｄが作成されていない第２クローンボリュームがある場合（ステップＳ２１０３においてＹＥＳ）、係る第２クローンボリュームを選択する。
【０１７０】
共通データテーブル作成部１０３ａは、当該選択された第２クローンボリュームと、第１クローンボリュームとの共通データテーブル１０５ｄを作成する（ステップＳ２１０４）。
【０１７１】
共通データテーブル作成部１０３ａは、例えば、ある第２クローンボリュームに関する差分テーブル１０５ｂと、第１クローンボリュームに関する差分テーブル１０５ｂと、既に作成されている共通データテーブル１０５ｄとに基づいて、共通データテーブル１０５ｄを作成することができる。
【０１７２】
共通データテーブル作成部１０３ａは、例えば、ある第２クローンボリュームに関する差分テーブル１０５ｂと、第１クローンボリュームに関する差分テーブル１０５ｂと、既に作成されている他の共通データテーブル１０５ｄとの論理和（ＯＲ）を算出する。共通データテーブル作成部１０３ａは、例えば、各テーブルに設定された、ボリュームの領域（例えばページ）ごとに設定されたフラグの値（”１”または”０”）の論理和を計算してもよい。共通データテーブル作成部１０３ａは、係る演算の結果、フラグの値が”０”である領域（ページ）を、共通データ領域として設定することで、共通データテーブル１０５ｄを作成する。
【０１７３】
共通データテーブル作成部１０３ａは、例えば、全ての第２クローンボリュームについて共通データテーブル１０５ｄが作成されるまで、ステップＳ２１０３からステップＳ２１０４を繰り返し実行してもよい。
【０１７４】
図２２に示す具体例を用いて、共通データテーブル１０５ｄの作成手順を説明する。図２２の例の場合、クローンボリュームＣＶ０、ＣＶ１及びＣＶ２は、共通のエンティティボリュームＥＶ０から派生されたことを想定する。クローンボリュームＣＶ０、ＣＶ１については、既にリモートサイト２へのバックアップが完了しており、クローンボリュームＣＶ２に関するバックアップ処理が実行されることを想定する。即ち、クローンボリュームＣＶ１が第１クローンボリュームであり、クローンボリュームＣＶ１、ＣＶ２が、クローンボリュームＣＶ１に関する第２クローンボリュームである。また、クローンボリュームＣＶ０と、ＣＶ２との間の共通データテーブル１０５ｄが既に作成されていることを想定する。
【０１７５】
共通データテーブル作成部１０３ａは、クローンボリュームＣＶ１を選択し、クローンボリュームＣＶ１と、クローンボリュームＣＶ２との間の共通データテーブル１０５ｄを作成する。共通データテーブル作成部１０３ａは、クローンボリュームＣＶ２の差分テーブル１０５ｂ、クローンボリュームＣＶ１の差分テーブル１０５ｂ、及び、ＣＶ２とＣＶ０との共通データテーブル１０５ｄについて、各領域（ページ）に設定されたフラグの値の論理和（ＯＲ）を演算する。
【０１７６】
共通データテーブル作成部１０３ａは、演算結果においてフラグの値が”０”である領域を共通データ領域として設定することで、クローンボリュームＣＶ１とＣＶ２との共通データテーブル１０５ｄを作成する。この際、共通データテーブル作成部１０３ａは、演算結果のフラグの値を反転（”０”を”１”に反転、”１”を”０”に反転）することで、クローンボリュームＣＶ１とＣＶ２との共通データテーブル１０５ｄを作成してもよい。
【０１７７】
共通データコピー指示部１０３ｂは、リモートサイト２に送信されていない共通データテーブル１０５ｄがあるか確認する（ステップＳ２１０５）。
【０１７８】
リモートサイト２に送信されていない共通データテーブル１０５ｄがある場合（ステップＳ２１０５においてＹＥＳ）、共通データコピー指示部１０３ｂは、その共通データテーブル１０５ｄの内容を含む共通データコピー命令を、リモートサイト２のストレージ装置２０２に送信する（ステップＳ２１０６）。共通データコピー命令には、共通データテーブル１０５ｄと、共通データを保持するバックアップボリュームを特定可能な情報（例えば、ボリューム番号）とが含まれてもよい。
【０１７９】
共通データコピー指示部１０３ｂは、ボリューム管理テーブル１０５ａにおける、第１クローンボリュームに対するバックアップ状況５０４に「バックアップ中」を表す値を設定する（ステップＳ２１０７）。
【０１８０】
共通データコピー命令を送信することにより、ストレージ装置２０２において、第２クローンボリュームのバックアップボリューム２０５ａから、第１クローンボリュームのバックアップボリューム２０５ａに共通データをコピーする処理が、別途実行される。例えば、図２２に示す具体例の場合、バックアップボリュームＲＶ０における、ＡＤＤＲ＿Ｂ及びＡＤＤＲ＿Ｃにより特定される領域が、バックアップボリュームＲＶ２における同じ領域にコピーされる。同様に、バックアップボリュームＲＶ１における、ＡＤＤＲ＿Ａにより特定される領域が、バックアップボリュームＲＶ２における同じ領域にコピーされる。
【０１８１】
コピーアドレス決定部１０３ｃは、第１クローンボリュームに関するコピーアドレステーブルを作成する（ステップＳ２１０８）。コピーアドレス決定部１０３ｃは、例えば、それぞれの第２クローンボリュームと、第１クローンボリュームとに関する共通データテーブル１０５ｄの領域ごとに、フラグの値の論理和（ＯＲ）を算出する。
【０１８２】
コピーアドレス決定部１０３ｃは、係る計算の結果、フラグの値が”０”と算出された領域を、コピー対象のデータが含まれる領域として、コピーアドレステーブル１０５ｃを作成する。一つの具体的な態様として、コピーアドレス決定部１０３ｃは、例えば、算出されたフラグの値を反転してもよい。
【０１８３】
図２３に示す具体例を用いて、コピーアドレステーブル１０５ｃの作成手順について説明する。図２３の例には、図２２と同様、クローンボリュームＣＶ０、ＣＶ１及びＣＶ２は、共通のエンティティボリュームＥＶ０から派生されたことを想定する。クローンボリュームＣＶ０、ＣＶ１については、既にリモートサイト２へのバックアップが完了しており、クローンボリュームＣＶ２に関するバックアップ処理が実行されることを想定する。また、クローンボリュームＣＶ０、ＣＶ１、ＣＶ２について、共通データテーブル１０５ｄが既に作成されていることを想定する。
【０１８４】
コピーアドレス決定部１０３ｃは、クローンボリュームＣＶ０とＣＶ２との共通データテーブル１０５ｄと、クローンボリュームＣＶ０とＣＶ１との共通データテーブル１０５ｄとの各領域について、フラグの値の論理和（ＯＲ）を算出する。コピーアドレス決定部１０３ｃは、計算されたフラグの値が”０”の領域を、コピー対象のデータを含む領域として特定し、コピーアドレステーブル１０５ｃを作成する。図２３の例の場合、上記計算の結果、ＡＤＤＲ＿Ａ、ＡＤＤＲ＿Ｂ、ＡＤＤＲ＿Ｃにより特定される領域のフラグは”１”であり、ＡＤＤＲ＿Ｄにより特定される領域のフラグが”０”である。コピーアドレス決定部１０３ｃは、算出されたフラグの値を反転することで、コピーアドレステーブル１０５ｃを作成してもよい。これにより、図２３の例の場合、コピーアドレステーブル１０５ｃにおいて、ＡＤＤＲ＿Ａ、ＡＤＤＲ＿Ｂ、ＡＤＤＲ＿Ｃにより特定される領域のフラグに値”０”が設定され、ＡＤＤＲ＿Ｄにより特定される領域のフラグに値”１”が設定される。
【０１８５】
バックアップ制御部１０３は、ホスト１０１へレスポンスを送信する（ステップＳ２１０９）。
【０１８６】
上記説明した第１実施形態においては、ある一つの第２クローンボリュームのバックアップボリュームから、第１クローのボリュームのバックアップボリュームに、共通データがコピーされる。これに対して、上記のように構成された第１変形例の場合、例えば、複数の第２クローンボリュームのバックアップボリュームから、第１クローンボリュームのバックアップボリュームに、共通データがコピーされる。即ち、第１変形例は、第１実施形態に比して、共通データをコピーするコピー元のバックアップボリュームを増やすことができる。これより、第１変形例によれば、バックアップデータの転送に要する通信量をより低減可能であり、エンティティボリューム１０６ａに対するアクセス負荷をより低減可能である。
【０１８７】
図２４は、第１変形例を用いて、複数のクローンボリュームをリモートサイト２にバックアップした場合の動作を模式的に示す説明図である。図２４の例では、クローンボリュームＣＶ０とＣＶ１とに共通するデータが、バックアップボリュームＲＶ０から、バックアップボリュームＲＶ１にコピーされる。クローンボリュームＣＶ０とＣＶ２とに共通するデータが、バックアップボリュームＲＶ０から、バックアップボリュームＲＶ２にコピーされる。また、クローンボリュームＣＶ１とＣＶ２とに共通するデータが、バックアップボリュームＲＶ１から、バックアップボリュームＲＶ２にコピーされる。これにより、図２０に示す具体例（第１実施形態）に比して、クローンボリュームＣＶ２からバックアップボリュームＲＶ２にコピーされるデータ（即ち、プライマリサイト１からリモートサイト２に転送されるデータ）が更に削減されている。また、プライマリサイト１において、エンティティボリュームＥＶ０に対する参照が削減されている。
【０１８８】
＜第２の実施形態＞
上記説明した第１の実施形態及びその変形例の基礎となる実施形態である、第２の実施形態について説明する。
【０１８９】
図２５は、本実施形態におけるストレージ装置２５００の機能的な構成を例示するブロック図である。本実施形態におけるストレージ装置２５００は、例えば、バックアップ対象のデータを記憶するストレージ装置（バックアップ元のストレージ装置）である。
【０１９０】
ストレージ装置２５００は、バックアップデータを記憶する他のストレージ装置を含むリモートサイトと、適切な通信方法により通信可能に接続されていてもよい。ストレージ装置２５００と、リモートサイトにおける他のストレージ装置とは、例えば、同じ情報処理システムに含まれてもよく、異なる情報処理システムに含まれてもよい。
【０１９１】
ストレージ装置２５００は、バックアップ制御部２５０１と、リモートコピー制御部２５０２と、１以上のボリューム２５０３と、を含むよう構成される。ストレージ装置２５００を構成するこれらの構成要素は、適切な通信方法を用いて通信可能に接続されていてもよい。
【０１９２】
バックアップ制御部２５０１は、以下のような処理（オペレーション）を実現するよう構成される。即ち、バックアップ制御部２５０１は、データを記憶可能な記憶領域により構成される第１ボリュームと、データを記憶可能な記憶領域により構成される１以上の第２ボリュームとの間で、共通するデータが記憶された領域である共通データ領域を特定する。第１ボリューム及び第２ボリュームは、例えば、上記第１実施形態におけるクローンボリューム１０６ｂと同様に構成されてもよい。
【０１９３】
バックアップ制御部２５０１は、第１ボリュームのバックアップに関する指示を、第２ボリューム及び第１ボリュームのバックアップデータを保持するよう構成されたリモートサイトに送信する。係る指示は、例えば、共通データ領域を特定可能な情報を含み、上記共通データ領域に記憶されたデータを、第２ボリュームのバックアップデータから第１ボリュームのバックアップデータに、リモートサイトにおいてコピーすることを表す命令であってもよい。
【０１９４】
バックアップ制御部２５０１は、例えば、上記各実施形態及び変形例におけるバックアップ制御部１０３及び第１構成記憶部１０５として実現されてもよい。
【０１９５】
リモートコピー制御部２５０２は、以下のような処理（オペレーション）を実現するよう構成される。即ち、リモートコピー制御部２５０２は、第１ボリュームにおける共通データ領域とは異なる領域を特定し、その特定された領域に記憶されたデータを上記リモートサイトに送信する。
【０１９６】
リモートコピー制御部２５０２は、例えば、上記各実施形態及び変形例におけるリモートコピー制御部１０４及び第１構成記憶部１０５として実現されてもよい。
【０１９７】
ボリューム２５０３は、データを記憶可能な記憶領域により構成された、記憶部である。ボリューム２５０３は、物理的あるいは仮想的な記憶装置により実現可能である。上記第１ボリューム及び第２ボリュームは、ボリューム２５０３により実現されてよい。ボリューム２５０３は、例えば、上記各実施形態及び変形例におけるボリューム１０６として実現されてもよい。
【０１９８】
上記のように構成された本実施形態におけるストレージ装置２５００の動作について説明する。
【０１９９】
バックアップ制御部２５０１は、例えば、あるボリューム２５０３をバックアップする命令等をきっかけとして、処理を開始してよい。
【０２００】
バックアップ制御部２５０１は、バックアップ対象の第１ボリューム（ボリューム２５０３）と、少なくとも一部の領域に第１ボリュームと同じデータが記憶された第２ボリューム（他のボリューム２５０３）とを特定する。第２ボリュームは、例えば、リモートサイトへのバックアップ処理が実行中であるか、又は、バックアップ処理が既に完了しているボリューム２５０３であってもよい。
【０２０１】
バックアップ制御部２５０１は、第１ボリュームと、第２ボリュームとにおいて、同じデータが記録された領域である共通データ領域を特定する。バックアップ制御部２５０１は、共通データ領域のアドレスを特定してもよい。
【０２０２】
バックアップ制御部２５０１は、第１ボリュームのバックアップに関する指示を、第２ボリューム及び第１ボリュームのバックアップデータを保持するよう構成されたリモートサイトに送信する。係る指示には、共通データ領域を特定可能な情報が含まれてよい。係る指示には、共通データ領域を含む第２ボリュームを特定可能な情報が含まれてもよい。
【０２０３】
係る指示により、リモートサイトにおいて、共通データ領域に記憶されたデータが、第２ボリュームのバックアップデータから第１ボリュームのバックアップデータにコピーされる。これより、ストレージ装置２５００は、リモートサイトに対して、共通データ領域に記憶されたデータを転送する必要がない。
【０２０４】
リモートコピー制御部２５０２は、第１ボリュームにおける共通データ領域とは異なる領域を特定する。そして、リモートコピー制御部２５０２は、その特定された領域に記憶されたデータを上記リモートサイトに送信する。送信されたデータは、リモートサイトにおいて、第１ボリュームのバックアップデータに書き込まれる。これにより、ストレージ装置２５００から、共通データ領域とは異なる領域に記憶されたデータがリモートサイトに対して転送される。
【０２０５】
上記のように構成された第２の実施形態におけるストレージ装置２５００は、第１ボリュームをリモートサイトバックアップする際の通信量を低減できる。その理由は、ストレージ装置２５００は、リモートサイトに対して、第１ボリュームと、第２ボリュームとの共通データをリモートサイトにおいてコピーするよう指示するからである。また、ストレージ装置２５００は、第１ボリュームにおける共通データ領域以外のデータを、リモートサイトに送信するからである。即ち、本実施形態におけるストレージ装置２５００は、第１ボリュームをバックアップする際には、第１ボリュームと第２ボリュームとの共通データ領域に含まれるデータを、リモートサイトに転送する必要がない。これにより、リモートサイトに転送されるデータ量が低減される。
【０２０６】
以下、図２６を参照して、上記説明した第２実施形態の変形例（バリエーション）について説明する。図２６において、ボリューム２５０３は、リンククローン方式におけるクローンボリュームであり、ある共通のエンティティボリューム２６０１から派生される。
【０２０７】
バックアップ制御部２５０１は、バックアップ対象のボリューム２５０３（第ボリューム）と同じ派生元のエンティティボリューム２６０１から派生された、他のボリューム２５０３を、第２ボリュームとして特定する。
【０２０８】
バックアップ制御部２５０１は、第１ボリュームとエンティティボリュームとの差分、及び、第２ボリュームとエンティティボリュームとの差分とから、第１ボリュームと第２ボリュームとの共通データ領域を特定してもよい。第１ボリュームとエンティティボリュームとの差分、及び、第２ボリュームとエンティティボリュームとの差分は、例えば、上記第１実施形態のように、差分テーブル（１０５ｂ）の形式で表されてもよい。共通データ領域は、上記第１実施形態のように、共通データテーブル（１０５ｄ）の形式で表されてもよい。
【０２０９】
リモートコピー制御部２５０２は、例えば、上記特定した共通データ領域とは異なる領域を、リモートサイトにコピーする領域（リモートコピー領域）として特定してもよい。リモートコピー領域は、上記第１の実施形態のように、コピーアドレステーブル（１０５ｃ）の形式で表されてもよい。
【０２１０】
図２６に例示する変形例によれば、リンクローン方式によるクローンボリュームをバックアップする際、上記第２の実施形態のように、リモートサイトに転送されるデータ量を低減可能である。
【０２１１】
また、図２６に例示する変形例によれば、ある第１ボリュームをバックアップする際に発生する、エンティティボリューム２６０１へのアクセス負荷を低減可能である。その理由は、ストレージ装置２５００は、第１ボリュームと第２ボリュームとの共通データ領域を転送する必要がなく、共通データ領域については、エンティティボリュームへの参照（アクセス）が発生しないからである。
【０２１２】
＜第３の実施形態＞
上記説明した第１の実施形態及びその変形例の基礎となる実施形態である、第３の実施形態について説明する。
【０２１３】
図２７は、本実施形態におけるストレージ装置２７００の機能的な構成を例示するブロック図である。本実施形態におけるストレージ装置２７００は、例えば、あるボリュームに関するバックアップデータを記憶するストレージ装置（バックアップ先のストレージ装置）である。
【０２１４】
ストレージ装置２７００は、バックアップされるボリュームを有する他のストレージ装置を含むプライマリサイトと、適切な通信方法により通信可能に接続されていてもよい。ストレージ装置２７００と、プライマリサイトにおける他のストレージ装置とは、例えば、同じ情報処理システムに含まれてもよく、異なる情報処理システムに含まれてもよい。プライマリサイトにおける他のストレージ装置は、例えば、上記第１の実施形態及びその変形例におけるストレージ装置１０２であってもよく、上記第２の実施形態におけるストレージ装置２５００であってもよい。
【０２１５】
ストレージ装置２７００は、リモート命令処理部２７０１と、１以上のバックアップボリューム２７０２と、を含むよう構成される。ストレージ装置２７００を構成するこれらの構成要素の間は、適切な通信方法を用いて通信可能に接続されていてもよい。
【０２１６】
バックアップボリューム２７０２は、他のストレージ装置に記憶されたボリュームに関するバックアップデータを記憶する。
【０２１７】
リモート命令処理部２７０１は、以下のような処理（オペレーション）を実現するよう構成される。即ち、リモート命令処理部２７０１は、他のストレージ装置に含まれる記憶領域である第１ボリュームのバックアップに関する指示（命令）を受信する。係る命令には、他のストレージ装置に含まれる第１ボリュームと、第２ボリュームとの間で、共通のデータが記憶された領域である共通データ領域を特定可能な情報が含まれていて良い。
【０２１８】
他のストレージ装置に含まれる第２ボリュームは、第１ボリュームとは異なる記憶領域であり、少なくともその一部の記憶領域に第１ボリュームと同じデータが記憶されていてもよい。第１及び第２ボリュームは、上記第１実施形態におけるクローンボリューム１０６ｂと同様に構成されてもよい。
【０２１９】
ストレージ装置２７００において、第１ボリュームのバックアップデータ及び第２ボリュームのバックアップデータは、例えば、それぞれ異なるバックアップボリューム２７０２に記憶されてよい。
【０２２０】
他のストレージ装置から受信した命令に応じて、リモート命令処理部２７０１は、共通データ領域に含まれるデータを、第２ボリュームのバックアップデータを記憶するバックアップボリューム２７０２から、第１ボリュームのバックアップデータを記憶するバックアップボリューム２７０２にコピーする。
【０２２１】
リモート命令処理部２７０１は、他のストレージ装置から、当該他のストレージ装置における第１ボリュームに記憶されたデータの少なくとも一部（例えば、他のストレージ装第１ボリュームにおける、共通データ領域とは異なる領域に記憶されたデータ）を受信する。リモート命令処理部２７０１は、受信したデータを、第１ボリュームに関するバックアップボリュームに書き込む。
【０２２２】
リモート命令処理部２７０１は、例えば、上記第１の実施形態及び変形例におけるリモート命令処理部２０３及び第２構成記憶部２０４として実現されてもよい。
【０２２３】
バックアップボリューム２７０２は、データを記憶可能な記憶領域により構成された記憶部である。バックアップボリューム２７０２は、物理的あるいは仮想的な記憶装置により実現可能である。バックアップボリューム２７０２は、他のストレージ装置におけるボリューム（例えば、クローンボリューム１０６ｂ、ボリューム２５０３等）のバックアップデータを記憶するよう構成される。
【０２２４】
バックアップボリューム２７０２は、例えば、上記第１の実施形態及び変形例におけるバックアップボリューム２０５ａとして実現されてもよい。
【０２２５】
上記のように構成された本実施形態におけるストレージ装置２７００の動作について説明する。
【０２２６】
リモート命令処理部２７０１は、他のストレージ装置から、当該他のストレージ装置に記憶された第１ボリュームのバックアップに関する命令を受信する。上記したように、当該命令には、他のストレージ装置における第１ボリュームと第２ボリュームとの間の共通データ記憶領域を特定可能な情報が含まれてよい。
【０２２７】
リモート命令処理部２７０１は、受信した命令に応じて、第２ボリュームのバックアップボリューム２７０２の共通データ領域に記憶されたデータを、第１ボリュームのバックアップボリューム２７０２にコピーする。この際、リモート命令処理部２７０１は、第２ボリュームに関するバックアップ処理の完了を待ってもよい。
【０２２８】
これにより、他のストレージ装置における第１ボリュームと第２ボリュームとの共通データ領域に含まれるデータが、ストレージ装置２７００におけるバックアップボリューム２７０２の間でコピーされる。即ち、ストレージ装置２７００は、係る共通データ領域に含まれるデータを、他のストレージ装置から受信する必要がない。
【０２２９】
リモート命令処理部２７０１は、また、他のストレージ装置から、第１ボリュームに記憶されたデータのうち、共通データ領域とは異なる領域に記憶されたデータを受信する。そして、リモート命令処理部２７０１は、受信したデータを、第１ボリュームに関するバックアップボリュームに書き込む。
【０２３０】
リモート命令処理部２７０１が、バックアップボリューム２７０２の間で共通データ領域に記憶されたデータをコピーする処理と、他のストレージ装置から受信したデータ（例えば、共通データ領域とは異なる領域に記憶されたデータ）をバックアップボリューム２７０２に書き込む処理とは、並行に実行されてもよく、逐次的に実行されてもよい。
【０２３１】
上記のように構成された本実施形態におけるストレージ装置２７００によれば、他のストレージ装置に記憶されたボリュームをバックアップする際、他のストレージ装置との間で転送されるデータ量を低減可能である。その理由は、バックアップ対象の第１ボリュームと、第２ボリュームとの共通データ領域に含まれるデータは、ストレージ装置２７００におけるバックアップボリューム２７０２の間でコピーされるからである。より具体的には、共通データ領域に含まれるデータは、ストレージ装置２７００に既にバックアップされている第２ボリュームのバックアップボリューム２７０２から、第１ボリュームのバックアップボリューム２７０２にコピーされるからである。これにより、他のストレージ装置と、ストレージ装置２７００との間で第１ボリュームをバックアップする際、共通データ領域に含まれるデータを転送する必要がないことから、他のストレージ装置と、ストレージ装置２７００との間の通信量を低減することができる。
【０２３２】
＜ハードウェア及びソフトウェア・プログラム（コンピュータ・プログラム）の構成＞
以下、上記説明した各実施形態を実現可能なハードウェア構成について説明する。
【０２３３】
以下の説明において、上記各実施形態において説明したストレージ装置（１０２、２０２、２５００、２７００）をまとめて、単に「ストレージ装置」と称する。またストレージ装置の各構成要素を、単に「ストレージ装置の構成要素」と称する。
【０２３４】
上記各実施形態において説明したストレージ装置は、１つ又は複数の専用のハードウェア装置により構成してもよい。その場合、上記各図に示した各構成要素は、一部又は全部を統合したハードウェア（処理ロジックを実装した回路構成（ｃｉｒｃｕｉｔｒｙ））として実現してもよい。
【０２３５】
例えば、ストレージ装置をハードウェアにより実現する場合、ストレージ装置の構成要素は、それぞれの機能を提供可能な回路構成を実装したＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  ａ  Ｃｈｉｐ）等により実現されてもよい。この場合、例えば、ストレージ装置の構成要素が保持するデータは、ＳｏＣに統合されたＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）領域、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）領域、フラッシュメモリ領域等に記憶されてもよい。
【０２３６】
図２に例示するストレージ装置１０２の構成要素は、バックアップ制御部１０３の処理を実装するバックアップ制御回路、リモートコピー制御部１０４の処理を実行するリモートコピー制御回路、第１構成記憶部１０５及びボリューム１０６を実現する記憶回路（例えば、ＲＡＭ、ＲＯＭ、フラッシュメモリ）等として実装されてもよい。図２に例示するストレージ装置２０２の構成要素は、リモート命令処理部２０３の処理を実行するリモート命令処理回路、第２構成記憶部２０４及びバックアップ先ボリューム２０５を実現する記憶回路（例えば、ＲＡＭ、ＲＯＭ、フラッシュメモリ）等として実装されてもよい。図２５、図２６に例示するストレージ装置２５００の構成要素は、バックアップ制御部２５０１の処理を実行するバックアップ制御回路、リモートコピー制御部２５０２の処理を実現するリモートコピー制御回路、及び、ボリューム２５０３、エンティティボリューム２６０１を実現する記憶回路等として実装されてもよい。図２７に例示するストレージ装置２７００の構成要素は、リモート命令処理部２７０１の処理を実行するリモート命令処理回路、及び、バックアップボリューム２７０２を実現する記憶回路等として実装されてもよい。なお、上記回路構成は一つの具体的態様であり、実装においては、様々なバリエーションが想定される。
【０２３７】
ストレージ装置の各構成要素を接続する通信回線としては、周知の通信バスあるいは通信ネットワーク採用してもよい。また、各構成要素を接続する通信回線は、それぞれの構成要素間をピアツーピアで接続してもよい。ストレージ装置を複数のハードウェア装置により構成する場合、それぞれのハードウェア装置の間は、適切な通信方法（有線、無線、またはそれらの組み合わせ）により通信可能に接続されていてもよい。
【０２３８】
上述したストレージ装置は、図２８に例示するような汎用のハードウェア装置２８００と、係るハードウェア装置２８００によって実行される各種ソフトウェア・プログラム（コンピュータ・プログラム）とによって構成されてもよい。この場合、ストレージ装置は、適切な数のハードウェア装置２８００及びソフトウェア・プログラムにより構成されてもよい。
【０２３９】
図２８における演算装置２８０１は、汎用のＣＰＵ（中央処理装置：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）やマイクロプロセッサ等の演算処理装置である。演算装置２８０１は、例えば後述する不揮発性記憶装置２８０３に記憶された各種ソフトウェア・プログラムをメモリ２８０２に読み出し、係るソフトウェア・プログラムに従って処理を実行してもよい。
【０２４０】
この場合、上記各実施形態におけるストレージ装置の構成要素は、例えば、演算装置２８０１により実行されるソフトウェア・プログラムとして実現可能である。
【０２４１】
図２に例示するストレージ装置１０２の構成要素は、バックアップ制御部１０３の処理を実装するバックアップ制御プログラム、リモートコピー制御部１０４の処理を実行するリモートコピー制御プログラム、第１構成記憶部１０５及びボリューム１０６の記憶処理に関するプログラム等として実装されてもよい。図２に例示するストレージ装置２０２の構成要素は、リモート命令処理部２０３の処理を実行するリモート命令処理プログラム、第２構成記憶部２０４及びバックアップ先ボリューム２０５の記憶処理に関するプログラム等として実装されてもよい。図２５、図２６に例示するストレージ装置２５００の構成要素は、バックアップ制御部２５０１の処理を実行するバックアップ制御プログラム、リモートコピー制御部２５０２の処理を実現するリモートコピー制御プログラム、及び、ボリューム２５０３、エンティティボリューム２６０１の記憶処理に関するプログラム等として実装されてもよい。図２７に例示するストレージ装置２７００の構成要素は、リモート命令処理部２７０１の処理を実行するリモート命令処理プログラム、及び、バックアップボリューム２７０２の記憶処理に関するプログラム等として実装されてもよい。なお、上記プログラムの構成は一つの具体的態様であり、実装においては、様々なバリエーションが想定される。
【０２４２】
メモリ２８０２は、演算装置２８０１から参照可能な、ＲＡＭ等のメモリ装置であり、ソフトウェア・プログラムや各種データ等を記憶する。なお、メモリ２８０２は、揮発性のメモリ装置であってもよい。
【０２４３】
不揮発性記憶装置２８０３は、例えば磁気ディスクドライブや、フラッシュメモリによる半導体記憶装置のような、不揮発性の記憶装置である。不揮発性記憶装置２８０３は、各種ソフトウェア・プログラムやデータ等を記憶可能である。
【０２４４】
例えば、上記各実施形態における、エンティティボリューム（１０６ａ、２６０１）、クローンボリューム１０６ｂ、ボリューム２５０３及びバックアップボリューム（２０５ａ、２７０２）は、不揮発性記憶装置２８０３にデータを保持してもよい。
【０２４５】
ドライブ装置２８０４は、例えば、後述する記録媒体２８０５に対するデータの読み込みや書き込みを処理する装置である。
【０２４６】
記録媒体２８０５は、例えば光ディスク、光磁気ディスク、半導体フラッシュメモリ等、データを記録可能な任意の記録媒体である。なお、上記各実施形態におけるバックアップボリューム（２０５ａ、２７０２）は、記録媒体２８０５に記録されてもよい。
【０２４７】
ネットワークインタフェース２８０６は、通信ネットワークに接続するインタフェース装置であり、例えば有線及び無線のＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）接続用インタフェース装置等を採用してもよい。
【０２４８】
例えば、上記各実施形態における各ストレージ装置（１０２、２０２、２５００、２７００）は、他のストレージ装置又はホスト（１０１、２０１）と、ネットワークインタフェース２８０６を介して接続された通信回線により、通信可能に接続されていてもよい。
【０２４９】
上述した各実施形態を例に説明したストレージ装置は、例えば、図２８に例示するハードウェア装置２８００に対して、上記各実施形態において説明した機能を実現可能なソフトウェア・プログラムを供給することにより、実現されてもよい。より具体的には、例えば、係る装置に対して供給したソフトウェア・プログラムを、演算装置２８０１が実行することによって、本開示に係る技術が実現されてもよい。この場合、係るハードウェア装置２８００で稼働しているオペレーティングシステムや、データベース管理ソフト、ネットワークソフト等のミドルウェアなどが各処理の一部を実行してもよい。
【０２５０】
上述した各実施形態において、上記各図（例えば、図２、図３、図４、図２５、図２６、及び図２７）に示した各部は、上述したハードウェアにより実行されるソフトウェア・プログラムの機能（処理）単位である、ソフトウェアモジュールとして実現することができる。ただし、これらの図面に示した各ソフトウェアモジュールの区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。
【０２５１】
例えば、上記各部をソフトウェアモジュールとして実現する場合、これらのソフトウェアモジュールは、不揮発性記憶装置２８０３に記憶されてもよい。そして、演算装置２８０１が、それぞれの処理を実行する際に、これらのソフトウェアモジュールをメモリ２８０２に読み出してもよい。
【０２５２】
また、これらのソフトウェアモジュールの間は、共有メモリやプロセス間通信等の適宜の方法により、相互に各種データを伝達できるように構成してもよい。このような構成により、これらのソフトウェアモジュールの間は、相互に通信可能に接続可能である。
【０２５３】
更に、上記各ソフトウェア・プログラムは記録媒体２８０５に記録されてもよい。この場合、上記各ソフトウェア・プログラムは、上記通信装置等の出荷段階、あるいは運用段階等において、適宜ドライブ装置２８０４を通じて不揮発性記憶装置２８０３に格納されるよう構成されてもよい。
【０２５４】
なお、上記の場合において、上記ストレージ装置への各種ソフトウェア・プログラムの供給方法は、出荷前の製造段階、あるいは出荷後のメンテナンス段階等において、適当な治具（ツール）を利用して当該装置内にインストールする方法を採用してもよい。また、各種ソフトウェア・プログラムの供給方法は、インターネット等の通信回線を介して外部からダウンロードする方法等のように、現在では一般的な手順を採用してもよい。
【０２５５】
そして、このような場合において、本開示に係る技術は、係るソフトウェア・プログラムを構成するコード、あるいは係るコードが記録されたところの、コンピュータ読み取り可能な記録媒体によって構成されると捉えることができる。この場合、係る記録媒体は、ハードウェア装置２８００と独立した媒体に限らず、ＬＡＮやインターネットなどにより伝送されたソフトウェア・プログラムをダウンロードして記憶又は一時記憶した記憶媒体を含む。
【０２５６】
また、上述したストレージ装置、あるいは、当該ストレージ装置の構成要素は、図２８に例示するハードウェア装置２８００を仮想化した仮想化環境と、当該仮想化環境において実行される各種ソフトウェア・プログラム（コンピュータ・プログラム）とによって構成されてもよい。この場合、図２８に例示するハードウェア装置２８００の構成要素は、当該仮想化環境における仮想デバイスとして提供される。なお、この場合も、図２８に例示するハードウェア装置２８００を物理的な装置として構成した場合と同様の構成にて、本開示に係る技術を実現可能である。
【０２５７】
以上、本開示に係る技術を、上述した模範的な実施形態に適用した例として説明した。しかしながら、本開示の技術的範囲は、上述した各実施形態及び変形例に記載した範囲には限定されない。当業者には、係る実施形態に対して多様な変更又は改良を加えることが可能であることは明らかである。そのような場合、係る変更又は改良を加えた新たな実施形態も、本開示の技術的範囲に含まれ得る。更に、上述した各実施形態及び変形例、あるいは、係る変更又は改良を加えた新たな実施形態を組み合わせた実施形態も、本開示の技術的範囲に含まれ得る。そしてこのことは、特許請求の範囲に記載した事項から明らかである。
【符号の説明】
【０２５８】
１０１  ホスト
１０２  ストレージ装置
１０３  バックアップ制御部
１０４  リモートコピー制御部
１０５  第１構成記憶部
１０６  ボリューム
１０６ａ  エンティティボリューム
１０６ｂ  クローンボリューム
２０１  ホスト
２０２  ストレージ装置
２０３  リモート命令処理部
２０４  第２構成記憶部
２０５  バックアップボリューム
２５００  ストレージ装置
２５０１  バックアップ制御部
２５０２  リモートコピー制御部
２５０３  ボリューム
２６０１  エンティティボリューム
２７００  ストレージ装置
２７０１  リモート命令処理部
２７０２  バックアップボリューム
【図１】
2018106272.tif 000003
【図２】
2018106272.tif 000004
【図３】
2018106272.tif 000005
【図４】
2018106272.tif 000006
【図５】
2018106272.tif 000007
【図６】
2018106272.tif 000008
【図７】
2018106272.tif 000009
【図８】
2018106272.tif 000010
【図９】
2018106272.tif 000011
【図１０】
2018106272.tif 000012
【図１１】
2018106272.tif 000013
【図１２】
2018106272.tif 000014
【図１３】
2018106272.tif 000015
【図１４】
2018106272.tif 000016
【図１５】
2018106272.tif 000017
【図１６】
2018106272.tif 000018
【図１７】
2018106272.tif 000019
【図１８】
2018106272.tif 000020
【図１９】
2018106272.tif 000021
【図２０】
2018106272.tif 000022
【図２１】
2018106272.tif 000023
【図２２】
2018106272.tif 000024
【図２３】
2018106272.tif 000025
【図２４】
2018106272.tif 000026
【図２５】
2018106272.tif 000027
【図２６】
2018106272.tif 000028
【図２７】
2018106272.tif 000029
【図２８】
2018106272.tif 000030