(57)【特許請求の範囲】
【請求項１】
２つのプロセッサ装置の一方のプロセッサ装置が実作業につき他方のプロセッサ装置が待機し、これら２つのプロセッサ装置により二重化される二重化制御システムにおいて、
前記２つのプロセッサ装置は、前記一方のプロセッサ装置からみて送信側および受信側からなる複数のシリアルバスであって、それぞれさらに二重化されたシリアルバスにより接続され、
制御演算及び相手側のプロセッサ装置とのアクセスを実行する上位コントローラと、
シリアルデータの送信を制御する二重化された送信コントローラと、
シリアルデータの受信を制御する二重化された受信コントローラと、
受信データの正当性を診断する二重化された診断手段と、
を有し、
前記送信コントローラ及び受信コントローラは、他のプロセッサ装置からのアクセスがなく前記シリアルバスを使用していない状態でも該シリアルバスの状態を確認するためのバス診断フレームであって、前記シリアルバスが正常であるか異常であるかのバス状態情報を付加したバス診断フレームを常に送受信し、
前記シリアルバスのうち前記一方のプロセッサ装置からみて送信側に異常がある場合、受信した前記バス診断フレームのバス状態情報により異常検出した受信コントローラは、自己側の上位コントローラに異常を通知し、
前記バス状態情報は、前記送信側のシリアルバスを介して送信されたバス診断フレームに基づき前記他方のプロセッサ装置の診断手段により異常検出されて当該送信側のシリアルバスが異常であるとのバス状態情報であることを特徴とする二重化制御システム。
【請求項２】
前記バス診断フレームは、ＣＲＣが付加され、
前記受信側のシリアルバスに異常がある場合、相手側のプロセッサ装置から受信したバス診断フレームに基づき診断手段で確認されたＣＲＣにより異常検出した受信コントローラは、自己側の上位コントローラに異常を通知するとともに、自己側の送信コントローラに異常を通知し、該送信コントローラは、前記送信側のシリアルバスを介して常時送信している前記バス診断フレーム内のバス状態情報を当該シリアルバスが異常であるバス状態情報として相手側のプロセッサ装置に送信することを特徴とする請求項１記載の二重化制御システム。
【請求項３】
前記上位コントローラは、前記受信コントローラからシリアルバスの異常が通知されると、データの経路を他方のシリアルバスに切り替えることを特徴とする請求項１又は２記載の二重化制御システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、信頼性を向上させるために運転側と待機側を適宜切り換える二重化制御システムに関し、特に二重化されたプロセッサ装置間の通信の異常検出を向上させた二重化制御システムに関するものである。
【背景技術】
【０００２】
二重化されたプロセッサ装置間の通信は、それぞれがさらに二重化されたバックボードバスを介して行われ、一方のバスによる通信が異常の場合は、他方のバスに切り換えることで通信の信頼性を高めている。
【０００３】
図４は従来のプロセッサ装置間の通信方法の説明図である。
二重化制御システムは、プロセッサ装置１０とプロセッサ装置２０により二重化され、それぞれがさらに二重化されたパラレルバス３１ａ，３１ｂで接続されており、互いにアクセスし、データの等値化、処理の同期等を行う。
上位コントローラ１１，２１は、演算及びメモリや相手側のプロセッサ装置等とのアクセスを実行するプロセッサ（図示せず）と、メモリ（図示せず）と、プロセッサインターフェース、メモリインターフェース及びプロセッサ装置間インターフェースのコントロールをするインターフェースコントローラ（図示せず）等からなる。
【０００４】
プロセッサ装置１０の上位コントローラ１１がプロセッサ装置２０の上位コントローラ２１に対してアクセスを行う場合、通常、バックボードバスコントローラ１２ａに対してアクセス要求をかける。要求を受けたバックボードバスコントローラ１２ａは、バックボードのパラレルバス３１ａを経由してプロセッサ装置２０のバックボードバスコントローラ２２ａに要求を出す。バックボードバスコントローラ２２ａは、アクセスが正常であることをパリティチェックで確認してアクセス要求を上位コントローラ２１にかける。
【０００５】
上位コントローラ２１は、バックボードバスコントローラ２２ａに対し要求された応答データを出力し、バックボードバスコントローラ２２ａは、パラレルバス３１ａを経由して応答データをプロセッサ装置１０のバックボードバスコントローラ１２ａに渡す。
バックボードバスコントローラ１２ａは、パリティチェックを行い、データが正常であれば、応答データを上位コントローラ１１に出力してアクセスが終了する。
【０００６】
プロセッサ装置２０が非実装の場合や、パリティでは検出できないパラレルバス３１ａの異常でバックボードバスコントローラ２２ａがバックボードバスコントローラ１２ａからの要求を認識できない場合、又はバックボードバスコントローラ１２ａがバックボードバスコントローラ２２ａからの応答を認識できない場合、バックボードバスコントローラ１２ａは要求に対する応答がないため、タイムアップするまで要求を継続させる。
タイムアップ後、バックボードバスコントローラ１２ａは上位コントローラ１１に対してエラーとなったことを通知し、上位コントローラ１１は、もう片方のパラレルバス３１ｂを使用して再試行アクセスを行う。
【０００７】
二重化バックボードバスの片側に異常が発生して通信が行えなくなった場合にも、プロセッサカード間の通信負荷の増大を制御した二重化制御装置を示したものとして、例えば特許文献１に記載されたものがあった。
【０００８】
【特許文献１】特開平１０−１６１８９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
片側のプロセッサ装置が実装されていない場合、動作中にいつ実装されても二重化動作を開始できるようにするため、常に相手側のプロセッサ装置にアクセスを行う必要がある。また、プロセッサ装置が二重化時にバックボードバスに異常があった場合、そのバスが回復したかどうかを確認するために、そのバスを使ってアクセスを行う必要がある。そのため、アクセスを行う度にタイムアップ時間分無駄な時間が発生し、プロセッサ装置全体のパフォーマンスを落としてしまうという問題点があった。
【００１０】
本発明は上述した問題点を解決するためになされたものであり、バックボードバスの片側に異常が発生した場合でも、無駄なアクセスよるプロセッサ装置のパフォーマンス低下を防止した二重化制御システムを実現することを目的とする。
【課題を解決するための手段】
【００１１】
このような課題を達成するために、本発明は次のとおりの構成になっている。
（１）  ２つのプロセッサ装置の一方のプロセッサ装置が実作業につき他方のプロセッサ装置が待機し、これら２つのプロセッサ装置により二重化される二重化制御システムにおいて、
前記２つのプロセッサ装置は、前記一方のプロセッサ装置からみて送信側および受信側からなる複数のシリアルバスであって、それぞれさらに二重化されたシリアルバスにより接続され、
制御演算及び相手側のプロセッサ装置とのアクセスを実行する上位コントローラと、
シリアルデータの送信を制御する二重化された送信コントローラと、
シリアルデータの受信を制御する二重化された受信コントローラと、
受信データの正当性を診断する二重化された診断手段と、
を有し、
前記送信コントローラ及び受信コントローラは、他のプロセッサ装置からのアクセスがなく前記シリアルバスを使用していない状態でも該シリアルバスの状態を確認するためのバス診断フレームであって、前記シリアルバスが正常であるか異常であるかのバス状態情報を付加したバス診断フレームを常に送受信し、
前記シリアルバスのうち前記一方のプロセッサ装置からみて送信側に異常がある場合、受信した前記バス診断フレームのバス状態情報により異常検出した受信コントローラは、自己側の上位コントローラに異常を通知し、
前記バス状態情報は、前記送信側のシリアルバスを介して送信されたバス診断フレームに基づき前記他方のプロセッサ装置の診断手段により異常検出されて当該送信側のシリアルバスが異常であるとのバス状態情報であることを特徴とする二重化制御システム。
【００１５】
（２）前記バス診断フレームは、ＣＲＣが付加され、
前記受信側のシリアルバスに異常がある場合、相手側のプロセッサ装置から受信したバス診断フレームに基づき診断手段で確認されたＣＲＣにより異常検出した受信コントローラは、自己側の上位コントローラに異常を通知するとともに、自己側の送信コントローラに異常を通知し、該送信コントローラは、前記送信側のシリアルバスを介して常時送信している前記バス診断フレーム内のバス状態情報を当該シリアルバスが異常であるバス状態情報として相手側のプロセッサ装置に送信することを特徴とする（１）記載の二重化制御システム。
【００１７】
（３）前記上位コントローラは、前記受信コントローラからシリアルバスの異常が通知されると、データの経路を他方のシリアルバスに切り替えることを特徴とする請求項（１）又は（２）記載の二重化制御システム。
【発明の効果】
【００１８】
本発明によれば次のような効果がある。
バス診断用フレームの送受信により、バス異常を早く検出でき、無駄なアクセスよるプロセッサ装置のパフォーマンス低下を防止することができる。
【発明を実施するための最良の形態】
【００１９】
以下、図面を用いて本発明を詳細に説明する。
図１は本発明の一実施例を示す構成図である。
二重化制御システムは、プロセッサ装置５０とプロセッサ装置６０により二重化され、それぞれがさらに二重化されたシリアルバス７１ａ１，７１ａ２，７１ｂ１，７１ｂ２で接続されており、互いにアクセスし、データの等値化、処理の同期等を行う。
上位コントローラ５１，６１は、演算及びメモリや相手側のプロセッサ装置等とのアクセスを実行するプロセッサ（図示せず）と、メモリ（図示せず）と、プロセッサインターフェース、メモリインターフェース及びプロセッサ装置間インターフェースのコントロールをするインターフェースコントローラ（図示せず）等からなる。
【００２０】
プロセッサ装置５０の上位コントローラ５１がプロセッサ装置６０の上位コントローラ６１に対してアクセスを行う場合、上位コントローラ５１がアクセス要求を送信コントローラ５２ａ１に出す。要求を受けた送信コントローラ５２ａ１は、シリアルバス７１ａ１にシリアル化したアクセス要求フレームを出力する。プロセッサ装置６０の受信コントローラ６２ａ２は診断手段６３ａでエラーがないことを確認した後、アクセス要求を上位コントローラ６１にかける。
【００２１】
上位コントローラ６１は、要求された応答データを送信コントローラ６２ａ１に渡し、送信コントローラ６２ａ１はシリアルバス７１ａ２にシリアル化した応答フレームを出力する。
受信コントローラ５２ａ２は診断手段５３ａでエラーがないことを確認した後、応答データを上位コントローラ５１に出力してアクセスが終了する。
【００２２】
次に、シリアルバスで異常が発生した場合について説明する。
プロセッサ装置５０において受信側となるシリアルバス７１ａ２が異常の場合、又はプロセッサ装置６０が非実装の場合は、プロセッサ装置６０の送信コントローラ６２ａ１が常時送信しているはずのバス診断フレームをプロセッサ装置５０の診断手段５３ａを通して受信コントローラ５２ａ２が判断を行う。エラーがあれば、上位コントローラ５１にアクセス不可として通知を行う。
【００２３】
一方、プロセッサ装置５０において送信側となるシリアルバス７１ａ１が異常の場合は、プロセッサ装置５０の送信コントローラ５２ａ１自身は異常を認識できない。そのため、シリアルバス７１ａ１で異常発生時はプロセッサ装置６０の診断手段６３ａで検出してエラー情報を受信コントローラ６２ａ２が送信コントローラ６２ａ１に渡し、シリアルバス７１ａ２のバス診断フレームにバス状態情報として追加して送信を行う。受信コントローラ５２ａ２は、バス診断フレームの内容からシリアルバス７１ａ１が異常であることを認識して、上位コントローラ５１にアクセス不可として通知を行う。
【００２４】
プロセッサ装置５０は、アクセス開始時にシリアルバス７１ａ１又は７１ａ２が異常であることを認識できるため、シリアルバス７１ａ１，７１ａ２を使用したアクセスは行わず、もう一方のシリアルバス７１ｂ１，７１ｂ２を使用したアクセスに切り替えることができる。
同様に、プロセッサ装置６０の上位コントローラ６１もシリアルバス７１ａ１，７１ａ２の状態を確認することができ、使用するシリアルバスを切り替えることができる。
【００２５】
上位コントローラは、従来バスを使用していない状態でもバス診断フレームの送受信を行い、バスの状態を常に確認しているので、異常検出のリアルタイム性が向上し、異常時処理を実行するまでの時間を短縮することができる。
また、実際のアクセスを実行することなくバスの異常検出ができるため、無駄なアクセスを削減することができプロセッサ装置のパフォーマンスの改善につながる。
【００２６】
図２は本発明のフレーム内容の説明図である。
図２（ａ）は図１のプロセッサ装置５０の送信コントローラ５２ａ１からプロセッサ装置６０の受信コントローラ６２ａ２への通信におけるフレームの内容を示す図であり、図２（ｂ）は図１のプロセッサ装置６０の送信コントローラ６２ａ１からプロセッサ装置５０の受信コントローラ５２ａ２への通信におけるフレームの内容を示す図である。
図２（ａ）において、プロセッサ装置５０からプロセッサ装置６０へのアクセス要求送信以外の時（シリアルバスを使用していない状態）は、バス診断フレームＡを流し続ける。バス診断フレームＡには、通常のアクセス用フレームと同様にＣＲＣが付加されており、プロセッサ装置６０の受信コントローラ６２ａ２は、診断手段６３ａでシリアルバス７１ａ１の健全性を確認することができる。
また、バス診断フレームＡには、シリアルバス７１ａ２のバス状態の情報が付加されており、プロセッサ装置６０の受信コントローラ６２ａ２は、シリアルバス７１ａ２の健全性を確認することができる。
【００２７】
図２（ｂ）において、プロセッサ装置６０からプロセッサ装置５０への応答データ送信以外の時（シリアルバスを使用していない状態）は、バス診断フレームＢを流し続ける。バス診断フレームＢには、通常のアクセス用フレームと同様にＣＲＣが付加されており、プロセッサ装置５０の受信コントローラ５２ａ２は、診断手段５３ａでシリアルバス７１ａ２の健全性を確認することができる。
また、バス診断フレームＢには、シリアルバス７１ａ１のバス状態の情報が付加されており、プロセッサ装置５０の受信コントローラ５２ａ２は、シリアルバス７１ａ１の健全性を確認することができる。
【００２８】
バス診断フレームＡ，Ｂには、ＣＲＣが付加されているので、シリアルバス７１ａ１，７１ａ２の診断用のデータを送受信してもよいし、それ以外の通常のアクセスでは通信しないコマンドを送受信する手段として利用することも可能となる。
【００２９】
図３は本発明の他の構成例を示す図である。図３（ａ）は１箇所で異常が発生した場合の動作説明図であり、図２（ｂ）は２箇所で異常が発生した場合の動作説明図である。
図３（ａ）で、プロセッサ装置Ａ，Ｂ，Ｃ，ＤがＡ系及びＢ系の二重化されたシリアルバスで接続されている。プロセッサ装置ＣからＤの通信において、Ａ系のシリアルバスで異常が発生した場合、アクセスがない状態でもバス診断フレームを送受信していることにより、異常情報がプロセッサ装置Ａに送られる。プロセッサ装置Ａは、プロセッサ装置Ｄにアクセスを実行する前に異常を認識でき、正常な別のルート（経路１，経路２）を使用してプロセッサ装置Ｄへアクセスを開始することができる。
【００３０】
図３（ｂ）で、さらに、プロセッサ装置ＢからＣの通信において、Ｂ系のシリアルバスで異常が発生した場合、アクセスがない状態でもバス診断フレームを送受信していることにより、異常情報がプロセッサ装置Ａに送られる。プロセッサ装置Ａは、プロセッサ装置Ｄにアクセスを実行する前に異常を認識でき、正常な別のルート（経路１，経路３）を使用してプロセッサ装置Ｄへアクセスを開始することができる。
【００３１】
このように、それぞれのシリアルバスの正常異常状態をバス診断フレームに追加することにより、どのシリアルバスが異常になっても、ほぼリアルタイムに検出することができ、上位コントローラは無駄なアクセスを実行せずに正常なシリアルバスを使用してアクセスを開始することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明の一実施例を示す構成図である。
【図２】本発明のフレーム内容の説明図である。
【図３】本発明の他の構成例を示す図である。
【図４】従来のプロセッサ装置間の通信方法の説明図である。
【符号の説明】
【００３３】
５１，６１  上位コントローラ
５２ａ１，５２ｂ１，６２ａ１，６２ｂ１  送信コントローラ
５２ａ２，５２ｂ２，６２ａ２，６２ｂ２  受信コントローラ
５３ａ，５３ｂ，６３ａ，６３ｂ  診断手段
７１ａ１，７１ａ２，７１ｂ１，７１ｂ２  シリアルバス
【図１】
0004844813.tif 000002
【図２】
0004844813.tif 000003
【図３】
0004844813.tif 000004
【図４】
0004844813.tif 000005