JP4152373B2 - リモートミラーキャッシュ内の論理オブジェクトの完全性を保つシステム - Google Patents

リモートミラーキャッシュ内の論理オブジェクトの完全性を保つシステム Download PDF

Info

Publication number
JP4152373B2
JP4152373B2 JP2004302414A JP2004302414A JP4152373B2 JP 4152373 B2 JP4152373 B2 JP 4152373B2 JP 2004302414 A JP2004302414 A JP 2004302414A JP 2004302414 A JP2004302414 A JP 2004302414A JP 4152373 B2 JP4152373 B2 JP 4152373B2
Authority
JP
Japan
Prior art keywords
remote
logical object
logical
database
storage site
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
JP2004302414A
Other languages
English (en)
Other versions
JP2005135405A (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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2005135405A publication Critical patent/JP2005135405A/ja
Application granted granted Critical
Publication of JP4152373B2 publication Critical patent/JP4152373B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/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
    • 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
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2038Error 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 processing functionality is redundant with a single idle spare processing component
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2048Error 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 processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • 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/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • 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/99955Archiving or backup

Landscapes

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

Description

リモートミラーキャッシュ内の論理オブジェクトの完全性を保つシステムに関する。
アプリケーションデータベースは、データベース内の実行可能な論理オブジェクトを表す特定の最小量の、慣例によってはページと呼ばれる群または塊のデータを使用し得る。データベースのタスクは、大量データの管理および記憶、しかるべき高速時間でのデータのアクセスおよび書き込み、ならびにデータ完全性の維持を含む。データベースは一般に、主データ、すなわち元データおよび複製データをリモートミラーサイトにそれぞれ記憶する主記憶装置サイトおよび補助記憶サイトを含む。複製され記憶されたミラーデータには、バックアップおよび災害復元の際にアクセスして、素早く正確にシステムを復元することが可能である。冗長動作がブロックレベルのディスクアレイ複製により確立されると、データベースは複製データコピーの恩恵を受ける。通常動作中、プライマリボリュームはすべてのホストに対してオンラインのままであり、読み出しおよび書き込み入出力(I/O)動作の両方を処理する。災害またはシステム故障の場合、補助データコピーを素早く呼び出して、高いデータ完全性を持った復元を可能にする。
システムがリモートディスクアレイミラーサイトからデータを復元する際、データベースの完全性は、データページが完全に存在する場合にのみ確保される。その他の場合、データベースは首尾良く開始することができない。一般に、データベースは、データベースを開く呼び出しを生成し、記憶媒体を走査し、物理メモリおよび実行可能プロセスを割り振ってI/O動作を処理し、データおよびログファイルを調整しファイルの状態を示す情報を含む制御ファイルを開くことによって開始する。スタートアッププロセスは、制御ファイルにより識別されたファイルを開くことも含む。いくつかのファイルが不完全である場合、ファイル間のリンクが失われており、データベースは開始することができない。複製ページのミラーサイトへの転送が不完全であるとページの転送が部分的になる場合があり、「ページ裂け(torn page)」と呼ばれる。データベースによっては、ページ裂け現象を処理することができず、不完全なページを使用しようと試みるものがあり、これはおそらく、失敗に終わってのスタートアップまたはデータの破損に繋がる。
図1を参照して、概略ブロック図に、スタートアップの失敗またはデータの破損につながり得る、アプリケーションページ裂け現象およびMicrosoft(登録商標)SQL Server等のサーバによる処理を示している。一般のトランザクションの一例では、プライマリサイト100で実行されているホストアプリケーション102が、8K/1Kファイルシステム104を使用して大量の書き込み動作、たとえば、80Kバイトの書き込みを実行する。仮想モードで使用されている記憶装置の場合、8K/1Kファイルシステム104は、8Kバイトよりも大きな書き込み動作はいずれも、ホストアプリケーション102に対してトランスペアレントにデータを個々の8Kバイトブロックに分割し、ブロックを別個に転送することにより実行する。分割後に8Kバイトに満たないバイトが残った場合、8K/1Kファイルシステム104は残っているデータを1Kバイトブロックで送る。代替として、記憶装置を物理モード、すなわち生モードで使用してもよい。仮想モードの動作では、8K/1Kファイルシステム104は、単一のアプリケーションページを表す大量のアプリケーション書き込みを、トランスペアレントにページを複数の断片に分割することによって処理する。あまり高度ではないサーバでは、受信する側の記憶装置アレイは、転送ですべてのページを受け取ったか否かを判定、または識別する術がなく、ファイルシステムのブロックサイズよりも大きないずれの書き込み対しても、受信側アレイでのページ裂けの問題をシステムが受けやすくなる。
本例では、8K/1Kファイルシステム104は、80Kバイトの書き込みを10個の個々の8Kバイトの書き込み動作に分割し、10個の8Kバイトブロックを主記憶装置106に転送する。ミラーリングリンク108は、個々のブロックを遠隔記憶装置アレイまたは記憶装置ミラー110に転送して、複製を記憶する。高度なアプリケーション、たとえば、Veritas(登録商標)ファイルシステムまたはOracle(登録商標)データベースは、インテントログ、データ書き込み、およびコミット信号の組み合わせを使用して、ページ裂け問題を解決することができる。たとえば、ファイルシステムは、構造を更新するシステムの意図の記録を含む循環アクティビティログであるインテントログを使用して、完全性を確保することができる。インテントログは、ファイルシステム構造への保留中の変更を記録し、確実に、システムの変更に先立ってログ記録が書き込まれるようにする。システム故障の場合、ファイルシステムの保留中の変更は無効化されるか、あるいは完了される。通常、インテントファイルはファイルシステム構造に対する変更のみを記録し、ファイルデータの変更は記録しない。Microsoft(登録商標)SQL
Server等のあまり高度ではないアプリケーションは単に、アプリケーションデータページを送り、ページがフェイルオーバ時に遠隔アレイ110で完全な状態にあると想定する、または希望するだけである。
図1に示すように、8K/1Kファイルシステム104は、80Kバイトアプリケーションページディスク書き込みをトランスペアレントに10個の8Kバイト断片に分割して、主記憶装置106に書き込み、また遠隔記憶装置110中のアレイにミラーリングすることができる。遠隔アレイ110が10個すべての断片を受け取ってディスク112にデステージする前にプライマリサイト100で災害が発生した場合、遠隔アレイ110のアプリケーションスタートアップにエラーが発生し得る。たとえば、アプリケーションページを構成する10個の断片書き込みのうちの9個を正しく受け取ってディスク112にデステージした場合であっても、遠隔アレイ110は不完全なアプリケーションページ、すなわちアプリケーションページ裂けを含む。高度ではないアプリケーションは、ページ裂けを破損した使用不可能なデータベースとして指定し、スタートアップを拒絶する場合があり、これはおそらく、実施された災害復元応答または計画を無効化する。
特定の例では、様々なWindows(登録商標)オペレーティングシステムと併せて使用されるMicrosoft SQL Server(登録商標)は、一致しないサイズを有するデータページを使用する。その結果、電源異常、ディスクドライバまたは物理的なディスクの障害、または他の災害により、おそらくデータベースが破損する。破損は、オペレーティングシステムが8KバイトのSQLサーバデータページを書き込む度に、ページが512バイトのページに分割されることから発生し得る。最初の512バイトのデータが書き込まれた後、SQLサーバは、8Kバイト全体がディスクに首尾良く書き込まれたものと想定する。512バイトページがすべてディスクに書き込まれる前に電源異常または他の故障が発生する場合、SQLサーバは故障を検出することができない。この状況は説明した「ページ裂け」である。破損範囲を特定する情報がないことにより、単一データページの破損はデータベース全体を破損させる。SQLサーバは、イネーブルされてページ裂けを識別することができる「ページ裂け検出」の使用を通して、結果生じた破損を限定しようと試みる。ページ裂け検出は破損を阻止せず、データベースを破損とマークするだけであり、したがって、データベースを最新のバックアップを使用して復元することができるが、これは不都合なことに、最後のバックアップ以後に生成されたデータの損失に関するダウンタイムおよび生産性の損失につながる。
望まれているのは、リモートミラーキャッシュにおいて論理オブジェクトの完全性を保つ方法である。
いくつかの実施形態によると、データベースシステムは、複数の断片で論理オブジェクトを転送するデータベースアプリケーションを実行することが可能である。本データベースシステムは、主記憶装置サイトと、遠隔記憶装置サイトと、主記憶装置サイトで実行可能なメインプロトコルと、遠隔記憶装置サイトで実行可能なリモートプロトコルを備える。遠隔記憶装置サイトは、主記憶装置サイトにリンク可能であり、主記憶装置サイトに記憶されている情報をミラーリング可能である。遠隔記憶装置サイトは、記憶装置および複数のアレイサイドファイル記録セットに分割されたキャッシュサイドファイルを含む。メインプロトコルは、主記憶装置サイトで実行可能であり、複数断片データベースアプリケーションにおける論理オブジェクト断片の開始および完了を示す情報を包含可能である。リモートプロトコルは、遠隔記憶装置サイトで実行可能であり、受け取った複数断片をキャッシュし、すべての断片を受け取ると、論理オブジェクトを記憶装置にデステージすることを可能にするようにキャッシュサイドファイルを制御可能である。
構造および動作方法の両方に関連する実施形態は、以下の説明および添付図面を参照することにより最良に理解することができる。
図2を参照して、概略的に描かれた表現図に、ページ裂け現象を処理するシステムおよび方法の一実施形態を示す。データベースシステム200は、例では主記憶装置サイト202および遠隔記憶装置サイト204として示されている複数の記憶サイトを含む。主記憶装置サイト202は、プログラム、プロセス、メソッド、および他のタイプの実行可能システムを、多くの場合はコンピュータ可読プログラムコードとして実行することが可能なコントローラ206を備える。データベースシステム200は、論理オブジェクト、たとえばページを複数の断片で転送するデータベースアプリケーション208等、ホストアプリケーションを実行することができる。ページは、任意のコヒーレントなデータ片、任意のタイプの論理記録または内部データ群であることができる。ページは、任意の原子的なデータ群等、一時的なエンティティであり得る。
データベースシステム200は、ここでも実例として、データベースアプリケーション208から論理オブジェクト全体を受け取り、論理オブジェクトを主記憶装置212に転送するために複数の断片に分割する8K/1Kファイルシステムとして示されるファイルシステム210も備える。データベースシステム200は、個々の断片を主記憶装置サイト202から遠隔記憶装置サイト204にミラーリングするためのミラーリングリンク214も備える。
遠隔記憶装置サイト204は一般に、コントローラ218、キャッシュサイドファイル216、およびディスク記憶装置等の補助記憶装置220も備える。コントローラ218は、キャッシュサイドファイル216でのデータ断片の処理、およびデータ断片の補助すなわちミラーリング記憶装置220への書き込み、すなわちデステージを管理する。
リモートミラーキャッシュにおいて論理オブジェクトの完全性を保つ、実例としてのシステムおよび方法は、ミラーリングされたアレイキャッシュサイドファイル216内でアプリケーションページを定義し実施することにより動作することができる。キャッシュサイドファイル216は、ミラーリング書き込み入出力動作からデータを受け取るデータ構造である複数の受信アレイサイドファイル記録セットを有する。データベースシステム200は、一般に主記憶装置サイト202で実行可能であり、ホストデータベースアプリケーション208が、アプリケーションデータページまたは他の論理オブジェクトの開始および終了をキャッシュサイドファイルアレイに対して通知できるようにする、ホスト制御プロトコル等のメインプロトコルを含む。メインプロトコルは、開始信号および終了信号を明示的に送る、または境界を暗黙的に決定する情報を伝達する等、様々な形で複数断片でのデータベースアプリケーション転送における論理オブジェクト断片の開始および終了を示す情報を含むことができる。一例では、「ページ開始」制御メッセージ22をファイルシステム210から主記憶装置212に送り、論理オブジェクトまたはページの送信開始を通知することができる。たとえばデータベースコミットのような「ページ終了」制御メッセージ224が、ページまたは論理オブジェクトの送信の終了を記述することができる。
データベースシステム200は、論理オブジェクト開始および終了情報を用いて、キャッシュサイドファイル216における受信ミラーリングアレイを制御する、遠隔記憶装置サイト204で実行可能なリモートプロトコルも含む。リモートプロトコルは、キャッシュサイドファイル216を制御して、受信時に複数の断片をキャッシュし、ページ全体を受け取り、ページ全体がキャッシュサイドファイル216において利用可能な場合に断片をミラー記憶装置220にデステージ、すなわち書き込む。リモートプロトコルは、すべての断片の準備が整い、キャッシュサイドファイル216内に収容されるまで、デステージを回避するため、記憶装置は不完全なページ、すなわちページ裂けを含まない。
各種実施形態では、データベースシステム200は、インバンドまたはアウトバンド等任意の適した様式で、また任意の規格、たとえば制御命令に添付された小型コンピュータシステムインタフェース(SCSI)書き込み、または他の技法を使用して、主記憶装置212および補助、すなわちミラー記憶装置220を含む記憶装置に断片を書き込むことができる。各種実施形態では、通信はカスタムであっても、またはベンダーに固有であってもよい。
図3を参照して、概略ブロック図に、ファイバチャネル接続302に基づいたデータベースシステム300の一例を示す。データベースシステム動作は、物理的な通信パス302を介して各プライマリサイト308およびセカンダリサイト310にあるディスクアレイ304および306に情報を記憶する連続アクセス機能を有する。プライマリ、すなわちメインサイト308にあるサーバ312は、データベースシステム300におけるアクセスおよび転送を制御する機能動作プログラムコードを含む。セカンダリ、リモート、またはミラーサイト310にあるサーバ314もまた、データベース制御動作を実行する。実例では、連続アクセスプログラムコードは、専用ファイバチャネル接続302を介して、プライマリサイト308にある元のオンラインデータをセカンダリまたはリモートサイト310にあるオフラインボリューム306にコピーする。システム300は、災害復元動作を実行するために、ホストフェイルオーバ通信リンク316を備える。
ディスクアレイ304の他に、プライマリサイト308は、主制御ユニット318、ならびに1つまたは複数のターゲットポート320およびイニシエータポート322を備える。同様にセカンダリサイト310も、遠隔制御ユニット324、ならびに1つまたは複数のターゲットポート326およびターゲットポート328を備える。ディスクアレイ304および306が、非同期コンシステンシグループ334内に配置することができるプライマリボリューム(P−VOL)330およびセカンダリボリューム(S−VOL)332を有するボリューム対に編成される。
連続アクセス動作は主制御ユニット318および遠隔制御ユニット324において実行され、プライマリ、またはメインディスクアレイ304およびセカンダリ、またはリモートディスクアレイ306に関わる。主制御ユニット318は、元データを保持し、ホストシステム312の動作による対管理制御下にあるプライマリボリューム330を含む。遠隔制御ユニット324は、プライマリボリューム330の同期コピーまたは非同期コピーであるセカンダリボリューム332を含む。データベース制御システムは、制御ユニットイメージ、およびディスクアレイ304および306の論理ボリューム、ならびに様々な物理ドライブオプションおよび様々な記憶装置構成、たとえば、独立ディスク冗長アレイ(RAID1およびRAID5)構成をサポートする。
説明に役立つ実施形態では、主制御ユニット318は、連続アクセスボリューム対のプライマリボリューム330を制御する、プライマリディスクアレイ304におけるコントローラ、プロセッサ、中央演算処理装置(CPU)、または他の制御ユニットである。通常、連続アクセス機能を実行するホスト制御プログラムは、プライマリ−セカンダリ記憶装置対の主制御ユニット318に添付される。主制御ユニット318は、専用ファイバチャネル302のリモートコピー接続を介して遠隔制御ユニット324と通信する。主制御ユニット318は一般に、プライマリボリューム330へのホスト入出力動作、ならびにセカンダリボリューム332間の初期コピーおよびリモートコピー動作を制御する。主制御ユニット318はまた、対の状態および構成情報も管理することができる。主制御ユニット318は、ローカルエリアネットワークを介してコンピュータまたはワークステーション336に添付し、ローカルおよびリモートボリューム対管理制御動作を補助する。
遠隔制御ユニット324は、ボリューム対のうちのセカンダリボリューム332を制御する、リモートディスクアレイ306中の制御ユニットである。遠隔制御ユニット324は、ボリューム対の状態および構成を管理するにあたって主制御ユニット318を補助する。遠隔制御ユニット324は、主制御ユニット318によって発行されるリモートコピー動作を実行することができる。リモートミラーキャッシュにおける論理オブジェクトの完全性を保つ、実例としての方法では、遠隔制御ユニット324は、ページのすべての断片を受け取る前に、制御情報をサイドファイルに書き込み、論理オブジェクトの断片をキャッシュすることができる。ページ全体を受け取ると、主制御ユニット318は、論理オブジェクトまたはページの全体をリモートディスクアレイ306にデステージすることができる。遠隔制御ユニット324は、ローカルエリアネットワークを介してコンピュータまたはワークステーションに接続され、ローカルおよびリモートボリューム対管理制御をやりやすくすることができる。遠隔制御ユニット324はホストシステム314にも添付して、セカンダリボリュームまたはリモートディスクアレイに関連する問題または災害状況の場合に報告すべき情報を感知できるようにし、災害からの復元を補助する。
主制御ユニット318および遠隔制御ユニット324は、異なるボリューム対に対して個々に、かつ別個に定義することができる。たとえば、特定の制御ユニットは、リモートコピー接続およびファイバチャネルポートが適宜構成されている限り、1つまたは複数のプライマリボリュームの主制御ユニットとして、および、1つまたは複数のセカンダリボリュームの遠隔制御ユニットとして同時に機能することができる。
データベースシステム300は、ユーザにより作成された論理ボリューム対のリモートコピー動作を実行することができる。ボリューム対は、1つのプライマリボリューム330および1つのセカンダリボリューム332を含み、これらボリュームは、同期データ複製システムの場合は同じディスクアレイにあってよく、同期または非同期システムいずれかの場合は異なるディスクアレイにあってもよい。プライマリボリューム330は元データを含む。セカンダリボリューム332は、複製または重複データを含むミラーリングボリュームである。
データベースシステム300は、磁気媒体、通信リンクを介しての信号受信、および制御動作を実行する他のものを含め、コントローラ使用可能な媒体等の製品から、コンピュータ可読プログラムコードをダウンロードすることができる。コンピュータ可読プログラムコードは、論理オブジェクトを複数の断片で主記憶装置サイトから遠隔記憶装置サイトにミラーリングするデータベースアプリケーション等の機能を実施することができる。特定の実施形態では、コードは、コントローラに、プライマリディスクアレイ304とセカンダリディスクアレイ306の間をリンクしデータをミラーリングするデータベースアプリケーションとインタフェースさせることが可能なプロセスを含む。コードは、論理オブジェクトの開始および終了を示す制御情報を作成し配布し、受信時に論理オブジェクトの複数の断片をキャッシュし、すべてを受け取ったときに断片のデステージを可能にし、その他の場合はいずれの断片もデステージしないプロセスも含むことができる。
別の実施形態では、コードは、論理オブジェクト全体の開始および終了を示す制御情報と組み合わせて、複数断片転送で論理オブジェクトを受け取るプロセスを含むことができる。コードは、複数のアレイサイドファイル記録セットに分割されたキャッシュサイドファイルへの複数の断片の記憶を制御するプロセス、および受け取った複数の断片をキャッシュし、すべての断片がキャッシュされたときに論理オブジェクトをデステージするプロセスをさらに含むことができる。
メインプロトコルおよびリモートプロトコル等の実行可能機能は、様々な実施を有することができる。いくつかの実施形態では、機能は、Microsoft Windows(登録商標)規格に従って定義されたアプリケーションプログラミングインタフェース(API)として実施することができる。特定の実施形態では、機能はホストAPI、たとえば、特別な書き込みコマンドまたは制御コマンドを送る、ディスクドライバレベルにおいてオペレーティングシステムとは別個のプログラムを含み得る。通常、アプリケーションは、中間アドレス変換プログラムを呼び出して、仮想アドレッシングを物理論理装置(LUN)アドレッシングに変換する。代替の実施形態では、アプリケーションは、論理ボリュームマネージャおよびファイルシステム(LVM/FS)仮想/物理アドレス変換を備えないシステムにおいて生モードすなわち物理モードで記憶装置またはディスクを使用することができる。ホストアプリケーション、たとえばMicrosoft SQL Server(登録商標)は一般に、ホスト常駐アドレス変換およびページ裂け保護プログラム(TPPP)を呼び出し、制御情報を中継する。
一実施形態では、ホストアプリケーションは、ターゲット記憶装置、書き込むべきアプリケーションページの開始アドレスおよび長さを識別する情報を送る。ホストアプリケーションは、論理アドレスから、たとえばディスクアレイLUNの物理アドレスの構成要素リストへの変換を要求する。ホストアプリケーションはまた、エンティティのすべてがリモートサイトにあるディスクにデステージされるか、あるいはページがいずれもデステージされないかいずれかであるように、複数の関連した物理書き込みに対して単一のページエンティティとして動作するよう物理ディスクまたはディスクアレイLUN等、個々の物理装置に指示することができる。
ページ裂け保護プログラムは、例によっては、論理ボリュームマネージャおよびファイルシステム(LVM/FS)の抽象化により不明瞭なアプリケーションの仮想アドレスを、ページに関連する実際の物理ディスク書き込みのピックリストに解決する。ページ裂け保護プログラムにより解決された情報は、制御メッセージにおける送信側アレイLUNに送られる。LVM物理ボリュームから論理ボリュームへのマッピングは、アプリケーションデータベースページの完全な内容が単一のリモートディスクボリューム内に常駐するように構成される。
実例では、開始および終了をひとくくりにする制御メッセージを利用して、開始断片および終了断片を識別する。他の実施形態は他の様式の境界を指定し得る。一例では、開始断片は最初の断片を送ることによって暗に示され、最初の断片は、総バイト数または総断片数等、単位総数を示す埋め込みコードを有する。埋め込みコードは、指定のアドレス範囲内の論理オブジェクトを受け取るターゲットLUN装置も含む。コードに内在するものは、総数の単位を受け取った後に論理オブジェクトまたはページの全体を自動的にデステージするコマンドである。このようにして、コードは明示的なページ終了メッセージまたはコマンドを必要としない。
図3と組み合わせて図4を参照して、フローチャートに、ページ裂けの遠隔記憶を回避するように制御信号を通信するサンプルダイアログの一例を示す。ホストは、複数のパラメータをページ裂け保護プログラムに送ること(402)によってトランザクション(400)を開始する。特定の例では、ホストは仮想記憶アドレスXに対する32Kバイトの書き込みを開始する意図を示すメッセージを送る。メッセージは、ページ裂け保護プログラムがページ開始メッセージとともにしかるべき物理LUNを通知することを命令する。ページ裂け保護プログラムは、利用可能なアドレス指定解決技術を用いて、仮想書き込みアドレスを物理アドレスに変換する(404)。よってページ裂け保護プログラムは、指定長の論理オブジェクトを指定の仮想記憶アドレスに書き込むアプリケーション要求を受け取ることができる。一例では、解決プログラムは、論理アドレスが、主記憶装置サイトの物理ディスクアレイLUN Yおよびミラーリング、または遠隔記憶装置サイトのミラーリング物理ディスクアレイLUN Zそれぞれに32Kバイトを記憶している特定のアドレスに解決される(406)ことを決める。アドレス解決プロセス406は、仮想書き込みアドレスを変換し、転送長を解決して、論理オブジェクトを複数断片で転送する少なくとも1つの物理記憶装置の少なくとも1つの物理アドレスを指定することができる。
ページ裂け保護プログラムは、ディスクアレイLUN YおよびディスクアレイLUN Zを含む個々のアレイすべてに制御メッセージを送る(408)。サーバ312からLUN Yへの制御メッセージは主制御ユニット318への直接接続を介して渡すことができ、LUN Zへの制御メッセージは、主制御ユニット318および通信パス302を経由して遠隔制御ユニット324に渡すことができる。制御メッセージは、コマンドが、リモートミラーキャッシュに保持されるべきであり、すべて一度にデステージされるか、またはまったくデステージされないかのいずれかであるべき論理オブジェクトページの開始であることを表す。制御メッセージは、続くページ終了制御メッセージが論理オブジェクトの終了を示して論理オブジェクトのデステージをアクティブ化するために送られるべきであることをさらに示す。このようにしてミラーキャッシュは物理記憶装置エンティティにデステージされるか、または代替として、論理オブジェクト断片のいずれの部分もデステージされない。
リモートミラーキャッシュにおける論理オブジェクトの完全性を保つ、実例としての方法は、任意の適切な様式でデータを複製するシステムで使用することができる。たとば、方法は、ディスクアレイ間で同期または非同期のデータ複製を利用しているシステムで使用することができる。同様に、方法は、アレイ間に任意のタイプのリンク、たとえば、ファイバチャネル(FC)、小型コンピュータシステムインタフェース(SCSI)、インターネットSCSI(iSCSI)、エンタープライズシステムコネクションアーキテクチャ(ESCON)、および他のリンク規格を有するシステムに使用することもできる。
図5Aを参照して、概略ブロック図に同期データ複製方法を示す。ホスト500からプライマリ記憶装置アレイ502に発行されたいずれの入出力コマンド510も、セカンダリ記憶装置アレイ504にコピー(512)される。データがセカンダリアレイ504のメモリに書き込まれると、入出力がプライマリアレイ502に対して承認(514)され、それからホスト500に対して承認(516)される。特定の実施形態では、主制御ユニットは、プライマリボリュームに対して書き込み動作を実行し、セカンダリボリュームに対して更新コピー動作を開始し、更新コピー動作の結果がわかった後でのみ、最終終了状態をホストに報告する。プライマリボリューム書き込みあるいはセカンダリボリューム更新コピー動作のいずれかが失敗した場合、主制御ユニットはユニットチェックを報告し、ホストシステムおよびアプリケーションプログラムがプライマリボリュームへの書き込み動作を失敗とみなす。リモートミラーキャッシュにおいて論理オブジェクトの完全性を保つ方法は、セカンダリボリュームが一貫しない、すなわち不正確なデータを含まないようにする。
実例に2サイトデータ複製を示し、実例はさらなる複製サイトにも同様に拡張される。2サイトデータ複製方法では、ホストアプリケーションがデータの保全を担当する。入出力コマンドは、アレイ502および504の両方に書き込まれたときのみにアプリケーション516に対して承認されるため、アプリケーションは、最初のコマンドが完了した場合のみ次の入出力コマンドを発行し、したがってデータは順序通りかつ一貫してセカンダリアレイ504に書き込まれる。同期複製は、新しい追加サイト毎にアプリケーションの応答時間が長くなることから複数サイトミラーリングにはあまり適していない。
図5Bを参照して、概略ブロック図に、記録順序を有する非同期データ複製方法を示す。ホスト500がプライマリ記憶装置アレイ502に発行した入出力コマンドは、コマンドがプライマリ記憶装置アレイ502のキャッシュに到達するとすぐに、ホスト500に対して即座に承認(522)される。シーケンス番号が入出力コマンドに付加され、セカンダリアレイ504に送られる(524)。セカンダリアレイ504へのパスは複数のパスまたはルートのいずれも通ることができるため、入出力コマンドが順序通りに到着しないという可能性がある。セカンダリアレイ504は、シーケンス番号に従って入力コマンドを並べ替えること、およびデータ記録を正しい順序で加えることを担当する。セカンダリアレイ504による管理により、順序通りの一貫したデータベースが確保されるが、故障の場合は大半の現在トランザクションが失われ得る。非同期データ複製は、アプリケーションホストに対する待ち時間の影響が少ない、またはないことから長距離複製により適している。
特定の例では、主制御ユニットは、セカンダリボリュームでの関連する更新コピー動作から独立して、プライマリボリューム動作を完了する。遠隔制御ユニットは、記録セット情報に従ってセカンダリボリュームの更新を管理し、セカンダリボリュームのシーケンス順序付きデータの一貫性を維持する。プライマリボリュームの書き込み動作が失敗した場合、主制御ユニットはユニットチェックを報告し、その動作に対しての非同期記録セットは作成しない。更新コピー動作が失敗した場合、遠隔制御ユニットは、故障のタイプに応じて、影響を受けた対あるいはコンシステンシグループ中のすべての対を任意選択的に中断することができる。中断された対の再開時に、主制御ユニットおよび遠隔制御ユニットは対の再同期をネゴシエーションすることができる。リモートミラーキャッシュにおいて論理オブジェクトの完全性を保つ方法は、動作が不正確な情報をセカンダリボリュームに残さないようにする。
図6を参照して、概略ブロック図に非同期データ複製におけるサイドファイルの使用法を示す。非同期複製は、更新発生のシーケンス順序トラッキングを利用して一貫性を確保する。トラッキングは、プライマリボリュームサイドファイル606およびセカンダリボリュームサイドファイル608において行われる。個々の更新はシーケンス番号を使用して順序付けられ、リモートアレイ604に送られる。リモートアレイ604は、セット中の次のシーケンス番号を受け取ると、プライマリアレイ602に対してシーケンス番号に従ってデータの受信を承認し、影響を受けたシーケンス番号がプライマリボリュームのサイドファイルリスト606から除去される。トランザクションがプライマリアレイ602とセカンダリアレイ604の間で失われた場合、特定のシーケンス番号のデータの再送信を要求することができる。
シーケンス番号は、プライマリアレイ602およびリモートアレイ604のメモリにおいて管理され、さらなる資源であるサイドファイル606および608を利用する。プライマリアレイ602に対して実行される入出力動作の場合、シーケンス番号および更新により影響を受けたブロックへのポインタを含むエントリが、サイドファイル606に追加される。同じブロックが後続の入出力動作で更新された場合、そのブロックの内容もまたサイドファイル606において再度記録される。サイドファイルサイズは、プライマリアレイ602により実行される入出力動作の数に対する、リモートアレイ604へのリンクのパフォーマンスに依存する。サイドファイル606がアレイ602中の総キャッシュメモリの所定の割合に達した場合、たとえば、低速リンクに起因して入出力動作がキャッシュにあふれてきている場合、ホスト600からの入出力速度が、サイドファイル606の優先を図って制限される。
サイドファイルは通常、通信がプライマリサイト602とセカンダリサイト604の間に存在する場合にのみ使用される。通信が不通になる場合、または対が中断されている場合、サイドファイルのオーバヘッドは高すぎるとみなされるため、代わりにビットマップを使用して、通常はトラック単位またはシリンダ単位で変更をトラッキングする。
各種実施形態では、非同期記録セットは、プライマリボリューム更新および関連する制御情報、たとえば、プライマリボリューム更新のシーケンス番号を含むことができ、それによって遠隔制御ユニットがセカンダリボリュームの更新一貫性を維持できるようにする。記録セット動作は、主制御ユニットでの記録セットの作成および記憶、遠隔制御ユニットへの記録セットの送信、遠隔制御ユニットへの記録セットの記憶、ならびに遠隔制御ユニットでの記録セットの選択および定着を含むことができる。他の動作としては、サイドファイルの流入制御が挙げられる。
一例では、ホストが書き込み入出力動作を要求すると、主制御ユニットは更新を実行し、記録セットを作成する。記録セットは、更新された記録、シーケンス番号、装置、シリンダ、トラック、およびレコード番号等のレコードの位置、およびレコード長を含むことができる。記録セット(レコードセット)は、主制御ユニットのキャッシュ記憶装置のキューに入れられ、ホスト入出力プロセスから独立して遠隔制御ユニットに送られる。遠隔制御ユニットは、記録セット中のシーケンス番号を使用して、プライマリボリュームの順序でセカンダリボリュームを更新する。シーケンス番号は、主制御ユニットが各コンシステンシグループに作成した記録セット数を識別する。更新された記録以外の記録セット情報も記録され、サイドファイルキャッシュとして知られているキャッシュの領域のキューに入れられる。
例では、主制御ユニットは、主制御ユニットのイニシエータポートを使用して、リモートI/Oと呼ばれる特別な入出動作を遠隔制御ユニットに発行することにより、記録セットを遠隔制御ユニットに送ることができる。リモートI/Oは、単一チャネルコマンドを使用して記録セットを効率的に転送するため、主制御ユニットは、非連続シーケンス番号であっても、複数の記録セットを単一リモートI/O呼び出しで送ることができる。遠隔制御ユニットは、キューを維持して、サイドファイル中の記録セットの記憶およびセカンダリボリューム中の記録更新のコミットを制御することにより、記録セットを記憶することができる。遠隔制御ユニットのキューイングは、シーケンス番号を使用して欠けている更新についてチェックすることができる。
ビットマップテーブルは、特定の時点から変更された装置上の記録をトラッキングするために有効な技法である。ビットマップテーブルは、変更されたトラック番号またはシリンダ番号を記録し、通常、変更の順序または詳細に関する情報は保持しない。対が中断される場合、デルタビットマップテーブルがプライマリアレイ602およびセカンダリアレイ604の両方に保持される。対の同期が再びとられると、変更されたシリンダのみがリモートアレイ604にコピーされ、データミラーリングを最新にする。その後、サイドファイルを再び使用して、更新を続ける。再同期中、リモートアレイ604上のデータは一貫性および信頼性がないものである。
コンシステンシグループのトラッキングを利用して、正しい動作を確保する。非同期コンシステンシグループは、更新シーケンスの一貫性がリモートサイトにおいて保たれ、確保されているボリューム対のユーザ定義セットである。各非同期ボリューム対はコンシステンシグループに割り当てられる。実例としてのシステムでは、データベースシステムは、各主制御ユニット毎に所定数のコンシステンシグループを構成することを許し、コンシステンシグループのグループベースの動作をサポートする。コンシステンシグループは、複数のボリュームにわたる、データベースの更新シーケンスの一貫性を保てるようにし、故障または災害の場合にリモートサイトでの即座のデータベース復元をやりやすくする。
アプリケーションコマンドは、2つ以上の物理装置の集合を含む。したがって修正動作は、すべての入出力アクティビティが一貫してリモート装置に適用されるという前提に頼ることができる。非同期動作中、装置群中のすべての装置は同じコンシステンシグループを形成する。サイドファイル中のシーケンス番号はコンシステンシグループの粒度レベルで発行されるため、そのコンシステンシグループのプライマリ装置に適用された入出力動作は、同じ順序でセカンダリ装置に適用される。コンシステンシグループ中の装置が更新に利用することができない場合、コンシステンシグループ全体がエラー状態になる。コンシステンシグループは、コンシステンシグループ中のすべての装置に対する書き込みが、それまでのすべての書き込みの準備ができるまでデステージされないように定義され制御される。一貫性は、単一のLUNだけではなくコンシステンシグループ中のすべての装置に適用される。
リモートミラーキャッシュにおいて論理オブジェクトの完全性を保つ方法は、初期コピー動作および更新コピー動作等、データベースシステムの様々なリモートコピー動作に使用することができる。初期コピー動作は、一般にホストプロセスから独立して、プライマリボリュームおよびセカンダリボリュームを同期させる。初期コピーは通常、ユーザがボリューム対を追加するときに行われる。新しい対が作成されると、プライマリボリュームの内容全体が、診断および未割り当て代替トラック以外、シリンダ単位でセカンダリボリュームにコピーされる。様々なデータベースシステム実施形態は、初期コピーの際にリモートミラーキャッシュにおける論理オブジェクトの完全性を保つ方法の使用を実施しても、または省いてもよい。初期コピーは一般に、データベースの使用がより制御されている状況で行われるため、データベースシステム実施形態によっては、初期コピーの際にリモートミラーキャッシュにおける論理オブジェクトの完全性を保つ方法に関連するオーバヘッドを省き得る。
更新コピー動作は、ホストが、書き込み入出力動作を、確立されたボリューム対の中のプライマリボリュームに発行するときに行われる。更新コピー動作は、プライマリボリューム入出力動作をセカンダリボリュームに対して繰り返して、ボリューム対の同期性を保つ。リモートミラーキャッシュにおいて論理オブジェクトの完全性を保つ方法の使用は、更新をコピーして正確なデータベース動作を保証する際に有用である。
本開示に各種実施形態について説明したが、これら実施形態は例示として理解されるべきであり、特許請求の範囲を限定しない。述べた実施形態の多くの変形、変更、追加、および改良が可能である。たとえば、当業者は、本明細書に開示した構造および方法の提供に必要なステップを容易に実施し、プロセスパラメータ、材料、および寸法は例としてのみ与えられていることを理解するであろう。パラメータ、材料、および寸法は、所望の構造ならびに変更を実現するように変更することが可能であり、これは特許請求の範囲内である。本明細書に開示した実施形態の変形および変更はまた、併記の特許請求の範囲内にありながら行い得る。たとえば、開示した装置および技法は、任意の適当なかずの記憶要素を有する任意のデータベース構成において使用することが可能である。データベースシステムは磁気ディスク記憶要素を開示しているが、任意の適当なタイプの記憶技術を実施し得る。システムは、様々なオペレーティングシステムおよびデータベースシステムを使用して実施することができる。制御要素は、汎用コンピュータシステム、ワークステーション、サーバ等のソフトウェアまたはファームウェアとして実施し得るが、そうでなければ専用装置および埋め込みシステムで実施してもよい。
スタートアップの失敗またはデータの破損につながり得る、アプリケーションページ裂け現象およびMicrosoft(登録商標)SQL Server等のサーバによる処理の一例を示す概略ブロック図である。 ページ裂け現象を処理するシステムおよび方法の一実施形態を示す概略絵画的表現図である。 実例となるリモートミラーページ裂けデコミット技法の実施に使用することができるファイバチャネル接続に基づいたデータベースシステムの一例を示す概略ブロック図である。 遠隔記憶装置のページ裂けを回避する様式で制御信号をやりとりするサンプルダイアログの一例を示すフローチャートである。 リモートミラーキャッシュの論理オブジェクト完全性を保つ、実例となる方法に合致した同期データ複製技法を示す概略ブロック図である。 リモートミラーキャッシュの論理オブジェクト完全性を保つ、実例となる方法に合致した非同期データ複製技法を示す概略ブロック図である。 非同期データ複製でのサイドファイルの使用を示す概略ブロック図である。
符号の説明
208・・・ホストアプリケーション
218・・コントローラ
220・・・ディスク
302・・・ファイバチャネル接続
312・・・プライマリサイトのサーバ
314・・・リモートサイトのサーバ
320,328・・・ターゲット
322・・・イニシエータ
334・・・コンシステンシグループ

Claims (10)

  1. 複数の断片で論理オブジェクトを転送するデータベースアプリケーションを実行することが可能なデータベースシステム(200)であって、
    主記憶装置サイト(202)と、
    該主記憶装置サイトにリンク可能であり、前記主記憶装置サイトに記憶されている情報をミラーリング可能な遠隔記憶装置サイト(204)であって、記憶装置(220)および複数のアレイサイドファイル記録セットに分割されたキャッシュサイドファイル(216)を含む、遠隔記憶装置サイト(204)と、
    前記主記憶装置サイトで実行可能であり、前記複数断片データベースアプリケーション転送における論理オブジェクト断片の開始および完了を示す情報を含めることができるメインプロトコルと、
    前記遠隔記憶装置サイトで実行可能であり、受け取った前記複数断片をキャッシュし、すべての断片を受け取ると、前記論理オブジェクトを記憶装置にデステージすることを可能にするように前記キャッシュサイドファイルを制御可能なリモートプロトコルと、
    を備えた、複数の断片で論理オブジェクトを転送するデータベースアプリケーションを実行することが可能なデータベースシステム。
  2. 前記メインプロトコルは、
    (1)開始断片および終了断片を明示的に識別すること、および
    (2)前記開始断片および前記終了断片のいずれかを暗黙的に示すこと、
    を含む群の中から選択された技法を用いて、論理オブジェクト断片の開始および完了を示す情報
    を含める
    請求項1記載の複数の断片で論理オブジェクトを転送するデータベースアプリケーションを実行することが可能なデータベースシステム。
  3. 前記メインプロトコルは、
    論理アドレスを物理アドレスリストに変換するアドレス変換プロセス(404)
    をさらに備えた、
    請求項1記載の複数の断片で論理オブジェクトを転送するデータベースアプリケーションを実行することが可能なデータベースシステム。
  4. 前記メインプロトコルは、
    前記データベースアプリケーションの仮想書き込みアドレスを、前記論理オブジェクトに関連する実際の物理媒体書き込みのピックリストに解決するアドレス変換プロセス(406)
    をさらに備えた、
    請求項1記載の複数の断片で論理オブジェクトを転送するデータベースアプリケーションを実行することが可能なデータベースシステム。
  5. 前記メインプロトコルは、
    すべてが前記記憶装置にデステージされるか、またはまったく前記記憶装置にデステージされないように単一のオブジェクトエンティティとして前記複数の物理書き込みに対して動作するように個々の物理記憶要素に指示する、前記リモートプロトコルに通信する制御メッセージを作成することが可能なプロセス(408)
    をさらに備えた、
    請求項1記載の複数の断片で論理オブジェクトを転送するデータベースアプリケーションを実行することが可能なデータベースシステム。
  6. 前記メインプロトコルは、
    指定された長さの前記論理オブジェクトを指定の仮想記憶アドレスに書き込むアプリケーション要求を受け取ることが可能なプロセスと、
    前記仮想書き込みアドレスを変換可能であり、前記転送長を解決して、断片における前記論理オブジェクトを転送する、少なくとも1つの物理記憶装置の少なくとも1つの物理アドレスを指定することが可能なプロセス(404、406)と、
    デステージのためにリモートミラーキャッシュに保持すべき論理オブジェクトの開始を記述した第1の制御メッセージを前記少なくとも1つの物理記憶装置に送ることが可能なプロセス(408)と、
    前記ミラーキャッシュが前記少なくとも1つの物理記憶装置にデステージされるように前記論理オブジェクトの終了を記述した第2の制御メッセージを送ることが可能なプロセスであって、前記論理オブジェクト断片のいずれの部分も他の様式ではデステージされない、第2の制御メッセージを送ることが可能なプロセスと
    をさらに備えた、
    請求項1記載の複数の断片で論理オブジェクトを転送するデータベースアプリケーションを実行することが可能なデータベースシステム。
  7. (1)同期データ複製、および
    (2)非同期データ複製を含む群の中から選択される
    技法を用いて、情報が前記主記憶装置サイトから前記遠隔記憶装置サイトに複製される、
    請求項1記載の複数の断片で論理オブジェクトを転送するデータベースアプリケーションを実行することが可能なデータベースシステム。
  8. 前記論理オブジェクト断片は、全か無かの様式でコンシステンシグループ中のすべての装置に可制御的にデステージされる、
    請求項1記載の複数の断片で論理オブジェクトを転送するデータベースアプリケーションを実行することが可能なデータベースシステム。
  9. 複数断片の論理オブジェクトを主記憶装置サイトから、記憶装置および複数のアレイサイドファイル記録セットに分割されたキャッシュサイドファイルを含む遠隔記憶装置サイトにミラーリングするデータベースアプリケーションを走らせるデータベースシステムにおいて実行されるプログラムコードが記憶されたコントローラ使用可能媒体であって、
    前記プログラムコードは、
    前記コントローラに、前記主記憶装置サイトと前記遠隔記憶装置サイトの間でデータをリンクしミラーリングする前記データベースアプリケーションをインタフェースさせることが可能なコードと、
    前記コントローラに、前記複数断片データベースアプリケーション転送において論理オブジェクトの開始および終了を示す制御情報を作成および配布させることが可能なコードであって、前記制御情報は、前記キャッシュサイドファイルを制御して、受け取った前記複数断片をキャッシュし、すべての断片を受け取ると、前記記憶装置への前記論理オブジェクトのデステージを可能にするコードと
    を含むコントローラ使用可能媒体
  10. 複数断片の論理オブジェクトを主記憶装置サイトから遠隔記憶装置サイトにミラーリングするデータベースアプリケーションを走らせるデータベースシステムにおいて実行されるプログラムコードが記憶されたコントローラ使用可能媒体であって、
    前記プログラムコードは、
    前記コントローラに、論理オブジェクト断片の開始および終了を示す制御情報と組み合わせて、複数断片転送における前記論理オブジェクトを受け取らせることが可能なコードと、
    前記コントローラに、複数のアレイサイドファイル記録セットに分割されたキャッシュサイドファイルに前記論理オブジェクト複数断片の記憶を制御させることが可能なコードと、
    前記コントローラに、受け取った前記複数断片をキャッシュさせ、すべての断片を受け取ると、前記論理オブジェクトの前記記憶装置へのデステージを可能にさせることが可能なコード
    を含むコントローラ使用可能媒体。
JP2004302414A 2003-10-29 2004-10-18 リモートミラーキャッシュ内の論理オブジェクトの完全性を保つシステム Expired - Fee Related JP4152373B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/697,820 US7293048B2 (en) 2003-10-29 2003-10-29 System for preserving logical object integrity within a remote mirror cache

Publications (2)

Publication Number Publication Date
JP2005135405A JP2005135405A (ja) 2005-05-26
JP4152373B2 true JP4152373B2 (ja) 2008-09-17

Family

ID=34550456

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004302414A Expired - Fee Related JP4152373B2 (ja) 2003-10-29 2004-10-18 リモートミラーキャッシュ内の論理オブジェクトの完全性を保つシステム

Country Status (2)

Country Link
US (1) US7293048B2 (ja)
JP (1) JP4152373B2 (ja)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4629342B2 (ja) * 2004-01-09 2011-02-09 株式会社日立製作所 ストレージ装置およびその制御方法
US7249277B2 (en) * 2004-03-11 2007-07-24 Hitachi, Ltd. Disk array including plural exchangeable magnetic disk unit
US8200921B2 (en) * 2004-03-12 2012-06-12 Hewlett-Packard Development Company, L.P. Data synchronization for two data mirrors with sidefiles
GB0412609D0 (en) * 2004-06-05 2004-07-07 Ibm Storage system with inhibition of cache destaging
US7058731B2 (en) * 2004-08-03 2006-06-06 Hitachi, Ltd. Failover and data migration using data replication
US7519851B2 (en) * 2005-02-08 2009-04-14 Hitachi, Ltd. Apparatus for replicating volumes between heterogenous storage systems
JP4699091B2 (ja) * 2005-05-31 2011-06-08 株式会社日立製作所 ディザスタリカバリ方法およびシステム
JP4681374B2 (ja) * 2005-07-07 2011-05-11 株式会社日立製作所 ストレージ管理システム
US7571268B2 (en) * 2006-04-06 2009-08-04 International Business Machines Corporation Consistent updates across storage subsystems coupled to a plurality of primary and secondary units at selected times
GB0616257D0 (en) * 2006-08-16 2006-09-27 Ibm Storage management system for preserving consistency of remote copy data
US7644300B1 (en) * 2007-04-20 2010-01-05 3Par, Inc. Fast resynchronization of data from a remote copy
US20090112915A1 (en) * 2007-10-31 2009-04-30 Microsoft Corporation Class configuration for locally cached remote data binding
US7930497B2 (en) * 2008-01-10 2011-04-19 International Business Machines Corporation Using multiple sidefiles to buffer writes to primary storage volumes to transfer to corresponding secondary storage volumes in a mirror relationship
US7962780B2 (en) * 2008-08-22 2011-06-14 International Business Machines Corporation Command sequence numbering apparatus and method
WO2010049929A1 (en) * 2008-10-27 2010-05-06 Kaminario Tehnologies Ltd. A mass-storage system utilizing solid-state storage and non-solid-state storage
US9098207B2 (en) 2009-03-25 2015-08-04 International Business Machines Corporation Transforming logical data objected for storage includes identifying multiple write request to the same logical object and grouping transformed data chunks
US8438332B2 (en) * 2009-06-22 2013-05-07 International Business Machines Corporation Apparatus and method to maintain write operation atomicity where a data transfer operation crosses a data storage medium track boundary
US8433866B2 (en) * 2009-10-23 2013-04-30 Hitachi, Ltd. Remote copy system and remote copy control method in which a copy pair is changed from a first consistency group to a second consistency group (STG)
US20110161553A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Memory device wear-leveling techniques
US8380931B2 (en) * 2010-03-12 2013-02-19 Microsoft Corporation Memory cache data center
US8850114B2 (en) 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
JP2016024656A (ja) * 2014-07-22 2016-02-08 富士通株式会社 ストレージ制御装置、ストレージシステム及びストレージ制御プログラム
US10033810B2 (en) 2015-12-03 2018-07-24 International Business Machines Corporation Recovery point objective via dynamic usage of bind segments in a global mirror environment
US10613771B2 (en) 2017-02-27 2020-04-07 International Business Machines Corporation Processing a write of records to maintain atomicity for writing a defined group of records to multiple tracks
US10606719B2 (en) 2017-02-27 2020-03-31 International Business Machines Corporation Mirroring writes of records to maintain atomicity for writing a defined group of records to multiple tracks
US11016694B1 (en) * 2017-10-30 2021-05-25 EMC IP Holding Company LLC Storage drivers for remote replication management
US11349917B2 (en) 2020-07-23 2022-05-31 Pure Storage, Inc. Replication handling among distinct networks
US11442652B1 (en) 2020-07-23 2022-09-13 Pure Storage, Inc. Replication handling during storage system transportation

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US6052797A (en) 1996-05-28 2000-04-18 Emc Corporation Remotely mirrored data storage system with a count indicative of data consistency
US6529944B1 (en) 1999-01-06 2003-03-04 Emc Corporation Host system for remote control of mass storage volumes using cascading commands
AU5774200A (en) * 1999-06-28 2001-01-31 Sangate Systems Inc. Intelligent splitter, system, and methods of use
US6735636B1 (en) * 1999-06-28 2004-05-11 Sepaton, Inc. Device, system, and method of intelligently splitting information in an I/O system
US7149919B2 (en) * 2003-05-15 2006-12-12 Hewlett-Packard Development Company, L.P. Disaster recovery system with cascaded resynchronization

Also Published As

Publication number Publication date
JP2005135405A (ja) 2005-05-26
US20050102553A1 (en) 2005-05-12
US7293048B2 (en) 2007-11-06

Similar Documents

Publication Publication Date Title
JP4152373B2 (ja) リモートミラーキャッシュ内の論理オブジェクトの完全性を保つシステム
KR100314418B1 (ko) Pprc쌍의2차볼륨의스냅샷복사장치및방법
US7788453B2 (en) Redirection of storage access requests based on determining whether write caching is enabled
US8005800B2 (en) Data storage system for fast reverse restore
US9146878B1 (en) Storage recovery from total cache loss using journal-based replication
US7370163B2 (en) Adaptive cache engine for storage area network including systems and methods related thereto
US7539703B2 (en) Setup method for disaster recovery system
US6823349B1 (en) Method and system for establishing, maintaining, and using a persistent fracture log
US8898112B1 (en) Write signature command
US7404051B2 (en) Method for replicating snapshot volumes between storage systems
US7464236B2 (en) Storage system and storage management method
US9256605B1 (en) Reading and writing to an unexposed device
US7103713B2 (en) Storage system, device and method using copy-on-write for synchronous remote copy
US6253295B1 (en) System and method for enabling pair-pair remote copy storage volumes to mirror data in another pair of storage volumes
JP4859605B2 (ja) 情報処理システム
US7185048B2 (en) Backup processing method
US8560886B1 (en) Method and system for rapid failback of a computer system in a disaster recovery environment
US7024530B2 (en) Method, system, and program for establishing and using a point-in-time copy relationship
US10235087B1 (en) Distributing journal data over multiple journals
JP2003223287A (ja) 記憶装置、この記憶装置のバックアップ方法及びプログラム
US11093347B2 (en) File system restoration using block-based snapshots and file system consistency check
US9378101B2 (en) Automatic failure recovery using snapshots and replicas
US11301330B2 (en) System and method for restoring metadata pages
JP2002108571A (ja) ディスクアレイのディスク障害復旧方法
US20090177916A1 (en) Storage system, controller of storage system, control method of storage system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080226

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

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

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

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees