(57)【要約】      （修正有）【課題】多目的ｅヒューズ・マクロの利用効率を向上するシステムおよび方法を提供すること。【解決手段】デバイスに、電子ヒューズをプログラムするほかに、ｅヒューズ・ラッチ２１０，２２０が補助データ３５０を格納できるようにするマルチプレクサ３００，３１０および選択ロジック３２０，３３０が含まれる。テスタが、ｅヒューズ要素２００をプログラムすることを望むとき、ｅヒューズ・コントローラ１４０がプログラム・データ２３０および制御データ２４０をｅヒューズ・ラッチ２１０，２２０に供給できるようになり、ｅヒューズ要素２００をプログラムする。デバイスが追加ストレージを必要とするときは、マルチプレクサ３００，３１０および選択ロジック３２０，３３０が、「補助データ」モード用に構成され、これによって、処理ユニット１２０がｅヒューズ・ラッチ２１０，２２０にデータを格納し、取り出すことが可能になる。【選択図】図３
2008091647.tif 000002
【特許請求の範囲】
【請求項１】
１つまたは複数のｅヒューズ・ラッチを含むｅヒューズ・マクロに対応するデバイス・モードを識別すること、
前記デバイス・モードが補助データ・モードであるかどうかを判定すること、
前記判定に基づいて、入力として補助データを選択するように、前記ｅヒューズ・ラッチに対応する１つまたは複数のマルチプレクサを構成すること、および
前記マルチプレクサを使用して、前記補助データを前記ｅヒューズ・ラッチに格納すること
を含む、コンピュータによって実施される方法。
【請求項２】
前記デバイス・モードがｅヒューズ・モードであることを検出すること、
前記検出に応答して、プログラム・データおよび制御データを含むｅヒューズ・データを前記ｅヒューズ・ラッチに供給するように、前記マルチプレクサを再構成すること、および
前記再構成されたマルチプレクサを介して前記ｅヒューズ・データを前記ｅヒューズ・ラッチに供給すること
をさらに含む、請求項１に記載の方法。
【請求項３】
ｅヒューズ・データの格納にも使用される前記ｅヒューズ・ラッチに前記補助データを格納することに対応する一時ストレージが必要であるかどうかを判定すること
をさらに含む、請求項１に記載の方法。
【請求項４】
前記ｅヒューズ・ラッチの出力を処理ユニットに供給するように選択ロジックを構成すること、
前記選択ロジックを介して前記ｅヒューズ・ラッチから前記処理ユニットに前記補助データを供給すること
をさらに含む、請求項１に記載の方法。
【請求項５】
前記ｅヒューズ・ラッチが、プログラム・ソリューション・ラッチおよびプログラム・イネーブル／データ・キャプチャ・ラッチを含む群から選択される、請求項１に記載の方法。
【請求項６】
前記デバイス・モードが、外部テスト・システムによって制御される、請求項１に記載の方法。
【請求項７】
前記方法が、ブロードバンド・プロセッサ・アーキテクチャを使用して実行され、前記ブロードバンド・プロセッサ・アーキテクチャが、複数の異種プロセッサと、共通メモリと、共通バスとを含み、
前記複数の異種プロセッサが、異なる命令セットを使用し、前記共通メモリおよび前記共通バスを共用する
請求項１に記載の方法。
【請求項８】
１つまたは複数のｅヒューズ・ラッチを含むｅヒューズ・マクロに対応するデバイス・モードを識別し、
前記デバイス・モードが補助データ・モードであるかどうかを判定し、
前記判定に基づいて、入力として補助データを選択するように、前記ｅヒューズ・ラッチに対応する１つまたは複数のマルチプレクサを構成し、
前記マルチプレクサを使用して、前記補助データを前記ｅヒューズ・ラッチに格納する
こと
をコンピュータに実行させるためのコンピュータ・プログラム。
【請求項９】
１つまたは複数のプロセッサと、
前記プロセッサによってアクセス可能なメモリと、
前記プロセッサによってアクセス可能な１つまたは複数の不揮発性ストレージデバイスと、
補助データを格納する補助データ格納ツールであって、
ｅヒューズ・マクロに対応するデバイス・モードを識別し、前記ｅヒューズ・マクロが、１つまたは複数のｅヒューズ・ラッチを含み、
前記デバイス・モードが補助データ・モードであるかどうかを判定し、
前記判定に基づいて、入力として補助データを選択するように、前記ｅヒューズ・ラッチに対応する１つまたは複数のマルチプレクサを構成し、
前記マルチプレクサを使用して、前記補助データを前記ｅヒューズ・ラッチに格納する
のに有効な補助データ格納ツールと
を含む情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、多目的ｅヒューズ（ｅＦｕｓｅ）マクロのシステムおよび方法に関する。具体的には、本発明は、電子ヒューズをプログラムするのにｅヒューズ・ラッチを使用するほかに、ｅヒューズ・ラッチに補助データを格納するためにマルチプレクサおよび選択ロジックを構成するシステムおよび方法に関する。
【背景技術】
【０００２】
技術が進歩するにつれて、新しいプロセス技法および設計技法が設計可能性を広げると同時に、より古い技術の再利用を制限し、これは、金属ヒューズにあてはまる。歴史的には、金属ヒューズは、カスタマイズされたデータを格納し、シリコン欠陥の修理解決策を提供するために使用された。金属ヒューズは、全体的なデバイス面積に対してわずかな面積を必要とするに過ぎず、レーザを使用して機械的にプログラムされた。現在、金属ヒューズは、レーザ・プログラムの最小サイズ要件に起因して、デバイス・テクノロジと共にスケーリングすることができないので、デバイスの面積のかなり大きい比率を必要とする。金属ヒューズは、レーザのために直接的な「見通し線」視界をも必要とし、これが、物理設計方法論を複雑にする。というのは、金属ヒューズを重なる電力バスの下に配置することができないからである。
【０００３】
電気的にプログラムされるヒューズすなわち「ｅヒューズ（ｅＦｕｓｅ）」の開発が、金属ヒューズに関連する多数の問題を解決した。ｅヒューズは、ポリシリコン・リンクとして製造され、金属ヒューズよりかなり小さい。ｅヒューズは、機械的依存性がより少ないので、プロセスが進歩するにつれてデバイス・テクノロジと共にサイズを縮小することもできる。さらに、ｅヒューズは、電気的にプログラムされるので、レーザから可視であることを必要とせず、したがって、重なる電力バスの下に配置することができる。
【０００４】
ｅヒューズ「マクロ」には、ｅヒューズ「要素」およびｅヒューズ「ラッチ」が含まれる。ｅヒューズ要素には、電子ヒューズが含まれ、ｅヒューズ・ラッチには、プログラム・ソリューション・ラッチ（ｐｒｏｇｒａｍ  ｓｏｌｕｔｉｏｎ  ｌａｔｃｈ）およびプログラム・イネーブル／データ・キャプチャ・ラッチ（ｐｒｏｇｒａｍ  ｅｎａｂｌｅ／ｄａｔａ  ｃａｐｔｕｒｅ  ｌａｔｃｈ）が含まれる。ｅヒューズ・ラッチは、ｅヒューズ・コントローラからプログラム・データおよび制御データを受け取り、そのプログラム・データおよび制御データをｅヒューズ要素に供給し、これらのデータが電子ヒューズをプログラムする。見つかった課題は、デバイスが、ｅヒューズ要素プログラミング中にｅヒューズ・ラッチを使用するが、他のデバイス・モードの動作中に、ｅヒューズ・ラッチが使用されなくなり、これがリソースの浪費をもたらすことである。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
したがって、ｅヒューズ・ラッチがｅヒューズ要素をプログラムしておらず、更新していないときｅヒューズ・ラッチを効果的に利用するシステムおよび方法が必要とされている。
【課題を解決するための手段】
【０００６】
前述の課題は、電子ヒューズをプログラムするのにｅヒューズ・ラッチを使用するほかに、ｅヒューズ・ラッチに補助データを格納するためにマルチプレクサおよび選択ロジックを構成するシステムおよび方法を使用することによって解決されることが発見された。マルチプレクサおよび選択ロジックは、それぞれｅヒューズ・ラッチの入力および出力に結合され、マルチプレクサ制御信号を介して処理ユニットまたは外部テスタによって制御される。テスタが、ｅヒューズ要素のプログラムまたは更新を望むとき、マルチプレクサおよび選択ロジックは、「ｅヒューズ」モード用に構成され、これによって、ｅヒューズ・コントローラがｅヒューズ・ラッチにプログラム・データおよび制御データを供給できるようになり、これらのデータがｅヒューズ要素をプログラムする。デバイスが追加ストレージを必要とするときは、マルチプレクサおよび選択ロジックが、「補助データ」モード用に構成され、これによって、処理ユニットがｅヒューズ・ラッチにデータを格納し、取り出すことが可能になる。
【０００７】
ｅヒューズ・マクロには、ｅヒューズ要素および２つのｅヒューズ・ラッチが含まれ、この２つのｅヒューズ・ラッチは、プログラム・ソリューション・ラッチおよびプログラム・イネーブル／データ・キャプチャ・ラッチである。ｅヒューズ要素には、プログラム用の複数の電子ヒューズが含まれる。プログラム・ソリューション・ラッチおよびプログラム・イネーブル／データ・キャプチャ・ラッチには、ｅヒューズ・プログラム・データおよびｅヒューズ制御データをステージングする複数のラッチが含まれ、これらのデータが、ｅヒューズ要素をプログラムする。
【０００８】
ｅヒューズ要素をプログラムするか更新する時など、デバイスが「ｅヒューズ」モードのとき、マルチプレクサ制御信号が、ｅヒューズ・コントローラからのｅヒューズ・プログラム・データおよびｅヒューズ制御データを入力として選択するように入力マルチプレクサに指示する。一方のマルチプレクサが、ｅヒューズ・プログラム・データをプログラム・ソリューション・ラッチに供給し、他方のマルチプレクサが、ｅヒューズ制御データをプログラム・イネーブル／データ・キャプチャ・ラッチに供給する。マルチプレクサ制御信号は、選択ロジックも制御することができる。ｅヒューズ・モードでは、マルチプレクサ制御信号が、ｅヒューズ・ラッチの出力をｅヒューズ・コントローラに供給するように選択ロジックを構成し、ｅヒューズ・コントローラが、ｅヒューズ・ラッチの出力をテスタに渡し、テスタが、ｅヒューズ要素のプログラムを検証する。一実施形態では、処理ユニットが、マルチプレクサ制御信号を制御する。別の実施形態では、外部テスタが、ｅヒューズ・コントローラを介してマルチプレクサ制御信号を制御する。
【０００９】
デバイスがｅヒューズ・モードではなく、「補助データ」モードであるとき、デバイスは、プログラム・ソリューション・ラッチおよびプログラム・イネーブル／データ・キャプチャ・ラッチを使用して、補助データを格納することができる。たとえば、デバイスが、動作状態であり、後に構成データ内容を検証するためにｅヒューズ・ラッチにデバイス・レベル構成リング情報を格納することを望む場合がある。
【００１０】
補助データ・モードでは、マルチプレクサ制御信号により、入力として補助データを選択するようにマルチプレクサが構成される。マルチプレクサは、補助データを処理ユニットからプログラム・ソリューション・ラッチおよびプログラム・イネーブル／データ・キャプチャ・ラッチに供給し、これらのラッチが、結果として補助データを後の取出しのために格納する。マルチプレクサ制御信号は、選択ロジックも構成することができ、補助データ・モードでは、ｅヒューズ・ラッチの出力（すなわち、補助データ）を処理ユニットに供給するように選択ロジックを構成する。
【００１１】
前述は、要約であり、したがって、必要により、詳細の単純化、一般化、および省略を含む。その結果、当業者は、この要約が、例示的に過ぎず、いかなる形でも制限的であることを意図されていないことを理解するであろう。本発明の他の態様、発明的特徴、および利点は、請求項のみによって定義されるが、下で示す非制限的な詳細な説明から明白になる。
【００１２】
添付図面を参照することによって、本発明をよりよく理解でき、その多くの目的、特徴および利点が当業者に明白になる。
【発明を実施するための最良の形態】
【００１３】
次は、本発明の実施例の詳細な説明を提供することを意図されたものであって、本発明自体の制限と解釈してはならない。そうではなく、多くの変形形態を本発明の範囲に含めることができ、本発明の範囲は、この説明に添付された請求項で定義される。
【００１４】
図１は、デバイス内のｅヒューズ・マクロおよびｅヒューズ・コントローラを示す上位図である。図１には、処理ユニット１２０、メモリ１３０、ｅヒューズ・コントローラ１４０、およびｅヒューズ・マクロ１５０を含むデバイス１００が示されている。処理ユニット１２０に、ディジタル信号プロセッサ、マイクロコントローラ、またはマイクロプロセッサなどの処理コアが含まれる。メモリ１３０は、Ｌ２メモリなど、デバイス１００の内部のメモリである。
【００１５】
ｅヒューズ・コントローラ１４０およびｅヒューズ・マクロ１５０は、互いに一緒に働いて、デバイス１００に電子ヒュージング能力を与える。たとえば、テスタ１６０が、デバイス１００をテストし、メモリ１３０内の機能していない区域など、デバイス１００上の欠陥を識別するとき、テスタ１６０は、欠陥に対応するｅヒューズ・コントローラ１４０にプログラム・データおよび制御データを送る。この例を続けると、ｅヒューズ・コントローラ１４０は、そのプログラム・データおよび制御データを使用して、識別された欠陥を修理するために、ｅヒューズ・マクロ１５０に含まれる電子ヒューズ（ｅヒューズ要素）をプログラムする。
【００１６】
プログラム中に、ｅヒューズ・コントローラ１４０は、プログラム・データおよび制御データをｅヒューズ・マクロ１５０に含まれるｅヒューズ「ラッチ」に供給し、このｅヒューズ・ラッチが、電子ヒューズを含むｅヒューズ「要素」（やはりｅヒューズ・マクロ１５０に含まれ、ｅヒューズ・ラッチおよびｅヒューズ要素に関するさらなる詳細については、図２および対応する記述を参照されたい）をプログラムする。本発明がなければ、ｅヒューズ・コントローラ１４０がｅヒューズ要素をプログラムしたならば、デバイス１００は、その後、通常動作中にｅヒューズ・ラッチを使用することができない。
【００１７】
図２は、ｅヒューズ要素およびｅヒューズ・ラッチを含むｅヒューズ・マクロを示す図である。図２には、図１に示されたものと同一の、デバイス１００、ｅヒューズ・マクロ１５０、およびｅヒューズ・コントローラ１４０が示されている。ｅヒューズ・マクロ１５０に、ｅヒューズ要素２００および２つのｅヒューズ・ラッチが含まれ、この２つのｅヒューズ・ラッチは、プログラム・ソリューション・ラッチ２１０およびプログラム・イネーブル／データ・キャプチャ・ラッチ２２０である。ｅヒューズ要素２００に、プログラム用の複数の電子ヒューズが含まれる。プログラム・ソリューション・ラッチ２１０とプログラム・イネーブル／データ・キャプチャ・ラッチ２２０の両方に、プログラム・データおよび制御データを格納するのに使用される複数のラッチが含まれ、このプログラム・データおよび制御データが、ｅヒューズ要素２００をプログラムする。
【００１８】
ｅヒューズ・コントローラ１４０が、ｅヒューズ要素２００内の電子ヒューズをプログラムすることを望む場合に、ｅヒューズ・コントローラ１４０は、プログラム・データ２３０をプログラム・ソリューション・ラッチ２１０に送り、制御データ２４０をプログラム・イネーブル／データ・キャプチャ・ラッチ２２０に送る。プログラム・ソリューション・ラッチ２１０は、プログラム・データ２３０をｅヒューズ要素２００に供給し、プログラム・イネーブル／データ・キャプチャ・ラッチ２２０は、制御データ２４０をｅヒューズ要素２００に供給する。プログラム・データ２３０および制御データ２４０は、ｅヒューズ要素２００に含まれる特定のヒューズをプログラムするのに、お互いに一緒に使用される。テスタ１６０は、ｅヒューズ要素２００のプログラムを検証するために、ｅヒューズ・ラッチから（ｅヒューズ・コントローラ１４０を介して）スキャン・アウト２５０およびスキャン・アウト２６０を受け取る。前に述べたように、本発明がなければ、ｅヒューズ・コントローラ１４０がｅヒューズ要素２００をプログラムしたならば、デバイス１００は、通常動作中にプログラム・ソリューション・ラッチ２１０およびプログラム・イネーブル／データ・キャプチャ・ラッチ２２０を使用することができず、これがリソースの浪費をもたらす。
【００１９】
図３は、デバイスがｅヒューズ・ラッチを使用して補助データを格納できるようにする、ｅヒューズ・ラッチに結合されたマルチプレクサおよび選択ロジックを示す図である。図３には、デバイス１００、ｅヒューズ・コントローラ１４０、ｅヒューズ・マクロ１５０、プログラム・ソリューション・ラッチ２１０、プログラム・イネーブル／データ・キャプチャ・ラッチ２２０、およびｅヒューズ要素２００が含まれ、これらのそれぞれが、図２に示されたものと同一である。図３には、マルチプレクサ３００〜３１０および選択ロジック３２０〜３３０も含まれ、これらは、プログラム・ソリューション・ラッチ２１０およびプログラム・イネーブル／データ・キャプチャ・ラッチ２２０の入力および出力に結合される。マルチプレクサ３００〜３１０および選択ロジック３２０〜３３０は、デバイス１００が、ｅヒューズ・ラッチを使用して、１）ｅヒューズ要素２００を普通にプログラムし、２）ｅヒューズ・ラッチを使用して補助データを格納することを可能にする。
【００２０】
処理ユニット１２０は、図１に示されたものと同一であり、マルチプレクサ制御３４０によってマルチプレクサ３００および３１０を制御するマルチプレクサ制御ロジックまたはソフトウェア・コードを含む。デバイス１００が、ｅヒューズ要素２００をプログラムするか更新する時など、「ｅヒューズ」モードであるとき、マルチプレクサ制御信号３４０は、入力としてそれぞれプログラム・データ２３０および制御データ２４０を選択するようにマルチプレクサ３００および３１０に指示する。マルチプレクサ３００は、プログラム・データ２３０をプログラム・ソリューション・ラッチ２１０に供給し、マルチプレクサ３１０は、制御データ２４０をプログラム・イネーブル／データ・キャプチャ・ラッチ２２０に供給する。
【００２１】
マルチプレクサ制御信号３４０は、選択ロジック３２０および３３０も制御するが、これは、図を単純にするために図３に図示されていない。ｅヒューズ・モードでは、処理ユニット１２０は、スキャン・アウト２５０を介してプログラム・ソリューション・ラッチ２１０の出力をｅヒューズ・コントローラ１４０に供給するように選択ロジック３２０を構成し、スキャン・アウト２６０を介してプログラム・イネーブル／データ・キャプチャ・ラッチ２２０の出力をｅヒューズ・コントローラ１４０に供給するように選択ロジック３３０を構成する。ｅヒューズ・コントローラ１４０は、ｅヒューズ要素２００のプログラムを検証するために、スキャン・アウト２５０および２６０をテスト・システムに送る。
【００２２】
デバイス１００が、ｅヒューズ・モードではなく「補助データ」モードであるとき、処理ユニット１２０が、プログラム・ソリューション・ラッチ２１０およびプログラム・イネーブル／データ・キャプチャ・ラッチ２２０を使用して補助データを格納することができる。たとえば、デバイス１００は、動作状態であり、後に構成データ内容を検証するためにｅヒューズ・ラッチにデバイス・レベル構成リング情報を格納することを望む場合がある。
【００２３】
補助データ・モードでは、処理ユニット１２０は、入力として補助データ・イン３５０を選択するようにマルチプレクサ３００および３１０に（マルチプレクサ・コントロール３４０を介して）指示する。マルチプレクサ３００および３１０は、補助データ・イン３５０をそれぞれプログラム・ソリューション・ラッチ２１０およびプログラム・イネーブル／データ・キャプチャ・ラッチ２２０に供給し、これらのラッチは、処理ユニット１２０による後の取出しのためにこれを格納する。
【００２４】
上で述べたように、マルチプレクサ制御信号３４０を、選択ロジック３２０および３３０に接続することができる。補助データ・モードでは、処理ユニット１２０が、補助データ・アウト３６０を介してプログラム・ソリューション・ラッチ２１０の出力を処理ユニット１２０に供給するように選択ロジック３２０を構成し、補助データ・アウト３７０を介してプログラム・イネーブル／データ・キャプチャ・ラッチ２２０の出力を処理ユニット１２０に供給するように選択ロジック３３０を構成する。
【００２５】
図３に示された実施形態には、処理ユニット１２０が、特定の入力を選択するか特定の出力を供給するようにマルチプレクサを制御することが示されている。一実施形態では、マルチプレクサ３００〜３１０および選択ロジック３２０〜３３０は、デフォルトで「補助データ」モードにされ、ｅヒューズ・コントローラ１４０がｅヒューズ要素２００をプログラムするか更新することを望むとき構成をｅヒューズ・モードに変更する。もう１つの実施形態では、マルチプレクサ３００〜３１０および選択ロジック３２０〜３３０が、テスト・システムなどの外部コンポーネントによって制御される（外部マルチプレクサ制御に関するさらなる詳細に関しては、図４および対応する記述を参照されたい）。
【００２６】
図４は、ｅヒューズ要素プログラム中にｅヒューズ・ラッチへのデータの流れを制御する外部テスト・システムを示す図である。図４は、ｅヒューズ・モードについてマルチプレクサ３００〜３１０および選択ロジック３２０〜３３０を構成するときに関してテスタ１６０がｅヒューズ・コントローラ１４０に指示することを除いて、図３に似ている。テスタ１６０は、図１に示されたものと同一である。
【００２７】
一実施形態では、テスタ１６０は、デバイス１００の外部ピンのうちの１つを使用して、「ｅヒューズ」モードに入るようにｅヒューズ・コントローラ１４０に知らせることができる（たとえば、ローにプルする）。ｅヒューズ・モードでは、ｅヒューズ・コントローラ１４０は、マルチプレクサ制御信号３４０を使用して、マルチプレクサ３００および３１０に、それぞれのｅヒューズ・ラッチに供給し、したがってｅヒューズ要素２００をプログラムするか更新するためにそれぞれプログラム・データ２３０および制御データ２４０を選択するように指示する。この実施形態では、デバイス１００がテスタ１６０から結合解除されたならば、デバイス１００は、補助データ・モードに戻り、ｅヒューズ・コントローラ１４０は、マルチプレクサ３００および３１０に補助データ・イン３５０を選択するように指示する。したがって、処理ユニット１２０は、プログラム・ソリューション・ラッチ２１０およびプログラム・イネーブル／データ・キャプチャ・ラッチ２２０を使用してデータを格納することができる。マルチプレクサ制御信号３４０は、図３で説明したように、ｅヒューズ・モードまたは補助データ・モードについて選択ロジック３２０および３３０を構成することもできる。
【００２８】
別の実施形態では、テスタ１６０は、モード・ビットをｅヒューズ・コントローラ１４０に送ることができ、このモード・ビットが、マルチプレクサをｅヒューズ・モードで構成するようにｅヒューズ・コントローラ１４０に指示する。この実施形態では、テスタ１６０が、ｅヒューズ要素２００のプログラムまたは更新を終了したとき、テスタ１６０は、もう１つのモード・ビットをｅヒューズ・コントローラ１４０に送り、このモード・ビットが、マルチプレクサを補助データ・モードで構成するようにｅヒューズ・コントローラ１４０に指示する。
【００２９】
図５は、ｅヒューズ・ラッチに供給するために入力としてｅヒューズ・データまたは補助データを選択するようにマルチプレクサを構成する際に行われるステップを示す流れ図である。ｅヒューズ・ラッチは、電子ヒューズ・プログラミング中にｅヒューズ要素にｅヒューズ・データを供給し、ｅヒューズ・ラッチは、ｅヒューズ要素をプログラムするのに使用されないとき補助データを格納する。各ｅヒューズ・ラッチに結合されたマルチプレクサが、ｅヒューズ・ラッチに供給するためにｅヒューズ・データまたは補助データを選択する。
【００３０】
処理は、５００で開始され、その後、処理は、デバイスのモードを識別するが、デバイスのモードは、ｅヒューズ・モードまたは補助データ・モードである可能性がある（ステップ５１０）。ｅヒューズ・モードには、デバイスがｅヒューズ要素をプログラムしている時およびｅヒューズ要素を更新している時が含まれる。補助データ・モードには、デバイスが動作しており、ｅヒューズ・モードでない時など、ｅヒューズ・ラッチが補助データの保存に使用可能である時が含まれる。
【００３１】
デバイスがｅヒューズ・モードであるかどうかに関する判定を行う（判定５２０）。デバイスがｅヒューズ・モードである場合には、判定５２０は、「Ｙｅｓ」分岐５２２に分岐し、その後、処理は、ｅヒューズ・ラッチへの入力としてｅヒューズ・データを選択するようにマルチプレクサを構成する（ステップ５２５）。この時点で、ｅヒューズ・ラッチは、図１に示されたｅヒューズ・コントローラ１４０などのｅヒューズ・コントローラからデータを受け取ることができる。ｅヒューズ・コントローラがｅヒューズ・ラッチを介するｅヒューズ要素のプログラミングまたは更新を終了したかどうかに関する判定を行う（判定５３０）。ｅヒューズ・コントローラがｅヒューズ要素のプログラムまたは更新を終了していない場合には、判定５３０は「Ｎｏ」分岐５３２に分岐し、「Ｎｏ」分岐５３２は、ループ・バックして、ｅヒューズ・コントローラがｅヒューズ要素のプログラミングまたは更新を終了するのを待つ。このループは、ｅヒューズ・コントローラがｅヒューズ要素のプログラミングまたは更新を終了するまで継続され、その時点で、判定５３０は「Ｙｅｓ」分岐５３８に分岐し、その後、処理は、ｅヒューズ・データ入力を選択解除するようにマルチプレクサを構成する（ステップ５４０）。
【００３２】
デバイスがｅヒューズ・モードでない場合には、判定５２０は「Ｎｏ」分岐５２８に分岐し、その後、デバイスがストレージを必要とするかどうかに関する判定を行う（判定５５０）。たとえば、デバイスが動作しており、デバイスにデバイス・レベル構成リングがシフトされるときこれを格納することを望む場合がある。この例では、プロセッサが、デバイス・レベル・リング情報を使用して、後に構成データ内容を検証することができる。
【００３３】
デバイスがストレージを必要としない場合には、判定５５０は、「Ｎｏ」分岐５５８に分岐し、補助データ格納ステップをバイパスする。その一方で、デバイスがストレージを必要とする場合には、判定５５０は、「Ｙｅｓ」分岐５５２に分岐し、その後、処理は、ｅヒューズ・ラッチへの入力として補助データを選択するようにマルチプレクサを構成する（ステップ５６０）。この時点で、プロセッサは、補助データをｅヒューズ・ラッチに格納することができる。プロセッサが格納に関するｅヒューズ・ラッチの使用を終了したかどうかに関する判定を行う（判定５７０）。一実施形態では、プロセッサは、マルチプレクサがｅヒューズ・データを選択するように指示されるまで、デフォルトで補助データを選択するようにマルチプレクサをプログラムすることができる。
【００３４】
プロセッサが格納に関するｅヒューズ・ラッチの使用を終了していない場合には、判定５７０は、「Ｎｏ」分岐５７２に分岐し、「Ｎｏ」分岐５７２は、ループ・バックして、プロセッサが格納に関するｅヒューズ・ラッチの使用を終了するまで待つ。このループは、プロセッサが格納に関してｅヒューズ・ラッチを必要としなくなるまで継続され、その時点で、判定５７０が、「Ｙｅｓ」分岐５７８に分岐し、その後、処理は、補助データを選択解除するようにマルチプレクサを構成する（ステップ５８０）。一実施形態では、入力としてｅヒューズ・データを選択するように構成されるまで、デフォルトで入力として補助データを選択するようにマルチプレクサを構成することができる。
【００３５】
処理を継続するかどうかに関する判定を行う（判定５９０）。処理を継続しなければならない場合には、判定５９０は、「Ｙｅｓ」分岐５９２に分岐し、その後、処理がループ・バックして、デバイス・モードを監視し、それに従ってマルチプレクサを構成する。このループは、処理を終了しなければならなくなるまで継続され、その時点で、判定５９０は、「Ｎｏ」分岐５９８に分岐し、その後、処理が５９５で終了する。
【００３６】
図６は、本発明を実施することのできるコンピューティング・デバイスである、ブロードバンド・プロセッサ・アーキテクチャ（ＢＰＡ）のブロック図を示す図である。ＢＰＡ６００に、複数の異種プロセッサ、共通メモリ、および共通バスが含まれる。異種プロセッサは、共通メモリおよび共通バスを共用する、異なる命令セットを有するプロセッサである。たとえば、異種プロセッサの１つをディジタル信号プロセッサとすることができ、他の異種プロセッサをマイクロプロセッサとすることができ、この両方が同一のメモリ空間を共用する。
【００３７】
ＢＰＡ６００は、入出力６７０を介して外部デバイスとの間で情報を送り、受け取り、その情報をプロセッサ要素バス６６０を使用して制御プレーン６１０およびデータ・プレーン６４０に分配する。制御プレーン６１０は、ＢＰＡ６００を管理し、作業をデータ・プレーン６４０に分配する。
【００３８】
制御プレーン６１０に、処理ユニット６２０が含まれ、処理ユニット６２０は、オペレーティング・システム（ＯＳ）６２５を実行する。たとえば、処理ユニット６２０を、ＢＰＡ６００に組み込まれたパワーＰＣのコアとすることができ、ＯＳ６２５を、Ｌｉｎｕｘ（商標）オペレーティング・システムとすることができる。処理ユニット６２０は、ＢＰＡ６００の共通メモリ・マップ・テーブルを管理する。このメモリ・マップ・テーブルは、Ｌ２メモリ６３０などのＢＰＡ６００に含まれるメモリ位置ならびにデータ・プレーン６４０に含まれる非プライベート・メモリに対応する。
【００３９】
データ・プレーン６４０に、シナジスティック処理コンプレックス（Ｓｙｎｅｒｇｉｓｔｉｃ  Ｐｒｏｃｅｓｓｉｎｇ  Ｃｏｍｐｌｅｘ、ＳＰＣ）６４５、６５０、および６５５が含まれる。各ＳＰＣは、データ情報を処理するのに使用され、各ＳＰＣは、異なる命令セットを有することができる。たとえば、ＢＰＡ６００を無線通信システムで使用することができ、各ＳＰＣを、変調、チップ・レート処理、符号化、およびネットワーク・インターフェースなど、別々の処理タスクの責任を負うものとすることができる。もう１つの例で、各ＳＰＣが、同一の命令セットを有することができ、動作を実行するために並列に使用され、並列処理から利点を得ることができる。各ＳＰＣに、シナジスティック処理ユニット（ＳＰＵ）が含まれる。ＳＰＵは、ディジタル信号プロセッサ、マイクロコントローラ、マイクロプロセッサ、またはこれらのコアの組合せなど、単一命令複数データ（ＳＩＭＤ）プロセッサであることが好ましい。好ましい実施形態では、各ＳＰＵに、ローカル・メモリ、レジスタ、４つの浮動小数点ユニット、および４つの整数ユニットが含まれる。しかし、必要な処理能力に応じて、より多数またはより少数の浮動小数点ユニットおよび整数ユニットを使用することができる。
【００４０】
ＳＰＣ６４５、６５０、および６５５は、プロセッサ要素バス６６０に接続され、プロセッサ要素バス６６０は、制御プレーン６１０、データ・プレーン６４０、および入出力のＩ／Ｏ６７０の間で情報を渡す。プロセッサ要素バス６６０は、Ｉ／Ｏ６７０、制御プレーン６１０、およびデータ・プレーン６４０の間で情報を渡すオンチップ・コヒーレント・マルチプロセッサ・バスである。Ｉ／Ｏ６７０に、柔軟な入出力ロジックが含まれ、この入出力ロジックは、ＢＰＡ６００に接続された周辺デバイスに基づいて、インターフェース・ピンを入出力コントローラに動的に割り当てる。
【００４１】
ｅヒューズ・マクロ６８０およびｅヒューズ・コントローラ６９０が、プロセッサ要素バス６６０に接続され、電子ヒューズ機能およびストレージ機能をＢＰＡ６００に提供する。
【００４２】
図７に、本明細書で説明したコンピューティング動作を実行できるコンピュータ・システムの単純化された実施例である、情報処理システム７０１を示す。情報処理システム７０１に、プロセッサ７００が含まれ、プロセッサ７００は、ホスト・バス７０２に結合される。レベル２（Ｌ２）キャッシュ・メモリ７０４も、ホスト・バス７０２に結合される。ホスト−ＰＣＩブリッジ７０６が、メイン・メモリ７０８に結合され、キャッシュ・メモリおよびメイン・メモリ制御機能を含み、ＰＣＩバス７１０、プロセッサ７００、Ｌ２キャッシュ・メモリ７０４、メイン・メモリ７０８、およびホスト・バス７０２の間の転送を処理するバス制御を提供する。メイン・メモリ７０８は、ホスト−ＰＣＩブリッジ７０６ならびにホスト・バス７０２に結合される。ＬＡＮカード７３０など、プロセッサ７００だけによって使用されるデバイスは、ＰＣＩバス７１０に結合される。サービス・プロセッサ・インターフェースおよびＩＳＡアクセス・パススルー７１２が、ＰＣＩバス７１０とＰＣＩバス７１４の間のインターフェースを提供する。この形で、ＰＣＩバス７１４が、ＰＣＩバス７１０から分離される。フラッシュ・メモリ７１８などのデバイスが、ＰＣＩバス７１４に結合される。１実装で、フラッシュ・メモリ７１８に、さまざまな低いレベルのシステム機能およびシステム・ブート機能に必要なプロセッサ実行可能コードを組み込んだＢＩＯＳコードが含まれる。
【００４３】
ＰＣＩバス７１４は、プロセッサ７００およびサービス・プロセッサ７１６によって共用される、たとえばフラッシュ・メモリ７１８を含むさまざまなデバイスに関するインターフェースを提供する。ＰＣＩ−ＩＳＡブリッジ７３５は、ＰＣＩバス７１４とＩＳＡバス７４０の間の転送を処理するバス制御、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）機能７４５、ならびに電力管理機能７５５を提供し、リアルタイム・クロック（ＲＴＣ）、ＤＭＡ制御、割込みサポート、およびシステム管理バス・サポートなど、図示されていない他の機能要素を含むことができる。不揮発性ＲＡＭ７２０が、ＩＳＡバス７４０に接続される。サービス・プロセッサ７１６に、初期化ステップ中にプロセッサ７００と通信するＪＴＡＧ／Ｉ２Ｃバス７２２が含まれる。ＪＴＡＧ／Ｉ２Ｃバス７２２は、Ｌ２キャッシュ・メモリ７０４、ホスト−ＰＣＩブリッジ７０６、およびメイン・メモリ７０８にも結合され、プロセッサ、サービス・プロセッサ、Ｌ２キャッシュ、ホスト−ＰＣＩブリッジ、およびメイン・メモリの間の通信経路を提供する。サービス・プロセッサ７１６は、情報処理システム７０１をパワー・ダウンするためにシステム電源リソースにもアクセスすることができる。
【００４４】
周辺デバイスおよび入出力（Ｉ／Ｏ）デバイスを、さまざまなインターフェース（たとえば、ＩＳＡバス７４０に結合されたパラレル・インターフェース７６２、シリアル・インターフェース７６４、キーボード・インターフェース７６８、およびマウス・インターフェース７７０）に接続することができる。その代わりに、多数のＩ／Ｏデバイスに、ＩＳＡバス７４０に接続されたスーパーＩ／Ｏコントローラ（図示せず）によって対処することができる。
【００４５】
ネットワークを介してファイルをコピーするべく情報処理システム７０１を別のコンピュータ・システムに接続するために、ＬＡＮカード７３０が、ＰＣＩバス７１０に結合される。同様に、電話回線接続を使用してインターネットに接続するべく情報処理システム７０１をＩＳＰに接続するために、モデム７７５が、シリアル・インターフェース７６４およびＰＣＩ−ＩＳＡブリッジ７３５に接続される。
【００４６】
ｅヒューズ７９５は、本明細書で説明したｅヒューズ・マクロおよびｅヒューズ・コントローラを含み、情報処理システム７０１に電子ヒューズ機能およびストレージ機能を提供する。たとえば、サービス・プロセッサ７１６が、構成データをプロセッサ７００に送ることができ、この構成データが、ｅヒューズ７９５に含まれるｅヒューズ・ラッチに格納される。
【００４７】
図６および図７で説明したコンピュータ・システムは、本明細書に記載のプロセスを実行することができるが、このコンピュータ・システムは、単に、コンピュータ・システムの１例である。当業者は、他のコンピュータ・システム設計が、本明細書に記載のプロセスを実行できることを理解するであろう。
【００４８】
本発明の好ましい実施形態の１つが、クライアント・アプリケーションすなわち、たとえばコンピュータのランダム・アクセス・メモリに常駐することのできる、コード・モジュール内の命令のセット（プログラム・コード）である。コンピュータによって要求されるまで、命令のセットを、別のコンピュータ・メモリ、たとえば、ハード・ディスク・ドライブ内または光ディスク（起こり得るＣＤ  ＲＯＭでの使用のために）もしくはフロッピ・ディスク（起こり得るフロッピ・ディスク・ドライブでの使用のために）内に格納することができ、あるいは、インターネットまたは他のコンピュータ・ネットワークを介してダウンロードすることができる。したがって、本発明は、コンピュータで使用されるコンピュータ・プログラム製品として実施することができる。さらに、説明されたさまざまな方法は、ソフトウェアによって選択的にアクティブ化されるか再構成される汎用コンピュータで便利に実施されるが、当業者は、そのような方法を、ハードウェアで、ファームウェアで、または必要な方法ステップを実行するように構成されたより専用装置で実行できることも認識するであろう。
【００４９】
本発明の特定の実施形態を図示し、説明してきたが、本明細書の教示に基づいて、本発明およびそのより広い態様から逸脱せずに変更および修正を行えることは、当業者に明白であろう。したがって、添付請求項は、その範囲に、本発明の真の趣旨および範囲に含まれるものとしてそのような変更および修正のすべてを含むべきである。さらに、本発明が、添付請求項のみによって定義されることを理解されたい。特定個数の構成要素の導入が意図される場合に、その意図が、請求項に明示的に示され、そのような明示がない場合に、そのような制限が存在しないことが、当業者によって理解されるであろう。非制限的な例として、理解を助けるために、添付請求項に、構成要素を導入するために前置きの句「少なくとも１つの」および「１つまたは複数の」の使用が含まれる。しかし、そのような句の使用は、同一の請求項に前置きの句「少なくとも１つの」および「１つまたは複数の」と「ａ」または「ａｎ」などの不定冠詞が含まれる時であっても、不定冠詞「ａ」または「ａｎ」による構成要素の導入が、そのように導入される構成要素を含む特定の請求項を唯一のそのような要素を含む発明に制限することを暗示すると解釈されてはならず、同一のことが、請求項での定冠詞の使用にもあてはまる。
【図面の簡単な説明】
【００５０】
【図１】デバイス内のｅヒューズ・マクロおよびｅヒューズ・コントローラを示す上位図である。
【図２】ｅヒューズ要素およびｅヒューズ・ラッチを含むｅヒューズ・マクロを示す図である。
【図３】デバイスがｅヒューズ・ラッチを使用して補助データを格納できるようにする、ｅヒューズ・ラッチに結合されたマルチプレクサおよび選択ロジックを示す図である。
【図４】ｅヒューズ要素プログラム中にｅヒューズ・ラッチへのデータの流れを制御する外部テスト・システムを示す図である。
【図５】ｅヒューズ・ラッチに供給するために入力としてｅヒューズ・データまたは補助データを選択するようにマルチプレクサを構成する際に行われるステップを示す流れ図である。
【図６】本発明を実施することのできるコンピューティング・デバイスを示すブロック図である。
【図７】本発明を実施することのできるコンピューティング・デバイスを示すもう１つのブロック図である。
【符号の説明】
【００５１】
１００  デバイス
１２０  処理ユニット
１３０  メモリ
１４０  ｅヒューズ・コントローラ
１５０  ｅヒューズ・マクロ
１６０  テスタ
２００  ｅヒューズ要素
２１０  プログラム・ソリューション・ラッチ
２２０  プログラム・イネーブル／データ・キャプチャ・ラッチ
２３０  プログラム・データ
２４０  制御データ
２５０、２６０  スキャン・アウト
３００、３１０  マルチプレクサ
３２０、３３０  選択ロジック
３４０  マルチプレクサ制御信号
３５０  補助データ・イン
３６０、３７０  補助データ・アウト
６００  ＢＰＡ
６１０  制御プレーン
６２０  処理ユニット
６２５  オペレーティング・システム（ＯＳ）
６３０  Ｌ２メモリ
６４０  データ・プレーン
６４５、６５０、６５５  シナジスティック処理コンプレックス（ＳＰＣ）
６６０  プロセッサ要素バス
６７０  Ｉ／Ｏ
６８０  ｅヒューズ・マクロ
６９０  ｅヒューズ・コントローラ
７００  プロセッサ
７０１  情報処理システム
７０２  ホスト・バス
７０４  レベル２（Ｌ２）キャッシュ・メモリ
７０６  ホスト−ＰＣＩブリッジ
７０８  メイン・メモリ
７１０  ＰＣＩバス
７１２  サービス・プロセッサ・インターフェースおよびＩＳＡアクセス・パススルー
７１４  ＰＣＩバス
７１６  サービス・プロセッサ
７１８  フラッシュ・メモリ
７２０  不揮発性ＲＡＭ
７２２  ＪＴＡＧ／Ｉ２Ｃバス
７３０  ＬＡＮカード
７３５  ＰＣＩ−ＩＳＡブリッジ
７４０  ＩＳＡバス
７４５  ＵＳＢ機能
７５５  電力管理機能
７６２  パラレル・インターフェース
７６４  シリアル・インターフェース
７６８  キーボード・インターフェース
７７０  マウス・インターフェース
７７５  モデム
７９５  ｅヒューズ
【図１】
2008091647.tif 000003
【図２】
2008091647.tif 000004
【図３】
2008091647.tif 000005
【図４】
2008091647.tif 000006
【図５】
2008091647.tif 000007
【図６】
2008091647.tif 000008
【図７】
2008091647.tif 000009