説明

二重化制御システム

【課題】バックボードバスの片側に異常が発生した場合でも、無駄なアクセスよるプロセッサ装置のパフォーマンス低下を防止した二重化制御システムを実現する。
【解決手段】二重化されたプロセッサ装置間の通信の異常検出を向上させた二重化制御システムに関するものである。2つのプロセッサ装置は、二重化されたシリアルバスにより接続され、制御演算及び相手側のプロセッサ装置とのアクセスを実行する上位コントローラと、シリアルデータの送信を制御する二重化された送信コントローラと、シリアルデータの受信を制御する二重化された受信コントローラと、受信データの正当性を診断する二重化された診断手段とを設けた。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信頼性を向上させるために運転側と待機側を適宜切り換える二重化制御システムに関し、特に二重化されたプロセッサ装置間の通信の異常検出を向上させた二重化制御システムに関するものである。
【背景技術】
【0002】
二重化されたプロセッサ装置間の通信は、それぞれがさらに二重化されたバックボードバスを介して行われ、一方のバスによる通信が異常の場合は、他方のバスに切り換えることで通信の信頼性を高めている。
【0003】
図4は従来のプロセッサ装置間の通信方法の説明図である。
二重化制御システムは、プロセッサ装置10とプロセッサ装置20により二重化され、それぞれがさらに二重化されたパラレルバス31a,31bで接続されており、互いにアクセスし、データの等値化、処理の同期等を行う。
上位コントローラ11,21は、演算及びメモリや相手側のプロセッサ装置等とのアクセスを実行するプロセッサ(図示せず)と、メモリ(図示せず)と、プロセッサインターフェース、メモリインターフェース及びプロセッサ装置間インターフェースのコントロールをするインターフェースコントローラ(図示せず)等からなる。
【0004】
プロセッサ装置10の上位コントローラ11がプロセッサ装置20の上位コントローラ21に対してアクセスを行う場合、通常、バックボードバスコントローラ12aに対してアクセス要求をかける。要求を受けたバックボードバスコントローラ12aは、バックボードのパラレルバス31aを経由してプロセッサ装置20のバックボードバスコントローラ22aに要求を出す。バックボードバスコントローラ22aは、アクセスが正常であることをパリティチェックで確認してアクセス要求を上位コントローラ21にかける。
【0005】
上位コントローラ21は、バックボードバスコントローラ22aに対し要求された応答データを出力し、バックボードバスコントローラ22aは、パラレルバス31aを経由して応答データをプロセッサ装置10のバックボードバスコントローラ12aに渡す。
バックボードバスコントローラ12aは、パリティチェックを行い、データが正常であれば、応答データを上位コントローラ11に出力してアクセスが終了する。
【0006】
プロセッサ装置20が非実装の場合や、パリティでは検出できないパラレルバス31aの異常でバックボードバスコントローラ22aがバックボードバスコントローラ12aからの要求を認識できない場合、又はバックボードバスコントローラ12aがバックボードバスコントローラ22aからの応答を認識できない場合、バックボードバスコントローラ12aは要求に対する応答がないため、タイムアップするまで要求を継続させる。
タイムアップ後、バックボードバスコントローラ12aは上位コントローラ11に対してエラーとなったことを通知し、上位コントローラ11は、もう片方のパラレルバス31bを使用して再試行アクセスを行う。
【0007】
二重化バックボードバスの片側に異常が発生して通信が行えなくなった場合にも、プロセッサカード間の通信負荷の増大を制御した二重化制御装置を示したものとして、例えば特許文献1に記載されたものがあった。
【0008】
【特許文献1】特開平10−161896号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
片側のプロセッサ装置が実装されていない場合、動作中にいつ実装されても二重化動作を開始できるようにするため、常に相手側のプロセッサ装置にアクセスを行う必要がある。また、プロセッサ装置が二重化時にバックボードバスに異常があった場合、そのバスが回復したかどうかを確認するために、そのバスを使ってアクセスを行う必要がある。そのため、アクセスを行う度にタイムアップ時間分無駄な時間が発生し、プロセッサ装置全体のパフォーマンスを落としてしまうという問題点があった。
【0010】
本発明は上述した問題点を解決するためになされたものであり、バックボードバスの片側に異常が発生した場合でも、無駄なアクセスよるプロセッサ装置のパフォーマンス低下を防止した二重化制御システムを実現することを目的とする。
【課題を解決するための手段】
【0011】
このような課題を達成するために、本発明は次のとおりの構成になっている。
(1)2つのプロセッサ装置の一方のプロセッサ装置が実作業につき他方のプロセッサ装置が待機する二重化制御システムにおいて、
前記2つのプロセッサ装置は、二重化されたシリアルバスにより接続され、
制御演算及び他方のプロセッサ装置とのアクセスを実行する上位コントローラと、
シリアルデータの送信を制御する二重化された送信コントローラと、
シリアルデータの受信を制御する二重化された受信コントローラと、
受信データの正当性を診断する二重化された診断手段と、
を有することを特徴とする二重化制御システム。
【0012】
(2)前記送信コントローラ及び受信コントローラは、前記シリアルバスを使用していない状態でも該シリアルバスの状態を確認するためのバス診断フレームを送受信することを特徴とする(1)記載の二重化制御システム。
【0013】
(3)前記バス診断フレームに前記シリアルバスが正常であるか異常であるかのバス状態情報を付加したことを特徴とする(2)記載の二重化制御システム。
【0014】
(4)前記バス診断フレームにCRCを付加したことを特徴とする(2)又は(3)記載の二重化制御システム。
【0015】
(5)前記シリアルバスの受信側に異常がある場合、診断手段で確認されたCRCにより異常検出した受信コントローラは、自己側の上位コントローラに異常を通知するとともに、自己側の送信コントローラに異常を通知し、該送信コントローラは、前記バス診断フレームの該当するバス状態情報を異常として相手側のプロセッサ装置に送信することを特徴とする(4)記載の二重化制御システム。
【0016】
(6)前記シリアルバスの送信側に異常がある場合、受信した前記バス診断フレームのバス状態情報により異常検出した受信コントローラは、自己側の上位コントローラに異常を通知することを特徴とすることを特徴とする(4)又は(5)記載の二重化制御システム。
【0017】
(7)前記上位コントローラは、前記受信コントローラからシリアルバスの異常が通知されると、データの経路を他方のシリアルバスに切り替えることを特徴とする(5)又は(6)記載の二重化制御システム。
【発明の効果】
【0018】
本発明によれば次のような効果がある。
バス診断用フレームの送受信により、バス異常を早く検出でき、無駄なアクセスよるプロセッサ装置のパフォーマンス低下を防止することができる。
【発明を実施するための最良の形態】
【0019】
以下、図面を用いて本発明を詳細に説明する。
図1は本発明の一実施例を示す構成図である。
二重化制御システムは、プロセッサ装置50とプロセッサ装置60により二重化され、それぞれがさらに二重化されたシリアルバス71a1,71a2,71b1,71b2で接続されており、互いにアクセスし、データの等値化、処理の同期等を行う。
上位コントローラ51,61は、演算及びメモリや相手側のプロセッサ装置等とのアクセスを実行するプロセッサ(図示せず)と、メモリ(図示せず)と、プロセッサインターフェース、メモリインターフェース及びプロセッサ装置間インターフェースのコントロールをするインターフェースコントローラ(図示せず)等からなる。
【0020】
プロセッサ装置50の上位コントローラ51がプロセッサ装置60の上位コントローラ61に対してアクセスを行う場合、上位コントローラ51がアクセス要求を送信コントローラ52a1に出す。要求を受けた送信コントローラ52a1は、シリアルバス71a1にシリアル化したアクセス要求フレームを出力する。プロセッサ装置60の受信コントローラ62a2は診断手段63aでエラーがないことを確認した後、アクセス要求を上位コントローラ61にかける。
【0021】
上位コントローラ61は、要求された応答データを送信コントローラ62a1に渡し、送信コントローラ62a1はシリアルバス71a2にシリアル化した応答フレームを出力する。
受信コントローラ52a2は診断手段53aでエラーがないことを確認した後、応答データを上位コントローラ51に出力してアクセスが終了する。
【0022】
次に、シリアルバスで異常が発生した場合について説明する。
プロセッサ装置50において受信側となるシリアルバス71a2が異常の場合、又はプロセッサ装置60が非実装の場合は、プロセッサ装置60の送信コントローラ62a1が常時送信しているはずのバス診断フレームをプロセッサ装置50の診断手段53aを通して受信コントローラ52a2が判断を行う。エラーがあれば、上位コントローラ51にアクセス不可として通知を行う。
【0023】
一方、プロセッサ装置50において送信側となるシリアルバス71a1が異常の場合は、プロセッサ装置50の送信コントローラ52a1自身は異常を認識できない。そのため、シリアルバス71a1で異常発生時はプロセッサ装置60の診断手段63aで検出してエラー情報を受信コントローラ62a2が送信コントローラ62a1に渡し、シリアルバス71a2のバス診断フレームにバス状態情報として追加して送信を行う。受信コントローラ52a2は、バス診断フレームの内容からシリアルバス71a1が異常であることを認識して、上位コントローラ51にアクセス不可として通知を行う。
【0024】
プロセッサ装置50は、アクセス開始時にシリアルバス71a1又は71a2が異常であることを認識できるため、シリアルバス71a1,71a2を使用したアクセスは行わず、もう一方のシリアルバス71b1,71b2を使用したアクセスに切り替えることができる。
同様に、プロセッサ装置60の上位コントローラ61もシリアルバス71a1,71a2の状態を確認することができ、使用するシリアルバスを切り替えることができる。
【0025】
上位コントローラは、従来バスを使用していない状態でもバス診断フレームの送受信を行い、バスの状態を常に確認しているので、異常検出のリアルタイム性が向上し、異常時処理を実行するまでの時間を短縮することができる。
また、実際のアクセスを実行することなくバスの異常検出ができるため、無駄なアクセスを削減することができプロセッサ装置のパフォーマンスの改善につながる。
【0026】
図2は本発明のフレーム内容の説明図である。
図2(a)は図1のプロセッサ装置50の送信コントローラ52a1からプロセッサ装置60の受信コントローラ62a2への通信におけるフレームの内容を示す図であり、図2(b)は図1のプロセッサ装置60の送信コントローラ62a1からプロセッサ装置50の受信コントローラ52a2への通信におけるフレームの内容を示す図である。
図2(a)において、プロセッサ装置50からプロセッサ装置60へのアクセス要求送信以外の時(シリアルバスを使用していない状態)は、バス診断フレームAを流し続ける。バス診断フレームAには、通常のアクセス用フレームと同様にCRCが付加されており、プロセッサ装置60の受信コントローラ62a2は、診断手段63aでシリアルバス71a1の健全性を確認することができる。
また、バス診断フレームAには、シリアルバス71a2のバス状態の情報が付加されており、プロセッサ装置60の受信コントローラ62a2は、シリアルバス71a2の健全性を確認することができる。
【0027】
図2(b)において、プロセッサ装置60からプロセッサ装置50への応答データ送信以外の時(シリアルバスを使用していない状態)は、バス診断フレームBを流し続ける。バス診断フレームBには、通常のアクセス用フレームと同様にCRCが付加されており、プロセッサ装置50の受信コントローラ52a2は、診断手段53aでシリアルバス71a2の健全性を確認することができる。
また、バス診断フレームBには、シリアルバス71a1のバス状態の情報が付加されており、プロセッサ装置50の受信コントローラ52a2は、シリアルバス71a1の健全性を確認することができる。
【0028】
バス診断フレームA,Bには、CRCが付加されているので、シリアルバス71a1,71a2の診断用のデータを送受信してもよいし、それ以外の通常のアクセスでは通信しないコマンドを送受信する手段として利用することも可能となる。
【0029】
図3は本発明の他の構成例を示す図である。図3(a)は1箇所で異常が発生した場合の動作説明図であり、図2(b)は2箇所で異常が発生した場合の動作説明図である。
図3(a)で、プロセッサ装置A,B,C,DがA系及びB系の二重化されたシリアルバスで接続されている。プロセッサ装置CからDの通信において、A系のシリアルバスで異常が発生した場合、アクセスがない状態でもバス診断フレームを送受信していることにより、異常情報がプロセッサ装置Aに送られる。プロセッサ装置Aは、プロセッサ装置Dにアクセスを実行する前に異常を認識でき、正常な別のルート(経路1,経路2)を使用してプロセッサ装置Dへアクセスを開始することができる。
【0030】
図3(b)で、さらに、プロセッサ装置BからCの通信において、B系のシリアルバスで異常が発生した場合、アクセスがない状態でもバス診断フレームを送受信していることにより、異常情報がプロセッサ装置Aに送られる。プロセッサ装置Aは、プロセッサ装置Dにアクセスを実行する前に異常を認識でき、正常な別のルート(経路1,経路3)を使用してプロセッサ装置Dへアクセスを開始することができる。
【0031】
このように、それぞれのシリアルバスの正常異常状態をバス診断フレームに追加することにより、どのシリアルバスが異常になっても、ほぼリアルタイムに検出することができ、上位コントローラは無駄なアクセスを実行せずに正常なシリアルバスを使用してアクセスを開始することができる。
【図面の簡単な説明】
【0032】
【図1】本発明の一実施例を示す構成図である。
【図2】本発明のフレーム内容の説明図である。
【図3】本発明の他の構成例を示す図である。
【図4】従来のプロセッサ装置間の通信方法の説明図である。
【符号の説明】
【0033】
51,61 上位コントローラ
52a1,52b1,62a1,62b1 送信コントローラ
52a2,52b2,62a2,62b2 受信コントローラ
53a,53b,63a,63b 診断手段
71a1,71a2,71b1,71b2 シリアルバス

【特許請求の範囲】
【請求項1】
2つのプロセッサ装置の一方のプロセッサ装置が実作業につき他方のプロセッサ装置が待機する二重化制御システムにおいて、
前記2つのプロセッサ装置は、二重化されたシリアルバスにより接続され、
制御演算及び相手側のプロセッサ装置とのアクセスを実行する上位コントローラと、
シリアルデータの送信を制御する二重化された送信コントローラと、
シリアルデータの受信を制御する二重化された受信コントローラと、
受信データの正当性を診断する二重化された診断手段と、
を有することを特徴とする二重化制御システム。
【請求項2】
前記送信コントローラ及び受信コントローラは、前記シリアルバスを使用していない状態でも該シリアルバスの状態を確認するためのバス診断フレームを送受信することを特徴とする請求項1記載の二重化制御システム。
【請求項3】
前記バス診断フレームに前記シリアルバスが正常であるか異常であるかのバス状態情報を付加したことを特徴とする請求項2記載の二重化制御システム。
【請求項4】
前記バス診断フレームにCRCを付加したことを特徴とする請求項2又は3記載の二重化制御システム。
【請求項5】
前記シリアルバスの受信側に異常がある場合、診断手段で確認されたCRCにより異常検出した受信コントローラは、自己側の上位コントローラに異常を通知するとともに、自己側の送信コントローラに異常を通知し、該送信コントローラは、前記バス診断フレームの該当するバス状態情報を異常として相手側のプロセッサ装置に送信することを特徴とする請求項4記載の二重化制御システム。
【請求項6】
前記シリアルバスの送信側に異常がある場合、受信した前記バス診断フレームのバス状態情報により異常検出した受信コントローラは、自己側の上位コントローラに異常を通知することを特徴とすることを特徴とする請求項4又は5記載の二重化制御システム。
【請求項7】
前記上位コントローラは、前記受信コントローラからシリアルバスの異常が通知されると、データの経路を他方のシリアルバスに切り替えることを特徴とする請求項5又は6記載の二重化制御システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2007−193593(P2007−193593A)
【公開日】平成19年8月2日(2007.8.2)
【国際特許分類】
【出願番号】特願2006−11337(P2006−11337)
【出願日】平成18年1月19日(2006.1.19)
【出願人】(000006507)横河電機株式会社 (4,443)
【Fターム(参考)】