JP5203223B2 - 高速冗長データ処理システム - Google Patents

高速冗長データ処理システム Download PDF

Info

Publication number
JP5203223B2
JP5203223B2 JP2008553811A JP2008553811A JP5203223B2 JP 5203223 B2 JP5203223 B2 JP 5203223B2 JP 2008553811 A JP2008553811 A JP 2008553811A JP 2008553811 A JP2008553811 A JP 2008553811A JP 5203223 B2 JP5203223 B2 JP 5203223B2
Authority
JP
Japan
Prior art keywords
data
data processing
module
modules
processing modules
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
Application number
JP2008553811A
Other languages
English (en)
Other versions
JP2009526299A (ja
Inventor
ダレン ステュアート リアーマンス
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.)
Airbus DS Ltd
Original Assignee
Airbus DS 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 Airbus DS Ltd filed Critical Airbus DS Ltd
Publication of JP2009526299A publication Critical patent/JP2009526299A/ja
Application granted granted Critical
Publication of JP5203223B2 publication Critical patent/JP5203223B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • G06F11/1645Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components and the comparison itself uses redundant hardware

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)
  • Detection And Correction Of Errors (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

【技術分野】
【0001】
本発明は、データ処理のシステムおよび方法に関し、詳細には、高水準の精度で高速動作するデータ処理システムに関する。
【背景技術】
【0002】
どんなデータ処理システムでも重要な2つの問題は、データ処理の速度と精度である。精度を向上させるための多くの構成が提案されてきたが、こうした構成では追加の処理ステップを必要とすることが多く、この追加処理ステップは動作速度を低下させるか、実施コストを増加させるか、あるいはその両方である。したがって、一部のデータ処理システムでは、速度、精度およびコストは競合する要件であり、データ処理システムの要件に応じてバランスを取る必要がある。
【0003】
精度を向上させるための多くの方法で冗長性を利用する。例えば、並行して動作する機能的に同一の3つの回路を使用してある特定の動作を3回実行し、3つの回路のうちの少なくとも2つで同じ出力が得られる場合に出力を受容することができる。このような構成には単純さの魅力があるが、3つ(以上)の回路を並行して使用することは、状況によっては過度に無駄が多いとも考えられる。
【0004】
精度を向上させるための他の構成では、誤り訂正符号を使用する。このような構成は、誤りを単純に識別するのではなくいくつかの誤りを訂正できるという利点を有するが、データに関してのオーバヘッド、およびデータ処理要件が、実施するには費用がかかることがあり、またデータ処理速度に悪影響を及ぼす可能性がある。
【0005】
データ処理回路は多くの形態の誤りを起こしやすい。特に問題となる誤りの1つの形態は、放射線誘起エラーであり、これは「ソフトエラー」または「シングルイベントアップセット」と呼ばれることもある。放射線誘起エラーは、メモリデバイスの半導体をイオン化する放射性粒子(例えばα粒子)などの荷電粒子によって、あるいは高エネルギー宇宙線または太陽粒子から生じた粒子によって引き起こされる。収集電荷が十分に大きい場合には、特定のメモリセルの認識された状態が誤っている可能性がある。放射線誘起エラーは、性質として偶発的な傾向があり、検出するのが困難なことがある。
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、上記で概説した問題のいくつかを克服または軽減し、あるいは現在利用可能な解決策の代替策を提供しようとするものである。
【課題を解決するための手段】
【0007】
本発明は、データ入力部と、第1および第2のデータ処理モジュールと、第1および第2のデータ検査モジュールとを備えるデータ処理システムを提供し、
前記第1および第2のデータ処理モジュールがそれぞれ、前記データ入力部で受け取られたデータに対して実質的に同じ処理ステップを実行するように構成され、
前記第1および第2のデータ検査モジュールが、前記第1および第2のデータ処理モジュールの出力どうしを比較するように、また前記データ入力部で受け取られた前記データに対して前記第1および第2のデータ処理モジュールが実質的に同じ処理ステップを実行したかどうかを示すエラー信号を出力するように構成され、
前記第1および第2のデータ検査モジュールが、物理的にそれぞれ離れたデバイス上に配置される。
【0008】
本発明はまた、
データ入力を第1および第2のデータ処理モジュール両方に渡すステップと、
前記データ入力に対して前記第1および第2のデータ処理モジュールが実質的に同じ処理を実行するように構成するステップと、
前記第1および第2のデータ検査モジュールが、前記データ入力に対して前記第1および第2のデータ処理モジュールが実質的に同じ処理を実行したかどうかを示すエラー信号を出力するように構成するステップとを含むデータ処理の方法も提供し、
前記第1および第2のデータ検査モジュールが、物理的にそれぞれ離れたデバイス上に配置される。
【0009】
本発明の一形態では、データ検査モジュールは、第1および第2のデータ処理モジュールの出力が同じであるか(エラーが発生しなかったことを示す)異なっているか(エラーが発生したことを示す)を判定する論理回路である。本発明の一形態では、一方のデータ処理回路の出力が反転され、それによってデータ検査モジュールは、第1および第2のデータ処理モジュールの出力が同じであるか(エラーが発生したことを示す)異なっているか(エラーが発生しなかったことを示す)を判定する。
【0010】
本発明ではデータ処理が繰り返され、それによって、エラーを検出するための冗長性が導入される。さらに、処理中のどんなエラー検査アルゴリズムもなしでデータ処理ステップが並行して実行されるので、データ処理速度は速くなり得る。さらに、物理的にそれぞれ離れたデバイス上にデータ検査モジュールを設けることによって、放射線誘起エラーが検出されない可能性が低減される。
【0011】
本発明の一形態では、第1および第2のデータ検査モジュールは、同じ回路基板上のそれぞれ離れて配置された集積回路上に設けることができる。しかし、データ検査モジュールは、別々の回路基板上に設けることもでき、あるいは実際には、特にこれらのデータ検査モジュールに検査用のデータを渡すのに無線通信システムが利用されるならば、さらに離して設けることもできる。このような構成すべてにおいて、デバイスは物理的にそれぞれ離れているとみなされる。データ検査モジュールを物理的にそれぞれ引き離す利点は、両方のモジュール内で同じように発生する放射線誘起エラーの可能性を低減することにある。物理的に離された2つのデバイス内で同じエラーが発生する可能性は極めて低い。
【0012】
前記第1および第2のデータ処理モジュールは、物理的にそれぞれ離れたデバイス上に配置することができる。第1および第2のデータ処理モジュールは、同じ回路基板上のそれぞれ離れて配置された集積回路上に設けることもできる。しかし、データ検査モジュールに関して上記で説明したように、第1および第2のデータ処理モジュールは、別々の回路基板上に、あるいは実際には、さらに離して設けることもできる。本発明の例示的一実施形態では、第1および第2のデータ処理モジュールは、それぞれ離れたフィールドプログラマブルゲートアレイ(FPGA)内で実施され、これらのFPGAは、使用に際して同じ回路基板上に配置される。
【0013】
第1のデータ処理モジュールおよび第1のデータ検査モジュールは、物理的に同じ位置に配置し、例えば同じFPGAを使用して実施することができる。あるいは、第1のデータ処理モジュールおよび第1のデータ検査モジュールは、別々の集積回路上で実施することもできる。これらの集積回路は近接して配置することができ、こうすることには、より簡単な、動作速度を向上させる傾向がある配線を含むいくつかの利点がある。
【0014】
第2のデータ処理モジュールおよび第2のデータ検査モジュールは、物理的に同じ位置に配置し、例えば同じFPGAを使用して実施することができる。あるいは、第2のデータ処理モジュールおよび第2のデータ検査モジュールは、別々の集積回路上で実施することもできる。これらの集積回路は近接して配置することができ、こうすると、より簡単な、動作速度を向上させる傾向がある配線を含むいくつかの利点が得られる。
【0015】
本発明の一形態では、第1のデータ処理モジュールおよび第1のデータ検査モジュールは、第1の集積回路上で実施され、第2のデータ処理モジュールおよび第2のデータ検査モジュールは、第2の集積回路上で実施される。
【0016】
本発明の一形態では、前記第1および第2のデータ処理モジュールの出力は前記第1のデータ検査モジュールに渡され、前記第1のデータ検査モジュールは、前記エラー信号と、前記第1および第2のデータ処理モジュールの前記出力の両方を前記第2のデータ検査モジュールに出力する。したがって、本発明のこの形態では、データ処理モジュールの出力はまず第1のデータ検査モジュールで検査され、第1のデータ検査モジュールの出力は第2のデータ検査モジュールで検査される。本発明の一構成では、第1のデータ検査モジュールは第1および第2の入力部を有し、前記第2のデータ検査モジュールは、第1、第2および第3の入力部を有し、前記第1のデータ検査モジュールの前記第1および第2の入力部が、それぞれ前記第1および第2のデータ処理モジュールの出力を受け取り、前記第1のデータ検査モジュールが、前記第1および第2のデータ処理モジュールの前記出力にそれぞれ対応する第1および第2のデータ信号と、前記データ入力部で受け取られた前記データに対して前記第1および第2のデータ処理モジュールが実質的に同じ処理ステップを実行したかどうかを示す第1のエラー信号とを出力し、前記第2のデータ検査モジュールの前記第1および第2の入力部が、前記第1のデータ検査モジュールから前記第1および第2のデータ信号を受け取り、前記第2のデータ検査モジュールの前記第3の入力部が、前記第1のデータ検査モジュールから前記第1のエラー信号を受け取る。
【0017】
本発明の一形態では、第3のデータ検査モジュールが設けられ、この第3のデータ検査モジュールは、前記第1および第2のデータ処理モジュールの出力どうしを比較するように、また前記データ入力に対して前記第1および第2のデータ処理モジュールが実質的に同じ処理ステップを実行したかどうかを示す信号を出力するように構成される。第3のデータ検査モジュールは、第1および第2のデータ検査モジュールの一方または両方から物理的に引き離すことができる。第3のデータ検査モジュールは、第1および第2のデータ処理モジュールの一方または両方から物理的に引き離すことができる。本発明の例示的一形態では、第1のデータ処理モジュールおよび第1のデータ検査モジュールは第1の集積回路上で実施され、第2のデータ処理モジュールおよび第2のデータ検査モジュールは第2の集積回路上で実施され、第3のデータ検査モジュールは第3の集積回路上で実施され、これらの集積回路それぞれは、上記で論じたように、同じ回路基板上に設けることができ、あるいはより遠くに引き離すこともできる。
【0018】
本発明の一形態では、前記第1および第2のデータ処理モジュールの出力は前記第1のデータ検査モジュールに渡され、第1のデータ検査モジュールが、前記エラー信号と、前記第1および第2のデータ処理モジュールの前記出力との両方を前記第2のデータ検査モジュールに出力し、第2のデータ検査モジュールが、前記エラー信号と、前記第1および第2のデータ処理モジュールの前記出力との両方を前記第3のデータ検査モジュールに出力する。したがって、本発明のこの形態では、データ処理モジュールの出力は、第1、第2および第3のデータ検査モジュールで順に検査される。このような構成では、そのデータ検査モジュールが前記第1および第2のデータ処理モジュールの出力間に不一致を検出したとき、あるいは前のデータ検査モジュールのエラー出力がセットされたときに、データ検査モジュールのエラー出力はセットすることができる。
【0019】
前記データ入力部で受け取られた前記データに対して、前記第1および第2のデータ処理モジュールが実質的に同じ処理ステップを実行したかどうかを示す前記信号の少なくとも1つを、入力として前記第1および第2のデータ処理モジュールの少なくとも一方に与えることができる。本発明の一形態では、第3のデータ検査モジュールのエラー出力は、入力として第1のデータ検査モジュールに与えられる。第1のデータ処理モジュールにフィードバックされるエラー信号を用いて、特定のデータ処理ステップの結果を破棄しなければならないことを知らせることができる。あるいは、第1のデータ処理モジュールにフィードバックされる信号を用いて、特定のデータ処理ステップの結果を繰り返さなければならないことを知らせることができる。
【0020】
本発明の一形態では、エラー出力フラグが規定され、前記エラー出力フラグは、前記第1および第2のデータ処理モジュールの出力が同じではないことを示す信号を前記データ検査モジュールのどれかが出力したときにセットされる。前記エラーフラグは、データ検査モジュールのどれかがエラーを検出したときはいつでも、エラー信号が出力部まで伝わるのを待たずにセットすることができる。エラーフラグは、例えば特定の処理ステップの結果を破棄する際に用いる入力として、あるいは特定のデータ処理ステップの繰り返しを開始する際に用いる入力として、1つまたは複数のデータ処理モジュールに与えることができる。
【0021】
前記データ入力はシリアルデータ入力とすることができる。
【0022】
前記第1および第2のデータ処理モジュールそれぞれの機能は、1つまたは複数のメモリモジュール内に記憶されたデータによって定義することができる。前記第1および第2の両方のデータ処理モジュールで使用される単一のメモリデバイスを設けることもできるが、前記第1のデータ処理モジュールの機能は第1のメモリモジュール内に記憶されたデータによって定義され、前記第2のデータ処理モジュールの機能は第2のメモリモジュール内に記憶されたデータによって定義されることが好ましい。というのは、こうすると、同じメモリモジュールの同じ記憶場所に複数のデータ処理モジュールがアクセスしようとすることによる潜在的な問題が回避されるからである。さらに、メモリモジュールが1つだけ設けられたとして、そのメモリが正しく機能しなければ、誤った命令に基づいて両方のデータ処理モジュールが同じように動作し、どのデータ検査モジュールによっても検出されない同一の、誤った出力を与える可能性がある。
【0023】
本発明の一形態では、データ入力は、前記メモリモジュール内の記憶場所を参照する符号を含み、この記憶場所は前記データ処理モジュールの機能を定義するデータの記憶場所である。例えば、データ入力はデータパケットとすることができ、このパケットは、前記符号を含むヘッダ情報を含む。したがって、前記符号によって定義されるように、実行される処理ステップは別個のパケットでは異なることがある。
【0024】
本発明は、パケットをベースとしたデータ処理の場合に申し分なく機能するが、このような使い方に限定されるものではない。当技術分野で周知のように、パケット交換が多くのデータ通信システムに使用され、これは現在、インターネットで使用される主要な交換技術である。パケット交換は、他の多くのノードが共有できるデータリンクを介してデータノード間で個々のデータのパケットをルーティングすることによって機能する。パケット交換は、データファイルをずっと小さなデータのパケットに分割することを伴い、各パケットは、ファイルの発信元および送信先、ならびにファイル内のパケットに含まれたデータの位置などの付加的な情報を含む。パケットが送信先で受信されると、もとのファイルが組み立て直される。
【0025】
次に、本発明によるデバイスおよび方法を例示的にのみ、添付の概略図を参照して説明する。
【発明を実施するための最良の形態】
【0026】
図1は、全体的に参照数字2で示された、本発明の実施形態による処理システムのブロック図である。
【0027】
処理システム2は、第1のデータ処理ブロック4、第2のデータ処理ブロック6、第3のデータ処理ブロック8を含む。第1のデータ処理ブロック4は、第1のデータ処理モジュール10および第1のデータ検査モジュール12を含む。第2のデータ処理ブロック6は、第2のデータ処理モジュール14および第2のデータ検査モジュール16を含む。第3のデータ処理ブロック8は、第3のデータ検査モジュール18を含む。第1のデータ処理モジュール10はメモリデバイス20に結合され、第2のデータ処理モジュール14はメモリデバイス22につながれる。
【0028】
処理システム2は、外部ソースからデータ入力INを受け取る。データ入力INはデータパケットであり、このパケットは、パケット内のデータに対して実行する必要のある処理に関連した情報を含む。この処理情報は、メモリデバイス20および22内の命令を参照する符号の形をとる。第1および第2のデータ処理モジュール10および14は、それぞれデータ入力INを受け取り、その処理情報を抜き出す。第1のデータ処理モジュール10は、この処理情報を用いて、データ入力INに対して実行する処理ステップに関連した命令をメモリデバイス20から得る。同様に、第2のデータ処理モジュール14は処理情報を用いて、データ入力INに対して実行する処理ステップに関連した命令をメモリデバイス22から得る。
【0029】
したがって、第1および第2のデータ処理モジュール10および14は、それぞれメモリデバイス20、22をルックアップテーブルとして使用し、データ入力INから受け取った処理コードが、ルックアップテーブルに記憶されたデータを参照するために用いられる。メモリデバイス20および22は、例えば、適切なサイズとされた任意の高速アクセスRAMを使用して実施することができるが、当業者には多くの適切なデバイスが周知であろう。次に、第1および第2のデータ処理モジュール10および14は、メモリモジュール20、22から受け取った命令に基づいて、入力データに対する処理ステップを実行する。データ処理モジュール10と14は同じ動作を実行するものであり、したがって、第1のデータ処理モジュールの出力と第2のデータ処理モジュールの出力とは同じになるはずである。
【0030】
第1および第2のデータ処理モジュール10および14の出力は、第1のデータ検査モジュール12に渡される。上記のように、データ処理モジュール10および14では、データ入力INに対して(メモリモジュール20および22に定義された)同じ動作を実行するものであり、したがって、同じデータ出力が得られるはずである。本発明の一形態では、第1のデータ検査モジュールは、第1のデータ処理モジュール10の出力の各ビットを第2のデータ処理モジュール12の出力の対応するビットと比較し、それによって、第1および第2のデータ処理モジュールの対応する出力がどれか相違する場合にエラー信号を出力する。本発明の特定の一実施形態では、第2のデータ処理モジュール14の出力は、第1のデータ検査モジュール12に渡される前に反転され、次に、第1のデータ検査モジュール12は、第1および第2のデータ処理モジュールの対応する出力がどれか同じになればエラー信号を出力する。
【0031】
データ処理システム2内で発生する可能性があり、データ検査モジュールによって検出されるべき多くの種類のエラーがある。例えば、メモリデバイス20および22の一方がエラーを含み、その結果、対応するデータ処理モジュールが誤った動作を実行する可能性があり、あるいはデータ処理モジュール10および14の一方が何かの物理的な欠陥を含む可能性がある。
【0032】
第1のデータ検査モジュール12には3つの出力があり、第1および第2の出力は、このデータ検査モジュールへの単なる入力(すなわち第1のデータ処理モジュール12および第2のデータ処理モジュール14それぞれの単なる出力)であり、第3の出力は上述のエラー出力である。
【0033】
第1のデータ検査モジュール12の3つの出力は、第2のデータ検査モジュール16の3つの入力を形成する。すなわち、第2のデータ検査モジュール16は、第1および第2のデータ処理モジュール10および14の出力を受け取る。第2のデータ検査モジュールは、続けて第1のデータ検査モジュール12と同じ検査動作を行い、不一致が検出された場合にエラー信号を出力する。さらに、第2のデータ検査モジュール16のエラー出力はまた、第1のデータ検査モジュール12からエラー信号が出力された場合にもセットされる。
【0034】
したがって、第2のデータ検査モジュール16では3つの出力信号が得られるが、その第1の出力および第2の出力は、それぞれ第1のデータ処理モジュール10および第2のデータ処理モジュール14の出力であり、第3の出力はエラー信号である。これらの3つの出力は、第2データ検査モジュールと同じ機能を有する第3のデータ検査モジュール18に入力として与えられる。
【0035】
第3のデータ検査モジュール18は、3つのデータ検査モジュールのどれかによってエラーが検出されたかどうかを示すエラー信号ERRORをデータ出力DATAとともに出力する。このデータ出力DATAは、処理システム2が実行するデータ機能によって変更されたデータ入力である。エラー信号ERRORは、入力として第1のデータデータ検査モジュール12に供給されるので、エラーが検出されたらすぐに破棄されるべき特定のパケットを処理することが可能になる。本発明の一形態では、データ検査モジュール12は、エラーが検出された場合にデータ処理モジュール10および14にデータ処理ステップを繰り返すことを命令するように構成される。本発明の別の形態では、処理エラーが検出されたデータパケットはただ単に破棄される。
【0036】
本発明の一形態では、データ検査モジュールのどれか1つがエラーを検出した場合、エラーフラグがセットされ、それが次のデータ検査モジュールに渡される。データ検査モジュールのどれかがエラーフラグを受け取ると、エラー出力ERRORが直ちにセットされ、処理中のデータは拒否される。したがって、エラー検出を速く使って、処理されているデータを拒否することができ、エラーが発生したことを判定するデータ処理ステップの完了を待つ必要がない。このようにして、データ処理システムの処理能力は、エラーが検出されたその場で拒否されるべきデータを継続して処理しないことによって、向上させることができる。
【0037】
図2は、図1の回路の一部の機能の概略図である。図2は、機能ブロック26aの入力部で受け取られるデータパケット24aを示し、機能ブロック26aはデータパケット28aを出力している。並行して、データパケット24bは、機能ブロック26bの入力部で受け取られ、機能ブロック26bはデータパケット28bを出力している。次に、データパケット28bが反転されて、データパケット28b’が得られる。
【0038】
データパケット24aおよび24bは、上述の処理システム2のデータ入力INであり、機能ブロック26aおよび26bで実行する必要がある機能を識別するコードidを含む。機能ブロック26aおよび26bは、機能Zを実行し、処理システム2のそれぞれデータ処理モジュール10および14である。データパケット28aおよび28bは、データ処理モジュール10および14の出力であり、データパケット28b’は、データパケット28bの単なる反転バージョンである。データパケット28aおよび28bは、変更されたコードidを含む。
【0039】
データパケット28aの各ビットは、XORゲート30でデータパケット28b’の対応するビットと連続して比較される。データパケット28aと28bは同一のはずであり、したがってデータパケット28aの各ビットは、データパケット28b’の対応するビットと異なるはずである。したがって、データパケット28および28b’の対応するビットをXORゲートの各入力部に与えることにより、XORゲートの出力は常に1にならなければならない。したがって、どれかの時期にXORゲート30の出力がゼロになればエラーが発生しており、エラーフラグがセットされる。その結果XORゲート30は、エラー検査回路12をとされる。
【0040】
図2の構成では、データ出力パケットDATA、反転データ出力パケットDATAZ、およびエラーフラグERRORが得られる。
【0041】
上述のように、放射線誘起エラーは、データ処理システムにおいて特に問題となるエラーの原因である。このようなエラーに伴う問題は、検出されないエラーを招くおそれがあることである。以下のような状況を考える。
【0042】
レジスタ28aは、(図2に示すように)データワード「010111」を含まなければならないが、実際には機能ブロック26a内のエラーにより、レジスタ28aはデータワード「010110」を含む(すなわち最後のビットが誤っている)。
【0043】
レジスタ28bはデータパケットとしてデータワード「010111」を正しく含み、レジスタ28b’はデータワード「101000」を記憶する。したがって、XORゲート30は、レジスタ28aの出力(010110)とレジスタ28b’の出力(101000)を比較しエラーを検出するはずである。
【0044】
しかし、放射線誘起エラーにより、XORゲート30は、実際にはレジスタ28b’の出力を「101001」と読み取り(最後のビットが[0]ではなく「1」と読み取られる)、機能ブロック26aの出力のエラーを検出しない。
【0045】
図1の回路では、図2に示された1つのモジュールではなく、3つのデータ検査モジュールを設ける。上述の例示的な状況では、放射線誘起エラーにより第1のデータ検査モジュール12がエラーを検出しなかった場合でも、データ検査モジュール16および18が依然として検査を実行することができる。3つのデータ検査モジュールすべてが同じように放射線誘起エラーの影響を受ける可能性は極めて低い。
【0046】
さらなる安全性を得るために、データ検査モジュール12、16および18は物理的に離される。したがって、高レベルのα粒子(または、放射線誘起エラーを引き起こしやすい他のあらゆる粒子)がデータ検査モジュールの1つの近くにあったとしても、3つのデータ検査モジュールすべてが同様に影響を受ける可能性はさらに低減される。
【0047】
本発明の一実施では、物理的に離したデータ検査モジュール12、16および18は、同じプリント回路基板上に配置した個別のフィールドプログラマブルゲートアレイ(FPGA)によって実施される。しかし、データ検査モジュールは、例えば別々のプリント回路基板上にデータ検査モジュールを配置することによって、さらに引き離すこともできる。実際には、遠隔通信技術を利用することによって各データ検査モジュールを大きな間隔で引き離すことができ、極端な例では、3つのデータ検査モジュールは別々の国にあってもよい。
【0048】
次に、処理システム2の機能の例示的な使い方を説明する単純な例を以下に示す。
【0049】
上記のように、処理システム2は、データ処理モジュール10および14の機能を定義する符号(以下では状態と呼ぶ)を含むデータパケットと併せて使用するようにうまく適合されている。本例では、処理システム2は、2ビット状態を含むデータパケットを処理するのに使用される。各状態でのデータ処理モジュール10および14の機能は以下の通りである。
【0050】
【表1】
Figure 0005203223
データ入力INはシリアルデータ入力であり、状態情報がまず与えられる。したがって、状態情報をデータ処理モジュール10および14で抜き出し、それを用いて、これらのモジュールで実行する必要がある機能に関連した必要な情報を得ることができ、この情報はメモリモジュール20および22内に記憶される。
【0051】
図3は、上記で定義されたアルゴリズムが、いくつかの例示的なデータ入力の場合にどのように動作するかを示す表である。表は、いくつかの10ビットデータ入力を示し、各10ビット入力は2ビット状態を含む。10ビット入力の残りの8ビットは、上述のアルゴリズムに従って処理され、その生成された出力が表に示してある。
【0053】
図3の表の第1行および第2行では、処理システム2によって入力が2ビット目ごとに反転されなければならないことを示す状態01が受け取られる。したがって、第1行では入力11100101は10110000になり、第2行では入力01101100は00111001になる。
【0053】
図3の表の第3行では、入力が3ビット目ごとに反転されなければならないことを示す状態10が受け取られる。したがって、入力11111001は11011101になる。
【0054】
図3の表の第4行では、入力のそれぞれのビットが反転されなければならないことを示す状態11が受け取られる。したがって、入力10001010は01110101になる。
【0055】
図3の表の第5行では、入力が不変でなければならないことを示す状態00が受け取られる。したがって、入力11010010は出力と同じである。
【0056】
次に、図1の回路を通る、あり得るデータの流れを示す簡単な例を以下に挙げる。以下に説明する例では、第1および第2のデータ処理モジュール10および14の各出力を、それぞれAおよびBと呼ぶ。次のクロック周期で、第1のデータ検査モジュール12は、データ入力AおよびBをA’およびB’として出力し、またエラー信号Eを出力し、信号A’、B’およびEは、第2のデータ検査モジュール16の入力を形成する。次のクロック周期で、第2のデータ検査モジュール16は、データ入力A’およびB’をA’’およびB’’として出力し、またエラー信号Eを出力し、信号A’’、B’’およびEは、第3のデータ検査モジュール18の入力を形成する。次のクロック周期で、第3のデータ検査モジュール18は、データ入力A’’およびB’’に由来するDATA出力を出力し、またERROR出力を出力する。
【0057】
第1および第2のデータ処理モジュール10および14の出力をデータワード01010111とする以下の状況を考える。この例では、第1のデータ処理モジュール10は正しく動作するが、第2のデータ処理モジュールは、誤ってデータワード01000111を出力する。
【0058】
この例では、図1の回路を通るデータの流れを、図4の表を参照して以下に説明する。表は、いくつかのクロック周期のそれぞれに対するデータ値A、B、A’、B’、E、A’’、B’’、E、DATAおよびERRORを一覧表示している。
【0059】
データワードは、第1および第2のデータ処理モジュール10および14によって直列に出力されるが、最初に最下位ビットが出力される。したがって、最初のクロック周期ではデータビットAおよびBは両方が1である。他のデータビットは未知であり、Xとして図4に表示されている。
【0060】
次のデータ周期で、AおよびBの前の値(両方1)がA’およびB’として出力され、エラー信号0(エラーがないことを示す)がEとして出力される。次に入ってくるデータビット(両方1)は新しい入力AおよびBである。やはり残りのデータ信号値は未知である。
【0061】
次のデータ周期で、前の信号A’、B’およびEがA’’、B’’およびEになり、前の信号AおよびBがA’およびB’になり、新しいエラー信号(やはり0)がEにセットされる。次のデータビット(やはり両方1)がAおよびBとして与えられる。
【0062】
次のデータ周期で、DATA出力はA’’およびB’’の前の値にセットされ、エラー信号は0(エラー検出なし)にセットされ、前の信号A’、B’およびEがA’’、B’’およびEになり、前の信号AおよびBがA’およびB’になり、新しいエラー信号(やはり0)がEにセットされる。次のデータビット(今回は両方0)がAおよびBとして与えられる。
【0063】
次のデータ周期で、DATA出力はA’’およびB’’の前の値にセットされ、エラー信号は0(エラー検出なし)にセットされ、前の信号A’、B’およびEがA’’、B’’およびEになり、前の信号AおよびBがA’およびB’になり、新しいエラー信号(やはり0)がEにセットされる。AおよびBとして次のデータビット(それぞれ1および0)が与えられる。
【0064】
次のデータ周期で、DATA出力はA’’およびB’’の前の値にセットされ、エラー信号は0(エラー検出なし)にセットされ、前の信号A’、B’およびEがA’’、B’’およびEになり、前の信号AおよびBがA’およびB’になる。しかし今回は、AとBの値が異なったのでエラーが検出され、エラー信号Eは1にセットされる。次のデータビット(両方0)がAおよびBとして与えられる。
【0065】
次のデータ周期で、DATA出力はA’’およびB’’の前の値にセットされ、エラー信号は0(エラー検出なし)にセットされ、前の信号A’、B’およびEがA’’、B’’およびEになり(ここでEはエラーを示している)、前の信号AおよびBがA’およびB’になり、次のデータビット(両方1)がAおよびBとして与えられる。
【0066】
次のデータ周期で、エラー信号Eはエラー出力ERRORに伝わる。A’’とB’’のデータ値の間に不一致があったので、データ出力は特定されていない(X)。すなわち、最初に第1のデータ検査モジュール12で検出されたエラーが出力まで伝わっている。
【0067】
本発明のいくつかの形態では、エラー出力は、上述のように全回路を通って伝わる必要はなく、出力ERRORに直ちに渡される割込み信号として使用できることに注意されたい。
【0068】
本発明の処理システム2には、多くの潜在的な応用例がある。例えば、データ処理モジュール10および14は、特定のパターンが検出されるときはいつでも特定のデータのパターンを検出し、フラグを出力するようにプログラムすることができる。このような応用例では、入ってくるデータパケットの状態を使用して、探索されている特定のデータパターンを参照することができる。さらに、多くの暗号アルゴリズムではデータのパケットに対して比較的簡単な機能を実行するが、データ処理システム2は、そのような機能を実行するのに十分に適合するはずである。
【図面の簡単な説明】
【0069】
【図1】本発明の一実施形態のブロック図である。
【図2】図1の回路の一部の機能の概略図である。
【図3】図1の回路の機能の一部を説明する表である。
【図4】図1の回路の機能の別の部分を説明する表である。

Claims (19)

  1. データ入力部と、第1および第2のデータ処理モジュールと、第1および第2のデータ検査モジュールとを備えるデータ処理システムであって、
    前記第1および第2のデータ処理モジュールがそれぞれ、前記データ入力部で受け取られたデータに対して実質的に同じ処理ステップを実行するように構成され、それぞれが出力し、
    前記第1および第2のデータ検査モジュールが、前記第1および第2のデータ処理モジュールの前記出力どうしを比較するように、また前記データ入力部で受け取られた前記データに対して前記第1および第2のデータ処理モジュールが実質的に同じ処理ステップを実行したかどうかを示すエラー信号を出力するように構成され、
    前記第1および第2のデータ検査モジュールが、物理的にそれぞれ離れたデバイス上に配置され、
    前記第1のデータ検査モジュールが第1および第2の入力部を有し、前記第2のデータ検査モジュールが第1、第2および第3の入力部を有し、
    前記第1のデータ検査モジュールの前記第1および第2の入力部が、それぞれ前記第1および第2のデータ処理モジュールの前記出力を受け取り、
    前記第1のデータ検査モジュールが、前記第1および第2のデータ処理モジュールの前記出力にそれぞれ対応する第1および第2のデータ信号と、前記データ入力部で受け取られた前記データに対して前記第1および第2のデータ処理モジュールが実質的に同じ処理ステップを実行したかどうかを示す第1のエラー信号とを出力し、
    前記第2のデータ検査モジュールの前記第1および第2の入力部が、前記第1のデータ検査モジュールから前記第1および第2のデータ信号を受け取り、前記第2のデータ検査モジュールの前記第3の入力部が、前記第1のデータ検査モジュールから前記第1のエラー信号を受け取る、データ処理システム。
  2. 前記第1および第2のデータ処理モジュールが、物理的にそれぞれ離されたデバイス上に配置される、請求項1に記載のデータ処理システム。
  3. 前記第1および第2のデータ処理モジュールの前記出力どうしを比較するように、また前記データ入力部で受け取られた前記データに対して前記第1および第2のデータ処理モジュールが実質的に同じ処理ステップを実行したかどうかを示す信号を出力するように構成された第3のデータ検査モジュールをさらに備える、請求項1または2に記載のデータ処理システム。
  4. 前記第1のデータ検査モジュールが第1および第2の入力部を有し、前記第2のデータ検査モジュールが第1、第2および第3の入力部を有し、前記第3のデータ検査モジュールが第1、第2および第3の入力部を有し、
    前記第1のデータ検査モジュールの前記第1および第2の入力部が、それぞれ前記第1および第2のデータ処理モジュールの前記出力を受け取り、
    前記第1のデータ検査モジュールが、前記第1および第2のデータ処理モジュールの前記出力にそれぞれ対応する第1および第2のデータ信号と、前記データ入力部で受け取られた前記データに対して前記第1および第2のデータ処理モジュールが実質的に同じ処理ステップを実行したかどうかを示す第1のエラー信号とを出力し、
    前記第2のデータ検査モジュールの前記第1および第2の入力部が、前記第1のデータ検査モジュールから前記第1および第2のデータ信号を受け取り、前記第2のデータ検査モジュールの前記第3の入力部が、前記第1のデータ検査モジュールから前記第1のエラー信号を受け取り、
    前記第2のデータ検査モジュールが、前記第1および第2のデータ処理モジュールの前記出力にそれぞれ対応する第3および第4のデータ信号と、前記データ入力部で受け取られた前記データに対して前記第1および第2のデータ処理モジュールが実質的に同じ処理ステップを実行したかどうかを示す第2のエラー信号とを出力し、
    前記第3のデータ検査モジュールの前記第1および第2の入力部が、前記第2のデータ検査モジュールから前記第3および第4のデータ信号を受け取り、前記第3のデータ検査モジュールの前記第3の入力部が、前記第1のデータ検査モジュールから前記第2のエラー信号を受け取る、請求項3に記載のデータ処理システム。
  5. 前記第3のデータ検査モジュールが前記第1および第2のデータ検査モジュールそれぞれから物理的に離される、請求項3または4に記載のデータ処理システム。
  6. 前記データ入力部で受け取られた前記データに対して前記第1および第2のデータ処理モジュールが実質的に同じ処理ステップを実行したかどうかを示す、前記第3のデータ検査モジュールから出力される前記信号が、入力として前記第1のデータ検査モジュールに与えられる、請求項3〜5のいずれか一項に記載のデータ処理システム。
  7. 前記データ入力部で受け取られた前記データに対して前記第1および第2のデータ処理モジュールが実質的に同じ処理ステップを実行したかどうかを示す前記信号の少なくとも1つが、入力として前記第1および第2のデータ処理モジュールの少なくとも一方に与えられる、請求項1〜6のいずれか一項に記載のデータ処理システム。
  8. エラー出力フラグをさらに含み、前記エラー出力フラグが、前記データ入力部で受け取られた前記データに対して前記第1および第2のデータ処理モジュールが実質的に同じ処理ステップを実行しなかったことを示す信号を前記データ検査モジュールのどれかが出力したときにセットされる、請求項1〜7のいずれか一項に記載のデータ処理システム。
  9. 前記第1および第2のデータ処理モジュールそれぞれの機能が、1つまたは複数のメモリモジュール内に記憶されたデータによって定義される、請求項1〜8のいずれか一項に記載のデータ処理システム。
  10. 前記第1のデータ処理モジュールの前記機能が第1のメモリモジュール内に記憶されたデータによって定義され、前記第2のデータ処理モジュールの前記機能が第2のメモリモジュール内に記憶されたデータによって定義される、請求項9に記載のデータ処理システム。
  11. 前記データ入力部で受け取られた前記データが、前記メモリモジュール内の記憶場所を参照する符号を含み、前記記憶場所が前記データ処理モジュールの機能を定義するデータの記憶場所である、請求項9または10に記載のデータ処理システム。
  12. データ入力部と、第1および第2のデータ処理モジュールと、第1および第2のデータ検査モジュールとを備えるデータ処理システムによるデータ処理の方法において、
    データ入力を第1および第2のデータ処理モジュールの両方に渡すステップと、
    前記データ入力に対して前記第1および第2のデータ処理モジュールが実質的に同じ処理を実行するように構成するステップと、
    第1および第2のデータ検査モジュールが、前記データ入力に対して前記第1および第2のデータ処理モジュールが実質的に同じ処理を実行したかどうかを示すエラー信号を出力するように構成するステップとを含むデータ処理の方法であって、
    前記第1および第2のデータ検査モジュールが、物理的にそれぞれ離れたデバイス上に配置され、
    前記第1および第2のデータ処理モジュール両方の出力を前記第1のデータ検査モジュールに渡すステップと、
    前記第1および第2のデータ処理モジュールの前記出力を前記第1のデータ検査モジュールから前記第2のデータ検査モジュールに、前記データ入力部で受け取られた前記データ入力に対して前記第1および第2のデータ処理モジュールが実質的に同じ処理を実行したかどうかを示す第1のエラー信号とともに渡すステップとをさらに含む、方法。
  13. 前記第1および第2のデータ処理モジュールが、物理的にそれぞれ離されたデバイス上に配置される、請求項12に記載の方法。
  14. データ処理システムは、第3のデータ検査モジュールをさらに備え、
    前記第1および第2のデータ処理モジュール両方の前記出力を第2のデータ検査モジュールから第3のデータ検査モジュールに渡すステップをさらに含み、前記第3のデータ検査モジュールが、前記データ入力に対して前記第1および第2のデータ処理モジュールが実質的に同じ処理を実行したかどうかを示すエラー信号を出力するように構成される、請求項12または13に記載の方法。
  15. 前記第1および第2のデータ処理モジュール両方の出力を前記第1のデータ検査モジュールに渡すステップと、
    前記第1および第2のデータ処理モジュールの前記出力を前記第1のデータ検査モジュールから前記第2のデータ検査モジュールに、前記データ入力部で受け取られた前記データに対して前記第1および第2のデータ処理モジュールが実質的に同じ処理を実行したかどうかを示す第1のエラー信号とともに渡すステップと
    前記第1および第2のデータ処理モジュールの前記出力を前記第2のデータ検査モジュールから前記第3のデータ検査モジュールに、前記データ入力部で受け取られた前記データに対して前記第1および第2のデータ処理モジュールが実質的に同じ処理を実行したかどうかを示す第2のエラー信号とともに渡すステップとをさらに含む、請求項14に記載の方法。
  16. 前記第3のデータ検査モジュールが、前記第1および第2のデータ検査モジュールそれぞれから物理的に離される、請求項14または15に記載の方法。
  17. 前記データ入力部で受け取られた前記データに対して前記第1および第2のデータ処理モジュールが実質的に同じ処理ステップを実行したかどうかを示す、前記第3のデータ検査モジュールから出力される前記信号を、入力として前記第1のデータ検査モジュールに与えるステップをさらに含む、請求項14〜16のいずれか一項に記載の方法。
  18. 前記データ入力部で受け取られた前記データに対して前記第1および第2のデータ処理モジュールが実質的に同じ処理ステップを実行したかどうかを示す前記信号の少なくとも1つを、入力として前記第1および第2のデータ処理モジュールの少なくとも一方に与えるステップをさらに含む、請求項12〜17のいずれか一項に記載の方法。
  19. 前記データ入力が、前記第1および第2のデータ処理モジュールがアクセスできる1つまたは複数のメモリモジュール内の記憶場所を参照する符号を含み、前記記憶場所が前記データ処理モジュールの機能を定義するデータの記憶場所である、請求項12〜18のいずれか一項に記載の方法。
JP2008553811A 2006-02-09 2006-12-15 高速冗長データ処理システム Expired - Fee Related JP5203223B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB0602641.3A GB0602641D0 (en) 2006-02-09 2006-02-09 High speed data processing system
GB0602641.3 2006-02-09
PCT/GB2006/004720 WO2007091005A1 (en) 2006-02-09 2006-12-15 High speed redundant data processing system

Publications (2)

Publication Number Publication Date
JP2009526299A JP2009526299A (ja) 2009-07-16
JP5203223B2 true JP5203223B2 (ja) 2013-06-05

Family

ID=36119811

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008553811A Expired - Fee Related JP5203223B2 (ja) 2006-02-09 2006-12-15 高速冗長データ処理システム

Country Status (13)

Country Link
US (1) US8386843B2 (ja)
EP (1) EP1989624B1 (ja)
JP (1) JP5203223B2 (ja)
AT (1) ATE456091T1 (ja)
AU (1) AU2006337907B2 (ja)
CA (1) CA2641682C (ja)
DE (1) DE602006011961D1 (ja)
DK (1) DK1989624T3 (ja)
ES (1) ES2340720T3 (ja)
GB (1) GB0602641D0 (ja)
NO (1) NO337469B1 (ja)
NZ (1) NZ570745A (ja)
WO (1) WO2007091005A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8548640B2 (en) * 2010-12-21 2013-10-01 Microsoft Corporation Home heating server
DE102011102274B4 (de) 2011-05-23 2012-12-06 Pilz Gmbh & Co. Kg Verfahren zum Betreiben eines Sicherheitssteuergeräts
US9778912B2 (en) 2011-05-27 2017-10-03 Cassy Holdings Llc Stochastic processing of an information stream by a processing architecture generated by operation of non-deterministic data used to select data processing modules
DE102012004844B4 (de) * 2012-03-13 2018-05-17 Phoenix Contact Gmbh & Co. Kg System der Messwertüberwachung und Abschaltung bei Auftreten von Messwertabweichungen
JP6036089B2 (ja) * 2012-09-25 2016-11-30 日本電気株式会社 データ遷移トレース装置、データ遷移トレース方法、及び、データ遷移トレースプログラム
CN106294044B (zh) * 2016-08-09 2019-05-03 上海东软载波微电子有限公司 芯片内部寄存器的校验电路及芯片
DE102018115759B3 (de) * 2018-06-29 2019-08-29 Scheidt & Bachmann Gmbh Balisensteuerungsvorrichtung

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
BE793400A (fr) 1972-03-13 1973-06-28 Siemens Ag Systeme de traitement de donnees commande par programme avec une exploitation parallele de deux unites identiques ou plus du systeme
DE2612100A1 (de) * 1976-03-22 1977-10-06 Siemens Ag Digitale datenverarbeitungsanordnung, insbesondere fuer die eisenbahnsicherungstechnik
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
DE3003291C2 (de) 1980-01-30 1983-02-24 Siemens AG, 1000 Berlin und 8000 München Zweikanalige Datenverarbeitungsanordnung für Eisenbahnsicherungszwecke
DE3412049A1 (de) 1984-03-30 1985-10-17 Licentia Patent-Verwaltungs-Gmbh, 6000 Frankfurt Signaltechnisch sichere datenverarbeitungseinrichtung
JPS626263A (ja) * 1985-07-02 1987-01-13 Minolta Camera Co Ltd 積層型感光体
CH675781A5 (ja) 1987-04-16 1990-10-31 Bbc Brown Boveri & Cie
DE3843564A1 (de) * 1988-12-23 1990-06-28 Standard Elektrik Lorenz Ag Verfahren zur ueberpruefung von verbindungs- und/oder schalteinrichtungen und/oder -leitungen
JPH02301836A (ja) 1989-05-17 1990-12-13 Toshiba Corp データ処理システム
US5086429A (en) 1990-04-10 1992-02-04 Honeywell Inc. Fault-tolerant digital computing system with reduced memory redundancy
US5243607A (en) * 1990-06-25 1993-09-07 The Johns Hopkins University Method and apparatus for fault tolerance
US5226152A (en) * 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
GB9205842D0 (en) 1992-03-18 1992-04-29 Marconi Gec Ltd Distributed processor arrangement
US5758058A (en) * 1993-03-31 1998-05-26 Intel Corporation Apparatus and method for initializing a master/checker fault detecting microprocessor
JPH07129426A (ja) 1993-10-29 1995-05-19 Hitachi Ltd 障害処理方式
JPH07160521A (ja) 1993-12-13 1995-06-23 Nec Corp 耐障害機能を有する情報処理装置
JPH07281915A (ja) 1994-04-08 1995-10-27 Mitsubishi Electric Corp 集積回路モジュール同期2重系情報処理装置
DE19529434B4 (de) * 1995-08-10 2009-09-17 Continental Teves Ag & Co. Ohg Microprozessorsystem für sicherheitskritische Regelungen
JP3247043B2 (ja) 1996-01-12 2002-01-15 株式会社日立製作所 内部信号で障害検出を行う情報処理システムおよび論理lsi
GB9705436D0 (en) * 1997-03-15 1997-04-30 Sharp Kk Fault tolerant circuit arrangements
US6247118B1 (en) * 1998-06-05 2001-06-12 Mcdonnell Douglas Corporation Systems and methods for transient error recovery in reduced instruction set computer processors via instruction retry
US7480242B2 (en) * 1998-11-24 2009-01-20 Pluris, Inc. Pass/drop apparatus and method for network switching node
US6601210B1 (en) * 1999-09-08 2003-07-29 Mellanox Technologies, Ltd Data integrity verification in a switching network
US6909923B2 (en) * 1999-12-22 2005-06-21 Rockwell Automation Technologies, Inc. Safety communication on a single backplane
GB0012352D0 (en) * 2000-05-22 2000-07-12 Northern Telecom Ltd Reliable hardware support for the use of formal languages in high assurance systems
US6985975B1 (en) * 2001-06-29 2006-01-10 Sanera Systems, Inc. Packet lockstep system and method
US6898738B2 (en) * 2001-07-17 2005-05-24 Bull Hn Information Systems Inc. High integrity cache directory
GB2390442B (en) * 2002-03-19 2004-08-25 Sun Microsystems Inc Fault tolerant computer system
EP1398700A1 (de) * 2002-09-12 2004-03-17 Siemens Aktiengesellschaft Verfahren und Schaltungsanordnung zur Synchronisation redundanter Verarbeitungseinheiten
EP1398699A1 (de) 2002-09-12 2004-03-17 Siemens Aktiengesellschaft Verfahren zur Ereignissynchronisation, insbesondere für Prozessoren fehlertoleranter Systeme
EP1398701A1 (de) * 2002-09-12 2004-03-17 Siemens Aktiengesellschaft Verfahren zur Ereignissynchronisation, insbesondere für Prozessoren fehlertoleranter Systeme
US7213168B2 (en) * 2003-09-16 2007-05-01 Rockwell Automation Technologies, Inc. Safety controller providing for execution of standard and safety control programs
US7353365B2 (en) * 2004-09-29 2008-04-01 Intel Corporation Implementing check instructions in each thread within a redundant multithreading environments
US7979833B2 (en) * 2004-10-23 2011-07-12 Lsi Corporation Debugging simulation of a circuit core using pattern recorder, player and checker
US7350026B2 (en) * 2004-12-03 2008-03-25 Thales Memory based cross compare for cross checked systems
US7617412B2 (en) * 2006-10-25 2009-11-10 Rockwell Automation Technologies, Inc. Safety timer crosscheck diagnostic in a dual-CPU safety system

Also Published As

Publication number Publication date
WO2007091005A1 (en) 2007-08-16
GB0602641D0 (en) 2006-03-22
AU2006337907A1 (en) 2007-08-16
JP2009526299A (ja) 2009-07-16
NO337469B1 (no) 2016-04-18
CA2641682C (en) 2015-04-21
DK1989624T3 (da) 2010-05-17
AU2006337907B2 (en) 2012-05-31
US8386843B2 (en) 2013-02-26
CA2641682A1 (en) 2007-08-16
ES2340720T3 (es) 2010-06-08
EP1989624B1 (en) 2010-01-20
EP1989624A1 (en) 2008-11-12
US20100318851A1 (en) 2010-12-16
NZ570745A (en) 2011-07-29
NO20083721L (no) 2008-11-05
DE602006011961D1 (de) 2010-03-11
ATE456091T1 (de) 2010-02-15

Similar Documents

Publication Publication Date Title
JP5203223B2 (ja) 高速冗長データ処理システム
US20190260504A1 (en) Systems and methods for maintaining network-on-chip (noc) safety and reliability
US9720766B2 (en) Self-healing, fault-tolerant FPGA computation and architecture
CN111275605B (zh) 缓冲器检查器
CN101551763B (zh) 现场可编程逻辑门阵列中单粒子翻转的修复方法及装置
US9360522B2 (en) Methods and apparatus for automatic fault detection
US9673824B2 (en) Techniques and circuitry for configuring and calibrating an integrated circuit
US8448042B2 (en) Data processing device and a method for error detection and error correction
JP2007248378A (ja) 半導体集積回路
CN101561477A (zh) 现场可编程逻辑门阵列中单粒子翻转的检测方法及装置
WO2022082115A1 (en) Memory appliances for memory intensive operations
JP2009129301A (ja) 自己診断回路及び自己診断方法
US12061233B2 (en) Method and circuit for performing error detection on a clock gated register signal
CN116893927A (zh) 用于对时钟选通寄存器信号执行错误检测的方法和电路
US8881082B2 (en) FEC decoder dynamic power optimization
US20190280957A1 (en) Methods, systems and computer readable media for wide bus pattern matching
Bo et al. A novel BIST architecture for backplane interconnect test
JP2000196466A (ja) 誤り訂正テスト装置
Wolpert et al. Avoiding Temperature-Induced Errors in On-Chip Interconnects
JPS6373435A (ja) エラ−検出回路
JPH11203209A (ja) インターコネクションにおける障害検出システム
TW201327132A (zh) 系統錯誤的輔助分析方法及其裝置
JPH04291459A (ja) 半導体装置の故障シミュレーション方法及び故障シミュレーションにおけるデータ作成装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100827

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120828

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121212

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130213

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

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees