(57)【要約】【課題】多重系システム野高信頼性制御装置において、ＥＣＣエラー履歴がレジスタに残る場合のように、プロセッサ毎に異なるデータの書込み、読込みをすれば比較不一致となって動作が停止する問題点を解決する。【解決手段】Ａ系記憶装置１へのアクセス、特に、Ａ系側リードアクセス２８の場合、Ａ系記憶装置１からＡ系プロセッサ２に対して読込データ（０ｘ３）が転送されると同時に、比較器７を経由しＢ系側へＡ系側と同一データ（０ｘ３）が分配され、Ｂ系プロセッサ３にも転送される。比較器７内部では、Ａ系側のデータ（０ｘ３）と分配されたＢ系側の同一データ（０ｘ３）を比較することから、比較一致として動作を継続することができる。【選択図】図１
2011014011.tif 000002
【特許請求の範囲】
【請求項１】
同一周波数で同一処理を行う複数のプロセッサと、前記プロセッサがそれぞれ独立にアクセス動作を行う記憶装置と、前記プロセッサの入出力動作を常時比較し、同一動作の場合は、正常と判断する比較機能を持つ多重系システムの高信頼性制御装置において、
一方のプロセッサが独立にアクセス動作を行う記憶装置に対して、特定の条件において、他方のプロセッサと異なるデータの書込み、又は読込みを行う場合、プロセッサの動作を比較する比較制御部内で、異なるデータの書込み、又は読込みを行ったプロセッサのデータと同一データを他方のプロセッサ側へ分配し、同一データを比較させることで、前記特定の条件において、異なるデータの書込み、又は読込みを可能にすることを特徴とする多重系システムの高信頼性制御装置。
【請求項２】
請求項１に記載の多重系システムの高信頼性制御装置において、
前記複数のプロセッサが２つのプロセッサからなり、
一方のプロセッサが独立にアクセス動作を行う記憶装置に対して、特定の条件において、もう一方のプロセッサと異なるデータの書込み、又は読込みを行う場合、プロセッサの動作を比較する比較制御部内で、異なるデータの書込み、又は読込みを行ったプロセッサのデータと同一データをもう一方のプロセッサ側へ分配し、同一データを比較させることで、前記特定の条件において、異なるデータの書込み、又は読込みを可能にすることを特徴とする多重系システムの高信頼性制御装置。
【請求項３】
請求項１に記載の多重系システムの高信頼性制御装置において、
前記複数のプロセッサが３以上の複数のプロセッサからなり、
一方のプロセッサが独立にアクセス動作を行う記憶装置に対して、特定の条件において、他方の複数のプロセッサと異なるデータの書込み、又は読込みを行う場合、プロセッサの動作を比較する比較制御部内で、異なるデータの書込み、又は読込みを行ったプロセッサのデータと同一データを他方の複数のプロセッサ側へ分配し、同一データを比較させることで、前記特定の条件において、異なるデータの書込み、又は読込みを可能にすることを特徴とする多重系システムの高信頼性制御装置。
【請求項４】
請求項１乃至３のいずれかの請求項に記載の多重系システムの高信頼性制御装置において、
前記特定の条件は、記憶装置のエラーチェック処理が終了して、エラーチェック要因レジスタにＥＣＣエラー履歴が残って比較不一致が発生する条件であることを特徴とする多重系システムの高信頼性制御装置。
【請求項５】
請求項１乃至３のいずれかの請求項に記載の多重系システムの高信頼性制御装置において、
前記特定の条件は、多重系システムの記憶装置に、意図的に異なるデータの書込み、または読込みが為されて、比較不一致が発生する条件であることを特徴とする多重系システムの高信頼性制御装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プロセッサの多重系システムにおける高信頼性制御装置に関する。
【背景技術】
【０００２】
近年、システムの高信頼性が要求されてきており、プロセッサを多重化した高信頼性システムが開発されている。高信頼性の例として、鉄道保安システムのように誤った処理により、誤制御が行われ人命に関わるような危険な事故とならないフェールセーフなシステムがある。鉄道分野ではこのようなフェールセーフなシステムが開発され、実用化されてきた。
【０００３】
このフェールセーフなシステムの中にプロセッサを多重系構成とすることでフェールセーフ性を確保するシステムがある。以下、従来技術である２つのプロセッサの動作を比較器により監視する２重系システムの従来例として、図４に２重系システムのシステム構成を、図５、図６にその２重系システムの動作を説明する。
【０００４】
図４に示すように、２つのプロセッサ（プロセッサＡ系２／プロセッサＢ系３）は、それぞれ同一周波数、同一処理が行われ、これらのプロセッサの動作を比較器で常時監視する。プロセッサＡ２／プロセッサＢ３は、それぞれプロセッサ毎に独立した記憶装置Ａ１／記憶装置Ｂ４に対し書込動作、又は読込動作が行われ、比較器７は、プロセッサＡ２〜記憶装置Ａ１、プロセッサＢ３〜記憶装置Ｂ４の間それぞれで行われるデータを横取りし、書込動作、又は読込動作を常時監視する。具体的には、双方のプロセッサから出力する信号線（アドレス信号、データ信号、制御信号）の状態を１クロック毎に取り込み、状態を監視している。
【０００５】
正常な動作であれば、２つのプロセッサは同一動作をすることから、図５に示すように、比較器７では、比較一致として正常動作と判断し、動作を継続する。
【０００６】
一方、２つのプロセッサが何らかの影響により異なる動作をした場合、図６に示すように、比較器７では比較不一致として異常動作と判断、双方のプロセッサに対し異常動作報告が行われプロセッサの動作を停止させる。
【０００７】
このように、プロセッサの多重系構成による動作で、高信頼性な制御装置を実現することを可能としていた。
【０００８】
また、多重系構成での外乱によるシステムの稼働率低下を回避することを可能とした２重系電子計算機の例が、特許文献１に開示されている。また、入出力装置を共用する２台の計算機からの入出力装置へのアクセス方法を改善したバス切換装置を備えた二重化計算機システムの例が特許文献２に開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平１０−３０１７９８号公報
【特許文献２】特開昭６３−１５９９４５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
従来技術では、アプリケーションによっては、プロセッサ毎で独立した記憶装置等に対して、異なるデータの書込み、又は読込みが為される場合、あるいは意図的に異なるデータの書込み、又は読込みに対して対応する場合がある。
【００１１】
例えば、実施例１で説明しているＥＣＣ（Error Check and Correct）機能を持つ装置のＥＣＣエラー処理のように、Ａ系のみＥＣＣエラーが発生する可能性があると、Ａ系のみのＥＣＣエラー履歴を残すレジスタアクセスがある。この場合には、従来技術のまま、プロセッサ毎に異なるデータの書込み、読込みをすれば比較不一致となることは明らかである。
【００１２】
本発明は、上記の問題を解決するため、特定の条件の場合に限定して、プロセッサ毎に異なるデータでも比較一致として動作継続させることを目的とする。
【課題を解決するための手段】
【００１３】
本発明の多重系システムの高信頼性制御装置は、同一周波数で同一処理を行う複数のプロセッサと、前記プロセッサがそれぞれ独立にアクセス動作を行う記憶装置と、前記プロセッサの入出力動作を常時比較し、同一動作の場合は、正常と判断する比較機能を持つ多重系システムの高信頼性制御装置であって、一方のプロセッサが独立にアクセス動作を行う記憶装置に対して、特定の条件において、他方のプロセッサと異なるデータの書込み、又は読込みを行う場合、プロセッサの動作を比較する比較制御部内で、異なるデータの書込み、又は読込みを行ったプロセッサのデータと同一データを他方のプロセッサ側へ分配し、同一データを比較させることで、前記特定の条件において、異なるデータの書込み、又は読込みを可能にすることを特徴とする。
【発明の効果】
【００１４】
本発明によれば、プロセッサＡ２／プロセッサＢ  ３は、一方の記憶装置に対してデータ書込み、及び読込みを行い。この時、もう一方の記憶装置に対しては書込み、読込みはせず、比較器  ７内部でプロセッサＡ２／プロセッサＢ  ３に同一データを分配し、このデータを比較するので、比較器７では比較一致としてプロセッサ動作を継続させることができる。
【図面の簡単な説明】
【００１５】
【図１】図１は本発明の動作を説明するための図である。
【図２】図２は本発明の動作を説明するための図である。
【図３】図３は本発明のプロセッサアクセスメモリ空間を示す図である。
【図４】図４は従来技術の構成を説明するための図である。
【図５】図５は従来技術の動作を説明するための図である。
【図６】図６は従来技術の動作を説明するための図である。
【図７】図７は本発明の実施例を説明するＡ系側リードアクセスの動作図である。
【図８】図８は本発明の実施例を説明するＢ系側リードアクセスの動作図である。
【発明を実施するための形態】
【００１６】
図１及び図２に本発明の動作を示す。本発明の構成においては、従来技術の構成（図４に示すものと同一構成）を用い、記憶装置に対するプロセッサのアクセス方式を改良している。
【００１７】
図１は、Ａ系記憶装置１へのアクセスを示している。Ａ系側リードアクセス２８の場合、Ａ系記憶装置１からＡ系プロセッサ２に対して読込データ（０ｘ３）が転送されると同時に、比較器７を経由しＢ系側へＡ系側と同一データ（０ｘ３）が分配され、Ｂ系プロセッサ３にも転送される。比較器７内部では、Ａ系側のデータ（０ｘ３）と分配されたＢ系側の同一データ（０ｘ３）を比較することから、比較一致として動作を継続することができる。
【００１８】
また、Ａ系側ライトアクセス３０の場合、Ａ系プロセッサ２からＡ系記憶装置１に対して書込データ（０ｘ３）が転送される。同時に、Ｂ系プロセッサ３からもＡ系記憶装置１に対して同一データ（０ｘ３）を転送するが、比較器７では、比較動作のみのためＡ系側へのデータ分配は行わず、比較器７内部でデータ（０ｘ３）をディセーブル３２する。
【００１９】
図２は、Ｂ系記憶装置４のアクセスを示している。Ｂ系側リードアクセス２９の場合、Ｂ系記憶装置４からＢ系プロセッサ３に対して読込データ（０ｘ２）が転送されると同時に、比較器７を経由しＡ系側へＢ系側と同一データ（０ｘ２）が分配され、Ａ系プロセッサ２にも転送される。比較器７内部では、Ｂ系側のデータ（０ｘ２）と分配されたＡ系側の同一データ（０ｘ２）を比較することから、比較一致として動作を継続することができる。
【００２０】
また、Ｂ系側ライトアクセス３１の場合、Ｂ系プロセッサ３からＢ系記憶装置４に対して書込データ（０ｘ２）が転送される。同時に、Ａ系プロセッサ２からもＢ系記憶装置４に対して同一データ（０ｘ２）を転送するが、比較器７では、比較動作のみのためＢ系側へのデータ分配は行わず、比較器７内部でデータ（０ｘ２）をディセーブル３２する。
【００２１】
アプリケーション毎でソフトウェアは異なるため、プロセッサがアクセスできる空間を図３のようにすることで、アプリケーション毎に変更することが可能となる。独立アクセス空間は、Ａ系プロセッサ２／Ｂ系プロセッサ３がそれぞれ個別にアクセスを行うアクセス方法（図５、図６のアクセス方法）である。
【００２２】
Ａ系アクセス空間は、Ａ系記憶装置１のみに対するアクセス方法（図１のアクセス方法）を、Ｂ系アクセス空間は、Ｂ系記憶装置４のみに対するアクセス方法（図２のアクセス方法）となるように構成する。
【実施例】
【００２３】
図７、図８は、本発明を使用した実施例とその構成、動作を示している。以下の説明の中で、片系のみの動作を示す箇所（〜−Ａ／〜−Ｂの無し）は、両系で同一であることを示す。
【００２４】
２重系システムの中心となるＣＰＵ−Ａ１０／ＣＰＵ−Ｂ１１がある。それぞれＣＰＵ毎に独立して使用するＲＡＭ−Ａ９／ＲＡＭ−Ｂ１２、これらのＲＡＭはＣＰＵのワークメモリとして使用し、高い頻度でアクセスが行われる重要なメモリであるためＥＣＣ機能を付加する。
【００２５】
ここで、ＥＣＣとは、メモリのビット化けを訂正、検出する誤り訂正機能である。ＥＣＣ機能に必要なＥＣＣチェックコード生成、ＥＣＣチェックは、ＥＣＣ制御ＦＰＧＡ（Field Programmable Gate Array）で行われる。ＥＣＣ制御ＦＰＧＡで生成されるＥＣＣチェックコードもＥＣＣチェックコード格納用としてＲＡＭと同様なＥＣＣ−Ａ８／ＥＣＣ−Ｂ１３を用意する。
【００２６】
また、図１、図２の構成と同様に、比較器２４ではＣＰＵ−Ａ１０〜ＲＡＭ−Ａ９間／ＣＰＵ−Ｂ１１〜ＲＡＭ−Ｂ１２間で行われるデータを横取りし、ＣＰＵ−Ａ１０／ＣＰＵ−Ｂ１１相互の動作を常時比較監視する。
【００２７】
ライトアクセス動作は、ＣＰＵがＲＡＭに対して必要なデータを書込む。このデータ書込みと同時に、ＲＡＭへ書込みを行ったデータに対応したＥＣＣチェックコードをＥＣＣ制御ＦＰＧＡで生成し、ＥＣＣへ格納する。
【００２８】
また、リードアクセス時は、ＲＡＭからＣＰＵに必要なデータが読込まれる。データ読込みと同時にＲＡＭへ書込んだデータに対応したＥＣＣチェックコードをＥＣＣから読込む。ＥＣＣ制御ＦＰＧＡでは、ＲＡＭからの読込データとＥＣＣチェックコードにより、ＲＡＭからの読込データの妥当性をチェックし、ビット化けの訂正、検出を行う。
【００２９】
ここで、訂正とは、ＲＡＭデータが１ビット化けの場合、ＥＣＣ制御ＦＰＧＡで正しいデータへ訂正すること、また、検出とは、ＲＡＭデータが２ビット化けの場合、訂正せずにＣＰＵに対してエラー報告のみを行う。
【００３０】
ビット化け訂正の場合、比較器２４へは、ＲＡＭのビット化けの訂正されたデータを監視するため、比較一致としてＣＰＵを停止させることなく、動作を継続することができる。この時、エラー訂正を行ったという履歴をＥＣＣエラー要因レジスタ１５に残す。ビット化け検出の場合、比較器２４へは、ＲＡＭのビット化け検出のみ行われ、ビット化けしたデータを比較する前にＣＰＵに対してエラー報告される。
【００３１】
前述した動作により、ＲＡＭ−Ａ９で１ビットエラー訂正が発生したとする。ＲＡＭ−Ａ９の誤ったデータとＥＣＣ−Ａ８のＥＣＣチェックコードにより、ＥＣＣ制御ＦＰＧＡ−Ａ１７でエラー訂正されたデータが、ＣＰＵ−Ａ１０へ読込まれる。それと同時にＥＣＣ制御ＦＰＧＡ−Ａ内部に持つＥＣＣエラー要因レジスタ１５が有効（エラー要因のビットが１となる：０ｘ０００１）、Ｂ系のＥＣＣエラー要因レジスタ１９は、ＥＣＣエラーが発生しておらず、無効（エラー要因のビットは０のまま：０ｘ００００）である。
【００３２】
ＥＣＣエラーが発生すると、ＥＣＣ制御ＦＰＧＡ−Ａ１７から比較器２４に割込報告が行われ、更に比較器２４からＣＰＵ−Ａ１０／ＣＰＵ−Ｂ１１の両ＣＰＵに対して同時に割込報告が行われる。ＣＰＵ−Ａ１０／ＣＰＵ−Ｂ１１は、同一処理を行うため、この割込報告を同時に受付けて、それぞれのＥＣＣエラー要因レジスタの読込みを行うと、Ａ系のみＥＣＣエラー要因レジスタ値が有効（０ｘ０００１）となっているため、比較不一致となってしまう。
【００３３】
このように、Ａ／Ｂ系で明らかに異なる、又は異なると思われるデータのアクセスは、本発明のような動作方法で、Ａ系側アクセスとＢ系側アクセスを個別に行うことで比較不一致による動作停止を回避する。
【００３４】
本実施例では、ＣＰＵ−Ａ１０／ＣＰＵ−Ｂ１１が同時に割込を受付後、Ａ系側ＥＣＣエラー要因レジスタ１５のリードアクセス、Ｂ系側ＥＣＣエラー要因レジスタ１９のリードアクセスの順で行う方法としている。
【００３５】
図７、図８にその方法を示す。ＣＰＵ−Ａ１０／ＣＰＵ−Ｂ１１は、比較器ＦＰＧＡ２４から同時に割込報告受付後、最初のステップで、図７に示すような経路で、Ａ系側のＥＣＣエラー要因レジスタ１５のリードアクセスを行う。
【００３６】
Ａ系側ＥＣＣエラー要因レジスタ１５からデータ（０ｘ０００１）を読込み、ＣＰＵ−Ａ１０へデータ転送するが、これと同時に比較器ＦＰＧＡ２４を介し、Ｂ系側へもデータが分配され、ＣＰＵ−Ｂ１１にも同一データ（０ｘ０００１）が転送される。比較器ＦＰＧＡ２４内部では、Ａ系側から分配された同一データをＢ系側のデータ（０ｘ０００１）として比較することから、比較一致として正常動作を継続する。
【００３７】
次のステップで、図８に示すような経路で、Ｂ系側のＥＣＣエラー要因レジスタ１９のリードアクセスを行う。Ｂ系側ＥＣＣエラー要因レジスタ１９のアクセスもＡ系側のＥＣＣエラー要因レジスタ１５のリードアクセスと同様に行う。Ｂ系側ＥＣＣエラー要因レジスタ１９からデータを読込み、ＣＰＵ−Ｂへデータ転送するが、これと同時に比較器ＦＰＧＡ２４を介し、Ａ系側へデータが分配されＣＰＵ−Ａ１０へもＣＰＵ−Ｂ１１と同一データが転送される。
【００３８】
比較器ＦＰＧＡ２４内部では、Ｂ系側から分配された同一データ（０ｘ００００）をＡ系側のデータとして比較することから、これも比較一致として正常動作を継続する。
【００３９】
更に、次のステップからは、比較不一致とならずに各系毎に取込んだＥＣＣエラー要因レジスタの値から、ＥＣＣエラー処理を実施することが可能となる。
【００４０】
以上の実施例では、ＥＣＣエラー処理を実施して記憶装置の一部に異なるデータの書込み、又は読込みが為される場合について説明したが、本発明は、プロセッサ毎で独立した記憶装置等に対して、ＥＣＣエラー処理を実施して異なるデータの書込み、又は読込みが為される場合のみならず、意図的に各系の記憶装置に異なるデータの書込み、又は読込みが為される場合等に対しても適用が可能である。
【００４１】
例えば、２重系システムにおいて、それぞれの系のＡ／Ｄ変換器の出力を各系の記憶装置に格納する際に、Ａ／Ｄ変換器の性能が高く、変換後のディジタル値が完全に一致しない状況が発生して比較不一致によりシステムが動作が停止する場合に、本発明を適用して、意図的に一方の系の記憶装置に記憶されたデータと同一データを他方の系に転送して、動作を継続させることができる。
【００４２】
また、上記の実施例の説明では、Ａ系及びＢ系の２重系システムの高信頼性制御装置について説明したが、本発明は、２重系システムに限らず、３以上の複数の多重系システムにも適用可能である。
【符号の説明】
【００４３】
１  Ａ系記憶装置
２  Ａ系プロセッサ
３  Ｂ系プロセッサ
４  Ｂ系記憶装置
５  Ｂ系比較制御部
６  Ａ系比較制御部
７  比較器
８  Ａ系ＥＣＣ
９  Ａ系ＲＡＭ
１０  Ａ系ＣＰＵ
１１  Ｂ系ＣＰＵ
１２  Ｂ系ＲＡＭ
１３  Ｂ系ＥＣＣ
１４  Ａ系ＥＣＣチェック部
１５  Ａ系ＥＣＣエラー要因レジスタ
１６  Ａ系ＥＣＣ制御部
１７  Ａ系ＥＣＣ制御ＦＰＧＡ
１８  Ｂ系ＥＣＣチェック部
１９  Ｂ系ＥＣＣエラー要因レジスタ
２０  Ｂ系ＥＣＣ制御部
２１  Ｂ系ＥＣＣ制御ＦＰＧＡ
２２  Ａ系比較制御部
２３  Ｂ系比較制御部
２４  比較器ＦＰＧＡ
２５  プロセッサの読込動作
２６  プロセッサの書込動作
２７  比較器での動作比較（監視動作）
２８  Ａ系側リードアクセス動作
２９  Ｂ系側リードアクセス動作
３０  Ａ系側ライトアクセス動作
３１  Ｂ系側ライトアクセス動作
３２  ディセーブル
【図１】
2011014011.tif 000003
【図２】
2011014011.tif 000004
【図３】
2011014011.tif 000005
【図４】
2011014011.tif 000006
【図５】
2011014011.tif 000007
【図６】
2011014011.tif 000008
【図７】
2011014011.tif 000009
【図８】
2011014011.tif 000010