(57)【要約】【課題】  ペア・アンド・スペア構成の２重化システムにおいて、誤り検出回路、通信インターフェイスおよび制御側システムと待機側システムを接続している通信路が２重化されていないために、これらの故障が発生すると誤ったデータをメモリに書き込んでしまうという課題があった。また、これらの全てを２重化すると、コスト、実装スペース共に増大してしまうという課題もあった。【解決手段】  サブシステムのそれぞれに誤り検出回路を設け、これらの誤り検出回路で受信したデータからチェックコードを計算し、このチェックコードと受信したチェックコードが一致したときのみ、サブシステム内のメモリ装置にデータを書き込み、一致しないときにエラー処理を行うようにした。通信インターフェイスと通信路をも２重化しなくても、これらの故障によってシステムが誤動作することはない。【選択図】                    図１
2006146320.tif 000002
【特許請求の範囲】
【請求項１】
同一構成の第１のシステムと第２のシステムを通信路で接続し、この通信路を用いて前記第１のシステムと第２のシステムのデータを同一に維持して、前記第１のシステムが故障したときに前記第２のシステムに切り替えると共に、前記第１のシステムおよび前記第２のシステムは第１および第２のサブシステムを有し、これらのサブシステムを並列動作させ、これらのサブシステム内の対応するデータを比較してその動作を監視するようにした２重化システムにおいて、
前記通信路に接続され、前記第１のシステムと前記第２のシステム間の通信を制御する通信コントローラと、
この通信コントローラが受信したデータおよびこのデータをチェックするためのチェックコードが入力され、前記受信したデータからチェックコードを計算し、この計算値と入力されたチェックコードを比較して、一致したときのみ前記第１のサブシステム内のメモリ装置へのデータ書き込みを許可する第１の誤り検出回路と、
前記通信コントローラが受信したデータおよびこのデータをチェックするためのチェックコードが入力され、前記受信したデータからチェックコードを計算し、この計算値と入力されたチェックコードを比較して、一致したときのみ前記第２のサブシステム内のメモリ装置へのデータ書き込みを許可する第２の誤り検出回路と、
を具備したことを特徴とする２重化システム。
【請求項２】
前記第１および第２の誤り検出回路にはそれぞれ前記第１および第２のサブシステムのデータが入力され、前記第１のシステムが前記第２のシステム内のメモリ装置をアクセスするときに、前記第１または第２の誤り検出回路のうち、一方の誤り検出回路で計算したチェックコードと他方の誤り検出回路のデータを組み合わせて、前記第２のシステムに送信するようにしたことを特徴とする請求項１記載の２重化システム。
【請求項３】
前記第１の誤り検出回路が前記第１のサブシステムのデータに基づいて計算したチェックコードと、前記第２の誤り検出回路が前記第２のサブシステムのデータに基づいて計算したチェックコードが入力され、これらのチェックコードを比較して、一致、不一致を前記通信コントローラに出力する比較器を有し、
前記第１のシステムが前記第２のシステム内のメモリ装置をアクセスするときに、前記通信コントローラは、前記比較器の比較結果が一致であるときのみ、相手側システムにデータを送信するようにしたことを特徴とする請求項１若しくは請求項２記載の２重化システム。
【請求項４】
前記チェックコードに、シーケンス番号を付加するようにしたことを特徴とする請求項１若しくは請求項３いずれかに記載の２重化システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ペア・アンド・スペア構成の２重化システムにおいて、制御側システムと待機側システムのメモリのデータを同一にしておくための通信装置の誤り検出機構の高信頼化に関するものである。
【背景技術】
【０００２】
図３にペア・アンド・スペア構成の２重化システムを示す。図３において、制御側システム５はサブシステム５１，このサブシステム５１と同じ構成のサブシステム５２，比較器９５，通信コントローラ９６および誤り検出回路９７で構成されている。待機側システム６も同じ構成であり、サブシステム６１と同じ構成のサブシステム６２，比較器９５，通信コントローラ９６および誤り検出回路９７で構成される。制御側システム５に故障が発生すると、待機側システム６に切り替えられる。
【０００３】
サブシステム５１，５２，６１，６２はＭＰＵ(Micro Processing Unit)９１，このＭＰＵ９１のインターフェイスであるＭＰＵインターフェイスコントローラ９２，メモリ装置９４，このメモリ装置９４のインターフェイスであるメモリインターフェイスコントローラ９３で構成されている。サブシステム５１と５２，サブシステム６１と６２は同じ動作を実行する。
【０００４】
比較器９５は、サブシステム５１と５２（待機側システム６ではサブシステム６１と６２）内のＭＰＵインターフェイスコントローラ９２からの信号からタイミング信号を作成し、両サブシステムのＭＰＵインターフェイスコントローラ９２とメモリインターフェイスコントローラ９３を接続するバス上のデータを比較して、一致しないと、システム停止などの安全処理を行う。
【０００５】
このバスに流れるデータには、ＭＰＵ９１から出力されるアドレスデータ、読み出し、書き込み等のアクセスコマンド、書き込みデータ、メモリ装置９４から出力される読み出しデータ等がある。比較器９５は、全てのバスサイクルでこれらのデータを比較する。比較器９５は、ＭＰＵインターフェイスコントローラ９２や通信コントローラ９６からのアクセス情報に従って、データを比較する。
【０００６】
このように、サブシステムを２重化し、データを照合して信頼性を高める構成をペア構成、制御側システム５と待機側システム６で冗長化して稼働率を高める構成をスペア構成と言う。また、ペア構成とスペア構成の両方があるシステムをペア・アンド・スペア構成と言う。
【０００７】
スペア構成において、待機側システム６は制御側システム５の故障に備えていつでも制御可能な状態に保たなければならない。そのためには、制御側システム５と待機側システム６内のメモリのデータが常に同一になるように制御する。これをデータの等値化と言う。
【０００８】
そのために、制御側システム５，待機側システム６は通信コントローラ９６を内蔵し、これらの通信コントローラ９６間を通信路１０１で接続して、制御側システム５と待機側システム６間でデータを転送する。高速でデータを転送するために、通信コントローラ９６はＤＭＡ(Direct Memory Access)機能を内蔵しており、ＭＰＵ９１を介さないで直接メモリ装置９４からデータを読み出し、また書き込むことができる。メモリインターフェイスコントローラ９３は、通信コントローラ９６からのアクセスとＭＰＵインターフェイスコントローラ９２からのアクセスを調停する機能を有する。
【０００９】
待機側システム６内のメモリ装置９４にデータを書き込むときは、２つのサブシステム６１，６２内のメモリ装置９４に同時に書き込むことができる。しかし、制御側システム５内のメモリ装置９４からデータを読み出すときは、同時に読み出すことはできない。そのため、経路１０２によってサブシステム５１内のメモリ装置９４からデータを読み出す。
【００１０】
また、この通信の信頼性を高めるために、通信コントローラ９６のそれぞれに誤り検出回路９７が接続される。通信コントローラ９６が相手側システムにデータを送信するときは、この送信データからチェックコードを生成し、このチェックコードをデータと共に送信する。データを受信した誤り検出回路９７は、データから同じ手順で生成したチェックコードと送られてきたチェックコードを比較し、一致しているときのみＤＭＡでメモリ装置９４にデータを書き込む。
【００１１】
なお、ＭＰＵインターフェイスコントローラ９２はメモリインターフェイスコントローラ９３と通信コントローラ９６へのアクセス機能を有している。そのため、ＭＰＵ９１は相手側システムのメモリ装置９４のデータをリード・ライトすることができる。制御側システム５内のＭＰＵ９１が待機側システム６にデータを転送するときは、経路１０２を介して通信コントローラ９６にデータが送られる。サブシステム６１，６２は送られてきたデータを受け付けるだけであり、通信コントローラ９６の動作には関与しない。
【００１２】
また、「データ等値化モード」に設定しておくと、ＭＰＵ９１が自身のサブシステム内のメモリ装置９４にデータを書き込んだ際に、通信コントローラ９６を介して自動的にスペア構成の相手側システムのメモリ装置９４に同じデータが書き込まれる。これをミラードライトという。
【００１３】
図３の実施例は、通信コントローラ９６と誤り検出回路９７を１系統しか備えていない。そのため、これらが故障するとデータ誤りを検出することができない場合がある。図４にこの課題を解決する実施例を示す。なお、図３と同じ要素には同一符号を付し、説明を省略する。
【００１４】
図４において、９６１、９６２は９６と同じ通信コントローラ、９７１，９７２は９７と同じ誤り検出回路である。２つのスペア構成の通信コントローラ９６１は通信路１０１１で、通信コントローラ９６２は通信路１０１２で接続されている。この実施例では通信コントローラ９６１，９６２、誤り検出回路９７１，９７２，通信路１０１１，１０１２が共にサブシステム別に２重化されているので、どちらかの経路にて故障やデータ誤りにより不正書込みが発生しても、後でその不正データが読み出されている際、ペアのサブシステム間照合により検出される。
【００１５】
なお、図３、図４には制御側システムと待機側システム間の通信のみ示されており、制御機器とのインターフェイスは省略してある。
【００１６】
特許文献１には、二重化バスに同じ内容の通信フレームを同時に送出し、受信側で受信内容が一致しているかどうかによって通信の正否を判断する通信制御装置が記載されている。
【００１７】
【特許文献１】特開平１１−２３９１９７号公報
【発明の開示】
【発明が解決しようとする課題】
【００１８】
しかし、このような２重化システムには、次のような課題があった。図３の２重化システムは、通信コントローラ９６，誤り検出回路９７が２重化されていないので、これらに故障が発生すると、間違ったデータをメモリ装置９４に書き込んでしまうという課題があった。また、これらが正常でも、経路１０２で誤りが発生すると誤り検出回路９７で検出することができず、同様にメモリ装置９４に誤ったデータを書き込んでしまうという課題もあった。
【００１９】
図４の２重化システムは、経路１０２１，１０２２、通信コントローラ９６１，９６２、誤り検出回路９７１，９７２，経路１０１１，１０１２共にサブシステム別に２重化されており、故障やデータ誤りに対して強くなる。しかし、２重化するためにコスト、実装スペース共に増大するという課題があった。
【００２０】
また、二重化システムにおいて、ソフトウエアによって転送データ単位にチェックコードを計算してデータに添付し、受信側で受信データからチェックコードを計算して送られてきたチェックコードと照合すると、全ての通信路の途中で発生するデータ誤りを検出できるが、チェックコード計算のためにソフトウエアの負担が著しく増大するという課題があった。
【００２１】
さらに、高速なデータ等値化のためには、図３で説明したミラードライト機能を搭載してハードウェアによって自動的にデータを等値化する事が必要であり、ソフトウェアで等値化することが不可能な場合もある。
本発明の目的は、ソフトウェアが介在せずにハードウェアのみにより、１つの故障に対して誤り検出機能を維持し、通信装置の故障に対する信頼性を向上させることができる２重化システムを提供することにある。
【課題を解決するための手段】
【００２２】
このような課題を達成するために、本発明のうち請求項１記載の発明は、
同一構成の第１のシステムと第２のシステムを通信路で接続し、この通信路を用いて前記第１のシステムと第２のシステムのデータを同一に維持して、前記第１のシステムが故障したときに前記第２のシステムに切り替えると共に、前記第１のシステムおよび前記第２のシステムは第１および第２のサブシステムを有し、これらのサブシステムを並列動作させ、これらのサブシステム内の対応するデータを比較してその動作を監視するようにした２重化システムにおいて、
前記通信路に接続され、前記第１のシステムと前記第２のシステム間の通信を制御する通信コントローラと、
この通信コントローラが受信したデータおよびこのデータをチェックするためのチェックコードが入力され、前記受信したデータからチェックコードを計算し、この計算値と入力されたチェックコードを比較して、一致したときのみ前記第１のサブシステム内のメモリ装置へのデータ書き込みを許可する第１の誤り検出回路と、
前記通信コントローラが受信したデータおよびこのデータをチェックするためのチェックコードが入力され、前記受信したデータからチェックコードを計算し、この計算値と入力されたチェックコードを比較して、一致したときのみ前記第２のサブシステム内のメモリ装置へのデータ書き込みを許可する第２の誤り検出回路と、
を具備したものである。構成を簡単にすることができる。
【００２３】
請求項２記載の発明は、請求項１記載の発明において、
前記第１および第２の誤り検出回路にはそれぞれ前記第１および第２のサブシステムのデータが入力され、前記第１のシステムが前記第２のシステム内のメモリ装置をアクセスするときに、前記第１または第２の誤り検出回路のうち、一方の誤り検出回路で計算したチェックコードと他方の誤り検出回路のデータを組み合わせて、前記第２のシステムに送信するようにしたものである。サブシステムの間のデータの不一致を検出できる。
【００２４】
請求項３記載の発明は、請求項１若しくは請求項２記載の発明において、
前記第１の誤り検出回路が前記第１のサブシステムのデータに基づいて計算したチェックコードと、前記第２の誤り検出回路が前記第２のサブシステムのデータに基づいて計算したチェックコードが入力され、これらのチェックコードを比較して、一致、不一致を前記通信コントローラに出力する比較器を有し、
前記第１のシステムが前記第２のシステム内のメモリ装置をアクセスするときに、前記通信コントローラは、前記比較器の比較結果が一致であるときのみ、相手側システムにデータを送信するようにしたものである。信頼性を高めることができる。
【００２５】
請求項４記載の発明は、請求項１若しくは請求項３いずれかに記載の発明において、
前記チェックコードに、シーケンス番号を付加するようにしたものである。データの欠落を検出できる。
【発明の効果】
【００２６】
以上説明したことから明らかなように、本発明によれば次のような効果がある。
請求項１，２，３および４の発明によれば、ペア・アンド・スペア構成の２重化システムにおいて、２つのサブシステムのそれぞれに付属する２つの誤り検出回路を具備し、受信したデータからこの誤り検出回路でチェックコードを計算し、この計算値と受信したチェックコードが一致したときのみ、各々のサブシステム内のメモリ装置にデータを書き込むようにした。
【００２７】
誤り検出回路を２重化するだけで、あらゆる故障に起因するデータ誤りを検出することができるという効果がある。そのため、２つのシステムを接続する通信路や通信コントローラを２重化しなくてもよくなるので、コスト、実装スペースを大幅に低減することができるという効果もある。
【００２８】
また、ＡＳＩＣ(Application Specific Integrated Circuit)を用いることにより、通信コントローラ、誤り検出回路、サブシステム内のＭＰＵインターフェイスコントローラ、メモリインターフェイスコントローラ、比較器を１つのＩＣに内蔵することができるため、本発明によるコストアップは小さい。従って、通信経路を２重化する場合に比べて、大幅なコストダウンを達成することが出来るという効果がある。
【００２９】
また、一方の誤り検出回路が計算したチェックコードと他方のデータを組み合わせ、あるいは２つの誤り検出回路が計算したチェックコードが一致したときのみ相手側システムに送信することにより、途中経路の故障に起因する誤りを検出でき、高い信頼性を確保することができるという効果もある。
【００３０】
さらに、チェックコードにシーケンス番号を付加して送信することにより、データの欠落を検出することができるという効果もある。
【発明を実施するための最良の形態】
【００３１】
以下本発明を図面を用いて詳細に説明する。図１は本発明に係る２重化システムの一実施例を示す構成図である。なお、図３と同じ要素には同一符号を付し、説明を省略する。図１において、１は制御側システムであり、サブシステム１１，サブシステム１２，比較器９５，誤り検出回路１３，１４および通信コントローラ１５で構成される。２は待機側システムであり、サブシステム２１，２２，比較器９５，誤り検出回路２３，２４および通信コントローラ２５で構成される。制御側システム１と待機側システム２は通信路１０１で接続される。
【００３２】
サブシステム１１、１２，２１，２２はサブシステム５１と同じ構成である。すなわち、ＭＰＵ９１，ＭＰＵインターフェイスコントローラ９２，メモリインターフェイスコントローラ９３，メモリ装置９４で構成される。図３従来例と同様に、サブシステム１１と１２，２１と２２は同じ動作を実行する。比較器９５は、サブシステム１１と１２、あるいは２１と２２内の対応するデータを比較し、一致していなければ安全処理を行う。
【００３３】
待機側システム２内のメモリ装置９４のデータを制御側システム１のそれに等しくするために、制御側システム１から通信路１０１を介して送られてきたデータとチェックコードは通信コントローラ２５で受信され、経路２６を介して誤り検出回路２３および２４に出力される。誤り検出回路２３はこのデータからチェックコードを計算して、この計算値と送られてきたチェックコードと比較する。
【００３４】
比較結果が一致していれば、サブシステム２１内のメモリインターフェイスコントローラ９３に送られてきたデータを出力して書き込み処理を許可し、一致していなければ書き込み処理を許可せずエラー処理を行う。誤り検出回路２４も同じ処理を行い、チェックコードが一致していればサブシステム２２内のメモリインターフェイスコントローラ９３の書き込み処理を許可し、一致していなければエラー処理を行う。
【００３５】
誤り検出回路２３、２４は送られてきたチェックコードと計算値が一致したときのみメモリ装置９４にデータを書き込むので、誤ったデータがメモリ装置９４に書き込まれることがなくなる。誤り検出回路は２重化されているので、冗長化されていない通信路１０１や通信コントローラ２５、あるいは一方の誤り検出回路の故障を検出することができる。
【００３６】
また、誤り検出回路２３，２４の一方が故障して誤ったデータをメモリ装置９４に書き込んだとしても、サブシステム２１と２２は比較器９５でその内部データが常時比較されているので、この誤ったデータを読み出すときに安全処理が行われる。
【００３７】
図３従来例で述べたように、制御側システム１のＭＰＵ９１は、待機側システム２のメモリ装置９４にアクセスすることができる。この場合、誤り検出回路１３は経路１７１を介してアドレス、コマンド、書き込みデータを受け取り、経路１８１を介してこのデータを通信コントローラ１５に出力する。同時に、誤り検出回路１４は経路１７２を介してアドレス、コマンド、書き込みデータを受け取り、これらのデータからチェックコードを計算し、経路１８２を介して通信コントローラ１５に出力する。
【００３８】
通信コントローラ１５は通信路１０１を介してこれらのデータを通信コントローラ２５に送信する。通信コントローラ２５は、受信したデータを誤り検出回路２３，２４に出力する。誤り検出回路２３，２４は、前述した手順によりチェックコードの計算値と受信したチェックコードと一致しているときのみ、メモリインターフェイスコントローラ９３に処理を許可し、メモリ装置９４にアクセスする。
【００３９】
この実施例では、誤り検出回路１３ではチェックコードを計算せず、誤り検出回路１４でのみチェックコードを計算するようにする。すなわち、誤り検出回路１３からのデータと誤り検出回路１４からのチェックコードを組み合わせる。このようにすることにより、経路１７１上で発生する誤り等、通信指令データのサブシステム１１，１２間の不一致を検出することができる。
【００４０】
また、通信コントローラ１５は誤り検出回路１３からはチェックコードを受け取らない。これは、チェックコードの計算機能の故障は待機側システム２の誤り検出回路２３，２４で検出可能であるため、通信コントローラ１５で２つの誤り検出回路が計算したチェックコードを比較する必要がないためである。
【００４１】
なお、チェックコードとしては、例えばＣＲＣ(Cyclic Redundancy Check )を用いることができる。また、データ処理が欠落してしまうなどの故障に備えて、シーケンス番号のコードも付加するようにする。また、制御側システムと待機側システムは役割を交代することがあるので、制御側システム１も待機側システム２と同じ構成になっている。
【００４２】
図２に本発明の他の実施例を示す。なお、図１と同じ要素には同一符号を付し、説明を省略する。図２において、３は制御側システムであり、サブシステム３１，３２，比較器９５、３６，誤り検出回路３３，３４および通信コントローラ３５で構成されている。４は待機側システムであり、サブシステム４１，４２，比較器９５、４６，誤り検出回路４３，４４および通信コントローラ４５で構成されている。サブシステム３１，３２，４１，４２は、図１実施例のサブシステム１１と同じ構成である。
【００４３】
制御側システム３と待機側システム４内のデータを一致させるために、制御側システム３から送られてきたデータを待機側システム４に書き込む時の動作は図１実施例と同じであるので、説明を省略する。
【００４４】
制御側システム３内のＭＰＵ９１が待機側システム４内のメモリ装置９４をアクセスするときは、誤り検出回路３３はサブシステム３１内のＭＰＵインターフェイスコントローラ９２からアドレス、コマンド、書き込みデータを受け取る。誤り検出回路３３は、これらのデータからチェックコードを計算して比較器３６に出力すると共に、データとチェックコードを通信コントローラ３５に出力する。
【００４５】
誤り検出回路３４も同様にサブシステム３２内のＭＰＵインターフェイスコントローラ９２からアドレス、コマンド、書き込みデータを受け取り、これらのデータからチェックコードを計算して比較器３６に出力する。比較器３６は、これら２つのチェックコードを比較してその結果を通信コントローラ３５に出力する。通信コントローラ３５は、比較結果が一致のときのみ、待機側システム４に書き込みデータを送信する。
【００４６】
なお、待機側システム４が自身のメモリ装置９４にデータを書き込む構成は、図１実施例と同じである。また、この実施例でも制御側システム３と待機側システム４は、その役割を入れ替えることができるように同じ構成になっている。
【図面の簡単な説明】
【００４７】
【図１】本発明の一実施例を示す構成図である。
【図２】本発明の他の実施例を示す構成図である。
【図３】従来の２重化システムの構成図である。
【図４】従来の２重化システムの構成図である。
【符号の説明】
【００４８】
１、３  制御側システム
２，４  待機側システム
１１，１２，２１，２２，３１，３２，４１，４２  サブシステム
１３，１４，２３，２４，３３，３４，４３，４４  誤り検出回路
１５，２５，３５，４５  通信コントローラ
１７１，１７２，１８１，１８２、２７１，２７２，２８１，２８２  経路
３６，４６，９５  比較器
【図１】
2006146320.tif 000003
【図２】
2006146320.tif 000004
【図３】
2006146320.tif 000005
【図４】
2006146320.tif 000006