JPH10116258A - フォルトトレラント・コンピュータ・システムにおける障害モジュール位置 - Google Patents

フォルトトレラント・コンピュータ・システムにおける障害モジュール位置

Info

Publication number
JPH10116258A
JPH10116258A JP9211416A JP21141697A JPH10116258A JP H10116258 A JPH10116258 A JP H10116258A JP 9211416 A JP9211416 A JP 9211416A JP 21141697 A JP21141697 A JP 21141697A JP H10116258 A JPH10116258 A JP H10116258A
Authority
JP
Japan
Prior art keywords
signature
subsystem
output
input
module
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.)
Pending
Application number
JP9211416A
Other languages
English (en)
Inventor
Emrys John Williams
エムリス・ジョン・ウイリアムズ
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.)
Sun Microsystems Inc
Original Assignee
Sun Microsystems Inc
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 Sun Microsystems Inc filed Critical Sun Microsystems Inc
Publication of JPH10116258A publication Critical patent/JPH10116258A/ja
Pending legal-status Critical Current

Links

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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/25Testing of logic operation, e.g. by logic analysers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/273Tester hardware, i.e. output processing circuits
    • G06F11/277Tester hardware, i.e. output processing circuits with comparison between actual response and known fault-free response
    • 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/1675Temporal synchronisation or re-synchronisation of redundant processing components
    • G06F11/1679Temporal synchronisation or re-synchronisation of redundant processing components at clock signal level
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/83Indexing scheme relating to error detection, to error correction, and to monitoring the solution involving signatures

Abstract

(57)【要約】 【課題】 フォールト・トレラント・コンピュータ・シ
ステム中で障害のあるモジュールの位置を突き止める機
構を提供する。 【解決手段】 いくつかのロックステップ・サブシステ
ムを含む。これらのサブシステムは個々に、内部モジュ
ールの動作の実際の比較を可能にするためのデータ圧縮
に使用する並列入力シグネチャ生成器と、ロックステッ
プ・サブシステムの内部モジュールの出力を記憶する論
理解析器とを含む。同期はずれ事象が起こった後、論理
解析器のトレースを自動的に探索して、動作中の第1差
分の位置を突き止め、どの内部モジュールが障害のある
出力を与えたかを判別し、続いてそのモジュールを故障
であると標識する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、一般に、同様に動
作する複数のサブシステムを使用する、ロックステップ
・フォールト・トレラント・コンピュータなどのフォー
ルト・トレラント・コンピュータ・システムに関する。
【0002】
【従来の技術】このようなロックステップ・フォールト
・トレラント・コンピュータ・システムでは、コンピュ
ータ内で各サブシステムの出力を比較し、これらの出力
が異なる場合には、何らかの例外的な修理処置を行う。
【0003】添付の図面の図1は、典型的なシステムの
一例を示す概観図であり、3つの同じ処理(CPU)セ
ット10、11、12が、共通のクロック16の下で同
期(sync)して動作する。1つの処理セットは、処
理機関、例えば中央処理装置(CPU)や内部状態記憶
装置を含む1つのサブシステムを表す。
【0004】図1に示すように、3つの処理セット1
0、11、12の出力は、処理セット10、11、12
の動作を監視する、障害検出ユニット(ボータ)17に
供給される。処理セット10、11、12が正常に動作
している場合は、これらは同じ出力を生成し、ボータ1
7に送る。したがって、出力が合致している場合は、ボ
ータ17は、処理セット10、11、12からのコマン
ドを動作のために入出力(I/O)サブシステム18へ
渡す。しかし、各処理セットからの出力が異なる場合
は、何かが不適当であることを示し、ボータは、I/O
動作に影響を与える前に、何らかの補正処置を引き起こ
す。
【0005】通常は、補正処置には、ボータが適当なラ
イン14を介して障害を示す処理セットに信号を供給
し、障害のある処理セットを「自己変更」光(図示せ
ず)で照明させる処置が含まれる。欠陥のある処理セッ
トはスイッチ・オフになり、続いて操作員は、これを正
常に機能するユニットと交換しなければならない。図示
した例では、1つの処理セットが一時的または永続的な
障害をもたない、または発生させる場合には、1対2の
投票結果が現れることになるので、通常は、欠陥のある
処理セットを多数決によって容易に識別することができ
る。
【0006】しかし、本発明はこのようなシステムに限
定されるものではなく、障害のある処理セットを識別す
るために拡張診断動作が必要となるシステムにも適用可
能である。このシステムは、単一のボータを備える必要
がなく、I/Oコマンドのみを投票で決める必要がな
い。本発明は、一般に、ロックステップ方式で動作する
冗長部品を備えた同期システムに適用可能である。
【0007】それぞれの処理セット自体が、独立して交
換可能な複数のユニットからなる場合には、特別な問題
が生じる。障害のある処理セットを識別することは容易
である可能性があるが、その処理セット内で、障害のあ
る特定のモジュールの位置を突き止めることはそれほど
容易ではない可能性がある。コスト面からは、処理セッ
ト全体ではなく、単一のモジュールのみを交換すること
が非常に望ましい。
【0008】図2は、この例ではモジュールM0〜M3
および入出力装置IOMを含む、複数のモジュールから
なる処理セットを示す図である。処理セット11および
12は、処理セット10と同様である。ロックステップ
・システムでは、ロックステップ方式の各モジュール
は、ステップから外れないように、共通のクロックに同
期しなければならない。図2の個々の処理モジュール
は、このクロックと同期して動作し、処理セット11の
処理モジュールM0は、通常は処理セット10の処理モ
ジュールM0と同様に動作する。この同期モジュールの
動作は、常に、そのモジュールに送られる入力、および
そのモジュールの内部記憶状態によって決定される。次
に、記憶状態は、モジュールの開始時から、そのモジュ
ールに送られる全ての入力によって決まる。ロックステ
ップ・システムでは、処理モジュールM0への入力、お
よび処理モジュールM0の内部記憶状態は両方とも、障
害がない場合には、全ての処理セットに関して同じであ
る。
【0009】図3は、処理すなわち計算ユニット22お
よび内部状態記憶装置24を含み、入力26によって内
部記憶状態が決まり出力28を与える、処理モジュール
M0の概略図である。記憶状態は、モジュールM0の設
計によって、また潜在的にはモジュールM0が受信した
全ての入力によって決まる。処理モジュール10、1
1、12は、それぞれ同様である。処理モジュールは全
て、クロック入力30からの処理モジュールへの共通ク
ロック入力に応答してクロックされる。
【0010】処理セット10のモジュールM0〜M3の
うち1つで障害が生じると、処理セット10は全体とし
て放棄される。しかし、実際には、障害のある単一のモ
ジュールを交換すれば、処理セット10を動作に戻すこ
とができるようになる可能性がある。困難なのは、障害
のある処理モジュールを識別することである。
【0011】
【発明が解決しようとする課題】本発明の目的は、フォ
ールト・トレラント・コンピュータ・システム中で障害
のあるモジュールの位置を突き止める機構を提供するこ
とである。
【0012】
【課題を解決するための手段】本発明の最初の態様によ
れば、ロックステップ(lockstep)方式で動作可能な複
数の同じサブシステムを含むフォールト・トレラント・
コンピュータ・システムのためのサブシステムが提供さ
れ、このサブシステムは、入力および出力を備えた少な
くとも1つのモジュールと、並列入力および少なくとも
1つの出力を備え、その入力が個々のモジュールの入力
および/または出力からの信号を受信するように接続さ
れ、その入力で受信した信号の関数である圧縮シグネチ
ャをその出力で生成するシグネチャ生成器と、個々のモ
ジュールの入力および/または出力からの信号を受信お
よび記憶するように接続された論理解析器とを含む。
【0013】本発明のもう1つの態様によれば、ロック
ステップ方式で動作可能な複数の同じサブシステムとシ
グネチャ比較器とを含むフォールト・トレラント・コン
ピュータ・システムが提供される。個々のサブシステム
は、入力および出力を備えた少なくとも1つのモジュー
ルと、並列入力および少なくとも1つの出力を備えるシ
グネチャ生成器と、個々のモジュールの入力および/ま
たは出力からの信号を受信するように接続されるととも
に個々のモジュールの入力および/または出力からの信
号を記憶する論理解析器とを含む。シグネチャ生成器は
その入力が個々のモジュールの入力および/または出力
からの信号を受信するように接続され、その入力で受信
した信号の関数である圧縮シグネチャをその出力で生成
する。また、シグネチャ比較器は、個々のサブシステム
のシグネチャ生成器の出力を受信するように接続され、
個々のサブシステムの論理解析器のトリガ入力に接続さ
れたトリガ出力を備え、各シグネチャ間で誤った比較を
検出すると同時にトリガ信号を生成する。
【0014】本発明の別の態様によれば、フォールト・
トレラント・コンピュータ・システムのサブシステム内
の、障害のあるモジュールを識別する方法が提供され
る。このフォールト・トレラント・コンピュータ・シス
テムは、ロックステップ方式で動作可能な複数の同じサ
ブシステムを含み、個々のサブシステムは、入力および
出力を備えた少なくとも1つのモジュールを含む。この
方法は、(a)個々のモジュールの入力および/または
出力からの信号を受信するように接続された並列入力シ
グネチャ生成器中で、シグネチャ生成器への入力の圧縮
関数であるシグネチャを生成する段階と、(b)個々の
モジュールの入力および/または出力からの信号を受信
するように接続された論理解析器に信号を記憶する段階
を含めた、論理解析器のトレースを生成する段階と、
(c)シグネチャ比較器で、個々のサブシステムのシグ
ネチャ生成器の出力を比較する段階と、(d)シグネチ
ャ間の誤った比較を検出すると同時に、個々のサブシス
テム中の論理解析器をトリガする段階と、(e)個々の
論理解析器に記憶された信号を比較して、記憶された信
号の間の第1差分を、障害のあるモジュールを指示でき
るものとして決定する段階とを含む。
【0015】本発明の実施態様により、並列入力シグネ
チャ生成器と論理解析器とを組み合わせて使用すること
による有意な帯域幅不利なしに、フォールト・トレラン
ト・コンピュータ・システムの処理セット中の全てのモ
ジュールの全ての入力および/または出力を監視するこ
とができる。
【0016】1つのモジュールからの出力が別のモジュ
ールへの入力になる場合は、それらのモジュールからの
出力を監視するだけでよい。
【0017】信号の任意のセットが、任意の特定のクロ
ックに基づきただ1つのモジュールによって駆動される
ワードになる場合は、他の何らかの信号をどのモジュー
ルが駆動したかを判別するためにトレース解析器でこれ
までに使用され、(これはしばしばデータ・バスに適用
されるが)、モジュールへ入力された、および/または
モジュールから出力された完全なワードではなくて圧縮
された、そのセット中の信号を、シグネチャ生成器で使
用すること、および/または論理解析器で記憶すること
はできない。
【0018】論理解析器が、トリガ入力信号を受信する
ためのトリガ入力を含み、このトリガ入力からの入力に
応答して、論理解析器が、記憶した信号を解析用に供給
することが好ましい。
【0019】第1差分を識別するために、論理解析器
は、少なくともシグネチャ生成器へのエラー信号の入力
と、このエラー入力を反射するシグネチャ生成器からの
出力との間の最大遅延に対して十分な記憶容量を有する
ことが好ましい。
【0020】確かなシグネチャにより、入力の差分が出
力シグネチャの差分を与える確率は高くなる。本発明の
好ましい実施態様では、シグネチャ生成器は、それへの
全ての現在入力およびそれへの全ての過去入力によって
決まる確かなシグネチャを生成する。
【0021】シグネチャ生成器の望ましい実施態様は、
並列入力リニア・フィードバック・シフト・レジスタで
ある。シグネチャ生成器が、互いに並列に配列された複
数の並列入力リニア・フィードバック・シフト・レジス
タを含み、複数の並列シフト・レジスタのそれぞれが直
列出力を有し、別の並列入力リニア・フィードバック・
シフト・レジスタの並列入力のそれぞれが、複数の並列
シフト・レジスタのそれぞれの直列出力に接続されてい
ることがさらに好ましい。並列出力は、各段階の後続の
並列シフト・レジスタから取り出すことができる、また
は直列出力は、後続の並列シフト・レジスタの直列出力
から取り出すことができる。
【0022】ハードウェアまたはソフトウェアで実施さ
れるトレース解析器を、個々の論理解析器に記憶された
信号を受信するために設けることができ、このトレース
解析器は、論理解析器に記憶された信号を探索して動作
中の第1差分の位置を突き止め、どの内部モジュールが
障害のある出力を与えたように見えるかを判別し、その
モジュールに障害があるとの標識を付けるように配置さ
れる。
【0023】本発明は、前述のシステムまたはサブシス
テムを含む集積回路も提供する。
【0024】
【発明の実施の形態】本発明の実施形態について、同様
の参照符号が同様の特徴に関係する添付の図面に関連し
て、以下に述べる。
【0025】論理解析器は電子設計上は従来の計器であ
る。論理解析器は、間断なく更新されるメモリに、トリ
ガされるまでクロックごとにその入力値を記憶する。ト
リガされた後、この解析器はしばらくの間は記憶を継続
し、その後記憶した入力のトレースを検査することがで
きるように動作を停止する。生じたトレースが、トリガ
発生の前後どちらの入力に関する情報も含むようにする
ことができる。
【0026】図4は、本発明の実施形態の一部であるエ
レメントを示す図である。この実施形態では、論理解析
器LAは、個々の処理セットに組み込まれる。図4に示
すように、論理解析器LAは、その処理セット内の個々
の処理モジュールの全ての入力および出力を観測するこ
とができるように、個々の処理モジュールM0〜M3に
接続される。もちろん、いくつかの処理モジュールの出
力はまた、別の処理モジュールへの入力でもあり、論理
解析器の接続はただ1セットであるが、それでこの両方
に十分である。制限内で、全ての処理モジュールは、単
一の内部バスIBに沿って、それら同士およびI/Oモ
ジュールIOMとの間でデータを交換することができ
る。これは、様々なモジュールが、バックプレーンと接
続するプラグイン・カードであるコンピュータでは、一
般的な配列である。この場合は、論理解析器は、クロッ
クごとに全てのバス信号を観測し、あらゆるモジュール
の全ての入力信号および出力信号を記録するだけでよ
い。
【0027】全ての処理セット10、11、12内の論
理解析器LAは、処理セットが異なる動作を開始すると
トリガされる。続いて、(例えば多数決または別の方法
によって)ソフトウェアまたはハードウェアが障害のあ
る処理セットを識別した後、トレース解析器ソフトウェ
アが、障害のある処理セットおよび正常な処理セットの
両方から論理解析器LAの内容を引き出して検査するこ
とができる。このソフトウェアは、記憶された論理解析
器の内容を解釈し、処理セット間の論理解析器のトレー
スの第1差分を見いだすようにセットアップされる。こ
れらのトレースを使用すれば、処理セット10、11、
12のどのモジュールM0〜M3およびIOMが、その
クロックに基づくその信号を駆動したかを知ることがで
きる。続いて、その処理モジュールM0〜M3およびI
OMが障害のあるモジュールであることが分かる。この
実施形態では、トレース解析器は、ボータ17上でソフ
トウェアとして実施される。
【0028】処理セット10、11、12の動作中の任
意時間における任意の差分は、直ちに可視になる場合で
もそうでない場合でも、いくらか時間が経過した後で、
明白になる異常をもたらす可能性がある。論理解析器L
Aには不可視の、処理モジュールM0〜M3、IOMの
内部への任意の信号のエラーは、そのモジュールM0〜
M3、IOMの内部記憶状態を変化させる可能性があ
る。かなり時間が経過した後で、内部状態が変化したた
めに、モジュールM0〜M3、IOMが、その出力で可
視差分を生成する可能性がある。しかし、障害が起こっ
たのが最近であってもかなり以前であっても、障害がモ
ジュールM0〜M3、IOMの出力信号で起こってもそ
の内部深くで起こっても、この障害が、その他のモジュ
ールではなく、そのモジュールM0〜M3、IOMに特
定のものであることに変わりはない。出力で障害が可視
になると、直ちに障害のあるモジュールM0〜M3、I
OMを識別することができる。
【0029】処理モジュールの出力で第1異常動作が起
こったときは、論理解析器LAをトリガすることが不可
欠である。しかし、処理モジュールM0〜M3、IOM
は、それらの間で通信しており、あらゆる出力をI/O
モジュールを介してボータ17に送信しているわけでは
ない。任意の差分が気付かれない可能性がある場合は、
完全に機能しうる処理モジュールの内部記憶状態に何ら
かの混乱を引き起こす可能性がある。いくらか時間が経
過した後で、この変化した状態が、解析器LAをトリガ
することになる異常出力を生成することもあり、間違っ
た処理モジュールM0〜M3、IOMが障害があるもの
と診断される可能性がある。あらゆるクロックに基づく
あらゆるモジュールのあらゆる出力と、他の処理セット
中のそれと対になるものとを比較することは、帯域幅要
件が莫大になるので、通常は実用的ではない。
【0030】本発明の一実施形態は、第1差分が起こっ
たときに、比較のために広い帯域幅を使用することな
く、論理解析器LAをトリガすることが可能になる。
【0031】本発明の一実施形態では、処理セット中の
論理解析器LAは、全ての処理モジュールM0〜M3、
IOMの出力を観測することができる。本発明の一実施
形態によって、1つの解析器への入力が別の解析器への
入力と異なるときに、全ての信号の直接比較を使用する
ことなく、論理解析器をトリガすることが可能になる。
これを達成するために、本発明の一実施形態では、解析
器への入力をシグネチャに変形し、その後各シグネチャ
を比較する。
【0032】このシグネチャは、このシグネチャへの入
力に複雑に依存するデジタル変数を提供する。適度に様
式が異なる任意の入力は、異なるシグネチャを生成する
確率が高い。このことは、シグネチャを比較する際に異
常動作を見落とさないために必要である。論理解析器へ
の全ての過去入力および現在入力によって決まるシグネ
チャを生成するシグネチャ生成器を与えることによっ
て、クロックあたり1つのシグネチャに満たない割合で
シグネチャを比較することが可能になる。1ビット異常
でも、処理セット間のシグネチャを次に比較するまで持
続する、シグネチャの内部記憶状態の混乱を引き起こす
ことになる。以下では、高確率の差分を与える特性を有
するシグネチャを「確かな」シグネチャと呼ぶ。
【0033】確かなシグネチャは、様々な方法で生成す
ることができる。本発明の好ましい実施形態では、シグ
ネチャ生成器の基礎として、リニア・フィードバック・
シフト・レジスタを使用する。McCluskey、E
dward J、Prentice−Hallらによ
る、1986年(ISBN 0−13−539768−
5)の、「Logic Design Princip
les: with emphasis on tes
table semicustom circuit
s」には、クロックあたり1つの入力ワードを受容する
ことができる、並列入力シグネチャ生成器(PISG)
が記載されている。
【0034】図5は、リニア・フィードバック・シフト
・レジスタ40を使用する、並列入力シグネチャ生成器
(PISG)の一例を示す図である。図5に示すリニア
・フィードバック・シフト・レジスタ40は、個々にラ
ッチ44および排他的論理和ゲート46を含む複数のバ
ッファ段階42を含む。個々の排他的論理和ゲート46
の入力の1つは、対応するラッチ44の出力に接続さ
れ、もう1つの入力は処理セット10、11、または1
2のモジュールM0〜M3の1つからの出力のそれぞれ
のビットに接続される。したがって、並列ワードは、ク
ロックごとに並列入力リニア・フィードバック・シフト
・レジスタ40に入り、個々のクロックにともなってシ
フトされる。出力シグネチャは、後続の排他的論理和ゲ
ート48の出力から供給される。出力シグネチャが、複
雑な方法で現在入力および全ての過去入力によって決ま
るように、排他的論理和ゲート48は選択したDタイプ
のラッチ出力からタップを受信する。この接続は図5に
は示していない。図5の回路では、シグネチャ生成器が
Nビットの入力ワード用に設計されている場合は、入力
の変化が出力のビット・ストリームに影響を与えるまで
に、Nクロックまでの遅延がある。この遅延を最小限に
することは有利である。これは、2次元型の並列入力シ
グネチャ生成器回路を使用すれば可能である。図6は、
1024ビットの入力ワードに対して64クロックの入
力から出力への最大遅延を有する、PISG回路50を
示す図である。さらに多くの次元を回路内で使用して、
さらに遅延を小さくすることができる。PISG50
は、複数(例えば32)の並列入力シグネチャ生成器5
2(例えば図5のように、個々に32ビットのリニア・
フィードバック・シフト・レジスタ40で形成される)
を含み、その出力は、後続の並列入力シグネチャ生成器
54(例えば、同様に図5のように、個々に32ビット
のリニア・フィードバック・シフト・レジスタ40で形
成される)のそれぞれの入力に供給される。
【0035】シグネチャは、ビット・ストリーム56に
よって、図6の回路の出力で形成することができる。別
法として、並列に取り出される最後の32ビットPIS
G54の内容を利用して、シグネチャを形成することが
できる。これら2つの代替の方法は、同じ情報内容を有
するので有効である。この回路を使用して2つのロック
ステップ方式の処理システムの動作を比較するために、
シグネチャ生成器の並列入力は、比較する全ての信号に
配線される。回路の個々のクロックで、入力の精密な挙
動によって決まるシグネチャが、PISG50で確立さ
れる。入力値と生成されたシグネチャとの精密な関係は
複雑であるが、確かな生成器の場合は、入力の差が、異
なるシグネチャをもたらす確率は非常に高い。ロックス
テップ・システムの個々の構成部品の動作についての情
報が圧縮されるので、比較に必要とされる帯域幅は大幅
に減少する。処理セットのシグネチャを比較することが
できる。シグネチャが異なる場合は、処理セットが明確
にロックステップ方式で動作していないと結論すること
ができる。
【0036】図7は、ボータ17中のシグネチャ比較回
路62が、ロックステップ・サブシステム(処理セッ
ト)のそれぞれのシグネチャ生成器74からの出力を受
信する本発明の一例を示す図である。シグネチャ比較回
路62の出力は、処理セット10、11、12のそれぞ
れの論理解析器76をトリガするように接続される。シ
グネチャ生成器は、既知のクロック数の範囲内で、入力
の差分をシグネチャの出力に伝送する。したがって、ト
リガが起こる前に、少なくともこのクロック数分のメモ
リ記憶装置を論理解析器76に与えることによって、個
々の論理解析器に対する解析器のトレースが、ロックス
テップ・各サブシステム間の動作中の第1差分を含むこ
とを保証することができる。これによって、ソフトウェ
アまたはハードウェアが第1差分を探索し、第1エラー
・データを送信する処理モジュールの位置を、高い確信
を持って突き止めることが可能になる。
【0037】シグネチャ値の比較は、通常のコンピュー
タのI/Oで使用されるものと同じデータ・パスを使用
して行うことができる。32ビット・シグネチャは、こ
のパスを介して、個々のロックステップ・サブシステム
からボータ17に送信することができる。ボータ17
は、複数の並列データ値を同等に比較する論理を有す
る。この同じ論理を使用して、シグネチャを比較するこ
とができる。シグネチャ・ワードは、それらがシグネチ
ャであり通常のI/Oではないことを示す特別なコード
で標識される。したがって、ボータ17の論理は、各値
を単に比較するだけであり、シグネチャをI/Oコマン
ドとして伝送しない。本発明の好ましい実施形態では、
これはクロックごとに、または32クロックごとに起こ
る必要はない。シグネチャ値はPISG50への入力の
全履歴によって決まる。比較の間にいくらかの時間が経
過することがあり、この期間の真中に2つのPISG5
0への入力に差がある。この期間の最後にシグネチャを
比較したときに、これらは依然として、過去に生成され
た信号によって決まる差分を示すことになる。この特性
を利用して、比較に必要とされる帯域幅をさらに減少さ
せることができる。
【0038】個々のロックステップ・サブシステム中の
論理解析器/PISG回路に接続された1024個の入
力を備え、その入力が個々に100MHzのクロック・
エッジごとに規定されるフォールト・トレラント・コン
ピュータのロックステップサブシステムについて考慮さ
れたい。これは、毎秒100Gビットの原帯域幅を表
す。PISGは1024個の入力信号を圧縮して32ビ
ット・シグネチャにし、これもまたクロックごとに変化
する。これをクロックごとに比較すれば、毎秒3.2G
ビットが必要となる。しかし、1000クロック(10
マイクロ秒)ごとにこのシグネチャを比較する場合は、
帯域幅はちょうど、毎秒3.2Mビットに減少する。こ
れは現在のコンピュータI/Oの帯域幅と比べて、あり
ふれた割合である。シグネチャを比較する際のこの遅延
によって、回路の論理解析器セクションで必要とされる
記憶が増加する。PISGがその入力を最悪の64ビッ
トで出力に転送し、比較の際に1000クロックまでの
付加的な遅延がある場合、論理解析器は、トリガが起こ
る前に少なくとも1064の入力データ・ワードを記憶
する必要がある。これは、論理解析器回路では異常な記
憶深さではない。したがって、シグネチャ比較および論
理解析器のトリガ過程は、利用可能な全I/O帯域幅を
それほど使用することなく、標準的なボータへのI/O
接続を使用することができる。
【0039】また、シグネチャ比較および論理解析器の
トリガ信号のために、完全に独立したパスを使用するこ
ともできる。これは、ロックステップ・サブシステムが
単一のバックプレーンにプラグ接続されるために、付加
的な相互接続の余分なコストが小さい実施形態に適して
いる可能性がある。この場合は、余分なハードウェアが
ほとんどなく、遅延が少なく、必要な論理解析器の深さ
を短くしながら、クロックあたり1ビットの割合でビッ
トに関してシグネチャを比較することができる。
【0040】図2に示す複数の決定性モジュールへのロ
ックステップ・サブシステムの分解は、さらに微細なも
のにまで拡張することができる。図2に示すように、保
守のために、交換可能なモジュールは便利な解析のユニ
ットである。異なって動作したモジュールを識別し、保
守技術者がこれを作動するモジュールと交換することが
できるようにするためには、これら全てが必要となる。
システム開発と、チップ・レベルおよびそれ以上のフィ
ールド故障の詳細な解析のために、論理解析器/PIS
G方式を、個々のプラグ接続可能なモジュール内に適用
することができる。実際に、チップ自体がチップの機能
不全に関する診断情報を提供することができるように、
論理解析器およびシグネチャ生成器を個々のチップに統
合することは、完全に実用的である。
【0041】図8は、不利をそれほど大きくすることな
く、付加的な論理を従来のチップ80に組み込むことが
できる方法を示す図である。単一の新しいピン81を、
単一のチップのシグネチャ出力用に付加する。シグネチ
ャを直列に伝送し、比較器回路に直接送信することがで
きる、または別のPISG回路の入力として使用して比
較器の帯域幅を減少させることもできる。主チップ回路
87は、チップ入力88および出力89を備える。シグ
ネチャ生成器86は、主チップ回路87からの出力89
を受信するように接続される。シグネチャは、シグネチ
ャ・リセット・ピン82によって、所定値にリセットさ
れる。これにより、様々なロックステップ・モジュール
に対するシグネチャが同期して開始することができる。
シグネチャ・リセット・ピン82は、チップ80への従
来のリセット入力と共有可能である。論理解析器83
は、チップのJTAG試験ポート84によって制御され
る。現在では多くのチップは、回路内のピンの機能およ
び接続を検査するためにJTAG試験ポートを備え、論
理解析器83の制御およびそこからの読出しを行う能力
を付加する場合にも、新しいピンは必要ない。論理解析
器83のトリガ入力85は、比較論理から来て、シグネ
チャのずれが生じたときにアサートされる。
【0042】図8の回路は、チップの出力89のみに接
続された論理解析器/PISG(LA/PISG)回路
を示す図である。これは、システム中の全てのチップが
この設計を加えられ、1つのチップの出力が正確に伝送
されて別のチップの入力になると推定するに十分にあ
る。チップの全ての同期I/Oピン88および89をL
A/PISG入力に検知させることによって、より完全
な適用範囲が得られる。これによって、このチップに、
LA/PISG回路を備えない基板上のその他のチップ
に関する情報を提供させることが可能になる。ある設計
のほとんどの非常に良好な適用範囲は、半分のチップし
かLA/PISG回路を含まないときに得ることができ
る。
【0043】処理モジュール内でLA/PISG回路を
使用することは、低率のチップ障害を診断する優れた方
法を提供する。商業的に最も有害なコンピュータ障害の
いくつかは、ノイズ感度や温度の影響などのために、時
折個々のチップに影響を及ぼす障害である。このような
障害の故障率は、数ヶ月に1度程度に低くすることがで
きるが、これらの障害は、収益性に重大な影響を与える
可能性がある。非常にまれであるので、これらの障害の
位置を突き止め、皆無にすることは非常に困難である。
これはロックステップ方式のフォールト・トレラント・
システムに適用されるが、それは最大限の信頼性および
診断性が必要な所である。
【0044】LA/PISG回路は、少ないピン数およ
び帯域幅要件のために、チップ内部の個々のゲート・レ
ベルまで、正確に障害の位置を示すために使用すること
ができる。論理解析器およびシグネチャ生成器回路は、
論理設計の隠れた障害またはノイズ免疫の位置を突き止
めるための、I/Oピンで利用不可能なチップ内部のキ
ー信号を検知することができる。いくつかの余分のI/
Oピンを備えるだけで、数百または数千の信号を2つの
ロックステップ方式のチップの間で比較し、それらに対
する論理解析器をトリガすることができる。
【0045】比較する全てのシグネチャ生成器は、同じ
クロック・エッジに基づいて決められた状態で開始しな
ければならない(これらは同期されなければならな
い)。これは、ロックステップ方式のフォールト・トレ
ラント設計ではよく理解された問題である。ロックステ
ップ・サブシステム全体は、それらが同期して動作する
ように、無矛盾状態にリセットされなければならない。
これを起こす多数の方法がある。完全に実際的な方法
は、状態情報を含むリセット入力を個々のチップにアサ
ートすることである。同じクロック・エッジで同期して
動作する全てのサブシステム上のクロックと同期してリ
セットがアサートされ否定された場合、至る所で各サブ
システムは同じ状態で開始する。全く同じことがLA/
PISG回路についても言え、これは通常のロックステ
ップ・モジュールの拡張と考えることができる。
【0046】非決定性信号についても考慮する必要があ
る。コンピュータ・システム中のいくつかの信号が未確
定のまま残るようにすることが好都合であることが、し
ばしばある。よくある例としては、データ・バスの未使
用部分を部分書込みに使用することがある。書込みされ
ているデータのビットに対応するデータ・バスのピンの
みが確定され、その他のピンは未決定データを有するこ
とになり、2つのロックステップ方式のサブシステム上
で異なる可能性がある。
【0047】ここで当該のコンピュータは、ロックステ
ップ方式のフォールト・トレラント・コンピュータであ
り、これらは未決定信号をほとんどもたない傾向があ
る。存在するいかなる未決定信号も、ボータ回路で無視
されなければならない。例えば、これは、バスの書込み
動作のバイト・ストローブを検査して、どのデータ・バ
スのビットが妥当であり、どのビットを放棄すべきかを
見いだすことによって行うことができる。
【0048】論理解析器のトレース中の非決定性信号
は、第1差分の探索では、放棄されなければならない。
これは、トリガが起こった後にトレースを解釈するソフ
トウェアか、または記憶された入力の値をそれが集めら
れたままで固定するハードウェア、どちらによっても行
うことができる。しかし、シグネチャの生成に関して
は、この選択を行うことはできない。シグネチャ生成器
への任意の未決定データ入力は、非常に短時間でシグネ
チャ比較エラーになることになる。ソフトウェアでは、
これを回復することができない。したがって、シグネチ
ャ生成器には、入力が起こる際にこれを検査し解釈する
論理によって、任意の未決定値をマスクして、クリーン
・データを送らなければならない。
【0049】組込み論理解析器は、その他の目的に使用
することができる。このことは、論理解析器が非常に高
価な部品であるので有利である。コンピュータ設計にお
ける論理解析器の便利な使用法は、開発中にソフトウェ
アをデバッグすることである。組込み論理解析器は、そ
れが余分のトリガ性能を備えている限り、この目的のた
めに使用することができる。ソフトウェアの制御下でト
リガすることは、ほとんどのデバッギングに適してい
る。
【0050】LA/PISG手法を使用して実行時にモ
ジュール障害の位置を突き止めるとき、論理解析器は、
常に顧客のサイトで動作している。したがって、これら
はソフトウェア障害のトレースを捕捉するために有効で
ある。ソフトウェアは、そのソフトウェアが何らかの問
題を検出したときに、自動的に解析器をトリガするよう
にプログラムすることができる。もちろん、このような
問題が複数のロックステップ・サブシステム上で同時に
同期して起こり、その結果ソフトウェアの介入がなけれ
ば解析器をトリガしないことになることは全く可能であ
る。
【0051】ソフトウェア診断の目的は、論理解析器で
捕捉するサイクルを減らし、その捕捉期間を、解析器の
メモリ深さが同じでさらに長い期間に拡張するのが、好
都合である。入力ラインが活動状態にあるとき、おそら
くはバス・サイクルが進行中であるときだけ、入力デー
タをとらえ、入力が使用されていないときに入力ライン
を無視することによってこれを行うことができる。同じ
データが、ロックステップ・サブシステム中で同じクロ
ック・エッジに基づいて移動することを保証するため
に、論理解析器およびシグネチャ生成器の両方の入力に
タイムスタンプを付加する必要がある。このタイムスタ
ンプは、クロックごとに1ずつ増加するカウンタと同程
度に単純でよい。ロックステップ・サブシステムが、何
らかの誤動作のために異なるクロックで同じデータを捕
捉する場合は、異なるタイムスタンプが直ちにこのエラ
ーを検出する。
【0052】誤診の可能性を低下させるための措置を講
じることができる。この自動診断は様々な方法で誤る可
能性がある。そのいくつかは、ソフトウェアに複数の機
能を追加することによって回避することができる。
【0053】適当な任意の技術(例えば多数決)を利用
して、障害のある処理セットを選択することができる。
障害のあるモジュールを含む処理セットの選択は、本発
明の主題をなすものではなく、本発明はむしろ、障害の
ある処理セットを決定した後に、その障害のある処理セ
ット内部の処理モジュールを選択することに関する。障
害のある処理セットを選ぶ方法が誤っていて、間違った
処理セットが選ばれる可能性がある。LA/PISG手
法は、動作中の差分を見いだし、処理モジュールを障害
があるものとして識別することになる。それは正常なモ
ジュールであるが、間違った処理セット中にある可能性
がある。このエラーは、間違った処理セットが残存する
ように選ばれる可能性がある二重モジュラ冗長(DM
R)システムで、起こる可能性が高い。
【0054】この問題に対処するために、診断ソフトウ
ェアを、間違った処理セットが選ばれて続行されている
可能性を判断するように配列することができる。これ
は、統計的な基礎に基づいて報告するように配列するこ
とができる。例えば、これは最初に、「処理セット10
のモジュール2が故障していると思われるが、それが処
理セット11のモジュール2である可能性もある」と報
告することがある。その解析の履歴を保存することによ
って、処理セット11のモジュール2が、変更したにも
かかわらず繰り返し誤っていると現れる場合には、この
問題が実際には処理セット10のモジュール2の問題で
あり、ソフトウェアはそのことを試してみるべきである
と結論することができる。
【0055】LA/PISG手法は、エラー・データを
伝送しているモジュールを識別するためのものである。
モジュールの出力が従来の2状態信号である場合、信号
が誤っているときには、ソフトウェアは常に、このモジ
ュールを障害があるものとして標識する。しかし、これ
はその他の何らかのモジュールが過電流を出力ラインに
押しやる可能性を考慮していない。これは、その相互接
続を単純に機械的にショートさせること、または別のモ
ジュールがその入力ラインに障害のある受信機を備えて
いることによって起こる可能性がある。
【0056】単一ワード中に複数のエラーを探すことに
よって、診断能力を向上させることができる。複数のエ
ラーは、相互接続中の単一の障害によって引き起こされ
る可能性は低く、モジュール内部の単一の障害によって
引き起こされる可能性が高い。モジュールの出力が3状
態またはオープン・コレクタ・バスである場合は、1つ
のイベントで複数の破壊が起こる可能性が高くなる。こ
こでのもう1つの検査は、伝送されたデータとともに、
モジュール内でエラー検出コードを生成することであ
る。このコードが正しく出力が間違っている場合は、識
別したモジュール内にではなく、別のモジュールとの相
互接続に問題がある可能性が少なくともいくらかはあ
る。コード、出力がともに間違っているが、コードが出
力に合致している場合は、障害が識別したモジュール内
部にあることはかなり確実である。妥当な適用範囲で
は、パリティではいずれにしても正しい可能性は50%
であるので、単なるデータ・ワードのパリティ以上のも
のがここでは必要とされる。あらゆる信号ラインをそれ
自体の自己検査コードにすることは、優れた方法であ
る。信号が配線またはECL差分対として伝送される場
合、任意のショートした、または間違ったドライバは、
間違ったデータの伝送だけでなく、直ちに識別可能な相
互接続の問題をもたらす。データ・ラインは、通常の対
の値(0,1)または(1,0)としては伝送されない
ことになる。このような方式では、論理解析器およびシ
グネチャ生成器のサイズ倍増は必要ない。エラー検出回
路を設けて出力信号を観測することができ、これらのエ
ラー検出回路の出力は、LA/PISG回路の入力に送
ることができる。わずかに信号を増やすだけで、観測し
た全ての信号に対して障害の適用範囲が与えられる。
【0057】交換可能なモジュール内部にエラー検出コ
ードを有することは、重要なことではないことに留意さ
れたい。ただ有効なのは、エラー検出コードがモジュー
ル間の相互接続中を次々と回されることである。これ
は、問題がモジュールではなく相互接続にあるために、
不適当なモジュールが障害があるものと診断されたとき
を決定する際に役に立つ。
【0058】もう1つの障害隔離機構では、モジュール
の出力で検査回路を使用する。個々のモジュールは、観
測によって、その出力信号が実際に所期の電圧であるこ
とを検査することができる。エラーを検出すると、モジ
ュールは、「モジュールの問題ではなく、相互接続の問
題がある可能性がある」という意味の単一の共有ライン
をアサートすることができる。
【0059】複数のロックステップ・サブシステムを含
む、フォールト・トレラント・コンピュータ・システム
について記載したが、これらのサブシステムは個々に、
ロックステップ・サブシステムの内部モジュールの動作
の実際の比較を可能にするためのデータ圧縮に使用する
並列入力シグネチャ生成器と、ロックステップ・サブシ
ステムの内部モジュールの出力を記憶し、シグネチャの
誤った比較によってトリガされ、第1差分を含むために
十分な状態を記憶する論理解析器と、個々のロックステ
ップ・サブシステムのシグネチャ生成器からのシグネチ
ャを受信するように接続されたシグネチャ比較器とを含
み、この固定された生成プログラムは、シグネチャの差
分を検出すると同時に論理解析器をトリガするトリガ信
号を生成する。ソフトウェアは、同期はずれ事象が起こ
った後、自動的に論理解析器のトレースを探索して、動
作中の第1差分の位置を突き止める。このソフトウェア
は、どの内部モジュールが障害のある出力を与えたかを
判別し、そのモジュールを故障であるとして標識する。
ソフトウェア設計およびハードウェア設計を選択して、
モジュールではなく相互接続の障害によって引き起こさ
れる混乱を減少させる、または除去することができる。
【0060】このシステムは、保守のための助けとし
て、ロックステップ・コンピュータの交換可能な内部モ
ジュールに適用可能である。これはまた、さらに小型の
ユニットに繰り返し適用し、故障のあるチップ、または
チップ内の故障のあるゲートまで識別することもでき
る。
【0061】LA/PISG手法によって、非常に高い
成功確率で、単一の故障イベントから、故障したモジュ
ールの自動診断が可能になる。
【0062】本発明の実施形態は、集積回路内での統合
によって実施することができるが、これは、この集積回
路ではチップ上でほとんどピンを使用していないためで
ある。このことにより、他の任意の方法では不可能なこ
とがある、ゲート・レベルでの内部チップ障害の自動診
断が可能になった。
【0063】前述の実施形態では、処理セットのシグネ
チャ生成器および論理解析器は、その処理セットのモジ
ュールから出力されるワードの全てのビットを受信す
る。ただし、1セットの信号が1つのワードを、(a)
そのセット中の全ての信号が特定の任意クロックに基づ
いて同じモジュールで駆動され、(b)それらの信号
が、その他の何らかの信号を駆動したモジュールを判別
するためにトレース解析器で使用されないように形成す
る場合には、特殊な場合が適用される。これは、しばし
ばデータ・バスに適用される。この場合は、ワード中の
あらゆる信号を、シグネチャ生成器が使用する必要も、
論理解析器が記憶する必要もない。例えば、64ビット
のワードは、8ビットの値に圧縮されても、依然として
入力ワード中のエラーの検出可能な確率は255/25
6である。両方の条件が適用される場合は、これは回路
の複雑さを有効に低減させる。
【0064】バスから取り出されるワードに対して、圧
縮論理を与えることができる。圧縮ワードは、シグネチ
ャ生成器または論理解析器、あるいはその両方への入力
として使用することができる。別法として、圧縮論理
を、論理解析器または圧縮論理、あるいはその両方に組
み込むことができる。直接信号および圧縮ワードは、ど
の信号が観測されているかに応じて、同一のシステムで
使用することができる。ワード圧縮機能を使用して、シ
グネチャ生成器または論理解析器のどちらかに対する入
力ワードのサイズを減少させる場合は、そのワードが圧
縮論理に送られる前に、ワード中の未決定ビットのマス
キングが起こらなければならない。入力圧縮を使用した
場合は、論理解析器のデバッギングへの潜在的な有用性
が低下することがあることに留意されたい。
【0065】本発明の特定の実施形態について説明した
が、本発明はこれらに限定されるものではなく、添付の
特許請求の範囲で定義する本発明の精神および範囲内
で、多くの修正および/または追加を行うことができる
ことを理解されたい。例えば、従属請求項の特徴の様々
な組合せを、独立請求項の特徴と組み合わせることがで
きる。
【図面の簡単な説明】
【図1】3倍モジュラ冗長フォールト・トレラント・コ
ンピュータ・システムを示す概観図である。
【図2】図1のシステムの処理セットのエレメントを示
す概略図である。
【図3】処理モジュールの機能エレメントを示す、概略
的なブロック・ダイアグラムである。
【図4】本発明の一実施形態の処理セットを示す概略図
である。
【図5】並列入力リニア・フィードバック・シフト・レ
ジスタを示す概略図である。
【図6】大容量の並列入力シグネチャ生成器の一例を示
す概略図である。
【図7】本発明によるシステムの一例の動作を示す、概
略的なブロック・ダイアグラムである。
【図8】本発明を集積回路に適用した一例を示す、概略
的なブロック・ダイアグラムである。
【符号の説明】
80 従来のチップ 81 ピン 82 シグネチャ・リセット・ピン 83 論理解析器 84 JTAG試験ポート 85 論理解析器のトリガ入力 86 シグネチャ生成器 87 主チップ回路 88 チップ入力 89 チップ出力
───────────────────────────────────────────────────── フロントページの続き (71)出願人 591064003 901 SAN ANTONIO ROAD PALO ALTO,CA 94303,U. S.A. (72)発明者 エムリス・ジョン・ウイリアムズ イギリス国・エムケイ17 9ディエス・ミ ルトン キーンズ・エヴァーショルト・テ ィレルズ エンド・ヘルフォード ハウス (番地なし)

