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

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

Info

Publication number
JPH03266011A
JPH03266011A JP2064243A JP6424390A JPH03266011A JP H03266011 A JPH03266011 A JP H03266011A JP 2064243 A JP2064243 A JP 2064243A JP 6424390 A JP6424390 A JP 6424390A JP H03266011 A JPH03266011 A JP H03266011A
Authority
JP
Japan
Prior art keywords
redundant systems
fault
redundant
tolerant system
synchronizing
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.)
Granted
Application number
JP2064243A
Other languages
English (en)
Other versions
JP2510750B2 (ja
Inventor
Nobuyasu Kanekawa
信康 金川
Koichi Ihara
廣一 井原
Satoshi Tada
智 多田
Hirotada Kaneko
金子 広忠
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

Landscapes

  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)

Abstract

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

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、複数の冗長系からなるフォールト・トレラン
ト・システム及び、その冗長系間の同期方法並びにフォ
ールト・トレラント・システムの同期に好適な多重化ク
ロック発振器に関する。
〔従来の技術〕
コンピュータの利用分野の拡大に伴い、高い信頼性、安
全性を有する分野でのコンピュータの使用が必要になっ
てきている。コンピュータの信頼性を損なう要因として
、ハードウェアの永久故障や電気的雑音や放射線による
一時的なデータエラーなどが挙げられる。
コンピュータ・システムの信頼性を高めるために、シス
テムを構成するコンピュータ・モジュールを多重化して
一部のモジュールで不具合が発生してもシステム全体と
しては正常なモジュールにより動作を継続させる冗長化
の技術、いわゆるフォールト・トレラント技術が広く用
いられている。
(ここで、コンピュータ・モジュールのうち多重化した
一部のモジュールを以下、冗長系と呼ぶ。)フォールト
・トレラント・コンピュータの同期の方法に関して従来
の公知例として、■疎結合方式と、■密結合方式とがあ
る。
■疎結合方式は、文献1 プロシーデインゲス・オブ・
ジ・アイ・イー・イー・イー、vOQ、66゜N11l
 O,0ctober 1978  第1221頁から
第1239頁(^1bert L、 Hopkins、
 Jr、 et al。
“FTMP−A Highly Re1iable F
ault−TolerantMultiprocess
or fot Aircraft″Proc、 of 
IEEE。
Vol、66、 No、10. pp、1221−12
39 (Oct、 197B))で述べられており、第
34図のようにそれぞれの冗長系が独立したクロックで
動作する方式で、冗長系間の同期はソフトウェアにより
タスクレベルで採られることが多い。
■密結合方式は、文献2 プロシーデインゲス・オブ・
ジ・アイ・イー・イー・イー、VoΩ、66゜klo、
 0ctober 1978  第1240頁から第1
255頁(John H,Vensley et al
、 ”5IFT:Design and Analys
is of a Fault−TolerantCom
puter for Aircraft Contri
ol、”Proc、 ofIEEE、 Vol、66、
 No、10. pp、1240−1255(Oct、
  1978))で述べられており、第35図のように
それぞれの冗長系が共通のクロックで動作する方式で、
クロックレベルで同期が採られている。
また■密結合方式では、共通クロックが故障した場合に
システム全体が停止してしまうために文献1.Fig、
4(p、1226)及び1文献3米国特許第4,644
,498号Fig、2aのようにクロックを多重化する
方法が用いられていた。
〔発明が解決しようとする課題〕
上記従来技術のうち、■疎結合方式は冗長系間の同期は
タスクレベルで採られ、冗長系の内部状態は必ずしも同
一である必要はないために、いくつかの冗長系で障害(
故障、−時的データエラー等)が発生した場合には、障
害が発生した冗長系のみをリセットし、他の正常な冗長
系からのデータをもとに正常動作に戻すことができる。
しかしこの方法では出力をハードウェアにより多数決す
るためには、冗長系間の同期を採るための処理が必要と
なり、同期のためのオーバーヘッドがかかってしまい、
処理性能を低下させてしまうといった問題点があった。
一方、■密結合方式は既にクロックレベルで同期してお
り、同期のための特別な処理は必要としないために、同
期のためのオーバーヘッドによる処理性能の低下という
問題は生じない。しかし、いくつかの冗長系で障害が発
生した場合のシステム再構成の際には、すべての冗長系
の内部状態を同一にするために、すべての冗長系をリセ
ットしなければならず、その結果処理が一時中断してし
まうという問題点があった。
また、■密結合方式に用いられる多重化クロックは文献
1 、 Fig、4 (P、 1226)に示すように
クロック発振器間の位相を一致させるためにPLL(P
hase 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以外の部
分はタスクレベルで同期しているため、プロセッサ内部
のレジスター値などの内部状態を一致させる必要が無く
、システム再構成時に全部の冗長系をリセットする必要
が無い。
そのため、他の冗長系の処理を継続したまま障害が発生
した冗長系を通常動作に戻すことができ、処理の連続性
を保つことが可能となる。
次に本発明におけるタスクレベルでの同期の方法(以下
ランデブ一方式と称する)について説明する。
処理が終了次第、処理結果を出力する場合には、処理の
進行のバラツキをなくすために、先に処理の終了した冗
長系は他の冗長系での処理が終了するまで待たなければ
ならない。そのために、先に処理の終了した冗長系はマ
スタとなって同期の主導権を握り、データ8力要求(リ
クエスト、以下Reqと記す)を他の冗長系に送り、他
の冗長系からの承諾(アクナレッジメント、以下Ack
と記す)を待って処理結果の出力に移る(処理結果出力
開始の合意成立)方法を本発明では提供する。
また、他の冗長系はスレーブとなってこれに従う。スレ
ーブとなった冗長系はマスタから送られたReqに対し
てAckを他の全ての冗長系に返送する。
この方法は、処理結果の出力だけでなく次の処理を同期
して開始する場合にも応用できる。
また、この方法は、マルチタスク処理に関して特に有効
である。
タイミングによっては、複数の冗長系がReqを同時に
出すことも考えられるが、ある冗長系において受け取る
Reqの数とAckの数との間には以下に示すような関
係が有る。この関係を用いれば、受け取ったReqの数
から合意成立のためのAckの数を求めることができる
。つまり、所定の数のAekを受け取るまで待てば、合
意が成立し、冗長系間の同期が採れた状態で、処理結果
の出力や次の処理に移ることが可能となる。
上記Reqの数とAckの数の関係は次の通りである。
複数の冗長系がマスタとなった場合、マスタが他のマス
タからのReqを受け取った場合の動作によって、Re
qの数とAckの数の間の関係はは以下のように異なっ
てくる。
(1)マスタ(先に処理を終えた冗長系)はReqに対
してAckを返さない場合 (a)  自分がマスタのとき 自分自身は、自分以外のマスタが出したリクエストを受
け取るから、受け取るリクエストの数N reqは。
Nreq=Nm−□          川(1)ただ
し、N、:マスタの数 となる。
それぞれのスレーブ(マスタにならなかった冗長系)は
、マスタから受け取ったリクエストの数だけアクナレッ
ジを出すから、受け取るアクナレッジの数は、 Nack= Ns−Nm           ・・・
(2)ただし、Nsニスレープの数 となる。マスタ以外の冗長系はスレーブであるから、 N5=N−N、                ・・
・(3)となる。
二二で、式(1)、 (2)、 (3)から、Nack
=(N−Nreq−1)(Nreq+1)  −(4)
となる。
(b)  自分がスレーブのとき 自分自身は全てのマスタの出したリクエストを受け取る
から、 Nreq= Nm              −(5
)となる。
自分自身は、自分以外のスレーブの出したアクナレッジ
を受け取り、それぞれのスレーブ(マスタにならなかっ
た冗長系)は、マスタから受け取ったリクエストの数だ
けアクナレッジを出すから、受け取るアクナレッジの数
は、Naek= (Ns −1)・N、       
  −(6)となる。ここで1式(3)、 (5)、 
(6)から。
Nack= (N −Nreq −1)Nreq   
  −(7)となる。
(2)マスタ(先に処理を終えた冗長系)はReqに対
してAckを返す場合 (a)  自分がマスタのとき それぞれの冗長系は、マスタがら受け取った、リクエス
トの数だけアクナレッジを出すがら、受け取るアクナレ
ッジの数は、 Nack= Na−N、+ (N、−1)(N、 −1
) ”・(8)となる。
ここで、式(1)、 (3)、 (8)から。
Nack=(N −2)(Nreq+ 1)+ 1  
 −(9)となる。
(b)  自分がスレーブのとき 自分自身は、自分以外のスレーブの出したアクナレッジ
を受け取り、それぞれの冗長系は、マスタから受け取っ
たリクエストの数だけアクナレッジを出すから、受け取
るアクナレッジの数は、 Nack= (Ns −1)・Nm+ N−(N、 −
1)−(10)となる。ここで9式(3)、 (5)、
 (10)がら。
Nack= (N −2)Nreq        −
(11)となる。
次に、本発明におけるクロックの多重化について説明す
る。
一般にクロック発振器は第28図のように表現すること
ができる。
ここで、G(jω)、H(jω)はそれぞれ増幅器40
1、フィードバック要素402の伝達関数を表わす。
第28図に於いて以下の発振条件を満足すれば、発振を
継続させることができる。
IG(jω。)・H(jωD)1≧1     ・・・
(12)l G (jk e )・H(jω。)=0°
      ・・・(13)ただし、 j:虚数単位 ω。=2πf、、  fe:発振周波数本発明は、複数
の発振器に於いて、各々同一の発振周波数で上記発振条
件を満足させ、かつ同じ信号をフィードバックすること
により、周波数、位相ともに一致した発振出力を得るも
のである。
そこで、これらの発振出力の多数決をとれば、耐故障性
のある発振出力を得ることができる。
各々の発振器に於いて、同一の信号をフィードバックす
るためには、文献3のように各々の発振出力の多数決を
とったものを増幅器の入力にフィードバックすれば良い
。ここで、第29図のように入力信号を抵抗420−1
−1〜420−N−Nによって一点に結合した場合、結
合点の電位はただし、■H: NH: vL : NL = Hレベルの電位 Hレベルである入力の数 Lレベルの電位 Lレベルである入力の数 となる。
ここで、 NH>N/2 ならば、 V > (VH+VL) / 2 NH<N/2 ならば、 V < (VH+VL) / 2、 ・・・(15) ・・・(16) ・・・(17) ・・・(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で出力
の多数決を採ることができ、多数決の結果をシステムの
最終比カフとすることができるわ本実施例によれば、出
力インタフェースがクロックレベルで同期しているため
に、出力に際し同期のためのオーバーヘットが無く高速
のデータ出力が可能となる。さらに、個々の冗長系1−
1〜1−Nのインタフェース部3−1〜3−N以外の部
分はタスクレベルで同期しているため、プロセッサ内部
のレジスター値などの内部状態を一致させる必要が無く
、システム再構成時に全部の冗長系をリセットする必要
が無い。そのため、他の冗長系の処理を継続したまま障
害が発生した冗長系を通常動作に戻すことができ、処理
の連続性を保つことが可能となる。
以下、出力インターフェースが共通クロックにより動作
する実施例について説明するが、アナログ信号をAD変
換器にとり込む場合のように、入力信号の同期をとる必
要のあるときに、共通クロックで入力インターフェース
を動作させてもよい。
第2図、第3図は出力インタフェース3−1の実施例で
ある。第2図は出力6−1がパラレル信号である場合の
実施例である。本実施例のタイミングを第4図に示す。
ラッチ301へのデータ書き込みはタスクレベルで同期
して実行される。書き込みタイミングはアドレスデコー
ダ300によりアドレスデータ及びデータストローブ信
号から生成され、ラッチ301のCK端子へ入力される
ラッチ301はCK大入力立上りエツジでデータをラッ
チし、ラッチ302へと出力する。ラッチ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でラッチする
データのビット幅と同一にすることにより、タスクレベ
ルで同期してランチ301へ書き込まれたNビット幅の
パラレルデータをシリアルデータに変換して、共通クロ
ック発振器4からの共通クロックに同期して出力6−1
に出力することができる。
第6図、第7図、第8図はそれぞれの冗長系の中での処
理の進行を示したものである。第6図。
第7図は出力周期に比べ、アプリケーションタスク処理
(コンピュータ本来の目的の為の処理)が短時間で終了
する場合の処理の進行の例である。
共通クロック4に同期して作られた出力のタイミングを
示すフレームパルス(第2図の実施例のラッチ302の
CK大入力第3図の実施例のシフトレジスタ303のL
D大入力相当する)に同期して開始されたアプリケーシ
ョンタスク処理で、作成されたデータは次のフレームパ
ルスの前にラッチ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開始合意成立に必要なAc
kの数は式(4)及び(7)で示されている。尚、Re
q、Ack信号は冗長系の間を結ぶ冗長系間通信路を介
して交換される。また、各冗長系での処理B開始合意成
立のタイミングのずれは、冗長系間の通信に必要な時間
以内となる。
第10図は冗長系1−1と冗長系1−2が同時に処理A
を終了した場合である。この場合、冗長系1−1と冗長
系1−2がスレーブとなった冗長系1−3にReqを送
り、所定の数のAckを受け取った後処理Bに移る。、
この場合においても、処理B開始合意成立に必要なAc
kの数は式(4)及び(7)で示されている通りである
第11図に第9図、第10図の実施例のフローチャート
を示す、自分自身がマスタになるがスレーブになるかは
、合意開始時点ですでに他の冗長系からReqが到着し
ているがどうがで判断できる。自分自身がマスタとなっ
た場合には、まず他の冗長系にReqを送り、Reqま
たはAckの到着を待ち、式(4)で求められる所定の
数のAckを受け取った後に合意成立となる。また、自
分自身がスレーブとなった場合にはReqまたはAck
の到着を待ち、式(7)で示される所定の数のAckを
受け取った後に合意成立となる。
第12図に冗長系1−3がシステムダウンした場合の冗
長系間の信号のやり取りの様子を示す。
冗長系l−1,冗長系1−2では、冗長系1−3からの
Ac、kを受け取ることができないために、このままで
は処理B開始合意成立に至ることができない。第11図
のrReq or Ack待ち」にタイムアウト機能(
所定の時間が経過したら、Re q。
Ackが到着しなくとも待ち状態をやめ、次のステップ
へ進む機能)を持たせることにより、タイムアウトのた
めの所定の時間経過した後に処理B開始合意成立に至る
ことができる。
第13図はマスタとなった冗長系もReqを受け取った
場合にAckを返信する場合の冗長系間の信号のやり取
りである。この実施例のためのフローチャートを第14
図に示す。この場合の合意成立に必要なRe q、Ac
kの数の関係は式(9)。
(11)の通りである。
第9図〜第14図の実施例によりランデブーを行ったば
あいでも、冗長系間に合意成立のタイミングのずれが有
るために第15図に示すようにずれたタイミングの間に
フレームパルスが入った場合には、同期した出力を得る
ことはできない。第15図の場合には、冗長系1−1、
冗長系1−3が到来したフレームパルスに同期して出力
することができるが、冗長系1−2はフレームパルス到
来までに合意成立にいたっていないために、フレームパ
ルスに同期して出力することはできない。
このような問題を解決するために、第16図のようにフ
レームパルスの直前の所定の時間だけ合意開始禁止期間
を設け、この間はReqを送ることを禁止すれば、第1
5図に示すような際疾いタイミングを避けることができ
る。合意開始禁止期間の長さは、Reqを送ってから合
意が成立するまでにかかる時間にマージンを加えたもの
となり、冗長系間の通信に要する時間及び条件分岐処理
に要する時間から定められる。
第17図は第16図の実施例を実現するためのフローチ
ャートである。自分自身がマスタとなった場合には、合
意開始禁止期間外であるときのみ、Reqを送る。
第18図、第19図は、それぞれ第11図、第14図の
実施例において、Req禁止期間(合意開始禁止期間)
の他にAck禁止期間を設けた実施例である。自分自身
がマスタになりReqを送るときだけでなく、Reqを
受け取るときにもA c k禁止期間内では受け採った
Reqを無視する。Ack禁止期間の長さは、最初のR
eqをスレーブが受け取ってから合意成立に致すまでの
時間にマージンを加えた時間とすれば良い。本実施例に
より、暴走した冗長系が誤ったReqを出した場合でも
、誤った合意成立に導かれることを防止することができ
る。
第20図、第21図に本実施例を実現するためのインタ
フェース3−1の構成を示す。M進カウンタ305は共
通クロックをカウントすることにより、フレームパルス
の時間間隔をM等分した時間間隔を単位とする時計を構
成することができる。
それぞれの冗長系ではこのM進カウンタの値を参照する
ことにより得た次のフレームパルスまでの時間間隔と予
め定められた合意開始禁止期間、Ack禁止期間とを比
較することにより、第18図、第19図に示す処理が可
能となる。
第22図に本発明を実施するための冗長系1−1の例を
示す。M P U (Micro Processor
 IJnit)102、 ROM (Read 0nl
y Memory) 103゜RAM (Randoi
* Access Memory)  104、出力イ
ンタフェース3−1、冗長系間インタフェース105は
データバス100、アドレスバス及びコントロールバス
101で相互に接続されており、MPU 102はRO
M103またはRAM104に格納されている命令に従
ってデータバス100を通じて、ROM 103、RA
M104、出力インタフェース3−1、冗長系間インタ
フェース105にデータを書き込んだり読みだしたりし
て必要な処理を行う。
MPU 102には独立したクロック2−1が供給され
、クロック発振器2−1からのクロックに同期してアド
レスバス及びコントロールバス101へ信号を入出力す
る。
出力インタフェース3−1には、共通クロック発振器4
からの共通クロックが供給され、その共通クロックに同
期して出力6−1を出す。
冗長系間インタフェース105は冗長系間通信路106
を通じて他の冗長系との間で各種の信号をやり取りする
。タスクレベルでの同期に必要なRe q+ A c 
kといった信号は、冗長系間インタフェース105を通
じて交換する。また、第7図に示すようなソフトウェア
により多数決を採る場合には、多数決を採るデータも冗
長系間インタフェース105を通じて交換する。
タスクレベルでの同期に必要なRe q、 Ac kと
いった信号を交換する方法には、 ■ 他のデータ(例えば、多数決を採るデータ)と同様
にデータとして交換する方法 ■ 個別の信号線を用いて交換する方法の2通りの方法
がある。
■の方法では、予め例えば第23図のように交換するデ
ータの形式を最初の16ビツトはデータ1別、次の16
ビツトはデータ長、データ部は可変長(但し16ビツト
の倍数)、最後の16ビツトはチエツクサムと定めてお
く。タスクレベルでの同期に必要なRe qt A c
 kといった信号を交換する場合には、データ種別コー
ドは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の構成の一例である。
MPtJ I O2がアドレスバス101を介して送受
信部110のアドレスを選択し、データバス100を通
じて交換すべきデータを出力する。アドレスデコーダ1
12では、送受信部110に割り当てられたアドレスの
値がアドレスバス101から入力されることにより送受
信部110が選択されたことを検出し、データバス10
0に出力されたデータを3ステートバツフア113を介
して冗長系間通信路106に出力する。
データを受け取る方の送受信部110′では、送受信部
110から送られたストローブ信号に従い、送られたデ
ータをラッチ115によりラッチする。データを受け取
る側の図示しないMPtJはアドレスバス101′に送
受信部110′のアドレス値を出力することにより、ラ
ッチ115によりラッチされていたデータを3ステート
バツフア116を介してデータバス100′に出力させ
、データを読み込むことができる。必要に応じて、割込
み信号117によりラッチ115にデータがラッチされ
たことをMPUに知らせることも可能である。
なお、送受信部110,110’ には送信部と受信部
が含まれているが、図中送受信部110の受信部、送受
信部110′の送信部は省略している。
■個別の信号線を用いて交換する方法のための冗長系間
インタフェース105の構成を第27図に示す、MPU
102がアドレスバス101にReq、Ackに割り当
てられたアドレス値を出力することにより他の冗長系に
Req、Ackを送ることができる。アドレスデコーダ
122゜124はMPU102によりアドレスバス10
1にReq、Ack送信に割り当てられたアドレス値が
出力された場合にそれぞれRe q、Ackの信号線を
アクティブにし、Req、Ackの信号線は冗長系1−
2〜1−Nに接続されている。
冗長系1−2〜1−Nから送られたReq。
Ack信号はRSフリップフロップ125により保持さ
れる。RSフリップフロップ125により保持されてい
るデータは、MPU102がアドレスバス101にRe
q、Ack受信に割り当てられたアドレス値を出力する
ことにより、アドレスデコーダ121,123により出
力モードにされた3ステートバツフア126を介してデ
ータバス100に出力され、読み込むことができる。
必要に応じて、割込み信号117によりRSフリップフ
ロップ125にデータが保持されていることをMPtJ
に知らせることも可能である。
次に、今まで説明してきたフォールト・トレラント・シ
ステムの同期に好適な多重化クロック発振器について説
明する。
第29図は、共通クロック発振器4の内部構成を示して
おり、発振器400−1〜400−N中の増幅器410
−1〜410−Nとフィードバック要1R430−1〜
430−N(7)?111LnIllk決回11&を挿
入し、多重化した発振器の出力の多数決をとり増幅器4
10−1〜410−Nの入力にフィードバックさせる実
施例である。増幅器410−1から出た出力は発振器4
00−1,400−2゜・・・・・・、400−N全て
の多数決回路へ入力される。
増幅器410−2〜410−Nの出力も、同様に全ての
発振器の多数決回路420−1〜42〇−Nに入力され
る。多数決回路420−1〜42〇−Nでは、全ての発
振器の増幅器出力の多数決をとり、それらの出力は各々
フィードバック要素430−1〜430−Nを介して増
幅器410−1〜410−Nに入力される。本実施例の
発振器400−1〜400−Nは、全て同一の発振周波
数で式(12)、 (13)の発振条件を満足する。ま
た、多数決をとった出力440−1〜440−Nは、す
べて同位相であるため、同期のとれた信号が増幅器41
0−1〜410−3の入力にフィードバックされること
になり、各発振器の同期が実現する。本実施例により位
相、周波数ともに同一の発振出力404−1〜404−
N、404’ −1〜404’ −Nを得ることができ
る。
第30図は、発振器を構成する増幅器を2段に分割し、
その間に多数決回路を挿入した実施例である。ここで発
振器は全て同一の発振周波数で式(12L (13)の
発振条件を満足させる。図中、増幅器前段部450−1
〜450−Nからでた出力を、多数決回路420−1〜
420−Nにて多数決をとった後、増幅器後段部460
−1〜460−Nとフィードバック要素430−1〜4
30−Nを通って増幅器前段部450−1〜450−H
にフィードバックされる。多数決回路420−1〜42
0−Nの出力470−1〜470−Nは、同位相であり
、同じ増幅器後段部460−1〜460−Nとフィード
バック要素430−1〜430−Nを経て、同位相で増
幅器前段部450−1〜450−Nに入力される結果、
各発振器出力の同期がとれることになる。
第31図は、第30図の他の回路例である。ここで発振
器400−1〜400−Nは同一の発振周波数で式(1
2)、 (13)の発振条件を満足する。第31図は発
振器400−1〜400−Nの途中出力の多数決を多数
決回路420−1〜420−Nでとっている。各発振器
中の水晶発振子43〇−1−1〜430−N−1は、フ
ィードバック要素430−1〜430−Nを構成する。
各発振器中の増幅器は多数決回路420−1〜420−
Nをはさんで前段部450−1〜450−Nと後段部4
60−1〜460−Nに分かれている。各発振器中の増
幅器前段部450−1〜450−Nからの出力は、多数
決回路420−1〜420−Nにより多数決がとられた
のち、同位相の信号となって増幅器後段部460−1〜
460−Nへ入力される。増幅器後段部460−1〜4
60−Nからの出力は、各々フィードバック要素である
水晶発振子480−1〜480−Nを介して増幅器前段
部450−1〜450−Nヘフィードバックされる。結
果として、同位相の信号がフィードバックされることに
なるため、各発振器出力の同期が実現する。
第32図は、第28図に於ける多数決回路420−1〜
420−Nを抵抗420−1−1〜420−N−Hによ
って実現したものである。ここでは抵抗を用いているが
、他のインピーダンス性素子を用いてもよい。
多数決回路420−1〜420−Nでは、抵抗420 
1 1〜420  N −N ニヨッテ、全てのフィー
ドバック要素430−1〜430−Nからの出力の平均
値をとっている。出力の平均値は、常にデータのLレベ
ルとHレベルの間にある。この平均値をインバータのし
きい値(thresholdlevel)で切ったとき
、どちらのレベルをとるかは、過半数の増幅器前段45
0−1〜450−Nが出力しているレベルによって決ま
る。例えば、Lレベルを出力している増幅器前段の数の
ほうが多い場合は、インバータ460−1−1〜460
−1−Nの出力には、Hレベルの出力が得られる。以上
のようにして、多数決回路420−1〜420−Nは多
数決を実現している。
本実施例によれば、多数決回路を抵抗のみで構成できる
ため1回路が非常に簡単になり、故障率の低い回路が実
現できる。
第33図は第1図の実施例において、第32図の実施例
を用いて、共通クロック発振器4を多重化した実施例で
ある。冗長系1−1〜1−Nでは多数決回路8−1〜8
−Hにより、多重化した測値の発振器400−1〜40
0−Nの発振出力404−1〜404−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図は多重化発振器の回路図、第3
3図は本発明に係るシステム構成図、第34図。 第35図は従来例を表す図である。 1−1〜1−N・・・冗長系、2−1〜2−N・・・発
振器、3−1〜3−N・・・出力インタフェース、4・
・・第1図 −N 73− 第 2 図 第 図 第 図 第 図 フレームパルス フレームパルス 第 9 第 0 図 図 !処理BISll始合意成立 第 1 図 第12図 第13図 第15図 第16図 第14図 第 7 図 第18図 第 0 図 第 9 図 第 2 図 第 26 図 第 4 図 第 5 図 箪 7 図 第 28 図 4o2:フィートハック要素 第 0 図 第 9 図 第 1 図 第 32 図 第 4 図 −N 第 3 図 第 5 図 3−N/

Claims (1)

  1. 【特許請求の範囲】 1、複数の冗長系からなるフォールト・トレラント・シ
    ステムにおいて、前記複数の冗長系毎に独立したクロッ
    ク発振器及び、全冗長系に共通したクロック発振器を備
    え、前記共通したクロック発振器からの共通クロックを
    前記全冗長系の同期に使用することを特徴とするフォー
    ルト・トレラント・システム。 2、複数の冗長系からなり、前記複数の冗長系毎に独立
    したクロック発振器を備えたフォールト・トレラント・
    システムにおいて、前記複数の冗長系に共通したクロッ
    クにより動作するインタフェース部を前記複数の冗長系
    毎に備えたことを特徴とするフォールトトレラントシス
    テム。 3、複数の冗長系からなるフォールト・トレラント・シ
    ステムの冗長系間の同期方法において、前記複数の冗長
    系は、冗長系毎に独立したクロック及び、全冗長系に共
    通したクロック双方で動作することを特徴とするフォー
    ルト・トレラント・システムの冗長系間の同期方法。 4、複数の冗長系からなるフォールト・トレラント・シ
    ステムの冗長系間の同期方法において、前記複数の冗長
    系のインタフェース部を全冗長系に共通したクロックで
    動作させ、前記複数の冗長系のインタフェース部以外の
    部分を冗長系毎に独立したクロックで動作させることを
    特徴とするフォールト・トレラント・システムの冗長系
    間の同期方法。 5、請求項第4項において、前記インタフェース部は出
    力インタフェース部としたことを特徴とするフォールト
    ・トレラント・システムの冗長系間の同期方法。 6、多重システムを構成して並列処理を行う複数の装置
    間の同期方法において、前記複数の装置は、各装置毎に
    独立したクロック及び、各装置に共通したクロック双方
    で動作することを特徴とする装置間の同期方法。 7、複数の冗長系からなるフォールト・トレラント・シ
    ステムの冗長系間の同期方法において、前記複数の冗長
    系のうち、最先に同期処理の前の処理を終えて同期処理
    に入った冗長系(以下マスタと記す)が、他の冗長系(
    以下スレーブと記す)に要求を出し、 スレーブは、同期処理の前の処理を終え次第、マスタか
    らの要求に対して承諾を、他の全ての冗長系に送り、 全ての冗長系では、受け取った要求の数と承諾の数の間
    に定められた関係が成立した時点を同期の基準点とする
    ことを特徴とするフォールト・トレラント・システムの
    冗長系間の同期方法。 8、請求項第7項記載のフォールト・トレラント・シス
    テムの冗長系間の同期方法において、受け取った要求の
    数と承諾の数の間の関係が、(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:冗長系の数 であることを特徴とするフォールト・トレラント・シス
    テムの冗長系間の同期方法。 9、請求項第7項記載のフォールト・トレラント・シス
    テムの冗長系間の同期方法において、全冗長系に共通し
    たクロックにより出力を出力するタイミングの直前の一
    定時間は、マスタは要求を送らないことを特徴とするフ
    ォールト・トレラント・システムの冗長系間の同期方法
    。 10、請求項第7項記載のフォールト・トレラント・シ
    ステムの冗長系間の同期方法において、直前の要求を受
    け取ってから一定時間の間に、受け取った要求の数と承
    諾の数の間に定められた関係が成立しない場合には、前
    記一定時間経過した時点を同期の基準点とすることを特
    徴とするフォールト・トレラント・システムの冗長系間
    の同期方法。 11、請求項第4項記載のフォールト・トレラント・シ
    ステムの冗長系間の同期方法において、前記複数の冗長
    系のインタフェース部を除く部分の同期に、 マスタがスレーブに要求を出し、スレーブは、同期処理
    の前の処理を終え次第、マスタからの要求に対して承諾
    を、他の全ての冗長系に送り、全ての冗長系では、受け
    取った要求の数と承諾の数の間に定められた関係が成立
    した時点を同期の基準点とする同期方法を用いることを
    特徴とするフォールト・トレラント・システムの冗長系
    間の同期方法。 12、複数の発振器からの発信出力の多数決をとる多数
    決回路を備えた多重化クロック発振器において、前記多
    数決回路はインピーダンス性素子からなり、インピーダ
    ンス性素子で入力信号の平均値をとって多数決を行う多
    数決回路を備えたことを特徴とする多重化クロック発振
    器。 13、請求項第12項において、前記インピーダンス性
    素子は、抵抗器としたことを特徴とする多重化クロック
    発振器。 14、請求項第1項記載のフォールト・トレラント・シ
    ステムにおいて、前記全冗長系に共通したクロック発振
    器は、 複数の発振器からの発信出力の多数決をとる多数決回路
    を備えた多重化クロック発振器であり、 前記多数決回路はインピーダンス性素子からなることを
    特徴とするフォールト・トレラント・システム。
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 true JPH03266011A (ja) 1991-11-27
JP2510750B2 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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5588144A (en) * 1993-12-03 1996-12-24 Hitachi, Ltd. Storage system having a bus common to a plurality of kinds of groups of packages
US5852728A (en) * 1995-01-12 1998-12-22 Hitachi, Ltd. Uninterruptible clock supply apparatus for fault tolerant computer system
JP2005202779A (ja) * 2004-01-16 2005-07-28 Kinji Mori 分散コンピュータシステムの同期処理方法
JP2007163207A (ja) * 2005-12-12 2007-06-28 Toshiba Corp 放射線モニタ装置
US7328235B2 (en) 2001-03-23 2008-02-05 Ihi Aerospace Co., Ltd. Multiple processing method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS462103A (ja) * 1970-02-27 1971-10-11
JPS50115459A (ja) * 1974-02-19 1975-09-10
JPS6478362A (en) * 1982-09-27 1989-03-23 Nixdorf Computer Ag One connection preparation of several data processors for central clock control multi-line system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS462103A (ja) * 1970-02-27 1971-10-11
JPS50115459A (ja) * 1974-02-19 1975-09-10
JPS6478362A (en) * 1982-09-27 1989-03-23 Nixdorf Computer Ag One connection preparation of several data processors for central clock control multi-line system

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5588144A (en) * 1993-12-03 1996-12-24 Hitachi, Ltd. Storage system having a bus common to a plurality of kinds of groups of packages
US5781767A (en) * 1993-12-03 1998-07-14 Hitachi, Ltd. Package blocking method for a storage system having a bus common to a plurality of kinds of groups of packages
US6199175B1 (en) 1993-12-03 2001-03-06 Hitachi, Ltd. Package blocking method for a storage system having a bus common to a plurality of kinds of groups of packages
US5852728A (en) * 1995-01-12 1998-12-22 Hitachi, Ltd. Uninterruptible clock supply apparatus for fault tolerant computer system
US7328235B2 (en) 2001-03-23 2008-02-05 Ihi Aerospace Co., Ltd. Multiple processing method
JP2005202779A (ja) * 2004-01-16 2005-07-28 Kinji Mori 分散コンピュータシステムの同期処理方法
JP2007163207A (ja) * 2005-12-12 2007-06-28 Toshiba Corp 放射線モニタ装置

Also Published As

Publication number Publication date
JP2510750B2 (ja) 1996-06-26

Similar Documents

Publication Publication Date Title
US6212161B1 (en) Method and apparatus for a fault tolerant software transparent and high data integrity extension to a backplane bus or interconnect
US7290169B2 (en) Core-level processor lockstepping
EP0826179B1 (en) Source synchronous clocked data link
US7237144B2 (en) Off-chip lockstep checking
US6334163B1 (en) Elastic interface apparatus and method therefor
EP0186420B1 (en) Communication data systems
US7821919B2 (en) Data processing apparatus and data processing method
US7848232B2 (en) Time division multiplexed communication bus and related methods
JPH055711Y2 (ja)
JP2500973B2 (ja) 交換接続システム
EP0188111A2 (en) Data stream synchronisers
EP0123507A1 (en) Data communication system and apparatus
US20050240829A1 (en) Lockstep error signaling
JPH05289770A (ja) 同期装置及び同期方法
US4700346A (en) Self-checking, dual railed, leading edge synchronizer
JP2948837B2 (ja) 通信リンク・インターフェースの初期化および同期方法および通信リンクの受信機
JPH03266011A (ja) フォールト・トレラント・システム及びその冗長系間の同期方法並びに多重化クロツク発振器
US6542999B1 (en) System for latching first and second data on opposite edges of a first clock and outputting both data in response to a second clock
JP3600533B2 (ja) ノード間で時刻(tod)イベントを同期させる方法および装置
JP3217993B2 (ja) パリティチェック回路
JP2750314B2 (ja) 非バッファ式交換装置
JP2740492B2 (ja) Lsi間非同期データ転送回路
JP3488378B2 (ja) シリアルデータ通信装置およびシリアルデータ通信装置のエラーチェック方法
Soloway et al. Distributed network protocols for changing topologies: A counterexample
JPS6044713B2 (ja) デ−タ転送制御方式

Legal Events

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