JP4644684B2 - 仮想化を用いるリモート・コピーの一貫性の維持(ストレージをコピーする方法およびシステム) - Google Patents

仮想化を用いるリモート・コピーの一貫性の維持(ストレージをコピーする方法およびシステム) Download PDF

Info

Publication number
JP4644684B2
JP4644684B2 JP2006548309A JP2006548309A JP4644684B2 JP 4644684 B2 JP4644684 B2 JP 4644684B2 JP 2006548309 A JP2006548309 A JP 2006548309A JP 2006548309 A JP2006548309 A JP 2006548309A JP 4644684 B2 JP4644684 B2 JP 4644684B2
Authority
JP
Japan
Prior art keywords
data
unit
consistency group
storage
physical storage
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
JP2006548309A
Other languages
English (en)
Other versions
JP2007518174A5 (ja
JP2007518174A (ja
Inventor
シャックルフォード、デビッド、マイケル
マクブライド、グレゴリー、エドワード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2007518174A publication Critical patent/JP2007518174A/ja
Publication of JP2007518174A5 publication Critical patent/JP2007518174A5/ja
Application granted granted Critical
Publication of JP4644684B2 publication Critical patent/JP4644684B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/16Protection against loss of memory contents
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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
    • 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/2064Error 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 while ensuring consistency
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Liquid Developers In Electrophotography (AREA)
  • Filling Or Discharging Of Gas Storage Vessels (AREA)
  • Pharmaceuticals Containing Other Organic And Inorganic Compounds (AREA)
  • Non-Silver Salt Photosensitive Materials And Non-Silver Salt Photography (AREA)
  • Curing Cements, Concrete, And Artificial Stone (AREA)

Description

本発明の開示は、仮想化を用いる非同期リモート・コピーの一貫性を維持する方法、システム及びプログラムに関する。
ストレージ・システムを含む情報技術システムは、サイト災害(disaster)または停止からの保護を必要とする場合がある。更に、情報技術システムは、データ移行、データ・バックアップまたはデータ複製の機能を必要とする場合がある。災害または停止リカバリ、データ・マイグレーション(移行)、データ・バックアップ及びデータ複製の実施は、ストレージ・システムにおけるデータのミラーリングまたはコピーを含む場合がある。ある情報技術システムでは、データは主ストレージ制御部から補助ストレージ制御部へコピーされる。利用できない主ストレージ制御部に応答して、補助ストレージ制御部を用いて、利用できない主ストレージ制御部の代りにする(置き換える)ことができる。
情報技術システムにおけるデータのコピーを同期または非同期にすることができる。同期コピーは主ストレージ制御部から補助ストレージ制御部へデータを送信し、このようなデータの受信を前もって確認した後、主ストレージ制御部への書き込み動作を完了することを含む。従って、同期コピーは、補助ストレージ制御部からの確認を待機する間、書き込み動作応答時間を遅くする。しかし、同期コピーは、連続して一貫性のある(consistent)データを補助ストレージ制御部に供給する。
送信されたデータの受信が補助ストレージ制御部から確認される前に主ストレージ制御部への書き込み動作を完了することができるので、非同期コピーは同期コピーよりも良い性能を備えることができる。しかし、補助ストレージ制御部で受信されたデータが、主ストレージ制御部への更新すなわち書き込み動作の順序になっていないおそれがあるので、データの連続一貫性を確実にしなければならない。非同期コピーでは、補助ストレージ制御部と関連する補助ストレージに適用するために一連の一貫した最新情報を利用できるまで、ジャーナル・データセットのような固まった位置に最新情報を一時的に格納することにより主ストレージ制御部と補助ストレージ制御部との間の装置間の一貫性を達成することができる。
本発明は、ストレージをコピーする方法、システム及びプログラムを提供し、第1ユニットが第2ユニットからデータ最新情報を受信する。第1ユニットと関連する複数の物理ストレージ位置にデータ最新情報が格納される。第1ユニットと第2ユニットとの間で一貫性のあるデータを得るため、複数の物理ストレージ位置(location)の少なくとも1つとリンクが生成される。
追加の実施形態では、第1ユニットが、補助ストレージに結合されている補助ストレージ制御部であり、第2ユニットが、主ストレージに結合されている主ストレージ制御部であり、複数の物理ストレージ位置が補助ストレージと関連し、データ最新情報が第1ユニットで非同期に受信される。
更なる実施形態では、受信されたデータが、第1ユニットと関連する複数の物理ストレージ位置に1度だけ格納され、その後のデータ最新情報を格納するのに用いるため、リンクされていない物理ストレージ位置が解放される。
更なる追加の実施形態では、アプリケーションが入力/出力要求を第2ユニットに送信し、データ最新情報がアプリケーションからの出力要求に対応し、データ最新情報が第1ユニットに1度だけ格納され、いずれかの時点でアプリケーションからの入力/出力要求に応答して第1ユニットが第2ユニットの代わりになることができ、第1及び第2ユニットのデータがいずれの時点でも一貫する。
その上更なる実施形態では、格納されたデータ最新情報が、リンクを生成する前にコンシステンシ・グループ(consistency group)を形成しているか判断する。格納されたデータ最新情報がコンシステンシ・グループを形成していないことに応答して、次のデータ最新情報を受信するのを待機する。
更なる追加の実施形態では、格納されたデータ最新情報が、リンクを生成する前にコンシステンシ・グループを形成しているか判断する。コンシステンシ・グループをコミットする少なくとも1つの物理ストレージ位置を決定し、第1ユニットと関連する仮想ストレージが、決定された少なくとも1つの物理ストレージ位置にリンクする。
更なる実施形態では、仮想ストレージ位置を複数の物理ストレージ位置の少なくとも1つにマッピングするデータ構造が維持され、生成されたリンクがデータ構造と関連し、複数のアプリケーションが仮想ストレージ位置で入力/出力動作を実行することができる。
追加の実施形態では、データ最新情報に対応するコンシステンシ・グループを表すデータ構造が維持され、維持されたデータ構造が複数の物理ストレージ位置を指し示すことができる。第1コンシステンシ・グループと関連する第1データ最新情報がコミットされていることに応答して、第1コンシステンシ・グループを表す第1データ構造が削除される。
更なる実施形態では、データ最新情報の待機に応答して第1ユニットでエラーが受信される。第1ユニットと第2ユニットとの間で一貫性のあるデータを反映するように、生成されたリンクが変更される。
特定の実施形態は、仮想ストレージ・システムを用いて非同期リモート・コピーの一貫性を達成する。複製(レプリカ生成)管理アプリケーションは、受信されたが他のストレージ制御部と関連するデータと一貫性をまだ持っていないデータを未使用の物理ストレージに書き込む。一貫性を得るのに必要なデータが受信されたことに応答して、仮想化テーブルを正しい補助位置で更新して、データが書き込まれた物理ストレージ内の位置を指し示すことができる。特定の実施形態では、補助ストレージ制御部で受信したデータを、補助ストレージ制御部と関連する物理ストレージに1度だけ書き込むことができる。
図面に関して、図中、同一の符号は対応する部分を表す。
以下の説明では、本明細書の一部を形成し、幾つかの実施形態を示す添付図面について述べる。当然のことながら、他の実施形態を用いることができ、本発明の実施範囲から逸脱することなく、構造上及び操作上の変更を行うことができる。
図1には、本発明の特定態様に従うコンピュータ環境のブロック図を示す。主ストレージ制御部100は補助ストレージ制御部102に結合されている。1つ以上のアプリケーションを含むアプリケーション・システム104は、書き込み動作を含む主ストレージ制御部100へのI/O動作を実行することができる。特定の実施形態では、アプリケーション・システム104は、ホスト・バス・アダプタを介して主ストレージ制御部100に結合されているホスト計算装置内に存在することができる。
主ストレージ制御部100及び補助ストレージ制御部102はそれぞれ主ストレージ106及び補助ストレージ108へデータを格納(store)し、そこからデータを取り出す。主ストレージ106は主ストレージ制御部100に結合され、補助ストレージ108は補助ストレージ制御部102に結合されている。更に、主ストレージ制御部100及び補助ストレージ制御部102はそれぞれ主ストレージ106及び補助ストレージ108の動作を制御することができる。主ストレージ106及び補助ストレージ108は、ハード・ディスク・ドライブ、RAID、直接アクセス記憶装置または他の種類の物理ストレージのような不揮発性ストレージを含むことができる。
特定の実施形態では、主ストレージ制御部100を操作可能にしないことができ、補助ストレージ制御部102と関連するデータを処理のためにリカバリ・システム110により用いることができる。本発明の実施形態では、補助ストレージ制御部102と関連するデータは、主ストレージ制御部100と関連するデータとの一貫性が維持されている。一貫性は複製(レプリカ生成)管理アプリケーション112により維持される。
複製管理アプリケーション112は主ストレージ制御部100及び補助ストレージ制御部102に結合され、特定の実施形態では、主ストレージ制御部100から補助ストレージ制御部102へデータをミラーリングすることができる。幾つかの実施形態では、主ストレージ制御部100から補助ストレージ制御部102へデータを非同期にコピーすることによりミラーリングを実行することができる。
特定の実施形態では、複製管理アプリケーション112を主ストレージ制御部100及び補助ストレージ制御部102にわたって広げる(spread)ことができる。他の実施形態では、複製管理アプリケーション112は、主ストレージ制御部100及び補助ストレージ制御部102と異なる別個のシステムに存在することができる。更なる追加の実施形態では、複製管理アプリケーション112は、主ストレージ制御部100及び補助ストレージ制御部102の1つだけに存在することができる。
特定の実施形態では、複製管理アプリケーション112は、アプリケーション・システム104から受信されたデータ最新情報(data update)の一貫性を維持し、データ最新情報は、主ストレージ制御部100から補助ストレージ制御部102へ非同期にコピーされる。複製管理アプリケーション112は、補助ストレージ制御部102に結合されている補助ストレージ108の仮想化を実行して、主ストレージ制御部100及び補助ストレージ制御部102にわたってデータの一貫性を維持することができる。特定の実施形態では、仮想化(virtualization)は、仮想ボリュームへ物理的な補助ストレージ108をマッピングすることを含む。
従って、図1には、複製管理アプリケーション112が補助ストレージ制御部102を仮想化し、主ストレージ制御部100及び補助ストレージ制御部102にわたってデータの一貫性を維持し、データは主ストレージ制御部100から補助ストレージ制御部102へ非同期にコピーされる一実施形態を示す。
図2には、本発明の特定の記載されている実施形態に従い、複製管理アプリケーション112及び補助ストレージ制御部102に関連するデータ構造及び装置のブロック図を示す。
補助ストレージ制御部102は、1つ以上のアプリケーション204a...204mから主ストレージ制御部100への書き込み動作の結果として生成されたデータ最新情報200を受信することができ、1つ以上のアプリケーション204a...204mはアプリケーション・システム104を構成することができる。特定の実施形態では、アプリケーション・システム104からのデータ最新情報200は、主ストレージ制御部100を介して補助ストレージ制御部102に非同期に到着し、データ最新情報200はデータ最新情報ストリームと称することができる。
複製管理アプリケーション112は、補助ストレージ制御部102と関連する仮想ボリューム206a...206nのような1つ以上の仮想装置を生成する。主ストレージ制御部100は、仮想ボリューム206a...206nに対応する仮想ボリュームをも有することができる。特定の実施形態では、仮想ボリューム206a...206nに対応するデータは、物理的な補助ストレージ108内の位置に格納されている。物理的な補助ストレージ108内の位置への仮想ボリューム206a...206nのマッピングを、補助ストレージ制御部102と関連する仮想化テーブル208内に格納することができる。特定の実施形態では、仮想化テーブル208を仮想ボリューム206a...206nに結合することができる。
アプリケーション・システム104は、主ストレージ制御部100と関連する仮想ボリュームに関してI/O動作を実行し、また、対応の仮想ボリューム206a...206nは補助ストレージ制御部102と関連する。
特定の実施形態では、複製管理アプリケーション112は、コンシステンシ・グループ判断アプリケーション210と、コンシステンシ・グループ212に対応する関連のデータ構造とを含むことができる。
従って、図2には、複製管理アプリケーション112が補助ストレージ制御部102を仮想化し、主ストレージ制御部100及び補助ストレージ制御部102にわたってデータの一貫性を維持する一実施形態を記述する。
図3には、本発明の特定の記載されている実施に従い、複製管理アプリケーション112により生成された例示的なコンシステンシ・グループのブロック図を示す。
コンシステンシ・グループは、最新情報が複数のストレージ・ボリュームに及ぶことができる一連の最新情報である。複数のストレージ・ボリュームの各ストレージ・ボリュームに含まれるデータ間の相互のデータ一貫性を維持するため、最新情報を一緒に書き込む必要がある。限定されない例を示すため、第1コマンドは、主ストレージ制御部100と関連するボリュームA1を、補助ストレージ制御部102と関連するボリュームB1にコピーし、第2コマンドは、主ストレージ制御部と関連するボリュームA2を、補助ストレージ制御部と関連するボリュームB2にコピーする。ボリュームB1及びB2が、特定の時点において、ボリュームA1及びA2内のデータセットの一貫した状態を表すことが必要とされる。ボリュームに関する特定の一連の動作では、アプリケーション・システム104による下記の一連の依存する書き込み動作が生じる場合がある(第2動作は、第1動作の後に生じる)。すなわち、
1. ボリュームA1のデータセットへ書き込む(データが更新された)

2. ボリュームA2のデータセットへ書き込む(データが更新された)
データ最新情報200を介してボリュームA1及びA2をそれぞれボリュームB1及びB2に非同期にコピーする場合、一連の動作の下記の限定されない例が、ボリュームA1,A2に対して一貫性のない状態をボリュームB1,B2に生成するおそれがある。
1. ボリュームA1をボリュームB1にコピーする
2. ボリュームA1のデータセットへ書き込む(データが更新された)
3. ボリュームA2のデータセットへ書き込む(データが更新された)
4. ボリュームA2をボリュームB2にコピーする
すべてのコピー動作の終わりに、すなわち、4番目の動作の終わりに、ボリュームB2がボリュームA2のデータ最新情報を含むのに対して、ボリュームB1はボリュームA1のデータ最新情報を含まない。ボリュームB1,B2のセットは、ボリュームA1,A2のセットに対して一貫性のない状態にある。補助ストレージ制御部102と関連するボリュームB1,B2を用いるアプリケーション204a...204mは、ボリュームB1,B2に格納されているバックアップ・コピーから回復することができない。
従って、一連のデータ最新情報のすべてが、一貫性のあるデータ最新情報セットを形成できるとは限らない。図3では、テーブル300の行は異なる装置を表し、列は異なる時間を表す。時間は相対時間であって、絶対時間ではない。例えば、t3(符号306)はt2(符号304)の後の時間であり、t2(符号304)はt1(符号302)の後の時間である。テーブル300の本体の文字及び番号の組み合わせは、一度に装置への最新情報を特定(識別)する。文字はアプリケーションを特定し、番号はアプリケーションに対する一連の最新情報を特定する。例えば、B1(符号308)は、Bと指定されたアプリケーションからの第1のデータ最新情報であり、最新情報は装置D3(符号310)に対するものであり、相対時間t1(符号302)に到着する。テーブル300のエントリの異なる陰影付けは、データの一貫した最新情報セットを特定し、必ずしもテーブルのエントリの垂直部分だけとは限らない場合がある。例えば、テーブル300は3つのコンシステンシ・グループ312,314,316を有する。主制御部100と関連するデータとの一貫性を維持するため、補助制御部102と関連するデータに対してコンシステンシ・グループの最新情報データを補助制御部102に同時に加える必要がある場合がある。テーブル300のコンシステンシ・グループ312,314,316の判断(determination)を、当該技術分野で既知である何らかの方法で実行することができる。
従って、図3には、主ストレージ制御部100から補助ストレージ制御部102に非同期に到着するデータ最新情報ストリーム200を処理することによって、複製管理アプリケーション112により生成できる例示的なコンシステンシ・グループ312,314,316の一実施形態を示す。主ストレージ制御部100とのデータ一貫性を維持するため、まず、コンシステンシ・グループを判断及びコミットし、次に、補助ストレージ制御部102の仮想ボリューム206a...206nにポインタまたはリンクを介してコンシステンシ・グループのデータ最新情報を反映する。
図4には、本発明の特定の記載されている実施形態に従い、補助ストレージ制御部102で実施されるような仮想化を用いて一貫性を維持するロジックを示す。
制御はブロック400で開始し、ブロック400では、複製管理アプリケーション112が、補助ストレージ制御部102と関連する仮想ボリューム206a...206nに対応する仮想化テーブル208を生成し、仮想化テーブル208は物理ストレージ108内の位置を指し示し、仮想ボリューム206a...206nの一貫したデータ内容を定義することができる。仮想ボリューム206a...206nのデータ内容の一貫性は、主ストレージ制御部100と関連するデータ内容に関する。
(ブロック402では、)複製管理アプリケーション112は、補助ストレージ制御部102と関連する仮想ボリューム206a...206nに対するデータ最新情報200を受信する。例えば、特定の実施形態では、データ最新情報200をデータ最新情報B1(符号308)とすることができる。
(ブロック404では、)複製管理アプリケーション112はデータ最新情報200を未使用の物理ストレージに書き込む。例えば、複製管理アプリケーション112はデータ最新情報200を補助ストレージ108の未使用の位置に書き込むことができる。
(ブロック406では、)コンシステンシ・グループ312,314,316のようなコンシステンシ・グループ212に対してすべてのデータ最新情報が受信されたかを複製管理アプリケーション112が判断する。受信されたならば、(ブロック408で)複製管理アプリケーション112は仮想化テーブル208を更新して、コンシステンシ・グループ212に含まれるデータ最新情報のコミットメントを定義する物理ストレージ108内の位置を指し示す。更新された仮想化テーブル208は、仮想ボリューム206a...206nと関連する新たなデータを定義する。従って、補助ストレージ制御部102の仮想ボリューム206a...206nと関連するデータは、主ストレージ制御部100と関連するデータとの一貫性を有する。
(ブロック410では、)複製管理アプリケーション112は、仮想化テーブル208の更新結果として、物理ストレージ108内のスペースを開放する。例えば、ブロック404において実行された未使用の物理ストレージに書き込まれた特定のデータ最新情報200を必要としない場合があり、これらを開放することができる。(ブロック402で)複製管理アプリケーション112は、次のデータ最新情報200を受信する。
コンシステンシ・グループ312,314,316のようなコンシステンシ・グループ212に対してすべてのデータ最新情報が受信されなかったと(ブロック406で)複製管理アプリケーション112が判断すれば、(ブロック402で)複製管理アプリケーション112は、次のデータ最新情報200を受信する。
従って、図4には、複製管理アプリケーション112がすべてのデータ最新情報200を未使用の物理ストレージ108内の位置に書き込み、コンシステンシ・グループ212を判断した後、仮想化テーブル208を更新して、特定数の書き込まれたデータ最新情報を指し示すことにより、特定数の書き込まれたデータ最新情報だけを固める(harden)ことができる特定の実施形態を示す。書き込まれたデータ最新情報をコピーする必要はない。
図5は、本発明の特定の記載されている実施に従う例示的な実施形態におけるデータ構造の第1状態を示すブロック図である。図5では、原(オリジナル)データは補助ストレージ制御部102と関連し、第1及び第2コンシステンシ・グループに対応するデータ最新情報は補助ストレージ制御部102に到着しているが、コミットされていない。
図5には、物理ストレージ108のような例示的なディスク500の線形表現を示す。例示的なディスク500は10個の物理ブロックを有し、第1物理ブロックは、ディスク500内の原データの一部であり、VB1と指定された第1仮想ブロック(VB)を含む。データ最新情報200が到着し、異なるコンシステンシ・グループ(CG)と関連すると、データ最新情報はディスク500内に書き込まれる。例えば、第2コンシステンシ・グループ(CG2)の一部である第4仮想ブロック(VB4)に対するデータ最新情報200が物理ブロック5に書き込まれる。仮想ブロックは仮想ボリューム206a...206nに対応する。
また、図5は、ディスク500内の原データの物理ブロックを指し示す現在のデータ・ポインタ502と、第1コンシステンシ・グループを含むデータ最新情報に対応する物理ブロックを指し示す第1コンシステンシ・グループ・ポインタ504と、第2コンシステンシ・グループを含むデータ最新情報に対応する物理ブロックを指し示す第2コンシステンシ・グループ・ポインタ506とを示している。
ポインタ502,504,506に対応する物理ブロックに対する仮想ブロックを表すテーブルも維持される。例えば、現在のデータ・ポインタ・テーブル508は、ディスク500内の物理ブロックへの仮想ブロックの現在のマッピングを示している。現在のデータ・ポインタ・テーブル508のマッピングは、固められ、またはコミットされたデータ、すなわち、主ストレージ制御部100及び補助ストレージ制御部102にわたって一貫性のあるデータを示している。補助ストレージ制御部102と関連するデータにアクセスするアプリケーション204a...204nは、現在のデータ・ポインタ502により指し示されているデータを用いて動作する。
第1コンシステンシ・グループ・ポインタ・テーブル510は、第1コンシステンシ・グループの一部を形成するデータ最新情報に対するディスク500内の物理ブロックへの仮想ブロックのマッピングを示している。第1コンシステンシ・グループ・ポインタ・テーブル510に表されているデータは、まだコミットされていない第1コンシステンシ・グループとして固められていない。
同様に、第2コンシステンシ・グループ・ポインタ・テーブル512は、第2コンシステンシ・グループの一部を形成するデータ最新情報に対するディスク500内の物理ブロックへの仮想ブロックのマッピングを示している。第2コンシステンシ・グループ・ポインタ・テーブル512に表されているデータは、まだコミットされていない第2コンシステンシ・グループとして固められていない。
従って、図5には、第1及び第2コンシステンシ・グループに対するデータ最新情報200が補助ストレージ制御部102に到着してはいるが、コミットされていない一実施形態における第1状態のデータ構造を示す。
図6は、本発明の特定の記載されている実施に従う例示的な実施形態におけるデータ構造の第2状態を示すブロック図である。図6では、第1コンシステンシ・グループ・ポインタ・テーブル510に対応するデータ最新情報200は固められている。すなわち、第1コンシステンシ・グループがコミットされ、第3コンシステンシ・グループに対応するコミットされていないデータ最新情報200は補助ストレージ制御部102に到着している。
図6には、ディスク500内の原データの物理ブロックを指し示す更新された現在のデータ・ポインタ502と、コミットされていない第2コンシステンシ・グループを含むデータ最新情報に対応する物理ブロックを指し示す第2コンシステンシ・グループ・ポインタ506と、第3コンシステンシ・グループを含むコミットされていないデータ最新情報に対応する物理ブロックを指し示す新しい第3コンシステンシ・グループ・ポインタ600とを示す。
ポインタ502,506,510にマッピングする物理ブロックに対する仮想ブロックを表すテーブルも維持される。例えば、現在のデータ・ポインタ・テーブル508は、ディスク500内の物理ブロックへの仮想ブロックの現在のマッピングを示している。現在のデータ・ポインタ・テーブル508におけるマッピングは、第1コンシステンシ・グループのデータ最新情報200がコミットされた後に固められ、またはコミットされたデータを示している。
第3コンシステンシ・グループ・ポインタ・テーブル602は、第3コンシステンシ・グループの一部を形成するデータ最新情報に対するディスク500内の物理ブロックへの仮想ブロックのマッピングを示している。第2コンシステンシ・グループ・ポインタ・テーブル512または第3コンシステンシ・グループ・ポインタ・テーブル602に表されているデータは、まだコミットされていない第2及び第3コンシステンシ・グループとして固められていない。図6では、第1コンシステンシ・グループに対するデータ最新情報がコミットされたので、第1コンシステンシ・グループ・ポインタ・テーブル510は削除されている。
従って、図6には、第1、第2及び第3コンシステンシ・グループに対するデータ最新情報200が補助ストレージ制御部102に到着し、第1コンシステンシ・グループのデータ最新情報のみコミットされている一実施形態を示す。
図7は、本発明の特定の記載されている実施に従う例示的な実施形態におけるデータ構造の第3状態を示すブロック図である。図7では、第2及び第3コンシステンシ・グループに対応するデータ最新情報200はコミットされている。
第1、第2及び第3コンシステンシ・グループのデータ最新情報がコミットされているので、第1コンシステンシ・グループ・ポインタ・テーブル510、第2コンシステンシ・グループ・ポインタ・テーブル512及び第3コンシステンシ・グループ・ポインタ・テーブル602はすべて削除されて示されている。現在のデータ・ポインタはディスク500の物理ブロック5,6,8,9を指し示し、仮想ブロックVB4、VB2、VB1及びVB3にそれぞれ対応する。
従って、図7には、第1、第2及び第3コンシステンシ・グループに対するデータ最新情報200が補助ストレージ制御部102に到着し、すべてのデータ最新情報がコミットされている一実施形態を示す。
図8には、本発明の特定の記載されている実施形態に従い、複製管理アプリケーション112で実施される一貫性の維持及び災害(disaster)リカバリのためのロジックを示す。
制御はブロック800で開始し、ブロック800では、現在のコンシステンシ・グループを1に初期化する。(ブロック802では、)すべてのストレージ制御部すなわち主ストレージ制御部100及び補助ストレージ制御部102が現在のコンシステンシ・グループのデータ最新情報を受信したかを複製管理アプリケーション112が判断する。受信したならば、(ブロック804で)複製管理アプリケーション112は現在のコンシステンシ・グループのデータ最新情報をコミットし、すべてのストレージ制御部に対して、現在のポインタを現在のコンシステンシ・グループのデータ最新情報に設定する。特定の実施形態では、仮想化テーブル208と関連するデータ構造、または、ポインタ・テーブル508,510,512,602あるいはその両方を介して現在のポインタを実装することができる。
(ブロック806では、)すべてのポインタが更新されたかを複製管理アプリケーション112が判断する。更新されたならば、(ブロック808で)複製管理アプリケーション112は現在のコンシステンシ・グループ・ポインタを削除する。
(ブロック810では、)複製管理アプリケーション112は現在のコンシステンシ・グループをインクリメントする。例えば、ブロック802〜808の最初の(第1の)繰り返し中、第1コンシステンシ・グループのデータ最新情報を処理していれば、ブロック802〜808の次の(第2の)繰り返し中、第2コンシステンシ・グループのデータ最新情報を処理する。(ブロック812では、)複製管理アプリケーション112は、現在のコンシステンシ・グループのデータ最新情報が到着するのを待つ。待機する間、エラーがなければ、制御がブロック802に進み、ブロック802で、すべてのストレージ制御部が現在のコンシステンシ・グループに対するデータ最新情報を受信したかを複製管理アプリケーション112が判断する。
すべてのストレージ制御部が現在のコンシステンシ・グループのデータ最新情報を受信していないと複製管理アプリケーション112が判断すれば、(ブロック812で)複製管理アプリケーション112は、現在のコンシステンシ・グループのすべてのデータ最新情報が到着するのを待つ。(ブロック812で)待機する間、エラーまたは災害が発生したら、(ブロック814で)複製管理アプリケーション112はすべてのストレージ制御部における現在のコンシステンシ・グループを判断し、次に、各ストレージ制御部における最後の利用可能なコンシステンシ・グループを(ブロック816で)判断する。(ブロック818では、)複製管理アプリケーション112は、すべてのストレージ制御部で利用できる最大のコンシステンシ・グループを判断し、次に、すべてのストレージ制御部における最後の利用可能なコンシステンシ・グループに対応するようにすべてのストレージ制御部におけるポインタを(ブロック820で)更新する。
すべてのポインタが更新されていないと(ブロック806で)複製管理アプリケーション112が判断すれば、(ブロック822で)複製管理アプリケーション112は、すべてのポインタが更新されるのを待つ。待機する間、エラーがなければ、制御がブロック806に戻り、ブロック806で、すべてのポインタが更新されたかを複製管理アプリケーション112が判断する。
(ブロック822で)待機する間、エラーが生じれば、(ブロック824で)複製管理アプリケーション112は、すべてのストレージ制御部に対してFORループを実行し始める。(ブロック824で、)FORループに関する制御を1回の繰り返しにつき1つのストレージ制御部に対して実行する。FORループが不完全であれば、すなわち、すべてのストレージ制御部を処理していなければ、ポインタが、処理しているストレージ制御部の現在のコンシステンシ・グループに対応するかを(ブロック826で)複製管理アプリケーション112が判断する。対応すれば、複製管理アプリケーション112は(ブロック828で)ポインタを戻して前のコンシステンシ・グループに対応し、(ブロック824で)制御が次のストレージ制御部に関するFORループの次の繰り返しに進む。
(ブロック826で)ポインタが現在のコンシステンシ・グループに対応しなければ、(ブロック824で)制御が次のストレージ制御部に関するFORループの次の繰り返しに進む。FORループの終わりで(ブロック830で)、ストレージ制御部のデータは前のコンシステンシ・グループに対して一貫性を有する。
従って、図8のロジックは、すべてのストレージ制御部におけるデータを互いに一貫するように維持し、更に、ポインタを更新している間、または、データ最新情報を受信している間、エラーまたは災害がストレージ制御部に影響を及ぼす場合には、前に処理されたコンシステンシ・グループと関連するデータ最新情報を反映するようにストレージ制御部においてポインタを戻すことができ、これによって、ストレージ制御部内のポインタは互いに一貫性を有する。
これら実施形態は、ストレージ・システムを仮想化することにより非同期リモート・コピーの一貫性を達成する。複製管理アプリケーションは、受信されたが他のストレージ・サブシステムのデータと一貫性をまだ持っていないデータを未使用の物理ストレージに書き込む。一貫性を与えるのに必要なデータが受信されたことに応答して、ポインタ及びテーブルを正しいターゲット位置で更新して、データが書き込まれた物理ストレージ内の位置を指し示すことができる。
従って、実施形態は、データ一貫性を確実にするための2相コミット(two phase commit)を補助ストレージ制御部で必要としない。2相コミットでは、データ最新情報を、第1相の補助ストレージ制御部と関連するジャーナル・データセットに書き込むことができ、コンシステンシ・グループがコミットされると、第2相で適切なデータ最新情報をコピーすることができる。ジャーナル・データセットを用いずにこの実施形態は実施される。コンシステンシ・グループがコミットされたことに応答して、物理ストレージ内の適切な位置を指し示すようにポインタを調節し、これによって、調節されたポインタは、すべてのストレージ制御部にわたって一貫性のあるデータ・セットを表すようにする。
更に、ポインタを更新している間、または、データ最新情報を待機している間にエラーまたは災害が生じる場合、この実施形態は、前に処理されたコンシステンシ・グループと関連するデータ最新情報を反映するようにストレージ制御部においてポインタを調節することができ、これによって、ストレージ制御部のデータは互いに一貫性を有する。
更に、ディスクにデータ最新情報を保持することができるので、スペース利用率または変動率について、キャッシュにデータ最新情報を保持する場合よりも制約が少ない。その上、一度に進行するコンシステンシ・グループの数に対する最新情報を含むのに足りる追加のディスク・スペースのみが必要とされる。
また、いかなるデータ最新情報も物理的に上書きされないので、特定の実施形態では、ストレージ制御部で一貫性のあるデータ・セットを維持することを可能にでき、または、これらデータ・セットよりも前の複数のデータ・セットに戻すことを可能にすることができる。
標準のプログラミング技術またはエンジニアリング技術あるいはその両方を用いて、ソフトウェア、ファームウェア、ハードウェアまたはこれらの任意の組み合わせを製造する製品、装置または方法として、記載した技術を実装することができる。本明細書に用いる「製品」とは、ハードウェアロジック(例えば、集積回路チップ、プログラマブル・ゲート・アレイ(PGA)、特定用途向け集積回路(ASIC)など)またはコンピュータ可読媒体(例えば、ハード・ディスク・ドライブ、フレキシブルディスク、テープのような磁気記憶媒体)、光ストレージ(例えば、CD−ROM、光ディスクなど)、揮発性及び不揮発性メモリ装置(例えば、EEPROM、ROM、PROM、RAM、DRAM、SRAM、ファームウェア、プログラマブル・ロジックなど)に実装されるコードまたはロジックを意味する。コンピュータ可読媒体内のコードはプロセッサによりアクセスされ実行される。伝送媒体を介して、または、ネットワーク上のファイルサーバから、実装されるコードに更にアクセスすることができる。このような場合では、コードが実装されている製品は、ネットワーク伝送線のような伝送媒体、無線伝送媒体、空間を伝播する信号、電波、赤外線信号などを含むことができる。これら実施の範囲内から逸脱することなく、この設定に多くの変更を行うことができ、製品が、当該技術分野で既知である情報保持媒体のいずれをも含むということを当業者が認識することもちろんである。
図9には、本発明の特定の態様が実施されるコンピュータ・アーキテクチャのブロック図を示す。図9には、ストレージ制御部100,102と、アプリケーション・システム104を含むホストと、複製管理アプリケーション112を含む何らかのコンピュータ装置との一実施形態を示す。ストレージ制御部100,102と、アプリケーション・システム104を含むホストと、複製管理アプリケーション112を含む何らかのコンピュータ装置とは、プロセッサ902、メモリ904(例えば、揮発性メモリ装置)及びストレージ906(例えば、不揮発性ストレージ、磁気ディスク・ドライブ、光ディスク・ドライブ、テープ・ドライブなど)を有するコンピュータ・アーキテクチャ900を実装することができる。ストレージ906は、内部ストレージ装置、接続ストレージ装置またはネットワークアクセス可能なストレージ装置を含むことができる。ストレージ906内のプログラムをメモリ904内にロードし、当該技術分野で知られているようにプロセッサ902により実行することができる。アーキテクチャは、ネットワークとの通信を可能にするネットワークカード908を更に含むことができる。アーキテクチャは、キーボード、タッチ画面、ペン、音声作動式入力装置などのような少なくとも1つの入力装置910、及び、表示装置、スピーカ、プリンタなどのような少なくとも1つの出力装置912をも含むことができる。
図4〜8は、特定の順序で生じる特定の動作を描写する。その上、連続のみならず並行しても動作を実行することができる。代替の実施形態では、特定のロジック動作を異なる順序で実行するか、修正するか、または、取り除くことができ、これらロジック動作は依然として本発明の実施形態を実施することができる。更に、上述したロジックにステップを加えることができ、これらステップは依然として実施形態に適合する。更なるステップを単一処理または分散処理により実行することができる。
この実施形態は非同期ピア・ツー・ピア・リモート・コピーに関して書かれたものであるが、コピーに2相コミットが必要とされる追加の実施形態を用いることができる。例えば、データベース・ログ及びテーブル・スペースの両方が同一の仮想化エンジンに含まれていれば、トランザクションをログに書き込むことができ、次に、実施形態に記述した仮想化を用いてコミットを達成することができる。コミットのためにデータをストレージへ転送する必要がないので、データベースを処理する性能を改善することができる。
図示目的のため、多くのソフトウェア及びハードウェア・コンポーネント(構成要素)を別々のモジュール内に描写した。このようなコンポーネントを、より少ないコンポーネント内に統合するか、または、より多くのコンポーネントに分割することができる。更に、特定のコンポーネントにより実行するように記述された特定の動作を別のコンポーネントにより実行することができる。
従って、上述の実施形態を例示目的のために提示している。上述の実施形態は本発明を網羅するものではなく、または、本発明を厳格な開示形態に限定するものではない。上記の教示に照らして多くの修正及び変形が可能である。本発明の範囲は、この詳細な実施形態により限定されるものではなく、むしろ、特許請求の範囲により限定されるものである。上記の詳述、例及びデータは、本発明の構成要素の製造及び使用を充分に説明する。本発明の精神及び範囲を逸脱することなく、本発明の多くの実施形態を構成することができるので、本発明は特許請求の範囲に属する。
本発明の特定の記載されている態様に従うコンピュータ環境のブロック図である。 本発明の特定の記載されている実施に従い、コンピュータ環境に関連するデータ構造及び装置のブロック図である。 本発明の特定の記載されている実施に従うコンシステンシ・グループのブロック図である。 本発明の特定の記載されている実施に従い、仮想化を用いて一貫性を維持するロジックを示す流れ図である。 本発明の特定の記載されている実施に従う例示的な実施形態におけるデータ構造の第1状態を示すブロック図である。 本発明の特定の記載されている実施に従う例示的な実施形態におけるデータ構造の第2状態を示すブロック図である。 本発明の特定の記載されている実施に従う例示的な実施形態におけるデータ構造の第3状態を示すブロック図である。 本発明の特定の記載されている実施に従う一貫性の維持及び災害リカバリのためのロジックを示す流れ図である。 本発明の特定の記載されている態様が実施されるコンピュータ・アーキテクチャのブロック図である。

Claims (20)

  1. コンピュータがストレージをコピーする方法であって、前記方法は、前記コンピュータが、
    装置、アプリケーションおよび時間で指定される複数のデータセットに対してコンシステンシ・グループを定義するステップと、
    補助ストレージに結合されている第1ユニットで主ストレージに結合されている第2ユニットからのデータ最新情報を受信するステップと、
    前記コンシステンシ・グループについて前記第1ユニットと関連して複数の仮想ボリュームを割り当てた物理ストレージ位置に前記データ最新情報を格納するステップと、
    前記第1ユニットと前記第2ユニットとの間で一貫性のあるデータを得るため、前記複数の物理ストレージ位置の少なくとも1つを指し示すことにより特定数の書き込まれたデータ最新情報だけを特定するリンクを生成するステップとを含む方法。
  2. 前記第1ユニットが、補助ストレージ制御部であり、前記第2ユニットが、主ストレージ制御部であり、前記複数の物理ストレージ位置が前記補助ストレージと関連し、前記データ最新情報が前記第1ユニットで非同期に受信される、請求項1に記載の方法。
  3. 前記受信されたデータが、前記第1ユニットと関連する前記複数の物理ストレージ位置に1度だけ格納され、前記方法が、その後のデータ最新情報を格納するのに用いるため、リンクされていない物理ストレージ位置を解放するステップを更に含む、請求項1に記載の方法。
  4. アプリケーション・システムが入力/出力要求を前記第2ユニットに送信し、前記データ最新情報が前記アプリケーション・システムからの出力要求に対応し、前記データ最新情報が前記第1ユニットに1度だけ格納され、いずれかの時点で前記アプリケーション・システムからの前記入力/出力要求に応答して前記第1ユニットが前記第2ユニットの代わりに前記入力/出力要求に対応することができ、前記第1及び第2ユニットのデータがいずれの時点でも一貫する、請求項1に記載の方法。
  5. 前記格納されたデータ最新情報が、前記リンクを生成する前に前記コンシステンシ・グループを形成しているかを判断するステップと、前記格納されたデータ最新情報が前記コンシステンシ・グループを形成していないことに応答して、次のデータ最新情報を受信するのを待機するステップとを更に含む、請求項1に記載の方法。
  6. 前記格納されたデータ最新情報が、前記リンクを生成する前に前記コンシステンシ・グループを形成しているかを判断するステップと、前記コンシステンシ・グループをコミットする前記少なくとも1つの物理ストレージ位置を決定するステップとを更に含み、前記第1ユニットと関連する前記仮想ボリュームが、前記決定された少なくとも1つの物理ストレージ位置にリンクする、請求項1に記載の方法。
  7. 前記仮想ボリュームを前記複数の物理ストレージ位置の前記少なくとも1つにマッピングするデータ構造を維持するステップを更に含み、前記生成されたリンクが前記データ構造と関連し、複数のアプリケーションが前記仮想ボリューム位置で入力/出力動作を実行することができる、請求項1に記載の方法。
  8. 前記データ最新情報に対応するコンシステンシ・グループを表すデータ構造を維持するステップであって、前記維持されたデータ構造が前記複数の物理ストレージ位置を指し示すことができるステップと、第1コンシステンシ・グループと関連する第1データ最新情報がコミットされていることに応答して、前記第1コンシステンシ・グループを表す第1データ構造を削除するステップとを更に含む、請求項1に記載の方法。
  9. データ最新情報の待機に応答して前記第1ユニットでエラーを受信するステップと、前記第1ユニットと前記第2ユニットとの間で一貫性のあるデータを反映するまで、前記仮想ボリュームとの間について前記生成されたリンクを変更するステップとを更に含む、請求項1に記載の方法。
  10. 前記リンクの生成を行っている間または前記データ最新情報を受信している間に前記第1ユニットでエラーを受信するステップと、前記第1ユニットと前記第2ユニットとの間で一貫性のあるデータを反映するように前記リンクを変更するステップとを更に含む、請求項1に記載の方法。
  11. ストレージを補助ストレージにコピーするため仮想ボリュームが割り当てられ、前記仮想ボリュームと関連する複数の物理ストレージ位置を有する補助ストレージとを有する処理ユニットを含む、ストレージをコピーするシステムであって、前記システムは、
    装置、アプリケーションおよび時間で指定される複数のデータセットに対してコンシステンシ・グループを定義する手段と、
    補助ストレージに結合されている前記処理ユニットで主ストレージに結合されている主ストレージ制御部からのデータ最新情報を受信する手段と
    前記コンシステンシ・グループについて前記処理ユニットと関連して複数の仮想ボリュームを割り当てた物理ストレージ位置に前記データ最新情報を格納する手段と、
    前記処理ユニットと前記主ストレージ制御部との間で一貫性のあるデータを得るため、前記複数の物理ストレージ位置の少なくとも1つを指し示すことにより特定数の書き込まれたデータ最新情報だけを特定するリンクを生成する手段と
    を含むシステム。
  12. 前記処理ユニットが、補助ストレージに結合されている補助ストレージ制御部を含み、前記複数の物理ストレージ位置が前記補助ストレージと関連し、前記データ最新情報が前記補助ストレージ制御部で非同期に受信される、請求項11に記載のシステム。
  13. 前記データ最新情報がアプリケーション・システムからの出力要求に対応し、前記データ最新情報が前記補助ストレージに1度だけ格納され、いずれかの時点で前記アプリケーション・システムからの入力/出力要求に応答して前記補助ストレージが前記主ストレージの代わりに前記入力/出力要求に対応することができ、前記補助ストレージおよび前記主ストレージのデータがいずれの時点でも一貫する、請求項11に記載のシステム。
  14. コンピュータがストレージをコピーするためのコンピュータ実行可能なプログラムであって、前記プログラムは、前記コンピュータを、
    装置、アプリケーションおよび時間で指定される複数のデータセットに対してコンシステンシ・グループを定義する手段、
    補助ストレージに結合されている第1ユニットで主ストレージに結合されている第2ユニットからのデータ最新情報を受信する手段、
    前記コンシステンシ・グループについて前記第1ユニットと関連して複数の仮想ボリュームを割り当てた物理ストレージ位置に前記データ最新情報を格納する手段、
    前記第1ユニットと前記第2ユニットとの間で一貫性のあるデータを得るため、前記複数の物理ストレージ位置の少なくとも1つを指し示すことにより特定数の書き込まれたデータ最新情報だけを特定するリンクを生成する手段
    として機能させる、コンピュータ実行可能なプログラム。
  15. アプリケーション・システムが入力/出力要求を前記第2ユニットに送信し、前記データ最新情報が前記アプリケーション・システムからの出力要求に対応し、前記データ最新情報が前記第1ユニットに1度だけ格納され、いずれかの時点で前記アプリケーション・システムからの前記入力/出力要求に応答して前記第1ユニットが前記第2ユニットの代わりに前記入力/出力要求に対応することができ、前記第1及び第2ユニットのデータがいずれの時点でも一貫する、請求項14に記載のプログラム。
  16. ストレージをコピーするシステムであって、装置、アプリケーションおよび時間で指定される複数のデータセットに対してコンシステンシ・グループを定義する手段と、データ最新情報を受信する手段と、前記コンシステンシ・グループについて前記第1ユニットと関連して複数の仮想ボリュームを割り当てた複数の物理ストレージ位置に前記データ最新情報を格納する手段と、一貫性のあるデータを得るため、前記仮想ボリュームと前記複数の物理ストレージ位置の少なくとも1つとの間にリンクを生成する手段とを含むシステム。
  17. 前記格納されたデータ最新情報が、前記リンクを生成する前に前記コンシステンシ・グループを形成しているかを判断する手段と、前記格納されたデータ最新情報が前記コンシステンシ・グループを形成していないことに応答して、次のデータ最新情報を受信するのを待機する手段とを更に含む、請求項16に記載のシステム。
  18. 前記格納されたデータ最新情報が、前記リンクを生成する前に前記コンシステンシ・グループを形成しているかを判断する手段と、前記コンシステンシ・グループをコミットする前記少なくとも1つの物理ストレージ位置を決定する手段とを更に含み、前記仮想ボリュームが、前記決定された少なくとも1つの物理ストレージ位置にリンクする、請求項16に記載のシステム。
  19. 前記データ最新情報に対応するコンシステンシ・グループを表すデータ構造を維持する手段であって、前記維持されたデータ構造が前記複数の物理ストレージ位置を指し示すことができる手段と、第1コンシステンシ・グループと関連する第1データ最新情報がコミットされていることに応答して、前記第1コンシステンシ・グループを表す第1データ構造を削除する手段とを更に含む、請求項16に記載のシステム。
  20. 前記第1ユニットと前記第2ユニットとの間で前記一貫性のあるデータが得られる、請求項16に記載のシステム。
JP2006548309A 2004-01-09 2005-01-07 仮想化を用いるリモート・コピーの一貫性の維持(ストレージをコピーする方法およびシステム) Expired - Fee Related JP4644684B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/754,231 US7478211B2 (en) 2004-01-09 2004-01-09 Maintaining consistency for remote copy using virtualization
PCT/EP2005/050065 WO2005069143A1 (en) 2004-01-09 2005-01-07 Maintaining consistency for remote copy using virtualization

Publications (3)

Publication Number Publication Date
JP2007518174A JP2007518174A (ja) 2007-07-05
JP2007518174A5 JP2007518174A5 (ja) 2007-12-13
JP4644684B2 true JP4644684B2 (ja) 2011-03-02

Family

ID=34739337

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006548309A Expired - Fee Related JP4644684B2 (ja) 2004-01-09 2005-01-07 仮想化を用いるリモート・コピーの一貫性の維持(ストレージをコピーする方法およびシステム)

Country Status (9)

Country Link
US (2) US7478211B2 (ja)
EP (1) EP1706822B1 (ja)
JP (1) JP4644684B2 (ja)
KR (1) KR100961739B1 (ja)
CN (1) CN100422949C (ja)
AT (1) ATE358848T1 (ja)
DE (1) DE602005000819T2 (ja)
TW (1) TWI339793B (ja)
WO (1) WO2005069143A1 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309550A (ja) 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
US20050154786A1 (en) * 2004-01-09 2005-07-14 International Business Machines Corporation Ordering updates in remote copying of data
US7657717B1 (en) * 2004-02-02 2010-02-02 Symantec Operating Corporation Coherently sharing any form of instant snapshots separately from base volumes
JP4512386B2 (ja) 2004-03-05 2010-07-28 株式会社日立製作所 バックアップシステムおよび方法
US7765187B2 (en) * 2005-11-29 2010-07-27 Emc Corporation Replication of a consistency group of data storage objects from servers in a data network
GB0616257D0 (en) * 2006-08-16 2006-09-27 Ibm Storage management system for preserving consistency of remote copy data
JP5073348B2 (ja) * 2007-04-04 2012-11-14 株式会社日立製作所 アプリケーション管理支援システム、管理計算機、ホスト計算機、及びアプリケーション管理支援方法
US20100153612A1 (en) * 2008-12-15 2010-06-17 Lsi Corporation Transport agnostic scsi i/o referrals
US8893147B2 (en) 2012-01-13 2014-11-18 Ca, Inc. Providing a virtualized replication and high availability environment including a replication and high availability engine
US9430343B1 (en) * 2012-05-07 2016-08-30 Emc Corporation Using affinity to mediate bias in a distributed storage system
US9367394B2 (en) * 2012-12-07 2016-06-14 Netapp, Inc. Decoupled reliability groups
US20160217175A1 (en) * 2015-01-23 2016-07-28 Netapp, Inc. Techniques for asynchronous snapshot invalidation
US10191672B2 (en) * 2015-10-16 2019-01-29 Google Llc Asynchronous copying of data within memory
CN109150986A (zh) * 2018-07-27 2019-01-04 郑州云海信息技术有限公司 存储双活模式下数据的访问方法、装置及存储介质
US11836130B2 (en) * 2019-10-10 2023-12-05 Unisys Corporation Relational database blockchain accountability

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116939A (ja) * 2000-10-06 2002-04-19 Telecommunication Advancement Organization Of Japan 分散型データベースシステム
JP2002132568A (ja) * 2000-10-30 2002-05-10 Nec Corp 顧客管理システム及び顧客管理方法
JP2003330780A (ja) * 2002-05-14 2003-11-21 Ricoh Co Ltd 文書管理プログラム及び記録媒体

Family Cites Families (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US87780A (en) * 1869-03-16 Improvement in bolt-heading dies
US178335A (en) * 1876-06-06 Improvement in jack-spools
US519184A (en) * 1894-05-01 Brook
US178162A (en) * 1876-05-30 Improvement in wrenches
US120763A (en) * 1871-11-07 Improvement in ferrules
US4853843A (en) * 1987-12-18 1989-08-01 Tektronix, Inc. System for merging virtual partitions of a distributed database
US5193184A (en) 1990-06-18 1993-03-09 Storage Technology Corporation Deleted data file space release system for a dynamically mapped virtual data storage subsystem
US5893117A (en) 1990-08-17 1999-04-06 Texas Instruments Incorporated Time-stamped database transaction and version management system
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5504899A (en) 1991-10-17 1996-04-02 Digital Equipment Corporation Guaranteeing global serializability by applying commitment ordering selectively to global transactions
US5701480A (en) 1991-10-17 1997-12-23 Digital Equipment Corporation Distributed multi-version commitment ordering protocols for guaranteeing serializability during transaction processing
CA2055295C (en) * 1991-11-12 2000-05-23 Jean Gilles Fecteau Logical mapping of data objects using data spaces
US5499367A (en) * 1991-11-15 1996-03-12 Oracle Corporation System for database integrity with multiple logs assigned to client subsets
JPH0619785A (ja) * 1992-03-27 1994-01-28 Matsushita Electric Ind Co Ltd 分散共有仮想メモリーとその構成方法
US5555371A (en) * 1992-12-17 1996-09-10 International Business Machines Corporation Data backup copying with delayed directory updating and reduced numbers of DASD accesses at a back up site using a log structured array data storage
US5446871A (en) * 1993-03-23 1995-08-29 International Business Machines Corporation Method and arrangement for multi-system remote data duplexing and recovery
KR0128271B1 (ko) * 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
JP2894676B2 (ja) 1994-03-21 1999-05-24 インターナショナル・ビジネス・マシーンズ・コーポレイション 非同期式遠隔コピー・システム及び非同期式遠隔コピー方法
US5592618A (en) * 1994-10-03 1997-01-07 International Business Machines Corporation Remote copy secondary data copy validation-audit function
US5850522A (en) 1995-02-03 1998-12-15 Dex Information Systems, Inc. System for physical storage architecture providing simultaneous access to common file by storing update data in update partitions and merging desired updates into common partition
US5682513A (en) * 1995-03-31 1997-10-28 International Business Machines Corporation Cache queue entry linking for DASD record updates
US5787476A (en) * 1995-05-05 1998-07-28 Silicon Graphics, Inc. System and method for maintaining coherency of virtual-to-physical memory translations in a multiprocessor computer
US5895499A (en) * 1995-07-03 1999-04-20 Sun Microsystems, Inc. Cross-domain data transfer using deferred page remapping
US5765171A (en) * 1995-12-29 1998-06-09 Lucent Technologies Inc. Maintaining consistency of database replicas
US5852715A (en) * 1996-03-19 1998-12-22 Emc Corporation System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions
US5806074A (en) * 1996-03-19 1998-09-08 Oracle Corporation Configurable conflict resolution in a computer implemented distributed database
US6438586B1 (en) * 1996-09-30 2002-08-20 Emc Corporation File transfer utility which employs an intermediate data storage system
US5896492A (en) * 1996-10-28 1999-04-20 Sun Microsystems, Inc. Maintaining data coherency between a primary memory controller and a backup memory controller
US6067550A (en) * 1997-03-10 2000-05-23 Microsoft Corporation Database computer system with application recovery and dependency handling write cache
US6490594B1 (en) * 1997-04-04 2002-12-03 Microsoft Corporation Database computer system with application recovery and dependency handling write cache
US6032216A (en) * 1997-07-11 2000-02-29 International Business Machines Corporation Parallel file system with method using tokens for locking modes
US5924096A (en) * 1997-10-15 1999-07-13 Novell, Inc. Distributed database using indexed into tags to tracks events according to type, update cache, create virtual update log on demand
US5999931A (en) 1997-10-17 1999-12-07 Lucent Technologies Inc. Concurrency control protocols for management of replicated data items in a distributed database system
US6105078A (en) 1997-12-18 2000-08-15 International Business Machines Corporation Extended remote copying system for reporting both active and idle conditions wherein the idle condition indicates no updates to the system for a predetermined time period
US6085200A (en) * 1997-12-23 2000-07-04 Unisys Corporation System and method for arranging database restoration data for efficient data recovery in transaction processing systems
US6131148A (en) * 1998-01-26 2000-10-10 International Business Machines Corporation Snapshot copy of a secondary volume of a PPRC pair
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US6157991A (en) * 1998-04-01 2000-12-05 Emc Corporation Method and apparatus for asynchronously updating a mirror of a source device
US6161191A (en) * 1998-05-12 2000-12-12 Sun Microsystems, Inc. Mechanism for reliable update of virtual disk device mappings without corrupting data
US6185663B1 (en) 1998-06-15 2001-02-06 Compaq Computer Corporation Computer method and apparatus for file system block allocation with multiple redo
US6260120B1 (en) * 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6148383A (en) * 1998-07-09 2000-11-14 International Business Machines Corporation Storage system employing universal timer for peer-to-peer asynchronous maintenance of consistent mirrored storage
US6321276B1 (en) * 1998-08-04 2001-11-20 Microsoft Corporation Recoverable methods and systems for processing input/output requests including virtual memory addresses
US6269382B1 (en) * 1998-08-31 2001-07-31 Microsoft Corporation Systems and methods for migration and recall of data from local and remote storage
US6301643B1 (en) 1998-09-03 2001-10-09 International Business Machines Corporation Multi-environment data consistency
US6611901B1 (en) * 1999-07-02 2003-08-26 International Business Machines Corporation Method, system, and program for maintaining electronic data as of a point-in-time
US6539462B1 (en) * 1999-07-12 2003-03-25 Hitachi Data Systems Corporation Remote data copy using a prospective suspend command
US6513051B1 (en) * 1999-07-16 2003-01-28 Microsoft Corporation Method and system for backing up and restoring files stored in a single instance store
US6671705B1 (en) * 1999-08-17 2003-12-30 Emc Corporation Remote mirroring system, device, and method
US6463501B1 (en) * 1999-10-21 2002-10-08 International Business Machines Corporation Method, system and program for maintaining data consistency among updates across groups of storage areas using update times
US6438558B1 (en) * 1999-12-23 2002-08-20 Ncr Corporation Replicating updates in original temporal order in parallel processing database systems
US6493727B1 (en) * 2000-02-07 2002-12-10 Hewlett-Packard Company System and method for synchronizing database in a primary device and a secondary device that are derived from a common database
US6487645B1 (en) * 2000-03-06 2002-11-26 International Business Machines Corporation Data storage subsystem with fairness-driven update blocking
US6804755B2 (en) 2000-06-19 2004-10-12 Storage Technology Corporation Apparatus and method for performing an instant copy of data based on a dynamically changeable virtual mapping scheme
US6532527B2 (en) * 2000-06-19 2003-03-11 Storage Technology Corporation Using current recovery mechanisms to implement dynamic mapping operations
US6925528B2 (en) 2000-06-20 2005-08-02 Storage Technology Corporation Floating virtualization layers
US7475199B1 (en) * 2000-10-19 2009-01-06 Emc Corporation Scalable network file system
TW561358B (en) 2001-01-11 2003-11-11 Force Corp Z File switch and switched file system
US6775792B2 (en) 2001-01-29 2004-08-10 Snap Appliance, Inc. Discrete mapping of parity blocks
US7305421B2 (en) * 2001-07-16 2007-12-04 Sap Ag Parallelized redo-only logging and recovery for highly available main memory database systems
EP1349088B1 (en) 2002-03-19 2010-11-03 Network Appliance, Inc. System and method for determining and transmitting changes in snapshots
KR100453228B1 (ko) * 2002-03-21 2004-10-15 한국전자통신연구원 공유 디스크 파일 시스템의 저널링 및 회복 방법
US6898609B2 (en) * 2002-05-10 2005-05-24 Douglas W. Kerwin Database scattering system
US7266587B2 (en) * 2002-05-15 2007-09-04 Broadcom Corporation System having interfaces, switch, and memory bridge for CC-NUMA operation
US7739240B2 (en) 2002-12-09 2010-06-15 Hewlett-Packard Development Company, L.P. Replication and replica management in a wide area file system
US6899685B2 (en) * 2003-01-24 2005-05-31 Acueity, Inc. Biopsy device
US6898685B2 (en) * 2003-03-25 2005-05-24 Emc Corporation Ordering data writes from a local storage device to a remote storage device
US7051176B2 (en) * 2003-03-25 2006-05-23 Emc Corporation Reading data provided to a remote storage device
US7111136B2 (en) * 2003-06-26 2006-09-19 Hitachi, Ltd. Method and apparatus for backup and recovery system using storage based journaling
US7278049B2 (en) * 2003-09-29 2007-10-02 International Business Machines Corporation Method, system, and program for recovery from a failure in an asynchronous data copying system
US7143122B2 (en) * 2003-10-28 2006-11-28 Pillar Data Systems, Inc. Data replication in data storage systems
US7228456B2 (en) * 2003-12-01 2007-06-05 Emc Corporation Data recovery for virtual ordered writes for multiple storage devices
US7155586B1 (en) * 2003-12-30 2006-12-26 Emc Corporation Method of allowing point-in-time view of data on a disk using a map on cache disk
US20050154786A1 (en) 2004-01-09 2005-07-14 International Business Machines Corporation Ordering updates in remote copying of data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002116939A (ja) * 2000-10-06 2002-04-19 Telecommunication Advancement Organization Of Japan 分散型データベースシステム
JP2002132568A (ja) * 2000-10-30 2002-05-10 Nec Corp 顧客管理システム及び顧客管理方法
JP2003330780A (ja) * 2002-05-14 2003-11-21 Ricoh Co Ltd 文書管理プログラム及び記録媒体

Also Published As

Publication number Publication date
CN100422949C (zh) 2008-10-01
CN1906594A (zh) 2007-01-31
DE602005000819D1 (de) 2007-05-16
EP1706822A1 (en) 2006-10-04
US7660958B2 (en) 2010-02-09
KR100961739B1 (ko) 2010-06-07
TWI339793B (en) 2011-04-01
WO2005069143A1 (en) 2005-07-28
EP1706822B1 (en) 2007-04-04
ATE358848T1 (de) 2007-04-15
US20090055610A1 (en) 2009-02-26
DE602005000819T2 (de) 2008-01-10
US7478211B2 (en) 2009-01-13
JP2007518174A (ja) 2007-07-05
KR20060123460A (ko) 2006-12-01
US20050154845A1 (en) 2005-07-14
TW200532444A (en) 2005-10-01

Similar Documents

Publication Publication Date Title
JP4644684B2 (ja) 仮想化を用いるリモート・コピーの一貫性の維持(ストレージをコピーする方法およびシステム)
US7836266B2 (en) Managing snapshot history in a data storage system
US6950915B2 (en) Data storage subsystem
US7308545B1 (en) Method and system of providing replication
US7406487B1 (en) Method and system for performing periodic replication using a log
US7213116B2 (en) Method and apparatus for mirroring objects between storage systems
CN101840362B (zh) 一种改进的写时拷贝快照的实现方法和装置
US7277997B2 (en) Data consistency for mirroring updatable source data storage
US20060047926A1 (en) Managing multiple snapshot copies of data
JP4988370B2 (ja) 結合セッション環境におけるセッションのクラスタのためのセッション情報の統合方法、システム、およびプログラム
JP2006107162A (ja) ストレージシステム
US7490213B2 (en) Dynamic allocation of storage for hierarchical copies
US7549029B2 (en) Methods for creating hierarchical copies
US11429498B2 (en) System and methods of efficiently resyncing failed components without bitmap in an erasure-coded distributed object with log-structured disk layout
US20050154786A1 (en) Ordering updates in remote copying of data
JP4937863B2 (ja) 計算機システム、管理計算機及びデータ管理方法
US8327095B2 (en) Maintaining information of a relationship of target volumes comprising logical copies of a source volume
US8527723B1 (en) Storage system and control method for storage system
US7552309B2 (en) Data storage methods for hierarchical copies
US9424261B2 (en) Techniques to take clean database file snapshot in an online database
US10635542B1 (en) Support for prompt creation of target-less snapshots on a target logical device that has been linked to a target-less snapshot of a source logical device
JP2006040065A (ja) データ記憶装置およびデータ記憶方法
JP2021033671A (ja) ストレージシステムおよびリストア方法
CN107239365B (zh) 一种访问存储设备的方法及装置
JP4304192B2 (ja) 非共有ディスク型のクラスタシステム及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071029

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071029

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100810

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20100824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101020

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20101130

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20131210

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees