JPH01152543A - 欠陥分離及び修理機能を有する耐欠陥コンピュータシステム - Google Patents

欠陥分離及び修理機能を有する耐欠陥コンピュータシステム

Info

Publication number
JPH01152543A
JPH01152543A JP63222172A JP22217288A JPH01152543A JP H01152543 A JPH01152543 A JP H01152543A JP 63222172 A JP63222172 A JP 63222172A JP 22217288 A JP22217288 A JP 22217288A JP H01152543 A JPH01152543 A JP H01152543A
Authority
JP
Japan
Prior art keywords
data
defect
error
storage means
memory
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
JP63222172A
Other languages
English (en)
Inventor
William F Bruckert
ウィリアム エフ ブルッカート
Thomas D Bissett
トーマル ディー ビセット
Dennis Mazur
デニス メイザー
John Munzer
ジョン ムンザー
Frank Bernaby
フランク バーナビー
Jay H Bhatia
ジェイ エイチ バーティア
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 JPH01152543A publication Critical patent/JPH01152543A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate 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
    • 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/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/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
    • 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/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2097Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
    • 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/845Systems in which the redundancy can be transformed in increased performance

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、耐欠陥マルチプロセッサコンピュータシステ
ムを形成する方法及びシステムに係る。
従来の技術 データ処理が中断されないことが重要であるようなコン
ピュータシステムの用途は多数ある。
このような用途としては、例えば、ファイナンスの業界
、原子カプラントのような厳密な工業設備、そして一般
には、コンピュータシステムの欠陥によって重大な破壊
を招く場合が挙げられる。
耐欠陥コンピュータシステムは、成る欠陥が生じてもデ
ータ処理を継続できるように複数のシステム又はシステ
ム部品を備えた色々な程度の冗長度で形成されている。
耐欠陥コンピュータシステムを得るために多数の解決策
が利用されている。
1つの解決策においては、各々がそれ自身のメモリを有
した多数のマルチプロセッサが別々のタスクを実行する
。別の解決策においては、多数のマルチプロセッサが共
通のメモリを共有し、別々のタスクを実行する。更に別
の解決策は、各々それ自身のメモリを有する2つ以上の
マイクロプロセッサを使用してこれらが同じタスクを一
緒に行うようにすることである。更に別の解決策は、共
通のメモリを共有する2つ以上のマルチプロセッサを用
いて同じタスクを一緒に行うようにすることである。
上記の4つの解決策を組み合わせて使用する耐欠陥コン
ピュータシステムも考えられる。1つの公知の耐欠陥コ
ンピュータシステムにおいては、4つの中央処理ユニッ
トが使用され、そのうちの2つは第1のボードにおいて
デユープレックス形態で作動しそして他の2つは第2の
ボードにおいてデユープレックス形態で作動する。各ボ
ードからの出力が等しいとき及び等しくないときを検出
するために比較器が使用される。これらが等しくないこ
とが比較器によって検出された場合には、欠陥ボードが
自動的に停止され、その後、他のボードによって出力が
与えられる。
発明が解決しようとする課題 公知の耐欠陥コンピュータシステムは、種々の程度の耐
欠陥特性を与えるが、その本来の目的を満たさず、然も
、本発明によってもたらされるような効果も与えない。
そこで、本発明の目的は、通常同時に動作する二重のコ
ンピュータシステムを有した耐欠陥コンピュータ方法及
びシステムを提供することである。このような二重構成
は、単一欠陥点が生じないように確保し、一方のシステ
ムのエラー又は欠陥によって全コンピュータシステムが
作動不能にならないようにする。更に、このような欠陥
は、全て、エラーを生じさせたモジュール又は素子を作
動不能にするか又は無視することによって修正すること
ができる。
本発明の更に別の目的及び効果は、以下の説明にその一
部分が記載されていると共に、以下の説明からその一部
分が明らかであろうし、又、本発明を実施することによ
って学び取ることができよう。本発明の目的及び効果は
、特許請求の範囲に特に指摘する方法、装置及びその組
み合わせによって実現されそして達成されるであろう。
課題を解決するための手段 これら及び他の目的を達成するために、以下で述べるよ
うに実施される本発明によれば、中央処理システムを具
備し、これは、少なくとも1組のデータ通路と、該複数
のデータ通路に沿ってメツセージを転送することを含む
一連のデータ処理命令を実行する手段とを備えており、
更に、上記少なくとも1組のデータ通路に接続され、上
記少なくとも1組のデータ通路を経て最も最近転送され
た所定数の連続するメツセージを記憶するための少なく
とも1組のトランザクションデータ記憶手段を具備し、
更に、上記中央処理システムにおけるエラーの存在を検
出するためのエラーチエ−ツク手段を具備し、そして更
に、上記少なくとも1組のトランザクションデータ記憶
手段及び上記エラーチェック手段に接続され、上記エラ
ーチェック手段によるエラーの検出に応答して上記少な
くとも1組のトランザクションデータ記憶手段がそれ以
上のメツセージの記憶を停止するようにさせるエラー記
憶手段を具備したことを特徴とする耐欠陥コンピュータ
システムが提供される。
本発明の1つの特徴は、上記エラーチェック手段による
エラーの検出に応答して上記少なくとも1組のトランザ
クションデータ記憶手段からデータを収集する手段を具
備した耐欠陥コンピュータシステムを提供することであ
る。
本発明の更に別の特徴は、上記少なくとも1組のトラン
ザクションデータ記憶手段において所与の記憶レベルに
記憶されたデータを比較するための手段と、上記少なく
とも1組のトランザクションデータ記憶手段に記憶され
たデータの比較に応答して、任意の記憶深さに記憶され
たデータの比較により上記少なくとも1組のトランザク
ションデータ記憶手段を欠陥が通過しなかったことが指
示されたときに上記少なくとも1組のデータ通路の一部
分を分離するための手段とを具備した耐欠陥コンピュー
タシステムを提供することである。
本発明の更に別の特徴は、第1の中央処理システムを具
備し、これは、少なくとも1組の第1データ通路と、該
少なくとも1組の第1データ通路に沿ってメツセージを
転送することを含む一連のデータ処理命令を実行する第
1手段とを備えており、更に、第2の中央処理システム
を具備し、これは、少なくとも1組の第2データ通路と
、該少なくとも1組の第2データ通路に沿ってメツセー
ジを転送することを含む上記一連のデータ処理命令を実
行する第2手段とを備えており、更に、上記第1及び第
2の中央処理システムに接続されて、これら第1及び第
2の中央処理システムによる上記一連のデータ処理命令
の実行を同期状態に維持する同期手段を具備し、更に、
上記第1と第2の中央処理システムの間でクロスリンク
通路を経てメツセージを転送するためのクロスリンク通
信手段を具備し、更に、上記少なくとも1組の第1デー
タ通路及び少なくとも1組の第2データ通路と上記クロ
スリンク通路とに接続され、上記組の第1及び第2のデ
ータ通路及び上記クロスリンク通路を経て最も最近転送
された所定数の連続するメツセージを記憶するためのト
ランザクションデータ記憶手段を具備し、更に、上記第
1及び第2の中央処理システムにおけるエラーの存在を
検出するためのエラーチェック手段を具備し、そして上
記トランザクションデータ記憶手段及び上記エラーチェ
ック手段に接続され、上記エラーチェック手段によるエ
ラーの検出に応答して上記トランザクションデータ記憶
手段がそれ以上のメツセージの記憶を停止するようにさ
せるエラー記憶手段を具備することを特徴とする耐欠陥
コンピュータシステムを提供することである。
上記の耐欠陥コンピュータシステムは、上記トランザク
ションデータ記憶手段において所与の記憶レベルに記憶
されたデータを比較するための手段と、上記トランザク
ションデータ記憶手段に記憶されたデータの比較に応答
して、任意の記憶深さに記憶されたデータの比較により
上記トランザクションデータ記憶手段を欠陥が通過しな
かったことが指示されたときに上記組のデータ通路の一
部分を分離するための手段とを具備している。
本発明の耐欠陥コンピュータシステムの他の特徴におい
て、トランザクションデータ記憶手段は複数の円形バッ
ファを備えている。
本発明の別の特徴は、トランザクションデータ記憶手段
に接続されて、上記エラーチェック手段によるエラーの
検出の後に上記トランザクションデータ記憶手段に記憶
されたメツセージを収集する診断プロセッサを提供する
ことである。
本明廁書に含まれてその一部分を構成する添付図面は、
本発明の一実施例を示すもので、これを参照しながら本
発明の詳細な説明する。
実施例 以下、添付図面を参照し、本発明の好ましい実施例を詳
細に説明する。
A、システムの説明 第1図は、本発明の目的を達成する耐欠陥コンピュータ
システム10のブロック図である。この耐欠陥コンピュ
ータシステム10は、ゾーン又はステージ目ンと称する
二重のシステムを含んでいる。通常のモードにおいては
、これらゾーンが同時に作動する。この二重構成では、
単一欠陥点が生じないように確保すると共に、一方のゾ
ーンのエラー又は欠陥によってコンピュータシステム1
0が作動不能にならないようにする。更に、このような
全ての欠陥は、その欠陥を生じたモジュール又は素子を
作動不能にするか又は無視することによって修正するこ
とができる。2つのゾーン11及び11′が二重の処理
システム20及び20′を含むものとして第1図に示さ
れている。然し乍ら、二重性は処理システムの範囲を越
える。
第2図は、耐欠陥コンピュータシステム10の物理的な
ハードウェアを示していると共にシステムの二重性を示
している。各ゾーン11及び11′は、各々、別々のキ
ャビネット12及び121に収容される。キャビネット
12は、バッテリ13と、電力レギュレータ14と、冷
却ファン16と、交流入力17とを備えている。キャビ
ネット12′は、キャビネット12の要素12−14.
16及び17に対応する別々の要素を備えている。
以下で詳細に述べるように、処理システム20及び20
′は、バックプレーンによって相互接続された多数のモ
ジュールを備えている。成るモジュールが欠陥又はエラ
ーを含んでいる場合には。
コンピュータシステム10を作動不能にすることなくそ
のモジュールを取外して交換することができる。これは
、処理システム20及び201が物理的に別々のもので
あって、別々のバックプレーンを有しており、これらバ
ックプレーンにモジュールを差し込んで互いに独立して
動作させることができるからである。従って、一方の処
理システムが動作を続けている間に他方の処理システム
のバックプレーンからモジュールを取り外したり差し込
んだりすることができる。
二重の処理システム20及び20′は同一のものであっ
て、同一のモジュールを含んでいる。
従って、処理システム20についてのみ完全に説明すれ
ば、処理システム20’が同等に動作することが理解さ
れよう。
処理システム2oは、第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′は、同一の構成にされ、同
じ入力を受け、それ故、同じ状態を通る。
従って、両方のプロセッサが同期して動作する限りこれ
らプロセッサが同じ結果を与えそして同じ状態に入らな
ければならない。処理システムが同じ状態にないか又は
異なった結果を与える場合には、処理システム20及び
20′の一方に欠陥が生じたと仮定される。修正処置を
とるためには欠陥源を分離し、例えば、欠陥モジュール
を動作不能にしなければならない。
エラー検出には、一般に、付加的な処理時間又は論理の
形態のオーバーヘッドが含まれる。このようなオーバー
ヘッドを最小にするためには。
耐欠陥動作に適合するようにできるだけ頻繁にならない
ようにシステムがエラーをチエツクしなければならない
、CPUモジュール30及び30′からデータが出力さ
れる前に行うエラーチェックは非常に僅かでなければな
らない。さもなくば、原子炉の場合と同様に内部の処理
エラーによって外部のシステムに不適切な動作が生じ、
このような状態を防止するように耐欠陥システムが設計
されている。
付加的なエラーチェックを行う理由は幾つかある。例え
ば、欠陥又はエラーを分離するためには、CPUモジュ
ール30及び30′によって受は取ったデータを記憶又
は使用の前にチエツクすることが望ましい。さもなくば
、エラーのある記憶データが後でアクセスされて付加的
なエラーが生じたときには、エラーの発生源を見つける
ことが困難もしくは不可能となる。これは、特に、エラ
ーのあるデータがいつの間にか記憶された場合にいえる
ことである。時間がたったりエラーデータが後で処理さ
れたときにはエラー発生源への追跡動作が破壊される。
エラーが検出される前に記憶される時間の長さを表わす
「エラー待ち時間」も後で問題を生じさせる。例えば、
めったに使用しないルーチンは。
コンピュータシステムが手前のエラーによって減少した
容量で既に動作しているときには待ち時間エラーをカバ
ーしない。コンピュータシステムの容量が減少したとき
には、待ち時間エラーによってシステムがクラッシュす
る。
更に、二重レールシステムである処理システム20及び
20′においては、メモリのような共有リソースのごと
き単一レールシステムにデータを転送する前にエラーを
チエツクすることが所望される。というのは、このよう
な転送の後には2つの独立したデータリソースがもはや
なく、単一レールシステムのエラーが後で検出された場
合には、エラーの追跡が不可能ではないまでも困難にな
るからである。
C,モジュールの説明 1、CPUモジュール 第1図に示されたCPUモジュール30の要素が第3図
及び第4図に詳細に示されている。第3図はCPUモジ
ュールのブロック図であり、第4図はCPUモジ:L−
/L/30、工10モジュール100及びそれらの相互
接続部のブロック図である。CPUモジュール30及び
30’に含まれた要素及びその動作は同じであるから、
CPUモジュール30についてのみ説明する。
CPUモジュール30は、二重のCPU40及び50を
含んでいる。これらCPU40及び5Oは、当業者に知
られている標準的な中央処理ユニットである。ここに述
べる好ましい実施例では、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を各
々システムサポート・キャッシュ制御モジュール52及
び42に接続する。
2、メモリモジュール CPU40及び50は、4つまでのメモリモジュール6
0を共有できるのが好ましい。第5図は1つのメモリモ
ジュール60のブロック図であり、そして第6図はモジ
ュール60の特定のメモリ要素を示す詳細図である。
メモリモジュール60は、−次メモリ制御器70から3
2ビット両方向メモリバス85を経てデータを受は取る
。又、メモリモジュール6oは、メモリ制御器70及び
75から各々バス80及び82を経てアドレス/制御信
号も受は取る。バス80及び82は1行及び列のアドレ
ス信号と、タイミング及び制御信号、例えば、RAS 
(行アドレスストローブ)、CAS (列アドレススト
ローブ)、WE(書き込みイネーブル)及びリフレッシ
ュ信号とを含んでいる。
第5図に示すように、メモリモジュール60はメモリア
レイ600を含んでいる。このメモリアレイ600は、
行及び列アドレスによってアドレスできる標準的なRA
Mであるのが好ましい。
好ましい実施例では、メモリアレイ600は、メモリを
8バンクまで含むことができる。
制御論理回路610は、アドレス及びメモリ制御信号を
伝送しそしてタイミング及び内部制御信号を発生する。
第6図に詳細に示されたように、制御論理回路610は
、−次制御信号デマルチプレクサ612と、ミラー制御
信号デマルチプレクサ614と、−次制御信号ドライバ
616と、システムタイミング制御信号発生器618と
を備えている。−次制御信号デマルチプレクサ612は
、−次ボードアドレス及び−次パンクアドレス信号及び
−次RAS、CAS%WE及びリフレッシュ信号を一次
メモリ制御器70から受は取る。−次ボードアドレス信
号が特定のボードを識別する場合には、そのボードがア
クティブとなり、そのボードのデマルチプレクサ612
は、RAS、CAS、リフレッシュ及び3ビツトのバン
クアドレス信号から2組の8個の制御信号を発生する。
これら8個の制御信号は、−次制御信号ドライバ616
からの8個のPRAS (−次RAS)及び8個のPC
AS (−次CAS)信号となる。ドライバ616は、
これらの信号をブーストして種々のメモリバンクを駆動
する。アクティブなメモリボードについては、デマルチ
プレクサ612は、WE倍信号デマルチプレクスしてそ
の4つのコピーを形成し、これらはドライバ616によ
ってブーストされて4つのPWE (−次WE)信号が
形成される。リフレッシュ動作中には、全てのボードが
アクティブとなる。
ミラー制御信号デマルチプレクサ614は、ミラー信号
に対して等しく動作する。ミラー信号は別々のボードに
供給されず、エラー検出に使用されるだけであるから、
ドライバを必要としない。
システムタイミング/制御信号発生器618は、4種類
の入力、即ちクロッ信号と、書き込み、読み取り及びリ
フレッシュタイミングのようなメモリサイクル信号と、
当業者に良く知られた幾つかの他のシステム制御信号と
、アドレスビット29とを受は取る。アドレスビット2
9は、アドレス信号がメモリスペース(即ち、メモリア
レイ600)へのアクセスを識別するか又はI10スペ
ース(I10装置又はシステムレジスタの1つ)へのア
クセスを識別するかを決定する。システムタイミング制
御信号発生器618は、以下に述べるメモリモジュール
60の他の要素の整合及びタイミングを制御する。
第5図に示された構成エラー論理回路620は、メモリ
モジュール60の動作中に検出されたエラーに関連した
情報を記憶する。特に、比較論理回路630によってエ
ラーが検出された場合には、構成エラー論理回路620
は、その欠陥アドレス及び/又はデータを識別するに必
要な情報を記憶する。然し乍ら、比較論理回路630は
、制御及びアドレス信号をチエツクするだけで、メモリ
データ信号はチエツクしない。
メモリデータ信号はエラー検出コード(EDC)を用い
てチエツクされる。好ましい実施例では、メモリ制御器
70及び75によって必要とされるものと同じコードを
使用し、これは、単一ビット修正、二重ビット検出、エ
ラー修正コード(FCC)であるのが好ましい。
第6図に示されたように、構成エラー論理回路620は
、エラー処理論理回路625及びEEPROM626を
備えている。エラー処理論理回路625は、エラーカウ
ンタと、制御論理回路と。
4つの記憶レジスタ(1つは一次アドレス用、1つは二
次アドレス用、1つはECC用そして1つはデータワー
ド用)とを備えている。論理回路625は、以下で詳細
に述べる比較論理回路630の出力からエラー信号を発
生する。好ましくは、エラー状態が検出されたときに、
カウンタが増加し、論理回路625のレジスタが一次及
びそのミラーメモリアドレスと、FCCと、それに関連
したデータワードとを記憶する。何等かの形式のNVR
AM (不揮発性RAM) であるEEPROM626
は、オフライン診断に対してメモリエラーデータを記憶
する。メモリモジュールに欠陥が生じた後にこのモジュ
ールが取り外されたときには、欠陥の原因を判断するた
めにEEPROM626から記憶されたデータが取り出
される。
比較論理回路630は、−次メモリ制御器70からのF
CC1制御及びアドレス信号をミラーメモリ制御器75
からの信号と比較することによりエラー検出を行い、こ
れら信号が互いに等しくないことを検出する。比較論理
回路630は、第6図に詳細に示されており、行及び列
アドレスメモリドライバ632、アドレス比較器634
、制御信号比較器636、FCC信号比較器638、デ
ータ及びECCトランシーバ640、及びECC発生器
642を備えている。
行及び列アドレスメモリドライバ632は、11ビツト
の行及び列アドレス信号を受は取って各信号の4つのコ
ピーを発生し、メモリアレイ600の全てのメモリバン
クに対して充分な信号強度を与える。
各々の一次行及び列アドレス信号の4つのコピーは、ミ
ラー行及び列アドレス信号と同様に。
アドレス比較器634へ入力される。メモリモジュール
60の好ましい実施例においては、行及び列の両方のア
ドレスが11ビツトの長さであり、交互のサイクルにバ
ス80及び82を経て送信される。従って、各メモリア
ドレスごとに、2つの比較が順次行われる。
アドレス比較器634は、別々の信号に各々対応する1
1個の5人力排他的オアゲート回路を用いて44個の一
次行及び列アドレス信号と11個のミラー行及び列アド
レス信号を同時に比較する。排他的オアゲート回路は、
いずれかの入力が異なる場合にそれらの出力をイネーブ
ルする。同様に、アドレス比較器634は、−次ボード
アドレス信号とミラーボードアドレス信号を比較すると
共に、−次バンクアドレス信号とミラーバンクアドレス
信号を比較する。これら全ての信号は、デマルチプレク
サ612及び614へも入力される。
システムタイミング及び制御信号発生器618は、入力
信号が安定したときに比較を行うようにするためにアド
レス比較器634のタイミングを制御する。比較の結果
は、エラー処理及び制御論理回路625へ入力される。
アドレス比較器634がいずれかの対応する信号が互い
に異なることが分かった場合には、回路625がエラー
を指示し、アドレス/制御エラー信号762をメモリ制
御器7o及び80に送ることによって適当な処置をとる
制御信号比較器636は、アドレス信号比較器634と
同様に動作する。制御信号比較器636は、PRAS信
号とMRAS信号を比較し、PCAS信号とMCAS信
号を比較し、PWE信号とMWE信号を比較しそして一
次リフレッシュ信号とミラーリフレッシュ信号を比較す
る。制御信号比較器636は、アドレス比較器634と
はゾ同様にタイミングとりされ、比較エラーが指示され
たときに、エラー処理及び制御論理回路625はエラー
を指示し、アドレス/制御エラー信号をメモリ制御器7
0及び75に送信する。
FCC比較回路638は、比較器634及び636とは
若干具なった動作をする。書き込み動作の場合、ECC
比較器638は、データ及びECCトランシーバ640
から7ビツトの一次FCCデータを受は取る。トランシ
ーバ640はメモリアレイ600に対するデータ及びE
CC信号をバッファする。次いで、ECC比較器638
は、トランシーバ640からのECC信号と、トランシ
ーバ640の出力の32ビット−次データ信号からEC
C発生器642によって形成されたECC信号とを比較
する。
又、ECC比較器638は、ミラーメモリ制御器75か
ら受は取ったミラーECC信号と、−次メモリ制御器7
0から受は取った一次制御信号とを比較する。いずれか
のFCC比較によって2つの信号が等しくないことが指
示された場合には、エラー処理及び制御論理回路625
がエラーを指示し、FCCエラー信号752をメモリ制
御器70及び75に送信する。比較器634及び636
の場合と同様に、ECC比較器638は、入力信号が安
定したときに比較が行われるようにタイミングどりされ
る。
読み取り動作の場合には、32ビツトデータ及び7ビツ
トFCCがメモリアレイ600から読み取られる。更に
、ECC発生器642は、ECC比較器638がメモリ
アレイ600からの7ビツトECCと比較するところの
32ビツトデータから7ビツトFCCを発生する。又、
ECC比較器638は、入力信号が安定したときに比較
が行われるようにタイミングとりされる。2つの信号が
等しくない場合には、エラー処理及び制御論理回路62
5がエラーを指示し、FCCエラー信号752をメモリ
制御器70及び75へ送信する。
前記したように、エラー処理論理回路625は、読み取
り動作中に生じる第1ECCエラーの一次及びミラーア
ドレスをセーブする。論理回路625内のカウンタのE
CCエラーカウントは、これが最初に発生する場合に1
にセットされる。
その後にFCC読み取りエラーが生じると、メモリモジ
ュール60内のECCエラーカウントが増加される。C
PU40及び50は、メモリモジュールに記憶されたア
ドレス及びカウント情報を通常の診断テストの一部分と
して周期的にポーリングする。ポーリングプロセスの一
部分によりこれらレジスタがクリアされ、FCCエラー
のある次のアドレスをトラップできるようにする。CP
U40及び50が修正されたデータをトラップされたア
ドレスに書き込むときには、メモリアレイ600からの
これら「ソフトエラー」が修正される。
3、蓋至四級鼠塁 前記したように、メモリモジュール6oは、メモリへの
データ信号の比較は行わない、−次及びミラーメモリ制
御器70及び75がこのような比較を行う、メモリ制御
器70及び75は、各々、メモリモジュール60へのC
PU40及び50のアクセスを制御する。−次メモリ制
御器70が第7図に詳細に示されており、ミラーメモリ
制御器75が第8図に詳細に示されている。これらメモ
リ制御器70及び75は第7図及び第8図では若干具な
って示されているが、融通性を得るためにはこれらが同
一であるのが好ましい。これらの図面は説明を簡略化す
るために別々に示されている。
第7図に示すように、−次制御及びアドレスラインは一
次メモリ制御器70を通してメモリモジュール60へ直
結されている。メモリ相互接続部80の一次制御信号は
、READ及びWRITEといった必要な全てのタイミ
ング及び内部制御信号を形成するために回路(図示せず
)によって処理され、デコードされる。
データライン70は、書き込み動作中に書き込みバッフ
ァ715及び720を経てメモリ相互接続部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をチエツクして、
エラーを検出する。又1回路735は単一ビットエラー
を修正し、修正したデータを読み取りバッファ740を
経て送信する。ECCチエツク/修正回路735がエラ
ーを修正できないと判断した場合には、修正不能読み取
りエラー信号738をエラーラッチ750に送信し、該
ラッチはこの信号を記憶する。
エラーラッチ750への他の入力は、アンドゲート75
5から受は取ったECCエラー信号758である。アン
ドゲート755は、−次ECCエラー信号752(エラ
ー処″理及び制御論理回路625からの)及びWRIT
E信号を入力として受は取る。FCCチエツク/修正回
路は読み取り動作に対しエラーの検出及び修正を行うの
で、アンドゲート755は、書き込み動作中にのみ一次
FCCエラーを指示するように確保する。
エラーラッチ750への別の入力は、エラー処理及び制
御論理回路625からの一次アドレス/制御エラー信号
762である。エラーラッチ750への残りの入力はミ
ラー比較不一致信号768である。このミラー不一致信
号768は、−次メモリ制御器7o及びミラーメモリ制
御器75からメモリモジュール60へ送られた信号が互
いに不一致であることを比較器が検出したときにミラー
メモリ制御器75から受は取られる。
エラーラッチ750に記憶される信号は各々データビッ
トとして記憶される。これらのビットはオアゲート76
0へ入力され、該ゲートは、エラーラッチ750のいず
れかのビットがイネーブルされた場合に一次ミラーエラ
ー信号をイネーブルする。
ミラーメモリ制御器75が第8図に詳細に示されている
。ミラーアドレス及び制御信号82は、それに対応する
一次制御信号80が一次メモリ制御器70を通過したの
と同様にミラーメモリ制御器75に通されてデコードさ
れる。データライン711は書き込みバッファ716を
通して受は取られ、比較器765へ入力される。これら
のデータラインは、又、ECC発生器731へも入力さ
れ、該発生器はミラーFCC信号を発生する。ミラーF
CC信号は、書き込みバッファ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を経て受
は取られ1次いで、ECCチエツク/修正回路736へ
入力される。メモリモジュール60から受は取ったミラ
ーFCC信号は、読み取りバッファ749を経て受は取
られると共に、ECCチエツク/修正回路736にも入
力される。−次メモリ制御器70のECCチエツク/修
正回路735と同様に、FCCチエツク/修正回路73
6は、読み取りバッファ741を経てデータライン71
1にデータを出力する前に全ての単一ビットエラーを修
正する。ECCチエツク/修正回路736がエラーを修
正できない場合には、修正不能読み取りエラー信号73
9をイネーブルし、この信号は一次メモリ制御器70の
ラッチ750の場合と同様にエラーラッチ751に記憶
される。
又、エラーラッチ751は、アンドゲート756からの
ECCエラー信号759も記憶し、このアンドゲートは
、メモリモジュール60からのミラーメモリエラー信号
753とWRITE信号とを合成する。更に、エラーラ
ッチは、メモリエラーモジュール60のエラー処理論理
及び制御回路625からのミラーアドレス/制御エラー
信号763も記憶する。エラーラッチ751の出力はオ
アゲート761に入力される。オアゲート761は、エ
ラーラッチ751のいずれかのビットがイネーブルされ
た場合にミラーメモリエラー信号をイネーブルする。
処理システム20′は、内部的には二重レールシステム
である。一方のレールは、CPU40と、キャッシュメ
モリ42と、メモリ制御器7゜と、内部バス46とを備
えている。他方のレールは、CPU50と、キャッシュ
メモリ52と、メモリ制御器75と、内部バス56とを
備えている。
然し乍ら、メモリモジュール60は共有リソースである
。従って、メモリモジュール70及び75は、メモリモ
ジュール60に対しては二重レール−単一レールインタ
ーフェイスをなす。従って、本明細書のB節で述べた本
明i書の原理によれば、このインターフェイスにおいて
エラーチェックが与えられる。好ましい実施例において
は、このようなエラーチェックが2つの異なった技術を
含む。
先ず第1に、CPU50からメモリ制御器75へ送られ
るデータ信号はメモリモジュール60に書き込まれず、
CPU40からメモリ制御器70を経て送られるデータ
信号と比較される。メモリ制御器75はこの比較を行う
と共に、メモリモジュール60へ送られたデータに対し
てエラーチェックを行う。メモリモジュール60は、メ
モリ制御器70及び75からのアドレス、制御信号及び
ECCを比較し、不一致を検出する。第2のエラーチェ
ック技術は、メモリ制御器70及び75がメモリデータ
からそれ自身のECCを発生することを含む。
本発明の別の特徴は、単一ビットメモリエラーによって
システム欠陥を生じさせるのではなくてメモリ制御器7
0及び75により単一ビットメモリエラーを修正するこ
とである。この技術は、例えば、アルファ粒子が衝突す
ることにより通常生じる単一ビットメモリエラーを受は
入れる。このようなエラーを修正すると、システム欠陥
時間が減少され、単一の共有のメモリモジュールを使用
できるようにする。エラーの発生及び位置に注目するこ
とにより後で診断を行うことができる。
例えば、所定数以上のこのような修正可能なエラーを受
↓するメモリボードを交換することが所望される。
メモリモジュール60と、−次及びメモリ制御器70及
び75との間のインターフェイスが第7図及び第8図の
左側部分に一般的に示されている。第9図は、メモリ制
御器70と内部バス46及びクロスリンク90とのイン
ターフェイス回路770を示している。メモリ制御器7
5にも同じインターフェイス回路が含まれる。
インターフェイス回路770はDMAエンジン775に
も接続され、これは、メモリモジュール60への直接メ
モリアクセス経路のためのアドレス及びコマンド信号を
発生する。好ましくは従来設計のものであるDMAエン
ジン775の一般的な動作を詳細に理解することは1本
発明を理解する上で必要ではない。DMAエンジン77
5は、DMA転送のためのアドレスを有する1つのカウ
ンタと、転送回数の経過を保持するための別のカウンタ
とを含んでいる。各転送の後に、アドレスカウンタは増
加されそして転送回数カウンタは減少される。
DMAエンジン775の1つの重要な特徴は、対応する
CPUがDMAエンジン775の動作のだめのアドレス
信号及び制御信号を発生して受信データを適切な位置に
書き込めるようにすることである。従って、Ilo又は
周辺ユニットがエラーアドレスを発生することはない。
このようなエラーアドレスは、特にこのアドレスによっ
てI10データがシステム情報又は他のデータの上に書
き込まれるような場合には有害な影響をもたらす。
バッファ786は、CPU40から内部バス46を経て
データを受は取る。バッファ788はメモリ制御器70
からデータライン710を経てデータを受は取る。バッ
ファ790はクロスリンク90からデータを受は取る。
インターフェイス回路770においては、ドライバ78
0がその作動時に内部バス46及びCPU40へのデー
タ経路を与える。ドライバ780は、CPUがメモリモ
ジュール60を読み取るか又は工/○を読み取る間に作
動される。ドライバ780への入力を与えるマルチプレ
クサ792は、CPU40がメモリを読み取る場合には
バッファ788からの入力を、或いはCPU40がI/
○装置からデータを読み取る場合にはバッファ790か
らの入力を、内部バス4oのデータとして選択する。
ドライバ782は、メモリ制御器70へのデータ経路を
与え、CPUがメモリモジュール60へ書き込みするか
メモリモジュール60へDMA書き込みするか或いはメ
モリ再同期(スレーブ)動作をするために作動される。
メモリ再同期動作については以下で詳細に述べる。これ
らの動作は。
メモリモジュール6o及び60′の内容が互いに等しく
セットされるようにするために使用される。
メモリ再同期動作においては、データを受は取っている
モジュールが「スレーブ」となり、そしてデータを送信
しているモジュールが「マスター」となる、ドライバ7
82へ入力を与えるマルチプレクサ794は、実行され
ている動作がCPUのメモリ書き込みである場合にはバ
ッファ786からの入力を、或いは動作がDMA書き込
みであるかメモリ再同期(スレーブ)動作である場合に
はバッファ790からの入力をメモリモジュール60の
ためのデータとして選択する。
バッファ784はクロスリンク90へのデータ路を与え
、I10装置へ書き込みするかメモリのDMA読み取り
を行うか又はメモリ再同期(マスター)動作を行うよう
に作動される。バッファ784へ入力を与えるマルチプ
レクサ796は、動作がメモリのDMA読み取りである
場合にはバッファ788からの入力を、或いは動作がI
10装置へのCPU書き込みであるか又はメモリ再同期
(マスター)動作である場合にはバッファ786からの
入力をクロスリンク90のためのデータとして選択する
マルチプレクサ798及び799は、アドレス及び制御
信号を各々メモリ相互接続部80へ供給する1両方のマ
ルチプレクサ798及び799は、DMA又はメモリ再
同期(スレーブ)動作を伴わないメモリ動作に対しては
バッファ786の出力を、DMA動作に対してはDMA
エンジン775の出力を、或いはメモリ再同期(スレー
ブ)動作に対してはバッファ790の出力を、上記アド
レス及び制御信号のソースとして選択する。
4、クロスリンク メモリ再同期、DMA及びI10100ためのデータは
クロスリンク90及び95に通される。
一般に、クロスリンク90及び95は、CPUモジュー
ル30と、CPUモジュール30′と、工10モジュー
ル100.110.120と、I10モジュール100
’ 、110’ 、120’との間の通信を行う。クロ
スリンク90及び95は同じものであるから、クロスリ
ンク90の要素及び動作についてのみ説明する。
クロスリンク90は、第10図及び第11図に各々示さ
れた並列レジスタ及び直列レジスタを含んでいる。これ
ら画形式のレジスタは、本発明の好ましい実施例ではプ
ロセッサ間通信に使用される0通常の動作中には、プロ
セッサ20と20′が同期され、クロスリンク90/9
5及び90’795′の並列レジスタによって各々処理
システム20と20′との間でデータが並列に交換され
る。処理システム20及び20′が同期されないときに
は(ブートストラップ中に最も注目すべきことである)
、データが直列レジスタによって交換される。
第10図に示された並列レジスタは、クロスリンク診断
通信レジスタ901、セーブ状態レジスタ903、通信
レジスタ906及び状態レジスタ909を備えている。
並列レジスタのアドレスはI10スペース内にある。こ
のI10スペース内におり)でこれらのアドレスはシス
テムアドレススペース内にあるか又はゾーンアドレスス
ペース内にある。「システムアドレススペース」という
用語は、システム10全体にわたってアクセスでき、ひ
いては、両プロセッサ20及び20’によってアクセス
できるアドレスを意味する。「ゾーンアドレススペース
」という用語は、特定のクロスリンクを含むゾーンのみ
によってアクセスできるアドレスを意味する。
クロスリンクDCR(診断通信レジスタ)901は、ク
ロスリンク9o内に存在し、情報を交換すると共にゾー
ン11′からゾーン11内の診断機能を作用させること
のできる能力を有している。クロスリンクDC:R90
1は、次のように構成された32ビツトレジスタである
のが好ましい。
ビット    ■ 31     受信フラグ 30:24   [指定済み二全てOコ23:16  
 受信データ 15     送信フラグ 14:8    [指定済み:全て0]7;0    
送信データ クロスリンクは、両方のゾーンへの割込みを生じさせる
ことができると共に、他のゾーンによってデータを受は
取ったり当該ゾーンでデータを利用したりできるように
する。DCRは、I10モジュールがロックステップ状
態にあって且つクロスリンクがマスター/スレーブモー
ドにあるときしか使用できない。一方のゾーン、即ちマ
スターゾーンは、他方のゾーン、即ちスレーブゾーンの
I10装置を制御し、スレーブゾーンのクロスリンクは
通信に使用される。マスターゾーンのクロスリンクDC
Rは使用されない。発生される割込みは、スレーブゾー
ンのCPU及びマスターゾーンのCPUへ至る。各ゾー
ンは、データの送信及び受信に対して割込みを使用する
かポーリングを使用するかについてそれ自身の選択を行
う。
ゾーン11が全てのI10装置を制御する場合には、次
のようなシーケンスを経てゾーン11′に通知する。
1、ゾーン11′のクロスリンクDCRにビット23:
16を書き込む。
2、割込みをイネーブルする(ゾーン11’の並列状態
レジスタ909) 3、割込みのための待機 4、送信器の空き割込みは、ゾーン11′がゾーン11
′のクロスリンクDCRを読み取ったことを報告する。
5、受信器いっばい割込みは、ゾーン11′が応答する
ことを報告する。
ゾーン11′は、その直列状態レジスタを用いて、それ
自身の割込みを以下に述べるように設定する。その並列
状態レジスタ909は、クロスリンクがスレーブモード
にセットされたときには■/○装置と共にゾーン11に
与えられているので、使用することができない。
明らかなように、クロスリンクDCHのアドレスは、読
み取り及び書き込みに対しシステム及びゾーンアドレス
スペースの両方になければならない。特に、各ゾーンは
、それ自身のクロスリンクDCR(ゾーンアドレススペ
ース)及び他のゾーンのクロスリンクDCR(システム
アドレススペース)から個々に読み取ることができねば
ならない。同様に、各ゾーンは、それ自身及び他のゾー
ンのOCRに書き込みできねばならない。
セーブ状態レジスタ903は、処理システム20を再ブ
ートするための状態情報を含んでいる。
CPU40及び50は、このような情報をシステムアド
レススペースにおいてセーブ状態レジスタ903に書き
込む。というのは、同期動作中にデータがレジスタ90
3に記憶されるからである。
同期動作へと再ブートするためには、同じ状態情報をク
ロスリンク90及び95とクロスリンク90′及び95
′とに書き込みことが必要である。
ブートストラップは非同期な動作であるので、各CPU
40及び50は、それ自身のクロスリンクしかアクセス
しない。従って、状態レジスタ903はゾーンアドレス
スペースから読み取られる。
通信レジスタ906は、ゾーン間で交換されるべき独特
のデータを含んでいる。このようなデータは、通常は、
各ゾーンにとって独特のメモリソフトエラーカウントの
ような非同期データである。レジスタ906のデータが
独特であるから。
書き込みのための通信レジスタ906のアドレスは、ゾ
ーンアドレススペース内にある。アドレスがシステムス
ペースにある場合には、情報が両方のゾーンにおいて通
信レジスタへ書き込まれ、もはや独特ではなくなる。
然し乍ら、読み取りのための通信レジスタ906のアド
レスはシステムアドレススペース内にある。従って、同
期動作の間には、両方のゾーンが一方のゾーンから通信
レジスタを読み取れると同時に他方のゾーンから通信レ
ジスタを読み取ることができる。
状態レジスタ909は、クロスリンク9oに対して多数
の状態ビットを含んでいる。状態レジスタ909は、好
ましくは32ビット長さであり。
次のようなビット指定を有している。
4士  仏  臭味 31:14 0    [指定済みコ 13   1   割込みイネーブル(ビット1O−1
2)をセット 12    1    DCRバッファ空き割込みをイ
ネーブル11    1    DCR受信割込みをイ
ネーブル10    1    クロック位相エラー割
込みをイネーブル9     1    DCRバッフ
ァ空きフラグ。DCRが書き込まれるときには0にセッ
トそしてDCRが読み取られるときには1にセラi。
8     1    DCR受信いっばいフラグ。全
てのDCRが書き込まれるときには1にセットそしてO
CRが読み取られるときにはOにセット。
7:6   X   クロック位相エラービットはクロ
ック位相エラーの際にセットされそして直列状態レジス
タを通してリセットされる 4:3    oo   通常のバス動作(リードオン
リ)01  メモリ再同期スレーブ 10  メモリ再同期マスター 11  二重同期要求 に〇   〇〇  クロスリンクオフ(リードオンリ)
01  クロスリンクオンスレープ 1o  クロスリンクオンマスター メモリ再同期動作及びクロック位相エラーは。
以下で詳細に説明する。ビットO及び1によって識別さ
れるスレーブ、マスター及び二重モードは。
処理システム20と20’ との間のクロスリンク通信
の形式を示している。
「クロスリンクオフ」とは、並列クロスリンク910で
20と20′との間の通信が行えないときの状態を意味
する。このモードは、ゾーン間の同期をとらない。「ク
ロスリンクオンスレープ」とは、成るゾーンがそのモジ
ュールを他のゾーンに相互接続するために使用する状態
を意味する。
ゾーンAが「クロスリンクオンスレープ」である場合に
は、ゾーンBが「クロスリンクオンマスター」となる。
従って、CPU40’及び50′は。
モジュールの相互接続部130及び132と130′及
び132′とに対して制御権を有する。CPU40及び
50は、相互接続部130,132.130′及び13
2′へアクセスしない。「クロスリンクオンスレープ」
及び「クロスリンクオンマスター」は、モジュール相互
接続部間の同期はとるが、CPU間の同期はとらない。
「クロスリンクオン二重」は、両CPU40及び40′
がモジュール相互接続部130及び130′を制御でき
るようにすると共に、CPU50及び50’が相互接続
部132及び132′を制御できるようにする。「クロ
スリンクオン二重」は、CPUの同期をとると共にI1
0相互接続部の同期をとる。これらCPUを同期させる
には、両ゾーンの全てのメモリレジスタ及びバスサイク
ルが同一であることが必要である。通信レジスタ906
を経て独特のデータを取り扱わねばならない。モジュー
ル相互接続部の同期とは、クロスリンク90.95.9
0’及び95′が同じ又は同等のバスサイクルでそれら
の各々のモジュール相互接続部130,132,130
′及び132′を駆動することを意味する。
クロスリンク90が「マスターモード」にあるときには
、CPU40及び50が4つ全部のモジュール相互接続
部130,132,130′及び132′を制御する。
CPU40及び50がクロスリンク90′及び95′の
状態をチエツクするために、状態レジスタ909′の読
み取り及び書き込みアドレスがシステムアドレススペー
ス内にある。
セーブ状態レジスタ9039通信レジスタ906及び状
態レジスタ909は、全て、これらが単一の並列レジス
タバス910を経て情報を転送できるようにするインタ
ーフェイス回路を含んでいる。並列レジスタバス910
は、クロスリンク90の他部分が並列レジスタと通信で
きるようにする。
直列レジスタが第11図に示されている。全ての直列ク
ロスリンクレジスタは、非同期通信に使用されるので、
ゾーンの特定のスペース内にある。直列クロスリンクレ
ジスタ及び直列クロスリンクの目的は、プロセッサ20
及び20′がロックステップ同期状態(即ち位相固定ク
ロック及び同じメモリ状態)で動作していなくてもこれ
らプロセッサが通信できるようにすることである。
直列クロスリンクは、6個のレジスタと1つの制御器と
925を備えている。これらのレジスタには、制御及び
状態レジスタ912、直列クロスリンク要求レジスタ9
14、直列クロスリンク応答レジスタ916、直列クロ
スリンク質問レジスタ918、直列クロスリンク送信レ
ジスタ920及び直列クロスリンク受信レジスタ922
が含まれる。送信レジスタ920は直列クロスリンク送
信ライン921に接続され、受信レジスタ922は直列
クロスリンク受信ライン923に接続される。制御器9
25はこれら直列レジスタの動作を整合する。
制御及び状態レジスタ912は、制御及び状態フラグと
並列クロスリンクレジスタに記憶された全ての情報のコ
ピーとを含んでいる。制御及び状態レジスタ912の内
容は、次の通りである。
26     X    ゾーンII)(読み取りのみ
)25     X    クロック位相検出器エラー
(読み取り/書き込み) (書き込み1はクリア) 24   1   クロスリンクDCRバッファ空き(
読み取りのみ)DCHの書き込みによりクリア23  
 1   クロスリンクDCR受信いっばい(読み取り
のみ)DCHの読み取りによってクリア22   1 
  直列送信器ビジー(いずれかのゾーンによって要求
されたアクティビティ) (読み取りのみ) 21:20  oo   他のゾーンに対する自動応答
(読み取りのみ) 01  このゾーンからのループバック要求の送信10
  このゾーンからの状態読み取り要求の送信11  
このゾーンからの質問の送信 19   1   送信バッファ空き 18   1   直列応答オーバーフロー(読み取り
のみ)クロスリンク応答レジスタの読み取りによりリセ
ット 17   1   直列応答いっばい(読み取りのみ)
クロスリンク応答レジスタの読み取りによりリセット 16   1   直列質問オーバーフロー(読み取り
のみ)クロスリンク質問レジスタの読み取りによりリセ
ット 15   1   直列質問いっばい(読み取りのみ)
クロスリンク質問レジスタの読み取りによりリセット 14   1   割込みイネーブルのセット(書き込
み)13   1   クロスリンクDCRバッファ空
き割込みのイネーブル(読み取り/書き込み) 12   1   クロスリンクDCR受信割込みのイ
ネーブル(読み取り/書き込み) 11   1   クロック位相エラー割込みのイネー
ブル(読み取り/書き込み) 10   1   送信完了割込みのイネーブル(読み
取り/書き込み) 09   1   応答受信割込みのイネーブル(読み
取り/書き込み) 08   1   質問受信割込みのイネーブル(読み
取り/書き込み) 07:06 00   無機能 01  ループバック要求 10  状態読み取り要求 11   CPU質問要求の送信 05    1    再同期状態のセット(04:0
3の作動)(書き込み) 04:03 00   通常のバス動作(読み取り/書
き込み)01  メモリ再同期スレーブ 10  メモリ再同期マスター 11  二重同期要求 02   1   クロスリンク状態のセット(01:
00の作動)(書き込み) 01:00  oo   クロスリンクオフ(読み取り
/書き込み)01  クロスリンクオンスレープ 10  クロスリンクオンマスター 11  クロスリンクオンニ重 レジスタ912及び他の直列レジスタの機能は、直列ク
ロスリンクの動作の説明から理解することができよう。
これら動作の1つはループバックである。ループバック
動作はプロセッサ20″を含むが、このプロセッサを整
合せずに行われる。
直列の制御及び状態レジスタ912にループバック要求
フラグをセットすると、直列要求レジスタ914の内容
がゾーン11′のクロスリンク90’(即ち、90′又
は95′)へ送られる。クロスリンク90′はメツセー
ジを直列応答レジスタ916へ返送する。このループバ
ック機能により、クロスリンクケーブルを照合できると
共に、一方のゾーンが他方のゾーンが電力を有すること
を確認することができる。
もう1つの動作は状態の読み取りであり、これは、一方
のゾーンのクロスリンクが他方のゾーンのクロスリンク
の状態を読み取れるようにする。
直列の制御及び状態レジスタ912に状態読み取り要求
フラグをセットすると、要求レジスタ914が状態情報
の要求をクロスリンク90′に送信するようにされる。
このメツセージを受は取ると、クロスリンク90’はそ
の直列の制御及び状態レジスタ912′の内容をクロス
リンク90の直列応答レジスタ916に送信する。
第3の機能は、汎用のクロスリンクデータ転送であるデ
ータ転送機能である。転送されるべきデータ(好ましい
実施例では32ビツト)を直列クロスリンク要求レジス
タ914へ書き込んだ後に、直列の制御及び状態レジス
タ912にCPU質問要求フラグをセットすると、要求
レジスタ914の内容がクロスリンク90′に送られ、
該クロスリンクはこれらの内容を質問レジスタ918′
に保持する。自動応答は発生されないが、CPU40′
にデータは得られる。CPU40’による応答は、クロ
スリンク9oの直列質問レジスタ918へ送られる。
与えられる最後の機能は、直列割込み及び状態である。
好ましい実施例では、直列のクロスリンクは1次の事象
に基づいて割込みを発生することができる。
直列要求及び送信の完了; 直列応答の完了(ループバック又は状態応答に対し); 直列質問受信の完了; 診断通信レジスタのデータ利用; 診断通信レジスタのバッファ空き;及びゾーン間クロッ
ク位相エラー。
割込みは、1つの共通の割込みベクトルで個々にマスク
される。
更に、ここに示す実施例では、制御及び状態レジスタ9
12の幾つかの状態ビットが直列リンクの状態及びマシ
ンの再同期状態に関連している。
これらのビットは次の通りである。
クロスリンク同期状態; イネーブルされた割込み; ベンディングの割込み;及び 受信オーバーフローインジケータ。
クロスリンク90の制御器925が第12図に示されて
いる。制御器925の制御デコーダ930は、以下で詳
細に述べる規定に従って信号A−Iを発生する。制御器
925は、ドライバ、バッファ、マルチプレクサ及び遅
延要素を含んでいる。遅延要素は、同期のために追加さ
れる。コンピュータシステム1oは高速動作であると共
に密接な同期が要求されるので、適切な動作及び同期を
維持するためにはケーブルの延びのような固有の信号遅
延がクロスリンクによって補償されねばならない。例え
ば、以下で詳細に述べるように、Iloからの読み取り
中には、各CPUモジュールが別々の処理システム20
及び20′の■/○モジュールからデータを受は取る。
別々のシステムからのデータは別々の経路をたどるので
、このような動作により同期の欠陥が生じる。遅延要素
は、同期を保持するために信号遅延及び経路の差を補償
する。第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を経てメモ
リ制御器70へ送られる。
マルチプレクサ963は信号Fによって制御され、並列
レジスタバス910からバッファ957を経て入力を受
は取り、直列レジスタから入力を受は取りそしてモジュ
ール相互接続部130からバッファ954を経て入力を
受は取る。マルチプレクサ963の出力は、遅延要素9
80を通過した後にマルチプレクサ960へ入力される
マルチプレクサ966は信号Gによって制御され、並列
クロスリンク通路25からバッファ951を経て入力を
受は取ると共に、メモリ制御器70からバッファ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−Hの状態は、実行される
べき動作、クロスリンクモード(即ち、二重、マスター
又はスレーブ)及びクロスリンクの状態(オン/オフ)
と、クロスリンクが一次レールにあるか(即ち、−次メ
モリ制御器70に接続されているカリミラーレールにあ
るが(即ち、ミラーメモリ制御器75に接続されている
が)によって決まる。
一般に、次のような10個の機能を実行することが必要
である。
他のゾーンを読み取る; 他のゾーンを書き込む; このゾーンの直列レジスタを読み取る;このゾーンの直
列レジスタを書き込む;並列レジスタのゾーンアドレス
を読み取る;並列レジスタのゾーンアドレスを書き込む
;並列レジスタのシステムアドレスを読み取る;並列レ
ジスタのシステムアドレスを書き込む;Iloを読み取
る;そして Iloを書き込む。
第13A図ないし第13P図は、実行されるべき種々の
機能と、クロスリンクの種々のモード及び状態とに対す
る信号Aないし工の状態を示している。各々の状態及び
機能を説明するのではなく、第13A図ないし第13P
図をいかに用いるかを理解するために2つについてのみ
詳細に説明する。
第13A図は、二重モードにあるときのクロスリンク9
0に対する(即ち、ゾーン11の一次レールにおける)
制御信号の状態を示している。
I10読み取り動作においては、制御信号A及びDがr
オン」であり、B及びCが「オフ」である。
信号Aはドライバ933をイネーブルしてデータがメモ
リ制御器70へ通過するように確保し、そして信号りは
ドライバ942をイネーブルしてデータが並列クロスリ
ンク通路25を経てクロスリンク90へ通過するように
確保する。メモリ制御器70及び並列クロスリンク通路
25ヘデータを送る際に含まれるマルチプレクサは、信
号E、 F及び工によって各々制御されるマルチプレク
サ960.963及び970である。制御信号Eは、マ
ルチプレクサ963の出力に対応する入力1を選択する
ようにセットされる。制御信号Fは、マルチプレクサ9
63がモジュール相互接続部130からのデータに対応
する入力3を選択するようにセットされる。制御信号工
は、マルチプレクサ970がモジュール相互接続部13
0を選択するようにセットされる。
従って、この信号選択状態では、モジュール相互接続部
130からのデータがマルチプレクサ963及び960
とドライバ933とを経てメモリ制御器70へ送られる
。これは、I10読み取り1−ランザクジョンのための
データ経路である。
又、このデータは、マルチプレクサ970及びドライバ
942を経て並列クロスリンク通路25へ送られ、これ
が適当であるのは、クロスリンク90が二重モードにあ
るためである。
第13E図は、同じ状態に対する制御信号を示している
が、メモリ制御器90はマスターモードにあり、従って
、クロスリンク90′に信号を送信しない。この状態の
I10読み取り動作は、モジュール相互接続部130か
らのデータがメモリ制御器70へ送られるように確保す
るために同じ信号設定を含む。信号りが「オフ」であり
、■に対する選択信号がないので、並列クロスリンク通
路25を経てメモリ制御器90’へ至るデータ通路はな
く、これは、クロスリンク90がマスターモードにある
ときの動作として適している。
メモリ制御器90が二重モードにある状態でのI10書
き込み動作の場合には、rオン」になる唯一のドライバ
制御信号が信号Cであり、これはドライバ939をイネ
ーブルしてモジュール相互接続部130ヘデータを通せ
るようにする。それ故、制御する必要のある唯一のマル
チプレクサはマルチプレクサ969であり、第13A図
は、制御信号Hがメモリ制御器7oからのデータを選択
することを示している。第13図のクロスリンク95(
二重モードにあるゾーン11のミラーレール)の動作は
、第13B図のクロスリンク9゜に対する制御信号と若
干異なる。これは、以下で述べるように、I 10書き
込み動作中には、各工10モジュールへのデータが両プ
ロセッサ20及び20’ から送られるからである。
5・又1盪 両方の処理システム2o及び20′が二重モードとして
知られている冗長形態で同じタスクを実行するときには
、CPUモジュール30及び30′が同じ速度で動作を
実行することが重要である。さもなくば、処理システム
同志を再同期させてIloとプロセッサ間とのエラーチ
ェックを行うのに多量の処理時間がかぎることになる。
処理システム20及び20′の好ましい実施例において
は、基本的なりロック信号が同期され、互いに位相固定
される。耐欠陥コンピュータシステム10は、処理シス
テム20及び20’へのクロック信号の周波数を制御す
ると共に各処理システムのクロック信号間の位相差を最
小にするためのタイミングシステムを備えている。
第14図は、処理システム20及び20’において実施
される本発明のタイミングシステムのブロック図である
。このタイミングシステムは、処理システム20のCP
Uモジュール30に含まれた発振システム200と、処
理システム20′のCPUモジュール30’に含まれた
発振システム200′とを備えている0発振器200′
の要素は、発振器200の要素と同じであり、両方の発
振システムの動作は同じである。従って1発振器200
と200′の動作が異なる場合を除いて。
発振器200の要素及び動作のみについて説明する。
第14図に示すように、発振システム200の大部分、
特にデジタル論理回路は、クロスリンク95の内部に存
在するが、その配置は本発明にとって重要ではない。発
振システム200は、電圧制御式のクリスタル発振子(
VCX○)205を備えており、これは、好ましくは6
6.66MHzの基本的な発振信号を発生する。vCx
○205の周波数は、その入力の電圧レベルによって調
整することができる。
り′コツ9分配チップ210は、基本的な発振信号を分
割し、好ましくは、全て同じ周波数を有する4つの主た
るクロックを発生する。主CPU40については、クロ
ックがPCLK  L及びPCLIK  Hであり、こ
れらは論理的に互いに逆のものである。ミラーCPU5
0については、クロック分配チップ210がクロック信
号MCLKL及びMCLK  Hを発生し、これらも論
理的に互いに逆のものである。これらクロック信号のタ
イミング及び位相関係は、第15図に示されている。好
ましくは、クロック信号PCLK  L、PCLK  
H,MCLK  L及びMCLK  Hの周波数は約3
3.33MHzである。又、クロックチップ210は、
第15図に示すように16.16 M Hzの位相固定
ループ信号CLKCHも発生する。この位相固定ループ
信号はクロック論理回路220に送られ、該回路はこの
信号をバッファする。
クロック論理バッファ220は、CLKCI(信号を同
期とりに用いるために発振器200′に送信する。発振
器200′のクロック論理バッファ220′は、それ自
身のバッファされた位相固定ループ信号CLKC’  
Hを発振器200の位相検出器230に送信する。又、
位相検出器23oは、クロック論理バッファ220から
遅延要素225を経て、バッファされた位相固定ループ
信号CLKCHを受信する。遅延要素225は、クロッ
ク論理バッファ220′からのケーブルの延長による遅
延を近似する。
位相検出器230は、その入力の位相固定ループ信号を
比較し、2つの出力を発生する。その1つは、位相差信
号235であり、これはループ増幅器240を経てVC
XO205の電圧入力に送られる。この位相差により、
増幅器240は、位相差を補償するようにVCXO20
5の周波数を変更する信号を発生する。
位相検出器230の他の出力は、あり得べき同期欠陥を
指示する位相エラー信号236である。
第16図は、位相検出器230の詳細な図である。位相
検出器230は、位相比較器230と、アナログ電圧比
較器234とを含んでいる。位相比較器232は、遅延
素子225からのクロック信号(CLKCH)及び発振
器2oO′からの位相固定ループクロック信号(CLK
C’  H)を受は取り、これら信号の位相差を表わす
アナログ電圧レベル235を発生する。
処理システム2oがクロック同期の目的で「スレーブ」
となった場合には、スイッチ245が「スレーブ」位置
(即ち、閉位置)となり、アナログ電圧レベル235は
、ループ増幅器240によって増幅された後に、VCX
O2Q5の周波数を制御する。両スイッチ245及び2
45′が「マスター」位置にある場合には、処理システ
ム20及び20’が位相固定されず、非同期で(独立し
て)動作する。
アナログ電圧レベル235は、位相の進み及び遅れの許
容範囲を表わす2つの基準電圧Vrefl及びVref
2と共に電圧比較器234へ入力される。
位相差が許容範囲内である場合には、PHASEERR
OR(位相エラー)信号が作用されない。
位相差が許容範囲から外れ、電圧比較器234がVre
flないしVref2の電圧範囲から外れる位相差信号
235を感知した場合には、位相エラー信号が作用され
、クロックデコーダ220を経てクロスリンク95へ送
られる。
第17図は、I10モジュール100の好ましい実施例
を示している。I10モジュール100及び100′は
同一のものであるから、モジュール100についてのみ
説明する。更に、I10モジュール110及び120(
従って、モジュール110′及び120’)はモジュー
ル100と同様であるが、異なったI10装置に接続さ
れているために全く同じ形態をとることはない。
I10モジュール100は、二重レールモジュール相互
接続部130及び132によってCPUモジュール30
に接続されている。各々のモジュール相互接続部は、各
々ファイアウオール100o及び1010によって受は
入れられる。ファイアウオール1000及び1010は
、モジュール相互接続部130及び132を経て送信さ
れるデータの一致性をチエツクするチエツクバス100
5によって相互接続される。このチエツクは、CPUモ
ジュール30及び30′のロックステップ同期によって
行われ、これは、CPUモジュール3o及び30′から
■10モジュール10oへ書き込まれたデータをファイ
アウオール1000及び1010に同時に得られるよう
にする。
第18図は、ファイアウオール1000の要素及び好ま
しい実施例を示している。ファイアウオール1000は
、モジュール相互接続部130への32ビツトバスイン
ターフエイス1810と、第17図に示されたバス10
20へ接続するための32ビツトバスインターフエイス
1820とを備えている。これらのインターフェイス1
810及び1820は、内部ファイアウオールバス18
15によって相互接続され、該バスはファイアウオール
1000の他の要素にも接続されている。
バス1815は、16ビツト巾又は32ビツト巾の並列
バスであるのが好ましい。
又、ファイアウオール1000は、CPUモジュール3
0とオペレータコンソールとの間でコンソールリンク1
090に接続されたコンソールサポートレジスタ183
0も備えているのが好ましい。コンソールリンクは、モ
ジュール相互接続部、クロスリンク及びメモリ制御器の
ような通常のデータ経路をバイパスし、コンピュータシ
ステム10の他の部分に欠陥が生じた場合にもオペレー
タはCPUと通信することができる。コンソールサポー
トレジスタ1830は、−時的な記憶レジスタ1832
.受信器1834及び送信器1836を備えているのが
好ましい。レジスタ1832、受信器1834及び送信
器1836の相互接続は、当業者に良く知られた一般的
なものである。
ファイアウオール100oは、複数のチエツク回路を含
んだファイアウオール比較回路1840も備えている。
ファイアウオール比較回路1840は、ファイアウオー
ル1010内の同等の要素に接続される。ファイアウオ
ール比較回路1840内のチエツク回路は、モジュール
相互接続部130から受は取ったデータをモジュール相
互接続部132から受は取ったデータと比較する。−般
に、両方のモジュール相互接続部がCPUモジュール3
0から受は入れられるとしても、モジュール相互接続部
130からのデータは一方のゾーンからのものでありそ
してモジュール相互接続部132からのデータは別のゾ
ーンからのものである。ファイアウオール比較回路18
40内のチエツク回路がこれらデータ間の不一致を検出
した場合には、割込み制御回路1880が作動されて、
エラー信号を発生し、これにより、クロスリンク90及
び95はCPUモジュール30及び30’に欠陥の検出
を通知する。
ファイアウオール比較回路1840は、CPUモジュー
ル30及び30′から受は取ったデータのみをチエツク
する。CPUモジュール30及び30’に送られるデー
タは、共通の発生源からのものであり、従って、チエツ
クを必要としない。
むしろ、I10装置から受は取ったデータで、CPUモ
ジュール30及び30′に送られるべきデータは、CR
C発生器1850によって行われる繰返し冗長チエツク
(CRC)のようなエラー検出コード(EDC)によっ
てチエツクされる。又、CRC発生器50は、内部ファ
イアウオールバス1815にも接続される。
CRC発生器1850は、I10装置によって使用され
るものと同じCRCコードを発生し、チエツクする。I
10モジュール100は、2つのEDCを発生するのが
好ましい。その一方は、CRCでもあって、モジュール
100が接続されたエサ−ネットパケットネットワーク
のようなネットワークに対するインターフェイスとして
用いられる。その他方は、第17図のディスクインター
フェイス1072のようなディスクインターフェイスと
して用いられる。
モジュール相互接続部は二重であるから、CPUモジュ
ール30と工/○モジュール100との間にはCRCの
機能が必要とされない。例えば、CPUモジュール3o
においては、クロスリンク90がモジュール相互接続部
130を経てファイアウオール1000と通信し、そし
てクロスリンク95がモジュール相互接続部132を経
てファイアウオール1010と通信する。
エサ−ネットネットワーク1082から受は取ったメツ
セージは、第17図に示されたネットワーク制御器10
80により有効CRCに対してチエツクされる。CRC
とで完成するデータは、第17図に示されたローカルR
AM1060に書き込まれる。ローカルRAM1060
の全てのデータは、DMAを用いてメモリモジュール6
0へ転送される。DMA制御器1890は転送の整合を
とり、転送されているCRCエンコードデータの有効性
をチエツクするようにCRC発生器1850に指示する
工/○装置との殆どのデータ転送は、DMAで行われる
。データは主メモリと工/○バッファメモリとの間で移
動される。転送されるデータの各論理ブロックは、CR
Cによってカバーされる。
エサ−ネットの場合には、論理ブロックがメツセージパ
ケットである。メツセージは、DMAにより、主メモリ
60からファイアウオール100゜を通ってローカルR
AM1060へ転送される。
ファイアウオール1o00のCRC発生器1850は、
メツセージに対してCRCを計算する。
DMA制御器1890は、データ転送に対するCRC発
生器1850の動作を制御する。論理ブロックが転送さ
れたときには、DMA制御器1890がCRC発生器1
85oからの発生されたCRCを読み取り、それを、ロ
ーカルRAMl060に記憶されたデータに加える。ネ
ットワーク制御N 1080は、ローカルRAM1o6
0からエサ−ネットネットワーク1082ヘデータを転
送すると、CRCをチエツクする。CRCコード・ 自
体を除く全てのエサ−ネットパケットは、メモリモジュ
ール60へ転送される。CRCのエラーはCRC発生器
1850によって識別され、割込み制御器1880を介
して報告される。
ディスクサブシステムとのデータのやり取りは、エサ−
ネットインターフェイスと同様に行われる。CRC発生
器1850は、ディスク制御器1072によって使用さ
れる特定のCRCコードを発生し又はチエツクする。こ
れは、工/○モジュール100の場合と同様に単一レー
ルシステムに存在するか又はこれを通して転送されてい
るデータがエラー検出コードによってカバーされるよう
に確保し、これは、データが最終的に通過する通信媒体
と少なくとも同程度の信頼性を有するものであることが
好ましい。種々の工/○モジュール、例えば、同期プロ
トコルを取り扱うモジュールは、適当なプロトコルのC
RCコードを発生してチエツクするCRC発生器を有し
ているのが好ましい。
一般に、DMA制御器1890は、共有のメモリ制御器
1050及びアドレスされているローカルRAM106
0に対して特定のDMA動作の一部分を処理する。32
ビツトバス1020は。
2つの異なったモードで駆動される。DMA設定中には
、DMA制御器1890はバス1020を標準的な非同
期マイクロプロセッサバスとして使用する。DMA動作
が行われるローカルRAM1060のアドレスは、共有
メモリ制御器1050及びDMA制御器1890によっ
て供給される。
実際のDMA転送中には、DMA制御器1890がバス
1020を同期状態で駆動するようにDMA制御ライン
1895に指示する。共有メモリ制御器1050は、バ
ス1020の各バスサイクルごとに32ビツトデータワ
ードを転送し、DMA制御器1890は、転送されるべ
きワードがどれほど残されているかの経過を保持する。
又、共有メモリ制御器1050は、ローカjlzRAM
1060を制御し、次のDAMアドレスを発生する。
工10モジュール(100,110,120)は、それ
ら自身のローカルRAM1060に対する読み取り/書
き込み動作を制御する役目を果たす。CPUモジュール
30は、メモリアレイ60との転送動作を制御する役目
を果たす。メモリ制御器70及び75(第9図に示す)
のDMAエンジン775は、CPUモジュール30に対
しDMA動作を指示する。このような労力の分割により
いずれかのモジュールのDMA論理の欠陥がゾーン11
又は11′の他のモジュールにおけるデータ完全性を低
下しないようにする。
又、ファイアウオール1000は、I10モジュール1
00に対し他の重要な機能も実行する。
ファイアウオール1000のI10診断制御レジスタ1
860は、クロスリンク診断制御レジスタ901と同じ
構造を有し、CPU40.50.40′及び50’ と
診断マイクロプロセッサ1100との間で通信を行うこ
とができる。診断マイクロプロセッサ1100のこの間
接的な接続により、該マイクロプロセッサがコンピュー
タシステム10の他のモジュールに影響を及ぼすことが
防止される。
トレースRAMl872及びトレースRAM制御器18
70の機能については以下で詳細に述べる。簡単に述べ
ると、欠陥が検出されてCPU及びCPUモジュール3
0及び30′に通知されたときには、コンピユータシス
テム10全体にわたる種々のトレースRAMが以下に述
べる幾つかの機能を実行するようにされる。トレースR
A Mとの通信は、トレースバス1095を経て行われ
る。トレースRAM制御器1870は、トレースバス1
095からの信号に応答して、トレースRAM1872
が記憶を停止するか又はその内容をトレースバス109
5にダンプするようにさせる。
好ましくは32ビツトの並列バスであるI10モジュー
ルバス1020は、ファイアウオール1000及び10
10と、I10モジュール10゛Oの他の要素とに接続
される。共有メモリ制御器1050も、I10モジュー
ル100のI10バス1o20に接続されている。共有
メモリ制御器1050は、32ビツト+パリテイを有す
る共有メモリバス1065によってローカルメモリ10
60に接続されている。好ましくは、ローカルメモリ1
060は、メモリ容量が128KBのRAMであるが、
RAM1060のサイズは任意である。共有メモリ制御
器1050及びローカルRAM1060は、I10モジ
ュール100に対するメモリ容量を備えている。
ディスク制御器1070は、第1図のディスク1075
.1075’のようなディスクに対する標準的なインタ
ーフェイスを与える。ディスク1075は、5C5I(
小型コンピュータ標準インターフェイス)バスの実施の
ごとき標準バスインターフェイス1o72によってディ
スク制御器1070に接続されるのが好ましい。又、デ
ィスク制御器1070は、ローカルRAM1060を使
用するか又はI10モジュールバス1020と通信する
ために共有メモリ制御器1050に接続される。
ネットワーク制御器1080は、ネットワークインター
フェイス1082により、エサ−ネットネットワークの
ような標準ネットワークにインターフェイスする。又、
ネットワーク制御器1080は、ローカルRAM106
0及びI 10モジユールバス1020の両方に対する
インターフェイスとして働く共有メモリ制御器1050
にも接続される。然し乍ら、I10モジュールバス10
20のいずれか1つの特定の編成又は構造にする必要は
ない。
PCIM(電力及び冷却インターフェイスモジュール)
サポート要素1030は、工/○モジュールバス102
0及びASCIIインターフェイス1032に接続され
る。PCIMサポート要素1030は、処理システム2
0が電源システム(即ち、バッテリ、レギュレータ、等
)の状態を監視できるようにすると共に、冷却システム
がそれらの適切な動作を確保できるようにする。PCI
Mサポート要素1030は、成る欠陥又は欠陥のおそれ
の指示、例えば、バッテリ電圧が許容できないほど低下
したという指示があったときだけメツセージを受は取る
のが好ましい。又、PCIMサポート要素1030を用
いて全ての電力及び冷却サブシステムを周期的に監視す
ることもできる。PCIMサポート要素1030及びI
10モジュール100′の同等の要素は、プロセッサ2
0及び20’のサポートシステムが機能不良になった場
合に耐欠陥コンピュータシステム10が成るゾーンを停
止できるようにする。
システムサポート及びコンソール要素1040は、■/
○モジュールバス1o20にも接続される。システムサ
ポート及びコンソール要素1040は、ASCIIイン
ターフェイス1042を介してオペレータコンソールの
インターフェイスを与える。オペレータコンソールは、
年のような成る情報を入力できるだけでなく、診断の目
的にも使用することができる。オペレータコンソールは
、コンソールリンク1090及び1091を経そしてフ
ァイアウオール1000及び101oのコンソールサポ
ートレジスタ1830を経てCPUとデータを交換する
又1診断マイクロプロセッサ1100は、工10モジュ
ールバス1020にも接続されている。
診断マイクロプロセッサ1100の動作については以下
で詳細に述べる。一般に、マイクロプロセッサ1100
は、欠陥が検出されたときにトレースRAM 1872
のようなトレースRAMからのエラーチェック情報を収
集するのに用いられる。
このデータは、トレースバス1095及び1096に集
められ、ファイアウオール1000及び1010を各々
通り、モジュールバス1020を経てマイクロプロセッ
サ1100へ送り込まれる。
C,プロセッサ間及びモジュール間通信1、データ経路 コンピュータシステム10の要素はそれ自体で耐欠陥シ
ステムを構成しない。正常の動作中に通信を行うことが
できそして欠陥検出及び修正中に動作を行うことのでき
る通信経路及びプロトコルが必要とされる。このような
通信にとって重要なことはクロスリンク通路25である
。クロスリンク通路25は、並列リンク、直列リンク及
び既に述べたクロック信号で構成される。これらは。
第19図に示されている。並列リンクは、2つの同じ組
のデータ及びアドレスライン(16)、制御ライン(7
)、割込みライン(7)及びエラーライン(7)を含ん
でいる。16本のデータ及びヤドレスラインと、7本の
制御ラインは、CPUモジュール間で、例えば、モジュ
ール制御接続部130及び132(又は130′及び1
32’)から或いはメモリモジュール60 (60’ 
)から交換されるべき情報を含んでいる。
7本の割込みラインは、4つの異なったI10割込みレ
ベルを表わす4本のラインと、両ゾーンに対するコンソ
ール「ホルト」要求を同期させる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′)とI10モジュールとの
間にハンドシェイクを与える。サイクルの状態は、実行
されているバス動作の形式、即ち、CPUによるIlo
の読み取り、DMA転送、DMA設定又は割込みベクト
ル要求を指示する。「バイトマスク」は、ローカルRA
M1060において32ビツトワードのデータの1バイ
ト(8ビツト)を修正できるように、16本のデータラ
インのどれが有効なデータを含んでいるかを指示する。
「方向」は、DMA動作に対しトランシーバ経路の選択
を固定する。DMA転送は所定のソースと行き先との間
で生じるので、データ経路を選択するのに関連した時間
オーバーヘッドを、データ転送のごとに支払う必要はな
い。
「レディ」メツセージは、要求された動作の完了を指示
するためにCPUとI10モジュールとの間に送られる
任意の時間にいずれかの処理システム2o又は20′を
作動して制御ラインの状態を読み取ることができる。作
動したり停止したりすることは処理システム20と20
′との間で同期して行われる。
直列クロスリンクは、状態読み取り、ループバック、デ
ータ転送、状態の転送割込みに対し、直列データ転送を
行うために2組の2本のラインを備えている。
交換されるクロック信号は、位相固定クロック信号CL
KCH及びCLKC’  H(遅延)である。
第20A図ないし第20D図は、CPUモジュール30
及び30′と工/○モジュール100及び100″の要
素(これらを介して種々の作動中にデータが通過する)
のブロック図である。これら要素の各々については既に
述べた。
一般に、動作中のデータ経路は対象的である。
例えば、CPUのI10読み取りは、互いにミラー像関
係にある経路を経てI10モジュール100及び工/○
モジュール100′に対して行われる。このような場合
に、図面は全てのデータ経路を示しているが、その1つ
のみについて詳細に説明する。
第20A図は、CPUのI10読み取り動作用のデータ
通路を示している。例えば、ディスク1075 (10
75’ )又はネットワークからのデータは、共有メモ
リ制御器1050(1050’)を通して転送するため
にローカルRAM1060(1060’ ) に記憶さ
れるものとする。1つの経路については、データがモジ
ュール相互接続部130のファイアウオール1000を
経てクロスリンク90へ送られる。このときには、デー
タがメモリ制御器70及びクロスリンク90′まで転送
される。第12図に示すように、クロスリンク90は、
ファイアウオール1000からメモリ制御器70へのデ
ータを遅延し、クロスリンク90’へのデータが「捕獲
」に充分な時間を有し且つ処理システム20及び20′
が同期状態に保たれるようにする。次いで、データは、
クロスリンク90からメモリ制御器70を通りそして内
部バス46を経てCPU40へ送られる。同様に、クロ
スリンク90′へのデータもCPU40’へ送られる。
データをCPU50及び50’へ読み込むために同様の
経路がとられる。共有メモリ制御器1050からのデー
タは、ファイアウオール1010を経てクロスリンク9
5へ送られる。このときには、データがクロスリンク9
5′へ送られると共に、クロスリンク95内の遅延ユニ
ットに通される。
I10装置からデータを読み取るときには、1つの読み
取り動作しか必要とされない。「ミラーJCPUのI1
0読み取り動作は、処理システム20′のI10装置か
ら共有メモリ制御器1050′を経て受は取ったデータ
及びI10装置100′のローカルRAMから受は取っ
たデータに対して行われる。
I10モジュール100.110及び120は、各々、
I10モジュール100’ 、110’及び120′と
同様であってそれに対応しているが、対応するI10モ
ジュールは互いにロックステップ同期状態にない。CP
UのI10読み取りに対してメモリ制御器1050’及
びローカルRAM1060’ を使用して、データは先
ずクロスリンク90′及び95′へ送られる。他のデー
タ経路は、メモリ制御器1050からの経路と同等であ
る。データは、クロスリンク90’及び95′からメモ
リ制御器70’及び75′を経て最終的にCPU40’
及び50′へ各々送られる。同時に、データは、各々、
クロスリンク90及び95へ送られ、次いで、遅延要素
を通ることなく、各々、CPU40及び50まで送られ
続ける。
第20B図は、CPUのI10書き込み動作を示してい
る。データは、2つの別々のCPUl10書き込み動作
において、CPU40.5o、40′及び50′を経て
共有メモリ制御器1050及び1050’とローカルR
AM1060及び1060’ とに転送される。CPU
40によって転送されるデータは、CPUのI10読み
取り中のデータとは逆方向に同じ経路に沿って送られる
特に、このようなデータは、メモリバス46.メモリ制
御器70、遅延ユニット985(同期をとれるようにす
るための)、ファイアウオール1000及びメモリ制御
器1050を経て送られる。
CPU50’からのデータも、CPU  I10読み取
りの経路を逆方向にたどる。特に、このようなデータは
、内部バス56′、メモリ制御器75′、クロスリンク
95′、クロスリンク95、ファイアウオール1010
及び共有メモリ制御器1050を経て送られる。上記し
たように、ファイアラオー)Lt 1000及び101
0は、I10書き込み動作中にデータをチエツクし、出
力の前にエラーをチエツクする。
CPU50及び40′からのデータは、処理システム2
0’のI10装置への次のCPU  I10書き込みの
際に、対象的な経路を経て共有メモリ制御器1050’
へ送信される。CPU50及び40′からのデータは、
ゾーン間チエツクのためにファイアウオール1000及
び1o10によって比較される。各ゾーンに対するレー
ル間チエツクは、メモリ制御器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’ を通
る対象的な経路は、ゾーン間エラーチェックを与える。
レール間エラーチェックは1、(−1−IJ−T−ジュ
ー/L/70.75.70’及び75′において行われ
る。
DMA書き込み動作のためのデータ経路が第21D図に
示されており、これはCPUのI10読み取りの場合と
同様である。特に、共有メモリ制御器1050’からの
データは、ファイアウオール1000’ 、クロスリン
ク90′ (遅延を伴う)及びメモリ制御器70′を経
てメモリアレイ600′へ送られる。同時に、このデー
タは、ファイアウオール1010’、クロスリンク95
′(遅延を伴う)及びメモリ制御器75′に通され、こ
のときには、レール間エラーチャック中にメモリ制御器
70′からのデータと比較される。或いは又、CPUの
I10読み取りの場合と同様に。
DMA書き込み動作のデータは、同等の動作中に共有メ
モリ制御器1050まで送られてもよい。
又、クロスリンク90′からのデータは、クロスリンク
90及びメモリ制御器70を経てメモリアレイ600へ
通される。クロスリンク95′からのデータは、クロス
リンク95′及びメモリ制御器75′に通され、このと
きには、同時のレール間チエツク中にメモリ制御器70
’からのデータと比較される。
メモリ再同期動作のためのデータ経路が第20E図に示
されている。メモリ再同期動作については第23図に関
連して以下で詳細に述べる。メモリ再同期中のデータ経
路を理解するために、メモリ再同期の一部分であるバル
クメモリコピー機能動作が第21図に示されている。
第21図に示すように、バルクメモリコピー動作の第1
の段階は、クロスリンクをメモリ再同期マスター/スレ
ーブモードにセットして第20E図に示すデータ経路を
形成できるようにすることである(ステップ2100)
。第13I図ないし第13L図は、クロスリンクがスレ
ーブモードにあるときに通信が本質的に一方向であるこ
とを示している。従って、クロスリンクがスレーブモー
ドにある処理システムのメモリにデータを書き込むこと
ができるが、このメモリから情報を読み取ることはでき
ない。更に、第13E図ないし第13H図は、第13I
図ないし第13L図と共に、クロスリンクがマスターモ
ードにある処理システムがそのメモリモジュールに書き
込みを行うたびに、クロスリンクがスレーブモードにあ
る処理システムもその同じデータを書き込む。従って、
クロスリンクがスレーブモードにある処理システムは、
クロスリンクがマスターモードにある処理システムと共
に、そのときまでの情報を記憶するメモリモジュールを
有している。
次いで、第21図のバルクメモリ転送フローチャートに
示されたように、マスター処理システムは、そのメモリ
モジュールを検査し、そのモジュールの全てのメモリペ
ージを見つける(ステップ2110)。これら全てのペ
ージが既知になると、マスター処理システムのDAMエ
ンジンの待ち行列に入れられる(ステップ2120)。
好ましくは、マスター処理システムのDMAエンジンは
、DMA要求の待ち行列を含み、各要求は、転送の形式
の指示、スタートアドレス、転送されるべき要素の数及
び行き先の指示を含むのが好ましい。スレーブ処理シス
テムへの全てのDMA転送の行き先は、スレーブ処理シ
ステムのメモリモジュールである。
次いで、メモリ再同期動作により、スレーブ処理システ
ムのDMAエンジンへコマンドを送信しくステップ21
30)そして次のページのDMA転送を開始して完了す
る(ステップ2140)という対話プロセスが開始され
る。スレーブのDMAエンジンへのコマンドは、DMA
転送のサイズ及びスタートアドレスを指示し、スレーブ
処理システムのメモリモジュールがマスターモジュール
と同一に構成されるよう確保する。これらのステップは
、全てのマスターメモリの転送が完了する(ステップ2
150)まで繰り返される。
全てのマスターメモリの転送が完了すると(ステップ2
150)、マスタープロセッサはそのCPUレジスタの
全ての内容を後で再ブートストラップ動作に使用するた
めにメモリに記憶する(ステップ2160)。CPUレ
ジスタの内容がマスターメモリに記憶されることにより
、それらがスレーブメモリにも記憶される。次いで、バ
ルクメモリ転送動作が開始されて、再同期プロセスを開
始することができるようにされる。
メモリ再同期動作においては、第20E図のメモリアレ
イ600’、即ち「マスター」からのデータがメモリ制
御器70′及び75′、クロスリンク90′及び95′
、クロスリンク9o及び95、並びにメモリ制御器70
及び75を同時に通過し、このときに、レール間エラー
チェックのためにデータが比較される。メモリ制御器7
0がらのデータは、メモリアレイ600に入れられる。
2、コールドブートストラップ メモリ再同期動作を除けば、前記したデータ経路は、全
て、ゾーン11及び11′がロックステップ同期状態に
あるときに生じる。然し乍ら、耐欠陥コンピュータシス
テム10は、プロセッサ20及び20’ がロックステ
ップ同期状態にないときの動作も受は入れねばならない
。これら状態の1つは、初期化時の「コールド」ブート
ストラップ動作中に生じる。別の状態は、以下に述べる
メモリ再同期動作中に生じる。
第22A図ないし第22H図は、CPUモジュール30
及び30’ をロックステップ同期状態にもっていくブ
ートストラップシーケンスを示すフローチャートである
一般に、ステップ2228のようなエラー状態において
は、他のゾーンに成る刺激に対する不適当な応答が与え
られる。他のゾーンからの適当な応答を受は取り損なっ
たことに対する応答は、そのゾーンによって生じたエラ
ーを記録することである。この情報は、現場のサービス
要員によってエラーを分析するのに使用することができ
る。
更に、他のゾーンからの適当な応答を受は取り損なった
ことに対する応答は、そのゾーンによって生じたエラー
を記録することである。第22A図ないし第22 II
図においては、ゾーンが一般にゾーンA及びBと称され
る。どうのは、上記した動作が各々のゾーンに適用され
るからである。
コールドブートストラップ動作に入ると(ステップ22
00)、クロスリンク通路がオフに切り換えられ、プロ
セッサが通常の動作に対してセットされる(ステップ2
202)。通常の動作とは、CPUがそれらの各々のメ
モリ制御器を直接的に制御する状態を指す。次いで、C
PUは、CPUに配置されたEEPROMからそれ自身
のブー1−ストラップトークンを読み取る(ステップ2
204)と共に、他のゾーンのCPUからブートストラ
ップトークンを読み取る(ステップ2206)。両方の
プロセッサは、次いで、ゾーンAからの応答を待機しく
ステップ2208)、ブートストラップ動作の目的でゾ
ーンAが「ブートマスター」となるかどうかを判断する
。もしそうであれば、両方のシステムは、ゾーンBがブ
ートストラップ動作のためのブートマスタとなると考え
ているかどうか判断する(ステップ2212)。もしそ
うであれば、ゾーンBは非ブート状態にセットされ、ブ
ートマスターとならない(ステップ2214)。
ステップ2210の判断の結果としてゾーンAがブート
マスターとならない場合には1両ゾーンがゾーンBがブ
ートマスターであるかどうか判断する(ステップ221
6)。ゾーンBがブートマスターでない場合には、ゾー
ンAがブートマスターとしてセットされる(ステップ2
218)。
ステップ2210−2218が行われてブートマスター
が決定された後に、各ゾーンはブートマスターであるか
どうかそれ自身に尋ねる(ステレプ2220)。ブート
マスターとなったゾーンは、第22B図のステップ22
22へ進む。他のゾーンは、第22F図のステップ22
84へ進む6第22A図ないし第22H図のフローチャ
ートの説明上、ゾーンAがブートマスターであるとする
ゾーンAは、先ず、そのオペレーティングシステムをブ
ートする。ブートプロセスの一部分には、システム10
に存在する全てのI10装置を制御するのに必要なテー
ブル記述及びルーチンをロードすることが含まれる。然
し乍ら、ゾーンAのこれらI10装置のみが初期化され
、アプリケーションプログラムに利用できるようにされ
る。
ブートマスターは、ブートシンプレックス手順に入り(
ステップ2222)、これは、ゾーンAがゾーンBから
のメツセージの受信を待機する(ステップ2224)状
態で開始する。ゾーンBからメツセージを受信すると、
ゾーンAは、ゾーンBがゾーンAと接続する要求をなし
たがどうかの判断をする(ステップ2226)。もしそ
うでなければ、プロセスはエラー状態2228へ入り、
ブートストラップ手順が完了され、ゾーンは非同期状態
に保たれる。ゾーンBが接続の要求をなした場合には、
ゾーンAがゾーンBに「イエス」の応答を出しくステッ
プ2230)そしてゾーンAが再びゾーンBの応答を待
機する(ステップ2232)。ゾーンBがIloを供給
しない場合には(即ち、ゾーンBがそのI10装置の制
御を保持する場合には)、別のエラー状態に入り(ステ
ップ2236)、ブートストラップ手順が終了される。
ゾーンBがIloを供給する場合には、ゾーンAがゾー
ンBのクロスリンク状態を読み取る(ステップ2238
)。ゾーンBのクロスリンク状態がゾーンBがクロスリ
ンクスレーブであることを指示しない場合には(ステッ
プ2240)、エラー状態に入り(ステップ2242)
そしてブートストラップ手順が再び終了される。
ゾーンBのクロスリンク状態が該ゾーンがクロスリンク
スレーブモードにあることを指示する場合には(ステッ
プ2240)、ゾーンAがそれ自身のクロスリンク状態
を「マスター」にセットする(ステップ2244)。ゾ
ーンBの■/○装置が初期化され、アプリケーションプ
ログラムに対して利用できるようにされる。ゾーンAは
ゾーンBからの要求を待機する(ステップ2246)。
ゾーン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′にもセーブされる。セーブされた値のメモリ
アドレスは、クロスリンクのセーブ状態レジスタに書き
込まれる。従って、ゾーンAの全ての処理は保留され、
キャッシュメモリがフラッシュされる。アプリケーショ
ン処理を再スタートするのに必要な全ての情報はメモリ
アレイ60及び60′に常駐する。
次いで、ゾーンAは、デユープレックス同期要求をセッ
トしくステップ2274)そしてゾーンBのクロスリン
ク状態を読み取る(ステップ2276)。ゾーンBの状
態が該ゾーンがデュープレックス同期モードにないこと
を指示する場合には、エラー状態に入り(ステップ22
80)そしてブートストラップ手順が終了する。ゾーン
Bがデユープレックス同期モードにある場合には、ゾー
ンAがデユープレックス同期要求をセットし、第22H
図のステップ2308で始まる同期動作に入る。
ゾーンAの動作と同時に、ゾーンBはブートストラップ
のための別の組のステップを実行する。
ブートストラップ技術においてゾーンBがスレーブであ
ると決定された後に、該ゾーンはゾーンAと接続する要
求を発しくステップ2284)そして応答を待機する(
ステップ2286)。ゾーンAの応答がゾーンBに接続
できないという応答である場合には、ゾーンBがコンソ
ール状態に入る。
成る状態のもとでは、1つのゾーンのみと動作すること
が所望される。1つのゾーンはブートできるが、他方の
ゾーンは拡張診断を実行する。
従って、ゾーンAはゾーンBをブートしないように命令
され、ゾーンBが接続の要求を出したときには、許可が
与えられない。次いで、ゾーンBは、コンソールオペレ
ータからの命令をコンソール状態で待機する。
ゾーンAがゾーンBの接続要求に対して「イエス」の応
答を出した場合には、ゾーンBがその■/○を手放しく
ステップ2290)、そのクロスリンク状態を「スレー
ブ」モードにセットしそして再同期動作を要求する(ス
テップ2294)。
次いで、ゾーンBはゾーンAからの応答を待機する(ス
テップ2296)。
ゾーンBの再同期要求に対するゾーンAの応答が「イエ
ス」でない場合には(ステップ2298)、ゾーンBが
コンソール状態2300に入り、ブートストラップ動作
が終了される。ゾーンAがゾーンBの再同期要求に対し
て「イエス」の応答を出した場合には(ステップ229
8)、ゾーンBが「再同期レディ」メツセージをゾーン
Aに送り(ステップ2302)そしてそのクロスリンク
状態を「スレーブ」モードにセットする(ステップ23
04)。次いで、ゾーンBは、同期動作に入るまでゾー
ンAからの再同期を待機する。 1ブートストラツプル
ーチンがまだ終了されないか又はコンソール状態に入ら
ない場合には、両ゾーンがゾーンAのクロスリンク状態
を読み取る(ステップ2308)と同時に、ゾーンBの
クロスリンク状態を読み取る(ステップ2310)。
両方のクロスリンク状態が等しい場合には(ステップ2
312)、ブートストラップが完了しそしてブートスト
ラップ手順が終了される。
クロスリンクA及びクロスリンクBの状態が等しくない
場合には、クロスリンクがオフにされ(ステップ231
4)そして両方のプロセッサがブートマスターとなるか
どうか質問する(ステップ2316)。クロスリンク状
態が不一致であることは、2つのゾーンの同期がうまく
とれなかったことを意味する。ブートマスターゾーン(
ゾーンA)は、スレーブゾーン(ゾーンB)の構成テー
ブルから装置を除去し、そして処理を続行する。
ゾーンBは、コンソール状態において、コンソールオペ
レータが更に別の命令を与えるのを待機する。ブートマ
スターであるゾーンについては、ブートストラップルー
チンが終了される(ステップ2316)、他のゾーンに
ついては、コンソール状態に入り(ステップ2318)
、次いで、ブートストラップルーチンが終了される。
3、メモリ再開 動 メモリ再同期動作は、コールドブートストラップ手順の
間と、以下に述べるように、ゾーンが同期を失うように
させる過渡エラーが検出された後とに使用される。一方
のゾーンは、好ましくは、他方のゾーンの動作を停止さ
せることなく再同期しなければならない。このような再
同期にとって重要なことは、コンピュータシステム1o
を完全に停止することなくメモリアレイ600及び6゜
O′を互いに等しくセラ1−する技術である。これは、
メモリ再同期によって行われる。
メモリ再同期のフローチャートが第23図に示されてい
る。メモリ再同期のための一連のシーケンスの多くは、
ブートストラップ動作に用いられたものと同様である。
これらのシーケンスは、簡単にいえば「ルーチン」と称
され、第22図のブートストラップ動作のフローチャー
トに示された一連のシーケンスに相関される。
メモリがコピーされるゾーンは「マスター」であり、マ
スターメモリのコピーを受は取るゾーンは「スレーブ」
と称する。マスターはクロスリンクマスターでもあり、
スレーブはクロスリンクスレーブでもある。メモリ再同
期の初期化時に、マスターのクロスリンクは「クロスリ
ンクオン(マスター)」モードである。マスターが他の
ゾーンから再同期要求を受は取ると(ステップ2320
)、マスターは[イエスjで応答しくステップ2322
)そしてスレーブからの応答を待機する(ステップ23
24)。マスターは応答を受は取ると、メモリ再同期(
マスター)ルーチンに入り(ステップ2326)、これ
は、第22B図及び第22C図に示されたステップ22
56ないし2282より成る。次いで、変更されたブー
トストラップルーチンである自動ウオーム再スタート手
順が開始される。この手順については以下で述べる。
そのメモリが同期されることを要求しているゾーンで、
スレーブとなるようなゾーンが再同期を所望していると
きには(ステップ2330)、「再同期要求」をマスタ
ーへ送り(ステップ2332)そして応答を待機する(
ステップ2334)。
マスターからの応答を受は取ると、メモリ再同期(スレ
ーブ)ルーチンを開始する。これは、第22G図に示す
ブートストラップルーチンのステップ2298ないし2
306で構成される。このルーチンが完了すると、スレ
ーブは自動ウオーム再スタート手順を開始しくステップ
2338)、次いで1両ゾーンはゾーン再同期手順に入
る。
ゾーン再同期ルーチンは、第22H図に示すブートスト
ラップルーチンのステップ2308−2318より成る
。唯一の相違は、第22H図に示されたステップ231
6において、ゾーンがブートマスターであるかどうかで
はなくてクロスリンクマスターであるかどうかをそれ自
体に尋ねる。
4、ウオーム−“スタート ウオーム再スタート手順が第24図に示されている。こ
の手順に入ると、最初に尋ねる質問は、クロスリンクの
状態が何であるかである。それが通常動作、マスター再
同期動作又はスレーブ再同期動作である場合には、ウオ
ーム再同期動作が終了される。
クロスリンク状態が「デユープレックス同期」である場
合には、CPUが一時的に停止され(ステップ2420
)、次いで、コンソールコードに入って(ステップ24
30)、ブートストラップ動作を完了する。スレーブ状
態レジスタが分析される。スレーブ状態レジスタが0で
ある場合には、第22図に示すようにコールドブートス
トラップを行う必要がある(ステップ2450)。さも
なくば、CPUレジスタは所定のメモリ位置からロード
され、これらはスレーブ状態レジスタの値+4であるの
が好ましい(ステップ2460)。次いで、スレーブ状
態レジスタによって指示された位置へ分岐がなされる(
ステップ2470)、この後者の動作によりオペレーテ
ィングシステム及び全ての保留されたジョブが再スター
トされる。
D、欠陥検出、分離及び修理 1、トレースRAM 欠陥検出のための種々の方法は、CPUモジュール3o
及び30′とファイアウオール1000及び1010と
の説明において既に述べた。これらの方法は、メモリ制
御器から受は取ったアドレス及び制御信号が同じである
ことをメモリモジュール60及び60′によってチエツ
クすることと、修正不能なメモリデータのエラーをチエ
ツクすることとを含む。又、これらの方法は、2つの「
レール」を通過するアドレス、制御及びデータ信号が同
じであることをメモリ制御器の対70/75及び70’
 /75’によって比較することも含む。又、ファイア
ウオール1000及び1010は、I10書き・込み中
にゾーンからのデータを比較するチエッカを有している
。他の欠陥検出機構も考えられる。
処理システム20及び20′の欠陥停止機能と矛盾しな
いように、処理システムの欠陥検出は。
欠陥が制御されない状態で他のモジュールへ伝播されな
いようにする。然し乍ら、フェイスセーフ機能を実現す
るためには、コンピュータシステム10は、欠陥の発生
源を分離してシステムを修理することができねばならな
い。欠陥の発生源を探索するための好ましい技術は、ト
レースRAMと称する再循環レジスタを使用しており、
これらのRAMは処理システム20及び201のデータ
経路全体にわたって配置されている。これらのトレース
RAMは、それに関連したデータ経路を経て送られる連
続するメツセージを記録する。欠陥が生じたときには、
欠陥の発生源を探索するようにメツセージが分析される
第25図は、コンピュータシステム10におけるトレー
スRAMの好ましい位置を示すCPUモジュール30及
びI10モジュール100のブロック図である。他の位
置を使用することもできる。処理システム20において
は、トレースRAMが全てのデータ経路に配置されるの
が好ましい。
従って、第25図において、トレースRAM2500及
び2505は、各々、メモリ制御器70及び75に配置
される。トレースRAM2510゜2515及び251
8はクロスリンク90の全てのインターフェイスに配置
され、そしてトレースRAM2520.2525及び2
528はクロスリンク95の全てのインターフェイスに
配置される。トレースRAM1872及び1877は各
々ファイアウオール1000及び1010に配置される
。相補的な組のトレースRAMは、処理システム20′
に配置される。
トレースRAMの選択及び配置はぼり任意であるが、好
ましくは、エラーのソースを正確に識別してエラー源を
識別できるようにするためには各データ経路が少なくと
も1つのトレースRA Mを含んでいなければならない
トレース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図において、
トレースRA M 2518は、モジュール相互接続部
130におけるN個の最新のトランザクションのコピー
を保持する。
2、朋プ鑑り之ニー 第27図は、エラー又は欠陥が検出されたときにその発
生源を分離するのに使用される手順を示すフローチャー
トである。エラーは、「内実」な状態を繰り返さない「
間欠的」なものであるか、このような状態を繰り返すも
のである。成る要素によって欠陥が検出されると、エラ
ー信号がそれに関連したクロスリンク(即ち、ファイア
ウオール1000及びメモリ制御器70のクロスリンク
90)に送られる。クロスリンクはCPUに割り込むか
又はCPUがトラップ状態に入るようにさせる。
一般に、エラー信号は、ファイアウオール又はメモリ制
御器からのものである場合には1つのサイクルでクロス
リンクへ送られそしてメモリアレイからのものである場
合には2つのサイクルでクロスリンクに送られる。次い
で、クロスリンクの遅延要素は、両ゾーンのCPUがエ
ラー又は欠陥について同時に通知されるように(即ち、
割込み又はトラップによって)確保する。
同時に、FREEZE  TRACE  RAM信号は
、エラーを検出した要素からコンピユータシステム10
全体にわたって伝播する(ステップ2700)、、:m
(7)FREEZE  TRACE  RAM信号は、
一般に、そのゾーンのクロスリンクの到達するのに1つ
又は2つのメモリサイクルを必要とし、他のゾーンのク
ロスリンクと、エラーが見つかったゾーンのファイアウ
オール及びメモリ制御器とに到達するのに別のサイクル
を必要とし、そして非欠陥ゾーンのファイアウオール及
びメモリ制御器に到達するのに別のクロックサイクルを
必要とする。
CPUは、マシンチエツクルーチンに入り(ステップ2
702)そしてCPUが既にマシンチエツクルーチンに
ある間にエラーが検出されたかどうかを判断することに
より(ステップ2705)トラップ又は割込みを処理す
る。エラーが検出された場合には、そのエラーが内実な
エラーであるとされ、システムは、第28A図ないし第
28C図に示す内実な欠陥を分離する手順を開始する。
CPUがマシンチエツク手順にない場合には。
検出されたエラーが間欠的であるとされる。次いで、C
PUは入力フラグをセットしくステップ2710)、そ
のエラーを分離する手順を開始する。
この入力フラグは、割込みが生じたときにCPUがマシ
ンチエツク手順にあるかどうかを判断するためにステッ
プ2705においてテストされるフラグである。
次いで、全てのトレースRAMデータがトレースRAM
バスを介してその処理システムに関、連したファイアウ
オールに読み込まれる(ステップ2720)、次いで、
診断マイクロプロセッサは、全てのトレースRAMデー
タをロードしくステップ2730)、CPU40.50
.40′及び50′に転送する(ステップ2735)。
次いで、各CPUは、エラー信号を送った要素でスター
トしくステップ2740)、要素の欠陥源を分離する。
トレースRA Mデータの比較は、2500 / 25
05.2510/2520.2515/2525、等の
ような対向するレール上の同じ位置のトレースRAMか
らのデータを比較することによって行われる。対応する
メツセージ(即ち、トレースRAMの同じ深さにあるメ
ツセージ)が比較されて、エラー(即ち、対応するメツ
セージ間の不一致)が検出されたかどうか調べられる。
エラー検出器においてトレースRAMが分析された後に
、次のトレースRAMは、欠陥が生じた動作中にデータ
がたどった経路を逆にたどる。従って、CPUの読み取
りに対しては、経路がCPUから離れる方向となる。
エラー検出ルーチンの最初の段階においては、CPUモ
ジュール30及び30′の各レールからのトレースRA
Mデータが比較される(ステップ2750)。別々のレ
ールにおけるトレースRAM間にエラーがなくて(ステ
ップ2752)、対応するデータ経路におけるトレース
RAMデータが等しいことを意味する場合には、他のデ
ータ経路の存在が決定される(ステップ2754)。他
のデータ経路が保持される場合には、別の経路がとられ
(ステップ2756)、次の比較が行われる(ステップ
2750以降)。
他の経路がない場合には、CPUは、チエツクされたト
レースRAM対が第1のものであるかどうか判断する(
ステップ2758)。もしそうであれば、例えば、CP
U読み取りの際にファイアウオール1000及び101
0において最初にデータが受は取られたときにエラーが
生じているはずである。この点では単一のデータレール
が2つの経路に分割されているので、データは同じはず
であり、従って、エラー検出器はrカルブリット(罪人
)」であ°ると考えられ、欠陥であると記録される(ス
テップ2760)。次いで、入力フラグがクリアされ(
ステップ2762)、これはマシンチエツクルーチンの
終了を指示すると共に割込みをクリアし、そしてマシン
チェックルーチンが終了となる(ステップ2764)。
ステップ2754及び2758において他の経路が保持
されないが現在のトレースRAM対がチエツクされた最
初の対ではないことが判断された場合には、エラーがそ
の経路において手前のレベルで生じたものと判断される
。というのは、これは、トレースRAMがデータの変更
を発生時に記録した場合であると共にエラーが最初に生
じた場合だからである(ステップ2766)。次いで、
ステップ2762及び2764において、各々、入力フ
ラグがクリアされ、そしてマシンチエツクルーチンが終
了される。
然し乍ら、ステップ2752においてエラーが指示され
た場合には、そのエラーがオペレーションソースである
かどうかについて次の判断がなされる(ステップ277
0)。「オペレーションソース」とは、特定の経路に対
するデータ経路の開始を短く表現したものである。もし
そうでなければ、経路はオペレーションソースに向かっ
て後退され(ステップ2775)、レール間で別の比較
がなされる(ステップ2750以降)。ステップ277
0においてエラーチェックルーチンがそのときオペレー
ションソースであると判断された場合には、各々、その
オペレーションソースが欠陥の位置として記録され(ス
テップ2780)、入力フラグがクリアされ(ステップ
2762)そしてマシンチエツクルーチンが終了される
(ステップ2764)。
3、J!3i!!JIL 欠陥が内実欠陥であると判断されると(第27図参照)
、第28A図ないし第28C図のフローチャートに示す
ようにこのような内実欠陥を分離する手順が開始される
。内実欠陥処理の第1の゛ステップは、耐欠陥コンピュ
ータシステム10をその2つの別々のゾーン11及び1
1′に分割することである(ステップ2800)。これ
は、全てのクロスリンクをオフに切り換えることによっ
て行われる。次いで、各ゾーンの診断マイクロプロセッ
サがそれらゾーンに対するトレースRAMデータを読み
取り(ステップ2805)そしてそのデータをデュアル
レールアクセスによってゾーンのCPUに送る(ステッ
プ2810)。このプロセス中にエラーが検出された場
合には(ステップ2815)、エラー処理中にハードウ
ェア欠陥が生じており、そのゾーンがコンピュータシス
テム10から除去される(ステップ2820)。欠陥を
報告する試みがなされる(ステップ2825)が、ハー
ドウェア欠陥であるためにこれは不可能であり、この手
順はコンソールへと続く。これにより、コンソールオペ
レータは詳細な診断テストを開始して、内実欠陥を探索
することができる。
トレースRAMデータのデュアルレールアクセス中にエ
ラーが検出されない場合には、そのトレースデータが分
析される(ステップ2830)。
この分析に用いる手順は、過渡エラー分析のステップ2
740−2780に類似している。然し、ゾーンが分割
されていて一方のゾーンでしかエラーが検出されないの
で1手順に相違が生じる。このような場合の手順は、分
析を行っているゾーンではエラーを示さず、クロスリン
クにおいてエラーを示す。分析中にハードウェア欠陥が
検出された場合には、そのゾーンが除去され(ステップ
2820)、報告の試みがなされ(ステップ2825)
そして手順はコンソールへと続く。
トレースRAMデータのゾーン分析によりエラーがある
ことが示された場合には(ステップ2835)、エラー
の位置が検討される(ステップ2840)。エラーがゾ
ーン内にある場合には。
欠陥がもはやハード即ち内実でないことが決定されるか
又は多数の欠陥が存在することが分かり、過渡欠陥を分
離しようと試みる間に生じる過渡欠陥は元の過渡欠陥を
見掛は上内実であるようにする(ステップ2845)。
まれなことであるが、このような状態は、エラー処理中
にハードウェアの欠陥が生じた場合にたどるステップに
類似した更に別の分析を必要とし、欠陥を生じたゾーン
がシステムから除去され(ステップ2850)、エラー
を報告する試みがなされ(ステップ2855)そして内
実欠陥手順を終了してコンソールへ至る。
ステップ284oにおいて、クロスリンクに欠陥がある
と決定された場合には、欠陥が実際にはクロスリンク通
路25にあるか又は他のゾーンにある(ステップ286
0)。このような場合、第28B図に示すように、その
ゾーンは、そのエラー分析を直列クロスリンクを経て他
のゾーンへ送り(ステップ2865)そして他のゾーン
が応答するかどうかについて判断がなされる(ステップ
2868)。他のゾーンからの応答がない場合には(ス
テップ2870)、他のゾーンが不作動であると判断さ
れ、欠陥が報告される(ステップ2870)。次いで、
エラー状態がクリアされ(ステップ2875)、内実欠
陥分析ルーチンが完了する。
他のゾーンが応答する場合には、更に別のエラー分析が
行われて、他のゾーンが欠陥状態にあるかどうか又はク
ロスリンクが欠陥状態にあるかどうかの判断がなされる
(ステップ2877)。
ステップ2877の分析によって他のゾーンが欠陥状態
にあると分かった場合には、該他のゾーンに欠陥が生じ
たと報告され(ステップ2879)、エラー状態がクリ
アされ(ステップ2875)そして内実欠陥分析手順が
完了する。
一方、ステップ2877の分析結果がクロスリンクが欠
陥状態にあるというものであった場合には、直列クロス
リンクを介して欠陥のあるクロスリンクを識別する試み
がなされる(ステップ2881)。これは、第28A図
のステップ2835と同様の手順によって行われる。欠
陥のあるクロスリンクが識別されると、欠陥のあるゾー
ンが除去されそして欠陥が報告される(ステップ288
3)。次いで、エラー状態がクリアされ(ステップ28
75)そして内実欠陥の分析手順が完了する。
ステップ2835において、トレースRAMデータが分
析されそして他のゾーンに欠陥があると判断された場合
には、第28C図の手順をたどる。この手順において、
ゾーンは直列クロスリンクを経てトレースRAMの分析
結果を交換しくステップ2885)そして他のゾーンが
応答しているかどうか判断される(ステップ2887)
。他のゾーンが応答しない場合には、そのゾーンが欠陥
として報告され(ステップ2889) 、エラー状態が
クリアされ(ステップ2891)そして内実欠陥の分析
ルーチンが完了する。
応答が受信された場合には(ステップ2887)、第2
8B図のステップ2835のエラー分析に類似したエラ
ー分析が実行される(ステップ2893)。エラー分析
は2つの結論のうちの1つに到達する。その結論が他の
ゾーンが欠陥状態にあるというものである場合には、そ
のゾーンが欠陥として報告される(ステップ2889)
。その結論がクロスリンクが欠陥状態にあるというもの
である場合には、クロスリンク又は他のゾーンが欠陥で
あると報告される(ステップ2895)。
ステップ2889又は2895の報告の後に、エラー状
態がクリアされ(ステップ2891)そして分析手順が
終了する。
4.1夷 第27図及び第28A図ないし第28C図に示された欠
陥及び内実欠陥分離手順の結果、CPUモジュール(即
ち、CPU/メモリ/メモリ制御器の組み合わせ);ク
ロスリンク;クロスリンク通路25;モジュール相互接
続部;又はI10モジュール内においてエラー又は欠陥
が探索されたとすることができる。一般に、間欠欠陥が
検出された場合には、耐欠陥コンピュータシステム10
のCPUが間欠欠陥の位置を指示し、増分カウンタが欠
陥要素に対する間欠エラーの数を指示する。要素に対す
るカウントが所定数を越えない限りそれ以上の動作は生
じない。カウントが所定数を越えて、間欠欠陥の生じる
頻度が許容するには高過ぎることを指示する場合、又は
検出された欠陥が内実欠陥である場合には、モジュール
又は要素に欠陥があり、それらを作動不能にして、その
要素を含むモジュールを交換できるまで耐欠陥コンピュ
ータシステム10が効果的に動作を続けられるようにし
なければならない。
CPUモジュールが欠陥であると分かった場合には、そ
のモジュールのクロスリンクをrデユープレックス」モ
ードから「スレーブ」モードに切り換えることによって
そのモジュールを動作不能にしなければならない。「ス
レーブ」モードにおいては、モジュールをそのクロスリ
ンク診断制御レジスタによって他のゾーンのCPUモジ
ュールと通信するしかない。動作不能にされたCPUモ
ジュールはコンソールモジュールに復帰される。
クロスリンクが欠陥であると分かった場合には、欠陥状
態にあるクロスリンクの部分に基づいて3つの動作のう
ちの1つをとることができる。
メモリ制御器に接続されたクロスリンクの部分は、実際
には、それに関連したCPUモジュールから区別するこ
とができない。その部分に欠陥がある場合には、CPU
モジュールを動作不能にしたのと同じ手順を行わねばな
らない。
モジュール相互接続部に接続されたクロスリンクの部分
は、実質上、モジュール相互接続部と区別することがで
きない。この状態においてクロスリンクを動作不能にす
るプロセスは、モジュール相互接続部を動作不能にする
手順と同じである。
クロスリンクの一部分は、クロスリンク通路と実質上区
別できないクロスリンク通路25に接続される。この場
合、又は欠陥がクロスリンク通路にある場合には、クロ
スリンクをオフに切り換えると共に、欠陥のあるクロス
リンクを含むと考えられるCPUモジュールを動作不能
にすることにより、ゾーンが分割される。然し乍ら、欠
陥の発生源を決定できない場合には、CPUモジュール
30及び30’の所定の1つが先ず動作不能にされる。
エラーが持続する場合には、他のCPUモジュールが再
ブートされ、予め選択されたモジュールが動作不能にさ
れる。
同じ手順を使用して、欠陥のあるI10モジュールや、
モジュール相互接続部や、モジュールインターフェイス
に欠陥の生じたクロスリンクが動作不能にされる。3つ
全ての状態において、欠陥はI10モジュールを伴うト
ランザクション中に生じ、従って、工/○モジュールが
動作不能にされる。これは、全てのCPU40.50.
40′及び50′のオペレーティングシステムにその工
10モジュールの参照記号を除去するように通知するこ
とによって行われる。
クロスリンク又はモジュール相互接続部の欠陥を表わす
欠陥が生じた場合には、それらのモジュールを含むゾー
ンを動作不能にすることができる。これに対する好まし
い解決策は、欠陥が生じたときに通信状態にあるI10
モジューを動作不能に保持することである。モジュール
相互接続部及びクロスリンクの当該部分も、接続された
全てのI10モジュールが動作不能にされたときに実際
上動作不能にされる。I10モジュールをもたないCP
Uモジュールは、大部分の目的に対し実際上動作不能に
される。
藍筑 以上、好ましい実施例について示した本発明は、前記し
た本発明の目的を達成する。本発明の装置及び方法につ
いて種々の修正及び変更がなされることが当業者に明ら
かであろう。従って、本発明は、その広い観点において
、前記した特定の細部、代表的な方法及び装置、並びに
解説のための例に限定されない。従って、本発明の一般
的な考え方の精神又は範囲から逸脱せずに上記細部とは
異なったものが考えられる。
【図面の簡単な説明】
第1図は、本発明による耐欠陥コンピュータシステムの
ブロック図、 第2図は、第1図の耐欠陥コンピュータシステムを含む
物理的なハードウェアを示す図、第3図は、第1図の耐
欠陥コンピュータシステムに示されたCPUモジュール
のブロック図、第4図は、第1図に示されたコンピュー
タシステムの相互接続されたCPUモジュール及びI1
0モジュールのブロック図、 第5図は、第1図に示された耐欠陥コンピュータシステ
ムのメモリモジュールを示すブロック図、 第6図は、第5図に示されたメモリモジュールの要素を
示す詳細図、 第7図は、第3図に示されたCPUモジュールの一次メ
モリ制御器を示すブロック図。 第8図は、第3図のCPUモジュールに含まれたミラー
メモリ制御器のブロック図、第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図のコンピュータシステムに対するクロスリンク通路
の要素を詳細に示す図、第2OA図ないし第20E図は
、第1図のコンピュータシステムのデータ流れ線図、第
21図は、第1図のコンピュータシステムによるバルク
メモリ転送のための論理流れ線図、第22A図ないし第
221−1図は、第1図のコンピュータシステムのブー
トストラップ動作のための論理流れ線図、 第23図は、第1図のコンピュータシステムのメモリ再
同期動作のための論理流れ線図、第24図は、第1図の
コンピュータシステムのウオーム再スタート手順のため
の論理流れ線図、第25図は、トレースRAMの配置を
含む第1図のコンピュータシステムのブロック図、第2
6図は、トレースRAMのブロック図、第27図は、第
1図のコンピュータシステムについて間欠欠陥を分離す
るための論理流れ線図、そして 第28A図ないし第28C図は、第1図のコンピュータ
システムにおいて内実欠陥を分離するための論理流れ線
図である。。 図中: 10・・・耐欠陥コンピュータシステム11.11′ 
・・・ゾーン 12.12′ ・・・キャビネット 13・・・バッテリ 14・・・電力レギュレータ 16・・・冷却ファン  17・・・交流入力20.2
02 ・・・処理システム 30.30’  ・・・CPUモジュール40.50・
・・CPU 42.52・・・キャッシュメモリ 43.53・・・キャッシュバス 44.54・・・システムサポート及びキャッシュ制御
器 60・・・メモリモジュール 70.75・・・−次メモリ制御器 80.82・・・バス 100.110.120−−− I10モジュール13
0.132・・・モジュール相互接続部600・・・メ
モリアレイ 610・・・制御論理回路 612・・・−次制御信号デマルチプレクサ614・・
・ミラー制御信号デマルチプレクサ616・・・−次制
御信号ドライバ 618・・・システムタイミング制御信号発生器620
・・・構成エラー論理回路 625・・・エラー処理論理回路 626・・・E E P ROM 630・・・比較論理回路 632・・・行及び列アドレスメモリドライバ634・
・・アドレス比較器 636・・・制御信号比較器 638・・・ECC信号比較器 640・・・データ及びECCトランシーバ642・・
・ECC発生器 第15.図 第16図 vre+2 第2Z図 ノマルクメモリ転送 第22F図 第221−1図 第23.図 メ七り再同期 第240図 ウオーム再スタート 第26図 トレースRAM 第28B、図 第21に、図

Claims (19)

    【特許請求の範囲】
  1. (1)中央処理システムを具備し、これは、少なくとも
    1組のデータ通路と、該複数のデータ通路に沿ってメッ
    セージを転送することを含む一連のデータ処理命令を実
    行する手段とを備えており、更に、上記少なくとも1組
    のデータ通路に接続され、上記少なくとも1組のデータ
    通路を経て最も最近転送された所定数の連続するメッセ
    ージを記憶するための少なくとも1組のトランザクショ
    ンデータ記憶手段を具備し、 更に、上記中央処理システムにおけるエラーの存在を検
    出するためのエラーチェック手段を具備し、そして 更に、上記少なくとも1組のトランザクションデータ記
    憶手段及び上記エラーチェック手段に接続され、上記エ
    ラーチェック手段によるエラーの検出に応答して上記少
    なくとも1組のトランザクションデータ記憶手段がそれ
    以上のメッセージの記憶を停止するようにさせるエラー
    記憶手段を具備したことを特徴とする耐欠陥コンピュー
    タシステム。
  2. (2)更に、上記エラーチェック手段によるエラーの検
    出に応答して上記少なくとも1組のトランザクションデ
    ータ記憶手段からデータを収集する手段を具備した請求
    項1に記載の耐欠陥コンピュータシステム。
  3. (3)更に、上記少なくとも1組の通路におけるエラー
    のソースを分離するために上記収集したデータを分析す
    る手段を具備した請求項2に記載の耐欠陥コンピュータ
    システム。
  4. (4)更に、未知の位置のデータ欠陥が上記1組のデー
    タ記憶手段を通過したかどうかを検出するために上記少
    なくとも1組のトランザクション記憶手段内に記憶され
    たデータの対応する深さを比較する手段を具備した請求
    項2に記載の耐欠陥コンピュータシステム。
  5. (5)更に、上記少なくとも1組のトランザクションデ
    ータ記憶手段において所与の記憶レベルに記憶されたデ
    ータを比較するための手段と、上記少なくとも1組のト
    ランザクションデータ記憶手段に記憶されたデータの比
    較に応答して、任意の記憶深さに記憶されたデータの比
    較により上記少なくとも1組のトランザクションデータ
    記憶手段を欠陥が通過しなかったことが指示されたとき
    に上記少なくとも1組のデータ通路の一部分を分離する
    ための手段とを具備した請求項1に記載の耐欠陥コンピ
    ュータシステム。
  6. (6)上記少なくとも1組のデータ通路に沿って配置さ
    れた少なくとも第2組のトランザクションデータ記憶手
    段を具備し、これにより、上記少なくとも1組のトラン
    ザクションデータ記憶手段の所与の記憶レベルにおける
    データを比較するための上記手段は、上記第1組のトラ
    ンザクションデータ記憶手段におけるデータ比較が欠陥
    が通過しなかったことを指示するときに該第2組のトラ
    ンザクション記憶手段における対応する記憶レベルのデ
    ータを比較する請求項5に記載の耐欠陥コンピュータシ
    ステム。
  7. (7)上記トランザクションデータ記憶手段の組の数は
    、上記データ通路の全ての交換可能な部分を分離するに
    充分なものである請求項1に記載の耐欠陥コンピュータ
    システム。
  8. (8)上記少なくとも1組のデータ通路の一部分を分離
    する上記手段は、上記第2組のトランザクションデータ
    記憶手段に記憶されたデータの比較により上記第2組の
    トランザクションデータに欠陥が通過しなかったことが
    指示されるのに応答して、上記第1組と第2組のトラン
    ザクションデータ記憶手段の間でこれらの部分を分離す
    るように働く請求項6に記載の耐欠陥コンピュータシス
    テム。
  9. (9)第1の中央処理システムを具備し、これは、少な
    くとも1組の第1データ通路と、該少なくとも1組の第
    1データ通路に沿ってメッセージを転送することを含む
    一連のデータ処理命令を実行する第1手段とを備えてお
    り、 更に、第2の中央処理システムを具備し、これは、少な
    くとも1組の第2データ通路と、該少なくとも1組の第
    2データ通路に沿ってメッセージを転送することを含む
    上記一連のデータ処理命令を実行する第2手段とを備え
    ており、 更に、上記第1及び第2の中央処理システムに接続され
    て、これら第1及び第2の中央処理システムによる上記
    一連のデータ処理命令の実行を同期状態に維持する同期
    手段を具備し、 更に、上記第1と第2の中央処理システムの間でクロス
    リンク通路を経てメッセージを転送するためのクロスリ
    ンク通信手段を具備し、 更に、上記少なくとも1組の第1データ通路及び少なく
    とも1組の第2データ通路と上記クロスリンク通路とに
    接続され、上記組の第1及び第2のデータ通路及び上記
    クロスリンク通路を経て最も最近転送された所定数の連
    続するメッセージを記憶するためのトランザクションデ
    ータ記憶手段を具備し、 更に、上記第1及び第2の中央処理システムにおけるエ
    ラーの存在を検出するためのエラーチェック手段を具備
    し、そして 上記トランザクションデータ記憶手段及び上記エラーチ
    ェック手段に接続され、上記エラーチェック手段による
    エラーの検出に応答して上記トランザクションデータ記
    憶手段がそれ以上のメッセージの記憶を停止するように
    させるエラー記憶手段を具備することを特徴とする耐欠
    陥コンピュータシステム。
  10. (10)更に、上記エラーチェック手段によるエラーの
    検出に応答して上記トランザクションデータ記憶手段か
    らデータを収集する手段を具備した請求項1に記載の耐
    欠陥コンピュータシステム。
  11. (11)上記収集したデータは、上記第1及び第2組の
    通路の各々又は上記クロスリンク通路に沿った欠陥のソ
    ースを分離するに充分なものである請求項10に記載の
    耐欠陥コンピュータシステム。
  12. (12)更に、未知の位置のデータ欠陥が上記トランザ
    クションデータ記憶手段を通過したかどうかを検出する
    ために上記トランザクションデータ記憶手段内に記憶さ
    れたデータの対応する深さを比較する手段を具備した請
    求項10に記載の耐欠陥コンピュータシステム。
  13. (13)上記トランザクションデータ記憶手段内の所与
    の記憶レベルに記憶されたデータを比較する手段と、 上記トランザクションデータ記憶手段内に記憶されたデ
    ータの比較に応答して、任意の記憶深さに記憶されたデ
    ータの比較により上記トランザクションデータ記憶手段
    に欠陥が通過しなかったことが指示されたときに上記組
    のデータ通路の一部分を分離するための手段とを更に具
    備した請求項9に記載の耐欠陥コンピュータシステム。
  14. (14)上記組のデータ通路に沿って配置された少なく
    とも第2のトランザクションデータ記憶手段を具備し、
    これにより、所与のデータを比較するための上記手段は
    、上記トランザクションデータ記憶手段のデータ比較が
    欠陥が通過しなかったことを指示するときに該第2のト
    ランザクション記憶手段における同じ記憶レベルのデー
    タを比較する請求項13に記載の耐欠陥コンピュータシ
    ステム。
  15. (15)上記トランザクションデータ記憶手段の数は、
    上記組のデータ通路の全ての交換可能な部分を分離する
    に充分なものである請求項9に記載の耐欠陥コンピュー
    タシステム。
  16. (16)上記組のデータ通路の一部分を分離する上記手
    段は、上記第2のトランザクションデータ記憶手段に記
    憶されたデータの比較により上記第2のトランザクショ
    ンデータ記憶手段に欠陥が通過しなかったことが指示さ
    れるのに応答して、上記第1と第2のトランザクション
    データ記憶手段の間でこれらの部分を分離するように働
    く請求項14に記載の耐欠陥コンピュータシステム。
  17. (17)上記トランザクションデータ記憶手段は、複数
    の円形バッファを備えている請求項9に記載の耐欠陥コ
    ンピュータシステム。
  18. (18)上記エラーチェック手段は、2つの対になった
    データ通路におけるデータが互いに等しくないことをエ
    ラーとして検出するための比較器を備えている請求項9
    に記載の耐欠陥コンピュータシステム。
  19. (19)上記トランザクションデータ記憶手段に接続さ
    れ、上記エラーチェック手段によりエラーが検出された
    後に上記トランザクションデータ記憶手段に記憶された
    メッセージを収集するための診断プロセッサを備えてい
    る請求項9に記載の耐欠陥コンピュータシステム。
JP63222172A 1987-09-04 1988-09-05 欠陥分離及び修理機能を有する耐欠陥コンピュータシステム Pending JPH01152543A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US9317987A 1987-09-04 1987-09-04
US093179 1987-09-04

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP1220114A Division JPH02118872A (ja) 1987-09-04 1989-08-25 I/oの読み取りに対するエラーチェック機能を有したデュアルレールプロセッサ

Publications (1)

Publication Number Publication Date
JPH01152543A true JPH01152543A (ja) 1989-06-15

Family

ID=22237590

Family Applications (2)

Application Number Title Priority Date Filing Date
JP63222172A Pending JPH01152543A (ja) 1987-09-04 1988-09-05 欠陥分離及び修理機能を有する耐欠陥コンピュータシステム
JP1220114A Pending JPH02118872A (ja) 1987-09-04 1989-08-25 I/oの読み取りに対するエラーチェック機能を有したデュアルレールプロセッサ

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP1220114A Pending JPH02118872A (ja) 1987-09-04 1989-08-25 I/oの読み取りに対するエラーチェック機能を有したデュアルレールプロセッサ

Country Status (5)

Country Link
US (1) US5099485A (ja)
EP (1) EP0306244B1 (ja)
JP (2) JPH01152543A (ja)
CA (1) CA1311849C (ja)
DE (1) DE3854026D1 (ja)

Families Citing this family (88)

* 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
JP2639505B2 (ja) * 1988-10-20 1997-08-13 住友電気工業株式会社 粒状ダイヤモンドの合成方法
KR930007185B1 (ko) * 1989-01-13 1993-07-31 가부시키가이샤 도시바 레지스터뱅크회로
US5148537A (en) * 1989-05-02 1992-09-15 Belsan Jay S Method and apparatus for effecting an intra-cache data transfer
US5251227A (en) * 1989-08-01 1993-10-05 Digital Equipment Corporation Targeted resets in a data processor including a trace memory to store transactions
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
ATE175282T1 (de) * 1989-08-01 1999-01-15 Digital Equipment Corp Gezielte rücksetzungen in einem datenprozessor
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
EP0415545B1 (en) * 1989-08-01 1996-06-19 Digital Equipment Corporation Method of handling errors in software
US5068851A (en) * 1989-08-01 1991-11-26 Digital Equipment Corporation Apparatus and method for documenting faults in computing modules
FR2658934B1 (fr) * 1990-02-28 1992-04-30 Bull Sa Architecture de systeme et utilisation de cette architecture dans un procede de remplacement de cartes.
US5544347A (en) 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5278969A (en) * 1991-08-02 1994-01-11 At&T Bell Laboratories Queue-length monitoring arrangement for detecting consistency between duplicate memories
US5361267A (en) * 1992-04-24 1994-11-01 Digital Equipment Corporation Scheme for error handling in a computer system
US5751932A (en) * 1992-12-17 1998-05-12 Tandem Computers Incorporated Fail-fast, fail-functional, fault-tolerant multiprocessor system
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
US5790776A (en) * 1992-12-17 1998-08-04 Tandem Computers Incorporated Apparatus for detecting divergence between a pair of duplexed, synchronized processor elements
JPH06274354A (ja) * 1993-03-12 1994-09-30 Internatl Business Mach Corp <Ibm> 破壊的なハードウェア動作を制御する方法及びシステム
US5963962A (en) 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
US6138126A (en) 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US5604863A (en) * 1993-11-01 1997-02-18 International Business Machines Corporation Method for coordinating executing programs in a data processing system
DE69435090T2 (de) * 1993-12-01 2009-06-10 Marathon Technologies Corp., Stow Rechnersystem mit Steuereinheiten und Rechnerelementen
JP2790034B2 (ja) * 1994-03-28 1998-08-27 日本電気株式会社 非運用系メモリ更新方式
US6141769A (en) 1996-05-16 2000-10-31 Resilience Corporation Triple modular redundant computer system and associated method
US6044444A (en) * 1996-05-28 2000-03-28 Emc Corporation Remote data mirroring having preselection of automatic recovery or intervention required when a disruption is detected
US6052797A (en) * 1996-05-28 2000-04-18 Emc Corporation Remotely mirrored data storage system with a count indicative of data consistency
US5787485A (en) * 1996-09-17 1998-07-28 Marathon Technologies Corporation Producing a mirrored copy using reference labels
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
US5805606A (en) * 1997-03-13 1998-09-08 International Business Machines Corporation Cache module fault isolation techniques
US5943686A (en) * 1997-04-14 1999-08-24 International Business Machines Corporation Multiple cache directories for non-arbitration concurrent accessing of a cache memory
US6085288A (en) * 1997-04-14 2000-07-04 International Business Machines Corporation Dual cache directories with respective queue independently executing its content and allowing staggered write operations
US6006311A (en) * 1997-04-14 1999-12-21 Internatinal Business Machines Corporation Dynamic updating of repair mask used for cache defect avoidance
US6023746A (en) * 1997-04-14 2000-02-08 International Business Machines Corporation Dual associative-cache directories allowing simultaneous read operation using two buses with multiplexors, address tags, memory block control signals, single clock cycle operation and error correction
US5867511A (en) * 1997-04-14 1999-02-02 International Business Machines Corporation Method for high-speed recoverable directory access
FR2767001B1 (fr) * 1997-07-31 1999-08-27 Bull Sa Procede de purge des tampons de liaisons series a haut debit et dispositif de mise en oeuvre du procede
JPH11143729A (ja) * 1997-11-07 1999-05-28 Nec Corp フォールトトレラントコンピュータ
US6516351B2 (en) 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US6202090B1 (en) * 1997-12-11 2001-03-13 Cisco Technology, Inc. Apparatus and method for downloading core file in a network device
US7389442B1 (en) 1997-12-26 2008-06-17 Samsung Electronics Co., Ltd. Apparatus and method for self diagnosis, repair, removal by reversion of computer problems from desktop and recovery from booting or loading of operating system errors by removable media
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6023737A (en) * 1998-04-24 2000-02-08 International Business Machines Corporation Multi-stage pipelined data coalescing for improved frequency operation
US7096358B2 (en) * 1998-05-07 2006-08-22 Maz Technologies, Inc. Encrypting file system
US6279011B1 (en) 1998-06-19 2001-08-21 Network Appliance, Inc. Backup and restore for heterogeneous file server environment
US6574591B1 (en) 1998-07-31 2003-06-03 Network Appliance, Inc. File systems image transfer between dissimilar file systems
US6119244A (en) 1998-08-25 2000-09-12 Network Appliance, Inc. Coordinating persistent status information with multiple file servers
US7013305B2 (en) 2001-10-01 2006-03-14 International Business Machines Corporation Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange
US6351829B1 (en) * 1998-10-28 2002-02-26 Honeywell Inc System and method for distinguishing a device failure from an inter-device communication failure
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
US6457015B1 (en) 1999-05-07 2002-09-24 Network Appliance, Inc. Adaptive and generalized status monitor
US6961749B1 (en) 1999-08-25 2005-11-01 Network Appliance, Inc. Scalable file server with highly available pairs
US6615374B1 (en) * 1999-08-30 2003-09-02 Intel Corporation First and next error identification for integrated circuit devices
FR2803057B1 (fr) * 1999-12-22 2002-11-29 Centre Nat Etd Spatiales Systeme informatique tolerant aux erreurs transitoires et procede de gestion dans un tel systeme
US6691249B1 (en) 2000-03-22 2004-02-10 Agilent Technologies, Inc. Probabilistic diagnosis, in particular for embedded and remote applications
US6691257B1 (en) 2000-04-13 2004-02-10 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus protocol and method for using the same
WO2001080010A2 (en) * 2000-04-13 2001-10-25 Stratus Technologies International, S.A.R.L. Method and system for upgrading fault-tolerant systems
US6633996B1 (en) 2000-04-13 2003-10-14 Stratus Technologies Bermuda Ltd. Fault-tolerant maintenance bus architecture
US6708283B1 (en) 2000-04-13 2004-03-16 Stratus Technologies, Bermuda Ltd. System and method for operating a system with redundant peripheral bus controllers
US6820213B1 (en) 2000-04-13 2004-11-16 Stratus Technologies Bermuda, Ltd. Fault-tolerant computer system with voter delay buffer
US6973517B1 (en) 2000-08-31 2005-12-06 Hewlett-Packard Development Company, L.P. Partition formation using microprocessors in a multiprocessor computer system
US6850997B1 (en) * 2000-09-27 2005-02-01 International Business Machines Corporation System, method, and program for determining the availability of paths to a device
US6748557B1 (en) 2000-09-27 2004-06-08 International Buisness Machines Corporation System, method, and program for determining the availability of interfaces to a control unit
US6745347B1 (en) 2000-09-27 2004-06-01 International Business Machines Corporation System, method and program for determining the availability of interfaces to a device from information provided by the device
US7065672B2 (en) * 2001-03-28 2006-06-20 Stratus Technologies Bermuda Ltd. Apparatus and methods for fault-tolerant computing using a switching fabric
US6728898B2 (en) 2002-03-06 2004-04-27 Marathon Technologies Corporation Producing a mirrored copy using incremental-divergence
US7024586B2 (en) 2002-06-24 2006-04-04 Network Appliance, Inc. Using file system information in raid data reconstruction and migration
US7197664B2 (en) * 2002-10-28 2007-03-27 Intel Corporation Stateless redundancy in a network device
US7100151B2 (en) * 2002-11-22 2006-08-29 Texas Instruments Incorporated Recovery from corruption using event offset format in data trace
US7251744B1 (en) * 2004-01-21 2007-07-31 Advanced Micro Devices Inc. Memory check architecture and method for a multiprocessor computer system
US7409585B2 (en) 2004-01-30 2008-08-05 Dell Products L.P. Automatic media repair after read failure due to media error
US7343529B1 (en) 2004-04-30 2008-03-11 Network Appliance, Inc. Automatic error and corrective action reporting system for a network storage appliance
US7624305B2 (en) * 2004-11-18 2009-11-24 International Business Machines Corporation Failure isolation in a communication system
JP2006178636A (ja) * 2004-12-21 2006-07-06 Nec Corp フォールトトレラントコンピュータ、およびその制御方法
US7496787B2 (en) * 2004-12-27 2009-02-24 Stratus Technologies Bermuda Ltd. Systems and methods for checkpointing
US20070028144A1 (en) * 2005-07-29 2007-02-01 Stratus Technologies Bermuda Ltd. Systems and methods for checkpointing
US20070038891A1 (en) * 2005-08-12 2007-02-15 Stratus Technologies Bermuda Ltd. Hardware checkpointing system
US20070233821A1 (en) * 2006-03-31 2007-10-04 Douglas Sullivan Managing system availability
CN103443774A (zh) * 2007-09-25 2013-12-11 富士通株式会社 信息处理装置和控制方法
US9450586B2 (en) 2012-10-02 2016-09-20 Hewlett Packard Enterprise Development Lp Security shield assembly
US8918893B2 (en) 2012-10-29 2014-12-23 Hewlett-Packard Development Company, L.P. Managing a fault condition by a security module
US9251002B2 (en) 2013-01-15 2016-02-02 Stratus Technologies Bermuda Ltd. System and method for writing checkpointing data
EP3090336A1 (en) 2013-12-30 2016-11-09 Paul A. Leveille Checkpointing systems and methods of using data forwarding
US9760442B2 (en) 2013-12-30 2017-09-12 Stratus Technologies Bermuda Ltd. Method of delaying checkpoints by inspecting network packets
WO2015102873A2 (en) 2013-12-30 2015-07-09 Stratus Technologies Bermuda Ltd. Dynamic checkpointing systems and methods
US10838815B2 (en) 2018-09-19 2020-11-17 Dell Products L.P. Fault tolerant and diagnostic boot
US11044141B2 (en) * 2019-07-09 2021-06-22 Phillip N Hughes High density, high availability compute system
CN112751688B (zh) * 2019-10-30 2023-08-01 中兴通讯股份有限公司 一种otn设备的流控处理方法、电子设备及存储介质
CN113406918B (zh) * 2020-09-22 2022-03-18 河南嘉晨智能控制股份有限公司 一种安全操作设备

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT285689B (de) * 1968-03-29 1970-11-10 Siemens Ag Zentralgesteuerte Vermittlungsanlage der Fernmelde-, insbesondere Fernsprechtechnik
US3665173A (en) * 1968-09-03 1972-05-23 Ibm Triple modular redundancy/sparing
DE2012068A1 (de) * 1970-03-13 1971-09-23 Siemens Ag Anordnung zur Suche nach Fehlern an elektronischen Schaltungen
FR2182259A5 (ja) * 1972-04-24 1973-12-07 Cii
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
IT1014277B (it) * 1974-06-03 1977-04-20 Cselt Centro Studi Lab Telecom Sistema di controllo di elaboratori di processo operanti in parallelo
US4228496A (en) * 1976-09-07 1980-10-14 Tandem Computers Incorporated Multiprocessor system
US4099234A (en) * 1976-11-15 1978-07-04 Honeywell Information Systems Inc. Input/output processing system utilizing locked processors
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
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
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
US4253147A (en) * 1979-04-09 1981-02-24 Rockwell International Corporation Memory unit with pipelined cycle of operations
US4428044A (en) * 1979-09-20 1984-01-24 Bell Telephone Laboratories, Incorporated Peripheral unit controller
DE3003291C2 (de) * 1980-01-30 1983-02-24 Siemens AG, 1000 Berlin und 8000 München Zweikanalige Datenverarbeitungsanordnung für Eisenbahnsicherungszwecke
US4356546A (en) * 1980-02-05 1982-10-26 The Bendix Corporation Fault-tolerant multi-computer system
JPS56110162A (en) * 1980-02-06 1981-09-01 Hitachi Ltd Stage tracer
US4371754A (en) * 1980-11-19 1983-02-01 Rockwell International Corporation Automatic fault recovery system for a multiple processor telecommunications switching control
US4453215A (en) * 1981-10-01 1984-06-05 Stratus Computer, Inc. Central processing apparatus for fault-tolerant computing
US4541094A (en) * 1983-03-21 1985-09-10 Sequoia Systems, Inc. Self-checking computer circuitry
JPS6019247A (ja) * 1983-07-12 1985-01-31 Nec Corp デ−タ処理系のインタフエ−ス
US4610013A (en) * 1983-11-08 1986-09-02 Avco Corporation Remote multiplexer terminal with redundant central processor units
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

Also Published As

Publication number Publication date
JPH02118872A (ja) 1990-05-07
EP0306244A3 (en) 1991-04-10
EP0306244A2 (en) 1989-03-08
DE3854026D1 (de) 1995-07-27
CA1311849C (en) 1992-12-22
EP0306244B1 (en) 1995-06-21
US5099485A (en) 1992-03-24

Similar Documents

Publication Publication Date Title
JPH01152543A (ja) 欠陥分離及び修理機能を有する耐欠陥コンピュータシステム
US4907228A (en) Dual-rail processor with error checking at single rail interfaces
US5255367A (en) Fault tolerant, synchronized twin computer system with error checking of I/O communication
US5249187A (en) Dual rail processors with error checking on I/O reads
US4916704A (en) Interface of non-fault tolerant components to fault tolerant system
US5153881A (en) Method of handling errors in software
US5068851A (en) Apparatus and method for documenting faults in computing modules
US5291494A (en) Method of handling errors in software
US5185877A (en) Protocol for transfer of DMA data
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
EP0415547A2 (en) Method of handling nonexistent memory errors

Legal Events

Date Code Title Description
EXPY Cancellation because of completion of term