JP4275771B2 - ミラー化ライトバックキャッシュモジュールのウォームスワップ - Google Patents
ミラー化ライトバックキャッシュモジュールのウォームスワップ Download PDFInfo
- Publication number
- JP4275771B2 JP4275771B2 JP18020198A JP18020198A JP4275771B2 JP 4275771 B2 JP4275771 B2 JP 4275771B2 JP 18020198 A JP18020198 A JP 18020198A JP 18020198 A JP18020198 A JP 18020198A JP 4275771 B2 JP4275771 B2 JP 4275771B2
- Authority
- JP
- Japan
- Prior art keywords
- cache
- write
- module
- mirrored
- cache system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error 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/2053—Error 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/2056—Error 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/2082—Data synchronisation
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/70—Masking faults in memories by using spares or by reconfiguring
- G11C29/74—Masking faults in memories by using spares or by reconfiguring using duplex memories, i.e. using dual copies
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の属する技術分野】
本発明は、ミラー化キャッシュシステムのキャッシュモジュールのウォームスワップに関する。より特定すると、本発明は、ミラー化キャッシュシステムを作動し続けながら、メモリモジュールを取り替えることに関する。
1997年6月に出願されたヨーロッパ出願番号97110131.6の特許出願は、本出願と共に出願されて、現在、特許出願中の、本出願人に譲渡された特許出願であり、本発明で使用されるミラー化ライトバックキャッシュシステムについて記載している。
【0002】
【従来の技術】
これまでの所、記憶装置システムの単一モジュールの故障の修復中、記憶装置システムは、動作を続けるように設計されてきた。周辺記憶装置システムでは、システムはホットスワップが可能であるように設計されてきた。ホットスワップでは、例えば、記憶装置システムによる準備動作なしに、ディスクドライブを引き出して取り替えることができる。メモリ記憶装置システムでは、ごく一般的には、ウォームスワッププロシジャーに従う。ウォームスワップでは、モジュール取り替え中、記憶装置システムは動作を維持するが、記憶装置システムにモジュールの取り替えを準備させるために、所定のプロシジャーが呼び出される。実質的に、記憶装置システムは静止され(動作能力の低い状態に置かれる)、故障のモジュールは取り替えられ、記憶装置システムは完全な動作能力に戻される。
【0003】
ミラー化キャッシュシステム、特に、ミラー化ライトバックキャッシュシステムの出現で、システムの構成部品もしくはモジュールを取り替えている間、キャッシュ記憶装置システムの動作を維持するために、新しい問題が発生した。ミラー化キャッシュシステムでは、キャッシュのデータは、別個のメモリモジュールに二重化される。従って、キャッシュメモリアクセス時間の性能を殆どもしくは全く劣化せずに、1つのメモリモジュールを取り替えることができる筈である。しかしながら、不良のメモリモジュールをスワップしている間、良好なメモリモジュールのデータを保護する際に、問題が生じる。更に、一度、不良のメモリモジュールを取り替えたならば、新しいメモリモジュールを良好なメモリモジュールと同一レベルのデータの保全性に戻して、ミラー化キャッシュシステムを効果的に修復しなければならない。
【0004】
【発明が解決しようとする課題】
本発明の概要は、請求項1に記載されているような、良好なキャッシュモジュールを作動し続けながら、故障のキャッシュメモリモジュールを取り替えるウォームスワップ方法である。
【0005】
【課題を解決するための手段】
好ましい実施例を参照して以降に説明するように、キャッシュシステムのミラー化書き込み動作を不能にし、キャッシュシステムの代わりのメモリモジュールをテストし、キャッシュシステムのミラー化データを復元することによって、ミラー化キャッシュシステムのモジュールを取り替える際の上記した従来技術の問題を解決した。不揮発性データ記憶装置にバックアップされていないキャッシュシステムにデータを書き込むことを停止するために、書き込み動作を最初に静止することによって、復元する動作を実現する。それから、残存するメモリモジュールから代わりのモジュールへデータを複写し、そして、残存するメモリモジュールと代わりのメモリモジュールの協調インタラクションを確認する。確認する動作は、キャッシュモジュールが作動可能であり、そして、コントローラが同期していることを確認する。確認の後、静止されていた書き込み動作の静止を解放して、キャッシュシステムのミラー化書き込み動作を可能にする。
【0006】
キャッシュシステムの回復の間、ライトバック動作からライトスルー動作へ、キャッシュシステムへの書き込み動作を切り替えることによって、ライトバックを不能にするのが好ましい。ライトスルー動作では、全てのキャッシュ書き込み動作が不揮発性記憶装置にも書き込まれる。
有利なことに、本発明の別の実施例では、キャッシュシステムは、2つのキャッシュモジュール及び2つのコントローラを有し、各々のキャッシュモジュールは、4分割の記憶領域の内の2つを有しているので、ミラー化書き込み動作は、1方のキャッシュモジュールの4分割の記憶領域の1つと他方のキャッシュモジュールの対の4分割の記憶領域の1つに、同一のデータを書き込む。ミラー化書き込み動作を不能にし、そして、良好なキャッシュへの書き込みだけを可能にすることによって、キャッシュシステムを回復させる方法は開始する。残存する良好なキャッシュモジュールへの書き込みを続けながら、故障のキャッシュモジュールを新しいキャッシュモジュールと取り替える。新しいキャッシュモジュールをキャッシュシステムでテストし、そして、ミラー化書き込み動作を、残存する良好なキャッシュモジュールと新しいキャッシュモジュールの両方に復元する。システムの回復の間、ライトバック動作を不能にし、ライトスルー動作を可能にする。RAID(高価でないディスクの冗長なアレイ−redundant array of independent disks)書き込み動作を静止して、不揮発性記憶装置にバックアップされていないキャッシュシステムへのデータの書き込みを防ぐ。良好なキャッシュモジュールの4分割の記憶領域の両方からのメタデータを、新しいキャッシュモジュールの割り当てられた対の4分割の記憶領域に複写する。全ての4分割の記憶領域が正しく作動し、コントローラが同期することを確認した後、ライトバック及びRAID書き込み動作を可能にし、復元されたキャッシュシステムへのミラー化書き込み動作を可能にする。
【0007】
変更を加えた実施例では、良好なキャッシュモジュールから新しいキャッシュモジュールへのデータ複写、静止された書き込み動作の解放、ミラー化書き込み動作を可能にすることは全て、良好なキャッシュモジュールの各ボリュームのデータに対して逐次実施される。
本発明のウォームスワップ方法の大きな利点及び有用性は、本発明を用いるキャッシュシステムの驚くべき信頼性である。もし、キャッシュシステムを回復させている間、そのキャッシュシステムがライトバックモードで動作を続けるならば、モジュール取り替え中、ユーザーは、そのキャッシュシステムの性能の変化に殆ど気付かない。
【0008】
【発明の実施の形態】
添付図に関連する好ましい実施例の以下の説明から、本発明は、より詳細に理解されるであろう。
本発明の動作の好ましい実施例は、上記に相互参照した関連の出願で説明されているようなミラー化ライトバックキャッシュシステムで機能する。本発明の好ましい実施例の理解を容易にするために、「ライトバックキャッシュシステム」という見出しの文章の中で、ミラー化ライトバックキャッシュシステムを以下に簡単に説明する。このキャッシュシステムのより完全な理解のために、相互参照された関連のヨーロッパ出願を参照する。以降の「キャッシュモジュールのウォームスワップ」という見出しの文章の中で、本発明の更なる論理的な動作の好ましい実施例を説明する。
【0009】
ミラー化ライトバックキャッシュシステム
本発明の好ましい実施例が機能するミラー化ライトバックキャッシュシステムの構成及び動作を図1に示す。図1は、二重化コントローラを有するミラー書き込み動作を示す。コントローラ20と22及びキャッシュAモジュール21とキャッシュBモジュール23は、これらの構成要素の各々間の接続と共に、互いに左右対称な像である。この二重化コントローラキャッシュシステムの動作の理解を助けるために、本文では、コントローラ20を「本」コントローラと称し、コントローラ22を「他の」コントローラと称する。
本コントローラ20及び他のコントローラ22は、メッセージリンク25及び様々なコントロールラインを介して互いに共に動作する。コントロールライン27は、ハードリセットもしくはキルラインであり、それによって、コントローラ20もしくはコントローラ22は、他方のコントローラをハードリセットもしくはキルすることができる。コントロールライン29、31、33、35は、キャッシュAモジュール21及びキャッシュBモジュール23の動作をロックするロックラインである。コントロールライン29は、本コントローラがキャッシュAモジュールをロックする(TLA)コントロールラインである。コントロールライン29上の信号が高、すなわち2進の1の状態である時、これが発生する。同様に、コンロトールライン31はTLBラインである。すなわち、本コントローラがキャッシュBモジュールをロックするコントロールラインである。コントロールライン33はOLA、すなわち他のコントローラがキャッシュAモジュールをロックするコントロールラインである。最後に、コントロールライン35はOLB、すなわち他のコントローラがキャッシュBモジュールをロックするコントロールラインである。図1に示されるように、通常のミラー書き込み動作では、これらのコントロールライン29、31、33、35は全て高すなわち2進の1の状態である。
【0010】
コントローラ20及び22とキャッシュモジュール21及び23との間にもそれぞれコントロールラインがある。コントロールライン41は、本コントローラ20とキャッシュAモジュール21及びキャッシュBモジュール23との間で、要求、肯定応答、読み出し/書き込み状態、同期信号を渡す。同様に、コントロールライン43は、他のコントローラ22とキャッシュAモジュール21及びキャッシュBモジュール23との間で、要求、肯定応答、読み出し/書き込み状態、同期信号を渡す。アドレスデータバス40は、本コントローラ20からキャッシュAモジュール21及びキャッシュBモジュール23へ、アドレスを渡し、続いてデータワードを渡す。同様に、アドレスデータバス45は、他のコントローラ22からキャッシュBモジュール23及びキャッシュAモジュール21へアドレス及びデータワードを渡す。
【0011】
キャッシュモジュール21及び23の各々では、アドレス/データバス40及び45とキャッシュモジュールの4分割の記憶領域との間にスイッチがある。キャッシュAモジュール21では、スイッチ47は、アドレス/データバス40を4分割の記憶領域Q0へ振り向け、アドレス/データバス45を4分割の記憶領域Q1へ振り向ける。TLA及びTLBロック信号によって、スイッチ47を制御する。ミラー書き込み動作では、これらのロック信号はどちらも高、すなわち2進の1の状態である。
OLA及びOLBコントロールライン33及び35からの2進の1である入力によって、キャッシュBモジュール23のスイッチ49もまたミラー書き込み状態にある。従って、スイッチ49は、アドレス/データバス45を4分割の記憶領域Q2へ接続し、アドレス/データバス40を4分割の記憶領域Q3へ接続する。
【0012】
図1のミラー書き込みの通常の動作中、本コントローラー20は、キャッシュAモジュール21の4分割の記憶領域Q0及びキャッシュBモジュール23の4分割の記憶領域Q3へ同時に書き込んでいる。同様に、ミラー書き込み動作中の他のコントローラ22は、キャッシュAモジュール21の4分割の記憶領域Q1及びキャッシュBモジュール23の4分割の記憶領域Q2へ書き込んでいる。本コントローラ20及び他のコントローラ22の両方において、この書き込み動作の最上位のアドレスの16進数字は6であるように事前に決められている。従って、本コントローラもしくは他のコントローラに対する6XXX XXXXのアドレスは、ミラー書き込みを実施するための信号である。本コントローラの場合には、ミラー書き込みは、4分割の記憶領域Q0及びQ3に対してであり、他のコントローラの場合には、ミラー書き込みは、4分割の記憶領域Q1及びQ2に対してである。
【0013】
キャッシュモジュールのウォームスワップ
初めに要約したように、本発明の1つの目的は、図1に示されるようなミラーキャッシュシステムのキャッシュモジュール故障からの回復を提供し、システムを修復している間、ミラーキャッシュシステムの性能の劣化を最小限にするように回復させることである。キャッシュAモジュール21もしくはキャッシュBモジュール23が故障すると、本コントローラ20及び他のコントローラ22は、残存する良好なキャッシュモジュールの残存する1つの良好な複写データについて動作を続ける。例えば、もし、キャッシュBモジュール23が故障したならば、本コントローラ20は、キャッシュAモジュール21の4分割の記憶領域Q0の良好なデータで動作し、他のコントローラ22は、キャッシュAモジュール21の4分割の記憶領域Q1の良好なデータで動作する。
【0014】
図2に、本発明のウォームスワップ動作の好ましい実施例を示す。単一のコントローラで、ウォームスワップ動作を実施することができる。もしくは、両方のコントローラで、ウォームスワップ動作を分担することができる。もし、両方のコントローラがウォームスワップ動作の実行を分担しているならば、コントローラはそれらの動作を同期させなければならない。
ユーザーがウォームスワップを開始すると、図2の最初の動作50は、ミラー化ライトバックキャッシュシステムのライトバック動作を不能にすることである。実質的に、キャッシュシステムはライトスルー動作に切り替える。ライトスルー動作では、キャッシュにデータを書き込む度に、不揮発性記憶装置にもデータをライトスルーする。これは、良好なキャッシュモジュールから全ての不正なデータを効率的にフラッシュする。
【0015】
不正なデータとは、不揮発性記憶装置に書き込まれていないキャッシュのデータである。ライトバックモードの動作中、しばらくするまで、データは不揮発性記憶装置に書き込まれない。両方のキャッシュモジュールが動作している時、二重複写の不正データが別個のキャッシュモジュールに存在する。キャッシュシステムへの電源は、バッテリーでバックアップされる。両方のキャッシュモジュールが同時に故障する可能性は非常に少ない(キャッシュの平均故障間隔は1兆時間である。)。従って、不正なデータは、不揮発性記憶装置にある場合と同様にキャッシュにおいても良く保護される。
ウォームスワップの中で、ライトバックを不能にする動作50は任意である。一つの良好なキャッシュモジュールのみであっても、ユーザーは今までどおりにライトバックモードの動作を続けることを選ぶことができる。これによって、キャッシュシステムは、通常動作と実質的に変わらない高レベルの性能で動作し続ける。不良のキャッシュモジュールを取り替えている間に、良好なキャッシュモジュールが故障する可能性は上記のように少ない。従って、ユーザーは、性能レベルを維持して、万が一、ウォームスワップ中に良好なキャッシュモジュールが故障した場合には、データを失う非常に低い危険を認めるような選択権を有する。最も保存性の高いアプローチは、ウォームスワップの間、ライトバックモードを不能にすることである。
【0016】
不能にする動作52では、キャッシュシステムのミラー化書き込み動作を不能にする。この例では、キャッシュBモジュールは故障してしまっているので、信頼性の高い複写データをキャッシュBモジュールに書き込むことはできない。従って、ミラー化書き込み動作を不能にする。キャッシュBモジュールはもはや使用されておらず、取り替え可能である。動作54では、キャッシュBモジュールを新しいキャッシュBモジュールと取り替える。
テスト動作56は、故障したキャッシュBモジュールの代わりに設置された新しいキャッシュモジュールについて診断テストを実施する。テスト動作56は、新しいキャッシュBモジュールの正しい動作を確認し、特に、キャッシュインターフェース、メモリコントロールチップ、良好なメモリの機能を確認する。上記に相互参照した関連の出願で説明されているように、そのテストはまたミラー化書き込みのアクセスを可能にするロック信号をつくる。最後に、復元する動作58は、新しいキャッシュモジュールのミラー化データを復元し、コントローラを再度同期させ、ミラー化書き込みを可能にする。ミラー化ライトバックキャッシュシステムは修復され、システムの動作は修復される。ミラー化ライトバックキャッシュシステムは完全な動作を再開する。
【0017】
図3では、図2の復元する動作58をより詳細に示す。復元する動作は、ライトバックが不能かどうかを検知する判定動作59で始まる。もし、ライトバックが不能でないならば、静止する動作60は、良好なキャッシュモジュール(キャッシュA)に直接データをつくり得る書き込み動作を全て静止する。不正なデータをつくり得る書き込み動作は、RAIDシステムでの書き込み動作もしくは全てのライトバックモードでの書き込み動作を含む。もし、ライトバックモードが不能であったならば、動作61はRAID書き込み動作のみを静止する。新しいキャッシュモジュールを復元している間、書き込み動作をバッファに入れるか、もしくはホールドするようにホストに命令することによって、書き込み動作の静止を実施する。
【0018】
不正データを新しいモジュールに複写し、それによって、二重化して、それの損失を防がなければならない。復元動作の間に、良好なモジュールから新しいモジュールへ全ての不正データを複写する。従って、復元中のキャッシュモジュール間の複写の量を最小化するために、不正データをつくる書き込み動作をホールドする待ち行列に置く。書き込み動作を静止した後、複写動作62は、良好なキャッシュモジュールから新しいキャッシュモジュールへメタデータを複写する。キャッシュBモジュール23を新しいキャッシュBモジュールに取り替えた本発明の例では、本コントローラ20によって、4分割の記憶領域Q0から4分割の記憶領域Q3へメタデータを複写し、そして、他のコントローラ22によって、4分割の記憶領域Q1から4分割の記憶領域Q2へメタデータを複写する。メタデータは、キャッシュモジュールに書き込まれていないデータに関する情報ブロック制御データである。
【0019】
判定動作64は、ライトバックモードが不能であったかどうかを検知する。もし、ライトバックが不能であったならば、新しいキャッシュモジュールの新しい4分割の記憶領域は、有効なミラー化(同一の)複写を含んでいると、確認動作66が示す。一度、「確認された」ならば、万が一、将来キャッシュモジュールが故障した場合には、データ回復のためにミラー化複写を使用することができる。確認では、本コントローラ20及び他のコントローラ22は、4分割の記憶領域が作動可能であり、また、コントローラが同期していることを確認する。動作68は、動作61によって静止された書き込み動作の静止を解放する。可能にする動作70は、ミラー書き込み動作を可能にする。ウォームスワップは完了し、ミラー化ライトバックキャッシュシステムは修復されて、通常の動作に戻る。
【0020】
もし、判定動作64がライトバックモードをテストして、それが不能であったことが分かったならば、動作フローは複写する動作72へ分岐する。複写する動作は、良好なキャッシュモジュールから新しいキャッシュモジュールへ1仮想ボリューム(記憶されたデータの論理的な単位)の不正データを複写する。この例では、本コントローラは、4分割の記憶領域Q0から4分割の記憶領域Q3へそのボリュームを複写し、そして、他のコントローラは、4分割の記憶領域Q1から4分割の記憶領域Q2へそのボリュームを複写する。1ボリュームの複写が完了した後、動作74はキャッシュシステムのこのボリュームへの書き込みの静止を解放して、動作76はこのボリュームのミラー化書き込みを可能にする。
判定動作78は、キャッシュシステムの新しい4分割の記憶領域へ複写するべき更なる不正データを持つボリュームがあるかどうかを検知する。もし、更なるこのようなボリュームがあるならば、動作フローは複写する動作72に戻って、次のボリュームを複写する。全ての不正データを適切な新しい4分割の記憶領域へ複写してしまうまで、ボリューム単位で、ボリュームを複写し、静止を解放し、ミラー化書き込み可能にすることが続く。この方法では、ボリューム単位で、新しいキャッシュモジュールをオンラインボリュームにする。代わりに、不正データを持つ全てのボリュームを複写して、キャッシュシステム全体を一回でオンラインに戻すことも可能である。ボリューム毎に、これらの動作を実施する利点は、ホスト書き込みのいくつかをより迅速に再開可能であり、従って、ホストで認識される一瞬の遅延を最小化することができることである。最後のボリュームを複写して、ミラー化書き込みを可能にした後はいかなる場合にも、判定動作78は、複写すべき更なるボリュームはないことを検知する。復元動作及びウォームスワップ動作は完了する。ミラー化ライトバックキャッシュシステムは修復され、通常に動作する。
【0021】
本発明を実施するための複数の実施例を説明したけれども、本発明を実施するために使用される要素のいくつかの更なる変形もしくは変更が可能であり、それらは請求の範囲に記載される本発明の範囲内であるということは理解されよう。
【図面の簡単な説明】
【図1】二重化コントローラを有するミラー化ライトバックキャッシュシステムを示す。
【図2】図1のミラー化ライトバックキャッシュシステムでキャッシュモジュールのウォームスワップを実施するための本発明の好ましい実施例の論理的な動作を示す。
【図3】図2の復元動作の中で実施される論理的な動作を示す。
【符号の説明】
20、22 コントローラ
21、23 キャッシュモジュール
25 メッセージリンク
27、29、31、33、35、41、43 コントロールライン
40、45 アドレスデータバス
47、49 スイッチ
Claims (11)
- ミラー化書き込みディスクキャッシュシステムの完全な動作を回復させるためのウォームスワップ方法であって、当該キャッシュシステムは、少なくとも第1および第2のメモリモジュール並びにライトバックキャッシュ動作モードを有し、当該キャッシュは少なくとも1つのディスクドライブに書き込まれるデータおよびメタデータを記憶し、当該方法は前記第1および第2のメモリモジュールが故障したときに使用されるものであり、当該方法は、
前記キャッシュシステムが前記第1および第2のメモリモジュールの故障していないメモリにのみ書き込み動作を行うように、前記キャッシュシステム中のミラー化書き込み動作を不作動にするステップと、
故障していないメモリモジュールに書き込み動作を実行させ続けながら、故障したメモリモジュールを代わりのメモリモジュールと取り替えるステップと、
前記代わりのメモリモジュールの正しい動作を確認するために前記キャッシュシステム中の前記代わりのメモリモジュールをテストするステップと、
前記キャッシュシステムへの書き込み動作を停止するステップと、
前記故障していないメモリモジュール中にある、前記少なくとも1つのディスクドライブに書き込まれなかったデータを含むデータのサブセットを決定するステップと、
前記メタデータと、前記少なくとも1つのディスクドライブへ書き込まれていないデータを含むデータのサブセットを、前記故障していないメモリモジュールから前記代わりのメモリモジュールに複写することによって、前記キャッシュシステム中のミラー化されたデータを回復させるステップと、
前記キャッシュシステムへの書き込み動作を再開するステップと、
前記キャッシュシステムのミラー化書き込み動作を再び可能にするステップと、を有する方法。 - 請求項1に記載の方法において、
書き込み動作を停止する前記ステップは、前記キャッシュの少なくとも一部に対して、前記キャッシュをライトバックモードの動作からライトスルーモードの動作に切り換えるステップを備え、
前記キャッシュのその部分への書き込み動作を再開する前記ステップは、前記キャッシュをライトバック動作に戻すステップを備える方法。 - 請求項1に記載の方法において、
前記キャッシュの少なくとも一部へのミラー化書き込み動作を不作動にする前記ステップは、バッファにおける書き込み動作をホールドすることによって実行される方法。 - 請求項3に記載の方法において、
前記バッファにおいて書き込み動作をホールドすることによって不能にされる書き込み動作を有する前記キャッシュの部分は、RAID動作のためのキャッシュを備える方法。 - 請求項3に記載の方法において、
前記バッファはホストコンピュータシステム中にある方法。 - ミラー化書き込みディスクキャッシュシステムの完全な動作を回復させるためのウォームスワップ方法であって、当該キャッシュシステムは、少なくとも第1および第2のメモリモジュール並びにライトバックキャッシュ動作モードを有し、当該キャッシュは少なくとも1つのディスクドライブに書き込まれるデータおよびメタデータを記憶し、当該方法は前記第1および第2のメモリモジュールが故障したときに使用されるものであり、当該方法は、
前記キャッシュシステムが前記第1および第2のメモリモジュールの故障していないメモリにのみ書き込み動作を行うように、前記キャッシュシステム中のミラー化書き込み動作を不作動にするステップと、
故障していないメモリモジュールに書き込み動作を実行させ続けながら、故障したメモリモジュールを代わりのメモリモジュールと取り替えるステップと、
前記代わりのメモリモジュールの正しい動作を確認するために前記キャッシュシステム 中の前記代わりのメモリモジュールをテストするステップと、
前記少なくとも1つのディスクドライブの第1および第2のパーティションに対して前記キャッシュシステムへの書き込み動作を停止するステップと、
少なくとも前記メタデータの一部とデータの第1の部分を、前記故障していないメモリモジュールから前記代わりのメモリモジュールに複写することによって、前記キャッシュシステム中のミラー化されたデータを回復させるステップと、
前記少なくとも1つのディスクドライブの前記第1のパーティションのために前記キャッシュシステムへの書き込み動作を再開するステップと、
前記少なくとも1つのディスクドライブの前記第1のパーティションに対する書き込みのために前記キャッシュシステムのミラー化書き込み動作を再び可能にするステップと、
前記故障していないメモリモジュールから前記代わりのメモリモジュールへのデータの第2の部分を複写することによって前記キャッシュシステムのさらなるミラー化データを回復するステップと、
前記少なくとも1つのディスクドライブの前記第2のパーティションのために前記キャッシュシステムへの書き込み動作を再開するステップと、
前記少なくとも1つのディスクドライブの前記第2のパーティションに対する書き込みのために前記キャッシュシステムのミラー化書き込み動作を再び可能にするステップと、を有することを特徴とするウォームスワップ方法。 - 請求項6に記載の方法において、
書き込み動作を停止する前記ステップは、前記キャッシュの少なくとも一部に対して、前記キャッシュをライトバックモードの動作からライトスルーモードの動作に切り換えるステップを備え、
前記キャッシュのその部分への書き込み動作を再開する前記ステップは、前記キャッシュをライトバック動作に戻すステップを備える方法。 - 請求項6に記載の方法において、
前記キャッシュの少なくとも一部へのミラー化書き込み動作を不作動にする前記ステップは、ホストコンピュータのバッファにおける書き込み動作をホールドすることによって実行される方法。 - 請求項8に記載の方法において、
前記ホストコンピュータの前記バッファにおいて書き込み動作をホールドすることによって不能にされる書き込み動作を有する前記キャッシュの部分は、RAID動作のためのキャッシュを備える方法。 - ミラー化ライトバックキャッシュシステムにおいて、良好なキャッシュモジュールを使用して前記キャッシュシステムを動作させ続けながら、故障したメモリモジュールを取り替えて、前記キャッシュシステムを回復するための方法であって、
前記キャッシュシステムは、2つのキャッシュモジュール及び2つのコントローラを有し、各々のキャッシュモジュールは4分割の記憶領域の内の2つを有し、ミラー化書き込み動作は、同一のデータを、一方のキャッシュモジュールの4分割の記憶領域の1つと他のキャッシュモジュールの対の4分割の記憶領域の1つとに書き込み、
当該方法は、
前記キャッシュシステムのために、ライトバック動作を不能にし、ライトスルー動作を可能にするステップと、
前記システムの回復中、前記のミラー化書き込み動作を不能にし、前記の良好なキャッシュモジュールへの書き込みだけを可能にするステップと、
残存する良好なキャッシュモジュールへの書き込みを続けながら、故障のキャッシュモジュールを新しいキャッシュモジュールに取り替えるステップと、
新しいキャッシュモジュールの正しい動作を確認するために前記キャッシュシステムの前記新しいキャッシュモジュールをテストするステップと、
前記残存する良好なキャッシュモジュールと前記新しいキャッシュモジュールとの両方へのミラー化書き込み動作を回復するステップと、を備える方法。 - 請求項10に記載の方法において、
前記動作を回復するステップは、
バックアップされていないデータの前記キャッシュシステムへの書き込みを防止するためにRAID書き込み動作を静止するステップと、
前記良好なキャッシュモジュールの両方の4分割の記憶領域から前記新しいキャッシュモジュールの対の4分割の記憶領域にメタデータを複写する段階と、
すべての4分割の記憶領域が正しく動作していることと前記コントローラが同期していることを検証するステップと、
ライトバック及びRAID書き込み動作を可能にするステップと、
前記キャッシュシステムへのミラー化書き込み動作を可能にするステップと、を備える方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/883381 | 1997-06-26 | ||
US08/883,381 US6571324B1 (en) | 1997-06-26 | 1997-06-26 | Warmswap of failed memory modules and data reconstruction in a mirrored writeback cache system |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11110301A JPH11110301A (ja) | 1999-04-23 |
JP4275771B2 true JP4275771B2 (ja) | 2009-06-10 |
Family
ID=25382472
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18020198A Expired - Fee Related JP4275771B2 (ja) | 1997-06-26 | 1998-06-26 | ミラー化ライトバックキャッシュモジュールのウォームスワップ |
Country Status (4)
Country | Link |
---|---|
US (1) | US6571324B1 (ja) |
EP (1) | EP0889409B1 (ja) |
JP (1) | JP4275771B2 (ja) |
DE (1) | DE69817696T2 (ja) |
Families Citing this family (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3568110B2 (ja) * | 1999-10-15 | 2004-09-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | キャッシュメモリの制御方法、コンピュータシステム、ハードディスクドライブ装置およびハードディスク制御装置 |
US6779128B1 (en) * | 2000-02-18 | 2004-08-17 | Invensys Systems, Inc. | Fault-tolerant data transfer |
CA2402933C (en) * | 2000-03-22 | 2012-01-10 | Robert Bradshaw | Method of and apparatus for recovery of in-progress changes made in a software application |
US6640321B1 (en) * | 2000-04-14 | 2003-10-28 | Lsi Logic Corporation | Built-in self-repair of semiconductor memory with redundant row testing using background pattern |
US6968347B2 (en) * | 2001-02-28 | 2005-11-22 | Emc Corporation | Data recovery method and apparatus |
US6996668B2 (en) * | 2001-08-06 | 2006-02-07 | Seagate Technology Llc | Synchronized mirrored data in a data storage device |
US7293196B2 (en) * | 2002-05-08 | 2007-11-06 | Xiotech Corporation | Method, apparatus, and system for preserving cache data of redundant storage controllers |
US7130229B2 (en) * | 2002-11-08 | 2006-10-31 | Intel Corporation | Interleaved mirrored memory systems |
JP4072424B2 (ja) * | 2002-12-02 | 2008-04-09 | エルピーダメモリ株式会社 | メモリシステム及びその制御方法 |
WO2004114116A1 (ja) * | 2003-06-19 | 2004-12-29 | Fujitsu Limited | キャッシュ二重化方式におけるミラーキャッシュからの書き戻し方法 |
DE10327955A1 (de) * | 2003-06-20 | 2005-01-13 | Fujitsu Siemens Computers Gmbh | Massenspeichereinrichtung und Verfahren zum Betrieb einer Massenspeichereinrichtung |
US7363431B1 (en) * | 2003-09-19 | 2008-04-22 | Emc Corporation | Message-based distributed synchronization in a storage system |
US7302526B1 (en) * | 2004-03-29 | 2007-11-27 | Emc Corporation | Handling memory faults for mirrored memory |
US7478276B2 (en) * | 2005-02-10 | 2009-01-13 | International Business Machines Corporation | Method for checkpointing instruction groups with out-of-order floating point instructions in a multi-threaded processor |
US7467325B2 (en) * | 2005-02-10 | 2008-12-16 | International Business Machines Corporation | Processor instruction retry recovery |
US20060184771A1 (en) * | 2005-02-11 | 2006-08-17 | International Business Machines | Mini-refresh processor recovery as bug workaround method using existing recovery hardware |
JP2007219571A (ja) * | 2006-02-14 | 2007-08-30 | Hitachi Ltd | 記憶制御装置及びストレージシステム |
US7849350B2 (en) | 2006-09-28 | 2010-12-07 | Emc Corporation | Responding to a storage processor failure with continued write caching |
US7769951B2 (en) * | 2007-04-10 | 2010-08-03 | Yahoo! Inc. | Intelligent caching of user data for real time communications |
US8090907B2 (en) * | 2008-07-09 | 2012-01-03 | International Business Machines Corporation | Method for migration of synchronous remote copy service to a virtualization appliance |
US8683465B2 (en) * | 2009-12-18 | 2014-03-25 | International Business Machines Corporation | Virtual image deployment with a warm cache |
JP5762016B2 (ja) * | 2011-01-28 | 2015-08-12 | キヤノン株式会社 | 情報処理装置、制御方法、及びプログラム |
LT5851B (lt) | 2011-06-06 | 2012-07-25 | Samuilas Ošerovskis | Energetinių sistemų apjungimo būdas |
JP5738471B2 (ja) * | 2011-12-14 | 2015-06-24 | 株式会社日立製作所 | ストレージ装置とそのメモリ制御方法 |
US10025711B2 (en) * | 2012-01-16 | 2018-07-17 | Qualcomm Incorporated | Hybrid write-through/write-back cache policy managers, and related systems and methods |
CN103077100B (zh) * | 2013-01-31 | 2016-03-02 | 广东欧珀移动通信有限公司 | 非易失性数据备份和恢复方法 |
US9037799B2 (en) * | 2013-02-11 | 2015-05-19 | Avago Technologies General Ip (Singapore) Pte Ltd | Rebuild of redundant secondary storage cache |
US9104604B2 (en) * | 2013-02-26 | 2015-08-11 | International Business Machines Corporation | Preventing unrecoverable errors during a disk regeneration in a disk array |
JP5924819B2 (ja) * | 2013-06-10 | 2016-05-25 | 日本電気株式会社 | データ保全処理装置及びデータ保全処理プログラム |
US20150019822A1 (en) * | 2013-07-11 | 2015-01-15 | Lsi Corporation | System for Maintaining Dirty Cache Coherency Across Reboot of a Node |
US9239797B2 (en) * | 2013-08-15 | 2016-01-19 | Globalfoundries Inc. | Implementing enhanced data caching and takeover of non-owned storage devices in dual storage device controller configuration with data in write cache |
US9684607B2 (en) | 2015-02-25 | 2017-06-20 | Microsoft Technology Licensing, Llc | Automatic recovery of application cache warmth |
JP6351722B2 (ja) * | 2013-12-23 | 2018-07-04 | インテル・コーポレーション | クラスタ化されたワイド実行機械におけるメモリアクセス用の命令およびロジック |
US9792050B2 (en) * | 2014-08-13 | 2017-10-17 | PernixData, Inc. | Distributed caching systems and methods |
US9740426B2 (en) | 2014-09-19 | 2017-08-22 | Lenovo (Singapore) Pte. Ltd. | Drive array policy control |
US9547552B2 (en) * | 2014-12-11 | 2017-01-17 | Netapp, Inc. | Data tracking for efficient recovery of a storage array |
US9684596B2 (en) | 2015-02-25 | 2017-06-20 | Microsoft Technology Licensing, Llc | Application cache replication to secondary application(s) |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5051887A (en) * | 1987-08-25 | 1991-09-24 | International Business Machines Corporation | Maintaining duplex-paired storage devices during gap processing using of a dual copy function |
US5544347A (en) * | 1990-09-24 | 1996-08-06 | Emc Corporation | Data storage system controlled remote data mirroring with respectively maintained data indices |
US5208813A (en) * | 1990-10-23 | 1993-05-04 | Array Technology Corporation | On-line reconstruction of a failed redundant array system |
US5379415A (en) * | 1992-09-29 | 1995-01-03 | Zitel Corporation | Fault tolerant memory system |
US5437022A (en) * | 1992-12-17 | 1995-07-25 | International Business Machines Corporation | Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto |
JP3004861U (ja) * | 1993-06-04 | 1994-11-29 | ディジタル イクイプメント コーポレイション | 密接に結合された二重のコントローラモジュールを用いた欠陥許容式の記憶装置用制御システム |
US5548711A (en) * | 1993-08-26 | 1996-08-20 | Emc Corporation | Method and apparatus for fault tolerant fast writes through buffer dumping |
US5615329A (en) * | 1994-02-22 | 1997-03-25 | International Business Machines Corporation | Remote data duplexing |
EP0721162A2 (en) * | 1995-01-06 | 1996-07-10 | Hewlett-Packard Company | Mirrored memory dual controller disk storage system |
US5692155A (en) * | 1995-04-19 | 1997-11-25 | International Business Machines Corporation | Method and apparatus for suspending multiple duplex pairs during back up processing to insure storage devices remain synchronized in a sequence consistent order |
US5917723A (en) * | 1995-05-22 | 1999-06-29 | Lsi Logic Corporation | Method and apparatus for transferring data between two devices with reduced microprocessor overhead |
US5588110A (en) * | 1995-05-23 | 1996-12-24 | Symbios Logic Inc. | Method for transferring data between two devices that insures data recovery in the event of a fault |
US5632013A (en) * | 1995-06-07 | 1997-05-20 | International Business Machines Corporation | Memory and system for recovery/restoration of data using a memory controller |
JP3732869B2 (ja) * | 1995-06-07 | 2006-01-11 | 株式会社日立製作所 | 外部記憶装置 |
US5864657A (en) * | 1995-11-29 | 1999-01-26 | Texas Micro, Inc. | Main memory system and checkpointing protocol for fault-tolerant computer system |
US5913927A (en) * | 1995-12-15 | 1999-06-22 | Mylex Corporation | Method and apparatus for management of faulty data in a raid system |
US5761705A (en) * | 1996-04-04 | 1998-06-02 | Symbios, Inc. | Methods and structure for maintaining cache consistency in a RAID controller having redundant caches |
US5802561A (en) * | 1996-06-28 | 1998-09-01 | Digital Equipment Corporation | Simultaneous, mirror write cache |
US6108684A (en) * | 1996-12-23 | 2000-08-22 | Lsi Logic Corporation | Methods and apparatus for balancing loads on a storage subsystem among a plurality of controllers |
US6199074B1 (en) * | 1997-10-09 | 2001-03-06 | International Business Machines Corporation | Database backup system ensuring consistency between primary and mirrored backup database copies despite backup interruption |
-
1997
- 1997-06-26 US US08/883,381 patent/US6571324B1/en not_active Expired - Lifetime
-
1998
- 1998-06-03 EP EP98304378A patent/EP0889409B1/en not_active Expired - Lifetime
- 1998-06-03 DE DE69817696T patent/DE69817696T2/de not_active Expired - Lifetime
- 1998-06-26 JP JP18020198A patent/JP4275771B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6571324B1 (en) | 2003-05-27 |
JPH11110301A (ja) | 1999-04-23 |
DE69817696T2 (de) | 2004-08-05 |
EP0889409B1 (en) | 2003-09-03 |
EP0889409A1 (en) | 1999-01-07 |
DE69817696D1 (de) | 2003-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4275771B2 (ja) | ミラー化ライトバックキャッシュモジュールのウォームスワップ | |
US7185222B2 (en) | Apparatus, system, and method for maintaining data in a storage array | |
JP3618529B2 (ja) | ディスクアレイ装置 | |
US6006342A (en) | Failover and failback system for a direct access storage device | |
US6802023B2 (en) | Redundant controller data storage system having hot insertion system and method | |
US6708285B2 (en) | Redundant controller data storage system having system and method for handling controller resets | |
US6715101B2 (en) | Redundant controller data storage system having an on-line controller removal system and method | |
US5751939A (en) | Main memory system and checkpointing protocol for fault-tolerant computer system using an exclusive-or memory | |
US5864657A (en) | Main memory system and checkpointing protocol for fault-tolerant computer system | |
US6785783B2 (en) | NUMA system with redundant main memory architecture | |
US5724501A (en) | Quick recovery of write cache in a fault tolerant I/O system | |
US5437022A (en) | Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto | |
US7321986B2 (en) | Configuring cache memory from a storage controller | |
US6243827B1 (en) | Multiple-channel failure detection in raid systems | |
US20070282967A1 (en) | Method and system of a persistent memory | |
US6591335B1 (en) | Fault tolerant dual cache system | |
JPH10177498A (ja) | フォルトトレラント・コンピュータ・システムのメモリ・マネージメント | |
JPH10105467A (ja) | 冗長キャッシュを備えているraidコントローラにおけるキャッシュのコンシステンシーを維持するための方法および装置 | |
JP2004355623A (ja) | マルチクラスタ・ストレージ・サブシステムのための自律型パワー・ロス・リカバリ | |
US5632013A (en) | Memory and system for recovery/restoration of data using a memory controller | |
US7293138B1 (en) | Method and apparatus for raid on memory | |
US7076686B2 (en) | Hot swapping memory method and system | |
US7000142B2 (en) | Mirrored extensions to a multiple disk storage system | |
US8375187B1 (en) | I/O scheduling for flash drives | |
US7130973B1 (en) | Method and apparatus to restore data redundancy and utilize spare storage spaces |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050609 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050609 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080225 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20080526 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080526 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20080529 |
|
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: 20090223 |
|
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: 20090305 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120313 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120313 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130313 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130313 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130313 Year of fee payment: 4 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130313 Year of fee payment: 4 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130313 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140313 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |