(57)【要約】データ格納システムは、第１の格納プロセッサ、第２の格納プロセッサ、および通信サブシステムからなる。通信サブシステムは（１）第１の格納プロセッサと第２の格納プロセッサとの間を相互接続するインタフェイス部分、（２）インタフェイス部分に接続されたクロック回路、および（３）インタフェイス部分とクロック回路とに接続されたコントローラ、を有する。コントローラは、第１の格納プロセッサと第２の格納プロセッサとの間を通信するインタフェイス部分を作動して、クロック回路内の故障を検知し、検知に応答してインタフェイス部分をリセットして、第１の格納プロセッサと第２の格納プロセッサのうちの１つが動作を継続できるようにする。インタフェイス部分をこのようにリセットすることによって、残った格納プロセッサがロックされるのを防止し、それによって、格納プロセッサは故障後も動作を継続できる。
2007534054.tif 000002
【特許請求の範囲】
【請求項１】
第１の格納プロセッサと、
第２の格納プロセッサと、
（１）第１の格納プロセッサと第２の格納プロセッサとの間を相互接続するインタフェイス部分、（２）同インタフェイス部分に接続されるクロック回路、および（３）同インタフェイス部分と同クロック回路とに接続されるコントローラ、を有する通信サブシステムと、を備え、
同コントローラは、第１の格納プロセッサと第２の格納プロセッサとの間の通信を行うべく前記インタフェイス部分を作動し、
クロック回路内の故障を検知し、
検知した故障に応答して、第１の格納プロセッサと第２の格納プロセッサとのうちの１つ稼動させるべく前記インタフェイス部分をリセットする、
データ格納システム。
【請求項２】
前記通信サブシステムのコントローラは監視ステージを含み、
同監視ステージは、所定のタイムアウト時間内にクロック回路からのクロック信号を受信しなかった場合にエラー信号を発生すべく構成されている請求項１のデータ格納システム。
【請求項３】
前記通信サブシステムのインタフェイス部分は、第１の格納プロセッサに接続される第１のインタフェイス装置、第２の格納プロセッサに接続される第２のインタフェイス装置、および第１のインタフェイス装置と第２のインタフェイス装置とを結合する通信バス、を含み、
前記通信サブシステムのコントローラは更に、前記監視ステージに接続されて、エラー信号に応答して第１のインタフェイス装置にリセット信号を送り、同リセット信号は第２の格納プロセッサが動作を継続すべく構成された、請求項２に記載のデータ格納システム。
【請求項４】
前記通信サブシステムのインタフェイス部分は、
キャッシュミラー・インタフェイス（ＣＭＩ）バスと、
前記第１の格納プロセッサに接続された第１のＰＣＩインタフェイスと、前記ＣＭＩバスに接続された第１のＣＭＩインタフェイスとを有する第１のインタフェイス装置と、
前記第２の格納プロセッサに接続された第２のＰＣＩインタフェイスと、前記ＣＭＩバスに接続された第２のＣＭＩインタフェイスとを有する第２のインタフェイス装置と、
からなる請求項１のデータ格納システム。
【請求項５】
前記通信サブシステムのインタフェイス部分は、
前記第１の格納プロセッサに接続された第１のインタフェイスと、
前記第２の格納プロセッサに接続された第２のインタフェイスと、
前記第１のインタフェイスと前記第２のインタフェイスとの間に配置された、前記通信サブシステムのコントローラに接続されたスイッチと、
からなる請求項１のデータ格納システム。
【請求項６】
前記第１の格納プロセッサが第１の電源から電力を受け、前記第２の格納プロセッサが第２の電源から電力を受け、
前記通信サブシステムのコントローラは更に、前記第１の電源および前記第２の電源のうちの１つから電源信号を受けないのに応答してスイッチを開く請求項５に記載のデータ格納システム。
【請求項７】
第１の格納プロセッサと第２の格納プロセッサとを有するデータ格納システムのための通信サブシステムであって、同通信サブシステムは、
第１の格納プロセッサと第２の格納プロセッサとを相互接続するインタフェイス部分と、
同インタフェイス部分に接続されたクロック回路と、
同インタフェイス部分と同クロック回路とに接続されたコントローラと、
からなり、同コントローラは、
前記第１の格納プロセッサと前記第２の格納プロセッサとの間を通信する前記インタフェイス部分を作動して、
前記クロック回路内の故障を検知して、
検知した故障に応答して前記インタフェイス部分をリセットして、前記第１の格納プロセッサと前記第２の格納プロセッサとのうちの１つを動作させる、通信サブシステム。
【請求項８】
（１）第１の格納プロセッサ、（２）第２の格納プロセッサ、および（３）前記第１の格納プロセッサと前記第２の格納プロセッサとに接続された通信サブシステム、を有するデータ格納システムにおいて、通信サブシステム内の故障の際にもデータ格納システムを動作させる方法であって、
前記第１の格納プロセッサと前記第２の格納プロセッサとがデータ格納を行っている間、前記第１の格納プロセッサと前記第２の格納プロセッサとの間で通信するための通信サブシステムを動作させて、
同通信サブシステムの部分内での故障を検知して、
検知した故障に応答して通信サブシステムのインタフェイス部分をリセットして、前記第１の格納プロセッサと前記第２の格納プロセッサのうちの１つの動作を継続させる、方法。
【請求項９】
前記通信サブシステムの部分はクロック回路を含み、前記故障の検知は、
所定のタイムアウト時間内にクロック回路からクロック信号を受けないのに応答してエラー信号を生成する工程と、
前記第１の格納プロセッサに接続された第１のインタフェイス装置と、前記第２の格納プロセッサに接続された第２のインタフェイス装置とであって、第１のインタフェイス装置と第２のインタフェイス装置とは通信バスを介して相互接続されていることと、
インタフェイス部分のリセットによって、第１のインタフェイス装置へリセット信号を出力して、前記第２の格納プロセッサの動作を継続させる請求項８に記載の方法。
【請求項１０】
前記通信サブシステムのインタフェイス部分は、前記第１の格納プロセッサに接続された第１のインタフェイス装置と、前記第２の格納プロセッサに接続された第２のインタフェイス装置とを含み、更に、
検知された故障に応答して、第１のインタフェイス装置と第２のインタフェイス装置間に配置されたスイッチを開く工程であって、
前記通信サブシステムの重要部分は、（１）前記第１の格納プロセッサの第１の電源から第１の電源信号を受信する第１の電源入力と、（２）前記第２の格納プロセッサの第２の電源から第２の電源信号を受信する第２の電源入力と、からなり、
スイッチを開くことによって、第１の電源信号と第２の電源信号とのうちの１つ信号を受けないのに応答して第１と第２のインタフェイス装置間の電気経路を遮断する、請求項８の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、故障の際にデータ格納システムの動作を維持する方法、特には、故障（例えば、格納プロセッサ間に配置されている通信サブシステムの一部分での故障）の際にも、複数の格納プロセッサを有するデータ格納システムの動作を維持するための方法に関する。
【背景技術】
【０００２】
データ格納システムは、１つ以上の外部のホストコンピュータの代わりに情報の書き込みと読み出しを行う。通常のデータ格納システムは、ネットワークアダプタ、格納処理回路、および一組のディスクドライバを備える。ネットワークアダプタは外部のホストコンピュータと格納処理回路との間を接続する。格納処理回路は、データシステムが動作を最適に行える（例えば、高速格納、データの先取り等）キャッシュメモリを提供するだけでなく、種々のデータ格納動作（例えば、読み込み動作、格納動作、読み込み‐修正‐書き込み動作等）を行う。一組のディスクドライバは、速度は比較的に遅いが非揮発性の方法での、ロバストなデータ格納容量を有する。
【０００３】
幾つかのデータ格納システムの格納処理回路は、利用可能性を広げ、データ格納の処理能力を上げるために、複数の格納処理ユニットを有する。このようなシステムでは、各格納処理ユニットは個々にデータ格納することができる。
【０００４】
例えば、ある従来のデータ格納システムは２つの格納処理ユニットを有して、キャッシュミラー・インタフェイス（Ｃａｓｈｅ  Ｍｉｒｒｏｒｉｎｇ  Ｉｎｔｅｒｆａｃｅ（ＣＭＩ））バスを介して相互に通信できる構成になっている。それによって、各ミラーディスク書き込みの影響を最小にすると同時にキャッシュの一貫性が維持される。特にＣＭＩバスは、ディスク書き込み動作が完了する前に、両方の格納処理ユニット上のデータのコピーを使用できる。このシステムにおいては、第１の格納処理ユニットは第１のＣＭＩインタフェイス回路を有し、第２の格納処理ユニットは第２のＣＭＩインタフェイス回路を有し、そして、第１と第２の格納処理ユニットはＣＭＩバスを介して相互に接続している。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
残念ながら、上記の従来のデータ格納システムには限界がある。例えば、そのデータ格納システムの動作の際、ＣＭＩ関連の回路内に、（例えば、クロック故障、アービター故障等の）故障や格納処理ユニットの１つに故障があるかもしれない。例えば、そのような故障が反対のＣＭＩインタフェイス回路中で発生した時に、ＣＭＩインタフェイス回路の１つがＣＭＩバス上でコマンドを出していると仮定する。このような場合、故障していないＣＭＩインタフェイス回路はハンギングアップして、故障した格納処理ユニットの動作をロックする。こうなった場合、データ格納システム全体は更なるデータ格納動作が妨げられる。
【０００６】
更に、複数の格納プロセッサ備えた殆どの従来のデータ格納システムは、複数の電源を備えた高価な冗長電力供給構成を有して、電源が故障した場合にシステムが停止しないようになっている。残念ながら、この高価な冗長電力供給構成をより安価、標準の電源に替えると、ユーザがうっかりしてＡＣコードを外して、電源の故障ではないのに電気が止まって、故障していない回路（例えば、格納プロセッサ）を損傷させてしまう危険性がある。
【課題を解決するための手段】
【０００７】
上述の従来のデータ格納システムに対して、本発明の実施例は、複数の格納プロセッサを備えたデータ格納システムの故障（例えば、格納プロセッサ間に置かれた通信サブシステムの一部での単純な故障）の際にも、動作を継続する方法を志向している。特にこの方法は、残りの格納プロセッサをうっかり停止させることを防ぎ、データ格納システム全体の使用を継続できる。更にこの方法は、格納プロセッサに個々に電力を供給するために安価な標準の電力を使用でき、通信サブシステムのような共用リソースのために局所的に共用電力を供給できるので、信頼性のある故障耐性と同時にコスト節約にもなる。すなわち、この方法は、低コストの汎用部品を用いて、全体の信頼性を損なわずに全体のコストを下げ得る。
【０００８】
本発明の一実施例は、第１の格納プロセッサ、第２の格納プロセッサ、および通信サブシステムを備える、データ格納システムである。その通信サブシステムは、（１）第１の格納プロセッサと第２の格納プロセッサとの間を相互接続するインタフェイス部分、（２）インタフェイス部分に接続されたクロック回路、および（３）そのインタフェイス部分とクロック回路とを接続するコントローラ、を有する。そのコントローラは、第１の格納プロセッサと第２の格納プロセッサとの間を通信してインタフェイス部分を操作できるように構成され、クロック回路内の故障を検知し、検知された故障に応答してインタフェイス部分をリセットして、第１と第２の格納プロセッサとのどちらかの動作を継続できるようにしている。このようなインタフェイス部分のリセットによって、残りの格納プロセッサが停止するのを防ぎ、その格納プロセッサが故障の後も動作を継続できる。
【０００９】
一実施例では、通信サブシステムのインタフェイス部分は、第１の格納プロセッサに接続した第１のインタフェイスと、第２の格納プロセッサに接続した第２のインタフェイスと、通信サブシステムのコントローラに接続したスイッチと、を含む。そのスイッチは第１と第２のインタフェイスの間に配置される。この配置では、コントローラは、第１のインタフェイスを作動する第１電源か、第２のインタフェイスを作動する第２電源か、からの電源信号が消えるとスイッチが開く構成になっている。したがって、残りのインタフェイスに供給される電圧は、電力を失ったインタフェイスを損傷しない。
【００１０】
本発明の特定の実施例から、本発明の特徴や利点が明らかになる。添付の図では全体を通じて、同じ部品は似た参照番号で示してある。図は必ずしもスケール通りではなく、本発明の理論を説明する場所では誇張されている。
【００１１】
本発明の実施例は、故障（例えば、格納プロセッサ間に配置されている通信サブシステムの一部分での一点の故障）の際、複数の格納プロセッサを有するデータ格納システムの動作を維持するための方法である。特に、この方法は、残りの格納プロセッサをうっかり停止してしまうのを防止して、全体としてデータ格納システムを継続使用できるようにする。更に、この技術は、各格納プロセッサに別々に安価な標準の電源で作動でき、通信サブシステムのような共用リソースのために局所的に電力を共用できて、信頼性のある故障耐性とコスト節減との両方を実現する。すなわち、この方法は低コストの汎用部品を使用して、全体の信頼性を維持しながら全体コストを削減する。
【発明を実施するための最良の形態】
【００１２】
図１は、本発明を使用するのに適したデータ格納システム２０を示す。そのデータ格納システム２０は、外部のホストコンピュータ２２（１）、…、２２（ｎ）のセット（ホスト２２の集合）の代わりに情報を格納し取り出すべく構成されている。そのデータ格納システム２０は１つ以上のネットワークインタフェイス（簡略化のために不図示）を備えて、ＴＣＰ／ＩＰ通信、ファイバチャネル、カウントキーデータ（ｃｏｕｎｔ−ｋｅｙ−ｄ
ａｔａ）記録フォーマット、ブロックＩ／Ｏ、等の種々のプロトコルを用いてホスト２２と通信し得る。
【００１３】
図１に示すように、そのデータ格納システム２０は、処理回路２４と格納装置２６のアレー（例えば、ディスクドライブ）を含む。処理回路２４は、格納プロセッサ２８（Ａ）、２８（Ｂ）（格納プロセッサ２８の集合）、および格納プロセッサ２８間に配置されたキャッシュミラー・インタフェイス（ＣＭＩ）通信サブシステム３０を含む。格納プロセッサ２８は、ホスト２２の代わりにデータ格納動作を個々に行うように構成されている。更に、格納プロセッサ２８は、ＣＭＩ通信サブシステム３０を介して相互通信すべく構成されている。特に、格納プロセッサ２８は、ＣＭＩプロトコルに沿ってコマンドとデータを交換して、全システムの動作をミラーするキャッシュの影響を最小にすると同時にキャッシュの一貫性を維持する。
【００１４】
更に図１において、格納プロセッサ２８（Ａ）は、電源３２（Ａ），局所クロック３４（Ａ），制御回路３６（Ａ），および追加のロジック３８（Ａ）を備える。制御回路３６（Ａ）は本質的に格納プロセッサ２８（Ａ）の処理エンジンで、電源３２（Ａ）からの電源信号（４０Ａ）と局所クロック３４（Ａ）からのクロック信号（４２Ａ）に基づいてデータ格納動作（例えば、負荷や格納動作、キャッシング動作等）を行う。これらの信号（４０Ａ）、（４２Ｂ）を制御回路３６（Ａ）に運ぶ特定の電力面／線とクロック配線とは、図１を簡略化するために意識的に削除してある。
【００１５】
同様に、格納プロセッサ２８（Ｂ）は、電源３２（Ｂ），局所クロック３４（Ｂ），制御回路３６（Ｂ），および追加のロジック３８（Ｂ）を備える。格納プロセッサ２８（Ｂ）と接続して、制御回路３６（Ｂ）（すなわち、処理エンジン）は電源３２（Ｂ）からの電源信号（４０Ｂ）によって作動し、局所クロック３４（Ｂ）からのクロック信号（４２Ｂ）によって駆動される。更に、これらの信号（４０Ｂ）、（４２Ｂ）を制御回路３６（Ｂ）に運ぶ特定の電力面／線とクロック配線とは、図１を簡略化するために意識的に削除してある。
【００１６】
更に図１において、通信サブシステム３０は、共通電源４４、インタフェイス部分４６、および制御部分４８を備える。共通電源４４は、電源３２（Ａ）、３２（Ｂ）（まとめて、電源（３２））から電源信号（４０Ａ）、（４０Ｂ）（まとめて、電源信号（４０））を受信して、共有電力（すなわち、局部共有電力）を通信サブシステム３０の種々の部品に供給する。それによって、電源３２（Ａ）の１つが故障した場合でも、種々の部品は、残りの電源３２によって供給される電力によって動作を継続する。
【００１７】
インタフェイス部分４６は、格納プロセッサ２８（Ａ）と格納プロセッサ２８（Ｂ）との間を相互接続して、格納プロセッサ２８間のＣＭＩ通信経路を提供して動作を統合する。制御部分４８はインタフェイス部分４６の動作を制御する。通信システムサブ３０の更に詳細な説明を行う。
【００１８】
インタフェイス部分４６は、第1の格納プロセッサ２８（Ａ）に接続されている第1のインタフェイス装置５０（Ａ）、第２の格納プロセッサ２８（Ｂ）に接続されている第２のインタフェイス装置５０（Ｂ）、およびインタフェイス装置５０（Ａ）、５０（Ｂ）（まとめて、インタフェイス装置５０）に接続しているＣＭＩバス５２を含む。例として、インタフェイス装置５０はパッケージングされ、ＣＭＩインタフェイスを形成する既製部品が片面にあり、もう一方の面にはＰＣＩインタフェイスがある。従って、制御回路３６（Ａ），３６（Ｂ）（まとめて、制御回路３６）が局所的なＰＣＩバスであるバス５４を介して、インタフェイス装置５０に接続されている。
【００１９】
インタフェイス装置５０の動作をサポートするために、通信サブシステム３０の制御部分４８は、クロック回路５６、コントローラ５８、監視回路６０、およびスイッチ６２を含む。クロック回路５６は、共通クロック信号６４を出力するように構成されている。クロック回路５６に接続しているインタフェイス装置５０は、ＣＭＩバス５２を介して通信するために共通のクロック信号６４を使用し、局所バス５４を介して通信するように局所クロック信号４２（Ａ）、４２（Ｂ）（まとめて、局所クロック信号４２）を使用する。インタフェイス装置５０を介して通る点線は、これらのクロック信号６４、４２によって、インタフェイス装置５０の局所的同期動作を示している。
【００２０】
クロック回路５６とインタフェイス装置５０に接続しているコントローラ５８は、インタフェイスする部分４６（すなわち、インタフェイス装置５０）の動作を可能にし、それによって、ＣＭＩバス５２を介して格納プロセッサ２８間での通信が可能となる。コントローラ５８は、通信サブシステム３０のデータ格納システム２０が全体としてロックされないために、重要な故障を検出し処理するように構成されている。例えばコントローラ５８は、クロック回路５６内での故障（例えば、クロック信号６４の劣化）を検知して、検知された故障に応答して、インタフェイスする部分４６をリセットして動作を継続し、それによって、データ格納システム２０の全体的な使用を継続して可能にする。この故障の更なる詳細を図２を参照して述べる。
【００２１】
図２は、通信サブシステム３０のコントローラ５８と監視回路６０を示す。コントローラ５８はクロック入力７０、アービター回路７２、および除算器７４を含む。監視回路６０は監視ステージ７６と出力ステージ７８を含む。監視ステージ７６は個々の監視要素８０（Ａ）、８０（Ｂ）（まとめて、監視要素８０）を含み、それらはそれぞれの格納プロセッサ２８（Ａ），２８（Ｂ）に対応する。同様に、出力ステージ７８は個々の出力要素８２（Ａ）、８２（Ｂ）（まとめて、出力要素８２）を含み、それらはインタフェイス装置５０（Ａ），５０（Ｂ）にそれぞれ接続されて、それらはそれぞれの格納プロセッサ２８（Ａ），２８（Ｂ）に対応する。
【００２２】
動作の際、クロック入力７０はクロック回路５６から共通のクロック信号６４を受信し、アービター回路７２は、ＣＭＩプロトコルに沿って、格納プロセッサ２８間の動作を調整する。したがって、除算器７４（例えばカウンタ）はクロック信号６４のクロックパルスをカウントして、それぞれの除算器信号８４（Ａ）、８４（Ｂ）（まとめて、除算器信号８４を監視要素８０に出力する。各除算器信号８４は、クロック信号６４よりも長い周期が長い。一実施例において、除算器７４は３２で除算する回路であり、クロック周波数を３２分割する。他の実施例では、除算器７４は６４で除算する回路であり、クロック周波数を６４分割する。
【００２３】
監視ステージ７６の監視要素８０は、鼓動すなわちクロックパルスのために除算器信号８４を監視して、クロックパルスが所定の時間（例えば数秒）なかった場合、インタフェイス装置５０上で作動する。特に、監視要素８０（Ａ）は、制御信号８６（Ａ）を出力要素８２（Ａ）に送って、出力信号８８（Ａ）が格納プロセッサ２８（Ａ）の作動やリセットを制御する。同様に、監視要素８０（Ｂ）は、制御信号８６（Ｂ）を出力要素８２（Ｂ）に送って、出力信号８８（Ｂ）が格納プロセッサ２８（Ｂ）の作動又はリセットを制御する。
【００２４】
この動作によって、監視回路（６０）はインタフェイス部分４６をリセットし、それによって、クロック回路４４やアービター回路７２が故障の場合の、全体としてのデータ格納システム２０の迷走を防止する。特に、監視要素８０が所定の時間内にクロックパルスを受信している間は、監視要素８０は出力要素８２をインタフェイス装置５０の動作が可能なように指示する。しかしながら、監視要素８０（例えば、出力要素８２（Ｂ））が所
定の時間内にクロックパルスを受信しなかった場合、監視要素８０はエラー信号（例えば、制御信号８６（Ｂ））とは異なる電圧）を出力して、対応する出力要素８２（例えば、出力要素８２（Ｂ））にリセット信号（例えば、出力信号８８（Ｂ）内でのリセットパルス、図２を参照）を出力させて、それぞれのインタフェイス装置５０（例えば、インタフェイス装置５０（Ｂ）をリセットする。一実施例において、インタフェイス装置５０は、すべてのデータ格納システム２０が回復やリセットをするまで、リセットモードに留まる。
【００２５】
上述のように、通信サブシステム３０内での１つの故障（例えば、クロック回路５６やアービター回路７２の故障）の後、リセットされたインタフェイス装置５０は、故障を許容する方法で動作を維持するように、格納プロセッサ２８（例えば、格納プロセッサ２８（Ｂ））の使用を一部停止にする。すなわち、格納プロセッサ２８はインタフェイス装置５０によってロックされずに、ホスト２２の代わりにデータ格納動作を継続する。本発明の更なる詳細について、図３を参照して説明する。
【００２６】
図３はコントローラ５８の他の部分９０を示す。コントローラ５８の部分９０は、電圧モニタ９２（Ａ），９２（Ｂ）を備え、それらは格納プロセッサ２８（Ａ）、２８（Ｂ）の電源３２（Ａ）、３２（Ｂ）にそれぞれ接続して、電源信号４０（Ａ），４０（Ｂ）を受信する。電圧モニタ９２（Ａ），９２（Ｂ）（まとめて、電圧モニタ９２）は更に、ＣＭＩバス５２に沿って位置するスイッチ６２と接続している（図１を参照）。部分９０は、ＣＭＩバス５２の電気経路の接続を制御する。特に、部分９０が電源信号４０（Ａ），４０（Ｂ）の両方を受信する間は、部分９０は、スイッチ６２を閉じるスイッチ信号９４（Ａ），９４（Ｂ）を提供して、インタフェイス装置５０と接続する。
【００２７】
しかしながら、電源３２の１つ（例えば、電源３２３（Ｂ））が故障したと仮定する。この状況で、対応する電圧モニタ９２（例えば、電源９２（Ｂ））が電源信号４０（例えば、電源信号４０（Ｂ））を受信できなかった場合、電圧モニタ９２はスイッチ６２を開放にして（例えば、スイッチ信号９４（Ｂ）の電圧を変化させる）、ＣＭＩバス５２の電気経路を遮断する。それによって、故障した格納プロセッサ２８のインタフェイス装置５０は、残りの格納プロセッサ２８の残りのインタフェイス装置５０による電圧出力によって損傷することはない（例えば、インタフェイス装置５０（Ｂ）の出力ドライバは、インタフェイス装置５０（Ｂ）のコアが作動していない間はインタフェイス装置５０（Ａ）による電圧によって永久に損傷することはない）。更に、ＣＭＩバス５２を引き出すことによって、インタフェイス装置５０（Ａ）が損傷を受け続けることを防止する。長期間の損傷はないので、故障を修復するための時間、労力、および費用は最小限で済む。本発明の更なる詳細を、図４を参照して述べる。
【００２８】
図４は、特定の故障の際の、通信サブシステム３０の監視回路６０の動作をまとめた手順１００のフローチャートである。工程１０２で、格納プロセッサ２８がデータ格納動作をしている間、監視回路６０は通信サブシステム３０のインタフェイス装置５０を作動して、格納プロセッサ２８間の通信を可能にする。
【００２９】
工程１０４で、監視回路６０は通信サブシステムの重要部分での故障を検知する。例えば、監視回路６０は、故障がクロック回路５６かアービターかを判断する。
工程１０６で、監視回路６０は通信サブシステム３０のインタフェイス部分４６を、検知した故障に応答してリセットして、格納プロセッサ２８の１つに操作を継続させる。この操作によって、故障の発生後もデータ格納システム２０の使用を可能にする。
【００３０】
上述のように、本発明の実施例は、複数の格納プロセッサ２８を有するデータ格納システム２０が、故障（例えば、複数の格納プロセッサ２８間に配置された通信サブシステム
のある部分での一つの故障）の際も動作を持続する方法である。特に、この方法は、残りの格納プロセッサ２８をうっかりとロックしてしまわないで、データ格納システム２０が全体として使用を継続できる（すなわち、格納プロセッサ２８の動作を継続する）。更に、この方法は、低価格で標準の電源３２（Ａ），３２（Ｂ）を使用して、各格納プロセッサ２８（Ａ），２８（Ｂ）を別々に作動させ、通信サブシステム３０のような共有リソースに局所的に共有電力を供給して、信頼性のある故障耐性とコスト削減を実現する。すなわち、この方法は、低価格の汎用部品を使用して、全体としての信頼性を損なわずに全体コストを削減する。
【００３１】
この発明の好ましい実施例を示して説明したが、添付の請求項によって規定された本発明の精神や範囲を逸脱せずに種々の改変が可能である。
例えば、格納処理回路２４の間の通信経路については、ＣＭＩバスを例として説明してきた。このような標準の通信経路と同様に、ＰＣＩバス、ＧＰ／ＩＯ銭、無線経路、光学経路等の他の通信経路も使用可能である。
【００３２】
更に、２つの格納プロセッサ２８を含むデータ格納システム２０を、例として説明した。他の構成においては、データ格納システム２０は２つ以外の格納プロセッサ２８（例えば、３つ、４つ）を備えてもよい。更に、そのような構成は、ＣＭＩ経路以外の複数ドロップバスプロトコルのような異なる通信構成も含み得る。このような改変や改良も本発明の種々の実施例に含まれる。
【図面の簡単な説明】
【００３３】
【図１】本発明によって使用されるのに好適なデータ格納システムのブロックダイアグラム。
【図２】図１のデータ格納システムの通信サブシステムの一部分のブロックダイアグラム。
【図３】図１のデータ格納システムの通信サブシステムの別の部分のブロックダイアグラム。
【図４】故障の際に通信サブシステムが動作する手順のフローチャート。
【図１】
2007534054.tif 000003
【図２】
2007534054.tif 000004
【図３】
2007534054.tif 000005
【図４】
2007534054.tif 000006
【国際調査報告】
2007534054.tif 000007
2007534054.tif 000008
2007534054.tif 000009