JPH07182253A - バスアダプタ及びバス多重化方式 - Google Patents

バスアダプタ及びバス多重化方式

Info

Publication number
JPH07182253A
JPH07182253A JP5328974A JP32897493A JPH07182253A JP H07182253 A JPH07182253 A JP H07182253A JP 5328974 A JP5328974 A JP 5328974A JP 32897493 A JP32897493 A JP 32897493A JP H07182253 A JPH07182253 A JP H07182253A
Authority
JP
Japan
Prior art keywords
bus
buses
module
adapter
multiplexed
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
JP5328974A
Other languages
English (en)
Inventor
Mamoru Kato
守 加藤
Kazuki Kosaka
一樹 小坂
Norihisa Kaneda
典久 金田
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP5328974A priority Critical patent/JPH07182253A/ja
Publication of JPH07182253A publication Critical patent/JPH07182253A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Bus Control (AREA)
  • Hardware Redundancy (AREA)

Abstract

(57)【要約】 【目的】 標準バスを用いた市販の制御モジュールを二
重化されたバスに接続する。 【構成】 標準バス(単一バス)を有するモジュールを
バスアダプタのモジュールバスコネクタに接続する。マ
ザーボードには二重化されたバス(バスA、バスB)が
用意されており、バスアダプタをマザーボードにあるバ
スAコネクタ、バスBコネクタに接続する。バスアダプ
タはバスA及びバスBとモジュールバスとの接続を制御
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、例えば、標準の単一バ
ス用のモジュールを二重化バスに接続するバスアダプタ
に関するものである。また、本発明は、例えば、高信頼
化計算機等に使用される周辺装置バスの二重化方式に関
するものである。
【0002】
【従来の技術】計算機の高信頼化技術に関しては、特開
昭64−50149号、特開昭64−54558号など
が知られている。これらの技術によれば、ペアアンドス
ペア方式と呼ばれる方式で二重化された周辺装置コント
ローラが、二重化された周辺装置バスを通じて周辺装置
と通信を行う。
【0003】計算機の高信頼化技術に関する他の技術と
して、特開平4−241035号が知られている。この
二重化バス制御方式では、二重化バスの調停と転送終了
の時点を意識したデータ転送単位での同期化を特徴とし
ている。さらに二重化バス上の一方で瞬時的な故障が発
生した場合には故障の発生したバス及び他方のバスでリ
トライを行うことを特徴としている。
【0004】
【発明が解決しようとする課題】上記のペアアンドスペ
ア方式では2枚のボードをクロックレベルで同期して動
作させ、2枚のボードが同時に2つのバスに出力を行う
ために、オープンコレクタのバスを使用している。この
ことはバスの高速化の阻害要因となっている。また、こ
の方式で用いられるバスは周辺装置コントローラに従属
的なバスであり、インテリジェントな周辺装置が接続で
きないので、これも高性能化を妨げる要因になる。
【0005】また、上記二重化バス制御方式では、上記
ペアアンドスペア方式の欠点はなくなるが、バスのアー
ビトレーション時に同期化のためのオーバーヘッドが伴
い、またバスの一方において瞬時的な障害が発生した場
合に他方のバスでもリトライを行うため、オーバーヘッ
ドが伴う。また、従来のバスを二重化した方式を用いる
場合は、二重化バスに接続されるコントローラやモジュ
ールはあらかじめ二重化バスとのインタフェースをとる
ための特殊な設計を施される必要があり、他の二重化バ
スとの互換性がなく高価なものとなる欠点があった。す
なわち、計算機の高信頼化を行うためバスを二重化する
ということは従来から行われていることであり、その二
重化バスとのインタフェースをとるために特別なハード
ウェアが設計されなければならないという欠点があっ
た。
【0006】本発明の総合的な目的は、特に市販のさま
ざまな周辺装置制御モジュールをそのまま活用可能なバ
ス多重化方式及びバスアダプタを提供し、高性能かつ高
信頼な計算機を低コストにて提供することである。
【0007】また、本発明の目的は、ひとつのバスで瞬
時的な障害が発生しても、リトライすることなしに正し
い動作が継続可能であり、故障時の診断や故障部位の切
り分けが容易であるような多重化バスの方式を提供する
ことである。
【0008】また、本発明の目的は、高速な周辺装置バ
ス、特にパリティ信号がデータに対して遅れて出力され
るような高速バスのエラー検出を、多重化によって早い
段階で行えるようにし、性能の向上を図ることである。
【0009】また、本発明の目的は、固定的な障害の発
生時などに、障害系のバスを切り離して正常系の動作を
阻害することを防ぎ、かつ切り離されたバスを診断が可
能な状態に置けるような手段を提供することである。
【0010】また、本発明の目的は、切り離された系の
診断アクセスを正常な系と独立に行って、バス診断時の
性能低下を防ぐことのできるような多重化バスの診断手
段を提供することである。
【0011】また、本発明の目的は、バスの制御信号の
診断も、正常な系と独立に行って、バスの障害箇所の特
定が容易に行えるような多重化バスの診断手段を提供す
ることである。
【0012】また、本発明の目的は、多重化バスから周
辺制御モジュールへのアクセスが発生した場合に、バス
アダプタを介して周辺制御モジュールが応答すると、応
答の遅いモジュールが認識されなくなる事態を防ぎ、バ
スの高速性を損なわないようなバスアダプタを提供する
ことである。その方法としても、従来ではアドレスを小
区画に分け、すべての小区画に対応する実装情報ビット
をもつ方法がとられていたが、そのように大量の実装情
報メモリを必要とするものではなく、比較的少量のハー
ドウェアで構成可能な方法を提供することである。
【0013】また、本発明の目的は、モジュールが故障
時に多重化バスの複数に不正常なデータを流してバスの
ダウンを招くという事態を避け、かつモジュールの診断
を正常系に影響を与えずに実行できるようなモジュール
切り離しの方式を提供することである。
【0014】また、本発明の目的は、活線挿抜の機能を
もたない市販の標準バス用モジュールを多重化バスに活
線挿抜した場合に、後から挿入したモジュールが不定状
態となることを防ぎ、正しく挿入を検知できたことを容
易に知り得るような活線挿抜機能を提供することであ
る。
【0015】また、本発明の目的は、バスに障害が発生
したときの障害情報を保持するステータスレジスタをア
クセスする場合で、必ずしも正常に動作している系から
読み出せないような場合でも、所望のステータスレジス
タが読めたかどうかを知ることができるステータスレジ
スタを提供することである。
【0016】また、本発明の目的は、前記ステータスレ
ジスタをアクセスする場合に、バスの障害でアドレスに
異常が生じても正しく所望のレジスタを読み出せるよう
なステータスレジスタを提供することである。
【0017】
【課題を解決するための手段】この発明におけるバスア
ダプタは、以下の要素を有するものである。 (a)単一バスを用いて動作するモジュールとのインタ
フェースをとる単一バスインタフェース、(b)複数の
バスを多重化した多重化バスとのインタフェースをとる
多重化バスインタフェース、(c)上記単一バスインタ
フェースと多重化バスインタフェースの間にあって両イ
ンタフェース間のアクセスを制御するアクセス制御手
段。
【0018】また、上記アクセス制御手段は、多重化バ
スの多重化された複数のバスからデータを入力しその中
からひとつを選択して単一バスに送出するとともに、単
一バスからのデータを複数のバスに送出するバス選択手
段を備えたことを特徴とする。
【0019】さらに、上記アクセス制御手段は、多重化
バスの障害を検出するバス障害検出手段を備えたことを
特徴とする。
【0020】また、上記バス障害検出手段は、さらに、
多重化バスの各バスの障害をそれぞれ検知する障害検知
手段と、障害検知手段によるバスの障害検知に基づいて
上記バス選択手段に対して正常なバスを選択するための
バス選択信号を発生させるバス選択信号発生手段を備え
たことを特徴とする。
【0021】さらに、上記バス障害検出手段は、多重化
バスの各バスの信号を比較するバス比較手段と、バス比
較手段の比較結果に基づいてバスの動作をウェイトさせ
るウェイト制御手段を備えたことを特徴とする。
【0022】また、上記アクセス制御手段は、バス障害
検出手段により障害が検出されたバスを多重化バスイン
タフェースから切り離すバス切り離し手段を備えたこと
を特徴とする。
【0023】また、この発明におけるバス多重化方式
は、複数のバスを多重化した多重化バスと、多重化バス
に上記多重化バスインタフェースにより接続された複数
のバスアダプタを備え、上記バス切り離し手段は、バス
の切り離しを他のバスアダプタに通知するバス切り離し
通知手段と、他のバスアダプタのバス切り離し通知手段
からバスの切り離しの通知を受信し、通知されたバスへ
のアクセスを禁止するバスアクセス禁止手段を備えたこ
とを特徴とする。
【0024】また、上記アクセス制御手段は、上記バス
切り離し手段により切り離されたバスを診断するバス診
断手段を備えたことを特徴とする。
【0025】さらに、この発明におけるバス多重化方式
は、複数のバスを多重化した多重化バスと、多重化バス
に上記多重化バスインタフェースにより接続された請求
項8記載の複数のバスアダプタを備え、上記バス診断手
段は、バス切り離し手段により切り離されたバスを用い
て他のバスアダプタに診断信号を送信する送信手段と、
送信手段により送信した診断信号を正常なバスを用いて
他のバスアダプタから受信する受信手段を備えたことを
特徴とする。
【0026】また、上記バスアダプタは、多重化バスイ
ンタフェースから受信する信号が単一バスインタフェー
スを介して接続されるモジュールからの応答を要求する
信号であるかを判定して、モジュールのかわりに多重化
されたバスに応答するデコード手段を備えたことを特徴
とする。
【0027】また、上記デコード手段は、バスアダプタ
に接続されているモジュールを選択するためのアドレス
と同一のアドレスを保持するレジスタ手段と、上記多重
化されたバスから受信するアドレスを上記レジスタ手段
に保持されたアドレスと比較する比較手段と、比較手段
の比較結果に基づいて、モジュールが選択されたことを
示す被選択信号を出力する応答手段を備えたことを特徴
とする。
【0028】さらに、上記バスアダプタは、モジュール
の接続に用いる単一バスの障害を検出する単一バス障害
検出手段と、単一バス障害検出手段の障害検出結果に基
づいて、モジュールを切り離すモジュール切り離し手段
を備えたことを特徴とする。
【0029】さらに、上記モジュール切り離し手段は、
モジュールから多重化されたバスへのアクセスを限定的
に許可する限定アクセス手段を備えたことを特徴とす
る。
【0030】また、上記バスアダプタは、多重化バスに
対して活線挿抜を行う活線挿抜手段を備えたことを特徴
とする。
【0031】また、上記バスアダプタは、バスアダプタ
を初期化する初期化手段と、モジュールに対してリセッ
ト信号を発生するリセット信号発生手段を備えたことを
特徴とする。
【0032】さらに、上記バスアダプタは、ハミング距
離3をもったアドレスに配置されたレジスタを備えたこ
とを特徴とする。
【0033】さらにまた、上記バスアダプタは、固有の
識別子をもったレジスタを備えたことを特徴とする。
【0034】さらにこの発明におけるバス多重化方式
は、以下の要素を有するものである。 (a)複数のバスを多重化した第1の多重化バス、
(b)複数のバスを多重化した、上記第1の多重化バス
とは異なる第2の多重化バス、(c)上記第1と第2の
多重化バスの間に設けられ、第1の多重化バスの複数の
バスと、第2の多重化バスのいずれかひとつのバスの接
続の切り替えを行う複数のバススイッチ。
【0035】
【作用】本発明は、多重化バスにバスアダプタが接続さ
れ、バスアダプタに単一バスを用いてモジュールが接続
され、モジュールはバスアダプタを介して多重化バスと
データ転送を行うものである。
【0036】また、本発明は、バスアダプタが多重化バ
スの複数のバスからデータを入力し、ひとつのバスから
のデータを選択してモジュールに送出し、またモジュー
ルからのデータは多重化バスの複数のバスに送出するバ
ス選択手段を備えたものである。
【0037】バスアダプタは、多重化バスのそれぞれの
バスの障害を検出するバス障害検出手段を持つ。多重化
バスのひとつのバスに一時的な障害発生を検知した場合
には、障害を検知したバスアダプタは障害の発生してい
ないバスの入力データを選択し、出力は多重化バスの複
数に送出する。
【0038】また、バスアダプタのバス障害検出手段
は、それぞれのバス障害検知手段によってどのバスに障
害が発生したかを検出する。
【0039】また、バス障害検出手段は、複数のバスを
比較し、一致していればバスに障害がないとし、不一致
である場合にバスをウェイトさせて、障害検知手段によ
り障害を検出する。
【0040】また、バスアダプタのバス切り離し手段
は、バス障害検出手段により障害が検出された場合に
は、障害が発生したバスの切り離しを指示する。
【0041】また、バス切り離し手段は、多重化バスの
ひとつのバスに固定的な障害が発生した場合には、他の
すべてのバスアダプタに障害発生バスの切り離しを指示
し、切り離されたバスに対してはどのバスアダプタも入
力、出力ともに行わず、残りの系のみを用いてデータ転
送を行う。
【0042】バスアダプタのバス診断手段は、バス切り
離し手段により障害が発生したと判断されたバスの障害
原因を診断する。
【0043】このバス診断手段は、多重化バスのひとつ
のバスが切り離されている場合においても、正常系のバ
スからの指示によって切り離されたバスを用いて診断の
ためにデータ転送を行わせる。診断を指示されたバスア
ダプタは他のすべてのバスアダプタに切り離された系の
診断のアクセスを行うことを通知し、診断アクセスを行
う。診断アクセスの結果は正常系のバスから読み出す。
診断アクセスは正常な系のバスの動作とは独立に実行さ
れる。また、前記診断アクセスにおいて、カバーされな
い制御信号に関しては、正常系のバスからの指示によっ
て切り離された系の制御信号に指定のパターンをドライ
ブする。このドライブを行っている間も正常系は正常動
作を続行し、またドライブの結果は正常系バスから読み
出す。
【0044】また、バスアダプタのデコード手段は、バ
スアダプタに接続されるモジュールからの応答信号をま
つことなく、デコード手段により応答すべきかどうかを
判定し、応答信号を発生する。このため、モジュールと
多重化バスの間にバスアダプタが存在していることによ
る応答のチェーンがなくなる。
【0045】バスアダプタのデコード手段は、バスアダ
プタに接続されるモジュールの応答すべきアドレス範囲
を保持するレジスタを持ち、多重化バスのアドレスがそ
のアドレス範囲である場合には、モジュールがデコード
して応答信号を返すよりも前に、バスアダプタが応答信
号を返す。アドレス範囲を保持するレジスタとしては、
ベースレジスタ及びアドレス範囲レジスタを用意する。
【0046】また、バスアダプタは自身に接続されるモ
ジュールの故障時に故障を検出し、そのモジュールを切
り離す。また、ソフトウェアからの指示によってもモジ
ュールを切り離す。モジュールを多重化バスから切り離
した場合、故障したモジュールから多重化バスへのアク
セスは禁止される。
【0047】また、バスアダプタは切り離されたモジュ
ールの診断のために、バスアダプタは切り離したモジュ
ールに対して限定されたアドレス空間へのアクセスのみ
を許可するモードを持ち、ソフトウェアからモードを指
定する。
【0048】また、バスアダプタは活線挿抜をサポート
し、活線挿抜をサポートしないモジュールをも多重化バ
スから活線挿抜可能にする。バスアダプタとそれに接続
されるモジュールを一体として挿抜を行い、挿抜時には
多重化バスへの出力を禁止してバスへの影響を抑える。
【0049】さらに、バスアダプタは活線挿抜後に自身
とモジュールのリセットを行い、自身は一定時間後に初
期化が完了することを保証する。
【0050】またバスアダプタは、上記レジスタのアド
レスをハミング距離3の位置に配置し、アドレス信号の
1本が誤っても直ちに正しいレジスタにアクセスされ
る。
【0051】バスアダプタは多重化バス及びモジュール
との接続バスの障害検出状態を保持するステータスレジ
スタを持ち、それぞれのステータスレジスタにはレジス
タ識別子をあらかじめ埋め込み、ソフトウェアがレジス
タを読み出した時にレジスタ識別子を照合することで正
しいレジスタが読めたかどうかをチェックする。
【0052】また、この発明においては、バススイッチ
が二つの多重化バスの間に存在しており、いずれかひと
つの多重化バスの系において障害が発生してもその障害
が他の多重化バスに直接及ぶことなく接続を切り替え
る。
【0053】
【実施例】
実施例1.以下、本発明の実施例を図にしたがって説明
する。
【0054】図1は本実施例におけるバス二重化方式に
よって周辺装置バスを二重化したコンピュータシステム
の構成例である。10は周辺装置バスで、二重化バス方
式によって二重化されたバス10A及び10Bから構成
される。11A及び11Bはブリッジバスで、周辺装置
バス10A及び10Bと同一の仕様を持ち、10A及び
10Bと同様に二重化されている。21,22はバスア
ダプタで、周辺装置バス10に接続される。31,32
は周辺装置制御モジュール(以下、単にモジュールとも
いう)で、それぞれモジュールバス301,302を介
してバスアダプタ21,22にローカルに接続される。
41,42は周辺装置で、それぞれ周辺装置制御モジュ
ール31,32に接続される。
【0055】図ではバスアダプタ+モジュールは2組の
み記されているが、3組以上であってもよい。モジュー
ル31,32はバスアダプタを介して周辺装置バス10
A,10Bを獲得し、他のモジュールやシステムバス上
のメモリをアクセスするバスマスタDMAの機能を持
つ。
【0056】50A,50Bはバススイッチ、60A,
60Bはバスブリッジである。70はシステムバスで、
システムバス70A,70Bの二重化構成をとる。シス
テムバス70A,70Bにはそれぞれに対応してバスブ
リッジ60A,60Bが接続され、それぞれシステムバ
ス70A,70Bからブリッジバス11A,11Bへの
変換を行う。ブリッジバス11A,11Bの両方にバス
スイッチ50A,50Bが接続され、50A,50Bは
それぞれ周辺装置バス10A,10Bに接続される。中
央処理装置81,82,83はシステムバス70の両方
に接続され、それぞれが対等なマルチプロセッサ構成を
成す。図では3つのみが記されているが、1つ以上いく
つでもよい。主記憶装置90A,90Bはシステムバス
70A,70Bにそれぞれ対応して接続される。
【0057】図1のコンピュータシステムにおいて、二
重化されたシステムバスは同一のクロックによって同期
して動作する。システムバスに接続される装置もこの同
一のクロックを使用するので、システムバス70A,7
0Bでは同一の動作を行うことが可能である。また二重
化された周辺装置バスも同一のクロックによって同期し
て動作し、周辺装置バスに接続される装置もこの同一の
クロックを使用するので、周辺装置バス10A,10B
では同一の動作を行うことが可能である。さらにシステ
ムバスと周辺装置バスを同一のクロックで動作させるこ
とで、バスブリッジ60Aと60Bは同期動作可能であ
り、バススイッチ50Aと50Bも同期動作可能であ
り、ブリッジバス11Aと11Bも同期動作可能であ
る。二重化バスが同期同一動作可能であるため、通常動
作時には2つの主記憶装置は同一の内容に保たれる。
【0058】正常動作中には、ある1つの中央処理装置
(例えば81)の主記憶装置90A及び90B、または
バスブリッジ60A及び60Bに対する書き込みアクセ
ス時は両方のバスを通じて同時に同一の内容が書き込ま
れる。同様に、ある1つの中央処理装置(例えば81)
の主記憶装置90A及び90B、またはバスブリッジ6
0A及び60Bに対する読み出しアクセス時は両方のバ
スを通じて同時に同一の内容が読み出される。
【0059】バスブリッジ60A,60Bはそれぞれ、
システムバス70A,70Bからのアクセスをブリッジ
バス11A,11Bへのアクセスに変換する。正常動作
中であれば、図2に示すようにバススイッチ50Aはブ
リッジバス11Aを周辺装置バス10Aに接続し、バス
スイッチ50Bはブリッジバス11Bを周辺装置バス1
0Bに接続する。したがってシステムバス70からバス
ブリッジへアクセスすると、周辺装置バス10にアクセ
スが発生し、バスアダプタを経由していずれか一つの周
辺装置制御モジュール(例えば31)が応答する。
【0060】逆に周辺装置制御モジュールが主記憶装置
に対してDMAアクセスを行う場合には、バスアダプタ
を経由して両方の周辺装置バス10A及び10Bに同時
にアクセスが発生する。これがバススイッチを経由して
バスブリッジに送られ、バスブリッジがシステムバス経
由でメモリを同時にアクセスする。この場合にも、図2
に示すようにバススイッチはバス10Aとバス11A、
バス10Bとバス11Bをそれぞれ接続する。
【0061】ブリッジバス11A,11Bは周辺装置バ
ス10A,10Bと同一の仕様であるので、ブリッジバ
ス11Aを周辺装置バス10Aに、ブリッジバス11B
を周辺装置バス10Bに直結することも可能であるが、
その場合には、システムバスと周辺装置バスのいずれか
一方でバスの片系に障害が発生すると、システムバスと
周辺装置バスの両方ともバスの片系が使用不可能にな
る。したがって図1の例ではバススイッチを挟んでい
る。バススイッチによってシステムバスと周辺装置バス
の間の障害波及を阻止できる。
【0062】システムバスの片系(例えば70A)で障
害が発生した場合、図3に示すように、バススイッチ5
0Bは相変わらずブリッジバス11Bとバス10Bを接
続し、バススイッチ50Aはバス11Aとの接続を断
ち、ブリッジバス11Bから入力して出力は行わない。
これによってシステムバスの片系障害時にも周辺装置バ
スは両系とも正常に同期動作が可能である。
【0063】逆に周辺装置バスの片系(例えば10A)
で障害が発生した場合、図4に示すように、バススイッ
チ50Aはブリッジバスに対する入力及び出力を停止
し、バススイッチ50Bがブリッジバス11A及び11
Bに出力を行う。入力はバス11Bから行う。これによ
って周辺装置バスの片系障害時にもシステムバスは両系
とも正常に同期動作が可能である。
【0064】図のようにバススイッチやバスブリッジが
二重化バスの一方にのみ接続されているということは、
バスの負荷を減らしてバスの高速化を助けるという意味
で非常に重要である。また、上記の障害発生時の動作を
保証するためには、バススイッチ50A,50B、バス
ブリッジ60A,60Bはそれぞれ別のボードとして交
換可能である必要がある。
【0065】次に図5を用いて周辺装置バスの障害時の
動作を説明する。図5は周辺装置バスの構成例である。
バス10Aは101A,102A,103Aからなり、
バス10Bは101B,102B,103Bからなる。
101A及び101Bはアドレス/データ信号、パリテ
ィ信号、制御信号からなるバス(以下、バスA及びバス
Bともいう)である。このバスには標準バスを用いるこ
とができる。102A及び102Bはそれぞれの系のバ
ス切り離し信号である。103A及び103Bはそれぞ
れの系のバスの診断アクセス信号である。
【0066】バスの片系(例えば101A)に障害が発
生した場合、その障害が切替によって回避可能な瞬時的
な障害(例えばデータパリティエラー)であれば、バス
アダプタで障害を検知して障害のないバスに切り替える
ことによって正常動作を続行できる。このとき、障害が
発生したバスは切り離されず、同期動作を継続できる。
瞬時的な障害を原因とする切替えは障害を検知したバス
アダプタのみが行い、瞬時的な障害なので他のバスアダ
プタはバスの切替えがあったことを知る必要はない。
【0067】固定的な障害の場合には、固定的な障害を
検知したバスアダプタまたはソフトウェアから指示を受
けたバスアダプタがバス切り離し信号102Aによって
障害バス101Aを切り離す。切り離されたバス101
Aにはそれ以後、何も出力されず、入力もされない。再
接続はソフトウェアからの指示で行われる。
【0068】切り離されたバスに対しては、診断を行っ
て障害部位を特定のうえ、障害部位のオンライン交換を
行うことで、システムの信頼性を格段に向上させること
ができる。切り離されたバスにはどの装置も出力を行っ
ていないので、正常に動作しているバスとは独立に診断
動作を行うことができる。ソフトウェアからのバスの診
断の指示は正常に動作しているバスを通じて固定的な障
害を起こしたバスアダプタ(例えば21)に送られ、指
示を受けたバスアダプタ21は固定的な障害により切り
離されたバスの診断アクセス信号103Aを発生させ、
この信号によってバスに接続されている他の装置に診断
アクセスの開始を通知する。その上でバスアダプタ21
はバス101Aにデータ転送サイクルを発行し、他の装
置(例えばバスアダプタ22)がそれを受ける。その
後、ソフトウェアはバスアダプタ21及び22から正常
に動作しているバス101Bを通じて診断のデータ転送
の結果を読み出すことができる。このような操作をバス
上の装置に順次行うことで、障害箇所の特定を行う。
【0069】次に図6を用いてバスアダプタの概略構成
を説明する。20はバスアダプタである。301はモジ
ュールバスである。20aはバス切替え部、20bはエ
ラー検出部、20cはバス診断部、20dはバス切り離
し部、20e及び20fはバス切り離しのためのゲート
である。エラー検出部20bでそれぞれのバス101
A,101Bの障害を検出し、その結果によってバス切
替え部20aで障害のないバスに切り替えることで、障
害発生時にもリトライをすることなく、正常動作を続行
する。バス切り離し部20dは、バス101A,101
Bをそれぞれ個別に切り離すことができる。またバス切
り離し信号102A,102Bを用いて、他のバスアダ
プタに切り離しを要求したり、他のバスアダプタからの
バス切り離し要求を受けることができる。片系バスが切
り離された場合にバス診断部20cが正常系とは独立に
診断を行うことができる。
【0070】次に図7を用いてバスアダプタの内部構成
をより詳細に説明する。図7はバスアダプタのより詳細
な内部構成例を示すブロック図である。201はバス1
01A及び101Bのうち、正しい方のバスを正常系バ
ス204として選択するセレクタである。202はバス
101A及び101Bのうち、診断アクセスが伝送され
るバスをバス205として選択するセレクタである。2
03A,203Bはモジュールバス301と診断アクセ
スバス231とステータスバス241のいずれかをそれ
ぞれ個別に選択するセレクタである。211はセレクタ
201によって選択されたバス204をモジュールバス
301に出力あるいは出力抑止するゲートである。21
2A,212Bはそれぞれセレクタ203A,203B
によって選択されたバス206A,206Bをそれぞれ
101A,101Bに出力あるいは出力抑止するゲート
である。周辺装置バス10からモジュールバス301へ
のデータ転送はセレクタ201及びゲート211を経由
し、モジュールバス301から周辺装置バス10へのデ
ータ転送はセレクタ203A,203B及びゲート21
2A,212Bを経由する。
【0071】220はバス障害検出部であり、バス10
1A及び101Bの障害を検出してセレクタ201に対
して選択信号221を発生する。
【0072】230は転送処理部であり、セレクタ20
2によって選択されたバス205からの信号を受信し、
その信号を診断アクセスバス231へ送信する。
【0073】240はステータス/コマンドレジスタで
あり、バスアダプタ内部に保持されるステータス及びバ
スアダプタ制御のためのコマンドを保持する。ステータ
ス/コマンドレジスタ240への書き込みは正常系バス
204から行われ、読み出しはステータスバス241か
ら行われる。また、診断のためにバス232を通じて転
送処理部230からステータス/コマンドレジスタ24
0に対して読み出し、書き込みを行うこともできる。図
7ではステータス/コマンドレジスタ240は外部から
のアクセスの経路を示すために一つのブロックとしてま
とめているが、実体としては転送処理部230やモジュ
ール切り離し部250などに別れて存在してもよい。
【0074】250はモジュール切り離し部であり、モ
ジュールバス301の障害検出とモジュールからのアド
レスの検査を行う。
【0075】260は診断制御部であり、バス切り離し
信号102A及び102B、診断アクセス信号103A
及び103Bと、バス障害検出部220からの障害情報
223とを入力し、セレクタ202へ選択信号261を
出力する。診断アクセス信号103Aまたは103Bに
より診断アクセスが指示されている場合には、その系の
バスを選択し、そうでなければセレクタ201と同じ正
常なバスを選択する。診断制御部260はまた、セレク
タ203A及び203Bへの選択信号262A及び26
2Bをそれぞれ個別に出力する。これによって正常動作
を続行する系ではモジュールバス301が選択され、診
断アクセスを実行する系では診断アクセスバス231が
選択される。診断制御部260はさらに、ゲート212
A及び212Bの出力抑止信号263A及び263Bを
それぞれ個別に出力する。これによって片系のバス切り
離しと、モジュールから周辺装置バスへの出力の抑止
と、活線挿抜時の出力抑止を行うことができる。
【0076】270はモジュールから周辺装置バスへの
DMAアクセスを禁止するアクセス禁止部である。27
1及び272はモジュールから周辺装置バスへのアービ
トレーション信号である。通常はアービトレーション信
号271と272はアクセス禁止部270によって接続
されてモジュールから周辺装置バスへのバス要求を行う
ことができる。モジュールのDMAアクセス禁止信号2
42により禁止を指示された場合には、アクセス禁止部
270はアービトレーション信号271と272を切り
離して、モジュールからバス使用要求が行えずバス使用
許可が与えられない状態に固定する。これによってモジ
ュールはバスを獲得することができず、したがってモジ
ュールからのDMAアクセスを禁止できる。尚、アービ
トレーション信号271は周辺装置バス101A,10
1Bに含まれる信号271A,272Bからなり、アー
ビトレーション信号272はモジュールバス301に含
まれる信号であるが、これらはバスアダプタによって制
御される信号であるため図7においては別に図示してい
る。
【0077】280はアドレスデコード部である。正常
系バス204を入力し、バス上のアドレスが自身に接続
されているモジュールの応答するべき範囲であるかどう
かをチェックし、該当する場合にはモジュール被選択信
号281を出力する。本来このモジュール被選択信号2
81はモジュール自身がデコードして出力する信号であ
るが、モジュールによっては応答が遅い場合もあり、バ
スアダプタを経由することによる遅延と重なってモジュ
ールが認識されない可能性がある。この例のようにバス
アダプタがアドレスを先取りしてモジュール被選択信号
281を出力することでアドレスがバスに出力されてか
らモジュールが被選択信号を出すまでのレイテンシを減
少させることが可能である。
【0078】290はパワーオンリセット部である。2
91はグランド線、292は電源線、293はシステム
のリセット信号である。294はバスアダプタ内部のリ
セット信号、295はモジュールのリセット信号であ
る。通常システムとしてのパワーオン時にはシステムの
パワーオンリセット回路によってすべての装置にリセッ
ト信号が出力される。しかし、一つの装置のみを活線挿
入した場合には、システムは動作中であるのでシステム
のリセット信号は出力されない。したがって活線挿入さ
れた装置は単独でパワーオンリセットを行い初期化しな
ければならない。ところが、標準バスでは活線挿抜を仕
様として定めていないことが多いので、市販の標準バス
用の周辺装置制御モジュールは活線挿抜に対応していな
いことが多い。このようなモジュールは自身でパワーオ
ンリセットを発生できないため、活線挿入後の状態が不
定となってしまう。そこでバスアダプタが、活線挿入の
パワーオン後にバスアダプタ自身と自身に接続されるモ
ジュールのリセット信号を出力することで初期化を行
う。また、活線挿抜時にはバスへの影響を最小限に抑え
る必要があるため、パワーオンリセット部290によっ
てバスアダプタの挿入中及び抜去中にバスアダプタをリ
セット状態に保って、消費電力を減らし、出力も抑止状
態にする。
【0079】次に図8を用いてバス障害検出部220の
詳細な説明を行う。図8はバス障害検出部の構成例を示
すブロック図である。220a及び220bはそれぞれ
バス101A及び101Bの障害検知を行う障害検出部
である。これにはパリティエラー検出、プロトコルエラ
ー検出などが含まれる。障害が検出されると、障害検出
信号223A及び223Bを出力する。220cはバス
選択信号発生部で、223A,223Bとバス切り離し
信号102A,102Bを入力して、切り離されていな
いバスまたは障害のないバスを選択するバス選択信号2
21を出力する。220dはバス比較部であって、バス
101Aとバス101Bを比較し、不一致信号227を
出力する。切り離し信号102A,102Bによって一
方のバスが切り離されている場合には、バス比較は行わ
ない。220eはウェイト制御部であって、バスの不一
致時には周辺装置バスウェイト信号225A,225B
とモジュールバスウェイト信号224を出力して障害バ
ス特定のためのウェイトサイクルを挿入する。なお、2
25A,225Bはそれぞれバス101A,101Bに
含まれる信号であり、224はモジュールバス301に
含まれる信号であるが、これらはバスアダプタによって
制御される信号であるため図8において、別に図示して
いる。
【0080】図9のバス比較動作タイミング例を用いて
さらに説明する。図9にはクロックとそれにしたがって
変化する周辺装置バスA,Bおよびモジュールバスのデ
ータ信号、パリティ信号、ウェイト信号が示されてい
る。信号はクロックの立ち上がりエッジで有効であり、
サンプルされる。パリティはデータに対して1クロック
遅れて出力される。すなわちクロックエッジ1のデータ
のパリティはクロックエッジ2で有効である。また図9
の例では周辺装置バスからモジュールバスへ送られる際
に1クロック遅らせてある。これはバス信号の十分なセ
ットアップタイムを保証するためであるが、必要なけれ
ば遅らせなくてもよい。
【0081】図9においてバスに障害のない時はバスA
の内容がモジュールバスに送られている。バスAの3番
目のデータD3に例えば1ビット故障が発生した場合、
比較不一致が発生する。するとバスA,Bとモジュール
バスのウェイト信号(周辺装置バスウェイト信号225
A,225Bとモジュールバスウェイト信号224)が
出力され、クロックエッジ4ではウェイトサイクルが挿
入される。同時にクロックエッジ4ではバスA及びバス
Bのパリティチェックが行われ、その結果バスAに障害
が発生したことがわかるので、3番目のデータD3はバ
スBからモジュールバスに送られるように切り替わる。
バスAに障害が発生してもバスBには正しいデータがあ
るので、この障害データに対してリトライを行う必要は
なく、そのまま正しく動作を継続できる。図9の例では
4番目のデータD4は両系とも正しいため切替えは行わ
れず、バスBのデータが用いられている。しかし、デー
タD4は両系とも正しいので、再びバスAのデータが選
択されるようにしてもよい。
【0082】次に、転送処理部230を用いて障害があ
った箇所を特定する方式について説明する。バスアダプ
タにあるバスドライバの固定故障などが発生すると、故
障が発生した方のバスは切り離されるため、故障が発生
した部位を交換する必要がある。ところがバスドライバ
の故障は、どのバスアダプタのバスドライバが故障して
いるか判別しにくく、バスアダプタを1枚づつ抜いてみ
て調べるしかなかった。各バスアダプタが故障を自己検
出する方法もあるが、二重化バスを用いて診断を行うこ
ともできる。以下、図10を用いて、二重化バスを用い
て診断を行う場合の概略を説明し、図11を用いて、そ
の詳細について説明する。この実施例では、図10に示
すように、片方のバス10Bで固定故障が検出されると
そのバス10Bが切り離され、バスアダプタ21、22
は正常なバス10Aを用いて通常のデータ転送を行う。
また、その正常なバス10Aを用いて一方バスアダプタ
22から別のバスアダプタ21に指示を出すことによっ
て別のバスアダプタ21から障害のあるバス10Bに対
して特定の値を出力させる。別なバスアダプタ21から
障害のあるバス10Bに出力された特定の値を一方のバ
スアダプタ22または別途用意するバスモニタ装置がチ
ェックすることで、障害のあるバス10Bを用いて正常
なドライブを行なっているか判定する。これをすべての
バスアダプタに対して行うことによって、バスドライバ
の故障したバスアダプタを特定する。こうして故障した
バスドライバを特定でき、交換すべきバスアダプタを検
出できる。
【0083】図11は転送処理部230とステータス/
コマンドレジスタ240の一部の構成例を示すブロック
図である。230aはバス受信処理部であり、バス20
5からの診断アクセスを受信する。230bはバス送信
処理部であり、診断アクセスバス231への診断アクセ
スを送信する。230cはセレクタであり、230bか
らの診断アクセスと240cからの制御線診断パターン
出力のいずれかを選択して診断アクセスバス231に出
力する。
【0084】240aはテストレジスタであり、診断の
ために自由に読み書きできるスクラッチレジスタであ
る。テストレジスタ240aは転送処理部230から
も、正常系バス204、ステータスバス241からもア
クセスすることができる。240bは制御線入力ラッチ
であり、ステータスバス241から読み出された瞬間の
バス205の制御線の値をラッチする。240cは制御
線出力パターンであり、正常系バス204からセットさ
れた値を診断アクセスバス231の制御線に出力する。
240dは診断アクセスコマンドであり、バスAまたは
バスBのいずれかにおいて診断を行う場合に、診断を行
うバスと診断の種類(テストレジスタ読み出し、書き込
み、制御線パターン出力)を診断アクセスコマンド24
0dとしてバス204から入力する。240eはバス切
り離しコマンドであり、バスAまたはバスBをソフトウ
ェアからの指示によって切り離す場合に、バス切り離し
コマンド240eをバス204から入力する。また、バ
ス切り離しコマンド240eは同時に他のバスアダプタ
からの切り離し信号によってバスが切り離されたという
ステータスもあわせて保持し、ステータスバス241か
らバスの切り離し状況を読み出すことが可能である。
【0085】この図11を用いて、診断アクセスの手順
を説明する。バスの片系切り離しはハードウェアによっ
ても行われるし、バス切り離しコマンド240eへのバ
ス切り離しコマンドの書き込みによってソフトウェアか
らも指令できる。これによって切り離された系(例えば
バスA)に対する診断を行う場合を考える。まず、バス
障害検出部により検出された障害がデータバスにあると
考えられる場合について説明する。まず、テスト用のデ
ータをあらかじめテストレジスタ240aに正常系バス
Bから設定する。次に、あるバスアダプタの診断アクセ
スコマンドに正常系バスBから診断書き込み指示を書き
込む。すると、バス送信処理部230bがテストレジス
タ240aから診断アクセスバス231へデータ書き込
みを行い、バスAにそれが現れる。その間に、診断アク
セスコマンド204dから診断アクセス信号103Aが
出力される。これを、他のバスアダプタのバス受信処理
部230aが受信し、テストレジスタ240aに書き込
む。これを正常系バスBから、読み出すことで、診断書
き込みの結果を知ることができる。また、一旦診断アク
セスの起動をかければ、その後は正常系バスBでは他の
データ転送処理を並行して実行できる。
【0086】同様にして診断アクセスコマンドに診断読
み出し指示を書き込むことで、他のバスアダプタのテス
トレジスタの値を切り離された系(すなわち、診断した
いバスA)経由で読み出し、自身のテストレジスタに保
存することができる。
【0087】一方、バスAの制御線に異常がある場合に
ついて説明する。まず、所定の出力パターンを制御線出
力パターンレジスタ240cにあらかじめ正常系バスB
から書き込んでおく。次に、診断アクセスコマンド24
0dに制御線出力パターン出力コマンドを正常系バスB
から書き込む。このコマンドが書かれると、セレクタ2
30cの切替えによって制御線出力パターン240cの
内容がそのままバスAの制御線に現れる。同時に診断ア
クセスコマンド240dから診断アクセス信号103A
が出力される。制御線の状態を知るために、他のバスア
ダプタの制御線入力ラッチ240bを正常系バスBから
読み出すと、その瞬間のバスAの制御線の値がラッチさ
れて読み出される。これによって診断結果を知ることが
できる。
【0088】以上のような手順を踏んですべてのバスア
ダプタに対してすべての組合せで診断を行えば、障害箇
所の特定に役立つ。
【0089】図12はモジュール切り離し部250とス
テータス/コマンドレジスタ240の一部の構成例を示
すブロック図である。250aはモジュールバス301
の障害検出部であり、これにはパリティエラー検出、プ
ロトコルエラー検出、タイムアウト検出などが含まれ
る。250bはモジュールバス301のアドレス検査部
である。250cは3入力のアンド論理回路である。2
40fはモジュール切り離しステータス/モジュール切
り離しコマンド、240gは限定アクセスモードコマン
ド、240hは限定アドレスレジスタ、240iは2入
力のアンド論理回路で、1入力はインバートされる。
【0090】この図12を用いてモジュールの切り離し
に関して説明する。モジュールの切り離しは障害検出部
250aがモジュールバス301の障害を検出した場合
と、ソフトウェアがモジュール切り離しコマンド240
fに切り離し指示を書き込んだ場合に行われる。前者の
場合にもモジュール切り離しステータス240fにハー
ドウェアによってモジュールが切り離されたという情報
が保持され、ステータスバス241から読み出しが可能
である。
【0091】モジュールの切り離しモードには二種類あ
り、一つはモジュールから周辺装置バスへのDMAアク
セスを禁止してモジュールを切り離してしまう切り離し
モードであり、もう一つはモジュールを切り離した状態
でも限定されたアドレス範囲についてのみ、モジュール
からのDMAアクセスを許可する限定アクセスモードで
ある。これを切り替えるのが限定アクセスモードコマン
ド240gである。240gに”1”がセットされてい
る場合には、切り離しステータス240fにモジュール
が切り離されたという情報が保持され、モジュールが切
り離されていても限定アクセスを許可する。アンド論理
回路240iはモジュールのDMAアクセス禁止信号2
42を生成する。
【0092】限定アクセスモードではアドレス検査部2
50bがモジュールバス301からのアドレスを検査
し、限定アドレスレジスタ240hに指定されたアドレ
ス範囲に入っていない場合には、アンド論理回路250
cによってアドレス違反信号が出力され、診断制御部2
60によって周辺装置バスへの出力が抑止される。故障
モジュールの診断を行う場合に、限定アクセスモードに
して、限定アドレスレジスタ240hに診断用の領域の
アドレスを指定することにより、正常系に障害の影響を
与えないように、診断用の領域のみを用いて診断ができ
る。
【0093】次に、アドレスデコード部280の動作に
ついて説明する。図13に示すように、一般にモジュー
ルは自身が応答すべきアドレス範囲をアドレスレジスタ
に保持している。バスのアドレスを見て、自身が応答す
べき範囲であると知ると、応答信号を出力して、トラン
ザクションのマスタに自身が応答することを通知する。
この実施例の構成においては、バスA,Bとモジュール
の間にバスアダプタが挿入されるため、応答信号のバス
への出力が遅れてそのモジュールが認識されない事態が
発生し得る。そこで、バスアダプタは図13に示すよう
なアドレスデコード部280とアドレスレジスタ240
j,240kを備える。アドレスデコード部はアドレス
レジスタで示されるアドレス範囲に対するバストランザ
クションに対して、応答信号を出力する。アドレスレジ
スタにセットされるアドレス範囲は、そのバスアダプタ
に接続されるモジュールのアドレス範囲である。バスア
ダプタのアドレスレジスタの設定は、モジュールへのア
ドレスレジスタ設定トランザクションをバスアダプタが
スヌープすることによってH/W的にセットするか、ま
たは、S/Wがバスアダプタに直接書き込むことでセッ
トする。
【0094】図14はアドレスデコード部280のアド
レス比較回路の構成例を示す図である。283は排他的
論理和、284はナンドゲート、285はアンドゲート
である。240jはモジュールのベースアドレスレジス
タであり、240kはアドレスマスクレジスタである。
ベースアドレスレジスタ240j及びアドレスマスクレ
ジスタ240kはステータス/コマンドレジスタ240
に含まれ、ソフトウェアからの設定が可能である。これ
らはバス101A,101Bアドレスビット数(例えば
32ビット)の幅を持つ。マスクレジスタにはアドレス
比較が有効な上位ビットに1がセットされ、アドレス比
較が無効になる下位ビットに0がセットされる。例え
ば、モジュールがベースアドレスから64Kバイトの範
囲に応答する場合には、上位16ビットを1に、下位1
6ビットを0に設定する。この場合、ベースアドレスは
64Kバイト境界に配置する必要がある。
【0095】図14の回路では、正常系バス204のア
ドレスとベースアドレスを比較し、その結果とマスクレ
ジスタのアンドをとり、それら全ビットをアンドゲート
285に入力し、モジュール被選択信号281を出力す
る。マスクレジスタを持つことで、モジュールの応答範
囲がモジュール毎に可変であっても対応できる。また、
一つのモジュールが複数のアドレス範囲に対して応答す
る場合には、図14の回路を複数持つことで対応でき
る。汎用のバスアダプタは図14の回路を複数持つ。
【0096】図15はモジュールとバスアダプタの実装
例を示す図である。図15のように、バスアダプタボー
ド上のモジュールバスコネクタに市販のプラグインタイ
プの周辺装置制御モジュールを挿入したものを一体とし
て、マザーボードのバスAコネクタ、バスBコネクタに
挿入する。これによって二重化バスを意識しない市販モ
ジュールを二重化バスに接続するとともに、バスアダプ
タに活線挿抜機能を持たせることでバスアダプタとモジ
ュールを一体として二重化バスへの活線挿抜が可能とな
る。
【0097】図16は活線挿入時のリセットシーケンス
を示すタイミングチャートである。図16には二重化バ
スからバスアダプタに供給されるグランド線、電源線、
及び外部リセット信号と、パワーオンリセット部290
の生成するバスアダプタ自身のリセット信号、モジュー
ルリセット信号が示されている。前述のバスアダプタボ
ードの信号ピンには挿入シーケンスがあり、物理的にグ
ランド、電源、その他の信号の順で挿入される。活線挿
入時には、グランドが挿入され、電源が挿入された時点
で、パワーオンリセット部290がバスアダプタ自身の
リセット信号及びモジュールリセット信号を出力する。
図16ではロー有意で描かれている。グランド、電源が
挿入され、次にその他の信号が挿入される場合は、バス
アダプタとモジュールがリセット状態になっている。そ
して、バスへの出力を全て抑止した状態でその他の信号
ピンが接続される。その後バスアダプタ自身のリセット
が解除され、動作を開始してからモジュールのリセット
が解除される。そのため、まずバスアダプタが動作を開
始し、モジュールの初期化に時間がかかる場合でもバス
アダプタに対するアクセスを行って正常に挿入されたこ
とを確認できる。また図16に示すように、活線挿入で
あるため外部からのリセット信号は出力されないが、モ
ジュールは正しくリセットされる。
【0098】図17は活線抜去時のリセットシーケンス
を示すタイミングチャートである。図17には二重化バ
スからバスアダプタに供給されるグランド線、電源線、
及び外部リセット信号と、パワーオンリセット部290
が生成するバスアダプタ自身のリセット信号、モジュー
ルリセット信号が示されている。バスアダプタボードの
信号ピンの抜去シーケンスは挿入シーケンスと逆で、物
理的に信号、電源、グランドの順で抜去される。活線抜
去時には、バスアダプタに設置されたスイッチあるいは
ソフトウェアからの指示によって抜去がバスアダプタに
通知される。するとパワーオンリセット部290がバス
アダプタ自身のリセット信号及びモジュールリセット信
号を出力する。その後リセット状態でバスへの出力が抑
止されて抜去を開始し、信号、電源、グランドの順に抜
去される。
【0099】次に、ステータスレジスタについて説明す
る。ステータスレジスタは、障害が発生した時の障害情
報を保持するものであるため、バスに障害があっても正
しいレジスタを読み出し、また、正しく読み出したかど
うかを確認できる手段を提供することでより信頼性を高
めることができる。図18,図19を使用して具体的に
述べる。
【0100】図18はステータスレジスタのアドレス配
置例を示す図である。ステータスレジスタはハミング距
離3の位置に配置され、アドレス線が1本故障しても正
しいアドレスを選択できる。これは通常のアドレス信号
のみを用いて行うので、ECCビットのような余分な信
号を付加する必要がない。通常のバスデータ転送ではア
ドレス信号は全てアドレスとして使用でき、ステータス
レジスタのように切り離されたバスからアクセスする必
要があり、多くのアドレス信号を必要としない場合には
同じアドレス信号で信頼性を向上させることができる。
図ではレジスタ2つの例を示したが、より多くのレジス
タアドレスがある場合も同様にして配置できる。
【0101】図19はステータスレジスタ識別子の例を
示す図である。各ステータスレジスタに固有の識別子を
持たせ、これによって正しいレジスタにアクセスできた
かどうかを知ることができる。例えば図のレジスタAを
読んだ場合にレジスタ識別子のフィールドが01以外で
あれば、レジスタAを正しく読めなかったことがわか
る。図ではレジスタ2つの例を示したが、レジスタ識別
子のフィールド(例えば、ビット数)を増やすことで、
より多くのレジスタに対応できる。
【0102】以上のように、この実施例は、二重化され
たバスと、二重化バスの両方に接続された複数のバスア
ダプタと、バスアダプタに接続された複数のモジュール
とから構成され、モジュールがバスアダプタを介して二
重化バスの両方で同時にデータ転送を行うデータ処理シ
ステムにおいて、バスアダプタは、二重化バスの双方に
おいて障害発生を検知する手段と、どちらか一方のバス
を選択してモジュールにデータ転送するバス選択手段
と、一方のバスを切り離す手段と、切り離されたバスで
正常バスと独立に診断を行う手段を持ち、どちらのバス
にも障害がない場合には両方のバスを用いてデータ転送
を行い、どちらか一方のバスで障害発生を検知した場合
には障害のないバスのデータを選択して使用することで
リトライを行うことなく正しいデータ転送が行うことが
でき、定常的な障害のあるバスは切り離して独立に診断
することができることを特徴とする。
【0103】また、バス二重化方式において、バスアダ
プタは2つのバスの比較手段を有し、2つのバスの比較
結果が一致の場合には現在選択しているバスをそのまま
選択させ、不一致の場合にはバス動作をウェイトさせて
それぞれのバスの障害検知手段によって障害のあるバス
を特定し、バス選択手段に障害のない方のバスを選択さ
せることを特徴とする。
【0104】また、バス二重化方式において、バス切り
離し手段は二重化バスのそれぞれのバスの切り離し要求
を他のすべてのバスアダプタに通知する手段を持ち、二
重化バスのそれぞれのバスの切り離し要求を入力して、
一方のバスにバス切り離し要求が出ている場合にそのバ
スへの出力及びそのバスからの入力とバス比較を禁止
し、もう一方のバスのみを用いてデータ転送を行うこと
を特徴とする。
【0105】また、バス二重化方式において、切り離さ
れたバスの診断手段は、二重化バスの一方のバスが切り
離されている場合に、正常に動作しているバスから指示
を与えることによって切り離されたバスを使用してデー
タ転送を行うことを他のすべてのバスアダプタに通知す
る手段と、正常に動作しているバスと独立に切り離され
ているバスで診断のためのデータ転送を行う手段と、正
常に動作しているバスを通じて診断結果を返す手段を有
することを特徴とする。
【0106】また、バス二重化方式において、切り離さ
れたバスの診断手段は、二重化バスの一方のバスが切り
離されている場合に、正常に動作しているバスから指示
を与えることによって切り離されたバスの制御信号群に
特定の値を出力する手段と、正常に動作しているバスか
ら切り離されたバスの制御信号群の値を読み出す手段を
持ち、制御信号の障害部位の特定を可能とすることを特
徴とする。
【0107】また、バス二重化方式において、バスアダ
プタは少なくとも1組のベースアドレス及びアドレス範
囲を保持するレジスタと、二重化バスから受信したアド
レスが前記レジスタに保持されているアドレス範囲に含
まれるかどうか比較する手段を持ち、それぞれのバスア
ダプタに接続されるモジュールの応答すべきアドレスを
前記レジスタに設定しておくことでモジュール自身のア
ドレスデコードが完了する以前に二重化バスへ被選択信
号を送出することを特徴とする。
【0108】また、バス二重化方式において、バスアダ
プタは、自身に接続されるモジュールとの接続バスの障
害検出手段と、モジュールの障害時にそのモジュールを
切り離す手段を持ち、モジュール切り離し手段は、モジ
ュールから二重化バスへのアクセスを禁止するモードと
診断のための限定されたアドレス空間へのアクセスのみ
を許可するモードを有し、これらのモードを二重化バス
からの指令によって設定する手段を持つことを特徴とす
る。
【0109】また、バス二重化方式において、バスアダ
プタに活線挿抜の機能を設け、バスアダプタとそのバス
アダプタに接続されているモジュールを一体化して活線
挿抜を可能とし、さらにバスアダプタはパワーオン・リ
セット発生手段を持ち、活線での挿入時には自身で直ち
に初期化を行い、かつ自身に接続されたモジュールに対
してリセット信号を送出してモジュールの初期化を行う
ことを特徴とする。
【0110】また、バス二重化方式において、バスアダ
プタは二重化バスの双方のバス及びモジュールとの接続
バスにおいて検出した障害情報をそれぞれ保持するステ
ータスレジスタを持ち、ステータスレジスタは、ハミン
グ距離3を持ったアドレスに配置され、アドレスの1本
に誤りが発生しても正しいレジスタにアクセス可能にす
ることを特徴とする。
【0111】また、バス二重化方式において、バスアダ
プタは二重化バスの双方のバス及びモジュールとの接続
バスにおいて検出した障害情報をそれぞれ保持するステ
ータスレジスタを持ち、そのステータスレジスタはすべ
てそれぞれのレジスタ固有の識別子を持ち、診断ソフト
ウェアがステータスレジスタを読み出した場合にアドレ
スの誤りが発生したことを検出可能とすることを特徴と
する。
【0112】実施例2.上記実施例においては、バスを
二重化する場合について説明したが、図20に示すよう
にバスを三重化した場合であってもかまわない。バスを
三重化した場合には、バススイッチ50A,50B,5
0Cはシステムバス70A,70B,70Cからのデー
タを入力する。一方、バススイッチ50A,50B,5
0Cは周辺装置バス10A,10B,10Cとそれぞれ
接続される。また、バスアダプタ21,22は周辺装置
バス10A,10B,10Cと接続される。バスアダプ
タ21,22は3つのバス10A,10B,10Cとモ
ジュールバス301,302との接続を制御する。バス
アダプタは3つのバス10A,10B,10Cを入力し
ているため、多数決によりいずれのバスが正常動作をし
ており、いずれのバスが故障しているかを判断すること
ができる。バスを二重化した場合にはいずれのバスが故
障しているかは各バスの障害検知手段により判定してい
たが、バスが3つ以上になる場合には多数決を用いてバ
スの正常または異常を判定することができる。
【0113】実施例3.上記実施例においては、周辺装
置バスに複数のバスアダプタ21,22が接続される場
合について説明したが、バスアダプタが常に複数存在し
ている必要はなく、図21に示すように、周辺装置バス
に対して、バスアダプタが1つだけ存在している場合で
あってもかまわない。この場合にはバスの切り離しを単
独のバスアダプタが行うのみでよく、他のバスアダプタ
に対してその切り離しを通知したりする必要はない。
【0114】実施例4.上記実施例においては、システ
ムバスが二重化されており、周辺装置バスも二重化され
ている場合について説明したが、図22に示すようにシ
ステムの中にバスが1つだけ存在しており、このバスが
二重化されているような場合であってもかまわない。バ
スアダプタ21,22はこのように一方のバス10が二
重化されており、他方のバス301,302が単一のバ
スである場合に適応することができる。
【0115】実施例5.上記実施例においては、モジュ
ールが用いる単一のバスは特に特定していないが、JI
SまたはISOの規格団体や規格協会が規定している標
準バスを用いている場合を含む。例えば、SCSIバス
やマルチバス等がこれらの標準化されたバスの一例とし
て上げられる。また、EISA(Extended I
ndustrial Standard Archit
ecture)バスやPCI(Peripheral
Compornent Interconect)バス
を用いる場合でもかまわない。また、規格団体や規格協
会により規定された以外のバスであってもかまわない。
例えば特定のメーカが用いているバスであって、その仕
様が公開されている場合には、いわゆるデファクトスタ
ンダード(事実上標準)として業界の多くの者が標準化
されたバスと同様に一般に用いている場合がある。この
ようなバスを用いる場合であってもかまわない。例え
ば、高いシェアをもつパーソナルコンピュータで用いら
れているバスやワークステーションのバスを用いるよう
な場合であってもかまわない。重要なことはこれら標準
バスあるいは標準バスに近いバスを用いたモジュールが
既に市販されており、これら既に市販されているモジュ
ールをそのまま用いて多重化バスに接続できる点にあ
る。特に二重化あるいは多重化されたバスの標準化は単
一バスの標準化に比べて遅れており、各メーカとも独自
の多重化バスを用いていることが多い。このような環境
のもとでより既存の財産を効率よくいかすために前述し
た実施例におけるバスアダプタあるいはバス二重化方式
を利用することが可能である。
【0116】
【発明の効果】以上のように、本発明によれば、市販の
さまざまな周辺装置制御モジュールに利用された単一の
標準バスをそのまま活用したバスの多重化が可能とな
り、高性能かつ高信頼な計算機を低コストに構築でき
る。さらに、多重化バスを意識しない市販モジュールを
多重化バスに接続し、モジュールの障害発生時にも多重
化バスの動作を阻害しないようなバスアダプタが実現で
きる。
【0117】また、本発明によれば、バス選択手段によ
り、多重化バスの複数のバスからデータを入力し、ひと
つのバスからのデータを選択してモジュールに送出し、
またモジュールからのデータは多重化バスの複数のバス
に送出するので、単一バスのモジュールが矛盾なく多重
化バスに接続できる。
【0118】また、バス障害検出手段を有しているの
で、いずれかのバスに障害がある場合にその障害を検出
することができる。また、バス障害検出手段によりバス
選択手段によるバスの選択を切り替えることができ、バ
ス選択手段が常に正常なバスを選択することができる。
このように、多重化バスのいづれかのバスで障害が発生
しても、切替えまたは切り離しによって障害がない方の
バスのデータが用いられるので、リトライなしに正しい
データ転送を完了でき、高速化が可能である。
【0119】また、多重化バスのバスを比較することに
よっていずれかのバスに障害があるかどうかという検出
を行うことで、障害がない場合には高速に動作できる。
例えばパリティがデータより遅れて出力されるような高
速バスにおいてもパリティチェックの結果を持たずに動
作でき、障害時のみパリティを待つことができる。
【0120】多重化バスのいづれかで固定的な障害など
が発生した場合にも、そちらのバスを切り離すことで正
常系の動作への影響を阻止でき、かつ切り離されたバス
の診断をいつでも行える状態に保つことができる。
【0121】また、複数のバスアダプタが接続されてい
る場合でも、バス切り離し手段が他のバスアダプタに通
知することにより、他のバスアダプタからのバスへのア
クセスを禁止することができる。
【0122】また、バス診断手段を有しているため、故
障を発生したバスの原因を追求することができる。
【0123】さらに、切り離されたバスの診断を正常系
から指示できるので、診断が容易に行える。また診断は
正常系の動作と独立に行われるので、診断時の性能低下
を避けることができる。
【0124】バスアダプタがデコード手段により多重化
バスからのアドレスに対して応答信号を返すことで、応
答の遅いモジュールを高速なバスに接続することができ
る。
【0125】また、デコード手段は、応答信号をかえす
ためアドレスを保持するレジスタを数組のベースアドレ
ス、範囲レジスタという簡単なH/Wで構成し、回路の
1チップ化などが容易に行える。
【0126】バスアダプタがモジュールの障害を検出
し、障害モジュールを切り離すことで、多重化バスの複
数のバスに不正常なデータが出力されて重大な障害状態
を招くことを防ぐことができる。
【0127】また、切り離されたモジュールに限定アド
レスへのアクセスを許すモードを設けることで、モジュ
ールの診断が可能となり、障害の要因解析に役立つ。
【0128】バスアダプタが活線挿抜をサポートするこ
とで、活線挿抜の機能を持たない市販のモジュールを多
重化バスに接続することができる。
【0129】特に、活線挿入時にバスアダプタが自身と
モジュールのリセットをすることで、システムとしての
リセットが入らなくても挿入したモジュールが正しくリ
セットされ、不定状態に陥らない。また、バスアダプタ
が一定時間後に初期化を完了することで、モジュールが
初期化される以前でも挿入の完了を知ることができ、挿
入の確認及び挿入時の不具合の切り分けが容易になる。
【0130】ステータスレジスタをハミング距離3に配
置することで、上記と同様にレジスタアクセスの信頼性
が向上する。また、このことはアドレスに冗長なECC
信号線などを付加することなく、既存のバスにおいて実
現可能である。
【0131】ステータスレジスタ識別子を設けることに
よって、やむなく障害があるバスからステータスレジス
タを読む必要がある場合でも、正しいレジスタが読めた
かどうかを知ることができ、レジスタアクセスの信頼性
が向上する。
【0132】また、この発明によれば、二つの多重化さ
れたバスの間にバススイッチを設けているので、多重化
バスの系が故障している場合でも、その故障したバスを
切り離すことにより他の系あるいは他の多重化されたバ
スに影響することなく処理を続行することができる。
【図面の簡単な説明】
【図1】本発明の計算機システム構成例を示す図。
【図2】本発明のバススイッチの動作例を示す図。
【図3】本発明のバススイッチの動作例を示す図。
【図4】本発明のバススイッチの動作例を示す図。
【図5】本発明の周辺装置バス構成例を示す図。
【図6】本発明のバスアダプタの概略構成例を示す図。
【図7】本発明のバスアダプタの内部ブロック構成例を
示す図。
【図8】本発明のバス障害検出部の構成例を示す図。
【図9】本発明のバス比較動作タイミング例を示す図。
【図10】本発明の障害箇所特定方式を示す図。
【図11】本発明の転送処理部の構成例を示す図。
【図12】本発明のモジュール切り離し部の構成例を示
す図。
【図13】本発明のアドレスデコード部の動作を説明す
る図。
【図14】本発明のアドレス比較回路の構成例を示す
図。
【図15】本発明のバスアダプタとモジュールの実装例
を示す図。
【図16】本発明の活線挿入時のリセットシーケンスを
示す図。
【図17】本発明の活線抜去時のリセットシーケンスを
示す図。
【図18】本発明のステータスレジスタのアドレス配置
例を示す図。
【図19】本発明のステータスレジスタ識別子の例を示
す図。
【図20】本発明の他の計算機システム構成例を示す
図。
【図21】本発明の他の計算機システム構成例を示す
図。
【図22】本発明の他の計算機システム構成例を示す
図。
【符号の説明】
10 周辺装置バス 11 ブリッジバス 20 バスアダプタ 21 バスアダプタ 22 バスアダプタ 31 モジュール 32 モジュール 41 周辺装置 42 周辺装置 50 バススイッチ 60 バスブリッジ 70 システムバス 81 中央処理装置 82 中央処理装置 83 中央処理装置 90 主記憶装置 101 周辺装置バス 102 バス切り離し信号 103 診断アクセス信号 231 診断アクセスバス 241 ステータスバス 301 モジュールバス 302 モジュールバス

Claims (18)

    【特許請求の範囲】
  1. 【請求項1】 以下の要素を有するバスアダプタ (a)単一バスを用いて動作するモジュールとのインタ
    フェースをとる単一バスインタフェース、(b)複数の
    バスを多重化した多重化バスとのインタフェースをとる
    多重化バスインタフェース、(c)上記単一バスインタ
    フェースと多重化バスインタフェースの間にあって両イ
    ンタフェース間のアクセスを制御するアクセス制御手
    段。
  2. 【請求項2】 上記アクセス制御手段は、多重化バスの
    多重化された複数のバスからデータを入力しその中から
    ひとつを選択して単一バスに送出するとともに、単一バ
    スからのデータを複数のバスに送出するバス選択手段を
    備えたことを特徴とする請求項1記載のバスアダプタ。
  3. 【請求項3】 上記アクセス制御手段は、多重化バスの
    障害を検出するバス障害検出手段を備えたことを特徴と
    する請求項2記載のバスアダプタ。
  4. 【請求項4】 上記バス障害検出手段は、さらに、多重
    化バスの各バスの障害をそれぞれ検知する障害検知手段
    と、障害検知手段によるバスの障害検知に基づいて上記
    バス選択手段に対して正常なバスを選択するためのバス
    選択信号を発生させるバス選択信号発生手段を備えたこ
    とを特徴とする請求項3記載のバスアダプタ。
  5. 【請求項5】 上記バス障害検出手段は、多重化バスの
    各バスの信号を比較するバス比較手段と、バス比較手段
    の比較結果に基づいてバスの動作をウェイトさせるウェ
    イト制御手段を備えたことを特徴とする請求項4記載の
    バスアダプタ。
  6. 【請求項6】 上記アクセス制御手段は、バス障害検出
    手段により障害が検出されたバスを多重化バスインタフ
    ェースから切り離すバス切り離し手段を備えたことを特
    徴とする請求項3記載のバスアダプタ。
  7. 【請求項7】 複数のバスを多重化した多重化バスと、
    多重化バスに上記多重化バスインタフェースにより接続
    された請求項6記載の複数のバスアダプタを備え、上記
    バス切り離し手段は、バスの切り離しを他のバスアダプ
    タに通知するバス切り離し通知手段と、他のバスアダプ
    タのバス切り離し通知手段からバスの切り離しの通知を
    受信し、通知されたバスへのアクセスを禁止するバスア
    クセス禁止手段を備えたことを特徴とするバス多重化方
    式。
  8. 【請求項8】 上記アクセス制御手段は、上記バス切り
    離し手段により切り離されたバスを診断するバス診断手
    段を備えたことを特徴とする請求項6記載のバスアダプ
    タ。
  9. 【請求項9】 複数のバスを多重化した多重化バスと、
    多重化バスに上記多重化バスインタフェースにより接続
    された請求項8記載の複数のバスアダプタを備え、上記
    バス診断手段は、バス切り離し手段により切り離された
    バスを用いて他のバスアダプタに診断信号を送信する送
    信手段と、送信手段により送信した診断信号を正常なバ
    スを用いて他のバスアダプタから受信する受信手段を備
    えたことを特徴とするバス多重化方式。
  10. 【請求項10】 上記バスアダプタは、多重化バスイン
    タフェースから受信する信号が単一バスインタフェース
    を介して接続されるモジュールからの応答を要求する信
    号であるかを判定して、モジュールのかわりに多重化さ
    れたバスに応答するデコード手段を備えたことを特徴と
    する請求項1記載のバスアダプタ。
  11. 【請求項11】 上記デコード手段は、バスアダプタに
    接続されているモジュールを選択するためのアドレスと
    同一のアドレスを保持するレジスタ手段と、上記多重化
    されたバスから受信するアドレスを上記レジスタ手段に
    保持されたアドレスと比較する比較手段と、比較手段の
    比較結果に基づいて、モジュールが選択されたことを示
    す被選択信号を出力する応答手段を備えたことを特徴と
    する請求項10記載のバスアダプタ。
  12. 【請求項12】 上記バスアダプタは、モジュールの接
    続に用いる単一バスの障害を検出する単一バス障害検出
    手段と、単一バス障害検出手段の障害検出結果に基づい
    て、モジュールを切り離すモジュール切り離し手段を備
    えたことを特徴とする請求項1記載のバスアダプタ。
  13. 【請求項13】 上記モジュール切り離し手段は、モジ
    ュールから多重化されたバスへのアクセスを限定的に許
    可する限定アクセス手段を備えたことを特徴とする請求
    項12記載のバスアダプタ。
  14. 【請求項14】 上記バスアダプタは、多重化バスに対
    して活線挿抜を行う活線挿抜手段を備えたことを特徴と
    する請求項1記載のバスアダプタ。
  15. 【請求項15】 上記バスアダプタは、バスアダプタを
    初期化する初期化手段と、モジュールに対してリセット
    信号を発生するリセット信号発生手段を備えたことを特
    徴とする請求項1または14記載のバスアダプタ。
  16. 【請求項16】 上記バスアダプタは、ハミング距離3
    をもったアドレスに配置されたレジスタを備えたことを
    特徴とする請求項1記載のバスアダプタ。
  17. 【請求項17】 上記バスアダプタは、固有の識別子を
    もったレジスタを備えたことを特徴とする請求項1記載
    のバスアダプタ。
  18. 【請求項18】 以下の要素を有するバス多重化方式 (a)複数のバスを多重化した第1の多重化バス、
    (b)複数のバスを多重化した、上記第1の多重化バス
    とは異なる第2の多重化バス、(c)上記第1と第2の
    多重化バスの間に設けられ、第1の多重化バスの複数の
    バスと、第2の多重化バスのいずれかひとつのバスの接
    続の切り替えを行う複数のバススイッチ。
