(57)【要約】【解決課題】過去のある時点のデータを復元する場合にボリュームに保存するデータ量の低減を図るとともにボリューム復元時間を短時間にする。【解決手段】ストレージ装置は、保護期間では第１の論理ボリュームに保存されるデータを第２の論理ボリュームに保存されるバックアップされたデータを用いて第３の論理ボリュームで保護するデータ処理を行い、保護期間内の第２の論理ボリュームへのバックアップを停止する非保護期間ではデータ保護処理を停止する。そして、第１の論理ボリュームを保護時間内で非保護期間でない時間に復元する指示を外部から受け付けると第２の論理ボリュームでバックアップしたデータ及び第の３の論理ボリュームに保護したデータを用いて第１の論理ボリュームを指示に基づく時間の状態に復元する。【選択図】図１９
2008257364.tif 000002
【特許請求の範囲】
【請求項１】
上位装置から送信されるデータを保存する第１の論理ボリュームと、
前記第１の論理ボリュームに保存されるデータをバックアップする第２の論理ボリュームと、
前記第１の論理ボリュームに保存されるデータを所定保護期間内でのみ保護するために保存する第３の論理ボリュームと、
前記所定保護期間を示す保護期間情報を保存する第１の保存部と、
前記所定保護期間内の前記第２の論理ボリュームへのバックアップを停止する非保護期間を示す非保護期間情報を保存する第２の保存部と、
前記保護期間では前記第１の論理ボリュームに保存されるデータを前記第２の論理ボリュームに保存されるバックアップされたデータを用いて前記第３の論理ボリュームで保護するデータ保護処理を行い、前記保護期間内の前記非保護期間では前記データ保護処理を停止するデータ非保護処理を行うとともに、前記第１の論理ボリュームを前記保護時間内で前記非保護期間でない時間に復元する指示を外部から受け付けると前記第２の論理ボリュームでバックアップしたデータ及び前記第の３の論理ボリュームに保護したデータを用いて前記第１の論理ボリュームを前記指示に基づく時間の状態に復元する制御部と、
を備えることを特徴とするストレージ装置。
【請求項２】
前記データ保護処理は、コンティニューアス・データ・プロテクション処理であること
、
を特徴とする請求項１記載のストレージ装置。
【請求項３】
前記データ保護処理は、前記保護期間内を所定時間で分割した分割期間ごとに設けられる前記第１の論理ボリュームのデータ保存領域のデータを保存するトラックと１対１でビットが対応する第１のビットマップを複数含むビットマップ群を、前記分割期間ごとに切り替えて前記第１の論理ボリュームに保存されるデータのバックアップを行い、
前記データ非保護処理は、前記第１のビットマップを使用せずに、前記非保護期間に設けられる前記第１の論理ボリュームのデータ保存領域のデータを保存するトラックと１対１でビットが対応する第２のビットマップを用いて前記第１の論理ボリュームに保存されるデータのバックアップを行うこと、
を特徴とする請求項１記載のストレージ装置。
【請求項４】
前記第２のビットマップを用いてバックアップしたデータは、前記非保護期間が終了したときに前記ビットマップ群のうちの最新の第１のビットマップに合成すること、
を特徴とする請求項３記載のストレージ装置。
【請求項５】
前記非保護期間情報は、接続された保守端末装置から設定され、又は、前記上位装置から送信されること、
を特徴とする請求項１記載のストレージ装置
【請求項６】
上位装置から送信されるデータを保存する第１の論理ボリュームと、前記第１の論理ボリュームに保存されるデータをバックアップする第２の論理ボリュームと、前記第１の論理ボリュームに保存されるデータを所定の保護期間内でのみ保護するために保存する第３の論理ボリュームとを備えるストレージ装置のデータ復元方法において、
前記保護期間では前記第１の論理ボリュームに保存されるデータを前記第２の論理ボリュームに保存されるバックアップされたデータを用いて前記第３の論理ボリュームで保護するデータ保護処理を行い、前記保護期間内の前記第２の論理ボリュームへのバックアップを停止する非保護期間では前記データ保護処理を停止するデータ非保護処理を行うステップと、
前記第１の論理ボリュームを前記保護時間内で前記非保護期間でない時間に復元する指示を外部から受け付けると前記第２の論理ボリュームでバックアップしたデータ及び前記第の３の論理ボリュームに保護したデータを用いて前記第１の論理ボリュームを前記指示に基づく時間の状態に復元するステップと、
を備えることを特徴とするストレージ装置のデータ復元方法。
【請求項７】
前記データ保護処理は、コンティニューアス・データ・プロテクション処理であること
、
を特徴とする請求項６記載のストレージ装置のデータ復元方法。
【請求項８】
前記データ保護処理は、前記保護期間内を所定時間で分割した分割期間ごとに設けられる前記第１の論理ボリュームのデータ保存領域のデータを保存するトラックと１対１でビットが対応する第１のビットマップを複数含むビットマップ群を、前記分割期間ごとに切り替えて前記第１の論理ボリュームに保存されるデータのバックアップを行う処理であり、
前記データ非保護処理は、前記第１のビットマップを使用せずに、前記非保護期間に設けられる前記第１の論理ボリュームのデータ保存領域のデータを保存するトラックと１対１でビットが対応する第２のビットマップを用いて前記第１の論理ボリュームに保存されるデータのバックアップを行う処理である、
を特徴とする請求項６記載のストレージ装置のデータ復元方法。
【請求項９】
前記第２のビットマップを用いてバックアップしたデータは、前記非保護期間が終了したときに前記ビットマップ群のうちの最新の第１のビットマップに合成するステップを備えること、
を特徴とする請求項８記載のストレージ装置のデータ復元方法。
【請求項１０】
前記非保護期間情報は、接続された保守端末装置から設定され、又は、前記上位装置から送信されること、
を特徴とする請求項６記載のストレージ装置のデータ復元方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ストレージ装置及びボリューム復元方法に関し、例えば、ストレージ装置のＣＤＰ（コンティニューアス・データ・プロテクション：Continuous Data Protection）処理によるデータ復元方法に適用しても好適なものである。
【背景技術】
【０００２】
ストレージ装置におけるボリュームを復元する技術としてＣＤＰがある。ＣＤＰとは、ストレージ装置に接続されたホストを使用せず、ストレージ装置側のみで、データ保護対象のボリュームへの書き込みを更新履歴として保存しておき、過去の任意の時点のイメージに復元可能とする技術である。ＣＤＰでは事前にユーザが任意の保護期間を設定することにより、保護期間の範囲で任意の時点に戻すことが可能となる。この任意の時点は、例えば、時間指定、マーカー指定などによりユーザが指定することが可能である。
【０００３】
ある時点におけるボリュームのスナップショットを取得する技術が知られている（例えば、特許文献１参照）。
【特許文献１】特開２００４−３４２０５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ＣＤＰを行なう場合、ストレージ装置は、全てのライトデータを保存する。このため、データを復元する必要のない時間帯であってもライトデータを保存する。したがって、不要なライトデータを保存することにより、ボリュームのデータ量が膨大となること、またこのようにボリュームのデータ量が膨大となるためボリュームの復元時間が長くなるという問題があった。
【０００５】
また、他のデータコピーの技術として、複数のストレージ間でデータコピーを行なうリモートコピー技術、単一のストレージ装置内の複数ボリューム間でデータコピーを行なうローカルコピー技術、ある時点のデータを保障するスナップショット技術もある。リモートコピー、ローカルコピーでは、最新のボリュームに復元することは可能であるが、過去のある時点のボリュームに復元することができない。また、スナップショットでは、予め指定しておけばその指定されたある時点のボリュームに復元することができるが、任意のある時間のボリュームに復元することはできない。
【０００６】
本発明は、以上の点を考慮してなれたもので、過去のある時点のデータを復元する場合にボリュームに保存するデータ量の低減を図るとともにボリューム復元時間を短時間にすることができるストレージ装置及びボリューム復元方法を提案しようとするものである。
【課題を解決するための手段】
【０００７】
本発明は、ストレージ装置に復元不要の時間帯である保護非対象期間を保護対象期間内に設定する機能を設け、保護非対象期間ではライトデータを随時バックアップすることなく、保護非対象期間の開始時点と終了時点での差分のライトデータをバックアップするように制御するものである。
【０００８】
これにより、保護非対象期間に同一の領域に繰り返しライトデータが発生した場合に保存されるライトデータの容量を削減できる。また、復元不要なデータのバックアップを回避するとともに、バックアップデータ量の削減、ボリュームの記憶領域の有効活用、ボリューム復元時間の短縮化を図ることができる。
【０００９】
また、本発明は、上位装置から送信されるデータを保存する第１の論理ボリュームと、前記第１の論理ボリュームに保存されるデータをバックアップする第２の論理ボリュームと、前記第１の論理ボリュームに保存されるデータを所定の保護期間内でのみ保護するために保存する第３の論理ボリュームと、前記所定保護期間を示す保護期間情報を保存する第１の保存部と、前記所定保護期間内の前記第２の論理ボリュームへのバックアップを停止する非保護期間を示す非保護期間情報を保存する第２の保存部と、前記保護期間では前記第１の論理ボリュームに保存されるデータを前記第２の論理ボリュームに保存されるバックアップされたデータを用いて前記第３の論理ボリュームで保護するデータ保護処理を行い、前記保護期間内の前記非保護期間では前記データ保護処理を停止するデータ非保護処理を行うとともに、前記第１の論理ボリュームを前記保護時間内で前記非保護期間でない時間に復元する指示を外部から受け付けると前記第２の論理ボリュームでバックアップしたデータ及び前記第の３の論理ボリュームに保護したデータを用いて前記第１の論理ボリュームを前記指示に基づく時間の状態に復元する制御部と、を備えることを特徴とするストレージ装置である。
【００１０】
したがって、保護期間では第１の論理ボリュームに保存されるデータを第２の論理ボリュームに保存されるバックアップされたデータを用いて第３の論理ボリュームで保護するデータ保護処理を行い、保護期間内の第２の論理ボリュームへのバックアップを停止する非保護期間ではデータ保護処理を停止するデータ非保護処理を行い、第１の論理ボリュームを保護時間内で非保護期間でない時間に復元する指示を外部から受け付けると第２の論理ボリュームでバックアップしたデータ及び第の３の論理ボリュームに保護したデータを用いて第１の論理ボリュームを指示に基づく時間の状態に復元することにより、保護期間内で非保護期間内でない過去のある時点における第１の論理ボリュームのデータの復元を短時間で行なうことができる。
【発明の効果】
【００１１】
本発明によれば、過去のある時点のデータを復元する場合にボリュームに保存するデータ量の低減を図るとともにボリューム復元時間を短時間にすることができるストレージ装置及びボリューム復元方法を提供できる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明の一実施の形態について図面を参照して説明する。
【００１３】
図１は、本発明を適用したストレージシステムの概略的な構成を示す図である。図１に示すように、ストレージシステム１は、ストレージ装置１００、ホスト１０及びＳＶＰ１１を含んでいる。
【００１４】
ホスト（オープン／メインフレーム）１０は、ストレージ装置１００と通信可能に接続されており、ストレージ装置１００に対して、ライト要求やリード要求等を行なう。
【００１５】
ＳＶＰ１１は、ストレージ装置１００の保守端末であり、操作部や表示部（これらは、図示を省略する。）を含んでいる。ユーザは、操作部や表示部を用いて、ストレージ装置１００の各種設定を行なう。
【００１６】
ストレージ装置１００は、ディスクコントローラ部（ＤＫＣ）１００Ａとディスク部（ＤＫＵ）１００Ｂを含んでいる。ディスクコントローラ部１００Ａは、共有メモリ１０１，１０２、ディスクアダプタ（ＤＫＡ）１０３，１０４、チャネルアダプタ（ＣＨＡ）１０５，１０６、スイッチ１０７，１０８、キャッシュメモリ１０９，１１０を有しており、ディスク部１００Ｂは、複数のハードディスクドライブ１１１を有している。
【００１７】
チャネルアダプタ１０５，１０６はそれぞれ共有メモリ１０１，１０２、スイッチ１０７，１０８に接続されるとともにホスト１０と接続されている。また、ディスクアダプタ１０３，１０４はそれぞれ共有メモリ１０１，１０２、スイッチ１０７，１０８に接続されるとともに複数のハードディスクドライブと接続されている。さらに、スイッチ１０７，１０８はそれぞれキャッシュメモリ１０９，１１０と接続されている。
【００１８】
なお、図１に示すストレージ装置１００は、共有メモリ１０１，１０２、ディスクアダプタ１０３，１０４、チャネルアダプタ１０５，１０６、スイッチ１０７，１０８、キャッシュメモリ１０９，１１０のように各要素を２個ずつ配置するダブルコントローラとしているが、共有メモリ、ディスクアダプタ、チャネルアダプタ、スイッチ、キャッシュメモリの各要素を１個ずつ配置したシングルコントローラとしても良い。
【００１９】
チャネルアダプタ１０５，１０６は、それぞれ複数のＣＰＵ（Central Processing Unit）、メモリ及び通信インタフェース等を備えたマイクロコンピュータシステムとして構成されている。そして、それぞれネットワーク等に接続するためのポートを備える。チャネルアダプタ１０５，１０６は、ホスト１０から通信回線を介して送信される各種コマンドを解釈して対応する処理を実行する。また、チャネルアダプタ１０５，１０６は、マイクロプロセッサ上で動作する組み込みソフトウェアでＣＤＰ機能を実現できるようになっている。このＣＤＰ機能を実現することにより、後述するＣＤＰ処理が実行される。
【００２０】
ディスクアダプタ１０３，１０４は、それぞれ複数のＣＰＵやメモリを備えたマイクロコンピュータシステムとして構成されており、ディスク部１００Ｂ内のハードディスクドライブ１１１へのデータの読み書きを制御する。ディスクアダプタ１０３，１０４は、例えば、チャネルアダプタ１０５がホスト１０から受信したデータをハードディスクドライブ１１１の所定のアドレスに書き込む。また、各々のディスクアダプタ１０３，１０４は、ハードディスクドライブ１１１から読み取ったデータをチャネルアダプタ１０５，１０６へ送信する。
【００２１】
キャッシュメモリ１０９，１１０及び共有メモリ１０１，１０２は、チャネルアダプタ１０５，１０６及びディスクアダプタ１０３，１０４により共有される記憶メモリである。キャッシュメモリ１０９，１１０は、主に、ストレージ装置１００に入出力する書込み対象や読出し対象のデータを一時的に記憶するために利用される。共有メモリ１０１，１０２は、主に、ストレージ装置１００全体の構成に関するシステム構成情報、各種プログラム、各種テーブル、書込み要求や読出し要求等のコマンドを記憶するために利用される。例えば、共有メモリ１０１には、後述する状態管理テーブル１０１１及び保護非対象期間管理テーブル１０１２等が保存される。
【００２２】
スイッチ１０７，１０８は、キャッシュメモリ１０９，１１０のオン／ＯＦＦ動作を行うスイッチである。ハードディスクドライブ１１１は、ディスクアダプタ１０３，１０４によってデータが書き込まれ、また、ディスクアダプタ１０３，１０４によって書き込まれたデータが読取られる。
【００２３】
図２は、ディスクコントローラ部１００Ａの内部構成及びＣＤＰ処理を概念的に説明するための図である。ＣＤＰはグルーピングできるようになっている。このグルーピングされるＣＤＰグループは、プライマリボリューム（Ｐｖｏｌ）１２０とベースボリューム（Ｂｖｏｌ）１４０とが１対１で対応した１又は２以上の組と、これらと対応付けられたジャーナルボリューム（ＪＮＬｖｏｌ）１３０及び各種差分ビットマップ（ＢＭ）１５０で構成される。
【００２４】
なお、プライマリボリューム１２０、ジャーナルボリューム１３０及びベースボリュームは論理ボリューム（メインフレームの場合はロジカルデバイス（ＬＤＥＶ）、オープンの場合はロジカルユニット（ＬＵ））であり、これらプライマリボリューム１２０、ジャーナルボリューム１３０及びベースボリューム１４０は図示しない論理アドレスと物理アドレスを変換するアドレス変換テーブルによってハードディスクドライブ１１１内の実データと対応している。
【００２５】
プライマリボリューム１２０は、ホスト１０がＩ／Ｏ（Input/Output）データを書き込むボリュームである。ジャーナルボリューム１３０は、プライマリボリューム１２０の保護期間内に書き込まれたライトデータのバックアップを、各種差分ビットマップ１５０を用いて保存するボリュームである。ベースボリューム１４０は、ＣＤＰ機能によって定められたデータの保護期間の最古のデータ（保護期間が２４時間であれば、２４時間前のデータ）を保存するボリュームである。したがって、プライマリボリューム１２０に書き込まれたライトデータは、定められた保護期間（後述する非保護期間は除く）中、ベースボリューム１４０にバックアップされる。
【００２６】
ＣＤＰ処理を行うことにより、プライマリボリューム１２０に書き込まれたライトデータを各種差分ビットマップ１５０、ジャーナルボリューム１３０に保存し、所定の保護期間を過ぎたデータをジャーナルボリューム１３０からベースボリューム１４０に格上げする。これにより、プライマリボリューム１２０の状態を最過去データへリカバリすること、または、所定の保護期間内の指定時間データへのリカバリをすることが可能となる。これらの処理については、後述する。
【００２７】
各種差分ビットマップ１５０は、図１０等に示される区間差分用ビットマップ（ＢＭ）１５１、リストア用差分ビットマップ（ＢＭ）１５２、初期コピー用差分ビットマップ（ＢＭ）１５３、チェック中用差分ビットマップ（ＢＭ）１５４及び非保護中用差分ビットマップ（ＢＭ）１５５等である。区間差分用ビットマップ１５１、リストア用差分ビットマップ１５２、初期コピー用差分ビットマップ１５３、チェック中用差分ビットマップ１５４及び非保護中用差分ビットマップ１５５についての説明は後述する。
【００２８】
図３は、プライマリボリューム１２０の構成を説明するための図である。プライマリボリューム１２０は、ホスト１０がアクセス可能なデータ領域の範囲と、ホスト１０がアクセス不可能なデータ領域の範囲とが設けられている。そして、そのホスト１０がアクセス不可能なデータ領域の範囲に、差分エリア１２１が設けられている。なお、図示を省略するが、ジャーナルボリューム１３０及びベースボリューム１４０も同様な構成となっている。また、差分エリア１２１内に作成される各種ビットマップは、論理ボリューム作成時に確保され、そのビットマップはＣＤＰ処理を行うためのペアが作成されるときに初期化される。
【００２９】
図４は、状態管理テーブル１０１１を示す図である。状態管理テーブル１０１１は、状態欄１０１１A、保護期間欄１０１１B、リストア指示時刻欄１０１１Cの各欄が設けられている。状態欄１０１１Aは、ＣＤＰ処理を行うための各処理状態を示す情報を保存する。保護期間欄１０１１Bは、ＣＤＰ処理を実行してデータを保護する期間を保存する。リストア指示時刻欄１０１１Cは、リストアを指示する時刻を保存する。
【００３０】
ＣＤＰ処理を行うための各処理状態としては、「通常」、「ＣＤＰコピー中」、「ＣＤＰ保護中」、「リストア移行中」、「リストア中」及び「停止中」の状態がある。各状態についての説明は、後述する。状態欄１０１１Aには、「通常」の場合は「０」、「ＣＤＰコピー中」の場合は「１」、「ＣＤＰ保護中」の場合は「２」、「リストア移行中」の場合は「３」、「リストア中」の場合は「４」及び「停止中」の場合は「５」が保存される。
【００３１】
保護期間欄１０１１Bには、保護期間が設定される。例えば、何時間、何十日間などのように設定される。なお、この実施の形態では、時間及び日数を保存する場合で説明するが、開始時間及び終了時間、開始日から終了日を保存する構成としても良い。保護期間の設定方法については、後述する。リストア指示時刻欄１０１１Ｃにはリストア状態となっているときに、リストアを行なう時刻を保存する。
【００３２】
図５は、ジャーナルボリューム１３０に保存される内容を説明するための図である。ジャーナルボリューム１３０は、状態管理テーブル１３１を保存する領域とライトデータを保存する領域とから構成される。
【００３３】
図６は、状態管理テーブル１３１の内容を説明するための図である。この状態管理テーブル１３１のジャーナル管理情報は、ライトデータごとに作成される。状態管理テーブル１３１は、保存欄１３１Ａから１３１Ｄが設けられている。保存欄１３１Ａは、プライマリボリューム１２０上の位置を保存する。保存欄１３１Ｂは、ジャーナルボリューム１３０上の位置を保存する。保存欄１３１Ｃは、ライトデータの受領時刻を保存する。保存欄１３１Ｄは、シーケンス番号を保存する保存欄１３１Ｄを保存する。
【００３４】
図７は、保護非対象期間管理テーブル１０１２を示す図である。保護非対象期間管理テーブル１０１２は、状態欄１０１２Ａ、ＩＤ欄１０１２Ｂ、曜日欄１０１２Ｃ、月欄１０１３Ｄ、開始時間欄１０１２Ｅ及び終了時間欄１０１２Ｆの各欄が設けられている。
【００３５】
状態欄１０１２Ａは、ストレージ装置１００がＣＤＰ処理で保護される保護対象期間であるか、ＣＤＰ処理で保護されない保護非対象期間であるかの状態を設定する欄である。保護対象期間であるときは保護中として「０」、保護非対象期間であるときは非保護中として「１」が設定される。
【００３６】
ＩＤ欄１０１２Ｂは、毎日、毎週又は毎月を設定するＩＤを設定する欄である。毎日であれば「０」、毎週であれば「１」、毎月であれば「２」がＩＤとして設定される。曜日欄１０１２Ｃは、曜日を設定する欄である。月曜日であれば「０」、火曜日であれば「１」、水曜日であれば「２」、木曜日であれば「３」、金曜日であれば「４」、土曜日であれば「５」、日曜日であれば「６」が設定される。月欄１０１３Ｄには、日が設定される。すなわち、毎月何日という設定となる。したがって、１〜３１日のいずれの数字が設定される。開始時間欄１０１２Ｅは、保護非対象期間を開始する時間が設定される。終了時間欄１０１２Ｆは、保護非対象期間を終了する時間が設定される。なお、ＩＤ欄１０１２Ｂ、曜日欄１０１２Ｃ、月欄１０１２Ｄ、開始時間欄１０１２Ｅ及び終了時間欄１０１２Ｆは、１つの組として設定される。
【００３７】
保護非対象期間管理テーブル１０１２においては、状態欄１０１２Ａには、保護中を示す状態として「０」が設定されている。また、保護非対象期間管理テーブルには、保護非対象期間として、「毎日：０：００〜６：００」、「毎週：日曜日：０：００〜０：００」が設定されている。具体的には、「毎日：０：００〜６：００」に対応して保護非対象期間管理テーブルには、ＩＤ欄１０１２Ｂに「０」、曜日欄１０１２Ｃ及び月欄１０１２Ｄは空欄、開始時間欄１０１２Ｅに「０：００」及び終了時間欄１０１２Ｆに「６：００」が設定されている。また、「毎週：日曜日：０：００〜０：００」に対応してテーブルＴ１０１２には、ＩＤ欄１０１２Ｂに「１」、曜日欄１０１２Ｃに「０」、月欄１０１２Ｄは空欄、開始時間欄１０１２Ｅに「０：００」及び終了時間欄１０１２Ｆに「０：００」が設定されている。
【００３８】
図８は、ＳＶＰ１１の表示部に表示される保護期間の指定画面１２を示す図である。この指定画面１２及び操作部（図示しない。）を用いて、ユーザは、保護期間及び非保護期間を設定する。指定画面１２は、保護期間を指定する保護期間の指定欄１３、非保護期間の指定欄１４、ＯＫボタン１５、キャンセルボタン１６、右矢印ボタン１７、左矢印ボタン１８及び表示欄１９が配置されている。
【００３９】
保護期間の指定欄１３には、プライマリボリューム１２０に書き込まれたライトデータの保護をする期間を指定する。例えば、ユーザは、ＳＶＰ１１の操作部を操作して、２４時間、３０日間のように指定する。
【００４０】
非保護期間の指定欄１４には、毎日、毎週、毎月のいずれかを設定し、その設定に対応させて毎日なら非保護期間の時間を、毎週なら曜日と非保護期間の時間を、毎月なら日と非保護期間の時間を設定する。例えば、ユーザは、ＳＶＰ１１の操作部を操作して、所望の設定を行なう。なお、この非保護期間の指定欄１４で指定される非保護期間は、保護期間の指定欄１３で指定された保護期間内のいずれかの期間となる。
【００４１】
このように、非保護期間の設定が終了すると、ユーザは、ＳＶＰ１１の操作部を操作して指定画面１２上の右矢印ボタン１７を押下する。すると、非保護期間の一覧を表示する表示欄１９に設定した非保護期間が表示される。例えば、ユーザが「毎日：０：００〜６：００」と設定した後、右矢印ボタン１７を押下した場合は、「毎日：０：００〜６：００」が表示欄１９に表示される。なお、指定画面１２では複数の非保護期間を設定できるようになっている。したがって、ユーザがさらに「毎週：日曜日：０：００〜０：００」と設定した後、右矢印ボタン１７を押下した場合は、表示欄１９の「毎週：日曜日：０：００〜０：００」の表示の下側に「毎日：０：００〜６：００」が表示される。図１２の表示欄１９は、この状態を表示している。
【００４２】
なお、ユーザがＳＶＰ１１の操作部を操作して表示欄１９に表示されている非保護期間の設定を指定し、左矢印ボタン１８を押下することにより、その指定された非保護期間の設定はクリアされる。そして、表示欄１９からその指定された非保護期間の表示が削除される。
【００４３】
ユーザが指定画面１２で指定した保護期間及び非保護期間で良いことを決定した場合は、操作部を用いて指定画面１２上のＯＫボタン１５を押下する。すると、保護期間の指定欄１３で指定した保護期間の設定及び非保護期間の指定欄１４で指定した保護期間の設定を示す設定情報がＳＶＰ１１からストレージ装置１００に送信される。そして、ストレージ装置１００内のチャネルアダプタ１０５又は１０６によって、状態管理テーブル１０１１に保護期間が、保護非対象期間管理テーブル１０１２に非保護期間が設定される。
【００４４】
図３０は、ストレージ装置１００がＳＶＰ１１から設定情報を受信したときの処理を示すフローチャートである。図３０に示すように、チャネルアダプタ１０５は、設定情報を受信すると（Ｓ１００１）、設定情報をテーブルに設定する（Ｓ１００２）。すなわち、状態管理テーブル１０１１に保護期間の設定が、保護非対象期間管理テーブル１０１２に非違保護期間の設定等が保存される。
【００４５】
なお、ＯＫボタン１５に代えてキャンセルボタン１６がユーザにより入力された場合は、保護期間の指定欄１３及び非保護期間の指定欄１４に設定された内容はクリアされる。
【００４６】
また、この実施の形態では、ＳＶＰ１１の表示部に表示される指定画面１２及び操作部を用いて保護期間及び非保護期間を設定する構成としているが、この構成に限るものではない。例えば、ホスト１０からの非保護期間を開始する開始コマンド及び非保護期間を終了する終了コマンドを受信することによって、ＣＤＰ処理を行う保護期間における非保護期間を設けるように構成しても良い。すなわち、例えば、チャネルアダプタ１０５は、ホスト１０から開始コマンドを受信した場合は保護非対象期間管理テーブル１０１２の状態欄１０１２Ａに「１」（非保護期間を示す）を設定し、ホスト１０から終了コマンドを受信した場合は保護非対象期間管理テーブルの状態欄１０１２Ａに「０」を設定する。
【００４７】
また、ＣＤＰ機能は、グルーピングすることができるので、例えば、ユーザは、ＳＶＰ１１の操作部を用いてＣＤＰグループを上記指定画面１２とは別の指定画面で指定した後、上述の指定画面１２で保護期間及び非保護期間の設定等を行なうようにすることにより、ＣＤＰグループごとに指定画面１２における設定を行なうことが可能となる。
【００４８】
図９はＣＤＰ処理における動作の流れを説明するための図である。動作の状態としては、通常（シンプレックス）状態２１０、コピー状態（コピー中）２２０、保護状態２３０、リストア状態２４０、停止状態２５０の５つの状態を示している。
【００４９】
通常（シンプレックス）状態２１０は、データが保護されていない状態である。すなわち、プライマリボリューム１２０にライトデータが入っても、ジャーナルボリューム１３０にも、ベースボリューム１４０にも何らライトデータは保存されない。
【００５０】
そして、ＣＤＰ開始が指示されると、動作状態は、コピー状態２２０に遷移する。コピー状態２２０は、ベースボリューム１４０を作成し、プライマリボリューム１２０に書き込まれたライトデータをジャーナルボリューム１３０にバックアップする処理を開始する。そして、このようにバックアップが開始されるとともにベースボリューム１４０の作成が終了すると、保護状態２３０に遷移する。このように保護状態２３０に遷移すると、任意の時間にデータの状態を戻せるようになる。
【００５１】
保護状態２３０において、プライマリボリューム１２０のデータを任意の時間に戻したい場合に、テンポラリリストアが指示されリストア状態２４０に遷移する。リストア状態２４０では、リストア処理が実行される。リストアは、ベースボリューム１４０とジャーナルボリューム１３０のデータを用いてプライマリボリュームを復元する処理である。このリストア処理によって復元したデータが完全でない場合は、再リストアが指示される。これにより、再びリストア処理が行われる。これを繰り返し、リストア処理によって復元したデータが完全である場合に、コンプリートリストアが指示され、保護状態２３０に再び遷移し、データが確定する。そして、その後継続してデータのバックアップが実行される。
【００５２】
一方、保護状態２３０又はリストア状態２４０でＣＤＰ停止が指示されると、停止状態２５０に遷移する。停止状態２５０は、ＣＤＰ処理を停止する状態である。この停止状態２５０でＣＤＰ再開が指示されると、保護状態２３０に遷移し、ＣＤＰ処理によるデータのバックアップを再開する。また、保護状態２３０、リストア状態２４０又は停止状態２５０でＣＤＰ削除が指示されると、通常状態２１０に遷移する。
【００５３】
図１０は、ＣＤＰ処理によるプライマリボリューム１２０へのライトデータの保護が開始されるときの状態を説明するための図である。
【００５４】
先ず、区間差分用ビットマップ１５１、リストア用差分ビットマップ１５２、初期コピー用差分ビットマップ１５３及びチェック中用差分ビットマップ１５４について説明する。なお、区間差分用ビットマップ１５１、リストア用差分ビットマップ１５２、初期コピー用差分ビットマップ１５３、チェック中用差分ビットマップ１５４及び非保護中用差分ビットマップ１５５は、例えば、チャネルアダプタ１０５によって、ＣＤＰ処理の各状態に応じて使用される。
【００５５】
また、区間差分用ビットマップ１５１、リストア用差分ビットマップ１５２、初期コピー用差分ビットマップ１５３、チェック中用差分ビットマップ１５４及び非保護中用差分ビットマップ１５５の１面は、ハードディスクドライブ１１１のデータを保存するトラック数と、１ビットで１トラックとなるように対応している。
【００５６】
区間差分用ビットマップ１５１は、１６面のビットマップにより構成される。なお、図１０等においては３面しか図示をしていない。区間差分用ビットマップ１５１の１６面のうち１４面は、保護期間を１４分割した各分割期間のデータを保存するために使用される。残りの２面は分割期間の切り替え時等に使用される。
【００５７】
リストア用差分ビットマップ１５２は、リストア時の処理に用いられる。初期コピー用差分ビットマップ１５３は、ＣＤＰ形成指示をチャネルアダプタ１０５が受領したときに用いられる。チェック中用差分ビットマップ１５４は、テンポラリリストアが指示されたときの処理に用いられる。非保護中用差分ビットマップ１５５は、非対象保護期間の処理に用いられる。
【００５８】
ＣＤＰ開始が指示されると、プライマリボリューム１２０からベースボリューム１４０へライトデータをコピーする。プライマリボリューム１２０へのホスト１０からのライトデータの保護が開始されると、図１０に示すように、ライトデータは、プライマリボリューム１２０及びジャーナルボリューム１３０へ保存される。また、区間差分用ビットマップ１５１がオン設定となる。
【００５９】
このとき、ベースボリューム１４０に対して、未コピー領域へのライトデータは、ライトの延長でプライマリボリューム１２０からベースボリューム１４０への押し出しを実施することによりコピーする。また、データを保護する保護期間を過ぎたジャーナルデータは、ジャーナルボリューム１３０から格上げを実施する。格上げとは、ジャーナルボリューム１３０から当該ジャーナルデータを削除し、ベースボリューム１４０へデータを移行する処理である。さらに、保護期間を１４分割し、区間差分用ビットマップ１５１の１４面を分割期間ごとに切り替えて差分管理を行なう。例えば、保護期間が１４時間に設定されているのなら、１時間単位で差分ビットマップの切り替えを行なう。なお、ＣＤＰ処理の開始時に区間差分用ビットマップ１５１は初期化される。
【００６０】
次に、図２２から図２４を参照して、ＣＤＰ処理によるプライマリボリューム１２０へのライトデータの保護が開始されるときの処理について説明する。
【００６１】
図２２は、ＣＤＰ形成指示の処理を示すフローチャートである。この処理は、ＣＤＰ形成指示を受領したときに、チャネルアダプタ１０５により実行される。チャネルアダプタ１０５は、ＣＤＰ形成指示を受領すると、状態を「ＣＤＰ  コピー中」を設定する（Ｓ２０１）。これにより、状態管理テーブル１０１１の状態欄１０１１Ａに「１」が設定され、
ＣＤＰコピー中の状態に設定される。
【００６２】
図２３は、プライマリボリューム１２０からベースボリューム１４０へのコピー処理を示すフローチャートである。なお、このコピー処理は、ストレージ装置１００が立ち上げ時に起動される。
【００６３】
チャネルアダプタ１０５は、状態がＣＤＰコピー中であるか否かを判定する（Ｓ３０１）。この判定は、状態管理テーブル１３１の状態欄１０１１Ａの設定に基づいて行なわれる。ＣＤＰコピー中であると判定されると（Ｓ３０１：ＹＥＳ）、すなわち、状態欄１０１１Ａに「１」が設定されている場合は、初期コピー用差分ビットマップ１５３の未コピー領域を、プライマリボリューム１２０からベースボリューム１４０にデータをコピーする（Ｓ３０２）。このようにデータがコピーされば場合、又は、ステップＳ３０１でＣＤＰコピー中でないと判定された場合（Ｓ３０1：ＮＯ）、すなわち、状態欄１０１１Ａに「０」、「２」、「３」、「４」又は「５」が設定されている場合は、処理は、ステップＳ３０１へ戻る。
【００６４】
図２４は、チャネルアダプタ１０５がホスト１０からライトデータを受領したときの処理を示すフローチャートである。この処理は、ライトデータを受領すると開始する。
【００６５】
先ず、チャネルアダプタ１０５は、リストア移行中であるか否かを判定する（Ｓ４０１）。この判定は、状態管理テーブル１０１１の状態欄１０１１Ａの設定に基づいて行なわれる。
リストア移行中であると判定すると、すなわち、状態欄１０１１Ａに「３」が設定されている場合は（Ｓ４０１：ＹＥＳ）、チャネルアダプタ１０５は、状態がＣＤＰコピー中であるか否かを判定する（Ｓ４０２）。この判定は、ステップＳ４０１と同様に、状態管理テーブル１０１１の状態欄１０１１Ａの設定に基づいて行なわれる。
【００６６】
そして、状態がＣＤＰコピー中であると判定した場合は、すなわち、状態欄１０１１Ａに「１」が設定されている場合は（Ｓ４０２：ＹＥＳ）、チャネルアダプタ１０５は、ライトデータのライト位置がコピー未完了であるか否かを判定する（Ｓ４０３）。
【００６７】
ライトデータのライト位置がコピー未完了であると判定した場合は（Ｓ４０３：ＹＥＳ）、チャネルアダプタ１０５は、当該位置のデータをベースボリューム１４０にコピーする（Ｓ４０４）。そして、チャネルアダプタ１０５は、初期コピー用差分ビットマップ１５３の当該位置のデータをコピー済みにする（Ｓ４０５）。
【００６８】
このようにコピー済みにする処理を行った場合、ステップＳ４０２で状態がＣＤＰコピーでないと判定した場合、すなわち、状態欄１０１１Ａに「３」以外の数字が設定されていた場合（Ｓ４０２：ＮＯ）、又は、ステップＳ４０３でライト位置がコピー未完了でない場合、すなわち、状態欄１０１１Ａに「１」以外の数字が設定されていた場合は（Ｓ４０３：ＮＯ）、チャネルアダプタ１０５は、キャッシュ１０９に受領データ（受領したライトデータ）を書き込む（Ｓ４０６）。なお、受領データはキャッシュ１０９に書き込むようにしても良い。
【００６９】
ステップＳ４０６で受領したライトデータをキャッシュ１０９に書き込むと、チャネルアダプタ１０５は、状態が通常以外であるか否かを判定する（Ｓ４０７）。この判定は、ステップＳ４０１と同様に、状態管理テーブル１０１１の状態欄１０１１Ａの設定に基づいて行なわれる。すなわち、状態欄１０１１Ａに「０」が設定されていれば、通常状態であると判定され、状態欄１０１１Ａに「１」から「５」が設定されていれば、通常状態でないと判定される。
【００７０】
状態が通常以外であれば（Ｓ４０７：ＹＥＳ）、チャネルアダプタ１０５は、受領データをジャーナルボリューム１３０にコピーすると共に、管理情報を作成する（Ｓ４０８）。このステップＳ４０８の処理を行った場合、ステップＳ４０７で状態が通常以外でない、つまり、状態が通常であると判定された場合（Ｓ４０７：ＮＯ）、又はステップＳ４０１でリストア移行中でないと判定され（Ｓ４０１：ＮＯ）、コマンドの受領を拒否した場合は（Ｓ４１０）、区間差分用ビットマップ１５１に差分設定をする（Ｓ４０９）。
【００７１】
図１１は、ＣＤＰ処理によるプライマリボリューム１２０へのライトデータが保護されているときの保護状態を説明するための図である。プライマリボリューム１２０へのライトデータが保護中のときは、図１１に示すように、ライトデータは、プライマリボリューム１２０及びジャーナルボリューム１３０へ保存される。また、ライトデータを保存した位置と対応する区間差分用ビットマップ１５１の位置のビットを立てる。
【００７２】
そして、保護期間を過ぎたジャーナルデータは、ジャーナルボリューム１３０からベースボリューム１４０に格上げする処理が実施される。なお、区間差分用ビットマップ１５１は、保護期間を１４分割し、その分割した期間ごとに面を切り替えてビットの差分管理を行なう。例えば、保護期間が１４時間なら、１時間単位で区間差分用ビットマップ１５１の面の切り替えを行なう。
【００７３】
図２５は、ジャーナルボリューム１３０からベースボリューム１４０にデータをコピーする処理、すなわち図１１における格上げ処理を示すフローチャートである。この処理はストレージ装置１００の立ち上げ時に起動される。
【００７４】
チャネルアダプタ１０５は、状態が保護中か否かを判定する（Ｓ５０１）。この判定は、状態管理テーブル１０１１の状態欄１０１１Ａの設定に基づいて行なわれる。保護中であると判定すると、すなわち、状態欄１０１１Ａに「２」が設定されている場合は（Ｓ５０１：ＹＥＳ）、チャネルアダプタ１０５は、最古ジャーナル時間と保護期間を加算した加算時間が現在時刻を経過しているか否かを判定する（Ｓ５０２）。
【００７５】
当該加算時間が現在時刻を経過している場合は（Ｓ５０２：ＹＥＳ）、チャネルアダプタ１０５は、ジャーナルデータをベースボリューム１４０にコピーする（Ｓ５０３）。すなわち、格上げ処理が行われる。そして、チャネルアダプタ１０５は、コピー済みのジャーナルデータ及びジャーナル管理情報を削除する（Ｓ５０４）。
【００７６】
このステップＳ５０４の処理を行った場合、ステップＳ５０１で状態が保護中でないと判定された場合（Ｓ５０１：ＮＯ）、又はステップＳ５０２で当該加算時間が現在時刻を経過していないと判定された場合は（Ｓ５０２：ＮＯ）、処理は、ステップＳ５０１へ戻る。
【００７７】
図１２は、ＣＤＰ処理によるリストアを説明するための図である。ユーザがリストア指示時刻を指定し、リストア指示を行なうとリストア中になる。リストア中は、プライマリボリューム１２０へのライトデータはリジェクトする。そして、ユーザが指示したリストア時間に対応する区間差分用ビットマップ１５１のＯＲデータをリストア用差分ビットマップ１５２に作成する。そして、チェック中用差分ビットマップ１５４をクリアする。なお、リストア中の格上げは停止する。
【００７８】
続いて、リストア用差分ビットマップ１５２を作成した後、ベースボリューム１４０からプライマリボリューム１２０へコピー、コピー対象はリストア用差分ビットマップ上のビットが立っているビットのみとなる。そして、ベースボリューム１４０からデータのコピーが終了したら、ジャーナルボリューム１３０のジャーナルデータをリストア指示時刻までプライマリボリューム１２０のデータにかぶらせる。
【００７９】
図２６は、プライマリボリュームリストア処理を示すフローチャートである。このプライマリボリュームリストア処理は、チャネルアダプタ１０５がリストア要求を受領すると開始される。
【００８０】
リストア要求を受領すると、チャネルアダプタ１０５は、状態管理テーブル１０１１のリストア指示時刻欄１０１１Ｃにリストア指示時刻を設定する（Ｓ６０１）。そして、チャネルアダプタ１０５は、状態として「リストア移行中」を設定する（Ｓ６０２）。すなわち、状態管理テーブル１０１１の状態欄１０１１Ａに「３」が設定される。
【００８１】
図２７は、ベースボリューム１４０からプライマリボリューム１２０へのコピー処理を示すフローチャートである。この処理は、ストレージ装置１００の立ち上げ時に起動される。
【００８２】
チャネルアダプタ１０５は、状態がリストア移行中であるか否かを判定する（Ｓ７０１）。この判定は、状態管理テーブル１０１１の状態欄１０１１Ａの設定に基づいて行なわれる。状態がリスト移行中であると判定された場合、すなわち、状態欄１０１１Ａに「３」が設定されている場合は（Ｓ７０１：ＹＥＳ）、チャネルアダプタ１０５は、区間差分用ビットマップ１５１をリストア用差分ビットマップ１５２に合成する（Ｓ７０２）。
【００８３】
そして、チャネルアダプタ１０５は、リストア用差分ビットマップ１５２の未コピー領域をベースボリューム１４０からプライマリボリューム１２０にデータをコピーする（Ｓ７０３）。そして、チャネルアダプタ１０５は、最古ジャーナルデータから状態管理テーブル１０１１のリストア指示時刻欄１０１１Ｃに設定されたリストア指示時刻までのジャーナルデータをプライマリボリューム１２０にコピーする（Ｓ７０４）。その後、チャネルアダプタ１０５は、状態に「リストア中」を設定する（Ｓ７０５）。すなわち、状態管理テーブル１０１１の状態欄１０１１Ａに「４」を設定する。
【００８４】
ステップＳ７０５で「リストア中」を設定された場合、又は、ステップＳ７０１で状態がリストア移行中でないと判定された場合、すなわち、状態欄１０１１Ａに「３」以外の数字が設定されている場合は（Ｓ７０１：ＮＯ）、処理は、ステップＳ７０１へ戻る。
【００８５】
図１３から図１５は、区間差分用ビットマップ１５１を用いた処理を概略的に説明するための図である。区間差分ビットマップ用１５１の説明を簡単にするために、図１３及ぶ図１４においては区間差分用ビットマップ用１５１を４面とした場合で説明する。
【００８６】
条件としては、保護期間「３時間」、区間差分用ビットマップ開始時間「５：００」、リストア開始の時刻「８：３０：００．０００」、リストア指定時刻「７：１５」とする。図１３に示すテーブルＴ１は、このよう設定された区間差分用ビットマップ１５１の４面に割り当てられた条件を設定するテーブルである。
【００８７】
テーブルＴ１の項目は、項目Ｔ１１から項目Ｔ１４からなる。項目Ｔ１１は１面に設定される条件を示す項目であり、項目Ｔ１２は２面に設定される条件を示す項目であり、項目Ｔ１３は３面に設定される条件を示す項目であり、項目Ｔ１４は４面に設定される条件を示す項目である。また、各項目Ｔ１１からＴ１４には、それぞれ差分開始時間と差分終了時間が設定される。例えば、項目Ｔ１１の１面には、差分開始時間として「５：００：００．０００」、差分終了時間として「５：５９：５９．９９９」が設定されている。
【００８８】
また、テーブルＴ２には、ＣＤＰ処理を行うときのベースボリューム１４０の時刻が設定されている。図１３に示すように、テーブルＴ２には、時間「４：５９：５９．９９９」が設定されている。
【００８９】
リストアにおいて、先ず、プライマリボリューム１２０とベースボリューム１４０を同じ状態にする必要がある。このとき、ベースボリューム１４０からプライマリボリューム１２０への全面コピーではなく、区間差分用ビットマップ１５１を使用し、最小限の部分をコピーする。リストア時に全ての区間差分用ビットマップ１５１をリストア用差分ビットマップ１５２に合成（ＯＲ処理）し、リストア用差分ビットマップ１５２に従い、ベースボリューム１４０からプライマリボリューム１２０へコピーを行なう。
【００９０】
図１４は、区間差分用ビットマップ１５１の１面から４面に保存されたデータを、リストア用差分ビットマップ１５２上での合成を示している。このようにリストア用差分ビットマップ１５２を用いて、区間差分用ビットマップ１５１の１面から４面に保存されたデータを合成したデータと、ベースボリューム１４０に保存されたデータからプライマリボリューム１２０へデータをコピーする。
【００９１】
図１５は、ジャーナルボリューム１３０のリストア指定時刻とリストア範囲を示している。このリストア指定時刻とリストア範囲内で指定されたジャーナルデータがジャーナルボリューム１３０に保存されている。
【００９２】
図１６は、リストア中状態（チェック中）の処理を説明するための図である。リストア中状態の処理では、プライマリボリューム１２０へのライトデータは、図１６に示すように、プライマリボリューム１２０及びジャーナルボリューム１３０へ保存され、ジャーナルデータが追加で採取される。また、リストア中状態は、区間差分用ビットマップ１５１のデータを捨てられないため、チェック中用差分ビットマップ１５４をオンに設定する。
【００９３】
図１７は、コンプリートリストア時の処理を説明するための図である。コンプリートリストア時の処理では、プライマリボリューム１２０へのライトデータは、図１７に示すように、プライマリボリューム１２０及びジャーナルボリューム１３０へ保存される。
そして、チェック中の差分を区間差分用ビットマップ１５１の最新面に反映し、ジャーナルボリューム１３０の無効範囲のジャーナルデータの無効化を実施する。そして、区間差分用ビットマップ１５１の設定をオンに切り替える。続いて、チェック中に進んだ保護期間分のジャーナルデータをジャーナルボリューム１３０からベースボリューム１４０へ格上げし、その後、通常のデータの格上げ処理を行う。
【００９４】
図２８は、コンプリートリストア時に実行される処理を示すフローチャートである。この処理は、チャネルアダプタ１０５がコンプリートリストア要求を受領すると開始する。チャネルアダプタ１０５は、コンプリートリストア要求を受領すると、状態管理テーブル１０１１の状態欄１０１１Ａに「２」を設定する（Ｓ８０１）。これにより、状態は、ＣＤＰ保護中となる。
【００９５】
図１８は、コンプリートリストア時のジャーナルデータの無効化を説明するための図である。ジャーナルボリューム１３０の期間１３０Ａ及び期間１３０Ｃは保護期間を示しており、期間１３０Ｂはコンプリートリストア時のジャーナル無効化範囲を示している。このジャーナル無効化範囲は、コンプリートリストア後、保護期間から外れる。
【００９６】
図１８に示すように、期間１３０Ａの開始時間は最古保護時間であり、期間１３０Ａの終了時間、つまり、期間１３０Ｂの開始時間は復元指示時間であり、期間１３０Ｂの終了時間、つまり、期間１３０Ｃの開始時間は復元指示時間であり、また、リストア中開始時間であり、期間１３０Ｃの終了時間はコンプリートリストア時間である。
【００９７】
最古保護時間から復元指示時間までが復元後の保護期間となり、最古保護時間から復元開始時間までが復元開始時の保護期間となり、リストア中開始時間からコンプリートリストア時間までが復元後の保護期間となる。
【００９８】
図１９は、ＣＤＰ処理による非保護期間中の動作を説明するための図である。プライマリボリューム１２０へのライトデータは、図１９に示すように、プライマリボリューム１２０へ保存される。しかし、ジャーナルボリューム１３０へはデータは保存されず、ジャーナルデータの採取は行なわれない。また、区間差分用ビットマップ１５１はプライマリボリューム１２０に保存されるデータに対応するビットは保存されない。非保護期間中の非保護中用差分ビットマップ１５５がオンに設定され、プライマリボリューム１２０に保存されるデータに対応するビットは、非保護中用差分ビットマップ１５５に保存される。そして、保護期間を過ぎたジャーナルデータは、ジャーナルボリューム１３０からベースボリューム１４０への格上げが実施される。
【００９９】
図２９は、チャネルアダプタ１０５がホスト１０からライトデータの受領したときの処理を示すフローチャートである。この処理は、ライトデータを受領すると開始する。なお、図２９は、図２４で説明した保護対象期間を有するＣＤＰ処理において、その保護対象期間中に保護非対象期間を設けた場合に実行されるＣＤＰ処理である。
【０１００】
先ず、チャネルアダプタ１０５は、リストア移行中であるか否かを判定する（Ｓ７０１）。この判定は、状態管理テーブル１０１１の状態欄１０１１Ａの設定に基づいて行なわれる。リストア移行中でないと判定すると、すなわち、状態欄１０１１Ａに「３」以外の数字が設定されている場合は（Ｓ９０１：ＮＯ）、チャネルアダプタ１０５は、コマンドを拒否する（Ｓ９０２）。
【０１０１】
一方、リスト移行中であると判定すると（Ｓ９０１：ＹＥＳ）、すなわち、状態欄１０１１Ａに「３」が設定されている場合は、チャネルアダプタ１０５は、状態がＣＤＰコピー中であるか否かを判定する（Ｓ９０３）。この判定は、ステップＳ４０１と同様に、状態管理テーブル１０１１の状態欄１０１１Ａの設定に基づいて行なわれる。
【０１０２】
状態がＣＤＰコピー中であると判定した場合、すなわち、状態欄１０１１Ａに「１」が設定されている場合は（Ｓ９０３：ＹＥＳ）、チャネルアダプタ１０５は、ライトデータのライト位置がコピー未完了であるか否かを判定する（Ｓ９０４）。
【０１０３】
ライトデータのライト位置がコピー未完了であると判定した場合は（Ｓ９０４：ＹＥＳ）、チャネルアダプタ１０５は、当該位置のデータをベースボリューム１４０にコピーする（Ｓ９０５）。そして、チャネルアダプタ１０５は、初期コピー用差分ビットマップ１５３の当該位置のデータをコピー済みにする（Ｓ９０６）。
【０１０４】
このようにコピー済みにする処理を行った場合、ステップＳ９０２で、状態がＣＤＰコピーでないと判定した場合、すなわち、状態欄１０１１Ａに「３」以外の数字が設定されていた場合（Ｓ９０３：ＮＯ）、又は、ステップＳ９０４で、ライト位置がコピー未完了でないと判定した場合は（Ｓ９０４：ＮＯ）、チャネルアダプタ１０５は、キャッシュ１０９に受領データ（受領したライトデータ）を書き込む（Ｓ９０７）。なお、受領データはキャッシュ１０９に書き込むようにしても良い。
【０１０５】
ステップＳ９０７で受領したライトデータをキャッシュ１０９に書き込むと、チャネルアダプタ１０５は、状態が通常以外であるか否かを判定する（Ｓ９０８）。この判定は、ステップＳ４０１と同様に、状態管理テーブル１０１１の状態欄１０１１Ａの設定に基づいて行なわれる。すなわち、状態欄１０１１Ａに「０」が設定されていれば、通常状態であると判定され、状態欄１０１１Ａに「１」から「５」が設定されていれば、通常状態でないと判定される。
【０１０６】
通常であると判定すると（Ｓ９０８：ＹＥＳ）、保護非対象期間管理テーブル１０１２の状態が保護中であるか否かを判定する（Ｓ９０９）。すなわち、保護非対象期間管理テーブル１０１２の状態欄１０１２Ａに「０」が設定されているか否かが判断される。状態欄１０１２Ａに「０」が設定されていれば保護中と判定され、「０」でない「１」が設定されていれば非保護中と判定される。
【０１０７】
保護中であると判定すると、すなわち、状態欄１０１２Ａに「０」が設定されている場合は（Ｓ９０９：ＹＥＳ）、チャネルアダプタ１０５は、受領データをジャーナルボリューム１３０にコピーし、管理情報を作成する（Ｓ９１０）。一方、保護中でないと判定すると、すなわち、状態欄１０１２Ａに「１」が設定されている場合は（Ｓ９０９：ＮＯ）、チャネルアダプタ１０５は、非保護中用差分ビットマップ１５５に差分を設定する（Ｓ９１１）。
【０１０８】
上記ステップＳ９０２，Ｓ９１０，Ｓ９１１の処理が終了した後、又は、ステップＳ９０８で状態が通常以外ではない、つまり、通常状態であると判定したときは、チャネルアダプタ１０５は、区間差分用ビットマップ１５１に差分を設定する（Ｓ９１２）。
【０１０９】
図２０は、ＣＤＰ処理による非保護期間中の動作から保護期間への動作の切り替えを説明するための図である。この切り替えとしては、非保護中用差分ビットマップ１５５を保護中に切り替えるときに現在使用中の区間差分用ビットマップ１５１へ合成する。そして、非保護中用差分ビットマップ１５５をもとに、プライマリボリューム１２０からジャーナルデータを生成する。また、保護期間を過ぎたジャーナルデータは、ジャーナルボリューム１３０からベースボリューム１４０へ格上げを実施する。
【０１１０】
図２１は、ＣＤＰ処理による非保護期間中の動作から保護期間への動作の切り替え処理を示すフローチャートである。この処理はストレージ装置１００の立ち上げ時に起動される。なお、チャネルアダプタアダプタ１０６による処理としても良い。
【０１１１】
例えばユーザにより、ストレージ装置１００が立ち上げられると、チャネルアダプタ１０５は、現在の時刻が保護非対象期間管理テーブル１０１２に設定されている保護非対象期間であるか否かを判定する（Ｓ１０１）。保護非対象期間でないと判定すると（Ｓ１０１：ＮＯ）、チャネルアダプタ１０５は、状態が非保護中か否かを判定する（Ｓ１０２）。この判定は保護非対象期間管理テーブル１０１２の状態欄１０１２Ａに「１」が設定されているか否かにより判定される。
【０１１２】
状態が非保護中であると判定されると、すなわち、保護非対象期間管理テーブル１０１２の状態欄１０１２Ａに「１」が設定されている場合は（Ｓ１０２：ＹＥＳ）、チャネルアダプタ１０５は、非保護中用差分ビットマップ１５５を区間差分用ビットマップ１５１に合成する（Ｓ１０３）。そして、チャネルアダプタ１０５は、非保護中用差分ビットマップ１５５上の差分データのジャーナル化処理を行う（Ｓ１０４）。
【０１１３】
続いて、チャネルアダプタ１０５は、状態を保護中に設定する（Ｓ１０５）。すなわち、保護非対象期間管理テーブル１０１２の状態欄１０１２Ａの設定を「０」にする。このように、状態を保護中に設定した場合、又は、ステップＳ１０２で保護非対象期間管理テーブル１０１２の状態が非保護中でないと判定された場合は（Ｓ１０２：ＮＯ）、処理は、ステップＳ１０１へ戻る。
【０１１４】
一方、ステップＳ１０１で保護非対象期間であると判定されると（Ｓ１０１：ＹＥＳ）、チャネルアダプタ１０５は、状態を非保護中に設定する（Ｓ１０６）。すなわち、保護非対象期間管理テーブル１０１２の状態欄１０１２Ａの設定を「１」にする。このように状態が非保護中に設定されると、処理は、ステップＳ１０１へ戻る。このようにして保護期間の監視処理が行われる。
【０１１５】
図３２は、従来のＣＤＰ処理と、本発明を適用したＣＤＰ処理との保存データ量の違いを模式的に説明するための図である。図３２に示すジャーナルデータ１４１は、従来のＣＤＰ処理を行ったときのデータ量を示しており、ジャーナルデータ１４２は、本発明を適用したＣＤＰ処理を行ったときのデータ量を示している。また、図３２は、データの保護を必要とする保護必要期間の間に、データの保護を必要としない保護不要期間を設け、従来のＣＤＰ処理と、本発明を適用したＣＤＰ処理とのデータ量の違いを示している。なお、保護必要期間のデータはライトデータ受領時に作成されるデータであり、保護不要期間のデータは非保護期間終了時に差分データにより作成されるデータである。
【０１１６】
従来のＣＤＰ処理では、保護対象期間、保護非対象期間の区別なくジャーナルデータを保存する必要があるのに対して、本発明を適用したＣＤＰ処理では、保護非対象期間は、その終了時に差分データにより作成されるデータを保存すればよい。したがって、図３２に示すように、本発明は、保護非対象期間に保存するデータ量を低減することができる。
【０１１７】
図３３及び図３４は、従来のＣＤＰ処理と、本発明を適用したＣＤＰ処理とのジャーナルデータの時間の違いを模式的に説明するための図である。図３３が従来のＣＤＰ処理のジャーナルデータの時間を示し、図３４が本発明を適用したＣＤＰ処理のジャーナルデータの時間を示している。
【０１１８】
図３３は、従来のＣＤＰ処理におけるプライマリボリューム１２０、ジャーナルボリューム１３０及びベースボリューム１４０上のライトデータの保存状態及び時間経過による保存状態の遷移を示している。
【０１１９】
図３４は、本発明を適用したＣＤＰ処理におけるプライマリボリューム１２０、ジャーナルボリューム１３０及びベースボリューム１４０上のライトデータの保存状態及び時間経過による保存状態の遷移を示している。
【０１２０】
図３５は、保護非対象期間近傍を拡大した図である。保護非対象期間の先端の時間を時間ＴＡ、後端の時間を時間ＴＢとしている。時間ＴＡ〜時間ＴＢの間に受領したライトデータは、差分管理され、保護非対称期間終了時に時間ＴＢ時点で受領したライトデータとしてジャーナル管理される。
【０１２１】
図３６及び図３７は、従来のＣＤＰ処理と、本発明を適用したＣＤＰ処理とのジャーナルデータのデータ量の違いの一例を示す図である。図３６が従来のＣＤＰ処理のジャーナルデータのデータ量を示し、図３７が本発明を適用したＣＤＰ処理のジャーナルデータのデータ量を示している。
【０１２２】
一例としては、通常の業務を行なう通常業務時間帯と、通常業務で取得したデータ等に基づくバッチ処理を深夜に行う深夜バッチジョブ時間帯とがストレージ装置１００に設定されている場合を具体例として説明する。従って、ストレージ装置１００では、通常業務時間帯と、深夜バッチジョブ時間帯が交互に繰り返される。なお、棒グラフの高さは、ジャーナルデータのデータ量「ＧＢ」を示している。
【０１２３】
図３６に示すように、従来のＣＤＰ処理においては、深夜バッチジョブ時間帯で実行されるバッチ処理のジャーナルデータが全て保存される。このため、バッチ処理の開始時間（０：００）から終了時間（約７：００）までに、３３０ＧＢのジャーナルデータが保存される。
【０１２４】
しかしながら、バッチ処理等は、処理が実行中のデータについてはその重要性が低い。このため、保護対象期間である通常業務時間帯で挟まれる深夜バッチジョブ時間帯（０：００〜７：００）を保護非対象期間として、本発明を適用する。すると、図３７に示すように、深夜バッチジョブ時間帯に、９９ＧＢのジャーナルデータをジャーナルボリューム１３０に保存するだけでよくなる。なお、ジャーナルデータの削減量は、保護期間の合計データ量３３０ＧＢ（４０ＧＢ＋５０ＧＢ＋５０ＧＢ＋５０ＧＢ＋５０ＧＢ＋５０ＧＢ＋４０ＧＢ）×上書き率７０パーセントとすると、２３１ＧＢとなる。したがって、実際にジャーナルボリューム１３０に保存されるデータ量は、３３０ＧＢから２３１ＧＢを減算した９９ＧＢとなる。すなわち、本発明を適用したＣＤＰ処理を行うことにより、従来のＣＤＰ処理の場合より、ジャーナルボリューム１３０に保存するジャーナルデータのデータ量を２３１ＧＢ削減することができる。
【０１２５】
上記実施の形態によると、ストレージ装置１００に復元不要の時間帯である保護非対象期間を設定する機能を設け、保護非対象期間ではライトデータを随時保存することなく、当該期間の開始時点と終了時点での差分のライトデータを保存するように制御することにより、保護非対象期間に同一の領域に繰り返しライトデータが発生した場合に保存されるライトデータの容量を削減できる。また、復元不要なデータのバックアップを回避するとともに、バックアップデータ量の削減、ボリュームの記憶領域の有効活用をすることができる。
【０１２６】
また、ストレージ装置１００は、例えば、ＳＶＰ１１から保護期間内で非保護期間内の時間にプライマリボリューム１２０を復元する指示を受け付けると、ジャーナルボリューム１３０及びベースボリューム１４０を用いて、その指示された時間の状態にプライマリボリューム１２０を復元することができる。
【０１２７】
図３１は、ＣＤＰ機能による復元処理を示すフローチャートである。チャネルアダプタ１０５は、ＳＶＰ１１から所定時間にプライマリボリューム１２０の状態を回復する指示を受信すると（Ｓ１０１１）、その指示に基づく時間までジャーナルボリューム１３０に保存されたジャーナルデータ及びベースボリューム１４０に保存されたデータを用いて、その指示された時間までデータをたどり、当該指示された時間のプライマリボリューム１２０の状態に復元する（Ｓ１０１２）。
【０１２８】
この際、ジャーナルボリューム１３０に保存されているデータ量が従来より少ないため、プライマリボリューム１２０の状態の復元を従来より短時間で行なうことができる。すなわち、ボリューム復元時間の短縮化を図ることができる。
【０１２９】
なお、上述の実施の形態においては、本発明を図１のように構成されたストレージ装置１００に適用するようにして説明した場合について述べたが、本発明はこれに限られず、この他種々の構成のストレージ装置に広く適用することができる。
【０１３０】
また、本発明をホスト１０から送信されるデータを保存するプライマリボリューム１２０と、プライマリボリュームに保存されるデータをバックアップするジャーナルボリューム１３０と、プライマリボリューム１２０に保存されるデータを所定の保護期間内でのみ保護するために保存するベースボリュームと、所定保護期間を示す保護期間情報を保存する状態管理テーブル１０１１と、所定保護期間内のジャーナルボリューム１３０へのバックアップを停止する非保護期間を示す非保護期間情報を保存する保護非対象期間管理テーブル１０１２と、ＣＤＰ処理を実行する保護期間ではプライマリボリューム１２０に保存されるデータをジャーナルボリューム１３０に保存されるバックアップされたデータを用いてベースボリューム１４０で保護するデータ保護処理を行い、ＣＤＰ処理を実行する保護期間内の非保護期間ではデータ保護処理を停止するデータ非保護処理を行うとともに、プライマリボリューム１２０を保護時間内で非保護期間でない時間に復元する指示をホスト１０から受け付けると、ジャーナルボリューム１３０でバックアップしたデータ及びベースボリューム１４０に保護したデータを用いてプライマリボリューム１２０を指示に基づく時間の状態に復元するチャネルアダプタ１０５を備えるストレージ装置１００に適用した場合で説明したが、その他のストレージ装置にも適用できるものである。
【０１３１】
なお、データ保護処理は、保護期間内を所定時間で分割した分割期間（例えば、１４分割した期間）ごとに設けられる、プライマリボリューム１２０のデータ保存領域のデータを保存するトラックと１対１でビットが対応するビットマップを例えば１６面含む区間差分ビットマップ用１５１を、分割期間ごとに切り替えてプライマリボリュームに保存されるデータのバックアップを行い、データ非保護処理は、区間差分ビットマップ用１５１のビットマップを使用せずに、非保護期間に設けられる前記第１の論理ボリュームのデータ保存領域のデータを保存するトラックと１対１でビットが対応する非保護中用差分ビットマップ１５５を用いてプライマリボリューム１２０に保存されるデータのバックアップを行い、非保護中用差分ビットマップ１５５を用いてバックアップしたデータは、非保護期間が終了しきに区間差分ビットマップ用１５１のうちの最新のビットマップに合成する場合を説明しているが、この実施形態に限定されるものではない。
【産業上の利用可能性】
【０１３２】
本発明は、種々のストレージ装置に広く適用することができる。
【図面の簡単な説明】
【０１３３】
【図１】本発明に係わるストレージシステムの概略的な構成を示す図である。
【図２】本発明に係わるディスクコントローラ部の内部構成及びＣＤＰ処理を概念的に説明するための図である。
【図３】本発明に係わるプライマリボリュームを説明するための図である。
【図４】本発明に係わる状態管理テーブルを示す図である。
【図５】本発明に係わるジャーナルボリュームに保存される内容を説明するための図である。
【図６】本発明に係わる状態管理テーブルの内容を説明するための図である。
【図７】本発明に係わる保護非対象期間管理テーブルを示す図である。
【図８】本発明に係わるＳＶＰの表示部に表示される保護期間の指定画面を示す図である。
【図９】本発明に係わるＣＤＰ処理における動作の流れを説明するための図である。
【図１０】本発明に係わるＣＤＰ処理によるプライマリボリュームへのライトデータの保護が開始されたときの状態を説明するための図である。
【図１１】本発明に係わるＣＤＰ処理によるプライマリボリュームへのライトデータが保護されているときの保護状態を説明するための図である。
【図１２】本発明に係わるＣＤＰ処理によるリストア状態を説明するための図である。
【図１３】本発明に係わる区間差分用ビットマップを用いた処理を概略的に説明するための図である。
【図１４】本発明に係わる区間差分用ビットマップを用いた処理を概略的に説明するための図である。
【図１５】本発明に係わる区間差分用ビットマップを用いた処理を概略的に説明するための図である。
【図１６】本発明に係わるテンポラリリストア時の処理を説明するための図である。
【図１７】本発明に係わるコンプリートリストア時の処理によるジャーナルの無効化を説明するための図である。
【図１８】本発明に係わるコンプリートリストア時の処理を説明するための図である。
【図１９】本発明に係わるＣＤＰ処理による非保護期間中の動作を説明するための図である。
【図２０】本発明に係わるＣＤＰ処理による非保護期間中の動作から保護期間への動作の切り替えを説明するための図である。
【図２１】本発明に係わるＣＤＰ処理による非保護期間中の動作から保護期間への動作の切り替え処理を示すフローチャートである。
【図２２】本発明に係わるＣＤＰ形成指示の処理を示すフローチャートである。
【図２３】本発明に係わるプライマリボリュームからベースボリュームへのコピー処理を示すフローチャートである。
【図２４】本発明に係わるライトデータを受領したときの処理を示すフローチャートである。
【図２５】本発明に係わるジャーナルボリュームからベースボリュームにデータをコピーする処理を示すフローチャートである。
【図２６】本発明に係わるリストア処理を示すフローチャートである。
【図２７】本発明に係わるベースボリュームからプライマリボリュームへのコピー処理を示すフローチャートである。
【図２８】本発明に係わるコンプリートリストア時に実行される処理を示すフローチャートである。
【図２９】本発明に係わるライトデータを受領したときの処理を示すフローチャートである。
【図３０】本発明に係る情報の設定処理を示すフローチャート。
【図３１】本発明に係るＣＤＰ機能による復元処理を示すフローチャート。
【図３２】従来のＣＤＰ処理と本発明を適用したＣＤＰ処理との保存データ量の違いを模式的に説明するための図である。
【図３３】従来のＣＤＰ処理におけるプライマリボリューム、ジャーナルボリューム及びベースボリューム上のライトデータの保存状態及び時間経過による保存状態の遷移を示す図である。
【図３４】本発明に係わるＣＤＰ処理におけるプライマリボリューム、ジャーナルボリューム及びベースボリューム上のライトデータの保存状態及び時間経過による保存状態の遷移を示す図である。
【図３５】本発明に係わる保護非対象期間近傍を拡大した図である。
【図３６】従来のＣＤＰ処理のジャーナルデータのデータ量を示す図である。
【図３７】本発明に係わるＣＤＰ処理のジャーナルデータのデータ量を示す図である。
【符号の説明】
【０１３４】
１…ストレージシステム
１０…ホスト
１１…ＳＶＰ
１２…ＳＶＰの表示画面
１３…保護期間の指定欄
１４…非保護期間の指定欄
１９…表示欄
１００…ストレージ装置
１００Ａ…ディスクコントローラ部
１００Ｂ…ディスク部
１０１，１０２…共有メモリ
１０３，１０４…ディスクアダプタ
１０５，１０６…チャネルアダプタ
１０９，１１０…キャッシュメモリ
１１１…ハードディスクドライブ
１２０…プライマリボリューム
１２１…差分エリア
１３０…ジャーナルボリューム
１３１…状態管理テーブル
１４０…ベースボリューム
１５０…各種差分ビットマップ
１５１…区間差分用ビットマップ
１５２…リストア用差分ビットマップ
１５３…初期コピー用差分ビットマップ
１５４…チェック中用差分ビットマップ
２１０…通常（Simplex）状態
２２０…コピー状態
２３０…保護状態
２４０…リストア状態
２５０…停止状態
１０１１…状態管理テーブル
１０１２…保護非対象期間管理テーブル
【図１】
2008257364.tif 000003
【図２】
2008257364.tif 000004
【図３】
2008257364.tif 000005
【図４】
2008257364.tif 000006
【図５】
2008257364.tif 000007
【図６】
2008257364.tif 000008
【図７】
2008257364.tif 000009
【図８】
2008257364.tif 000010
【図９】
2008257364.tif 000011
【図１０】
2008257364.tif 000012
【図１１】
2008257364.tif 000013
【図１２】
2008257364.tif 000014
【図１３】
2008257364.tif 000015
【図１４】
2008257364.tif 000016
【図１５】
2008257364.tif 000017
【図１６】
2008257364.tif 000018
【図１７】
2008257364.tif 000019
【図１８】
2008257364.tif 000020
【図１９】
2008257364.tif 000021
【図２０】
2008257364.tif 000022
【図２１】
2008257364.tif 000023
【図２２】
2008257364.tif 000024
【図２３】
2008257364.tif 000025
【図２４】
2008257364.tif 000026
【図２５】
2008257364.tif 000027
【図２６】
2008257364.tif 000028
【図２７】
2008257364.tif 000029
【図２８】
2008257364.tif 000030
【図２９】
2008257364.tif 000031
【図３０】
2008257364.tif 000032
【図３１】
2008257364.tif 000033
【図３２】
2008257364.tif 000034
【図３３】
2008257364.tif 000035
【図３４】
2008257364.tif 000036
【図３５】
2008257364.tif 000037
【図３６】
2008257364.tif 000038
【図３７】
2008257364.tif 000039