JP2003517652A - ソース装置のミラーリングを非同期的に更新するための装置および方法 - Google Patents

ソース装置のミラーリングを非同期的に更新するための装置および方法

Info

Publication number
JP2003517652A
JP2003517652A JP2000541592A JP2000541592A JP2003517652A JP 2003517652 A JP2003517652 A JP 2003517652A JP 2000541592 A JP2000541592 A JP 2000541592A JP 2000541592 A JP2000541592 A JP 2000541592A JP 2003517652 A JP2003517652 A JP 2003517652A
Authority
JP
Japan
Prior art keywords
storage system
data
units
target
unit
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.)
Pending
Application number
JP2000541592A
Other languages
English (en)
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 JP2003517652A publication Critical patent/JP2003517652A/ja
Pending legal-status Critical Current

Links

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/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/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/2066Optimisation of the communication load

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)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 CPUと、このCPUに結合された第1の記憶システムと、第2の記憶システムと、この第2の記憶システムを第1の記憶システムに結合する通信リンクとを含むコンピュータシステムにおいて、CPUにより第1の記憶システムに書き込まれたデータの複数ユニットを、第2の記憶システムに対し非同期的にミラーリングさせるための方法および装置。発明の1つの態様では、CPUは、データのユニットを、第1の順序で第1の記憶システムに書き込み、このデータのユニットは、この第1の順序とは異なる第2の順序で、通信リンクを通じ、第1の記憶システムから第2の記憶システムに非同期的に送信される。もう1つの態様では、このデータのユニットは、このデータのユニットが第2の記憶システムで受け取られる順序から独立した順序で、第2の記憶システムにコミットされる。発明の更なる態様では、情報のパケットが、このデータのユニットが目標記憶システムにコミットされるべきコミットメント順序を特定すべく、通信リンクを通じ、目標記憶システムに送信される。発明のもう1つの態様では、このデータのユニットの各々の単一コピーが、非同期的ミラーリングをサポートすべくコピーをキューにバッファすることなく、第1の記憶装置内に書き込まれる。更なる態様では、第1の記憶システム内の記憶位置が、複数の整合セットに組織され、このデータのユニットは、各整合セットが、或る時点で第1の記憶システム内のこの整合セットの有効描写と整合する第2の記憶システム内の描写を持つように、通信リンクを通じ、非同期的に送信される。

Description

