(57)【要約】【課題】論理回路において、シングルイベントアップセットを検出した場合であっても、回復に長時間を要する。【解決手段】制御状態を示す複数ビット幅からなるデータを保持する第１及び第２の状態保持レジスタと、上記第１及び上記第２の状態保持レジスタの少なくとも一方におけるシングルイベントアップセットの発生を検出するSEU検出部とを有し、上記第１の状態保持レジスタにおいてシングルイベントアップセットの発生を検出したときに、上記第２の状態保持レジスタが保持するデータを上記第１の状態保持レジスタに通知してデータを訂正するよう指示し、上記第２の状態保持レジスタにおいてシングルイベントアップセットの発生を検出したときに、上記第１の状態保持レジスタが保持するデータを上記第２の状態保持レジスタに通知してデータを訂正するよう指示する。【選択図】      図１
2014191409.tif 000002
【特許請求の範囲】
【請求項１】
制御状態を示す複数ビット幅からなるデータを保持する第１の状態保持レジスタ及び第２の状態保持レジスタと、
前記第１の状態保持レジスタ及び前記第２の状態保持レジスタの少なくとも一方におけるシングルイベントアップセットの発生を検出するSEU検出部と、
前記SEU検出部が前記第１の状態保持レジスタにおいてシングルイベントアップセットの発生を検出したときに、前記第２の状態保持レジスタが保持するデータを前記第１の状態保持レジスタに通知して前記第１の状態保持レジスタのデータを訂正するよう指示する第１の次状態判定部と、
前記SEU検出部が前記第２の状態保持レジスタにおいてシングルイベントアップセットの発生を検出したときに、前記第１の状態保持レジスタが保持するデータを前記第２の状態保持レジスタに通知して前記第２の状態保持レジスタのデータを訂正するよう指示する第２の次状態判定部
とを有する状態制御装置。
【請求項２】
前記第１の次状態判定部は、外部からの状態制御信号を受け付け、前記第１の状態保持レジスタが保持するデータのうち２ビットを変化させて次の制御状態とするように指示する、請求項１に記載の状態制御装置。
【請求項３】
前記第１の状態保持レジスタは、外部から状態制御信号を受け付けたときに保持するデータを状態変化させ、前記第２の状態保持レジスタは、前記第１の状態保持レジスタの状態変化に追従して、保持するデータを状態変化させる、請求項１又は請求項２に記載の状態制御装置。
【請求項４】
前記SEU検出部は有効信号を外部に出力し、シングルイベントアップセットの発生を検出している期間は前記有効信号を非有効状態とする、請求項１乃至請求項３のいずれか一項に記載の状態制御装置。
【請求項５】
第１の状態保持レジスタ及び第２の状態保持レジスタに、制御状態を示す複数ビット幅からなるデータを保持させ、
前記第１の状態保持レジスタ及び前記第２の状態保持レジスタの少なくとも一方におけるシングルイベントアップセットの発生を検出し、
前記第１の状態保持レジスタにおいてシングルイベントアップセットの発生を検出したときは、前記第２の状態保持レジスタが保持するデータを前記第１の状態保持レジスタに通知して前記第１の状態保持レジスタのデータを訂正し、
前記第２の状態保持レジスタにおいてシングルイベントアップセットの発生を検出したときは、前記第１の状態保持レジスタが保持するデータを前記第２の状態保持レジスタに通知して前記第２の状態保持レジスタのデータを訂正する
状態制御方法。
【請求項６】
外部からの状態制御信号を受け付け、前記第１の状態保持レジスタが保持するデータのうち２ビットを変化させて次の制御状態とする、請求項５に記載の状態制御方法。
【請求項７】
外部から状態制御信号を受け付けたときに、前記第１の状態保持レジスタが保持するデータを状態変化させ、前記第１の状態保持レジスタの状態変化に追従して、前記第２の状態保持レジスタが保持するデータを状態変化させる、請求項５又は請求項６に記載の状態制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、状態制御装置及び状態制御方法に関し、特にシングルイベントアップセット発生による誤動作への耐性を備えた状態制御装置及び状態制御方法に関する。
【背景技術】
【０００２】
複数ビットレジスタを用いて状態を制御する制御装置が知られている。このような制御装置は例えば図５のような構成を備えている。制御装置は状態制御部１０１を備えており、状態制御部１０１は、制御対象への制御内容を示す複数ビットのデータを保持するレジスタ１０２と、外部からの状態制御信号を受けて、レジスタ１０２へ新たな複数ビットのデータへの更新を指示する次状態判定部１０３とを備えている。
【０００３】
人工衛星など宇宙空間で使用される半導体機器では、メモリやレジスタに記憶されているデータが宇宙放射線に曝されて、論理レベル反転が発生する可能性があることが知られている。宇宙空間等の放射線環境下で使用される半導体装置では、このようなシングルイベントアップセット（以下では、SEUと呼ぶ。）が問題となる。
【０００４】
図５に示される制御装置に、レジスタ１０２が保持するデータに、宇宙放射線等に起因する論理レベル反転、すなわちSEUが発生すると、制御対象の機器は誤った制御内容による制御を指示されて誤動作してしまう。
【０００５】
また、演算方法を決定する状態制御部と、状態制御部からの指定に基づきデータを演算する演算部とを有する論理回路の場合を考える。この場合、SEU発生による状態制御部が間違った演算方法を指定すれば、正しいデータを用いた場合であっても演算部は結果的に間違った演算結果を出力することとなる。よって、SEUに耐性を持つように信頼性を向上することが望まれている。
【０００６】
このようなSEUによる集積回路の論理レベル反転現象への、背景技術としては、メモリデータへの対策が知られている。例えば、特許文献１には、メモリに対してデータの読出し及び書込みを行う中央処理部による制御が行われていないときに、中央処理部の代わりにメモリに対してデータの読出しを行い、この読出されたデータについて誤り訂正を行い、この訂正後のデータをメモリに書込むことが提案されている。これにより、制御部の負荷を低減し、その処理速度を向上させている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開平１１−０５３２６７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
図５に示すような背景技術の制御装置では、SEU検出を行うことができないことである。このため、論理レベル反転が生じたデータが制御対象に出力されてしまい、制御対象が演算部である場合には、演算結果の信頼性が損なわれる。
【０００９】
一方、何がしかの手段でSEU検出を行って、制御装置が初期状態に戻った場合、初期状態からSEU検出までの演算を全てやり直す必要が生じる。このため、SEU発生からの回復には多大な時間を要する。
【００１０】
したがって、本発明の目的は、論理回路において、シングルイベントアップセットを検出した場合であっても、回復に長時間を要する、という課題を解決する状態制御装置及び状態制御方法装置を提供することにある。
【課題を解決するための手段】
【００１１】
前記目的を達成するため、本発明に係る状態制御装置は、制御状態を示す複数ビット幅からなるデータを保持する第１の状態保持レジスタ及び第２の状態保持レジスタと、前記第１の状態保持レジスタ及び前記第２の状態保持レジスタの少なくとも一方におけるシングルイベントアップセットの発生を検出するSEU検出部と、前記SEU検出部が前記第１の状態保持レジスタにおいてシングルイベントアップセットの発生を検出したときに、前記第２の状態保持レジスタが保持するデータを前記第１の状態保持レジスタに通知して前記第１の状態保持レジスタのデータを訂正するよう指示する第１の次状態判定部と、前記SEU検出部が前記第２の状態保持レジスタにおいてシングルイベントアップセットの発生を検出したときに、前記第１の状態保持レジスタが保持するデータを前記第２の状態保持レジスタに通知して前記第２の状態保持レジスタのデータを訂正するよう指示する第２の次状態判定部とを有する。
【００１２】
本発明に係る状態制御方法は、第１の状態保持レジスタ及び第２の状態保持レジスタに、制御状態を示す複数ビット幅からなるデータを保持させ、前記第１の状態保持レジスタ及び前記第２の状態保持レジスタの少なくとも一方におけるシングルイベントアップセットの発生を検出し、前記第１の状態保持レジスタにおいてシングルイベントアップセットの発生を検出したときは、前記第２の状態保持レジスタが保持するデータを前記第１の状態保持レジスタに通知して前記第１の状態保持レジスタのデータを訂正し、前記第２の状態保持レジスタにおいてシングルイベントアップセットの発生を検出したときは、前記第１の状態保持レジスタが保持するデータを前記第２の状態保持レジスタに通知して前記第２の状態保持レジスタのデータを訂正する。
【発明の効果】
【００１３】
本発明の状態制御装置及び状態制御方法によれば、シングルイベントアップセットを検出した後に短時間で状態を回復することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態に係る状態制御装置を示すブロック図である。
【図２】図１の状態制御装置の動作を説明するためのタイミングチャートである。
【図３】ビット幅が偶数のレジスタが保持するデータの遷移の例を示すテーブルである。
【図４】ビット幅が奇数のレジスタが保持するデータの遷移の例を示すテーブルである。
【図５】背景技術の状態制御装置を説明するためのブロック図である。
【発明を実施するための形態】
【００１５】
本実施形態の状態制御装置は、複数ビットレジスタから構成される状態を２重化する構成と、状態変化の際に変化する状態レジスタを２ビットずつ変化する仕組みを有する。
【００１６】
より具体的には、第１の状態保持レジスタと、第２の状態保持レジスタの二重化した状態レジスタを有する構成である。また、第１の状態保持レジスタと第２の状態保持レジスタはSEU検出部に接続して、常にSEUを検出可能な構成である。
【００１７】
さらに、第１の次状態判定部を有し、第１の次状態判定部は、現在の状態情報（第１の状態保持レジスタからの出力信号）を次の状態に変化させる際に、必ず２ビットのみ反転させる。第２の次状態判定部をさらに有し、第２の次状態判定部は、第１の状態保持レジスタの変化と第２の状態保持レジスタの値及び、SEU検出部のSEU検出の有無情報から第２の状態保持レジスタの次の状態値を生成する。
【００１８】
第１の状態保持レジスタと第２の状態保持レジスタはそれぞれSEU検出部に接続して、常にSEUを検出可能であり、一方にSEUが発生した際には、SEUの発生していない方の値に書き換えることにより、SEU発生の影響を１サイクル期間に留めることが可能となる。
【００１９】
さらに、外部へ状態通知する第１の状態保持レジスタ２にSEUが発生した際には、SEU検出信号を有効判定信号として外部に出力する。これにより、SEU発生による誤った状態を外部へ伝播させないことが可能となる。
【００２０】
第１の次状態判定部は、状態変化の際に、元の状態から必ず２ビットのビット反転した状態に変化し、状態変化後の値と更新信号を第１の状態保持レジスタに通知し、第１の状態保持レジスタの状態を変化させる。２ビットのビット反転により、各状態における１となるビットの総和は、初期状態が偶数の場合は常に偶数となり、初期状態が奇数の場合は常に奇数となる性質を持つ。この性質を利用し、各状態における１となるビットの総和が偶数から奇数、若しくは奇数から偶数へと変化した場合がSEU発生であると判定できる。
【００２１】
第１の状態保持レジスタにSEUが発生した際の第１の次状態判定部の動作を次に示す。第１の次状態判定部は、SEU検出部から第１の状態保持レジスタにSEU発生したことを示す情報を取得する。第２の状態保持レジスタの値を更新状態値とし、更新信号を通知する。これにより、第１の状態保持レジスタはSEU発生から即座に回復可能となる。
【００２２】
また、第２の次状態判定部は、状態変化後の値と更新信号を第２の状態保持レジスタに通知し、第２の状態保持レジスタの状態を更新する。第１の状態保持レジスタと第２の状態保持レジスタが異なる値であり、第１の状態保持レジスタにSEUが検出されていない場合は、第１の状態保持レジスタの値に更新する。第２の状態保持レジスタにSEUが検出された場合、第１の状態保持レジスタの値に更新する。一方、第１の状態保持レジスタにSEUが検出された場合は第１の状態保持レジスタの値に更新しない。これにより、第２の状態保持レジスタは１サイクル遅れて第１の状態保持レジスタを追従することが可能となる。
【００２３】
SEU検出部は、常に前サイクルと現サイクルの状態の１となるビットの総和を比較し、偶数から奇数、若しくは奇数から偶数に変化した際にSEU発生と判定する。これは、第１の次状態判定部５の２ビットのビット反転による状態変化の仕組みにより可能となった判定方法である。本実施形態の状態制御装置は、第１の状態保持レジスタと第２の状態保持レジスタにおける２セットのSEU検出機能を有する。このような構成を採用することにより、本発明の目的を達成することができる。
【００２４】
〔一実施形態〕
本発明の一実施形態による状態制御装置及び状態制御方法について、図面を参照して詳細に説明する。本実施形態は、複数ビットの状態を用いて状態制御するレジスタのビット幅が、偶数の場合のものである。
【００２５】
図１を参照すると、本発明の一実施の形態としての装置ブロック図が示されている。本実施形態による状態制御装置が備える状態制御部１は、第１の状態保持レジスタ２と、第２の状態保持レジスタ３と、SEU検出部４と、第１の次状態判定部５と、第２の次状態判定部６とを有する。
【００２６】
状態制御部１は、外部からの状態制御信号を基に状態制御内容を更新し、現在の制御状態を示す状態情報と、状態情報が有効であるか否かを示す有効信号とを出力する。状態制御信号は、一例として、１ビットのパルス信号である。状態制御信号に変化がない間は、同一状態を保ち続ける。状態制御信号に変化が存在した場合は、第１の状態保持レジスタ２が先に変化し、次に第２の状態保持レジスタ３が変化する。第１の状態保持レジスタ２と第２の状態保持レジスタ３とが同じ状態になった場合に、有効信号が有効状態になる。制御対象が演算部であり、状態制御部１からの指定に基づきデータを演算する演算部である場合には、有効信号が有効である場合に、状態情報の値に依存して演算部は演算を実施する。
【００２７】
第１の状態保持レジスタ２と第２の状態保持レジスタ３は、２重化された状態保持レジスタである。通常は第１の状態保持レジスタ２と第２の状態保持レジスタ３は同じ値である。一方、SEU発生の際には、非発生側の値に更新する。これにより、直ちにSEU発生状態からの回復を可能とする。
【００２８】
本実施形態では、第１の状態保持レジスタ２と第２の状態保持レジスタ３のビット幅を偶数の一例として、４ビットとする。図３は、ビット幅が４の場合のレジスタが保持するデータの遷移の例を示すテーブルである。第１の状態保持レジスタ２と第２の状態保持レジスタ３はそれぞれ、0000 (初期状態)、0011 (状態-1)、0101 (状態-2)、0110 (状態-3)、1001 (状態-4)、1111 (状態-5)、1010 (状態-6)、1100 (状態-7)の８種類のいずれかのデータを取りうるものとする。データの状態遷移は、この４ビットデータのうちの２ビットのビット反転により行われる。このため、図３に示すように、0000 (初期状態)は、0011 (状態-1)、0101 (状態-2)の２種に遷移可能であり、1001 (状態-4)は、1111 (状態-5)、1010 (状態-6)の２種に遷移可能である。
【００２９】
SEU検出部４は、常に第１の状態保持レジスタ２と第２の状態保持レジスタ３の値を監視する。SEU発生を検出した場合は、SEU発生通知と共に発生した方向（第１の状態保持レジスタ２或いは第２の状態保持レジスタ３）を通知する。
【００３０】
第１の次状態判定部５は、第１の状態保持レジスタ２へ次に遷移すべき状態情報と、状態遷移実行イネーブル信号を通知する。現在の状態と状態制御信号を基に通知信号を制御する。SEU発生の際には、第２の状態保持レジスタ３の情報を第１の状態保持レジスタ２へ通知し、SEUからの回復を図る。
【００３１】
第２の次状態判定部６は、第２の状態保持レジスタ３へ次に遷移すべき状態情報の通知と、状態遷移実行イネーブル信号を通知する。第１の状態保持レジスタ２の遷移を検出して通知信号を制御する。SEU発生の際には、第１の状態保持レジスタ２の情報を第２の状態保持レジスタ３へ通知し、SEUからの回復を図る。
【００３２】
次に、図２のタイミングチャートを参照して、図１の状態制御装置の動作、及び状態制御方法を説明する。
【００３３】
タイミングTIM1で、第１の状態保持レジスタ２の保持内容が、データST1からデータST2へ状態遷移する。タイミングTIM2で、第２の状態保持レジスタ３の保持内容が、データST1からデータST2へ状態遷移する。ここで、タイミングTIM3で第１の状態保持レジスタ２にSEUが発生したとする。この場合、タイミングTIM4でSEU検出部４はSEUを検出し、同時に第１の次状態判定部５が回復処理を実施する。SEU検出部４がSEUを検出している期間は、有効信号は状態情報が有効でないことを示す状態（非有効状態）になっている。
【００３４】
さらに、タイミングTIM5で第２の状態保持レジスタ３にSEUが発生したとする。この場合、タイミングTIM6でSEU検出部４はSEUを検出し、同時に第２の次状態判定部６が回復処理を実施する。SEU検出部４がSEUを検出している期間は、有効信号は状態情報が有効でないことを示す状態（非有効状態）になっている。
【００３５】
ここで、図３に示した具体的なデータを参照しながら、第１の状態保持レジスタ２で、SEUが発生した場合を説明する。1001(状態-4)の場合に、第１の状態保持レジスタ２にてSEUが発生したと想定する。1001(状態-4)であるため、SEU発生にて取り得る値は、1000、 1011、1101、0001の４種となる（２ビット同時ＳＥＵ発生は非常に確率が低いため、ここでは除外することとする）。１の数が奇数であるため、SEU検出部４にて第１の状態保持レジスタ２にSEUが発生したと判断できる。SEU検出は、第１の次状態判定部５に第２の状態保持レジスタ３と同じ状態に戻るように要求する。第１の次状態判定部５から第２の状態保持レジスタ３の値が第１の状態保持レジスタ２に通知され、第１の状態保持レジスタ２は元の状態に戻ることができる。第２の状態保持レジスタ３にSEUが発生した場合も同様に、第２の状態保持レジスタ３が第１の状態保持レジスタ２の値を使用して元の値に戻ることができる。SEU発生と、状態制御信号の入力が重なった場合、先ずSEU発生状態を元に戻してから状態制御信号の入力に対応する（その間、第１の次状態判定部５は、第１の状態保持レジスタ２の変化を待たせる制御を行う）。
【００３６】
本実施形態の第１の効果は、SEU発生の影響を状態制御部１の外に伝播させないようにすることができることである。その理由は、SEU検出部４は、第１の次状態判定部５と組み合わせることにより、判定条件が簡易となり、SEU発生と同一サイクルにてSEUを検出することが可能となるからである。その結果、状態有効信号も同一サイクルに出力することが可能であり、SEUが発生した状態信号を非有効状態として通知できる。そのため、SEU発生状態を外部に伝播させないことが可能となる。
【００３７】
第２の効果は、SEU発生からの回復に要する時間を短縮できることである。その理由は、SEU発生の影響を１サイクルに収め且つ、外部に伝播させないので、初期状態からの演算再実行が必要ないため、背景技術で示した制御装置に比べてSEU発生から回復までに要する時間が短くなるからである。
【００３８】
第３の効果は、SEU発生からの回復に使用する消費電力を低減できることである。その理由は、第２の効果と同じ理由により、演算再実行に要する消費電力が不要となるためである。
【００３９】
本実施形態によれば、SEU発生の大きい環境での装置の信頼性向上に寄与できる。さらに、SEU発生からの回復に使用する電力消費削減にも有効である。SEU発生の大きい環境の一例として宇宙環境が挙げられる。宇宙環境では、SEU発生が大きいだけではなく、消費電力等の制約もあるため、本発明は二重の意味で優位性を持つ。
【００４０】
〔変形例〕
以上好ましい実施形態について説明したが本発明は上記実施形態に限定されるものではない。例えば、上述した実施形態では状態制御するレジスタのビット幅が偶数の場合で説明したが、本発明はレジスタのビット幅が奇数の場合にも適用できる。以下に、レジスタのビット幅が奇数の場合を、上述した実施形態の変形例として説明する。
【００４１】
例えば、第１の状態保持レジスタ２と第２の状態保持レジスタ３のビット幅を奇数の一例として、３ビットとする。図４は、ビット幅が３の場合のレジスタが保持するデータの遷移の例を示すテーブルである。第１の状態保持レジスタ２と第２の状態保持レジスタ３はそれぞれ、000 (初期状態)、011 (状態-1)、101 (状態-2)、110 (状態-3)の４種類のいずれかのデータを取りうるものとする。データの状態遷移は、この３ビットデータのうちの２ビットのビット反転により行われる。このため、図４に示すように、000 (初期状態)は、011 (状態-1)、101 (状態-2)、110 (状態-3)の３種に遷移可能であり、101 (状態-2)は、110 (状態-3)、000 (初期状態)、011 (状態-1)の３種に遷移可能である。
【００４２】
この変形例においても、上述した一実施形態と同様に、２ビットのビット反転により、各状態において１となるビットの総和は、初期状態が偶数の場合は常に偶数となり、初期状態が奇数の場合は常に奇数となる。この性質を利用し、各状態における１となるビットの総和が偶数から奇数、若しくは奇数から偶数へと変化した場合に、SEUが発生したと判定できる。
【００４３】
よって、上述した実施形態と同様に、SEU発生の影響を状態制御部１の外に伝播させなくすることができ、SEU発生からの回復に要する時間を短縮でき、SEU発生からの回復に使用する消費電力を少なくできる。
【００４４】
以上、本発明の好ましい実施形態について説明したが、本発明はこれに限定されるものではない。特許請求の範囲に記載した発明の範囲内で、種々の変形が可能であり、それらも本発明の範囲に含まれることはいうまでもない。
【符号の説明】
【００４５】
１    状態制御部
２    第１の状態保持レジスタ
３    第２の状態保持レジスタ
４    SEU検出部
５    第１の次状態判定部
６    第２の次状態判定部
【図１】
2014191409.tif 000003
【図２】
2014191409.tif 000004
【図３】
2014191409.tif 000005
【図４】
2014191409.tif 000006
【図５】
2014191409.tif 000007