JPH01154241A - 同期二重コンピュータシステム - Google Patents

同期二重コンピュータシステム

Info

Publication number
JPH01154241A
JPH01154241A JP63222175A JP22217588A JPH01154241A JP H01154241 A JPH01154241 A JP H01154241A JP 63222175 A JP63222175 A JP 63222175A JP 22217588 A JP22217588 A JP 22217588A JP H01154241 A JPH01154241 A JP H01154241A
Authority
JP
Japan
Prior art keywords
data
memory
zone
cross
processing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP63222175A
Other languages
English (en)
Inventor
William F Bruckert
ウィルアム エフ ブルッカート
Thomas D Bissett
トーマス ディー ビセット
Dennis Mazur
デニス メイザー
John Munzer
ジョン ムンザー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Digital Equipment Corp
Original Assignee
Digital Equipment Corp
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 Digital Equipment Corp filed Critical Digital Equipment Corp
Publication of JPH01154241A publication Critical patent/JPH01154241A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/12Synchronisation of different clock signals provided by a plurality of clock generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • 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/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
    • 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/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/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/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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • 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
    • 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/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
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、耐欠陥マルチプロセッサコンピュータシステ
ムを形成する方法及びシステムに係る。
従来の技術 データ処理が中断されないことが重要であるようなコン
ピュータシステムの用途は多数ある。
このような用途としては、例えば、ファイナンスの業界
、EC子カプラントのような厳密な工業設備。
そして一般には、コンピュータシステムの欠陥によって
重大な破壊を招く場合が挙げられる。
耐欠陥コンピュータシステムは、成る欠陥が生じてもデ
ータ処理を継続できるように複数のシステム又はシステ
ム部品を備えた色々な程度の冗長度で形成されている。
耐欠陥コンピュータシステムを得るために多数の解決策
が利用されている。
1つの解決策においては、各々がそれ自身のメモリを有
した多数のマルチプロセッサが別々のタスクを実行する
。別の解決策においては、多数のマルチプロセッサが共
通のメモリを共有し、別々のタスクを実行する。更に別
の解決策は、各々それ自身のメモリを有する2つ以上の
マイクロプロセッサを使用してこれらが同じタスクを一
緒に行うようにすることである。更に別の解決策は、共
通のメモリを共有する2つ以上のマルチプロセッサを用
いて同じタスクを一緒に行うようにすることである。
上記の4つの解決策を組み合わせて使用する耐欠陥コン
ピュータシステムも考えられる。1つの公知の耐欠陥コ
ンピュータシステムにおいては。
4つの中央処理ユニットが使用され、そのうちの2つは
第1のボードにおいてデユーブレックス形態で作動しそ
して他の2つは第2のボードにおいてデユーブレックス
形態で作動する。各ボードからの出力が等しいとき及び
等しくないときを検出するために比較器が使用される。
これらが等しくないことが比較器によって検出された場
合には、欠陥ボードが自動的に停止され、その後、他の
ボードによって出力が与えられる。
発明が解決しようとする課題 公知の耐欠陥コンピュータシステムは、種々の程度の耐
欠陥特性を与えるが、その本来の目的を満たさず、然も
、本発明によってもたらされるような効果も与えない。
そこで1本発明の目的は、通常同時に動作す  、る二
重のコンピュータシステムを有した耐欠陥コンピュータ
方法及びシステムを提供することである。このような二
重構成は、単一欠陥点が生じないように確保し、一方の
システムのエラー又は欠陥によって全コンピュータシス
テムが作動不能にならないようにする。更に、このよう
な欠陥は、全て、エラーを生じさせたモジュール又は素
子を作動不能にするか又は無視することによって修正す
ることができる。
本発明の更に別の目的及び効果は、以下の説明にその一
部分が記載されていると共に、以下の説明からその一部
分が明らかであろうし、又、本発明を実施することによ
って学び取ることができよう0本発明の目的及び効果は
、特許請求の範囲に特に指摘する方法、装置及びその組
み合わせによって実現されそして達成されるであろう。
課題を解決するための手段 これら及び他の目的を達成するために、以下で述べるよ
うに実施される本発明によれば、第1、の処理処理シス
テムを具備し、該システムは、−連のデータ処理命令を
実行する第1の中央処理ユニットと、該第1の中央処理
ユニットとデータをやり取りするための第1のデータバ
スシステムと、上記第1の中央処理システムに接続され
た第1のメモリユニットと、上記第1の処理システムと
データをやり取りする第1のクロスリンク通信要素とを
備えており;そして更に、上記第1の処理システムとは
独立して動作する第2の処理システムを具備し、該第2
の処理システムは、上記第1の中央処理ユニットとはゾ
同期して上記一連のデータ処理命令を実行°する第2の
中央処理ユニットと、該第2の中央処理ユニットとデー
タをやり取りする第2のデータバスシステムと、上記第
2の中央処理ユニットに接続された第2のメモリユニッ
トと、上記第1のクロスリンク通信要素に接続され。
上記第1の処理システムから上記第2の処理システムへ
データを転送すると共に、上記第2のコンピュータシス
テムから上記第1の処理システムへデータを転送するた
めの第2のクロスリンク通信要素とを備えたことを特徴
とする耐欠陥コンピュータシステムが提供される。
本発明の別の特徴によれば、上記処理システムに接続さ
れ、上記第1の処理システムに第1のタイミング信号を
発生する第1の発振器手段と。
上記第1の発振器手段と同期されそして上記第1の処理
システムに接続されていて、上記第2の処理システムに
タイミング信号を発生するための第2の発振器手段とを
更に具備し、上記第1及び第2の中央処理システムは、
互いにほり同期状態に保つことができ、そして上記第1
及び第2の発振器手段の各々は、上記第1及び第2のタ
イミング信号を位相固定するための位相固定手段を備え
ている。
本発明の更に別の特徴によれば、上記第1のクロスリン
ク通信要素は、上記第1の処理システムにデータを入力
したりそこからデータを出力したりする手段を備え、そ
して上記第2のクロスリンク通信要素は、上記第2の処
理システムにデータを入力したりそこからデータを出力
したりする手段を備えている。
本発明の更に別の特徴によれば、上記第1の処理システ
ムは、上記第1の処理システムを収容する第1キャビネ
ットと、上記第1キャビネット内に取り付けられ、上記
第1コンピュータシステムへ電力を供給するように接続
された第1の電源と、上記キャビネット内に取り付けら
れ、上記第1の処理システムを冷却する第1の冷却シス
テムとを備え、そして上記第2の処理システムは、上記
第2の処理システムを収容する第2キャビネットと、上
記第2キャビネット内に取り付けられ、上記第2処理シ
ステムへ電力を供給するように接続された第2の電源と
、上記キャビネット内に取り付けられ、上記第2の処理
システムを冷却する第2の冷却システムとを備えている
本発明の更に別の特徴によれば、第1のプロセッサシス
テムと、該第1のプロセッサシステムと実質的に同様に
構成された第2プロセッサシステムと、上記第1及び第
2のプロセッサシステムをリンクするためのクロスリン
ク手段と、上記第1及び第2のプロセッサシステムを選
択的に接続し、上記第1及び第2のプロセッサシステム
が上記クロスリンク手段を介しての通信によって互いに
同期して同じ組の命令を処理できるようにし、そして上
記第1及び第2のプロセッサシステムが非同期で動作で
きるようにする手段とを備えたことを特徴とする二重プ
ロセッサコンピュータシステムが提供される。
本明細書に含まれてその一部分を構成する添付図面は、
本発明の一実施例を示すもので、これを参照しながら本
発明の詳細な説明する。
実施例 以下、添付図面を参照し1本発明の好ましい実施例を詳
細に説明する。
A、システムの説明 第1図は1本発明の目的を達成する耐欠陥コンピュータ
システム10のブロック図である。この耐欠陥コンピュ
ータシステム10は、ゾーン又はステーションと称する
二重のシステムを含んでいる0通常のモードにおいては
、これらゾーンが同時に作動する。この二重構成では、
単一欠陥点が生じないように確保すると共に、一方のゾ
ーンのエラー又は欠陥によってコンピュータシステム1
0が作動不能にならないようにする。更に、このような
全ての欠陥は、その欠陥を生じたモジュール又は素子を
作動不能にするか又は無視することによって修正するこ
とができる。2つのゾーン11及び11′が二重の処理
システム20及び20′を含むものとして第1図に示さ
れている。然し乍ら、二重性は処理システムの範囲を越
える。
第2図は、耐欠陥コンピュータシステム10の物理的な
ハードウェアを示していると共にシステムの二重性を示
している。各ゾーン11及び11′は、各々、別々のキ
ャビネット12及び12′に収容される。キャビネット
12は、バッテリ13と、電力レギュレータ14と、冷
却ファン16と、交流入力17とを備えている。キャビ
ネット12′は、キャビネット12の要素12−14゜
16及び17に対応する別々の要素を備えている。
以下で詳細に述べるように、処理システム20及び20
′は、バックブレーンによって相互接続された多数のモ
ジュールを何えている。成るモジュールが欠陥又はエラ
ーを含んでいる場合には。
コンピュータシステム10を作動不能にすることなくそ
のモジュールを取外して交換することができる。これは
、処理システム20及び20′が物理的に別々のもので
あって、別々のバックブレーンを有しており、これらバ
ックブレーンにモジュールを差し込んで互いに独立して
動作させることができるからである。従って、一方の処
理システムが動作を続けている間に他方の処理システム
のバックブレーンからモジュールを取り外したり差し込
んだりすることができる。
二重の処理システム20及び20′は同一のものであっ
て、同一のモジュールを含んでいる。
従って、処理システム20についてのみ完全に説明すれ
ば、処理システム20′が同等に動作することが理解さ
れよう。
処理システム20は、第3図及び第4図に詳細に示され
たCPUモジュール30を備えている。
このCPUモジュール30は、以下で詳細に説明するク
ロスリンク通路25によって処理システム20′のCP
Uモジュール30′に相互接続される。クロスリンク通
路25は、処理システム20と20′との間のデータ送
信経路を形成し、処理システム20及び20’が同期し
て動作するよう確保するタイミング信号を搬送する。
又、処理システム20は、第3図及び第17図に詳細に
示されたI10モジュール100.110及び120を
備えている。これらI10モジュール100.110及
び120の各々は、二重レールモジュール相互接続部1
30及び132によってCPUモジュール30に接続さ
れている。
モジュール相互接続部130及び132は、処理システ
ム20のためのバックブレーンとして働く。
B、耐欠陥システムの原理 耐欠陥コンピュータシステム10は、各要素が二重にな
っているので、単一欠陥点をもつことがない、処理シス
テム20及び20′の各々は、欠陥停止処理システムで
あり、即ち、これらシステムはサブシステム内の欠陥又
はエラーを検出するとそれらが制御されない状態で他の
サブシステムへ伝播するのを防止することができる。
2つの欠陥停止処理システム20及び20′は、規定の
状態で動作する幾つかの要素によって相互接続されて、
フェイルセーフシステムを形成する。耐欠陥コンピュー
タシステム10として実施されるフェイルセーフシステ
ムにおいては、欠陥停止処理システム20及び20′の
一方に欠陥が生じた場合でもコンピュータシステム全体
が処理を続けることができる。
一般に、2つの欠陥停止処理システム20及び20′は
ロックステップ同期状態で動作する。
3つの重要な例外がある。その第1は、以下で詳細に述
べるブートストラップ技術によって両方のプロセッサを
同期状態にもっていくときの初期化である。第2の例外
は、処理システム20及び20′が2つの異なるワーク
ロードにおいて独立して(非同期で)動作するときであ
る。第3の例外は、処理システム20及び20’に幾つ
かのエラーが生じるときである。この第3の例外におい
ては、処理システム又はモジュールの1つが動作不能に
され、同期動作が終了となる。
二重処理システム20及び20′の同期は、同じ入力を
受けて同じ既知の状態でスタートするときに常に同じマ
シン状態に入ってエラーが生じない限り同じ結果を与え
る決定的なマシンとして各システムを処理することによ
って実行される。
処理システム20及び20′は、同一の構成にされ、同
じ入力を受け、それ故、同じ状態を通る。
従って1両方のプロセッサが同期して動作する限リこれ
らプロセッサが同じ結果を与えそして同じ状態に入らな
ければならない、処理システムが同じ状態にないか又は
異なった結果を与える場合には、処理システム20及び
20′の一方に欠陥が生じたと仮定される。修正処置を
とるためには欠陥源を分離し、例えば、欠陥モジュール
を動作不能にしなければならない。
エラー検出には、一般に、付加的な処理時間又は論理の
形態のオーバーヘッドが含まれる。このようなオーバー
ヘッドを最小にするためには。
耐欠陥動作に適合するようにできるだけ頻繁にならない
ようにシステムがエラーをチエツクしなければならない
、CPUモジュール30及び30′からデータが出力さ
れる前に行うエラーチエツクは非常に僅かでなければな
らない、さもなくば。
原子炉の場合と同様に内部の処理エラーによって外部の
システムに不適切な動作が生じ、このような状態を防止
するように耐欠陥システムが設計されている。
付加的なエラーチエツクを行う理由は幾つかある0例え
ば、欠陥又はエラーを分離するためには、CPUモジュ
ール30及び30′によって受は取ったデータを記憶又
は使用の前にチエツクすることが望ましい、さもなくば
、エラーのある記憶データが後でアクセスされて付加的
なエラーが生じたときには、エラーの発生源を見つける
ことが困難もしくは不可能となる。これは、特に、エラ
ーのあるデータがいつの間にか記憶された場合にいえる
ことである0時間がたったりエラーデータが後で処理さ
れたときにはエラー発生源への追跡動作が破壊される。
エラーが検出される前に記憶される時間の長さを表わす
「エラー待ち時間」も後で問題を生じさせる0例えば、
めったに使用しないルーチンは。
コンピュータシステムが手前のエラーによって減少した
容量で既に動作しているときには待ち時間エラーをカバ
ーしない、コンピュータシステムの容量が減少したとき
には、待ち時間エラーによってシステムがクラッシュす
る。
更に、二重レールシステムである処理システム20及び
20’においては、メモリのような共有リソースのごと
き単一レールシステムにデータを転送する前にエラーを
チエツクすることが所望される。というのは、このよう
な転送の後には2つの独立したデータリソースがもはや
なく、単一レールシステムのエラーが後で検出された場
合には、エラーの追跡が不可能ではないまでも困難にな
るからである。
C,モジュールの説明 1、CPUモジュール 第1図に示されたCPUモジュール30の要素が第3図
及び第4図に詳細に示されている。第3図はCPUモジ
ュールのブロック図であり、第4図はCPUモジュール
30.I10モジュール100及びそれらの相互接続部
のブロック図である。CPUモジュール30及び30’
に含まれた要素及びその動作は同じであるから、CPU
モジュール30についてのみ説明する。
CPUモジュール30は、二重のCPU40及び50を
含んでいる。これらCPU40及び50は、当業者に知
られている標準的な中央処理ユニットである。ここに述
べる好ましい実施例では、CPU40及び50は、本発
明の譲受人であるデジタルエクイップメント社によって
製造されたVAX(登録商標)プロセッサである。
CPU40及び50には、これらCPUに対して充分な
メモリサイズの標準的なキャッシュRAMであるキャッ
シュメモリ42及び52が各々組み合わされる。好まし
い実施例においては、キャッシュRAMが4KX64ビ
ツトである。然し。
本発明は、キャッシュRAMをもつ必要はない。
CPU40とキャッシュ42との間のインターフェイス
として働くのは、システムサポート・キャッシュ制御要
素44であり、CPU50とキャッシュ52との間のイ
ンターフェイスとして働くのは、システムサポート・キ
ャッシュ制御要素54である。要素44と54は同一で
あり、その各々は対応するキャッシュとCPUとの間の
標準的なインターフェイスをなし、又、インターバルタ
イマのような従来の周辺装置機能をCPUに与える。キ
ャッシュバス43及び53は、CPU40及び50を各
々システムサポート・キャッシュ@IJ御モジュール5
2及び42に接続する。
2、メモリモジュール CPU40及び50は、4つまでのメモリモジュール6
0を共有できるのが好ましい、第5図は1つのメモリモ
ジュール60のブロック図であり、そして第6図はモジ
ュール60の特定のメモリ要素を示す詳細図である。
メモリモジュール60は、−次メモリ制御器70から3
2ビット両方向メモリバス85を経てデータを受は取る
。又、メモリモジュール60は、メモリ制御J370及
び75から各々バス80及び82を経てアドレス/制御
信号も受は取る。バス8o及び82は、行及び列のアド
レス信号と、タイミング及び制御信号、例えば、RAS
 (行アドレスストローブ)、CAS (列アドレスス
トローブ)、WE(Wき込みイネーブル)及びリフレッ
シュ信号とを含んでいる。
第5図に示すように、メモリモジュール60はメモリア
レイ600を含んでいる。このメモリアレイ600は1
行及び列アドレスによってアドレスできる標準的なRA
Mであるのが好ましい。
好ましい実施例では、メモリアレイ600は、メモリを
8バンクまで含むことができる。
制御論理回路610は、アドレス及びメモリ制御信号を
伝送しそしてタイミング及び内部制御信号を発生する。
第6図に詳細に示されたように、制御論理回路610は
、−次制御信号デマルチプレクサ612と、ミラー制御
信号デマルチプレクサ614と、−次制御信号ドライバ
616と、システムタイミング制御信号発生D618と
を何えている。−次制御信号デマルチプレクサ612は
−次ボードアドレス及び−次バンクアドレス信号及び−
次RAS、CAS、WE及びリフレッシュ信号を二次メ
モリ制御器70から受は取る。−次ボードアドレス信号
が特定のボードを識別する場合には、そのボードがアク
ティブとなり、そのボードのデマルチプレクサ612は
、RAS、CAS、リフレッシュ及び3ビツトのバンク
アドレス信号から2組の8個の制御信号を発生する。こ
れら8個の制御信号は、−次制御信号ドライバ616か
らの8個のPRAS (−次RAS)及び8個のPCA
S (−次CAS)信号となる。ドライバ616は、こ
れらの信号をブーストして種々のメモリバンクを駆動す
る。アクティブなメモリボードについては、デマルチプ
レクサ612は、WE信号をデマルチプレクスしてその
4つのコピーを形成し、これらはドライバ616によっ
てブーストされて4つのPWE (−次WE)信号が形
成される。リフレッシュ動作中には、全てのボードがア
クティブとなる。
ミラー制御信号デマルチプレクサ614は、ミラー信号
に対して等しく動作する。ミラー信号は別々のボードに
供給されず、エラー検出に使用されるだけであるから、
ドライバを必要としない。
システムタイミング/制御信号発生器618は、4種類
の入力、即ちクロッ信号と、書き込み。
読み取り及びリフレッシュタイミングのようなメモリサ
イクル信号と、当業者に良く知られた幾つかの他のシス
テム制御信号と、アドレスビット29とを受は取る。ア
ドレスビット29は、アドレス信号がメモリスペース(
即ち、メモリアレイ600)へのアクセスを識別するか
又はI10スペース(I10装置又はシステムレジスタ
の1つ)へのアクセスを識別するかを決定する。システ
ムタイミング制御信号発生器618は、以下に述べるメ
モリモジュール60の他の要素の整合及びタイミングを
制御する。
第5図に示さ九た構成エラー論理回路620は、メモリ
モジュール60の動作中に検出されたエラーに関連した
情報を記憶する。特に、比較論理回路630によってエ
ラーが検出された場合には、構成エラー論理回路620
は、その欠陥アドレス及び/又はデータを識別するに必
要な情報を記憶する。然し乍ら、比較論理回路630は
、制御及びアドレス信号をチエツクするだけで、メモリ
データ信号はチエツクしない。
メモリデータ信号はエラー検出コード(EDC)を用い
てチエツクされる。好ましい実施例では、メモリ制御器
70及び75によって必要とされるものと同じコードを
使用し、これは、単一ビット修正、二重ビット検出、エ
ラー修正コード(ECC)であるのが好ましい。
第6図に示されたように、構成エラー論理回路620は
、エラー処理論理回路625及びEEPROM626を
備えている。エラー処理論理回路625は、エラーカウ
ンタと、制御論理回路と。
4つの記憶レジスタ(1つは一次アドレス用、1つは二
次アドレス用、1つはECC用そして1つはデータワー
ド用)とを備えている。論理回路625は、以下で詳細
に述べる比較論理回路630の出力からエラー信号を発
生する。好ましくは、エラー状態が検出されたときに、
カウンタが増加し、論理回路625のレジスタが一次及
びそのミラーメモリアドレスと、ECCと、それに関連
したデータワードとを記憶する。何等かの形式のNVR
AM (不揮発性RAM) であ6EEPROM626
は、オフライン診断に対してメモリエラーデータを記憶
する。メモリモジュールに欠陥が生じた後にこのモジュ
ールが取り外されたときには、欠陥の原因を判断するた
めにEEPROM626から記憶されたデータが取り出
される。
比較論理回路630は、−次メモリ制御器70からのF
CC1制御及びアドレス信号をミラーメモリ制御器75
からの信号と比較することによりエラー検出を行い、こ
れら信号が互いに等しくないことを検出する。比較論理
回路630は、第6図に詳細に示されており、行及び列
アドレスメモリドライバ632.アドレス比較器634
、制御信号比較器636、FCC信号比較器638゜デ
ーター及びECCトランシーバ640、及びECd発生
器642を備えている。
行及び列アドレスメモリドライバ632は、11ビツト
の行及び列アドレス信号を受は取って各信号の4つのコ
ピーを発生し、メモリアレイ600の全てのメモリバン
クに対して充分な信号強度を与える。
各々の一次音及び列アドレス信号の4つのコピーは、ミ
ラー行及び列アドレス信号と同様に、アドレス比較器6
34へ入力される。メモリモジュール60の好ましい実
施例においては、行及び列の両方のアドレスが11ビツ
トの長さであり、交互のサイクルにバス80及び82を
経て送信される。従って、各メモリアドレスごとに、2
つの比較が順次行われる。
アドレス比較器634は、別々の信号に各々対応する1
1個の5人力排他的オアゲート回路を用いて44個の一
次音及び列アドレス信号と11個のミラー行及び列アド
レス信号を同時に比較する。排他的オアゲート回路は、
いずれかの入力が異なる場合にそれらの出力をイネーブ
ルする。同様に、アドレス比較器634は、−次ボード
アドレス信号とミラーボードアドレス信号を比較すると
共に、−次バンクアドレス信号とミラーバンクアドレス
信号を比較する。これら全ての信号は、デマルチプレク
サ612及び614へも入力される。
システムタイミング及び制御信号発生器618は、入力
信号が安定したときに比較を行うようにするためにアド
レス比較器634のタイミングを制御する。比較の結果
は、エラー処理及び制御論理回路625へ入力される。
アドレス比較器634がいずれかの対応する信号が互い
に異なることが分かった場合には1回路625がエラー
を指示し、アドレス/制御エラー信号762をメモリ制
御器70及び80に送ることによって適当な処置をとる
制御信号比較器636は、アドレス信号比較器634と
同様に動作する。制御信号比較器636は、PRAS信
号とMRAS信号を比較し、PCAS信号とMCAS信
号を比較し、PWE信号とMWE信号を比較しそして一
次リフレッシュ信号とミラーリフレッシュ信号を比較す
る。制御信号比較器636は、アドレス比較器634と
はゾ同様にタイミングどりされ、比較エラーが指示され
たときに、エラー処理及び制御論理回路625はエラー
を指示し、アドレス/制御エラー信号をメモリ制御器7
0及び75に送信する。
FCC比較回路638は、比較器634及び636とは
若干具なった動作をする。IFき込み動作の場合、EC
C比較器638は、データ及びECCトランシーバ64
0から7ビツトの一次FCCデータを受は取る。トラン
シーバ640はメモリアレイ600に対するデータ及び
ECC信号をバッファする0次いで、ECC比較器63
8は、トランシーバ640からのECC信号と、トラン
シーバ640の出力の32ビット−次データ信号からE
CC発生器642によって形成されたECC信号とを比
較する。
又、ECC比較器638は、ミラーメモリ制御器75か
ら受は取ったミラーECC信号と、−次メモリ制御器7
0から受は取った一次ECC信号とを比較する。いずれ
かのECC比較によって2つの信号が等しくないことが
指示された場合゛には、エラー処理及び制御論理回路6
25がエラーを指示し、ECCエラー信号752をメモ
リ制御器70及び75に送信する。比較器634及び6
36の場合と同様に、ECC比較器638は、入力信号
が安定したときに比較が行われるようにタイミングとり
される。
読み取り動作の場合には、32ビツトデータ及び7ビツ
トFCCがメモリアレイ600から読み取られる。更に
、ECC発生器642は、ECC比較器638がメモリ
アレイ600からの7ビツトFCCと比較するところの
32ビツトデータから7ビツトECCを発生する。又、
ECC比較器638は1.入力信号が安定したときに比
較が行、1)九るようにタイミングどりされる。2つの
信号が等しくない場合には、エラー処理及び制御論理回
路625がエラーを指示し、ECCエラー信号752を
メモリ制御器70及び75へ送信する。
前記したように、エラー処理論理回路625は、読み取
り動作中に生じる第1ECCエラーの一次及びミラーア
ドレスをセーブする。論理回路625内のカウンタのE
CCエラーカウントは。
これが最初に発生する場合に1にセットされる。
その後にECC読み取りエラーが生じると、メモリモジ
ュール60内のECCエラーカウントが増加される。C
PU40及び50は、メモリモジュールに記憶されたア
ドレス及びカウント情報を通常の診断テストの一部分と
して周期的にポーリングする。ポーリングプロセスの一
部分によりこれらレジスタがクリアされ、FCCエラー
のある次のアドレスをトラップでき条ようにする。CP
U40及び50が修正されたデータをトラップされたア
ドレスに書き込むときには、メモリアレイ600からの
これら「ソフトエラー」が修正される。
3、蓋至ユ豊鼠塁 前記したように、メモリモジュール60は。
メモリへのデータ信号の比較は行わない、−次及びミラ
ーメモリ制御器70及び75がこのような比較を行う、
メモリ制御器70及び75は、各々。
メモリモジュール60へのCPU40及び50のアクセ
スを制御する。−次メモリ制御器70が第7図に詳細に
示されており、ミラーメモリ制御器75が第8図に詳細
に示されている。これらメモリ制御器70及び75は第
7図及び第8図では若干具なって示されているが、融通
性を得るためにはこれらが同一であるのが好ましい、こ
れらの図面は説明を簡略化するために別々に示されてい
る。
第7図に示すように、−次制御及びアドレスラインは一
次メモリ制御器70を通してメモリモジュール60へ直
結されている。メモリ相互接続部80の一次制御信号は
、READ及びWRITEといった必要な全てのタイミ
ング及び内部制御信号を形成するために回路(図示せず
)によって処理され、デコードされる。
データライン70は、書き込み動作中に書き込みバッフ
ァ715及び?20を経てメモリ相互接続部85へ接続
される。読み取り動作中には、メモリモジュール60か
らメモリ相互接続部85、に送られるデータが読み取り
バッファ725を通り、ECC発生器730及びECC
チエツク/修正回路735へ入力される。ECCチエツ
ク/修正回路735の出力は、読み取りバッファ740
へ入力され、その出力はデータライン710へ接続され
る。
ECC発生器730は、メモリモジュール60に書き込
まれるようにデータライン710から受は取ったデータ
に対しFCCを発生する。この発生器730からのEC
Cは、書き込みバッファ745を経てメモリモジュール
60へ送られる一次FCC信号である。
読み取り動作中にメモリモジュール60から受は取られ
た一次FCC信号は、読み取りバッファ748を経てE
CCチエツク/修正回路735へ送られる。ECCチエ
ツク/修正回路735は。
メモリ相互接続部85から受は取ったデータから発生さ
れたFCCをチエツクして、エラーを検出する。又、回
路735は単一ビットエラーを修正し、修正したデータ
を読み取りバッファ740を経て送信する。ECCチエ
ツク/修正回路735がエラーを修正できないと判断し
た場合には、修正不能読み取りエラー信号738をエラ
ーラッチ750に送信し、該ラッチはこの信号を記憶す
る。
エラーラッチ750への他の入力は、アンドゲート75
5から受は取ったECCエラー信号758である。アン
ドゲート755は、−次FCCエラー信号752(エラ
ー処理及び制御論理回路625からの)及びWRITE
信号を入力とじて受は取る。FCCチエツク/修正回路
は読み取り動作に対しエラーの検出及び修正を行うので
、アンドゲート755は、書き込み動作中にのみ一次F
CCエラーを指示するように確保する。
エラーラッチ750への別の入力は、エラー処理及び制
御論理回路625がらの二次アドレス/制御エラー信号
762である。エラーラッチ750への残りの入力はミ
ラー比較不一致信号768である。このミラー不一致信
号768は、−次メモリ制御器70及びミラーメモリ制
御器75がらメモリモジュール6oへ送られた信号が互
いに不一致であることを比較器が検出したときにミラー
メモリ制御器75から受は取られる。
エラーラッチ750に記憶される信号は各々データビッ
トとして記憶される。これらのビットはオアゲート76
0へ入力され、該ゲートは、エラーラッチ750のいず
れかのビットがイネーブルされた場合に二次ミラーエラ
ー信号をイネーブルする。
ミラーメモリ制御器75が第8図に詳細に示されている
。ミラーアドレス及び制御信号82は、それに対応する
一次制御信号80が二次メモリ制御器70を通過したの
と同様にミラーメモリ制御器75に通されてデコードさ
れる。データライン711は書き込みバッファ716を
通して受は取られ、比較器765へ入力される。これら
のデータラインは、又、ECCJii生器731へも入
力され、該発生器はミラーFCC信号を発生する。ミラ
ーFCC信号は、書き込みバッファ746によってメモ
リモジュール60に送られる。
データライン711は、制御器75が一次制御器として
働く必要がある場合に、書き込みバラ  。
ファ722を経てメモリモジュール相互接続部85にも
接続される。然し乍ら、一般に、1組のデータ信号しか
メモリモジュール60に送られず、バッファ722は通
常ディスエイプルされる。
データは、読み取り及び書き込みの両方の動作中にメモ
リモジュール60からメモリ相互接続部85を経てメモ
リ制御器75へ受は取られる。
書き込み動作中には、メモリ相互接続部85のデータは
、−次メモリ制御器70がメモリモジュール60へ送る
ものと同じデータである。このデータは、書き込みバッ
ファ721を経て比較器765へ受は取られる。!き込
み動作中に、−次メモリ制御器70からのデータがミラ
ーメモリ制御器75からのデータに等しくない場合には
、比較器765がミラー比較不一致信号768をイネー
ブルし、この信号は、−次メモリ制御器70のエラーラ
ッチ750及びミラーメモリ制御器75のエラーラッチ
751の両方に入力される。
読み取り動作中に、メモリモジュール60がらのデータ
は相互接続部85から読み取りバッファ726を経て受
は取られ、次いで、ECCチエツク/修正回路736へ
入力される。メモリモジュール60から受は取ったミラ
ーFCC信号は、読み取りバッファ749を経て受は取
られると共に、ECCチエツク/修正回路736にも入
力される。−次メモリ制御器7oのECCチエツク/修
正回路735と同様に、FCCチエツク/修正回路73
6は、読み取りバッファ741を経てデータライン71
1にデータを出力する前に全ての単一ビットエラーを修
正する。FCCチエツク/修正回路736がエラーを修
正できない場合には、修正不能読み取りエラー信号73
9をイネーブルし、この信号は二次メモリ制御器70の
ラッチ75oの場合と同様にエラーラッチ751に記憶
される。
又、エラーラッチ751は、アンドゲート756からの
ECCエラー信号759も記憶し、このアンドゲートは
、メモリモジュール60からのミラーメモリエラー信号
753とWRITE信号とを合成する。更に、エラーラ
ッチは、メモリエラーモジュール6oのエラー処理論理
及び制御回路625からのミラーアドレス/制御エラー
信号763も記憶する。エラーラッチ751の出力はオ
アゲート761に入力される。オアゲート761は、エ
ラーラッチ751のいずれかのビットがイネーブルされ
た場合にミラーメモリエラー信号をイネーブルする。
処理システム20′は、内部的には二重レールシステム
である。一方のレールは、CPU40と、キャッシュメ
モリ42と、メモリ制御器7゜と、内部バス46とを備
えている。他方のレールは、CPU50と、キャッシュ
メモリ52と、メモリ制御器75と、内部バス56とを
備えている。
然し乍ら、メモリモジュール60は共有リソースである
。従って、メモリモジュール70及び75は、メモリモ
ジュール60に対しては二重レール−単一レールインタ
ーフェイスをなす、従って、°本明細書のB節で述べた
本明細書の原理によれば、このインターフェイスにおい
てエラーチエツクが与えられる。好ましい実施例におい
ては、このようなエラーチエツクが2つの異なった技術
を含む。
先ず第1に、CPU50からメモリ制御器75へ送られ
るデータ信号はメモリモジュール60に書き込まれず、
CPU40からメモリ制御器70を経て送ら九るデータ
信号と比較される。メモリ制御器75はこの比較を行う
と共に、メモリモジュール60へ送られたデータに対し
てエラーチエツクを行う、メモリモジュール60は、メ
モリ制御器70及び75からのアドレス、制御信号及び
ECCを比較し、不一致を検出する。第2のエラーチエ
ツク技術は、メモリ制御器70及び75がメモリデータ
からそれ自身のFCCを発生することを含む。
本発明の別の特徴は、単一ビットメモリエラーによって
システム欠陥を生じさせるのではなくてメモリ制御器7
0及び75により単一ビットメモリエラーを修正するこ
とである。この技術は、例えば、アルファ粒子が衝突す
ることにより通常生じる単一ビットメモリエラーを受は
入れる。このようなエラーを修正すると、システム欠陥
時間が減少され、単一の共有のメモリモジュールを使用
できるようにする。エラーの発生及び位置に注目するこ
とにより後で診断を行うことができる。
例えば、所定数以上のこのような修正可能なエラーを受
けるメモリボードを交換することが所望される。
メモリモジュール60と、−次及びメモリ制御器70及
び75との間のインターフェイスが第7図及び第8図の
左側部分に一般的に示されている。第9図は、メモリ制
御器70と内部バス46及びクロスリンク90とのイン
ターフェイス回路770を示している。メモリ制御器7
5にも同じインターフェイス回路が含まれる。
インターフェイス回路770はDMAエンジン775に
も接続され、これは、メモリモジュール60への直接メ
モリアクセス経路のためのアドレス及びコマンド信号を
発生する。好ましくは従来設計のものであるDMAエン
ジン775の一般的な動作を詳細に理解することは、本
発明を理解する上で必要ではない、DMAエンジン77
5は、DMA転送のためのアドレスを有する1つのカウ
ンタと、転送回数の経過を保持するための別のカウンタ
とを含んでいる。各転送の後に、アドレスカウンタは増
加されそして転送回数カウンタは減少される。
DMAエンジン775の1つの重要な特徴は、対応する
CPUがDMAエンジン775の動作のためのアドレス
信号及び制御信号を発生して受信データを適切な位置に
書き込めるようにすることである。従って、工10又は
周辺ユニットがエラーアドレスを発生することはない、
このようなエラーアドレスは、特にこのアドレスによっ
てI10データがシステム情報又は他のデータの上に書
き込まれるような場合には有害な影響をもたらす。
バッファ786は、CPU40から内部バス46を経て
データを受は取る。バッファ788はメモリ制御器70
からデータライン710を経てデータを受は取る。バッ
ファ790はクロスリンク90からデータを受は取る。
インターフェイス回路770においては、ドライバ78
0がその作動時に内部バス46及びCPU40へのデー
タ経路を与える。ドライバ780は、CPUがメモリモ
ジュール60を読み取るか又はIloを読み取る間に作
動される。ドライバ780への入力を与えるマルチプレ
クサ792は、CPU4.Oがメモリを読み取る場合に
はバッファ788からの入力を、或いはCPU40がI
10装置からデータを読み取る場合にはバッファ790
からの入力を、内部バス40のデータとして選択する。
ドライバ782は、メモリ制御器70へのデータ経路を
与え、CPUがメモリモジュール60へ書き込みするか
メモリモジュール60へDMA書き込みするか或いはメ
モリ再同期(スレーブ)動作をするために作動される。
メモリ再同期動作については以下で詳細に述べる。これ
らの動作は、メモリモジュール60及び60′の内容が
互いに等しくセットされるようにするために使用される
メモリ再同期動作においては、データを受は取っている
モジュールが「スレーブ」となり、そしてデータを送信
しているモジュールが「マスター」となる、ドライバ7
82へ入力を与えるマルチプレクサ794は、実行され
ている動作がCPUのメモリ書き込みである場合にはバ
ッファ786からの入力を、或いは動作がDMAvき込
みであるかメモリ再同期(スレーブ)動作である場合に
はバッファ790からの入力をメモリモジュール60の
ためのデータとして選択する。
バッファ784はクロスリンク90へのデータ路を与え
、I10装置へ書き込みするかメモリのDMA読み取り
を行うか又はメモリ再同期(マスター)動作を行うよう
に作動される。バッファ784へ入力を与えるマルチプ
レクサ796は、動作がメモリのDMA読み取りである
場合にはバッファ788からの入力を、或いは動作がI
10装置へのCPU#き込みであるか又はメモリ再同期
(マスター)動作である場合にはバッファ786からの
入力をクロスリンク90のためのデータとして選択する
マルチプレクサ798及び799は、アドレス及び制御
信号を各々メモリ相互接続部80へ供給する0両方のマ
ルチプレクサ798及び799は、DMA又はメモリ再
同期(スレーブ)動作を伴わないメモリ動作に対しては
バッファ786の出力を、DMA動作に対してはDMA
エンジン775の出力を、或いはメモリ再同期(スレー
ブ)動作に対してはバッファ790の出力を、上記アド
レス及び制御信号のソースとして選択する。
4、?旦スユl久 メモリ再同期、DMA及びI10100ためのデータは
クロスリンク90及び95に通される。
一般に、クロスリンク90及び95は、CPUモジュー
ル30と、CPUモジュール30′と、工10モジュー
ル100,110,120と、工10モジュールZoo
’ 、110’ 、120’ との間の通信を行う、ク
ロスリンク90及び95は同じものであるから、クロス
リンク90の要素及び動作についてのみ説明する。
クロスリンク90は、第10図及び第11図に各々示さ
れた並列レジスタ及び直列レジスタを含んでいる。これ
ら面形式のレジスタは、本発明の好ましい実施例ではプ
ロセッサ間通信に使用される6通常の動作中には、プロ
セッサ2oと20′が同期され、クロスリンク90/9
5及び90′/95′の並列レジスタによって各々処理
システム20と20’ との間でデータが並列に交換さ
れる。処理システム20及び20’が同期されないとき
には(ブートストラップ中に最も注目すべきことである
)、データが直列レジスタによって交換される。
第10図に示された並列レジスタは、クロスリンク診断
通信レジスタ901.セーブ状態レジスタ903、通信
レジスタ906及び状態レジスタ909を偉えている。
並列レジスタのアドレスはI10スペース内にある。こ
のI10スペース内においてこれらのアドレスはシステ
ムアドレススペース内にあるか又はゾーンアドレススペ
ース内にある。[システムアドレススペース」という用
語は、システム10全体にわたってアクセスでき、ひい
ては2両プロセッサ20及び20’によってアクセスで
きるアドレスを意味する。rゾーンアドレススペース」
という用語は、特定のクロスリンクを含むゾーンのみに
よってアクセスできるアドレスを意味する。
クロスリンクDCR(診断通信レジスタ)901は、ク
ロスリンク90内に存在し、情報を交換すると共にゾー
ン11′からゾーン11内の診断機能を作用させること
のできる能力を有している。クロスリンクDCR901
は1次のように構成された32ビツトレジスタであるの
が好ましい。
ビット    註 31     受信フラグ 30:24   [指定済み:全て0コ23:16  
 受信データ 15     送信フラグ 14:8     [指定済み:全て0コア:0   
 送信データ クロスリンクは、両方のゾーンへの割込みを生じさせる
ことができると共に、他のゾーンによってデータを受は
取ったり当該ゾーンでデータを利用したりできるように
する。DCRは、I10モジュールがロックステップ状
態にあって且つクロスリンクがマスター/スレーブモー
ドにあるときしか使用できない、一方のゾーン、即ちマ
スターゾーンは、他方のゾーン、即ちスレーブゾーンの
I10装置を制御し、スレーブゾーンのクロスリンクは
通信に使用される。マスターゾーンのクロスリンクDC
Rは使用されない0発生される割込みは、スレーブゾー
ンのCPtJ及びマスターゾーンのCPUへ至る。各ゾ
ーンは、データの送信及び受信に対して割込みを使用す
るかポーリングを使用するかについてそれ自身の選択を
行う。
ゾーン11が全てのI10装置を制御する場合には、次
のようなシーケンスを経てゾーン11′に通知する。
1、ゾーン11′のクロスリンクOCRにビット23 
:16を書き込む。
2、割込みをイネーブルする(ゾーン11′の並列状態
レジスタ909) 3、割込みのための待機 4、送信器の空き割込みは、ゾーン11′がゾーン11
’のクロスリンクDCRを読み取ったことを報告する。
5、受信器いっばい割込みは、ゾーン11′が応答する
ことを報告する。
ゾーン11′は、その直列状態レジスタを用いて、それ
自身の割込みを以下に述べるように設定する。その並列
状態レジスタ909は、クロスリンクがスレーブモード
にセットされたときにはI10装置と共にゾーン11に
与えられているので、使用することができない。
明らかなように、クロスリンクDCRのアドレスは、読
み取り及び書き込みに対しシステム及びゾーンアドレス
スペースの両方になければならない、特に、各ゾーンは
、それ自身のクロスリンクDCR(ゾーンアドレススペ
ース)及び他のゾーンのクロスリンクDCR(システム
アドレススペース)から個々に読み取ることができねば
ならない、同様に、各ゾーンは、それ自身及び他のゾー
ンのDCRに書き込みできねばならない。
セーブ状態レジスタ903は、処理システム20を再ブ
ートするための状態情報を含んでいる。
CPU40及び50は、このような情報をシステムアド
レススペースにおいてセーブ状態レジスタ903に書き
込む、というのは、同期動作中にデータがレジスタ90
3に記憶されるからである。
同期動作へと再ブートするためには、同じ状態情報をク
ロスリンク90及び95とクロスリンク90′及び95
′とに書き込みことが必要である。
ブートストラップは非同期な動作であるので、各CPU
40及び50は、それ自身のクロスリンクしかアクセス
しない、従って、状態レジスタ903はゾーンアドレス
スペースから読み取られる。
通信レジスタ906は、ゾーン間で交換されるべき独特
のデータを含んでいる。このようなデータは、通常は、
各ゾーンにとって独特のメモリソフトエラーカウントの
ような非同期データである。レジスタ906のデータが
独特であるから、書き込みのための通信レジスタ906
のアドレスは、ゾーンアドレススペース内にある。アド
レスがシステムスペースにある場合には、情報が両方の
ゾーンにおいて通信レジスタへ書き込まれ、もはや独特
ではなくなる。
然し乍ら、読み取りのための通信レジスタ906のアド
レスはシステムアドレススペース内に・ある、従って、
同期動作の間には、両方のゾーンが一方のゾーンから通
信レジスタを読み取れると同時に他方のゾーンから通信
レジスタを読み取ることができる。
状態レジスタ909は、クロスリンク90に対して多数
の状態ビットを含んでいる。状態レジスタ909は、好
ましくは32ビット長さであり、次のようなビット指定
を有している。
均±  [意味 31:14 0    [指定済みコ 13   1 ・ 割込みイネーブル(ビット1O−1
2)をセット 12    1   0CRバッファ空き割込みをイネ
ーブル11    1    DCR受信割込みをイネ
ーブル10   1   クロック位相エラー割込みを
イネーブル9     1    DCRバッファ空き
フラグ、DCRが書き込まれるときにはOにセットそし
てDCRが読み取られるときには1にセット。
8     1    DCR受信いっばいフラグ、全
てのDCRが書き込まれるときには1にセットそしてO
CRが読み取られるときにはOにセット。
7:6   X   クロック位相エラービットはクロ
ック位相エラーの際にセットされそして直列状態レジス
タを通してリセットされる 4:3   00   通常のバス動作(リードオンリ
)01  メモリ再同期スレーブ lOメモリ再同期マスター 11  二重同期要求 1:Ooo   クロスリンクオフ(リードオンリ)O
l  クロスリンクオンスレープ 10  クロスリンクオンマスター メモリ再同期動作及びクロック位相エラーは。
以下で詳細に説明する。ビットO及び1によって識別さ
れるスレーブ、マスター及び二重モードは、処理システ
ム20と20′との間のクロスリンク通信の形式を示し
ている。
「クロスリンクオフ」とは、並列クロスリンク910で
20と201との間の通信が行えないときの状態を意味
する。このモードは、ゾーン間の同期をとらない、「ク
ロスリンクオンスレープ」とは、成るゾーンがそのモジ
ュールを他のゾーンに相互接続するために使用する状態
を意味する。
ゾーン八が「クロスリンクオンスレープ」である場合に
は、ゾーンBが「クロスリンクオンマスター」となる、
従って、CPU40’及び50’は、モジュールの相互
接続部130及び132と1301及び132′とに対
して制御権を有する。CPU40及び50は、相互接続
部130,132.130′及び1329へアクセスし
ない、「クロスリンクオンスレープ」及び「クロスリン
クオンマスター」は、モジュール相互接続部間の同期は
とるが、CPU間の同期はとらない。
「クロスリンクオン二重」は1両CPU40及び40′
がモジュール相互接続部130及び130′を制御でき
るようにすると共に、CPU50及び50′が相互接続
部132及び132″を制御できるようにする。「クロ
スリンクオン二重」は、CPUの同期をとると共にI1
0相互接続部の同期をとる。これらCPUを同期させる
には、両ゾーンの全てのメモリレジスタ及びバスサイク
ルが同一であることが必要である0通信レジスタ906
を経て独特のデータを取り扱わねばならない、モジュー
ル相互接続部の同期とは、クロスリンク90,95.9
0’及び95′が同じ又は同等のバスサイクルでそれら
の各々のモジュール相互接続部130,132,130
′及び132′を駆動することを意味する。
クロスリンク90が「マスターモード」にあるときには
、CI’U40及び50が4つ全部のモジュール相互接
続部130,132.13Q’及び132′を制御する
。CPU40及び50がクロスリンク90′及び95′
の状態をチエツクするために、状態レジスタ909′の
読み取り及び書き込みアドレスがシステムアドレススペ
ース内にある。
セーブ状態レジスタ903、通信レジスタ906及び状
態レジスタ909は、全て、これらが単一の並列レジス
タバス910を経て情報を転送できるようにするインタ
ーフェイス回路を含んでいる。並列レジスタバス910
は、クロスリンク90の他部分が並列レジスタと通信で
きるようにする。
直列レジスタが第11図に示されている。全ての直列ク
ロスリンクレジスタは、非同期通信に使用されるので、
ゾーンの特定のスペース内にある。直列クロスリンクレ
ジスタ及び直列クロスリンクの目的は、プロセッサ20
及び20′がロックステップ同期状7!!(即ち位相固
定クロック及び同じメモリ状態)で動作していなくても
これらプロセッサが通信できるようにすることである。
直列クロスリンクは、6個のレジスタと1つの制御器と
925を鍔えている。これらのレジスタには、制御及び
状態レジスタ912、直列クロスリンク要求レジスタ9
14、直列クロスリンク応答レジスタ916、直列クロ
スリンク質問レジスタ918.直列クロスリンク送信レ
ジスタ920及び直列クロスリンク受信レジスタ922
が含まれる。送信レジスタ920は直列クロスリンク送
信ライン921に接続され、受信レジスタ922は直列
クロスリンク受信ライン923に接続される。制御器9
25はこれら直列レジスタの動作を整合する。
制御及び状態レジスタ912は、制御及び状態プラグと
並列クロスリンクレジスタに記憶された全ての情報のコ
ピーとを含んでいる。制御及び状態レジスタ912の内
容は、次の通りである。
KスΣ  値  意味 31:27 0    指定済み 26     X    ゾーンID(読み取りのみ)
25     X    クロック位相検出器エラー(
読み取り/書き込み)(書き込み1はクリア) 24   1   クロスリンクDCRバッファ空き(
読み取りのみ)DCRの書き込みによりクリア23  
 1   クロスリンクDCR受信いっばい(読み取り
のみ)DCRの読み取りによってクリア22   1 
  直列送信器ビジー(いずれかのゾーンによって要求
されたアクティビティ) (読み取りのみ) 21:20 00   他のゾーンに対する自動応答(
読み取りのみ) 01  このゾーンからのループバック要求の送信10
  このゾーンからの状態読み取り要求の送信11  
このゾーンからの質問の送信 19   1   送信バッファ空き 18    1    直列応答オーバーフロー(読み
取りのみ)クロスリンク応答レジスタの読み取りにより
リセット 17   1   直列応答いっばい(読み取りのみ)
クロスリンク応答レジスタの読み取りによりリセット 16   1   直列質問オーバーフロー(読み取り
のみ)クロスリンク質問レジスタの読み取りによりリセ
ット 15   1   直列質問いっばい(読み取りのみ)
クロスリンク質問レジスタの読み取りによりリセット 14   1   割込みイネーブルのセット(1gき
込み)13   1   クロスリンクDCRバッファ
空き割込みのイネーブル(読み取り/書き込み) 12   1   クロスリンクDCR受信割込みのイ
ネーブル(読み取り/書き込み) 11   1   クロック位相エラー割込みのイネー
ブル(読み取り/書き込み) 10   1   送信完了割込みのイネーブル(読み
取り/書き込み) 09   1   応答受信割込みのイネーブル(読み
取り/書き込み) 08   1   質問受信割込みのイネーブル(読み
取り/書き込み) 07:08 00   無機能 01  ループバック要求 10  状態読み取り要求 11   CPU質問要求の送信 05   1   再同期状態のセット(04:03の
作動)(lFき込み) 04:03 00   通常のバス動作(読み取り/書
き込み)01  メモリ再同期スレーブ 10  メモリ再同期マスター 11  二重同期要求 02   1   クロスリンク状態のセット(01:
00の作動)(書き込み) 01:00 00   クロスリンクオフ(読み取り/
書き込み)01  クロスリンクオンスレープ 10  クロスリンクオンマスター 11  クロスリンクオンニ重 レジスタ912及び他の直列レジスタの機能は、直列ク
ロスリンクの動作の説叫から理解することができよう、
これら動作の1つはループバックである。ループバック
動作はプロセッサ20′を含むが、このプロセッサを整
合せずに行われる。
直列の制御及び状態レジスタ912にループバック要求
フラグをセットすると、直列要求レジスタ914の内容
がゾーン11′のクロスリンク90’(即ち、90′又
は95′)へ送られる。クロスリンク90′はメツセー
ジを直列応答レジスタ916へ返送する。このループバ
ック機能により。
クロスリンクケーブルを照合できると共に、一方のゾー
ンが他方のゾーンが電力を有することを確認することが
できる。
もう1つの動作は状態の読み取りであり、これは、一方
のゾーンのクロスリンクが他方のゾーンのクロスリンク
の状態を読み取れるようにする。
直列の制御及び状態レジスタ912に状態読み取り要求
フラグをセットすると、要求レジスタ914が状態情報
の要求をクロスリンク90′に送信するようにされる。
このメツセージを受は取ると、クロスリンク90″はそ
の直列の制御及び状態レジスタ912′の内容をクロス
リンク90の直列応答レジスタ91Gに送信する。
第3の機能は、汎用のクロスリンクデータ転送であるデ
ータ転送機能である。転送されるべきデータ(好ましい
実施例では32ビツト)を直列クロスリンク要求レジス
タ914へ書き込んだ後に、直列の制御及び状態レジス
タ912にCPU質問要求フラグをセットすると、要求
レジスタ914の内容がクロスリンク90′に送られ、
該クロスリンクはこれらの内容を質問レジスタ918′
に保持する。自動応答は発生されないが、CPU40パ
にデータは得られる。CPU40’による応答は、クロ
スリンク90の直列質問レジスタ918へ送られる。
与えられる最後の機能は、直列割込み及び状態である。
好ましい実施例では、直列のクロスリンクは、次の事象
に基づいて割込みを発生することができる。
直列要求及び送信の完了; 直列応答の完了(ループバック又は状態応答に対し); 直列質問受信の完了; 診断通信レジスタのデータ利用; 診断通信レジスタのバッファ空き;及びゾーン間クロッ
ク位相エラー。
割込みは、1つの共通の割込みベクトルで個々にマスク
される。
更に、ここに示す実施例では、制御及び状態レジスタ9
12の幾つかの状態ビットが直列リンクの状態及びマシ
ンの再同期状態に関連している。
これらのビットは次の通りである。
クロスリンク同期状態; イネーブルされた割込み; ベンディングの割込み;及び 受信オーバーフローインジケータ。
クロスリンク90の制御器925が第12図に示されて
いる。制御器”25の制御デコーダ930は、以下で詳
細に述べる規定に従って信号A−Iを発生する。制御器
925は、ドライバ、バッファ、マルチプレクサ及び遅
延要素を含んでいる。遅延要素は、同期のために追加さ
れる。コンピュータシステム10は高速動作であると共
に密接な同期が要求されるので、適切な動作及び同期を
維持するためにはケーブルの延びのような固有の信号遅
延がクロスリンクによって補償されねばならない0例え
ば、以下で詳細に述べるように。
Iloからの読み取り中には、各CPUモジュールが別
々の処理システム20及び20′のI10モジュールか
らデータを受は取る。別々のシステムからのデータは別
々の経路をたどるので、このような動作により同期の欠
陥が生じる。遅延要素は、同期を保持するために信号遅
延及び経路の差を補償する。第12図に示すように、ク
ロスリンク90の遅延要素は、マルチプレクサへの入力
の速度を下げるのに用いられる。但し、これはマルチプ
レクサへの他の入力が並列クロスリンク通路25から送
られるときである。
制御器925においては、ドライバ933が信号Aによ
ってイネーブルされてデータをメモリ制御器70へ送信
する。ドライバ936は、信号Bによってイネーブルさ
れて、並列レジスタバス910を経て並列レジスタヘデ
ータを送信する。
ドライバ939は信号Cによってイネーブルされ。
モジュールの相互接続部130ヘデータを送信する。ド
ライバ942は信号りによってイネーブルされて並列ク
ロスリンク通路25ヘデータを送信する。
制御器925のバッファは、外部で発生したデータを受
信するのに用いられる。バッファ945はメモリ制御器
70からのデータを受は取りそしてバッファ948はバ
ッファ945の出力に現おれるそのデータを直列レジス
タへ送信する。バッファ951は並列クロスリンク通路
25からデータを受は取る。バッファ957は並列レジ
スタから並列レジスタバス910を経てデータを受は取
る。
各マルチプレクサは、特定の行き先に対して別々のデー
タソースを選択する。マルチプレクサ960は信号Eに
よって制御され、バッファ951から並列クロスリンク
通路25を経てデータを受は取ると共に、遅延要素98
0及びマルチプレクサ963からデータを受は取る。マ
ルチプレクサ960の出力はドライバ933を経てメモ
リ制御+a70へ送られる。
マルチプレクサ963は信号Fによって制御され、並列
レジスタバス910からバッファ957を経て入力を受
は取り、直列レジスタから入力を受は取りそしてモジュ
ール相互接続部130からバッファ954を経て入力を
受は取る。マルチプレクサ963の出力は、遅延要素9
80を通過した後にマルチプレクサ960へ入力される
マルチプレクサ966は信号Gによって制御され、並列
クロスリンク通路25からバッファ951を経て入力を
受は取ると共に、メモリ制御器7oからバッファ945
及び遅延要素985を経て入力を受は取る。マルチプレ
クサ966の出力はドライバ936を経て並列レジスタ
バス910へ送られる。
マルチプレクサ969は信号Hによって制御され、並列
クロスリンク通路25のデータをバッファ951によっ
て受は取ると共に、メモリ制御器70のデータをバッフ
ァ945及び遅延要素985によって受は取る。マルチ
プレクサ969の出力はドライバ939を経て相互接続
部130に送られる。
マルチプレクサ970は信号工によって制御され、並列
レジスタからバス910及びバッファ957を経て入力
を受は取り、メモリ制御器70からバッファ945を経
て入力を受は取りそしてモジュール相互接続部130か
らバッファ954を経て入力を受は取る。マルチプレク
サ970の出力は、ドライバ942によって並列クロス
リンク通路25へ送られる。
信号A−D及び選択コードE−Iの状態は、実行される
べき動作、クロスリンクモード(即ち。
二重、マスター又はスレーブ)及びクロスリンクの状1
r!A(オン/オフ)と、クロスリンクが二次レールに
あるか(即ち、−次メモリ制御器70に接続されている
カリミラーレールにあるか(即ち、ミラーメモリ制御器
75に接続されているか)によって決まる。
一般に、次のような10個の機能を実行することが必要
である。
他のゾーンを読み取る; 他のゾーンを書き込む; このゾーンの直列レジスタを読み取る;このゾーンの直
列レジスタを書き込む;並列レジスタのゾーンアドレス
を読み取る;並列レジスタのゾーンアドレスを書き込む
;並列レジスタのシステムアドレスを読み取る:並列レ
ジスタのシステムアドレスを書き込む;Iloを読み取
る;そして Iloを書き込む。
第13A図ないし第13P図は、実行されるべき種々の
機能と、クロスリンクの種々のモード及び状態とに対す
る信号AないしIの状態を示している。各々の状態及び
機能を説明するのではなく、第13A図ないし第13P
図をいかに用いるかを理解するために2つについてのみ
詳細に説明する。
第13A図は、二重モードにあるときのクロスリンク9
oに対する(即ち、ゾーン11の二次レールにおける)
制御信号の状態を示している。
I10読み取り動作においては、制御信号A及びDが「
オン」であり、B及びCが「オフ」である。
信号Aはドライバ933をイネーブルしてデータがメモ
リ制御器70へ通過するように確保し、そして信号りは
ドライバ942をイネーブルしてデータが並列クロスリ
ンク通路25を経てクロスリンク9oへ通過するように
確保する。メモリ制御器70及び並列クロスリンク通路
25ヘデータを送る際に含まれるマルチプレクサは、信
号E、 F及び工によって各々制御されるマルチプレク
サ960.963及び970である。制御信号Eは。
マルチプレクサ963の出力に対応する入力1を選択す
るようにセットされる。制御信号Fは、マルチプレクサ
963がモジュール相互接続部130からのデータに対
応する入力3を選択するようにセットされる。制御信号
工は、マルチプレクサ970がモジュール相互接続部1
30を選択するようにセットされる。
従って、この信号選択状態では、モジュール相互接続部
130からのデータがマルチプレクサ963及び960
とドライバ933とを経てメモリ制御器7oへ送られる
。これは、工/○読み取り1〜ランザクジヨンのための
データ経路である。
又、このデータは、マルチプレクサ970及びドライバ
942を経て並列クロスリンク通路25へ送られ、これ
が適当であるのは、クロスリンク90が二重モードにあ
るためである。
第13E図は、同じ状態に対する制御信号を示している
が、メモリ制御器90はマスターモードにあり、従って
、クロスリンク90′に信号を送信しない。この状態の
工/○読み取り動作は、モジュール相互接続部130か
らのデータがメモリ制御器7〇へ送られるように確保す
るために同じ信号設定を含む。信号りが「オフ」であり
、■に対する選択信号がないので、並列クロスリンク通
路25を経てメモリ制御器90′へ至るデータ通路はな
く、これは、クロスリンク9oがマスターモードにある
ときの動作として適している。
メモリ制御器90が二重モードにある状態でのI10書
き込み動作の場合には、rオン」になる唯一のドライバ
制御信号が信号Cであり、これはドライバ939をイネ
ーブルしてモジュール相互接続部130ヘデータを通せ
るようにする。それ故、制御する必要のある唯一のマル
チプレクサはマルチプレクサ969であり、第13A図
は。
制御信号TIがメモリ制御器7oからのデータを選択す
ることを示している。第13図のクロスリンク95(二
重モードにあるゾーン11のミラーレール)の動作は、
第13B図のクロスリンク90に対する制御信号と若干
異なる。これは、以下で述べるように、工/○書き込み
動作中には、各工/○モジュールへのデータが両プロセ
ッサ2o及び20’ から送られるからである。
5、升1塁 両方の処理システム20及び20’が二重モードとして
知られている冗長形態で同じタスクを実行するときには
、CPUモジュール30及び30′が同じ速度で動作を
実行することが重要である。さもなくば、処理システム
同志を再同期させて工/○とプロセッサ間とのエラーチ
エツクを行うのに多量の処理時間がかへることになる。
処理システム20及び20′の好ましい実施例において
は、基本的なりロック信号が同期され、互いに位相固定
される。耐欠陥コンピュータシステム10は、処理シス
テム20及び20’へのクロック信号の周波数を制御す
ると共に各処理システムのクロック信号間の位相差を最
小にするためのタイミングシステムを備えている。
第14図は、処理システム20及び20’において実施
される本発明のタイミングシステムのブロック図である
。このタイミングシステムは、処理システム20のCP
Uモジュール30に含まれた発振システム200と、処
理システム20′のCPUモジュール30’ に含まれ
た発振システム200′とを備えている。発振器200
′の要素は1発振器200の要素と同じであり、両方の
発振システムの動作は同じである。従って、発振器20
0と2001の動作が異なる場合を除いて、発振器20
0の要素及び動作のみについて説明する。
第14図に示すように、発振システム200の大部分、
特にデジタル論理回路は、クロスリンク95の内部に存
在するが、その配置は本発明にとって重要ではない0発
振システム200は、電圧制御式のクリスタル発振子(
VCXO)205を備えており、これは、好ましくは6
6.66MHzの基本的な発振信号を発生する。VCX
O205の周波数は、その入力の電圧レベルによって調
整することができる。
クロック分配チップ210は、基本的な発振信号を分割
し、好ましくは、全て同じ周波数を有する4つの主たる
クロックを発生する。主CPU40については、クロッ
クがPCLK  L及びPCLIK  Hであり、これ
らは論理的に互いに逆のものである。ミラーCPU50
については、クロック分配チップ210がクロック信号
MCLKL及びM CL K  !(tz光発生、これ
らも論理的に互いに逆のものである。これらクロック信
号のタイミング及び位相関係は、第15図に示されてい
る。好ましくは、クロック信号PCLK  L、PCL
K  H,MCLK  L及びMCLK  Hの周波数
は約33.33MHzである。又、クロックチップ21
0は、第15図に示すように16.16 M Hzの位
相固定ループ信号CLKCI−Iも発生する。この位相
固定ループ信号はクロック論理回路220に送られ、該
回路はこの信号をバッファする。
クロック論理バッファ220は、CLKCIT信号を同
期とりに用いるために発振器200’に送信する0発振
器200′のクロック論理バッファ220′は、それ自
身のバッファされた位相固定ループ信号CLKC’  
Hを発振器200の位相検出器230に送信する。又、
位相検出器230は、クロック論理バッファ220から
遅延要素225を経て、バッファされた位相固定ループ
信号CLKCHを受信する。遅延要素225は。
クロック論理バッファ220′からのケーブルの延長に
よる遅延を近似する。
位相検出器230は、その入力の位相固定ループ信号を
比較し、2つの出力を発生する。その1つは、位相差信
号235であり、これはループ増幅器240を経てVC
XO205の電圧入力に送られる。この位相差により、
増幅器240は。
位相差を補償するようにVCXO205の周波数を変更
する信号を発生する。
位相検出器230の他の出力は、あり得べき同期欠陥を
指示する位相エラー信号236である。
第16図は、位相検出器230の詳細な図である0位相
検出器230は、位相比較器230と、アナログ電圧比
較器234とを含んでいる0位相比較器232は、遅延
素子225からのクロック信号(CLKCH)及び発振
器200’からの位相固定ループクロック信号(CLK
C’  H)を受は取り、これら信号の位相差を表わす
アナログ電圧レベル235を発生する。
処理システム20がクロック同期の目的で「スレーブ」
となった場合には、スイッチ245が「スレーブ」位置
(即ち、閉位置)となり、アナログ電圧レベル235は
、ループ増幅器240によって増幅された後に、VCX
O205の周波数を制御する0両スイッチ245及び2
45′が「マスター」位置にある場合には、処理システ
ム20及び20′が位相固定されず、非同期で(独立し
て)動作する。
アナログ電圧レベル235は、位相の進み及び遅れの許
容範囲を表わす2つの基準電圧Vrefl及びVref
2と共に電圧比較器234へ入力される。
位相差が許容範囲内である場合には、PHASEERR
OR(位相エラー)信号が作用されない。
位相差が許容範囲から外れ、電圧比較器234がV r
ef 1ないしVref2の電圧範囲から外れる位相差
信号235を感知した場合には、位相エラー信号が作用
され、クロックデコーダ220を経てクロスリンク95
へ送られる。
第17図は、工10モジュール100の好ましい実施例
を示している。工10モジュール100及び100′は
同一のものであるから、モジュール100についてのみ
説明する。更に、I10モジュール110及び120(
従って、モジュール110′及び120’)はモジュー
ル100と同様であるが、異なった工/○装置に接続さ
れているために全く同じ形態をとることはない。
I10モジュール100は、二重レールモジュール相互
接続部130及び132によってCPUモジュール30
に接続されている。各々のモジュール相互接続部は、各
々ファイアウオール1000及び1010によって受は
入れられる。ファイアウオール1000及び1010は
、モジュール相互接続部130及び132を経て送信さ
れるデータの一致性をチエツクするチエツクバス100
5によって相互接続される。このチエツクは、CPUモ
ジュール30及び30′のロックステップ同期によって
行われ、これは、CPUモジュール30及び30′から
I10モジュール100へ書き込まれたデータをファイ
アウオール1000及び1010に同時に得られるよう
にする。
第18図は、フ・アイアラオール1000の要素及び好
ましい実施例を示している。ファイアウオール1000
は、モジュール相互接続部130への32ビツトバスイ
ンターフエイス1810と、第17図に示されたバス1
020へ接続するための32ビツトバスインターフエイ
ス1820とを備えている。これらのインターフェイス
1810及び1820は、内部ファイアウオールバス1
815によって相互接続され、該バスはファイアウオー
ル1000の他の要素にも接続されている。
バス1815は、16ビツト巾又は32ビツト巾の並列
バスであるのが好ましい。
又、ファイアウオール1000は、CPUモジュール3
oとオペレータコンソールとの間でコンソールリンク1
090に接続されたコンソールサポートレジスタ183
0も備えているのが好ましい、コンソールリンクは、モ
ジュール相互接続部、クロスリンク及びメモリ制御器の
ような通常のデータ経路をバイパスし、コンピュータシ
ステムlOの他の部分に欠陥が生じた場合にもオペレー
タはCPUと通信することができる。コンソールサポー
トレジスタ1830は、−時的な記憶レジスタ1832
、受信器1834及び送信器183Gを偉えているのが
好ましい、レジスタ1832、受信器1834及び送信
器1836の相互接続は、当業者に良く知られた一般的
なものである。
ファイアウオール1000は、複数のチエツク回路を含
んだファイアウオール比較回路1840も備えている。
ファイアウオール比較回路1840は、ファイアウオー
ル1010内の同等の要素に接続される。ファイアウオ
ール比較回路1840内のチエツク回路は、モジュール
相互接続部130から受は取ったデータをモジュール相
互接続部132から受は取ったデータと比較する。−般
に、両方のモジュール相互接続部がCPUモジュール3
0から受は入れられるとしても、モジュール相互接続部
130からのデータは一方のゾーンからのものでありそ
してモジュール相互接続部132からのデータは別のゾ
ーンからのものである。ファイアウオール比較回路18
40内のチエツク回路がこれらデータ間の不一致を検出
した場合には1割込み制御回路1880が作動されて。
エラー信号を発生し、これにより、クロスリンク90及
び95はCPUモジュール30及び30′に欠陥の検出
を通知する。
ファイアウオール比較回路1840は、CPUモジュー
ル30及び30′から受は取ったデータのみをチエツク
する。CPUモジュール30及び30′に送られるデー
タは、共通の発生源からのものであり、従って、チエツ
クを必要としない。
むしろ、I10装置から受は取ったデータで、CPUモ
ジュール30及び30′に送られるべきデータは、CR
C51生器1850によって行われる繰返し冗長チエツ
ク(CRC)のようなエラー検出コード(EDC)によ
ってチエツクされる。又、CRC5!生器50は、内部
ファイアウオールバス1815にも接続される。
CRC発生器1850は、I10装置ニよって使用され
るものと同じCRCコードを発生し、チエツクする。I
10モジュール100は、2つのEDCを発生するのが
好ましい、その一方は。
CRCでもあって、モジュール100が接続されたエサ
−ネットパケットネットワークのようなネットワークに
対するインターフェイスとして用いられる。その他方は
、第17図のディスクインターフェイス1072のよう
なディスクインターフェイスとして用いられる。
モジュール相互接続部は二重であるから、CPUモジュ
ール30とI10モジュール100との間にはCRCの
機能が必要とされない6例えば、CPUモジュール30
においては、クロスリンク90がモジュール相互接続部
130を経てファイアウオール1000と通信し、そし
てクロスリンク95がモジュール相互接続部132を経
てファイアウオール1010と通信する。   −エサ
−ネットネットワーク1082から受は取ったメツセー
ジは、第17図に示されたネットワーク制御器1080
により有効CRCに対してチエツクされる。CRCとで
完成するデータは、第17図に示されたローカルRAM
1060に書き込まれる。ローカルRAM 1060の
全てのデータは、DMAを用いてメモリモジュール60
へ転送される。DMA制御器1890は転送の整合をと
り、転送されているCRCエンコードデータの有効性を
チエツクするようにCRC発生器1850に指示する。
I10装置との殆どのデータ転送は、DMAで行われる
。データは主メモリとI10バッファメモリとの間で移
動される。転送されるデータの各論理ブロックは、CR
Cによってカバーされる。
エサ−ネットの場合には、論理ブロックがメツセージパ
ケットである。メツセージは、DMAにより、主メモリ
60からファイアウオール1000を通ってローカルR
AM1060へ転送される。
ファイアウオール1000のCRC発生器1850は、
メツセージに対してCRCを計算する。
DMA制御器1890は、データ転送に対するCRC発
生器1850の動作を制御する。論理ブロックが転送さ
れたときには、DMA制御器1890がCRC発生器1
850からの発生されたCRCを読み取り、それを、ロ
ーカルRAMl060に記憶されたデータに加える。ネ
ットワーク制御器1080は、ローカルRAM1060
からエサ−ネットネットワーク1082へデータを転送
すると、CRCをチエツクする。CRCコード自体を除
く全てのエサ−ネットパケットは、メモリモジュール6
0へ転送される。CRCのエラーはCRC発生器185
0によって識別され1割込み制御器1880を介して報
告される。
ディスクサブシステムとのデータのやり取りは、エサ−
ネットインターフェイスと同様に行われる。CRC発生
器1850は、ディスク制御器1072によって使用さ
れる特定のCRCコードを発生し又はチエツクする。こ
れは、工10モジュール100の場合と同様に単一レー
ルシステムに存在するか又はこれを通して転送されてい
るデータがエラー検出コードによってカバーされるよう
に確保し、これは、データが最終的に通過する通信媒体
と少なくとも同程度の信頼性を有するものであることが
好ましい0種々のI10モジュール、例えば、同期プロ
トコルを取り扱うモジュールは、適当なプロトコルのC
RCコードを発生してチエツクするCRC発生器を有し
ているのが好ましい。
一般に、DMA制御器1890は、共有のメモリ制御器
1050及びアドレスされているローカルRAM106
0に対して特定のDMA動作の一部分を処理する。32
ビツトバス1020は、2つの異なったモードで駆動さ
れる。DMA設定中には、DMA制御器1890はバス
1020を標準的な非同期マイクロプロセッサバスとし
て使用する。DMA動作が行われるローカルRAM 1
060のアドレスは、共有メモリ制御器1050及びD
MA@御器1890によって供給される。
実際のDMA転送中には、DMA制御器1890がバス
1020を同期状態で駆動するようにDMA制御ライン
1895に指示する。共有メモリ制御器1050は、バ
ス1020の各バスサイクルごとに32ビツトデータワ
ードを転送し、DMA制御器1890は、転送されるべ
きワードがどれほど残されているかの経過を保持する。
又、共有メモリ制御31050は、ローカ/L/RAM
1060を制御し、次のDAMアドレスを発生する。
工10モジ:L−/L/(100,110,120)は
、それら白身のローカルRAM1060に対する読み取
り/書き込み動作を制御する役目を果たす、CPUモジ
ュール30は、メモリアレイ60との転送動作を制御す
る役目を果たす、メモリ制御器70及び75(第9図に
示す)のDMAエンジン775は、CPUモジュール3
0に対しDMA動作を指示する。このような労力の分割
によりいずれかのモジュールのDMA論理の欠陥がゾー
ン11又は11′の他のモジュールにおけるデータ完全
性を低下しないようにする。
又、ファイアウオール1000は、工/○モジュール1
00に対し他の重要な機能も実行する。
ファイアウオール1000のI10診断制御レジスタ1
860は、クロスリンク診断制御レジスタ901と同じ
構造を有し、CPU40.50,40′及び50′と診
断マイクロプロセッサ1100との間で通信を行うこと
ができる1診断マイクロプロセッサ1100のこの間接
的な接続により、該マイクロプロセッサがコンビ風−タ
システム10の他のモジュールに影響を及ぼすニドが防
止される。
トレースRAM1872及びトレースRAM制御器18
70の機能については以下で詳細に述べる。N単に述べ
ると、欠陥が検出されてCP II及びCPUモジュー
ル30及び30′に通知されたときには、コンピュータ
システム10全体にわたる種々のトレースRAMが以下
に述べる幾つかの機能を実行するようにされる。トレー
スRAMとの通信は、トレースバス1095を経て行わ
れる。トレースRAM制御器1870は、トレースバス
1095からの信号に応答して、トレースRAM187
2が記憶を停止するか又はその内容をトレースバス10
95にダンプするようにさせる。
好ましくは32ビツトの並列バスである工10モジュー
ルバス1020は、ファイアウオール1000及び10
10と、I10モジュール100の他の要素とに接続さ
れる。共有メモリ制御器105(1,l1O−1−シュ
/L/ 100 (7) I / Oバス1020に接
続されている。共有メモリ制御器1050は、32ビツ
ト+パリテイを有する共有メモリバス1065によって
ローカルメモリ1060に接続されている。好ましくは
、ローカルメモリ1060は、メモリ容量が128KB
のRAMであるが、RAM 1060のサイズは任意で
ある。共有メモリ制御器1050及びローカルRAM1
060は、I10モジュール100に対するメモリ容量
を備えている。
ディスク制御器1070は、第1図のディスク1075
.1075’のようなディスクに対する標準的なインタ
ーフェイスを与える。ディスク1075は、5C8I(
小型コンピュータ標準インターフェイス)バスの実施の
ごとき標準バスインターフェイス1072によってディ
スク制御器1070に接続されるのが好ましい、又、デ
ィスク制御器1070は、ローカルRAM1060を使
用するか又はI10モジュールバス1020と通信する
ために共有メモリ制御器1050に接続される。
ネットワーク制御器1080は、ネットワークインター
フェイス1082により、エサ−ネットネットワークの
ような標準ネットワークにインターフェイスする。又、
ネットワーク制御器1080は、ローカルRAM106
0及びI10モジュールバス1020の両方に対するイ
ンターフェイスとして働く共有メモリ制御器1050に
も接続される。然し乍ら、I10モジュールバス102
0のいずれか1つの特定の編成又は構造にする必要はな
い。
r’cIM(?1力及び冷却インターフェイスモジュー
ル)サポート要素1030は、I10モジュールバス1
020及びASCIIインターフェイス1032に接続
される。PCIMサポート要素1030は、処理システ
ム20が電源システム(即ち、バッテリ、レギュレータ
、等)の状態を監視できるようにすると共に、冷却シス
テムがそれらの適切な動作を確保できるようにする。P
CIMサポート要素1030は、成る欠陥又は欠陥のお
それの指示、例えば、バッテリ電圧が許容できないほど
低下したという指示があったときだけメツセージを受は
取るのが好ましい、又、PCIMサポート要素1030
を用いて全ての電力及び冷却サブシステムを周期的に監
視することもできる。PCIMサポート要素1030及
びI10モジュール100’の同等の要素は、プロセッ
サ20及び20′のサポートシステムが機能不良になっ
た場合に耐欠陥コンピュータシステム10が成るゾーン
を停止できるようにする。
システムサポート及びコンソール要素1040は、I1
0モジュールバス1020にも接続される。システムサ
ポート及びコンソール要素1040は、ASCIIイン
ターフェイス1042を介してオペレータコンソールの
インターフェイスを与える。オペレータコンソールは、
年のような成る情報を入力できるだけでなく1診断の目
的にも使用することができる。オペレータコンソールは
、コンソールリンク1090及び1091を経そしてフ
ァイアウオール100o及び1010のコンソールサポ
ートレジスタ1830を経てCPUとデータを交換する
又1診断マイクロプロセッサ1100は、工10モジュ
ールパス102oにも接続されている。
診断マイクロプロセッサ1100の動作については以下
で詳細に述べる。一般に、マイクロプロセッサ110o
は、欠陥が検出されたときにトレースRAM 1872
のようなトレースRAMからのエラーチエツク情報を収
集するのに用いられる。
、このデータは、トレースバス1095及び1096に
集められ、ファイアウオール100o及び1010を各
々通り、モジュールバス1020を経てマイクロプロセ
ッサ11oOへ送り込まれる。
C,プロセッサ間及びモジュール間通信1、データ経路 コンピュータシステム10の要素はそれ自体で耐欠陥シ
ステムを構成しない、正常の動作中に通信を行うことが
できそして欠陥検出及び修正中に動作を行うことのでき
る通信経路及びプロトコルが必要とされる。このような
通信にとって重要なことはクロスリンク通路25である
。クロスリンク通路25は、並列リンク、直列リンク及
び既に述べたクロック信号で構成される。これらは、第
19図に示されている。並列リンクは、2つの同じ組の
データ及びアドレスライン(16)、制御ライン(7)
、割込みライン(7)及びエラーライン(7)を含んで
いる。16本のデータ及びアドレスラインと、7本の制
御ラインは、CPUモジュール間で、例えば、モジュー
ル制御接続部130及び132(又は130′及び13
2’)から或いはメモリモジュール60 (60’ )
から交換されるべき情報を含んでいる。
7本の割込みラインは、4つの異なった工107:J込
みレベルを表わす4本のラインと1両ゾーンに対するコ
ンソール「ホルト」要求を同期させる1本のラインと、
両ゾーンに対するマシンチエツクを同期させる1本のラ
インと、CPU/メモリ欠陥の発生を他のゾーンに指示
する1本のラインとを備えているのが好ましい。
耐欠陥コンピュータシステム10は、はとんどの過渡欠
陥が生じても二重レールシステムとして連続的に動作す
るように設訂されている。I10サブシステム(モジュ
ール100,110,120.100’ 、110’及
び120’)も、過渡欠陥を受けることがあるが、動作
を続けることができる。好ましい実施例においては、フ
ァイアウオール比較回路1840によってエラーが検出
されると、CPUで指示された動作に対しライン25を
介して同期マシンチエツクを行うことが要求される。C
PU30及び30′のソフトウェアは、欠陥の生じた動
作を再トライする。DMAによって指示された動作の場
合には、同じエラー検出によってライン25を経て同期
割込みが生じ、CPU40.50.40′及び50′の
ソフトウェアがDMA動作を再スタートさせる。
幾つかの過渡エラーは直ちに修復されない。
例えば、CPUモジュール30のエラー信号762によ
って指示される制御エラーは、メモリモジュール60に
未知のデータを生じさせる。この状態においては、CP
Uモジュール30は、もはやフェイルセーフシステムの
一部分として確実に機能できないので、除去される。従
って、メモリアレイ60は、CPU30がシステムに再
び加わる前にメモリ再同期動作を受けねばならない、C
PU/メモリ欠陥ラインは、CPU30に欠陥が生じた
ことをCPU30’ に指示する。
サイクルの状態、バイトマスク、方向及びレディ状態の
組み合わせを表わしている7本の制御ラインは、CPU
モジュール(30及び30′)とT10モジユールとの
間にハンドシェイクを与える。サイクルの状態は、実行
されているバス動作の形式、即ち、CPUによるIlo
の読み取り。
DMA転送、DMA設定又は割込みベクトル要求を指示
する。rバイトマスク」は、ローカルRAM1060に
おいて32ビツトワードのデータの1バイト(8ビツト
)を修正できるように、16本のデータラインのどれが
有効なデータを含んでいるかを指示する。「方向」は、
DMA動作に対しトランシーバ経路の選択を固定する。
DMA転送は所定のソースと行き先との間で生じるので
、データ経路を選択するのに関連した時間オーバーヘッ
ドを、データ転送のごとに支払う必要はない。
「レディ」メツセージは、要求された動作の完了を指示
するためにCPUとI10モジュールとの間に送られる
任意の時間にいずれかの処理システム20又は20’ 
を作動して制御ラインの状態を読み取ることができる0
作動したり停止したりすることは処理システム20と2
0′との間で同期して行われる。
直列クロスリンクは、状態読み取り、ループバック、デ
ータ転送、状態の転送割込みに対し。
直列データ転送を行うために2組の2本のラインを備え
ている。
交換されるクロック信号は、位相固定クロック信号CL
KCH及びCLKC’  H(遅延)である。
第2OA図ないし第2゛OD図は、CPUモジュール3
0及び30’とI10モジュール100及び100′の
要素(これらを介して種々の作動中にデータが通過する
)のブロック図である。これら要素の各々については既
に述べた。
一般に、動作中のデータ経路は対象的である。
例えば、CPUのI10読み取りは、互いにミラー像関
係にある経路を経てI10モジュール100及びI10
モジュール100′に対して行われる。このような場合
に1図面は全てのデータ経路を示しているが、その1つ
のみについて詳細に説明する。
第20A図は、CPUのI10読み取り動作用のデータ
通路を示している0例えば、ディスク1075 (10
75”)又はネットワークからのデータは、共有メモリ
制御器1050(1050’)を通して転送するために
ローカルRAM1060(1060’)に記憶されるも
のとする。1つの経路については、データがモジュール
相互接続部130のファイアウオール1000を経てク
ロスリンク90へ送られる。このときには、データがメ
モリ制御器70及びクロスリンク90’まで転送される
。第12図に示すように、クロスリンク90は、ファイ
アウオール1000からメモリ制御:a70へのデータ
を遅延し、クロスリンク90′へのデータが「捕獲」に
充分な時間を有し且つ処理システム20及び20′が同
期状態に保たれるようにする0次いで、データは、クロ
スリンク90からメモリ制御器70を通りそして内部バ
ス46を経てCPU40へ送られる。同様に、クロスリ
ンク90′へのデータもCPU40’へ送られる。
データをCPU50及び50’へ読み込むために同様の
経路がとられる。共有メモリ制御器1050からのデー
タは、ファイアウオール1010を経てクロスリンク9
5へ送られる。このときには、データがクロスリンク9
5′会送られると共に、クロスリンク95内の遅延ユニ
ットに通される。
I10装誼からデータを読み取るときには、1つの読み
取り動作しか必要とされない・ 「ミラーJCPUのI
10読み取り動作は、処理システム20’のI10装置
から共有メモリ制御器1050′を経て受は取ったデー
タ及びI10装置100IのローカルRAMから受は取
ったデータに対して行われる。
I 1O−T−ジュー)Li 100.110及び12
0は、各々、I 1O−T−ジュールlOO’ 、11
0’及び120′と同様であってそれに対応しているが
、対応するI10モジュールは互いにロックステップ同
期状態にない。CPUのI10読み取りに対してメモリ
制御器1050″及びローカルRAM1060’ を使
用して、データは先ずクロスリンク90’及び95′へ
送られる。他のデータ経路は、メモリ制御器1050か
らの経路と同等である。データは、クロスリンク90′
及び95′からメモリ制御器70′及び75′を経て最
終的にCPU40’及び50′へ各々送られる。同時に
、データは、各々、クロスリンク90及び95へ送られ
、次いで、遅延要素を通ることなく、各々、CPU40
及び50まで送られ続ける。
第20[1図は、CPUのI10書き込み動作を示して
いる。データは、2つの別々のCPUI 10書き込み
動作ニオイテ、CPU40.5o、40’及び50′を
経て共有メモリ制御器1050及び1050’ とロー
カルRAM1060及び1060’ とに転送される。
CPU40によって転送されるデータは、CPUのI1
0読み取り中のデータとは逆方向に同じ経路に沿って送
られる。
特に、このようなデータは、メモリバス46、メモリ制
御器70、遅延ユニット985(同期をとれるようにす
るための)、ファイアウオール10′oO及びメモリ制
御器1050を経て送られる。
CI’U50″からのデータも、CPU  I10読み
取りの経路を逆方向にたどる。特に、このようなデータ
は、内部バス56′、メモリ制御器75′。
クロスリンク95′、クロスリンク95、ファイアウオ
ール1010及び共有メモリ制御器1050を経て送ら
れる。上記したように、ファイアウオール1000及び
1010は、I10書き込み動作中にデータをチエツク
し、出力の前にエラーをチエツクする。
CPU50及び40′からのデータは、処理システム2
0’のI10装置への次のCPU  l10iFき゛込
みの際に、対象的な経路を経て共有メモリ制御器105
0’へ送信される。CPU50及び40′からのデータ
は、ゾーン間チエツクのためにファイアウオール100
o及び1010によって比較される。各ゾーンに対する
レール間チエツクは、メモリ制御器70.75.70′
及び75′において既に実行されている。
第21C図は、DMA読み取り動作のためのデータ経路
を示している。メモリアレイ600からのデータは、メ
モリ制御器70及び75とクロスリンク90及び95と
に同時に送り込まれる。
クロスリンク95は、そのデータを、ファイアウオール
1000及び共有メモリ制御器1050へ送信するまで
遅延する。
メモリアレイ600′からのデータは、メモリ制御器7
0’及び75′に同時に通され、次いで、クロスリンク
90′及び95′に通される。
クロスリンク95′からのデータは、クロスリンク95
及びファイアウオール1010を通って共有メモリ制御
器1050へ送られる。
CPUのI10書き込み動作と同様に、このデータ経路
と、ファイアウオール1000’及び1010’ を通
る対象的な経路は、ゾーン間エラーチエツクを与える。
レール間エラーチエツクは、メモリモジュール70.7
5.70’及び75′において行われる。
DMA書き込み動作のためのデータ経路が第21D図に
示されており、これはCPUのI10読み取りの場合と
同様である。特に、共有メモリ制御器1050’ から
のデータは、ファイアウオール1000’ 、クロスリ
ンク90′ (遅延を伴う)及びメモリ制御器70′を
経てメモリアレイ600′へ送られる。同時に、このデ
ータは、ファイアウオール1010’、クロスリンク9
5′(遅延を伴う)及びメモリ制御器75″に通され、
このときには、レール間エラーチャック中にメモリ制御
器70′からのデータと比較される。或いは又、CPU
のI10読み取りの場合と同様に、DMA書き込み動作
のデータは、同等の動作中に共有メモリ制御器1050
まで送られてもよい。
又、クロスリンク90’からのデータは、クロスリンク
90及びメモリ制御器70を経てメモリアレイ600へ
通される。クロスリンク95′からのデータは、クロス
リンク95′及びメモリ制御器75′に通され、このと
きには、同時のレール間チエツク中にメモリ制御器70
’からのデータと比較される。
メモリ再同期動作のためのデータ経路が第20E図に示
されている。メモリ再同期動作については第23図に関
連して以下で詳細に述べる。メモリ再同期中のデータ経
路を理解するために、メモリ再同期の一部分であるバル
クメモリコピー機能動作が第21図に示されている。
第21図に示すように、バルクメモリコピー動作の第1
の段階は、クロスリンクをメモリ再同期マスター/スレ
ーブモードにセットして第20E図に示すデータ経路を
形成できるようにすることである(ステップ2100)
、第13I図ないし第13L図は、クロスリンクがスレ
ーブモードにあるときに通信が本質的に一方向であるこ
とを示している。従って、クロスリンクがスレーブモー
ドにある処理システムのメモリにデータを書き込むこと
ができるが、このメモリから情報を読み取ることはでき
ない、更に、第13E図ないし第13I(図は、第13
I図ないし第13L図と共に。
クロスリンクがマスターモードにある処理システムがそ
のメモリモジュールに書き込みを行うたびに、クロスリ
ンクがスレーブモードにある処理システムもその同じデ
ータを書き込む。従って、クロスリンクがスレーブモー
ドにある処理システムは、クロスリンクがマスターモー
ドにある処理システムと共に、そのときまでの情報を記
憶するメモリモジュールを有している。
次いで、第21図のバルクメモリ転送フローチャートに
示されたように、マスター処理システムは、そのメモリ
モジュールを検査し、そのモジュールの全てのメモリペ
ージを見つける(ステップ2110)、これら全てのペ
ージが既知になると、マスター処理システムのDAMエ
ンジンの待ち行列に入れられる(ステップ2120)、
好ましくは、マスター処理システムのDMAエンジンは
、DMA要求の待ち行列を含み、各要求は、転送の形式
の指示、スタートアドレス、転送されるべき要素の数及
び行き先の指示を含むのが好ましい。スレーブ処理シス
テムへの全てのDMA転送の行き先は、スレーブ処理シ
ステムのメモリモジュールである。
次いで、メモリ再同期動作により、スレーブ処理システ
ムのDMAエンジンへコマンドを送信しくステップ21
30)そして次のページのDMA転送を開始して完了す
る(ステップ2140)という対話プロセスが開始され
る。スレーブのDMAエンジンへのコマンドは、DMA
転送のサイズ及びスタートアドレスを指示し、スレーブ
処理システムのメモリモジュールがマスターモジュール
と同一に構成されるよう確保する。これらのステップは
、全てのマスターメモリの転送が完了する(ステップ2
150)まで繰り返される。
全てのマスターメモリの転送が完了すると(ステップ2
150)、マスタープロセッサはそのCPUレジスタの
全ての内容を後で再ブートストラップ動作に使用するた
めにメモリに記憶する(ステップ2160)、CPUレ
ジスタの内容がマスターメモリに記憶されることにより
、それらがスレーブメモリにも記憶される0次いで、バ
ルクメモリ転送動作が開始されて、再同期プロセスを開
始することができるようにされる。
メモリ再同期動作においては、第20E図のメモリアレ
イ600’、即ち「マスター」からのデータがメモリ制
御器70’及び75′、クロスリンク90′及び95′
、クロスリンク90及び95、並びにメモリ制御器70
及び75を同時に通過し、このときに、レール間エラー
チエツクのためにデータが比較される。メモリ制御器7
oからのデータは、メモリアレイ600に入れられる。
2、コールドブートストラップ メモリ再同期動作を除けば、前記したデータ経路は、全
て、ゾーン11及び11′がロックステップ同期状態に
あるときに生じる。然し乍ら。
耐欠陥コンピュータシステム10は、プロセッサ20及
び20′がロックステップ同期状態にないときの動作も
受は入れねばならない、これら状態の1つは、初期化時
の「コールド」ブートストラップ動作中に生じる。別の
状態は、以下に述べるメモリ再同期動作中に生じる。
第22A図ないし第22 H図は、CPUモジュール3
0及び30’ をロックステップ同期状態にもっていく
ブー1−ストラップシーケンスを示すフローチャートで
ある。
一般に、ステップ2228のようなエラー状態において
は、他のゾーンに成る刺激に対する不M出な応答が与え
られる。他のゾーンからの退出な応答を受は取り損なっ
たことに対する応答は、そのゾーンによって生じたエラ
ーを記録することである。この情報は、現場のサービス
要員によってエラーを分析するのに使用することができ
る。
更に、他のゾーンからの適当な応答を受は取り損なった
ことに対する応答は、そのゾーンによって生じたエラー
を記録することである。第22A図ないし第2211図
においては、ゾーンが一般にゾーンA及びBと称される
。どうのは、上記した動作が各々のゾーンに適用される
からである。
コールドブートストラップ動作に入ると(ステップ22
00)、クロスリンク通路がオフに切り換えられ、プロ
セッサが通常の動作に対してセットされる(ステップ2
202)。通常の動作とは、CPUがそれらの各々のメ
モリ制御器を直接的に制御する状態を指す。次いで、C
PUは、CI’Uに配置されたEEFROMからそれ自
身のブートストラップトークンを読み取る(ステップ2
204)と共に、他のゾーンのCPUからブートストラ
ップトークンを読み取る(ステップ2206)0両方の
プロセッサは、次いで、ゾーンAからの応答を待機しく
ステップ2208)、ブートストラップ動作の目的でゾ
ーンAが「ブートマスター」となるかどうかを判断する
。もしそうであれば1両方のシステムは、ゾーンBがブ
ートストラップ動作のためのブートマスタとなると考え
ているかどうか判断する(ステップ2212)、もしそ
うであれば、ゾーンBは非ブート状態にセットされ、ブ
ートマスターとならない(ステップ2214)。
ステップ2210の判断の結果としてゾーンAがブート
マスターとならない場合には、両ゾーンがゾーンBがブ
ートマスターであるかどうか判断する(ステップ221
6)、ゾーンBがブートマスターでない場合には、ゾー
ンAがブートマスターとしてセラ1−される(ステップ
2218)。
ステップ2210−2218が行われてブー1ヘマスタ
ーが決定された後に、各ゾーンはブートマスターである
かどうかそれ自身に尋ねる(ステップ2220)、ブー
トマスターとなったゾーンは、第22B図のステップ2
222へ進む、他のゾーンは、第22F図のステップ2
284へ進む。
第22A図ないし第22 H図のフローチャートの説明
上、ゾーンAがブートマスターであるとする。
ゾーンAは、先ず、そのオペレーティングシステムをブ
ートする。ブートプロセスの一部分には、システム10
に存在する全てのI10装置を制御するのに必要なテー
ブル記述及びルーチンをロードすることが含まれる。然
し乍ら、ゾーンAのこれらI10装置のみが初期化され
、アプリケーションプログラムに利用できるようにされ
る。
ブートマスターは、ブートシンプレックス手順に入り(
ステップ2222)、これは、ゾーンAがゾーンBから
のメツセージの受信を待機する(ステップ2224)状
態で開始する。ゾーンBからメツセージを受信すると、
ゾーンAは、シー°ンBがゾーンAと接続する要求をな
したかどうかの判断をする(ステップ2226)、もし
そうでなければ、プロセスはエラー状g 2228へ入
り、ブートストラップ手順が完了され、ゾーンは非同期
状態に保たれる。ゾーンBが接続の要求をなした場合に
は、ゾーンAがゾーンBに「イエス」の応答を出しくス
テップ2230)そしてゾーンAが再びゾーンBの応答
を待機する(ステップ2232)、ゾーンBがIloを
供給しない場合には(即ち、ゾーンBがそのI10装置
の制御を保持する場合には)、別のエラー状態に入り(
ステップ223G)、ブートストラップ手順が終了され
る。
ゾーンBがIloを供給する場合には、ゾーンAがゾー
ンBのクロスリンク状態を読み取る(ステップ2238
)。ゾーンBのクロスリンク状態がゾーンBがクロスリ
ンクスレーブであることを指示しない場合には(ステッ
プ2240)、エラー状態に入り(ステップ2242)
そしてブートストラップ手順が再び終了される。
ゾーンBのクロスリンク状態が該ゾーンがクロスリンク
スレーブモードにあることを指示する場合には(ステッ
プ2240)、ゾーンAがそれ自身のクロスリンク状態
を「マスター」にセットする(ステップ2244)、シ
ー:/B(7)I10装置が初期化され、アプリケーシ
ョンプログラムに対して利用できるようにされる。ゾー
ンAはゾーンBからの要求を待機する(ステップ224
6)。
ゾーンAが再同期要求を受は取らない場合には(ステッ
プ2248)、エラー状態に入り(ステップ2250)
そしてブートストラップ手順が完了される。
ゾーンAがゾーンBから再同期要求を受は取る場合には
(ステップ2248)、ゾーンAがゾーンBに「イエス
」の応答を与え(ステップ2252)そしてゾーンBか
らの応答を待機する(ステップ2254)、ゾーンAは
、ゾーンBが再同期の準備ができるまで待機する(ステ
ップ2256)。
ゾーンBが再同期メモリに対して構成されている場合に
は、そのクロスリンク状態が「クロスリン°クオンスレ
ーブ」及び「再同期スレーブ」となる、再同期スレーブ
モードは、ゾーンBのcPUをそれらのメモリ制御器か
ら外すようにロックする。ここで、ゾーンBのメモリ制
御器は、それに関連したクロスリンクから全ての指示を
受は取る。これは、ゾーンBのメモリをゾーンAで制御
するようにする。ゾーンBが再同期の準備ができた場合
には、ゾーンAがゾーンBのクロスリンクの状態を再び
読み取り(ステップ2258)そしてゾーンBの状態が
該ゾーンが再同期スレーブモードにあることを指示する
かどうか判断する(ステップ2260)、もしそうでな
ければ、別のエラー状態に入り(ステップ2262)そ
してブートストラップ手順が終了される。
ゾーンBのクロスリンク状態が該ゾーンが再同期スレー
ブモードにあることを指示する場合には(ステップ22
60)、ゾーンAがそれ自身の状態を再同期マスターモ
ードにセットしくステップ2264)そしてメモリ転送
の待ち行列を形成する(ステップ2266)、これは、
第21図について述べるバルクメモリ転送である。
次いで、ゾーンAは、DMAがメモリ再同期に対して完
了するまで待機しくステップ2268)、そのシステム
状態をメモリから読み取り(ステップ2270)そして
再同期の後にゾーンがスタートするメモリ位置である再
スタートベクトルをセーブする(ステップ2272)、
システム状態は、全て、ソフトウェア及びハードウェア
の実行を制御するCPUモジュールのレジスタ常駐情報
である。この情報は、CPUの汎用レジスタ、アドレス
変換テーブル、プロセス状態ワード、スタックポインタ
、プログラムカウンタ、割込み状態、構成レジスタ及び
インターバルタイマを含むが、これに限定されるもので
はない、これらの値は、メモリアレイ60にセーブされ
る。メモリ再同期がまだ有効であるから、値はメモリア
レイ60’ にもセーブされる。セーブされた値のメモ
リアドレスは、クロスリンクのセーブ状態レジスタに書
き込まれる。従って、ゾーンλの全ての処理は保留され
、キャッシュメモリがフラッシュされる。アプリケーシ
ョン処理を再スタートするのに必要な全ての情報はメモ
リアレイ6o及び60’に常駐する。
次いで、ゾーンAは、デユーブレックス同期要求をセッ
トしくステップ2274)そしてゾーンBのクロスリン
ク状態を読み取る(ステップ2276)、ゾーンBの状
態が該ゾーンがデュープレックス同期モードにないこと
を指示する場合には、エラー状態に入り(ステップ22
80)そしてブートストラップ手順が終了する。ゾーン
Bがデユープレックス同期モードにある場合には、ゾー
ンAがデユープレックス同期要求をセットし。
第22II図のステップ2308で始まる同期動作に入
る。
ゾーンAの動作と同時に、ゾーンBはブートストラップ
のための別の組のステップを実行する。
ブートストラップ技術においてゾーンBがスレーブであ
ると決定された後に、該ゾーンはゾーンAと接続する要
求を発しくステップ2284)そして応答を待機する(
ステップ2286)、ゾーンAの応答がゾーンBに接続
できないという応答である場合には、ゾーンBがコンソ
ール状態に入る。
成る状態のもとでは、1つのゾーンのみと動作すること
が所望される。1つのゾーンはブートできるが、他方の
ゾーンは拡張診断を実行する。
従って、ゾーンAはゾーンBをブートしないように命令
され、ゾーンBが接続の要求を出したときには、許可が
与えられない6次いで、ゾーンBは、コンソールオペレ
ータからの命令をコンソール状態で待機する。
ゾーンAがゾーンBの接続要求に対して「イエス」の応
答を出した場合には、ゾーンBがそのIloを手放しf
ステップ2290)、そのクロスリンク状態を「スレー
ブ」モードにセラ1−シそして再同期動作を要求する(
ステップ2294)。
次いで、ゾーンBはゾーンAからの応答を待機する(ス
テップ2296)。
ゾーンBの再同期要求に対するゾーンAの応答がrイエ
ス」でない場合には(ステップ2298)、ゾーンBが
コンソール状態2300に入り、フー゛トストラップ動
作が終了される。ゾーンAがゾーンBの再同期要求に対
して「イエス」の応答を出した場合には(ステップ22
98)、ゾーンBが「再同期レディJメツセージをゾー
ンAに送り(ステップ2302)そしてそのクロスリン
ク状態を「スレーブ」モードにセットする(ステップ2
304)、次いで、ゾーンBは、同期動作に入るまでゾ
ーンAからの再同期を待機する。
ブートストラップルーチンがまだ終了されないか又はコ
ンソール状態に入らない場合には、両ゾーンがゾーンA
のクロスリンク状態を読み取る(ステップ2308)と
同時に、ゾーンBのクロスリンク状7fflを読み取る
(ステップ2310)。
両方のクロスリンク状態が等しい場合には(ステップ2
312)、ブートストラップが完了しモしてブートスト
ラップ手順が終了される。
クロスリンクA及びクロスリンクBの状態が等しくない
場合には、クロスリンクがオフにされ(ステップ231
4)そして両方のプロセッサがブートマスターとなるか
どうか質問する(ステップ231G)、クロスリンク状
態が不一致であることは、2つのゾーンの同期がうまく
とれなかったことを意味する。ブートマスターゾーン(
ゾーンA)は、スレーブゾーン(ゾーンB)の構成テー
ブルから装置を除去し、そして処理を続行する。
ゾーンBは、コンソール状態において、コンソールオペ
レータが更に別の命令を与えるのを待機する。ブートマ
スターであるゾーンについては、ブートストラップルー
チンが終了される(ステップ2316)、他のゾーンに
ついては、コンソール状態に入り(ステップ2318)
、次いで、ブートストラップルーチンが終了される。
3・、と二児」」U可成化 メモリ再同期動作は、コールドブートストラップ手順の
間と、以下に述べるように、ゾーンが同期を失うように
させる過渡エラーが検出された後とに使用される。一方
のゾーンは、好ましくは、他方;ゾーンの動作を停止さ
せることなく再l1iJjtllしなければならない、
このような再同期にとって重要なことは、コンピュータ
システム10を完全に停止することなくメモリアレイ6
00及び6゜O′を互いに等しくセットする技術である
。これは、メモリ再同期によって行われる。
メモリ再同期のフローチャートが第23図に示されてい
る。メモリ再同期のための一連のシーケンスの多くは、
ブートストラップ動作に用いられたものと同様である。
これらのシーケンスは。
簡単にいえば「ルーチン」と称され、第22図のブート
ストラップ動作のフローチャートに示された一連のシー
ケンスに相関される。
メモリがコピーされるゾーンは「マスター」であり、マ
スターメモリのコピーを受は取るゾーンは「スレーブ」
と称する。マスターはクロスリンクマスターでもあり、
スレーブはクロスリンクスレーブでもある。メモリ再同
期の初期化時に、マスターのクロスリンクは「クロスリ
ンクオン(マスター)」モードである。マスターが他の
ゾーンから再同期要求を受は取ると(ステップ2320
)、マスターは「イエス」で応答しくステップ2322
)そしてスレーブからの応答を待機する(ステップ23
24)、マスターは応答を受は取ると、メモリ再同期(
マスター)ルーチンに入り(ステップ232G)、これ
は、第22B図及び第22C図に示されたステップ22
5Gないし2282より成る1次いで、変更されたブー
トストラップルーチンである自動ウオーム再スタート手
順が開始される。この手順については以下で述べる。
そのメモリが同期されることを要求しているゾーンで、
スレーブとなるようなゾーンが再同期を所望していると
きには(ステップ2330)、「再同期要求」をマスタ
ーへ送り(ステップ2332)そして応答を待機する(
ステップ2334)。
マスターからの応答を受は取ると、メモリ再同期(スレ
ーブ)ルーチンを開始する。これは、第22G図に示す
ブートストラップルーチンのステップ2298ないし2
306で構成される。このルーチンが完了すると、スレ
ーブは自動ウオーム再スタート手順を開始しくステップ
233B)、次゛いで、両ゾーンはゾーン再同期手順に
入る。
ゾーン再同期ルーチンは、第22 H図に示すブートス
トラップルーチンのステップ2308−2318より成
る。唯一の相違は、第2211図に示されたステップ2
316において、ゾーンがブートマスターであるかどう
かではなくてクロスリンクマスターであるかどうかをそ
れ自体に尋ねる。
4、ウオーム(゛スタート動作 ウオーム再スタート手順が第24図に示されている。こ
の手順に入ると、最初に尋ねる質問は。
クロスリンクの状態が何であるかである。それが通常動
作、マスター再同期動作又はスレーブ再同期動作である
場合には、ウオーム再同期動作が終了される。
クロスリンク状態が「デユープレックス同期」である場
合には、CPUが一時的に停止され(ステップ2420
)、次いで、コンソールコードに入って(ステップ24
30)、ブートストラップ動作を完了する。スレーブ状
態レジスタが分析される。スレーブ状態レジスタが0で
ある場合には、第22図に示すようにコールドブートス
トラップを行う必要がある(ステップ2450)、さも
なくば、CPUレジスタは所定のメモリ位置からロード
され、これらはスレーブ状態レジスタの値+4であるの
が好ましい(ステップ2460)、次いで、スレーブ状
態レジスタによって指示された位置へ分岐がなされる(
ステップ2470)。この後者の動作によりオペレーテ
ィングシステム及び全ての保留されたジョブが再スター
トされる。
D、欠陥検出、分離及び修理 1、トレースRAM 欠陥検出のための種々の方法は、CPUモジュール30
及び3.0′とファイアウオール1000及び1010
との説明において既に述べた。こ九らの方法は、メモリ
制御器から受は取ったアドレス及び制御信号が同じであ
ることをメモリモジュール60及び60′によってチエ
ツクすることと、修正不能なメモリデータのエラーをチ
エツクすることとを含む、又、これらの方法は、2つの
「レール」を通過するアドレス、制御及びデータ信号が
同じであることをメモリ制御器の対70/75及び70
’ /75’によって比較することも含む、又、ファイ
アウオール1000及び1010は、I10書き込み中
にゾーンからのデータを比較するチエッカを有している
。他の欠陥検出機構も考えられる。
処理システム20及び20′の欠陥停止機能と矛盾しな
いように、処理システムの欠陥検出は。
欠陥が制御されない状態で他のモジュールへ伝播されな
いようにする。然し乍ら、フェイスセーフ機能を実現す
るためには、コンピュータシステムlOは、欠陥の発生
源を分離してシステムを修理することができねばならな
い、欠陥の発生源を探索するための好ましい技術は、ト
レースRAMと(4;する再循環レジスタを使用してお
り、これらのRAMは処理システム20及び20′のデ
ータ峰路全体にわたって配置されている。これらのトレ
ースRAMは、それに関連したデータ経路を経て送られ
る連続するメツセージを記録する。欠陥が生じたときに
は、欠陥の発生源を探索するようにメツセージが分析さ
れる。
第25図は、コンピュータシステム10におけるトレー
スRAMの好ましい位、置を示すCPUモジュール30
及びI10モジュール100のブロック図である。他の
位置を使用することもできる。処理システム20におい
ては、1−レースRAMが全てのデータ経路に配置され
るのが好ましい。
従って、第25図において、トレースRAM2500及
び2505は、各々、メモリ制御器70及び75に配置
される。トレースRAM2510.2515及び251
8はクロスリンク90の全てのインターフェイスに配置
され、そしてトレースRA M 2520.2525及
び2528はクロスリンク95の全てのインターフェイ
スに配置される。トレースRAM1872及び1877
は各々ファイアウオール1000及び1010に配置さ
れる。相補的な組のトレースRAMは、処理システム2
0′に配置される。
トレースRAMの選択及び配置ははゾ任意であるが、好
ましくは、エラーのソースを正確に識別してエラー源を
識別できるようにするためには各デ=り経路が少なくと
も1つのトレースRAMを含んでいなければならない。
トレースRAM2600の一例が第26図に示されてい
る。トレースRAM2600は、関連バス経路のN個の
最新のサイクルに転送されたデータを記憶する円形バッ
ファとして編成されるのが好ましい、トレースRAM2
600はバッファレジスタ2605を備えており、その
入力はそれに関連したデータ経路からデータを受は取る
ように接続されている。バッファ2000へのロード入
力はアンドゲート2615の出力である。アンドゲート
2615の入力は、データ経路からのクロック信号と、
欠陥が検出されたときに発生されたFREEZE  T
RACE  RAM信号である。
バッファ2605のアドレス入力は、アンドゲート26
15からカウント信号を受は取るリサイクルカウンタ2
610に接続されている。
トレースRAM2600のサイズNは、最も遠いメツセ
ージ転送に必要なバスサイクルの全数と、エラー又は欠
陥が生じたときにトレースRAMに制御信号を送信する
に必要とされるサイクルの全数との和によって決定され
る。この制御信号は、トレースRAMがそのデータを凍
結してそれ以上のメツセージの記憶を停止するためのコ
マンドであるのが好ましい。
次いで、トレースRAMの各々は、それに関連したデー
タ経路におけるN個の最新のトランザクションのコピー
をそのメモリに保持する。例えば、第25図において、
トレースRAM2518は、モジュール相互接続部13
0におけるN個の最新のトランザクションのコピーを保
持する。
2、皿欠王旦二 第27図は、エラー又は欠陥が検出されたときにその発
生源を分離するのに使用される手順を示すフローチャー
トである。エラーは、「内実」な状態を繰り返さない「
間欠的」なものであるか、このような状態を繰り返すも
のである。成る要素によって欠陥が検出されると、エラ
ー信号がそれに関連したクロスリンク(即ち、ファイア
ウオール1000及びメモリ制御器70のクロスリンク
90)に送られる。クロスリンクはCPUに割り込むか
又はCPUがトラップ状態に入るようにさせる。
一般に、エラー信号は、ファイアウオール又はメモリ制
御器からのものである場合には1つのサイクルでクロス
リンクへ送られそしてメモリアレイからのものである場
合には2つのサイクルでクロスリンクに送られる0次い
で、クロスリンクの遅延要素は1両ゾーンのCPUがエ
ラー又は欠陥について同時に通知されるように(即ち、
割込み又はトラップによって)確保する。
同時に、FREEZE  TRACE  RAM信号は
、エラーを検出した要素からコンピュータシステム10
全体にわたって伝播する(ステップ2700)、このF
REEZE  TRACE  RAM信号は、一般に、
そのゾーンのクロスリンクの到達するのに1つ又は2つ
のメモリサイクルを必要とし、他のゾーンのクロスリン
クと、エラーが見つかったゾーンのファイアウオール及
びメモリ制御器とに到達するのに別のサイクルを必要と
し、そして非欠陥ゾーンのファイアウオール及びメモリ
制御器に到達するのに別のクロックサイクルを必要とす
る。
CPUは、マシンチエツクルーチンに入り(ステップ2
702)そしてCPUが既にマシンチエツクルーチンに
ある間にエラーが検出されたかどうかを判断することに
より(ステップ2705)トラップ又は割込みを処理す
る。エラーが検出された場合には、そのエラーが内実な
エラーであるとされ、システムは、第28A図ないし第
28C図に示す内実な欠陥を分離する手順を開始する。
CPUがマシンチエツク手順にない場合には。
検出されたエラーが間欠的であるとされる1次いで、C
PUは入力フラグをセットしくステップ2710)、そ
のエラーを分離する手順を開始する。
この入力フラグは、割込みが生じたときにCPUがマシ
ンチエツク手順にあるかどうかを判断するためにステッ
プ2705においてテストされるフラグである。
次いで、全てのトレースRAMデータがトレースRAM
バスを介してその処理システムに関連したファイアウオ
ールに読み込まれる(ステップ2720)、次いで1診
断マイクロプロセッサは、全てのトレースRAMデータ
をロードしくステップ2730)、CPU40.50.
40′及び50′に転送する(ステップ2735)。
次いで、各CPUは、エラー信号を送った要素でスター
トしくステップ2740)、要素の欠陥源を分離する。
トレースRAMデータの比較は。
2500/2505.2510/2520.2515/
2525、等のような対向するレール上の同じ位置のト
レースRAMからのデータを比較することによって行す
れる。対応するメツセージ(即ち、トレースRAMの同
じ深さにあるメツセージ)が比較されて、エラー(即ち
、対応するメツセージ間の不一致)が検出されたかどう
か調べられる。エラー検出器においてトレースRAMが
分析された後に、次のトレースRAMは、欠陥が生じた
動作中にデータがたどった経路を逆にたどる。従って、
CPUの読み取りに対しては、経路がCPUから離れる
方向となる。
エラー検出ルーチンの最初の段階においては、CPUモ
ジュール30及び30′の各レールからの1−レースR
AMデータが比較される(ステップ2750)、別々の
レールにおけるトレースRAM間にエラーがなくて(ス
テップ2752)、対応するデータ経路におけるトレー
スRAMデータが等しいことを意味する場合には、他の
データ経路の存在が決定される(ステップ2754)、
他のデータ経路が保持される場合には、別の経路がとら
れ(ステップ2756)、次の比較が行われる(ステッ
プ2750以降)。
他の経路がない場合には、CPUは、チエツクされたト
レースRAM対が第1のものであるかどうか判断する(
ステップ2758)、もしそうであれば1例えば、CP
U読み取りの際にファイアウオール1000’及び10
10において最初にデータが受は取られたときにエラー
が生じているはずである。この点では単一のデータレー
ルが2つの経路に分割されているので、データは同じは
ずであり、従って、エラー検出器はrカルブリット(罪
人)」であると考えられ、欠陥であると記録される(ス
テップ2760)、次いで、入力フラグがクリアされ(
ステップ2762)、これはマシンチエツクルーチンの
終了を指示すると共に割込みをクリアし、そしてマシン
チェックルーチンが終了となる(ステップ2764)。
ステップ2754及び2758において他の経路が保持
されないが現在のトレースRAM対がチエツクされた最
初の対ではないことが判断された場合には、エラーがそ
の経路において手前のレベルで生じたものと判断される
。というのは、これは、トレースRA Mがデータの変
更を発生時に記録した場合であると共にエラーが最初に
生じた場合だからである(ステップ2766)、次いで
、ステップ2762及び2764において、各々、入力
フラグがクリアされ、そしてマシンチエツクルーチンが
終了される。
然し乍ら、ステップ2752においてエラーが指示され
た場合には、そのエラーがオペレーションソースである
かどうかについて次の判断がなされる(ステップ277
0)、rオペレーションソース」とは、特定の経路に対
するデータ経路の開始を短く表現したものである。もし
そうでなければ、経路はオペレーションソースに向かっ
て後退され(ステップ2775)、レール間で別の比較
がなされる(ステップ2750以降)、ステップ277
0においてエラーチエツクルーチンがそのときオペレー
ションソースであると判断された場合には、各々、その
オペレーションソースが欠陥の位置として記録され(ス
テップ2780)、入力フラグがクリアされ(ステップ
2762)そしてマシンチエツクルーチンが終了される
(ステップ2704)。
3、丘χ久座 欠陥が内実欠陥であると判断されると(第27図参照)
、第28A図ないし第28C図のフローチャートに示す
ようにこのような内実欠陥を分離する手順が開始される
。内実欠陥処理の第1のステ゛ツブは、耐欠陥コンピュ
ータシステム10をその2つの別々のゾーン11及び1
1′に分割することである(ステップ2800)、これ
は、全てのクロスリンクをオフに切り換えることによっ
て行われる0次いで、各ゾーンの診断マイクロプロセッ
サがそれらゾーンに対するトレースRAMデータを読み
取り(ステップ2805)そしてそのデータをデュアル
レールアクセスによってゾーンのCPUに送る(ステッ
プ2810)、このプロセス中にエラーが検出された場
合には(ステップ2815)、エラー処理中にハードウ
ェア欠陥が生じており、そのゾーンがコンピュータシス
テム10から除去される(ステップ2820)、欠陥を
報告する試みがなされる(ステップ2825)が、ハー
ドウェア欠陥であるためにこれは不可能であり、この手
順はコンソールへと続く、これにより、コンソールオペ
レータは詳細な診断テストを開始して、内実欠陥を探索
することができる。
トレースRAMデータのデュアルレールアクセス中にエ
ラーが検出されない場合には、そのトレースデータが分
析される(ステップ2830)。
この分析に用いる手順は、過渡エラー分析のステップ2
740−2780に類似している。然し。
ゾーンが分割されていて一方のゾーンでしかエラーが検
出されないので1手順に相違が生じる。このような場合
の手順は1分析を行っているゾーンではエラーを示さず
、クロスリンクにおいてエラーを示す6分析中にハード
ウェア欠陥が検出された場合には、そのゾーンが除去さ
れ(ステップ2820)、報告の試みがなされ(ステッ
プ2825)そして手順はコンソールへと続く。
トレースRAMデータのゾーン分析によりエラーがある
ことが示された場合には(ステップ2835)、エラー
の位置が検討される(ステップ2840)、エラーがゾ
ーン内にある場合には、欠陥がもはやハード即ち内実で
ないことが決定されるか又は多数の欠陥が存在すること
が分かり、過渡欠陥を分離しようと試みる間に生じる過
渡欠陥は元の過渡欠陥を見掛は上内実であるようにする
(ステップ2845)、まれなことであるが。
この゛ような状態は、エラー処理中にハードウェアの欠
陥が生じた場合にたどるステップに類似した更に別の分
析を必°要とし、欠陥を生じたゾーンがシステムから除
去され(ステップ2850)、エラーを報告する試みが
なされ(ステップ2855)そして内実欠陥手順を終了
してコンソールへ至る。
ステップ2840において、クロスリンクに欠陥がある
と決定された場合には、欠陥が実際にはクロスリンク通
路25にあるか又は他のゾーンにある(ステップ286
0)、このような場合。
第288図に示すように、そのゾーンは、そのエラー分
析を直列クロスリンクを経て他のゾーンへ送り(ステッ
プ28 G 5)そして他のゾーンが応答するかどうか
について判断がなされる(ステップ2868)、他のゾ
ーンからの応答がない場合には(ステップ2870)、
他のゾーンが不作動であると判断され、欠陥が報告され
る(ステップ2870)、次いで、エラー状態がクリア
され(ステップ2875)、内実欠陥分析ルーチンが完
了する。
他のゾーンが応答する場合には、更に別のエラー分析が
行おれて、他のゾーンが欠陥状態にあるかどうか又はク
ロスリンクが欠陥状態にあるかどうかの判断がなされる
(ステップ2877)。
ステップ2877の分析によって他のゾーンが欠陥状態
にあると分かった場合には、該他のゾーンに欠陥が生じ
たと報告され(ステップ2879)、エラー状態がクリ
アされ(ステップ2875)そして内実欠陥分析手順が
完了する。
一方、ステップ2877の分析結果がクロスリンクが欠
陥状態にあるというものであった場合には、直列クロス
リンクを介して欠陥のあるクロスリンクを識別する試み
がなされる(ステップ2881)、これは、第28A図
のステップ2835と同様の手順によって行われる。欠
陥のあるクロスリンクが識別されると、欠陥のあるゾー
ンが除去されそして欠陥が報告される(ステップ288
3)0次いで、エラー状態がクリアされ(ステップ28
75)そして内実欠陥の分析手順が完了する。
ステップ2835において、トレースRAMデータが分
析されそして他のゾーンに欠陥があると判断された場合
には、第28C図の手順をたどる。この手順において、
ゾーンは直列クロスリンクを経てトレースRAMの分析
結果を交換しくステップ2885)そして他のゾーンが
応答しているかどうか判断される(ステップ2887)
、他のゾーンが応答しない場合には、そのゾーンが欠陥
として報告され(ステップ2889)、エラー状態がク
リアされ(ステップ2891)そして内実欠陥の分析ル
ーチンが完了する。
応答が受信された場合には(ステップ2887)、第2
8B図のステップ2835のエラー分析に類似したエラ
ー分析が実行される(ステップ2893)、エラー分析
は2つの結論のうちの1つに到達する。その結論が他の
ゾーンが欠陥状態にあるというものである場合には、そ
のゾーンが欠陥として報告される(ステップ2889)
、その結論がクロスリンクが欠陥状態にあるというもの
である場合には、クロスリンク又は他のゾーンが欠陥で
あると報告される(ステップ2895)。
ステップ2889又は2895の報告の後に、エラー状
態がクリアされ(ステップ2891)そして分析手順が
終了する。
4、(IIm 第27図及び第28A図ないし第28C図に示された欠
陥及び内実欠陥分離手順の結果、CPUモジュール(即
ち、CPU/メモリ/メモリ制御器の組み合わせ);ク
ロスリンク;クロスリンク通路25;モジュール相互接
続部;又はI10モジュール内においてエラー又は欠陥
が探索されたとすることができる。一般に1間欠欠陥が
検出された場合には、耐欠陥コンピュータシステム10
のCPUが間欠欠陥の位置を指示し、増分カウンタが欠
陥要素に対する間欠エラーの数を指示する。要素に対す
るカウントが所定数を越えない限りそれ以上の動作は生
じない、カウントが所定数を超えて、間欠欠陥の生じる
頻度が許容するには高過ぎることを指示する場合、又は
検出された欠陥が内実欠陥である場合には、モジュール
又は要素に欠陥があり、それらを作動不能にして、その
要素を含むモジュールを交換できるまで耐欠陥コンピュ
ータシステム10が効果的に動作を続けられるようにし
なければならない。
CPUモジュールが欠陥であると・分かった場合には、
そのモジュールのクロスリンクをrデユープレックス」
モードから「スレーブ」モードに切り換えることによっ
てそのモジュールを動作不能にしなければならない、−
「スレーブ」モードにおいては、モジュールをそのクロ
スリンク診断制御レジスタによって他のゾーンのCPU
モジュールと通信するしかない、動作不能にされたCP
Uモジュールはコンソールモジュールに復帰される。
クロスリンクが欠陥であると分かった場合には、欠陥状
態にあるクロスリンクの部分に基づいて3つの動作のう
ちの1つをとることができる。
メモリ制御器に接続されたクロスリンクの部分は、実際
には、それに関連したCPUモジュールから区別するこ
とができない。その部分に欠陥がある場合には、CPU
モジュールを動作不能にしたのと同じ手順を行わねばな
らない。
モジュール相互接続部に接続されたクロスリンクの部分
は、実質上、モジュール相互接続部と区別することがで
きない、この状態においてクロスリンクを動作不能にす
るプロセスは、モジュール相互接続部を動作不能にする
手順と同じである。
クロスリンクの一部分は、クロスリンク通路と実質上区
別できないクロスリンク通路25に接続される。この場
合、又は欠陥がクロスリンク通路にある場合には、クロ
スリンクをオフに切り換えると共に、欠陥のあるクロス
リンクを含むと考えられるCPUモジュールを動作不能
にすることにより、ゾーンが分割される。然し乍ら、欠
陥の発生源を決定できない場合には、CPUモジュール
30及び30″の所定の1つが先ず動作不能にされる。
エラーが持続する場合には、他のCPUモジュールが再
ブートされ、予め選択されたモジュールが動作不能にさ
れる。
同じ手順を使用して、欠陥のあるI10モジュールや、
モジュール相互接続部や、モジュールイン゛ターフェイ
スに欠陥の生じたクロスリンクが動作不能にされる。3
つ全ての状態において、欠陥はI10モジュールを伴う
トランザクション中に生じ、従って、I10モジュール
が動作不能にされる。これは、全てのCPU40.50
.40′及び50′のオペレーティングシステムにその
I10モジュールの参照記号を除去するように通知する
ことによって行われる。
クロスリンク又はモジュール相互接続部の欠陥を表わす
欠陥が生じた場合には、それらのモジュールを含むゾー
ンを動作不能にすることができる。これに対する好まし
い解決策は、欠陥が生じたときに通信状態にあるI10
モジューを動作不能に保持することである。モジュール
相互接続部及びクロスリンクの当該部分も、接続された
全てのI10モジュールが動作不能にされたときに実際
上動作不能にされる。I10モジュールをもたないCP
Uモジュールは、大部分の目的に対し実際上動作不能に
される。
藍筑 以上、好ましい実施例について示した本発明は、前記し
た本発明の目的を達成する0本発明の装置及び方法につ
いて種々の修正及び変更がなされることが当業者に明ら
かであろう、従って、本発明は、その広い観点において
、前記した特定の細部、代表的な方法及び装置、並びに
解説のための例に限定されない、従って、本発明の一般
的な考え方の精神又は範囲から逸脱せずに上記細部とは
異なったものが考えられる。
【図面の簡単な説明】
第1図は、本発明による耐欠陥コンピュータシステムの
ブロック図、 第2図は、第1図の耐欠陥コンピュータシステムを含む
物理的なハードウェアを示す図、第3図は、第1図の耐
欠陥コンピュータシステ11に示されたCPUモジュー
ルのブロック図、第4図は、第1図に示されたコンピュ
ータシステムの相互接続されたCPUモジュール及び工
10モジュールのブロック図、 第5図は、第1図に示された耐欠陥コンピュータシステ
ムのメモリモジュールを示すブロック図、 第6図は、@5図に示されたメモリモジュールの要素を
示す詳細図、 第7図は、第3図に示されたCPUモジュールの二次メ
モリ制御器を示すブロック図、第8図は、第3図のCP
Uモジュールに含まれたミラーメモリ制御器のブロック
図。 第9図は、第7図及び第8図に示されたメモリ制御器の
インターフェイス回路を示す図。 第10図は、第3図に示されたCPUモジュールのクロ
スリンクの並列レジスタを示す図、第11図は、第3図
に示されたCPUモジュールのクロスリンクの直列レジ
スタを示す図、第12図は、第3図に示されたCPUモ
ジュールのクロスリンクの制御器の要素を示すブロック
図、 第13A図ないし第13P図は、第12図に示された制
御器に対する信号の状態を示す表、第14図は、第1図
の耐欠陥コンピュータシステムのためのタイミングシス
テムのためのブロック図、 第15図は、第14図のタイミングシステムによって発
生されたクロック信号のタイミング図。 第16図は、第14図に示されたタイミングシステムの
位相検出器を詳細に示す図。 第17図は、第1図のコンピュータシステムのI10モ
ジュールを示すブロック図、第18図は、第17図に示
されたI10モジュールのファイアウオール要素を詳細
に示す図、第19図は、第1図のコンピュータシステム
に対するクロスリンク通路の要素を詳細に示す図、第2
0A図ないし第20E図は、第1図のコンピュータシス
テムのデータ流れ線図、第21図は、第1図のコンピュ
ータシステムによるバルクメモリ転送のための論理流れ
線図、第22A図ないし第22H図は、第1図のコンピ
ュータシステムのブートストラップ動作のための論理流
れ線図、 第23図は、第1図のコンピュータシステムのメモリ再
同期動作のための論理流れ線図。 第24図は、第1図のコンピュータシステムのウオーム
再スタート手順のための論理流れ線図、第25図は、ト
レースRAMの配置を含む第1図のコンピュータシステ
ムのブロック図、第26図は、トレースRAMのブロッ
ク図、第27図は、第1図のコンピュータシステムにつ
いて間欠欠陥を分離するための論理流れ線図、そして 第28A図ないし第28C図は、第1図のコンピュータ
システムにおいて内実欠陥を分離するための論理流れ線
図である。 図中: 1o・・・耐欠陥コンピュータシステム11.11′ 
・・・ゾーン 12.12′ ・・・キャビネット 13・・・バッテリ 14・・・電力レギュレータ 16・・・冷却ファン  17・・・交流入力2o、2
0′ ・・・処理システム 30.30’−−−CPU%ジュール 40.50・・・CPU 42.52・・・キャッシュメモリ 43.53・・・キャッシュバス 44.54・・・システムサポート及びキャッシュ制御
器 60・・・メモリモジュール 70.75・・・−次メモリ制御器 80.82・・・バス 100.110,120・・・I10モジュール130
.132・・・モジュール相互接続部600・・・メモ
リアレイ 610・・・制御論理回路 612・・・−次制御信号デマルチプレクサ614・・
・ミラー制御信号デマルチプレクサ616・・・−次制
御信号ドライバ 618・・・システムタイミング制御信号発生器620
・・・構成エラー論理回路 625・・・エラー処理論理回路 ’026−−−EEPROM 63°O・・・比較論理回路 632・・・行及び列アドレスメモリドライバ634・
・・アドレス比較器 63G・・・制御信号比較器 638・・・ECC信号比較器 640・・・データ及びECCトランシーバ642・・
・ECC発生器 図面の浄8(内容に変更なし) 第を図  ′ 第4図 −ン欠行/列アドレス 叶3て   缶      ・■1 −1、イrノ 第15.図 第5図 りλ鳴 vre+2 第2Z図 ノVルクメモリ転送 第220図 第22F図 第&W図 第23.図 メtり再同期 第24.図 ウオーム再スタート 第26図 トレースRAM blJ3 第28B、図

Claims (10)

    【特許請求の範囲】
  1. (1)第1の処理処理システムを具備し、該システムは
    、一連のデータ処理命令を実行する第1の中央処理ユニ
    ットと、該第1の中央処理ユニットとデータをやり取り
    するための第1のデータバスシステムと、上記第1の中
    央処理システムに接続された第1のメモリユニットと、
    上記第1の処理システムとデータをやり取りする第1の
    クロスリンク通信要素とを備えており、そして更に、上
    記第1の処理システムとは独立して動作する第2の処理
    システムを具備し、該第2の処理システムは、上記第1
    の中央処理ユニットとほゞ同期して上記一連のデータ処
    理命令を実行する第2の中央処理ユニットと、該第2の
    中央処理ユニットとデータをやり取りする第2のデータ
    バスシステムと、上記第2の中央処理ユニットに接続さ
    れた第2のメモリユニットと、上記第1のクロスリンク
    通信要素に接続され、上記第1の処理システムから上記
    第2の処理システムへデータを転送すると共に、上記第
    2のコンピュータシステムから上記第1の処理システム
    へデータを転送するための第2のクロスリンク通信要素
    とを備えたことを特徴とする二重プロセッサコンピュー
    タシステム。
  2. (2)上記第1の処理システムに接続され、上記第1の
    処理システムに第1のタイミング信号を発生する第1の
    発振器手段と、 上記第1の発振器手段と同期されそして上記第1の処理
    システムに接続されていて、上記第2の処理システムに
    第2のタイミング信号を発生するための第2の発振器手
    段とを更に具備し、上記第1及び第2の発振器手段の各
    々は、上記第1及び第2のタイミング信号を位相固定す
    るための位相固定手段を備えている請求項1に記載の二
    重プロセッサコンピュータシステム。
  3. (3)上記第1のクロスリンク通信要素は、上記第1の
    処理システムにデータを入力したりそこからデータを出
    力したりする手段を備え、そして上記第2のクロスリン
    ク通信要素は、上記第2の処理システムにデータを入力
    したりそこからデータを出力したりする手段を備えてい
    る請求項2に記載の二重プロセッサコンピュータシステ
    ム。
  4. (4)上記第1の処理システムは、 上記第1の処理システムを収容する第1キャビネットと
    、 上記第1キャビネット内に取り付けられ、上記第1コン
    ピュータシステムへ電力を供給するように接続された第
    1の電源と、 上記キャビネット内に取り付けられ、上記第1の処理シ
    ステムを冷却する第1の冷却システムとを備え、そして
    上記第2の処理システムは、上記第2の処理システムを
    収容する第2キャビネットと、 上記第2キャビネット内に取り付けられ、上記第2処理
    システムへ電力を供給するように接続された第2の電源
    と、 上記キャビネット内に取り付けられ、上記第2の処理シ
    ステムを冷却する第2の冷却システムとを備えた請求項
    1に記載の二重プロセッサコンピュータシステム。
  5. (5)上記第1及び第2のデータバスシステムは、物理
    的に別々のバックプレーンに配置される請求項1に記載
    の二重プロセッサコンピュータシステム。
  6. (6)上記第1及び第2の処理システムは両方とも単一
    のI/Oモジュールに接続される請求項1に記載の二重
    プロセッサコンピュータシステム。
  7. (7)一連の命令を実行する第1のプロセッサシステム
    と、 上記第1プロセッサシステムと実質的に同様に構成され
    、上記一連の命令を実行する第2プロセッサシステムと
    、 上記第1及び第2の処理手段の出力を交換することによ
    り上記第1及び第2のプロセッサシステムをリンクする
    ためのクロスリンク手段と、上記クロスリンク手段に接
    続され、上記第1及び第2のプロセッサシステムを選択
    的に同期して、上記第1及び第2のプロセッサシステム
    が上記出力の比較によってほゞ同じ時間に上記一連の命
    令の中の同じ命令を処理するようにさせ、そして上記第
    1及び第2のプロセッサシステムが非同期で動作できる
    ように上記クロスリンク手段を解離するための同期手段
    とを備えたことを特徴とする二重プロセッサコンピュー
    タシステム。
  8. (8)上記クロスリンク手段は、 上記プロセッサシステムが同期動作にないときに上記第
    1と第2のプロセッサシステム間で直列に通信を行う手
    段と、 同期動作中に上記第1と第2のプロセッサシステム間で
    並列に通信を行う手段とを備えた請求項7に記載の二重
    プロセッサコンピュータシステム。
  9. (9)上記クロスリンク手段は、 上記第1プロセッサシステムと情報をやり取りするため
    の第1クロスリンク通信要素と、上記第1プロセッサシ
    ステムから上記第2プロセッサシステムへデータを転送
    すると共に上記第2プロセッサシステムから上記第1プ
    ロセッサシステムへデータを転送するための第2クロス
    リンク通信要素とを備えている請求項7に記載の二重プ
    ロセッサコンピュータシステム。
  10. (10)上記第1及び第2のプロセッサシステムの各々
    は2つの中央処理ユニットを備え、そして上記クロスリ
    ンク手段は、 上記第1と第2のプロセッサシステム間で直列通信を行
    う手段と、 上記第1と第2のプロセッサシステム間で並列に通信を
    行う手段とを備えた請求項7に記載の二重プロセッサシ
    ステム。
JP63222175A 1987-09-04 1988-09-05 同期二重コンピュータシステム Pending JPH01154241A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9357287A 1987-09-04 1987-09-04
US9509687A 1987-09-04 1987-09-04
US095096 1987-09-04

Publications (1)

Publication Number Publication Date
JPH01154241A true JPH01154241A (ja) 1989-06-16

Family

ID=38829541

Family Applications (2)

Application Number Title Priority Date Filing Date
JP63222174A Pending JPH01154242A (ja) 1987-09-04 1988-09-05 二重ゾーンの耐欠陥コンピュータシステム
JP63222175A Pending JPH01154241A (ja) 1987-09-04 1988-09-05 同期二重コンピュータシステム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP63222174A Pending JPH01154242A (ja) 1987-09-04 1988-09-05 二重ゾーンの耐欠陥コンピュータシステム

Country Status (4)

Country Link
US (2) US5255367A (ja)
EP (2) EP0306211A3 (ja)
JP (2) JPH01154242A (ja)
CA (1) CA1306546C (ja)

Families Citing this family (134)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5185877A (en) * 1987-09-04 1993-02-09 Digital Equipment Corporation Protocol for transfer of DMA data
US5337411A (en) * 1988-10-20 1994-08-09 Westinghouse Electric Corporation Multi-processor computer system bus architecture
US5163138A (en) * 1989-08-01 1992-11-10 Digital Equipment Corporation Protocol for read write transfers via switching logic by transmitting and retransmitting an address
US5153881A (en) * 1989-08-01 1992-10-06 Digital Equipment Corporation Method of handling errors in software
US5251227A (en) * 1989-08-01 1993-10-05 Digital Equipment Corporation Targeted resets in a data processor including a trace memory to store transactions
ATE139632T1 (de) * 1989-08-01 1996-07-15 Digital Equipment Corp Verfahren zur softwarefehlerbehandlung
US5068780A (en) * 1989-08-01 1991-11-26 Digital Equipment Corporation Method and apparatus for controlling initiation of bootstrap loading of an operating system in a computer system having first and second discrete computing zones
EP0411805B1 (en) * 1989-08-01 1996-10-09 Digital Equipment Corporation Bulk memory transfer during resync
US5613106A (en) * 1989-09-15 1997-03-18 Motorola, Inc. Method for processing and storing a transaction in a distributed database system
US5551050A (en) * 1989-12-20 1996-08-27 Texas Instruments Incorporated System and method using synchronized processors to perform real time internal monitoring of a data processing device
US5086429A (en) * 1990-04-10 1992-02-04 Honeywell Inc. Fault-tolerant digital computing system with reduced memory redundancy
US5243607A (en) * 1990-06-25 1993-09-07 The Johns Hopkins University Method and apparatus for fault tolerance
US5390313A (en) * 1990-09-24 1995-02-14 Emc Corporation Data storage system with data mirroring and reduced access time data retrieval
CA2059143C (en) * 1991-01-25 2000-05-16 Takeshi Miyao Processing unit for a computer and a computer system incorporating such a processing unit
US5325490A (en) * 1991-12-18 1994-06-28 Intel Corporation Method and apparatus for replacement of an original microprocessor with a replacement microprocessor in a computer system having a numeric processor extension
US5297276A (en) * 1991-12-26 1994-03-22 Amdahl Corporation Method and apparatus for maintaining deterministic behavior in a first synchronous system which responds to inputs from nonsynchronous second system
US5555404A (en) * 1992-03-17 1996-09-10 Telenor As Continuously available database server having multiple groups of nodes with minimum intersecting sets of database fragment replicas
US5423037A (en) * 1992-03-17 1995-06-06 Teleserve Transaction Technology As Continuously available database server having multiple groups of nodes, each group maintaining a database copy with fragments stored on multiple nodes
US5748873A (en) * 1992-09-17 1998-05-05 Hitachi,Ltd. Fault recovering system provided in highly reliable computer system having duplicated processors
US5379415A (en) * 1992-09-29 1995-01-03 Zitel Corporation Fault tolerant memory system
US5434997A (en) * 1992-10-02 1995-07-18 Compaq Computer Corp. Method and apparatus for testing and debugging a tightly coupled mirrored processing system
US5751932A (en) * 1992-12-17 1998-05-12 Tandem Computers Incorporated Fail-fast, fail-functional, fault-tolerant multiprocessor system
US6157967A (en) * 1992-12-17 2000-12-05 Tandem Computer Incorporated Method of data communication flow control in a data processing system using busy/ready commands
US5914953A (en) * 1992-12-17 1999-06-22 Tandem Computers, Inc. Network message routing using routing table information and supplemental enable information for deadlock prevention
US5640530A (en) * 1992-12-17 1997-06-17 International Business Machines Corporation Use of configuration registers to control access to multiple caches and nonvolatile stores
US5339408A (en) * 1992-12-30 1994-08-16 Digital Equipment Corporation Method and apparatus for reducing checking costs in fault tolerant processors
JPH06274354A (ja) * 1993-03-12 1994-09-30 Internatl Business Mach Corp <Ibm> 破壊的なハードウェア動作を制御する方法及びシステム
JP3047275B2 (ja) * 1993-06-11 2000-05-29 株式会社日立製作所 バックアップ切り換え制御方法
JPH07129426A (ja) * 1993-10-29 1995-05-19 Hitachi Ltd 障害処理方式
WO1995012848A1 (en) * 1993-11-03 1995-05-11 Eo, Inc. Recovery boot process
US5504859A (en) * 1993-11-09 1996-04-02 International Business Machines Corporation Data processor with enhanced error recovery
EP0974912B1 (en) * 1993-12-01 2008-11-05 Marathon Technologies Corporation Fault resilient/fault tolerant computing
US5664090A (en) * 1993-12-15 1997-09-02 Kabushiki Kaisha Toshiba Processor system and method for maintaining internal state consistency between active and stand-by modules
US5535405A (en) * 1993-12-23 1996-07-09 Unisys Corporation Microsequencer bus controller system
US5841963A (en) * 1994-06-08 1998-11-24 Hitachi, Ltd. Dual information processing system having a plurality of data transfer channels
US5594862A (en) * 1994-07-20 1997-01-14 Emc Corporation XOR controller for a storage subsystem
US5644700A (en) * 1994-10-05 1997-07-01 Unisys Corporation Method for operating redundant master I/O controllers
DE69508034T2 (de) * 1994-10-25 1999-08-19 Hewlett Packard Co Fehlererkennungs-System und -Verfahren für gespiegelten Speicher zwischen doppelten Plattenspeichersteuerungen
US5539875A (en) * 1994-12-30 1996-07-23 International Business Machines Corporation Error windowing for storage subsystem recovery
EP0721162A2 (en) * 1995-01-06 1996-07-10 Hewlett-Packard Company Mirrored memory dual controller disk storage system
US5675723A (en) * 1995-05-19 1997-10-07 Compaq Computer Corporation Multi-server fault tolerance using in-band signalling
JP3132744B2 (ja) * 1995-05-24 2001-02-05 株式会社日立製作所 二重化cpu保守交換時の動作一致検証方式
US5848230A (en) * 1995-05-25 1998-12-08 Tandem Computers Incorporated Continuously available computer memory systems
JP3595033B2 (ja) * 1995-07-18 2004-12-02 株式会社日立製作所 高信頼化コンピュータシステム
CA2240932C (en) * 1995-12-18 2002-03-26 Elsag International N.V. Processor independent error checking arrangement
JP3247043B2 (ja) 1996-01-12 2002-01-15 株式会社日立製作所 内部信号で障害検出を行う情報処理システムおよび論理lsi
WO1997040401A1 (en) * 1996-04-23 1997-10-30 Alliedsignal Inc. Integrated hazard avoidance system
US6032271A (en) * 1996-06-05 2000-02-29 Compaq Computer Corporation Method and apparatus for identifying faulty devices in a computer system
US5915082A (en) * 1996-06-07 1999-06-22 Lockheed Martin Corporation Error detection and fault isolation for lockstep processor systems
JP3216996B2 (ja) * 1996-07-19 2001-10-09 三菱電機株式会社 二重系電子連動装置
EP0825506B1 (en) 1996-08-20 2013-03-06 Invensys Systems, Inc. Methods and apparatus for remote process control
US5790397A (en) 1996-09-17 1998-08-04 Marathon Technologies Corporation Fault resilient/fault tolerant computing
US5815571A (en) * 1996-10-28 1998-09-29 Finley; Phillip Scott Computer system with secured data paths and method of protection
US5991401A (en) * 1996-12-06 1999-11-23 International Business Machines Corporation Method and system for checking security of data received by a computer system within a network environment
US5896523A (en) * 1997-06-04 1999-04-20 Marathon Technologies Corporation Loosely-coupled, synchronized execution
US5983371A (en) * 1997-07-11 1999-11-09 Marathon Technologies Corporation Active failure detection
US6289022B1 (en) 1997-10-21 2001-09-11 The Foxboro Company Methods and systems for fault-tolerant data transmission
CA2309926A1 (en) 1997-11-14 1999-05-27 Erik Muench Method for maintaining the synchronized execution in fault resilient/fault tolerant computer systems
US6625756B1 (en) 1997-12-19 2003-09-23 Intel Corporation Replay mechanism for soft error recovery
US6799224B1 (en) * 1998-03-10 2004-09-28 Quad Research High speed fault tolerant mass storage network information server
US6260155B1 (en) 1998-05-01 2001-07-10 Quad Research Network information server
US7096358B2 (en) * 1998-05-07 2006-08-22 Maz Technologies, Inc. Encrypting file system
US6691183B1 (en) 1998-05-20 2004-02-10 Invensys Systems, Inc. Second transfer logic causing a first transfer logic to check a data ready bit prior to each of multibit transfer of a continous transfer operation
US6260159B1 (en) * 1998-06-15 2001-07-10 Sun Microsystems, Inc. Tracking memory page modification in a bridge for a multi-processor system
DE19836347C2 (de) * 1998-08-11 2001-11-15 Ericsson Telefon Ab L M Fehlertolerantes Computersystem
US7206877B1 (en) 1998-12-22 2007-04-17 Honeywell International Inc. Fault tolerant data communication network
JP3514651B2 (ja) * 1999-02-08 2004-03-31 三菱電機株式会社 リブート制御装置
US7089530B1 (en) 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
US7096465B1 (en) 1999-05-17 2006-08-22 Invensys Systems, Inc. Process control configuration system with parameterized objects
AU5273100A (en) 1999-05-17 2000-12-05 Foxboro Company, The Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects
US7272815B1 (en) 1999-05-17 2007-09-18 Invensys Systems, Inc. Methods and apparatus for control configuration with versioning, security, composite blocks, edit selection, object swapping, formulaic values and other aspects
US6754885B1 (en) 1999-05-17 2004-06-22 Invensys Systems, Inc. Methods and apparatus for controlling object appearance in a process control configuration system
US7043728B1 (en) 1999-06-08 2006-05-09 Invensys Systems, Inc. Methods and apparatus for fault-detecting and fault-tolerant process control
US6788980B1 (en) 1999-06-11 2004-09-07 Invensys Systems, Inc. Methods and apparatus for control using control devices that provide a virtual machine environment and that communicate via an IP network
US6501995B1 (en) 1999-06-30 2002-12-31 The Foxboro Company Process control system and method with improved distribution, installation and validation of components
AU6615600A (en) 1999-07-29 2001-02-19 Foxboro Company, The Methods and apparatus for object-based process control
TR199902280A2 (xx) * 1999-09-17 2001-02-21 Netaş Northem Electric Telecommuni̇cation A.Ş. Eş zamanlama devresi.
BA99493A (bs) 1999-10-06 2000-11-06 Mehmed Camo Poligon za treniranje fudbalera skola fudbala
US6473660B1 (en) 1999-12-03 2002-10-29 The Foxboro Company Process control system and method with automatic fault avoidance
US6625749B1 (en) * 1999-12-21 2003-09-23 Intel Corporation Firmware mechanism for correcting soft errors
US6779128B1 (en) 2000-02-18 2004-08-17 Invensys Systems, Inc. Fault-tolerant data transfer
DE10013665C2 (de) 2000-03-20 2003-11-06 Fresenius Medical Care De Gmbh Medizinisches Gerät mit doppeltem Kommunikationsbus
US6691257B1 (en) 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6708283B1 (en) 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
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
US6842823B1 (en) 2000-04-14 2005-01-11 Stratus Technologies Bermuda Ltd Methods and apparatus for persistent volatile computer memory
US6802022B1 (en) 2000-04-14 2004-10-05 Stratus Technologies Bermuda Ltd. Maintenance of consistent, redundant mass storage images
US7263476B1 (en) 2000-06-12 2007-08-28 Quad Research High speed information processing and mass storage system and method, particularly for information and application servers
US6973517B1 (en) 2000-08-31 2005-12-06 Hewlett-Packard Development Company, L.P. Partition formation using microprocessors in a multiprocessor computer system
US7065672B2 (en) * 2001-03-28 2006-06-20 Stratus Technologies Bermuda Ltd. Apparatus and methods for fault-tolerant computing using a switching fabric
US6928583B2 (en) * 2001-04-11 2005-08-09 Stratus Technologies Bermuda Ltd. Apparatus and method for two computing elements in a fault-tolerant server to execute instructions in lockstep
JP2005504387A (ja) * 2001-09-29 2005-02-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 高電力−低電力デュアルモード装置に対する先行同期の方法および装置
US6859866B2 (en) * 2001-10-01 2005-02-22 International Business Machines Corporation Synchronizing processing of commands invoked against duplexed coupling facility structures
US7302503B2 (en) * 2002-04-01 2007-11-27 Broadcom Corporation Memory access engine having multi-level command structure
EP1502218A4 (en) 2002-04-15 2005-08-17 Invensys Sys Inc METHOD AND DEVICES FOR A PROCESS-, FACTORY-, ENVIRONMENT-, ENVIRONMENT- AND COMPUTER AIDED MANUFACTURING-BASED OR OTHERWISE CONTROL SYSTEM WITH REAL-TIME DATA DISTRIBUTION
EP1359485B1 (de) * 2002-05-03 2015-04-29 Infineon Technologies AG Steuer- und Überwachungssystem
JP3606281B2 (ja) * 2002-06-07 2005-01-05 オムロン株式会社 プログラマブルコントローラ及びcpuユニット並びに特殊機能モジュール及び二重化処理方法
US7197664B2 (en) * 2002-10-28 2007-03-27 Intel Corporation Stateless redundancy in a network device
JP4492035B2 (ja) * 2003-04-21 2010-06-30 日本電気株式会社 データ処理装置
US7761923B2 (en) 2004-03-01 2010-07-20 Invensys Systems, Inc. Process control methods and apparatus for intrusion detection, protection and network hardening
US20050240806A1 (en) * 2004-03-30 2005-10-27 Hewlett-Packard Development Company, L.P. Diagnostic memory dump method in a redundant processor
US7426656B2 (en) * 2004-03-30 2008-09-16 Hewlett-Packard Development Company, L.P. Method and system executing user programs on non-deterministic processors
US20060020852A1 (en) * 2004-03-30 2006-01-26 Bernick David L Method and system of servicing asynchronous interrupts in multiple processors executing a user program
US7308605B2 (en) * 2004-07-20 2007-12-11 Hewlett-Packard Development Company, L.P. Latent error detection
US7681105B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for lock-free clustered erasure coding and recovery of data across a plurality of data stores in a network
US7681104B1 (en) * 2004-08-09 2010-03-16 Bakbone Software, Inc. Method for erasure coding data across a plurality of data stores in a network
US7263631B2 (en) 2004-08-13 2007-08-28 Seakr Engineering, Incorporated Soft error detection and recovery
JP4182948B2 (ja) * 2004-12-21 2008-11-19 日本電気株式会社 フォールト・トレラント・コンピュータシステムと、そのための割り込み制御方法
JP2006178618A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントコンピュータ及びデータ送信制御方法
US7802075B2 (en) * 2005-07-05 2010-09-21 Viasat, Inc. Synchronized high-assurance circuits
US8527741B2 (en) * 2005-07-05 2013-09-03 Viasat, Inc. System for selectively synchronizing high-assurance software tasks on multiple processors at a software routine level
US8190877B2 (en) * 2005-07-05 2012-05-29 Viasat, Inc. Trusted cryptographic processor
US7669073B2 (en) * 2005-08-19 2010-02-23 Stratus Technologies Bermuda Ltd. Systems and methods for split mode operation of fault-tolerant computer systems
PL1764694T3 (pl) * 2005-09-16 2008-12-31 Siemens Transportation Systems Sposób i układ kontroli nadmiarowej komputerów zapewniających bezpieczeństwo
WO2007123753A2 (en) 2006-03-30 2007-11-01 Invensys Systems, Inc. Digital data processing apparatus and methods for improving plant performance
US20080016062A1 (en) * 2006-06-30 2008-01-17 Drescher Keith A Request-response trigger generation in link-connected computing systems
US8307416B2 (en) * 2007-01-03 2012-11-06 Texas Instruments Incorporated Data structures for use in firewalls
JP5350677B2 (ja) * 2008-05-19 2013-11-27 株式会社東芝 バス信号制御回路、及び、バス信号制御回路を備えた信号処理回路
US9180238B2 (en) 2008-06-11 2015-11-10 Baxter International Inc. Distributed processing system and method for dialysis machines
CN104407518B (zh) 2008-06-20 2017-05-31 因文西斯系统公司 对用于过程控制的实际和仿真设施进行交互的系统和方法
IT1391785B1 (it) * 2008-11-21 2012-01-27 St Microelectronics Srl Sistema elettronico per il rilevamento di un guasto
US8127060B2 (en) 2009-05-29 2012-02-28 Invensys Systems, Inc Methods and apparatus for control configuration with control objects that are fieldbus protocol-aware
US8463964B2 (en) 2009-05-29 2013-06-11 Invensys Systems, Inc. Methods and apparatus for control configuration with enhanced change-tracking
US20140164851A1 (en) * 2011-11-04 2014-06-12 Simon Pelly Fault Processing in a System
KR101990971B1 (ko) * 2012-01-30 2019-06-19 삼성전자 주식회사 메모리, 메모리 시스템, 및 메모리에 대한 에러 검출/정정 방법
US9684464B2 (en) * 2012-11-30 2017-06-20 Chuo University Semiconductor storage device and control method for same
DE102014101945A1 (de) * 2013-12-23 2015-06-25 Endress + Hauser Gmbh + Co. Kg Messumformer mit Überwachungsfunktion
DE102015200801A1 (de) * 2015-01-20 2016-07-21 Continental Teves Ag & Co. Ohg Elektronische Steuerungsvorrichtung
CN116206744A (zh) 2015-06-25 2023-06-02 甘布罗伦迪亚股份公司 具有分布式数据库的医疗装置系统和方法
US10002056B2 (en) 2015-09-15 2018-06-19 Texas Instruments Incorporated Integrated circuit chip with cores asymmetrically oriented with respect to each other
FR3108994A1 (fr) 2020-04-07 2021-10-08 Airbus Operations Procédé et système de synchronisation de calculateurs.
US11748183B2 (en) * 2020-10-11 2023-09-05 Textron Innovations Inc. Reasonableness monitor

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5627465A (en) * 1979-08-09 1981-03-17 Toshiba Corp Electronic computer system output system
JPS5931738A (ja) * 1982-08-17 1984-02-20 Ono Pharmaceut Co Ltd グリセリン誘導体、その製造方法及びその誘導体を含有する薬剤
JPS59223857A (ja) * 1983-06-03 1984-12-15 Nec Corp エラ−デ−タ切捨回路
JPS60262232A (ja) * 1984-06-08 1985-12-25 Nippon Gakki Seizo Kk 同期回路システム
JPS61150041A (ja) * 1984-12-24 1986-07-08 Nec Corp 二重化情報処理システム

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2182259A5 (ja) * 1972-04-24 1973-12-07 Cii
JPS5623345B2 (ja) * 1972-07-08 1981-05-30
US3898621A (en) * 1973-04-06 1975-08-05 Gte Automatic Electric Lab Inc Data processor system diagnostic arrangement
US4099241A (en) * 1973-10-30 1978-07-04 Telefonaktiebolaget L M Ericsson Apparatus for facilitating a cooperation between an executive computer and a reserve computer
US4031372A (en) * 1973-11-06 1977-06-21 Westinghouse Electric Corporation System for manually or automatically transferring control between computers without power generation disturbance in an electric power plant or steam turbine operated by a multiple computer control system
CH623669A5 (ja) * 1973-11-14 1981-06-15 Agie Ag Ind Elektronik
IT1014277B (it) * 1974-06-03 1977-04-20 Cselt Centro Studi Lab Telecom Sistema di controllo di elaboratori di processo operanti in parallelo
US4099234A (en) * 1976-11-15 1978-07-04 Honeywell Information Systems Inc. Input/output processing system utilizing locked processors
SE397013B (sv) * 1976-12-17 1977-10-10 Ellemtel Utvecklings Ab Sett och anordning for att overfora datainformationer till tva parallellt arbetande datamaskindelar
JPS589976B2 (ja) * 1977-03-17 1983-02-23 株式会社東芝 演算制御装置
US4358823A (en) * 1977-03-25 1982-11-09 Trw, Inc. Double redundant processor
US4141066A (en) * 1977-09-13 1979-02-20 Honeywell Inc. Process control system with backup process controller
US4153318A (en) * 1977-10-17 1979-05-08 Square D Company Bus stab for panelboard assembly
JPS6016664B2 (ja) * 1977-10-28 1985-04-26 豊田工機株式会社 デ−タ転送装置
DE2813383A1 (de) * 1978-03-28 1979-10-11 Siemens Ag Datensende/-empfangs-einrichtung mit parallel/seriell- und seriell/parallel- zeichen-umsetzung, insbesondere zum datenaustausch zwischen kommunizierenden datenverarbeitungsanlagen
GB2019622B (en) * 1978-04-14 1982-04-07 Lucas Industries Ltd Digital computing apparatus
US4200226A (en) * 1978-07-12 1980-04-29 Euteco S.P.A. Parallel multiprocessing system for an industrial plant
US4270168A (en) * 1978-08-31 1981-05-26 United Technologies Corporation Selective disablement in fail-operational, fail-safe multi-computer control system
US4268902A (en) * 1978-10-23 1981-05-19 International Business Machines Corporation Maintenance interface for a service processor-central processing unit computer system
JPS55106976A (en) * 1979-02-02 1980-08-16 Hitachi Ltd Controller for elevator
US4245344A (en) * 1979-04-02 1981-01-13 Rockwell International Corporation Processing system with dual buses
US4377843A (en) * 1979-04-19 1983-03-22 Wescom Switching, Inc. Data distribution interface
DE2920994A1 (de) * 1979-05-23 1980-11-27 Siemens Ag Datensende/-empfangseinrichtung mit parallel/seriell- und seriell/parallel- zeichenumsetzung, insbesondere zum datenaustausch zwischen kommunizierenden datenverarbeitungsanlagen
DE3003291C2 (de) * 1980-01-30 1983-02-24 Siemens AG, 1000 Berlin und 8000 München Zweikanalige Datenverarbeitungsanordnung für Eisenbahnsicherungszwecke
US4321666A (en) * 1980-02-05 1982-03-23 The Bendix Corporation Fault handler for a multiple computer system
US4365293A (en) * 1980-03-28 1982-12-21 Pitney Bowes Inc. Serial communications bus for remote terminals
JPS5720847A (en) * 1980-07-11 1982-02-03 Hitachi Ltd Computer system
US4371754A (en) * 1980-11-19 1983-02-01 Rockwell International Corporation Automatic fault recovery system for a multiple processor telecommunications switching control
US4597084A (en) * 1981-10-01 1986-06-24 Stratus Computer, Inc. Computer memory apparatus
US4486826A (en) * 1981-10-01 1984-12-04 Stratus Computer, Inc. Computer peripheral control apparatus
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
US4541094A (en) * 1983-03-21 1985-09-10 Sequoia Systems, Inc. Self-checking computer circuitry
DE3328405A1 (de) * 1983-08-05 1985-02-21 Siemens AG, 1000 Berlin und 8000 München Steuerorgane eines fehlertoleranten mehrrechnersystems
JPH063587B2 (ja) * 1983-08-16 1994-01-12 日本電気株式会社 2重化マイクロプロセッサの同期運転方式
US4610013A (en) * 1983-11-08 1986-09-02 Avco Corporation Remote multiplexer terminal with redundant central processor units
US4569017A (en) * 1983-12-22 1986-02-04 Gte Automatic Electric Incorporated Duplex central processing unit synchronization circuit
DE3486257T2 (de) * 1984-01-09 1994-04-21 Hitachi Ltd Synchrones dezentralisiertes Verarbeitungssystem.
US4589066A (en) * 1984-05-31 1986-05-13 General Electric Company Fault tolerant, frame synchronization for multiple processor systems
US4751702A (en) * 1986-02-10 1988-06-14 International Business Machines Corporation Improving availability of a restartable staged storage data base system that uses logging facilities

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5627465A (en) * 1979-08-09 1981-03-17 Toshiba Corp Electronic computer system output system
JPS5931738A (ja) * 1982-08-17 1984-02-20 Ono Pharmaceut Co Ltd グリセリン誘導体、その製造方法及びその誘導体を含有する薬剤
JPS59223857A (ja) * 1983-06-03 1984-12-15 Nec Corp エラ−デ−タ切捨回路
JPS60262232A (ja) * 1984-06-08 1985-12-25 Nippon Gakki Seizo Kk 同期回路システム
JPS61150041A (ja) * 1984-12-24 1986-07-08 Nec Corp 二重化情報処理システム

Also Published As

Publication number Publication date
CA1306546C (en) 1992-08-18
US5255367A (en) 1993-10-19
EP0315303A3 (en) 1990-09-26
JPH01154242A (ja) 1989-06-16
US5005174A (en) 1991-04-02
EP0315303A2 (en) 1989-05-10
EP0306211A3 (en) 1990-09-26
EP0306211A2 (en) 1989-03-08

Similar Documents

Publication Publication Date Title
JPH01154241A (ja) 同期二重コンピュータシステム
US4907228A (en) Dual-rail processor with error checking at single rail interfaces
EP0306244B1 (en) Fault tolerant computer system with fault isolation
US5249187A (en) Dual rail processors with error checking on I/O reads
US4916704A (en) Interface of non-fault tolerant components to fault tolerant system
US5068851A (en) Apparatus and method for documenting faults in computing modules
US5185877A (en) Protocol for transfer of DMA data
US5153881A (en) Method of handling errors in software
EP0415545B1 (en) Method of handling errors in software
US5251227A (en) Targeted resets in a data processor including a trace memory to store transactions
US5065312A (en) Method of converting unique data to system data
US5048022A (en) Memory device with transfer of ECC signals on time division multiplexed bidirectional lines
EP0415552B1 (en) Protocol for read and write transfers
EP0411805B1 (en) Bulk memory transfer during resync
EP0416732B1 (en) Targeted resets in a data processor
JPH03184155A (ja) 非存在メモリエラー処理の方法