JP2010009327A - 照合システム - Google Patents

照合システム Download PDF

Info

Publication number
JP2010009327A
JP2010009327A JP2008168050A JP2008168050A JP2010009327A JP 2010009327 A JP2010009327 A JP 2010009327A JP 2008168050 A JP2008168050 A JP 2008168050A JP 2008168050 A JP2008168050 A JP 2008168050A JP 2010009327 A JP2010009327 A JP 2010009327A
Authority
JP
Japan
Prior art keywords
data
output
collation
output data
check code
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.)
Granted
Application number
JP2008168050A
Other languages
English (en)
Other versions
JP5094591B2 (ja
Inventor
Teruaki Sakata
輝昭 酒田
Makoto Fujita
良 藤田
Yoshihiro Nakano
義弘 中野
Masahiro Shiraishi
雅裕 白石
Takamasa Nishimura
卓真 西村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2008168050A priority Critical patent/JP5094591B2/ja
Publication of JP2010009327A publication Critical patent/JP2010009327A/ja
Application granted granted Critical
Publication of JP5094591B2 publication Critical patent/JP5094591B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】
CPUを多重化して同一の処理を行い、出力データを照合する従来の照合システムでは、照合するデータのサイズが大きいと、照合するデータの転送に時間がかかってしまい、システム全体の性能が低下したり、それに伴って信頼性が低下したりする問題があった。
【解決手段】
照合するデータにチェックコードを付加し、チェックコードの照合を行うチェックコード照合器によって出力データを絞り込んだ後、出力データを照合することで照合するデータの転送量を少なくして照合に要する時間を短縮できる照合システムを実現する。
【選択図】図1

Description

本発明は、制御装置や半導体集積回路で用いられる照合システムに係り、特に複数の処理装置から出力されるデータを多数決選択することで高信頼性を確保する機構を搭載する制御装置等に適用するのに好適な照合システムに関する。
鉄道やプラント,航空機など、人命や環境の安全確保のために非常に高い信頼性が求められるシステムでは、万が一、システム内で故障や異常が発生しても、システム全体としては危険状態に陥らずに、外部に対して悪影響を与えないようにするフェールセーフが求められる。このような高信頼システムを実現するために、例えば、CPU(中央演算処理装置、Central Processing Unit)を多重化して各CPUで同一の処理を実行し、各CPUからの出力データを照合することでCPUの故障を検出する、いわゆる冗長化システムが用いられる。
例えば〔特許文献1〕では、処理を行うモジュールを三重化し、バスに流れるデータを照合している。
また、データの伝送過程などにおける入出力データの正当性を保障するため、送信側で転送するデータに規定のチェックコードを付加し、受信側で伝送されたデータとそのチェックコードを規定の復号アルゴリズムによって照合することで、データ伝送において発生する伝送誤りを検出する方法が広く用いられている。このチェックコードとしては、パリティビット,ECC(Error Correcting Code、誤り訂正符号),CRC(Cyclic Redundancy Check,巡回冗長検査)などが一般に用いられる。
ところで、従来の高信頼システムについて、本発明者が検討した結果、以下のようなことが明らかとなった。
例えば、CPUを多重化して処理結果を照合する際に、照合するデータのサイズが大きいと、照合するデータの転送に時間がかかってしまい、システム全体の性能が低下したり、それに伴って信頼性が低下したりする恐れがある。
また、例えば〔特許文献2〕のように、照合するデータを圧縮してコード化し、圧縮したコードのみを照合することで照合処理の高速化を図っているものもある。しかし元のデータそのものを照合しているわけではないためどうしても誤り抜けの可能性が残ってしまい、鉄道やプラント,航空機など、誤った処理が一度も許されないような高信頼システムに対しては適用できない可能性がある。
特開平4−257931号公報 特開平5−324391号公報
そこで本発明の目的は、CPUを多重化して同一の処理を行って照合する高信頼なシステムにおいて、高速な照合システムを実現することにある。
本発明の前記並びにその他の目的と新規な特徴は、本願の明細書の記述及び添付図面から明らかになるであろう。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。
上記課題を達成するために、本発明は二つ以上の複数のCPUと、前記複数のCPUを接続するネットワークと、前記ネットワークに接続され前記複数のCPUからの出力データを格納するメモリと、前記メモリに格納された複数の出力データを照合するデータ照合器を有する照合システムにおいて、前記出力データには誤りを検出するチェックコードを付加し、前記チェックコードを照合して一致したデータの選択結果を示すデータ選択信号を出力するチェックコード照合器と、前記データ選択信号の値によって前記複数の出力データから絞り込んだデータのみを前記データ照合器に出力し、前記データ照合器によって前記複数の出力データを照合する手段を備えるようにしたものである。
更に、本発明の照合システムは、前記データ照合器から出力されるデータ照合判定信号の情報を格納する照合ステータスレジスタを有することを特徴とするものである。
更に、本発明の照合システムは、前記データ選択回路が出力する前記出力データの前記チェックコードと出力データを復号するチェックコードチェッカと、前記チェックコードチェッカから出力され誤りが無い出力データを示す有効データ選択信号と、前記データ照合器内に前記有効データ選択信号の値によって前記複数の出力データから誤りの無い出力データを選択して出力するセレクタを有することを特徴とするものである。
また、上記課題を達成するために、本発明の照合システムは、二つ以上の複数のCPUと、前記複数のCPUを接続するネットワークと、前記ネットワークに接続され前記複数のCPUからの出力データを格納するメモリを有し、前記出力データにはデータの転送先情報や誤り訂正符号などが含まれるヘッダを付加し、前記複数のヘッダを入力して照合した結果、ヘッダ照合判定信号を出力することを特徴とするものである。
また、上記課題を達成するために、二つ以上の複数のCPUと、前記複数のCPUを接続するネットワークと、前記ネットワークに接続され前記複数のCPUからの出力データを格納するメモリと、前記メモリに格納された複数の出力データを照合するデータ照合器を有する照合システムにおいて、前記出力データには誤りを検出するチェックコードを付加し、前記チェックコードを照合して一致したデータの選択結果を示すデータ選択信号を出力するプログラムを格納するマイコンと、前記データ選択信号の値によって前記複数の出力データから絞り込んだデータのみを前記データ照合器に出力し、前記データ照合器によって前記複数の出力データを照合し、不一致であれば不一致割り込み信号を前記マイコンに出力する手段を備えることを特徴とするものである。
更に、本発明の照合システムは、前記出力データの誤りを検出するチェックコードとしてパリティビット,ECCビット,CRCビットのいずれかを使用することを特徴とするものである。
本願において開示される発明のうち、代表的なものによって得られる効果を説明すれば、以下のとおりである。
(1)複数のCPUから出力された出力データのチェックコードを照合し、チェックコードの一致した出力データのみを絞り込んで照合することで、出力データが格納されているメモリからのデータ転送量を削減でき、高信頼性を保ったままで高速なデータ照合を実現できる。
(2)複数のCPUから出力された出力データのヘッダのみを照合した結果を用いて出力データを選択することで、データ照合に要する時間を少なくすことができ、高速化を実現できる。
(3)複数のCPUから出力された出力データのチェックコードの照合をマイコンのプログラムで行うことで、チェックコードに不一致が発生した時点で場合に応じて処理の内容を変えることができ、また、出力データの照合で不一致が発生した時点でも、不一致割り込み信号を受けたマイコンで適切な処理を行うことが可能な、柔軟な照合システムを実現できる。
以下、本発明の実施の形態を説明する。なお、実施の形態を説明するための全図において、同一部材,構成のものについては原則として同一の符号を付し、その繰り返しの説明は省略する。
〔実施の形態1〕
図1は、本発明の実施の形態1における、照合システムの具体的な実装例を表したものである。
4台のCPU(1),CPU(2),CPU(3),CPU(4)は、同一の処理を行い、CPU(1)は処理の結果をCPU出力データ51としてネットワーク55に出力する。同様に、CPU(2)はCPU出力データ52を、CPU(3)はCPU出力データ53を、CPU(4)はCPU出力データ54をそれぞれネットワーク55に出力する。
ここで、各CPU出力データには、転送すべきデータのほかに、チェックコードを付加するものとする。図2に出力データフォーマットの一例を示す。図2では、32Byte区切りで構成された複数のデータを一つのデータ部とし、データ部に対して4Byteのチェックコード(網掛け部分)を付加したデータフォーマットを表している。
データ部に付加するチェックコードの例を図3に示す。図3(a)は、チェックコードとしてパリティビットを用いるものであり、パリティビット(網掛け部分)はデータ部の各ビットの排他的論理和により、奇数パリティ、偶数パリティいずれかの値を1ビットで付加するものであり、1ビット誤りの検出ができる。
また図3(b)はチェックコードとしてECCを用いるものであり、データ部からECCビット(網掛け部分)を生成して読み出し時に復号することで、1ビット誤りの訂正と2ビット誤りの検出ができる。
また図3(c)はチェックコードとしてCRCを用いるものであり、データ部からCRCビット(網掛け部分)を生成して読み出し時に復号することで、2ビット以上のバースト誤りの検出ができる。
本発明では図3で例示したチェックコード、およびその他広く一般に使われているチェックコードのいずれも対応できるが、ここでは図3(c)のCRCをチェックコードとして使用する場合で説明する。
また今回は、複数のCPUが存在するため、どのCPUから出力されたデータかを判定するため、データフォーマットの先頭にCPU番号を付加するものとする。
図1のネットワーク55に出力された各CPU出力データは、ライトバス56を介してメモリ5に格納するが、このときメモリ5には、各CPUからの出力データを別々の領域に格納する。すなわち、メモリ5には、CPU出力データ51をメモリアドレス41に、CPU出力データ52をメモリアドレス42に、CPU出力データ53をメモリアドレス43に、CPU出力データ54をメモリアドレス44に、それぞれ格納する。ここで、各メモリアドレスの網掛け部分にはチェックコードを格納し、網掛けしていない部分にはデータ部を格納することを表す。
メモリ5に格納した各CPU出力データは、リードバス57を介して読み出し、チェックコード照合器6とデータ選択回路7に渡り、チェックコード照合器6が出力したデータ選択信号58によってデータ選択回路7がCPU出力データを選択し、データバス59,60を介してデータ照合器8に渡し、照合の結果、出力データ61としてシステム外部に出力する。
この部分の動作の詳細を、図4を用いて説明する。図4は、図1に示した照合システムのチェックコード照合器6,データ選択回路7,データ照合器8とその周辺部の詳細の一例を表したものである。
リードバス57を通ってきた各CPU出力データは、まずチェックコード照合器6内のエンコーダ25によって、どのCPUから出力されたデータかを判定する。判定の結果、メモリアドレス41に格納していたCPU(1)からのCPU出力データ51のチェックコード、すなわちここではCRCビットのみを、C(チェックコード)バッファ1(21)に格納する。同様に、CPU出力データ52のCRCビットをCバッファ2(22)に、CPU出力データ53のCRCビットをCバッファ3(23)に、CPU出力データ54のCRCビットをCバッファ4(24)に格納する。
ここで、リードバス57は1組しか無いため、各CPU出力データを同時にメモリ5から読み出すことはできない構成となっている。
四つのCバッファに各CRCビットを格納したら、デコーダ26により、各Cバッファ内のCRCビット値を照合し、データ選択信号58を出力する。
このデータ選択信号58の値の決定方法として、図5に例を示す。図5では、各Cバッファに格納されたCRCビットの値をA,B,C,Dの4種類で簡略化して表しており、各Cバッファが取り得る値によってデータ選択信号58の値を変化させることを示している。
図5のNo.1のケースでは、全てのCRCビット値がAで等しいため、データ選択信号58には、四つのCRCビットの代表という意味でCバッファ1,Cバッファ2を出力する。
No.2のケースでは、Cバッファ4のみが異なるBの値であるため、データ選択信号58には、等しいCRCビット値の代表でCバッファ1,Cバッファ2を出力する。
No.3のケースでは、Cバッファ1とCバッファ2がAという値で等しく、またCバッファ3とCバッファ4が異なるBという値で等しいが、この場合は代表してバッファ番号の若いCバッファ1,Cバッファ2をデータ選択信号58に出力し、更に異常であることを示す情報を付加しておく。
No.4のケースでは、等しい値を持つものがCバッファ1とCバッファ2しかないため、Cバッファ1,Cバッファ2をデータ選択信号58に出力する。
No.5のケースでは、全てのCバッファが異なる値を持っているため等しい組み合わせを抽出できないので、代表してバッファ番号の若いCバッファ1,Cバッファ2をデータ選択信号58に出力し、更に異常であることを示す情報を付加しておく。
これらのケースによりデータを選択するため、原理上、CRCビットが誤ったデータを選択するという事象は発生しない。No.3およびNo.5のケースでは、そもそも正しい値を選択することが不可能である。
図5で示したような判定方法によって出力されたデータ選択信号58は、図4のデータ選択回路7内のデータセレクタ29に渡る。
データセレクタ29は、リードバス57を通ってきた各CPU出力データからのデータ部を読み出し、データ選択信号58によって選択された二つのCPU出力データのデータ部をそれぞれD(データ)バッファ1(27),Dバッファ2(28)に格納する。
二つのDバッファに各データ部を格納したら、Dバッファ1(27)からデータバス59を介してデータ照合器8に出力し、Dバッファ2(28)からデータバス60を介してデータ照合器8に出力する。
データ照合器8内には排他的論理和(XOR)ゲート81があり、XORゲート81はデータ照合判定信号76を出力する。データバス59,60を通るデータに不一致が無ければ、データ照合判定信号76の値は“0”になっているものとする。
データバス59,60を通ってきたデータ値が一致しており、データ照合判定信号76の値が“0”であるときは、出力データ61にデータバス59を通ってきたデータをそのまま出力する。
データバス59,60を通ってきたデータ値が誤りの影響で一致していない場合、データ照合判定信号76の値が“1”となるので、このときは出力データ61の値は正しくない可能性があると判断し、誤り判定による処理を行えば良い。
誤り判定の処理の例としては、Dバッファ1(27),Dバッファ2(28)に格納したCPU出力データとは別のCPU出力データを各Dバッファに格納して再度照合を行ってみたり、各CPUに再度処理を行わせてデータ転送からやり直したりするなどが挙げられる。
また、照合ステータスレジスタ12は、データ照合判定信号76の値をもとに、どのCPUのデータに誤りが混入していたかなどの情報を格納するレジスタである。照合ステータスレジスタ12を読み出すプログラムを使用すれば、照合システムで発生した誤りに関する情報を知ることができ、誤りに対応する適切な処理を行うことが可能となる。
なお、Dバッファ1(27)とDバッファ2(28)が更新されるタイミングに時間差がある場合は一時的にデータ照合判定信号76の値が1になってしまうため、両方のDバッファが更新されたことを判断してデータ照合判定信号76の値を調べるようにすれば良い。
図1から図5で示した照合システムによる、データ照合の高速化効果を図6,図7で示す。
図6は、本発明を用いていない従来のCPU四重化照合システムにおける出力データ照合のタイミングチャートを示したものである。
ここでは、1組のリードバスを用いて、1回のCPU処理で転送するデータ部を32Byteずつのデータサイズに分割し、照合する例を示す。
時刻t1において、CPU(1)が出力したデータ1をリードバスを介して転送し、転送後にDバッファ1に格納する。同様に、CPU(2)がデータ2を、CPU(3)がデータ3を、CPU(4)がデータ4をそれぞれ出力して、Dバッファ2,Dバッファ3,Dバッファ4にそれぞれ格納する。
各データをDバッファに格納したら、データ照合器によって四つのデータ部の照合を行い、一致していたデータから一つを選択して出力する。この時刻をt2とし、次の32Byteのデータ転送に移り、これらの動作を1回のCPU処理で転送するデータの最後に至るまで繰り返す。
従来のCPU四重化照合システムでは、このように4台のCPUから出力されるデータ部を全て照合する必要があり、多大な時間がかかっていた。
図7は、本発明を用いた照合システムにおける出力データ照合のタイミングチャートを示したものである。
時刻c1において、CPU(1)が出力したCPU出力データのCRCビット1をリードバスを介して転送し、転送後にCバッファ1に格納する。
同様に、CPU(2)からCRCビット2を、CPU(3)からCRCビット3を、CPU(4)からCRCビット4をそれぞれ出力し、Cバッファ2,Cバッファ3,Cバッファ4にそれぞれ格納する。
各CRCビットをCバッファに格納したら、チェックコード照合器によってCRCビットの照合を行う。このCRCビットは4Byteを想定しており、一般にデータ部のサイズよりも小さいため、32Byteのデータを照合するよりも照合時間が小さくなることを想定している。
CRCビットの照合によってデータ選択信号58の値が決定した時刻をt1とし、選択された二つのデータ1,データ2のみをDバッファ1,Dバッファ2にそれぞれ格納し、二つのDバッファの値をデータ照合器で照合を行い、一致していた場合にデータを出力する。この時刻をt2とし、次の32Byteのデータ転送に入り、二つのデータ部の照合処理を1回のCPU処理で転送するデータの最後に至るまで繰り返す。t1の時点で二つのデータが選択済みであるため、データ部の照合の2回目以降ではCRCビットは照合しなくて良い。
図6と図7の比較から分かるように、本発明の照合システムでは、4台のCPUが出力したデータのうち二つしか照合しないで済むため、従来の照合システムよりも照合に要する時間を短くすることができる。
これらのことにより、複数のCPUで同一の処理を行って照合する高信頼な照合システムにおいて、従来よりも高速に照合を行って正しいデータを出力することが可能になる。
更に、照合用のデータを格納するDバッファをCPUの台数分用意する必要が無くなるので、回路規模が小さくなって低コストに貢献するというメリットもある。
また、実施の形態1では4台のCPUで同一の処理を実行する例を示したが、2台以上のCPU構成であれば、データを格納するメモリアドレス数とチェックコード照合器の照合構成をCPUの数に合わせて変更して実装してもよい。
また、実施の形態1ではチェックコードとしてCRCビットを用いる例を示したが、CRCビットの代わりにパリティビットやECCビットを用いて、Cバッファ,Dバッファおよび照合用の回路の構成を変更して実装してもよい。
〔実施の形態2〕
次に、本発明における照合システムにおいて、二つのデータが一致しなかった場合にチェックコードのチェックによって正しいデータを判定する照合システムの一例を説明する。
図8は、図1の照合システムに対し、チェックコードチェッカ9を追加し、データ照合器8に有効データ選択信号62を追加した部分が異なっている。
図8の照合システムの動作は、4台のCPUからのCPU出力データがデータバス59,60に転送されるまでの動作は図1の照合システムと同様である。
図8のチェックコードチェッカ9内には、CRCチェッカ34,35がある。CRCチェッカ34は、データバス59から一つ目のCPU出力データのデータ部を入力し、予め決まっているCRC復号アルゴリズムに基づいてデータ部のチェックを行い、CRCチェック結果77を出力する。ここでは、CRCチェックの結果、データ部に誤りが無ければCRCチェック結果77の値は“0”を、誤りがあればCRCチェック結果77の値は“1”になるものとする。また、CRCチェッカ35,データバス60,CRCチェック結果78についても同様である。
デコーダ36は、CRCチェック結果77,78の値を元にしてデータを選択する。両方のCRCチェック結果ともに誤りが無ければ一つ目のCPU出力データおよびデータバス59を選択し、CRCチェック結果77で誤りと判定すれば二つ目のCPU出力データおよびデータバス60を選択する。
図8のデータ照合器8内にあるXORゲート81の動作は、実施の形態1の図4と同様でデータ照合判定信号76を出力するが、データ照合器8にはセレクタ33を追加している。セレクタ33は、データバス59,60から一方を選択して出力データ61として出力する。例えば、データ照合判定信号76の値が“0”でデータバス59,60を通ってきた両データが一致している場合は、データバス59を通ってきたデータを出力データ61として出力する。
しかし、出力データに不一致が発生してデータ照合判定信号76の値が“1”になった場合は、有効データ選択信号62の値に応じて出力データ61を選択する。有効データ選択信号62により、データバス59を通ってきたデータのCRCチェック結果が不正であれば、データバス60を通ってきたデータを出力データ61として出力する。
逆に、データバス60を通ってきたデータのCRCチェック結果が不正であれば、データバス59を通ってきたデータを出力データ61として出力する。
このようにして、二つのデータを照合して不一致が発生した場合においても、CRCチェック結果を利用してデータを選択することで、正しいデータを出力することが可能である。
また、実施の形態2ではチェックコードとしてCRCビットを用いる例を示したが、CRCビットの代わりにパリティビットやECCビットを用いて、CRCチェッカをパリティチェッカやECCチェッカに変更して実装してもよい。
〔実施の形態3〕
次に、本発明における照合システムにおいて、データの一部のみを照合することで照合に要する時間を短縮する照合システムについて説明する。
図9は、データに含まれるヘッダ部分を照合する照合システムの一例を示しており、図1の照合システムに対し、メモリ5のリードバス57にヘッダ照合器10を接続した部分が異なっている。
図9の照合システムの動作は、4台のCPUからのCPU出力データがライトバス56に転送されるまでの動作は図1の照合システムと同様である。
図9のメモリ5は、メモリアドレス45,46に2台のCPUからのCPU出力データをそれぞれ格納するものとする。
また、このときのCPU出力データフォーマットの例を図10に示す。CPU番号,データ部,チェックコードに加え、28Byteのヘッダ部を付加している。図10に示すヘッダ部は、データ部から生成したチェックサム,データの順番を表すシーケンス番号,データ転送の際に送り先を判定するIP(Internet Protocol)ヘッダから構成されるものとする。
図9のメモリアドレス45,46の網掛け部分には、このデータフォーマットの中のヘッダ部分を格納することを表している。
ヘッダ照合器10は、リードバス57を介してメモリアドレス45,46からCPU出力データを読み出す。
ヘッダ照合器10内のヘッダセレクタ30は、まずリードバス57を通ってきた各CPU出力データのCPU番号から、どのCPUから出力されたデータかを判定する。判定の結果、メモリアドレス45に格納していたCPUからのデータのヘッダを、H(ヘッダ)バッファ1(31)に格納する。同様に、メモリアドレス46に格納していたCPUからのデータのヘッダを、Hバッファ2(32)に格納する。
ここで、リードバス57は1組しか無いため、各CPU出力データを同時にメモリ5から読み出すことはできない構成となっている。
二つのHバッファに各ヘッダを格納したら、Hバッファ1(31)からのヘッダ出力74、およびHバッファ2(32)からのヘッダ出力75をXORゲート82に出力し、ヘッダ照合判定信号79を出力する。
ヘッダ出力75,76を通るデータ値が一致していれば、ヘッダ照合判定信号79の値は“0”になっているものとする。
ヘッダ出力74,75を通ってきたデータ値が誤りの影響で一致していない場合、ヘッダ照合判定信号79の値が“1”となるので、このときはメモリアドレス45,46に格納されたCPU出力データの値は正しくない可能性があると判断し、誤り判定による処理を行えば良い。
図9,図10で示した照合システムにおける、データ照合の高速化効果を図11,図12で示す。
図11は、本発明を用いていない従来のCPU二重化照合システムにおける出力データ照合のタイミングチャートを示したものである。
ここでは、1組のリードバスを用いて、1回のCPU処理で転送するデータ部を32Byteずつのデータサイズに分割し、照合する例を示す。
時刻t1において、CPU(1)が出力したデータ1をリードバスを介して転送し、転送後にDバッファ1に格納する。同様に、CPU(2)がデータ2をDバッファ2に格納する。
各データをDバッファに格納したら、データ照合器によって二つのデータ部の照合を行い、一致していた場合にデータを一つ選択して出力する。この時刻をt2とし、次の32Byteのデータ転送に入り、これらの動作を1回のCPU処理で転送するデータの最後に至るまで繰り返す。
従来のCPU二重化照合システムでは、このように2台のCPUから出力されるデータ部を全て照合する必要があり、多大な時間がかかっていた。
図12は、本発明の実施の形態3に示した照合システムにおける出力データ照合のタイミングチャートを示したものである。
時刻h1において、CPU(1)が出力したCPU出力データのヘッダ1を、リードバスを介して転送し、転送後にHバッファ1に格納する。同様に、CPU(2)からヘッダ2をHバッファ2に格納する。
各ヘッダをHバッファに格納したら、ヘッダ照合器によってヘッダの照合を行う。このヘッダのサイズは28Byteを想定しており、一般にデータ部のサイズよりも小さいため、32Byteのデータを照合するよりも照合時間が小さくなることを想定している。
ヘッダの照合によってヘッダ照合判定信号79の値が決定した時刻をt1とすると、本発明の照合システムでは、この時点でデータの照合が終了したとみなす。これは、データ部の照合で誤りが発生する場合においてはヘッダ部にも誤りが含まれる可能性が極めて高く、ヘッダ部の照合において誤りが発生していない場合は、データ部にも誤りが発生していないと見なしても差し支えないからである。
図11と図12の比較から分かるように、本発明の照合システムでは、2台のCPUが出力したデータのうちヘッダしか照合しないで済むため、従来の照合システムよりも照合に要する時間を短くすることができる。
これらのことにより、複数のCPUで同一の処理を行って照合する高信頼な照合システムにおいて、従来よりも高速に照合を行って正しいデータを出力することが可能になる。
なお、図10に示したヘッダの内容は一例であり、パリティビットなどのチェックコードや、MAC(Media Access Control)アドレスなどの転送情報などを含んでもよい。
〔実施の形態4〕
次に、本発明における照合システムにおいて、マイコン(マイクロコントローラ)を用いてデータの照合を行う照合システムについて説明する。
図13は、図1の照合システムに対し、チェックコード照合器6の代わりにマイコン11を追加した部分が異なっている。
図13の照合システムの動作は、4台のCPUからのCPU出力データがメモリ5に格納されるまでの動作は図1の照合システムと同様である。
マイコン11に実装したプログラムでの処理により、図1のチェックコード照合器6で行っていた動作をマイコン11で実現し、データ選択指示70をデータ選択回路7に出力する。すなわち、リードバス57を介してメモリアドレス41,42,43,44に格納された各チェックコードをプログラムによって照合し、一致した中から二つのデータを選択してデータ選択指示70を出力する。
データ選択指示70の値は、図1のデータ選択信号58と同一で良い。
また、データ照合器8に不一致割り込み信号80を追加し、マイコン11に出力している。
図14に、図13に示した照合システムの動作の一例を、フローで示している。図14のフローは、点線枠で囲んだ二つの領域は、それぞれマイコン上のプログラムで実装する処理と、データ選択回路およびデータ照合器で実装する処理が分かるように記載している。また図14のフローは、図13におけるリードバス57以降について説明している。
マイコン上のプログラムによって、ステップ201でチェックコード1をメモリ5から読み出す。同様に、ステップ202,ステップ203,ステップ204にて、残り三つのチェックコードを読み出す。
ステップ205にて四つのチェックコードを照合し、ステップ206にて四つのチェックコードの中から照合で一致した二つを選択し、データ選択指示70をデータ選択回路7に出力する。
ステップ210にて選択された二つのデータのうちデータ1をDバッファ1に格納し、ステップ211にてもう一つのデータ2をDバッファ2に格納する。
ステップ212にて二つのデータを照合し、一致していればステップ213にてデータ列全ての照合が終了したか判定する。終了していなければステップ210に戻って、データのバッファへの格納と照合処理を繰り返す。
データ列全ての照合が終了したら、ステップ214にて出力データ61の出力を行う。
もし、ステップ205にて四つのチェックコードを照合した結果、不一致が発生した場合は、ステップ207の二つ以上一致している場合はステップ206に進むことができるが、ステップ208の二つずつ一致か全て一致しない場合は、判定不能としてステップ209のチェックコード異常処理をプログラムで実行する。
チェックコード異常処理の例としては、各CPUに再度処理を行わせてデータ転送からやり直すことなどが挙げられる。
また、ステップ212にて二つのデータを照合した結果、不一致が発生した場合は、ステップ215にてデータ照合器が不一致割り込み信号80をマイコン11に出力し、それを受けたマイコン11はステップ216のデータ不一致異常処理をプログラムで実行する。
データ不一致異常処理の例としては、Dバッファ1,Dバッファ2に格納したCPU出力データとは別のCPU出力データを各Dバッファに格納して再度照合を行ってみたり、各CPUに再度処理を行わせてデータ転送からやり直したりするなどが挙げられる。
ステップ209のチェックコード異常処理やステップ216のデータ不一致異常処理によって、誤り抜けを防ぎながらシステム全体を安全に停止させるなどの処置を施すことができるため、システムの信頼性を保つことができる。
このように、マイコンを用いた照合システムとすることで、プログラムを使った柔軟な照合システムを構築することが可能となる。
〔実施の形態5〕
次に、本発明を用いたシステムの一例として、列車運行制御システムに適用する場合の例について説明する。
図15に示す照合モジュール101は、NIC(Network Interface Card)104,メモリ5,LAN(Local Area Network)ドライバ105および、本発明の照合システムにおけるチェックコード照合器6,データ選択回路7,データ照合器8をLSI(Large Scale IC)103として実装したものを含んだ構成となっている。
NIC(104)は、ネットワークからのライトバス56を介して転送されるデータの転送情報を変換するモジュールであり、またLANドライバ105は、照合モジュール101の外部に接続される制御LANへのLAN出力63を生成するモジュールである。
図15の照合モジュール101を利用した、列車運行制御システムの全体図の一例を示したものが図16である。
図16の司令室510は、制御端末111,112,113,114において、列車制御のための処理を同一に行う。
ネットワーク55は二重化されており、各制御端末からの制御出力を照合モジュール101,102に出力する。
照合モジュール101,102によって照合された正しい制御出力を、二重化された制御LAN64を介して、列車を制御する駅A(504),駅B(505),駅C(506)にそれぞれ転送する。
駅A(504)に設置した列車制御I/O装置501は、制御端末から転送されてきた制御出力の値を元に列車制御信号65を生成し、列車507の運行を制御する。同様に、駅B(505)に設置した列車制御I/O装置502は列車508の運行を制御し、駅C(506)に設置した列車制御I/O装置503は列車509の運行を制御する。
これらのことにより、本発明の照合システムを適用することで、正しい制御出力を高速に列車に伝達する列車運行制御システムを実現することが可能になる。
〔実施の形態6〕
次に、本発明を用いたシステムの一例として、プラント制御システムに適用する場合の例について説明する。
図17の制御端末111,112,113,114において、発電プラント109の制御のための同一の処理を行う。
各制御端末は、制御出力を情報LAN68からライトバス56を介して照合モジュール101に出力する。
照合モジュール101は、転送されてきた制御出力を照合し、LAN出力63としてI/O装置108に転送する。
I/O装置108は発電プラント109を制御するプラント制御信号71を出力して発電動作を制御する。
また、照合モジュール101から表示制御出力69を表示板107に出力して、制御端末の動作状態を表示する。例えば制御端末113からの制御出力が他の制御端末からの制御出力の値と一致しない場合は、表示制御出力69に制御端末113が異常であるという情報を転送し、表示板107に表示する。
これらのことにより、本発明の照合システムを適用することで、正しい制御出力を高速に発電プラントに伝達するプラント制御システムを実現することが可能になる。
〔実施の形態7〕
次に、本発明を用いたシステムの一例として、制御装置をコントロールする制御システムに適用する場合の例について説明する。
図18の制御システムは、4台の制御端末と4台の照合モジュールによって構成されており、制御用データの出力のマスタとなるのが照合モジュール121である場合の例で示している。
制御端末111,112,113,114において、制御装置を制御するための同一の処理を行い、制御用データをネットワーク55に出力する。
ネットワーク55は二重化されており、4台の制御端末からの制御用データを、図15で示した構成の各照合モジュール121,122,123,124に出力する。
照合モジュール121は、照合したLAN出力63をデータ照合セレクタ17,18に出力する。同様に、照合モジュール122は照合したLAN出力47をデータ照合セレクタ17,18に出力する。
データ照合セレクタ17は、LAN出力63,47が一致している場合に照合LAN出力91を、二重化された制御LAN(64)を介して、外部の制御装置へ出力して制御を行う。通常、制御装置へ出力するのはマスタである照合モジュール121を介した制御用データのみであり、照合モジュール122,123,124を介した制御用データは制御LAN(64)へ出力しない。
また、データ照合セレクタ17が出力するデータ照合信号85は、LAN出力63,47が一致しているときは“0”の値を、不一致であれば“1”の値となる信号であり、データ照合セレクタ18およびデータ照合信号86についても同様である。
また、照合モジュール123,124および、データ照合セレクタ19とデータ照合信号87,データ照合セレクタ20とデータ照合信号88についても同様の構成である。
ここで、LAN出力63,47が一致しているときはORゲート83が出力する不一致通知信号89の値は“0”であるが、LAN出力63,47が不一致である場合は不一致通知信号89の値が“1”となり、照合モジュール121もしくは122で誤りが発生したことを表す。この場合は、不一致通知信号89を受けた照合モジュール123がマスタとなり、制御LAN(64)へ制御用データを出力する立場となる。
また逆に、照合モジュール123もしくは124で誤りが発生して不一致通知信号90の値が“1”となった場合は、不一致通知信号90を受けた照合モジュール121はマスタのまま動作を続け、照合モジュール123,124が誤り発生により使用不可であるという情報を知る。
これらのことにより、照合モジュールを多重化してお互いに生存監視をすることで、一部の照合モジュールが故障して誤ったデータを出力しても、他の照合モジュールが代替わりして正常な動作を続けることができ、高信頼な制御システムを実現することが可能になる。
また、実施の形態7では4台の照合モジュールを使用する例を示したが、2台以上の照合モジュールを用いて構成して実装してもよい。
以上、本発明者によってなされた発明をその実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
本発明の照合システムは、特に図16に示されるような列車運行制御システム、図17に示したようなプラント制御システム、及び図18に示した制御システムに適用可能であり、その他産業システム,自動車に用いられる制御装置などに幅広く適用可能である。
本発明の実施の形態1における、照合システムの一例を表すブロック図である。 図1の照合システムにて転送される出力データのデータフォーマットの一例を表す図である。 図2のデータフォーマットにおけるチェックコードの一例を表す図である。 図1に示した照合システムのチェックコード照合器,データ選択回路,データ照合器の詳細を表すブロック図である。 CRCビットの照合結果によってデータ選択信号の値を決定する手段の一例を表す表である。 本発明を用いていない従来のCPU四重化照合システムにおける出力データ照合のタイミングチャートを示したものである。 図1の照合システムにおける出力データ照合のタイミングチャートの一例を示したものである。 本発明の実施の形態2における、照合システムの一例を表すブロック図である。 本発明の実施の形態3における、照合システムの一例を表すブロック図である。 図9の照合システムにて転送される出力データのデータフォーマットの一例を表す図である。 本発明を用いていない従来のCPU二重化照合システムにおける出力データ照合のタイミングチャートの一例を示した図である。 図9の照合システムにおける出力データ照合のタイミングチャートの一例を示した図である。 本発明の実施の形態4における、照合システムの一例を表すブロック図である。 図13で示した照合システムにおける、データ照合のフローを示す図である。 本発明の実施の形態5における、照合モジュールの構成の一例を示すブロック図である。 図15の照合モジュールを用いて列車の運行を管理する列車運行制御システムを構成した場合の一例を表す図である。 本発明の実施の形態6における、図15の照合モジュールを用いて発電プラントを制御するシステムを構成した場合の一例を表す図である。 本発明の実施の形態7における、図15の照合モジュールを用いて高信頼な制御システムを構成した場合の一例を表す図である。
符号の説明
1,2,3,4 CPU
5 メモリ
6 チェックコード照合器
7 データ選択回路
8 データ照合器
9 チェックコードチェッカ
10 ヘッダ照合器
11 マイコン
17,18,19,20 データ照合セレクタ
21,22,23,24 Cバッファ
25 エンコーダ
26 デコーダ
27,28 Dバッファ
29 データセレクタ
30 ヘッダセレクタ
31,32 ヘッダバッファ(Hバッファ)
33 セレクタ
34,35 CRCチェッカ
36 デコーダ
55 ネットワーク
56 ライトバス
57 リードバス
64 制御LAN
68 情報LAN
101,102,121,122,123,124 照合モジュール
103 LSI
104 ネットワークインタフェースカード(NIC)
105 LANドライバ
107 表示板
108 I/O装置
109 発電プラント
111,112,113,114 制御端末
501,502,503 列車制御I/O装置
504,505,506 駅
507,508,509 列車
510 司令室

Claims (6)

  1. 二つ以上の複数のCPUと、
    前記複数のCPUを接続するネットワークと、
    前記ネットワークに接続され前記複数のCPUからの出力データを格納するメモリと、
    前記メモリに格納された複数の出力データを照合するデータ照合器を有する照合システムにおいて、
    前記出力データには誤りを検出するチェックコードを付加し、前記チェックコードを照合して一致したデータの選択結果を示すデータ選択信号を出力するチェックコード照合器と、
    前記データ選択信号の値によって前記複数の出力データから絞り込んだデータのみを前記データ照合器に出力し、前記複数の出力データを照合する手段を備えることを特徴とする照合システム。
  2. 請求項1の照合システムにおいて、
    前記データ照合器から出力されるデータ照合判定信号の情報を格納する照合ステータスレジスタを備えることを特徴とする照合システム。
  3. 請求項1または2の照合システムにおいて、
    前記データ選択回路が出力する前記出力データの前記チェックコードと出力データを復号するチェックコードチェッカと、
    前記チェックコードチェッカから出力され誤りが無い出力データを示す有効データ選択信号と、
    前記データ照合器内に前記有効データ選択信号の値によって前記複数の出力データから誤りの無い出力データを選択して出力するセレクタを備えることを特徴とする照合システム。
  4. 二つ以上の複数のCPUと、
    前記複数のCPUを接続するネットワークと、
    前記ネットワークに接続され前記複数のCPUからの出力データを格納するメモリを有し、前記出力データにはデータの転送先情報や誤り訂正符号などが含まれるヘッダを付加し、前記複数のヘッダを入力して照合した結果、ヘッダ照合判定信号を出力することを特徴とする照合システム。
  5. 二つ以上の複数のCPUと、
    前記複数のCPUを接続するネットワークと、
    前記ネットワークに接続され前記複数のCPUからの出力データを格納するメモリと、
    前記メモリに格納された複数の出力データを照合するデータ照合器を有する照合システムにおいて、
    前記出力データには誤りを検出するチェックコードを付加し、前記チェックコードを照合して一致したデータの選択結果を示すデータ選択信号を出力するプログラムを格納するマイコンと、
    前記データ選択信号の値によって前記複数の出力データから絞り込んだデータのみを前記データ照合器に出力し、前記データ照合器によって前記複数の出力データを照合し、不一致であれば不一致割り込み信号を前記マイコンに出力する手段を備えることを特徴とする照合システム。
  6. 請求項1,2,4、または5に記載の照合システムにおいて、前記出力データの誤りを検出するチェックコードとしてパリティビット,ECCビット,CRCビットのいずれかを使用することを特徴とする照合システム。
JP2008168050A 2008-06-27 2008-06-27 照合システム Active JP5094591B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008168050A JP5094591B2 (ja) 2008-06-27 2008-06-27 照合システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008168050A JP5094591B2 (ja) 2008-06-27 2008-06-27 照合システム

Publications (2)

Publication Number Publication Date
JP2010009327A true JP2010009327A (ja) 2010-01-14
JP5094591B2 JP5094591B2 (ja) 2012-12-12

Family

ID=41589744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008168050A Active JP5094591B2 (ja) 2008-06-27 2008-06-27 照合システム

Country Status (1)

Country Link
JP (1) JP5094591B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012008812A (ja) * 2010-06-24 2012-01-12 Fuji Electric Co Ltd 情報処理装置、及び情報処理装置の自己診断方法
JP2014081853A (ja) * 2012-10-18 2014-05-08 Renesas Electronics Corp 半導体装置
US9172398B2 (en) 2010-07-08 2015-10-27 Mitsubishi Electric Corporation Vehicle data abnormality determination device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019053600A (ja) 2017-09-15 2019-04-04 ルネサスエレクトロニクス株式会社 半導体集積回路装置及びデータ比較方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04149742A (ja) * 1990-10-15 1992-05-22 Nec Ibaraki Ltd 演算器二重化方式
JPH04257931A (ja) * 1991-02-12 1992-09-14 Oki Electric Ind Co Ltd 計算機システム
JPH05324391A (ja) * 1991-12-16 1993-12-07 Kyosan Electric Mfg Co Ltd 故障検出装置、故障検出方法およびバス比較器
JPH0685793A (ja) * 1992-08-31 1994-03-25 Fuji Facom Corp 伝送誤り検出方式
JPH06168151A (ja) * 1992-11-30 1994-06-14 Toshiba Corp 2重化計算機システム
JPH07129427A (ja) * 1993-11-01 1995-05-19 Fujitsu Ltd Eccコードによるデータの比較チェック方法
JPH08314744A (ja) * 1995-05-18 1996-11-29 Hitachi Ltd フォールトトレラントシステム
JPH0923215A (ja) * 1995-07-07 1997-01-21 Meidensha Corp Crcにおけるデータチェック回路
JPH09130368A (ja) * 1995-10-27 1997-05-16 Mitsubishi Electric Corp データ通信装置
JPH09190361A (ja) * 1996-01-12 1997-07-22 Hitachi Ltd 内部信号で障害検出を行う情報処理システムおよび論理lsi
JPH10143445A (ja) * 1996-11-13 1998-05-29 Nec Eng Ltd 衛星回線接続装置
JPH1168712A (ja) * 1997-08-27 1999-03-09 Mitsubishi Electric Corp 通信装置

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04149742A (ja) * 1990-10-15 1992-05-22 Nec Ibaraki Ltd 演算器二重化方式
JPH04257931A (ja) * 1991-02-12 1992-09-14 Oki Electric Ind Co Ltd 計算機システム
JPH05324391A (ja) * 1991-12-16 1993-12-07 Kyosan Electric Mfg Co Ltd 故障検出装置、故障検出方法およびバス比較器
JPH0685793A (ja) * 1992-08-31 1994-03-25 Fuji Facom Corp 伝送誤り検出方式
JPH06168151A (ja) * 1992-11-30 1994-06-14 Toshiba Corp 2重化計算機システム
JPH07129427A (ja) * 1993-11-01 1995-05-19 Fujitsu Ltd Eccコードによるデータの比較チェック方法
JPH08314744A (ja) * 1995-05-18 1996-11-29 Hitachi Ltd フォールトトレラントシステム
JPH0923215A (ja) * 1995-07-07 1997-01-21 Meidensha Corp Crcにおけるデータチェック回路
JPH09130368A (ja) * 1995-10-27 1997-05-16 Mitsubishi Electric Corp データ通信装置
JPH09190361A (ja) * 1996-01-12 1997-07-22 Hitachi Ltd 内部信号で障害検出を行う情報処理システムおよび論理lsi
JPH10143445A (ja) * 1996-11-13 1998-05-29 Nec Eng Ltd 衛星回線接続装置
JPH1168712A (ja) * 1997-08-27 1999-03-09 Mitsubishi Electric Corp 通信装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012008812A (ja) * 2010-06-24 2012-01-12 Fuji Electric Co Ltd 情報処理装置、及び情報処理装置の自己診断方法
US9172398B2 (en) 2010-07-08 2015-10-27 Mitsubishi Electric Corporation Vehicle data abnormality determination device
JP2014081853A (ja) * 2012-10-18 2014-05-08 Renesas Electronics Corp 半導体装置

Also Published As

Publication number Publication date
JP5094591B2 (ja) 2012-12-12

Similar Documents

Publication Publication Date Title
US7734980B2 (en) Mitigating silent data corruption in a buffered memory module architecture
US10127074B2 (en) Transaction identification synchronization
US6018817A (en) Error correcting code retrofit method and apparatus for multiple memory configurations
US20180143873A1 (en) Memory repair method and apparatus based on error code tracking
JP5107880B2 (ja) データ転送処理装置及び方法
JP3839215B2 (ja) 誤り検出・訂正方法、計算機システムの主記憶制御装置、及び計算機システム
KR102267860B1 (ko) 결함 탐지를 가진 오류 정정 하드웨어
US10841039B2 (en) System and method for transferring data and a data check field
TW201329697A (zh) 記憶體模組之錯誤檢查與校正系統以及方法
JPS6041770B2 (ja) エラ−・チェック修正システム
JP5094591B2 (ja) 照合システム
US5751745A (en) Memory implemented error detection and correction code with address parity bits
TW202105182A (zh) 記憶體系統及記憶體系統的寫入方法
US20060294447A1 (en) Apparatus and method for parity generation in a data-packing device
JP2009295252A (ja) 半導体記憶装置及びそのエラー訂正方法
JPS6148061A (ja) マルチプロセッサ・コンピュータ・システム
CN111880961A (zh) 用于透明寄存器数据错误检测和纠正的系统和方法
JP5025402B2 (ja) 高安全制御装置
CN100490002C (zh) 串行传输接口的存储器装置以及错误更正方法
JP2001290710A (ja) データエラー検出装置
EP3882774A1 (en) Data processing device and data processing method
JP2010086120A (ja) メモリの誤り訂正方法,誤り検出方法、及びそれを用いたコントローラ
JP3866708B2 (ja) リモート入出力装置
JP5322433B2 (ja) 処理システムにおけるデータ処理中のエラー検知方法および制御システム
CN111124418A (zh) 一种基于vcp冗余代码的通信数据超时判断方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100325

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120420

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120515

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120717

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: 20120821

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120918

R151 Written notification of patent or utility model registration

Ref document number: 5094591

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3