(57)【特許請求の範囲】
【請求項１】
処理動作を実行するための複数の機能要素と、
前記複数の機能要素に含まれている欠陥機能要素を無効化し、非欠陥機能要素を選択的に有効化する機能要素構成コントローラであって、前記非欠陥機能要素は、前記欠陥機能要素からの情報を無視するように命じられる、該機能要素構成コントローラと、
前記選択的に有効化された機能要素にワークフローを分配し、前記無効化された機能要素ヘワークフローが分配されないようにするためのワークフロー制御要素と、を備える、
処理ユニット。
【請求項２】
前記複数の機能要素が、並列処理アクティビティを実行する、請求項１に記載の処理ユニット。
【請求項３】
前記並列処理アクティビティが、処理パイプラインに含まれる、請求項２に記載の処理ユニット。
【請求項４】
前記処理ユニットが、グラフィックス処理ユニットである、請求項１に記載の処理ユニット。
【発明の詳細な説明】
【関連出願】
【０００１】
本願は、本願と同一の所有者によって所有された同時係属中の２００３年９月１５日に出願された米国特許出願第６０／５０３，７１０号、２００３年１２月１８日に出願された米国特許出願第１０／７４０，７２１号、２００３年１２月１８日に出願された米国特許出願第１０／７４０，７２２号、２００３年１２月１８日に出願された米国特許出願第１０／７４０，７２３号、２００３年１２月１８日に出願された米国特許出願第１０／７４０，７７９号、および２００４年６月２３日に出願された米国特許出願第１０／８７６，３４０号の利益を主張する。これらは参照により本明細書に組み込まれる。
【技術分野】
【０００２】
本発明は、半導体製造の分野に関する。特に、本発明は、集積回路内の機能要素の動作特徴を動的に構成するためのシステムおよび方法に関する。
【背景技術】
【０００３】
電子システムおよび回路が近代社会の発展に及ぼしてきた貢献度は著しく、有益な結果を達成するために数々の用途において利用されている。デジタルコンピュータ、計算機、オーディーオ装置、ビデオ機器、および電話システムなどの多数の電子技術のおかげで、ビジネス、科学、教育、および娯楽のあらゆる分野において、データ解析およびデータ通信の生産性が高まり、コストが軽減されてきた。これらの有益な結果をもたらす電子システムは、集積回路を含むことが多い。誤った結果を生じないようにするために、非常に高い信頼性を備えた集積回路を利用することが望ましい。しかしながら、種々の機能性および性能の特性を備えた集積回路を設計し構築するのは困難である。さらに、集積回路を構築するための製造プロセスは、極めて複雑かつ資源集約型なものである。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
集積回路の製造は、コストがかかる資源集約型の作業であり、単一の集積回路ユニットには、多数の計算要素が含まれている。計算要素は、通常、非常に高い信頼性で種々のタスクを実行可能であることが要求される。様々な応用で、異なる性能レベルおよび機能性が要求されることが多い。従来、予め決められた機能性を与える所定の数の適切に機能する要素によって各ダイが作製されている。しかしながら、許容可能な信頼性で適切かつ効率的な機能性を与えることは困難であることが多い。例えば、多くの従来のアプローチでは、集積回路に含まれる欠陥要素はほとんどない状態かまったくない状態にする必要がある。
【０００５】
従来、集積回路は、多数のダイを含むウェハに製造され、各ダイは、多数の機能要素を有する集積回路を含む。所与のウェハから機能的に許容可能であるダイの数を、ウェハからの歩留まりと呼ぶ。所与の数のダイに対して、無駄をなくし、コストを削減し、効率的な製造時間を短縮するために、比較的高い歩留まりを維持することが望まれる。多数の要素を有する高性能ダイを備えたウェハの歩留まりは、非常に低くなることがある。
【０００６】
集積回路ダイ内での欠陥要素の発生の影響を軽減するために、メモリチップ製造業者によって用いられる１つの方法は、必要なものより多くの要素、例えばメモリセルを有するダイを製造することである。欠陥要素が存在すれば、その欠陥要素は切り離され、「余剰」要素の１つが利用される。このアプローチでは、通常、欠陥要素を取り替えた後でも「余剰」のままである要素を作製してしまい、貴重なダイ面積および資源が著しく無駄になってしまう。このような余剰要素は、機能性および／または採算がとれる生産性に寄与していない。最終的に、かなりの数のダイが、利用されることのない完全に良好な稼動能力を備えた多数の「余剰」要素を有することになる。
【０００７】
欠陥要素に対する取り組みの従来の別の試みは、特定の機能に関連する１つの機能要素が欠陥であれば、機能能力を取り除くことである。例えば、処理装置の浮動小数点加速要素に欠陥があれば、従来のリペア技術を用いて浮動小数点加速機能が取り除かれるか、または無効化され、処理装置は、非浮動小数点加速処理装置になる。さらに、最終的な成果物は、能力が限定され、完全な機能性を与えない（例えば、浮動小数点演算を実行できない）使用可能な集積回路となる。
【課題を解決するための手段】
【０００８】
本発明のシステムおよび方法により、集積回路の機能要素を構成できる。本発明のシステムおよび方法が、製造欠陥、互換特性、性能要求、およびシステムの健全性（例えば、適切に動作する要素数）を含む種々の要因に基づいて、集積回路のダイの機能要素の動作特性を柔軟に変更できる。本発明の１つの実施形態において、機能要素の動作挙動が解析される。この解析は、様々なレベルの構成の抽象化および要素の組織化（例えば、トポロジーインバージョン解析）で実行でき、複数の機能要素に対して並列に実行できる。動作特性の設定は、解析結果に基づいて決定される。１つの実施形態において、動作特性の設定は、様々なレベルの構成の抽象化および要素の組織化で決定される。動作特性の設定に応じて、機能要素の再構成プロセスが実行される。１つの例示的な実施において、機能要素の再構成プロセスは、指示された機能要素の再構成プロセスの変更が有効であるかを決定することと、機能要素の構成の変更を命令することと、機能要素の構成の変更に応じてワークフローの流れを変えることを含む。
【０００９】
グラフィカルユーザインタフェース（ＧＵＩ：ｇｒａｐｈｉｃａｌ  ｕｓｅｒ  ｉｎｔｅｒｆａｃｅ）を含む種々の使いやすい形式で、機能要素の構成に関する情報が提示され得る。１つの実施形態において、ＧＵＩは、様々なレベルの粒度と実時間で機能要素構築ブロックのパス状態またはフェイル状態を指示する。グラフィカルユーザインタフェースは、不完全なデカルト状態に分散されるはずであったトポロジーインバージョン情報を、ユーザが分かりやすい方法で提示し得る。また、グラフィカルユーザインタフェースにより、ユーザは、様々な機能要素動作挙動の解析機能および動作特性設定の決定機能と相互作用しやすくなり得る。例えば、グラフィカルユーザインタフェースにより、ユーザは、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節と相互作用しやすくなり得る。
【００１０】
１つの実施形態において、本発明の構成システムが、機能要素と、分配要素と、機能要素構成コントローラと、任意の収集要素とを含む。機能要素は、処理動作（例えば、グラフィックス処理動作、浮動小数点演算など）を実行する。分配要素は、ワークフロー情報（例えば、グラフィックス処理情報、浮動小数点処理情報など）を機能要素に分配する。機能要素構成コントローラは、機能要素の動作特性を構成する。収集要素は、機能要素からの出力または結果を「収集」し、共通の目的を達成する際に使用する動作の結果をまとめる。
【００１１】
１つの例示的な実施において、機能要素の動作特性の変更は、他の機能要素の変更と調和される。ワークフロースケジューリングおよび分配もまた、機能要素の動作特性の変更に基づいて調節される。例えば、機能要素構成コントローラは、動作特性設定を変更し、ワークフロー分配要素の変化の指示を与える。ワークフロー分配要素は、動作特性設定に基づいてワークフロースケジュールを変更する。例えば、ワークフローは、特定の機能要素へ向かったりあるいは離れたりするように変更される。
【００１２】
本発明のシステムおよび方法は、様々なテスト動作において利用され得る。チップがテストされ（例えば、ビルトインセルフテストに応じて）、チップの欠陥機能要素が特定される。テストは、プローブでまたは最終的なソートで並列に実行され得る。テストを並列に実行することで、コストの削減が図られ、迅速に結果が得られる。欠陥要素を無効化し、代替要素を有効化する本発明のビルトインセルフリペア（ＢＩＳＲ：ｂｕｉｌｔ  ｉｎ  ｓｅｌｆ  ｒｅｐａｉｒ）機能により、多数の柔軟性のある機能が得られる。例えば、欠陥機能要素を有する集積回路チップを復旧させることができ、１つの実施形態において、集積回路の製造におけるウェハの歩留まりが高まる。従来、欠陥機能要素を有する集積回路は破棄されており、結果的に、ウェハの生産コストがより小数の許容可能なダイの負担となっていた。１つの実施形態において、本発明のシステムおよび方法により、チップの基本的な機能を維持する方法でダイの欠陥機能要素が無効になる。
【００１３】
１つの実施形態において、遠隔位置にある集積回路の構成には、集中的リソースが利用される。リモート機能要素の構成アーキテクチャが、遠隔位置にある集積回路ダイに含まれる機能要素の構成を行う。１つの例示的な実施において、リモートリソースから再構成コードをリクエストするシステムにおいて、ダイ機能要素の再構成リクエストプロセスに着手される。コードリクエストは、リクエスタが再構成コードを受信する権限を有すること（例えば、リクエスタが必要な支払いをしていること、権限のあるシステムを有することなど）を指し示す再構成コード許可インジケータを含む。再構成コード生成プロセスが実行されると、再構成コードのリクエストおよび許可インジケータが受信され、許可インジケータの有効性が解析され、再構成コードが与えられる。適切な再構成コードがダイによって受信されると、ダイでダイ機能要素再構成プロセスが実行される。
【００１４】
本明細書に組み込まれ、その一部を形成する添付の図面は、本発明の実施形態を例示的かつ非制限的に示す。本明細書において参照する図面は、特段の記載がなければ、一定の比率で描かれたものではないことを理解されたい。
【発明の詳細な説明】
【００１５】
以下、本発明の好ましい実施形態を詳細に参照し、添付の図面にそれらの例を示す。本発明は、好ましい実施形態とともに記載するが、本発明をこれらの実施形態に限定するように意図していないことを理解されたい。むしろ、本発明は、特許請求の範囲に規定された本発明の趣旨および範囲内に含まれ得る代替物、修正物、および均等物に及ぶように意図している。さらに、本発明の以下の詳細な記載において、本発明を十分に理解してもらうために、多数の詳細事項が示されている。しかしながら、当業者であれば、本発明は、これらの詳細事項なしに実践されてもよいことは明らかであろう。他にも、本発明の態様を不要に分かりにくくしないように、周知の方法、手順、要素、および回路については記載していない。
【００１６】
コンピュータメモリ内のデータビットでの動作の手順、論理ブロック、処理、および他の記号表現の点で、以下の詳細な記述が提示されている部分がある。これらの記述および表現は、当業者にそれらの働きの本質を効果的に伝えるために、データ処理技術者によって一般に使用されている手段である。手順、論理ブロック、プロセスなどは、本明細書において、および一般に、所望の結果へと導くステップまたは命令の一貫したシーケンスであると考えられる。これらのステップは、物理量の物理的な操作を含む。通常、必須ではないが、これらの量は、格納、転送、結合、比較、およびコンピュータシステムにおける他の操作が可能な電気、磁気、光、または量子信号の形をとる。主に、一般的に使用されているという理由で、利便性から考えて、これらの信号をビット、値、成分、記号、文字、用語、数などとして参照することもある。
【００１７】
しかしながら、上記および同様の用語の全てが、適切な物理量に関連付けられ、これらの量に付与された都合のよいラベルにすぎないことに留意されたい。以下の記載から明らかなように、特段な言及がないかぎり、本願を通して、「処理（ｐｒｏｃｅｓｓｉｎｇ）」、「算出（ｃｏｍｐｕｔｉｎｇ）」、「計算（ｃａｌｃｕｌａｔｉｎｇ）」、「決定（ｄｅｔｅｒｍｉｎｉｎｇ）」、「表示（ｄｉｓｐｌａｙｉｎｇ）」などの用語を利用する記載は、物理（例えば、電子）量として表されるデータを操作および変換するコンピュータシステム、または同様の処理装置（例えば、電気、光、または量子コンピューティング装置）の動作およびプロセスをさすことを認識されたい。これらの用語は、コンピュータシステムの要素（例えば、レジスタ、メモリ、他のこのような情報格納、送信、または表示装置など）内の物理量を操作し、または他の要素内の物理量として同様に表される他のデータに変換する処理装置の動作およびプロセスをさす。
【００１８】
図１Ａは、本発明の１つの実施形態による集積回路１００のブロック図である。集積回路１００は、分配要素１１０と、機能要素構成コントローラ１２０と、収集要素１４０と、機能要素１３１、１３２、１３３、および１３４とを備える。分配要素１１０は、収集要素１４０に結合された機能要素１３１、１３２、１３３、および１３４に結合される。機能要素構成コントローラ１２０は、分配要素１１０、機能要素１３１、１３２、１３３、および１３４、および収集要素１４０に結合される。本発明の１つの実施形態において、集積回路１００の要素は、単一のダイに含まれる。集積回路１００の要素は、情報処理（例えば、データ操作）を実行するように協働して動作する。１つの例示的な実施において、集積回路１００の要素は、一般的な目的に関係する情報処理（例えば、画像生成に関連するグラフィックスパイプライン処理）を実行する。
【００１９】
分配要素１１０は、情報を機能要素１３１〜１３４（例えば、有効化された機能要素）に選択的に分配する。分配要素１１０が、種々の情報を分配し得ることを認識されたい。例えば、分配要素１１０が、ワークフロー情報を分配し得る。ワークフロー情報は、一般的な目的に関連した処理の情報またはデータであり得る。例えば、ワークフロー情報は、グラフィックス関連情報（例えば、情報ストリームの様々な部分が、連続して構成された画像ピクセルのピクセル情報を含む、単一の情報ストリーム）であり得る。１つの例示的な実施において、分配要素１１０は、ワークフロー情報またはデータ（例えば、グラフィックスデータ）の単一のストリームを受信し、ワークフロー情報を機能要素１３１〜１３４に分配する。例えば、単一の情報ストリームは、第１のピクセル、第２のピクセル、および第３のピクセルに関する情報を含み得る。分配要素１１０は、単一のピクセル情報ストリーム（例えば、パケットシーケンス）を受信し、第１のピクセルに関する情報（例えば、個々のパケットとして）を機能要素１３１に分配し、第２のピクセルに関する情報を機能要素１３２に分配し、第３のピクセルに関する情報を機能要素１３３に分配する。別の例示的な実施において、分配要素１１０は、浮動小数点計算に関する単一の情報ストリームを受信し、第１の浮動小数点計算に関する情報を機能要素１３１に分配し、第２の浮動小数点計算に関する情報を機能要素１３２に分配し、第３の浮動小数点計算に関する情報を機能要素１３３に分配する。１つの実施形態において、分配要素１１０はまた、複数の情報ストリームを受信し、その情報を機能要素１３１〜１３４に分配し得る。分配要素１１０がワークフロー情報の分配のほかにも様々な機能を提供し、またはタスクを実行する実施形態を含む種々の実施形態において、分配要素１１０が実施され得ることを認識されたい。
【００２０】
機能要素１３１〜１３４は、機能要素１３１〜１３４が異なる機能動作またはタスクを実行する種々の実施を含み得る。１つの実施形態において、機能要素１３１〜１３４は、同様の機能性を与える（例えば、並列動作を実行する）。例えば、１つの実施形態において、機能要素１３１〜１３４は、グラフィックス処理関係のタスク（例えば、シェーディング、テクスチャリング、オクルージョンカリングなど）を実行し得る。別の実施形態において、機能要素１３１〜１３４は、浮動小数点関係の処理を実行し得る。
【００２１】
収集要素１４０は、機能要素１３１〜１３４からの出力または結果を「収集」する。１つの実施形態において、収集要素１４０は、共通の目的を達成する際に使用する動作の結果をつなぎ合わせ、またはまとめる。例えば、収集要素１４０は、グラフィックスバッファへの通信結果をまとめ得る。別の実施形態において、収集要素１４０は、グラフィックスバッファである。さらなる別の実施形態において、収集要素１４０は、浮動小数点計算の結果をまとめ得る。
【００２２】
集積回路１００の要素はまた、機能要素の動作特性を柔軟に構成（例えば、機能要素の有効化／無効化、クロック速度の変更、動作電圧の変更など）するように協働して動作する。機能要素構成コントローラ１２０は、１つ以上の機能要素１３１〜１３４の動作特性（例えば、無効化／有効化など）の調節を制御し、調節に関して分配要素１１０および収集要素１４０に情報を提供し得る。例えば、機能要素構成コントローラ１２０は、機能要素を無効または有効（例えば、機能要素１３２を無効または有効）にし得る。機能要素構成コントローラ１２０は、機能要素１３２の動作特性の変更（例えば、機能要素の有効化、無効化など）を分配要素１１０に通知し得る。
【００２３】
分配要素１１０は、ワークフロー情報を分配する際に機能要素１３２の動作特性に関する情報を使用し得る。１つの実施形態において、分配要素１１０は、機能要素の構成を、機能要素への情報（例えば、処理用データを含むワークフロー）の分配に組み入れる。処理装置機能要素の１つが無効化されれば（例えば、欠陥であるという理由で）、分配要素１１０は、「ワークフロー」を取り扱うために、他の残りの処理装置機能要素に情報を分配する。例えば、機能要素１３２が機能要素構成コントローラ１２０によって無効化されれば、分配要素１１０には、機能要素１３２が無効であることが通知され、分配要素１１０は、他の機能要素（例えば、１３１、１３３、および／または１３４）にワークフローをルーティングし得る。機能要素１３２が、機能要素構成コントローラ１２０によって有効化されれば、分配要素１１０は、機能要素１３２が有効であることが通知され、分配要素１１０は、機能要素１３２へワークフローをルーティングし得る。分配要素１１０はまた、機能要素の性能構成（例えば、クロック速度）に基づいて、残りの有効機能要素に情報を分配し得る。１つの例示的な実施において、性能要求がより高いタスク（例えば、重要なタスク）が、性能特性または能力がより高い（例えば、より高速の）機能要素へルーティングされる。例えば、三次元（３Ｄ）グラフィックス情報が、高性能（例えば、高速の）グラフィックスパイプラインにルーティングされ、二次元（２Ｄ）グラフィックス情報が、より低い性能（例えば、より低速の）グラフィックスパイプラインにルーティングされ得る。１つの実施形態において、情報は、スコアボード式アルゴリズムに応じて分配される。
【００２４】
本発明の１つの実施形態において、機能要素構成コントローラ１２０は、機能要素１３１〜１３４の動作特性の変更を命じる。動作特性は、機能要素１３１〜１３４の性能に影響を及ぼし得る。例えば、機能要素構成コントローラ１２０は、機能要素１３１〜１３４の動作特性状態を変更し得る（例えば、機能要素を有効化または無効化する）。１つの例示的な実施において、機能要素構成コントローラ１２０は、（例えば、クロック周波数を変更することによって）機能要素が動作する速度を変え、および／または、（例えば、機能要素に供給される電圧を変更することによって）機能要素によって消費される電力を変え得る。例えば、機能要素構成コントローラ１２０は、機能要素１３１〜１３４に供給されるクロック信号の周波数を変更するようにクロックソース１３７に命じ、および／または、機能要素１３１〜１３４に供給される電力信号の電圧を変更するように電源１３８に命じ得る。
【００２５】
種々の機能要素と利用するために本発明が容易に適用可能であることを認識されたい。機能要素１３１〜１３４は、種々の異なる機能（例えば、浮動小数点、ピクセルシェーディング、バーテックスシェーディング、記憶、バッファリングなど）を与える機能ユニットであり得る。１つの例示的な実施において、機能要素は、実質的に同時に（例えば、同時に並列して）同様の動作を実行し得る。本発明の１つの実施形態において、機能要素は、アクティブな機能要素である。機能要素はまた、コアおよび／またはサブコアに組織化された多数の要素（例えば、特定の機能に関連するビルディングブロック）を含み得る。本発明の１つの実施形態において、コアまたはサブコアが、個々にテストおよび／または再構成され得る。例えば、本発明の再構成特徴に応じて、特定のコアが有効化および／または無効化され得る。
【００２６】
１つの実施形態において、機能要素は、処理ユニットに含まれた処理装置要素（例えば、浮動小数点要素、ピクセルシェーダ要素、バーテックス処理装置要素など）である。中央演算処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、グラフィックス処理ユニット（ＧＰＵ：ｇｒａｐｈｉｃｓ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、および／または内蔵処理ユニットを含む種々の処理ユニットにおいて、本発明が容易に実施され得ることを認識されたい。１つの例示的な実施において、処理ユニットは、処理装置機能要素（例えば、浮動小数点要素）にタスクを割り当てるためのスコアボード式アルゴリズムを含む。処理装置機能要素によって結果が処理されると、スコアボードは、処理装置機能要素によってどのオペランドが要求されているかをトラッキングし、それをスケジューリングする。ここの処理装置機能要素からの結果が組み合わされて、全体的な結果を与える。スコアボードは、機能要素の構成を、タスクのスケジューリングに組み入れ得る。例えば、処理装置機能要素の１つが無効化されれば（例えば、欠陥であるという理由で）、スコアボードは、処理ワークフローを取り扱うために、他の残りの処理装置機能要素を再スケジューリングする。
【００２７】
本発明は、パイプラインタイプ（例えば、ベクトルタイプ、スレッドタイプなど）の処理環境で実施され得る。図１Ｂは、本発明の１つの実施形態によるパイプライン集積回路１５０のブロック図である。パイプライン集積回路１５０は、機能要素がパイプラインである集積回路１００の１つの実施である。集積回路１５０は、分配要素１５１と、機能要素構成コントローラ１５２と、収集要素１５４と、パイプライン１７１、１７２、１７３、および１７４とを備える。パイプライン１７１、１７２、１７３、および１７４は、パイプライン動作を実行する（例えば、フェッチ、復号、命令の実行）。機能要素構成コントローラ１５２は、パイプライン１７１〜１７４の動作特性を制御するとともに、パイプライン１７１〜１７４の動作特性に関する情報（例えば、どの機能要素が無効化および／または有効化されるかに関する情報）を分配要素１５１および収集要素１５４に与える。動作特性の制御は、様々な粒度で実行され得る。例えば、個々の機能要素ベースで構成（例えば、有効化、無効化など）され得る各パイプライン内において複数の個々の機能要素（図示せず）を含み得る。
【００２８】
パイプライン集積回路１５０の要素は、集積回路１００の要素と同様に動作する。例えば、ワークフロー情報が、同様の方法で進路を変えられ、またはルーティングされる。機能要素構成コントローラ１５２は、機能要素１７１〜１７４の動作特性に関する情報（例えば、無効、有効、速度、電圧など）を分配要素１５１に与える。分配要素１５１は、動作特性情報に部分的に基づいて、パイプライン１７１〜１７４に情報を分配する（例えば、ワークフロー情報を有効な機能要素に分配し、無効な機能要素に分配しない）。収集要素１４０は、パイプライン１７１〜１７４の出力を「収集」する（例えば、つなぎ合わせ、またはまとめる）（例えば、グラフィックスバッファに格納するための結果をつなぎ合わせ、またはまとめる）。１つの実施形態において、機能要素構成コントローラ１５２は、機能要素１７１〜１７４に供給されるクロック信号の周波数を変更するようにクロックソース１７５に命じ、および／または機能要素１７１〜１７４に供給される電力信号の電圧を変更するように電源１７７に命じ得る。
【００２９】
種々の集積レベル（例えば、種々のダイ階層およびアーキテクチャ）で、本発明の集積回路が実施され得る。図１Ｃは、本発明のダイ階層の別の実施形態であるマルチプロセッサ集積回路１９０のブロック図である。マルチプロセッサ集積回路１９０の要素は、機能要素が処理装置であること以外、集積回路１００に類似している。マルチプロセッサ集積回路１９０は、分配要素１９１と、機能要素構成コントローラ１０２と、収集要素１９４と、処理装置１９５、１９７、１９８、および１９９とを備える。１つの実施形態において、処理装置１９５、１９７、１９８、および１９９は、単一のダイに含まれ、共通のキャッシュメモリに結合される。機能要素構成コントローラ１９２は、動作特性の調節（例えば、無効化／有効化）を処理装置１９５〜１９９の１つ以上に命じ、処理装置１９５〜１９９の動作特性を示す（例えば、処理装置が無効／有効であるかを示す）動作特性情報を分配要素１９１および収集要素１９４に与える。１つの例示的な実施において、集積回路１９０は、機能要素構成コントローラ１９２が処理装置（例えば、１９５、１９７、１９８、または１９９）を無効にしても完全な機能性を与える。
【００３０】
マルチプロセッサ集積回路１９０の要素は、集積回路１００の要素と同様に動作する。例えば、ワークフロー情報が、同様の方法で進路を変えられ、またはルーティングされる。機能要素構成コントローラ１９２は、機能要素の動作特性に関する情報（例えば、無効、有効、速度、電圧など）を分配要素１９１に与える。分配要素１９１は、処理装置１９５〜１９９に情報（例えば、ワークフローデータ）を分配する。この分配は、動作特性情報に部分的に基づく（例えば、ワークフロー情報を有効な機能要素に分配し、無効な機能要素に分配しない）。１つの例示的な実施において、収集要素１９４は、処理装置１９５〜１９９の出力を「収集」または格納するメモリ（例えば、共通のキャッシュ）である。１つの実施形態において、機能要素構成コントローラ１９２は、機能要素１９５〜１９９に供給されるクロック信号の周波数を変更するようにクロックソース１８１に命じ、および／または機能要素１９５〜１９９に供給される電力信号の電圧を変更するように電源１８２に命じ得る。
【００３１】
本発明の１つの実施形態において、性能と機能性とは区別される。場合によっては、本発明では、特定のタイプの機能またはタスクが異なる性能レベルで達成されてもよいが、この機能またはタスクが実行可能であるという意味で、動作特性を変更する場合に機能性は制限されない。１つの実施形態において、機能要素構成コントローラが、タスクの並列実行が可能な全ての機能要素を無効にしない。例えば、ダイが処理装置に２つの並列浮動小数点機能要素を有し、機能要素構成が、浮動小数点機能要素の１つの有効化特性または状態（例えば、無効）に変更されると、ワークフローは、残りの有効な浮動小数点機能要素に「再ルート」される。浮動小数点の働きの性能レベルは、ワークフローが２つではなく１つの浮動小数点機能要素によって取り扱われているために変化（例えば、低速化）することもある。しかしながら、それでもダイは、同一の機能性またはタスクを与える（例えば、浮動小数点機能を実行する）能力を有する。
【００３２】
本発明の１つの実施形態において、集積回路（例えば、集積回路１００、集積回路１５０、集積回路１９０など）には、性能能力（例えば、有効および／または無効の機能要素数）に対応する性能インジケータがマーキングされる。マーキングは、電子読み取り可能なマーキングおよび／またはインクマーキング（例えば、ダイ上）であり得る。マーキングは、集積回路の品質評価のインジケータであり得る。マーキングはまた、集積回路に関連する性能測定基準（例えば、処理速度、帯域幅など）に対応し得る。
【００３３】
機能要素構成コントローラ１２０、１５２、および／または１９２が、種々の目的に応じて機能要素の変更を命じ得ることを認識されたい。例えば、機能要素構成コントローラが、歩留まりの問題、互換性の問題、性能の問題、システムの「健全性」の問題などに基づいて、機能要素の動作特性を変え得る。また、機能要素構成コントローラ１２０、１５２、および／または１９２が、ソフトウェアプログラマブルレジスタまたはマスク、ハードコードされたマスクなどを含む、目的を達成するための種々の実施を含み得ることを認識されたい。
【００３４】
１つの実施形態において、機能要素構成コントローラ（例えば、１２０、１５２、および／または１９２）が、歩留まりの問題に取り組むために、機能要素の動作特性の変更を命じる。本発明は、集積回路製造におけるウェハの歩留まりを高めるという利点を有する。本発明のシステムおよび方法により、いくつかの欠陥機能要素を有する集積回路を復旧させることができる。従来、欠陥機能要素を有するダイは破棄され、結果的に、ウェハの生産コストがより少数の許容可能なダイの負担となっていた。本発明により、欠陥機能ユニットを有するダイを使用して、欠陥要素の無効が性能に影響を及ぼすことがあっても、同じタイプの機能を実行し、それによって、機能性を維持できる。ウェハ上の有用なダイの数が増えると、ウェハの生産コストを負担する許容可能なダイの数がより多くなる。ウェハの一定の生産コストを負担するダイの数を多くすることによって、より安いコストでより少ない実行ダイが販売されたとしても、ダイ当たりのコストが軽減される。
【００３５】
本発明により、ダイの一部が異なる性能レベルで動作することがあっても、ダイの「復旧」が行われる。１つの例示的な実施において、破棄されていたはずのダイは、ダイが同じタイプのタスクを実行するという意味で同じ機能性を提供することができる。例えば、浮動小数点演算を実行可能な並列浮動小数点機能要素を有する処理装置が、１つの実施形態において、本発明が全ての並列浮動小数点要素を無効にせず、無効にした並列浮動小数点要素から残りの浮動小数点要素へワークフローを「再ルート」するため、浮動小数点演算を実行することができる。より多くの無効な要素を有するダイは、一部の並列要素が無効であるために、異なるレベル（例えば、より低速）でタスクを実行することもある。しかしながら、それでもダイは、同じ機能性を提供する（例えば、同じタスクを実行する）能力を有する。
【００３６】
１つの実施形態において、機能要素構成コントローラ（例えば、１２０、１５２、および／または１９２）が、製造テスト中、動作特性の変更（例えば、有効化、無効化など）を機能要素に命じる。例えば、機能要素構成コントローラ（例えば、１２０、１５２、または１９２）が、機能要素が欠陥であることをテストが示せば、機能要素（例えば、１３２、１７３、または１９８のそれぞれ）を無効化し、機能要素が欠陥でないことをテストが示せば、機能要素（例えば、１３１、１７４、１９７のそれぞれ）を有効化する。
【００３７】
本発明の１つの実施形態において、機能要素構成コントローラ（例えば、１２０、１５２、および／または１９２）が、「自己健全性」の問題に取り組むために、機能要素の動作特性の変更を命じる。１つの例示的な実施において、機能要素コントローラは、「フィールド」において、または製造業者からの初期出荷後に自己健全性の問題に取り組む。１つの例示的な実施において、集積回路が、フィールド「自己健全性」テストにおいて実行可能である。例えば、「自己健全性」テストで、欠陥機能要素であることが結果的に示されれば、機能要素構成コントローラ（例えば、１２０、１５２、および／または１９２）が、欠陥機能要素を無効にし、機能要素が無効であるという指示を分配要素（例えば、１１０、１５０、または１９１）に与える。本発明の１つの実施形態において、自己健全性テストは、国際電気電子技術者協会（ＩＥＥＥ：Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｉｃａｌ  ａｎｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｅｎｇｉｎｅｅｒｉｎｇ）の規格１１４９．１（ジョイントタスクアクショングループ（ＪＴＧＡ：Ｊｏｉｎｔ  Ｔａｓｋ  Ａｃｔｉｏｎ  Ｇｒｏｕｐ）テストとも呼ぶ）に準拠する。別の実施形態において、自己健全性テストは、システムの動作の完全性をチェックするための独自のテストである。さらなる別の実施形態において、フィールドでの「自己健全性」テストが、機能要素が欠陥ではないことを示せば、機能要素が有効化される。
【００３８】
さらなる別の実施形態において、欠陥機能要素として同様のタイプのタスクまたは機能を実行する有効化されていない非欠陥機能要素が利用可能であれば、有効化されていない非欠陥機能要素は、欠陥要素が無効化されれば有効化される。例えば、図１の集積回路１００は、欠陥でなかったとしても（例えば、市場細分化の理由などで）、機能要素１３１および１３２が有効状態であり、機能要素１３３および１３４を無効状態にして初期出荷され得る。フィールド自己健全性テストが、後に、機能要素１３２が欠陥状態になったことを示せば、機能要素コントローラ１２０は、機能要素１３２を無効にし、機能要素１３３を有効にでき、無効化されてなければ機能要素１３２に流されていたワークフローが、機能要素１３３に分配される（例えば、分配要素１１０によって）。従って、機能要素１３２を無効にすることで、実際には、機能要素１３２の欠陥に関連する問題がなくなる一方で、すでに無効化されている機能要素１３３を有効化することで、同じタイプの機能性またはタスクを同じ性能レベルでワークフローで実行でき、それによって、システムは効率的に「自己回復」する。
【００３９】
本発明の１つの実施形態において、機能要素構成コントローラ（例えば、１２０、１５２、および／または１９２）が、互換性の問題に取り組むために、機能要素の動作特性の変更を命じる。１つの実施形態において、グラフィックスアクセラレータに含まれる機能要素コントローラが、グラフィックスアクセラレータの特徴と互換性のあるチップセットを認識可能であり、それに応じて、グラフィックスアクセラレータの動作特性を変更する。例えば、機能要素構成コントローラが、グラフィックスパイプラインの動作特性を制御していれば、機能要素構成コントローラは、チップセットがサポートし、より多くの数のグラフィックスパイプラインの利用と互換性があれば、より多くの数のグラフィックスパイプラインを有効化し得る。例えば、グラフィックスアクセラレータおよびチップセットが、同じ製造業者によって製造され、グラフィックスアクセラレータに含まれる機能要素コントローラは、グラフィックスアクセラレータと同じシステムに含まれるチップセットを特定する信号を受信し得る。本発明の１つの実施形態において、ドライバによって互換性が確立され、機能要素コントローラが、それに応じて、機能要素の動作特性の変更を命じる。
【００４０】
本発明の１つの実施形態において、機能要素構成コントローラ（例えば、１２０、１５２、および／または１９２）が、性能問題に取り組むために、機能要素の動作特性の変更を命じる。１つの実施形態において、性能マスク４０は、性能問題に基づいて機能要素に動作特性の指示を与える。例えば、特定のアプリケーションが実行されており、所望のサポートされた機能要素動作特性が有効化される。アプリケーションがグラフィックスアプリケーションであれば、追加のグラフィックスパイプラインが有効化され、および／または既存のグラフィックスアプリケーションパイプラインのクロック速度が増大され得る。本発明の１つの実施形態において、システムのタイプは、性能動作変更に組み入れられ、例えば、モバイル装置において、節電するために性能は調節され得る。
【００４１】
異なる目的に応じて機能要素の変更を実施するために、種々の機能要素構成コントローラの実施形態が存在することを認識されたい。図１Ｄは、異なる目的を制御するために、本発明の１つの実施形態による機能要素コントローラによって利用されるマスクアレイ１０のブロック図である。マスクアレイの各マスクは、特定の動作目的に対応する。１つの例示的な実施において、マスクアレイ１０は、歩留まりマスク２０と、互換性マスク３０と、性能マスク４０と、自己回復マスク５０とを備える。１つの例示的な実施において、各列１１〜１８は、８つの機能要素の１つに関連付けられる。各セル（例えば、セル９９）は、動作特性設定値を含む。例えば、論理１の動作特性設定値が、機能要素の有効化、要素の高クロック速度、要素の高電圧レベルなどに対応し得る。逆に、論理０の動作特性設定が、機能要素の無効化、要素の低クロック速度、要素の低電圧レベルなどに対応し得る。本発明は、粒度の可変増分を有する動作特性設定（例えば、超高速、高速、中速、低速、超低速）に容易に適応可能であることを認識されたい。１つの例示的な実施において、マスクアレイ１０は、レジスタアレイに与えられる。
【００４２】
異なる目的またはマスクに優先度が割り当てられ得る。例えば、歩留まりマスク２０は、性能マスク４０より高い優先度で割り当てられ得る。この実施例において、セル９８の動作特性設定値は、セル９７の動作特性設定値を支配している。セル９８の設定値が、列１２に関連する機能要素が無効化されることを示せば、機能要素は、セル９７の設定値にかかわらず無効化される。マスクアレイ１０の値はまた、機能要素構成コントローラによって提供される動作特性設定を決定する際の種々の考慮すべき点を明らかにする種々のアルゴリズムにおいて利用され得る。
【００４３】
歩留まりマスク２０は、歩留まりの問題（例えば、欠陥）により無効化される機能要素の指示を与える。例えば、歩留まりマスク２０は、機能要素が製造欠陥を有すれば、機能要素を無効化させる動作特性設定値を含む。１つの例示的な実施において、ワークフローを取り扱い得る別の動作機能要素があれば、機能要素が無効化されてもよい。
【００４４】
互換性マスク３０が、互換性の問題に基づいて、機能要素に動作特性の指示を与える。例えば、特定の処理装置およびチップセットが、互いに識別を交換でき、識別の交換に基づき、互換可能にサポートされた機能要素動作特性が有効化され得る。本発明の１つの実施形態において、ドライバによって互換性が確立され、対応する動作特性設定値が互換性マスク３０に入力される。
【００４５】
性能マスク４０は、性能問題に基づいて、機能要素に動作特性の指示を与える。例えば、特定のアプリケーションが実行されており、性能マスク４０に値が入力されて、対応する所望のサポートされた機能要素動作特性を有効化する。アプリケーションがグラフィックスアプリケーションであれば、追加のグラフィックスパイプラインが有効化され、および／または既存のグラフィックスアプリケーションパイプラインのクロック速度が増大され得る。本発明の１つの実施形態において、システムのタイプは、性能動作変更に組み入れられ、例えば、モバイル装置において、性能マスク４０に入力された値が、節電するように性能調節を命じ得る。例えば、無効／有効機能要素、調節速度、電圧などを含む、機能要素の動作特性の変更を命じる。
【００４６】
自己回復マスク５０が、フィールドテスト問題に基づいて、機能要素に動作特性の指示を与える。例えば、機能要素の動作特性の変化を決定するために、テスト動作からの結果が利用される。１つの例示的な実施において、フィールドテストが、有効な第１の機能要素が欠陥であることを示す。第１の機能要素に関連付けられた自己回復マスクセルの動作特性設定値は、第１の機能要素が無効化されることを示すように変更され、無効化される第２の機能要素に関連付けられた自己回復マスクセルの動作特性設定値は、第２の機能要素が有効化されることを示すように変更される。第１および第２の機能要素のそれぞれの動作特性設定値を変更することによって、欠陥の第１の要素は無効化され、より多くの問題が生じなくなり、さらに、無効化された第２の機能要素を有効化すると、第２の機能要素は、第１の機能要素にルーティングされるはずだったワークフローを実行でき、従って、システムは、実際のところ、欠陥なく同じワークフローが実行可能であるという点で回復する。
【００４７】
図２は、本発明の実施形態が実施され得るコンピュータシステムの１つの実施形態である、コンピュータシステム２００のブロック図である。コンピュータシステム２００は、中央演算処理装置２０１と、メインメモリ２０２（例えば、ランダムアクセスメモリ）と、ノースブリッジ２０９およびサウスブリッジ２０５を有するチップセット２０３と、取り外し可能なデータ記憶装置２０４と、入力装置２０７と、信号通信ポート２０８と、ディスプレイ２２０に結合されるグラフィックスサブシステム２１０とを含む。コンピュータシステム２００は、コンピュータシステム２００の要素を通信可能に結合するためのいくつかのバスを含む。通信バス２９１（例えば、フロントサイドバス）が、チップセット２０３のノースブリッジ２０９を中央演算処理装置２０１に結合する。通信バス２９２（例えば、メインメモリバス）が、チップセット２０３のノースブリッジ２０９をメインメモリ２０２に結合する。通信バス２９２（例えば、拡張グッラフィックスポートインタフェース）が、チップセット２０３のノースブリッジをグラフィックサブシステム２１０に結合する。通信バス２９４〜２９７（例えば、ＰＣＩバス）が、チップセット２０３のサウスブリッジ２０５を取り外し可能なデータ記憶装置２０４、入力装置２０７、信号通信ポート２０８のそれぞれに結合する。グラフィックスサブシステム２１０は、グラフィックス処理装置２１１およびグラフィックスバッファ２１５を含む。
【００４８】
コンピュータシステム２００の要素は、多用途の機能性および性能を与えるように協働して動作する。コンピュータシステム２００に含まれた機能要素の動作特性は、動的に変化し得る。１つの例示的な実施において、コンピュータシステム２００の要素は、コンピュータシステム２００に含まれる機能要素の一部が欠陥であっても、所定のタイプの機能性を与えるように協働して動作する。通信バス２９１、２９２、２９３、２９４、２９５、および２９７が、情報を通信する。中央処理装置２０１が、情報を処理する。メインメモリ２０２が、中央処理装置２０１の情報および命令を格納する。また、取り外し可能なデータ記憶装置２０４が、情報および命令を格納する（例えば、大きな情報蓄積場所として機能する）。入力装置２０６が、情報の入力および／またはディスプレイ２２０上での情報のポインティングまたはハイライト表示の機構を与える。信号通信ポート２０８が、外部装置との通信インタフェース（例えば、ネットワークとのインタフェース）を与える。ディスプレイ装置２２０が、フレームバッファ２１５に格納されたデータに応じて、情報を表示する。グラフィックス処理装置２１１が、中央処理装置２０１からのグラフィックスコマンドを処理し、ディスプレイモニタ２２０によって格納および呼び出すために、グラフィックスバッファ２１５に結果のデータを与える。
【００４９】
コンピュータシステム２００に含まれた機能要素の動作構成は、種々の目的に見合うように柔軟に適応可能である。例えば、コンピュータシステム２００に含まれる機能要素の動作構成は、機能要素の一部が無効化されても、あるタイプの機能の実行を維持するように構成可能である。１つの例示的な実施において、中央処理装置２０１およびグラフィックス処理装置２１１は、同じタイプの処理機能を実行可能であり、メインメモリ２０２は、機能要素の一部（例えば、浮動小数点要素、ピクセルシェーダ要素、メモリセル要素など）が無効化されても情報を格納する。１つの実施形態において、処理装置は、処理動作を実行するための複数の機能要素を含む。機能要素の動作特性は、変えられ得る。１つの実施形態において、処理装置は、処理動作を実行するための複数の機能要素を含み、複数の機能要素に含まれた欠陥機能要素が無効化される。処理装置はまた、ワークフローを有効な処理要素に供給し、無効な欠陥要素へワークフローを分配しないようにするためにワークフロー制御要素を含む。１つの例示的な実施において、コンピュータシステム２００は、性能レベルを落として（例えば、より低速に）機能性が与えられることがあっても、全機能性を与え続けることができる。
【００５０】
本発明が、種々の実施形態において実施され得ることを認識されたい。１つの例示的な実施において、本発明は、ビデオゲームを含む種々のグラフィックスアプリケーションを提供するように利用された処理システムにおいて利用され得る。例えば、本発明は、ゲーム機、パーソナルコンピュータ、パーソナルデジタルアシスタント、携帯電話、またはビデオゲームを実行するための任意の数のプラットフォームにおいて欠陥要素を無効化するために利用され得る。また、ビデオゲームアプリケーションの実施の参照は例示的であり、本発明はこれらの実施に限定されるものではないことも認識されたい。
【００５１】
図３は、本発明の１つの実施形態によるグラフィックスパイプライン３００のブロック図である。グラフィックスパイプライン３００（例えば、ピクセル処理パイプライン）が、パイプライン入力３１０と、バーテックス処理装置３１１〜３１４と、ラスタライザ３２０と、ピクセルシェーダ３２１〜３２４と、プレラスタ演算（ＲＯＰ）要素３３０と、ラスタ演算要素３３１〜３３４と、パイプライン出力３４０と、機能要素構成コントローラ３５０とを備える。機能要素構成コントローラ３５０は、パイプライン入力３１０と、バーテックス処理装置３１１〜３１４と、ラスタライザ３２０と、ピクセルシェーダ３２１〜３２４と、プレラスタ演算（ＲＯＰ）要素３３０と、ラスタ演算要素３３１〜３３４と、パイプライン出力３４０とに結合される。パイプライン入力３１０は、ラスタライザ３２０に結合されたバーテックス処理装置３１１〜３１４に結合される。ラスタライザ３２０は、プレラスタ演算要素３３０に結合されたピクセルシェーダ３２１〜３２４に結合される。プレラスタ演算（ＲＯＰ）要素３３０は、パイプライン出力３４０に結合されたラスタ演算要素３３１〜３３４に結合される。１つの実施形態において、グラフィックスパイプライン３００は、パイプライン集積回路１５０に類似している。例えば、パイプライン１５１は、バーテックス処理装置３１１と、ピクセルシェーダ３２１と、ＲＯＰ３３１とを含み、パイプライン１５２は、バーテックスプロッセッサ３１２と、ピクセルシェーダ３２２と、ＲＯＰ３３２とを含み、パイプライン１５３は、バーテックス処理装置３１３と、ピクセルシェーダ３２３と、ＲＯＰ３３３とを含み、パイプライン１５４は、バーテックス処理装置３１４と、ピクセルシェーダ３２４と、ＲＯＰ３３４とを含み、パイプライン入力３１０、ラスタライザ３２０、プレＲＯＰ３３０、およびパイプライン出力３４０は、パイプライン１５１〜１５４に共通したものであり得る。
【００５２】
グラフィックスパイプライン３００の要素は、パイプラインの機能要素の動作特性の一部が変更されたとしても（例えば、無効化／有効化）、グラフィックスパイプライン動作を実行するように協働して動作する。機能要素構成コントローラ３５０は、バーテックス処理装置３１１〜３１４、ピクセルシェーダ３２１〜３２４、および／またはラスタ動作要素３３１〜３３４の動作特性を変更し得る。機能要素構成コントローラ３５０は、機能要素の有効化／無効化、機能要素のクロック速度の変更、および／または機能要素への電圧供給の増大を含む動作特性に対して種々の変更を行い得る。機能要素構成コントローラ３５０は、歩留まりの問題（例えば、機能要素が欠陥であり、および／または欠陥要素に関連する）、互換性の問題、性能の問題、および／またはシステム「健全性」の問題を含む種々の理由で変更を行い得る。機能要素構成コントローラ３５０はまた、パイプライン入力３１０と、ラスタライザ３２０と、プレラスタ演算（ＲＯＰ）要素３３０と、パイプライン出力３４０とに対して、動作特性の変更に関する情報を与える。パイプライン入力要素３１０は、グラフィックスパイプライン情報を受信し、有効な状態のままのバーテックス処理装置３１１〜３１４に対応するパケット化されたグラフィックスパイプライン情報を分配する。バーテックス処理装置３１１〜３１４は、それぞれ受信したグラフィックスパイプライン情報にベクトルシェーディングを実行し、その結果の情報をラスタライザ３２０に転送する。ラスタライザ３２０は、どのピクセルをシェーディングするかを決定し、パケット化されベクトルシェーディングされたグラフィックスパイプライン情報をピクセルシェーダ３２１〜３２４に分配する。ピクセルシェーダ３２１〜３２３は、パケット化されベクトルシェーディングされたグラフィックスパイプライン情報にピクセルシェーディング計算を実行し、その結果をプレラスタ演算（ＲＯＰ）要素３３０に転送する。
【００５３】
１つの実施形態において、ピクセルシェーダ３２１〜３２４はまた、テクスチャ演算を実行し得る。テクスチャ演算は、テクスチャシェーダ要素（ピクセルシェーダに対応する）によって実行され得る。プレラスタ演算（ＲＯＰ）要素３３０は、ベクトルシェーディング情報を集め、パケット化されピクセルシェーディングされた情報をラスタ演算要素３３１〜３３４に分配する。ラスタ演算要素３３１〜３３４は、パケット化されピクセルシェーディングされた情報にさらなるラスタ化処理を実行し（例えば、色結合およびＺバッファ処理の実行）、その結果をパイプライン出力３４０に転送する。パイプライン出力３４０は、グラフィックスパイプライン情報をまとめて、単一の出力ストリームにする。代替的に、機能要素構成コントローラ３５０は、パイプラインの機能要素のそれぞれのレベルの間に位置するクロスバーまたはマルチプレクサ構造として与えられてもよい。
【００５４】
本発明はまた、複数の区分に分割されたフレームバッファインタフェースの部分に適用され得る。１つの例示的な実施において、フレームバッファインタフェースは、メモリと通信する機能要素として動作する複数の同様のモジュール（例えば、フレームバッファを構成するＤＲＡＭの一部分）を含む。モジュールの１つが欠陥であれば、そのモジュールは無効化でき、欠陥モジュールのワークロードは、別のモジュールに再び割り当てられる（例えば、モジュールに関連付けられたメモリアドレスの部分に基づいて）。例えば、メモリアドレスに対するフレームバッファインタフェースモジュールのマッピングは、メモリ全体がチップに対して利用可能であるようにリマッピングされる。
【００５５】
図４は、本発明の１つの実施形態による、機能要素構成プロセス４００のフローチャートである。機能要素構成プロセス４００は、集積回路において機能要素の柔軟な構成を行う。例えば、機能要素構成プロセス４００は、集積回路における機能要素の動作特性（例えば、有効、無効、変更速度、変更電圧など）の変更を命じる。機能要素構成プロセス４００が、種々の目的に応じて機能要素の動作特性を再構成するために（歩留まりを上げ、柔軟な性能を提供し、自己回復を行うなど）利用され得ることを認識されたい。１つの実施形態において、機能要素構成プロセス４００はまた、効率的な情報処理ワークフロー管理を行う。
【００５６】
ステップ４１０において、機能要素構成（例えば、動作特性）の変更トリガイベントの指示が受信される。本発明の１つの実施形態において、変更トリガイベントの指示は、機能要素コントローラ（例えば、１２０など）によって受信される。この指示は、変更すべき構成変更の指示（例えば、無効、有効、速度および電圧の増減など）を含み得る。１つの実施形態において、機能要素の構成変更トリガイベントは、集積回路の内部要素（例えば、内部テストシステム、ドライバ、アプリケーションなど）から受信する。機能要素の構成変更トリガイベントの指示はまた、集積回路の外部にある要素（例えば、外部テストシステム、インターネット、集中的構成システムなど）から受信し得る。
【００５７】
指示および構成変更トリガイベントが、種々の動作目的（例えば、アプリケーション、ペイパーユース、市場細分化など）に関連付けられ得ることを認識されたい。変更トリガイベントが、歩留まりの問題に関連付けられ得る。例えば、イベントは、欠陥機能要素を検出するテスト動作に関連付けられることができ、欠陥機能要素を特定する指示が受信される（例えば、機能要素コントローラによって）。本発明の１つの実施形態において、欠陥機能要素の指示は、テストシステムから受信される。例えば、国際電気電子技術者協会（ＩＥＥＥ）規格１１４９．１（ジョイントタスクアクショングループ（ＪＴＧＡ）テストとも呼ぶ）に準拠するテストシステムおよび／または独自の動作完全性テスト（例えば、独自のスキャンテスト機構）である。変更トリガイベントが、互換性の問題に関連付けられ得る。例えば、要素が所定の互換性を有することを指示する信号が受信される。変更トリガイベントが、性能問題に関連付けられ得る。例えば、新規および／または異なるアプリケーションがロードされていることを指示する信号が受信され、ペイパーユース許可が与えられ、および／または節電が望ましいモバイル装置に集積回路が含まれる。変更トリガイベントがまた、自己テストおよび回復の問題に関連付けられ得る。
【００５８】
ステップ４２０において、指示された機能要素構成変更（例えば、動作特性の変更）が有効であるかの決定がなされる。例えば、機能要素の許可された動作特性の決定がなされる。１つの実施形態において、ステップ４１０において受信した指示は、符号化されたビットストリームである。ビットストリームは復号化され、その結果得られた値は、機能要素構成変更をトリガするために、有効な許可であることが検査される。本発明の１つの実施形態において、符号化されたインジケータが解析される。この解析は、インジケータを復号することと、それを機能要素の異なる可能な動作特性設定の所定のリストと比較することとを含む。例えば、復号化されたインジケータの値は、許可されたトリガ指示または値の所定のリストの値と比較され、リストの値は、特定の動作特性設定に関連付けられる。
【００５９】
本発明の１つの実施形態において、機能要素構成変更アクションはまた、有効性がチェックされる。例えば、歩留まりおよび自己回復の問題に関連して、機能要素無効化を実行すると、１つの実施形態において、欠陥機能要素に進むはずだったワークフロー情報に同様の機能を実行し得る第２の機能要素（例えば、並列）があるかどうかの決定がなされる。例えば、欠陥機能要素が、複数の同様の機能要素の１つであるかどうかの決定がなされる。本発明の１つの実施形態において、欠陥要素のタイプは、同様の機能を与える複数の要素のリストと比較される。例えば、欠陥要素は特定され（例えば、ピクセルシェーダ、バーテックス処理装置、浮動小数点要素など）、特定された機能要素は、同じ機能性を与え得る他の同様の要素のリストと比較される。１つの例示的な実施において、他の同様の要素は、欠陥機能要素に対する並列の要素であるかを決定するために検査される。ワークフローを実行し得る第２の機能要素があれば、第１の機能要素は無力化され得る（例えば、第１の機能要素が欠陥であれば）。
【００６０】
ステップ４３０において、機能要素の構成の変更が命じられる。本発明の１つの実施形態において、機能要素の構成の変更（例えば、動作特性の変更）は、機能要素コントローラ（例えば、１２０、１５２、１９２など）によって命じられる。本発明の１つの実施形態において、機能要素の構成の変更（例えば、無効化、有効化など）は、機能要素の構成（例えば、動作特性）を制御する値（例えば、レジスタの）をプログラミングすることによって達成される。レジスタの値に基づいて、要素の構成（例えば、無効、有効など）を変更する機能要素に信号が送信される。１つの例示的な実施において、値はマスクにおいて構成される。機能要素の構成を変える（例えば、動作特性を変える）ための種々の本発明の方法があることを認識されたい。例えば、欠陥機能要素の無効化は、欠陥機能要素への通信ラインを止めることによって達成され得る。欠陥機能要素はまた、欠陥機能要素が確実にスプリアストラフィックを確保しない方法で無効化され得る。また、受信要素が、欠陥要素を通知され、欠陥機能要素からくる情報を無視するようにプログラミングされ得る。機能要素構成はまた、ソフトコード化方法によって変えられ得る。
【００６１】
１つの実施形態において、機能要素の進行中の動作がモニタリングされ、ステップ４３０の構成動作に組み入れられる。例えば、システム「健全性」はチェックまたはテストされ、その結果は、動作特性への変更を決定する際に利用される。例えば、第１の機能要素が自己診断テストに失敗すれば、機能要素は無効化され得る。第２の機能要素が利用可能であれば、第１の機能要素と「取り替える」ためにアクティブにされ得る。例えば、第２の機能要素が完全に良好に働くが、何らかの他の理由ですでに無効化されたものであれば、テストに失敗した機能要素と取り替えるために有効化され得る。１つの例示的な実施において、アプリケーションのアクティブ化がモニタされ、それに応じて、機能要素の動作特性が変えられる。例えば、高性能グラフィックスアプリケーションがアクティブにされれば、機能要素の動作特性は高まり（例えば、より高速なクロック設定）および／または追加の機能要素（例えば、追加のグラフィックスパイプライン）が有効化または無効化され得る。
【００６２】
また、システムの要素の変更（例えば、新しい要素の追加）がモニタリングされ、要素の変更に対応するために、動作特性が変更される。例えば、特定のタイプのグラフィックス処理装置が特定のタイプのチップセットに結合されれば、識別指示が伝達され、それに応じて、機能要素の動作特性が変えられ得る。識別により、互換性が予め決定され、強化された機能がサポートされる。１つの実施形態において、識別は符号化される。符号化することにより、動作特性設定の不当な変更を防ぐ。例えば、符号化により、機能要素の動作特性を不適切に低減しようとし、および／または特定が困難な複雑な障害を起こしかねない互換性の保証なしに動作特性を高めようとする試みからの保護が得られる。
【００６３】
本発明の１つの実施形態において、動作特性の変更は、機能要素の間で調整される。例えば、（例えば、同じパイプライン、スレッドなどで）変更された機能要素と緊密に関連する適切に動作する機能要素が変更され得る。１つの例示的な実施において、動作の変更は、製品の差別化を維持するために、機能要素間で調整される。例えば、より低い性能のチップが、１つ少ないピクセルシェーディング要素と、１つ少ないバーテックスシェーディング要素とを有するものとして指定されれば、ピクセルシェーディング要素とバーテックスシェーディング要素の両方は、製品の差別化を維持するために無効化され得る。
【００６４】
ステップ４４０において、ワークフローは、機能要素の変更に応じて進路を変えられる。例えば、ワークフローは、他の同様の機能要素に進路を変えられ得る。１つの実施形態において、ワークフローの変更は、構成の変更（例えば、有効化、無効化など）を、さもなければ変更された機能要素に情報を伝達するであろう要素に通知することによって達成される。例えば、機能要素コントローラ（例えば、１２０など）が、機能要素構成の変更（例えば、動作特性の変更）の指示を分配要素（例えば、１１０など）に与え、分配要素は、それに応じて、ワークフロー情報をルーティングする。例えば、第１の機能要素が有効化されれば、ワークフローは、第１の機能要素へルーティングされ、またはスケジューリングおよび転送される。第１の機能要素が無効化されれば、ワークフローは、別の有効な機能要素へルーティングされ、またはスケジューリングされる。
【００６５】
１つの例示的な実施において、ワークフローは、より高速または低速の機能要素に進路を変えられ、またはルーティングされる。例えば、ワークフローのコンテンツが解析され、より高性能のアクティビティに関連するワークフローの一部が、より高速の機能要素（例えば、高速クロックレートで動作する機能要素）にルーティングされ、より低性能のアクティビティに関連するワークフローの一部が、より低速の機能要素にルーティングされる。高速変化しているグラフィックスイメージの領域にあるピクセル（例えば、ディスプレイの中心に向かうピクセル）が、より高速の機能要素（例えば、高速クロックのシェーダ）にルーティングされ得、低速変化しているグラフィックスイメージの領域にあるピクセル（例えば、ディスプレイの縁に向かうピクセル）が、より低速の機能の要素（例えば、低速クロックのシェーダ）にルーティングされる。
【００６６】
機能要素の動作特性の変更（例えば、無効化など）は、他の要素への影響を低減させる方法で調整され得る。１つの実施形態において、適切に動作する機能要素が、無効化された要素の出力にある可能性があるガーベッジ（例えば、不正信号の組み合わせ）に耐性であるようにプログラミングまたは再構成され得る。例えば、適切に動作する機能要素が、無効の要素からの情報を無視するように命じられ得る。受信要素（例えば、収集要素１４０）が、機能要素の動作特性の変更を通知され、それに応じて反応するようにプログラミングされ得る。例えば、機能要素の速度が低下すれば、受信要素は、機能要素からの情報を待機しながらアイドリングするのではなく、後で再びチェックバックするようにプログラミングされ得るか、または機能要素が無効化されれば、機能要素からの情報を無視するようにプログラミングされ得る。機能要素が無効化されれば、受信要素は、機能要素からの信号を無視するようにプログラミングされ得る。
【００６７】
図５は、本発明の１つの実施形態による、性能を低減した回路復旧方法５００のフローチャートである。性能を低減した回路復旧方法５００により、破棄されるはずであったダイが取り戻される。１つの実施形態において、性能を低減した回路復旧方法５００は、ダイをテストし、ダイの機能性が確実に維持される方法で欠陥機能要素を無効化する。
【００６８】
ステップ５１０において、テスト用にチップを準備する。テストシステムにチップが配置され、テストシステムが初期化される。本発明の１つの実施形態において、スキャンテストセルにスキャンテストの初期状態が入力される。例えば、チップは、国際電気電子技術者協会（ＩＥＥＥ）規格１１４９．１（ジョイントタスクアクショングループ（ＪＴＧＡ）テストとも呼ぶ）に準拠したテストの準備が整えられ得る。本発明の１つの実施形態において、チップのテスト能力に互換性のあるカスタムタイプのテスト（例えば、独自および／または非ＪＴＡＧ準拠テスト）が利用される。
【００６９】
ステップ５２０において、チップがテストされる。本発明の１つの実施形態において、テストは、チップの欠陥機能要素を特定することを含む。本発明の１つの例示的な実施において、ビルトインセルフテスト（ＢＩＳＴ：ｂｕｉｌｔ  ｉｎ  ｓｅｌｆ  ｔｅｓｔ）が実行される。例えば、回路のある態様（例えば、機能論理要素）を促進するようにテストベクトルを適用し、その結果得られた回路からの出力を取り込むＢＩＳＴに、スキャンテストが含まれる。スキャンテストチェーンは、スキャンテストチェーンを介して回路の機能要素にスキャンテスト情報（例えば、テストベクトル）をスキャンまたはシフトし、機能要素がスキャンテスト情報に関する演算を実行するようにさせ、その結果の情報を取り込み、次いで、スキャンテストチェーンのスキャンテストセルを介して結果の情報をシフトアウトするようにデザインされる。次いで、結果の情報は、エラーがないか解析される（例えば、所定の正確な結果と比較して）。テストベクトルパターンは、自動テストパターン発生（ＡＴＰＧ：ａｕｔｏｍａｔｅｄ  ｔｅｓｔ  ｐａｔｔｅｒｎ  ｇｅｎｅｒａｔｉｏｎ）ツールによって与えられ得る。
【００７０】
本発明の１つの実施形態において、欠陥である特定の機能要素が特定される。１つの例示的な実施において、スキャンテストの出力結果は、どの機能要素が欠陥であるかという指示を与える。例えば、テストパターンの結果は解析され、欠陥機能要素が特定される。本発明は、欠陥機能要素が、同様のダイに含まれる別の機能要素をもたないものであるかを決定し得る。１つの実施形態において、欠陥機能要素が重要であるか、および／または欠陥機能要素が無効化されれば、ダイにワークフローを取り扱うことができる機能要素が他にないかどうかの区別がなされる。このような機能要素が特定されれば、本発明の１つの実施形態において、ダイが全機能を提供できないため、ダイは破棄される。
【００７１】
本発明の１つの実施形態において、欠陥要素の指示を行いやすいように、無効化要素が利用される。１つの例示的な実施において、複数の同様の機能要素（例えば、ピクセルシェーダ３２１〜３２４）によって、テストベクトル演算が実行される。エラー結果があれば、さらなるテストが実行される。複数の機能要素の第１の要素（例えば、ピクセルシェーダ３２１）が、無効化要素によって無効化され、テストベクトル演算が、残りの機能要素によって実行される。他の形態として、テストプロセスにおいて、機能要素の無効化をシミュレートするために、ソフトウェアシミュレーションが利用され得る。例えば、ピクセルシェーダ３２１が無効化され、テストベクトル演算が、ピクセルシェーダ３２２〜３２４によって実行され、その結果が解析される。エラー結果がなければ、第１の機能要素は、欠陥要素として特定される。エラー結果のままであれば、複数の機能要素の第２の要素（例えば、ピクセルシェーダ３２１）が、無効要素によって無効化され、テストベクトル演算が、残りの機能要素によって実行される。エラー結果がなければ、第２の機能要素は、欠陥要素として特定される。除去プロセスは、欠陥要素が特定されるまで続く。
【００７２】
ステップ５３０において、機能要素構成プロセス（例えば、機能要素構成プロセス４００）が、テストの結果に基づいて、チップに実行される。本発明の１つの実施形態において、機能要素構成プロセスは、機能要素が欠陥であれば、チップの複数の同質の機能要素（例えば、実行要素）の１つ以上を無効化する。例えば、欠陥機能要素に無効信号が発せられる。
【００７３】
１つの実施形態において、性能を低減した回路復旧方法５００が、他の機能要素が無効化された機能要素の機能を実行できるように、チップをプログラム可能に再構成することを含む。例えば、無効化された機能要素を特定する分配要素にマスクがプログラミングされ、ワークフローは、残りの機能要素間に分配され得る。マスクは、テスト時間で実行されたソフトウェアロード可能なレジスタか、ハードコードされたマスクタイプのプログラムのいずれかとしてプログラムされ得る。プログラム可能な不揮発性メモリ、ヒューズ、ワイヤボンドストラップなどを含む利用可能な種々の技術がある。
【００７４】
性能を低減した回路復旧方法５００の１つの実施形態において、テスタのプログラムが、特定の性能レベルに対するダイの特性の定義を含む。１つの例示的な実施において、テスタは、各性能レベルにおいてどの欠陥が許容可能であるかの指示を含む。例えば、テスタは、第１の複数の並列機能要素が無効化され得る第１の性能レベルと、第２の複数の並列機能要素が無効化され得る第２の性能レベルとを含み得る。また、性能レベルは、有効化される機能要素の数に対応し得る。また、本発明は、テスト手順の一環として性能レベルに基づいて、ダイの自動廃棄を促進し得る。
【００７５】
図６は、本発明の１つの実施形態によるテスト環境であるテスト環境６００のブロック図である。テスト環境６００は、ダイ６１０と、テストシステム６５０とを含む。ダイ６１０は、テストインタフェース６３３と、分配器６３１と、機能要素６１１〜６１４とを備え、各機能要素および分配器６３１は、スキャンテストセル６２１〜６２５をそれぞれ含む。ダイ復旧テストシステム６５０は、テストモジュール６８０と、欠陥要素分解モジュール６７０とを備え、このモジュール６７０は、機能性メンテナンスモジュール６７１と、対応する要素検出モジュール６７２と、無効化モジュール６７３と、ダイ拒絶モジュール６７４とを含む。
【００７６】
ダイ復旧テストシステム６５０が、ダイ６１０をテストする。テストモジュール６８０は、スキャンテストセル６２１〜６２５にテストベクトルを送るテストインタフェース６３３にテストベクトルを与える。スキャンテストセル６２１〜６２５の情報は、機能要素６１１〜６１４および分配器６３１に供給され、スキャンテスト情報に関する演算を実行する。これらの結果はまた、スキャンテストセル６２１〜６２５によって取り込まれ、これらの結果を解析用にテストシステム６５０に送るテストインタフェース６３３に伝達される。テストモジュール６８０は、これらの結果を解析し、欠陥機能要素の指示を欠陥分解モジュール６７０に与える。欠陥分解モジュール６７０は、機能要素を無効化することによってダイが復旧され得るかどうかを決定する。
【００７７】
機能性メンテナンスモジュール６７１は、無効化されてもよいグループに、特定した機能要素が含まれるかどうかを決定する。１つの実施形態において、機能性メンテナンスモジュール６７１は、特定された（例えば、欠陥）機能要素のワークフローを取り扱うことができる他の機能要素があるかを決定する。例えば、ワークフローは、別の機能要素に転送またはリルーティングされ得る。１つの例示的な実施において、機能性メンテナンスモジュール６７１は、無効化されてもよい所定の要素リストに対して特定された機能要素をチェックする（例えば、他の要素が、ワークフローを取り扱い得る）。
【００７８】
対応する要素検出モジュール６７２は、無効化されなければならない関連する機能要素があるかを決定する。関与する機能要素は、適切に機能する要素であり得る。本発明の１つの実施形態において、（例えば、同じパイプライン、スレッドなどにおいて）欠陥機能要素に緊密に関連する機能要素が特定される。例えば、機能要素が、欠陥要素の下流にあれば、適切に機能する要素は、スイッチングアクティビティおよび対応する電力消費を防止するために無効化され得る（例えば、電源が切られる）。１つの例示的な実施において、機能要素は、製品の差別化を維持するために無効化され得る。無効化されなければならない他の機能要素が特定されれば、これらを無効化することが機能性に影響を及ぼすかどうかを決定するために、機能性メンテナンスモジュール６７１に、これらの要素のアイデンティティが返される。
【００７９】
無効化モジュール６７３は、機能要素の無効化（機能要素６１１、６１２、６１３、または６１４の無効化）を命じる。本発明の１つの実施形態において、無効化モジュール６７３は、テストインタフェース６３３を介して機能要素に直接、無効化信号を送信する。別の実施形態において、無効化モジュール６７３は、ダイ６１０の無効化要素（図示せず）に信号を送信する。無効化モジュール６７３は、機能性メンテナンスモジュール６７１が、要素の無効化が許可可能であるか（例えば、機能性を除去しない）という指示を与える。１つの例示的な実施において、機能性メンテナンスモジュール６７１は、機能性を低減しないかぎり、無効化モジュール６７３は、性能を低減したとしても機能要素を無効化することができる。
【００８０】
ダイマーキングモジュール６７４が、ダイをマーキングする。本発明の１つの実施形態において、ダイマーキングモジュール６７４は、性能基準に基づいてダイをマーキングする。ダイマーキングモジュール６７４はまた、ダイが拒絶されれば、マーキングまたは指示を与える。ダイは、機能性メンテナンスモジュール６７１が、欠陥機能要素が無効化されるべきではなく、および／またはダイの性能が所定のレベルを下回るという指示を与えるため拒絶され得る。１つの例示的な実施形態において、ダイが、無効化される機能要素に基づいてマーキングされる。例えば、所定の数および／またはタイプの機能要素が無効化されれば、ダイは、それに応じてマーキングされる。
【００８１】
本発明の１つの実施形態において、ダイマーキングモジュール６７４はまた、その上にダイが位置するウェハをマーキングする。本発明の１つの実施形態において、ダイマーキングモジュール６７４は、歩留まりの基準に基づいてウェハをマーキングする。歩留まりの基準は、異なる性能レベルに対して区分され得る。例えば、歩留まりのマーキングは、ウェハにある一定の数またはパーセンテージのダイが、無効の機能要素をもたず、一定数またはパーセンテージのダイが、決まった数の無効機能要素を有し、および一定数またはダイが拒絶され、または復旧されないことを示し得る。
【００８２】
図７は、本発明の１つの実施形態によるダイ分類プロセスの１つの実施形態であるダイ分類プロセス７００のフローチャートである。ダイ分類プロセス７００は、異なる性能レベルでの同様の構成で、ダイの製造および分類を含む。１つの例示的な実施において、同じ作製プロセスにおいて製造されるダイが、異なる性能レベルに基づいて分類される。例えば、ダイは、同じ数の機能要素（例えば、トランジスタ）を有するが、機能の実行を邪魔しないが、性能に影響を与えることもある方法で無効化されるものもある。ダイ分類プロセス７００は、同じ機能性および異なる性能レベルで、ダイの分類および分配を促す。
【００８３】
ステップ７１０において、同様の構成を有する複数のダイが作製される。本発明の１つの実施形態において、複数のダイは、単一のウェハ上に作製される。本発明の１つの実施形態において、同様の構成により、複数のダイの各々が、所定のタイプの機能性を実行できる。１つの例示的な実施において、同じリソグラフィープロセスステップは、複数のダイを作製するために利用される。１つの実施形態において、同様の構成が、ダイに関するデータシート情報を検討することによって決定され得る。例えば、データシート情報は、ダイサイズ（例えば、トランジスタ数）、機能性インジケータ、および／または性能インジケータ、および／またはダイが関連する製品ラインに関する情報を含む（例えば、ダイの販売目的を決定することによって）。また、ダイが同じ作製コストを実質的に有していれば、同様の構成を指定できる。
【００８４】
ステップ７２０において、要素が、要素に関連する機能を実行するためのダイの能力をなくさずに、複数のダイの１つ内の生産的貢献に関与できないようにされる。本発明の１つの実施形態において、要素の生産性を取り除くことは、性能に影響を及ぼすこともあるが、機能性のタイプをなくすことではない。１つの例示的な実施において、要素は、要素を無効化することによって、生産的貢献に関与できないようにされる。無効化された要素のワークフローは、他の要素に方向を変えられ得る。１つの実施形態において、要素が生産的貢献に関与できないようにすることは、データシート情報を解析することによって検出され得る。例えば、異なる性能レベルで同じタイプの機能性を与える製品ラインに適用可能な製品シートをダイが有するかどうかである。代替的に、要素が生産的貢献に関与できないようにされるかどうかの別の指示は、どのデータシート情報がダイに適用されるかの決定が、テストの実行後までなされていないかどうかである（例えば、データシート情報の選択が、テスト結果に基づいてダイ要素の変更に対応する）。
【００８５】
ステップ７３０において、機能性を異ならしめた性能レベルに基づいて、複数のダイの各々が分類される。１つの例示的な実施において、ダイは、機能性が与えられる性能レベルに相関して、異なる価格で分配または販売される製品に含まれる。同じデザインのダイは、本発明の１つの実施形態において、異なる性能レベル（例えば、異なる速度、帯域幅など）で分配される。
【００８６】
図８は、本発明の１つの実施形態による処理ユニット８００のブロック図である。本発明の１つの実施形態において、処理ユニット８００は、コンピュータベースのシステム（例えば、コンピュータシステム２００）に含まれる。１つの例示的な実施において、処理ユニット８００は、中央演算処理装置２０１および／またはグラフィックス処理ユニット２１１に類似している。処理ユニット８００は、割り当て要素８１０と、性能管理状態要素８２０と、演算要素８３１〜８３４とを備える。１つの実施形態において、割り当て要素８１０は、分配要素１１０に類似し、性能管理状態要素８２０は、機能要素コントローラ１２０に類似し、演算要素８３１〜８３４は、機能要素１３１〜１３４に類似する。演算要素８３１〜８３４の各々は、様々なタスクに関連する処理演算を実行する（例えば、浮動小数点計算、グラフィックスデータ操作など）。１つの実施形態において、演算要素８３１〜８３４は、同様のタスクまたは機能を実行する。性能管理要素８２０は、演算要素８３１〜８３４の各々の動作特性（例えば、有効、無効など）の変化を選択的に管理する。割り当て要素８１０は、演算要素８３１〜８３４と、性能管理要素８２０とに結合される。割り当て要素８１０は、有効化された機能要素８３１〜８３４の各々に情報を割り当てる。例えば、割り当て要素８１０は、演算要素が有効化されれば、演算要素８３１〜８３４に処理ワークフロー情報を割り当てる（例えば、分配する）。１つの実施形態において、性能管理状態要素８２０および演算要素８３１〜８３４は、機能要素コントローラ１２０および機能要素８３１〜８３４に類似する。
【００８７】
性能管理要素８２０は、演算要素の変更を指示する情報を受信する。例えば、テスト結果が、演算要素が欠陥であることを示す。性能管理要素８２０は該情報が当てはまる演算要素８３１〜８３４のサブセットを特定する。例えば、欠陥である演算要素のサブセットであり、使用を有効化されていないサブセットである。１つの例示的な実施において、欠陥でないサブセットが有効化される。例えば、テスト結果が、演算要素８３１〜８３４が欠陥であることを示せば、演算要素８２０は、演算要素８３２〜８３３を有効化するが、演算コンポーエンント８３１〜８３４を有効化しない。演算要素８３１〜８３４が有効化されれば、性能管理要素８２０がそれらを無効化する。性能管理要素８２０はまた、動作特性状態指示を割り当て要素８１０に与える。例えば、動作特性状態指示は、どの機能要素が有効化されるか、および無効化されるかを示す。有効化される演算要素の各々は、有効化されない演算要素によって実行されるはずであった同様の機能を実行可能である。
【００８８】
図９は、本発明の１つの実施形態によるウェハ歩留まり最適化方法９００のフローチャートである。ウェハ歩留まり最適化方法９００は、ウェハから使用可能なダイの歩留まりを上げる。１つの例示的な実施において、ウェハ歩留まり最適化方法９００は、ウェハからの全歩留まりを上げるために、ウェハから破棄されるはずであった欠陥要素によってダイの復旧を行う。
【００８９】
ステップ９１０において、ウェハが作製される。ウェハは、複数のダイを含み、複数のダイの各々は、複数の機能サブ要素を用いて複数のサブタスクを並列実行可能な機能要素を有する。例えば、各ダイは、機能サブ要素（例えば、シェーダ、ラスタライザなど）によって種々のグラフィックスサブタスク（例えば、シェーディング、テクスチャリング、エイリアシング、ラスタライジングなど）を実行するパイプラインを含み得る。本発明の１つの実施形態において、ウェハは、リソグラフィープロセスを用いて作製される。
【００９０】
ステップ９２０において、各ダイに対して、動作可能である複数の機能サブ要素の各々と、動作不能である複数の機能サブ要素の各々が特定される。１つの実施形態において、動作可能および動作不能の機能サブ要素は、従来の回路テストプロセスの一環として特定される。例えば、機能サブ要素に、所定の入力が供給され、その結果の出力は検査される。出力情報は、エラーがないか検査される（例えば、出力は、所定の正確な結果と比較される）。出力情報がエラーを含めば（例えば、出力が所定の正確な結果と整合しなければ）、機能サブ要素は、動作不能であると特定される。
【００９１】
ステップ９３０において、動作不能であると特定された上記複数の機能サブ要素の各々の動作が無効化される。１つの実施形態において、動作可能であると特定された上記複数の機能サブ要素の各々は、有効化され得る。１つの実施形態において、動作不能の機能サブ要素は無効化され、動作可能の機能サブ要素は、ハード「コード化」された機構によって有効化される。例えば、機能サブ要素を構成または無効化するために、ファウンドリレーザトリムビットが利用される。別の実施形態において、機能サブ要素を構成（例えば、無効化または有効化）するために、ソフトウェアプログラム可能な情報が利用される。
【００９２】
ステップ９４０において、複数のダイの各々が、動作可能な状態に基づいて性能クラスにソートされる（例えば、ステップ９３０において、動作可能または動作不能と特定された要素）。例えば、ダイは、機能サブ要素の全てまたはかなりのパーセンテージが動作可能であり有効化される高性能クラスにソートされ得る。ダイは、より少ない数の機能サブ要素が有効化されたままである中程度の性能レンジクラスにソートされ得る。これらの性能レンジは、復旧可能であるものとされ得る。また、ダイが最低限を満たさず、破棄される（または、問題を解決するであろう何らかの他の修正アクションを受ける）性能クラスもあり得る。
【００９３】
ステップ９５０において、復旧可能であるとされた性能クラスにソートされたダイは、復旧される。例えば、タスクの実行速度が低減されても、処理タスクを実行するために、いくつかの無効な機能サブ要素を有するダイが使用される。
【００９４】
図１０は、本発明の１つの実施形態による機能要素リモート構成アーキテクチャ１１００のブロック図である。機能要素リモート構成アーキテクチャ１１００は、集積回路ダイに含まれる機能要素の構成を促す。例えば、構成は、外部またはリモートシステムから制御される。機能要素リモート構成アーキテクチャ１１００は、機能要素の動作特性が、多数の所望の実施を達成するために、確実かつ制御された方法で変えられ得るアーキテクチャを提供する。
【００９５】
リモート構成環境１１００は、集積回路ダイ１１１０と、リモート構成制御モジュール１１５０とを含む。集積回路ダイ１１１０は、構成モジュール１１３３と、分配要素１１３１と、機能要素１１１１〜１１１４とを備え、各機能要素および分配要素１１３１の各々は、動作特性レジスタ１１２１〜１１２５をそれぞれ含む。リモート構成コントローラモジュール１１５０は、符号化モジュール１１８０と、構成分解モジュール１１７０とを備える。
【００９６】
リモート構成コントローラモジュール１１５０は、集積回路ダイ１１１０の機能要素の構成を制御する。１つの実施形態において、リモート構成コントローラモジュール１１５０は、オフチップである（例えば、ドライバにおいて）。構成分解モジュール１１７０は、集積回路ダイ１１１０の機能要素の動作特性設定を決定する。１つの例示的な実施において、構成分解モジュール１１７０は、アップグレードされた動作特性に関して合意に達した自動機能性ネゴシエーションプロセス（例えば、要求に応じた容量）に関与し、機能性インジケータが、機能性ネゴシエーションプロセスの一環として動的に変更される。動作特性は、１つの例示的な実施において製品差別化を維持するように設定される。構成分解モジュール１１７０は、動作特性インジケータ値を符号化モジュール１１８０に転送する。符号化モジュール１１８０は、動作特性インジケータ値を符号化し（例えば、キー、ハッシュ値などで）、符号化された動作特性インジケータ値を構成モジュール１１３３に転送する。
【００９７】
構成モジュール１１３３は、機能要素構成を命じる。例えば、構成モジュール１１３３は、符号化モジュール１１８０から受信した符号化された動作特性設定値に基づいて、機能要素動作特性設定（例えば、機能要素１１１１、１１１２、１１１３、または１１１４）の変更を命じる。構成モジュール１１３３は、機能要素動作特性インジケータ値を復号し得る。構成モジュール１１３３は、対応する動作特性設定と比較するために、機能性トラッキングモジュール１１３７に復号化された値を転送する。
【００９８】
機能性トラッキングモジュール１１３７は、機能要素動作特性のメンテナンスを命じる。１つの例示的な実施において、機能性トラッキングモジュール１１３７は、復号化された機能性インジケータ値と特定の動作特性設定との間に相関性を与える。例えば、機能性トラッキングモジュール１１３７は、動作特性の所定の相関リストに対して、機能性インジケータをチェックする。機能性トラッキングモジュール１１３７はまた、特定された機能要素のワークフローを取り扱い得る他の機能要素があるかを決定し得る。
【００９９】
図１１は、本発明の１つの実施形態によるリモート再構成方法１２００のフローチャートである。リモート再構成方法１２００は、再構成動作のリモート制御を維持するための機構を与える。１つの例示的な実施において、リモート再構成方法１２００は、ある構成機能を利用すると追加の支払いが要求される、ペイパーユースで利用される。例えば、ユーザが、追加機能要素をアクティブにすることを望めば（例えば、追加のグラフィックスパイプライン、浮動小数点要素など）、ユーザは、追加の支払いをしなければならない。
【０１００】
ステップ１２１０において、システムがリモートリソースから再構成コードを要求する、ダイ機能要素の再構成リクエストプロセスに着手する。１つの実施形態において、再構成リクエストプロセスが、ダイ機能要素再構成コードのリクエストおよび受信を含む。１つの例示的な実施において、ダイ認識コードは、機能要素を再構成するために、機能要素コントローラ（例えば、１２０など）によって利用される。ダイ機能要素認識コードのリクエストおよび受信が、種々の通信システムを介して通信され得ることを認識されたい。例えば、リクエストおよびダイ機能要素認識コードは、インターネットを介して伝達され得る。１つの実施形態において、リクエストは、リクエスタが認識コードを受信するように許可されていること（例えば、リクエスタが、必要な支払いをしたこと、許可システムを有することなど）を示す再構成コード許可インジケータを含む。
【０１０１】
１つの実施形態において、ダイ機能要素の再構成リクエストプロセスは、再構成コード許可インジケータを獲得するために、再構成コード許可インジケータリクエストプロセスを含む。１つの例示的な実施において、再構成コード許可インジケータリクエストプロセスは、許可インジケータの支払いおよびリクエストを転送することと、許可インジケータのリクエストおよび支払いの応答を受信することを含む。例えば、顧客やユーザが、インターネットを介してリモートセントラルリソースに電子支払いをし、それと引き換えに許可インジケータ（例えば、ビットストリームコード）を受信する。
【０１０２】
ステップ１２２０において、再構成コード生成プロセスが実行される。１つの例示的な実施において、リモートリソースが、再構成コードのリクエストを処理する。１つの実施形態において、再構成コード生成プロセスは、再構成コードのリクエストおよび許可インジケータを受信することと、許可インジケータの有効性を解析することと、許可インジケータが有効であれば、再構成コードを提供することとを含む。例えば、リモートリソースが、システムにおいてアクティブなグラフィックスパイプラインの数を増大するためのリクエストを受信する。リモートリソースは、リクエスタが必要な支払いをしたかを解析する。必要な支払いが済んでいれば、リモートリソースは、システムにおいてアクティブなグラフィックスパイプライン数を上げるための再構成コードを転送する。
【０１０３】
１つの実施形態において、再構成コード生成プロセスは、再構成コード許可インジケータを獲得するためのリクエストプロセスに応答するために、再構成コード許可インジケータ応答プロセスに着手することを含む。１つの例示的な実施において、再構成コード許可インジケータ応答プロセスは、許可インジケータの支払いを受信することと、支払いの受信に応答して許可インジケータを転送することとを含む。
【０１０４】
ステップ１２３０において、再構成コードがシステムによって受信されれば（例えば、リモートリソースによって受信されれば）、ダイ機能要素再構成プロセスが実行される。ダイ機能要素再構成プロセスは、再構成コードに応じてダイ機能要素（例えば、機能要素１３１、１３２、１３３、１３４など）を再構成することを含む。１つの実施形態において、ダイ機能要素再構成プロセスは、機能要素構成プロセス４００に類似している。
【０１０５】
本発明は、種々のシステムにおいて実施でき、機能要素の構成情報をユーザにうまく伝えるための種々の機構を含み得る。図１２は、本発明の１つの実施形態による機能要素構成システム１３００のブロック図である。機能要素構成システム１３００は、メモリ１３２０およびディスプレイ１３３０に通信可能に結合された処理装置１３１０を含む。１つの例示的な実施において、機能要素構成システム１３００は、集積回路１００に通信可能に結合される。
【０１０６】
機能要素構成制御システム１３００の要素は、機能要素構成に関連する情報を与えるように協働して動作する。処理装置１３１０が、機能要素構成解析プロセスを実行するための情報および命令を含む、情報および命令を処理する。メモリ１３２０が、機能要素構成解析プロセスを実行するための情報および命令を含む情報および命令を格納する。ディスプレイ１３３０が、機能要素動作挙動を解析し、使いやすいグラフィカルユーザインタフェースにおいて動作特性設定を決定することに関連する情報を含む情報および機能要素構成動作設定のグラフィカルユーザインタフェースの提示を与える。機能要素構成制御システム１３００は、自動テスト機器（ＡＴＥ：ａｕｔｏｍａｔｅｄ  ｔｅｓｔ  ｅｑｕｉｐｍｅｎｔ）、または、代替的に、ＡＴＥとのインタフェース内に実施され得る。
【０１０７】
機能要素構成制御システム１３００は、種々の使いやすい形式で情報を与え得る。１つの実施形態において、グラフィカルユーザインタフェースは、様々なレベルの粒度で実時間に機能要素ビルディングブロック（例えば、機能要素１３１など）のパスまたはフェイル状態を示す。１つの例示的な実施において、グラフィカルユーザインタフェースが、図３に類似したイメージを表示し、要素は、パス状態の場合、緑色に強調され、フェイル状態の場合、赤色に強調される。グラフィカルユーザインタフェースは、不完全なデカルト配列で分散されるであろうトポロジーインバージョン情報を、ユーザが分かりやすい方法で提示し得る。また、グラフィカルユーザインタフェースにより、ユーザは、様々な機能要素動作挙動の解析機能および動作特性設定の決定機能と相互作用しやすくなり得る。例えば、グラフィカルユーザインタフェースにより、ユーザは、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節を含むデバグ動作においてユーザと相互作用しやすくなり得る。
【０１０８】
図１３は、本発明の１つの実施形態による機能要素構成解析プロセス１３７０のフローチャートである。
【０１０９】
ステップ１３７１において、機能要素動作挙動が解析される。１つの実施形態において、機能要素動作挙動の解析は、複数の機能要素に対して並列に実行される。１つの例示的な実施において、機能要素動作挙動の解析は、トポロジーインバージョン解析を含む。この解析はまた、様々なレベルの構成抽象化および要素組織化で実行され得る。例えば、機能要素演算挙動の解析は、様々な機能要素粒度および組織化レベルで複数の機能要素のテスト情報を抽出することと、様々な機能要素粒度および組織化レベルでテスト情報を検査することと、検査結果に基づいて、動作特性設定の調節を確立することとを含み得る。
【０１１０】
ステップ１３７２において、動作特性設定は、ステップ１３１０において実行された解析結果に基づいて決定される。１つの実施形態において、動作特性設定は、様々なレベルの構成抽象化および要素組織化で決定される。例えば、動作特性設定は、パイプラインレベル、パイプライン要素レベル（例えば、ラスタ要素、シェーダ要素など）、または論理ゲートレベル（例えば、ＡＮＤゲート、ＯＲゲートなど）で決定され得る。動作設定に関して、多数の決定がなされ得る。例えば、パイプラインのクロック速度の増減、パイプラインの有効化または無効化などができる。
【０１１１】
ステップ１３７３において、機能要素は、動作特性設定に応じて構成される。本発明の１つの実施形態において、機能要素再構成プロセスが実行される（例えば、機能要素再構成プロセス４００）。動作特性設定に応じて機能要素を構成することは、指示された機能要素構成の変更が有効であるかを決定することと、機能要素構成の変更を命じることと、機能要素構成の変更に応じてワークフローの進路を変えることとを含み得る。
【０１１２】
図１４は、本発明の１つの実施形態による柔軟性のある集積回路テスト方法１４００のフローチャートである。柔軟性のある集積回路テスト方法１４００により、生産および／またはフィールドテストでのリソースおよびコストを節約できる。１つの実施形態において、柔軟性のある集積回路テスト方法１４００により、ビルトインセルフテスト（ＢＩＳＴ）およびビルトインセルフリペア（ＢＩＳＲ）機能によって、比較的低コストの自動テスト機器（ＡＴＥ）を利用できる。
【０１１３】
ステップ１４１０において、テスト用に複数の集積回路を準備する。複数の集積回路は、組織化されたテスト階層においてテスト用に準備される。１つの実施形態において、組織化されたテスト階層は、様々なレベルの機能要素粒度および組織化を含む。例えば、ウェハレベル、ダイレベル、またはダイ内の機能要素レベルで、テストが実行され得る。
【０１１４】
ステップ１４２０において、複数の集積回路がテストされる。本発明は、種々のテストステージおよび異なるテストモード内で柔軟に実施され得る。例えば、テストは、ウェハプローブステージおよび／または最終ソートステージで実行され得る。テストはまた、速度テストを含み得る。複数の集積回路は、並列にテストされ得る。並列にテストを行うことで、ウェハの全体的なテストの時間が短縮され、コストが軽減される。
【０１１５】
ステップ１４３０において、機能要素の構成プロセスが、テスト結果に基づいて、複数の集積回路に実行される。本発明の１つの実施形態において、機能要素再構成プロセス４００に類似した機能要素再構成プロセスが実行される。種々の機能要素構成は、機能要素の有効化または無効化を含む、機能要素動作設定を操作することによって実施され得る。
【０１１６】
ステップ１４２０および１４３０のテストおよび機能要素構成プロセスが、組織化されたテスト階層の様々なレベルで実行され得ることを認識されたい。組織化されたテスト階層は、様々なレベルの機能要素粒度および組織化を含み得る。１つの例示的な実施において、組織化されたテスト階層は、エンジニアリングモードでテスト結果を与え、それに応じて機能装置を構成するトポロジーインバージョン解析に向けられた結果に対応し得る。例えば、有効化または無効化されているパイプラインに関連する複数のゲートが、ダイ領域にわたって地形的に多様に拡散されるが、エンジニアリングモードでは、有効化または無効化されている１つの要素として示される。代替的に、テストおよび機能要素構成プロセスは、生産モードで実行される。テストおよび機能要素構成プロセスはまた、複数の集積回路で並列に実行され得る。
【０１１７】
本発明の１つの実施形態において、テスト結果（例えば、フェイルマップデータ）および構成の調節に関連する情報が格納され得る。例えば、情報は、チップおよび／またはリモートデータベースに格納され得る。情報は、種々の階層およびアーキテクチャレベルで（例えば、チップベース、ウェハベース、バッチベースなどで）収集、組織化、および解析され得る。情報は、実時間ウェハ生産歩留まり解析において利用され得る。例えば、ダイレイアウトを統計解析すると、歩留まりに及ぼす不均衡な影響を有する冗長なフェイル領域（例えば、ピクセルシェーダサブブロック）が識別され得る。影響は、テスト、リペア（例えば、ＢＩＳＲ）、およびデザイン中に迅速に取り組まれ得る。同様に、ウェハレベルでのプロセスシフトもまたトラッキングでき、シフトを補正するために適切な調節がなされる。１つの例において、シフトまたは「ドリフトアウト」し、チップ作製、テスト、およびデザインプロセスの間に注意を要するウェハの領域にフラグをたてる歩留まりウェハマップに実時間モニタリングが実行される。
【０１１８】
図１５に、本発明の１つの実施形態による集積回路解析システム１５００のブロック図を示す。集積回路解析システム１５００は、集積回路１５１０と、外部機能要素協調装置１５２０とを含む。集積回路１５１０は、複数の機能要素１５１２〜１５１５と、分配要素１５１１と、機能要素構成コントローラ１５１７と、テストコントローラ１５１８と、構成通信インタフェース１５１９とを含む。集積回路１５１０の要素は、構成可能な集積回路を与えるように協働して動作する。
【０１１９】
機能要素１５１１〜１５１５が、処理動作を実行する（例えば、図１に示す集積回路１００の機能要素１３１〜１３４に類似）。分配要素１５１１が、複数の機能要素に情報を分配する（例えば、分配要素１１０に類似）。機能要素構成コントローラ１５１７は、複数の機能要素の１つ以上の動作特性を構成する（例えば、機能要素構成コントローラ１２０に類似）。構成通信インタフェース１５１９が、外部装置との間で、複数の機能要素の１つ以上の動作特性に関する情報を伝達する。
【０１２０】
１つの実施形態において、構成通信インタフェース１５１９は、テスト情報を外部装置に伝達する。１つの例示的な実施において、テスト情報および機能要素構成情報は、様々なレベルの機能要素粒度および組織化で構成通信インタフェース１５１９によって伝達される。例えば、テスト情報は、トポロジーインバージョン解析情報を含む。この情報は、様々なテストステージで伝達され得る。例えば、テスト情報は、ウェハプローブステージ情報を含み、および／または最終ソートステージ情報を含む。
【０１２１】
構成通信インタフェース１５１９はまた、動作特性設定情報を受信し得る。例えば、構成通信インタフェース１５１９は、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節に関連する動作特性設定情報を受信し得る。
【０１２２】
図１５をさらに参照すると、本発明の１つの実施形態による外部機能要素協調装置１５２０のブロック図が示されている。外部機能要素協調装置１５２０は、テストモジュール１５２１と、機能要素動作設定モジュール１５２２と、解析モジュール１５５５とを含む。
【０１２３】
テストモジュール１５２１は、機能要素に対してテストベクトルを発生する。例えば、国際電気電子技術者協会（ＩＥＥＥ）規格１１４９．１（ジョイントタスクアクショングループ（ＪＴＧＡ）テストとも呼ぶ）に準拠するベクトルである。
【０１２４】
機能要素動作設定モジュール１５２２は、機能要素に対して動作設定を決定する。本発明の１つの実施形態において、機能要素動作設定モジュール１５２２は、機能要素動作設定がダイを復旧するために調節可能であるかを決定するための欠陥分解モジュール１５５３を備える。
【０１２５】
解析モジュール１５５５が、機能要素に関連するテスト情報を解析する。１つの実施形態において、機能要素の粒度および組織化の階層アーキテクチャに従って解析が実行される。例えば、ウェハプローブステージ情報および／または最終ソートステージ情報で、解析が実行され得る。また、解析は、テスト障害のパターン認識を特定することを含み得る。例えば、ダイレイアウトの生産統計解析が、ダイの歩留まりに及ぼす不均衡な影響を有する冗長な障害領域を特定し得る（例えば、不均衡な障害を生じ、または欠陥を有する特定のピクセルシェーダ機能要素）。この解析はまた、生産調整の問題を特定し得る。例えば、解析は、ウェハの特定の領域の不均衡の障害を特定することと、障害の潜在的な生産原因を提案することとを含み得る（例えば、プロセスシフト）。さらに、解析は、潜在的なフィールド構成アルゴリズムの調節を特定し得る。
【０１２６】
テスト情報組織化モジュール１５５７が、機能要素と関連するテスト情報を組織化する。テスト情報は、機能要素の粒度および組織化の階層アーキテクチャに従って組織化され得る。例えば、テスト情報は、トランジスタレベル、ゲートレベル、機能要素レベル（例えば、加算器、マルチプレクサなど）、プロセッサレベル、パイプラインレベルなどで組織化され、提示され得る。テスト情報は、ウェハプローブステージ情報と、最終ソートステージ情報とを含み得る。本発明の１つの実施形態において、テスト情報組織化モジュール１５５７は、機能要素の演算および構成に関する様々な異なるタイプの情報（例えば、テスト情報、生産情報、フィールド性能情報、市場情報、在庫情報など）を含む種々のデータベースとのインタフェースになる。
【０１２７】
大域動作設定調節モジュール１５５８が、機能要素のための大域動作設定調節を作成し、機能要素に対して動作設定を決定する際に使用するための機能要素動作設定モジュールに、大域動作設定調節に関する情報を提供する。例えば、大域動作設定調節モジュール１５５８は、生産問題に応答してウェハの特定の領域にあるダイの機能要素に対して、大域動作設定調節を作成し得る。
【０１２８】
本発明は、種々の柔軟な実施に容易に適応可能である。本発明の再構成特徴は、異なる粒度および構成組織化スキームで種々の階層レベルで実施され得る。例えば、テストおよび再構成特徴は、階層スキームにおいて「水平方向に」（例えば、複数の機能要素を並列にテスト）、および／または階層スキームで「垂直方向に」（例えば、ウェハベース、ダイベース、論理ゲートベースなど）利用または実施され得る。テストおよび再構成情報はまた、様々な解析動作に対して利用され得る。１つの例示的な実施において、テストおよび再構成情報は、エンジニアリングおよび生産モード解析動作において使用され得る。
【０１２９】
従って、本発明により、集積回路ダイの柔軟な動作構成が可能となり、製品の差別化が高まる。ダイは、複数の性能レベルで生産ラインで利用され得る。また、本発明により、高性能タスクまたは低性能マスクに対して動的に構成が可能である単一ダイが製造されることで、節電および経済的な差別化が図られる。また、本発明により、製造およびテストリソースが保全され、コスト削減が図られる。例えば、本発明の「オンチップ」テストおよび再構成特徴により、より高機能で高価なリモートテスト機器によって実行される必要があった種々のテストおよび再構成機能が提供される。本発明により、単純な自動テスト機器（ＡＴＥ）システムと相互作用され、テストをより効率的に実行できる（例えば、並列に）。
【０１３０】
概略的に要約すれば、本明細書は、集積回路において機能要素の構成を可能にするシステムおよび方法を述べてきた。本発明のシステムおよび方法は、製造欠陥、互換性、性能要求、およびシステムの健全性（例えば、適切に動作する要素数）を含む種々の要因に基づいて、集積回路ダイの機能要素の動作特性を柔軟に変更し得る。機能要素の動作挙動は、様々なレベルの構成抽象化および要素組織化（例えば、トポロジーインバージョン解析）でテストおよび解析される。テストおよび解析は、多数の機能要素で並列に実行され得る。機能要素構成関連の情報は、様々なレベルの粒度および実時間でグラフィカルユーザインタフェース（ＧＵＩ）で与えられる。グラフィカルユーザインタフェースにより、ユーザは、障害パターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節において相互作用しやすくなり得る。テストおよび解析情報はまた、種々の使いやすいデータベース形式で組織化され得る。
１. 処理動作を実行するための複数の機能要素であって、前記複数の機能要素に含まれている欠陥機能要素が無効化され、非欠陥機能要素が選択的に有効化されている複数の機能要素と、
前記選択的に有効化された機能要素にワークフローを分配し、前記無効化された機能要素へワークフローが分配されないようにするためのワークフロー制御要素と、を備える、処理ユニット。
２. 前記複数の処理要素が、並列処理アクティビティを実行する、請求項１に記載の処理ユニット。
３. 前記並列処理アクティビティが、処理パイプラインに含まれる、請求項２に記載の処理ユニット。
４. 前記ワークフローが、パケット化単位で分配される、請求項１に記載の処理ユニット。
５. 前記処理ユニットが、中央演算処理装置である、請求項１に記載の処理ユニット。
６. 前記複数の処理要素が、浮動小数点要素である、請求項５に記載の処理ユニット。
７. 前記処理ユニットが、グラフィックス処理ユニットである、請求項１に記載の処理ユニット。
８. 前記複数の処理要素が、シェーディング要素である、請求項７に記載の処理ユニット。
９. 前記複数の処理要素が、グラフィックスフレームバッファインタフェースの分割部分である、請求項７に記載の処理ユニット。
１０. 欠陥機能要素の指示を受信するステップと、
前記欠陥機能要素が、複数の同様の機能要素の１つであるかを決定するステップと、
前記欠陥機能要素が、複数の同様の機能要素の１つであれば、前記欠陥機能要素を無効化するステップと、
１つ以上の非欠陥機能要素を有効化するステップと、
前記欠陥機能要素に情報を伝達するはずであった要素に対して、前記無効化および前記有効化の通知を出すステップと、を備える、機能要素構成プロセス。
１１. 欠陥機能要素の前記指示が、テストシステムから受信される、請求項１０に記載の機能要素構成プロセス。
１２. 前記無効化および有効化が、前記欠陥機能要素の有効化を制御するレジスタをプログラミングすることによって達成される、請求項１０に記載の機能要素構成プロセス。
１３. 前記無効化が、前記欠陥要素への通信ラインを切ることによって達成される、請求項１０に記載の機能要素構成プロセス。
１４. テストシステムに欠陥分解モジュール命令を実施させるために組み込まれたコンピュータ読み取り可能なプログラムコードを有するコンピュータ使用可能な記憶媒体であって、
特定された機能要素が、無効化が許可されたグループに含まれるかを決定するための機能性メンテナンスモジュールと、
無効化されなければならない前記特定された要素に関連付けられた関係する機能要素があるかを決定するための対応する要素検出モジュールと、
機能要素の無効化を命じるための無効化モジュールと、を備える、コンピュータ使用可能な記憶媒体。
１５. 前記命令が、ドライバである、請求項１４に記載のコンピュータ使用可能な記憶媒体。
１６. 前記ドライバが、ネットワークを介して分配される、請求項１４に記載のコンピュータ使用可能な記憶媒体。
１７. 前記機能性メンテナンスモジュールが、前記特定された機能要素のワークフローを取り扱うことができる他の機能要素があるかを決定する、請求項１４に記載のコンピュータ使用可能な記憶媒体。
１８. 前記機能メンテナンスモジュールが、無効化が許容された要素の所定のリストに対して、前記機能要素の識別をチェックする、請求項１４に記載のコンピュータ使用可能な記憶媒体。
１９. 前記関係する機能要素が、製品性能の差別化を維持するために無効化された、請求項１４に記載のコンピュータ使用可能な記憶媒体。
２０. 無効化モジュールが、テストインタフェースを介して前記特定された機能要素に無効化信号を直接送信する、請求項１４に記載のコンピュータ使用可能な記憶媒体。
２１. 前記無効化モジュールが、テストされたダイに含まれた機能要素コントローラに信号を送信する、請求項１４に記載のコンピュータ使用可能な記憶媒体。
２２. 無効化モジュールが、前記機能メンテナンスモジュールが、前記特定された機能要素の無効化が許可可能であるという指示を与えれば、前記特定された機能要素の無効化を命じる、請求項１４に記載のコンピュータ使用可能な記憶媒体。
２３. ダイマーキングを命じるためのダイマーキングモジュールをさらに備える、請求項１４に記載のコンピュータ使用可能な記憶媒体。
２４. ダイマーキングモジュールが、１つ以上の基準に基づいて、ダイのマーキングを命じる、請求項２３に記載のコンピュータ使用可能な記憶媒体。
２５. ダイマーキングモジュールが、前記特定された機能要素が無効化されれば、ダイのマーキングを命じる、請求項２３に記載のコンピュータ使用可能な記憶媒体。
２６. 各々が同様の機能を実行する複数の機能要素と、
前記複数の機能要素の各々を選択的に有効化するための要素と、
前記複数の機能要素および前記有効化要素に結合され、有効化された前記複数の機能要素の前記各々に情報を割り当て、前記無効化された要素へ情報が割り当てられないようにするための割り当て要素と、を備える、処理ユニット。
２７. 前記有効化要素が、欠陥である前記複数の機能要素のサブセットを特定し、前記機能要素のサブセットの使用が有効化されない、請求項２６に記載の処理ユニット。
２８. 前記処理ユニットが、コンピュータベースのシステムに含まれる、請求項２６に記載の処理ユニット。
２９. 前記有効化要素が、前記割り当て要素に有効化の指示を与え、前記有効化の指示が、前記複数の機能要素の前記各々のどれが有効化されるかを示す、請求項２６に記載の処理ユニット。
３０. 前記有効化要素が、前記複数の機能要素の前記各々のテストに基づき、前記複数の機能要素の各々を選択的に有効化する、請求項２６に記載の処理ユニット。
３１. 前記有効化要素が、前記テストが正確に動作することを示す前記複数の機能要素の各々を選択的に有効化する、請求項２６に記載の処理ユニット。
３２. 有効化された前記複数の機能要素の前記各々が、有効化されていない前記複数の機能要素の前記各々によって実行されるはずであった前記同様の機能を実行可能である、請求項３１に記載の処理ユニット。
３３. 処理動作を実行するための複数の機能要素を備え、前記複数の機能要素に含まれた欠陥機能要素が無効化され、
前記無効化された要素へワークフローが分配されないようにするためのワークフロー制御要素を備える、処理ユニット。
３４. 前記ワークフローが、前記複数の処理要素に含まれた有効化された要素に送り出される、請求項３３に記載の処理ユニット。
３５. 前記複数の処理要素が、並列処理アクティビティを実行する、請求項３３に記載の処理ユニット。
３６. 前記並列処理アクティビティが、処理パイプラインに含まれる、請求項３５に記載の処理ユニット。
３７. 前記処理ユニットが、グラフィックス処理ユニットである、請求項３３に記載の処理ユニット。
３８. 処理動作を実行するための複数の機能要素と、
前記複数の機能要素に情報を分配するための分配要素と、
前記複数の機能要素の１つ以上の動作特性を構成するための機能要素構成コントローラと、を備える、集積回路。
３９. 前記機能要素構成コントローラが、前記複数の機能要素の前記動作特性に関する情報を前記分配要素に提供する、請求項３８に記載の集積回路。
４０. 前記複数の機能要素が、グラフィックス処理装置に含まれる、請求項３８に記載の集積回路。
４１. 前記分配要素が、前記動作特性構成を、前記複数の機能要素への前記情報の分配に組み入れる、請求項３８に記載の集積回路。
４２. 前記機能要素構成コントローラが、種々の目的に応じて前記動作特性を構成する、請求項３８に記載の集積回路。
４３. マスクアレイをさらに備え、前記マスクアレイに含まれた各マスクが、動作目的に対応し、前記複数の機能要素の動作特性の指示を与える、請求項３８に記載の集積回路。
４４. 前記マスクアレイが、前記欠陥機能要素の無効化の指示を与えるための歩留まりマスクを含む、請求項４３に記載の集積回路。
４５. 前記マスクアレイが、
前記複数の機能要素の互換性がありサポートされた動作特性の有効化を指示するための互換性マスクと、
前記複数の機能要素のための性能レベルを指示するための性能マスクと、
フィールドテストに基づいて、複数の機能要素の動作特性を指示するための自己回復マスクと、をさらに備える、請求項４４に記載の集積回路。
４６. 前記複数の機能要素が、パイプラインを含む、請求項３８に記載の集積回路。
４７. 機能要素構成変更トリガイベントの指示を受信するステップと、
前記指示された機能要素構成変更が有効であるかを決定するステップと、
前記機能要素構成の変更を命じるステップと、
前記機能要素構成の前記変更に応じて、ワークフローを変えるステップと、を備える、機能要素構成プロセス。
４８. 前記機能要素動作特性の指示をチェックするステップをさらに備える、請求項４７に記載の機能要素構成プロセス。
４９. 前記機能要素の前記構成が、前記機能要素の有効化を制御する値をプログラミングすることによって達成される、請求項４７に記載の機能要素構成プロセス。
５０. 前記機能要素の前記構成が、前記機能要素のクロック速度を制御するレジスタをプログラミングすることによって達成される、請求項４７に記載の機能要素構成プロセス。
５１. 前記動作特性に基づいて、前記複数の機能要素にワークフローを送り出すステップをさらに備える、請求項４７に記載の機能要素構成プロセス。
５２. 前記機能要素が無効化されれば、前記機能要素にワークフローが分配されないようにするステップをさらに備える、請求項４７に記載の機能要素構成プロセス。
５３. 前記動作特性を決定するステップが、様々な動作目的の考慮および協調を含む、請求項４７に記載の機能要素構成プロセス。
５４. 同様の並列動作を実行するための複数の機能要素と、
前記複数の機能要素の１つ以上の有効化および無効化を制御するための機能要素コントローラと、
前記複数の機能要素に含まれた有効化された機能要素に情報を分配し、前記複数の機能要素に含まれた無効化された機能要素に情報が分配されないようにするための分配要素と、を備える、集積回路。
５５. 前記機能要素コントローラが、前記複数の機能要素のどれが無効化されるかに関する情報を前記分配要素に提供する、請求項５４に記載の集積回路。
５６. 前記機能要素コントローラが、前記複数の機能要素のどれが有効化されるかに関する情報を前記分配要素に提供する、請求項５４に記載の集積回路。
５７. 前記複数の機能要素が、アクティブな機能要素を備える、請求項５５に記載の集積回路。
５８. 前記分配要素が、ワークフロー情報を分配する、請求項５６に記載の集積回路。
５９. 前記機能要素コントローラが、ソフトウェアプログラム可能なレジスタを備える、請求項５７に記載の集積回路。
６０. 前記機能要素コントローラが、ハードコード化されたマスクを備える、請求項５８に記載の集積回路。
６１. 前記集積回路が、無効化された前記複数の機能要素の数に対応する性能インジケータでマーキングされる、請求項５９に記載の集積回路。
６２. 前記集積回路が、有効化された前記複数の機能要素の数に対応する性能インジケータでマーキングされる、請求項６０に記載の集積回路。
６３. テスト用にチップを準備するステップと、
前記チップをテストするステップと、
前記テストの結果に基づいて、前記チップに機能要素構成プロセスを実行するステップと、を備える、性能を低減した回路復旧方法。
６４. 前記テストが、
欠陥機能要素を特定するステップと、
前記集積回路に含まれ、前記欠陥機能要素と同様の機能を実行する非欠陥機能要素があるかを決定するステップと、
前記非欠陥要素が前記集積回路に含まれれば、前記欠陥機能要素を不使用のために指定するステップと、
前記同様の機能を実行する前記非欠陥要素が、前記集積回路に含まれていなければ、前記集積回路を欠陥としてマーキングするステップとを備える、請求項６３に記載の性能を低減した性能回路復旧方法。
６５. 前記チップの複数の同質の実行要素の１つが、無効化または有効化される、請求項６３に記載の性能を低減した回路復旧方法。
６６. 他の機能要素が、前記無効化された機能要素の機能を実行できるように、前記チップを再構成するステップをさらに備える、請求項６３に記載の性能を低減した回路復旧方法。
６７. 前記機能要素構成プロセスが、
欠陥機能要素の指示を受信するステップと、
前記欠陥機能要素が、複数の同様の機能要素の１つであるかを決定するステップと、
前記欠陥機能要素が、前記複数の同様の機能要素の１つであれば、前記欠陥機能要素を無効化するステップと、
１つ以上の非欠陥機能要素を有効化するステップと、
前記欠陥機能要素に情報を伝達するはずであった要素に対して、前記無効化および前記有効化の通知を出すステップと、を備える、請求項６３に記載の性能を低減した回路復旧方法。
６８. 欠陥機能要素の前記指示が、テストシステムから受信される、請求項６３に記載の性能を低減した回路復旧方法。
６９. 同様の構成で複数のダイを作製するステップと、
前記複数のダイの１つのダイが、要素に関連付けられた機能を実行する能力を失うことなく、前記要素が、前記要素の前記１つのダイ内の生産的寄与に関与できないようにするステップと、
前記機能性を異ならしめた性能レベルに基づいて、前記複数のダイを分類するステップと、を備える、ダイ分類プロセス。
７０. 前記複数のダイが、単一のウェハ上に作製される、請求項６９に記載のダイ分類プロセス。
７１. 前記複数のダイのデータシート情報を調査することによって、同様の構成が決定される、請求項６９に記載のダイ分類プロセス。
７２. ダイが実質的に同じ作製コストを有すれば、同様の構成が決定される、請求項６９に記載のダイ分類プロセス。
７３. 前記要素が、前記要素を無効化することによって生産的貢献に関与できないようにされる、請求項６９に記載のダイ分類プロセス。
７４. テストが実行されるまで、どのデータシート情報が前記複数のダイに含まれるダイに適用するかという決定がなされない、請求項６９に記載のダイ分類プロセス。
７５. 前記複数のダイに含まれる第１のダイおよび第２のダイが、機能性が与えられる性能レベルに相関して異なる価格で販売される異なる製品に含まれる、請求項６９に記載のダイ分類プロセス。
７６. 前記複数のダイの各々が、同一のデザインで作製され、異なる性能レベルで分配される、請求項６９に記載のダイ分類プロセス。
７７. ウェハからの使用可能なダイの歩留まりを高める方法であって、
ウェハを作製するステップを備え、前記ウェハが、複数のダイを含み、前記複数のダイの各々が、複数の機能サブ要素を用いて複数のサブタスクを並列に実行可能である機能要素を含み、
動作可能および動作不能である前記複数の機能サブ要素の各々を特定するステップを備え、
動作不能として特定された前記複数の機能サブ要素の各々の動作を無効化するステップを備え、
動作可能として特定された前記複数の機能サブ要素の各々の選択的動作を有効化するステップを備え、
前記機能サブ要素の動作可能な状態に基づいて、前記複数のダイの前記各々を性能クラスにソートするステップを備え、
前記複数の前記ダイの１つが、復旧可能であると指定された性能クラスにソートされれば、動作不能である機能サブ要素を有する前記複数の前記ダイの前記１つを復旧するステップを備える、方法。
７８. 前記サブタスクが、グラフィックスサブタスクを含む、請求項１５に記載の方法。
７９. 前記動作不能の機能サブ要素が、テストプロセスの一部として特定される、請求項１５に記載の方法。
８０. 前記複数の前記ダイの１つを復旧するステップが、前記複数の前記ダイの前記１つの性能能力に対応する性能インジケータで前記ダイをマーキングすることを含む、請求項１５に記載の方法。
８１. 前記複数の前記ダイの前記１つが、グラフィックス処理パイプライン機能要素を含む、請求項１５に記載の方法。
８２. 全機能性を与えない前記複数の前記ダイの１つを破棄するステップをさらに備える、請求項１５に記載の方法。
８３. 回路に機能要素構成モジュール命令を実施させるために組み込まれたコンピュータ読み取り可能なプログラムコードを有するコンピュータ使用可能な記憶媒体であって、
機能要素動作特性のメンテナンスを命じるための機能トラッキングモジュールと、
機能要素構成を命じるための構成モジュールと、を備える、コンピュータ使用可能な記憶媒体。
８４. 前記機能性トラッキングモジュールが、特定された機能要素のワークフローを取り扱うことができる他の機能要素があるかを決定する、請求項８３に記載のコンピュータ使用可能な記憶媒体。
８５. 前記機能性トラッキングモジュールが、動作特性設定の所定の相関リストに対して、機能性インジケータをチェックする、請求項８３に記載のコンピュータ使用可能な記憶媒体。
８６. 機能性ネゴシエーションプロセスの一部として前記機能性インジケータを動的に変更することをさらに備える、請求項８３に記載のコンピュータ使用可能な記憶媒体。
８７. 前記動作特性が、製品の差別化を維持するように設定される、請求項８３に記載のコンピュータ使用可能な記憶媒体。
８８. 複数の機能要素が、単一のダイに含まれる、請求項８４に記載のコンピュータ使用可能な記憶媒体。
８９. 前記命令がドライバである、請求項８５に記載のコンピュータ使用可能な記憶媒体。
９０. 前記ドライバが、ネットワークを介して分配される、請求項８６に記載のコンピュータ使用可能な記憶媒体。
９１. システムがリモートリソースから再構成コードをリクエストするダイ機能要素再構成リクエストプロセスに従事するステップと、
前記リモートリソースが、前記再構成コードの前記リクエストを処理する再構成コード生成プロセスを実行するステップと、
ダイ機能要素が、前記再構成コードに応じて再構成される前記システムによって、前記再構成コードが受信されれば、ダイ機能要素再構成プロセスを実行するステップと、を備える、リモート再構成方法。
９２. 前記再構成リクエストプロセスが、
前記ダイ機能要素再構成コードをリクエストするステップと、
前記ダイ機能要素再構成コードを受信するステップと、を備える、請求項９１に記載のリモート再構成方法。
９３. 再構成コード許可インジケータを獲得するために、再構成コード許可インジケータリクエストプロセスに従事するステップをさらに備える、請求項９１に記載のリモート再構成方法。
９４. 前記再構成コード許可インジケータリクエストプロセスが、
許可インジケータのリクエストおよび支払いを転送するステップと、
前記許可インジケータの前記リクエストおよび支払いへの応答を受信するステップと、を備える、請求項９３に記載のリモート再構成方法。
９５. 再構成コード許可インジケータを獲得するために、リクエストプロセスに応答するための再構成コード許可インジケータ応答プロセスに従事するステップをさらに備える、請求項９１に記載のリモート再構成方法。
９６. 許可インジケータの支払いを受信するステップと、
前記支払いの受信に応答して、前記許可インジケータを転送するステップをさらに備える、請求項９１に記載のリモート再構成方法。
９７. 前記再構成コード生成プロセスが、
再構成コードおよび許可インジケータのリクエストを受信するステップと、
前記許可インジケータの有効性を解析するステップと、
前記許可インジケータが有効であれば、再構成コードを提供するステップと、を備える、請求項９１に記載のリモート再構成方法。
９８. 前記再構成コード生成プロセスが、前記許可インジケータが有効でなければ、拒否指示を転送するステップを備える、請求項９７に記載のリモート再構成方法。
９９. 機能要素構成変更リクエストの指示を受信するステップと、
前記特定された機能要素構成の変更が許可されているかを決定するステップと、
前記機能要素構成の変更を命じるステップと、を備える、機能要素構成プロセス。
１００. 前記機能要素動作特性の指示をチェックするステップをさらに備える、請求項９９に記載の機能要素構成プロセス。
１０１. 前記機能要素の前記構成が、前記機能要素の前記変更を制御する値をプログラミングすることによって達成される、請求項９９に記載の機能要素構成プロセス。
１０２. 前記動作特性を決定するステップが、様々な動作目的の考慮および協調を含む、請求項９９に記載の機能要素構成プロセス。
１０３. 機能要素動作挙動を解析するステップと、
前記解析の結果に基づいて、動作特性設定を決定するステップと、
前記動作特性設定に応じて、機能要素を構成するステップと、を備える、機能要素構成解析プロセス。
１０４. 前記機能要素動作挙動の解析が、複数の機能要素に対して並列に実行される、請求項１０３に記載の機能要素構成解析プロセス。
１０５. 前記機能要素動作挙動の解析が、トポロジーインバージョン解析を含む、請求項１０３に記載の機能要素構成解析プロセス。
１０６. 前記解析が、様々なレベルの構成抽象化および要素組織化で実行される、請求項１０３に記載の機能要素構成解析プロセス。
１０７. 前記動作特性設定が、様々なレベルの構成抽象化および要素組織化で決定される、請求項１０３に記載の機能要素構成解析プロセス。
１０８. 前記機能要素動作挙動の解析が、
様々な機能要素粒度および組織化レベルで複数の機能要素のテスト情報を抽出するステップと、
様々な機能要素粒度および組織化レベルで、前記テスト情報を検査するステップと、
前記検査結果に基づいて、動作特性設定調節を確立するステップと、
前記動作特性の設定調節を前記動作特性設定の決定に組み入れるステップと、を備える、請求項１０３に記載の機能要素構成解析プロセス。
１０９. 前記動作特性設定に応じた前記機能要素の構成が、
指示された機能要素の構成変更が有効であるかを決定するステップと、
前記機能要素構成の変更を命じるステップと、
前記機能要素構成の前記変更に応じてワークフローを変えるステップと、を備える、請求項１０３に記載の機能要素構成解析プロセス。
１１０. 情報および命令を伝達するためのバスと、
機能要素構成解析プロセスを実行するための情報および命令を含む、前記情報および命令を処理するための処理装置と、
機能要素構成解析プロセスを実行するための情報および命令を含む、前記情報および命令を格納するためのメモリと、
機能要素動作挙動の解析および動作特性設定の決定に関連付けられた情報を含む、前記情報および機能要素構成動作設定のグラフィカルユーザインタフェースの提示を表示するためのディスプレイと、を備える、機能要素構成システム。
１１１. 前記グラフィカルユーザインタフェースが、様々なレベルの粒度と実時間で機能要素のビルディングブロックのパスまたはフェイル状態を示す、請求項１１０に記載の機能要素構成解析プロセス。
１１２. 前記グラフィカルユーザインタフェースが、ユーザが分かりやすい方法でトポロジーインバージョン情報を提示する、請求項１１０に記載の機能要素構成解析プロセス。
１１３. 前記グラフィカルユーザインタフェースが、様々な機能要素動作挙動の解析および動作特性設定機能とユーザとが相互作用しやすいようにする、請求項１１０に記載の機能要素構成解析プロセス。
１１４. 前記グラフィカルユーザインタフェースが、フェイルパターンの認識、生産テストの調整、フィールド構成アルゴリズムの調節においてユーザが相互作用しやすいようにする、請求項１１０に記載の機能要素構成解析プロセス。
１１５. テスト用に複数の集積回路を準備するステップと、
前記複数の集積回路をテストするステップと、
前記テストの結果に基づいて、前記複数の集積回路で機能要素構成プロセスを実行するステップと、を備える、柔軟性のある集積回路テスト方法。
１１６. 前記テストおよび前記機能要素構成プロセスが、前記複数の集積回路で並列に実行される、請求項１１５に記載の柔軟性のある集積回路テスト方法。
１１７. 前記テストおよび前記機能要素構成プロセスが、組織化されたテスト階層において実行される、請求項１１５に記載の柔軟性のある集積回路テスト方法。
１１８. 前記組織化されたテスト階層が、様々なレベルの機能要素粒度および組織化を含む、請求項１１７に記載の柔軟性のある集積回路テスト方法。
１１９. 前記組織化されたテスト階層が、トポロジーインバージョン解析に向けられた結果に対応する、請求項１１８に記載の柔軟性のある集積回路テスト方法。
１２０. 前記テストが、ウェハプローブステージで実行される、請求項１１５に記載の柔軟性のある集積回路テスト方法。
１２１. 前記テストが、最終ソートステージで実行される、請求項１１５に記載の柔軟性のある集積回路テスト方法。
１２２. 前記テストおよび前記機能要素構成プロセスが、エンジニアリングモードにおいて実行される、請求項１１５に記載の柔軟性のある集積回路テスト方法。
１２３. 前記テストおよび前記機能要素構成プロセスが、生産モードにおいて実行される、請求項１１５に記載の柔軟性のある集積回路テスト方法。
１２４. 前記テストが、速度テストを含む、請求項１１５に記載の柔軟性のある集積回路テスト方法。
１２５. 処理動作を実行するための複数の機能要素と、
前記複数の機能要素に情報を分配するための分配要素と、
前記複数の機能要素の１つ以上の動作特性を構成するための機能要素構成コントローラと、
外部装置との間で、前記複数の機能要素の前記１つ以上の前記動作特性に関する情報を伝達するための構成通信インタフェースとを備える、集積回路。
１２６. 前記構成通信インタフェースが、前記外部装置にテスト情報を伝達する、請求項１２５に記載の集積回路。
１２７. 前記テスト情報および前記機能要素構成情報が、様々なレベルの機能要素粒度および組織化で前記構成通信インタフェースによって伝達される、請求項１２５に記載の柔軟性のある集積回路テスト方法。
１２８. 前記テスト情報が、トポロジーインバージョン解析情報を含む、請求項１２６に記載の柔軟性のある集積回路テスト方法。
１２９. 前記テスト情報が、ウェハプローブステージ情報を含む、請求項１２６に記載の柔軟性のある集積回路テスト方法。
１３０. 前記テスト情報が、最終ソートステージ情報を含む、請求項１２６に記載の柔軟性のある集積回路テスト方法。
１３１. 前記構成通信インタフェースが、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節に関連付けられた動作特性設定情報を受信する、請求項１２５に記載の集積回路。
１３２. 機能要素のテストベクトルを生成するためのテストモジュールと、
前記機能要素の動作設定を決定するための機能要素動作設定モジュールと、
前記機能要素に関連付けられたテスト情報を組織化するためのテスト情報組織化モジュールと、を備える、外部機能要素協調装置。
１３３. 前記機能要素のための大域動作設定調節を作成し、前記機能要素の動作設定を決定する際に使用するための前記機能要素動作設定モジュールに、前記大域動作設定調節に関する情報を提供するための大域動作設定調節モジュールをさらに備える、請求項１３２に記載の外部機能要素協調装置。
１３４. 前記機能要素動作設定モジュールが、前記機能要素動作設定がダイを復旧するために調節され得るかを決定するための欠陥分解モジュールを備える、請求項１３２に記載の外部機能要素協調装置。
１３５. 前記テスト情報が、機能要素粒度および組織化の階層アーキテクチャに応じて組織化される、請求項１３２に記載の外部機能要素協調装置。
１３６. 前記テスト情報が、ウェハプローブステージ情報および最終ソートステージ情報を含む、請求項１３２に記載の外部機能要素協調装置。
１３７. 前記動作特性設定情報が、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節に関する情報を含む、請求項１３２に記載の外部機能要素協調装置。
【０１３１】
本発明の特定の実施形態の前述した記載は、説明および記載を目的として提示したものである。これらは、完全なものでも、開示したままの形式に本発明を限定するものでもなく、上記教示の点で多くの修正および変形が可能であることは明らかである。実施形態は本発明の原理および実際の応用を最もよく説明するために選択および記載され、当業者らは、考慮される特定の使用に合わせて、本発明および様々な修正を有する様々な実施形態を最良に利用することができる。本発明の範囲は、特許請求の範囲およびその均等物によって規定されることが意図されている。
【図面の簡単な説明】
【０１３２】
【図１Ａ】本発明の１つの実施形態による集積回路のブロック図である。
【図１Ｂ】本発明の１つの実施形態によるパイプラインに組織化された機能要素を有する集積回路のブロック図である。
【図１Ｃ】本発明の１つの実施形態によるマルチ処理装置集積回路のブロック図である。
【図１Ｄ】異なる目的を制御するための、本発明の１つの実施形態による例示的なマスクアレイ実施のブロック図である。
【図２】本発明の実施形態を実行し得るコンピュータシステムのブロック図である。
【図３】本発明の１つの実施形態によるグラフィックスパイプラインのブロック図である。
【図４】本発明の１つの実施形態による機能要素構成方法のフローチャートである。
【図５】本発明の１つの実施形態による性能を低減した回路復旧方法のフローチャートである。
【図６】本発明の１つの実施形態によるテスト環境のブロック図である。
【図７】本発明の１つの実施形態によるダイ分類プロセスのフローチャートである。
【図８】本発明の１つの実施形態による処理ユニットのブロック図である。
【図９】本発明の１つの実施形態によるウェハ歩留まり最適化方法のフローチャートである。
【図１０】本発明の１つの実施形態による機能要素の構成アーキテクチャのブロック図である。
【図１１】本発明の１つの実施形態によるリモート再構成方法のフローチャートである。
【図１２】本発明の１つの実施形態による別の例示的な機能要素構成システムのブロック図である。
【図１３】本発明の１つの実施形態による機能要素構成解析プロセスのフローチャートである。
【図１４】本発明の１つの実施形態による柔軟性のある集積回路テスト方法のフローチャートである。
【図１５】本発明の１つの実施形態による集積回路解析システムのブロック図である。
【図１Ａ】
0005441305.tif 000002
【図１Ｂ】
0005441305.tif 000003
【図１Ｃ】
0005441305.tif 000004
【図１Ｄ】
0005441305.tif 000005
【図２】
0005441305.tif 000006
【図３】
0005441305.tif 000007
【図４】
0005441305.tif 000008
【図５】
0005441305.tif 000009
【図６】
0005441305.tif 000010
【図７】
0005441305.tif 000011
【図８】
0005441305.tif 000012
【図９】
0005441305.tif 000013
【図１０】
0005441305.tif 000014
【図１１】
0005441305.tif 000015
【図１２】
0005441305.tif 000016
【図１３】
0005441305.tif 000017
【図１４】
0005441305.tif 000018
【図１５】
0005441305.tif 000019