(57)【要約】【課題】本発明は、フルバックアップとスナップショットを同一の記憶領域内で管理することで、記憶システムの運用を容易にするとともに管理者の負担を軽減し得る記憶システム及びデータ管理方法を提案する。【解決手段】セカンダリボリュームの記憶領域の一部又は全部を関連付けて動的な保存記憶領域を論理ボリュームから供給されるプールボリュームを形成する形成部と、プライマリボリューム内の任意のアドレスに対してホスト装置からデータの書き込み指示がなされるとプライマリボリュームに当該データを保存してプライマリボリュームを更新するために、プライマリボリュームに対応する差分データをバックアップデータとしてプールボリュームに保存する第１保存部と、所定のタイミングでプライマリボリュームに対するスナップショットを取得するためにホスト装置からのスナップショット指示に基づいてプライマリボリューム内の更新されないデータを差分データ又は差分データ群としてプールボリュームに保存する第２保存部とを備えることとした。【選択図】図１６
2008140002.tif 000002
【特許請求の範囲】
【請求項１】
１又は複数の物理記憶領域上に形成される論理ボリュームをマッピングした仮想ボリュームであるプライマリボリュームにホスト装置からのデータを書き込み、当該プライマリボリューム及び当該プライマリボリュームとペア設定された仮想ボリュームであるセカンダリボリュームにおいて多重化する記憶システムにおいて、
前記セカンダリボリュームの記憶領域の一部又は全部を関連付けて動的な保存記憶領域を前記論理ボリュームから供給されるプールボリュームを形成する形成部と、
前記プライマリボリューム内の任意のアドレスに対する前記ホスト装置からデータの書き込み指示により前記プライマリボリュームに当該データを保存して前記プライマリボリュームを更新するために、前記プライマリボリュームに対応する差分データをバックアップデータとして前記プールボリュームに保存する第１保存部と、
所定のタイミングでプライマリボリュームに対するスナップショットを取得するために前記ホスト装置からのスナップショット指示に基づいて前記プライマリボリューム内の更新されないデータを差分データ又は差分データ群として前記プールボリュームに保存する第２保存部と
を備えることを特徴とする記憶システム。
【請求項２】
前記ホスト装置からのデータの書き込み指示に擬似する擬似的な書き込み指示を発生させる発生部を備え、
前記第２保存部は、
前記発生部で発生させた前記擬似的な書き込み指示に基づいて前記プライマリボリューム内の更新されないデータを読み出してプールボリュームに保存する
ことを特徴とする請求項１記載の記憶システム。
【請求項３】
前記発生部は、前記プライマリボリュームの任意のアドレスと、ホスト装置から与えられるデータに擬似する擬似的なデータとから構成される
ことを特徴とする請求項１記載の記憶システム。
【請求項４】
前記第１保存部及び前記第２保存部により保存される前記プールボリュームに前記差分データの書き込む順序を管理する管理部を備える
ことを特徴とする請求項１記載の記憶システム。
【請求項５】
前記ホスト装置からのスナップショット指示に基づいて、前記プライマリボリューム内の全てのデータをミラーボリュームとして読み出し前記プールボリュームに保存する第３保存部を備える
ことを特徴とする請求項１記載の記憶システム。
【請求項６】
１又は複数の物理記憶領域上に形成される論理ボリュームをマッピングした仮想ボリュームであるプライマリボリュームにホスト装置からのデータを書き込み、当該プライマリボリューム及び当該プライマリボリュームとペア設定された仮想ボリュームであるセカンダリボリュームにおいて多重化する記憶システムのデータ管理方法において、
前記セカンダリボリュームの記憶領域の一部又は全部を関連付けて動的な保存記憶領域を前記論理ボリュームから供給されるプールボリュームを形成する形成ステップと、
前記プライマリボリューム内の任意のアドレスに対して前記ホスト装置からデータの書き込み指示により前記プライマリボリュームに当該データを保存して前記プライマリボリュームを更新するために、前記プライマリボリュームに対応する差分データをバックアップデータとして前記プールボリュームに保存する第１保存ステップと、
所定のタイミングでプライマリボリュームに対するスナップショットを取得するために前記ホスト装置からのスナップショット指示に基づいて前記プライマリボリューム内の更新されないデータを差分データ又は差分データ群として前記プールボリュームに保存する第２保存ステップと
を備えることを特徴とするデータ管理方法。
【請求項７】
前記ホスト装置からデータの書き込み指示に擬似する擬似的な書き込み指示を発生させる発生ステップを備え、
前記第２保存ステップは、
前記発生ステップで発生させた前記擬似的な書き込み指示に基づいて前記プライマリボリューム内の更新されないデータを読み出してプールボリュームに保存する
ことを特徴とする請求項６記載のデータ管理方法。
【請求項８】
前記発生ステップは、
前記プライマリボリュームの任意のアドレスと、ホスト装置から与えられるデータに擬似する擬似的なデータとから構成される
ことを特徴とする請求項６記載のデータ管理方法。
【請求項９】
前記第１保存ステップ及び前記第２保存ステップにより保存される前記プールボリュームに前記差分データの書き込む順序を管理する管理ステップを備える
ことを特徴とする請求項６記載のデータ管理方法。
【請求項１０】
前記ホスト装置からのスナップショット指示に基づいて、前記プライマリボリューム内の全てのデータをミラーボリュームとして読み出し前記プールボリュームに保存する第３保存ステップをさらに備える
ことを特徴とする請求項６記載のデータ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、記憶システム及びデータ管理方法に関し、例えばフルバックアップやスナップショットを利用したバックアップを行う記憶システムに適用して好適なものである。
【背景技術】
【０００２】
記憶システムにおいては、ハードディスクドライブが提供する記憶領域に形成される論理的なボリューム（以下、論理ボリュームという）を用いて、データを管理している。
【０００３】
データの管理方法としては、ユーザがデータを読み書きするボリュームのフルバックアップを１日から１週間程度の周期で定期的に実行する方法がある。またもう一つのデータの管理方法としては、ストレージ装置に搭載されたスナップショット機能を用いて、１２時間から１日程度の周期でボリュームのある時点のデータイメージでなるスナップショットを定期的に作成する方法がある。
【０００４】
フルバックアップの作成により得られるバックアップデータと、スナップショットを用いて得られる差分データとは、別々の手法で得られるものである。別々の手法で得られたバックアップデータや差分データを別々に用いることで、ボリュームや当該ボリュームに保存されたデータを復元することができる。
【０００５】
このようにフルバックアップを行う技術と差分データを用いてバックアップを行う技術とを利用するデータ管理方法としては、特許文献１に開示された方法が挙げられる。特許文献１には、予め設定された閾値と差分量とを比較することで、フルバックアップを行うか、差分データを用いてバックアップを行うかの使い分けを記憶システム内で行うデータ管理方法が提案されている。
【特許文献１】特開平７−８４７２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、上記のようにデータをバックアップするためには、フルバックアップを行うためのソフトウェアと、差分データを用いてバックアップを行うためのソフトウェアとを別々に用意しなければならない。それゆえ、例えば初期設定の際や、記憶システムの構成を変更する際には、種類の異なるソフトウェアのそれぞれに基づいて環境を構築する必要がある。
【０００７】
また、両ソフトウェアは独立した別々のソフトウェアのため、フルバックアップにより得られたバックアップデータとスナップショットにより得られた差分データとを組み合わせてデータを復元することはできない。
【０００８】
さらに、このように記憶システムの運用が複雑になるため、円滑に運用できない可能性が高く、管理者の負担も大きくなるという問題が生じる。
【０００９】
そこで、本発明は、フルバックアップとスナップショットを同一の記憶領域内で管理することで、記憶システムの運用を容易にするとともに管理者の負担を軽減し得る記憶システム及びデータ管理方法を提案しようとするものである。
【課題を解決するための手段】
【００１０】
かかる課題を解決するため本発明においては、１又は複数の物理記憶領域上に形成される論理ボリュームをマッピングした仮想ボリュームであるプライマリボリュームにホスト装置からのデータを書き込み、当該プライマリボリューム及び当該プライマリボリュームとペア設定された仮想ボリュームであるセカンダリボリュームにおいて多重化する記憶システムにおいて、前記セカンダリボリュームの記憶領域の一部又は全部を関連付けて動的な保存記憶領域を前記論理ボリュームから供給されるプールボリュームを形成する形成部と、前記プライマリボリューム内の任意のアドレスに対する前記ホスト装置からデータの書き込み指示により前記プライマリボリュームに当該データを保存して前記プライマリボリュームを更新するために、前記プライマリボリュームに対応する差分データをバックアップデータとして前記プールボリュームに保存する第１保存部と、所定のタイミングでプライマリボリュームに対するスナップショットを取得するために前記ホスト装置からのスナップショット指示に基づいて前記プライマリボリューム内の更新されないデータを差分データ又は差分データ群として前記プールボリュームに保存する第２保存部とを備えることを特徴とする。
【００１１】
その結果、フルバックアップとスナップショットを同一の保存記憶領域であるプールボリュームに保存し、記憶システム内で管理することができる。
【００１２】
また、本発明においては、１又は複数の物理記憶領域上に形成される論理ボリュームをマッピングした仮想ボリュームであるプライマリボリュームにホスト装置からのデータを書き込み、当該プライマリボリューム及び当該プライマリボリュームとペア設定された仮想ボリュームであるセカンダリボリュームにおいて多重化する記憶システムのデータ管理方法において、前記セカンダリボリュームの記憶領域の一部又は全部を関連付けて動的な保存記憶領域を前記論理ボリュームから供給されるプールボリュームを形成する形成ステップと、前記プライマリボリューム内の任意のアドレスに対して前記ホスト装置からデータの書き込み指示により前記プライマリボリュームに当該データを保存して前記プライマリボリュームを更新するために、前記プライマリボリュームに対応する差分データをバックアップデータとして前記プールボリュームに保存する第１保存ステップと、所定のタイミングでプライマリボリュームに対するスナップショットを取得するために前記ホスト装置からのスナップショット指示に基づいて前記プライマリボリューム内の更新されないデータを差分データ又は差分データ群として前記プールボリュームに保存する第２保存ステップとを備えることを特徴とする。
【００１３】
その結果、フルバックアップとスナップショットを同一の保存記憶領域であるプールボリュームに保存でき、記憶システム内で管理することができる。
【発明の効果】
【００１４】
本発明によれば、記憶システム内においてバックアップデータと差分データとを整合性のあるデータとして同一の記憶領域内で保存及び管理ができるため、任意のタイミングでバックアップすることができる。
【００１５】
また、記憶システムの容易な運用を実現できるため、管理者の負担を軽減することができる。
【発明を実施するための最良の形態】
【００１６】
以下図面について、本発明の一実施の形態を詳述する。
【００１７】
（１）第１の実施の形態
（１−１）第１の実施の形態による記憶システムの構成
（１−１−１）記憶システムの物理構成
図１において、１は全体として本実施の形態による記憶システムを示す。この記憶システム１は、ホスト装置２がネットワーク３を介してストレージ装置４と接続されることにより構成されている。
【００１８】
ホスト装置２は、ＣＰＵ（Central Processing Unit）やメモリ等の情報処理資源を備えたコンピュータ装置であり、例えばパーソナルコンピュータや、ワークステーション、メインフレームなどから構成される。またホスト装置２は、キーボード、スイッチやポインティングデバイス、マイクロフォン等の情報入力装置（図示せず）と、モニタディスプレイやスピーカ等の情報出力装置（図示せず）とを備える。
【００１９】
ネットワーク３は、例えばＳＡＮ（Storage Area Network）、ＬＡＮ（Local Area Network）、インターネット、公衆回線又は専用回線などから構成される。このネットワーク３を介したホスト装置２及びストレージ装置４間の通信は、例えばネットワーク３がＳＡＮである場合にはファイバーチャネルプロトコルに従って行われ、ネットワーク３がＬＡＮである場合にはＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。
【００２０】
ストレージ装置４は、複数のハードディスクドライブ５０からなるディスクドライブ部５と、複数のハードディスクドライブ５０をＲＡＩＤ（Redundant Array of Independent/Inexpensive Disks）方式で管理するコントローラ６とを備えて構成される。
【００２１】
ハードディスクドライブ５０は、例えばＳＣＳＩ（Small Computer System Interface）ディスク等の高価なディスクドライブ、又はＳＡＴＡ（Serial AT Attachment）ディスクや光ディスクドライブ等の安価なディスクドライブから構成される。
【００２２】
コントローラ６は、複数のチャネルアダプタ７、接続部８、共有メモリ９、キャッシュメモリ１０、複数のディスクアダプタ１１及びサービスプロセッサ１２を備えて構成される。
【００２３】
各チャネルアダプタ７は、図２に示すように、マイクロプロセッサ７０、メモリ７１及び通信インタフェース等を備えたマイクロコンピュータシステムとして構成されており、ネットワーク３に接続するためのポート７２、７３を備える。各チャネルアダプタ７は、ホスト装置２から送信される各種コマンドを解釈して、必要な処理を実行する。各チャネルアダプタ７のポート７２、７３には、それぞれを識別するためのネットワークアドレス（例えば、ＩＰアドレスやＷＷＮ）が割り当てられており、これによりチャネルアダプタ７がそれぞれ個別にＮＡＳ（Network Attached Storage）として振る舞うことができるようになされている。各チャネルアダプタ７のメモリ７１は、ホスト装置２からのライト命令を処理するライト命令処理部７４と、ディスクアダプタ１１から発生する擬似Ｉ／Ｏを再びディスクアダプタ１１へ戻すＩ／Ｏループバック処理部７５とを備える。そして各チャネルアダプタ７は、内部バスアダプタ（図示せず）を介して接続部８と接続されている。
【００２４】
接続部８は、上述したチャネルアダプタ７の他、共有メモリ９、キャッシュメモリ１０及びディスクアダプタ１１と接続されている。チャネルアダプタ７、共有メモリ９、キャッシュメモリ１０及びディスクアダプタ１１間のデータやコマンドの授受は、この接続部８を介して行われる。接続部８は、例えば高速スイッチングによりデータ伝送を行う超高速クロスバススイッチなどのスイッチ又はバス等で構成される。
【００２５】
共有メモリ９は、チャネルアダプタ７及びディスクアダプタ１１により共有される記憶メモリである。共有メモリ９は、主にストレージ装置４の電源投入時にシステムボリュームから読み出されたシステム構成情報及び各種制御プログラムや、ホスト装置２からのコマンドなどを記憶するために利用される。
【００２６】
キャッシュメモリ１０も、チャネルアダプタ７及びディスクアダプタ１１により共有される記憶メモリである。このキャッシュメモリ１０は、主にストレージ装置４に入出力するユーザデータを一時的に記憶するために利用される。
【００２７】
各ディスクアダプタ１１は、図３に示すように、マイクロプロセッサ１１０やメモリ１１１等を備えたマイクロコンピュータシステムとして構成され、ディスクドライブ部５との通信時におけるプロトコル制御を行うインタフェースとして機能する。これらディスクアダプタ１１は、例えばファイバーチャネルケーブルを介して対応するディスクドライブ部５と接続されており、ファイバーチャネルプロトコルに従ってこれらディスクドライブ部５との間のデータの授受を行う。
【００２８】
サービスプロセッサ１２は、ストレージ装置４の保守又は管理のために操作されるコンピュータ装置であり、例えばノート型のパーソナルコンピュータから構成される。このサービスプロセッサ１２は、ネットワーク３を介してホスト装置２が接続されており、ホスト装置２からデータ或いは命令を受信することができる。サービスプロセッサ１２は、ストレージ装置４内の障害発生を監視してディスプレイ画面（図示せず）に表示することができる。
【００２９】
（１−１−２）記憶システムの論理構成
次に、上述の記憶システム１の論理構成について説明する。図４は、記憶システム１におけるホスト装置２と複数のハードディスクドライブ５０との論理的な関係を示した概念図である。
【００３０】
記憶システム１では、複数のハードディスクドライブ５０が提供する記憶領域上に１又は複数の論理ボリュームＬＤＥＶが定義される。
【００３１】
各論理ボリュームＬＤＥＶには、それぞれ固有の識別子（ＬＵＮ：Logical Unit Number）が割り当てられる。本実施の形態の場合、データの入出力は、この識別子と、各ブロックにそれぞれ割り当てられるそのブロックに固有の番号（ＬＢＡ：Logical Block Address）との組み合わせたものをアドレスとして、当該アドレスを指定して行われる。
【００３２】
また、差分データＰ１〜Ｐｎのデータ量に応じて、複数のハードディスクドライブ５０が提供する記憶領域から動的に供給されるプールボリュームＰＬが定義される。
【００３３】
さらに、記憶システム１では、ホスト装置２がアクセスするために論理ボリュームＬＤＥＶをマッピングした仮想ボリュームが定義される。仮想ボリュームＬＵには、実ボリュームである論理ボリュームＬＤＥＶをそのままマッピングした仮想ボリュームＬＵと、論理ボリュームＬＤＥＶ及びプールボリュームＰＬをマッピングした仮想ボリュームＬＵと、がある。
【００３４】
仮想ボリュームＬＵとしては、プライマリボリュームＰＶＯＬとセカンダリボリュームＳＶＯＬとがある。セカンダリボリュームＳＶＯＬは、プライマリボリュームＰＶＯＬのバックアップ用として用いられる仮想ボリュームＬＵである。万一、プライマリボリュームＰＶＯＬに障害が発生しても、セカンダリボリュームＳＶＯＬを用いてプライマリボリュームＰＶＯＬを速やかに再生することができる。
【００３５】
本実施の形態では、プールボリュームＰＬをセカンダリボリュームＳＶＯＬに関連付けられる動的な論理ボリュームとしている。したがって、プールボリュームＰＬは、プライマリボリュームＰＶＯＬをバックアップするための保存記憶領域として用いられる。詳しくは、プールボリュームＰＬには、プライマリボリュームＰＶＯＬ内で所定のタイミングで取得されたデータに対応するビットマップの差分データＰ１〜Ｐｎが保存される。
【００３６】
このように構成された記憶システム１では、ホスト装置２が仮想ボリュームＬＵにアクセスすると、当該仮想ボリュームＬＵと関連付けられた論理ボリュームＬＤＥＶに、ホスト装置２からのデータが所定の大きさのブロック単位として読み書きする。
【００３７】
（１−２）本実施の形態におけるバックアップ機能及びスナップショット機能
次に、記憶システム１内のストレージ装置４に搭載されたバックアップ機能及びスナップショット機能について説明する。
【００３８】
この記憶システム１は、プライマリボリュームＰＶＯＬの任意のアドレスにホスト装置２からのデータ又はディスクアダプタ１１から発生する擬似的なデータ（以下、これを擬似データと呼ぶ）を書き込むとともに、そのアドレスに予め書き込まれていたデータをバックアップデータＰＤとして、プライマリボリュームＰＶＯＬの保存記憶領域であるプールボリュームＰＬにバックアップして保存できることを特徴としている。また、この記憶システム１は、かかるバックアップデータＰＤが、差分データＰ１〜Ｐｎ、差分データ群である擬似差分データＰＳ１〜ＰＳｎ又はミラーボリュームＰＭであることも特徴としている。
【００３９】
本実施の形態によるバックアップ機能とは、ホスト装置２からＩ／Ｏが送信されると、記憶システム１がプライマリボリュームＰＶＯＬの任意のアドレスに予め保存されているデータを追い出して当該データをプールボリュームＰＬに保存する機能をいう。したがって、プールボリュームＰＬにバックアップとして保存されるデータは、最新データより１つ古いデータ（旧データ）である。ホスト装置２からの最新のデータは、プライマリボリュームＰＶＯＬの任意のアドレスに形成した空き領域に保存される。
【００４０】
なお、ホスト装置からのＩ／Ｏとは、ホスト装置２からの読み書き要求及び当該読み書き要求に伴って入出力されるデータをいう。本実施の形態におけるバックアップ処理は、ホスト装置２からの書き込み要求及び当該書き込み要求に伴って出力されるデータについて述べる。また、本実施の形態におけるリストア処理は、ホスト装置２からの読み出し要求及び当該読み出し要求に伴って入力されるデータについて述べる。
【００４１】
また本実施の形態のスナップショット機能とは、記憶システム１がホスト装置２からスナップショット指示を受領すると、その時刻におけるプライマリボリュームＰＶＯＬの記憶領域のデータを、セカンダリボリュームＳＶＯＬの保存記憶領域であるプールボリュームＰＬにコピーすることによって、レプリケーションを作成する機能である。記憶システム１では、定期的にスナップショット機能を実行することにより、データのレプリケーションを間欠的に取得することが可能である。
【００４２】
（１−２−１）ディスクアダプタの処理内容
上記の特徴を実現する手段として、図３に示すように、ストレージ装置４のディスクアダプタ１１のメモリ１１１には、ホスト装置２からのＩ／Ｏ又はディスクアダプタ１１で発生させる擬似Ｉ／Ｏを処理するデータ処理部１１２が設けられている。
【００４３】
なお擬似Ｉ／Ｏとは、ホスト装置２からの読み書き要求及び当該読み書き要求に伴って入出力されるデータに見せかけるように擬似するものであって、ディスクアダプタ１１から発生する擬似的な読み書き要求及び当該擬似的な読み書き要求に伴って入出力される擬似的なデータをいう。本実施の形態におけるバックアップ処理は、ディスクアダプタ１１から発生する擬似的な書き込み要求及び当該擬似的な書き込み要求に伴って出力される擬似的なデータについて述べる。また、本実施の形態におけるリストア処理は、ディスクアダプタ１１から発生する擬似的な読み出し要求及び当該擬似的な読み出し要求に伴って入力される擬似的なデータについて述べる。
【００４４】
データ処理部１１２には、差分ビットマップ１１３、ミラー用差分ビットマップ１１４、プール領域管理テーブル１１５、世代管理テーブル１１６、バックアッププログラム１１７及び擬似Ｉ／Ｏ発生プログラム１１８が保存されている。
【００４５】
差分ビットマップ１１３は、図５に示すように、プライマリボリュームＰＶＯＬ内に保存されるそれぞれのデータと対応した「０」及び「１」配置とし、差分データＰ１〜Ｐｎを管理するためのテーブルである。
【００４６】
例えば、あるデータがプライマリボリュームＰＶＯＬからセカンダリボリュームＳＶＯＬの保存記憶領域であるプールボリュームＰＬにバックアップされた場合には、当該保存後に、差分データＰ１〜Ｐｎが更新済であるとして「１」を表示する。「０」から「１」への更新は、図５に示すように、差分ビットマップ１１３上の左上から順に行われる。
【００４７】
一方、あるデータがプライマリボリュームＰＶＯＬからプールボリュームＰＬにバックアップされていない場合には、差分データＰ１〜Ｐｎが未更新であるとして「０」を表示する。したがって差分ビットマップ１１３上に「１」表示が多い場合には、プライマリボリュームＰＶＯＬのデータの更新が多いことを示し、「０」表示が多い場合には、プライマリボリュームＰＶＯＬのデータの更新が少ないことを示している。
【００４８】
ミラー用差分ビットマップ１１４は、図５に示すように、プライマリボリュームＰＶＯＬ内に保存されるそれぞれのデータと対応した「０」及び「１」配置とし、全てのデータを管理するためのテーブルである。「０」及び「１」表示方法は、上述した差分ビットマップ１１３と同様なので、説明は省略する。
【００４９】
プール領域管理テーブル１１５は、図６に示すように、プールボリュームＰＬ内にバックアップされるバックアップデータＰＤを管理するテーブルである。プール領域管理テーブル１１５は、「シーケンス番号」フィールド１１５Ａ、「アドレス」フィールド１１５Ｂ及び「データ」フィールド１１５Ｃから構成される。
【００５０】
「シーケンス番号」フィールド１１５Ａには、プライマリボリュームＰＶＯＬからプールボリュームＰＬへ順次データがバックアップされる処理番号が保存される。このシーケンス番号は、データの書き込み順序を守るためにある。したがってシーケンス番号が小さいほど、書き込み順序が早いため古いデータが保存され、シーケンス番号が大きいほど新しいデータが保存されることとなる。
【００５１】
「アドレス」フィールド１１５Ｂには、プライマリボリュームＰＶＯＬ上のアドレスが保存される。
【００５２】
「データ」フィールド１１５Ｃには、プライマリボリュームＰＶＯＬからプールボリュームＰＬへバックアップされるバックアップデータＰＤが保存される。
【００５３】
例えばプール領域管理テーブル１１５において、「シーケンス番号」フィールド１１５Ａが「３」の場合には、プールボリュームＰＬ内へのバックアップ処理を３番目に行ったことを示す。このときのバックアップデータＰＤは、プライマリボリュームＰＶＯＬ上のアドレス「０ｘ３２１４」のデータ「ＣＣＣＣＣ」である。したがって、シーケンス番号が大きいほど直近のバックアップ処理であることを示す。
【００５４】
なお、プール領域管理テーブル１１５にデータの更新時間を管理する「更新時間」フィールドを更に設けて、シーケンス番号とともにデータの書き込み順序を管理しても良い。
【００５５】
世代管理テーブル１１６は、図７に示すように、スナップショットの指示によってプライマリボリュームＰＶＯＬからプールボリュームＰＬにバックアップするデータの世代を管理するテーブルである。
【００５６】
ここでデータの世代とは、何回目かのスナップショット指示によるプライマリボリュームＰＶＯＬ内のデータを示すものである。例えば、１回目のスナップショットの指示をホスト装置２から受領した場合には、１回目の指示時点でのプライマリボリュームＰＶＯＬ内のデータは１世代目のデータであることを示す。同様に、２回目・・・Ｎ回目のスナップショットの指示をホスト装置２から受領した場合には、当該指示に該当する時点でのプライマリボリュームＰＶＯＬ内のデータは２世代目・・・Ｎ世代目のデータであることを示す。
【００５７】
また世代管理テーブル１１６は、「世代番号」フィールド１１６Ａ、「シーケンス番号」フィールド１１６Ｂとから構成される。
【００５８】
「世代番号」フィールド１１６Ａには、スナップショットの指示によってプライマリボリュームＰＶＯＬからプールボリュームＰＬにバックアップするデータの世代番号が保存されている。
【００５９】
「シーケンス番号」１１６Ｂには、プライマリボリュームＰＶＯＬからプールボリュームＰＬへ順次データをバックアップする処理番号が保存される。
【００６０】
（１−２−２）プールボリュームの構成
本実施の形態におけるプールボリュームＰＬはセカンダリボリュームＳＶＯＬの保存記憶領域としての役割を果たすものである。したがってプールボリュームＰＬには、プライマリボリュームＰＶＯＬのデータをバックアップしたバックアップデータＰＤが保存される。図８に示すように、バックアップデータＰＤには、差分データＰ１〜Ｐｎ、擬似差分データＰＳ１〜ＰＳｎ及びミラーボリュームＰＭがある。
【００６１】
差分データＰ１〜Ｐｎは、任意の時刻におけるプライマリボリュームＰＶＯＬの任意のアドレスに保存されているデータを差分データＰ１〜ＰｎとしてプールボリュームＰＬに保存されるバックアップデータＰＤである。
【００６２】
具体的な差分データＰ１を図９に示す。プール領域に保存される差分データとしては、プライマリボリュームＰＶＯＬ上のアドレスＰ１ＡとプライマリボリュームＰＶＯＬの差分データＰ１Ｄとがある。
【００６３】
擬似差分データＰＳ１〜ＰＳｎは、プライマリボリュームＰＶＯＬに対応した差分ビットマップ１１３上又はミラー用差分ビットマップ１１４上に配置されるデータを更新しても、なおデータの未更新部分がある場合に、当該未更新部分を擬似差分データＰＳ１〜ＰＳｎとして、プールボリュームＰＬに保存されるバックアップデータＰＤである。
【００６４】
図１０に、擬似差分データＰＳ１〜ＰＳｎを説明する上での概念図を示す。
【００６５】
ディスクアダプタ１１のマイクロプロセッサ１１０は、プライマリボリュームＰＶＯＬに対応した差分ビットマップ１１３上又はミラー用差分ビットマップ１１４上でデータの未更新部分を検索して検出すると、未更新部分のアドレスに向けて擬似Ｉ／Ｏを送信する。これは、上述したバックアップ機能を利用するものである。通常は、ホスト装置２からのＩ／Ｏをプライマリボリュームの任意のアドレスに向けて送信することで、予めプライマリボリュームＰＶＯＬに保存されているデータをプールボリュームＰＬへ移行させる。しかし、ストレージ装置４内にあるディスクアダプタ１１から発生させる擬似Ｉ／ＯをプライマリボリュームＰＶＯＬの任意のアドレスに向けて送信することで、データの未更新部分が多い場合には、ホスト装置２からデータを送信する回数を削減することができる。これは、プライマリボリュームＰＶＯＬ内での未更新であるデータを擬似差分データＰＳ１〜ＰＳｎとしてプールボリュームＰＬに保存させて、当該未更新部分であった領域に最新のデータを保存させるためである。したがってプールボリュームＰＬには、最新のデータより１つ古いデータが擬似データとして保存されることになる。
【００６６】
ここで図１０に示すように、ディスクアダプタ１１から発生する擬似Ｉ／Ｏは、プライマリボリュームＰＶＯＬ内の任意アドレスＰＡｎと、適当なデータＦＤｎとから構成される。
【００６７】
擬似データＦＤｎは、プライマリボリュームＰＶＯＬ内の任意のアドレスに予め保存されるデータを追い出すためだけの役割を果たせばよいため、どのようなデータでも良い。
【００６８】
そうしてディスクアダプタ１１のマイクロプロセッサ１１０は、図１０に示すように、プライマリボリュームＰＶＯＬ上のアドレスと、未更新部分のデータをバックアップした擬似差分データをセカンダリボリューム内に保存する。
【００６９】
（１−２−３）記憶システムの動作概要
次に、本実施の形態の記憶システム１の動作概要を説明する。
【００７０】
まず、本実施の形態におけるバックアップ機能及びスナップショット機能が無効であり、ホスト装置２からＩ／Ｏが送信された場合について、説明する。
【００７１】
図１１に示すように、ホスト装置から送信されるＩ／Ｏがストレージ装置４のチャネルアダプタ７の１つのポート７２に入ると（［１］）、チャネルアダプタ７のマイクロプロセッサ７０がデータを受信する（［２］）。チャネルアダプタ７のマイクロプロセッサ７０は、ライト命令処理部７４を介して（［３］）、ディスクアダプタ１１へデータを送信する（［４］）。
【００７２】
データを受信したディスクアダプタ１１のマイクロプロセッサ１１０は、データ処理部１１２内のバックアッププログラム１１７を参照して、バックアップ機能及びスナップショット機能が有効であるか又は無効であるかを確認する（［５］）。ディスクアダプタ１１のマイクロプロセッサ１１０は、バックアップ機能及びスナップショット機能が無効であると確認すると、受信したデータをプライマリボリュームＰＶＯＬの任意のアドレスに書き込む（［６］）。
【００７３】
次に、本実施の形態におけるバックアップ機能及びスナップショット機能が有効であり、ディスクアダプタ１１から擬似Ｉ／Ｏを発生させる場合について説明する。
【００７４】
図１２に示すように、ディスクアダプタ１１のマクロプロセッサ１１０は、プライマリボリュームＰＶＯＬに対応する差分ビットマップ１１３又はミラー用差分ビットマップ１１４を参照して、データの未更新部分を認識すると、擬似Ｉ／Ｏ発生プログラムを起動させて、擬似Ｉ／Ｏを発生させる（［１］）。
【００７５】
ディスクアダプタ１１のマクロプロセッサ１１０は、発生させた擬似Ｉ／Ｏをチャネルアダプタに送信する（［２］）。
【００７６】
擬似Ｉ／Ｏを受信したチャネルアダプタ７のマイクロプロセッサ７０は、Ｉ／Ｏループバック処理部７５において、擬似Ｉ／Ｏをチャネルアダプタ７内で一巡する処理を実行させる（［３］）。
【００７７】
具体的には図１３に示すように、Ｉ／Ｏループバック処理部７５は、２つのチャネルアダプタ７Ａ、７Ｂを想定させ、当該２つのチャネルアダプタ７Ａ、７Ｂ内を擬似Ｉ／Ｏが移行することで、一巡する処理を構築させている。
【００７８】
一巡する処理を構築する動作は、次の通りである。チャネルアダプタ７Ａのマイクロプロセッサ７０Ａは、ディスクアダプタ１１からの擬似Ｉ／Ｏを受信すると、ポート７２Ａを介して、他のチャネルアダプタ７Ｂに擬似Ｉ／Ｏを送信する。そうして、他のチャネルアダプタ７Ｂのマイクロプロセッサ７０Ｂが擬似Ｉ／Ｏを他のチャネルアダプタ７Ｂのポート７２Ｂを介して受信すると、そのままディスクアダプタ１１に擬似Ｉ／Ｏを送信する（［４］）。
【００７９】
このように、チャネルアダプタ７のマイクロプロセッサ７０は、チャネルアダプタのＩ／Ｏループバック処理部７５で、擬似Ｉ／Ｏを一巡させている。
【００８０】
ディスクアダプタ１１のマイクロプロセッサ１１０は、擬似Ｉ／Ｏを受信すると、差分ビットマップ１１３又はミラー用差分ビットマップ１１４のどちらを使用するか判断して、使用するビットマップを選択する（［５］）。そして、ディスクアダプタ１１のマイクロプロセッサ１１０は、バックアッププログラム１１７を参照し、バックアップ機能及びスナップショット機能が有効であることを確認する（［６］）。
【００８１】
ディスクアダプタ１１のマイクロプロセッサ１１０は、差分ビットマップ１１３上又はミラー用差分ビットマップ１１４上で未更新のデータがある場合には、擬似Ｉ／ＯをプライマリボリュームＰＶＯＬの任意のアドレスに送信して、プライマリボリュームＰＶＯＬの任意のアドレスからデータを読み出して取得する（［７］）。
【００８２】
そして、ディスクアダプタ１１のマイクロプロセッサ１１０は、プールボリュームＰＬ内に当該データをバックアップデータＰＤして保存する（［８］）。このとき、ディスクアダプタ１１のマイクロプロセッサ１１０は、差分ビットマップ１１３上又はミラー用差分ビットマップ１１４上にある未更新部分を更新済にする。
【００８３】
（１−２−４）マイクロプロセッサの処理内容
この記憶システム１の動作概要中、ディスクアダプタ１１のマイクロプロセッサ１１０が、ホスト装置２からのＩ／Ｏ又はディスクアダプタ１１から発生させる擬似Ｉ／Ｏを受信した場合の処理の違いについて説明する。この処理は、ディスクアダプタ１１のマイクロプロセッサ１１０がバックアッププログラム１１７に基づいて実行する。なお、この処理は、マイクロプロセッサ１１０がミラー用差分ビットマップ１１４を使用する場合について説明するが、差分ビットマップ１１３を使用する場合も同様の処理を行うものとする。
【００８４】
まず、図１４に示すように、ディスクアダプタ１１のマイクロプロセッサ１１０が、ホスト装置からのＩ／Ｏ又はディスクアダプタ１１から発生させる擬似Ｉ／Ｏをチャネルアダプタ７から受信することで、処理を開始する（ＳＰ０）。
【００８５】
次に、ディスクアダプタ１１のマイクロプロセッサ１１０は、ミラー用差分ビットマップ１１４が未更新であるか否かを判断する（ＳＰ１）。
【００８６】
そして、未更新であると判断すると（ＳＰ１：ＹＥＳ）、ディスクアダプタ１１のマイクロプロセッサ１１０は、ミラー用差分ビットマップ１１４を更新済にする（ＳＰ２）。その後、ディスクアダプタ１１のマイクロプロセッサ１１０は、プライマリボリュームＰＶＯＬからデータを読み出して取得すると（ＳＰ３）、読み出したデータをバックアップデータＰＤとしてミラー用ボリュームに書き込む（ＳＰ４）。
【００８７】
一方、ディスクアダプタ１１のマイクロプロセッサ１１０は、ステップＳＰ１においてミラー用差分ビットマップ１１４が未更新ではなく更新済であると判断すると（ＳＰ１：ＮＯ）、次のステップＳＰ５の処理を行う。
【００８８】
その後、ディスクアダプタ１１のマイクロプロセッサ１１０は、ホスト装置からＩ／Ｏが送信された否かを判断し（ＳＰ５）、ホスト装置からのＩ／Ｏであると判断すると（ＳＰ５：ＹＥＳ）、ホスト装置からの最新のデータをプライマリボリュームに書き込んで（ＳＰ６）、この処理を終了する（ＳＰ７）。
【００８９】
一方、ディスクアダプタ１１のマイクロプロセッサ１１０は、ホスト装置からのＩ／Ｏではなく擬似Ｉ／Ｏであると判断すると（ＳＰ５：ＮＯ）、そのままこの処理を終了する（ＳＰ７）。
【００９０】
（１−２−５）擬似Ｉ／Ｏ発生処理
次に、ディスクアダプタ１１から擬似Ｉ／Ｏを発生させる処理について説明する。この処理は、ディスクアダプタ１１のマイクロプロセッサ１１０が擬似Ｉ／Ｏ発生プログラム１１８に基づいて処理を実行する。
【００９１】
まず、図１５に示すように、ディスクアダプタ１１のマイクロプロセッサ１１０は、上述した記憶システム１の動作概要中において、プライマリボリュームに対応する差分ビットマップ１１３又はミラー用差分ビットマップ１１４を使用する場合に、この処理を開始する（ＳＰ１０）。
【００９２】
ディスクアダプタ１１のマイクロプロセッサ１１０は、差分ビットマップ１１３上又はミラー用差分ビットマップ１１４上にある先頭アドレスから１つずつアドレスを選択する（ＳＰ１１）。
【００９３】
次に、ディスクアダプタ１１のマイクロプロセッサ１１０は、差分ビットマップ１１３上又はミラー用差分ビットマップ１１４上にある選択後のアドレスが未更新部分のデータか否かを判断する（ＳＰ１２）。すなわち、ディスクアダプタ１１のマイクロプロセッサ１１０は、差分ビットマップ１１３上又はミラー用差分ビットマップ１１４上にある選択後のアドレスが「０」か「１」か、を判断する。
【００９４】
ディスクアダプタ１１のマイクロプロセッサ１１０は、差分ビットマップ１１３上又はミラー用差分ビットマップ１１４上にある選択後のアドレスが未更新部分のデータであると判断すると（ＳＰ１２：ＹＥＳ）、当該選択後のアドレスに向けて擬似Ｉ／Ｏを送信する（ＳＰ１３）。未更新部分のデータをプライマリボリューム上から追い出し、空き領域を作成するためである。
【００９５】
一方、ステップＳＰ１２において、ディスクアダプタ１１のマイクロプロセッサ１１０は、差分ビットマップ１１３上又はミラー用差分ビットマップ１１４上にある選択後のアドレスが未更新部分のデータはないと判断すると（ＳＰ１２：ＮＯ）、ステップＳＰ１４の処理に進む。
【００９６】
ディスクアダプタ１１のマイクロプロセッサ１１０は、差分ビットマップ１１３上又はミラー用差分ビットマップ１１４上にあるアドレスを最後まで選択したか否かを判断する（ＳＰ１４）。
【００９７】
ディスクアダプタ１１のマイクロプロセッサ１１０は、差分ビットマップ１１３上又はミラー用差分ビットマップ１１４上にあるアドレスを最後まで選択していないと判断すると（ＳＰ１４：ＮＯ）、ステップＳＰ１１に戻り、次のアドレスを選択する。
【００９８】
一方、ディスクアダプタ１１のマイクロプロセッサ１１０は、差分ビットマップ１１３上又はミラー用差分ビットマップ１１４上にあるアドレスを最後まで選択したと判断すると（ＳＰ１４：ＹＥＳ）、対象となる全ての未更新部分のデータに対して擬似Ｉ／Ｏを送信し、プライマリボリューム内にある未更新部分のデータを読み出したことになるため、この処理を終了する（ＳＰ１５）。
【００９９】
特に、ディスクアダプタ１１のマイクロプロセッサ１１０がミラー用差分ビットマップ１１４を選択して使用する場合においては、当該ビットマップの左上にあるアドレスに向けて擬似Ｉ／Ｏを送信し、ミラー用差分ビットマップ１１４上にある全ての未更新部分のデータを更新済にする。
【０１００】
（１−２−６）バックアップ処理
次に、上述した各種テーブルや動作概要を用いて、プライマリボリュームＰＶＯＬに保存されるデータがどのようにプールボリュームＰＬにバックアップされるのかについて、この記憶システム１での一連のバックアップ処理を説明する。
【０１０１】
図１６には、ホスト装置２からのＩ／Ｏ、ホスト装置２からのスナップショット指示及びディスクアダプタ１１から発生する擬似Ｉ／Ｏの時系列を縦軸ｔに示し、この時系列に対応するように、プライマリボリュームＰＶＯＬ及びプールボリュームＰＬの概念図が示されている。
【０１０２】
まず、ホスト装置２からのＩ／Ｏが送信されていて、スナップショット指示がされていない場合には（ｔ１〜ｔ４）、図１１で説明をした記憶システム１の動作順番（［１］〜［６］）を経て、プライマリボリュームＰＶＯＬにホスト装置２からのデータが書き込まれる。
【０１０３】
そして任意のタイミングでホスト装置２が１世代目のスナップショット指示を出すと（ｔ５）、ディスクアダプタ１１のマイクロプロセッサ１１０はプールボリュームＰＬを初期化する。プールボリュームＰＬを初期化するとは、図１７（Ａ）に示すように、プール領域管理テーブル１１５及び世代管理テーブル１１６を初期化することである。そうしてプライマリボリュームＰＶＯＬ内のデータに関してバックアップ処理を開始する。
【０１０４】
その後、ホスト装置２はプライマリボリュームＰＶＯＬの任意のアドレスに対してＩ／Ｏを送信すると（ｔ６〜ｔ８）、この記憶システム１のバックアップ機能及びスナップショット機能を用いて、予めプライマリボリュームＰＶＯＬに保存されているデータを読み出し、当該データを差分データＰ１〜ＰｎとしてプールボリュームＰＬに保存する。図１７（Ｂ）に示すように、プール領域管理テーブル１１５には、例えばｔ６時点で取得した差分データＰ１が保存される。
【０１０５】
引き続き、ホスト装置２は２世代目のスナップショット指示を出すと（ｔ９）、プライマリボリュームＰＶＯＬに保存される全てのデータをバックアップするために、ディスクアダプタ１１は擬似Ｉ／Ｏを送信する（ｔ１０〜ｔ１３）。プライマリボリュームＰＶＯＬのデータは、予めｔ６〜ｔ８時点で差分データＰ６〜Ｐ８としてプールボリュームＰＬに保存しているため、ここでは、プライマリボリュームＰＶＯＬのデータのうち、未更新部分のデータを擬似差分データＰＳ１〜ＰＳｎとして保存する。擬似Ｉ／Ｏの発生は、ストレージ装置４内だけでバックアップの処理を行えるため、ホスト装置２からＩ／Ｏを送信するよりもバックアップ効率が向上する。
【０１０６】
図１７（Ｃ）に示すように、ｔ１０〜ｔ１３時点で取得した擬似差分データが差分データ群Ｐ１０〜Ｐ１３としてプール領域管理テーブル１１５に保存される。ｔ１０〜ｔ１３時点は、未だ１回目のバックアップ処理が完了していないため、１世代目のバックアップデータＰＤである。図１６では、１世代目のバックアップデータＰＤは、世代が「１」でシーケンス番号が「７」であるが、世代管理テーブル１１６の「世代番号」フィールド１１６Ａには、次の世代番号を入れるため、世代番号として「２」及び１世代目最後の擬似差分データであるシーケンス番号「７」を世代管理テーブル１１６に保存することとなる。
【０１０７】
そうして１回目のバックアップが完了すると、ディスクアダプタ１１は１世代目のバックアップデータを取得することが出来る。図１７（Ｃ）に示すように１世代目のバックアップデータの範囲は、シーケンス番号が１〜７までとなる。
【０１０８】
このように、差分データＰ１〜Ｐ３及び擬似差分データである差分データＰ４〜Ｐ７をプールボリュームに保存することは、結果として１世代目のプライマリボリュームＰＶＯＬの全データをバックアップすることとなる。
【０１０９】
引き続き、ｔ１３〜ｔ１７時点では、ホスト装置２から送信されるＩ／Ｏに伴い、プライマリボリュームＰＶＯＬに保存されるデータが差分データＰ１３〜Ｐ１７としてプールボリュームＰＬに保存される。
【０１１０】
ホスト装置は３世代目のスナップショット指示を出すと（ｔ１８）、ｔ１９〜ｔ２２時点で、ディスクアダプタ１１は、擬似Ｉ／Ｏを発生させてプールボリュームＰＬ内に擬似差分データを差分データ群Ｐ１９〜Ｐ２２として保存する。このとき、ホスト装置２からのＩ／Ｏが送信された場合には（ｔ２３）、ディスクアダプタ１１は、差分データとしてプールボリュームＰＬ内に保存する。ｔ２４〜ｔ２７時点で、ディスクアダプタ１１は、擬似Ｉ／Ｏを発生させてプールボリューム内に擬似差分データを差分データ群Ｐ２４〜Ｐ２７として保存する。
【０１１１】
そうして２回目のバックアップが完了すると、ディスクアダプタ１１は、２世代目のバックアップデータを取得することができる。図１７（Ｄ）に示すように２世代目のバックアップデータの範囲は、シーケンス番号が８〜２７までとなる。
【０１１２】
同様に、引き続き３世代目のバックアップデータを取得することができる。
【０１１３】
本実施の形態においては、ホスト装置２からスナップショット指示をプライマリボリュームに与える毎に未更新部分のデータのみを擬似差分データＰＳ１〜ＰＳｎとしてプールボリュームＰＬへ保存したが、全てのデータが予め保存されているプライマリボリュームＰＶＯＬをミラーボリュームＰＭとしてプールボリュームＰＬへ保存してもよい。
【０１１４】
もちろん、ミラーボリュームＰＭとしてプールボリュームＰＬへ保存するという記憶システム１の運用を、差分データ及び擬似差分データをプールボリュームＰＬへ保存する運用と並行して行ってもよい。
【０１１５】
ミラーボリュームＰＭとしてプールボリュームＰＬへ保存する場合も、上述と同様に、擬似Ｉ／Ｏを発生させて全てのデータを移行させることで、バックアップが完了する。
【０１１６】
ディスクアダプタ１１からの擬似Ｉ／Ｏに基づいてバックアップデータＰＤがプールボリュームＰＬに保存されている際にホスト装置２からのＩ／Ｏが送信された場合には、ホスト装置からのＩ／Ｏ又は擬似Ｉ／Ｏのどちらを優先してプールボリュームＰＬに保存しても良い。バックアップ効率を向上させるのであれば、擬似Ｉ／Ｏを優先してバックアップデータＰＤを保存させればよい。
【０１１７】
（１−２−７）リストア処理
次に、バックアップ処理によりプライマリボリュームＰＶＯＬに保存されたバックアップデータＰＤをプライマリボリュームＰＶＯＬに任意の時点でリストアする処理について説明をする。上述した各種テーブルや動作概要を用いて、プライマリボリュームＰＶＯＬに保存されるデータがどのようにプールボリュームＰＬにバックアップされるのかについて、この記憶システム１での一連のバックアップ処理を説明する。なお、バックアップデータＰＤとして差分データＰ１〜Ｐｎを用いて説明する。
【０１１８】
図１８に示すように、例えば、２世代目のデータの範囲をプールボリュームＰＬからプライマリボリュームＰＶＯＬにリストアする場合について説明する。
【０１１９】
図１９に示すように、差分データＰ１〜Ｐｎは、プール領域管理テーブル１１５及び世代管理テーブル１１６で管理されている。世代管理テーブル１１６から、２世代目はシーケンス番号７の直後であることがわかるため、２世代目のデータの範囲は、シーケンス番号８から２１までということがわかる。また、シーケンス番号はデータの書き込み順序を示すため、リストアする場合には、新たしいデータから古いデータへと復元しなければならない。したがって、リストアする順序としては、シーケンス番号が２１から順に８までの差分データＰ８〜Ｐ２１をリストアすればよいこととなる。
【０１２０】
このリストアをする際に、図２０に示すように、予めプールボリュームＰＬ内に保存するバックアップデータＰＤをグループ分けして保存することも可能である。
【０１２１】
例えば、予めユーザがプールボリュームＰＬ内に障害グループＧ１、Ｇ２を設定する。１つの障害グループＧ１には、差分データＰ１〜Ｐｎ及び擬似差分データＰＳ１〜ＰＳｎを保存し、もう１つの障害グループＧ２には、ミラーボリュームＰＭを保存する。このように保存することで、プライマリボリュームＰＶＯＬ、障害グループＧ１及び障害グループＧ２のいずれかが破損した場合にも、他の２つのうちいずれか１つをリストアすれば、破損したデータを復元することができる。具体的には、プライマリボリュームＰＶＯＬに障害が生じて、当該ボリュームＰＶＯＬ内のデータが破損した場合に、障害グループＧ１、Ｇ２のうち、いずれか１つの障害グループ内のバックアップデータＰＤをリストアすることで、プライマリボリュームＰＶＯＬを復元することができる。
【０１２２】
このようにプールボリュームＰＬに保存された差分データＰ１〜Ｐｎ及び擬似差分データＰＳ１〜ＰＳｎを使用すれば、プライマリボリュームＰＶＯＬを復元することができるため、差分データＰ１〜Ｐｎ及び擬似差分データＰＳ１〜ＰＳｎは、プライマリボリュームＰＶＯＬに予め保存された任意の時点における全てのデータであることがいえる。
【０１２３】
（１−３）第１の実施の形態の効果
本実施の形態によれば、記憶システムのプールボリューム内において、バックアップデータである差分データ、擬似差分データ及びミラーボリュームを整合性のあるデータとして保存及び管理ができ、任意のタイミングでバックアップ処理及びリストア処理を行うことができる。
【０１２４】
（２）第２の実施の形態
図２１において、２００は全体として本実施の形態による記憶システムを示す。
【０１２５】
本形態による記憶システム２００は、図１との対応部分に同一符号を付した図２１に示すように、第１の実施の形態のストレージ装置４に複数のテープ１５０を備えたテープライブラリ装置１５を接続した構成である。テープライブラリ装置１５の複数テープ１５０は、外部記録媒体である。
【０１２６】
なお、その他の構成は、第１の実施の形態による記憶システム１の構成と同様なので、説明を省略する。また、第１の実施の形態と同様の構成には、同じ符号を付す。
【０１２７】
第１の実施の形態のプールボリュームＰＬに保存されたバックアップデータＰＤを長期に保管するために、テープライブラリ装置１５に更にバックアップする処理を説明する。
【０１２８】
図２２に示すように、ディスクアダプタ１１は、第１の実施の形態のプールボリュームＰＬに保存された全てのバックアップデータをテープライブラリ装置１５に転送し、テープ１５に複製する。併せて、ディスクアダプタ１１は、プール領域管理テーブル１１５及び世代管理テーブル１１６もテープライブラリ装置１５に転送する。プール領域管理テーブル１１５及び世代管理テーブル１１６は、テープライブラリ装置１５内で管理される。
【０１２９】
なお、プールボリュームにバックアップデータＰＤを保存する処理は第１の実施の形態で説明したので、省略する。
【０１３０】
テープライブラリ装置１５のテープ１５０に複製されたバックアップデータをリストアする場合は、テープライブラリ装置１５で管理されたプール領域管理テーブル１１５及び世代管理テーブル１１６と、バックアップデータとから該当する世代のデータの論理ボリュームを作成し、プライマリボリュームに当該ボリュームを複製する。
【０１３１】
本実施の形態の記憶システムによれば、第１の実施の形態における効果に加えて、プールボリュームのバックアップデータの種類を意識せずに外部記録媒体へ複製することができる。また、バックアップデータを管理する各種テーブルも外部記録媒体に複製するため、外部記録媒体のデータのみで、所望のデータを復元することができる。
【０１３２】
（３）第３の実施の形態
図２３において、３００は全体として本実施の形態による記憶システムを示す。
【０１３３】
本実施の形態による記憶システム３００は、図１との対応部分に同一符号を付した図２３に示すように、ストレージ装置４´のチャネルアダプタ７からネットワーク１６を介して外部記憶装置１７を接続した構成である。外部記憶装置１７には、外部ボリューム１７０が備えられている。
【０１３４】
本実施の形態によるストレージ装置４´には、プールボリュームＰＬ´が形成されている。そしてプールボリュームＰＬ´には、差分データＰ１〜Ｐｎの関連するデータとしてメタデータＰＭ１〜ＰＭｎが更に保存されている。メタデータＰＭ１〜ＰＭｎは、差分データＰ１〜Ｐｎの作成日時、作成者及びデータ形式等のデータのことをいう。
【０１３５】
なお、その他の構成は、第１の実施の形態による記憶システム１の構成と同様なので、説明を省略する。また、第１の実施の形態と同様の構成には、同じ符号を付す。
【０１３６】
本実施の形態のプールボリュームＰＬ´に保存された差分データＰ１〜Ｐｎを更に保管するために、外部記憶装置１７にバックアップする処理を説明する。
【０１３７】
図２４に示すように、プールボリュームＰＬ´に保存された差分データＰ１〜Ｐｎのうち、古くなった差分データの一部又は全部を、外部記憶装置１７の外部ボリューム１７０に転送し、保存することもできる。
【０１３８】
なお、差分データを保存する記録媒体としては、外部ボリューム１７の他、別途新たに設けたストレージ装置、テープ又はＷＯＲＭ領域に保存することもできる。
【０１３９】
本実施の形態の記憶システムによれば、第１の実施の形態における効果に加えて、プールボリュームのバックアップデータに関連付けたメタデータを保存するので、古くなった差分データのみを外部記憶装置に保存することができる。また、古くなった差分データのみを削除することもできる。
【０１４０】
（４）第４の実施の形態
図１において、４００は全体として本実施の形態による記憶システムを示す。
【０１４１】
なお、本実施の形態による記憶システム４００は、第１の実施の形態による記憶システム１と同様の構成のため、説明を省略する。
【０１４２】
図２５に示すように、プールボリュームＰＬに保存するバックアップデータの保存方法としては、次の通りである。
【０１４３】
まずディスクアダプタ１１は複数の差分データＰ１〜Ｐｎを合成して合成データＰＣ１、ＰＣ２を形成する。例えば、図２６（Ａ）に示す世代管理テーブル１１６を参照すると、２世代目の差分データＰ３、Ｐ４はシーケンス番号３及び４であり、３世代目の差分データＰ５、Ｐ６はシーメンス番号５及び６である。これらの差分データＰ３〜Ｐ６を合成すると、合成データＰＣ１はシーケンス番号３〜６までの差分データＰ３〜Ｐ６になる。同様の合成方法で、複数世代の差分データＰ１〜Ｐｎを合成することができる。
【０１４４】
そうすると次に、ディスクアダプタ１１は合成データＰＣ１、ＰＣ２…の中から圧縮し、圧縮データＰＰ１…を形成する。例えば図２６（Ｂ）に示すプール領域管理テーブル１１５を参照すると、シーケンス番号３及び５のアドレスが重複している。そのため、重複したアドレスをもつシーケンス番号の中から最も小さな番号３を残し、その他のシーケンス番号５に該当する合成データは削除することで、図２６（Ｃ）に示すように圧縮データＰＰ１…を形成することができる。
【０１４５】
ディスクアダプタ１１は、このように形成された圧縮データを更に暗号化したデータＰＥ１…として保存することもできる。
【０１４６】
第４の実施の形態の記憶システムによれば、第１の実施の形態における効果に加えて、古いバックアップデータを長期に保存する必要がある場合には効率的にプールボリューム内に保存することができる。また、古いバックアップデータを暗号化するため、当該データの改ざんや盗難を防止することができる。
【０１４７】
（５）他の実施の形態
上述の実施の形態においては、セカンダリボリュームＳＶＯＬの記憶領域の一部又は全部を関連付けて動的な保存記憶領域を論理ボリュームから供給されるプールボリュームを形成する形成部として、ストレージ装置４のディスクアダプタ１１及び複数のハードディスクドライブ５０としたが、外部に設けられたストレージ装置のディスクアダプタ及びハードディスクドライブであってもよい。
【０１４８】
プライマリボリュームＰＶＯＬに対応する差分データＰ１〜ＰｎをプールボリュームＰＬに保存する第１保存部として、ストレージ装置４内のディスクアダプタ１１及び複数のハードディスクドライブ５０としたが、外部に設けられたストレージ装置のディスクアダプタ及びハードディスクドライブであってもよい。
【０１４９】
プライマリボリュームＰＶＯＬ内の更新されないデータを擬似差分データＰＳ１〜ＰＳｎとし、この擬似差分データＰＳ１〜ＰＳｎをプールボリュームに保存する第２保存部として、ストレージ装置４内のディスクアダプタ１１及び複数のハードディスクドライブ５０としたが、外部に設けられたストレージ装置のディスクアダプタ及びハードディスクドライブであってもよい。
【０１５０】
プライマリボリュームＰＶＯＬ内の全てのデータをミラーボリュームＰＭとしてプールボリュームＰＬに保存する第３保存部として、ストレージ装置４内のディスクアダプタ１１及び複数のハードディスクドライブ５０としたが、外部に設けられたストレージ装置のディスクアダプタ及びハードディスクドライブであってもよい。
【０１５１】
プールボリュームＰＬに差分データＰ１〜Ｐｎの書き込む順序を管理する管理部として、ディスクアダプタ１１のメモリ１１１内に設けたが、管理部を個別のハードウェア構成としても良い。
【産業上の利用可能性】
【０１５２】
本発明は、１又は複数のストレージ装置を有する記憶システムや、その他の形態の記憶システムに広く適用することができる。
【図面の簡単な説明】
【０１５３】
【図１】第１の実施の形態における記憶システムの全体構成を示すブロック図である。
【図２】第１の実施の形態におけるチャネルアダプタを示すブロック図である。
【図３】第１の実施の形態における記憶システムの論理構成を示す概念図である。
【図４】第１の実施の形態におけるディスクアダプタを示すブロック図である。
【図５】第１の実施の形態における差分ビットマップ及びミラー用差分ビットマップを示す概念図である。
【図６】第１の実施の形態におけるプール領域管理テーブルを示す概念図である。
【図７】第１の実施の形態における世代管理テーブルを示す概念図である。
【図８】第１の実施の形態におけるプールボリューム内のバックアップデータを示す概念図である。
【図９】第１の実施の形態におけるプールボリューム内の差分データを示す概念図である。
【図１０】第１の実施の形態におけるプールボリューム内の擬似差分データを示す説明図である。
【図１１】第１の実施の形態における記憶システムの動作説明図である。
【図１２】第１の実施の形態における記憶システムの動作説明図である。
【図１３】第１の実施の形態におけるＩ／Ｏループバック処理部の動作説明図である。
【図１４】第１の実施の形態におけるホスト装置からのＩ／Ｏと擬似Ｉ／Ｏとを判別するフローチャートである。
【図１５】第１の実施の形態における擬似Ｉ／Ｏを発生するフローチャートである。
【図１６】第１の実施の形態における記憶システムのバックアップ処理を示す説明図である。
【図１７】第１の実施の形態における記憶システムのバックアップ処理を説明するための各種テーブルを示す概念図である。
【図１８】第１の実施の形態における記憶システムのリストア処理を示す説明図である。
【図１９】第１の実施の形態における記憶システムのリストア処理を説明するための各種テーブルを示す概念図である。
【図２０】第１の実施の形態における記憶システムのリストア処理を示すプールボリューム内の概念図である。
【図２１】第２の実施の形態における記憶システムの全体構成を示すブロック図である。
【図２２】第２の実施の形態における記憶システムのバックアップ処理を示す説明図である。
【図２３】第３の実施の形態における記憶システムの全体構成を示すブロック図である。
【図２４】第３の実施の形態における記憶システムのバックアップ処理を示す説明図である。
【図２５】第４の実施の形態における記憶システムのバックアップ処理を示す説明図である。
【図２６】第４の実施の形態における記憶システムのバックアップ処理を説明するための各種テーブルを示す概念図である。
【符号の説明】
【０１５４】
１……記憶システム、２……ホスト装置、４……ストレージ装置、５……ディスクドライブ部、７……チャネルアダプタ、１１……ディスクアダプタ、ＰＶＯＬ……プライマリボリューム、ＳＶＯＬ……セカンダリボリューム、ＰＬ……プールボリューム。
【図１】
2008140002.tif 000003
【図２】
2008140002.tif 000004
【図３】
2008140002.tif 000005
【図４】
2008140002.tif 000006
【図５】
2008140002.tif 000007
【図６】
2008140002.tif 000008
【図７】
2008140002.tif 000009
【図８】
2008140002.tif 000010
【図９】
2008140002.tif 000011
【図１０】
2008140002.tif 000012
【図１１】
2008140002.tif 000013
【図１２】
2008140002.tif 000014
【図１３】
2008140002.tif 000015
【図１４】
2008140002.tif 000016
【図１５】
2008140002.tif 000017
【図１６】
2008140002.tif 000018
【図１７】
2008140002.tif 000019
【図１８】
2008140002.tif 000020
【図１９】
2008140002.tif 000021
【図２０】
2008140002.tif 000022
【図２１】
2008140002.tif 000023
【図２２】
2008140002.tif 000024
【図２３】
2008140002.tif 000025
【図２４】
2008140002.tif 000026
【図２５】
2008140002.tif 000027
【図２６】
2008140002.tif 000028