JP5328974A 1993-12-24 1993-12-24 バスアダプタ及びバス多重化方式 Pending JPH07182253A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP5328974A JPH07182253A (ja) 1993-12-24 1993-12-24 バスアダプタ及びバス多重化方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP5328974A JPH07182253A (ja) 1993-12-24 1993-12-24 バスアダプタ及びバス多重化方式

Publications (1)

Publication Number Publication Date
JPH07182253A true JPH07182253A (ja) 1995-07-21

Family

ID=18216200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5328974A Pending JPH07182253A (ja) 1993-12-24 1993-12-24 バスアダプタ及びバス多重化方式

Country Status (1)

Country Link
JP (1) JPH07182253A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008114356A1 (ja) * 2007-03-16 2010-06-24 富士通マイクロエレクトロニクス株式会社 データ転送システム
JP2012173927A (ja) * 2011-02-21 2012-09-10 Nec Corp 電子装置、集積装置、情報処理システム、および、処理方法
JP2012238089A (ja) * 2011-05-10 2012-12-06 Fujitsu Semiconductor Ltd 集積回路装置、検証装置及び検証方法
JP2019159439A (ja) * 2018-03-08 2019-09-19 日本電気株式会社 コンピュータシステム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2008114356A1 (ja) * 2007-03-16 2010-06-24 富士通マイクロエレクトロニクス株式会社 データ転送システム
JP4973725B2 (ja) * 2007-03-16 2012-07-11 富士通セミコンダクター株式会社 データ転送システム
US8467461B2 (en) 2007-03-16 2013-06-18 Fujitsu Semiconductor Limited Data transfer system
JP2012173927A (ja) * 2011-02-21 2012-09-10 Nec Corp 電子装置、集積装置、情報処理システム、および、処理方法
JP2012238089A (ja) * 2011-05-10 2012-12-06 Fujitsu Semiconductor Ltd 集積回路装置、検証装置及び検証方法
JP2019159439A (ja) * 2018-03-08 2019-09-19 日本電気株式会社 コンピュータシステム

