JP4906562B2 - ストレージ装置及びボリューム復元方法 - Google Patents

ストレージ装置及びボリューム復元方法 Download PDF

Info

Publication number
JP4906562B2
JP4906562B2 JP2007096931A JP2007096931A JP4906562B2 JP 4906562 B2 JP4906562 B2 JP 4906562B2 JP 2007096931 A JP2007096931 A JP 2007096931A JP 2007096931 A JP2007096931 A JP 2007096931A JP 4906562 B2 JP4906562 B2 JP 4906562B2
Authority
JP
Japan
Prior art keywords
data
protection
logical volume
period
volume
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2007096931A
Other languages
English (en)
Other versions
JP2008257364A (ja
Inventor
秀典 鈴木
俊二 川村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2007096931A priority Critical patent/JP4906562B2/ja
Priority to US11/968,277 priority patent/US7908447B2/en
Publication of JP2008257364A publication Critical patent/JP2008257364A/ja
Application granted granted Critical
Publication of JP4906562B2 publication Critical patent/JP4906562B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2002Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
    • G06F11/2007Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
    • G06F11/201Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media between storage system components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ストレージ装置及びボリューム復元方法に関し、例えば、ストレージ装置のCDP(コンティニューアス・データ・プロテクション:Continuous Data Protection)処理によるデータ復元方法に適用しても好適なものである。
ストレージ装置におけるボリュームを復元する技術としてCDPがある。CDPとは、ストレージ装置に接続されたホストを使用せず、ストレージ装置側のみで、データ保護対象のボリュームへの書き込みを更新履歴として保存しておき、過去の任意の時点のイメージに復元可能とする技術である。CDPでは事前にユーザが任意の保護期間を設定することにより、保護期間の範囲で任意の時点に戻すことが可能となる。この任意の時点は、例えば、時間指定、マーカー指定などによりユーザが指定することが可能である。
ある時点におけるボリュームのスナップショットを取得する技術が知られている(例えば、特許文献1参照)。
特開2004−342050号公報
CDPを行なう場合、ストレージ装置は、全てのライトデータを保存する。このため、データを復元する必要のない時間帯であってもライトデータを保存する。したがって、不要なライトデータを保存することにより、ボリュームのデータ量が膨大となること、またこのようにボリュームのデータ量が膨大となるためボリュームの復元時間が長くなるという問題があった。
また、他のデータコピーの技術として、複数のストレージ間でデータコピーを行なうリモートコピー技術、単一のストレージ装置内の複数ボリューム間でデータコピーを行なうローカルコピー技術、ある時点のデータを保障するスナップショット技術もある。リモートコピー、ローカルコピーでは、最新のボリュームに復元することは可能であるが、過去のある時点のボリュームに復元することができない。また、スナップショットでは、予め指定しておけばその指定されたある時点のボリュームに復元することができるが、任意のある時間のボリュームに復元することはできない。
本発明は、以上の点を考慮してなれたもので、過去のある時点のデータを復元する場合にボリュームに保存するデータ量の低減を図るとともにボリューム復元時間を短時間にすることができるストレージ装置及びボリューム復元方法を提案しようとするものである。
本発明は、ストレージ装置に復元不要の時間帯である保護非対象期間を保護対象期間内に設定する機能を設け、保護非対象期間ではライトデータを随時バックアップすることなく、保護非対象期間の開始時点と終了時点での差分のライトデータをバックアップするように制御するものである。
これにより、保護非対象期間に同一の領域に繰り返しライトデータが発生した場合に保存されるライトデータの容量を削減できる。また、復元不要なデータのバックアップを回避するとともに、バックアップデータ量の削減、ボリュームの記憶領域の有効活用、ボリューム復元時間の短縮化を図ることができる。
また、本発明は、上位装置から送信されるデータを保存する第1の論理ボリュームと、前記第1の論理ボリュームに保存されるデータをバックアップする第2の論理ボリュームと、前記第1の論理ボリュームに保存されるデータを所定の保護期間内でのみ保護するために保存する第3の論理ボリュームと、前記所定保護期間を示す保護期間情報を保存する第1の保存部と、前記所定保護期間内の前記第2の論理ボリュームへのバックアップを停止する非保護期間を示す非保護期間情報を保存する第2の保存部と、前記保護期間では前記第1の論理ボリュームに保存されるデータを前記第2の論理ボリュームに保存されるバックアップされたデータを用いて前記第3の論理ボリュームで保護するデータ保護処理を行い、前記保護期間内の前記非保護期間では前記データ保護処理を停止するデータ非保護処理を行うとともに、前記第1の論理ボリュームを前記保護時間内で前記非保護期間でない時間に復元する指示を外部から受け付けると前記第2の論理ボリュームでバックアップしたデータ及び前記第の3の論理ボリュームに保護したデータを用いて前記第1の論理ボリュームを前記指示に基づく時間の状態に復元する制御部と、を備えることを特徴とするストレージ装置である。
したがって、保護期間では第1の論理ボリュームに保存されるデータを第2の論理ボリュームに保存されるバックアップされたデータを用いて第3の論理ボリュームで保護するデータ保護処理を行い、保護期間内の第2の論理ボリュームへのバックアップを停止する非保護期間ではデータ保護処理を停止するデータ非保護処理を行い、第1の論理ボリュームを保護時間内で非保護期間でない時間に復元する指示を外部から受け付けると第2の論理ボリュームでバックアップしたデータ及び第の3の論理ボリュームに保護したデータを用いて第1の論理ボリュームを指示に基づく時間の状態に復元することにより、保護期間内で非保護期間内でない過去のある時点における第1の論理ボリュームのデータの復元を短時間で行なうことができる。
本発明によれば、過去のある時点のデータを復元する場合にボリュームに保存するデータ量の低減を図るとともにボリューム復元時間を短時間にすることができるストレージ装置及びボリューム復元方法を提供できる。
以下、本発明の一実施の形態について図面を参照して説明する。
図1は、本発明を適用したストレージシステムの概略的な構成を示す図である。図1に示すように、ストレージシステム1は、ストレージ装置100、ホスト10及びSVP11を含んでいる。
ホスト(オープン/メインフレーム)10は、ストレージ装置100と通信可能に接続されており、ストレージ装置100に対して、ライト要求やリード要求等を行なう。
SVP11は、ストレージ装置100の保守端末であり、操作部や表示部(これらは、図示を省略する。)を含んでいる。ユーザは、操作部や表示部を用いて、ストレージ装置100の各種設定を行なう。
ストレージ装置100は、ディスクコントローラ部(DKC)100Aとディスク部(DKU)100Bを含んでいる。ディスクコントローラ部100Aは、共有メモリ101,102、ディスクアダプタ(DKA)103,104、チャネルアダプタ(CHA)105,106、スイッチ107,108、キャッシュメモリ109,110を有しており、ディスク部100Bは、複数のハードディスクドライブ111を有している。
チャネルアダプタ105,106はそれぞれ共有メモリ101,102、スイッチ107,108に接続されるとともにホスト10と接続されている。また、ディスクアダプタ103,104はそれぞれ共有メモリ101,102、スイッチ107,108に接続されるとともに複数のハードディスクドライブと接続されている。さらに、スイッチ107,108はそれぞれキャッシュメモリ109,110と接続されている。
なお、図1に示すストレージ装置100は、共有メモリ101,102、ディスクアダプタ103,104、チャネルアダプタ105,106、スイッチ107,108、キャッシュメモリ109,110のように各要素を2個ずつ配置するダブルコントローラとしているが、共有メモリ、ディスクアダプタ、チャネルアダプタ、スイッチ、キャッシュメモリの各要素を1個ずつ配置したシングルコントローラとしても良い。
チャネルアダプタ105,106は、それぞれ複数のCPU(Central Processing Unit)、メモリ及び通信インタフェース等を備えたマイクロコンピュータシステムとして構成されている。そして、それぞれネットワーク等に接続するためのポートを備える。チャネルアダプタ105,106は、ホスト10から通信回線を介して送信される各種コマンドを解釈して対応する処理を実行する。また、チャネルアダプタ105,106は、マイクロプロセッサ上で動作する組み込みソフトウェアでCDP機能を実現できるようになっている。このCDP機能を実現することにより、後述するCDP処理が実行される。
ディスクアダプタ103,104は、それぞれ複数のCPUやメモリを備えたマイクロコンピュータシステムとして構成されており、ディスク部100B内のハードディスクドライブ111へのデータの読み書きを制御する。ディスクアダプタ103,104は、例えば、チャネルアダプタ105がホスト10から受信したデータをハードディスクドライブ111の所定のアドレスに書き込む。また、各々のディスクアダプタ103,104は、ハードディスクドライブ111から読み取ったデータをチャネルアダプタ105,106へ送信する。
キャッシュメモリ109,110及び共有メモリ101,102は、チャネルアダプタ105,106及びディスクアダプタ103,104により共有される記憶メモリである。キャッシュメモリ109,110は、主に、ストレージ装置100に入出力する書込み対象や読出し対象のデータを一時的に記憶するために利用される。共有メモリ101,102は、主に、ストレージ装置100全体の構成に関するシステム構成情報、各種プログラム、各種テーブル、書込み要求や読出し要求等のコマンドを記憶するために利用される。例えば、共有メモリ101には、後述する状態管理テーブル1011及び保護非対象期間管理テーブル1012等が保存される。
スイッチ107,108は、キャッシュメモリ109,110のオン/OFF動作を行うスイッチである。ハードディスクドライブ111は、ディスクアダプタ103,104によってデータが書き込まれ、また、ディスクアダプタ103,104によって書き込まれたデータが読取られる。
図2は、ディスクコントローラ部100Aの内部構成及びCDP処理を概念的に説明するための図である。CDPはグルーピングできるようになっている。このグルーピングされるCDPグループは、プライマリボリューム(Pvol)120とベースボリューム(Bvol)140とが1対1で対応した1又は2以上の組と、これらと対応付けられたジャーナルボリューム(JNLvol)130及び各種差分ビットマップ(BM)150で構成される。
なお、プライマリボリューム120、ジャーナルボリューム130及びベースボリュームは論理ボリューム(メインフレームの場合はロジカルデバイス(LDEV)、オープンの場合はロジカルユニット(LU))であり、これらプライマリボリューム120、ジャーナルボリューム130及びベースボリューム140は図示しない論理アドレスと物理アドレスを変換するアドレス変換テーブルによってハードディスクドライブ111内の実データと対応している。
プライマリボリューム120は、ホスト10がI/O(Input/Output)データを書き込むボリュームである。ジャーナルボリューム130は、プライマリボリューム120の保護期間内に書き込まれたライトデータのバックアップを、各種差分ビットマップ150を用いて保存するボリュームである。ベースボリューム140は、CDP機能によって定められたデータの保護期間の最古のデータ(保護期間が24時間であれば、24時間前のデータ)を保存するボリュームである。したがって、プライマリボリューム120に書き込まれたライトデータは、定められた保護期間(後述する非保護期間は除く)中、ベースボリューム140にバックアップされる。
CDP処理を行うことにより、プライマリボリューム120に書き込まれたライトデータを各種差分ビットマップ150、ジャーナルボリューム130に保存し、所定の保護期間を過ぎたデータをジャーナルボリューム130からベースボリューム140に格上げする。これにより、プライマリボリューム120の状態を最過去データへリカバリすること、または、所定の保護期間内の指定時間データへのリカバリをすることが可能となる。これらの処理については、後述する。
各種差分ビットマップ150は、図10等に示される区間差分用ビットマップ(BM)151、リストア用差分ビットマップ(BM)152、初期コピー用差分ビットマップ(BM)153、チェック中用差分ビットマップ(BM)154及び非保護中用差分ビットマップ(BM)155等である。区間差分用ビットマップ151、リストア用差分ビットマップ152、初期コピー用差分ビットマップ153、チェック中用差分ビットマップ154及び非保護中用差分ビットマップ155についての説明は後述する。
図3は、プライマリボリューム120の構成を説明するための図である。プライマリボリューム120は、ホスト10がアクセス可能なデータ領域の範囲と、ホスト10がアクセス不可能なデータ領域の範囲とが設けられている。そして、そのホスト10がアクセス不可能なデータ領域の範囲に、差分エリア121が設けられている。なお、図示を省略するが、ジャーナルボリューム130及びベースボリューム140も同様な構成となっている。また、差分エリア121内に作成される各種ビットマップは、論理ボリューム作成時に確保され、そのビットマップはCDP処理を行うためのペアが作成されるときに初期化される。
図4は、状態管理テーブル1011を示す図である。状態管理テーブル1011は、状態欄1011A、保護期間欄1011B、リストア指示時刻欄1011Cの各欄が設けられている。状態欄1011Aは、CDP処理を行うための各処理状態を示す情報を保存する。保護期間欄1011Bは、CDP処理を実行してデータを保護する期間を保存する。リストア指示時刻欄1011Cは、リストアを指示する時刻を保存する。
CDP処理を行うための各処理状態としては、「通常」、「CDPコピー中」、「CDP保護中」、「リストア移行中」、「リストア中」及び「停止中」の状態がある。各状態についての説明は、後述する。状態欄1011Aには、「通常」の場合は「0」、「CDPコピー中」の場合は「1」、「CDP保護中」の場合は「2」、「リストア移行中」の場合は「3」、「リストア中」の場合は「4」及び「停止中」の場合は「5」が保存される。
保護期間欄1011Bには、保護期間が設定される。例えば、何時間、何十日間などのように設定される。なお、この実施の形態では、時間及び日数を保存する場合で説明するが、開始時間及び終了時間、開始日から終了日を保存する構成としても良い。保護期間の設定方法については、後述する。リストア指示時刻欄1011Cにはリストア状態となっているときに、リストアを行なう時刻を保存する。
図5は、ジャーナルボリューム130に保存される内容を説明するための図である。ジャーナルボリューム130は、状態管理テーブル131を保存する領域とライトデータを保存する領域とから構成される。
図6は、状態管理テーブル131の内容を説明するための図である。この状態管理テーブル131のジャーナル管理情報は、ライトデータごとに作成される。状態管理テーブル131は、保存欄131Aから131Dが設けられている。保存欄131Aは、プライマリボリューム120上の位置を保存する。保存欄131Bは、ジャーナルボリューム130上の位置を保存する。保存欄131Cは、ライトデータの受領時刻を保存する。保存欄131Dは、シーケンス番号を保存する保存欄131Dを保存する。
図7は、保護非対象期間管理テーブル1012を示す図である。保護非対象期間管理テーブル1012は、状態欄1012A、ID欄1012B、曜日欄1012C、月欄1013D、開始時間欄1012E及び終了時間欄1012Fの各欄が設けられている。
状態欄1012Aは、ストレージ装置100がCDP処理で保護される保護対象期間であるか、CDP処理で保護されない保護非対象期間であるかの状態を設定する欄である。保護対象期間であるときは保護中として「0」、保護非対象期間であるときは非保護中として「1」が設定される。
ID欄1012Bは、毎日、毎週又は毎月を設定するIDを設定する欄である。毎日であれば「0」、毎週であれば「1」、毎月であれば「2」がIDとして設定される。曜日欄1012Cは、曜日を設定する欄である。月曜日であれば「0」、火曜日であれば「1」、水曜日であれば「2」、木曜日であれば「3」、金曜日であれば「4」、土曜日であれば「5」、日曜日であれば「6」が設定される。月欄1013Dには、日が設定される。すなわち、毎月何日という設定となる。したがって、1〜31日のいずれの数字が設定される。開始時間欄1012Eは、保護非対象期間を開始する時間が設定される。終了時間欄1012Fは、保護非対象期間を終了する時間が設定される。なお、ID欄1012B、曜日欄1012C、月欄1012D、開始時間欄1012E及び終了時間欄1012Fは、1つの組として設定される。
保護非対象期間管理テーブル1012においては、状態欄1012Aには、保護中を示す状態として「0」が設定されている。また、保護非対象期間管理テーブルには、保護非対象期間として、「毎日:0:00〜6:00」、「毎週:日曜日:0:00〜0:00」が設定されている。具体的には、「毎日:0:00〜6:00」に対応して保護非対象期間管理テーブルには、ID欄1012Bに「0」、曜日欄1012C及び月欄1012Dは空欄、開始時間欄1012Eに「0:00」及び終了時間欄1012Fに「6:00」が設定されている。また、「毎週:日曜日:0:00〜0:00」に対応してテーブルT1012には、ID欄1012Bに「1」、曜日欄1012Cに「0」、月欄1012Dは空欄、開始時間欄1012Eに「0:00」及び終了時間欄1012Fに「0:00」が設定されている。
図8は、SVP11の表示部に表示される保護期間の指定画面12を示す図である。この指定画面12及び操作部(図示しない。)を用いて、ユーザは、保護期間及び非保護期間を設定する。指定画面12は、保護期間を指定する保護期間の指定欄13、非保護期間の指定欄14、OKボタン15、キャンセルボタン16、右矢印ボタン17、左矢印ボタン18及び表示欄19が配置されている。
保護期間の指定欄13には、プライマリボリューム120に書き込まれたライトデータの保護をする期間を指定する。例えば、ユーザは、SVP11の操作部を操作して、24時間、30日間のように指定する。
非保護期間の指定欄14には、毎日、毎週、毎月のいずれかを設定し、その設定に対応させて毎日なら非保護期間の時間を、毎週なら曜日と非保護期間の時間を、毎月なら日と非保護期間の時間を設定する。例えば、ユーザは、SVP11の操作部を操作して、所望の設定を行なう。なお、この非保護期間の指定欄14で指定される非保護期間は、保護期間の指定欄13で指定された保護期間内のいずれかの期間となる。
このように、非保護期間の設定が終了すると、ユーザは、SVP11の操作部を操作して指定画面12上の右矢印ボタン17を押下する。すると、非保護期間の一覧を表示する表示欄19に設定した非保護期間が表示される。例えば、ユーザが「毎日:0:00〜6:00」と設定した後、右矢印ボタン17を押下した場合は、「毎日:0:00〜6:00」が表示欄19に表示される。なお、指定画面12では複数の非保護期間を設定できるようになっている。したがって、ユーザがさらに「毎週:日曜日:0:00〜0:00」と設定した後、右矢印ボタン17を押下した場合は、表示欄19の「毎週:日曜日:0:00〜0:00」の表示の下側に「毎日:0:00〜6:00」が表示される。図12の表示欄19は、この状態を表示している。
なお、ユーザがSVP11の操作部を操作して表示欄19に表示されている非保護期間の設定を指定し、左矢印ボタン18を押下することにより、その指定された非保護期間の設定はクリアされる。そして、表示欄19からその指定された非保護期間の表示が削除される。
ユーザが指定画面12で指定した保護期間及び非保護期間で良いことを決定した場合は、操作部を用いて指定画面12上のOKボタン15を押下する。すると、保護期間の指定欄13で指定した保護期間の設定及び非保護期間の指定欄14で指定した保護期間の設定を示す設定情報がSVP11からストレージ装置100に送信される。そして、ストレージ装置100内のチャネルアダプタ105又は106によって、状態管理テーブル1011に保護期間が、保護非対象期間管理テーブル1012に非保護期間が設定される。
図30は、ストレージ装置100がSVP11から設定情報を受信したときの処理を示すフローチャートである。図30に示すように、チャネルアダプタ105は、設定情報を受信すると(S1001)、設定情報をテーブルに設定する(S1002)。すなわち、状態管理テーブル1011に保護期間の設定が、保護非対象期間管理テーブル1012に非違保護期間の設定等が保存される。
なお、OKボタン15に代えてキャンセルボタン16がユーザにより入力された場合は、保護期間の指定欄13及び非保護期間の指定欄14に設定された内容はクリアされる。
また、この実施の形態では、SVP11の表示部に表示される指定画面12及び操作部を用いて保護期間及び非保護期間を設定する構成としているが、この構成に限るものではない。例えば、ホスト10からの非保護期間を開始する開始コマンド及び非保護期間を終了する終了コマンドを受信することによって、CDP処理を行う保護期間における非保護期間を設けるように構成しても良い。すなわち、例えば、チャネルアダプタ105は、ホスト10から開始コマンドを受信した場合は保護非対象期間管理テーブル1012の状態欄1012Aに「1」(非保護期間を示す)を設定し、ホスト10から終了コマンドを受信した場合は保護非対象期間管理テーブルの状態欄1012Aに「0」を設定する。
また、CDP機能は、グルーピングすることができるので、例えば、ユーザは、SVP11の操作部を用いてCDPグループを上記指定画面12とは別の指定画面で指定した後、上述の指定画面12で保護期間及び非保護期間の設定等を行なうようにすることにより、CDPグループごとに指定画面12における設定を行なうことが可能となる。
図9はCDP処理における動作の流れを説明するための図である。動作の状態としては、通常(シンプレックス)状態210、コピー状態(コピー中)220、保護状態230、リストア状態240、停止状態250の5つの状態を示している。
通常(シンプレックス)状態210は、データが保護されていない状態である。すなわち、プライマリボリューム120にライトデータが入っても、ジャーナルボリューム130にも、ベースボリューム140にも何らライトデータは保存されない。
そして、CDP開始が指示されると、動作状態は、コピー状態220に遷移する。コピー状態220は、ベースボリューム140を作成し、プライマリボリューム120に書き込まれたライトデータをジャーナルボリューム130にバックアップする処理を開始する。そして、このようにバックアップが開始されるとともにベースボリューム140の作成が終了すると、保護状態230に遷移する。このように保護状態230に遷移すると、任意の時間にデータの状態を戻せるようになる。
保護状態230において、プライマリボリューム120のデータを任意の時間に戻したい場合に、テンポラリリストアが指示されリストア状態240に遷移する。リストア状態240では、リストア処理が実行される。リストアは、ベースボリューム140とジャーナルボリューム130のデータを用いてプライマリボリュームを復元する処理である。このリストア処理によって復元したデータが完全でない場合は、再リストアが指示される。これにより、再びリストア処理が行われる。これを繰り返し、リストア処理によって復元したデータが完全である場合に、コンプリートリストアが指示され、保護状態230に再び遷移し、データが確定する。そして、その後継続してデータのバックアップが実行される。
一方、保護状態230又はリストア状態240でCDP停止が指示されると、停止状態250に遷移する。停止状態250は、CDP処理を停止する状態である。この停止状態250でCDP再開が指示されると、保護状態230に遷移し、CDP処理によるデータのバックアップを再開する。また、保護状態230、リストア状態240又は停止状態250でCDP削除が指示されると、通常状態210に遷移する。
図10は、CDP処理によるプライマリボリューム120へのライトデータの保護が開始されるときの状態を説明するための図である。
先ず、区間差分用ビットマップ151、リストア用差分ビットマップ152、初期コピー用差分ビットマップ153及びチェック中用差分ビットマップ154について説明する。なお、区間差分用ビットマップ151、リストア用差分ビットマップ152、初期コピー用差分ビットマップ153、チェック中用差分ビットマップ154及び非保護中用差分ビットマップ155は、例えば、チャネルアダプタ105によって、CDP処理の各状態に応じて使用される。
また、区間差分用ビットマップ151、リストア用差分ビットマップ152、初期コピー用差分ビットマップ153、チェック中用差分ビットマップ154及び非保護中用差分ビットマップ155の1面は、ハードディスクドライブ111のデータを保存するトラック数と、1ビットで1トラックとなるように対応している。
区間差分用ビットマップ151は、16面のビットマップにより構成される。なお、図10等においては3面しか図示をしていない。区間差分用ビットマップ151の16面のうち14面は、保護期間を14分割した各分割期間のデータを保存するために使用される。残りの2面は分割期間の切り替え時等に使用される。
リストア用差分ビットマップ152は、リストア時の処理に用いられる。初期コピー用差分ビットマップ153は、CDP形成指示をチャネルアダプタ105が受領したときに用いられる。チェック中用差分ビットマップ154は、テンポラリリストアが指示されたときの処理に用いられる。非保護中用差分ビットマップ155は、非対象保護期間の処理に用いられる。
CDP開始が指示されると、プライマリボリューム120からベースボリューム140へライトデータをコピーする。プライマリボリューム120へのホスト10からのライトデータの保護が開始されると、図10に示すように、ライトデータは、プライマリボリューム120及びジャーナルボリューム130へ保存される。また、区間差分用ビットマップ151がオン設定となる。
このとき、ベースボリューム140に対して、未コピー領域へのライトデータは、ライトの延長でプライマリボリューム120からベースボリューム140への押し出しを実施することによりコピーする。また、データを保護する保護期間を過ぎたジャーナルデータは、ジャーナルボリューム130から格上げを実施する。格上げとは、ジャーナルボリューム130から当該ジャーナルデータを削除し、ベースボリューム140へデータを移行する処理である。さらに、保護期間を14分割し、区間差分用ビットマップ151の14面を分割期間ごとに切り替えて差分管理を行なう。例えば、保護期間が14時間に設定されているのなら、1時間単位で差分ビットマップの切り替えを行なう。なお、CDP処理の開始時に区間差分用ビットマップ151は初期化される。
次に、図22から図24を参照して、CDP処理によるプライマリボリューム120へのライトデータの保護が開始されるときの処理について説明する。
図22は、CDP形成指示の処理を示すフローチャートである。この処理は、CDP形成指示を受領したときに、チャネルアダプタ105により実行される。チャネルアダプタ105は、CDP形成指示を受領すると、状態を「CDP コピー中」を設定する(S201)。これにより、状態管理テーブル1011の状態欄1011Aに「1」が設定され、
CDPコピー中の状態に設定される。
図23は、プライマリボリューム120からベースボリューム140へのコピー処理を示すフローチャートである。なお、このコピー処理は、ストレージ装置100が立ち上げ時に起動される。
チャネルアダプタ105は、状態がCDPコピー中であるか否かを判定する(S301)。この判定は、状態管理テーブル131の状態欄1011Aの設定に基づいて行なわれる。CDPコピー中であると判定されると(S301:YES)、すなわち、状態欄1011Aに「1」が設定されている場合は、初期コピー用差分ビットマップ153の未コピー領域を、プライマリボリューム120からベースボリューム140にデータをコピーする(S302)。このようにデータがコピーされば場合、又は、ステップS301でCDPコピー中でないと判定された場合(S301:NO)、すなわち、状態欄1011Aに「0」、「2」、「3」、「4」又は「5」が設定されている場合は、処理は、ステップS301へ戻る。
図24は、チャネルアダプタ105がホスト10からライトデータを受領したときの処理を示すフローチャートである。この処理は、ライトデータを受領すると開始する。
先ず、チャネルアダプタ105は、リストア移行中であるか否かを判定する(S401)。この判定は、状態管理テーブル1011の状態欄1011Aの設定に基づいて行なわれる。
リストア移行中であると判定すると、すなわち、状態欄1011Aに「3」が設定されている場合は(S401:YES)、チャネルアダプタ105は、状態がCDPコピー中であるか否かを判定する(S402)。この判定は、ステップS401と同様に、状態管理テーブル1011の状態欄1011Aの設定に基づいて行なわれる。
そして、状態がCDPコピー中であると判定した場合は、すなわち、状態欄1011Aに「1」が設定されている場合は(S402:YES)、チャネルアダプタ105は、ライトデータのライト位置がコピー未完了であるか否かを判定する(S403)。
ライトデータのライト位置がコピー未完了であると判定した場合は(S403:YES)、チャネルアダプタ105は、当該位置のデータをベースボリューム140にコピーする(S404)。そして、チャネルアダプタ105は、初期コピー用差分ビットマップ153の当該位置のデータをコピー済みにする(S405)。
このようにコピー済みにする処理を行った場合、ステップS402で状態がCDPコピーでないと判定した場合、すなわち、状態欄1011Aに「3」以外の数字が設定されていた場合(S402:NO)、又は、ステップS403でライト位置がコピー未完了でない場合、すなわち、状態欄1011Aに「1」以外の数字が設定されていた場合は(S403:NO)、チャネルアダプタ105は、キャッシュ109に受領データ(受領したライトデータ)を書き込む(S406)。なお、受領データはキャッシュ109に書き込むようにしても良い。
ステップS406で受領したライトデータをキャッシュ109に書き込むと、チャネルアダプタ105は、状態が通常以外であるか否かを判定する(S407)。この判定は、ステップS401と同様に、状態管理テーブル1011の状態欄1011Aの設定に基づいて行なわれる。すなわち、状態欄1011Aに「0」が設定されていれば、通常状態であると判定され、状態欄1011Aに「1」から「5」が設定されていれば、通常状態でないと判定される。
状態が通常以外であれば(S407:YES)、チャネルアダプタ105は、受領データをジャーナルボリューム130にコピーすると共に、管理情報を作成する(S408)。このステップS408の処理を行った場合、ステップS407で状態が通常以外でない、つまり、状態が通常であると判定された場合(S407:NO)、又はステップS401でリストア移行中でないと判定され(S401:NO)、コマンドの受領を拒否した場合は(S410)、区間差分用ビットマップ151に差分設定をする(S409)。
図11は、CDP処理によるプライマリボリューム120へのライトデータが保護されているときの保護状態を説明するための図である。プライマリボリューム120へのライトデータが保護中のときは、図11に示すように、ライトデータは、プライマリボリューム120及びジャーナルボリューム130へ保存される。また、ライトデータを保存した位置と対応する区間差分用ビットマップ151の位置のビットを立てる。
そして、保護期間を過ぎたジャーナルデータは、ジャーナルボリューム130からベースボリューム140に格上げする処理が実施される。なお、区間差分用ビットマップ151は、保護期間を14分割し、その分割した期間ごとに面を切り替えてビットの差分管理を行なう。例えば、保護期間が14時間なら、1時間単位で区間差分用ビットマップ151の面の切り替えを行なう。
図25は、ジャーナルボリューム130からベースボリューム140にデータをコピーする処理、すなわち図11における格上げ処理を示すフローチャートである。この処理はストレージ装置100の立ち上げ時に起動される。
チャネルアダプタ105は、状態が保護中か否かを判定する(S501)。この判定は、状態管理テーブル1011の状態欄1011Aの設定に基づいて行なわれる。保護中であると判定すると、すなわち、状態欄1011Aに「2」が設定されている場合は(S501:YES)、チャネルアダプタ105は、最古ジャーナル時間と保護期間を加算した加算時間が現在時刻を経過しているか否かを判定する(S502)。
当該加算時間が現在時刻を経過している場合は(S502:YES)、チャネルアダプタ105は、ジャーナルデータをベースボリューム140にコピーする(S503)。すなわち、格上げ処理が行われる。そして、チャネルアダプタ105は、コピー済みのジャーナルデータ及びジャーナル管理情報を削除する(S504)。
このステップS504の処理を行った場合、ステップS501で状態が保護中でないと判定された場合(S501:NO)、又はステップS502で当該加算時間が現在時刻を経過していないと判定された場合は(S502:NO)、処理は、ステップS501へ戻る。
図12は、CDP処理によるリストアを説明するための図である。ユーザがリストア指示時刻を指定し、リストア指示を行なうとリストア中になる。リストア中は、プライマリボリューム120へのライトデータはリジェクトする。そして、ユーザが指示したリストア時間に対応する区間差分用ビットマップ151のORデータをリストア用差分ビットマップ152に作成する。そして、チェック中用差分ビットマップ154をクリアする。なお、リストア中の格上げは停止する。
続いて、リストア用差分ビットマップ152を作成した後、ベースボリューム140からプライマリボリューム120へコピー、コピー対象はリストア用差分ビットマップ上のビットが立っているビットのみとなる。そして、ベースボリューム140からデータのコピーが終了したら、ジャーナルボリューム130のジャーナルデータをリストア指示時刻までプライマリボリューム120のデータにかぶらせる。
図26は、プライマリボリュームリストア処理を示すフローチャートである。このプライマリボリュームリストア処理は、チャネルアダプタ105がリストア要求を受領すると開始される。
リストア要求を受領すると、チャネルアダプタ105は、状態管理テーブル1011のリストア指示時刻欄1011Cにリストア指示時刻を設定する(S601)。そして、チャネルアダプタ105は、状態として「リストア移行中」を設定する(S602)。すなわち、状態管理テーブル1011の状態欄1011Aに「3」が設定される。
図27は、ベースボリューム140からプライマリボリューム120へのコピー処理を示すフローチャートである。この処理は、ストレージ装置100の立ち上げ時に起動される。
チャネルアダプタ105は、状態がリストア移行中であるか否かを判定する(S701)。この判定は、状態管理テーブル1011の状態欄1011Aの設定に基づいて行なわれる。状態がリスト移行中であると判定された場合、すなわち、状態欄1011Aに「3」が設定されている場合は(S701:YES)、チャネルアダプタ105は、区間差分用ビットマップ151をリストア用差分ビットマップ152に合成する(S702)。
そして、チャネルアダプタ105は、リストア用差分ビットマップ152の未コピー領域をベースボリューム140からプライマリボリューム120にデータをコピーする(S703)。そして、チャネルアダプタ105は、最古ジャーナルデータから状態管理テーブル1011のリストア指示時刻欄1011Cに設定されたリストア指示時刻までのジャーナルデータをプライマリボリューム120にコピーする(S704)。その後、チャネルアダプタ105は、状態に「リストア中」を設定する(S705)。すなわち、状態管理テーブル1011の状態欄1011Aに「4」を設定する。
ステップS705で「リストア中」を設定された場合、又は、ステップS701で状態がリストア移行中でないと判定された場合、すなわち、状態欄1011Aに「3」以外の数字が設定されている場合は(S701:NO)、処理は、ステップS701へ戻る。
図13から図15は、区間差分用ビットマップ151を用いた処理を概略的に説明するための図である。区間差分ビットマップ用151の説明を簡単にするために、図13及ぶ図14においては区間差分用ビットマップ用151を4面とした場合で説明する。
条件としては、保護期間「3時間」、区間差分用ビットマップ開始時間「5:00」、リストア開始の時刻「8:30:00.000」、リストア指定時刻「7:15」とする。図13に示すテーブルT1は、このよう設定された区間差分用ビットマップ151の4面に割り当てられた条件を設定するテーブルである。
テーブルT1の項目は、項目T11から項目T14からなる。項目T11は1面に設定される条件を示す項目であり、項目T12は2面に設定される条件を示す項目であり、項目T13は3面に設定される条件を示す項目であり、項目T14は4面に設定される条件を示す項目である。また、各項目T11からT14には、それぞれ差分開始時間と差分終了時間が設定される。例えば、項目T11の1面には、差分開始時間として「5:00:00.000」、差分終了時間として「5:59:59.999」が設定されている。
また、テーブルT2には、CDP処理を行うときのベースボリューム140の時刻が設定されている。図13に示すように、テーブルT2には、時間「4:59:59.999」が設定されている。
リストアにおいて、先ず、プライマリボリューム120とベースボリューム140を同じ状態にする必要がある。このとき、ベースボリューム140からプライマリボリューム120への全面コピーではなく、区間差分用ビットマップ151を使用し、最小限の部分をコピーする。リストア時に全ての区間差分用ビットマップ151をリストア用差分ビットマップ152に合成(OR処理)し、リストア用差分ビットマップ152に従い、ベースボリューム140からプライマリボリューム120へコピーを行なう。
図14は、区間差分用ビットマップ151の1面から4面に保存されたデータを、リストア用差分ビットマップ152上での合成を示している。このようにリストア用差分ビットマップ152を用いて、区間差分用ビットマップ151の1面から4面に保存されたデータを合成したデータと、ベースボリューム140に保存されたデータからプライマリボリューム120へデータをコピーする。
図15は、ジャーナルボリューム130のリストア指定時刻とリストア範囲を示している。このリストア指定時刻とリストア範囲内で指定されたジャーナルデータがジャーナルボリューム130に保存されている。
図16は、リストア中状態(チェック中)の処理を説明するための図である。リストア中状態の処理では、プライマリボリューム120へのライトデータは、図16に示すように、プライマリボリューム120及びジャーナルボリューム130へ保存され、ジャーナルデータが追加で採取される。また、リストア中状態は、区間差分用ビットマップ151のデータを捨てられないため、チェック中用差分ビットマップ154をオンに設定する。
図17は、コンプリートリストア時の処理を説明するための図である。コンプリートリストア時の処理では、プライマリボリューム120へのライトデータは、図17に示すように、プライマリボリューム120及びジャーナルボリューム130へ保存される。
そして、チェック中の差分を区間差分用ビットマップ151の最新面に反映し、ジャーナルボリューム130の無効範囲のジャーナルデータの無効化を実施する。そして、区間差分用ビットマップ151の設定をオンに切り替える。続いて、チェック中に進んだ保護期間分のジャーナルデータをジャーナルボリューム130からベースボリューム140へ格上げし、その後、通常のデータの格上げ処理を行う。
図28は、コンプリートリストア時に実行される処理を示すフローチャートである。この処理は、チャネルアダプタ105がコンプリートリストア要求を受領すると開始する。チャネルアダプタ105は、コンプリートリストア要求を受領すると、状態管理テーブル1011の状態欄1011Aに「2」を設定する(S801)。これにより、状態は、CDP保護中となる。
図18は、コンプリートリストア時のジャーナルデータの無効化を説明するための図である。ジャーナルボリューム130の期間130A及び期間130Cは保護期間を示しており、期間130Bはコンプリートリストア時のジャーナル無効化範囲を示している。このジャーナル無効化範囲は、コンプリートリストア後、保護期間から外れる。
図18に示すように、期間130Aの開始時間は最古保護時間であり、期間130Aの終了時間、つまり、期間130Bの開始時間は復元指示時間であり、期間130Bの終了時間、つまり、期間130Cの開始時間は復元指示時間であり、また、リストア中開始時間であり、期間130Cの終了時間はコンプリートリストア時間である。
最古保護時間から復元指示時間までが復元後の保護期間となり、最古保護時間から復元開始時間までが復元開始時の保護期間となり、リストア中開始時間からコンプリートリストア時間までが復元後の保護期間となる。
図19は、CDP処理による非保護期間中の動作を説明するための図である。プライマリボリューム120へのライトデータは、図19に示すように、プライマリボリューム120へ保存される。しかし、ジャーナルボリューム130へはデータは保存されず、ジャーナルデータの採取は行なわれない。また、区間差分用ビットマップ151はプライマリボリューム120に保存されるデータに対応するビットは保存されない。非保護期間中の非保護中用差分ビットマップ155がオンに設定され、プライマリボリューム120に保存されるデータに対応するビットは、非保護中用差分ビットマップ155に保存される。そして、保護期間を過ぎたジャーナルデータは、ジャーナルボリューム130からベースボリューム140への格上げが実施される。
図29は、チャネルアダプタ105がホスト10からライトデータの受領したときの処理を示すフローチャートである。この処理は、ライトデータを受領すると開始する。なお、図29は、図24で説明した保護対象期間を有するCDP処理において、その保護対象期間中に保護非対象期間を設けた場合に実行されるCDP処理である。
先ず、チャネルアダプタ105は、リストア移行中であるか否かを判定する(S701)。この判定は、状態管理テーブル1011の状態欄1011Aの設定に基づいて行なわれる。リストア移行中でないと判定すると、すなわち、状態欄1011Aに「3」以外の数字が設定されている場合は(S901:NO)、チャネルアダプタ105は、コマンドを拒否する(S902)。
一方、リスト移行中であると判定すると(S901:YES)、すなわち、状態欄1011Aに「3」が設定されている場合は、チャネルアダプタ105は、状態がCDPコピー中であるか否かを判定する(S903)。この判定は、ステップS401と同様に、状態管理テーブル1011の状態欄1011Aの設定に基づいて行なわれる。
状態がCDPコピー中であると判定した場合、すなわち、状態欄1011Aに「1」が設定されている場合は(S903:YES)、チャネルアダプタ105は、ライトデータのライト位置がコピー未完了であるか否かを判定する(S904)。
ライトデータのライト位置がコピー未完了であると判定した場合は(S904:YES)、チャネルアダプタ105は、当該位置のデータをベースボリューム140にコピーする(S905)。そして、チャネルアダプタ105は、初期コピー用差分ビットマップ153の当該位置のデータをコピー済みにする(S906)。
このようにコピー済みにする処理を行った場合、ステップS902で、状態がCDPコピーでないと判定した場合、すなわち、状態欄1011Aに「3」以外の数字が設定されていた場合(S903:NO)、又は、ステップS904で、ライト位置がコピー未完了でないと判定した場合は(S904:NO)、チャネルアダプタ105は、キャッシュ109に受領データ(受領したライトデータ)を書き込む(S907)。なお、受領データはキャッシュ109に書き込むようにしても良い。
ステップS907で受領したライトデータをキャッシュ109に書き込むと、チャネルアダプタ105は、状態が通常以外であるか否かを判定する(S908)。この判定は、ステップS401と同様に、状態管理テーブル1011の状態欄1011Aの設定に基づいて行なわれる。すなわち、状態欄1011Aに「0」が設定されていれば、通常状態であると判定され、状態欄1011Aに「1」から「5」が設定されていれば、通常状態でないと判定される。
通常であると判定すると(S908:YES)、保護非対象期間管理テーブル1012の状態が保護中であるか否かを判定する(S909)。すなわち、保護非対象期間管理テーブル1012の状態欄1012Aに「0」が設定されているか否かが判断される。状態欄1012Aに「0」が設定されていれば保護中と判定され、「0」でない「1」が設定されていれば非保護中と判定される。
保護中であると判定すると、すなわち、状態欄1012Aに「0」が設定されている場合は(S909:YES)、チャネルアダプタ105は、受領データをジャーナルボリューム130にコピーし、管理情報を作成する(S910)。一方、保護中でないと判定すると、すなわち、状態欄1012Aに「1」が設定されている場合は(S909:NO)、チャネルアダプタ105は、非保護中用差分ビットマップ155に差分を設定する(S911)。
上記ステップS902,S910,S911の処理が終了した後、又は、ステップS908で状態が通常以外ではない、つまり、通常状態であると判定したときは、チャネルアダプタ105は、区間差分用ビットマップ151に差分を設定する(S912)。
図20は、CDP処理による非保護期間中の動作から保護期間への動作の切り替えを説明するための図である。この切り替えとしては、非保護中用差分ビットマップ155を保護中に切り替えるときに現在使用中の区間差分用ビットマップ151へ合成する。そして、非保護中用差分ビットマップ155をもとに、プライマリボリューム120からジャーナルデータを生成する。また、保護期間を過ぎたジャーナルデータは、ジャーナルボリューム130からベースボリューム140へ格上げを実施する。
図21は、CDP処理による非保護期間中の動作から保護期間への動作の切り替え処理を示すフローチャートである。この処理はストレージ装置100の立ち上げ時に起動される。なお、チャネルアダプタアダプタ106による処理としても良い。
例えばユーザにより、ストレージ装置100が立ち上げられると、チャネルアダプタ105は、現在の時刻が保護非対象期間管理テーブル1012に設定されている保護非対象期間であるか否かを判定する(S101)。保護非対象期間でないと判定すると(S101:NO)、チャネルアダプタ105は、状態が非保護中か否かを判定する(S102)。この判定は保護非対象期間管理テーブル1012の状態欄1012Aに「1」が設定されているか否かにより判定される。
状態が非保護中であると判定されると、すなわち、保護非対象期間管理テーブル1012の状態欄1012Aに「1」が設定されている場合は(S102:YES)、チャネルアダプタ105は、非保護中用差分ビットマップ155を区間差分用ビットマップ151に合成する(S103)。そして、チャネルアダプタ105は、非保護中用差分ビットマップ155上の差分データのジャーナル化処理を行う(S104)。
続いて、チャネルアダプタ105は、状態を保護中に設定する(S105)。すなわち、保護非対象期間管理テーブル1012の状態欄1012Aの設定を「0」にする。このように、状態を保護中に設定した場合、又は、ステップS102で保護非対象期間管理テーブル1012の状態が非保護中でないと判定された場合は(S102:NO)、処理は、ステップS101へ戻る。
一方、ステップS101で保護非対象期間であると判定されると(S101:YES)、チャネルアダプタ105は、状態を非保護中に設定する(S106)。すなわち、保護非対象期間管理テーブル1012の状態欄1012Aの設定を「1」にする。このように状態が非保護中に設定されると、処理は、ステップS101へ戻る。このようにして保護期間の監視処理が行われる。
図32は、従来のCDP処理と、本発明を適用したCDP処理との保存データ量の違いを模式的に説明するための図である。図32に示すジャーナルデータ141は、従来のCDP処理を行ったときのデータ量を示しており、ジャーナルデータ142は、本発明を適用したCDP処理を行ったときのデータ量を示している。また、図32は、データの保護を必要とする保護必要期間の間に、データの保護を必要としない保護不要期間を設け、従来のCDP処理と、本発明を適用したCDP処理とのデータ量の違いを示している。なお、保護必要期間のデータはライトデータ受領時に作成されるデータであり、保護不要期間のデータは非保護期間終了時に差分データにより作成されるデータである。
従来のCDP処理では、保護対象期間、保護非対象期間の区別なくジャーナルデータを保存する必要があるのに対して、本発明を適用したCDP処理では、保護非対象期間は、その終了時に差分データにより作成されるデータを保存すればよい。したがって、図32に示すように、本発明は、保護非対象期間に保存するデータ量を低減することができる。
図33及び図34は、従来のCDP処理と、本発明を適用したCDP処理とのジャーナルデータの時間の違いを模式的に説明するための図である。図33が従来のCDP処理のジャーナルデータの時間を示し、図34が本発明を適用したCDP処理のジャーナルデータの時間を示している。
図33は、従来のCDP処理におけるプライマリボリューム120、ジャーナルボリューム130及びベースボリューム140上のライトデータの保存状態及び時間経過による保存状態の遷移を示している。
図34は、本発明を適用したCDP処理におけるプライマリボリューム120、ジャーナルボリューム130及びベースボリューム140上のライトデータの保存状態及び時間経過による保存状態の遷移を示している。
図35は、保護非対象期間近傍を拡大した図である。保護非対象期間の先端の時間を時間TA、後端の時間を時間TBとしている。時間TA〜時間TBの間に受領したライトデータは、差分管理され、保護非対称期間終了時に時間TB時点で受領したライトデータとしてジャーナル管理される。
図36及び図37は、従来のCDP処理と、本発明を適用したCDP処理とのジャーナルデータのデータ量の違いの一例を示す図である。図36が従来のCDP処理のジャーナルデータのデータ量を示し、図37が本発明を適用したCDP処理のジャーナルデータのデータ量を示している。
一例としては、通常の業務を行なう通常業務時間帯と、通常業務で取得したデータ等に基づくバッチ処理を深夜に行う深夜バッチジョブ時間帯とがストレージ装置100に設定されている場合を具体例として説明する。従って、ストレージ装置100では、通常業務時間帯と、深夜バッチジョブ時間帯が交互に繰り返される。なお、棒グラフの高さは、ジャーナルデータのデータ量「GB」を示している。
図36に示すように、従来のCDP処理においては、深夜バッチジョブ時間帯で実行されるバッチ処理のジャーナルデータが全て保存される。このため、バッチ処理の開始時間(0:00)から終了時間(約7:00)までに、330GBのジャーナルデータが保存される。
しかしながら、バッチ処理等は、処理が実行中のデータについてはその重要性が低い。このため、保護対象期間である通常業務時間帯で挟まれる深夜バッチジョブ時間帯(0:00〜7:00)を保護非対象期間として、本発明を適用する。すると、図37に示すように、深夜バッチジョブ時間帯に、99GBのジャーナルデータをジャーナルボリューム130に保存するだけでよくなる。なお、ジャーナルデータの削減量は、保護期間の合計データ量330GB(40GB+50GB+50GB+50GB+50GB+50GB+40GB)×上書き率70パーセントとすると、231GBとなる。したがって、実際にジャーナルボリューム130に保存されるデータ量は、330GBから231GBを減算した99GBとなる。すなわち、本発明を適用したCDP処理を行うことにより、従来のCDP処理の場合より、ジャーナルボリューム130に保存するジャーナルデータのデータ量を231GB削減することができる。
上記実施の形態によると、ストレージ装置100に復元不要の時間帯である保護非対象期間を設定する機能を設け、保護非対象期間ではライトデータを随時保存することなく、当該期間の開始時点と終了時点での差分のライトデータを保存するように制御することにより、保護非対象期間に同一の領域に繰り返しライトデータが発生した場合に保存されるライトデータの容量を削減できる。また、復元不要なデータのバックアップを回避するとともに、バックアップデータ量の削減、ボリュームの記憶領域の有効活用をすることができる。
また、ストレージ装置100は、例えば、SVP11から保護期間内で非保護期間内の時間にプライマリボリューム120を復元する指示を受け付けると、ジャーナルボリューム130及びベースボリューム140を用いて、その指示された時間の状態にプライマリボリューム120を復元することができる。
図31は、CDP機能による復元処理を示すフローチャートである。チャネルアダプタ105は、SVP11から所定時間にプライマリボリューム120の状態を回復する指示を受信すると(S1011)、その指示に基づく時間までジャーナルボリューム130に保存されたジャーナルデータ及びベースボリューム140に保存されたデータを用いて、その指示された時間までデータをたどり、当該指示された時間のプライマリボリューム120の状態に復元する(S1012)。
この際、ジャーナルボリューム130に保存されているデータ量が従来より少ないため、プライマリボリューム120の状態の復元を従来より短時間で行なうことができる。すなわち、ボリューム復元時間の短縮化を図ることができる。
なお、上述の実施の形態においては、本発明を図1のように構成されたストレージ装置100に適用するようにして説明した場合について述べたが、本発明はこれに限られず、この他種々の構成のストレージ装置に広く適用することができる。
また、本発明をホスト10から送信されるデータを保存するプライマリボリューム120と、プライマリボリュームに保存されるデータをバックアップするジャーナルボリューム130と、プライマリボリューム120に保存されるデータを所定の保護期間内でのみ保護するために保存するベースボリュームと、所定保護期間を示す保護期間情報を保存する状態管理テーブル1011と、所定保護期間内のジャーナルボリューム130へのバックアップを停止する非保護期間を示す非保護期間情報を保存する保護非対象期間管理テーブル1012と、CDP処理を実行する保護期間ではプライマリボリューム120に保存されるデータをジャーナルボリューム130に保存されるバックアップされたデータを用いてベースボリューム140で保護するデータ保護処理を行い、CDP処理を実行する保護期間内の非保護期間ではデータ保護処理を停止するデータ非保護処理を行うとともに、プライマリボリューム120を保護時間内で非保護期間でない時間に復元する指示をホスト10から受け付けると、ジャーナルボリューム130でバックアップしたデータ及びベースボリューム140に保護したデータを用いてプライマリボリューム120を指示に基づく時間の状態に復元するチャネルアダプタ105を備えるストレージ装置100に適用した場合で説明したが、その他のストレージ装置にも適用できるものである。
なお、データ保護処理は、保護期間内を所定時間で分割した分割期間(例えば、14分割した期間)ごとに設けられる、プライマリボリューム120のデータ保存領域のデータを保存するトラックと1対1でビットが対応するビットマップを例えば16面含む区間差分ビットマップ用151を、分割期間ごとに切り替えてプライマリボリュームに保存されるデータのバックアップを行い、データ非保護処理は、区間差分ビットマップ用151のビットマップを使用せずに、非保護期間に設けられる前記第1の論理ボリュームのデータ保存領域のデータを保存するトラックと1対1でビットが対応する非保護中用差分ビットマップ155を用いてプライマリボリューム120に保存されるデータのバックアップを行い、非保護中用差分ビットマップ155を用いてバックアップしたデータは、非保護期間が終了しきに区間差分ビットマップ用151のうちの最新のビットマップに合成する場合を説明しているが、この実施形態に限定されるものではない。
本発明は、種々のストレージ装置に広く適用することができる。
本発明に係わるストレージシステムの概略的な構成を示す図である。 本発明に係わるディスクコントローラ部の内部構成及びCDP処理を概念的に説明するための図である。 本発明に係わるプライマリボリュームを説明するための図である。 本発明に係わる状態管理テーブルを示す図である。 本発明に係わるジャーナルボリュームに保存される内容を説明するための図である。 本発明に係わる状態管理テーブルの内容を説明するための図である。 本発明に係わる保護非対象期間管理テーブルを示す図である。 本発明に係わるSVPの表示部に表示される保護期間の指定画面を示す図である。 本発明に係わるCDP処理における動作の流れを説明するための図である。 本発明に係わるCDP処理によるプライマリボリュームへのライトデータの保護が開始されたときの状態を説明するための図である。 本発明に係わるCDP処理によるプライマリボリュームへのライトデータが保護されているときの保護状態を説明するための図である。 本発明に係わるCDP処理によるリストア状態を説明するための図である。 本発明に係わる区間差分用ビットマップを用いた処理を概略的に説明するための図である。 本発明に係わる区間差分用ビットマップを用いた処理を概略的に説明するための図である。 本発明に係わる区間差分用ビットマップを用いた処理を概略的に説明するための図である。 本発明に係わるテンポラリリストア時の処理を説明するための図である。 本発明に係わるコンプリートリストア時の処理によるジャーナルの無効化を説明するための図である。 本発明に係わるコンプリートリストア時の処理を説明するための図である。 本発明に係わるCDP処理による非保護期間中の動作を説明するための図である。 本発明に係わるCDP処理による非保護期間中の動作から保護期間への動作の切り替えを説明するための図である。 本発明に係わるCDP処理による非保護期間中の動作から保護期間への動作の切り替え処理を示すフローチャートである。 本発明に係わるCDP形成指示の処理を示すフローチャートである。 本発明に係わるプライマリボリュームからベースボリュームへのコピー処理を示すフローチャートである。 本発明に係わるライトデータを受領したときの処理を示すフローチャートである。 本発明に係わるジャーナルボリュームからベースボリュームにデータをコピーする処理を示すフローチャートである。 本発明に係わるリストア処理を示すフローチャートである。 本発明に係わるベースボリュームからプライマリボリュームへのコピー処理を示すフローチャートである。 本発明に係わるコンプリートリストア時に実行される処理を示すフローチャートである。 本発明に係わるライトデータを受領したときの処理を示すフローチャートである。 本発明に係る情報の設定処理を示すフローチャート。 本発明に係るCDP機能による復元処理を示すフローチャート。 従来のCDP処理と本発明を適用したCDP処理との保存データ量の違いを模式的に説明するための図である。 従来のCDP処理におけるプライマリボリューム、ジャーナルボリューム及びベースボリューム上のライトデータの保存状態及び時間経過による保存状態の遷移を示す図である。 本発明に係わるCDP処理におけるプライマリボリューム、ジャーナルボリューム及びベースボリューム上のライトデータの保存状態及び時間経過による保存状態の遷移を示す図である。 本発明に係わる保護非対象期間近傍を拡大した図である。 従来のCDP処理のジャーナルデータのデータ量を示す図である。 本発明に係わるCDP処理のジャーナルデータのデータ量を示す図である。
符号の説明
1…ストレージシステム
10…ホスト
11…SVP
12…SVPの表示画面
13…保護期間の指定欄
14…非保護期間の指定欄
19…表示欄
100…ストレージ装置
100A…ディスクコントローラ部
100B…ディスク部
101,102…共有メモリ
103,104…ディスクアダプタ
105,106…チャネルアダプタ
109,110…キャッシュメモリ
111…ハードディスクドライブ
120…プライマリボリューム
121…差分エリア
130…ジャーナルボリューム
131…状態管理テーブル
140…ベースボリューム
150…各種差分ビットマップ
151…区間差分用ビットマップ
152…リストア用差分ビットマップ
153…初期コピー用差分ビットマップ
154…チェック中用差分ビットマップ
210…通常(Simplex)状態
220…コピー状態
230…保護状態
240…リストア状態
250…停止状態
1011…状態管理テーブル
1012…保護非対象期間管理テーブル

Claims (10)

  1. 上位装置から送信されるデータを保存する第1の論理ボリュームと、
    前記第1の論理ボリュームに保存されるデータをバックアップする第2の論理ボリュームと、
    前記第1の論理ボリュームに保存されるデータを所定保護期間内でのみ保護するために保存する第3の論理ボリュームと、
    前記所定保護期間を示す保護期間情報を保存する第1の保存部と、
    前記所定保護期間内の前記第2の論理ボリュームへのバックアップを停止する非保護期間を示す非保護期間情報を保存する第2の保存部と、
    前記保護期間では前記第1の論理ボリュームに保存されるデータを前記第2の論理ボリュームに保存されるバックアップされたデータを用いて前記第3の論理ボリュームで保護するデータ保護処理を行い、前記保護期間内の前記非保護期間では前記データ保護処理を停止するデータ非保護処理を行うとともに、前記第1の論理ボリュームを前記保護時間内で前記非保護期間でない時間に復元する指示を外部から受け付けると前記第2の論理ボリュームでバックアップしたデータ及び前記第の3の論理ボリュームに保護したデータを用いて前記第1の論理ボリュームを前記指示に基づく時間の状態に復元する制御部と、
    を備えることを特徴とするストレージ装置。
  2. 前記データ保護処理は、コンティニューアス・データ・プロテクション処理であること

    を特徴とする請求項1記載のストレージ装置。
  3. 前記データ保護処理は、前記保護期間内を所定時間で分割した分割期間ごとに設けられる前記第1の論理ボリュームのデータ保存領域のデータを保存するトラックと1対1でビットが対応する第1のビットマップを複数含むビットマップ群を、前記分割期間ごとに切り替えて前記第1の論理ボリュームに保存されるデータのバックアップを行い、
    前記データ非保護処理は、前記第1のビットマップを使用せずに、前記非保護期間に設けられる前記第1の論理ボリュームのデータ保存領域のデータを保存するトラックと1対1でビットが対応する第2のビットマップを用いて前記第1の論理ボリュームに保存されるデータのバックアップを行うこと、
    を特徴とする請求項1記載のストレージ装置。
  4. 前記第2のビットマップを用いてバックアップしたデータは、前記非保護期間が終了したときに前記ビットマップ群のうちの最新の第1のビットマップに合成すること、
    を特徴とする請求項3記載のストレージ装置。
  5. 前記非保護期間情報は、接続された保守端末装置から設定され、又は、前記上位装置から送信されること、
    を特徴とする請求項1記載のストレージ装置
  6. 上位装置から送信されるデータを保存する第1の論理ボリュームと、前記第1の論理ボリュームに保存されるデータをバックアップする第2の論理ボリュームと、前記第1の論理ボリュームに保存されるデータを所定の保護期間内でのみ保護するために保存する第3の論理ボリュームとを備えるストレージ装置のデータ復元方法において、
    前記保護期間では前記第1の論理ボリュームに保存されるデータを前記第2の論理ボリュームに保存されるバックアップされたデータを用いて前記第3の論理ボリュームで保護するデータ保護処理を行い、前記保護期間内の前記第2の論理ボリュームへのバックアップを停止する非保護期間では前記データ保護処理を停止するデータ非保護処理を行うステップと、
    前記第1の論理ボリュームを前記保護時間内で前記非保護期間でない時間に復元する指示を外部から受け付けると前記第2の論理ボリュームでバックアップしたデータ及び前記第の3の論理ボリュームに保護したデータを用いて前記第1の論理ボリュームを前記指示に基づく時間の状態に復元するステップと、
    を備えることを特徴とするストレージ装置のデータ復元方法。
  7. 前記データ保護処理は、コンティニューアス・データ・プロテクション処理であること

    を特徴とする請求項6記載のストレージ装置のデータ復元方法。
  8. 前記データ保護処理は、前記保護期間内を所定時間で分割した分割期間ごとに設けられる前記第1の論理ボリュームのデータ保存領域のデータを保存するトラックと1対1でビットが対応する第1のビットマップを複数含むビットマップ群を、前記分割期間ごとに切り替えて前記第1の論理ボリュームに保存されるデータのバックアップを行う処理であり、
    前記データ非保護処理は、前記第1のビットマップを使用せずに、前記非保護期間に設けられる前記第1の論理ボリュームのデータ保存領域のデータを保存するトラックと1対1でビットが対応する第2のビットマップを用いて前記第1の論理ボリュームに保存されるデータのバックアップを行う処理である、
    を特徴とする請求項6記載のストレージ装置のデータ復元方法。
  9. 前記第2のビットマップを用いてバックアップしたデータは、前記非保護期間が終了したときに前記ビットマップ群のうちの最新の第1のビットマップに合成するステップを備えること、
    を特徴とする請求項8記載のストレージ装置のデータ復元方法。
  10. 前記非保護期間情報は、接続された保守端末装置から設定され、又は、前記上位装置から送信されること、
    を特徴とする請求項6記載のストレージ装置のデータ復元方法。
JP2007096931A 2007-04-02 2007-04-02 ストレージ装置及びボリューム復元方法 Expired - Fee Related JP4906562B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2007096931A JP4906562B2 (ja) 2007-04-02 2007-04-02 ストレージ装置及びボリューム復元方法
US11/968,277 US7908447B2 (en) 2007-04-02 2008-01-02 Storage apparatus and volume restoration method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007096931A JP4906562B2 (ja) 2007-04-02 2007-04-02 ストレージ装置及びボリューム復元方法

Publications (2)

Publication Number Publication Date
JP2008257364A JP2008257364A (ja) 2008-10-23
JP4906562B2 true JP4906562B2 (ja) 2012-03-28

Family

ID=39980896

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007096931A Expired - Fee Related JP4906562B2 (ja) 2007-04-02 2007-04-02 ストレージ装置及びボリューム復元方法

Country Status (2)

Country Link
US (1) US7908447B2 (ja)
JP (1) JP4906562B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7818609B2 (en) * 2006-11-27 2010-10-19 Emc Corporation Methods and systems for managing corrupted meta-data in a computer system or network
JP5092897B2 (ja) * 2008-05-26 2012-12-05 富士通株式会社 データ移行処理プログラム、データ移行処理装置およびデータ移行処理方法
US7996718B1 (en) * 2009-02-12 2011-08-09 Symantec Corporation Techniques for continuous data protection
US8225146B2 (en) * 2009-09-01 2012-07-17 Lsi Corporation Method for implementing continuous data protection utilizing allocate-on-write snapshots
US8332687B1 (en) * 2010-06-23 2012-12-11 Emc Corporation Splitter used in a continuous data protection environment
US8335771B1 (en) 2010-09-29 2012-12-18 Emc Corporation Storage array snapshots for logged access replication in a continuous data protection system
JP6046750B2 (ja) * 2013-01-24 2016-12-21 株式会社日立製作所 ストレージ装置およびストレージ装置制御方法
US9817607B1 (en) * 2014-06-20 2017-11-14 EMC IP Holding Company LLC Optimizations to avoid intersocket links
CN107885616A (zh) * 2017-09-29 2018-04-06 上海爱数信息技术股份有限公司 一种基于文件系统解析的海量小文件备份恢复方法
US11126505B1 (en) * 2018-08-10 2021-09-21 Amazon Technologies, Inc. Past-state backup generator and interface for database systems

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4292882B2 (ja) 2003-03-18 2009-07-08 株式会社日立製作所 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
US7266654B2 (en) * 2003-03-18 2007-09-04 Hitachi, Ltd. Storage system, server apparatus, and method for creating a plurality of snapshots
US7398422B2 (en) * 2003-06-26 2008-07-08 Hitachi, Ltd. Method and apparatus for data recovery system using storage based journaling
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
US7325159B2 (en) * 2004-02-04 2008-01-29 Network Appliance, Inc. Method and system for data recovery in a continuous data protection system
US8949395B2 (en) * 2004-06-01 2015-02-03 Inmage Systems, Inc. Systems and methods of event driven recovery management
JP2006134204A (ja) * 2004-11-09 2006-05-25 Hitachi Ltd リモートコピーシステムおよびその制御方法
JP2006164162A (ja) * 2004-12-10 2006-06-22 Fujitsu Ltd コピー制御装置および方法
JP2006236019A (ja) * 2005-02-25 2006-09-07 Hitachi Ltd データコピー方式の切替方法
JP5021929B2 (ja) * 2005-11-15 2012-09-12 株式会社日立製作所 計算機システム及びストレージシステムと管理計算機並びにバックアップ管理方法
US7350043B2 (en) * 2006-02-10 2008-03-25 Sun Microsystems, Inc. Continuous data protection of block-level volumes
US7647466B1 (en) * 2006-09-28 2010-01-12 Emc Corporation Linear space allocation mechanisms in data space
JP4900816B2 (ja) * 2007-05-11 2012-03-21 株式会社日立製作所 記憶制御装置、記憶制御装置の制御方法

Also Published As

Publication number Publication date
US20090254721A1 (en) 2009-10-08
JP2008257364A (ja) 2008-10-23
US7908447B2 (en) 2011-03-15

Similar Documents

Publication Publication Date Title
JP4906562B2 (ja) ストレージ装置及びボリューム復元方法
US7360046B2 (en) Storage system and data management method
US8255647B2 (en) Journal volume backup to a storage device
JP4486348B2 (ja) ドライブの稼働時間を抑止するディスクアレイ
JP4900811B2 (ja) 記憶システムおよび記憶制御方法
JP4800046B2 (ja) ストレージシステム
US7472243B2 (en) Storage system and control method thereof
US7406488B2 (en) Method and system for maintaining data in a continuous data protection system
US7085901B2 (en) Storage apparatus and method for optimal snapshot transfer
KR100710767B1 (ko) 카피 제어 장치 및 방법
US7788532B2 (en) Storage controller, and control method of the same
JP5257672B2 (ja) ジャーナルの階層を管理する計算機システム及び方法
US20070083567A1 (en) Storage control system and method
EP1698977B1 (en) Storage system and method for acquisition and utilisation of snapshots
US8140789B2 (en) Method for remote backup and storage system
JP2006011811A (ja) 記憶制御システム及び記憶制御方法
US8131958B2 (en) Storage system, storage device, and data updating method using a journal volume
JP2006318077A (ja) リモートコピーシステム
US8458134B2 (en) Near continuous space-efficient data protection
JP4790283B2 (ja) ストレージサブシステム及びストレージシステム
JP2012103873A (ja) 画像処理装置及びミラーリング判定方法
JP4565860B2 (ja) データバックアップシステム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20090218

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111021

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111213

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120110

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150120

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees