JP2004021989A - データをバックアップする方法 - Google Patents
データをバックアップする方法 Download PDFInfo
- Publication number
- JP2004021989A JP2004021989A JP2003160872A JP2003160872A JP2004021989A JP 2004021989 A JP2004021989 A JP 2004021989A JP 2003160872 A JP2003160872 A JP 2003160872A JP 2003160872 A JP2003160872 A JP 2003160872A JP 2004021989 A JP2004021989 A JP 2004021989A
- Authority
- JP
- Japan
- Prior art keywords
- data
- disk
- primary
- storage unit
- address
- 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.)
- Withdrawn
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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- 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/2015—Redundant power supplies
Abstract
【課題】短期不揮発性メモリに格納されたデータを長期不揮発性記憶媒体にコピーするのに必要な時間を短縮させる。
【解決手段】冗長データ記憶システムのデータをバックアップするためのシステムおよび方法が提供される。一実施形態では、一次コントローラが、第1の開始アドレスから開始する一次アドレス指定シーケンスを用いて、一次記憶ユニットから一次バックアップ記憶ユニットに第1のデータブロックをコピーするよう構成され、二次コントローラが、第1の開始アドレスから開始する二次アドレス指定シーケンスを用いて、二次記憶ユニットから二次バックアック記憶ユニットに第2のデータブロックを、一次コントローラによるコピー動作とほぼ同時にコピーするよう構成される。
【選択図】図6
【解決手段】冗長データ記憶システムのデータをバックアップするためのシステムおよび方法が提供される。一実施形態では、一次コントローラが、第1の開始アドレスから開始する一次アドレス指定シーケンスを用いて、一次記憶ユニットから一次バックアップ記憶ユニットに第1のデータブロックをコピーするよう構成され、二次コントローラが、第1の開始アドレスから開始する二次アドレス指定シーケンスを用いて、二次記憶ユニットから二次バックアック記憶ユニットに第2のデータブロックを、一次コントローラによるコピー動作とほぼ同時にコピーするよう構成される。
【選択図】図6
Description
【0001】
【発明の属する技術分野】
本発明は、一般に、冗長データ記憶システムの分野に関し、より具体的には、ディスク記憶サブシステムにおいて、データの損失を防止することに関する。
【0002】
【従来の技術】
性能、容量、費用節約、および信頼性が単一の大型ドライブのものよりも優れているコストパフォーマンスの高いシステムを得るために、外部メモリ記憶システムは、複数の安価なディスクドライブを組み合わせて一体型のアレイにすることが多い。このようなドライブのアレイは、ホストコンピュータには単一の論理ドライブに見える。このアレイが、冗長でないやり方で動作するように構成されている場合には、平均故障間隔(MTBF;meant time between failures)が比較的低い。なぜなら、これは、アレイ内のドライブ数で割った個々のドライブのMTBFに等しいからである。MTBFを向上させるために、ドライブのアレイをRAID(redundant array of inexpensive disks)として構成することができる。RAIDアレイは、ハードウェアの故障によって生じるデータ損失を防止する冗長アーキテクチャを用いることにより、耐故障性(フォルト・トレランス;fault tolerance)を実現している。
【0003】
RAIDシステムにおけるディスク・コントローラは、RAIDコントローラと呼ばれる。RAIDコントローラは、異なる機能セットを提供するよう異なる「レベル」で定義されている。RAIDシステム内のユーザ・データは、「データマップ」を利用してデータ移動を追跡することができるデータ記憶管理システムによって、異なるRAIDレベル間を動かされる。このデータマップは定期的に更新され、該データマップを保存することは、システム動作の保全性のために重要である。このデータマップが失われた場合、ユーザ・データへのアクセスも失われる。いくつかのシステムでは、このデータマップを、不揮発性RAM(NVRAM)に格納している。このNVRAMは、メインシステムの電源が故障した場合にはオンボード・バッテリから電力供給される短期メモリ記憶機構(short−term memory storage mechanism)として機能する。
【0004】
NVRAMはまた、他の重要なタスクを実行する。NVRAMが「ライト・キャッシュ(write cache)」として動作して、データをRAIDメモリディスクに転送する前に該データを一時的に格納することにより、ホストコンピュータのデータアクセス待ち時間(data access latency)が短縮される。該データが、ホストコンピュータによってNVRAMに書き込まれると、そのトランザクションが確認され、ホストコンピュータは次のオペレーションに移る。この時点において、ホストコンピュータに関する限り、該データは成功裡にハードディスクドライブに転送されている。したがって、しばらくの間、RAIDメモリディスク記憶装置宛てのデータだけがNVRAMに格納される。この時にメインシステムの電源が故障した場合には、オンボード・バッテリを用いてNVRAMデータが失われないようにしつつ、データ・バックアップ・プロセスを起動してNVRAMの内容を、一般に「ダンプ・ディスク(dump disk)」と呼ばれる予め定められた形式の長期不揮発性記憶装置(long−term non−volatile storage)にコピーする。該データが、ダンプ・ディスク(例えば、磁気ディスク記憶装置でよい)にコピーされたならば、該格納されたデータは、たとえその後にダンプ・ディスクへの電力供給が切断されても保持される。
【0005】
このダンプ・ディスクの読出し/書込み性能は、NVRAMのものよりもかなり低いので、このダンプ・ディスクは、一般に、データマップを格納するための「一次(primary)」機構としては用いられない。
【0006】
メインシステムの電源が故障したときには、ダンプ・ディスクは、少なくとも、ディスク・コントローラがデータマップとライト・キャッシュのデータをコピーすることができるほど十分長く電源を入れたままにされるのが望ましい。データマップとライト・キャッシュのデータは共に、以後この明細書において、NVRAMから1つまたは複数のダンプ・ディスクへの「有効(valid)」データと呼ばれる。これを行う一つの方法は、メインシステム電源の故障状態下で、NVRAMデータを安全にコピーするまで、このダンプ・ディスクを動作させる能力を有する外部バッテリ・バックアップ・システムを(NVRAMのバッテリに加えて)用いることである。
【0007】
このようなアーキテクチャの最大の課題の1つは、この外部バッテリ・バックアップ・システムに、バックアップを達成するのには充分な容量を持たせつつ、費用、複雑さなどを必要以上に増すほどには該外部バッテリ・バックアップ・システムを大きくしないようにすることである。
【0008】
ディスク・アレイがさらに大きくなってシステム要件が増すと、それに対応して、さらに大きいNVRAMサイズが要求される。メインシステムの電源の故障時に、NVRAMに格納されたデータを保存する期間は、バッテリ容量およびNVRAMサイズに直接関係する。バッテリ技術の改良に限界があり、かつ、コスト要因や物理サイズの制約のためにバッテリ容量に制限が加えられる場合に、さらに大きいNVRAMサイズを求め続けると、メインシステム電源の故障時に、NVRAMデータを保存することのできる期間が短縮されることになる。このことは、電源の故障後の、NVRAMからダンプ・ディスクへのデータ・バックアップ・プロセス中に重大な問題を発生させることになる。
【0009】
高い可用性のRAIDシステムのような耐故障性システム(フォルト・トレラントシステム)をサポートするために、少なくとも2つの別々のRAIDコントローラを使用し、そのうちの一方を、「マスタ」コントローラとして動作するように指定する。この2つのRAIDコントローラのそれぞれは、適切な電源とともに、それ自体の対応するNVRAMとダンプ・ディスクを持っている。この2つのコントローラ内のNVRAMは、一般に、同一のデータを含む。システムの電源が故障した状態では、マスタ・コントローラは、そのNVRAMに含まれている有効データを2つのダンプ・ディスクにコピーすることによって、データのバックアップを実行する。この有効データは、一般に、NVRAMから、2つのダンプ・ディスクのそれぞれに順次にコピーされる。例えば、NVRAMに64キロバイトの有効データが含まれている場合には、コピー・シーケンスは、アドレス0000から開始して、アドレスFFFF(16進)で終了する。
【0010】
さらに多量の有効NVRAMデータを含むシステムでは、この2つのダンプ・ディスクについて写しをとる必要のある上記コピー動作は、数分かかることがある。この時間の間、ダンプ・ディスクに電力を供給するバッテリシステムに重大な故障が起こるかもしれず、または、バッテリシステムの充電量が、NVRAMの全内容のダンプ・ディスクへのコピーに充分でないかもしれない。このようなことが起こって該コピー動作が達成されない場合には、NVRAMに残っているデータが、その後失われる場合がある。なぜならば、NVRAMバッテリがNVRAMに電力を供給することができる限りにおいてのみ、このデータを保存することができるからである。NVRAMバッテリは、その容量、およびNVRAMのサイズに応じて、数時間または数日しかもたないことがある。
【0011】
【発明が解決しようとする課題】
したがって、メインシステムの電源の故障中に、NVRAMのような短期不揮発性メモリに格納されたデータを、磁気ダンプ・ディスクのような長期不揮発性記憶媒体にコピーするのに必要な時間を最小限に抑える解決策を提供することが望まれている。耐故障性が重要なファクターである冗長データ記憶システムでは、有効データを保護することが特に重要となる。
【0012】
【課題を解決するための手段】
本発明は、冗長データ記憶システムにおいてデータをバックアップする方法、システム、および手段を提供する。この点に関し、このようなデータ記憶システムの1つでは、第1の開始アドレスから始まる一次アドレス指定シーケンスを用いて、データ・ブロックを、一次記憶ユニットから一次バックアップ記憶ユニットにコピーし、これとほぼ同時に、第2の開始アドレスから始まる二次アドレス指定シーケンスを用いて、第2のデータ・ブロックを、二次記憶ユニットから二次バックアップ記憶ユニットにコピーする典型的なシステムによって、おおまかに要約されることができる。
【0013】
方法として記述されることのできる他の実施形態では、第2の開始アドレスが第1の終了アドレスと同一であり、一次アドレス指定シーケンスは増分カウントを使用し、二次アドレス指定シーケンスは減分カウントを使用する。この方法は、2つのバックアップ記憶ユニットに転送されたデータが、互いに補完して、一次記憶ユニットと二次記憶ユニットに個々に格納されているデータの完全なイメージを共同で提供するクロスオーバ時点(crossover point in time)を生成する。このクロスオーバ時点において該情報は保護されることになるが、この共同で行うやり方で該情報を保護するのにかかる時間は、2つの同一の冗長なコピーを2つのバックアップ記憶ユニットに格納する従来の方法でかかる時間のわずか半分である。
【0014】
【発明の実施の形態】
以下の図面を参照すると、本発明の多くの面をより良く理解できる。これらの図面中の構成要素は、必ずしも定尺ではなく、本発明の原理を明確に図解することに重点を置いている。さらに、これらの図面では、いくつかの図を通じて、該当する部分には、同じ参照数字が示されている。
【0015】
RAIDシステムに用いられるようなディスクアレイ・アーキテクチャを取り入れたシステムを特に参照して、本発明を述べる。しかしながら、当業者であれば、データの長期メモリ記憶装置と短期メモリ記憶装置を組み合わせたものを取り入れた冗長アーキテクチャを利用する他の用途に、この説明を拡張することができるのは明らかであろう。
【0016】
図1は、冗長ディスク・コントローラ・システムにおける2つのディスク・コントローラによって制御されるディスク・アレイを図式的に描いたものである。
【0017】
ホストコンピュータ135は、パーソナル・コンピュータ(PC)、マイクロプロセッサ・システム、ネットワーク・サーバー、メインフレーム・コンピュータ、または専用システム・コントローラ・ユニットであってもよい。この具体的な図解においては、示されるホストコンピュータ135は、ホストコンピュータ135の外部に設けられた2つのディスク・コントローラ130と145から成る冗長ディスク・コントローラ・システム160に、バス・インターフェース140eを介して接続されている。ディスク・コントローラ145は、一般に、ディスク・コントローラ130が故障した場合にディスク・コントローラ130と同等の動作能力を提供することができるように、ディスク・コントローラ130と同一のものが選択される。
【0018】
バス・インターフェース140eは、SCSI(small computer system interface)または高速ファイバ・チャネル(FC)インターフェースなどの様々な機構を利用することができる。バス・インターフェース140eはまた、ほとんどのデスクトップPCがIDE(Integrated Drive Electronics)ディスクをアクセスするのに使っているATA(AT Attachment)を使用することもできる。
【0019】
ディスク110、115、120、および125は、一次シリアル相互接続と二次シリアル相互接続を有する冗長ディスク・アレイとして構成されている。双方向通信リンク140a、140b、140c、および140dによって形成される一次シリアル相互接続は、ディスク・コントローラ130に関連づけられている。双方向通信リンク150a、150b、150c、および150dによって形成される二次シリアル相互接続は、ディスク・コントローラ145に関連づけられている。
【0020】
冗長ディスク・コントローラ・システム160は、2つのディスク・コントローラ130および145のいずれの故障からも保護する。例えば、ディスク・コントローラ130が故障しても、ホストコンピュータ135は、ディスク・コントローラ145を用いてディスク・アレイにアクセスし、該ディスク・アレイに格納されたデータを検索することができる。
【0021】
わかりやすく説明するため、ディスク・コントローラ130に関連づけられた回路をA側と標記し、ディスク・コントローラ145に関連づけられた回路をB側と標記する。典型的な用途では、これら2つの側のうちの一方は、役割上、「マスタ」、「アクティブ」、または「一次」などの様々な名称によって参照されるような制御を引き受ける。その結果、他方の側は、「スレーブ(slave)」、「スタンバイ」、または「二次」などの対応する名称によって参照される。この“マスタ−スレーブ”アービトレーション(arbitration)は、2つの装置が共通要素と対話するときに、これら2つの装置間の動作の競合を避けるために使用される。一例として、ディスク・コントローラ130と145が、双方のディスク・コントローラが共有する単一の双方向通信リンク140eを使って、同じ情報をホストコンピュータ135に同時に転送しようとする時に、このような状況が起こる場合がある。この種の問題は、ホストコンピュータ135によって起動された「read disk memory(ディスク・メモリ読出し)」要求に応答して発生することがある。このような状態のもとでは、指定された「マスタ」ディスク・コントローラだけが、データをホストコンピュータ135に転送することができる。該指定されたマスタ・ディスク・コントローラが故障したならば、スレーブ・ディスク・コントローラが、マスタの役割を引き受ける。
【0022】
双方向通信リンク132は、2つの冗長ディスク・コントローラ130と145との間でメッセージを搬送する機構を提供する。このメッセージは、双方のディスク・コントローラが同じデータを確実に含むようにするのに必要な情報を含むことができる。このように同一データを保証するプロセスは、「同期(synchronization)」または「sync」と呼ばれ、マスタ・コントローラの故障に起因してマスタ・コントローラからスレーブ・コントローラへの切り換えが起こった後でも該システムを中断なく動作させるために用いられる。
【0023】
図1の図解は、2つの異なるディスク・コントローラと、このディスク・アレイにおける2つの異なるシリアル相互接続を示しているが、このような構成を、双方のディスク・コントローラを内部に組み入れた単一のコントローラ・ユニット(図1に破線の囲み枠として示される)を設けることによって物理的に実現してもよいことは、当業者ならば明らかであろう。例えば、ディスク・コントローラ130と145は、ディスク・アレイへの2つのシリアル相互接続が単一のケーブル構造内に物理的に組み込まれているデュアル・ポート式ファイバ・チャネル・ドライブの一部であることもできる。さらに都合のよいことがわかれば、単一ポートのドライブ構造、例えばATAタイプのドライブに用いられるものを利用して、ディスク・アレイへの2つの別々のシリアル相互接続を提供することもできる。また、システムによっては、この2つのディスク・コントローラをホストコンピュータ135に物理的に組み入れることもできる。
【0024】
図1に示される冗長ディスク・コントローラ・システムは、具体的にRAIDシステムと呼ばれることがあり、またディスク・コントローラ130と145は、それぞれ、RAIDコントローラ130とRAIDコントローラ145と呼ばれることがあることは理解されたい。さらに、ある時点でRAIDコントローラ130が「マスタ」モードで動作していた場合には、RAIDコントローラ130は「一次RAIDコントローラ」と呼ばれ、それに対応してRAIDコントローラ145は「二次RAIDコントローラ」と呼ばれることがある。
【0025】
「一次RAIDコントローラ」および「二次RAIDコントローラ」という語は、一般に、冗長記憶システムと関連して大まかに「一次コントローラ」および「二次コントローラ」と呼ばれることもある。
【0026】
図2は、メインシステムの電源の故障中にデータをバックアップするのに用いられるダンプ・ディスクと共に図1を図式的に描いたものである。ディスク・コントローラ130は、A側ダンプ・ディスク255として定められた不揮発性ディスク記憶システムに通信リンク260aによって接続され、また、B側ダンプ・ディスク265として定められた不揮発性ディスク記憶システムに通信リンク260bによって接続される。ディスク・コントローラ145は、A側ダンプ・ディスク255に通信リンク260cによって接続され、また、B側ダンプ・ディスク265に通信リンク260dによって接続される。通信リンク260aと260bにより、ディスク・コントローラ130は、ダンプ・ディスク255またはダンプ・ディスク265のいずれかに対してデータの読出し/書込みを行うことができる。同様に、通信リンク260cと260dにより、ディスク・コントローラ145は、ダンプ・ディスク255またはダンプ・ディスク265のいずれかに対してデータの読出し/書込みを行うことができる。ダンプ・ディスク265は、典型的には、ダンプ・ディスク255と同一のものが選択される。
【0027】
ダンプ・ディスク255と265が、例示の目的で、ディスク・コントローラの外部にあるように図2に示されているが、これらのダンプ・ディスクは、一般に、この明細書の初めの方で述べたように、ディスク・コントローラの内部に存在することもできる。他のいくつかの用途では、ダンプ・ディスク255と265は、ディスク110、115、120、および125から成るディスク・アレイの一部として組み込まれることもある。
【0028】
図2では、通信リンク260a、260b、260c、および260dは、説明のために、明らかに1つずつ別々なものとして示されている。しかし、これらの通信リンクの物理的な実現は様々な形式を取ることができ、或るケースでは、これらの形式が、複数の個々の通信信号を同時に搬送することができる単一ケーブル接続などの統合媒体(integrated medium)を利用することもできるということについては理解されたい。
【0029】
図3は、ディスク・コントローラ・システム160における機能ブロックを図式的に描いたものである。ディスク・コントローラ160は、ホスト・インターフェース回路320およびディスク・インターフェース回路355に結合された、マイクロプロセッサのような制御プロセッサ340を組み込むことができる。制御プロセッサ340はまた、NVRAM350のような短期メモリと、メイン・メモリ335とに結合される。バス350a、350b、350c、および350dは、制御プロセッサ340のための接続を提供し、物理的に互いに異なることができ、または共通バスの形式を取ることもできる。この目的のために、スター型、共通バス型、またはデイジー・チェーン型などのいくつかのタイプのバス・アーキテクチャを利用することができるということは、当業者であれば理解するであろう。
【0030】
図1を参照して前述したように、ディスク・メモリ110、115、120、および125をディスク・アレイとして構成することができる。このようなディスク・アレイは、ディスク・インターフェース回路355を介してディスク・コントローラ160に接続されることができる。
【0031】
図3では、ホストコンピュータ135と該ディスク・アレイとの間のデータ転送は、制御プロセッサ340により、ホスト・インターフェース回路320を経てキャッシュ・メモリ345に至るようにルーティング(経路設定)される。キャッシュ・メモリ345は、「ライト・キャッシュ(write cache)」および/または「リード・キャッシュ(read cache)」を含むことができる。ライト・キャッシュは、「バッファ・キャッシュ」と呼ばれることもある。キャッシュ・メモリ345は、例示の目的で、NVRAM350に含まれるように示されているが、メインシステム電源の故障の場合の冗長性に関するシステム要件に応じて、不揮発性メモリおよび/または揮発性メモリから成ることができる。
【0032】
ホストコンピュータ135が書込み動作を開始するとき、データはキャッシュ・メモリ345に書き込まれ、次に、ディスク・インターフェース回路355を介してディスク・アレイに転送される。同様に、該ディスク・アレイからの読出し動作を構成するデータ・フェッチ(data fetch)の要求をホストコンピュータ135が出したとき、ディスク・コントローラ160は、要求されたデータがキャッシュ・メモリ345にすでに格納されているかどうかを最初に判断する。要求されたデータがキャッシュ・メモリ345に格納されている場合には、ディスク・コントローラ160は、この「キャッシュされた」データをホストコンピュータ135に提供し、それにより、キャッシュ・メモリ345よりも遅いディスク・アレイにアクセスする必要性を回避する。要求されたデータがキャッシュ・メモリ345に格納されてない場合には、該データはディスク・アレイから検索され、キャッシュ・メモリ345に格納され、その後にホストコンピュータ135に提供される。このような技術を用いて、ディスク・コントローラ160は、読出し動作または書込み動作中にホストコンピュータ135とディスク・アレイとの間で転送されるデータのコピーを、キャッシュ・メモリ345に維持する。
【0033】
図3のメイン・メモリ335は、いくつかのタイプのメモリ素子、例えば読出し動作も書込み動作も可能にするランダム・アクセス・メモリだけでなく、リード・オンリー・メモリ(読み出し専用メモリ)を含むこともできる。リード・オンリー・メモリは、ソフトウェアおよび/またはファームウェアの形式でプログラミング情報を含むことができる。このような情報の一例が、データ・バックアップ・マネージャ500として示されている。メイン・メモリ335に含まれるランダム・アクセス・メモリを使用して、ホストコンピュータ135上で実行されているアプリケーションに関連づけられた情報を格納することができる。このような情報の一例は、キャッシュ・メモリ345を動作させるのに用いられるキャッシュ管理テーブルである。
【0034】
図4は、冗長ディスク・コントローラ・システムに、バッテリ・バックアップ式のダンプ・ディスク(1つまたは複数)と共に、NVRAMを組み込んだ例示的なシステムを示している。NVRAM410は、ディスク・コントローラ130の内部に設けられる。また、NVRAM410は、バッテリ415のような独立した電源を備えているので、メインシステムの電源が故障したときでも、そのデータ内容を保存する。A側ダンプ・ディスク255も、バッテリ420のような独立した電源を備えている。バッテリ420は、メインシステムの電源の故障中に、少なくとも、NVRAM410の内容をダンプ・ディスク255にコピーすることを可能にするぐらいに十分長くダンプ・ディスク255を動作させるのに充分な容量をもつように設計されている。バッテリ420はまた、典型的には、ディスク・コントローラ130上の他の回路を動作させるのにも使用される。このような回路は、メインシステムの電源が故障した場合にバックアップ動作を実行するのに必要とされることがある。
【0035】
NVRAM425は、ディスク・コントローラ145の内部に設けられる。NVRAM425はまた、NVRAM410と同様に、メインシステムの電源が故障したときに、そのデータ内容を保存する不揮発性ランダム・アクセス・メモリである。このようなデータ保存機能は、NVRAM425に接続されたバッテリ430などの独立した電源によって提供される。B側ダンプ・ディスク265は、ダンプ・ディスク255と同様である。バッテリ435のような電源により、ダンプ・ディスク265は、メインシステムの電源の故障中でも動作することができる。バッテリ435は、メインシステムの電源の故障中、少なくとも、NVRAM425の内容をダンプ・ディスク265に転送することを可能にするぐらい十分長くダンプ・ディスク265を動作させるのに充分な容量をもつように設計されている。バッテリ420の使用と同様に、バッテリ435または該バッテリ435と同等の電源も、典型的に、ディスク・コントローラ145上の他の回路を動作させるのに使用されることができる。
【0036】
正常なシステム動作状態のもとでは、NVRAM410とNVRAM425のデータ内容は同一であって、マスタ−スレーブの動作構成によって、互いに同期がとられている。このような動作は、通信リンク132により容易となる。
【0037】
マスタ・コントローラ内に設けられたNVRAMに含まれる有効データはまた、ダンプ・ディスク255とダンプ・ディスク265の両方に定期的にコピーされる。例えば、ディスク・コントローラ130が、ある時点でマスタ・コントローラである場合には、NVRAM410に含まれる有効データは、マスタ・コントローラ130によって、リンク260aを使ってA側ダンプ・ディスク255にコピーされ、また、リンク260bを使ってB側ダンプ・ディスク265にもコピーされる。
【0038】
このデータ・コピー動作は、一般に、システム電源が故障していない時の正常な状態中に実行され、ディスク・コントローラ130は、ホストコンピュータ135からのコマンドをサービスすることには積極的にはかかわらない。
【0039】
したがって、一般に、システムレベルの電源が故障したとき、ダンプ・ディスク255と265には、有効NVRAMデータの一部がすでに含まれている。この段階において、これらのダンプ・ディスクに転送する必要のあるNVRAMデータは、電源の故障前には転送されなかったデータだけである。この「増分」有効データは、メモリ・アドレス・セクタにおいて必ずしもアドレス位置0000から始まるとは限らない所に存在する場合があることは理解されたい。例えば、有効NVRAMデータが0000からFAAA(16進)まで存在し、アドレス0000〜AAAA(16進)のデータ内容が、正常な動作状態中にすでにダンプ・ディスクに転送されている場合には、システムレベルの電源故障状態の時点では、AAAB(16進)からFAAA(16進)までの増分有効データだけが、ダンプ・ディスクへの転送を必要とする。このような電源の故障状態のもとでは、0000からFAAA(16進)までの全NVRAMデータを転送する必要はない。システムによっては、電源故障の後で、NVRAMデータをバックアップするのに必要な時間を最小限に抑えるように、この種の「増分バックアップ」手順を利用することができる。
【0040】
図5は、2つのディスク・コントローラのそれぞれに設けられたNVRAMの内容を、それらの対応するダンプ・ディスクにコピーする代表的なプロセスを示す流れ図である。図5に示されるプロセス・ステップすなわちブロックは、このプロセスにおける特定の論理的な機能すなわちステップを実施するために、1つまたは複数の実行可能命令を含むモジュール、セグメント、またはコードの一部を表わしている。特定の例示的なプロセス・ステップが述べられているが、代替の実施も可能であることは理解されよう。さらに、ステップは、関連する機能性に依存して、図示され、または記述された順序とは異なる順序で実行されることもできる(たとえば、ほぼ同時に実行される、または逆の順序で実行されることもある)。コードはまた、本発明のいくつかのデバイスに含まれることができ、必ずしも特定のデバイスに限定されることはない。以下の説明は、或るデバイスにおけるコードの常駐性と機能性を暗に示すことがあるが、これは、もっぱら本発明の背後にある概念を説明する目的でのみ行われる。このような記述は、他の用途での本発明の様々な実施について限定するファクターと解されるべきではない。
【0041】
ステップ515とステップ520において、このシステムは、メインシステムの電源が故障したかどうかを判断する。ステップ520において、メインシステムの電源が故障したと該システムによって判断されたならば、NVRAMデータをダンプ・ディスクに転送するプロセスが、ステップ535とステップ540を介して実行される。
【0042】
ステップ535とステップ540は、一般に、同時に実行するように行われることができるが、用途によっては、A側転送とB側転送との間に小さな時間遅れを持たせて動作させることもできる。ステップ535において、A側ディスク・コントローラ130は、有効データを、NVRAM410からA側ダンプ・ディスク255にコピーし始め、ほとんど同時にステップ540において、B側ディスク・コントローラ145は、有効データを、そのNVRAM425からB側ダンプ・ディスク265にコピーし始める。
【0043】
ステップ535とステップ540で説明されるこのコピー・プロセスは、冗長ディスク・コントローラ・システムのA側とB側の両方について同時に動作するので、データをダンプ・ディスクにバックアップするのに要する時間が最小限に抑えられる。これは、逐次バックアップまたは時間多重化バックアップを用いて、非同時にデータをダンプ・ディスクにバックアップするシステムと比較すると、とりわけ有意である。
【0044】
図6は、アドレス指定カウンタを含む図5の別の実施形態である。ステップ615とステップ620において、このシステムは、メインシステムの電源が故障したかどうかを判断する。メインシステムの電源が故障していなければ、該システムは、冗長ディスク・コントローラ・システムのA側に必要とされる開始アドレスをセットする。開始アドレスをセットするこのプロセス(これは、ステップ625において実行される)は、開始アドレスを予め決めておき、それに応じて該開始アドレスをセットするという静的プロセスであることができる。例えば、開始アドレスは、FFFF(16進)にセットされることができる。
【0045】
代替的に、開始アドレスをセットするプロセスは、NVRAMに含まれる有効データのバイトのサイズに基づいて、開始アドレスを決定する動的プロセスであることもできる。例示を目的として、ダンプ・ディスクに未だ書き込まれていない増分有効データが、NVRAMのアドレス0FA2(16進)〜アドレスFFAE(16進)にあると仮定する。このような状態のもとでは、開始アドレスをセットする動的プロセスは、ステップ625において、A側開始アドレスを0FA2(16進)にセットすることができる。
【0046】
図5のステップ625の後にステップ630が続き、ステップ630において、該システムは、B側の開始アドレスをセットする。これは、ステップ625において実施される静的アドレス指定プロセスまたは動的アドレス指定プロセスのいずれかに適合したやり方で行われる。ステップ625において、静的プロセスでアドレスFFFF(16進)が用いられるとすると、それに対応して、該システムは、ステップ630において、B側開始アドレスを0000にセットすることができる。ステップ625において動的プロセスが用いられ、A側開始アドレスが0FA2(16進)にセットされた場合には、それに対応して、B側開始アドレスは、ステップ630において、FFAE(16進)にセットされることができる。
【0047】
さらに図6を参照すると、ステップ620において、メインシステムの電源が故障したと該システムによって判断されたならば、NVRAMデータをダンプ・ディスクに転送するプロセスは、ステップ635とステップ640を介して実行される。ステップ635とステップ640は、一般に、同時に実行するように行われることもできるが、用途によっては、A側転送とB側転送との間に小さな時間遅れを持たせて動作させることもできる。動的プロセスに関して上に引用された例を用い、図6のステップ635はA側に関係づけられ、その開始アドレスは0FA2(16進)である。ステップ635において、ディスク・コントローラ130(図4参照)は、0FA2(16進)からFFAE(16進)に向かって増分する増分シーケンス・カウンタを用いて、データ・バイトをNVRAM410からA側ダンプ・ディスク255に転送し始める。
【0048】
ステップ640において、ディスク・コントローラ145(図4のもの)は、FFAE(16進)から0FA2(16進)に向かって減分する減分シーケンス・カウンタを用いて、データ・バイト(この例では、B側開始アドレスとしてFFAE(16進)が使用される)を、NVRAM425からB側ダンプ・ディスク265に転送し始める。
【0049】
ステップ635とステップ640に示されるデータ転送プロセスの開始に続くある時点において、2つのダンプ・ディスクに転送されたデータが互いに補完し(相補し(complement))、それぞれのNVRAMに個別に格納されたNVRAMの有効データの完全なイメージを共同で提供することになるクロスオーバ時点に到達することがわかる。このクロスオーバ時点においてNVRAM情報が保護されたことになるが、この共同で行うやり方によるNVRAM情報の保護にかかる時間は、両方とも同じ増分計数方式を持つ2つのカウンタを用いた従来の方法で該NVRAM情報を保護するのにかかる時間のわずか半分である。したがって、図6に概略的に示される新規のデータ・バックアップ・プロセスにより、メインシステムの電源の故障中にNVRAMデータが失われるおそれがさらに少なくなる。クロスオーバ時点に達したならば、それぞれのコントローラは、充分な冗長性が得られるまで、ハードディスク上にデータをコピーし続けることができる。
【0050】
上述の例は、A側とB側という2つの側を利用したが、3つ以上の側が、このような構成を必要とするシステムにおいて実現されることができるということを理解されたい。このような場合には、これら複数の側のそれぞれに適切なアドレス範囲を提供するように、該複数の側の開始アドレスを適切なやり方で選択する。
【0051】
上述の例は、増分シーケンス・カウンタと減分シーケンス・カウンタを使用するが、適切なシーケンス計数方式を用いる他のタイプのカウンタを使用してもよい。カウント・シーケンスを使用する背後の目的は、複数のダンプ・ディスクにまたがってNVRAMデータを格納する効率的なやり方を達成することである。
【0052】
シーケンス計数方式の変形の一例として、NVRAMが、アドレス0000〜アドレスFFFF(16進)の有効データを持ち、かつ、A側、B側、およびC側と指定された3つのダンプ・ディスクが用いられるシステムを使用するものを挙げることができる。
【0053】
この例では、A側は、0000の開始アドレスで指定されることができ、B側は5555(16進)から始まり、C側はAAAA(16進)から始まることができる。これら3つの側に関連づけられた3つすべてのカウンタが増分するように設定される場合には、A側は、0000から5555(16進)に向かって増分し、B側は、5555(16進)からAAAA(16進)に向かって増分し、C側は、AAAA(16進)からFFFF(16進)に向かって増分する。A側カウンタが5555(16進)に達する時点において、これら3つのダンプ・ディスクにまたがってNVRAM有効データの相補コピー(complementary copy)が利用可能となる。この時点では、B側カウンタがAAAA(16進)を読み出し、C側カウンタがFFFF(16進)を読み出すことになる。
【0054】
図5と図6に述べられる流れ図を実施するのに必要なソフトウェアおよび/またはファームウェアは、図3のデータ・バックアップ・マネージャ500で示されるように、典型的にはディスク・コントローラ内に常駐することができるが、このようなソフトウェアおよび/またはファームウェアを、ホストコンピュータ135に常駐するように設計することもできる。こうする利点は、動作している2つまたはそれ以上のディスク・コントローラのうちどれがマスタであるかを判断するために、該2つまたはそれ以上のディスク・コントローラ間のマスタ−スレーブ・アービトレーション・プロセスにおいて発生しうる何らかの遅れまたは曖昧さを克服することができる点にある。
【0055】
ほとんどのシステムでは、データ・バックアップ・ソフトウェアを組み込んだデバイスは、典型的には、メインシステム電源の故障の場合にはバックアップ電源から動作するように設計されている。いくつかの実施形態では、ホストコンピュータ135が使用可能なバックアップ・システム電源を、ディスク・コントローラ160が使用可能なものよりも効率が良いように、外部メモリ記憶サブシステムを設計することがある。このような場合には、バックアップ・ソフトウェアを、ディスク・コントローラ160内ではなくて、ホストコンピュータ135内に設けることができる。他の実施形態では、ディスク・コントローラ160は、ホストコンピュータ135内に存在するデータ・バックアップ・ソフトウェアの一部(サブセット)も含むこともできる。
【0056】
本発明の上述の実施形態は、単に可能な実施例にすぎず、本発明の原理を明確に理解するためにのみ記述されたにすぎない点を強調しておくべきであろう。本発明の精神および原理から実質的に逸脱することなく、本発明の上述の実施形態に多くの変形および変更を行うことができる。例えば、当業者であれば、情報の特定の形式、および情報がやり取りされる媒体の特定の形式は、任意の可能な手段から選択されることができるということが理解されよう。このような変更および変形はすべて、本発明の範囲内に含まれ、特許請求の範囲で保護されることが意図されている。
【図面の簡単な説明】
【図1】冗長ディスク・コントローラ・システムにおいて2つのディスク・コントローラにより制御されるディスク・アレイを概略的に示す図。
【図2】図1においてダンプ・ディスクを備えた場合を概略的に示す図。
【図3】ディスク・コントローラ・システムにおける機能ブロックを概略的に示す図。
【図4】冗長ディスク・コントローラ・システムにおいて、バッテリ・バックアップ式のダンプ・ディスク記憶装置とともにNVRAM記憶装置を示す図。
【図5】2つのディスク・コントローラのそれぞれに設けられたNVRAMの内容を、対応するダンプ・ディスクにコピーする本発明の代表的なプロセスにかかわるステップを示す流れ図。
【図6】アドレス指定カウンタを含む図5のさらに他の形態を示す図。
【符号の説明】
130 A側ディスクコントローラ
145 B側ディスクコントローラ
410 A側NVRAM
425 B側NVRAM
255 A側ダンプ・ディスク
265 B側ダンプ・ディスク
500 データ・バックアップ・マネージャ
【発明の属する技術分野】
本発明は、一般に、冗長データ記憶システムの分野に関し、より具体的には、ディスク記憶サブシステムにおいて、データの損失を防止することに関する。
【0002】
【従来の技術】
性能、容量、費用節約、および信頼性が単一の大型ドライブのものよりも優れているコストパフォーマンスの高いシステムを得るために、外部メモリ記憶システムは、複数の安価なディスクドライブを組み合わせて一体型のアレイにすることが多い。このようなドライブのアレイは、ホストコンピュータには単一の論理ドライブに見える。このアレイが、冗長でないやり方で動作するように構成されている場合には、平均故障間隔(MTBF;meant time between failures)が比較的低い。なぜなら、これは、アレイ内のドライブ数で割った個々のドライブのMTBFに等しいからである。MTBFを向上させるために、ドライブのアレイをRAID(redundant array of inexpensive disks)として構成することができる。RAIDアレイは、ハードウェアの故障によって生じるデータ損失を防止する冗長アーキテクチャを用いることにより、耐故障性(フォルト・トレランス;fault tolerance)を実現している。
【0003】
RAIDシステムにおけるディスク・コントローラは、RAIDコントローラと呼ばれる。RAIDコントローラは、異なる機能セットを提供するよう異なる「レベル」で定義されている。RAIDシステム内のユーザ・データは、「データマップ」を利用してデータ移動を追跡することができるデータ記憶管理システムによって、異なるRAIDレベル間を動かされる。このデータマップは定期的に更新され、該データマップを保存することは、システム動作の保全性のために重要である。このデータマップが失われた場合、ユーザ・データへのアクセスも失われる。いくつかのシステムでは、このデータマップを、不揮発性RAM(NVRAM)に格納している。このNVRAMは、メインシステムの電源が故障した場合にはオンボード・バッテリから電力供給される短期メモリ記憶機構(short−term memory storage mechanism)として機能する。
【0004】
NVRAMはまた、他の重要なタスクを実行する。NVRAMが「ライト・キャッシュ(write cache)」として動作して、データをRAIDメモリディスクに転送する前に該データを一時的に格納することにより、ホストコンピュータのデータアクセス待ち時間(data access latency)が短縮される。該データが、ホストコンピュータによってNVRAMに書き込まれると、そのトランザクションが確認され、ホストコンピュータは次のオペレーションに移る。この時点において、ホストコンピュータに関する限り、該データは成功裡にハードディスクドライブに転送されている。したがって、しばらくの間、RAIDメモリディスク記憶装置宛てのデータだけがNVRAMに格納される。この時にメインシステムの電源が故障した場合には、オンボード・バッテリを用いてNVRAMデータが失われないようにしつつ、データ・バックアップ・プロセスを起動してNVRAMの内容を、一般に「ダンプ・ディスク(dump disk)」と呼ばれる予め定められた形式の長期不揮発性記憶装置(long−term non−volatile storage)にコピーする。該データが、ダンプ・ディスク(例えば、磁気ディスク記憶装置でよい)にコピーされたならば、該格納されたデータは、たとえその後にダンプ・ディスクへの電力供給が切断されても保持される。
【0005】
このダンプ・ディスクの読出し/書込み性能は、NVRAMのものよりもかなり低いので、このダンプ・ディスクは、一般に、データマップを格納するための「一次(primary)」機構としては用いられない。
【0006】
メインシステムの電源が故障したときには、ダンプ・ディスクは、少なくとも、ディスク・コントローラがデータマップとライト・キャッシュのデータをコピーすることができるほど十分長く電源を入れたままにされるのが望ましい。データマップとライト・キャッシュのデータは共に、以後この明細書において、NVRAMから1つまたは複数のダンプ・ディスクへの「有効(valid)」データと呼ばれる。これを行う一つの方法は、メインシステム電源の故障状態下で、NVRAMデータを安全にコピーするまで、このダンプ・ディスクを動作させる能力を有する外部バッテリ・バックアップ・システムを(NVRAMのバッテリに加えて)用いることである。
【0007】
このようなアーキテクチャの最大の課題の1つは、この外部バッテリ・バックアップ・システムに、バックアップを達成するのには充分な容量を持たせつつ、費用、複雑さなどを必要以上に増すほどには該外部バッテリ・バックアップ・システムを大きくしないようにすることである。
【0008】
ディスク・アレイがさらに大きくなってシステム要件が増すと、それに対応して、さらに大きいNVRAMサイズが要求される。メインシステムの電源の故障時に、NVRAMに格納されたデータを保存する期間は、バッテリ容量およびNVRAMサイズに直接関係する。バッテリ技術の改良に限界があり、かつ、コスト要因や物理サイズの制約のためにバッテリ容量に制限が加えられる場合に、さらに大きいNVRAMサイズを求め続けると、メインシステム電源の故障時に、NVRAMデータを保存することのできる期間が短縮されることになる。このことは、電源の故障後の、NVRAMからダンプ・ディスクへのデータ・バックアップ・プロセス中に重大な問題を発生させることになる。
【0009】
高い可用性のRAIDシステムのような耐故障性システム(フォルト・トレラントシステム)をサポートするために、少なくとも2つの別々のRAIDコントローラを使用し、そのうちの一方を、「マスタ」コントローラとして動作するように指定する。この2つのRAIDコントローラのそれぞれは、適切な電源とともに、それ自体の対応するNVRAMとダンプ・ディスクを持っている。この2つのコントローラ内のNVRAMは、一般に、同一のデータを含む。システムの電源が故障した状態では、マスタ・コントローラは、そのNVRAMに含まれている有効データを2つのダンプ・ディスクにコピーすることによって、データのバックアップを実行する。この有効データは、一般に、NVRAMから、2つのダンプ・ディスクのそれぞれに順次にコピーされる。例えば、NVRAMに64キロバイトの有効データが含まれている場合には、コピー・シーケンスは、アドレス0000から開始して、アドレスFFFF(16進)で終了する。
【0010】
さらに多量の有効NVRAMデータを含むシステムでは、この2つのダンプ・ディスクについて写しをとる必要のある上記コピー動作は、数分かかることがある。この時間の間、ダンプ・ディスクに電力を供給するバッテリシステムに重大な故障が起こるかもしれず、または、バッテリシステムの充電量が、NVRAMの全内容のダンプ・ディスクへのコピーに充分でないかもしれない。このようなことが起こって該コピー動作が達成されない場合には、NVRAMに残っているデータが、その後失われる場合がある。なぜならば、NVRAMバッテリがNVRAMに電力を供給することができる限りにおいてのみ、このデータを保存することができるからである。NVRAMバッテリは、その容量、およびNVRAMのサイズに応じて、数時間または数日しかもたないことがある。
【0011】
【発明が解決しようとする課題】
したがって、メインシステムの電源の故障中に、NVRAMのような短期不揮発性メモリに格納されたデータを、磁気ダンプ・ディスクのような長期不揮発性記憶媒体にコピーするのに必要な時間を最小限に抑える解決策を提供することが望まれている。耐故障性が重要なファクターである冗長データ記憶システムでは、有効データを保護することが特に重要となる。
【0012】
【課題を解決するための手段】
本発明は、冗長データ記憶システムにおいてデータをバックアップする方法、システム、および手段を提供する。この点に関し、このようなデータ記憶システムの1つでは、第1の開始アドレスから始まる一次アドレス指定シーケンスを用いて、データ・ブロックを、一次記憶ユニットから一次バックアップ記憶ユニットにコピーし、これとほぼ同時に、第2の開始アドレスから始まる二次アドレス指定シーケンスを用いて、第2のデータ・ブロックを、二次記憶ユニットから二次バックアップ記憶ユニットにコピーする典型的なシステムによって、おおまかに要約されることができる。
【0013】
方法として記述されることのできる他の実施形態では、第2の開始アドレスが第1の終了アドレスと同一であり、一次アドレス指定シーケンスは増分カウントを使用し、二次アドレス指定シーケンスは減分カウントを使用する。この方法は、2つのバックアップ記憶ユニットに転送されたデータが、互いに補完して、一次記憶ユニットと二次記憶ユニットに個々に格納されているデータの完全なイメージを共同で提供するクロスオーバ時点(crossover point in time)を生成する。このクロスオーバ時点において該情報は保護されることになるが、この共同で行うやり方で該情報を保護するのにかかる時間は、2つの同一の冗長なコピーを2つのバックアップ記憶ユニットに格納する従来の方法でかかる時間のわずか半分である。
【0014】
【発明の実施の形態】
以下の図面を参照すると、本発明の多くの面をより良く理解できる。これらの図面中の構成要素は、必ずしも定尺ではなく、本発明の原理を明確に図解することに重点を置いている。さらに、これらの図面では、いくつかの図を通じて、該当する部分には、同じ参照数字が示されている。
【0015】
RAIDシステムに用いられるようなディスクアレイ・アーキテクチャを取り入れたシステムを特に参照して、本発明を述べる。しかしながら、当業者であれば、データの長期メモリ記憶装置と短期メモリ記憶装置を組み合わせたものを取り入れた冗長アーキテクチャを利用する他の用途に、この説明を拡張することができるのは明らかであろう。
【0016】
図1は、冗長ディスク・コントローラ・システムにおける2つのディスク・コントローラによって制御されるディスク・アレイを図式的に描いたものである。
【0017】
ホストコンピュータ135は、パーソナル・コンピュータ(PC)、マイクロプロセッサ・システム、ネットワーク・サーバー、メインフレーム・コンピュータ、または専用システム・コントローラ・ユニットであってもよい。この具体的な図解においては、示されるホストコンピュータ135は、ホストコンピュータ135の外部に設けられた2つのディスク・コントローラ130と145から成る冗長ディスク・コントローラ・システム160に、バス・インターフェース140eを介して接続されている。ディスク・コントローラ145は、一般に、ディスク・コントローラ130が故障した場合にディスク・コントローラ130と同等の動作能力を提供することができるように、ディスク・コントローラ130と同一のものが選択される。
【0018】
バス・インターフェース140eは、SCSI(small computer system interface)または高速ファイバ・チャネル(FC)インターフェースなどの様々な機構を利用することができる。バス・インターフェース140eはまた、ほとんどのデスクトップPCがIDE(Integrated Drive Electronics)ディスクをアクセスするのに使っているATA(AT Attachment)を使用することもできる。
【0019】
ディスク110、115、120、および125は、一次シリアル相互接続と二次シリアル相互接続を有する冗長ディスク・アレイとして構成されている。双方向通信リンク140a、140b、140c、および140dによって形成される一次シリアル相互接続は、ディスク・コントローラ130に関連づけられている。双方向通信リンク150a、150b、150c、および150dによって形成される二次シリアル相互接続は、ディスク・コントローラ145に関連づけられている。
【0020】
冗長ディスク・コントローラ・システム160は、2つのディスク・コントローラ130および145のいずれの故障からも保護する。例えば、ディスク・コントローラ130が故障しても、ホストコンピュータ135は、ディスク・コントローラ145を用いてディスク・アレイにアクセスし、該ディスク・アレイに格納されたデータを検索することができる。
【0021】
わかりやすく説明するため、ディスク・コントローラ130に関連づけられた回路をA側と標記し、ディスク・コントローラ145に関連づけられた回路をB側と標記する。典型的な用途では、これら2つの側のうちの一方は、役割上、「マスタ」、「アクティブ」、または「一次」などの様々な名称によって参照されるような制御を引き受ける。その結果、他方の側は、「スレーブ(slave)」、「スタンバイ」、または「二次」などの対応する名称によって参照される。この“マスタ−スレーブ”アービトレーション(arbitration)は、2つの装置が共通要素と対話するときに、これら2つの装置間の動作の競合を避けるために使用される。一例として、ディスク・コントローラ130と145が、双方のディスク・コントローラが共有する単一の双方向通信リンク140eを使って、同じ情報をホストコンピュータ135に同時に転送しようとする時に、このような状況が起こる場合がある。この種の問題は、ホストコンピュータ135によって起動された「read disk memory(ディスク・メモリ読出し)」要求に応答して発生することがある。このような状態のもとでは、指定された「マスタ」ディスク・コントローラだけが、データをホストコンピュータ135に転送することができる。該指定されたマスタ・ディスク・コントローラが故障したならば、スレーブ・ディスク・コントローラが、マスタの役割を引き受ける。
【0022】
双方向通信リンク132は、2つの冗長ディスク・コントローラ130と145との間でメッセージを搬送する機構を提供する。このメッセージは、双方のディスク・コントローラが同じデータを確実に含むようにするのに必要な情報を含むことができる。このように同一データを保証するプロセスは、「同期(synchronization)」または「sync」と呼ばれ、マスタ・コントローラの故障に起因してマスタ・コントローラからスレーブ・コントローラへの切り換えが起こった後でも該システムを中断なく動作させるために用いられる。
【0023】
図1の図解は、2つの異なるディスク・コントローラと、このディスク・アレイにおける2つの異なるシリアル相互接続を示しているが、このような構成を、双方のディスク・コントローラを内部に組み入れた単一のコントローラ・ユニット(図1に破線の囲み枠として示される)を設けることによって物理的に実現してもよいことは、当業者ならば明らかであろう。例えば、ディスク・コントローラ130と145は、ディスク・アレイへの2つのシリアル相互接続が単一のケーブル構造内に物理的に組み込まれているデュアル・ポート式ファイバ・チャネル・ドライブの一部であることもできる。さらに都合のよいことがわかれば、単一ポートのドライブ構造、例えばATAタイプのドライブに用いられるものを利用して、ディスク・アレイへの2つの別々のシリアル相互接続を提供することもできる。また、システムによっては、この2つのディスク・コントローラをホストコンピュータ135に物理的に組み入れることもできる。
【0024】
図1に示される冗長ディスク・コントローラ・システムは、具体的にRAIDシステムと呼ばれることがあり、またディスク・コントローラ130と145は、それぞれ、RAIDコントローラ130とRAIDコントローラ145と呼ばれることがあることは理解されたい。さらに、ある時点でRAIDコントローラ130が「マスタ」モードで動作していた場合には、RAIDコントローラ130は「一次RAIDコントローラ」と呼ばれ、それに対応してRAIDコントローラ145は「二次RAIDコントローラ」と呼ばれることがある。
【0025】
「一次RAIDコントローラ」および「二次RAIDコントローラ」という語は、一般に、冗長記憶システムと関連して大まかに「一次コントローラ」および「二次コントローラ」と呼ばれることもある。
【0026】
図2は、メインシステムの電源の故障中にデータをバックアップするのに用いられるダンプ・ディスクと共に図1を図式的に描いたものである。ディスク・コントローラ130は、A側ダンプ・ディスク255として定められた不揮発性ディスク記憶システムに通信リンク260aによって接続され、また、B側ダンプ・ディスク265として定められた不揮発性ディスク記憶システムに通信リンク260bによって接続される。ディスク・コントローラ145は、A側ダンプ・ディスク255に通信リンク260cによって接続され、また、B側ダンプ・ディスク265に通信リンク260dによって接続される。通信リンク260aと260bにより、ディスク・コントローラ130は、ダンプ・ディスク255またはダンプ・ディスク265のいずれかに対してデータの読出し/書込みを行うことができる。同様に、通信リンク260cと260dにより、ディスク・コントローラ145は、ダンプ・ディスク255またはダンプ・ディスク265のいずれかに対してデータの読出し/書込みを行うことができる。ダンプ・ディスク265は、典型的には、ダンプ・ディスク255と同一のものが選択される。
【0027】
ダンプ・ディスク255と265が、例示の目的で、ディスク・コントローラの外部にあるように図2に示されているが、これらのダンプ・ディスクは、一般に、この明細書の初めの方で述べたように、ディスク・コントローラの内部に存在することもできる。他のいくつかの用途では、ダンプ・ディスク255と265は、ディスク110、115、120、および125から成るディスク・アレイの一部として組み込まれることもある。
【0028】
図2では、通信リンク260a、260b、260c、および260dは、説明のために、明らかに1つずつ別々なものとして示されている。しかし、これらの通信リンクの物理的な実現は様々な形式を取ることができ、或るケースでは、これらの形式が、複数の個々の通信信号を同時に搬送することができる単一ケーブル接続などの統合媒体(integrated medium)を利用することもできるということについては理解されたい。
【0029】
図3は、ディスク・コントローラ・システム160における機能ブロックを図式的に描いたものである。ディスク・コントローラ160は、ホスト・インターフェース回路320およびディスク・インターフェース回路355に結合された、マイクロプロセッサのような制御プロセッサ340を組み込むことができる。制御プロセッサ340はまた、NVRAM350のような短期メモリと、メイン・メモリ335とに結合される。バス350a、350b、350c、および350dは、制御プロセッサ340のための接続を提供し、物理的に互いに異なることができ、または共通バスの形式を取ることもできる。この目的のために、スター型、共通バス型、またはデイジー・チェーン型などのいくつかのタイプのバス・アーキテクチャを利用することができるということは、当業者であれば理解するであろう。
【0030】
図1を参照して前述したように、ディスク・メモリ110、115、120、および125をディスク・アレイとして構成することができる。このようなディスク・アレイは、ディスク・インターフェース回路355を介してディスク・コントローラ160に接続されることができる。
【0031】
図3では、ホストコンピュータ135と該ディスク・アレイとの間のデータ転送は、制御プロセッサ340により、ホスト・インターフェース回路320を経てキャッシュ・メモリ345に至るようにルーティング(経路設定)される。キャッシュ・メモリ345は、「ライト・キャッシュ(write cache)」および/または「リード・キャッシュ(read cache)」を含むことができる。ライト・キャッシュは、「バッファ・キャッシュ」と呼ばれることもある。キャッシュ・メモリ345は、例示の目的で、NVRAM350に含まれるように示されているが、メインシステム電源の故障の場合の冗長性に関するシステム要件に応じて、不揮発性メモリおよび/または揮発性メモリから成ることができる。
【0032】
ホストコンピュータ135が書込み動作を開始するとき、データはキャッシュ・メモリ345に書き込まれ、次に、ディスク・インターフェース回路355を介してディスク・アレイに転送される。同様に、該ディスク・アレイからの読出し動作を構成するデータ・フェッチ(data fetch)の要求をホストコンピュータ135が出したとき、ディスク・コントローラ160は、要求されたデータがキャッシュ・メモリ345にすでに格納されているかどうかを最初に判断する。要求されたデータがキャッシュ・メモリ345に格納されている場合には、ディスク・コントローラ160は、この「キャッシュされた」データをホストコンピュータ135に提供し、それにより、キャッシュ・メモリ345よりも遅いディスク・アレイにアクセスする必要性を回避する。要求されたデータがキャッシュ・メモリ345に格納されてない場合には、該データはディスク・アレイから検索され、キャッシュ・メモリ345に格納され、その後にホストコンピュータ135に提供される。このような技術を用いて、ディスク・コントローラ160は、読出し動作または書込み動作中にホストコンピュータ135とディスク・アレイとの間で転送されるデータのコピーを、キャッシュ・メモリ345に維持する。
【0033】
図3のメイン・メモリ335は、いくつかのタイプのメモリ素子、例えば読出し動作も書込み動作も可能にするランダム・アクセス・メモリだけでなく、リード・オンリー・メモリ(読み出し専用メモリ)を含むこともできる。リード・オンリー・メモリは、ソフトウェアおよび/またはファームウェアの形式でプログラミング情報を含むことができる。このような情報の一例が、データ・バックアップ・マネージャ500として示されている。メイン・メモリ335に含まれるランダム・アクセス・メモリを使用して、ホストコンピュータ135上で実行されているアプリケーションに関連づけられた情報を格納することができる。このような情報の一例は、キャッシュ・メモリ345を動作させるのに用いられるキャッシュ管理テーブルである。
【0034】
図4は、冗長ディスク・コントローラ・システムに、バッテリ・バックアップ式のダンプ・ディスク(1つまたは複数)と共に、NVRAMを組み込んだ例示的なシステムを示している。NVRAM410は、ディスク・コントローラ130の内部に設けられる。また、NVRAM410は、バッテリ415のような独立した電源を備えているので、メインシステムの電源が故障したときでも、そのデータ内容を保存する。A側ダンプ・ディスク255も、バッテリ420のような独立した電源を備えている。バッテリ420は、メインシステムの電源の故障中に、少なくとも、NVRAM410の内容をダンプ・ディスク255にコピーすることを可能にするぐらいに十分長くダンプ・ディスク255を動作させるのに充分な容量をもつように設計されている。バッテリ420はまた、典型的には、ディスク・コントローラ130上の他の回路を動作させるのにも使用される。このような回路は、メインシステムの電源が故障した場合にバックアップ動作を実行するのに必要とされることがある。
【0035】
NVRAM425は、ディスク・コントローラ145の内部に設けられる。NVRAM425はまた、NVRAM410と同様に、メインシステムの電源が故障したときに、そのデータ内容を保存する不揮発性ランダム・アクセス・メモリである。このようなデータ保存機能は、NVRAM425に接続されたバッテリ430などの独立した電源によって提供される。B側ダンプ・ディスク265は、ダンプ・ディスク255と同様である。バッテリ435のような電源により、ダンプ・ディスク265は、メインシステムの電源の故障中でも動作することができる。バッテリ435は、メインシステムの電源の故障中、少なくとも、NVRAM425の内容をダンプ・ディスク265に転送することを可能にするぐらい十分長くダンプ・ディスク265を動作させるのに充分な容量をもつように設計されている。バッテリ420の使用と同様に、バッテリ435または該バッテリ435と同等の電源も、典型的に、ディスク・コントローラ145上の他の回路を動作させるのに使用されることができる。
【0036】
正常なシステム動作状態のもとでは、NVRAM410とNVRAM425のデータ内容は同一であって、マスタ−スレーブの動作構成によって、互いに同期がとられている。このような動作は、通信リンク132により容易となる。
【0037】
マスタ・コントローラ内に設けられたNVRAMに含まれる有効データはまた、ダンプ・ディスク255とダンプ・ディスク265の両方に定期的にコピーされる。例えば、ディスク・コントローラ130が、ある時点でマスタ・コントローラである場合には、NVRAM410に含まれる有効データは、マスタ・コントローラ130によって、リンク260aを使ってA側ダンプ・ディスク255にコピーされ、また、リンク260bを使ってB側ダンプ・ディスク265にもコピーされる。
【0038】
このデータ・コピー動作は、一般に、システム電源が故障していない時の正常な状態中に実行され、ディスク・コントローラ130は、ホストコンピュータ135からのコマンドをサービスすることには積極的にはかかわらない。
【0039】
したがって、一般に、システムレベルの電源が故障したとき、ダンプ・ディスク255と265には、有効NVRAMデータの一部がすでに含まれている。この段階において、これらのダンプ・ディスクに転送する必要のあるNVRAMデータは、電源の故障前には転送されなかったデータだけである。この「増分」有効データは、メモリ・アドレス・セクタにおいて必ずしもアドレス位置0000から始まるとは限らない所に存在する場合があることは理解されたい。例えば、有効NVRAMデータが0000からFAAA(16進)まで存在し、アドレス0000〜AAAA(16進)のデータ内容が、正常な動作状態中にすでにダンプ・ディスクに転送されている場合には、システムレベルの電源故障状態の時点では、AAAB(16進)からFAAA(16進)までの増分有効データだけが、ダンプ・ディスクへの転送を必要とする。このような電源の故障状態のもとでは、0000からFAAA(16進)までの全NVRAMデータを転送する必要はない。システムによっては、電源故障の後で、NVRAMデータをバックアップするのに必要な時間を最小限に抑えるように、この種の「増分バックアップ」手順を利用することができる。
【0040】
図5は、2つのディスク・コントローラのそれぞれに設けられたNVRAMの内容を、それらの対応するダンプ・ディスクにコピーする代表的なプロセスを示す流れ図である。図5に示されるプロセス・ステップすなわちブロックは、このプロセスにおける特定の論理的な機能すなわちステップを実施するために、1つまたは複数の実行可能命令を含むモジュール、セグメント、またはコードの一部を表わしている。特定の例示的なプロセス・ステップが述べられているが、代替の実施も可能であることは理解されよう。さらに、ステップは、関連する機能性に依存して、図示され、または記述された順序とは異なる順序で実行されることもできる(たとえば、ほぼ同時に実行される、または逆の順序で実行されることもある)。コードはまた、本発明のいくつかのデバイスに含まれることができ、必ずしも特定のデバイスに限定されることはない。以下の説明は、或るデバイスにおけるコードの常駐性と機能性を暗に示すことがあるが、これは、もっぱら本発明の背後にある概念を説明する目的でのみ行われる。このような記述は、他の用途での本発明の様々な実施について限定するファクターと解されるべきではない。
【0041】
ステップ515とステップ520において、このシステムは、メインシステムの電源が故障したかどうかを判断する。ステップ520において、メインシステムの電源が故障したと該システムによって判断されたならば、NVRAMデータをダンプ・ディスクに転送するプロセスが、ステップ535とステップ540を介して実行される。
【0042】
ステップ535とステップ540は、一般に、同時に実行するように行われることができるが、用途によっては、A側転送とB側転送との間に小さな時間遅れを持たせて動作させることもできる。ステップ535において、A側ディスク・コントローラ130は、有効データを、NVRAM410からA側ダンプ・ディスク255にコピーし始め、ほとんど同時にステップ540において、B側ディスク・コントローラ145は、有効データを、そのNVRAM425からB側ダンプ・ディスク265にコピーし始める。
【0043】
ステップ535とステップ540で説明されるこのコピー・プロセスは、冗長ディスク・コントローラ・システムのA側とB側の両方について同時に動作するので、データをダンプ・ディスクにバックアップするのに要する時間が最小限に抑えられる。これは、逐次バックアップまたは時間多重化バックアップを用いて、非同時にデータをダンプ・ディスクにバックアップするシステムと比較すると、とりわけ有意である。
【0044】
図6は、アドレス指定カウンタを含む図5の別の実施形態である。ステップ615とステップ620において、このシステムは、メインシステムの電源が故障したかどうかを判断する。メインシステムの電源が故障していなければ、該システムは、冗長ディスク・コントローラ・システムのA側に必要とされる開始アドレスをセットする。開始アドレスをセットするこのプロセス(これは、ステップ625において実行される)は、開始アドレスを予め決めておき、それに応じて該開始アドレスをセットするという静的プロセスであることができる。例えば、開始アドレスは、FFFF(16進)にセットされることができる。
【0045】
代替的に、開始アドレスをセットするプロセスは、NVRAMに含まれる有効データのバイトのサイズに基づいて、開始アドレスを決定する動的プロセスであることもできる。例示を目的として、ダンプ・ディスクに未だ書き込まれていない増分有効データが、NVRAMのアドレス0FA2(16進)〜アドレスFFAE(16進)にあると仮定する。このような状態のもとでは、開始アドレスをセットする動的プロセスは、ステップ625において、A側開始アドレスを0FA2(16進)にセットすることができる。
【0046】
図5のステップ625の後にステップ630が続き、ステップ630において、該システムは、B側の開始アドレスをセットする。これは、ステップ625において実施される静的アドレス指定プロセスまたは動的アドレス指定プロセスのいずれかに適合したやり方で行われる。ステップ625において、静的プロセスでアドレスFFFF(16進)が用いられるとすると、それに対応して、該システムは、ステップ630において、B側開始アドレスを0000にセットすることができる。ステップ625において動的プロセスが用いられ、A側開始アドレスが0FA2(16進)にセットされた場合には、それに対応して、B側開始アドレスは、ステップ630において、FFAE(16進)にセットされることができる。
【0047】
さらに図6を参照すると、ステップ620において、メインシステムの電源が故障したと該システムによって判断されたならば、NVRAMデータをダンプ・ディスクに転送するプロセスは、ステップ635とステップ640を介して実行される。ステップ635とステップ640は、一般に、同時に実行するように行われることもできるが、用途によっては、A側転送とB側転送との間に小さな時間遅れを持たせて動作させることもできる。動的プロセスに関して上に引用された例を用い、図6のステップ635はA側に関係づけられ、その開始アドレスは0FA2(16進)である。ステップ635において、ディスク・コントローラ130(図4参照)は、0FA2(16進)からFFAE(16進)に向かって増分する増分シーケンス・カウンタを用いて、データ・バイトをNVRAM410からA側ダンプ・ディスク255に転送し始める。
【0048】
ステップ640において、ディスク・コントローラ145(図4のもの)は、FFAE(16進)から0FA2(16進)に向かって減分する減分シーケンス・カウンタを用いて、データ・バイト(この例では、B側開始アドレスとしてFFAE(16進)が使用される)を、NVRAM425からB側ダンプ・ディスク265に転送し始める。
【0049】
ステップ635とステップ640に示されるデータ転送プロセスの開始に続くある時点において、2つのダンプ・ディスクに転送されたデータが互いに補完し(相補し(complement))、それぞれのNVRAMに個別に格納されたNVRAMの有効データの完全なイメージを共同で提供することになるクロスオーバ時点に到達することがわかる。このクロスオーバ時点においてNVRAM情報が保護されたことになるが、この共同で行うやり方によるNVRAM情報の保護にかかる時間は、両方とも同じ増分計数方式を持つ2つのカウンタを用いた従来の方法で該NVRAM情報を保護するのにかかる時間のわずか半分である。したがって、図6に概略的に示される新規のデータ・バックアップ・プロセスにより、メインシステムの電源の故障中にNVRAMデータが失われるおそれがさらに少なくなる。クロスオーバ時点に達したならば、それぞれのコントローラは、充分な冗長性が得られるまで、ハードディスク上にデータをコピーし続けることができる。
【0050】
上述の例は、A側とB側という2つの側を利用したが、3つ以上の側が、このような構成を必要とするシステムにおいて実現されることができるということを理解されたい。このような場合には、これら複数の側のそれぞれに適切なアドレス範囲を提供するように、該複数の側の開始アドレスを適切なやり方で選択する。
【0051】
上述の例は、増分シーケンス・カウンタと減分シーケンス・カウンタを使用するが、適切なシーケンス計数方式を用いる他のタイプのカウンタを使用してもよい。カウント・シーケンスを使用する背後の目的は、複数のダンプ・ディスクにまたがってNVRAMデータを格納する効率的なやり方を達成することである。
【0052】
シーケンス計数方式の変形の一例として、NVRAMが、アドレス0000〜アドレスFFFF(16進)の有効データを持ち、かつ、A側、B側、およびC側と指定された3つのダンプ・ディスクが用いられるシステムを使用するものを挙げることができる。
【0053】
この例では、A側は、0000の開始アドレスで指定されることができ、B側は5555(16進)から始まり、C側はAAAA(16進)から始まることができる。これら3つの側に関連づけられた3つすべてのカウンタが増分するように設定される場合には、A側は、0000から5555(16進)に向かって増分し、B側は、5555(16進)からAAAA(16進)に向かって増分し、C側は、AAAA(16進)からFFFF(16進)に向かって増分する。A側カウンタが5555(16進)に達する時点において、これら3つのダンプ・ディスクにまたがってNVRAM有効データの相補コピー(complementary copy)が利用可能となる。この時点では、B側カウンタがAAAA(16進)を読み出し、C側カウンタがFFFF(16進)を読み出すことになる。
【0054】
図5と図6に述べられる流れ図を実施するのに必要なソフトウェアおよび/またはファームウェアは、図3のデータ・バックアップ・マネージャ500で示されるように、典型的にはディスク・コントローラ内に常駐することができるが、このようなソフトウェアおよび/またはファームウェアを、ホストコンピュータ135に常駐するように設計することもできる。こうする利点は、動作している2つまたはそれ以上のディスク・コントローラのうちどれがマスタであるかを判断するために、該2つまたはそれ以上のディスク・コントローラ間のマスタ−スレーブ・アービトレーション・プロセスにおいて発生しうる何らかの遅れまたは曖昧さを克服することができる点にある。
【0055】
ほとんどのシステムでは、データ・バックアップ・ソフトウェアを組み込んだデバイスは、典型的には、メインシステム電源の故障の場合にはバックアップ電源から動作するように設計されている。いくつかの実施形態では、ホストコンピュータ135が使用可能なバックアップ・システム電源を、ディスク・コントローラ160が使用可能なものよりも効率が良いように、外部メモリ記憶サブシステムを設計することがある。このような場合には、バックアップ・ソフトウェアを、ディスク・コントローラ160内ではなくて、ホストコンピュータ135内に設けることができる。他の実施形態では、ディスク・コントローラ160は、ホストコンピュータ135内に存在するデータ・バックアップ・ソフトウェアの一部(サブセット)も含むこともできる。
【0056】
本発明の上述の実施形態は、単に可能な実施例にすぎず、本発明の原理を明確に理解するためにのみ記述されたにすぎない点を強調しておくべきであろう。本発明の精神および原理から実質的に逸脱することなく、本発明の上述の実施形態に多くの変形および変更を行うことができる。例えば、当業者であれば、情報の特定の形式、および情報がやり取りされる媒体の特定の形式は、任意の可能な手段から選択されることができるということが理解されよう。このような変更および変形はすべて、本発明の範囲内に含まれ、特許請求の範囲で保護されることが意図されている。
【図面の簡単な説明】
【図1】冗長ディスク・コントローラ・システムにおいて2つのディスク・コントローラにより制御されるディスク・アレイを概略的に示す図。
【図2】図1においてダンプ・ディスクを備えた場合を概略的に示す図。
【図3】ディスク・コントローラ・システムにおける機能ブロックを概略的に示す図。
【図4】冗長ディスク・コントローラ・システムにおいて、バッテリ・バックアップ式のダンプ・ディスク記憶装置とともにNVRAM記憶装置を示す図。
【図5】2つのディスク・コントローラのそれぞれに設けられたNVRAMの内容を、対応するダンプ・ディスクにコピーする本発明の代表的なプロセスにかかわるステップを示す流れ図。
【図6】アドレス指定カウンタを含む図5のさらに他の形態を示す図。
【符号の説明】
130 A側ディスクコントローラ
145 B側ディスクコントローラ
410 A側NVRAM
425 B側NVRAM
255 A側ダンプ・ディスク
265 B側ダンプ・ディスク
500 データ・バックアップ・マネージャ
Claims (10)
- 第1の開始アドレスから始まる一次アドレス指定シーケンスを用いて、第1のデータ・ブロックを、一次記憶ユニットから一次バックアップ記憶ユニットにコピーするステップと、
第2の開始アドレスから始まる二次アドレス指定シーケンスを用いて、第2のデータ・ブロックを、二次記憶ユニットから二次バックアップ記憶ユニットにコピーするステップと、
を含む、データをバックアップする方法。 - 前記第2のデータ・ブロックをコピーするステップとほぼ同時に、前記第1のデータ・ブロックをコピーするステップをさらに含む、請求項1に記載の方法。
- 前記一次アドレス指定シーケンスを第1の終了アドレスで終わらせるステップと、前記二次アドレス指定シーケンスを第2の終了アドレスで終わらせるステップをさらに含む、請求項2に記載の方法。
- 前記第2の終了アドレスを、前記第1の開始アドレスと同じになるようにセットするステップと、
前記一次アドレス指定シーケンスを増分カウントとしてセットするステップと、
前記二次アドレス指定シーケンスを減分カウントとしてセットするステップと、
をさらに含む、請求項3に記載の方法。 - 第1の開始アドレスから始まる一次アドレス指定シーケンスを用いて、第1のデータ・ブロックを、一次記憶ユニットから一次バックアップ記憶ユニットにコピーするように構成された一次コントローラ(130)と、
第2の開始アドレスから始まる二次アドレス指定シーケンスを用いて、第2のデータ・ブロックを、二次記憶ユニットから二次バックアップ記憶ユニットにコピーするように構成された二次コントローラ(145)と、
を備える、データをバックアップするシステム。 - 前記一次アドレス指定シーケンスを生成するように構成された一次カウンタと、前記二次アドレス指定シーケンスを生成するように構成された二次カウンタをさらに備える、請求項5に記載のシステム。
- 前記一次カウンタは、さらに、現在の一次アドレスを数値的に増分するように構成され、前記二次カウンタは、さらに、二次アドレスを数値的に減分するように構成される、請求項6に記載のシステム。
- コンピュータ読取り可能な媒体(335)上に格納されたデータ・バックアップ・マネージャ(500)であって、
第1の開始アドレスから始まる一次アドレス指定シーケンスを用いて、第1のデータ・ブロックを、一次記憶ユニットから一次バックアップ記憶ユニットにコピーするように構成されたロジックと、
第2の開始アドレスから始まる二次アドレス指定シーケンスを用いて、第2のデータ・ブロックを、二次記憶ユニットから二次バックアップ記憶ユニットにコピーするように構成されたロジックと、
を備えるマネージャ。 - 前記第2のデータ・ブロックを、前記第1のデータ・ブロックのコピーとして生成するように構成されたロジックをさらに備える、請求項8に記載のマネージャ。
- 前記一次アドレス指定シーケンスを第1の終了アドレスで終わらせ、前記二次アドレス指定シーケンスを第2の終了アドレスで終わらせるように構成されたロジックをさらに備える、請求項9に記載のマネージャ。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/175,179 US7028154B2 (en) | 2002-06-18 | 2002-06-18 | Procedure to reduce copy time for data backup from short-term to long-term memory |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004021989A true JP2004021989A (ja) | 2004-01-22 |
Family
ID=22639268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003160872A Withdrawn JP2004021989A (ja) | 2002-06-18 | 2003-06-05 | データをバックアップする方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US7028154B2 (ja) |
JP (1) | JP2004021989A (ja) |
GB (1) | GB2392264B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014182460A (ja) * | 2013-03-18 | 2014-09-29 | Fujitsu Ltd | ストレージ制御装置及びストレージシステム |
Families Citing this family (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7100013B1 (en) | 2002-08-30 | 2006-08-29 | Nvidia Corporation | Method and apparatus for partial memory power shutoff |
US7293197B2 (en) * | 2003-08-13 | 2007-11-06 | Micro Memory Llc | Non-volatile memory with network fail-over |
JP4480386B2 (ja) | 2003-11-28 | 2010-06-16 | 株式会社日立製作所 | ディスクアレイ装置及びディスクアレイ装置のデータ中継方法 |
US7266717B2 (en) * | 2004-01-26 | 2007-09-04 | Network Appliance, Inc. | System and method of selection and communication of a disk for storage of a coredump |
US7321982B2 (en) | 2004-01-26 | 2008-01-22 | Network Appliance, Inc. | System and method for takeover of partner resources in conjunction with coredump |
JP2006031446A (ja) * | 2004-07-16 | 2006-02-02 | Fujitsu Ltd | データ記憶装置、データ記憶方法およびデータ記憶プログラム |
US7490203B2 (en) * | 2005-05-12 | 2009-02-10 | International Business Machines Corporation | Method for dumping data in processing systems to a shared storage |
US20070033356A1 (en) * | 2005-08-03 | 2007-02-08 | Boris Erlikhman | System for Enabling Secure and Automatic Data Backup and Instant Recovery |
US7818160B2 (en) * | 2005-10-12 | 2010-10-19 | Storage Appliance Corporation | Data backup devices and methods for backing up data |
US8195444B2 (en) | 2005-10-12 | 2012-06-05 | Storage Appliance Corporation | Systems and methods for automated diagnosis and repair of storage devices |
US7844445B2 (en) * | 2005-10-12 | 2010-11-30 | Storage Appliance Corporation | Automatic connection to an online service provider from a backup system |
US8069271B2 (en) * | 2005-10-12 | 2011-11-29 | Storage Appliance Corporation | Systems and methods for converting a media player into a backup device |
US7899662B2 (en) * | 2005-10-12 | 2011-03-01 | Storage Appliance Corporation | Data backup system including a data protection component |
US7457928B2 (en) | 2005-10-28 | 2008-11-25 | International Business Machines Corporation | Mirroring system memory in non-volatile random access memory (NVRAM) for fast power on/off cycling |
US7900088B1 (en) * | 2006-09-29 | 2011-03-01 | Emc Corporation | System for performing incremental file system check |
US20080126446A1 (en) * | 2006-11-27 | 2008-05-29 | Storage Appliance Corporation | Systems and methods for backing up user settings |
US7987383B1 (en) | 2007-04-27 | 2011-07-26 | Netapp, Inc. | System and method for rapid indentification of coredump disks during simultaneous take over |
US20090030955A1 (en) * | 2007-06-11 | 2009-01-29 | Storage Appliance Corporation | Automated data backup with graceful shutdown for vista-based system |
WO2009001514A1 (ja) * | 2007-06-22 | 2008-12-31 | Panasonic Corporation | メモリコントローラ、不揮発性記憶装置、ファイルシステム、不揮発性記憶システム、データ書き込み方法及びデータ書き込みプログラム |
US8862689B2 (en) * | 2007-10-24 | 2014-10-14 | International Business Machines Corporation | Local flash memory and remote server hybrid continuous data protection |
US8327173B2 (en) * | 2007-12-17 | 2012-12-04 | Nvidia Corporation | Integrated circuit device core power down independent of peripheral device operation |
US8583865B1 (en) * | 2007-12-21 | 2013-11-12 | Emc Corporation | Caching with flash-based memory |
US9411390B2 (en) | 2008-02-11 | 2016-08-09 | Nvidia Corporation | Integrated circuit device having power domains and partitions based on use case power optimization |
US9423846B2 (en) | 2008-04-10 | 2016-08-23 | Nvidia Corporation | Powered ring to maintain IO state independent of the core of an integrated circuit device |
US8762759B2 (en) * | 2008-04-10 | 2014-06-24 | Nvidia Corporation | Responding to interrupts while in a reduced power state |
JP5581577B2 (ja) * | 2008-08-29 | 2014-09-03 | 富士通株式会社 | データ処理装置 |
US8560716B1 (en) * | 2008-12-19 | 2013-10-15 | Emc Corporation | Time and bandwidth efficient recoveries of space reduced data |
US8725690B1 (en) | 2008-12-19 | 2014-05-13 | Emc Corporation | Time and bandwidth efficient backups of space reduced data |
US8086694B2 (en) * | 2009-01-30 | 2011-12-27 | Bank Of America | Network storage device collector |
US8688711B1 (en) | 2009-03-31 | 2014-04-01 | Emc Corporation | Customizable relevancy criteria |
US8413137B2 (en) | 2010-02-04 | 2013-04-02 | Storage Appliance Corporation | Automated network backup peripheral device and method |
US8954798B2 (en) * | 2011-02-11 | 2015-02-10 | Taejin Info Tech Co., Ltd. | Alarm-based backup and restoration for a semiconductor storage device |
US8639976B2 (en) * | 2011-02-15 | 2014-01-28 | Coraid, Inc. | Power failure management in components of storage area network |
US9471395B2 (en) | 2012-08-23 | 2016-10-18 | Nvidia Corporation | Processor cluster migration techniques |
US20140062561A1 (en) | 2012-09-05 | 2014-03-06 | Nvidia Corporation | Schmitt receiver systems and methods for high-voltage input signals |
WO2014045391A1 (ja) * | 2012-09-21 | 2014-03-27 | 株式会社 東芝 | 物理ブロック間でデータをコピーするディスクアレイ装置、ディスクアレイコントローラ及び方法 |
US10735500B2 (en) * | 2012-12-11 | 2020-08-04 | Hewlett Packard Enterprise Development Lp | Application server to NVRAM path |
EP2937785B1 (en) * | 2014-04-25 | 2016-08-24 | Fujitsu Limited | A method of recovering application data |
US9081828B1 (en) | 2014-04-30 | 2015-07-14 | Igneous Systems, Inc. | Network addressable storage controller with storage drive profile comparison |
US8935567B1 (en) * | 2014-04-30 | 2015-01-13 | Igneous Systems, Inc. | Network addressable storage controller with storage drive profile comparison |
USRE48835E1 (en) | 2014-04-30 | 2021-11-30 | Rubrik, Inc. | Network addressable storage controller with storage drive profile comparison |
US9116833B1 (en) | 2014-12-18 | 2015-08-25 | Igneous Systems, Inc. | Efficiency for erasure encoding |
US9986569B2 (en) * | 2015-03-18 | 2018-05-29 | Microsoft Technology Licensing, Llc | Battery-backed RAM for wearable devices |
US9361046B1 (en) | 2015-05-11 | 2016-06-07 | Igneous Systems, Inc. | Wireless data storage chassis |
US10002040B2 (en) * | 2016-01-04 | 2018-06-19 | International Business Machines Corporation | Detection and automatic transfer of standalone system dumps |
CN105976594A (zh) * | 2016-04-29 | 2016-09-28 | 天津大学 | 阵列系统的双备份传输链路装置 |
KR20200019513A (ko) * | 2018-08-14 | 2020-02-24 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그 동작 방법 |
US11099948B2 (en) | 2018-09-21 | 2021-08-24 | Microsoft Technology Licensing, Llc | Persistent storage segment caching for data recovery |
US20220391321A1 (en) * | 2021-06-04 | 2022-12-08 | Micron Technology, Inc. | Concurrent page cache resource access in a multi-plane memory device |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04205619A (ja) | 1990-11-30 | 1992-07-27 | Toshiba Corp | ディスク制御システム |
US5274799A (en) | 1991-01-04 | 1993-12-28 | Array Technology Corporation | Storage device array architecture with copyback cache |
US5586291A (en) | 1994-12-23 | 1996-12-17 | Emc Corporation | Disk controller with volatile and non-volatile cache memories |
WO1997001139A1 (en) * | 1995-06-23 | 1997-01-09 | Elonex Plc | Disk array controller with enhanced synchronous write |
US6304980B1 (en) * | 1996-03-13 | 2001-10-16 | International Business Machines Corporation | Peer-to-peer backup system with failure-triggered device switching honoring reservation of primary device |
KR100231780B1 (ko) | 1997-04-18 | 1999-11-15 | 김영환 | 이중화 시스템의 백업 우선순위 부여방법 |
US6243795B1 (en) | 1998-08-04 | 2001-06-05 | The Board Of Governors For Higher Education, State Of Rhode Island And Providence Plantations | Redundant, asymmetrically parallel disk cache for a data storage system |
US6260124B1 (en) * | 1998-08-13 | 2001-07-10 | International Business Machines Corporation | System and method for dynamically resynchronizing backup data |
US6389459B1 (en) * | 1998-12-09 | 2002-05-14 | Ncr Corporation | Virtualized storage devices for network disk mirroring applications |
US6487561B1 (en) * | 1998-12-31 | 2002-11-26 | Emc Corporation | Apparatus and methods for copying, backing up, and restoring data using a backup segment size larger than the storage block size |
US6397307B2 (en) * | 1999-02-23 | 2002-05-28 | Legato Systems, Inc. | Method and system for mirroring and archiving mass storage |
US6338126B1 (en) * | 1999-12-06 | 2002-01-08 | Legato Systems, Inc. | Crash recovery without complete remirror |
JP3458804B2 (ja) * | 1999-12-27 | 2003-10-20 | 日本電気株式会社 | 情報記録装置およびその制御方法 |
US6629248B1 (en) * | 2000-03-30 | 2003-09-30 | Intel Corporation | Apparatus and method for maintaining a security association for manageability across power failures |
US6636984B1 (en) * | 2000-06-15 | 2003-10-21 | International Business Machines Corporation | System and method for recovering data from mirror drives following system crash |
US6587933B2 (en) | 2001-01-26 | 2003-07-01 | International Business Machines Corporation | Method, system, and program for discarding data in a storage system where updates to a primary storage device are shadowed in a secondary storage device |
US6757753B1 (en) * | 2001-06-06 | 2004-06-29 | Lsi Logic Corporation | Uniform routing of storage access requests through redundant array controllers |
US6839819B2 (en) * | 2001-12-28 | 2005-01-04 | Storage Technology Corporation | Data management appliance |
US6820180B2 (en) * | 2002-04-04 | 2004-11-16 | International Business Machines Corporation | Apparatus and method of cascading backup logical volume mirrors |
-
2002
- 2002-06-18 US US10/175,179 patent/US7028154B2/en not_active Expired - Fee Related
-
2003
- 2003-06-04 GB GB0312854A patent/GB2392264B/en not_active Expired - Fee Related
- 2003-06-05 JP JP2003160872A patent/JP2004021989A/ja not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014182460A (ja) * | 2013-03-18 | 2014-09-29 | Fujitsu Ltd | ストレージ制御装置及びストレージシステム |
Also Published As
Publication number | Publication date |
---|---|
GB2392264A (en) | 2004-02-25 |
GB0312854D0 (en) | 2003-07-09 |
GB2392264B (en) | 2006-02-15 |
US20030233525A1 (en) | 2003-12-18 |
US7028154B2 (en) | 2006-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2004021989A (ja) | データをバックアップする方法 | |
US5579474A (en) | Disk array system and its control method | |
US8327069B2 (en) | Storage system and storage control apparatus provided with cache memory group including volatile memory and nonvolatile memory | |
US6912669B2 (en) | Method and apparatus for maintaining cache coherency in a storage system | |
JP3316500B2 (ja) | 移動されたデータの完全性を維持しながらraidセットにおけるドライブ数の拡張 | |
US8024525B2 (en) | Storage control unit with memory cache protection via recorded log | |
US8938574B2 (en) | Methods and systems using solid-state drives as storage controller cache memory | |
US7600152B2 (en) | Configuring cache memory from a storage controller | |
US6438647B1 (en) | Method and apparatus for providing battery-backed immediate write back cache for an array of disk drives in a computer system | |
US20060107129A1 (en) | Method and computer program product for marking errors in BIOS on a RAID controller | |
US20030084397A1 (en) | Apparatus and method for a distributed raid | |
US8041891B2 (en) | Method and system for performing RAID level migration | |
JP2006252126A (ja) | ディスクアレイ装置及びその再構築方法 | |
US6073221A (en) | Synchronization of shared data stores through use of non-empty track copy procedure | |
WO2001040925A1 (fr) | Batterie de disques et procede d'extension de sa capacite | |
JP7060789B2 (ja) | 電子システム、情報処理装置および制御方法 | |
US7293197B2 (en) | Non-volatile memory with network fail-over | |
US9286175B2 (en) | System and method of write hole protection for a multiple-node storage cluster | |
US20100115310A1 (en) | Disk array apparatus | |
JP2000357059A (ja) | ディスクアレイ装置 | |
JP3399398B2 (ja) | フォールトトレラントシステムにおけるミラーディスク復旧方式 | |
JP4398596B2 (ja) | ディスクアレイ装置 | |
KR19990051729A (ko) | 이중 어레이 제어기를 갖는 래이드 시스템의 구조 | |
JP3614328B2 (ja) | ミラーディスク制御装置 | |
JPH06332632A (ja) | ディスクアレイ装置及びその制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060905 |