JP2510750B2 - フォ―ルト・トレラント・システム及びその冗長系間の同期方法並びに多重化クロツク発振器 - Google Patents

フォ―ルト・トレラント・システム及びその冗長系間の同期方法並びに多重化クロツク発振器

Info

Publication number
JP2510750B2
JP2510750B2 JP2064243A JP6424390A JP2510750B2 JP 2510750 B2 JP2510750 B2 JP 2510750B2 JP 2064243 A JP2064243 A JP 2064243A JP 6424390 A JP6424390 A JP 6424390A JP 2510750 B2 JP2510750 B2 JP 2510750B2
Authority
JP
Japan
Prior art keywords
redundant systems
redundant
synchronization
master
output
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
Application number
JP2064243A
Other languages
English (en)
Other versions
JPH03266011A (ja
Inventor
信康 金川
廣一 井原
智 多田
広忠 金子
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
Hitachi Keiyo Engineering Co Ltd
Original Assignee
Hitachi Ltd
Hitachi Keiyo Engineering Co 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, Hitachi Keiyo Engineering Co Ltd filed Critical Hitachi Ltd
Priority to JP2064243A priority Critical patent/JP2510750B2/ja
Publication of JPH03266011A publication Critical patent/JPH03266011A/ja
Application granted granted Critical
Publication of JP2510750B2 publication Critical patent/JP2510750B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数の冗長系からなるフォールト・トレラ
ント・システム及び、その冗長系間の同期方法並びにフ
ォールト・トレラント・システムの同期に好適な多重化
クロック発振器に関する。
〔従来の技術〕
コンピュータの利用分野の拡大に伴い、高い信頼性、
安全性を有する分野でのコンピュータの使用が必要にな
ってきている。コンピュータの信頼性を損なう要因とし
て、ハードウェアの永久故障や電気的雑音や放射線によ
る一時的なデータエラーなどが挙げられる。
コンピュータ・システムの信頼性を高めるために、シ
ステムを構成するコンピュータ・モジュールを多重化し
て一部のモジュールで不具合が発生してもシステム全体
としては正常なモジュールにより動作を継続させる冗長
化の技術、いわゆるフォールト・トレラント技術が広く
用いられている。(ここで、コンピュータ・モジュール
のうち多重化した一部のモジュールを以下、冗長系と呼
ぶ。) フォールト・トレラント・コンピュータの同期の方法
に関して従来の公知例として、疎結合方式と、密結
合方式とがある。
疎結合方式は、文献1 プロシーディングス・オブ
・ジ・アイ・イー・イー・イー,Vol.66,No.10,October1
978第1221頁から第1239頁(Albert L.Hopkins,Jr.et a
l.“FTMP-A Highly Reliable Fault-Tolerant Multipro
cessor fot Aircraft"Proc.of IEEE,Vol.66,No.10,pp.1
221-1239(Oct.1978))で述べられており、第34図のよ
うにそれぞれの冗長系が独立したクロックで動作する方
式で、冗長系間の同期はソフトウェアによりタスクレベ
ルで採られることが多い。
密結合方式は、文献2 プロシーディングス・オブ
・ジ・アイ・イー・イー・イー,Vol.66,No.10,October1
978第1240頁から第1255頁(John H.Wensley et al.“SI
FT:Design and Analysis of a Fault-Tolerant Compute
r for Aircraft Contriol,"Proc.of IEEE,Vol.66,No.1
0,pp.1240-1255(Oct.1978))で述べられており、第35
図のようにそれぞれの冗長系が共通のクロックで動作す
る方式で、クロックレベルで同期が採られている。
また密結合方式では、共通クロックが故障した場合
にシステム全体が停止してしまうために文献1,Fig.4
(p.1226)及び、文献3米国特許第4,644,498号Fig.2a
のようにクロックを多重化する方法が用いられていた。
〔発明が解決しようとする課題〕
上記従来技術のうち、疎結合方式は冗長系間の同期
はタスクレベルで採られ、冗長系の内部状態は必ずしも
同一である必要はないために、いくつかの冗長系で障害
(故障、一時的データエラー等)が発生した場合には、
障害が発生した冗長系のみをリセットし、他の正常な冗
長系からのデータをもとに正常動作に戻すことができ
る。しかしこの方法では出力をハードウェアにより多数
決するためには、冗長系間の同期を採るための処理が必
要となり、同期のためのオーバーヘッドがかかってしま
い、処理性能を低下させてしまうといった問題点があっ
た。
一方、密結合方式は既にクロックレベルで同期して
おり、同期のための特別な処理は必要としないために、
同期のためのオーバーヘッドによる処理性能の低下とい
う問題は生じない。しかし、いくつかの冗長系で障害が
発生した場合のシステム再構成の際には、すべての冗長
系の内部状態を同一にするために、すべての冗長系をリ
セットしなければならず、その結果処理が一時中断して
しまうという問題点があった。
また、密結合方式に用いられる多重化クロックは文
献1,Fig.4(P.1226)に示すようにクロック発振器間の
位相を一致させるためにPLL(Phase Locked Loop)を使
用しており、回路規模が大きくなり、部品点数の増加に
より故障率の増加を招いてしまう。
また、文献3では、発振器を多重化し、各々の発振出
力の多数決をとったものを増幅器の入力にフィードバッ
クして、同一の位相の発振出力を得ている。しかし、多
数決回路の分回路規模が大きくなる欠点があった。
本発明の目的は、同期のためのオーバーヘッドがかか
らず、しかもシステム再構成時にも処理が中断すること
のないフォールト・トレラント・システム及びその冗長
系間の同期方法を提供することにある。
また、本発明の他の目的は、簡単な構成で故障の影響
の少ない多重化クロック発振器を提供することにある。
〔課題を解決するための手段〕
上記目的を達成するために本発明では、個々の冗長系
をそれぞれ独立したクロックで動作させ、インタフェー
ス部のみを共通クロックで動作させるシステム構成を採
用する。
また、個々の冗長系での処理のタイミングのずれを共
通クロック間隔以内に揃えるために、ランデブー方式と
名付けたソフトウェアによるタスクレベルでの同期の方
法をとる。
更に共通クロックに耐故障性を持たせるために、共通
クロック発振器を冗長化し、個々のクロック発振器の発
振出力の多数決を採ったものを個々のクロック発振器に
正帰還させて、同一の周波数、位相の発振出力を得る。
これらの発振出力の多数決を採ることによって、一部の
発振器が故障した場合でも正常な発振出力が得られる。
本発明では、上記多重化クロック発振器の構成に必要な
多数決を、抵抗器で入力信号の平均値を採り、平均値を
しきい値で2値化することにより実現する。
〔作用〕
本発明では、第1図のように個々の冗長系1-1〜1-Nの
インタフェース部3-1〜3-N以外の部分をそれぞれ独立の
クロック発振器2-1〜2-Nからのクロックで動作させ、外
部に出力をするためのインタフェース部3-1〜3-Nのみを
共通クロック発振器4からの共通クロックで動作させ
る。上記システム構成により、出力インタフェースがク
ロックレベルで同期しているために、出力に際し同期の
ためのオーバーヘッドが無く高速のデータ出力が可能と
なる。さらに、個々の冗長系1-1〜1-Nのインタフェース
部3-1〜3-N以外の部分はタスクレベルで同期しているた
め、プロセッサ内部のレジスター値などの内部状態を一
致させる必要が無く、システム再構成時に全部の冗長系
をリセットする必要が無い。そのため、他の冗長系の処
理を継続したまま障害が発生した冗長系を通常動作に戻
すことができ、処理の連続性を保つことが可能となる。
他に本発明におけるタスクレベルでの同期の方法(以
下ランデブー方式と称する)について説明する。
処理が終了次第、処理結果を出力する場合には、処理
の進行のバラツキをなくすために、先に処理の終了した
冗長系は他の冗長系での処理が終了するまで待たなけれ
ばならない。そのために、先に処理の終了した冗長系は
マスタとなって同期の主導権を握り、データ出力要求
(リクエスト、以下Reqと記す)を他の冗長系に送り、
他の冗長系からの承諾(アクナレッジメント、以下Ack
と記す)を待って処理結果の出力に移る(処理結果出力
開始の合意成立)方法を本発明では提供する。
また、他の冗長系はスレーブとなってこれに従う。ス
レーブとなった冗長系はマスタから送られたReqに対し
てAckを他の全ての冗長系に返送する。
この方法は、処理結果の出力だけでなく次の処理を同
期して開始する場合にも応用できる。
また、この方法は、マルチタスク処理に関して特に有
効である。
タイミングによっては、複数の冗長系がReqを同時に
出すことも考えられるが、ある冗長系において受け取る
Reqの数とAckの数との間には以下に示すような関係が有
る。この関係を用いれば、受け取ったReqの数から合意
成立のためのAckの数を求めることができる。つまり、
所定の数のAckを受け取るまで待てば、合意が成立し、
冗長系間の同期が採れた状態で、処理結果の出力や次の
処理に移ることが可能となる。
上記Reqの数とAckの数の関係は次の通りである。
複数の冗長系がマスタとなった場合、マスタが他のマ
スタからのReqを受け取った場合の動作によって、Reqの
数とAckの数の間の関係はは以下のように異なってく
る。
(1)マスタ(先に処理を終えた冗長系)はReqに対し
てAckを返さない場合 (a)自分がマスタのとき 自分自身は、自分以外のマスタが出したリクエストを
受け取るから、受け取るリクエストの数Nreqは, Nreq=Nm−1 …(1) ただし、Nm:マスタの数 となる。
それぞれのスレーブ(マスタにならなかった冗長系)
は、マスタから受け取ったリクエストの数だけアクナレ
ッジを出すから、受け取るアクナレッジの数は、 Nack=Ns・Nm …(2) ただし、Ns:スレーブの数 となる。マスタ以外の冗長系はスレーブであるから、 Ns=N−Nm …(3) となる。
ここで、式(1),(2),(3)から、 Nack=(N−Nreq−1)(Nreq+1) …(4) となる。
(b)自分がスレーブのとき 自分自身は全てのマスタの出したリクエストを受け取
るから、 Nreq=Nm …(5) となる。
自分自身は、自分以外のスレーブの出したアクナレッ
ジを受け取り、それぞれのスレーブ(マスタにならなか
った冗長系)は、マスタから受け取ったリクエストの数
だけアクナレッジを出すから、受け取るアクナレッジの
数は、 Nack=(Ns−1)・Nm …(6) となる。ここで,式(3),(5),(6)から、 Nack=(N−Nreq−1)Nreq …(7) となる。
(2)マスタ(先に処理を終えた冗長系)はReqに対し
てAckを返す場合 (a)自分がマスタのとき それぞれの冗長系は、マスタから受け取ったリクエス
トの数だけアクナレッジを出すから、受け取るアクナレ
ッジの数は、 Nack=Ns・Nm+(Nm−1)(Nm−1) …(8) となる。
ここで、式(1),(3),(8)から, Nack=(N−2)(Nreq+1)+1 …(9) となる。
(b)自分がスレーブのとき 自分自身は、自分以外のスレーブの出したアクナレッ
ジを受け取り、それぞれの冗長系は、マスタから受け取
ったリクエストの数だけアクナレッジを出すから、受け
取るアクナレッジの数は、 Nack=(Ns−1)・Nm+Nm(Nm−1) …(10) となる。ここで,式(3),(5),(10)から, Nack=(N−2)Nreq …(11) となる。
次に、本発明におけるクロックの多重化について説明
する。
一般にクロック発振器は第28図のように実現すること
ができる。
ここで、G(jω),H(jω)はそれぞれ増幅器401,
フィードバック要素402の伝達関数を表わす。
第28図に於いて以下の発振条件を満足すれば、発振を
継続させることができる。
|G(jω)・H(jω)|≧1 …(12) ∠G(jk0)・H(jω)=0° …(13) ただし、j:虚数単位 ω=2π0, 0:発振周波数 本発明は、複数の発振器に於いて、各々同一の発振周
波数で上記発振条件を満足させ、かつ同じ信号をフィー
ドバックすることにより、周波数、位相ともに一致した
発振出力を得るものである。そこで、これらの発振出力
の多数決をとれば、耐故障性のある発振出力を得ること
ができる。
各々の発振器に於いて、同一の信号をフィードバック
するためには、文献3のように各々の発振出力の多数決
をとったものを増幅器の入力にフィードバックすれば良
い。ここで、第29図のように入力信号を抵抗420-1-1〜4
20-N-Nによって一点に結合した場合、結合点の電位は ただし、VH:Hレベルの電位 NH:Hレベルである入力の数 VL:Lレベルの電位 NL:Lレベルである入力の数 となる。
ここで、 NH>N/2 …(15) ならば、 V>(VH+VL)/2 …(16) NH<N/2 …(17) ならば、 V<(VH+VL)/2、 …(18) となり、(VH+VL)/2をしきい値として2値化すれば、
多数決が実現できる。
〔実施例〕
以下本発明の実施例を図に従って説明する。
第1図は本発明の基本的な実施例である。それぞれの
冗長系1-1〜1-Nの出力インタフェース3-1〜3-N以外の部
分は、冗長系毎に独立したクロック発振器2-1〜2-Nから
のクロックにより動作し、出力インタフェース3-1〜3-N
は共通クロック発振器からの共通クロックにより動作し
ている。そのために出力6-1〜6-Nは同期した信号が得ら
れ、多数決回路5で出力の多数決を採ることができ、多
数決の結果をシステムの最終出力7とすることができ
る。
本実施例によれば、出力インタフェースがクロックレ
ベルで同期しているために、出力に際し同期のためのオ
ーバーヘッドが無く高速のデータ出力が可能となる。さ
らに、個々の冗長系1-1〜1-Nのインタフェース部3-1〜3
-N以外の部分はタスクレベルで同期しているため、プロ
セッサ内部のレジスター値などの内部状態を一致させる
必要が無く、システム再構成時に全部の冗長系をリセッ
トする必要が無い。そのため、他の冗長系の処理を継続
したまま障害が発生した冗長系を通常動作に戻すことが
でき、処理の連続性を保つことが可能となる。
以下、出力インターフェースが共通クロックにより動
作する実施例について説明するが、アナログ信号をAD変
換器にとり込む場合のように、入力信号の同期をとる必
要のあるときに、共通クロックで入力インターフェース
を動作させてもよい。
第2図、第3図は出力インタフェース3-1の実施例で
ある。第2図は出力6-1がパラレル信号である場合の実
施例である。本実施例のタイミングを第4図に示す。ラ
ッチ301へのデータ書き込みはタスクレベルで同期して
実行される。書き込みタイミングはアドレスデコーダ30
0によりアドレスデータ及びデータストローブ信号から
生成され、ラッチ301のCK端子へ入力される。ラッチ301
はCK入力の立上りエッジでデータをラッチし、ラッチ30
2へと出力する。ラッチ302では、ラッチ301からの信号
を共通クロック発振器4からの信号の立上りエッジでラ
ッチし出力6-1とする。本実施例により、タスクレベル
で同期してラッチ301へ書き込まれたデータを、共通ク
ロック発振器4からの共通クロックに同期して出力6-1
へ出力することができる。
第3図は出力6-1がシリアル信号である場合の実施例
である。本実施例のタイミングを第5図に示す。本実施
例では、ラッチ301へデータを書き込むまでの動作は第
2図に実施例と同一である。シフトレジスタ303は、LD
端子の入力信号の立上りでラッチ301からの信号をラッ
チし、CK端子の入力信号の立上りでラッチしたデータを
1ビットづつシフトし、出力6-1に出力する。シフトレ
ジスタ303のLD入力は共通クロック発振器4からの共通
クロックを1/N(N:自然数)分周回路304で分周してお
り、Nをラッチ301でラッチするデータのビット幅と同
一にすることにより、タスクレベルで同期してラッチ30
1へ書き込まれたNビット幅のパラレルデータをシリア
ルデータに変換して、共通クロック発振器4からの共通
クロックに同期して出力6-1に出力することができる。
第6図,第7図,第8図はそれぞれの冗長系の中での
処理の進行を示したものである。第6図,第7図は出力
周期に比べ、アプリケーションタスク処理(コンピュー
タ本来の目的の為の処理)が短時間で終了する場合の処
理の進行の例である。共通クロック4に同期して作られ
た出力のタイミングを示すフレームパルス(第2図の実
施例のラッチ302のCK入力、第3図の実施例のシフトレ
ジスタ303のLD入力に相当する)に同期して開始された
アプリケーションタスク処理で、作成されたデータは次
のフレームパルスの前にラッチ301へ書き込まれ、次の
フレームパルスによって出力される。
第7図は更に多数決処理をソフトウェアにより実施し
ている実施例である。通常、ソフトウェアによる多数決
処理は、冗長系間を結ぶ通信路を介して交換するデータ
を比較して行われる。またソフトウェアによる多数決処
理の方法として、単純な多数決だけではなく、冗長系の
自己診断結果なども考慮したデータ選択の方法なども考
えられる。
第8図は出力周期に比べ、アプリケーションタスク処
理に時間がかかり、処理終了までに複数のフレームパル
スが到来する場合である。この場合には、後の実施例に
述べるランデブー方式を用いて、冗長系間で出力の合意
を採った後に出力すべきデータをラッチ301へ書き込ま
なければならない。
第9図〜第20図は、ランデブー方式の実施例に関する
ものである。
第9図は、マスタはReqに対してAckを返さない実施例
の冗長系間の信号のやり取りを示したものである。ここ
で、処理A、処理Bは別々の処理を一般的に表したもの
で、第6図〜第8図の実施例では、処理Aはアプリケー
ションタスク処理、処理Bは出力すべきデータのラッチ
301への書き込みにそれぞれ相当する。第9図では、ま
ず冗長系1-1が先に処理Aを終了しマスタとなり、他の
スレーブとなった冗長系1-2,冗長系1-3にReqを送り、所
定の数のAckを受け取った後処理Bに移る。この場合、
処理B開始合意成立に必要なAckの数は式(4)及び
(7)で示されている。尚、Req、Ack信号は冗長系の間
を結ぶ冗長系間通信路を介して交換される。また、各冗
長系での処理B開始合意成立のタイミングのずれは、冗
長系間の通信に必要な時間以内となる。
第10図に冗長系1-1と冗長系1-2が同時に処理Aを終了
した場合である。この場合、冗長系1-1と冗長系1-2がス
レーブとなった冗長系1-3にReqを送り、所定の数のAck
を受け取った後処理Bに移る。この場合においても、処
理B開始合意成立に必要なAckの数は式(4)及び
(7)で示されている通りである。
第11図に第9図、第10図の実施例のフローチャートを
示す。自分自身がマスタになるかスレーブになるかは、
合意開始時点ですでに他の冗長系からReqが到着してい
るかどうかで判断できる。自分自身がマスタとなった場
合には、まず他の冗長系にReqを送り、ReqまたはAckの
到着を待ち、式(4)で求められる所定の数のAckを受
け取った後に合意成立となる。また、自分自身がスレー
ブとなった場合にはReqまたはAckの到着を待ち、式
(7)で示される所定の数のAckを受け取った後に合意
成立となる。
第12図に冗長系1-3がシステムダウンした場合の冗長
系間の信号のやり取りの様子を示す。冗長系1-1,冗長系
1-2では、冗長系1-3からのAckを受け取ることができな
いために、このままでは処理B開始合意成立に至ること
ができない。第11図の「Req or Ack待ち」にタイムアウ
ト機能(所定の時間が経過したら、Req,Ackが到着しな
くとも待ち状態をやめ、次のステップへ進む機能)を持
たせることにより、タイムアウトのための所定の時間経
過した後に処理B開始合意成立に至ることができる。
第13図はマスタとなった冗長系もReqを受け取った場
合にAckを返信する場合の冗長系間の信号のやり取りで
ある。この実施例のためのフローチャートを第14図に示
す。この場合の合意成立に必要なReq,Ackの数の関係は
式(9),(11)の通りである。
第9図〜第14図の実施例によりランデブーを行ったば
あいでも、冗長系間に合意成立のタイミングのずれが有
るために第15図に示すようにずれたタイミングの間にフ
レームパルスが入った場合には、同期した出力を得るこ
とはできない。第15図の場合には、冗長系1-1、冗長系1
-3が到来したフレームパルスに同期して出力することが
できるが、冗長系1-2はフレームパルス到来までに合意
成立にいたっていないために、フレームパルスに同期し
て出力することはできない。このような問題を解決する
ために、第16図のようにフレームパルスの直前の所定の
時間だけ合意開始禁止期間を設け、この間はReqを送る
ことを禁止すれば、第15図に示すような際疾いタイミン
グを避けることができる。合意開始禁止期間の長さは、
Reqを送ってから合意が成立するまでにかかる時間にマ
ージンを加えたものとなり、冗長系間の通信に要する時
間及び条件分岐処理に要する時間から定められる。
第17図は第16図の実施例を実現するためのフローチャ
ートである。自分自身がマスタとなった場合には、合意
開始禁止期間外であるときのみ、Reqを送る。
第18図,第19図は、それぞれ第11図、第14図の実施例
において、Req禁止期間(合意開始禁止期間)の他にAck
禁止期間を設けた実施例である。自分自身がマスタにな
りReqを送るときだけでなく、Reqを受け取るときにもAc
k禁止期間内では受け採ったReqを無視する。Ack禁止期
間の長さは、最初のReqをスレーブが受け取ってから合
意成立に致すまでの時間にマージンを加えた時間とすれ
ば良い。本実施例により、暴走した冗長系が誤ったReq
を出した場合でも、誤った合意成立に導かれることを防
止することができる。
第20図,第21図に本実施例を実現するためのインタフ
ェース3-1の構成を示す。M進カウンタ305は共通クロッ
クをカウントすることにより、フレームパルスの時間間
隔をM等分した時間間隔を単位とする時計を構成するこ
とができる。それぞれの冗長系ではこのM進カウンタの
値を参照することにより得た次のフレームパルスまでの
時間間隔と予め定められた合意開始禁止期間、Ack禁止
期間とを比較することにより、第18図,第19図に示す処
理が可能となる。
第22図に本発明を実施するための冗長系1-1の例を示
す。MPU(Micro Processor Unit)102,ROM(Read Only
Memory)103,RAM(Random Access Memory)104、出力イ
ンタフェース3-1、冗長系間インタフェース105はデータ
バス100、アドレスバス及びコントロールバス101で相互
に接続されており、MPU102はROM103またはRAM104に格納
されている命令に従ってデータバス100を通じて、ROM10
3、RAM104、出力インタフェース3-1、冗長系間インタフ
ェース105にデータを書き込んだり読みだしたりして必
要な処理を行う。
MPU102には独立したクロック2-1が供給され、クロッ
ク発振器2-1からのクロックに同期してアドレスバス及
びコントロールバス101へ信号を入出力する。
出力インタフェース3-1には、共通クロック発振器4
からの共通クロックが供給され、その共通クロックに同
期して出力6-1を出す。
冗長系間インタフェース105は冗長系間通信路106を通
じて他の冗長系との間で各種の信号をやり取りする。タ
スクレベルでの同期に必要なReq,Ackといった信号は、
冗長系間インタフェース105を通じて交換する。また、
第7図に示すようなソフトウェアにより多数決を採る場
合には、多数決を採るデータも冗長系間インタフェース
105を通じて交換する。
タスクレベルでの同期に必要なReq,Ackといった信号
を交換する方法には、 他のデータ(例えば、多数決を採るデータ)と同様に
データとして交換する方法 個別の信号線を用いて交換する方法 の2通りの方法がある。
の方法では、予め例えば第23図のように交換するデ
ータの形式を最初の16ビットはデータ種別、次の16ビッ
トはデータ長、データ部は可変長(但し16ビットの倍
数)、最後の16ビットはチェックサムと定めておく。タ
スクレベルでの同期に必要なReq,Ackといった信号を交
換する場合には、データ種別コードはFFFF(16進)、と
し、ReqならばAAAA(16進)を、Ackならば5555(16進)
をデータとして交換すればよい。
それぞれの冗長系1-2〜1-Nとを結ぶためには、第24図
のように送受信部110を1つ設け、切り換えスイッチ111
で、切り換える方法と、第25図のように冗長系1-2〜1-N
ごとに個別に送受信部110-2〜110-Nを設ける方法があ
る。後者の方法の方が同時に複数の冗長系とデータを交
換することができる。
第26図は送受信部110の構成の一例である。MPU102が
アドレスバス101を介して送受信部110のアドレスを選択
し、データバス100を通じて交換すべきデータを出力す
る。アドレスデコーダ112では、送受信部110に割り当て
られたアドレスの値がアドレスバス101から入力される
ことにより送受信部110が選択されたことを検出し、デ
ータバス100に出力されたデータを3ステートバッファ1
13を介して冗長系間通信路106に出力する。
データを受け取る方の送受信部110′では、送受信部1
10から送られたストローブ信号に従い、送られたデータ
をラッチ115によりラッチする。データを受け取る側の
図示しないMPUはアドレスバス101′に送受信部110′の
アドレス値を出力することにより、ラッチ115によりラ
ッチされていたデータを3ステートバッファ116を介し
てデータバス100′に出力させ、データを読み込むこと
ができる。必要に応じて、割込み信号117によりラッチ1
15にデータがラッチされたことをMPUに知らせることも
可能である。
なお、送受信部110,110′には送信部と受信部が含ま
れているが、図中送受信部110の受信部、送受信部110′
の送信部は省略している。
個別の信号線を用いて交換する方法のための冗長系
間インタフェース105の構成を第27図に示す。MPU102が
アドレスバス101にReq,Ackに割り当てられたアドレス値
を出力することにより他の冗長系にReq,Ackを送ること
ができる。アドレスデコーダ122,124はMPU102によりア
ドレスバス101にReq,Ack送信に割り当てられたアドレス
値が出力された場合にそれぞれReq,Ackの信号線をアク
ティヴにし、Req,Ackの信号線は冗長系1-2〜1-Nに接続
されている。
冗長系1-2〜1-Nから送られたReq,Ack信号はRSフリッ
プフロップ125により保持される。RSフリップフロップ1
25により保持されているデータは、MPU102がアドレスバ
ス101にReq,Ack受信に割り当てられたアドレス値を出力
することにより、アドレスデコーダ121、123により出力
モードにされた3ステートバッファ126を介してデータ
バス100に出力され、読み込むことができる。
必要に応じて、割込み信号117によりRSフリップフロ
ップ125にデータが保持されていることをMPUに知らせる
ことも可能である。
次に、今まで説明してきたフォールト・トレラント・
システムの同期に好適な多重化クロック発振器について
説明する。
第29図は、共通クロック発振器4の内部構成を示して
おり、発振器400-1〜400-N中の増幅器410-1〜410-Nとフ
ィードバック要素430-1〜430-Nの間に多数決回路を挿入
し、多重化した発振器の出力の多数決をとり増幅器410-
1〜410-Nの入力にフィードバックさせる実施例である。
増幅器410-1から出た出力は発振器400-1,400-2,……,40
0-N全ての多数決回路へ入力される。増幅器410-2〜410-
Nの出力も、同様に全ての発振器の多数決回路420-1〜42
0-Nに入力される。多数決回路420-1〜420-Nでは、全て
の発振器の増幅器出力の多数決をとり、それらの出力は
各々フィードバック要素430-1〜430-Nを介して増幅器41
0-1〜410-Nに入力される。本実施例の発振器400-1〜400
-Nは、全て同一の発振周波数で式(12),(13)の発振
条件を満足する。また、多数決をとつた出力440-1〜440
-Nは、すべて同位相であるため、同期のとれた信号が増
幅器410-1〜410-3の入力にフィードバックされることに
なり、各発振器の周期が実現する。本実施例により位
相、周波数ともに同一の発振出力404-1〜404-N,404′‐
1〜404′‐Nを得ることができる。
第30図は、発振器を構成する増幅器を2段に分割し、
その間に多数決回路を挿入した実施例である。ここで発
振器は全て同一の発振周波数で式(12),(13)の発振
条件を満足させる。図中、増幅器前段部450-1〜450-Nか
らでた出力を、多数決回路420-1〜420-Nにて多数決をと
つた後、増幅器後段部460-1〜460-Nとフィードバック要
素430-1〜430-Nを通つて増幅器前段部450-1〜450-Nにフ
ィードバックされる。多数決回路420-1〜420-Nの出力47
0-1〜470-Nは、同位相であり、同じ増幅器後段部460-1
〜460-Nとフィードバック要素430-1〜430-Nを経て、同
位相で増幅器前段部450-1〜450-Nに入力される結果、各
発振器出力の同期がとれることになる。
第31図は、第30図の他の回路例である。ここで発振器
400-1〜400-Nは同一の発振周波数で式(12),(13)の
発振条件を満足する。第31図は発振器400-1〜400-Nの途
中出力の多数決を多数決回路420-1〜420-Nでとつてい
る。各発振器中の水晶発振子430-1-1〜430-N-1は、フィ
ードバック要素430-1〜430-Nを構成する。各発振器中の
増幅器は多数決回路420-1〜420-Nをはさんで前段部450-
1〜450-Nと後段部460-1〜460-Nに分かれている。各発振
器中の増幅器前段部450-1〜450-Nからの出力は、多数決
回路420-1〜420-Nにより多数決がとられたのち、同位相
の信号となつて増幅器後段部460-1〜460-Nへ入力され
る。増幅器後段部460-1〜460-Nからの出力は、各々フィ
ードバック要素である水晶発振子480-1〜480-Nを介して
増幅器前段部450-1〜450-Nへフィードバックされる。結
果として、同位相の信号がフィードバックされることに
なるため、各発振器出力の同期が実現する。
第32図は、第28図に於ける多数決回路420-1〜420-Nを
抵抗420-1-1〜420-N-Nによって実現したものである。こ
こでは抵抗を用いているが、他のインピーダンス性素子
を用いてもよい。
多数決回路420-1〜420-Nでは、抵抗420-1-1〜420-N-N
によって、全てのフィードバック要素430-1〜430-Nから
の出力の平均値をとっている。出力の平均値は、常にデ
ータのLレベルとHレベルの間にある。この平均値をイ
ンバータのしきい値(threshold level)で切ったと
き、どちらのレベルをとるかは、過半数の増幅器前段45
0-1〜450-Nが出力しているレベルによって決まる。例え
ば、Lレベルを出力している増幅器前段の数のほうが多
い場合は、インバータ460-1-1〜460-1-Nの出力には、H
レベルの出力が得られる。以上のようにして、多数決回
路420-1〜420-Nは多数決を実現している。
本実施例によれば、多数決回路を抵抗のみで構成でき
るため、回路が非常に簡単になり、故障率の低い回路が
実現できる。
第33図は第1図の実施例において、第32図の実施例を
用いて、共通クロック発振器4を多重化した実施例であ
る。冗長系1-1〜1-Nでは多数決回路8-1〜8-Nにより、多
重化した個個の発振器400-1〜400-Nの発振出力404-1〜4
04-Nの多数決を採り、インタフェース3-1〜3-Nに入力
し、出力6-1〜6-Nを作り出している。本実施例により、
第1図の実施例の特徴である処理の高速性化と、連続性
のほかに、クロック発振器の耐故障性も兼ね備えること
ができる。
以上の実施例においては、フォールト・トレラント・
システムの冗長系間の同期について説明したが、本発明
は、多重システムを構成して並列処理を行う複数の装置
間の同期についても応用し得る。
〔発明の効果〕
本発明により、同期のオーバーヘッドがかからず、し
かもシステム再構成時にも処理が中断することのないフ
ォールト・トレラント・システムを実現することができ
る。
また本発明によれば、簡単な構成で故障の影響の少な
い多重化クロック発振器を実現することができる。
【図面の簡単な説明】
第1図は本発明に係るシステム構成図、第2図,第3図
は出力インタフェース部のブロック図、第4図,第5図
は出力インタフェース部の動作タイミングを表す図、第
6図〜第8図は冗長系の処理の流れを表す図、第9図,
第10図はランデブー時の冗長系間のデータのやり取りを
表す図、第11図はランデブー方式のフローチャート、第
12図,第13図はランデブー時の冗長系間のデータのやり
取りを表す図、第14図はランデブー方式のフローチャー
ト、第15図,第16図はランデブー時の冗長系間のデータ
のやり取りを表す図、第17図〜第19図はランデブー方式
のフローチャート、第20図,第21図は出力インターフェ
ース部のブロック図、第22図は冗長系の構成図、第23図
は交換するデータの形式を表す図、第24図〜第27図は冗
長系間インタフェースの構成例を表す図、第28図は発振
器のブロック図、第29図〜第32図は多重化発振器の回路
図、第33図は本発明に係るシステム構成図、第34図,第
35図は従来例を表す図である。 1-1〜1-N……冗長系、2-1〜2-N……発振器、3-1〜3-N…
…出力インタフェース、4……発振器、5……最終出力
段。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 多田 智 千葉県習志野市東習志野7丁目1番1号 日立京葉エンジニアリング株式会社内 (72)発明者 金子 広忠 東京都千代田区神田駿河台4丁目6番地 株式会社日立製作所内 (56)参考文献 特開 平1−78362(JP,A) 特開 昭50−115459(JP,A) 特開 昭46−2103(JP,A)

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】複数の冗長系からなるフォールト・トレラ
    ント・システムの冗長系間の同期方法において、 前記複数の冗長系のうち、同期処理の前の処理を終えて
    まだ同期処理開始の要求を受信していない冗長系は、自
    己が最先に同期処理に入ったものと見なして同期処理に
    入り、同期処理に入った冗長系(以下マスタと記す)
    が、他の冗長系(以下スレーブと記す)に同期処理開始
    の要求を出し、 スレーブは、同期処理の前の処理を終え次第、マスタか
    らの要求に対して承諾を、他の全ての冗長系に送り、 全ての冗長系では、受け取った要求数に基づいて受け取
    る承諾数を推定し、推定した承諾数の承諾を受け取った
    時点を同期の基準点とすることを特徴とするフォールト
    ・トレラント・システムの冗長系間の同期方法。
  2. 【請求項2】請求項第1項記載のフォールト・トレラン
    ト・システムの冗長系間の同期方法において、 受け取った要求の数と承諾の数の間の関係が、 (1)マスタが他のマスタからの要求に対して承諾を返
    さない場合 (a)自分がマスタのとき Nack=(N−Nreq−1)(Nreq+1) (b)自分がスレーブのとき Nack=(N−Nreq−1)Nreq (2)マスタが他のマスタからの要求に対して承諾を返
    す場合 (a)自分がマスタのとき Nack=(N−2)(Nreq+1)+1 (b)自分がスレーブのとき Nack=(N−2)Nreq ただし、Nreq:要求の数 Nack:承諾の数 N:冗長系の数 であることを特徴とするフォールト・トレラント・シス
    テムの冗長系間の同期方法。
  3. 【請求項3】請求項第1項記載のフォールト・トレラン
    ト・システムの冗長系間の同期方法において、全冗長系
    に共通したクロックにより出力を出力するタイミングの
    直前の一定時間は、マスタは要求を送らないことを特徴
    とするフォールト・トレラント・システムの冗長系間の
    同期方法。
  4. 【請求項4】請求項第1項記載のフォールト・トレラン
    ト・システムの冗長系間の同期方法において、直前の要
    求を受け取ってから一定時間の間に、受け取った要求の
    数に基づいて受け取る承諾の数を推定し、推定した数の
    承諾を受け取らない場合には、前記一定時間経過した時
    点を同期の基準点とすることを特徴とするフォールト・
    トレラント・システムの冗長系間の同期方法。
  5. 【請求項5】複数の冗長系からなるフォールト・トレラ
    ント・システムの冗長系間の同期方法において、 前記複数の冗長系は冗長系毎に独立したクロックで動作
    させ、前記複数の冗長系のインターフェース部のみを全
    冗長系に共通したクロックで動作させ、 前記インタフェース部を除く複数の冗長系の同期に、 前記複数の冗長系のうち、同期処理の前の処理を終えて
    まだ同期処理開始の要求を受信していない冗長系(以下
    マスタと記す)は、自己が最先に同期処理に入ったもの
    と見なして同期処理に入り、他の冗長系(以下スレーブ
    と記す)に同期処理開始の要求を出し、 スレーブは、同期処理の前の処理を終え次第、マスタか
    らの要求に対して承諾を、他の全ての冗長系に送り、 全ての冗長系では、受け取った要求の数から予測される
    受け取る承諾の数を推定し、推定した数の承諾を受け取
    った時点を同期の基準点とする同期方法を用いることを
    特徴とするフォールト・トレラント・システムの冗長系
    間の同期方法。
  6. 【請求項6】複数の発振器を備えた多重化クロック発振
    器において、 前記発振器は、 増幅回路と、 前記増幅回路の入力または出力に接続された発振子と、 前記複数の発振器の増幅回路の出力を入力信号とし当該
    入力信号の平均値をとって多数決を行うインピーダンス
    性素子により構成される多数決回路とを備え、 前記多数決回路の出力を増幅回路へフィードバックする
    ことを特徴とする多重化クロック発振器。
  7. 【請求項7】請求項第6項において、前記インピーダン
    ス性素子は、抵抗器としたことを特徴とする多重化クロ
    ック発振器。
  8. 【請求項8】複数の冗長系からなるフォールト・トレラ
    ント・システムにおいて、 前記複数の冗長系毎に独立したクロック発振器及び、全
    冗長系に共通したクロック発振器を備え、 前記全冗長系に共通したクロック発振器は、 増幅回路と、前記増幅回路の入力または出力に接続され
    た水晶発振器などの周波数特性素子と、前記複数の発振
    器の増幅回路の出力を入力とし、当該入力信号の平均値
    をとって多数決を行う、インピーダンス性素子により構
    成される多数決回路とを各々備えた複数の発振器からな
    り、 前記多数決回路の出力を各増幅回路へフィードバックす
    る多重化クロック発振器であり、 前記複数の冗長系は冗長系毎に独立したクロックで動作
    させ、 前記複数の冗長系のインターフェース部のみを前記共通
    したクロック発振器からの共通クロックで動作させ、 前記インタフェース部を除く複数の冗長系の同期には、 前記複数の冗長系のうち、最先に同期処理の前の処理を
    終えて同期処理に入ったマスタが、他のスレーブに同期
    処理開始の要求を出し、 スレーブは、同期処理の前の処理を終え次第、マスタか
    らの要求に対して承諾を、他の全ての冗長系に送り、 全ての冗長系では、受け取った要求の数から予測される
    受け取る承諾の数を推定し、推定した数の承諾を受け取
    った時点を同期の基準点とする同期処理を行うこと を特徴とするフォールト・トレラント・システム。
JP2064243A 1990-03-16 1990-03-16 フォ―ルト・トレラント・システム及びその冗長系間の同期方法並びに多重化クロツク発振器 Expired - Fee Related JP2510750B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2064243A JP2510750B2 (ja) 1990-03-16 1990-03-16 フォ―ルト・トレラント・システム及びその冗長系間の同期方法並びに多重化クロツク発振器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2064243A JP2510750B2 (ja) 1990-03-16 1990-03-16 フォ―ルト・トレラント・システム及びその冗長系間の同期方法並びに多重化クロツク発振器

Publications (2)

Publication Number Publication Date
JPH03266011A JPH03266011A (ja) 1991-11-27
JP2510750B2 true JP2510750B2 (ja) 1996-06-26

Family

ID=13252513

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2064243A Expired - Fee Related JP2510750B2 (ja) 1990-03-16 1990-03-16 フォ―ルト・トレラント・システム及びその冗長系間の同期方法並びに多重化クロツク発振器

Country Status (1)

Country Link
JP (1) JP2510750B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3161189B2 (ja) * 1993-12-03 2001-04-25 株式会社日立製作所 記憶システム
US5852728A (en) * 1995-01-12 1998-12-22 Hitachi, Ltd. Uninterruptible clock supply apparatus for fault tolerant computer system
JP2002287997A (ja) 2001-03-23 2002-10-04 Kinji Mori 多重系処理方法
JP4753344B2 (ja) * 2004-01-16 2011-08-24 欣司 森 分散コンピュータシステムの同期処理方法
JP4874639B2 (ja) * 2005-12-12 2012-02-15 株式会社東芝 放射線モニタ装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2080251A5 (ja) * 1970-02-27 1971-11-12 Lannionnais Electronique
JPS579253B2 (ja) * 1974-02-19 1982-02-20
DE3235739C2 (de) * 1982-09-27 1984-07-12 Nixdorf Computer Ag, 4790 Paderborn Verfahren zur Vorbereitung der Anschaltung einer von mehreren datenverarbeitenden Einrichtungen an eine zentral taktgesteuerte Mehrfach-Leitungsanordnung

Also Published As

Publication number Publication date
JPH03266011A (ja) 1991-11-27

Similar Documents

Publication Publication Date Title
US7383458B2 (en) Method and device for synchronizing the cycle time of a plurality of TTCAN buses based on determined global time deviations and corresponding bus system
US5117442A (en) Methods and circuits for synchronizing signals in a modular redundant fault tolerant computer system
US6212161B1 (en) Method and apparatus for a fault tolerant software transparent and high data integrity extension to a backplane bus or interconnect
US6334163B1 (en) Elastic interface apparatus and method therefor
EP1262022B1 (en) Method and circuit for transmitting data between pseudo-synchronized channels
JPH05289770A (ja) 同期装置及び同期方法
US5572620A (en) Fault-tolerant voter system for output data from a plurality of non-synchronized redundant processors
JPH0778774B2 (ja) 短待ち時間データ回復装置及びメッセージデータの同期化方法
EP1237282B1 (en) Circuit for the detection of clock signal period abnormalities
WO2001027726A1 (en) System and method for fault-tolerant clock synchronization using interactive convergence
JP2510750B2 (ja) フォ―ルト・トレラント・システム及びその冗長系間の同期方法並びに多重化クロツク発振器
US5781765A (en) System for data synchronization between two devices using four time domains
Thambidurai et al. Clock synchronization in MAFT
US7436917B2 (en) Controller for clock synchronizer
JP3600533B2 (ja) ノード間で時刻(tod)イベントを同期させる方法および装置
JP2744094B2 (ja) ディジタルシステム
JP2538682B2 (ja) 基準クロック源自動切替え方式
Alkassar et al. Correctness of a fault-tolerant real-time scheduler and its hardware implementation
Al-Mekkawy et al. Reliable design of the CAN bit synchronization block
JP4753344B2 (ja) 分散コンピュータシステムの同期処理方法
Gerke Flex Ray: Coding and Decoding, Media Access Control, Frame and Symbol Processing and Serial Interface
JPS5838808B2 (ja) マルチプロセツサシステムにおけるデ−タ転送方式
JP2504615B2 (ja) 信号伝達タイミング制御方式
JPS62131638A (ja) 同期保護回路
JPH0438016B2 (ja)

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees