JP2005519408A - 増分不一致を使用するミラーコピーの生成方法 - Google Patents

増分不一致を使用するミラーコピーの生成方法 Download PDF

Info

Publication number
JP2005519408A
JP2005519408A JP2003575277A JP2003575277A JP2005519408A JP 2005519408 A JP2005519408 A JP 2005519408A JP 2003575277 A JP2003575277 A JP 2003575277A JP 2003575277 A JP2003575277 A JP 2003575277A JP 2005519408 A JP2005519408 A JP 2005519408A
Authority
JP
Japan
Prior art keywords
storage device
write request
bitmap
controller
write
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.)
Granted
Application number
JP2003575277A
Other languages
English (en)
Other versions
JP2005519408A5 (ja
JP4472995B2 (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 JP2005519408A publication Critical patent/JP2005519408A/ja
Publication of JP2005519408A5 publication Critical patent/JP2005519408A5/ja
Application granted granted Critical
Publication of JP4472995B2 publication Critical patent/JP4472995B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/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/2056Error 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 by mirroring
    • G06F11/2082Data synchronisation
    • 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/2056Error 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 by mirroring
    • G06F11/2071Error 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 by mirroring using a plurality of controllers
    • G06F11/2074Asynchronous techniques

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)
  • Hardware Redundancy (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

増分不一致を使用するミラーコピーの生成は、書き込み要求(130)がそれぞれ基準ラベルに関連付けられたコンピュータシステム内で実行される。ミラーセットは、「良好な」データを有するデータ記憶装置から、不一致データを有するデータ記憶装置に保存されていなかったデータ部分だけをコピーすることによって、各データ記憶装置が同一のデータを含む状態に復元することができる。増分不一致コピーは、データ記憶装置が同一のデータを含むことが分かった時点の後に加えられた変更の推移を把握することによって達成することができる。

Description

本発明はディスクドライブ又は他の記憶装置のミラーコピーを生成するための手法に関する。
多くのコンピュータシステムでは、同一のデータを複数の記憶装置の各々に記憶することによってフォールト・トレランスのレベルが設定される。同一のデータを有する記憶装置はミラー装置と呼ばれ、ミラーセットに属すると言われる。ミラーセットの1つのミラー装置が障害を発生するか又はアクセス不能となった場合、ミラーセットの他の1つ又は複数のミラー装置が継続してデータにアクセスする。
ミラーセットの各装置で同一のデータを保持するためには、各装置は、ミラーセットにデータを保存するために全ての要求(すなわち、全ての書き込み要求を)を受け取って処理しなければならない。ミラーセット内の装置は、該装置がこうした書き込み要求を処理できない場合には、ミラーセットの他の装置と不一致となる。ミラーセットのメンバーが不一致になると、1つのミラー装置から別のミラー装置にデータをコピーするためにミラーセットコピーを実行することができる。ミラーセットコピーを保持するための1つの手法においては、コンピュータシステムは停止され、1つのミラー装置から他のミラー装置に全てのデータがコピーされる。
1つの一般的な態様において、コンピュータシステムにおいて第1の記憶装置のミラーコピーが第2の記憶装置に保持される。第1の記憶装置は、関連するコントローラを含み、第2の記憶装置は、関連するコントローラと、揮発性記憶装置と、不揮発性記憶装置とを含む。記憶装置で受け取られた書き込み要求が処理される。コミット同期メッセージが、書き込み要求を指定する情報と共に第2の記憶装置に送られ、第2の記憶装置のコントローラが、コミット同期メッセージを受け取った後に、指定された書き込み要求に関連するデータが第2の記憶装置の不揮発性記憶装置に書き込まれたことを確認する。
実施形態は、1つ又はそれ以上の次の特徴を含む。例えば、第2の記憶装置のコントローラは、指定された書き込み要求に先行する全ての書き込み要求に関連するデータが第2の記憶装置の不揮発性記憶装置に書き込まれたことを確認することができる。或いは、第2の記憶装置のコントローラは、指定された書き込み要求を処理することができ、且つ指定された書き込み要求と先行する書き込み要求と関連するデータが第2の記憶装置の不揮発性記憶装置に書き込まれたことを確認することができる。第2の記憶装置のコントローラは、第2の記憶装置の揮発性記憶装置の正常なキャッシュフラッシュを確認することができる。
コミット同期メッセージと共に送られた情報は、第1の記憶装置によって処理されたか、或いは処理されることになる書き込み要求を識別する基準ラベルとすることができる。基準ラベルは、他の書き込み要求に割り当てられた基準ラベルに対して順次に割り当てることができる。第2の記憶装置で受け取られた全ての書き込み要求は、コミット同期メッセージの基準ラベルによって識別された書き込み要求の処理の前に順次処理することができる。
書き込み要求によって影響を受ける記憶装置の識別された領域は、例えば第1のビットマップに蓄積することができる。コミット同期メッセージを送った後は、記憶装置の新規に識別された領域は第2のビットマップに蓄積することができる。処理された書き込み要求のデータが第2の記憶装置の不揮発性記憶装置に書き込まれたことを、第2の記憶装置のコントローラが確認した後で、書き込みデータが不揮発性記憶装置に正常に書き込まれたことを示すために、ステータスメッセージを第1の記憶装置に送ることができる。書き込みデータが正常に書き込まれたことを示すステータスメッセージを受け取った後で、第1のビットマップを削除し、第2のビットマップを第1のビットマップとして指定することができる。
第2の記憶装置が利用可能でなかった期間の後で、第1のビットマップの内容を、回復ビットマップにコピーし、次にこれを用いて第1の記憶装置から第2の記憶装置にコピーされることになる第1の記憶装置の記憶領域を識別することができる。第1の記憶装置の識別された記憶領域を第2の記憶装置にコピーすることができ、新規に受け取られた書き込み要求を第3のビットマップ内に第2の記憶装置において蓄積することができる。
第2の記憶装置は、第1の記憶装置に対して上述したような1つ又はそれ以上の特徴及び機能を実行することができ、第1の記憶装置は第2の記憶装置に対して上述したような1つ又はそれ以上の特徴及び機能を実行することができる。
別の一般的な態様において、コンピュータシステムにおける第1の記憶装置のミラーコピーを第2の記憶装置に保持することは、関連するコントローラと、揮発性記憶装置と、不揮発性記憶装置とを含む第1の記憶装置において書き込み要求を受け取る段階と、第1の記憶装置で受け取られた書き込み要求を処理する段階と、関連するコントローラと揮発性記憶装置と不揮発性記憶装置とを含む第2の記憶装置において書き込み要求を受け取る段階と、第2の記憶装置において受け取られた書き込み要求を処理する段階とを含む。第2の記憶装置が書き込み要求を処理することができなくなる期間に入ろうとしていることを第2の記憶装置が判定した後で、第1の記憶装置のコントローラは、書き込み要求を指定する情報と共に第2の記憶装置に対してコミット同期メッセージを送り、第2の記憶装置のコントローラは、コミット同期メッセージを受け取った後で、指定された書き込み要求に関連するデータが第2の記憶装置の不揮発性記憶装置に書き込まれたことを確認する。コミット同期メッセージを送った後で、第1の記憶装置のコントローラは、ビットマップ内に新規の書き込み要求によって影響を受ける記憶の領域を蓄積する。第2の記憶装置が書き込み要求を再度処理できるようになると、第1の記憶装置から第2の記憶装置へコピーされることになる第1の記憶装置の記憶の記憶領域を識別するように、第1の記憶装置のコントローラはビットマップを使用して、第1の記憶装置の識別された領域の内容を第2の記憶装置にコピーする。
上述の手法の実施形態は、方法又はプロセス、装置又はシステム、或いはコンピュータがアクセス可能な媒体上のコンピュータソフトウエアを含むことができる。
1つ又はそれ以上の実施形態の詳細が添付図面並びに以下の説明で記載される。他の特徴及び利点は、以下の説明、図面、及び請求項から明らかになろう。
各図面中、同一の参照記号は同一の要素を表す。
図1は、第1のデータ記憶装置105と第2のデータ記憶装置110を含むミラーセット100のブロック図である。図1の実施形態において、データ記憶装置はディスクドライブである。他の実施形態では、データ記憶装置はディスクドライブのアレイ又は他の記憶装置とすることができる。
説明を簡単にするため、ディスクの1つはマスタディスクとされ、主データ記憶装置として機能し、他のディスクはスレーブディスクとされ、冗長バックアップとして機能する。双方のディスクがアクティブで且つ同じデータを含む場合には、マスタ/スレーブのステータスは2つのディスクに対して任意に割り当てることができる。実際に以下に述べる同期化技法に対して、2−ディスクの実施形態では実際に2つのマスタ−スレーブ関係が維持され、各ディスクは一方の関係ではマスタとして、他方の関係ではスレーブとして機能する。図1においては、ディスク105はマスタディスクとして指定され、ディスク110はスレーブディスクとして指定されている。
第1のI/O(「入力/出力」)コントローラ115は第1のディスク105と関連付けられ、第2のI/Oコントローラ120は第2のディスク110と関連付けられる。I/Oコントローラ115、120は、ディスク上のデータの読み込みと書き込みを制御する。
例えば、プロセッサとすることができるクライアント125は、同一の書き込み要求130を両方のI/Oコントローラに送る。各書き込み要求はデータを含む。加えて、連続参照番号などの基準ラベルは、各書き込み要求に関連付けられる。I/Oコントローラは、書き込み要求からのデータをそれぞれのディスクに書き込むので、通常の条件下では両方のディスクは同一のデータを含む。典型的には、各I/Oコントローラは書き込み要求を同じ順番で処理する。これを達成するために、I/Oコントローラは書き込み要求を基準ラベルの順番に処理するので、これはI/Oコントローラが同一順番の書き込み要求を受け取る必要がないことを意味する。
また、クライアント125は読み出し要求135をI/Oコントローラに送る。1つの実施形態において、両方のディスクが同一のデータを含む場合、マスタディスクだけが読み出し要求135に応答する。他の実施形態では、スレーブディスク又は両方のディスクが応答することができる。マスタディスクに障害が発生するか又はアクセス不能となった場合には、スレーブディスクがマスタディスクとして指定変更され、継続してデータをクライアント125に供給する。従って、ディスク105に障害が発生した場合にはディスク110がマスタディスクとなる。
ミラーセット100のディスクは、ある時間期間の間に書き込み要求を処理することができない場合には、ピアのディスクとは不一致のデータを含むようになる。例えば、スレーブディスクがある時間期間の間に利用不能であった場合、スレーブディスクのデータはマスタディスクのデータとは異なるものとなる。ミラーセットのディスクが不一致になると、ミラーセットコピーを実行して、「正常な」データを有するディスクから不一致データを有するディスクにデータをコピーする。幾つかの大容量記憶装置においては、このプロセスは長時間を要する可能性があり、この間はミラーディスクが同一のデータを含まないことにより、システムのフォールト・トレランスのレベルが狭くなる。
システムのフォールト・トレランスレベルを改善するために、「良好な」データを有するディスクから、不一致データを有するディスクに保存されていなかったデータ部分だけをコピーすることによって、両方のディスクが同一データを含む状態(回復と呼ぶ場合がある)にミラーディスクを復元するのに必要な時間を短縮することができる。ディスクの部分だけをコピーするこのプロセスは、増分不一致コピー又は差分コピー(ここで、差分とは、一方のディスクに加えられており、他のディスクにはない変更を意味する)と呼ぶことができる。
一般に、増分不一致コピーは、1つ又はそれ以上のミラーディスクに対して行われるスレーブの変更によって行うことができ、その結果、利用不能期間の後で、「良好な」データだけを有するディスクから不一致データを有するミラーディスクに保存されていなかったデータをコピーすることによって、不一致データを有するミラーディスクを復元することができるようになる。一般に、ミラーディスクに対して加えられてきた変更の監視は、ミラーセット内の両方のミラーディスクが同一のデータを含むことが分かった時点(この時点ではミラーディスクは同期しているとすることができる)の後で加えられた変更の推移を把握することが必要とされる。
同期化された時点の後にミラーディスクに加えられた変更の監視は、データが揮発性のディスクキャッシュには既に書き込まれているが、ミラーディスクの不揮発性記憶装置には未だ書き込まれていない時に、システム、サブシステム、又はプロセッサが書き込み要求を完了したものとして記録する際に問題となる可能性がある。2つ以上のRAID(Redundunt Array of Inexpensive Disks)ディスクへの書き込みに要する時間が増大したことに起因して、書き込み要求がディスクキャッシュに出されてから、全てのデータの不揮発性ディスク記憶装置への書き込みを完了するまでの時間期間はかなりのものとなる可能性があるので、例えばRAID方式を使用して2つ以上のディスクにわたってミラーデータをストライピングした場合に、これは特に重大な問題となる恐れがある。
ディスクキャッシュをフラッシュしてキャッシュ内のデータをディスク記憶装置にコミットすることにより、特定の書き込み要求の基準ラベルまでミラーディスク上のデータを周期的に同期化することで(例えば各ディスクが同一のデータを含む場合)増分不一致コピーの効果を改善することができる。ディスクキャッシュをフラッシュすることにより、処理されていた全ての書き込み要求が不揮発性ディスク記憶装置内に確実に保存される。
ミラーセット100内の各I/Oコントローラ115、120は、ビットマップ155、156内のディスクに対して加えられた変更を蓄積することによって、I/Oコントローラのそれぞれのディスクに対して行われた書き込み要求130の推移を把握する。ビットマップ155、156は、ディスクの各領域が書き込み要求150によって影響を受けたかどうかを表示するために1つ又はそれ以上のビットを使用するデータ構造である。この実施形態におけるビットマップはディスクに保存される。別の実施形態では、システムが停止するか、又はミラーセットに含まれていない不揮発性記憶装置にビットマップを保存するまで、揮発性メモリにビットマップを保存することができる。ビットマップによって得られる抽象性(又は粒度)のレベルは、ビットで表わされる記憶領域のサイズに基づく。一般に、各ビットは、単一の書き込み要求によって記憶装置の対応する領域に書き込まれるデータよりも実質的に大きなデータを表す。ここでビットマップ155、156はディスク変更ビットマップと呼ばれることがある。
ビットマップ及びディスクは、固有の識別子によって関連付けることができる。固有の識別子は、例えば、ビットマップとディスクが適用されるクライアント125のインスタンスを識別するディスク識別子を組み込むことができる。ビットマップとディスクを関連付けることにより、変更されたディスク領域を適切なディスクに確実にコピーすることができる。例えば、特定のビットマップと特定のディスク又はディスク上の特定のデータセットとの関連付けは、ミラーセットが取り外し可能ディスク(すなわち、コンピュータのハウジングユニットを開かずに取り外すことが可能なディスク)を含む場合に重要である。
マスタI/Oコントローラと呼ぶことができる1つのI/Oコントローラが、スレーブI/Oコントローラと呼ぶことができる他のI/Oコントローラにコミット同期メッセージ160を周期的に送る。図示し且つ以下に説明されるように、第1のI/Oコントローラ115がマスタI/Oコントローラであり、第2のI/Oコントローラ120がスレーブI/Oコントローラである。しかしながら、ディスク110がマスタであり、ディスク105がスレーブという関係で、第2のI/Oコントローラ120が同時にマスタI/Oコントローラとして作用する(第1のI/Oコントローラが同時にスレーブI/Oコントローラとして作用する)点に留意することは重要である。
コミット同期メッセージ160は、ミラーディスク上のデータが同期化されるようになる書き込み要求の基準ラベルを識別する。第1のI/Oコントローラ115は、ディスク変更ビットマップ155のバックアップコピー165を作成して同期化プロセスの間に障害が発生した場合に回復できるようにし、新しいディスク変更ビットマップを開始させて、次の同期化において使用されることになる後続の全ての書き込みを蓄積する。
第2のI/Oコントローラ120が、第1のI/Oコントローラ115によって送られたコミット同期メッセージを受け取ると、第2のI/Oコントローラは、該第2のI/Oコントローラがコミット同期メッセージにおいて識別された書き込み要求と全てのこれまでの書き込み要求とを既に処理したかどうかを判断する。処理していない場合、第2のI/Oコントローラは、同期化を開始する前に、当該書き込み要求と全てのこれまでの書き込み要求とが処理されるまで待機する。
第2のI/Oコントローラ120が、コミット同期メッセージで識別された書き込み要求と全てのこれまでの書き込み要求とを処理すると、又はコミット同期メッセージを受け取った時に、第2のI/Oコントローラが書き込み要求と全てのこれまでの書き込み要求とを既に処理していた場合には、第2のI/Oコントローラは、そのディスクコントローラキャッシュをフラッシュして処理された書き込み要求を不揮発性記憶装置にコミットする。キャッシュのフラッシュ化が正常である場合、第2のI/Oコントローラ120は第1のI/Oコントローラ115に確認メッセージ170を送る。フラッシュ及び同期化が正常であったことの確認を受け取るとすぐに、第1のI/Oコントローラ115は、このディスク変更ビットマップのバックアップコピー165をクリアする。同期化が正常ではない場合、又は所定の時間内に第1のI/Oコントローラ115が確認を受け取らない場合には、第1のI/Oコントローラ115は、ビットマップ155とバックアップ165とを(通常は論理和を取ることによって)結合し、結合されたビットマップを第2のディスク110の復元に使用する。
特定の時点からディスクに加えられた変更だけを蓄積する増分不一致コピープロセスは、ディスク障害が検出されると開始する(従って、利用不能の期間の間に加えられた変更だけを蓄積する)ことができ、又は、システムがアクティブである時は何時でも用いることができる(従って、システム動作中に常時ミラーセットに加えられた変更を蓄積する)。利用不能の期間だけ変更が蓄積される時には、利用不能の期間は、利用可能になった後でディスクを回復する際に有効となる増分不一致コピープロセスが利用不能になっている(これは、「正常な停止」と呼ぶことができる、プロセス全体でディスクが利用不能になる場合に行われることがある)ディスクのディスクコントローラのキャッシュフラッシュから開始する必要がある。
別の実施形態は、異なるディスク変化ビットマップの同期化時点後に加えられたディスク変化の蓄積を開始するのではなく、ディスク変化ビットマップにおいて特定の書き込み要求を削除することによる変化を蓄積することを含むことができる。これは回復時間を短縮することができる。
ミラーセット100のI/Oコントローラ115と120のいずれかは、コミット同期プロセスを開始して、両方のディスクが特定の書き込み要求の基準ラベル全体を通じて同一のデータを含むよう保証することができる。利用不能期間の後で、最後の同期化以降変更されたディスク領域だけをコピーすることによって、同一データを保存するミラーコピーであるように不一致データを有するミラーディスクを復元することができる。
1つの実施形態では、日付(又は日付と時間)とミラーディスクの1つに対する特定のデータセットとの関連付けを含むことができる。これは、書き込み要求の基準ラベルが必ずしも固有のものでない場合に有益とすることができる。例えば、基準ラベルが、クライアントを制御するオペレーティングシステムのリセット時において、ある固定値(例えば1)から再起動する連続番号である場合、この書き込み要求の基準ラベルは固有ではない可能性がある。このような書き込み要求は、データセットを保存するディスクのディスクキャッシュがフラッシュされる時に、日付(又は日付と時間)をデータセットと関連付けることによって固有に識別することができる。別の方法として又は追加として、クライアントが再起動される時に、非固有の書き込み要求の基準ラベルの識別に役立つように、ミラーセットに新しいインスタンス番号を付与することができる。他の固有の識別子は、クライアント識別子、ミラーセット識別子、及びデータセット識別子を単独で又は組み合わせて含むことができる。
例証として図1では、ミラー装置として2つのディスクを使用してミラーデータのセットを保存しているが、増分不一致コピーの利点は、この特定の実施形態に限定されるものではなく、RAID方式を含む別の数又は種類の記憶装置を伴う他の実施形態に対しても同様に適用可能である。例えば、別の実施形態は、3つ又はそれ以上のディスクをミラーリングすることができ、又はミラーディスクの複数のインスタンス化(例えば、4つのディスクを使用して同一のディスクに対して2つのミラーセットを提供することができる)を行うことができる。
図2を参照すると、プロセス200は増分不一致追跡を使用して、ミラーディスクセットのディスクが、正常な停止を通じて利用不能になった期間中に、不一致になったミラーディスクセットへの同期化を復元する準備をする。図2で設定されたミラーディスクの実施形態は、別個のI/Oコントローラによって各々制御される2つのディスク記憶装置を有する。各I/Oコントローラは、プロセッサから同一の書き込み要求を受け取り、受け取った書き込み要求を起こった順番に処理する。基準ラベルは各書き込み要求と関連付けられ、書き込み要求の順序付けに使用される。別の実施形態では、特定の書き込み要求が処理されたか(完了したか)どうかを追跡することができる。これにより書き込み要求をバラバラの順序で(すなわち非順次で)処理することが可能となる。両方のディスクがアクティブである場合、各ディスクは同一のデータを含む。
プロセス200は、ディスクの1つが利用不能の期間(ステップ205)に入っていると判定された時に開始される。この判定がなされると、利用不能になっているディスクのI/Oコントローラは、I/Oコントローラによって既に処理されている不揮発性記憶装置の書き込み要求に対してコミットするよう命令される(ステップ210)。利用不能となるディスクをスレーブディスク、アクティブなディスクをマスタディスクと呼び、これらに関連付けられたI/Oコントローラは、スレーブI/OコントローラとマスタI/Oコントローラと呼ぶことができる。マスタI/Oコントローラは、ディスク変更ビットマップ内のマスタディスクに加えられた変更の蓄積を開始し(ステップ220)、継続して書き込み要求を受け取って処理し(ステップ225)、ディスク変更ビットマップを更新し、処理された書き込み要求から結果として得られた全ての変更をマスタディスクに反映させる(ステップ230)。ディスク変更ビットマップの各ビットは、マスタディスクの領域を表す。他の実施形態では、ディスク変更ビットマップの各ビットによって表示されるディスクスペース量を変えることができる。
マスタI/Oコントローラは又、継続してスレーブディスクのステータスを監視する(ステップ235)。スレーブディスクが使用可能となり、新規の書き込み要求の処理を開始すると、マスタI/Oコントローラは、図3に関連して以下に説明するように、回復プロセス300を開始する(ステップ240)。
図3を参照すると、回復プロセス300は、ディスク変更ビットマップによって示されるように、マスタディスクのスレーブディスク部分へのコピーを含む。回復プロセスは、ミラーセットが継続して新規の書き込み要求を処理している間にアクティブなバックグラウンドプロセスとして行われる。回復プロセス300は、マスタI/Oコントローラがディスク変更ビットマップのバックアップコピーを作成し、ディスク変更ビットマップのオリジナルバージョンを回復ビットマップとして指定することで開始する(ステップ310)。また、マスタI/Oコントローラは、新しいディスク変更ビットマップを開始して、後続の全ての変更をマスタディスクに蓄積する(ステップ320)。ディスク変更ビットマップと新しいディスク変更ビットマップのバックアップコピーは、回復プロセスの間に障害が発生した場合の回復を可能にする。
マスタI/Oコントローラは、回復ビットマップ内の各ビットを検査し(ステップ330)、対応するマスタディスクの領域が既に変更されたことをビットが示すかどうかを判定する(ステップ340)。示さない場合、マスタI/Oコントローラは回復ビットマップの次のビットの検査に進む(ステップ345)。マスタディスク領域が既に変更されたことをビットが示す場合、マスタI/Oコントローラは、後続の書き込み要求が、スレーブディスクの対応するディスク領域を変更したかどうかを判定する(ステップ345)。
後続の書き込み要求が、対応するスレーブディスク領域を既に変更していた場合には、マスタI/Oコントローラは、後続の書き込み要求によって変更されていなかったスレーブディスク領域の部分に相当する、マスタディスク領域の部分だけをコピーする(ステップ350)。マスタI/Oコントローラは、スレーブI/Oコントローラに、回復プロセスの間にスレーブディスクにより処理される書き込み要求のリストを保持させることにより、変更されていない領域を識別することができ、リストの各エントリは修正された実メモリ部分を識別する。或いは、スレーブI/Oコントローラは、より微細な粒度を有するディスク変更ビットマップを保持することができるので、ビットマップの各々のビットは、書き込み要求の修正が許可されているディスクの最小の部分に対応するようにする。スペースを保護するために、スレーブI/Oコントローラは、粒度が変化するビットマップを保持して、ディスクの修正された部分に対してだけ微細な粒度のマップが保持されるようにすることができる。
スレーブディスク領域に対して後続の変更が何も加えられなかった場合、マスタI/Oコントローラは、マスタディスクの全領域をスレーブディスクにコピーする(ステップ355)。
マスタI/Oコントローラは、コピーされているデータの部分を修正し、後続の書き込み要求によって上書きされることになるデータ書き込みの潜在的な非能率さを排除する(ステップ345−355)。例えば、書き込み要求WR−102がディスク領域12に保存されたデータの部分を変更し、WR−155もまた、ディスク領域12の別の部分に保存されたデータを変更する場合には、ディスク領域12へのデータを書き込むプロセスは、各書き込み要求に必要とされる領域12の部分だけを変更することができる。
追加又は代替として、スレーブI/Oコントローラは、コピーされているデータの部分を修正することができる。例えば、スレーブI/Oコントローラが、マスタディスクからコピーされたデータによって更新されることになる同一のディスク領域を修正する新規の書き込み要求を受け取った場合には、スレーブI/Oコントローラは、マスタディスクからコピーされているデータの部分を修正することができる。
マスタディスク領域(又はその部分)をスレーブディスクにコピーした後、マスタI/Oコントローラは、回復ビットマップ内の別のビットを検査する必要があるかどうかを判断し(ステップ360)、必要な場合には次のビットを検査する(ステップ330)。
マスタI/Oコントローラが、回復ビットマップ内の全てのビットが検査されたことを判定した時に回復が完了する。終了すると、コピーされたデータをスレーブディスクにコミットするために、マスタI/Oコントローラは、任意選択的にスレーブディスク・キャッシュをフラッシュする同期化を開始することができる(ステップ370)。マスタI/Oコントローラが、後続の同期化又はフラッシュ化が正常でないと判定する(ステップ375)と、マスタI/Oコントローラはディスク変更ビットマップのバックアップコピーを新しいディスク変更ビットマップと結合し(通常は論理和を取ることによって)(ステップ380)結合されたディスク変更ビットマップを使用して回復プロセス300を繰り返す。スレーブI/Oコントローラの同期化とスレーブディスクコントローラのフラッシュ化が正常である場合には、マスタI/Oコントローラはバックアップディスク変更ビットマップをクリアする(ステップ390)。
図2に関連して説明された実施形態は、マスタディスクからスレーブディスクにディスク領域をコピーする時に粒度のレベルを変更するが、別の実施形態では、後続の書き込み要求によって領域の部分が上書きされるかどうかに関係なく、常に変更された領域全体をコピーすることができる。図3の実施形態は、回復ビットマップを回復の間に2度使用できないように処理する。回復プロセスの間に障害からの回復を可能とするために、ビットを処理する前にディスク変更ビットマップのバックアップコピーを行う(ステップ310)。別の実施形態では、回復ビットマップは回復の間に破棄されることはなく、回復ビットマップ自体を使用することによって、回復プロセス障害から回復することができる。この実施形態は、ビットを処理する前にディスク変更ビットマップのコピーを行うことはない(ステップ310)。別の代替実施形態は、スレーブディスクが使用可能に戻った後で、且つ回復プロセスが正常に完了する前に行われたマスタディスク変更を蓄積するために新しいディスク変更ビットマップを使用することはない。
図4−図6を参照すると、増分不一致コピープロセスは、ミラーセットを使用する時は常にアクティブとすることができる。図4−図6のミラーセットの実施形態は、図2に関連して説明された方法で書き込み要求を受け取る2つのディスク記憶装置と2つのI/Oコントローラとを有する。
各I/Oコントローラは、ディスク変更ビットマップ内のディスクに加えられた変更を蓄積することによって、I/Oコントローラのディスクに対して加えられた書き込み要求の推移を把握する。1つのI/Oコントローラ(マスタI/Oコントローラと呼ばれる)は、周期的にコミット同期メッセージを別のI/Oコントローラ(スレーブI/Oコントローラと呼ばれる)に送り、周期的な同期化プロセスを開始する。図4はマスタI/Oコントローラによって実行される周期的な同期化プロセスを示す。図5は、スレーブI/Oコントローラによって実行される周期的な同期化プロセスを示す。図6は、同一データを有するミラーコピーとなる、不一致データを有するミラーディスクを復元するためのプロセスを示す。
図4を参照すると、マスタI/Oコントローラは、スレーブI/Oコントローラと周期的な同期化を行うためのプロセス400を開始する。プロセス400は、マスタI/Oコントローラが、プロセッサから書き込み要求を受け取って処理し(ステップ410)、ディスク変更ビットマップ内のマスタディスクに加えられた変更を蓄積する(ステップ415)ことで開始する。マスタI/Oコントローラは、ミラーセットを同期化すべきかどうかを判断する(ステップ420)。マスタI/Oコントローラは、例えば、最後の同期化から所定時間が経過した後、最後の同期化から所定の数の書き込み要求が処理された後、又は2つのミラーディスク間の増分不一致が一定割合となった後で、コミット同期メッセージを作成することができる。同期化が要求される時を判定する際に、ミラーディスク間で同期化されていないデータ量に対して同期化周波数(これは、不揮発性記憶装置にディスクキャッシュが書き込まれている時間の間はディスクキャッシュのフラッシュ化が全ての書き込み要求の処理を停止するので、システムの性能を低下させる可能性がある)を平衡させることができる(これは、ミラーセットに対して同一のデータを復元するための増分不一致コピーを行うのにより長い時間を要する可能性がある)。
ミラーセットを同期化すべきであることをマスタI/Oコントローラが判断すると、マスタI/Oコントローラは、コミット同期メッセージをスレーブI/Oコントローラに送る(ステップ430)。コミット同期メッセージは、ミラーディスク上のデータが同期化されることになる書き込み要求の基準ラベルを識別する。マスタI/Oコントローラは、ディスク変更ビットマップのバックアップコピーを作成(ステップ435)し、同期化プロセスで障害が発生した場合に回復できるようにし、新しいディスク変更ビットマップを開始し(ステップ440)て、次の同期化において使用するためにこの時点からマスタI/Oコントローラのディスクに加えられるディスク変更を蓄積する。マスタI/Oコントローラは、継続してプロセッサから書き込み要求を受け取って処理を行い(ステップ445)、マスタディスクの全ての変更を反映させるよう新しいディスク変更ビットマップを更新する(ステップ450)。
スレーブI/Oコントローラによるキャッシュフラッシュと同期化とが正常であった(ステップ455)ことの確認を受け取ると、マスタI/Oコントローラは、バックアップディスク変更ビットマップをクリアし(ステップ460)、同期化のプロセスが終了する。
或いは、例えば、マスタI/Oコントローラが所定の時間内にスレーブI/Oコントローラから確認メッセージを受け取らなかったか、又は同期化に障害が発生したというメッセージを受け取ったことにより、マスタI/Oコントローラは同期化が正常ではなかったことを判断することができる(ステップ455)。この場合には、マスタI/Oコントローラは、バックアップディスク変更ビットマップと新しいディスク変更ビットマップとを結合し(通常、論理和を取ることによって)(ステップ470)、スレーブI/Oコントローラとこれに関連するディスクとが動作可能であることを判断すると、結合されたディスク変更ビットマップを使用して、図3に関連して説明されたような回復プロセス300を開始し、マスタディスクからスレーブディスクにどのディスク領域をコピーすべきかを導く(ステップ475)。
図5を参照すると、プロセス500は、ミラーディスク上のデータが同期化されることになる書き込み要求基準ラベルを識別するコミット同期メッセージを、スレーブI/Oコントローラが受け取った時に開始する(ステップ510)。スレーブI/Oコントローラは、コミット同期メッセージと全てのこれまでの書き込み要求とにおいて識別された書き込み要求を既に処理したかどうかを判定する(ステップ520)。処理していない場合には、スレーブI/Oコントローラは、同期化を開始する前に、該書き込み要求と全てのこれまでの書き込み要求が処理されるまで待機する。
スレーブI/Oコントローラが、コミット同期メッセージで識別された書き込み要求と、全てのこれまでの書き込み要求とを処理すると、又はコミット同期メッセージが受け取られた時にスレーブI/Oコントローラが該書き込み要求と全てのこれまでの書き込み要求とを既に処理している場合には、スレーブディスクコントローラは、そのキャッシュをフラッシュして、処理された書き込み要求を不揮発性のディスク記憶装置にコミットし(ステップ530)、キャッシュフラッシュが正常であったかどうかを判定する(ステップ540)。キャッシュフラッシュが正常であった場合、スレーブI/Oコントローラは、マスタI/Oコントローラに確認メッセージを送る(ステップ550)。キャッシュフラッシュが正常でなかった場合には、スレーブI/Oコントローラは、マスタI/Oコントローラに障害発生のメッセージを送る(ステップ560)。マスタI/Oコントローラに適切なメッセージを送った後、スレーブI/Oコントローラはプロセス500を終了する。
図6は、同一データを保存するミラーコピーであるように不一致データを有するミラーディスクを復元するためのプロセス600を示す。以下の説明は、ミラーセット内のディスクの1つ(スレーブディスク)がこれまでに障害が発生したか、或いは利用不能となっており、且つミラーセットが同期化された前回以降、他のアクティブなディスク(マスタディスク)に加えられた全ての変更を含むディスク変更ビットマップが存在することを仮定している。これは、例えば図4−図5に関連して説明されたプロセスを実行することによって達成することができる。
スレーブディスクが利用可能でない場合、マスタI/Oコントローラは、継続してプロセッサから書き込み要求を受け取って処理し(ステップ610)、最後の同期化以降に加えられたディスク変更を追跡するディスク変更ビットマップのマスタディスクに対して加えられた変更を蓄積する(ステップ620)。マスタI/Oコントローラが、スレーブディスクが回復していて書き込み要求処理の開始が可能であると判断する(ステップ630)と、マスタI/Oコントローラは、ディスク変更ビットマップを使用して、図3に関連して説明されたような回復プロセス300を開始し、マスタディスクのデータと同一のデータを含むようにスレーブディスクを復元する(ステップ640)。
プロセス400、500及び600を実行することによって達成された増分不一致コピーは、プロセス200を実行することによって達成されたものとは異なる。特にプロセス400−600は、ディスク変更ビットマップがミラーセットのアクティブな間に更新されるので、ディスクの1つに予期しないディスク障害又はコントローラ障害が発生している間にミラーディスクセットを再確立するのに有効である。プロセス200は、次のディスク利用不能期間の警告が、ディスクキャッシュのフラッシュ実行を可能にするのに十分であり、ディスク変更ビットマップに蓄積されるようになる残りのアクティブなディスクに対する変更が開始される際、ミラーディスクセットの再確立だけに有効である。しかしながら、プロセス200は特定の時間に実行されるだけであるので、オーバーヘッドの処理はプロセス400−600よりも大幅に少ない結果となる。
図7を参照すると、回復プロセス700は、周期的な同期化の実行と、ディスク変更ビットマップによって示されるようなマスタディスクの部分のスレーブディスクへのコピーとを含む。回復プロセス700は、マスタI/Oコントローラがディスク変更ビットマップのバックアップコピーを作成して、ディスク変更ビットマップのオリジナルのバージョンを回復ビットマップとして指定(ステップ710)して開始する。マスタI/Oコントローラはまた、新しいディスク変更ビットマップを開始して、後続の全ての変更をマスタディスクに蓄積する(ステップ720)。
図3に関連して説明されたように、マスタI/Oコントローラは、回復ビットマップの各ビットを検査して(ステップ730)、マスタディスク領域が変更されたことをビットが示す場合、マスタディスクは、該マスタディスクの変更された部分をスレーブディスクにコピーする(ステップ735)。
図4に関連して上述したように、マスタI/OコントローラはスレーブI/Oコントローラとの同期化プロセスを周期的に開始する。特に、ミラーセットを同期化すべきであることをマスタI/Oコントローラが判断する(ステップ740)と、マスタI/Oコントローラは、コミット同期メッセージをスレーブI/Oコントローラに送り、ディスク変更ビットマップのコピーを作成し、新しいディスク変更ビットマップを開始して、この時点からマスタI/Oコントローラのディスクに加えられる変更を蓄積する(ステップ745)。
スレーブディスクコントローラによるキャッシュフラッシュと同期化とが正常であった(ステップ750)という確認を受け取ると、マスタI/Oコントローラは、スレーブディスクに正常にコピーされていたマスタディスクの領域を示すビットを、回復ビットマップから除外する(ステップ755)。マスタI/Oコントローラは、例えば回復プロセスの間にマスタディスクによって処理されたビットのリストを保持し、リストされたビットを回復ビットマップから削除することによって、これを達成することができる。しかしながら、マスタI/Oコントローラが、同期化が正常でなかったと判定する(ステップ750)と、マスタI/Oコントローラは、バックアップディスク変更ビットマップと新しいディスク変更ビットマップとを結合し(ステップ760)、結合されたディスク変更ビットマップを使用して、図3に関連して説明された回復プロセス300を開始する(ステップ765)。
マスタI/Oコントローラが、回復ビットマップの全てのビットを検査したと判定する(ステップ770)と、回復プロセスを終了し、バックアップディスク変更のビットマップをクリアする(ステップ775)。実施形態は、方法又はプロセス、装置又はシステム、若しくはコンピュータ媒体上のコンピュータソフトウエアを含むことができる。添付の請求項の精神及び範囲から逸脱することなく、種々の変更が可能であることは理解されるであろう。例えば、開示された手法のステップを別の順序で実行する場合、及び/又は開示されたシステムの構成要素を別の方法で結合する場合、及び/又は別の構成要素によって置き換えられるか補足される場合には、有利な結果が得られるであろう。
ミラードライブシステムのブロック図である。 ミラーディスク間の差異を監視するプロセスのフローチャートである。 不一致になったミラーディスクのセットに対する同期性を回復するためのプロセスのフローチャートである。 マスタ入出力コントローラによって実行される周期的な同期化プロセスを示すフローチャートである。 スレーブ入出力コントローラによって実行される周期的な同期化プロセスを示すフローチャートである。 同一のデータを有するミラーコピーであるように、不一致データを有するミラーディスクを復元するためのプロセスのフローチャートである。 回復プロセスの間に実行される周期的な同期化を示すフローチャートである。
符号の説明
115 I/Oコントローラ1
120 I/Oコントローラ2
125 クライアント
155 ビットマップ
156 ビットマップ
160 コミット同期メッセージ
165 バックアップビットマップ
170 確認メッセージ

Claims (62)

  1. コンピュータシステムにおける第1の記憶装置のミラーコピーを第2の記憶装置に保持する方法であって、
    関連するコントローラを含む第1の記憶装置において書き込み要求を受け取る段階と、
    前記第1の記憶装置で受け取られた前記書き込み要求を処理する段階と、
    関連するコントローラと、揮発性記憶装置と、不揮発性記憶装置とを含む第2の記憶装置において書き込み要求を受け取る段階と、
    前記第2の記憶装置において受け取られた前記書き込み要求を処理する段階と、
    書き込み要求を指定する情報と共に前記第2の記憶装置にコミット同期メッセージを送る段階と、
    前記コミット同期メッセージを受け取った後で、前記指定された書き込み要求に関連するデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置に確認させる段階と、
    を含む方法。
  2. 前記指定された書き込み要求に関連するデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置に確認させる段階は、前記指定された書き込み要求に先行する全ての書き込み要求に関連するデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置に確認させる段階を含む請求項1に記載の方法。
  3. 前記指定された書き込み要求に関連するデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置に確認させる段階は、前記指定された書き込み要求に関連するデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置に確認させる段階を含む請求項1に記載の方法。
  4. 前記コミット同期メッセージを受け取った後で、前記第2の記憶装置に前記指定された書き込み要求を処理させる段階を更に含む請求項1に記載の方法。
  5. 前記指定された書き込み要求に関連する前記データが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置に確認させる段階は、前記第2の記憶装置の揮発性記憶装置の正常なキャッシュフラッシュを前記第2の記憶装置に確認させる段階を含む請求項1に記載の方法。
  6. 前記コミット同期メッセージと共に送られた前記情報は、前記第1の記憶装置によって処理された書き込み要求を識別する基準ラベルであることを特徴とする請求項1に記載の方法。
  7. 前記基準ラベルは、書き込み要求に対して順次に割り当てられることを特徴とする請求項6に記載の方法。
  8. 前記第2の記憶装置において受け取られた前記書き込み要求を処理する段階は、前記コミット同期メッセージの基準ラベルによって識別された前記書き込み要求に先立って発行された全ての書き込み要求が前記書き込み要求を処理する前に処理されるように、前記書き込み要求をこれらの基準ラベルによって順次に処理する段階を更に含む請求項7に記載の方法。
  9. 各記憶装置が基準ラベルと同じ順番で書き込み要求を受け取ることを特徴とする請求項7に記載の方法。
  10. 前記第1の記憶装置において処理された書き込み要求によって影響を受ける記憶装置の領域を識別する段階を更に含む請求項1に記載の方法。
  11. 前記第1の記憶装置において処理されていた書き込み要求によって影響を受ける記憶装置の領域を識別する段階は、第1のビットマップ内に前記識別された記憶装置の領域を蓄積する段階を更に含む請求項10に記載の方法。
  12. 前記コミット同期メッセージを送った後で、第2のビットマップ内に新規に識別された記憶装置の領域を蓄積する段階と、
    前記処理された書き込み要求のデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置が確認した後で、前記書き込みメッセージが前記不揮発性記憶装置に正常に書き込まれたかどうかを示すステータスメッセージを前記第1の記憶装置に送る段階と、
    前記書き込みデータが正常に書き込まれたことを示す前記ステータスメッセージを受け取った後で、前記第1のビットマップを削除する段階と、
    を更に含む請求項11に記載の方法。
  13. 前記書き込みデータが正常に書き込まれなかったことを示すステータスメッセージを受け取った後で、前記第2のビットマップの内容を前記第1のビットマップにコピーし、前記第2のビットマップを削除する段階を更に含む請求項12に記載の方法。
  14. 前記第1のビットマップを削除した後で、前記第2のビットマップを前記第1のビットマップとして指定する段階を更に含む請求項12に記載の方法。
  15. 前記第2の記憶装置が書き込み要求を処理することができなかった期間の後で、
    前記第1のビットマップの内容を回復ビットマップにコピーする段階と、
    前記回復ビットマップを使用して、前記第1の記憶装置から前記第2の記憶装置にコピーされることになる前記第1の記憶装置の記憶領域を識別する段階と、
    前記第1の記憶装置の識別された記憶領域を前記第2の記憶装置にコピーする段階と、
    第3のビットマップ内に前記第1の記憶装置において新規に受け取られた書き込み要求を蓄積する段階と、
    を更に含む請求項1に記載の方法。
  16. 前記第1の記憶装置が揮発性記憶装置と不揮発性記憶装置とを含み、
    第2の書き込みを指定する情報と共に第2のコミット同期メッセージを前記第1の記憶装置に送る段階と、
    前記第2のコミット同期メッセージを受け取った後で、前記指定された第2の書き込み要求に関連するデータが前記第1の記憶装置の不揮発性記憶装置に書き込まれたことを前記第1の記憶装置に確認させる段階と、
    を更に含む請求項1に記載の方法。
  17. 前記指定された第2の書き込み要求に関連するデータが前記第1の記憶装置の不揮発性記憶装置に書き込まれたことを第1の記憶装置に確認させる段階は、前記指定された第2の書き込み要求に先行する全ての書き込み要求に関連するデータが前記第1の記憶装置の不揮発性記憶装置に書き込まれたことを前記第1の記憶装置に確認させる段階を含む請求項16に記載の方法。
  18. 前記指定された第2の書き込み要求に関連するデータが前記第1の記憶装置の不揮発性記憶装置に書き込まれたことを第1の記憶装置に確認させる段階は、前記指定された第2の書き込み要求に関連するデータが前記第1の記憶装置の不揮発性記憶装置に書き込まれたことを前記第1の記憶装置に確認させる段階を含む請求項17に記載の方法。
  19. 前記第2のコミット同期メッセージを受け取った後で、前記第1の記憶装置に前記指定された第2の書き込み要求を処理させる段階を更に含む請求項16に記載の方法。
  20. 前記指定された第2の書き込み要求に関連する前記データが前記第1の記憶装置の不揮発性記憶装置に書き込まれたことを第1の記憶装置に確認させる段階は、前記第2の記憶装置の揮発性記憶装置の正常なキャッシュフラッシュを前記第1の記憶装置に確認させる段階を含む請求項16に記載の方法。
  21. 前記第2のコミット同期メッセージと共に送られた情報は、前記第2の記憶装置によって処理された第2の書き込み要求を識別する基準ラベルであることを特徴とする請求項16に記載の方法。
  22. 前記基準ラベルが書き込み要求に対して順次に割り当てられることを特徴とする請求項21に記載の方法。
  23. 前記第1の記憶装置において受け取られた前記書き込み要求を処理する段階は、前記第2のコミット同期メッセージの基準ラベルによって識別された前記書き込み要求に先立って発行された全ての書き込み要求が、前記書き込み要求を処理する前に処理されるように、前記書き込み要求をこれらの基準ラベルによって順次に処理する段階を更に含む請求項22に記載の方法。
  24. 各記憶装置が基準ラベルと同じ順番で書き込み要求を受け取ることを特徴とする請求項22に記載の方法。
  25. 前記第2の記憶装置において処理された書き込み要求によって影響を受ける記憶装置の領域を識別する段階を更に含む請求項16に記載の方法。
  26. 前記第2の記憶装置において処理されていた書き込み要求によって影響を受ける記憶装置の領域を識別する段階は、第4のビットマップ内に前記識別された記憶装置の領域を蓄積する段階を更に含む請求項25に記載の方法。
  27. 前記第2のコミット同期メッセージを送った後で、第5のビットマップの記憶装置の新規に識別された領域を蓄積する段階と、
    前記処理された書き込み要求のデータが前記第1の記憶装置の不揮発性記憶装置に書き込まれたことを前記第1の記憶装置が確認した後で、前記書き込みメッセージが前記不揮発性記憶装置に正常に書き込まれたかどうかを示すステータスメッセージを前記第2の記憶装置に送る段階と、
    前記書き込みデータが正常に書き込まれたことを示す前記ステータスメッセージを受け取った後で、前記第4のビットマップを削除する段階と、
    を更に含む請求項26に記載の方法。
  28. 前記書き込みデータが正常に書き込まれなかったことを示すステータスメッセージを受け取った後で、前記第5のビットマップの内容を前記第4のビットマップにコピーし、前記第5のビットマップを削除する段階を更に含む請求項27に記載の方法。
  29. 前記第4のビットマップを削除した後で、前記第5のビットマップを前記第4のビットマップとして指定する段階を更に含む請求項27に記載の方法。
  30. 前記第1の記憶装置が書き込み要求を処理することができなかった期間の後で、
    前記第4のビットマップの内容を第2の回復ビットマップにコピーする段階と、
    前記第2の回復ビットマップを使用して、前記第2の記憶装置から前記第1の記憶装置にコピーされることになる前記第2の記憶装置の記憶領域を識別する段階と、
    前記第2の記憶装置の識別された記憶領域を前記第1の記憶装置にコピーする段階と、
    第6のビットマップ内に前記第1の記憶装置において新規に受け取られた書き込み要求を蓄積する段階と、
    を更に含む請求項20に記載の方法。
  31. 前記書き込み要求が一意に識別されるように、固有識別子を特定のデータのセットに関連付ける段階を更に含む請求項16に記載の方法。
  32. 前記固有の識別子はインスタンス数を含むことを特徴とする請求項31に記載の方法。
  33. 前記固有の識別子は日付を含むことを特徴とする請求項31に記載の方法。
  34. コンピュータシステムにおける第1の記憶装置のミラーコピーを第2の記憶装置に保持する方法であって、
    関連するコントローラと、揮発性記憶装置と、不揮発性記憶装置とを含む第1の記憶装置において書き込み要求を受け取る段階と、
    前記第1の記憶装置で受け取られた前記書き込み要求を処理する段階と、
    関連するコントローラと、揮発性記憶装置と、不揮発性記憶装置とを含む第2の記憶装置において書き込み要求を受け取る段階と、
    前記第2の記憶装置において受け取られた前記書き込み要求を処理する段階と、
    前記第2の記憶装置が書き込み要求を処理することができなくなる期間に入ろうとしていることを判定した後で、書き込み要求を指定する情報と共に前記第2の記憶装置に対してコミット同期メッセージを前記第1の記憶装置のコントローラに送らせる段階と、
    前記コミット同期メッセージを受け取った後で、前記指定された書き込み要求に関連するデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置のコントローラに確認させる段階と、
    前記コミット同期メッセージを送った後で、ビットマップ内に新規の書き込み要求によって影響を受ける記憶装置の領域を前記第1の記憶装置のコントローラに蓄積させる段階と、
    前記第2の記憶装置が書き込み要求を処理することができるようになった後で、前記第1の記憶装置から前記第2の記憶装置へコピーされることになる前記第1の記憶装置の記憶領域を識別するように前記第1の記憶装置のコントローラに前記ビットマップを使用させる段階と、
    前記第1の記憶装置の識別された領域の内容を前記第2の記憶装置にコピーする段階と、
    を含む方法。
  35. コンピュータシステムにおける第1の記憶装置のミラーコピーを第2の記憶装置に保持する方法であって、
    関連するコントローラと、揮発性記憶装置と、不揮発性記憶装置とを含む第1の記憶装置において書き込み要求を受け取る段階と、
    前記第1の記憶装置で受け取られた前記書き込み要求を処理する段階と、
    関連するコントローラと、揮発性記憶装置と、不揮発性記憶装置とを含む第2の記憶装置において書き込み要求を受け取る段階と、
    前記第2の記憶装置において受け取られた前記書き込み要求を処理する段階と、
    第1のビットマップ内に新規の書き込み要求によって影響を受ける記憶装置の領域を前記第1の記憶装置のコントローラに蓄積させる段階と、
    一意に識別された書き込み要求を指定する情報と共に前記第2の記憶装置に対してコミット同期メッセージを前記第1の記憶装置のコントローラに送らせる段階と、
    前記コミット同期メッセージを受け取った後で、前記指定された書き込み要求に関連する情報が前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置のコントローラに確認させる段階と、
    前記コミット同期メッセージを送った後で、第2のビットマップ内に新規の書き込み要求によって影響を受ける記憶装置の領域を前記第1の記憶装置のコントローラに蓄積させる段階と、
    前記処理された書き込み要求のデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置のコントローラが確認した後で、前記書き込みデータが不揮発性記憶装置に正常に書き込まれたかどうかを示すステータスメッセージを前記第1の記憶装置に送る段階と、
    前記書き込みデータが正常に書き込まれたことを示す前記ステータスメッセージを受け取った後で、前記第1のビットマップを削除する段階と、
    前記書き込みデータが正常に書き込まれなかったことを示す前記ステータスメッセージを受け取った後で、前記第2のビットマップの内容を前記第1のビットマップにコピーして前記第2のビットマップを削除する段階と、
    前記第2の記憶装置が書き込み要求を処理できなかった期間の後に前記第2の記憶装置が書き込み要求を処理できるようになった後、
    前記第2のビットマップの内容を回復ビットマップにコピーする段階と、
    前記回復ビットマップを使用して、前記第1の記憶装置から前記第2の記憶装置にコピーされることになる前記第1の記憶装置の記憶領域を識別する段階と、
    前記第1の記憶装置の識別された領域の内容を前記第2の記憶装置にコピーする段階と、
    第3のビットマップ内に新規の書き込み要求によって影響を受ける記憶装置の領域を前記第1の記憶装置のコントローラに蓄積させる段階と、
    を含む方法。
  36. 前記第1の記憶装置の識別された領域の内容を前記第2の記憶装置にコピーする段階は、
    一意に識別された書き込み要求を指定する情報と共に前記第2の記憶装置に対してコミット同期メッセージを前記第1の記憶装置のコントローラに送らせる段階と、
    前記コミット同期メッセージを受け取った後で、前記指定された書き込み要求に関連する情報が前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置のコントローラに確認させる段階と、
    前記コミット同期メッセージを送った後で、第4のビットマップ内に新規の書き込み要求によって影響を受ける記憶装置の領域を前記第1の記憶装置のコントローラに蓄積させる段階と、
    前記処理された書き込み要求のデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置が確認した後で、前記書き込みデータが不揮発性記憶装置に正常に書き込まれたかどうかを示すステータスメッセージを前記第1の記憶装置に送る段階と、
    前記書き込みデータが正常に書き込まれたことを示す前記ステータスメッセージを受け取った後で、前記第3のビットマップを削除する段階と、
    前記書き込みデータが正常に書き込まれなかったことを示す前記ステータスメッセージを受け取った後で、前記第4のビットマップの内容を前記第3のビットマップにコピーして前記第4のビットマップを削除する段階と、
    を含む請求項35に記載の方法。
  37. 第1の記憶装置と、
    第2の記憶装置と、
    前記第1の記憶装置と関連付けられた第1のコントローラと、
    前記第2の記憶装置と関連付けられた第2のコントローラと、
    を備え、
    前記第1のコントローラは、
    第1の記憶装置において書き込み要求を受け取り、
    前記第1の記憶装置で受け取られた前記書き込み要求を処理し、
    1つの書き込み要求を指定する情報と共に前記第1の記憶装置に対してコミット同期メッセージを送る、
    ように構成されており、
    前記第2のコントローラは、
    揮発性記憶装置と不揮発性記憶装置とを含む第2の記憶装置において書き込み要求を受け取り、
    前記第2の記憶装置において受け取られた前記書き込み要求を処理し、
    前記コミット同期メッセージを受け取って該コミット同期メッセージ内の情報によって識別された前記書き込み要求を処理した後で、前記コミット同期メッセージ内の前記情報によって識別された前記書き込み要求と関連付けられるデータが、前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを確認する、
    ように構成されていることを特徴とするミラーデータ記憶システム。
  38. 前記第2のコントローラは、前記指定された書き込み要求に先行する全ての書き込み要求に関連するデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを確認するように構成されていることを特徴とする請求項37に記載のシステム。
  39. 前記第2のコントローラは、前記指定された書き込み要求に関連するデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを確認するように構成されていることを特徴とする請求項38に記載のシステム。
  40. 前記第2のコントローラは、前記第2の記憶装置の揮発性記憶装置の正常なキャッシュフラッシュを確認するように構成されていることを特徴とする請求項37に記載のシステム。
  41. 前記コミット同期メッセージと共に送られた前記情報は、前記第1の記憶装置によって処理された書き込み要求を識別する基準ラベルであることを特徴とする請求項37に記載のシステム。
  42. 基準ラベルが書き込み要求に順次に割り当てられることを特徴とする請求項41に記載のシステム。
  43. 前記第2のコントローラは、前記コミット同期メッセージの基準ラベルによって識別された前記書き込み要求に先立って発行された全ての書き込み要求が前記書き込み要求を処理する前に処理されるように、前記書き込み要求をこれらの基準ラベルによって順次に処理するように構成されていることを特徴とする請求項42に記載のシステム。
  44. 各記憶装置は前記基準ラベルの順序が同じである書き込み要求を受け取ることを特徴とする請求項42に記載のシステム。
  45. 前記第1のコントローラは、前記第1の記憶装置で処理された書き込み要求によって影響を受ける記憶装置の領域を識別するように更に構成されていることを特徴とする請求項37に記載のシステム。
  46. 前記第1のコントローラは、第1のビットマップ内に前記記憶装置の識別された領域を蓄積するように構成されていることを特徴とする請求項45に記載のシステム。
  47. 前記第2のコントローラは、前記処理された書き込み要求のデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置が確認した後で前記書き込みデータが正常に前記不揮発性記憶装置に書き込まれたかどうかを示すステータスメッセージを前記第1の記憶装置に送るように更に構成されており、
    前記第1のコントローラが、前記コミット同期メッセージを送った後で、第2のビットマップ内に記憶装置の新規に識別された領域を蓄積するように更に構成され、
    前記書き込みデータが正常に書き込まれたことを示すステータスメッセージを受け取った後で、前記第1のビットマップを削除する、
    ことを特徴とする請求項46に記載のシステム。
  48. 前記第1のコントローラは、前記書き込みデータが正常に書き込まれなかったことを示す前記ステータスメッセージを受け取った後で、前記第2のビットマップの内容を前記第1のビットマップにコピーして、前記第2のビットマップを削除するように更に構成されていることを特徴とする請求項47に記載のシステム。
  49. 前記第1のコントローラは、前記第2の記憶装置が書き込み要求を処理できなかった期間の後で、
    前記第1のビットマップの内容を回復ビットマップにコピーし、
    前記回復ビットマップを使用して、前記第1の記憶装置から前記第2の記憶装置にコピーされることになる前記第1の記憶装置の記憶領域を識別し、
    前記第1の記憶装置の識別された記憶領域を前記第2の記憶装置にコピーし、
    第3のビットマップ内に前記第1の記憶装置において新規に受け取られた書き込み要求を蓄積する、
    ように更に構成されていることを特徴とする請求項37に記載のシステム。
  50. コンピュータシステムにおける第1の記憶装置のミラーコピーを第2の記憶装置に保持するように構成された、コンピュータプログラムを組み込むコンピュータ読み込み可能媒体又は送信信号であって、
    関連するコントローラを含む第1の記憶装置において書き込み要求を受け取り、
    前記第1の記憶装置において受け取られた前記書き込み要求を処理し、
    関連するコントローラと揮発性記憶装置と不揮発性記憶装置とを含む第2の記憶装置において書き込み要求を受け取り、
    前記第2の記憶装置において受け取られた書き込み要求を処理し、
    書き込み要求を指定する情報と共に前記第2の記憶装置にコミット同期メッセージを送り、
    前記コミット同期メッセージを受け取った後で、前記指定された書き込み要求に関連するデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを確認する、
    ように構成されたコードセグメントを含む媒体。
  51. 前記指定された書き込み要求に関連するデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置のコントローラに確認させることは、前記指定された書き込み要求に先行する全ての書き込み要求に関連するデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置のコントローラに確認させることを含む請求項50に記載の媒体。
  52. 前記指定された書き込み要求に関連するデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2のコントローラに確認させることは、前記指定された書き込み要求に関連するデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置のコントローラに確認させることを含む請求項51に記載の媒体。
  53. 前記指定された書き込み要求に関連する前記データが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置に確認させる段階は、前記第2の記憶装置の揮発性記憶装置の正常なキャッシュフラッシュを前記第2の記憶装置に確認させることを含む請求項50に記載の媒体。
  54. 前記コミット同期メッセージと共に送られた情報は、前記第1の記憶装置によって処理された書き込み要求を識別する基準ラベルであることを特徴とする請求項50に記載の媒体。
  55. 前記基準ラベルが書き込み要求に順次に割り当てられることを特徴とする請求項54に記載の媒体。
  56. 前記第2の記憶装置において受け取られた前記書き込み要求の処理は、前記コミット同期メッセージの基準ラベルによって識別された前記書き込み要求に先立って発行された全ての書き込み要求が前記書き込み要求を処理する前に処理されるように、前記書き込み要求をこれらの基準ラベルによって順次に処理することを更に含む請求項55に記載の媒体。
  57. 各記憶装置が基準ラベルと同じ順番で書き込み要求を受け取ることを特徴とする請求項55に記載の媒体。
  58. 前記第1の記憶装置において処理された書き込み要求によって影響を受ける記憶領域を識別するように構成されたコードセグメントを更に含むことを特徴とする請求項50に記載の媒体。
  59. 前記第1の記憶装置において処理されていた書き込み要求によって影響を受ける記憶装置の領域を識別することは、第1のビットマップ内に前記識別された記憶装置の領域を蓄積することを更に含む請求項58に記載の媒体。
  60. 前記コミット同期メッセージを送った後で、第2のビットマップ内に新規に識別された記憶装置の領域を蓄積し、
    前記処理された書き込み要求のデータが前記第2の記憶装置の不揮発性記憶装置に書き込まれたことを前記第2の記憶装置が確認した後で、前記書き込みデータが前記不揮発性記憶装置に正常に書き込まれたかどうかを示すステータスメッセージを前記第1の記憶装置に送り、
    前記書き込みデータが正常に書き込まれたことを示す前記ステータスメッセージを受け取った後で、前記第1のビットマップを削除する、
    ように構成されたコードセグメントを更に含む請求項59に記載の媒体。
  61. 前記書き込みデータが正常に書き込まれなかったことを示すステータスメッセージを受け取った後で、前記第2のビットマップの内容を前記第1のビットマップにコピーして前記第2のビットマップを削除するように構成されたコードセグメントを更に含む請求項60に記載の媒体。
  62. 前記第2の記憶装置が書き込み要求を処理することができなかった期間の後で、
    前記第1のビットマップの内容を回復ビットマップにコピーし、
    前記回復ビットマップを使用して、前記第1の記憶装置から前記第2の記憶装置にコピーされることになる前記第1の記憶装置の記憶領域を識別し、
    前記第1の記憶装置の識別された記憶領域を前記第2の記憶装置にコピーし、
    第3のビットマップ内に前記第1の記憶装置において新規に受け取られた書き込み要求を蓄積する、
    ように構成されたコードセグメントを更に含む請求項50に記載の媒体。
JP2003575277A 2002-03-06 2003-03-06 増分不一致を使用するミラーコピーの生成方法 Expired - Lifetime JP4472995B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/090,728 US6728898B2 (en) 2002-03-06 2002-03-06 Producing a mirrored copy using incremental-divergence
PCT/US2003/006620 WO2003077128A1 (en) 2002-03-06 2003-03-06 Producing a mirrored copy using incremental-divergence

Publications (3)

Publication Number Publication Date
JP2005519408A true JP2005519408A (ja) 2005-06-30
JP2005519408A5 JP2005519408A5 (ja) 2006-04-27
JP4472995B2 JP4472995B2 (ja) 2010-06-02

Family

ID=27804068

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003575277A Expired - Lifetime JP4472995B2 (ja) 2002-03-06 2003-03-06 増分不一致を使用するミラーコピーの生成方法

Country Status (5)

Country Link
US (1) US6728898B2 (ja)
EP (1) EP1481324B1 (ja)
JP (1) JP4472995B2 (ja)
DE (1) DE60318687T2 (ja)
WO (1) WO2003077128A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007200085A (ja) * 2006-01-27 2007-08-09 Nec Corp データ複製システムおよびデータ複製方法
JP2007200086A (ja) * 2006-01-27 2007-08-09 Nec Corp データ複製システムおよびデータ複製方法
JP2010146450A (ja) * 2008-12-22 2010-07-01 Fujitsu Ltd ストレージスイッチ、ストレージシステム、データコピー方法
JP2011222030A (ja) * 2004-02-04 2011-11-04 Sandisk Corp デュアルメディアストレージデバイス
JP2015210664A (ja) * 2014-04-25 2015-11-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラムおよび記憶媒体
JP2021515926A (ja) * 2018-03-06 2021-06-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のデータ・ストレージ・システムにおける同期されたセーフ・データ・コミット・スキャン

Families Citing this family (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10115586A1 (de) * 2001-03-29 2002-10-17 Siemens Production & Logistics Verfahren zur Erzeugung von Internetinformationen
US6742138B1 (en) * 2001-06-12 2004-05-25 Emc Corporation Data recovery method and apparatus
US7310743B1 (en) 2001-06-12 2007-12-18 Emc Corporation Data recovery method and apparatus
EP1249744A1 (de) * 2001-08-23 2002-10-16 Siemens Aktiengesellschaft Verfahren zum Herstellen konsistenter Speicherinhalte in redundanten Systemen
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
US9009427B2 (en) * 2001-12-26 2015-04-14 Cisco Technology, Inc. Mirroring mechanisms for storage area networks and network based virtualization
US20090259817A1 (en) * 2001-12-26 2009-10-15 Cisco Technology, Inc. Mirror Consistency Checking Techniques For Storage Area Networks And Network Based Virtualization
US7620666B1 (en) 2002-07-29 2009-11-17 Symantec Operating Company Maintaining persistent data change maps for fast data synchronization and restoration
US7096330B1 (en) 2002-07-29 2006-08-22 Veritas Operating Corporation Symmetrical data change tracking
US7058850B2 (en) * 2002-07-31 2006-06-06 Hewlett-Packard Development Company, L.P. Method and system for preventing data loss within disk-array pairs supporting mirrored logical units
US7103796B1 (en) * 2002-09-03 2006-09-05 Veritas Operating Corporation Parallel data change tracking for maintaining mirrored data consistency
US7231409B1 (en) * 2003-03-21 2007-06-12 Network Appliance, Inc. System and method for reallocating blocks in checkpointing bitmap-based file systems
JP4141875B2 (ja) * 2003-03-27 2008-08-27 株式会社日立製作所 リカバリ処理方法及びその実施システム並びにその処理プログラム
US7260739B2 (en) * 2003-05-09 2007-08-21 International Business Machines Corporation Method, apparatus and program storage device for allowing continuous availability of data during volume set failures in a mirrored environment
FR2850182B1 (fr) * 2003-06-10 2006-02-24 Garnier Jean Procede de gestion d'une unite de stockage numerique
US7617369B1 (en) * 2003-06-30 2009-11-10 Symantec Operating Corporation Fast failover with multiple secondary nodes
US7831550B1 (en) * 2003-09-30 2010-11-09 Symantec Operating Corporation Propagating results of a volume-changing operation to replicated nodes
US7200726B1 (en) * 2003-10-24 2007-04-03 Network Appliance, Inc. Method and apparatus for reducing network traffic during mass storage synchronization phase of synchronous data mirroring
US7596672B1 (en) 2003-10-24 2009-09-29 Network Appliance, Inc. Synchronous mirroring including writing image updates to a file
US7203796B1 (en) 2003-10-24 2007-04-10 Network Appliance, Inc. Method and apparatus for synchronous data mirroring
JP2005157712A (ja) * 2003-11-26 2005-06-16 Hitachi Ltd リモートコピーネットワーク
JP4319017B2 (ja) * 2003-12-02 2009-08-26 株式会社日立製作所 ストレージシステムの制御方法、ストレージシステム、及び記憶装置
US20050223122A1 (en) * 2004-03-31 2005-10-06 Brown Mark L Integrated circuit capable of remote data storage
US7707372B1 (en) * 2004-06-30 2010-04-27 Symantec Operating Corporation Updating a change track map based on a mirror recovery map
JP2006252239A (ja) * 2005-03-11 2006-09-21 Fujitsu Ltd ファイル制御装置
US7370235B1 (en) * 2005-09-29 2008-05-06 Emc Corporation System and method for managing and scheduling recovery after a failure in a data storage environment
CN101313279A (zh) * 2005-10-14 2008-11-26 塞门铁克操作公司 一种在数据存储器中用于时间线压缩的技术
US9009114B1 (en) * 2005-10-31 2015-04-14 Symantec Operating Corporation Version mapped incremental backups
US7680825B2 (en) * 2005-12-30 2010-03-16 Sap Ag Systems and methods for generating tenant-specific properties for use in a provider-tenant environment
US20070156901A1 (en) * 2005-12-30 2007-07-05 Wolfgang Becker Generation and use of table links in a provider-tenant environment
US7698284B2 (en) * 2005-12-30 2010-04-13 Sap Ag Systems and methods for deploying a tenant in a provider-tenant environment
US20070156902A1 (en) * 2005-12-30 2007-07-05 Becker Wolfgang A Systems and methods for implementing a tenant space in a provider-tenant environment
US20070156849A1 (en) * 2005-12-30 2007-07-05 Wolfgang Becker Systems and methods for delivering software upgrades in a provider-tenant environment
US7917607B2 (en) * 2005-12-30 2011-03-29 Sap Ag Software management systems and methods, including use of such systems and methods in a provider-tenant environment
US7693851B2 (en) * 2005-12-30 2010-04-06 Sap Ag Systems and methods for implementing a shared space in a provider-tenant environment
US7689593B2 (en) 2005-12-30 2010-03-30 Sap Ag Systems and methods for accessing a shared space in a provider-tenant environment
US7685371B1 (en) * 2006-04-19 2010-03-23 Nvidia Corporation Hierarchical flush barrier mechanism with deadlock avoidance
US20080028173A1 (en) * 2006-07-26 2008-01-31 Microsoft Corporation Soft media changer
US7500070B2 (en) * 2006-08-23 2009-03-03 Lsi Corporation Methods and apparatus for improved RAID 1 mirror re-synchronization
US7933869B2 (en) * 2006-12-29 2011-04-26 Sap Ag Method and system for cloning a tenant database in a multi-tenant system
US7739348B2 (en) 2006-12-29 2010-06-15 Sap Ag Systems and methods for accessing a shared space in a provider-tenant environment by using middleware
US8069184B2 (en) * 2006-12-29 2011-11-29 Sap Ag Systems and methods to implement extensibility of tenant content in a provider-tenant environment
US20080162587A1 (en) * 2006-12-29 2008-07-03 Ulrich Auer Server synchronization for maintenance activities
US20080162536A1 (en) * 2006-12-29 2008-07-03 Becker Wolfgang A Systems and methods for extending shared data structures with tenant content in a provider-tenant environment
US20080162483A1 (en) * 2006-12-29 2008-07-03 Becker Wolfgang A Methods and systems for protecting shared tables against unauthorized overwriting from a tenant space in a mega-tenancy environment
US20080162490A1 (en) * 2006-12-29 2008-07-03 Becker Wolfgang A Methods and systems for automatic registration during deployment of a tenant
US20080162509A1 (en) * 2006-12-29 2008-07-03 Becker Wolfgang A Methods for updating a tenant space in a mega-tenancy environment
WO2008121873A1 (en) * 2007-03-29 2008-10-09 Vmware, Inc. Synchronization and customization of a clone computer
US8001307B1 (en) 2007-04-27 2011-08-16 Network Appliance, Inc. Apparatus and a method to eliminate deadlock in a bi-directionally mirrored data storage system
US7814361B2 (en) * 2007-10-12 2010-10-12 Dell Products L.P. System and method for synchronizing redundant data in a storage array
US7475280B1 (en) * 2008-02-24 2009-01-06 International Business Machines Corporation Active-active server for high availability of data replication management application
US8499137B2 (en) * 2010-03-12 2013-07-30 Lsi Corporation Memory manager for a network communications processor architecture
US9461930B2 (en) 2009-04-27 2016-10-04 Intel Corporation Modifying data streams without reordering in a multi-thread, multi-flow network processor
US8656124B2 (en) * 2009-09-01 2014-02-18 International Business Machines Corporation Managing backup relationships in a data storage system
US8224828B2 (en) * 2009-12-22 2012-07-17 Sap Ag Multi-client generic persistence for extension fields
US8688880B2 (en) * 2010-06-23 2014-04-01 International Business Machines Corporation Centralized serialization of requests in a multiprocessor system
US8812445B2 (en) * 2010-09-24 2014-08-19 Hitachi Data Systems Corporation System and method for managing scalability in a distributed database
JP5702652B2 (ja) * 2011-04-05 2015-04-15 日本電信電話株式会社 メモリ同期方法及び運用系の仮想マシン及び待機系の仮想マシン及びメモリ同期プログラム
JP5702651B2 (ja) * 2011-04-05 2015-04-15 日本電信電話株式会社 仮想マシン同期方法及びシステム及び運用系の仮想マシン及びプログラム
US8874680B1 (en) 2011-11-03 2014-10-28 Netapp, Inc. Interconnect delivery process
JP5891890B2 (ja) * 2012-03-26 2016-03-23 富士通株式会社 ストレージシステム、ストレージ装置およびデータ復元方法
US8935502B2 (en) * 2012-12-21 2015-01-13 Red Hat, Inc. Synchronous management of disk flush requests
US10162873B2 (en) 2012-12-21 2018-12-25 Red Hat, Inc. Synchronization of physical disks
KR102107123B1 (ko) * 2014-01-28 2020-05-06 현대엠엔소프트 주식회사 내비게이션 자동 업데이트 장치 및 방법
WO2016077570A1 (en) 2014-11-13 2016-05-19 Virtual Software Systems, Inc. System for cross-host, multi-thread session alignment
US9626111B1 (en) * 2016-01-07 2017-04-18 International Business Machines Corporation Sequential write of random workload in mirrored performance pool environments
US11310137B2 (en) 2017-02-05 2022-04-19 Veritas Technologies Llc System and method to propagate information across a connected set of entities irrespective of the specific entity type
US10909097B2 (en) 2017-02-05 2021-02-02 Veritas Technologies Llc Method and system for dependency analysis of workloads for orchestration
CN110413200B (zh) * 2018-04-28 2023-06-09 伊姆西Ip控股有限责任公司 数据同步的方法、设备和计算机程序产品
JP7259537B2 (ja) * 2019-05-16 2023-04-18 オムロン株式会社 情報処理装置
US11853575B1 (en) 2019-06-08 2023-12-26 Veritas Technologies Llc Method and system for data consistency across failure and recovery of infrastructure
CN110275680B (zh) * 2019-06-24 2020-12-01 浙江大华技术股份有限公司 一种双控双活存储系统
US11531604B2 (en) 2020-02-28 2022-12-20 Veritas Technologies Llc Methods and systems for data resynchronization in a replication environment
US11429640B2 (en) 2020-02-28 2022-08-30 Veritas Technologies Llc Methods and systems for data resynchronization in a replication environment
US11928030B2 (en) 2020-03-31 2024-03-12 Veritas Technologies Llc Optimize backup from universal share
CN115082228A (zh) * 2021-03-10 2022-09-20 上海子午线新荣科技有限公司 一种初次镜像和增量传输的数据方式

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0306244B1 (en) 1987-09-04 1995-06-21 Digital Equipment Corporation Fault tolerant computer system with fault isolation
US5295258A (en) 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5390313A (en) 1990-09-24 1995-02-14 Emc Corporation Data storage system with data mirroring and reduced access time data retrieval
US5633999A (en) 1990-11-07 1997-05-27 Nonstop Networks Limited Workstation-implemented data storage re-routing for server fault-tolerance on computer networks
US5487160A (en) 1992-12-04 1996-01-23 At&T Global Information Solutions Company Concurrent image backup for disk storage system
US5623595A (en) 1994-09-26 1997-04-22 Oracle Corporation Method and apparatus for transparent, real time reconstruction of corrupted data in a redundant array data storage system
US5588110A (en) 1995-05-23 1996-12-24 Symbios Logic Inc. Method for transferring data between two devices that insures data recovery in the event of a fault
US5857208A (en) * 1996-05-31 1999-01-05 Emc Corporation Method and apparatus for performing point in time backup operation in a computer system
US5787485A (en) 1996-09-17 1998-07-28 Marathon Technologies Corporation Producing a mirrored copy using reference labels
US5862314A (en) * 1996-11-01 1999-01-19 Micron Electronics, Inc. System and method for remapping defective memory locations
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US6260125B1 (en) * 1998-12-09 2001-07-10 Ncr Corporation Asynchronous write queues, reconstruction and check-pointing in disk-mirroring applications
US6338126B1 (en) * 1999-12-06 2002-01-08 Legato Systems, Inc. Crash recovery without complete remirror
US6487636B1 (en) * 2000-04-24 2002-11-26 Hewlett-Packard Co. Method and apparatus for mapping data in a heterogeneous disk array storage system
US6941490B2 (en) * 2000-12-21 2005-09-06 Emc Corporation Dual channel restoration of data between primary and backup servers
US6681339B2 (en) * 2001-01-16 2004-01-20 International Business Machines Corporation System and method for efficient failover/failback techniques for fault-tolerant data storage system

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011222030A (ja) * 2004-02-04 2011-11-04 Sandisk Corp デュアルメディアストレージデバイス
JP2007200085A (ja) * 2006-01-27 2007-08-09 Nec Corp データ複製システムおよびデータ複製方法
JP2007200086A (ja) * 2006-01-27 2007-08-09 Nec Corp データ複製システムおよびデータ複製方法
JP2010146450A (ja) * 2008-12-22 2010-07-01 Fujitsu Ltd ストレージスイッチ、ストレージシステム、データコピー方法
JP4615595B2 (ja) * 2008-12-22 2011-01-19 富士通株式会社 ストレージスイッチ、ストレージシステム、データコピー方法
JP2015210664A (ja) * 2014-04-25 2015-11-24 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、プログラムおよび記憶媒体
JP2021515926A (ja) * 2018-03-06 2021-06-24 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 複数のデータ・ストレージ・システムにおける同期されたセーフ・データ・コミット・スキャン
JP7184909B2 (ja) 2018-03-06 2022-12-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数のデータ・ストレージ・システムにおける同期されたセーフ・データ・コミット・スキャン

Also Published As

Publication number Publication date
WO2003077128A1 (en) 2003-09-18
EP1481324A4 (en) 2006-09-13
EP1481324B1 (en) 2008-01-16
DE60318687D1 (de) 2008-03-06
DE60318687T2 (de) 2009-01-15
US6728898B2 (en) 2004-04-27
JP4472995B2 (ja) 2010-06-02
EP1481324A1 (en) 2004-12-01
US20030172316A1 (en) 2003-09-11

Similar Documents

Publication Publication Date Title
JP4472995B2 (ja) 増分不一致を使用するミラーコピーの生成方法
US7194487B1 (en) System and method for recording the order of a change caused by restoring a primary volume during ongoing replication of the primary volume
US6742138B1 (en) Data recovery method and apparatus
JP4261800B2 (ja) クライアントサーバー環境における差分バックアップシステムの管理方法
JP4624829B2 (ja) データバックアップシステム及び方法
JP4108074B2 (ja) 多重リモートストレージでのデータ同期
US5325519A (en) Fault tolerant computer with archival rollback capabilities
US7987158B2 (en) Method, system and article of manufacture for metadata replication and restoration
US7310743B1 (en) Data recovery method and apparatus
US6990611B2 (en) Recovering data from arrays of storage devices after certain failures
EP2161661B1 (en) Computer system and backup method therefor
US6701455B1 (en) Remote copy system with data integrity
US20060106891A1 (en) Managing atomic updates on metadata tracks in a storage system
US20070180000A1 (en) Storage apparatus and storage system
JP5669823B2 (ja) チェンジトラッキングを用いたシステムリカバリ方法
JPH07239799A (ja) 遠隔データ・シャドーイングを提供する方法および遠隔データ二重化システム
JP2006023889A (ja) リモートコピーシステム及び記憶装置システム
JPH07244597A (ja) 災害復旧機能を提供するために整合性グループを形成する方法および関連するシステム
US6073221A (en) Synchronization of shared data stores through use of non-empty track copy procedure
JPH07262068A (ja) 同時更新及び複写手順を通して重複データベースを回復させる方法及び装置
US7620786B2 (en) Storage recovery using a delta log
US8010758B1 (en) System and method for performing secondary site synchronization based on a single change map
JP2001344076A (ja) ディスクアレイ装置
US20030088592A1 (en) Method for backup and storage system
WO2015104835A1 (ja) データベースシステムの制御方法及びデータベースシステム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060306

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060306

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090119

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090420

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090717

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091225

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

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

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

Free format text: PAYMENT UNTIL: 20130312

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4472995

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140312

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term