説明

半導体装置とその異常予測方法

【課題】動作異常を事前に予測し、故障箇所により異常動作時の動作を変更可能とする半導体装置と方法の提供。
【解決手段】第1のCPU101と、前記第1のCPUと同一又は同等の構成を有する第2のCPU102と、前記第1のCPUの出力と前記第2のCPUの出力を比較する比較器103と、を備え、前記第2のCPUは、前記第1のCPUよりも動作マージンが低くなるように作りこまれており、前記第1のCPUと前記第2のCPUへ同一の信号を入力し、第1のCPU101と第2のCPU102の出力の比較結果の不一致を検出することで、異常の予測が行われる。比較器での比較結果がエラーを示すとき、装置をリセットするリセット制御回路104を備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、半導体装置に関し、特に、異常動作を事前に予測可能とした半導体装置と方法に関する。
【背景技術】
【0002】
半導体装置は、電源電圧、温度等の使用環境あるいは経時変化等により、その動作特性が変動する。このため、動作保証外の温度での使用等による半導体装置の異常動作を事前に検出を行い、異常動作が発生した箇所(故障箇所)に応じて、装置の動作を変更する等の対策が必要とされる。しかしながら、故障箇所を特定する機能を備えていない従来の半導体装置では、故障箇所によって故障時の動作を変えることはできない。
【0003】
故障発生前に壊れそうになっている集積回路装置を検出可能とするための構成として、例えば特許文献1には、集積回路装置内に、本来の機能を果たす本体回路と独立して評価用回路を設け、この評価用回路には、本体回路を動作させるクロックよりも周波数が高いクロックを入力して動作させる構成が開示されている。特許文献1においては、本体回路を動作させるクロックよりも高い周波数のクロックで評価用回路を動作させており、高い周波数のクロックで動作する評価用回路は、本体回路よりも早く劣化する。この劣化は、通常、評価用回路の出力信号の遅延に現れ、この遅延を検出する劣化検出部を設けることで、評価用回路の劣化を検出している。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2005−277087号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
以下に本発明による関連技術の分析を与える。
【0006】
上記特許文献1の構成においては、検査対象の回路とは別に検査用の回路(評価用回路)を使用しているため、製品全体の劣化の事前検知は可能であるものの、製品の何処の箇所が実際に故障しているのかを特定することはできない。すなわち、本体回路とは独立の評価用回路の劣化が検出されるだけである。このため、本来の機能を果たす本体回路における故障箇所に対応して装置の動作を変更することはできない。
【0007】
したがって、本発明の目的は、故障が発生しそうであることを検出可能とし、故障発生が予測された箇所に応じて、動作を変更可能とした半導体装置と異常予測方法を提供することにある。
【課題を解決するための手段】
【0008】
本発明によれば、第1の回路と、前記第1の回路と同一又は同等の構成を有し、前記第1の回路と動作マージンが異なる第2の回路と、前記第1の回路の出力と前記第2の回路の出力を比較する比較器と、を備え、前記第1の回路と前記第2の回路へ同一の信号を入力し、前記比較器で前記第1の回路と前記第2の回路の出力の不一致が検出された場合、前記不一致の検出に対応して予め定められた所定の動作が行われる半導体装置が提供される。
【0009】
本発明によれば、第1の回路に対して、前記第1の回路と同一又は同等の構成を有し、前記第1の回路と動作マージンが異なる第2の回路を設け、
前記第1の回路と前記第2の回路へ同一の信号を入力し、比較器で前記第1の回路と前記第2の回路の出力を比較し、
前記比較器で前記第1の回路と前記第2の回路の出力の不一致が検出された場合、動作異常と予測し、予め定められた所定の動作が行われる、異常予測方法が提供される。
【発明の効果】
【0010】
本発明によれば、故障が発生しそうであることを故障が実際に発生する前に検出可能とし、故障発生が予測された箇所に応じて、動作を変更することができる。
【図面の簡単な説明】
【0011】
【図1】本発明の第1の実施形態の構成を示す図である。
【図2】本発明の第1の実施形態における動作マージンの設定例を説明する図である。
【図3】本発明の第1の実施形態の動作を説明するタイミング図である。
【図4】本発明の第2の実施形態の構成を示す図である。
【図5】本発明の第1の実施形態における第1、第2のCPUの構成を示す図である。
【発明を実施するための形態】
【0012】
本発明に係る半導体装置においては、第1の回路(例えば図1のCPU1(マスター)101)と、第1の回路と同一又は同等の構成を有し、第1の回路と動作マージンが異なる第2の回路(例えば図1のCPU2(チェッカー)102)と、第1の回路の出力と該第2の回路の出力を比較する比較器(例えば図1の103)を備え、第1、第2の回路へ同一の信号を入力し、比較器で、入力した信号に対応する第1、第2の回路の出力に不一致が検出された場合、不一致の検出に対応して、予め定められた所定の動作(図1のリセット制御回路104によるリセット動作)が行われる。本発明においては、第2の回路(例えば図1のCPU2)は第1の回路(例えば図1のCPU1)よりも動作マージンが低くなるように、製造時等に予め作りこまれており、動作速度、電源電圧、動作温度等の動作環境に応じて、第2の回路は第1の回路よりも先に動作異常となる構成としてもよい。これにより、第1の回路で故障が発生しそうであることを、第1の回路において故障が実際に発生する前の時点で検出可能とし、故障発生が予測された箇所(例えば第1の回路の特定の信号)に応じて、それまで実行して来た動作とは異なる動作に変更することができる。以下、実施形態に即して説明する。
【0013】
<実施形態1>
図1は、本発明の第1の実施形態の半導体装置の構成を示す図である。図1を参照すると、この半導体装置は、第1のCPU(CPU1)101と、第2のCPU(CPU2)102と、比較器103と、リセット(Reset)制御回路104と、内部接続バス105と、その他回路106と、プログラムROM(Read Only Memory)107とを備えている。
【0014】
第1のCPU101は、プログラムを実行するためCPUであり、マスター(あるいはマスターCPU)ともいい、第1のCPU101の実行結果により、その他回路106の制御を行う。
【0015】
第2のCPU102は、動作チェック用のCPUであり、チェッカー(あるいはチェッカーCPU)ともいう。第2のCPU102は、第1のCPU101と同一又は同等の回路構成とされるが、その動作マージン(例えば、動作温度、電源電圧、動作タイミングに対するマージン)は、第1のCPU101の動作マージンよりも、小さく(狭く)なるように作りこまれている。
【0016】
第1のCPU101と第2のCPU102は、不図示の共通クロックで駆動され、同一のプログラムコード(同一命令)を同一のタイミングで実行する。本実施形態では、第2のCPU102の実行結果は、第1のCPU101の動作結果との比較を行うために用いられる。
【0017】
プログラムROM107には、プログラムコード(命令コード)が格納されている。第1のCPU101は、プログラムROM107に対して読み出しアクセス要求を発行し、プログラムROM107から読み出されたプログラムコード110は、第1、第2のCPU101、102に同一サイクルで入力されて実行(同期実行)される。
【0018】
内部接続バス105は、第1のCPU101と、第1のCPU101が制御するその他回路106を接続するための内部バスであり、第1のCPU101からの出力(アドレス、データ、制御信号)は、内部接続バス105を介してその他回路106に転送される。
【0019】
その他回路106からの出力(例えば第1のCPU101からの要求等に対する応答や第1のCPU101に対する割り込み要求)は、内部接続バス105を介して転送され、各バスからCPUへの出力113は、第1のCPU101、第2のCPU102の両方に共通に入力される。
【0020】
その他回路106は、第1のCPU101でのプログラムコードの実行結果によりバス(111、105)を介して制御される回路である。特に制限されないが、その他回路106は、データを保存するRAM(Random Access Memory)や周辺IP(Intellectual Property)等を含む。
【0021】
第1、第2のCPU101、102からの各バスへの出力111、112は、比較器103に入力される。
【0022】
比較器103は、第1、第2のCPU101、102からの各バスへの出力111、112が不一致であることを検出すると、エラー通知114をリセット制御回路104に供給する。なお、本実施形態において、比較器103は、第1、第2のCPU101、102から各バスに出力される、アドレス信号同士を比較するアドレス比較器と、データ信号同士を比較するデータ比較器と、制御信号同士を比較する制御信号比較器とを備え(いずれも不図示)、これらの比較器の出力の論理演算(例えばOR演算)により1つでも不一致があった場合、エラー通知114を出力する構成としてもよい。さらに、比較器103は、クロックサイクルベースで第1、第2のCPU101、102からのバスへの出力111、112を比較する場合、デジタル比較回路(不図示)とクロック信号に基づき生成されるラッチタイミング信号でデジタル比較回路の比較結果を次のクロックサイクルまでラッチするラッチ回路(不図示)を含む構成としてもよい。
【0023】
リセット制御回路104は、比較器103から出力されるエラー通知114を受け取ると(すなわち比較器103での比較結果が不一致のとき)、例えば製品全体を強制リセットする。図1に示す例では、エラー通知114を受け取ったリセット制御回路104は、リセット信号115を、第1、第2のCPU101、102、その他回路106に入力している。特に制限されないが、リセット制御回路104からのリセット信号115は、第1、第2のCPU101、102にリセット割り込み信号として入力される構成としてもよい。この場合、リセット制御回路104からのリセット信号115が活性化されると、第1、第2のCPU101、102は、これに対する割り込み処理として例えば停止命令(HALT)を実行するか、シャットダウンプロセスを実行する。その他回路106は、リセット制御回路104からのリセット信号115が活性化されると、動作停止等のリセット動作を実行する。
【0024】
第2のCPU102は、第1のCPU101と構成は、同一であり、同一クロックで駆動されるが、動作マージン(タイミング、温度、電源等に関する動作マージン)が異なり、第2のCPU102は、動作速度、電源電圧、動作温度等の動作環境に応じて、第1のCPU101よりも先に動作異常となるように作りこまれている。このため、比較器103での不一致の検出は、第2のCPU102の誤動作発生を意味している。第2のCPU102の誤動作発生時点では、第1のCPU101は、基本的に、正常動作している。すなわち、本実施形態によれば、第1のCPU101が実際に誤動作(故障)し、致命的エラー等が発生する前の段階で、該故障に対応した動作を実行することができる。
【0025】
なお、図1の構成例では、比較器103からのエラー通知114を受けたリセット制御回路104は、第1、第2のCPU101、102と、その他回路106を同時にリセットしているが、比較器103での不一致検出時、比較器103又はリセット制御回路104から、第1のCPU101に対して、第2のCPU102が誤動作していることをアラームとして通知する構成としてもよい。
【0026】
なお、図1に示した構成は、本発明を適用した半導体装置の一例を例示したものであり、本発明はかかる構成にのみに制限されるものでないことは勿論である。例えばプログラムコードをROMでなくRAMからフェッチする構成としてもよいことは勿論である。命令キャッシュ等を備えた構成としてもよいことは勿論である。また、その他回路106としては、RAM以外のメモリ、各種入力装置、インタフェース等備えた構成としてもよいことは勿論である。さらに、図1では、第1、第2のCPU101、102と、プログラムROM107、比較器103、リセット制御回路104、その他回路106等が全て1チップ上に集積化された構成例が示されているが、その一部、例えば第1、第2のCPU101、102と比較器103、リセット制御回路104を1チップ上に実装する構成としてもよいことは勿論である。あるいは、第1、第2のCPU101、102の各チップを基板に実装した半導体装置に対しても適用できることは勿論である。
【0027】
図2は、本発明における動作マージンの作りこみを説明する図である。図2(A)は、図1のCPU1(マスター)とCPU2(チェッカー)の電圧−周波数特性を示す図であり、横軸は電源電圧、縦軸は動作周波数である。実線はCPU1(マスター)の特性、一点鎖線はCPU2(チェッカー)の特性である。図2(B)は、図1のCPU1(マスター)とCPU2(チェッカー)の温度−周波数特性を示す図であり、横軸は温度(Tj:接合温度)、縦軸は動作周波数である。実線はCPU1(マスター)の特性、一点鎖線はCPU2(チェッカー)の特性である。
【0028】
図2(A)において、電源電圧範囲は1.1V〜1.3Vである。図2(A)の例では、電源電圧1.1VでCPU2(チェッカー)は動作周波数80MHzで動作することは難しくなる(誤動作する)。一方、CPU1(マスター)は電源電圧1.1Vでも動作周波数80MHz以上で動作する(故障とならない)。
【0029】
図2(B)の例では、CPU1(マスター)は、接合温度Tj=150℃において、80MHz以上の周波数のクロックで駆動しても故障とならないが、CPU2(チェッカー)は、接合温度Tj=150℃以上では、80MHzより低い周波数のクロックで駆動しないと動作しない(80MHzでは動作しない)。CPU1(マスター)は、接合温度Tj=150℃+xで80MHzでは動作しなくなる。したがって、この場合、動作周波数80MHzに対して、接合温度Tj=150℃から150℃+xが故障予測範囲となり、図1の比較器103でエラーが検出され、リセット制御回路104によって故障の予測に対応した動作が実行される。
【0030】
図3は、図1に示した第1の実施形態の半導体装置の動作を説明する図である。図3(A)はタイミング図、図3(B)は動作−周波数特性を示す図であり、時間は、図3(A)のタイミング図に対応する。第1のCPU101、第2のCPU102の最高動作温度(動作保証温度)はそれぞれ160℃、150℃(いずれも接合温度Tj)とする。
【0031】
図3(C)は、第1のCPU101、第2のCPU102の各実行プログラム命令と実行結果(バス出力)を例示した図である。第1のCPU101、第2のCPU102は、プログラム命令A、B、Cに対して実行結果1、2、3(この場合、データの値)を出力する。
【0032】
図3(A)を参照すると、第1のCPU101、第2のCPU102はタイミング1でプログラムAを入力し、タイミング2で、第1のCPU101、第2のCPU102の実行結果のバス出力として1を出力し、タイミング3で比較器エラー出力は0とされる。
【0033】
タイミング4を過ぎてから動作温度が上昇しはじめ、動作温度(接合温度Tj)が150℃を超えた段階で、第2のCPU102の最高温度動作を超えるため、第2のCPU102が誤動作する。第1のCPU101、第2のCPU102はプログラムCを入力し、実行結果のバス出力として3、2をそれぞれ出力し、比較器103は、エラーを出力する(図1のエラー通知114を活性化する)。比較器103からのエラー通知114を受け、リセット制御回路104は、リセット信号115を活性化し、装置をリセットする。
【0034】
動作マージンは、第1のCPU101>第2のCPU102として、半導体装置が設計されているため、必ず、第2のCPU102が第1のCPU101よりも先に異常動作となる。
【0035】
図3の例では、第2のCPU102の最高温度動作(接合温度Tj)を150℃としているため、第2のCPU102が誤動作して比較器103からエラー通知114が出力された場合、接合温度Tjが150℃を超えたことがわかる。この場合、第2のCPU102と比較器103の構成は接合温度検出回路(センサ)としても機能しているともいえる。
【0036】
<実施形態2>
次に本発明の第2の実施形態を説明する。図4は、本発明の第2の実施形態の構成を示す図である。図4を参照すると、本実施形態では、比較器103は、第1のCPU101の内部信号と第2のCPU102の内部信号を入力し、一致しない場合、エラー通知114を出力する。
【0037】
本実施形態では、比較器103に入力される信号が、第1のCPU101から外部に出力される内部信号と、第2のCPU102の対応する内部信号を比較する構成とされている。前記第1の実施形態では、比較器103で比較される箇所がバスの出力であることから、異常発生時に、異常が発生したバスの特定までしか行えない。本実施形態では、CPUの内部の状態の比較を行っているため、細部の故障箇所の検出が可能となる。なお、CPUの内部信号としては、任意の信号を用いることができるが、CPUのタイミングマージン等が問題になる場合、CPU内部のクリティカルパスに対応する代表的信号を比較するようにしてもよい。
【0038】
図5は、図1の第1のCPU(マスター)101と第2のCPU(チェッカー)102の構成例を示す図である。第1のCPU101では、FF(フリップフロップ)11とFF12の間に論理回路13(組み合わせ回路)を備え、FF11とFF12間の配線遅延をAとしている。第2のCPU102では、FF11とFF12の間に論理回路13(組み合わせ回路)と遅延素子14(複数段のインバータ)を備え、FF11とFF12間の配線遅延をBとする。第1、第2のCPU101、102のFF11にはデータ信号が共通に入力される。第1のCPU101のFF12の出力はバス111に出力されるとともに、比較器103に入力される。第2のCPU102のFF12の出力はバス112を介して比較器103に入力される。第1のCPU101と第2のCPU102のFF11、FF12は共通のクロックで駆動される。
【0039】
図5において、配線遅延A<配線遅延B<目標配線遅延となるように、遅延素子14を挿入するか、配線長を長くする等して、タイミング設計が行われる。動作周波数80MHz(1クロックサイクル=12.5ns)とされ、配線遅延A=8ns、配線遅延B=10ns、目標配線遅延=12nsとする。図5の構成において、周波数80MHzのクロックで第1のCPU101と第2のCPU102を動作させた時、電源電圧の低下等により、伝播遅延時間が増大した場合、タイミングマージンの小さい方の第2のCPU(チェッカー)102が第1のCPU(マスター)101よりも先に誤動作し、比較器103で不一致が検出されることになる。
【0040】
なお、上記実施形態では、CPUを2台配置して出力を比較する構成について説明したが、出力同士が比較される回路は、CPUに限定されるものでなく、半導体装置内の任意の回路ブロックのそれぞれに対して適用してもよいことは勿論である。それぞれの回路ブロック毎に、該回路ブロックと同一又は同等の構成とされ、動作マージンが異なる回路ブロックを備え、2つの回路ブロックの出力を比較する比較器を備える。この場合、比較器で出力を比較する回路ブロックの個数は2個に限定されるものでなく、3つ以上の同一又は同等構成の回路ブロックの出力を比較する構成としてもよいことは勿論である。
【0041】
本発明によれば、検知したい回路について、2つの同一又は同等の回路の比較を行い、比較する粒度により、故障箇所の断定の粒度を細かく変更することが可能である。このため、故障箇所により異常動作時の動作を変更することが可能となる。
【0042】
なお、上記の特許文献の開示を、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
【0043】
11、12 FF(フリップフロップ)
13 論理回路
14 遅延素子
101 第1のCPU(CPU1、マスター)
102 第2のCPU(CPU2、チェッカー)
103 比較器
104 リセット(Reset)制御回路
105 内部接続バス
106 その他回路
107 プログラムROM
110 プログラムコード
111 第1のCPUから各バスへの出力
112 第2のCPUから各バスへの出力
113 各バスからCPUへの出力
114 エラー通知
115 リセット(Reset)信号

【特許請求の範囲】
【請求項1】
第1の回路と、
前記第1の回路と同一又は同等の構成を有し、前記第1の回路と動作マージンが異なる第2の回路と、
前記第1の回路の出力と前記第2の回路の出力を比較する比較器と、
を備え、
前記第1の回路と前記第2の回路へ同一の信号を入力し、前記比較器で前記第1の回路と前記第2の回路の出力の不一致が検出された場合、前記不一致の検出に対応して予め定められた所定の動作が行われる、ことを特徴とする半導体装置。
【請求項2】
前記第2の回路は前記第1の回路よりも動作マージンが低くなるように作りこまれており、前記第2の回路は前記第1の回路よりも先に動作異常となる、請求項1記載の半導体装置。
【請求項3】
前記比較器での比較結果がエラーを示すとき、前記第1、第2の回路をリセットするリセット制御回路を備えている請求項1又は2記載の半導体装置。
【請求項4】
前記第1、第2の回路が第1、第2のCPUであり、
前記比較器は、前記第1、第2のCPUからのバスへの出力を入力して比較する、請求項1乃至3のいずれか1項に記載の半導体装置。
【請求項5】
前記第1、第2の回路が第1、第2のCPUであり、
前記比較器は、前記第1、第2のCPUの内部信号を入力して比較する、請求項1乃至3のいずれか1項に記載の半導体装置。
【請求項6】
第1の回路に対して、前記第1の回路と同一又は同等の構成を有し、前記第1の回路と動作マージンが異なる第2の回路を設け、
前記第1の回路と前記第2の回路へ同一の信号を入力し、比較器で前記第1の回路と前記第2の回路の出力を比較し、
前記比較器で前記第1の回路と前記第2の回路の出力の不一致が検出された場合、動作異常と予測し、予め定められた所定の動作が行われる、ことを特徴とする異常予測方法。
【請求項7】
前記第2の回路は前記第1の回路よりも動作マージンが低くなるように作りこまれており、前記第2の回路は前記第1の回路よりも先に動作異常となる、請求項6記載の異常予測方法。
【請求項8】
前記比較器での比較結果がエラーを示すとき、前記第1、第2の回路をリセットする、請求項6記載の異常予測方法。
【請求項9】
前記第1、第2の回路が第1、第2のCPUであり、
前記比較器は、前記第1、第2のCPUからのバスへの出力を入力して比較する、請求項6乃至8のいずれか1項に記載の異常予測方法。
【請求項10】
前記第1、第2の回路が第1、第2のCPUであり、
前記比較器は、前記第1、第2のCPUの内部信号を入力して比較する、請求項6乃至8のいずれか1項に記載の異常予測方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−283230(P2010−283230A)
【公開日】平成22年12月16日(2010.12.16)
【国際特許分類】
【出願番号】特願2009−136499(P2009−136499)
【出願日】平成21年6月5日(2009.6.5)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】