JPH07509088A - フォールトトレラント・コンピュータシステム - Google Patents

フォールトトレラント・コンピュータシステム

Info

Publication number
JPH07509088A
JPH07509088A JP6504273A JP50427394A JPH07509088A JP H07509088 A JPH07509088 A JP H07509088A JP 6504273 A JP6504273 A JP 6504273A JP 50427394 A JP50427394 A JP 50427394A JP H07509088 A JPH07509088 A JP H07509088A
Authority
JP
Japan
Prior art keywords
bus
cpu
data
central processing
line
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP6504273A
Other languages
English (en)
Other versions
JP3713554B2 (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 JPH07509088A publication Critical patent/JPH07509088A/ja
Application granted granted Critical
Publication of JP3713554B2 publication Critical patent/JP3713554B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1654Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • 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
    • 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/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • 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/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • 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/181Eliminating the failing redundant component
    • 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
    • G06F11/185Error 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 and the voting is itself performed redundantly
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system 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/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
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 フォールトトレラント・コンピュータシステム皮術分厨 本発明は、フォールトトレラント(故障許容)コンピュータシステムに関する。
11挟新 システムの信頼性への従来のアプローチは、設計手法の改善、厳しい品質制御、 及び外部環境からの影響(例えば、硬化、放射線の遮蔽)からシステム構成要素 を防護するための様々な手法を介して故障の発生を防止することを試みている。
フォールトトレランス法は、システムの故障が発生すると仮定し、かつかかる故 障の存在下で動作し続けるシステムの設計を試みる。別言すれば、フォールトト レラント・システムは、システムの故障を生じることなくその内部構造又は外部 環境の好ましくない変化を許容するように設計される。この目的を達成するため に、フォールトトレラント・システムには、様々な案が使用されている。一旦故 障が検出されると、構造上及び情報の冗長度を様々に組み合わせることによって 、これを(例えば、システムエレメントのレプリカ作成を介して)マスクし、又 はこれを(例えば、動的システム再構成又は他の何らかの回復処理によって)修 正することを可能にする。このようなフォールトトレランス技術に従来の故障防 止技術を結合させることによって、システム全体の信頼性をより大幅に向上させ ることが実現可能である。
魚肌Ω皿示 本発明によれば、ハードウェアの故障の影響を減少させたフォールトトレラント ・コンピュータアーキテクチャが提供される。このアーキテクチャは、従来のコ ンピュータサブシステムを相互接続するための複数のインタフェーススロットを 有する主データバスを使用する。このようなサブシステムには、磁気ディスクサ ブシステム及びシリアル通信サブシステムを含むことができる。サブシステムの 数及び種類は相当に変化させることができるが、本発明を構成する発明要素を包 含する中央プロセッササブシステムは常に含まれる。
前記中央プロセッササブシステムは、並行に概ね同期化して動作する複数の中央 処理モジュールを使用する。前記中央処理モジュールの中の1個がマスク中央処 理モジュールとして動作し、主データバスからデータを読み出しかつデータを書 き込むことができる唯一のモジュールとなる。前記マスク中央処理モジュールは 、前記中央処理モジュールの中から最初に任意に選択される。
各中央処理モジュールは、ハードウェアの故障を示す不一致があるかどうかを決 定するために、該モジュールが前記主データバス上のデータを各モジュール内の 副バス上のデータと比較し得るようにする手段を備える。このような不一致が検 出された場合には、各モジュールは、特定のモジュールが故障のソースである確 率を反映する状態出力を発生する。
前記主データバスとは別個の同期バスによって前記中央処理モジュールが相互接 続され、かつ各モジュールから他の全中央処理モジュールに前記状態出力が送ら れる。
より詳細に言えば、各中央処理モジュールは、第1のバスインタフェースを介し て主データバスに接続された共用データバスからなる。読出し書込み用メモリ、 非同期レシーバ/トランスミッタ回路、タイマ回路、複数の制御・状態レジスタ 、並びに欠陥のあるコンピュータサブシステム又は存在しないコンピュータサブ システムがある主データバスインタフェーススロットに対応してデータを記憶す ることを目的とする専用読出し書込み用メモリを含む多数のハードウェア要素が 前記共用データバスに接続されている。
各モジュールは更に、前記主データバスのデータを前記共用データバスのデータ と比較してそれに応じた状態出方を発生することを目的とする、前記第1バスイ ンタフエースの部分であるコンパレータ回路からなる。また、パリティ検査回路 が前記第1バスインタフエースの一部分をなし、前記主データバスのデータ線を 監視して、前記コンパレータ回路への入力として使用されるパリティ出方を発生 する。
専用データバスが第2のバスインタフェースを介して前記共用データバスに接続 されている。また、前記専用データバスは、読出し書込み用メモリ、読出し専用 メモリ及び「ダーティ」メモリを含む複数のハードウェア要素に接続されている 。前記「ダーティ」メモリの目的は、情報が書込まれている読出し書込み用メモ リ内の記憶場所に対応してデータを記憶することにある。後述するように、これ によっである中央処理モジュールから別の中央処理モジュールへのデータの複製 が容易になる。
また、前記専用データバスに接続されかつ各中央処理モジュールの動作を制御す る中央処理装置(CPU)があり、他の中央処理モジュールの中央処理装置と概 ね同期して動作する。
最後に、各中央処理モジュールは、前記第1及び第2バスインタフエースに接続 されかつこれらを制御する制御論理回路を備える。前記制御論理回路は、その入 力として各中央処理モジュールの前記コンパレータ回路によって生成された前記 状態出方を受け取る。前記回路は、これらの制御信号及び以下に詳細に説明する 他の制御信号を用いて、前記中央処理装置に故障が発生しているかどうかを示す 制御論理信号を生成する。
故障が検出された場合には、各モジュールは、故障の位置を識別し、故障中のモ ジュール又はサブシステムを使用不能状態にし、かつ前記故障が検出されたとき に実行されていた命令に復帰させるルーチンを実行する。
本発明は、その第1の側面によれば、主データバスと、関連する読出し書き込み 用メモリをそれぞれ有する複数のプロセッサ手段とからなり、前記各プロセッサ 手段が、ローカルデータバスと、前記ローカルデータバスを前記主データバスに 相互接続するデータ転送インタフェースとを有し、前記データ転送インタフェー スが、前記主データバスに存在するデータ及び/又はアドレスを、前記各ローカ ルデータバスに存在するデータ及び/又はアドレスと比較するように構成され、 かつ更に比較した前記データ及び/又はアドレスに何らかの不整合が検出される と、前記全プロセッサ手段に割込み信号を印加するように構成されたコンパレー タ手段からなることを特徴とするフォールトトレラント・コンピュータシステム を提供する。
本発明の第2の側面によれば、関連するメモリを有する処理手段と、前記処理手 段に少な(とも1つのデータ処理ハードウェア手段を相互接続するためのデータ バスとからなり、前記データバスが、前記データ処理ハードウェア手段から前記 処理手段にデータ転送応答信号を搬送するための線を有し、前記処理手段が、( a)データ転送応答信号の受信時、又は(b)所定の時間間隔内にデータ転送応 答信号を受信しない場合、又は(c)前記関連するメモリが前記データ転送の試 みに関係する前記ハードウェア手段に関して所定の表示を含む場合に、データ転 送の試みを終了させるように構成されたコンピュータシステムが提供される。こ のシステムでは、前記所定の時間間隔を成る決められた時間の間隔とし、又は2 つの所定の事象の間隔(時間的に変化することがある)とすることができる。
本発明の第3の側面によれば、関連するメモリを有するプロセッサ手段と、前記 プロセッサ手段と前記メモリとの間で動作するアドレス変換手段と、前記アドレ ス変換手段によって供給される変換されたアドレスに基づいて主メモリに書込み アクセスを記録する書込み記録用メモリとからなるコンピュータシステムが提供 される。
本発明の第4の側面によれば、関連するデータメモリをそれぞれ有する複数のプ ロセッサ手段からなるコンピュータシステムであって、第1のプロセッサ手段の 前記データメモリの内容を第2のプロセッサ手段の前記データメモリに複製する ように構成され、前記第2のプロセッサ手段が、複写処理が行われている際にそ のデー次メモリにあらゆる書込みアクセスを記録する書込み記録用メモリを有し 、更に、それについて前記書込み記録用メモリが書込みアクセスを記録した前記 データメモリのアドレスからデータを複写するように構成されているコンピュー タシステムが提供される。
本発明の第5の側面によれば、関連するメモリをそれぞれ有する複数のプロセッ サ手段からなり、前記各プロセッサ手段がそのメモリ内に、そのハードウェアの 複数のクロック駆動型要素の内容又は状態を記録した後に、前記処理手段を同時 にトリガしてリセット状態にするように構成され、前記各プロセッサ手段が、リ セット時にそのメモリから前記要素の状態又は内容を復元するように構成された コンピュータシステムが提供される。
本発明の第6の側面によれば、それぞれクロック信号を必要とする複数のサブシ ステムと、クロック信号供給源と、前記クロック信号供給源をある前記サブシス テム12に又は前記各サブシステムにそれぞれ接続する単一のクロック信号線又 は複数のクロック信号線と、ある1つのすブシステムを前記サブシステムに又は 他の前記各サブシステムにそれぞれ接続する単一の制御線又は複数の制御線とか らなり、前記サブシステム又は他の前記各サブシステムが、電源を投入(パワー ア・ノブ)されると、その制御線に信号を印加することによって、そのクロック 信号線に前記ある1つのサブシステムによってクロック信号が印加されるよう( こした電子システムが提供される。
本発明の第7の側面によれば、共通のデータバスに相互接続された複数のプロセ ッサ手段と、前記複数のプロセッサ手段を相互接続する2本の論理線とからなり 、いずれか1つの前記プロセッサ手段がマスクプロセッサとして動作することが でき、その場合に他のいずれの前記プロセッサ手段もマスクとして動作しないよ うに前記論理線に論理信号を印加するように構成されたコンピュータシステムが 提供される。
本発明の第8の側面によれば、共通のデータバスに相互接続された複数のプロセ ッサ手段と、前記複数のプロセッサ手段を相互接続する少なくとも1本の線とか らなり、いずれか1つの前記プロセッサ手段が、マスクプロセッサとして動作す ることができ、その場合に他の前記プロセッサ手段をパワーダウンさせる信号を 前記線に印加し得るように構成されたコンピュータシステムが提供される。
本発明の第9の側面によれば、共通のデータバスに相互接続された複数のプロセ ッサ手段からなるコンピュータシステムであって、いずれか1つの前記プロセッ サ手段がマスクプロセッサとして動作することができ、その場合に前記プロセッ サ手段又は他の前記各ブーセ・ノサ手段がチェッカとして動作するように構成さ れ、更に前記全ブロモ・ノサ手段に影響を与えるエラー状態の場合には、前記各 ブロモ・ノサ手段が、それが故障を有する確率を決定するべく自己評価を実行し 、かつその確率によって時間遅れを計算し、その時間遅れの終了時に該ブロモ・ ソサ手段がマスタの役割を引き受けようとするように構成されたコンピュータシ ステムが提供される。
本発明の第10の側面によれば、少なくとも1個の取外し可能なモジュールを備 え、前記モジュールが、電気又は電子回路と、該回路のための電源制御装置と、 前記モジュールが組付けられた時にその電源線と適合するコネクタとからなり、 更に前記モジュールを所定位置にロックしかつ前記電源制御装置を使用可能にす る状態に操作可能な機械式ロック手段を備える電気装置又は電子装置が提供され る。
K国q皿車μ輩刊 以下に、本発明について添付図面を参照しつつその単なる例示として実施例を用 いて詳細に説明する。
第1図は、本発明によるコンピュータシステムを部分的に示すブロック図である 。
第2図は、第1図の一部分を構成する中央プロセッサモジュールを示すより詳細 なブロック図である。
第3図は、第2図のプロセッサモジュールの一部分を構成するバスインタフェー スの動作を示すより詳細なブロック図である。
第4図は、第3図に示すバスインタフェースの動作を示す状態遷移図である。
第5図は、前記バスインタフェースの異なる動作モードを示す第3図と同様の図 である。
第6図は、第3図及び第5図のバスインタフェースの動作の「スレーブ」モード を示すブロック図である。
第7図は、第2図の前記中央プロセッサモジュールの一部分を形成するタイムア ウト回路及び専用(特定目的)メモリを示すブロック図であ第8図は、第2図の 中央プロセッサモジュールのクロ・ンク発イ言回路を示すブロック図である。
第9図は、前記中央プロセッサモジュールのクロ・ツク発(K回路を相互接続す る同期バスに使用されるプリント回路のレイアウトを示す図である。
第10図は、第2図の中央ブロモ・ノサモジュールの一部分を形成するエラー検 出回路を示すブロック図である。
第11図は、第2図の中央ブロモ・ソサモジュールの一部分を形成するマスク・ アービトレイション(arbitration)回路を示すブロック図である。
第12図は、第2図の中央プロセッサモジュールに具現化されtこ電力分配回路 を示すブロック図である。
第13図は、第2図の中央ブロモ・ソサモジュールの物理的構成、及び特に2個 のインクロックスイッチを示す斜視図である。
第14図は、第13図に示すインクロツクスイ・ソチの一方に関連する機構を示 す縦断面図である。
第15図は、第2図の中央プロセッサモジュールの一部分を形成する別の専用( 特定目的)メモリを示すプロ・ツク図である。
第16図は、ソフトウェアの制御下で前記中央ブロモ・ノサモジュールのリセッ トを可能にする回路を示すプロ・ツク図である。
第17図は、第16図の回路の動作を示す状態遷移図である。
BJU実 るための−良pす腹嬰 第1図に示されるコンピュータシステムは、データ転送ノくス10によって相互 接続された3つのサブシステムからなる。これら3つのサブシステムは、中央プ ロセッササブシステム12、データを記憶するための磁気ディスクサブシステム 14、及びシリアル通信サブシステム16である。この構成が単なる例示に過ぎ ないことは容易に理解される。中央プロセッササブシステム12はいずれの場合 にも存在しなければならないが、他のサブシステムの数及び種類は相当に変化さ せることができる。
各サブシステム(プロセッササブシステム12を除()とデータ転送ノくス10 との間の接続は、前記データ転送バス上の「スロット」を介して行なわれる。バ ス10は全部で8個のスロット(第1図に於ける符号18)を有し、従ってプロ セッササブシステム12に加えて8個までサブシステムを接続することができる 。
スロット18を介して接続されている前記サブシステムは、それらがデータ転送 バス10に適正にインタフェースしていることを条件として、全〈従来のもので あってよい。このため、ディスクサブシステム14及び通信サブシステム16に ついては詳細な説明を省略する。
第1図に示すように、中央プロセッササブシステム12は3つの別個の中央プロ セッサモジュール20.22.24からなる。以後、本明細書に於いてこれらの プロセッサモジュールを「cpuセット」と称することにする。データ転送バス 10によってcpuセット20.22.24間の主要な相互接続が得られるが、 これら3つのcpuセットを相互接続する同期バス2Gが更に存在する。同期バ ス26は、プロセッササブシステム12の外部にあるコンピュータのいずれの部 分とも接続されていない。
第2図は、cpuセット20.22又は24(3個とも全て同一)の中の1つを 詳細に示すブロック図である。前記cpuセ・ソト内には、専用バス28と共用 バス30との2つのデータ転送バスが存在する。これらのバスの双方にバスイン タフェース32が接続され、それによって前記両バス間のデータ転送が可能であ る。別のバスインタフェース34が共用バス30及び前記コンピュータの主デー タ転送バス10の双方に接続されている。制御論理回路ブロック36がバスイン タフェース32.34双方に接続されて、これらインタフェースの動作を制御す る。一般的に言って、専用バス/共用バス・アーキテクチャを用いることは、コ ンピュータの中央プロセッサ部分の設計に於いて通常行なわれているが、バスイ ンタフェース34の詳細な構造及び動作が新規である。これらを詳細に説明する ためには、前記コンピュータの正常な動作時にcpuセット20.22.24が 共働して動作する仕組みについて事前に説明する必要がある。
前記各Cpuセットは、専用バス28に直接接続された中央処理装置38(以下 、CPU38と称する)を有する。本実施例では、前記CPUが1個のモトロー ラ(Motorola)製68040集積回路であるが、他の型式のCPUを同 様に使用することができる。専用バス28に接続されている他のハードウェア要 素には、専用読出し書込み用メモリ40、書込み専用メモリ(FROM)42、 及び特定目的(専用)読出し書込み用メモリ44が含まれる。CPU38と各メ モリ40.42.44間の全てのデータ転用は、常に専用バス28に制限される 。読出し書込み用メモリ40及び読出し専用メモリ42は、従来のものであるか ら詳細な説明は省略する。本明細書の後の部分に於いて、特定目的メモリ44の 構成及び使用について詳細に説明する。このメモリ44は、「ダーティ」メモリ と称されるが、その理由は後の説明から明らかになる。
3個のcpuセット20.22.24を使用することによって、「三重モジュー ル冗長度」即ちTMRが得られる。別言すれば、いずれかの前記cpuセットに 発生した欠陥は、前記3個のcpuセットの行動を比較することによって検出す ることができる。正常な動作時には、3個全てのcpuセット20.22.24 が全く同じメモリ内容を(そのメモリ40.42.44内に)有し、かつ互いに 正確に同期してそれらのメモリから同じ命令を実行することになる。これらの命 令によって要求されるデータ転送のみがCPU38と(前記データ転送を実行す るCPU38と同じcpuセットの)メモリ40.42.44間に於いて行なわ れる場合、cpuセット間に主データ転送バス10を介しての対話はない。
これは、CPU38によって実行される命令が、バスインタフェース34ではな くバスインタフェース32を介して行なわれるデータ転送、別言すればCPU3 8と共用バス30に接続されたいずれかのハードウェア要素との間のデータ転送 を必要とする場合にも同じである。第2図が示すように、各cpuセット20. 22.24は、その共用バス3゜に接続された次の5つのハードウェア要素を有 する。即ち、共用読出し書込み用メモリ46、R3−232インタフエースを提 供してコンピュータ端末が前記cpuセットに直接接続できるようにする(26 92集積回路からなる)非同期レシーバ−トランスミッタ回路48と、(951 3集積回路からなる)タイマ回路50と、(後で詳細に説明する)一群の制御・ 状態レジスタ52と、(同様に後で詳細に説明する)特定目的読出し書込み用メ モリ54(このメモリ54は、後の説明から明らかになるように、「スロット応 答メモリ」と称される)とである。メモリ40.42.44の場合と同様に、共 用バス30に接続された前記全ハードウェア要素は、前記コンピュータの正常動 作時には、3個全てのCpuセット20.22.24について全く同じ状態を有 する。
CPU38によって実行される他の全ての命令には、直列をなすバスインタフェ ース32.34の双方が関連する。例えばこのような命令は、CPU3Bがデー タをディスクサブシステム14へに対して又はそれから転送しようとすることを 要求する。制御論理回路ブロック36は、2つの信号線を有し、その状態は前記 データ転送の試みに於いてバスインタフェース34の行動を制御する際に特に重 要である。これらはrmasterJ、(マスク)線56とre 5tateJ 信号線58とである。いずれの時点に於いても、各cpuセット20,22.2 4は、以下の表に示すように、そのcpuセットの2つの信号線56.58に於 ける論理レベルによって定義される3つの状態のいずれかである。
rmasterJ re 5tateJ cpuセット−介り号!■」宗−司」 Σつ−言界(58) −4η尺屋[−一輪理「1」 論理rOJ rmaste rJ状態論理「0」 論理rOJ rcheckerJ状態全ゆる論理レベル  論理rlJ 「errorJ状態前記コンピュータの正常動作時には、3つのc puセット20.22.24のいずれか1つが、信号線56.58に於ける論理 レベルによって定義されるような「マスク」状態にあり、他の2つが「チェッカ 」状態にある。いずれの前記cpuセットも、故障が発生しない限り、「エラー 」状態にならない。
あるcpuセットが前記「マスク」状態にあり、かつそのCPU38が、(例え ば)ディスクサブシステム14へのまたはそれからのデータ転送を必要とする命 令に直面した場合、そのcpuセットのバスインタフェース34は、アドレス信 号及び制御信号を概ね従来の手法で主データ転送バス10に駆動して前記データ 転送を実行する。このデータ転送が行なわれている間、前記プロセッササブシス テムの他の2つのcpuセット(双方とも「チェッカ」状態にあると仮定する) は、その専用バス及び共用バス28に於ける信号が、前記「マスタJ cpuセ ットの対応する前記バスに於ける信号と全く同じでなければならない。しかし、 前記「チェッカJ cpuセットのバスインタフェース34は、前記アドレス信 号及び制御信号を主データ転送バス10に通過させない。代わりに、各cpuセ ットのバスインタフェース34は、単に(そのcpuセットの)共用バス30に 於ける信号を前記主データ転送バスに於ける信号と比較するだけである。全く同 様の検査処理が、前記「マスタJcpUセットによって実行される。これらの比 較によって全く差が検出されない場合には、中央プロセッササブシステム12は 健全であるとみなさに起こることについては後述する。しかしながら、ここで言 えることは、そのような差の結果の1つが、前記cpuセットに於けるre 5 tateJ信号線58が論理「1」レベルに変わる、即ち3個全てのcpuセッ トが(今のところ)「エラー」状態にあることを意味する。
あるcpuセットが「エラー」状態にある場合、その制御論理36によってその CPU38は、そのバスインタフェース34を介してデータ転送を全く実行する ことができない。しかしながら、「エラー」状態にあるcpuセットのバスイン タフェース34は、主データ転送バス10に於ける「スレーブ」デバイスとして 動作することができる。別言すれば、「マスク」状態にある別のcpuセットが 、「エラー」状態にあるcpuセットの共用バス30に接続されたいずれかのハ ードウェア要素に対して又はそれからデータを転送することができる。
上述の説明は、3つのcpuセット20.22.24間に於ける共働関係をまと めたものに過ぎない。多くの重要な部分については、第3図乃至第6図に関連し て以下に詳細に説明する。これらの図面には(第4図の状態遷移図を除り)、制 御論理ブロック36(各cpuセ・ノドの一部分を形成する)が記載されている 。この論理ブロックは、前記cpuセットの他の多くの部分の動作を調整する任 務を有する。前記論理ブロックは、主としてプログラム可能な論理アレー(PA L)からなり、その行動は、入力信号及び出力信号間の関係を定義する一組の論 理式によって極めて容易に説明される。前記cpuセ・ソトの各部分に関する以 下の説明は、明確に該cpuセットの間部分に関連する前記入力信号及び出力信 号について言及している。本明細書の最後の部分には、論理方程式の完全なリス トが記載されており、論理ブロック36の行動の完全な定義が得られる。
第3図は、cpuセット20.22又は24が、「マスク」状態にある場合の、 そのcpuセットのバスインタフェース34の行動を示している。第3図に示さ れるように、前記主データ転送バスは、一群のアドレス線60と、一群のデータ 線62と、一群の制御線、即ち書込み(WRI TE)線64、データストロー ブ(DS)線66、アドレスストローブ(八S)線68、非同期転送応答(AC K)線70、及び同期転送応答(TA)線72とを有する。バスインタフェース 34は、その出力がそれぞれ前記アドレス線、WRITE線、DS線及びAS線 に接続されたバッファ74.76.78.80を備える。バ・ソファ74.76 の人力が、共用バス30の対応する信号線に接続されているのに対し、lくソフ ァ78.80の入力は、論理ブロック36からの2本の出力信号線82.84に 接続されている。前記論理方程式では、信号線82.84に於ける信号がそれぞ れrtb dsJ及びrtb asJである。また、バッファ74.7G、78 .80は全て、論理プロ・ツク36から別の出力信号線86に接続された「イネ ーブル」入力を有する。前記論理方程式では、信号線86に於ける信号がrto  buse aJである。
この信号は、「マスク」状態にあるcpuセットがバスインタフェース34の使 用を必要とする命令を実行する毎に表明される。これらの命令を認識するために 、前記cpuセットは、専用バス28に接続された専用アドレスデコーダ88を 備える。前記専用バスに於けるアドレスが、主データ転送バス10へのアクセス のために割り当てられた所定の範囲内に入っている場合には、前記デコーダは常 に、論理ブロック36の入力に接続された信号線90に於ける出力信号を活動化 する。論理ブロック36に関する前記論理方程式では、この信号はrbusJで ある。
また、バスインタフェース34は、前記主データ転送バスのデータ線62と共用 バス30の対応する線とを相互接続する1組の双方向性バッファ92を備える。
バッファ92は、データ転送の各方向毎に1つずつ、2つの「イネーブル」入力 を有する。これら2つの入力は、論理ブロック36からの別の2つの出力信号線 94.96に接続されている。前記論理方程式では、信号線94に於ける信号( 共用データバス30から主データ転送バス10へのデータ転送を可能にする)は rto busedJであり、信号線96に於ける信号(逆方向へのデータ転送 を可能にする)はrfrom buse dJである。一方(かつ一方のみ)の 信号線94.96が、信号線90に於ける前記rbusJ信号が活動状態になる 場合に表明される。
制御論理36に組込まれた制御方程式によって、「書込み」命令に於ける主デー タ転送バス10へのデータ転送及び「読出し」命令に於ける共用バス30へのデ ータ転送が、ある特別な場合を除いて可能になる。
この特別な場合とは、cpuセットのCPU38が、その共用バス30に接続さ れたハードウェア要素に対してアクセスする際に、そのアクセスのために使用す るアドレスによって次の2つのいずれかの方法を取り得るために生じる。即ち、 (i)信号線90に於ける前記信号rbusJを活動化せず、従ってバスインタ フェース34に関係しない純粋な内部アクセス、又は(ii)バスインタフェー ス34を通じての自己参照アクセス、即ち前記アクセスのために使用されるアド レスが、信号線90に於ける前記rbusj信号を活動状態にさせる範囲内にあ ることを意味する。
(11)の場合には、信号線94 (rto buse dJに関する)が、デ ータ転送の方向が「読出し」又は「書込み」であるかどうかに拘らず、常に活動 状態になる。これは、いずれの転送方向の場合にも、データのソース(CPU3 B又は共用バス30に接続されたいずれかの11−ドウエア要素)がバスインタ フェース34の共用バス側にあるからである。
このことは、信号線94を活動化させることによって、制御論理36は、転送さ せるデータが確実に主データ転送バス10のデータ線62に出現するようにする ことを意味する。これによって、次に前記[チェ・ツカJ cpuセットはこの データにアクセスできるようになる。「書込み」データ転送の場合には、このデ ータに関して「チェ・ツカJ cpuセットが行なうべきことは、これをそれ自 身の共用バス30に於けるデータと比較することだけである。しかしながら、「 読出し」データ転送の場合には、[チェッカJ cpuセットは実際に前記デー タを読み込まなければならない。別言すれば、全cpuセット(「エラー」状態 にあるものを除く)は同じデータを読込むことになり、従ってそれらの内部状態 は完全に歩調が合った状態である。
主データバス10に於けるデータ転送は、DS線66及びAS線68に於ける活 動レベルによって知らされる。前記データ転送が正常(ご進行していると仮定す れば、スロット18に接続されたいずれかの前記サブシステム(又はいずれかの cpuセット20.22.24)が、非同期転送応答(ACK)線70を活動化 させることによって、前記データ転送の完了を知らせる。各cpuセットでは、 信号線70が、クロック発信回路100から到来するクロック信号に接続された クロ・ツク入力を有するD型フリップフロップ98のD(データ)入力に接続さ れている。
クロック回路100は、前記cpuセットに於いて生成させる全てのクロック信 号に応答するようになっており、かつ(前記コンピュータが正常に動作している 間)3つ全部のcpuセット20.22.24に於けるクロック回路100が正 確に同期して稼動する。711717口・ツブ98のQ出力は、バッファ102 の人力に接続されており、その出力は同期転送応答(TA)線72に接続されて いる。また、ノ<ソファ102は、「マスク」線56に接続された「イネーブル 」入力を有し、それによって前記「マスタJ cpuセットのみがTA線72を 駆動するようになっている。TA線72は、バッファ102及び主データ転送バ ス10に加えて制御論理36の入力に接続されている。前記制御論理を定義する 方程式では、前記TA線からの信号はrrsb taJである。同様に前記デー タ転送が正常に進行していると仮定すれば、前記TA線からの信号の効果は、制 御論理36をしてCPU38に接続された出力線104を活動化させることによ って、前記データ転送を終了させることである。
出力線104は、前記論理方程式に於けるru taJ項に対応し、CPU38 の「転送応答」ピン(CPU38のピンの名称は、該CPUがモトローラ製68 040であることを前提としている)に接続されて0る。
前記転送応答信号を同期化させるために71ルソプフ口・ノブ98を用0る理由 は、信号線70に於ける非同期信号が前記cpuセ・ノドに於ける事象に関連し て任意の時点で状態を変化させ得るからであり、それによって、この信号が1個 以上の前記cpuセ・ソトの行動に影響を直接与え得る場合には、前記cpuセ ットの動作が継続して完全に歩調を合わせた状態にあることを保証できな(なる からである。この点を説明するために、非同期信号が前記全てのcpuセットに よって同時にサンプリングされる場合を考える。前記信号がサンプリングされた 正にその時点で状態を変化させるようになっている場合、それはある1個のcp uセットには論理rlJとして表れるが、他のcpuセットには論理rOJとし て表れ、このためにcpuセットの歩調が合わなくなる。他方、フリップフロッ プ98によって供給される同期信号TAは、「マスタJcpUセットに於けるタ ロツク信号に関連しである時点でのみ状態を変化させることができる。前記[チ ェッカJ cpuセットに於けるタロツク信号が前記「マスタJ cpuセット に於ける信号と正確に同期して稼動し、従っていずれの前記cpuセットも実際 に前記信号を刻時(サンプリング)していない時点で信号TAの活動化が生じる ことを保証することは不可能である。前記信号の次の刻時は、該信号が実際に変 化していない間に起こることを保証できるだけであり、それによって全cpuセ ットが同じ論理レベルで刻時し、かつ完全に同期してその命令を実行し続ける。
バスインタフェース34が関連するデータ転送の際に生じる前記事象について上 述した説明は、異常な行動が全く生じないことを前提としている。しかしながら 、このようなデータ転送の際には、前記「マスク」cpuセットが主データ転送 バス10に於ける情報の妥当性を監視する。
この監視を実行するために必要なハードウェアが第3図に示されている。
これには、コンパレータ回路106及びパリティ検査回路108が含まれる。
コンパレータ回路106は、データ転送を試みる際に別個の2段階の検査を実行 する。これら各段階の検査は論理回路ブロック36の部分の行動を示した状態遷 移図である第4図に関連して詳細に説明することができる。(制御論理36を定 義する前記論理方程式では、対応する方程式が7つの状態SO〜S6の定義であ り、かつこれらの状態定義の一部となる論理項が前記論理式によって定義されて いる。)第4図の状態図では、状態SOが、バスインタフェース34を介してデ ータ転送が行なわれていない場合の関連する論理項の状態を定義する「アイドル 」状態である。バスインタフェース34が関連する全てのデータ転送は、アドレ スデコーダ88からの信号rbusJによって開始される。同時に、また信号r busJが、上述したように前記バスインタフェースのアドレスバッファ74及 びデータバッファ92を使用可能な状態にする。このとき、コンパレータ回路1 06による第1段階の検査が行なわれる。但し、制御論理36は信号rtb a sJ及びrtbdsJをまだ活動化していない。
コンパレータ回路106は、4つの入力線群を有する。これらの中の2つの入力 線群110.112が、共用バス32及び主データ転送バス10のアドレス線に それぞれ接続されているのに対し、他の2つの入力線群114.116は同様に 前記両バスのデータ線に接続されている。
コンパレータ回路106内には、2個の別個のコンパレータ(添付図面には明確 に図示されていない)があり、一方のコンパレータは信号線110.112の信 号を比較し、かつ他方のコンパレータは信号線114.116の信号を比較する 。また、前記コンパレータは、共用バス30の前記「書込み」線に接続されかつ 前記rtb asJアドレスストローブ信号(制御論理36からの出力)に接続 された別の2本の入力線118.120を有する。コンパレータ回路106内で は、信号線118.120及び前記2個のコンパレータからの出力が組合せ論理 (第3図には明確に図示されていない)によって−緒にゲートされており、主デ ータ転送バス10の状態が共用バス30の状態と一致するとコンパレータ106 が考えるかどうかを示す信号を供給する3本の出力線122.124.126に 出力を供給するようになっている。これら3個の出力信号は論理的に同一であり 、同期バス26を介して3つのcpuセット20.22.24に分配される。第 3図は、この信号の分配を示している。
同図に示されるように、各cpuセットは、前記同期バスに接続された3本の入 力信号線128.130.132を有する。前記同期バスに於ける相互接続によ って、これらの信号線は、確実に前記3個のcpuセットの異なるもののコンパ レータ回路106の出力にそれぞれ接続されることになる。信号線128.13 0.132は、制御論理ブロック36の入力に接続されている。前記論理方程式 では、これら信号線に於ける信号はrbus okOJ、rbus oklJ、 及びrbus 。
k2Jである。
コンパレータ回路106による第1段階の検査は次のようにして行なわれる。コ ンパレータ回路106は、前記rtb asj信号(信号線84.120を介し て制御論理36から受信する)がまだ活動状態でないという事実から、これが第 1段階の検査であることを識別する。その入力線110.112を介して前記2 本のバスのアドレス線から受取る信号を比較する。また、共用バス30の前記「 書込み」線が「書込み」サイクルを示している場合には、前記コンパレータはそ の入力線114.116を介して前記バスのデータ線から受取る信号を比較する 。この比較(または「書込み」サイクルの場合にはこれらの比較)によって不一 致が示されない場合には、前記コンパレータはその3本の出力信号線122.1 24.126のそれぞれにrbus ol(J信号を生成する。
前記データ転送が正常に進行するためには、「マスタJ cpuセットに於ける 制御論理ブロック36が、それ自身のコンパレータ回路106から、及びそれが 前記「チェッカ」状態にあると考える他の2つのcpUセットのいずれか(前記 「チェッカ」状態にあるcpuセットの行動については後述する)からrbus  okJ信号を受信しなければならない。「エラー」状態にあると考えるcpu セットからの全てのrbus okJ信号は無視される。前記論理方程式に関し て言えば、この「エラー」状態にあるCpuセットからの信号のマスキングは、 論理項raokJを定義する方程式によって示されている。前記3個のrbus  okJ信号と同様に、この論理項は、制御及び状態レジスタ52(共用バス3 0に接続されている)からの3本の信号線134.136.138を介して制御 論理36が受け取る3つの信号rsignifOJ、rsigniflJ、rs ignif2Jに依存する。前記コンピュータが正常に動作している限り、3本 の全信号線134.136.138は、3つの全Cpuセットが有効なrbus  okJ信号を供給できるとこのcpuセットが考えていることを示す論理「1 」レベルを搬送する。しかし、前記「マスタJ cpuセットがその考えを変更 すべきである場合には、制御・状態レジスタ52にデータを書込むことによって 、信号線134.136.138のいずれか1つ又は複数の線に於ける信号を変 更する(ソフトウェアの制御下に於いて)ことができる。
前記[マスタJ cpuセットが、現時点で有効であると思われる全Cpuセッ トからのrbus okJ信号を受取ると仮定すれば、前記論理方程式に於ける 前記raokJ項は活動状態になる。制御論理ブロック36が、現在第4図の状 態遷移図に於ける状態S2に到達していることが想起される。この状態から、活 動状態にあるra okl信号によって状態を状態S3に変更することができ、 その状態では、制御論理ブロック36の出力線82.84(論理項rtb ds J及びrtb asJに対応する)が活動状態になる。これら活動状態の信号は バッファ78、80を介して伝搬して主データ転送バス10のデータストローブ 線66及びアドレスストローブ線68に到達し、それによってこのバスに於ける データ転送を開始させる。
1個(又は複数)の期待されたrbus okJ信号が活動状態になり損ねた別 の場合には、論理項raoklが非活動状態のままであり、かつ代わりに制御論 理ブロック36が状態S2から状態S5に変化する。
状態S5の定義は、論理項rb dteaJがこの状態に於いて真になることを 示しており、この項が次に論理項ru tealに影響を与える。制御論理ブロ ック36は、前記ru teaJ項に直接依存する出力線140を有する。この 出力線140は、CPU38の「転送エラ一応答」ピン(同様に、このピンの名 称はCPU38がモトローラ製68040であることを前提としている)に接続 されている。CPU38は、現在のデータ転送サイクルを中止し、かつその制御 ソフトウェアに於ける例外ハンドラ・ルーチンに入ることによって、このピンに 於ける活動レベルに対して応答する。
また、前記論理項rb dteaJは、re 5tateJ出力信号線58が活 動状態になるようにし、前記cpuセットをその「エラー」状態にすることによ って、前記コンピュータが一時的に「マスタJcpUセットが無い状態になる。
前記コンピュータの全cpuセット(既に「エラー」状態にあるものを除く)が 「エラー」状態となり、その例外ハンドラ・ルーチンを実行する。この例外ハン ドラ・ルーチンによって実行される動作は、3つのrbus okJ信号のいず れの信号が活動状態になり損ねたかを識別できるものでなければならず、かつこ の情報及び他の情報から、いずれかの前記cpuセットを「マスタ」状態に戻す ものでなければならない。この変更をソフトウェアの制御下で行なわれるように するハードウェアについては後述する。前記ソフトウェア例外ハンドラの他の部 分は、前記rb dteaJ信号が活動状態になったときに試みた前記データ転 送が、2度目の試みで確実に首尾よく完了し得るようにするために必要な動作に 関連する。例えば、必要とされる1つの動作は、制御・状態レジスタ52に書込 みを行なって前記「51gn1fJ信号を変更することである。
前記例外ハンドラの実行が完了すると、前記「マスタJ cpuセット(先にマ スクであったものと同じcpuセットである必要はない)が、前記rb dte aJ信号が活動状態になったときに実行されている命令と同じ命令の実行に戻る 。前記例外ハンドラ・ソフトウェアにより行なわれる動作のために、この命令が 2度目の試みに於いて首尾よく実行されることを期待できる。別言すれば、前記 例外処理によって生じる僅かな遅れは別として、前記ソフトウェア(これがシス テムソフトウェア又はアプリケーションソフトウェアを実行するものであろうと )は、前記ハードウェアが何らかの問題を生じているという事実に拘らず、割込 みなしに稼動すると思われる。
再び第4図のコンパレータ回路106及び状態遷移図について説明すると、制御 論理36が首尾よく状態S3に到達する場合には、信号線72に於けるTA倍信 号活動状態になるのを待つことになる。この信号は、データ転送に関する前記c puセットの要求(前記アドレスストローブ信号及びデータストローブ信号によ って示される)が確認されていることを示す。この確認は、主データ転送バス1 0のアドレス線60に於けるアドレス情報によって、サブシステム14又は16 (又はCpuセット20.22又は24)のいずれかから到来する。この確認が 受信されると、制御論理36は状態S3からS4に変化し、前記コンパレータ回 路による第2段階の検査が以下のように行なわれる。
制御論理36が状態S4にある場合、論理項rb dtajが活動状態になる。
「書込み」サイクルの場合には、これによって無条件に論理項ru taJが活 動状態にされ、従ってCPU38に接続された信号線104が活動状態になって 、前記データ転送を正常に終了させる。
「読出し」サイクルの場合には、前記rbus okJ信号(入力信号線128 .130.132に於いてコンパレータ回路106から受信)が全て活動状態に ある(「エラー」状態にあると思われるCpLIセットは別として)ことを前提 として、論理項rb dtaJによって同様に論理項ru taJが活動状態に される。そうでない場合には、論理項ru teaJは、論理項ru taJに 先立って活動状態になり、それによってCPU38の「転送エラ一応答」ピンへ の信号線140が活動状態になり、かつコンパレータ回路106によって実行さ れる第1段階の前記検査に関して上述したように、例外処理を開始させる。
「読出し」データ転送サイクルの第2段階では、コンパレータ回路106の前記 コンパレータによる検査が全く実行されず、前記データの一貫性に関する検査が 、その出力が線142によってコンパレータ回路106に接続されているパリテ ィ検査回路108によって実行される。コンパレータ回路106の出力線122 .124.126に於ける前記rbus okJ信号は、パリティエラーが検出 されない場合にのみ活動化される。従って、パリティエラーがいずれかの前記「 マスタ」及び[チェッカJ cpuセットについて生じた場合には、上述したよ うに例外処理が開始される。
これから明らかなように、スロット18に接続された全ての前記サブシステムは 、パリティ発生回路を備えていなければならず、それによって(ハードウェアの 問題が全く存在しない場合には)「読出し」データ転送の際にバス10のデータ 線62にパリティエラーが起こらないことになる。
論理制御ブロック36は、主データ転送バス10が関与するデータ転送の際に状 態S4に到達した後、自動的に「アイドル」状態SOに戻り、それによって前記 バスのデータストローブ線66及びアドレスストローブ線68の双方をその非活 動状態に戻す。
バス10が関連するデータ転送が終了できる更に2つの方法がある。
これらについては後述する。
本明細書の次の部分は、前記「チェッカ」状態にあるcpuセットの行動に関す るものである。第5図は、第3図と類似しているが、[チェッカJ cpuセッ トについて活動状態にあるバスインタフェース34の部分のみを示している。こ のようなcpuセットの行動は、多くの点で前記[マスタJ cpuセットの行 動に類似しており、従って以下の説明では、最初に「マスク」の行動と「チェッ カ」の行動との差を集中的に説明する。「マスク」及び[チェッカJ cpuセ ットのCPU38が正確に同期して全く同じ命令を実行することになる点を忘れ てはならない。
「マスタJ cpuセットと[チェッカJ cpuセットとの行動の第1の差は 、線86に於ける信号(前記論理方程式に於ける項rto buse aJを表 す)が、[チェッカJ cpuセットに於いて決して活動状態にならないことで ある。これは、「チェッカJ cpuセットが主データ転送バス10のアドレス 線60、WRITE線64、DS線66、AS線68を決して駆動しようとしな いことを意味する。しかしながら、前記「マスタJ cpuセット及び「チェッ カJ cpuセットが正確に同期して動作すべきであることから、前記「マスタ J cpuセットがこれらの線に対して駆動する条件は、各「チェッカJ cp uセットの共用バス30の対応する線に於ける条件と正確に整合するべきである 。この整合は、コンパレータ回路106によって検査される。前記コンパレータ 回路の動作は、[チェッカJ cpuセットに於いて「マスタJ cpuセット に於ける場合と全(同じである。[チェッカJ cpuセットのコンパレータ回 路106によって不整合が検出された場合には、前記「マスタJ cpuセット について上述したと全く同じ事象のシーケンスが起こる。
[マスタJ cpuセットと「チェッカJ cpuセットとの行動に於ける第2 の差は、線94に於ける信号(前記論理方程式に於ける項rt。
buse dJを表す)が、「書込み」サイクルが実行されているときに「チェ ッカJ cpuセットに於いて活動状態にならない。別言すれば、前記「チェッ カJ cpuセットは、主データ転送バス10に於いてデータ線62を駆動しな いが、アドレス線60に関して、コンパレータ回路106が、バス10の前記デ ータ線に対して駆動する条件を前記[チェッカJ cpuセットの共用バス30 の前記データ線への条件と比較する。同様に、不整合から生じる事象のシーケン スは、前記「マスク」cpuセットについて上述したものと全(同じである。
[チェッカJ cpuセットが「読出し」データ転送をしようとする場合、2本 の信号線94.96の行動(前記論理方程式に於ける項rt。
buse dJ及びrfrom buse dJに対応する)は、前記「マスタ J cpuセットについて上述した行動から変化しない。これによって、(ハー ドウェアの故障が存在しない場合)同じデータが主データ転送バス10のデータ 線62と全ての[マスタJ cpuセット及び「チェッカJ cpuセットの共 用バス30のデータ線とに確実に存在することになる。これら全てのcpuセッ トについて同じデータが使用可能であることは、それらの読出し書込み用メモリ 40(及びその状態が到来するデータに依存する前記cpuセットの他の部分) の内容が全く同じままであって、cpuセットの動作を確実に同期した状態で継 続させるために必要である。
大抵の「読出し」データ転送に関して、信号線96(論理項rf r。
m buse dJに対応)は、各「チェッカJ cpuセットについて活動状 態になり、それによって双方向性データバッファ92が主データ転送バス10か らデータをCpuセットの共用バス30に転送できるようになる。しかしながら 、前記「マスタJ cpuセットによって前記主データ転送バスに配置されたア ドレスが、CPU38がいずれかの前記「チェッカJ cpuセットからのデー タを読込むことを望んでいることを示す場合には、信号線94(論理項rto  buse dJに対応)が、代わりに活動化されることになる(しかし、前記デ ータを供給しなければならない当該「チェッカJ cpuセットについてのみで ある)。
この種のデータ転送は、前記[マスタJ cpuセットの動作に関して上述した 自己参照アクセスに類似しているが、前記データのソースが前記「マスタJ c puセットにあるのではな(前記[チェッカJ cpuセットにある点で異なる 。
主データ転送バス10が関連する全ての「読出し」データ転送の際に、各1チエ ツカJ cpuセットのコンパレータ回路106及びパリティ検査回路108は 、前記「マスタJ cpuセットについて上述したと全く同じようにして動作す る。別言すれば、前記コンピュータの全ての「マスタJ cpuセット及び「チ ェッカj cpuセットは、パリティエラーを生じることな(データを受信しな ければならない。そうでない場合には、パリティエラーを検出する前記cpuセ ットは線122.124.126に於けるそのrbus okJ信号を活動化せ ず、かつ全ての「マスク」及び「チェッカJ cpuセットが同時に「エラー」 状態に変化しかつ例外処理を開始する。
上述したように、「エラー」状態にあるCpuセットは、主データ転送バス10 を通じてデータ転送を全(実行することができないが、前記「マスタJ cpu セットによって実行されるデータ転送に於いて「スレーブ」として参加すること ができる。第6図は、前記「エラー」状態にある前記cpuセットについて、か かるデータ転送の際に活動状態にあるバスインタフェース34の部分を示してい る。第6図に示されるい(つかの部分は、先に説明した前記自己参照データ転送 についても関連している。
各cpuセットのバスインタフェース34は、主データ転送バス10のアドレス 線60に接続されたアドレスデコーダ144を備える。前記デコーダは、制御論 理ブロック36の入力に接続された出力信号線146を有する。この信号線の信 号は、前記論理方程式に於いてraddress matchJとして表され、 データ転送の際に前記「マスク」cpuセットによって前記バス10に配置され たアドレスが、このデータ転送を、デコーダ144を含む前記cpuセットへの 又はそれからの転送として識別する。デコーダ144によって線146に生成さ れる前記信号は、前記デコーダを含む前記cpuセットが「マスク」、「チェッ カ」又は「エラー」状態のいずれであっても、この意味を有する。
また、バスインタフェース34は、1群のアドレスバッファ148を備え、その 入力は前記主データ転送バスのアドレス線60に接続され、かつその出力は前記 cpuセットの共用バス30に接続されている(別言すれば、これらのバッファ は、前記「マスタJ cpuセットの動作を示す第3図に表されるアドレスバッ ファ74と逆方向に動作する)。また、バッファ148は、信号線150を介し て制御論理ブロック36の出力に接続された「イネーブル」入力を有する。この 線は、前記論理方程式に於ける項rfrom buse aJに対応する。cp uセットが前記「エラー」状態にありかつ「スレーブ」としてデータ転送に参加 する場合、前記制御論理は信号線150を活動化してバッファ148を使用可能 にし、それによって主データ転送バス1oのアドレス情報が共用バス30に於い て使用可能となり、共用バス3oに接続された様々な項目のいずれが前記データ 転送に参加すべきかを識別する。
制御論理ブロック36の動作を記述した前記論理方程式に関して、デコーダ14 4からの信号raddress riatchJの効果は、項rbus acc essJ及びrbus replyJが真になるようにすることである。「エラ ー」状態にあるCpuセットの場合、項「bu s own e rJも同様に 真になる。この項及び項ru ownerJを定義する前記論理方程式によって 、CPU38 (真であるru ownerJ項によって示される)に対して又 はバスインタフェース34(真であるrbus ownerJ項によって示され る)に対して共用バス30の所有を割り当てる仲裁(arbitration) 機構が完全に定義される。
「エラー」状態にあるcpuセットの場合には、先に説明したばがりの変化が制 御論理36の4本の出方信号線を介してバスインタフェース34に影響を与える ことになる。これらの中の3本の信号線は線15o194.96(論理項rfr om buse aJ、rto buse−d」及びrfrom buse d Jを表す)である。これらの線の第1のものによって、上述したようにアドレス バッファ148が制御される。第2及び第3の線94.96は、双方向性データ バッファ92を制御する。これら2本の線のいずれかが、主データ転送バス10 のWRITE線64から制御論理36によって受信される信号rrbus wr iteJによって活動状態にされる。前記rbus ownerJ項及びrbu s replyJ項に於ける変化によって影響を受ける制御論理36からの残り の出方信号線は、バッファ154を介して主データ転送バス10の非同期転送応 答線70 (ACK)に接続された線152である。線152の信号出力は、前 記論理方程式に於ける項rtbus−taJを表す。活動状態になるデコーダ1 44からの出力線146によって開始されるいずれのデータ転送の場合にも、項 rtbus taJの活動化は、共用バス30及び該バスに接続された前記ハー ドウェア要素に関連する制御論理ブロック156が前記データ転送を完了し得る ことを知らせるまで、生じない。より詳細に言えば、論理ブロック156は、論 理ブロック36の入力に接続された出力信号線158を有する。
制御論理156は、前記転送が完了し得るようになるとすぐに、この線158に 於ける信号を活動化させ、この信号は入力順rp taJとして制御論理36に よって受信される。項rtbus taJの前記論理方程式を参照すると、この 項の活動化は前記入力rp taJが真になるまで起こらないことを示している 。
また、注意すべきことは、バスインタフェース34が共用バス30を所有する( 「エラー」状態にあるcpuセットが「スレーブ」としてデータ転送に参加する 場合)場合のみ、入力rp taJが項rtbustaJを活動化させる。その 代わりに、CPU38が共用バス30を所有する場合には、入力rp taJに よって制御論理36からの「UtaJ出力が活動化されることによって、この場 合、転送応答信号が信号線104のCPU3Bに送られる。
上述したように、デー多転送を終了させる方法が、上述したシーケンスに加えて 更に2つある。これらのデータ転送を終了させるための別の方法の第1のものは 、前記[マスタJ cpuセットによって転送応答信号が受信されない場合に生 じるタイムアウトである。このタイムアウトを実現するために、及び第7図に関 して、各Cpuセット20.22.24は、クロック入力線162、リセット入 力線164、及びタイムアウト出力線166を有するタイマ回路160を備える 。クロック入力線162は、一定のクロック信号(一般に、1マイクロ秒の周期 で)受信するためのクロック回路100に接続されている。リセット入力線16 4は、制御論理ブロック36の出力に接続されている。この出力は、論理的に逆 転しているが、論理項rreal tipJに対応しており、それによってタイ マ回路160は、CPU3 Bがデータ転送の最中でない場合にはリセット状態 に戻される。タイマ回路160のタイムアウト出力線166は、入力論理項rt  imeout teaJとして制御論理ブロック36に接続されている。前記 論理方程式を参照することによって、この入力順が、活動状態になる場合には、 前記ru teaJ項を活動化させることを示している。
タイマ回路160は、通常128マイクロ秒のタイムアウト周期を有する。CP U38によって実行される全ての正常なデータ転送がこれよりも大幅に少ない時 間で完了するようになり、従ってタイマ回路160は通常法してその出力線16 6を活動化させることはない。しかしながら、CPU3Bがたまたまミッシング (missing)である又は欠陥を有するようなディスクサブシステム14の ようなサブシステムにアクセスしようとした場合、主データ転送バス10に於い て転送応答信号を全く受け取らないことになり、かつ制御論理ブロック36は状 態S3のままであることになる。この条件は、タイマ回路160が時間切れとな り、かつその出力信号線166を活動化させるまで持続されることになる。この 信号が前記制御論理によって、CPU38の前記「転送エラ一応答」ピンに印加 される前記ru teal信号に変換されるので、前記データ転送は中止され、 かつ制御は、コンパレータ回路106の動作に関して上述したと同じソフトウェ ア例外ハンドラに移される。
タイマ回路160は、原則として従来のものであるが、前記Cpuセットのハー ドウェアの他の部分と同じクロック回路100から刻時されてデジタルタイマと して実施される点に注意すべきである。これは、3つのcpuセット20.22 .24に於けるタイマ160が確実に互いに厳格に歩調を合わせた状態に維持さ れるために必要である。
前記ソフトウェア例外ハンドラの詳細な部分が、前記cpuセットに於いて使用 されるCPUの種類に大いに依存することは明らかである。
CPU38がモトローラ製68040である本実施例では、前記例外ハンドラが 、RTE命令(例外からの復帰)をもって終了することは殆ど確実である。この 命令の効果は、前記CPUの内部状態を、最初に前記データ転送が試みられる前 の状態に復元し、かつ前記データ転送を再施行することである。試みたデータ転 送がミッシングである又は欠陥のあるサブシステムへの又はそれからのものであ る場合には、これは、第2の転送が第1のものと異なるように行動させる別の動 作が行なわれない場合には、再試行が無限に連続して行なわれることになる。「 スロット応答メモリ」54(前記cpuセットの共用バス30を介してアクセス 可能)は、CPO38が前記無限に連続する再試行から逃れることができるよう にするためのハードウェア回路の一部分である。
「スロット応答メモリ」54に関連するハードウェアには、共用バス30に接続 されている8本のアドレス入力線168が含まれるが、これらのアドレス線は、 前記「スロット応答メモリj自体に直接接続されていない。その代わりに、これ らは、その出力がメモリ54の4個のアドレス人力に接続された4ビツトマルチ プレクサ170の入力に接続されている。また、マルチプレクサ170は、アド レスデコーダ144の出力に接続された「選択1人力線172を有する。線17 2の効果は、スロット応答メモリ54への又はそれからの全ての「正常な」デー タ転送の際に、メモリ54に印加される4ビツトアドレスが共用バスの4本の最 下位のアドレス線から導出されることによって、メモリ54は16の連続するア ドレスを有効に占有する。それ以外では、メモリ54に印加される前記アドレス が、8個のスロット18及び3個のcpuセット20.22.24のいずれが主 データ転送バス10に於ける転送の際にアクセスされているかを一意的に識別す るのに十分な共用バス30の4つの上位アドレス線から導出される。メモリ54 のデータ人力/出力ピン(このメモリのデータ長は1ビツトのみである)は、共 用バス30に直接接続されていないが、その代わりに、データがメモリ54から 読出されている際にのみ使用可能となる双方向性バッファ174を介して接続さ れている。この構成は、メモリ54の前記入出力ピンが、データが該メモリに書 込まれている場合を除いて常に出力に於いて使用可能であることから必要である 。この入出力ピンは、信号線176を介して制御論理ブロック36に接続されて いる。これは、前記論理方程式では[glve taJとして示されている。
制御論理36に於けるこの信号の効果は以下の通りである。CPU38が、主デ ータ転送バス10が関連するデータ転送(スロット18のいずれか又は他の前記 cpuセットのいずれかへ又はそれらから)を試みる場合、スロット応答メモリ 54に印加されるアドレスは、どのスロット又はcpuセットがアクセスされて いるかを識別する。このアドレスに応答して線17Gに表れるデータが「0」で ある場合には、制御論理36の前記論理方程式に於ける論理項rgive ta Jは偽となり、前記データ転送は上述したと全く同様に進行して、バス10に於 ける転送応答信号又はタイマ回路160からのタイムアウト信号によって終了す る。しかしながら、線176に表れる前記データが「1」である場合には、制御 論理36が異なる行動を呈する。即ち、第4図の状態遷移図に於ける状態S2に 到達すると、前記rtb asJ項及びrtb dS」項が主データ転送バス1 0に於けるデータ転送を開始させるように全く活動化されていないにも拘らず、 次にrb dtaJ項が活動化される状態S6に移ることになる。前記rb d taJ項を活動化させることによって、例外処理が全く開始されないと言う意味 で正常にデータ転送が終了する。しかしながら、前記ソフトウェアは、「読出し 」転送に有効なデータが存在しないことを検出することができる。
「スロット応答メモリ」54の通常の使用法は次の通りである。前記コンピュー タの正常動作時には、正しく機能しているサブシステムを含むスロットに対応す るメモリ54の全ての位置が、「0」のデータを含み、かつメモリ54が主デー タ転送バス10に於けるデータ転送に支障を生じることはない。しかしながら、 いずれかの前記サブシステムが欠陥を有するようになる、または前記コンピュー タから取り外された場合には、そのサブシステムにアクセスしようとする次の試 みは、タイマ回路160がタイムアウトを生成し、それに続いて前記例外ハンド ラが実行される結果になる。前記例外ハンドラによって行なわれる動作の1つは 、前記スロット応答メモリの対応する位置にあるデータをrlJに変更し、それ によって前記欠陥のあるサブシステム又は不存在のサブシステムにアクセスしよ うとする後の全ての試みが、タイムアウトなしに、かつ例外処理なしに、前記デ ータ転送の試みを人為的に終了させるようにすることである。
本明細書の説明から明らかなように、タイマ回路160によって終了されるデー タ転送の試みは、通常のデータ転送よりも非常に長い時間継続する。前記コンピ ュータが正常に動作している間は、これは、全てのデータ転送が正常に終了する ことになるので、全く取るに足らないことである。しかし、前記コンピュータの いずれかのサブシステムが存在せず又は欠陥を有する場合には、そのサブシステ ムに対して又はそれからデータを転送しようと繰り返し試みることは、タイムア ウトを繰り返すことにより生じる遅延のために、前記コンピュータの性能に重大 な衝撃を与え得る。一般原則として、この遅延を、前記例外ハンドラがソフトウ ェアのフラグ(flag)を設定して、サブシステムが存在しない又は欠陥を有 することを示すソフトウェア技術によって最小にすることは可能であり、前記サ ブシステム(特に、該サブシステムのデバイスドライバ)にアクセスする前記ソ フトウェアの他の全ての部分は、認め得る大きさの全てのデータ転送の間、相当 頻繁な間隔でこのフラグの状態を検査しなければならない。(小規模なデータ転 送は、その結果生じる遅延がひどいものではないことから、おそらくこの検査な しに進めることができるが、性能の低下を示すことにはなる。)このソフトウェ アフラグを用いることは、標準的なデバイスドライバを前記システムソフトウェ アに組み込むことを困難にするので、特に好ましい案ではない。他方、「スロッ ト応答メモリ」54を用いることによって、デバイスドライバは、長く連続する タイムアウトの虞れを生じることなく、かつ前記転送の最中に特別の検査を行な うことを必要とせずに、サブシステムへの又はそれからの大規模なデータ転送を 試みることが可能になる。前記データ転送が完了した後、「スロット応答メモリ 」54は前記転送が成功したかどうかを示す簡単な検査を行なう。
(3個のcpuセット20.22.24のそれぞれについて1個の)クロック回 路100は、それぞれそのcpuセットの他の部分から要求される全てのタイミ ング信号を供給する。これら3つのクロック回路100は、前記3つのcpuセ ットに於けるタイミング信号が正確に歩調を合わせた状態にあるように、同期バ ス26によって相互接続されている。クロック回路100及び同期バス26の構 成及び動作について、第8図及び第9図に関連して以下に詳細に説明する。
同期バス26は、既に説明した9本の線(rbus okJ信号を搬送する)に 加えて、クロック回路100に接続された6本の線を有する。
3本の線178.180.182は、各cpuセット20.22.24がパワー オンされたか即ち電源が入ったかどうかを示す信号を搬送する。
3本の線184.186.188は、(少なくとも正常動作時に)前記各cpu セットによってそれぞれ使用するために、同一のクロック信号を搬送する。線1 78は、線184と対をなすものとみなすことができるが、これらは共にcpu セット20に緊密に関連している(一方が前記cpuセットのパワーオン状態を 示すのに対し、他方が該cpuセットにクロック信号を供給する)からである。
同様に、線180は線186と対をなし、かつ線182は線188と対をなす。
線178を例にとると、プルアップレジスタ190(同期バス26の一部分を構 成する)を介して+5ボルト電源線192に接続されている。
また、トランジスタ194(CI)uセット20の一部分を構成する)を介して 0ポルト(接地)線196に接続されている。cpuセット20の正常動作時に は、トランジスタ194によって大地への低抵抗経路が提供され、それによって 線178が論理「0」レベルとなる。しかしなが9.cpuセットが前記コンピ ュータシステムから取り外された場合、又はcpuセットが、その動作に必要な 電源をもはや受け取らないことを意味する何らかの故障を生じている場合には、 トランジスタ194によって低抵抗接地経路が提供されることはなくなり、線1 78はレジスタ190によって論理「1」レベルに引き上げられることになる。
同様にして、線180及び182は、同期バス26のレジスタ198.200に 、及びcpuセット22.24のトランジスタ202.204にそれぞれ接続さ れることによって、これら各線に於ける論理rOJレベルが、対応するcpuセ ット22又は24が依然として存在しかつ前記システム内に於いて電源が供給さ れていることを示す。
上述したように、前記コンピュータの正常動作時には、3つのcpuセット20 .22.24が正確に同期して稼動することになる。この同期状態は、前記同期 バスの3つの線184.186.188によって維持される。これら3本の線は 、3つのcpuセット20.22.24によってそれぞれ使用するために通常同 一のクロック信号を搬送する。
各cpuセットは、線184.186.188を駆動するために、その信号入力 が全て水晶制御発信器208の出力に接続された3つのクロックバッファ206 を有する。また、各クロックバッファ206は、3個の2人力ANDゲート21 0の中の1個の出力に接続されたイネーブル入力を有する。これら各ANDゲー トの1個の入力は(論理的に逆転して)前記同期バスのいずれかの線178.1 80.182に接続され、他方の入力は信号線212を介して「マスタ」信号線 56(制御論理ブロック36のいずれかの出力)に接続されている。これは、い ずれのクロックバッファ206についても使用可能な状態にするためには、次の 条件を双方とも満足しなければならないことを意味する。
(i)現在「マスタJ cpuセットであるcpuセット20.22又は24に 前記クロックバッファがなければならないこと(これによって、異なるcpuセ ット上の2個のクロックバッファが同時に同じクロック線184.186.18 8を駆動しようとする可能性が完全に排除される)、及び (i i)線178.180.182のいずれの線であっても、前記クロックバ ッファによって駆動されている前記クロック線と対になるものは、前記クロック 線からクロック信号を受信するcpuセットが存在しかつパワーアップされてい ることを示す論理「0」レベルでなければならないこと。
この構成によって、前記クロック線は駆動されているが、該クロック線からクロ ック信号を受信する回路には電源が入っていないような事態が回避される。これ は、受信回路がその電源の入っていない状態では低いインピーダンスを示し、か つその結果化じる、クロックバッファ206によって前記回路を介して駆動され る電流が、ダメージを生じさせる程度に大きくなることから、好ましい事態では ない。
第8図に示されるクロック回路は、3つの前記Cpuセットによって受信される クロック信号間に生じる虞れがあるスキューの量を最小にするように設計されて いる。これは、過度のスキューは、コンパレータ回路106が前記cpuセット の動作量の不整合を知らせる結果になるので必要である。前記クロック回路に関 連して、前記スキューを最小にするのに役立ついくつかの設計上の特徴がある。
これらの特徴に関する以下の説明では、異なる生産バッチから様々なcpuセッ トモジュール20.22.24が製造されることを忘れてはならない。これは、 異なる信号伝搬経路にある類似の構成要素は、その特性を正確に整合させるため に、同じ生産バッチから製造されることを条件とするがスキューを最小にするた めの考えられる設計技術の1つであることから、関連がある。
本実施例の場合には、この技術は、整合すべき構成要素が全て同じcpUセット モジュールにあるような場合にのみ適用される。
前記クロック信号間のスキューを最小にするのに役立つ設計上の特徴は次の通り である。
第1に、同期バス26に到達する前に個別にバッファリングされる前記3つのク ロック信号が通るステージ(段)の数を最小(即ち、バッファ206によって供 給される1段のバッファリング)に維持する。
第2に、クロックバッファ206への信号入力が、その共通の信号ソース(発信 器208)に分岐線214によって接続され、その3本の分岐が、前記発信器か ら前記クロックバッファまで測定して実質的に等しい長さである。
第3に、クロックバッファ206が全て同じ型式のものであり、かついずれのc puセットに於いても3個全てのバッファ206が同じ生産バッチから作られて いる。
第4に、クロックバッファ206の出力が、その長さく前記バッファ出力から前 記cpuセットと同期バスとの間のインタフェースまでを測定)が概ね等しい3 本の線216によって同期バス26の線184.186.188に接続されてい る。
第5に、同期バス26の線184.186.188は、線216がクロック信号 を同期バス26に注入する位置から、前記信号が前記同期バスから前記cpuセ ットに戻る位置までを測定した長さができる限り等しくされている。この長さが 等しいことは、第8図に図示されている。
また、前記同期バスがプリント回路基板上でどのように実現されるかが示す第9 図にも図示されている。
第8図及び第9図に示すように、前記同期バスの各クロック線184.186. 188は、クロック信号がクロックバッファ206によって注入される3つの位 置を有するが、上述した前記回路によって、いずれの時点に於いても、実際には 前記「マスタJ cpuセットのみがこれらの線にクロック信号を注入すること が保証される。前記クロック信号が注入される3つの位置は、前記線の長さ方向 に沿って全て同じ位置である。
注入された前記クロック信号は、前記同期バスに沿って両方向に伝搬する。
クロック線184.186.188の(第8図及び第9図に於ける)左側の端部 は、前記同期バスの一部分を構成し、かつ前記クロック線とバス26のOポルト (接地)線221との間に直列に接続されたレジスタ218及びコンデンサ22 0からなる終了ネットワークにそれぞれ接続されている。レジスタ218の値は 、クロック線184.186.188の特性インピーダンスに整合するように選 択され、それによって、前記注入位置から左方へ伝搬する前記クロック信号は、 前記注入点から反射されない。(これは、前記3個のCpuセットのいずれがク ロック信号を注入しているかに拘らず、又は前記コンピュータに於ける他の2つ のcpuセットの存在又は不存在に拘らず、同じである。)分岐線216は、線 184.186.188に於ける前記クロック信号の反射のない伝搬を妨害する 虞れがある。従って、分岐線216はこの妨害を最小にするように短く維持され る。
第8図及び第9図の右側部分には、前記同期バスの3本のクロック線184.1 86.188がループされ、かつそれぞれその関連するcpUセットのクロック 入力線222に接続されている様子が示されている。
前記クロック線のこれらループ部分は、考えられる最も短い経路を通ってクロッ ク入力線222に到達するようになっていない。その代わりに、これらは、前記 注入位置から、前記信号が前記3個のcpuセットのクロック入力線222に送 られる位置まで、前記クロック信号が横断する線路長が等しいように設計されて いる。左側のCpuセット20のクロック信号を搬送する線184については、 左側のcpuセット24によって駆動され得る前記注入位置からCptlセット 20に幾分直接的にループして戻るようになっている。中間のcpuセット22 のクロック線を搬送する線186は、左側の前記注入点から前記中間のcpuセ ットまでの線路長を人為的に長くする手段として、ヘアピンループ224を有す る。また、線188は、前記右側の注入位置と右側のcpuセット24のクロッ ク入力線222との間に更に長いループ226を有する。
これらの線の長さを等しくすることによって、前記注入点から右側に伝搬する前 記クロック信号が、その各cpuセ・ノド20.22.24のクロック入力線2 22に全く同じ伝搬速度で到達するという効果がある。
各cpuセットでは、クロック人力線222が、放線222とOボルト(接地) 線19Gとの間に直列に接続されたレジスタ228及びコンデンサ230からな る終了ネットワークに接続されている。レジスタ218の場合と同様に、レジス タ228の値は、反射の発生を防止するべく、前記線の特性インピーダンスに整 合している。
また、クロック入力線222は、バッファリングなしに、フェーズロックドルー プ(PLL)回路234(本実施例では、この回路はモトローラ製MC8891 5集積回路を用いて実現される)の基準信号入力に接続されている。また、前記 PLL回路は、第2の基準信号入力と、前記2個の参照信号のいずれを聞くべき かを示す「選択」入力とを有する。
第2の基準信号入力は、水晶制御発信器208の前記出力を搬送する線214に 接続され、PLL回路234の前記「選択」入力は、線236によって制御論理 ブロック36の出力に接続されている。この出力は、前記論理方程式に於ける項 ruse backplane clockJに対応する。
同期バス26とPLL回路234の基準信号入力との間にバッファリングを全く 設けない理由は、このようなバッファリングを設けた場合、バッファ構成要素が 略確実に異なる生産バッチから製造され、従って伝搬遅れが様々になる(例外的 に厳格に指定した特性を有する構成要素が使用されない限り)からである。また 、PLL回路234によって潜在的なりロックスキューの原因が持ち込まれるが 、これらの構成要素によるスキューは元来小さいものである。
同期バス26とPLL回路234との間にバッファリングが存在しないことによ って、パワーダウン即ち電源が入っていないCpuセットに通じる線を駆動して いる全てのクロックバッファ206を不能状態にすることか必要な理由が説明さ れる。MC88915からなる前記PLL回路では、電源の入っていないときに 駆動されることは許容されない。
(バッファリングを行なうことが許されているような場合には、電源を落とした 際に駆動されることを許容し得るようなバッファリング構成要素を選択すること が可能である。そして、前記[マスタJ cpuセットの3個全部の前記クロッ クバッファを永久的に使用可能な状態にすることが可能である。) 前記コンピュータの正常動作時には、前記論理方程式に於ける項「Use ba ckplane clockJが、前記3個のcpuセットのそれぞれに於いて 真になり、同期バス26からその基準信号として受信する前記クロック信号をP LL回路234に使用させる。各PLL234は、そのcpuセットの他の部分 が必要とする全クロック信号を(直接的に又は間接的に)供給する。一般に上述 した様々な特徴を組み合わせることによって、前記3個のcpuセットの前記P LLは、1ナノ秒より相当良好な同期状態を維持することができる。
前記「マスタJ cpuセットの発信器208がらPLL234までの伝搬遅れ は、3個のcpuセット20,22.24のいずれが前記「マスタJ cpuセ ットであるかによって変化することに注意すべきであるが、これは、発信器20 8の位相が、前記Cpuセットの他の全ての部分の動作と直接関連していないこ とがら、重要ではない。
各PLL234は、前記PLLの内部発信器が前記PLLへの基準信号入力と位 相同期しているかどうかを示す出方信号を供給する(正常動作時には、「選択」 線236の信号ruse backplane clockJが真であることか 呟これは同期バス26がらのクロック入力線222に於ける基準信号となる)。
この出力信号は、線238によって制御論理ブロック36に接続される。これは 、前記論理方程式では、入力項runlockedJとして表現される。これは 、前記コンピュータの正常動作時には「偽」のままである。しがしながら、同期 バス26が何らかのハードウェア故障によって影響を受け、それによってPLL 234が位相同期状態を維持することができない(例えば、線222に於ける基 準信号が完全に消滅するため)場合には、線238に於けるrunlocked J信号が真になる。前記論理方程式に関して言えば、この変更の効果は、(i) 線236に於ける信号ruse backplane clockJを偽にし、 それによって今後はPLL234がその基準信号を前記cpuセットの発信器2 08から直接受は取ること、及び(肯)線58のre 5tateJ信号が真に なり、それによって前記cpuセットが「エラー」状態になること、であること がわかる。
前記「エラー」状態への変化は、CPU38による命令実行のシーケンスに直ち に割込みを生じさせるものではないが、「エラー」状態への前記変化の後に主デ ータ転送バス1oに於けるデータ転送を実行しようとする最初の試みは失敗する ことになる。これは、論理項ra oklが偽のままであり、それによってCP U38が、正にコンパレータ回路1゜6が不整合を検出したかのように、転送エ ラ一応答信号を受け取るがらである。より詳細に言えば、この時点で制御論理ブ ロック36に生じる事象は次の通りである。前記re 5tateJ信号が現在 は真であるので、論理項rgoodcyc I eJは決して真になることがで きない。
そして、これによって前記ra okl項が真になることが直接的に防止される 。
プロセッササブシステム12内の問題を検出することができる、更に別の機構が ある。この機構を実現するハードウェアが第10図に詳細に記載されている。同 図に示すように、同期バス26は各cpuセット20122.24によってそれ ぞれ生成されるrsignatureJ信号を搬送する別の3本の線240.2 42.244を有する。より詳細に言えば、各cpuセットは、そのD(データ )入力が線248によってCPU38のTS(転送開始)ピンに接続されたD型 フリップフロップ246を備える。フリップフロップ246のクロック入力は、 線250によってクロック回路100に接続され、それによって前記フリップ7 0ツブは、前記cpuセットの回路の他の部分に同期してクロ・ツクされる。( 前記3個の異なるcpuセットの)3個のフリップフロップ246のQ出力は、 線252を介して前記同期バスの3本の[シグネチャ(signature)J 線240,242.244に接続されている。
各CPU38の転送開始ピンは、該CPUによって実行される各データ転送につ いて1個のパルスを生成する。従って、3個のCPUが完全に同期して同一行動 (正常動作時)を実行することから、3本のシグネチャ線240.242.24 4に於けるパルスが全(同時に発生する。
各cpuセットでは、3本のサイン線240.242.244が、バッファ25 4を介して制御論理ブロック3Gの3個の入力に接続されている。これら3本の 線に於ける信号は、前記論理方程式に於いて、それぞれrbr signoj、 rbr 51gn1J、及びrbrsign2Jとして表される。前記方程式が 示すように、制御論理36は、これら3個の信号の同期化バージョン(それぞれ [dbr 51gn0J、rdbr 51gn1j及びrdbr 51gn2J )を生成し、「51gn1fOJ、rsigniflJ及びrsignif2J 各信号(問題を生じていると考えられるcpuセットから到来するrbus−o kJ信号のマスキングに関連して上述した)をもって論理的にANDされる。前 記rsignifJ信号によってマスクされないこれらのrdbr signJ 信号は、re 5tateJ出力線58を定義する方程式に於いて比較され、そ れによってこれら信号間のあらゆる差が、前記cpuセットを「エラー」状態に 変化させることになる。この変化の効果は、PLL234に影響を与えるタロツ ク故障の結果としてCpUセットを「エラー」状態に変化させる上述した場合と 類似している。
命令実行は短い時間の間継続されるが、主データ転送バス10に於けるデータ転 送を実行しようとする全ての試みは、「転送エラ一応答」信号がCPU38に戻 ることになり、従って実行が前記ソフトウェア例外ハンドラに渡される。
上述した説明の大部分はコンピュータの「正常」動作(別言すれば、1個のcp uセットが「マスク」状態でかつ他の2個のcpuセットが「チェッカ」状態で 動作する)である場合、及び全く異常な状態が生じていないことを検査する監視 機構に関するものである。上述した部分では、異常な状態が検出され、かつそれ によってCPU38を(「転送エラ一応答」信号の結果として)前記ソフトウェ ア例外ハンドラに入らせた後に生じる事象について詳細な説明はなされていない 。
多くの動作が前記例外ハンドラ内で発生する。これらの全てが上述したハードウ ェアの特徴に関連するものではないが、それは(ru tea」について前記論 理方程式により示されるように)、「転送エラ一応答」信号が前記cpuセット ハードウェアの他の部分から発信することが可能だからである。前記例外ハンド ラによって行なわれる動作の1つは、制御・状態レジスタ52を介してre 5 tateJ線58の状態を読出すことである。この線が活動状態でない場合には 、上述したいずれの特別なハードウェアの機能によっても例外が生じておらず、 従来の方法で処理することができる。
「e−8tate」線58が活動状態にある場合には、これは、前記ハードウェ アが上述したいずれかの型の問題、即ち(i)いずれかのコンパレータ回路10 6に於いて前記コンパレータにより検出される不整合、又は(i i)いずれが のパリティチェッカ108によって検出されるパリティエラー、又は(1西)ク ロック回路100からのrun IockedJ信号を活動状態になるようにす るクロック故障、又は(]v)「シグネチャ」線240.242.244間に於 ける不整合を検出したことを示している。これらのいずれの場合にも、前記3個 のcpuセットに於ける命令実行は既に歩調が合わなくなっており、前記cpu セットが別々の時点で前記例外ハンドラに入る可能性がある。従って、これらの いずれの場合にも、前記例外ハンドラが行なう最初の動作は、「ソフトウェアの 同期化」である。この同期化を実行するために、前記「マスタJ cpuセット は、まず3個全てのcpuセットが確実に前記例外ハンドラに入るのに十分な遅 延時間を待って、同期バス26に於ける信号線364を活動化させる。(線36 4及びその関連するハードウェアについては、第16図に関連して後述する。後 の説明から明らかになるように、線364は、前記「ソフトウェアの同期化」と は明確に区別される別の機能を有する。)各「チェッカJ cpuセットは、前 記例外ハンドラに入り、かつそのre 5tateJ線58が活動状態にあるこ とを決定した後、線364に活動レベルを検出するまで待機する。
線364を活動化させ([マスタJ cpuセットの場合)、又は線364に活 動レベルを検出した(「チェッカj cpuセットの場合)後、前記cpuセッ トは前記例外ハンドラの次のステージに進む。このステージでは、各cpuセッ トが、該cpuセットによる、ハードウェア故障が生じかつそれによって例外が 生じている確率の自己評価を表す数を計算する。この評価は、主として読出し書 込み用メモリ40.制御・状態レジスタ52、及び自己検査ルーチンの実行から 読出すことによって得られた情報に基づ(。注意すべきことは、3個全てのcp uセットが同じ例外ハンドラコードを実行しているにも拘らず、これらがもはや 全く同期して稼動することは期待できないこと、前記自己検査の結果及び故障の あるcpuセットに於ける状態情報が他の2個のcpuセットに於ける対応する 情報と異なることから、各Cpuセットが前記コードについて異なる経路をとる 可能性があることである。
この計算を実行した後に、各cpuセットのCPU38は、その計算した数に比 例する時間で待機する。そして、他の2個のcpuセットのいずれが「マスク」 状態にあるように思われるかを(「マスク不存在」以外の論理条件が線266. 268に存在するかどうかを決定することによって)検査する。そうでない場合 には、これは、前記cpuセットが3個の中で最初にその計算した待ち時間が終 了すること、従ってハードウェア故障を生じている虞れが最も少ないことを示唆 する。この場合には、前記cpuセットがその制御・状態レジスタ52に書込み を行なって前記rsignifJ信号を変化させ、それによって他の2個のCp uセットから到来するrdus okJ信号及びrbr signJ信号がもは や制御論理ブロック36の論理方程式に於いて有効であるとみなされな(なる。
そして、それ自身を「マスク」状態に変化させる。
最後に、他の2個のcpuセットの読出し書込みメモリ46に「マジックナンバ 」を書込み、それが「マスタJ cpuセットとして良好に動作していることを 示し、かつ前記例外ハンドラから例外が生じたときに実行されていたコード(シ ステムソフトウェア又はアプリケーションプログラムを作動させる)に戻る。
他方、CPU38が、その計算した待ち時間の終了時に、別のcpuセットが既 に「マスク」状態になっているように思われることを見つけた場合には、最初に 、この別のcpuセットが、おそらくその計算した待ち時間がより短いものであ ったために、前記例外ハンドラの後のステージに進んでいると仮定する。この場 合、待ち時間の長いcpuセット(依然として「エラー」状態にある)は、前記 「マスタJ cpuセットが既にその読出し書込み用メモリ46に前記「マジッ クナンバ」を書込んでいると考える。各「エラーJ cpuセットは、既に「マ スタJcpUセットが存在することを見つけた後、この「マジックナンバ」の存 在を検査する。前記マジックナンバが存在する場合には、前記「マスタ」cpu セットは正しく機能しているものとみなされ、かつ他のCpuセットは単に前記 「マスタJ cpuセットが更に何らかの動作(前記例外ハンドラ以外)を行な うまで待って、少な(ともいずれかの前記cpuセットが前記「チェッカ」状態 に戻るようにする。
他方、「エラー」状態にあるいずれかの前記cpuセットが、[マスタJ cp uセットが存在するように思われるにも拘らず、その読出し書込み用メモリ46 内に前記マジックナンバを見つけることができない場合には、前記「マスタJ  cpuセットが正しく機能していないとみなす。
そして、約100ミリ秒間待って、依然としてそのメモリ46内にマジックナン バが見つからず、かつこの待ち時間を妨害するものがない場合には、このcpu セット(マジックナンバを見つけることができなかったもの)は、「マスク」状 態に変化しようとする。しかし、ハードウェアの設計によって常に唯1個のcp uセットのみしか「マスク」になることができないので、まず、正しく機能して いない前記cpuセットが「マスク」として行動することを止めさせなければな らない。これは、コンピュータの他のcpuセットの両方の電源を落とすことに よって行なわれ、それによって[マスタJ cpuセットになるためのハードウ ェア上の障害がなくなる。この後、「マスク」状態に変化し、かつその後の行動 は、その計算した待ち時間が最初に終了した第1のcpuセットであった場合と 全く同じである。
この例外ハンドラを実現できるためにcpuセット20.22.24に於いて必 要なハードウェアの特徴について、以下に第11図及び第12図を参照しつつ説 明する。
前記cpuセットが前記例外ハンドラに入る別の理由は、主データ転送バス10 のスロット18に接続された他のサブシステムの一方が欠陥を有するようになっ ていること、又は取り外されていることである。これは、そのサブシステムへの 又はそれからの全てのデータ転送の試みが、上述したようにタイマ回路160か らのタイムアウト信号によって終了する結果となる。前記cpuセットは「エラ ー」状態に変化しない。この状態では、前記例外ハンドラによって行なわれる主 要な動作は、スロット応答メモリ54にデータ「1」を、前記cpuセットがア クセスしようとしている前記サブシステムに対応する位置に書込むことである。
そして、制御が前記例外ハンドラから、欠陥のある又は存在しないサブシステム にアクセスしようとしていたコードに戻される。前記cpuセットが「エラー」 状態に変わる際に呼び出されている前記例外ハンドラの部分との対話はない。
前記cpuセットが「エラー」状態に変化する(恐らくはハードウェアの問題の ために)ような場合には、前記例外ハンドラがプロセッササブシステム12を、 いずれかの前記cpuセットが「マスタ」状態にあり、かつ他のcpuセットが 「エラー」状態又は電源を落とした状態を維持するようにする。ハードウェアの 問題は唯1つの前記CpLIセットに影響を与えると考えることができるので、 前記システムのソフトウェアは、欠陥のない、マスクでないcpuセットを「チ ェッカ」状態に戻すようにするべきである。この処理は、rcpuセットのりイ ンテグレーション(再統合)」と称される。前記cpuセットがもはや同期して 稼動していないことから、それらのメモリの内容(及び前記ハードウェアの他の 部分の状態)は、cpuセットが異なれば異なることになる。
これは、前記メモリの内容が、前記「マスタJ cpuセットから再統合されて いる前記cpuセットに複写されなければならないことを意味する。この複写の 大部分は、前記コンピュータのオペレーティングシステムの制御下で稼動するア プリケーションプログラムによって行なうことができる。このアプリケーション プログラムが大部分の前記メモリの内容を複写したとき、前記オペレーティング システムは一時的に中断され、残りのメモリの内容が複写される。前記Cpuセ ットのクロック回路100は、同期状態に戻される(その前に、再統合されてい る前記cpuセットは、同期バス26の前記クロック信号とは無関係に稼動して いた)。
また、前記「マスタJ cpuセットのハードウェアの他の全ての部分の状態は 、この状態のメモリイメージに変換され、かつこのメモリイメージは、前記[マ スタJ cpuセット及び再統合されている前記Cpuセット双方に於いて、メ モリ内に配置される。最後に、[マスタJ cpuセットによって「リセット」 信号が同期して3個全てのcpuセット20.22.24のCPU38 (及び 他のハードウェア)に印加される。
前記リセット信号は、CPU38をそのPROMメモリ42からのコードを実行 するように変化させる。このコードは、前記ハードウェア状態のメモリイメージ を用いて、前記ハードウェア(このようなメモリイメージを有する全てのcpu セットに於ける)を、以前に前記「マスク」cpuセットに存在した状態に戻し 、かつその場合に制御が前記オペレーティングシステムに、その動作が中断され た位置で戻される。
また同じcpuセット再統合の処理を用いて、故障のあるcpuセットが代わり のcpuセットに置き換えられた後に、その新しいcpuセットを他の2個のc puセットと同期させる。
前記例外ハンドラコード内で行なわれる動作に関して、このcpuセットの再統 合を支援するために多くのハードウェアの特徴が要求される。
これらの特徴については、第15図乃至第17図を参照して以下に説明する。
第11図は、常に唯1個のcpuセットのみが「マスク」状態になり得るように し、かつソフトウェアの制御下でCpuセットが「マスク」になり得るようにす ることを目的とするハードウェアの部分を示している。
第11図に示されるように、各cpuセットは、そのQ出力がバッファ258を 介して前記cpuセットの「マスク」線56に接続されたD型フリップフロップ 256を有する。別言すれば、フリップフロップ256からの出力は、前記cp uセットが「マスク」状態にあるかどうかを示している。また、この出力は、( 線260を介して)制御論理ブロック36の人力(前記論理方程式ではri a m masterJとして表される)に、制御・状態レジスタ52 (CPU3 Bが前記「マスク」線が活動状態にあるかどうかを読出すことができるようにす る)に、及び2個の3状態バツフア262.264の「イネーブル」人力に接続 されている。これらバッファのデータ人力は、論理「1」レベル(+5ボルト供 給線232)と論理「0」レベル(Oボルト(接地)線196)とにそれぞれ接 続され、それによってこれらは、前記cpuセットが「マスク」状態にある(バ ッファが使用可能である)際に前記バッファ出力に表れる論理レベルである。前 記cpuセットが「マスク」状態でない場合には、前記バッファはその高インピ ーダンス状態にある。
各cpuセットの2個のバッファ262.264の出力は、それぞれ同期バス2 6の2本の線266.268に接続されている。「マスク」状態にあるcpuセ ットがないときにこれらの線に表れる論理レベルを定義するために、同期バス2 6は更に、線268と+5ボルト線192との間に接続されたプルアップ抵抗2 70と、線266と0ポルト(接地)線221との間に接続されたプルダウン抵 抗272とを有する。別言すれば、これらの線に於ける論理レベルは、いずれか の前記cpuセットのバッファ262.264が使用可能な状態であるときに表 現されるものと逆になっている。
それぞれにバイナリ(2進)信号を搬送する2本の線26.268を用いること によって、可能性として4つの信号の組合せが得られる。これらの組合せの2つ だけが有効である。論理レベルrOJ / rlJは、「マスタcpuセットが 存在しない」ことを示し、論理レベル「1」/「0」は、「マスタcpuセット が存在する」ことを示す。「0」/「0」又はrlJ / rlJのいずれかの 信号の組合せが表れる場合には、これは何らかのハードウェアの故障が生じてい ることを示す。例えば線266と268との間に於ける短絡回路である。
前記同期バスの2本の線266.268は、cpuセット20.22.24のそ れぞれに於いて、制御論理ブロック30の2個の入力に接続されている。これら の線の信号は、前記論理方程式に於いてそれぞれ[rb tiam hJ及びr rb tiam IJとして表される。制御論理36は、フリップフロップ25 6のD(データ)入力に接続された線274に出力信号を生成する。前記論理方 程式では、この信号は、少なくとも一方の線266.268に於ける条件が、こ れらの線を駆動する[マスタJ cpuセットが現在存在しないことを示す場合 には、真になる論理項rok tbmJに対応する。また、前記項ro k t  bmJは、偽である信号ri am masterJ (フリップフロップ2 56から直接量イ3)と、線276を介して制御・状態レジスタ52から受信さ れる入力信号riwtbmJとに依存する。制御・状態レジスタ52からの別の 出力が、線278を介してフリップフロップ256の前記クロック入力に接続さ れており、従って、cpuセットのCPU38がマスクになるために実行しなけ ればならない動作は次の通りである。即ち、第1に、制御・状態レジスタ52に 書込みを行なって、線276に於ける信号riwtbmJを活動状態にし、かつ 次に、再び前記レジスタに書込みを行なって、前記フリップフロップのクロック 入力に変化を生じさせる。少なくとも一方の線266又は268が、この変化の 時点で「マスタJ cpuセットが存在しないことを示す場合には、前記フリッ プフロップのD入力(信号rok tbmJ)が活動状態になり、かつ前記フリ ップフロップが状態を変化させて、前記cpuセットを「マスク」状態にする。
これは、即座にバッファ262.264を使用可能な状態にする効果を有し、そ れによって同期バス26の線266及び268が状態を変化させ、かつ他のcp uセットがマスクになることができな(なる。
上述した説明では、前記re 5tateJ信号の否定が、Cpuセットを「エ ラー」状態から「マスク」又は「チェッカ」状態に変化させる際に必要なステッ プであるにも拘らず、記載されていないことが分かる。この否定を達成するのに 必要な唯一のハードウェアは、制御論理ブロック36の入力を制御・状態レジス タ52に接続する線280である。
前記論理方程式では、この線は論理項「5yncJに対応する。re−stat eJに関する論理方程式を参照することによって、re 5tatejが、一旦 表明されると、「5yncJが表明されるまで活動状態にあることを示している 。このとき、他にエラー状態がないと仮定すると、re 5tateJは偽にな る。cpuセット再統合処理時には、制御・状態レジスタ52に書込みを行なっ てrsyncJを活動化する動作が、CPO38(前記「マスタ」及び新しい「 チェッカ」の双方に於ける)がリセットされた後に行なわれる。別言すれば、前 記動作は、前記cpuセットの読出し専用メモリ42内の硬度の制御下で、両方 のcpuセットについて同時に行なわれる。
第12図は、前記プロセッササブシステム内に於ける電源供給回路のいくつかの 側面を示すブロック図である。これらの回路は、cpuセットが、前記コンピュ ータの他の部分をパワーダウンさせることな(前記コンピュータから取り外した り、その所定位置に挿入することができるように設計されている。また、これら によっていずれかのcpuセットは、他のcpuセットの一方によって実行され るソフトウェアコマンドの結果として、電源が投入されたり切断されたりするこ とができる。この対話を可能にするために、前記3個のcpuセットは、2線式 「保全バス」282によって相互接続されている。バス282は、12cバスと して実現され、そのためのインタフェース装置は市販されているので、詳細な説 明は省略する。
電力は、2本の28ボルト電力供給線284.286を介して3個のcpuセッ ト20.22.24(及び前記コンピュータの他のサブシステム)に分配される 。2本の線を用いることによって冗長度が得られる。
各cpuセットでは、2本の線284.286から受け取る電力が、2個のダイ オード288によって1つに共通化され、かつ該cpuセット内の単一の電力線 290によって分配される。電力線284.286と電力線290との間にはス イッチング素子が存在しないので、その電力線284.286が既に通電されて いるコンピュータにcpuセットが挿入されると、電力線290は即座に同様に 通電された状態になる。
線290は、前記Cpuの3つの項目に接続されている。即ち、リセット制御回 路292と、28ポルトの電力供給を降下させて+5ボルトの出力を提供する3 端子レギユレータ294と、2本の制御信号線298及び300の双方に於いて 活動状態の「イネーブル」信号によって使用可能な状態にされた場合にのみ、+ 5ボルト出力を供給するDC−DC変換回路296である。後述するような理由 によって、前記cpuセットが最初に前記コンピュータ内に挿入されたときに、 線298には活動状態の信号が存在しないことになり、そのためにDC−DC変 換器296は使用禁止状態のままで、電力供給線290に全(負荷を課すことは ない。レギュレータ294の+5ボルト出力は、直列をなす2個のスイッチ30 2.304を介して+5ボルト分配線306に接続されている。スイッチ302 .304は、前記Cpuセットが前記システムに挿入される際に両方のスイッチ 302.304が必ず開路状態であるようにする機械式のインクロックシステム (第13図及び第14図に関連して後述する)の一部分を形成する。これは、挿 入直後に、レギュレータ294によって電力線290に課される唯一の負荷が、 その静止電流(一般に5ミリアンペア)であることを意味する。リセット制御回 路292は、1ミリアンペア以下の負荷となるTL7705集積回路からなる。
従って、前記cpuセットの挿入時に於ける電力供給線290への全負荷は極め て小さいものであるので、前記cpuセットの挿入によって問題を生じることは なく、電力供給線284.286は通電される。
前記Cpuセットがコンピュータ内部に挿入された後、2個のインクロックスイ ッチ302.304を閉じることができる。この動作によって、リセット制御回 路292の「センス(sense)J入力に接続された+5ボルト電力供給線3 06を通電する。この回路の出力は、DC−DC変換器296を使用状態又は使 用禁止状態にする制御信号線298に接続されている。リセット制御回路292 の前記「センス」入力に電圧が存在しない限り、この回路は線298をその非活 動レベルに維持することによって、(上述したように)DC−DC変換器296 は前記cpuセットの挿入直後に使用禁止になる。2個のスイッチ302.30 4が閉じると、リセット制御回路292はある遅延時間の同線298を非活動レ ベルに維持し、かつその後に活動レベルに変化させることによって、(他の制御 線300が活動レベルにされることを条件として)DC−DC変換器296が使 用可能になる。
また、+5ボルト供給線306によって、保全バス282に接続されているイン タフェース回路のい(つかに電力が供給される。特に、PCF8574集積回路 からなる保全バス「スレーブ」インタフェース308に電力を供給する。このイ ンタフェース308の1個の出力は、DC−DC変換器296の制御線300に 接続されている。前記PCF8574デバイスの特徴は、その出力線が電源投入 時に「活動」状態になり、従ってDC−DC変換器296が、リセット制御回路 292によって与えらる遅延時間が終了するとすぐに使用可能になる。変換器2 96の前記+5ボルト出力は、前記cpuセットに於ける他の全ての論理に供給 するように接続され、従って前記cpuセットは完全に電源が入る。
cpuセットを前記コンピュータから取り外した場合、これはDC−DC変換器 296が再び使用不能になる結果となる。この場合に発生する事象のシーケンス は、最初にスイッチ302.304が開く(前記Cpuセットの取り外しは、こ れらのスイッチが閉じている場合には物理的に不可能である)。これによって、 リセット制御回路292の前記「センス」入力からの+5ボルトの供給が無くな る。この入力に於ける前記電圧が47ボルト以下に落ちるとすぐに、回路292 は線298の信号を非活動化し、それによってコンバータ296は使用不能にな る。
この場合、電力供給線290への負荷が前記cpuセットの挿入時と同じ低い値 に減少しているので、前記Cpuセットを取り外すことは安全である。
また、前記Cpuセットは、保全バス282と、前記cpuセットの専用バス2 8の双方に接続された保全バス「マスク」インタフェース310を有する。この PCC8584集積回路を用いて実現されるマスクインタフェースによって、前 記CpuセットのCPU38が信号を保全バス282に配置することができるよ うにするチャネルが提供され、他のcpuセット(又はそれ自身さえ)に電源を 投入したり落としたりする。
第13図及び第14図は、いずれかのcpuセット20.22.24の機械的構 成を示している。特にこれらの図面は、いずれかのインクロックスイッチ302 .304の機械的な構成を詳細に示している。
前記Cpuセットは、前記2個のインクロックスイッチを除いて該Cpuセット の全ての電子技術が実装されたプリント回路基板312からなる。コネクタ31 4が基板312の後端に装着されて、前記cpuセットと前記各種バス(主デー タ転送バス10、同期バス26、及び保全バス282)との間の接続を確立して いるのに対し、前記cpuセットの前端には、前部バー316が取り付けられて いる。前部バー316の目的の1つは、前記cpuセットをコンピュータ内の所 定位置に保持することである。このために、2個のインジェクタレバー318及 びイジェクタレバー320が前記前部バーに、それぞれその上端及び下端近傍に 枢着されている。これらレバーのそれぞれと前部バー316との間は、第14図 に示されるねじ322によって回転接続されている。また、第14図は、プリン ト回路基板312の上端のためのチャネル形状をなすガイド328の前端を支持 するバー324からなる前記コンピュータの固定構造の一部分を示している。同 様のバー及びガイド(第14図には図示せず)によって基板312の下端が支持 される。
前記cpuセットがコンピュータ内の所定位置にあるとき、各レバー318.3 20は、第14図に示されるような位置にある。同図が示すように、前記インジ ェクタレバー及びイジェクタレバーは、それぞれ端部332に、インジェクタジ ョー334、イジェクタジョー336、及び両ジョー334.336間ののど部 338を有する。固定バー324の外形の一部分がのど部338内に位置するこ とによって、前記cpuセットのコンピュータからの取り外しは、バー324の 後面に当接するインジェクタジョー334によって防止される。また、前記各レ バーは、そのジョー334.336から遠い方の端部にハンドル部339を有し 、それによって前部バー316に向けて又は遠ざかる向きに手で回転させること ができる。この回転によって、イジェクタジョー336がバー324の前面と接 触し、それによって前記cpuセットがガイド328内を前方へ移動し、コネク タ314が解除されて前記cpuセットを取り外すことができる。
cpuセットのコンピュータへの挿入は、レバー318.320を逆方向に回転 させることによって行なわれ、それによって前記レバーのインジェクタジョーが バー324の後面に当接し、それによって前記CpUセットを所定位置に押し込 み、このような動作が行なわれる場合に正しくコネクタ314を係合させる。
レバー318及び320が、前記cpuセットをその所定位置にしっかりと維持 する第14図に示す位置から不注意に動くことがないように、前記各レバーは、 脱落防止した蝶ねじ340を有し、かつ前部バー316は、前記レバーが第14 図の位置にあるときに蝶ねじ340と整合する位置にある2個のねじ孔342を 有する。前記レバーをこの位置に回転させた後、前記蝶ねじのねじ付き端部を孔 342内に係合させ、かつ前記蝶ねじを締め付けることによって、レバー318 .320が所定位置に固定される。
また、第14図に示すように、それぞれプランジャーアクション方式の常時開放 型マイクロスイッチである2個のインクロックスイッチ302.304が、前部 バー316の後部に、ねじ孔342の背後に取り付けられている。蝶ねじ340 の長さは、これらの蝶ねじを完全に締め付けたときに、そのねじ付き端部が2個 のインタロックスイッチ302.304のプランジャに接触し、それによってそ れらをその閉鎖位置に動かし、かつ第12図に関連して上述したように前記Cp uセットに電源が入るように選択される。
第15図は、cpuセットの再統合の際に行なわれるメモリ内容の複写を補助す るという特定の目的を有する「ダーティ」メモリ44を詳細に示している。上述 したように、この複写処理の大部分は、前記コンピュータのオペレーティングシ ステムが依然として実行されている状態で行なわれる。これは、読出し書込み用 メモリ40(複写されるデータのソース)内の記憶位置の内容が、再統合されて いる前記Cpuセットに複写された後に、前記オペレーティングシステムによっ て、又は該オペレーティングシステムの制御下で実行される他のプログラムによ って変形されることを意味する。このような記憶場所は、前記オペレーティング システムによって「ダティにされた」即ち「汚されている」と称され、その内容 が、先に複写された前記Cpuセットに於ける対応する記憶場所ともはや整合し ないことを意味する。前記記憶場所を再び「クリーン(清浄)」にするために、 その新たな内容を、再統合されているcpuセットに複写しなければならない。
ダーティメモリ44の目的は、メモリ40のどの領域が「ダーティ」でありかつ どの領域が「クリーン」であるかを記憶することである。ダーティメモリ44は 1ビツト長メモリであり、このメモリ内の各ビット態(「ダーティ」又は「クリ ーン」)が記憶される。これには、読出し書込み用メモリ40への全ての「書き 込み」データ転送が、自動的にダーティメモリ44内の対応するビットが「ダー ティ」状態に設定される結果となることが必要である。ダーティメモリ44は、 プロセッサ38とメモリ40との間で動作する通常のアドレス変換器39によっ て供給される変換されたアドレスに基づいて、メモリ40に書込みアクセスを記 録するUJ記プロセッサの一部分を構成することがある)。
ダーティメモリ44は、読出し書込み用メモリ40に接続されたアドレス線の最 上位16に接続された一群の16本のアドレス線334を有する(これらは専用 バス28のアドレス線である)。別言すれば、読出し書込み用メモリ40は、6 5,536の「ページ」に分割されたとみなすことができ、これらのいずれかの ページへのアクセスは、ダーティメモリ44のアドレス線344にアドレスが明 確に表れる結果となる。
また、前記ダーティメモリは、データ線34G、「選択」線348、及び「書込 みイネーブル」線350を有する。データ線346は双方向性バッファ352を 介して専用バス28に接続されている。このバッファは、その2つの伝送方向に 「イネーブル」入力354.356を有する。
また、データ線346と+5ボルト線232との間にプルアップ抵抗358が接 続され、それによってバッファ352又はダーティメモリ44のいずれもが線3 46を駆動しない場合に、この線が論理「1」レベルになる。このような状況は 、読出し書込み用メモリ40へのデータ転送の際に生じる。
「選択」、「書込みイネーブル」、及び「バッファイネーブル」線348.35 0.354.356は、全て制御論理ブロック36がらの出力に接続されている 。前記論理方程式に於ける対応する項は、rdirl:ycsJ、rdirty  weJ、rdirty bweJ、及びrdirty oeJである。これら 各項は、線360を介してアドレスデコーダ88から到来し、ダーティメモリ4 4への「正常な」アクセスを知らせる制御論理3Gへのrp airpyJ入力 に依存する。しかし、更に、前記rdirty csJ項及びrdirty w eJ項は、読出し書込み用メモリ40への書込みデータ転送の際に活動状態にな る(アドレスデコーダ88からの線362に於ける信号rdramJ、及びCP U38からの信号ru tsJ及びru writeJとによって示される)。
このような書込みデータ転送の際に前記rdirtyb w e J項が活動状 、態でないため、データ線346は論理「1」になり、かつこのレベルは、ダー ティメモリ44内に読出し書込み用メモリ40のアクセスされているアドレスに 対応する位置に書込まれる。
ダーティメモリ44によって供給される前記情報によって、cpuセットの再統 合の際に前記メモリの内容を複写するために対話方法を用いることができる。こ の方法には次のステップが含まれる。まず、前記ダーティメモリの全ビットを「 1」に設定する。次にこのメモリの中を走査し、かつ「1」であるビット毎に前 記ビットを代わりに「0」に設定し、かつ再統合されている前記CplJセット に読出し書き込み用メモリ40の対応するページを複写する。次に、この走査を 繰り返すことによって、新たに汚れた全てのページの新しい内容を複写する。( 複写された後に、ページが再び汚れた状態になる確率は、前記コンピュータがマ ルチタスキング・オペレーティングシステムを有し、かつこの対話式複写方法は 、前記コンピュータによって実行されている多数のタスクの中の単に1つに過ぎ ず、該コンピュータの処理能力をインクリーピング式に共用しているので、複写 した後にページが再び汚れた状態になる虞れが生じる。)このようにしてダーテ ィメモリ44の走査を何度か繰り返した後、汚れたページの数が相当小さくなり 、かつ前記オペレーティングシステムが一時的に中断されて、前記cpuセット の再統合の残りのステージが実行される。
これら再統合の残りのステージは、次のようにまとめられる。
611記cpuセツトのハードウェアの幾つか又は全部の状態のメモリイメージ (読出し書込み用メモリ40内)メモリイメージを生成する。例えば、一般にレ シーバ/トランスミッタ48、タイマ50、制御レジスタ52、及び制御論理3 6のレジスタの内容を記録することが必要になる。
「ダーティ」メモリ44によって汚れていると示されるメモリ40の全てのペー ジを前記新しいcpuセットに複写する。この複写は常に、先のステップによっ てメモリイメージが生成されたばかりのページを含むことになる。
ここで、前記マスタcpuセットが全cpuセット(それ自身を含む)を完全に 同期してリセットさせる。これによって、前記cpuセットの全ハードウェアが 、全cpuセット(リセット後にソフトウェアによって初期状態にされ得るハー ドウェアの部分があれば、それを除く)について同一である周知の状態になる。
前記リセット後に(全cpuセットに同期して)実行されるソフトウェアの中に 、前記セットのハードウェア状態のメモリイメージを含むメモリ40の部分を読 出し、かつこのメモリイメージを用いて前記ノ1−ドウエアを、前記オペレーテ ィングシステムが中断された時にあった状態に戻すルーチンがある。
最後に、前記オペレーティングシステムは、前記マスタcpuセットが、前記シ ステム力呻断した時と全く同じ状態で、かつ新たに再統合されたcpuセットが 011記マスクと完全に同期して稼動しつつ、オペレーションを再開できるよう になる。
上述した各ステップの中で、第3のステップ(前記cpuセ・ノドへの同期リセ ット処理)には、前記cpuセットが特別のl)−ドウエアの特徴を有すること を必要とする。これらの特徴は第16図に示されている。
このハードウェアは、同期バス26に線364を有する。各cpuセットに於い て、線364はバッファ366の入力、及びその「イネーブル」人力が「マスク 」線56に接続された3状態バツフア368の出力の双方に接続されており、そ れによって前記[マスタJ cpuセットのみが線364を駆動することができ る。前記「マスタJ cpuセットによる線364の活動化は、実際に前記cp uセットのリセット処理をトリガする事象である。しかし、cpuセットのハー ドウェアのリセットは、それ自身をリセットすることによって線364の信号に 応答するため、ソフトウェアコマンドによって[武装J (armed)されて いなければならない。
同期バス26の線364の駆動に関連する前記ハードウェアの部分は、制御・状 態レジスタ52の出力からD型フリップフロップ372のD(データ)に人力に 接続された線370である。このフリップフロップは、そのクロック入力が、ク ロック回路100からタロツク信号を搬送する線374に接続され、それによっ て前記フリップフロップは前記Cpuセットに於ける他の事象と同期して状態を 変化させる。前記フリップフロップのQ出力が線376を介してバッファ368 のデータに入力に送られることによって、線364を活動化させるのに必要なこ とは、制御・状態レジスタ52への書き込みだけである。
線364に応答するハードウェアには、その出力が別のp型フリップフロップ3 78のD入力に接続されたバッファ366が含まれる。このフリップフロップも 同様に線374からクロック信号を受け取る。このフリップフロップからのQ出 力は、線380によって制御論理ブロック36に接続されている。前記論理方程 式に於ける対応する項は、rsbsrJである。この項は、論理項rsync  armJと共に(前記制御・状態レジスタから線384を介して制御論理36が 受け取る信号に対応する)、出力論理項rsyncresetJを制御する。制 御論理36からの対応する出力は、cpuセ・ソトの再統合を実現するの(こ1 ノセツトを必要する011記cpuセツトの全部分に接続された線382(こ現 れる。論理項rsb srJ、rsync armJ及び「5yncreset J間の関係は、第17図の状態遷移図によって示されてし)る。
…J2cpuセットの正常動作時には、制御論理36が状態S65になる。
ここで、両輪理項rsb srJ及びrsync armJが活動状態になる場 合には、前記論理が、rsyncresetJ信号が活動状態になる状態SOに 変化する。次に前記論理は、制御論理36から受け取る各クロックパルス毎に1 ステツプずつ、状態S1から364へ順に進む。前記r s y n c r  e s e t j項は、状態363を含めて状態363まで活動状態のままで あるが、前記論理が状態S64に到達すると、前記rsync rese tJ 項は非活動化され、かつ前記cpuセ・ントのハードウェアの他の部分がリセッ トから抜は出ることによって、CPU38が読出し専用メモリ42からのコード を実行し始める。制御論理36は、CPLI38によって実行される最初の動作 の1つとなる、前記rsync armJ項が否定されるまで、状態S64のま まである。
この後、制御論理36は状態S65に戻る。
rsync armJ信号の目的は、同期ノくス26に於ける線364の故障に よって不注意にcpuセット20.22.24のリセ・ノドを生じさせないよう にすることである。このような不注意なリセ・ントが可能な場合には、線364 は好ましくない故障の位置を1つ示すことになる。
状態の定鳳 b rpe m b dt、a & !aok & !u write ;娼[ (2P1Ll」 d−real tip = real tip ;ido = rea13ip  & u owner It (Sl l ;bus−access = 5r bus as & address match ’;s unlocked  = unlocked ;dbr 5iqno = br 5iqno ;db r 51gn1 = br 5iqnl ;dbr 5iqn2 = br 5 iqn2 ;5yncreset = So 63 ;政A入カ マスター(FFから) bus oko/l/2 (Bハスがり)!real−tip + !u−ow ner〉 〉 似 。。

Claims (10)

    【特許請求の範囲】
  1. 1.主データバスと、関連する読出し書き込み用メモリをそれぞれ有する複数の プロセッサ手段とからなり、前記各プロセッサ手段が、ローカルデータバスと、 前記ローカルデータバスを前記主データバスに相互接続するデータ転送インタフ ェースとを有し、前記データ転送インタフェースが、前記主データバスに存在す るデータ及び/又はアドレスを、前記各ローカルデータバスに存在するデータ及 び/又はアドレスと比較するように構成され、かつ更に比較した前記データ及び /又はアドレスに何らかの不整合が検出されると、前記全プロセッサ手段に割込 み信号を印加するように構成されたコンパレータ手段からなることを特徴とする フォールトトレラント・コンピュータシステム。
  2. 2.各中央処理手段が、更にその前記ローカルデータバスに接続された第1の複 数のハードウェア要素からなり、前記コンパレータ手段が、前記主データバスに あるデータを前記ローカルデータバスにあるデータと比較し、かつそれに応答し て復数の状態出力信号を生成し、前記データ転送インタフェース即ち第1バスイ ンタフェースの一部分であるパリティ検査回路からなり、前記パリティ検査回路 が、前記主データバスのデータ線を監視し、かつそれに応答してパリティ出力信 号を生成し、前記パリティ出力信号が、前記コンパレータ手段への入力信号とし て使用され、第2のバスインタフェースを介して前記ローカルデータバスに接続 された専用データバスと、前記専用データバスに接続された第2の複数のバード ウェア要素と、他の前記中央処理手段の中央処理装置と概ね同期して動作する中 央処理装置と、前記第1及び第2のマスインタフェースに接続されかつそれらを 制御する制御論理回路とからなり、前記制御論理回路が、他の全ての前記中央処 理手段から前記状態出力信号を入力信号として受け取り、かつそれに応答して、 故障が生じているかどうかを前記中央処理装置に示す制御論理出力信号を生成す ることを特徴とする第1請求項に記載のフォールトトレラント・コンピュータシ ステム。
  3. 3.前記各中央処理装置が、68040集積回路からなることを特徴とする第2 請求項に記載のフォールトトレラント・コンピュータシステム。
  4. 4.前記第1の複数のハードウェア要素が、第1の読出し書き込み用メモリと、 読出し専用メモリと、第2の読出し書き込み用メモリとからなることを特徴とす る第2請求項又は第3請求項に記載のフォールトトレラント・コンピュータシス テム。
  5. 5.前記第2の読出し書き込み用メモリが、データが書き込まれている前記第1 の読出し書き込み用メモリ内の記憶場所に対応して情報を記憶するためのダーテ ィ読出し書き込み用メモリからなり、前記ダーティ読出し書き込み用メモリによ って、ある前記中央処理手段から別の前記中央処理手段への複写が容易になるこ とを特徴とする第3請求項又は第4請求項記載のフォールトトレラント・コンピ ュータシステム。
  6. 6.前記第2の複数のバードウェア要素が、読出し書き込み用メモリと、非同期 レシーバ/トランスミッタ回路と、タイマ回路と、複数の制御・状態レジスタと 、別の読出し書き込み用メモリとからなることを特徴とする第4請求項又は第5 請求項に記載のフォールトトレラント・コンピュータシステム。
  7. 7.前記別の読出し書き込み用メモリが、欠陥を有する又は存在しないコンピュ ータサブシステムを有する前記主データバスのインタフェーススロットに対応し て情報を記憶するように構成されていることを特徴とする第6請求項に記載のフ ォールトトレラント・コンピュータシステム。
  8. 8.前記非同期レシーバ/トランスミッタ回路が、RS−232インタフェース を提供する2692集積回路からなることを特徴とする第6請求項又は第7請求 項に記載のフォールトトレラント・コンピュータシステム。
  9. 9.前記タイマ回路が9513集積回路からなることを特徴とする第6請求項乃 至第8請求項のいずれか記載のフォールトトレラント・コンピュータシステム。
  10. 10.コンピュータサブシステムを相互接続するための複数のインタフェースス ロットを有する主データパスと、前記インタフェーススロットによって前記主デ ータバスに接続された複数のコンピュータサブシステムと、概ね同期して動作す る複数の中央処理モジュールとからなり、前記中央処理モジュールが、前記主デ ータバスからの読出し及び該バスヘの書込みを行うことができるマスタ中央処理 モジュールを有し、前記マスタ中央処理モジュールが、最初に前記中央処理モジ ュールの中から任意に選択され、前記各中央処理モジュールが、前記主データバ スにあるデータを前記中央処理モジュールの副バスにあるデータと前記中央処理 モジュールが比較し、かつそれに応答して状態出力信号を生成することができる ようにする手段からなり、前記中央処理モジュールを相互接続する同期バスを備 え、前記同期バスが、前記各中央処理モジュールから他の前記各中央処理モジュ ールに前記状態出力信号を伝送する信号線からなり、ハードウェアの効果を減少 させるようにしたことを特徴とするフォールトトレラント・コンピュータシステ ム。
JP50427394A 1992-07-17 1993-07-19 フォールトトレラント・コンピュータシステム Expired - Lifetime JP3713554B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GB9215212A GB2268817B (en) 1992-07-17 1992-07-17 A fault-tolerant computer system
GB9215212.3 1992-07-17
PCT/GB1993/001514 WO1994002896A1 (en) 1992-07-17 1993-07-19 A fault-tolerant computer system

Publications (2)

Publication Number Publication Date
JPH07509088A true JPH07509088A (ja) 1995-10-05
JP3713554B2 JP3713554B2 (ja) 2005-11-09

Family

ID=10718868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP50427394A Expired - Lifetime JP3713554B2 (ja) 1992-07-17 1993-07-19 フォールトトレラント・コンピュータシステム

Country Status (8)

Country Link
US (12) US5627965A (ja)
EP (1) EP0650615B1 (ja)
JP (1) JP3713554B2 (ja)
AT (1) ATE162898T1 (ja)
AU (1) AU4713493A (ja)
DE (1) DE69316755T2 (ja)
GB (1) GB2268817B (ja)
WO (1) WO1994002896A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015088103A (ja) * 2013-11-01 2015-05-07 富士通株式会社 情報処理装置、及び、情報処理装置の制御方法

Families Citing this family (131)

* 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
GB2342479B (en) * 1995-07-13 2000-08-09 Fujitsu Ltd Information processing system
JP3502216B2 (ja) * 1995-07-13 2004-03-02 富士通株式会社 情報処理装置
GB2345364B (en) * 1995-07-13 2000-08-16 Fujitsu Ltd Information processing system
DE19529434B4 (de) * 1995-08-10 2009-09-17 Continental Teves Ag & Co. Ohg Microprozessorsystem für sicherheitskritische Regelungen
US5802265A (en) * 1995-12-01 1998-09-01 Stratus Computer, Inc. Transparent fault tolerant computer system
US6141769A (en) 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
US5978938A (en) * 1996-11-19 1999-11-02 International Business Machines Corporation Fault isolation feature for an I/O or system bus
US6338150B1 (en) 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
KR100224965B1 (ko) 1997-07-10 1999-10-15 윤종용 다층 구조의 아이2씨 버스를 이용한 진단/제어 시스템
US6055647A (en) * 1997-08-15 2000-04-25 Compaq Computer Corporation Method and apparatus for determining computer system power supply redundancy level
JP3173648B2 (ja) * 1997-12-18 2001-06-04 日本電気株式会社 故障検出方式
US6138247A (en) * 1998-05-14 2000-10-24 Motorola, Inc. Method for switching between multiple system processors
US6971048B1 (en) 1998-06-15 2005-11-29 Sun Microsystems, Inc. Testing device driver hardening
US6587961B1 (en) * 1998-06-15 2003-07-01 Sun Microsystems, Inc. Multi-processor system bridge with controlled access
US6223230B1 (en) 1998-06-15 2001-04-24 Sun Microsystems, Inc. Direct memory access in a bridge for a multi-processor system
US6148348A (en) * 1998-06-15 2000-11-14 Sun Microsystems, Inc. Bridge interfacing two processing sets operating in a lockstep mode and having a posted write buffer storing write operations upon detection of a lockstep error
US6167477A (en) * 1998-06-15 2000-12-26 Sun Microsystems, Inc. Computer system bridge employing a resource control mechanism with programmable registers to control resource allocation
US6260159B1 (en) * 1998-06-15 2001-07-10 Sun Microsystems, Inc. Tracking memory page modification in a bridge for a multi-processor system
US6141718A (en) * 1998-06-15 2000-10-31 Sun Microsystems, Inc. Processor bridge with dissimilar data registers which is operable to disregard data differences for dissimilar data direct memory accesses
US6173351B1 (en) 1998-06-15 2001-01-09 Sun Microsystems, Inc. Multi-processor system bridge
US6513108B1 (en) 1998-06-29 2003-01-28 Cisco Technology, Inc. Programmable processing engine for efficiently processing transient data
US6119215A (en) * 1998-06-29 2000-09-12 Cisco Technology, Inc. Synchronization and control system for an arrayed processing engine
US6195739B1 (en) 1998-06-29 2001-02-27 Cisco Technology, Inc. Method and apparatus for passing data among processor complex stages of a pipelined processing engine
US6836838B1 (en) 1998-06-29 2004-12-28 Cisco Technology, Inc. Architecture for a processor complex of an arrayed pipelined processing engine
US6101599A (en) * 1998-06-29 2000-08-08 Cisco Technology, Inc. System for context switching between processing elements in a pipeline of processing elements
DE19832060C2 (de) * 1998-07-16 2000-07-06 Siemens Ag Doppelbare Prozessoreinrichtung
US6728839B1 (en) 1998-10-28 2004-04-27 Cisco Technology, Inc. Attribute based memory pre-fetching technique
US6385747B1 (en) 1998-12-14 2002-05-07 Cisco Technology, Inc. Testing of replicated components of electronic device
US6173386B1 (en) 1998-12-14 2001-01-09 Cisco Technology, Inc. Parallel processor with debug capability
US6920562B1 (en) 1998-12-18 2005-07-19 Cisco Technology, Inc. Tightly coupled software protocol decode with hardware data encryption
US6853623B2 (en) 1999-03-05 2005-02-08 Cisco Technology, Inc. Remote monitoring of switch network
US6981176B2 (en) * 1999-05-10 2005-12-27 Delphi Technologies, Inc. Secured microcontroller architecture
DE19947658A1 (de) * 1999-10-04 2001-04-12 Bayerische Motoren Werke Ag Datenbus für mehrere Teilnehmer
US6772367B1 (en) * 1999-10-13 2004-08-03 Board Of Regents, The University Of Texas System Software fault tolerance of concurrent programs using controlled re-execution
DE19950131C1 (de) 1999-10-18 2000-11-02 Siemens Ag Integrierter Schaltkreis mit gedoppelten synchronen und asynchronen Komponenten
JP2003513600A (ja) * 1999-10-28 2003-04-08 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 電源電圧供給装置
US6529983B1 (en) 1999-11-03 2003-03-04 Cisco Technology, Inc. Group and virtual locking mechanism for inter processor synchronization
US6681341B1 (en) 1999-11-03 2004-01-20 Cisco Technology, Inc. Processor isolation method for integrated multi-processor systems
US6496890B1 (en) 1999-12-03 2002-12-17 Michael Joseph Azevedo Bus hang prevention and recovery for data communication systems employing a shared bus interface with multiple bus masters
US6886111B1 (en) * 2000-03-08 2005-04-26 International Business Machines Corporation Method and data processing system for software testing of a device driver
US6892237B1 (en) * 2000-03-28 2005-05-10 Cisco Technology, Inc. Method and apparatus for high-speed parsing of network messages
US6633996B1 (en) 2000-04-13 2003-10-14 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus architecture
US6687851B1 (en) 2000-04-13 2004-02-03 Stratus Technologies Bermuda Ltd. Method and system for upgrading fault-tolerant systems
WO2001080010A2 (en) * 2000-04-13 2001-10-25 Stratus Technologies International, S.A.R.L. Method and system for upgrading fault-tolerant systems
US6735715B1 (en) 2000-04-13 2004-05-11 Stratus Technologies Bermuda Ltd. System and method for operating a SCSI bus with redundant SCSI adaptors
US6708283B1 (en) 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6691257B1 (en) 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
US6505269B1 (en) 2000-05-16 2003-01-07 Cisco Technology, Inc. Dynamic addressing mapping to eliminate memory resource contention in a symmetric multiprocessor system
US9800608B2 (en) 2000-09-25 2017-10-24 Symantec Corporation Processing data flows with a data flow processor
US20110213869A1 (en) * 2000-09-25 2011-09-01 Yevgeny Korsunsky Processing data flows with a data flow processor
US20110214157A1 (en) * 2000-09-25 2011-09-01 Yevgeny Korsunsky Securing a network with data flow processing
US20070192863A1 (en) * 2005-07-01 2007-08-16 Harsh Kapoor Systems and methods for processing data flows
US9525696B2 (en) 2000-09-25 2016-12-20 Blue Coat Systems, Inc. Systems and methods for processing data flows
US20020165947A1 (en) * 2000-09-25 2002-11-07 Crossbeam Systems, Inc. Network application apparatus
US20110219035A1 (en) * 2000-09-25 2011-09-08 Yevgeny Korsunsky Database security via data flow processing
US8010469B2 (en) * 2000-09-25 2011-08-30 Crossbeam Systems, Inc. Systems and methods for processing data flows
US20100042565A1 (en) * 2000-09-25 2010-02-18 Crossbeam Systems, Inc. Mezzazine in-depth data analysis facility
GB2367646B (en) * 2000-10-03 2002-11-20 Sun Microsystems Inc Resource access control
GB2367648B (en) * 2000-10-03 2002-08-28 Sun Microsystems Inc Multiple trap avoidance mechanism
GB2367647B (en) * 2000-10-03 2002-11-20 Sun Microsystems Inc Resource access control for a processor
GB2367645B (en) * 2000-10-03 2002-11-20 Sun Microsystems Inc Memory access control
US6854072B1 (en) 2000-10-17 2005-02-08 Continuous Computing Corporation High availability file server for providing transparent access to all data before and after component failover
GB2369690B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Enhanced protection for memory modification tracking
GB2369694B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Efficient memory modification tracking
GB2369693B (en) * 2000-11-29 2002-10-16 Sun Microsystems Inc Protection for memory modification tracking
US6785841B2 (en) * 2000-12-14 2004-08-31 International Business Machines Corporation Processor with redundant logic
US7003728B2 (en) * 2000-12-21 2006-02-21 David Berque System for knowledge transfer in a group setting
FR2819598B1 (fr) * 2001-01-16 2003-04-11 Thomson Csf Dispositif de synchronisation tolerant aux pannes pour reseau informatique temps reel
US6845467B1 (en) 2001-02-13 2005-01-18 Cisco Systems Canada Co. System and method of operation of dual redundant controllers
US6766479B2 (en) 2001-02-28 2004-07-20 Stratus Technologies Bermuda, Ltd. Apparatus and methods for identifying bus protocol violations
US7065672B2 (en) * 2001-03-28 2006-06-20 Stratus Technologies Bermuda Ltd. Apparatus and methods for fault-tolerant computing using a switching fabric
JP3764348B2 (ja) * 2001-04-27 2006-04-05 富士通株式会社 通信制御プログラム,通信制御方法およびデータ処理装置
US6996750B2 (en) * 2001-05-31 2006-02-07 Stratus Technologies Bermuda Ltd. Methods and apparatus for computer bus error termination
US7213211B1 (en) 2001-07-03 2007-05-01 Dynamic Knowledge Transfer, Llc System for knowledge transfer in a group setting
US6938183B2 (en) * 2001-09-21 2005-08-30 The Boeing Company Fault tolerant processing architecture
US7350194B1 (en) 2001-09-24 2008-03-25 Oracle Corporation Techniques for debugging computer programs involving multiple computing machines
DE10150418B4 (de) * 2001-10-11 2004-05-13 Grundig Ag I.Ins. Vorrichtung zum Rücksetzen von an einen Bus angeschlossenen integrierten Schaltungen
US6948079B2 (en) * 2001-12-26 2005-09-20 Intel Corporation Method and apparatus for providing supply voltages for a processor
US20030122429A1 (en) * 2001-12-28 2003-07-03 Zhang Kevin X. Method and apparatus for providing multiple supply voltages for a processor
US20030126477A1 (en) * 2001-12-28 2003-07-03 Zhang Kevin X. Method and apparatus for controlling a supply voltage to a processor
US6816939B2 (en) * 2002-05-09 2004-11-09 International Business Machines Corporation Apparatus for supporting I2C bus masters on a secondary side of an I2C multiplexor
US7117283B2 (en) * 2002-07-24 2006-10-03 Lsi Logic Corporation Multi-master extended I2C protocol
US20040141461A1 (en) * 2003-01-22 2004-07-22 Zimmer Vincent J. Remote reset using a one-time pad
GB0308708D0 (en) * 2003-04-15 2003-05-21 British Telecomm A computer system
US20040250155A1 (en) * 2003-05-19 2004-12-09 Stefan Weichselbaum Aspect based recovery system and method
JP4457581B2 (ja) * 2003-05-28 2010-04-28 日本電気株式会社 耐障害システム、プログラム並列実行方法、耐障害システムの障害検出装置およびプログラム
JP2005128747A (ja) * 2003-10-23 2005-05-19 Fujitsu Ltd シリアル転送バス用の送受信マクロを有する集積回路装置
FR2867325A1 (fr) * 2004-03-02 2005-09-09 St Microelectronics Sa Dispositif de protection contre l'injection d'erreur dans un bloc logique asynchrone d'un module logique elementaire
US7428694B2 (en) * 2004-03-02 2008-09-23 Stmicroelectronics S.A. Device for protection against error injection into a synchronous flip-flop of an elementary logic module
JP4161276B2 (ja) * 2004-12-17 2008-10-08 日本電気株式会社 フォルトトレラントコンピュータ装置およびその同期化方法
US7508354B1 (en) 2004-12-20 2009-03-24 Dynamic Knowledge Transfer, Llc Multi-board presentation system
US7496787B2 (en) 2004-12-27 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for checkpointing
US7587658B1 (en) 2005-01-03 2009-09-08 Sun Microsystems, Inc. ECC encoding for uncorrectable errors
JP2006228121A (ja) * 2005-02-21 2006-08-31 Toshiba Corp 演算処理装置
JP2006259869A (ja) * 2005-03-15 2006-09-28 Fujitsu Ltd マルチプロセッサシステム
US20080229415A1 (en) * 2005-07-01 2008-09-18 Harsh Kapoor Systems and methods for processing data flows
US7979368B2 (en) * 2005-07-01 2011-07-12 Crossbeam Systems, Inc. Systems and methods for processing data flows
TWI261657B (en) * 2005-08-24 2006-09-11 Delta Electronics Inc Controlling apparatus having dual processors
RU2305313C1 (ru) * 2005-12-27 2007-08-27 Яков Аркадьевич Горбадей Способ я.а. горбадея обеспечения надежной работы программного вычислительного средства
US20080047639A1 (en) * 2006-06-27 2008-02-28 Fox Angela O Magnetic golf related devices
US20100049268A1 (en) * 2007-02-20 2010-02-25 Avery Biomedical Devices, Inc. Master/slave processor configuration with fault recovery
US7673188B2 (en) * 2007-08-09 2010-03-02 Globalfoundries Inc. System and method for controlling synchronous functional microprocessor redundancy during test and method for determining results
US7873874B2 (en) * 2007-08-09 2011-01-18 Advanced Micro Devices, Inc. System and method for controlling synchronous functional microprocessor redundancy during test and analysis
US7890662B2 (en) * 2007-08-14 2011-02-15 Cisco Technology, Inc. System and method for providing unified IP presence
US7826455B2 (en) * 2007-11-02 2010-11-02 Cisco Technology, Inc. Providing single point-of-presence across multiple processors
US8036230B2 (en) * 2007-11-05 2011-10-11 Cisco Technology, Inc. System and method for providing single IP tunnel
US8117495B2 (en) * 2007-11-26 2012-02-14 Stratus Technologies Bermuda Ltd Systems and methods of high availability cluster environment failover protection
US7823018B2 (en) * 2008-05-15 2010-10-26 International Business Machines Corporation Methods, systems and computer program products for CPU signaturing to aide in performance analysis
US20090292883A1 (en) * 2008-05-23 2009-11-26 Nokia Corporation Apparatus, Method, and Computer Program Product for Memory Validation Operations in a Memory
US7953914B2 (en) * 2008-06-03 2011-05-31 International Business Machines Corporation Clearing interrupts raised while performing operating system critical tasks
US8195981B2 (en) * 2008-06-03 2012-06-05 International Business Machines Corporation Memory metadata used to handle memory errors without process termination
JP5347414B2 (ja) * 2008-10-03 2013-11-20 富士通株式会社 同期制御装置,情報処理装置及び同期管理方法
US8769360B2 (en) * 2010-10-14 2014-07-01 International Business Machines Corporation Dynamic detection and identification of the functional state of multi-processor cores
US8751736B2 (en) 2011-08-02 2014-06-10 Oracle International Corporation Instructions to set and read memory version information
US8572441B2 (en) 2011-08-05 2013-10-29 Oracle International Corporation Maximizing encodings of version control bits for memory corruption detection
RU2486569C1 (ru) * 2012-05-17 2013-06-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Тихоокеанский государственный университет" Способ поиска неисправного блока в дискретной динамической системе
RU2486568C1 (ru) * 2012-05-17 2013-06-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Тихоокеанский государственный университет" Способ поиска неисправного блока в непрерывной динамической системе
RU2486570C1 (ru) * 2012-05-18 2013-06-27 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Тихоокеанский государственный университет" Способ поиска неисправного блока в дискретной динамической системе
US9043559B2 (en) 2012-10-23 2015-05-26 Oracle International Corporation Block memory engine with memory corruption detection
US9251002B2 (en) 2013-01-15 2016-02-02 Stratus Technologies Bermuda Ltd. System and method for writing checkpointing data
RU2541896C1 (ru) * 2013-10-24 2015-02-20 Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Тихоокеанский государственный университет" Способ поиска неисправного блока в дискретной динамической системе на основе анализа знаков передач сигналов
EP3090336A1 (en) 2013-12-30 2016-11-09 Paul A. Leveille Checkpointing systems and methods of using data forwarding
US9652338B2 (en) 2013-12-30 2017-05-16 Stratus Technologies Bermuda Ltd. Dynamic checkpointing systems and methods
EP3090345B1 (en) 2013-12-30 2017-11-08 Stratus Technologies Bermuda Ltd. Method of delaying checkpoints by inspecting network packets
US9672298B2 (en) 2014-05-01 2017-06-06 Oracle International Corporation Precise excecution of versioned store instructions
US9195593B1 (en) 2014-09-27 2015-11-24 Oracle International Corporation Hardware assisted object memory migration
US10528501B2 (en) * 2017-05-18 2020-01-07 Linear Technology Holding Llc Coordinated event sequencing
JP6771443B2 (ja) * 2017-09-21 2020-10-21 株式会社東芝 演算処理装置およびその方法
TWI668962B (zh) * 2018-10-02 2019-08-11 新唐科技股份有限公司 時脈調整裝置及其傳輸系統和方法

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3755806A (en) * 1972-05-24 1973-08-28 Bowmar Ali Inc Calculator display circuit
US3800294A (en) * 1973-06-13 1974-03-26 Ibm System for improving the reliability of systems using dirty memories
US4099234A (en) * 1976-11-15 1978-07-04 Honeywell Information Systems Inc. Input/output processing system utilizing locked processors
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
US4368512A (en) * 1978-06-30 1983-01-11 Motorola, Inc. Advanced data link controller having a plurality of multi-bit status registers
US4205374A (en) * 1978-10-19 1980-05-27 International Business Machines Corporation Method and means for CPU recovery of non-logged data from a storage subsystem subject to selective resets
US4939643A (en) * 1981-10-01 1990-07-03 Stratus Computer, Inc. Fault tolerant digital data processor with improved bus protocol
IN160140B (ja) * 1981-10-10 1987-06-27 Westinghouse Brake & Signal
IT1151351B (it) * 1982-01-19 1986-12-17 Italtel Spa Disposizione circuitale atta a realizzare lo scambio di dati tra una coppia di elaboratori operanti secondo il principio master-slave
US4747041A (en) * 1983-06-27 1988-05-24 Unisys Corporation Automatic power control system which automatically activates and deactivates power to selected peripheral devices based upon system requirement
US4634110A (en) * 1983-07-28 1987-01-06 Harris Corporation Fault detection and redundancy management system
DE3328405A1 (de) * 1983-08-05 1985-02-21 Siemens AG, 1000 Berlin und 8000 München Steuerorgane eines fehlertoleranten mehrrechnersystems
US4870704A (en) * 1984-10-31 1989-09-26 Flexible Computer Corporation Multicomputer digital processing system
US4686641A (en) * 1985-03-18 1987-08-11 Detroit Edison Company Static programmable powerline carrier channel test structure and method
US4757442A (en) * 1985-06-17 1988-07-12 Nec Corporation Re-synchronization system using common memory bus to transfer restart data from non-faulty processor to failed processor
EP0262301B1 (en) * 1986-06-27 1993-03-03 International Business Machines Corporation Paging supervisor
US4837739A (en) * 1986-07-25 1989-06-06 Ford Aerospace & Communications Corporation Telemetry data processor
US4791641A (en) * 1986-09-15 1988-12-13 Thinking Machines Corporation Parallel processor error checking
FR2606184B1 (fr) * 1986-10-31 1991-11-29 Thomson Csf Dispositif de calcul reconfigurable
US4736119A (en) * 1987-02-04 1988-04-05 American Telephone And Telegraph Company, At&T Bell Laboratories Dynamic CMOS current surge control
US4805107A (en) * 1987-04-15 1989-02-14 Allied-Signal Inc. Task scheduler for a fault tolerant multiple node processing system
CH675781A5 (ja) * 1987-04-16 1990-10-31 Bbc Brown Boveri & Cie
US4907228A (en) * 1987-09-04 1990-03-06 Digital Equipment Corporation Dual-rail processor with error checking at single rail interfaces
US5233613A (en) * 1988-03-29 1993-08-03 Advanced Micro Devices, Inc. Reliable watchdog timer
JPH0792764B2 (ja) * 1988-05-25 1995-10-09 日本電気株式会社 マイクロプロセッサ
US4951309A (en) * 1988-10-14 1990-08-21 Compag Computer Corporation Power-down modem
US5084878A (en) * 1988-10-24 1992-01-28 Hitachi, Ltd. Fault tolerant system employing majority voting
US5155824A (en) * 1989-05-15 1992-10-13 Motorola, Inc. System for transferring selected data words between main memory and cache with multiple data words and multiple dirty bits for each address
US5119485A (en) * 1989-05-15 1992-06-02 Motorola, Inc. Method for data bus snooping in a data processing system by selective concurrent read and invalidate cache operation
US5113522A (en) * 1989-05-17 1992-05-12 International Business Machines Corporation Data processing system with system resource management for itself and for an associated alien processor
JP2789479B2 (ja) * 1989-08-14 1998-08-20 松下電器産業株式会社 処理装置およびマルチプロセッサシステム
US5167024A (en) * 1989-09-08 1992-11-24 Apple Computer, Inc. Power management for a laptop computer with slow and sleep modes
US5212777A (en) * 1989-11-17 1993-05-18 Texas Instruments Incorporated Multi-processor reconfigurable in single instruction multiple data (SIMD) and multiple instruction multiple data (MIMD) modes and method of operation
EP0432359A3 (en) * 1989-11-21 1993-03-17 International Business Machines Corporation Method and apparatus for performing memory protection operations in a parallel processor system
US5287512A (en) * 1990-08-06 1994-02-15 Ncr Corporation Computer memory system and method for cleaning data elements
US5226152A (en) * 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
US5274646A (en) * 1991-04-17 1993-12-28 International Business Machines Corporation Excessive error correction control
US5271023A (en) * 1991-06-03 1993-12-14 Motorola, Inc. Uninterruptable fault tolerant data processor
US5307381A (en) * 1991-12-27 1994-04-26 Intel Corporation Skew-free clock signal distribution network in a microprocessor
US5369311A (en) * 1992-03-06 1994-11-29 Intel Corporation Clock generator control circuit
GB2264794B (en) * 1992-03-06 1995-09-20 Intel Corp Method and apparatus for automatic power management in a high integration floppy disk controller
US5428761A (en) * 1992-03-12 1995-06-27 Digital Equipment Corporation System for achieving atomic non-sequential multi-word operations in shared memory
US5361267A (en) * 1992-04-24 1994-11-01 Digital Equipment Corporation Scheme for error handling in a computer system
US5345583A (en) * 1992-05-13 1994-09-06 Scientific-Atlanta, Inc. Method and apparatus for momentarily interrupting power to a microprocessor to clear a fault state
GB2268817B (en) * 1992-07-17 1996-05-01 Integrated Micro Products Ltd A fault-tolerant computer system
US5758053A (en) * 1992-07-22 1998-05-26 Hitachi, Ltd. Fault handling and recovery for system having plural processors
US5473753A (en) * 1992-10-30 1995-12-05 Intel Corporation Method of managing defects in flash disk memories
US5790776A (en) * 1992-12-17 1998-08-04 Tandem Computers Incorporated Apparatus for detecting divergence between a pair of duplexed, synchronized processor elements
US5675807A (en) * 1992-12-17 1997-10-07 Tandem Computers Incorporated Interrupt message delivery identified by storage location of received interrupt data
US5751932A (en) * 1992-12-17 1998-05-12 Tandem Computers Incorporated Fail-fast, fail-functional, fault-tolerant multiprocessor system
US5623633A (en) * 1993-07-27 1997-04-22 Dell Usa, L.P. Cache-based computer system employing a snoop control circuit with write-back suppression
EP1016968B1 (en) * 1993-10-15 2002-09-11 Hitachi, Ltd. Logic circuit having error detection function
JP2735479B2 (ja) * 1993-12-29 1998-04-02 株式会社東芝 メモリ・スナップショット方法及びメモリ・スナップショット機能を持つ情報処理装置
US5751995A (en) * 1994-01-04 1998-05-12 Intel Corporation Apparatus and method of maintaining processor ordering in a multiprocessor system which includes one or more processors that execute instructions speculatively
US5630048A (en) * 1994-05-19 1997-05-13 La Joie; Leslie T. Diagnostic system for run-time monitoring of computer operations
US5826093A (en) * 1994-12-22 1998-10-20 Adaptec, Inc. Dual function disk drive integrated circuit for master mode and slave mode operations
US5583449A (en) * 1995-08-04 1996-12-10 Apple Computer, Inc. Cancellation of line reflections in a clock distribution network
US5935742A (en) * 1995-09-25 1999-08-10 Eastman Kodak Company Photographic material having a processed photographic element in a cassette
US5712883A (en) * 1996-01-03 1998-01-27 Credence Systems Corporation Clock signal distribution system
US5799022A (en) * 1996-07-01 1998-08-25 Sun Microsystems, Inc. Faulty module location in a fault tolerant computer system
US5961649A (en) * 1997-12-04 1999-10-05 Intel Corporation Method and apparatus for propagating a signal between synchronous clock domains operating at a non-integer frequency ratio

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015088103A (ja) * 2013-11-01 2015-05-07 富士通株式会社 情報処理装置、及び、情報処理装置の制御方法

Also Published As

Publication number Publication date
US6134679A (en) 2000-10-17
US6038684A (en) 2000-03-14
US6173416B1 (en) 2001-01-09
US5889940A (en) 1999-03-30
US5627965A (en) 1997-05-06
AU4713493A (en) 1994-02-14
GB2268817B (en) 1996-05-01
US6047392A (en) 2000-04-04
EP0650615A1 (en) 1995-05-03
US6170068B1 (en) 2001-01-02
US6134672A (en) 2000-10-17
EP0650615B1 (en) 1998-01-28
GB2268817A (en) 1994-01-19
ATE162898T1 (de) 1998-02-15
WO1994002896A1 (en) 1994-02-03
GB9215212D0 (en) 1992-09-02
US6092218A (en) 2000-07-18
JP3713554B2 (ja) 2005-11-09
DE69316755T2 (de) 1998-09-10
DE69316755D1 (de) 1998-03-05
US6049893A (en) 2000-04-11
US6141766A (en) 2000-10-31
US6519704B1 (en) 2003-02-11

Similar Documents

Publication Publication Date Title
JPH07509088A (ja) フォールトトレラント・コンピュータシステム
US5001712A (en) Diagnostic error injection for a synchronous bus system
EP0273043B1 (en) Triple-redundant fault detection system and related method for its use
US5255367A (en) Fault tolerant, synchronized twin computer system with error checking of I/O communication
EP0306244B1 (en) Fault tolerant computer system with fault isolation
EP0306252B1 (en) Fault tolerant computer system input/output interface
US5185877A (en) Protocol for transfer of DMA data
EP0306209B1 (en) Dual rail processors with error checking at single rail interfaces
CA2068953C (en) Synchronizing two processors as an integral part of fault detection
US5068851A (en) Apparatus and method for documenting faults in computing modules
US5068780A (en) Method and apparatus for controlling initiation of bootstrap loading of an operating system in a computer system having first and second discrete computing zones
JPH0812621B2 (ja) 情報転送方法及び装置
US5163138A (en) Protocol for read write transfers via switching logic by transmitting and retransmitting an address
US5048022A (en) Memory device with transfer of ECC signals on time division multiplexed bidirectional lines
EP0416732B1 (en) Targeted resets in a data processor
US5745742A (en) Apparatus for coordinating clock distribution in a fully redundant computer system
JP3055249B2 (ja) プロセッサのデバッグ方式
Paulitsch et al. SAFEbus

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040518

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20040818

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20041116

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050519

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050804

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090902

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100902

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110902

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120902

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130902

Year of fee payment: 8

EXPY Cancellation because of completion of term