JP3445270B2 - 多重障害時動作可能なフォールトトレラント・クロック - Google Patents

多重障害時動作可能なフォールトトレラント・クロック

Info

Publication number
JP3445270B2
JP3445270B2 JP51034993A JP51034993A JP3445270B2 JP 3445270 B2 JP3445270 B2 JP 3445270B2 JP 51034993 A JP51034993 A JP 51034993A JP 51034993 A JP51034993 A JP 51034993A JP 3445270 B2 JP3445270 B2 JP 3445270B2
Authority
JP
Japan
Prior art keywords
clock
fault
signal
modules
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.)
Expired - Fee Related
Application number
JP51034993A
Other languages
English (en)
Other versions
JPH07501642A (ja
Inventor
クローズ,ジェイムズ・マイケル
イングルハート,マシュー・ジョン
Original Assignee
ハネウェル・インコーポレーテッド
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 ハネウェル・インコーポレーテッド filed Critical ハネウェル・インコーポレーテッド
Publication of JPH07501642A publication Critical patent/JPH07501642A/ja
Application granted granted Critical
Publication of JP3445270B2 publication Critical patent/JP3445270B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/1604Error detection or correction of the data by redundancy in hardware where the fault affects the clock signals of a processing unit and the redundancy is at or within the level of clock signal generation hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • 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/187Voting techniques
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Hardware Redundancy (AREA)

Description

【発明の詳細な説明】 発明の分野 本発明は、ディジタル回路用のクロックに関するもの
である。より詳しくは、本発明は、フォールトトレラン
トを有するクロックに関する。
発明の背景 システムにディジタル・フォールトトレラントを与え
ることは、システム障害が重大な結果を招くことを考え
れば不可欠である。このようなフォールトトレラントを
達成する一般的な方法は、タイムベース(時間基準)を
同期させなければならないコンピュータのようなシステ
ムまたはサブシステムやセンサに冗長性を持たせること
である。しかしながら、その場合、タイムベースの同期
化がフォールトトレラントであることが必須である。ま
た、実際にフォールトトレラント同期化を行う方法また
は装置は、保守やトラブルシューティングによってシス
テム障害予防を促進することができるように、潜在的障
害検出機能及びリポーティング機能が組み込まれるべき
である。
並列に接続されたコンピュータ等からなる冗長サブシ
ステムの集合の場合は、どのサブシステムもタスク処理
動作が他のサブシステムより進み過ぎたり、遅れ過ぎた
りしないことが重要である。システム間には同期化が必
要であるが、そのような同期化は、フォールトトレラン
トでなければならず、かつ潜在的障害検出機能及びリポ
ーティング機能がなければならない。さらに、冗長構成
要素の直列接続(例えば冗長プロセッサと直列に接続さ
れた冗長センサ)は、情報を伝達するために同期化を必
要とする。
フォールトトレラント同期化には様々な方式がある。
一部の低周波クロックを同期させるのに適した方式で
は、同期化機構自体における変動によって生じるスキュ
ーを許容可能な程度とするような計算を行うようになっ
ている。この場合、クロック周期は計算に必要な時間に
比して非常に長い。このような方式は、ソフトウェアで
実行することができる。しかしながら、このようなソフ
トウェアによるやり方は、何台かのコンピュータがあっ
て、それらが様々なタスクに専用に割り当てられる一部
のディジタルシステムのアーキテクチャについては不適
合である。このような状況において、同期化タスクを行
わせるために、汎用コンピュータを少なくとも1台まる
まる増設することは、専用のクロック回路を用いるのに
比べて非常に非効率的となる場合がある。
最小の専用クロック回路を設けることによりフォール
トトレラント・クロックを達成しようとする技法もあ
る。このような技法のほとんどは、(3N+1)個のクロ
ックモジュールによりN重障害時動作可能性が達成され
るアルゴリズム(回路ではない)を使用する1つを除い
て、単一障害時動作可能性しか得られない。
これまで、潜在的障害検出機能を具備したフォールト
トレラント・クロックの技術は知られていない。潜在的
障害検出機能がない場合、フォールトトレラント・クロ
ックは、1つまたは2つ以上の潜在的障害が存在する状
態で動作し続けるが、ついにはさらに1つ障害が起こっ
ただけで、大きく障害に影響される状態となる。すなわ
ち、クロックは、最終的にはもはやフォールトトレラン
トではなくなり、しかもそのような状況は検出されな
い。これは、フォールトトレラント・クロックとしては
許容されるものではない。
発明の概要 本発明は、相互接続された4つの同じクロックモジュ
ールを有するフォールトトレラント・クロックにある。
このいわゆるカッドクロック(四重クロック)によれ
ば、単一障害時動作可能性が100%達成され、また二重
障害時動作可能性がほぼ100%が達成される。二重障害
時に100%のフォールトトレラント性が確保されないの
は、同時に起こる、それも2つの別個のクロックモジュ
ールで同時に起こる二重障害で、無障害のモジュールが
障害として認職することができ、しかも悪質な障害、す
なわちそれら2つの有障害モジュールが無障害のモジュ
ールを「騙す」ように作用する障害の場合である。動作
停止につながるのはこのような二重障害である。
また、本発明のフォールトトレラント・クロックにお
いては、3つ、4つまたはそれ以上の障害、すなわちモ
ジュール間の多数の通信回線が故障するような場合に
も、ある程度フォールトトレンランス性が確保される。
本発明によれば、フォールトトレラントな同時始動が
行われる。パワーオン後、カッドクロックは、外部、す
なわちこのクロックによりサポートされるエレクトロニ
クス系統の残りの部分には、同時にスタートするように
見える。これは、モジュール間における(レディ)フラ
グの受渡し及び投票によって達成される。別個のモジュ
ールから外部へ送られる最初のクロックエッジは同時に
起こる。この同時始動はフォールトトレラントである。
レディ(使用可能)回線上の障害はマスクされ、最も可
能性がある障害(例えば適切な時間内にレディ状態を示
す信号を出すことができない故障)が検出され、リポー
トされる。最悪の場合、始動回路に多重障害があると、
クロックが始動しないことがある。
本発明においては、フォールトトレラント動作診断装
置が組み込まれる。この診断装置は潜在的障害検出機能
を有する。本願において「潜在的」障害とは、外部から
見る限りにおいて、クロックの適切な挙動に影響を及ぼ
すことがない障害をいう。潜在的障害検出は、4つの全
てのクロックモジュールで独立して行われる。所与のモ
ジュールが、他のモジュールからの信号が誤っていると
認識すると、フォールトフラグがセットされる。クロッ
クの動作状態はフォールトフラグによって決まる。重要
な動作状態の種類には、「障害なし」、「二重障害時動
作可能」、「単一障害時動作可能」、「動作可能」及び
「動作不能」などの状態がある。このような動作状態の
種類に関する情報は、保守スケジュール作成のために必
要である。また、これらの動作状態を評価することがで
きるようモジュール間においてもフォールトフラグの交
換が行われる。このような情報の交換自体もフォールト
トレラントである。
4つの各モジュールは、12のポイントツーポイント回
線接続によって各々のクロック信号を他の各モジュール
へ送信する。フォールトトレラントな同時始動を行うた
めにはさらに12のポイントツーポイント回線接続が必要
である。フォールトフラグ情報を伝達するにはさらに12
のポイントツーポイント回線接続が必要である。また、
各モジュールが相互接続を介して各々のフラグを自己宛
に送る場合は、フラグ通信用に全部で16の相互接続回線
またはポイントツーポイント回線接続が必要である。こ
れらの接続態様によれば、モジュールを相互に全く同じ
関係とすることができる。
これらのモジュールは、受信した信号及び投票された
クロック出力の短時間のヒストリを記憶するために使用
されるシフトレジスタが組み込まれ、これにより最小限
の組合せ論理を付加するだけであらゆる形の障害を検出
することが可能である。不安定性の解消は、シフトレジ
スタの第1段によって自動的に行われる。標準的なロー
ドダブルカウンタ(loadable counter)が、デューテ
ィサイクルを容易に選択することが可能なクロック信号
を発生させる。クロックモジュール回路全体は、小さな
集積回路または最新の技術によるプログラマブル回路に
容易に作り込むことができる。
一般に、本発明のクロックは、フォールトトレラント
同時始動が可能な二重障害時動作可能性/フェールセー
フ動作及び二重障害時動作状態報告という条件を満足す
るような設計が最も効率的な設計となる。また、本発明
は、2つの周波数オプション、すなわちを1つの周波数
とその倍数の周波数を出力することができ、これらの周
波数における同期ループ及び障害検出ループが設けられ
る。その低い方の周波数の信号及び高い方の周波数の信
号共フォールトトレラントである。
図面の簡単な説明 各々、図1a及び1bは、それぞれ本発明の4つのクロッ
クモジュール間の相互接続及びそれらの各クロックモジ
ュールのブロック図を示す。
図2は、クロックモジュールの要部の詳細なブロック
図である。
図3は、4つのクロックモジュール及び、これらのモ
ジュールと別途に任意に設けることができる障害捕捉部
(fault containment region)クロック受信器との接
続関係を示すブロック図である。
図4は、クロックモジュール、マイクロプロセッサ及
び不揮発性メモリを組み込んだシステムのブロック図で
ある。
図5は、クロックモジュールのクロックイネーブル回
路の回路図である。
図6は、パワーオン時の初期タイミングシーケンス図
である。
図7は、クロックモジュールのクロック発生器回路の
回路図である。
図8は、クロックモジュールのクロック受信器回路の
回路図である。
図9は、クロック受信器回路の入力クロックマネージ
ャ回路の回路図である。
図10は、クロック受信器回路のデータコレクタ回路の
回路図である。
図11は、クロック受信器回路の基準クロックマネージ
ャ回路の回路図である。
図12は、クロックシステムの二重故障時動作可能構成
におけるフォールトトレラント・リセット相互接続トポ
ロジの説明図である。
図13は、単一故障時動作可能構成のトポロジの説明図
である。
図14は、動作可能構成のトポロジの説明図である。
図15は、投票クロック信号の合成のタイミング図を示
す。
図16aは、過渡時構成のトポロジの説明図である。
図16bは、安定状態の構成のトポロジの説明図であ
る。
図17a及至17cは、それぞれ単方向リンクを有するトポ
ロジの説明図である。
図18aも単方向リンクを有するトポロジの説明図であ
る。
図18bは、単方向リンクを有しないトポロジの説明図
である。
図19a及至19cは、互いに等価な3つのネットワークト
ポロジの1つをそれぞれ示す説明図である。
図20a及至20jは、10の双方向クロック構成のトポロジ
の中の1つ及びその安定性をそれぞれ示す説明図である 図21は、ブロークンペア構成のトポロジの説明図であ
る。
図22は、フォールトフラグ通信システムの機能ブロッ
ク図である。
図23は、フォールトフラグ通信のタイミング図であ
る。
図24a及び24bは、フォールトフラグ通信クロックのブ
ロック図及びそのクロック位相のタイミング図である。
図25は、フォールトフラグ送信器の回路図である。
図26aは、一組のフォールトフラグ受信器を示す回路
図である。
図26bは、フォールトフラグ受信器詳細図である。
図27は、フォールトフラグ通信回線故障探知システム
の回路図である。
図28a及び28bは、それぞれフォールトフラグ・パーマ
ネントラッチ回路及びその1ビット分のラッチ回路の詳
細を示す回路図である。
図29は、カード及びカードの絶対番号と相対番号との
対応関係をまとめた表である。
図30は、全てのクロックに共通のフォールトフラグ順
序付け表である。
図31a及至31fは、それぞれクロック及びリセットシス
テムの動作判断のための組合せ論理回路の構成を示す回
路図である。
実施例の説明 本発明は、あらゆる非同時性二重障害に対してフォー
ルトトレンス性を持たせることを目的として構成された
ディジタルクロック回路にある。この回路は、最大周波
数誤差が100万分の140で、相互に200ナノ秒以内に同期
したフォールトトレラントな4つの100ヘルツクロッ
ク、最大周波数誤差が100万分の140で、相互に1200ナノ
秒以内に同期したフォールトトレラントな4つの1600ヘ
ルツクロック、及び回路の状態を監視し、保守診断を行
い易くするために使用される32のフォールトフラグ信号
を供給する。
図1aには、4つのモジュール11、12、13及び14及びこ
れらのモジュール間の相互接続回線を有するクロック10
が示されている。図1bは、モジュール11、12、13または
14のブロック図である。これらの各モジュールは、リセ
ット手段16、クロック受信器(クロック受信器回路)20
及びクロック発生器(クロック発生器回路)18を有する
クロック装置115、及び動作診断回路(動作診断手段、
フォールトフラグ通信回路)17を有する。図2は、上記
各モジュール11、12、13または14の部分モジュール15を
示す。また、これらの各モジュールは、図22に示すよう
なフォールトフラグ通信回路17を有する。上記各モジュ
ールの4つの主要構成要素のうち、リセット手段または
フォールトトレラント・リセット回路またはクロックイ
ネーブル回路16は、他の全てのクロックモジュールへ同
期した初期イネーブル信号を供給し、クロック発生器回
路18は、100ヘルツ及び1600ヘルツのクロック信号を出
力し、クロック受信器回路20は、他の3つのクロックモ
ジュールからの入力クロックによってこれら他のモジュ
ールを監視し、クロック発生器回路18に同期化コマンド
を供給し、動作診断手段17は、他のモジュールの動作を
診断する。また、クロック受信器20は、フォールトトレ
ラント・クロック及び保守フラグFI、FJ、FK、FLを出力
する。図3は、4つのフォールトトレラント・クロック
をクロック受信器回路22へ出力するクロックモジュール
11、12、13及び14を有する本発明の一実施例の構成140
を示す。クロック受信器22は、クロックモジュールのク
ロック受信器20とほぼ同じであるが、クロック受信器22
では、組合せ論理装置64においてゲート138を省いた点
が若干異なっている(図10)。図3の構成140におい
て、クロック受信器22は1つの外部フォールトトレラン
ト・クロック信号を出力する。
図4は、図1の詳細図で、4つのクロックモジュール
の相互接続関係及び外部接続関係が詳細に示されてお
り、またこれらのクロック信号を用いる外部システムへ
の適用を図るためのメモリ120及びプロセッサ24との相
互接続関係が示されている。これら4つの同じモジュー
ル間には、12ポイントツーポイント・ワイヤテトラヘド
ロン(wire tetrahedron)型クロック相互接続アーキ
テクチャ、12ポイントツーポイント・ワイヤテトラヘド
ロン型フォールトトレラント・リセット相互接続アーキ
テクチャ及び12ポイントツーポイント・ワイヤ式動作状
態相互接続アーキテクチャまたは16ポイントツーポイン
ト・ワイヤ式動作状態相互接続アーキテクチャが講じら
れている。このフォールトトレラント・クロック回路
は、不安定状態に起因する全ての潜在的障害を排除する
よう構成されている。回路内の様々なディジタル構成要
素に関しては、セットアップ時間及びホールド時間の条
件は満たされている。シフトレジスタを用いてクロック
の新しいヒストリが記録され、これによって障害検出及
び信号同期化を行うことが可能となる。
同期に要求される条件は、全ての対のクロックモジュ
ールの100ヘルツ信号間でスキューエラーが1000ナノ秒
以下、全ての対のクロックモジュールの1600ヘルツ信号
間では「厳密な同期」が必要であり、ある特別のアプリ
ケーション、すなわち飛行データ慣性基準装置(Air D
ata Inertial Reference Unit(ADIRU))用の場合
は、周波数誤差が100万分の200以下でなければならな
い。
各クロック発生器回路18は、各モジュールの100ヘル
ツ及び1600ヘルツの同期したクロック信号を出力する。
100ヘルツクロック信号は、フォールトトレラント・ク
ロック回路内だけで使用される。1600ヘルツクロック信
号は、HEXAD装置に供給される。また、各クロック受信
器回路20は、各モジュールの100ヘルツ基準クロック信
号を出力する。基準クロック信号は、マイクロプロセッ
サ24に供給される。HEXAD装置は、ジャイロスコープ及
び/または加速度計よりなる6つのセンサで構成され、
6つのセンサの中の2つが故障しても十分機能すること
ができるようになっている6センサ装置である。
クロック発生器18は、ロード値が周波数及びデューテ
ィサイクルを制御するように選択されるローダブルカウ
ンタ56を有する。ローダブルカウンタ56及びカウンタ58
からなる2段カウンタは、1600Hzと100Hzの同期したク
ロック信号を供給する。本発明の新規な特徴の一つは、
100Hzクロックの立ち上がりエッジ及び立ち下がりエッ
ジでの同期化と、1600Hz及び100Hzクロック出力のデュ
ーティサイクルを50パーセントにしたことである。ま
た、クロック発生器18にスロー障害検出組合せ論理装置
116を設けたことも新規な特徴である。最大許容スキュ
ー及び最大許容周波数誤差を計算するには、次の式が使
用される。
スキュー(クロック発生器出力)max=2ATS+2THFCLK スキュー(クロック受信器出力)max=2THFCLK V(freq)max=A+2(THFCLK/TS ここで、A=高周波水晶発振器の精度 TS=同期周期(同期後のエッジ間の公称経過時間) THFCLK=高周波水晶発振器の出力信号の周期 これらの式は、クロック受信器20の出力間のスキュー
がクロック発生器18の出力間のスキューより小さいこと
を示している。クロック受信器20はマイクロプロセッサ
24を駆動するので、クロック性能を判断するためにはク
ロック受信器の100ヘルツ信号間のスキューを用いるべ
きである。しかしながら、クロック発生器の1600ヘルツ
出力間のスキュー値は、回路障害の試験を行うために用
いられるので、非常に重要である。若干修正したクロッ
ク受信器回路22を各HEXADに付加することによって、HEX
ADに供給される1600ヘルツ信号間のスキューを上式1の
スキューから上式2のレベルまで低減することも可能で
ある。クロック発生器回路18には、100万分の100の精度
の発振器が用いられる。上記の式1、2及び3は、T
HFCLKが小さいほどクロック性能が改善されるというこ
とを示している。高周波水晶発信器の出力周波数を10メ
ガヘルツにすると、THFCLKは比較的小さい値(この場合
100ナノ秒)となり、しかもディジタル構成要素のタイ
ミングのずれの問題を解決するのに十分な時間を確保す
ることができる。100ヘルツクロック信号の立ち上がり
と立ち下がりの両エッジで同期を取ると(TS=5ミリ
秒)、100ヘルツクロック信号のどちらか一方のエッジ
だけで同期を取る場合(TS=10ミリ秒)と比較して、ス
キューを著しく小さくすることができる周波数の精度は
水晶発振器の精度に関係する。
パラメータをA=100x10-6、THFCLK=100x10-9、TS
5x10-3とすると、前記の3つの方程式はそれぞれ下記の
ようになる: スキュー(クロック発生器)max=1200nsec スキュー(受信器)max=200nsec V(周波数)max=140ppm 図5のリセット手段またはクロックイネーブル回路16
は、最初の同期したイネーブル信号を全てのクロックモ
ジュールに供給してクロック起動時に4つのモジュール
を相互に確実に同期させると共に、クロックイネーブル
回路16自体内部の潜在的障害の有無を連続的に検出し、
ラッチし、リポーティングし、不安定性を解消するべく
機能する。この回路、すなわちフォールトトレラントな
リセット回路16は、リセット回路16におけるハードウェ
ア障害を検出し、フォールトフラグをラッチする二重障
害時動作可能な初期化障害検出論理を具現するための2/
4投票器機構、及び回路初期化時に不安定性解消を図る
ためのマスター−スレーブ・フリップフロップ組合わせ
回路を有する。このリセット手段またはクロックイネー
ブル回路16は、組合せ論理装置106、障害検出リセット
回路108及びリセットラッチ110からなる。クロックイネ
ーブル回路16は、最初のパワーオン後、クロックはこれ
により駆動される全てのマイクロプロセッサ24が完全に
初期化されるまで動作すべきでななく、また全てのクロ
ックモジュールは最初に同期を取るべきであるというパ
ワーオン時の多重タイミングの必要条件を満たす。
動作が開始されると、T=0において4クロックプロ
セッサボードに電源が供給される。この時、内部クロッ
クリセット信号26が各々対応するクロックモジュール1
1、12、13及び14内でアサート(能動化)される。信号2
6は、フォールトトレラント・クロックを確実に非動作
状態に保つためにマイクロプロセッサ24の初期化期間を
通してアサート状態に保たれる。マイクロプロセッサ24
は、ランダム要因のため、初期化が同時には完了しな
い。そのために、初期化の最小完了時間TA及び最大完了
時間TBが指定される。4つの内部クロックリセット信号
26は少なくとも時間TBが経過するまでアサート状態に保
つ必要がある。診断ルーチンによっては、前のセッショ
ンからの未解消の障害を障害ラッチにロードするシステ
ムの能力が要求されることもある。その場合は、クロッ
クイネーブル障害ラッチには、内部クロックリセット信
号26が抑止されるている時、不揮発性メモリに記憶され
たデータがロードされる。
11、12、13及び14の各クロックモジュールは、マイク
ロプロセッサ24の初期化後にアサートされる内部クロッ
クイネーブル信号28を使用する。信号28は、クロックモ
ジュール11、12、13及び14が確実に内部クロックリセッ
ト信号26から解除されるよう、TBより十分後にアサート
される(最小介入期間=TB−TA)。ランダム要因のため
に、4つの内部クロックイネーブル信号28は時間TCとTD
の間アサートされる。
クロックイネーブル回路16は、その回路中の障害をマ
スクするよう構成されている。障害は、第2のクロック
イネーブル信号を受け取ると同時に組合せ論理装置106
からの妥当性を確認されたクロックイネーブル信号30を
アサートする2/4投票器によってマスクされる。従っ
て、クロックモジュール11、12、13または14の中の1つ
がその内部クロックイネーブル信号29(パワーオンレデ
ィ信号)を余り早く受け取っても、その障害はそのモジ
ュールのいずれの妥当性確認済みクロックイネーブル信
号30にも伝達されない。同様に、クロックモジュール1
1、12、13及び14の中の2つが内部クロックイネーブル
信号29を全くアサートしない場合も、これら4つのクロ
ックは、全てそれぞれの妥当性確認済みクロックイネー
ブル信号30を発生させることができる。
クロックイネーブル回路16内の潜在的障害は、シフト
レジスタ36の出力31、32、33及び34によって指示される
16のフォールトフラグにより検出され、リポーティング
される。これらの16のフォールトフラグは、単に保守を
行い易くするために入れられており、クロックの動作に
は全く影響を及ぼさない。各モジュールは、外部クロッ
クからのクロックイネーブル信号37、38及び39、及び内
部クロックからのクロックイネーブル信号29に対応する
4つのフォールトフラグ31、32、33及び34を有する。ク
ロック受信器20からの妥当性確認済みクロック信号40が
対応するクロックイネーブル信号29、37、38または39よ
り前にアサートされると、フォールトフラグがアサート
される。検出された障害は、過渡的リポーティングを防
ぐために全てラッチされる。
クロックイネーブル回路16は、本来非同期であるか
ら、これが速過ぎて内部イネーブル信号29についての障
害の判断をすることができないということはない。すな
わち、内部クロックイネーブル信号29に障害があるとい
う結論を出すまでに十分な時間的余裕がある。内部クロ
ックイネーブル信号29と対応する故障信号(フォールト
フラグ)34は、最初に、Nビット・ディジタルカウンタ
42を介して妥当性確認済みクロック信号40を遅延させる
ことによってディスエーブル化(無効化)される。カウ
ンタ42による遅延が十分にするのに必要な最小ビット数
Nは次式によって与えられる: n=[log2((TD−TC)THFCLK)] ただし、TC=内部クロックイネーブル信号アサートに必
要な最小時間 TD=内部クロックイネーブル信号アサートに必要な最大
時間 THFCLK=高周波発振器信号HFCLKの周期 クロックモジュール11、12、13または14がクロックイ
ネーブル信号29、37、38または39の中の少なくとも2つ
を受け取ると、妥当性確認済みクロックイネーブル信号
30がアサートされ、妥当性確認済みクロックイネーブル
信号30は2つのDフリップフロップ46によってラッチさ
れ、ローカルの(そのモジュールの)HFCLK信号44に同
期される。内部の同期したクロックイネーブル信号29は
HFCLK信号44の次のエッジでアサートされる。クロック
モジュール11、12、13または14内の同期した全てのデバ
イスは、正エッジでトリガーされるので、不安定性は解
消される。フリップフロップ46及びカウンタ42は、「早
期の」パワーオン・リセット信号である内部クロックリ
セット信号112が入力される。
図6は、クロックイネーブル回路16のパワーオン後の
初期タイミング動作のシーケンスを示す。各モジュール
11、12、13または14において、マイクロプロセッサ24が
初期化されるのは、早くとも、各内部クロックリセット
信号がアサートされるよりも時間εだけ前である。各マ
イクロプロセッサ24の初期化は、この時間εの期間内の
様々な時点で終了する。全てのマイクロプロセッサ24が
初期化された後、あるいは最後のマイクロプロセッサが
初期化された時、内部クロックリセット信号がアサート
される。各モジュール11、12、13及び14において、内部
クロックリセット信号がアサートされてから時間δ後
に、内部クロックイネーブル信号がアサートされる。時
間δは時間εより長い。
クロック発生器回路18は、クロック受信器回路20から
受け取る同期化コマンド信号48及び50に従って動作す
る。コマンド信号48及び50がない時は、クロック発生器
回路18は自走発振器として動作する。クロック発生器回
路18は図7に詳細に示されている。クロック発生器回路
18の出力には、他の3つのクロックモジュールの100ヘ
ルツクロック発生器出力52に厳密に同期したフォールト
トレラントな100ヘルツ信号、及び他の3つのクロック
モジュールの1600ヘルツクロック発生器出力54に厳密に
同期したフォールトトレラントな1600ヘルツ信号54があ
る。
各々50%デューティサイクルの100ヘルツと1600ヘル
ツのクロック信号が必要であるが、これらのクロック信
号は、この実施例ではタンデムカウンタ設計よりなる1/
N分周段によって供給される。第2のカウンタ58は、1/3
2分周段として機能し、100ヘルツ及び1600ヘルツ信号を
両方とも供給する。第2のカウンタ58の最下位ビットの
周期は、最上位ビットの周期の16分の1である。第1の
カウンタ56の最上位ビットのデューティサイクルは50パ
ーセントではないが、第2のカウンタ58の出力の5ビッ
トはほぼ50パーセントのデューティサイクルを有する。
第1のカウンタ56は、第2のカウンタ58に3200ヘルツの
信号を供給する。この3200ヘルツ信号は、10メガヘルツ
水晶発振器HFCLKの出力信号44を3125分割することによ
って得られる。第1のカウンタ56は、1/3125分周段とし
て結線されている。クロック受信器回路20は、正の基準
エッジが入力されると、高周波水晶発振器(HFCLK)の
信号44の1サイクルの間UPSYNC信号50をアサートする。
信号50の線を介しては、100Hzクロックが同期している
場合、その値が立ち上がり(上向き、正の)エッジにあ
るか、立ち下がり(下向き、負の)エッジにあるかによ
って、それぞれ1または0がロードされ、これによって
次の半周期の間にクロックがセットされる。信号50によ
り1がロードされると、第1のカウンタ56は、00111100
10112(409610−312510)にロードされる一方、第2の
カウンタ58は最上位ビットが論理値1にセットされる。
上記のロード値に対して高周波信号44のパルス入力が加
算されてフルカウントに達する毎に、第1のカウンタ56
が出力パルスを出す結果、第2のカウンタ58に公称3200
ヘルツの信号60が供給される。クロック受信器回路20
が、上記の正の基準エッジから5ミリ秒以内に負の基準
エッジを受け取ると、HFCLK信号44の1サイクルの間DOW
NSYNC信号48がアサートされる。そして、第1のカウン
タ56には0011110011002がロードされ、第2のカウンタ5
8は全ビットが論理値0にセットされる。クロック受信
器20に上記の正の基準エッジから5ミリ秒以内に負の基
準エッジが入力されないと、第2の段のカウンタは基準
信号とは無関係に単に「循環(roll over)」する。そ
の全ビットは論理値0にセットされる。クロック受信器
回路20の構成は図8に示されている。クロック受信器回
路20はフォールトトレラント・クロック回路内部の障害
を検出し、検出された障害を外部システム(すなわち不
揮発性メモリ)へリポーティングし、回路障害について
の情報を用いて正しく設定された基準信号を抽出し、同
期化コマンド信号48及び50をクロック発生器回路18に供
給する。同期化コマンド信号48及び50は基準信号に従っ
て計算される。各HEXAD装置にはクロック受信器回路20
を若干修正した回路が設けられる。クロック受信器20
は、1600ヘルツの同期したクロック間のスキューを低減
させるものである。
クロック受信器20は受信したクロック及び妥当性確認
済みクロックの最新のヒストリーをセーブするための新
規な5シフトレジスタアーキテクチャを有する。入力ク
ロックマネージャ62は、フォールトフラグを生成するた
めの新規な組合せ論理装置、フォールトフラグラッチ手
段及び不揮発性のメモリインタフェースを有する。デー
タコレクタ組合せ論理装置64は、フォールトフラグに基
づいて入力クロックの適否を投票する。基準クロックマ
ネージャ66は、同期化コマンド信号48及び50を発生させ
るための組合せ論理及びチェック信号82及び88を発生さ
せるための組合せ論理を有する。
クロック受信器回路20は、3つの主要構成回路を有す
る。まず、3つのモジュール間100ヘルツクロック信号
および1つのモジュール内100ヘルツクロック信号を同
期させるための4つの入力クロックマネージャ62が設け
られている。また、入力クロックマネージャ62は、障害
を検出してリポーティングする。データコレクタ64は、
メジアン(中位信号)投票器アルゴリズムを実行する。
基準クロックマネージャ66は、コレクタ64の候補基準ク
ロック68からグリッチ(glitch;瞬間的誤信号)を除去
する。また、マネージャ66は障害検出を支援し、同期化
コマンド信号48及び50をクロック発生器回路18に供給す
る。入力クロックマネージャ62は、外部クロックモジュ
ールから入力される100ヘルツクロックをローカルの
(そのモジュールの)高周波タイムベースHFCLK44に同
期させる。また、入力クロックマネージャ62は、入力さ
れる各100ヘルツ信号について障害を検出し、リポーテ
ィングする。既に同期されている内部の(ローカル)10
0ヘルツ信号に対しても、障害検出及びリポーティング
(通知)は実行される。図9は、入力クロックマネージ
ャ66の構成を示す。入力同期化は、シフトレジスタ68に
よって行われる。シフトレジスタ68の第1の出力ビット
はメディアン投票器アルゴリズムで用いられるデータコ
レクタ64への同期した入力信号70である。
次に、障害検出/通知回路について説明する。考えら
れる障害検出の1つに過早エッジの検出がある。例え
ば、入力クロックマネージャ62の入力に現れるクロック
信号の1つのレベル遷移の経過について考えて見よう。
HFCLK44の(n−1)サイクルが経過すると、信号EARLY
CHECK(過早チェック)72がHFCLK44の1周期の間アサ
ートされる。同時に、シフトレジスタ68の(n−1)番
目の出力74が基準クロックマネージャ66からの非同期基
準クロック信号76と比較される。これら2つの信号74と
76が一致しないか、互いに異なる場合は、EARLY FAULT
(過早)信号78がアサートされる。EARLY FAULT信号78
は、個々のどのクロック信号も基準クロック信号76より
所定値以上先行すべきではないという前提に基づいてい
る。
クロックエッジを受け取ってからそのクロックエッジ
が進んでいるかどうかをチェックするまでの間に経過す
る時間の大きさはnの値、すなわち入力クロックマネー
ジャ62のビット数によって決まる。進んだクロックエッ
ジはクロックモジュール11、12、13または14のうち、僅
かに発信周波数が高い水晶発振器を有するモジュールよ
り生じると考えられるから、nの値は発振周波数の変動
による許容範囲内のスキューに対応し得るよう十分大き
な値を選択すべきである。クロック発生器信号間の許容
スキューについての前出の式から、nは次式で与えられ
る値を有するべきである。
n=(2ATS+2THFCLK)/THFCLK ここで、A=高周波水晶発振器の精度 TS=同期周期(同期後のエッジ間の公称経過時間) THFCLK=高周波水晶発振器の周期 ここで、4つのクロックモジュール11、12、13及び14
は相互に同期しているので、モジュール12のクロックJ
はモジュール11のクロックIの同期したクロック遷移を
ほぼ瞬時に検出することが可能である。しかしながら、
クロックIはそれ自身のクロック遷移を観測するのにま
るまるHFCLK44の1サイクルだけ待たなければならな
い。この遅延を回避するため、内部クロック信号と対応
する入力クロックマネージャ62は、そのシフトレジスタ
68のビット数を1つ少なくすることも可能である。
入力クロックマネージャ62は、基準クロック信号に対
して個々のクロックのエッジが遅過ぎる場合にこれを検
出するための回路を有する。言い換えると、クロックモ
ジュール11、12、13または14の入力のレベル遷移は、そ
れらの各モジュールの入力の遷移レベルからこれに対応
する基準信号のレベル遷移までの経過時間が許容できな
いほど大きい場合、過遅(glossly late)とみなされ
る。各モジュールのどの入力クロックもその基準クロッ
クからの遅延が過大であってはならない。
ここで、例えば、クロック障害なしの状況を考えてみ
よう。あるクロックモジュールが基準エッジを検出する
ということは、他のクロックモジュールのうち少なくと
も2つで遷移が起こったばかりであるということを意味
する。基準エッジを検出したクロックモジュールは、次
にそれ自身の同期した信号を遷移させる。この時までに
は、4つのモジュールのうち少なくとも3つが遷移し終
えている。その後、第4のクロックが、多くともそれ自
身のHFCLK44の2サイクルから成る投票器遅延後に遷移
を生じる。この第4のモジュール自身のHFCLK44の1サ
イクルの間に、他の3つのモジュールでは第4のモジュ
ールの遷移が観測されるはずである。これに要する全経
過時間は、HFCLK44の3サイクル分の時間である。この
ように、クロックモジュールでいったん基準エッジが観
測されたならば、その後HFCLK44の3サイクル以内に残
りの遷移が全て観測されるはずである。しかしながら、
4つのモジュール11、12、13及び14は、異なるHFCLK44
を有するため、遅れ障害(late fault)検出回路によ
って追加の許容範囲を設けなければならない。
基準クロック信号エッジが検出されると、基準クロッ
ク信号のエッジが発生してから数サイクル後に、基準ク
ロックマネージャ66によってLATE CHECK(過遅チェッ
ク)信号82が発生する。LATE CHECK信号82は、EARLY
CHECK信号72と同様の方法で得られる。同期した入力信
号70と基準信号76との間に差があると、LATE DIFFER
(遅れ差)信号86がアサートされる。LATE CHECK信号8
2がアサートされているとき、これら2つの信号70と76
の間に差があると、LATE FAULT信号84も同時にセット
される。
クロック回路によって検出される障害の1つに、モジ
ュール間100ヘルツ信号のノイズがある。多くの場合、
ノイズは自動的にマスクされ、過早エッジを検出する回
路62によって検出される。しかしながら、1つのエッジ
が入力されたある特殊な場合に、これと同時に2番目の
入力ノイズによって壊乱されることが起こり得る。そし
て3番目のエッジが到着しなかった場合は、基準クロッ
クがノイズ信号に追従し、それ自身が壊乱されてしま
う。基準クロック信号の壊乱は、クロック発生器回路18
がその壊乱によって同期され、壊乱がマイクロプロセッ
サ24に伝達されるので、全く許容されない。
そのために、基準クロックマネージャ66には、基準ク
ロック信号がこのようなノイズによって壊乱されるのを
防ぐための回路が設けられている。さらに、基準クロッ
クマネージャ66は、基準クロック信号を壊乱しようとす
る傾向を検出すると、ノイズチェック信号88を瞬間的に
アサートする。ノイズ性の入力は、その入力と同時に入
力クロックマネージャ62内のNOISE HERE(ノイズあ
り)信号90をにアサートする。NOISE HERE信号90及びN
OISE CHECK(ノイズチェック)信号88が同時に発生す
ると、対応する入力クロックマネージャ62のNOISE FAU
LT(ノイズ障害)信号92がアサートされる。
EARLY FAULT信号78、LATE FAULT信号84またはNOISE
FAULT信号92が発生すると、FAULT IN(障害あり)信
号94が障害ラッチ96にアサートされる。障害ラッチ96
は、その出力が逆に入力に接続されたDフリップフロッ
プであり、パワーオン期間全体を通して論理値1をラッ
チする。さらに、前のセッションからの未解消の障害も
パワーオンでラッチ96にロードされ得る。このような未
解決障害は、例えば不揮発性メモリに記憶される。
データコレクタ64は、入力クロックマネージャ62から
のフォールトフラグ98及び同期したクロック信号70を累
積してメディアン投票器法を実行する。図10はデータコ
レクタ64の回線構成を示す。このフロータアルゴリズム
(floater algorithm)は、基本的には、障害クロック
及び障害がある場合にのみ入り込む内部信号を除き、互
いに一致する信号のペア(一致信号ペア)を探索する。
3つの外部クロック信号I、J及びKと内部クロック
信号L、及びこれらに対応するフォールトフラグFi、F
j、Fk及びFlがデータコレクタ64に供給されると、次式
によって示されるようなある論理に従う基準クロック信
号候補(CRC)68が出力される。
CRC=IJFiFj+IKFiFk+JKFjFK+Fl(Fi+Fj+Fk)(ILFi+JLFj+KLFk) データコレクタ64の出力信号68は、ノイズによって壊乱
される場合がある。これが出力信号68が基準クロック信
号「候補」と称する所以である。
HEXADに設けられるクロック受信器は、フォールトト
レラント・クロック内のクロック受信器回路20とほぼ同
じである。両者の唯一の違いは、HEXADではデータコレ
クタ64が若干修正されているという点である。HEXAD装
置のクロック受信器の場合、4つのクロックモジュール
11、12、13及び14は、全ての同じ役割を有するか、また
は外部/内部クロックの区別がないのと同じように扱わ
れる。従って、HEXADのクロック受信器用のデータコレ
クタの投票アルゴリズムをは単に一致信号ペアを探索す
るだけである。HEXADのクロック受信器用のデータコレ
クタの基準クロック信号候補は次式で表される。
CRC=IJFiFj+IKFiFk+ILFiFl+JKFjFk+JLFjFl+KLFkFl 図11基準クロックマネージャ回路66の構成を示す。基
準クロックマネージャ66は、例えば基準クロック信号候
補68からノイズグリッチを除去する。基準クロック信号
候補68でレベル遷移が起こると、排他的ORゲート100はH
FCLK44の次の5サイクルの間に順次アサートされる。こ
のアサートの期間中、基準クロック信号候補68はロック
アウトされ、シフトレジスタ102の入力はシフトレジス
タ102の最初のビットに送られる。基準エッジの発生は
そのすぐ近くに少なくとも2つの入力エッジがあるとい
うことを意味するから、障害のないクロックは、信号68
の基準クロックエッジ候補が基準クロックマネージャ66
に再度入るまでには全て状態遷移するはずである。クロ
ックモジュールで観測される2番目のクロックエッジが
ノイズによって壊乱されると、3番目のエッジの発生前
に基準クロック信号候補68にグリッチが発生する。この
ようなグリッチが発生すると、4つの各入力クロックマ
ネージャ62のノイズチェック信号88がアサートされる。
このようにして、ノイズ性の信号が検出され、フラグを
立てられる。また、基準クロックマネージャ66は、基準
クロック信号上のレベル遷移の数サイクル後にLATE CH
ECK信号82を入力クロックマネージャ62に供給する。さ
らに、基準クロックマネージャ66はクロック発生器回路
18に同期信号48及び50を供給し、ローカルのマイクロプ
ロセッサ24に同期した基準クロック信号104を供給し、
非同期の基準クロック信号76を4つの入力クロックマネ
ージャ62に供給する。
クロック受信器20及びクロック発生器18の回路の100
ヘルツ及び1600ヘルツ出力は、クロック受信器回路20に
より供給されるフォールトフラグによってゲートされ
る。クロックモジュールは、クロックモジュールがその
モジュール自体に障害があることを検出するか、他の3
つのクロックモジュールに障害があることを検出する
と、その100ヘルツ及び1600ヘルツの出力信号を完全に
遮断する。さらに、いずれか第1のクロックモジュール
が第2のクロックモジュールに障害があることを検出す
ると、その第1のクロックモジュールは、その第2のク
ロックモジュールへの100ヘルツ出力を遮断する。
フォールトトレラント・クロックを構成する4つのク
ロックモジュール11、12、13及び14の相互接続はテトラ
ヘドロン(四面体)型であるということができる。図12
に示すように、四面体はクロック回路10のトポロジであ
る。図1にも示すように、四面体の各稜は、それぞれ2
つのモジュール間で各方向にクロック信号を伝達する2
本のポイントツーポイントワイヤを有する。
一つのモジュールが他のいずれかのモジュールからの
クロック信号に障害があることを検出すると、それ以後
そのモジュールからの信号を無視し、そのモジュールへ
の同時通信を中止する。最初の動作、すなわち入力無視
では、基本的にフォールトトレラント・クロック構成10
の2本の一方向回線の中の1本が削除される。第2動
作、すなわち同時通信の中止は、上記他のクロックに障
害検出を知らせる効果があり、このクロックはこれによ
って残りの一方向回線を削除する。一つのモジュールが
それ自体に欠陥があることを検出した場合は、そのモジ
ュール全体がシステム10から切り離されるが、このこと
はノード、すなわち四面体の頂点の1つが除去されるこ
とに相当する。
図12の各一方向リンクの削除は、受信モジュールにお
けるフォールトフラグの設定に相当する。図12に示す12
本のリンクは、12のフォールトフラグに相当する。ま
た、各モジュールは各モジュール自体に欠陥があること
を検出した時これを指示するためのフラグを有し、これ
によってフォールトフラグの総数は16となる。そして、
動作診断タスクは、これら16のフラグを検査することに
よってクロックシステム10全体の動作状態を推測するこ
とである。
図12に示すように、四面体全体が完全な場合、すなわ
ち障害が全く検出されない場合は、クロック回路10は全
体として少なくとも二重障害時動作可能である。図13に
示すように、四面体の少なくとも1つの側面が完全な場
合、クロック回路10は全体として少なくとも単一障害時
動作可能である。図14に示すように、四面体の少なくと
も1稜が完全な場合、クロック回路10は全体として少な
くとも動作可能である。
二重障害時動作可能状態においては、4つのクロック
11、12、13及び14は、全ての正常に動作し、かつ互いに
同期した状態を維持する。単一障害時動作可能状態にお
いては、少なくとも3つのクロック(場合によっては4
つ)が正常に動作し、かつ互いに同期した状態を維持す
る。上記の少なくとも動作可能な状態においては、少な
くとも2つの(場合によってはそれ以上)クロックが正
常に動作し、かつ互いに同期した状態を維持する。上記
の許容可能な障害数において物理的障害の数がさらに多
くなっても、回路が完全に故障するとは限らず、特に多
数の障害が1つのモジュール内だけで起こった場合は回
路が完全にダウンすることはほとんどない。回路10は、
通信回線で接続された2つのクロックモジュールが正常
に動作していれば、動作可能である。
クロック信号接続の他、フォールトトレラント・クロ
ック10は、さらに2種類の相互接続回線、すなわちフォ
ールトトレラントリセット及びフォールトフラグの通信
に関連する回線を有する。フォールトトレラントリセッ
ト回線は、クロック10のものと基本的に同じである。フ
ォールトトレラントリセット相互接続回線は、図12に示
すような四面体トポロジーを有する。
図12は、フォールトトレラントリセット相互接続のト
ポロジを示す。このリセット機構の場合、フォールトフ
ラグは全て保守警報を発生させる。この警報は、障害が
リセット機構が故障してクロック回路10が始動しなくな
るほど多数累積されるのを防ぐのに役立つ。しかも、緊
急警報(dispatch alert)に関する判断を行うために
リセット回路の障害時動作状態の確認(すなわち回路が
単一障害時動作可能か単にフェールセーフであるだけか
の確認)を行う必要がない。いったんリセットが行われ
ると、4つのクロックモジュール11、12、13及び14はリ
セット信号をラッチし、それ以後はリセット障害とは無
関係な状態に保たれる。ラッチは、クロック相互接続に
関する動作診断がラッチに障害が起こったとき緊急警報
に関して正しい決定を行うようにしてクロックモジュー
ルの障害捕捉部の一部になっている。要するに、リセッ
トはその全ての機能を始動時に完了するので、単にクロ
ック回路10が始動したというだけでは、リセット機構に
付随する障害に応答して緊急警報を発生させる必要がな
い。多重リセット障害によってカッドクロック10が始動
しない場合は、当然緊急警報が発生する。
各クロックモジュールは、それぞれのフォールトトレ
ラント・クロックを投票クロック信号に同期させる(図
15参照)。投票されたクロック信号は、ローカル(その
クロック)のフォールトトレラント・クロックと3つの
外部クロックの関数になっている。各クロックモジュー
ルは、各モジュールが検出した障害の数及び種類によっ
て決まる仕方によって投票する。図15には、4つの場合
が示されている。第1の場合(ケース1)においては、
あるクロックモジュールがそれ自体及び他の3つの外部
クロックが正常であると宣言すると、投票されたクロッ
ク信号は3つの外部クロックの中の中位の信号になる。
ケース2においては、あるクロックモジュールがそれ自
体は正常であるが、3つの外部クロックの中の1つが不
良であると宣言すると、投票されたクロック信号はその
ローカルのクロック信号と2つの正常な外部クロック信
号の中位の信号になる。ケース3においては、あるクロ
ックモジュールがそれ自体は正常であるが、3の外部ク
ロックの中の2つが不良であると宣言すると、投票され
たクロック信号はその内部クロック信号と正常な外部ク
ロック信号のうち遅い方の信号になる。ケース4におい
ては、あるクロックモジュールが3つの外部クロック全
部かまたはそのモジュール自体のどちらかが不良である
と宣言すると、投票された信号は出力されず、そのクロ
ックモジュールは動作不能になる。
フォールトトレラント設計においては、許容処理すべ
き障害の部類についていくつかの仮定を行う必要があ
る。フォールトトレラント・クロックの場合は、多数の
共通の回路障害が起こり得る。このような障害として
は、物理的接続不良、完全な集積回路障害、出力または
入力バッファの多種多様な障害、回路基板の短絡または
開路障害、規定範囲外の緩慢なドリフトを含む発振器障
害、基板外部の電源装置故障等がある。単一の「物理的
障害」という場合、その意味にはこれらの障害のいずれ
か1つが含まれる。
クロック回路10の説明から理解できるように、これら
の障害は全て2つの共通の特性、すなわち可観測性及び
共有制を有する。指定された許容範囲外にあるクロック
エッジが観測されると、障害があることが観測可能であ
る。すなわち、1つ以上のクロックが他のクロックが指
定された許容範囲外にあることを認識することができ
る。このようなクロックの指定許容範囲外挙動がある
と、フォールトフラグがセットされる。
共有性に関しては、1つの物理的障害があると、1つ
以上のフォールトフラグがセットされるが、これらの全
てのフラグは1つのクロックを共有する。例えば、これ
らの各フォールトフラグが1つのクロックによる他のク
ロックから受け取った信号についての障害の「告発」で
あるとみなすと、単一の物理的障害からの全てのフォー
ルトフラグは1つクロックを共有することになる。すな
わち、全ての場合に1つのクロックが「原告」または
「被告」になる。例えば、クロック1と2がクロック4
に障害があると「告発」する一方、クロック4がクロッ
ク2に障害があると「告発」するなどである。この場合
の告発は全て、クロック4が「原告」または「被告」と
して関与している。図30にこのような「被告」/「原
告」フォーマットを示す。
通常の障害はほとんど全て可観測性及び共有性を有す
るが、ある部類の特異な障害は観測可能ではない。この
ような障害は、クロックモジュール回路の動作に影響し
ないが、以後の動作可能性に影響することがあるクロッ
クモジュール回路内部の細部にある。その一例は、現在
セットされておらず、セット不可能なような形を取るフ
ォールトフラグラッチの障害である。このような障害は
潜在的障害である。ここで潜在的というのは、それらの
障害は外部から見たフォールトトレラント・クロック出
力の正確さに影響を及ぼさないという意味である。
全ての潜在的障害を検出することは実際上不可能であ
るが、保守警報及び/または緊急警報を出し易くするた
めに、最重要の障害及び起こり得る潜在的障害は全て検
出され、リポートされると共に、この実施例のクロック
回路10の設計によれば、いくつかの潜在的障害が別の1
つの障害の結果として突然顕在化するような極めて希な
場合でもそれらの結果を許容処理することができるよ
う、フェールセーフになっている。
フォールトトレラント・クロック10は、4つのノード、
すなわち、図12に示すように、12本の経路によって接続
されたクロックモジュールとみなすことができ、この場
合12本の経路は100ヘルツ信号を共用する。いずれか第
1のクロックモジュールが第2のクロックモジュールか
ら供給される信号が誤っていると判断すると、その第1
のクロックモジュールは第2のクロックからの信号を無
視する。このことは、四面体からその経路の接続をなく
すことによって異なるネットワーク構成を得ることに相
当する。クロック10のネットワーク構成は過渡的なもの
である。過渡構成は、それ以上障害がない場合において
も安定構成に変化する。その安定構成は、次の障害がな
い時は固定される。また、最終の安定構成は、最初の過
渡構成よりリンク数が少なくなっている。例えば、図16
aでの構成は過渡構成である。モジュール4はモジュー
ル2または3とは通信しないから、その妥当性確認済み
クロックは、モジュール4及びモジュール1において受
信される最も遅いクロックである。4つのクロックモジ
ュール11(1)、12(2)、13(3)及び14(4)は、
周波数が相互に僅かに変化する傾向がある。その結果、
クロックモジュール14(4)は最も遅いクロックモジュ
ールとなる。クロックモジュール14(4)は、その周波
数誤差が十分許容範囲内にある場合も、それ自身の自走
クロック発生器に同期される。モジュール11(1)、12
(2)及び13(3)は相互に同期されており、その結果
モジュール14(4)はネットワーク10の他のモジュール
と同期が外れた状態になる。この状態が、図16bに示す
ような最終の安定構成である。
フォールトトレラント・クロック10は、能動的リンク
制御を実行する。クロックモジュール11、12、13及び14
は双方向経路だけから成るネットワークトポロジを構成
する。いずれか第1のクロックが第2のクロックをその
クロックに「障害がある」と宣言すると、その第1のク
ロックは第2のクロックを無視するばかりでなく、その
クロックへのクロック信号送信も停止する。このように
して、第2のクロックが実際には正常である場合、第2
のクロックは第1のクロックに「障害がある」ことを宣
言し、第2のクロックに真に障害がある場合は、既に第
1のクロックへの問い掛けを停止していることになる。
いずれの場合も、最終的には、一対のネットワークリン
クが除去される結果となる。クロック10の解析は、単方
向経路を有する全てのネットワークを除外すると極めて
簡単になる。ある第1のクロックモジュールが第2のク
ロックモジュールから入って来る信号が誤っていると判
断すると、第1のクロックモジュールは第2のモジュー
ルからの信号を無視する。これは、ネットワークからリ
ンクを除去することに相当する。多重障害が考えられる
場合には、可能な回線構成が4,096通りある。双方向経
路のみによる構成に着目すると、図17a、b及びcに示
すような単方向経路を含む多数のネットワークトポロジ
を分析する必要がなくなる。
単方向経路がある場合は、過渡の一部の構成は、クロ
ック10の全システムの障害に還元することができる。例
えば、図18aにおいて、適当なランダムパラメータを与
えると、クロック1と2はクロック3によって同期を外
すことができ、これによってクロック10全体の障害に帰
着することが可能である。一方、図18bの構成は安定し
ており、他に障害がなければ、クロックモジュール11
(1)と12(2)は互いに同期した状態に保たれる。実
際、双方向リンクのみを有する全ての構成は、安定であ
るか、または安定したワーキングクロック構成に還元さ
れる。図18aの例は一般的ではない。ほとんど場合、単
方向リンクはクロックを不安定化せず、またその動作状
態を変えることもない。
4,096のネットワーク構成があるため、このような多
くのトポロジを試験するのに必要な計算時間は法外な値
になる。しかしながら、これらの構成の多くは互いに等
価である。例えば、図19a、b及びcの3つの構成は等
価である。等価性を得るためには、これらのクロックモ
ジュールをオーバーレイ・ネットワークトポロジの4次
元回転によって並べ替える。このようにすると、図19
a、b及びcの3つ回路は等価であるから、その中の1
つだけ試験すればよい。また、単方向経路を有するトポ
ロジも全て除外される。その結果、一意の回路が10だけ
残り、それらの回路は全妥当時間以内で試験することが
できる。図20は、これらの10の双方向回線構成を示す。
図20の構成1は、安定しており、障害を除外し、4つの
クロックモジュールは全て相互に同期した状態に保たれ
る。構成2は安定している。構成3は、過渡構成であ
り、安定な構成5に変化する。構成4は過渡構成であ
り、安定な構成9または10に変化する。構成3から5、
4から9及び10、6から10、7から9及び10、及び8か
ら10への矢印は過渡構成から安定構成への変化を示す。
これらのクロック構成は、障害カバレジ(fault cove
rage)のレベルに従って分類することができる。構成
4、6、7、8、9及び10は、システム10全体の障害か
ら1障害分だけ手前の状態にある。従って、これらの構
成は単に動作可能な状態であり、フェールセーフであ
る。構成2、3及び5は、システム10全体の障害から少
なくともの2障害分手前の状態にある。従って、これら
3つの構成は単一障害時動作可能である。構成1は、二
重障害時動作可能な唯一の構成である。要するに、完全
な四面体を含む構成は、全て二重障害時動作可能であ
り、四面体の完全な1側面を含む構成は単一障害時動作
可能であり、四面体の1稜を含む構成は単に動作可能
で、フェールセーフである。
図21は、隣合わない2稜に還元されたクロック回路を
示し、分解されたペア構成と見なされる。この構成は、
各一対のクロックが違いに同期しており、全体のクロッ
ク構成が変化しないという意味で安定である。しかしな
がら、2つペアのクロックは違いに接続されておらず、
また同期した状態に保たれてはいない。通常は、速い方
のクロックペアと遅い方のペアがある。これら2つのク
ロックペアが互いに同期状態から離れ過ぎた時は、シス
テムの同期を維持するために、2つのペアの一方を「正
常」なペアと見なす必要がある。クロック信号の受取り
系は、第1のペアを最も早いクロックとみなし、遅い方
の2つのモジュールを投票除外する。障害が起こると、
クロック信号の受取り系は、第1のペアに代えて第2の
ペアクロックに追従することが起こり得る。
動作診断回路(診断手段)(フォールトフラグ通信回
路)17は、クロック整相回路122、回線試験信号発生機
能を有する送信機126、フォールトフラグ受信器128及び
フォールトフラグラッチ回路130をフォールトトレラン
ト状態情報収集が可能なように組み合わせた点において
新規な回路である。また、診断手段17は動作状態推論の
ための無分岐組合わせ論理を有する。図22及至28は、シ
ステム10のフォールトフラグ通信回路17が詳細に示され
ている。図22は、フォールトフラグ通信回路17の機能ブ
ロック図である。図23は、タイミング図である。図24a
及びbは、クロック位相手段122のを説明するための図
である。図25はフラグ通信送信器126のブロック図であ
る。図26a及びbは、フォールトフラグ受信器を説明す
るための図である。図27はフォールトフラグ通信回線障
害検出手段134の回路図である。また、図28a及びbは、
フォールトフラグラッチ回路130の回路図である。
フォールトフラグは、各モジュールから他の全てのモ
ジュールへ送られる。同じ回線に全てのフラグを多重化
すると、モジュールの間に12の一方向性ポイントツーポ
イント接続を形成することになる。これらのモジュール
を真に同等にする(カードケージにおけるそれらのスロ
ットの位置にかかわらず)ためには、各モジュールは、
それ自身のフォールトフラグを基板外に送出し、送り返
させなければならず、その結果フォールトフラグ通信に
は全部で16本のポイントツーポイントワイヤの接続が必
要となる。
各モジュールは、送信するための8つのフラグを有す
る。利用可能な同期した1600ヘルツ信号を用いて、各モ
ジュールは、100ヘルツクロック信号の2分の1周期の
間に8ビットの信号(1600ヘルツ信号)を送信する。16
00ヘルツの立ち上がりエッジと立ち下がりエッジを用い
た綿密なタイミング方法によれば、フォールトフラグ通
信は確実にグリッチなしで行われる。100ヘルツ信号の
他の半周期は、「障害あり」に相当する論理レベルを送
信するために用いられる。このようにして、受信器は通
信回線が「セットされた」フォールトフラグを送信する
ことができるかどうかを監視することができる。
回線がフォールトフラを送信することができないとき
は受信回路は障害があるかも知れないと仮定する。この
ように仮定することには、これら2つのモジュール間の
通信を実際に障害があるときに障害ありとラベルすると
いう望ましい効果がある。フォールトフラグ通信システ
ムは、フォールトフラグは通常ペアで入力され、動作状
態評価を控え目に行うことができ、フラグ通信障害は高
い確率で検出され、フォールトフラグ通信は、4チャン
ネルの冗長性があるので、フォールトトレラントであ
る。フォールトフラグがセットされている時は、そのフ
ラグをセットしたモジュールはそのクロック出力を他方
のモジュールへ送信することを中止する。すなわち、モ
ジュールの間の双方向性リンクがそっくり除去される。
この場合、正常動作中であれば、第2のモジュールが
そのリンクの除去に気付き、第2のフォールトフラグが
セットされる。これが起こると、動作状態は四面体の完
全な稜にのみ依存するから、正しい診断がなされるため
には、2つのフラグの一方だけは支障なく他のモジュー
ルに伝達されなければならない。
動作診断のタスクは、確かなことだけを決定すること
である。フォールトフラグの通信に障害が生じると、診
断では2つのクロックの間のクロックリンクの使用可能
性を確認することができないので、リンクに障害がある
と推定することがある。フラグの真の状態を知ることは
必ずしも必要ではない。クロックトポロジにおける対応
するリンクが信頼できないということを知ることができ
さえすればよい。動作状態区分(稜が完全、側面が完
全、四面体が完全)は、作動していると分かるものを含
み、障害があると分かるものは含まない。
2つのタイプのエラーとして、フラグがセットされて
いないとき伝達される「セットされたフラグ」及びフラ
グが実際にセットされてるとき伝達される「セットされ
ていないフラグ」がある。この後者の状況の確率は、通
信リンクが「セットされたフラグ」の論理レベルを送る
ことができるかどうかが絶えずチェックされるために小
さい。実際、このような通信リンクの試験は、リンク上
のアクティビティの50%を占める。障害時には最悪のケ
ースが仮定される。すなわち、フラグの全てがセットさ
れると仮定される。同様に、実際のフラグがセットされ
ていないとき、「セットされたフラグ」が伝達されたと
すると、その送信モジュールを含む通信障害の指示が出
される結果となる。動作状態の特徴化は作動中であると
分かるものを含み、障害があると分かるものは含まない
ので、通信故障検出は、フラグをセットすることによっ
て実行される。
クロックは、4チャンネルの冗長性を有し、クロック
の受信側システムは様々なプロセッサ基板の出力に関し
て投票を行う。1つのフォールトフラグ受信器に障害が
あって、フラグがセットされると、対応するプロセッサ
は他のプロセッサとは異なる状態評価を行うことができ
る。そして、クロックの受信側システムは、障害のある
そのプロセッサ基板を正しく呼び出して、保守警報を発
生させる。1つのフォールトフラグ送信器に障害がある
と、全ての受信器がフラグをセットする。これらのフラ
グは、1つのモジュール、すなわち送信モジュールを共
有することになる。全てのモジュールが同じ動作状態情
報を引き出し、同じ基板に全てのモジュールが関係する
状態になる。この場合も、保守警報が出されるが、これ
は回路が適切に動作していない場合においては適切なス
テップである。
4つの別個のプロセッサは、累積された32のフォール
トフラグの4種類の異なるバージョンを見てクロック回
路10の動作状態を決定することができる。評価関数はブ
ール論理式から成る。各プロセッサは、ブール論理式全
体を評価する場合、分岐することなく正しい状態結論に
達する。分岐がないことによって、4つのプロセッサは
同数のマシンサイクルで評価を完了することができる。
リセット障害状態評価については、16のリセットフォー
ルトフラグが互いに論理的にOR処理されて、リセット保
守警報フラグが生成される。
4つのクロックモジュールのワンワイヤリング方式
は、相互接続のためのいくつかの技法の中の1つであ
る。この説明においては、下記のようないくつかの用語
の定義を用いる。「カード位置番号」たまは「絶対番
号」は、カード位置に基づくクロックモジュールの番号
である。すなわち、カードの4番目の位置にあるクロッ
クモジュールの絶対番号は4番である。「相対番号」
は、他のクロックモジュールから見たクロックモジュー
ルの番号である。各モジュールは、他のクロックモジュ
ールからの信号用の入力ピンを有する。例えば、モジュ
ール2の第1の入力の信号はモジュール3から供給され
るかも知れない。もしそうであるならば、モジュール3
は、モジュール2によってクロック番号1と見なされ
る。すなわち、モジュール2に対してはモジュール3の
番号は1である。図29は、絶対的ナンバリングと相対的
ナンバリングの対応関係を示す。この対応関係は、相互
接続結線の定義をなしている。
フォールトフラグの順序付けの仕方は、上記の相対ナ
ンバリング法に相当する。例えば、カード番号1上のモ
ジュールは、その2番目の入力クロックに障害があるこ
とを発見すると、2番目のフォールトフラグをセットす
る。このことは、図29によれば、カード1上のモジュー
ルがカード3上のモジュールから受信した信号上に障害
があることを指示するということを意味する(図29の対
応するボックス内に「3/2」が書き込まれていることに
よる)。
フォールトフラグ通信システムは、16のフォールトフ
ラグを取り込む。このように取り込まれる16のフラグ
は、4つの全てのクロックモジュール上で同じ順序にな
っている。カード1からの4ビットは、16ビットワード
の最初の4ビットであり、カード2からの4ビットは16
ビットワードの次の4ビットであり、以下も同様の対応
関係になっている。このフォーマットは障害ビットがど
こから送られて来たかを示し、図29には、ビットポジシ
ョン及び障害ビットがどこから送られてきたかに基づい
て、どのカードが関与しているかが示されており、これ
によって図30に示すような16のフォールトフラグの意味
がが説明される。
各フォールトフラグは、「原告」クロックと「被告」
クロックを伴う。図30に示す各ビットにおいて、分子は
被告クロックを示し、分母は原告クロックを示す。図30
には、図12におけるクロック四面体の完全な四面体、完
全な側面及び完全な稜線に基づく回路の動作状態に関す
るブール論理式を示すための情報が与えられている。こ
こで、fiはに16ビットのフォールトフラグワードのi番
目のビットを表すものとする。fiはfiの補数を表すもの
とする。「+」はORを、「・」はANDを表示表すものと
する。完全な四面体に相当する「二重障害時動作可能」
の状態は、例えばS2FOという記号で表すことができ、
次式で与えられる: S2FO=f1≧f2≧f3≧f4≧≧≧≧f16 各クロックは、自らを障害ありと指示しないことが必
要である。1つの「単一障害時使用可能」状態は、「四
面体上のに1つの完全な側面がある」ということ等価で
ある。四面体は、4つの側面を有する。そして、「単一
障害時使用可能性」の論理値を得るためには、4つの側
面の完全性を個別にチェックし、それらの結果をOR処理
するだけでよい。クロック2、3及び4にかかわる側面
の完全性は、例えばSF234という記号で表すことがで
き、次式で与えられる: SF234=f5≧f6≧f8≧f9≧f11≧f12≧f14≧f15≧f16 すなわち、この側面に含まれないモジュールにかかわ
るものを除いてフォールトフラグワードの全てのビット
がOR処理される。他の側面についての評価も同様に行わ
れる。すると、「単一障害時使用可能性」は、S1FO=
SF234+SF134+SF124+SF123で与えられる。同様
に、クロック1と2との間の稜の完全性は、例えば記号
SE12で表すことができ、次式で与えられる: SE12=f1≧f4≧f7≧f8 そして、「動作可能及びフェールセーフ」の状態は、例
えば記号SOPで表すことができ、次式で与えられる: SOP=SE12+SE13+SE14+SE23+SE24+SE34 この動作診断は、特定モジュールに障害があるという
ことを暗に意味するものではない。この動作診断は、ク
ロック回路10の最小限のフォールトトレラントを保証す
るものである。他の種類の保守診断のような診断は、こ
こで行われなかった障害分離を遂行しなければならない
であろう。
要するに、本発明は、複数の同じモジュール11、12、
13、14を有する多重障害時動作可能なフォールトトレラ
ント・クロック10にある。各モジュールは、各々受信器
20及びクロック発生器18を含むクロック装置115を有す
る。また、各モジュールは、クロック装置115に接続さ
れていてフォールトトレラントの同時始動を行うための
リセット手段16、及び各モジュール11、12、13、14のク
ロック装置115及びリセット手段16に接続されていてこ
れら複数のモジュール11、12、13、14クロック装置115
に関する障害情報を収集する(フォールトトレラントモ
ードにおいて)するための動作診断手段17を有する。
各モジュール11、12、13、14のクロック装置115は、
互いに他の各モジュール11、12、13、14のクロック装置
115に対する2つのポイントツーポイント接続手段を有
する。各モジュール11、12、13、14のリセット手段16
は、互いに他の各モジュール11、12、13、14のリセット
手段16に対する2つのポイントツーポイント接続手段を
有する。これらの各モジュールの動作診断手段17は、互
いに他のモジュール11、12、13、14の動作診断手段17に
対する2つのポイントツーポイント接続手段を有する。
各クロック装置115の受信器20は、各クロック装置115
のポイントツーポイント接続手段に接続されていて入力
クロックの最新の履歴を記憶すると共に障害検出を実行
するための複数の入力クロックマネージャ62を有する。
各クロック装置115の受信器20の複数の入力クロックマ
ネージャ62に接続されたデータコレクタ64は、障害が除
去されたフォールトトレラント・クロック信号である候
補基準クロック信号を発生させる。データコレクタ64及
び受信器20の複数の入力クロックマネージャ62とクロッ
ク発生器18に接続された基準クロックマネージャ66は、
基準フォールトトレラント・クロック入力信号118、同
期信号48、50及び障害チェックタイミング信号76、82、
88を発生させる。ここで、これらのタイミング信号は、
複数の入力クロックマネージャ62が障害の有無をチェッ
クするべきタイミングを指示する。
クロック発生器18は、受信器20から同期信号48、50を
受け取り、クロックイネーブル機構をリセットし、高周
波クロック信号を分周し、コマンドが入力されたときセ
ルフリローディングする第1のカウンタ56;第1のカウ
ンタ56、クロックイネーブル機構及びリセット手段16に
接続されていて受信器20から同期信号48、50を受け取る
と共に、各々1600及び100ヘルツ信号54、52を発生させ
るための第2のカウンタ58;及びクロック発生器18の第
1及び第2のカウンタ56、58に接続されていて受信器20
から同期信号48、50を受け取ると共に、クロック装置11
5で使用される外部高周波クロックのスロー障害を検出
し、スロー障害信号146を入力クロックマネージャ62へ
送出す組合わせ論理手段116を有する。
リセット手段16またはクロックイネーブル手段16(図
5)は、二重障害時動作可能性またはフェールセーフ初
期化、4者択2投票器論理を達成するための組合わせ論
理手段を106有し、これは他のクロックモジュールから
の3つの外部クロックイネーブル信号37、38、39に接続
された複数の入力を有し、またクロックイネーブル信号
28を他のクロックモジュールへ供給すると共に、「早期
の」パワーオンリセット及びパワーオンレディであるフ
ォールトトレラント・クロックの外部へ内部クロックイ
ネーブル信号30を供給する出力を有する。また、リセッ
ト手段16は、クロックイネーブル信号30をモジュールの
水晶発振器に同期させると共に、電源がオン状態の間ク
ロックを「オン」位置にラッチするためのリセットラッ
チ110を有し、その第1の入力はリセット手段16の出力3
0に接続され、第2の入力は内部クロックリセット112に
接続されている。リセット障害検出論理回路108も、同
様にリセット手段16の一部をなしており、オーバーオー
ルクロック(全てのモジュールに対して全体的に作用
し、クロックの全体的収集をリセットする)にかかわる
ハードウェア障害及び通信障害を検出すると共に、他の
モジュールからのクロックイネーブル信号37、38、39に
接続されかつ前回の障害ラッチ状態を記録する不揮発性
のメモリ120に接続された入力を有し、フォールトフラ
グ信号が動作診断回路に接続された出力を有し、さらに
早期クロックリセット(前に述べたように、早期クロッ
クリセットパワーオンレディに先行する)である内部ク
ロックリセットに接続された入力を有する。
動作診断手段17またはフォールトフラグ通信システム
17は、図22にクロック装置15と共に示してある。図23
は、動作診断手段17のクロック信号及びフォールトフラ
グ通信装置信号の波形タイミング図を示す。動作診断手
段17(図22−29)は、同じモジュールのフォールトトレ
ラント・クロック出力52から僅かに位相がずれたもう1
つのクロック信号124を得るためにクロック整相回路122
(図22及び24)を有し(すなわち、この回路は、高低の
周波数を両方共使用するという点において独特であり、
フォールトトレラント・モジュールのクロック出力には
より高い周波数のクロックが必要である)、モジュール
からの両方の周波数の信号52、54及びリセット回路110
からの同期クロックイネーブル信号29に接続された入力
を有する。整相回路122は、1600Hzクロックの立ち上が
りエッジを入力して100Hzクロックに1/32サイクルの遅
延を与えるフリップフロップである。
また、動作診断手段は、クロックモジュール11のフォ
ールトフラグ状態を例えば、他のモジュール12、13、14
の動作診断手段17へ送信するためにフォールトフラグ通
信送信器126(図22及び25)を有し(フラグを処理する
クロックリセット)、この場合各モジュール11、12、1
3、14は他のモジュールから独立した8つのフラグを有
し、かつこれらの各モジュールは24のフラグの他、それ
自身の8つのフラグ、4つのクロックフラグ及び4つの
リセットフラグを受け取り(各モジュールから1つず
つ)、これらの各フラグは各モジュール自体及び他のモ
ジュールを含めたモジュールによるオピニオンであり
(4+4x4)、各モジュール自体の入力はクロック整相
回路122の出力及びリセット回路16とクロック受信器回
路20からのフォールトフラグに接続されている。送信器
126は、他のモジュールの動作診断回路17へシリアルデ
ータを出力し、各フラグは、受信器128に通信回線に障
害があるかどうかを検出させる出力である回線試験信号
を発生させる機能を有する。通信回線が使用されていな
いときにも動作中であると判断されると、これらの出力
は通信回線を通る時間の50パーセントの間セットされ
る。
フォールトフラグ受信器128(図22及び26)も動作診
断手段17の一部をなし、シリアルフォールトフラグデー
タをパラレルフラグデータに変換する(全てのフォール
トフラグを組合わせ論理回路132に同時に供給して処理
することができるようにするために)役割を有する。受
信器128の入力は、全てのモジュールのフォールトフラ
グ通信送信器126の出力及び同じモジュールのクロック
整相回路122に接続され、出力は32ビットフォールトフ
ラグラッチ130(図22、28)に接続されたパラレルフォ
ールトフラグである。回線障害検出回路134(図22及び2
7)は、フォールトフラグ通信回線がフォールトフラグ
を送信することができない時、これを検出する。論理回
路132の入力には、フォールトフラグ受信器128からのパ
ラレルフォールトフラグ、及びクロック整相回路122か
らのクロック信号(100Hzクロック信号−−モジュール
におけるフォールトトレラント・クロック信号)が接続
されている。マスター−スレーブ・フリップフロップ13
6の出力は、そのモジュールのフラグラッチ130に供給さ
れる回線障害フラグである。
フォールトフラグラッチ130(図22、28)は、回線障
害フラグとパラレルフォールトフラグを結合して、永久
ラッチされる32ビットのフォールトフラグワードを生成
する役割を有する。ラッチ130の入力は、回線障害検出
回路134からの回線障害フラグ、フォールトフラグ受信
器128からのパラレルフォールトフラグと、クロック整
相回路122からの100Hzフォールトトレラント・クロック
である。フォールトフラグラッチ130は、32ビットのフ
ォールトフラグワードをマイクロプロセッサ24または組
合わせ論理回路(クロックシステム及びクロックリセッ
ト機構が二重障害時動作可能モード、単一障害時動作可
能モードまたはゼロ障害時動作可能モードとなることを
各々指示する前述の式で示されるように、ブール論理に
よるハードウェア、ファームウエアまたはソフトウェア
で実施される)へ出力し、各モジュール11、12、13、1
4、は各々32ビットワードを有する。
図31aは、出力S2FOに対する16のクロックフォールト
フラグ(FFCL)入力の論理142を示す。S2FO=1であれ
ば、クロックシステムは二重障害時動作可能である。図
31bは、出力SR 2FOに対する16のリセットフォールトフ
ラグ(FFRL)入力の論理144を示す。SR 2FO=1であれ
ば、クロックリセット機構は二重障害時動作可能であ
る。始動またはリセット機構用の障害検出システムは、
クロック用の障害検出システムとは異なる。
図31cは、S1FO出力に用いられるクロックフォールト
フラグ入力の論理を示す。S1FO=1ならば、クロック
システムは、少なくとも単一障害時動作可能である。FF
CLiは、図30に示すような順序付けの16ビットワードFFC
Lのi番目の要素を表す。図31dは、SR 1FO出力に用いら
れるフォールトフラグ入力の論理を示す。SR 1FO=1な
らば、リセット回路は少なくとも単一障害時動作可能で
ある。FFRLiのi番目の項は、16ビットワードFFRLのi
番目の要素を表す。図31cは、SOP出力に用いられるクロ
ックフォールトフラグ入力の論理である。SOP=1であ
れば、クロックシステムは少なくとも動作可能でありか
つフェールセーフである。図31fは、SROP出力に用いら
れるリセット回路フォールトフラグ入力の論理である。
SR OP=1であれば、クロックリセット機構または回路
は少なくとも動作可能でありかつフェールセーフであ
る。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 イングルハート,マシュー・ジョン アメリカ合衆国 55418 ミネソタ州・ ミネアポリス・ユリシーズ ストリート ノースイースト・2530 (56)参考文献 特開 昭60−211526(JP,A) 特開 平2−128232(JP,A) 特開 昭62−92062(JP,A) 特開 平3−102933(JP,A) 特開 昭61−84923(JP,A) 特開 昭59−90125(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 1/04 303 G06F 11/00 310

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】複数のクロックモジュール(11、12、13、
    14)よりなる多重障害時動作可能フォールトトレラント
    ・クロック(10)において、各クロックモジュールが、 クロック発生器(18)と、 上記クロック発生器(18)に接続されたクロック受信器
    (20)と、 上記クロック受信器(20)に接続されたリセット手段
    (16)と、 上記リセット手段(16)及び上記クロック受信器(20)
    に接続されたフォールトフラグ送信器(126)と、 上記フォールトフラグ送信器(126)に接続されたフォ
    ールトフラグ受信器(128)と、 上記クロック発生器(18)、上記フォールトフラグ送信
    器(126)、及び上記フォールトフラグ受信器(128)に
    接続されたクロック整相回路(122)と、 上記クロック整相回路(122)及び上記フォールトフラ
    グ受信器(128)に接続された回線障害検出器(134)
    と、 上記クロック整相回路(122)、上記フォールトフラグ
    受信器(20)及び上記回線障害検出器(134)に接続さ
    れた永久ラッチ(130)と、 からなり、上記各クロックモジュールの上記リセット手
    段(16)、上記クロック受信器(20)、上記フォールト
    フラグ送信器(126)、上記フォールトフラグ受信器(1
    28)、上記クロック発生器(18)及び上記クロック発生
    器(18)を、上記複数のクロックモジュール(11、12、
    13、14)の各他のクロックモジュールに接続したことを
    特徴とする多重障害時動作可能フォールトトレラント・
    クロック。
  2. 【請求項2】複数のクロックモジュール(11、12、13、
    14)よりなる多重障害時動作可能フォールトトレラント
    ・クロック(10)において、各クロックモジュールが、 クロック受信器(20)及びこのクロック受信器(20)に
    接続されたクロック発生器(18)からなるクロック装置
    (115)と、 上記複数のクロックモジュール(11、12、13、14)の各
    クロックモジュールの上記クロック装置(115)の上記
    クロック受信器(20)及び上記クロック発生器(18)に
    接続されて、上記クロック装置(115)をフォールトト
    レラントと同時始動させるリセット手段(16)と、 各クロックモジュールの上記クロック受信器(20)及び
    上記リセット手段(16)に接続され、かつ前記各クロッ
    クモジュール内の潜在的障害を独立して検出することが
    できるよう該各クロックモジュール内にそれぞれ組み込
    まれているとともに前記潜在的障害が検出された際にフ
    ォールトフラグを生成するよう構成された動作診断手段
    (17)と、 前記フォールトトレラント・クロック(10)の動作状態
    を評価するため前記フォールトフラグを前記各クロック
    モジュール(11、12、13、14)間で交換する手段と、 からなることを特徴とするフォールトトレラント・クロ
    ック(10)。
  3. 【請求項3】上記クロック受信器(20)が、 上記複数のクロックモジュール(11、12、13、14)の各
    クロックモジュールの各クロック装置(115)に接続さ
    れた複数の入力クロックマネージャ(62)と、 上記複数の入力クロックマネージャ(62)に接続され
    て、障害を除去したフォールトトレラント・クロック信
    号よりなる候補基準クロック信号(68)を発生させるデ
    ータコレクタ(64)と、 上記コレクタ(64)及び上記複数の入力クロックマネー
    ジャ(62)と上記クロック発生器(18)に接続されてい
    て、基準フォールトトレラント・クロック入力信号、同
    期信号、及び上記複数の入力クロックマネージャ(62)
    が障害の有無をチェックするタイミングを指示する障害
    チェックタイミング信号を発生させる基準クロックマネ
    ージャ(66)と、 からなることを特徴とする請求項2記載のフォールトト
    レラント・クロック(10)。
  4. 【請求項4】上記クロック発生器(18)が、 上記基準クロックマネージャ(66)及び上記リセット手
    段(16)に接続されて高周波信号を分周する第1のカウ
    ンタ(56)と、 上記第1のカウンタ(56)及び上記基準クロックマネー
    ジャ(66)と上記リセット手段(16)に接続されて、特
    定周波数の信号を発生させる第2のカウンタ(58)と、 上記の第1及び第2のカウンタと、上記複数の入力クロ
    ックマネージャ(62)及び上記基準クロックマネージャ
    (66)に接続されて、上記基準クロックマネージャ(6
    6)から少なくとも1つの同期信号を受け取り、外部高
    周波信号のスロー障害を検出するための組合わせ論理手
    段(116)と、 からなることを特徴とする請求項3記載のフォールトト
    レラント・クロック(10)。
  5. 【請求項5】上記リセット手段(16)が、 上記複数のクロックモジュール(11、12、13、14)の各
    クロックモジュールの他のリセット手段(16)に接続さ
    れて、上記複数のクロックモジュール(11、12、13、1
    4)の各クロックモジュールの他のリセット手段(16)
    にクロックイネーブル信号を供給する組合わせ論理手段
    (106)と、 上記クロック受信器(20)に接続されて、上記リセット
    手段(16)を発振器に同期させると共に、上記クロック
    装置(115)をオン状態にラッチするリセットラッチ(1
    10)と、 上記組合わせ論理手段(106)、上記リセットラッチ(1
    10)及び上記クロック受信器(20)に接続されており、
    かつ上記複数のクロックモジュール(11、12、13、14)
    の各他のクロックモジュールの上記リセット手段(16)
    に接続されて、上記リセット手段(16)の障害を検出す
    るリセット障害検出論理回路(108)と、 からなることを特徴とする請求項4記載のフォールトト
    レラント・クロック(10)。
  6. 【請求項6】上記動作診断手段(17)が、 上記クロック発生器(18)及び上記リセット手段(16)
    に接続されて、フォールトトレラント・クロック信号に
    対して僅かに位相がずれたもう1つのクロック信号を発
    生させるクロック整相手段(122)と、 上記リセット手段(16)、クロック整相手段(122)、
    上記クロック装置(115)、及び上記複数のクロックモ
    ジュール(11、12、13、14)の各他のクロックモジュー
    ルに接続されて、上記複数のクロックモジュールの上記
    各クロックモジュールから各他のクロックモジュールに
    フォールトフラグを送信するフォールトフラグ送信器
    (126)と、 上記複数のクロックモジュール(11、12、13、14)の各
    クロックモジュール、上記フォールトフラグ送信器(12
    6)、及び上記クロック整相手段(122)に接続されて、
    上記複数のクロックモジュール(11、12、13、14)の各
    クロックモジュールの上記フォールトフラグ送信器(12
    6)からフォールトフラグを受信する複数のフォールト
    フラグ受信器(128)と、 上記複数のフォールトフラグ受信器(128)及び上記ク
    ロック整相手段(122)に接続されていて、フォールト
    フラグ送信及び受信の障害の有無を確認するための回線
    故障検出器(134)と、 上記回線故障検出器(134)、上記複数のフォールトフ
    ラグ受信器(128)及び上記クロック整相手段(122)に
    接続されて、上記多重障害時動作可能フォールトトレラ
    ント・クロック(10)の動作モードの指示信号を出力す
    るフォールトフラグラッチ(130)と、 からなることを特徴とする請求項5記載のフォールトト
    レラント・クロック(10)。
  7. 【請求項7】前記複数のクロックモジュール(11、12、
    13、14)がそれぞれマイクロプロセッサ(24)と接続
    し、 前記リセット手段(16)が前記クロックモジュール(1
    1、12、13、14)のすべてのマイクロプロセッサ(24)
    が初期化された後に、同期したイネーブル信号を前記各
    クロックモジュール(11、12、13、14)のクロック装置
    (115)に同時に供給することを特徴とする請求項2記
    載の多重障害時動作可能フォールトトレラント・クロッ
    ク。
  8. 【請求項8】複数のクロックモジュール(11、12、13、
    14)よりなる多重障害時動作可能フォールトトレラント
    ・クロック(10)において、各クロックモジュールが、 クロック受信器(20)と上記クロック受信器(20)に接
    続されたクロック発生器(18)とからなるクロック装置
    (115)と、 上記クロック受信器(20)及び上記複数のクロックモジ
    ュール(11、12、13、14)の各クロックモジュールの上
    記クロック装置(115)の上記クロック発生器(18)に
    接続されて、上記クロック装置(115)をフォールトト
    レラント同時始動させるリセット手段(16)とを有し、 上記クロック受信器(20)が、 上記複数のクロックモジュール(11、12、13、14)の各
    クロックモジュールのクロック装置(115)に接続され
    た複数の入力クロックマネージャ(62)と、 上記複数の入力クロックマネージャ(62)に接続され
    て、障害を除去したフォールトトレラント・候補基準ク
    ロック信号(68)を発生させるコレクタ(64)と、 上記コレクタ(64)と複数の入力クロックマネージャ
    (62)及び上記クロック発生器(18)に接続されてい
    て、基準フォールトトレラント・クロック入力信号、同
    期信号、及び上記複数の入力クロックマネージャ(62)
    が障害の有無をチェックするタイミングを指示する障害
    チェックタイミング信号を発生させる基準クロックマネ
    ージャ(66)とから構成され、 上記クロック発生器(18)が、 上記基準クロックマネージャ(66)及び上記リセット手
    段(16)に接続されて高周波信号を分周する第1のカウ
    ンタ(56)と、 上記第1のカウンタ(56)及び上記基準クロックマネー
    ジャ(66)と上記リセット手段(16)及び基準クロック
    マネージャ(66)に接続されて、特定周波数で信号を発
    生させる第2のカウンタ(58)と、 第1、第2のカウンタと複数の入力クロックマネージャ
    (62)及び基準クロックマネージャ(66)に接続され
    て、基準クロックマネージャ(66)から少なくとも1つ
    の同期信号を受け取り、外部高周波信号のスロー障害を
    検出するための組合わせ論理手段(116)とから構成さ
    れ、 ていることを特徴とする多重障害時動作可能フォールト
    トレラント・クロック(10)。
JP51034993A 1991-11-27 1992-11-24 多重障害時動作可能なフォールトトレラント・クロック Expired - Fee Related JP3445270B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US800,904 1991-11-27
US07/800,904 US5404363A (en) 1991-11-27 1991-11-27 Two-fail-operational fault-tolerant multiple clock system
PCT/US1992/010435 WO1993011489A1 (en) 1991-11-27 1992-11-24 Multiple-fail-operational fault tolerant clock

Publications (2)

Publication Number Publication Date
JPH07501642A JPH07501642A (ja) 1995-02-16
JP3445270B2 true JP3445270B2 (ja) 2003-09-08

Family

ID=25179677

Family Applications (1)

Application Number Title Priority Date Filing Date
JP51034993A Expired - Fee Related JP3445270B2 (ja) 1991-11-27 1992-11-24 多重障害時動作可能なフォールトトレラント・クロック

Country Status (6)

Country Link
US (1) US5404363A (ja)
EP (1) EP0614552B1 (ja)
JP (1) JP3445270B2 (ja)
CA (1) CA2120333C (ja)
DE (1) DE69223990T2 (ja)
WO (1) WO1993011489A1 (ja)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5537655A (en) * 1992-09-28 1996-07-16 The Boeing Company Synchronized fault tolerant reset
JPH0764957A (ja) * 1993-08-23 1995-03-10 Mitsubishi Electric Corp タイマ装置
US5537583A (en) * 1994-10-11 1996-07-16 The Boeing Company Method and apparatus for a fault tolerant clock with dynamic reconfiguration
US5557156A (en) * 1994-12-02 1996-09-17 Digital Instruments, Inc. Scan control for scanning probe microscopes
US5784386A (en) * 1996-07-03 1998-07-21 General Signal Corporation Fault tolerant synchronous clock distribution
KR100201333B1 (ko) * 1996-09-11 1999-06-15 유기범 클럭의 페일 판별 장치
US5923611A (en) * 1996-12-20 1999-07-13 Micron Technology, Inc. Memory having a plurality of external clock signal inputs
US6272647B1 (en) 1998-11-20 2001-08-07 Honeywell Inc. Fault tolerant clock voter with recovery
JP3492655B2 (ja) 2001-08-20 2004-02-03 エヌイーシーシステムテクノロジー株式会社 電子機器
US7363546B2 (en) * 2002-07-31 2008-04-22 Sun Microsystems, Inc. Latent fault detector
US7089442B2 (en) * 2003-02-07 2006-08-08 Rambus Inc. Fault-tolerant clock generator
US7296170B1 (en) * 2004-01-23 2007-11-13 Zilog, Inc. Clock controller with clock source fail-safe logic
US8315274B2 (en) * 2006-03-29 2012-11-20 Honeywell International Inc. System and method for supporting synchronous system communications and operations
US7562247B2 (en) * 2006-05-16 2009-07-14 International Business Machines Corporation Providing independent clock failover for scalable blade servers
US8972772B2 (en) * 2011-02-24 2015-03-03 The Charles Stark Draper Laboratory, Inc. System and method for duplexed replicated computing
JP5402964B2 (ja) * 2011-03-11 2014-01-29 オムロン株式会社 相互監視システム、管理装置およびシステム
WO2012106929A1 (zh) * 2011-07-26 2012-08-16 华为技术有限公司 计算机系统及其配置时钟的方法
US9103845B2 (en) * 2013-03-08 2015-08-11 Freescale Semiconductor Inc. System and method for reducing offset variation in multifunction sensor devices
US9992010B2 (en) * 2015-11-24 2018-06-05 The Charles Stark Draper Laboratory, Inc. System and method for augmenting duplexed replicated computing
US10795783B2 (en) * 2017-10-16 2020-10-06 Microchip Technology Incorporated Fault tolerant clock monitor system

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4239982A (en) * 1978-06-14 1980-12-16 The Charles Stark Draper Laboratory, Inc. Fault-tolerant clock system
DE3023624C1 (de) * 1980-06-24 1981-10-01 Siemens AG, 1000 Berlin und 8000 München Taktgebareanordnung zum Erzeugen von Stauerimpulsen fuer ein redundantes Datenverarbeitungssystem
US4386426A (en) * 1980-11-03 1983-05-31 Burlington Industries, Inc. Data transmission system
US4644498A (en) * 1983-04-04 1987-02-17 General Electric Company Fault-tolerant real time clock
US4696019A (en) * 1984-09-19 1987-09-22 United Technologies Corporation Multi-channel clock synchronizer
US4683570A (en) * 1985-09-03 1987-07-28 General Electric Company Self-checking digital fault detector for modular redundant real time clock
US4956842A (en) * 1988-11-16 1990-09-11 Sundstrand Corporation Diagnostic system for a watchdog timer
US4984241A (en) * 1989-01-23 1991-01-08 The Boeing Company Tightly synchronized fault tolerant clock
US4979191A (en) * 1989-05-17 1990-12-18 The Boeing Company Autonomous N-modular redundant fault tolerant clock system
US5233617A (en) * 1990-04-13 1993-08-03 Vlsi Technology, Inc. Asynchronous latch circuit and register

Also Published As

Publication number Publication date
US5404363A (en) 1995-04-04
CA2120333C (en) 2003-10-14
DE69223990D1 (de) 1998-02-12
JPH07501642A (ja) 1995-02-16
CA2120333A1 (en) 1993-06-10
EP0614552A1 (en) 1994-09-14
DE69223990T2 (de) 1998-07-02
EP0614552B1 (en) 1998-01-07
WO1993011489A1 (en) 1993-06-10

Similar Documents

Publication Publication Date Title
JP3445270B2 (ja) 多重障害時動作可能なフォールトトレラント・クロック
US8381012B2 (en) Apparatus and method for redundant and spread spectrum clocking
US6035416A (en) Method and apparatus for interface dual modular redundancy
US20020152425A1 (en) Distributed restart in a multiple processor system
JP2002515146A (ja) 3連モジュール冗長コンピュータシステム
GB2194366A (en) Apparatus for on-line checking and reconfiguration of integrated circuit chips
WO2020143243A1 (zh) 一种应用于列车自动运行系统的双系热备切换方法及系统
CN101119192A (zh) 一种时钟同步方法和系统
US7089462B2 (en) Early clock fault detection method and circuit for detecting clock faults in a multiprocessing system
CN107480016B (zh) 一种传输设备接口电路自检方法及其电路自检系统
US6002970A (en) Method and apparatus for interface dual modular redundancy
US4860289A (en) Reset circuit for electrically isolated circuits communicating via uart
US5381416A (en) Detection of skew fault in a multiple clock system
CN113791937B (zh) 一种数据同步冗余系统及其控制方法
Usas A totally self-checking checker design for the detection of errors in periodic signals
CN116048192A (zh) 时钟备份电路、控制方法、系统、装置、介质及服务器
JP3069585B2 (ja) データ処理装置における目標指定リセット法
CN110175091B (zh) 一种Lockstep架构下的节点间信号同步方法、装置及电路
EP0800136B1 (en) Fault tolerant clock signal source for triplicated data processing system
KR100198416B1 (ko) 이중화 제어시스템에서의 동기제어를 위한 동기신호 감시회로
KR100333484B1 (ko) 이중화된 데이터 채널을 갖는 동시 쓰기 방식을 적용한결함 허용 제어 시스템
KR0144824B1 (ko) 다수의 노드 장치들에 대한 장애발생 및 장애복구 감지회로
KR100291097B1 (ko) 이중화 구조를 갖는 프로세서보드에 있어서 리얼타임클럭관련장애검출장치
JPH06232739A (ja) クロック冗長化方式
JP2538682B2 (ja) 基準クロック源自動切替え方式

Legal Events

Date Code Title Description
R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20080627

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090627

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees