(57)【要約】【課題】バックアップ先のリソースの管理形態に応じた最適なバックアップを実現する。【解決手段】ストレージ制御装置は、受信部、作成部、領域制御部、及び、バックアップ制御部を含む。受信部は、利用状況に応じて記憶装置の記憶領域が可変的に割り当てられるバックアップ元仮想ボリュームから、バックアップ先ボリュームへのバックアップ指示を受信する。作成部は、バックアップ指示に応じて、バックアップ元仮想ボリュームの記憶領域の割当状況を示す割当情報を作成する。領域制御部は、割当情報に基づいて、バックアップ先ボリュームの記憶領域に対して、バックアップ先ボリュームが仮想ボリュームであるか否かに応じた前処理を行う。バックアップ制御部は、バックアップ元仮想ボリュームからのデータを前処理がなされた記憶領域にコピーする制御を行う。【選択図】図５
2016212548.tif 000002
【特許請求の範囲】
【請求項１】
利用状況に応じて記憶装置の記憶領域が可変的に割り当てられるバックアップ元仮想ボリュームから、バックアップ先ボリュームへのバックアップ指示を受信する受信部と、
該バックアップ指示に応じて、前記バックアップ元仮想ボリュームの前記記憶領域の割当状況を示す割当情報を作成する作成部と、
前記割当情報に基づいて、該バックアップ先ボリュームの記憶領域に対して、前記バックアップ先ボリュームが仮想ボリュームであるか否かに応じた前処理を行う領域制御部と、
前記バックアップ元仮想ボリュームからのデータを前処理がなされた前記記憶領域にコピーする制御を行うバックアップ制御部と、
を備えることを特徴とするストレージ制御装置。
【請求項２】
前記領域制御部は、前記バックアップ先ボリュームが仮想ボリュームである場合、前記割当情報に基づいて、該バックアップ先ボリュームの記憶領域の割当を変更する前処理を行う
ことを特徴とする請求項１に記載のストレージ制御装置。
【請求項３】
前記領域制御部は、前記バックアップ先ボリュームが物理ボリュームである場合、前記割当情報に基づいて、前記バックアップ先ボリュームの記憶領域のうち、前記バックアップ元仮想ボリュームの記憶領域が割り当てられていない未割当領域に対応する記憶領域にダミーデータを格納する前処理を行う
ことを特徴とする請求項１または２に記載のストレージ制御装置。
【請求項４】
前記ストレージ制御装置は、さらに、
前記バックアップ時の前記割当情報を前記バックアップ先ボリュームと対応付けて記憶部に格納する格納処理部と、
前記バックアップ先ボリュームからリストア先ボリュームへのリストア指示を受信するリストア指示受信部と、
前記リストア指示により指定された前記バックアップ先ボリュームに対応する割当情報を前記記憶部から取得する取得部と、
取得した前記割当情報に基づいて、リストア対象データを特定して、特定した該リストア対象データを前記リストア先ボリュームへリストアするリストア制御部と、
を備えることを特徴とする請求項１〜３のうちいずれか１項に記載のストレージ制御装置。
【請求項５】
前記領域制御部は、前記リストア先ボリュームが仮想ボリュームである場合、前記取得した割当情報に基づいて、該リストア先ボリュームの記憶領域の割当を変更し、前記リストア先ボリュームが物理ボリュームである場合、前記取得した割当情報に基づいて、前記リストア先ボリュームの記憶領域のうち、前記バックアップ時における前記バックアップ元仮想ボリュームの記憶領域が割り当てられていない未割当領域に対応する記憶領域に、ダミーデータを格納し、
前記リストア制御部は、前記取得した割当情報に基づいて、前記リストア対象データが格納されている前記バックアップ先ボリュームの記憶領域に対応する前記リストア先ボリュームの記憶領域に、前記リストア対象データをリストアする
ことを特徴とする請求項４に記載のストレージ制御装置。
【請求項６】
利用状況に応じて記憶装置の記憶領域が可変的に割り当てられるバックアップ元仮想ボリュームから、バックアップ先ボリュームへのバックアップ指示を受信し、
該バックアップ指示に応じて、前記バックアップ元仮想ボリュームの前記記憶領域の割当状況を示す割当情報を作成し、
前記割当情報に基づいて、該バックアップ先ボリュームの記憶領域に対して、前記バックアップ先ボリュームが仮想ボリュームであるか否かに応じた前処理を行い、
前記バックアップ元仮想ボリュームからのデータを前処理がなされた前記記憶領域にコピーする制御を行う
処理をコンピュータが実行することを特徴とするストレージ制御方法。
【請求項７】
コンピュータに、
利用状況に応じて記憶装置の記憶領域が可変的に割り当てられるバックアップ元仮想ボリュームから、バックアップ先ボリュームへのバックアップ指示を受信し、
該バックアップ指示に応じて、前記バックアップ元仮想ボリュームの前記記憶領域の割当状況を示す割当情報を作成し、
前記割当情報に基づいて、該バックアップ先ボリュームの記憶領域に対して、前記バックアップ先ボリュームが仮想ボリュームであるか否かに応じた前処理を行い、
前記バックアップ元仮想ボリュームからのデータを前処理がなされた前記記憶領域にコピーする制御を行う
処理を実行させることを特徴とするストレージ制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ制御装置、ストレージ制御方法、及びストレージ制御プログラムに関する。
【背景技術】
【０００２】
ストレージ装置の機能の１つにアドバンスト・コピー機能がある。アドバンスト・コピー機能は、業務ボリュームのデータのバックアップを、サーバ（ホスト）の資源を使用せずにストレージ装置のファームウェアで実施する機能である。このアドバンスト・コピー機能の１つとして、One Point Copy （ＯＰＣ）機能やＱｕｉｃｋＯＰＣ機能がある。ＯＰＣは、所定のタイミングで業務ボリュームの全てのデータをスナップショット的に複製する。ＱｕｉｃｋＯＰＣは、初回のバックアップ実施時には、ＯＰＣと同様に業務ボリュームの全データの複製を作成し、２回目以降は更新分（差分）をコピーする。
【０００３】
バックアップ元となる業務ボリューム、及び、バックアップ先となるバックアップボリュームは、仮想ボリュームとして管理されている場合がある。仮想ボリュームは、仮想的な論理ボリュームである。仮想ボリュームには、サーバからのアクセスに応じて、ストレージプールから物理資源の一部領域が動的に割り当てられる。このような、仮想ボリュームに実際の物理領域を割り当てる機能の１つに、シン・プロビジョニングがある。
【０００４】
シン・プロビジョニングにおいて、仮想ボリュームは、実際に割当てられている物理領域の記憶容量とは異なる仮想的な記憶容量を、サーバに認識させることができる。そして、実際に仮想ボリュームに割り当てるストレージ資源は、必要最小限としておくこともできる。仮想ボリュームの物理領域は、サーバからのデータが仮想ボリュームに書き込まれる際に動的に割り当てられる。物理領域の割り当ての単位は、ストレージシステム内の１つ以上のディスクドライブのセグメントなどである。一方、データが削除される等により、仮想ボリュームに不要となった領域ができた場合には、その物理領域の割当も解除される。このような物理領域の割当の解除は、例えば、UNMAPコマンドやボリュームのフォーマットの実行指示の発行により行われる。
【０００５】
データのバックアップに関し、以下の１〜３の技術がある。
第１の技術に関し、情報バックアップ／リストア処理装置は、ホスト装置側でバックアップ対象となる仮想化されたボリュームへのＩ／Ｏをフィルタリングするデバイスドライバを構成する。そして、情報バックアップ／リストア処理装置は、マウントされたファイルシステムと連携して、ファイルとして使用されているセクタ領域部分のみＲＥＡＤ／ＷＲＩＴＥさせるように処理する。これにより、情報バックアップ／リストア処理装置は、仮想化ボリュームに対してバックアップに必要な部分のみのＲＥＡＤ／ＷＲＩＴＥを実現する。
【０００６】
第２の技術に関し、記憶制御装置は、複数のセグメントが関連する一以上の第一の記憶装置のどこに書込みが生じたかを管理するための情報である書込み管理情報を参照する。これにより、記憶制御装置は、一以上の第一の記憶装置において書込みが生じた一以上の箇所を特定し、特定された一以上の箇所にそれぞれ記憶されている一以上のデータ要素を第二の記憶装置にバックアップする。
【０００７】
第３の技術に関し、ストレージシステムは、ストレージシステム制御モジュール、管理サーバ、バックアップサーバのみならず一つ以上の仮想ボリュームと仮想ファイルシステムを含む。各仮想ボリュームは仮想ファイルシステム内の仮想ファイルとして表わされる。ここで各仮想ファイルは仮想ボリューム内に実際に保存されるデータを表わしている。ストレージシステム制御モジュールは選択された仮想ボリュームのバックアップ操作を容易にするように構成される。この操作は、ストレージシステムの仮想ファイルシステムにアクセスするステップと、選択した仮想ボリュームに対応する仮想ファイルを読み出すステップを含む。ストレージシステム制御モジュールは更に、選択した仮想ボリュームのリストア操作を容易にするように構成される。この操作は、ストレージシステムの仮想ファイルシステムにアクセスするステップと、選択した仮想ボリュームを表わす仮想ファイルを生成するステップを含む。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１０−８６４７４号公報
【特許文献２】特開２００８−１８１２７１号公報
【特許文献３】特開２０１０−２３１７７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
ストレージ装置を利用条件の異なる複数のユーザで共同利用する形態や、クラウドのようなシステム形態が増加している。これらの形態では、ストレージ装置において、ストレージリソースの異なる管理形態のいずれにも対応した運用が行われる。リソースの管理形態には、仮想ボリュームとして管理する形態や物理ボリュームとして管理する形態がある。このとき、ストレージ装置では、業務ボリュームの管理形態に合わせて、それぞれの形態に対応したバックアップボリュームを用意することとなる。これは、コスト的にも運用的にも無駄が多い。上記１〜３の技術では、バックアップボリュームの物理割当については考慮されていない。
【００１０】
そこで、１つの側面では、本発明は、バックアップ先のリソースの管理形態に応じた最適なバックアップを実現することを目的とする。
【課題を解決するための手段】
【００１１】
一態様によるストレージ制御装置は、受信部、作成部、領域制御部、及び、バックアップ制御部を含む。受信部は、利用状況に応じて記憶装置の記憶領域が可変的に割り当てられるバックアップ元仮想ボリュームから、バックアップ先ボリュームへのバックアップ指示を受信する。作成部は、バックアップ指示に応じて、バックアップ元仮想ボリュームの記憶領域の割当状況を示す割当情報を作成する。領域制御部は、割当情報に基づいて、バックアップ先ボリュームの記憶領域に対して、バックアップ先ボリュームが仮想ボリュームであるか否かに応じた前処理を行う。バックアップ制御部は、バックアップ元仮想ボリュームからのデータを前処理がなされた記憶領域にコピーする制御を行う。
【発明の効果】
【００１２】
一態様によれば、バックアップ先のリソースの管理形態に応じた最適なバックアップを実現することができる。
【図面の簡単な説明】
【００１３】
【図１】仮想ボリュームから仮想ボリュームへのバックアップの説明図である。
【図２】仮想ボリュームから物理ボリュームへのバックアップの説明図である。
【図３】物理ボリュームから仮想ボリュームへのバックアップの説明図である。
【図４】物理ボリュームから物理ボリュームへのバックアップの説明図である。
【図５】実施形態に係るストレージ制御装置の機能ブロックの一例を示す。
【図６】実施形態のストレージ制御装置における、仮想ボリュームから仮想ボリュームへのバックアップの動作例を示す。
【図７】実施形態のストレージ制御装置における、物理ボリュームから仮想ボリュームへのリストアの動作例を示す。
【図８】実施形態に係るストレージシステムの構成の一例を示す。
【図９】ストレージ制御装置の構成の一例を示す。
【図１０】セッション管理情報の構成の一例を示す。
【図１１】コピービットマップの説明図である。
【図１２】コピービットマップ管理情報の説明図である。
【図１３】コピービットマップ、コピービットマップ管理情報、及びセッション管理情報の関連の説明図である。
【図１４】ボリューム管理情報の構成の一例を示す。
【図１５】バックアップ元ボリュームに対応するボリューム管理情報とセッション管理情報の関連の説明図である。
【図１６】割当情報の説明図である。
【図１７】割当情報管理情報の構成の一例を示す。
【図１８】バックアップ先ボリュームに対応するボリューム管理情報、セッション管理情報、割当情報管理情報、及び割当情報の関連の説明図である。
【図１９】決定部によるコピービットマップの更新の例を示す。
【図２０】バックアップ及びリストアの全体の処理を図解したフローチャートの一例である。
【図２１】割当情報の作成処理の詳細を図解したフローチャートの一例である。
【図２２】決定処理の詳細を図解したフローチャートの一例である。
【図２３】物理割当の変更処理の詳細を図解したフローチャートの一例である。
【図２４】コピー処理の詳細を図解したフローチャートの一例である。
【図２５】ゼロデータの格納判定処理の詳細を図解したフローチャートの一例である。
【図２６】実施形態に係るストレージ制御装置のハードウェア構成の一例を示す。
【発明を実施するための形態】
【００１４】
バックアップ元ボリューム（業務ボリューム）とバックアップ先ボリューム（バックアプボリューム）の管理形態の組み合わせを考えると、以下の４つのパターンが考えられる。すなわち（Ａ）仮想ボリュームから仮想ボリュームへのバックアップ、（Ｂ）仮想ボリュームから物理ボリュームへのバックアップ、（Ｃ）物理ボリュームから仮想ボリュームへのバックアップ、（Ｄ）物理ボリュームから物理ボリュームへのバックアップの４つである。以下、それぞれのパターンについて、図１〜４を参照して説明する。
【００１５】
図１は、（Ａ）仮想ボリュームから仮想ボリュームへのバックアップの説明図である。図１に示すように、業務ボリューム及びバックアップボリュームは仮想ボリュームである。業務ボリューム、及び、バックアップボリュームの一部には、物理領域が割り当てられている。ただし、割り当てられている領域は異なっている。業務ボリュームに割り当てられている物理領域には、バックアップ対象データが格納されている（図１（Ａ））。バックアップボリュームに割り当てられている物理領域には、バックアップとは無関係のその他のデータが格納されている（図１（Ｂ１））。この状態からＯＰＣ等によりバックアップが行われた場合、最終的に、バックアップボリュームは、バックアップ開始時点の業務ボリュームと同じ物理割当状態となるのが望ましい。また、バックアップボリュームに割り当てられた物理領域には、バックアップ開始時点の業務ボリュームと同じデータが格納された状態となるのが望ましい（図１（Ｂ２））。
【００１６】
図２は、（Ｂ）仮想ボリュームから物理ボリュームへのバックアップの説明図である。図２に示すように、業務ボリュームは仮想ボリュームであり、バックアップボリュームは物理ボリュームである。業務ボリュームの一部には、物理領域が割り当てられている。業務ボリュームに割り当てられた物理領域には、バックアップ対象データが格納されている（図２（Ａ））。バックアップボリュームは物理ボリュームであるので、割当の概念はなく、物理領域のそのものである。バックアップボリュームには、バックアップとは無関係の、その他のデータ１及びその他のデータ２が格納されている（図２（Ｂ１））。この状態からＯＰＣ等によりバックアップが行われた場合、最終的に、バックアップボリュームには、バックアップ対象データとゼロデータ（ダミーデータ）が格納された状態となるのが望ましい。さらに言えば、バックアップボリュームの領域のうち、バックアップ開始時に業務ボリュームに割り当てられていた物理領域に対応する領域に、バックアップ対象データが格納されるのが望ましい。また、バックアップボリュームの領域のうち、バックアップ開始時の業務ボリュームにおいて未割当の領域に対応する領域には、ゼロデータが格納されるのが望ましい（図２（Ｂ２））。
【００１７】
図３は、（Ｃ）物理ボリュームから仮想ボリュームへのバックアップの説明図である。図３に示すように、業務ボリュームは物理ボリュームであり、バックアップボリュームは仮想ボリュームである。業務ボリュームの物理領域には、バックアップ対象データ及びゼロデータが格納されている（図３（Ａ））。バックアップ前のバックアップボリュームの一部には物理領域が割り当てられており、その物理領域にはバックアップとは無関係のその他のデータが格納されている（図３（Ｂ１））。この状態からＯＰＣ等によりバックアップが行われた場合、シン・プロビジョニング機能により、仮想ボリューム全体に物理領域が割り当てられ、物理ボリューム全体のコピーが行われた状態となる（図３（Ｂ２））。
【００１８】
しかしながら、図３（Ｂ２）の状態は望ましい状態であるとはいえない。なぜなら、バックアップボリューム全体に物理領域が割り当てられた状態では、仮想ボリュームの優位性が失われてしまうからである。そこで、バックアップボリュームにおいて仮想ボリュームの優位性を保つための方法の１つとして、Zero Reclamation機能が利用される。Zero Reclamation機能とは、ファームウェアでユーザデータがゼロデータであるかどうかのチェックを独自に行い、ゼロデータである場合は、当該領域の物理割当を解除して未割当状態にする機能である。これにより、ゼロデータ部分の物理領域の解放ができ、期待したバックアップボリュームの状態を実現できる。
【００１９】
このようなZero Reclamation機能を利用し、最終的に、バックアップボリュームは、ゼロデータ部分の物理領域が解放された状態となる（図３（Ｂ３））。このように、Zero Reclamation機能を利用すれば、仮想ボリュームの優位性を保つことができる。しかしながら、ゼロデータ部に関して、バックアップによるコピー処理を行い、その後、その部分をZero Reclamation機能により解放するという点には、無駄がある。また、Zero Reclamation機能の利用は、実際に対象ボリュームの全データを読み込み、ゼロデータであるかをチェックするため、処理の負荷が大きい。
【００２０】
図４は、（Ｄ）物理ボリュームから物理ボリュームへのバックアップの説明図である。図４に示すように、業務ボリューム及びバックアップボリュームはともに物理ボリュームである。業務ボリュームの物理領域には、バックアップ対象データ及びゼロデータが格納されている（図４（Ａ））。バックアップ前のバックアップボリュームには、バックアップとは無関係の、その他のデータ１及びその他のデータ２が格納されている（図４（Ｂ１））。この状態からＯＰＣ等によりバックアップが行われた場合、物理ボリューム全体のコピーが行われ、最終的に、バックアップボリュームは業務ボリュームと同じ状態となる（図４（Ｂ２））。物理ボリュームから物理ボリュームへのバックアップにおいては、割当処理はない。
【００２１】
バックアップは、ＯＰＣまたはＱｕｉｃｋＯＰＣ機能を利用して行われるが、バックアップしたデータを戻す（リストアする）場合にも、同様にＯＰＣまたはＱｕｉｃｋＯＰＣ機能が利用される。リストアは、逆向きのバックアップが動作するイメージとなる。すなわち、リストアは、上述した４つのバックアップのパターンに対応する４つのパターンに分類される。
【００２２】
パターンＡのリストアは、仮想ボリューム間の逆向きのバックアップとなる。バックアップ元とバックアップ先が入れ替わっていること以外は、パターンＡのバックアップと同様である。バックアップ取得時と同様に、リストア先(バックアップ元)の仮想ボリュームの状態は、物理領域の割当状態、及び、物理領域に格納されるデータに関して、リストア元（バックアップ先）と同じとなるのが望ましい。すなわち、業務ボリュームをバックアップし、バックアップしたデータをリストアした場合、元の業務ボリュームの状態となるのが望ましい。
【００２３】
パターンＢのリストアは、物理ボリュームから仮想ボリュームへのバックアップとなる。これは、パターンＣのバックアップと同様の動作イメージとなる。従って、リストア先(業務ボリューム)の仮想ボリュームには、シン・プロビジョニング機能により、全ての領域で物理領域が割り当てられることとなる。この状態では仮想ボリュームの優位性が失われるので、リストア完了後にZero Reclamation機能を利用することで、ゼロデータが格納されている物理領域を開放し、仮想ボリュームの優位性を保つ。
【００２４】
パターンＣのリストアは、仮想ボリュームから物理ボリュームへのバックアップとなる。これは、パターンＢのバックアップと同様の動作イメージとなる。従って、仮想ボリュームに割り当てられた物理領域のデータが、物理ボリュームの対応する領域にコピーされる。仮想ボリュームにおいて未割当の領域に対応する物理ボリュームの領域には、ゼロデータが格納される。
【００２５】
パターンＤのリストアは、物理ボリューム間の逆向きのバックアップとなる。バックアップ元とバックアップ先が入れ替わっていること以外は、パターンＤのバックアップと同様である。従って、単純にリストア元のデータがリストア先に戻される。
【００２６】
図５は、実施形態に係るストレージ制御装置の機能ブロックの一例を示す。
図５において、ストレージ制御装置１は、受信部２、作成部３、領域制御部４、バックアップ制御部５、格納処理部６、リストア指示受信部７、取得部８、及び、リストア制御部９を含む。
【００２７】
受信部２は、利用状況に応じて記憶装置の記憶領域が可変的に割り当てられるバックアップ元仮想ボリュームから、バックアップ先ボリュームへのバックアップ指示を受信する。
【００２８】
作成部３は、バックアップ指示に応じて、バックアップ元仮想ボリュームの記憶領域の割当状況を示す割当情報を作成する。
【００２９】
領域制御部４は、割当情報に基づいて、バックアップ先ボリュームの記憶領域に対して、バックアップ先ボリュームが仮想ボリュームであるか否かに応じた前処理を行う。
【００３０】
バックアップ制御部５は、バックアップ元仮想ボリュームからのデータを前処理がなされた記憶領域にコピーする制御を行う。
【００３１】
ストレージ制御装置１は、バックアップ先が仮想ボリュームか物理ボリュームかに応じて、バックアップ先ボリュームの記憶領域に対するコピー前処理をおこなう。これにより、バックアップ先のリソースの管理形態に応じた最適なバックアップを実現することができる。
【００３２】
また、領域制御部４は、バックアップ先ボリュームが仮想ボリュームである場合、割当情報に基づいて、バックアップ先ボリュームの記憶領域の割当を変更するコピー前処理を行う。これにより、仮想ボリューム間でのバックアップにおいて、格納されているデータ及び物理割当がバックアップ元仮想ボリュームと同じ状態のバックアップ先ボリュームを効率的に作成することができる。
【００３３】
また、領域制御部４は、バックアップ先ボリュームが物理ボリュームである場合、以下の処理を行う。すなわち、領域制御部４は、割当情報に基づいて、バックアップ先ボリュームの記憶領域のうち、バックアップ元仮想ボリュームの記憶領域が割り当てられていない未割当領域に対応する記憶領域にダミーデータを格納するコピー前処理を行う。これにより、バックアップ先ボリュームから不要なデータを削除し、バックアップ先ボリュームをそのまま業務ボリュームとして使用することが可能となる。
【００３４】
また、バックアップ制御部５は、割当情報に基づいて、バックアップ元仮想ボリュームに割り当てられている記憶領域からバックアップ先ボリュームの対応する記憶領域にデータをコピーする。また、バックアップ制御部５は、バックアップ先ボリュームが物理ボリュームである場合、バックアップ元仮想ボリュームの記憶領域に格納されているデータをバックアップし、その他のデータはバックアップしない。これにより、仮想ボリュームから物理ボリュームへのバックアップを効率的に行うことができる。
【００３５】
格納処理部６は、バックアップ時の割当情報をバックアップ先ボリュームと対応付けて記憶部に格納する。尚、記憶部は、ストレージ制御装置１と通信可能に接続された記憶装置に含まれる。もしくは、記憶部はストレージ制御装置１に含まれてもよい。
【００３６】
リストア指示受信部７は、バックアップ先ボリュームからリストア先ボリュームへのリストア指示を受信する。
【００３７】
取得部８は、リストア指示により指定されたバックアップ先ボリュームに対応する割当情報を記憶部から取得する。
【００３８】
リストア制御部９は、取得した割当情報に基づいて、リストア対象データを特定して、特定したリストア対象データをリストア先ボリュームへリストアする。これにより、仮想ボリュームから取得したバックアップデータをリストアする場合に、リストア先のボリュームの形態にかかわらず、バックアップ時に取得した割当情報を利用して効率のよいリストアができる。
【００３９】
また、領域制御部４は、リストア先ボリュームが仮想ボリュームである場合、取得した割当情報に基づいて、リストア先ボリュームの記憶領域の割当を変更する。そして、領域制御部４は、リストア先ボリュームが物理ボリュームである場合、取得した割当情報に基づいて、リストア先ボリュームの記憶領域のうち、バックアップ時におけるバックアップ元仮想ボリュームの未割当領域に対応する記憶領域に、ダミーデータを格納する。そして、リストア制御部９は、取得した割当情報に基づいて、リストア対象データが格納されているバックアップ先ボリュームの記憶領域に対応するリストア先ボリュームの記憶領域に、リストア対象データをリストアする。
【００４０】
ストレージ制御装置１は、リストア先が仮想ボリュームである場合、リストア前に、バックアップ時に取得した割当情報に基づいて、リストア先の物理割当を変更している。これにより、仮想ボリュームから取得したバックアップデータを仮想ボリュームにリストアする場合に、格納されているデータ及び物理割当がバックアップ元と同じ状態のリストア先ボリュームを効率的に作成することができる。また、ストレージ制御装置１は、リストア先ボリュームの記憶領域のうち、リストア対象データが格納されていないリストア元（バックアップ先）ボリュームの記憶領域に対応する記憶領域にダミーデータを格納している。これにより、不要なデータを削除することができ、リストア先ボリュームをそのまま業務ボリュームとして使用することが可能となる。また、ストレージ制御装置１は、リストア先ボリュームが物理ボリュームである場合、バックアップ時に取得した割当情報に基づいて特定したリストア対象データをリストアし、その他のデータはリストアしない。これにより、仮想ボリュームから取得したバックアップデータを物理ボリュームへ効率的にリストアすることができる。
【００４１】
ここで、実施形態のストレージ制御装置における、仮想ボリュームから仮想ボリュームへのバックアップの動作例を説明する。図６は、実施形態のストレージ制御装置における、仮想ボリュームから仮想ボリュームへのバックアップの動作例を示す。これは、図１を参照して説明したパターンＡにおける、実施形態のバックアップの様子を示している。
【００４２】
図６において、バックアップ時に、先ず、業務ボリュームの物理割当状況を示す情報が取得される（図６（Ａ））。次いで、この物理割当状況を示す情報に基づいて、バックアップボリュームの物理割当状態が変更される（図６（Ｂ１）から図６（Ｂ２））。この時点で、業務ボリュームの未割当の領域に対応するバックアップボリュームの領域が未割当の状態となる。この後、物理割当状況を示す情報に基づいて、業務ボリュームに割り当てられている物理領域が特定され、その物理領域からバックアップボリュームへバックアップ対象データがコピーされる（図６（Ｂ３））。このように、実施形態では、バックアップ開始前に業務ボリュームの物理割当状況を示す情報を取得し、この情報を活用してバックアップを行うことで、効率的なバックアップ処理を実現する。また、バックアップ前に取得した業務ボリュームの物理割当状況を示す情報は、効率的なリストアを実現するために、バックアップ先ボリュームに対応付けて所定の記憶領域に保管される。
【００４３】
次に、実施形態のストレージ制御装置における、物理ボリュームから仮想ボリュームへのリストアの動作例を説明する。図７は、実施形態のストレージ制御装置における、物理ボリュームから仮想ボリュームへのリストアの動作例を示す。これは、上述したパターンＢのリストアであり、動作イメージは、図３を参照して説明したパターンＣにおけるバックアップと対応する。
【００４４】
図７において、リストア時に、先ず、リストア元ボリュームに対応する物理割当状況を示す情報が取得される（図７（Ａ））。この情報は、バックアップ時に取得され保管されていたものである。次いで、この物理割当状況を示す情報に基づいて、リストア先ボリュームの物理割当状態が変更される（図７（Ｂ２））。この時点で、リストア元ボリュームの未割当の領域に対応するリストア先ボリュームの領域が未割当の状態となる。この後、物理割当状況を示す情報に基づいて、リストア元ボリュームに格納されているリストア対象データが特定され、そのリストア対象データがリストア先ボリュームへコピーされる（図７（Ｂ３））。このように、リストア開始前にリストア元ボリュームの物理割当状況を示す情報を取得し、この情報を活用してリストアを行うことで、効率的なリストア処理を実現する。リストアで用いられる物理割当状況を示す情報は、バックアップ時に取得されたものであるので、リストア時においては既に作成済みである。したがって、リストア時においては、物理割当状況を示す情報を作成するための時間と負荷を削減できる。また、リストア先ボリュームに対して、リストア対象データを取得したバックアップ取得時の、バックアップ元ボリュームの物理領域の割当状況と同じ割当状況を再現させることができる。
【００４５】
（実施形態）
以下の説明では、コピー元とは、バックアップ元またはリストア元を指し、コピー先とは、バックアップ先またはリストア先を指す。
【００４６】
図８は、実施形態に係るストレージシステムの構成の一例を示す。図８において、ストレージシステムは、ホスト装置１１、及びストレージ装置１２を含む。ホスト装置１１とストレージ装置１２は、通信ネットワーク等を介して接続される。
【００４７】
ホスト装置１１は、ストレージ装置１２に対して、バックアップ指示及びリストア指示を送信する。そして、ホスト装置１１は、ストレージ装置１２からバックアップ指示及びリストア指示の応答を受信する。
【００４８】
ストレージ装置１２は、１以上のストレージ制御装置１３（１３ａ、１３ｂ）及び１以上の記憶装置１４（１４ａ〜１４ｄ）を含む。ストレージ制御装置１３と１以上の記憶装置１４は、バス、インターコネクト、または通信ネットワーク等を介して接続される。ストレージ制御装置１３は、複数の記憶装置１４をストレージプールとして一元管理することができる。また、ストレージ制御装置１３は、シン・プロビジョニング等のストレージ仮想化機能を有し、論理ボリュームを仮想ボリュームとして管理することができる。ストレージ制御装置は、ボリュームの利用状況に応じてストレージプールの記憶領域を可変的に仮想ボリュームに割り当てることができる。また、ストレージ制御装置１３は、ＯＰＣやＱｕｉｃｋ  ＯＰＣ等のアドバンスト・コピー機能を有し、業務ボリュームに記憶されたデータのバックアップを、サーバの資源を使用せずにストレージ制御装置１３のファームウェアにより実施することができる。
【００４９】
図９は、ストレージ制御装置１３の構成の一例を示す。図９において、ストレージ制御装置１３は、記憶部２１、受信部２２、セッション制御部２３、作成部２４、決定部２５、割当制御部２６、複製部２７、及び、ゼロデータ格納部２８を含む。
【００５０】
ストレージ制御装置１３は、ストレージ制御装置１の一例である。受信部２２は、受信部２、及びリストア指示受信部７の一例である。作成部２４は、作成部３、及び格納処理部６の一例である。決定部２５は、取得部８の一例である。割当制御部２６、及び、ゼロデータ格納部２８は、領域制御部４、及び取得部８の一例である。複製部２７は、バックアップ制御部５、及びリストア制御部９の一例である。
【００５１】
記憶部２１は、セッション管理情報３１、コピービットマップ３２、ビットマップ管理情報３３、ボリューム管理情報３４、割当情報３５、及び、割当情報管理情報３６を記憶する。セッション管理情報３１は、コピーセッションの制御情報である。コピービットマップ３２は、コピー対象領域のコピー状況を示す情報である。ビットマップ管理情報３３は、コピービットマップ３２の管理情報である。ボリューム管理情報３４は、ボリュームの管理情報である。割当情報３５は、バックアップコピー時におけるバックアップ元仮想ボリュームの物理領域の割当状況を示す情報である。割当情報管理情報３６は、割当情報３５の管理情報である。各情報の詳細については、後ほど説明する。
【００５２】
受信部２２は、ホスト装置１１からバックアップ指示及びリストア指示を受信する。バックアップ指示及びリストア指示は、具体的には、ＯＰＣまたはＱｕｉｃｋ  ＯＰＣコマンドである。バックアップ指示には、バックアップ元ボリュームとバックアップ先ボリュームの識別情報、及び、バックアップの対象範囲を示す情報が含まれる。リストア指示には、リストア元ボリュームとリストア先ボリュームの識別情報、及び、リストアの対象範囲を示す情報が含まれる。
【００５３】
セッション制御部２３は、受信部２２が受信した指示に応じて、セッションの開始制御を行う。すなわち、セッション制御部２３は、開始するセッションに関する情報を作成する。具体的には、セッション制御部２３は、バックアップ指示またはリストア指示に応じて、セッション管理情報３１、コピービットマップ３２、及び、ビットマップ管理情報３３を作成し、記憶部２１に格納する。また、セッション制御部２３は、バックアップ指示またはリストア指示に応じて、ボリューム管理情報３４を更新する。コピー先ボリュームが存在しない場合には、セッション制御部２３は、コピー先ボリュームを新規作成してもよい。ボリューム管理情報３４は、予め記憶部２１に格納されているものとするが、存在しない場合には、セッション制御部２３がセッション管理情報３１等と共に作成してもよい。
【００５４】
ここで、セッション制御部２３により作成または設定される各情報について順に説明する。
【００５５】
先ずセッション管理情報３１について説明する。セッション管理情報３１は、コピーセッションの制御情報である。図１０は、セッション管理情報３１の構成の一例を示す。
【００５６】
図１０において、セッション管理情報３１は、「セッションＩＤ」、「状態」、「フェーズ」、「コピー元識別情報」、「コピー元開始アドレス」、「コピー先識別情報」、「コピー先開始アドレス」、及び、「コピーサイズ」のデータ項目を含む。さらに、セッション管理情報３１は、「モード」、「ビットマップ管理情報ポインタ（Top）」、「ビットマップ管理情報ポインタ（Btm）」、「セッション管理情報ポインタ（Next）」、及び、「セッション管理情報ポインタ（Prev）」のデータ項目を含む。
【００５７】
「セッションＩＤ」は、コピーセッションを識別するための識別情報である。「状態」は、現在セッションが正常に動いているか否かを示す。「フェーズ」は、コピー状態を示す。コピー状態とは、例えば、現在コピー処理中であるか否かを示す値である。
【００５８】
「コピー元識別情報」は、コピー元ボリュームの識別情報を示す。具体的には例えば、コピー元ボリュームのLogical Unit Number（ＬＵＮ）番号である。「コピー元開始アドレス」は、コピー元ボリュームにおけるコピー対象範囲の開始位置を示すアドレスである。コピー対象範囲とは、コピー対象のデータが格納されている領域の範囲である。この範囲は、バックアップ指示またはリストア指示により指定される情報である。アドレスは、例えばＬＢＡで表される。
【００５９】
「コピー先識別情報」は、コピー先ボリュームの識別情報を示す。具体的には例えば、コピー先ボリュームのＬＵＮ番号である。「コピー先開始アドレス」は、コピー先ボリュームにおけるコピー対象範囲の開始位置を示すＬＢＡを示す。
【００６０】
「コピーサイズ」は、コピー対象範囲のサイズを示す。すなわち、コピー元開始アドレスからコピーサイズで示されるサイズのデータが、コピー先開始アドレスを先頭とする領域にコピーされることとなる。「モード」は、コピーモードを示す。コピーモードとは、バックアップまたはリストアのいずれかを示す値である。
【００６１】
「ビットマップ管理情報ポインタ（Top）」は、先頭のビットマップ管理情報３３へのポインタを示す。「ビットマップ管理情報ポインタ（Btm）」は、最後尾のビットマップ管理情報３３へのポインタを示す。ビットマップ管理情報３３については、後述する。
【００６２】
「セッション管理情報ポインタ（Next）」及び「セッション管理情報ポインタ（Prev）」は、当該セッションがボリューム管理情報３４に関連付けられる場合に、関連するセッション管理情報３１同士をリンクで検索できるようにするためのポインタである。ボリューム管理情報３４については、後述する。尚、同一のボリューム管理情報３４に関連付けられるセッション管理情報３１同士は、例えば、セッションの開始時刻の順に先頭から最後尾まで関連付けられてもよい。
【００６３】
次に、コピービットマップ３２について説明する。コピービットマップ３２は、コピー対象範囲、及び、その範囲の各単位領域のコピーが完了したか否かを示す。コピービットマップ３２は、対応するセッションにおいて作成される。
【００６４】
図１１は、コピービットマップ３２の説明図である。コピービットマップ３２は、複数のビットを含む。各ビットは、コピー対象範囲の領域を所定のサイズ毎に分割した単位領域（以下、単位領域Ｃと記す）のそれぞれに対応付けられる。そして、ビットの値が「１」である場合は、そのビットに対応する単位領域Ｃのコピーが未完了であることが示され、ビットの値が「０」である場合は、そのビットに対応する単位領域Ｃのコピーが完了済みであることが示される。尚、単位領域Ｃは、例えば、ブロックである。
【００６５】
コピービットマップ３２のサイズは、所定のサイズであり、例えば、８Ｋバイトである。１つのコピービットマップ３２に含まれるビット数はコピービットマップ３２のサイズに応じた所定の値となる。よって、１つのコピービットマップ３２の総ビットによりコピーが完了したか否かを示すことのできる領域の範囲も、コピービットマップ３２のサイズに応じた所定の値となる。コピー対象の範囲が広く、１つのコピービットマップ３２で全てのコピー対象範囲に対応できない場合は、複数のコピービットマップ３２が作成される。各ビットマップは、コピー対象範囲のうちの互いに重複しない部分領域（以下、対応領域Ｃと記す）に対応付けられる。作成された全てのビットマップによって、コピー対象の全範囲がカバーされる。１つのコピー対象範囲に対応する複数のコピービットマップは互いに対応付けられる。
【００６６】
尚、コピービットマップ３２は、コピー対象範囲の各単位領域Ｃのコピーが完了したか否かを識別可能な情報を含むものであれば、ビットマップ形式に限定されない。
【００６７】
また、以下では説明のために、コピー対象範囲が複数の対応領域Ｃに分けられる場合、複数の対応領域Ｃのうち、先頭のアドレスが小さい領域から順に昇順で番号を振ることにより、それぞれの対応領域Ｃを区別する。例えば、コピー対象範囲がｎ個の対応領域Ｃに分けられる場合、対応領域Ｃの先頭のアドレスが小さい領域から順に、対応領域Ｃ１、対応領域Ｃ２、・・・、対応領域Ｃｎと記す場合がある。対応領域Ｃ１に対応するコピービットマップは先頭のコピービットマップであり、対応領域Ｃｎに対応するコピービットマップは最後尾のコピービットマップである。
【００６８】
次に、ビットマップ管理情報３３について説明する。ビットマップ管理情報３３は、コピービットマップ３２の管理情報である。ビットマップ管理情報３３は、コピービットマップ３２と１対１で対応する。すなわち、コピービットマップ３２が複数作成された場合には、それと同数のビットマップ管理情報３３が作成される。ビットマップ管理情報３３は、コピービットマップ３２とともに、対応するセッションにおいて作成される。
【００６９】
図１２は、ビットマップ管理情報３３の説明図である。図１２において、コピービットマップ３２は、「ビットマップ種別」、「ビットマップ管理情報ポインタ（Next）」、「ビットマップ管理情報ポインタ（Prev）」、及び「コピービットマップアドレス」のデータ項目を含む。
【００７０】
「ビットマップ種別」は、コピーの種別を示す。具体的には、「ビットマップ種別」は、対応するセッションがバックアップにおけるものか、リストアにおけるものかを示す。尚、この値は、セッション管理情報３１の「モード」の値と連動する。
【００７１】
「ビットマップ管理情報ポインタ（Next）」及び「ビットマップ管理情報ポインタ（Prev）」は、対応するセッションにおいて作成された他のコピービットマップ３２と関連付けるポインタである。同一コピーセッションのコピー対象範囲に対応する複数のコピービットマップ３２同士は、各々が対応する対応領域Ｃの、コピー対象範囲における位置関係に応じて、関連付けられる。この関連付けを管理するための情報が「ビットマップ管理情報ポインタ（Next）」、及び「ビットマップ管理情報ポインタ（Prev）」である。詳細は後ほど、図１３を用いて説明する。
【００７２】
「コピービットマップアドレス」は、当該ビットマップ管理情報３３が管理するコピービットマップ３２のアドレスを示す。
【００７３】
ここで、セッション管理情報３１、コピービットマップ３２、及び、ビットマップ管理情報３３の関連について説明する。図１３は、セッション管理情報３１、コピービットマップ３２、及び、ビットマップ管理情報３３の関連の説明図である。
【００７４】
図１３において、セッション管理情報３１の「ビットマップ管理情報ポインタ（Top）」には、ビットマップ管理情報３３ａへのポインタが格納されている。そして、ビットマップ管理情報３３ａの「コピービットマップアドレス」には、コピービットマップ３２ａのアドレスが格納されている。これにより、セッション管理情報３１のセッションにおいて、対応領域Ｃ１に対応するコピービットマップ３２は、コピービットマップ３２ａであることが示される。
【００７５】
また、ビットマップ管理情報３３ａの「ビットマップ管理情報ポインタ（Next）」には、ビットマップ管理情報３３ｂへのポインタが格納されている。また、セッション管理情報３１の「ビットマップ管理情報ポインタ（Btm）」には、ビットマップ管理情報３３ｂへのポインタが格納されている。さらに、ビットマップ管理情報３３ｂの「コピービットマップアドレス」には、コピービットマップ３２ｂのアドレスが格納されている。これにより、セッション管理情報３１のセッションにおいて、対応領域Ｃ２に対応するコピービットマップ３２は、コピービットマップ３２ｂであることが示される。
【００７６】
次に、ボリューム管理情報３４について説明する。ボリューム管理情報３４は、ボリュームの管理情報である。ボリューム管理情報３４は、ボリューム毎に対応付けて作成される。図１４は、ボリューム管理情報３４の構成の一例を示す。
【００７７】
図１４において、ボリューム管理情報３４は、「状態」、「ボリュームタイプ」、「コピー元セッション（Top）」、「コピー元セッション（Btm）」のデータ項目を含む。さらに、ボリューム管理情報３４は、「コピー先セッション（Top）」、「コピー先セッション（Btm）」、「割当情報管理情報へのポインタ（Top）」、及び「割当情報管理情報へのポインタ（Btm）」のデータ項目を含む。
【００７８】
「状態」は、対応する当該ボリュームの状態を示す。ボリュームの状態は、具体的には、正常または異常である。「ボリュームタイプ」は、当該ボリュームのタイプを示す。ボリュームタイプは、具体的には、物理ボリュームまたは仮想ボリュームである。
【００７９】
「コピー元セッション（Top）」は、当該ボリュームをコピー元とするコピーセッションがある場合、そのコピーセッションに対応する先頭のセッション管理情報３１を指し示すポインタである。「コピー元セッション（Btm）」は、当該ボリュームをコピー元とするコピーセッションがある場合、そのコピーセッションに対応する最後尾のセッション管理情報３１を指し示すポインタである。
【００８０】
「コピー先セッション（Top）」は、当該ボリュームをコピー先とするコピーセッションがある場合、そのコピーセッションに対応する先頭のセッション管理情報３１を指し示すポインタである。「コピー先セッション（Btm）」は、当該ボリュームをコピー先とするコピーセッションがある場合、そのコピーセッションに対応する最後尾のセッション管理情報３１を指し示すポインタである。
【００８１】
「割当情報管理情報へのポインタ（Top）」は、当該ボリュームがバックアップ先として指定された場合、バックアップ元ボリュームの割当情報３５を管理する割当情報管理情報３６を指し示すポインタである。このポインタは、バックアップ元ボリュームの割当情報３５が複数ある場合には、先頭の割当情報３５を管理する割当情報管理情報３６を指し示すポインタとなる。「割当情報管理情報へのポインタ（Btm）」は、当該ボリュームがバックアップ先として指定された場合、バックアップ元ボリュームの割当情報３５を管理する割当情報管理情報３６を指し示すポインタである。このポインタは、バックアップ元ボリュームの割当情報３５が複数ある場合には、最後尾の割当情報３５を管理する割当情報管理情報３６を指し示すポインタとなる。割当情報３５、及び割当情報管理情報３６については、後述する。
【００８２】
ここで、セッション管理情報３１とボリューム管理情報３４の関連について図１５を参照して説明する。
【００８３】
図１５は、セッション管理情報３１とバックアップ元ボリュームに対応するボリューム管理情報３４との関連の説明図である。図１５において、所定のボリュームａに対応するボリューム管理情報３４ａの「コピー元セッション（Top）」、及び「コピー元セッション（Btm）」には、セッション管理情報３１ａへのポインタが格納されている。これにより、ボリュームａは、セッション管理情報３１ａのセッションにおいて、コピー元ボリュームとなっていることが示される。
【００８４】
図９の説明に戻る。作成部２４は、バックアップ元ボリュームの物理割当状況を示す情報を作成して、バックアップ先ボリュームに対応付けて記録する。すなわち、作成部２４は、受信部２２が受信した指示がバックアップ指示である場合、割当情報３５と割当情報管理情報３６を作成し記憶部２１に格納する。そして、作成部２４は、作成した割当情報管理情報３６を、バックアップ先ボリュームのボリューム管理情報３４に関連付ける。
【００８５】
具体的には、作成部２４は、仮想ボリュームのコピー対象範囲について、物理割当の単位領域毎に物理割当がされているか否かをチェックすることにより割当情報３５を作成する。
【００８６】
ここで、作成部により作成される割当情報３５、及び割当情報管理情報３６について順に説明する。
【００８７】
先ず、割当情報３５について説明する。割当情報３５は、バックアップ元ボリュームのコピー対象範囲における物理領域の割当状況を示す情報である。尚、この物理領域の割当状況は、バックアップ指示を受信した時点におけるものである。割当情報３５は、リストア時にバックアップ取得時の業務ボリュームの物理割当状態に戻すために使用される情報である。
【００８８】
図１６は、割当情報３５の説明図である。割当情報３５（３５ａ、３５ｂ）は、複数のビットを含む。各ビットは、バックアップ元ボリュームのコピー対象範囲を所定のサイズ毎に分割した単位領域（以下、単位領域Ａと記す）のそれぞれに対応付けられる。そして、ビットの値が「１」である場合は、そのビットに対応する単位領域Ａに物理領域が割り当てられていることが示され、ビットの値が「０」である場合は、そのビットに対応する単位領域Ａに物理領域が割り当てられていない（未割当）であることが示される。尚、単位領域Ａは、例えば、チャンクである。チャンクサイズは、ブロックサイズよりも大きくてもよく、例えば、ブロックサイズの整数倍であってもよい。
【００８９】
コピービットマップ３２と同様に、割当情報３５のサイズは、所定のサイズである。１つの割当情報３５が含むことのできるビット数は割当情報３５のサイズに応じた所定の値となる。よって、１つの割当情報３５の総ビットにより割当状況を示すことのできる領域の範囲も、割当情報３５のサイズに応じた所定の値となる。コピー対象範囲のサイズが大きく、１つの割当情報３５で、すべてのコピー対象範囲に対応できない場合は、複数の割当情報３５が作成される。各割当情報３５は、コピー対象範囲のうちの互いに重複しない部分領域（以下、対応領域Ａと記す）に対応付けられる。作成された全ての割当情報３５によって、コピー対象範囲の全てがカバーされる。
【００９０】
尚、割当情報３５は、コピー元ボリュームにおける各単位領域Ａの割当状況を識別可能な情報を含むものであれば、ビットマップ形式に限定されない。例えば、割当情報３５は、コピー元ボリュームを識別する識別情報と、コピー元ボリュームの各単位領域Ａを識別する識別情報と、各単位領域Ａの割当状態を示す情報と、を対応付けた情報としてもよい。
【００９１】
また、以下では説明のために、バックアップ元ボリュームのコピー対象範囲が複数の対応領域Ａに分けられる場合、複数の対応領域Ａのうち、先頭のアドレスが小さい領域から順に、昇順で番号を振ることにより、各対応領域Ａを区別する。例えば、バックアップ元ボリュームのコピー対象範囲がｎ個の対応領域Ａに分けられる場合、対応領域Ａの先頭のアドレスが小さい領域から順に、対応領域Ａ１、対応領域Ａ２、・・・、対応領域Ａｎと記す場合がある。対応領域Ａ１に対応する割当情報３５は、先頭の割当情報３５である。対応領域Ａｎに対応する割当情報３５は、最後尾の割当情報３５である。
【００９２】
次に、割当情報管理情報３６について説明する。割当情報管理情報３６は、割当情報３５を管理する情報である。図１７は、割当情報管理情報３６の構成の一例を示す。図１７において、割当情報管理情報３６は、「セッション管理情報の識別情報」、「割当情報管理情報へのポインタ（Next）」、「割当情報管理情報へのポインタ（Prev）」、及び「割当情報のアドレス」のデータ項目を含む。
【００９３】
「セッション管理情報の識別情報」は、対応するコピーセッションのセッション管理情報３１の識別情報である。対応するコピーセッションとは、すなわち、当該割当情報管理情報３６が管理する割当情報３５が作成されたコピーセッションである。
【００９４】
「割当情報管理情報へのポインタ（Next）」は、対応するコピーセッションで作成される割当情報管理情報３６同士を関連付けるためのポインタである。
【００９５】
「割当情報管理情報へのポインタ（Prev）」は、対応するコピーセッションで作成される割当情報管理情報３６同士を関連付けるためのポインタである。
【００９６】
「割当情報のアドレス」は、当該割当情報管理情報３６が管理する割当情報３５のアドレス情報を示す。
【００９７】
割当情報３５と割当情報管理情報３６を作成したら、作成部２４は、割当情報管理情報３６を、バックアップ先ボリュームのボリューム管理情報３４に関連付ける。具体的には、作成部２４は、バックアップ先ボリュームのボリューム管理情報３４において、「割当情報管理情報へのポインタ（Top）」、及び「割当情報管理情報へのポインタ（Btm）」に、作成した割当情報管理情報３６のアドレスを設定する。
【００９８】
ここで、セッション管理情報３１、ボリューム管理情報３４、割当情報３５、及び、割当情報管理情報３６の関連について図１８を参照して説明する。
【００９９】
図１８は、セッション管理情報３１、ボリューム管理情報３４、割当情報３５、及び、割当情報管理情報３６の関連の説明図である。図１８において、所定のボリュームｂに対応するボリューム管理情報３４ｂの「コピー先セッション（Top）」、及び「コピー先セッション（Btm）」には、セッション管理情報３１ａへのポインタが格納されている。これにより、ボリュームｂは、セッション管理情報３１ａのセッションにおいて、コピー先ボリュームとなっていることが示される。
【０１００】
また、ボリューム管理情報３４ｂの「割当情報管理情報へのポインタ（Top）」には、割当情報管理情報３６ａへのポインタが格納されている。そして、割当情報管理情報３６ａの「割当情報のアドレス」には、割当情報３５ａのアドレスが格納されている。これにより、ボリュームｂの先頭の対応領域Ａ１についての割当状況が、割当情報３５ａによって示されることが示される。
【０１０１】
また、割当情報管理情報３６ａの「割当情報管理情報へのポインタ（Next）」には、割当情報管理情報３６ｂへのポインタが格納されている。そして、割当情報管理情報３６ｂの「割当情報のアドレス」には、割当情報３５ｂのアドレスが格納されている。これにより、対応領域Ａ２についての割当状況が、割当情報３５ｂによって示されることが示される。
【０１０２】
また、割当情報管理情報３６ｂの「割当情報管理情報へのポインタ（Next）」には、割当情報管理情報３６ｃへのポインタが格納されている。そして、割当情報管理情報３６ｃの「割当情報のアドレス」には、割当情報３５ｃのアドレスが格納されている。これにより、対応領域Ａ３についての割当状況が、割当情報３５ｃによって示されることが示される。
【０１０３】
図９の説明に戻る。決定部２５は、コピーセッションにおいてコピー元ボリュームが仮想ボリュームである場合に、実際のデータコピーの対象とする実コピー領域を決定する。具体的には、決定部２５は、コピー元仮想ボリュームのうち、物理割当がされていない領域については、データが格納されていないためコピー対象外とするように制御する。これにより、無駄なコピー動作を抑制することができる。
【０１０４】
より具体的には、決定部２５は、割当情報３５に基づいて、コピービットマップ３２を変更する。すなわち、決定部２５は、割当情報３５を参照し、「０」が設定されている未割当領域を抽出する。そして、決定部２５は、コピービットマップ３２において、抽出した未割当領域に対応するビットの値を「０」に更新する。
【０１０５】
図１９は、決定部２５によるコピービットマップ３２の更新の例を示す。図１９の例は、割当情報３５の各ビットが示す単位領域Ａが、コピービットマップ３２の各ビットが示す３つの単位領域Ｃに対応する例を示している。図１９に示すように、割当情報３５のビットが「０」である領域に対応するコピービットマップ３２のビットが「１」から「０」に変更されている。
【０１０６】
尚、バックアップとリストアで、割当情報３５の参照元は異なる。バックアップの場合には、決定部２５は、作成部２４により作成された割当情報３５を参照する。この割当情報３５は、コピー元（バックアップ元）仮想ボリュームの割当状態を示す情報である。リストアの場合には、決定部２５は、リストア元ボリュームに関連付けて記憶部２１に格納されていた割当情報３５を参照する。この割当情報３５は、リストア元ボリュームの割当状態を示す情報であるが、リストア元ボリュームへのバックアップ時点におけるバックアップ元仮想ボリュームの割当状態を示す情報でもある。
【０１０７】
割当制御部２６は、コピーセッションが完了した時点において、コピー先仮想ボリュームの物理割当状態がコピー元仮想ボリュームの物理割当状態と同じになるように、コピー先仮想ボリュームの割当状態を変更する。具体的には、割当制御部２６は、コピー元仮想ボリュームの物理割当情報３５に基づいて、コピー先仮想ボリュームの物理割当を変更する。この変更処理は、コピー元とコピー先の両方のボリュームが仮想ボリュームである場合に行われる。
【０１０８】
より具体的には、割当制御部２６は、先ず、割当情報３５を参照し、「０」が設定されている未割当領域を抽出する。次いで、割当制御部２６は、抽出した未割当領域に対応するコピー先仮想ボリュームの領域に、物理割当がされているか否かをチェックする。物理割当がされている場合は、割当制御部２６は、そのコピー先仮想ボリュームの領域を開放する。
【０１０９】
尚、割当制御部２６は、割当情報３５に基づいて、コピー元とコピー先の割当状況が同じになるように、コピー先仮想ボリュームの割当を変更してもよい。
【０１１０】
複製部２７は、決定部２５により決定された実コピー領域のデータをコピー先ボリュームにコピーする。実コピー領域は、コピービットマップ３２に基づいて特定される。具体的には、複製部２７は、コピービットマップ３２を参照し、「１」が設定されている領域のデータをコピーする。そして複製部２７は、「１」が設定されている領域のデータのコピーが完了する毎に、コピーが完了した単位領域Ｃに対応するコピービットマップ３２のビットを「１」から「０」に更新する。尚、コピー先ボリュームに物理領域が割当られていない場合には、複製部２７は、シン・プロビジョニングの機能を用いて物理領域を割り当てた後、コピーデータを格納する。
【０１１１】
ゼロデータ格納部２８は、コピー元ボリュームが仮想ボリュームであり、且つ、コピー先ボリュームが物理ボリュームである場合、コピー元ボリュームの未割当領域に対応するコピー先ボリュームの領域にゼロデータを格納する。コピー元ボリュームの未割当領域の特定は、割当情報３５に基づいて行われる。
【０１１２】
具体的には、ゼロデータ格納部２８は、先ず、割当情報３５を参照し、「０」が設定されている未割当領域を抽出する。そしてゼロデータ格納部２８は、抽出した未割当領域に対応するコピー先物理ボリュームの領域に、ゼロデータを格納する。尚、ゼロデータの格納については、ゼロデータ格納部２８は、予め所定の記憶領域に格納されたゼロデータをコピーすることにより、コピー先ボリュームに格納してもよい。ゼロデータは例えばnull値であってもよい。
【０１１３】
ここで、実施形態においては、コピービットマップ３２のビットが「０」である理由は、以下の２つが考えられる。その理由とは、すなわち、（Ａ）当該領域のコピーが完了したため、または、（Ｂ）当該領域に対応する割当情報３５のビットが「０」であるため、のいずれかである。理由が（Ａ）か（Ｂ）かの判断は、割当情報３５に基づいて行われる。コピービットマップ３２のビットが「０」であり、割当情報３５のビットが「０」である場合には、理由（Ａ）であると判定できる。また、コピービットマップ３２のビットが「０」であり、割当情報３５のビットが「１」である場合には、理由（Ｂ）であると判定できる。理由（Ｂ）のためにビットが「０」である場合には、ゼロデータ格納部２８は、その領域に対応するコピー先物理ボリュームの領域には、ゼロデータを格納する。
【０１１４】
尚、上述したように、バックアップとリストアで、割当情報３５の参照元は異なる。バックアップの場合には、決定部２５は、作成部２４により作成された割当情報３５を参照する。リストアの場合には、決定部２５は、リストア元ボリュームに関連付けて記憶部２１に格納されていた割当情報３５を参照する。
【０１１５】
次に、バックアップ及びリストアの動作フローを図２０〜図２５を参照して説明する。図２０は、バックアップ及びリストアの全体の処理を図解したフローチャートの一例である。
【０１１６】
図２０において、先ず、受信部２２は、ホスト装置１１からバックアップ指示またはリストア指示を受信する（Ｓ１０１）。
【０１１７】
次に、セッション制御部２３は、受信したバックアップ指示またはリストア指示のパラメータを確認する（Ｓ１０２）。バックアップ指示のパラメータは、バックアップ元ボリュームとバックアップ先ボリュームの識別情報、及び、バックアップの対象範囲を示す情報である。リストア指示のパラメータは、リストア元ボリュームとリストア先ボリュームの識別情報、及び、リストアの対象範囲を示す情報である。
【０１１８】
次に、セッション制御部２３は、Ｓ１０２で確認したパラメータに基づいて、セッション管理情報３１を作成して各データ項目に値を設定し、記憶部２１に格納する（Ｓ１０３）。また、セッション制御部２３は、コピー元ボリューム及びコピー先ボリュームに対応するボリューム管理情報３４に、作成したセッション管理情報３１を関連付ける。尚、この関連付けは、コピー元ボリュームに対応するボリューム管理情報３４の「コピー元セッション（Top）」、及び「コピー元セッション（Btm）」をセッション制御部２３が設定することにより行われる。また、関連付けは、さらに、セッション管理情報３１の「セッション管理情報ポインタ（Next）」、及び「セッション管理情報ポインタ（Prev）」をセッション制御部２３が設定することにより行われる。
【０１１９】
次に、セッション制御部２３は、Ｓ１０２で確認したパラメータに基づいて、コピービットマップ３２、及び、ビットマップ管理情報３３を作成して、各データ項目に値を設定し、記憶部２１に格納する（Ｓ１０４）。また、セッション制御部２３は、作成したビットマップ管理情報３３を、セッション管理情報３１に関連付ける。すなわち、セッション制御部２３は、セッション管理情報３１の「ビットマップ管理情報ポインタ（Top）」及び「ビットマップ管理情報ポインタ（Btm）」に、作成したコピービットマップ３２のアドレスを設定する。
【０１２０】
次に、セッション制御部２３は、同じストレージ装置１２に含まれる他のストレージ制御装置１３に、セッション管理情報３１の作成と設定を指示する（Ｓ１０５）。この指示を受信した他のストレージ制御装置１３のセッション制御部２３は、Ｓ１０３と同様にして、セッション管理情報３１を作成して記憶部に格納する。また、他のストレージ制御装置１３のセッション制御部２３は、コピー元ボリューム及びコピー先ボリュームに対応するボリューム管理情報３４に、作成したセッション管理情報３１を関連付ける。
【０１２１】
次に、セッション制御部２３は、他のストレージ制御装置１３に、コピービットマップ３２、及び、ビットマップ管理情報３３の作成と設定を指示する（Ｓ１０６）。他のストレージ制御装置１３のセッション制御部２３は、Ｓ１０４と同様にして、コピービットマップ３２、及び、ビットマップ管理情報３３を作成して記憶部に格納する。また、他のストレージ制御装置１３のセッション制御部２３は、作成したビットマップ管理情報３３を、セッション管理情報３１に関連付ける。このように、他のストレージ制御装置１３がセッションに関する情報の作成と設定を行うことにより、バックアップまたはリストアを実行するストレージ制御装置１３に障害が発生した場合にも、他のストレージ制御装置１３により処理を再開することが可能となる。
【０１２２】
次に、セッション制御部２３は、Ｓ１０１で受信した指示がリストア指示であるか否かを判定する（Ｓ１０７）。リストア指示であると判定された場合（Ｓ１０７でＹｅｓ）、処理はＳ１０９に遷移する。
【０１２３】
一方、リストア指示でないと判定された場合（Ｓ１０７でＮｏ）、作成部２４は、バックアップ元ボリュームの物理割当状況を示す情報を作成して、バックアップ先ボリュームに対応付けて記録する（Ｓ１０８）。すなわち、作成部２４は、割当情報３５と割当情報管理情報３６を作成し記憶部２１に格納する。また作成部２４は、作成した割当情報管理情報３６を、バックアップ先ボリュームのボリューム管理情報３４に関連付ける。この関連付けは、ボリューム管理情報３４の「割当情報管理情報へのポインタ（Top）」、及び「割当情報管理情報へのポインタ（Btm）」を作成部２４が設定することにより行われる。また、関連付けは、さらに、割当情報管理情報３６の「割当情報管理情報へのポインタ（Next）」、「割当情報管理情報へのポインタ（Prev）」を作成部２４が設定することにより行われる。割当情報３５の作成処理の詳細については、後ほど図２１を参照して説明する。
【０１２４】
次に、決定部２５は、Ｓ１０２で確認したコピー対象範囲のうち、実際にデータコピーの対象とする実コピー領域を決定する（Ｓ１０９）。この実コピー領域の決定処理の詳細は、後ほど図２２を参照して説明する。
【０１２５】
次に、割当制御部２６は、コピー元仮想ボリュームの物理割当情報３５に基づいて、コピー先仮想ボリュームの物理割当を変更する（Ｓ１１０）。この物理割当の変更処理の詳細は、後ほど図２３を参照して説明する。尚、Ｓ１０９とＳ１１０の順番は入れ替わってもよい。
【０１２６】
次に、セッション制御部２３は、コピーセッションを有効化する（Ｓ１１１）。コピーセッションが有効化されると、複製部２７により、実コピー領域からのコピー先ボリュームへのデータのコピーがバックグラウンドで開始される。コピー処理の詳細は、後ほど図２４を参照して説明する。
【０１２７】
次に、セッション制御部２３は、Ｓ１０１で受信したバックアップ指示またはリストア指示に対して応答を行う（Ｓ１１２）。そして、処理は終了する。
【０１２８】
次に、Ｓ１０８で実行される割当情報３５の作成処理の詳細について説明する。図２１は、割当情報３５の作成処理の詳細を図解したフローチャートの一例である。
【０１２９】
図２１において、先ず、作成部２４は、コピー元ボリュームが仮想ボリュームであるか否かを判定する（Ｓ２０１）。仮想ボリュームでないと判定された場合（Ｓ２０１でＮｏ）、処理は終了する。
【０１３０】
一方、コピー元ボリュームが仮想ボリュームであると判定した場合（Ｓ２０１でＹｅｓ）、作成部２４は、コピー元仮想ボリュームのコピー対象範囲の先頭から、物理領域が割り当てられているか否かの確認を開始する（Ｓ２０２）。
【０１３１】
次に、作成部２４は、割当の単位領域Ａ毎に、その単位領域に物理領域が割り当てられているか否かを判定する（Ｓ２０３）。単位領域Ａに物理領域が割り当てられていると判定した場合（Ｓ２０３でＹｅｓ）、作成部２４は、割当情報３５の単位領域Ａに対応するビットに、物理領域が割り当てられていることを示す「１」を設定する（Ｓ２０４）。そして処理はＳ２０６に遷移する。
【０１３２】
一方、単位領域Ａに物理領域が割り当てられていないと判定した場合（Ｓ２０３でＮｏ）、作成部２４は、割当情報３５の単位領域Ａに対応するビットに、物理領域が割り当てられていないことを示す「０」を設定する（Ｓ２０５）。
【０１３３】
次に、作成部２４は、コピー対象範囲のすべての割当の単位領域Ａについて、物理領域が割り当てられているか否かをＳ２０３で確認したかを判定する（Ｓ２０６）。コピー対象範囲のいずれかの割当の単位領域Ａについて割り当ての確認が済んでいないと判定した場合（Ｓ２０６でＮｏ）、作成部２４は、処理をＳ２０３に再度遷移させ、確認が済んでいない単位領域Ａの判定を行う。
【０１３４】
一方、コピー対象範囲のすべての単位領域Ａについて割当の確認が完了したと判定した場合（Ｓ２０６でＹｅｓ）、処理は終了する。
【０１３５】
次に、Ｓ１０９で実行される実コピー領域の決定処理の詳細について説明する。図２２は、決定処理の詳細を図解したフローチャートの一例である。
【０１３６】
図２２において、先ず、決定部２５は、Ｓ１０１で受信した指示がバックアップ指示であるか否かを判定する（Ｓ３０１）。具体的には、決定部２５は例えば、セッション管理情報３１の「モード」を参照することによりバックアップ指示であるか否かを判定する。
【０１３７】
受信した指示がバックアップ指示であると判定した場合（Ｓ３０１でＹｅｓ）、決定部２５は、コピー元ボリュームは仮想ボリュームであるか否かを判定する（Ｓ３０２）。具体的には、例えば決定部２５は、ボリューム管理情報３４の「ボリュームタイプ」を参照することにより、コピー元ボリュームが仮想ボリュームであるかを判定する。コピー元ボリュームは仮想ボリュームではない、すなわち、コピー元ボリュームは物理ボリュームであると判定された場合（Ｓ３０２でＮｏ）、処理は終了する。
【０１３８】
一方、コピー元ボリュームは仮想ボリュームであると判定した場合（Ｓ３０２でＹｅｓ）、決定部２５は、Ｓ１０８で作成された割当情報３５を取得する（Ｓ３０３）。そして処理は、Ｓ３０５に遷移する。
【０１３９】
受信した指示がバックアップ指示でないと判定した場合（Ｓ３０１でＮｏ）、すなわち、リストア指示であると判定した場合、決定部２５は、リストア元ボリュームに関連付けられた割当情報３５を特定して取得する（Ｓ３０４）。具体的には、決定部２５は、リストア元ボリュームのボリューム管理情報３４において、「割当情報管理情報へのポインタ（Top）」、「割当情報管理情報へのポインタ（Btm）」を参照することにより、リストア元ボリュームに関連付けられた割当情報３５を特定する。尚、リストア元ボリュームに関連付けられた割当情報３５が複数ある場合には、決定部２５は割当情報管理情報３６の「割当情報管理情報へのポインタ（Next）」、「割当情報管理情報へのポインタ（Prev）」を参照して、関連する全ての割当情報３５を特定する。このように、リストアにおいては、割当情報３５はバックアップ時に取得して保管されていたものが使用される。これにより、リストア時には、コピー元ボリュームの割当情報の作成を省略でき、効率的なリストアが可能となる。また、このような割当情報に基づいて、コピー先ボリュームの割当またはゼロデータの格納を行うことで、リストア先ボリュームの状態を、バックアップ取得時のバックアップ元ボリュームと同じ状態にすることができる。
【０１４０】
次に、決定部２５は、Ｓ３０３またはＳ３０４で取得した割当情報３５について、先頭から物理割当状態の確認を開始する（Ｓ３０５）。
【０１４１】
次に、決定部２５は、割当情報３５のビット毎に、割当情報３５の各ビットの値が「１」であるか否かを確認することで、そのビットに対応する単位記憶領域に物理領域が割り当てられているか否かを判定する（Ｓ３０６）。ビットに対応する単位記憶領域に物理領域が割り当てられていると判定された場合（Ｓ３０６でＹｅｓ）、処理はＳ３０８に遷移する。
【０１４２】
一方、ビットに対応する単位記憶領域に物理領域が割り当てられていない（未割当である）と判定した場合（Ｓ３０６でＮｏ）、決定部２５は、未割当の単位記憶領域に対応するコピービットマップ３２の各ビットを「０」に更新する（Ｓ３０７）。これにより、物理領域が未割当の領域を、実コピー領域から除外することができる。
【０１４３】
次に、決定部２５は、割当情報３５のすべてのビットについて、Ｓ３０６の判定が完了したか否かを判定する（Ｓ３０８）。割当情報３５のいずれかのビットについて判定が済んでいないと判定した場合（Ｓ３０８でＮｏ）、決定部２５は、処理をＳ３０６に再度遷移させ、判定が済んでいないビットについての判定を行う。
【０１４４】
一方、割当情報３５のすべてのビットについて割当の判定が完了したと判定した場合（Ｓ３０８でＹｅｓ）、処理は終了する。
【０１４５】
次に、Ｓ１１０で実行される物理割当の変更処理の詳細について説明する。図２３は、物理割当の変更処理の詳細を図解したフローチャートの一例である。
【０１４６】
図２３において、先ず、割当制御部２６は、Ｓ１０１で受信した指示がバックアップ指示であるか否かを判定する（Ｓ４０１）。具体的には、割当制御部２６は例えば、セッション管理情報３１の「モード」を参照することによりバックアップ指示であるか否かを判定する。
【０１４７】
受信した指示がバックアップ指示であると判定した場合（Ｓ４０１でＹｅｓ）、割当制御部２６は、コピー元ボリュームは仮想ボリュームであるか否かを判定する（Ｓ４０２）。具体的には、例えば割当制御部２６は、コピー元ボリュームに対応するボリューム管理情報３４の「ボリュームタイプ」を参照することにより、コピー元ボリュームが仮想ボリュームであるかを判定する。コピー元ボリュームは仮想ボリュームではない、すなわち、コピー元ボリュームは物理ボリュームであると判定された場合（Ｓ４０２でＮｏ）、処理は終了する。
【０１４８】
一方、コピー元ボリュームは仮想ボリュームであると判定した場合（Ｓ４０２でＹｅｓ）、割当制御部２６は、コピー先ボリュームが仮想ボリュームであるか否かを判定する（Ｓ４０３）。具体的には、例えば割当制御部２６は、コピー先ボリュームに対応するボリューム管理情報３４の「ボリュームタイプ」を参照することにより、コピー先ボリュームが仮想ボリュームであるかを判定する。コピー先ボリュームは仮想ボリュームではない、すなわち、コピー先ボリュームは物理ボリュームであると判定された場合（Ｓ４０３でＮｏ）、処理は終了する。
【０１４９】
一方、コピー先ボリュームは仮想ボリュームであると判定した場合（Ｓ４０３でＹｅｓ）、割当制御部２６は、Ｓ１０８で作成された割当情報３５を取得する（Ｓ４０４）。そして処理は、Ｓ４０６に遷移する。
【０１５０】
Ｓ４０１において、受信した指示がバックアップ指示でない、すなわちリストア指示であると判定した場合（Ｓ４０１でＮｏ）、割当制御部２６は、リストア元ボリュームに関連付けられた割当情報３５を特定して取得する（Ｓ４０５）。このリストア元ボリュームに関連付けられた割当情報３５の具体的な特定方法は、Ｓ３０４におけるものと同様である。
【０１５１】
次に、割当制御部２６は、Ｓ４０４またはＳ４０５で取得した割当情報３５について、先頭から物理割当状態の確認を開始する（Ｓ４０６）。
【０１５２】
次に、割当制御部２６は、割当情報３５のビット毎に、各ビットの値が「１」であるか否かを確認することで、そのビットに対応する単位記憶領域に物理領域が割り当てられていない（未割当）か否かを判定する（Ｓ４０７）。ビットに対応する単位記憶領域に物理領域が割り当てられていると判定された場合（Ｓ４０７でＮｏ）、処理はＳ４１０に遷移する。
【０１５３】
一方、ビットに対応する単位記憶領域に物理領域が割り当てられていないと判定した場合（Ｓ４０７でＹｅｓ）、割当制御部２６は、その未割当の物理領域に対応するコピー先ボリュームの領域に物理領域が割当られているか否かを判定する（Ｓ４０８）。対応するコピー先ボリュームの領域に物理領域が割当られていないと判定された場合（Ｓ４０８でＮｏ）、処理はＳ４１０に遷移する。
【０１５４】
一方、対応するコピー先ボリュームの領域に物理領域が割当られていると判定した場合（Ｓ４０８でＹｅｓ）、割当制御部２６は、対応するコピー先ボリュームの物理領域を開放する（Ｓ４０９）。このように、コピー元ボリュームで未割当の領域に対応するコピー先ボリュームの領域を開放することで、コピーセッション完了時に、コピー元ボリュームとコピー先ボリュームの割当状況を同じ状態にすることができる。また、実際のコピー前に、バックアップ元の割当情報を用いてバックアップ先の割当状態を変更することで、バックアップ先ボリュームの割当変更を効率的に行うことができる。
【０１５５】
次に、割当制御部２６は、割当情報３５のすべてのビットについて、Ｓ４０７の判定が完了したか否かを判定する（Ｓ４１０）。割当情報３５のいずれかのビットについて判定が済んでいないと判定した場合（Ｓ４１０でＮｏ）、割当制御部２６は、処理をＳ４０７に再度遷移させ、未判定のビットについての判定を行う。
【０１５６】
一方、割当情報３５のすべてのビットについて割当の判定が完了したと判定した場合（Ｓ４１０でＹｅｓ）、処理は終了する。
【０１５７】
次に、Ｓ１１１でコピーセッションが有効化された後に実行されるコピー処理の詳細について説明する。図２４は、コピー処理の詳細を図解したフローチャートの一例である。
【０１５８】
図２４において、先ず、複製部２７は、当該セッションのコピービットマップ３２を取得する（Ｓ５０１）。
【０１５９】
次に、複製部２７は、コピービットマップ３２のビット毎に、ビットの値が「１」であるか否かを判定する（Ｓ５０２）。ビットの値が「１」であると判定した場合（Ｓ５０２でＹｅｓ）、複製部２７は、判定したビットに対応する単位領域Ｃのデータをコピー先ボリュームの対応する領域にコピーする（Ｓ５０３）。
【０１６０】
次に、複製部２７は、Ｓ５０３でコピーした単位領域Ｃに対応するコピービットマップ３２のビットの値を「１」から「０」に変更する。そして処理は、Ｓ５０６に遷移する。
【０１６１】
一方、ビットの値が「０」であると判定された場合（Ｓ５０２でＮｏ）、ゼロデータ格納部２８は、コピー先ボリュームの対応する領域にゼロデータを格納するか否かの判定処理を行う（Ｓ５０５）。このゼロデータの格納判定処理の詳細については、後ほど図２５を参照して説明する。
【０１６２】
次に、複製部２７は、コピービットマップ３２の全てのビットについて、Ｓ５０２の判定を行ったか否かを判定する（Ｓ５０６）。コピービットマップ３２の何れかのビットについて、判定が済んでいないと判定した場合（Ｓ５０６でＮｏ）、複製部２７は、処理を再度Ｓ５０２に遷移させ、判定が済んでいないビットについての判定を行う。
【０１６３】
一方、コピービットマップ３２のすべてのビットについて、値の判定が完了したと判定された場合（Ｓ５０６でＹｅｓ）、処理は終了する。
【０１６４】
次に、Ｓ５０５で実行されるゼロデータの格納判定処理の詳細について説明する。図２５は、ゼロデータの格納判定処理の詳細を図解したフローチャートの一例である。
【０１６５】
図２５において、先ず、ゼロデータ格納部２８は、コピー元ボリュームは仮想ボリュームであるか否かを判定する（Ｓ６０１）。具体的には、例えばゼロデータ格納部２８は、コピー元ボリュームに対応するボリューム管理情報３４の「ボリュームタイプ」を参照することにより、コピー元ボリュームが仮想ボリュームであるかを判定する。コピー元ボリュームは仮想ボリュームではない、すなわち、コピー元ボリュームは物理ボリュームであると判定された場合（Ｓ６０１でＮｏ）、処理は終了する。
【０１６６】
一方、コピー元ボリュームは仮想ボリュームであると判定した場合（Ｓ６０１でＹｅｓ）、ゼロデータ格納部２８は、コピー先ボリュームは物理ボリュームであるか否かを判定する（Ｓ６０２）。具体的には、例えばゼロデータ格納部２８は、コピー先ボリュームに対応するボリューム管理情報３４の「ボリュームタイプ」を参照することにより、コピー先ボリュームが物理ボリュームであるかを判定する。コピー先ボリュームは物理ボリュームではない、すなわち、コピー先ボリュームは仮想ボリュームであると判定された場合（Ｓ６０２でＮｏ）、処理は終了する。
【０１６７】
一方、コピー先ボリュームは物理ボリュームであると判定した場合（Ｓ６０２でＹｅｓ）、ゼロデータ格納部２８は、当該コピーセッションがバックアップにおけるものであるか否かを判定する（Ｓ６０３）。具体的には、例えばゼロデータ格納部２８は、セッション管理情報３１の「モード」を確認することにより、バックアップにおけるものか否かを判定する。当該コピーセッションはバックアップにおけるものであると判定した場合（Ｓ６０３でＹｅｓ）、ゼロデータ格納部２８は、Ｓ１０８で作成された割当情報３５を取得する（Ｓ６０４）。そして、処理はＳ６０６に遷移する。
【０１６８】
一方、当該コピーセッションはバックアップにおけるものではない、すなわち、リストアにおけるものであると判定した場合、ゼロデータ格納部２８は、リストア元ボリュームに関連付けられた割当情報３５を特定して取得する（Ｓ６０５）。このリストア元ボリュームに関連付けられた割当情報３５の具体的な特定方法は、Ｓ３０４におけるものと同様である。
【０１６９】
次に、ゼロデータ格納部２８は、Ｓ６０４またはＳ６０５で取得した割当情報３５に基づいて、Ｓ５０２で判定したビットに対応する単位領域Ｃ（以下、対象単位領域Ｃと記す）の物理割当状態をチェックする（Ｓ６０６）。
【０１７０】
そして、ゼロデータ格納部２８は、対象単位領域Ｃは、物理領域が割り当てられていない（未割当）の領域か否かを判定する（Ｓ６０７）。具体的には、ゼロデータ格納部２８は、割当情報３５において、対象単位領域Ｃを含む単位領域Ａのビットが「０」であるか否かを判定する。対象単位領域Ｃに物理領域が割り当てられていると判定した場合には（Ｓ６０７でＮｏ）、処理は終了する。対象単位領域Ｃに物理領域が割り当てられていないと判定した場合（Ｓ６０７でＹｅｓ）、ゼロデータ格納部２８は、対象単位領域Ｃに対応するコピー先の領域にゼロデータを格納する（Ｓ６０８）。このように、割当情報３５に基づいて、ゼロデータを格納するか否かを判定するため、既にコピー済みのデータをゼロデータで上書きすることを防ぐことができる。
【０１７１】
以上のように、コピー元仮想ボリュームにおいて未割当の領域に対応するコピー先物理ボリュームの領域にゼロデータを格納することで、コピー先ボリュームから不要なデータを除くことができる。不要なデータがコピー先物理ボリュームから削除されるため、例えば、コピー先物理ボリュームを単に切り替えるだけで、業務ボリュームとしてそのまま使用することができる。そして、処理は終了する。
【０１７２】
尚、コピー元仮想ボリュームにおいて未割当の領域に対応するコピー先物理ボリュームの領域にゼロデータを格納する処理は、コピーセッションの有効化前（Ｓ１０９またはＳ１１０の前後）に行われてもよい。
【０１７３】
次に、ストレージ制御装置１３のハードウェア構成について説明する。図２６は、実施形態に係るストレージ制御装置１３のハードウェア構成の一例を示す。
【０１７４】
図２６において、ストレージ制御装置１３は、Central Processing Unit（ＣＰＵ）６０１、メモリ６０２、読取装置６０３、及び通信インターフェース６０４を含む。ＣＰＵ６０１、メモリ６０２、読取装置６０３、及び通信インターフェース６０４はバス等を介して接続される。
【０１７５】
ＣＰＵ６０１は、メモリ６０２を利用して上述のフローチャートの手順を記述したプログラムを実行する。このプログラムを実行することにより、ＣＰＵ６０１は、受信部２２、セッション制御部２３、作成部２４、決定部２５、割当制御部２６、複製部２７、及びゼロデータ格納部２８の機能の一部または全部の機能を提供する。ＣＰＵ６０１が実行するプログラムは、ストレージ制御プログラムであってよい。
【０１７６】
メモリ６０２は、例えば半導体メモリであり、Random Access Memory（ＲＡＭ）領域およびRead Only Memory（ＲＯＭ）領域を含んで構成される。メモリ６０２は記憶部２１の一部または全部の機能を提供する。尚、記憶部２１の一部または全部の情報は、記憶装置１４に記憶されてもよい。
【０１７７】
読取装置６０３は、ＣＰＵ６０１の指示に従って着脱可能記憶媒体６５０にアクセスする。着脱可能記憶媒体６５０は、たとえば、半導体デバイス（ＵＳＢメモリ等）、磁気的作用により情報が入出力される媒体（磁気ディスク等）、光学的作用により情報が入出力される媒体（ＣＤ−ＲＯＭ、ＤＶＤ等）などにより実現される。尚、読取装置６０３はストレージ制御装置１３に含まれなくてもよい。
【０１７８】
通信インターフェース６０４は、ホスト装置１１と接続し、ホスト装置１１との間の通信制御を行う。また、通信インターフェース６０４は、記憶装置１４に接続し、記憶装置１４との間の通信制御を行う。ホスト装置１１に接続する通信インターフェース６０４は、例えば、Channel Adapter（ＣＡ）である。記憶装置１４に接続する通信インターフェース６０４は、例えば、Fibre Channel（ＦＣ）である。
【０１７９】
さらに、実施形態のストレージ制御装置１３の一部は、ハードウェアで実現してもよい。或いは、実施形態のストレージ制御装置１３は、ソフトウェアおよびハードウェアの組合せで実現してもよい。
ストレージ制御装置１３は、例えば、Centralized Module（ＣＭ）である。
【０１８０】
尚、本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
【符号の説明】
【０１８１】
１      ストレージ制御装置
２      受信部
３      作成部
４      領域制御部
５      バックアップ制御部
６      格納処理部
７      リストア指示受信部
８      取得部
９      リストア制御部
１１    ホスト装置
１２    ストレージ装置
１３    ストレージ制御装置
１４    記憶装置
２１    記憶部
２２    受信部
２３    セッション制御部
２４    作成部
２５    決定部
２６    割当制御部
２７    複製部
２８    ゼロデータ格納部
３１    セッション管理情報
３２    コピービットマップ
３３    ビットマップ管理情報
３４    ボリューム管理情報
３５    割当情報
３６    割当情報管理情報
６０１  ＣＰＵ
６０２  メモリ
６０３  読取装置
６０４  通信インターフェース
６５０  着脱可能記憶媒体
【図１】
2016212548.tif 000003
【図２】
2016212548.tif 000004
【図３】
2016212548.tif 000005
【図４】
2016212548.tif 000006
【図５】
2016212548.tif 000007
【図６】
2016212548.tif 000008
【図７】
2016212548.tif 000009
【図８】
2016212548.tif 000010
【図９】
2016212548.tif 000011
【図１０】
2016212548.tif 000012
【図１１】
2016212548.tif 000013
【図１２】
2016212548.tif 000014
【図１３】
2016212548.tif 000015
【図１４】
2016212548.tif 000016
【図１５】
2016212548.tif 000017
【図１６】
2016212548.tif 000018
【図１７】
2016212548.tif 000019
【図１８】
2016212548.tif 000020
【図１９】
2016212548.tif 000021
【図２０】
2016212548.tif 000022
【図２１】
2016212548.tif 000023
【図２２】
2016212548.tif 000024
【図２３】
2016212548.tif 000025
【図２４】
2016212548.tif 000026
【図２５】
2016212548.tif 000027
【図２６】
2016212548.tif 000028