JP5699057B2 - プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス - Google Patents

プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス Download PDF

Info

Publication number
JP5699057B2
JP5699057B2 JP2011182103A JP2011182103A JP5699057B2 JP 5699057 B2 JP5699057 B2 JP 5699057B2 JP 2011182103 A JP2011182103 A JP 2011182103A JP 2011182103 A JP2011182103 A JP 2011182103A JP 5699057 B2 JP5699057 B2 JP 5699057B2
Authority
JP
Japan
Prior art keywords
error
unit
control circuit
reconfiguration
occurred
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011182103A
Other languages
English (en)
Other versions
JP2013046181A (ja
Inventor
鳥羽 忠信
忠信 鳥羽
健一 新保
健一 新保
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2011182103A priority Critical patent/JP5699057B2/ja
Priority to US14/232,930 priority patent/US20140164839A1/en
Priority to PCT/JP2012/066101 priority patent/WO2013027482A1/ja
Publication of JP2013046181A publication Critical patent/JP2013046181A/ja
Application granted granted Critical
Publication of JP5699057B2 publication Critical patent/JP5699057B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17756Structural details of configuration resources for partial configuration or partial reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1658Data re-synchronization of a redundant component, or initial sync of replacement, additional or spare unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/177Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
    • H03K19/17748Structural details of configuration resources
    • H03K19/17764Structural details of configuration resources for reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Logic Circuits (AREA)
  • Hardware Redundancy (AREA)
  • Microcomputers (AREA)

Description

本発明は、電子機器全般の高信頼化に関し、特にプログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイスに関する。
半導体デバイスの微細化に伴い、環境放射線(地上における宇宙線中性子、α線)ソフトエラーの問題が特にSRAM(非特許文献1)や論理ゲート(非特許文献2)、クロック系(非特許文献3)などについて顕在化している。極めて高いエネルギーを有する中性子がデバイスを構成する原子核内に突入すると核内の核子(中性子、陽子)が衝突を繰り返し、特に高いエネルギーを持った核子は核外に放出される。核子が核外に飛び出すだけの運動エネルギーを持ち得ない状態になると、励起状態にある残留原子核から陽子、中性子、重陽子、アルファ粒子などの軽粒子が蒸発する過程が続き、最終的に残留核も反挑エネルギーを持つためこれらの2次粒子は全てその飛程に見合った距離デバイスの中を飛ぶことになる。
半導体パッケージなどに含まれる放射性同位元素から発生するα線や、核反応の結果発生する電荷を持った2次イオンがSRAMの”high“状態にあるストレージノードの空乏層を通過すると、電子はノードに吸収され正孔は反対方向に流れイオンの飛跡に沿って電荷収集領域が広がるファネリングメカニズムによってストレージノードに電荷が収集される。臨界電荷量以上の電荷が収集されると“high“状態が“low“状態に推移し、ソフトエラー(Single Event Upset;SEU)になる。
これが、環境放射線ソフトエラーのメカニズムとして考えられてきた典型的なメカニズムでありSEU(Single Event Upset)と称される。メモリデバイスのSEUについて複数のセルが同時にエラーになるケースをMCU(Multi Cell Upset)と呼んでSBU(Single Bit Upset:単一ビットエラー)とは区別する。MCUは同一ワードに発生した場合MBU(Multiple Bit Upset)と呼んで通常のECC(Error Correction Code)では修復できないためシステムダウンの原因となる。
SEUを含むソフトエラーは、ハードエラー(ハードウェアの固定故障)と異なり、エラー発生後も新たなデータに更新され、再起動などによって正常に復帰してしまうためにエラーの要因特定が困難といった問題もある。このように論理回路に発生するソフトエラーの影響とは、コンピュータのプロセッサやASIC、制御用デジタル回路等の誤作動を引き起こすことを意味し、電子システムとしての誤作動の要因となることが懸念される。
近年では、様々な電子システム装置の制御用ロジック回路としてプログラマブルデバイスが多用されている。特にプログラマブルデバイスの中でもFPGA(Field Programmable Gate Array)の利用は増大している。FPGAは、ロジック回路情報をデバイス内部のメモリ(コンフィギュレーションメモリ、以下コンフィグメモリと称す)に格納して演算回路や制御回路を構築するが、このメモリに格納されたデータがソフトエラーにより破壊されることで、電子システム装置の誤作動を引き起こす可能性があることが問題視されつつある。通常、システムとして誤動作による影響がでないよう考えられているが、消費電力、開発、検証工数、コスト等の増大を招く要因となっている。
FPGAの環境放射線耐性を向上するための取組みとしては、ソフトエラーによって書き換えられたコンフィグメモリに正しい回路情報を再度書き込むリコンフィグを用いた手法や、内部回路の冗長化と多数決回路を用いた手法がある。特許文献1(特開2011−13829号)では、ソフトエラーが発生した回路部位をリコンフィグすることで耐性を向上するとともに、固定長ブロックでの回路情報格納と、その単位でソフトエラー検知を行うことで、その回路部位のみリコンフィグする手段を設け、ソフトエラー発生からリコンフィグ完了までの時間を短縮することが開示されている。また、特許文献2(特許4422596号)では、ネットワークで接続された各種信号処理ユニットに再構成可能な信号処理システムを2つ以上分散して配置することで、故障(ソフトエラー含む)が発生した信号処理ユニットの代わりを、正常動作可能な別の再構成可能な信号処理システムで代行することで高信頼化を図ることが開示されている。また、非特許文献4では、FPGA内のプロセッサ回路を3重化(TMR:Triple Modular Redundant)し、ソフトエラーによりコンフィグメモリが書き換えられた場合、一旦正常に動作しているプロセッサ回路を含め全体の動作を停止し、正常回路の内部レジスタを内部メモリに格納し、その後プロセッサ回路のみリコンフィグを行い、リコンフィグ終了後、格納したレジスタ値をリコンフィグしたプロセッサ回路にロードした後、再起動を行うことで復旧することを特徴とした耐性回路技術について述べている。
特開2011−13829号 特許4422596号
E.Ibe, "Current and Future Trend on Cosmic-Ray-Neutron Induced Single Event Upset at the Ground down to 0.1-Micron-Device," The Svedberg Laboratory Workshop on Applied Physics, Uppsala, May,3, No.1 (2001). P. Shivakumar (University of Texas at Austin), M. Kistler, W Keckler.S, DougBurger, Lorenzo.A., "Modeling the Effect of Technology Trends on the Soft Error Rate of Combinational Logic," Int'l Conf. on Dependable Systems and Networks, pp. 389-398 (2002). Seifert, N. , Shipley, P., Pant, M.D., Ambrose, V., and Gill, B., "Radiation-Induced Clock Jitter and Race," 2005 IEEE International Reliability Physics Symposium Proceedings, April 17-21, San Jose, April 17-21, 2005, Vol.43rd Annual, pp. 215-222 (2005). Improvingthe Robustness of a Softcore Processor against SEUs by using TMR and Partial Reconfiguraton ,著者名: Yoshihiro Ichinomiya, Shiro Tanoue (熊本大学), 資料名: 2010 18th IEEE Annual International Symposium on Field-Programmable Custom Computing Machines
半導体デバイスの微細化・高集積化伴い、環境放射線(α線、中性子線等)によるソフトエラーの影響が拡大し、プログラマブルデバイス(主にFPGA)でのソフトエラー頻度が急増し、電子システム製品におけるソフトエラーが問題となりつつある。しかし、ソフトエラーの主要因である中性子線を遮蔽することは難しく、その対策は困難である。
プログラマブルデバイスにおけるソフトエラー耐性向上の方法としては、回路を冗長化することが一般的である。しかし冗長回路の一部が中性子により書き換えられると、その部位を正しいデータに書き戻さない限りエラーが残り、冗長性が損なわれる。この場合、プログラマブルデバイス全体もしくは、エラーが発生した部位を部分的に書き直すことで復旧できるが、書き直している間、正常回路も含め動作を停止しないと、正常に処理を進めている正常回路と書き直しにより処理が停止しているエラー発生回路の処理との間で、処理の進度に違いが発生する。従って、プログラマブルデバイスでソフトエラーが発生した際に、コンフィグメモリを書き直す場合、その間動作を停止しなければならない。通信装置等、装置停止が及ぼす影響が大きなシステムでは、システムの動作を停止せずに復旧することが重要であるため、プログラマブルデバイスを用いた際は、従来、製品全体もしくは製品の一部(基板単位等)の冗長化で対応することになる。
本発明の目的は、電子システム製品に用いるプログラマブルデバイスの環境放射線ソフトエラー耐性を向上し、社会インフラシステムに要求される高信頼化と無停止システム実現に貢献することのできるプログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイスを提供することにある。
本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次の通りである。
(1)複数の制御回路と、前記複数の制御回路からの出力を比較してエラーの発生を検査する比較部と、前記比較部にてエラーが発生していると判断された場合に、前記複数の制御回路のうちエラーが発生していない制御回路の内部状態を記憶する記憶部と、前記比較部にてエラーが発生していると判断された制御回路をリコンフィグするリコンフィグ部と、前記記憶部に記憶されたエラーが発生していない制御回路の内部状態を、前記比較部にてエラーが発生していると判断された制御回路に入力する制御部と、を備えるプログラマブルデバイスである。
本発明によれば、電子システム製品に用いるプログラマブルデバイスの環境放射線ソフトエラー耐性を向上し、社会インフラシステムに要求される高信頼化と無停止システム実現に貢献することのできるプログラマデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイスを提供することができる。
本発明の実施の形態に係るプログラマブルデバイスプログラマブルデバイスの構成図である。 本発明の実施の形態に係るプログラマブルデバイスプログラマブルデバイスの別の構成例である。 本発明の実施の形態に係る動作シーケンス例である。 本発明の実施の形態に係るプログラマブルデバイスによる冗長部位の制御タイミングチャート例を示した図である。 本発明の実施の形態に係るプログラマブルデバイスによる冗長部位の内部状態を記録する手段を示した図である。 本発明の実施の形態に係るプログラマブルデバイスをもとに設計する場合の入力画面例を示した図である。 本発明の実施の形態に係るプログラマブルデバイスによる構成部位を含む設計検証を行う際にソフトエラーを強制的に挿入する手段を示した図である。 本発明の実施の形態に係るプログラマブルデバイスを用いた電子システム装置の環境放射線照射試験時に内部状態を外部に出力する手段を示した図である。 図8による出力結果を表示した画面例を示す。 本発明の実施の形態に係るプログラマブルデバイスによるリコンフィグ制御部と上位システムとの構成例を示す。 本発明の実施の形態に係る通信機器を構成した例を示す。
本発明に係るプログラマブルデバイスの環境放射線起因ソフトエラー耐性回路、および装置の実施例を、図面を用いて説明する。
図1は、本発明の実施の形態に係るプログラマブルデバイスの構成図である。
図1に記載のプログラマブルデバイス1は、リコンフィグ制御部2と、冗長回路部3(制御回路部4、5、6)と、多数決回路部7と、クロック制御部8と、入力記録部9と、選択器10と、追跡制御部11と、記録データ選択部12と、状態記録部13と、を備えて構成される。
制御回路部4、5、6は、各種演算、外部メモリ制御、通信用パケット解析処理、外部I/F制御等の所望の機能を実現するための回路である。選択器10により選択された信号を受信し、各制御回路部4、5、6、からの出力データを多数決回路部7に出力する。制御回路部5および6は、制御回路部4を複製したものであり冗長性を有する。ここでは、制御回路部4乃至6をまとめて冗長回路部3と称する。
クロック制御部8は、外部からクロック信号15を受け取り、定常状態で使用する周波数のクロック信号18または周波数を変更したクロック信号19を制御回路部4、5、6、リコンフィグ制御部2、多数決回路部7、入力記録部9、追跡制御部11、記録データ選択部12、状態記録部13の各部位へ出力する。
多数決回路部7は、環境放射線耐性を向上するために制御回路部4、5、6の出力データに対して多数決処理を行い、ソフトエラーの発生有無またはソフトエラーの発生している制御回路部を特定する。その結果、制御回路部4乃至6のいずれかにエラーが発生していると判断した場合は、エラーが発生したことを知らせる信号20、21、23をそれぞれ追跡制御部11、リコンフィグ制御部2、記録データ選択部12に送る。また、判定結果を出力信号17として外部に出力する。
記録データ選択部12は、多数決回路部7でのソフトエラー発生有無の判定結果に基づき、ソフトエラーが発生した時点でエラーが発生していない正常な制御回路部を選択し、選択した制御回路部4乃至6との間で内部状態データを知らせる信号22をやり取りする。
状態記録部13は、記録データ選択部12との間でデータやり取りを行い、記録データ選択部12で選ばれたエラーが発生していない正常な制御回路部の内部状態を格納する。
リコンフィグ制御部2は、エラーが発生したことを知らせる多数決回路部7からの信号21を受信し、コンフィグ制御信号14を外部とやり取りすることにより、所望の機能を実現するための回路情報を格納するプログラマブルデバイスに設けられているコンフィギュレーションメモリ(開示せず)への書き込み制御を行う。コンフィギュレーションメモリとは、プログラマブルデバイスを実現するために必須のメモリであり、一般的に用いられる。図1に開示された全ての部位がコンフィギュレーションメモリに格納され、回路機能を実現する。
入力記録部9は、制御回路部4、5、6へ入力するための外部からの入力信号16を一時的に記録し、選択器10に対して出力する。
選択器10は、入力信号16と入力記録部9からの出力信号のいずれか一方を選択して各制御回路部4乃至6に入力する。
追跡制御部11は、多数決回路部7からの制御回路の一部にエラーが発生したことを知らせる信号20とリコンフィグ制御部3からの出力信号とに基づき、一時的に早めたクロック信号を出力し、一部の処理を高速化するようクロック制御部8に入力する。また、追跡制御部11から選択器10に出力信号の選択を指示する信号を出力する。
なお、図1では冗長回路部3は3つの制御回路部4乃至6により構成されているが、3重化以上の冗長化の構成としてもよい。制御回路部の数を増やすことにより冗長性が高まる。また、クロック制御部8は、周波数を変更する手段と、複数のクロック信号に分配する手段を持つ。
図1に示すプログラマブルデバイス1の構成において、コンフィグ制御信号14は、プログラマブルデバイス1の回路情報データと書き込みを制御する信号とリコンフィグが終了したことを知らせる信号と冗長回路部3の中のソフトエラーが発生した部位のデータであることを伝える信号を含む。
また、多数決回路部7から追跡制御部11に対しての制御回路の一部にエラーが発生したことを知らせる信号20と、多数決回路部7からリコンフィグ制御部2に対して制御回路の一部にエラーが発生したことを知らせる信号21と、多数決回路部7から記録データ選択部12に対して制御回路の一部にエラーが発生したことを知らせる信号23とにより、制御回路の一部にソフトエラーが発生したことを関係する各制御部へ伝える。また、信号20を受けた後、追跡制御部11からクロック制御部8へ同様にエラーの発生を伝えるとともに、プログラマブルデバイス1内部に分配するクロック信号の中で周波数を変更する部位を指示する情報を渡す。
なお、クロック制御部8は、この信号を多数決回路部7から直接入力する構成としても良い。図1では、クロック信号の接続は図示していないが、各部位へクロック信号18を接続する構成を取り、クロック信号19は、冗長回路部3と、入力記録部9に接続する。また、リコンフィグ時に多数決回路部7へ不要なデータが送出されるため、多数決回路部7への制御回路部からの入力をマスクする機能を多数決回路部7に設けても良い。
図2は、本発明の実施の形態に係るプログラマブルデバイスの別の構成例である。図1に示すプログラマブルデバイスとの違いは、図1記載のプログラマブルデバイスでは別個の構成としていた入力記録部9を一つにまとめた点にある。図1では冗長回路部3の冗長個数分(3個)の入力記録部9で構成していたが、図2の構成では、常時入力記録部9にも入力信号16のデータを格納し、ソフトエラーが発生した場合、ソフトエラーが発生していない正常な制御回路部へは入力記録部9を通さないもう一方の信号をバス選択器29で選択し、リコンフィグが終了した制御回路部への入力信号は、もう一方の入力記録部9を通した信号を選択する。この構成により、入力記録部9の容量を削減することができる。
図3は、本発明の実施の形態に係る動作シーケンス例である。
制御回路部4、5、6を所望の機能を有する回路で構成し、その制御回路が定常動作を開始した後、制御回路部4乃至6からの出力に基づいて多数決回路部7でソフトエラーの監視処理を開始する(step31)。なお、ソフトエラー検出は、多数決回路部7での検出だけでなく、プログラマブルデバイスのコンフィグメモリのデータ反転を監視する手段により検出しても良い。
Step31にてソフトエラーを検出した場合(step32のYes)、多数決回路部7での検出結果に基づき正常な制御回路部を記録データ選択部12にて選択し、正常な制御回路部の内部状態を状態記録部13に格納する(step33)。内部状態とは、例えば、制御回路部がプロセッサの場合、ステータスレジスタを示す。また、Step31にてソフトエラーを検出した場合(step32のNo)は、エラーを検出するまで引き続きエラー監視処理を続ける。
次にソフトエラーを検出した制御回路ブロックに入力する信号を入力記録部9に格納する(step34)。
次に、ソフトエラーが発生した制御回路部のリコンフィグ動作を開始し(step35)、リコンフィグが終了した後、状態記録部13から動作を停止した時点の状態データをロードする(step43)。
その後、リコンフィグした制御回路の入力を入力記録部9からの入力側へ切り替え(step36)、リコンフィグした制御回路部の動作周波数をクロック制御部8により切り替える(step37)。
リコンフィグした制御回路部が、正常な制御回路部の処理フェーズに追いつくまで、入力記録部9からの入力信号により動作を続ける(step39、step40)。
正常な制御回路部の処理フェーズに追いついたと判定した場合、選択器10により外部からの入力信号に切り替える(step38)。
図4は、本発明の実施の形態に係るプログラマブルデバイスによる冗長部位の制御タイミングチャート例を示した図である。
図4の例では、制御回路部4にソフトエラーが発生した場合を示す。制御回路部4で、ソフトエラーが発生した際、記録データ選択部12の動作開始(図中、イネーブル状態)を発行し、この信号を受けて状態記録部13は、正常な制御回路部5または6の内部状態を格納する。同時に入力記録部9への入力信号16の記録を開始する。状態記録部13での記録が完了した後、制御回路部4のリコンフィグを開始する。リコンフィグが完了した後、状態記録部13からデータをロードする。データのロードが完了した後、制御回路部4の動作周波数を制御回路部5と制御回路部6より早くする。なお、制御回路部5と6を制御回路部4より遅くしても良い。
図5は、本発明の実施の形態に係るプログラマブルデバイスによる冗長部位の内部状態を記録する手段を示した図である。図5の例では、制御回路4で発生したソフトエラーを多数決回路部7が検出し、ソフトエラー検出情報とソフトエラー発生部位を記録データ選択部12に伝える。記録データ選択部12は、正常な制御回路部(図5では、制御回路部5または6)の内部状態を保持するレジスタ51のデータを一括して状態記録部13に複写する。正常な制御回路部が複数ある場合、その選択の優先順位決定方法は特に問わない。
図6は、本発明の実施の形態に係るプログラマブルデバイスをもとに設計する場合の入力画面(GUI)61の例を示した図である。
プログラマブルデバイス1において、所望の機能を構成する制御回路部4乃至6に本発明の回路構成を付加する機能を有するプログラムにおいて、その入力画面は、制御回路部の冗長数を表す冗長度と、ソフトエラーが発生した制御回路部と発生していない制御回路部との動作周波数比と、状態記録部13における記録格納サイズを表す状態レジスタサイズと、入力記録部9の入力信号を記録するサイズを表すバッファ深さとを入力することができる。このGUI画面では、入力記録部9と、選択器10と、追跡制御部11と、記録データ選択部12と、状態記録部13と、その間の接続情報を生成する機能を有する。
図7は、本発明の実施の形態に係るプログラマブルデバイスによる構成部位を含む設計検証を行う際にソフトエラーを強制的に挿入する手段を示した図である。図1および図2のプログラマブルデバイスとの違いは、本発明によるプログラマブルデバイスの設計検証時に強制的にソフトエラーを発生させ、ソフトエラー検出から復旧までの動作を確認するエラー挿入制御部72を設けた点にある。エラー挿入制御部72は、プログラマブルデバイス1の外部よりエラー挿入信号71を受けた後、エラー挿入制御部72から制御回路部4乃至6にエラーを挿入する。エラー挿入部位については、エラー挿入信号71に基づき決定する。なお、エラー挿入部位の指定については、プログラマブルデバイス1の回路を設計する際に予め決めて作り込んでも良い。また、エラー挿入制御部72より、対象となる制御回路部のコンフィグメモリのデータを反転させても良い。
図8は、本発明の実施の形態に係るプログラマブルデバイスを用いた電子システム装置の環境放射線照射試験時に内部状態を外部に出力する手段を示した図である。本発明によるプログラマブルデバイス1に対し、監視制御部81と、状態記録部13から格納されているデータを読み出す手段85を設け、図3で示した動作シーケンスの動作状態を外部に出力する。監視制御部81は、多数決回路部7から、ソフトエラー検出信号84を入力する。また、リコンフィグ制御部2から、リコンフィグ開始とリコンフィグ中、リコンフィグ終了状態を示す信号82を入力する。これらの入力を受け、監視制御部81は、環境放射線耐性試験の際に外部に監視信号83を出力することで、ソフトエラー検出状態とリコンフィグ状態を出力する。
図9は、図8による出力結果を表示した画面例91を示す。図8に示す監視手段により出力された情報を外部のコンピュータ等を用いて表示(GUI)した例を示す。表示する情報は、ソフトエラーを検出した部位を表すエラーブロックと、入力信号記録部9の使用量を表すバッファ使用量と、リコンフィグ状態を示すコンフィグ状態表示と、リコンフィグ回数を表示する。また、状態記録部13に格納されているデータを読み出す際の格納位置を表すアドレスと、読み出した結果を表すデータ表示部とを有する。この表示画面により、環境放射線を強制的に与える試験時に耐性評価と動作確認を容易に行うことができる。なお、バッファ使用量は内部監視状態を即座に表示する場合と、バッファの最大使用量を表示することがある。なお、本構成は、通常の製品使用状態での誤動作要因解析にも対応できる。
図10は、本発明の実施の形態に係るプログラマブルデバイスによるリコンフィグ制御部と上位システムとの構成例を示す。プログラマブルデバイス1のリコンフィグ制御は、外部のプロセッサ101により制御される。ソフトエラー発生を検出すると、リコンフィグ制御部2は、エラー検出をプロセッサ101へ伝える。プロセッサ101は、コンフィグデータを格納するコンフィグデータメモリ102より正常な回路情報であるコンフィグデータを読み出し、プログラマブルデバイス1をリコンフィグする。リコンフィグ制御部2は、リコンフィグ状態を監視し、完了した後、リコンフィグ終了信号をプロセッサ101へ出力する。また、コンフィグデータ104をコンフィグデータメモリ102ではなく、ネットワーク等で接続された上位システム103(コンピュータ等)より入力し、リコンフィグする構成としてもよい。
図11は、本発明の実施の形態に係る通信機器を構成した例を示す。図11では、通信装置に搭載される制御基板117のパケット制御部111を本発明によるプログラマブルデバイスを用いて実現した例である。パケット制御部111を持つネットワークスイッチ112を介して、サーバ113、114とパーソナルコンピュータ等のクライアント機器を接続したネットワークにおいて、通信装置の通信パケットの経路変更を行うパケット制御部111は、高速に流れるパケットを流し続ける必要があり、停止することは許されない。
なお、冗長化した制御回路部以外についても、環境放射線によるソフトエラーの発生が懸念されるため、コンフィグメモリのエラー検出手段により監視するものとする。
また、本発明は、環境放射線起因のソフトエラーだけでなく、電気的、磁気的外乱ノイズやデバイス内部で発生したノイズによるソフトエラーにも対応できる。
以上述べたように、本実施例によれば、電子システム製品に用いるプログラマブルデバイスの環境放射線によるソフトエラーからの復旧時に、ソフトエラー発生部位のリコンフィグを、システム停止することなく実現でき、通信機器等の社会インフラを支えるシステムの高信頼化できる。
1 プログラマブルデバイス
2 リコンフィグ制御部
3 冗長回路部
4 制御回路部
5 制御回路部(制御回路部4の複製)
6 制御回路部(制御回路部4の複製)
7 多数決回路部
8 クロック制御部
10 入力信号選択部
11 追跡制御部
12 記録データ選択部
13 状態記録部
14 コンフィグ制御信号
15 クロック信号
16 入力信号(制御回路部への入力信号)
17 出力信号(制御回路部の出力信号)
18 定常クロック信号
19 リコンフィグからの復旧時に使用するクロック信号
20 多数決回路部から追跡制御部へのソフトエラー検出信号
21 多数決回路部からリコンフィグ制御部へのソフトエラー検出信号
22 制御回路部から記録データ選択部への内部状態データ信号
23 多数決回路部から記録データ選択部へのソフトエラー検出信号

Claims (8)

  1. 複数の制御回路と、
    前記複数の制御回路からの出力を比較してエラーの発生を検査する比較部と、
    前記比較部にてエラーが発生していると判断された場合に、前記複数の制御回路のうちエラーが発生していない制御回路の内部状態を記憶する記憶部と、
    前記比較部にてエラーが発生していると判断された制御回路をリコンフィグするリコンフィグ部と、
    前記記憶部に記憶されたエラーが発生していない制御回路の内部状態を、前記比較部にてエラーが発生していると判断された制御回路に入力する制御部と、
    外部からの入力信号を記録する入力記録部と、を備え、
    前記制御部では、前記エラーが発生していると判断された制御回路が前記エラーが発生していない制御回路の処理状態に追いつくまで、前記入力記録部に記録された入力信号を前記エラーが発生していると判断された制御回路に入力することを特徴とするプログラマブルデバイス。
  2. 複数の制御回路と、
    前記複数の制御回路からの出力を比較してエラーの発生を検査する比較部と、
    前記比較部にてエラーが発生していると判断された場合に、前記複数の制御回路のうちエラーが発生していない制御回路の内部状態を記憶する記憶部と、
    前記比較部にてエラーが発生していると判断された制御回路をリコンフィグするリコンフィグ部と、
    前記記憶部に記憶されたエラーが発生していない制御回路の内部状態を、前記比較部にてエラーが発生していると判断された制御回路に入力する制御部と、
    前記比較部からのエラー検出信号と前記リコンフィグ部からのリコンフィグ信号とに基づきリコンフィグ状態を監視する監視部と、を備えることを特徴とするプログラマブルデバイス。
  3. 請求項1または2記載のプログラマブルデバイスであって、
    前記リコンフィグ部では、前記比較部にてエラーが発生していると判断された制御回路の回路情報を書き直すことを特徴とするプログラマブルデバイス。
  4. 請求項1乃至3のいずれかに記載のプログラマブルデバイスであって、
    さらに、前記複数の制御回路のいずれかにエラー信号を挿入するエラー挿入部を備えることを特徴とするプログラマブルデバイス。
  5. 請求項1乃至4のいずれかに記載のプログラマブルデバイスを備えた電子デバイスであって、
    前記リコンフィグ部によるリコンフィグを制御するプロセッサと、
    前記リコンフィグ部におけるリコンフィグにて用いるコンフィグデータメモリを格納するコンフィグデータメモリ部と、を備える電子デバイス。
  6. 比較部が複数の制御回路からの出力を比較してエラーの発生を検査する比較工程と、
    前記比較工程にて前記比較部がエラーが発生していると判断した場合に、記憶部が前記複数の制御回路のうちエラーが発生していない制御回路の内部状態を記憶する記憶工程と、
    リコンフィグ部が前記比較工程にてエラーが発生していると判断された制御回路をリコンフィグするリコンフィグ工程と、
    前記記憶工程にて前記記憶部に記憶されたエラーが発生していない制御回路の内部状態を、制御部が前記比較工程にてエラーが発生していると判断された制御回路に入力する制御工程と、
    入力記録部が外部からの入力信号を記録する入力記録工程と、を備え、
    前記制御工程では、前記エラーが発生していると判断された制御回路が前記エラーが発生していない制御回路の処理状態に追いつくまで、前記制御部が前記入力記録工程にて記録した入力信号を前記エラーが発生していると判断された制御回路に入力することを特徴とするプログラマブルデバイスのリコンフィグ方法。
  7. 請求項6に記載のプログラマブルデバイスのリコンフィグ方法であって、
    さらに、エラー挿入部が前記複数の制御回路のいずれかにエラー信号を挿入するエラー挿入工程を備えることを特徴とするプログラマブルデバイスのリコンフィグ方法。
  8. 請求項6または7に記載のプログラマブルデバイスのリコンフィグ方法であって、
    さらに、前記比較工程における比較結果であるエラー検出信号と前記リコンフィグ工程におけるリコンフィグ処理完了信号とに基づき、監視部がリコンフィグ状態を監視する監視工程を備えることを特徴とするプログラマブルデバイスのリコンフィグ方法。
JP2011182103A 2011-08-24 2011-08-24 プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス Active JP5699057B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011182103A JP5699057B2 (ja) 2011-08-24 2011-08-24 プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス
US14/232,930 US20140164839A1 (en) 2011-08-24 2012-06-25 Programmable device, method for reconfiguring programmable device, and electronic device
PCT/JP2012/066101 WO2013027482A1 (ja) 2011-08-24 2012-06-25 プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011182103A JP5699057B2 (ja) 2011-08-24 2011-08-24 プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス

Publications (2)

Publication Number Publication Date
JP2013046181A JP2013046181A (ja) 2013-03-04
JP5699057B2 true JP5699057B2 (ja) 2015-04-08

Family

ID=47746237

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011182103A Active JP5699057B2 (ja) 2011-08-24 2011-08-24 プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス

Country Status (3)

Country Link
US (1) US20140164839A1 (ja)
JP (1) JP5699057B2 (ja)
WO (1) WO2013027482A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014178793A (ja) * 2013-03-14 2014-09-25 Hitachi Ltd 情報処理システム
WO2014141455A1 (ja) * 2013-03-15 2014-09-18 株式会社日立製作所 Fpga回路
JP6038706B2 (ja) * 2013-03-29 2016-12-07 大同信号株式会社 二線式検査回路搭載fpga
JP2014229130A (ja) * 2013-05-23 2014-12-08 株式会社日立製作所 高信頼プロセッサおよびそれを用いた高信頼制御装置
JPWO2015068207A1 (ja) * 2013-11-05 2017-03-09 株式会社日立製作所 プログラマブルデバイス
WO2015111176A1 (ja) * 2014-01-24 2015-07-30 株式会社日立製作所 プログラマブルデバイス、エラー保持システム、及び電子システム装置
US9547328B2 (en) * 2014-02-12 2017-01-17 Ge-Hitachi Nuclear Energy Americas Llc Methods and apparatuses for reducing common mode failures of nuclear safety-related software control systems
JP6282482B2 (ja) 2014-02-18 2018-02-21 株式会社日立製作所 プログラマブル回路装置、コンフィギュレーション情報修復方法
JP2015201813A (ja) * 2014-04-10 2015-11-12 株式会社日立製作所 プログラマブルゲートアレイ
US10318376B2 (en) * 2014-06-18 2019-06-11 Hitachi, Ltd. Integrated circuit and programmable device
US9362913B1 (en) * 2014-09-26 2016-06-07 Altera Corporation Circuitry for implementing multi-mode redundancy and arithmetic functions
WO2017094162A1 (ja) * 2015-12-03 2017-06-08 三菱電機株式会社 多重系システム
JP6722010B2 (ja) * 2016-03-16 2020-07-15 ソニー・オリンパスメディカルソリューションズ株式会社 医療用観察システム
JP6917168B2 (ja) * 2016-04-01 2021-08-11 株式会社半導体エネルギー研究所 半導体装置
US10263119B2 (en) * 2016-09-23 2019-04-16 Semiconductor Energy Laboratory Co., Ltd. Programmable device with high reliability for a semiconductor device, display system, and electronic device
JP6546213B2 (ja) * 2017-04-13 2019-07-17 ファナック株式会社 回路構成最適化装置及び機械学習装置
JP6490316B1 (ja) * 2018-02-28 2019-03-27 三菱電機株式会社 出力判定回路
JP6889138B2 (ja) * 2018-10-16 2021-06-18 Necプラットフォームズ株式会社 格納装置及び格納方法
JP7463650B2 (ja) * 2020-03-27 2024-04-09 Kddi株式会社 データ処理装置およびデータ処理方法

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4733353A (en) * 1985-12-13 1988-03-22 General Electric Company Frame synchronization of multiply redundant computers
JPH0778750B2 (ja) * 1985-12-24 1995-08-23 日本電気株式会社 高信頼性コンピュータ方式
JPH0731537B2 (ja) * 1987-09-11 1995-04-10 株式会社日立製作所 多重化制御装置
US4965717A (en) * 1988-12-09 1990-10-23 Tandem Computers Incorporated Multiple processor system having shared memory with private-write capability
US5295258A (en) * 1989-12-22 1994-03-15 Tandem Computers Incorporated Fault-tolerant computer system with online recovery and reintegration of redundant components
US5812757A (en) * 1993-10-08 1998-09-22 Mitsubishi Denki Kabushiki Kaisha Processing board, a computer, and a fault recovery method for the computer
US5903717A (en) * 1997-04-02 1999-05-11 General Dynamics Information Systems, Inc. Fault tolerant computer system
US5923830A (en) * 1997-05-07 1999-07-13 General Dynamics Information Systems, Inc. Non-interrupting power control for fault tolerant computer systems
US6625756B1 (en) * 1997-12-19 2003-09-23 Intel Corporation Replay mechanism for soft error recovery
US6085350A (en) * 1998-03-04 2000-07-04 Motorola, Inc. Single event upset tolerant system and method
US6504411B2 (en) * 2000-11-02 2003-01-07 Intersil Americas Inc. Redundant latch circuit and associated methods
US7036059B1 (en) * 2001-02-14 2006-04-25 Xilinx, Inc. Techniques for mitigating, detecting and correcting single event upset effects in systems using SRAM-based field programmable gate arrays
US6862693B2 (en) * 2001-04-13 2005-03-01 Sun Microsystems, Inc. Providing fault-tolerance by comparing addresses and data from redundant processors running in lock-step
US6938183B2 (en) * 2001-09-21 2005-08-30 The Boeing Company Fault tolerant processing architecture
JP3982353B2 (ja) * 2002-07-12 2007-09-26 日本電気株式会社 フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
JP2004046599A (ja) * 2002-07-12 2004-02-12 Nec Corp フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
DE10317650A1 (de) * 2003-04-17 2004-11-04 Robert Bosch Gmbh Programmgesteuerte Einheit und Verfahren
US7426656B2 (en) * 2004-03-30 2008-09-16 Hewlett-Packard Development Company, L.P. Method and system executing user programs on non-deterministic processors
US6937527B1 (en) * 2004-05-27 2005-08-30 Hewlett-Packard Development Company, L.P. High reliability triple redundant latch with voting logic on each storage node
US7095262B2 (en) * 2004-07-19 2006-08-22 Hewlett-Packard Development Company, Lp. High reliability triple redundant latch with integrated testability
US7308605B2 (en) * 2004-07-20 2007-12-11 Hewlett-Packard Development Company, L.P. Latent error detection
US7027333B2 (en) * 2004-09-03 2006-04-11 Hewlett-Packard Development Company, L.P. High reliability triple redundant memory element with integrated testability and voting structures on each latch
US7437599B2 (en) * 2005-02-15 2008-10-14 Maxwell Technologies, Inc. System and method for effectively implementing an immunity mode in an electronic device
US20060236158A1 (en) * 2005-04-15 2006-10-19 Thayer Larry J Memory element for mitigating soft errors in logic
US7590885B2 (en) * 2005-04-26 2009-09-15 Hewlett-Packard Development Company, L.P. Method and system of copying memory from a source processor to a target processor by duplicating memory writes
US7647543B2 (en) * 2006-02-01 2010-01-12 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Reprogrammable field programmable gate array with integrated system for mitigating effects of single event upsets
US20070260939A1 (en) * 2006-04-21 2007-11-08 Honeywell International Inc. Error filtering in fault tolerant computing systems
JP2007293701A (ja) * 2006-04-26 2007-11-08 Canon Inc 動的再構成可能デバイスの制御装置及び方法
US7482831B2 (en) * 2006-05-10 2009-01-27 Alcatel-Lucent Usa Inc. Soft error tolerant flip flops
FR2925191B1 (fr) * 2007-12-14 2010-03-05 Thales Sa Architecture de traitement numerique a haute integrite a multiples ressources supervisees
US7906984B1 (en) * 2008-02-26 2011-03-15 The United States Of America As Represented By The Secretary Of The Air Force Relocatable field programmable gate array bitstreams for fault tolerance
US7576557B1 (en) * 2008-03-26 2009-08-18 Xilinx, Inc. Method and apparatus for mitigating one or more event upsets
US20090249174A1 (en) * 2008-04-01 2009-10-01 International Business Machines Corporation Fault Tolerant Self-Correcting Non-Glitching Low Power Circuit for Static and Dynamic Data Storage
WO2010038096A1 (en) * 2008-09-30 2010-04-08 Freescale Semiconductor, Inc. Method and apparatus for handling an output mismatch
US8161441B2 (en) * 2009-07-24 2012-04-17 StarDFX Technologies, Inc. Robust scan synthesis for protecting soft errors
JP5421152B2 (ja) * 2010-03-08 2014-02-19 ルネサスエレクトロニクス株式会社 半導体集積回路
US8612814B1 (en) * 2010-06-14 2013-12-17 Altera Corporation Memory error detection circuitry
ES2694803T3 (es) * 2010-10-28 2018-12-27 Data Device Corporation Sistema, método y aparato para la corrección de errores en sistemas multiprocesador

Also Published As

Publication number Publication date
US20140164839A1 (en) 2014-06-12
JP2013046181A (ja) 2013-03-04
WO2013027482A1 (ja) 2013-02-28

Similar Documents

Publication Publication Date Title
JP5699057B2 (ja) プログラマブルデバイス、プログラマブルデバイスのリコンフィグ方法および電子デバイス
Mitra et al. Robust system design to overcome CMOS reliability challenges
JP6290934B2 (ja) プログラマブルデバイス、エラー保持システム、及び電子システム装置
CN100578462C (zh) 降低时钟同步双模冗余系统中错误率的装置、方法和系统
EP3076298B1 (en) Methods and apparatus for embedding an error correction code in memory cells
CN103971732A (zh) 监控fpga的单粒子翻转效应并纠正重加载的方法及系统
Anjankar et al. FPGA based multiple fault tolerant and recoverable technique using triple modular redundancy (FRTMR)
JP5198375B2 (ja) 測定装置及び測定方法
US8436646B1 (en) Reconfigurable logic block with user RAM
Kastil et al. Dependability analysis of fault tolerant systems based on partial dynamic reconfiguration implemented into FPGA
JP5722754B2 (ja) ソフトエラー耐性調整機能を備えた電子システム装置及びソフトエラー耐性調整方法
Miculka et al. Generic partial dynamic reconfiguration controller for transient and permanent fault mitigation in fault tolerant systems implemented into fpga
WO2014115289A1 (ja) プログラマブルデバイス及び電子システム装置
Gericota et al. On-line self-healing of circuits implemented on reconfigurable FPGAs
Major et al. Radpc: A novel single-event upset mitigation strategy for field programmable gate array–based space computing
JP5838103B2 (ja) 電子装置、ソフトエラー耐性評価システム及び評価方法
JP6263649B2 (ja) プログラマブルデバイス及びそれを用いた制御装置、及びその障害対策方法
Salewski et al. Fault handling in FPGAs and microcontrollers in safety-critical embedded applications: A comparative survey
Wirthlin et al. Hybrid Configuration Scrubbing for Xilinx 7-Series FPGAs
JP7339587B2 (ja) 核反応検出装置及び核反応検出方法並びに核反応検出プログラム
Kudva et al. Balancing new reliability challenges and system performance at the architecture level
Miculka Methodology for fault tolerant systems design into limited implementation area in FPGA
Veeravalli et al. A versatile architecture for long-term monitoring of single-event transient durations
Lee et al. Fault recovery time analysis for coarse-grained reconfigurable architectures
Wang Virtex-5QV FPGA External Configuration Management

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141218

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150120

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150216

R151 Written notification of patent or utility model registration

Ref document number: 5699057

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151