JP3624051B2 - Information processing device - Google Patents
Information processing device Download PDFInfo
- Publication number
- JP3624051B2 JP3624051B2 JP12961596A JP12961596A JP3624051B2 JP 3624051 B2 JP3624051 B2 JP 3624051B2 JP 12961596 A JP12961596 A JP 12961596A JP 12961596 A JP12961596 A JP 12961596A JP 3624051 B2 JP3624051 B2 JP 3624051B2
- Authority
- JP
- Japan
- Prior art keywords
- processing
- processing device
- bus
- processing apparatus
- information processing
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Hardware Redundancy (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は,少なくとも2台の処理装置(プロセッサ)をバスで接続して同じ処理を同時に実行させることで,故障を検出して必要な切り離し処理等を行う高信頼性情報処理装置に関する。
【0002】
情報処理装置が各種分野で広く使用されている現在,情報処理装置の故障は,社会的,経済的に重大な影響を与える。このため,故障が発生した場合には,処理装置全体を停止させないで,故障した処理装置を交換し,処理を続行できるような耐故障性の高い情報処理装置が必要とされている。
【0003】
【従来の技術】
図7は,従来の高信頼性情報処理装置の例を示す。
処理装置10−1〜処理装置10−3は,バス40で接続され,同時に同じ処理を実行する。バス40に流れる処理結果を比較し,処理結果が一致しなければ故障と判断する。特に,処理装置が3台以上の場合には,処理結果の多数決論理により,他の処理装置の処理結果と一致しない処理結果を出した処理装置を故障として検出して,その処理装置をバス40から切り離す。
【0004】
この故障の検出のために,具体的には例えば処理装置10−1がマスタとなって,以下のような手順により,処理結果の比較を行う。
まず,各処理装置10−1〜10−3は,バス40に流れる処理要求のデータを入力し(図7の▲1▼),各々処理回路80によって要求されたデータ処理を同時に実行する(図7の▲2▼)。バス40へのデータ出力は,マスタとなっている処理装置10−1だけが行う。マスタとなっている処理装置10−1がデータの処理結果をバス40に流すと(図7の▲3▼),他の処理装置10−2,10−3は,それぞれその処理結果を自装置内の故障検出回路70に入力する。
【0005】
一方,処理装置10−2,10−3の処理回路80は,先のデータ入力に対する処理結果をバス40に流すことなく,自装置の故障検出回路70に出力する(図7の▲3▼’)。
【0006】
各処理装置10−2,10−3における故障検出回路70は,バス40から入力した処理装置10−1の処理結果と自装置で処理した処理結果とを比較し,その比較結果を相互に送受する(図7の▲4▼)。
【0007】
処理結果を比較した結果,処理結果がすべて一致すれば,すべての処理装置10−1〜10−3が正常であると判断することができる。もし,処理装置10−2,10−3のいずれか一方の故障検出回路70による比較結果が不一致であれば,その処理装置10−2または処理装置10−3が故障ということになる。処理装置10−2,10−3の故障検出回路70による比較結果が双方とも不一致であれば,処理装置10−1が故障したと判断する。
【0008】
故障と判断された処理装置は,バス40から自動的に切り離され,残りの2台の処理装置によって同時動作による処理が継続される。
【0009】
【発明が解決しようとする課題】
以上のような高信頼性情報処理装置は,複数の処理装置が同時に同じ処理動作を行うため,従来,特定の処理装置だけに他と異なる処理動作を行わせることはできなかった。また,故障によって処理装置をバスから切り離すと,その処理装置が持つレジスタ等を参照することができず,情報処理装置全体を停止させない状態で,故障を回復させた処理装置をバスに接続し直す復旧処理が困難であった。また,故障した処理装置が自動的にバスから切り離されるかどうかの故障検出のテストやデバッグ等を行う場合にも,すべての処理装置が同時に同じように動作するため,故障検出のテストやデバッグが困難であるという問題があった。
【0010】
本発明は上記問題点の解決を図り,高信頼性情報処理装置において,特定の処理装置だけを他と異なる動作を行わせることができるようにすること,またバスから切り離された処理装置でも,特定のレジスタについては他の装置から参照できるようにすること,また新たな処理装置をバスに接続する場合に,他の処理装置と特定のレジスタを介して情報を伝達し,接続した処理装置の状態を現在同時に動作している他の処理装置の状態と一致させ,同時に動作させること,故障検出のテスト等を容易に行うことができるようにすることを目的としている。
【0011】
【課題を解決するための手段】
図1は,本発明の構成例を示す。図1において,10は複数の処理装置からなる多重化ユニット,10−1〜10−nは同一クロックに同期して同時に同じ処理を実行する処理装置,11は各処理装置ごとに異なる番号が与えられた固有装置番号(固有装置識別子),12は全処理装置に対して同じ番号が与えられた共通装置番号(共通装置識別子),13および14は比較回路,20はデコーダおよび演算回路等により要求された処理を行う各種処理回路,21は自装置をバスから切り離したり接続したりするバス接続・切り離し手段,22はレジスタやメモリのアドレスをデコードするデコーダ,30は自装置がバスに接続されているかバスから切り離されているかを他の処理装置へ通知するためのバス接続レジスタ,31は各処理装置のバス接続状態を示すバス状態レジスタ,32は他の処理装置と通信するときにデータの準備ができたかどうかを通知するためのハンドシェイク用レジスタ,33は他の処理装置との間で通信するデータを格納するデータ通信用レジスタ,40はデータ線と制御信号線とからなるバスを表す。
【0012】
第1の発明では,処理装置10−1〜10−nは,各処理装置ごとに異なる固有装置番号11と,各処理装置に対して共通に与えられ,他の処理装置と同時に同じ処理を実行しているときに有効となる共通装置番号12とを持つ。バス40を介して,装置番号を指定した要求があると,比較回路13,14は,それぞれ要求された装置番号と,固有装置番号11/共通装置番号12とが一致するかどうかを比較し,いずれかが一致する場合にのみバス40へ応答を返す。
【0013】
各処理装置ごとの固有装置番号11とは別に,処理装置が同時に同じ処理を実行している状態で有効となる共通装置番号12を持つことにより,その他の処理装置(例えば図示省略した入出力装置)から参照した場合,同時に動作している多重化ユニット10内の処理装置が,1台の処理装置として見える。また,ある処理装置が故障した場合には,その処理装置固有の固有装置番号11を使って参照することにより,その処理装置だけにアクセスすることができる。
【0014】
さらに,第2の発明では,各処理装置10−1〜10−nがバス接続・切り離し手段21を持ち,これによって処理装置10−1〜10−nをバス40から論理的に切り離すことができる。バス40からの処理装置の切り離しは,バス接続レジスタ30に例えば“0”を書き込むことにより行われる。そして,固有装置番号11を指定した要求に対しては,その固有装置番号11を持つ処理装置がバス40から切り離された状態であっても応答を返す。したがって,固有装置番号11を指定した要求を出すことにより,故障によって切り離された処理装置であっても,その処理装置から必要な情報を取得することができる。
【0015】
さらに,第3の発明では,前記第2の発明において固有装置番号11を指定した要求として,例えばバス状態レジスタ31,ハンドシェイク用レジスタ32,データ通信用レジスタ33等の特定のレジスタの参照を可能とする。すなわち,比較回路13の比較結果が“一致”を示す場合には,各種処理回路20内のデコーダ22に指示を出し,デコード結果から要求された特定のレジスタの値をバス40に送り出す。
【0016】
また,第4の発明では,バス40から切り離された処理装置または新たな処理装置をバス40に接続する場合に,バス接続・切り離し手段21によって例えばバス接続レジスタ30に“1”をセットすることにより,多重化ユニット10の動作を停止させないで,接続することができる。このときに,ハンドシェイク用レジスタ32およびデータ通信用レジスタ33を用いて,他の処理装置へ情報を伝達する手段を備える。
【0017】
また,第5の発明では,バス40から切り離された処理装置または新たな処理装置を,バス接続・切り離し手段21によってバス40に接続する手段を備えるとともに,このとき,自装置が追加されたことを他の処理装置へ通知する手段を備える。具体的には,バス接続レジスタ30に“1”をセットし,自装置が接続されたことを書き込むと,バス40を介して他の処理装置のバス状態レジスタ31にその値が反映されるようになっている。すなわち,バス状態レジスタ31は,各処理装置が現時点でバス40に接続されているかバス40から切り離されているかの情報を常に保持する。
【0018】
第6の発明では,各処理装置の各種処理回路20は,自装置が新たにバス40に接続され,必要な初期化処理が終了した場合に,自装置の特定のレジスタ(例えばデータ通信用レジスタ33)に値を書き込むことにより,他の動作中の処理装置へ自装置の初期化処理が終了したことを通知する手段を備える。
【0019】
故障して切り離した処理装置の代わりに新しい処理装置を接続した場合,その処理装置が接続されたことを通知する。このとき,接続された処理装置の状態は,現在動作している処理装置の状態とは異なるので,現在動作している処理装置と接続された処理装置との間で通信を行い,状態を一致させる手続きが必要となる。第5および第6の発明によって,この状態を一致させる処理を,多重化ユニット10を動作させたままで行うことができる。状態を一致させる手続きが終了したならば,接続した処理装置を現在動作している処理装置と同じ動作にして,処理装置全体による故障検出動作を再開する。
【0020】
第7の発明では,多重化ユニット10内の各処理装置が同時に同じ処理動作を行っている状態において固有の装置番号を指定して,処理装置を参照する手段と,その参照に対し指定された固有の装置番号と一致する固有装置番号11を保持する処理装置のみが応答することにより,処理装置が同時に同じ処理動作を行っている状態から前記応答した処理装置のみが他の処理装置と別の動作を行う手段と,処理装置が別の動作を行うことにより,その処理装置を自動的にバス40から切り離す手段とを備える。
【0021】
処理装置が固有に持つ装置番号を参照して,同時に同じ処理を行っている処理装置の動作を故意にずらすことにより,処理装置の故障検出のテストを簡単に行うことができるようになる。
【0022】
【発明の実施の形態】
図2は,本発明の実施の形態におけるバスの構成とパケットの例を示す図である。
【0023】
図1に示すバス40は,例えば図2(A)に示すように,64bit幅のデータ線40aと,n本(nは多重化ユニット10内の処理装置数)分のバス接続状態信号線40bと,その他の制御信号線40cとからなる。その他の制御信号線40cとしては,例えば各処理装置が実装されているか否かなどを示す信号線や,各処理装置が同時動作しているか否かを示す信号線などがある。バス接続状態信号線40bは,各処理装置のバス接続レジスタ30およびバス状態レジスタ31を相互に接続する信号線である。
【0024】
データ線40aを流れるデータとしては,図2(B)に示すような要求パケットと,図2(C)に示すような応答パケットがある。要求パケットは,リード要求,ライト要求というような要求の種別を示すコマンドと,要求先の装置番号(固有装置番号11または共通装置番号12)と,リードやライトの対象となるレジスタやメモリ等のアドレスと,要求がライトである場合の書き込みデータ等からなる。また,応答パケットは,応答であることを示すリプライの種別と,装置番号と,要求がリードである場合の読み出しデータ等からなる。
【0025】
図3は,本発明の実施の形態における処理装置の詳細な構成を示す。図3において,図1と同符号のものは図1に示すものに対応し,15はゲート回路,50は要求パケット中の要求アドレス,51は同時に動作していることを示す同時動作信号,52は処理装置内のメモリ,53および54は双方方向バッファ,55は要求パケット内の装置番号を表す。
【0026】
この例では,3台の処理装置10−1〜10−3が多重化ユニットを構成するものとする。処理装置10−1の固有装置番号として“01”,処理装置10−2の固有装置番号として“10”,処理装置10−3の固有装置番号として“11”をそれぞれ外部から与える。固有装置番号を外部から与えることにより,処理装置10−1〜10−3の構造を共通化することができる。ここでは,これらの番号“01”〜“11”が,例えば各々の処理装置を搭載するボードを差し込むスロットによって自動的に決まるように,各スロットに対応した固有装置番号の信号生成回路が処理装置の外部に設けられている。
【0027】
一方,共通装置番号は,各処理装置10−1〜10−3に対して共通に“00”が与えられている。この共通装置番号は,ゲート回路15によって同時動作信号51の入力が有効なときにだけ有効となる。
【0028】
要求パケット内の装置番号55によって,処理装置10−1〜10−3の内部資源にアクセスする要求があると,比較回路13によってその装置番号55が固有装置番号と一致することが検出された場合,または比較回路14によって装置番号55が共通装置番号と一致することが検出され,かつ同時動作信号51が有効でゲート回路15が開いている場合にのみ,要求に対する応答が返される。
【0029】
各種処理回路20の指示により,双方向バッファ53,54を制御してバス40から処理装置を切り離すことができる。各種処理回路20はデコーダを有し,バス接続レジスタ30の設定を受けて,通常時にその処理装置をバス40から切り離すかどうかを決める。ただし,切り離し状態であっても,要求された装置番号55が自装置の固有装置番号と一致する場合には,双方向バッファ54を介してレジスタ31〜33(バス接続レジスタ30を除く)の参照を可能とし,応答する。
【0030】
ハンドシェイク用レジスタ32およびデータ通信用レジスタ33は,他の処理装置から任意に参照したり,値を書き込んだりすることができるレジスタである。これらのレジスタ32,33は,故障のため切り離した処理装置の代わりに,別の処理装置を追加した場合,追加した処理装置と同時動作を行っている処理装置の組との情報のやり取りに使用される。
【0031】
図4は,本発明の実施の形態におけるバス接続・切り離し説明図である。
処理装置のバス40からの切り離しは,それぞれの処理装置が持つバス接続レジスタ30の設定で行う。例えば,バス接続レジスタ30の値が“1”の場合,バス接続状態であり,“0”の場合,バス切り離し状態である。バス接続レジスタ30の信号は,図4(A)に示すように,バス接続状態信号線40bを介して他の処理装置のバス状態レジスタ31に通知される。
【0032】
バス状態レジスタ31は,図4(B)に示すように,各処理装置のバス接続レジスタ30からのバス接続・切り離し状態の情報を保持する。各処理装置は,バス状態レジスタ31からバス40に接続されている処理装置を判定することができる。
【0033】
図5は,同時動作を行っている処理装置に新たに処理装置を追加するときの通信処理フローを示す。
例えば図3に示す処理装置10−1〜10〜3のうち,2台が同時動作中であり,1台が故障により切り離された後,新たな処理装置が追加されるものとする。新たに追加される処理装置は,バスへの接続に際してまず内部の初期化を行い(図5のS20),初期化が完了したならばバス接続レジスタ30に“1(バス接続)”をセットする(S21)。これにより,図4で説明したバス接続状態信号線40bによって,既存の同時動作している処理装置のバス状態レジスタ31へ接続状態が通知される。
【0034】
既存の処理装置は,時間待ち(S10)の状態においてバス状態レジスタ31によって新たな処理装置の挿入を確認すると(S11),新たに接続した処理装置のハンドシェイク用レジスタ32およびデータ通信用レジスタ33を用いて,通信を開始する。
【0035】
ハンドシェイク用レジスタ32とデータ通信用レジスタ33は,新たな処理装置と既存の処理装置とから互いに設定した値を読み書きすることができる。ここで,ハンドシェイク用レジスタ32の初期値を“0”とすると,ハンドシェイク用レジスタ32をリードして値が“0”であることを確認した後(S12,S13),新たな処理装置のデータ通信用レジスタ33へ予め決めたフォーマットのコマンドを書き込んで(S14),ハンドシェイク用レジスタ32を“1”にセットする(S15)。
【0036】
新たな処理装置は,既存の処理装置によりハンドシェイク用レジスタ32に“1”がセットされるのを待ち,“1”になったことを確認すると(S22,S23),データ通信用レジスタ33をリードする(S24)。そして,データ通信用レジスタ33から読み出した受信コマンドを解析し,実行する(S25)。その実行結果を既存の処理装置へ通知する場合には,その通知したい情報をデータ通信用レジスタ33に書き込んで(S26),ハンドシェイク用レジスタ32に“0”をセットする(S27)。その後,ステップS22へ戻り,ハンドシェイク用レジスタ32が“1”になるのを待つ。
【0037】
既存の処理装置は,ハンドシェイク用レジスタ32に“1”をセットした後(S15),それが“0”に変化するのを待ち(S16,S17),“0”になったことを確認したならば,データ通信用レジスタ33をリードして新たな処理装置が書き込んだデータを読み出し(S18),その受信データを解析し,必要な処理を実行する(S19)。以上のシーケンスを新たな処理装置の設定が完了して,新たな処理装置と既存の処理装置とが同じ状態になるまで,所定の回数繰り返す。
【0038】
データ通信レジスタ33を介した通信によって,既存の処理装置から新たな処理装置へのシステムの環境情報(例えば接続されている入出力装置の情報,メモリ容量の情報等)を通知することができる。
【0039】
図6は,同時動作を行っている処理装置のうち任意の処理装置が別の動作を行った場合に,その処理装置が同時動作から切り離されることを確認するための故障テストを説明する図である。
【0040】
本発明では,擬似的に故障状態を生じさせて,その処理装置が同時動作から離脱するかどうかを確認するための故障テストを次のように簡単に行うことができる。故障テストでは,まず図6(A)に示すように,バス40に接続されたコンソール60からの指示により,所定の故障テストプログラム61を全処理装置10−1〜10−3のメモリ52にローディングし,全処理装置10−1〜10−3に同時に故障テストプログラム61を実行させる。
【0041】
その処理フローを図6(B)に示す。この例では,固有装置番号が“01”の処理装置,すなわち処理装置10−1を擬似的に故障状態にするものとする。固有装置番号の値を変えることにより,他の処理装置を故障状態にして,切り離すこともできる。
【0042】
バス40を介して固有装置番号“01”による参照の要求があると(S30,S31),各処理装置における自装置の固有装置番号との比較により(S32),処理装置10−2,10−3はS32〜S34の処理を実行し,処理装置10−1は,S35〜S37の処理を実行することになる。
【0043】
すなわち,処理装置10−2,10−3は,要求された固有装置番号が自装置の固有装置番号と異なることから,その要求に対して応答しないで,通常の同時動作を継続する(S32)。一方,処理装置10−1は,固有装置番号が一致することから,要求に対して応答することにより,他の処理装置と異なる動作となる(S35)。
【0044】
処理装置10−1が他と別の処理を実行することにより,同時動作している処理装置10−2,10−3との動作比較によって,不一致を起こし,故障検出回路70によって処理装置10−1が故障したとみなされる。なお,故障検出回路70の故障検出論理は,図7で説明した従来技術と同様であるので,ここでの詳しい説明は省略する。処理装置10−1が故障とみなされることにより,同時動作している処理装置から自動的に離脱される。
【0045】
処理装置10−2,10−3は,固有装置番号“01”の処理装置10−1が切り離されたことを図1に示すバス状態レジスタ31またはこれと同様な他のレジスタ等によって確認する(S33)。その確認した結果をメモリ52の所定の領域に書き込んでロギングする(S34)。
【0046】
一方,処理装置10−1は,故障検出回路70によって設定されるレジスタ等により,自身が切り離されたことを確認し(S36),同様に自処理装置10−1内のメモリ52の所定の領域に確認結果を書き込んでロギングする(S37)。
【0047】
後にコンソール60から,各処理装置10−1〜10−3のメモリ52に採取されたロギング情報を読み出すことにより,固有装置番号“01”の処理装置10−1が確かに切り離されたかどうかを調べて,故障検出動作を検証することができる。
【0048】
【発明の効果】
以上説明したように,本発明によれば,2台以上の処理装置に同じ処理を同時に実行させることにより処理装置全体の信頼性を高める情報処理装置において,同時に動作している処理装置全体に共通の装置番号を割り当てるとともに,個別の処理装置にそれぞれ固有の装置番号を割り当てることにより,故障を起こした処理装置を容易に識別することができる。
【0049】
また,バスから切り離した状態の処理装置に対して通信を行うことができるので,故障した処理装置の代わりに接続しようとする処理装置に対して,現在同時に動作している処理装置の情報を通知し,接続した処理装置を現在動作している処理装置と同じ状態に設定し,情報処理装置全体を停止させることなく,処理装置全体による故障検出動作を再開し,耐故障性を高めることができるようになる。
【0050】
また,処理装置が固有に持つ装置番号を参照して,同時に同じ処理を行っている処理装置の動作を故意にずらすことにより,処理装置の故障検出のテストを簡単に行うことができるようになる。
【図面の簡単な説明】
【図1】本発明の構成例を示す図である。
【図2】本発明の実施の形態におけるバスの構成とパケットの例を示す図である。
【図3】本発明の実施の形態における処理装置の詳細な構成を示す図である。
【図4】本発明の実施の形態におけるバス接続・切り離し説明図である。
【図5】同時動作を行っている処理装置に新たに処理装置を追加するときの通信処理フローを示す図である。
【図6】本発明の実施の形態における故障テストの説明図である。
【図7】従来の高信頼性情報処理装置の例を示す図である。
【符号の説明】
10 多重化ユニット
10−1〜10−n 処理装置
11 固有装置番号
12 共通装置番号
13 比較回路
14 比較回路
20 各種処理回路
21 バス接続・切り離し手段
22 デコーダ
30 バス接続レジスタ
31 バス状態レジスタ
32 ハンドシェイク用レジスタ
33 データ通信用レジスタ
40 バス[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a highly reliable information processing apparatus that detects a failure and performs necessary disconnection processing by connecting at least two processing devices (processors) via a bus and simultaneously executing the same processing.
[0002]
Currently, information processing devices are widely used in various fields, and failure of information processing devices has a significant social and economic impact. For this reason, there is a need for an information processing device with high fault tolerance that can replace a failed processing device and continue processing without stopping the entire processing device when a failure occurs.
[0003]
[Prior art]
FIG. 7 shows an example of a conventional highly reliable information processing apparatus.
The processing devices 10-1 to 10-3 are connected by a
[0004]
In order to detect this failure, specifically, for example, the processing device 10-1 becomes a master, and the processing results are compared in the following procedure.
First, each processing device 10-1 to 10-3 inputs processing request data flowing in the bus 40 ((1) in FIG. 7), and simultaneously executes the data processing requested by each processing circuit 80 (FIG. 7). 7 (2)). Data output to the
[0005]
On the other hand, the
[0006]
The
[0007]
As a result of comparing the processing results, if all the processing results match, it can be determined that all the processing apparatuses 10-1 to 10-3 are normal. If the comparison result by the
[0008]
The processing device determined to be faulty is automatically disconnected from the
[0009]
[Problems to be solved by the invention]
In the high reliability information processing apparatus as described above, since a plurality of processing apparatuses simultaneously perform the same processing operation, it has been impossible in the past to perform only a specific processing apparatus to perform a different processing operation. In addition, if a processing device is disconnected from the bus due to a failure, the processing device cannot be referenced, and the processing device that has recovered the failure is reconnected to the bus without stopping the entire information processing device. Recovery processing was difficult. Also, when testing or debugging failure detection to determine whether a failed processing device is automatically disconnected from the bus, all processing devices operate in the same way at the same time. There was a problem that it was difficult.
[0010]
In order to solve the above problems, the present invention enables a highly reliable information processing device to allow only a specific processing device to perform an operation different from the others, and even in a processing device separated from a bus, Make it possible to refer to specific registers from other devices, and when a new processing device is connected to the bus, information is transmitted to the other processing devices via the specific registers, and The purpose is to make the state coincide with the state of other processing devices that are currently operating at the same time, to operate them simultaneously, and to easily perform a failure detection test or the like.
[0011]
[Means for Solving the Problems]
FIG. 1 shows a configuration example of the present invention. In FIG. 1, 10 is a multiplexing unit composed of a plurality of processing devices, 10-1 to 10-n are processing devices that simultaneously execute the same processing in synchronization with the same clock, and 11 is assigned a different number for each processing device. Specific device number (unique device identifier), 12 is a common device number (common device identifier) in which the same number is given to all processing devices, 13 and 14 are requested by a comparison circuit, 20 is requested by a decoder and an arithmetic circuit, etc. Various processing circuits for performing the processed processing, 21 is a bus connection / disconnection means for disconnecting and connecting the own device from the bus, 22 is a decoder for decoding addresses of registers and memories, and 30 is a device connected to the bus. A
[0012]
In the first invention, each of the processing devices 10-1 to 10-n is assigned to each processing device with a unique device number 11 that is different for each processing device, and executes the same processing simultaneously with other processing devices. And a
[0013]
Apart from the unique device number 11 for each processing device, it has a
[0014]
Further, in the second invention, each of the processing devices 10-1 to 10-n has the bus connection / disconnection means 21, whereby the processing devices 10-1 to 10-n can be logically disconnected from the
[0015]
Furthermore, in the third invention, as a request specifying the unique device number 11 in the second invention, it is possible to refer to specific registers such as the
[0016]
In the fourth aspect of the invention, when a processing device disconnected from the
[0017]
In the fifth aspect of the invention, there is provided means for connecting a processing device or a new processing device separated from the
[0018]
In the sixth aspect of the invention, the
[0019]
When a new processing device is connected instead of a processing device that has been disconnected due to a failure, the fact that the processing device is connected is notified. At this time, since the status of the connected processing device is different from the status of the currently operating processing device, communication is performed between the currently operating processing device and the connected processing device, and the status matches. The procedure to make is necessary. According to the fifth and sixth inventions, the process of matching this state can be performed while the multiplexing
[0020]
In the seventh invention, means for referring to a processing device by designating a unique device number in a state where the processing devices in the
[0021]
By referring to the device number inherent to the processing device and intentionally shifting the operations of the processing devices performing the same processing at the same time, it becomes possible to easily perform a failure detection test for the processing device.
[0022]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 2 is a diagram showing an example of a bus configuration and a packet in the embodiment of the present invention.
[0023]
As shown in FIG. 2A, for example, the
[0024]
As data flowing through the data line 40a, there are a request packet as shown in FIG. 2B and a response packet as shown in FIG. The request packet includes a command indicating a request type such as a read request and a write request, a requesting device number (unique device number 11 or common device number 12), a register or a memory to be read or written, and the like. It consists of an address and write data when the request is a write. The response packet includes a reply type indicating a response, a device number, read data when the request is a read, and the like.
[0025]
FIG. 3 shows a detailed configuration of the processing apparatus according to the embodiment of the present invention. In FIG. 3, the same reference numerals as those in FIG. 1 correspond to those shown in FIG. 1, 15 is a gate circuit, 50 is a request address in a request packet, 51 is a simultaneous operation signal indicating simultaneous operation, 52 Is a memory in the processing device, 53 and 54 are bidirectional buffers, and 55 is a device number in the request packet.
[0026]
In this example, it is assumed that three processing devices 10-1 to 10-3 constitute a multiplexing unit. “01” is given as the unique device number of the processing device 10-1, “10” is given as the unique device number of the processing device 10-2, and “11” is given as the unique device number of the processing device 10-3. By giving the unique device number from the outside, the structures of the processing devices 10-1 to 10-3 can be made common. Here, a signal generation circuit having a unique device number corresponding to each slot is provided so that these numbers “01” to “11” are automatically determined by, for example, a slot into which a board on which each processing device is mounted is inserted. It is provided outside.
[0027]
On the other hand, the common device number is given “00” in common to the processing devices 10-1 to 10-3. This common device number is valid only when the input of the simultaneous operation signal 51 by the
[0028]
When there is a request to access the internal resources of the processing devices 10-1 to 10-3 by the device number 55 in the request packet, the
[0029]
In accordance with instructions from the
[0030]
The handshake register 32 and the data communication register 33 are registers that can be arbitrarily referred to and written in values from other processing devices. These registers 32 and 33 are used for exchanging information with a set of processing devices operating simultaneously with the added processing device when another processing device is added instead of the processing device separated due to a failure. Is done.
[0031]
FIG. 4 is an explanatory diagram of bus connection / disconnection in the embodiment of the present invention.
The processing devices are disconnected from the
[0032]
As shown in FIG. 4B, the
[0033]
FIG. 5 shows a communication processing flow when a processing device is newly added to a processing device performing simultaneous operation.
For example, it is assumed that two of the processing devices 10-1 to 10-3 shown in FIG. 3 are operating simultaneously, and a new processing device is added after one is disconnected due to a failure. The newly added processing device first performs internal initialization upon connection to the bus (S20 in FIG. 5), and sets "1 (bus connection)" in the
[0034]
When the existing processing device confirms the insertion of a new processing device by the bus state register 31 in the time waiting (S10) state (S11), the handshake register 32 and the data communication register 33 of the newly connected processing device. Use to start communication.
[0035]
The handshake register 32 and the data communication register 33 can read and write values set from a new processor and an existing processor. Here, if the initial value of the handshake register 32 is “0”, the handshake register 32 is read to confirm that the value is “0” (S12, S13), and then the new processing device A command of a predetermined format is written to the data communication register 33 (S14), and the handshake register 32 is set to "1" (S15).
[0036]
The new processing device waits for “1” to be set in the handshake register 32 by the existing processing device, and confirms that it has become “1” (S22, S23). Read (S24). Then, the received command read from the data communication register 33 is analyzed and executed (S25). When notifying the existing processing apparatus of the execution result, the information to be notified is written in the data communication register 33 (S26), and "0" is set in the handshake register 32 (S27). Thereafter, the process returns to step S22 and waits for the handshake register 32 to become “1”.
[0037]
The existing processor sets “1” in the handshake register 32 (S15), waits for it to change to “0” (S16, S17), and confirms that it has become “0”. If so, the data communication register 33 is read to read the data written by the new processing device (S18), the received data is analyzed, and the necessary processing is executed (S19). The above sequence is repeated a predetermined number of times until the setting of the new processing device is completed and the new processing device and the existing processing device are in the same state.
[0038]
By communicating via the data communication register 33, it is possible to notify system environment information (for example, information on connected input / output devices, information on memory capacity, etc.) from an existing processing device to a new processing device.
[0039]
FIG. 6 is a diagram for explaining a failure test for confirming that a processing device is disconnected from the simultaneous operation when an arbitrary processing device among the processing devices performing the simultaneous operation performs another operation. is there.
[0040]
In the present invention, it is possible to simply perform a failure test for confirming whether or not the processing device is disconnected from the simultaneous operation by causing a pseudo failure state as follows. In the failure test, first, as shown in FIG. 6A, a predetermined
[0041]
The processing flow is shown in FIG. In this example, it is assumed that the processing apparatus having the unique apparatus number “01”, that is, the processing apparatus 10-1 is put into a pseudo failure state. By changing the value of the unique device number, other processing devices can be brought into a failure state and disconnected.
[0042]
When there is a request for reference with the unique device number “01” via the bus 40 (S30, S31), the processing device 10-2, 10- is compared with the unique device number of its own device in each processing device (S32). 3 executes the processes of S32 to S34, and the processing apparatus 10-1 executes the processes of S35 to S37.
[0043]
That is, since the requested unique device numbers are different from the unique device numbers of the own devices, the processing devices 10-2 and 10-3 continue normal simultaneous operation without responding to the request (S32). . On the other hand, since the unique device numbers match, the processing device 10-1 operates differently from other processing devices by responding to the request (S35).
[0044]
When the processing device 10-1 executes processing different from the others, a mismatch occurs due to operation comparison with the processing devices 10-2 and 10-3 operating simultaneously, and the
[0045]
The processing devices 10-2 and 10-3 confirm that the processing device 10-1 having the unique device number “01” has been disconnected by the
[0046]
On the other hand, the processing device 10-1 confirms that it has been disconnected by means of a register or the like set by the failure detection circuit 70 (S36), and similarly, a predetermined area of the memory 52 in the own processing device 10-1. The confirmation result is written in and logged (S37).
[0047]
Later, by reading the logging information collected in the memory 52 of each of the processing devices 10-1 to 10-3 from the
[0048]
【The invention's effect】
As described above, according to the present invention, in an information processing apparatus that improves the reliability of the entire processing apparatus by causing two or more processing apparatuses to execute the same process simultaneously, it is common to all the processing apparatuses operating simultaneously. In addition to assigning the device number, and assigning a unique device number to each individual processing device, the processing device in which the failure has occurred can be easily identified.
[0049]
In addition, since communication can be performed with a processing device disconnected from the bus, information on the processing device that is currently operating simultaneously is notified to the processing device to be connected instead of the failed processing device. Therefore, the connected processing device is set to the same state as the currently operating processing device, and the failure detection operation by the entire processing device can be resumed without stopping the entire information processing device, so that fault tolerance can be improved. become.
[0050]
In addition, it is possible to easily perform a test for detecting a failure of a processing device by deliberately shifting the operation of the processing device performing the same processing at the same time with reference to the device number inherent to the processing device. .
[Brief description of the drawings]
FIG. 1 is a diagram illustrating a configuration example of the present invention.
FIG. 2 is a diagram illustrating an example of a bus configuration and a packet in the embodiment of the present invention.
FIG. 3 is a diagram showing a detailed configuration of a processing apparatus according to an embodiment of the present invention.
FIG. 4 is an explanatory diagram of bus connection / disconnection in the embodiment of the present invention.
FIG. 5 is a diagram illustrating a communication processing flow when a processing device is newly added to a processing device performing simultaneous operation.
FIG. 6 is an explanatory diagram of a failure test in the embodiment of the present invention.
FIG. 7 is a diagram illustrating an example of a conventional highly reliable information processing apparatus.
[Explanation of symbols]
DESCRIPTION OF
Claims (7)
前記各処理装置は,
各処理装置ごとに異なる固有装置識別子を保持する手段と,
各処理装置に対して共通に与えられ,他の処理装置と同時に同じ処理を実行しているときに有効となる共通装置識別子を保持する手段と,
装置識別子を指定した要求に対し,前記固有装置識別子または前記共通装置識別子のいずれかが一致するかどうかを比較する手段と,
前記固有装置識別子または前記共通装置識別子のいずれかが一致する場合にのみ,前記要求に対して応答する手段を備える
ことを特徴とする情報処理装置。In an information processing apparatus having a function of comparing at least two processing devices connected via a bus, having these processing devices execute the same processing simultaneously in synchronization with the same clock, and comparing the results.
Each of the processing devices is
Means for holding a unique device identifier that is different for each processing device;
Means for holding a common device identifier which is given in common to each processing device and becomes effective when the same processing is executed simultaneously with other processing devices;
Means for comparing whether the unique device identifier or the common device identifier matches a request specifying a device identifier;
An information processing apparatus comprising means for responding to the request only when either the unique device identifier or the common device identifier matches.
前記処理装置を前記バスから論理的に切り離す手段を備えるとともに,
前記固有装置識別子を指定した要求に対して,指定された固有装置識別子と一致する固有装置識別子を保持する処理装置は,自装置がバスから切り離された状態であっても応答する手段を備える
ことを特徴とする情報処理装置。The information processing apparatus according to claim 1,
Means for logically separating the processing unit from the bus;
In response to a request specifying the unique device identifier, the processing device that holds the unique device identifier that matches the specified unique device identifier includes means for responding even when the own device is disconnected from the bus. An information processing apparatus characterized by the above.
前記固有装置識別子を指定した要求は,前記処理装置の備える特定のレジスタを参照する要求である
ことを特徴とする情報処理装置。The information processing apparatus according to claim 2,
The information processing apparatus characterized in that the request specifying the unique apparatus identifier is a request for referring to a specific register provided in the processing apparatus.
前記バスから切り離された処理装置または新たな処理装置を,当該情報処理装置の動作を停止しないでバスに接続する手段を備えるとともに,
前記処理装置は,それぞれ他の処理装置へ情報を伝達するためのレジスタを備える
ことを特徴とする情報処理装置。The information processing apparatus according to claim 3,
Means for connecting a processing device or a new processing device separated from the bus to the bus without stopping the operation of the information processing device;
Each of the processing devices includes a register for transmitting information to another processing device.
前記バスから切り離された処理装置または新たな処理装置を,当該情報処理装置の動作を停止しないでバスに接続する手段を備えるとともに,
前記処理装置は,自装置が新たにバスに接続された場合に,自装置の特定のレジスタに値を書き込むことにより,他の動作中の処理装置が持つレジスタに値を反映させ,自装置が追加されたことを他の処理装置へ通知する手段を備える
ことを特徴とする情報処理装置。The information processing apparatus according to claim 3,
Means for connecting a processing device or a new processing device separated from the bus to the bus without stopping the operation of the information processing device;
When the own device is newly connected to the bus, the processing device writes a value in a specific register of the own device, thereby reflecting the value in a register of another active processing device. An information processing apparatus comprising: means for notifying another processing apparatus of addition.
前記バスから切り離された処理装置または新たな処理装置を,当該情報処理装置の動作を停止しないでバスに接続する手段を備えるとともに,
前記処理装置は,自装置が新たにバスに接続され初期化処理が終了した場合に,自装置の特定のレジスタに値を書き込むことにより,他の動作中の処理装置へ自装置の初期化処理が終了したことを通知する手段を備える
ことを特徴とする情報処理装置。The information processing apparatus according to claim 3,
Means for connecting a processing device or a new processing device separated from the bus to the bus without stopping the operation of the information processing device;
When the own device is newly connected to the bus and the initialization process is completed, the processing device writes the value to a specific register of the own device, thereby initializing the own device to another processing device. An information processing apparatus comprising means for notifying that the process has ended.
前記処理装置が同時に同じ処理動作を行っている状態において前記固有装置識別子を指定して前記処理装置を参照する手段と,
その参照に対し指定された固有装置識別子と一致する固有装置識別子を保持する処理装置のみが応答することにより,前記処理装置が同時に同じ処理動作を行っている状態から前記応答した処理装置のみが他の処理装置と別の動作を行う手段と,
前記処理装置が別の動作を行うことにより,その処理装置をバスから切り離す手段とを備える
ことを特徴とする情報処理装置。The information processing apparatus according to claim 1,
Means for designating the unique device identifier and referring to the processing device in a state where the processing device is simultaneously performing the same processing operation;
Only the processing device that holds the unique device identifier that matches the specified unique device identifier responds to the reference, so that only the processing device that responded from the state where the processing device is performing the same processing operation at the same time Means for performing an operation different from the processing device of
An information processing apparatus comprising: means for separating the processing apparatus from the bus when the processing apparatus performs another operation.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12961596A JP3624051B2 (en) | 1996-05-24 | 1996-05-24 | Information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12961596A JP3624051B2 (en) | 1996-05-24 | 1996-05-24 | Information processing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09311844A JPH09311844A (en) | 1997-12-02 |
JP3624051B2 true JP3624051B2 (en) | 2005-02-23 |
Family
ID=15013854
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12961596A Expired - Fee Related JP3624051B2 (en) | 1996-05-24 | 1996-05-24 | Information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3624051B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8095641B2 (en) * | 2005-10-27 | 2012-01-10 | International Business Machines Corporation | Method and system for virtualized health monitoring of resources |
-
1996
- 1996-05-24 JP JP12961596A patent/JP3624051B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH09311844A (en) | 1997-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5068851A (en) | Apparatus and method for documenting faults in computing modules | |
US5423024A (en) | Fault tolerant processing section with dynamically reconfigurable voting | |
JP3745761B2 (en) | Method and apparatus for enhancing a bus | |
US7870417B2 (en) | Apparatus, system, and method for adapter card failover | |
JPH01154241A (en) | Synchronized double computer system | |
JP2003506788A (en) | Diagnostic cage mode for testing redundant system controllers | |
JPH01154240A (en) | Double-rail processor with error check function added to single-rail interface | |
JPH02118872A (en) | Dual rail processor having error checking function for reading of i/o | |
JP4132322B2 (en) | Storage control device and control method thereof | |
JPH03182939A (en) | Error processing of software | |
JP2996440B2 (en) | Diagnosis method of data processing system | |
KR100513820B1 (en) | Bus-to-bus bridge circuit with integrated loopback test capability and method of use | |
US20080263391A1 (en) | Apparatus, System, and Method For Adapter Card Failover | |
JP3624051B2 (en) | Information processing device | |
US5394536A (en) | Stable memory circuit using dual ported VRAM with shift registers in a multiple memory bank setup for high speed data-transfer | |
GB2391335A (en) | A multiple processing set computer system wherein a device interrupt is sent only to allocated owners of that device | |
JP2003337758A (en) | Duplexed memory system | |
JPH07182253A (en) | Bus adaptor and bus multiplexing system | |
JPH1027115A (en) | Fault information sampling circuit for computer system | |
JPH07325792A (en) | Cpu monitoring device | |
JP2001356881A (en) | Multiplex storage controller | |
JPH0916426A (en) | Fault tolerant computer with two-port console | |
JP2003345676A (en) | Dual-memory system | |
JPH09179836A (en) | Multiplied computer and its fault detection processing method | |
JPH07114521A (en) | Multimicrocomputer system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040423 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20041124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041129 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071203 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081203 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091203 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091203 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101203 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111203 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111203 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121203 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121203 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131203 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |