[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP4422016B2 - 仮想データコピーを作成するための方法および装置 - Google Patents

仮想データコピーを作成するための方法および装置 Download PDF

Info

Publication number
JP4422016B2
JP4422016B2 JP2004504084A JP2004504084A JP4422016B2 JP 4422016 B2 JP4422016 B2 JP 4422016B2 JP 2004504084 A JP2004504084 A JP 2004504084A JP 2004504084 A JP2004504084 A JP 2004504084A JP 4422016 B2 JP4422016 B2 JP 4422016B2
Authority
JP
Japan
Prior art keywords
memory
data
area
bit
memory area
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
JP2004504084A
Other languages
English (en)
Other versions
JP2005525633A (ja
JP2005525633A5 (ja
Inventor
ケクレ,アナンド,エー.
コルグローブ,ジョン,エー.
キセリョフ,オレグ.
カー,ロナルド,エス.
ペンドハルカー,ニランジャン,エス.
Original Assignee
ベリタス オペレーティング コーポレーション
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 ベリタス オペレーティング コーポレーション filed Critical ベリタス オペレーティング コーポレーション
Publication of JP2005525633A publication Critical patent/JP2005525633A/ja
Publication of JP2005525633A5 publication Critical patent/JP2005525633A5/ja
Application granted granted Critical
Publication of JP4422016B2 publication Critical patent/JP4422016B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • 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)
  • Memory System Of A Hierarchy Structure (AREA)

Description

企業では、データを記憶し処理するために大規模のデータ処理システムを使用している。図1は、ホストコンピュータシステム12、トランザクションログ14、主データ記憶システム16および補助データ記憶システム18を備えたデータ処理システム10の一例における関連構成要素を示す。前記主データ記憶システム16および補助データ記憶システム18はデータメモリ22、24をそれぞれ備えており、該データメモリ22、24は、後で詳細に述べるように、主データボリュームおよび補助データボリュームをそれぞれ格納するものである。前記主データボリュームは、前記ホストコンピュータシステム12がデータを読み書きしまたは変更するためのトランザクション(すなわち、命令)に応じてアクセスする"作業"データボリュームまたはデータ内容である。前記バックアップデータボリュームは、前記主データボリュームの設定時間毎のコピー(point-in-time copy)であり、主データ記憶システムが故障したとき、または、該主データ記憶システムに格納されている主データボリュームがオペレータのエラーもしくは正しくないソフトウエアの動作によって論理的に破損または破壊されたときに、使用される。
ホストコンピュータシステム12は、受け取ったアクセストランザクションに応じて、メモリ22の主データボリュームのデータにアクセス(読み書き、または変更)する。コンピュータシステム10が例えば前記主データボリュームの特定のデータファイルにアクセスするトランザクションを受け取った場合、前記ホストコンピュータシステム12は、先ず、前記ファイルのファイル名をメモリ22の1または複数の物理メモリブロックの位置にマッピングするインデックステーブルにアクセスする。前記メモリブロックの位置が分かると、前記ホストコンピュータシステム12は、前記トランザクションに従って、前記メモリブロックにアクセスし、該メモリブロックからデータを読み出しまたは該メモリブロックにデータを書き込む。
図1に示すようなデータ処理システムでは、しばしば、それらの主データボリュームにおけるデータの論理的破損または破壊、または、主データ記憶システムにおける物理的な故障に遭遇する。これらの出来事が発生したとき、主データボリュームに対するアクセスが拒絶される。前記主データボリュームのバックアップが無い場合、そのデータ処理システムに依存する企業は、これらの出来事によって深刻な影響を受ける。
前記主データボリュームにおける論理的な破損、または、主データ記憶システムにおける物理的な故障の後でも動作し続けるために、企業では、しばしば、前記主データボリュームの設定時間毎のバックアップコピー(point-in-time backup copy)を作成する。図1において、メモリ22における主データボリュームのバックアップコピーは、補助データ記憶システム18のメモリ24に作成されることができる。前記主データボリュームのバックアップコピーを作成する処理は、当該技術分野において周知の処理である。前記ホストコンピュータシステム12がバックアップコマンドを発する毎に、メモリ24にバックアップコピーが作成される。トランザクションログ14は、前記主データボリュームのバックアップコピーが作成された後に前記主データボリュームのデータを変更するすべてのトランザクションのコピーを維持する。なお、前記主データボリュームのバックアップコピーが作成される毎に、前記主データボリュームの全内容をメモリ24にコピーしなくてもよい。むしろ、各主ボリュームバックアップ時において、前記メモリ24の対応するメモリブロックの内容とは異なる前記メモリ22の内容のみが更新されればよい。さらに、ホストコンピュータシステム12がメモリ22における前記主データボリュームに対してデータ書込みまたはデータ変更を行う度に、前記主データボリュームがバッアップされなくてもよい。
例えば、主データ記憶システム16が物理的な故障に遭遇した場合、前記補助データ記憶システム18およびそこに作成されたバックアップを使用して、前記ホストコンピュータシステム12に与えられる読出しまたは書込みトランザクションに対応することができる。しかしながら、バックアップコピーが使用可能になる前に、該バックアップコピーは、そのデータ内容が前記主データ記憶システム16が故障する直前の主データボリュームの内容を正確に反映するよう、その作成時から更新されなければならない。更新処理においては、前記バックアップコピー作成時と前記故障発生時との間に発生した前記ログ14におけるすべてのトランザクションは、前記ホストコンピュータシステム12によって、補助データ記憶システム18内のバックアップコピーに適応される。すべてのトランザクションが適用されると、前記バックアップコピーは故障直前の主データボリュームと同一であるはずであり、前記ホストコンピュータシステム12は、前記バックアップコピーをそれがあたかも主データボリュームであるかのように使用して、受け取ったトランザクションの処理を再開することができる。
不運なことに、前記バックアップコピーにおけるデータを更新することによって、前記主データボリュームにおけるオリジルまたは安定した設定時間毎のコピーが損なわれる。前記補助データ記憶システム18が物理的な故障に遭遇した場合、または、例えばオペレータのエラーによって論理的なデータ破損が更新されたバックアップコピーに発生した場合にも、前記ホストコンピュータシステム12は、受け取ったトランザクションを処理することができない。これを回避するためには、好ましくは付加的なデータ格納システム(図示せず)にバックアップコピーデータのコピーを作成することが一般的であった。その後、前記ログ14に格納されたトランザクションを使用して、バックアップコピーのコピーが更新される。前記コピーが更新されると、前記ホストコンピュータシステム12では、前記バックアップコピーのコピーを使用して、新たに受け取ったトランザクションを処理することができる。しかし、不運なことに、前記バックアップコピーの全内容をコピーするためには相当な時間量が必要となることがある。例えばその主データ記憶システム16の故障の後、できる限り速やかにトランザクションの処理を続行しようとする企業にとっては、このような時間遅れは容認できない。
第1のメモリに記憶されたデータの仮想コピーを作成するための方法が開示されている。前記第1のメモリに記憶されたデータの仮想コピーは、該第1のメモリに記憶されたすべてのデータのコピーを作成する要求に応じて、第2のメモリに作成される。一実施の形態において、前記仮想コピーを作成するステップは、各々が複数のマルチビットのエントリ(記入データ)を記憶した第1のテーブルおよび第2のテーブルをメモリに作成するステップを含む。前記第1のテーブルの各エントリは、前記第1のメモリの1つのメモリ領域に対応する。前記第2のテーブルの各エントリは、前記第2のメモリの1つのメモリ領域に対応する。前記第1のテーブルの各第1のビットは、前記第1のメモリの対応するメモリ領域が有効なデータを含んでいるか否かを示す。前記第1のテーブルの各第2のビットは、前記第1のメモリの対応するメモリ領域が、前記第1のテーブル作成後に、変更されたか否かを示す。前記第2のテーブルの各第1のビットは、前記第2のメモリの対応するメモリ領域が前記第1のメモリからコピーされたデータを含んでいるか否かを示す。前記第2のテーブルの各第2のビットは、前記第2のメモリの対応するメモリ領域が、前記第2のテーブル作成後に、変更されたか否かを示す。さらに、本発明を利用することによって、前記第1のメモリに記憶されたデータの2つ以上の仮想コピーが、一度に作成可能である。さらに、本発明を利用することによって、前記仮想コピーの仮想コピーが作成可能である。
本発明は、その作成後直ぐにアクセスされることが可能な、データボリュームの仮想コピーを作成するための装置および方法に関する。こうして、該仮想コピーは、前記データボリュームの実際のコピー(実コピー)に変換されることができる。しかしながら、本発明は、前記仮想コピーが実コピーに変換される前に、該仮想コピーに対するアクセスを可能にする。この概念については後述する。
図2は、本発明の一実施の形態を使用したデータ処理システム30の関連構成要素を示す図である。該データ処理システム30は、ホストコンピュータシステム32、および、データ記憶システム34, 36, 38を具備している。前記データ記憶システム34, 36, 38は、それぞれ、データメモリ40, 42, 44を有する。該データメモリ40-44は、ダイナミック型もしくはスタティック型のランダムアクセスメモリ、磁気式もしくは光学式のデータ記憶ディスク、または、磁気式もしくは光学式の記憶テープ等の形態であってよい。なお、前記データメモリ40-44は、これらのハードウエア構成要素に限られるものではない。むしろ、前記データメモリ40-44は、データが記憶され、アクセスされ得る任意のハードウエア、ソフトウエアまたはこれらの組合せの形態をとることができる。前記データメモリは、ソフトウエアの指示の下に動作するいくつかのハードウエア構成要素からなる複合構造体の形態をとってもよい。前記データメモリは、ミラード(mirrored)ハードウエアの形態をとることもできる。
図3は、前記データメモリ40-44の論理構造を示すブロック図である。図3に示すように、前記データメモリ40-44の各々は、データを格納可能な最大n個(nmax)のメモリ領域またはメモリブロックを有する。前記メモリブロックは、図3に示すように連続したものでなくてもよい。前記データメモリ40-44における対応するメモリブロックのサイズは等しい。従って、前記メモリ40のメモリブロック1は、前記メモリ42,44のメモリブロック1とサイズが等しい。また、前記メモリ40の各メモリブロックは、サイズにおいてそれぞれ等しい。代案として、前記メモリ40の各メモリブロックはサイズが異なっていてもよい。
説明のために、前記メモリ40がメモリブロック1から最大n番目のメモリブロックまでの個々のブロック間に分散したデータボリュームを含んでおり、メモリ42はデータを含んでいない、と仮定する。一実施の形態において、ホストコンピュータ32は、要求に応じて、図5のテーブル52、54のような1対の有効性/変更(V/M)テーブルをメモリ(ホストコンピュータ32のメモリまたはメモリ42)に作成することによって、メモリ42に、前記メモリ40に記憶されたデータボリュームの仮想コピーを作成する。前記ホストコンピュータは、テーブル52、54をメモリ40, 42にそれぞれ対応付ける。各前記V/Mテーブル52、54は、各々が2ビットからなる最大n個のエントリ(記入データ)を有する。前記テーブル52の各エントリはメモリ40の1つのメモリブロックに対応し、前記テーブル54の各エントリはメモリ42の1つのメモリブロックに対応する。初期段階において、前記テーブル52の全てのビットおよび前記テーブル54のすべてのmnビットは、論理値0に設定されてよい。また、初期段階において、前記テーブル52のすべてのv(n)ビットは、論理値1に設定されてよい。
各前記テーブルの第1ビットをv(n)と言い、各前記テーブルの第2ビットをm(n)と言うことにする。各エントリのv(n)は、その状態に応じて、対応するメモリの対応するメモリブロックが有効なデータを含んでいるか否かを示す。例えば、論理値1に設定されている場合、テーブル52のv(2)はメモリ40のメモリブロック2が有効なデータを含んでいることを示し、論理値0に設定されている場合、テーブル52のv(2)はメモリ40のメモリブロック2が有効なデータを含んでいないことを示す。また、各エントリのm(n)は、その状態に応じて、対応するメモリの対応するメモリブロック内のデータが変更されていることを示す。例えば、論理値1に設定されている場合、テーブル54のm(3)はメモリ42のメモリブロック3が変更されたデータを含んでいることを示し、論理値0に設定されている場合、テーブル54のm(3)はメモリ42のメモリブロック3が変更されていないデータを含んでいることを示す。
仮想コピーを作成した後、ホストコンピュータ32は、メモリ40のメモリブロックのデータ内容をメモリ42の対応するメモリブロックにコピーするバックグラウンド処理を行ってよい。こうして、結局、このバックグラウンド処理は、前記データボリュームの内容を完全にメモリ42にコピーし、これにより、仮想コピーを実コピーに変換することになる。しかしながら、前記バックグラウンドコピー処理が開始される前、または、前記バックグラウンドコピー処理が完了させられる前に、前記ホストコンピュータ32は、該ホストコンピュータ32が受け取ったトランザクション要求に応じて、メモリ40内のデータボリュームまたはメモリ42内に記憶されているその仮想コピーに対するデータの読出しまたは書込みを行うことができる。前記ホストコンピュータ32がメモリ40内のボリュームまたはメモリ42内のその仮想コピーに対するデータの読出しまたは書込みを行うことに関する特徴については、図4A _ 図4Cを参照して後述する。
図4Aは、メモリ42内での仮想コピーの作成の後に、メモリ40に記憶された主データボリュームのブロックnに対してデータの書込みまたは変更を行う要求を受け取ることに応じて動作する前記ホストコンピュータシステム32の動作的特徴を示す図である。前記メモリ40のブロックn内の主データボリュームに対してデータを書き込む要求に応じて、前記ホストコンピュータは、仮想コピーのV/Mテーブルにアクセスして、前記メモリ42における仮想コピーの対応するブロックnが有効なデータを含んでいるか否かを判定する。言い換えると、前記ホストコンピュータは、v(n)が1に設定されているか否かを判定する。上述のバックグラウンドコピー処理によって、または、メモリ40またはメモリ42のブロックnに対してデータを書き込みまたは該データを変更するための前の要求に応じて、メモリ40のブロックnの内容が前記メモリ42のブロックnに既にコピーされている場合、前記メモリ42のブロックnは有効なデータを有する(すなわち、v(n)が1に設定されている)ことになる。
v(n)が1に設定されている場合、前記ホストコンピュータシステム32は、ステップ60に示すように、メモリ40のブロックnのデータを変更する。しかしながら、当該仮想コピーについてのv(n)が0に設定されていると前記ホストコンピュータシステム32が判定した場合、該システム32は、メモリ40のブロックnの内容を前記メモリ42のブロックnにコピーし、これに応じて前記仮想コピーについてのv(n)を設定する。その後、ホストコンピュータシステム32は、当該データボリュームについてのビットm(n)を1に設定する。結局、前記ホストコンピュータシステム32は、メモリ40のブロックnのデータをステップ60に示すように変更する。なお、前記ホストコンピュータシステム32は、メモリ40のブロックnのデータの変更の後に、前記ビットm(n)を1に設定してもよい。しかしながら、説明のために、前記ホストコンピュータ32が対応するメモリブロックにおけるデータ変更の前に変更ビットを設定する、ものと仮定する。しかし、本発明はこれに限定されるものではない。
図4Bは、メモリ42における仮想コピーのブロックnに対してデータの書込みまたは変更を行う要求を受け取ることに応じて動作する前記ホストコンピュータシステム32の動作的特徴を示す図である。より詳しくは、ステップ62において、前記ホストコンピュータシステム32は、前記要求の受取りに応じて、前記仮想コピーについての有効ビットv(n)が1であるか否かを判定する。v(n)が1である場合、ホストプロセッサは、ステップ64に示すように、受け取った書込み要求に従って、前記メモリ42のブロックnのデータを変更する。しかしながら、前記仮想コピーのv(n)が0に設定されている場合、前記ホストコンピュータは、ステップ66において、先ずメモリ40のブロックnの内容をメモリ42のブロックnにコピーし、仮想コピーについてのv(n)を1に設定する。v(n)を1に設定されると、前記ホストコンピュータシステム32は、m(n)を1に設定する。こうして、結局、前記ホストコンピュータは、ステップ64に示すように、前記メモリ42のブロックnのデータを変更する。
図4Cは、メモリ42における仮想コピーのブロックnからデータを読み出す要求を受け取ることに応じて動作する前記ホストコンピュータシステム32の動作的特徴を示す図である。ステップ68において、前記ホストコンピュータシステム32は、メモリ42のブロックnからデータを読み出す要求の受取りに応じて、前記仮想コピーについてのv(n)テーブルにアクセスしてv(n)が1であるか否かを判定する。v(n)が1である場合、メモリ42のブロックnからデータが読み出される。しかしながら、v(n)が1ではない場合、メモリ40のブロックnからデータが読み出される。
図4A-4Cを参照して説明した上記の方法を使用して、前記メモリ40, 42およびそれらの対応するテーブル52, 54にアクセスする前記ホストコンピュータシステム32またはその他のコンピュータシステムは、メモリ40における当該データボリュームのサイズによっては完了するまでにかなりの時間を必要とする処理である該メモリ40からのすべてのデータをコピーする処理の前に、メモリ42における仮想コピーにアクセスできる。以下にさらに詳しく述べるように、テーブル52, 54のもののような変更ビットm(n)を使用して、ボリュームリストア(volume restore)のような機能を迅速且つ効率的に実行することができる。
上記処理の拡張形態として、前記ホストコンピュータシステム32によって仮想コピーの仮想コピーが作成されてよい。例えば、メモリ40内に格納されたデータボリュームの仮想コピーを作成した後、前記ホストコンピュータシステム32は、メモリ42に格納された仮想コピーの仮想コピーを作成するコマンドを受け取ってもよい。この仮想コピーの仮想コピーは、図2に示すデータ記憶システム38のメモリ44内に作成されてよい。前記仮想コピーの仮想コピーを作成する要求に応じて、前記ホストコンピュータシステム32は、図5に示したものと同様なテーブル56を作成する。初期段階において、前記テーブル56におけるすべてのエントリは論理値0に設定されている。テーブル52, 54と同様に、テーブル56の各エントリの第1ビットをv(n)と言い、第2ビットをm(n)と言うことにする。また、テーブル52, 54と同様に、1に設定されているテーブル56のv(n)は、メモリ44のブロックnがメモリ42の対応するブロックnからのデータの有効なコピーを含んでいることを示す。さらに、テーブル52, 54と同様に、1に設定されているテーブル56のm(n)は、メモリ44のブロックnに格納されているデータが変更されていることを示す。
前記仮想コピーの仮想コピーに対するホストコンピュータシステム32のアクセスは、図4A-図4Cを参照して上述したものと同様である。さらに、ホストコンピュータシステム32は、作成された仮想コピーの仮想コピーに対して、その作成直後に、アクセスしてこれを変更できる。例えば、メモリ44における前記仮想コピーの仮想コピーの作成直後に、ホストコンピュータシステム32は、メモリ44のブロックnに含まれているデータにアクセスしてこれを変更する要求を受け取ることができる。前記ホストコンピュータは、このアクセス要求に応じて、先ずテーブル56にアクセスしてv(n)が1に設定されているか否かを判定する。v(n)が論理値0に設定されている場合、ブロックnが有効なデータを含んでいるならば、該ブロックnのデータ内容がメモリ42からメモリ44にコピーされる。ブロックnが有効なデータを含んでいない(すなわち、メモリ42のブロックnについてのv(n)が0に設定されている)ならば、データがメモリ40のブロックnからコピーされる。データがブロックnにコピーされると、前記ホストコンピュータシステムは、v(n)を論理値1に設定する。その後、ホストコンピュータシステム32は、m(n)を論理値1に設定し、メモリ44のブロックnにコピーされたデータを変更する。図2に示すホストコンピュータシステム32は、該システム32によって作成されたコピーのうちのいずれのコピーのデータにアクセスできる。
図6は、図2のデータ処理システム30に付加的なデータ記憶装置70-74を設けたシステムを示す。前記データ記憶装置70-74は、それぞれ、メモリ80-84を有し、各前記メモリは、ホストコンピュータ32によって作成されたデータの仮想コピーを格納できる。ホストコンピュータ32、または、他のコンピュータシステム(図示せず)は、各仮想コピーにアクセス可能である。
メモリ42-44および70-74に記憶された仮想コピーは、相互に関連付けられる。たとえば、メモリ80は、メモリ44のデータボリュームの仮想コピーを含んでいる。ある意味において、メモリ80の仮想コピーは、メモリ44の親データの子供である。いずれの仮想コピーもいわゆる親/子関係を有することになり、仮想コピーは、コピーされる親データボリュームの子供である。メモリ44は、メモリ42のデータボリュームの仮想コピーを記憶している。メモリ42は、メモリ40のデータボリームの仮想コピーを記憶している。メモリ84は、メモリ82のデータボリームの仮想コピーを記憶している。最後に、メモリ82は、メモリ40のデータボリームの仮想コピーを記憶している。前記メモリ42, 82の仮想コピーは、メモリ40のデータボリームの子供である。
前記メモリ42-44, 80に記憶されている仮想コピーは、ホストコンピータ32によって順次作成され、メモリ80の仮想コピーは、メモリ44の仮想コピーの作成後に作成される。同様に、前記メモ84に記憶されている仮想コピーは、メモリ82の仮想コピーの作成後に作成される。メモリ82, 84の仮想コピーは、メモリ80の仮想コピーの作成前または後に作成されてよい。図示していないが、ホストコンピータ32は、メモリ80-84における各仮想コピーの作成と共に、図5に示すようなV/MテーブルのようなV/Mテーブルを作成する。メモリ42, 82に対応づけられるV/Mテーブルは、該メモリ42, 82に記憶された2つの子仮想コピーをメモリ40に記憶された1つの親データボリュームに対応づける。
図6は多数の仮想コピーが作成可能であることを示すものであり、これらの仮想コピーの各々は、それらの作成後直ぐにホストコンピータ32(または、図6に図示されていないその他のコンピュータシステム)によってアクセス可能である。図6および図7は、図6のデータボリュームのいずれかにアクセスするステップを示す。
図7は、ホストコンピータ32がメモリ40に記憶されたデータボリューム、または、図6のメモリに記憶された仮想コピーのデータを変更する要求の受け取る際のホストコンピータ32の動作的な特徴を示すフローチャートである。説明を容易にするために、ボリューム(x)はメモリxのデータボリュームを示すものとし、ここで、xは前記メモリ40-44, 80-84のいずれかである。さらに、vx(n)およびmx(n)は、メモリxにおけるブロックnの有効性ビットおよび変更ビットをそれぞれ示すものとし、ここで、xは前記メモリ40-44, 80-84のいずれかである。
ステップ90において、前記ホストコンピータは、図6のメモリの1つxに記憶されたデータボリューム(x)におけるメモリブロックnのデータを変更する要求を受け取る。これに応じて、前記ホストコンピータ32は、ボリューム(x)についてのV/Mxテーブルにアクセスして、ボリューム(x)のブロックnに対応する有効性ビットvx(n)が1に設定されているかを判定する。ボリューム(x)のブロックnが有効なコピーを有していない場合(すなわち、vx(n)が0に設定されている場合)、前記ホストコンピータ32は、ボリューム(x)の親データボリュームからボリューム(x)のブロックnにデータをコピーするためにステップ94-104を行う。説明を容易にするために、ボリューム(x-1)をボリューム(x)の親データボリュームを示すものとする。
ステップ94-104において、前記ホストコンピータ32は、要求されているデータの有効なコピーが見つかるまで、前記ボリューム(x)が従属する関連データボリュームについてのV/Mテーブルに順次アクセスする。ステップ94において、前記ホストコンピータは、ダミー変数aをxに、つまり、ボリューム(x)を記憶するメモリを特定する値に設定する。その後、ステップ96において、前記ホストコンピータシステムは、前記変数の値を1デクリメントする。ボリューム(a)は、aが減じられた後のボリューム(x)の親を示す。ステップ100において、前記ホストコンピータシステムは、ボリューム(a)に対応するV/Maテーブルが、ボリューム(a)のブロックnに対応づけられた有効性ビットvaが1に設定されているか否かを示すもの、か否かを示す。前記有効性ビットvaが1に設定されている場合、ステップ102に示すように、前記ホストコンピータシステムは、ボリューム(a)のブロックnの内容をボリューム(x)のブロックnにコピーする。前記有効性ビットvaが0に設定されており、従って、ボリューム(a)がそのブロックnにデータnの有効なコピーを有さない場合、そのブロックnに有効なデータを含む関連ボリューム(例えばボリューム(a-1)、ボリューム(a-2)等)が見つかるまで、ステップ96およびステップ100が繰り返される。
関連ボリュームからのメモリブロックnの内容がステップ102においてボリューム(x)のブロックnにコピーされると、ホストコンピータ32は、ステップ104に示すように、ボリューム(x)の有効性ビットvxを1に設定する。その後、または、ステップ92においてホストコンピータ32によってボリューム(x)の有効性ビットvxが1に設定されていることが確認されるのに応じて、前記ホストコンピータ32は、ステップ106において、子データボリューム、すなわち、データボリューム(x+1)がボリューム(x)の後に作成されたか否かを判定する。ボリューム(x+1)が作成されたと前記ホストコンピータ32が判定した場合、該ホストコンピータ32は、ボリューム(x+1)のブロックnが有効データを含んでいるか否かを判定しなければならない。ステップ110において、ホストコンピータ32は、データボリューム(x+1)についてのV/Mx+1テーブルにアクセスし、その有効性ビットvx+1(n)の状態をチェックする。ステップ110によって前記有効性ビットが1に設定されていると判定された場合、前記ホストコンピータ32は、ステップ112に進み、ボリューム(x)の変更ビットmx(n)を1に設定し、ボリューム(x)のブロックnのデータを変更する。一方、ステップ110において、ボリューム(x+1)の有効性ビットvx+1(n)が0に設定されているとホストコンピータ32が判定すると、該ホストコンピータは、ステップ116に示すようにボリューム(x)のブロックnの内容をボリューム(x+1)のメモリブロックnにコピーする。その後、前記ホストコンピータ32は、ボリューム(x+1)に対応するV/Mテーブルの有効性ビットvx+1(n)を1に設定し、ステップ112に示すようにボリューム(x)のブロックnのデータを変更する。
前記ホストコンピータ32は、図6に示したメモリにおけるデータボリュームのいずれかのデータを読み出すよう構成されている。図8は、トランザクション要求の受取りに応じてボリュームからデータを読み出す際の前記ホストコンピータ32の動作的特徴を示すフローチャートである。より詳しくは、ステップ120に示すように、ホストコンピータ32は、図6のボリュームのうちの1つ(ボリューム(x))のメモリブロックのデータを読み出す要求を受け取る。これに応じて、前記ホストコンピータ32は、ボリューム(x)に関するV/Mxテーブルにアクセスして、有効性ビットvx(n)が1に設定されているかを判定する。有効性ビットvx(n)が1に設定されている場合、前記ホストコンピータは、ボリューム(x)のメモリブロックnからデータを読み出し、当該処理が終了する。
一方、ボリューム(x)の有効性ビットvx(n)が0に設定されている場合、前記ボリューム(x)が従属するボリュームのうちの1つのブロックnからデータを読み出す。そして、ステップ124では、前記ホストコンピータ32は、ダミー変数aをxに設定し、る。その後、ステップ126において、前記変数の値を1デクリメントする。ステップ130において、前記ホストコンピータ32は、ボリューム(a)の有効性ビットvaをチェックする。この有効性ビットが1に設定されている場合、前記ボリューム(a)は要求されているデータのコピーを含んでいることになる。前記有効性ビットが0に設定されている場合、そのブロックnに有効なデータのコピーを含む関連ボリューム(例えばボリューム(a-1)、ボリューム(a-2)等)が見つかるまで、ステップ126-130が繰り返される。前記データが見つかった場合、前記ホストコンピータ32は、ステップ132において、そのブロックnからデータを読み出し、そして、処理が終了する。
前記背景技術の部分で述べたように、主データ記憶装置の故障またはそこに記憶されている主データボリュームの論理的な破損は、迅速に解決されなければならない問題点である。図9Aは、図2のデータ処理システム30および該システムに付加されたトランザクションログ140を示す。図9Aにおいて、メモリ40は、受け取った読み、書きトランザクション要求に応じて、ホストコンピータ32によってアクセス可能な主データボリュームを記憶する。メモリ42は、メモリ40の前記主データボリュームのバックアップボリュームを記憶する。前記バックアップボリュームは、バックアップコマンドが開始される毎に、ホストコンピータ32によって作成される。トランザクションログ140は、メモリ42でのバックアップの後に前記主データボリュームにおけるデータを変更するすべてのトランザクション要求のコピーを記憶する。
従来の技術においては、主データ記憶装置の故障またはそこに記憶されているデータの破損から復旧するための好ましい方法は、先ずバックアップデータボリュームの内容の実コピーを作成することを含むものであった。メモリ42に記憶されたバックアップボリュームは、例えばメモリ44に完全にコピーされることができる。その後、メモリ44の実コピーは、トランザクションログ140内に記録されたトランザクションを利用して更新されることができる。更新されると、メモリ44に記憶されたボリュームは、主データ記憶装置34が故障する直前またはその中に含まれるデータが破損する直前の時点における、メモリ40の主ボリュームを正確に映し出すものである。その後、ホストコンピータ32は、メモリ44における更新されたボリュームを使用してトランザクション処理を再開することができる。上述の如く、主データボリュームの故障または破損に対応するためのこの処理は、前記データ処理システムを使用する企業によるトランザクション処理の再開を実質的に遅延させる。
上述の方法を使用して、データ処理システム30は、より短時間内に、記憶システム34の故障または主データボリュームの破損から復旧可能である。説明のために、図9Aのホストコンピータ32は、上述の方法を使用して、主データ記憶システム34の故障またはそこに記憶されたデータの破損の直後に、メモリ42に記憶されたバックアップの仮想コピーを作成する、ものと仮定する。
その後、前記ホストコンピータシステム32は、トランザクションログ140に記憶されたトランザクションを、図4Bを参照して上述した方法を使用してメモリ44に作成された仮想コピーに適用する。後で理解されるように、メモリ42のあるメモリブロックからのデータは、メモリ44のデータがログ140のトランザクションによって変更され得るようになる前に、先ず。メモリ44における対応するブロックにコピーされなければならない。ログ140からのすべてのトランザクションが適用されると、メモリ44に記憶されたデータの仮想コピーは、あたかもその内容が記憶システム34が故障しまたはそこに記憶されたデータが破損した時点でのメモリ40の内容を正確に映し出しているかのように見なすことができる。そして、前記ホストコンピータシステム32は、記憶システム34の故障またはそこに記憶された主データボリュームの破損の後に受け取ったトランザクションに従って、メモリ40にアクセスできる。ホストコンピータシステム32は、メモリ42に記憶されたバッアップボリュームの全内容がメモリ44に実際にコピーされるのを待つ必要はない。従って、従来の技術とは対照的に、ホストコンピータシステム32は、主データ記憶システム34の故障またはそこに記憶されたデータの破損の直後に、(図4Bおよび4Cを参照して説明した方法を使用して)トランザクションの処理を再開することができる。
メモリ44の仮想コピーは、メモリ40に記憶された主ボリュームの内容を回復させるために使用されることができる。ここで、ホストコンピータシステム32が、データ記憶システム34の物理的な故障に応じて、メモリ44に仮想コピーを作成する、と仮定する。上述の如く、ログ140に記録されたすべてのトランザクションに従って更新されるバックアップの仮想コピーがメモリ44に作成可能である。しかしながら、前記ホストコンピータは、上述のように物理的な故障の後にホストコンピータシステム32によって受け取られたトランザクションに従ってメモリ40の仮想コピーのデータを変更する代わりに、更新された仮想コピーの仮想コピーを作成する。図9Bは、付加的なデータ処理システム70をさらに備えた図9Aのデータ処理システムを示すものである。図9Bにおいて、前記仮想コピーの仮想コピーは、上述の方法に従って、データ処理システム70のメモリ80に作成されることができる。ホストコンピータシステム32は、メモリ80の仮想コピーについてのV/Mテーブルを作成する。その後、ホストコンピータシステム32は、データ記憶システム34の故障後に受け取ったトランザクションに従って、メモリ80の仮想コピーのデータを変更する。前記ホストコンピータは、図7で説明した方法を使用してメモリ80のデータを変更する。その結果、新たに作成されたV/Mテーブルの数個の変更ビットm(n)が1に設定されることになる。
さらに、結局、前記ホストコンピータシステム32が該記憶システム34に対するアクセスを再開できるよう記憶システム34が修復される、と仮定する。このように修復されると、前記メモリ40は、迅速にメモリ80の内容に回復されることができる。この回復処理は、ホストコンピータ32がメモリ40のメモリブロックの内容を、対応するm(n)が変更ビット1に設定されたメモリ80の対応するメモリブロックの内容と置換することを含む。例えば、メモリ80における仮想コピー作成以後、メモリ80のメモリブロック3, 4, 9のデータのみが変更された、と仮定する。このような仮定において、前記新たに作成されたV/Mテーブルの変更ビットm(3), m(4), m(9)のみが1に設定される。前記メモリ40をメモリ80の内容に回復させるためには、前記ホストコンピータ32は、前記メモリ80のメモリブロック3, 4, 9の内容をメモリ40のメモリブロック3, 4, 9にそれぞれコピーするたけでよい。この方法を使用して、前記メモリ40の主データボリュームは、前記記憶システム34が故障から復旧した後に回復されることができる。
図9Bおよびそれに関連する記載は、1つの主データボリュームが仮想データボリュームの内容に回復させることができる1つの方法を説明するものである。この方法は、V/Mテーブルの変更ビットを利用する。一般的に、V/Mテーブルの変更ビットは、1つのボリュームが迅速に他のボリュームの内容に回復されることを可能にする。図11は、ボリューム(x)をボリューム(z)の内容に回復させる際の前記ホストコンピータ32の動作的特徴を示すフローチャートである。説明のために、ボリューム(x)およびボリューム(z)は、図6のメモリ40-44および80-84内に記憶されたデータボリュームのうちの2つのデータボリュームであるとする。図12Aは、ホストコンピータシステム32がボリューム(x)をボリューム(z)の内容に回復させる要求を受け取った時点における、前記ボリューム(x)およびボリューム(z)にそれぞれ対応するV/Mテーブル120, 122を示すものである。一実施の形態において、前記ホストコンピータシステム32は、ボリューム(x)をボリューム(z)の内容に回復させるコマンドを開始した後直ぐにボリューム(x)にアクセスすることができる。この目的のために、前記回復コマンドが開始された後、ホストコンピータシステム32は、ボリューム(x)に対応するV/Mテーブルに第3のコラムを追加する。図12Bは、第3のコラムrx(n)が付加されたテーブル120を示している。rx(n)は、1に設定されている場合、ボリューム(x)の対応するメモリブロックnがボリューム(z)のメモリブロックnの内容に回復させられた、ことを示す。全データボリューム(x)が回復されると、前記コラムrx(n)はテーブル120から除去されることができる。しかしながら、以下の説明で明らかになるように、前記回復コマンドがコンピータシステム32によって開始された後、前記コラムrx(n)はボリューム(x)に対する即時のアクセスを可能にする。
図11において、先ず、ステップ150において、前記ホストコンピータシステム32はnを0に設定する。ステップ152においては、前記ホストコンピータシステムは、nの現在値がnmaxであるか否かを判定する。現在値がnmaxである場合、前記回復処理が完了したことになる。しかしながら、当初はnの現在値が0であるので、処理はステップ152に進み、該ステップにおいて、前記ホストコンピータシステム32はnを1インクリメントする。ステップ154では、前記ホストコンピータシステム32は、rx(n)の状態をチェックし、該rx(n)が1に設定されているのかまたは0に設定されているのかを判定する。rx(n)が1に設定されている場合、ボリューム(x)の対応するメモリブロックnが回復させられていることになり、処理は次のメモリブロックに進む。rx(n)が0に設定されている場合、ブロックnの内容が未だ回復されていないことになり、処理はステップ156に進み、該ステップ156において、ボリューム(z)についての有効性ビットvz(n)が1に設定されているのかまたは0に設定されているのかを判定する。ボリューム(z)のvz(n)が1に設定されている場合、処理はステップ160に進み、該ステップ160において、ボリューム(z)のブロックnの変更ビットvz(n)が判定される。ボリューム(z)のブロックnのデータが変更されている場合、mz(n)が1に設定され、処理はステップ162に進み、該ステップ162において、ボリューム(z)がボリューム(x)の仮想コピーであるか否かが判定される。ボリューム(z)がボリューム(x)の仮想コピーではない場合、ボリューム(z)のブロックnは有効で変更されたデータを含むので、ステップ166においてボリューム(z)のブロックnの内容がボリューム(x)のブロックnにコピーされ、rx(n)ビットが、ボリューム(x)のブロックn の内容が回復させられた旨示す1に設定される。その後、処理はステップ152から繰り返される。
しかしながら、ステップ162において、ボリューム(z)がボリューム(x)の仮想コピーであると前記ホストコンピータシステムが判定した場合、前記ホストコンピータシステムは、ステップ164において、ボリューム(z)のブロックnのデータが変更されたか否かを判定する。ボリューム(z)のブロックnのデータが変更されていない場合、ボリューム(x)およびボリューム(z)のブロックnの内容が同一ということになり、コピーを行う必要がない。しかしながら、ステップ164においてmx(n)が1に設定されている場合、ボリューム(x)およびボリューム(z)のブロックnの内容が異なることになるので、ボリューム(z)のブロックnのデータ内容がボリューム(x)のブロックnにコピーされる必要がある。
ステップ156において、ホストコンピータシステム32が、前記処理中に、ボリューム(z)のブロックnが有効なデータを含まない(すなわち、vz(n)が0に設定されている)と判定した場合、処理はステップ172に進み、該ステップ172において、ホストコンピータシステム32はダミー変数aをボリューム(z)が含まれるメモリを示すzに設定する。その後、ホストコンピータシステム32は、ステップ174においてダミー変数aを1デクリメントし、ステップ176においてボリューム(a)のva(n)の状態をチェックする。この時点において、ボリューム(a)はボリューム(z)の親である。ボリューム(a)についてのva(n)が0に設定されている場合、ボリューム(a)のブロックnは有効なデータを含まないことになり、ホストコンピータ32は、関連ボリュームのブロックnにおける有効データを見つけるまで、ステップ174およびステップ176を繰り返す。
関連ボリュームのブロックnに有効データを見つかると、処理はステップ182に進み、該ステップ182において、ホストコンピータシステム32はボリューム(a)がボリューム(x)の仮想コピーであるか否かを判定する。ボリューム(a)がボリューム(x)の仮想コピーではない場合、ボリューム(a)がブロックnに有効で変更されたデータを含むので、ステップ184において、ボリューム(a)のブロックnの内容がボリューム(x)のブロックnにコピーされ、そして、ステップ170において、前記ホストコンピータシステム32は、ボリューム(x)についてのrx(n)を1に設定する。しかしながら、ボリューム(a)がボリューム(x)の仮想コピーである場合、ステップ184において、前記ホストコンピータシステム32は、ボリューム(x)のブロックnのデータが変更されているか否かを判定する。そうであれば、ボリューム(a)およびボリューム(x)のブロックnの内容が異なることになり、従って、ステップ186において、ボリューム(a)のブロックnのデータをボリューム(x)のブロックnにコピーする必要がある。結局、ステップ170において、前記ホストコンピータシステム32は、ボリューム(x)についてのrx(n)を1に設定し、処理はステップ152に進み、該ステップ152において、ボリューム(x)のすべてのブロックが回復させられたか否かを判定する。
先に述べたように、前記ホストコンピータシステム32は、回復コマンドの開始後直ぐであって、該回復コマンドの完了の前に、回復させられたボリューム(x)にアクセスすることができる。図13は、ボリューム(x)をボリューム(z)の内容に回復させるための回復コマンドが開始された後であって、回復コマンドの完了前に該ボリューム(x)にデータを書き込む動作上の特徴を示すものである。より詳しくは、ステップ190において、ホストコンピータシステム32は、ボリューム(x)のブロック(n)に対応する回復ビットrx(n)が1に設定されているか否かを判定する。これは、ボリューム(x)に対応するテーブルに付加的なコラムrx(n)が存在することを推定するものである。コラムrx(n)が存在しない場合、ボリューム(x)は、ホストコンピータシステム32がボリューム(x)のブロックnにデータを書き込む要求を受け取ったときの回復対象ではないことになる。ステップ190においてrx(n)が1であると判定された場合、処理はステップ192に進み、ホストコンピータシステム32は、該システム32が受け取った書込みコマンドに従ってボリューム(x)のブロックnにデータを書き込む。ボリューム(x)のブロックnは既に回復させられているので、ステップ192がこの時点で実行される。前記書込みコマンドを実行する前にブロックnが回復させられない場合、ボリューム(x)のブロックnのデータは破損する恐れがある。
ステップ190において、rx(n)が1に設定されておらず、従って、ボリューム(x)のブロックnが回復させられていないと判定された場合、処理はステップ194に進み、該ステップ194において、ボリューム(z)のブロックnの有効性がチェックされる。ボリューム(z)のブロックnが有効なデータを含んでいる場合、処理はステップ196に進み、該ステップ196において、ホストコンピータシステム32は、ボリューム(z)のブロックnが変更されているか否かを判定する。変更されている場合、ボリューム(z)のブロックnとボリューム(x)のブロックnとに含まれるデータの間に差違があることになる。その結果、前記ホストコンピータシステムは、ステップ200において、ボリューム(z)のブロックnのデータをボリューム(x)のブロックnにコピーする。要するに、ホストコンピータシステム32は、ステップ200において、ボリューム(x)のブロックnの回復処理を行う。回復されると、ホストコンピータシステム32は、ステップ192において、該システム32が受け取ったコマンドに従って、ボリューム(x)のブロックnにデータを書き込むことができる。しかしながら、ステップ196においてボリューム(z)のブロックnが変更されていないと判定された場合、前記ホストコンピータは、ステップ202において、ボリューム(z)がボリューム(x)の仮想コピーであるか否かを判定する。ここでも、ボリューム(z)がボリューム(x)の仮想コピーではない場合、ホストコンピータ32は、ステップ200においてその内容をコピーし、しかる後、ステップ192においてボリューム(x)のブロックnにデータを書き込む。ステップ222においてボリューム(z)がボリューム(x)の仮想コピーではないと判定された場合、ホストコンピータ32は、ステップ204において、ボリューム(x)のブロックnのデータが変更されているか否かを判定する。ボリューム(x)のブロックnのデータ変更されている場合、ボリューム(x)のブロックnのデータとボリューム(z)のブロックnのデータの間に差違があることになる。従って、ボリューム(z)の内容がボリューム(x)のブロックnにコピーされなければならない。ステップ200では、ホストコンピータシステム32が受け取った書込みコマンドに従ってデータがボリューム(x)のブロックnに書き込まれる。
ステップ194において、ボリューム(z)のブロックnが有効なデータを含んでいないと前記ホストコンピータシステムが判定した場合、該ホストコンピータシステム32は、必要な場合には、データがコピーされ得るコピー元の関連ボリュームを見つけなければならない。この目的のために、ホストコンピータシステム32は、ステップ206において、ダミー変数aをzに設定する。そして、前記ホストコンピータは、変数を1デクリメントし、ボリューム(a)に対応するV/Mテーブルにアクセスし、ステップ212において、ボリューム(a)のブロックnが有効なデータを含んでいるか否かを判定する。ボリューム(a)がブロックnに有効なデータのコピーを含んでいる場合、前記ホストコンピータは、ステップ214において、前記データが変更されているか否かを判定する。ステップ214において前記データが変更されていると判定された場合、ブロックnとボリューム(x)とが内容において異なる場合、ステップ216においてボリューム(a)のブロックnのデータ内容がボリューム(x)のブロックnにコピーされる必要がある。その後、ボリューム(x)のブロックnが回復されると、ホストコンピータシステム32は、該ボリューム(x)のブロックnにデータを書き込むことができる。ステップ214において、ボリューム(a)のブロックnのデータが変更されていないとホストコンピータシステム32が判定した場合、該ホストコンピータは、ステップ220において、ボリューム(a)がボリューム(x)のブロックnの仮想コピーであるか否かを判定する。そうでない場合、ボリューム(a)のブロックnからボリューム(x)のブロックnにデータがコピーされる。一方、ボリューム(a)がボリューム(x)のブロックnの仮想コピーである場合、前記ホストコンピータは、ステップ222において、ボリューム(x)のブロックnのデータが変更されているか否かを判定する。そうである場合、ボリューム(x)のブロックnのデータ内容がボリューム(a)のブロックnのデータ内容と異なることになり、前記ホストコンピータ32は、ステップ216において、ボリューム(a)のブロックnの内容をボリューム(x)のブロックnにコピーする。一方、ボリューム(x)のブロックnのデータが変更されていない場合、ボリューム(a)とボリューム(x)とではブロックnの内容が同じであるので、ステップ192における書込み処理の前にボリューム(x)の回復処理を行う必要がない。
上述の如く、前記ホストコンピータ32は、ボリューム(x)の回復処理が開始された後であって、ボリューム(x)の全体がボリューム(z)の内容に回復される前に、ブロックnのデータを読み出す要求を実行できる。図14は、ボリューム(x)をボリューム(z)の内容に回復させるコマンドの開始後に該ボリューム(x)のブロックnからデータを読み出す一実施の形態の動作的特徴を示すフローチャートである。ホストコンピータシステム32は、先ずステップ230において、ボリューム(x)についてのrx(n)が1に設定されているか否か、すなわち、前記読出しコマンドに係るメモリブロックが既にボリューム(z)のブロックnの内容に回復させられているか否かを判定する。ボリューム(x)のブロックnの回復がなされている場合、前記ホストコンピータは、ステップ232において、前記読出しコマンドを実行し、ボリューム(x)のブロックnからデータを読み出す。一方、ステップ230においてボリューム(x)のブロックnが未だ回復されていない場合、ホストコンピータ32は、ステップ234において、ボリューム(z)のブロックnが有効なデータを含んでいるか否かを判定する。そうである場合、前記ホストコンピータは、ステップ236において、ボリューム(z)のブロックnからデータを読み出す。一方、ステップ234においてボリューム(z)のブロックnが有効なデータを含んでいないと判定した場合、前記ホストコンピータは、ステップ240において、zを1デクリメントし、そのブロックnに有効なデータを含む中間ボリュームが見つかるまでステップ234を繰り返す。
以上本発明のいくつかの実施の形態について説明したが、本発明はここに開示された特定の形態に限定されるものではなく、添付請求項に定義されている本発明の精神に包含される変更例および均等物をも含むものである。
主データボリュームおよび補助データボリュームを記憶するための記憶システムを使用したデータ処理システムを示す図。 本発明の一実施の形態を使用したデータ処理システムを示す図。 図2に示した記憶システムのメモリ構造を示すブロック図。 図3のメモリ40にデータを書き込む動作的特徴を示すフローチャート図。 図3のメモリ42にデータを書き込む動作的特徴を示すフローチャート図。 図3のメモリ42にデータを読み込む動作的特徴を示すフローチャート図 本発明の一実施の形態に従って作成された検証/変更テーブルを示すブロック図。 本発明の一実施の形態を使用したデータ処理システムを示す図。 図6のメモリのうちの1つのメモリのデータを変更する動作的特徴を示すフローチャート図。 図6のメモリのうちの1つメモリからにデータを読み出す動作的特徴を示すフローチャート図。 本発明の一実施の形態を使用したデータ処理システムを示すブロック図。 付加的なデータ記憶システムを備えた図9Aのデータ処理システムを示す図。 図6の1つのメモリのボリュームを図6の他のメモリのボリュームの内容に回復させる動作的特徴を示すフローチャート図。 照合/変更テーブルを示すブロック図。 変更/照合テーブルを示すブロック図。 図6のボリュームにデータを書き込む動作的特徴を示すフローチャート図。 図6のメモリからにデータを読み出す動作的特徴を示すフローチャート図。

Claims (12)

  1. 第1のメモリの1つのメモリ領域から第2のメモリの1つのメモリ領域にデータをコピーするステップと、
    前記第2のメモリの前記メモリ領域に対応すメモリ内に第1のビットを設定するステップであって、該第1のビットは前記第2のメモリの前記メモリ領域が前記第1のメモリの前記メモリ領域からコピーされたデータを記憶していることを示すために設定される前記ステップと、
    前記第1のメモリの前記メモリ領域から前記第2のメモリの前記メモリ領域にデータがコピーされた後、前記第2のメモリの前記メモリ領域に記憶された該データを変更するステップと、
    メモリ内に第2のビットを設定するステップであって、該第2のビットは、前記第2のメモリの前記メモリ領域に記憶された前記データが前記第1のメモリの前記メモリ領域からコピーされた後に変更されたことを示すために設定される前記ステップと、
    前記第2のメモリの前記メモリ領域に記憶されたデータを変更した後に、該第2のメモリの前記メモリ領域に記憶されたデータを第3のメモリの1つのメモリ領域にコピーするステップと、
    前記第3のメモリの前記メモリ領域に対応するメモリ内に第3のビットを設定するステップであって、該第3のビットは前記第3のメモリの前記メモリ領域が前記第2のメモリの前記メモリ領域からコピーされたデータを記憶していることを示すために設定される前記ステップと、
    前記第2のメモリの前記メモリ領域から前記第3のメモリの前記メモリ領域にデータがコピーされた後、前記第3のメモリの前記メモリ領域に記憶された該データを変更するステップと、
    メモリ内に第4のビットを設定するステップであって、該第4のビットは、前記第3のメモリの前記メモリ領域に記憶された前記データが前記第2のメモリの前記メモリ領域からコピーされた後に変更されたことを示すために設定される前記ステップと
    を具備する方法。
  2. 前記第1のメモリ別の第2のメモリ領域から前記第2のメモリ別の第2のメモリ領域にデータをコピーするステップをさらに具備し、
    前記第1のメモリの前記第2のメモリ領域から前記第2のメモリの前記第2のメモリ領域にデータをコピーする前に、前記第2のメモリの前記メモリ領域に既に記憶されているデータを変更することを特徴とする請求項1に記載の方法。
  3. 前記第1のメモリのすべてのデータを前記第2のメモリにコピーする要求を発するステップをさらに具備し、
    前記すべてのデータをコピーする要求が発せられた後であって、前記第1のメモリにおける残りのデータが前記第2のメモリにすべてコピーされる前に、前記第2のメモリの前記メモリ領域に既に記憶されているデータが変更されることを特徴とする請求項1に記載の方法。
  4. 前記第1のメモリの前記メモリ領域に記憶されているデータを変更するステップをさらに具備し、前記第1のメモリの前記メモリ領域のデータが変更される前に、前記第1のメモリの前記メモリ領域から前記第2のメモリの前記メモリ領域にデータがコピーされ
    さらに、メモリ内に第5のビットを設定するステップを具備し、前記第5のビットは、前記第1のメモリの前記メモリ領域に記憶された前記データが前記第2のメモリの前記メモリ領域にコピーされた後に変更されたことを示すために設定されることを特徴とする請求項1に記載の方法。
  5. 各々が複数のマルチビットエントリを有する第1のテーブルおよび第2のテーブルをメモリに作成するステップをさらに具備し、
    前記第1のメモリおよび前記第2のメモリの各々が複数のメモリ領域を有し、
    前記第1のテーブルの各エントリが前記第1のメモリの1つのメモリ領域に対応し、
    前記第2のテーブルの各エントリが前記第2のメモリの1つのメモリ領域に対応し、
    前記第1のビットおよび前記第2のビットが前記第2のテーブルの1つのエントリを構成し、
    前記第2のテーブルが、前記第1のメモリのすべてのデータを前記第2のメモリにコピーする要求に応じて、作成されることを特徴とする請求項1に記載の方法。
  6. 前記第1のメモリのすべてのデータを前記第2のメモリにコピーする要求を発するステップをさらに具備し、
    前記第1のメモリから前記第2のメモリにコピーされたデータが、前記第1のメモリのすべてのデータが前記第2のメモリにコピーされる前にアクセス可能または変更可能である
    ことを特徴とする請求項1に記載の方法。
  7. コンピュータシステムによって実行可能な命令を格納するためのコンピュータによって読取り可能なメモリであって、前記コンピュータシステムが該命令を実行することに応じて、
    第1のメモリの1つのメモリ領域から第2のメモリの1つのメモリ領域にデータをコピーするステップと、
    前記第2のメモリの前記メモリ領域に対応するメモリ内に第1のビットを設定するステップであって、該第1のビットは前記第2のメモリの前記メモリ領域が前記第1のメモリのメモリ領域からコピーされたデータを記憶していることを示すために設定される前記ステップと、
    前記第1のメモリの前記メモリ領域から前記第2のメモリの前記メモリ領域にデータがコピーされた後、前記第2のメモリの前記メモリ領域に記憶された該データを変更するステップと、
    メモリ内に第2のビットを設定するステップであって、該第2のビットは、前記第2のメモリの前記メモリ領域に記憶された前記データが前記第1のメモリの前記メモリ領域からコピーされた後に変更されたことを示すために設定される前記ステップと、
    前記第2のメモリの前記メモリ領域に記憶されたデータを変更した後に、該第2のメモリの前記メモリ領域に記憶されたデータを第3のメモリの1つのメモリ領域にコピーするステップと、
    前記第3のメモリの前記メモリ領域に対応するメモリ内に第3のビットを設定するステップであって、該第3のビットは前記第3のメモリの前記メモリ領域が前記第2のメモリの前記メモリ領域からコピーされたデータを記憶していることを示すために設定される前記ステップと、
    前記第2のメモリの前記メモリ領域から前記第3のメモリの前記メモリ領域にデータがコピーされた後、前記第3のメモリの前記メモリ領域に記憶された該データを変更するステップと、
    メモリ内に第4のビットを設定するステップであって、該第4のビットは、前記第3のメモリの前記メモリ領域に記憶された前記データが前記第2のメモリの前記メモリ領域からコピーされた後に変更されたことを示すために設定される前記ステップと
    を具備する方法が実行されることを特徴とするコンピュータ読取り可能なメモリ。
  8. 各々が複数のマルチビットエントリを有する第1のテーブルおよび第2のテーブルをメモリに作成するステップをさらに具備し
    前記第1のメモリおよび前記第2のメモリの各々が複数のメモリ領域を有し、
    前記第1のテーブルの各エントリが前記第1のメモリの1つのメモリ領域に対応し、
    前記第2のテーブルの各エントリが前記第2のメモリの1つのメモリ領域に対応し、
    前記第1のビットおよび前記第2のビットが前記第2のテーブルの1つのエントリを構成し、
    前記第2のテーブルが、前記第1のメモリのすべてのデータを前記第2のメモリにコピーする要求に応じて、作成されることを特徴とする請求項7に記載のコンピュータ読取り可能なメモリ。
  9. コンピュータシステムと、
    前記コンピュータシステムに接続された第1のデータ記憶システムであって、第1のメモリを備えたものと、
    前記コンピュータシステムに接続された第2のデータ記憶システムであって、第2のメモリを備えたものと
    前記コンピュータシステムに接続された第3のデータ記憶システムであって、第3のメモリを備えたものと
    を具備するシステムであって、
    前記コンピュータシステムが、命令を実行するためのプロセッサと、方法を実行するために前記プロセッサによって実行可能な命令を格納したメモリとを備え、
    前記方法が
    前記第1のメモリの1つのメモリ領域から前記第2のメモリの1つのメモリ領域にデータをコピーするステップと、
    前記第2のメモリの前記メモリ領域に対応するメモリ内に第1のビットを設定するステップであって、該第1のビットは前記第2のメモリの前記メモリ領域が前記第1のメモリの前記メモリ領域からコピーされたデータを記憶していることを示すために設定される前記ステップと、
    前記第1のメモリの前記メモリ領域から前記第2のメモリの前記メモリ領域にデータがコピーされた後、前記第2のメモリの前記メモリ領域に記憶された該データを変更するステップと、
    メモリ内に第2のビットを設定するステップであって、該第2のビットは、前記第2のメモリの前記メモリ領域に記憶された前記データが前記第1のメモリの前記メモリ領域からコピーされた後に変更されたことを示すために設定される前記ステップと、
    前記第2のメモリの前記メモリ領域に記憶されたデータを変更した後に、該第2のメモリの前記メモリ領域に記憶されたデータを前記第3のメモリの1つのメモリ領域にコピーするステップと、
    前記第3のメモリの前記メモリ領域に対応するメモリ内に第3のビットを設定するステップであって、該第3のビットは前記第3のメモリの前記メモリ領域が前記第2のメモリの前記メモリ領域からコピーされたデータを記憶していることを示すために設定される前記ステップと、
    前記第2のメモリの前記メモリ領域から前記第3のメモリの前記メモリ領域にデータがコピーされた後、前記第3のメモリの前記メモリ領域に記憶された該データを変更するステップと、
    メモリ内に第4のビットを設定するステップであって、該第4のビットは、前記第3のメモリの前記メモリ領域に記憶された前記データが前記第2のメモリの前記メモリ領域からコピーされた後に変更されたことを示すために設定される前記ステップと
    を具備することを特徴とするシステム。
  10. 第1のメモリの1つのメモリ領域から第2のメモリの1つのメモリ領域及び第3のメモリの1つのメモリ領域にデータをコピーするステップと、
    前記第2及び第3のメモリの各前記メモリ領域に対応するメモリ内に第1及び第2のビットをそれぞれ設定するステップと、ここで、前記第1のビットは前記第2のメモリの前記メモリ領域が前記第1のメモリの前記メモリ領域からコピーされたデータを記憶していることを示すために設定され、前記第2のビットは前記第3のメモリの前記メモリ領域が前記第1のメモリの前記メモリ領域からコピーされたデータを記憶していることを示すために設定される前記ステップと、
    前記第1のメモリの前記メモリ領域から前記第2のメモリの前記メモリ領域にデータがコピーされた後に、該第2のメモリの前記メモリ領域に記憶された該データを変更するステップと、
    メモリ内に第3のビットを設定するステップと、ここで、前記第3のビットは、前記第2のメモリの前記メモリ領域に記憶された前記データが前記第1のメモリの前記メモリ領域からコピーされた後に変更されたことを示すために設定される前記ステップと
    を具備する方法。
  11. コンピュータシステムによって実行可能な命令を格納するためのコンピュータによって読取り可能なメモリであって、前記コンピュータシステムが該命令を実行することに応じて、
    第1のメモリの1つのメモリ領域から第2のメモリの1つのメモリ領域及び第3のメモリの1つのメモリ領域にデータをコピーするステップと、
    前記第2及び第3のメモリの各前記メモリ領域に対応するメモリ内に第1及び第2のビットをそれぞれ設定するステップと、ここで、前記第1のビットは前記第2のメモリの前記メモリ領域が前記第1のメモリの前記メモリ領域からコピーされたデータを記憶していることを示すために設定され、前記第2のビットは前記第3のメモリの前記メモリ領域が前記第1のメモリの前記メモリ領域からコピーされたデータを記憶していることを示すために設定される前記ステップと、
    前記第1のメモリの前記メモリ領域から前記第2のメモリの前記メモリ領域にデータがコピーされた後に、該第2のメモリの前記メモリ領域に記憶された該データを変更するステップと、
    メモリ内に第3のビットを設定するステップと、ここで、前記第3のビットは、前記第2のメモリの前記メモリ領域に記憶された前記データが前記第1のメモリの前記メモリ領域からコピーされた後に変更されたことを示すために設定される前記ステップと
    を具備する方法が実行されることを特徴とするコンピュータ読取り可能なメモリ。
  12. コンピュータシステムと、
    前記コンピュータシステムに接続された第1のデータ記憶システムであって、第1のメモリを備えたものと、
    前記コンピュータシステムに接続された第2のデータ記憶システムであって、第2のメモリを備えたものと、
    前記コンピュータシステムに接続された第3のデータ記憶システムであって、第3のメモリを備えたものと
    を具備するシステムであって、
    前記コンピュータシステムが、命令を実行するためのプロセッサと、方法を実行するために前記プロセッサによって実行可能な命令を格納したメモリとを備え、
    前記方法が、
    第1のメモリの1つのメモリ領域から第2のメモリの1つのメモリ領域及び第3のメモリの1つのメモリ領域にデータをコピーするステップと、
    前記第2及び第3のメモリの各前記メモリ領域に対応するメモリ内に第1及び第2のビットをそれぞれ設定するステップと、ここで、前記第1のビットは前記第2のメモリの前記メモリ領域が前記第1のメモリの前記メモリ領域からコピーされたデータを記憶していることを示すために設定され、前記第2のビットは前記第3のメモリの前記メモリ領域が前記第1のメモリの前記メモリ領域からコピーされたデータを記憶していることを示すために設定される前記ステップと、
    前記第1のメモリの前記メモリ領域から前記第2のメモリの前記メモリ領域にデータがコピーされた後に、該第2のメモリの前記メモリ領域に記憶された該データを変更するステップと、
    メモリ内に第3のビットを設定するステップと、ここで、前記第3のビットは、前記第2のメモリの前記メモリ領域に記憶された前記データが前記第1のメモリの前記メモリ領域からコピーされた後に変更されたことを示すために設定される前記ステップと
    を具備することを特徴とするシステム。
JP2004504084A 2002-05-10 2003-05-09 仮想データコピーを作成するための方法および装置 Expired - Fee Related JP4422016B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/143,059 US6785789B1 (en) 2002-05-10 2002-05-10 Method and apparatus for creating a virtual data copy
PCT/US2003/014649 WO2003096157A2 (en) 2002-05-10 2003-05-09 Method and apparatus for creating a virtual data copy

Publications (3)

Publication Number Publication Date
JP2005525633A JP2005525633A (ja) 2005-08-25
JP2005525633A5 JP2005525633A5 (ja) 2009-10-15
JP4422016B2 true JP4422016B2 (ja) 2010-02-24

Family

ID=29418441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004504084A Expired - Fee Related JP4422016B2 (ja) 2002-05-10 2003-05-09 仮想データコピーを作成するための方法および装置

Country Status (7)

Country Link
US (2) US6785789B1 (ja)
EP (1) EP1504346B1 (ja)
JP (1) JP4422016B2 (ja)
CN (1) CN100440155C (ja)
AU (1) AU2003228971A1 (ja)
CA (1) CA2487244C (ja)
WO (1) WO2003096157A2 (ja)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090259816A1 (en) * 2001-12-26 2009-10-15 Cisco Technology, Inc. Techniques for Improving Mirroring Operations Implemented In Storage Area Networks and Network Based Virtualization
US20070094466A1 (en) * 2001-12-26 2007-04-26 Cisco Technology, Inc., A Corporation Of California Techniques for improving mirroring operations implemented in storage area networks and network based virtualization
US9009427B2 (en) 2001-12-26 2015-04-14 Cisco Technology, Inc. Mirroring mechanisms for storage area networks and network based virtualization
US6785789B1 (en) * 2002-05-10 2004-08-31 Veritas Operating Corporation Method and apparatus for creating a virtual data copy
US6938135B1 (en) 2002-10-04 2005-08-30 Veritas Operating Corporation Incremental backup of a data volume
US7412433B2 (en) * 2002-11-19 2008-08-12 International Business Machines Corporation Hierarchical storage management using dynamic tables of contents and sets of tables of contents
US6907507B1 (en) * 2002-12-19 2005-06-14 Veritas Operating Corporation Tracking in-progress writes through use of multi-column bitmaps
US6880053B2 (en) * 2002-12-19 2005-04-12 Veritas Operating Corporation Instant refresh of a data volume copy
US6978354B1 (en) 2002-12-20 2005-12-20 Veritas Operating Corporation Method for creating a virtual data copy of a volume being restored
US6996687B1 (en) 2002-12-20 2006-02-07 Veritas Operating Corporation Method of optimizing the space and improving the write performance of volumes with multiple virtual copies
US6910111B1 (en) 2002-12-20 2005-06-21 Veritas Operating Corporation Volume restoration using an accumulator map
US7058773B1 (en) * 2003-01-16 2006-06-06 Cisco Technology, Inc. System and method for managing data in a distributed system
US7269717B2 (en) * 2003-02-13 2007-09-11 Sun Microsystems, Inc. Method for reducing lock manipulation overhead during access to critical code sections
US7089374B2 (en) * 2003-02-13 2006-08-08 Sun Microsystems, Inc. Selectively unmarking load-marked cache lines during transactional program execution
US7398355B1 (en) 2003-02-13 2008-07-08 Sun Microsystems, Inc. Avoiding locks by transactionally executing critical sections
US7269693B2 (en) 2003-02-13 2007-09-11 Sun Microsystems, Inc. Selectively monitoring stores to support transactional program execution
US6938130B2 (en) * 2003-02-13 2005-08-30 Sun Microsystems Inc. Method and apparatus for delaying interfering accesses from other threads during transactional program execution
US7269694B2 (en) 2003-02-13 2007-09-11 Sun Microsystems, Inc. Selectively monitoring loads to support transactional program execution
US7418577B2 (en) * 2003-02-13 2008-08-26 Sun Microsystems, Inc. Fail instruction to support transactional program execution
US20040163082A1 (en) * 2003-02-13 2004-08-19 Marc Tremblay Commit instruction to support transactional program execution
JP4283576B2 (ja) * 2003-03-27 2009-06-24 株式会社日立製作所 トランザクション同期方法、データベースシステム及びデータベース装置
US7664793B1 (en) 2003-07-01 2010-02-16 Symantec Operating Corporation Transforming unrelated data volumes into related data volumes
US7103737B1 (en) 2003-07-01 2006-09-05 Veritas Operating Corporation Flexible hierarchy of relationships and operations in data volumes
US20050010731A1 (en) * 2003-07-08 2005-01-13 Zalewski Stephen H. Method and apparatus for protecting data against any category of disruptions
US7580959B2 (en) * 2004-06-14 2009-08-25 International Business Machines Corporation Apparatus, system, and method for providing efficient disaster recovery storage of data using differencing
US7484051B2 (en) * 2004-06-14 2009-01-27 International Business Machines Corporation Apparatus, system and method for reliably updating a data group in a read-before-write data replication environment using a comparison file
US7313724B1 (en) 2004-07-01 2007-12-25 Symantec Operating Corporation Method and apparatus for synchronizing redundant data with a volume
US7409512B1 (en) 2004-07-01 2008-08-05 Symantec Operating Corporation Method and apparatus for maintaining information that indicates valid regions of a working volume and using that information to delay volume initialization
JP2006164162A (ja) * 2004-12-10 2006-06-22 Fujitsu Ltd コピー制御装置および方法
US7809691B1 (en) 2005-02-22 2010-10-05 Symantec Operating Corporation System and method of applying incremental changes prior to initialization of a point-in-time copy
US7243841B1 (en) * 2005-03-01 2007-07-17 Ba-Bing! Llc Enterprise polling system for electronic cash registers
US7930695B2 (en) * 2006-04-06 2011-04-19 Oracle America, Inc. Method and apparatus for synchronizing threads on a processor that supports transactional memory
JP4893214B2 (ja) * 2006-10-06 2012-03-07 富士通株式会社 記憶制御装置、記憶制御方法および記憶制御プログラム
US7480184B2 (en) 2007-01-07 2009-01-20 International Business Machines Corporation Maximum likelihood statistical method of operations for multi-bit semiconductor memory
US8151139B1 (en) 2009-03-27 2012-04-03 Symantec Corporation Preventing data loss from restore overwrites
US8219528B1 (en) 2009-03-31 2012-07-10 Symantec Corporation Method and apparatus for simultaneous comparison of multiple backup sets maintained in a computer system
US9934108B2 (en) * 2010-10-27 2018-04-03 Veritas Technologies Llc System and method for optimizing mirror creation
CN102065104A (zh) * 2011-01-10 2011-05-18 深信服网络科技(深圳)有限公司 一种异地文件访问方法、装置及系统
US9268596B2 (en) 2012-02-02 2016-02-23 Intel Corparation Instruction and logic to test transactional execution status
US10078856B2 (en) 2016-05-09 2018-09-18 Shadecraft, Inc. Mobile computing device control of shading object, intelligent umbrella and intelligent shading charging system
GB2527828A (en) 2014-07-03 2016-01-06 Ibm Copy-on-read process in disaster recovery
US10327521B2 (en) 2015-05-22 2019-06-25 Armen Sevada Gharabegian Intelligent shading objects
US10159316B2 (en) 2016-05-09 2018-12-25 Shadecraft, Inc. Intelligent shading charging systems
US9949540B2 (en) 2016-05-09 2018-04-24 Shadecraft, Inc. Automated intelligent shading objects and computer-readable instructions for interfacing with, communicating with and controlling a shading object
US10250817B2 (en) 2016-05-09 2019-04-02 Armen Sevada Gharabegian Shading object, intelligent umbrella and intelligent shading charging system integrated camera and method of operation
US10455395B2 (en) 2016-05-09 2019-10-22 Armen Sevada Gharabegian Shading object, intelligent umbrella and intelligent shading charging security system and method of operation
US10912357B2 (en) 2016-05-09 2021-02-09 Shadecraft, LLC Remote control of shading object and/or intelligent umbrella
US10349493B2 (en) 2017-07-07 2019-07-09 Shadecraft, Inc. Artificial intelligence (AI) computing device with one or more lighting elements
US10585756B2 (en) 2017-08-07 2020-03-10 International Business Machines Corporation Point-in-time copy on a remote system
US10795776B2 (en) * 2017-11-06 2020-10-06 International Business Machines Corporation Multiple point-in-time copies on a remote system
US10554436B2 (en) 2017-11-19 2020-02-04 Shadecraft, Inc. Intelligent umbrella and/or robotic shading system with ultra-low energy transceivers
US10519688B2 (en) 2018-01-06 2019-12-31 Shadecraft, Inc. Apparatus and method for identifying operational status of umbrella, parasol or shading system utilizing lighting elements
CN111176579B (zh) * 2019-12-30 2023-05-30 航天信息股份有限公司 使用norflash模拟eeprom的方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4096567A (en) * 1976-08-13 1978-06-20 Millard William H Information storage facility with multiple level processors
JPH0743676B2 (ja) 1988-03-11 1995-05-15 株式会社日立製作所 バツクアツプデータダンプ制御方法及び装置
US5532694A (en) 1989-01-13 1996-07-02 Stac Electronics, Inc. Data compression apparatus and method using matching string searching and Huffman encoding
US5146221A (en) 1989-01-13 1992-09-08 Stac, Inc. Data compression apparatus and method
US5155824A (en) * 1989-05-15 1992-10-13 Motorola, Inc. System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
US5210866A (en) * 1990-09-12 1993-05-11 Storage Technology Corporation Incremental disk backup system for a dynamically mapped data storage subsystem
US5263154A (en) 1992-04-20 1993-11-16 International Business Machines Corporation Method and system for incremental time zero backup copying of data
US5497483A (en) * 1992-09-23 1996-03-05 International Business Machines Corporation Method and system for track transfer control during concurrent copy operations in a data processing storage subsystem
GB2272549B (en) * 1992-11-03 1997-01-29 Tolsys Ltd Memory checkpointing
US5574847A (en) * 1993-09-29 1996-11-12 Evans & Sutherland Computer Corporation Computer graphics parallel system with temporal priority
US5610893A (en) * 1994-06-02 1997-03-11 Olympus Optical Co., Ltd. Information recording and reproducing apparatus for copying information from exchangeable master recording medium to a plurality of other exchangeable recording media
US5649152A (en) 1994-10-13 1997-07-15 Vinca Corporation Method and system for providing a static snapshot of data stored on a mass storage system
US5835953A (en) 1994-10-13 1998-11-10 Vinca Corporation Backup system that takes a snapshot of the locations in a mass storage device that has been identified for updating prior to updating
US5907672A (en) 1995-10-04 1999-05-25 Stac, Inc. System for backing up computer disk volumes with error remapping of flawed memory addresses
US5778395A (en) 1995-10-23 1998-07-07 Stac, Inc. System for backing up files from disk volumes on multiple nodes of a computer network
US6073209A (en) * 1997-03-31 2000-06-06 Ark Research Corporation Data storage controller providing multiple hosts with access to multiple storage subsystems
US6061770A (en) * 1997-11-04 2000-05-09 Adaptec, Inc. System and method for real-time data backup using snapshot copying with selective compaction of backup data
US6141734A (en) * 1998-02-03 2000-10-31 Compaq Computer Corporation Method and apparatus for optimizing the performance of LDxL and STxC interlock instructions in the context of a write invalidate protocol
US6189079B1 (en) * 1998-05-22 2001-02-13 International Business Machines Corporation Data copy between peer-to-peer controllers
US6269431B1 (en) 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6353878B1 (en) 1998-08-13 2002-03-05 Emc Corporation Remote control of backup media in a secondary storage subsystem through access to a primary storage subsystem
US6564301B1 (en) * 1999-07-06 2003-05-13 Arm Limited Management of caches in a data processing apparatus
US6757797B1 (en) 1999-09-30 2004-06-29 Fujitsu Limited Copying method between logical disks, disk-storage system and its storage medium
US6434681B1 (en) * 1999-12-02 2002-08-13 Emc Corporation Snapshot copy facility for a data storage system permitting continued host read/write access
US6460054B1 (en) * 1999-12-16 2002-10-01 Adaptec, Inc. System and method for data storage archive bit update after snapshot backup
US6341341B1 (en) * 1999-12-16 2002-01-22 Adaptec, Inc. System and method for disk control with snapshot feature including read-write snapshot half
EP1158409B1 (en) * 2000-05-25 2008-05-28 Hitachi, Ltd. Storage system making possible data synchronisation confirmation at time of asynchronous remote copy
EP1249744A1 (de) * 2001-08-23 2002-10-16 Siemens Aktiengesellschaft Verfahren zum Herstellen konsistenter Speicherinhalte in redundanten Systemen
US6785789B1 (en) 2002-05-10 2004-08-31 Veritas Operating Corporation Method and apparatus for creating a virtual data copy
US6792518B2 (en) 2002-08-06 2004-09-14 Emc Corporation Data storage system having mata bit maps for indicating whether data blocks are invalid in snapshot copies

Also Published As

Publication number Publication date
CN100440155C (zh) 2008-12-03
AU2003228971A1 (en) 2003-11-11
EP1504346A2 (en) 2005-02-09
CA2487244C (en) 2014-12-02
JP2005525633A (ja) 2005-08-25
US20040186970A1 (en) 2004-09-23
EP1504346B1 (en) 2014-07-02
AU2003228971A8 (en) 2003-11-11
US7310714B2 (en) 2007-12-18
WO2003096157A2 (en) 2003-11-20
CA2487244A1 (en) 2003-11-20
CN1653427A (zh) 2005-08-10
US6785789B1 (en) 2004-08-31
WO2003096157A3 (en) 2004-10-28

Similar Documents

Publication Publication Date Title
JP4422016B2 (ja) 仮想データコピーを作成するための方法および装置
US6912631B1 (en) Method and apparatus for restoring a corrupted data volume
US6938135B1 (en) Incremental backup of a data volume
US7856425B2 (en) Article of manufacture and system for fast reverse restore
US7103796B1 (en) Parallel data change tracking for maintaining mirrored data consistency
US7743227B1 (en) Volume restoration using an accumulator map
US7337288B2 (en) Instant refresh of a data volume copy
US20040260895A1 (en) Method, system, and program for reverse restore of an incremental virtual copy
WO2007065780A2 (en) Data protection in storage systems
JP2003223287A (ja) 記憶装置、この記憶装置のバックアップ方法及びプログラム
JP4419884B2 (ja) データ複製装置、方法及びプログラム並びに記憶システム
US8151069B1 (en) Multiprotection for snapsnots
US6978354B1 (en) Method for creating a virtual data copy of a volume being restored
US10860221B1 (en) Page write to non-volatile data storage with failure recovery
CN115033425A (zh) 一种提高数据备份成功率的方法
JPH04124743A (ja) データ2重化方式
JPH10143412A (ja) データベース管理システム
JPH07239757A (ja) 磁気ディスク装置障害時業務データファイルワンポイントバックアップ方式
JPS6229828B2 (ja)
JPS6266345A (ja) フアイル修復方式
JPH0497413A (ja) 多重化ファイル復旧方式

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060411

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060426

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090317

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090616

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090623

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090716

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090724

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090817

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090819

A524 Written submission of copy of amendment under article 19 pct

Free format text: JAPANESE INTERMEDIATE CODE: A524

Effective date: 20090819

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090824

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

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

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

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4422016

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121211

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131211

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees
S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350