【発明の詳細な説明】
【0001】 (発明の分野) 本発明は、ミラーリングの目標(target)装置を非同期的に更新するための方
法および装置に関するものである。
【0002】 (関連技術の説明) 多数のコンピュータシステム構成は、ソース記憶装置に記憶された情報を、こ
のソース記憶装置から遠い場所に配置され得る目標記憶装置にミラーリングさせ
る。このようなシステムの1つの例証が、図1に関連して下に議論される遠隔ミ
ラーリングデータ設備(RDF)である。
【0003】 図1に示されたシステムにおいて、ホストCPU1は、ソース記憶装置3と記
憶コントローラ5とを含むソース記憶システム6に結合されている。ソース記憶
装置3は、ホストCPU1の主記憶を提供する1つの大きなディスクドライブで
あって良く、或いは、同じ機能を為すべく配置された複数の小さなディスクドラ
イブであっても良い。複数のディスクドライブを含む記憶システムの一例は、マ
サチューセッツ州ホプキントン(Hopkinton, MA.)のEMC社か
ら入手可能なディスクアレイのシンメトリック(SYMMETRIX)ラインで
ある。記憶装置3上に記憶されたデータは、ホストCPU1の動作にとって極め
て重大であるかも知れない。それ故、万一、記憶装置3に関連して或る問題が生
じた場合に、記憶されたデータが失われないことを確実にすべく、また、この記
憶装置に関連した諸問題のためにCPU1がダウンする危険性を最小限にすべく
、偶発事故に対する解決が望まれる。記憶装置3に関連して可能性の有る問題は
、記憶装置3の破壊を結果するであろう地震その他の自然災害のような破局的な
出来事と同様に、記憶されたデータを回復不能にするかも知れないハードウェア
およびソフトウェアエラーを含むであろう。
【0004】 記憶装置3に記憶されたデータを保護するための1つの解決は、このデータを
別の記憶装置に写す(ミラーリングさせる)ことである。図1は、このようなシ
ステムを例示しており、そこでは、ソース記憶システム6が、目標記憶コントロ
ーラ7と、関連する目標記憶装置9とを含む目標記憶システム8に結合されてい
る。データが記憶装置3に書き込まれると、それはまた記憶装置9にもミラーリ
ングされ得る。もし記憶装置3が破壊されるか、或いは、記憶データを回復不能
にするエラーを経験した場合、データは、ミラーリング目標記憶装置9から回収
することができる。図1に示されるように、目標システム8は、別のホストCP
U11用の主記憶システムとしてもまた機能し得る。或いは、この記憶システム
は、別のCPUに結合されることなく、ソース記憶システムに記憶されたデータ
のミラーリングのみに供され得る。図1に示されるような遠隔データ設備の一例
が、本出願人の譲受人に譲渡された米国特許第5,544,347号(Yana
i)に記載されている。
【0005】 万一の自然災害時の増強された保護を提供すべく、また、システム構成の柔軟
性を提供すべく、目標記憶システム8は、ソース記憶システム6から比較的遠距
離に離れて配置され得る。故に、比較的長距離のリンク13が、ソースおよび目
標記憶コントローラ5および7を共に結合すべく設けられ得る。参照によってこ
こに組み入れられる、「伝達媒体を介して結合された2つの遠隔配置装置をイン
ターフェースするための方法および装置(METHOD AND APPARA
TUS FOR INTERFACING TWO REMOTELY DIS
POSED DEVICES COUPLED VIA A TRANSMIS
SION MEDIUM)と題された、譲受人の同時継続中の米国特許出願第0
8/918,238号において議論されているように、ソースおよび目標記憶コ
ントローラ5および7間のリンク13は、このソースおよび目標記憶コントロー
ラ間で並列的に情報を伝達する複合通信リンク13aおよび13bを用いて実施
し得る。この同時継続中の出願においてさらに議論されているように、このソー
スおよび目標記憶コントローラが比較的遠距離に離れて配置された場合、リンク
13aおよび13bを介する伝播ディレイが相当なものになり得る。これは、R
DFシステムの性能に、このシステムが動作するモードに依存した重大な影響力
を持つ。
【0006】 米国特許第5,544,347号において議論されているように、図1に示さ
れるような遠隔データ設備は、同期モードまたは非同期モードの何れにおいても
動作させ得る。これらの動作モードの主要な違いは、ホストCPU1から受け取
るコマンドチェーンが記憶システムに対し“コミットされる”やり方に関連する
。チェーンは、ホストCPU1とソース記憶装置6の間の動作であり、そこでは
、ホストは、この動作後の単一の状態のみを見る。CPU1は、ソース記憶装置
6からコマンドチェーンがコミットされた(即ち、記憶装置によって成功裡に処
理された)という指示を受け取るまでは、動作が成功裡に完了したとみなさない
。各コマンドチェーンは、特定の論理ボリュームに向けられた1個以上のコマン
ドを含み得る。論理ボリュームは、ソース記憶装置3上の1個以上のブロックの
物理的記憶スペースに対しマッピングされる情報単位である。
【0007】 同期モードにおいて動作する時は、ホストCPU1は、コマンドチェーンがソ
ースおよび目標記憶システム6および8の両方に対しコミットされるまでは、こ
のコマンドチェーンによって特定される動作が完了したとみなさない。故に、同
期モードでは、1個以上の書き込みを実施するコマンドのチェーンに対し、ソー
ス記憶装置6は、データが両記憶システム6、8内(記憶装置3、9またはキャ
ッシュ等の一時的記憶スペース)に成功裡に書き込まれるまでは、ホストCPU
1に対しコマンドのチェーンがコミットされたという指示を提供しないであろう
【0008】 図1に示されたもののような遠隔データ設備が同期モードで動作する時、それ
は、ホストCPU1から書き込まれる情報の最大の保護を提供することが理解さ
れるべきである。何故ならば、CPU1は、それによって書き込まれた全てのデ
ータが2つの場所、即ち、ソース記憶装置6および目標記憶装置8内に記憶され
るまでは、コマンドの如何なるチェーンも成功裡に完了した(即ち、コミットさ
れた)と認識しないであろうからである。しかしながら、この増大した保護に支
払われるコストは、記憶システム6にデータを書き込むホストCPU1から発行
される全てのコマンドチェーンが、リンク13aおよび13bを介する伝播ディ
レイによって影響されることである。
【0009】 同期モードにおける動作の性能影響を処理すべく、図1に示されるような遠隔
データ設備を非同期モードにおいて実施することが提案されており、そこでは、
RDFシステムは、それによって書き込まれる情報がソース記憶システム6内に
記憶されるや否や、この情報がリンク13aおよび13bを介して目標記憶シス
テム8に伝達されるのを待つことなく、ホストCPU1によって実行されるコマ
ンドチェーンをコミットする。この後、ホストCPU1に対し透明なやり方で、
RDFシステムは、更新された情報を、ソース記憶システム6から目標記憶シス
テム8に非同期的に転送する。
【0010】 (発明の概要) 発明の1つの例証的実施形態は、中央処理装置(CPU)と、このCPUに結
合された第1の記憶システムと、第2の記憶システムと、この第2の記憶システ
ムを第1の記憶システムに結合する通信リンクとを含むコンピュータシステムに
おいて用いられる方法であって、CPUが、データの複数ユニットを第1の記憶
システムに第1の順序で書き込むものに向けられる。この方法は、CPUによっ
て第1の記憶システムに書き込まれたデータの複数ユニットを、第2の記憶シス
テムに対し、非同期的にミラーリングさせる。この方法は、(A)このデータの
複数ユニットを第1の記憶システムに記憶させるステップと、(B)このデータ
の複数ユニットを、通信リンクを通じて、第1の記憶システムから第2の記憶シ
ステムに、第1の順序とは異なる第2の順序で、非同期的に送信するステップと
を備える。
【0011】 発明のもう1つの例証的実施形態は、ソース記憶システムに結合された中央処
理装置(CPU)と、目標記憶システムと、この目標記憶システムをソース記憶
システムに結合する通信リンクとを含み、CPUが、データの複数ユニットをソ
ース記憶システムに第1の順序で書き込むコンピュータシステムにおいて用いら
れるソース記憶システムに向けられる。ソース記憶システムは、複数の記憶位置
を含む少なくとも1つの記憶装置と、CPUによって書き込まれたデータの複数
ユニットを、この少なくとも1つの記憶装置に記憶させると共に、この少なくと
も1つの記憶装置に書き込まれたデータの複数ユニットのうちの少なくとも幾つ
かを目標記憶システムにミラーリングさせる少なくとも1つのコントローラとを
含む。この少なくとも1つのコントローラは、この少なくとも幾つかのデータの
ユニットを、通信リンクを通じて、ソース記憶システムから目標記憶システムに
、この幾つかのデータのユニットがCPUからソース記憶システムに書き込まれ
ている第1の順序とは異なる第2の順序で非同期的に送信する。
【0012】 発明の更なる例証的実施形態は、中央処理装置(CPU)と、このCPUに結
合された第1の記憶システムと、第2の記憶システムと、この第2の記憶システ
ムを第1の記憶システムに結合する通信リンクとを含むコンピュータシステムに
おいて用いられる方法に向けられる。この方法は、第2の記憶システムに対し、
CPUによって第1の記憶システムに書き込まれたデータの複数ユニットをミラ
ーリングさせる。この方法は、(A)このデータの複数ユニットを第1の記憶シ
ステムに記憶させるステップと、(B)このデータの複数ユニットを、通信リン
クを通じて、第1の記憶システムから第2の記憶システムに、第1の順序で送信
するステップと、(C)このデータの複数ユニットを、このデータの複数ユニッ
トが第2の記憶システムで受け取られる順序から独立した第2の順序で第2の記
憶システムにコミットするステップとを備える。
【0013】 発明の更なる例証的実施形態は、中央処理装置(CPU)と、このCPUに結
合されたソース記憶システムと、目標記憶システムをソース記憶システムに結合
する通信リンクとを含み、ソース記憶システムが、通信リンクを通じて、目標記
憶システムに、CPUによってソース記憶システムに書き込まれたデータの複数
ユニットを送信するコンピュータシステムにおいて用いられる目標記憶システム
に向けられる。目標記憶システムは、このデータの複数ユニットを、通信リンク
を通じて、第1の順序で受け取る。目標記憶システムは、複数の記憶位置を含む
少なくとも1つの記憶装置と、通信リンクを通じてソース記憶システムから受け
取ったデータの複数ユニットを、この少なくとも1つの記憶装置に、このデータ
の複数ユニットが目標記憶システムで受け取られる第1の順序から独立した第2
の順序でコミットする少なくとも1つのコントローラとを含む。
【0014】 発明の更なる例証的実施形態は、ソース記憶システムに結合された中央処理装
置(CPU)と、目標記憶システムと、この目標記憶システムをソース記憶シス
テムに結合する通信リンクとを含み、CPUが、データの複数ユニットをソース
記憶システムに書き込むコンピュータシステムにおいて用いられるソース記憶シ
ステムに向けられる。ソース記憶システムは、複数の記憶位置を含む少なくとも
1つの記憶装置と、CPUによって書き込まれたデータの複数ユニットを、この
少なくとも1つの記憶装置に記憶させると共に、このデータの複数ユニットのう
ちの少なくとも幾つかを目標記憶システムにミラーリングさせる少なくとも1つ
のコントローラとを含む。この少なくとも1つのコントローラは、この少なくと
も幾つかのデータのユニットを、通信リンクを通じて、目標記憶システムに、送
信順序で送信すると共に、このデータの複数ユニットのうちのこの少なくとも幾
つかが、送信順序から独立した目標記憶システムにおいてコミットされるべきコ
ミットメント順序を特定する少なくとも1パケットの情報を、通信リンクを通じ
て、目標記憶システムに送信する。
【0015】 発明のもう1つの例証的実施形態は、中央処理装置(CPU)と、このCPU
に結合され且つ複数の記憶位置を含む第1の記憶システムと、第2の記憶システ
ムと、この第2の記憶システムを第1の記憶システムに結合する通信リンクとを
含むコンピュータシステムにおいて用いられる方法に向けられる。第1の記憶シ
ステムは、キャッシュと、複数の記憶位置を含む少なくとも1つの記憶装置とを
含む。この方法は、CPUによって第1の記憶システム内のこの複数の記憶位置
のうちの少なくとも幾つかに書き込まれたデータの複数ユニットを、第2の記憶
システムに対し、非同期的にミラーリングさせる。この方法は、(A)このデー
タの複数ユニットの各々の単一コピーを、非同期ミラーリングをサポートすべく
各データのユニットのコピーをキューにバッファすることなく、直接キャッシュ
内に記憶させるステップと、(B)このデータの複数ユニットの各々を、通信リ
ンクを通じて、第1の記憶システムから第2の記憶システムに非同期的に送信す
るステップとを備える。
【0016】 発明の更なる例証的実施形態は、ソース記憶システムに結合された中央処理装
置(CPU)と、目標記憶システムと、この目標記憶システムをソース記憶シス
テムに結合する通信リンクとを含むコンピュータシステムにおいて用いられるソ
ース記憶システムに向けられる。ソース記憶システムは、複数の記憶位置を含む
少なくとも1つの記憶装置と、この複数の記憶位置の部分集合に対応する複数の
キャッシュ位置を含むキャッシュと、CPUによってこの複数の記憶位置の少な
くとも幾つかに書き込まれたデータの複数ユニットを、目標記憶システムに対し
、非同期的にミラーリングさせる少なくとも1つのコントローラとを含む。この
少なくとも1つのコントローラは、このデータの複数ユニットの各々の単一コピ
ーを、非同期ミラーリングをサポートすべくこのデータの複数ユニットの各々の
コピーをキューにバッファすることなく、直接キャッシュ内に記憶させると共に
、このデータの複数ユニットの各々を、通信リンクを通じて、第1の記憶システ
ムから第2の記憶システムに非同期的に送信する。
【0017】 発明の更なる例証的実施形態は、中央処理装置(CPU)と、このCPUに結
合された第1の記憶システムと、第2の記憶システムと、この第2の記憶システ
ムを第1の記憶システムに結合する通信リンクとを含むコンピュータシステムに
おいて用いられる方法に向けられる。この方法は、CPUによって第1の記憶シ
ステム内のこの複数の記憶位置の少なくとも幾つかに書き込まれたデータの複数
ユニットを、第2の記憶システムに対し、非同期的にミラーリングさせる。この
方法は、(A)この複数の記憶位置を、複数の整合セットの記憶位置に組織する
ステップと、(B)このデータの複数ユニットを、通信リンクを介し、第1の記
憶システムから第2の記憶システムに、記憶位置の各整合セットが、或る時点で
第1の記憶システム内で有効な描写(representation)の記憶位置の整合セット
と一致する第2の記憶システム内の描写を持つように、非同期的に送信するステ
ップとを備える。
【0018】 発明の更なる例証的実施形態は、ソース記憶システムに結合された中央処理装
置(CPU)と、目標記憶システムと、この目標記憶システムをソース記憶シス
テムに結合する通信リンクとを含むコンピュータシステムにおいて用いられるソ
ース記憶システムに向けられる。ソース記憶システムは、複数の記憶位置を含む
少なくとも1つの記憶装置と、この複数の記憶位置を、複数の整合セットの記憶
位置の組織すると共に、CPUによって、この複数の記憶位置の少なくとも幾つ
かに書き込まれたデータの複数ユニットを、目標記憶システムに対し、非同期的
にミラーリングさせる少なくとも1つのコントローラとを備える。この少なくと
も1つのコントローラは、このデータの複数ユニットを、通信リンクを介し、ソ
ース記憶システムから目標記憶システムに、記憶位置の各整合セットが、或る時
点でソース記憶システム内で有効な描写の記憶位置の整合セットと一致する目標
記憶システム内の描写を持つように、非同期的に送信する。
【0019】 (詳細な説明) 本発明は、ソース記憶装置からミラーリング目標記憶装置を非同期的に更新す
るための方法および装置に向けられる。本発明が用いられ得る適用の1つの例証
は、下に詳細に議論される遠隔ミラーリングデータ設備である。しかしながら、
本発明が多くの他の適用およびシステム構成において採用されることができ、遠
隔ミラーリングデータ設備での使用に限定されないことは理解されるべきである
。例えば、幾つかのネットワーク構成においては、記憶装置のミラーリングコピ
ーを設けるのが望ましいであろう。本発明は、このようなネットワーク適用にお
いて、非同期的ミラーリングを提供するのに用いられ得る。故に、本発明の1つ
の例証的実施形態が、図1に示されるようなRDFシステムに関連して下に説明
されるが、本発明は、このような適用に限定されない。
【0020】 ソース記憶システム6から目標記憶システム8を非同期的に更新するための1
つの考えられる技術は、記憶装置6内の適当な位置への書き込みを初期に委ね、
引き続き、或る時間遅れをもって、目標記憶システム8へ更新をコピーすること
である。しかしながら、単純な例は、このような技術の採用における不利を例示
する。この例の目的のために、ホストCPU1からソース記憶システム6への各
書き込みは、論理ボリューム内の情報のトラック上で行なわれる。この例におい
て、トラックは、ホストCPU1によって演算される最小量の情報を指定する。
当業者によって理解されるであろうように、CPU1により参照される論理ボリ
ュームおよびトラックは、必ずしも夫々、ソース記憶装置3内の物理的装置(例
えば、ディスクドライブ)およびこの上のトラックに直接マッピングされない。
むしろ、各論理ボリュームが多数の物理的装置にマッピングされるか、或いは、
多数の論理ボリュームが同じ物理的装置にマッピングされても良い。同様に、各
論理トラックは、必ずしも、如何なる物理的装置上のトラックにマッピングされ
ず、多数のトラックまたは装置を横切って広がる物理的位置にマッピングされて
良い。下に説明する例は、情報の論理トラック上で働くコマンドに関するが、本
発明がこの点に限定されず、本発明は、他の情報のユニットが、ホストCPU1
から発行されるコマンドにより採用されるシステムにおいて採用可能であること
が理解されるべきである。
【0021】 この単純な例においては、各チェーンが、ソース記憶システム6に情報を書き
込む単一のコマンドを含む3つのコマンドチェーンの列が、ホストCPU1上で
実行される。第1のコマンドチェーンは、論理ボリュームLV1上のトラックT
1にデータ“A”の書き込みを実行し、第2のコマンドチェーンは、論理ボリュ
ームLV4上のトラックT2に何らかのデータの書き込みを実行し、第3のコマ
ンドチェーンは、LV1上のトラックT1にデータ“B”の書き込みを実行する
。もし、例えば、単純な2つのチェーンディレイが、2つのチェーンディレイ後
に、更新された情報が目標記憶システム8に非同期的に転送されるように、目標
記憶システム8の非同期的更新に採用されたとすれば、ソース記憶システム6に
書き込まれた情報の幾つかが失われることになるであろう。上記チェーンの特定
の例を参照すると、もし2つのチェーンディレイが、LV1/T1上の情報が目
標記憶システム8にコピーされる時まで、LV1/T1へのデータ“A”の書き
込みを非同期的に行なわない試みに課されるとすると、データ“A”は、データ
“B”によって上書きされてしまうであろう。それ故、もしこの単純な技術が採
用されるとすれば、目標記憶システム8にミラーリングされた情報は、ソース記
憶システム6に書き込まれたものと一致しないであろう。
【0022】 発明の1つの例証的実施形態によれば、或る技術が、目標記憶システム8が、
ソース記憶システム6と一致するやり方で更新されることを確実にすべく採用さ
れる。故に、目標記憶システム8内の各論理ユニットの情報は、ミラーリングさ
せるソース記憶システム6内の対応する論理ユニットの実時間コピーではないけ
れども、或る時点でこの論理ユニットの有効状態と一致するミラーリングされた
論理ユニットのコピーを提供する。発明の1つの実施形態において、この一致は
、ソース記憶システム上に記憶された各論理ユニットに対し維持される。しかし
ながら、本発明がこの点に限定されず、一致が維持される論理ユニットの粒度が
異なり得ることは理解されるべきである。
【0023】 ソース記憶システム6内の対応するボリュームの一致(実時間ではないけれど
も)像を維持するやり方で目標記憶システム8上の論理ボリュームを非同期的に
更新するための1つの可能性は、ホストCPU1からソース記憶システム6に発
行されたコマンドチェーン(それによって書き込まれたデータを含む)を列(キ
ュー)に並ばせることである。上記の例を参照すると、このような実施において
、LV1/T1にデータ“B”を書き込む第3のコマンドチェーンは、まだ、ソ
ース記憶装置3内のLV1/T1に直ちにコミットされるが、コマンドチェーン
の全繋がりもまた、LV1/T1へのデータ“A”のより早い書き込みが保護さ
れるように、列をなして記憶される。このようにして、目標記憶システム8内の
論理ボリュームに対する更新が、ソース記憶装置3内に記憶されたデータから直
接というよりもむしろ、コマンドチェーンの列内の情報に基づいて起こるであろ
う。このような非同期モードを実施することは、目標記憶システム8上の整合し
たミラーリングを与えるであろうが、それは、相当量の資源を必要とするであろ
う。特に、各コマンドチェーンが、長い一連のコマンドを含み得、且つ相当量の
データをソース記憶装置3に書き込み得ることは理解されるべきである。それ故
、それは、相当量の記憶資源をとり、且つホストCPU1からソース記憶システ
ム6に送信され得るコマンドチェーンの繋がりの待ち行列化をサポートする制御
を必要とする。
【0024】 発明の1つの例証的実施形態においては、上で議論した2つの選択可能な実施
の最も有利な特徴を提供する、目標記憶システム8上の論理ユニットの情報を非
同期的に更新するための方法および装置が採用される。特に、整合的ミラーリン
グが望まれる単一論理セット内に結合された1組の論理ボリュームのために、本
発明のこの例証的実施形態は、目標記憶システム8上にこのようなミラーリング
を提供する。しかしながら、この結果は、相当なハードウェア資源、或いは、一
連のコマンドチェーンおよびソース記憶システム6内の関連するデータの待ち行
列化を必要とせずに達成される。
【0025】 本発明が実施され得るソース記憶システムの1つの例証は、上で議論されたデ
ィスクアレイのシンメトリック(SYMMETRIX)ラインである。このシン
メトリック(SYMMETRIX)記憶システムの簡単なブロック図が図2に示
されている。目標記憶システム8もまた、このようにして実施され得ることは理
解されるべきである。しかしながら、本発明がこのタイプの記憶システム上の実
施に限定されず、如何なる記憶システムにも採用され得ることは理解されるべき
である。例えば、本発明は、記憶装置3、9のような1個以上のディスクドライ
ブを用いる記憶システムと共に使用されることに限定されず、多くの他のタイプ
の記憶装置(例えば、テープドライブ)と共に使用され得る。
【0026】 図2の示された典型的な記憶システムは、図1の記憶装置3〜9を実施する複
数のディスクドライブ3a〜dを含む。図1のソース記憶コントローラ5は、各
々がディスクドライブの部分集合を制御するための能力を有する複数のディスク
コントローラ15a〜b、リンク13a〜bを介した目標記憶システム8(図1
)との通信を制御するRDFコントローラ17、および、通信リンク21を介し
たホストCPU1との通信を制御するホストバスコントローラ19に分配されて
いる。コントローラ15a〜b、19および17は、内部バス23を介して通信
する。バス23に接続されているのはまた、このコントローラの各々にアクセス
可能で、且つ改良されたシステム性能を提供するデータキャッシュ25aを含む
グローバルメモリ25である。特に、ホストCPU1が、記憶システム6からキ
ャッシュ25a内に記憶されたトラックの情報の読み出しを実行する時、ソース
記憶システム6は、この情報を記憶したディスクドライブ3a〜dのうちの1つ
からよりもむしろ、キャッシュからの読み出しを行なって、この読み出しをより
効率的に実行して良い。同様に、ホストCPU1が、ソース記憶システム6への
書き込みを実行する時、ホストバスコントローラ19は、データがキャッシュ2
5aに記憶されさえすればコミットされる書き込みを実行するコマンドチェーン
でもって、キャッシュ25aへの書き込みを典型的に実行する。この後、この書
き込みは、ディスクドライブ3a〜dのうちの適当な1つに対し、非同期的にデ
ステージされる(即ち、ホストCPU1に対し透明なやり方で)。故に、キャッ
シュは、一時的記憶装置として見ることができ、ディスクドライブ3a〜dの各
々は、記憶システム内の永久的記憶装置として見ることができる。
【0027】 発明の1つの実施形態において、コマンドチェーンおよびそれらの関連するデ
ータは、ソース記憶システム6内の特別な列内に記憶されない。むしろ、CPU
1から書き込まれたデータは、ソース記憶システム6内に既に提供された記憶資
ソース内にのみ記憶され、そこから直接的に目標記憶システム8に転送される。
これに関連して、性能改善が、目標記憶システム8に転送されたデータが、ディ
スクドライブ3a〜dのうちの1つからよりもむしろ、キャッシュ25aから読
み出された時に成し遂げられることは理解されるべきである。それ故、発明の1
つの例証的実施形態に応じて、ソース記憶システム6への書き込みを行なうコマ
ンドチェーンが実行された時、このコマンドチェーンは、このデータがキャッシ
ュ25aに記憶された時にコミットされ、このデータは、RDFの非同期モード
をサポートする如何なる付加的な列内にも記憶されない。このようにして、RD
Fの非同期モードをサポートする特別のデータ列を提供するために付加的な相当
なメモリ出費は必要無い。しかしながら、上に説明した単純な例とは違って、目
標記憶システム8にミラーリングされる各論理ボリュームにおける整合性を維持
するための技術が採用される。
【0028】 非同期モードの単純ディレイ実施に関連して上で議論された問題を防ぐために
、本発明の1つの実施形態では、ソース記憶システム6は、目標記憶システム8
に未だコミットされていない如何なるデータも上書きしない。発明のこの実施形
態に応じて、ソース記憶システム6は、このソース記憶システム内で更新された
どの情報のユニットが未だ目標記憶システム8にコミットされていないかを示す
情報を含むデータ構造を維持する。本発明の1つの実施形態では、この情報は、
各論理トラックに対し維持される。データ構造は、多くの方法のうちの如何なる
ものにおいても実施し得る。例えば、グローバルメモリ25内に表を設けること
ができ、この表は、ホストCPU1からの如何なる書き込みコマンドの実行にも
先立ってホストバスコントローラ19によりアクセスされ得る。ホストバスコン
トローラ19が、ホストCPU1から発行されたコマンドが、目標記憶システム
8に未だコミットされていない論理トラックの上書きを試みていることを決めた
時、このホストバスコントローラは、この書き込みが起こることを防止する。書
き込みのこの禁止は、多くの方法で行なうことができるが、本発明の1つの実施
形態では、この書き込み禁止は、ホストCPU1が書き込みを試みている論理ボ
リュームの分離によって成し遂げられる。当業者によって理解されるべきである
ように、ホストCPU1とソース記憶システム6との間のリンク21を実施する
のに用いられる多くの通信プロトコル(例えば、ESCON または Bus
& Tag)は、ソース記憶システム6がホストに対し、それが、要求された書
き込みをサービスできないこと、および、この記憶装置が、この書き込みを処理
することができることを示した後、或る時間後にこの書き込みを取り戻されなけ
ればならないことを示すことができる分離機能を提供する。この書き込みを禁止
するためにこの分離機能を使用することは、ホストが、現在の書き込みが処理で
きないのみならず、分離された論理ボリュームへの付加的な書き込みが、ソース
記憶システム6がこのボリュームを再接続するまで送られるべきでないことを認
識するであろうがために有利である。
【0029】 上の議論においては、目標システムに未だデステージされていないデータの上
書きを防止するためにチェックされる情報のユニットの大きさが論理トラックで
あり、試みられた上書きに応答して分離された情報のユニットが論理ボリューム
である。しかしながら、本発明がこの点に限定されないことは理解されるべきで
ある。論理ボリュームは、それが、多くの通信プロトコル(例えば、ESCON
)によってサポートされるものであるが故に、分離のための便利なユニットであ
る。しかしながら、代わりの実施形態においては、試みられた上書きに応答して
分離された情報のユニットは、試みられた上書きが、目標システムに未だデステ
ージされていない如何なるデータを上書きするかどうかを決定するためにチェッ
クされる同じユニットである。故に、代わりの実施形態においては、論理トラッ
クの試みられた上書きに応答して、それの全論理ボリュームよりはむしろこのト
ラックのみが分離される。さらに、本発明が、より大きなまたはより小さな情報
のユニットを採用することができる多くの他の実施が可能なので、論理トラック
の粒度を、書き込みの目的位置として用いて、可能性の有る上書きのチェックを
する事に限定されないことは理解されるべきである。可能性の有る上書きのため
にチェックされる情報のユニットが小さければ小さい程、システムが、上書きが
実際に起こってしまうかどうかを検出する際の精度が高くなることは理解される
べきである。しかしながら、このチェックの目的に用いられる情報のユニットが
小さければ小さい程、このチェックの目的のために設けられるデータ構造を維持
する際のオーバーヘッドは大きくなる。
【0030】 前述のことから理解されるべきであるように、論理ボリュームが、試みられた
上書きに応答して分離された後、ソース記憶システム6は、そこに記憶された更
新された情報が、目標記憶システム8にデステージされてしまうまで、この論理
ボリュームを再接続しないであろう。このデステージは、多くの方法の何れでも
起こり得る。本発明の1つの実施形態では、RDFコントローラ17は、グロー
バルメモリ25内の上述した表を周期的にポーリングして、目標記憶システム8
に未だデステージされていないトラックを特定し、このようなトラックの検出時
、このトラックのための適切なデータのコピーを(例えば、キャッシュ25aか
ら)目標記憶システム8に送信する手続きをとる。一旦、情報が目標記憶システ
ム8にコミットされてしまうと、グローバルメモリ25内の表は更新されて、こ
の特定のトラックが、ソースおよび目標記憶システム間の不整合な情報を含むリ
スト中にもはや無いことをミラーリングする。故に、論理ボリュームが、ホスト
CPU1からの試みられた上書きに応答して分離されてしまった後は、ソース記
憶システム6は、このバックグラウンドポーリングの通常のコースにおいて、R
DFコントローラ17が、更新された情報を、目標記憶システム8にデステージ
するのを単に待つ。しかしながら、情報の如何なる論理ユニットが、ホストCP
U1による使用から分離される時間も最小にすることが望ましいことは理解され
るべきである。それ故、本発明の1つの実施形態に応じて、どの論理ユニットが
分離された時も、この論理ユニット内に記憶された情報を直ちに目標記憶システ
ム8にデステージするステップがとられ、結果、この論理ユニットは再接続され
ることができる。
【0031】 論理ボリュームが、このトラックの1つの試みられた上書きに応答してホスト
CPU1から分離される時、この論理トラックのためのデータが、ソース記憶シ
ステム6上に記憶された情報の整合した描写を維持すべく、目標記憶システム8
に単にデステージされるべき以上の時間が存在する。このことは、各々がソース
記憶システム6への書き込みをおこなう3つのコマンドチェーンが連続的に実行
される単純な例を用いて説明され得る。第1のコマンドチェーンは2つのコマン
ドを含み、第1は、トラックLV1/T2への書き込みを実行し、第2は、トラ
ックLV1/T3への書き込みを実行する。第2のコマンドチェーンは単一のコ
マンドを含み、トラックLV2/T1へのデータ“A”の書き込みを実行する。
最後に、第3のコマンドチェーンも2つのコマンドを含み、第1は、トラックL
V2/T1へのデータ“B”の書き込みを実行し、第2は、トラックLV2/T
5への書き込みを実行する。このような一連のコマンドチェーンが、本発明の1
つの例証的実施形態に応じて処理されるやり方が下に説明される。
【0032】 第1のコマンドチェーンが受け取られた時、トラックLV1/T2およびLV
1/T3のためのデータが、このデータがトラックLV1/T2およびLV1/
T3に対応することの夫々の指定と共にキャッシュ25aに書き込まれる。加え
て、グローバルメモリ25が更新されて、トラックLV1/T2およびLV1/
T3が、各々、目標記憶システム8に未だデステージされていない新しく更新さ
れた情報を含むことを示す。この後、この第1のコマンドチェーンはコミットさ
れる。次に、第2のコマンドチェーンが、同様のやり方で実行され、データ“A
”がキャッシュ25a内のトラックLV2/T1のために記憶されると共に、グ
ローバルメモリ25内の表が更新されて、トラックLV2/T1が、目標記憶シ
ステムに未だデステージされていない新しく書き込まれたデータを含むことを示
す。この後、この第2のコマンドチェーンはホストCPU1にコミットされる。
第3のコマンドチェーンを実行することの試みの際、ホストバスコントローラ1
9は、グローバルメモリ25内の表から、トラックLV2/T1が、目標記憶シ
ステムに未だデステージされていない更新されたデータ(即ち、データ“A”)
を含むこと、および、それらが上書きされるべきでないことを検出する。それ故
、上で議論したやり方で、ホストバスコントローラ19は、論理ボリュームLV
2を分離する。
【0033】 上に述べたように、トラックLV2/T1が分離される時間を最小にするのが
望ましい。もし分離時間を最小にすることだけを考慮するとすれば、RDFコン
トローラ17は、単に、キャッシュ25aからトラックLV2/T1用のデータ
“A”を読み出し、このトラックのみを目標記憶システム8にデステージするこ
とができるであろう。しかしながら、もしこのことが起こるとすれば、目標記憶
システム8上に記憶される情報は、ソース記憶コントローラ上に記憶されたデー
タのどの時点での整合描写も含まないであろう。これに関し、目標記憶システム
8は、トラックLV2/T1用の更新された情報は含むであろうが、第1のコマ
ンドチェーン内に前もって書き込まれたトラックLV1/T2およびLV1/T
3内の情報は含まないであろう。
【0034】 前述の関連を処理すべく、発明の1つの実施形態では、試みられた書き込みと
、グローバルメモリ25内の表内のフラグで示されたトラックとの間で衝突が検
出された(対応する論理ボリュームの分離を結果する)時はいつも、ソース記憶
システムは、他の如何なるトラックが目標記憶システム8上の整合描写を維持す
べく目標記憶システム8にデステージされるべきかを決定すべくチェックする。
このチェックは、多くの方法の何れでも行なうことができる。例えば、トラック
を分離した後、ホストバスコントローラ19は、制御をRDFコントローラ17
に切り換えることができ、それは、グローバルメモリ25内の表内のエントリー
に問い合わせして、どのトラックが、グループとしてデステージされるべきかを
決定することができる。発明の1つの実施形態では、更新されてしまってはいる
が、目標記憶システム8にはまだデステージされていない情報を含む、グローバ
ルメモリ25内の表内のフラグで示されたトラックの全ては、如何なる論理ボリ
ュームも分離されることを結果する衝突が起こる時はいつも、共にデステージさ
れ得る。
【0035】 いずれかの論理ボリュームが分離されたときはいつも、表内のフラグで示され
たエントリーの全てをデステージすることが可能であるが、発明の代替可能な実
施形態では、フラグで示されたトラックの部分集合のみが、衝突が生じた論理ボ
リュームのための分離時間を最小にすべくデステージされる。発明のこの実施形
態のために、ソース記憶システム6内の論理ユニット(例えば、論理ボリューム
)は、各々が、ホストCPU1により特定され得る複数の整合セットに配列され
る。各整合セットは、ホストCPU1が、1つの時点でソース記憶システム6上
の有功状態と一致する目標記憶システム8上の描写を持つことを確実にしたいで
あろう論理セットを共に形成する多数の論理ユニットを含む。ここで議論される
例証では、整合セットは、論理ボリュームを含むべく配列される。しかしながら
、本発明がこの点に限定されず、整合セット内の論理ユニットの大きさが、論理
ボリュームよりも大きくても小さくても可能であることは理解されるべきである
【0036】 整合セットが採用され得るやり方の例は、データベースに関連する。1つの例
では、ホストCPU1は、DB1およびDB2で示される2つのデータベースを
含むかも知れない。各データベースは、複数の論理トラックを含んで良い。もし
、DB1が、上で説明した例において書き込まれた論理トラックLV2/T1、
LV1/T2、LV1/T3およびLV2/T5の各々を含めば、第3のコマン
ドチェーンを実行して、トラックLV2/T1内のデータ“A”を上書きする試
みにおいて衝突が検出された時、本発明の1つの実施形態は、目標記憶システム
8に対し、トラックLV2/T1内に記憶された情報のみならず、更新されてし
まってはいるが、未だデステージされていない情報を含む整合セット内の残りの
トラックの全てをもデステージするであろう。故に、論理トラックLV1/T2
およびLV1/T3も、トラックLV2/T1と共にデステージされるであろう
。この結果、ホストCPU1が、整合セットとして指定したデータベースDB1
は、或る時点でソース記憶システム6上のデータベースのために記憶された情報
と一致する目標記憶システム8上の描写を常に含むであろう。故に、もし、ソー
ス記憶装置3上のデータの喪失を結果するエラー若しくは破局が経験されても、
或る時点でのデータベースDB1用の情報が、目標記憶装置9から再構築され得
る。
【0037】 前述のことから、ホストが、同じ整合セット内で論理的に接続されていない論
理ユニット間の整合性を維持することに関しなくとも良いことは理解されるべき
である。上の例を再び参照すると、もし論理トラックLV2/T1がデータベー
スDB1内にあり、一方、論理トラックLV1/T2およびLV1/T3がデー
タベースDB2内にあれば、発明の現在説明されている実施形態は、第3のコマ
ンドチェーンの試みられた実行に応答して、衝突および論理ボリュームLV2の
対応する分離に対して異なる応答をするであろう。特に、論理トラックLV1/
T2およびLV1/T3が、LV2/T1と同じ整合セット内に存在しなければ
、衝突に応答して、ソース記憶システム6は、論理トラックLV2/T1内の情
報をデステージするのみであろう。このシステムは、LV1/T2およびLV1
/T3をデステージするのに必要な時間をとることはなく、それにより、論理ボ
リュームLV2のための分離時間を最小にする。この結果、目標記憶システム8
上に記憶された情報の全体が、如何なる時点でもソース記憶システム6上に記憶
された情報の全体と一致しないかも知れないことは理解されるべきである。しか
しながら、この不一致は重要ではない。何故ならば、CPU1により特定される
各整合セット(例えば、データベースDB1およびDB2)が、内部的に整合す
べく維持されるからである。
【0038】 発明の1つの実施形態では、ソース記憶システム6から目標記憶システム8に
情報をデステージするための上述した技術の両方が採用される。即ち、グローバ
ルメモリ25内の表内において衝突が検出された整合セット内のフラグで示され
た論理トラックの各々を直ちにデステージすることに加えて、本発明の1つの実
施形態はまた、可能な時はいつでも論理トラックをデステージすべく、バックグ
ラウンドで表を周期的にポーリングする。このポーリングは、例えば、RDFコ
ントローラ17内で実施することができる。衝突時のデステージに加えて、周期
的ポーリングのこの使用は、2つの理由で有利である。第1に、バックグラウン
ドにおける論理ユニットのデステージが、衝突、および、論理ユニットの分離に
起因する、この結果のディレイの可能性を最小にする。第2に、目標記憶システ
ム8を、できるだけ実時間に近く更新することが望まれる。
【0039】 分離時間を最小にする能力を課する本発明の上述した実施形態におけるシステ
ムには2つのパラメータ、即ち、各整合セット内の論理ユニットの数、および、
任意のコマンドチェーン内に設け得るコマンドの最大数が存在することは理解さ
れるべきである。整合セット内の論理ユニット(例えば、論理ボリューム)の数
に関しては、前述のことから、論理トラックが、(試みられた書き込みまたはバ
ックグラウンドポーリング動作の間の衝突に応答して)目標記憶システムにデス
テージされるべき時、それは、目標記憶システムに未だデステージされていない
情報を含む、対応する整合セット内の残りの論理トラックと共にデステージされ
るであろうことは理解されるべきである。もし、整合セット内に多数の論理ユニ
ットが存在すれば、多くの情報が、共にデステージされることが必要であろう。
これは、結果として衝突が生じた論理ユニットのための長い分離時間をもたらす
。それ故、本発明の1つの実施形態に応じて、各整合セット内の論理ボリューム
の数は、比較的少なく維持される。このはっきりした数は、勿論、システム毎に
変わるであろうし、本発明は、如何なる特定の数にも限定されない。多くのシス
テムに対しては、整合セット当たり約20個の論理ボリュームの限界が、充分に
小さな分離時間を提供するだろう。
【0040】 コマンドチェーンの長さに関しては、そこに含まれるコマンドの全てがコミッ
トされてしまうまでは、このコマンドチェーンがコミットされないことは理解さ
れるべきである。目標記憶システム8が、或る時点でソース記憶システム6と整
合するデータの有功セットを常に含むことを確実にすることが望まれるので、全
チェーンがソース記憶システム6にコミットされてしまうまでは、目標記憶シス
テム8にデステージされる、コマンドチェーンによって更新される情報が無いの
が好ましい。もし、コマンドチェーン内のコマンドの数に限界を置かないならば
、チェーンは、理論的には、キャッシュ25aをオーバーフローさせるに充分な
データを書き込むに充分な程長くなり得、このチェーンがコミットされ得る前に
、コマンドチェーン内のいくらかのデータをディスクドライブ3a〜dにデステ
ージする事を必要とする。グローバルメモリ25内の表内における衝突に応答し
て、このようなコマンドチェーンにより記憶される情報の全てをデステージする
ことは、望ましくない長い分離を結果するであろう。さらに、コマンドチェーン
が、キャッシュをオーバーフローさせる程長くはない場合でも、コマンドチェー
ンが、キャッシュに何千もの論理ユニットを書き込めば、衝突に応答した目標記
憶システムへのこのコマンドチェーンのデステージは、なお、受け入れ難い程長
い分離時間を結果するであろう。
【0041】 前述したことに鑑み、本発明の1つの実施形態では、遠隔データ設備が非同期
モードで動作している時、ホストCPU1からソース記憶システム6に送られ得
る有効なコマンドチェーンの長さに関し限界を置いている。チェーンのためにサ
ポートされるコマンドの特定の数は、システム毎に異なって良く、本発明は、如
何なる特定のコマンドチェーン長にも限定されない。約百のコマンドのコマンド
チェーン限界が、充分に短い分離時間、および、ホストCPU1が、非同期モー
ドで動作することが望ましい多くの応用をサポートする充分な柔軟性を提供する
であろうと信じられている。
【0042】 非同期モードにおいてRDFシステムを実施することが、情報が、ソースおよ
び目標記憶システム間のリンク13を介して送信されるやり方に何らかの影響を
持つことは理解されるべきである。上で議論した、譲受人の同時継続中の米国特
許出願第08/918,238号において議論されているように、ソースおよび
目標記憶システム間のリンク13が長い時、性能の理由で、ソースおよび目標記
憶システム間の相互作用を最小にすることが望ましく、この結果、連続的なデス
テージ動作のためのデータが、それらの間に配された如何なる相当なギャップ無
しに、リンク13上の単一データ転送中に共にパックされ得る。同期的に動作す
るRDFシステムにおけるこのような性能利点を達成する能力上の1つの限界は
、ホストCPU1が、典型的には、同じ論理ボリュームに対して未決着の多数の
書き込み動作を持たないであろうことである。これに関して、もし、ホストが、
単一の論理ボリュームに対し2つの書き込み動作を行なうことを望んだとすると
、それは、典型的には、この論理ボリュームへの第1の書き込みが、ソース記憶
システム6にコミットされてしまうまで、第2の書き込みを差し控えるであろう
。上で議論したように、同期システムにおいては、書き込みは、データが目標記
憶システム8上に記憶されるまでコミットされないであろう。故に、1個以上の
論理ボリュームを重く用いる任意のアプリケーションのために、同期システムの
性能は、ホストが、単一論理ボリュームに対する未決着の多数の非コミットメン
ト書き込み動作を持てないことによって悪くなるかも知れない。
【0043】 前述のことから理解されるべきように、本発明の非同期モードは、単一論理ユ
ニットに対し多数の連続書き込み動作を取り扱う点で、同期システムに対する利
点を提供する。特に、各書き込み動作は、データがソース記憶システム6内に記
憶されるや否やコミットされることができ、それにより、CPU1に、リンク1
3を通じる伝播ディレイにより影響されることなく、単一論理ユニットに対し多
数の書き込み動作を実行させることができ、同じトラックへの衝突によって、よ
り早く書き込まれたデータが目標記憶システム8にデステージされるまで論理ユ
ニットの分離をもたらすという、上で議論した制限だけを蒙る。さらに、ソース
記憶システム6から目標記憶システム8へのデータの転送は、ホストCPU1に
透明なやり方で、RDFシステムにより完全に制御される。
【0044】 コマンドチェーンを待ち行列化しない非同期モードでの動作は、目標記憶シス
テム8で受け取られるデータの処理に同期システムでは見つからない或るレベル
の複雑さを招く。特に、同期システムでは、コマンドチェーンは、目標記憶シス
テム8に順に送られる。故に、コマンドチェーンの全構造が目標記憶システム8
に送信される。逆に、非同期動作に関する本発明の上述した実施形態では、コマ
ンドチェーンは待ち行列化されない。それにも関わらず、発明の1つの実施形態
では、データが、コマンドチェーンによってコミットされる順番の何らかの指示
が、目標記憶システム8上に記憶されるデータの整合性を維持すべく保存される
【0045】 コマンドチェーンによって書き込まれたデータの順番を維持する重要性を例示
すべく、3つのコマンドチェーンに関する上述の例に再び立ち帰る。第1のコマ
ンドチェーンにおいて、トラックLV1/T2およびLV1/T3にデータを連
続的に書き込む2つのコマンドが実行される。第2のコマンドチェーンは、トラ
ックLV2/T1にデータ“A”を書き込む単一のコマンドを含む。第3のコマ
ンドチェーンは、トラックLV2/T1にデータ“B”を、次いで、トラックL
V2/T5にデータを連続的に書き込む2つのコマンドを含む。上で議論したよ
うに、発明の1つの実施形態に応じて、トラックLV2/T1内の情報を上書き
する試みは、ホストバスコントローラ19により検出され、トラックLV2/T
1内およびそれの整合セット内の残りのトラックの情報のデステージと同様に、
論理ボリュームLV2の分離を結果するであろう。再び、論理ボリュームLV1
およびLV2が同じ整合セット内にグループ分けされると仮定すると、デステー
ジ動作は、リンク13aおよび13bを介した、目標記憶システム8への、トラ
ックLV2/T1、LV1/T2およびLV1/T3に関連するデータの転送を
結果するであろう。目標記憶システム8上に記憶されたデータの整合性を確実に
するために、本発明の1つの実施形態は、第1のコマンドチェーンによって書き
込まれたデータ(即ち、トラックLV1/T2およびLV1/T3)が、第2の
コマンドチェーンによって書き込まれたデータ(即ち、トラックLV2/T1)
に先立って、目標記憶システム8にコミットされることを確実にする。
【0046】 順番が、目標記憶システム8にデステージされている情報のために維持される
ことを確実にすべく、本発明の1つの実施形態は、更新されてしまってはいるが
、未だ目標記憶システム8にコミットされていないとグローバルメモリ25内の
表内で同定された情報の全てのユニットのチェーン構造に関連した情報を記憶す
る。この情報は、多くの異なる方法の何れにおいても記憶されることができ、発
明は、如何なる特定の実施にも限定されない。発明の1つの例証的実施形態では
、情報のパケットが創られ、各整合セットのために絶えず更新される。各パケッ
トは、情報のどのユニット(上の例のトラック)が、同じコマンドチェーンによ
って書き込まれ、それ故、同時に目標記憶システムにコミットされるべきかを指
示する。加えて、各パケットは、トラックが、それらの連続したコマンドチェー
ンによって更新される順番を維持し、結果、情報のトラックは、同じ順番で目標
記憶システム8にコミットされることができる。
【0047】 もし、単一のコマンドチェーンによって書き込まれた情報の論理ユニットが、
同時に目標記憶システムにコミットされなければ、問題に遭遇したであろう。例
えば、もし、ソースおよび目標記憶システム間のリンク13が、特定のコマンド
チェーンに関連した情報を送信する途中でダウンするとしたならば、他のデータ
がそうでないのに、データの幾つかは、目標記憶システム8にコミットされるか
も知れない。これは、目標記憶システム内のデータが、どの特定の時点でも、ソ
ース記憶システム内に記憶されたそれと一致しないであろうために、目標記憶シ
ステム内のデータのソース記憶システムの関する整合性を壊すであろう。故に、
本発明の1つの実施形態に応じて、コマンドチェーンによって書き込まれた情報
のユニットの全てが、同時に目標記憶システムにコミットされる。これは、多く
の方法において行なうことができる。例えば、データが、目標記憶システム8で
受け取られる時に、それは、キャッシュ25a(図2)に直接書き込まれること
ができる。但し、キャッシュエントリが未だ有効でないという指示をもってであ
るが。このチェーン構造またはコミットメント順序を特定するパケットと同様、
整合セットのためのデータの全てが受け取られると、目標記憶システム8は、こ
の時、このパケットにより特定された順番で、適当なキャッシュエントリを有効
(本質的に、このデータのための書き込み動作をコミットする)として指定する
ことができる。故に、単一チェーン内のコマンドによって書き込まれた各データ
位置は、同時に有効化されまたはコミットされ得る。目標記憶システム8でのコ
ミットメント方式が、選択的に、多くの他の方法で実施し得ることは理解される
べきである。例えば、目標記憶システムで受け取られたデータは、キャッシュ2
5a以外の一時的記憶位置(例えば、グローバルメモリ25内の他のどこか)に
記憶されることができ、次いで、パケットにより特定された順番で、キャッシュ
25aに書き込みまたはコミットされ得る。
【0048】 更なるレベルの複雑さが、本発明の1つの実施形態において、多数のリンク1
3aおよび13bが、性能を最大化すべく、ソースおよび目標記憶システム6お
よび8間に設けられる事実のために追加される。リンク13aおよび13bを同
期させるのではなく、むしろ、これらのリンクを介して、それらの間の負荷を、
最良の全システム性能を提供すべく、最も効果的にバランスさせるやり方で、デ
ータを転送することが望まれる。故に、データのトラックが目標記憶システム8
に到着する順番は、このデータが、コミットメント順序とは異なる順序で受け取
られるかも知れないので、このデータが目標記憶システム8にコミットされる順
番を指示する必要は無い。故に、目標記憶システム8で受け取られるデータをコ
ミットするための適切な順序を特定する情報のパケットの使用は、また、有利に
、多数のリンク13aおよび13bに、システム性能を最大にする非同期的なや
り方で利用されることを可能ならしめる。
【0049】 単一の整合セットのためのトラックに関する多数のパケットが、リンク13a
〜bを介して、ソースおよび目標記憶システム6および8間を同時に通過中あっ
て良いことは理解されるべきである。例えば、百のトラックT1〜T100を含
む論理ボリュームLV1を含む整合セットのために、トラックT1〜T5のみが
書き込まれており、しかし、まだ目標記憶システムにデステージされていない時
点で、トラックT5で衝突を生じる多くの書き込み動作が起き得る。この点で、
上で述べたやり方において、トラックT1〜T5に含まれる情報は、リンク13
a〜bを介して、目標記憶システム8に、トラックT1〜T5のためのコミット
メント順序を定義するパケットと共に、転送(整合性が維持されるべきトラック
の群として)され得る。この後、および、トラックT1〜T5が目標記憶システ
ム8にコミットされる前に、同じ整合セット、例えば、トラックT50上で別の
衝突を引き起こす別のシリーズの書き込みが起こり得る。この点で、トラックT
50内の情報は、この整合セットのための第1のパケットの創造に引き続いて更
新されてしまった整合セット内の任意の他のトラックと共に、リンク13a〜b
を介して、目標記憶システム8に、この整合セットのために創造された先のパケ
ットに引き続く整合セットを更新したコマンドチェーンの構造を定義するパケッ
トと共に、転送されるであろう。
【0050】 前述の例から分かるように、単一の整合セットのための多数のパケットおよび
トラックの群が、ソース記憶システム6から目標記憶システム8に同時に通過中
であって良い。ソースおよび目標記憶システム上に記憶されたデータ間の整合性
を維持するべく、如何なる整合セットのためのトラックの群も、それらのパケッ
トが創られた順序で、目標記憶システム8にコミットされるべきであることは理
解されるべきである。もし、単一リンク13のみが、ソースおよび目標記憶シス
テム間で情報を転送するのに採用されたとすれば、特定の整合セットのためのパ
ケットの順番は、このパケットが目標記憶システム8で受け取られた順番に基づ
いて決定され得るであろう。しかしながら、上で議論したように、本発明の1つ
の実施形態では、システム性能を向上させるべく、多数のリンク13a〜13b
が採用されている。上で議論したように、システム性能を最高にすべく、この多
数のリンクを介して送られる情報を同期させないのが好ましい。それ故、発明の
1つの例証的実施形態に応じて、如何なる特定の整合セットのためのパケットも
、このパケットが発生させられた順序で、目標記憶システム8にコミットされる
ことを確実にするための技術が採用される。
【0051】 目標記憶システム8にパケットを順にコミットすることに関する関心は、同じ
整合セットに対応したパケットにのみ当てはまる。これに関し、整合性が、異な
る整合セット間では維持される必要が無いので、順番は、異なる整合セットに関
するパケット間では維持される必要は無い。 発明の1つの例証的実施形態に応じて、同じ整合セットに関するパケット間の順
番は、多数のリンク13a〜13bのうちの単一のものを介してそれらのパケッ
トが転送されることにより維持される。これに関し、多数のリンクのうちの単一
のものが、ソースから目標記憶システムにデステージされるデータのためのコマ
ンドチェーン構造を含むパケットの全てを送信するのに採用され得る。各パケッ
トは、比較的少ないデータを含むであろう。そして、それ故、リンク13a〜1
3bのうちの選択された方を介する比較的小さなバンド幅を必要とするであろう
。それ故、パケットを、多数のリンク13a〜13bのうちの単一のものに限定
することは、性能を最高にする試みにおいて、多数のリンクを介して転送される
負荷をバランスさせるソース記憶システム6の能力に重大な影響を持たないだろ
う。さらに、パケットの全てが、このリンクのうちの単一のものを介して送信さ
れる必要が無いことは理解されるべきである。むしろ、異なる整合セットのため
のパケットは、同じ整合セットに対応するパケットのみが同じリンクを介して転
送されることに限られた上で、リンク13a〜13bのうちの異なるものを介し
て転送されることができる。
【0052】 送信媒体を介して送信される如何なる他のデータとも同様に、エラー(データ
変形に起因する)が、リンク13a〜13bを介したパケットの送信において起
こり得る。整合セットのためのパケットの1つにおいて生じるエラーの可能性は
、エラー回復ルーチンに或るレベルの複雑さを加える。特に、特定の整合セット
のためのパケットが変形すると、それに対応するトラックの群は、この変形した
パケットを受け取った際に、直ちには、目標記憶システム8にコミットされない
であろう。典型的には、エラー回復は、リンク13a〜13bのうちの適当な1
つを介して、変形したパケットを再送信することを含むであろう。しかしながら
、同じ整合セットに関する他のパケットが、この再送信されたパケットに先立っ
て、目標記憶システム8で受け取られる可能性が有る。エラー回復ルーチンが、
同じ整合セットのための後続するパケットが、変形したパケットが再送信されて
、目標記憶システムにコミットされてしまう後まで、目標記憶システム8にコミ
ットされないことを確実にするべきであることは理解されるべきである。さもな
ければ、この整合セットのためのパケットが、目標記憶システム8で順番外でコ
ミットされ、それは、この上に記憶された情報が、如何なる時点でも、ソース記
憶システム上に記憶されたデータの不整合を結果する。エラー回復ルーチンは、
多くの方法の何れでも実施されることができ、本発明は、如何なる特定の実施に
も限定されない。
【0053】 同じ整合セットに関するパケットの順番を維持することに加えて、パケットと
それらが対応するデータとが、多数のリンク13a〜13bを介して送信される
やり方に関する制限が無いことは理解されるべきである。これに関し、パケット
は、多数のリンクのうちの、それが対応するデータと同じまたは異なるものの何
れを介しても転送されることができ、且つこの対応するデータに関し、如何なる
順番でも転送され得る。同様に、整合セットのためにともにデステージされるデ
ータは、多数のリンクのうちの同じまたは異なるものを介して、また、それが目
標記憶システムにコミットされる同じ順序或いは異なる順序の何れでも転送され
る得る。単一の整合セットのためのパケットが受け取られる順番を、このパケッ
ト内に含まれる情報と同様に用いて、目標記憶システム8は、このデータがソー
ス記憶システム6にコミットされた方法と整合するやり方で、このデータが目標
記憶システムで受け取られる順番を考慮すること無く、この受け取られたデータ
をコミットするのに必要な情報の全てを持つ。このパケットの動作および処理が
、RDFコントローラ17によるような、多くの方法で制御できることは理解さ
れるべきである。
【0054】 コントローラ15a〜b、17および19が、記憶ユニット6、8の動作に関
する他の機能と同様に、非同期RDFに関する上述の機能を行なうための多くの
方法において実施可能なことは理解されるべきである。例えば、各コントローラ
は、プロセッサおよびメモリを含むことができ、プロセッサを制御し、それにコ
ントローラの機能を行なわせるためにメモリ内に記憶されたソフトウェア(例え
ば、マイクロコード)を含み得る。或いは、コントローラの各々は、それらの望
ましい機能を行なうための専用のハードウェアを含み得る。加えて、記憶ユニッ
ト6〜8内に前もって存在するコントローラが、上で説明された本発明の態様を
実施するのに用いられることができるが、本発明は、この点に限定されず、専用
のコントローラが、上で説明された本発明の態様を実施する機能を単独で行なう
べく、設けられ得ることは理解されるべきである。
【0055】 図3は、非同期RDFをサポートすべくグローバルメモリ25内に設けられ得
る表30の1つの例証的実施の概略図である。本発明が、この特定の実施に限定
されず、表30が、多くの方法で実施可能であることは理解されるべきである。
さらに、上で議論したように、表以外のデータ構造が、同じ機能を行なうのに選
択的に使用可能である。図3に示された例証的実施において、表は、他の実施も
明らかに可能であるが、ディスクおよびトラック番号で索引されている。各トラ
ックに対し、RDFコミットメントが継続中であるか否かを指示するフラグがセ
ットされる。上に述べたように、ホストCPU1が、特定のトラックにデータを
書き込んだが、この書き込みが未だ目標記憶システム8にコミットされていない
時に、RDFコミットメントが継続中である。RDFコミットメントが継続中で
ある各エントリ用に、表は、関連するトラックを含むパケットが継続中(即ち、
送られてはいるが、未だ目標記憶システムによって処理されていない)であるか
否かを示すステータスフィールドを含む。この情報は、多数のパケットが、同じ
整合セットのために目標記憶システムに送られた時に、上で説明したやり方で使
われる。故に、衝突若しくは表30のバックグラウンドポーリングチェックに応
答して、整合セットのためにパケットが創られた時、パケットは、それらのRD
Fコミットメント継続フィールド内にセットされたフラグ(図3の肯定用のY)
を持ち、それらのパケット継続フィールド内にセットされたフラグは持たないエ
ントリを含むべく創られるであろう。最後に、表は、このトラックがどの整合セ
ットに属するかを特定するエントリを含む。
【0056】 この整合セットは、多くのやり方の何れでも実施可能である。例えば、オブジ
ェクト指向プログラミングを用いて、この整合セットは、それに割り当てられた
各トラックに関する情報を含むオブジェクトであり得る。この整合セットを定義
するオブジェクトは、そこに含まれるトラックのリストであって、如何なる時点
でも、それらのトラックが様々なコマンドチェーン間で更新された順序に関する
チェーン情報と同様、RDFコミットメント継続、但し、このためにどのパケッ
トも継続中でないものを持つものを維持することができる。この情報は、目標記
憶システム8に転送された情報のパケットを生成するための、下で議論されるや
り方で使われ得る。
【0057】 図4は、コマンドチェーンが、書き込みコマンドを含むホストCPU1から受
け取られる時にいつも、本発明の1つの実施形態に応じて、ホストバスコントロ
ーラ19により実行され得る1つの例示的ルーチンを図示する。最初、ステップ
41において、ルーチンは、チェーン内の第1のコマンドを選択する。ルーチン
は、次いで、ステップ43に進み、そこで、選択されたコマンドにより書き込ま
れたトラックのためのRDFコミットメントが継続中かの決定を行なう。この決
定は、図3に示された表内の適切なフラグをチェックすることで行なわれ得る。
継続中のRDFコミットメントが無いと決定された時、ルーチンは、ステップ4
5に進み、そこで、コマンドが、通常のやり方でソース記憶システム6にコミッ
トされる。これに関し、コマンドは、キャッシュ25aの適切な位置に典型的に
書き込まれるが、全コマンドチェーンが未だコミットされていないために、有効
なデータとしては未だ指示されない。次に、ルーチンは、ステップ47に進み、
そこで、チェーン内の最後のコマンドが処理されたかの決定がなされ、未だの時
、ルーチンは、ステップ49に進んで、次のコマンドに進み、この後、ステップ
43に戻る。このようにして、ルーチンは、チェーン内のコマンドの各々を処理
し、何れが、継続中のRDFコミットメントを持つかを決定する。コマンドチェ
ーンによって書き込まれたトラックのどれも、継続中のRDFコミットメントを
持たない時(それは、チェーン内の最後のコマンドが処理された時にステップ4
7で決定される)、ルーチンは、ステップ48に進み、そこで、コマンドチェー
ンがコミットされ、ルーチンは終了する。
【0058】 ステップ43で、処理されているコマンドが、継続中のRDFコミットメント
を持つと決定された時、ルーチンは、ステップ51に進み、そこで、継続中のコ
ミットメントを持つトラックに対応する論理ボリュームが分離される。この後、
ルーチンは、ステップ53に進み、そこで、ホストバスコントローラは、RDF
コントローラ17に、継続中のコミットメントを持つトラックのための整合セッ
トが目標記憶システム8にデステージされるべきであるという指示を送る。この
整合セットは、図3の表内の適切なエントリを介して特定され、RDFコントロ
ーラ17に提供される。この後、ルーチンは終了する。
【0059】 図5は、目標記憶システム8への情報の非同期転送に関する発明の上述の実施
形態を実施すべく、ソース記憶システム6内のRDFコントローラ17により実
行され得るルーチンの例証である。図4のステップ53に関連して述べられたよ
うに、図5のルーチンは、特定の整合ステップをデステージすべく、ホストバス
コントローラがRDFコントローラ17に信号で知らせることに応答して呼び出
される。最初、ステップ61において、ルーチンは、そこに含まれ、それらのセ
ットされたRDFコミットメント継続フラグを持ち、それらのためにパケット継
続フラグがセットされていないトラックそのものを決定すべく、整合セットを定
義するオブジェクトを待ち行列化する。ステップ63において、これらのトラッ
クの第1のものが読まれ(典型的には、キャッシュ25aから)、リンク13a
〜bのうちの1つを介して目標記憶システムに転送される。この後、ルーチンは
、ステップ65に進み、そこで、ステップ61で特定された最後のトラックが処
理されたかの決定をなし、処理されていない時、ルーチンは、ステップ67に進
み、そこで、次のトラックが読まれ、リンク13a〜bのうちの1つを介して目
標記憶システムに送信される。最後のトラックが処理された時、ルーチンは、ス
テップ69に進み、そこで、送信されたトラックのためのコミットメント順序を
特定するパケットが、リンク13a〜bのうちの1つを介して目標記憶システム
に送信される。この後、ステップ70において、図3の表内のパケット継続フラ
グが、ステップ61において特定された整合セット内のトラックの各々のために
セットされる。上で議論したように、発明は、多くの他の実施が可能なので、図
5に示された特定の実施に限定されない。例えば、実施は、明らかに、パケット
が、トラックの何れもの前に、或いは、トラックの幾つかの間に送信され得るよ
うに変更され得る。
【0060】 トラックの全てとパケットが送信されてしまった後、ルーチンは、ステップ7
1において、目標記憶システム8からの、送信されたトラックがこの目標記憶シ
ステムにコミットされてしまったことの何らかのステータス指示を待つ。明らか
に、万一、期待される時間期間の間にステータスが受け取られられない時のため
に、何らかの時間切れ中断構成が採用され得る。もし、このような時間切れが起
こると、表30(図3)は、ステップ70においてセットされたパケット継続フ
ラグを除去すべく変更され得る。加えて、RDFコントローラ17が、ステップ
71において、目標記憶システム8からステータスを待つ間、同じまたは異なる
整合セットのための他のトラックのデステージを含む他の有用な動作をも行ない
得ることも理解されるべきである。
【0061】 送信されたトラックが、目標記憶システム8でコミットされてしまったことを
指示するステータスが受け取られる時、ルーチンはステップ73に進み、そこで
、図3の表内のRDFコミットメント継続およびパケット継続フラグが、ステッ
プ61において特定されたトラックに対しクリアされる。最後に、ルーチンは、
ステップ75において、ホストバスコントローラ19に、ステップ51(図4)
において分離された論理ボリュームを再接続すべく、信号で知らせる。
【0062】 図面中に示され且つ明細書中で説明された実施形態の様々な変更および改変が
、発明の範囲内でなされて良いことは了解されるべきである。上の説明に含まれ
且つ添付図面に示された全ての事項は、例証として解釈され、限定する意味でな
いことが意図される。発明は、クレームおよびそれらの等価物に説明されたよう
にのみ限定される。
【図面の簡単な説明】
【図1】 本発明の態様が採用され得る遠隔ミラーリングデータ設備の例証である。
【図2】 図1の遠隔ミラーリングデータ設備内で用いられ得る記憶システムの1つの例
証的実施のブロック図である。
【図3】 発明の1つの例証的実施形態に応じて、目標ミラーリング装置に未だコミット
されていないデータの可能な上書きを決めるための表の1つの例証である。
【図4】 発明の1つの例証的実施形態に応じて、新しいコマンドチェーンの受領に応答
して記憶コントローラにより実行される1つの例証的ルーチンのフローチャート
である。
【図5】 発明の1つの例証的実施形態に応じて、目標記憶システムに未だコミットされ
ていない更新データを含む記憶位置への書き込みに応答して、ソース記憶システ
ムコントローラにより実行されるルーチンの1つの例証的実施のフローチャート
である。
【手続補正書】
【提出日】平成13年4月2日(2001.4.2)
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図1】
【図2】
【図3】
【図4】
【図5】
【手続補正書】
【提出日】平成13年5月29日(2001.5.29)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項83】ステップ(D)が、第1の記憶システムに対し、このデータ
の第1のコピーに対する付加的な書き込みが、この第1のコピーが再接続される
まで送られるべきでないことを指示することを備える、請求項82による方法。
【手続補正書】
【提出日】平成14年12月18日(2002.12.18)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0012
【補正方法】変更
【補正の内容】
【0012】 発明の更なる例証的実施形態は、中央処理装置(CPU)と、このCPUに結
合された第1の記憶システムと、第2の記憶システムと、この第2の記憶システ
ムを第1の記憶システムに結合する通信リンクとを含むコンピュータシステムに
おいて用いられる方法に向けられる。この方法は、第2の記憶システムに対し、
CPUによって第1の記憶システムに書き込まれたデータの複数ユニットをミラ
ーリングさせる。この方法は、(A)このデータの複数ユニットを第1の記憶シ
ステムに記憶させるステップと、(B)このデータの複数ユニットを、通信リン
クを通じて、第1の記憶システムから第2の記憶システムに、第1の順序で送信
するステップと、(C)このデータの複数ユニットを、このデータの複数ユニッ
トが第2の記憶システムで受け取られる順序から独立した第2の順序で第2の記
憶システムでコミットするステップとを備える。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0014
【補正方法】変更
【補正の内容】
【0014】 発明の更なる例証的実施形態は、ソース記憶システムに結合された中央処理装
置(CPU)と、目標記憶システムと、この目標記憶システムをソース記憶シス
テムに結合する通信リンクとを含み、CPUが、データの複数ユニットをソース
記憶システムに書き込むコンピュータシステムにおいて用いられるソース記憶シ
ステムに向けられる。ソース記憶システムは、複数の記憶位置を含む少なくとも
1つの記憶装置と、CPUによって書き込まれたデータの複数ユニットを、この
少なくとも1つの記憶装置に記憶させると共に、このデータの複数ユニットのう
ちの少なくとも幾つかを目標記憶システムにミラーリングさせる少なくとも1つ
のコントローラとを含む。この少なくとも1つのコントローラは、この少なくと
も幾つかのデータのユニットを、通信リンクを通じて、目標記憶システムに、あ
る送信順序で送信すると共に、このデータの複数ユニットのうちのこの少なくと
も幾つかが、この送信順序から独立した目標記憶システムにおいてコミットされ
るべきコミットメント順序を特定する少なくとも1パケットの情報を、通信リン
クを通じて、目標記憶システムに送信する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0018
【補正方法】変更
【補正の内容】
【0018】 発明の更なる例証的実施形態は、ソース記憶システムに結合された中央処理装
置(CPU)と、目標記憶システムと、この目標記憶システムをソース記憶シス
テムに結合する通信リンクとを含むコンピュータシステムにおいて用いられるソ
ース記憶システムに向けられる。ソース記憶システムは、複数の記憶位置を含む
少なくとも1つの記憶装置と、この複数の記憶位置を、複数の整合セットの記憶
位置に組織すると共に、CPUによって、この複数の記憶位置の少なくとも幾つ
かに書き込まれたデータの複数ユニットを、目標記憶システムに対し、非同期的
にミラーリングさせる少なくとも1つのコントローラとを備える。この少なくと
も1つのコントローラは、このデータの複数ユニットを、通信リンクを介し、ソ
ース記憶システムから目標記憶システムに、記憶位置の各整合セットが、或る時
点でソース記憶システム内で有効な描写の記憶位置の整合セットと一致する目標
記憶システム内の描写を持つように、非同期的に送信する。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0027
【補正方法】変更
【補正の内容】
【0027】 発明の1つの実施形態において、コマンドチェーンおよびそれらの関連するデ
ータは、ソース記憶システム6内の特別なキュー内に記憶されない。むしろ、C
PU1から書き込まれたデータは、ソース記憶システム6内に既に提供された記
憶資源内にのみ記憶され、そこから直接的に目標記憶システム8に転送される。
これに関連して、性能改善が、目標記憶システム8に転送されるデータが、ディ
スクドライブ3a〜dのうちの1つからよりもむしろ、キャッシュ25aから読
み出された時に成し遂げられることは理解されるべきである。それ故、発明の1
つの例証的実施形態に応じて、ソース記憶システム6への書き込みを行なうコマ
ンドチェーンが実行された時、このコマンドチェーンは、このデータがキャッシ
ュ25aに記憶された時にコミットされ、このデータは、RDFの非同期モード
をサポートする如何なる付加的なキュー内にも記憶されない。このようにして、
RDFの非同期モードをサポートする特別のデータキューを提供するために付加
的な相当なメモリ消費は必要無い。しかしながら、上に説明した単純な例とは違
って、目標記憶システム8にミラーリングされる各論理ボリュームにおける整合
性を維持するための技術が採用される。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0028
【補正方法】変更
【補正の内容】
【0028】 非同期モードの単純ディレイ実施に関連して上で議論された問題を防ぐために
、本発明の1つの実施形態では、ソース記憶システム6は、目標記憶システム8
に未だコミットされていない如何なるデータも上書きしない。発明のこの実施形
態に応じて、ソース記憶システム6は、このソース記憶システム内で更新された
どの情報のユニットが未だ目標記憶システム8にコミットされていないかを示す
情報を含むデータ構造を維持する。本発明の1つの実施形態では、この情報は、
各論理トラックに対し維持される。データ構造は、多くの方法のうちの如何なる
ものにおいても実施し得る。例えば、グローバルメモリ25内に表を設けること
ができ、この表は、ホストCPU1からの如何なる書き込みコマンドの実行にも
先立ってホストバスコントローラ19によりアクセスされ得る。ホストバスコン
トローラ19が、ホストCPU1から発行されたコマンドが、目標記憶システム
8に未だコミットされていない論理トラックの上書きを試みていることを決めた
時、このホストバスコントローラは、この書き込みが起こることを防止する。書
き込みのこの禁止は、多くの方法で行なうことができるが、本発明の1つの実施
形態では、この書き込み禁止は、ホストCPU1が書き込みを試みている論理ボ
リュームの分離によって成し遂げられる。当業者によって理解されるべきである
ように、ホストCPU1とソース記憶システム6との間のリンク21を実施する
のに用いられる多くの通信プロトコル(例えば、ESCON または Bus
& Tag)は、ソース記憶システム6がホストに対し、それが、要求された書
き込みをサービスできないこと、および、この記憶装置が、この書き込みを処理
することができることを示した後、或る時間後にこの書き込みを再開しなければ
ならないことを示すことができる分離機能を提供する。この書き込みを禁止する
ためにこの分離機能を使用することは、ホストが、現在の書き込みが処理できな
いのみならず、分離された論理ボリュームへの付加的な書き込みが、ソース記憶
システム6がこのボリュームを再接続するまで送られるべきでないことを認識す
るであろうがために有利である。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0029
【補正方法】変更
【補正の内容】
【0029】 上の議論においては、目標システムに未だデステージされていないデータの上
書きを防止するためにチェックされる情報のユニットの大きさは論理トラックで
あり、試みられた上書きに応答して分離された情報のユニットは論理ボリューム
である。しかしながら、本発明がこの点に限定されないことは理解されるべきで
ある。論理ボリュームは、それが、多くの通信プロトコル(例えば、ESCON
)によってサポートされるものであるが故に、分離のための便利なユニットであ
る。しかしながら、代わりの実施形態においては、試みられた上書きに応答して
分離される情報のユニットは、試みられた上書きが、目標システムに未だデステ
ージされていない任意のデータを上書きするかどうかを決定するためにチェック
されるのと同じユニットである。故に、代わりの実施形態においては、論理トラ
ックの試みられた上書きに応答して、それの全論理ボリュームではなく、このト
ラックのみが分離される。さらに、本発明が、より大きなまたはより小さな情報
のユニットを採用することができる多くの他の実施が可能なので、論理トラック
の粒度を、書き込みの目的位置として用いて、可能性の有る上書きのチェックを
する事に限定されないことは理解されるべきである。可能性の有る上書きのため
にチェックされる情報のユニットが小さければ小さい程、システムが、上書きが
実際に起こってしまうかどうかを検出する際の精度が高くなることは理解される
べきである。しかしながら、このチェックの目的に用いられる情報のユニットが
小さければ小さい程、このチェックの目的のために設けられるデータ構造を維持
する際のオーバーヘッドは大きくなる。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0030
【補正方法】変更
【補正の内容】
【0030】 前述のことから理解されるべきであるように、論理ボリュームが、試みられた
上書きに応答して分離された後、ソース記憶システム6は、そこに記憶された更
新された情報が、目標記憶システム8にデステージされてしまうまで、この論理
ボリュームを再接続しないであろう。このデステージは、多くの方法の何れでも
起こり得る。本発明の1つの実施形態では、RDFコントローラ17は、グロー
バルメモリ25内の上述した表を周期的にポーリングして、目標記憶システム8
に未だデステージされていないトラックを特定し、このようなトラックの検出時
、このトラックのための適切なデータのコピーを(例えば、キャッシュ25aか
ら)目標記憶システム8に送信する手続きをとる。一旦、情報が目標記憶システ
ム8にコミットされてしまうと、グローバルメモリ25内の表は更新されて、こ
の特定のトラックが、ソースおよび目標記憶システム間の不整合な情報を含むリ
スト中にもはや無いことを反映する。故に、論理ボリュームが、ホストCPU1
からの試みられた上書きに応答して分離されてしまった後は、ソース記憶システ
ム6は、このバックグラウンドポーリングの通常のコースにおいて、RDFコン
トローラ17が、更新された情報を、目標記憶システム8にデステージするのを
単に待つ。しかしながら、情報の如何なる論理ユニットでも、ホストCPU1に
よる使用から分離される時間を最小にすることが望ましいことは理解されるべき
である。それ故、本発明の1つの実施形態に応じて、どの論理ユニットが分離さ
れた時も、この論理ユニット内に記憶された情報を直ちに目標記憶システム8に
デステージするステップがとられ、結果、この論理ユニットは再接続されること
ができる。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0031
【補正方法】変更
【補正の内容】
【0031】 論理ボリュームが、このトラックの1つに試みられた上書きに応答してホスト
CPU1から分離される時、この論理トラックのためのデータが、ソース記憶シ
ステム6上に記憶された情報の整合した描写を維持すべく、目標記憶システム8
に単にデステージされるべき以上の場合が存在する。このことは、各々がソース
記憶システム6への書き込みをおこなう3つのコマンドチェーンが連続的に実行
される単純な例を用いて説明され得る。第1のコマンドチェーンは2つのコマン
ドを含み、第1は、トラックLV1/T2への書き込みを実行し、第2は、トラ
ックLV1/T3への書き込みを実行する。第2のコマンドチェーンは単一のコ
マンドを含み、トラックLV2/T1へのデータ“A”の書き込みを実行する。
最後に、第3のコマンドチェーンも2つのコマンドを含み、第1は、トラックL
V2/T1へのデータ“B”の書き込みを実行し、第2は、トラックLV2/T
5への書き込みを実行する。このような一連のコマンドチェーンが、本発明の1
つの例証的実施形態に応じて処理されるやり方が下に説明される。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】0034
【補正方法】変更
【補正の内容】
【0034】 前述の関連を処理すべく、発明の1つの実施形態では、試みられた書き込みと
、グローバルメモリ25内の表内のフラグで示されたトラックとの間で衝突が検
出された(対応する論理ボリュームの分離を結果する)時はいつも、ソース記憶
システムは、目標記憶システム8上の整合描写を維持すべく目標記憶システム8
に他の如何なるトラックがデステージされるべきかを決定すべくチェックする。
このチェックは、多くの方法の何れでも行なうことができる。例えば、トラック
を分離した後、ホストバスコントローラ19は、制御をRDFコントローラ17
に切り換えることができ、それは、グローバルメモリ25内の表内のエントリー
に問い合わせして、どのトラックが、グループとしてデステージされるべきかを
決定することができる。発明の1つの実施形態では、更新されてしまってはいる
が、目標記憶システム8にはまだデステージされていない情報を含む、グローバ
ルメモリ25内の表内のフラグで示されたトラックの全てが、任意の論理ボリュ
ームが分離されることを結果する衝突が起こる時はいつでも、共にデステージさ
れ得る。
【手続補正11】
【補正対象書類名】明細書
【補正対象項目名】0035
【補正方法】変更
【補正の内容】
【0035】 いずれかの論理ボリュームが分離されたときはいつも、表内のフラグで示され
たエントリーの全てをデステージすることが可能であるが、発明の代替可能な実
施形態では、フラグで示されたトラックの部分集合のみが、衝突が生じた論理ボ
リュームのための分離時間を最小にすべくデステージされる。発明のこの実施形
態のために、ソース記憶システム6内の論理ユニット(例えば、論理ボリューム
)は、各々が、ホストCPU1により特定され得る複数の整合セットに配列され
る。各整合セットは、ホストCPU1が、1つの時点でソース記憶システム6上
の有効状態と一致する目標記憶システム8上の描写を持つことを確実にしたいで
あろう論理セットを共に形成する多数の論理ユニットを含む。ここで議論される
例証では、整合セットは、論理ボリュームを含むべく配列される。しかしながら
、本発明がこの点に限定されず、整合セット内の論理ユニットの大きさが、論理
ボリュームよりも大きくても小さくても可能であることは理解されるべきである
【手続補正12】
【補正対象書類名】明細書
【補正対象項目名】0039
【補正方法】変更
【補正の内容】
【0039】 本発明の上述した実施形態におけるシステムには分離時間を最小にする能力に
影響する2つのパラメータ、即ち、各整合セット内の論理ユニットの数、および
、任意のコマンドチェーン内に設け得るコマンドの最大数が存在することは理解
されるべきである。整合セット内の論理ユニット(例えば、論理ボリューム)の
数に関しては、前述のことから、論理トラックが、(試みられた書き込みまたは
バックグラウンドポーリング動作の間の衝突に応答して)目標記憶システムにデ
ステージされるべき時、それは、目標記憶システムに未だデステージされていな
い情報を含む、対応する整合セット内の残りの論理トラックと共にデステージさ
れるであろうことは理解されるべきである。もし、整合セット内に多数の論理ユ
ニットが存在すれば、多くの情報が、共にデステージされる必要があろう。これ
は、結果として衝突が生じた論理ユニットのための長い分離時間をもたらす。そ
れ故、本発明の1つの実施形態によれば、各整合セット内の論理ボリュームの数
は、比較的少なく維持される。このはっきりした数は、勿論、システム毎に変わ
るであろうし、本発明は、如何なる特定の数にも限定されない。多くのシステム
に対しては、整合セット当たり約20個の論理ボリュームの限界が、充分に小さ
な分離時間を提供するだろう。
【手続補正13】
【補正対象書類名】明細書
【補正対象項目名】0040
【補正方法】変更
【補正の内容】
【0040】 コマンドチェーンの長さに関しては、そこに含まれるコマンドの全てがコミッ
トされてしまうまでは、このコマンドチェーンがコミットされないことは理解さ
れるべきである。目標記憶システム8が、或る時点でソース記憶システム6と整
合するデータの有効セットを常に含むことを確実にすることが望まれるので、全
チェーンがソース記憶システム6にコミットされてしまうまでは、目標記憶シス
テム8にデステージされる、コマンドチェーンによって更新される情報が無いの
が好ましい。もし、コマンドチェーン内のコマンドの数に限界を置かないならば
、チェーンは、理論的には、キャッシュ25aをオーバーフローさせるに充分な
データを書き込むに充分な程長くなり得、このチェーンがコミットされ得る前に
、コマンドチェーン内のいくらかのデータをディスクドライブ3a〜dにデステ
ージする事を必要とする。グローバルメモリ25内の表内における衝突に応答し
て、このようなコマンドチェーンにより記憶される情報の全てをデステージする
ことは、望ましくない長い分離を結果するであろう。さらに、コマンドチェーン
が、キャッシュをオーバーフローさせる程長くはない場合でも、コマンドチェー
ンが、キャッシュに何千もの論理ユニットを書き込めば、衝突に応答した目標記
憶システムへのこのコマンドチェーンのデステージは、なお、受け入れ難い程長
い分離時間を結果するであろう。
【手続補正14】
【補正対象書類名】明細書
【補正対象項目名】0042
【補正方法】変更
【補正の内容】
【0042】 非同期モードにおいてRDFシステムを実施することが、情報が、ソースおよ
び目標記憶システム間のリンク13を介して送信されるやり方に何らかの影響を
持つことは理解されるべきである。上で議論した、譲受人の同時継続中の米国特
許出願第08/918,238号において議論されているように、ソースおよび
目標記憶システム間のリンク13が長い時、性能の理由で、ソースおよび目標記
憶システム間のトランザクションを最小にすることが望ましく、この結果、連続
的なデステージ動作のためのデータが、それらの間に如何なる相当なギャップも
配すること無しに、リンク13上の単一データ転送中に共にパックされ得る。同
期的に動作するRDFシステムにおけるこのような性能的利点を達成する能力上
の1つの限界は、ホストCPU1が、典型的には、同じ論理ボリュームに対して
未決着の多数の書き込み動作を持たないであろうことである。これに関して、も
し、ホストが、単一の論理ボリュームに対し2つの書き込み動作を行なうことを
望んだとすると、それは、典型的には、この論理ボリュームへの第1の書き込み
が、ソース記憶システム6にコミットされてしまうまで、第2の書き込みを差し
控えるであろう。上で議論したように、同期システムにおいては、書き込みは、
データが目標記憶システム8上に記憶されるまでコミットされないであろう。故
に、1個以上の論理ボリュームを重く用いる任意のアプリケーションに対して、
同期システムの性能は、ホストが、単一論理ボリュームに対する未決着の多数の
コミットされていない書き込み動作を持てないことによって悪くなるかも知れな
い。
【手続補正15】
【補正対象書類名】明細書
【補正対象項目名】0043
【補正方法】変更
【補正の内容】
【0043】 前述のことから理解されるべきように、本発明の非同期モードは、単一論理ユ
ニットに対する多数の連続書き込み動作を取り扱う点で、同期システムに対する
利点を提供する。特に、各書き込み動作は、データがソース記憶システム6内に
記憶されるや否やコミットされることができ、それにより、CPU1に、リンク
13を通じる伝播ディレイにより影響されることなく、単一論理ユニットに対し
多数の書き込み動作を実行させることができ、同じトラックへの衝突によって、
より早く書き込まれたデータが目標記憶システム8にデステージされるまで論理
ユニットの分離をもたらすという、上で議論した制限だけを蒙る。さらに、ソー
ス記憶システム6から目標記憶システム8へのデータの転送は、ホストCPU1
に透明なやり方で、RDFシステムにより完全に制御される。
【手続補正16】
【補正対象書類名】明細書
【補正対象項目名】0045
【補正方法】変更
【補正の内容】
【0045】 コマンドチェーンによって書き込まれたデータの順番を維持する重要性を例示
すべく、3つのコマンドチェーンに関する上述の例に再び立ち帰る。第1のコマ
ンドチェーンにおいて、トラックLV1/T2およびLV1/T3にデータを連
続的に書き込む2つのコマンドが実行される。第2のコマンドチェーンは、トラ
ックLV2/T1にデータ“A”を書き込む単一のコマンドを含む。第3のコマ
ンドチェーンは、トラックLV2/T1にデータ“B”を、次いで、トラックL
V2/T5にデータを連続的に書き込む2つのコマンドを含む。上で議論したよ
うに、発明の1つの実施形態に応じて、トラックLV2/T1内の情報を上書き
する試みは、ホストバスコントローラ19により検出され、トラックLV2/T
1内およびそれの整合セット内の残りのトラックの情報のデステージはもちろん
、論理ボリュームLV2の分離を結果するであろう。再び、論理ボリュームLV
1およびLV2が同じ整合セット内にグループ分けされると仮定すると、デステ
ージ動作は、リンク13aおよび13bを介した、目標記憶システム8への、ト
ラックLV2/T1、LV1/T2およびLV1/T3に関連するデータの転送
を結果するであろう。目標記憶システム8上に記憶されたデータの整合性を確実
にするために、本発明の1つの実施形態は、第1のコマンドチェーンによって書
き込まれたデータ(即ち、トラックLV1/T2およびLV1/T3)が、第2
のコマンドチェーンによって書き込まれたデータ(即ち、トラックLV2/T1
)に先立って、目標記憶システム8にコミットされることを確実にする。
【手続補正17】
【補正対象書類名】明細書
【補正対象項目名】0046
【補正方法】変更
【補正の内容】
【0046】 順番が、目標記憶システム8にデステージされている情報のために維持される
ことを確実にすべく、本発明の1つの実施形態は、更新されてしまってはいるが
、未だ目標記憶システム8にコミットされていないとグローバルメモリ25内の
表内で同定される情報の全てのユニットのチェーン構造に関連した情報を記憶す
る。この情報は、多くの異なる方法の何れにおいても記憶されることができ、発
明は、如何なる特定の実施にも限定されない。発明の1つの例証的実施形態では
、情報のパケットが創られ、各整合セットのために絶えず更新される。各パケッ
トは、情報のどのユニット(上の例のトラック)が、同じコマンドチェーンによ
って書き込まれ、それ故、同時に目標記憶システムにコミットされるべきかを指
示する。加えて、各パケットは、トラックが、それらの連続したコマンドチェー
ンによって更新される順番を維持し、結果、情報のトラックは、同じ順番で目標
記憶システム8にコミットされることができる。
【手続補正18】
【補正対象書類名】明細書
【補正対象項目名】0047
【補正方法】変更
【補正の内容】
【0047】 もし、単一のコマンドチェーンによって書き込まれた情報の論理ユニットが、
同時に目標記憶システムにコミットされなければ、問題に遭遇するであろう。例
えば、もし、ソースおよび目標記憶システム間のリンク13が、特定のコマンド
チェーンに関連した情報を送信する途中でダウンしたとすると、他のデータがそ
うでないのに、データの幾つかは、目標記憶システム8にコミットされるかも知
れない。これは、目標記憶システム内のデータが、任意の特定の時点で、ソース
記憶システム内に記憶されたそれと一致しないであろうために、目標記憶システ
ム内のデータのソース記憶システムの関する整合性を壊すであろう。故に、本発
明の1つの実施形態に応じて、コマンドチェーンによって書き込まれた情報のユ
ニットの全てが、同時に目標記憶システムにコミットされる。これは、多くの方
法において行なうことができる。例えば、データが、目標記憶システム8で受け
取られる時に、それは、キャッシュエントリが未だ有効でないという指示を伴っ
てキャッシュ25a(図2)に直接書き込まれることができる。このチェーン構
造またはコミットメント順序を特定するパケットと同様、整合セットのためのデ
ータの全てが受け取られると、目標記憶システム8は、この時、このパケットに
より特定された順番で、適当なキャッシュエントリを有効(本質的に、このデー
タのための書き込み動作をコミットする)として指定することができる。故に、
単一チェーン内のコマンドによって書き込まれた各データ位置は、同時に有効化
されまたはコミットされ得る。目標記憶システム8でのコミットメント方式が、
選択的に、多くの他の方法で実施し得ることは理解されるべきである。例えば、
目標記憶システムで受け取られたデータは、キャッシュ25a以外の一時的記憶
位置(例えば、グローバルメモリ25内の他のどこか)に記憶されることができ
、次いで、パケットにより特定された順番で、キャッシュ25aに書き込みまた
はコミットされ得る。
【手続補正19】
【補正対象書類名】明細書
【補正対象項目名】0048
【補正方法】変更
【補正の内容】
【0048】 更なるレベルの複雑さが、本発明の1つの実施形態において、多数のリンク1
3aおよび13bが、性能を最大化すべく、ソースおよび目標記憶システム6お
よび8間に設けられる事実のために追加される。リンク13aおよび13bを同
期させるのではなく、むしろ、これらのリンクを介して、それらの間の負荷を、
最良の全システム性能を提供すべく、最も効果的にバランスさせるやり方で、デ
ータを転送することが望まれる。故に、データのトラックが目標記憶システム8
に到着する順番は、このデータが、コミットメント順序とは異なる順序で受け取
られるかも知れないので、必ずしもこのデータが目標記憶システム8にコミット
される順番を示すものでは無い。故に、目標記憶システム8で受け取られるデー
タをコミットするための適切な順序を特定する情報のパケットの使用は、多数の
リンク13aおよび13bを、システム性能を最大にする非同期的なやり方で利
用することをも効果的に可能ならしめる。
【手続補正20】
【補正対象書類名】明細書
【補正対象項目名】0049
【補正方法】変更
【補正の内容】
【0049】 単一の整合セットに対するトラックに関する多数のパケットが、リンク13a
〜bを介して、ソースおよび目標記憶システム6および8間を同時に通過中あっ
て良いことは理解されるべきである。例えば、百のトラックT1〜T100を含
む論理ボリュームLV1を含む整合セットに対して、トラックT1〜T5のみが
書き込まれており、しかし、まだ目標記憶システムにデステージされていない時
点で、トラックT5で衝突を生じる多くの書き込み動作が起き得る。この点で、
上で述べたやり方において、トラックT1〜T5に含まれる情報は、リンク13
a〜bを介して、目標記憶システム8に、トラックT1〜T5のためのコミット
メント順序を定義するパケットと共に、転送(整合性が維持されるべきトラック
の群として)され得る。この後、しかも、トラックT1〜T5が目標記憶システ
ム8にコミットされる前に、同じ整合セット、例えば、トラックT50上で別の
衝突を引き起こす別のシリーズの書き込みが起こり得る。この点で、トラックT
50内の情報は、この整合セットのための第1のパケットの創造に引き続いて更
新されてしまった整合セット内の任意の他のトラックと共に、リンク13a〜b
を介して、目標記憶システム8に、この整合セットのために創造された先のパケ
ットに引き続く整合セットを更新したコマンドチェーンの構造を定義するパケッ
トと共に、転送されるであろう。
【手続補正21】
【補正対象書類名】明細書
【補正対象項目名】0050
【補正方法】変更
【補正の内容】
【0050】 前述の例から分かるように、単一の整合セットのための多数のパケットおよび
トラックの群が、ソース記憶システム6から目標記憶システム8に同時に通過中
であり得る。ソースおよび目標記憶システム上に記憶されたデータ間の整合性を
維持するべく、如何なる整合セットのためのトラックの群も、それらのパケット
が創られた順序で、目標記憶システム8にコミットされるべきであることは理解
されるべきである。もし、単一リンク13のみが、ソースおよび目標記憶システ
ム間で情報を転送するのに採用されたとすれば、特定の整合セットのためのパケ
ットの順番は、このパケットが目標記憶システム8で受け取られた順番に基づい
て決定され得るであろう。しかしながら、上で議論したように、本発明の1つの
実施形態では、システム性能を向上させるべく、多数のリンク13a〜13bが
採用されている。上で議論したように、システム性能を最高にすべく、この多数
のリンクを介して送られる情報を同期させないのが好ましい。それ故、発明の1
つの例証的実施形態に応じて、如何なる特定の整合セットのためのパケットも、
このパケットが発生させられた順序で、目標記憶システム8にコミットされるこ
とを確実にするための技術が採用される。
【手続補正22】
【補正対象書類名】明細書
【補正対象項目名】0053
【補正方法】変更
【補正の内容】
【0053】 同じ整合セットに関するパケットの順番を維持することに加えて、パケットと
それらが対応するデータとが、多数のリンク13a〜13bを介して送信される
やり方に関する制限が無いことは理解されるべきである。これに関し、パケット
は、多数のリンクのうちの、それが対応するデータと同じまたは異なるものの何
れを介しても転送されることができ、且つこの対応するデータに関し、如何なる
順番でも転送され得る。同様に、整合セットのためにともにデステージされるデ
ータは、多数のリンクのうちの同じまたは異なるものを介して、また、それが目
標記憶システムにコミットされる同じ順序或いは異なる順序の何れでも転送され
得る。単一の整合セットのためのパケットが受け取られる順番を、このパケット
内に含まれる情報と同様に用いて、目標記憶システム8は、このデータがソース
記憶システム6にコミットされた方法と整合するやり方で、このデータが目標記
憶システムで受け取られる順番を考慮すること無く、この受け取られたデータを
コミットするのに必要な情報の全てを持つ。このパケットの動作および処理が、
RDFコントローラ17によるような、多くの方法で制御できることは理解され
るべきである。
【手続補正23】
【補正対象書類名】明細書
【補正対象項目名】0060
【補正方法】変更
【補正の内容】
【0060】 トラックの全てとパケットが送信されてしまった後、ルーチンは、ステップ7
1において、目標記憶システム8からの、送信されたトラックがこの目標記憶シ
ステムにコミットされてしまったことの何らかのステータス指示を待つ。明らか
に、万一、期待される時間期間の間にステータスが受け取られない時のために、
何らかの時間切れ中断構成が採用され得る。もし、このような時間切れが起こる
と、表30(図3)は、ステップ70においてセットされたパケット継続フラグ
を除去すべく変更され得る。加えて、RDFコントローラ17が、ステップ71
において、目標記憶システム8からステータスを待つ間、同じまたは異なる整合
セットのための他のトラックのデステージを含む他の有用な動作をも行ない得る
ことも理解されるべきである。
【手続補正24】
【補正対象書類名】図面
【補正対象項目名】図3
【補正方法】変更
【補正の内容】
【図3】
【手続補正25】
【補正対象書類名】図面
【補正対象項目名】図4
【補正方法】変更
【補正の内容】
【図4】
【手続補正26】
【補正対象書類名】図面
【補正対象項目名】図5
【補正方法】変更
【補正の内容】
【図5】
───────────────────────────────────────────────────── 【要約の続き】 コピーが、非同期的ミラーリングをサポートすべくコピ ーをキューにバッファすることなく、第1の記憶装置内 に書き込まれる。更なる態様では、第1の記憶システム 内の記憶位置が、複数の整合セットに組織され、このデ ータのユニットは、各整合セットが、或る時点で第1の 記憶システム内のこの整合セットの有効描写と整合する 第2の記憶システム内の描写を持つように、通信リンク を通じ、非同期的に送信される。

