JP5565157B2 - データ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置 - Google Patents

データ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置 Download PDF

Info

Publication number
JP5565157B2
JP5565157B2 JP2010159433A JP2010159433A JP5565157B2 JP 5565157 B2 JP5565157 B2 JP 5565157B2 JP 2010159433 A JP2010159433 A JP 2010159433A JP 2010159433 A JP2010159433 A JP 2010159433A JP 5565157 B2 JP5565157 B2 JP 5565157B2
Authority
JP
Japan
Prior art keywords
snapshot
storage area
data
creation
copy
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
JP2010159433A
Other languages
English (en)
Other versions
JP2012022490A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2010159433A priority Critical patent/JP5565157B2/ja
Priority to US13/110,691 priority patent/US20120016842A1/en
Publication of JP2012022490A publication Critical patent/JP2012022490A/ja
Application granted granted Critical
Publication of JP5565157B2 publication Critical patent/JP5565157B2/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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/128Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion

Description

本発明はデータ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置に関する。
データベースに格納されているファイルのバックアップのため、定期的にデータベースの更新を止め、その時点でのファイルを保存する運用方法が知られている。
定期的にデータベースのバックアップを取る技術として、ある時点のデータイメージのコピーを瞬時に作成するスナップショットが知られている。スナップショットでは論理的には瞬時にディスクイメージのコピーを作成し、物理的にはデータアクセスが行われた時点で更新領域のコピーが行われる。このようなコピー方式は、いわゆるコピーオンライトと呼ばれている。
また、スナップショットを物理的に完全な複製データとしたい場合は、コピーオンライトを行うと同時にバックグラウンドでデータイメージ全体のコピーを行う方法も知られている。
スナップショットでは、以上のような機能を実現するためにデータイメージを一定の区画に分割し、区画毎にコピーが完了しているか否かを、例えばビットマップ形式で記録している。
通常、スナップショットはコピー元とは独立したデータとして運用可能である。例えばオリジナルデータをアプリケーションAで使用し、スナップショットをアプリケーションBで使用する、といった使い方が考えられる。そのため、使用者の視点で考えるとスナップショットから別のスナップショットを作成することも可能であることが望ましい。この場合、1つ目のスナップショットの作成に伴うコピー処理と、2つ目のスナップショットの作成に伴うコピー処理が協調して動作することになる。以下、この協調した2つのコピーをカスケードコピーと呼ぶ。
特開2006−244501号公報 特開2010−26939号公報
カスケードコピー処理は、カスケード元のスナップショットを作成してから、カスケード先のスナップショットを作成した場合にはデータを保証することができる。
しかしながら、例えば(特許文献2)の方法ではカスケード先のスナップショットを作成してから、そのコピー元ボリュームをコピー先としたスナップショットを作成する、つまり、カスケード元のスナップショットが後から作成された場合はスナップショット作成時のコピー元データが正しくコピー先に反映されることを保証することができないという問題がある。
本発明はこのような点に鑑みてなされたものであり、スナップショットにより作成されたデータの信頼性を保証するデータ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置を提供することを目的とする。
上記目的を達成するために、開示のデータ処理装置が提供される。開示のデータ処理装置は、スナップショット作成部と、記憶部とを有している。
スナップショット作成部は、第1の記憶領域に記憶されているデータの第1のスナップショットが第2の記憶領域に作成された状態で、第1の記憶領域をスナップショットの作成先とした第2のスナップショットを作成する。
記憶部は、今回の第2のスナップショットの作成に伴う第1の記憶領域への物理コピーの進捗を示す第1の進捗情報と、前回の第2のスナップショットの作成に伴う第1の記憶領域への物理コピーの進捗を示す第2の進捗情報とを記憶する。
スナップショットにより作成されたデータの信頼性を保証することができる。
第1の実施の形態のデータ処理装置の概要を示す図である。 第2の実施の形態のストレージシステムを示すブロック図である。 制御モジュールの機能を示すブロック図である。 ビットマップおよびカスケードビットマップを説明する図である。 カスケードビットマップの作成方法を説明する図である。 カスケードビットマップの作成方法を説明する図である。 カスケードビットマップの作成方法を説明する図である。 カスケードビットマップの作成方法を説明する図である。 制御方法を説明する際のボリュームの構成を示す図である。 データ書き込み処理を示すフローチャートである。 データ読み出し処理を示すフローチャートである。 カスケードビットマップを用いた制御方法の具体例を示す図である。 カスケードビットマップを用いない制御方法の具体例(比較例)を示す図である。 カスケードビットマップを用いた制御方法の具体例を示す図である。 カスケードビットマップを用いた制御方法の具体例を示す図である。 カスケードビットマップを用いた制御方法の具体例を示す図である。 第2の実施の形態の処理の応用例を示す図である。
以下、実施の形態を、図面を参照して詳細に説明する。
まず、実施の形態のデータ処理装置について説明し、その後、実施の形態をより具体的に説明する。
<第1の実施の形態>
図1は、第1の実施の形態のデータ処理装置の概要を示す図である。
実施の形態のデータ処理装置1は、スナップショット作成部1aと、記憶部1bとを有している。
スナップショット作成部1aは、第1の記憶領域2aに記憶されているデータの第1のスナップショットが第2の記憶領域2bに作成された状態で、第1の記憶領域2aをスナップショットの作成先とした第2のスナップショットを作成する。
図1では、第3の記憶領域2cが有する領域a、b、c、dに記憶されているデータの第2のスナップショットを第1の記憶領域2aが有する領域a、b、c、dに作成する。
第1の記憶領域2a、第2の記憶領域2b、および第3の記憶領域2cとしては、例えば、ハードディスクドライブ(HDD:Hard Disk Drive)や、SSD(Solid State Drive)等が挙げられる。
また、第1の記憶領域2a、第2の記憶領域2b、および第3の記憶領域2cは、それぞれ別個の記憶装置であってもよいし、1つの記憶装置内の異なる領域であってもよい。
スナップショットでは、論理的には、瞬時にディスクイメージのコピーを作成し、物理的には、データアクセスが行われた時点で更新領域のコピー(物理コピー)が行われる。このため、領域毎に、スナップショットの作成に伴う物理コピーの進捗を示す進捗情報が記憶される。
この進捗情報は、例えば、スナップショット作成部1aが作成することができる。
記憶部1bは、今回の第2のスナップショットの作成に伴う第1の記憶領域2aへの物理コピーの進捗を示す第1の進捗情報3aと、前回の第2のスナップショットの作成に伴う第1の記憶領域2aへの物理コピーの進捗を示す第2の進捗情報3bとを記憶する。すなわち、図1では、第3の記憶領域2cに記憶されているデータの第2のスナップショットが、第1の記憶領域2aに少なくとも2回作成されていることを示している。なお、本実施の形態では、第1の進捗情報3aと第2の進捗情報3bをビットマップ形式で記憶している。
第1の進捗情報3aおよび第2の進捗情報3bが示す4つの領域は、それぞれ、第3の記憶領域2cおよび第1の記憶領域2aが有する領域a、b、c、dに対応している。
第1の進捗情報3aおよび第2の進捗情報3bの各ビットには、第1の記憶領域2aに対し、物理コピーが完了しているか否かを示す値(完了を示す「0」または未完了を示す「1」)が設定される。なお、第1の進捗情報3aは、今回の第2のスナップショットを新たに作成するにあたり、全てのビットの値が「1」にリセットされている。
図1では、第1の進捗情報のビットの値は、全て「1」であるため、今回の第2のスナップショットの作成に伴う第3の記憶領域2cから第1の記憶領域2aへの物理コピーは、いずれの領域a、b、c、dにおいても未だ作成が完了していないことを示している。
他方、第2の進捗情報は、領域a、bに対応するビットの値が「1」であり、領域c、dに対応するビットの値が「0」であるため、前回の第2のスナップショットの作成に伴う第3の記憶領域2cから第1の記憶領域2aへの物理コピーは、領域c、dについては完了していることを示している。
また、記憶部1bは、第1のスナップショットについても第2のスナップショットと同様に、今回の第1のスナップショットの作成に伴う第1の記憶領域2aから第2の記憶領域2bへの物理コピーの進捗を示す第3の進捗情報3cを記憶することができる。なお、図1では、第1のスナップショットについて第2の進捗情報に対応する進捗情報が作成されていない。これは、第1のスナップショットが1回しか作成されていないことを示している。なお、第1のスナップショットについて第2の進捗情報に対応する進捗情報として、全てのビットの値が「1」である進捗情報を作成するようにしてもよい。
また、本実施の形態のデータ処理装置1は、確認部1cとデータ読み出し部1dを備えることができる。
確認部1cは、第2の記憶領域2bの所定の領域に格納されているデータの読み出し要求があった場合、第2の進捗情報3bに基づいて、前回の第2のスナップショットの作成に伴う第3の記憶領域2cから第1の記憶領域2aへの物理コピーの進捗を確認する。本実施の形態では、第2の記憶領域2bの領域dのデータ読み出し要求があった場合を例示する。
データ読み出し部1dは、図示しないデータ処理装置1以外の装置からの第1の記憶領域2a、第2の記憶領域2bおよび第3の記憶領域2cへのデータ読み出し要求を制御する。
第2の記憶領域2bの領域dのデータ読み出し要求があった場合、確認部1cは、第1の進捗情報3a、第2の進捗情報3bおよび第3の進捗情報3cに基づいて、領域dへのデータの物理コピーが完了しているか否かを判断する。
具体的には、まず、確認部1cは、読み出し要求に応じたデータの記憶先を特定するために、第3の進捗情報3cの領域dに対応するビットを参照する。第3の進捗情報3cの領域dに対応するビットは、「1」であるため、コピーが未完了であることを示している。従って、データ読み出し部1dは、第2の記憶領域2bには、読み出し要求に応じたデータが未だ記憶されていないと判断する。
次に、確認部1cは、読み出し要求に応じたデータの記憶先を特定するために、第1の記憶領域2aをスナップショット作成先とする第3の記憶領域2cとの間の第1の進捗情報3aおよび第2の進捗情報3bを参照する。
第1の進捗情報3aの領域dに対応するビットは、「1」であるため、コピーが未完了であることを示している。しかし、第の進捗情報3bの領域dに対応するビットは、「0」であるため、コピーが完了であることを示している。従って、確認部1cは、領域dについては第2のスナップショットの作成に伴う物理コピーが完了していると判断し、第1の記憶領域2aに読み出すべきデータが存在していると判断する。そして、確認部1cは、判断結果をデータ読み出し部1dに通知する。データ読み出し部1dは、確認部1cから通知された判断結果に基づいて、第1の記憶領域2aの領域dからデータを読み出す。そして、読み出したデータを前述したデータ処理装置1以外の装置に送信する。
仮に、確認部1cが第1の進捗情報3aおよび第3の進捗情報3cのみに基づいて、領域dへのデータのコピーが完了しているか否かを判断すると、第1の進捗情報3aおよび第3の進捗情報3cの領域dに対応するビットは、いずれも「1」であるため、領域dにについて第3の記憶領域2cから第1の記憶領域2aへの物理コピーが未完了であることを示している。従って、確認部1cは、第3の記憶領域2cに読み出すべきデータが存在していると判断する。このため、データ読み出し部1dは、第3の記憶領域2cの領域dからデータを読み出してしまう。
ところが、第1の進捗情報3aは、今回の第2のスナップショットを再度、作成するにあたり、全てのビットの値が「1」にリセットされている。このため、現時点での第1の進捗情報3aは、前回のスナップショットにおけるコピーが完了しているか否かを示す結果が保証できないものとなっている。例えば、第3の記憶領域2cの領域dに記憶されているデータが前回の第2のスナップショット作成後に更新されている場合も全てのビットの値が「1」にリセットされている。リセットされているため、確認部1cは、第1の記憶領域2aに読み出すべきデータが存在していると判断する。この判断のため、データ読み出し部1dは、更新されたデータ(読み出し対象とは異なるデータ)を読み出してしまう。
本実施の形態のデータ処理装置1によれば、第2の進捗情報3bを、第1の進捗情報3aとは別個に記憶することにより、今回のスナップショットの作成後においても、前回の第2のスナップショットに伴う第1の記憶領域2aへの物理コピーの進捗を把握することができる。従って、前回の第2のスナップショットが作成された後に、第3の記憶領域2cのデータが更新された場合においても、データ読み出し部1dが読み出し要求とは異なるデータを読み出すことを抑制することができる。
なお、スナップショット作成部1aは、データ処理装置1が有するCPU(Central Processing Unit)が備える機能により実現することができる。また、記憶部1bは、データ処理装置1が有するRAM(Random Access Memory)やハードディスクドライブ等が備えるデータ記憶領域により実現することができる。
以下、実施の形態をより具体的に説明する。
<第2の実施の形態>
図2は、第2の実施の形態のストレージシステムを示すブロック図である。
ストレージシステム100は、ホストコンピュータ30と、ストレージ装置40とを有している。
ストレージ装置40は、制御モジュール(CM:Controller Module)10a、10b、10cと、ドライブエンクロージャ(DE:Drive Enclosure)20とを有している。
制御モジュール10a、10b、10cは、それぞれ、ストレージ装置40に対し着脱可能になっている。
制御モジュール10a、10b、10cは、それぞれ、同じ機能を有しており、ストレージ装置40のドライブエンクロージャ20へのデータ書き込み、およびドライブエンクロージャ20からのデータの読み出しを制御する。同じ機能を有する制御モジュールを2以上有することで、ストレージシステム100は、システムの冗長性が確保されている。
ここで、制御モジュール10aは、CPU11によって装置全体が制御されている。
CPU11には、内部バスを介してメモリ12、チャネルアダプタ(CA:Channel Adapter)13およびファイバチャネル(FC:Fibre Channel)スイッチ14が接続されている。
メモリ12には、CPU11に実行させるプログラムの少なくとも一部が一時的に格納される。また、メモリ12には、CPU11による処理に必要な各種データが格納される。さらに、メモリには、後述するコピービットマップおよびカスケードビットマップが格納される。
チャネルアダプタ13は、ファイバチャネルスイッチ31に接続され、ファイバチャネルスイッチ31を介してホストコンピュータ30のチャネルCH1、CH2、CH3、CH4に接続される。この経路を介して、ホストコンピュータ30と、CPU11との間でデータの送受信が行われる。
ファイバチャネルスイッチ14は、外部のドライブエンクロージャ20に接続される。CPU11は、ファイバチャネルスイッチ14を介して外部のドライブエンクロージャ20との間でデータの送受信を行う。
なお、制御モジュール10b、10cのハードウェア構成も、制御モジュール10aと同様である。
制御モジュール10a、10b、10cは、それぞれ、アクセス指示情報としてI/Oコマンドをドライブエンクロージャ20に送信し、ストレージ装置の記憶領域に対するデータの入出力指令を行う。また、入出力指令からアクセス監視時間が経過しても応答が得られないときは、このI/O処理を中断するアボート指示コマンドをドライブエンクロージャ20に送信する。
ドライブエンクロージャ20は、カスケードコピーの実行先、および実行元となる複数のボリュームを有している。ボリュームを構成するドライブとしては、例えばハードディスクドライブや、SSDや、光磁気ディスクや、光ディスク(ブルーレイ等)等が挙げられる。
ドライブエンクロージャ20は、冗長性を考慮したRAID構成をなしていてもよい。
なお、図2では、1つのホストコンピュータ30を図示しているが、複数のホストコンピュータが、ストレージ装置40に接続されていてもよい。
このようなハードウェア構成によって、制御モジュール10a、10bおよび10cの処理機能を実現することができる。
次に、制御モジュール10aの機能を説明する。
図3は、制御モジュールの機能を示すブロック図である。
I/O処理実行部110は、ホストコンピュータ30とのI/O処理を実行する。具体的には、ホストコンピュータ30からデータの読み出し要求を受信すると、ドライブエンクロージャ20のデータ読み出し先のボリュームの指定された領域からデータを読み出し、ホストコンピュータ30に応答する。また、ホストコンピュータ30からデータの書き込み要求を受信すると、ドライブエンクロージャ20のデータ書き込み先のボリュームの指定された領域にデータを書き込む。
また、I/O処理実行部110は、ホストコンピュータ30からスナップショットを作成する旨の指示を受信すると、指示をカスケードコピー実行部130に送る。また、当該指示に対する応答をホストコンピュータ30に応答する。
データ保持ボリューム検索部120は、I/O処理実行部110が受け付けた、書き込み要求の書き込み先のデータまたは読み出し要求の読み出し先のデータを保持するボリュームを判断する。具体的には、コピー元のボリュームからコピー先へのボリュームへのコピービットマップが物理コピー完了か否かを確認する。
また、データ保持ボリューム検索部120は、各ボリューム内に存在する不可欠データを検索する。なお、不可欠データについては、後述する。
カスケードコピー実行部130は、スナップショットを実行する機能を有している。また、カスケードコピー実行部130は、1つ目のスナップショットの作成に伴うコピー処理と2つ目のスナップショットの作成に伴うコピー処理とを協調して動作させるカスケードコピーを実行する。
カスケードコピー実行部130は、コピービットマップ作成・更新部131とカスケードビットマップ作成・更新部132とを有している。
コピービットマップ作成・更新部131は、スナップショットの作成に伴い、コピービットマップを作成する。また、コピービットマップ作成・更新部131は、カスケードコピーの実行に伴い、コピービットマップを更新する。
カスケードビットマップ作成・更新部132は、スナップショットの作成に伴い、カスケードビットマップを作成する。また、カスケードビットマップ作成・更新部132は、カスケードコピーの実行に伴い、カスケードビットマップを更新する。
コピービットマップ記憶部140は、コピービットマップを記憶する。
カスケードビットマップ記憶部150は、カスケードビットマップを記憶する。
次に、ビットマップおよびカスケードビットマップが示す内容を説明する。
<ビットマップおよびカスケードビットマップ>
図4は、ビットマップおよびカスケードビットマップを説明する図である。
本実施の形態では、説明を分かり易くするため、ボリュームVol1およびボリュームVol2を4つの記憶領域を示す領域a〜dに区切っている。
前述したように、コピービットマップ作成・更新部131は、スナップショットの作成に伴い、コピービットマップを作成する。作成されたコピービットマップCoB1は、領域a〜dに対応する4つのビットマップ格納部A〜Dを有している。
コピービットマップ作成・更新部131は、各ビットマップ格納部A〜Dに、それぞれ、領域a〜dの物理コピーが完了したことを示す「0」または領域a〜dのコピーが未完了であることを示す「1」を設定する。例えば、ボリュームVol1からボリュームVol2へのスナップショットの作成に伴い、ボリュームVol1の領域aからボリュームVol2の領域aへのデータの物理コピーが完了した場合、コピービットマップ作成・更新部131は、コピービットマップCoB1のビットマップ格納部Aを「0」に設定する。この設定により、コピービットマップCoB1のビットマップ格納部Aを参照することで、ボリュームVol1の領域aからボリュームVol2の領域aへのデータの物理コピーが終了したことを判断することができる。
また、カスケードビットマップ作成・更新部132は、スナップショットの作成や、カスケードコピーに伴い、カスケードビットマップを作成する。例えば、作成されたカスケードビットマップCaB1は、領域a〜dに対応する4つのビットマップ格納部E〜Hを有している。
ここで、ビットマップ格納部Eは、ビットマップ格納部Aに対応している。ビットマップ格納部Fは、ビットマップ格納部Bに対応している。ビットマップ格納部Gは、ビットマップ格納部Cに対応している。ビットマップ格納部Hは、ビットマップ格納部Dに対応している。
カスケードビットマップ作成・更新部132は、各ビットマップ格納部E〜Hに、それぞれ、領域a〜dの物理コピーが完了したことを示す「0」または領域a〜dの物理コピーが未完了であることを示す「1」を設定する。
例えば、ボリュームVol1の領域aからボリュームVol2の領域aにスナップショットが再作成された場合、カスケードビットマップ作成・更新部132は、カスケードビットマップCaB1のビットマップ格納部Eを「0」に設定する。
この設定により、カスケードビットマップCaB1のビットマップ格納部Eを参照することで、コピービットマップCoBが書き換えられた場合でも、ボリュームVol1の領域aからボリュームVol2の領域aへの物理コピーが完了していることを判断することができる。
なお、以下の説明では、符号A〜Hの図示を省略する。
次に、カスケードビットマップの作成方法を説明する。
<カスケードビットマップの作成方法>
<ルール1>
図5は、カスケードビットマップの作成方法を説明する図である。
本実施の形態では、単独のスナップショットや、カスケードコピーを新規にスタートする場合は、カスケードビットマップ作成・更新部132が、全てのビットを物理コピー未完了(ビット=1)のカスケードビットマップを用意する。
図5(a)は、ボリュームVol1のスナップショットαをボリュームVol2に作成する場合を示している。
ボリュームVol1のスナップショットαの作成をボリュームVol2に開始する場合、カスケードビットマップ作成・更新部132は、ビットマップ格納部E〜Hにいずれも「1」を設定したカスケードビットマップCaB1を作成する。
また、コピービットマップ作成・更新部131は、ビットマップ格納部A〜Dにいずれも「1」を設定したコピービットマップCoB1を作成する。
ここで、コピービットマップCoB1は、これから実行するスナップショットαに伴う物理コピーの進捗に応じて、各ビットマップ格納部A〜Dの値が変化するのに対し、カスケードビットマップCaB1は、これから実行するスナップショットαの次のスナップショットαが実行されるまで、各ビットマップ格納部E〜Hの値はいずれも「1」のままである点で異なる。
図5(b)は、ボリュームVol2のスナップショットβをボリュームVol3に作成する場合を示している。
なお、スナップショットαの「α」およびスナップショットβの「β」は、識別符号としての役割を有しており、スナップショットの順序を示すものではない。
ボリュームVol1のスナップショットαに伴う物理コピーとボリュームVol2のスナップショットβに伴う物理コピーが協調して動作しているため、当該コピーは、カスケードコピーとなる。以下、スナップショットαに伴う物理コピーを「カスケード元のコピー」と言う。また、スナップショットβに伴う物理コピーを「カスケード先のコピー」と言う。
ボリュームVol2のスナップショットβの作成をボリュームVol3に開始する場合、コピービットマップ作成・更新部131は、ビットマップ格納部A〜Dにいずれも「1」を設定したコピービットマップCoB2を作成する。
また、カスケードビットマップ作成・更新部132は、ビットマップ格納部E〜Hにいずれも「1」を設定したカスケードビットマップCaB2を作成する。
なお、本実施の形態では、スナップショットαおよびスナップショットβを作成する時点でコピービットマップおよびカスケードビットマップを作成した。しかし、これに限らず、スナップショットを作成する時点では、カスケードビットマップを作成せず、カスケードコピーを実行する際に、カスケードビットマップを作成するようにすることもできる。
<ルール2>
図6は、カスケードビットマップの作成方法を説明する図である。
図6(a)は、カスケードコピー動作中を示している。具体的には、カスケードコピー実行部130が、スナップショットαを実行した結果、データイメージのコピーは、ボリュームVol2に瞬時にコピーされる。その後、ボリュームVol1の領域a、bのボリュームVol2に対する物理コピーが完了していることを示している。
図6(b)、(c)は、ボリュームVol1〜ボリュームVol3のカスケードコピーが設定されている状態で、カスケードコピー実行部130が、ボリュームVol1からボリュームVol2へのスナップショットα(カスケード元のコピー)を再作成(1から新たに再度作成)した場合を示している。
カスケードコピー実行部130は、ボリュームVol2とボリュームVol3とのカスケードコピーが設定されている状態で、ボリュームVol1からボリュームVol2へのスナップショット(カスケード元のコピー)を再作成すると、カスケードビットマップ作成・更新部132は、図6(b)に示すように、コピービットマップCoB1のビットマップ格納部A〜Dに記憶されているデータと、カスケードビットマップCaB1のビットマップ格納部E〜Hに記憶されているデータとの論理積(AND)を取る。論理積を取ることにより、コピービットマップCoB1の、スナップショットαに伴う物理コピーが完了している領域が、カスケードビットマップCaB1に上書きされる。
その後、コピービットマップ作成・更新部131は、図6(c)に示すように、コピービットマップCoB1を更新する。例えば、スナップショットの再作成により、ボリュームVol1の領域a〜dの全てをボリュームVol2に物理コピーする場合、コピービットマップ作成・更新部131は、コピービットマップCoB1のビットマップ格納部A〜Dの全てのビットを物理コピー未完了(ビット=1)に更新する。
ルール2に従い、カスケードビットマップ作成・更新部132が、スナップショットα再作成時にコピービットマップCoB1のデータをカスケードビットマップCaB1に上書きして退避することにより、スナップショットαの再作成を実行したときの、ドライブエンクロージャ20から読み出すデータの信頼性を保証することができる。
<ルール3>
図7は、カスケードビットマップの作成方法を説明する図である。
図7(a)は、ボリュームVol2からボリュームVol3へのスナップショットβを示している。
ボリュームVol2からボリュームVol3へのスナップショットβの実行後に、ボリュームVol1からボリュームVol2へのスナップショットαを開始する場合、スナップショットβが、カスケード先のスナップショットとなり、スナップショットαがカスケード元のスナップショットとなる。
図7(b)に示すように、カスケードビットマップ作成・更新部132は、最初のスナップショットαの開始時に、全てのビットを物理コピー完了(ビット=0)に設定したカスケードビットマップCaB1を作成する。そして、例えばカスケードコピー実行部130が、ボリュームVol1の領域a〜dの全部をスナップショットαによりボリュームVol2にコピーする場合、カスケードビットマップ作成・更新部132は、コピービットマップCoB1の全てのビットを物理コピー未完了(ビット=1)に設定する。
最初のスナップショットαの開始時に、カスケードビットマップCaB1の全てのビットを物理コピー完了(ビット=0)に設定することにより、カスケードビットマップCaB1は、データ読み出しまたはデータ書き込み要求時には、ボリュームVol2に記憶されているデータをそのまま適用可能であることを示す情報となる。従って、カスケード元のスナップショットαを後から作成する場合であってもドライブエンクロージャ20から読み出すデータの信頼性を保証することができる。
<ルール4>
図8は、カスケードビットマップの作成方法を説明する図である。
図8(a)は、ボリュームVol1〜ボリュームVol3のカスケードコピー動作中を示している。
図8(b)は、ボリュームVol2とボリュームVol3とのスナップショットが再作成されたときのコピービットマップおよびカスケードビットマップの設定を説明する図である。
カスケードコピー実行部130が、ボリュームVol1とボリュームVol2とのカスケード元のコピーを設定している状態で、ボリュームVol2とボリュームVol3とのカスケード先のスナップショットを再作成すると、カスケードビットマップ作成・更新部132は、カスケード元のカスケードビットマップCaB1の全てのビットを未完了(ビット=1)に設定する。この設定は、カスケード元、カスケード先の順番でカスケードコピーが実行された場合は、カスケードコピー実行部130がコピービットマップCoB1およびコピービットマップCoB2のみでコピーを管理することができるため、カスケードビットマップCaB1が、カスケードコピーに影響を与えないようにするためである。
次に、ホストコンピュータ30からデータ書き込み要求またはデータ読み出し要求を受信したときの、ストレージ装置40のカスケードビットマップを用いた制御方法を、フローチャートを用いて説明する。
図9は、制御方法を説明する際のボリュームの構成を示す図である。
フローチャートを説明するにあたり、図9に示すボリュームの構成を想定する。図9では、本実施の形態のドライブエンクロージャ20が有するドライブを、(2n+1)個のボリュームに分けた場合を示している。
以下、ボリュームVol(n)から見てボリュームVol1に向かう方向をカスケード元側、ボリュームVol(n)から見てボリュームVol(2n)に向かう方向をカスケード先側と言う。
図10は、データ書き込み処理を示すフローチャートである。
[ステップS1] I/O処理実行部110が、ボリュームVol(n)に対するデータの書き込み要求を受け取ると、ステップS2に遷移する。
[ステップS2] データ保持ボリューム検索部120が、コピービットマップCoB(n−1)を参照し、書き込み要求があったボリュームVol(n)の領域に対応するビット(以下、「対応ビット」と言う)を参照し、対応ビット=0か否かを判断する。対応ビット=0であれば(ステップS2のYes)、データ保持ボリューム検索部120は、書き込み要求があったボリュームVol(n)の区画が物理コピー完了であると判断し、ステップS8に遷移する。対応ビット=0でなければ、(ステップS2のNo)、データ保持ボリューム検索部120は、書き込み要求があったボリュームVol(n)の区画が物理コピー完了ではないと判断し、ステップS3に遷移する。
[ステップS3] データ保持ボリューム検索部120が、ボリュームVol(n+1)に不可欠データが存在するか否かを判断する。
不可欠データが存在するか否かの判定は、ボリュームVol(n)からボリュームVol(n+1)へのカスケードコピーに対応するカスケードビットマップCaB(n)の対応ビットの物理コピーが完了(ビット=0)に設定されており、なおかつ、ボリュームVol(n+1)をコピー元とするコピー処理のコピービットマップの対応ビットの物理コピーが未完了(ビット=1)に設定されている場合に、ボリュームVol(n+1)に不可欠データが存在すると判定する。
ボリュームVol(n+1)に不可欠データが存在しない場合(ステップS3のNo)、ステップS6に遷移する。ボリュームVol(n+1)に不可欠データが存在する場合(ステップS3のYes)、ステップS4に遷移する。
[ステップS4] データ保持ボリューム検索部120は、ボリュームVol(n+1)からカスケード先側に向かって不可欠データの存在しないボリューム(以下、ボリュームVol(X)とする)を検索する。ボリュームVol(X)が見つかればステップS5に遷移する。ボリュームVol(X)が見つからなければ、最後尾のボリュームVol(2n)をボリュームVol(X)に設定する。
[ステップS5] データ保持ボリューム検索部120は、ボリュームVol(n+1)からボリュームVol(X)までの物理コピーをカスケード先側に向かって順番に実施する。例えば、ボリュームVol(X)がボリュームVol(n+3)であれば、まず、ボリュームVol(n+1)からボリュームVol(n+2)の物理コピーを行う。次に、ボリュームVol(n+2)からボリュームVol(n+3)の物理コピーを行う。
その後、ボリュームVol(n)からボリュームVol(n+1)へのスナップショットに対応するコピービットマップCoB(n)の対応ビットを物理コピー完了(ビット=0)に設定する。その後、ステップS6に遷移する。
[ステップS6] データ保持ボリューム検索部120は、ボリュームVol(n)からカスケード元側に向かってデータ保持ボリュームを検索する。具体的には、カスケード元側のコピービットマップまたはカスケードビットマップのいずれかが物理コピー完了(ビット=0)であれば、データ保持ボリューム検索部120は、この物理コピー完了(ビット=0)であるコピービットマップまたはカスケードビットマップが物理コピー完了を示すコピー先のボリューム(例えば、カスケードビットマップ(CaB(n−1)であればボリュームVol(n))をデータ保持ボリュームと判断する。カスケード元側に全て遡ってもアクセス範囲が物理コピー完了のセッションが見つからなかった場合は、データ保持ボリューム検索部120は、カスケードの開始ボリュームVol1をデータ保持ボリュームと判断する。ボリュームの判断が終了すると、ステップS7に遷移する。
[ステップS7] カスケードコピー実行部130は、ステップS6にて決定したデータ保持ボリュームからボリュームVol(n+1)へ物理コピーを実施する。データ保持ボリュームからボリュームVol(n+1)へ物理コピーが完了すると、コピービットマップ作成・更新部131は、コピービットマップCoB(n)の対応ビットを物理コピー完了(ビット=0)に設定する。
[ステップS8] データ保持ボリューム検索部120は、ボリュームVol(n−1)からボリュームVol(n)へのコピービットマップCoB(n−1)の対応ビットを参照し、対応ビット=0か否かを判断する。対応ビット=0であれば(ステップS8のYes)、書き込み要求があったボリュームVol(n)の区画が物理コピー完了であると判断し、ステップS11に遷移する。対応ビット=0でなければ、(ステップS8のNo)、書き込み要求があったボリュームVol(n)の区画が物理コピー完了ではないと判断し、ステップS9に遷移する。
[ステップS9] データ保持ボリューム検索部120は、ボリュームVol(n−1)からカスケード元側に向かってデータ保持ボリュームを検索する。コピービットマップまたはカスケードビットマップのいずれかの対応ビットが物理コピー完了(ビット=0)であれば、データ保持ボリューム検索部120は、この物理コピー完了(ビット=0)であるコピービットマップまたはカスケードビットマップが物理コピー完了を示すコピー先のボリュームをデータ保持ボリュームと判断する。カスケード元側に全て遡ってもアクセス範囲が物理コピー完了のセッションが見つからなかった場合は、カスケードの開始ボリュームであるボリュームVol1をデータ保持ボリュームに決定する。その後、ステップS10に遷移する。
[ステップS10] カスケードコピー実行部130は、ステップS9にて決定したデータ保持ボリュームからボリュームVol(n)へ物理コピーを実施する。そしてコピービットマップ作成・更新部131は、コピービットマップCoB(n−1)の対応ビットを物理コピー完了(ビット=0)に設定する。その後、ステップS11に遷移する。
[ステップS11] I/O処理実行部110は、データの書き込みI/Oを受け付けて、ホストコンピュータ30に応答を返す。
その後、データ書き込み処理を終了する。
以上で、図10に示す処理の説明を終了する。
次に、データ読み出し処理を説明する。
図11は、データ読み出し処理を示すフローチャートである。
[ステップS21] I/O処理実行部110が、ボリュームVol(n)に対するデータの読み出し要求を受領すると、ステップS22に遷移する。
[ステップS22] データ保持ボリューム検索部120は、ボリュームVol(n−1)からボリュームVol(n)へのコピービットマップCoB(n−1)の対応ビットを参照し、対応ビット=0か否かを判断する。対応ビット=0であれば(ステップS22のYes)、データ保持ボリューム検索部120は、読み出し要求があったボリュームVol(n)の領域が物理コピー完了であると判断し、ステップS23に遷移する。対応ビット=0でなければ、(ステップS22のNo)、データ保持ボリューム検索部120は、読み出し要求があったボリュームVol(n)の領域が物理コピー完了ではないと判断し、ステップS24に遷移する。
[ステップS23] データ保持ボリューム検索部120は、ボリュームVol(n)をデータ保持ボリュームであると判断する。その後、ステップS25に遷移する。
[ステップS24] データ保持ボリューム検索部120は、ボリュームVol(n)からカスケード元側に遡ってデータ保持ボリュームを検索する。コピービットマップまたはカスケードビットマップのいずれかの対応ビットが物理コピー完了(ビット=0)であれば、データ保持ボリューム検索部120は、この物理コピー完了(ビット=0)であるコピービットマップまたはカスケードビットマップが物理コピー完了を示すコピー先のボリュームをデータ保持ボリュームと判断する。カスケード元側に全て遡ってもアクセス範囲が物理コピー完了のセッションが見つからなかった場合は、データ保持ボリューム検索部120は、カスケードの開始ボリュームであるボリュームVol1をデータ保持ボリュームであると判断する。その後、ステップS25に遷移する。
[ステップS25] I/O処理実行部110は、ステップS23またはステップS24にてデータ保持ボリューム検索部120が判断したデータ保持ボリュームのデータをホストコンピュータ30に応答する。なお、データの読み出しの場合、特に物理コピーを行う必要がないため何らかの方法で応答すればよい。応答方法については特に限定されない。
その後、データ読み出し処理を終了する。
以上で、図11に示す処理の説明を終了する。
<カスケードビットマップを用いた制御の具体例>
以降、前述したフローチャートの具体例1〜4を説明する。
<具体例1>
図12は、カスケードビットマップを用いた制御方法の具体例を示す図である。
具体例1は、スナップショットβ、スナップショットαの順番にスナップショットが作成された場合において、スナップショットβに対するデータの読み出し要求を受け取った場合の動作を示す例である。
図12では、スナップショットの実行に伴う各ボリュームの論理イメージと物理イメージの両方を表示している。そして、対応するボリュームには同じ符号を付している。以下、図14、図15、図16においても同様である。
図12に示すように、I/O処理実行部110が、ボリュームVol3の領域dに対するデータ読み出し要求をホストコンピュータ30から受信した場合、データ保持ボリューム検索部120は、各スナップショットのコピービットマップCoB1、CoB2およびカスケードビットマップCaB1、CaB2の領域dの対応ビットを確認する。スナップショットαのカスケードビットマップCaB1の領域dに対応するビットマップ格納部Hのビットは物理コピー完了(ビット=0)であることから、データ保持ボリューム検索部120は、スナップショットαの再作成前にボリュームVol1からボリュームVol2のコピー処理は済んでいたと判断することができる。従って、I/O処理実行部110は、ボリュームVol2の領域dに対応する物理データをホストコンピュータ30に応答する。
図13は、カスケードビットマップを用いない制御方法の具体例(比較例)を示す図である。
図13(a)では、スナップショットεとスナップショットζが実行され、コピービットマップCoB91、CoB92の各ビットが未完了(ビット=1)に設定されている。
その後、図13(b)に示すように、ボリュームVol91の領域dのデータYが、ボリュームVol92に物理コピーされる。物理コピーが完了すると、コピービットマップCoB91の領域dに対応するビットマップ格納部のビットがコピー完了(ビット=0)に設定される。
スナップショットεとスナップショットζによるボリュームVol93のデータの値を保証するには、ボリュームVol93の領域dに対しデータ読み出し要求があったときに、ボリュームVol9からスナップショットζを作成した時点のコピー元のデータ、すなわち、データYが読める必要がある。
しかし、図13(b)に示すように、ボリュームVol91の領域dのデータYのボリュームVol92への物理コピーが完了した後に、ボリュームVol91のデータYがデータZに更新され、その後、図13(c)に示すように、カスケード元のスナップショットεを再作成した場合に前述したルール2を適用してしまうと、コピービットマップCoB91の各ビットが未完了(ビット=1)に設定されてしまう。
この結果、コピービットマップCoB91およびコピービットマップCoB92の双方の領域dの対応ビットが未完了であるため、ボリュームVol91がデータを保持していると判定される。従って、図13(d)に示すように、ボリュームVol93の領域dに対しデータ読み出し要求があった場合には、更新が発生した後のボリュームVol91の領域「d」のデータZが読み出されてしまう。
具体例1によれば、再作成時のコピービットマップCoB1の各ビットマップ格納部の値をカスケードビットマップCaB1に退避することにより、スナップショットにより作成されたデータの信頼性を保証することができる。
<具体例2>
図14は、カスケードビットマップを用いた制御方法の具体例を示す図である。
具体例2は、多段カスケードコピーの中間ボリュームに対するリードデータの読み出し動作を示す例である。ここで、多段カスケードコピーとは、複数のカスケードコピーを連結させたものである。
図14に示すように、I/O処理実行部110が、ボリュームVol(n−1)の領域dに対するデータ読み出し要求をホストコンピュータ30から受信した場合、データ保持ボリューム検索部120は、データの読み出し要求を受け付けたボリュームVol(n−1)からカスケード元側(ボリュームVol(n−2)、Vol(n−3)、・・・)に向かって、データ保持ボリュームを検索する。コピービットマップまたはカスケードビットマップのいずれかの対応ビットが物理コピー完了(ビット=0)であるボリュームを確認した場合、データ保持ボリューム検索部120は、該当コピー処理のコピー先ボリュームをデータ保持ボリュームと判断する。
図14では、カスケードビットマップCaB1の対応ビットが物理コピー完了であることを示しているため、ボリュームVol2がデータを保持していると判断することができる。従って、データ保持ボリューム検索部120は、ボリュームVol2をデータ保持ボリュームと判断する。
I/O処理実行部110は、ボリュームVol2に格納されているデータをホストコンピュータ30に応答する。
なお、応答の際には、コピー処理量を押さえるため、ボリュームVol2のデータ読み出し要求に対応する物理データのみをボリュームVol(n−1)に物理コピーした上で、ボリュームVol(n−1)に格納されているデータ読み出し要求に対応する物理データをホストコンピュータ30に応答するようにしてもよい。
<具体例3>
図15は、カスケードビットマップを用いた制御方法の具体例を示す図である。
具体例3は、スナップショットβ、スナップショットαの順番にスナップショットが作成された場合において、ボリュームVol1に対するデータの書き込み要求を受け取った場合の動作を示す例である。
図15に示すように、I/O処理実行部110が、ボリュームVol1の領域dに対するデータ書き込み要求をホストコンピュータ30から受信した場合、スナップショットαのボリュームの領域dに対応するカスケードビットマップCaB1のビットマップ格納部Hの値が物理コピー完了(ビット=0)、かつ、スナップショットβの領域dに対応するコピービットマップCoB2のビットマップ格納部Dの値が未完了(ビット=1)の場合、ボリュームVol2にはスナップショットαの再作成前のデータが含まれ、なおかつ、この再作成前のデータをボリュームVol3が必要としている。従って、データ保持ボリューム検索部120は、ボリュームVol2は、不可欠データを含んでいると判断する。
ボリュームVol2が不可欠データを含むため、カスケードコピー実行部130は、ボリュームVol2からボリュームVol3への物理コピーにより不可欠データをボリュームVol3にコピーした上でボリュームVol1からボリュームVol2への物理コピーを行う。その後、I/O処理実行部110が、受信した書き込み要求のデータをボリュームVol1の領域dに書き込む。
<具体例4>
図16は、カスケードビットマップを用いた制御方法の具体例を示す図である。
具体例4は、多段カスケードの中間ボリュームに対するデータの書き込み要求を受け取った場合の動作を示す例である。
図16に示すように、I/O処理実行部110が、ボリュームVol(n1)の領域dに対するデータ書き込み要求をホストコンピュータ30から受信した場合、データ保持ボリューム検索部120は、ボリュームVol(n−1)からボリュームVol(n)へのスナップショットのコピービットマップCoB(n)を確認する。本具体例4では、コピービットマップCoB(n−1)が未完了(ビット=1)であるので、データ保持ボリューム検索部120は、ボリュームVol(n)からカスケード元側に向かって、データ保持ボリュームを検索する。
図16では、カスケードビットマップCaB1の対応ビットが物理コピー完了(ビット=0)であるため、データ保持ボリューム検索部120は、ボリュームVol2がデータ保持ボリュームであると判断する。
カスケードコピー実行部130は、ボリュームVol2からボリュームVol(n−1)へのデータの物理コピー、およびボリュームVol2からボリュームVol(n)へのデータの物理コピーを行う。
なお、ボリュームVol(n)のデータ保持ボリュームがボリュームVol(n−1)より前の世代である場合、論理上、ボリュームVol(n−1)とボリュームVol(n)のデータ保持ボリュームは同じボリュームとなるため、その場合は2回目のデータ保持ボリュームの検索は省略してもよい。
以上述べたように、実施の形態のストレージシステム100によれば、スナップショットαに伴う物理コピー処理が完了しているかどうかに関わらず、スナップショットβのコピー先データから新たなスナップショットを作成することができる。また、スナップショットβに伴う物理コピー処理が完了しているかどうかに関わらず、スナップショットαのコピー元ボリュームをスナップショット作成先としてスナップショットを作成することができる。
さらに、カスケードを構成するスナップショットのうち任意のスナップショットを再作成することができる。
従って、スナップショットにより作成されたデータの信頼性を保証することができる。
<応用例>
図17は、第2の実施の形態の処理の応用例を示す図である。
図17に示すように、ボリュームVol11からボリュームVol12にスナップショットγが作成され、ボリュームVol11からボリュームVol13にスナップショットδが作成された場合、すなわち、同一のソースボリュームに対する複数のスナップショットが作成された場合、いずれか一方をソースボリュームに書き戻し(リストア)をしたい場合がある。例えば、ソースボリュームのデータが破壊されたときにバックアップとして採取していたスナップショットを用いて復旧する場合である。リストアをスナップショットによって行うことができれば、リストアが瞬時に完了するため望ましい。
スナップショットγと、新規にスタートするリストア処理はカスケード関係となるため、ルール1〜ルール4に従ってコピービットマップとカスケードビットマップを作成、更新し、リストア処理を行うことにより、リストア処理によってリストアされたデータの信頼性を保証することができる。
以上、本発明のデータ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置を、図示の実施の形態に基づいて説明したが、本発明はこれに限定されるものではなく、各部の構成は、同様の機能を有する任意の構成のものに置換することができる。また、本発明に、他の任意の構成物や工程が付加されていてもよい。
また、本発明は、前述した各実施の形態のうちの、任意の2以上の構成(特徴)を組み合わせたものであってもよい。
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、データ処理装置1および制御モジュール10a、10b、10cが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。
プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
また、上記の処理機能の少なくとも一部を、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現することもできる。
以上の第1〜第2の実施の形態に関し、さらに以下の付記を開示する。
(付記1) 第1の記憶領域に記憶されているデータの第1のスナップショットが第2の記憶領域に作成された状態で、前記第1の記憶領域をスナップショットの作成先とした第2のスナップショットを作成するスナップショット作成部と、
今回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの進捗を示す第1の進捗情報と、前回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの進捗を示す第2の進捗情報とを記憶する記憶部と、
を有することを特徴とするデータ処理装置。
(付記2) 前記第2の記憶領域の所定の領域に格納されているデータの読み出し要求があった場合、前記第2の進捗情報に基づいて、前回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの進捗を確認する確認部と、
前記確認部により、前回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーが完了していると判断された場合、前記第1の記憶領域に記憶されている前記読み出し要求に応じたデータを読み出すデータ読み出し部とをさらに有することを特徴とする付記1記載のデータ処理装置。
(付記3) 前記第1の記憶領域をスナップショットの作成先とした第3の記憶領域の所定の領域にデータの書き込み要求があった場合、前記スナップショット作成部は、前記第2の進捗情報が物理コピーが完了したことを示す情報であり、かつ、今回の前記第1のスナップショットの作成に伴う前記第2の記憶領域への物理コピーの進捗を示す第3の進捗情報が物理コピー未完了を示す情報である場合、前記第1の記憶領域に記憶されている前記書き込み要求に応じたデータを前記第2の記憶領域に物理コピーした後に、前記第3の記憶領域に記憶されている前記書き込み要求に応じたデータを前記第1の記憶領域に物理コピーすることを特徴とする付記1記載のデータ処理装置。
(付記4) 前記スナップショット作成部は、前記第2のスナップショットを再作成する場合、前記第2の進捗情報を前記第1の進捗情報に複写した後に、前記第2の進捗情報を物理コピー未完了を示す情報に設定することを特徴とする付記1記載のデータ処理装置。
(付記5) 前記スナップショット作成部は、前記第2のスナップショットを再作成する場合、前記第2の進捗情報を物理コピー完了したことを示す情報に設定することを特徴する付記1記載のデータ処理装置。
(付記6) 前記スナップショット作成部は、前記第2のスナップショットが作成され、かつ、前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーが完了していない状態で前記第1のスナップショットを再作成する場合、前記第2の進捗情報を物理コピー未完了を示す情報に設定することを特徴とする付記1記載のデータ処理装置。
(付記7) 前記第1の進捗情報および前記第2の進捗情報は、ビットマップ形式で作成されていることを特徴とする付記1記載のデータ処理装置。
(付記8) 第1の記憶領域に記憶されているデータの第1のスナップショットが第2の記憶領域に作成された状態で、前記第1の記憶領域をスナップショットの作成先とした第2のスナップショットを作成し、
今回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの進捗を示す第1の進捗情報と、前回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの進捗を示す第2の進捗情報とを記憶する、
ことを特徴とするデータ処理方法。
(付記9) コンピュータに、
第1の記憶領域に記憶されているデータの第1のスナップショットが第2の記憶領域に作成された状態で、前記第1の記憶領域をスナップショットの作成先とした第2のスナップショットを作成する作成手順、
今回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの進捗を示す第1の進捗情報と、前回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの進捗を示す第2の進捗情報とを記憶する記憶手順、
を実行させることを特徴とするデータ処理プログラム。
(付記10) 第1の記憶領域と第2の記憶領域とを有する記憶装置と、
前記第1の記憶領域に記憶されているデータの第1のスナップショットが前記第2の記憶領域に作成された状態で、前記第1の記憶領域をスナップショットの作成先とした第2のスナップショットを作成するスナップショット作成部と、
今回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの進捗を示す第1の進捗情報と、前回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの進捗を示す第2の進捗情報とを記憶する記憶部と、
を有することを特徴とするストレージ装置。
1 データ処理装置
1a スナップショット作成部
1b 記憶部
1c 確認部
1d データ読み出し部
2a 第1の記憶領域
2b 第2の記憶領域
2c 第3の記憶領域
3a 第1の進捗情報
3b 第2の進捗情報
3c 第3の進捗情報
10a、10b、10c 制御モジュール
11 CPU
12 メモリ
13 チャネルアダプタ
14 ファイバチャネルスイッチ
20 ドライブエンクロージャ
30 ホストコンピュータ
40 ストレージ装置
100 ストレージシステム
110 I/O処理実行部
120 データ保持ボリューム検索部
130 カスケードコピー実行部
131 コピービットマップ作成・更新部
132 カスケードビットマップ作成・更新部
140 コピービットマップ記憶部
150 カスケードビットマップ記憶部
CaB1、CaB2、CaB(n−2)、CaB(n−1)、CaB(n)、CaB(2n−1) カスケードビットマップ
CoB1、CoB2、CoB(n−2)、CoB(n−1)、CoB(n)、CoB(2n−1) コピービットマップ
Vol1、Vol2、Vol3、Vol11、Vol2、Vol3、Vol(n−1)、Vol(n)、Vol(n+1)、Vol(2n) ボリューム

Claims (7)

  1. 第1の記憶領域に記憶されているデータの第1のスナップショットが第2の記憶領域に作成された状態で、前記第1の記憶領域をスナップショットの作成先とした第2のスナップショットを作成するスナップショット作成部と、
    今回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの完了状況を示す第1の状況情報と、前回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの完了状況を示す第2の状況情報とを記憶する記憶部と、
    を有することを特徴とするデータ処理装置。
  2. 前記第2の記憶領域の所定の領域に格納されているデータの読み出し要求があった場合、前記第2の状況情報に基づいて、前回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの完了状況を確認する確認部と、
    前記確認部により、前回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーが完了していると判断された場合、前記第1の記憶領域に記憶されている前記読み出し要求に応じたデータを読み出すデータ読み出し部とをさらに有することを特徴とする請求項1記載のデータ処理装置。
  3. 前記第1の記憶領域をスナップショットの作成先とした第3の記憶領域の所定の領域にデータの書き込み要求があった場合、前記スナップショット作成部は、前記第2の状況情報が物理コピーが完了したことを示す情報であり、かつ、今回の前記第1のスナップショットの作成に伴う前記第2の記憶領域への物理コピーの完了状況を示す第3の状況情報が物理コピー未完了を示す情報である場合、前記第1の記憶領域に記憶されている前記書き込み要求に応じたデータを前記第2の記憶領域に物理コピーした後に、前記第3の記憶領域に記憶されている前記書き込み要求に応じたデータを前記第1の記憶領域に物理コピーすることを特徴とする請求項1記載のデータ処理装置。
  4. 前記第2のスナップショットは、第3の記憶領域に記憶されているデータのスナップショットであり、前記第1のスナップショットが存在する間は前記第1の記憶領域に格納され、
    前記第1の記憶領域に記憶されているデータの第3のスナップショットが生成され、当該第3のスナップショットが前記第3の記憶領域に存在するとき、前記スナップショット作成部は、前記第2のスナップショットを生成することにより前記第3のスナップショットを前記第1の記憶領域に復元する
    ことを特徴とする請求項1記載のデータ処理装置。
  5. 第1の記憶領域に記憶されているデータの第1のスナップショットが第2の記憶領域に作成された状態で、前記第1の記憶領域をスナップショットの作成先とした第2のスナップショットを作成し、
    今回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの完了状況を示す第1の状況情報と、前回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの完了状況を示す第2の状況情報とを記憶する、
    ことを特徴とするデータ処理方法。
  6. コンピュータに、
    第1の記憶領域に記憶されているデータの第1のスナップショットが第2の記憶領域に作成された状態で、前記第1の記憶領域をスナップショットの作成先とした第2のスナップショットを作成する作成手順、
    今回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの完了状況を示す第1の状況情報と、前回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの完了状況を示す第2の状況情報とを記憶する記憶手順、
    を実行させることを特徴とするデータ処理プログラム。
  7. 第1の記憶領域と第2の記憶領域とを有する記憶装置と、
    前記第1の記憶領域に記憶されているデータの第1のスナップショットが前記第2の記憶領域に作成された状態で、前記第1の記憶領域をスナップショットの作成先とした第2のスナップショットを作成するスナップショット作成部と、
    今回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの完了状況を示す第1の状況情報と、前回の前記第2のスナップショットの作成に伴う前記第1の記憶領域への物理コピーの完了状況を示す第2の状況情報とを記憶する記憶部と、
    を有することを特徴とするストレージ装置。
JP2010159433A 2010-07-14 2010-07-14 データ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置 Expired - Fee Related JP5565157B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2010159433A JP5565157B2 (ja) 2010-07-14 2010-07-14 データ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置
US13/110,691 US20120016842A1 (en) 2010-07-14 2011-05-18 Data processing apparatus, data processing method, data processing program, and storage apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010159433A JP5565157B2 (ja) 2010-07-14 2010-07-14 データ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置

Publications (2)

Publication Number Publication Date
JP2012022490A JP2012022490A (ja) 2012-02-02
JP5565157B2 true JP5565157B2 (ja) 2014-08-06

Family

ID=45467723

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010159433A Expired - Fee Related JP5565157B2 (ja) 2010-07-14 2010-07-14 データ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置

Country Status (2)

Country Link
US (1) US20120016842A1 (ja)
JP (1) JP5565157B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9128973B1 (en) 2011-09-29 2015-09-08 Emc Corporation Method and system for tracking re-sizing and re-creation of volumes using modification time
US9959278B1 (en) * 2011-09-29 2018-05-01 EMC IP Holding Company LLC Method and system for supporting block-level incremental backups of file system volumes using volume pseudo devices
US9021222B1 (en) 2012-03-28 2015-04-28 Lenovoemc Limited Managing incremental cache backup and restore
US9037818B1 (en) * 2012-03-29 2015-05-19 Emc Corporation Active replication switch
US9317375B1 (en) * 2012-03-30 2016-04-19 Lenovoemc Limited Managing cache backup and restore for continuous data replication and protection
AU2013277351A1 (en) * 2012-06-18 2015-01-22 Actifio, Inc. Enhanced data management virtualization system
US9047233B2 (en) * 2012-06-25 2015-06-02 International Business Machines Corporation Source cleaning cascaded volumes using write and background copy indicators
WO2014010016A1 (ja) * 2012-07-09 2014-01-16 富士通株式会社 プログラム、データ管理方法、および情報処理装置
WO2014010011A1 (ja) * 2012-07-09 2014-01-16 富士通株式会社 プログラム、データ管理方法、および情報処理装置
IN2013CH01006A (ja) * 2013-03-08 2015-08-14 Lsi Corp
US20180157930A1 (en) * 2014-11-18 2018-06-07 Elwha Llc Satellite constellation with image edge processing
US11030314B2 (en) * 2018-07-31 2021-06-08 EMC IP Holding Company LLC Storage system with snapshot-based detection and remediation of ransomware attacks

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4581518B2 (ja) * 2003-12-19 2010-11-17 株式会社日立製作所 スナップショット取得方法
JP4439960B2 (ja) * 2004-03-22 2010-03-24 株式会社日立製作所 ストレージ装置
JP2006113667A (ja) * 2004-10-12 2006-04-27 Hitachi Ltd ストレージ装置およびその制御方法
US20060230243A1 (en) * 2005-04-06 2006-10-12 Robert Cochran Cascaded snapshots
JP2007087036A (ja) * 2005-09-21 2007-04-05 Hitachi Ltd スナップショット維持装置及び方法
JP4773788B2 (ja) * 2005-09-29 2011-09-14 株式会社日立製作所 記憶システムにおけるリモートコピー制御
JP4800031B2 (ja) * 2005-12-28 2011-10-26 株式会社日立製作所 ストレージシステム及びスナップショット管理方法
JP5156518B2 (ja) * 2008-07-23 2013-03-06 株式会社日立製作所 記憶制御装置及び方法
CN102187317B (zh) * 2008-10-30 2013-09-18 国际商业机器公司 闪速拷贝管理

Also Published As

Publication number Publication date
US20120016842A1 (en) 2012-01-19
JP2012022490A (ja) 2012-02-02

Similar Documents

Publication Publication Date Title
JP5565157B2 (ja) データ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置
JP2018028715A (ja) ストレージ制御装置、ストレージシステムおよびストレージ制御プログラム
JP6064608B2 (ja) ストレージ装置、バックアッププログラム、およびバックアップ方法
JP4385215B2 (ja) スナップショットシミュレーション機能を有するディスクアレイ装置
JP5984151B2 (ja) データの復旧方法、プログラムおよびデータ処理システム
US10860447B2 (en) Database cluster architecture based on dual port solid state disk
EP1637987A2 (en) Operation environment associating data migration method
JP6094267B2 (ja) ストレージシステム
JP2006268139A (ja) データ複製装置、方法及びプログラム並びに記憶システム
JP2015026112A (ja) ストレージ制御装置、制御プログラム及び制御方法
US7549029B2 (en) Methods for creating hierarchical copies
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
EP2669806B1 (en) Storage system
JP2016181142A (ja) バックアップ制御装置、バックアップ制御方法、及び、プログラム
JP2006011811A (ja) 記憶制御システム及び記憶制御方法
US8131958B2 (en) Storage system, storage device, and data updating method using a journal volume
JPH07141231A (ja) ディスク装置間での仮想記憶資源の移行処理装置及び方法
JP4790283B2 (ja) ストレージサブシステム及びストレージシステム
JP5342055B1 (ja) 記憶装置およびデータバックアップ方法
JP3766079B2 (ja) ディスクアレイ装置およびプログラム
JP4550869B2 (ja) データ同期システム及びデータ同期プログラム
US20160357479A1 (en) Storage control apparatus
US11544005B2 (en) Storage system and processing method
JP6810353B2 (ja) 情報処理システム、情報処理装置およびプログラム
JP2016151803A (ja) ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130507

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140218

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140421

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: 20140520

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140602

R150 Certificate of patent or registration of utility model

Ref document number: 5565157

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees