JPH0916426A - 2ポートコンソールを持つフォールトトレラントコンピュータ - Google Patents

2ポートコンソールを持つフォールトトレラントコンピュータ

Info

Publication number
JPH0916426A
JPH0916426A JP7165827A JP16582795A JPH0916426A JP H0916426 A JPH0916426 A JP H0916426A JP 7165827 A JP7165827 A JP 7165827A JP 16582795 A JP16582795 A JP 16582795A JP H0916426 A JPH0916426 A JP H0916426A
Authority
JP
Japan
Prior art keywords
input
output
data processing
bus
data
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
JP7165827A
Other languages
English (en)
Inventor
Nobuo Akeura
伸夫 明浦
Hiroshi Oguro
浩 大黒
Tetsuaki Nakamigawa
哲明 中三川
壮一 ▲高▼谷
Soichi Takatani
Yoshiyuki Isawa
芳之 石和
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP7165827A priority Critical patent/JPH0916426A/ja
Publication of JPH0916426A publication Critical patent/JPH0916426A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【目的】 フォールトトレラントコンピュータにおいて
ケーブルの接続切り替え作業を行うことなく単一のコン
ソール装置でシステム監視や保守を行うことができるよ
うにする。 【構成】 第1,第2のデータ処理ブロックと、第1,
び第2の入出力装置と、前記第1および第2のデータ処
理ブロックの動作状態等を表示すると共に、各種の指令
を入力するための第3および第4の入出力装置と、前記
第1のデータ処理ブロックと第1,第3の入出力装置と
の間に接続される第1の接続装置と、前記第2のデータ
処理ブロックと第2,第4の入出力装置との間に接続さ
れる第2の接続装置と、前記第3の入出力装置と第4の
入出力装置の両方に物理接続され、第1および第2のデ
ータ処理ブロックの両方の動作状態等を処理ブロック別
に表示すると共に、各種の指令を処理ブロック別に入力
するコンソール装置とを備える。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、入出力装置のみなら
ず、プロセッサやメモリも含めた装置全体を2重化した
2ポートコンソールを持つフォールトトレラントコンピ
ュータ(高信頼化コンピュータ)に関するものである。
【0002】
【従来の技術】交通管制システム、金融システムなどの
社会の根幹を占める機能をコンピュータが担うようにな
ってきている。これらの機能を担うコンピュータに障害
が発生し動作が停止すると、社会に大きな混乱を与え
る。従って、コンピュータの信頼性が益々要求されてき
ている。
【0003】このようなコンピュータに対する高信頼化
の要求は、電子制御(コントローラ)の分野で従来より
研究がなされており、特開昭57−20847号公報に
示されているような多重計算機システムが提案されてい
る。
【0004】特開昭57−20847号では、高信頼化
の方式として複数のコンピュータで同一の演算を行わせ
て、データ出力の時点でこれらを比較し、正しいものを
出力する方法が示されている。このような方法は、ソフ
トウエアで出力のタイミングを合わせて、比較すること
が前提となっており、比較的小規模な制御システムなら
ば適用可能である。しかし、大規模かつ複雑な動きをす
る近年のアプリケーションソフトウエアでは、データ比
較のために多大な工数が必要となり適用できない。この
ような問題点に対応するために、ハードウエア主体でデ
ータ比較を行う下記のような高信頼化技術が提案されて
いる。
【0005】コンピュータの高信頼化(フォールトトレ
ランス:Fault-tolerance)技術に関しては、特開平2−
202638号公報(文献1)、「日経エレクトロニク
ス」(1983年5月9日号第197頁から第202頁
=文献2)、米国特許第4907228号(特開平1−
154240号)及び米国特許第5255367号(特
開平1−154241号)、特開平4−241039号
に提案されたものががある。
【0006】上記の従来技術は、いずれもソフトウエア
実行に必要な最小限の環境であるプロセッサとメモリを
多重化し、これらの部分に障害が発生したときにはハー
ドウエアで障害部位を切り離し、プログラムの継続を保
証しようとするものである。すなわち、プログラムから
は、プロセッサとメモリ部分の障害が全く見えない(透
過)ことを実現するものであり、高信頼システム構築の
ための特殊なプログラミングを軽減するための技術であ
る。
【0007】また、上記文献2で示されている「Pair a
nd spare法」と呼ばれる方法により、自己診断機能のあ
る入出力装置から成る配線基板2枚を1組にして動作さ
せ、片方の配線基板上の回路でフォールトが生じた場合
には、もう一方の配線基板上の回路で処理を動作を続け
ることにより、フォールト発生時でもチェックポイント
リスタート(chekpoint restart)と呼ばれるフォールト
発生時点以前のチェックポイントからの処理のやり直し
動作を不要にし、入出力装置の高信頼化を図ろうとする
ものである。
【0008】ところで、プロセッサやメモリ、入出力装
置を2重化した場合、それぞれの系の監視や保守を如何
にして行うかが問題になる。
【0009】最も単純な考え方によれば、各系統別にコ
ンソール装置を設け、各系統別のシステム監視や保守を
行う構成がある。しかし、コンソール装置が2台必要に
なるうえ、現用系と待機系とが障害発生時点毎に交代す
るため、運用が面倒である。
【0010】そこで、コンソール装置を1台とし、現用
系に障害が発生したならば、コンソール装置のケーブル
を待機系に接続し直す構成が考えられる。
【0011】
【発明が解決しようとする課題】しかしながら、コンソ
ール装置を1台とし、現用系に障害が発生したならば、
コンソール装置のケーブルを待機系に接続し直すように
構成した場合、接続作業が面倒であるうえ、接続作業中
はコンソール装置が実在しないことになるため、この接
続作業中の障害を見逃し、システム全体の動作停止を招
いてしまう等の問題が起こる。
【0012】一方、上記の従来技術で示されている多重
計算機システムは、一般に流通している汎用プロセッサ
を用いてその周辺回路に特別な工夫を行って多重化した
CPUを実現しており、同じ汎用プロセッサを用いた通
常のデータ処理装置やワークステーションやパーソナル
コンピュータと比較すると、コストの増大やハードウエ
ア・ソフトウエアのオーバヘッドの増大が避けられない
ものとなっている。
【0013】特に近年、汎用プロセッサは急激に性能を
向上させており、この高速プロセッサを用いた通常のデ
ータ処理装置やワークステーソンやパーソナルコンピュ
ータの開発速度は、早まる一方である。このことは、同
じプロセッサを用いても特別な周辺回路を必要とする高
信頼化計算機と通常のデータ処理装置やワークステーソ
ンやパーソナルコンピュータとの性能価格差がさらに開
いていく問題が内在することを意味する。
【0014】本発明は、これらの問題に鑑みてなされた
ものであり、その目的は、ケーブルの接続切り替え作業
を行うことなく単一のコンソール装置でシステム監視や
保守を行うことができ、さらに汎用計算機と共通性が高
く、汎用計算機と共同開発可能で性能価格性の高い2ポ
ートコンソールを持つフォールトトレラントコンピュー
タを提供することにある。
【0015】
【課題を解決するための手段】上記目的を達成するため
に、本発明は、プログラム及びデータを格納する第1の
メモリと該メモリからプログラム及びデータを取り出し
て処理する第1のデータ処理装置を有する第1データ処
理ブロックと、プログラム及びデータを格納する第2の
メモリと該メモリからプログラム及びデータを取り出
し、前記第1のデータ処理装置と同一のクロックに従っ
て処理する第2のデータ処理装置を有する第2のデータ
処理ブロックと、前記第1及び第2のデータ処理ブロッ
クの指定により処理結果を格納または外部に送出するた
めの第1および第2の入出力装置と、前記第1および第
2のデータ処理ブロックの動作状態等を表示すると共
に、各種の指令を入力するための第3および第4の入出
力装置と、前記第1のデータ処理ブロックと第1,第3
の入出力装置との間に接続される第1の接続装置と、前
記第2のデータ処理ブロックと第2,第4の入出力装置
との間に接続される第2の接続装置と、前記第1の入出
力装置と第2の入出力装置の両方に物理接続され、処理
結果を格納または外部に送出する入出力デバイスと、前
記第3の入出力装置と第4の入出力装置の両方に物理接
続され、第1および第2のデータ処理ブロックの両方の
動作状態等を処理ブロック別に表示すると共に、各種の
指令を処理ブロック別に入力するコンソール装置とを備
え、さらに、前記第1及び第2の接続装置は第1及び第
2のデータ処理ブロックからの指示により第1、第2、
第3、第4の入出力装置と入出力デバイスとの論理接続
を切り離す手段を備えることを特徴とする。
【0016】さらに、前記第1,第2の接続装置は、第
2のデータ処理ブロックの障害時に第1のデータ処理ブ
ロックの入出力バスを第2,第4の入出力装置に接続す
る第1のバススイッチと、第1のデータ処理ブロックの
障害時に第2のデータ処理ブロックの入出力バスを第
1,第3の入出力装置に接続する第2のバススイッチと
をさらに備えることを特徴とする。
【0017】
【作用】上記構成によれば、メモリやデータ処理装置、
入出力装置および入出力デバイスは全て2重化されてお
り、データ処理装置は電源投入による初期立ち上げ時
に、同一のクロック(同一周波数、同一位相のクロッ
ク)によってメモリクリア等の初期化動作を独立して行
う。初期化動作が終了したならば、それを互いに確認
し、同じタイミングで同じプログラムを同じ順番で実行
し始める。
【0018】すなわち、2系列のデータ処理ブロックが
同一タイミングで同一処理を開始する。
【0019】この状態で、第1,第2の接続装置は、第
1または第2のデータ処理ブロックと第1,第2の入出
力装置との間でのデータアクセスを中継する。
【0020】この場合、第1,第2の接続装置はハード
ウェアによってデュアル動作を行っているが、第1,第
2の入出力装置はオペレーティングシステム(OS)に
よっていずれか一方が現用系、他方が待機系に設定され
る。
【0021】例えば、第1の入出力装置が現用系、第2
の入出力装置が待機系に設定されたものとすると、第1
の入出力装置で障害が発生した時は、第1の接続装置が
第1のデータ処理ブロック(第1のデータ処理ブロック
が障害の時には第2のデータ処理ブロック)からの指示
により、該当する第1の入出力装置との論理的接続を切
り離し、他方の第2の入出力装置を使用することによっ
て、入出力デバイスでの処理を継続する。
【0022】一方、第1のデータ処理ブロックに障害が
発生した場合は、バススイッチによって第2のデータ処
理ブロックの入出力バスを第1,第2の入出力装置に接
続し、正常な第2のデータ処理ブロックでの処理を継続
させる。
【0023】このように、データ処理ブロックと入出力
装置とを接続装置を介して接続し、かつ接続装置をデー
タ処理装置(CPU)のような非常に高速で高度な実装
技術が要求される部分に設けるのでなく、入出力装置と
の低速なインタフェース部分に設けることにより、CP
Uと入出力装置とを通常のデータ処理装置やワークステ
ーションやパーソナルコンピュータ等と共通化でき、高
信頼性の2重化計算機を通常のデータ処理装置やワーク
ステーションと共同開発することが可能になる。
【0024】他方、コンソール装置は、現用系と待機系
のデータ処理ブロックのシステム監視情報を両者が区別
できる形式で同一画面に表示する。
【0025】例えば、現用系のシステム監視情報は大き
な画面サイズ、待機系のシステム監視情報は現用系より
も小さな画面サイズで表示する。あるいは、現用系のシ
ステム監視情報は最前面のウィンドウ画面に表示し、待
機系のシステム監視情報は現用系に隠れたウィンドウ画
面に表示する。
【0026】この状態で、現用系のデータ処理ブロック
または入出力装置に障害が発生し、現用系と待機系が切
り替えられた場合は、現用系と待機系の表示画面が切り
替えられる。
【0027】この切り替えは、現用系と待機系とを切り
替えるオペレーティングシステムからコンソール装置に
対し切り替えコマンドを出力することによって実行され
る。
【0028】従って、コンソール装置のケーブルの接続
変更作業を行うことなく、現用系のシステム監視情報を
把握可能になる。
【0029】また、障害が発生した系に対しては、その
系が待機系に切り替えられているので、その待機系の表
示画面を用いて自己診断テストなどの指令を入力し、独
立して自己診断や点検作業を行うことができる。
【0030】この場合の自己診断の範囲は、対象とする
系の全部またはコマンドで指定した部位である。
【0031】
【実施例】以下、本発明の一実施例を図面を用いて説明
する。
【0032】図1は、本発明のフォールトトレラントコ
ンピュータの一実施例を示す概略構成図であり、大別す
ると、第1,第2のデータ処理装置(CPU)1A,1
Bと、第1,第2の接続装置(DSBA:Dual System
Bus Adapter)2A,2Bと、第1,第2の入出力装置
群3A,3Bと、第1,第2の入出力デバイス(例え
ば、ディスク装置)4A,4Bと、単一の2ポート形式
のコンソール装置5とから構成されている。
【0033】これらの各構成要素は、コンソール装置を
除いてA系とB系に区分されている。図1では、符号に
Aを付加したものがA系、Bを付加したものがB系であ
ることを示している。
【0034】第1,第2のデータ処理装置(CPU)1
A,1Bは、プログラム及びデータを格納するメモリと
該メモリからプログラム及びデータを取り出して処理す
るものであり、両者は同一周波数および同一位相のクロ
ックに従って同一のデータ処理を並行して処理する。
【0035】第1,第2の接続装置(DSBA:Dual S
ystem Bus Adapter)2A,2Bは、第1,第2の入出
力装置群3A,3Bに接続されたディスク装置,回線制
御装置等の各種入出力デバイスとの間でのデータアクセ
スを中継するものであり、それぞれ2つの接続装置2A
1,2A2,2B1,2B2から構成され、第1のデー
タ処理装置1Aに障害が発生した時には、第2のデータ
処理装置1Bのシステムバス6Bを接続装置2B2を介
してA系の入出力バス7Aに接続し、また第2のデータ
処理装置1Bに障害が発生した時には、第1のデータ処
理装置1Aのシステムバス6Aを接続装置2A2を介し
てB系の入出力バス7Bに接続し、一方の系に障害が発
生しても処理を継続するようになっている。
【0036】第1,第2の入出力装置群3A,3Bは、
後述するように、それぞれ入出力デバイスに対応した複
数の入出力装置から構成され、A系およびB系の入出力
バス8A,8Bの両方に物理接続された入出力デバイス
とのデータアクセスを中継するものであり、A系の入出
力装置群3Aに障害が発生した時には、A系の入出力デ
バイスが第1の接続装置2Aによって入出力バス8Aか
ら論理的に切り離されと共に、第2のデータ処理装置1
Bが現用系に切り替えられ、A系の入出力デバイスに対
しては第2の接続装置3Bを介して第2のデータ処理装
置1Bからデータアクセスが実行される。
【0037】コンソール装置5は、A系およびB系の入
出力バス8A,8Bの両方に物理接続され、第1および
第2のデータ処理装置1A,1Bの両方の動作状態等を
処理ブロック別に表示すると共に、各種の指令を処理ブ
ロック別に入力するためのものである。
【0038】図1からも分かるように、ハードウエアの
1点故障に対する高信頼性を実現するために全てのハー
ドウエアが2重化されている。ここで、エラー検出能力
を持ち、切り離しの単位となるものをブロックと定義す
ると、本実施例では、3種類のブロックを持ち、かつ各
ブロックはA系・B系で2重化されているので合計6ブ
ロックから構成されている。
【0039】各ブロックの主な構成要素は、以下の通り
である。
【0040】(1)CPUブロック プロセッサ、メモリ、システムバス、接続装置(DSB
A) (2)IOブロック 入出力装置群、入出力バス、 (3)デバイスブロック ディスク装置、回線制御装置、LAN等 本実施例での故障に対する動作の上で特徴的な点は、多
重化されたブロックの切り離しをハードウエアとソフト
ウエアで分担していることにある。つまり、CPUブロ
ックはハードウエアで2重化接続を行い、IOバスブロ
ックとデバイスブロックはソフトウエアによって2重化
接続を行う点である。CPUブロック内で検出されるエ
ラーについては、ハードウエアで該当ブロックの切り離
しを行い、IOブロックおよびデバイスブロックで検出
されるエラーについては、ソフトで該当ブロックの切り
離しを行い、残った正常系による処理を継続する。
【0041】従って、入出力バスを制御するソフトウエ
アから見ると、独立したアドレスを持つ2つの入出力バ
ス7A,7Bが存在しており、どちらの入出力バスが正
常かを示すフラグをメモリに持たせ、このフラグに従っ
て2つの入出力装置群を組み合わせて使う事によって、
入出力装置群の1点故障に対して連続稼働を実現する。
【0042】図2は、図1をさらに詳細化したハードウ
ェア構成図である。
【0043】なお、図中の左半分はA系、右半分はB系
であり、同一機能要素については同一符号を用い、かつ
A系には添字Aを付し、B系には添字Bを付している。
以下の構成説明では、A系を代表して説明する。
【0044】図2において、11A及び12Aは、全く
同一のキャッシュメモリを内蔵したプロセッサ(MP
U)であり、通常は全く同じ動作を行う。13Aは、命
令やデータを格納するメモリである。
【0045】14Aは、プロセッサ11A,12Aおよ
びメモリ13Aとシステムバス6Aとを接続するプロセ
ッサメモリ制御ユニット(PMCU)であり、主にプロ
セッサ11Aまたは11Bからのアクセスをメモリ13
Aやシステムバス6Aに伝えたり、システムバス6Aか
らのアクセスをメモリ13Aに伝えたりする。さらに、
プロセッサ11Aと12Aの出力信号500と501と
を比較し、2つのプロセッサ11A,12Aの出力の不
一致によってプロセッサ内の故障を検出する。
【0046】15A,15Bは、CPU1Aと1B間で
信号線57(PXIバス)を介して、CPU状態などの
情報を受け渡すための制御を行うプロセッサ間インタフ
ェース制御装置(PXI)である。
【0047】16Aは、発振器を有するクロック回路
(CLK)であり、このCLK16Aは、信号線55を
介してB系のCLK16Bと協調して同一周波数および
位相のクロック信号をA系全体に供給する。なお、この
CLK16Aは、発振停止検出回路を有している。
【0048】2Aおよび2Bは、A系とB系とを接続す
るDS(Dual System Bus)バス7AB,7BAを制御す
る接続装置(以下、多重システムアダプタ;DSBA)
であり、本実施例では、2組のDSBA2A1,2A
2,2B1,2B2が示されており、それぞれ2A1と
2B2、2B1と2A2が1組となっており、これらの
DSBA2A1,2A2,2B1,2B2によって入出
力バス7A,7Bの2重系を形成している。
【0049】各組のDSBA2A1,2A2,2B1,
2B2のうち、2A1,2B1はプライマリDSBAと
定義され、他方のDSBA2A2,2B2は、セカンダ
リDSBAと定義され、図中ではPとSの添字を付して
示している。
【0050】このプライマリDSBAとセカンダリDS
BAは、それぞれのCPU1Aと1Bから同時にDSバ
スアクセスを受けるが、実際には、プライマリDSBA
だけが、入出力バス7A,7Bに対してそのCPUアク
セスと伝える。すなわち、一種のセレクタを形成する。
そして、入出力バス7A,7Bからのアクセスは、プラ
イマリとセカンダリDSBAが同時に受けて、それぞれ
のCPU1Aと1Bに対して同じタイミングで伝える。
【0051】16A,16Bは、DSバス7AB,7B
AのA系側とB系側との接続/分離を行うバススイッチ
であり、例えば遅延ディレイの少ないC−MOSプロセ
スで製造されたMOSスイッチによって構成されてい
る。
【0052】このバススイッチ16A,16Bの両方を
開くことによってA・B系間が論理的にも電気的にも分
離され、片系のオンライン動作状態で他方の系の部品交
換等の保守作業を実施することができるようになってい
る。
【0053】なお、このバススイッチ16A,16B
は、2つのCPU1A,1Bが両方とも正常な場合は、
いずれも閉じた状態になっており、CPU1Aが故障し
た場合はバススイッチ16Aが開かれ、逆にCPU1B
が故障した場合はバススイッチ16Bが開かれ、CPU
の障害が他の系に波及しないように制御される。
【0054】20A,20Bは、入出力バス7A,7B
と入出力バス8A,8Bとを接続する入出力バスアダプ
タ(IOBA)である。31A,31Bは、入出力バス
8A,8BとSCSI(Small Computer System Interf
ace)バスに代表される標準的な入出力装置バス32A,
32Bとを接続する入出力アダプタ(IOA)である。
【0055】35A,35Bは、入出力バス8A,8B
とコンソール装置5の入出力バス36A,36Bとを接
続する入出力アダプタ(IOA)である。
【0056】39A,39Bは、イーサネット(Ethern
et)やFDDIに代表されるローカルエリアネットワー
クを接続するローカルエリアネットワーク制御装置(L
ANC)である。
【0057】ここで、これらの入出力バス8A,8Bが
ソフトウエアからは異なったアドレスを持った入出力バ
スとして認識され、また入出力装置群3A,3Bがソフ
トウエアからは、それぞれ異なった入出力装置として認
識されることである。
【0058】従って、ソフトウエアの設定だけで様々な
グレードを持った高信頼計算機が実現できる。例えば、
ここでは入出力バスと入出力装置とを2重化した例を示
しているが、システム上で重要性の少ない入出力装置を
1重化することによって、システムのコストを下げるな
ど柔軟な対応が可能となる。あるいは、非常に重要なデ
ータを格納したディスク装置を4重化するなどの対応も
可能となる。
【0059】コンソール装置5は、図3(a)に示すよ
うに、A系,B系の出力バッファ51A,51B、A
系,B系の入力バッファ52A,52B、入出力ポート
53A,53B、キーボード54、セレクタ56、表示
装置58を備え、A系が現用系となっている運転状態で
は、表示装置58の上部にA系のシステム監視結果等が
表示され、その下部にB系のシステム監視結果等がA系
より小さな面積で表示されるようになっている。
【0060】現用系と待機系が変更された場合、データ
処理装置1Aまたは2Aからの切り替えコマンドに従っ
て表示位置が図3(b)に示すように逆の状態に切り替
えられる。
【0061】なお、図3(c)に示すように、現用系を
前面側のウィンドウ58Aに表示し、待機系をその裏側
に隠れたウィンドウ58Bに表示するようにしてもよ
い。
【0062】一方、現用系のデータ処理装置1Aおよび
待機系のデータ処理装置1Bのそれぞれに選択的に各種
のコマンドを入力する場合、キーボード54からの入力
情報をセレクタ56を介してA系,B系の入力バッファ
52A,52Bに選択的に入力し、入出力ポート53
A,53Bを通じて現用系のデータ処理装置1Aおよび
待機系のデータ処理装置1Bのそれぞれに選択的に各種
のコマンドを入力することが可能なように構成されてい
る。
【0063】なお、セレクタ56はキーボード54の特
定のキー操作によって切り替えるようになっている。
【0064】図4は、プロセッサメモリ制御ユニット
(PMCU)14Aの詳細構成ブロック図である。な
お、B系のプロセッサメモリ制御ユニット(PMCU)
14Bも全く同じ構成であるので、ここでは14Aを代
表して説明する。
【0065】PMCU14Aは、大別すると、プロセッ
サインタフェースユニット(PIU)40、メモリイン
タフェースユニット(MIU)41、システムバスイン
タフェースユニット(SBIU)42及びプロセッサ出
力比較器44で構成されている。
【0066】プロセッサインタフェースユニット(PI
U)40は、プロセッサ11Aと12Aのインタフェー
スユニットであり、マスタプロセッサ11Aの外部アク
セスがメモリアクセスのときは、マスタプロセッサ11
Aからのメモリアドレス/データを信号線500を介し
て受信バッファ47に取り込み、また外部アクセスが入
出力バス8A,8Bへのアクセス(PIOアクセス)の
ときは、メモリアドレス/データを受信バッファ46に
格納する。
【0067】一方、チェッカプロセッサ12Aからのメ
モリアドレス/データは、信号線501を介してPMC
U14A内に取り込まれるが、受信バッファ46,47
には格納されない。マスタ及びチェッカプロセッサ11
A,12Aからのアドレス,データおよび制御信号は、
マスタプロセッサ11Aが書き込みアクセスを出力した
とき、プロセッサ出力比較器44で比較される。そして
値が不一致であった時には、マスタチェッカエラー信号
400がアサートされる。また、このPIU40の動作
中に検出されるパリティエラーや制御回路のエラーなど
は、信号線401を介して論理和素子43に伝えられ
る。
【0068】MIU41は、PIU40からのメモリア
クセスとSBIU42からのDMAアクセスをセレクタ
506で受けて、メモリ13Aをアクセスし、その応答
をそれぞれPIU40あるいはSBIU42に返す。M
IU41がPIU40から受けるアクセスは、メモリリ
ードとメモリライトである。
【0069】メモリリードの時には、受信バッファ47
に格納されたリードアドレスがセレクタ506を介して
メモリ13Aに伝えられる。そして、メモリ13Aから
読み出されたデータは、PIU40のセレクタ505を
介して送信バッファ48に格納され、マスタ,チェッカ
プロセッサ11A,12Aに返される。
【0070】メモリライトの時には、受信バッファ47
に格納されたリードアドレスとライトデータがセレクタ
506を介してメモリ5Aに書き込まれる。
【0071】MIU41がSBIU42から受けるアク
セスは、DMAリードとメモリライトである。DMAリ
ードの時には受信バッファ508に格納されたリードア
ドレスがセレクタ506を介してメモリ5Aに伝えられ
る。そして、読み出されたデータは、送信バッファ50
9に格納され、システムバス6Aを介して入出力バス7
A,7Bあるいは入出力装置群3A,3Bに返される。
【0072】DMAライトの時には、受信バッファ50
8に格納されたリードアドレスとライトデータがセレク
タ506を介してメモリ5Aに書き込まれる。セレクタ
506の制御方法は、ここでは示していないが、SBI
U42からのアクセスを優先するように制御することが
望ましい。
【0073】このMIU41の動作中に検出されるパリ
ティエラーや制御回路のエラーなどは、信号線402を
介して論理和素子43に伝えられる。
【0074】一方、MIU41内のMSアクセスモニタ
45は、メモリコピー(詳細後述)の時に正常系のMI
U41が行うメモリ(13Aまたは13B)へのリード
・ライトアクセスを監視し、必要に応じてアドレスとデ
ータを取り込む。そして、これを信号線504を介して
メモリコピーアクセスとしてシステムバス6Aに出力す
る。システムバス6Aに出力されたデータは、組みとな
っているDSBA2Aを経由して他系のメモリに書き込
まれる。
【0075】SBIU42は、システムバス6Aからの
DMAアクセスとPIU40からのPIOアクセスを処
理する。PIU40からのPIOリードアクセスのとき
は、受信バッファ46に格納されたアドレスをシステム
バス権を獲得の後、システムバス6Aに出力する。この
PIOリードアクセスによって得られたリードデータ
は、PIU40内のセレクタ505を介して送信バッフ
ァ48に格納され、マスタ,チェッカプロセッサ11
A,12Aに返される。
【0076】PIOライトの時には、システムバス権を
獲得の後、受信バッファ46に格納されたリードアドレ
スとライトデータがセレクタ507を介してシステムバ
ス6Aに出力される。
【0077】これらのSBIU42の動作中にパリティ
エラーや制御回路のエラーなどが検出されたときは、信
号線403を介して、論理和素子43に伝えられる。
【0078】論理和素子43は、PMCU14Aの動作
中に何等かのエラーが検出されると、信号線(PMCU
−ERR)95AをアサートしてPX15Aに伝える。
【0079】図5は、クロック回路(CLK)16A,
16Bの詳細構成図であり、A系のクロック回路(CL
K)16Aを代表して説明する。
【0080】図5において、50Aは水晶発信器を有す
るオシレータ(OSC)であり、例えば10MHzの比
較的低い周波数のクロック信号501Aを出力する。O
SC50Aの周波数を低く設定することによって、A系
とB系の実装位置が数10センチメートル離れていたと
しても、安定したクロック信号を両方の系に供給でき
る。
【0081】51Aは、自系のOSC50Aからのクロ
ック信号と他系のOSC50Bからのクロック信号の一
方を選択するセレクタである。52Aは、フェーズドロ
ックループ回路(PLL)であり、セレクタ51Aで選
択されたクロック信号と位相の合ったn倍周波数のクロ
ック信号54Aを生成し、プロセッサ11A,12Aや
周辺回路に必要な高周波クロック信号を供給する。
【0082】53AはOSC50Aの停止検出回路であ
り、クロック信号501A,501Bの発信停止を検出
すると、セレクタ51Aに対する制御信号56Aによっ
て正常なOSCの出力を選択させる。
【0083】なお。OSC50Aと50Bは、最初に電
源の入った方をクロックマスタとするマスタ・スレーブ
動作を行う。例えば、A系が先に立ち上がったとすれ
ば、OSC50Aがクロックマスタとなり、セレクタ5
1A,51Bは、いずれもクロック信号501Aを選択
する。そして、OSC50Aが停止したときには、停止
検出回路51A,51Bがこれを検出し、セレクタ51
Aがクロック信号501Bを選択するように動作する。
この切替動作は、PLL引き込み時間よりも小さい「3
00ns」程度の短い時間で行われるため、セレクタ5
1Aが切り替わっても両方のPLL52A,52Bから
出力される高周波クロック信号は、途切れることなくプ
ロセッサ11A,11Bや周辺回路に供給される。
【0084】図6は、A系とB系の多重システムバスア
ダプタ(DSBA)2A1,2B2間のインタフェース
関係を示す説明図であり、DSBA2A1はプライマリ
DSBAと定義され、他方のDSBA2Bは2、セカン
ダリDSBAと定義される。
【0085】これら2つのDSBA2A1,2B2は、
それぞれのCPU1A,1Bから同時にDSバスアクセ
スを受けるが、プライマリDSBA2A1だけが入出力
バス7Aに対してそのCPUアクセスを伝える。逆に、
入出力バス7Aからのアクセスは、プライマリDSBA
2A1とセカンダリDSBA2B2が同時に受け、それ
ぞれのCPU1Aと1Bに同じタイミングで伝える。つ
まり、DSBA2A1,2B2は、CPUからのアクセ
スに対してはセレクタとして機能し、入出力バス7Aか
らのアクセスに対しては、ディストリビュータとして機
能する。
【0086】ところで、CPU1A,1Bは、正常時に
は全く同じ動作をしているが、何等かの障害が発生する
と同期動作がずれてくる。この同期ずれは、2つのCP
U1A,1Bが1つの入出力バス7Aにアクセスすると
きに顕在化する。
【0087】DSBA間インタフェース60は、この同
期ずれを検出し、片系障害時に障害系のCPUブロック
を切り離すタイミングを生成する。図中の表にDSBA
間インタフェース60の信号の一例を示す。
【0088】61A,61Bは、それぞれCPU1Aと
1Bからのシステムバス要求信号、62A,62Bはそ
れぞれCPU1Aと1Bが生成するシステムバスの使用
許可信号である。63A,63Bは、A系,B系のそれ
ぞれのDSBA内でエラーを検出したことを示すエラー
検出信号である。
【0089】なお。本実施例では、DSBA間インタフ
ェース60にパリティビットなどのエラー検出符号を付
加していないが、必要に応じて付加することができるこ
とは言うまでもない。
【0090】図7は、DSBA2A1の詳細構成図であ
る。なお、DSBA2A2,2B1,2B2の内部構成
も同一であるので、DSBA2A1を代表して説明す
る。
【0091】図において、73,74はアドレスやデー
タを格納する受信バッファ,送信バッファである。シス
テムバス6Aの信号は、データ/アドレス信号751と
制御信号752を含んでいる。同様に、入出力バス7A
の信号は、データ/アドレス信号753と制御信号75
4を含んでいる。
【0092】DSBA2A1が処理するアクセスは、C
PU1Aから入出力装置群3A,3Bへのアクセス(P
IOリードアクセスとライトアクセス)、入出力装置群
3A3Bからメモリへ13Aのアクセス(DMAリード
アクセスとライトアクセス)である。
【0093】PIOリードアクセスの時は、信号線75
1上のリードアドレスを受信バッファ73に格納し、こ
のリードアドレスを用いて入出力バス7Aをアクセスす
る。
【0094】そして入出力アダプタ20A,20Bある
いは入出力装置群3A,3Bから読み出されたデータ
は、システムバス6Aへの送信バッファ74に一旦格納
された後、信号線751を介してCPU1Aに伝えられ
る。
【0095】PIOライトアクセスの時には、信号線7
51上のライトアドレスとライトデータを受信バッファ
73に格納し、このライトアドレスを用いて入出力バス
7Aをアクセスする。そして、入出力アダプタ20A,
20Bあるいは入出力装置群3A,3B内のレジスタに
書き込まれる。
【0096】DMAリードアクセスの時は、信号線75
3上のリードアドレスを送信バッファ74に格納し、こ
のリードアドレスを用いてCPU1A内のメモリ13A
をアクセスする。そして、メモリ13Aから読み出され
たデータは、入出力バス7Aへの受信バッファ73に一
旦格納された後、信号線753を介してDMAアクセス
元に返される。
【0097】DMAライトアクセスの時には、信号線7
53上のライトアドレスとライトデータを送信バッファ
74に格納し、このライトアドレスを用いてメモリ13
Aに書き込まれる。
【0098】71は、受信バッファ73および送信バッ
ファ74を監視し、システムバス6Aあるいは入出力バ
ス7Aへの上記アクセスを管理する送受信制御部であ
る。この送受信制御部71は、入出力バス7A上のアク
セスを監視し、アクセスが正常終了しない場合には割り
込みトランザクションのデータパターンをシステムバス
6Aに送出することにより、CPU1Aにアクセス異常
を報告する。また、その正常終了しないアクセスがリー
ドアクセスである場合には、割り込みトランザクション
のデータパターンをシステムバス6Aに送出したうえ
で、固定パターンのデータをシステムバス6Aに送出す
ることにより、CPU1Aにリターンデータとして返送
する。
【0099】CPU1A内のプロセッサ11A,12A
上で動作するプログラムは、IOアクセス命令の正常終
了を確認すべき場合にはIOリードアクセスを発行し、
リードデータが固定パターンと一致するか否かを比較す
ることにより障害の発生を認識でき、かつ誤データが入
力されそのデータを用いて命令実行することによる両系
メモリをプログラムにより破壊することを回避できる。
【0100】ちなみに、この入出力バス7A上のアクセ
スの監視対象は、入出力バス7Aのパリティエラー等ア
クセス時に即座に発生するもののみならず、PIOリー
ドのタイムアウト検出等も含む。特に、PIOリードの
タイムアウト検出を行うことは重要である。なぜなら、
入出力装置の故障によるIOアクセスの異常終了を、D
SBA2A1にて固定パターンデータをCPU1Aにリ
ターンデータとして返送することにより、システムダウ
ンを防止しているからである。
【0101】76は、受信バッファ73に格納されたP
IOアクセスのアドレスを当該DSBA配下の入出力ア
ダプタ20Aあるいは入出力装置群3A内のアドレスに
変換するIO空間畳み込み回路である。
【0102】771は、IO空間畳み込み回路76の出
力を有効とするかの選択を指示するフラグであり、DS
BA内の制御レジスタの一つとして本DSBAと対にな
るDSBAが故障したときにソフトウエアによって設定
される。本実施例においては、2重化された入出力装置
群の制御をすべてソフトウエアで行う場合を中心に説明
しているが、上記IO空間畳み込み回路76を用いるこ
とによって、入出力装置群を切り替えてもソフトウエア
(たとえばデバイスドライバなど)に対してのアドレス
をかえずに済むため、2重制御の負担を減らすことが可
能になる。
【0103】78は、CPU1AからDSBA2A1の
レジスタ空間へのPIOライトとしてDSBA2A1へ
指示されるコマンドを解析し、実行する回路である。D
SBA2A1の場合には、入出力装置31A、35A、
39Aとディスク装置等の入出力デバイスとの論理接続
を切り離す指示コマンドをCPU1Aから受領し、入出
力装置31A、35A、39Aに対する切り離し信号1
7AAをオンにする。
【0104】これによって、入出力装置31A、35
A、39Aが一括してディスク装置等の入出力デバイス
から論理的に切り離される。この場合、入出力装置31
A、35A、39Aを個別に切り離すことも可能であ
る。
【0105】DSBA2B2の場合にも、入出力装置3
1A、35A、39Aと入出力デバイスとの論理接続を
切り放す指示コマンドを受領し、切り離し信号17AB
をオンにする。
【0106】また、DSBA2A2の場合には、入出力
装置31B、35B、39Bと入出力デバイスとの論理
接続を切り放すコマンドを受領し、入出力装置31B、
35B、39Bに対する切り離し信号17BAをオンに
する。DSBA12Bの場合には、入出力装置31B、
35B、39Bと入出力デバイスとの論理接続を切り放
す指示コマンドを受領し、入出力装置31B、35B、
39Bに対する切り離し信号線17BBをオンにする。
【0107】この切り離し制御指示のコマンドとその切
り離し信号は、各入出力装置毎に個別であることが望ま
しいが、入出力装置31A、35A、39A、および入
出力装置31B、35B、39Bに対しグルーピングさ
れていてもかまわない。
【0108】なお、この切り離し信号線は、入出力バス
7A,7Bとは別線であり、入出力装置側には本信号線
のオンにより強制的に入出力デバイスとの論理接続を切
り放す回路が組み込まれている。これにより、入出力バ
スや入出力装置に障害が発生した場合にも確実に入出力
デバイスとの論理接続を切り放すことが可能となり、故
障の発生した入出力装置とペアの入出力装置と入出力デ
バイスを確実に接続することにより、入出力デバイスで
の処理を確実に継続できる。
【0109】この切り離し制御は、特にFDDIに接続
しているLANC(LANコントローラ)には重要であ
る。LANCの故障時には、故障したLANCを切り離
し、ペアのLANCを故障したLANCと同一のMAC
アドレスでFDDIに加入させる。これはMACアドレ
スを引き継ぐことにより、通信相手からLANCの故障
による切り替えを意識させないためである。しかし、F
DDIにはMACアドレスの重複チェック機構があるた
め、故障したLANCをFDDIから離脱させないと切
り替えたLANCのFDDIへの加入が成功しない。そ
のため、LANCは切り離し信号線による指示を契機に
LANC全体をリセットし、光信号の送出を停止するこ
とにより、FDDIから離脱する。この切り替えによる
FDDIでの処理の継続動作については後述する。
【0110】また、ディスク装置用の入出力装置(IO
A)や回線制御装置用の入出力装置に関する切り離し制
御では、切り離し信号線17AA,17AB,17B
A,17BBによる指示を契機に入出力装置(IOA)
をリセットすることにより、以降障害の発生した入出力
装置(IOA)から入出力デバイスへのアクセスを停止
させ、切り替えた入出力装置(IOA)からの入出力デ
バイスへのアクセスを妨害することを防止する。なお、
入出力デバイスによってはこの切り離し信号線による指
示を契機に入出力装置(IOA)をリセットすると共に
入出力デバイスをもリセットした方が好ましいものもあ
る。そのため、切り離し信号線による指示を複数本用意
し、入出力デバイスに対してリセットする切り離し指示
か否かをプログラムにより指示できる方が望ましい。
【0111】755と756は、それぞれ信号線751
と753のパリティチェッカであり、エラーを検出した
ならば、パリティエラーとして論理和素子76に伝え
る。
【0112】DSBA2A1内で何等かのエラーが検出
されると、DSBAERROR信号(ZAWDSER−
N)63Aとして自系と他系の切り離し要求生成部72
に伝えられる。
【0113】切り離し要求生成部72は、これらDSB
A内あるいはDSBA間でエラーを検出したときに、故
障CPUブロックを切り離すための切り離し要求信号D
ISCONREQ64Aを生成し、他系のPXI15B
に伝える。
【0114】75は、入出力バス7Aへの出力ゲートの
制御を行う出力ゲート制御回路であり、図8にその詳細
構成を示している。
【0115】通常の出力ゲート制御は、送受信制御部7
1から入出力バス7Aへの送信信号send84が出さ
れたときに出力ゲート757,758を開ければ良い。
しかし、本実施例では、DSBA2A1を多重システム
バスアダプタとして動作させるために、図8に示す構成
としている。図8において、81,82は論理積素子、
830,831,832は否定論理素子である。信号線
84には送受信制御部71から出力される送信信号se
ndが入力され、信号線65には、自系CPUブロック
が切り離されていることを示すSDISCON信号が入
力される。また、信号線66には、他系CPUブロック
が切り離されていることを示すXDISCON信号が入
力される。さらに、信号線67には、セカンダリDSB
Aであることを示すSecondary信号が入力され
る。
【0116】2つのCPU1A,1Bが正常に動作して
いるときには、プライマリ,セカンダリ両方のDSBA
2A1,2B2は同じ様に送信信号send信号をアサ
ートする。この時、Secondary信号、XDIS
CON信号、SDISCON信号はネゲートされている
ので、プライマリDSBA2A1だけの出力ゲート75
7,758が開いてアドレス/データ等を送出する。ま
た、自系CPUブロックが障害を起こして切り離された
場合、SDISCON信号がアサートされるため、信号
線85がネゲートされる。この結果、自系の出力ゲート
757,758は一切開かず、これによって自系CPU
ブロックの入出力バス7Aからの切り離しを実現する。
【0117】なお、入力ゲート759は障害発生時等に
コンソール装置5から各種コマンドを入力するために常
に開かれている。
【0118】また、他系CPUブロックが障害を起こし
て切り離された場合、XDISCON信号がアサートさ
れるため、自系がセカンダリDSBAであっても否定論
理素子830の出力がアサートされ、自系のsend信
号に出力ゲート757,758が開かれ、アドレス/デ
ータ等を送出可能になる。
【0119】図9は、切り離し要求生成部72の詳細構
成図である。図において、90は、10マイクロ秒のD
ISCON待ちタイマである。このタイマ90は、PM
CU14Aからのシステムバス使用許可信号(ZAWG
RT−N)92AとPMCU14Bからのシステムバス
使用許可信号(ZBWGRT−N)92Bとの不一致が
排他的論理和素子902で検出されて信号910がアサ
ートされるか、あるいはPMCU14Aでエラーが検出
されてPMCUERR信号95Aがアサートされると、
カウントを開始し、他系のCPUブロックを切り離すX
DISCON信号66がアサートされると、カウントを
停止しクリアされるが、10マイクロ秒経過するとタイ
ムアウト信号(CNTTO−P)96をアサートする。
【0120】900−1〜900−4は論理積素子、9
01は論理和素子、902は排他的論理和素子、903
−1〜903−3は否定論理素子である。
【0121】論理積素子900−1は、片系エラーを検
出する回路である。即ち、自系がエラーでなく(ZAW
DSER−Nがネゲート)が他系がエラーの時(ZBW
DSER−Nがアサート)に、出力信号901−1をア
サートする。この出力信号901−1は論理和素子90
1に入力されることにより、他系CPUブロックの切り
離し要求信号(XDISCONREQ−P)94Aをア
サートする。
【0122】論理積素子900−2、900−3は、そ
れぞれ同期ずれを検出する回路である。システムバス要
求信号(ZAWREQ−N,ZBWREQ−N)やシス
テムバス使用許可信号(ZAWGRT−N,ZBWGR
T−N)をアサートしていない方を故障と見なして、他
系の同期ずれエラー信号911、98をアサートする。
【0123】すなわち、自系のシステムバス要求信号Z
AWREQ−Nがアサートされている状態で、他系のシ
ステムバス要求信号ZBWREQ−Nがアサートされて
いない場合、論理積素子900−2の出力信号がアサー
トされる。同様に、自系のシステムバス使用許可信号Z
AWGRT−Nがアサートされた状態で、他系のシステ
ムバス使用許可信号ZBWGRT−Nがアサートされて
いない場合、論理積素子900−3の出力信号がアサー
トされる。
【0124】このうち同期ずれエラー信号98について
は、CPUが別の原因で既に同期ずれを起こしている可
能性があるので、すぐに切り離し要求を出力するのは危
険である。そこで、要因が判明するまで前述の様にしば
らくの間、タイマ90の出力信号96によって論理積回
路900−3の出力信号である同期ずれエラー信号98
をマスクする。
【0125】図10図と図11に同期ずれエラーを検出
してから、片系CPUブロック切り離し要求がアサート
されるまでのタイムチャートを示す。
【0126】図10は、PMCU14Aからのシステム
バス使用許可信号ZAWGRT−Nが正常に出力された
が、B系のシステムバス使用許可信号ZBWGRT−N
は正常に出力されなかった場合を示している。PMCU
14Bからのバス使用許可信号PBGRTB−Nは、D
SBA2A1にバス使用許可信号(ZBWGRT−N)
62Bとして入力され、一旦でラッチされて信号(LZ
BWGRT−N)92Bとなって、DSBA間インタフ
ェイス60を介して、1サイクルかけて2つのDSBA
2A1,2B2間で渡される。
【0127】一方、自系のDSBA2A1内では、他系
からのバス使用許可信号と位相を合わせるために自系の
PMCU14Aからのバス使用許可信号PBGRTB−
Nを内部でさらにラッチし、信号(LZAWGRT−
N)92Aとする。
【0128】DSBA2A1では、これらの信号92A
と92Bを排他論理和素子902で比較して不一致信号
CMPERR−N910をアサートする。
【0129】図10の例の場合は、PMCU14A,1
4Bの信号の同期ずれであり、CPUが別の原因で同期
ずれを起こしており、PMCU14A,14Bから切り
離し要求が出されている可能性がある。そこで、しばら
く切り離しを待って、切り離しが行われなければ、DS
BA2A1が改めて切り離し要求信号(XDISCON
REQ−P)94Aを出力する。
【0130】図11は、DSBA2A1,2B2からの
システムバス要求信号ZAWREQ−N,ZAWREQ
−NがA系からは正常に出力されたが、B系から出力さ
れなかった場合を示している。2つのDSBA2A1,
2B2からのバス使用要求信号REQA−N,REQB
−Nは、DSBA2A1内で一旦ラッチされて、信号Z
AWREQ−N91A,ZBWREQ−N91Bとな
り、DABA間インタフェイス60を介して、1サイク
ルかけて2つのDSBA2A1,2B2間で渡され
る)。
【0131】自系のDSBA2A1内では、これらの信
号91Aと91Bとを否定論理素子903−2および論
理積素子900−2で比較して不一致信号(COMER
R−N)911をアサートし、切り離し要求信号(XD
ISCONREQ−P)94Aを出力する。
【0132】この切り離し要求信号(XDISCONR
EQ−P)94Aは、PXI7Aに伝えられて、最終的
な切り離し信号が生成される。
【0133】図12は、プロセッサ間インタフェイス制
御装置(PXI)15A,15Bの詳細構成図であり、
A系のPXI15Aを代表して示している。
【0134】図において、94Aは自系のDSBA2A
1から出される他系CPUブロックの切り離し要求信号
(XDISCONREQ−P)である。57は、他系の
PXI15Bとのインタフェイス信号である。
【0135】このうち、信号LXDISCONREQA
−NはA系からのB系切り離し要求信号、LXDISC
ONREQB−NはB系からのA系切り離し要求信号、
LXDISCONA−NはA系からのB系切り離し指示
信号、LXDISCONB−NはB系からのA系切り離
し指示信号である。65はLXDISCONB−Nをラ
ッチで受けて、タイミング調整した自系CPUブロック
に対する切り離し指示信号SDISCONであり、DS
BA2A1の出力ゲート757,758を閉じることに
よって自系を入出力バス7Aから切り離す。121は論
理和素子、122は自系のCPUの状態を保持する状態
レジスタである。
【0136】CPUの状態としては、図13に示す6つ
の状態NONE、INIT、READY、COPY、O
NLN、DISCONがある。
【0137】120は、どちらの系を切り離すかを判定
する切り離し判定回路である。エラーは、同時に2箇所
で発生したり、既に片系が切り離されているときに残存
系でエラーが発生することがあるため、切り離し要求を
受けてそのまま切り離し指示を出すと両系切り離しとい
う致命的な状態になる場合がある。そこで、切り離し判
定回路120で切り離して良いかのネゴシエーションを
行ってからA系からのB系切り離し指示LXDISCO
NA124をアサートする。
【0138】図12(b)に切り離し判定回路120の
判定論理を示す。B系切り離し指示LXDISCONA
124がアサートされるのは、自系がオンライン状態で
あって、自系への切り離し要求がなく、かつ他系への切
り離し要求が自系CPUから出されている時のみであ
る。
【0139】次に、CPU1A,1Bの動作モードにつ
いて図13を参照して説明する。
【0140】CPU1A,1Bの状態としては、6つの
状態NONE、INIT、READY、COPY、ON
LN、DISCONがある。
【0141】NONEは、未実装状態またはクロック停
止であり、全く動作していない状態である。
【0142】INITは、CPU1A,1Bの初期化中
であり、他系とは非同期に自CPUの初期化処理を実行
している状態である。
【0143】READYは、メモリコピー開始待ち状態
である。メモリコピーについては、後述する。
【0144】COPYは、メモリコピー中であり、他系
からのメモリコピーを受けてメモリ一致化処理を行って
いる状態である。
【0145】ONLNは、システムに組み込まれて正常
に動作している状態である。
【0146】DISCONは、他系によって切り離し指
示が出されている状態である。
【0147】初期復電時の状態はNONEであり、CP
U1A,1Bの初期化処理を行った後にONLN状態に
なる。一方、2重化同期動作状態からエラー発生によっ
て切り離された後再投入された場合には、CPUの初期
化処理を行った後に正常系のCPUからのメモリの複写
開始待ち状態になる。その後、実際に正常系のCPUか
らのメモリの複写を受けるCOPY状態になり、複写が
終了するとONLN状態となって2重化同期運転状態に
復旧する。
【0148】次に、本実施例で示すフォールトトレラン
トコンピュータの代表的な動作について説明する。
【0149】正常時の動作: (1)入出力バスアクセスを伴わない時 入出力バス(IOバス)アクセスを伴わずプロセッサ1
1A,12Aとメモリ13Aだけでプログラム実行が行
われる時には、2つのCPU1A,1Bは、同じプログ
ラムを同じ順序で同期しつつ独立して実行する。
【0150】(2)入出力バスアクセスを伴う時 図14(a)に示すように、例えばディスク装置4Aに
対するIOアクセス起動時には、2つのCPU1A,1
Bから同じIOアクセスが同時に出力される。
【0151】DSBA2A1,2B2は、これを受け
て、実線の矢印で示すように、プライマリ側のDSBA
側2A1だけがIOアクセスを入出力バス7Aに伝え
る。
【0152】これに対し、ディスク装置4Aからの応答
は、図14(b)に示すように、プライマリとセカンダ
リの両方のDSBA2A1,2B2が受けて、2つのC
PU1A,1Bに同時に同じ応答を返す。
【0153】ここでは、CPU1A,1Bをアクセス元
としたが、入出力バスあるいはLAN等の入出力装置が
アクセス元となるDMA(ダイレクトメモリアクセス)
の時は、図14の起動と応答が逆になるだけである。
【0154】すなわち、同期運転をしている2つのCP
U1A,1Bと1つの入出力バス7AをDSBA2A
1,2B2で接続し、CPU1A,1Bからのアクセス
をDSBA2A1,2B2で選択し、また入出力バス7
AあるいはLAN等の入出力装置からのアクセスを2つ
のCPU1A,1Bに分配することによって、IOアク
セスを伴う場合でもCPU1A,1Bの2重化同期運転
を継続することができる。
【0155】CPU障害時の動作:障害時の動作として
(1)エラーの検出、(2)障害ブロックの特定、
(3)障害ブロックの切り離し、(4)処理の継続のス
テップが必要となる。
【0156】CPU障害時は上記ステップが下記の通り
ハードウエアにより自動的に行われる。
【0157】(1)エラー検出 パリティチェックなど様々なハードウエアのエラー検出
手段があるが、CPUブロック内でエラーを検出した場
合には、以下に述べる処理ステップはエラーの内容によ
らず同様である。従って、ここでは、片系のメモリでパ
リティエラーが発生した場合を考える。
【0158】(2)障害ブロックの特定 エラーの発生がPXI15A,15Bに報告され、PX
I15A,15Bは障害ブロックを特定する。
【0159】(3)障害ブロックの切り離し エラーの発生がPXI15A,15Bに報告されると、
PXI15A,15Bは、300ns程度の非常に短い
時間でエラーが発生したCPUブロックに対して切り離
し指示信号(SDISCON)65を出力する。DSB
A(2A1または2B2)は、切り離し指示信号(SD
ISCON)65に従って出力ゲート757,758を
閉じてCPUブロックを入出力バス7Aから切り離す。
【0160】(4)処理の継続 障害の発生したCPUブロックが切り離されると、図1
5に示すように、正常系のDSBA(プライマリとセカ
ンダリに関係なく)のアクセスだけが入出力バス7Aあ
るいは7Bに伝えられる。
【0161】また、入出力デバイスからの応答は、正常
系のDSBA(プライマリとセカンダリに関係なく)が
受けて、正常なCPUにのみ応答を返す。
【0162】なお、CPUをアクセス元としたが、入出
力バス7Aあるいは入出力デバイスがアクセス元となる
DMA(ダイレクトメモリアクセス)の時は、起動と応
答が逆になるだけである。このように、正常系のCPU
の処理にとって他系CPUの障害の発生は処理継続とい
う点では透過である。
【0163】LANC障害時の動作:障害時の動作とし
て(1)エラーの検出、(2)障害部位の特定、(3)
障害部位の切り離し(4)処理の継続のステップが必要
となる。LANC障害時は上記ステップが下記の通りに
よりハードウエアとソフトウエアの携帯により行われ
る。
【0164】(1)エラー検出 DSBA2A1,2B2にて入出力バス7A上のアクセ
スを監視し、アクセスが正常終了しない場合には割り込
みトランザクションのデータパターンをシステムバス6
Aに送出することにより、CPU1A,1Bにアクセス
異常を報告する。
【0165】正常終了しないアクセスがリードアクセス
である場合には、割り込みトランザクションのデータパ
ターンをシステムバス6Aに送出したうえで固定パター
ンのデータをCPU1A,1Bにリターンデータとして
返送する。
【0166】例えば、正常終了しないアクセスがリード
アクセスである場合の動作は次の通りである。
【0167】(2)障害部位の特定 割り込みトランザクションによりアクセス異常を報告さ
れたCPU1A,1B内のプロセッサ上で動作するプロ
グラムは、割り込みトランザクションの内容に従いDS
BA2A1,2B2にて検出された障害を認識し、DS
BA2A1,2B2にて採取されている障害ログの内容
により障害部位の特定を行う。例えば、入出力バス7A
のパリティエラー等の場合は障害部位は入出力バス7A
であると特定される。
【0168】また、PIOリードのタイムアウト検出
で、しかも入出力バス7Aのアクセス時に他のエラーを
検出していない場合には、DSBA2A1,2B2にて
採取されているタイムアウト検出対象のアクセスアドレ
スにより障害部位はアクセス対象の入出力デバイスであ
るとプログラムにより特定される。
【0169】(3)障害部位の切り離し 障害部位の特定を特定したCPU1A,1B内のプロセ
ッサ上で動作するプログラムは、DSBA2A1,2B
2へのレジスタ空間へのPIOライトにより、入出力装
置群と入出力デバイスとの論理接続を切り離す指示コマ
ンドを発行することにより、障害部位を切り離す。
【0170】(4)処理の継続 CPU1A,1B内のプロセッサ上で動作するプログラ
ムは、障害の発生した入出力装置とペア関係にある入出
力装置を入出力デバイスに論理接続させ、未完了状態で
あるIO処理を再起動することにより、入出力デバイス
を用いた処理を継続する。
【0171】コンソール装置の入出力パス: (1)2つのCPUブロックが正常に動作している時 この場合は、図16(a)に示すように、コンソール装
置5に対するメッセージ等のライトアクセスは、2つの
CPU1A,1Bから同じライトアクセスが同時に出力
される。
【0172】DSBA2A1,2B2は、これを受け
て、実線の矢印で示すように、プライマリ側のDSBA
側2A1だけがライトアクセスを入出力バス7Aに伝え
る。
【0173】このライトアクセスは、IOBA20A,
IOA35A(現用系)を通じてコンソール装置5のA
系入出力ポートに伝達される。
【0174】これに対し、コンソール装置5からの応答
またはキー入力データは、図16(a)に破線で示すよ
うに、プライマリとセカンダリの両方のDSBA2A
1,2B2が受けて、2つのCPU1A,1Bに伝達す
る。
【0175】(2)片系のCPU1Aで障害が発生した
時 この場合は、まず、バススイッチ16Bが開かれ、A系
とB系とが切り離される。そして、図16(b)に実線
で示すように、コンソール装置5に対するメッセージ等
のライトアクセスは、正常系のCPU1Bから出力され
る。
【0176】DSBA2B1,2B2は、これを受け
て、実線の矢印で示すように、セコンダリ側のDSBA
側2B2がライトアクセスを入出力バス7Aに伝える。
【0177】このライトアクセスは、IOBA20A,
IOA35A(現用系)を通じてコンソール装置5のA
系入出力ポートに伝達される。
【0178】これに対し、コンソール装置5からの応答
またはキー入力データは、図16(b)に破線で示すよ
うに、セカンダリ側のDSBA2B2が受けて、正常系
のCPU1Bに伝達する。
【0179】(3)IOAの片方に障害が発生した時 コンソール装置5が接続されるIOA35A,35Bの
うち現用系のIOA35Aに障害が発生した場合(IO
BA20A,バス7Aに障害が発生した時も同じ)、図
17(a)に示すように、コンソール装置5に対するメ
ッセージ等のライトアクセスは、2つのCPU1A,1
Bから同じライトアクセスが同時に出力される。
【0180】この場合、A系側CPUがセカンダリとな
るので、DSBA2B1,2A2は、これを受けて、実
線の矢印で示すように、プライマリ側のDSBA側2B
1だけがライトアクセスを入出力バス7Bに伝える。
【0181】このライトアクセスは、IOBA20A,
IOA35A(現用系)を通じてコンソール装置5のB
系入出力ポートに伝達される。
【0182】これに対し、コンソール装置5からの応答
またはキー入力データは、図17(a)に破線で示すよ
うに、プライマリとセカンダリの両方のDSBA2B
1,2A2が受けて、2つのCPU1A,1Bに伝達す
る。
【0183】この動作は、LAN制御装置に障害が発生
した場合と同じである。
【0184】(4)障害によって切り離されていたCP
Uブロックを復帰させる手順 CPU1Aに障害が発生し、図16(b)に示すような
パスで運転されるようになった状態で、CPU1Aの障
害を取り除き、正常状態に復帰させる場合は次の手順を
実施する。
【0185】(4.1)まず、オペレーティングシステ
ムからの指示によってコンソールパスを図17(b)の
実線で示すように切り替える。すなわち、IOA35B
を現用系に切り替える。
【0186】これにより、一方のIOA35AをCPU
ブロックのテスト用として仕様可能な状態にする。
【0187】(4.2)次に、IOA35Aのコンソー
ルパスを用いてCPU1Aに対してリセットコマンドを
与える。これにより、CPU1AはDISCON状態
(図13参照)からINIT状態に遷移する。
【0188】(4.3)CPU1AがREADY状態ま
で遷移したならば、COPY状態にしてメモリ複写を行
った後、ONLN状態に復帰させる。
【0189】これにより、図18に示すような運転状態
になる。すなわち、入出力バス7B側が現用系、7A側
が待機系で運転される状態となる。
【0190】なお、この時、バススイッチ16BはOS
からの指示、またはオンライン復帰に伴う論理信号によ
って閉じさせる。
【0191】以上のように、本実施例によれば、CPU
ブロックと入出力装置とをDSBAを介して接続し、か
つDSBAをCPUブロックのような高速で高度な実装
技術が要求される部分に設けるのでなく、入出力装置と
の低速なインタフェース部分に設けることにより、CP
Uブロックと入出力装置とを通常のデータ処理装置やワ
ークステーションやパーソナルコンピュータ等と共通化
でき、高信頼性の2重化計算機を通常のデータ処理装置
やワークステーションと共同開発することが可能にな
る。
【0192】また、コンソール装置は、2系列のCPU
ブロックの両方に接続し、CPUブロックのシステム監
視情報を両者が区別できる形式で同一画面に表示するよ
うにし、現用系の入出力装置に障害が発生し、現用系と
待機系が切り替えられた場合は、現用系と待機系の表示
画面を切り替えるようにしているため、コンソール装置
のケーブルの接続変更作業を行うことなく、現用系のシ
ステム監視情報を即座に把握することが可能になる。
【0193】また、障害が発生した系に対しては、その
系が待機系に切り替えられているので、その待機系の表
示画面を用いて自己診断テストなどの指令を入力し、独
立して自己診断や点検作業を行うことができる。
【0194】以上、本発明を実施例にもとづき具体的に
説明したが、本発明は、前記実施例に限定されるもので
はなく、その要旨を逸脱しない範囲において種々変更可
能であることは言うまでもない。
【0195】
【発明の効果】以上のように、本発明によれば、データ
処理ブロックと入出力装置とを接続装置を介して接続
し、かつ接続装置をデータ処理ブロックのような高速で
高度な実装技術が要求される部分に設けるのでなく、入
出力装置との低速なインタフェース部分に設けることに
より、データ処理ブロックと入出力装置とを通常のデー
タ処理装置やワークステーションやパーソナルコンピュ
ータ等と共通化でき、高信頼性の2重化計算機を通常の
データ処理装置やワークステーションと共同開発するこ
とが可能になる。
【0196】そして、CPUだけでなく入出力装置のハ
ードウエアに1点障害が発生しても当該障害部分を確実
に切り離して、処理を続行することによりノンストップ
運転を実現できる。
【0197】また、コンソール装置は、2系列のデータ
処理ブロックの両方に接続し、データ処理ブロックのシ
ステム監視情報を両者が区別できる形式で同一画面に表
示するようにし、現用系の入出力装置に障害が発生し、
現用系と待機系が切り替えられた場合は、現用系と待機
系の表示画面を切り替えるようにしているため、コンソ
ール装置のケーブルの接続変更作業を行うことなく、現
用系のシステム監視情報を即座に把握することが可能に
なる。
【0198】また、障害が発生した系に対しては、その
系が待機系に切り替えられているので、その待機系の表
示画面を用いて自己診断テストなどの指令を入力し、独
立して自己診断や点検作業を行うことができる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す概略構成ブロック図で
ある。
【図2】図1の詳細構成図である。
【図3】コンソール装置の内部構成図である。
【図4】プロセッサメモリ制御ユニットの詳細構成図で
ある。
【図5】クロック回路の詳細構成図である。
【図6】接続装置間インタフェースの説明図である。
【図7】接続装置の詳細構成図である。
【図8】接続装置内の出力ゲート制御回路の構成図であ
る。
【図9】接続装置内の切り離し要求生成部の構成図であ
る。
【図10】同期ずれ検出時の一例を示すタイムチャート
である。
【図11】同期ずれ検出時の他の例を示すタイムチャー
ト。
【図12】プロセッサ間インタフェース制御装置の詳細
構成図である。
【図13】CPUブロックの動作モードの説明図であ
る。
【図14】2つの系が正常な時のIOアクセス動作の説
明図である。
【図15】CPU障害時のIOアクセス動作の説明図で
ある。
【図16】障害部位別のコンソールパスの第1の説明図
である。
【図17】障害部位別のコンソールパスの第2の説明図
である。
【図18】一方のCPU障害を復旧した後のコンソール
パスの説明図である。
【符号の説明】
1A,1B…CPU、2A,2B…多重システムバスア
ダプタ、3A,3B…入出力装置群、4A,4B…入出
力装置、5…コンソール装置、6A,6B…システムバ
ス、7A,7B…入出力バス、14A,14B…プロセ
ッサメモリ制御ユニット、16A,16B…バススイッ
チ、20A,20B…入出力バスアダプタ。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06F 15/16 470 G06F 15/16 420C (72)発明者 ▲高▼谷 壮一 茨城県日立市大みか町五丁目2番1号 株 式会社日立製作所大みか工場内 (72)発明者 石和 芳之 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 プログラム及びデータを格納する第1の
    メモリと該メモリからプログラム及びデータを取り出し
    て処理する第1のデータ処理装置を有する第1データ処
    理ブロックと、 プログラム及びデータを格納する第2のメモリと該メモ
    リからプログラム及びデータを取り出し、前記第1のデ
    ータ処理装置と同一のクロックに従って処理する処理す
    る第2のデータ処理装置を有する第2のデータ処理ブロ
    ックと、 前記第1及び第2のデータ処理ブロックの指定により処
    理結果を格納または外部に送出するための第1および第
    2の入出力装置と、 前記第1および第2のデータ処理ブロックの動作状態等
    を表示すると共に、各種の指令を入力するための第3お
    よび第4の入出力装置と、 前記第1のデータ処理ブロックと第1,第3の入出力装
    置との間に接続される第1の接続装置と、 前記第2のデータ処理ブロックと第2,第4の入出力装
    置との間に接続される第2の接続装置と、 前記第1の入出力装置と第2の入出力装置の両方に物理
    接続され、処理結果を格納または外部に送出する入出力
    デバイスと、 前記第3の入出力装置と第4の入出力装置の両方に物理
    接続され、第1および第2のデータ処理ブロックの両方
    の動作状態等を処理ブロック別に表示すると共に、各種
    の指令を処理ブロック別に入力するコンソール装置とを
    備え、 さらに、前記第1及び第2の接続装置は第1及び第2の
    データ処理ブロックからの指示により第1、第2、第
    3、第4の入出力装置と入出力デバイスとの論理接続を
    切り離す手段を備えることを特徴とする2ポートコンソ
    ールを持つフォールトトレラントコンピュータ。
  2. 【請求項2】 前記第1,第2の接続装置は、第2のデ
    ータ処理ブロックの障害時に第1のデータ処理ブロック
    の入出力バスを第2,第4の入出力装置に接続する第1
    のバススイッチと、第1のデータ処理ブロックの障害時
    に第2のデータ処理ブロックの入出力バスを第1,第3
    の入出力装置に接続する第2のバススイッチとをさらに
    備えることを特徴とする請求項1記載の2ポートコンソ
    ールを持つフォールトトレラントコンピュータ。
