説明

電子デバイス、電子デバイスの故障検出方法および電子デバイスの故障回復方法

【課題】SRAM型FPGAを用いて構成された電子デバイスが動作している状態で、SRAM型FPGAに生じたソフトエラーを検出し、ソフトエラーによる故障を回復する。
【解決手段】SRAM型FPGA101とSRAM型FPGA102は、同一のコンフィグレーションデータを記憶しており、同一の回路として動作する。SRAM型FPGA101とSRAM型FPGA102には、SiP基板300を介して同一の信号(データ)が入力される。選択チップ200には、SRAM型FPGA101とSRAM型FPGA102の出力する信号が入力される。選択チップ200は、SRAM型FPGA101とSRAM型FPGA102の出力する各信号を個々に比較している。選択チップ200は、出力された信号の中に異なるものがあることを検出すると、SRAM型FPGA101とSRAM型FPGA102のいずれかまたは両方を再コンフィグレーションする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子デバイス、電子デバイスの故障検出方法および電子デバイスの故障回復方法に関する。特に、回路の構成を変更できる電子デバイスおよびその電子デバイスの故障検出方法と故障回復方法に関する。
【背景技術】
【0002】
近年、LSI(Large Scale Integration)の集積度が向上してきた。これに伴い、メモリでは、メモリセルが微細化し、外部より入射した放射線により記憶されているデータが破壊されるというソフトエラーの問題が顕在化してきている。このため、データの信頼性が要求される分野では、パリティビットによるエラー検出回路や誤り検出・訂正を行うECC(Error Check and Correct)回路を内蔵したメモリが使用される場合がある。
【0003】
SRAM(Static Random Access Memory)型FPGA(Field Programmable Gate Array)は、回路の構成を書き換えできるLSIである。SRAM型FPGAは、論理回路と配線についての回路情報(コンフィグレーションデータ)を内蔵のSRAM型メモリセル構造を持つ記憶素子(コンフィグレーションメモリ)に記憶させる(コンフィグレーションする)ことにより、回路情報通りの回路として動作させることができる。
【0004】
近年、FPGAにも大規模な回路が搭載できるようになり、FPGAは通信や画像処理等様々な分野で使用されるようになっている。しかし、これに伴い、コンフィグレーションメモリを構成するメモリセルが微細化した。このため、コンフィグレーションメモリに記憶されている回路情報が放射線によって破壊されるようになり、メモリと同様にFPGAでもソフトエラーの問題が深刻となってきた。
【0005】
メモリでは、データと共にパリティビットや、誤り訂正符号を記憶さればよい。このため、メモリのビット幅を増やし、パリティビットや誤り訂正符号を記憶させる領域を設けることと、パリティビットや誤り訂正符号を生成して、データと共にメモリに入力する手段と、データと共に出力されたパリティビットや誤り訂正符号から、データの誤り検出や、データの誤り訂正を行う手段を設ければよい。
【0006】
しかし、FPGAでは、コンフィグレーションメモリに記憶された回路情報は通常の動作状態で読み出されることはない。FPGAでは、パリティビットによるエラー検出回路やECC回路をコンフィグレーションメモリごとに設けなければコンフィグレーションデータの誤り検出や誤り訂正を行うことはできない。このため、FPGAにパリティビットによるエラー検出回路やECC回路を設けると回路規模が大きくなる。
【0007】
そこで、特許文献1は、FPGAのコンフィグレーションデータを読み出して、これと期待値(回路情報)とを比較し、ソフトエラーを検出した場合には再度コンフィグレーションする技術を開示する。
【0008】
【特許文献1】特開2008−015965号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
しかし、特許文献1に開示されている技術では、FPGAを動作させた状態でコンフィグレーションデータを読み出すことができない。ソフトエラーの検査を行うごとにFPGAの組み込まれた装置を停止させなければならない。プリンタやコピー機のようにソフトエラーの検査を行う際に一時的に装置を停止させることができる分野では、特許文献1に開示されている技術でも問題は少ない。
【0010】
しかしながら、例えば、通信や画像処理の分野では装置を停止させることは好ましくないアプリケーションも存在する。
【0011】
本発明は、上記実情に鑑み、回路構成を変更可能な回路が動作している状態で、この変更可能な回路に生じたソフトエラーを検出し、ソフトエラーによる故障を回復することができる電子デバイス、電子デバイスの故障検出方法および電子デバイスの故障回復方法を提供することを目的とする。
【課題を解決するための手段】
【0012】
本発明の電子デバイスは、回路情報を入力する回路情報入力手段と、当該回路情報入力手段によって入力された回路情報を記憶する回路情報記憶手段と、当該回路情報記憶手段に記憶されている回路情報に応じた回路が構成される可変回路と、当該可変回路によって処理されたデータを出力するデータ出力手段とを有する少なくとも2つの再構成可能回路と、
前記回路情報記憶手段によって同一の回路情報が記憶されている前記少なくとも2つの再構成可能回路の中に、他の各再構成可能回路と異なるデータを前記データ出力手段により出力している再構成可能回路があるか否かを判別する判別手段と、
を備えることを特徴とする。
【0013】
また、本発明の電子デバイスの故障検出方法は、回路情報を入力する回路情報入力手段と、当該回路情報入力手段によって入力された回路情報を記憶する回路情報記憶手段と、当該回路情報記憶手段に記憶されている回路情報に応じた回路が構成される可変回路と、当該可変回路によって処理されたデータを出力するデータ出力手段とを有する少なくとも2つの再構成可能回路を備えた電子デバイスの故障検出方法であって、
前記回路情報記憶手段によって同一の回路情報が記憶されている前記少なくとも2つの再構成可能回路の中に、他の各再構成可能回路と異なるデータを前記データ出力手段により出力している再構成可能回路があるか否かを判別する判別工程、
を備えることを特徴とする。
【0014】
更に、本発明の電子デバイスの故障回復方法は、回路情報を入力する回路情報入力手段と、当該回路情報入力手段によって入力された回路情報を記憶する回路情報記憶手段と、当該回路情報記憶手段に記憶されている回路情報に応じた回路が構成される可変回路と、当該可変回路によって処理されたデータを出力するデータ出力手段とを有する少なくとも2つの再構成可能回路を備えた電子デバイスの故障回復方法であって、
前記回路情報記憶手段によって同一の回路情報が記憶されている前記少なくとも2つの再構成可能回路の中に、他の各再構成可能回路と異なるデータを前記データ出力手段により出力している再構成可能回路があるか否かを判別する判別工程と、
前記判別工程で他の各再構成可能回路と異なるデータを出力している再構成可能回路があると判別されたことに応答して、前記他の各再構成可能回路と異なるデータを出力していると判別された再構成可能回路の前記回路情報入力手段に前記同一の回路情報を供給し、前記他の各再構成可能回路と異なるデータを出力していると判別された再構成可能回路の前記回路情報記憶手段に前記同一の回路情報を再度記憶させる回路再構成工程と、
を備えることを特徴とする。
【発明の効果】
【0015】
本発明によれば、回路構成を変更可能な回路が動作している状態で、この変更可能な回路に生じたソフトエラーを検出し、この変更可能な回路を用いて構成されている電子デバイスのソフトエラーに起因する故障を回復することができる。
【発明を実施するための最良の形態】
【0016】
本発明の第1の実施形態に係る電子デバイス1Aは、図1に示すように、SRAM型FPGA101と、SRAM型FPGA102と、選択チップ200と、SiP(System in Package)基板300とを備えている。
【0017】
SRAM型FPGA101とSRAM型FPGA102は垂直方向に積層され、選択チップ200の上に配置されている。選択チップ200は、SiP基板300の上に配置されている。
SRAM型FPGA101とSRAM型FPGA102と選択チップ200は、パッケージングしていない裸のLSIチップ(ベア・ダイ:Bare Die)である。
SRAM型FPGA101とSRAM型FPGA102と選択チップ200は、LSI樹脂封止材料400で覆われている。
【0018】
SRAM型FPGA101とSRAM型FPGA102は同一のコンフィグレーションデータを記憶しており、SRAM型FPGA101とSRAM型FPGA102は同一の回路として動作する。選択チップ200には、SRAM型FPGA101とSRAM型FPGA102が出力する信号(データ)が入力される。
選択チップ200は、SRAM型FPGA101とSRAM型FPGA102のいずれか一方を選択し、選択されたSRAM型FPGAの出力する信号を出力する。
【0019】
そして、選択チップ200は、SRAM型FPGA101とSRAM型FPGA102の出力する信号の中に異なるものがあることを検出すると、SRAM型FPGA101とSRAM型FPGA102のいずれかにソフトエラーが発生したと判断する。選択チップ200は、ソフトエラーが発生したと判断すると、SRAM型FPGA101とSRAM型FPGA102の一方または両方にコンフィグレーションデータを読み込ませ、再コンフィグレーションを行う。
【0020】
SiP基板300は、一方の主面と他方の主面に、スルーホールにより接続された複数の入力端子と出力端子を有している。SiP基板300の一方の主面に配置された複数の入力端子が他方の主面に配置された複数の出力端子と1対1に接続され、他方の主面に配置された複数の入力端子が一方の主面に配置された複数の出力端子と1対1に接続されている。
【0021】
上述したように、SiP基板300の一方の主面の上には、SRAM型FPGA101とSRAM型FPGA102と選択チップ200が配置されている。
SiP基板300の一方の主面の出力端子は、図1に示すように、SRAM型FPGA101とSRAM型FPGA102の同一の位置に配置されており、同一の信号が入力されるべき入力端子とボンディングワイヤ501とボンディングワイヤ502で接続されている。従って、SiP基板300の他方の主面の入力端子に入力された信号は、その入力端子とスルーホールにより接続された一方の主面の出力端子を経て、SRAM型FPGA101とSRAM型FPGA102の同一の位置に配置された入力端子へ入力される。
図1には2本のボンディングワイヤ501とボンディングワイヤ502のみが示されているが、SRAM型FPGA101とSRAM型FPGA102の同一の位置に配置されており、同一の信号が入力されるべき入力端子は全てSiP基板300の一方の主面の出力端子と同様に接続されている。従って、SRAM型FPGA101とSRAM型FPGA102の同一の位置に配置された入力端子全てに同一の信号が入力される。
【0022】
SRAM型FPGA101とSRAM型FPGA102の出力端子は、図1に示すように、ボンディングワイヤ601とボンディングワイヤ602により選択チップ200の上面の入力端子と接続されている。
図1には2本のボンディングワイヤ601とボンディングワイヤ602のみが示されているが、SRAM型FPGA101とSRAM型FPGA102の出力端子は全て選択チップ200の上面の入力端子と同様に接続されている。
【0023】
選択チップ200の下面にはフリップチップ接続用の突起状の出力端子(バンプ)201が設けられている。図1に示すように、選択チップ200の下面の出力端子201は、SiP基板300の一方の主面の入力端子とフリップチップ接続されている。
【0024】
SiP基板300の他方の主面に設けられた入力端子と出力端子は、図1に示すように、例えば、フリップチップ接続用の突起状の端子(バンプ)301である。
【0025】
なお、SRAM型FPGA101とSRAM型FPGA102の同一の位置に配置された端子に接続される2本のボンディングワイヤは、同じ長さであることが望ましい。なぜなら、信号の伝送遅延時間の差が小さくなるためである。
【0026】
また、SRAM型FPGA101とSRAM型FPGA102は本発明の再構成可能チップ及び再構成可能回路の一例であり、選択チップ200は本発明の選択チップの一例であり、SiP基板300は本発明の入出力基板の一例である。
【0027】
SRAM型FPGA101とSRAM型FPGA102は、図2に示すように、回路情報入力部111と、回路情報記憶部112と、データ入力部113と、可変回路114と、データ出力部115とを備えている。
【0028】
回路情報入力部111は、例えば、JTAG(Joint Test Action Group)ポートからコンフィグレーションデータを入力する。
回路情報記憶部112は、SRAM型メモリセル構造を持つコンフィグレーションメモリを含んでいる。回路情報入力部111によって入力されたコンフィグレーションデータ(回路情報)はコンフィグレーションメモリに記憶される。図2には、回路情報記憶部112が1個示されているが、コンフィグレーションメモリは複数のメモリに分かれていても良い。
【0029】
データ入力部113は、入力端子から信号(データ)S1〜S3を入力する。なお、信号S1〜S3は一例であり、入力される信号の数は3つに限らない。SRAM型FPGA101とSRAM型FPGA102の仕様により定まる数までの複数の信号が入力されて良い。
可変回路114は、コンフィグレーションメモリに記憶されているコンフィグレーションデータにより指定される回路として動作し、データ入力部113により入力された信号S1〜S3を処理し、信号(データ)R1〜R3を出力する。
データ出力部113は、可変回路114から出力される信号R1〜R3を出力端子から出力する。なお、信号R1〜R3は一例であり、出力される信号の数は3つに限らない。SRAM型FPGA101とSRAM型FPGA102の仕様により定まる数までの複数の信号が出力されて良い。
【0030】
なお、回路情報入力部111は本発明の回路情報入力手段の一例であり、回路情報記憶部112は本発明の回路情報記憶手段の一例であり、データ入力部113は本発明のデータ入力手段の一例であり、可変回路114は本発明の可変回路の一例であり、データ出力部115は本発明のデータ出力手段の一例である。
【0031】
SRAM型FPGA101とSRAM型FPGA102と選択チップ200とSiP基板300は、図3に示すように接続されている。
上述したように、SiP基板300の一方の主面の出力端子と、SRAM型FPGA101とSRAM型FPGA102の入力端子A1〜A3とはボンディングワイヤで接続されている。SiP基板300の他方の主面の入力端子Din1〜Din3から入力された信号S1〜S3は、それぞれSRAM型FPGA101の入力端子A1〜A3とSRAM型FPGA102の入力端子A1〜A3に共通に入力される。
【0032】
選択チップ200は、比較回路211と、比較回路212と、比較回路213と、選択回路221と、選択回路222と、選択回路223と、論理和回路231と、制御回路241とを備えている。
【0033】
比較回路211の入力端子C1と入力端子C2は、それぞれSRAM型FPGA101の出力端子B1とSRAM型FPGA102の出力端子B1とボンディングワイヤで接続されている。選択回路221の入力端子D1と入力端子D2も、同様にそれぞれSRAM型FPGA101の出力端子B1とSRAM型FPGA102の出力端子B1とボンディングワイヤで接続されている。
同様に、比較回路212の入力端子C1と入力端子C2はそれぞれSRAM型FPGA101の出力端子B2とSRAM型FPGA102の出力端子B2と接続されており、選択回路222の入力端子D1と入力端子D2はそれぞれSRAM型FPGA101の出力端子B2とSRAM型FPGA102の出力端子B2と接続されている。
比較回路213の入力端子C1と入力端子C2はそれぞれSRAM型FPGA101の出力端子B3とSRAM型FPGA102の出力端子B3と接続されており、選択回路223の入力端子D1と入力端子D2はそれぞれSRAM型FPGA101の出力端子B3とSRAM型FPGA102の出力端子B3と接続されている。
【0034】
比較回路211と比較回路212と比較回路213の各出力端子Eは、論理和回路231の入力端子に接続されている。
選択回路221と選択回路222と選択回路223の各出力端子Oは、SiP基板300の一方の主面の入力端子とボンディングワイヤで接続されている。選択回路221と選択回路222と選択回路223の各出力端子Oから出力された信号R1〜R3は、それぞれSiP基板300の他方の主面の出力端子Dout1〜Dout3から出力される。
論理和回路231の出力端子は制御回路241のエラー入力端子ERRに接続されている。
【0035】
制御部241の選択制御端子Sは、選択回路221と選択回路222と選択回路223の各選択入力端子SELに共通に接続されている。
制御部241の再構成制御端子Coutは、SRAM型FPGA101とSRAM型FPGA102の各再構成入力端子Cinに共通に接続されている。
なお、図3では比較回路と選択回路がそれぞれ3個ずつの例を示したが、比較回路と選択回路はSRAM型FPGA101とSRAM型FPGA102の出力端子に対応して設けられる。SRAM型FPGA101とSRAM型FPGA102の出力端子の数が増えれば、比較回路と選択回路の数も増加する。
【0036】
上述したように、SRAM型FPGA101とSRAM型FPGA102は同一のコンフィグレーションデータを記憶しており、SRAM型FPGA101とSRAM型FPGA102の同一の位置に配置されており、同一の信号が入力されるべき入力端子には同一の信号が入力される。SRAM型FPGA101とSRAM型FPGA102は、図4(A)に示すように、同一のクロックCKに同期して動作し、両方とも正常に動作している場合には同一の信号を同時に出力する。このクロックCKは選択チップ200にも供給され、選択チップ200はSRAM型FPGA101とSRAM型FPGA102から出力される信号をクロックCKに同期して受け取る。
【0037】
比較回路211と選択回路221は、図4(B)と図4(C)に示すように、SRAM型FPGA101の出力端子B1から出力される信号をそれぞれ比較回路211の入力端子C1と選択回路221の入力端子D1から入力し、SRAM型FPGA102の出力端子B1から出力される信号をそれぞれ比較回路211の入力端子C2と選択回路221の入力端子D2から入力する。
選択回路221は、制御部241の選択制御端子Sの出力に従って入力端子D1に入力される信号と入力端子D2に入力される信号のいずれか一方を選択して出力端子Oから出力する。
選択回路221の出力端子Oから出力された信号は、図4(D)に示すように、タイミングT1でSiP基板300の他方の主面の出力端子Dout1からクロックCKの立ち上がりに同期して出力される。
なお、選択回路221は出力端子O、すなわちSiP基板300の他方の主面の出力端子Dout1から信号を非同期で出力しても良い。
【0038】
選択回路221は、図4(B)〜図4(D)に示すように、タイミングT1で入力端子D1に入力される信号(SRAM型FPGA101の出力端子B1から出力される信号)を選択して出力する。
選択回路221は、入力端子D2に入力される信号(SRAM型FPGA102の出力端子B1から出力される信号)を選択して出力しても良いが、選択回路221は入力端子D1に入力される信号を選択して出力する方が望ましい。なぜなら、外部から入射する放射線に起因するソフトエラーは、外層に配置されているSRAM型FPGA102で起きる確率よりも、内層に配置されているSRAM型FPGA101で起きる確率の方が低いため、SRAM型FPGA101の信号を出力する方が正しい信号を出力できる可能性が高いからである。
【0039】
タイミングT1の後、タイミングT2でSRAM型FPGA102にソフトエラーが発生すると、SRAM型FPGA101の出力端子B1とSRAM型FPGA102の出力端子B1の信号の値が一致しなくなる。この場合でも、選択回路221は入力端子D1に入力される信号を選択して出力し続ける。入力端子D1に入力される信号はエラーが発生していない確率が高いので、電子デバイス1Aは高い確率で正常動作を続けることができる。
【0040】
比較回路211は、入力端子C1に入力される信号と入力端子C2に入力される信号とを比較し、同じ値であれば出力端子Eから‘0’を出力し、異なる値であれば‘1’を出力する。
【0041】
比較回路212及び選択回路222と、比較回路213及び選択回路223も、それぞれ上述した比較回路211及び選択回路221と同様に動作する。
【0042】
論理和回路231は、比較回路211と比較回路212と比較回路213の各出力端子Eから出力される信号の論理和を取る。従って、論理和回路231は、SRAM型FPGA101とSRAM型FPGA102の両方とも正常に動作している場合、‘0’を出力する。また、論理和回路231は、SRAM型FPGA101とSRAM型FPGA102のいずれかにソフトエラーが発生すると、‘1’を出力する。制御回路241はエラー入力端子ERRから論理和回路231の出力信号を入力する。
【0043】
図4(B)、図4(C)、及び図4(E)に示すように、例えば、タイミングT2でSRAM型FPGA102にソフトエラーが発生し、SRAM型FPGA101の出力端子B1とSRAM型FPGA102の出力端子B1の信号の値が一致しなくなると、論理和回路231は‘1’を出力し、制御回路241のエラー入力端子ERRに‘1’が入力される。
なお、論理和回路231は、複数の比較回路の中のいずれかの入力端子C1に入力される信号と入力端子C2に入力される信号とが異なる値になってから数クロック後に‘1’を出力してもよい。SRAM型FPGA101とSRAM型FPGA102の出力端子が多数ある場合でも、多数の比較回路の各出力端子Eから出力される信号の論理和を数クロックかけてパイプライン的に取ることができるので、論理和回路231を高速に動作させることができる。
【0044】
例えば、比較回路211の入力端子C1に入力される信号と入力端子C2に入力される信号とが異なる値になり、制御回路241のエラー入力端子ERRに‘1’が入力されると、制御回路241は後述する故障回復処理を実行する。故障回復処理により、図4(C)と図4(E)に示すように、タイミングT3で比較回路211の入力端子C1に入力される信号と入力端子C2に入力される信号とが同じ値になると、制御回路241のエラー入力端子ERRには‘0’が入力される。
【0045】
制御回路241のエラー入力端子ERRに‘0’が入力されている間、すなわち、SRAM型FPGA101とSRAM型FPGA102が両方とも正常に動作している間、制御回路241は、SRAM型FPGA102を予備に回し、SRAM型FPGA101を運用する。このとき、制御回路241は選択制御端子Sから選択回路221〜選択回路223に入力端子D1を選択させる信号を出力する。この信号に従い、選択回路221〜選択回路223は入力端子D1に入力される信号(SRAM型FPGA101の出力端子B1〜出力端子B3から出力される信号)を選択して出力する。
そして、制御回路241は、図5の第1の故障回復処理に示すように、SRAM型FPGA101とSRAM型FPGA102は正常動作していると判断し、第1の故障回復処理を抜ける(ステップS101;No)。
【0046】
制御回路241のエラー入力端子ERRに‘1’が入力されると、制御回路241はソフトエラーによる故障を検出したと判断する(ステップS101;Yes)。上述したように、SRAM型FPGA101よりもSRAM型FPGA102にソフトエラーが発生する可能性が高いので、制御回路241は再構成制御端子CoutからSRAM型FPGA102に再コンフィグレーションすることを指示する制御信号を出力する。この制御信号が出力されると、SRAM型FPGA102のコンフィグレーション回路が起動され、SRAM型FPGA102の再コンフィグレーションが行われる(ステップS102)。
なお、図3では、SRAM型FPGA102にコンフィグレーションを行わせるためのコンフィグレーション回路がSRAM型FPGA102の内部に搭載されている例を示したが、コンフィグレーション回路はSRAM型FPGA102の外部に設けられていても良い。
【0047】
SRAM型FPGA102が再コンフィグレーションされた後、制御回路241のエラー入力端子ERRに‘0’が入力されると、制御回路241は、ソフトエラーによる故障が回復したと判断し、第1の故障回復処理を終了する(ステップS103;Yes)。
【0048】
SRAM型FPGA102が再コンフィグレーションされた後でも、制御回路241のエラー入力端子ERRに‘1’が入力されると、制御回路241は、ソフトエラーによる故障は回復していないと判断する(ステップS103;No)。
制御回路241は、この回復していないという判断に応答して、SRAM型FPGA101を予備に回し、SRAM型FPGA102を運用に変更する(ステップS104)。このとき、制御回路241は、選択制御端子Sから選択回路221〜選択回路223に入力端子D2を選択させる信号を出力する。この信号に従い、選択回路221〜選択回路223は入力端子D2に入力される信号(SRAM型FPGA102の出力端子B1〜出力端子B3から出力される信号)を選択して出力する。
【0049】
そして、制御回路241は、再構成制御端子CoutからSRAM型FPGA101に再コンフィグレーションすることを指示する制御信号を出力する。この制御信号が出力されると、SRAM型FPGA101をコンフィグレーションするためのコンフィグレーション回路が起動され、SRAM型FPGA101の再コンフィグレーションが行われる(ステップS105)。
なお、図3では、SRAM型FPGA101のコンフィグレーション回路がSRAM型FPGA101の内部に搭載されている例を示したが、コンフィグレーション回路はSRAM型FPGA101の外部に設けられていても良い。
【0050】
SRAM型FPGA101が再コンフィグレーションされた後、制御回路241のエラー入力端子ERRに‘0’が入力されると、制御回路241は、ソフトエラーによる故障が回復したと判断する(ステップS106;Yes)。制御回路241は、この回復したという判断に応答して、SRAM型FPGA102を予備に回し、SRAM型FPGA101を運用に変更し(ステップS107)、第1の故障回復処理を終了する。このとき、制御回路241は、選択制御端子Sから選択回路221〜選択回路223に入力端子D1を選択させる信号を出力する。この信号に従い、選択回路221〜選択回路223は入力端子D1に入力される信号(SRAM型FPGA101の出力端子B1〜出力端子B3から出力される信号)を選択して出力する。
【0051】
SRAM型FPGA101が再コンフィグレーションされた後でも、制御回路241のエラー入力端子ERRに‘1’が入力されると、制御回路241は、ソフトエラーによる故障は回復していないと判断し(ステップS106;No)、電子デバイス1Aの外部の保守装置にハード障害を通知する(ステップS108)。
第1の故障検出処理によれば、SRAM型FPGA101またはSRAM型FPGA102にソフトエラーが発生しても電子デバイス1Aは継続して動作することができる。
【0052】
また、図6の第2の故障回復処理に示すように、SRAM型FPGA101とSRAM型FPGA102のいずれかにソフトエラーが発生した場合、電子デバイス1Aを停止させて、SRAM型FPGA101とSRAM型FPGA102を両方とも再コンフィグレーションしても良い。
【0053】
この場合も、制御回路241のエラー入力端子ERRに‘0’が入力されている間、すなわち、SRAM型FPGA101とSRAM型FPGA102が両方とも正常に動作している間、第1の故障回復処理と同様に、制御回路241は、SRAM型FPGA102を予備に回し、SRAM型FPGA101を運用する。そして、制御回路241はSRAM型FPGA101とSRAM型FPGA102は正常動作していると判断し、第2の故障回復処理を抜ける(ステップS201;No)。
【0054】
制御回路241のエラー入力端子ERRに‘1’が入力されると、制御回路241はソフトエラーによる故障を検出したと判断し(ステップS201;Yes)、制御回路241自身を除いて電子デバイス1Aを停止させる(ステップS202)。そして、制御回路241は再構成制御端子CoutからSRAM型FPGA101とSRAM型FPGA102の両方を再コンフィグレーションすることを指示する制御信号を出力する。この制御信号が出力されると、SRAM型FPGA101とSRAM型FPGA102のコンフィグレーション回路が起動され、SRAM型FPGA101とSRAM型FPGA102の再コンフィグレーションが行われる(ステップS203)。
【0055】
SRAM型FPGA101とSRAM型FPGA102の両方とも再コンフィグレーションされた後、制御回路241は電子デバイス1Aを再起動する(ステップS204)。電子デバイス1Aを再起動した後に、制御回路241のエラー入力端子ERRに‘0’が入力されると、制御回路241は、ソフトエラーによる故障が回復したと判断し、第2の故障回復処理を終了する(ステップS205;Yes)。
【0056】
電子デバイス1Aが再起動された後でも、制御回路241のエラー入力端子ERRに‘1’が入力されると、制御回路241は、ソフトエラーによる故障は回復していないと判断し(ステップS205;No)、電子デバイス1Aの外部の保守装置にハード障害を通知する(ステップS206)。
【0057】
第2の故障検出処理によれば、内層に配置されているSRAM型FPGA101にソフトエラーが発生した場合に、第1の故障検出処理よりも早く電子デバイス1Aの故障を回復することができる。
【0058】
なお、第2の故障回復処理による場合、電子デバイス1Aの出力端子Dout1〜Dout3からはSRAM型FPGA101の出力端子B1〜B3の信号のみが出力される。出力端子Dout1〜Dout3からSRAM型FPGA102の出力端子B1〜B3の信号が出力されることはない。このため、選択チップ200に選択回路221〜選択回路223は不要である。
【0059】
また、比較回路211〜比較回路213と論理和回路231と制御回路241は本発明の判別手段の一例であり、制御回路241は本発明の回路再構成手段の一例であり、選択回路221〜選択回路223は本発明のデータ選択手段の一例である。
【0060】
次に、第2の実施形態として、SRAM型FPGAを3個並列動作させる例を示す。
本発明の第2の実施形態に係る電子デバイス1Bは、図7に示すように、SRAM型FPGA101と、SRAM型FPGA102と、SRAM型FPGA103と、選択チップ700と、SiP基板300とを備えている。
図7における図1と同一の構成要素には図1と同一の符号が付してある。
以下では、第1の実施形態に係る電子デバイス1Aと異なる点について説明する。
【0061】
SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103は垂直方向に積層され、選択チップ700の上に配置されている。選択チップ700は、SiP基板300の上に配置されている。
SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103と選択チップ700は、パッケージングしていない裸のLSIチップ(ベア・ダイ:Bare Die)である。
SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103と選択チップ700は、LSI樹脂封止材料400で覆われている。
【0062】
SiP基板300の一方の主面の出力端子は、図7に示すように、SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103の同一の位置に配置されており、同一の信号が入力されるべき入力端子とそれぞれボンディングワイヤ501とボンディングワイヤ502とボンディングワイヤ503で接続されている。従って、SiP基板300の他方の主面の入力端子に入力された信号は、その入力端子とスルーホールにより接続された一方の主面の出力端子を経て、SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103の同一の位置に配置された入力端子へ入力される。
図7には3本のボンディングワイヤ501とボンディングワイヤ502とボンディングワイヤ503のみが示されているが、SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103の同一の位置に配置されており、同一の信号が入力されるべき入力端子は全てSiP基板300の一方の主面の出力端子と同様に接続されている。従って、SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103の同一の位置に配置された入力端子全てに同一の信号が入力される。
【0063】
SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103の出力端子は、図7に示すように、ボンディングワイヤ601とボンディングワイヤ602とボンディングワイヤ603により選択チップ700の上面の入力端子と接続される。
図7には3本のボンディングワイヤ601とボンディングワイヤ602とボンディングワイヤ603のみが示されているが、SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103の出力端子は全て選択チップ700の上面の入力端子と同様に接続されている。
【0064】
選択チップ700の下面にはフリップチップ接続用の突起状の出力端子(バンプ)701が設けられている。図7に示すように、選択チップ700の下面の出力端子701は、SiP基板300の一方の主面の入力端子とフリップチップ接続されている。
【0065】
SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103は全て同一のコンフィグレーションデータを記憶しており、SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103は全て同一の回路として動作する。選択チップ700には、SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103が出力する信号(データ)が入力される。選択チップ700は、SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103の中のいずれかを選択し、選択されたSRAM型FPGAの出力する信号を出力する。
【0066】
また、選択チップ700は、SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103の出力する信号の中に異なるものがあることを検出すると、この異なる信号を出力しているSRAM型FPGAが故障した(SRAM型FPGAにソフトエラーが発生した)と判断し、SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103の中のいずれが故障したかを示すエラー信号を出力する。
電子デバイス1Bの図示しない制御回路(以下、制御回路という。)は、エラー信号が出力されると、図8に示す第3の故障回復処理を行う。
【0067】
電子デバイス1Bは、SRAM型FPGA101が正常に動作している(SRAM型FPGA101にソフトエラーが発生していない)とき、SRAM型FPGA101から出力される信号をSiP基板300の出力端子から出力している。電子デバイス1Bの最も内層に配置されているSRAM型FPGA101は、SRAM型FPGA102とSRAM型FPGA103よりも外部から入射した放射線に起因するソフトエラーが発生する確率が低いからである。
【0068】
制御回路は、SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103のいずれにも故障が検出されない場合、第3の故障回復処理を抜ける(ステップS301;No、ステップS302;No、ステップS303;No)。
【0069】
制御回路は、SRAM型FPGA103が故障したことを検出すると(ステップS301;Yes)、SRAM型FPGA103を再コンフィグレーションする(ステップS304)。制御回路は、SRAM型FPGA103が再コンフィグレーションされたことによって故障が回復したことを検出すると、第3の故障回復処理を終了する(ステップS306;Yes)。
【0070】
一方、制御回路は、SRAM型FPGA103が再コンフィグレーションされても故障が回復しない場合、電子デバイス1Bの外部の保守装置にハード障害を通知する(ステップS307)。
なお、ハード障害が通知されるのは、SRAM型FPGA103自体にハード障害が生じた場合と、SRAM型FPGA103にソフトエラーが発生するのと同時に、SRAM型FPGA101とSRAM型FPGA102のいずれか、またはSRAM型FPGA101とSRAM型FPGA102の両方にもソフトエラーが発生した場合である。
【0071】
制御回路は、SRAM型FPGA102が故障したことを検出すると(ステップS302;Yes)、SRAM型FPGA102を再コンフィグレーションする(ステップS305)。制御回路は、SRAM型FPGA102が再コンフィグレーションされたことによって故障が回復したことを検出すると、第3の故障回復処理を終了する(ステップS306;Yes)。
一方、制御回路は、SRAM型FPGA102が再コンフィグレーションされても故障が回復しない場合、電子デバイス1Bの外部の保守装置にハード障害を通知する(ステップS307)。
【0072】
制御回路は、SRAM型FPGA101が故障したことを検出すると(ステップS303;Yes)、SRAM型FPGA101を予備に回し、SRAM型FPGA102を運用に変更する(ステップS308)。このとき、電子デバイス1Bは、SRAM型FPGA102から出力される信号をSiP基板300の出力端子から出力する。
そして、制御回路は、SRAM型FPGA101を再コンフィグレーションする(ステップS309)。
【0073】
制御回路は、SRAM型FPGA101が再コンフィグレーションされたことによって故障が回復したことを検出すると(ステップS310;Yes)、SRAM型FPGA102を予備に回し、SRAM型FPGA101を運用に変更し、第3の故障回復処理を終了する(ステップS311)。このとき、電子デバイス1Bは、再びSRAM型FPGA101から出力される信号をSiP基板300の出力端子から出力する。
一方、制御回路は、SRAM型FPGA101が再コンフィグレーションされても故障が回復しない場合、電子デバイス1Bの外部の保守装置にハード障害を通知する(ステップS307)。
【0074】
第3の故障検出処理によれば、SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103のいずれかにソフトエラーが発生しても電子デバイス1Bは継続して動作することができる。
【0075】
なお、SRAM型FPGA101とSRAM型FPGA102とSRAM型FPGA103は本発明の再構成可能回路及び再構成可能チップの一例であり、選択チップ700は本発明の選択チップの一例である。
【0076】
上記各実施形態では2個または3個のSRAM型FPGAと選択チップを積層する例を示したが、必ずしも積層する必要はなく、SiP基板上にベア・ダイを分散して配置した平面構造でも良い。
ただし、外層に配置されたSRAM型FPGAが外部より入射する放射線を遮り、内層のSRAM型FPGAに放射線が衝突するのを妨げるため、複数のSRAM型FPGAを積層する方が望ましい。
また、本発明に係る電子デバイスは、2個または3個のSRAM型FPGAに限らず、4個以上のSRAM型FPGAを用いて構成されても良い。
更に、本発明に係る電子デバイスは、1個のSRAM型FPGAの内部の回路を複数のブロックに分割し、分割された各ブロックをそれぞれ再構成可能回路とすることによって構成されても良い。
【0077】
また、上記各実施形態では、選択チップがフリップチップである例を示したが、選択チップはボンディングワイヤでSiP基板に接続されても良い。
【0078】
上記第1の実施形態では、比較回路、選択回路および制御回路は選択チップに搭載されていたが、比較回路、選択回路および制御回路はSiP基板に内蔵しても良い。
また、SRAM型FPGAにコンフィグレーションデータを読み込ませるためのコンフィグレーション回路、コンフィグレーションデータを記憶したROM(Read Only Memory)や制御回路は電子デバイスの内部に設けても良いし、電子デバイスの外部に設けても良い。
【0079】
電子デバイスの構造はPoP(Package on Package)でも良い。
【0080】
電子デバイスに3個以上のSRAM型FPGAが搭載されている場合、比較回路は各SRAM型FPGAの出力信号を比較して、多数決方法により故障したSRAM型FPGAを特定するようにしても良い。
【0081】
以上説明したように、本発明によれば、SRAM型FPGAが動作している状態で、SRAM型FPGAに生じたソフトエラーを検出することができる。
また、本発明に係る電子デバイスを停止させることなく、SRAM型FPGAを用いて構成された電子デバイスのソフトエラーに起因する故障を回復することができる。
また、本発明に係る電子デバイスは、従来のSRAM型FPGAに比べて、ソフトエラーによる誤動作の確率を小さくすることができる。その理由は、積層された外層のチップが外部から入射する放射線を遮り、内層のSRAM型FPGAに放射線が衝突するのを妨げるので、内層のSRAM型FPGAにソフトエラーが発生することが抑えられるためである。
更に、本発明に係る電子デバイスは、ソフトエラーが発生することが抑えられている内層のSRAM型FPGAの出力を優先的に用いて動作することにより、アベイラビリティ(可用性)を高くすることができる。
【0082】
また、本発明に係る電子デバイスは、複数のSRAM型FPGAの同一の位置に配置されており、同一の信号が出力されるべき出力端子と選択チップの入力端子を接続する配線の長さの差を容易に十分小さくできる。その理由は、複数のSRAM型FPGAが積層しているので、それぞれのSRAM型FPGAの同一の位置に配置された出力端子と選択チップの入力端子の距離の差が小さいためである。
また、同様の理由により、複数のSRAM型FPGAの同一の位置に配置されており、同一の信号が入力されるべき入力端子とSiP基板の一方の主面の出力端子の間の配線の長さの差も容易に十分小さくできる。
【0083】
本発明の電子デバイスは、既存のSRAM型FPGAを用いることができるので、開発費用を小さくでき、大量生産による価格低下が望める。このため、電子デバイスの単価を抑えることができる。
【0084】
以上、本発明の実施の形態について説明したが、設計上の都合やその他の要因によって必要となる様々な修正や組み合わせは、請求項に記載されている発明や発明の実施の形態に記載されている具体例に対応する発明の範囲に含まれると理解されるべきである。
【図面の簡単な説明】
【0085】
【図1】本発明の第1の実施形態に係る電子デバイスの一例を示す図である。
【図2】SRAM型FPGAの構成の一例を示す図である。
【図3】2つのSRAM型FPGAと選択チップとSiP基板の接続の一例を示す図である。
【図4】選択チップ内部の動作タイミングの一例を示す図である。
【図5】第1の故障回復処理を示す流れ図である。
【図6】第2の故障回復処理を示す流れ図である。
【図7】本発明の第2の実施形態に係る電子デバイスの一例を示す図である。
【図8】第3の故障回復処理を示す流れ図である。
【符号の説明】
【0086】
1A、1B…電子デバイス
101、102、103…SRAM型FPGA
111…回路情報入力部
112…回路情報記憶部
113…データ入力部
114…可変回路
115…データ出力部
200、700…選択チップ
211、212、213…比較回路
221、222、223…選択回路
231…論理和回路
241…制御回路
300…SiP基板
113…エッジ情報取得部

