JP4870816B2 - 改良された同期データ・ミラー・スワップのための装置、システム、および方法 - Google Patents

改良された同期データ・ミラー・スワップのための装置、システム、および方法 Download PDF

Info

Publication number
JP4870816B2
JP4870816B2 JP2009527096A JP2009527096A JP4870816B2 JP 4870816 B2 JP4870816 B2 JP 4870816B2 JP 2009527096 A JP2009527096 A JP 2009527096A JP 2009527096 A JP2009527096 A JP 2009527096A JP 4870816 B2 JP4870816 B2 JP 4870816B2
Authority
JP
Japan
Prior art keywords
storage volume
storage
volume
updates
data
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
JP2009527096A
Other languages
English (en)
Other versions
JP2010503089A (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 JP2010503089A publication Critical patent/JP2010503089A/ja
Application granted granted Critical
Publication of JP4870816B2 publication Critical patent/JP4870816B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2058Error 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 more than 2 mirrored copies
    • 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/2069Management of state, configuration or failover
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2071Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring using a plurality of controllers

Landscapes

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

Description

本発明は、同期データ・ミラーに関し、特に非同期データ・ミラーを含むシステムにおける一次記憶ボリュームから、同期データ・ミラーへの効率的スワッピングに関する。
データ記憶システムのユーザは、高度の信頼性と、故障からの迅速な回復とを必要とすることがある。あるデータ記憶システム・ユーザは、自然災害に起因するデータ損失からの保護を必要とすることがある。例えば、金融機関、小売業者などのようなデータ記憶システム・ユーザは、金融取引、在庫管理などのために高度の信頼性を要求することがある。IBM(IBM社の登録商標)のTotalStorage(登録商標)Enterprise Storage Server(登録商標)のような企業記憶システム(enterprises storage system(“ESS”)は、信頼性が重要である場合にデータを記憶させるために金融機関他によって使用され得る。その様なシステムは、redundant array of inexpensive/independent disks(“RAID”)のような、データ記憶ボリュームに組織された高度にスケーラブルなデータ記憶装置を含むことができる。
データ記憶システムは、データ記憶ボリューム同士を接続するストレージ・エリア・ネットワーク(“SAN”)を含むことができる。通例、SANを介してデータ記憶ボリュームにアクセスするために記憶コントローラが使用される。ホストは、通例、ローカルな一次記憶ボリュームにデータを格納する記憶コントローラに書き込みリクエストを送る。カスケード型データ・システム構成では、その記憶コントローラは、また、一次記憶ボリュームに格納されているデータを二次データ記憶ボリュームの記憶コントローラに送る。一次記憶ボリュームに影響を及ぼす自然災害の後に回復を可能にするために、データ記憶ボリュームは一次記憶ボリュームおよび関連する記憶コントローラから長い距離を置いて配置されることもできる。データ記憶ボリュームは一次記憶ボリュームに割合に近くても良く、これはデータ・アクセス・レートを減少させる。
故障後の回復時間をなるべく短くするために、二次記憶ボリュームは一次データ・ボリュームのミラーであり得る。データは、同期書き込み動作を用いてミラー・データ・ボリュームに書き込まれ得る。通例、同期データ書き込み動作は、書き込み動作をリクエストしているホストに成功が報告される前にデータが一時記憶ボリュームとミラー・データ・ボリュームとに書き込まれることを必要とする。同期書き込み動作は、一次記憶ボリュームとミラー記憶ボリュームとに首尾よくデータを書き込むのに必要な時間に起因してより多くのオーバーヘッドを必要とする。
通例、一次記憶ボリュームとミラー・データ・ボリュームとの間の距離は性能に影響を及ぼし、一次記憶ボリュームおよび関連する記憶コントローラから長い距離をおいて位置するデータ記憶ボリュームは、同期書き込み動作を非実用的とするほど性能を低下させ得る。リモート・データ・ボリュームにデータを書き込むために非同期書き込み動作が使用され得る。非同期書き込み動作は、通例、書き込み動作が向けられている記憶ボリュームにデータが首尾よく書き込まれた後に書き込み動作の成功が報告されることを可能にする。該データは、書き込み動作が向けられている記憶ボリュームのストレージへのデータ書き込みの完了後に、リモート記憶ボリュームに書き込まれる。
カスケード型記憶システムでは、データは、一次記憶ボリュームに、また同時にミラー・データ・ボリュームに書き込まれ得る。その後、データはミラー・データ・ボリュームからリモート・データ・ボリュームに非同期的にコピーされ得る。リモート・記憶ボリュームに格納されるべく意図されているデータは、通例、そのデータをリモート記憶ボリュームに非同期的に書き込めるようになる前にエラーが発生しても該データが失われないように、不揮発性メモリあるいは書き込みキャッシュに、また記憶コントローラの一般キャシュにも格納される。
リモート記憶ボリュームに非同期的に書き込まれるべきデータを追跡するために1つ以上のビット・マップが通例使用される。最後の同期化以来、あるいは非同期転送を開始する記憶ボリュームとリモート記憶ボリュームとが無矛盾であった最後の時以来行われた変更の非同期転送を開始する記憶ボリュームにおけるトラック・アドレスによって実時間レコードを維持するために、アクティブ・トラック・アレイ、変更トラック・アレイ(changed track array)、あるいは変更記録(change recording(“CR”)ビットマップとしばしば称されるビットのアレイが通例使用される。どのトラックが非同期書き込み動作の一部として一次記憶ボリュームに書き込まれ、リモート記憶ボリュームにコピーされる必要が依然としてあるかを示すために、時にはリカバリ・トラック・アレイ、コピー・トラック・アレイ、あるいはアウト・オブ・シンク(out of sync(“OOS”))ビットマップと称される第2のビットマップが使用される。
通例、更新がリモート記憶ボリュームに首尾よく書き込まれると、OOSビットマップの対応するビットがクリアされる。一実施態様では、CRビットマップの内容が定期的にOOSビットマップと併合される。他の1つの実施態様では、通例、リモート記憶ボリュームに書き込まれるべき更新がそれ以上無いことをOOSビットマップが示しているときに、CRビットマップの内容が定期的にOOSビットマップの上に書き込まれる。
良くあるデータ記憶システム・アーキテクチャ100が図1のAに描かれている。データ記憶システム100は、データを第1記憶ボリューム106の第1記憶コントローラ104に送るホスト102によって具体化される。第1記憶ボリューム106は、初めは一次記憶ボリュームとして指定され、ローカル接続108を介して第1記憶コントローラ104からデータを受け取る。第2記憶ボリューム110は、一次記憶ボリュームのミラー・データ・ボリュームであり、関連する第2記憶コントローラ111を通して同期接続112を介してデータを受け取る。一実施態様では、同期接続112はメトロ・ミラー接続である。通例、第1記憶コントローラ104と第1記憶ボリューム106とは1つのローカル・サイトに置かれるけれども、ある距離だけ離されてもよい。
第2記憶ボリューム110により受け取られた更新は第3記憶ボリューム114にも書き込まれ、これは通例、第1記憶ボリューム106および第2記憶ボリューム110から遠く離れて置かれる。更新は第3記憶ボリューム114に非同期的に送られる。第2記憶ボリューム110と第3記憶ボリューム114とは、光ファイバ・ケーブル、銅ケーブル、無線接続などを含むことのできる接続116を介して通信する。一実施態様では、非同期接続116はグローバル・ミラー接続(Global Mirror connection)である。第4の記憶ボリューム118が、一実施態様において、第3記憶ボリューム114と共に置かれる。第3記憶コントローラ120は、第3記憶ボリューム114へのデータのコピーと、第3記憶ボリューム114から第4記憶ボリューム118へのデータのコピーとを容易にする。通例、第3記憶コントローラ120は、フラッシュ・コピー・プロセス122を用いて第4記憶ボリューム118に更新をコピーし、更新は第4記憶ボリューム118において時間順に組み立てられる。
通例、第4の記憶ボリューム118は、記憶システム100に存在するならば、データが失われ、壊れ、あるいはアクセス不能になった場合に第1記憶ボリューム106または第2記憶ボリューム110にデータを復元するために使われる。一実施態様では、第4記憶ボリューム118の内容は第3ボリュームを第3記憶ボリューム114と同期した状態にするために使われ、第3記憶ボリューム114は第1記憶ボリューム106または第2記憶ボリューム110あるいはその両方を再初期化するために使われる。記憶ボリューム106,110,118をインクリメンタルに同期化するのではなく第1記憶ボリューム106または第2記憶ボリューム110上のデータを置換することは、コピー・プロセスに要する時間と、記憶ボリューム106,110,118がホスト102にとってアクセスできない時間との故に、望ましくない。
第2記憶ボリューム110は、第1記憶ボリューム106と第2記憶ボリュームとが無矛盾であったときから後に起こった更新を追跡するために、関連するCRビットマップ124を持つことができる。第2記憶ボリューム110は、第3記憶ボリューム114に非同期的にコピーされるべく意図された更新が首尾よくコピーされる時を追跡するために、関連するOOSビットマップをも持つことができる。OOSビットマップは、通例、CRビットマップの内容または第2記憶ボリューム110により受け取られた更新を受け取ることによって、更新を追跡する。
図1のBは、第1記憶ボリューム106に故障がある状況を描いている。ホスト102は、通例、第1記憶ボリューム106が修理されるまで第2記憶ボリューム110が一次記憶ボリュームであるように一次記憶ボリュームを交換する。ホスト102は、通例、第2記憶ボリューム110との接続128を確立する。第1記憶ボリューム106が修理されたとき、図2のAに描かれているように、第2記憶ボリューム110の第2記憶コントローラ111は、通例、第3記憶ボリューム114に対する更新を一時停止し、再同期化するために第1記憶ボリューム106との接続130を確立する。一実施態様では、第2記憶ボリューム110から第1記憶ボリューム106にデータを送る接続130を確立することはフェイルオーバー接続である。
第1記憶ボリューム106が第2記憶ボリューム110と無矛盾になると、ホスト102は、図2のBに描かれているように、一次記憶ボリュームが第1記憶ボリューム106であるように交換し、第1記憶ボリューム106は第2記憶ボリューム110との同期接続112を再確立する。一実施態様では、第1記憶ボリューム106から第2記憶ボリューム110へのデータの送付を再確立することはフェイルバック(failback)接続である。第2記憶ボリューム110は第3記憶ボリューム114に更新を非同期的に再び送り始め、これは第4記憶ボリューム118を更新し始める。フェイルオーバー接続およびフェイルバック接続は、第1記憶ボリューム106と第2記憶ボリューム110との間の記憶関係のような、既存の関係を必要とする。
第2記憶ボリューム110が第1記憶ボリューム106と同期していて第3記憶ボリューム114に対する更新を一時停止している間(図2Aを参照)、第3記憶ボリューム114と第4記憶ボリューム118とはエージングし始める。第1記憶ボリューム106が長期間にわたって操作可能でなかったならば、第3記憶ボリューム114および第4記憶ボリューム118は第1記憶ボリューム106および第2記憶ボリューム110と無矛盾の状態にされるのに長い時間を必要とし得る。第1記憶ボリューム106、第3記憶ボリューム114、および第4記憶ボリューム118を再同期化するプロセスは数時間あるいは数日も必要とし得る。第3記憶ボリューム114が殆ど無矛盾の状態にされる前に第3記憶ボリューム114の内容を第1記憶ボリューム106または第2記憶ボリューム110に再ロードすることを必要とする如何なる災害も、第3記憶ボリューム114が無矛盾に近くないので、問題である。
以上の議論から、同期ミラー・ボリュームを効率的に交換する装置、システム、および方法に対するニーズが存在することは明らかであるはずである。有利なことに、その様な装置、システム、および方法は、第2記憶ボリューム110、第3記憶ボリューム114、および第4記憶ボリューム118を殆ど同期した状態に保っている間に第1記憶ボリュームを再同期化し、システム100を再同期化するのに要する時間を短縮するであろう。該装置、システム、および方法は、既存の記憶関係が前に存在しなかった記憶ボリューム間のフェイル・オーバーを強制するであろう。
本発明の方法は、同期ミラーを一次記憶ボリュームとして活動化(activate)するために与えられる。この方法は、開示される実施態様においては、記載される装置およびシステムの動作に関して以下で提示される機能を実行するのに必要なステップを実質的に含む。一実施態様では、該方法は、第1記憶ボリュームが故障後に操作可能になったことに応答して、第2記憶ボリュームから第3記憶ボリュームに送られた更新を第1記憶ボリュームに格納するように第3記憶ボリュームに指令することを含む。該方法は、第1記憶ボリュームが第3記憶ボリュームと実質的に無矛盾になったことに応答して、更新を第2記憶ボリュームから第3記憶ボリュームに送ることを終了させることを含む。該方法は、第1記憶ボリュームおよび第3記憶ボリュームが実質的に無矛盾になった後に更新を第2記憶ボリュームから第3記憶ボリュームに送ることを終了したことに応答して、第2記憶ボリュームにより受け取られた更新を第1記憶ボリュームに同期的に格納しかつ第1記憶ボリュームにより受け取られた更新を第3記憶ボリュームに非同期的に格納することを含む。
該方法は、第1記憶ボリュームにおける故障を検出したことに応答して第2記憶ボリュームを一次記憶ボリュームとして指定することを含むこともできる。第1記憶ボリュームは一次記憶ボリュームとして指定され、第2記憶ボリュームは第1記憶ボリュームのデータの同期ミラー・コピーを含み、第3記憶ボリュームは該故障の前は第2記憶ボリュームのデータの非同期ミラー・コピーを含む。1つの更なる実施態様では、該方法は第2記憶ボリュームにおいて記憶関係を終了させることを含む。該記憶関係は、第2記憶ボリュームが第1記憶ボリュームからのデータを同期的に格納するために使う情報を含む。
1つの代わりの実施態様では、該方法は、第2記憶ボリュームにより受け取られた更新を第1記憶ボリュームに同期的に格納しかつ第1記憶ボリュームにより受け取られた更新を第3記憶ボリュームに非同期的に格納することに応答して第1記憶ボリュームを一次記憶ボリュームとして指定することを含む。この代わりの実施態様の方法は、第1記憶ボリュームが一次記憶ボリュームとして指定されたことに応答して、第1記憶ボリュームから第3記憶ボリュームに送られた更新を第2記憶ボリュームに格納するように第3記憶ボリュームに指令することを含む。この代わりの実施態様の方法は、第2記憶ボリュームが第3記憶ボリュームと実質的に無矛盾になったことに応答して、第1記憶ボリュームから第3記憶ボリュームに更新を送ることを終了させることを含む。この代わりの実施態様の方法は、第1記憶ボリュームから第3記憶ボリュームに更新を送ることを終了したことに応答して、第1記憶ボリュームにより受け取られた更新を第2記憶ボリュームに同期的に格納しかつ第2記憶ボリュームにより受け取られた更新を第3記憶ボリュームに非同期的に格納することを含む。
一実施態様では、第2記憶ボリュームから第3記憶ボリュームに送られた更新を第1記憶ボリュームに格納するように第3記憶ボリュームに指令することは、記憶関係を作成すると共に、その後に第3記憶ボリュームにより受け取られた更新を追跡するように第3記憶ボリュームに指令することをさらに含む。その記憶関係は、更新を第1記憶ボリュームに非同期的に格納するために第3記憶ボリュームが使う情報を含む。他の1つの実施態様では、第2記憶ボリュームから第3記憶ボリュームに更新を送ることを終了させることは、第2記憶ボリュームおよび第3記憶ボリュームから記憶関係を除去することをさらに含む。その記憶関係は、第3記憶ボリュームにデータを格納するために第2記憶ボリュームが使う情報を含む。他の1つの実施態様では、更新を第2記憶ボリュームから第3記憶ボリュームに送ることを終了させることは、第2記憶ボリュームから第3記憶ボリュームに更新を送ることの終了の後に第2記憶ボリュームにより受け取られた更新を追跡することをさらに含む。
一実施態様では、第3記憶ボリュームに更新を非同期的に格納することはフラッシュ・コピー・プロセスを用いて第3記憶ボリュームの第4記憶ボリュームを更新することをさらに含み、更新はその第4記憶ボリューム上で時間順に編成される。通例、第4記憶ボリュームは、一次記憶ボリュームを再初期化しあるいは第3ボリュームを復元するために適するデータを含む。一実施態様では、第2記憶ボリュームから第3記憶ボリュームに更新を送ることを終了させることは、第4記憶ボリュームに対する更新を終了させることをさらに含む。他の1つの実施態様では、第1記憶ボリュームにより受け取られた更新を第3記憶ボリュームに非同期的に格納することは、第4記憶ボリュームに対する更新を再スタートすることをさらに含む。
一実施態様では、第1記憶ボリュームにより受け取られた更新を第3記憶ボリュームに非同期的に格納することは、第1記憶ボリュームにより受け取られた第3記憶ボリュームにコピーされるべき更新を追跡することをさらに含む。記憶関係は、第1記憶ボリュームが更新を第3記憶ボリュームに非同期的に格納するために使う情報を含む。他の1つの実施態様では、第2記憶ボリュームにより受け取られた更新を第1記憶ボリュームに同期的に格納することは、第2記憶ボリュームにおいて記憶関係を作成するように第2記憶ボリュームに指令することをさらに含む。その記憶関係は、データを第1記憶ボリュームに同期的に格納するために第2記憶ボリュームが使う情報を含む。
同期ミラーを一次記憶ボリュームとして活動化する装置は、第2記憶ボリュームおよび第3記憶ボリュームに対する更新を維持しながら第3記憶ボリュームから修理された第1記憶ボリュームを同期化する必要なステップを機能的に実行するように構成された複数のモジュールをも備える。これらのモジュールは、記載される実施態様においては、第1記憶ボリュームにおける故障を検出したことに応答して第2記憶ボリュームを一次記憶ボリュームとして指定する主スワップ・モジュールを含む。第1記憶ボリュームは一次記憶ボリュームとして指定され、第2記憶ボリュームは第1記憶ボリュームのデータの同期ミラー・コピーを含み、第3記憶ボリュームは、該故障の前は第2記憶ボリュームのデータの非同期ミラー・コピーを含む。
該装置は、第1記憶ボリュームが該故障後に操作可能になったことに応答して、第2記憶ボリュームから第3記憶ボリュームに送られた更新を第1記憶ボリュームに格納するように第3記憶ボリュームに指令するC−Aフェイルバック・モジュールを含む。該装置は、第1記憶ボリュームが第3記憶ボリュームと実質的に無矛盾になったことに応答して、更新を第2記憶ボリュームから第3記憶ボリュームに送ることを終了させるB−C終了モジュールを含む。該装置は、B−C終了モジュールが更新を第2記憶ボリュームから第3記憶ボリュームに送ることを終了させたことに応答して、第2記憶ボリュームにより受け取られた更新を第1記憶ボリュームに同期的に格納すると共に第1記憶ボリュームにより受け取られた更新を第3記憶ボリュームに非同期的に格納するB−A−C記憶モジュールを含む。
該装置は、一実施態様においては、記憶関係を作成すると共に、該記憶関係の作成の後に第3記憶ボリュームにより受け取られた更新を追跡するように第3記憶ボリュームに指令するC−A強制フェイルオーバー・モジュールを含む。その記憶関係は、更新を第1記憶ボリュームに非同期的に格納するために第3記憶ボリュームが使う情報を含む。他の1つの実施態様では、主スワップ・モジュールは、第1記憶ボリュームにおける故障を検出して第2記憶ボリュームを一次記憶ボリュームとしたことに応答して、第2記憶ボリュームにおいて、また第3記憶ボリュームにおいて記憶関係を終了させるように構成されたA−B終了モジュールをさらに含む。その記憶関係は、第1記憶ボリュームからのデータを同期的に格納するために第2記憶ボリュームが使う情報を含む。
一実施態様では、B−C終了モジュールは、第2記憶ボリュームから記憶関係を除去するようにさらに構成される。その記憶関係は、データを第3記憶ボリュームに格納するために第2記憶ボリュームが使う情報を含む。他の1つの実施態様では、B−C終了モジュールは、第2記憶ボリュームから第3記憶ボリュームに更新を送ることを終了した後に第2記憶ボリュームにより受け取られた更新を追跡するように構成された変更追跡モジュールをさらに含む。
該装置は、一実施態様では、第4記憶ボリュームを含み、第3記憶ボリュームは、フラッシュ・コピー・プロセスを用いて第4記憶ボリュームに更新を格納するように構成される。更新は、第4記憶ボリュームにおいて時間順に編成される。一実施態様では、B−C終了モジュールは、第4記憶ボリュームに対する更新を終了させるようにさらに構成される。他の1つの実施態様では、B−A−C記憶モジュールは、第4記憶ボリュームに対する更新を再スタートするようにさらに構成される。
一実施態様では、B−A−C記憶モジュールは、第3記憶ボリュームにコピーされるべき第1記憶ボリュームにより受け取られた更新を追跡するように第1記憶ボリュームに指令するA−C追跡モジュールをさらに含む。他の1つの実施態様では、B−A−C記憶モジュールは、第2記憶ボリュームにおいて記憶関係を作成するように第2記憶ボリュームに指令するB−Aインクリメンタル再同期化モジュールをさらに含む。その記憶関係は、データを第1記憶ボリュームに同期的に格納するために第2記憶ボリュームが使う情報を含む。
同期ミラーを一次記憶ボリュームとして活動化する本発明のシステムも提示される。該システムは、第1記憶ボリュームの故障の前は一次記憶ボリュームとして指定される第1記憶ボリュームと、その故障の前は第1記憶ボリュームのデータの同期ミラー・コピーを含む第2記憶ボリュームと、該故障の前は第2記憶ボリュームのデータの非同期ミラー・コピーを含む第3記憶ボリュームと、第1記憶ボリュームおよび第2記憶ボリュームに更新を格納するように構成されたホストとによって具体化され得る。特に、ホストは、一実施態様では、第1記憶ボリュームにおける故障を検出したことに応答して第2記憶ボリュームを一次記憶ボリュームとして指定する主スワップ・モジュールを含む。ホストは、第1記憶ボリュームが該故障の後に操作可能になったことに応答して、第2記憶ボリュームから第3記憶ボリュームに送られた更新を第1記憶ボリュームに格納するように第3記憶ボリュームに指令するC−Aフェイルバック・モジュールを含む。
ホストは、第1記憶ボリュームが第3記憶ボリュームとほぼ無矛盾になったことに応答して更新を第2記憶ボリュームから第3記憶ボリュームに送ることを終了させるB−C終了モジュールを含む。ホストは、更新を第2記憶ボリュームから第3記憶ボリュームに送ることを終了したことに応答して、第2記憶ボリュームにより受け取られた更新を第1記憶ボリュームに同期的に格納すると共に第1記憶ボリュームにより受け取られた更新を第3記憶ボリュームに非同期的に格納するB−A−C記憶モジュールを含む。該システムは、第3記憶ボリュームと共に配置される第4記憶ボリュームをさらに含むことができ、この場合、第3記憶ボリュームはフラッシュ・コピー・プロセスを用いて第4記憶ボリュームに更新を格納するように構成され、該更新は第4記憶ボリュームにおいて時間順に編成される。
記憶ボリュームにおいて新しい記憶関係を作成する本発明の方法が提示される。この方法は、開示される実施態様では、記述された装置およびシステムの動作に関して上で提示された機能を実行するために必要なステップを実質的に含む。一実施態様では、該方法は、第1記憶ボリュームにおいて記憶関係を作成することを含む。その記憶関係は、第1記憶ボリュームにより受け取られた更新を第2記憶ボリュームに格納するために第1記憶ボリュームにより使われる情報を含み、第1記憶ボリュームは第2記憶ボリュームとの既存の記憶関係を欠いている。該方法は、該記憶関係が作成されたときからデータ構造において第1記憶ボリュームに対する更新を追跡することを含む。該更新は、第2記憶ボリュームにコピーされるべく意図される。該方法は、該データ構造内の追跡されている更新に基づいて第1記憶ボリュームから第2記憶ボリュームに該更新をコピーすることを含む。一実施態様では、記憶関係は第1記憶関係であり、第1記憶ボリュームは、第3記憶ボリュームとの既存の第2記憶関係を有する。他の1つの実施態様では、該記憶関係は、第1記憶ボリュームを再初期化すること無く作成される。
同期ミラーを一次記憶ボリュームとして活動化するソフトウェアを配備するために本発明の1つの方法が提示される。該方法は、開示される実施態様においては、記載される装置およびシステムの動作に関して以下で提示される機能を実行するのに必要なステップを実質的に含む。一実施態様では、該方法は、顧客同期ミラーおよび非同期ミラー・コンフィギュレーションおよび信頼性要件を決定することと、同期ミラー活動化コンピュータ・コードを実行することとを含む。該コンピュータ・コードは、第1記憶ボリュームにおける故障を検出したことに応答して第2記憶ボリュームを一次記憶ボリュームとして指定するように構成される。第1記憶ボリュームは一次記憶ボリュームとして指定され、第2記憶ボリュームは第1記憶ボリュームのデータの同期ミラー・コピーを含み、第3記憶ボリュームは該故障の前は第2記憶ボリュームのデータの非同期ミラー・コピーを含む。
該コンピュータ・コードは、第1記憶ボリュームが該故障の後に操作可能になったことに応答して、第2記憶ボリュームから第3記憶ボリュームに送られた更新を第1記憶ボリュームに格納するように第3記憶ボリュームに指令するように構成される。該コンピュータ・コードは、第1記憶ボリュームが第3記憶ボリュームと実質的に無矛盾になったことに応答して、更新を第2記憶ボリュームから第3記憶ボリュームに送ることを終了させるように構成される。該コンピュータ・コードは、第1記憶ボリュームと第3記憶ボリュームとが実質的に無矛盾になった後に更新を第2記憶ボリュームから第3記憶ボリュームに送ることを終了したことに応答して、第2記憶ボリュームにより受け取られた更新を第1記憶ボリュームに同期的に格納すると共に第1記憶ボリュームにより受け取られた更新を第3記憶ボリュームに非同期的に格納するように構成される。
本明細書の全体において特徴、利点への言及あるいは類似の言葉は、本発明で実現され得る特徴および利点の全てが本発明のいずれか1つの実施態様に存在するべきであるかあるいは存在することを示唆しない。むしろ、特徴および利点に言及する言葉は、実施態様に関して記載された特定の特徴、利点、または特性が本発明の少なくとも1つの実施態様に含まれることを意味すると理解される。従って、特徴および利点についての議論と、類似の言葉とは、本明細書の全体にわたって、同じ実施態様に言及することができるが、必ずしも同じ実施態様には言及しない。
さらに、記載される特徴、利点、および記載される特性は、1つ以上の実施態様において任意の適切な仕方で組み合わされ得る。当業者は、本発明の実施態様が特定の実施態様の特定の特徴または利点のうちの1つ以上を持たずに実施され得るということを認識するであろう。他の場合には、本発明の全ての実施態様には存在しないかもしれない付加的な特徴および利点が或る実施態様では認められるかもしれない。
下記の図面を参照して本発明の好ましい実施態様が単に例として記載される。
本明細書に記載されている機能単位の多くは、それらの実施独立性を特に強調するために、モジュールとして分類されている。例えば、モジュールは、カスタムVLSI回路またはゲート・アレイ、ロジック・チップのような、容易に入手可能な(off−the−shelf)半導体、トランジスタ、または他の個別コンポーネントを含むハードウェア回路として実現され得る。モジュールは、フィールド・プログラマブル・ゲート・アレイ、プログラマブル・アレイ・ロジック、プログラマブル・ロジック・デバイスなどのようなプログラマブルなハードウェア装置でも実現され得る。
モジュールは、種々のタイプのプロセッサにより実行されるソフトウェアでも実現され得る。実行可能コードの被識別モジュールは、例えば、オブジェクト、プロシージャ、または関数として編成され得るコンピュータ命令の1つ以上の物理的なまたは論理的なブロックを含むことができる。それにもかかわらず、被識別モジュールの実行ファイル『executables』は、物理的に一緒に置かれなくても良く、論理的に結合されたときに該モジュールを構成して該モジュールの定められた目的を達成する別々の場所に格納された多様な命令を含むことができる。
実際、実行可能コードのモジュールは、単一の命令であり得、あるいは多数の命令であり得、そして数個の異なるコード・セグメントに、複数の異なるプログラムに、また数個のメモリ装置に分散されることさえできる。同様に、演算データは、ここではモジュール内で識別されて図示されることができ、そして任意の適切な形で具体化されて任意の適切なタイプのデータ構造の中で編成されることができる。演算データは、単一のデータ・セットとして集められても良く、あるいは複数の異なる記憶装置を含む複数の異なる場所に分散されても良く、そして少なくとも部分的にシステムまたはネットワーク上の単なる電子信号として存在しても良い。
信号担持媒体への言及は、信号を生成し、信号を生成させ、あるいはデジタル処理装置において機械可読命令のプログラムを実行させることのできる任意の形をとることができる。信号担持媒体は伝送線、コンパクト・ディスク、デジタル・ビデオ・ディスク、磁気テープ、ベルヌーイ・ドライブ、磁気ディスク、パンチ・カード、フラッシュ・メモリ、集積回路、または他のデジタル処理装置記憶装置により具体化され得る。
本発明の実施態様の記述される特徴、構造、あるいは特性は、1つ以上の実施態様において任意の適切な仕方で組み合わされ得る。以下の記述においては、本発明の実施態様の完全な理解を提供するために、プログラミングの例、ソフトウェア・モジュール、ユーザ・セレクション、ネットワーク・トランザクション、データベース・クエリ、データベース構造、ハードウェア・モジュール、ハードウェア回路、ハードウェア・チップなどのような多数の具体的な細目が提供される。しかし、当業者は、本発明の実施態様がそれらの細目のうちの1つ以上を持つこと無く、あるいは他の方法、コンポーネント、材料などで実施され得ることを認識するであろう。
ここに包含されている概要フローチャート図は一般的に論理フローチャート図として提示されている。その様なものとして、描かれている順序と、ラベルが付されているステップとは、提示される方法の一実施態様を示す。図示されている方法の1つ以上のステップ、あるいはその部分と機能、論理、または効果に関して同等である他のステップおよび方法が考案され得る。さらに、使われているフォーマットおよび記号は該方法の論理ステップ説明するために提供されており、該方法の範囲を限定しないと理解される。種々の矢タイプと線タイプとが該フローチャート図で使用され得るけれども、それらは対応する方法の範囲を限定しないと理解される。実際、該方法の論理的流れだけを示すために或る矢あるいはコネクタが使用され得る。例えば、矢は、描かれた方法の列挙されたステップ間の不特定の所要時間の待ち期間あるいは監視期間を示すことができる。さらに、特定の方法が行われる順序は、示されている対応するステップの順序と厳密に一致するかもしれないし、しないかもしれない。
図3は、一次記憶ボリューム故障の前の本発明の好ましい実施態様に従う改良された同期ミラー・スワップのためのデータ・システム200の一実施態様を示す略ブロック図である。データ・システム200は、ホスト202と、第1記憶コントローラ204と、第1記憶ボリューム206と、ホスト202および第1記憶コントローラ204の間の接続208と、第2記憶ボリューム210と、第2記憶コントローラ211と、第1記憶ボリューム206および第2記憶ボリューム210の間の同期接続212と、第3記憶ボリューム214と、第2記憶ボリューム210および第3記憶ボリューム214の間の非同期接続216と、第4記憶ボリューム218と、第3記憶コントローラ220と、第3記憶ボリューム214および第4記憶ボリューム218の間の接続222と、第2記憶ボリューム210に関連付けられている後述されるCRビットマップ224およびOOSビットマップ226とを含む。一実施態様では、データ・システム200のコンポーネントは、データ・システム200が本発明の好ましい実施態様に従う改良された同期ミラー・スワップのためのモジュール、コンポーネント、接続などを含むことを除けば、図1のAに関連して記載されたデータ記憶システム100に類似する。
データ・システム200は、記憶コントローラ204,211,220に書き込みリクエストを送る1つ以上のホスト202を含む。ホスト202は、通例サーバであるけれども、ワークステーション、パーソナル・コンピュータ、ラップトップ・コンピュータ等であり得る。一実施態様では、ホスト202は、コンピュータ、サーバ、プリンタ、ルータなどのネットワークを含む。他の1つの実施態様では、ホスト202は第1記憶コントローラ204と結合される。ホスト202は、通例SANを介して記憶コントローラ204,211,220と通信するけれども、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、インターネット、無線ネットワークなどを介して通信することができる。ホスト202は、読み出しリクエスト、コピー・リクエスト、あるいはその他のデータ関連リクエストを記憶コントローラ204,211,220に送るようにも構成され得る。当業者は、データ書き込みリクエストを記憶コントローラ204,211,220に送ることのできるホスト202の他の実施態様を認識しているであろう。
データ・システム200は、ホスト202から書き込みリクエストを受け取ってファイル、ファイルに対する更新、ファイル情報など(以降、“更新”)を1つ以上の記憶ボリューム206,210,214,218に格納するように構成された第1記憶コントローラ204を含む。一実施態様では、第1記憶コントローラ204は企業記憶システム(“ESS”)コントローラである。他の1つの実施態様では、第1記憶コントローラ204はIBM(IBM社の登録商標)System Storage(登録商標)DS8000(登録商標)記憶サーバである。第1記憶コントローラ204は、サーバ、ワークステーション、データ・ムーバ(a data mover)、あるいは複数のコンポーネント及びコンピュータのシステムであり得る。通例、第1記憶コントローラ204は更新を一時的に格納するための揮発性メモリまたはキャッシュと共に不揮発性メモリまたは書き込みキャッシュを含む。当業者は、ホスト202から書き込みリクエストを受け取って該書き込みリクエストに関連する更新を記憶ボリューム206,210,214,218に格納することのできる他の第1記憶コントローラ204コンフィギュレーションを認識しているであろう。
システム200は、第1記憶コントローラ204から受け取られた更新を格納する第1記憶ボリューム206を含む。通例、通常の動作条件下では第1記憶ボリューム206は一次記憶ボリュームとして指定されて直接に第1記憶コントローラ204から更新を受け取る。第1記憶ボリューム206は少なくとも1つのハード・ディスク・ドライブ(“HDD”)を含むけれども、共同で1つのボリュームを形成するディスクのアレイを含むこともできる。第1記憶ボリューム206はRAIDアレイ、ジャスト・ア・バンチ・オブ・ディスクス(Just a Bunch of Disks(“JBOD”))などを含むことができる。第1記憶ボリューム206はテープ・ドライブ、オプティカル・ドライブなどを含むことができる。一実施態様では、第1記憶ボリューム206は1つのディスクか、あるいは1つのボリュームを形成するディスクのアレイを含む。他の1つの実施態様では、第1記憶ボリューム206は複数の記憶ボリュームを含む。
通例、第1記憶ボリューム206の1つ以上の記憶ボリュームは第1記憶コントローラ204にとってアクセス可能である。第1記憶ボリューム206は、一実施態様では、第1記憶ボリューム206の1つ以上の記憶ボリュームを制御すると共に第1記憶コントローラ204または他の記憶コントローラから更新を受け取るためにデータ・ムーバ、コントローラ、または他の、プロセッサおよびメモリを有する装置を含む。当業者は、第1記憶コントローラ204から更新を受け取ることのできる他の第1記憶ボリューム206を認識しているであろう。
システム200は、ホスト202から第1記憶コントローラ204へのデータ接続208を含む。ホスト202は、通例SANを含むけれどもファイバ接続、スモール・コンピュータ・システム・インターフェース(“SCSI”)、ローカル・エリア・ネットワーク、ルータ、スイッチなどを含むことのできる接続208を介して記憶コントローラ204,211,220と通信する。カスケード型データ記憶システム200では、通例第1記憶ボリューム206が一次記憶ボリュームとして指定されているときには、第1記憶コントローラ204は、ホスト202からの更新を、第2記憶ボリューム210または第3記憶ボリューム214を通してではなくて、直接に第1記憶ボリューム206に送る。
データ・システム200は、第1記憶ボリューム206と実質的に同様の第2記憶ボリューム210を含む。通例、第2記憶ボリューム210は、初めは第1記憶ボリューム206の同期ミラー・データ・ボリュームであって、第1記憶ボリューム206と同じデータを含む。通例、第2記憶ボリューム210は、第1記憶ボリューム206と同じ容量、同じ数のトラックなどを有する。第2記憶ボリューム210は、容認できない性能低下を伴わずに同期接続212を収容する接続を可能にするために充分に第1記憶ボリューム206に近い中間サイトに配置され得る。第2記憶ボリューム210は、一実施態様では、第1記憶ボリューム206と一緒に配置される。
データ・システム200は、(関連する第1記憶コントローラ204を通して)第1記憶ボリューム206と(関連する第2記憶コントローラ211を通して)第2記憶ボリューム210との間のデータ接続212を含む。データ接続212は、ホスト202と第1記憶コントローラ204との接続208と実質的に同様である。データ接続212は、第1記憶ボリューム206と第2記憶ボリューム210とを同期接続することができる。データ・システム200は、第2記憶ボリューム210に関連付けられた、第1記憶コントローラ204と実質的に同様の第2記憶コントローラ211を含む。
システム200は、通例第1記憶ボリューム206および第2記憶ボリューム210から遠く離されて配置される第3記憶ボリューム214および第4記憶ボリューム218を含む。システム200は、第3記憶ボリューム214および第4記憶ボリューム218に関連付けられた、第1記憶コントローラ204および第2記憶コントローラ211と実質的に同様の第3記憶コントローラ220を含む。第3記憶ボリューム214は、初めは更新を第2記憶ボリューム210および第2記憶コントローラ211から非同期的に受け取る。第3記憶コントローラ220は、非同期動作モード中、第3記憶ボリューム214により受け取られた更新をフラッシュ・コピー・プロセス222を用いて第4記憶ボリューム218にコピーする。第3記憶コントローラ220は、通例、第3記憶ボリューム214が第2記憶ボリューム210と無矛盾であった時点、または他の適切な意味のある時点に基づいて、第4記憶ボリューム218にコピーされた更新を時間順に再編成する。
システム200は、第2記憶ボリューム210および第3記憶ボリューム214(および関連するコントローラ211,220)の間のデータ接続216を含む。データ接続216は、ワイド・エリア・ネットワーク接続、ファイバ・ネットワーク接続などであることができ、光ファイバ・ケーブル、銅ケーブル、無線接続、ハブ、ルータなどを含むことができる。第3記憶ボリューム214および第4記憶ボリューム218は通例第1記憶ボリューム206および第2記憶ボリューム210から遠く離れて配置されるので、第2記憶ボリューム210と第3記憶ボリューム214との間のデータ接続216はその様な距離に適する。
システム200は、第2記憶ボリューム210に関連付けられたCRビットマップ224とOOSビットマップ226とを含む。ビットマップ224,226は通例データ記憶装置であって、第2記憶コントローラ211により管理される。CRビットマップ224は、一実施態様では、第3記憶ボリューム214との同期化の後に該ボリューム同士が無矛盾であったときに生じた第2記憶ボリューム210に対する更新を追跡する。OOSビットマップは、第3記憶ボリューム214に書き込まれるべき更新を追跡する。通例、両ビットマップ224,226は記憶ボリューム210,214に対する更新のトラック・アドレスを特定する。
例えば、定期的に、CRビットマップ224の内容は、OOSビットマップ226がはかされた後にOOSビットマップ226と併合される。OOSビットマップ226がはかされるとき、第2記憶ボリューム210と第3記憶ボリューム214とは無矛盾であると、あるいは同期化されていると考えられる。OOSビットマップ226は、OOSビットマップ226により追跡されている更新を第3記憶ボリューム214にコピーすることによってはかされる。更新が第2記憶ボリューム210から第3記憶ボリューム214に書き込まれてゆくとき、コピーされる更新に関連付けられたビットがOOSビットマップ226からクリアされる。CRビットマップ224は、第2記憶ボリューム210と第3記憶ボリューム214とが無矛盾であった時点以降に生じた変更を追跡する。OOSビットマップ226も、第2記憶ボリューム210により受け取られた更新を追跡することができる。一実施態様では、CRビットマップ224は、OOSビットマップ226が完全にクリアされた後にOOSビットマップ226にコピーされる。CRビットマップ224も、その内容がOOSビットマップ226にコピーされあるいは併合された後にその後の更新を追跡するためにクリアされ得る。
図4は、本発明の好ましい実施態様に従う改良された同期ミラー・スワップのための装置300の一実施態様を示す略ブロック図である。装置300は、以下で記述されるC−Aフェイルバック・モジュール302、B−C終了モジュール304、およびB−A−C記憶モジュールを伴うホスト202を含む。一実施態様では、装置300のモジュール302,304,306はホスト202と共に包含される。他の1つの実施態様では、装置300のモジュール302,304,306は記憶管理コンピュータ(図示されていない)に含まれる。他の1つの実施態様では、装置300のモジュール302,304,306は記憶コントローラ204,211,220に含まれる。当業者は、同期ミラーを活動化するための装置300のモジュール302,304,306の他の場所を認識しているであろう。
装置300は、第1記憶ボリューム206が故障後に操作可能になったことに応答して、第2記憶ボリューム210から第3記憶ボリューム214に送られた更新を第1記憶ボリューム206に格納するように第3記憶ボリューム214に指令するC−Aフェイルバック・モジュール302を含む。第1記憶ボリューム206の故障後、第2記憶ボリューム210が一次記憶ボリュームとして指定されることができ、ホスト202は更新を第2記憶ボリューム210に送ることができる。第2記憶ボリューム210は、通例、更新を第3記憶ボリューム214に送り続ける。第3記憶ボリューム214は、第1記憶ボリューム206が操作可能でない間、OOSビットマップにおいて変更を追跡する。C−Aフェイルバック・モジュール302は、第1記憶ボリューム206が操作可能であることを認識し、第3記憶ボリューム214に関連付けられているOOSビットマップにより追跡される第1記憶ボリューム206に更新を送り始める。一実施態様では、更新は非同期的に送られる。他の1つの実施態様では、更新は同期的に送られる。
装置300は、第1記憶ボリューム206が第3記憶ボリューム214と実質的に無矛盾になったことに応答して、更新を第2記憶ボリューム210から第3記憶ボリューム214に送ることを終了させるB−C終了モジュール304を含む。第1記憶ボリューム206が更新を第3記憶ボリューム214から受け取り始めた後、第1記憶ボリューム206は、ついには、第3記憶ボリューム214とほぼ無矛盾になるポイントに達する。一実施態様では、B−C終了モジュール304は、第1記憶ボリューム206と第3記憶ボリューム214とが無矛盾になったときに更新を送ることを終了させる。他の1つの実施態様では、B−C終了モジュール304は、第1記憶ボリューム206と第3記憶ボリューム214とが実質的に無矛盾になったときに更新を送ることを終了させる。C−Aフェイルバック・モジュール302が更新を第1記憶ボリューム206に非同期的に送るときには後の実施態様が好ましい。一実施態様では、B−C終了モジュール304は第4記憶ボリューム218に対する更新を終了させる。
装置300は、第1記憶ボリューム206および第3記憶ボリューム214が実質的に無矛盾になった後に更新を第2記憶ボリューム210から第3記憶ボリューム214に送ることを終了させたことに応答して、第2記憶ボリューム210により受け取られた更新を第1記憶ボリューム206に同期的に格納すると共に第1記憶ボリューム206により受け取られた更新を第3記憶ボリューム214に非同期的に格納するB−A−C記憶モジュール306を含む。一実施態様では、B−A−C記憶モジュール306は、第4記憶ボリューム218に対する更新を再スタートする。有利なことに、B−A−C記憶モジュール306は、更新がホスト202から一次記憶ボリューム(第2記憶ボリューム210)に、同期的にミラー・データ・ボリューム(第1記憶ボリューム206)に、その後に非同期的に遠く離れた記憶ボリューム(第3記憶ボリューム214および第4記憶ボリューム218)に流れることのできる状態にデータ記憶システム200を復元する。
装置300は、従来技術システム(図1のAないし図2のBを参照)の欠点の多くを克服する。装置300は、故障した記憶ボリューム(第1記憶ボリューム206)がオンラインに戻されかつ同期化される間、遠く離れた記憶ボリューム(第3記憶ボリューム214および第4記憶ボリューム218)へのデータの流れも実質的に維持しながらホスト202から一次記憶ボリューム(第2記憶ボリューム210)へのデータの流れを維持する。装置300は、第1記憶ボリューム206を一次記憶ボリュームとして、また第2記憶ボリューム210をミラー・データ・ボリュームとして回復させるために装置300に関連する該方法を反復するためにも使用され得る。
図5は、本発明の好ましい実施態様に従う改良された同期ミラー・スワップのための装置400の代わりの実施態様を示す略ブロック図である。装置400は、図4の装置300に関連して記載されたモジュールに実質的に類似するC−Aフェイルバック・モジュール302と、B−C終了モジュール304と、B−A−C記憶モジュール306とを有するホスト202を含む。さらに、装置400は、主スワップ・モジュール402とC−A強制フェイルオーバー・モジュール404とを含む。一実施態様では、主スワップ・モジュール402はA−B終了モジュール406を含む。他の1つの実施態様では、B−C終了モジュール304は変更追跡モジュール408を含む。他の1つの実施態様では、B−A−C記憶モジュール306はA−C追跡モジュール410とB−Aインクリメンタル再同期化モジュール412とを含む。装置400は、一実施態様では、C−B強制フェイルバック・モジュール414と、B−C終了モジュール416と、A−B−C記憶モジュール418とを含む。これらのモジュールは以下で記述される。
装置400は、第1記憶ボリューム206における故障を検出したことに応答して第2記憶ボリューム210を一次記憶ボリュームとして指定する主スワップ・モジュール402を含む。初めは、第1記憶ボリューム206は一次記憶ボリュームとして指定され、第2記憶ボリューム210は第1記憶ボリュームのデータの同期ミラー・コピーを含み、第3記憶ボリューム214は該故障の前は第2記憶ボリュームのデータの非同期ミラー・コピーを含む。
一実施態様では、主スワップ・モジュール402はIBM社のHyperSwap(商標)プログラムを含む。他の1つの実施態様では、主スワップ・モジュール402は、第1記憶ボリューム206における故障を検出した後に自動的に第2記憶ボリューム210を一次記憶ボリュームとして指定する。他の1つの実施態様では、主スワップ・モジュール402は、オペレータの介入で第2記憶ボリューム210を一次記憶モジュールとして指定する。一実施態様では、主スワップ・モジュール402は、第2記憶ボリューム210における故障を検出した後、第1記憶ボリューム206を一次記憶ボリュームとして指定する。当業者は、故障を検出した後に主スワップ・モジュール402が一次記憶ボリュームを指定できる他の方法を認識するであろう。
一実施態様では、装置400は、第3記憶ボリューム214に対して、記憶関係を作成して該記憶関係作成後に該記憶モジュールに対する更新を追跡するように指令するC−A強制フェイルオーバー・モジュール404を含む。その記憶関係は、更新を第1記憶ボリューム206に非同期的に格納するために第3記憶ボリューム214が使う情報を含む。一実施態様では、C−A強制フェイルオーバー・モジュール404は第2記憶コントローラ211に配置される。他の実施態様では、C−A強制フェイルオーバー・モジュール404はホスト202または他の記憶コントローラ204,220に配置される。
一般的に、本発明の実施態様は、従来技術のフェイルオーバー・コマンドおよびフェイルバック・コマンドと比べての改良である強制フェイルオーバー機能および強制フェイルバック機能を含む。強制フェイルオーバー機能は、以前は存在しなかった記憶ボリュームに関連付けられた記憶関係の作成を可能にする。例えば、第1記憶ボリューム206から第2記憶ボリューム210に更新を同期的に格納する代表的な記憶関係が第1記憶ボリューム206と第2記憶ボリューム210との間に存在し得る。
故障後に第1記憶ボリューム206がオンラインにされた後に更新を第1記憶ボリューム206に送るように第2記憶ボリューム210に指令するフェイルオーバー・コマンドが発せられ得る。第1記憶ボリューム206が同期化されると、第1記憶ボリューム206が再び一次記憶ボリュームとして指定された後に更新を第2記憶ボリューム210に格納するように第1記憶ボリューム206に指令するためにフェイルバック・コマンドが発せられる。第2記憶ボリューム210により受け取られた更新を追跡し、その追跡される更新を第3記憶ボリューム214に格納するように第2記憶ボリューム210に指令する記憶関係は、従来技術のフェイルオーバー・コマンドあるいはフェイルバック・コマンドでは不可能であろう。
強制フェイルオーバー機能は、記憶ボリュームが初期化中に予め定義されていなかった他の記憶ボリュームとの記憶関係を確立することを可能にする。強制フェイルオーバー機能は、一実施態様では、他の記憶ボリュームとの記憶関係を確立するが更新を送らない。記憶ボリュームは、その代わりに、他の記憶ボリュームに格納される変更を追跡するためにOOSビットマップを作成する。強制フェイルバック機能は、その後、OOSビットマップで該変更を追跡する記憶ボリュームから他の記憶ボリュームに流れる更新を開始する。一実施態様では、強制フェイルオーバー機能は該記憶ボリュームの前の記憶関係を終了させる。
C−A強制フェイルオーバー・モジュール404は、強制フェイルオーバー機能の例である。例えば、第3記憶ボリューム214は、第2記憶ボリューム210との非同期記憶関係を有し、通常動作中に更新を受け取る。C−A強制フェイルオーバー・モジュール404は、第3記憶ボリューム214において第1記憶ボリューム206との記憶関係を確立する。その記憶関係が確立されると、第3記憶ボリューム214は、第1記憶ボリューム206に送られる第3記憶ボリューム214により受け取られた変更を追跡し始める。一実施態様では、該変更はOOSビットマップに格納される。該OOSビットマップは第3記憶コントローラ220に格納され得る。強制フェイルオーバー機能が無ければ、第3記憶ボリューム214は、更新を受け取って第2記憶ボリューム210に送ることに限定されるであろう、また、第1記憶ボリューム206との新しい記憶関係を確立して第1記憶ボリューム206に向けられた更新を追跡することはできないであろう。
主スワップ・モジュール402は、一実施態様では、第1記憶ボリューム206における故障を検出して第2記憶ボリューム210を一次記憶ボリュームにしたことに応答して第1記憶ボリューム206における記憶関係を終了させるA−B終了モジュール406を含む。その記憶関係は、第1記憶ボリューム206からのデータを同期的に格納するために第2記憶ボリューム210が使う情報を含む。第2記憶ボリューム210における記憶関係を終了させることは、一実施態様では、ホスト202が第2記憶ボリューム210を一次記憶ボリュームとして指定して更新を第2記憶ボリューム210に送ることを可能にする。
一実施態様では、B−C終了モジュール304は、第2記憶ボリューム210から第3記憶ボリューム214に更新を送ることの終了の後に第2記憶ボリューム210により受け取られた更新を追跡する変更追跡モジュール408を含む。通例、変更追跡モジュール408は、第2記憶ボリューム210に関連付けられているインクリメンタル再同期化CRビットマップにおいて変更を追跡する。一実施態様では、インクリメンタル再同期化CRビットマップは第2記憶コントローラ211に配置される。変更追跡モジュール408により作成されたインクリメンタル再同期化CRビットマップは、B−C終了モジュールが第2記憶ボリューム210から第3記憶ボリューム214への更新を一時停止した後に受け取られた更新を変更追跡モジュール408が追跡することを可能にする。通例、第2記憶ボリューム210に関連付けられて第1記憶ボリューム206の故障の前に更新を追跡するために使用されるCRビットマップは、新しいインクリメンタル再同期化CRビットマップが作成された後は使用されない。
一実施態様では、B−A−C記憶モジュール306は、第1記憶ボリューム206において記憶関係を作成するように第1記憶ボリューム206に指令するA−C追跡モジュール410を含む。A−C追跡モジュール410は、第3記憶ボリューム214にコピーされる更新を追跡するために第1記憶ボリューム206に関連付けられたOOSビットマップを作成するように第1記憶ボリューム206に指令する。通例、該OOSビットマップは第1記憶コントローラ204に配置される。
他の1つの実施態様では、B−A−C記憶モジュール306は、第2記憶ボリューム210において記憶関係を作成するように第2記憶ボリューム210に指令するB−Aインクリメンタル再同期化モジュール412を含む。該記憶関係は、データを第1記憶ボリューム206に同期的に格納するために第2記憶ボリューム210が使う情報を含む。B−Aインクリメンタル再同期化モジュール412は、該故障の前に存在していたけれどもホスト102が更新を第2記憶ボリューム210に送ることを可能にするために第2記憶ボリューム210から除去された記憶関係を第2記憶ボリューム210において再作成する。
通例、第3記憶ボリューム214に対して行われた更新を追跡する第2記憶ボリューム210に関連付けられたOOSビットマップは、B−C終了モジュール304が第2記憶ボリューム210から第3記憶ボリューム214への更新を終了させる前に、はかされる。OOSビットマップがはかされた後、それは、通例、B−Aインクリメンタル再同期化モジュール412が第2記憶ボリューム210に記憶関係を確立するように指令するときに、使われない。B−Aインクリメンタル再同期化モジュール412は、一実施態様では、変更追跡モジュール408により作成されたインクリメンタル再同期化CRビットマップの内容を、第1記憶ボリューム206にコピーされた更新を追跡する新しいOOSビットマップに併合するように第2記憶コントローラ211に指令する。他の1つの実施態様では、B−Aインクリメンタル再同期化モジュール412は、変更追跡モジュール408により作成されたインクリメンタル再同期化CRビットマップの内容を第2記憶ボリューム210に関連付けられている既存のOOSビットマップに併合するように第2記憶コントローラ211に指令し、該OOSビットマップは第1記憶ボリューム206にコピーされた更新を追跡する。第1記憶ボリューム206と第2記憶ボリューム210とが無矛盾になると、該OOSビットマップは、一実施態様では、使用されない。
装置400は、一実施態様では、第1記憶ボリューム206が一次記憶ボリュームとして指定されたことに応答して第1記憶ボリューム206から第3記憶ボリューム214に送られた更新を第2記憶ボリューム210に格納するように第3記憶ボリューム214に指令するC−B強制フェイルバック・モジュール414を含む。装置400は、他の1つの実施態様では、第2記憶ボリューム210が第3記憶ボリューム214と実質的に無矛盾になったことに応答して更新を第1記憶ボリューム206から第3記憶ボリューム214に送ることを終了させるB−C終了モジュール416を含む。装置400は、他の1つの実施態様では、第1記憶ボリューム206から第3記憶ボリューム214に更新を送ることを終了したことに応答して第1記憶ボリューム206により受け取られた更新を第2記憶ボリューム210に同期的に格納すると共に第2記憶ボリューム210により受け取られた更新を第3記憶ボリューム214に非同期的に格納するA−B−C記憶モジュール418を含む。
図6は、本発明の好ましい実施態様に従う改良された同期ミラー・スワップのための方法500の一実施態様を示す略フローチャート図である。方法500が始まって502、C−Aフェイルバック・モジュール302は、第1記憶ボリューム206が故障後に操作可能になったことに応答して第2記憶ボリューム210から第3記憶ボリューム214に送られた更新を第1記憶ボリューム206に格納するように第3記憶ボリューム214に指令504する。C−Aフェイルバック・モジュール302は、一実施態様では、第3記憶ボリューム214において第1記憶ボリューム206との記憶関係を作成する強制フェイルオーバー機能を発するように第3記憶ボリューム214に指令する。
B−C終了モジュール304は、第1記憶ボリューム206が第3記憶ボリューム214と実質的に無矛盾になったことに応答して、第2記憶ボリューム210から第3記憶ボリューム214に更新を送ることを終了506させる。通例、第1記憶ボリューム206が無矛盾状態にあるいはほぼ無矛盾の状態にされている間、ホスト202は更新を第2記憶ボリューム210に送り続け、第2記憶ボリューム210は更新を第3記憶ボリューム214に送り続ける。
B−A−C記憶モジュール306は、第2記憶ボリューム210から第3記憶ボリューム214に更新を送ることをB−C終了モジュール304が終了させたことに応答して第2記憶ボリューム210により受け取られた更新を第1記憶ボリューム206に同期的に格納508する。さらに、B−C終了モジュール304は、更新を第2記憶ボリューム210から第3記憶ボリューム214に送ることをB−C終了モジュール304が終了させたことに応答して第1記憶ボリューム206により受け取られた更新を第3記憶ボリューム214に非同期的に格納508し、方法500は終了510する。
方法500は、一実施態様では、以前は故障した第1記憶ボリューム206のミラー・コピーであった第2記憶ボリューム210への更新の受け取りを維持しながら一次ボリュームから同期ミラー・ボリュームへスワップする方法を提供する。第2記憶ボリュームは、新たに指定された一次ボリュームである。方法500は、(第3記憶ボリューム214が更新を受け取り続ける結果として)第4記憶ボリューム218をほぼ無矛盾に保ちながら第1記憶ボリューム206が動作に復帰した後に第1記憶ボリューム206を同期化することをも可能にする。第2記憶ボリューム210を一次記憶ボリュームとして維持することは、第1記憶ボリューム206および第2記憶ボリューム210が互いにかなり接近して配置されているとき、あるいは第2記憶ボリューム210を指定された一次記憶ボリュームとして持つことで性能低下が殆どあるいは全く無いときには、望ましいかもしれない。
図7は、本発明の好ましい実施態様に従う改良された同期ミラー・スワップのための方法600の代わりの実施態様を示す略フローチャート図である。方法600は、一次記憶ボリュームとしての第1記憶ボリューム206と、第1記憶ボリューム206から更新を同期的に受け取る第2記憶ボリューム210と、第2記憶ボリューム210から更新を非同期的に受け取る第3記憶ボリューム214とを伴う最初のアーキテクチャにカスケード型データ記憶システム200を戻すために、図6と関連して記載された方法500により使用される同じ手法を用いる、逆手順を提供する。方法600は、第2記憶ボリューム210を伴う中間記憶サイトがホスト202から第1記憶ボリューム206より遠いか、あるいは第1記憶ボリューム206より遅いホスト202との接続を有するときには、望ましいかもしれない。
方法600が始まり602、主スワップモジュール402主スワップモジュールは、第1記憶ボリューム206における故障を検出したことに応答して第2記憶ボリューム210を一次記憶ボリュームとして指定604する。第1記憶ボリューム206は一次記憶ボリュームとして指定され、第2記憶ボリューム210は第1記憶ボリュームのデータの同期ミラー・コピーを含み、第3記憶ボリューム214は該故障の前は第2記憶ボリュームのデータの非同期ミラー・コピーを含む。C−Aフェイルバック・モジュール302は、第1記憶ボリューム206が故障後に操作可能になったことに応答して、第2記憶ボリューム210から第3記憶ボリューム214に送られた更新を第1記憶ボリューム206に格納するように第3記憶ボリューム214に指令606する。
B−C終了モジュール304は、第1記憶ボリューム206が第3記憶ボリューム214と実質的に無矛盾になったことに応答して、更新を第2記憶ボリューム210から第3記憶ボリューム214に送ることを終了608させる。更新を第2記憶ボリューム210から第3記憶ボリューム214に送ることをB−C終了モジュール304が終了させたことに応答してB−A−C記憶モジュール306は第2記憶ボリューム210により受け取られた更新を第1記憶ボリューム206に同期的に格納610し、B−C終了モジュール304は第1記憶ボリューム206により受け取られた更新を第3記憶ボリューム214に非同期的に格納610する。
主スワップ・モジュール402は、第1記憶ボリューム206が一次記憶ボリュームであるべきか否かを判定612する。否定であれば、方法600は終了622する。第1記憶ボリューム206が一次記憶ボリュームであるべきであると主スワップ・モジュール402が判定612したならば、主スワップ・モジュール402は第1記憶ボリューム206を一次記憶ボリュームとして指定614する。第1記憶ボリューム206が一次記憶ボリュームとして指定されたことに応答して、C−B強制フェイルバック・モジュール414は、第1記憶ボリューム206から第3記憶ボリューム214に送られた更新を第2記憶ボリューム210に格納するように第3記憶ボリューム214に指令616する。
B−C終了モジュール416は、第2記憶ボリューム210が第3記憶ボリューム214と実質的に無矛盾になったことに応答して、第1記憶ボリューム206から第3記憶ボリューム214に更新を送ることを終了618させる。A−B−C記憶モジュール418は、更新を第1記憶ボリューム206から第3記憶ボリューム214に送ることを終了したことに応答して、第1記憶ボリューム206により受け取られた更新を第2記憶ボリューム210に同期的に格納620すると共に第2記憶ボリューム210により受け取られた更新を第3記憶ボリューム214に非同期的に格納し、方法600は終了622する。
図8のAから図13までは、本発明の好ましい実施態様に従う改良された同期ミラー・スワップのためのデータシステム200の一実施態様を示す略ブロック図である。図8のAから図13までは、一次記憶ボリュームの故障後に一次記憶ボリュームとして指定されるミラー・データ・ボリュームを達成するべくデータ・システム200を再構成する本発明の好ましい実施態様に従うステップを示す。
図8のAは、第1記憶ボリューム206が故障状態になっている図3に関連して記載されたシステム200を描いている。通例、その故障は、第1記憶ボリューム206と第2記憶ボリューム210との間の接続212に沿っての同期データ・フローを中断させる。主スワップ・モジュール402は、故障を検出した後に第2記憶ボリューム210を一次記憶ボリュームとして指定する(図8のB)。一実施態様では、A−B終了モジュール406は第2記憶ボリューム210における第1記憶ボリューム206との記憶関係を終了させる。この実施態様は、主スワップ・モジュール402が第2記憶ボリューム210を一次記憶ボリュームとして指定することを可能にすると共にホスト202がホスト202と第2記憶ボリューム210との間の接続228を介して第2記憶ボリューム210に更新を送ることを可能にする。
C−A強制フェイルオーバー・モジュール404は、第3記憶ボリューム214において記憶関係を確立するように第3記憶ボリューム214に指令する。フェイルオーバー・コマンドは、第3記憶ボリューム214が第1記憶ボリューム206に更新を送るための第3記憶ボリューム214および第1記憶ボリューム206の間の関係を第3記憶ボリューム214において確立する。通例、この時点では第1記憶ボリューム206は操作可能ではないので、C−A強制フェイルオーバー・モジュールは、第1記憶ボリューム206にコピーされる第3記憶ボリューム214における変更を追跡するためにOOSビットマップ230を作成するように(第3記憶コントローラ220を通して)第3記憶ボリューム214に指令する。
C−A強制フェイルオーバー・モジュール404は、第3記憶ボリューム214から第1記憶ボリューム206への更新を開始するために強制フェイルバック機能を発するように第3記憶コントローラ220に指令する(図9のA参照)。第1記憶ボリューム206が回復すると、更新は第3記憶ボリューム214および第1記憶ボリューム206の間の接続232を介して送られる。通例、該更新は非同期的にコピーされる。一実施態様では、故障中に生じたかもしれない変更を再同期化するために、可能ならば、第1記憶ボリューム206に関連付けられたOOSビットマップ(図示されていない)の内容が得られる。システム200はその後動作し続け、第3記憶ボリューム214が第1記憶ボリューム206を更新している間、ホスト202からの更新が第2記憶ボリューム210に流れ、第2記憶ボリューム210は更新を第3記憶ボリューム214に非同期的に送る。
一実施態様では、第1記憶ボリューム206がほぼ同期化されたとき、第3記憶ボリューム214への更新が終わった後に第2記憶ボリューム210により受け取られる更新を追跡するために変更追跡モジュール408は第2記憶コントローラ211においてインクリメンタル再同期化CRビットマップ234を作成する(図9Bを参照)。ついには、第2記憶ボリューム210に関連付けられているオリジナルのCRビットマップ224上の更新は第2記憶ボリュームのOOSビットマップ226に転送され、オリジナルCRビットマップ224は非アクティブになる(図10のAでは存在しないものとして描かれている)。第2記憶ボリューム210から第3記憶ボリューム214への更新が止むのに備えて、第3記憶コントローラ220によって第4記憶ボリューム218への更新が止められ、第4記憶ボリューム218はエージングし始める。
B−C終了モジュール304は、その後、第2記憶ボリューム210から第3記憶ボリューム214への更新を終了させる(図10のBを参照)。B−C終了モジュール304は、また、第2記憶ボリュームと第3記憶ボリュームの関係を第3記憶ボリューム214から終了させる。第3記憶ボリューム214に関連付けられたOOSビットマップ230がクリアされるまで更新は第1記憶ボリューム206に流れ続ける。第1記憶ボリューム206および第3記憶ボリューム214は、この時点で通例無矛盾である。第3記憶ボリューム214へのからの第1記憶ボリューム206への更新はその後中断させられる(図11Aを参照)。
A−C強制フェイルオーバー・モジュール410は、第3記憶ボリューム214にコピーされる更新を追跡するためにOOSビットマップ236を作成するように第1記憶ボリューム206に指令する(図11のBを参照)。B−A−C記憶モジュール306はフェイルバック・コマンドを発し、第1記憶ボリューム206は第3記憶ボリューム214を非同期的に更新し始める(図11のBを参照)。
B−Aインクリメンタル再同期化モジュール412は、更新を第1記憶ボリューム206に送るために第2記憶ボリューム210において同期記憶関係を確立するように第2記憶ボリューム210に指令する(図12のAを参照)。もし第1記憶ボリューム206が第2記憶ボリューム210との関係を持っていなければ、B−Aインクリメンタル再同期化モジュール412は、更新を第2記憶ボリューム210から受け取る関係を確立するように第1記憶ボリューム206に指令する。一実施態様では、第1記憶ボリューム206にコピーされる更新を追跡するために第2記憶コントローラ211はインクリメンタル再同期化CRビットマップ234の内容を新しいOOSビットマップ238に併合する。他の1つの実施態様では、第2記憶コントローラ211は、インクリメンタル再同期化CRビットマップ234の内容を既存の使用されていないOOSビットマップ226(図12のAには示されていない)に併合する。
第2記憶ボリューム210に関連付けられたOOSビットマップ238の内容がクリアされると、通例第1記憶ボリューム206および第2記憶ボリューム210は無矛盾であり、OOSビットマップ238は非アクティブである(図12Bには存在しないものとして描かれている)。第1記憶ボリューム206においてCRビットマップ240が作成され(あるいは再活動化され)、B−A−C記憶ボリュームは、更新を第3記憶ボリューム214に非同期的に送るように第1記憶ボリューム206に指令する。更新が受け取られると、第3記憶コントローラ220はフラッシュ・コピー・プロセスを用いて第4記憶ボリュームを更新する(図13を参照)。
システム200は、今、データがホスト202から第2記憶ボリューム210へ、同期的に第1記憶ボリューム206へ、非同期的に第3記憶ボリューム214へ流れるカスケード型データ記憶構成をなすように構成されている。更新は第4記憶ボリューム218において時間順に配列される。第1記憶ボリューム206が一次記憶ボリュームであるように望まれる場合には、該プロセスは反復されて一次ボリュームは第2記憶ボリューム210から第1記憶ボリューム206に替えられる。有利なことに、図8のAから図13までに描かれているプロセスは、本書に記載されている方法500,600および装置300,400と共に、第1記憶ボリューム206が再同期化される間第3記憶ボリューム214/第4記憶ボリューム218がほぼ同期状態に保たれる一次ボリュームのスワップおよび復帰を考慮に入れている。さらに、更新はホスト202から第2記憶ボリューム210に、そして第2記憶ボリューム210から第3記憶ボリューム214に流れ続ける。
Aは、一次記憶ボリューム故障の前の代表的な3サイト・データ記憶システムの一実施態様を示す略ブロック図である。Bは、一次記憶ボリューム故障後の代表的な3サイト・データ記憶システムの一実施態様を示す略ブロック図であり、第2記憶ボリュームが一次記憶ボリュームになっている。 Aは、第3記憶ボリュームに対する更新を一時停止している間の第1記憶ボリュームの再同期化を描いた代表的3サイト・データ記憶システムの一実施態様を示す略ブロック図である。Bは、第1記憶ボリュームを一次として再確立し、第2記憶ボリュームに対する同期更新と第3記憶ボリュームに対する非同期更新とを再確立した後の代表的な3サイトデータ記憶システムの一実施態様を示す略ブロック図である。 一次記憶ボリューム故障の前の本発明の好ましい実施態様に従う改良された同期ミラー・スワップのためのデータ・システムの一実施態様を示す略ブロック図である。 本発明の好ましい実施態様に従う改良された同期ミラー・スワップのための装置の一実施態様を示す略ブロック図である。 本発明の好ましい実施態様に従う改良された同期ミラー・スワップのための装置の代わりの実施態様を示す略ブロック図である。 本発明の好ましい実施態様に従う改良された同期ミラー・スワップのための方法の一実施態様を示す略フローチャート図である。 本発明の好ましい実施態様に従う改良された同期ミラー・スワップのための方法の代わりの実施態様を示す略フローチャート図である。 Aは、一次記憶ボリューム故障後の本発明の好ましい実施態様に従う改良された同期ミラー・スワップのためのデータ・システムの一実施態様を示す略ブロック図である。Bは、第2記憶ボリュームが一次記憶ボリュームになる本発明の好ましい実施態様に従う改良された同期ミラー・スワップのためのデータ・システムの一実施態様を示す略ブロック図である。 Aは、第3記憶ボリュームから第1記憶ボリュームに更新を送るために確立されたリンクを伴う本発明の好ましい実施態様に従う改良された同期ミラー・スワップのためのデータ・システムの一実施態様を示す略ブロック図である。Bは、インクリメンタル再同期化変更記録ビットマップを描いた本発明の好ましい実施態様に従う改良された同期ミラー・スワップのためのデータ・システムの一実施態様を示す略ブロック図である。 Aは、第4記憶ボリュームに対する更新の終了を描いた本発明の好ましい実施態様に従う改良された同期ミラー・スワップのためのデータ・システムの一実施態様を示す略ブロック図である。Bは、第2記憶ボリュームから第3記憶ボリュームへの更新の終了を描いた本発明の好ましい実施態様に従う改良された同期ミラー・スワップのためのデータ・システムの一実施態様を示す略ブロック図である。 Aは、第3記憶ボリュームから第1記憶ボリュームへの更新の終了を描いた本発明の好ましい実施態様に従う改良された同期ミラー・スワップのためのデータ・システムの一実施態様を示す略ブロック図である。Bは、第1記憶ボリュームから第3記憶ボリュームに更新を送るための接続を描いた本発明の好ましい実施態様に従う改良された同期ミラー・スワップのためのデータ・システムの一実施態様を示す略ブロック図である。 Aは、第2記憶ボリュームから第3記憶ボリュームに更新を送るための同期接続を描いた本発明の好ましい実施態様に従う改良された同期ミラー・スワップのためのデータ・システムの一実施態様を示す略ブロック図である。Bは、ボリュームが同期化されるのを待つことを描いた本発明の好ましい実施態様に従う改良された同期ミラー・スワップのためのデータ・システムの一実施態様を示す略ブロック図である。 第1記憶ボリューム、第3記憶ボリューム、および第4記憶ボリュームの間の非同期書き込み動作を再確立することを描いた本発明の好ましい実施態様に従う改良された同期ミラー・スワップのためのデータ・システムの一実施態様を示す略ブロック図である。

Claims (15)

  1. 第1記憶ボリュームの故障の前は一次記憶ボリュームとして指定される前記第1記憶ボリュームと、
    前記故障の前は前記第1記憶ボリュームのデータの同期ミラー・コピーを含む第2記憶ボリュームと、
    前記故障の前は前記第2記憶ボリュームのデータの非同期ミラー・コピーを含む第3記憶ボリュームとを含むシステムに用いられるコンピュータ・プログラムであって、前記コンピュータ・プログラムは、同期ミラーを一次記憶ボリュームとして活動化するようにプログラムされたコンピュータ実行可能なプログラム・コードを有するコンピュータ可読媒体を含み、
    前記システムに、
    前記第1記憶ボリュームが前記故障後に操作可能になったことに応答して、前記第2記憶ボリュームから前記第3記憶ボリュームに送られた更新を前記第1記憶ボリュームに格納するように前記第3記憶ボリュームに指令することと、
    前記第1記憶ボリュームが前記第3記憶ボリュームと実質的に無矛盾になったことに応答して、前記第2記憶ボリュームから前記第3記憶ボリュームに更新を送ることを終了させることと、
    前記第1記憶ボリュームと前記第3記憶ボリュームとが実質的に無矛盾になった後に更新を前記第2記憶ボリュームから前記第3記憶ボリュームに送ることを終了したことに応答して、前記第2記憶ボリュームにより受け取られた更新を前記第1記憶ボリュームに同期的に格納しかつ前記第1記憶ボリュームにより受け取られた更新を前記第3記憶ボリュームに非同期的に格納することを実行させる、
    コンピュータ・プログラム
  2. 前記第1記憶ボリュームにおける前記故障を検出したことに応答して前記第2記憶ボリュームを一次記憶ボリュームとして指定することをさらに含み、前記第1記憶ボリュームは前記一次記憶ボリュームとして指定され、前記第2記憶ボリュームは前記第1記憶ボリュームのデータの同期ミラー・コピーを含み、前記第3記憶ボリュームは前記故障の前は前記第2記憶ボリュームのデータの非同期ミラー・コピーを含む、請求項1に記載のコンピュータ・プログラム
  3. 前記第2記憶ボリュームにおいて記憶関係を終了させることをさらに含み、前記記憶関係は、前記第2記憶ボリュームが前記第1記憶ボリュームからのデータを同期的に格納するために使う情報を含む、請求項2に記載のコンピュータ・プログラム
  4. 前記第2記憶ボリュームにより受け取られた更新を前記第1記憶ボリュームに同期的に格納しかつ前記第1記憶ボリュームにより受け取られた更新を前記第3記憶ボリュームに非同期的に格納することに応答して前記第1記憶ボリュームを前記一次記憶ボリュームとして指定することと、
    前記第1記憶ボリュームが前記一次記憶ボリュームとして指定されたことに応答して、前記第1記憶ボリュームから前記第3記憶ボリュームに送られた更新を前記第2記憶ボリュームに格納するように前記第3記憶ボリュームに指令することと、
    前記第2記憶ボリュームが前記第3記憶ボリュームと実質的に無矛盾になったことに応答して、前記第1記憶ボリュームから前記第3記憶ボリュームに更新を送ることを終了させることと、
    更新を前記第1記憶ボリュームから前記第3記憶ボリュームに送ることを終了したことに応答して、前記第1記憶ボリュームにより受け取られた更新を前記第2記憶ボリュームに同期的に格納しかつ前記第2記憶ボリュームにより受け取られた更新を前記第3記憶ボリュームに非同期的に格納することと、
    をさらに含む、請求項2に記載のコンピュータ・プログラム
  5. 前記第2記憶ボリュームから前記第3記憶ボリュームに送られた更新を前記第1記憶ボリュームに格納するように前記第3記憶ボリュームに指令することは、記憶関係を作成すると共に、その後に前記第3記憶ボリュームにより受け取られた更新を追跡するように前記第3記憶ボリュームに指令することをさらに含み、前記記憶関係は、更新を前記第1記憶ボリュームに非同期的に格納するために前記第3記憶ボリュームが使う情報を含む、請求項1に記載のコンピュータ・プログラム
  6. 前記第2記憶ボリュームから前記第3記憶ボリュームに更新を送ることを終了させることは、
    a) 前記第2記憶ボリュームおよび前記第3記憶ボリュームから記憶関係を除去することであって、前記記憶関係が、前記第3記憶ボリュームにデータを格納するために前記第2記憶ボリュームが使う情報を含むことと、
    b) 前記第2記憶ボリュームから前記第3記憶ボリュームに更新を送ることの終了の後に前記第2記憶ボリュームにより受け取られた更新を追跡することと、
    のうちの一方をさらに含む、請求項1に記載のコンピュータ・プログラム
  7. 前記第3記憶ボリュームに更新を非同期的に格納することはフラッシュ・コピー・プロセスを用いて前記第3記憶ボリュームから第4記憶ボリュームを更新することをさらに含み、更新は前記第4記憶ボリュームにおいて時間順に編成される、請求項1に記載のコンピュータ・プログラム
  8. 前記第2記憶ボリュームにより受け取られた更新を前記第1記憶ボリュームに同期的に格納することは、前記第2記憶ボリュームにおいて記憶関係を作成するように前記第2記憶ボリュームに指令することをさらに含み、前記記憶関係は、データを前記第1記憶ボリュームに同期的に格納するために前記第2記憶ボリュームが使う情報を含む、請求項1に記載のコンピュータ・プログラム
  9. 同期ミラーを一次記憶ボリュームとして活動化する装置であって、
    第1記憶ボリュームにおける故障を検出したことに応答して第2記憶ボリュームを一次記憶ボリュームとして指定するように構成された主スワップ・モジュールであって、前記第1記憶ボリュームが前記一次記憶ボリュームとして指定され、前記第2記憶ボリュームが前記第1記憶ボリュームのデータの同期ミラー・コピーを含み、第3記憶ボリュームが前記故障の前は前記第2記憶ボリュームのデータの非同期ミラー・コピーを含む主スワップ・モジュールと、
    前記第1記憶ボリュームが前記故障後に操作可能になったことに応答して、前記第2記憶ボリュームから前記第3記憶ボリュームに送られた更新を前記第1記憶ボリュームに格納するように前記第3記憶ボリュームに指令するように構成されたC−Aフェイルバック・モジュールと、
    前記第1記憶ボリュームが前記第3記憶ボリュームと実質的に無矛盾になったことに応答して、更新を前記第2記憶ボリュームから前記第3記憶ボリュームに送ることを終了させるように構成されたB−C終了モジュールと、
    前記B−C終了モジュールが更新を前記第2記憶ボリュームから前記第3記憶ボリュームに送ることを終了させたことに応答して、前記第2記憶ボリュームにより受け取られた更新を前記第1記憶ボリュームに同期的に格納すると共に前記第1記憶ボリュームにより受け取られた更新を前記第3記憶ボリュームに非同期的に格納するように構成されたB−A−C記憶モジュールと、
    を含む装置。
  10. 記憶関係を作成すると共に、前記記憶関係の作成の後に前記第3記憶ボリュームにより受け取られた更新を追跡するように前記第3記憶ボリュームに指令するように構成されたC−A強制フェイルオーバー・モジュールをさらに含み、前記記憶関係は、更新を前記第1記憶ボリュームに非同期的に格納するために前記第3記憶ボリュームが使う情報を含む、請求項9に記載の装置。
  11. 前記主スワップ・モジュールは、前記第1記憶ボリュームにおける故障を検出して前記第2記憶ボリュームを一次記憶ボリュームとしたことに応答して、前記第2記憶ボリュームにおいて、また前記第3記憶ボリュームにおいて記憶関係を終了させるように構成されたA−B終了モジュールをさらに含み、前記記憶関係は、前記第1記憶ボリュームからのデータを同期的に格納するために前記第2記憶ボリュームが使う情報を含む、請求項9に記載の装置。
  12. 前記B−C終了モジュールは、前記第2記憶ボリュームから記憶関係を除去するようにさらに構成され、前記記憶関係は、データを前記第3記憶ボリュームに格納するために前記第2記憶ボリュームが使う情報を含む、請求項9に記載の装置。
  13. 前記B−C終了モジュールは、前記第2記憶ボリュームから前記第3記憶ボリュームに更新を送ることを終了した後に前記第2記憶ボリュームにより受け取られた更新を追跡するように構成された変更追跡モジュールをさらに含む、請求項9に記載の装置。
  14. 第4記憶ボリュームをさらに含み、前記第3記憶ボリュームは、フラッシュ・コピー・プロセスを用いて前記第4記憶ボリュームに更新を格納するように構成され、前記更新は、前記第4記憶ボリュームにおいて時間順に編成される、請求項9に記載の装置。
  15. 前記B−A−C記憶モジュールは、
    前記第3記憶ボリュームにコピーされるべき前記第1記憶ボリュームにより受け取られた更新を追跡するように前記第1記憶ボリュームに指令するように構成されたA−C追跡モジュールと、
    前記第2記憶ボリュームにおいて記憶関係を作成するように前記第2記憶ボリュームに指令するように構成されたB−Aインクリメンタル再同期化モジュールとのうちの1つをさらに含み、前記記憶関係は、データを前記第1記憶ボリュームに同期的に格納するために前記第2記憶ボリュームが使う情報を含む、請求項9に記載の装置。
JP2009527096A 2006-09-07 2007-08-22 改良された同期データ・ミラー・スワップのための装置、システム、および方法 Active JP4870816B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/470,970 2006-09-07
US11/470,970 US7627729B2 (en) 2006-09-07 2006-09-07 Apparatus, system, and method for an improved synchronous mirror swap
PCT/EP2007/058712 WO2008028803A2 (en) 2006-09-07 2007-08-22 Apparatus, system, and method for an improved synchronous data mirror swap

Publications (2)

Publication Number Publication Date
JP2010503089A JP2010503089A (ja) 2010-01-28
JP4870816B2 true JP4870816B2 (ja) 2012-02-08

Family

ID=38951439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009527096A Active JP4870816B2 (ja) 2006-09-07 2007-08-22 改良された同期データ・ミラー・スワップのための装置、システム、および方法

Country Status (8)

Country Link
US (1) US7627729B2 (ja)
EP (1) EP2078254B1 (ja)
JP (1) JP4870816B2 (ja)
CN (1) CN101512495B (ja)
AT (1) ATE452368T1 (ja)
DE (1) DE602007003862D1 (ja)
TW (1) TW200825739A (ja)
WO (1) WO2008028803A2 (ja)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005309550A (ja) 2004-04-19 2005-11-04 Hitachi Ltd リモートコピー方法及びリモートコピーシステム
US7437601B1 (en) * 2005-03-08 2008-10-14 Network Appliance, Inc. Method and system for re-synchronizing an asynchronous mirror without data loss
JP4887893B2 (ja) * 2006-04-26 2012-02-29 株式会社日立製作所 計算機システム及び計算機システムの制御方法
US7793148B2 (en) * 2007-01-12 2010-09-07 International Business Machines Corporation Using virtual copies in a failover and failback environment
US8161254B2 (en) * 2008-06-02 2012-04-17 Syncsort Incorporated Method for creating consistent backup image of a storage volume without requiring a snapshot
US8615678B1 (en) * 2008-06-30 2013-12-24 Emc Corporation Auto-adapting multi-tier cache
JP5147570B2 (ja) 2008-07-02 2013-02-20 株式会社日立製作所 ストレージシステム及びリモートコピー復旧方法
JP5422147B2 (ja) 2008-07-08 2014-02-19 株式会社日立製作所 リモートコピーシステム及びリモートコピー方法
ES2575155T3 (es) * 2008-08-08 2016-06-24 Amazon Technologies, Inc. Suministro de programas de ejecución con acceso fiable al almacenamiento de datos a nivel de bloque no local
US8019732B2 (en) 2008-08-08 2011-09-13 Amazon Technologies, Inc. Managing access of multiple executing programs to non-local block data storage
US8214685B2 (en) * 2008-10-31 2012-07-03 Hewlett-Packard Development Company, L.P. Recovering from a backup copy of data in a multi-site storage system
JP5035230B2 (ja) * 2008-12-22 2012-09-26 富士通株式会社 ディスク搭載機構及びストレージ装置
TWI414992B (zh) * 2009-01-23 2013-11-11 Infortrend Technology Inc 遠端非同步資料卷複製的方法及其裝置
US8127128B2 (en) * 2009-05-04 2012-02-28 International Business Machines Corporation Synchronization of swappable module in modular system
KR20100120397A (ko) * 2009-05-06 2010-11-16 주식회사 히타치엘지 데이터 스토리지 코리아 선택적 미러 방법
CN101587453B (zh) * 2009-06-18 2012-01-04 成都市华为赛门铁克科技有限公司 数据备份处理方法、数据存储节点设备及数据存储装置
US8095617B2 (en) * 2009-06-30 2012-01-10 Oracle America Inc. Caching data in a cluster computing system which avoids false-sharing conflicts
US8683154B2 (en) 2010-06-17 2014-03-25 Hitachi, Ltd. Computer system and system control method
JP5424992B2 (ja) * 2010-06-17 2014-02-26 株式会社日立製作所 計算機システム、及びシステム制御方法
US8392369B2 (en) 2010-09-10 2013-03-05 Microsoft Corporation File-backed in-memory structured storage for service synchronization
US8706946B2 (en) 2011-02-11 2014-04-22 International Business Machines Corporation Extender storage pool system
US8751762B2 (en) * 2011-03-30 2014-06-10 International Business Machines Corporation Prevention of overlay of production data by point in time copy operations in a host based asynchronous mirroring environment
US8788877B2 (en) * 2011-08-03 2014-07-22 International Business Machines Corporation Acquiring a storage system into copy services management software
US8806268B2 (en) 2011-09-29 2014-08-12 International Business Machines Corporation Communication of conditions at a primary storage controller to a host
US8909985B2 (en) 2012-07-12 2014-12-09 International Business Machines Corporation Multiple hyperswap replication sessions
JP5949408B2 (ja) * 2012-10-02 2016-07-06 富士通株式会社 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
US9075762B2 (en) 2013-01-04 2015-07-07 International Business Machines Corporation Setting copy permissions for target data in a copy relationship
US9678673B2 (en) 2013-03-28 2017-06-13 Hewlett Packard Enterprise Development Lp Coordinating replication of data stored in a non-volatile memory-based system
US9405628B2 (en) 2013-09-23 2016-08-02 International Business Machines Corporation Data migration using multi-storage volume swap
CN103501337B (zh) * 2013-09-29 2017-05-10 北大医疗信息技术有限公司 多级数据节点更新同步系统和方法
US9619331B2 (en) 2014-01-18 2017-04-11 International Business Machines Corporation Storage unit replacement using point-in-time snap copy
US9720786B2 (en) 2014-04-22 2017-08-01 International Business Machines Corporation Resolving failed mirrored point-in-time copies with minimum disruption
US10133643B2 (en) 2015-05-05 2018-11-20 International Business Machines Corporation Resynchronizing to a first storage system after a failover to a second storage system mirroring the first storage system
CN104991520B (zh) * 2015-05-25 2018-01-19 南京南瑞继保电气有限公司 一种镜像配置方法及装置
CN105159794A (zh) * 2015-08-18 2015-12-16 浪潮(北京)电子信息产业有限公司 镜像实现系统和方法
US10013324B2 (en) 2015-12-04 2018-07-03 International Business Machines Corporation Data recovery in multi-target data storage networks
US10545990B2 (en) * 2016-03-31 2020-01-28 Veritas Technologies Llc Replication between heterogeneous storage systems
US9891849B2 (en) * 2016-04-14 2018-02-13 International Business Machines Corporation Accelerated recovery in data replication environments
US11474707B2 (en) 2016-06-03 2022-10-18 International Business Machines Corporation Data loss recovery in a secondary storage controller from a primary storage controller
US9946617B2 (en) 2016-06-06 2018-04-17 International Business Machines Corporation Optimized recovery in data replication environments
US10365852B2 (en) * 2016-07-29 2019-07-30 Vmware, Inc. Resumable replica resynchronization
US10437730B2 (en) 2016-08-22 2019-10-08 International Business Machines Corporation Read cache synchronization in data replication environments
US10572357B2 (en) 2017-03-29 2020-02-25 International Business Machines Corporation Switching over from using a first primary storage to using a second primary storage when the first primary storage is in a mirror relationship
US10712953B2 (en) * 2017-12-13 2020-07-14 International Business Machines Corporation Management of a data written via a bus interface to a storage controller during remote copy operations
CN110609822B (zh) * 2018-06-15 2023-02-28 伊姆西Ip控股有限责任公司 数据流处理方法、设备和计算机程序产品
US10705754B2 (en) * 2018-06-22 2020-07-07 International Business Machines Corporation Zero-data loss recovery for active-active sites configurations
US11099942B2 (en) 2019-03-21 2021-08-24 International Business Machines Corporation Archival to cloud storage while performing remote backup of data
US11573930B2 (en) * 2019-06-03 2023-02-07 Zuora, Inc. Self-healing data synchronization
CN110515778B (zh) * 2019-08-30 2020-11-24 星辰天合(北京)数据科技有限公司 基于共享逻辑卷的数据保护的方法、装置和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122509A (ja) * 2001-08-08 2003-04-25 Hitachi Ltd リモートコピー制御方法、これを用いた記憶サブシステム、及び、これらを用いた広域データストレージシステム
US20040260899A1 (en) * 2003-06-18 2004-12-23 Kern Robert Frederic Method, system, and program for handling a failover to a remote storage location
US20050081091A1 (en) * 2003-09-29 2005-04-14 International Business Machines (Ibm) Corporation Method, system and article of manufacture for recovery from a failure in a cascading PPRC system
JP2005317017A (ja) * 2004-04-28 2005-11-10 Internatl Business Mach Corp <Ibm> アプライアンス・ベースの業務継続アーキテクチャにおけるバックアップ・システム障害後の再同期時間の最短化

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7152078B2 (en) 2001-12-27 2006-12-19 Hitachi, Ltd. Systems, methods and computer program products for backup and restoring storage volumes in a storage area network
US7149919B2 (en) 2003-05-15 2006-12-12 Hewlett-Packard Development Company, L.P. Disaster recovery system with cascaded resynchronization
US7383463B2 (en) 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
JP4575059B2 (ja) * 2004-07-21 2010-11-04 株式会社日立製作所 ストレージ装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122509A (ja) * 2001-08-08 2003-04-25 Hitachi Ltd リモートコピー制御方法、これを用いた記憶サブシステム、及び、これらを用いた広域データストレージシステム
US20040260899A1 (en) * 2003-06-18 2004-12-23 Kern Robert Frederic Method, system, and program for handling a failover to a remote storage location
US20050081091A1 (en) * 2003-09-29 2005-04-14 International Business Machines (Ibm) Corporation Method, system and article of manufacture for recovery from a failure in a cascading PPRC system
JP2005317017A (ja) * 2004-04-28 2005-11-10 Internatl Business Mach Corp <Ibm> アプライアンス・ベースの業務継続アーキテクチャにおけるバックアップ・システム障害後の再同期時間の最短化

Also Published As

Publication number Publication date
CN101512495B (zh) 2011-10-12
DE602007003862D1 (de) 2010-01-28
EP2078254B1 (en) 2009-12-16
CN101512495A (zh) 2009-08-19
JP2010503089A (ja) 2010-01-28
WO2008028803A3 (en) 2008-07-10
ATE452368T1 (de) 2010-01-15
TW200825739A (en) 2008-06-16
WO2008028803B1 (en) 2008-08-28
EP2078254A2 (en) 2009-07-15
WO2008028803A2 (en) 2008-03-13
US20080065843A1 (en) 2008-03-13
US7627729B2 (en) 2009-12-01

Similar Documents

Publication Publication Date Title
JP4870816B2 (ja) 改良された同期データ・ミラー・スワップのための装置、システム、および方法
JP5182824B2 (ja) 1次サイトと2次サイトとの間でデータを同期化するための方法、システム、及びコンピュータ・プログラム
JP2576847B2 (ja) 記憶制御装置及び関連する方法
US10146472B2 (en) Tertiary storage unit management in bidirectional data copying
US7818522B2 (en) Apparatus, system, and method for incremental resynchronization in a data storage system
JP3968207B2 (ja) データ多重化方法およびデータ多重化システム
US7287181B2 (en) Mirrored volume replication method, apparatus, and system
US6035412A (en) RDF-based and MMF-based backups
US7577867B2 (en) Cross tagging to data for consistent recovery
US6728898B2 (en) Producing a mirrored copy using incremental-divergence
US7441148B2 (en) Method and apparatus for volume replication management at planned and unplanned link down
US7197614B2 (en) Method and apparatus for mirroring data stored in a mass storage system
JP2007310701A (ja) データベースシステム、ストレージ装置、初期コピー方法及びログ適用方法
US6073221A (en) Synchronization of shared data stores through use of non-empty track copy procedure
US7979396B1 (en) System and method for performing consistent resynchronization between synchronized copies
JP2002297456A (ja) バックアップ処理方法及びその実施システム並びにその処理プログラム
US7260739B2 (en) Method, apparatus and program storage device for allowing continuous availability of data during volume set failures in a mirrored environment
US10078558B2 (en) Database system control method and database system
JP2013030047A (ja) 制御装置、制御方法およびストレージ装置
JP4721057B2 (ja) データ管理システム,データ管理方法及びデータ管理用プログラム
JP2005352831A (ja) サイト間でデータをミラーリングする方法、システム、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100426

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20110713

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20110721

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111011

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111117

R150 Certificate of patent or registration of utility model

Ref document number: 4870816

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3