JP5191062B2 - ストレージ制御システム、ストレージ制御システムに関する操作方法、データ・キャリア及びコンピュータ・プログラム - Google Patents

ストレージ制御システム、ストレージ制御システムに関する操作方法、データ・キャリア及びコンピュータ・プログラム Download PDF

Info

Publication number
JP5191062B2
JP5191062B2 JP2009524162A JP2009524162A JP5191062B2 JP 5191062 B2 JP5191062 B2 JP 5191062B2 JP 2009524162 A JP2009524162 A JP 2009524162A JP 2009524162 A JP2009524162 A JP 2009524162A JP 5191062 B2 JP5191062 B2 JP 5191062B2
Authority
JP
Japan
Prior art keywords
batch
write
sequence number
primary
storage control
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.)
Active
Application number
JP2009524162A
Other languages
English (en)
Other versions
JP2010500673A (ja
Inventor
バー、デール
バターワース、ヘンリー、エズモンド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2010500673A publication Critical patent/JP2010500673A/ja
Application granted granted Critical
Publication of JP5191062B2 publication Critical patent/JP5191062B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Description

本発明は、データ・ストレージ管理のための技術に関し、詳細には、リモート・コピー機構内のデータの整合性を、好ましくは最小限の追加の資源使用量で保持する技術に関する。
重要なデータはしばしば、それを別のサイトにコピーすることにより災害から保護される。この目的で使用する際の一技法は、リモート・コピー(Remote Copy)と呼ばれる。
リモート・コピーは、ディスク(または論理ボリューム)と、バックアップとして使用される別のディスクとの対である。元のディスクはプライマリと呼ばれ、バックアップ・ディスクはセカンダリと呼ばれる。データがプライマリに書き込まれるときはいつでも、バックアップが最新のままであることを保証するために、データをセカンダリにも書き込まなければならない。リモート・コピーを同期式に実施することができ(すなわち、その結果、ホストでの処理が、セカンダリでの対応する書込みの完了が確認されるまで遅延される)、または非同期式に実施することができる。
非同期リモート・コピーは、データがセカンダリにコピーされている間、プライマリにデータを書き込んだホストが遅延せず、データがプライマリに書き込まれるとすぐに、ホストは完了の通知を受けることを意味する。次いで、データが非同期式にセカンダリにコピーされる。
非同期リモート・コピーを実施するときの主な課題の1つは、セカンダリ・ディスクの整合性を維持することである。「整合性を維持する」とは、プロセス中のある時点でプライマリ・データがあった可能性のある状態にセカンダリ・データを保つことを意味する。セカンダリ・データは「旧式」である(すなわち、いくつかの数の更新がまだセカンダリに適用されていない)ことが許されるが、不整合であることを許すことはできない。
以下の表は一続きのイベントを示す。こうしたイベントの間、セカンダリは、プライマリに対して旧式であるが、セカンダリが含むデータは常に、ホストがプライマリから読み取った可能性のある何らかと合致し、したがってセカンダリは常に一貫している。
Figure 0005191062
以下の表は、セカンダリに対する更新が誤った順序で適用される一続きのイベントを示す。ステップ3で発行される書込みは、AAAの書込みが完了した後に発行されるので「従属書込み(dependent write)」である。したがって、BBBは、AAAの後でのみディスクに書き込むことができる。
プライマリがステップ4の後で故障した場合、プライマリがデータXXXBBBを含んでいた時点はないことをホストは認識しているので、セカンダリは不整合(インコンシステント)のままとなっているはずである。
Figure 0005191062
整合性(コンシステンシー)を維持する際に使用されてきた一手法は、「カラー」と呼ばれるものを使用することである。この手法では、更新のセットが、「カラー」と呼ばれるグループに入れられる。カラー・グループを適用する前に、セカンダリ・ディスクのスナップショットが取られる。このスナップショットは、セカンダリ・データの整合性のあるコピーである。カラー・グループ内の更新が適用され、このプロセスを中断させるものがない場合、スナップショットは廃棄される。更新プロセス中に何か誤りが生じた場合、スナップショットがセカンダリ・ディスクにコピーされて戻され、ディスクが整合性のある状態に復元される。
カラーは規則的な間隔で形成され(例えば5秒ごと)、カラー形成が開始する前にI/Oは静止している。
この手法の欠点は、
・スナップショットを取るためにセカンダリ上に2倍の記憶空間が必要となる。
・スナップショット機能によって大量の処理時間がかかり、システム性能が損なわれる。
・システムのリカバリポイント目標(Recovery Point Objective:RPO)が比較的高い(例えばカラーが5秒ごとに形成される場合、セカンダリは、プライマリに対して最大で5秒古くなる可能性がある)。
・スナップショットが頻繁に取られるので、高速で効率的なスナップショット機能が必要となる。多くの記憶サブシステムのアーキテクチャはこのことを禁止しており、したがって異なる手法を取らなければならない。
使用されてきた第2の手法は、プライマリに進入するあらゆる単一書込みに、固有シーケンス番号を割り当てることであり、それによって、書込みBが書込みAよりも後に到着した場合、Bはより大きいシーケンス番号を有することになる。
書込みがセカンダリに送られ、セカンダリは書込みをシーケンス番号順に適用する。これにより、書込みが、ホストによって発行された厳密な順序でセカンダリに適用されるので、セカンダリが常に整合性のあることが保証される。
この手法の欠点は、
・次のシーケンス番号についての書込みが開始することができる前に、各書込みが完了しなければならないので、セカンダリ上で任意の所与の時間に進行中でいることのできる書込みは1つだけである。これにより、与えられる性能のレベルは受け入れられないものとなる。
・複数ノードシステムに関して、シーケンス番号の発行を制御するために中央サーバが必要となる。プライマリに対する単一書込みごとに、シーケンス番号を得るための、サーバに対するメッセージが生じる。この結果、非常に多数のメッセージが生じ、メッセージ資源が非常に消費され、シーケンス番号の発行を待機中に遅延も引き起こす。
したがって、リモート・コピー機構内のデータの整合性を、好ましくは最小限の追加の資源使用量で保持する技術的手段を有することが望ましい。
したがって、本発明は、第1の態様において、プライマリ(システム)とセカンダリ(システム)のリモート・コピー間で通信することによってリモート・コピー対として動作するように適合されたストレージ制御システムであって、1つまたは複数の基準に基づいて、バッチ内に配置すべき書込みを選択するセレクタと、前記バッチに関するシーケンス番号を要求するシーケンス番号リクエスタと、前記バッチに関するシーケンス番号を授与するシーケンス番号グランタ(sequence number granter)と、前記セカンダリに前記バッチを送るバッチ・トランスミッタと、前記セカンダリから前記バッチを書き込む許可を受け取る許可レシーバと、前記許可レシーバに応答して、前記バッチを書き込んで完了する書込み構成要素とを備え、前記セカンダリが、前記完了に応答して、別のバッチに関する書込みのための別の許可を授与する、ストレージ制御システムを提供する。
好ましくは、前記書込み構成要素は、複数の書込みを同時に実行する同時書込み構成要素を備える。
好ましくは、前記1つまたは複数の基準は、前記書込みの相互独立性(mutualindependence)を含む。
第2の態様では、本発明は、プライマリとセカンダリのリモートコピー間で通信することによってリモート・コピー対として動作するように適合されたストレージ制御システムのための方法または論理構成であって、1つまたは複数の基準に基づいて、バッチ内に配置すべき書込みを選択するステップと、前記バッチに関するシーケンス番号を要求するステップと、前記バッチに関するシーケンス番号を授与するステップと、前記セカンダリに前記バッチを送るステップと、前記セカンダリから前記バッチを書き込む許可を受け取るステップと、前記許可に応答して、前記バッチを書き込んで完了するステップとを含み、前記セカンダリが、前記完了に応答して、別のバッチに関する書込みのための別の許可を授与する方法または論理構成を提供する。
好ましくは、書き込む前記ステップは、複数の書込みを同時に実行することを含む。
好ましくは、前記1つまたは複数の基準は、前記書込みの相互独立性を含む。
第3の態様では、その上に機能データを有するデータ・キャリアであって、前記機能データが、コンピュータ・システムにロードされ、それによって操作されたときに、前記コンピュータ・システムが第2の態様による方法のすべてのステップを実行することを可能にする機能コンピュータ・データ構造を含むデータ・キャリアが提供される。
第4の態様では、コンピュータ・システムにロードされ、その上で実行されたときに、第2の態様による方法のすべてのステップを前記コンピュータ・システムに実行させるコンピュータ・プログラムが提供される。
本発明の好ましい実施形態は、その最も広い態様において、リモート・コピー機構内のデータの整合性を、好ましくは最小限の追加の資源使用量で保持する技術的枠組みを企図する。
これから、添付の図を参照しながら本発明の好ましい実施形態を単なる例示として説明する。
広範囲には、本発明の好ましい実施形態は、リモート・コピー機構内のデータの整合性を、好ましくは最小限の追加の資源使用量で保持することを対象とする。
本発明の第1の好ましい実施形態は、書込みをシーケンス番号バッチ内に配置し、一度に1つのバッチをセカンダリに送ることを含む。このようにして、互いに独立な書込みに同一のシーケンス番号を割り当てることができる。プライマリは、書込みのバッチ(例えば、シーケンス番号17を有するすべての書込み)をセカンダリに送る。こうした書込みが完了したとき、次のバッチ(例えば、シーケンス番号18に関するバッチ)がセカンダリに送られる。セカンダリは、そのバッチを受け取ったときにすべての書込みを処理する。このことはセカンダリ並行性を向上させ、ノード間メッセージングの量を低減する。
この手法の一欠点は、長距離通信チャネルを完全には利用しないことである。チャネルは、バッチ内の最後の書込みが送られる時間から、バッチ内の最後の書込みが完了するまでアイドル状態となる。これは100ms程度となる可能性があるので、リンク利用率は最適ではない。
したがって、より好ましい実施形態では、以下で略述するように、シーケンス番号を割り振るためのより効率的な手法が提案される。
シーケンス番号を書込みに割り当てる好ましい方法は、以下の観察に基づく。
・完了を受け取ることなくホストによって発行されたすべての書込みは独立でなければならない(それらのいずれも完了しておらず、したがって、それらのいずれも別の書込みに依存することはできない)。
・すべてのそのような書込みはプライマリ上で任意の順序で適用することができるので、それらに同一のシーケンス番号を与え、セカンダリ上で任意の順序で適用することができる。
マルチノード・システム上で、バッチが2つの場所で形成される。
・所与のノード上に残っているすべての書込みを同一のバッチ内に配置することができる。シーケンス番号サーバに送る必要があるのは、バッチ全体を求める1つのシーケンス番号要求だけであり、メッセージの数および必要なメッセージ資源が著しく削減される。
・シーケンス番号サーバに到着するすべての要求を同一のバッチ内に配置することができる。これにより、さらにバッチ・サイズが増大し、セカンダリ上で同時に行うことのできる書込み数が増加し、性能が向上する。
以下の実装は、本発明の好ましい実施形態で使用すべき1つのプロトコルのインスタンス(instance)を記述する。関連するディスクに対するすべての書込みは、こうしたディスク間の整合性が維持されることを保証するために、同一のプロトコルのインスタンスを使用しなければならない。関連のないディスクは、異なるプロトコルのインスタンスを使用することができる(すなわち、別々のシーケンス番号サーバおよびクライアントを有することができる)。このことは、図を参照しながら以下で説明される最も好ましい実施形態で達成される。
図1を参照すると、本発明の好ましい実施形態による構成要素の構成が示されている。図1では、プライマリ(システム)100は、書込みI/Oコマンドを通常はホスト機器(図示せず)から受け取るI/Oプロセッサ104を備える。I/Oプロセッサは、プライマリ・クライアント106と動作可能に通信し、プライマリ・クライアント106は、プライマリ・サーバ108と協調的に接続される。セカンダリ(システム)102はセカンダリ・クライアント110を備え、セカンダリ・クライアント110は、セカンダリ・サーバ112およびI/Oハンドラ114と協調的に結合される。I/Oハンドラ114は、データ・ストレージ(図示せず)とのI/O書込みを実施するための通信で動作可能であり、データ・ストレージは、周知の形態のデータ・ストレージ、例えば限定はしないが、磁気ディスク・ストレージ、テープ・ストレージなどのいずれかを含むことができる。プライマリ100のプライマリ・クライアント106は、通信リンクを介して、セカンダリ102のセカンダリ・クライアント110とリンクされ、プライマリ100のプライマリ・サーバ106は、通信リンクを介して、セカンダリ102のセカンダリ・サーバ110とリンクされる。プライマリ・クライアントおよびセカンダリ・クライアントならびにプライマリ・サーバおよびセカンダリ・サーバの構成および位置は、例示的なものに過ぎず、例えば、データ処理または通信ネットワークの中間ノードおよび通信ノードにクライアントまたはサーバを配置するなど、他の多数の構成が想定される。クライアントおよびサーバの装置、システム、またはモジュールのそのような代替構成は当業者には良く理解されており、ここでさらに説明する必要はない。
有利なことに、システムまたは機器の形態の本発明の最も好ましい実施形態は、リモート・コピー機構内のデータの整合性を、好ましくは最小限の追加の資源使用量で保持する技術的手段を提供する問題に対処する。
図2を参照すると、本発明の好ましい実施形態による動作の方法を実装することのできる一方法または一論理構成が略図形式で示されている。本発明の範囲から逸脱することなく、例えばステップのシーケンスでの変形を含む多くの修正および変形を行えることは当業者には明らかであろう。
本発明の好ましい実施形態による動作の方法を実装することのできるシステムは、図2に示されるように以下の構成要素を備える。
・プライマリ・クライアント(PrimaryClient)。I/O書込みが受信されるあらゆるノードが、プライマリ・クライアントを有する必要がある。I/O書込みが受信されたとき、I/Oコードは、プライマリ・クライアントにシーケンス番号を要求する。プライマリ・クライアントは、すべての同時要求をまとめ、プライマリ・サーバ(PrimaryServer)にシーケンス番号要求(RequestSequenceNumber)メッセージを送る。シーケンス番号が授与されたとき、プライマリ・クライアントは、セカンダリ・クライアント(SecondaryClient)にI/O書込みを送り、書込み(Write)メッセージ内にシーケンス番号を埋め込む。従属書込みが同一のバッチ内に配置されるのを防止するために、シーケンス番号要求(RequestSequenceNumber)が発行されたときにアクティブであったI/O書込みのみに、授与されたシーケンス番号を割り当てることができる(マルチノード・システムでは、他のノードがその許可を受け取って、そのI/Oを既に完了している可能性がある)。
・ プライマリ・サーバ(PrimaryServer)。1つのプライマリ・サーバだけが存在する。プライマリ・サーバは、プライマリ・クライアント(PrimaryClient)からシーケンス番号要求(RequestSequenceNumber)メッセージを受け取り、すべての同時要求をまとめて、プライマリ・クライアントに応答し、授与されたシーケンス番号をプライマリ・クライアントに送る。プライマリ・サーバはまた、発行されたシーケンス番号と、シーケンス番号にいくつのI/O書込みが授与されたかをセカンダリ・サーバ(SecondaryServer)に伝えるNewBatchメッセージもセカンダリ・サーバに送る。
・セカンダリ・クライアント(SecondaryClient)。セカンダリ・クライアントは、プライマリ・クライアント(PrimaryClient)から書込み(W)riteメッセージを受け取る。各書込みがキュー上に配置される。セカンダリ・クライアントがシーケンス番号に関するOkToWriteメッセージを受け取ったとき、セカンダリ・クライアントは、このシーケンス番号に関するすべての書込みをキューから出し、それを実行する。各書込みが完了したとき、セカンダリ・クライアントは、プライマリ・クライアントおよびセカンダリ・サーバにWriteDoneメッセージを送る。
・セカンダリ・サーバ(SecondaryServer)。セカンダリ・サーバは、プライマリ・サーバからNewBatchメッセージを受け取る。セカンダリ・サーバは、セカンダリ・クライアントを調整する任を担い、書込みがシーケンス番号順に処理されてデータ整合性が維持されることを保証する。最初のNewBatchが到着したとき、セカンダリ・サーバは、各セカンダリ・クライアントにOkToWriteメッセージを送り、その結果、各セカンダリ・クライアントは、第1シーケンス番号に関する書込みが到着するとすぐにそれを処理することができる。セカンダリ・サーバが予想される数のWriteDoneメッセージを受け取ったとき(バッチ内の各書込みについて1つのWriteDone)、セカンダリ・サーバは、次のシーケンス番号に関するOkToWriteメッセージを送る。
例示的方法は以下の通りである。
ステップ1:I/Oプロセッサのうちの1つまたは複数が、プライマリ・クライアントに対してシーケンス番号を求める要求を発行する。
ステップ2:プライマリ・クライアントが、プライマリ・サーバに対してシーケンス番号を求める要求を発行する。
ステップ3:プライマリ・サーバが、セカンダリ・サーバに対して新しいバッチ要求を発行し、プライマリ・クライアントから受け取った複数の要求をまとめる。
ステップ4:セカンダリ・サーバが、指定のシーケンス番号に関する「OK to write」メッセージをセカンダリ・クライアントに送る。ステップ4は、以前のシーケンス番号が存在する場合、それに関する未処理の書込みがないときにのみ行うことができる。
ステップ5:プライマリ・サーバが、シーケンス番号を求める要求をプライマリ・クライアントに許可する。
ステップ6:プライマリ・クライアントが、「request granted」メッセージを各要求側I/Oプロセッサに渡す。
ステップ7:各I/Oプロセッサが、プライマリ・クライアントに対して指定のシーケンス番号に関する書込みを発行する。
ステップ8:プライマリ・クライアントが、セカンダリ・クライアントに対して指定のシーケンス番号に関する書込み要求を発行する。
ステップ9:書込みがI/Oハンドラに対して発行され、I/OハンドラはI/O書込みを実施する。
ステップ10:I/Oハンドラが、セカンダリ・クライアントに「write done」メッセージを返す。
ステップ11:セカンダリ・クライアントが、セカンダリ・サーバに「write done」メッセージを渡す。
ステップ12:セカンダリ・クライアントが、プライマリ・クライアントに「write done」メッセージを渡す。
ステップ13:プライマリ・クライアントが、関連するI/Oプロセッサに「write done」メッセージを戻す。
したがって、有利なことに、方法または論理構成の形態の本発明の好ましい実施形態は、リモート・コピー機構内のデータの整合性を、好ましくは最小限の追加の資源使用量で保持する技術的手段を提供する問題に対処する。番号が付けられるように順次的にここで示されるステップのうちのいくつかは実際には同時に処理できること、およびいくつかのステップが他の操作の完了を待つことが必要となる可能性があること、および示されるシーケンスは本発明の一実施形態で実施することのできる処理の単なる例に過ぎないことは当業者には明らかであろう。例えば、上記で示したように、ステップ4の実施が、先行するシーケンス番号に関するすべてのステップ5から11の完了後まで遅延される可能性があり、あるいは、例えば、方法のステップの最初の反復時、以前のどんなシーケンス番号に関する書込み活動も処理中とはならないとき、ステップ4が直ちに実施される可能性がある。
本発明の好ましい実施形態の方法のすべてまたは一部は、方法のステップを実施するように構成された論理要素を備える論理機器、または複数の論理機器として適切かつ有用に具体化できること、およびそのような論理要素がハードウェア構成要素、ファームウェア構成要素、またはそれらの組合せを含むことができることは当業者には明らかであろう。
本発明の好ましい実施形態による論理構成のすべてまたは一部は、方法のステップを実施する論理要素を備える論理機器として適切に具体化できること、およびそのような論理要素が例えばプログラマブル論理アレイまたは特定用途向け集積回路内の論理ゲートなどの構成要素を含むことができることは当業者には同様に明らかであろう。そのような論理構成は、固定媒体または伝送可能搬送波媒体を使用して格納および伝送することのできる、例えば仮想ハードウェア記述子言語を使用してそのようなアレイまたは回路内の論理構造を一時的または永続的に確立するイネーブリング要素としてさらに具体化することができる。
上述の方法および構成は、完全に、または部分的に、1つまたは複数のプロセッサ上で動作するソフトウェア(図示せず)として適切に実施することもできること、および磁気ディスクや光ディスクなどの任意の適切なデータ・キャリア上で担持される1つまたは複数のコンピュータ・プログラム要素(やはり図示せず)の形態でソフトウェアを提供できることを理解されよう。同様に、データの伝送用のチャネルは、すべての種類の記憶媒体、ならびに有線またはワイヤレス信号搬送媒体などの信号搬送媒体を含むことができる。
本発明はさらに、コンピュータ・システムと共に使用されるコンピュータ・プログラムとして適切に具体化することができる。そのような実装は、コンピュータ可読媒体、例えばディスケット、CD−ROM、ROM、ハード・ディスクなどの有形媒体上に固定され、あるいはモデムまたは他のインターフェース装置を使用して、限定はしないが光またはアナログ通信回線を含む有形媒体を介して、または限定はしないがマイクロ波、赤外線、または他の伝送技法を含むワイヤレス技法を使用して無形にコンピュータ・システムに伝送可能である、一連のコンピュータ可読命令を含むことができる。この一連のコンピュータ可読命令は、本明細書で先に述べた機能のすべてまたは一部を具体化する。
そのようなコンピュータ可読命令は、多くのコンピュータ・アーキテクチャまたはオペレーティング・システムと共に使用されるいくつかのプログラミング言語で書くことができることを当業者は理解されよう。さらに、そのような命令は、限定はしないが半導体、磁気、光を含む現在または将来の任意のメモリ技術を使用して格納することができ、あるいは限定しないが光、赤外線、またはマイクロ波を含む現在または将来の任意の通信技術を使用して送信することができる。そのようなコンピュータ・プログラムは、付随する印刷文書または電子文書を伴う取外し可能媒体、例えば収縮包装されたソフトウェアとして配布することができ、コンピュータ・システム、例えばシステムROMまたは固定ディスク上にプリロードすることができ、あるいはネットワーク、例えばインターネットまたはワールド・ワイド・ウェブを介してサーバまたは電子掲示板から配布することができることが企図される。
代替実施形態では、コンピュータ・インフラストラクチャ内に配置されてその上で実行されたときに、方法のすべてのステップをコンピュータ・システムに実行させるように動作可能なコンピュータ・プログラムを配置するステップを含むサービスを配置するコンピュータで実装される方法の形態で本発明の好ましい実施形態を実現することができる。
別の代替実施形態では、その上に機能データを有するデータ・キャリアの形態で本発明の好ましい実施形態を実現することができ、前記機能データは、コンピュータ・システムにロードされ、それによって操作されたときに、前記コンピュータ・システムが方法のすべてのステップを実行することを可能にする機能コンピュータ・データ構造を含む。
本発明の範囲から逸脱することなく、上記の例示的実施形態に対して多くの改良および修正を行えることは当業者には明らかであろう。
本発明の好ましい実施形態による構成要素の構成を示す概略図である。 本発明の好ましい実施形態による動作の方法を実装することのできる一方法または一論理構成を示す概略図である。

Claims (4)

  1. プライマリ・システムとセカンダリ・システムの非同期式リモート・コピーの対の間で通信することによって前記リモート・コピー対として動作するように適合されたストレージ制御システムであって、
    一のバッチ内に配置すべき、いずれもが別の書込みに依存することがない複数の書込みのみを選択するセレクタと、前記バッチに関する一のシーケンス番号を要求するシーケンス番号リクエスタであって、前記セレクタは前記シーケンス番号を要求したときにアクティブであった複数の全ての書込みのみを前記バッチ内に配置するものと
    前記バッチに関するシーケンス番号を授与するシーケンス番号グランタと、
    前記セカンダリ・システムに前記バッチを送るバッチ・トランスミッタと、
    前記セカンダリ・システムから前記バッチを書込む許可を受け取る許可レシーバと、
    前記許可レシーバに応答して、前記バッチを書込んで完了する書込み構成要素であって、前記書込み構成要素が、複数の書込みを同時に実行する同時書込み構成要素を備えるものと
    を備え、
    前記セカンダリ・システムが、前記完了に応答して、別のバッチに関する書込みのための別の許可を授与するストレージ制御システム。
  2. プライマリ・システムとセカンダリ・システムの非同期式リモート・コピーの対の間で通信することによって前記リモート・コピー対として動作するように適合されたストレージ制御システムに関する操作方法であって、
    一のバッチ内に配置すべき、いずれもが別の書込みに依存することがない複数の書込みのみを選択し、前記バッチに関するシーケンス番号を要求するステップであって、前記シーケンス番号を要求したときにアクティブであった複数の全ての書込みのみを前記バッチ内に配置し、
    前記バッチに関するシーケンス番号を授与するステップと、
    前記セカンダリ・システムに前記バッチを送るステップと、
    前記セカンダリ・システムから前記バッチを書込む許可を受け取るステップと、
    前記許可に応答して、前記バッチに含まれる複数の書込みを同時に実行して書き込みを完了するステップとを含み、
    前記セカンダリ・システムが、前記完了に応答して、別のバッチに関する書込みのための別の許可を授与する方法。
  3. 機能データを有するデータ・キャリアであって、前記機能データが、コンピュータ・システムにロードされ、前記コンピュータ・システムによって操作されたときに、前記コンピュータ・システムが請求項2に記載の方法のすべてのステップを実行することを可能にする機能コンピュータ・データ構造を含むデータ・キャリア。
  4. コンピュータ・システムにロードされ、前記コンピュータ・システム上で実行されたときに、請求項2に記載の方法のすべてのステップを前記コンピュータ・システムに実行させるコンピュータ・プログラム。
JP2009524162A 2006-08-16 2007-08-02 ストレージ制御システム、ストレージ制御システムに関する操作方法、データ・キャリア及びコンピュータ・プログラム Active JP5191062B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB0616257.2A GB0616257D0 (en) 2006-08-16 2006-08-16 Storage management system for preserving consistency of remote copy data
GB0616257.2 2006-08-16
PCT/EP2007/058021 WO2008019952A2 (en) 2006-08-16 2007-08-02 Storage management system for preserving consistency of remote copy data

Publications (2)

Publication Number Publication Date
JP2010500673A JP2010500673A (ja) 2010-01-07
JP5191062B2 true JP5191062B2 (ja) 2013-04-24

Family

ID=37081062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009524162A Active JP5191062B2 (ja) 2006-08-16 2007-08-02 ストレージ制御システム、ストレージ制御システムに関する操作方法、データ・キャリア及びコンピュータ・プログラム

Country Status (9)

Country Link
US (3) US9239766B2 (ja)
EP (1) EP2054806B1 (ja)
JP (1) JP5191062B2 (ja)
CN (1) CN101501648B (ja)
AT (1) ATE445877T1 (ja)
DE (1) DE602007002827D1 (ja)
GB (1) GB0616257D0 (ja)
TW (1) TWI470459B (ja)
WO (1) WO2008019952A2 (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0616257D0 (en) 2006-08-16 2006-09-27 Ibm Storage management system for preserving consistency of remote copy data
GB0622734D0 (en) * 2006-11-15 2006-12-27 Ibm Throttling an asynchronous remote copying system
JP5222171B2 (ja) * 2009-02-03 2013-06-26 株式会社日立製作所 データベース管理方法およびデータベース管理システム
US8667236B2 (en) 2010-09-29 2014-03-04 Hewlett-Packard Development Company, L.P. Host based write ordering for asynchronous replication
US9306504B2 (en) * 2011-12-14 2016-04-05 Qualcomm Incorporated Waveform shaping for audio amplifiers
CN102790801B (zh) * 2012-06-20 2015-02-18 浪潮(北京)电子信息产业有限公司 异步远程复制系统及其维护数据一致性的方法
CA2868247C (en) * 2013-07-26 2017-04-04 Ji Ouyang Data sending method, data receiving method, and storage device
GB2519157A (en) 2013-10-14 2015-04-15 Ibm Robust data replication
WO2015081521A1 (zh) * 2013-12-05 2015-06-11 华为技术有限公司 一种存储系统中的数据处理方法、装置和系统
CA2942339C (en) 2014-03-13 2022-06-07 Uber Technologies, Inc. Configurable push notifications for a transport service
US9888087B2 (en) 2014-03-31 2018-02-06 Uber Technologies, Inc. Adjusting attributes for an on-demand service system based on real-time information
GB2531537A (en) 2014-10-21 2016-04-27 Ibm Database Management system and method of operation
US10282684B2 (en) 2015-02-26 2019-05-07 Uber Technologies, Inc. Performing selective operations based on mobile device locations
US10212536B2 (en) 2015-07-10 2019-02-19 Uber Technologies, Inc. Selecting a messaging protocol for transmitting data in connection with a location-based service
US10452680B1 (en) 2015-09-25 2019-10-22 Amazon Technologies, Inc. Catch-up replication with log peer
US9753813B1 (en) 2015-09-25 2017-09-05 Amazon Technologies, Inc. Data replication snapshots for persistent storage using operation numbers
US9733869B1 (en) 2015-09-25 2017-08-15 Amazon Technologies, Inc. Provisioning a slave for data storage using metadata with updated references
US10303360B2 (en) 2015-09-30 2019-05-28 International Business Machines Corporation Replicating data in a data storage system
US10496630B2 (en) 2015-10-01 2019-12-03 Microsoft Technology Licensing, Llc Read-write protocol for append-only distributed databases
US20170160929A1 (en) * 2015-12-02 2017-06-08 Hewlett Packard Enterprise Development Lp In-order execution of commands received via a networking fabric
US20180143766A1 (en) * 2016-11-18 2018-05-24 International Business Machines Corporation Failure protection copy management
US10180802B2 (en) 2017-05-18 2019-01-15 International Business Machines Corporation Collision detection at multi-node storage sites
CN109783272B (zh) * 2017-11-10 2023-01-24 阿里巴巴集团控股有限公司 磁盘快照处理方法、装置和设备
US10452502B2 (en) 2018-01-23 2019-10-22 International Business Machines Corporation Handling node failure in multi-node data storage systems
US11151062B2 (en) 2018-04-04 2021-10-19 International Business Machines Corporation Optimized locking for replication solutions

Family Cites Families (36)

* 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
KR0128271B1 (ko) * 1994-02-22 1998-04-15 윌리암 티. 엘리스 재해회복을 위한 일관성 그룹 형성방법 및 레코드갱싱의 섀도잉 방법, 주시스템, 원격데이타 섀도잉 시스템과 비동기 원격데이타 복제 시스템
US5592618A (en) * 1994-10-03 1997-01-07 International Business Machines Corporation Remote copy secondary data copy validation-audit function
PL320056A1 (en) * 1994-11-17 1997-09-01 Siemens Ag System with primary and secondary blocks
US5682513A (en) * 1995-03-31 1997-10-28 International Business Machines Corporation Cache queue entry linking for DASD record updates
US6658486B2 (en) * 1998-02-25 2003-12-02 Hewlett-Packard Development Company, L.P. System and method for efficiently blocking event signals associated with an operating system
US6148383A (en) 1998-07-09 2000-11-14 International Business Machines Corporation Storage system employing universal timer for peer-to-peer asynchronous maintenance of consistent mirrored storage
US7111189B1 (en) 2000-03-30 2006-09-19 Hewlett-Packard Development Company, L.P. Method for transaction log failover merging during asynchronous operations in a data storage network
DE60039033D1 (de) 2000-05-25 2008-07-10 Hitachi Ltd Speichersystem zur Bestätigung der Datensynchronisierung während des asynchronen Fernkopierens
JP2002189570A (ja) 2000-12-20 2002-07-05 Hitachi Ltd 記憶システムの二重化方法および記憶システム
US7134044B2 (en) 2002-08-16 2006-11-07 International Business Machines Corporation Method, system, and program for providing a mirror copy of data
JP2006523890A (ja) * 2003-03-25 2006-10-19 イーエムシー コーポレイション 仮想順序付け書き込み
US7380082B2 (en) * 2003-03-25 2008-05-27 Emc Corporation Reading virtual ordered writes at local storage device
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
US7152182B2 (en) * 2003-06-06 2006-12-19 Hewlett-Packard Development Company, L.P. Data redundancy system and method
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
US7043665B2 (en) 2003-06-18 2006-05-09 International Business Machines Corporation Method, system, and program for handling a failover to a remote storage location
US7065589B2 (en) 2003-06-23 2006-06-20 Hitachi, Ltd. Three data center remote copy system with journaling
US7278049B2 (en) 2003-09-29 2007-10-02 International Business Machines Corporation Method, system, and program for recovery from a failure in an asynchronous data copying system
US7293048B2 (en) * 2003-10-29 2007-11-06 Hewlett-Packard Development Company, L.P. System for preserving logical object integrity within a remote mirror cache
US7194562B2 (en) 2003-11-20 2007-03-20 International Business Machines Corporation Method, system, and program for throttling data transfer
US7251743B2 (en) 2003-11-20 2007-07-31 International Business Machines Corporation Method, system, and program for transmitting input/output requests from a primary controller to a secondary controller
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 株式会社日立製作所 データ処理システム
US7363541B2 (en) * 2004-02-23 2008-04-22 Hewlett-Packard Development Company, L.P. Command management using task attributes
US7139851B2 (en) 2004-02-25 2006-11-21 Hitachi, Ltd. Method and apparatus for re-synchronizing mirroring pair with data consistency
JP2005258850A (ja) 2004-03-12 2005-09-22 Hitachi Ltd 計算機システム
JP4452533B2 (ja) 2004-03-19 2010-04-21 株式会社日立製作所 システムおよび記憶装置システム
US7461100B2 (en) * 2004-05-27 2008-12-02 International Business Machines Corporation Method for fast reverse restore
CN1331294C (zh) 2004-08-27 2007-08-08 江苏省电力公司南京供电公司 建立电网监控灾难后备系统的方法
US7657578B1 (en) * 2004-12-20 2010-02-02 Symantec Operating Corporation System and method for volume replication in a storage environment employing distributed block virtualization
US7565498B1 (en) * 2005-11-07 2009-07-21 Symantec Operating Corporation System and method for maintaining write order fidelity in a distributed environment
GB0616257D0 (en) 2006-08-16 2006-09-27 Ibm Storage management system for preserving consistency of remote copy data
GB0617342D0 (en) 2006-09-02 2006-10-11 Ibm Consistent remote copy data storage system error management
GB0622140D0 (en) 2006-11-07 2006-12-20 Ibm Suspension of asynchronous remote copying system
GB0622734D0 (en) 2006-11-15 2006-12-27 Ibm Throttling an asynchronous remote copying system

Also Published As

Publication number Publication date
US20160088081A1 (en) 2016-03-24
US9923967B2 (en) 2018-03-20
CN101501648A (zh) 2009-08-05
WO2008019952B1 (en) 2008-07-24
DE602007002827D1 (de) 2009-11-26
WO2008019952A2 (en) 2008-02-21
EP2054806B1 (en) 2009-10-14
WO2008019952A3 (en) 2008-05-22
CN101501648B (zh) 2012-02-22
US9229827B2 (en) 2016-01-05
EP2054806A2 (en) 2009-05-06
TW200817950A (en) 2008-04-16
ATE445877T1 (de) 2009-10-15
GB0616257D0 (en) 2006-09-27
US20120215994A1 (en) 2012-08-23
US9239766B2 (en) 2016-01-19
TWI470459B (zh) 2015-01-21
JP2010500673A (ja) 2010-01-07
US20110010513A1 (en) 2011-01-13

Similar Documents

Publication Publication Date Title
JP5191062B2 (ja) ストレージ制御システム、ストレージ制御システムに関する操作方法、データ・キャリア及びコンピュータ・プログラム
CN107771321B (zh) 数据中心中的恢复
Lorch et al. The SMART way to migrate replicated stateful services
US7366846B2 (en) Redirection of storage access requests
US9858322B2 (en) Data stream ingestion and persistence techniques
US7823008B2 (en) Maintaining consistency in a remote copy data storage system
US7693882B2 (en) Replicating data across the nodes in a cluster environment
US8538928B2 (en) Flash-copying with asynchronous mirroring environment
US9307011B2 (en) Synchronous mirroring of NVLog to multiple destinations (architecture level)
JP2007286860A (ja) データ転送方法及び情報処理装置
CN106354563B (zh) 用于3d重建的分布式计算系统以及3d重建方法
US8031637B2 (en) Ineligible group member status
US8359601B2 (en) Data processing method, cluster system, and data processing program
WO2008058898A1 (en) Throttling an asynchronous remote copying system
US11449241B2 (en) Customizable lock management for distributed resources
JP5862246B2 (ja) データ管理プログラム、データ管理方法およびストレージ装置
EP3389222B1 (en) A method and a host for managing events in a network that adapts event-driven programming framework
JP2009193502A (ja) 計算機システム、ストレージ装置、及び、処理代替方法
JP6924898B2 (ja) トランザクション処理方法、装置及びデバイス
JP2007264770A (ja) データベースアクセス方法及び装置
JP2006235737A (ja) ストレージサブシステム及びストレージシステム
JP5240861B2 (ja) 制御装置、データ移行システム、データ移行方法およびプログラム
Liu et al. Moving huge scientific datasets over the Internet

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100423

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120301

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120306

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120425

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20120425

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120426

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120724

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120927

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20121024

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20130117

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130128

R150 Certificate of patent or registration of utility model

Ref document number: 5191062

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160208

Year of fee payment: 3