【特許請求の範囲】
【請求項1】
回路情報を入力する回路情報入力手段と、当該回路情報入力手段によって入力された回路情報を記憶する回路情報記憶手段と、当該回路情報記憶手段に記憶されている回路情報に応じた回路が構成される可変回路と、当該可変回路によって処理されたデータを出力するデータ出力手段とを有する少なくとも2つの再構成可能回路と、
前記回路情報記憶手段によって同一の回路情報が記憶されている前記少なくとも2つの再構成可能回路の中に、他の各再構成可能回路と異なるデータを前記データ出力手段により出力している再構成可能回路があるか否かを判別する判別手段と、
を備えることを特徴とする電子デバイス。
【請求項2】
前記判別手段によって他の各再構成可能回路と異なるデータを出力している再構成可能回路があると判別されたことに応答して、前記他の各再構成可能回路と異なるデータを出力していると判別された再構成可能回路の前記回路情報入力手段に前記同一の回路情報を供給し、前記他の各再構成可能回路と異なるデータを出力していると判別された再構成可能回路の前記回路情報記憶手段に前記同一の回路情報を再度記憶させる回路再構成手段、
を備えることを特徴とする請求項1に記載の電子デバイス。
【請求項3】
前記少なくとも2つの再構成可能回路のいずれか1つを選択し、当該選択された再構成可能回路のデータ出力手段により出力されたデータを出力するデータ選択手段、
を備えることを特徴とする請求項2に記載の電子デバイス。
【請求項4】
前記判別手段は、前記選択されている再構成可能回路が前記他の各再構成可能回路と異なるデータを前記データ出力手段により出力している再構成可能回路であるか否かを判別し、
前記データ選択手段は、前記選択されている再構成可能回路が前記他の各再構成可能回路と異なるデータを出力している再構成可能回路であると判別されたことに応答して、前記他の各再構成可能回路のいずれか1つを選択し、当該新たに選択された再構成可能回路のデータ出力手段により出力されたデータを出力する
ことを特徴とする請求項3に記載の電子デバイス。
【請求項5】
前記回路再構成手段は、前記判別手段によって他の各再構成可能回路と異なるデータを出力している再構成可能回路があると判別されたことに応答して、前記他の各再構成可能回路の前記回路情報入力手段に前記同一の回路情報を供給し、各前記他の各再構成可能回路の前記回路情報記憶手段に前記同一の回路情報を再度記憶させる、
ことを特徴とする請求項3に記載の電子デバイス。
【請求項6】
前記データ出力手段によりデータを出力するための複数の出力端子を有し、基盤上に前記再構成可能回路が形成された少なくとも2つの再構成可能チップと、
前記判別手段と前記データ選択手段にデータを入力するための複数の入力端子を有し、基盤上に前記判別手段と前記データ選択手段として機能する回路が形成された選択チップと、
を備え、
各前記再構成可能チップの各出力端子と前記選択チップの各入力端子とが1対1に接続されている、
ことを特徴とする請求項3乃至5のいずれか1項に記載の電子デバイス。
【請求項7】
一方の主面に配置された複数の入力端子が他方の主面に配置された複数の出力端子と1対1に接続され、前記他方の主面に配置された複数の入力端子が前記一方の主面に配置された複数の出力端子と1対1に接続された入出力基盤を備え、
前記入出力基盤の一方の主面上に前記選択チップが配置され、前記選択チップ上に各前記再構成可能チップが順次積み重ねられ、
各前記再構成可能チップは、前記可変回路にデータを入力するデータ入力手段と、当該データ入力手段にデータを入力するための複数の入力端子を有しており、
前記選択チップは、前記データ選択手段によりデータを出力するための複数の出力端子を有しており、
前記入出力基盤の一方の主面の各出力端子が各前記再構成可能チップの同一の信号が入力されるべき各入力端子と1対多に接続され、前記選択チップの各出力端子と前記入出力基盤の一方の主面の各入力端子が1対1に接続され、
前記判別手段は、各前記再構成可能チップの同一の信号が出力されるべき各前記出力端子から出力されたデータが全て一致しているか否かを判別し、
前記データ選択手段は、前記判別手段によって各前記再構成可能チップの同一の信号が出力されるべき各前記出力端子から出力されたデータが全て一致していると判別されたことに応答して、前記入出力基盤の上に積み重ねられた前記選択チップと各前記再構成可能チップの中で内層に配置されている再構成可能チップを選択し、当該選択された再構成可能チップに形成された再構成可能回路のデータ出力手段により出力されたデータを出力する、
ことを特徴とする請求項6に記載の電子デバイス。
【請求項8】
回路情報を入力する回路情報入力手段と、当該回路情報入力手段によって入力された回路情報を記憶する回路情報記憶手段と、当該回路情報記憶手段に記憶されている回路情報に応じた回路が構成される可変回路と、当該可変回路によって処理されたデータを出力するデータ出力手段とを有する少なくとも2つの再構成可能回路を備えた電子デバイスの故障検出方法であって、
前記回路情報記憶手段によって同一の回路情報が記憶されている前記少なくとも2つの再構成可能回路の中に、他の各再構成可能回路と異なるデータを前記データ出力手段により出力している再構成可能回路があるか否かを判別する判別工程、
を備えることを特徴とする電子デバイスの故障検出方法。
【請求項9】
回路情報を入力する回路情報入力手段と、当該回路情報入力手段によって入力された回路情報を記憶する回路情報記憶手段と、当該回路情報記憶手段に記憶されている回路情報に応じた回路が構成される可変回路と、当該可変回路によって処理されたデータを出力するデータ出力手段とを有する少なくとも2つの再構成可能回路を備えた電子デバイスの故障回復方法であって、
前記回路情報記憶手段によって同一の回路情報が記憶されている前記少なくとも2つの再構成可能回路の中に、他の各再構成可能回路と異なるデータを前記データ出力手段により出力している再構成可能回路があるか否かを判別する判別工程と、
前記判別工程で他の各再構成可能回路と異なるデータを出力している再構成可能回路があると判別されたことに応答して、前記他の各再構成可能回路と異なるデータを出力していると判別された再構成可能回路の前記回路情報入力手段に前記同一の回路情報を供給し、前記他の各再構成可能回路と異なるデータを出力していると判別された再構成可能回路の前記回路情報記憶手段に前記同一の回路情報を再度記憶させる回路再構成工程と、
を備えることを特徴とする電子デバイスの故障回復方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate


【公開番号】特開2010−134678(P2010−134678A)
【公開日】平成22年6月17日(2010.6.17)
【国際特許分類】
【出願番号】特願2008−309707(P2008−309707)
【出願日】平成20年12月4日(2008.12.4)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】