Claims (77)

    【特許請求の範囲】
  1. 【請求項1】 中央処理装置(CPU)と、このCPUに結合された第1の記
    憶システムと、第2の記憶システムと、この第2の記憶システムを第1の記憶シ
    ステムに結合する通信リンクと、を含むコンピュータシステムにおいて、CPU
    によって第1の記憶システムに書き込まれたデータの複数ユニットを、第2の記
    憶システムに対し、非同期的にミラーリングさせる方法であって、CPUがデー
    タのユニットを第1の記憶システムに第1の順序で書き込み: (A)データのユニットを第1の記憶システムに記憶させるステップと、 (B)データのユニットを、通信リンクを通じて、第1の記憶システムから第
    2の記憶システムに、第1の順序とは異なる第2の順序で、非同期的に送信する
    ステップとを備える方法。
  2. 【請求項2】(C)このデータの複数ユニットを第2の記憶システムにコミッ
    トするステップをさらに含む、請求項1の方法。
  3. 【請求項3】ステップ(C)が、このデータの複数ユニットを、第2の順序と
    は異なる第3の順序で、第2の記憶システムにコミットするステップをさらに含
    む、請求項2の方法。
  4. 【請求項4】第1の記憶システムが複数の記憶位置を含み、CPUが、この第
    1の記憶システムのこの複数の記憶位置のうちの或る目的位置に、このデータの
    複数ユニットの各々を書き込み、且つステップ(A)が、このデータの複数ユニ
    ットの1つを、第1の記憶システムのそれの目的位置に記憶させるに先立って、
    この目的位置が、第2の記憶システムに未だコミットされていない、先に書き込
    まれたデータのユニットを記憶しているか否かを決定するステップを含む、請求
    項2の方法。
  5. 【請求項5】ステップ(A)が、第2の記憶システムに未だコミットされてい
    ない、先に書き込まれたデータのユニットを記憶している第1の記憶システムの
    或る目的位置にCPUが書き込みを試みた時に、この試みられた書き込みが現在
    は処理され得ないことをCPUに通知するステップを含む、請求項4の方法。
  6. 【請求項6】ステップ(A)が、第2の記憶システムに未だコミットされてい
    ない、先に書き込まれたデータのユニットを記憶している第1の記憶システムの
    或る目的位置にCPUが書き込みを試みた時に、この目的位置をCPUによるア
    クセスから切り離すステップを含む、請求項4の方法。
  7. 【請求項7】ステップ(B)が、第2の記憶システムに未だコミットされてい
    ない、先に書き込まれたデータのユニットを記憶している第1の記憶システムの
    或る目的位置にCPUが書き込みを試みた時に、この目的位置に先に書き込まれ
    たデータのユニットを、通信リンクを通じて、第1の記憶システムから第2の記
    憶システムに直ちに送信するステップを含む、請求項4の方法。
  8. 【請求項8】ステップ(B)が、第2の記憶システムに未だコミットされてい
    ない、先に書き込まれたデータのユニットを記憶している第1の記憶システムの
    或る目的位置にCPUが書き込みを試みた時に、 この目的位置が、或る時点で第1の記憶システム内の記憶位置のセットの有効
    描写に整合する第2の記憶システム内の描写を持つべき記憶位置の或る整合セッ
    トに属するか否かを決定するステップと、 この目的位置が或る整合セットに属する時に、 第2の記憶システムに未だ送信されていない、先に書き込まれたデータのユニ
    ットを含むこの整合セット内の他の位置の群を特定するステップと、 この目的位置におけるデータのユニットと、この整合セット内の他の位置の群
    とを、通信リンクを通じて、第1の記憶システムから第2の記憶システムに直ち
    に送信するステップとを行なうステップと、を含む、請求項4の方法。
  9. 【請求項9】ステップ(B)が、第2の記憶システムに未だコミットされてい
    ない、先に書き込まれたデータのユニットを記憶している第1の記憶システムの
    或る目的位置にCPUが書き込みを試みた時に、 第2の記憶システムに未だ送信されていない、先に書き込まれたデータのユニ
    ットを含む第1の記憶システム内の他の記憶位置を特定するステップと、 第2の記憶システムに未だ送信されていない、先に書き込まれたデータのユニ
    ットの各々を、通信リンクを通じて、第1の記憶システムから第2の記憶システ
    ムに直ちに送信するステップと、を含む、請求項4の方法。
  10. 【請求項10】ステップ(B)が、 第1の記憶システム内の記憶位置の何れかが、第2の記憶システムに未だ送信
    されていない、先に書き込まれたデータのユニットを含むか否かを周期的に決定
    するステップと、 第1の記憶システム内の記憶位置の少なくとも1つが、第2の記憶システムに
    未だ送信されていない、先に書き込まれたデータのユニットを含むと決定された
    時に、この少なくとも1つの記憶位置に記憶された先に書き込まれたデータのユ
    ニットを、通信リンクを通じて、第1の記憶システムから第2の記憶システムに
    送信するステップと、を含む、請求項1の方法。
  11. 【請求項11】第1の位置が、第2の記憶システムに未だ送信されていない、
    先に書き込まれたデータのユニットを含むと特定された時に、ステップ(B)が
    、 この第1の位置が、或る時点で第1の記憶システム内の記憶位置のセットの有
    効描写に整合する第2の記憶システム内の描写を持つべき記憶位置の或る整合セ
    ットに属するかを決定するステップと、 この第1の位置が或る整合セットに属する時に、 第2の記憶システムに未だ送信されていない、先に書き込まれたデータのユニ
    ットを含むこの整合セット内の他の位置の群を特定するステップと、 この第1の位置におけるデータのユニットと、この整合セット内の他の位置の
    群とを、通信リンクを通じて、第1の記憶システムから第2の記憶システムに直
    ちに送信するステップとを行なうステップと、をさらに含む、請求項10の方法
  12. 【請求項12】データの複数ユニットが、CPUから発行された複数のコマン
    ドチェーンにより第1の記憶システムに書き込まれ、且つステップ(B)が、デ
    ータのユニットの1つを書き込んだ全コマンドチェーンが第1の記憶システムに
    コミットされてしまうまで、データのユニットのどの1つも、第1の記憶システ
    ムから第2の記憶システムに送信しないステップを含む、請求項1の方法。
  13. 【請求項13】第2の記憶システムに未だコミットされていない、先に書き込
    まれたデータのユニットを記憶している第1の記憶システムの或る目的位置にC
    PUが書き込みを試みた時に、 ステップ(A)が、この目的位置を、CPUによるアクセスから切り離すステ
    ップを含み、 ステップ(B)が、 この目的位置が、或る時点で第1の記憶システム内の記憶位置のセットの有効
    描写に整合する第2の記憶システム内の描写を持つべき記憶位置の或る整合セッ
    トに属するかを決定するステップと、 この目的位置が或る整合セットに属する時に、第2の記憶システムに未だ送信
    されていない、先に書き込まれたデータのユニットを含むこの整合セット内の他
    の位置の群を特定するステップと、を含み、 ステップ(A)が、この目的位置を、CPUによるアクセスのために再接続す
    るステップを含み、 ステップ(B)が、この目的位置の再接続に先立ち、通信リンクを通じて、第
    1の記憶システムから第2の記憶システムに、この目的位置におけるデータのユ
    ニットおよびこの整合セット内の他の位置の群のみを送信するステップを含む、
    請求項4の方法。
  14. 【請求項14】第1の記憶システムが、キャッシュおよび少なくとも1つの記
    憶装置を含み、且つステップ(A)が、 データの各ユニットの単一コピーを、非同期ミラーリングをサポートすべく、
    情報の各ユニットのコピーをキューにバッファすることなく、直接キャッシュに
    記憶させるステップと、 データのこのユニットを、キャッシュから、少なくとも1つの記憶装置にデス
    テージするステップと、を含む、請求項1の方法。
  15. 【請求項15】CPUが、論理ボリューム内で組織された情報のユニットに基
    づいて、第1の記憶システムへの書き込みを実行し、且つステップ(B)が、第
    1の記憶システム上の単一の論理ボリュームにCPUによって書き込まれた2デ
    ータのユニットをリンクを介して同時に送信するステップを含む、請求項1の方
    法。
  16. 【請求項16】 データのユニットが第2の記憶システムにコミットされるべ
    き順序を特定する少なくとも1パケットの情報を、通信リンクを通じて、第1の
    記憶システムから第2の記憶システムに送信するステップと、 このデータのユニットを、このパケットの情報により特定された順序で、この
    データのユニットが第2の記憶システムで受け取られる順序とは独立に、第2の
    記憶システムにコミットするステップと、をさらに含む、請求項1の方法。
  17. 【請求項17】通信リンクが、第1および第2の記憶システム間に複数の並行
    通信チャネルを含み、且つステップ(B)が、データのユニットを、このデータ
    のユニットが、情報のユニットが第2の記憶システムにコミットされる順序での
    送信に限定されないように、非同期的なやり方で、この複数の通信チャネルを介
    して送信するステップを含む、請求項16の方法。
  18. 【請求項18】ステップ(B)が、 第1の記憶システム内の記憶位置の何れかが、第2の記憶システムに未だ送信
    されていない、先に書き込まれたデータのユニットを含むか否かを周期的に決定
    するステップと、 第1の記憶システム内の記憶位置の少なくとも1つが、第2の記憶システムに
    未だ送信されていない、先に書き込まれたデータのユニットを含むと決定された
    時に、この少なくとも1つの記憶位置に記憶された先に書き込まれたデータのユ
    ニットを、通信リンクを通じて、第1の記憶システムから第2の記憶システムに
    送信するステップと、をさらに含む、請求項8の方法。
  19. 【請求項19】 ソース記憶システムに結合された中央処理装置(CPU)と
    、目標記憶システムと、この目標記憶システムをソース記憶システムに結合する
    通信リンクとを含み、CPUが、データの複数ユニットをソース記憶システムに
    第1の順序で書き込むコンピュータシステムにおいて用いられるソース記憶シス
    テムであって、 複数の記憶位置を含む少なくとも1つの記憶装置と、 CPUによって書き込まれたデータの複数ユニットを、この少なくとも1つの
    記憶装置に記憶させると共に、この少なくとも1つの記憶装置に書き込まれたデ
    ータの複数ユニットのうちの少なくとも幾つかを目標記憶システムにミラーリン
    グさせる少なくとも1つのコントローラとを含み、この少なくとも1つのコント
    ローラが、この少なくとも幾つかのデータのユニットを、通信リンクを通じて、
    ソース記憶システムから目標記憶システムに、この幾つかのデータのユニットが
    CPUからソース記憶システムに書き込まれている第1の順序とは異なる第2の
    順序で非同期的に送信する、ソース記憶システム。
  20. 【請求項20】CPUが、複数の記憶位置のうちの或る目的位置に、データの
    複数ユニットの各々を書き込み、且つ少なくとも1つのコントローラが、このデ
    ータの複数ユニットを、少なくとも1つの記憶装置の目的位置に記憶させるに先
    立って、この目的位置が、目標記憶装置に未だコミットされていない、先に書き
    込まれたデータのユニットを記憶しているか否かを決定するための手段を含む、
    請求項19のソース記憶システム。
  21. 【請求項21】少なくとも1つのコントローラが、目標記憶装置に未だコミッ
    トされていない、先に書き込まれたデータのユニットを記憶している目的位置に
    CPUが書き込みを試みた時に、この試みられた書き込みが、ソース記憶システ
    ムによって、現在は処理され得ないことをCPUに通知するための手段を含む、
    請求項20のソース記憶システム。
  22. 【請求項22】少なくとも1つのコントローラが、目標記憶装置に未だコミッ
    トされていない、先に書き込まれたデータのユニットを記憶している目的位置に
    CPUが書き込みを試みた時に、この目的位置を、CPUによるアクセスから切
    り離すための手段を含む、請求項20のソース記憶システム。
  23. 【請求項23】少なくとも1つのコントローラが、目標記憶装置に未だコミッ
    トされていない、先に書き込まれたデータのユニットを記憶している目的位置に
    CPUが書き込みを試みた時に、この目的位置に先に書き込まれたデータのユニ
    ットを、通信リンクを通じて、ソース記憶システムから目標記憶装置に直ちに送
    信するための手段を含む、請求項20のソース記憶システム。
  24. 【請求項24】少なくとも1つのコントローラが、 目標記憶装置に未だコミットされていない、先に書き込まれたデータのユニッ
    トを記憶している目的位置にCPUが書き込みを試みた時に、この目的位置が、
    或る時点でソース記憶システム内の記憶位置のセットの有効描写に整合する目標
    記憶装置内の描写を持つべき記憶位置の或る整合セットに属するか否かを決定す
    るための手段と、 目標記憶装置に未だ送信されていない、先に書き込まれたデータのユニットを
    含むこの整合セット内の他の位置の群を特定するための手段と、 この目的位置におけるデータのユニットと、この整合セット内の他の位置の群
    とを、通信リンクを通じて、ソース記憶システムから目標記憶装置に直ちに送信
    するための手段と、を含む、請求項20のソース記憶システム。
  25. 【請求項25】少なくとも1つのコントローラが、 目標記憶装置に未だコミットされていない、先に書き込まれたデータのユニッ
    トを記憶している目的位置にCPUが書き込みを試みた時に、目標記憶装置に未
    だ送信されていない、先に書き込まれたデータのユニットを含む少なくとも1つ
    の記憶装置内の他の記憶位置を特定するための手段と、 目標記憶装置に未だ送信されていない、先に書き込まれたデータのユニットの
    各々を、通信リンクを通じて、ソース記憶システムから目標記憶装置に直ちに送
    信するための手段と、を含む、請求項20のソース記憶システム。
  26. 【請求項26】少なくとも1つのコントローラが、 複数の記憶位置の何れかが、目標記憶装置に未だ送信されていない、先に書き
    込まれたデータのユニットを含むか否かを周期的に決定するためのポーリング手
    段と、 ソース記憶システム内の記憶位置の少なくとも1つが、目標記憶装置に未だ送
    信されていない、先に書き込まれたデータのユニットを含む時に、この少なくと
    も1つの記憶位置に記憶された先に書き込まれたデータのユニットを、通信リン
    クを通じて、ソース記憶システムから目標記憶装置に送信するための手段と、を
    含む、請求項19のソース記憶システム。
  27. 【請求項27】少なくとも1つのコントローラが、 ポーリング手段が、第1の位置を、目標記憶装置に未だ送信されていない、先
    に書き込まれたデータのユニットを含むと特定した時に、この第1の位置が、或
    る時点でソース記憶システム内の記憶位置のセットの有効描写に整合する目標記
    憶装置内の描写を持つべき記憶位置の或る整合セットに属するか否かを決定する
    ための手段と、 この第1の位置が或る整合セットに属する時に、目標記憶装置に未だ送信され
    ていない、先に書き込まれたデータのユニットを含むこの整合セット内の他の位
    置の群を特定するための手段と、 この第1の位置におけるデータのユニットと、この整合セット内の他の位置の
    群とを、通信リンクを通じて、ソース記憶システムから目標記憶装置に直ちに送
    信するための手段と、を含む、請求項26のソース記憶システム。
  28. 【請求項28】データの複数ユニットが、CPUから発行された複数のコマン
    ドチェーンによりソース記憶システムに書き込まれ、且つ少なくとも1つのコン
    トローラが、データのユニットの1つを書き込んだ全コマンドチェーンがソース
    記憶システムにコミットされてしまうまで、データのユニットのどの1つも、ソ
    ース記憶システムから目標記憶装置に送信しないための手段を含む、請求項19
    のソース記憶システム。
  29. 【請求項29】少なくとも1つのコントローラが、 目標記憶装置に未だコミットされていない、先に書き込まれたデータのユニッ
    トを記憶しているソース記憶システムの或る目的位置にCPUが書き込みを試み
    た時に、この目的位置を、CPUによるアクセスから切り離すための手段と、 この目的位置が、或る時点でソース記憶システム内の記憶位置のセットの有効
    描写に整合する目標記憶装置内の描写を持つべき記憶位置の或る整合セットに属
    するか否かを決定するための手段と、 この目的位置が或る整合セットに属する時に、目標記憶装置に未だ送信されて
    いない、先に書き込まれたデータのユニットを含むこの整合セット内の他の位置
    の群を特定するための手段と、 この目的位置を、CPUによるアクセスのために再接続するための手段と、 この目的位置の再接続に先立ち、通信リンクを通じて、ソース記憶システムか
    ら目標記憶装置に、この目的位置におけるデータのユニットおよびこの整合セッ
    ト内の他の位置の群のみを送信するための手段と、を含む、請求項20のソース
    記憶システム。
  30. 【請求項30】少なくとも1つの記憶装置がキャッシュおよび少なくとも1つ
    の永久記憶装置を含み、且つ少なくとも1つのコントローラが、 データの各ユニットの単一コピーを、非同期ミラーリングをサポートすべく、
    情報の各ユニットのコピーをキューにバッファすることなく、直接キャッシュに
    記憶させるための手段を含む、請求項19のソース記憶システム。
  31. 【請求項31】CPUが、論理ボリューム内で組織された情報のユニットに基
    づいて、ソース記憶システムへの書き込みを実行し、且つ少なくとも1つのコン
    トローラが、ソース記憶システム上の単一の論理ボリュームにCPUによって書
    き込まれた2データのユニットをリンクを介して同時に送信するための手段を含
    む、請求項19のソース記憶システム。
  32. 【請求項32】少なくとも1つのコントローラが、通信リンクを通じて送信さ
    れたデータのユニットが目標記憶装置にコミットされるべき順序を特定する少な
    くとも1パケットの情報を、通信リンクを通じて、ソース記憶システムから目標
    記憶装置に送信するための手段を含む、請求項19のソース記憶システム。
  33. 【請求項33】 通信リンクおよび目標記憶システムと組み合わされる請求項
    32のソース記憶システムにおいて、目標記憶システムが、このデータのユニッ
    トを、この少なくとも1つのパケットの情報により特定された順序で、このデー
    タのユニットが目標記憶装置で受け取られる順序とは独立に、目標記憶装置にコ
    ミットするための手段を含む、請求項32のソース記憶システム。
  34. 【請求項34】通信リンクが、ソースおよび目標記憶装置間に複数の並行通信
    チャネルを含み、且つ少なくとも1つのコントローラが、データのユニットを、
    このデータのユニットが、情報のユニットが目標記憶装置にコミットされる順序
    での送信に限定されないように、非同期的なやり方で、この複数の通信チャネル
    を介して送信するための手段を含む、請求項33の組み合わせ。
  35. 【請求項35】目標記憶システムが、目標記憶装置において、通信リンクを通
    じて受け取ったデータのユニットをコミットする少なくとも1つの目標コントロ
    ーラを含み、且つこの少なくとも1つの目標コントローラが、データのユニット
    を、通信リンクを通じて、このデータのユニットが目標記憶システムで受け取ら
    れた順序とは異なる順序で受け取るためのコミット手段を含む、通信リンクおよ
    び目標記憶システムと組み合わされる請求項19のコンピュータシステム。
  36. 【請求項36】少なくとも1つのコントローラが、 複数の記憶位置の何れかが、目標記憶装置に未だ送信されていない、先に書き
    込まれたデータのユニットを含むか否かを周期的に決定するためのポーリング手
    段と、 ソース記憶システム内の記憶位置の少なくとも1つが、目標記憶装置に未だ送
    信されていない、先に書き込まれたデータのユニットを含むと決定された時に、
    この少なくとも1つの記憶位置に記憶された先に書き込まれたデータのユニット
    を、通信リンクを通じて、ソース記憶システムから目標記憶装置に送信するため
    の手段と、 ポーリング手段が、第1の位置を、目標記憶装置に未だ送信されていない、先
    に書き込まれたデータのユニットを含むと特定した時に、この第1の位置が、或
    る時点でソース記憶システム内の記憶位置のセットの有効描写に整合する目標記
    憶装置内の描写を持つべき記憶位置の或る整合セットに属するか否かを決定する
    ための手段と、 この第1の位置が或る整合セットに属する時に、目標記憶装置に未だ送信され
    ていない、先に書き込まれたデータのユニットを含むこの整合セット内の他の位
    置の群を特定するための手段と、 この第1の位置におけるデータのユニットと、この整合セット内の他の位置の
    群とを、通信リンクを通じて、ソース記憶システムから目標記憶装置に直ちに送
    信するための手段と、を含む、請求項24のソース記憶システム。
  37. 【請求項37】少なくとも1つのコントローラが、 複数の記憶位置の何れかが、目標記憶装置に未だ送信されていない、先に書き
    込まれたデータのユニットを含むか否かを周期的に決定するためのポーリング手
    段と、 ソース記憶システム内の記憶位置の少なくとも1つが、目標記憶装置に未だ送
    信されていない、先に書き込まれたデータのユニットを含むと決定された時に、
    この少なくとも1つの記憶位置に記憶された先に書き込まれたデータのユニット
    を、通信リンクを通じて、ソース記憶システムから目標記憶装置に送信するため
    の手段と、を含む、請求項23のソース記憶システム。
  38. 【請求項38】 通信リンクおよび目標記憶システムと組み合わされて遠隔ミ
    ラーリングデータ設備を形成する、請求項19のソース記憶システム。
  39. 【請求項39】 通信リンクおよび目標記憶システムと組み合わされて遠隔ミ
    ラーリングデータ設備を形成する、請求項20のソース記憶システム。
  40. 【請求項40】 中央処理装置(CPU)と、このCPUに結合された第1の
    記憶システムと、第2の記憶システムと、この第2の記憶システムを第1の記憶
    システムに結合する通信リンクとを含むコンピュータシステムにおいて、CPU
    によって第1の記憶システムに書き込まれたデータの複数ユニットを、第2の記
    憶システムに対し、ミラーリングさせる方法であって、 (A)このデータの複数ユニットを第1の記憶システムに記憶させるステップ
    と、 (B)このデータの複数ユニットを、通信リンクを通じて、第1の記憶システ
    ムから第2の記憶システムに、第1の順序で送信するステップと、 (C)このデータの複数ユニットを、このデータの複数ユニットが第2の記憶
    システムで受け取られる順序から独立した第2の順序で第2の記憶システムにコ
    ミットするステップと、を備える、方法。
  41. 【請求項41】ステップ(C)が、このデータの複数ユニットを第1の順序と
    は異なる第2の順序で、第2の記憶システムにコミットするステップをさらに含
    む、請求項40の方法。
  42. 【請求項42】 (D)データのユニットが第2の記憶システムにコミットさ
    れるべき順序を特定する少なくとも1パケットの情報を、通信リンクを通じて、
    第1の記憶システムから第2の記憶システムに送信するステップと、 (E)このデータのユニットを、少なくとも1つのパケットの情報により特定
    された順序で、このデータのユニットが第2の記憶システムで受け取られる順序
    とは独立に、第2の記憶システムにコミットするステップと、をさらに含む、請
    求項40の方法。
  43. 【請求項43】通信リンクが、第1および第2の記憶システム間に複数の並行
    通信チャネルを含み、且つステップ(B)が、データのユニットを、このデータ
    のユニットが、情報のユニットが第2の記憶システムにコミットされる順序での
    送信に限定されないように、非同期的なやり方で、この複数の通信チャネルを介
    して送信するステップを含む、請求項42の方法。
  44. 【請求項44】少なくとも1つのパケットの情報が複数のパケットを含み、且
    つステップ(D)が、 或る時点で第1の記憶システム内の整合グループの有効描写と整合する第2の
    記憶システム内の描写を持つであろうような、特定の順序で第2の記憶システム
    にコミットされるべき情報の複数ユニットを含むように、通信リンクを通じて送
    信されたデータのユニットを複数の整合ユニットにグループ分けするステップと
    、 この整合グループ内のデータのユニットが第2の記憶システムにコミットされ
    るべき順序を特定する、各整合グループのための少なくとも1つのパケットの情
    報を、第1の記憶システムから第2の記憶システムに送信するステップと、を含
    む、請求項42の方法。
  45. 【請求項45】 各整合セットが、或る時点で第1の記憶システム内の記憶位
    置のセットの有効描写と整合する第2の記憶システム内の描写を持つべき記憶位
    置のセットを特定するように、第1の記憶システム内の複数の記憶位置を整合セ
    ットに組織するステップ、をさらに含む、請求項44の方法。
  46. 【請求項46】ステップ(B)が、単一の整合セットに関する複数の整合グル
    ープが、通信リンク上を同時に通過し得るように、データの複数ユニットを送信
    するステップを含む、請求項45の方法。
  47. 【請求項47】通信リンクが、第1および第2の記憶システム間に複数の並行
    通信チャネルを含み、且つステップ(D)が、異なる整合セット内の整合グルー
    プに関するパケットを、非同期的なやり方で、この複数の通信チャネルを介して
    送信するステップを含む、請求項46の方法。
  48. 【請求項48】ステップ(D)が、同じ整合セット内の整合グループに関する
    パケットを、同期的なやり方で送信するステップを含み、且つステップ(E)が
    、この同じ整合セットに関する整合グループが、それらのパケットが第2の記憶
    システムで受け取られる順序によって決められる順序で第2の記憶システムにコ
    ミットされるように、この同じ整合セットに関するパケットの情報を、このパケ
    ットが第2の記憶システムで受け取られる順序で処理するステップを含む、請求
    項47の方法。
  49. 【請求項49】 中央処理装置(CPU)と、このCPUに結合されたソース
    記憶システムと、目標記憶システムをソース記憶システムに結合する通信リンク
    とを含み、ソース記憶システムが、通信リンクを通じて、目標記憶システムに、
    CPUによってソース記憶システムに書き込まれたデータの複数ユニットを送信
    するコンピュータシステムにおいて用いられる目標記憶システムであって、この
    目標記憶システムが、このデータの複数ユニットを、通信リンクを通じて、第1
    の順序で受け取り、この目標記憶システムが、 複数の記憶位置を含む少なくとも1つの記憶装置と、 通信リンクを通じてソース記憶システムから受け取ったデータの複数ユニット
    を、この少なくとも1つの記憶装置に、このデータの複数ユニットが目標記憶シ
    ステムで受け取られる第1の順序から独立した第2の順序でコミットする少なく
    とも1つのコントローラと、を含む、目標記憶システム。
  50. 【請求項50】ソース記憶システムが、データのユニットが目標記憶システム
    にコミットされるべき順序を特定する少なくとも1パケットの情報を、通信リン
    クを通じて、目標記憶システムに送信し、且つ少なくとも1つのコントローラが
    、このデータのユニットを、少なくとも1つのパケットの情報により特定された
    順序で、このデータのユニットが目標記憶システムで受け取られる順序とは独立
    に、目標記憶システムにコミットするための手段を含む、請求項49の目標記憶
    システム。
  51. 【請求項51】 ソース記憶システムに結合された中央処理装置(CPU)と
    、目標記憶システムと、この目標記憶システムをソース記憶システムに結合する
    通信リンクとを含み、CPUが、データの複数ユニットをソース記憶システムに
    書き込むコンピュータシステムにおいて用いられるソース記憶システムであって
    、このソース記憶システムが、 複数の記憶位置を含む少なくとも1つの記憶装置と、 CPUによって書き込まれたデータの複数ユニットを、この少なくとも1つの
    記憶装置に記憶させると共に、このデータの複数ユニットのうちの少なくとも幾
    つかを目標記憶システムにミラーリングさせる少なくとも1つのコントローラと
    を含み、この少なくとも1つのコントローラが、この少なくとも幾つかのデータ
    のユニットを、通信リンクを通じて、目標記憶システムに、送信順序で送信し、
    且つこの少なくとも1つのコントローラが、このデータの複数ユニットのうちの
    この少なくとも幾つかが、送信順序から独立した目標記憶システムにおいてコミ
    ットされるべきコミットメント順序を特定する少なくとも1パケットの情報を、
    通信リンクを通じて、目標記憶システムに送信する、ソース記憶システム。
  52. 【請求項52】コントローラが、送信順序とは異なるコミットメント順序を特
    定するための少なくとも1つのパケットを生成するための手段を含む、請求項5
    1のソース記憶システム。
  53. 【請求項53】通信リンクが、ソースおよび目標記憶システム間に複数の並行
    通信チャネルを含み、且つ少なくとも1つのコントローラが、データの複数ユニ
    ットの少なくとも幾つかを、このデータの複数ユニットの少なくとも幾つかが、
    情報のユニットが目標記憶システムにコミットされる順序での送信に限定されな
    いように、非同期的なやり方で、この複数の通信チャネルを介して送信するため
    の手段を含む、請求項51のソース記憶システム。
  54. 【請求項54】少なくとも1つのパケットの情報が複数のパケットを含み、且
    つ少なくとも1つのコントローラが、 或る時点でソース記憶システム内の整合グループの有効描写と整合する目標記
    憶システム内の描写を持つであろうような、特定の順序で目標記憶システムにコ
    ミットされるべき情報の複数ユニットを含むように、通信リンクを通じて送信さ
    れたデータの複数ユニットの少なくとも幾つかを複数の整合ユニットにグループ
    分けするための手段と、 この整合グループ内のデータのユニットが目標記憶システムにコミットされる
    べき順序を特定する、各整合グループのための少なくとも1つのパケットの情報
    を、ソース記憶システムから目標記憶システムに送信するための手段と、を含む
    、請求項51のソース記憶システム。
  55. 【請求項55】少なくとも1つのコントローラが、 各整合セットが、或る時点でソース記憶システム内の記憶位置のセットの有効描
    写と整合する目標記憶システム内の描写を持つべき記憶位置のセットを特定する
    ように、少なくとも1つの記憶装置内の複数の記憶位置を整合セットに組織する
    ための手段をさらに含む、請求項51のソース記憶システム。
  56. 【請求項56】少なくとも1つのコントローラが、単一の整合セットに関する
    複数の整合グループが、通信リンク上を同時に通過し得るように、データの複数
    ユニットの少なくとも幾つかを送信するための手段を含む、請求項55のソース
    記憶システム。
  57. 【請求項57】通信リンクが、ソースおよび目標記憶システム間に複数の並行
    通信チャネルを含み、且つ少なくとも1つのコントローラが、異なる整合セット
    内の整合グループに関するパケットを、非同期的なやり方で、この複数の通信チ
    ャネルを介して送信するための手段を含む、請求項56のソース記憶システム。
  58. 【請求項58】少なくとも1つのコントローラが、同じ整合セット内の整合グ
    ループに関するパケットを、同期的なやり方で送信するための手段を含む、請求
    項57のソース記憶システム。
  59. 【請求項59】この同じ整合セットに関する整合グループが、それらのパケッ
    トが目標記憶システムで受け取られる順序によって決められる順序で目標記憶シ
    ステムにコミットされるように、この同じ整合セットに関するパケットの情報を
    、このパケットが目標記憶システムで受け取られる順序で処理するための手段を
    含む、目標記憶システムと組み合わされる請求項58のソース記憶システム。
  60. 【請求項60】 中央処理装置(CPU)と、このCPUに結合され且つ複数
    の記憶位置を含む第1の記憶システムと、第2の記憶システムと、この第2の記
    憶システムを第1の記憶システムに結合する通信リンクとを含むコンピュータシ
    ステムにおいて、CPUによって第1の記憶システム内のこの複数の記憶位置の
    うちの少なくとも幾つかに書き込まれたデータの複数ユニットを、第2の記憶シ
    ステムに対し、非同期的にミラーリングさせる方法であって、第1の記憶システ
    ムが、キャッシュと、複数の記憶位置を含む少なくとも1つの記憶装置とを含み
    : (A)このデータの複数ユニットの各々の単一コピーを、非同期ミラーリング
    をサポートすべく各データのユニットのコピーをキューにバッファすることなく
    、直接キャッシュ内に記憶させるステップと、 (B)このデータの複数ユニットの各々を、通信リンクを通じて、第1の記憶
    システムから第2の記憶システムに非同期的に送信するステップと、を備える、
    方法。
  61. 【請求項61】CPUが、この第1の記憶システムのこの複数の記憶位置のう
    ちの或る目的位置に、このデータの複数ユニットの各々を書き込み、且つステッ
    プ(A)が、このデータの複数ユニットの1つを、第1の記憶システムの目的位
    置に対応したキャッシュ位置に記憶させるに先立って、この目的位置が、第2の
    記憶システムに未だコミットされていない、先に書き込まれたデータのユニット
    を記憶しているか否かを決定するステップをさらに含む、請求項60の方法。
  62. 【請求項62】ステップ(A)が、第2の記憶システムに未だコミットされて
    いない、先に書き込まれたデータのユニットを記憶している第1の記憶システム
    の或る目的位置にCPUが書き込みを試みた時に、この試みられた書き込みが現
    在は処理され得ないことをCPUに通知するステップを含む、請求項61の方法
  63. 【請求項63】ステップ(B)が、第2の記憶システムに未だコミットされて
    いない、先に書き込まれたデータのユニットを記憶している第1の記憶システム
    の或る目的位置にCPUが書き込みを試みた時に、この先に書き込まれたデータ
    のユニットを、通信リンクを通じて、第1の記憶システムから第2の記憶システ
    ムに直ちに送信するステップを含む、請求項61の方法。
  64. 【請求項64】ステップ(B)が、第2の記憶システムに未だコミットされて
    いない、先に書き込まれたデータのユニットを記憶している第1の記憶システム
    の或る目的位置にCPUが書き込みを試みた時に、 この目的位置が、或る時点で第1の記憶システム内の記憶位置のセットの有効
    描写に整合する第2の記憶システム内の描写を持つべき記憶位置の或る整合セッ
    トに属するか否かを決定するステップと、 この目的位置が或る整合セットに属する時に、 第2の記憶システムに未だ送信されていない、先に書き込まれたデータのユニ
    ットを含むこの整合セット内の他の位置の群を特定するステップと、 この目的位置におけるデータのユニットと、この整合セット内の他の位置の群
    とを、通信リンクを通じて、第1の記憶システムから第2の記憶システムに直ち
    に送信するステップとを行なうステップと、を含む、請求項61の方法。
  65. 【請求項65】ステップ(B)が、このデータの複数ユニットを、通信リンク
    を通じて、キャッシュから第2の記憶システムに送信するステップを含む、請求
    項60の方法。
  66. 【請求項66】 ソース記憶システムに結合された中央処理装置(CPU)と
    、目標記憶システムと、この目標記憶システムをソース記憶システムに結合する
    通信リンクとを含むコンピュータシステムにおいて用いられるソース記憶システ
    ムであって、このソース記憶システムが、 複数の記憶位置を含む少なくとも1つの記憶装置と、 この複数の記憶位置の部分集合に対応する複数のキャッシュ位置を含むキャッ
    シュと、 CPUによってこの複数の記憶位置の少なくとも幾つかに書き込まれたデータ
    の複数ユニットを、目標記憶システムに対し、非同期的にミラーリングさせる少
    なくとも1つのコントローラとを含み、この少なくとも1つのコントローラが、
    このデータの複数ユニットの各々の単一コピーを、非同期ミラーリングをサポー
    トすべくこのデータの複数ユニットの各々のコピーをキューにバッファすること
    なく、直接キャッシュ内に記憶させ、且つこの少なくとも1つのコントローラが
    、このデータの複数ユニットの各々を、通信リンクを通じて、第1の記憶システ
    ムから第2の記憶システムに非同期的に送信する、ソース記憶システム。
  67. 【請求項67】CPUが、このソース記憶システムのこの複数の記憶位置のう
    ちの或る目的位置に、このデータの複数ユニットの各々を書き込み、且つ少なく
    とも1つのコントローラが、このデータの複数ユニットの1つを、目的位置にに
    対応したキャッシュ位置に記憶させるに先立って、この目的位置が、第2の記憶
    システムに未だコミットされていない、先に書き込まれたデータのユニットを記
    憶しているか否かを決定するための手段をさらに含む、請求項66のソース記憶
    システム。
  68. 【請求項68】少なくとも1つのコントローラが、目標記憶システムに未だコ
    ミットされていない、先に書き込まれたデータのユニットを記憶しているソース
    記憶システムの或る目的位置にCPUが書き込みを試みた時に、この試みられた
    書き込みが現在は処理され得ないことをCPUに通知するための手段を含む、請
    求項67のソース記憶システム。
  69. 【請求項69】少なくとも1つのコントローラが、目標記憶システムに未だコ
    ミットされていない、先に書き込まれたデータのユニットを記憶しているソース
    記憶システムの或る目的位置にCPUが書き込みを試みた時に、この先に書き込
    まれたデータのユニットを、通信リンクを通じて、ソース記憶システムから目標
    記憶システムに直ちに送信するための手段を含む、請求項67のソース記憶シス
    テム。
  70. 【請求項70】少なくとも1つのコントローラが、 目標記憶装置に未だコミットされていない、先に書き込まれたデータのユニッ
    トを記憶しているソース記憶システムの或る目的位置にCPUが書き込みを試み
    た時に、この目的位置が、或る時点でソース記憶システム内の記憶位置のセット
    の有効描写に整合する目標記憶装置内の描写を持つべき記憶位置の或る整合セッ
    トに属するか否かを決定するための手段と、 目標記憶装置に未だ送信されていない、先に書き込まれたデータのユニットを
    含むこの整合セット内の他の位置の群を特定するための手段と、 この目的位置におけるデータのユニットと、この整合セット内の他の位置の群
    とを、通信リンクを通じて、ソース記憶システムから目標記憶装置に直ちに送信
    するための手段と、を含む、請求項66のソース記憶システム。
  71. 【請求項71】少なくとも1つのコントローラが、このデータの複数ユニット
    を、通信リンクを通じて、キャッシュから目標記憶システムに送信するための手
    段を含む、請求項66のソース記憶システム。
  72. 【請求項72】 中央処理装置(CPU)と、このCPUに結合された第1の
    記憶システムと、第2の記憶システムと、この第2の記憶システムを第1の記憶
    システムに結合する通信リンクとを含むコンピュータシステムにおいて、CPU
    によって第1の記憶システム内のこの複数の記憶位置の少なくとも幾つかに書き
    込まれたデータの複数ユニットを、第2の記憶システムに対し、非同期的にミラ
    ーリングさせる方法であって、この方法が、 (A)この複数の記憶位置を、複数の整合セットの記憶位置に組織するステッ
    プと、 (B)このデータの複数ユニットを、通信リンクを介し、第1の記憶システム
    から第2の記憶システムに、記憶位置の各整合セットが、或る時点で第1の記憶
    システム内で有効な描写の記憶位置の整合セットと一致する第2の記憶システム
    内の描写を持つように、非同期的に送信するステップと、を備える、方法。
  73. 【請求項73】ステップ(B)が、少なくとも一対の整合セットが、如何なる
    時点でも第1の記憶システム内のこの少なくとも一対の整合セットの有効描写と
    整合する第2の記憶システム内の描写を持つことを保証されないように、データ
    の複数ユニットを、通信リンクを通じて、第1の記憶システムから第2の記憶シ
    ステムに、非同期的に送信するステップをさらに含む、請求項72の方法。
  74. 【請求項74】ステップ(A)が、複数の記憶位置を、CPUによって特定さ
    れる複数の整合セットに組織するステップを含む、請求項72の方法。
  75. 【請求項75】 ソース記憶システムに結合された中央処理装置(CPU)と
    、目標記憶システムと、この目標記憶システムをソース記憶システムに結合する
    通信リンクとを含むコンピュータシステムにおいて用いられるソース記憶システ
    ムであって、このソース記憶システムが、 複数の記憶位置を含む少なくとも1つの記憶装置と、 この複数の記憶位置を、複数の整合セットの記憶位置に組織すると共に、CP
    Uによって、この複数の記憶位置の少なくとも幾つかに書き込まれたデータの複
    数ユニットを、目標記憶システムに対し、非同期的にミラーリングさせる少なく
    とも1つのコントローラとを備え、この少なくとも1つのコントローラが、この
    データの複数ユニットを、通信リンクを介し、ソース記憶システムから目標記憶
    システムに、記憶位置の各整合セットが、或る時点でソース記憶システム内で有
    効な描写の記憶位置の整合セットと一致する目標記憶システム内の描写を持つよ
    うに、非同期的に送信する、ソース記憶システム。
  76. 【請求項76】少なくとも1つのコントローラが、少なくとも一対の整合セッ
    トが、如何なる時点でもソース記憶システム内のこの少なくとも一対の整合セッ
    トの有効描写と整合する目標記憶システム内の描写を持つことを保証されないよ
    うに、データの複数ユニットを、通信リンクを通じて、ソース記憶システムから
    目標記憶システムに、非同期的に送信するための手段を含む、請求項75のソー
    ス記憶システム。
  77. 【請求項77】少なくとも1つのコントローラが、複数の記憶位置を、CPU
    によって特定される複数の整合セットに組織するための手段を含む、請求項75
    のソース記憶システム。
JP2000541592A 1998-04-01 1999-03-29 ソース装置のミラーリングを非同期的に更新するための装置および方法 Pending JP2003517652A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/053,420 US6157991A (en) 1998-04-01 1998-04-01 Method and apparatus for asynchronously updating a mirror of a source device
US09/053,420 1998-04-01
PCT/US1999/006719 WO1999050747A1 (en) 1998-04-01 1999-03-29 Method and apparatus for asynchronously updating a mirror of a source device

Publications (1)

Publication Number Publication Date
JP2003517652A true JP2003517652A (ja) 2003-05-27

Family

ID=21984101

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000541592A Pending JP2003517652A (ja) 1998-04-01 1999-03-29 ソース装置のミラーリングを非同期的に更新するための装置および方法

Country Status (5)

Country Link
US (1) US6157991A (ja)
JP (1) JP2003517652A (ja)
DE (1) DE19983084T1 (ja)
GB (1) GB2353122B (ja)
WO (1) WO1999050747A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8229995B2 (en) 2008-05-26 2012-07-24 Fujitsu Limited Data transfer processing apparatus, data transfer processing method, and computer product

Families Citing this family (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6988176B2 (en) * 1997-09-12 2006-01-17 Hitachi, Ltd. Method and apparatus for data duplexing in storage unit system
US6665781B2 (en) * 2000-10-17 2003-12-16 Hitachi, Ltd. Method and apparatus for data duplexing in storage unit system
US6301643B1 (en) * 1998-09-03 2001-10-09 International Business Machines Corporation Multi-environment data consistency
JP4689137B2 (ja) * 2001-08-08 2011-05-25 株式会社日立製作所 リモートコピー制御方法、及びストレージシステム
US7107395B1 (en) 1998-12-31 2006-09-12 Emc Corporation Apparatus and methods for operating a computer storage system
US6487561B1 (en) 1998-12-31 2002-11-26 Emc Corporation Apparatus and methods for copying, backing up, and restoring data using a backup segment size larger than the storage block size
US6718347B1 (en) 1999-01-05 2004-04-06 Emc Corporation Method and apparatus for maintaining coherence among copies of a database shared by multiple computers
JP2000305856A (ja) * 1999-04-26 2000-11-02 Hitachi Ltd ディスクサブシステム及びこれらの統合システム
US6529921B1 (en) 1999-06-29 2003-03-04 Microsoft Corporation Dynamic synchronization of tables
US6535967B1 (en) 2000-01-19 2003-03-18 Storage Technology Corporation Method and apparatus for transferring data between a primary storage system and a secondary storage system using a bridge volume
JP4434407B2 (ja) * 2000-01-28 2010-03-17 株式会社日立製作所 サブシステム及びこれらの統合システム
US6446176B1 (en) 2000-03-09 2002-09-03 Storage Technology Corporation Method and system for transferring data between primary storage and secondary storage using a bridge volume and an internal snapshot copy of the data being transferred
JP4044717B2 (ja) 2000-03-31 2008-02-06 株式会社日立製作所 記憶サブシステムのデータ二重化方法及びデータ二重化システム
EP1158409B1 (en) * 2000-05-25 2008-05-28 Hitachi, Ltd. Storage system making possible data synchronisation confirmation at time of asynchronous remote copy
JP3968207B2 (ja) * 2000-05-25 2007-08-29 株式会社日立製作所 データ多重化方法およびデータ多重化システム
US6883018B1 (en) 2001-01-24 2005-04-19 Emc Corporation Scanning a message-list
US6961868B2 (en) 2001-02-16 2005-11-01 Swsoft Holdings, Ltd. Fault tolerant storage system and method using a network of servers
US7418620B1 (en) 2001-02-16 2008-08-26 Swsoft Holdings, Ltd. Fault tolerant distributed storage method and controller using (N,K) algorithms
US7209973B2 (en) 2001-04-09 2007-04-24 Swsoft Holdings, Ltd. Distributed network data storage system and method
US6496908B1 (en) * 2001-05-18 2002-12-17 Emc Corporation Remote mirroring
US7149787B1 (en) 2001-06-07 2006-12-12 Emc Corporation Apparatus and method for mirroring and restoring data
US6976139B2 (en) * 2001-11-14 2005-12-13 Emc Corporation Reversing a communication path between storage devices
US6701392B1 (en) 2001-11-14 2004-03-02 Emc Corporation Hierarchical approach to indentifying changing device characteristics
US6862632B1 (en) 2001-11-14 2005-03-01 Emc Corporation Dynamic RDF system for transferring initial data between source and destination volume wherein data maybe restored to either volume at same time other data is written
EP1456750A1 (en) * 2001-12-12 2004-09-15 Telefonaktiebolaget LM Ericsson (publ) Collision handling apparatus and method
US7139885B2 (en) 2001-12-27 2006-11-21 Hitachi, Ltd. Method and apparatus for managing storage based replication
US6745303B2 (en) * 2002-01-03 2004-06-01 Hitachi, Ltd. Data synchronization of multiple remote storage
US7139932B2 (en) * 2002-01-03 2006-11-21 Hitachi, Ltd. Data synchronization of multiple remote storage after remote copy suspension
US20040006622A1 (en) * 2002-07-03 2004-01-08 Burkes Don L. Optimized process for balancing load for data mirroring
US7191298B2 (en) 2002-08-02 2007-03-13 International Business Machines Corporation Flexible system and method for mirroring data
US7127568B2 (en) * 2003-01-23 2006-10-24 Hitachi, Ltd. Throttling in storage systems
US7020743B2 (en) * 2003-02-24 2006-03-28 Sun Microsystems, Inc. Atomic remote memory operations in cache mirroring storage systems
US7178051B2 (en) * 2003-02-27 2007-02-13 Sun Microsystems, Inc. Method for synchronous support of fault-tolerant and adaptive communication
JP2004259079A (ja) * 2003-02-27 2004-09-16 Hitachi Ltd データ処理システム
US7051176B2 (en) * 2003-03-25 2006-05-23 Emc Corporation Reading data provided to a remote storage device
US6898685B2 (en) * 2003-03-25 2005-05-24 Emc Corporation Ordering data writes from a local storage device to a remote storage device
JP2004295465A (ja) * 2003-03-27 2004-10-21 Hitachi Ltd 計算機システム
US7120824B2 (en) * 2003-05-09 2006-10-10 International Business Machines Corporation Method, apparatus and program storage device for maintaining data consistency and cache coherency during communications failures between nodes in a remote mirror pair
US7120825B2 (en) * 2003-06-06 2006-10-10 Hewlett-Packard Development Company, L.P. Adaptive batch sizing for asynchronous data redundancy
US7152182B2 (en) * 2003-06-06 2006-12-19 Hewlett-Packard Development Company, L.P. Data redundancy system and method
US7165187B2 (en) * 2003-06-06 2007-01-16 Hewlett-Packard Development Company, L.P. Batch based distributed data redundancy
US7178055B2 (en) * 2003-06-06 2007-02-13 Hewlett-Packard Development Company, L.P. Method and system for ensuring data consistency after a failover event in a redundant data storage system
US7111004B2 (en) * 2003-06-18 2006-09-19 International Business Machines Corporation Method, system, and program for mirroring data between sites
US20040260745A1 (en) * 2003-06-18 2004-12-23 Gage Christopher A. S. Load balancer performance using affinity modification
US7130975B2 (en) 2003-06-27 2006-10-31 Hitachi, Ltd. Data processing system
JP4124348B2 (ja) 2003-06-27 2008-07-23 株式会社日立製作所 記憶システム
JP2005309550A (ja) 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
JP4374953B2 (ja) * 2003-09-09 2009-12-02 株式会社日立製作所 データ処理システム
CA2472887A1 (en) 2003-06-30 2004-12-30 Gravic, Inc. Methods for ensuring referential integrity in multithreaded replication engines
US7219201B2 (en) 2003-09-17 2007-05-15 Hitachi, Ltd. Remote storage disk control device and method for controlling the same
US7827362B2 (en) 2004-08-24 2010-11-02 Symantec Corporation Systems, apparatus, and methods for processing I/O requests
US7730222B2 (en) 2004-08-24 2010-06-01 Symantec Operating System Processing storage-related I/O requests using binary tree data structures
US7725760B2 (en) 2003-09-23 2010-05-25 Symantec Operating Corporation Data storage system
US7904428B2 (en) 2003-09-23 2011-03-08 Symantec Corporation Methods and apparatus for recording write requests directed to a data store
US7577806B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Systems and methods for time dependent data storage and recovery
US7296008B2 (en) * 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
US7865485B2 (en) * 2003-09-23 2011-01-04 Emc Corporation Multi-threaded write interface and methods for increasing the single file read and write throughput of a file server
US7287133B2 (en) 2004-08-24 2007-10-23 Symantec Operating Corporation Systems and methods for providing a modification history for a location within a data store
US7991748B2 (en) 2003-09-23 2011-08-02 Symantec Corporation Virtual data store creation and use
US7133986B2 (en) * 2003-09-29 2006-11-07 International Business Machines Corporation Method, system, and program for forming a consistency group
US7610318B2 (en) * 2003-09-29 2009-10-27 International Business Machines Corporation Autonomic infrastructure enablement for point in time copy consistency
US7441052B2 (en) * 2003-09-29 2008-10-21 Hitachi Data Systems Corporation Methods and apparatuses for providing copies of stored data for disaster recovery and other uses
US7143122B2 (en) * 2003-10-28 2006-11-28 Pillar Data Systems, Inc. Data replication in data storage systems
US7305418B2 (en) * 2003-11-05 2007-12-04 International Business Machines Corporation Selecting and showing copy pairs in a storage subsystem copy services graphical user interface
JP2005149082A (ja) 2003-11-14 2005-06-09 Hitachi Ltd ストレージ制御装置、及びストレージ制御装置の制御方法
US7228456B2 (en) * 2003-12-01 2007-06-05 Emc Corporation Data recovery for virtual ordered writes for multiple storage devices
WO2005057337A2 (en) * 2003-12-01 2005-06-23 Emc Corporation Virtual ordered writes for multiple storage devices
US7054883B2 (en) * 2003-12-01 2006-05-30 Emc Corporation Virtual ordered writes for multiple storage devices
US7085788B2 (en) * 2003-12-03 2006-08-01 Hitachi, Ltd. Remote copy system configured to receive both a write request including a write time and a write request not including a write time.
US7724599B2 (en) * 2003-12-03 2010-05-25 Hitachi, Ltd. Remote copy system
US7437389B2 (en) * 2004-03-10 2008-10-14 Hitachi, Ltd. Remote copy system
JP4412989B2 (ja) 2003-12-15 2010-02-10 株式会社日立製作所 複数の記憶システムを有するデータ処理システム
US7139864B2 (en) 2003-12-30 2006-11-21 Sandisk Corporation Non-volatile memory and method with block management system
US20050154786A1 (en) * 2004-01-09 2005-07-14 International Business Machines Corporation Ordering updates in remote copying of data
US7478211B2 (en) * 2004-01-09 2009-01-13 International Business Machines Corporation Maintaining consistency for remote copy using virtualization
JP4477370B2 (ja) 2004-01-30 2010-06-09 株式会社日立製作所 データ処理システム
US7231502B2 (en) 2004-02-04 2007-06-12 Falcon Stor Software, Inc. Method and system for storing data
US7685384B2 (en) * 2004-02-06 2010-03-23 Globalscape, Inc. System and method for replicating files in a computer network
US7228396B2 (en) * 2004-03-08 2007-06-05 Emc Corporation Switching between virtual ordered writes mode and synchronous or semi-synchronous RDF transfer mode
GB0410540D0 (en) * 2004-05-12 2004-06-16 Ibm Write set boundary management for heterogeneous storage controllers in support of asynchronous update of secondary storage
US20060015695A1 (en) * 2004-06-30 2006-01-19 Cochran Robert A Method of device mirroring via packetized networking infrastructure
JP4477950B2 (ja) * 2004-07-07 2010-06-09 株式会社日立製作所 リモートコピーシステム及び記憶装置システム
JP4519563B2 (ja) * 2004-08-04 2010-08-04 株式会社日立製作所 記憶システム及びデータ処理システム
US7330861B2 (en) 2004-09-10 2008-02-12 Hitachi, Ltd. Remote copying system and method of controlling remote copying
JP4915775B2 (ja) * 2006-03-28 2012-04-11 株式会社日立製作所 ストレージシステム及びストレージシステムのリモートコピー制御方法
JP2006127028A (ja) 2004-10-27 2006-05-18 Hitachi Ltd 記憶システム及び記憶制御装置
US7660955B2 (en) * 2005-12-01 2010-02-09 International Business Machines Corporation Node polling in consistency group formation
US7761426B2 (en) * 2005-12-07 2010-07-20 International Business Machines Corporation Apparatus, system, and method for continuously protecting data
JP4842720B2 (ja) * 2006-06-29 2011-12-21 株式会社日立製作所 ストレージシステム及びデータ複製方法
US7822728B1 (en) * 2006-11-08 2010-10-26 Emc Corporation Metadata pipelining and optimization in a file server
US7707176B2 (en) * 2006-12-22 2010-04-27 Sap Ag Content management system with improved performance
US7751398B1 (en) 2007-03-28 2010-07-06 Emc Corporation Techniques for prioritization of messaging traffic
US9384159B2 (en) * 2007-05-24 2016-07-05 International Business Machines Corporation Creating a checkpoint for a software partition in an asynchronous input/output environment
US7921268B2 (en) 2007-07-12 2011-04-05 Jakob Holger Method and system for function-specific time-configurable replication of data
US20090063587A1 (en) 2007-07-12 2009-03-05 Jakob Holger Method and system for function-specific time-configurable replication of data manipulating functions
US8255623B2 (en) * 2007-09-24 2012-08-28 Nvidia Corporation Ordered storage structure providing enhanced access to stored items
DK2060973T3 (da) 2007-11-14 2012-01-02 Holger Jakob Informatio Fremgangsmåde og system til funktionsspecifik tidskonfigurerbar replikering af datamanipuleringsfunktioner
US8850114B2 (en) 2010-09-07 2014-09-30 Daniel L Rosenband Storage array controller for flash-based storage devices
US8554737B2 (en) * 2010-09-28 2013-10-08 International Business Machines Corporation Dynamic consistency group formation and systems using the same
US9009416B1 (en) 2011-12-30 2015-04-14 Emc Corporation System and method for managing cache system content directories
US8930947B1 (en) 2011-12-30 2015-01-06 Emc Corporation System and method for live migration of a virtual machine with dedicated cache
US9158578B1 (en) 2011-12-30 2015-10-13 Emc Corporation System and method for migrating virtual machines
US9053033B1 (en) 2011-12-30 2015-06-09 Emc Corporation System and method for cache content sharing
US8627012B1 (en) 2011-12-30 2014-01-07 Emc Corporation System and method for improving cache performance
US9104529B1 (en) * 2011-12-30 2015-08-11 Emc Corporation System and method for copying a cache system
US9235524B1 (en) 2011-12-30 2016-01-12 Emc Corporation System and method for improving cache performance
US9063909B2 (en) * 2012-12-20 2015-06-23 Dropbox, Inc. Isolating data storage mirroring operations
US11030125B2 (en) * 2013-02-05 2021-06-08 International Business Machines Corporation Point in time copy operations from source volumes to space efficient target volumes in two stages via a non-volatile storage
US10203904B1 (en) * 2013-09-24 2019-02-12 EMC IP Holding Company LLC Configuration of replication
US9313270B2 (en) * 2014-07-29 2016-04-12 Datadirect Networks, Inc. Adaptive asynchronous data replication in a data storage system
US9817593B1 (en) 2016-07-11 2017-11-14 Sandisk Technologies Llc Block management in non-volatile memory system with non-blocking control sync system
CN110780810B (zh) 2018-07-31 2023-06-27 爱思开海力士有限公司 用于彼此接合多个存储器系统以存储数据的设备和方法
US11249919B2 (en) 2018-07-31 2022-02-15 SK Hynix Inc. Apparatus and method for managing meta data for engagement of plural memory system to store data
US11442628B2 (en) 2018-07-31 2022-09-13 SK Hynix Inc. Apparatus and method for engaging a plurality of memory systems with each other
US11301132B2 (en) 2019-08-30 2022-04-12 Micron Technology, Inc. Scheduling media management operations based on provided host system usage requirements
US11003384B2 (en) * 2019-08-30 2021-05-11 Micron Technology, Inc. Scheduling media management operations based on determined host system usage requirements

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07244597A (ja) * 1994-02-22 1995-09-19 Internatl Business Mach Corp <Ibm> 災害復旧機能を提供するために整合性グループを形成する方法および関連するシステム
WO1997035269A1 (en) * 1996-03-19 1997-09-25 Emc Corporation Multi-host decision support system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5307481A (en) * 1990-02-28 1994-04-26 Hitachi, Ltd. Highly reliable online system
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5504861A (en) * 1994-02-22 1996-04-02 International Business Machines Corporation Remote data duplexing
US5870537A (en) * 1996-03-13 1999-02-09 International Business Machines Corporation Concurrent switch to shadowed device for storage controller and device errors

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07244597A (ja) * 1994-02-22 1995-09-19 Internatl Business Mach Corp <Ibm> 災害復旧機能を提供するために整合性グループを形成する方法および関連するシステム
WO1997035269A1 (en) * 1996-03-19 1997-09-25 Emc Corporation Multi-host decision support system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8229995B2 (en) 2008-05-26 2012-07-24 Fujitsu Limited Data transfer processing apparatus, data transfer processing method, and computer product

Also Published As

Publication number Publication date
WO1999050747A1 (en) 1999-10-07
GB2353122A (en) 2001-02-14
US6157991A (en) 2000-12-05
GB0024421D0 (en) 2000-11-22
GB2353122B (en) 2002-10-16
DE19983084T1 (de) 2001-08-02

Similar Documents

Publication Publication Date Title
US6157991A (en) Method and apparatus for asynchronously updating a mirror of a source device
US9753663B1 (en) Triangular asynchronous replication
US6502205B1 (en) Asynchronous remote data mirroring system
US7197616B2 (en) Virtual ordered writes
US5889935A (en) Disaster control features for remote data mirroring
US7386668B2 (en) Handling data writes copied from a remote data storage device
US7051176B2 (en) Reading data provided to a remote storage device
US7747576B2 (en) Incremental update control for remote copy
US6052797A (en) Remotely mirrored data storage system with a count indicative of data consistency
US5720029A (en) Asynchronously shadowing record updates in a remote copy session using track arrays
US7234033B2 (en) Data synchronization of multiple remote storage facilities
US7600089B2 (en) Storage apparatus for asynchronous remote copying
US20060069890A1 (en) Triangular asynchronous replication with minimal synchronous storage
KR20060017789A (ko) 저장 장치 카피 방법, 시스템 및 제조품
US8601209B1 (en) Maintaining dasd and tape continuous availability
US8903766B2 (en) Data mirroring using a virtual connection
US8942073B1 (en) Maintaining tape emulation consistency
GB2434894A (en) Restoring backed up data to a host system from local and remote data storage units

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20031205

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040304

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040324

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20040607

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20041112