(57)【要約】【課題】  ＰＣＩバスコントローラにおけるコンフィグレーションレジスタの耐放射線性を大幅に向上可能とする。【解決手段】  リフレッシュ回路２４を設けて、コンフィグレーションレジスタ１１の内容を、１ビットエラー検出及び訂正機能を有するＥＣＣ回路２３を介して読出し、これを当該レジスタ１１へ再書き込み（リフレッシュ）制御する。このリフレッシュ制御動作を、カウンタ回路２６による周期的タイミングの発生毎に、一定周期で繰り返して行うことにより、コンフィグレーションレジスタ１１の内容が放射線により変化しても、常に正しいデータにリフレッシュされることになる。【選択図】      図１
2006155434.tif 000002
【特許請求の範囲】
【請求項１】
ＰＣＩバスに接続されるデバイスの特性、種類、動作方式などの情報を設定したコンフィグレーションレジスタを有するＰＣＩコントローラであって、前記レジスタの出力のエラー検出および訂正をなすエラー検出訂正手段と、前記レジスタの情報を前記エラー検出訂正手段を介して読み出した後に前記レジスタに再書き込みを、定期的に行うリフレッシュ手段とを含むことを特徴とするＰＣＩコントローラ。
【請求項２】
前記ＰＣＩバスからのアクセスに応答して、前記レジスタの情報を前記エラー検出訂正手段を介して導出するようにしたことを特徴とする請求項１記載のＰＣＩコントローラ。
【請求項３】
前記ＰＣＩバスからのアクセスと前記リフレッシュ手段のリフレッシュとの調停をなす手段を、更に含むことを特徴とする請求項１または２記載のＰＣＩコントローラ。
【請求項４】
人工衛星搭載用機器に適用したことを特徴とする請求項１〜３いずれか記載のＰＣＩコントローラ。
【請求項５】
ＰＣＩバスに接続されるデバイスの特性、種類、動作方式などの情報を設定したコンフィグレーションレジスタを有するＰＣＩバスコントローラの動作制御方法であって、前記レジスタの情報を読み出してエラー検出および訂正をなす第一のステップと、前記エラー検出および訂正後に、前記レジスタに再書き込みをなす第二のステップと、前記第一および第二のステップを定期的に実行する第三のステップとを含むことを特徴とする動作制御方法。
【請求項６】
前記ＰＣＩバスからのアクセスに応答して、前記レジスタの情報を読み出してエラー検出および訂正を行って導出するステップを、更に含むことを特徴とする請求項５記載の動作制御方法。
【請求項７】
前記ＰＣＩバスからのアクセスと前記第三のステップとの調停をなすステップを、更に含むことを特徴とする請求項５または６記載の動作制御方法。
【請求項８】
ＰＣＩバスに接続されるデバイスの特性、種類、動作方式などの情報を設定したコンフィグレーションレジスタを有するＰＣＩバスコントローラの動作制御方法をコンピュータによ実行させるためのプログラムであって、前記レジスタの情報を読み出してエラー検出および訂正をなす第一の処理と、前記エラー検出および訂正後に、前記レジスタに再書き込みをなす第二の処理と、前記第一および第二の処理を定期的に実行する第三の処理とを含むことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はＰＣＩバスコントローラ及びその動作制御方法並びにプログラムに関し、特にＰＣＩバスに接続されるデバイスの特性、種類、動作方式などの情報を設定したコンフィグレーションレジスタを有するＰＣＩバスコントローラに関するものである。
【背景技術】
【０００２】
パーソナルコンピュータに用いられるシステムバスとしては、ＩＳＡ（Industry Standard Architecture）バスやＥＩＳＡ（Extended ISA）バスが主流であったが、最近においては、データ転送速度の高速化や、プロセッサに依存しないシステムアーキテクチャの構築のために、ＰＣＩ（Peripheral Component Interconnect ）バスが採用されている。
【０００３】
この様なＰＣＩバスの仕様に適したＰＣＩバスコントローラの例を図４に示している。図を参照すると、ＰＣＩバスコントローラ１はＰＣＩバス２とローカルバス３との間に設けられており、基本的には、コンフィグレーションレジスタ１１とＰＣＩバスアクセス制御回路１２とを含んで構成されている。コンフィグレーションレジスタ１１は、ＰＣＩバス２に接続されるデバイスの特性、種類、動作方式などを設定したレジスタであり、ＰＣＩバスアクセス制御回路１２はこのレジスタ１１とＰＣＩバス２とに対するアクセスを制御する回路である。これらコンフィグレーションレジスタ１１とＰＣＩバス制御回路１２とは一つのＩＣ（集積回路）により実現されている。
【０００４】
図示せぬコンピュータ本体のＣＰＵからコンフィグレーションレジスタ１１に対してアクセスして、ＰＣＩバス２に接続されている拡張用のデバイスに関する情報の初期設定を行なうことにより、拡張デバイスの、いわゆるプラグ＆プレイを実現することができるようになっている。従って、このコンフィグレーションレジスタ１１に設定される情報は、システム起動時に一度設定されることにより、ＰＣＩバス２へのアクセスが可能となり、以降変更されることはない。この様なコンフィグレーションレジスタについては、特許文献１〜４に開示されている。
【０００５】
この様なコンフィグレーションレジスタを有するＰＣＩバスコントローラを、宇宙空間などの放射線環境下で使用する場合、シングルイベントアップセット（以下、単にＳＥＵと称す）という現象が発生する。このＳＥＵとは、放射線によりレジスタを構成するフリップフロップなどの記憶素子内のデータが変化する現象である。
【０００６】
記憶素子を有するコンフィグレーションレジスタ１１の内容がＳＥＵにより変化してしまうと、ＰＣＩバス２からのアクセスに対して正しく応答できなくなってしまう。そこで、従来では、このＳＥＵ対策として、記憶素子であるフリップフロップを３重以上の冗長構成とし、これら冗長出力の多数決を採ることによって、データ値を決定する方式が用いられる。
【０００７】
【特許文献１】特開２０００−１７２６３２号公報
【特許文献２】特開２０００−６６９９２号公報
【特許文献３】特開平１１−２８２７９１号公報
【特許文献４】特開平１０−３３４０３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
人工衛星搭載用のコンピュータなど、放射線環境下で使用される情報処理装置のバスとして、ＰＣＩバスを使用することが望まれるが、前述した如く、ＳＥＵ対策として、レジスタの記憶素子を３重以上の冗長構成とすると、回路規模が大となり、人工衛星搭載用の情報処理装置には不適となるという問題がある。
【０００９】
本発明の目的は、簡単な構成にて、ＳＥＵに対する耐性を著しく向上させて放射線環境下での使用が可能なＰＣＩバスコントローラを提供することである。
【課題を解決するための手段】
【００１０】
本発明によるＰＣＩバスコントローラは、ＰＣＩバスに接続されるデバイスの特性、種類、動作方式などの情報を設定したコンフィグレーションレジスタを有するＰＣＩコントローラであって、前記レジスタの出力のエラー検出および訂正をなすエラー検出訂正手段と、前記レジスタの情報を、定期的に、前記エラー検出訂正手段を介して読み出した後、前記レジスタに再書き込みをなすリフレッシュ手段とを含むことを特徴とする。
【００１１】
本発明によるＰＣＩバスコントローラの動作制御方法は、ＰＣＩバスに接続されるデバイスの特性、種類、動作方式などの情報を設定したコンフィグレーションレジスタを有するＰＣＩバスコントローラの動作制御方法であって、前記レジスタの情報を読み出してエラー検出および訂正をなす第一のステップと、前記エラー検出および訂正後に、前記レジスタに再書き込みをなす第二のステップと、前記第一および第二のステップを定期的に実行する第三のステップとを含むことを特徴とする。
【００１２】
本発明によるプログラムは、ＰＣＩバスに接続されるデバイスの特性、種類、動作方式などの情報を設定したコンフィグレーションレジスタを有するＰＣＩバスコントローラの動作制御方法をコンピュータによ実行させるためのプログラムであって、前記レジスタの情報を読み出してエラー検出および訂正をなす第一の処理と、前記エラー検出および訂正後に、前記レジスタに再書き込みをなす第二の処理と、前記第一および第二の処理を定期的に実行する第三の処理とを含むことを特徴とする。
【００１３】
本発明の作用を述べる。リフレッシュ回路を設け、コンフィグレーションレジスタの内容を、１ビットエラー検出及び訂正機能を有するＥＣＣ回路を介して読み出し、これを再度コンフィグレーションレジスタに書き込むよう制御する。このリフレッシュ制御動作を、一定周期で繰り返して行うことにより、コンフィグレーションレジスタの内容が放射線により変化しても、常に正しい内容にリフレッシュされることになる。
【発明の効果】
【００１４】
本発明による第１の効果は、放射線環境下での使用が可能になるということである。その理由は、ＳＥＵが発生しても、コンフィグレーションレジスタの値を自動的に訂正するようにしたために、ＰＣＩバスからのアクセスに対して正しく応答できるからである。
【００１５】
本発明による第２の効果は、小型軽量化が実現できるということである。その理由は、従来ではレジスタの記憶素子であるフリップフロップの各々を３重以上の冗長構成としていたところを、全てのフリップフロップに対して共通にビットエラー検出及びエラー訂正を行う回路を追加するのみであるからである。
【発明を実施するための最良の形態】
【００１６】
以下に図面を参照しつつ本発明の実施の形態について説明する。図１は本発明の一実施の形態を示すブロック図であり、図４と同等部分は同一符号にて示している。本例によるＰＣＩバスコントローラ２は、コンフィグレーションレジスタ１１とＰＣＩバスアクセス制御回路１２の他に、ＥＣＣ（Error Checking and Correcting ）回路２３、リフレッシュ回路２４、バスアービター回路２５、カウンタ回路２６が設けられている。
【００１７】
ＥＣＣ回路２３は、コンフィグレーションレジスタ１１の内容を設定する際に、エラー検出及びエラー訂正のためのチェックコードを生成して、当該内容であるデータと共に、レジスタ１１へ格納するものである。また、ＥＣＣ回路２３は、コンフィグレーションレジスタ１１の内容の読み出し時において、その内容であるデータと上記のチェックコードとにより、ＳＥＵが発生してデータが変化した場合にも、それを検出して訂正するものである。もっとも、元のデータ（この場合は、コンフィグレーションレジスタ１１の内容そのもの）は、訂正しない。また、通常、人工衛星搭載装置では、２ビット以上のエラーが発生する確率は極めて低いために、ＥＣＣ回路２３で１ビットエラー訂正は行うが、２ビット以上のエラー訂正は行わないものとする。
【００１８】
リフレッシュ回路２４は、ＰＣＩバス２からのアクセスがない期間を利用して、定期的にコンフィグレーションレジスタ１１の内容の設定をし直すものであり、具体的には、コンフィグレーションレジスタ１１の内容を読み出してこの読み出した内容を再度当該レジスタ１１へ設定するものである。なお、レジスタ１１から読み出した内容は、ＥＣＣ回路２３を経ているので、ＳＥＵが発生していたとしても、正常な内容に訂正されていることになる。前述した如く、通常、ＥＣＣ回路２３はレジスタ内の元のデータは訂正しないが、レジスタから読み出した値を正しい値に訂正してそれをレジスタに書き戻すことにより、１ビットエラーが２ビットエラーに発展することが防止できるのである。
【００１９】
バスアービター回路２５は、ＰＣＩバス２を監視しており、このＰＣＩバス２からのアクセスが行われていない期間に、リフレッシュ回路２４からコンフィグレーションレジスタ１１へのアクセスの許可をなす。なお、ＰＣＩバス２からのアクセスが可能な期間と、コンフィグレーションレジスタ１１をリフレッシュする期間とが重ならないように、タイミングを規定することにより、バスアービター回路２５は省略することができることは明らかである。カウンタ回路２６はＰＣＩバス２より供給される基本クロックを分周して、リフレッシュ回路２４がコンフィグレーションレジスタ１１のリフレッシュ動作を行う周期信号を生成するためのものである。
【００２０】
以下に、図２を参照して本発明の実施の形態の動作について説明する。リフレッシュ回路２４は、コンフィグレーションレジスタ１１をリフレッシュするタイミングを、カウンタ回路２６より知ると（ステップＳ１）、先ず、バスアービター回路２５に対してコンフィグレーションレジスタ１１へのアクセス要求を行う（ステップＳ２）。バスアービター回路２５はＰＣＩバス２からのアクセスが行われているかどうかを判断して、アクセスされていないときにはアクセス許可信号を生成する（ステップＳ３）。なお、アクセス中の場合には、アクセスが終了するまでアクセス許可信号の生成は行われない。
【００２１】
バスアービター回路２５からアクセス許可信号が出力されると、リフレッシュ回路２４はコンフィグレーションレジスタ１１の内容を読み出す（ステップＳ４）。このとき、コンフィグレーションレジスタ１１からは、レジスタの内容（コンフィグレーションコード）に加えて、エラー検出及びエラー訂正用のチェックコードも出力されることになる（ステップＳ５）。ＥＣＣ回路２３はこのコンフィグレーションコードとチェックコードとにより、ビットエラーの検出を行い、エラー発生時にはそれを訂正して出力する（ステップＳ６）。従って、リフレッシュ回路２４は、ＳＥＵ発生時にも、正しいデータを読み取ることが可能になる。
【００２２】
そこで、リフレッシュ回路２４は、この読み取ったデータをコンフィグレーションレジスタ１１へ書き戻し（ステップＳ７）、バスアービター回路２５に対してコンフィグレーションレジスタ１１へのアクセス終了を通知する（ステップＳ８）。すると、バスアービター回路２５はコンフィグレーションレジスタ１１へのアクセス禁止をなす（ステップＳ９）。
【００２３】
以上の一連の動作により、コンフィグレーションレジスタ１１にＳＥＵが発生しても、正常なデータに書き戻すことができることになる。リフレッシュ回路２４はこの一連の動作を周期的に繰り返すのである（ステップＳ１０）。上記一連の動作の制御は、リフレッシュ回路２４のハードウェアロジックにて実現可能であるが、それに代えて、ＣＰＵを内蔵してソフトウェアロジックで実現することも可能であることは明らかである。
【００２４】
この一連の動作を繰り返す周期は、ＰＣＩバス２から供給される基本クロックをカウンタ回路２６で分周してリフレッシュ回路２４に供給するようにしている。例えば、基本クロックである３３ＭＨｚを３３００カウントして、１０ＫＨｚのリフレッシュ周期信号を生成することにより、図２のステップＳ１で示すリフレッシュ開始の周期は１０ＫＨｚ分の１となる。
【００２５】
次に、図３を参照して本発明の他の実施の形態について説明する。図１の例では、コンフィグレーションレジスタ１１のデータを、ＰＣＩバスアクセス制御回路１２へ直接導出して、外部へ出力するようになっているが、本例では、コンフィグレーションレジスタ１１のデータを、ＥＣＣ回路２３を介してＰＣＩバスアクセス制御回路１２へ導出している。他の構成は、図１の例と同じであってその説明は省略する。
【００２６】
リフレッシュ回路２４は、上述した如く、周期的にコンフィグレーションレジスタ１１の内容のリフレッシュを行っているが、ＳＥＵ発生時において、内容がリフレッシュされる前にＰＣＩバス２からのアクセスが行われると、図１の例では正常なデータが得られないことになる。
【００２７】
そこで、本例においては、ＰＣＩバスからのアクセスがあると、コンフィグレーションレジスタ１１の内容をＥＣＣ回路２３を介してＰＣＩバスアクセス制御回路１２へ出力するようにしている。従って、コンフィグレーションレジスタ１１の内容は、ＥＣＣ回路２３において必ずエラー検出及び訂正がなされることになるので、リフレッシュされる前に、ＳＥＵが発生しかつアクセスがあっても、コンフィグレーションコードは常に正常なものとなっているのである。
【００２８】
上記の実施の形態においては、人工衛星搭載用の情報処理装置に適用する場合について述べているが、これに限らず、深宇宙探査機などをも含む宇宙機器に適用できると共に、一般の情報処理装置にも広く適用できることは勿論である。
【図面の簡単な説明】
【００２９】
【図１】本発明の一実施の形態を示すブロック図である。
【図２】図１のブロックの動作を示すシーケンス図である。
【図３】本発明の他の実施の形態を示すブロック図である。
【図４】従来技術を説明する図である。
【符号の説明】
【００３０】
１  ＰＣＩバスコントローラ
２  ＰＣＩバス
３  ローカルバス
１１  コンフィグレーションレジスタ
１２  ＰＣＩバスアクセス制御回路
２３  ＥＣＣ回路
２４  リフレッシュ回路
２５  バスアービター回路
２６  カウンタ回路
【図１】
2006155434.tif 000003
【図２】
2006155434.tif 000004
【図３】
2006155434.tif 000005
【図４】
2006155434.tif 000006