説明

PCIバス制御システム

【課題】イニシエーターとターゲットとをPCIバスにより接続したPCIバス制御システムに関し、コマンドエラーを回避する。
【解決手段】
イニシエーター1とターゲット2−1,2−2との間をPCIバスにより接続したPCIバス制御システムであって、監視回路3と救済回路4とを設け、PCIバスによりイニシエーター1とターゲット2−1,2−2間を監視回路3と救済回路4とを介して接続すると共に、イニシエーター1と監視回路3と救済回路4との間を、コマンドCOMMとパリティPARとパリティエラーPERRとを転送するローカルバスにより接続し、監視回路3によりコマンドのパリティチェックを行って送出し、救済回路4は、PCIバスとローカルバスとを介してそれぞれ転送されたコマンドについて、正常な側を選択して、ターゲット2−1,2−2にコマンドを転送する構成を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、PCIバスを介して転送するアドレスやコマンドの送信側及び受信側に於いて、エラーチェック並びにエラー修正を可能としたPCIバス制御システムに関する。
【背景技術】
【0002】
各種の制御装置に於いて、データやコマンド等を転送する為のPCI(Peripheral Component Interconnect)バスを有する制御システムが知られている。例えば、図5に示すように、各種の制御命令等を送出する側の制御部を、イニシエーター100とし、その命令に従った制御処理を行う側の単一又は複数の被制御部を、ターゲット101,102,103として、PCIバス110により接続した構成に於いて、イニシエーター100とターゲット101,102,103とを接続したPCIバス110は、アドレスとデータとを時分割的に転送する32ビット幅のAD(Address/Data)[31:0]と、バスコマンド又はバイトイネーブルを転送する4ビット幅のC/BE(Bus Command/Byte Enable)[3:0]と、1ビットのパリティビットを転送するPAR(Parity)とを含むものであり、この場合のパリティビットは、32ビット構成のADと、4ビット構成のC/BEとの36ビットに対する偶パリティが適用されている。
【0003】
図6は、前述のイニシエーター100と、ターゲット101,102,103との間を接続したPCIバスについての説明図であり、(A)はバスコマンドの説明図、(B)はメモリリード時の説明図である。同図の(A)に示すように、バスの動作として、メモリサイクルのリード,ライトと、コンフィギュレーションサイクルのリード,ライトとに対応して、4ビット構成のC/BEが定められている。例えば、メモリサイクルのリードコマンドは、論理レベルのローレベルL(“0”)とハイレベルH(“1”)とを基に示すと、“L”“H”“H”“L”とし、又ライトコマンドは、“L”“H”“H”“H”とする。同図の(B)に於いて、CLKはクロックを示し、そのクロックCLKの立上りタイミングT,T+1,T+2,・・・を基に各部の動作が行われ、例えば、アドレスフェーズでは、バスADによりメモリアドレスが転送され、バスC/BEによりメモリに対するリードコマンド(“L”“H”“H”“L”)が転送され、次のデータフェーズでは、バスADによりメモリからのリードデータが転送され、バスC/BEによりバイトイネーブルが転送される。
【0004】
イニシエーター100からPCIバス110を介してターゲット101,102,103の何れかを指定するアドレスを送出した場合、パリティエラー検出ができなかったアドレスエラーにより、複数のターゲットが応答するエラーが発生すると、システムとしては正常な動作を継続できなくなり、その結果、システムダウンとなる。そこで、PCIバスにより転送するアドレスと、ターゲットの総てのアドレスを保持したメモリ内容とを照合する手段を設けて、アクセスアドレスのエラーの有無を検出することにより、アクセスアドレスの正常性を確認して、システムダウンとなることを低減する手段が提案されている(例えば、特許文献1参照)。又一方と他方とのPCIデバイス間を、PCIブリッジを介して接続したシステムも知られており、その場合のPCIブリッジの一方の側のパリティエラー等のエラーを他方の側に通知可能としたシステムが知られている(例えば、特許文献2参照)。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2002−215557号公報
【特許文献2】特開2004−220220号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
イニシエーターとターゲットとをPCIバスにより接続した制御システムに於いて、例えば、イニシエーターから、アドレスフェーズに於けるバスコマンドによりターゲットの制御を行う時に、ビット反転等による突発的なエラー発生によって、パリティエラーを検知すると、ターゲット側からイニシエーター側へシステムエラーを通知する。このシステムエラー通知により、正常制御処理を継続できないと判断して、システムダウンとするシステムが一般的である。このシステムダウンにより、複数のターゲットは、処理動作を行うことができなくなり、多数のユーザを収容する伝送システムに於いては、影響が大きくなる問題がある。又システムダウンを回避する手段として、上位の監視制御手段に通知して、管理ソフトウェアにより、救済処理の実行の有無の判断を行わせ、それに基づいて救済処理実行と判断した場合は、再送処理等による救済処理を実行するシステムも考えられているが、一般的には、再送が不可能な障害の場合、救済処理は困難である。又完全二重化や三重化等の構成として高信頼性化を図ることも可能ではあるが、システムコストが2倍、3倍となり、実用的ではない問題がある。又パリティは、32ビット構成のアドレス等と、4ビット構成のコマンド等との合計36ビットに対する偶パリティを適用したものであり、パリティエラー検出の場合、32ビット構成のアドレス側か、4ビット構成のコマンド側かを判定することは不可能である。
【0007】
本発明は、前述の従来例の問題点を解決することを目的とし、コマンドのエラーを検出して、コマンド異状によるシステムダウンを未然に防止し、システムの信頼性向上を図るものである。
【課題を解決するための手段】
【0008】
本発明のPCIバス制御システムは、イニシエーターとターゲットとの間をPCIバスにより接続したPCIバス制御システムであって、前記イニシエーター側に監視回路を設け、前記ターゲット側に救済回路を設け、PCIバスによりイニシエーターと監視回路と救済回路とターゲットとの間を接続すると共に、イニシエーターと監視回路と救済回路との間を、コマンドとパリティとパリティエラーとを転送するローカルバスにより接続した構成を有し、前記監視回路は、PCIバスに対するパリティチェック部と、ローカルバスにより転送するコマンドに対するパリティチェック部とを備え、前記救済回路は、PCIバスにより転送するコマンドと、ローカルバスにより転送するコマンドとの正常な方を選択出力するコマンド選択部と、パリティチェック部とを備えている。
【0009】
又イニシエーター側の監視回路は、イニシエーターからPCIバスを介して転送するアドレス又はデータに対するパリティチェック部と、イニシエーターからローカルバスを介して転送するコマンドに対するパリティチェック部を含むと共にコマンドエラーを修正する制御部と備えている。
【0010】
又ターゲット側の救済回路は、PCIバスにより転送されたコマンドと、ローカルバスにより転送されたコマンドとの正常な方を選択出力するコマンド選択部と、このコマンド選択部からのコマンドと前記PCIバスにより転送されたアドレスとを含めてパリティチェックするパリティチェック部とを備えている。
【発明の効果】
【0011】
本発明は、イニシエーター側からターゲット側に送出するコマンドについて、PCIバスの完全二重化ではなく、コマンド転送用とパリティビット転送用とパリティ異状通知用との少ない本数のローカルバスを設け、監視回路により、正常なコマンドを選択して送信し、ターゲット側の救済回路により、正常受信のコマンドを選択してターゲットに転送するものであるから、PCIバスの完全二重化の構成に比較して、コマンド転送用のローカルバスを設けたことによるシステムコストの増加は僅かで済み、且つ正常なコマンドを選択してターゲット側に送信できるから、コマンドエラーによるシステムダウンをほぼ確実に回避することが可能となる利点がある。
【図面の簡単な説明】
【0012】
【図1】本発明の実施例1の説明図である。
【図2】本発明の実施例1のイニシエーター側の監視回路の説明図である。
【図3】本発明の実施例1のターゲット側の救済回路の説明図である。
【図4】本発明の実施例1のフローチャートである。
【図5】従来例の説明図である。
【図6】従来例のPCIバスの動作説明図で、(A)はバスコマンドの説明図、(B)はメモリリード時の説明図である。
【発明を実施するための形態】
【0013】
本発明のPCIバス制御システムは、図1を参照して説明すると、イニシエーター1とターゲット2−1,2−2との間をPCIバスにより接続したPCIバス制御システムであって、イニシエーター1側に監視回路3を設け、ターゲット2−1,2−2側に救済回路4を設けて、PCIバス(AD,C/BE,PAR,PEER)により相互間を接続し、イニシエーター1と監視回路3との間及び監視回路3と救済回路4との間をコマンド(COMM)とパリティ(PAR[COMM])とパリティエラー(PEER[COMM])とを転送するローカルバスにより接続し、監視回路3は、イニシエーター1からPCIバスにより転送するデータについてのパリティチェック部と、ローカルバスにより転送するコマンドについてのパリティチェック部とを備え、救済回路4は、PCIバスにより転送されたコマンドとローカルバスにより転送されたコマンドとの正常な側を選択するコマンド選択部と、このコマンド選択部の選択出力とPCIバスのアドレス又はデータとを含めてパリティチェックを行ってターゲット2−1,2−2に送出するパリティチェック部とを含む構成を備えている。
【実施例1】
【0014】
図1は、本発明の実施例1の説明図であり、1はコマンド等を送出し、各種のデータ処理等を行って各部を制御するイニシエーター、2−1,2−2はデータを格納するメモリやデータ伝送制御等を行う被制御側のターゲット、3は監視回路、4は救済回路を示し、イニシエーター1側に監視回路3を設け、ターゲット2−1,2−2側に救済回路4を設け、PCIバス(AD,C/BE,PAR,PERR)によりイニシエーター1とターゲット2−1,2−2側とを接続した構成を備えており、アドレスとデータとを時分割的に転送する32ビット幅のADと、バスコマンドとバイトイネーブルとの何れかを転送する4ビット幅のC/BEと、パリティビットを転送する1ビット幅のPARと、パリティエラー信号を転送する1ビット幅のPERRとを含むPCIバスにより接続し、又4ビット幅のC/BEの中のコマンドCOMMと、そのコマンドに対するパリティを転送する1ビット幅のPAR[COMM]と、コマンドのパリティエラーを通知する1ビット幅のPERR[COMM]とを含むローカルバスにより、イニシエーター1と監視回路3と救済回路4との間を接続したシステム構成を有する。
【0015】
イニシエーター1側の監視回路3は、PCIバスの32ビット幅のADと、4ビット幅のC/BEと、1ビット幅のPARと、1ビット幅のPERR[COMM]とのPCIバスにより転送するAD,C/BEとに対するパリティチェックを行うと共に、4ビット構成のC/BEによるコマンドCOMMと、そのパリティPAR[COMM]と、パリティエラー通知ビットRERR[COMM]とのローカルバスにより転送するコマンドに対するパリティチェック等の機能を含むものであり、又ターゲット2−1,2−2側の救済回路4は、監視回路3を介してPCIバスとローカルバスとにより転送されたコマンドの正常性をチェックし、正しいコマンドを選択して、ターゲット2−1,2−2へ転送する機能を含むものである。即ち、イニシエーター1側の監視回路3により、4ビット構成のコマンドCOMMに対するパリティチェックを行い、6本のローカルバスにより、パリティチェックを行ったコマンドを転送し、ターゲット2−1,2−2側の救済回路4により、再度、パリティチェックを行って、正しいコマンドを選択受信処理し、ビットエラー等によるシステムダウンを回避可能とするものである。
【0016】
図2は、イニシエーター1側の監視回路3の説明図であり、図1と同一符号は同一部分を示し、5は信号監視部、6はパリティチェック部、7は制御部、8はパリティチェック部を示す。信号監視部5のパリティチェック部6は、イニシエーター1からターゲット側に送出する32ビット幅のAD[31:0]と4ビット幅のC/BE[3:0]と1ビット幅のPARと1ビット幅のPEERとを入力してパリティチェックを行い、AD[31:0]とC/BE[3:0]との正常性を確認し、又パリティエラー通知ビットPERRがパリティエラーなしを示していることを確認して、ターゲット側に送出する。又制御部7は、イニシエーター1からのコマンド送出時に正常なコマンドとして転送する処理を行う。又パリティチェック部8は、4ビット構成のコマンドCOMM[3:0]と、パリティビットPAR[COMM]と、パリティエラー通知ビットPERR[COMM]とを入力する。その場合、C/BE[3:0]のコマンドCOMM[3:0]についてのパリティチェックを行い、ターゲット側に送出するコマンドの正常性を確認する。パリティエラーを検出すると、正常なコマンドに置き換える処理を行って、パリティチェックを行い、それに基づいて、コマンドCOMM[3:0]とパリティビットPAR[COMM]とパリティエラー通知ビットPERR[COMM]とを、ローカルバスによりターゲット側に送出する。その場合、制御部7は、図示を省略した制御テーブルを備え、イニシエーター1から、コマンドCOMM[3:0]とパリティビットPAR[COMM]とパリティエラー通知ビットPERR[COMM]とを、通常処理のクロックよりも3〜4倍程度高速のクロックにより読出して、制御テーブルに書込み、その内容をパリティチェック部8によりチェックし、パリティエラーを検出した時に、正常なコマンドに置き換える処理を行うもので、このような処理によっても、信号監視部5を介して転送するコマンドに対する時間的な遅延が生じないように、高速クロックを利用するものである。
【0017】
図3は、ターゲット側の救済回路の説明図であり、図1と同一符号は同一部分を示し、ターゲット2−1,2−2,2−3を含み、救済回路4の符号9は信号訂正部、符号10はコマンド選択部(SEL)、符号11はパリティチェック部を示す。イニシエーター1側の監視回路3を介してPCIバスにより転送された32ビット幅のAD[31:0]と、4ビット幅のC/BE[3:0]と、パリティビットPARと、パリティエラー通知ビットPERRとを救済回路4の信号訂正部9に入力し、又イニシエーター1側の監視回路3を介してローカルバスにより転送された4ビット幅のCOMM[3:0]と、1ビットのパリティビットPAR[COMM]と、1ビットのパリティエラー通知ビットPERR[COMM]とを信号訂正部9のコマンド選択部10へ入力する。この信号訂正部9のコマンド選択部10は、監視回路3の信号監視部5を介してローカルバスにより転送された4ビット構成のC/BE[3:0]と、1ビット構成のパリティビットPARと、1ビット構成のパリティエラー通知ビットPERRとを入力すると共に、制御部7のパリティチェック部8を介して転送されたCOMM[3:0]と、パリティビットPAR[COMM]と、パリティエラー通知ビットPERR[COMM]とを入力する。信号訂正部9のコマンド選択部10は、パリティエラーのない方のC/BE[3:0]を選択し、更に、パリティチェック部11に於いてパリティチェックを行って、ターゲット2−1,2−2,2−3へ送信する。それにより、コマンドエラーによるターゲット2−1,2−2,2−3の誤動作を確実の防止することができる。
【0018】
図4は、本発明の実施例の要部フローチャートであり、(A)はイニシエーター側の処理、(B)はターゲット側の処理のそれぞれの要点を示すもので、(A)の(a1)は、イニシエーター1から監視回路3の制御部7の制御テーブル(図示を省略)へ、ターゲットに対するコマンドAを転送することを示し、制御部7のパリティチェック部8により、そのコマンドAのパリティチェックを行い、パリティが偶数か否か判定し(a2)、奇数の場合は、ステップ(a1)へ戻って再処理を行い、又偶数を示す場合は、正常と判断して、コマンドAを、ターゲット側の救済回路4へ転送する為に格納する(a3)。又イニシエーター1からターゲット側へ転送するコマンドB(32ビット幅のAD[31:0]と4ビット幅のC/BE[3:0]と1ビット幅のPARと1ビット幅のPEER)とを監視回路3へ転送し(a4)、パリティチェック部6によりパリティチェックを行い、パリティが偶数か否かを判定し(a5)、偶数を示す場合は正常と判断して、そのコマンドBを、ターゲット側へ転送する為に格納する(a6)。又ステップ(a5)に於いて、パリティが偶数でない場合、パリティエラー通知ビットPERRにより通知する。
【0019】
ターゲット側の処理(B)は、救済回路4の要部の処理を示し、監視回路3のパリティチェック部6を介して転送されたコマンドBをコマンドCに代入する(b1)。又監視回路3のパリティチェック部6からのパリティエラー通知ビットPERRによりパリティエラー通知を受信した場合は、コマンドCにコマンドAを代入する(b2)。即ち、監視回路3の制御部7を介して転送されたコマンドCにコマンドAを代入する。そして、パリティチェック部11により、コマンドCに対するパリティチェックを行い(b3)、偶パリティの場合は、そのコマンドCを採用して(b4)、ターゲットに転送する。又偶パリティでない場合、エラーと判断して、廃棄等により異常終了とする(b5)。従って、イニシエーター1からターゲットに対するコマンドは、二重のチェックと、訂正処理とを行うことにより、大幅なコストアップを伴うことなく、ターゲットに対するコマンドの信頼性を向上し、システムダウンとなる可能性を殆ど完全に回避することが可能となる。
【符号の説明】
【0020】
1 イニシエーター
2−1,2−2,2−3 ターゲット
3 監視回路
4 救済回路
5 信号監視部
6 パリティチェック部
7 制御部
8 パリティチェック部
9 信号訂正部
10 コマンド選択部
11 パリティチェック部


【特許請求の範囲】
【請求項1】
イニシエーターとターゲットとの間をPCIバスにより接続したPCIバス制御システムに於いて、
前記イニシエーター側に監視回路を設け、前記ターゲット側に救済回路を設け、前記PCIバスにより前記イニシエーターと前記監視回路と前記救済回路と前記ターゲットとの間を接続すると共に、前記イニシエーターと前記監視回路と前記救済回路との間を、コマンドとパリティとパリティエラーとを転送するローカルバスにより接続した構成を有し、
前記監視回路は、前記PCIバスに対するパリティチェック部と、前記ローカルバスにより転送するコマンドに対するパリティチェック部とを備え、
前記救済回路は、前記PCIバスにより転送するコマンドと、前記ローカルバスにより転送するコマンドとの正常な方を選択出力するコマンド選択部と、パリティチェック部とを備えた
ことを特徴とするPCIバス制御システム。
【請求項2】
前記監視回路は、前記イニシエーターから前記PCIバスを介して転送するアドレス又はデータに対するパリティチェック部と、前記イニシエーターから前記ローカルバスを介して転送するコマンドに対するパリティチェック部を含むと共にコマンドエラーを修正する制御部とを備えたことを特徴とする請求項1記載のPCIバス制御システム。
【請求項3】
前記救済回路は、前記PCIバスにより転送されたコマンドと前記ローカルバスにより転送されたコマンドとの正常な方を選択出力するコマンド選択部と、該コマンド選択部からのコマンドと前記PCIバスにより転送されたアドレスとを含めてパリティチェックするパリティチェック部とを備えたことを特徴とする請求項1記載のPCIバス制御システム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2012−168670(P2012−168670A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−28074(P2011−28074)
【出願日】平成23年2月14日(2011.2.14)
【出願人】(000237662)富士通テレコムネットワークス株式会社 (682)
【Fターム(参考)】