JP2004046455A - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP2004046455A JP2004046455A JP2002201796A JP2002201796A JP2004046455A JP 2004046455 A JP2004046455 A JP 2004046455A JP 2002201796 A JP2002201796 A JP 2002201796A JP 2002201796 A JP2002201796 A JP 2002201796A JP 2004046455 A JP2004046455 A JP 2004046455A
- Authority
- JP
- Japan
- Prior art keywords
- modules
- data
- module
- address
- memory
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- 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/1658—Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0712—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a virtual computing platform, e.g. logically partitioned systems
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0721—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
- G06F11/0724—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0766—Error or fault reporting or storing
- G06F11/0772—Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
-
- 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/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Hardware Redundancy (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
【解決手段】監視手段700は、複数のモジュール100,200,300のプロセッサ101,102,201,202,301,302の動作の一致を監視している。いずれかのモジュールのプロセッサの動作が他のモジュールと不一致となったことが検出されると、アドレス記憶手段701は、不一致が検出されたアクセスおよびそれ以降の各モジュール100,200,300のプロセッサがライトアクセスするアドレスを記録する。データコピー手段702は、不一致となったモジュール内のメモリに、アドレス記憶手段701に記録されたアドレスについてのみ、他のモジュール内のメモリからデータをコピーする。
【選択図】 図1
Description
【発明の属する技術分野】
本発明は、クロック同期させた複数のコンピューティングモジュールで同じ命令列を同時に処理するロックステップフォルトトレラントコンピュータのようなフォルトトレラントコンピュータに関し、特に、他のコンピューティングモジュールとの動作の同一性が崩れて運用から切り離されたコンピューティングモジュールを他のコンピューティングモジュールに同期させる処理の高速化に関する。
【0002】
【従来の技術】
従来のロックステップフォルトトレラントコンピュータは、複数のコンピューティングモジュールを有し、これら複数のコンピューティングモジュールで同じ命令を同時に実行している。そして、故障あるいはその他の何らかの要因でいずれかのコンピューティングモジュールが他のコンピューティングモジュールと異なる動作をすることがある。
【0003】
ロックステップフォルトトレラントコンピュータは、他のコンピューティングモジュールと異なる動作をした(すなわちロックステップが外れた)コンピューティングモジュールを検出すると、そのコンピューティングモジュールを一旦運用状態から切り離す。
【0004】
コンピューティングモジュールのロックステップが外れる要因には様々なものがある。そして、ロックステップの外れに対する対処方法は要因により異なる。
【0005】
ロックステップが外れる1つの要因として、コンピューティングモジュール内で起こる固定的な故障がある。固定的な故障とは、一時的な擾乱や、自然に復旧するような故障でなく、何らかの修理を必要とするようなものである。
【0006】
いずれかのコンピューティングモジュールに固定的な故障が起きると、通常、故障したコンピューティングモジュールをロックステップフォルトトレラントコンピュータから取り出し、その代わりに他の正常なコンピューティングモジュールを取り付ける。
【0007】
ロックステップが外れる他の要因として、コンピューティングモジュールの製造上の差違により、一時的に動作タイミングが他のコンピューティングモジュールとずれることが考えられる。また、さらに他の要因として、α線などの影響によりメモリが一時的に誤動作することが考えられる。これらの場合、コンピューティングモジュールに固定的な故障が生じていないので、コンピューティングモジュールを交換する必要がない。
【0008】
固定的な故障が生じた場合にはコンピューティングモジュールを交換した後、固定的な故障が生じていない場合には交換せずにそのまま、運用状態から切り離されているコンピューティングモジュールを再び他のコンピューティングモジュールと同期させる。運用から切り離されているコンピューティングモジュールを他のコンピューティングモジュールと同期させる(運用に組み込む)処理を再同期化処理という。
【0009】
運用状態から切り離されていたコンピューティングモジュールを組み込むとき、ロックステップフォルトトレラントコンピュータは、組み込みを行うコンピューティングモジュールのメモリに他のコンピューティングモジュールのメモリの内容をコピーする。それ以降、新たに組み込まれたコンピューティングモジュールは他のコンピューティングモジュールと同じ動作をする。
【0010】
【発明が解決しようとする課題】
従来のロックステップフォルトトレラントコンピュータは、運用状態から切り離されたコンピューティングモジュールを組み込むとき、全てのコンピューティングモジュールを停止させて、メモリ全体の内容のコピーを行っていた。これは、全てのコンピューティングモジュールの内部の状態を完全に一致させるためである。
【0011】
しかし、処理性能や記憶能力を向上させるために、近年、ロックステップフォルトトレラントコンピュータのコンピューティングモジュール内のメモリ容量は増大している。そして、現在、コンピューティングモジュール内のメモリの容量は数ギガバイトにも及んでいる。そのため、コンピューティングモジュール内のメモリの内容を全てコピーすることは長時間を要する。
【0012】
そのため、従来のロックステップフォルトトレラントコンピュータは、運用状態から切り離されたコンピューティングモジュールを組み込むために、長時間、運用を停止していた。
【0013】
本発明の目的は、運用状態から切り離されたコンピューティングモジュールを組み込むときの停止時間の短いフォルトトレラントコンピュータを提供することである。
【0014】
【課題を解決するための手段】
上記目的を達成するために、本発明の情報処理装置は、プロセッサおよびメモリをそれぞれ備えた複数のモジュールと、
複数の前記モジュールのプロセッサの動作の一致を監視しており、他のモジュールのプロセッサと動作が不一致となったモジュールを検出すると、全ての前記モジュールに停止を指示する監視手段と、
前記監視手段により、いずれかのモジュールのプロセッサの動作が他のモジュールと不一致となったことが検出されると、不一致が検出されたアクセスおよびそれ以降に前記各モジュールのプロセッサがライトアクセスするアドレスを記録するアドレス記憶手段と、
全ての前記モジュールが停止すると、動作が他のモジュールと不一致となったことが前記監視手段により検出された前記モジュール内のメモリに、前記アドレス記憶手段に記録されたアドレスについてのみ、他のモジュール内のメモリからデータをコピーするデータコピー手段を有している。
【0015】
したがって、本発明によれば、監視手段がロックステップの外れを検出すると、アドレス記憶手段が、ロックステップの外れたモジュールにおいてデータが他のモジュールと異なる可能性のあるメモリのアドレスを記録し、データコピー手段が、アドレス記憶手段に記録されているアドレスのデータだけをコピーするので、短い時間でデータコピーが完了させることができ、ロックステップの外れたモジュールを早期に運用に組み込むことができる。
【0016】
また、本発明の情報処理装置において、前記データコピー手段は、動作が他のモジュールと不一致となったことが前記監視手段により検出された前記モジュールに固定的な故障が生じていないときだけデータをコピーしてもよい。
【0017】
本発明の一態様によれば、前記データコピー手段は、ダイレクトメモリアクセスによりデータをコピーする。
【0018】
また、本発明の情報処理装置は、複数の前記モジュールは互いにクロック同期して同じ処理を同時に実行しているロックステップ型のフォルトトレラントコンピュータであり、
前記監視手段は、前記各モジュールのプロセッサによるアクセスのアドレスストローブのタイミングの一致により前記プロセッサの動作の一致を監視するとしてもよい。
【0019】
あるいは、前記監視手段は、前記各モジュールのプロセッサによる、アクセスのアドレスストローブのタイミング、該タイミングにおけるコマンドおよびアドレスの一致により前記プロセッサの動作の一致を監視するとしてもよい。
【0020】
したがって、本発明によれば、ロックステップを早期に検出することができる。
【0021】
本発明の一態様によれば、前記プロセッサはキャッシュを有しており、
前記監視手段の指示により全ての前記モジュールが停止した後、前記データコピー手段がデータをコピーする前に、ロックステップの外れていないモジュールのプロセッサがキャッシュフラッシュを行い、
前記アドレス記憶手段は、前記キャッシュフラッシュによりデータの書き戻されるアドレスを記録する。
【0022】
また、本発明の情報処理装置は、前記データコピー手段が前記アドレス記憶手段に記録されている全てのアドレスについてデータのコピーを完了すると、全ての前記モジュールが動作を開始するとしてもよい。
【0023】
【発明の実施の形態】
従来技術として述べたように、ロックステップが外れる要因には、コンピューティングモジュールの固定的な故障と、そうでないものとがある。固定的な故障が生じたコンピューティングモジュールは交換する必要がある。しかし、固定的な故障でない要因によりロックステップが外れたコンピューティングモジュールは、通常、交換されずそのまま運用に組み込まれる。そのため、コンピューティングモジュールのロックステップが外れたとき、そのコンピューティングモジュールが交換されずにそのまま組み込まれることは少なくない。また、ロックステップの外れたコンピューティングモジュールのメモリ内のデータは、ロックステップの外れていない他のコンピューティングモジュールのメモリ内のデータと差が生じていることが考えられる。しかし、その差分は小さいことが多い。
【0024】
本発明の一実施形態について図面を参照して詳細に説明する。
【0025】
本実施形態は、ロックステップの外れたコンピューティングモジュールを交換せずに組み込むときの、ロックステップフォルトトレラントコンピュータの停止時間を短縮するものである。
【0026】
図1は、本発明による一実施形態のロックステップフォルトトレラントコンピュータの構成を示すブロック図である。
【0027】
図1を参照すると、ロックステップフォルトトレラントコンピュータは、コンピューティングモジュール100,200,300、周辺装置制御部400,500、タイミング監視部700、アドレス記憶部701およびデータ転送部702を有する。
【0028】
コンピューティングモジュール100は、プロセッサ101,102、メモリ104およびメモリ制御部105を有している。
【0029】
プロセッサ101とプロセッサ102は同じ構成でありバス103を共有している。プロセッサ101,102のバス103にメモリ制御部105が接続されている。メモリ104はメモリ制御部105に接続されている。
【0030】
メモリ制御部105は信号線730を介してデータ転送部702に接続されている。また、メモリ制御部105は信号線600を介して周辺装置制御部400に接続され、信号線610を介して周辺装置制御部500に接続されている。
【0031】
コンピューティングモジュール100,200,300は全て同じ構成である。コンピューティングモジュール200は、プロセッサ201,202、メモリ204およびメモリ制御部205を有している。プロセッサ201,202はバス203を共有している。メモリ制御部205は信号線731を介してデータ転送部702に接続されている。また、メモリ制御部205は信号線601を介して周辺装置制御部400に接続され、信号線611を介して周辺装置制御部500に接続されている。
【0032】
コンピューティングモジュール300は、プロセッサ301,302、メモリ304およびメモリ制御部305を有している。プロセッサ301,302はバス303を共有している。メモリ制御部305は信号線732を介してデータ転送部702に接続されている。また、メモリ制御部305は信号線602を介して周辺装置制御部400に接続され、信号線612を介して周辺装置制御部500に接続されている。
【0033】
以下、コンピューティングモジュール100に着目して説明する。
【0034】
プロセッサ101,102はロックステップフォルトトレラントコンピュータに与えられた命令を実行する。プロセッサ101,102は他のコンピューティングモジュール200,300のプロセッサとクロック同期して同じ命令を同時に実行する。命令列を実行するとき、プロセッサ101,102は、メモリ制御部105を介してメモリ104にライトアクセスまたはリードアクセスを行う。
【0035】
また、プロセッサ101,102は他のコンピューティングモジュール200,300のプロセッサとクロック同期して周辺装置へアクセスする。周辺装置制御部400に接続された周辺装置へのアクセスは、バス103、メモリ制御部105および信号線600を介して行われる。周辺装置制御部500に接続された周辺装置へのアクセスは、バス103、メモリ制御部105および信号線610を介して行われる。
【0036】
また、プロセッサ101,102は、タイミング監視部700からの割り込みにより停止指示を受けると、割り込みが発生したときに処理していたプロセスのコンテキストを所定のメモリ領域に掃き出して停止する。さらに、プロセッサ101,102は、自身のロックステップが外れたことによる停止指示により停止すると、その後にハードウェア診断を実行する。ハードウェア診断とは、コンピューティングモジュール100内のハードウェアに故障があるか否か診断するものである。
【0037】
メモリ制御部105は、プロセッサ101,102からのライトアクセスおよびリードアクセスのリクエストをメモリ104に伝える。また、メモリ制御部105は、メモリからのレスポンスをプロセッサ101,102に伝える。
【0038】
リクエストはライトアクセスまたはリードアクセスのときにプロセッサからメモリに送られる。ライトアクセスのリクエストには書き込みデータが含まれる。また、レスポンスはリードアクセスのときにメモリからプロセッサに送られる。レスポンスには読出しデータが含まれる。
【0039】
また、メモリ制御部105は、プロセッサ101,102から各周辺装置へのアクセスを周辺装置制御部400,500に伝える。
【0040】
また、メモリ制御部105は、データ転送部702から信号線730を介したアクセスをメモリ104に伝える。一例として、データ転送部702からのアクセスはDMA転送を行うものである。DMA転送では、メモリ104がデータ転送元になる場合と、データ転送先になる場合がある。
【0041】
周辺装置制御部400,500は、全てのコンピューティングモジュール100,200,300からの周辺装置へのアクセスのリクエストが一致しているか否か監視している。全てのコンピューティングモジュール100,200,300からのリクエストが一致していれば、周辺装置制御部400,500はそれらを1つのリクエストとして周辺装置に伝える。それらのリクエストが一致していなければ、周辺装置制御部400,500は、例えば、それらのリクエストを破棄してもよく、また多数決によって定まるリクエストを周辺装置に伝えてもよい。
【0042】
また、周辺装置へのアクセスがリードアクセスの場合、周辺装置制御部400,500は周辺装置から読み出されたデータを含むレスポンスを全てのコンピューティングモジュール100,200,300に同じタイミングで伝える。
【0043】
タイミング監視部700は、信号線710および信号線720を介して、コンピューティングモジュール100のバス103に接続されている。信号線710は、プロセッサ101,102からメモリ104または周辺装置へのアクセスのリクエストにおいて、アドレスの出力タイミングを示すアドレスストローブをバス103からタイミング監視部700に伝える。信号線720は、プロセッサ101,102からメモリ104または周辺装置へのアクセスのリクエストにおいて、コマンドおよびアドレスをパス103からタイミング監視部700に伝える。コマンドとは、例えばライトアクセスかリードアクセスかなどである。
【0044】
タイミング監視部700は、同様に、信号線711および信号線721を介して、コンピューティングモジュール200のバス203に接続されており、信号線712および信号線722を介して、コンピューティングモジュール300のバス303に接続されている。
【0045】
タイミング監視部700は、信号線710,711,712を介して受信したアドレスストローブと、信号線720,721,722を介して受信したコマンドおよびアドレスとを用いて、各コンピューティングモジュール100,200,300のアクセスが一致するか否か監視する。アクセスの不一致を検出すると、タイミング監視部700は、アクセスの不一致と、不一致となったコンピューティングモジュールをアドレス記憶部701に通知する。
【0046】
アクセスが不一致となったコンピューティングモジュールはロックステップの外れたものと判断される。
【0047】
また、タイミング監視部700は、アクセスの不一致を検出すると、全てのコンピューティングモジュールのプロセッサに割り込みによって停止指示を通知する。これにより、各プロセッサは、割り込みが発生したときに処理していたプロセスのコンテキストを所定のメモリ領域に掃き出して停止する。
【0048】
アクセスの一致の監視の具体例としては、タイミング監視部700は、各コンピューティングモジュール100,200,300から同じサイクルでアドレスストローブが受信され、かつ、そのタイミングで受信されたコマンドおよびアドレスが同じであれば、アクセスが一致したと判断すればよい。より簡易的な具体例として、タイミング監視部700は、アドレスストローブのみを受信し、各コンピューティングモジュール100,200,300から同じサイクルでアドレスストローブが受信されればアクセスが一致したと判断してもよい。
【0049】
アドレス記憶部701は、ロックステップの外れたコンピューティングモジュール内のメモリに記録されたデータがロックステップの外れていないコンピューティングモジュール内のメモリに記録されたデータと異なるアドレスを保持するバッファを有している。
【0050】
アドレス記憶部701は、アクセスの不一致と、不一致の検出されたコンピューティングモジュールをタイミング監視部701から通知されると、不一致が検出されたアクセスおよびそれ以降の各コンピューティングモジュールによるライトアクセスについて、アクセスされたアドレスを記録する。
【0051】
データ転送部702は、全てのコンピューティングモジュールのプロセッサが停止し、その後に行われるハードウェア診断が完了すると、エラーインディケータフラグとハードウェア診断の結果とを確認する。エラーインディケータフラグは、コンピューティングモジュール内にエラーが発生していることを示すフラグである。固定的な故障が発生していれば、データ転送部702はエラーインディケータフラグまたはハードウェア診断結果からそれを知ることができる。
【0052】
コンピューティングモジュール内に固定的な故障が発生していなければ、データ転送部702は、ロックステップの外れたコンピューティングモジュールのメモリの内容を他のコンピューティングモジュールのメモリの内容と一致させる再同期化処理を行う。
【0053】
コンピューティングモジュールにキャッシュがあれば、再同期化処理において、ロックステップの外れていないコンピューティングモジュールにおいてキャッシュフラッシュが実行される。キャッシュフラッシュが実行されるのは、ロックステップの外れていないいずれか1つのコンピューティングモジュールであってもよい。
【0054】
このキャッシュフラッシュによりキャッシュ内のデータがメモリに掃き出される。このとき、データがライトされたメモリのアドレスはアドレス記憶部701に記録される。
【0055】
キャッシュフラッシュが完了すると、データ転送部702は、アドレス記憶部701に記録さているアドレスについて、ロックステップの外れていないコンピューティングモジュールのメモリからロックステップの外れたコンピューティングモジュールのメモリにデータをコピーする。このとき、データのコピーにはDMA転送が用いられてもよい。
【0056】
データ転送部702はデータのコピーを完了すると、全てのコンピューティングモジュールをリセットし、通常運用を開始させる。このとき、全てのコンピューティングモジュールのプロセッサは、コンピューティングモジュールの所定のメモリ領域にあるコンテキストを使って通常運用時の動作を開始する。
【0057】
なお、本実施形態では、プロセッサ101,102からメモリ104へのアクセスのリクエストはバス103から引き出した信号線710,720によりタイミング監視部700およびアドレス記憶部701に伝えられている。しかし、本発明はこれに限定されるものではない。例えば、信号線710,720はメモリ制御部105とメモリ104の間の信号線から引き出されてもよい。
【0058】
本実施形態のロックステップフォルトトレラントコンピュータの動作の流れについて説明する。
【0059】
通常、コンピューティングモジュール100,200,300はクロック同期して、ロックステップフォルトトレラントコンピュータに与えられた同じ命令列を同時に実行している。各コンピューティングモジュール100,200,300のプロセッサは命令に従ってメモリや周辺装置にアクセスする。コンピューティングモジュール100,200,300のアクセスは、タイミング、コマンドおよびアドレスが一致しているか否かタイミング監視部700により監視されている。
【0060】
ここで、コンピューティングモジュール100に擾乱が入り、コンピューティングモジュール100のアクセスが他のコンピューティングモジュール200,300のアクセスと不一致になったとする。ただし、コンピューティングモジュール100に固定的な故障は生じていないものとする。
【0061】
その不一致はタイミング監視部700により検出される。その不一致を検出すると、タイミング監視部700は、コンピューティングモジュール100のロックステップが外れたと判断し、アクセスの不一致および不一致となったコンピューティングモジュールをアドレス記憶部701に通知する。
【0062】
また、タイミング監視部700は、全てのコンピューティングモジュールのプロセッサに対して割り込みによって停止指示を通知する。
【0063】
アクセスの不一致と、不一致となったコンピューティングモジュール100を通知されると、アドレス記憶部701は、不一致が検出したアクセスおよびそれ以降の、各コンピューティングによるライトアクセスについて、アクセスされたアドレスを記録する。
【0064】
停止指示を受けたプロセッサは、処理中のプロセスのコンテキストを所定のメモリ領域に掃き出して停止する。
【0065】
アクセスが他のコンピューティングモジュールと不一致となったコンピューティングモジュール(ここではコンピューティングモジュール100)については、その後、ハードウェア診断が実行される。
【0066】
ハードウェア診断が完了すると、データ転送部702がエラーインディケータとハードウェア診断の結果を確認する。ここでは、コンピューティングモジュール100には固定的な故障が生じていないので、データ転送部702は再同期化処理を行う。
【0067】
再同期化処理においては、ロックステップの外れていないコンピューティングモジュールにキャッシュがあれば、キャッシュフラッシュが行われる。このキャッシュフラッシュによりキャッシュ内のデータがメモリに掃き出される。メモリに対するデータの掃き出しはライトアクセスにより行われるので、データの掃き出されたアドレスはアドレス記憶部701に記録される。
【0068】
次に、データ転送部702は、アドレス記憶部701に記録さているアドレスについのみ、再同期化するコンピューティングモジュール(ここではコンピューティングモジュール100)に対して他のコンピューティングモジュールのデータをコピーする。このデータコピーはDMA転送により行われる。
【0069】
通常、アドレス記憶部701に記憶されているアドレスの数は、全体のアドレス数に比べて非常に少ない数である。そのため、ここでのデータコピーは全アドレスのデータコピーに比べて非常に短い時間で終了する。
【0070】
データコピーを完了すると、データ転送部702は全コンピューティングモジュールをリセットする。リセットされると、全てのコンピューティングモジュール100,200,300は互いにクロック同期し、通常の運用を開始する。
【0071】
以上説明したように、本実施形態によれば、タイミング監視部700が、ロックステップの外れを検出すると、アドレス記憶部701が、ロックステップの外れたコンピューティングモジュールにおいてデータが他のコンピューティングモジュールと異なる可能性のあるメモリのアドレスを記録し、再同期化するとき、データ転送部702が、アドレス記憶部701に記録されているアドレスのデータだけをDMA転送によりコピーするので、ロックステップを早期に検出可能であるとともに短い時間でデータコピーが完了させることができ、固定的な故障でない要因によりロックステップの外れたコンピューティングモジュールを早期に運用に組み込むことができる。
【0072】
なお、本実施形態では、ロックステップフォルトトレラントコンピュータが3つのコンピューティングモジュール100,200,300を有する構成を例示したが、本発明はそれに限定されない。コンピューティングモジュールは複数であればよい。
【0073】
【発明の効果】
本発明の情報処理装置によれば、監視手段がロックステップの外れを検出すると、アドレス記憶手段が、ロックステップの外れたモジュールにおいてデータが他のモジュールと異なる可能性のあるメモリのアドレスを記録し、データコピー手段が、アドレス記憶手段に記録されているアドレスのデータだけをコピーするので、短い時間でデータコピーが完了させることができ、ロックステップの外れたモジュールを早期に運用に組み込むことができる。また、本発明によれば、ロックステップを早期に検出することができる。
【図面の簡単な説明】
【図1】本発明による一実施形態のロックステップフォルトトレラントコンピュータの構成を示すブロック図である。
【符号の説明】
100,200,300 コンピューティングモジュール
101,102,201,202,301,302 プロセッサ
103,203,303 バス
104,204,304 メモリ
105,205,305 メモリ制御部
400,500 周辺装置制御部
600,601,602,610,611,612,710,711,712,730,731,732 信号線
700 タイミング監視部
701 アドレス記憶部
702 データ転送部
Claims (7)
- プロセッサおよびメモリをそれぞれ備えた複数のモジュールと、
複数の前記モジュールのプロセッサの動作の一致を監視しており、他のモジュールのプロセッサと動作が不一致となったモジュールを検出すると、全ての前記モジュールに停止を指示する監視手段と、
前記監視手段により、いずれかのモジュールのプロセッサの動作が他のモジュールと不一致となったことが検出されると、不一致が検出されたアクセスおよびそれ以降に前記各モジュールのプロセッサがライトアクセスするアドレスを記録するアドレス記憶手段と、
全ての前記モジュールが停止すると、動作が他のモジュールと不一致となったことが前記監視手段により検出された前記モジュール内のメモリに、前記アドレス記憶手段に記録されたアドレスについてのみ、他のモジュール内のメモリからデータをコピーするデータコピー手段を有する情報処理装置。 - 前記データコピー手段は、動作が他のモジュールと不一致となったことが前記監視手段により検出された前記モジュールに固定的な故障が生じていないときだけデータをコピーする、請求項1記載の情報処理装置。
- 前記データコピー手段は、ダイレクトメモリアクセスによりデータをコピーする、請求項1または2記載の情報処理装置。
- 複数の前記モジュールは互いにクロック同期して同じ処理を同時に実行しており、
前記監視手段は、前記各モジュールのプロセッサによるアクセスのアドレスストローブのタイミングの一致により前記プロセッサの動作の一致を監視する、請求項1〜3のいずれか1項に記載の情報処理装置。 - 複数の前記モジュールは互いにクロック同期して同じ処理を同時に実行しており、
前記監視手段は、前記各モジュールのプロセッサによる、アクセスのアドレスストローブのタイミング、該タイミングにおけるコマンドおよびアドレスの一致により前記プロセッサの動作の一致を監視する、請求項1〜3のいずれか1項に記載の情報処理装置。 - 前記プロセッサはキャッシュを有しており、
前記監視手段の指示により全ての前記モジュールが停止した後、前記データコピー手段がデータをコピーする前に、ロックステップの外れていないモジュールのプロセッサがキャッシュフラッシュを行い、
前記アドレス記憶手段は、前記キャッシュフラッシュによりデータの書き戻されるアドレスを記録する、請求項1〜5のいずれか1項に記載の情報処理装置。 - 前記データコピー手段が前記アドレス記憶手段に記録されている全てのアドレスについてデータのコピーを完了すると、全ての前記モジュールが動作を開始する、請求項1〜6のいずれか1項に記載の情報処理装置。
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002201796A JP2004046455A (ja) | 2002-07-10 | 2002-07-10 | 情報処理装置 |
TW092118159A TWI241479B (en) | 2002-07-10 | 2003-07-03 | Information processing apparatus |
CA002434290A CA2434290A1 (en) | 2002-07-10 | 2003-07-04 | Information processing apparatus |
US10/612,930 US20040153731A1 (en) | 2002-07-10 | 2003-07-07 | Information processing apparatus |
AU2003211183A AU2003211183A1 (en) | 2002-07-10 | 2003-07-08 | Information Processing Apparatus |
CNB031453627A CN1269040C (zh) | 2002-07-10 | 2003-07-08 | 信息处理设备 |
KR1020030046385A KR100566340B1 (ko) | 2002-07-10 | 2003-07-09 | 정보 처리 장치 |
DE60303468T DE60303468T2 (de) | 2002-07-10 | 2003-07-10 | Fehlertolerante Vorrichtung zur Informationsverarbeitung |
ES03015794T ES2253613T3 (es) | 2002-07-10 | 2003-07-10 | Aparato de tratamiento de informacion, tolerante a fallos. |
EP03015794A EP1380950B1 (en) | 2002-07-10 | 2003-07-10 | Fault tolerant information processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002201796A JP2004046455A (ja) | 2002-07-10 | 2002-07-10 | 情報処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004046455A true JP2004046455A (ja) | 2004-02-12 |
Family
ID=29728480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002201796A Pending JP2004046455A (ja) | 2002-07-10 | 2002-07-10 | 情報処理装置 |
Country Status (10)
Country | Link |
---|---|
US (1) | US20040153731A1 (ja) |
EP (1) | EP1380950B1 (ja) |
JP (1) | JP2004046455A (ja) |
KR (1) | KR100566340B1 (ja) |
CN (1) | CN1269040C (ja) |
AU (1) | AU2003211183A1 (ja) |
CA (1) | CA2434290A1 (ja) |
DE (1) | DE60303468T2 (ja) |
ES (1) | ES2253613T3 (ja) |
TW (1) | TWI241479B (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7493517B2 (en) | 2004-12-17 | 2009-02-17 | Nec Corporation | Fault tolerant computer system and a synchronization method for the same |
US7500139B2 (en) | 2004-12-21 | 2009-03-03 | Nec Corporation | Securing time for identifying cause of asynchronism in fault-tolerant computer |
JP2013210796A (ja) * | 2012-03-30 | 2013-10-10 | Oki Electric Ind Co Ltd | 冗長化構築システム及び冗長化構築プログラム |
JP2014157492A (ja) * | 2013-02-15 | 2014-08-28 | Nec Corp | フォールトトレラントサーバ、そのメモリコピー方法およびライトアドレスデータ格納用メモリモジュール |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7155721B2 (en) * | 2002-06-28 | 2006-12-26 | Hewlett-Packard Development Company, L.P. | Method and apparatus for communicating information between lock stepped processors |
US7085959B2 (en) * | 2002-07-03 | 2006-08-01 | Hewlett-Packard Development Company, L.P. | Method and apparatus for recovery from loss of lock step |
JP2004046599A (ja) * | 2002-07-12 | 2004-02-12 | Nec Corp | フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム |
US7350026B2 (en) * | 2004-12-03 | 2008-03-25 | Thales | Memory based cross compare for cross checked systems |
JP4117684B2 (ja) * | 2004-12-20 | 2008-07-16 | 日本電気株式会社 | フォルトトレラント・二重化コンピュータシステムとその制御方法 |
US7730350B2 (en) * | 2005-04-28 | 2010-06-01 | Hewlett-Packard Development Company, L.P. | Method and system of determining the execution point of programs executed in lock step |
US7496786B2 (en) * | 2006-01-10 | 2009-02-24 | Stratus Technologies Bermuda Ltd. | Systems and methods for maintaining lock step operation |
TWI397820B (zh) * | 2007-03-25 | 2013-06-01 | Mstar Semiconductor Inc | 記憶體界面裝置與應用於其上之記憶體資料存取方法 |
US7979746B2 (en) * | 2009-04-27 | 2011-07-12 | Honeywell International Inc. | Dual-dual lockstep processor assemblies and modules |
CN104516840B (zh) * | 2013-09-29 | 2017-08-29 | 联想(北京)有限公司 | 信息处理方法和信息处理设备 |
CN112767332B (zh) * | 2021-01-08 | 2024-05-17 | 心医国际数字医疗***(大连)有限公司 | 一种基于cta影像的血管区域判断方法及*** |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4394745A (en) * | 1980-04-11 | 1983-07-19 | Sony Corporation | Video editing apparatus |
DE3923872A1 (de) * | 1989-07-19 | 1991-01-24 | Philips Patentverwaltung | Schaltungsanordnung zum steuern des zugriffs auf einen speicher |
JP2836637B2 (ja) * | 1990-07-06 | 1998-12-14 | 三菱電機株式会社 | 無線通信機の制御装置 |
US5249188A (en) * | 1991-08-26 | 1993-09-28 | Ag Communication Systems Corporation | Synchronizing two processors as an integral part of fault detection |
DE69435090T2 (de) * | 1993-12-01 | 2009-06-10 | Marathon Technologies Corp., Stow | Rechnersystem mit Steuereinheiten und Rechnerelementen |
FR2737029B1 (fr) * | 1995-07-19 | 1997-09-26 | Sextant Avionique | Dispositif d'interface entre un calculateur a architecture redondante et un moyen de communication |
DE19626184C2 (de) * | 1996-06-29 | 1998-07-30 | Alexander Ernst Erdwin Lahmann | Vorrichtung zum Betreiben eines Systems mit zwei funktionsmäßig in einem Rechner parallel geschalteten Prozessoren |
US5953742A (en) * | 1996-07-01 | 1999-09-14 | Sun Microsystems, Inc. | Memory management in fault tolerant computer systems utilizing a first and second recording mechanism and a reintegration mechanism |
US5799022A (en) * | 1996-07-01 | 1998-08-25 | Sun Microsystems, Inc. | Faulty module location in a fault tolerant computer system |
US5903717A (en) * | 1997-04-02 | 1999-05-11 | General Dynamics Information Systems, Inc. | Fault tolerant computer system |
US6249828B1 (en) * | 1997-05-13 | 2001-06-19 | Micron Electronics, Inc. | Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver |
US6314525B1 (en) * | 1997-05-13 | 2001-11-06 | 3Com Corporation | Means for allowing two or more network interface controller cards to appear as one card to an operating system |
US6065102A (en) * | 1997-09-12 | 2000-05-16 | Adaptec, Inc. | Fault tolerant multiple client memory arbitration system capable of operating multiple configuration types |
CA2309926A1 (en) * | 1997-11-14 | 1999-05-27 | Erik Muench | Method for maintaining the synchronized execution in fault resilient/fault tolerant computer systems |
US6243829B1 (en) * | 1998-05-27 | 2001-06-05 | Hewlett-Packard Company | Memory controller supporting redundant synchronous memories |
US6260159B1 (en) * | 1998-06-15 | 2001-07-10 | Sun Microsystems, Inc. | Tracking memory page modification in a bridge for a multi-processor system |
US7007190B1 (en) * | 2000-09-06 | 2006-02-28 | Cisco Technology, Inc. | Data replication for redundant network components |
GB2369692B (en) * | 2000-11-29 | 2002-10-16 | Sun Microsystems Inc | Processor state reintegration |
US6928583B2 (en) * | 2001-04-11 | 2005-08-09 | Stratus Technologies Bermuda Ltd. | Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep |
US6970392B1 (en) * | 2001-06-29 | 2005-11-29 | Cypress Semiconductor Corp. | High speed asynchronous and programmable state machine for generating almost full synchronous flags in a synchronous FIFO |
US7085955B2 (en) * | 2001-09-14 | 2006-08-01 | Hewlett-Packard Development Company, L.P. | Checkpointing with a write back controller |
US7472230B2 (en) * | 2001-09-14 | 2008-12-30 | Hewlett-Packard Development Company, L.P. | Preemptive write back controller |
US6941493B2 (en) * | 2002-02-27 | 2005-09-06 | Sun Microsystems, Inc. | Memory subsystem including an error detection mechanism for address and control signals |
US20030163769A1 (en) * | 2002-02-27 | 2003-08-28 | Sun Microsystems, Inc. | Memory module including an error detection mechanism for address and control signals |
US7003692B1 (en) * | 2002-05-24 | 2006-02-21 | Cisco Technology, Inc. | Dynamic configuration synchronization in support of a “hot” standby stateful switchover |
US7003691B2 (en) * | 2002-06-28 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Method and apparatus for seeding differences in lock-stepped processors |
-
2002
- 2002-07-10 JP JP2002201796A patent/JP2004046455A/ja active Pending
-
2003
- 2003-07-03 TW TW092118159A patent/TWI241479B/zh not_active IP Right Cessation
- 2003-07-04 CA CA002434290A patent/CA2434290A1/en not_active Abandoned
- 2003-07-07 US US10/612,930 patent/US20040153731A1/en not_active Abandoned
- 2003-07-08 AU AU2003211183A patent/AU2003211183A1/en not_active Abandoned
- 2003-07-08 CN CNB031453627A patent/CN1269040C/zh not_active Expired - Fee Related
- 2003-07-09 KR KR1020030046385A patent/KR100566340B1/ko not_active IP Right Cessation
- 2003-07-10 ES ES03015794T patent/ES2253613T3/es not_active Expired - Lifetime
- 2003-07-10 DE DE60303468T patent/DE60303468T2/de not_active Expired - Fee Related
- 2003-07-10 EP EP03015794A patent/EP1380950B1/en not_active Expired - Fee Related
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7493517B2 (en) | 2004-12-17 | 2009-02-17 | Nec Corporation | Fault tolerant computer system and a synchronization method for the same |
US7500139B2 (en) | 2004-12-21 | 2009-03-03 | Nec Corporation | Securing time for identifying cause of asynchronism in fault-tolerant computer |
JP2013210796A (ja) * | 2012-03-30 | 2013-10-10 | Oki Electric Ind Co Ltd | 冗長化構築システム及び冗長化構築プログラム |
JP2014157492A (ja) * | 2013-02-15 | 2014-08-28 | Nec Corp | フォールトトレラントサーバ、そのメモリコピー方法およびライトアドレスデータ格納用メモリモジュール |
Also Published As
Publication number | Publication date |
---|---|
CA2434290A1 (en) | 2004-01-10 |
EP1380950B1 (en) | 2006-02-08 |
CN1269040C (zh) | 2006-08-09 |
US20040153731A1 (en) | 2004-08-05 |
TW200402622A (en) | 2004-02-16 |
EP1380950A1 (en) | 2004-01-14 |
ES2253613T3 (es) | 2006-06-01 |
CN1472650A (zh) | 2004-02-04 |
AU2003211183A1 (en) | 2004-01-29 |
KR20040005684A (ko) | 2004-01-16 |
KR100566340B1 (ko) | 2006-03-31 |
DE60303468T2 (de) | 2006-09-28 |
TWI241479B (en) | 2005-10-11 |
DE60303468D1 (de) | 2006-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7496786B2 (en) | Systems and methods for maintaining lock step operation | |
US7500139B2 (en) | Securing time for identifying cause of asynchronism in fault-tolerant computer | |
KR101121116B1 (ko) | 동기 제어 장치, 정보 처리 장치 및 동기 관리 방법 | |
JPH01154241A (ja) | 同期二重コンピュータシステム | |
JP2004046455A (ja) | 情報処理装置 | |
EP0764302A1 (en) | Main memory system and checkpointing protocol for fault-tolerant computer system | |
JPH01154243A (ja) | 耐欠陥性でない要素と耐欠陥性システムとのインターフェイス | |
US6785763B2 (en) | Efficient memory modification tracking with hierarchical dirty indicators | |
US6961826B2 (en) | Processor state reintegration using bridge direct memory access controller | |
US6950907B2 (en) | Enhanced protection for memory modification tracking with redundant dirty indicators | |
JP4161276B2 (ja) | フォルトトレラントコンピュータ装置およびその同期化方法 | |
JP5287974B2 (ja) | 演算処理システム、再同期方法、およびファームプログラム | |
JP3774826B2 (ja) | 情報処理装置 | |
US6785777B2 (en) | Control logic for memory modification tracking with hierarchical dirty indicators | |
US6981172B2 (en) | Protection for memory modification tracking | |
JPH0916535A (ja) | マルチプロセッサ計算機 | |
JPH0635880A (ja) | マイクロプロセッサ装置 | |
JPH06348604A (ja) | メモリコピー方式 | |
JPH06124242A (ja) | 二重化共有メモリ等価性保証方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040427 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20041220 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041220 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050622 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051207 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060201 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060405 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060508 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060508 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20060508 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060712 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20060825 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070119 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20080604 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20090508 |