JP7165827A 1995-06-30 1995-06-30 2ポートコンソールを持つフォールトトレラントコンピュータ Pending JPH0916426A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP7165827A JPH0916426A (ja) 1995-06-30 1995-06-30 2ポートコンソールを持つフォールトトレラントコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP7165827A JPH0916426A (ja) 1995-06-30 1995-06-30 2ポートコンソールを持つフォールトトレラントコンピュータ

Publications (1)

Publication Number Publication Date
JPH0916426A true JPH0916426A (ja) 1997-01-17

Family

ID=15819762

Family Applications (1)

Application Number Title Priority Date Filing Date
JP7165827A Pending JPH0916426A (ja) 1995-06-30 1995-06-30 2ポートコンソールを持つフォールトトレラントコンピュータ

Country Status (1)

Country Link
JP (1) JPH0916426A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323209A (ja) * 2002-04-30 2003-11-14 Mitsubishi Electric Corp プロセスデータモニタ装置
JP2007298379A (ja) * 2006-04-28 2007-11-15 Hamamatsu Photonics Kk 発光測定装置及び発光測定方法
US7610509B2 (en) 2004-12-16 2009-10-27 Nec Corporation Fault tolerant computer system
WO2016088254A1 (ja) * 2014-12-05 2016-06-09 株式会社日立製作所 ストレージシステム、方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003323209A (ja) * 2002-04-30 2003-11-14 Mitsubishi Electric Corp プロセスデータモニタ装置
US7610509B2 (en) 2004-12-16 2009-10-27 Nec Corporation Fault tolerant computer system
JP2007298379A (ja) * 2006-04-28 2007-11-15 Hamamatsu Photonics Kk 発光測定装置及び発光測定方法
WO2016088254A1 (ja) * 2014-12-05 2016-06-09 株式会社日立製作所 ストレージシステム、方法

Similar Documents

Publication Publication Date Title
EP0731945B1 (en) Fault resilient/fault tolerant computing
US6349391B1 (en) Redundant clock system and method for use in a computer
US5901281A (en) Processing unit for a computer and a computer system incorporating such a processing unit
US5005174A (en) Dual zone, fault tolerant computer system with error checking in I/O writes
US5249187A (en) Dual rail processors with error checking on I/O reads
US5099485A (en) Fault tolerant computer systems with fault isolation and repair
US7441150B2 (en) Fault tolerant computer system and interrupt control method for the same
JP2573508B2 (ja) ディジタルロジック同期モニター方法および装置
JP3595033B2 (ja) 高信頼化コンピュータシステム
JPH01154240A (ja) 単一レールインターフェイスにエラーチェック機能を有する二重レールプロセッサ
JP3329986B2 (ja) マルチプロセッサシステム
EP0545627A2 (en) Multi-lane controller
JPH0916426A (ja) 2ポートコンソールを持つフォールトトレラントコンピュータ
WO1997043712A2 (en) Triple modular redundant computer system
JPH05313930A (ja) 高信頼度化情報処理装置
JPH08190494A (ja) 二重化処理装置を有する高信頼化コンピュータ
JPH10240555A (ja) フォールト・トレラント・データ処理システムとその方 法
JPH09179836A (ja) 多重化計算機およびその障害検出処理方法
JPS6055446A (ja) 計算機
JPH06259270A (ja) プロセッサ異常判定回路