Similar Documents

Publication Publication Date Title
AU725945B2 (en) Digital data processing methods and apparatus for fault isolation
US6105146A (en) PCI hot spare capability for failed components
US6070253A (en) Computer diagnostic board that provides system monitoring and permits remote terminal access
US5933614A (en) Isolation of PCI and EISA masters by masking control and interrupt lines
EP0077154A1 (en) Digital data processor with high reliability and method
WO1997046941A9 (en) Digital data processing methods and apparatus for fault isolation
JP2996440B2 (ja) データ処理システムの診断方式
JPH0812621B2 (ja) 情報転送方法及び装置
JPH01154241A (ja) 同期二重コンピュータシステム
US7302606B2 (en) Fault recovery method and a storage controller in an information processing apparatus
US7127638B1 (en) Method and apparatus for preserving data in a high-availability system preserving device characteristic data
JP2004199551A (ja) ストレージシステム及び障害ストレージ装置の切り離し方法
US7487293B2 (en) Data storage system and log data output method upon abnormality of storage control apparatus
US6564340B1 (en) Fault tolerant virtual VMEbus backplane design
JPH07182253A (ja) バスアダプタ及びバス多重化方式
JP2002269029A (ja) 高信頼性情報処理装置及びそれに用いる情報処理方法並びにそのプログラム
JPH06259343A (ja) 多重バス制御方式及びそれを用いたシステム
GB2398390A (en) Testing a connection interface between a hot pluggable component and a system
JP3436974B2 (ja) 二重化メモリシステム
JP2001027972A (ja) ディスク制御装置
JP3638773B2 (ja) ディスクアレイ装置
JP2003022222A (ja) 情報処理装置及びその保守方法
JP2003337758A (ja) 二重化メモリシステム
JP3624051B2 (ja) 情報処理装置
JP3015537B2 (ja) 電子計算機の二重化方式