(57)【要約】【課題】実装面積、消費電力、および処理時間の増大を抑えつつ、ＭＮＵをはじめとするソフトエラーによって発生する不具合を防止することができる電子機器１０を提供する。【解決手段】本発明の電子機器１０は、所定数の命令毎に設けられたチェックポイントを実行する都度、演算装置１４内の順序回路に含まれるフリップフロップの状態を示すデータを取って置き、ソフトエラーの予兆を検出した場合に、直前のチェックポイントにおける命令の実行後に取って置いたデータに基づいて演算装置１４内の順序回路に含まれるフリップフロップの状態を設定し、直前のチェックポイントに対応する命令の次の命令から実行を再開する。【選択図】図１
2011170606.tif 000002
【特許請求の範囲】
【請求項１】
ソフトエラーによって発生する不具合を回避する機能を有する電子機器であって、
設定されたプログラムに従って、当該電子機器が有する演算装置を用いて命令を逐次実行する命令実行部と、
前記演算装置内の順序回路に含まれるフリップフロップの状態を示すデータを保持するデータ保持部と、
ソフトエラーの予兆を検出する予兆検出部と、
前記予兆検出部によってソフトエラーの予兆が検出されることなく、チェックポイントが対応付けられている命令が前記命令実行部によって実行された場合に、当該チェックポイントに対応する命令の実行が終了した時点における、前記演算装置内の順序回路に含まれるフリップフロップの状態を示すデータを前記データ保持部に保持させ、
前記予兆検出部によってソフトエラーの予兆が検出された場合に、前記命令実行部に命令の実行停止を指示し、前記データ保持部に保持されているデータに基づいて前記演算装置内の順序回路に含まれるフリップフロップの状態を設定し、直前のチェックポイントの次の命令から命令の実行再開を前記命令実行部に指示する制御部と
を備えることを特徴とする電子機器。
【請求項２】
請求項１に記載の電子機器であって、
前記予兆検出部は、
前記演算装置を構成する半導体のウェル電位を測定する電位測定部と、
前記電位測定部によって測定されたウェル電位が予め定められた電位を超えた場合に、ソフトエラーの予兆が検出された旨を出力する電位判定部と
を有することを特徴とする電子機器。
【請求項３】
請求項２に記載の電子機器であって、
前記演算装置を構成する半導体は、
トリプルウェル構造またはツインウェル構造であり、
前記電位測定部は、
トリプルウェル構造の半導体についてはｐ−ウェルの電位を測定し、
ツインウェル構造の半導体についてはｎ−ウェルの電位を測定し、
前記電位判定部は、
それぞれの構造の半導体について、前記電位測定部によって測定されたウェル電位と予め定められた電位とを比較してソフトエラーの予兆の有無を検出することを特徴とする電子機器。
【請求項４】
請求２または３に記載の電子機器であって、
当該電子機器は、
下位のデバイス層、中間のコンポーネント層、および、上位のシステム層の３層構造のシステムとして構成されており、
前記電位測定部は、前記デバイス層において実現され、
前記電位判定部は、前記コンポーネント層において実現され、
前記命令実行部、前記データ保持部、および前記制御部は、システム層において実現されることを特徴とする電子機器。
【請求項５】
請求１に記載の電子機器であって、
前記予兆検出部は、
前記演算装置に供給されるクロック信号の信号レベルを測定する信号レベル測定部と、
前記信号レベル測定部によって測定されたクロック信号の信号レベルが予め定められた信号レベルの範囲内にない場合に、ソフトエラーの予兆が検出された旨を出力する信号レベル判定部と
を有することを特徴とする電子機器。
【請求項６】
請求５に記載の電子機器であって、
当該電子機器は、
下位のデバイス層、中間のコンポーネント層、および、上位のシステム層の３層構造のシステムとして構成されており、
前記信号レベル測定部は、前記デバイス層において実現され、
前記信号レベル判定部は、前記コンポーネント層において実現され、
前記命令実行部、前記データ保持部、および前記制御部は、システム層において実現されることを特徴とする電子機器。
【請求項７】
請求１に記載の電子機器であって、
前記予兆検出部は、
前記演算装置内の順序回路に含まれるフリップフロップに供給されるセット／リセット信号の状態を測定する信号状態測定部と、
前記信号状態測定部によって測定されたセット／リセット信号の状態が、前記プログラムに従った命令の実行過程において設定されるべき状態と異なる場合に、ソフトエラーの予兆が検出された旨を出力する信号状態判定部と
を有することを特徴とする電子機器。
【請求項８】
請求７に記載の電子機器であって、
当該電子機器は、
下位のデバイス層および上位のシステム層の２層構造のシステムとして構成されており、
前記信号状態測定部は、前記デバイス層において実現され、
前記命令実行部、前記データ保持部、前記制御部、および前記信号状態判定部は、システム層において実現されることを特徴とする電子機器。
【請求項９】
請求項１に記載の電子機器であって、
前記予兆検出部は、
前記演算装置を構成する半導体の電源からグラウンドに到る電源ラインの電位を測定する電位測定部と、
前記電位測定部によって測定された電源ラインの電位が予め定められた電位を超えた場合に、ソフトエラーの予兆が検出された旨を出力する電位判定部と
を有することを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソフトエラーによって発生する不具合を回避する技術に関する。
【背景技術】
【０００２】
半導体デバイスの微細化に伴い、環境放射線（地上における宇宙線中性子やα線）ソフトエラーの問題が特にSRAM（Static Random Access Memory）や論理ゲート、クロック系などについて顕在化している。地上に到達した極めて高いエネルギーを有する中性子がデバイスを構成する原子核内に突入すると、核内の核子（中性子、陽子）が衝突を繰り返し、特に高いエネルギーを持った核子は核外に放出される。
【０００３】
核子が核外に飛び出すだけの運動エネルギーを持ち得ない状態になると、励起状態にある残留原子核から陽子、中性子、重陽子、アルファ粒子などの軽粒子が蒸発する過程が続き、最終的に残留核も反挑エネルギーを持つためこれらの２次粒子は全てその飛程に見合った距離をデバイスの中を飛ぶことになる。
【０００４】
半導体パッケージなどに含まれる放射性同位元素から発生するα線や、核反応の結果発生する電荷を持った２次イオンがSRAMの”high”状態にあるストレージノードの空乏層を通過すると、電子はノードに吸収され、正孔は反対方向に流れイオンの飛跡に沿って電荷収集領域が広がるファネリングメカニズムによって当初の空乏層に発生した以上の電荷がストレージノードに収集される。データが反転するために必要な臨界電荷量以上の電荷が収集されると”high”状態が“low”状態に推移し、保持データに誤りが発生する。これをソフトエラーという。
【０００５】
フリップフロップについてのソフトエラー対策としては、DICE（Dual Inter-locked storage CEll）が知られている（非特許文献１参照）。DICEは、MOS型の限定と中間出力を利用した耐性化技術であり、基本的な回路構成は図１０のようになる。ノード論理状態を（node1,node2,node3,node4）で示すと、初期状態は（1,0,1,0）または（0,1,0,1）のみである。仮に（1,0,1,0）の状態から，node1がエラー（0）になると、node4はpMOS、nMOSともONになるので、中間電位状態になり、次のクロック入力時に（信号入力とフィードバックに２箇所入っているが、常にどちらかがONになり、もう一方はOFFになる。）、これがnode1のnMOSのゲート電位になるが、pMOSはONを維持しているのでnode1は”１”を維持する。同様に逆の初期状態も含めどのノードがエラーを起こしても初期状態に戻る。その過程を示すと図１１の状態遷移図のようになる。
【０００６】
また、電子システムのソフトエラー対策として、TMR（Triple Module Redundancy）、Duplication＋Comparison＋checkpoint（DMR、Double Module Redundancyとも呼ばれる）、およびReplication＋rollback等の技術が知られている。
【０００７】
TMRでは、モジュールを３系統準備し、３モジュールで同じ命令を実行し、結果を多数決回路を用いて多数決で決定し、次段以降の実行を継続することにより、一つのモジュールにソフトエラーが発生しても、正常な処理が実行される。
【０００８】
Duplication＋Comparison＋checkpointでは、命令の実行フローの中にチェックポイントを必要な数だけ設け、そこでの命令実行に必要なパラメータを記憶する。２系統のモジュールで同じ命令を実行し、両者の実行結果を比較する。比較した結果、両者が一致しなければ、チェックポイント以降でエラーが発生したものとみなして、チェックポイントに戻って再び同じ処理を実行する。これにより、一方のモジュールにソフトエラーが発生しても、正常な処理が実行される。
【０００９】
Replication＋rollbackでは、同じ命令を１つのモジュールで２回実行し、１回目の実行結果と２回目の実行結果とが一致しなければ、その命令を再度実行する。これにより、ソフトエラーが発生しても、再度正常な処理が実行される。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】T.Calin, M.Nicolaidis, and R.velazco, "Upset hardened memory design for submicron CMOS technology", IEEE Trans. Nuclear Science, Vol.43, No.6, pp.2874-2878 Dec.1996
【発明の概要】
【発明が解決しようとする課題】
【００１１】
近年の半導体デバイスの微細化に伴い、隣接するノード間の距離が短くなる傾向にあり、１回のα線または核反応の結果発生した２次イオンの入射によって発生した電荷が複数のノードに影響を与えるＭＮＵ（Multi-Node Upset）が問題となっている。
【００１２】
上記したDICEでは、node1とnode3に同時にソフトエラーが発生すると、次のクロック時にこの状態で安定してしまうため、エラーを修復することができない。すなわち、ＭＮＵがnode1とnode3、または、node2とnode4に同時に発生するとDICEではエラーが固定されることになる。
【００１３】
また、TMRでは、一度に複数のモジュールでソフトエラーが発生すると、多数決でエラーの方が採用される場合があり、ＭＮＵの解決策とはなりえない。また、TMRは、１つの処理に３つのモジュールを準備して同時に動作させる必要があり、実装面積および消費電力が多くなるという問題がある。
【００１４】
また、Duplication＋Comparison＋checkpointでも、２つのモジュールの両方でソフトエラーが発生するとエラーのまま処理が進んでしまうことになり、ＭＮＵの解決策とはなりえない。また、１つの処理に２つのモジュールを準備して同時に動作させる必要があり、実装面積および消費電力が多くなる。
【００１５】
また、Replication＋rollbackでは、同一の処理が異なるタイミングで実行されるため、いずれかの時点で複数のノードにソフトエラーが発生したとしても、それ以外の時点で実行される処理に影響がないため、ＭＮＵの問題は発生しない。しかし、Replication＋rollbackでは、全ての処理を常に２度実行するため、処理時間が２倍かかってしまう。また、消費電力も２倍になってしまうという問題がある。
【００１６】
本発明は上記事情を鑑みてなされたものであり、本発明の目的は、実装面積、消費電力、および処理時間の増大を抑えつつ、ＭＮＵをはじめとするソフトエラーによって発生する電子機器の不具合を防止することにある。
【課題を解決するための手段】
【００１７】
上記課題を解決するために、本発明の電子機器は、所定数の命令毎に設けられたチェックポイントを実行する都度、演算装置内の順序回路に含まれるフリップフロップの状態を示すデータを保存し、ソフトエラーの予兆を検出した場合に、直前のチェックポイントにおける命令の実行後に保存したデータに基づいて演算装置内の順序回路に含まれるフリップフロップの状態を設定し、直前のチェックポイントに対応する命令の次の命令から実行を再開する。
【００１８】
また、例えば、本発明は、ソフトエラーによって発生する不具合を回避する機能を有する電子機器であって、
設定されたプログラムに従って、当該電子機器が有する演算装置を用いて命令を逐次実行する命令実行部と、
前記演算装置内の順序回路に含まれるフリップフロップの状態を示すデータを保持するデータ保持部と、
ソフトエラーの予兆を検出する予兆検出部と、
前記予兆検出部によってソフトエラーの予兆が検出されることなく、チェックポイントが対応付けられている命令が前記命令実行部によって実行された場合に、当該チェックポイントに対応する命令の実行が終了した時点における、前記演算装置内の順序回路に含まれるフリップフロップの状態を示すデータを前記データ保持部に保持させ、
前記予兆検出部によってソフトエラーの予兆が検出された場合に、前記命令実行部に命令の実行停止を指示し、前記データ保持部に保持されているデータに基づいて前記演算装置内の順序回路に含まれるフリップフロップの状態を設定し、直前のチェックポイントの次の命令から命令の実行再開を前記命令実行部に指示する制御部と
を備えることを特徴とする電子機器を提供する。
【発明の効果】
【００１９】
本発明の電子機器によれば、実装面積、消費電力、および処理時間の増大を抑えつつ、ＭＮＵをはじめとするソフトエラーによって発生する不具合を防止することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の一実施形態に係る電子機器１０の構成を示すブロック図である。
【図２】電位測定部１７の詳細な構成の一例を示す概念図である。
【図３】電子機器１０のシステム構成を示す概念図である。
【図４】ソフトエラー耐性を考慮した設計手順の一例を示すフローチャートである。
【図５】ソフトエラーの発生頻度と修復費用の関係の一例を示すグラフである。
【図６】電子機器１０によって実行される命令実行サイクルの一例を示すフローチャートである。
【図７】電子機器１０の割り込み処理の一例を示すフローチャートである。
【図８】予兆検出部１５の他の例を示すブロック図である。
【図９】予兆検出部１５の他の例を示すフロック図である。
【図１０】Calinによって提案された耐性ラッチDICEの構成を示す図である。
【図１１】Calinによって提案された耐性ラッチDICEの状態遷移を示す図である。
【図１２】SEUTの耐性化対策が微細化に伴って無力化する解析結果と、クロック系のノイズ起因でのソフトエラー率とを併せて示す図である。
【図１３】新エラーモードMCBIに対応するエラービットの２次元配置パターンを示す図である。
【図１４】環境中性子線とＳｉの核反応によって発生する２次イオンのエネルギースペクトルを示す図である。
【図１５】イオンのエネルギーに対応してＳｉ中で発生する電子（正孔）の電荷密度の計算値を示す図である。
【図１６】イオンのエネルギーに対応してＳｉ中で飛程を示す図である。
【図１７】SRAMの２次元レイアウトを示す図である。
【図１８】メモリセルでの飛跡に沿った電荷発生を計算するためのＤＣＳ（Dynamic Cell Shift）法の概念を示す図である。
【図１９】デザインルールとＳＥＴパルス幅の関係を電荷密度の関数として示す図である。
【図２０】中性子ソフトエラーへのスケーリング効果をまとめた図である。
【図２１】それぞれの２次イオンがＳｉ中で発生する電荷密度と頻度の関係を示す図である。
【図２２】陽子、α、原子番号１０以上の重イオン、２次イオンの全体がＳｉ中で発生する電荷密度と頻度の関係を示す図である。
【図２３】陽子、α、原子番号１０以上の重イオン、２次イオンの全体がＳｉ中で発生する総電荷と頻度の関係を130nmデバイスについて示す図である。
【図２４】陽子、α、原子番号１０以上の重イオン、２次イオンの全体がＳｉ中で発生する総電荷と頻度の関係を22nmデバイスについて示す図である。
【図２５】ＦＢＭ（核反応５８００３回分。核反応は図の原点で起こす。）のスケーリングによる変化を示す図である。
【図２６】ＳＥＵ断面積の励起関数のスケーリングによる変化を示す図である。
【図２７】ＭＣＵ断面積の励起関数のスケーリングによる変化を示す図である。
【図２８】ＭＣＵ比率のエネルギー依存性のスケーリングによる変化を示す図である。
【図２９】ＭＣＵ多重度のスケーリングによる変化を示す図である。
【図３０】ＭＣＢＩの場合のＭＮＵの多重度と電流値との関係を示す図である。
【発明を実施するための形態】
【００２１】
以下、本発明の実施の形態の概要および本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態の概要および実施の形態を説明する全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【００２２】
本発明は、発明者が得た一連の実験やシミュレーションの新しい知見に基づいており、まずその知見について説明する。
【００２３】
[１．ＭＮＵモード・影響の拡大に関する実験的知見]
下記の非特許文献２には、論理デバイスでは微細化が進んでノードの間隔が近くなると発生した電荷が複数のノードにまたがって分配されるため（チャージシェア）該当するノードがＭＮＵ（Multi-Node Upset）により同時にエラーになりうることが示されている。背景技術で紹介した高耐性ＦＦ（フリップフロップ）・ラッチは空間的または時間的冗長化を基本としているが、このような冗長化対策が複数のノードを利用している場合、ＭＮＵによって耐性化策が無力になる場合があることが同文献に示されている。
【００２４】
非特許文献２：Seifert, N., Zhu, X., Massengill, L.W., "Impact of Scaling on Soft-Error Rates in Commercial Microprocessors," TNS, Honolulu, Hawaii, July 23-27, Vol.49, No.6, pp. 3100-3106 (2002).
【００２５】
図１２は、そのような解析例と実測例を示したものである。図１２に示すように、SEUT（Single Event Upset Tolerant）は、微細化とともにエラー率が増加し、32nmプロセスにはいると非対策ＦＦのレベルと大きくは変わらないほど無力化することが予測されている。
【００２６】
その一方で、同図に実測値として示されているが、クロック系に入ったＳＥＴ（Single Event Transient）が原因のエラーが大きな問題であることが指摘されている。ＦＦには上記非特許文献２にも示されているが、これに加え、グローバルSET/RESET系に入ったＳＥＴもＭＮＵの原因になるため、対策の必要な範囲はメモリ以上に広い。
【００２７】
発明者らは、そのようなＭＮＵの原因となる別モードがあることを中性子照射実験により発見した。実験はSRAMについて行い、エラービットの２次元パターンが図１３に例示するように、データパターンによって異なることを明らかにした。すなわち、”１”、”０”が縦横交互にならぶチェッカーボード（ＣＢ）パターンでは、ワード線方向に２ビット横並びのエラーがビット線方向に一ビットおきに並び、全て”０”または全て”１”のデータパターンでは、ビット線方向に一列になって連続してエラーが発生する。
【００２８】
発明者は、シミュレーション解析を通じて上記のＭＮＵのメカニズムを解明し、MCBI（Multi-Coupled Bipolar Interaction）と名づけた。すなわち、ｐ−ウェル内のｐｎ接合をイオンが通過した場合に、ｐ−ウェル内に発生した電子はｎ側に吸収され、ｐ−ウェル内に正孔が残って電位が高くなり一部のトランジスタがＯＮ（ＳＥＳ：Single Event Snapback）になり電流が流れる。これが第一ステップとなって周囲の電位変化を引き起こし、寄生サイリスタがＯＮになってｐ−ウェル内の多数の”High”ノードがエラーになる現象である。
【００２９】
ＳＥＬ（Single Event Latchup）と類似するが、ＳＥＬがワード線およびビット線両方向に数千ビットにもわたって拡大し、パワーサイクル（電源の再立ち上げ）をしないと修復しないことに対し、MCBIではエラーの広がりはワード線方向には最大隣接２ビットであり、ビット線方向にのみ十ビット程度延伸し、書き換えで修復できる点に大きな相違がある。
【００３０】
また、図３０は準単色中性子源（特定の中性子エネルギーEpに幅の狭い頻度のピークを持った中性子源）で測定した電源電流Iddの変化をEp４点について示したものである。図３０に示されているように、エラーが発生しない場合の電源電流値Ａに対して、ＭＣＢIが発生すると、エラービットの多重度（２，３，４ビット）に対応して、Ｂ，Ｃ，Ｄの離散した電流ピークが現れることにも特徴がある。
【００３１】
複数の論理ノードが同時にエラーになるマルチノードアップセット（ＭＮＵ）は、冗長系の効果を無力にしたり、複数入力の論理ゲートの入力ノードに同時にフォールトを起こす原因となる。
【００３２】
MCBIは、130nmプロセスのSRAMでは最大連続１２ビットに及ぶものであるが、ＷＬ方向に１直線にならぶものは約2500件のＭＣＵのうち３ビット以上の場合はなく、理論的にもMCBIを考慮していないシミュレーションで発明者が示したように、インターリーブの間隔をＷＬ方向に３ビット以上にし、ＥＣＣを設ければ、MCBIは完全に対策できると予測できる（例えば、下記の非特許文献３参照）。
【００３３】
非特許文献３：E.Ibe, S.Chung, S.Wen, H.Yamaguchi, Y.Yahagi, H.Kameyama, S.Yamamoto, T.Akioka, "Spreading Diversity in Multi-cell Neutron-Induced Upsets with Device Scaling," 2006 CICC, San Jose, CA., September 10 - 13, 2006, pp. 437-444 (2006).
【００３４】
一方，背景技術でまとめた高耐性化ＦＦ・ラッチでは、ＳＮＵ（Single Node Upset）への対応は可能であるが、DICE同様一般的にはＭＮＵには対応できない。その点を差し置いても、面積、消費電力、スピード等のペナルテイがそれぞれ大きく、部位を限定して使用すべきである。
【００３５】
[２．ＭＮＵの影響の拡大に関するシミュレーションに基づく知見]
発明者は、環境中性子線による半導体デバイスのソフトエラーをＭＮＵを含めて解析するシミュレーションコードCORIMSを既に開発済みであり、その詳細は上記非特許文献３にまとめてある。本発明に関連し、22nmプロセスまでのCMOSデバイスのソフトエラーのスケーリング効果を予測した。以下モデルの概要と解析結果を紹介する。
【００３６】
A.シミュレーションモデル
(i)  核破砕反応モデル
環境中性子線はもともとは銀河系核で発生した超高エネルギー宇宙線（主に陽子）が大気中の酸素や窒素などの原子核と衝突し、核破砕反応により発生するもので、エネルギーは数GeVも及ぶ。高エネルギー中性子は電荷を持たないため、ほとんどの場合、デバイスに当っても素通りする。きわめて低い確率ではあるが、半導体デバイスを構成する元素の原子核と反応すると（主にＳｉ）、ここでも核破砕反応が起き、高エネルギーの２次イオンが発生する。
【００３７】
この核破砕反応は本来多体問題であるが、CORIMSではこれを２段階の相対論的２体問題のカスケードに置き換えて解く。１段目は、入射した中性子が原子核内の核子（陽子、中性子）と順次衝突・散乱を繰り返し、一部の核子が核外に放出されたりしながら、残留励起核になるまでの過程（Intra-Nuclear Cascade，ＩＮＣと呼ぶ）である。２段目は、ＩＮＣの後で残留励起核から軽粒子（陽子、中性子、α粒子など）が”蒸発”する過程である。
【００３８】
蒸発する過程は、特定の反応チャネルが特定の確率をもって放出されるが、その確率の計算にはＧＥＭモデルを用いる。２次イオンの種類はＳｉから発生しうる全ての元素になるが、Ｍｇ、Ａｌ、陽子、Ｈｅ（α粒子）が主なものになる。地上の環境中性子線スペクトルは現在JESD89Aに開示されているものがNew York海面での国際標準スペクトルとして定められている。スペクトルの形は変わらないが、太陽活動、地磁気緯度、標高、気圧など様々な要因で変動する。特に標高の影響が大きく、航空機高度では海面の１００倍程度の強度になる。CORIMSで計算したNew York海面での中性子スペクトルに対応して発生する代表的２次イオンのエネルギースペクトルを図１４に、対応するエネルギー範囲のＳｉ中の飛程、エネルギー付与密度（Linear Energy Transfer (LET):単位MeV/(mg/cm2でイオンが通過する材料の密度を掛けると単位長さ当りのエネルギー付与量が得られる。ＳＲＩＭによる計算結果から電荷付与密度に換算）の計算結果を図１５および図１６にそれぞれ示す。
【００３９】
運動量保存則を満たさなければいけない関係で、運動エネルギーの大部分は軽粒子（陽子、α粒子）に付与される。重粒子については重いほど、運動エネルギーが数十MeV以下と小さくなるため、その飛程は数十μｍ以下になる。軽粒子では数十ｍｍを越えることになるが、図１５からわかるように軽粒子の電荷付与密度は、エネルギー１０〜１００MeV以上では急激に減少するため、実際には高エネルギー軽粒子のソフトエラーへの寄与はほとんど無視できることを意味する。
【００４０】
(ii)  電荷収集モデル”
２次イオンがSRAMの”High”データ状態にあるストレージノード直下の空乏層（ｐｎ接合）を通過すると、発生した電子・正孔対は空乏層内の電界に沿ってnMOSFETでは電子はノードに、正孔はその反対方向に流れる。発生した電荷の移動に伴って、空乏層内の電界はノードから遠方に、イオンの飛跡に沿って延び（ファネリング効果と呼ぶ）、最初の空乏層内の電荷より多くの電荷を収集するようになる。
【００４１】
CORIMSに実装しているモデルでは、Ｈｕのファネリングモデルを採用し、ファネリング長ｘcを下記の数式（１）により計算する。
2011170606.tif 000003
ここで、μe、μhは、それぞれ電子、正孔の移動度、Ｗは空乏層の厚さ、θはイオンの進行方向を天頂角で示したものである。
【００４２】
ファネリングによる電荷の収集効率ηは、下記の数式（２）で算出される。ここで、距離ｘcは指数関数的に減少すると仮定し、Lmax=４μｍを用いた。
2011170606.tif 000004
【００４３】
また、トリプルウェル構造では、ｐ−ウェル下面のｐｎ接合を通過した場合、さらに拡散層を２次イオンが通過しない場合でも拡散ドリフトにより電荷が収集される。CORIMSでは、拡散層直下に厚さ0.1μｍの仮想電荷収集領域を設け、この領域で発生した電荷も拡散層に収集されるとして計算している。
【００４４】
(iii)  デバイスモデル
CORIMSでは、デバイスのトランジスタおよび周辺構造を、複数の層構造内に含まれる直方体のコンポーネントに分割し、レイアウトをＧＤＳ２ファイルから自動的に読み取り、深さ方向はプロファイル情報に基づいて３次元モデルを構築する。直方体コンポーネントは、頂点座標、構成する稜、面の情報に置き換え、２次イオンの通過する座標やエネルギーをＣＡＤのアルゴリズムを援用して精密に計算する。
【００４５】
図１７にSRAMモデルの基本的な構造を示す。CORIMSに実装されているスケーリング機能を用いて、平面構造・レイアウトを全体の縮小率にあわせ相似形でスケーリングするようにし、深さ方向については一定のままと仮定した。
【００４６】
(iv)  セルマトリックスモデル
エラービットの広がりは後述するようにＳｉ中５０μｍに及ぶため、22nmまでの微細化を考慮する場合は、数千ビット以上にまたがってデバイス内を通過することになり、詳細な構造を持ったモデルをその範囲でメモリセルを配置したマトリックスモデルでは膨大な記憶容量が必要になり現実的でない。
【００４７】
そこで、CORIMSでは、図１８に示すように、物理的なセルモデルは１個だけで、セルの端面に達した時に、２次イオンの入射位置を１ビット分シフトさせて同じ物理モデル内で計算を実行し、物理アドレスだけを対応して増減させるダイナミックシフト（ＤＣＳ）モデルと称する手法を採用している。メモリマトリックスでは、隣接するセル間で電源電圧（Ｖｄｄ）やグラウンド（Ｖｓｓ）を共有して面積を低減するため、境界線に沿ってセルのレイアウトを対称系に反転（ミラーリングとも呼称する）させる場合が多いが、このようなケースにもＤＣＳモデルは対応している。
【００４８】
（v）  MCBIバイポーラ効果
微細化に伴い顕著になりつつあるMCBI効果は、（１）トリプルウェル構造のCMOSFETデバイスにおいて２次イオンがｐ−ウェル内のｐｎ接合を通過する際に電子がｎ層に流入する結果、（２）正孔が残ってｐ−ウェル内の電位が高くなり、隣接するトランジスタがまとめてＯＮになり、（３）ｐ−ウェル内の複数のノード集中的にエラーになる現象である。
【００４９】
電荷収集事象と同時に発生するモードであるが、発生確率は２次イオンが通過する位置、方向、エネルギーに大きく依存するため、CORIMSに厳密なモデルを組み込むことは困難である。本明細書では、従来の電荷収集モデルに限定し、バイポーラ効果を含めた解析は含めない。
【００５０】
(vi)  ＳＥＴパルス幅モデル
下記の非特許文献４に示されているＳＥＴパルス幅モデルを外挿し、22nmまでのパルス幅を電荷付与密度の関数として多項式近似し、計算できるようにした。計算結果を図１９に示す。微細化が進むほどＳＥＴパルス幅は増加し、現実的な電荷付与密度（最大120fC/μm程度）の範囲では22nmプロセスでは１nsを超え、ＳＥＴ対策が益々重要になることが分かる。
【００５１】
非特許文献４：Mavis, D.G., and Eaton, P.H., " SEU and SET modeling & mitigation in deep submicron technologies," IRPS, Phoenix, Arizona, April 15-19, 2007, No.4B.1 (2007).
【００５２】
(vii)  CORIMSの精度
CORIMSは国内３箇所での130nmSRAMのエラー率の実測値、LANSCEでのSpallation中性子源、ＴＳＬ、CYRICでの（準）単色中性子スペクトルでのSRAMのエラー率測定結果と、いずれも平均20%以下の誤差で一致する結果が得られており、22nmまでの予測計算においても同程度の精度が期待できる。
【００５３】
B．想定ロードマップと対応する解析条件
ITRS2007などのロードマップ情報を検討し、130nmから22nmに至るSRAMの諸元を設定した。２次元のセル寸法をセル面積が世代毎に半分になるように縮小率を与えた。深さ方向はロードマップ情報が無いため、全世代で一定とした。臨界電荷量は、寄生容量に比例するので、面積に応じて減少すると仮定した。動作電圧が下がれば、臨界電荷量は動作電圧と寄生容量の積に比例するのでさらに小さくなるが、実際に動作電圧を下げることには技術的に困難な点が多いので今回はその効果は無視し、電圧は一定とした。
【００５４】
C．解析結果
(i)  解析結果の概要
図２０にデータパターンがＣＢ（チェッカーボード）の場合を示した。結果を以下にまとめる。
（１）SRAMのソフトエラー率はMbit当りでは１／５程度まで漸減するが、集積度の増加がそれを上回り、デバイスあたりでは130nmから継続的に増加し、22nmでは約７倍に達する。
（２）MCUの全イベント数に対する比率は世代毎に増加し、22nmでは５０％弱に達する。
（３）MCUの最大サイズは45-22nmでは１Mbitに、多重度も100ビットを超える。
（４）SETパルスの平均値は65nm以降は0.25ns程度で推移する。図１９から分かるように世代毎に電荷付与密度があるしきい値を超えるとＳＥＴパルスが発生し、微細化と共にこのしきい値は低下する。ＳＥＴパルスが発生した場合全てエラーになると想定した上限値を図２０に合わせて示した。微細化が進むほどソフトエラー率に近接してくる傾向があるが、ピーク電流値の低下や回路の複雑化によるマスキング効果の相違など考慮しなければならない点が多く、定量化のためにはより精密なモデル評価が必要である。
【００５５】
(ii)  ２次イオン種と付与電荷密度の相関
２次イオンがストレージノードを通過したときに、ノード表面に付与した電荷密度（単位長さあたりに付与した電荷量）とその頻度（Cross section）を図２１に示す。また、同じデータを陽子、α粒子以外で原子番号１０以上について合計した結果を図２２に示す。
（１）図には明示していないが、世代によって相違の無い結果が得られた。鋭敏領域をイオンが通過する時の電荷付与密度なので、原理的に世代間の相違は無い。約110fC/μmが最大値なので、この値に対してソフトエラー感受性の無いデバイスは完全なエラー耐性を有することになる。
（２）図２２からも明らかなように、低電荷密度（約10fC/μm以下）は軽イオン（陽子、α粒子）がエラーへの寄与が支配的になる。電荷密度数十fC/μm以上は重イオンのみの寄与となる。
【００５６】
(iii)  ２次イオン種とノードに付与した総電荷量の相関
電荷密度については世代間に相違は認められなかったが、総電荷収集量では図２３、図２４に22nmSRAMと130nmSRAMについて例示するように、明確な世代間相違があった。
（１）重イオン（Ｚ＞10）は多量の（最大約36fC)電荷収集の原因になるが、少量の電荷付与の確率はα粒子や陽子に比べて小さくなる。
（２）電荷収集量は世代毎に少なくなりソフトエラーは発生しにくくなる傾向になるが、130nmSRAMで最大36fCに対し22nmで最大20fC程度でその差は顕著では無い。一方、130nmでは臨界電荷量を5から10fCに増加しても大きな効果は期待できないが、22nmでは臨界電荷量10→4→2→1fCの差がそれぞれ一桁以上のソフトエラー率の差を生むことが分かる。
（３）収集電荷量が小さい範囲では、α粒子→陽子の順に寄与が大きくなる。この電荷量範囲は世代が進展するに従って低く、狭くなる。例：α粒子の寄与は130nmでは9fC以下であるのに対し、22nmでは約5fC以下。
【００５７】
(iv)  Failed Bit Map(ＦＢＭ)の変化
図２５にエラービットのＦＢＭ分布の変化を示す。エラービットの距離では図２５に示したように世代間で大きな変化は無かったが、ＦＢＭで見ると大きな変化になることが分かる。図の横方向がＷＬ、縦方向がＢＬである。図２５を見ると、130nmでは縦横数十ビット分に集中しているのに対し、22nmでは数千ビットでおよそ一桁程度影響が及ぶビット数が増加していることが分かる。これは、２次イオンの飛程が変わらない一方で、デバイスが縮小する分影響するビット数が増えることに加え、臨界電荷量の減少に対応して飛程が長く発生数も多い陽子、α粒子の影響が大きくなることに対応している。
【００５８】
(v)  ＳＥＵ断面積変化のエネルギー依存性
（１）図２６に示すＳＥＵ断面積では低エネルギー中性子ほど寄与が大きい。ＳＥＵ断面積が低エネルギー側でピークを持つ傾向は微細化が進行するほど顕著で、ピーク位置も低エネルギー側にシフトする。これは微細化により臨界電荷量が減少する結果、陽子の寄与が顕著になることに対応している。すなわち、陽子は全体としての発生量は他のイオンより圧倒的に大きいが、臨界電荷量が大きいうちは図２２に示したように電荷付与密度が他のイオンに比べ極めて小さいためソフトエラーへの寄与は小さかったが、微細化が進んで臨界電荷量が小さくなると、陽子でも十分データを反転できるいようになったことを意味する。さらに、中性子のエネルギーが低いほど発生する陽子のエネルギーも小さいため、同じく図２５からわかるように，電荷発生密度も高くなるため，エラー発生率も高くなることになる。
【００５９】
（２）図２７に示すＭＣＵのみの断面積は200MeV程度以上まで幅が広く、60〜100MeV程度で最大値を持つ。微細化に伴う形状の大きな変化は無い。これは、ＳＥＵ断面積では軽粒子、特に陽子の寄与が大きいことに対し、ＭＣＵでは陽子の寄与はほとんど無く、重い２次イオンの寄与が大きいことに対応していると考える。すなわち、微細化に伴って臨界電荷量が小さくなる結果、発生数が大きい軽粒子の寄与がＳＥＵでは大きくなるのに対し、ＭＣＵを起こしやすい重い２次イオンは中性子エネルギーが高いほど発生しやすいため、低エネルギー中性子の影響を受けないことに起因する。
【００６０】
(vi)  ＭＣＵ比率のエネルギー依存性
図２８にＭＣＵの全エラー数に対する比率を中性子エネルギーの関数として示す。本図からは以下が読み取れる。
（１）ＭＣＵ比率は世代によらず、200MeV前後で飽和し、高エネルギー側で漸減する。
（２）世代毎にＭＣＵ比率の飽和値は高くなり、22nmでは0.5を超える。
（３）ＭＣＵの発生するエネルギーには数MeV程度のしきい値があり、微細化に伴って若干低減の傾向があるが、顕著な変化は認められなかった。
【００６１】
(vii)  ＭＣＵ多重度の世代間推移
図２９にＭＣＵの多重度（同時にエラーになるビット数）の計算結果をAll”１”のデータパターンについて示す。ＭＣＵ多重度は世代毎に高い方の比率が増える方向に推移することがわかる。
【００６２】
(viii)  論理デバイスへの影響
以上の結果から、CMOS論理デバイスへの影響を議論する。微細化が進むほどエラー数そのものも増加するため、論理デバイスもCMOSである限りSRAM同様にエラー率は増加する。22nmでは、６トランジスタSRAMで中性子核反応１回あたり最大約100万ビット程度の範囲に影響がおよび、ＭＣＵの多重度も最大100ビット以上になる結果を示したが、トランジスタ（論理回路のノード１個分に対応）にして１00万個以上の範囲で、100個以上のトランジスタが同時にエラーになることを意味している。論理回路の広い範囲で100個のノードがエラーになれば、TMR、DMR、DICEなどの冗長系や修復回路を含めた様々なシステム上のエラー対策でも無力化することは容易に推測できる。
【００６３】
遮蔽などの対策が無力な高エネルギー中性子線に対しては、完璧なデバイス対策がすぐに完成することは期待できないため、ソフトエラーの発生は避けられないことを前提にした上で、早急に論理回路・システムへの影響の見積もりとデバイス・コンポーネント・システムが連携し、IEC61508に準拠して危険側エラー・リスクの発生を容認できるレベルまで低減する対策技術の確立が必須である。
【００６４】
以上のような知見に基づき、本発明の実施の形態について以下に説明する。
【００６５】
図１は、本発明の一実施形態に係る電子機器１０の構成を示すブロック図である。電子機器１０は、データ保持部１１、制御部１２、命令実行部１３、演算装置１４、および予兆検出部１５を備える。
【００６６】
命令実行部１３は、予め電子機器１０に設定されたプログラムに従って、当該プログラムに記載された命令を、ＣＰＵ（Central Processing Unit）等の演算装置１４を用いて順次実行する。当該プログラムには、いくつかの命令毎に、命令に予めチェックポイントが対応付けられており、命令実行部１３は、チェックポイントが対応付けられている命令を実行した場合に、当該命令を識別するＩＤ（例えばプログラムカウンタの値など）を、制御部１２に通知する。
【００６７】
また、命令実行部１３は、命令の実行停止を制御部１２から指示された場合に、演算装置１４を用いた命令の実行を停止する。そして、命令実行部１３は、命令のＩＤと共に実行再開を制御部１２から指示された場合に、指定されたＩＤの命令から、命令の実行を再開する。
【００６８】
制御部１２は、チェックポイントが対応付けられている命令のＩＤを命令実行部１３から通知された場合に、通知されたＩＤを保持すると共に、演算装置１４内の順序回路に含まれるそれぞれのフリップフロップの状態を読み出し、当該状態を示すデータをデータ保持部１１に格納する。
【００６９】
また、制御部１２は、ソフトエラーの予兆を検出した旨を予兆検出部１５から通知された場合に、命令実行部１３に命令の実行停止を指示する。そして、制御部１２は、データ保持部１１に格納されているデータを読み出し、当該データが示す状態となるように、演算装置１４内の順序回路に含まれるそれぞれのフリップフロップの状態を設定する。
【００７０】
そして、制御部１２は、保持しているＩＤに対応する命令の次に実行されるべき命令のＩＤを算出し、算出したＩＤを命令実行部１３に通知することにより、当該ＩＤに対応する命令から、命令の実行再開を命令実行部１３に指示する。
【００７１】
予兆検出部１５は、電位判定部１６および電位測定部１７を有する。電位測定部１７は、演算装置１４を構成する半導体のウェル電位を測定する。電位測定部１７は、例えば図２に示すように、ＡＤＣ（Analog Digital Converter）１７０および増幅器１７１を有する。
【００７２】
本実施形態において、演算装置１４内の半導体はトリプルウェル構造であり、増幅器１７１はｐ−ウェルの電位を増幅する。ＡＤＣ１７０は、増幅器１７１によって増幅された電位を示すアナログ信号をディジタルデータに変換して電位判定部１６に提供する。
【００７３】
なお、他の形態において、演算装置１４内にはツインウェル構造の半導体が含まれていてもよく、ツインウェル構造の半導体については、増幅器１７１はｎ−ウェルの電位を増幅してＡＤＣ１７０へ送る。
【００７４】
電位判定部１６は、電位測定部１７によって測定されたウェル電位が、予め定められた電位（例えば数ボルト）を超えたか否かを判定する。電位測定部１７によって測定されたウェル電位が予め定められた電位を超えた場合、電位判定部１６は、ソフトエラーの予兆を検出した旨を制御部１２に通知する。
【００７５】
図３は、電子機器１０のシステム構成を示す概念図である。電子機器１０は、図３に示すように、下位のデバイス層、中間のコンポーネント層、および、上位のシステム層の３層構造のシステムとして構成されている。本実施形態において、データ保持部１１、制御部１２、および命令実行部１３は、システム層において実現され、電位判定部１６は、コンポーネント層において実現され、電位測定部１７は、デバイス層において実現される。
【００７６】
このように、本実施形態では、各階層単独でソフトエラーへの対策を実現するのではなく、複数の階層間にまたがった連携的な対策により検出・修復法の問題点を解決するものである。
【００７７】
図４は、ソフトエラー耐性を考慮した設計手順の一例を示すフローチャートである。
【００７８】
まず、システム全体としてのＳＥＲ（Soft Error Rate）の目標値ＳＥＲMAXを策定する（Ｓ１００）。目標の策定の仕方は一般の電子システムについて冗長系を採用する場合は、下記の非特許文献５にＳＩＬレベルに基づく一般的な設定の仕方が開示されている。
【００７９】
非特許文献５：日本規格協会 IS C 0508 電気・電子・プログラマブル電子安全関連系の機能安全（2000）
【００８０】
上記非特許文献５では、ネットワークルータについては修復に要する時間を４ランクに分け、それと頻度との２指標でランク毎に設定する考え方が開示されている。図５には、電子システムの事故１件あたりの修復（事故による損害も含める）に要する費用とその頻度による設定法を概念的に示す。
【００８１】
（１）特定のシステムに着目して事故の実績を修復に要した費用と頻度（件数/年）としてプロットする。横軸に関して積分すれば１年当たり修復に要した総費用が計算できる。
（２）これに対して対象製品の売り上げの実績から十分利益の上がる目標総修復費用を決定する。
（３）事故例のうち、非再現で原因不明でデータの書換えやRESETで修復したものをプロットする。
（４）事故例のうち、非再現・原因不明で電源再立ち上げで修復したものをプロットする。
【００８２】
（３）はＳＥＬを除いたソフトエラー起因の可能性が高い。（４）はＳＥＬの可能性が高い。ＳＥＬは一度発生すると致命性が高いので、修復費用は大きくなるものに集中することが図５からわかる。目標総修復費用のうちソフトエラーの目標カーブを設定し、頻度の年間総和を求め、これをシステム耐性の目標値ＳＥＲMAXとする。
【００８３】
次に、コンポーネント毎に、種別ｉの論理ゲートの実装数ＮiG、種別ｊのメモリの実装数ＮjMをリストアップし、コンポーネント毎のＳＥＲの上限ＳＥＲUBを下記の数式（３）により求める（Ｓ１０１）。
2011170606.tif 000005
【００８４】
次に、ＳＥＲUBが目標値ＳＥＲMAX未満であるか否かを判定する（Ｓ１０２）。ＳＥＲUBが目標値ＳＥＲMAX以上であれば（Ｓ１０２：Ｎｏ）、影響と対策効果の大きいコンポーネント（影響が大きくても効果的な対策の選択肢の少ないコンポーネントもある）を選出する（Ｓ１０３）。具体的には、ＳＥＲiGとＮiGの積が大きい種別のゲートを選出する。
【００８５】
次に、選出した種別の部品を、ソフトエラー耐性の高い部品に交換してＳＥＲUBを再度算出する（Ｓ１０４）。具体的には、選出した種別の部品について、ＳＥＲiGの小さいゲートに交換する。また、選出した種別の部品について、実装数ＮiGが少なくなるように回路変更することにより、ＳＥＲiGとＮiGの積を少なくするようにしてもよい。
【００８６】
ステップＳ１０２またはＳ１０５のいずれかにおいて、ＳＥＲUBが目標値ＳＥＲMAX未満となった場合には、ステップＳ１０６に示す本実施形態の設計手法を実行しなくても、システム全体として目標値となるＳＥＲを満たすため、ステップＳ１０６に示す本実施形態の設計手法を実行せずに終了する。
【００８７】
ステップＳ１０４における対策を実行しても、なおＳＥＲUBが目標値ＳＥＲMAX以上となる場合には、ステップＳ１０６に示す本実施形態の方法（ＬＡＢＩＲ：Inter-Layer Built-In Reliability）を実行する。ＬＡＢＩＲとは、図１および図３に示したように、異なる階層に設けられた各機能が互いに連携することにより、ＭＮＵをはじめとするソフトエラーによって発生する不具合を効果的に防止する技術である。
【００８８】
図６は、電子機器１０によって実行される命令実行サイクルの一例を示すフローチャートである。例えば、図示しない入力装置を介してユーザから指示された場合に、電子機器１０は、本フローチャートに示す動作を開始する。
【００８９】
まず、命令実行部１３は、電子機器１０内に設けられた不図示のＲＯＭ（Read Only Memory）等のメモリに格納されているプログラムを読み出し、当該プログラムに含まれる命令を１つ選択し（Ｓ２００）、選択した命令を演算装置１４を用いて実行する（Ｓ２０１）。
【００９０】
次に、命令実行部１３は、選択した命令にチェックポイントが対応付けられているか否かを判定する（Ｓ２０２）。選択した命令にチェックポイントが対応付けられていない場合（Ｓ２０２：Ｎｏ）、命令実行部１３は、ステップＳ２０５に示す処理を実行する。
【００９１】
一方、選択した命令にチェックポイントが対応付けられている場合（Ｓ２０２：Ｙｅｓ）、命令実行部１３は、選択した命令のＩＤを制御部１２に通知する（Ｓ２０３）。命令実行部１３からＩＤの通知を受けた制御部１２は、通知されたＩＤを保持すると共に、演算装置１４内の順序回路に含まれるそれぞれのフリップフロップの状態を読み出し、当該状態を示すデータをデータ保持部１１に保持させる（Ｓ２０４）。
【００９２】
次に、命令実行部１３は、電子機器１０内のメモリに格納されているプログラムを参照して、次に実行すべき命令が存在するか否かを判定する（Ｓ２０５）。次に実行すべき命令が存在しない場合（Ｓ２０５：Ｎｏ）、電子機器１０は、本フローチャートに示す動作を終了する。
【００９３】
一方、次に実行すべき命令が存在する場合（Ｓ２０５：Ｙｅｓ）、命令実行部１３は、電子機器１０内のメモリに格納されているプログラムを参照して、次に実行すべき命令を選択し（Ｓ２０６）、再びステップＳ２０１に示した処理を実行する。
【００９４】
図７は、電子機器１０によって実行される割り込み処理の一例を示すフローチャートである。なお、予兆検出部１５は、演算装置１４内の半導体のウェル電位を測定し、測定したウェル電位が予め定められた電位を超えたか否かを監視することにより、ソフトエラーの予兆の有無を判定している。
【００９５】
まず、制御部１２は、予兆検出部１５によってソフトエラーの予兆が検出されたか否かを判定する（Ｓ３００）。予兆検出部１５によってソフトエラーの予兆が検出された場合（Ｓ３００：Ｙｅｓ）、制御部１２は、命令実行部１３に命令の実行停止を指示する（Ｓ３０１）。
【００９６】
次に、制御部１２は、データ保持部１１に格納されているデータを読み出し、読み出したデータが示す状態になるように、演算装置１４内のそれぞれのフリップフロップの状態を設定することにより、直前のチェックポイントの命令が実行された直後のフリップフロップの状態を再現する（Ｓ３０２）。
【００９７】
次に、制御部１２は、保持しているＩＤに対応する命令（すなわち、直前のチェックポイントに対応する命令）の次に実行されるべき命令のＩＤを算出し、算出したＩＤを命令実行部１３に通知することにより、当該ＩＤに対応する命令から、命令の実行再開を命令実行部１３に指示し（Ｓ３０３）、再びステップＳ３００に示した処理を実行する。
【００９８】
以上、本発明の実施の形態について説明した。
【００９９】
上記説明から明らかなように、本実施形態の電子機器１０によれば、ソフトエラーの予兆が検出された場合にのみ、直前のチェックポイントに対応する命令が実行された時点のフリップフロップの状態を再現して、直前のチェックポイントに対応する命令の次の命令から、命令の実行を再開する。
【０１００】
ソフトエラーが発生するのは、数日に１回程度であるため、直前のチェックポイントに戻って処理を再開するオーバーヘッドによる冗長な処理時間は、通常の処理時間に対して非常に微小な時間となり、ソフトエラー対策によるシステム全体の処理時間の増大を低く抑えることができる。
【０１０１】
また、本実施形態の電子機器１０は、ソフトエラーの予兆が検出されなければ、全ての処理が１回ずつ実行されるため、全ての処理を２回実行するReplication＋rollbackに比べて、ソフトエラー対策によるシステム全体の処理時間および消費電力の増大を低く抑えることができる。
【０１０２】
また、本実施形態の電子機器１０は、処理系は１つでよいため、処理系を２重にするDuplication＋Comparison＋checkpointや、処理系を３重にするTMRに比べて、実装面積や消費電力の増大を低く抑えることができる。
【０１０３】
従って、本実施形態の電子機器１０は、実装面積、消費電力、および処理時間の増大を抑えつつ、ＭＮＵをはじめとするソフトエラーによって発生する電子機器の不具合を防止することができる。
【０１０４】
なお、本発明は、上記した実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。
【０１０５】
例えば、上記した実施形態において、予兆検出部１５は、演算装置１４内の半導体のウェル電位を測定し、測定したウェル電位が予め定められた電位を超えたか否かを監視することにより、ソフトエラーの予兆の有無を判定するが、本発明はこれに限られない。
【０１０６】
例えば、図８に示すように、予兆検出部１５は、クロック発生器１８によって生成されて演算装置１４に供給されるクロック波形を監視し、クロック波形の乱れを検出した場合に、ソフトエラーの予兆を検出した旨を制御部１２に通知するようにしてもよい。この場合、予兆検出部１５は、信号レベル測定部１９および信号レベル判定部２０を備える。
【０１０７】
信号レベル測定部１９は、クロック発生器１８によって生成されたクロック信号を増幅する増幅器１９０と、クロック発生器１８によって生成されたクロック信号を所定時間（例えばクロック周期の整数倍の時間）遅延させる遅延回路１９１と、遅延回路１９１によって遅延されたクロック信号を増幅する増幅器１９２とを有する。
【０１０８】
信号レベル判定部２０は、増幅器１９０によって増幅されたクロック信号と、増幅器１９２によって増幅されたクロック信号の信号レベルを比較し、両信号レベルが予め定められた誤差以上異なる場合に、ソフトエラーの予兆を検出した旨を制御部１２に通知する。なお、この場合、図３に示したシステム構成において、コンポーネント層では信号レベル判定部２０が実現され、デバイス層では信号レベル測定部１９が実現される。
【０１０９】
また、例えば、図９に示すように、予兆検出部１５は、演算装置１４内のフリップフロップ１４０から１４２に供給されるＳＥＴ信号およびＲＥＳＥＴ信号を監視し、プログラムに記述された命令に応じた信号状態となっていない場合に、ソフトエラーの予兆を検出した旨を制御部１２に通知するようにしてもよい。この場合、予兆検出部１５は、信号状態測定部２１および信号状態判定部２２を備える。
【０１１０】
信号状態測定部２１は、ＳＥＴ信号をディジタル値に変換するＡＤＣ２１０と、ＲＥＳＥＴ信号をディジタル値に変換するＡＤＣ２１１とを有する。信号状態判定部２２は、それぞれの信号レベルを監視し、プログラムに記述された命令に応じた信号状態に対応する信号レベルの範囲内にあるか否かを判定する。信号状態測定部２１は、ＳＥＴ信号またはＲＥＳＥＴ信号が、プログラムに記述された命令に応じた信号状態に対応する信号レベルの範囲内にない場合に、ソフトエラーの予兆を検出した旨を制御部１２に通知する。
【０１１１】
なお、この場合、信号状態判定部２２は、ＳＥＴ信号およびＲＥＳＥＴ信号のそれぞれについて、プログラムに記述された命令に応じた信号状態を知っている必要がある。そのため、信号状態判定部２２は、図３におけるシステム層において実現される。また、信号状態測定部２１は、図３におけるデバイス層において実現される。
【０１１２】
また、例えば、予兆検出部１５は、ウェル電位の上昇、クロック信号の乱れ、ならびに、ＳＥＴ信号またはリセット信号の異常を監視し、このいずれかが検出された場合に、ソフトエラーの予兆を検出した旨を制御部１２に通知するようにしてもよい。これにより、より確実にソフトエラーの予兆を検出することができ、システムの信頼性を高めることができる。
【０１１３】
図３０にＭＣＢＩの場合、ＭＮＵの多重度に応じて離散的に電流値が増加することを示した。電源電流の増加は、別なエラーの兆候に他ならず、電源電位を供給する配線の電位も当然変化するので、電源からグラウンドに到る配線で、グラウンドに対して電気抵抗を有する部分の電位を測定し、図１の電位測定部１７とすれば、ウェル電位を測定する図２の実施例と同等の効果を得ることができる。
【符号の説明】
【０１１４】
１０・・・電子機器、１１・・・データ保持部、１２・・・制御部、１３・・・命令実行部、１４・・・演算装置、１４０・・・フリップフロップ、１４１・・・フリップフロップ、１４２・・・フリップフロップ、１５・・・予兆検出部、１６・・・電位判定部、１７・・・電位測定部、１７０・・・ＡＤＣ、１７１・・・増幅器、１８・・・クロック発生器、１９・・・信号レベル測定部、１９０・・・増幅器、１９１・・・遅延回路、１９２・・・増幅器、２０・・・信号レベル判定部、２１・・・信号状態測定部、２１０・・・ＡＤＣ、２１１・・・ＡＤＣ、２２・・・信号状態判定部
【図１】
2011170606.tif 000006
【図２】
2011170606.tif 000007
【図３】
2011170606.tif 000008
【図４】
2011170606.tif 000009
【図５】
2011170606.tif 000010
【図６】
2011170606.tif 000011
【図７】
2011170606.tif 000012
【図８】
2011170606.tif 000013
【図９】
2011170606.tif 000014
【図１０】
2011170606.tif 000015
【図１１】
2011170606.tif 000016
【図１２】
2011170606.tif 000017
【図１３】
2011170606.tif 000018
【図１４】
2011170606.tif 000019
【図１５】
2011170606.tif 000020
【図１６】
2011170606.tif 000021
【図１７】
2011170606.tif 000022
【図１８】
2011170606.tif 000023
【図１９】
2011170606.tif 000024
【図２０】
2011170606.tif 000025
【図２１】
2011170606.tif 000026
【図２２】
2011170606.tif 000027
【図２３】
2011170606.tif 000028
【図２４】
2011170606.tif 000029
【図２５】
2011170606.tif 000030
【図２６】
2011170606.tif 000031
【図２７】
2011170606.tif 000032
【図２８】
2011170606.tif 000033
【図２９】
2011170606.tif 000034
【図３０】
2011170606.tif 000035