(57)【要約】【課題】  デバイスがデバイス製造者の制御を離れた後に、電子デバイスの特定の機能の作動及び／又は該電子デバイスの特定の機能へのアクセスを制御することができるようにする方法及びシステムを提供すること。【解決手段】  デバイスが製造者の制御を離れた後に、電子デバイスの特定の機能の作動及び／又は該電子デバイスの特定の機能へのアクセスを制御することができる技術及びシステムが提供される。作動及び／又はアクセスは、電気的にプログラム可能なヒューズ（ｅＦＵＳＥ）のような不揮発性記憶素子内に格納された値に基づいて提供することができる。【選択図】      図１
2006172451.tif 000002
【特許請求の範囲】
【請求項１】
集積回路デバイスの選択された内部コンポーネントへの不正アクセスを防止する方法であって、前記集積回路デバイスの通信インターフェースと該集積回路デバイスの前記選択された内部コンポーネントとの間の外部生成された通信を制御するように構成された該集積回路デバイス内の少なくとも１つの電気的にプログラム可能なヒューズを飛ばすステップを含むことを特徴とする方法。
【請求項２】
前記電気的にプログラム可能なヒューズが、前記集積回路デバイスの前記通信インターフェースと該集積回路デバイスの前記選択された内部コンポーネントとの間の通信ライン内に直列配置されている、請求項１に記載の方法。
【請求項３】
前記電気的にプログラム可能なヒューズが、前記選択された内部コンポーネントのＩ／Ｏピンと前記集積回路デバイスの外部に配置されたデバイスとの間に直列配置されている、請求項１に記載の方法。
【請求項４】
前記電気的にプログラム可能なヒューズが、前記選択された内部コンポーネントに対する第１の不正アクセス試行が行われたかどうかを判断するステップと、前記第１の不正アクセス試行があると判断した場合に、第１のタンパー・ビットに関連した第１のプログラム可能なヒューズを飛ばすステップとをさらに含む、請求項１に記載の方法。
【請求項５】
前記第１の電気的にプログラム可能なヒューズを飛ばすことに応答して、前記集積回路デバイスの機能の一部を使用不可にするステップをさらに含む、請求項４に記載の方法。
【請求項６】
前記選択された内部コンポーネントに対する第２の不正アクセス試行が行われたかどうかを判断するステップと、前記第２の不正アクセス試行があると判断した場合に、第２のタンパー・ビットに関連した第２の電気的にプログラム可能なヒューズを飛ばすステップとをさらに含む、請求項４に記載の方法。
【請求項７】
前記第２のタンパー・ビットを飛ばしたときに、前記集積回路デバイスの全ての機能を使用不可にするステップをさらに含む、請求項６に記載の方法。
【請求項８】
前記全ての機能を使用不可にするステップが、クロック信号、マルチプレクサの選択、及び前記第２の電気的にプログラム可能なヒューズに関連したＩ／Ｏラインの少なくとも１つを使用不可にするステップを含む、請求項７に記載の方法。
【請求項９】
前記通信インターフェースがデバイス試験インターフェースを含み、前記電気的にプログラム可能なヒューズが、製造者によるデバイスの最初の試験後に、前記デバイス試験インターフェースを介して、機密情報を含む内蔵レジスタへのアクセスを不可にするように構成される、請求項１に記載の方法。
【請求項１０】
集積回路デバイスから機密情報をコピーすることを防止する方法であって、
前記集積回路デバイスの安全情報に対する第１の不正アクセス試行が行われたかどうかを判断するステップと、
前記第１の不正アクセス試行があると判断した場合に、第１のタンパー・ビットを設定するステップと、
前記第１のタンパー・ビットに従って第１のデバイス・パラメータを修正するステップと、
前記集積回路デバイスの安全情報に対する第２の不正アクセス試行が行われたかどうかを判断するステップと、
前記第２の不正アクセス試行があると判断した場合に、第２のタンパー・ビットを飛ばすステップと、
前記第２のタンパー・ビットに従って、前記第１のデバイス・パラメータと異なる第２のデバイス・パラメータを修正するステップと、
を含むことを特徴とする方法。
【請求項１１】
前記第１及び第２のタンパー・ビットの各々が、少なくとも１つの電気的にプログラム可能なヒューズを含む、請求項１０に記載の方法。
【請求項１２】
前記第１のデバイス・パラメータを修正するステップが、前記デバイスの機能の一部を使用不可にするステップを含む、請求項１１に記載の方法。
【請求項１３】
前記第２のデバイス・パラメータを修正するステップが、前記チップの機能を完全に使用不可にするステップを含む、請求項１１に記載の方法。
【請求項１４】
前記チップの機能を完全に使用不可にするステップが、前記飛んだ第２の電気的にプログラム可能なヒューズに従って、クロック信号、マルチプレクサの選択、又は前記デバイスのＩ／Ｏラインの少なくとも１つを使用不可にするステップを含む、請求項１３に記載の方法。
【請求項１５】
前記デバイスの起動時に前記第１及び第２のタンパー・ビットを読み取るステップと、該第１及び第２のタンパー・ビットに従って該デバイスの機能を使用可能にするステップとをさらに含む、請求項１１に記載の方法。
【請求項１６】
デバイス・コントローラは、前記デバイスの起動時に前記第１及び第２のタンパー・ビットを読み取り、該第１及び第２のタンパー・ビットの状態に従って該デバイスの機能モジュールを使用可能及び使用不可にするように構成される、請求項１１に記載の方法。
【請求項１７】
製造者において電気的にプログラム可能なヒューズを再プログラムし、前記第１及び第２のタンパー・ビットを再設定し、前記デバイスの機能を再び使用可能にするステップをさらに含む、請求項１３に記載の方法。
【請求項１８】
電子チップ識別（ＥＣＩＤ）を電気的にプログラム可能なヒューズ内にプログラムするステップをさらに含む、請求項１７に記載の方法。
【請求項１９】
デバイス内に含まれる機密情報に対する不正アクセスを防止するように構成された集積回路デバイスであって、
集積回路デバイス上に配置されたデバイス・コントローラと、
前記デバイス・コントローラ及び前記デバイスの少なくとも１つのＩ／Ｏラインと通信状態に配置された内蔵通信インターフェースと、
前記デバイス・コントローラ及び前記通信インターフェースの少なくとも１つと通信状態にあり、デバイス関連の機密情報を格納するように構成された少なくとも１つのデバイス・レジスタと、
前記デバイス・コントローラ及び前記通信インターフェースの少なくとも１つと通信状態に配置され、第１の導通状態からの第２の導通状態にプログラム可能な少なくとも１つの電気的にプログラム可能なヒューズと、
を備えることを特徴とする集積回路デバイス。
【請求項２０】
前記デバイス・コントローラは、起動時に前記少なくとも１つの電気的にプログラム可能なヒューズを読み取るように構成され、該少なくとも１つの電気的にプログラム可能なヒューズの状態に従ってデバイス・モジュールの機能を構成する、請求項１９に記載の集積回路デバイス。
【請求項２１】
前記少なくとも１つの電気的にプログラム可能なヒューズは、クロック信号、マルチプレクサの選択、及びＩ／Ｏラインの少なくとも１つの作動と関連付けられており、該少なくとも１つの電気的にプログラム可能なヒューズを飛ばしたとき、前記クロック信号、マルチプレクサの選択、又はＩ／Ｏラインの通常の作動が実行できなくなる、請求項２０に記載の集積回路デバイス。
【請求項２２】
前記少なくとも１つの電気的にプログラム可能なヒューズは、前記通信インターフェースと前記少なくとも１つのデバイス・レジスタとの間に直列配置されている、請求項１９に記載の集積回路デバイス。
【請求項２３】
前記少なくとも１つの電気的にプログラム可能なヒューズのデバイスは、前記アンチヒューズデバイス・タイプのものであり、前記第１の導通状態が非導電状態である、請求項１９に記載の集積回路デバイス。
【請求項２４】
前記第１の導通状態が導電状態であり、前記第２の導通状態が非導電状態である、請求項１９に記載の集積回路デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、集積回路デバイスに関し、より具体的には、デバイスが製造設備を離れた後に、該集積回路デバイス内に含まれる機密情報への不正アクセスを防止する方法及びシステムに関する。
【背景技術】
【０００２】
システム・オン・チップ（ＳＯＣ）、他のタイプの超大規模集積回路（ＶＬＳＩ）及び超々大規模集積回路（ＵＬＳＩ）のような多くの集積回路（ＩＣ）デバイスは、該デバイスの内部レジスタ及び他のコンポーネントへのアクセスを可能にするインターフェースを含む。このデバイスの内部コンポーネントへのアクセスは、性能の最適化のために、主として製造プロセス中及び該デバイスの開発において行われる該デバイスの試験及び故障点検を可能にする。さらに、インターフェースは、レジスタをプログラムして特定のモードを作動させることを可能にし、例えば、所定の用途についてのチップ帯域幅を増大させるために、プロセッサのＩ／Ｏを再構成することができる。こうしたインターフェースの例には、レベル・センシティブ走査設計（ｌｅｖｅｌ  ｓｅｎｓｉｔｉｖｅ  ｓｃａｎ  ｄｅｓｉｇｎ：ＬＳＳＤ）走査チェーンと、ＩＥＥＥ規格１１４９に規定される試験アクセス・ポート（ｔｅｓｔ  ａｃｃｅｓｓ  ｐｏｒｔ）及び境界走査アーキテクチャ（ｂｏｕｎｄａｒｙ−ｓｃａｎ  ａｒｃｈｉｔｅｃｔｕｒｅ）を確立したＪｏｉｎｔ  Ｔｅｓｔ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ  ｃｏｍｍｉｔｔｅｅにちなんで名付けられたＪＴＡＧインターフェースが含まれる。デバイスの内部レジスタを読み取る／書き込むことによって。こうしたインターフェースを用いて、該デバイスの内部の仕組みを修正し、検査する試験アルゴリズムがよく知られている。
【０００３】
しかしながら、これらの試験インターフェースは、ハードウェア・ハッカー、すなわちデバイス内に含まれる情報にアクセスする権限が与えられていない人が、該デバイスにアクセスするための、より具体的には、該デバイス内に組み込まれた製造者の機密情報にアクセスするためのインターフェース又は「バックドア」を提供することが多い。ビデオゲーム・コンソール、衛星デコーダ等に用いられるもののような他のデバイスの場合は、これらのデバイスに侵入する経済的利得又は感情的利得はほとんどないので、ハッキングは、マーケット上の多くのデバイスにとって重要な問題になり得ないが、例えば、有償タイプのアップグレードとなるように意図された機能を使用可能にするか又はアンロックするために、ハッキングを用いることができるので、一般に、これらのデバイスの機密情報にハッキングすることによって実質的な経済的利得を得ることがある。これらのタイプのシステムにおいて、機密データ（例えば、著作権で保護されているゲーム・データ又は加入者専用の媒体信号など）を保護するために、暗号化を用いることが多い。しかしながら、近年のハッキング技術の進歩は、ハッカーが、上述の試験インターフェースを使って多くの暗号化プロセスを克服することを可能にした。
【０００４】
さらに、従来の集積回路デバイスの製造においては、システム・オン・チップ（ＳＯＣ）及び他のデバイスが、比較的特定の目的で設計され、製造される。このタイプの製造プロセスにおいては、本質的に、他のものより高度なチップが製造され、一般的に言えば、より高度なチップは、あまり高度でないチップの機能を実行する能力を持つことが多い。この場合、より高度なチップとあまり高度でないチップとの間のチップ当たりのコストが無視できる程小さいことが多いので、より高度なチップだけを製造し、全ての用途にこれらのチップを使用することが、製造コストの観点から実際的であることが多い。この場合、使用不可にされたチップの未使用又はより高度な部分又はモジュールを用いて、より複雑なチップをあまり複雑でない構成内に実装することができる。同様に、より複雑なチップをあまり複雑でないアプリケーション内に実装するとき、製造者は、必要に応じて、該チップの使用不可部分を使用可能にし、該チップをアップグレードする選択肢を有する。
【０００５】
しかしながら、チップのハッカーは、あまり複雑でない構成内により高度なチップを使用することができ、例えば、ハッカーは、不正な方法を用いてチップの使用不可にされたモジュールをアンロックするので、ビジネスの点から見ると、多数の複雑な用途のために単一のチップを製造し、あまり複雑でない構造内に用いられる複雑なチップのより高度な部分を使用不可にすることは、問題がある。チップの使用不可にされた部分への不正アクセスは、製造者の収益を減少させるので、より高度なチップだけを製造するために発生した製造コストの節約がなくなることが多い。さらに、場合によっては、ハッキングは、デバイスの信頼性の低下を招くことがあり、作動周波数が増す場合に、突発故障（例えば、デバイスの過熱）をもたらす可能性がある。このことは、ハッカーがエンドユーザではなく、例えば、ハッカーが供給チェーン内にいて、ハッキングされたデバイスを疑いもしないエンドユーザに渡し、次に、エンドユーザがこれを製造者に戻すか、又は該製造者に損傷への対処を求める場合、製造者にとって特に問題となり得る。
【０００６】
さらに、集積回路デバイス及びＳＯＣを用いる場合、ひとたびデバイス又はチップがエンドユーザに出荷されると、製造者は、もはや、エンドユーザのシステムからチップを取り外すことなく、該チップを修正し、アップグレードし、又は修理する能力を持たない。明らかに、この制限は、製造者が現場でチップをアップグレード又は修理することを妨げる。
【０００７】
【特許文献１】米国特許第６，７５３，５９０号明細書
【非特許文献１】Ｃ．Ｋｏｔｈａｎｄａｒａｍａｎ及びＳ．ｌｙｅｒ著、「Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｆｕｓｅ（ｅＦＵＳＥ）  ＵＳＩＮＧ  Ｅｌｅｃｔｒｏｍｉｇｒａｔｉｏｎ  ｉｎ  Ｓｉｌｉｃｉｄｅｓ」、ＩＥＥＥ  Ｅｌｅｃｔｒｏｎ  Ｄｅｖｉｃｅ  Ｌｅｔｔｅｒｓ、２３巻第９、２００２年９月
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、デバイスが製造者を離れた後に、集積回路デバイスの使用不可にされたモジュール又は機能の不正な変更又は作動を防止するための方法及びデバイスに対する必要性がある。さらに、デバイスが製造設備を離れた後に、試験インターフェースを経由する内部デバイス情報への不正アクセスを防止するための方法及びシステムへの必要性もある。さらに、デバイスが中間ユーザ又はエンドユーザの手元にある間に、該デバイス又はチップのパラメータを現場で修正することができるように構成された方法及びデバイスに対する必要性もある。
【課題を解決するための手段】
【０００９】
本発明は、一般に、デバイスがデバイス製造者の制御を離れた後に、電子デバイスの特定の機能の作動及び／又は該電子デバイスの特定の機能へのアクセスを制御することができるようにする方法及びシステムに関する。
【００１０】
一実施形態が、集積回路デバイスの選択された内部コンポーネントへの不正アクセスを防止する方法を提供する。この方法は、一般に、集積回路デバイス内の少なくとも１つの電気的にプログラム可能なヒューズを飛ばす（ｂｌｏｗ）ステップを含み、該電気的にプログラム可能なヒューズは、該集積回路デバイスの通信インターフェースと該集積回路デバイスの選択された内部コンポーネントとの間の外部生成された通信を制御するように構成される。
【００１１】
別の実施形態は、集積回路デバイスから機密情報をコピーすることを防止する方法を提供する。この方法は、一般に、集積回路デバイスの安全情報に対する第１の不正アクセス試行が行われたかどうかを判断するステップと、第１の不正アクセス試行があると判断した場合に、第１のタンパー・ビットを設定するステップと、第１のタンパー・ビットに従って第１のデバイス・パラメータを修正するステップと、集積回路デバイスの安全情報に対する第２の不正アクセス試行が行われたかどうかを判断するステップと、第２の不正アクセス試行があると判断した場合に、第２のタンパー・ビットを飛ばすステップと、第２のタンパー・ビットに従って第１のデバイス・パラメータと異なる第２のデバイス・パラメータを修正するステップとを含む。
【００１２】
別の実施形態は、デバイス内に含まれる機密情報に対する不正アクセスを防止するように構成された集積回路デバイスを提供する。このＩＣデバイスは、一般に、集積回路デバイス上に配置されたデバイス・コントローラと、該デバイス・コントローラ及び該デバイスの少なくとも１つのＩ／Ｏラインと通信状態に配置された内蔵通信インターフェースと、該デバイス・コントローラ及び該通信インターフェースの少なくとも１つと通信状態にあり、デバイス関連の機密情報を格納するように構成された少なくとも１つのデバイス・レジスタと、少なくとも１つの電気的にプログラム可能なヒューズ（ｅＦＵＳＥ）とを含む。ｅＦＵＳＥは、デバイス・コントローラ及び通信インターフェースの少なくとも１つと通信状態に配置され、少なくとも１つの電気的にプログラム可能なヒューズは、第１の導通状態から第２の導通状態にプログラム可能である。
【発明を実施するための最良の形態】
【００１３】
したがって、本発明の上述の特徴、利点、及び目的を詳細に獲得し、理解できるように、添付図面に示される本発明の実施形態を参照することによって、上記に簡潔に要約された本発明をより詳細に説明することができる。
【００１４】
しかしながら、添付図面は、本発明の典型的な実施形態を示すものにすぎず、よって、これらは本発明の範囲の制限と考えるべきではなく、本発明は、等しく有効な他の実施形態を認め得ることに留意すべきである。
【００１５】
本発明の実施形態は、デバイスが製造者の制御を離れた後に、電子デバイスの特定の機能の作動及び／又は特定の機能へのアクセスを制御することができる技術及びシステムを提供する。このデバイスは、これらの機能の作動又はこれらの機能へのアクセスを制御するようにプログラムすることができる、電子的にプログラム可能なヒューズ（以下、ｅＦＵＳＥ）のような、１組の不揮発性記憶素子を含むことができる。幾つかの実施形態によると、チップの機能を使用可能にし、及び／又は試験コストの低減のためにデータの障害を最小に抑えるために、製造者によって意図的に再構成の組を開始することができる。幾つかの実施形態の場合には、製造試験中に、各々のデバイスの出力及び性能デバイス特性を決定することができ、その後、それに応じて各々のデバイスを特定の用途で構成することができる。
【００１６】
以下において、本発明の実施形態について説明する。しかしながら、本発明は、説明される特定の実施形態に制限されるものではないことを理解すべきである。代わりに、異なる実施形態に関連しようとしまいと、以下の特徴及び要素のいずれの組み合わせも、本発明を実装し、実行するものと考えられる。さらに、種々の実施形態において、本発明は、従来技術に優る多数の利点を提供する。しかしながら、本発明の実施形態は、他の可能な解決法及び／又は従来技術に優る利点を達成することができるものの、所定の実施形態によって特定の利点が達成されるかどうかは、本発明の制限ではない。したがって、以下の側面、特徴、実施形態、及び利点は、単なる例証にすぎず、特許請求の範囲において明白に列挙される場合を除いて、添付の特許請求の範囲の要素又は制限と考えられるものではない。同様に、「本発明」への言及は、ここに開示された本発明の何らかの主題の一般化として解釈されるものではなく、特許請求の範囲において明白に列挙される場合を除いて、添付の特許請求の範囲の要素又は制限と考えられるものでもない。
【００１７】
本発明の実施形態は、一般に、製造プロセス中にデバイスを試験するために用いられる該デバイス上のインターフェースを通して、集積回路デバイスの特定の内部コンポーネント、すなわち機密情報を含む指定された内部レジスタへのアクセスを制限するように構成される方法及びシステムを含む。一般に、本発明の方法及びシステムは、デバイスの試験を含む該デバイスの製造プロセスが完了するまで使用可能にされないので、製造プロセス中に該デバイスの内部コンポーネントにアクセスすることが可能である。デバイスの製造プロセスの完了後、本発明の方法及びシステムが作動される。その後、デバイスの内部コンポーネントへの不正アクセスは許可されない。
【００１８】
本発明の一実施形態は、コンピュータ又はマイクロプロセッサ・タイプのシステムと共に用いるためのプログラムとして実装することができる。このプログラムは、（ここに記載される方法を含む）実施形態の機能を定め、種々の信号搬送媒体上に含ませることができる。例証となる信号搬送媒体には、これらに限られるものではないが、（ｉ）書き込み可能でない記憶媒体（例えば、ＣＤ−ＲＯＭドライブによって読み取り可能なＣＤ−ＲＯＭディスクのようなコンピュータ内の読み出し専用メモリデバイスのような）上に恒久的に格納された情報、（ｉｉ）書き込み可能な記憶媒体（例えば、ディスケット・ドライブ又はハードディスク・ドライブ内のフロッピー（Ｒ）ディスクのような）上に格納された書換え可能情報、及び（ｉｉｉ）コンピュータ又は無線通信を含む電話ネットワークなどを介する、通信媒体によってコンピュータに伝達される情報が含まれる。後者の実施形態は、具体的には、インターネット及び他のネットワークからダウンロードされた情報を含む。本発明の機能を指示するコンピュータ可読命令を伝えるとき、こうした信号搬送媒体が、本発明の実施形態を表す。
【００１９】
図１は、ウェハ又は基板１１１が、本発明の実施形態による外部試験モジュール１１０によって試験されることになる集積回路デバイス１２０を含む、例示的な製造構成１００を示す。試験モジュール１１０は、一般に、集積回路デバイス１２０において試験シーケンスを開始するように構成されたハードウェア及び試験実行ソフトウェア１１２の何らかの適切な組み合わせを含む。１つの集積回路デバイス１２０だけが図１の実施形態に示されているが、集積回路デバイス１２０は、基板１１１上の多くのこのようなデバイス１２０の１つとすることができる。さらに、それぞれのデバイス１２０の１つ又はそれ以上を、試験モジュール１１０によって直列又は並列に試験することができる。さらに、図示されるように、ヒューズ・セグメント１４６をチップ上に配置することができ、或いは該ヒューズ・セグメント１４６を基板１１１上のデバイス１２０内で共有することもできる（すなわち、共通の「ヒューズボックス」を通して、プロセッサ・コアのパーソナライゼーションを達成することができる）。
【００２０】
各々の集積回路デバイス１２０は、一般に、試験インターフェース１４０を含む。試験インターフェース１４０は、外部試験モジュール１１０と通信するように構成され、そこから試験命令、試験データ文字列又はパターンなどを受信するように構成される。試験インターフェース１４０は、一般に、所定のアルゴリズム、処理シーケンス、又は制御スキームに従って、インターフェース１４０を通過する信号を制御するように構成された内部アクセス制御回路１４２を含む。試験インターフェースはまた、内部レジスタ１３０及び／又は不揮発性記憶素子１５０のような１つ又はそれ以上の内部メモリデバイスと通信状態にもある。不揮発性記憶素子１５０は、何らかのタイプの読み出し専用メモリ（ＲＯＭ）素子を含む何らかのタイプの不揮発性記憶素子、磁気ランダム・アクセス・メモリ（ＭＲＡＭ）を含む不揮発性再書き込み可能記憶素子、或いはアンチヒューズ又はレーザ・ブロン式ヒューズを含む電気的にプログラム可能なヒューズ（ｅＦＵＳＥ）のような何らかのタイプのヒューズを含むことができる。
【００２１】
不揮発性ストレージ１５０は、一般に、アクセス・コード１５４が内部に格納されている。幾つかの実施形態の場合には、アクセス・コード１５４を製造プロセスの一部として不揮発性ストレージ１５０内に格納することができる（例えば、試験の完了時に、テスター１１０が、アクセス・コードを該不揮発性ストレージに「書き込む」ことができる）。他の実施形態の場合には、デバイス１２０の製造時にアクセス・コードを格納することができる。いずれにせよ、製造者によって、対応する組のアクセス・コード１１４を維持することができる（例えば、テスター１１０、又は一般的に該テスター１１０にアクセス可能な他の記憶素子において）。このように、製造プロセスが完了した後、製造者がデバイス１２０にアクセスしたいと望むとき、すなわち該デバイス１２０が現場で故障に遭遇したとき、その特定のデバイス１２０に対応する格納されたアクセス・コード１１４と共に試験モジュール１１０を用い、該デバイス１２０を試験し、故障の原因を判断することができる。より具体的には、アクセス・コード１１４をインターフェース・アクセス制御回路１４２に送信し、該アクセス・コード１１４を格納されたアクセス・コード１５４と比較するように該インターフェース・アクセス制御回路１４２をプログラムすることができる。与えられたコード１１４が格納されたコード１５４と合致する場合には、制御回路１４２は、デバイス１２０すなわちレジスタ１３０の内部コンポーネントへのアクセスを可能にし、これにより現場で故障したデバイス１２０の分析が可能になる。アクセス制御回路１４２はさらに、外部から与えられたアクセス・コード１１４を受信し、外部から与えられた該コード１１４を内部に格納されたコード１５４と比較するように構成された１つ又はそれ以上のロック・レジスタ１４４を含むことができる。幾つかの実施形態の場合には、ロック・レジスタ１４４は、シフト・レジスタとして働く直接文字列のレジスタから構成できる。いずれにせよ、ロック・レジスタ１４４は、一般にインターフェース１４０を介してアクセス可能な内部レジスタと考えることができる。内部デバイスが内部レジスタ１３０とアクセスしようとするとき、アクセス制御回路１４２は、ロック・レジスタ１４４において受信したアクセス・コードを、不揮発性メモリ１５０内に格納された１つ又はそれ以上のアクセス・コード１５４と比較し、該レジスタへのアクセス権が与えられているかを判断する。
【００２２】
本発明の一実施形態において、集積回路デバイス１２０は、ｅＦＵＳＥのバンク又はアレイ１４６を含むことができる少なくとも１つのｅＦＵＳＥ１４６を含む。各々のｅＦＵＳＥ１４６は、一般に、デバイス１２０の製造プログラム及び試験プロセスが完了した後にプログラムされるプログラム可能素子を含む。ｅＦＵＳＥ１４６は、無傷の状態であるように、又は飛ばすようにプログラムされ、無傷のｅＦＵＳＥは、標準的なデバイス作動パラメータのもとで導電性であり、飛んだｅＦＵＳＥは、標準的なデバイス作動パラメータのもとで非導電性である。デジタル用途のための高又は正論理状態を生成するために、導通状態すなわち無傷の状態のｅＦＵＳＥ１４６を用いることができ、低又は負デジタル論理状態を表すために、飛んだ状態すなわち非導電状態を用いることができる。
【００２３】
ｅＦＵＳＥ１４６は、通常、一度だけプログラムすることができ、一般的に反転も再設定もできない電子的に制御可能又はプログラム可能なｅＦＵＳＥを表す。幾つかの実施形態の場合には、ｅＦＵＳＥを形成し、非特許文献１に記載されるように作動させることができる。ここに記載されるように、ｅＦＵＳＥ１４６の構造は、薄い（ほぼナノ構造の）抵抗層の上に被覆された薄い（同じくほぼ構造の）導電層のエレクトロマイグレーション特性に基づいている。薄い導電層には、電流が通り、この電流が温度勾配をもたらし、導電材料を抵抗材料の一端にマイグレートとさせる。このマイグレーションは、本質的に、導電層によって形成された電気回路を開け、これによりｅＦＵＳＥを飛ばすか又はプログラムする。
【００２４】
図２は、本発明の例示的なｅＦＵＳＥ１４６の断面図を示す。ｅＦＵＳＥ１４６は、一般に、上部窒化物層２０３と電気的に高抵抗のポリシリコン・ライン２０１との間に形成された導電性の金属ケイ化物２０２の層を含む。ｅＦＵＳＥ１４６を無傷の位置で示す図３の平面図に示されるように、ケイ化物２０２は、アノード２０４とカソード２０６との間に比較的薄い導電性ヒューズ・リンク２０８を形成することができる。このヒューズ・リンク２０８は、アノード２０４とカソード２０６の両端に所定の電圧を加えることによって（例えば、図５に示されるｅＦＵＳＥ制御論理３１０を用いて）、飛ばすことができる。正確な電圧及び露光時間は、様々な実施形態によって変わる。幾つかの実施形態の場合には、ケイ化物層２０２を通して約２００マイクロ秒間、約２．５−３．５ボルトで、約１０ミリアンペアの電流を駆動することにより、該ケイ化物層２０２及びポリシリコン・ライン２０１の温度が上がり、これにより温度勾配がもたらされる。エレクトロマイグレーション原理の結果として、温度勾配により、ケイ化物層２０２がポリシリコン・ライン２０１の一端に向けてマイグレートされるが、該ポリシリコン・ライン２０１が高温、真性、及導電性のままである限り、該ケイ化物層２０２を通る電流は持続される。温度勾配が、ケイ化物層２０２のエレクトロマイグレーションを強制的に完了させる、すなわちヒューズ・リンク２０８内のケイ化物２０２のバルクをポリシリコン層２０１に追いやり、図４に示される飛んだヒューズの非導電性空乏セクション２０９をもたらす。ケイ化物層２０２をポリシリコン・ライン２０１の一方の側にマイグレートさせることは、本質的に、標準的な作動条件下で一般的に抵抗性のポリシリコン・ライン２０１を横切って電気回路を開ける。エレクトロマイグレーション・プロセスが完了に近付くと、導電性ケイ化物２０４のない領域が、ポリシリコン・ライン２０１の一端に形成され、このことが、該ポリシリコン・ライン２０１を横切る導電性経路を切断するか又は飛ばすように働く。次に、コンポーネントが冷却され、ｅＦＵＳＥは、非連続的な導電性ケイ化物２０２のコーティングを有する高抵抗ポリシリコン・ラインを有した状態にされる（導電性ケイ化物層２０２は、ポリシリコン・ライン２０１の一端にマイグレートし、該ラインの反対端を露出したままにした）。導電性ケイ化物２０２のコーティングがないために、このことは、本質的に、ライン材料を横切って開回路又は飛んだｅＦＵＳＥの状態を生じさせる。本発明者は他の材料及び構成を有効に用い得ると認識しているので、特定の材料及び該材料の構成が図２乃至図４の例示的なｅＦＵＳＥ１４６に示されているが、本発明の実施形態は、これらの材料及び構成、或いは何らかの特定の材料又は構成に制限されることを意図しない。
【００２５】
ｅＦＵＳＥ１４６の構造が、ナノ構造のケイ化物層（導電材料）が上に適合されたナノ構造のライン材料（抵抗材料）だけを必要とする場合には、ｅＦＵＳＥ技術は、物理的サイズの要件の結果として、従来のレーザ・ヒューズが実際的でないナノテクノロジー・ベースのデバイスに用いるのに十分小さいものである。ｅＦＵＳＥはまた、従来のレーザ・ヒューズよりプログラムするのがより容易であり、よりチップ・フレンドリーでもある、すなわちｅＦＵＳＥ１４６は、一般に、実質的により多くの（光学的）エネルギー・レベルを必要とし、レーザ・ヒューズが飛んだときに有害な粒子をばらまくことが多い従来のレーザ・プログラム式ヒューズと比べると、該ｅＦＵＳＥ１４６をプログラムするのに相対的に低い（電気）エネルギーを必要とする。さらに、レーザ・ブロン式ヒューズは、一般に、製造中（例えば、ウェハ試験段階において）にのみプログラム可能であり、出荷後はプログラムすることができない。
【００２６】
当業者であれば、上述のように、ｅＦＵＳＥ１４６を最初に非導電状態にし、非導電（飛んだ）状態にプログラムすることができ、或いは代替的に、最初に非導電状態にし、導通状態にプログラムすることができる（後者のｅＦＵＳＥは、一般にアンチヒューズと呼ばれる）ことを理解するであろう。アンチヒューズは、一般に、絶縁体によって分離された２つの導体からなる。プログラミングは、絶縁体を通して導電トレースを形成し、導電素子への開路を変更することによって達成される。アンチヒューズの例は、全体が引用によりここに組み入れられる、同一出願人が所有する特許文献１に詳細に記載されている。
【００２７】
Ａ．デバイスの不正変更又はハッキングを防止するためのＥ−ＦＵＳＥ
図１を参照すると、ｅＦＵＳＥ１４６は、アクセス制御回路１４２と通信状態に配置することができる。本発明の一実施形態において、ｅＦＵＳＥ１４６は、試験インターフェース１４０のＩ／Ｏライン１６１とアクセス制御回路１４４との間に直列配置することができ、例えば、該試験インターフェース１４０と外部の世界との間で伝送される全ての信号が、Ｉ／Ｏライン１６１を介して、ｅＦＵＳＥ１４６を通して伝わることが必要とされる。この構成において、ｅＦＵＳＥ１４６は、デバイス１２０が製造者から出荷される前に飛ばすことができ、このことにより、試験インターフェース１４０を通してデバイス１２０の内部コンポーネントへのアクセスができなくなる。同様に、ｅＦＵＳＥ１４６は、試験インターフェース１４０の選択された入力ピンと直列配置することができる。この選択された入力ピンは、デバイス１２０（例えば、ＪＴＡＧインターフェース）内の特定の情報にアクセスするのに必要とされる所定のピンとすることができ、よって、ｅＦＵＳＥ１４６が飛ぶと、もはや情報への不正なアクセスが不可能になる。この構成において、試験インターフェース１４０への残りの入力又はピン、すなわち制限された情報又は機密情報にアクセスできないようにする試験手続きを行うために用い得るピンを依然として用いることができる。
【００２８】
本発明の別の実施形態において、ｅＦＵＳＥ１４６のバンクを、ロック・レジスタ１４４と通信状態にすることができる。ｅＦＵＳＥ１４６のバンクは、内部に格納されたアクセス・コード１５４を含むように、工場でプログラムすることができる。この構成において、ｅＦＵＳＥ１４６は、コード記憶素子として用いられる。しかしながら、ｅＦＵＳＥ１４６は、限られたアクセス、例えば、チップの起動時だけのアクセスのために構成することができるので、該ｅＦＵＳＥ１４６の構成により、ハッカーが内部アクセス・コード１５４にアクセスすることがより難しくなる。したがって、ハッカーは、ｅＦＵＳＥ１４６内に格納されたコードにアクセスする時、試行に失敗する度にチップを再起動する必要があり、一般に、時間制限のためにハッキングが実際的でないものになる。一方、従来の記憶素子の場合には、多くの場合、デバイスを再起動せずに、メモリデバイスにおいて多数の不正アクセス試行を送信することが可能である。
【００２９】
ここで図５を参照すると、幾つかの実施形態の場合、ｅＦＵＳＥ３０２１・・・３０２Ｎのバンクを用いて、アクセス・コード１５４（図１に示される）情報を格納することができる。示されるように、ｅＦＵＳＥ制御論理３１０をこうした実施形態に含め、例えば、製造プロセス及び／又は試験プロセス中に（図１に示される）テスター１１０から受信することができる（どのｅＦＵＳＥを飛ばすかを示す簡単なビット文字列とすることができる）ｅＦＵＳＥプログラミング・データによって示されるように、選択されたｅＦＵＳＥ３０２にブロー電圧（ＶＢＬＯＷ）を印加することによって、該ｅＦＵＳＥ３０２を飛ばすことを制御することができる。ｅＦＵＳＥ制御論理３１０はまた、ｅＦＵＳＥ３０２の状態を読み出すために用いることもでき、その後、これをレジスタ内にラッチするか、又はアクセス制御回路１４２（図１に示される）に伝送することができる。
【００３０】
この構成においては、必要に応じて、ｅＦＵＳＥ３０２内に含まれる安全アクセス・コード（又はいずれかの他のデータ）を変更又は更新することができる。飛んだｅＦＵＳＥ３０２を再プログラムすることはできないが、所望であれば、ｅＦＵＳＥ３０２のバンク内の他のｅＦＵＳＥ３０２を飛ばし、そこに格納された情報を変更することができる。しかしながら、デバイスへの攻撃を容易にするために、ハッカーがアクセス・コード１５４（図１に示される）を変更するのを防止するために、ｅＦＵＳＥ制御論理３０１、アクセス制御回路、及び／又はデバイスの他のコンポーネントによって、情報を変更する能力を厳密に制御することができる。この構成を用いて、製造プロセス中にチップが完全に開いた、アクセス可能な試験モードのままにすることができる（スムーズな試験及びチップ動作の分析を可能にするために）。次に、ｅＦＵＳＥがプログラムされた後（通常、製造プロセス及び試験プロセスが完了した後）、引き続いて、チップの制限された領域へのアクセスを実質的に制限するか又は排除して、ユーザ・レベルにおける不正変更又はハッキングを防止することができる。
【００３１】
本発明の別の実施形態においては、ハッキング試行を検知し、防止するために用いられる第１及び第２のタンパー・ビット（Ｎ番目のタンパー・ビットまで）を提供することができる。本発明のこの実施形態において、第１の不正アクセス試行が検知されたときに、第１のタンパー・ビット（ｅＦＵＳＥ）を飛ばすことができる。この第１のタンパー・ビットは、可能な不注意によるアクセス試行（例えば、ミス）を示すことができ、デバイスが機能し続けることを可能にする。しかしながら、別の不正アクセス試行の検知に応答して、第２のタンパー・ビット（ｅＦＵＳＥ）を飛ばすことができる。両方の（又はＮ個全ての）タンパー・ビット（ｅＦＵＳＥ）を飛ばす場合には、デバイス・コントローラが、該デバイスの機能を無効にすることができる。この実施形態において、デバイスには、一連の入力ビットによって使用可能にされる隠された式によって、レジスタから電子チップ識別（ＥＣＩＤ、Ｅｌｅｃｔｒｏｎｉｃ  Ｃｈｉｐ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）を読み取るアルゴリズムが与えられる。次に、モジュール・プログラム・ビットの製造者プログラミングを可能にするラッチが設定される。ユーザが、適切なＥＣＩＤ式なしにこうしたプログラミングを試みる場合、プログラミングにより、少なくとも１つのタンパー・ビットが開けられ、このことは、モジュール全体を動作不能にする（試行数に基づいて、製造者が悪意のあるハッキング試行を判断する）。
【００３２】
幾つかの実施形態の場合には、タンパー・ビットが開かれ（ｅＦＵＳＥを飛ばし）、デバイスの機能が無効にされると、ユーザは、デバイスを製造者に戻すことが必要とされる。製造者は、タンパー・ビットの状態を点検し、デバイスがハッキングされたかどうかを判断することができる。デバイスがハッキングされていない場合、又は製造者が、他の方法でチップを再び使用可能にすべきであると判断し、全てのタンパー・ビットがプログラムされたとは限らないと仮定する場合には、製造者は、不正変更の制御を次に最も高い順番のビットに再設定し、同じ不正変更制御アルゴリズムのもとで、デバイスをサービスに戻す。幾つかの実施形態については、タンパー・ビットは、二次的不正変更制御ユニット内に常駐させることができる（例えば、マルチチップ・パッケージの一部として）。こうした実施形態において、製造者は、不正変更制御ユニット全体を交換することができる。別の実施形態において、不正変更制御ユニット（チップ上又はチップ外の）は、製造者によって初期化（又は選択）することができる二次的な組の（又はそれ以上の）ユニットを有することができ、これにより不正変更状態が再設定される。幾つかの実施形態の場合は、ハッキング試行中に用いられる（スナップショット）ビット文字列を格納するために、ｅＦＵＳＥを用いることもでき、このことにより、デバイスに不正アクセスするためにハッカーがどのような方法で試みているかについての洞察が与えられる。
【００３３】
図６は、本発明の前述の不正変更制御の実施形態を実施するのに用いることができるハードウェア構成を示す。不正変更制御構成４００は、キー・デコーダ４０８に接続されたＥＣＩＤレジスタ４０２と、同じくキー・デコーダ４０８に接続されたキー・レジスタ４０６とを含む。キー・デコーダは、タンパー・ビットの選択、プログラムへの承諾、及びタンパー・ビットを飛ばすためのＩ／Ｏを含む。作動において、不正変更制御構成４００は、レジスタ４０２からＥＣＩＤを読み取る。次に、構成４００は、独自アルゴリズムに基づいてキーを形成するが、これは、該アルゴリズムが周知になったとしても、通常十分に複雑なものであり、低コスト環境において再プログラミングを達成するのは実際的でない。次に、構成は、計算されたキーを用いてキー・レジスト４０６を読み込み、関連したｅＦＵＳＥが再プログラムされる。
【００３４】
一般に、キー・レジスタ４０６は、通常、デバイス製造者及び顧客にだけに知られている文書化されていない又は登録されたレジスタである。ヒューズ・プログラミング操作が開始されたときに適切なキーが入力されない場合には、唯一起こるのは、タンパー・ビットが飛ぶことである。タンパー・ビット選択ラインは、第２の独立キーによって制御することができる。製造者のビット・カウントを待つ間にこのラインをアサートすることにより、第２の又は補助的なタンパー・ビットが選択されたことを示す更に別のヒューズが飛び、これによりハッキング状況が示され、デバイスの機能が使用不可にされる。
【００３５】
本発明者はまた、タンパー・ビットを特定の回数だけ変更できる不正変更防止システムを考える。これは、ＤＶＤ上の内容のコピーを防止するために、ＤＶＤ産業のような産業において認識される。この用途のためのシステムは、タンパー・ビット数の増加及び比較器に基づいたものとすることができる。タンパー・ビット数が特定のしきい値を超えたときに、プログラム能力が使用不可にされ、これにより、ＤＶＤ内容のコピーが実質的に減少する。
【００３６】
Ｂ．エンドユーザにおいて安全な製品状態を維持する
安全なアクセス・コード又はバージョン情報を格納するためにｅＦＵＳＥ（又は他の記憶素子）が用いられる本発明の実施形態においては、二次的な層のｅＦＵＳＥを用いて、アクセス・コード又はバージョン情報を不正アクセスから隔離することができる。例えば、図５に示されるｅＦＵＳＥのバンク３００のようなｅＦＵＳＥのバンク又はアレイは、図１に示される不揮発性記憶素子１５０を置き換えるために用いることができ、デバイス１２０についてのアクセス・コード又はバージョン情報を含むことができる。いったんデバイスが構築プロセスの特定の時点を通過すると、ｅＦＵＳＥのバンク３００を、書き込み不能に、又は外部デバイスからアクセスできないようにすることができる。このタイプのアクセス制御は、デバイスについてのアクセス・コード又はバージョン情報を含むｅＦＵＳＥのバンクへのアクセスを制御するように構成された、ｅＦＵＳＥのバッファ又は安全アクセス層（ヒューズ１４６が図１に示される、配置可能な第２のグループのｅＦＵＳＥ）を介して達成することができる。この構成において、いったんｅＦＵＳＥのバンク３００が安全な情報でプログラムされると、該安全な情報は、チップの通常の作動中にだけ読み取り可能であり、通常、ｅＦＵＳＥのバッファ又は安全層のために外部の世界から読み取ることはできず、このことは、アクセス・コード又はバージョン情報を含む安全なｅＦＵＳＥバンク３００の出力の状態が、デバイスを強制的に試験モードにするハッカーによって行われるスキャンにアクセスすることを防止する。必要に応じて、類似した情報を含む別のメモリデバイスへのアクセスを遮断するために、同様に二次的なｅＦＵＳＥバンク３００の使用を用いることができる。
【００３７】
図７は、デバイスが出荷された後に、デバイスの状態を確実に格納するように構成されたデバイスの実施形態を示す。通常集積回路デバイスであるデバイス５００は、デバイス・インターフェース５０４と通信状態のデバイス・コントローラ５０２を含む。コントローラ５０２は、通常、デバイス５００の他のコンポーネントの作動を制御するように働く。インターフェース５０４は、デバイスとの間で情報を伝えるように働く、すなわち外部デバイス又はコンポーネント５０８によって表される外部の世界と接続するように働く。一般に、コントローラ５０２及び／又はインターフェース５０４は、図５に示されるバンク３００に類似したｅＦＵＳＥバンクとすることもできる、１つ又はそれ以上のｅＦＵＳＥ５０６と通信状態にある。一般に、コントローラはまた、複数のデバイス・モジュール５１０とも通信状態にある。デバイス・モジュール５１０は、該デバイス５１０の機能ブロック、クロックのようなシステム・コンポーネント、マルチプレクサ、浮動小数点ユニット、デジタル信号プロセッサなど、或いは通常集積回路型デバイスに関連した他のコンポーネントを含むことができる。
【００３８】
デバイスが出荷された後に、デバイス５００の実施形態を用いて、デバイスの状態を確実に格納することができる。例えば、製造設備において、コントローラ５０２及びインターフェース５０４を介してｅＦＵＳＥのバンク５０６を所望のアクセス・レベルにプログラムすることができる。デバイス５００上又は該デバイス５００内のどの情報が外部デバイス５０８にアクセスできるかを調整するために、所望のアクセス・レベルを用いることもできる。例えば、デバイス５００のアクセス・レベルを、試験モード、出荷モード、機能モード、デバッグ・モード、又はデッド・モードに設定することができ、そこでは、各々のアクセス・レベルは、デバイスの内部コンポーネント又はモジュール５１０のアクセス可能性の固有の構成に対応する。試験モードにおいては、例えば、特定のｅＦＵＳＥ５０６を飛ばし（又は無傷の／飛ばされないままにし）、デバイスの走査チェーンの全てを外部デバイス・インターフェース５０４に接続し、外部の世界５０８にアクセスできるように、デバイス通信チャネルを設定することができる。デバイス製造のデバイス試験段階中に、試験モードが有用である。飛んだｅＦＵＳＥ５０６のシーケンスによって表される試験モードは、一般に、コントローラ５０２によるチップ又はデバイスの起動時に読み取られ、次に該デバイスの選択されたモードによって表される適切なモジュール５１０を使用可能又は使用不可にする。
【００３９】
製造プロセスにおいてデバイスを試験した後、二次的製造者に出荷するためにデバイス５００を構成するように、ｅＦＵＳＥ５０６をさらにプログラムすることができる（より多くのヒューズを飛ばすことができる）。試験モードに類似した方法で、デバイス５００が出荷モードのためにプログラムされるとき、デバイス５００の電源が入れられるとき、該デバイスは、ｅＦＵＳＥ５０６の状態を読み取り、これに応じて該デバイス５００を設定又は構成する。例えば、出荷モードは、デバイス５００の安全なメモリ（モジュール５１０の特定のもの）の全てについての走査チェーンが外部コンポーネント５０８に対してアクセス不能になるように該デバイス５００を構成することができ、これにより第２のパーティの製造者が、該デバイスの安全な部分（暗号キー、製品識別など）を見ることが防止される。
【００４０】
同様に、第２のパーティの製造者がデバイス５００をエンドユーザ製品にインストールすると、該デバイス５００を機能モードで構成するように、ｅＦＵＳＥ５０６をさらにプログラムすることができる。機能モードにおいて、例えば、デバイスの機能段階におけるこれらのレジスタのアクセス又は修正は、通常、ハッキング試行を示すので、一般的に、全てのレジスタ（モジュール５１０の特定のもの）が、試験モードにおいて利用可能であり、又は出荷モードはもはや利用できなくなる。
【００４１】
Ｃ．Ｅ−ＦＵＳＥを用いて、ハッキング試行に遭遇した時にデバイスを使用不可にする
図６を参照して前述したように、本発明の幾つかの実施形態において、ｅＦＵＳＥをアンチ・ハッキング手段として用いることができる。こうした実施形態において、チップ・コントローラ又はデバイス上の他のモジュールは、いつハッキング試行が行われたかを検知するように構成される。ハッキング試行が検知されたとき（又は、所定の数のハッキング試行が検知されたとき）、コントローラは、例えば、デバイスを前述のデッド・モードに置くなど、デバイスの種々の機能を制御する１つ又はそれ以上のｅＦＵＳＥを飛ばすように働くことができる。
【００４２】
例えば、図７に示されるデバイス５００で表すことができるゲーム・コントローラのために用いられるチップにおいて、ハッキング試行を最初に検知したとき、チップ・コントローラ５０２は、第１の検知をエラーの可能性として無視することができる。しかしながら、所定の期間内に第２のハッキング試行を検知した場合には、コントローラ５０２は、ハッカーがデバイス５００を脅かそうとしていると判断し、該デバイス５００内の１つ又はそれ以上のｅＦＵＳＥ５０６を飛ばすことができる。コントローラ５０２が飛ばしたｅＦＵＳＥ５０６は、通常、制御モジュールのような他のモジュールを通して、該デバイスの機能モジュール５１０の１つ又はそれ以上に直接的又は間接的に接続されており、これらは、デバイスの機能に最も重要なものである。このように、デバイス５００の主要な機能モジュール５１０の１つ又はそれ以上に関連してｅＦＵＳＥ５０６を飛ばすことで、該デバイス５００を動作不能いすることができる、すなわちｅＦＵＳＥ５０６を、例えば、デバイスのＩ／Ｏピン又は該デバイスのためのクロック・システムに直列接続することができる。したがって、本質的に、これらのコンポーネント又はピンに関連したヒューズ５０６を飛ばすことにより、該デバイス５００に電気が来なくなる。代替的に、例えば、チップの動作を減速させるためにデバイスの機能を部分的にだけ使用不可にするか、又はデバイス５００を所定の期間作動できなくするように、ハッキング試行の検知時に飛ばすｅＦＵＳＥ５０６を選択することができる。これは、ハッキング試行に遭遇したときに、製造者がデバイス５００を完全に使用不可にすることを望まなかった場合に、ハッカーに対する抑止力として働く。
【００４３】
本実施形態はまた、戻されたどのチップが未遂のハッキングを受けたかどうかを判断するために、製造者に対しても有用である。より具体的には、チップが動作不能として製造者に戻されたとき、製造者は、該チップ内のｅＦＵＳＥの状態を試験し、ハッキング試行に関連したｅＦＵＳＥが飛んだかどうかを判断することができる。アンチ・ハッキングｅＦＵＳＥが飛んでいた場合には、製造者は、チップがハッキング試行を受けたことを知り、該ハッキング試行のために該チップの交換を拒否する選択肢を有する。前述のように、システムに侵入しようとしてハッカーにより用いられるビット文字列を格納するために、ｅＦＵＳＥを用いることもできる。これらのビット文字列は、製造者が、実際に、ハッカーの分解工学試行を分解工学することを可能にする。
【００４４】
Ｄ．デバイスを出荷した後のデバイスの状態の修正
本発明の別の実施形態において、ｅＦＵＳＥを用いて、デバイスの状態又はバージョンを格納することができ、その後、該デバイスを交換することなく、それらを更新又は修正することができる。例えば、例えば、図６を参照すると、ｅＦＵＳＥバンク５０６をデバイス５００内に実装し、固有のデバイス状態を用いてプログラムすることができ、ここで、固有のデバイス状態は、デバイス構築プロセスの特定の部分に対応する。この実施形態において、デバイス５００の電源が入れられたとき、固有のデバイス状態が、例えばｅＦＵＳＥバンク５０６から、デバイス・コントローラ５０２によって読み取られる。デバイス・コントローラ５０２によって、ｅＦＵＳＥ５０６内に格納された固有のデバイス状態を使用し、デバイスの特定のモジュール５１０を作動させたり、停止させたりすることができる。この作動又は停止は、ｅＦＵＳＥバンク５０６で表される固有のデバイス状態に従ってデバイスを構成するために、特定のモジュール５１０へのクロック信号を終了させること、マルチプレクサの選択を終了させること、デバイスの特定機能に関連したＩ／Ｏラインを切断することなどを含むことができる。選択されたクロック信号、ｍｕｘｓ（マルチプレクサの選択）、Ｉ／Ｏラインなどの１つだけの作動により、製造者は、デバイス５００の各々のアプリケーションについて使用可能にされる又は作動される、該デバイス５００の特定のモジュール５１０（例えば、浮動小数点ユニット、ＳＲＡＭブロックなど）を選択することが可能になる。したがって、特定のアプリケーションの複雑さをサポートすることが必要とされる種々のモジュール又は部品は、ｅＦＵＳＥバンク５０６のプログラミングによって選択的に使用可能にできるので、製造者は、様々な複雑さの多数の用途に対して単一のデバイス又はチップを用いることができる。
【００４５】
さらに、続いて、デバイス５００がエンドユーザに到達した後に、固有のデバイス状態を格納するｅＦＵＳＥバンク５０６を修正し、該デバイス又はチップの能力をアップグレードすることができる。例えば、製造者がインターフェース５０４を通して固有のデバイス状態にアクセスすることができる。製造者は、第２の固有のデバイス状態をｅＦＵＳＥバンク５０６内にプログラムし、チップのデバイス状態を変更することができる。例えば、製造者は、１つ又はそれ以上の付加的なｅＦＵＳＥ５０６を組み込み、付加的なモジュール５１０又はデバイス５００の機能を作動させるように働く第２の固有のデバイス状態を生成することができ、これにより、該デバイス５００を置き換えるか、又は他の方法で該デバイスが関連するシステムから物理的に取り除くことなく、デバイスの能力がアップグレード又は改善される。
【００４６】
本発明の別の実施形態においては、所定の期間後、デバイス５００の状態を修正するために、ｅＦＵＳＥ５０６を用いることができる。この機能を用いて、例えば、ライセンス期間が終了した後にデバイスの機能を修正することができる（例えば、ｅＦＵＳＥバンクを用いて、「チップ・オドメータ」又は「オン／オフ・キー」の役割を引き受けることができる）。この実施形態において、チップ・コントローラ５０２は、所定の期間が終了した後、デバイス５００上の１つ又はそれ以上のｅＦＵＳＥ５０６を飛ばすようにプログラムされる。ｅＦＵＳＥ５０６は、ライセンスを受けた技術に関連するデバイス５００の重要なモジュール５１０の、例えば、クロック信号又はマルチプレクサ選択のような使用可能化機能に接続される。このように、コントローラ５０２がｅＦＵＳＥ５０６を飛ばすと、ライセンスに関連した機能が使用不可にされ、よって動作不能になるか、或いは機能が制限された作動モードに置かれる。次に、ユーザが実施料の支払いによって技術を再び使用可能にしたいと望む場合には、ここに述べられたように、ｅＦＵＳＥの状態を変更し、チップの機能又は状態をアップグレード又は更新する本発明の他の実施形態を介して、チップの機能を再び使用可能にすることができる。幾つかの実施形態の場合は、こうしたトランザクション（料金の支払い及びデバイスのアップグレード）を完全にリモートで実行することができる。例えば、インターネットに接続されたゲーム・システムを有するユーザは、インターネット・トランザクションを介して付加的な機能を購入することができる。購入が完了したときに自動的に開始されるｅＦＵＳＥを飛ばすことによって、付加的な機能を使用可能にすることができる。
【００４７】
Ｅ．デバイスのインストール後のデバイス・パラメータの修正
本発明の別の実施形態において、デバイスがエンドユーザに出荷され、作動状態になった後にデバイス・パラメータを修正するために、ｅＦＵＳＥを用いることができる。例として、集積回路デバイスは、時間が経つにつれて、環境によりもたらされる名目上の機能からの劣化を目にすることが多く、これにより、デバイスが最適レベルより低いレベルで実行されるようになる。従来の集積回路デバイスにおいては、デバイス・パラメータが劣化し始めると、修正することはできず、デバイスの性能が低下し始める。本発明のこの実施形態は、劣化するデバイス・パラメータの検知に応答して飛ばすことができる１つ又はそれ以上のｅＦＵＳＥを用いるものである、そこで、飛んだｅＦＵＳＥは、パラメータを最適作動レベルに戻そうとして、デバイス・パラメータを変更するように働く。ｅＦＵＳＥをオドメータ・モードで上述のように使用することもでき、例えば、内部生成されたより低いＶＤＤ又は異なるクロック速度で動作するように、ＣＰＵを構成する。言い換えれば、ｅＦＵＳＥを用いて、デバイスの入力刺激を制御することができ、デバイスのコントローラが特定のシーケンスを読み取る場合には、適切な動作が取られる。
【００４８】
本発明の実施形態を実装するように、図７に示される集積回路デバイス５００を構成することができ、そこで、ｅＦＵＳＥを用いて、デバイスがエンドユーザに出荷され、作動状態になった後にデバイス・パラメータを修正することができる。より具体的には、デバイス５００は、種々のシステム・パラメータを測定するように構成された１つ又はそれ以上のセンサ５１２を含むことができ、或いは代替的に、該デバイス５００は、外部に配置された１つ又はそれ以上のセンサ（図示せず）にアクセスすることができる。例えば、デバイス５００上のコンポーネント又は回路の電圧、該デバイス５００上のコンポーネント又は回路を通って流れる電流、該デバイス５００上のコンポーネント又は回路の温度、該デバイス５００内の、クロックのようなコンポーネントの周波数、及び測定可能な他のデバイス・パラメータを測定するように、センサ５１２を構成することができる。
【００４９】
この実施形態において、コントローラは、センサ５１２を監視するようにプログラムされる。センサ５１２の１つがデバイス・パラメータを検知し、該デバイス・パラメータが、環境の劣化を示すことをシステム・コントローラ５０２が判断したとき、該システム・コントローラ５０２は、１つ又はそれ以上のｅＦＵＳＥ５０６を飛ばし、劣化していると判断されるデバイス・パラメータに対応することができる。例えば、コンポーネントの温度を監視するように、センサ５１２の１つを構成することができる。コンポーネントの温度が、十分な時間だけ所望の温度を上回っていると判断される場合には、システム・コンポーネント５０２は、電圧又は電流を増大させ、ファン制御電圧又は電流に対応することができる。例えば、作動温度が通常の範囲内であることを温度センサが示すまで、ファン電流又は電圧を増大させることができる。次に、システム・コントローラ５０２は、起動時に該システム・コントローラ５０２によって読み取られるシステム・ファンに与えられた電圧又は電流に対応する１つ又はそれ以上のｅＦＵＳＥ５０６を飛ばすことができる。このことは、集積回路技術に対して有用であり、現場でのパラメータ修正能力は、他の場合には最大耐用年数の前にデバイスを使用不能にする環境悪化を補償することによって、該デバイスの耐用年数を拡張することができる。
【００５０】
その後、再びデバイスの電源が入れられ、コントローラがｅＦＵＳＥ５０６を読み込んで該デバイスの設定又は構成パラメータを判断するとき、ファン電圧又は電流に対応する飛んだｅＦＵＳＥ５０６は、ファンの冷却効果を増大させ、これにより過熱コンポーネントが所望の作動範囲に冷却される。特定の用途必要とするように、デバイスの電圧、周波数、電流、温度などを調整するために、このタイプの構成を用いることができる。さらに、ｅＦＵＳＥ５０６は、何度もプログラムすることができ、例えば、必要に応じて、付加的なヒューズを飛ばし、パラメータを何度も変更することができる。
【００５１】
このように、ここに記載される実施形態は、オドメータに類似した機能を実装する恒久的なｅＦＵＳＥを用いる適応システム・コントローラを提供するものである。ｅＦＵＳＥの恒久的性質のために（すなわち、ｅＦＵＳＥは一度だけプログラムすることができる）、オドメータは、引き返すことができないという固有の特性を有する。したがって、システムは、環境（外部）条件及び内在特性の両方に適応調整することができる。上述の例は環境に反応するが、例えば、デバイスのしきい値電圧、リング発振器の周波数、又は増幅器利得のような内在特性を監視するように、センサ５１２を構成することもできる。初期値を格納することができ、これらの値の所定のレベルへの低下を検知し、これを用いて、プログラムされることになる付加的なビットをトリガし、さらなる低下を最小に抑えるために更新された動作と共に新しい値を設定する、このように、コントローラは、自律的にシステム・パラメータを調整し、性能を適合させるように、ｅＦＵＳＥを用いることができる。コンポーネントは、ｅＦＵＳＥを用いて、システム・パラメータを調整し、自律的に性能を適合させることができる。異なるｅＦＵＳＥを飛ばすことによって、パラメータを何度も変更することができる。
【００５２】
幾つかの実施形態の場合には、例えば、向上した安全機能の一部として、特定の状況下で、ｅＦＵＳＥバンクを用いて、デバイスを無効に（部分的に又は完全に動作不能に）することができる。例えば、デバイスをアンチハッキング・モードに置く前に、特定の（例えば、ミッションクリティカルの）モジュールをシステムから取り除くかどうかを検知するための位置センサ又はモーション・センサとして、センサ５１２のようなセンサを用いることができ、不揮発性ラッチを設定できる。このラッチは、制御ビット機能にスクランブルをかけ、その部品を役に立たなくするか、又はデコイ経路（例えば、役に立たないビット文字列）を配置するように設計されるようにプログラムされるｅＦＵＳＥバンクをもたらす。こうしたプログラミングの前にこの部品を取り除くと仮定すると、次にデバイスの電源を入れたとき、ラッチが、こうしたｅＦＵＳＥプログラミングを生じさせる。
【００５３】
代替物として、高電圧スパイクをデバイス・コア内の種々の領域に送ることによって、デバイス論理をランダムに変更／使用不可にするために、ｅＦＵＳＥプログラミングを確立することができ、本質的に、機能している典型的な電界効果トランジスタ（ＦＥＴ）からアンチヒューズを生成する。こうしたアンチヒューズ（高電圧スパイクをＦＥＴにランダム又は擬似ランダムに適用することによって生成される）は、一般に、ハッカーに気付かれないが、デバイスの機能を役に立たなくする。幾つかの実施形態の場合には、比較的簡単なブートストラップ・コンデンサを用いて、ｅＦＵＳＥの起動に基づいてランダム・スパイクを送り出すことができる。高電圧スパイクのシーケンス（どのＦＥＴを飛ばすかを含む）を不揮発性メモリに格納し、これらの起動時に生成することができ、ハッカーが、電源切断又はチップの除去によってこれらの動作を回避することを防止する。
【００５４】
Ｆ．ｅＦＵＳＥとの制御コンポーネントの両立性
本発明の別の実施形態において、集積回路デバイス上のコンポーネントの両立性又は集積回路デバイスと通信状態にあるコンポーネントの両立性を制御するために、ｅＦＵＳＥを用いることができる。例えば、本発明の実施形態は、ｅＦＵＳＥバンクを用いて、ファン、電源、付加的なメモリ・コンポーネント、付加的なプロセッサ、及び通信デバイスのような外部システム・コンポーネントの部品番号及び制御パラメータを格納することができる。こうした作動パラメータは、壊れる可能性があるソフトウェア初期化（例えば、※．ｉｎｉ）ファイル内に便利に格納することができる。しかしながら、この実施形態において、ｅＦＵＳＥバンク内に格納される付加的な外部コンポーネントのこれらの作動パラメータ又は条件は、システム起動時に読み取ることができ、これらを用いて該システムを構成することができる。言い換えれば、ｅＦＵＳＥバンクの使用により、この情報を集積回路内に直接格納することが可能になる。
【００５５】
特定のチップと接続するコンポーネントが、チップ自体から構成命令を受信できるので、製造段階において固有のチップ部品番号ビンを有する必要性を排除するように、本発明のこの実施形態を用いることもできる。代替物として、チップは、ｅＦＵＳＥ内に格納された対応する作動情報に基づいて、１つ又はそれ以上の周辺デバイス（例えば、作動電圧又は速度）についての作動パラメータを設定することができる。いずれにしても、例えば、ここで部品「Ｘ」が部品番号１から１０までを表すことができ、これらの全てを部品ＡからＺまでと共に使用することができるので、本発明のこの実施形態は、固有の部品「Ｘ」を別の固有の部品「Ｙ」とだけ結合させる必要性を排除する。このように、本発明の実施形態は、部品番号の管理及び容易な達成の結果として、供給チェーンの問題を減らすことができる。
【００５６】
上記は、本発明の実施形態に向けられるが、本発明の基本的な範囲から逸脱することなく、本発明の他の及び更に別の実施形態を考えることができ、本発明の範囲は、上記の特許請求の範囲によって決定される。
【図面の簡単な説明】
【００５７】
【図１】本発明の一実施形態による、基板が、外部試験モジュールによって試験されることになる集積回路デバイスを含む例示的な製造構成を示す。
【図２】本発明の一実施形態による、例示的なｅＦＵＳＥの断面図を示す。
【図３】本発明の一実施形態による、無傷の状態又は導通状態にある本発明の例示的なｅＦＵＳＥの平面図である。
【図４】本発明の一実施形態による、飛んだ状態又は非導電状態にある本発明の例示的なｅＦＵＳＥの平面図である。
【図５】ｅＦＵＳＥのバンク及び関連した制御モジュールの概略図である。
【図６】本発明の一実施形態による、集積回路デバイスに用い得るデコーダ・モジュールの概略図である。
【図７】本発明の一実施形態による、例示的な集積回路デバイスの概略図である。
【符号の説明】
【００５８】
１１０：試験モジュール
１１１：基板
１１４、１５４：アクセス・コード
１２０、５００：デバイス
１３０：レジスタ
１４０：試験インターフェース
１４２：アクセス制御回路
１４６、３０２、５０６：ｅＦＵＳＥ
１５０：記憶素子
１５４：アクセス・コード
１６０：Ｉ／Ｏライン
３１０：ｅＦＵＳＥ制御論理
５０２：コントローラ
５１０：モジュール
５１２：センサ
【図１】
2006172451.tif 000003
【図２】
2006172451.tif 000004
【図３】
2006172451.tif 000005
【図４】
2006172451.tif 000006
【図５】
2006172451.tif 000007
【図６】
2006172451.tif 000008
【図７】
2006172451.tif 000009