(57)【要約】【課題】運用状態から切り離されたコンピューティングモジュールを組み込むときの停止時間の短いフォルトトレラントコンピュータを提供する。【解決手段】モジュール３００が通常の運用中には、プロセッサ１０１，１０２はモジュール３００内の第１の記憶手段１１１を用いて動作する。また、第２の記憶手段１１２のデータは他のモジュール３０１内のプロセッサ１０３，１０４により更新されている。モジュール３００が通常の運用から一旦外れ、再び通常の運用に戻るとき、モジュール３００内のプロセッサ１０１，１０２は第２の記憶手段１１２を用いて動作を開始する。また、メモリ制御部１２１内にあるデータコピー手段は、モジュール３００内のプロセッサ１０１，１０２からの第２の記憶手段１１２へのアクセスの合間に、第２の記憶手段１１２内のデータを第１の記憶手段１１１にコピーする。【選択図】　　　図１
2004046507.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサをそれぞれ備えたモジュールを複数含む情報処理装置であって、
前記各モジュールに含まれ、該モジュール内のプロセッサからリードアクセスおよびライトアクセスが可能な第１の記憶手段と、
前記各モジュールに含まれ、該モジュール内のプロセッサからはリードアクセスおよびライトアクセスが可能であり、他のモジュール内のプロセッサからはライトアクセスが可能な第２の記憶手段と、
前記各モジュールに含まれ、該モジュールが通常の運用中には、前記プロセッサが同じモジュール内の前記第１の記憶手段を用いて動作し、前記第２の記憶手段のデータが他のモジュール内のプロセッサにより更新され、通常の運用から一旦外れた前記モジュールが再び通常の運用に戻るとき、該モジュール内の前記プロセッサが該モジュール内の前記第２の記憶手段を用いて動作を開始するように、前記第１の記憶手段および前記第２の記憶手段と同じモジュール内のプロセッサおよび前記他のモジュール内のプロセッサとの接続を制御する制御手段とを有する情報処理装置。
【請求項２】
前記制御手段は、前記モジュールが通常の運用中には、自身と同じモジュール内の前記プロセッサのリードアクセスが自身と同じモジュール内の前記第１の記憶手段に対して行われ、ライトアクセスが自身と同じモジュール内の前記第１の記憶手段に加えて前記他のモジュール内の前記第２の記憶手段に対しても行われ、前記他のモジュール内の前記プロセッサのライトアクセスが自身と同じモジュール内の前記第２の記憶手段に対して行われ、通常の運用から一旦外れた後、再び通常の運用に戻るまでの間、自身と同じモジュール内の前記プロセッサのリードアクセスが自身と同じモジュール内の前記第２の記憶手段に対して行われ、ライトアクセスが自身と同じモジュール内の前記第１の記憶手段および前記第２の記憶手段と前記他のモジュール内の前記第２の記憶手段に対して行われるように前記接続を切り替える、請求項１記載の情報処理装置。
【請求項３】
通常の運用から外れた前記モジュールが再び通常の運用に戻るまでの間、自身と同じモジュール内の前記プロセッサからの前記第２の記憶手段へのアクセスの合間に、前記第２の記憶手段内のデータを前記第１の記憶手段にコピーするデータコピー手段をさらに有する、請求項２記載の情報処理装置。
【請求項４】
前記データコピー手段は、ダイレクトメモリアクセスにより前記第２の記憶手段のデータを前記第１の記憶手段にコピーする、請求項３記載の情報処理装置。
【請求項５】
前記第２の記憶手段の全てのデータが前記第１の記憶手段にコピーされると通常の運用に戻る、請求項３または４記載の情報処理装置。
【請求項６】
前記複数のモジュールがリング状になるように前記制御部が他のモジュール内の前記第２の記憶手段に接続されている、請求項１〜５のいずれか１項に記載の情報処理装置。
【請求項７】
いずれかのモジュールが故障しても他のモジュールにより処理が継続されるフォルトトレラントコンピュータである、請求項１〜６のいずれか１項に記載の情報処理装置。
【請求項８】
複数の前記モジュールの前記プロセッサは互いにクロック同期しており、同じ命令を同時に実行するロックステップ型のフォルトトレラントコンピュータである、請求項７記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、クロック同期させた複数のコンピューティングモジュールで同じ命令列を同時に処理するロックステップフォルトトレラントコンピュータのようなフォルトトレラントコンピュータに関し、特に、他のコンピューティングモジュールとの動作の同一性が崩れて運用から切り離されたコンピューティングモジュールを他のコンピューティングモジュールに同期させる処理の高速化に関する。
【０００２】
【従来の技術】
従来のロックステップフォルトトレラントコンピュータは、複数のコンピューティングモジュールを有し、これら複数のコンピューティングモジュールで同じ命令を同時に実行している。そして、故障あるいはその他の何らかの要因でいずれかのコンピューティングモジュールが他のコンピューティングモジュールと異なる動作をすることがある。
【０００３】
ロックステップフォルトトレラントコンピュータは、他のコンピューティングモジュールと異なる動作をした（すなわちロックステップが外れた）コンピューティングモジュールを検出すると、そのコンピューティングモジュールを一旦運用状態から切り離す。
【０００４】
コンピューティングモジュールのロックステップが外れる要因には様々なものがある。そして、ロックステップの外れに対する対処方法は要因により異なる。
【０００５】
ロックステップが外れる１つの要因として、コンピューティングモジュール内で起こる固定的な故障がある。固定的な故障とは、一時的な擾乱や、自然に復旧するような故障でなく、何らかの修理を必要とするようなものである。
【０００６】
いずれかのコンピューティングモジュールに固定的な故障が起きると、通常、故障したコンピューティングモジュールをロックステップフォルトトレラントコンピュータから取り出し、その代わりに他の正常なコンピューティングモジュールを取り付ける。
【０００７】
ロックステップが外れる他の要因として、コンピューティングモジュールの製造上の差違により、一時的に動作タイミングが他のコンピューティングモジュールとずれることが考えられる。また、さらに他の要因として、α線などの影響によりメモリが一時的に誤動作することが考えられる。これらの場合、コンピューティングモジュールに固定的な故障が生じていないので、コンピューティングモジュールを交換する必要がない。
【０００８】
固定的な故障が生じた場合にはコンピューティングモジュールを交換した後、固定的な故障が生じていない場合には交換せずにそのまま、運用状態から切り離されているコンピューティングモジュールを再び他のコンピューティングモジュールと同期させる（すなわち組み込みを行う）。
【０００９】
運用状態から切り離されていたコンピューティングモジュールを組み込むとき、ロックステップフォルトトレラントコンピュータは、組み込みを行うコンピューティングモジュールのメモリに他のコンピューティングモジュールのメモリの内容をコピーする。それ以降、新たに組み込まれたコンピューティングモジュールは他のコンピューティングモジュールと同じ動作をする。
【００１０】
【発明が解決しようとする課題】
従来のロックステップフォルトトレラントコンピュータは、運用状態から切り離されたコンピューティングモジュールを組み込むとき、全てのコンピューティングモジュールを停止させて、メモリ内容のコピーを行っていた。これは、全てのコンピューティングモジュールの内部の状態を完全に一致させるためである。
【００１１】
しかし、処理性能や記憶能力を向上させるために、近年、ロックステップフォルトトレラントコンピュータのコンピューティングモジュール内のメモリ容量は増大している。そして、現在、コンピューティングモジュール内のメモリの容量は数ギガバイトにも及んでいる。そのため、コンピューティングモジュール内のメモリの内容を全てコピーすることは長時間を要する。
【００１２】
そのため、従来のロックステップフォルトトレラントコンピュータは、運用状態から切り離されたコンピューティングモジュールを組み込むために、運用を長時間停止していた。
【００１３】
本発明の目的は、運用状態から切り離されたコンピューティングモジュールを組み込むときの停止時間の短いフォルトトレラントコンピュータを提供することである。
【００１４】
【課題を解決するための手段】
上記目的を達成するために、本発明の情報処理装置は、プロセッサをそれぞれ備えたモジュールを複数含む情報処理装置であって、
前記各モジュールに含まれ、該モジュール内のプロセッサからリードアクセスおよびライトアクセスが可能な第１の記憶手段と、
前記各モジュールに含まれ、該モジュール内のプロセッサからはリードアクセスおよびライトアクセスが可能であり、他のモジュール内のプロセッサからはライトアクセスが可能な第２の記憶手段と、
前記各モジュールに含まれ、該モジュールが通常の運用中には、前記プロセッサが同じモジュール内の前記第１の記憶手段を用いて動作し、前記第２の記憶手段のデータが他のモジュール内のプロセッサにより更新され、通常の運用から一旦外れた前記モジュールが再び通常の運用に戻るとき、該モジュール内の前記プロセッサが該モジュール内の前記第２の記憶手段を用いて動作を開始するように、前記第１の記憶手段および前記第２の記憶手段と同じモジュール内のプロセッサおよび前記他のモジュール内のプロセッサとの接続を制御する制御手段とを有している。
【００１５】
したがって、本発明の情報処理装置によれば、通常運用中、プロセッサは同じモジュール内の第１の記憶手段を用いて命令を実行し、第２の記憶手段は他のモジュールのプロセッサにより更新されており、故障など何らかの要因で通常運用から一旦外れたモジュールが再び通常運用に戻るとき、故障などが発生したモジュールのプロセッサにより用いられ、更新されてきた第１の記憶手段の代わりに、故障などが発生していない他のモジュールのプロセッサにより更新されてきた第２の記憶手段を用いる。
【００１６】
本発明の一態様によれば、前記制御手段は、前記モジュールが通常の運用中には、自身と同じモジュール内の前記プロセッサのリードアクセスが自身と同じモジュール内の前記第１の記憶手段に対して行われ、ライトアクセスが自身と同じモジュール内の前記第１の記憶手段に加えて前記他のモジュール内の前記第２の記憶手段に対しても行われ、前記他のモジュール内の前記プロセッサのライトアクセスが自身と同じモジュール内の前記第２の記憶手段に対して行われ、通常の運用から一旦外れた後、再び通常の運用に戻るまでの間、自身と同じモジュール内の前記プロセッサのリードアクセスが自身と同じモジュール内の前記第２の記憶手段に対して行われ、ライトアクセスが自身と同じモジュール内の前記第１の記憶手段および前記第２の記憶手段と前記他のモジュール内の前記第２の記憶手段に対して行われるように前記接続を切り替える。
【００１７】
また、本発明の情報処理装置は、通常の運用から外れた前記モジュールが再び通常の運用に戻るまでの間、自身と同じモジュール内の前記プロセッサからの前記第２の記憶手段へのアクセスの合間に、前記第２の記憶手段内のデータを前記第１の記憶手段にコピーするデータコピー手段をさらに有してもよい。
【００１８】
したがって、通常運用から外れたモジュールは、第２の記憶手段を用いると共に、プロセッサによるアクセスの合間に、データコピー手段により第２の記憶手段のデータが第１の記憶手段にコピーされる。
【００１９】
本発明の一態様によれば、前記データコピー手段は、ダイレクトメモリアクセスにより前記第２の記憶手段のデータを前記第１の記憶手段にコピーする。
【００２０】
また、本発明の情報装置は、前記第２の記憶手段の全てのデータが前記第１の記憶手段にコピーされると通常の運用に戻ることとしてもよい。
【００２１】
本発明の一態様によれば、前記複数のモジュールがリング状になるように前記制御部が他のモジュール内の前記第２の記憶手段に接続されている。
【００２２】
本発明の一態様によれば、いずれかのモジュールが故障しても他のモジュールにより処理が継続されるフォルトトレラントコンピュータである。
【００２３】
本発明の一態様によれば、複数の前記モジュールの前記プロセッサは互いにクロック同期しており、同じ命令を同時に実行するロックステップ型のフォルトトレラントコンピュータである。
【００２４】
【発明の実施の形態】
従来技術として述べたように、ロックステップが外れる要因には、コンピューティングモジュールの固定的な故障と、そうでないものがある。固定的な故障が生じたコンピューティングモジュールは交換する必要がある。しかし、固定的な故障でない要因によりロックステップが外れたコンピューティングモジュールは、通常、交換されずそのまま組み込みが行われる。つまり、コンピューティングモジュールのロックステップが外れたとき、そのコンピューティングモジュールが交換されずにそのまま組み込まれることは少なくない。
【００２５】
本発明は、ロックステップの外れたコンピューティングモジュールを交換せずに組み込むときの、ロックステップフォルトトレラントコンピュータの停止時間を短縮するものである。
【００２６】
本発明の一実施形態について図面を参照して詳細に説明する。
【００２７】
図１は、本発明による一実施形態のロックステップフォルトトレラントコンピュータの構成を示すブロック図である。
【００２８】
図１を参照すると、ロックステップフォルトトレラントコンピュータは、コンピューティングモジュール３００，３０１を有している。コンピューティングモジュール３００とコンピューティングモジュール３０１は同じ構成である。
【００２９】
コンピューティングモジュール３００はプロセッサ１０１，１０２、メモリ１１１，１１２およびメモリ制御部１２１を有している。
【００３０】
プロセッサ１０１とプロセッサ１０２は同じ構成でありバス２００を共有している。プロセッサ１０１，１０２のバス２００にメモリ制御部１２１が接続されている。
【００３１】
メモリ１１１とメモリ１１２は同じ構成である。メモリ１１１は信号線２０１でメモリ制御部１２１と接続されている。メモリ１１２は信号線２０３でメモリ制御部１２１と接続されている。
【００３２】
コンピューティングモジュール３０１は、コンピューティングモジュール３００と同様に、プロセッサ１０３，１０４、メモリ１１３，１１４およびメモリ制御部１２２を有している。
【００３３】
プロセッサ１０３，１０４はコンピューティングモジュール３００のプロセッサ１０１，１０２と同じものである。メモリ制御部１２２はコンピューティングモジュール３００のメモリ制御部１２１と同じものである。メモリ１１３、１４はコンピューティングモジュール３００のメモリ１１１，１１２と同じものである。
【００３４】
コンピューティングモジュール３００のメモリ制御部１２１とコンピューティングモジュール３０１のメモリ制御部１２２は信号線２０２，２０５で接続されている。
【００３５】
以下、コンピューティングモジュール３００に着目して説明する。
【００３６】
プロセッサ１０１，１０２はロックステップフォルトトレラントコンピュータに与えられた命令を実行する。プロセッサ１０１，１０２は他のコンピューティングモジュール３０１のプロセッサ１０３，１０４とクロック同期して同じ命令を同時に実行する。命令列を実行するとき、プロセッサ１０１，１０２はメモリに対してライトアクセスまたはリードアクセスを行う。
【００３７】
メモリ制御部１２１は、プロセッサ１０１，１０２からのメモリアクセスおよびコンピューティングモジュール３０１からの信号線２０５を介したメモリアクセスのリクエストを切り替えてメモリ１１１，１１２に伝える。また、メモリ制御部１２１は、メモリアクセスのリクエストに対するメモリからのレスポンスをプロセッサ１０１，１０２に伝える。
【００３８】
リクエストはライトアクセスおよびリードアクセスのときにプロセッサからメモリに送られる。ライトアクセスのリクエストには書き込みデータが含まれる。また、レスポンスはリードアクセスのときにメモリからプロセッサに送られる。レスポンスには読出しデータが含まれる。
【００３９】
図２は、本実施形態のメモリ制御部の詳細な構成を示すブロック図である。図２を参照すると、メモリ制御部１２１は、切替回路４００，４０１，４０２，４０３およびＤＭＡ回路４０４を有している。
【００４０】
切替回路４００は、いずれかのメモリからレスポンスが来ると、信号線２０７を信号線２０６に接続し、レスポンスを信号線２０６に伝える。信号線２０６はバス２００に等しい信号線であり、レスポンスはプロセッサ１０１，１０２に伝えられる。また、切り替え回路４００は、プロセッサ１０１，１０２からいずれかのメモリへのリクエストがあるとき信号線２０６を信号線２０２に接続する。
【００４１】
切替回路４０１は、組み込み処理中にメモリ１１２からのレスポンスが来ると、信号線２０３を信号線２０７に接続してメモリ１１２からのレスポンスを選択する。また、切替回路４０１は、通常時にメモリ１１１からのレスポンスが来ると、信号線２０１を信号線２０７に接続してメモリ１１１からのレスポンスを選択する。なお、通常時とは、コンピューティングモジュール３００が他のコンピューティングモジュール３０１と同期して動作している状態をいう。また、組み込み処理中とは、コンピューティングモジュール３００の組み込みの処理が開始され、その処理が終了していない状態をいう。
【００４２】
切替回路４０２は、信号線２０２を介してプロセッサ１０１，１０２からのリクエストが来ると、必ず信号線２０２を信号線２０１に接続して、リクエストをメモリ１１１に伝える。また、切替回路４０２は、組み込み処理中に信号線２０３を介してＤＭＡ転送（コピー）によるライトアクセスのリクエストが来ると、信号線２０３を信号線２０１に接続し、リクエストをメモリ１１１に伝える。
【００４３】
切替回路４０３は、組み込み処理中に信号線２０２を介してリクエストが来ると、信号線２０２を信号線２０３に接続し、リクエストをメモリ１１２に伝える。また、切替回路４０３は、通常時に信号線２０５を介してコンピューティングモジュール３０１からのリクエストが来ると、信号線２０５を信号線２０３に接続しリクエストをメモリ１１２に伝える。また、切替回路４０３は、組み込み処理中であり信号線２０２からのリクエストが来ていないとき、信号線２０８を信号線２０３に接続し、ＤＭＡ回路４０４からのＤＭＡ転送（コピー）によるリードアクセスのリクエストをメモリ１１２に伝える。
【００４４】
ＤＭＡ回路４０４は、組み込み処理中であり信号線２０２からのリクエストが来ていないとき信号線２０８を介して、メモリ１１２からメモリ１１１へのＤＭＡ転送を行う。ＤＭＡ転送において、ＤＭＡ回路４０４は、メモリ１１２の全メモリ領域に対して、順次、データを読出してメモリ１１１に書き込む。ＤＭＡ転送の途中にプロセッサ１０１，１０２から信号線２０２を介してメモリ１１１，１１２へのリクエストがあれば、ＤＭＡ回路４０４はＤＭＡ転送を中断する。
【００４５】
本実施形態のロックステップフォルトトレラントコンピュータの通常時の動作について説明する。通常時には、全てのコンピューティングモジュール３００，３０１が同じ動作をする。
【００４６】
まず、通常時のリードアクセスのリクエストについて説明する。
【００４７】
図３は、通常時におけるコンピューティングモジュールのリードアクセス動作を説明するための図である。
【００４８】
プロセッサ１０１，１０２によるリードアクセスのリクエストは、信号線２０６（すなわちバス２００）を介して切替回路４００に送られる。信号線２０６からのリクエストは切替回路４００により信号線２０２に伝達される。
【００４９】
リクエストは信号線２０２を介してコンピューティングモジュール３０１に送られる。このリクエストは、メモリ１１４に到達するが、メモリ１１４からのレスポンスがコンピューティングモジュール３０１内の切替回路で止まる。
【００５０】
また、リクエストは信号線２０２を介して切替回路４０３に送られるが、そこで止まりメモリ１１２に到達しない。
【００５１】
また、リクエストは信号線２０２を介して切替回路４０２に送られる。リクエストは切替回路４０２により信号線２０１に伝達され、メモリ１１１に到達する。また、リクエストは信号線２０１を介して切替回路４０１にも到達するが、そこで止まる。
【００５２】
プロセッサ１０１，１０２からのリクエストによってメモリ１１１から読み出されたデータを含むレスポンスは信号線２０１を介して切替回路４０１に送られる。メモリ１１１からのレスポンスは、切替回路４０１により信号線２０７に伝達され、切替回路４００に到達する。そして、読出しデータを含むこのレスポンスは切替回路４００により信号線２０６に伝達され、プロセッサ１０１，１０２に到達する。
【００５３】
このように、通常時には、図３に示したようにメモリ１１１からデータが読み出される。
【００５４】
次に、通常時のライトアクセスのリクエストについて説明する。
【００５５】
図４は、通常時におけるコンピューティングモジュールのライトアクセス動作を説明するための図である。
【００５６】
プロセッサ１０１，１０２によるライトアクセスのリクエストは、信号線２０６（すなわちバス２００）を介して切替回路４００に送られる。信号線２０６からのリクエストは切替回路４００により信号線２０２に伝達される。
【００５７】
リクエストは信号線２０２を介してコンピューティングモジュール３０１に送られる。このリクエストは、コンピューティングモジュール３０１内のメモリ１１４に到達する。これによりメモリ１１４にデータが書き込まれる。
【００５８】
また、リクエストは信号線２０２を介して切替回路４０３に送られるが、そこで止まりメモリ１１２に到達しない。
【００５９】
また、リクエストは信号線２０２を介して切替回路４０２に送られる。リクエストは切替回路４０２により信号線２０１に伝達され、メモリ１１１に到達する。これによりメモリ１１１にデータが書き込まれる。
【００６０】
このように、通常時には、図４に示したようにメモリ１１１にデータが書き込まれる。また、図示されていないが、コンピューティングモジュール３０１のメモリ１１４にもプロセッサ１０１，１０２により同じデータが書き込まれる。さらに、コンピューティングモジュール３０１のプロセッサ１０３，１０４もプロセッサ１０１，１０２と同じ動作をしているので、図４に示したように、メモリ１１２にも同じデータが書き込まれる。
【００６１】
本実施形態のロックステップフォルトトレラントコンピュータにおいて、いずれかのコンピューティングモジュールのロックステップが外れてから、組み込み処理中を経て、組み込みが完了するまでの動作について説明する。
【００６２】
ロックステップが外れると、ロックステップフォルトトレラントコンピュータは全てのコンピューティングモジュール３００，３０１を一旦停止させる。次に、ロックステップフォルトトレラントコンピュータは、その時点でプロセッサ１０１，１０２，１０３，１０４上で動作していたプロセスのコンテキストをメモリに格納する。
【００６３】
次に、ロックステップフォルトトレラントコンピュータは、メモリに格納したプロセスのコンテキストを全てのコンピューティングモジュールのプロセッサにロードする。
【００６４】
次に、ロックステップの外れていないコンピューティングモジュールは、通常時の動作を再開する。また、ロックステップの外れたコンピューティングモジュールは、組み込み処理を開始する。
【００６５】
組み込み処理中のコンピューティングモジュールの動作について説明する。
【００６６】
まず、組み込み処理中のリードアクセスについて説明する。
【００６７】
図５は、組み込み処理中におけるコンピューティングモジュールのリードアクセスの動作を説明するための図である。ここでロックステップが外れたのはコンピューティングモジュール３００であるとする。
【００６８】
プロセッサ１０１，１０２によるリードアクセスのリクエストは、信号線２０６（すなわちパス２００）を介して切替回路４００に送られる。信号線２０６からのリクエストは切替回路４００により信号線２０２に伝達される。
【００６９】
リクエストは信号線２０２を介してコンピューティングモジュール３０１に送られる。このリクエストは、メモリ１１４に到達するが、メモリ１１４からのレスポンスがコンピューティングモジュール３０１内の切替回路で止まる。
【００７０】
また、リクエストは信号線２０２を介して切替回路４０２に送られる。このリクエストはメモリ１１１に到達するが、メモリ１１１からのレスポンスが切替回路４０１で止まる。
【００７１】
また、リクエストは信号線２０２を介して切替回路４０３に送られる。コノリクエストは切替回路４０３により信号線２０３に伝達され、メモリ１１２に到達する。
【００７２】
プロセッサ１０１，１０２からのリクエストによってメモリ１１２から読み出されたデータを含むレスポンスは信号線２０３を介して切替回路４０１に到達する。また、このレスポンスは切替回路４０２にも到達するが、そこで止まる。
【００７３】
そして、このレスポンスは、切替回路４０１により信号線２０７に伝達され、切替回路４００に到達する。メモリ１１２からの読出しデータを含むこのレスポンスは切替回路４００により信号線２０６に伝達され、プロセッサ１０１、１０２に到達する。
【００７４】
このように、組み込み処理中には、図５に示したようにメモリ１１２からのデータが読み出される。
【００７５】
次に、組み込み処理中のライトアクセスのリクエストについて説明する。
【００７６】
図６は、組み込み処理中におけるコンピューティングモジュールのライトアクセス動作を説明するための図である。
【００７７】
プロセッサ１０１，１０２によるライトアクセスのリクエストは、信号線２０６（すなわち２００）を介して切替回路４００に送られる。信号線２０６からのリクエストは切替回路４００により信号線２０２に伝達される。
【００７８】
リクエストは信号線２０２を介してコンピューティングモジュール３０１に送られる。コノリクエストは、コンピューティングモジュール３０１内のメモリ１１４に到達する。これによりメモリ１１４にデータが書き込まれる。
【００７９】
また、リクエストは信号線２０２を介して切替回路４０２に送られる。リクエストは切替回路４０２により信号線２０１に伝達され、メモリ１１１に到達する。これによりメモリ１１１にデータが書き込まれる。
また、リクエストは信号線２０２を介して切替回路４０３に送られる。リクエストは切替回路４０３により信号線２０３に伝達され、メモリ１１２に到達する。これによりメモリ１１２にデータが書き込まれる。
【００８０】
このように、組み込み処理中には、図６に示したようにメモリ１１１、１１２にデータが書き込まれる。また、図示されていないが、コンピューティングモジュール３０１のメモリ１１４にもプロセッサ１０１，１０２により同じデータが書き込まれる。
【００８１】
組み込み処理中には、コンピューティングモジュールは上述したプロセッサ１０１，１０２からのリードアクセスおよびライトアクセスと並行して、ＤＭＡ回路４０４によりメモリ内容のコピーを行う。
【００８２】
図７は、組み込み処理中におけるコンピューティングモジュールのメモリコピー動作を説明するための図である。
【００８３】
組み込み処理中に、信号線２０２からメモリ１１２へのアクセスが無いことを検出すると、ＤＭＡ回路４０４は、信号線２０８を介してメモリ１１２の全メモリ領域に対するリードリクエストを、順次、切替回路４０３に入力する。
【００８４】
このリクエストは、切替回路４０３により信号線２０３に伝達される。これにより、メモリ１１２のデータが、順次、読み出される。
【００８５】
そして、読み出されたデータを含むレスポンスは切替回路４０１に到達するが、ここで止まる。
また、このレスポンスは、メモリ１１１に対するライトアクセスのリクエストとして切替回路４０２に到達する。このリクエストは、切替回路４０２により信号線２０１に伝達され、メモリ１１１に到達する。これにより、順次、メモリ１１２から読み出されたデータがメモリ１１１に書き込まれる。これにより、メモリ内容のコピーが行われる。
【００８６】
なお、メモリコピーの途中に、プロセッサ１０１，１０２から信号線２０２を介してメモリ１１１，１１２へのリクエストがあると、ロックステップフォルトトレラントコンピュータはメモリコピーを中断し、プロセッサ１０１，１０２からのリクエストを処理する。リクエストがライトアクセスのものならメモリ１１１とメモリ１１２に同じデータが書き込まれる。
【００８７】
これにより、メモリーコピーだけでなく、プロセッサ１０１，１０２による演算結果についてもメモリ１０１，１０２に同じデータが書き込まれる。
【００８８】
メモリコピーが全メモリ領域について完了すると、ロックステップフォルトトレラントコンピュータはコンピューティングモジュール３００を通常状態に遷移させる。
【００８９】
固定的な故障でなくロックステップが外れたコンピューティングモジュールは、交換されなければ、メモリ１１１，１１２の内容を保持している。そして、メモリ１１２の内容はロックステップの外れていないコンピューティングモジュールによって書き込まれたものなので、ロックステップの外れていないコンピューティングモジュールの内容と同様に正常である。
【００９０】
本実施形態によれば、ロックステップの外れたコンピューティングモジュールをそのまま運用に組み込む場合、通常時には他のコンピューティングモジュールによってデータが書き込まれていたメモリ１１２を用いて、組み込み処理中のコンピューティングモジュールは命令列を実行する処理を開始するこができる。
【００９１】
そのため、そのコンピューティングモジュールが即座に他のコンピューティングモジュールと同じ動作を開始することができる。また、組み込み処理中のコンピューティングモジュールは、命令列を実行する処理と並行してメモリコピーを行うので、従来のようにメモリコピー中にロックステップフォルトトレラントコンピュータを停止しておく必要が無い。したがって、本実施形態のロックステップフォルトトレラントコンピュータは短い停止時間で動作を再開することができる。
【００９２】
なお、本実施形態では、ロックステップフォルトトレラントコンピュータが２つのコンピューティングモジュール３００，３０１を有する構成を例示したが、本発明はそれに限定されない。コンピューティングモジュールは複数であればよい。コンピューティングモジュールが３つ以上の場合、各コンピューティングモジュールのメモリ制御部はリング状に接続されてもよい。また、コンピューティングモジュールの数が偶数であれば、２つづつで対をなし、対をなすコンピューティングモジュールのメモリ制御部が本実施形態の例と同様に相互に接続されてもよい。
【００９３】
また、本実施形態ではロックステップフォルトトレラントコンピュータを例示したが、本発明はそれに限定されない。プロセッサとメモリを含む回路が複数存在し、それらの内部状態を一致させることのある装置であれば、本発明が適用可能である。
【００９４】
【発明の効果】
本発明の情報処理装置によれば、通常運用中、プロセッサは同じモジュール内の第１の記憶手段を用いて命令を実行し、第２の記憶手段は他のモジュールのプロセッサにより更新されており、故障など何らかの要因で通常運用から一旦外れたモジュールが再び通常運用に戻るとき、故障などが発生したモジュールのプロセッサにより用いられ、更新されてきた第１の記憶手段の代わりに、故障などが発生していない他のモジュールのプロセッサにより更新されてきた第２の記憶手段を用いることにより、短い時間で正常な動作を開始することができる。
【００９５】
また、通常運用から外れたモジュールは、第２の記憶手段を用いると共に、プロセッサによるアクセスの合間に、データコピー手段により第２の記憶手段のデータが第１の記憶手段にコピーされるので、通常運用に戻るためのメモリコピーを完了する前に、短時間で正常な動作を再開することができる。
【図面の簡単な説明】
【図１】本発明による一実施形態のロックステップフォルトトレラントコンピュータの構成を示すブロック図である。
【図２】本実施形態のメモリ制御部の詳細な構成を示すブロック図である。
【図３】通常時におけるコンピューティングモジュールのリードアクセス動作を説明するための図である。
【図４】通常時におけるコンピューティングモジュールのライトアクセス動作を説明するための図である。
【図５】組み込み処理中におけるコンピューティングモジュールのリードアクセスの動作を説明するための図である。
【図６】組み込み処理中におけるコンピューティングモジュールのライトアクセス動作を説明するための図である。
【図７】組み込み処理中におけるコンピューティングモジュールのメモリコピー動作を説明するための図である。
【符号の説明】
１０１，１０２　　プロセッサ
１１１，１１２　　メモリ
１２１，１２２　　メモリ制御部
２００　　バス
２０１〜２０８　　信号線
３００，３０１　　コンピューティングモジュール
４００〜４０３　　切替回路
４０４　　ＤＭＡ回路
【図１】
2004046507.tif 000003
【図２】
2004046507.tif 000004
【図３】
2004046507.tif 000005
【図４】
2004046507.tif 000006
【図５】
2004046507.tif 000007
【図６】
2004046507.tif 000008
【図７】
2004046507.tif 000009