Claims (38)

    【特許請求の範囲】
  1. 【請求項1】 入力および出力を備えた少なくとも1つ
    のモジュールと、並列入力および少なくとも1つの出力
    を備えるシグネチャ生成器であって、個々のモジュール
    の前記入力および/または出力からの信号を受信するよ
    うにその入力が接続され、その入力が受信した信号の関
    数である圧縮シグネチャをその出力で生成するシグネチ
    ャ生成器と、個々のモジュールの前記入力および/また
    は出力からの信号を受信し、記憶するように接続された
    論理解析器とを含む、ロックステップ方式で動作可能な
    複数の同じサブシステムを含むフォールト・トレラント
    ・コンピュータ・システム用のサブシステム。
  2. 【請求項2】 前記並列入力シグネチャ生成器または前
    記シグネチャ生成器のどちらか、あるいはその両方が、
    個々のモジュールから出力された全てのワードを受信す
    るように接続されることを特徴とする、請求項1に記載
    のサブシステム。
  3. 【請求項3】 個々のモジュールから出力されたワード
    から得られた圧縮ワードに基づいて、前記シグネチャ生
    成器が前記シグネチャを生成することを特徴とする、請
    求項1に記載のサブシステム。
  4. 【請求項4】 前記論理解析器が、個々のモジュールか
    ら出力されたワードから得られた圧縮ワードを記憶する
    ことを特徴とする、請求項1に記載のサブシステム。
  5. 【請求項5】 前記論理解析器がトリガ入力を受信する
    ためのトリガ入力を含み、前記トリガ入力での入力に応
    答して前記の記憶した信号を解析用に供給することを特
    徴とする、請求項1に記載のサブシステム。
  6. 【請求項6】 前記論理解析器が、前記シグネチャ生成
    器へのエラー信号の入力と、前記エラー信号を反射する
    前記シグネチャ生成器からの出力との間の最大遅延中に
    受信された全ての信号を記憶するのに少なくとも十分な
    記憶容量を有し、それにより、前記論理解析器をトリガ
    すると同時に、前記エラー信号が依然として前記論理解
    析器に記憶されることになることを特徴とする、請求項
    5に記載のサブシステム。
  7. 【請求項7】 前記シグネチャ生成器が、確かなシグネ
    チャを生成することを特徴とする、請求項1に記載のサ
    ブシステム。
  8. 【請求項8】 前記シグネチャ生成器が、それへの全て
    の現在の入力およびそれへの全ての過去の入力によって
    決まる、確かなシグネチャを生成することを特徴とす
    る、請求項1に記載のサブシステム。
  9. 【請求項9】 前記シグネチャ生成器が、並列入力リニ
    ア・フィードバック・シフト・レジスタを含むことを特
    徴とする、請求項1に記載のサブシステム。
  10. 【請求項10】 前記シグネチャ生成器が、互いに並列
    に配列された複数の並列入力リニア・フィードバック・
    シフト・レジスタを含み、前記複数の並列シフト・レジ
    スタがそれぞれ直列出力を有し、後続の並列入力リニア
    ・フィードバック・シフト・レジスタの並列入力がそれ
    ぞれ、前記複数の並列シフト・レジスタの個々の1つの
    前記直列出力に接続されていることを特徴とする、請求
    項1に記載のサブシステム。
  11. 【請求項11】 前記シグネチャ生成器が、前記後続の
    並列シフト・レジスタの個々の段階から取り出された並
    列出力を有することを特徴とする、請求項10に記載の
    サブシステム。
  12. 【請求項12】 前記シグネチャ生成器が、前記後続の
    並列シフト・レジスタの直列出力から取り出された直列
    出力を有することを特徴とする、請求項10に記載のサ
    ブシステム。
  13. 【請求項13】 請求項1に記載のサブシステムを含む
    集積回路。
  14. 【請求項14】 シグネチャ出力ピンを含む、請求項1
    3に記載の集積回路。
  15. 【請求項15】 リセット・ピンを含み、前記生成プロ
    グラムを所定入力にリセットするために前記シグネチャ
    生成器に接続された、請求項13に記載の集積回路。
  16. 【請求項16】 ロックステップ方式で動作可能な複数
    の同じサブシステムであって、個々に、入力および出力
    を備えた少なくとも1つのモジュールと、並列入力およ
    び少なくとも1つの出力を備えたシグネチャ生成器であ
    って、個々のモジュールの前記入力および/または出力
    からの信号を受信するようにその入力が接続され、その
    入力が受信した信号の関数である圧縮シグネチャをその
    出力で生成するシグネチャ生成器と、個々のモジュール
    の前記入力および/または出力からの信号を受信し、個
    々のモジュールの前記入力および/または出力からの信
    号を記憶するように接続された論理解析器とを含む前記
    サブシステム、ならびに前記サブシステムのそれぞれの
    シグネチャ生成器の出力を受信するように接続されたシ
    グネチャ比較器であって、個々のサブシステムの前記論
    理解析器のトリガ入力に接続されたトリガ出力を有し、
    前記シグネチャ間で誤った比較を検出すると同時にトリ
    ガ信号を生成するシグネチャ比較器を含む、フォールト
    ・トレラント・コンピュータ・システム。
  17. 【請求項17】 前記サブシステム中で、前記並列入力
    シグネチャ生成器または前記シグネチャ生成器、あるい
    はその両方が、前記サブシステムの個々のモジュールか
    ら出力されたワード全体を受信するように接続されるこ
    とを特徴とする、請求項16に記載のサブシステム。
  18. 【請求項18】 前記サブシステム中で、前記シグネチ
    ャ生成器が、前記サブシステムの個々のモジュールから
    出力されたワードから得られた圧縮ワードに基づいて、
    前記シグネチャを生成することを特徴とする、請求項1
    6に記載のサブシステム。
  19. 【請求項19】 前記サブシステム中で、前記論理解析
    器が、前記サブシステムの個々のモジュールから出力さ
    れたワードから得られた圧縮ワードを記憶することを特
    徴とする、請求項16に記載のサブシステム。
  20. 【請求項20】 前記サブシステム中の前記論理解析器
    が、前記トリガ入力での入力に応答して、前記の記憶し
    た信号を解析のために供給することを特徴とする、請求
    項16に記載のシステム。
  21. 【請求項21】 個々のサブシステムの前記論理解析器
    が、前記シグネチャ生成器へのエラー信号の入力と、前
    記エラー信号を反射する前記シグネチャ生成器からの出
    力との間の最大遅延中に受信された全ての信号を記憶す
    るのに少なくとも十分な記憶容量を有し、それにより、
    前記論理解析器をトリガすると同時に、前記エラー信号
    が依然として前記論理解析器に記憶されることになるこ
    とを特徴とする、請求項16に記載のシステム。
  22. 【請求項22】 前記シグネチャ生成器が、確かなシグ
    ネチャを生成することを特徴とする、請求項16に記載
    のシステム。
  23. 【請求項23】 個々の前記シグネチャ生成器が、それ
    への全ての現在の入力およびそれへの全ての過去の入力
    によって決まる、確かなシグネチャを生成することを特
    徴とする、請求項16に記載のシステム。
  24. 【請求項24】 前記シグネチャ生成器が、並列入力リ
    ニア・フィードバック・シフト・レジスタを含むことを
    特徴とする、請求項16に記載のシステム。
  25. 【請求項25】 個々の前記シグネチャ生成器が、互い
    に並列に配列された複数の並列入力リニア・フィードバ
    ック・シフト・レジスタを含み、前記複数の並列シフト
    ・レジスタがそれぞれ直列出力を有し、後続の並列入力
    リニア・フィードバック・シフト・レジスタの並列入力
    がそれぞれ、前記複数の並列シフト・レジスタの個々の
    1つの前記直列出力に接続されていることを特徴とす
    る、請求項16に記載のシステム。
  26. 【請求項26】 前記シグネチャ生成器が、前記後続の
    並列シフト・レジスタの個々の段階から取り出された並
    列出力を有することを特徴とする、請求項25に記載の
    システム。
  27. 【請求項27】 前記シグネチャ生成器が、前記後続の
    並列シフト・レジスタの直列出力から取り出された直列
    出力を有することを特徴とする、請求項25に記載のシ
    ステム。
  28. 【請求項28】 個々の論理解析器に記憶された前記信
    号を受信するためのトレース解析器を含み、前記トレー
    ス解析器が、前記論理解析器に記憶された前記信号を探
    索して動作中の第1差分の位置を突き止め、どの内部モ
    ジュールが障害のある出力を与えたように見えるかを判
    別し、前記モジュールを障害があるとして標識するよう
    に配列される、請求項16に記載のシステム。
  29. 【請求項29】 請求項16に記載のシステムを含む集
    積回路。
  30. 【請求項30】 ロックステップ方式で動作可能な複数
    の同じサブシステムを含むフォールト・トレラント・コ
    ンピュータ・システムの、入力および出力を備えた少な
    くとも1つのモジュールを個々に含むサブシステム中
    で、障害のあるモジュールを識別する方法であって、 a)個々のモジュールの前記入力および/または出力か
    らの信号を受信するように接続された並列入力シグネチ
    ャ生成器中で、前記シグネチャ生成器への入力の圧縮関
    数であるシグネチャを生成する段階と、 b)個々のモジュールの前記入力および/または出力か
    らの信号を受信するように接続された論理解析器に信号
    を記憶する段階を含めた、論理解析器のトレースを生成
    する段階と、 c)シグネチャ比較器で、個々のサブシステムの前記シ
    グネチャ生成器の出力を比較する段階と、 d)前記シグネチャ間の誤った比較を検出すると同時
    に、個々のサブシステム中の前記論理解析器をトリガす
    る段階と、 e)個々の論理解析器に記憶された前記信号を比較し
    て、前記の記憶された信号の間の第1差分を、障害のあ
    るモジュールを示すものとして決定する段階とを含む方
    法。
  31. 【請求項31】 前記サブシステム中で、前記並列入力
    シグネチャ生成器または前記シグネチャ生成器、あるい
    はその両方が、前記サブシステムの個々のモジュールか
    ら出力されたワード全体を受信するように接続されるこ
    とを特徴とする、請求項30に記載の方法。
  32. 【請求項32】 段階(a)で、前記シグネチャが、前
    記サブシステムの個々のモジュールから出力されたワー
    ドから得られた圧縮ワードに基づいて生成されることを
    特徴とする、請求項31に記載の方法。
  33. 【請求項33】 段階(b)で、前記論理解析器が、前
    記サブシステムの個々のモジュールから出力されたワー
    ドから得られた圧縮ワードを記憶することを特徴とす
    る、請求項30に記載の方法。
  34. 【請求項34】 段階(a)が、確かなシグネチャを生
    成する段階を含むことを特徴とする、請求項30に記載
    の方法。
  35. 【請求項35】 段階(a)が、それへの全ての現在の
    入力およびそれへの全ての過去の入力によって決まる、
    確かなシグネチャを生成する段階を含むことを特徴とす
    る、請求項30に記載の方法。
  36. 【請求項36】 段階(a)が、並列入力リニア・フィ
    ードバック・シフト・レジスタの個々の段階から取り出
    されたワードを含む並列シグネチャを与える段階を含む
    ことを特徴とする、請求項30に記載の方法。
  37. 【請求項37】 段階(a)が、並列入力リニア・フィ
    ードバック・シフト・レジスタの直列出力から取り出さ
    れた一連のビットを含む直列シグネチャを与える段階を
    含むことを特徴とする、請求項30に記載の方法。
  38. 【請求項38】 段階(c)が、個々の論理解析器に記
    憶された前記信号を解析して、動作中の第1差分の位置
    を突き止める段階と、どの内部モジュールが、障害のあ
    る出力を与えたように見えるかを判別する段階と、前記
    モジュールを、障害があるとして標識する段階とを含む
    ことを特徴とする、請求項30に記載の方法。
JP9211416A 1996-07-01 1997-06-30 フォルトトレラント・コンピュータ・システムにおける障害モジュール位置 Pending JPH10116258A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/675,264 US5799022A (en) 1996-07-01 1996-07-01 Faulty module location in a fault tolerant computer system
US08/675264 1996-07-01

Publications (1)

Publication Number Publication Date
JPH10116258A true JPH10116258A (ja) 1998-05-06

Family

ID=24709725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9211416A Pending JPH10116258A (ja) 1996-07-01 1997-06-30 フォルトトレラント・コンピュータ・システムにおける障害モジュール位置

Country Status (4)

Country Link
US (2) US5799022A (ja)
EP (1) EP0817052B1 (ja)
JP (1) JPH10116258A (ja)
DE (1) DE69706245T2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7500139B2 (en) 2004-12-21 2009-03-03 Nec Corporation Securing time for identifying cause of asynchronism in fault-tolerant computer
JP2012079208A (ja) * 2010-10-05 2012-04-19 Hitachi Ltd 入力バイパス型のフェイルセーフ装置及びフェイルセーフ用プログラム
EP2722760A1 (en) 2012-10-18 2014-04-23 Renesas Electronics Corporation Semiconductor device

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2268817B (en) * 1992-07-17 1996-05-01 Integrated Micro Products Ltd A fault-tolerant computer system
US6141769A (en) 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
US6137796A (en) * 1996-06-28 2000-10-24 Motorola, Inc. Packet non-replicating comparator device for digital simulcast packet distribution
US5923830A (en) * 1997-05-07 1999-07-13 General Dynamics Information Systems, Inc. Non-interrupting power control for fault tolerant computer systems
US5953352A (en) 1997-06-23 1999-09-14 Micron Electronics, Inc. Method of checking data integrity for a raid 1 system
DE19832060C2 (de) * 1998-07-16 2000-07-06 Siemens Ag Doppelbare Prozessoreinrichtung
US6357024B1 (en) * 1998-08-12 2002-03-12 Advanced Micro Devices, Inc. Electronic system and method for implementing functional redundancy checking by comparing signatures having relatively small numbers of signals
US6810037B1 (en) * 1999-03-17 2004-10-26 Broadcom Corporation Apparatus and method for sorted table binary search acceleration
US6282596B1 (en) 1999-03-25 2001-08-28 International Business Machines Corporation Method and system for hot-plugging a processor into a data processing system
US6278302B1 (en) * 1999-06-03 2001-08-21 Agere Systems Guardian Corp. Digital power-up reset circuit
SE516542C2 (sv) * 1999-07-01 2002-01-29 Ericsson Telefon Ab L M Metod och anordning för övervakning av parallella processer
US6564347B1 (en) * 1999-07-29 2003-05-13 Intel Corporation Method and apparatus for testing an integrated circuit using an on-chip logic analyzer unit
SE523412C2 (sv) * 2000-03-20 2004-04-20 Jokab Safety Ab Programmerbart säkerhetssystem
CN1099638C (zh) * 2000-06-07 2003-01-22 北京和利时系统工程股份有限公司 一种实现计算机系统容错的方法
TW542969B (en) * 2001-04-06 2003-07-21 Penbex Data Systems Inc Software diagnostic system and method
EP1425666A2 (de) * 2001-08-28 2004-06-09 Siemens Aktiengesellschaft Baugruppe, fehlertolerantes system sowie diagnoseverfahren
US7107515B2 (en) * 2001-09-14 2006-09-12 The Boeing Company Radiation hard divider via single bit correction
DE10146695B4 (de) * 2001-09-21 2015-11-05 Bayerische Motoren Werke Aktiengesellschaft Verfahren zur Übertragung von Nachrichten zwischen Busteilnehmern
US20030079165A1 (en) * 2001-10-23 2003-04-24 Niall Ffrench Effective use of parallel scan for identically instantiated sequential blocks
GB2383437B (en) * 2001-12-20 2004-02-04 Sun Microsystems Inc System trace unit
JP2003316599A (ja) * 2002-02-22 2003-11-07 Seiko Epson Corp 集積回路
US7089473B2 (en) * 2002-03-29 2006-08-08 Intel Corporation Method and apparatus for testing a circuit using a die frame logic analyzer
JP2004046455A (ja) * 2002-07-10 2004-02-12 Nec Corp 情報処理装置
US20040073858A1 (en) * 2002-10-09 2004-04-15 Cheung Tyvis C. Method and apparatus for isolating faulty semiconductor devices in a graphics system
US6667520B1 (en) * 2002-11-21 2003-12-23 Honeywell International Inc. SEU hard majority voter for triple redundancy
US7181650B2 (en) * 2003-06-02 2007-02-20 Atmel Corporation Fault tolerant data storage circuit
DE10328059A1 (de) * 2003-06-23 2005-01-13 Robert Bosch Gmbh Verfahren und Vorrichtung zur Überwachung eines verteilten Systems
ATE377766T1 (de) * 2003-09-01 2007-11-15 Nxp Bv Integrierte schaltung mit signaturberechnung
US7584386B2 (en) * 2004-04-21 2009-09-01 Stmicroelectronics Sa Microprocessor comprising error detection means protected against an attack by error injection
US7210111B1 (en) * 2004-05-04 2007-04-24 Hewlett-Packard Development Company, L.P. Systems and methods for conducting future signal checks
US7203879B2 (en) * 2004-06-22 2007-04-10 Northrop Grumman Corporation Built-in-test diagnostic and maintenance support system and process
US7328371B1 (en) 2004-10-15 2008-02-05 Advanced Micro Devices, Inc. Core redundancy in a chip multiprocessor for highly reliable systems
JP3897046B2 (ja) * 2005-01-28 2007-03-22 横河電機株式会社 情報処理装置および情報処理方法
US7516246B2 (en) * 2005-10-27 2009-04-07 International Business Machines Corporation Communications channel method for verifying integrity of untrusted subsystem responses to a request
WO2007109322A2 (en) * 2006-03-20 2007-09-27 Mentor Graphics Corporation Speeding up defect diagnosis techniques
US8615695B2 (en) 2007-04-04 2013-12-24 Mentor Graphics Corporation Fault dictionary-based scan chain failure diagnosis
US7996737B2 (en) * 2007-09-11 2011-08-09 California Institute Of Technology Fingerprinted circuits and methods of making and identifying the same
US8948960B2 (en) * 2007-11-30 2015-02-03 Honeywell International Inc. Systems and methods for arbitrating sensor and actuator signals in a multi-channel control system
US20090287438A1 (en) * 2007-12-14 2009-11-19 Wu-Tung Cheng Increased Fault Diagnosis Throughput Using Dictionaries For Hyperactive Faults
US8373435B2 (en) * 2008-09-30 2013-02-12 Freescale Semiconductor, Inc. Method and apparatus for handling an output mismatch
US8082425B2 (en) * 2009-04-29 2011-12-20 Advanced Micro Devices, Inc. Reliable execution using compare and transfer instruction on an SMT machine
RU2577465C2 (ru) * 2010-10-28 2016-03-20 Мэксвел Текнолоджиз, Инк. Система, способ и устройство для коррекции ошибки в мультипроцессорных системах
TWI557746B (zh) * 2011-05-10 2016-11-11 電子戰協會公司 實施微電腦為基的電路之內容驗證的系統及方法
US8880961B2 (en) * 2012-01-31 2014-11-04 Infineon Technologies Ag System and method of computation by signature analysis
US20130325405A1 (en) * 2012-05-30 2013-12-05 Service Solutions U.S. Llc Modular Alternator and Starter Tester with a Four Link Hood Hinge
JP5772911B2 (ja) * 2013-09-27 2015-09-02 日本電気株式会社 フォールトトレラントシステム
US9484919B1 (en) * 2014-04-30 2016-11-01 Xilinx, Inc. Selection of logic paths for redundancy
JP6554048B2 (ja) * 2016-02-29 2019-07-31 株式会社日立製作所 表示装置
US10148367B1 (en) * 2017-12-22 2018-12-04 Raytheon Company Built-in-test (BIT) for assignment-based AESA systems
US10425172B2 (en) 2017-12-22 2019-09-24 Raytheon Company Clutter rejecting built in test for assignment-based AESA systems
JP7077644B2 (ja) 2018-02-09 2022-05-31 横河電機株式会社 制御システム、診断装置、診断方法、および診断プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60221839A (ja) * 1984-04-18 1985-11-06 Mitsubishi Electric Corp デジタル制御装置
US4807228A (en) * 1987-03-18 1989-02-21 American Telephone And Telegraph Company, At&T Bell Laboratories Method of spare capacity use for fault detection in a multiprocessor system
DD275545A1 (de) * 1988-09-16 1990-01-24 Adw Ddr Kybernetik Inf Verfahren und anordnung eines fehlertoleranten mehrrechnersystems
US5065312A (en) * 1989-08-01 1991-11-12 Digital Equipment Corporation Method of converting unique data to system data
DE59102665D1 (de) * 1990-08-14 1994-09-29 Siemens Ag Einrichtung zur interruptverteilung in einem mehrrechnersystem.
US5271023A (en) * 1991-06-03 1993-12-14 Motorola, Inc. Uninterruptable fault tolerant data processor
US5630048A (en) * 1994-05-19 1997-05-13 La Joie; Leslie T. Diagnostic system for run-time monitoring of computer operations

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7500139B2 (en) 2004-12-21 2009-03-03 Nec Corporation Securing time for identifying cause of asynchronism in fault-tolerant computer
JP2012079208A (ja) * 2010-10-05 2012-04-19 Hitachi Ltd 入力バイパス型のフェイルセーフ装置及びフェイルセーフ用プログラム
EP2722760A1 (en) 2012-10-18 2014-04-23 Renesas Electronics Corporation Semiconductor device

Also Published As

Publication number Publication date
DE69706245D1 (de) 2001-09-27
US5799022A (en) 1998-08-25
EP0817052B1 (en) 2001-08-22
EP0817052A1 (en) 1998-01-07
US5993055A (en) 1999-11-30
DE69706245T2 (de) 2002-05-08

Similar Documents

Publication Publication Date Title
JPH10116258A (ja) フォルトトレラント・コンピュータ・システムにおける障害モジュール位置
US6012148A (en) Programmable error detect/mask utilizing bus history stack
KR950005527B1 (ko) 다중 여분식 고장 검출 시스템 및 그 사용 방법
US4233682A (en) Fault detection and isolation system
JP3005250B2 (ja) バスモニター集積回路
US4932028A (en) Error log system for self-testing in very large scale integrated circuit (VLSI) units
JP3002201B2 (ja) クロス接続形検査回路及びそのための集積回路
US4620302A (en) Programmable digital signal testing system
JPH02110388A (ja) 集積回路モジュール
CN111078492A (zh) 一种SoC内部总线的状态监控系统及方法
US6009028A (en) Failure self-diagnosis device for semiconductor memory
JPS63317787A (ja) デイジタル回路の検査装置
KR20030020951A (ko) 디지털 시스템 및 그것의 에러 탐지를 위한 방법
JP3986898B2 (ja) メモリ擬似故障注入装置
US4943969A (en) Isolation for failures of input signals supplied to dual modules which are checked by comparison
CN110907857B (zh) 一种基于fpga的连接器自动检测方法
EP1291662B1 (en) Debugging system for semiconductor integrated circuit
IES980293A2 (en) An electronic test system for microprocessor based boards
EP0393173B1 (en) Data bus enable verification logic
SU970283A1 (ru) Устройство дл поиска неисправностей в логических узлах
US6282676B1 (en) Method and apparatus for testing and debugging integrated circuit devices
JP2857479B2 (ja) バス・インターフェース検査を行う電子機器
SU209048A1 (ja)
US7079983B2 (en) Method, apparatus and computer program product for implementing physical interconnect fault source identification
US20020183953A1 (en) Method of fault isolation of a digital electronic device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070306

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070731