(57)【要約】  本発明は、少なくとも２つの同じまたは同種の機能ユニットを備えた半導体回路のコンフィギュレーション方法およびコンフィギュレーション装置に関する。この場合、同じまたは同種の機能ユニットのうち少なくとも１つでエラーが発生したならば、欠陥のあるユニットと識別されて非アクティブ状態にされる。
2009514064.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも２つの同じまたは同種の機能ユニットを備えた半導体回路のコンフィギュレーション方法において、
前記同じまたは同種の機能ユニットのうち少なくとも１つでエラーが発生したならば、欠陥のあるユニットと識別されて非アクティブ状態にされることを特徴とする、
コンフィギュレーション方法。
【請求項２】
請求項１記載の方法において、
前記半導体回路のコンフィギュレーションは製造プロセス、テストプロセス、診断プロセスまたは保守プロセスとして行われることを特徴とする方法。
【請求項３】
請求項１記載の方法において、
前記半導体回路の同じまたは同種の機能ユニットのうちそれぞれ少なくとも２つを動作モードに切替可能であり、該動作モード中、前記機能ユニットは同じ機能、命令、プログラムセグメントまたはプログラムを実行し、該機能ユニットの出力信号を比較可能であることを特徴とする方法。
【請求項４】
請求項１記載の方法において、
欠陥のある機能ユニットの識別は、該機能ユニットの出力信号と基準値との比較により行われることを特徴とする方法。
【請求項５】
請求項３または４記載の方法において、
少なくとも２つの機能ユニットの出力信号の切替開始および／または相互の比較および／または出力信号と基準値との比較は、前記半導体回路の一部分ではない外部の製造装置、テスト装置または診断装置により実行されることを特徴とする方法。
【請求項６】
請求項１から５のいずれか１項記載の方法において、
少なくとも欠陥があると識別された半導体回路の機能ユニットに対し、コンフィギュレーションステータスおよび／またはエラーステータスが形成されることを特徴とする方法。
【請求項７】
請求項６記載の方法において、
機能ユニットの非アクティブ化は、該機能ユニットのコンフィギュレーションステータスまたはエラーステータスに関する情報を記憶装置に格納することにより行われ、該情報は半導体システムの初期化時および／または動作中に読み出し可能であり、格納されている情報が処理されて、欠陥があると表されたユニットが動作中使用不可にされることを特徴とする方法。
【請求項８】
請求項６または７記載の方法において、
半導体回路における少なくとも１つの機能ユニットのコンフィギュレーションステータスまたはエラーステータスの検出および／またはこれらの情報の記憶は、前記半導体回路の一部分ではない外部の製造装置によって実行されることを特徴とする方法。
【請求項９】
請求項２記載の方法において、
欠陥として識別されたユニットは不可逆的に非アクティブ状態にされることを特徴とする方法。
【請求項１０】
請求項９記載の方法において、
半導体回路の機能ユニットへのまたは各機能ユニット間の電気的な接続が遮断されることを特徴とする方法。
【請求項１１】
請求項１０記載の方法において、
前記半導体回路における電気的な接続の遮断は、半導体回路に対する機械的な作用によって達成されることを特徴とする方法。
【請求項１２】
請求項１０記載の方法において、
前記半導体回路における電気的な接続の遮断は、半導体回路に対する化学的な作用によって達成されることを特徴とする方法。
【請求項１３】
請求項１０記載の方法において、
前記半導体回路における電気的な接続の遮断は、半導体回路に対する光学的な作用によって達成されることを特徴とする方法。
【請求項１４】
請求項１０記載の方法において、
前記半導体回路における電気的な接続の遮断は、半導体回路に対する電気的な作用によって達成されることを特徴とする方法。
【請求項１５】
請求項９から１４のいずれか１項記載の方法において、
機能ユニットの非アクティブ化は外部の製造装置、テスト装置または診断装置により実行されることを特徴とする方法。
【請求項１６】
少なくとも２つの同じまたは同種の機能ユニットを備えた半導体回路のコンフィギュレーション装置において、
前記同じまたは同種の機能ユニットのうち少なくとも１つのユニットにおけるエラーを識別して欠陥のあるユニットを非アクティブ状態にする手段が設けられていることを特徴とする、
コンフィギュレーション装置。
【請求項１７】
請求項１６記載の方法において、
前記半導体回路の同じまたは同種の機能ユニットのうち少なくとも２つのユニットを動作モードに切替可能な切替手段が設けられており、前記動作モード中、前記機能ユニットは同じ機能、命令、プログラムセグメントまたはプログラムを実行することを特徴とする装置。
【請求項１８】
請求項１６記載の装置において、
少なくとも２つの機能ユニットの出力信号を比較可能な比較手段が設けられていることを特徴とする装置。
【請求項１９】
請求項１６記載の装置において、
少なくとも２つの機能ユニットの出力信号を基準値と比較可能な比較手段が設けられていることを特徴とする装置。
【請求項２０】
請求項１６記載の装置において、
記憶手段が設けられており、該記憶手段に、欠陥のある機能ユニットを識別するための基準値が格納されていることを特徴とする装置。
【請求項２１】
請求項１８から２０のいずれか１項記載の装置において、
前記比較手段および／または前記記憶手段は少なくとも部分的に半導体回路に設けられていることを特徴とする装置。
【請求項２２】
請求項１６記載の装置において、
前記半導体回路に受信手段が設けられており、該受信手段により製造装置、テスト装置、診断装置および保守装置から信号を受信可能であることを特徴とする装置。
【請求項２３】
請求項１６記載の装置において、
データを格納する手段が設けられており、該手段に機能ユニットのコンフィギュレーションステータスまたはエラーステータスに関する少なくとも１つの情報を格納可能であって、該情報は半導体システムの初期化時および／または動作中に読み出し可能であることを特徴とする装置。
【請求項２４】
請求項２３記載の装置において、
記憶情報を読み出して処理可能であり欠陥として表されたユニットの使用を該記憶情報に依存して許可または阻止可能な手段が設けられていることを特徴とする装置。
【請求項２５】
請求項２３記載の装置において、
前記データを格納する手段は不揮発性記憶手段であることを特徴とする装置。
【請求項２６】
請求項２３記載の装置において、
前記データを格納する手段は、該手段への書き込みアクセスが半導体回路には設けられていない製造装置、テスト装置、診断装置および保守装置によってのみ可能であるように構成されていることを特徴とする装置。
【請求項２７】
請求項１６記載の装置において、
機能ユニットを可逆的に非アクティブ状態にする切替手段が設けられており、該切替手段は前記半導体回路の一部分または半導体回路に実装されている素子の一部分であることを特徴とする装置。
【請求項２８】
請求項１６記載の装置において、
機能ユニットを不可逆的に非アクティブ状態にする手段が設けられていることを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
マイクロコントローラ（μＣ）またはＡＳＩＣのような複雑な半導体素子の製造は誤りが起こりやすい。また、構造サイズが絶えず小さくなっていくなかでドーピングは統計的なプロセスであることから、長期にわたり製造におけるエラーは不可避である。しかも、誤りの起こりやすさは多くの努力や進歩にかかわらず将来、高まることがはっきりしている。歩留まりすなわち適正に動作する素子と製造された素子の個数の比は、習熟した製造プロセスについてはおおよそ９０％（すなわちこの場合にもすでに１０％は欠陥品）であるが、さらに著しく低い値を生じさせることが十分に可能である。歩留まりを上昇させるメカニズムは、つまりはダイレクトにコストを低減させるものである。さらにテストや製造に対する考察から、フィールドにおいて欠陥素子を扱えるようにする要求が高まっている。
【０００２】
フラッシュメモリ、ＲＡＭまたはＲＯＭといったメモリ素子の製造において動作中に誤りを許容できるようにする目的で、今日すでに一部では採用されている手段はエラー訂正コードerror correcting codes (ECC) の利用である。この手段によれば、データビットの格納のほか検査ビットもいっしょに格納される。検査ビットは、１つのビット（あるいは既知の最大数のビット）のみに誤りが生じた場合、エラーを補助ロジックにより検出し訂正できるように構成されている。これにより、エラーが存在していてもコンポーネント全体（あるいは１つのコンポーネントのうち対応する部分コンポーネント）が適正な結果を出すようになる。検査ビットをいっしょに格納するということでかなり余分に煩雑になってしまう一方、必要とされる補助ロジックによっても実質的には大きな余分なコストが生じるわけではない。
【０００３】
たとえば計算システム内の半導体回路におけるエラーは、この回路の動作中にも発生する可能性がある。たいていのケースでは、高度なアベイラビリティをシステマティックな形態で持続的なエラーの場合にも保証することはできない。僅かな例外のひとつはメモリのためのＥＣＣメカニズムである。プロセッサたとえばＣＰＵにおける過渡的なエラーについては、リカバリまたはリセットの措置が知られている。しかしながら実行ユニットにおけるエラーについて、持続的なエラーを許容するための現実的かつ低コストなコンセプトは知られていない。
【０００４】
本発明の１つめの課題は、μＣまたは半導体素子の製造プロセスにおいてエラーのある機能ユニットについても利用できるようにすることによって歩留まりを改善することにある。本発明の２つめの課題は、動作中のコンポーネントのアベイラビリティないしは可用性を高めることである。このために、コンポーネント内において欠陥のある実行ユニット（たとえばコア、ＡＬＵ、プロセッサ）を識別することができ、このコンポーネントを使用するシステムの稼働中、「グレースフル・デグラデーション graceful degradation」または緊急動作を行わせることのできる手段を提供するようにしたい。
【０００５】
発明の利点
ここでは、少なくとも２つの同じまたは同種の機能ユニットを含む半導体回路たとえばマイクロコンピュータについて考察する。製造プロセスの終了時点、組み立て時、診断時または動作中のテストフェーズにおいて、テストプログラムを用いて場合によっては欠陥のある機能ユニットが識別される。有利にはこれを切替機能および比較機能によって行うことができ、たとえば図示するように切替および比較ユニットにおいて行うことができる。このユニットは機能ユニットの出力信号を、少なくとも１つの別の機能ユニットの出力信号および／または別の基準値と比較する。どの機能ユニットが欠陥を伴うかは記憶素子に格納される。これらの機能ユニットは、たとえば機能および比較ユニットまたは切断装置によって非アクティブ状態にされる。ただしこの素子は、欠陥のある機能ユニットに含まれていようと利用可能であり機能するものである。
【０００６】
本発明は、少なくとも２つの同じまたは同種の機能ユニットを備えた半導体回路のコンフィギュレーション方法に関する。本発明の特徴によれば、同じまたは同種の機能ユニットのうち少なくとも１つでエラーが発生したならば、欠陥のあるユニットと識別されて非アクティブ状態にされる。
【０００７】
有利には本発明による方法によれば、半導体回路のコンフィギュレーションは製造プロセス、テストプロセス、診断プロセスまたは保守プロセスとして行われる。
【０００８】
有利には本発明による方法によれば、半導体回路の同じまたは同種の機能ユニットのうちそれぞれ少なくとも２つを動作モードに切替可能であり、この動作モード中、機能ユニットは同じ機能、命令、プログラムセグメントまたはプログラムを実行し、この機能ユニットの出力信号を比較可能である。
【０００９】
有利には本発明による方法によれば、欠陥のある機能ユニットの識別は、これらの機能ユニットの出力信号と基準値との比較により行われる。
【００１０】
有利には本発明によれば、少なくとも２つの機能ユニットの出力信号の切替開始および／または相互の比較および／または出力信号と基準値との比較は、半導体回路の一部分ではない外部の製造装置、テスト装置または診断装置により実行可能である。
【００１１】
有利には本発明による方法によれば、少なくとも欠陥があると識別された半導体回路の機能ユニットに対し、コンフィギュレーションステータスおよび／またはエラーステータスが形成される。
【００１２】
有利には本発明によれば、機能ユニットの非アクティブ化は、この機能ユニットのコンフィギュレーションステータスまたはエラーステータスに関する情報を記憶装置に格納することにより行われ、この情報は半導体システムの初期化時および／または動作中に読み出し可能であり、格納されている情報が処理されて、欠陥があると表されたユニットが動作中使用不可にされる。有利には本発明によれば、半導体回路における少なくとも１つの機能ユニットのコンフィギュレーションステータスまたはエラーステータスの検出および／または記憶装置におけるこれらの情報の格納は、半導体回路の一部分ではない外部の製造装置によって実施される。
【００１３】
有利には本発明による方法によれば、欠陥があると識別されたユニットが不可逆的に非アクティブ状態にされる。
【００１４】
有利には本発明による方法によれば、半導体回路における機能ユニットへのまたは各機能ユニット間の電気的な接続が遮断される。
【００１５】
有利には本発明によれば、半導体回路における電気的な接続の遮断は、半導体回路に対する機械的な作用によって達成される。
【００１６】
有利には本発明によれば、半導体回路における電気的な接続の遮断は、半導体回路に対する化学的な作用によって達成される。
【００１７】
有利には本発明によれば、半導体回路における電気的な接続の遮断は、半導体回路に対する光学的な作用によって達成される。
【００１８】
有利には本発明によれば、半導体回路における電気的な接続の遮断は、半導体回路に対する電気的な作用によって達成される。
【００１９】
有利には本発明による方法によれば、機能ユニットの非アクティブ化は外部の製造装置、テスト装置または診断装置により実行される。
有利には本発明は、少なくとも２つの同じまたは同種の機能ユニットを備えた半導体回路のコンフィギュレーション装置に関する。この装置の特徴によれば、同じまたは同種の機能ユニットのうち少なくとも１つのユニットにおけるエラーを識別して欠陥のあるユニットを非アクティブ状態にする手段が設けられている。
【００２０】
有利には本発明による装置によれば、半導体回路の同じまたは同種の機能ユニットのうち少なくとも２つのユニットを動作モードに切替可能な切替手段が設けられており、この動作モード中、これらの機能ユニットは同じ機能、命令、プログラムセグメントまたはプログラムを実行する。
【００２１】
有利には本発明による装置によれば、少なくとも２つの機能ユニットの出力信号を比較可能な比較手段が設けられている。
【００２２】
有利には本発明による装置によれば、少なくとも１つの機能ユニットの出力信号を基準値と比較可能な比較手段が設けられている。
【００２３】
有利には本発明による装置によれば、記憶手段が設けられており、この記憶手段に、欠陥のある機能ユニットを識別するための基準値が格納されている。
【００２４】
有利には本発明による装置によれば、比較手段および／または記憶手段は少なくとも部分的に半導体回路に設けられている。
【００２５】
有利には本発明による装置によれば、半導体回路に受信手段が設けられており、この受信手段により製造装置、テスト装置、診断装置および保守装置から信号を受信可能である。
【００２６】
有利には本発明による装置によれば、データを格納する手段が設けられており、この手段に機能ユニットのコンフィギュレーションステータスまたはエラーステータスに関する少なくとも１つの情報を格納可能であって、この情報は半導体システムの初期化時および／または動作中に読み出し可能である。
【００２７】
有利には本発明による装置によれば、記憶情報を読み出して処理可能であり欠陥として表されたユニットの使用をこの記憶情報に依存して許可または阻止可能な手段が設けられている。
【００２８】
有利には本発明による装置によれば、データを格納する手段は不揮発性記憶手段である。
【００２９】
有利には本発明による装置によれば、記憶手段は、この手段への書き込みアクセスが半導体回路には設けられていない製造装置、テスト装置、診断装置および保守装置によってのみ可能であるように構成されている。
【００３０】
有利には本発明による装置によれば、機能ユニットを可逆的に非アクティブ状態にする切替手段が設けられており、この切替手段は半導体回路の一部分または半導体回路に実装されている素子の一部分である。
【００３１】
有利には本発明による装置によれば、機能ユニットを不可逆的に非アクティブ状態にする手段が設けられている。
【００３２】
そのほかの利点および有利な実施形態については、各請求項に記載の特徴ならびに以下の説明に示されている。
【００３３】
図1には、切替ロジックおよび処理ロジックを備えた一般的な切替コンポーネントが示されている。
【００３４】
図２には、切替コンポーネントと記憶素子との接続について示されている。
【００３５】
図３には、記憶素子を利用した歩留まり上昇のための基本的な方法について示されている。
【００３６】
図４には、グレースフル・デグラデーション graceful degradation と緊急動作のアベイラビリティを高めるための特別な方法について示されている。
【００３７】
図５には、切替コンポーネントと制御コンポーネントとの接続について示されている。
【００３８】
図６には、制御コンポーネントを利用した歩留まり上昇のための基本的な方法について示されている。
【００３９】
図７には、実現可能な記憶素子の構造が示されている。
【００４０】
実施例の説明
以下の説明では実行ユニットのことをプロセッサ／コア／ＣＰＵとも、ＦＰＵ（浮動小数点ユニット）、ＤＳＰ（ディジタルシグナルプロセッサ）、コプロセッサまたはＡＬＵ（算術論理ユニット）とも称することがある。
【００４１】
まずはじめに図1には、やはり２つよりも多くの実行ユニットを使用するための切替ユニットおよび比較ユニットの一般的な事例が描かれている。考慮すべきｎ個の実行ユニットからｎ個の信号Ｎ１４０〜Ｎ１４ｎが切替および比較コンポーネントＮ１００に到来する。この切替および比較コンポーネントＮ１００は、これらの入力信号からｎ個までの出力信号Ｎ１６０〜Ｎ１６ｎを生成することができる。最も簡単なケースすなわち「純粋なパフォーマンスモード」では、すべての信号Ｎ１４ｉが対応する出力信号Ｎ１６ｉとなる。これとは反対の極端なケース、すなわち「純粋な比較モード」では、全ての信号Ｎ１４０〜Ｎ１４ｉが出力信号Ｎ１６ｉの内の１つにのみ誘導される。
【００４２】
この図面には、考えられる種々のモードをどのようにして生じさせることができるかについて描かれている。このためＮ１００には、切替ロジックＮ１１０の論理コンポーネントが含まれている。さしあたり切替ロジックの役割は、どの入力側がいかなる出力側とも接続されないかを決定することであり、つまり結果が保たれずにまたは非アクティブ状態とならずにどの入力側が無視されるのかを決定することである。切替ロジックのこの機能を、以下では切替ロジックの第1機能ともしばしば称する。さらに切替ロジックＮ１１０は、そもそもいくつの出力信号があるのかおよび入力信号のうちのいずれが入力信号が出力信号のいずれに寄与するのかを決定する。ここでは１つの入力信号が多くともちょうど１つの出力信号に寄与することができる。切替ロジックのこの機能を、以下では切替ロジックの第２機能ともしばしば称する。
【００４３】
つまり数学的に別のかたちで表すと信号の阻止なしでは、集合｛Ｎ１４０〜Ｎ１４ｎ｝の各要素に集合｛Ｎ１６０〜Ｎ１６ｎ｝の１つの要素を対応づける関数が切替ロジックによって定義されている。個々の入力信号の阻止を伴うと一般に切替ロジックにより、集合｛Ｎ１４０〜Ｎ１４ｎ｝（阻止されていない信号）の各要素に集合｛Ｎ１６０〜Ｎ１６ｎ｝の１つの要素を対応づける関数が定義されている。
【００４４】
この場合、処理ロジックＮ１２０は出力側Ｎ１６ｉの各々に対し、どのかたちで入力側がこの出力信号に寄与するかを決定する。例示的に種々の変形形態を説明するために、一般性を制限することなく、出力側Ｎ１６０が信号Ｎ１４１〜Ｎ１４ｍによって形成されるものとする。
【００４５】
ｍ＝１であればこのことは単に信号のスルーコネクションに相当し、ｍ＝２であれば信号Ｎ１４１，Ｎ１４２が比較される。この比較を同期または非同期に実施することができ、さらにこの比較をビットごとにまたは最上位ビットに対してのみ実施することができるし、あるいは許容範囲を用いて実施することもできる。１つの有利な実施形態によれば、複数の実行ユニットを１つのロックステップオペレーションで（すなわち同一クロック内の同一命令で）実行させることができる。ただし１つの固定的なクロックまたはフェーズシフトも、同様に有利な解決策である。
【００４６】
ｍ≧３である場合には、それよりも多くのオプションがある。
【００４７】
１つめのオプションによれば、すべての信号を比較し、少なくとも２つの異なる値が存在する場合にはエラーを検出し、このエラーを選択的にシグナリングすることができる。
【００４８】
２つめのオプションは、ｍ個からｋ個選択することである（ｋ＞ｍ／２）。このことは比較の利用により実現可能である。選択的に、信号のうちの１つが偏差があるとして識別されると、エラー信号を発生させることができる。３つのすべての信号が異なっている場合には、考えられる種々のエラー信号を形成することができる。
【００４９】
３つめのオプションによれば、これらの値が１つのアルゴリズムに供給される。このアルゴリズムは例えば平均値の形成、中間値の形成またはフォールトトレランスアルゴリズム（ＦＴＡ）の使用を表すものでよい。上述のようなＦＴＡは、入力値の極値を取り除き、残りの値に対し一種の平均値形成を行うことに基づくものである。この平均値形成を残りの値の集合すべてについて行うこともできるし、あるいは有利にはハードウェアＨＷにおいて容易に形成できる部分集合について行うことができる。この場合には、必ずしも値を実際に比較しなくてもよい。平均値形成であればたとえば加算と除算のみでよく、ＦＴＭ，ＦＴＡまたはメディアンであれば部分的なソートが必要である。この場合も必要に応じて、極値が相当に大きい場合には選択的にエラー信号を送出することができる。
【００５０】
複数の信号を処理して１つの信号を生成する上述の様々なオプションを略して比較演算と称する。
【００５１】
したがって処理ロジックの役割は、出力信号各々に対する比較演算の詳細な構造、つまりは対応する入力信号に対する比較演算の詳細な構造を決定することである。以下ではこのことを処理ロジックの第２の関数と称する。これにより一般に生じ得る誤った実行ユニットの識別を、以下では処理ロジックの第１の関数と称する。
【００５２】
切替ロジックＮ１１０の情報（すなわち上述の関数）と処理ロジックの情報（すなわち出力信号つまり関数値ごとの比較演算の決定）との組み合わせがモード情報であり、この情報によってモードが確定される。この情報は一般的な事例では当然ながら多値であり、つまり１つの論理ビットだけでは表現できない。論理的に考えられるすべてのモードがある１つの定められた実現形態において有意であるのではなく、有利には許容されるモードの数が制限される。ここで強調しておくと、実行ユニットが２つしかない場合であれば実行ユニットには、すべての情報をただ１つの論理ビットに集約可能な１つの比較モードだけしか存在しない。
【００５３】
一般的な事例ではパフォーマンスモードから比較モードへの切り替えの特徴は、パフォーマンスモードではそれぞれ異なる出力側にマッピングされる実行ユニットが比較モードでは同じ出力側にマッピングされることである。このことは有利には以下のようにして実現される。すなわち実行ユニットのサブシステムが設けられており、この場合、このサブシステム内で考察すべきすべての入力信号Ｎ１４ｉが、パフォーマンスモードにおいては対応する出力信号Ｎ１６ｉにそれぞれダイレクトに切り替えられる一方、比較モードにおいてはすべて１つの出力側にマッピングされる。択一的に、このような切り替えをペアリングの変更によっても実現可能である。つまり本発明による１つの実施形態として、許容されるモードの量をそれが該当するよう制限できるにもかかわらず、一般的なケースにおいてはパフォーマンスモードおよび比較モードについて論じることはできない。しかしながらパフォーマンスモードから比較モードへの切り替え（またその逆の切り替え）については常に論じることができる。
【００５４】
以下では、この種の切替コンポーネントおよび比較コンポーネントならびにいくつかのその他の要素を用いて、特定の条件のもとで半導体素子たとえばマイクロコンピュータなどの製造プロセスにおける歩留まりをどのように高めることができるかについて説明する。
【００５５】
基本的な着想について以下で大雑把に説明する：
素子たとえばマイクロコンピュータには、動作中に必要とされるよりも多くの処理ユニットが必要とされる。
【００５６】
したがって動作中は、適正に動作する実行ユニットの全個数よりも僅かな実行ユニットでもはたらかせることができる。ここで前提とするのは、適正には動作していないユニットが識別されており、それらがシステム全体に作用を及ぼす可能性のないことである。上述の切替ユニットおよび比較ユニットを利用することにより、欠陥のある実行ユニットの信号がシステム内でさらに伝播するのを切替ロジックＮ１１０を介して阻止することができる。処理ロジックＮ１２０により、それぞれ異なる実行ユニットの信号を比較することができる。適切な比較によって、欠陥のある実行ユニットを識別することができる。このことは、エラーを十分にカバーするテストプログラムを利用することで可能となる。必要に応じて、外部の識別手段をいっしょに使用することもできる。
【００５７】
この種のテストをいずれかの時点で、たとえば生産ライン終点、初期化時あるいは組み立てに際して実行し、結果（すなわち欠陥のある実行ユニットの一義的な識別）を不揮発性メモリに記憶し、その結果により切替ロジックＮ１１０を、欠陥のある実行ユニットの信号が作用を及ぼさないよう制御することによって、たとえ欠陥のある実行ユニットが存在していても、適正に動作する実行ユニットを依然として利用可能なマイクロコンピュータが得られる。
【００５８】
このようにして製品において実現されるフォールトトレランスによって歩留まりを高めることができる。その理由は、依然として適正に動作する実行ユニットの個数が十分にあるかぎり、欠陥を伴う素子を利用できるからである。これは適用事例に依存する。
【００５９】
この着想についてここで詳しく説明する。
【００６０】
切替ユニットおよび比較ユニットに関する可能な論理構成についてはすでに説明した。ここで説明する本発明を適用するためには、有利ではあるけれどもコンポーネントが必ずしも上述なようなものとして設けられていなくてもよく、また、切替ロジックや処理ロジックという上述のサブコンポーネントが必ずしも設けられていなくてよい。
【００６１】
切替ロジックの第１の機能に関して重要であるのは、場合によっては欠陥を伴う可能性のあるコンポーネントの出力を適切な形態で無視できることである。このことは、出力側をたとえばスイッチなどで遮断することによって実現できる。他の可能性として挙げられるのは、エラーを伴う信号用の標準「キャッチャー」にそれらの信号を切り替えることである。別の可能性として、出力信号を無効なものとしてマーキングすることができる。さらにこのことに加えてまたは択一的に用いることのできる別の可能性として、この種の出力信号の発生を対応するコンポーネント自体を非アクティブ状態にすることによって阻止することができる。そしてこれをコンポーネントの非アクティブ化、停止、クロック遮断あるいは入力信号の遮断によって実現することができる。このことにより損失電力が最小限に抑えられ、ひいては耐用年数、信頼性ならびに温度負荷が最適化されるという利点も得られる。以下では、出力が何らかの手段により無視されるすべての実行ユニットのことをパッシブ状態または非アクティブ状態にあると呼ぶことができる。
【００６２】
処理ロジックの第１の機能にとって重要であるのは第１に、欠陥コンポーネントを識別できることである。有利な可能性として挙げられるのは、すべての実行ユニットに対し並列に同一のプログラムを実行させることである。ただし有利には必ずしもこのことを、実行ユニットをロックステップモードで、あるいは固定的なクロックシフトまたは位相シフトでも駆動することにより実現可能でなくてもよい。このようにして適切な比較により多数決判定を介して、場合によっては存在する欠陥コンポーネントを識別することができる。オプションとして製品テスト、初期化テストあるいは生産ライン終点テストにおいて付加的にこのプログラムの結果をさらに、事前にわかっている結果と外部のユニット（ウォッチドッグ、他のマイクロコンピュータ、テスト機器、ＡＳＩＣ）によって比較することができる。このことはただ２つの実行ユニットしか存在しない場合に殊に有利となる。なぜならばそのようなケースでは、双方の実行ユニットにおいて差が発生したならば、欠陥を伴う実行ユニットを識別するために第３の情報が必要となるからである。このような比較を上述の比較演算のほか、場合によっては存在する欠陥を伴う実行ユニットの一義的な識別が可能となるまで、ペアでのみでまたは部分集合に対し比較を実行することで実現することができる。したがって処理ロジックはこの第１の機能の結果として、欠陥コンポーネントを識別する必要がある。
【００６３】
テストプログラムを、できるかぎり高い確率で欠陥が作用を及ぼすように構成する必要がある。そのようなプログラムを開発するためにたとえば、欠陥モデル（一例としてstuck-at-Modell）を利用することができるし、アプリケーションコードの一部分を実行させたり、あるいは完全な命令テストを実行させたりすることができる。生産ライン終点テストの場合であれば、それを実行ユニットに限定された現在のテストプログラムに対応させることができる。ただしこれを現在一般的な生産ライン終点テストと組み合わせることもできるし、第１の生産ライン終点テストによってすでに判定されたコンポーネントのみこのプログラムによってテストすることもできる。最後に挙げたやり方は殊に、さもなければ欠陥品に属するコンポーネントについてのみ付加的なプロセスステップが実施されるという利点を有している。このような最後の「救済ステップ」により得られたコンポーネント各々によって、製造プロセスの歩留まりがそのまま高められる。
【００６４】
処理ロジックの第１の機能により欠陥ユニットが識別された後、その情報を格納する必要がある。本発明による方法を歩留まり上昇のために製造プロセスに適用する場合、不揮発性記憶素子を用いるのが有利である。その場合、どの実行ユニットが非アクティブであるかがそこに格納される。
【００６５】
図２には、この記憶素子の機能が描かれている。図２における切替および比較ユニットＮ５００の素子Ｎ５１０，Ｎ５２０，Ｎ５４ｉ、Ｎ５６ｉは、図１における切替および比較ユニットＮ１００の素子Ｎ１１０，Ｎ１２０，Ｎ１４ｉ，Ｎ１６ｉと同じ機能を有している。さらにここには記憶素子Ｎ５３０が描かれている。処理ロジックＮ５２０は、欠陥があると識別された実行ユニットに関する情報を記憶素子Ｎ５３０に送信する。切替ロジックＮ５１０はこの記憶素子にアクセス可能であり、Ｎ５３０により非アクティブとして表された素子が実際上も非アクティブとなるよう切替ロジックの第１の機能を実施する。
【００６６】
当然ながら記憶素子を切替および比較ユニット内に設けることができるけれども、外部に設けてもよく、さらにはコンポーネントの外部に設けてもよい。たとえばマイクロコンピュータを組み立てる際に制御装置内またはＰＣ内に外部の素子を設けることも考えられ、それというのもこのようにすれば周辺機器を利用しながらいっそう大規模なテストを適用できるからである。
【００６７】
図３には、製造時の歩留まりを高めるための方法に関する基本的な着想が示されている。第１のステップＮ６００（識別ステップ）において、欠陥のある実行ユニットの識別が行われる。識別のためには処理ロジックＮ５２０の第１の機能が利用され、つまりはテストプログラムが利用される。第２のステップＮ６１０（格納ステップ）において、欠陥情報が格納される。対応する情報が処理ロジックＮ５２０から記憶素子Ｎ５３０に渡される。第３のステップＮ６２０（コンフィギュレーション）において、切替ロジックＮ５１０はＮ５３０からの情報を利用して切替ロジックの第１の機能を適用し、要求されているアクティブ状態とパッシブ状態に応じて実行ユニットの出力のコンフィギュレーションを行う。ここで強調しておくと、たしかにオプションとしてこれをＳＷにより行うことができるけれども、１つの有利な実施形態によればここではＳＷコントロールによってもコンフィギュレーションに作用が及ぼされない。
【００６８】
非アクティブ状態に関する主要な要因は欠陥である。ただし１つの有利な実施形態によれば、別の理由が成り立つ可能性もある。たとえば、まったく欠陥のないコンポーネント自体についても上述の記憶素子において実行ユニットを非アクティブとしてマーキングすることができる。
【００６９】
たとえば、テストが生産ライン終点だけでなく動作中（たとえば初期化フェーズ中あるいは通常動作中にも）実行される場合には、製造中ではなく動作中に発生したエラーを検出することができる。図１に示されているように、切替ロジックの第２の機能（アクティブな実行ユニットを動作中に互いに接続する機能）および処理ロジックの第２の機能（出力側に切り替えられた信号の比較を実施する機能）を介して、動作中も簡単にエラーを検出して欠陥のある実行ユニットを識別することができる。
【００７０】
欠陥のない実行ユニットが非アクティブとマーキングされている場合、動作中にエラーが発生したときに欠陥があると識別されたユニットを欠陥がないが非アクティブ状態にあるユニットと交換することができる。この目的で有利であるのは、実行ユニットが単に非アクティブであるのかまたはそれが欠陥も有するのかという情報を記憶素子Ｎ５３０に格納することである。有利には非動作時に、所定の実行ユニットが欠陥を有するという情報を変更することができる。
【００７１】
図７には、記憶素子Ｏ１００（Ｎ５３０に対応）に関して基本的に実現可能な構造が示されている。これには第１の記憶領域Ｏ１１０が含まれており、そこには有利には実行ユニットの個数に応じてメモリロケーションＯ１２０〜Ｏ１２ｎが設けられている。有利には各メモリロケーションは少なくとも１ビット以上で実現されている。メモリロケーションＯ１２ｉの番号またはアドレスは、実行ユニットの番号または識別子と一義的に結びつけられている。Ｏ１２０の１つのビットは０にセットされており、たとえばこのことによって、対応する実行ユニットがアクティブであることが表される。これが１にセットされているならば、対応する実行ユニットは非アクティブ状態ということである。この情報をフォールトトレランスにまたは他の情報と結びつけてメモリロケーションＯ１２０〜Ｏ１２ｎにおくことができるが、この用途に関して基本的な情報内容は常に同じまま保持される。
【００７２】
オプションとして付加的に第２の記憶領域Ｏ１４０が設けられ、有利にはこの領域には実行ユニットの個数に応じてメモリロケーションＯ１３０〜Ｏ１３ｎが設けられる。
【００７３】
有利には各メモリロケーションは少なくとも１ビット以上で実現されている。メモリロケーションＯ１３ｉの番号またはアドレスは、実行ユニットの番号または識別子と一義的に結びつけられている。Ｏ１３０の１つのビットは０にセットされており、たとえばこのことによって、対応する実行ユニットが欠陥のないものとして表される。これが１にセットされているならば、対応する実行ユニットは欠陥があることが表される。この情報をフォールトトレランスにまたは他の情報と結びつけてメモリロケーションＯ１３０〜Ｏ１３ｎにおくことができるが、この用途に関して基本的な情報内容は常に同じまま保持される。択一的に、この記憶領域は書き込み不可能であるかまたは、特別な状況でのみあるいは特別なやり方でのみ書き込み可能であり、このようにすることで一度欠陥があるものとしてマーキングされた実行ユニットが誤って欠陥なしと表されないよう保証される。
【００７４】
非アクティブであるが欠陥のない実行ユニットを使用することにより、上述の方法を欠陥のない素子のために提供するコールドな冗長性を、可用性と信頼性の増大のために用いることができる。
【００７５】
本発明を適用可能な別の可能性は、グレースフルデグラデーションモードGraceful-Degradation ModeおよびリンプホームモードLimp-home Modeを実現することである。
【００７６】
この場合の前提条件は、処理ロジックにおける上述の第２の機能を介して動作中にエラーが見つかったことである。図４には、その際に有利に用いられる方法が示されている。最初にステップＮ７００（エラー検出）において欠陥が見つけられる。これをたとえばテストプログラムの利用により行うことができる。ただしシステムが比較モードにあるときには、たとえばこれを処理ロジックと切替ロジックの第２の機能を介して設定できる場合には、この種のエラー検出を通常動作中に行うこともでき、つまりアプリケーションソフトウェアがテストプログラムとして機能する。このことは２つの理由から有利である：すなわちこの場合には専用のテストプログラムが不要である一方、総じて作用を及ぼす実行ユニットのすべての欠陥がこのようにして見つけられる。ステップＮ７０５において、切替ロジックおよび処理ロジックの現在のコンフィギュレーションにより欠陥のある実行ユニットをすでに識別可能であるか否かがチェックされる。このことが該当するならばステップＮ７１０（エラー検出のためのコンフィギュレーション）およびＮ７２０（識別ステップ）がすでに終了しており、ステップＮ７３０にそのまま移行する。これがあてはまるのはたとえば、３つの実行ユニットからの信号が比較されるサブシステムにおいてエラーが発生した場合である。（ステップＮ７０５における）チェックの結果、該当しなかった場合（たとえば比較モードで実行している２つの実行ユニットから成るサブシステムにおいてエラーが検出された場合）、最初にステップＮ７１０において、エラー識別を可能とするコンフィギュレーションが選択される。これはもっとも簡単なやり方としてはたとえば以下のようにして行われる。すなわち「容疑候補」（すなわちエラーを生じさせたサブシステムに関与しているすべての実行ユニット）を、十分に多くの個数の他の実行ユニットとともに切替ロジックＮ５１０により１つの出力信号となるよう組み合わせる。その際に有利であるのは、エラーを呈示したＳＷ部分をテストプログラムとして再び利用することであるが、専用のテストプログラムを利用してもよい。この場合、処理ロジックの第１の機能によりステップＮ７２０を実行させ、欠陥のある実行ユニットを識別することができる。ただし択一的に、他の識別方法を選択してもよい。たとえば容疑候補のうちの１つを受け入れ、それを欠陥のない他の実行ユニットと組み合わせる。いかなるエラーも識別されなければ、他の実行ユニットが欠陥をもつことになる。エラーが識別されれば、その実行ユニットにおけるエラーであると推定できる。後者の方法によれば、同じ識別確実性は得られないけれども、これを動作実行中にいっそう簡単に用いることができ、つまりたとえば自動車においてコンポーネントにより制御される目下クリティカルな走行操作が実行されている場合に有利となる。欠陥のある実行ユニットの識別が完了した後、両方のステップＮ７３０（格納ステップ、Ｎ６１０に対応）とＮ７４０（コンフィギュレーション、Ｎ６２０に対応）が実行される。
【００７７】
ここで強調しておくと、この最後のステップにおいて本発明による方法により多数の有利な可能性が得られることになる。
【００７８】
欠陥がないけれども非アクティブ状態にある実行ユニットが十分に多くあるならば、上述のように完全に機能するシステムを再び形成することができる。通常動作のために欠陥のない実行ユニットが少なすぎるケースにおいて、存在している実行ユニットに対し既存のソフトウェアを通常のように良好に実行させることができる。このことが有利になるのは、システムが通常の事例において予備伝播時間を用いて記述されている場合である。この場合におそらくは、実行ユニットの個数が低減されていても動作を保証するためにパフォーマンスを十分に提供できる。このことは殊に、著しくパフォーマンスが集中する動作状態（たとえば自動車エンジンにおける高回転数）が回避されることによって支援することができる。
【００７９】
通常動作のために欠陥のない実行ユニットの個数が少なすぎれば、択一的にアプリケーションのサブセットだけを実行させることができる。
【００８０】
通常動作のために欠陥のない実行ユニットの個数が少なすぎるケースにおいて、第３の可能性としてアプリケーションを別のモードで実行させることができる。たとえば強い比較モードをやめて、比較的弱い比較モードまたはパフォーマンスモードを適用することができる。このケースでは、後続の動作のために比較的弱いエラー検出またはフォールトトレランスしか生じないけれども、場合によってはこのことは許容できる。なぜならばこの状態を場合によっては制限された時間のみ維持すればよいからである。本発明によればこのオプションはきわめて容易に実現できる。なぜならばここで示したコンポーネントおよび方法だけしか用いないでよいからである。当然ながら、これらの実施形態の組み合わせも考えられる。
【００８１】
本発明による方法の着想を利用する基本的に異なる可能性として挙げられるのは、欠陥の可能性のある実行ユニットを確実に不可逆的に非アクティブ状態となるよう非アクティブにするために、記憶素子を用いずに他の手段を利用することである。これを素子のラインの制御（たとえば分離または接続）によって行うことができる。
【００８２】
以下に種々のオプションを挙げる：
専用ラインのアンチフューズ（これは動作中、保守中、組み立て中または製造中に利用可能）、ラインの機械的処理（はんだ付け、切断）、レーザ、電子ビーム、Ｘ線ビームまたは特別な電気信号による焼断、ならびにラインに対する化学的作用。
【００８３】
このためには記憶素子の代わりに制御コンポーネントが必要である。図５には、この制御コンポーネントの機能が描かれている。図５における切替および比較ユニットＮ８００の素子Ｎ８１０，Ｎ８２０，Ｎ８４ｉ、Ｎ８６ｉは、図１における切替および比較ユニットＮ１００の素子Ｎ１１０，Ｎ１２０，Ｎ１４ｉ，Ｎ１６ｉと同じ機能を有している。さらにここには制御コンポーネントＮ８３０が描かれている。処理ロジックＮ８２０は、欠陥があると識別された実行ユニットに関する情報を制御コンポーネントＮ８３０に送信する。これはたとえば上述のように実行ユニットが非アクティブ状態となるよう素子内のラインまたは機能グループを制御する手段を有している。Ｎ８３０を素子内、制御装置内またはシステム内のコンポーネントとすることができるけれども、Ｎ８３０を製造プロセスにおける機械またはこの種の機械の操作者としてもよい。これらのコンポーネントを保守の際に利用することもできる。オプションとして相応の情報をさらに切替ロジックへ送出することができ、これによって切替ロジックは第１の機能を実行し、Ｎ８３０により非アクティブと表された素子を実際上も非アクティブにする。
【００８４】
図６には、制御コンポーネントＮ８３０を利用して歩留まりを高めるための方法に関する基本的な着想が示されている。第１のステップＮ９００（識別ステップ）において、欠陥のある実行ユニットの識別が行われる。識別のためには処理ロジックＮ８２０の第１の機能が利用され、つまりはテストプログラムが利用される。第２のステップＮ９１０において、処理ロジックＮ８２０から制御コンポーネントＮ８３０へ欠陥情報が送られる。第３のステップＮ９２０において制御コンポーネントＮ８３０はこの情報を利用し、このコンポーネントが使える手段を用いて、欠陥コンポーネントが非アクティブとなるよう素子内のラインまたは機能グループを制御する。択一的な第４のステップＮ９３０において、切替ロジックＮ８１０は情報を利用して切替ロジックの第１の機能を適用し、要求されているアクティブ状態とパッシブ状態に応じて実行ユニットの出力のコンフィギュレーションを行う。
【００８５】
当然ながら、この種の制御コンポーネントを動作中も利用することができる。システムに対する作用はまったく同じであるので、記憶素子を利用したときに得られるすべての利点をここでもあてはめることができる。この場合、制御コンポーネントがシステム内のＨＷコンポーネントとして設けられていると有利である。
【００８６】
実施例の説明で言及した実行ユニット以外にも、本発明による有利な方法と装置を半導体回路における他のコンポーネントにも適用することができ、たとえばアナログ／ディジタル変換器、タイマ素子、インタラプトコントローラ、通信コントローラあるいは制御ユニットなどにも適用可能である。以下では、半導体回路のこのようなコンポーネント全体を機能ユニットという用語でまとめる。
【００８７】
１つの別の有利な実施例によれば、これまで説明した本発明が他の記憶素子に対するＥＣＣ保護といっしょに用いられる。この事例では高度な可用性をもつコンポーネントが得られることになり、これによればメモリも実行ユニットもフォールトトレランスに構成されており、したがって歩留まりを最大にすることができるし、動作中の最適なアベイラビリティも保証できる。
【図面の簡単な説明】
【００８８】
【図１】切替ロジックおよび処理ロジックを備えた一般的な切替コンポーネントを示す図
【図２】切替コンポーネントと記憶素子との接続について示す図
【図３】記憶素子を利用した歩留まり上昇のための基本的な方法について示す図
【図４】グレースフル・デグラデーション graceful degradation と緊急動作のアベイラビリティを高めるための特別な方法について示す図
【図５】切替コンポーネントと制御コンポーネントとの接続について示す図
【図６】制御コンポーネントを利用した歩留まり上昇のための基本的な方法について示す図
【図７】実現可能な記憶素子の構造を示す図
【図１】
2009514064.tif 000003
【図２】
2009514064.tif 000004
【図３】
2009514064.tif 000005
【図４】
2009514064.tif 000006
【図５】
2009514064.tif 000007
【図６】
2009514064.tif 000008
【図７】
2009514064.tif 000009
【国際調査報告】
2009514064.tif 000010
2009514064.tif 000011
2009514064.tif 000012
2009514064.tif 000013
2009514064.tif 000014
2009514064.tif 000015