JP3774826B2 - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP3774826B2 JP3774826B2 JP2002202558A JP2002202558A JP3774826B2 JP 3774826 B2 JP3774826 B2 JP 3774826B2 JP 2002202558 A JP2002202558 A JP 2002202558A JP 2002202558 A JP2002202558 A JP 2002202558A JP 3774826 B2 JP3774826 B2 JP 3774826B2
- Authority
- JP
- Japan
- Prior art keywords
- module
- storage means
- processor
- memory
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1666—Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Hardware Redundancy (AREA)
Description
【発明の属する技術分野】
本発明は、クロック同期させた複数のコンピューティングモジュールで同じ命令列を同時に処理するロックステップフォルトトレラントコンピュータのようなフォルトトレラントコンピュータに関し、特に、他のコンピューティングモジュールとの動作の同一性が崩れて運用から切り離されたコンピューティングモジュールを他のコンピューティングモジュールに同期させる処理の高速化に関する。
【0002】
【従来の技術】
従来のロックステップフォルトトレラントコンピュータは、複数のコンピューティングモジュールを有し、これら複数のコンピューティングモジュールで同じ命令を同時に実行している。そして、故障あるいはその他の何らかの要因でいずれかのコンピューティングモジュールが他のコンピューティングモジュールと異なる動作をすることがある。
【0003】
ロックステップフォルトトレラントコンピュータは、他のコンピューティングモジュールと異なる動作をした(すなわちロックステップが外れた)コンピューティングモジュールを検出すると、そのコンピューティングモジュールを一旦運用状態から切り離す。
【0004】
コンピューティングモジュールのロックステップが外れる要因には様々なものがある。そして、ロックステップの外れに対する対処方法は要因により異なる。
【0005】
ロックステップが外れる1つの要因として、コンピューティングモジュール内で起こる固定的な故障がある。固定的な故障とは、一時的な擾乱や、自然に復旧するような故障でなく、何らかの修理を必要とするようなものである。
【0006】
いずれかのコンピューティングモジュールに固定的な故障が起きると、通常、故障したコンピューティングモジュールをロックステップフォルトトレラントコンピュータから取り出し、その代わりに他の正常なコンピューティングモジュールを取り付ける。
【0007】
ロックステップが外れる他の要因として、コンピューティングモジュールの製造上の差違により、一時的に動作タイミングが他のコンピューティングモジュールとずれることが考えられる。また、さらに他の要因として、α線などの影響によりメモリが一時的に誤動作することが考えられる。これらの場合、コンピューティングモジュールに固定的な故障が生じていないので、コンピューティングモジュールを交換する必要がない。
【0008】
固定的な故障が生じた場合にはコンピューティングモジュールを交換した後、固定的な故障が生じていない場合には交換せずにそのまま、運用状態から切り離されているコンピューティングモジュールを再び他のコンピューティングモジュールと同期させる(すなわち組み込みを行う)。
【0009】
運用状態から切り離されていたコンピューティングモジュールを組み込むとき、ロックステップフォルトトレラントコンピュータは、組み込みを行うコンピューティングモジュールのメモリに他のコンピューティングモジュールのメモリの内容をコピーする。それ以降、新たに組み込まれたコンピューティングモジュールは他のコンピューティングモジュールと同じ動作をする。
【0010】
【発明が解決しようとする課題】
従来のロックステップフォルトトレラントコンピュータは、運用状態から切り離されたコンピューティングモジュールを組み込むとき、全てのコンピューティングモジュールを停止させて、メモリ内容のコピーを行っていた。これは、全てのコンピューティングモジュールの内部の状態を完全に一致させるためである。
【0011】
しかし、処理性能や記憶能力を向上させるために、近年、ロックステップフォルトトレラントコンピュータのコンピューティングモジュール内のメモリ容量は増大している。そして、現在、コンピューティングモジュール内のメモリの容量は数ギガバイトにも及んでいる。そのため、コンピューティングモジュール内のメモリの内容を全てコピーすることは長時間を要する。
【0012】
そのため、従来のロックステップフォルトトレラントコンピュータは、運用状態から切り離されたコンピューティングモジュールを組み込むために、運用を長時間停止していた。
【0013】
本発明の目的は、運用状態から切り離されたコンピューティングモジュールを組み込むときの停止時間の短いフォルトトレラントコンピュータを提供することである。
【0014】
【課題を解決するための手段】
上記目的を達成するために、本発明の情報処理装置は、プロセッサをそれぞれ備えた複数のモジュールを含み、前記各モジュールの前記プロセッサが同じ命令を同時に実行する情報処理装置であって、
前記各モジュールに含まれ、該モジュール内のプロセッサからリードアクセスおよびライトアクセスが可能な第1の記憶手段と、
前記各モジュールに含まれ、該モジュール内のプロセッサからはリードアクセスおよびライトアクセスが可能であり、他のモジュール内のプロセッサからはライトアクセスが可能な第2の記憶手段と、
前記各モジュールに含まれ、該モジュールが通常の運用中には、前記プロセッサが同じモジュール内の前記第1の記憶手段を用いて動作し、前記第2の記憶手段のデータが他のモジュール内のプロセッサにより更新されるように、通常の運用から一旦外れた前記モジュールが再び通常の運用に戻るまでは、該モジュール内の前記プロセッサが該モジュール内の前記第2の記憶手段を用いて動作するように、前記第1の記憶手段および前記第2の記憶手段と同じモジュール内のプロセッサおよび前記他のモジュール内のプロセッサとの接続を制御する制御手段とを有している。
【0015】
したがって、本発明の情報処理装置によれば、通常運用中、プロセッサは同じモジュール内の第1の記憶手段を用いて命令を実行し、第2の記憶手段は他のモジュールのプロセッサにより更新されており、故障など何らかの要因で通常運用から一旦外れたモジュールが再び通常運用に戻るとき、故障などが発生したモジュールのプロセッサにより用いられ、更新されてきた第1の記憶手段の代わりに、故障などが発生していない他のモジュールのプロセッサにより更新されてきた第2の記憶手段を用いる。
【0016】
本発明の一態様によれば、前記制御手段は、前記モジュールが通常の運用中には、自身と同じモジュール内の前記プロセッサのリードアクセスが自身と同じモジュール内の前記第1の記憶手段に対して行われ、ライトアクセスが自身と同じモジュール内の前記第1の記憶手段に加えて前記他のモジュール内の前記第2の記憶手段に対しても行われ、前記他のモジュール内の前記プロセッサのライトアクセスが自身と同じモジュール内の前記第2の記憶手段に対して行われるように、通常の運用から一旦外れた後、再び通常の運用に戻るまでの間は、自身と同じモジュール内の前記プロセッサのリードアクセスが自身と同じモジュール内の前記第2の記憶手段に対して行われ、ライトアクセスが自身と同じモジュール内の前記第1の記憶手段および前記第2の記憶手段と前記他のモジュール内の前記第2の記憶手段に対して行われるように前記接続を切り替える。
【0017】
また、本発明の情報処理装置は、通常の運用から外れた前記モジュールが再び通常の運用に戻るまでの間、自身と同じモジュール内の前記プロセッサからの前記第2の記憶手段へのアクセスの合間に、前記第2の記憶手段内のデータを前記第1の記憶手段にコピーするデータコピー手段をさらに有してもよい。
【0018】
したがって、通常運用から外れたモジュールは、第2の記憶手段を用いると共に、プロセッサによるアクセスの合間に、データコピー手段により第2の記憶手段のデータが第1の記憶手段にコピーされる。
【0019】
本発明の一態様によれば、前記データコピー手段は、ダイレクトメモリアクセスにより前記第2の記憶手段のデータを前記第1の記憶手段にコピーする。
【0020】
また、本発明の情報装置は、前記第2の記憶手段の全てのデータが前記第1の記憶手段にコピーされると通常の運用に戻ることとしてもよい。
【0021】
本発明の一態様によれば、前記複数のモジュールがリング状になるように前記制御部が他のモジュール内の前記第2の記憶手段に接続されている。
【0022】
本発明の一態様によれば、いずれかのモジュールが故障しても他のモジュールにより処理が継続されるフォルトトレラントコンピュータである。
【0023】
本発明の一態様によれば、複数の前記モジュールの前記プロセッサは互いにクロック同期しており、同じ命令を同時に実行するロックステップ型のフォルトトレラントコンピュータである。
【0024】
【発明の実施の形態】
従来技術として述べたように、ロックステップが外れる要因には、コンピューティングモジュールの固定的な故障と、そうでないものがある。固定的な故障が生じたコンピューティングモジュールは交換する必要がある。しかし、固定的な故障でない要因によりロックステップが外れたコンピューティングモジュールは、通常、交換されずそのまま組み込みが行われる。つまり、コンピューティングモジュールのロックステップが外れたとき、そのコンピューティングモジュールが交換されずにそのまま組み込まれることは少なくない。
【0025】
本発明は、ロックステップの外れたコンピューティングモジュールを交換せずに組み込むときの、ロックステップフォルトトレラントコンピュータの停止時間を短縮するものである。
【0026】
本発明の一実施形態について図面を参照して詳細に説明する。
【0027】
図1は、本発明による一実施形態のロックステップフォルトトレラントコンピュータの構成を示すブロック図である。
【0028】
図1を参照すると、ロックステップフォルトトレラントコンピュータは、コンピューティングモジュール300,301を有している。コンピューティングモジュール300とコンピューティングモジュール301は同じ構成である。
【0029】
コンピューティングモジュール300はプロセッサ101,102、メモリ111,112およびメモリ制御部121を有している。
【0030】
プロセッサ101とプロセッサ102は同じ構成でありバス200を共有している。プロセッサ101,102のバス200にメモリ制御部121が接続されている。
【0031】
メモリ111とメモリ112は同じ構成である。メモリ111は信号線201でメモリ制御部121と接続されている。メモリ112は信号線203でメモリ制御部121と接続されている。
【0032】
コンピューティングモジュール301は、コンピューティングモジュール300と同様に、プロセッサ103,104、メモリ113,114およびメモリ制御部122を有している。
【0033】
プロセッサ103,104はコンピューティングモジュール300のプロセッサ101,102と同じものである。メモリ制御部122はコンピューティングモジュール300のメモリ制御部121と同じものである。メモリ113、14はコンピューティングモジュール300のメモリ111,112と同じものである。
【0034】
コンピューティングモジュール300のメモリ制御部121とコンピューティングモジュール301のメモリ制御部122は信号線202,205で接続されている。
【0035】
以下、コンピューティングモジュール300に着目して説明する。
【0036】
プロセッサ101,102はロックステップフォルトトレラントコンピュータに与えられた命令を実行する。プロセッサ101,102は他のコンピューティングモジュール301のプロセッサ103,104とクロック同期して同じ命令を同時に実行する。命令列を実行するとき、プロセッサ101,102はメモリに対してライトアクセスまたはリードアクセスを行う。
【0037】
メモリ制御部121は、プロセッサ101,102からのメモリアクセスおよびコンピューティングモジュール301からの信号線205を介したメモリアクセスのリクエストを切り替えてメモリ111,112に伝える。また、メモリ制御部121は、メモリアクセスのリクエストに対するメモリからのレスポンスをプロセッサ101,102に伝える。
【0038】
リクエストはライトアクセスおよびリードアクセスのときにプロセッサからメモリに送られる。ライトアクセスのリクエストには書き込みデータが含まれる。また、レスポンスはリードアクセスのときにメモリからプロセッサに送られる。レスポンスには読出しデータが含まれる。
【0039】
図2は、本実施形態のメモリ制御部の詳細な構成を示すブロック図である。図2を参照すると、メモリ制御部121は、切替回路400,401,402,403およびDMA回路404を有している。
【0040】
切替回路400は、いずれかのメモリからレスポンスが来ると、信号線207を信号線206に接続し、レスポンスを信号線206に伝える。信号線206はバス200に等しい信号線であり、レスポンスはプロセッサ101,102に伝えられる。また、切り替え回路400は、プロセッサ101,102からいずれかのメモリへのリクエストがあるとき信号線206を信号線202に接続する。
【0041】
切替回路401は、組み込み処理中にメモリ112からのレスポンスが来ると、信号線203を信号線207に接続してメモリ112からのレスポンスを選択する。また、切替回路401は、通常時にメモリ111からのレスポンスが来ると、信号線201を信号線207に接続してメモリ111からのレスポンスを選択する。なお、通常時とは、コンピューティングモジュール300が他のコンピューティングモジュール301と同期して動作している状態をいう。また、組み込み処理中とは、コンピューティングモジュール300の組み込みの処理が開始され、その処理が終了していない状態をいう。
【0042】
切替回路402は、信号線202を介してプロセッサ101,102からのリクエストが来ると、必ず信号線202を信号線201に接続して、リクエストをメモリ111に伝える。また、切替回路402は、組み込み処理中に信号線203を介してDMA転送(コピー)によるライトアクセスのリクエストが来ると、信号線203を信号線201に接続し、リクエストをメモリ111に伝える。
【0043】
切替回路403は、組み込み処理中に信号線202を介してリクエストが来ると、信号線202を信号線203に接続し、リクエストをメモリ112に伝える。また、切替回路403は、通常時に信号線205を介してコンピューティングモジュール301からのリクエストが来ると、信号線205を信号線203に接続しリクエストをメモリ112に伝える。また、切替回路403は、組み込み処理中であり信号線202からのリクエストが来ていないとき、信号線208を信号線203に接続し、DMA回路404からのDMA転送(コピー)によるリードアクセスのリクエストをメモリ112に伝える。
【0044】
DMA回路404は、組み込み処理中であり信号線202からのリクエストが来ていないとき信号線208を介して、メモリ112からメモリ111へのDMA転送を行う。DMA転送において、DMA回路404は、メモリ112の全メモリ領域に対して、順次、データを読出してメモリ111に書き込む。DMA転送の途中にプロセッサ101,102から信号線202を介してメモリ111,112へのリクエストがあれば、DMA回路404はDMA転送を中断する。
【0045】
本実施形態のロックステップフォルトトレラントコンピュータの通常時の動作について説明する。通常時には、全てのコンピューティングモジュール300,301が同じ動作をする。
【0046】
まず、通常時のリードアクセスのリクエストについて説明する。
【0047】
図3は、通常時におけるコンピューティングモジュールのリードアクセス動作を説明するための図である。
【0048】
プロセッサ101,102によるリードアクセスのリクエストは、信号線206(すなわちバス200)を介して切替回路400に送られる。信号線206からのリクエストは切替回路400により信号線202に伝達される。
【0049】
リクエストは信号線202を介してコンピューティングモジュール301に送られる。このリクエストは、メモリ114に到達するが、メモリ114からのレスポンスがコンピューティングモジュール301内の切替回路で止まる。
【0050】
また、リクエストは信号線202を介して切替回路403に送られるが、そこで止まりメモリ112に到達しない。
【0051】
また、リクエストは信号線202を介して切替回路402に送られる。リクエストは切替回路402により信号線201に伝達され、メモリ111に到達する。また、リクエストは信号線201を介して切替回路401にも到達するが、そこで止まる。
【0052】
プロセッサ101,102からのリクエストによってメモリ111から読み出されたデータを含むレスポンスは信号線201を介して切替回路401に送られる。メモリ111からのレスポンスは、切替回路401により信号線207に伝達され、切替回路400に到達する。そして、読出しデータを含むこのレスポンスは切替回路400により信号線206に伝達され、プロセッサ101,102に到達する。
【0053】
このように、通常時には、図3に示したようにメモリ111からデータが読み出される。
【0054】
次に、通常時のライトアクセスのリクエストについて説明する。
【0055】
図4は、通常時におけるコンピューティングモジュールのライトアクセス動作を説明するための図である。
【0056】
プロセッサ101,102によるライトアクセスのリクエストは、信号線206(すなわちバス200)を介して切替回路400に送られる。信号線206からのリクエストは切替回路400により信号線202に伝達される。
【0057】
リクエストは信号線202を介してコンピューティングモジュール301に送られる。このリクエストは、コンピューティングモジュール301内のメモリ114に到達する。これによりメモリ114にデータが書き込まれる。
【0058】
また、リクエストは信号線202を介して切替回路403に送られるが、そこで止まりメモリ112に到達しない。
【0059】
また、リクエストは信号線202を介して切替回路402に送られる。リクエストは切替回路402により信号線201に伝達され、メモリ111に到達する。これによりメモリ111にデータが書き込まれる。
【0060】
このように、通常時には、図4に示したようにメモリ111にデータが書き込まれる。また、図示されていないが、コンピューティングモジュール301のメモリ114にもプロセッサ101,102により同じデータが書き込まれる。さらに、コンピューティングモジュール301のプロセッサ103,104もプロセッサ101,102と同じ動作をしているので、図4に示したように、メモリ112にも同じデータが書き込まれる。
【0061】
本実施形態のロックステップフォルトトレラントコンピュータにおいて、いずれかのコンピューティングモジュールのロックステップが外れてから、組み込み処理中を経て、組み込みが完了するまでの動作について説明する。
【0062】
ロックステップが外れると、ロックステップフォルトトレラントコンピュータは全てのコンピューティングモジュール300,301を一旦停止させる。次に、ロックステップフォルトトレラントコンピュータは、その時点でプロセッサ101,102,103,104上で動作していたプロセスのコンテキストをメモリに格納する。
【0063】
次に、ロックステップフォルトトレラントコンピュータは、メモリに格納したプロセスのコンテキストを全てのコンピューティングモジュールのプロセッサにロードする。
【0064】
次に、ロックステップの外れていないコンピューティングモジュールは、通常時の動作を再開する。また、ロックステップの外れたコンピューティングモジュールは、組み込み処理を開始する。
【0065】
組み込み処理中のコンピューティングモジュールの動作について説明する。
【0066】
まず、組み込み処理中のリードアクセスについて説明する。
【0067】
図5は、組み込み処理中におけるコンピューティングモジュールのリードアクセスの動作を説明するための図である。ここでロックステップが外れたのはコンピューティングモジュール300であるとする。
【0068】
プロセッサ101,102によるリードアクセスのリクエストは、信号線206(すなわちパス200)を介して切替回路400に送られる。信号線206からのリクエストは切替回路400により信号線202に伝達される。
【0069】
リクエストは信号線202を介してコンピューティングモジュール301に送られる。このリクエストは、メモリ114に到達するが、メモリ114からのレスポンスがコンピューティングモジュール301内の切替回路で止まる。
【0070】
また、リクエストは信号線202を介して切替回路402に送られる。このリクエストはメモリ111に到達するが、メモリ111からのレスポンスが切替回路401で止まる。
【0071】
また、リクエストは信号線202を介して切替回路403に送られる。コノリクエストは切替回路403により信号線203に伝達され、メモリ112に到達する。
【0072】
プロセッサ101,102からのリクエストによってメモリ112から読み出されたデータを含むレスポンスは信号線203を介して切替回路401に到達する。また、このレスポンスは切替回路402にも到達するが、そこで止まる。
【0073】
そして、このレスポンスは、切替回路401により信号線207に伝達され、切替回路400に到達する。メモリ112からの読出しデータを含むこのレスポンスは切替回路400により信号線206に伝達され、プロセッサ101、102に到達する。
【0074】
このように、組み込み処理中には、図5に示したようにメモリ112からのデータが読み出される。
【0075】
次に、組み込み処理中のライトアクセスのリクエストについて説明する。
【0076】
図6は、組み込み処理中におけるコンピューティングモジュールのライトアクセス動作を説明するための図である。
【0077】
プロセッサ101,102によるライトアクセスのリクエストは、信号線206(すなわち200)を介して切替回路400に送られる。信号線206からのリクエストは切替回路400により信号線202に伝達される。
【0078】
リクエストは信号線202を介してコンピューティングモジュール301に送られる。コノリクエストは、コンピューティングモジュール301内のメモリ114に到達する。これによりメモリ114にデータが書き込まれる。
【0079】
また、リクエストは信号線202を介して切替回路402に送られる。リクエストは切替回路402により信号線201に伝達され、メモリ111に到達する。これによりメモリ111にデータが書き込まれる。
また、リクエストは信号線202を介して切替回路403に送られる。リクエストは切替回路403により信号線203に伝達され、メモリ112に到達する。これによりメモリ112にデータが書き込まれる。
【0080】
このように、組み込み処理中には、図6に示したようにメモリ111、112にデータが書き込まれる。また、図示されていないが、コンピューティングモジュール301のメモリ114にもプロセッサ101,102により同じデータが書き込まれる。
【0081】
組み込み処理中には、コンピューティングモジュールは上述したプロセッサ101,102からのリードアクセスおよびライトアクセスと並行して、DMA回路404によりメモリ内容のコピーを行う。
【0082】
図7は、組み込み処理中におけるコンピューティングモジュールのメモリコピー動作を説明するための図である。
【0083】
組み込み処理中に、信号線202からメモリ112へのアクセスが無いことを検出すると、DMA回路404は、信号線208を介してメモリ112の全メモリ領域に対するリードリクエストを、順次、切替回路403に入力する。
【0084】
このリクエストは、切替回路403により信号線203に伝達される。これにより、メモリ112のデータが、順次、読み出される。
【0085】
そして、読み出されたデータを含むレスポンスは切替回路401に到達するが、ここで止まる。
また、このレスポンスは、メモリ111に対するライトアクセスのリクエストとして切替回路402に到達する。このリクエストは、切替回路402により信号線201に伝達され、メモリ111に到達する。これにより、順次、メモリ112から読み出されたデータがメモリ111に書き込まれる。これにより、メモリ内容のコピーが行われる。
【0086】
なお、メモリコピーの途中に、プロセッサ101,102から信号線202を介してメモリ111,112へのリクエストがあると、ロックステップフォルトトレラントコンピュータはメモリコピーを中断し、プロセッサ101,102からのリクエストを処理する。リクエストがライトアクセスのものならメモリ111とメモリ112に同じデータが書き込まれる。
【0087】
これにより、メモリーコピーだけでなく、プロセッサ101,102による演算結果についてもメモリ101,102に同じデータが書き込まれる。
【0088】
メモリコピーが全メモリ領域について完了すると、ロックステップフォルトトレラントコンピュータはコンピューティングモジュール300を通常状態に遷移させる。
【0089】
固定的な故障でなくロックステップが外れたコンピューティングモジュールは、交換されなければ、メモリ111,112の内容を保持している。そして、メモリ112の内容はロックステップの外れていないコンピューティングモジュールによって書き込まれたものなので、ロックステップの外れていないコンピューティングモジュールの内容と同様に正常である。
【0090】
本実施形態によれば、ロックステップの外れたコンピューティングモジュールをそのまま運用に組み込む場合、通常時には他のコンピューティングモジュールによってデータが書き込まれていたメモリ112を用いて、組み込み処理中のコンピューティングモジュールは命令列を実行する処理を開始するこができる。
【0091】
そのため、そのコンピューティングモジュールが即座に他のコンピューティングモジュールと同じ動作を開始することができる。また、組み込み処理中のコンピューティングモジュールは、命令列を実行する処理と並行してメモリコピーを行うので、従来のようにメモリコピー中にロックステップフォルトトレラントコンピュータを停止しておく必要が無い。したがって、本実施形態のロックステップフォルトトレラントコンピュータは短い停止時間で動作を再開することができる。
【0092】
なお、本実施形態では、ロックステップフォルトトレラントコンピュータが2つのコンピューティングモジュール300,301を有する構成を例示したが、本発明はそれに限定されない。コンピューティングモジュールは複数であればよい。コンピューティングモジュールが3つ以上の場合、各コンピューティングモジュールのメモリ制御部はリング状に接続されてもよい。また、コンピューティングモジュールの数が偶数であれば、2つづつで対をなし、対をなすコンピューティングモジュールのメモリ制御部が本実施形態の例と同様に相互に接続されてもよい。
【0093】
また、本実施形態ではロックステップフォルトトレラントコンピュータを例示したが、本発明はそれに限定されない。プロセッサとメモリを含む回路が複数存在し、それらの内部状態を一致させることのある装置であれば、本発明が適用可能である。
【0094】
【発明の効果】
本発明の情報処理装置によれば、通常運用中、プロセッサは同じモジュール内の第1の記憶手段を用いて命令を実行し、第2の記憶手段は他のモジュールのプロセッサにより更新されており、故障など何らかの要因で通常運用から一旦外れたモジュールが再び通常運用に戻るとき、故障などが発生したモジュールのプロセッサにより用いられ、更新されてきた第1の記憶手段の代わりに、故障などが発生していない他のモジュールのプロセッサにより更新されてきた第2の記憶手段を用いることにより、短い時間で正常な動作を開始することができる。
【0095】
また、通常運用から外れたモジュールは、第2の記憶手段を用いると共に、プロセッサによるアクセスの合間に、データコピー手段により第2の記憶手段のデータが第1の記憶手段にコピーされるので、通常運用に戻るためのメモリコピーを完了する前に、短時間で正常な動作を再開することができる。
【図面の簡単な説明】
【図1】本発明による一実施形態のロックステップフォルトトレラントコンピュータの構成を示すブロック図である。
【図2】本実施形態のメモリ制御部の詳細な構成を示すブロック図である。
【図3】通常時におけるコンピューティングモジュールのリードアクセス動作を説明するための図である。
【図4】通常時におけるコンピューティングモジュールのライトアクセス動作を説明するための図である。
【図5】組み込み処理中におけるコンピューティングモジュールのリードアクセスの動作を説明するための図である。
【図6】組み込み処理中におけるコンピューティングモジュールのライトアクセス動作を説明するための図である。
【図7】組み込み処理中におけるコンピューティングモジュールのメモリコピー動作を説明するための図である。
【符号の説明】
101,102 プロセッサ
111,112 メモリ
121,122 メモリ制御部
200 バス
201〜208 信号線
300,301 コンピューティングモジュール
400〜403 切替回路
404 DMA回路
Claims (8)
- プロセッサをそれぞれ備えた複数のモジュールを含み、前記各モジュールの前記プロセッサが同じ命令を同時に実行する情報処理装置であって、
前記各モジュールに含まれ、該モジュール内のプロセッサからリードアクセスおよびライトアクセスが可能な第1の記憶手段と、
前記各モジュールに含まれ、該モジュール内のプロセッサからはリードアクセスおよびライトアクセスが可能であり、他のモジュール内のプロセッサからはライトアクセスが可能な第2の記憶手段と、
前記各モジュールに含まれ、該モジュールが通常の運用中には、前記プロセッサが同じモジュール内の前記第1の記憶手段を用いて動作し、前記第2の記憶手段のデータが他のモジュール内のプロセッサにより更新されるように、通常の運用から一旦外れた前記モジュールが再び通常の運用に戻るまでは、該モジュール内の前記プロセッサが該モジュール内の前記第2の記憶手段を用いて動作するように、前記第1の記憶手段および前記第2の記憶手段と同じモジュール内のプロセッサおよび前記他のモジュール内のプロセッサとの接続を制御する制御手段とを有する情報処理装置。 - 前記制御手段は、前記モジュールが通常の運用中には、自身と同じモジュール内の前記プロセッサのリードアクセスが自身と同じモジュール内の前記第1の記憶手段に対して行われ、ライトアクセスが自身と同じモジュール内の前記第1の記憶手段に加えて前記他のモジュール内の前記第2の記憶手段に対しても行われ、前記他のモジュール内の前記プロセッサのライトアクセスが自身と同じモジュール内の前記第2の記憶手段に対して行われるように、通常の運用から一旦外れた後、再び通常の運用に戻るまでの間は、自身と同じモジュール内の前記プロセッサのリードアクセスが自身と同じモジュール内の前記第2の記憶手段に対して行われ、ライトアクセスが自身と同じモジュール内の前記第1の記憶手段および前記第2の記憶手段と前記他のモジュール内の前記第2の記憶手段に対して行われるように前記接続を切り替える、請求項1記載の情報処理装置。
- 通常の運用から外れた前記モジュールが再び通常の運用に戻るまでの間、自身と同じモジュール内の前記プロセッサからの前記第2の記憶手段へのアクセスの合間に、前記第2の記憶手段内のデータを前記第1の記憶手段にコピーするデータコピー手段をさらに有する、請求項2記載の情報処理装置。
- 前記データコピー手段は、ダイレクトメモリアクセスにより前記第2の記憶手段のデータを前記第1の記憶手段にコピーする、請求項3記載の情報処理装置。
- 前記第2の記憶手段の全てのデータが前記第1の記憶手段にコピーされると通常の運用に戻る、請求項3または4記載の情報処理装置。
- 前記複数のモジュールがリング状になるように前記制御部が他のモジュール内の前記第2の記憶手段に接続されている、請求項1〜5のいずれか1項に記載の情報処理装置。
- いずれかのモジュールが故障しても他のモジュールにより処理が継続されるフォルトトレラントコンピュータである、請求項1〜6のいずれか1項に記載の情報処理装置。
- 複数の前記モジュールの前記プロセッサは互いにクロック同期しており、同じ命令を同時に実行するロックステップ型のフォルトトレラントコンピュータである、請求項7記載の情報処理装置。
Priority Applications (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002202558A JP3774826B2 (ja) | 2002-07-11 | 2002-07-11 | 情報処理装置 |
TW092118158A TWI224256B (en) | 2002-07-11 | 2003-07-03 | Information processing apparatus |
CA002434292A CA2434292C (en) | 2002-07-11 | 2003-07-04 | Information processing apparatus |
US10/612,929 US7418626B2 (en) | 2002-07-11 | 2003-07-07 | Information processing apparatus |
CNB031453619A CN1269039C (zh) | 2002-07-11 | 2003-07-08 | 信息处理设备 |
AU2003212014A AU2003212014A1 (en) | 2002-07-11 | 2003-07-09 | Information Processing Apparatus |
EP03015795A EP1380951B1 (en) | 2002-07-11 | 2003-07-10 | Fault tolerant information processing apparatus |
DE60300233T DE60300233T2 (de) | 2002-07-11 | 2003-07-10 | Fehlertolerante Vorrichtung zur informationsverarbeitung |
ES03015795T ES2231750T3 (es) | 2002-07-11 | 2003-07-10 | Aparato tolerante a fallos para el tratamiento de informacion. |
KR1020030046814A KR100583214B1 (ko) | 2002-07-11 | 2003-07-10 | 정보 처리 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002202558A JP3774826B2 (ja) | 2002-07-11 | 2002-07-11 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004046507A JP2004046507A (ja) | 2004-02-12 |
JP3774826B2 true JP3774826B2 (ja) | 2006-05-17 |
Family
ID=29728500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002202558A Expired - Fee Related JP3774826B2 (ja) | 2002-07-11 | 2002-07-11 | 情報処理装置 |
Country Status (10)
Country | Link |
---|---|
US (1) | US7418626B2 (ja) |
EP (1) | EP1380951B1 (ja) |
JP (1) | JP3774826B2 (ja) |
KR (1) | KR100583214B1 (ja) |
CN (1) | CN1269039C (ja) |
AU (1) | AU2003212014A1 (ja) |
CA (1) | CA2434292C (ja) |
DE (1) | DE60300233T2 (ja) |
ES (1) | ES2231750T3 (ja) |
TW (1) | TWI224256B (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009140424A (ja) * | 2007-12-10 | 2009-06-25 | Hitachi Ltd | フォールトトレラントコンピュータシステム、並びに再同期稼働化処理方法、及びプログラム |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9213609B2 (en) * | 2003-12-16 | 2015-12-15 | Hewlett-Packard Development Company, L.P. | Persistent memory device for backup process checkpoint states |
US20050216552A1 (en) * | 2004-03-24 | 2005-09-29 | Samuel Fineberg | Communication-link-attached persistent memory system |
DE102004036261A1 (de) * | 2004-07-26 | 2006-03-23 | Siemens Ag | Verfahren und Anordnung zum Synchronisieren des Speicherinhalts zwischen zwei redundanten Einrichtungen im laufenden Betrieb |
JP2006178636A (ja) * | 2004-12-21 | 2006-07-06 | Nec Corp | フォールトトレラントコンピュータ、およびその制御方法 |
JP2006178550A (ja) | 2004-12-21 | 2006-07-06 | Nec Corp | 二重化同期システム、及び二重化同期システムの動作方法 |
JP4831599B2 (ja) | 2005-06-28 | 2011-12-07 | ルネサスエレクトロニクス株式会社 | 処理装置 |
US7496786B2 (en) * | 2006-01-10 | 2009-02-24 | Stratus Technologies Bermuda Ltd. | Systems and methods for maintaining lock step operation |
JP2010198131A (ja) * | 2009-02-23 | 2010-09-09 | Renesas Electronics Corp | プロセッサシステム、及びプロセッサシステムの動作モード切り替え方法 |
US9983953B2 (en) * | 2012-12-20 | 2018-05-29 | Intel Corporation | Multiple computer system processing write data outside of checkpointing |
US9811345B2 (en) * | 2015-04-16 | 2017-11-07 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Utilizing computing resources under a disabled processor node without fully enabling the disabled processor node |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4823256A (en) * | 1984-06-22 | 1989-04-18 | American Telephone And Telegraph Company, At&T Bell Laboratories | Reconfigurable dual processor system |
CA2003338A1 (en) * | 1987-11-09 | 1990-06-09 | Richard W. Cutts, Jr. | Synchronization of fault-tolerant computer system having multiple processors |
US5287484A (en) * | 1989-06-21 | 1994-02-15 | Hitachi, Ltd. | Multi-processor system for invalidating hierarchical cache |
ATE144058T1 (de) | 1989-08-01 | 1996-10-15 | Digital Equipment Corp | Massenspeicherübertragung während der neusynchronisierung |
US5091847A (en) * | 1989-10-03 | 1992-02-25 | Grumman Aerospace Corporation | Fault tolerant interface station |
US5295258A (en) * | 1989-12-22 | 1994-03-15 | Tandem Computers Incorporated | Fault-tolerant computer system with online recovery and reintegration of redundant components |
JPH03219333A (ja) | 1990-01-24 | 1991-09-26 | Nippon Signal Co Ltd:The | 待機二重系装置 |
US5155845A (en) * | 1990-06-15 | 1992-10-13 | Storage Technology Corporation | Data storage system for providing redundant copies of data on different disk drives |
US5398331A (en) * | 1992-07-08 | 1995-03-14 | International Business Machines Corporation | Shared storage controller for dual copy shared data |
US5689689A (en) | 1992-12-17 | 1997-11-18 | Tandem Computers Incorporated | Clock circuits for synchronized processor systems having clock generator circuit with a voltage control oscillator producing a clock signal synchronous with a master clock signal |
US5751932A (en) * | 1992-12-17 | 1998-05-12 | Tandem Computers Incorporated | Fail-fast, fail-functional, fault-tolerant multiprocessor system |
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 |
US5903717A (en) * | 1997-04-02 | 1999-05-11 | General Dynamics Information Systems, Inc. | Fault tolerant computer system |
KR100258079B1 (ko) * | 1997-12-17 | 2000-06-01 | 이계철 | 밀결합 결함 허용 시스템에서 메모리 버스 확장에 의한 동시 쓰기 이중화 장치 |
US6138198A (en) * | 1998-06-15 | 2000-10-24 | Sun Microsystems, Inc. | Processor bridge with dissimilar data registers which is operable to disregard data differences for dissimilar data write accesses |
DE19836347C2 (de) * | 1998-08-11 | 2001-11-15 | Ericsson Telefon Ab L M | Fehlertolerantes Computersystem |
CA2369932A1 (en) | 1999-04-05 | 2000-10-12 | Marathon Technologies Corporation | Background synchronization for fault-tolerant systems |
GB2369692B (en) * | 2000-11-29 | 2002-10-16 | Sun Microsystems Inc | Processor state reintegration |
US7003691B2 (en) * | 2002-06-28 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Method and apparatus for seeding differences in lock-stepped processors |
US7178088B2 (en) * | 2002-11-18 | 2007-02-13 | Matsushita Electric Industrial Co., Ltd. | Method and circuit for error correction, error correction encoding, data reproduction, or data recording |
JP2006178636A (ja) * | 2004-12-21 | 2006-07-06 | Nec Corp | フォールトトレラントコンピュータ、およびその制御方法 |
US20060150010A1 (en) * | 2005-01-03 | 2006-07-06 | Stiffler Jack J | Memory-controller-embedded apparatus and procedure for achieving system-directed checkpointing without operating-system kernel support |
US7444541B2 (en) * | 2006-06-30 | 2008-10-28 | Seagate Technology Llc | Failover and failback of write cache data in dual active controllers |
-
2002
- 2002-07-11 JP JP2002202558A patent/JP3774826B2/ja not_active Expired - Fee Related
-
2003
- 2003-07-03 TW TW092118158A patent/TWI224256B/zh active
- 2003-07-04 CA CA002434292A patent/CA2434292C/en not_active Expired - Fee Related
- 2003-07-07 US US10/612,929 patent/US7418626B2/en not_active Expired - Fee Related
- 2003-07-08 CN CNB031453619A patent/CN1269039C/zh not_active Expired - Fee Related
- 2003-07-09 AU AU2003212014A patent/AU2003212014A1/en not_active Abandoned
- 2003-07-10 KR KR1020030046814A patent/KR100583214B1/ko not_active IP Right Cessation
- 2003-07-10 EP EP03015795A patent/EP1380951B1/en not_active Expired - Fee Related
- 2003-07-10 ES ES03015795T patent/ES2231750T3/es not_active Expired - Lifetime
- 2003-07-10 DE DE60300233T patent/DE60300233T2/de not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009140424A (ja) * | 2007-12-10 | 2009-06-25 | Hitachi Ltd | フォールトトレラントコンピュータシステム、並びに再同期稼働化処理方法、及びプログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20040007310A (ko) | 2004-01-24 |
CA2434292C (en) | 2006-11-14 |
CA2434292A1 (en) | 2004-01-11 |
ES2231750T3 (es) | 2005-05-16 |
DE60300233T2 (de) | 2005-12-29 |
US20040153750A1 (en) | 2004-08-05 |
JP2004046507A (ja) | 2004-02-12 |
DE60300233D1 (de) | 2005-01-27 |
AU2003212014A1 (en) | 2004-01-29 |
EP1380951A1 (en) | 2004-01-14 |
US7418626B2 (en) | 2008-08-26 |
EP1380951B1 (en) | 2004-12-22 |
TWI224256B (en) | 2004-11-21 |
CN1472649A (zh) | 2004-02-04 |
KR100583214B1 (ko) | 2006-05-24 |
TW200404200A (en) | 2004-03-16 |
CN1269039C (zh) | 2006-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3982353B2 (ja) | フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム | |
US6622263B1 (en) | Method and apparatus for achieving system-directed checkpointing without specialized hardware assistance | |
EP0864126B1 (en) | Remote checkpoint memory system and method for fault-tolerant computer system | |
US5864657A (en) | Main memory system and checkpointing protocol for fault-tolerant computer system | |
US7493517B2 (en) | Fault tolerant computer system and a synchronization method for the same | |
KR20080068710A (ko) | 레지스터를 포함하는 적어도 2개의 실행 유닛을 구비한시스템에서 오류를 제거하기 위한 장치 및 방법 | |
JP4341571B2 (ja) | 記憶装置システムおよびその制御方法、制御プログラム | |
JP2006178616A (ja) | フォールトトレラントシステム、これで用いる制御装置、動作方法、及び動作プログラム | |
JP3774826B2 (ja) | 情報処理装置 | |
JP4182948B2 (ja) | フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法 | |
JP5287974B2 (ja) | 演算処理システム、再同期方法、およびファームプログラム | |
JP2004046455A (ja) | 情報処理装置 | |
JP6083480B1 (ja) | 監視装置、フォールトトレラントシステムおよび方法 | |
JP3253473B2 (ja) | 二重化された共用メモリの等価性回復処理方法および装置 | |
JP2000298594A (ja) | フォールトトレラント制御方法および冗長コンピュータシステム | |
JP5748214B2 (ja) | 二重化情報処理システム | |
JP3696689B2 (ja) | 情報処理システムのメモリコピー装置 | |
JP4494263B2 (ja) | サービスシステムの冗長化方式 | |
JPH06124242A (ja) | 二重化共有メモリ等価性保証方式 | |
KR19990053243A (ko) | 개방형 내장 시스템에서의 순환 이중화 방법 | |
JPH04195646A (ja) | 多重化システム | |
JPH06139091A (ja) | 高信頼度化情報処理装置 | |
JPS6349849A (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: 20050706 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050829 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20060125 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20060127 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060207 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100303 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100303 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110303 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120303 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120303 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130303 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130303 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140303 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |