半導体機能回路のテストおよび構成のためのシステムおよび方法
集積回路において機能要素の構成を可能にするためのシステムおよび方法が開示される。本発明のシステムおよび方法が、製造欠陥、柔軟性特性、性能要求、およびシステムの健全性(例えば、適切に動作する要素の数)を含む種々の要因に基づいて、集積回路ダイの機能要素の動作特性を柔軟に変更し得る。様々なレベルの構成抽象化および要素組織化(例えば、トポロジーインバージョン解析)で、機能要素動作挙動がテストおよび解析される。テストおよび解析は、多数の機能要素で並列に実行され得る。様々なレベルの粒度および実時間で、グラフィカルユーザインタフェース(GUI)に機能要素構成関連の情報が提示される。グラフィカルユーザインタフェースは、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節においてユーザの相互作用を容易にし得る。また、テストおよび解析情報は、種々の使いやすいデータベース形式で組織化され得る。
【発明の詳細な説明】
【関連出願】
【0001】
本願は、本願と同一の所有者によって所有された同時係属中の2003年9月15日に出願された米国特許出願第60/503,710号、2003年12月18日に出願された米国特許出願第10/740,721号、2003年12月18日に出願された米国特許出願第10/740,722号、2003年12月18日に出願された米国特許出願第10/740,723号、2003年12月18日に出願された米国特許出願第10/740,779号、および2004年6月23日に出願された米国特許出願第10/876,340号の利益を主張する。これらは参照により本明細書に組み込まれる。
【技術分野】
【0002】
本発明は、半導体製造の分野に関する。特に、本発明は、集積回路内の機能要素の動作特徴を動的に構成するためのシステムおよび方法に関する。
【背景技術】
【0003】
電子システムおよび回路が近代社会の発展に及ぼしてきた貢献度は著しく、有益な結果を達成するために数々の用途において利用されている。デジタルコンピュータ、計算機、オーディーオ装置、ビデオ機器、および電話システムなどの多数の電子技術のおかげで、ビジネス、科学、教育、および娯楽のあらゆる分野において、データ解析およびデータ通信の生産性が高まり、コストが軽減されてきた。これらの有益な結果をもたらす電子システムは、集積回路を含むことが多い。誤った結果を生じないようにするために、非常に高い信頼性を備えた集積回路を利用することが望ましい。しかしながら、種々の機能性および性能の特性を備えた集積回路を設計し構築するのは困難である。さらに、集積回路を構築するための製造プロセスは、極めて複雑かつ資源集約型なものである。
【発明の開示】
【発明が解決しようとする課題】
【0004】
集積回路の製造は、コストがかかる資源集約型の作業であり、単一の集積回路ユニットには、多数の計算要素が含まれている。計算要素は、通常、非常に高い信頼性で種々のタスクを実行可能であることが要求される。様々な応用で、異なる性能レベルおよび機能性が要求されることが多い。従来、予め決められた機能性を与える所定の数の適切に機能する要素によって各ダイが作製されている。しかしながら、許容可能な信頼性で適切かつ効率的な機能性を与えることは困難であることが多い。例えば、多くの従来のアプローチでは、集積回路に含まれる欠陥要素はほとんどない状態かまったくない状態にする必要がある。
【0005】
従来、集積回路は、多数のダイを含むウェハに製造され、各ダイは、多数の機能要素を有する集積回路を含む。所与のウェハから機能的に許容可能であるダイの数を、ウェハからの歩留まりと呼ぶ。所与の数のダイに対して、無駄をなくし、コストを削減し、効率的な製造時間を短縮するために、比較的高い歩留まりを維持することが望まれる。多数の要素を有する高性能ダイを備えたウェハの歩留まりは、非常に低くなることがある。
【0006】
集積回路ダイ内での欠陥要素の発生の影響を軽減するために、メモリチップ製造業者によって用いられる1つの方法は、必要なものより多くの要素、例えばメモリセルを有するダイを製造することである。欠陥要素が存在すれば、その欠陥要素は切り離され、「余剰」要素の1つが利用される。このアプローチでは、通常、欠陥要素を取り替えた後でも「余剰」のままである要素を作製してしまい、貴重なダイ面積および資源が著しく無駄になってしまう。このような余剰要素は、機能性および/または採算がとれる生産性に寄与していない。最終的に、かなりの数のダイが、利用されることのない完全に良好な稼動能力を備えた多数の「余剰」要素を有することになる。
【0007】
欠陥要素に対する取り組みの従来の別の試みは、特定の機能に関連する1つの機能要素が欠陥であれば、機能能力を取り除くことである。例えば、処理装置の浮動小数点加速要素に欠陥があれば、従来のリペア技術を用いて浮動小数点加速機能が取り除かれるか、または無効化され、処理装置は、非浮動小数点加速処理装置になる。さらに、最終的な成果物は、能力が限定され、完全な機能性を与えない(例えば、浮動小数点演算を実行できない)使用可能な集積回路となる。
【課題を解決するための手段】
【0008】
本発明のシステムおよび方法により、集積回路の機能要素を構成できる。本発明のシステムおよび方法が、製造欠陥、互換特性、性能要求、およびシステムの健全性(例えば、適切に動作する要素数)を含む種々の要因に基づいて、集積回路のダイの機能要素の動作特性を柔軟に変更できる。本発明の1つの実施形態において、機能要素の動作挙動が解析される。この解析は、様々なレベルの構成の抽象化および要素の組織化(例えば、トポロジーインバージョン解析)で実行でき、複数の機能要素に対して並列に実行できる。動作特性の設定は、解析結果に基づいて決定される。1つの実施形態において、動作特性の設定は、様々なレベルの構成の抽象化および要素の組織化で決定される。動作特性の設定に応じて、機能要素の再構成プロセスが実行される。1つの例示的な実施において、機能要素の再構成プロセスは、指示された機能要素の再構成プロセスの変更が有効であるかを決定することと、機能要素の構成の変更を命令することと、機能要素の構成の変更に応じてワークフローの流れを変えることを含む。
【0009】
グラフィカルユーザインタフェース(GUI:graphical user interface)を含む種々の使いやすい形式で、機能要素の構成に関する情報が提示され得る。1つの実施形態において、GUIは、様々なレベルの粒度と実時間で機能要素構築ブロックのパス状態またはフェイル状態を指示する。グラフィカルユーザインタフェースは、不完全なデカルト状態に分散されるはずであったトポロジーインバージョン情報を、ユーザが分かりやすい方法で提示し得る。また、グラフィカルユーザインタフェースにより、ユーザは、様々な機能要素動作挙動の解析機能および動作特性設定の決定機能と相互作用しやすくなり得る。例えば、グラフィカルユーザインタフェースにより、ユーザは、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節と相互作用しやすくなり得る。
【0010】
1つの実施形態において、本発明の構成システムが、機能要素と、分配要素と、機能要素構成コントローラと、任意の収集要素とを含む。機能要素は、処理動作(例えば、グラフィックス処理動作、浮動小数点演算など)を実行する。分配要素は、ワークフロー情報(例えば、グラフィックス処理情報、浮動小数点処理情報など)を機能要素に分配する。機能要素構成コントローラは、機能要素の動作特性を構成する。収集要素は、機能要素からの出力または結果を「収集」し、共通の目的を達成する際に使用する動作の結果をまとめる。
【0011】
1つの例示的な実施において、機能要素の動作特性の変更は、他の機能要素の変更と調和される。ワークフロースケジューリングおよび分配もまた、機能要素の動作特性の変更に基づいて調節される。例えば、機能要素構成コントローラは、動作特性設定を変更し、ワークフロー分配要素の変化の指示を与える。ワークフロー分配要素は、動作特性設定に基づいてワークフロースケジュールを変更する。例えば、ワークフローは、特定の機能要素へ向かったりあるいは離れたりするように変更される。
【0012】
本発明のシステムおよび方法は、様々なテスト動作において利用され得る。チップがテストされ(例えば、ビルトインセルフテストに応じて)、チップの欠陥機能要素が特定される。テストは、プローブでまたは最終的なソートで並列に実行され得る。テストを並列に実行することで、コストの削減が図られ、迅速に結果が得られる。欠陥要素を無効化し、代替要素を有効化する本発明のビルトインセルフリペア(BISR:built in self repair)機能により、多数の柔軟性のある機能が得られる。例えば、欠陥機能要素を有する集積回路チップを復旧させることができ、1つの実施形態において、集積回路の製造におけるウェハの歩留まりが高まる。従来、欠陥機能要素を有する集積回路は破棄されており、結果的に、ウェハの生産コストがより小数の許容可能なダイの負担となっていた。1つの実施形態において、本発明のシステムおよび方法により、チップの基本的な機能を維持する方法でダイの欠陥機能要素が無効になる。
【0013】
1つの実施形態において、遠隔位置にある集積回路の構成には、集中的リソースが利用される。リモート機能要素の構成アーキテクチャが、遠隔位置にある集積回路ダイに含まれる機能要素の構成を行う。1つの例示的な実施において、リモートリソースから再構成コードをリクエストするシステムにおいて、ダイ機能要素の再構成リクエストプロセスに着手される。コードリクエストは、リクエスタが再構成コードを受信する権限を有すること(例えば、リクエスタが必要な支払いをしていること、権限のあるシステムを有することなど)を指し示す再構成コード許可インジケータを含む。再構成コード生成プロセスが実行されると、再構成コードのリクエストおよび許可インジケータが受信され、許可インジケータの有効性が解析され、再構成コードが与えられる。適切な再構成コードがダイによって受信されると、ダイでダイ機能要素再構成プロセスが実行される。
【0014】
本明細書に組み込まれ、その一部を形成する添付の図面は、本発明の実施形態を例示的かつ非制限的に示す。本明細書において参照する図面は、特段の記載がなければ、一定の比率で描かれたものではないことを理解されたい。
【発明の詳細な説明】
【0015】
以下、本発明の好ましい実施形態を詳細に参照し、添付の図面にそれらの例を示す。本発明は、好ましい実施形態とともに記載するが、本発明をこれらの実施形態に限定するように意図していないことを理解されたい。むしろ、本発明は、特許請求の範囲に規定された本発明の趣旨および範囲内に含まれ得る代替物、修正物、および均等物に及ぶように意図している。さらに、本発明の以下の詳細な記載において、本発明を十分に理解してもらうために、多数の詳細事項が示されている。しかしながら、当業者であれば、本発明は、これらの詳細事項なしに実践されてもよいことは明らかであろう。他にも、本発明の態様を不要に分かりにくくしないように、周知の方法、手順、要素、および回路については記載していない。
【0016】
コンピュータメモリ内のデータビットでの動作の手順、論理ブロック、処理、および他の記号表現の点で、以下の詳細な記述が提示されている部分がある。これらの記述および表現は、当業者にそれらの働きの本質を効果的に伝えるために、データ処理技術者によって一般に使用されている手段である。手順、論理ブロック、プロセスなどは、本明細書において、および一般に、所望の結果へと導くステップまたは命令の一貫したシーケンスであると考えられる。これらのステップは、物理量の物理的な操作を含む。通常、必須ではないが、これらの量は、格納、転送、結合、比較、およびコンピュータシステムにおける他の操作が可能な電気、磁気、光、または量子信号の形をとる。主に、一般的に使用されているという理由で、利便性から考えて、これらの信号をビット、値、成分、記号、文字、用語、数などとして参照することもある。
【0017】
しかしながら、上記および同様の用語の全てが、適切な物理量に関連付けられ、これらの量に付与された都合のよいラベルにすぎないことに留意されたい。以下の記載から明らかなように、特段な言及がないかぎり、本願を通して、「処理(processing)」、「算出(computing)」、「計算(calculating)」、「決定(determining)」、「表示(displaying)」などの用語を利用する記載は、物理(例えば、電子)量として表されるデータを操作および変換するコンピュータシステム、または同様の処理装置(例えば、電気、光、または量子コンピューティング装置)の動作およびプロセスをさすことを認識されたい。これらの用語は、コンピュータシステムの要素(例えば、レジスタ、メモリ、他のこのような情報格納、送信、または表示装置など)内の物理量を操作し、または他の要素内の物理量として同様に表される他のデータに変換する処理装置の動作およびプロセスをさす。
【0018】
図1Aは、本発明の1つの実施形態による集積回路100のブロック図である。集積回路100は、分配要素110と、機能要素構成コントローラ120と、収集要素140と、機能要素131、132、133、および134とを備える。分配要素110は、収集要素140に結合された機能要素131、132、133、および134に結合される。機能要素構成コントローラ120は、分配要素110、機能要素131、132、133、および134、および収集要素140に結合される。本発明の1つの実施形態において、集積回路100の要素は、単一のダイに含まれる。集積回路100の要素は、情報処理(例えば、データ操作)を実行するように協働して動作する。1つの例示的な実施において、集積回路100の要素は、一般的な目的に関係する情報処理(例えば、画像生成に関連するグラフィックスパイプライン処理)を実行する。
【0019】
分配要素110は、情報を機能要素131〜134(例えば、有効化された機能要素)に選択的に分配する。分配要素110が、種々の情報を分配し得ることを認識されたい。例えば、分配要素110が、ワークフロー情報を分配し得る。ワークフロー情報は、一般的な目的に関連した処理の情報またはデータであり得る。例えば、ワークフロー情報は、グラフィックス関連情報(例えば、情報ストリームの様々な部分が、連続して構成された画像ピクセルのピクセル情報を含む、単一の情報ストリーム)であり得る。1つの例示的な実施において、分配要素110は、ワークフロー情報またはデータ(例えば、グラフィックスデータ)の単一のストリームを受信し、ワークフロー情報を機能要素131〜134に分配する。例えば、単一の情報ストリームは、第1のピクセル、第2のピクセル、および第3のピクセルに関する情報を含み得る。分配要素110は、単一のピクセル情報ストリーム(例えば、パケットシーケンス)を受信し、第1のピクセルに関する情報(例えば、個々のパケットとして)を機能要素131に分配し、第2のピクセルに関する情報を機能要素132に分配し、第3のピクセルに関する情報を機能要素133に分配する。別の例示的な実施において、分配要素110は、浮動小数点計算に関する単一の情報ストリームを受信し、第1の浮動小数点計算に関する情報を機能要素131に分配し、第2の浮動小数点計算に関する情報を機能要素132に分配し、第3の浮動小数点計算に関する情報を機能要素133に分配する。1つの実施形態において、分配要素110はまた、複数の情報ストリームを受信し、その情報を機能要素131〜134に分配し得る。分配要素110がワークフロー情報の分配のほかにも様々な機能を提供し、またはタスクを実行する実施形態を含む種々の実施形態において、分配要素110が実施され得ることを認識されたい。
【0020】
機能要素131〜134は、機能要素131〜134が異なる機能動作またはタスクを実行する種々の実施を含み得る。1つの実施形態において、機能要素131〜134は、同様の機能性を与える(例えば、並列動作を実行する)。例えば、1つの実施形態において、機能要素131〜134は、グラフィックス処理関係のタスク(例えば、シェーディング、テクスチャリング、オクルージョンカリングなど)を実行し得る。別の実施形態において、機能要素131〜134は、浮動小数点関係の処理を実行し得る。
【0021】
収集要素140は、機能要素131〜134からの出力または結果を「収集」する。1つの実施形態において、収集要素140は、共通の目的を達成する際に使用する動作の結果をつなぎ合わせ、またはまとめる。例えば、収集要素140は、グラフィックスバッファへの通信結果をまとめ得る。別の実施形態において、収集要素140は、グラフィックスバッファである。さらなる別の実施形態において、収集要素140は、浮動小数点計算の結果をまとめ得る。
【0022】
集積回路100の要素はまた、機能要素の動作特性を柔軟に構成(例えば、機能要素の有効化/無効化、クロック速度の変更、動作電圧の変更など)するように協働して動作する。機能要素構成コントローラ120は、1つ以上の機能要素131〜134の動作特性(例えば、無効化/有効化など)の調節を制御し、調節に関して分配要素110および収集要素140に情報を提供し得る。例えば、機能要素構成コントローラ120は、機能要素を無効または有効(例えば、機能要素132を無効または有効)にし得る。機能要素構成コントローラ120は、機能要素132の動作特性の変更(例えば、機能要素の有効化、無効化など)を分配要素110に通知し得る。
【0023】
分配要素110は、ワークフロー情報を分配する際に機能要素132の動作特性に関する情報を使用し得る。1つの実施形態において、分配要素110は、機能要素の構成を、機能要素への情報(例えば、処理用データを含むワークフロー)の分配に組み入れる。処理装置機能要素の1つが無効化されれば(例えば、欠陥であるという理由で)、分配要素110は、「ワークフロー」を取り扱うために、他の残りの処理装置機能要素に情報を分配する。例えば、機能要素132が機能要素構成コントローラ120によって無効化されれば、分配要素110には、機能要素132が無効であることが通知され、分配要素110は、他の機能要素(例えば、131、133、および/または134)にワークフローをルーティングし得る。機能要素132が、機能要素構成コントローラ120によって有効化されれば、分配要素110は、機能要素132が有効であることが通知され、分配要素110は、機能要素132へワークフローをルーティングし得る。分配要素110はまた、機能要素の性能構成(例えば、クロック速度)に基づいて、残りの有効機能要素に情報を分配し得る。1つの例示的な実施において、性能要求がより高いタスク(例えば、重要なタスク)が、性能特性または能力がより高い(例えば、より高速の)機能要素へルーティングされる。例えば、三次元(3D)グラフィックス情報が、高性能(例えば、高速の)グラフィックスパイプラインにルーティングされ、二次元(2D)グラフィックス情報が、より低い性能(例えば、より低速の)グラフィックスパイプラインにルーティングされ得る。1つの実施形態において、情報は、スコアボード式アルゴリズムに応じて分配される。
【0024】
本発明の1つの実施形態において、機能要素構成コントローラ120は、機能要素131〜134の動作特性の変更を命じる。動作特性は、機能要素131〜134の性能に影響を及ぼし得る。例えば、機能要素構成コントローラ120は、機能要素131〜134の動作特性状態を変更し得る(例えば、機能要素を有効化または無効化する)。1つの例示的な実施において、機能要素構成コントローラ120は、(例えば、クロック周波数を変更することによって)機能要素が動作する速度を変え、および/または、(例えば、機能要素に供給される電圧を変更することによって)機能要素によって消費される電力を変え得る。例えば、機能要素構成コントローラ120は、機能要素131〜134に供給されるクロック信号の周波数を変更するようにクロックソース137に命じ、および/または、機能要素131〜134に供給される電力信号の電圧を変更するように電源138に命じ得る。
【0025】
種々の機能要素と利用するために本発明が容易に適用可能であることを認識されたい。機能要素131〜134は、種々の異なる機能(例えば、浮動小数点、ピクセルシェーディング、バーテックスシェーディング、記憶、バッファリングなど)を与える機能ユニットであり得る。1つの例示的な実施において、機能要素は、実質的に同時に(例えば、同時に並列して)同様の動作を実行し得る。本発明の1つの実施形態において、機能要素は、アクティブな機能要素である。機能要素はまた、コアおよび/またはサブコアに組織化された多数の要素(例えば、特定の機能に関連するビルディングブロック)を含み得る。本発明の1つの実施形態において、コアまたはサブコアが、個々にテストおよび/または再構成され得る。例えば、本発明の再構成特徴に応じて、特定のコアが有効化および/または無効化され得る。
【0026】
1つの実施形態において、機能要素は、処理ユニットに含まれた処理装置要素(例えば、浮動小数点要素、ピクセルシェーダ要素、バーテックス処理装置要素など)である。中央演算処理装置(CPU:central processing unit)、グラフィックス処理ユニット(GPU:graphics processing unit)、および/または内蔵処理ユニットを含む種々の処理ユニットにおいて、本発明が容易に実施され得ることを認識されたい。1つの例示的な実施において、処理ユニットは、処理装置機能要素(例えば、浮動小数点要素)にタスクを割り当てるためのスコアボード式アルゴリズムを含む。処理装置機能要素によって結果が処理されると、スコアボードは、処理装置機能要素によってどのオペランドが要求されているかをトラッキングし、それをスケジューリングする。ここの処理装置機能要素からの結果が組み合わされて、全体的な結果を与える。スコアボードは、機能要素の構成を、タスクのスケジューリングに組み入れ得る。例えば、処理装置機能要素の1つが無効化されれば(例えば、欠陥であるという理由で)、スコアボードは、処理ワークフローを取り扱うために、他の残りの処理装置機能要素を再スケジューリングする。
【0027】
本発明は、パイプラインタイプ(例えば、ベクトルタイプ、スレッドタイプなど)の処理環境で実施され得る。図1Bは、本発明の1つの実施形態によるパイプライン集積回路150のブロック図である。パイプライン集積回路150は、機能要素がパイプラインである集積回路100の1つの実施である。集積回路150は、分配要素151と、機能要素構成コントローラ152と、収集要素154と、パイプライン171、172、173、および174とを備える。パイプライン171、172、173、および174は、パイプライン動作を実行する(例えば、フェッチ、復号、命令の実行)。機能要素構成コントローラ152は、パイプライン171〜174の動作特性を制御するとともに、パイプライン171〜174の動作特性に関する情報(例えば、どの機能要素が無効化および/または有効化されるかに関する情報)を分配要素151および収集要素154に与える。動作特性の制御は、様々な粒度で実行され得る。例えば、個々の機能要素ベースで構成(例えば、有効化、無効化など)され得る各パイプライン内において複数の個々の機能要素(図示せず)を含み得る。
【0028】
パイプライン集積回路150の要素は、集積回路100の要素と同様に動作する。例えば、ワークフロー情報が、同様の方法で進路を変えられ、またはルーティングされる。機能要素構成コントローラ152は、機能要素171〜174の動作特性に関する情報(例えば、無効、有効、速度、電圧など)を分配要素151に与える。分配要素151は、動作特性情報に部分的に基づいて、パイプライン171〜174に情報を分配する(例えば、ワークフロー情報を有効な機能要素に分配し、無効な機能要素に分配しない)。収集要素140は、パイプライン171〜174の出力を「収集」する(例えば、つなぎ合わせ、またはまとめる)(例えば、グラフィックスバッファに格納するための結果をつなぎ合わせ、またはまとめる)。1つの実施形態において、機能要素構成コントローラ152は、機能要素171〜174に供給されるクロック信号の周波数を変更するようにクロックソース175に命じ、および/または機能要素171〜174に供給される電力信号の電圧を変更するように電源177に命じ得る。
【0029】
種々の集積レベル(例えば、種々のダイ階層およびアーキテクチャ)で、本発明の集積回路が実施され得る。図1Cは、本発明のダイ階層の別の実施形態であるマルチプロセッサ集積回路190のブロック図である。マルチプロセッサ集積回路190の要素は、機能要素が処理装置であること以外、集積回路100に類似している。マルチプロセッサ集積回路190は、分配要素191と、機能要素構成コントローラ102と、収集要素194と、処理装置195、197、198、および199とを備える。1つの実施形態において、処理装置195、197、198、および199は、単一のダイに含まれ、共通のキャッシュメモリに結合される。機能要素構成コントローラ192は、動作特性の調節(例えば、無効化/有効化)を処理装置195〜199の1つ以上に命じ、処理装置195〜199の動作特性を示す(例えば、処理装置が無効/有効であるかを示す)動作特性情報を分配要素191および収集要素194に与える。1つの例示的な実施において、集積回路190は、機能要素構成コントローラ192が処理装置(例えば、195、197、198、または199)を無効にしても完全な機能性を与える。
【0030】
マルチプロセッサ集積回路190の要素は、集積回路100の要素と同様に動作する。例えば、ワークフロー情報が、同様の方法で進路を変えられ、またはルーティングされる。機能要素構成コントローラ192は、機能要素の動作特性に関する情報(例えば、無効、有効、速度、電圧など)を分配要素191に与える。分配要素191は、処理装置195〜199に情報(例えば、ワークフローデータ)を分配する。この分配は、動作特性情報に部分的に基づく(例えば、ワークフロー情報を有効な機能要素に分配し、無効な機能要素に分配しない)。1つの例示的な実施において、収集要素194は、処理装置195〜199の出力を「収集」または格納するメモリ(例えば、共通のキャッシュ)である。1つの実施形態において、機能要素構成コントローラ192は、機能要素195〜199に供給されるクロック信号の周波数を変更するようにクロックソース181に命じ、および/または機能要素195〜199に供給される電力信号の電圧を変更するように電源182に命じ得る。
【0031】
本発明の1つの実施形態において、性能と機能性とは区別される。場合によっては、本発明では、特定のタイプの機能またはタスクが異なる性能レベルで達成されてもよいが、この機能またはタスクが実行可能であるという意味で、動作特性を変更する場合に機能性は制限されない。1つの実施形態において、機能要素構成コントローラが、タスクの並列実行が可能な全ての機能要素を無効にしない。例えば、ダイが処理装置に2つの並列浮動小数点機能要素を有し、機能要素構成が、浮動小数点機能要素の1つの有効化特性または状態(例えば、無効)に変更されると、ワークフローは、残りの有効な浮動小数点機能要素に「再ルート」される。浮動小数点の働きの性能レベルは、ワークフローが2つではなく1つの浮動小数点機能要素によって取り扱われているために変化(例えば、低速化)することもある。しかしながら、それでもダイは、同一の機能性またはタスクを与える(例えば、浮動小数点機能を実行する)能力を有する。
【0032】
本発明の1つの実施形態において、集積回路(例えば、集積回路100、集積回路150、集積回路190など)には、性能能力(例えば、有効および/または無効の機能要素数)に対応する性能インジケータがマーキングされる。マーキングは、電子読み取り可能なマーキングおよび/またはインクマーキング(例えば、ダイ上)であり得る。マーキングは、集積回路の品質評価のインジケータであり得る。マーキングはまた、集積回路に関連する性能測定基準(例えば、処理速度、帯域幅など)に対応し得る。
【0033】
機能要素構成コントローラ120、152、および/または192が、種々の目的に応じて機能要素の変更を命じ得ることを認識されたい。例えば、機能要素構成コントローラが、歩留まりの問題、互換性の問題、性能の問題、システムの「健全性」の問題などに基づいて、機能要素の動作特性を変え得る。また、機能要素構成コントローラ120、152、および/または192が、ソフトウェアプログラマブルレジスタまたはマスク、ハードコードされたマスクなどを含む、目的を達成するための種々の実施を含み得ることを認識されたい。
【0034】
1つの実施形態において、機能要素構成コントローラ(例えば、120、152、および/または192)が、歩留まりの問題に取り組むために、機能要素の動作特性の変更を命じる。本発明は、集積回路製造におけるウェハの歩留まりを高めるという利点を有する。本発明のシステムおよび方法により、いくつかの欠陥機能要素を有する集積回路を復旧させることができる。従来、欠陥機能要素を有するダイは破棄され、結果的に、ウェハの生産コストがより少数の許容可能なダイの負担となっていた。本発明により、欠陥機能ユニットを有するダイを使用して、欠陥要素の無効が性能に影響を及ぼすことがあっても、同じタイプの機能を実行し、それによって、機能性を維持できる。ウェハ上の有用なダイの数が増えると、ウェハの生産コストを負担する許容可能なダイの数がより多くなる。ウェハの一定の生産コストを負担するダイの数を多くすることによって、より安いコストでより少ない実行ダイが販売されたとしても、ダイ当たりのコストが軽減される。
【0035】
本発明により、ダイの一部が異なる性能レベルで動作することがあっても、ダイの「復旧」が行われる。1つの例示的な実施において、破棄されていたはずのダイは、ダイが同じタイプのタスクを実行するという意味で同じ機能性を提供することができる。例えば、浮動小数点演算を実行可能な並列浮動小数点機能要素を有する処理装置が、1つの実施形態において、本発明が全ての並列浮動小数点要素を無効にせず、無効にした並列浮動小数点要素から残りの浮動小数点要素へワークフローを「再ルート」するため、浮動小数点演算を実行することができる。より多くの無効な要素を有するダイは、一部の並列要素が無効であるために、異なるレベル(例えば、より低速)でタスクを実行することもある。しかしながら、それでもダイは、同じ機能性を提供する(例えば、同じタスクを実行する)能力を有する。
【0036】
1つの実施形態において、機能要素構成コントローラ(例えば、120、152、および/または192)が、製造テスト中、動作特性の変更(例えば、有効化、無効化など)を機能要素に命じる。例えば、機能要素構成コントローラ(例えば、120、152、または192)が、機能要素が欠陥であることをテストが示せば、機能要素(例えば、132、173、または198のそれぞれ)を無効化し、機能要素が欠陥でないことをテストが示せば、機能要素(例えば、131、174、197のそれぞれ)を有効化する。
【0037】
本発明の1つの実施形態において、機能要素構成コントローラ(例えば、120、152、および/または192)が、「自己健全性」の問題に取り組むために、機能要素の動作特性の変更を命じる。1つの例示的な実施において、機能要素コントローラは、「フィールド」において、または製造業者からの初期出荷後に自己健全性の問題に取り組む。1つの例示的な実施において、集積回路が、フィールド「自己健全性」テストにおいて実行可能である。例えば、「自己健全性」テストで、欠陥機能要素であることが結果的に示されれば、機能要素構成コントローラ(例えば、120、152、および/または192)が、欠陥機能要素を無効にし、機能要素が無効であるという指示を分配要素(例えば、110、150、または191)に与える。本発明の1つの実施形態において、自己健全性テストは、国際電気電子技術者協会(IEEE:International Electrical and Electronic Engineering)の規格1149.1(ジョイントタスクアクショングループ(JTGA:Joint Task Action Group)テストとも呼ぶ)に準拠する。別の実施形態において、自己健全性テストは、システムの動作の完全性をチェックするための独自のテストである。さらなる別の実施形態において、フィールドでの「自己健全性」テストが、機能要素が欠陥ではないことを示せば、機能要素が有効化される。
【0038】
さらなる別の実施形態において、欠陥機能要素として同様のタイプのタスクまたは機能を実行する有効化されていない非欠陥機能要素が利用可能であれば、有効化されていない非欠陥機能要素は、欠陥要素が無効化されれば有効化される。例えば、図1の集積回路100は、欠陥でなかったとしても(例えば、市場細分化の理由などで)、機能要素131および132が有効状態であり、機能要素133および134を無効状態にして初期出荷され得る。フィールド自己健全性テストが、後に、機能要素132が欠陥状態になったことを示せば、機能要素コントローラ120は、機能要素132を無効にし、機能要素133を有効にでき、無効化されてなければ機能要素132に流されていたワークフローが、機能要素133に分配される(例えば、分配要素110によって)。従って、機能要素132を無効にすることで、実際には、機能要素132の欠陥に関連する問題がなくなる一方で、すでに無効化されている機能要素133を有効化することで、同じタイプの機能性またはタスクを同じ性能レベルでワークフローで実行でき、それによって、システムは効率的に「自己回復」する。
【0039】
本発明の1つの実施形態において、機能要素構成コントローラ(例えば、120、152、および/または192)が、互換性の問題に取り組むために、機能要素の動作特性の変更を命じる。1つの実施形態において、グラフィックスアクセラレータに含まれる機能要素コントローラが、グラフィックスアクセラレータの特徴と互換性のあるチップセットを認識可能であり、それに応じて、グラフィックスアクセラレータの動作特性を変更する。例えば、機能要素構成コントローラが、グラフィックスパイプラインの動作特性を制御していれば、機能要素構成コントローラは、チップセットがサポートし、より多くの数のグラフィックスパイプラインの利用と互換性があれば、より多くの数のグラフィックスパイプラインを有効化し得る。例えば、グラフィックスアクセラレータおよびチップセットが、同じ製造業者によって製造され、グラフィックスアクセラレータに含まれる機能要素コントローラは、グラフィックスアクセラレータと同じシステムに含まれるチップセットを特定する信号を受信し得る。本発明の1つの実施形態において、ドライバによって互換性が確立され、機能要素コントローラが、それに応じて、機能要素の動作特性の変更を命じる。
【0040】
本発明の1つの実施形態において、機能要素構成コントローラ(例えば、120、152、および/または192)が、性能問題に取り組むために、機能要素の動作特性の変更を命じる。1つの実施形態において、性能マスク40は、性能問題に基づいて機能要素に動作特性の指示を与える。例えば、特定のアプリケーションが実行されており、所望のサポートされた機能要素動作特性が有効化される。アプリケーションがグラフィックスアプリケーションであれば、追加のグラフィックスパイプラインが有効化され、および/または既存のグラフィックスアプリケーションパイプラインのクロック速度が増大され得る。本発明の1つの実施形態において、システムのタイプは、性能動作変更に組み入れられ、例えば、モバイル装置において、節電するために性能は調節され得る。
【0041】
異なる目的に応じて機能要素の変更を実施するために、種々の機能要素構成コントローラの実施形態が存在することを認識されたい。図1Dは、異なる目的を制御するために、本発明の1つの実施形態による機能要素コントローラによって利用されるマスクアレイ10のブロック図である。マスクアレイの各マスクは、特定の動作目的に対応する。1つの例示的な実施において、マスクアレイ10は、歩留まりマスク20と、互換性マスク30と、性能マスク40と、自己回復マスク50とを備える。1つの例示的な実施において、各列11〜18は、8つの機能要素の1つに関連付けられる。各セル(例えば、セル99)は、動作特性設定値を含む。例えば、論理1の動作特性設定値が、機能要素の有効化、要素の高クロック速度、要素の高電圧レベルなどに対応し得る。逆に、論理0の動作特性設定が、機能要素の無効化、要素の低クロック速度、要素の低電圧レベルなどに対応し得る。本発明は、粒度の可変増分を有する動作特性設定(例えば、超高速、高速、中速、低速、超低速)に容易に適応可能であることを認識されたい。1つの例示的な実施において、マスクアレイ10は、レジスタアレイに与えられる。
【0042】
異なる目的またはマスクに優先度が割り当てられ得る。例えば、歩留まりマスク20は、性能マスク40より高い優先度で割り当てられ得る。この実施例において、セル98の動作特性設定値は、セル97の動作特性設定値を支配している。セル98の設定値が、列12に関連する機能要素が無効化されることを示せば、機能要素は、セル97の設定値にかかわらず無効化される。マスクアレイ10の値はまた、機能要素構成コントローラによって提供される動作特性設定を決定する際の種々の考慮すべき点を明らかにする種々のアルゴリズムにおいて利用され得る。
【0043】
歩留まりマスク20は、歩留まりの問題(例えば、欠陥)により無効化される機能要素の指示を与える。例えば、歩留まりマスク20は、機能要素が製造欠陥を有すれば、機能要素を無効化させる動作特性設定値を含む。1つの例示的な実施において、ワークフローを取り扱い得る別の動作機能要素があれば、機能要素が無効化されてもよい。
【0044】
互換性マスク30が、互換性の問題に基づいて、機能要素に動作特性の指示を与える。例えば、特定の処理装置およびチップセットが、互いに識別を交換でき、識別の交換に基づき、互換可能にサポートされた機能要素動作特性が有効化され得る。本発明の1つの実施形態において、ドライバによって互換性が確立され、対応する動作特性設定値が互換性マスク30に入力される。
【0045】
性能マスク40は、性能問題に基づいて、機能要素に動作特性の指示を与える。例えば、特定のアプリケーションが実行されており、性能マスク40に値が入力されて、対応する所望のサポートされた機能要素動作特性を有効化する。アプリケーションがグラフィックスアプリケーションであれば、追加のグラフィックスパイプラインが有効化され、および/または既存のグラフィックスアプリケーションパイプラインのクロック速度が増大され得る。本発明の1つの実施形態において、システムのタイプは、性能動作変更に組み入れられ、例えば、モバイル装置において、性能マスク40に入力された値が、節電するように性能調節を命じ得る。例えば、無効/有効機能要素、調節速度、電圧などを含む、機能要素の動作特性の変更を命じる。
【0046】
自己回復マスク50が、フィールドテスト問題に基づいて、機能要素に動作特性の指示を与える。例えば、機能要素の動作特性の変化を決定するために、テスト動作からの結果が利用される。1つの例示的な実施において、フィールドテストが、有効な第1の機能要素が欠陥であることを示す。第1の機能要素に関連付けられた自己回復マスクセルの動作特性設定値は、第1の機能要素が無効化されることを示すように変更され、無効化される第2の機能要素に関連付けられた自己回復マスクセルの動作特性設定値は、第2の機能要素が有効化されることを示すように変更される。第1および第2の機能要素のそれぞれの動作特性設定値を変更することによって、欠陥の第1の要素は無効化され、より多くの問題が生じなくなり、さらに、無効化された第2の機能要素を有効化すると、第2の機能要素は、第1の機能要素にルーティングされるはずだったワークフローを実行でき、従って、システムは、実際のところ、欠陥なく同じワークフローが実行可能であるという点で回復する。
【0047】
図2は、本発明の実施形態が実施され得るコンピュータシステムの1つの実施形態である、コンピュータシステム200のブロック図である。コンピュータシステム200は、中央演算処理装置201と、メインメモリ202(例えば、ランダムアクセスメモリ)と、ノースブリッジ209およびサウスブリッジ205を有するチップセット203と、取り外し可能なデータ記憶装置204と、入力装置207と、信号通信ポート208と、ディスプレイ220に結合されるグラフィックスサブシステム210とを含む。コンピュータシステム200は、コンピュータシステム200の要素を通信可能に結合するためのいくつかのバスを含む。通信バス291(例えば、フロントサイドバス)が、チップセット203のノースブリッジ209を中央演算処理装置201に結合する。通信バス292(例えば、メインメモリバス)が、チップセット203のノースブリッジ209をメインメモリ202に結合する。通信バス292(例えば、拡張グッラフィックスポートインタフェース)が、チップセット203のノースブリッジをグラフィックサブシステム210に結合する。通信バス294〜297(例えば、PCIバス)が、チップセット203のサウスブリッジ205を取り外し可能なデータ記憶装置204、入力装置207、信号通信ポート208のそれぞれに結合する。グラフィックスサブシステム210は、グラフィックス処理装置211およびグラフィックスバッファ215を含む。
【0048】
コンピュータシステム200の要素は、多用途の機能性および性能を与えるように協働して動作する。コンピュータシステム200に含まれた機能要素の動作特性は、動的に変化し得る。1つの例示的な実施において、コンピュータシステム200の要素は、コンピュータシステム200に含まれる機能要素の一部が欠陥であっても、所定のタイプの機能性を与えるように協働して動作する。通信バス291、292、293、294、295、および297が、情報を通信する。中央処理装置201が、情報を処理する。メインメモリ202が、中央処理装置201の情報および命令を格納する。また、取り外し可能なデータ記憶装置204が、情報および命令を格納する(例えば、大きな情報蓄積場所として機能する)。入力装置206が、情報の入力および/またはディスプレイ220上での情報のポインティングまたはハイライト表示の機構を与える。信号通信ポート208が、外部装置との通信インタフェース(例えば、ネットワークとのインタフェース)を与える。ディスプレイ装置220が、フレームバッファ215に格納されたデータに応じて、情報を表示する。グラフィックス処理装置211が、中央処理装置201からのグラフィックスコマンドを処理し、ディスプレイモニタ220によって格納および呼び出すために、グラフィックスバッファ215に結果のデータを与える。
【0049】
コンピュータシステム200に含まれた機能要素の動作構成は、種々の目的に見合うように柔軟に適応可能である。例えば、コンピュータシステム200に含まれる機能要素の動作構成は、機能要素の一部が無効化されても、あるタイプの機能の実行を維持するように構成可能である。1つの例示的な実施において、中央処理装置201およびグラフィックス処理装置211は、同じタイプの処理機能を実行可能であり、メインメモリ202は、機能要素の一部(例えば、浮動小数点要素、ピクセルシェーダ要素、メモリセル要素など)が無効化されても情報を格納する。1つの実施形態において、処理装置は、処理動作を実行するための複数の機能要素を含む。機能要素の動作特性は、変えられ得る。1つの実施形態において、処理装置は、処理動作を実行するための複数の機能要素を含み、複数の機能要素に含まれた欠陥機能要素が無効化される。処理装置はまた、ワークフローを有効な処理要素に供給し、無効な欠陥要素へワークフローを分配しないようにするためにワークフロー制御要素を含む。1つの例示的な実施において、コンピュータシステム200は、性能レベルを落として(例えば、より低速に)機能性が与えられることがあっても、全機能性を与え続けることができる。
【0050】
本発明が、種々の実施形態において実施され得ることを認識されたい。1つの例示的な実施において、本発明は、ビデオゲームを含む種々のグラフィックスアプリケーションを提供するように利用された処理システムにおいて利用され得る。例えば、本発明は、ゲーム機、パーソナルコンピュータ、パーソナルデジタルアシスタント、携帯電話、またはビデオゲームを実行するための任意の数のプラットフォームにおいて欠陥要素を無効化するために利用され得る。また、ビデオゲームアプリケーションの実施の参照は例示的であり、本発明はこれらの実施に限定されるものではないことも認識されたい。
【0051】
図3は、本発明の1つの実施形態によるグラフィックスパイプライン300のブロック図である。グラフィックスパイプライン300(例えば、ピクセル処理パイプライン)が、パイプライン入力310と、バーテックス処理装置311〜314と、ラスタライザ320と、ピクセルシェーダ321〜324と、プレラスタ演算(ROP)要素330と、ラスタ演算要素331〜334と、パイプライン出力340と、機能要素構成コントローラ350とを備える。機能要素構成コントローラ350は、パイプライン入力310と、バーテックス処理装置311〜314と、ラスタライザ320と、ピクセルシェーダ321〜324と、プレラスタ演算(ROP)要素330と、ラスタ演算要素331〜334と、パイプライン出力340とに結合される。パイプライン入力310は、ラスタライザ320に結合されたバーテックス処理装置311〜314に結合される。ラスタライザ320は、プレラスタ演算要素330に結合されたピクセルシェーダ321〜324に結合される。プレラスタ演算(ROP)要素330は、パイプライン出力340に結合されたラスタ演算要素331〜334に結合される。1つの実施形態において、グラフィックスパイプライン300は、パイプライン集積回路150に類似している。例えば、パイプライン151は、バーテックス処理装置311と、ピクセルシェーダ321と、ROP331とを含み、パイプライン152は、バーテックスプロッセッサ312と、ピクセルシェーダ322と、ROP332とを含み、パイプライン153は、バーテックス処理装置313と、ピクセルシェーダ323と、ROP333とを含み、パイプライン154は、バーテックス処理装置314と、ピクセルシェーダ324と、ROP334とを含み、パイプライン入力310、ラスタライザ320、プレROP330、およびパイプライン出力340は、パイプライン151〜154に共通したものであり得る。
【0052】
グラフィックスパイプライン300の要素は、パイプラインの機能要素の動作特性の一部が変更されたとしても(例えば、無効化/有効化)、グラフィックスパイプライン動作を実行するように協働して動作する。機能要素構成コントローラ350は、バーテックス処理装置311〜314、ピクセルシェーダ321〜324、および/またはラスタ動作要素331〜334の動作特性を変更し得る。機能要素構成コントローラ350は、機能要素の有効化/無効化、機能要素のクロック速度の変更、および/または機能要素への電圧供給の増大を含む動作特性に対して種々の変更を行い得る。機能要素構成コントローラ350は、歩留まりの問題(例えば、機能要素が欠陥であり、および/または欠陥要素に関連する)、互換性の問題、性能の問題、および/またはシステム「健全性」の問題を含む種々の理由で変更を行い得る。機能要素構成コントローラ350はまた、パイプライン入力310と、ラスタライザ320と、プレラスタ演算(ROP)要素330と、パイプライン出力340とに対して、動作特性の変更に関する情報を与える。パイプライン入力要素310は、グラフィックスパイプライン情報を受信し、有効な状態のままのバーテックス処理装置311〜314に対応するパケット化されたグラフィックスパイプライン情報を分配する。バーテックス処理装置311〜314は、それぞれ受信したグラフィックスパイプライン情報にベクトルシェーディングを実行し、その結果の情報をラスタライザ320に転送する。ラスタライザ320は、どのピクセルをシェーディングするかを決定し、パケット化されベクトルシェーディングされたグラフィックスパイプライン情報をピクセルシェーダ321〜324に分配する。ピクセルシェーダ321〜323は、パケット化されベクトルシェーディングされたグラフィックスパイプライン情報にピクセルシェーディング計算を実行し、その結果をプレラスタ演算(ROP)要素330に転送する。
【0053】
1つの実施形態において、ピクセルシェーダ321〜324はまた、テクスチャ演算を実行し得る。テクスチャ演算は、テクスチャシェーダ要素(ピクセルシェーダに対応する)によって実行され得る。プレラスタ演算(ROP)要素330は、ベクトルシェーディング情報を集め、パケット化されピクセルシェーディングされた情報をラスタ演算要素331〜334に分配する。ラスタ演算要素331〜334は、パケット化されピクセルシェーディングされた情報にさらなるラスタ化処理を実行し(例えば、色結合およびZバッファ処理の実行)、その結果をパイプライン出力340に転送する。パイプライン出力340は、グラフィックスパイプライン情報をまとめて、単一の出力ストリームにする。代替的に、機能要素構成コントローラ350は、パイプラインの機能要素のそれぞれのレベルの間に位置するクロスバーまたはマルチプレクサ構造として与えられてもよい。
【0054】
本発明はまた、複数の区分に分割されたフレームバッファインタフェースの部分に適用され得る。1つの例示的な実施において、フレームバッファインタフェースは、メモリと通信する機能要素として動作する複数の同様のモジュール(例えば、フレームバッファを構成するDRAMの一部分)を含む。モジュールの1つが欠陥であれば、そのモジュールは無効化でき、欠陥モジュールのワークロードは、別のモジュールに再び割り当てられる(例えば、モジュールに関連付けられたメモリアドレスの部分に基づいて)。例えば、メモリアドレスに対するフレームバッファインタフェースモジュールのマッピングは、メモリ全体がチップに対して利用可能であるようにリマッピングされる。
【0055】
図4は、本発明の1つの実施形態による、機能要素構成プロセス400のフローチャートである。機能要素構成プロセス400は、集積回路において機能要素の柔軟な構成を行う。例えば、機能要素構成プロセス400は、集積回路における機能要素の動作特性(例えば、有効、無効、変更速度、変更電圧など)の変更を命じる。機能要素構成プロセス400が、種々の目的に応じて機能要素の動作特性を再構成するために(歩留まりを上げ、柔軟な性能を提供し、自己回復を行うなど)利用され得ることを認識されたい。1つの実施形態において、機能要素構成プロセス400はまた、効率的な情報処理ワークフロー管理を行う。
【0056】
ステップ410において、機能要素構成(例えば、動作特性)の変更トリガイベントの指示が受信される。本発明の1つの実施形態において、変更トリガイベントの指示は、機能要素コントローラ(例えば、120など)によって受信される。この指示は、変更すべき構成変更の指示(例えば、無効、有効、速度および電圧の増減など)を含み得る。1つの実施形態において、機能要素の構成変更トリガイベントは、集積回路の内部要素(例えば、内部テストシステム、ドライバ、アプリケーションなど)から受信する。機能要素の構成変更トリガイベントの指示はまた、集積回路の外部にある要素(例えば、外部テストシステム、インターネット、集中的構成システムなど)から受信し得る。
【0057】
指示および構成変更トリガイベントが、種々の動作目的(例えば、アプリケーション、ペイパーユース、市場細分化など)に関連付けられ得ることを認識されたい。変更トリガイベントが、歩留まりの問題に関連付けられ得る。例えば、イベントは、欠陥機能要素を検出するテスト動作に関連付けられることができ、欠陥機能要素を特定する指示が受信される(例えば、機能要素コントローラによって)。本発明の1つの実施形態において、欠陥機能要素の指示は、テストシステムから受信される。例えば、国際電気電子技術者協会(IEEE)規格1149.1(ジョイントタスクアクショングループ(JTGA)テストとも呼ぶ)に準拠するテストシステムおよび/または独自の動作完全性テスト(例えば、独自のスキャンテスト機構)である。変更トリガイベントが、互換性の問題に関連付けられ得る。例えば、要素が所定の互換性を有することを指示する信号が受信される。変更トリガイベントが、性能問題に関連付けられ得る。例えば、新規および/または異なるアプリケーションがロードされていることを指示する信号が受信され、ペイパーユース許可が与えられ、および/または節電が望ましいモバイル装置に集積回路が含まれる。変更トリガイベントがまた、自己テストおよび回復の問題に関連付けられ得る。
【0058】
ステップ420において、指示された機能要素構成変更(例えば、動作特性の変更)が有効であるかの決定がなされる。例えば、機能要素の許可された動作特性の決定がなされる。1つの実施形態において、ステップ410において受信した指示は、符号化されたビットストリームである。ビットストリームは復号化され、その結果得られた値は、機能要素構成変更をトリガするために、有効な許可であることが検査される。本発明の1つの実施形態において、符号化されたインジケータが解析される。この解析は、インジケータを復号することと、それを機能要素の異なる可能な動作特性設定の所定のリストと比較することとを含む。例えば、復号化されたインジケータの値は、許可されたトリガ指示または値の所定のリストの値と比較され、リストの値は、特定の動作特性設定に関連付けられる。
【0059】
本発明の1つの実施形態において、機能要素構成変更アクションはまた、有効性がチェックされる。例えば、歩留まりおよび自己回復の問題に関連して、機能要素無効化を実行すると、1つの実施形態において、欠陥機能要素に進むはずだったワークフロー情報に同様の機能を実行し得る第2の機能要素(例えば、並列)があるかどうかの決定がなされる。例えば、欠陥機能要素が、複数の同様の機能要素の1つであるかどうかの決定がなされる。本発明の1つの実施形態において、欠陥要素のタイプは、同様の機能を与える複数の要素のリストと比較される。例えば、欠陥要素は特定され(例えば、ピクセルシェーダ、バーテックス処理装置、浮動小数点要素など)、特定された機能要素は、同じ機能性を与え得る他の同様の要素のリストと比較される。1つの例示的な実施において、他の同様の要素は、欠陥機能要素に対する並列の要素であるかを決定するために検査される。ワークフローを実行し得る第2の機能要素があれば、第1の機能要素は無力化され得る(例えば、第1の機能要素が欠陥であれば)。
【0060】
ステップ430において、機能要素の構成の変更が命じられる。本発明の1つの実施形態において、機能要素の構成の変更(例えば、動作特性の変更)は、機能要素コントローラ(例えば、120、152、192など)によって命じられる。本発明の1つの実施形態において、機能要素の構成の変更(例えば、無効化、有効化など)は、機能要素の構成(例えば、動作特性)を制御する値(例えば、レジスタの)をプログラミングすることによって達成される。レジスタの値に基づいて、要素の構成(例えば、無効、有効など)を変更する機能要素に信号が送信される。1つの例示的な実施において、値はマスクにおいて構成される。機能要素の構成を変える(例えば、動作特性を変える)ための種々の本発明の方法があることを認識されたい。例えば、欠陥機能要素の無効化は、欠陥機能要素への通信ラインを止めることによって達成され得る。欠陥機能要素はまた、欠陥機能要素が確実にスプリアストラフィックを確保しない方法で無効化され得る。また、受信要素が、欠陥要素を通知され、欠陥機能要素からくる情報を無視するようにプログラミングされ得る。機能要素構成はまた、ソフトコード化方法によって変えられ得る。
【0061】
1つの実施形態において、機能要素の進行中の動作がモニタリングされ、ステップ430の構成動作に組み入れられる。例えば、システム「健全性」はチェックまたはテストされ、その結果は、動作特性への変更を決定する際に利用される。例えば、第1の機能要素が自己診断テストに失敗すれば、機能要素は無効化され得る。第2の機能要素が利用可能であれば、第1の機能要素と「取り替える」ためにアクティブにされ得る。例えば、第2の機能要素が完全に良好に働くが、何らかの他の理由ですでに無効化されたものであれば、テストに失敗した機能要素と取り替えるために有効化され得る。1つの例示的な実施において、アプリケーションのアクティブ化がモニタされ、それに応じて、機能要素の動作特性が変えられる。例えば、高性能グラフィックスアプリケーションがアクティブにされれば、機能要素の動作特性は高まり(例えば、より高速なクロック設定)および/または追加の機能要素(例えば、追加のグラフィックスパイプライン)が有効化または無効化され得る。
【0062】
また、システムの要素の変更(例えば、新しい要素の追加)がモニタリングされ、要素の変更に対応するために、動作特性が変更される。例えば、特定のタイプのグラフィックス処理装置が特定のタイプのチップセットに結合されれば、識別指示が伝達され、それに応じて、機能要素の動作特性が変えられ得る。識別により、互換性が予め決定され、強化された機能がサポートされる。1つの実施形態において、識別は符号化される。符号化することにより、動作特性設定の不当な変更を防ぐ。例えば、符号化により、機能要素の動作特性を不適切に低減しようとし、および/または特定が困難な複雑な障害を起こしかねない互換性の保証なしに動作特性を高めようとする試みからの保護が得られる。
【0063】
本発明の1つの実施形態において、動作特性の変更は、機能要素の間で調整される。例えば、(例えば、同じパイプライン、スレッドなどで)変更された機能要素と緊密に関連する適切に動作する機能要素が変更され得る。1つの例示的な実施において、動作の変更は、製品の差別化を維持するために、機能要素間で調整される。例えば、より低い性能のチップが、1つ少ないピクセルシェーディング要素と、1つ少ないバーテックスシェーディング要素とを有するものとして指定されれば、ピクセルシェーディング要素とバーテックスシェーディング要素の両方は、製品の差別化を維持するために無効化され得る。
【0064】
ステップ440において、ワークフローは、機能要素の変更に応じて進路を変えられる。例えば、ワークフローは、他の同様の機能要素に進路を変えられ得る。1つの実施形態において、ワークフローの変更は、構成の変更(例えば、有効化、無効化など)を、さもなければ変更された機能要素に情報を伝達するであろう要素に通知することによって達成される。例えば、機能要素コントローラ(例えば、120など)が、機能要素構成の変更(例えば、動作特性の変更)の指示を分配要素(例えば、110など)に与え、分配要素は、それに応じて、ワークフロー情報をルーティングする。例えば、第1の機能要素が有効化されれば、ワークフローは、第1の機能要素へルーティングされ、またはスケジューリングおよび転送される。第1の機能要素が無効化されれば、ワークフローは、別の有効な機能要素へルーティングされ、またはスケジューリングされる。
【0065】
1つの例示的な実施において、ワークフローは、より高速または低速の機能要素に進路を変えられ、またはルーティングされる。例えば、ワークフローのコンテンツが解析され、より高性能のアクティビティに関連するワークフローの一部が、より高速の機能要素(例えば、高速クロックレートで動作する機能要素)にルーティングされ、より低性能のアクティビティに関連するワークフローの一部が、より低速の機能要素にルーティングされる。高速変化しているグラフィックスイメージの領域にあるピクセル(例えば、ディスプレイの中心に向かうピクセル)が、より高速の機能要素(例えば、高速クロックのシェーダ)にルーティングされ得、低速変化しているグラフィックスイメージの領域にあるピクセル(例えば、ディスプレイの縁に向かうピクセル)が、より低速の機能の要素(例えば、低速クロックのシェーダ)にルーティングされる。
【0066】
機能要素の動作特性の変更(例えば、無効化など)は、他の要素への影響を低減させる方法で調整され得る。1つの実施形態において、適切に動作する機能要素が、無効化された要素の出力にある可能性があるガーベッジ(例えば、不正信号の組み合わせ)に耐性であるようにプログラミングまたは再構成され得る。例えば、適切に動作する機能要素が、無効の要素からの情報を無視するように命じられ得る。受信要素(例えば、収集要素140)が、機能要素の動作特性の変更を通知され、それに応じて反応するようにプログラミングされ得る。例えば、機能要素の速度が低下すれば、受信要素は、機能要素からの情報を待機しながらアイドリングするのではなく、後で再びチェックバックするようにプログラミングされ得るか、または機能要素が無効化されれば、機能要素からの情報を無視するようにプログラミングされ得る。機能要素が無効化されれば、受信要素は、機能要素からの信号を無視するようにプログラミングされ得る。
【0067】
図5は、本発明の1つの実施形態による、性能を低減した回路復旧方法500のフローチャートである。性能を低減した回路復旧方法500により、破棄されるはずであったダイが取り戻される。1つの実施形態において、性能を低減した回路復旧方法500は、ダイをテストし、ダイの機能性が確実に維持される方法で欠陥機能要素を無効化する。
【0068】
ステップ510において、テスト用にチップを準備する。テストシステムにチップが配置され、テストシステムが初期化される。本発明の1つの実施形態において、スキャンテストセルにスキャンテストの初期状態が入力される。例えば、チップは、国際電気電子技術者協会(IEEE)規格1149.1(ジョイントタスクアクショングループ(JTGA)テストとも呼ぶ)に準拠したテストの準備が整えられ得る。本発明の1つの実施形態において、チップのテスト能力に互換性のあるカスタムタイプのテスト(例えば、独自および/または非JTAG準拠テスト)が利用される。
【0069】
ステップ520において、チップがテストされる。本発明の1つの実施形態において、テストは、チップの欠陥機能要素を特定することを含む。本発明の1つの例示的な実施において、ビルトインセルフテスト(BIST:built in self test)が実行される。例えば、回路のある態様(例えば、機能論理要素)を促進するようにテストベクトルを適用し、その結果得られた回路からの出力を取り込むBISTに、スキャンテストが含まれる。スキャンテストチェーンは、スキャンテストチェーンを介して回路の機能要素にスキャンテスト情報(例えば、テストベクトル)をスキャンまたはシフトし、機能要素がスキャンテスト情報に関する演算を実行するようにさせ、その結果の情報を取り込み、次いで、スキャンテストチェーンのスキャンテストセルを介して結果の情報をシフトアウトするようにデザインされる。次いで、結果の情報は、エラーがないか解析される(例えば、所定の正確な結果と比較して)。テストベクトルパターンは、自動テストパターン発生(ATPG:automated test pattern generation)ツールによって与えられ得る。
【0070】
本発明の1つの実施形態において、欠陥である特定の機能要素が特定される。1つの例示的な実施において、スキャンテストの出力結果は、どの機能要素が欠陥であるかという指示を与える。例えば、テストパターンの結果は解析され、欠陥機能要素が特定される。本発明は、欠陥機能要素が、同様のダイに含まれる別の機能要素をもたないものであるかを決定し得る。1つの実施形態において、欠陥機能要素が重要であるか、および/または欠陥機能要素が無効化されれば、ダイにワークフローを取り扱うことができる機能要素が他にないかどうかの区別がなされる。このような機能要素が特定されれば、本発明の1つの実施形態において、ダイが全機能を提供できないため、ダイは破棄される。
【0071】
本発明の1つの実施形態において、欠陥要素の指示を行いやすいように、無効化要素が利用される。1つの例示的な実施において、複数の同様の機能要素(例えば、ピクセルシェーダ321〜324)によって、テストベクトル演算が実行される。エラー結果があれば、さらなるテストが実行される。複数の機能要素の第1の要素(例えば、ピクセルシェーダ321)が、無効化要素によって無効化され、テストベクトル演算が、残りの機能要素によって実行される。他の形態として、テストプロセスにおいて、機能要素の無効化をシミュレートするために、ソフトウェアシミュレーションが利用され得る。例えば、ピクセルシェーダ321が無効化され、テストベクトル演算が、ピクセルシェーダ322〜324によって実行され、その結果が解析される。エラー結果がなければ、第1の機能要素は、欠陥要素として特定される。エラー結果のままであれば、複数の機能要素の第2の要素(例えば、ピクセルシェーダ321)が、無効要素によって無効化され、テストベクトル演算が、残りの機能要素によって実行される。エラー結果がなければ、第2の機能要素は、欠陥要素として特定される。除去プロセスは、欠陥要素が特定されるまで続く。
【0072】
ステップ530において、機能要素構成プロセス(例えば、機能要素構成プロセス400)が、テストの結果に基づいて、チップに実行される。本発明の1つの実施形態において、機能要素構成プロセスは、機能要素が欠陥であれば、チップの複数の同質の機能要素(例えば、実行要素)の1つ以上を無効化する。例えば、欠陥機能要素に無効信号が発せられる。
【0073】
1つの実施形態において、性能を低減した回路復旧方法500が、他の機能要素が無効化された機能要素の機能を実行できるように、チップをプログラム可能に再構成することを含む。例えば、無効化された機能要素を特定する分配要素にマスクがプログラミングされ、ワークフローは、残りの機能要素間に分配され得る。マスクは、テスト時間で実行されたソフトウェアロード可能なレジスタか、ハードコードされたマスクタイプのプログラムのいずれかとしてプログラムされ得る。プログラム可能な不揮発性メモリ、ヒューズ、ワイヤボンドストラップなどを含む利用可能な種々の技術がある。
【0074】
性能を低減した回路復旧方法500の1つの実施形態において、テスタのプログラムが、特定の性能レベルに対するダイの特性の定義を含む。1つの例示的な実施において、テスタは、各性能レベルにおいてどの欠陥が許容可能であるかの指示を含む。例えば、テスタは、第1の複数の並列機能要素が無効化され得る第1の性能レベルと、第2の複数の並列機能要素が無効化され得る第2の性能レベルとを含み得る。また、性能レベルは、有効化される機能要素の数に対応し得る。また、本発明は、テスト手順の一環として性能レベルに基づいて、ダイの自動廃棄を促進し得る。
【0075】
図6は、本発明の1つの実施形態によるテスト環境であるテスト環境600のブロック図である。テスト環境600は、ダイ610と、テストシステム650とを含む。ダイ610は、テストインタフェース633と、分配器631と、機能要素611〜614とを備え、各機能要素および分配器631は、スキャンテストセル621〜625をそれぞれ含む。ダイ復旧テストシステム650は、テストモジュール680と、欠陥要素分解モジュール670とを備え、このモジュール670は、機能性メンテナンスモジュール671と、対応する要素検出モジュール672と、無効化モジュール673と、ダイ拒絶モジュール674とを含む。
【0076】
ダイ復旧テストシステム650が、ダイ610をテストする。テストモジュール680は、スキャンテストセル621〜625にテストベクトルを送るテストインタフェース633にテストベクトルを与える。スキャンテストセル621〜625の情報は、機能要素611〜614および分配器631に供給され、スキャンテスト情報に関する演算を実行する。これらの結果はまた、スキャンテストセル621〜625によって取り込まれ、これらの結果を解析用にテストシステム650に送るテストインタフェース633に伝達される。テストモジュール680は、これらの結果を解析し、欠陥機能要素の指示を欠陥分解モジュール670に与える。欠陥分解モジュール670は、機能要素を無効化することによってダイが復旧され得るかどうかを決定する。
【0077】
機能性メンテナンスモジュール671は、無効化されてもよいグループに、特定した機能要素が含まれるかどうかを決定する。1つの実施形態において、機能性メンテナンスモジュール671は、特定された(例えば、欠陥)機能要素のワークフローを取り扱うことができる他の機能要素があるかを決定する。例えば、ワークフローは、別の機能要素に転送またはリルーティングされ得る。1つの例示的な実施において、機能性メンテナンスモジュール671は、無効化されてもよい所定の要素リストに対して特定された機能要素をチェックする(例えば、他の要素が、ワークフローを取り扱い得る)。
【0078】
対応する要素検出モジュール672は、無効化されなければならない関連する機能要素があるかを決定する。関与する機能要素は、適切に機能する要素であり得る。本発明の1つの実施形態において、(例えば、同じパイプライン、スレッドなどにおいて)欠陥機能要素に緊密に関連する機能要素が特定される。例えば、機能要素が、欠陥要素の下流にあれば、適切に機能する要素は、スイッチングアクティビティおよび対応する電力消費を防止するために無効化され得る(例えば、電源が切られる)。1つの例示的な実施において、機能要素は、製品の差別化を維持するために無効化され得る。無効化されなければならない他の機能要素が特定されれば、これらを無効化することが機能性に影響を及ぼすかどうかを決定するために、機能性メンテナンスモジュール671に、これらの要素のアイデンティティが返される。
【0079】
無効化モジュール673は、機能要素の無効化(機能要素611、612、613、または614の無効化)を命じる。本発明の1つの実施形態において、無効化モジュール673は、テストインタフェース633を介して機能要素に直接、無効化信号を送信する。別の実施形態において、無効化モジュール673は、ダイ610の無効化要素(図示せず)に信号を送信する。無効化モジュール673は、機能性メンテナンスモジュール671が、要素の無効化が許可可能であるか(例えば、機能性を除去しない)という指示を与える。1つの例示的な実施において、機能性メンテナンスモジュール671は、機能性を低減しないかぎり、無効化モジュール673は、性能を低減したとしても機能要素を無効化することができる。
【0080】
ダイマーキングモジュール674が、ダイをマーキングする。本発明の1つの実施形態において、ダイマーキングモジュール674は、性能基準に基づいてダイをマーキングする。ダイマーキングモジュール674はまた、ダイが拒絶されれば、マーキングまたは指示を与える。ダイは、機能性メンテナンスモジュール671が、欠陥機能要素が無効化されるべきではなく、および/またはダイの性能が所定のレベルを下回るという指示を与えるため拒絶され得る。1つの例示的な実施形態において、ダイが、無効化される機能要素に基づいてマーキングされる。例えば、所定の数および/またはタイプの機能要素が無効化されれば、ダイは、それに応じてマーキングされる。
【0081】
本発明の1つの実施形態において、ダイマーキングモジュール674はまた、その上にダイが位置するウェハをマーキングする。本発明の1つの実施形態において、ダイマーキングモジュール674は、歩留まりの基準に基づいてウェハをマーキングする。歩留まりの基準は、異なる性能レベルに対して区分され得る。例えば、歩留まりのマーキングは、ウェハにある一定の数またはパーセンテージのダイが、無効の機能要素をもたず、一定数またはパーセンテージのダイが、決まった数の無効機能要素を有し、および一定数またはダイが拒絶され、または復旧されないことを示し得る。
【0082】
図7は、本発明の1つの実施形態によるダイ分類プロセスの1つの実施形態であるダイ分類プロセス700のフローチャートである。ダイ分類プロセス700は、異なる性能レベルでの同様の構成で、ダイの製造および分類を含む。1つの例示的な実施において、同じ作製プロセスにおいて製造されるダイが、異なる性能レベルに基づいて分類される。例えば、ダイは、同じ数の機能要素(例えば、トランジスタ)を有するが、機能の実行を邪魔しないが、性能に影響を与えることもある方法で無効化されるものもある。ダイ分類プロセス700は、同じ機能性および異なる性能レベルで、ダイの分類および分配を促す。
【0083】
ステップ710において、同様の構成を有する複数のダイが作製される。本発明の1つの実施形態において、複数のダイは、単一のウェハ上に作製される。本発明の1つの実施形態において、同様の構成により、複数のダイの各々が、所定のタイプの機能性を実行できる。1つの例示的な実施において、同じリソグラフィープロセスステップは、複数のダイを作製するために利用される。1つの実施形態において、同様の構成が、ダイに関するデータシート情報を検討することによって決定され得る。例えば、データシート情報は、ダイサイズ(例えば、トランジスタ数)、機能性インジケータ、および/または性能インジケータ、および/またはダイが関連する製品ラインに関する情報を含む(例えば、ダイの販売目的を決定することによって)。また、ダイが同じ作製コストを実質的に有していれば、同様の構成を指定できる。
【0084】
ステップ720において、要素が、要素に関連する機能を実行するためのダイの能力をなくさずに、複数のダイの1つ内の生産的貢献に関与できないようにされる。本発明の1つの実施形態において、要素の生産性を取り除くことは、性能に影響を及ぼすこともあるが、機能性のタイプをなくすことではない。1つの例示的な実施において、要素は、要素を無効化することによって、生産的貢献に関与できないようにされる。無効化された要素のワークフローは、他の要素に方向を変えられ得る。1つの実施形態において、要素が生産的貢献に関与できないようにすることは、データシート情報を解析することによって検出され得る。例えば、異なる性能レベルで同じタイプの機能性を与える製品ラインに適用可能な製品シートをダイが有するかどうかである。代替的に、要素が生産的貢献に関与できないようにされるかどうかの別の指示は、どのデータシート情報がダイに適用されるかの決定が、テストの実行後までなされていないかどうかである(例えば、データシート情報の選択が、テスト結果に基づいてダイ要素の変更に対応する)。
【0085】
ステップ730において、機能性を異ならしめた性能レベルに基づいて、複数のダイの各々が分類される。1つの例示的な実施において、ダイは、機能性が与えられる性能レベルに相関して、異なる価格で分配または販売される製品に含まれる。同じデザインのダイは、本発明の1つの実施形態において、異なる性能レベル(例えば、異なる速度、帯域幅など)で分配される。
【0086】
図8は、本発明の1つの実施形態による処理ユニット800のブロック図である。本発明の1つの実施形態において、処理ユニット800は、コンピュータベースのシステム(例えば、コンピュータシステム200)に含まれる。1つの例示的な実施において、処理ユニット800は、中央演算処理装置201および/またはグラフィックス処理ユニット211に類似している。処理ユニット800は、割り当て要素810と、性能管理状態要素820と、演算要素831〜834とを備える。1つの実施形態において、割り当て要素810は、分配要素110に類似し、性能管理状態要素820は、機能要素コントローラ120に類似し、演算要素831〜834は、機能要素131〜134に類似する。演算要素831〜834の各々は、様々なタスクに関連する処理演算を実行する(例えば、浮動小数点計算、グラフィックスデータ操作など)。1つの実施形態において、演算要素831〜834は、同様のタスクまたは機能を実行する。性能管理要素820は、演算要素831〜834の各々の動作特性(例えば、有効、無効など)の変化を選択的に管理する。割り当て要素810は、演算要素831〜834と、性能管理要素820とに結合される。割り当て要素810は、有効化された機能要素831〜834の各々に情報を割り当てる。例えば、割り当て要素810は、演算要素が有効化されれば、演算要素831〜834に処理ワークフロー情報を割り当てる(例えば、分配する)。1つの実施形態において、性能管理状態要素820および演算要素831〜834は、機能要素コントローラ120および機能要素831〜834に類似する。
【0087】
性能管理要素820は、演算要素の変更を指示する情報を受信する。例えば、テスト結果が、演算要素が欠陥であることを示す。性能管理要素820は該情報が当てはまる演算要素831〜834のサブセットを特定する。例えば、欠陥である演算要素のサブセットであり、使用を有効化されていないサブセットである。1つの例示的な実施において、欠陥でないサブセットが有効化される。例えば、テスト結果が、演算要素831〜834が欠陥であることを示せば、演算要素820は、演算要素832〜833を有効化するが、演算コンポーエンント831〜834を有効化しない。演算要素831〜834が有効化されれば、性能管理要素820がそれらを無効化する。性能管理要素820はまた、動作特性状態指示を割り当て要素810に与える。例えば、動作特性状態指示は、どの機能要素が有効化されるか、および無効化されるかを示す。有効化される演算要素の各々は、有効化されない演算要素によって実行されるはずであった同様の機能を実行可能である。
【0088】
図9は、本発明の1つの実施形態によるウェハ歩留まり最適化方法900のフローチャートである。ウェハ歩留まり最適化方法900は、ウェハから使用可能なダイの歩留まりを上げる。1つの例示的な実施において、ウェハ歩留まり最適化方法900は、ウェハからの全歩留まりを上げるために、ウェハから破棄されるはずであった欠陥要素によってダイの復旧を行う。
【0089】
ステップ910において、ウェハが作製される。ウェハは、複数のダイを含み、複数のダイの各々は、複数の機能サブ要素を用いて複数のサブタスクを並列実行可能な機能要素を有する。例えば、各ダイは、機能サブ要素(例えば、シェーダ、ラスタライザなど)によって種々のグラフィックスサブタスク(例えば、シェーディング、テクスチャリング、エイリアシング、ラスタライジングなど)を実行するパイプラインを含み得る。本発明の1つの実施形態において、ウェハは、リソグラフィープロセスを用いて作製される。
【0090】
ステップ920において、各ダイに対して、動作可能である複数の機能サブ要素の各々と、動作不能である複数の機能サブ要素の各々が特定される。1つの実施形態において、動作可能および動作不能の機能サブ要素は、従来の回路テストプロセスの一環として特定される。例えば、機能サブ要素に、所定の入力が供給され、その結果の出力は検査される。出力情報は、エラーがないか検査される(例えば、出力は、所定の正確な結果と比較される)。出力情報がエラーを含めば(例えば、出力が所定の正確な結果と整合しなければ)、機能サブ要素は、動作不能であると特定される。
【0091】
ステップ930において、動作不能であると特定された上記複数の機能サブ要素の各々の動作が無効化される。1つの実施形態において、動作可能であると特定された上記複数の機能サブ要素の各々は、有効化され得る。1つの実施形態において、動作不能の機能サブ要素は無効化され、動作可能の機能サブ要素は、ハード「コード化」された機構によって有効化される。例えば、機能サブ要素を構成または無効化するために、ファウンドリレーザトリムビットが利用される。別の実施形態において、機能サブ要素を構成(例えば、無効化または有効化)するために、ソフトウェアプログラム可能な情報が利用される。
【0092】
ステップ940において、複数のダイの各々が、動作可能な状態に基づいて性能クラスにソートされる(例えば、ステップ930において、動作可能または動作不能と特定された要素)。例えば、ダイは、機能サブ要素の全てまたはかなりのパーセンテージが動作可能であり有効化される高性能クラスにソートされ得る。ダイは、より少ない数の機能サブ要素が有効化されたままである中程度の性能レンジクラスにソートされ得る。これらの性能レンジは、復旧可能であるものとされ得る。また、ダイが最低限を満たさず、破棄される(または、問題を解決するであろう何らかの他の修正アクションを受ける)性能クラスもあり得る。
【0093】
ステップ950において、復旧可能であるとされた性能クラスにソートされたダイは、復旧される。例えば、タスクの実行速度が低減されても、処理タスクを実行するために、いくつかの無効な機能サブ要素を有するダイが使用される。
【0094】
図10は、本発明の1つの実施形態による機能要素リモート構成アーキテクチャ1100のブロック図である。機能要素リモート構成アーキテクチャ1100は、集積回路ダイに含まれる機能要素の構成を促す。例えば、構成は、外部またはリモートシステムから制御される。機能要素リモート構成アーキテクチャ1100は、機能要素の動作特性が、多数の所望の実施を達成するために、確実かつ制御された方法で変えられ得るアーキテクチャを提供する。
【0095】
リモート構成環境1100は、集積回路ダイ1110と、リモート構成制御モジュール1150とを含む。集積回路ダイ1110は、構成モジュール1133と、分配要素1131と、機能要素1111〜1114とを備え、各機能要素および分配要素1131の各々は、動作特性レジスタ1121〜1125をそれぞれ含む。リモート構成コントローラモジュール1150は、符号化モジュール1180と、構成分解モジュール1170とを備える。
【0096】
リモート構成コントローラモジュール1150は、集積回路ダイ1110の機能要素の構成を制御する。1つの実施形態において、リモート構成コントローラモジュール1150は、オフチップである(例えば、ドライバにおいて)。構成分解モジュール1170は、集積回路ダイ1110の機能要素の動作特性設定を決定する。1つの例示的な実施において、構成分解モジュール1170は、アップグレードされた動作特性に関して合意に達した自動機能性ネゴシエーションプロセス(例えば、要求に応じた容量)に関与し、機能性インジケータが、機能性ネゴシエーションプロセスの一環として動的に変更される。動作特性は、1つの例示的な実施において製品差別化を維持するように設定される。構成分解モジュール1170は、動作特性インジケータ値を符号化モジュール1180に転送する。符号化モジュール1180は、動作特性インジケータ値を符号化し(例えば、キー、ハッシュ値などで)、符号化された動作特性インジケータ値を構成モジュール1133に転送する。
【0097】
構成モジュール1133は、機能要素構成を命じる。例えば、構成モジュール1133は、符号化モジュール1180から受信した符号化された動作特性設定値に基づいて、機能要素動作特性設定(例えば、機能要素1111、1112、1113、または1114)の変更を命じる。構成モジュール1133は、機能要素動作特性インジケータ値を復号し得る。構成モジュール1133は、対応する動作特性設定と比較するために、機能性トラッキングモジュール1137に復号化された値を転送する。
【0098】
機能性トラッキングモジュール1137は、機能要素動作特性のメンテナンスを命じる。1つの例示的な実施において、機能性トラッキングモジュール1137は、復号化された機能性インジケータ値と特定の動作特性設定との間に相関性を与える。例えば、機能性トラッキングモジュール1137は、動作特性の所定の相関リストに対して、機能性インジケータをチェックする。機能性トラッキングモジュール1137はまた、特定された機能要素のワークフローを取り扱い得る他の機能要素があるかを決定し得る。
【0099】
図11は、本発明の1つの実施形態によるリモート再構成方法1200のフローチャートである。リモート再構成方法1200は、再構成動作のリモート制御を維持するための機構を与える。1つの例示的な実施において、リモート再構成方法1200は、ある構成機能を利用すると追加の支払いが要求される、ペイパーユースで利用される。例えば、ユーザが、追加機能要素をアクティブにすることを望めば(例えば、追加のグラフィックスパイプライン、浮動小数点要素など)、ユーザは、追加の支払いをしなければならない。
【0100】
ステップ1210において、システムがリモートリソースから再構成コードを要求する、ダイ機能要素の再構成リクエストプロセスに着手する。1つの実施形態において、再構成リクエストプロセスが、ダイ機能要素再構成コードのリクエストおよび受信を含む。1つの例示的な実施において、ダイ認識コードは、機能要素を再構成するために、機能要素コントローラ(例えば、120など)によって利用される。ダイ機能要素認識コードのリクエストおよび受信が、種々の通信システムを介して通信され得ることを認識されたい。例えば、リクエストおよびダイ機能要素認識コードは、インターネットを介して伝達され得る。1つの実施形態において、リクエストは、リクエスタが認識コードを受信するように許可されていること(例えば、リクエスタが、必要な支払いをしたこと、許可システムを有することなど)を示す再構成コード許可インジケータを含む。
【0101】
1つの実施形態において、ダイ機能要素の再構成リクエストプロセスは、再構成コード許可インジケータを獲得するために、再構成コード許可インジケータリクエストプロセスを含む。1つの例示的な実施において、再構成コード許可インジケータリクエストプロセスは、許可インジケータの支払いおよびリクエストを転送することと、許可インジケータのリクエストおよび支払いの応答を受信することを含む。例えば、顧客やユーザが、インターネットを介してリモートセントラルリソースに電子支払いをし、それと引き換えに許可インジケータ(例えば、ビットストリームコード)を受信する。
【0102】
ステップ1220において、再構成コード生成プロセスが実行される。1つの例示的な実施において、リモートリソースが、再構成コードのリクエストを処理する。1つの実施形態において、再構成コード生成プロセスは、再構成コードのリクエストおよび許可インジケータを受信することと、許可インジケータの有効性を解析することと、許可インジケータが有効であれば、再構成コードを提供することとを含む。例えば、リモートリソースが、システムにおいてアクティブなグラフィックスパイプラインの数を増大するためのリクエストを受信する。リモートリソースは、リクエスタが必要な支払いをしたかを解析する。必要な支払いが済んでいれば、リモートリソースは、システムにおいてアクティブなグラフィックスパイプライン数を上げるための再構成コードを転送する。
【0103】
1つの実施形態において、再構成コード生成プロセスは、再構成コード許可インジケータを獲得するためのリクエストプロセスに応答するために、再構成コード許可インジケータ応答プロセスに着手することを含む。1つの例示的な実施において、再構成コード許可インジケータ応答プロセスは、許可インジケータの支払いを受信することと、支払いの受信に応答して許可インジケータを転送することとを含む。
【0104】
ステップ1230において、再構成コードがシステムによって受信されれば(例えば、リモートリソースによって受信されれば)、ダイ機能要素再構成プロセスが実行される。ダイ機能要素再構成プロセスは、再構成コードに応じてダイ機能要素(例えば、機能要素131、132、133、134など)を再構成することを含む。1つの実施形態において、ダイ機能要素再構成プロセスは、機能要素構成プロセス400に類似している。
【0105】
本発明は、種々のシステムにおいて実施でき、機能要素の構成情報をユーザにうまく伝えるための種々の機構を含み得る。図12は、本発明の1つの実施形態による機能要素構成システム1300のブロック図である。機能要素構成システム1300は、メモリ1320およびディスプレイ1330に通信可能に結合された処理装置1310を含む。1つの例示的な実施において、機能要素構成システム1300は、集積回路100に通信可能に結合される。
【0106】
機能要素構成制御システム1300の要素は、機能要素構成に関連する情報を与えるように協働して動作する。処理装置1310が、機能要素構成解析プロセスを実行するための情報および命令を含む、情報および命令を処理する。メモリ1320が、機能要素構成解析プロセスを実行するための情報および命令を含む情報および命令を格納する。ディスプレイ1330が、機能要素動作挙動を解析し、使いやすいグラフィカルユーザインタフェースにおいて動作特性設定を決定することに関連する情報を含む情報および機能要素構成動作設定のグラフィカルユーザインタフェースの提示を与える。機能要素構成制御システム1300は、自動テスト機器(ATE:automated test equipment)、または、代替的に、ATEとのインタフェース内に実施され得る。
【0107】
機能要素構成制御システム1300は、種々の使いやすい形式で情報を与え得る。1つの実施形態において、グラフィカルユーザインタフェースは、様々なレベルの粒度で実時間に機能要素ビルディングブロック(例えば、機能要素131など)のパスまたはフェイル状態を示す。1つの例示的な実施において、グラフィカルユーザインタフェースが、図3に類似したイメージを表示し、要素は、パス状態の場合、緑色に強調され、フェイル状態の場合、赤色に強調される。グラフィカルユーザインタフェースは、不完全なデカルト配列で分散されるであろうトポロジーインバージョン情報を、ユーザが分かりやすい方法で提示し得る。また、グラフィカルユーザインタフェースにより、ユーザは、様々な機能要素動作挙動の解析機能および動作特性設定の決定機能と相互作用しやすくなり得る。例えば、グラフィカルユーザインタフェースにより、ユーザは、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節を含むデバグ動作においてユーザと相互作用しやすくなり得る。
【0108】
図13は、本発明の1つの実施形態による機能要素構成解析プロセス1370のフローチャートである。
【0109】
ステップ1371において、機能要素動作挙動が解析される。1つの実施形態において、機能要素動作挙動の解析は、複数の機能要素に対して並列に実行される。1つの例示的な実施において、機能要素動作挙動の解析は、トポロジーインバージョン解析を含む。この解析はまた、様々なレベルの構成抽象化および要素組織化で実行され得る。例えば、機能要素演算挙動の解析は、様々な機能要素粒度および組織化レベルで複数の機能要素のテスト情報を抽出することと、様々な機能要素粒度および組織化レベルでテスト情報を検査することと、検査結果に基づいて、動作特性設定の調節を確立することとを含み得る。
【0110】
ステップ1372において、動作特性設定は、ステップ1310において実行された解析結果に基づいて決定される。1つの実施形態において、動作特性設定は、様々なレベルの構成抽象化および要素組織化で決定される。例えば、動作特性設定は、パイプラインレベル、パイプライン要素レベル(例えば、ラスタ要素、シェーダ要素など)、または論理ゲートレベル(例えば、ANDゲート、ORゲートなど)で決定され得る。動作設定に関して、多数の決定がなされ得る。例えば、パイプラインのクロック速度の増減、パイプラインの有効化または無効化などができる。
【0111】
ステップ1373において、機能要素は、動作特性設定に応じて構成される。本発明の1つの実施形態において、機能要素再構成プロセスが実行される(例えば、機能要素再構成プロセス400)。動作特性設定に応じて機能要素を構成することは、指示された機能要素構成の変更が有効であるかを決定することと、機能要素構成の変更を命じることと、機能要素構成の変更に応じてワークフローの進路を変えることとを含み得る。
【0112】
図14は、本発明の1つの実施形態による柔軟性のある集積回路テスト方法1400のフローチャートである。柔軟性のある集積回路テスト方法1400により、生産および/またはフィールドテストでのリソースおよびコストを節約できる。1つの実施形態において、柔軟性のある集積回路テスト方法1400により、ビルトインセルフテスト(BIST)およびビルトインセルフリペア(BISR)機能によって、比較的低コストの自動テスト機器(ATE)を利用できる。
【0113】
ステップ1410において、テスト用に複数の集積回路を準備する。複数の集積回路は、組織化されたテスト階層においてテスト用に準備される。1つの実施形態において、組織化されたテスト階層は、様々なレベルの機能要素粒度および組織化を含む。例えば、ウェハレベル、ダイレベル、またはダイ内の機能要素レベルで、テストが実行され得る。
【0114】
ステップ1420において、複数の集積回路がテストされる。本発明は、種々のテストステージおよび異なるテストモード内で柔軟に実施され得る。例えば、テストは、ウェハプローブステージおよび/または最終ソートステージで実行され得る。テストはまた、速度テストを含み得る。複数の集積回路は、並列にテストされ得る。並列にテストを行うことで、ウェハの全体的なテストの時間が短縮され、コストが軽減される。
【0115】
ステップ1430において、機能要素の構成プロセスが、テスト結果に基づいて、複数の集積回路に実行される。本発明の1つの実施形態において、機能要素再構成プロセス400に類似した機能要素再構成プロセスが実行される。種々の機能要素構成は、機能要素の有効化または無効化を含む、機能要素動作設定を操作することによって実施され得る。
【0116】
ステップ1420および1430のテストおよび機能要素構成プロセスが、組織化されたテスト階層の様々なレベルで実行され得ることを認識されたい。組織化されたテスト階層は、様々なレベルの機能要素粒度および組織化を含み得る。1つの例示的な実施において、組織化されたテスト階層は、エンジニアリングモードでテスト結果を与え、それに応じて機能装置を構成するトポロジーインバージョン解析に向けられた結果に対応し得る。例えば、有効化または無効化されているパイプラインに関連する複数のゲートが、ダイ領域にわたって地形的に多様に拡散されるが、エンジニアリングモードでは、有効化または無効化されている1つの要素として示される。代替的に、テストおよび機能要素構成プロセスは、生産モードで実行される。テストおよび機能要素構成プロセスはまた、複数の集積回路で並列に実行され得る。
【0117】
本発明の1つの実施形態において、テスト結果(例えば、フェイルマップデータ)および構成の調節に関連する情報が格納され得る。例えば、情報は、チップおよび/またはリモートデータベースに格納され得る。情報は、種々の階層およびアーキテクチャレベルで(例えば、チップベース、ウェハベース、バッチベースなどで)収集、組織化、および解析され得る。情報は、実時間ウェハ生産歩留まり解析において利用され得る。例えば、ダイレイアウトを統計解析すると、歩留まりに及ぼす不均衡な影響を有する冗長なフェイル領域(例えば、ピクセルシェーダサブブロック)が識別され得る。影響は、テスト、リペア(例えば、BISR)、およびデザイン中に迅速に取り組まれ得る。同様に、ウェハレベルでのプロセスシフトもまたトラッキングでき、シフトを補正するために適切な調節がなされる。1つの例において、シフトまたは「ドリフトアウト」し、チップ作製、テスト、およびデザインプロセスの間に注意を要するウェハの領域にフラグをたてる歩留まりウェハマップに実時間モニタリングが実行される。
【0118】
図15に、本発明の1つの実施形態による集積回路解析システム1500のブロック図を示す。集積回路解析システム1500は、集積回路1510と、外部機能要素協調装置1520とを含む。集積回路1510は、複数の機能要素1512〜1515と、分配要素1511と、機能要素構成コントローラ1517と、テストコントローラ1518と、構成通信インタフェース1519とを含む。集積回路1510の要素は、構成可能な集積回路を与えるように協働して動作する。
【0119】
機能要素1511〜1515が、処理動作を実行する(例えば、図1に示す集積回路100の機能要素131〜134に類似)。分配要素1511が、複数の機能要素に情報を分配する(例えば、分配要素110に類似)。機能要素構成コントローラ1517は、複数の機能要素の1つ以上の動作特性を構成する(例えば、機能要素構成コントローラ120に類似)。構成通信インタフェース1519が、外部装置との間で、複数の機能要素の1つ以上の動作特性に関する情報を伝達する。
【0120】
1つの実施形態において、構成通信インタフェース1519は、テスト情報を外部装置に伝達する。1つの例示的な実施において、テスト情報および機能要素構成情報は、様々なレベルの機能要素粒度および組織化で構成通信インタフェース1519によって伝達される。例えば、テスト情報は、トポロジーインバージョン解析情報を含む。この情報は、様々なテストステージで伝達され得る。例えば、テスト情報は、ウェハプローブステージ情報を含み、および/または最終ソートステージ情報を含む。
【0121】
構成通信インタフェース1519はまた、動作特性設定情報を受信し得る。例えば、構成通信インタフェース1519は、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節に関連する動作特性設定情報を受信し得る。
【0122】
図15をさらに参照すると、本発明の1つの実施形態による外部機能要素協調装置1520のブロック図が示されている。外部機能要素協調装置1520は、テストモジュール1521と、機能要素動作設定モジュール1522と、解析モジュール1555とを含む。
【0123】
テストモジュール1521は、機能要素に対してテストベクトルを発生する。例えば、国際電気電子技術者協会(IEEE)規格1149.1(ジョイントタスクアクショングループ(JTGA)テストとも呼ぶ)に準拠するベクトルである。
【0124】
機能要素動作設定モジュール1522は、機能要素に対して動作設定を決定する。本発明の1つの実施形態において、機能要素動作設定モジュール1522は、機能要素動作設定がダイを復旧するために調節可能であるかを決定するための欠陥分解モジュール1553を備える。
【0125】
解析モジュール1555が、機能要素に関連するテスト情報を解析する。1つの実施形態において、機能要素の粒度および組織化の階層アーキテクチャに従って解析が実行される。例えば、ウェハプローブステージ情報および/または最終ソートステージ情報で、解析が実行され得る。また、解析は、テスト障害のパターン認識を特定することを含み得る。例えば、ダイレイアウトの生産統計解析が、ダイの歩留まりに及ぼす不均衡な影響を有する冗長な障害領域を特定し得る(例えば、不均衡な障害を生じ、または欠陥を有する特定のピクセルシェーダ機能要素)。この解析はまた、生産調整の問題を特定し得る。例えば、解析は、ウェハの特定の領域の不均衡の障害を特定することと、障害の潜在的な生産原因を提案することとを含み得る(例えば、プロセスシフト)。さらに、解析は、潜在的なフィールド構成アルゴリズムの調節を特定し得る。
【0126】
テスト情報組織化モジュール1557が、機能要素と関連するテスト情報を組織化する。テスト情報は、機能要素の粒度および組織化の階層アーキテクチャに従って組織化され得る。例えば、テスト情報は、トランジスタレベル、ゲートレベル、機能要素レベル(例えば、加算器、マルチプレクサなど)、プロセッサレベル、パイプラインレベルなどで組織化され、提示され得る。テスト情報は、ウェハプローブステージ情報と、最終ソートステージ情報とを含み得る。本発明の1つの実施形態において、テスト情報組織化モジュール1557は、機能要素の演算および構成に関する様々な異なるタイプの情報(例えば、テスト情報、生産情報、フィールド性能情報、市場情報、在庫情報など)を含む種々のデータベースとのインタフェースになる。
【0127】
大域動作設定調節モジュール1558が、機能要素のための大域動作設定調節を作成し、機能要素に対して動作設定を決定する際に使用するための機能要素動作設定モジュールに、大域動作設定調節に関する情報を提供する。例えば、大域動作設定調節モジュール1558は、生産問題に応答してウェハの特定の領域にあるダイの機能要素に対して、大域動作設定調節を作成し得る。
【0128】
本発明は、種々の柔軟な実施に容易に適応可能である。本発明の再構成特徴は、異なる粒度および構成組織化スキームで種々の階層レベルで実施され得る。例えば、テストおよび再構成特徴は、階層スキームにおいて「水平方向に」(例えば、複数の機能要素を並列にテスト)、および/または階層スキームで「垂直方向に」(例えば、ウェハベース、ダイベース、論理ゲートベースなど)利用または実施され得る。テストおよび再構成情報はまた、様々な解析動作に対して利用され得る。1つの例示的な実施において、テストおよび再構成情報は、エンジニアリングおよび生産モード解析動作において使用され得る。
【0129】
従って、本発明により、集積回路ダイの柔軟な動作構成が可能となり、製品の差別化が高まる。ダイは、複数の性能レベルで生産ラインで利用され得る。また、本発明により、高性能タスクまたは低性能マスクに対して動的に構成が可能である単一ダイが製造されることで、節電および経済的な差別化が図られる。また、本発明により、製造およびテストリソースが保全され、コスト削減が図られる。例えば、本発明の「オンチップ」テストおよび再構成特徴により、より高機能で高価なリモートテスト機器によって実行される必要があった種々のテストおよび再構成機能が提供される。本発明により、単純な自動テスト機器(ATE)システムと相互作用され、テストをより効率的に実行できる(例えば、並列に)。
【0130】
概略的に要約すれば、本明細書は、集積回路において機能要素の構成を可能にするシステムおよび方法を述べてきた。本発明のシステムおよび方法は、製造欠陥、互換性、性能要求、およびシステムの健全性(例えば、適切に動作する要素数)を含む種々の要因に基づいて、集積回路ダイの機能要素の動作特性を柔軟に変更し得る。機能要素の動作挙動は、様々なレベルの構成抽象化および要素組織化(例えば、トポロジーインバージョン解析)でテストおよび解析される。テストおよび解析は、多数の機能要素で並列に実行され得る。機能要素構成関連の情報は、様々なレベルの粒度および実時間でグラフィカルユーザインタフェース(GUI)で与えられる。グラフィカルユーザインタフェースにより、ユーザは、障害パターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節において相互作用しやすくなり得る。テストおよび解析情報はまた、種々の使いやすいデータベース形式で組織化され得る。
1. 処理動作を実行するための複数の機能要素であって、前記複数の機能要素に含まれている欠陥機能要素が無効化され、非欠陥機能要素が選択的に有効化されている複数の機能要素と、
前記選択的に有効化された機能要素にワークフローを分配し、前記無効化された機能要素へワークフローが分配されないようにするためのワークフロー制御要素と、を備える、処理ユニット。
2. 前記複数の処理要素が、並列処理アクティビティを実行する、請求項1に記載の処理ユニット。
3. 前記並列処理アクティビティが、処理パイプラインに含まれる、請求項2に記載の処理ユニット。
4. 前記ワークフローが、パケット化単位で分配される、請求項1に記載の処理ユニット。
5. 前記処理ユニットが、中央演算処理装置である、請求項1に記載の処理ユニット。
6. 前記複数の処理要素が、浮動小数点要素である、請求項5に記載の処理ユニット。
7. 前記処理ユニットが、グラフィックス処理ユニットである、請求項1に記載の処理ユニット。
8. 前記複数の処理要素が、シェーディング要素である、請求項7に記載の処理ユニット。
9. 前記複数の処理要素が、グラフィックスフレームバッファインタフェースの分割部分である、請求項7に記載の処理ユニット。
10. 欠陥機能要素の指示を受信するステップと、
前記欠陥機能要素が、複数の同様の機能要素の1つであるかを決定するステップと、
前記欠陥機能要素が、複数の同様の機能要素の1つであれば、前記欠陥機能要素を無効化するステップと、
1つ以上の非欠陥機能要素を有効化するステップと、
前記欠陥機能要素に情報を伝達するはずであった要素に対して、前記無効化および前記有効化の通知を出すステップと、を備える、機能要素構成プロセス。
11. 欠陥機能要素の前記指示が、テストシステムから受信される、請求項10に記載の機能要素構成プロセス。
12. 前記無効化および有効化が、前記欠陥機能要素の有効化を制御するレジスタをプログラミングすることによって達成される、請求項10に記載の機能要素構成プロセス。
13. 前記無効化が、前記欠陥要素への通信ラインを切ることによって達成される、請求項10に記載の機能要素構成プロセス。
14. テストシステムに欠陥分解モジュール命令を実施させるために組み込まれたコンピュータ読み取り可能なプログラムコードを有するコンピュータ使用可能な記憶媒体であって、
特定された機能要素が、無効化が許可されたグループに含まれるかを決定するための機能性メンテナンスモジュールと、
無効化されなければならない前記特定された要素に関連付けられた関係する機能要素があるかを決定するための対応する要素検出モジュールと、
機能要素の無効化を命じるための無効化モジュールと、を備える、コンピュータ使用可能な記憶媒体。
15. 前記命令が、ドライバである、請求項14に記載のコンピュータ使用可能な記憶媒体。
16. 前記ドライバが、ネットワークを介して分配される、請求項14に記載のコンピュータ使用可能な記憶媒体。
17. 前記機能性メンテナンスモジュールが、前記特定された機能要素のワークフローを取り扱うことができる他の機能要素があるかを決定する、請求項14に記載のコンピュータ使用可能な記憶媒体。
18. 前記機能メンテナンスモジュールが、無効化が許容された要素の所定のリストに対して、前記機能要素の識別をチェックする、請求項14に記載のコンピュータ使用可能な記憶媒体。
19. 前記関係する機能要素が、製品性能の差別化を維持するために無効化された、請求項14に記載のコンピュータ使用可能な記憶媒体。
20. 無効化モジュールが、テストインタフェースを介して前記特定された機能要素に無効化信号を直接送信する、請求項14に記載のコンピュータ使用可能な記憶媒体。
21. 前記無効化モジュールが、テストされたダイに含まれた機能要素コントローラに信号を送信する、請求項14に記載のコンピュータ使用可能な記憶媒体。
22. 無効化モジュールが、前記機能メンテナンスモジュールが、前記特定された機能要素の無効化が許可可能であるという指示を与えれば、前記特定された機能要素の無効化を命じる、請求項14に記載のコンピュータ使用可能な記憶媒体。
23. ダイマーキングを命じるためのダイマーキングモジュールをさらに備える、請求項14に記載のコンピュータ使用可能な記憶媒体。
24. ダイマーキングモジュールが、1つ以上の基準に基づいて、ダイのマーキングを命じる、請求項23に記載のコンピュータ使用可能な記憶媒体。
25. ダイマーキングモジュールが、前記特定された機能要素が無効化されれば、ダイのマーキングを命じる、請求項23に記載のコンピュータ使用可能な記憶媒体。
26. 各々が同様の機能を実行する複数の機能要素と、
前記複数の機能要素の各々を選択的に有効化するための要素と、
前記複数の機能要素および前記有効化要素に結合され、有効化された前記複数の機能要素の前記各々に情報を割り当て、前記無効化された要素へ情報が割り当てられないようにするための割り当て要素と、を備える、処理ユニット。
27. 前記有効化要素が、欠陥である前記複数の機能要素のサブセットを特定し、前記機能要素のサブセットの使用が有効化されない、請求項26に記載の処理ユニット。
28. 前記処理ユニットが、コンピュータベースのシステムに含まれる、請求項26に記載の処理ユニット。
29. 前記有効化要素が、前記割り当て要素に有効化の指示を与え、前記有効化の指示が、前記複数の機能要素の前記各々のどれが有効化されるかを示す、請求項26に記載の処理ユニット。
30. 前記有効化要素が、前記複数の機能要素の前記各々のテストに基づき、前記複数の機能要素の各々を選択的に有効化する、請求項26に記載の処理ユニット。
31. 前記有効化要素が、前記テストが正確に動作することを示す前記複数の機能要素の各々を選択的に有効化する、請求項26に記載の処理ユニット。
32. 有効化された前記複数の機能要素の前記各々が、有効化されていない前記複数の機能要素の前記各々によって実行されるはずであった前記同様の機能を実行可能である、請求項31に記載の処理ユニット。
33. 処理動作を実行するための複数の機能要素を備え、前記複数の機能要素に含まれた欠陥機能要素が無効化され、
前記無効化された要素へワークフローが分配されないようにするためのワークフロー制御要素を備える、処理ユニット。
34. 前記ワークフローが、前記複数の処理要素に含まれた有効化された要素に送り出される、請求項33に記載の処理ユニット。
35. 前記複数の処理要素が、並列処理アクティビティを実行する、請求項33に記載の処理ユニット。
36. 前記並列処理アクティビティが、処理パイプラインに含まれる、請求項35に記載の処理ユニット。
37. 前記処理ユニットが、グラフィックス処理ユニットである、請求項33に記載の処理ユニット。
38. 処理動作を実行するための複数の機能要素と、
前記複数の機能要素に情報を分配するための分配要素と、
前記複数の機能要素の1つ以上の動作特性を構成するための機能要素構成コントローラと、を備える、集積回路。
39. 前記機能要素構成コントローラが、前記複数の機能要素の前記動作特性に関する情報を前記分配要素に提供する、請求項38に記載の集積回路。
40. 前記複数の機能要素が、グラフィックス処理装置に含まれる、請求項38に記載の集積回路。
41. 前記分配要素が、前記動作特性構成を、前記複数の機能要素への前記情報の分配に組み入れる、請求項38に記載の集積回路。
42. 前記機能要素構成コントローラが、種々の目的に応じて前記動作特性を構成する、請求項38に記載の集積回路。
43. マスクアレイをさらに備え、前記マスクアレイに含まれた各マスクが、動作目的に対応し、前記複数の機能要素の動作特性の指示を与える、請求項38に記載の集積回路。
44. 前記マスクアレイが、前記欠陥機能要素の無効化の指示を与えるための歩留まりマスクを含む、請求項43に記載の集積回路。
45. 前記マスクアレイが、
前記複数の機能要素の互換性がありサポートされた動作特性の有効化を指示するための互換性マスクと、
前記複数の機能要素のための性能レベルを指示するための性能マスクと、
フィールドテストに基づいて、複数の機能要素の動作特性を指示するための自己回復マスクと、をさらに備える、請求項44に記載の集積回路。
46. 前記複数の機能要素が、パイプラインを含む、請求項38に記載の集積回路。
47. 機能要素構成変更トリガイベントの指示を受信するステップと、
前記指示された機能要素構成変更が有効であるかを決定するステップと、
前記機能要素構成の変更を命じるステップと、
前記機能要素構成の前記変更に応じて、ワークフローを変えるステップと、を備える、機能要素構成プロセス。
48. 前記機能要素動作特性の指示をチェックするステップをさらに備える、請求項47に記載の機能要素構成プロセス。
49. 前記機能要素の前記構成が、前記機能要素の有効化を制御する値をプログラミングすることによって達成される、請求項47に記載の機能要素構成プロセス。
50. 前記機能要素の前記構成が、前記機能要素のクロック速度を制御するレジスタをプログラミングすることによって達成される、請求項47に記載の機能要素構成プロセス。
51. 前記動作特性に基づいて、前記複数の機能要素にワークフローを送り出すステップをさらに備える、請求項47に記載の機能要素構成プロセス。
52. 前記機能要素が無効化されれば、前記機能要素にワークフローが分配されないようにするステップをさらに備える、請求項47に記載の機能要素構成プロセス。
53. 前記動作特性を決定するステップが、様々な動作目的の考慮および協調を含む、請求項47に記載の機能要素構成プロセス。
54. 同様の並列動作を実行するための複数の機能要素と、
前記複数の機能要素の1つ以上の有効化および無効化を制御するための機能要素コントローラと、
前記複数の機能要素に含まれた有効化された機能要素に情報を分配し、前記複数の機能要素に含まれた無効化された機能要素に情報が分配されないようにするための分配要素と、を備える、集積回路。
55. 前記機能要素コントローラが、前記複数の機能要素のどれが無効化されるかに関する情報を前記分配要素に提供する、請求項54に記載の集積回路。
56. 前記機能要素コントローラが、前記複数の機能要素のどれが有効化されるかに関する情報を前記分配要素に提供する、請求項54に記載の集積回路。
57. 前記複数の機能要素が、アクティブな機能要素を備える、請求項55に記載の集積回路。
58. 前記分配要素が、ワークフロー情報を分配する、請求項56に記載の集積回路。
59. 前記機能要素コントローラが、ソフトウェアプログラム可能なレジスタを備える、請求項57に記載の集積回路。
60. 前記機能要素コントローラが、ハードコード化されたマスクを備える、請求項58に記載の集積回路。
61. 前記集積回路が、無効化された前記複数の機能要素の数に対応する性能インジケータでマーキングされる、請求項59に記載の集積回路。
62. 前記集積回路が、有効化された前記複数の機能要素の数に対応する性能インジケータでマーキングされる、請求項60に記載の集積回路。
63. テスト用にチップを準備するステップと、
前記チップをテストするステップと、
前記テストの結果に基づいて、前記チップに機能要素構成プロセスを実行するステップと、を備える、性能を低減した回路復旧方法。
64. 前記テストが、
欠陥機能要素を特定するステップと、
前記集積回路に含まれ、前記欠陥機能要素と同様の機能を実行する非欠陥機能要素があるかを決定するステップと、
前記非欠陥要素が前記集積回路に含まれれば、前記欠陥機能要素を不使用のために指定するステップと、
前記同様の機能を実行する前記非欠陥要素が、前記集積回路に含まれていなければ、前記集積回路を欠陥としてマーキングするステップとを備える、請求項63に記載の性能を低減した性能回路復旧方法。
65. 前記チップの複数の同質の実行要素の1つが、無効化または有効化される、請求項63に記載の性能を低減した回路復旧方法。
66. 他の機能要素が、前記無効化された機能要素の機能を実行できるように、前記チップを再構成するステップをさらに備える、請求項63に記載の性能を低減した回路復旧方法。
67. 前記機能要素構成プロセスが、
欠陥機能要素の指示を受信するステップと、
前記欠陥機能要素が、複数の同様の機能要素の1つであるかを決定するステップと、
前記欠陥機能要素が、前記複数の同様の機能要素の1つであれば、前記欠陥機能要素を無効化するステップと、
1つ以上の非欠陥機能要素を有効化するステップと、
前記欠陥機能要素に情報を伝達するはずであった要素に対して、前記無効化および前記有効化の通知を出すステップと、を備える、請求項63に記載の性能を低減した回路復旧方法。
68. 欠陥機能要素の前記指示が、テストシステムから受信される、請求項63に記載の性能を低減した回路復旧方法。
69. 同様の構成で複数のダイを作製するステップと、
前記複数のダイの1つのダイが、要素に関連付けられた機能を実行する能力を失うことなく、前記要素が、前記要素の前記1つのダイ内の生産的寄与に関与できないようにするステップと、
前記機能性を異ならしめた性能レベルに基づいて、前記複数のダイを分類するステップと、を備える、ダイ分類プロセス。
70. 前記複数のダイが、単一のウェハ上に作製される、請求項69に記載のダイ分類プロセス。
71. 前記複数のダイのデータシート情報を調査することによって、同様の構成が決定される、請求項69に記載のダイ分類プロセス。
72. ダイが実質的に同じ作製コストを有すれば、同様の構成が決定される、請求項69に記載のダイ分類プロセス。
73. 前記要素が、前記要素を無効化することによって生産的貢献に関与できないようにされる、請求項69に記載のダイ分類プロセス。
74. テストが実行されるまで、どのデータシート情報が前記複数のダイに含まれるダイに適用するかという決定がなされない、請求項69に記載のダイ分類プロセス。
75. 前記複数のダイに含まれる第1のダイおよび第2のダイが、機能性が与えられる性能レベルに相関して異なる価格で販売される異なる製品に含まれる、請求項69に記載のダイ分類プロセス。
76. 前記複数のダイの各々が、同一のデザインで作製され、異なる性能レベルで分配される、請求項69に記載のダイ分類プロセス。
77. ウェハからの使用可能なダイの歩留まりを高める方法であって、
ウェハを作製するステップを備え、前記ウェハが、複数のダイを含み、前記複数のダイの各々が、複数の機能サブ要素を用いて複数のサブタスクを並列に実行可能である機能要素を含み、
動作可能および動作不能である前記複数の機能サブ要素の各々を特定するステップを備え、
動作不能として特定された前記複数の機能サブ要素の各々の動作を無効化するステップを備え、
動作可能として特定された前記複数の機能サブ要素の各々の選択的動作を有効化するステップを備え、
前記機能サブ要素の動作可能な状態に基づいて、前記複数のダイの前記各々を性能クラスにソートするステップを備え、
前記複数の前記ダイの1つが、復旧可能であると指定された性能クラスにソートされれば、動作不能である機能サブ要素を有する前記複数の前記ダイの前記1つを復旧するステップを備える、方法。
78. 前記サブタスクが、グラフィックスサブタスクを含む、請求項15に記載の方法。
79. 前記動作不能の機能サブ要素が、テストプロセスの一部として特定される、請求項15に記載の方法。
80. 前記複数の前記ダイの1つを復旧するステップが、前記複数の前記ダイの前記1つの性能能力に対応する性能インジケータで前記ダイをマーキングすることを含む、請求項15に記載の方法。
81. 前記複数の前記ダイの前記1つが、グラフィックス処理パイプライン機能要素を含む、請求項15に記載の方法。
82. 全機能性を与えない前記複数の前記ダイの1つを破棄するステップをさらに備える、請求項15に記載の方法。
83. 回路に機能要素構成モジュール命令を実施させるために組み込まれたコンピュータ読み取り可能なプログラムコードを有するコンピュータ使用可能な記憶媒体であって、
機能要素動作特性のメンテナンスを命じるための機能トラッキングモジュールと、
機能要素構成を命じるための構成モジュールと、を備える、コンピュータ使用可能な記憶媒体。
84. 前記機能性トラッキングモジュールが、特定された機能要素のワークフローを取り扱うことができる他の機能要素があるかを決定する、請求項83に記載のコンピュータ使用可能な記憶媒体。
85. 前記機能性トラッキングモジュールが、動作特性設定の所定の相関リストに対して、機能性インジケータをチェックする、請求項83に記載のコンピュータ使用可能な記憶媒体。
86. 機能性ネゴシエーションプロセスの一部として前記機能性インジケータを動的に変更することをさらに備える、請求項83に記載のコンピュータ使用可能な記憶媒体。
87. 前記動作特性が、製品の差別化を維持するように設定される、請求項83に記載のコンピュータ使用可能な記憶媒体。
88. 複数の機能要素が、単一のダイに含まれる、請求項84に記載のコンピュータ使用可能な記憶媒体。
89. 前記命令がドライバである、請求項85に記載のコンピュータ使用可能な記憶媒体。
90. 前記ドライバが、ネットワークを介して分配される、請求項86に記載のコンピュータ使用可能な記憶媒体。
91. システムがリモートリソースから再構成コードをリクエストするダイ機能要素再構成リクエストプロセスに従事するステップと、
前記リモートリソースが、前記再構成コードの前記リクエストを処理する再構成コード生成プロセスを実行するステップと、
ダイ機能要素が、前記再構成コードに応じて再構成される前記システムによって、前記再構成コードが受信されれば、ダイ機能要素再構成プロセスを実行するステップと、を備える、リモート再構成方法。
92. 前記再構成リクエストプロセスが、
前記ダイ機能要素再構成コードをリクエストするステップと、
前記ダイ機能要素再構成コードを受信するステップと、を備える、請求項91に記載のリモート再構成方法。
93. 再構成コード許可インジケータを獲得するために、再構成コード許可インジケータリクエストプロセスに従事するステップをさらに備える、請求項91に記載のリモート再構成方法。
94. 前記再構成コード許可インジケータリクエストプロセスが、
許可インジケータのリクエストおよび支払いを転送するステップと、
前記許可インジケータの前記リクエストおよび支払いへの応答を受信するステップと、を備える、請求項93に記載のリモート再構成方法。
95. 再構成コード許可インジケータを獲得するために、リクエストプロセスに応答するための再構成コード許可インジケータ応答プロセスに従事するステップをさらに備える、請求項91に記載のリモート再構成方法。
96. 許可インジケータの支払いを受信するステップと、
前記支払いの受信に応答して、前記許可インジケータを転送するステップをさらに備える、請求項91に記載のリモート再構成方法。
97. 前記再構成コード生成プロセスが、
再構成コードおよび許可インジケータのリクエストを受信するステップと、
前記許可インジケータの有効性を解析するステップと、
前記許可インジケータが有効であれば、再構成コードを提供するステップと、を備える、請求項91に記載のリモート再構成方法。
98. 前記再構成コード生成プロセスが、前記許可インジケータが有効でなければ、拒否指示を転送するステップを備える、請求項97に記載のリモート再構成方法。
99. 機能要素構成変更リクエストの指示を受信するステップと、
前記特定された機能要素構成の変更が許可されているかを決定するステップと、
前記機能要素構成の変更を命じるステップと、を備える、機能要素構成プロセス。
100. 前記機能要素動作特性の指示をチェックするステップをさらに備える、請求項99に記載の機能要素構成プロセス。
101. 前記機能要素の前記構成が、前記機能要素の前記変更を制御する値をプログラミングすることによって達成される、請求項99に記載の機能要素構成プロセス。
102. 前記動作特性を決定するステップが、様々な動作目的の考慮および協調を含む、請求項99に記載の機能要素構成プロセス。
103. 機能要素動作挙動を解析するステップと、
前記解析の結果に基づいて、動作特性設定を決定するステップと、
前記動作特性設定に応じて、機能要素を構成するステップと、を備える、機能要素構成解析プロセス。
104. 前記機能要素動作挙動の解析が、複数の機能要素に対して並列に実行される、請求項103に記載の機能要素構成解析プロセス。
105. 前記機能要素動作挙動の解析が、トポロジーインバージョン解析を含む、請求項103に記載の機能要素構成解析プロセス。
106. 前記解析が、様々なレベルの構成抽象化および要素組織化で実行される、請求項103に記載の機能要素構成解析プロセス。
107. 前記動作特性設定が、様々なレベルの構成抽象化および要素組織化で決定される、請求項103に記載の機能要素構成解析プロセス。
108. 前記機能要素動作挙動の解析が、
様々な機能要素粒度および組織化レベルで複数の機能要素のテスト情報を抽出するステップと、
様々な機能要素粒度および組織化レベルで、前記テスト情報を検査するステップと、
前記検査結果に基づいて、動作特性設定調節を確立するステップと、
前記動作特性の設定調節を前記動作特性設定の決定に組み入れるステップと、を備える、請求項103に記載の機能要素構成解析プロセス。
109. 前記動作特性設定に応じた前記機能要素の構成が、
指示された機能要素の構成変更が有効であるかを決定するステップと、
前記機能要素構成の変更を命じるステップと、
前記機能要素構成の前記変更に応じてワークフローを変えるステップと、を備える、請求項103に記載の機能要素構成解析プロセス。
110. 情報および命令を伝達するためのバスと、
機能要素構成解析プロセスを実行するための情報および命令を含む、前記情報および命令を処理するための処理装置と、
機能要素構成解析プロセスを実行するための情報および命令を含む、前記情報および命令を格納するためのメモリと、
機能要素動作挙動の解析および動作特性設定の決定に関連付けられた情報を含む、前記情報および機能要素構成動作設定のグラフィカルユーザインタフェースの提示を表示するためのディスプレイと、を備える、機能要素構成システム。
111. 前記グラフィカルユーザインタフェースが、様々なレベルの粒度と実時間で機能要素のビルディングブロックのパスまたはフェイル状態を示す、請求項110に記載の機能要素構成解析プロセス。
112. 前記グラフィカルユーザインタフェースが、ユーザが分かりやすい方法でトポロジーインバージョン情報を提示する、請求項110に記載の機能要素構成解析プロセス。
113. 前記グラフィカルユーザインタフェースが、様々な機能要素動作挙動の解析および動作特性設定機能とユーザとが相互作用しやすいようにする、請求項110に記載の機能要素構成解析プロセス。
114. 前記グラフィカルユーザインタフェースが、フェイルパターンの認識、生産テストの調整、フィールド構成アルゴリズムの調節においてユーザが相互作用しやすいようにする、請求項110に記載の機能要素構成解析プロセス。
115. テスト用に複数の集積回路を準備するステップと、
前記複数の集積回路をテストするステップと、
前記テストの結果に基づいて、前記複数の集積回路で機能要素構成プロセスを実行するステップと、を備える、柔軟性のある集積回路テスト方法。
116. 前記テストおよび前記機能要素構成プロセスが、前記複数の集積回路で並列に実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
117. 前記テストおよび前記機能要素構成プロセスが、組織化されたテスト階層において実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
118. 前記組織化されたテスト階層が、様々なレベルの機能要素粒度および組織化を含む、請求項117に記載の柔軟性のある集積回路テスト方法。
119. 前記組織化されたテスト階層が、トポロジーインバージョン解析に向けられた結果に対応する、請求項118に記載の柔軟性のある集積回路テスト方法。
120. 前記テストが、ウェハプローブステージで実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
121. 前記テストが、最終ソートステージで実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
122. 前記テストおよび前記機能要素構成プロセスが、エンジニアリングモードにおいて実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
123. 前記テストおよび前記機能要素構成プロセスが、生産モードにおいて実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
124. 前記テストが、速度テストを含む、請求項115に記載の柔軟性のある集積回路テスト方法。
125. 処理動作を実行するための複数の機能要素と、
前記複数の機能要素に情報を分配するための分配要素と、
前記複数の機能要素の1つ以上の動作特性を構成するための機能要素構成コントローラと、
外部装置との間で、前記複数の機能要素の前記1つ以上の前記動作特性に関する情報を伝達するための構成通信インタフェースとを備える、集積回路。
126. 前記構成通信インタフェースが、前記外部装置にテスト情報を伝達する、請求項125に記載の集積回路。
127. 前記テスト情報および前記機能要素構成情報が、様々なレベルの機能要素粒度および組織化で前記構成通信インタフェースによって伝達される、請求項125に記載の柔軟性のある集積回路テスト方法。
128. 前記テスト情報が、トポロジーインバージョン解析情報を含む、請求項126に記載の柔軟性のある集積回路テスト方法。
129. 前記テスト情報が、ウェハプローブステージ情報を含む、請求項126に記載の柔軟性のある集積回路テスト方法。
130. 前記テスト情報が、最終ソートステージ情報を含む、請求項126に記載の柔軟性のある集積回路テスト方法。
131. 前記構成通信インタフェースが、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節に関連付けられた動作特性設定情報を受信する、請求項125に記載の集積回路。
132. 機能要素のテストベクトルを生成するためのテストモジュールと、
前記機能要素の動作設定を決定するための機能要素動作設定モジュールと、
前記機能要素に関連付けられたテスト情報を組織化するためのテスト情報組織化モジュールと、を備える、外部機能要素協調装置。
133. 前記機能要素のための大域動作設定調節を作成し、前記機能要素の動作設定を決定する際に使用するための前記機能要素動作設定モジュールに、前記大域動作設定調節に関する情報を提供するための大域動作設定調節モジュールをさらに備える、請求項132に記載の外部機能要素協調装置。
134. 前記機能要素動作設定モジュールが、前記機能要素動作設定がダイを復旧するために調節され得るかを決定するための欠陥分解モジュールを備える、請求項132に記載の外部機能要素協調装置。
135. 前記テスト情報が、機能要素粒度および組織化の階層アーキテクチャに応じて組織化される、請求項132に記載の外部機能要素協調装置。
136. 前記テスト情報が、ウェハプローブステージ情報および最終ソートステージ情報を含む、請求項132に記載の外部機能要素協調装置。
137. 前記動作特性設定情報が、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節に関する情報を含む、請求項132に記載の外部機能要素協調装置。
【0131】
本発明の特定の実施形態の前述した記載は、説明および記載を目的として提示したものである。これらは、完全なものでも、開示したままの形式に本発明を限定するものでもなく、上記教示の点で多くの修正および変形が可能であることは明らかである。実施形態は本発明の原理および実際の応用を最もよく説明するために選択および記載され、当業者らは、考慮される特定の使用に合わせて、本発明および様々な修正を有する様々な実施形態を最良に利用することができる。本発明の範囲は、特許請求の範囲およびその均等物によって規定されることが意図されている。
【図面の簡単な説明】
【0132】
【図1A】本発明の1つの実施形態による集積回路のブロック図である。
【図1B】本発明の1つの実施形態によるパイプラインに組織化された機能要素を有する集積回路のブロック図である。
【図1C】本発明の1つの実施形態によるマルチ処理装置集積回路のブロック図である。
【図1D】異なる目的を制御するための、本発明の1つの実施形態による例示的なマスクアレイ実施のブロック図である。
【図2】本発明の実施形態を実行し得るコンピュータシステムのブロック図である。
【図3】本発明の1つの実施形態によるグラフィックスパイプラインのブロック図である。
【図4】本発明の1つの実施形態による機能要素構成方法のフローチャートである。
【図5】本発明の1つの実施形態による性能を低減した回路復旧方法のフローチャートである。
【図6】本発明の1つの実施形態によるテスト環境のブロック図である。
【図7】本発明の1つの実施形態によるダイ分類プロセスのフローチャートである。
【図8】本発明の1つの実施形態による処理ユニットのブロック図である。
【図9】本発明の1つの実施形態によるウェハ歩留まり最適化方法のフローチャートである。
【図10】本発明の1つの実施形態による機能要素の構成アーキテクチャのブロック図である。
【図11】本発明の1つの実施形態によるリモート再構成方法のフローチャートである。
【図12】本発明の1つの実施形態による別の例示的な機能要素構成システムのブロック図である。
【図13】本発明の1つの実施形態による機能要素構成解析プロセスのフローチャートである。
【図14】本発明の1つの実施形態による柔軟性のある集積回路テスト方法のフローチャートである。
【図15】本発明の1つの実施形態による集積回路解析システムのブロック図である。
【関連出願】
【0001】
本願は、本願と同一の所有者によって所有された同時係属中の2003年9月15日に出願された米国特許出願第60/503,710号、2003年12月18日に出願された米国特許出願第10/740,721号、2003年12月18日に出願された米国特許出願第10/740,722号、2003年12月18日に出願された米国特許出願第10/740,723号、2003年12月18日に出願された米国特許出願第10/740,779号、および2004年6月23日に出願された米国特許出願第10/876,340号の利益を主張する。これらは参照により本明細書に組み込まれる。
【技術分野】
【0002】
本発明は、半導体製造の分野に関する。特に、本発明は、集積回路内の機能要素の動作特徴を動的に構成するためのシステムおよび方法に関する。
【背景技術】
【0003】
電子システムおよび回路が近代社会の発展に及ぼしてきた貢献度は著しく、有益な結果を達成するために数々の用途において利用されている。デジタルコンピュータ、計算機、オーディーオ装置、ビデオ機器、および電話システムなどの多数の電子技術のおかげで、ビジネス、科学、教育、および娯楽のあらゆる分野において、データ解析およびデータ通信の生産性が高まり、コストが軽減されてきた。これらの有益な結果をもたらす電子システムは、集積回路を含むことが多い。誤った結果を生じないようにするために、非常に高い信頼性を備えた集積回路を利用することが望ましい。しかしながら、種々の機能性および性能の特性を備えた集積回路を設計し構築するのは困難である。さらに、集積回路を構築するための製造プロセスは、極めて複雑かつ資源集約型なものである。
【発明の開示】
【発明が解決しようとする課題】
【0004】
集積回路の製造は、コストがかかる資源集約型の作業であり、単一の集積回路ユニットには、多数の計算要素が含まれている。計算要素は、通常、非常に高い信頼性で種々のタスクを実行可能であることが要求される。様々な応用で、異なる性能レベルおよび機能性が要求されることが多い。従来、予め決められた機能性を与える所定の数の適切に機能する要素によって各ダイが作製されている。しかしながら、許容可能な信頼性で適切かつ効率的な機能性を与えることは困難であることが多い。例えば、多くの従来のアプローチでは、集積回路に含まれる欠陥要素はほとんどない状態かまったくない状態にする必要がある。
【0005】
従来、集積回路は、多数のダイを含むウェハに製造され、各ダイは、多数の機能要素を有する集積回路を含む。所与のウェハから機能的に許容可能であるダイの数を、ウェハからの歩留まりと呼ぶ。所与の数のダイに対して、無駄をなくし、コストを削減し、効率的な製造時間を短縮するために、比較的高い歩留まりを維持することが望まれる。多数の要素を有する高性能ダイを備えたウェハの歩留まりは、非常に低くなることがある。
【0006】
集積回路ダイ内での欠陥要素の発生の影響を軽減するために、メモリチップ製造業者によって用いられる1つの方法は、必要なものより多くの要素、例えばメモリセルを有するダイを製造することである。欠陥要素が存在すれば、その欠陥要素は切り離され、「余剰」要素の1つが利用される。このアプローチでは、通常、欠陥要素を取り替えた後でも「余剰」のままである要素を作製してしまい、貴重なダイ面積および資源が著しく無駄になってしまう。このような余剰要素は、機能性および/または採算がとれる生産性に寄与していない。最終的に、かなりの数のダイが、利用されることのない完全に良好な稼動能力を備えた多数の「余剰」要素を有することになる。
【0007】
欠陥要素に対する取り組みの従来の別の試みは、特定の機能に関連する1つの機能要素が欠陥であれば、機能能力を取り除くことである。例えば、処理装置の浮動小数点加速要素に欠陥があれば、従来のリペア技術を用いて浮動小数点加速機能が取り除かれるか、または無効化され、処理装置は、非浮動小数点加速処理装置になる。さらに、最終的な成果物は、能力が限定され、完全な機能性を与えない(例えば、浮動小数点演算を実行できない)使用可能な集積回路となる。
【課題を解決するための手段】
【0008】
本発明のシステムおよび方法により、集積回路の機能要素を構成できる。本発明のシステムおよび方法が、製造欠陥、互換特性、性能要求、およびシステムの健全性(例えば、適切に動作する要素数)を含む種々の要因に基づいて、集積回路のダイの機能要素の動作特性を柔軟に変更できる。本発明の1つの実施形態において、機能要素の動作挙動が解析される。この解析は、様々なレベルの構成の抽象化および要素の組織化(例えば、トポロジーインバージョン解析)で実行でき、複数の機能要素に対して並列に実行できる。動作特性の設定は、解析結果に基づいて決定される。1つの実施形態において、動作特性の設定は、様々なレベルの構成の抽象化および要素の組織化で決定される。動作特性の設定に応じて、機能要素の再構成プロセスが実行される。1つの例示的な実施において、機能要素の再構成プロセスは、指示された機能要素の再構成プロセスの変更が有効であるかを決定することと、機能要素の構成の変更を命令することと、機能要素の構成の変更に応じてワークフローの流れを変えることを含む。
【0009】
グラフィカルユーザインタフェース(GUI:graphical user interface)を含む種々の使いやすい形式で、機能要素の構成に関する情報が提示され得る。1つの実施形態において、GUIは、様々なレベルの粒度と実時間で機能要素構築ブロックのパス状態またはフェイル状態を指示する。グラフィカルユーザインタフェースは、不完全なデカルト状態に分散されるはずであったトポロジーインバージョン情報を、ユーザが分かりやすい方法で提示し得る。また、グラフィカルユーザインタフェースにより、ユーザは、様々な機能要素動作挙動の解析機能および動作特性設定の決定機能と相互作用しやすくなり得る。例えば、グラフィカルユーザインタフェースにより、ユーザは、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節と相互作用しやすくなり得る。
【0010】
1つの実施形態において、本発明の構成システムが、機能要素と、分配要素と、機能要素構成コントローラと、任意の収集要素とを含む。機能要素は、処理動作(例えば、グラフィックス処理動作、浮動小数点演算など)を実行する。分配要素は、ワークフロー情報(例えば、グラフィックス処理情報、浮動小数点処理情報など)を機能要素に分配する。機能要素構成コントローラは、機能要素の動作特性を構成する。収集要素は、機能要素からの出力または結果を「収集」し、共通の目的を達成する際に使用する動作の結果をまとめる。
【0011】
1つの例示的な実施において、機能要素の動作特性の変更は、他の機能要素の変更と調和される。ワークフロースケジューリングおよび分配もまた、機能要素の動作特性の変更に基づいて調節される。例えば、機能要素構成コントローラは、動作特性設定を変更し、ワークフロー分配要素の変化の指示を与える。ワークフロー分配要素は、動作特性設定に基づいてワークフロースケジュールを変更する。例えば、ワークフローは、特定の機能要素へ向かったりあるいは離れたりするように変更される。
【0012】
本発明のシステムおよび方法は、様々なテスト動作において利用され得る。チップがテストされ(例えば、ビルトインセルフテストに応じて)、チップの欠陥機能要素が特定される。テストは、プローブでまたは最終的なソートで並列に実行され得る。テストを並列に実行することで、コストの削減が図られ、迅速に結果が得られる。欠陥要素を無効化し、代替要素を有効化する本発明のビルトインセルフリペア(BISR:built in self repair)機能により、多数の柔軟性のある機能が得られる。例えば、欠陥機能要素を有する集積回路チップを復旧させることができ、1つの実施形態において、集積回路の製造におけるウェハの歩留まりが高まる。従来、欠陥機能要素を有する集積回路は破棄されており、結果的に、ウェハの生産コストがより小数の許容可能なダイの負担となっていた。1つの実施形態において、本発明のシステムおよび方法により、チップの基本的な機能を維持する方法でダイの欠陥機能要素が無効になる。
【0013】
1つの実施形態において、遠隔位置にある集積回路の構成には、集中的リソースが利用される。リモート機能要素の構成アーキテクチャが、遠隔位置にある集積回路ダイに含まれる機能要素の構成を行う。1つの例示的な実施において、リモートリソースから再構成コードをリクエストするシステムにおいて、ダイ機能要素の再構成リクエストプロセスに着手される。コードリクエストは、リクエスタが再構成コードを受信する権限を有すること(例えば、リクエスタが必要な支払いをしていること、権限のあるシステムを有することなど)を指し示す再構成コード許可インジケータを含む。再構成コード生成プロセスが実行されると、再構成コードのリクエストおよび許可インジケータが受信され、許可インジケータの有効性が解析され、再構成コードが与えられる。適切な再構成コードがダイによって受信されると、ダイでダイ機能要素再構成プロセスが実行される。
【0014】
本明細書に組み込まれ、その一部を形成する添付の図面は、本発明の実施形態を例示的かつ非制限的に示す。本明細書において参照する図面は、特段の記載がなければ、一定の比率で描かれたものではないことを理解されたい。
【発明の詳細な説明】
【0015】
以下、本発明の好ましい実施形態を詳細に参照し、添付の図面にそれらの例を示す。本発明は、好ましい実施形態とともに記載するが、本発明をこれらの実施形態に限定するように意図していないことを理解されたい。むしろ、本発明は、特許請求の範囲に規定された本発明の趣旨および範囲内に含まれ得る代替物、修正物、および均等物に及ぶように意図している。さらに、本発明の以下の詳細な記載において、本発明を十分に理解してもらうために、多数の詳細事項が示されている。しかしながら、当業者であれば、本発明は、これらの詳細事項なしに実践されてもよいことは明らかであろう。他にも、本発明の態様を不要に分かりにくくしないように、周知の方法、手順、要素、および回路については記載していない。
【0016】
コンピュータメモリ内のデータビットでの動作の手順、論理ブロック、処理、および他の記号表現の点で、以下の詳細な記述が提示されている部分がある。これらの記述および表現は、当業者にそれらの働きの本質を効果的に伝えるために、データ処理技術者によって一般に使用されている手段である。手順、論理ブロック、プロセスなどは、本明細書において、および一般に、所望の結果へと導くステップまたは命令の一貫したシーケンスであると考えられる。これらのステップは、物理量の物理的な操作を含む。通常、必須ではないが、これらの量は、格納、転送、結合、比較、およびコンピュータシステムにおける他の操作が可能な電気、磁気、光、または量子信号の形をとる。主に、一般的に使用されているという理由で、利便性から考えて、これらの信号をビット、値、成分、記号、文字、用語、数などとして参照することもある。
【0017】
しかしながら、上記および同様の用語の全てが、適切な物理量に関連付けられ、これらの量に付与された都合のよいラベルにすぎないことに留意されたい。以下の記載から明らかなように、特段な言及がないかぎり、本願を通して、「処理(processing)」、「算出(computing)」、「計算(calculating)」、「決定(determining)」、「表示(displaying)」などの用語を利用する記載は、物理(例えば、電子)量として表されるデータを操作および変換するコンピュータシステム、または同様の処理装置(例えば、電気、光、または量子コンピューティング装置)の動作およびプロセスをさすことを認識されたい。これらの用語は、コンピュータシステムの要素(例えば、レジスタ、メモリ、他のこのような情報格納、送信、または表示装置など)内の物理量を操作し、または他の要素内の物理量として同様に表される他のデータに変換する処理装置の動作およびプロセスをさす。
【0018】
図1Aは、本発明の1つの実施形態による集積回路100のブロック図である。集積回路100は、分配要素110と、機能要素構成コントローラ120と、収集要素140と、機能要素131、132、133、および134とを備える。分配要素110は、収集要素140に結合された機能要素131、132、133、および134に結合される。機能要素構成コントローラ120は、分配要素110、機能要素131、132、133、および134、および収集要素140に結合される。本発明の1つの実施形態において、集積回路100の要素は、単一のダイに含まれる。集積回路100の要素は、情報処理(例えば、データ操作)を実行するように協働して動作する。1つの例示的な実施において、集積回路100の要素は、一般的な目的に関係する情報処理(例えば、画像生成に関連するグラフィックスパイプライン処理)を実行する。
【0019】
分配要素110は、情報を機能要素131〜134(例えば、有効化された機能要素)に選択的に分配する。分配要素110が、種々の情報を分配し得ることを認識されたい。例えば、分配要素110が、ワークフロー情報を分配し得る。ワークフロー情報は、一般的な目的に関連した処理の情報またはデータであり得る。例えば、ワークフロー情報は、グラフィックス関連情報(例えば、情報ストリームの様々な部分が、連続して構成された画像ピクセルのピクセル情報を含む、単一の情報ストリーム)であり得る。1つの例示的な実施において、分配要素110は、ワークフロー情報またはデータ(例えば、グラフィックスデータ)の単一のストリームを受信し、ワークフロー情報を機能要素131〜134に分配する。例えば、単一の情報ストリームは、第1のピクセル、第2のピクセル、および第3のピクセルに関する情報を含み得る。分配要素110は、単一のピクセル情報ストリーム(例えば、パケットシーケンス)を受信し、第1のピクセルに関する情報(例えば、個々のパケットとして)を機能要素131に分配し、第2のピクセルに関する情報を機能要素132に分配し、第3のピクセルに関する情報を機能要素133に分配する。別の例示的な実施において、分配要素110は、浮動小数点計算に関する単一の情報ストリームを受信し、第1の浮動小数点計算に関する情報を機能要素131に分配し、第2の浮動小数点計算に関する情報を機能要素132に分配し、第3の浮動小数点計算に関する情報を機能要素133に分配する。1つの実施形態において、分配要素110はまた、複数の情報ストリームを受信し、その情報を機能要素131〜134に分配し得る。分配要素110がワークフロー情報の分配のほかにも様々な機能を提供し、またはタスクを実行する実施形態を含む種々の実施形態において、分配要素110が実施され得ることを認識されたい。
【0020】
機能要素131〜134は、機能要素131〜134が異なる機能動作またはタスクを実行する種々の実施を含み得る。1つの実施形態において、機能要素131〜134は、同様の機能性を与える(例えば、並列動作を実行する)。例えば、1つの実施形態において、機能要素131〜134は、グラフィックス処理関係のタスク(例えば、シェーディング、テクスチャリング、オクルージョンカリングなど)を実行し得る。別の実施形態において、機能要素131〜134は、浮動小数点関係の処理を実行し得る。
【0021】
収集要素140は、機能要素131〜134からの出力または結果を「収集」する。1つの実施形態において、収集要素140は、共通の目的を達成する際に使用する動作の結果をつなぎ合わせ、またはまとめる。例えば、収集要素140は、グラフィックスバッファへの通信結果をまとめ得る。別の実施形態において、収集要素140は、グラフィックスバッファである。さらなる別の実施形態において、収集要素140は、浮動小数点計算の結果をまとめ得る。
【0022】
集積回路100の要素はまた、機能要素の動作特性を柔軟に構成(例えば、機能要素の有効化/無効化、クロック速度の変更、動作電圧の変更など)するように協働して動作する。機能要素構成コントローラ120は、1つ以上の機能要素131〜134の動作特性(例えば、無効化/有効化など)の調節を制御し、調節に関して分配要素110および収集要素140に情報を提供し得る。例えば、機能要素構成コントローラ120は、機能要素を無効または有効(例えば、機能要素132を無効または有効)にし得る。機能要素構成コントローラ120は、機能要素132の動作特性の変更(例えば、機能要素の有効化、無効化など)を分配要素110に通知し得る。
【0023】
分配要素110は、ワークフロー情報を分配する際に機能要素132の動作特性に関する情報を使用し得る。1つの実施形態において、分配要素110は、機能要素の構成を、機能要素への情報(例えば、処理用データを含むワークフロー)の分配に組み入れる。処理装置機能要素の1つが無効化されれば(例えば、欠陥であるという理由で)、分配要素110は、「ワークフロー」を取り扱うために、他の残りの処理装置機能要素に情報を分配する。例えば、機能要素132が機能要素構成コントローラ120によって無効化されれば、分配要素110には、機能要素132が無効であることが通知され、分配要素110は、他の機能要素(例えば、131、133、および/または134)にワークフローをルーティングし得る。機能要素132が、機能要素構成コントローラ120によって有効化されれば、分配要素110は、機能要素132が有効であることが通知され、分配要素110は、機能要素132へワークフローをルーティングし得る。分配要素110はまた、機能要素の性能構成(例えば、クロック速度)に基づいて、残りの有効機能要素に情報を分配し得る。1つの例示的な実施において、性能要求がより高いタスク(例えば、重要なタスク)が、性能特性または能力がより高い(例えば、より高速の)機能要素へルーティングされる。例えば、三次元(3D)グラフィックス情報が、高性能(例えば、高速の)グラフィックスパイプラインにルーティングされ、二次元(2D)グラフィックス情報が、より低い性能(例えば、より低速の)グラフィックスパイプラインにルーティングされ得る。1つの実施形態において、情報は、スコアボード式アルゴリズムに応じて分配される。
【0024】
本発明の1つの実施形態において、機能要素構成コントローラ120は、機能要素131〜134の動作特性の変更を命じる。動作特性は、機能要素131〜134の性能に影響を及ぼし得る。例えば、機能要素構成コントローラ120は、機能要素131〜134の動作特性状態を変更し得る(例えば、機能要素を有効化または無効化する)。1つの例示的な実施において、機能要素構成コントローラ120は、(例えば、クロック周波数を変更することによって)機能要素が動作する速度を変え、および/または、(例えば、機能要素に供給される電圧を変更することによって)機能要素によって消費される電力を変え得る。例えば、機能要素構成コントローラ120は、機能要素131〜134に供給されるクロック信号の周波数を変更するようにクロックソース137に命じ、および/または、機能要素131〜134に供給される電力信号の電圧を変更するように電源138に命じ得る。
【0025】
種々の機能要素と利用するために本発明が容易に適用可能であることを認識されたい。機能要素131〜134は、種々の異なる機能(例えば、浮動小数点、ピクセルシェーディング、バーテックスシェーディング、記憶、バッファリングなど)を与える機能ユニットであり得る。1つの例示的な実施において、機能要素は、実質的に同時に(例えば、同時に並列して)同様の動作を実行し得る。本発明の1つの実施形態において、機能要素は、アクティブな機能要素である。機能要素はまた、コアおよび/またはサブコアに組織化された多数の要素(例えば、特定の機能に関連するビルディングブロック)を含み得る。本発明の1つの実施形態において、コアまたはサブコアが、個々にテストおよび/または再構成され得る。例えば、本発明の再構成特徴に応じて、特定のコアが有効化および/または無効化され得る。
【0026】
1つの実施形態において、機能要素は、処理ユニットに含まれた処理装置要素(例えば、浮動小数点要素、ピクセルシェーダ要素、バーテックス処理装置要素など)である。中央演算処理装置(CPU:central processing unit)、グラフィックス処理ユニット(GPU:graphics processing unit)、および/または内蔵処理ユニットを含む種々の処理ユニットにおいて、本発明が容易に実施され得ることを認識されたい。1つの例示的な実施において、処理ユニットは、処理装置機能要素(例えば、浮動小数点要素)にタスクを割り当てるためのスコアボード式アルゴリズムを含む。処理装置機能要素によって結果が処理されると、スコアボードは、処理装置機能要素によってどのオペランドが要求されているかをトラッキングし、それをスケジューリングする。ここの処理装置機能要素からの結果が組み合わされて、全体的な結果を与える。スコアボードは、機能要素の構成を、タスクのスケジューリングに組み入れ得る。例えば、処理装置機能要素の1つが無効化されれば(例えば、欠陥であるという理由で)、スコアボードは、処理ワークフローを取り扱うために、他の残りの処理装置機能要素を再スケジューリングする。
【0027】
本発明は、パイプラインタイプ(例えば、ベクトルタイプ、スレッドタイプなど)の処理環境で実施され得る。図1Bは、本発明の1つの実施形態によるパイプライン集積回路150のブロック図である。パイプライン集積回路150は、機能要素がパイプラインである集積回路100の1つの実施である。集積回路150は、分配要素151と、機能要素構成コントローラ152と、収集要素154と、パイプライン171、172、173、および174とを備える。パイプライン171、172、173、および174は、パイプライン動作を実行する(例えば、フェッチ、復号、命令の実行)。機能要素構成コントローラ152は、パイプライン171〜174の動作特性を制御するとともに、パイプライン171〜174の動作特性に関する情報(例えば、どの機能要素が無効化および/または有効化されるかに関する情報)を分配要素151および収集要素154に与える。動作特性の制御は、様々な粒度で実行され得る。例えば、個々の機能要素ベースで構成(例えば、有効化、無効化など)され得る各パイプライン内において複数の個々の機能要素(図示せず)を含み得る。
【0028】
パイプライン集積回路150の要素は、集積回路100の要素と同様に動作する。例えば、ワークフロー情報が、同様の方法で進路を変えられ、またはルーティングされる。機能要素構成コントローラ152は、機能要素171〜174の動作特性に関する情報(例えば、無効、有効、速度、電圧など)を分配要素151に与える。分配要素151は、動作特性情報に部分的に基づいて、パイプライン171〜174に情報を分配する(例えば、ワークフロー情報を有効な機能要素に分配し、無効な機能要素に分配しない)。収集要素140は、パイプライン171〜174の出力を「収集」する(例えば、つなぎ合わせ、またはまとめる)(例えば、グラフィックスバッファに格納するための結果をつなぎ合わせ、またはまとめる)。1つの実施形態において、機能要素構成コントローラ152は、機能要素171〜174に供給されるクロック信号の周波数を変更するようにクロックソース175に命じ、および/または機能要素171〜174に供給される電力信号の電圧を変更するように電源177に命じ得る。
【0029】
種々の集積レベル(例えば、種々のダイ階層およびアーキテクチャ)で、本発明の集積回路が実施され得る。図1Cは、本発明のダイ階層の別の実施形態であるマルチプロセッサ集積回路190のブロック図である。マルチプロセッサ集積回路190の要素は、機能要素が処理装置であること以外、集積回路100に類似している。マルチプロセッサ集積回路190は、分配要素191と、機能要素構成コントローラ102と、収集要素194と、処理装置195、197、198、および199とを備える。1つの実施形態において、処理装置195、197、198、および199は、単一のダイに含まれ、共通のキャッシュメモリに結合される。機能要素構成コントローラ192は、動作特性の調節(例えば、無効化/有効化)を処理装置195〜199の1つ以上に命じ、処理装置195〜199の動作特性を示す(例えば、処理装置が無効/有効であるかを示す)動作特性情報を分配要素191および収集要素194に与える。1つの例示的な実施において、集積回路190は、機能要素構成コントローラ192が処理装置(例えば、195、197、198、または199)を無効にしても完全な機能性を与える。
【0030】
マルチプロセッサ集積回路190の要素は、集積回路100の要素と同様に動作する。例えば、ワークフロー情報が、同様の方法で進路を変えられ、またはルーティングされる。機能要素構成コントローラ192は、機能要素の動作特性に関する情報(例えば、無効、有効、速度、電圧など)を分配要素191に与える。分配要素191は、処理装置195〜199に情報(例えば、ワークフローデータ)を分配する。この分配は、動作特性情報に部分的に基づく(例えば、ワークフロー情報を有効な機能要素に分配し、無効な機能要素に分配しない)。1つの例示的な実施において、収集要素194は、処理装置195〜199の出力を「収集」または格納するメモリ(例えば、共通のキャッシュ)である。1つの実施形態において、機能要素構成コントローラ192は、機能要素195〜199に供給されるクロック信号の周波数を変更するようにクロックソース181に命じ、および/または機能要素195〜199に供給される電力信号の電圧を変更するように電源182に命じ得る。
【0031】
本発明の1つの実施形態において、性能と機能性とは区別される。場合によっては、本発明では、特定のタイプの機能またはタスクが異なる性能レベルで達成されてもよいが、この機能またはタスクが実行可能であるという意味で、動作特性を変更する場合に機能性は制限されない。1つの実施形態において、機能要素構成コントローラが、タスクの並列実行が可能な全ての機能要素を無効にしない。例えば、ダイが処理装置に2つの並列浮動小数点機能要素を有し、機能要素構成が、浮動小数点機能要素の1つの有効化特性または状態(例えば、無効)に変更されると、ワークフローは、残りの有効な浮動小数点機能要素に「再ルート」される。浮動小数点の働きの性能レベルは、ワークフローが2つではなく1つの浮動小数点機能要素によって取り扱われているために変化(例えば、低速化)することもある。しかしながら、それでもダイは、同一の機能性またはタスクを与える(例えば、浮動小数点機能を実行する)能力を有する。
【0032】
本発明の1つの実施形態において、集積回路(例えば、集積回路100、集積回路150、集積回路190など)には、性能能力(例えば、有効および/または無効の機能要素数)に対応する性能インジケータがマーキングされる。マーキングは、電子読み取り可能なマーキングおよび/またはインクマーキング(例えば、ダイ上)であり得る。マーキングは、集積回路の品質評価のインジケータであり得る。マーキングはまた、集積回路に関連する性能測定基準(例えば、処理速度、帯域幅など)に対応し得る。
【0033】
機能要素構成コントローラ120、152、および/または192が、種々の目的に応じて機能要素の変更を命じ得ることを認識されたい。例えば、機能要素構成コントローラが、歩留まりの問題、互換性の問題、性能の問題、システムの「健全性」の問題などに基づいて、機能要素の動作特性を変え得る。また、機能要素構成コントローラ120、152、および/または192が、ソフトウェアプログラマブルレジスタまたはマスク、ハードコードされたマスクなどを含む、目的を達成するための種々の実施を含み得ることを認識されたい。
【0034】
1つの実施形態において、機能要素構成コントローラ(例えば、120、152、および/または192)が、歩留まりの問題に取り組むために、機能要素の動作特性の変更を命じる。本発明は、集積回路製造におけるウェハの歩留まりを高めるという利点を有する。本発明のシステムおよび方法により、いくつかの欠陥機能要素を有する集積回路を復旧させることができる。従来、欠陥機能要素を有するダイは破棄され、結果的に、ウェハの生産コストがより少数の許容可能なダイの負担となっていた。本発明により、欠陥機能ユニットを有するダイを使用して、欠陥要素の無効が性能に影響を及ぼすことがあっても、同じタイプの機能を実行し、それによって、機能性を維持できる。ウェハ上の有用なダイの数が増えると、ウェハの生産コストを負担する許容可能なダイの数がより多くなる。ウェハの一定の生産コストを負担するダイの数を多くすることによって、より安いコストでより少ない実行ダイが販売されたとしても、ダイ当たりのコストが軽減される。
【0035】
本発明により、ダイの一部が異なる性能レベルで動作することがあっても、ダイの「復旧」が行われる。1つの例示的な実施において、破棄されていたはずのダイは、ダイが同じタイプのタスクを実行するという意味で同じ機能性を提供することができる。例えば、浮動小数点演算を実行可能な並列浮動小数点機能要素を有する処理装置が、1つの実施形態において、本発明が全ての並列浮動小数点要素を無効にせず、無効にした並列浮動小数点要素から残りの浮動小数点要素へワークフローを「再ルート」するため、浮動小数点演算を実行することができる。より多くの無効な要素を有するダイは、一部の並列要素が無効であるために、異なるレベル(例えば、より低速)でタスクを実行することもある。しかしながら、それでもダイは、同じ機能性を提供する(例えば、同じタスクを実行する)能力を有する。
【0036】
1つの実施形態において、機能要素構成コントローラ(例えば、120、152、および/または192)が、製造テスト中、動作特性の変更(例えば、有効化、無効化など)を機能要素に命じる。例えば、機能要素構成コントローラ(例えば、120、152、または192)が、機能要素が欠陥であることをテストが示せば、機能要素(例えば、132、173、または198のそれぞれ)を無効化し、機能要素が欠陥でないことをテストが示せば、機能要素(例えば、131、174、197のそれぞれ)を有効化する。
【0037】
本発明の1つの実施形態において、機能要素構成コントローラ(例えば、120、152、および/または192)が、「自己健全性」の問題に取り組むために、機能要素の動作特性の変更を命じる。1つの例示的な実施において、機能要素コントローラは、「フィールド」において、または製造業者からの初期出荷後に自己健全性の問題に取り組む。1つの例示的な実施において、集積回路が、フィールド「自己健全性」テストにおいて実行可能である。例えば、「自己健全性」テストで、欠陥機能要素であることが結果的に示されれば、機能要素構成コントローラ(例えば、120、152、および/または192)が、欠陥機能要素を無効にし、機能要素が無効であるという指示を分配要素(例えば、110、150、または191)に与える。本発明の1つの実施形態において、自己健全性テストは、国際電気電子技術者協会(IEEE:International Electrical and Electronic Engineering)の規格1149.1(ジョイントタスクアクショングループ(JTGA:Joint Task Action Group)テストとも呼ぶ)に準拠する。別の実施形態において、自己健全性テストは、システムの動作の完全性をチェックするための独自のテストである。さらなる別の実施形態において、フィールドでの「自己健全性」テストが、機能要素が欠陥ではないことを示せば、機能要素が有効化される。
【0038】
さらなる別の実施形態において、欠陥機能要素として同様のタイプのタスクまたは機能を実行する有効化されていない非欠陥機能要素が利用可能であれば、有効化されていない非欠陥機能要素は、欠陥要素が無効化されれば有効化される。例えば、図1の集積回路100は、欠陥でなかったとしても(例えば、市場細分化の理由などで)、機能要素131および132が有効状態であり、機能要素133および134を無効状態にして初期出荷され得る。フィールド自己健全性テストが、後に、機能要素132が欠陥状態になったことを示せば、機能要素コントローラ120は、機能要素132を無効にし、機能要素133を有効にでき、無効化されてなければ機能要素132に流されていたワークフローが、機能要素133に分配される(例えば、分配要素110によって)。従って、機能要素132を無効にすることで、実際には、機能要素132の欠陥に関連する問題がなくなる一方で、すでに無効化されている機能要素133を有効化することで、同じタイプの機能性またはタスクを同じ性能レベルでワークフローで実行でき、それによって、システムは効率的に「自己回復」する。
【0039】
本発明の1つの実施形態において、機能要素構成コントローラ(例えば、120、152、および/または192)が、互換性の問題に取り組むために、機能要素の動作特性の変更を命じる。1つの実施形態において、グラフィックスアクセラレータに含まれる機能要素コントローラが、グラフィックスアクセラレータの特徴と互換性のあるチップセットを認識可能であり、それに応じて、グラフィックスアクセラレータの動作特性を変更する。例えば、機能要素構成コントローラが、グラフィックスパイプラインの動作特性を制御していれば、機能要素構成コントローラは、チップセットがサポートし、より多くの数のグラフィックスパイプラインの利用と互換性があれば、より多くの数のグラフィックスパイプラインを有効化し得る。例えば、グラフィックスアクセラレータおよびチップセットが、同じ製造業者によって製造され、グラフィックスアクセラレータに含まれる機能要素コントローラは、グラフィックスアクセラレータと同じシステムに含まれるチップセットを特定する信号を受信し得る。本発明の1つの実施形態において、ドライバによって互換性が確立され、機能要素コントローラが、それに応じて、機能要素の動作特性の変更を命じる。
【0040】
本発明の1つの実施形態において、機能要素構成コントローラ(例えば、120、152、および/または192)が、性能問題に取り組むために、機能要素の動作特性の変更を命じる。1つの実施形態において、性能マスク40は、性能問題に基づいて機能要素に動作特性の指示を与える。例えば、特定のアプリケーションが実行されており、所望のサポートされた機能要素動作特性が有効化される。アプリケーションがグラフィックスアプリケーションであれば、追加のグラフィックスパイプラインが有効化され、および/または既存のグラフィックスアプリケーションパイプラインのクロック速度が増大され得る。本発明の1つの実施形態において、システムのタイプは、性能動作変更に組み入れられ、例えば、モバイル装置において、節電するために性能は調節され得る。
【0041】
異なる目的に応じて機能要素の変更を実施するために、種々の機能要素構成コントローラの実施形態が存在することを認識されたい。図1Dは、異なる目的を制御するために、本発明の1つの実施形態による機能要素コントローラによって利用されるマスクアレイ10のブロック図である。マスクアレイの各マスクは、特定の動作目的に対応する。1つの例示的な実施において、マスクアレイ10は、歩留まりマスク20と、互換性マスク30と、性能マスク40と、自己回復マスク50とを備える。1つの例示的な実施において、各列11〜18は、8つの機能要素の1つに関連付けられる。各セル(例えば、セル99)は、動作特性設定値を含む。例えば、論理1の動作特性設定値が、機能要素の有効化、要素の高クロック速度、要素の高電圧レベルなどに対応し得る。逆に、論理0の動作特性設定が、機能要素の無効化、要素の低クロック速度、要素の低電圧レベルなどに対応し得る。本発明は、粒度の可変増分を有する動作特性設定(例えば、超高速、高速、中速、低速、超低速)に容易に適応可能であることを認識されたい。1つの例示的な実施において、マスクアレイ10は、レジスタアレイに与えられる。
【0042】
異なる目的またはマスクに優先度が割り当てられ得る。例えば、歩留まりマスク20は、性能マスク40より高い優先度で割り当てられ得る。この実施例において、セル98の動作特性設定値は、セル97の動作特性設定値を支配している。セル98の設定値が、列12に関連する機能要素が無効化されることを示せば、機能要素は、セル97の設定値にかかわらず無効化される。マスクアレイ10の値はまた、機能要素構成コントローラによって提供される動作特性設定を決定する際の種々の考慮すべき点を明らかにする種々のアルゴリズムにおいて利用され得る。
【0043】
歩留まりマスク20は、歩留まりの問題(例えば、欠陥)により無効化される機能要素の指示を与える。例えば、歩留まりマスク20は、機能要素が製造欠陥を有すれば、機能要素を無効化させる動作特性設定値を含む。1つの例示的な実施において、ワークフローを取り扱い得る別の動作機能要素があれば、機能要素が無効化されてもよい。
【0044】
互換性マスク30が、互換性の問題に基づいて、機能要素に動作特性の指示を与える。例えば、特定の処理装置およびチップセットが、互いに識別を交換でき、識別の交換に基づき、互換可能にサポートされた機能要素動作特性が有効化され得る。本発明の1つの実施形態において、ドライバによって互換性が確立され、対応する動作特性設定値が互換性マスク30に入力される。
【0045】
性能マスク40は、性能問題に基づいて、機能要素に動作特性の指示を与える。例えば、特定のアプリケーションが実行されており、性能マスク40に値が入力されて、対応する所望のサポートされた機能要素動作特性を有効化する。アプリケーションがグラフィックスアプリケーションであれば、追加のグラフィックスパイプラインが有効化され、および/または既存のグラフィックスアプリケーションパイプラインのクロック速度が増大され得る。本発明の1つの実施形態において、システムのタイプは、性能動作変更に組み入れられ、例えば、モバイル装置において、性能マスク40に入力された値が、節電するように性能調節を命じ得る。例えば、無効/有効機能要素、調節速度、電圧などを含む、機能要素の動作特性の変更を命じる。
【0046】
自己回復マスク50が、フィールドテスト問題に基づいて、機能要素に動作特性の指示を与える。例えば、機能要素の動作特性の変化を決定するために、テスト動作からの結果が利用される。1つの例示的な実施において、フィールドテストが、有効な第1の機能要素が欠陥であることを示す。第1の機能要素に関連付けられた自己回復マスクセルの動作特性設定値は、第1の機能要素が無効化されることを示すように変更され、無効化される第2の機能要素に関連付けられた自己回復マスクセルの動作特性設定値は、第2の機能要素が有効化されることを示すように変更される。第1および第2の機能要素のそれぞれの動作特性設定値を変更することによって、欠陥の第1の要素は無効化され、より多くの問題が生じなくなり、さらに、無効化された第2の機能要素を有効化すると、第2の機能要素は、第1の機能要素にルーティングされるはずだったワークフローを実行でき、従って、システムは、実際のところ、欠陥なく同じワークフローが実行可能であるという点で回復する。
【0047】
図2は、本発明の実施形態が実施され得るコンピュータシステムの1つの実施形態である、コンピュータシステム200のブロック図である。コンピュータシステム200は、中央演算処理装置201と、メインメモリ202(例えば、ランダムアクセスメモリ)と、ノースブリッジ209およびサウスブリッジ205を有するチップセット203と、取り外し可能なデータ記憶装置204と、入力装置207と、信号通信ポート208と、ディスプレイ220に結合されるグラフィックスサブシステム210とを含む。コンピュータシステム200は、コンピュータシステム200の要素を通信可能に結合するためのいくつかのバスを含む。通信バス291(例えば、フロントサイドバス)が、チップセット203のノースブリッジ209を中央演算処理装置201に結合する。通信バス292(例えば、メインメモリバス)が、チップセット203のノースブリッジ209をメインメモリ202に結合する。通信バス292(例えば、拡張グッラフィックスポートインタフェース)が、チップセット203のノースブリッジをグラフィックサブシステム210に結合する。通信バス294〜297(例えば、PCIバス)が、チップセット203のサウスブリッジ205を取り外し可能なデータ記憶装置204、入力装置207、信号通信ポート208のそれぞれに結合する。グラフィックスサブシステム210は、グラフィックス処理装置211およびグラフィックスバッファ215を含む。
【0048】
コンピュータシステム200の要素は、多用途の機能性および性能を与えるように協働して動作する。コンピュータシステム200に含まれた機能要素の動作特性は、動的に変化し得る。1つの例示的な実施において、コンピュータシステム200の要素は、コンピュータシステム200に含まれる機能要素の一部が欠陥であっても、所定のタイプの機能性を与えるように協働して動作する。通信バス291、292、293、294、295、および297が、情報を通信する。中央処理装置201が、情報を処理する。メインメモリ202が、中央処理装置201の情報および命令を格納する。また、取り外し可能なデータ記憶装置204が、情報および命令を格納する(例えば、大きな情報蓄積場所として機能する)。入力装置206が、情報の入力および/またはディスプレイ220上での情報のポインティングまたはハイライト表示の機構を与える。信号通信ポート208が、外部装置との通信インタフェース(例えば、ネットワークとのインタフェース)を与える。ディスプレイ装置220が、フレームバッファ215に格納されたデータに応じて、情報を表示する。グラフィックス処理装置211が、中央処理装置201からのグラフィックスコマンドを処理し、ディスプレイモニタ220によって格納および呼び出すために、グラフィックスバッファ215に結果のデータを与える。
【0049】
コンピュータシステム200に含まれた機能要素の動作構成は、種々の目的に見合うように柔軟に適応可能である。例えば、コンピュータシステム200に含まれる機能要素の動作構成は、機能要素の一部が無効化されても、あるタイプの機能の実行を維持するように構成可能である。1つの例示的な実施において、中央処理装置201およびグラフィックス処理装置211は、同じタイプの処理機能を実行可能であり、メインメモリ202は、機能要素の一部(例えば、浮動小数点要素、ピクセルシェーダ要素、メモリセル要素など)が無効化されても情報を格納する。1つの実施形態において、処理装置は、処理動作を実行するための複数の機能要素を含む。機能要素の動作特性は、変えられ得る。1つの実施形態において、処理装置は、処理動作を実行するための複数の機能要素を含み、複数の機能要素に含まれた欠陥機能要素が無効化される。処理装置はまた、ワークフローを有効な処理要素に供給し、無効な欠陥要素へワークフローを分配しないようにするためにワークフロー制御要素を含む。1つの例示的な実施において、コンピュータシステム200は、性能レベルを落として(例えば、より低速に)機能性が与えられることがあっても、全機能性を与え続けることができる。
【0050】
本発明が、種々の実施形態において実施され得ることを認識されたい。1つの例示的な実施において、本発明は、ビデオゲームを含む種々のグラフィックスアプリケーションを提供するように利用された処理システムにおいて利用され得る。例えば、本発明は、ゲーム機、パーソナルコンピュータ、パーソナルデジタルアシスタント、携帯電話、またはビデオゲームを実行するための任意の数のプラットフォームにおいて欠陥要素を無効化するために利用され得る。また、ビデオゲームアプリケーションの実施の参照は例示的であり、本発明はこれらの実施に限定されるものではないことも認識されたい。
【0051】
図3は、本発明の1つの実施形態によるグラフィックスパイプライン300のブロック図である。グラフィックスパイプライン300(例えば、ピクセル処理パイプライン)が、パイプライン入力310と、バーテックス処理装置311〜314と、ラスタライザ320と、ピクセルシェーダ321〜324と、プレラスタ演算(ROP)要素330と、ラスタ演算要素331〜334と、パイプライン出力340と、機能要素構成コントローラ350とを備える。機能要素構成コントローラ350は、パイプライン入力310と、バーテックス処理装置311〜314と、ラスタライザ320と、ピクセルシェーダ321〜324と、プレラスタ演算(ROP)要素330と、ラスタ演算要素331〜334と、パイプライン出力340とに結合される。パイプライン入力310は、ラスタライザ320に結合されたバーテックス処理装置311〜314に結合される。ラスタライザ320は、プレラスタ演算要素330に結合されたピクセルシェーダ321〜324に結合される。プレラスタ演算(ROP)要素330は、パイプライン出力340に結合されたラスタ演算要素331〜334に結合される。1つの実施形態において、グラフィックスパイプライン300は、パイプライン集積回路150に類似している。例えば、パイプライン151は、バーテックス処理装置311と、ピクセルシェーダ321と、ROP331とを含み、パイプライン152は、バーテックスプロッセッサ312と、ピクセルシェーダ322と、ROP332とを含み、パイプライン153は、バーテックス処理装置313と、ピクセルシェーダ323と、ROP333とを含み、パイプライン154は、バーテックス処理装置314と、ピクセルシェーダ324と、ROP334とを含み、パイプライン入力310、ラスタライザ320、プレROP330、およびパイプライン出力340は、パイプライン151〜154に共通したものであり得る。
【0052】
グラフィックスパイプライン300の要素は、パイプラインの機能要素の動作特性の一部が変更されたとしても(例えば、無効化/有効化)、グラフィックスパイプライン動作を実行するように協働して動作する。機能要素構成コントローラ350は、バーテックス処理装置311〜314、ピクセルシェーダ321〜324、および/またはラスタ動作要素331〜334の動作特性を変更し得る。機能要素構成コントローラ350は、機能要素の有効化/無効化、機能要素のクロック速度の変更、および/または機能要素への電圧供給の増大を含む動作特性に対して種々の変更を行い得る。機能要素構成コントローラ350は、歩留まりの問題(例えば、機能要素が欠陥であり、および/または欠陥要素に関連する)、互換性の問題、性能の問題、および/またはシステム「健全性」の問題を含む種々の理由で変更を行い得る。機能要素構成コントローラ350はまた、パイプライン入力310と、ラスタライザ320と、プレラスタ演算(ROP)要素330と、パイプライン出力340とに対して、動作特性の変更に関する情報を与える。パイプライン入力要素310は、グラフィックスパイプライン情報を受信し、有効な状態のままのバーテックス処理装置311〜314に対応するパケット化されたグラフィックスパイプライン情報を分配する。バーテックス処理装置311〜314は、それぞれ受信したグラフィックスパイプライン情報にベクトルシェーディングを実行し、その結果の情報をラスタライザ320に転送する。ラスタライザ320は、どのピクセルをシェーディングするかを決定し、パケット化されベクトルシェーディングされたグラフィックスパイプライン情報をピクセルシェーダ321〜324に分配する。ピクセルシェーダ321〜323は、パケット化されベクトルシェーディングされたグラフィックスパイプライン情報にピクセルシェーディング計算を実行し、その結果をプレラスタ演算(ROP)要素330に転送する。
【0053】
1つの実施形態において、ピクセルシェーダ321〜324はまた、テクスチャ演算を実行し得る。テクスチャ演算は、テクスチャシェーダ要素(ピクセルシェーダに対応する)によって実行され得る。プレラスタ演算(ROP)要素330は、ベクトルシェーディング情報を集め、パケット化されピクセルシェーディングされた情報をラスタ演算要素331〜334に分配する。ラスタ演算要素331〜334は、パケット化されピクセルシェーディングされた情報にさらなるラスタ化処理を実行し(例えば、色結合およびZバッファ処理の実行)、その結果をパイプライン出力340に転送する。パイプライン出力340は、グラフィックスパイプライン情報をまとめて、単一の出力ストリームにする。代替的に、機能要素構成コントローラ350は、パイプラインの機能要素のそれぞれのレベルの間に位置するクロスバーまたはマルチプレクサ構造として与えられてもよい。
【0054】
本発明はまた、複数の区分に分割されたフレームバッファインタフェースの部分に適用され得る。1つの例示的な実施において、フレームバッファインタフェースは、メモリと通信する機能要素として動作する複数の同様のモジュール(例えば、フレームバッファを構成するDRAMの一部分)を含む。モジュールの1つが欠陥であれば、そのモジュールは無効化でき、欠陥モジュールのワークロードは、別のモジュールに再び割り当てられる(例えば、モジュールに関連付けられたメモリアドレスの部分に基づいて)。例えば、メモリアドレスに対するフレームバッファインタフェースモジュールのマッピングは、メモリ全体がチップに対して利用可能であるようにリマッピングされる。
【0055】
図4は、本発明の1つの実施形態による、機能要素構成プロセス400のフローチャートである。機能要素構成プロセス400は、集積回路において機能要素の柔軟な構成を行う。例えば、機能要素構成プロセス400は、集積回路における機能要素の動作特性(例えば、有効、無効、変更速度、変更電圧など)の変更を命じる。機能要素構成プロセス400が、種々の目的に応じて機能要素の動作特性を再構成するために(歩留まりを上げ、柔軟な性能を提供し、自己回復を行うなど)利用され得ることを認識されたい。1つの実施形態において、機能要素構成プロセス400はまた、効率的な情報処理ワークフロー管理を行う。
【0056】
ステップ410において、機能要素構成(例えば、動作特性)の変更トリガイベントの指示が受信される。本発明の1つの実施形態において、変更トリガイベントの指示は、機能要素コントローラ(例えば、120など)によって受信される。この指示は、変更すべき構成変更の指示(例えば、無効、有効、速度および電圧の増減など)を含み得る。1つの実施形態において、機能要素の構成変更トリガイベントは、集積回路の内部要素(例えば、内部テストシステム、ドライバ、アプリケーションなど)から受信する。機能要素の構成変更トリガイベントの指示はまた、集積回路の外部にある要素(例えば、外部テストシステム、インターネット、集中的構成システムなど)から受信し得る。
【0057】
指示および構成変更トリガイベントが、種々の動作目的(例えば、アプリケーション、ペイパーユース、市場細分化など)に関連付けられ得ることを認識されたい。変更トリガイベントが、歩留まりの問題に関連付けられ得る。例えば、イベントは、欠陥機能要素を検出するテスト動作に関連付けられることができ、欠陥機能要素を特定する指示が受信される(例えば、機能要素コントローラによって)。本発明の1つの実施形態において、欠陥機能要素の指示は、テストシステムから受信される。例えば、国際電気電子技術者協会(IEEE)規格1149.1(ジョイントタスクアクショングループ(JTGA)テストとも呼ぶ)に準拠するテストシステムおよび/または独自の動作完全性テスト(例えば、独自のスキャンテスト機構)である。変更トリガイベントが、互換性の問題に関連付けられ得る。例えば、要素が所定の互換性を有することを指示する信号が受信される。変更トリガイベントが、性能問題に関連付けられ得る。例えば、新規および/または異なるアプリケーションがロードされていることを指示する信号が受信され、ペイパーユース許可が与えられ、および/または節電が望ましいモバイル装置に集積回路が含まれる。変更トリガイベントがまた、自己テストおよび回復の問題に関連付けられ得る。
【0058】
ステップ420において、指示された機能要素構成変更(例えば、動作特性の変更)が有効であるかの決定がなされる。例えば、機能要素の許可された動作特性の決定がなされる。1つの実施形態において、ステップ410において受信した指示は、符号化されたビットストリームである。ビットストリームは復号化され、その結果得られた値は、機能要素構成変更をトリガするために、有効な許可であることが検査される。本発明の1つの実施形態において、符号化されたインジケータが解析される。この解析は、インジケータを復号することと、それを機能要素の異なる可能な動作特性設定の所定のリストと比較することとを含む。例えば、復号化されたインジケータの値は、許可されたトリガ指示または値の所定のリストの値と比較され、リストの値は、特定の動作特性設定に関連付けられる。
【0059】
本発明の1つの実施形態において、機能要素構成変更アクションはまた、有効性がチェックされる。例えば、歩留まりおよび自己回復の問題に関連して、機能要素無効化を実行すると、1つの実施形態において、欠陥機能要素に進むはずだったワークフロー情報に同様の機能を実行し得る第2の機能要素(例えば、並列)があるかどうかの決定がなされる。例えば、欠陥機能要素が、複数の同様の機能要素の1つであるかどうかの決定がなされる。本発明の1つの実施形態において、欠陥要素のタイプは、同様の機能を与える複数の要素のリストと比較される。例えば、欠陥要素は特定され(例えば、ピクセルシェーダ、バーテックス処理装置、浮動小数点要素など)、特定された機能要素は、同じ機能性を与え得る他の同様の要素のリストと比較される。1つの例示的な実施において、他の同様の要素は、欠陥機能要素に対する並列の要素であるかを決定するために検査される。ワークフローを実行し得る第2の機能要素があれば、第1の機能要素は無力化され得る(例えば、第1の機能要素が欠陥であれば)。
【0060】
ステップ430において、機能要素の構成の変更が命じられる。本発明の1つの実施形態において、機能要素の構成の変更(例えば、動作特性の変更)は、機能要素コントローラ(例えば、120、152、192など)によって命じられる。本発明の1つの実施形態において、機能要素の構成の変更(例えば、無効化、有効化など)は、機能要素の構成(例えば、動作特性)を制御する値(例えば、レジスタの)をプログラミングすることによって達成される。レジスタの値に基づいて、要素の構成(例えば、無効、有効など)を変更する機能要素に信号が送信される。1つの例示的な実施において、値はマスクにおいて構成される。機能要素の構成を変える(例えば、動作特性を変える)ための種々の本発明の方法があることを認識されたい。例えば、欠陥機能要素の無効化は、欠陥機能要素への通信ラインを止めることによって達成され得る。欠陥機能要素はまた、欠陥機能要素が確実にスプリアストラフィックを確保しない方法で無効化され得る。また、受信要素が、欠陥要素を通知され、欠陥機能要素からくる情報を無視するようにプログラミングされ得る。機能要素構成はまた、ソフトコード化方法によって変えられ得る。
【0061】
1つの実施形態において、機能要素の進行中の動作がモニタリングされ、ステップ430の構成動作に組み入れられる。例えば、システム「健全性」はチェックまたはテストされ、その結果は、動作特性への変更を決定する際に利用される。例えば、第1の機能要素が自己診断テストに失敗すれば、機能要素は無効化され得る。第2の機能要素が利用可能であれば、第1の機能要素と「取り替える」ためにアクティブにされ得る。例えば、第2の機能要素が完全に良好に働くが、何らかの他の理由ですでに無効化されたものであれば、テストに失敗した機能要素と取り替えるために有効化され得る。1つの例示的な実施において、アプリケーションのアクティブ化がモニタされ、それに応じて、機能要素の動作特性が変えられる。例えば、高性能グラフィックスアプリケーションがアクティブにされれば、機能要素の動作特性は高まり(例えば、より高速なクロック設定)および/または追加の機能要素(例えば、追加のグラフィックスパイプライン)が有効化または無効化され得る。
【0062】
また、システムの要素の変更(例えば、新しい要素の追加)がモニタリングされ、要素の変更に対応するために、動作特性が変更される。例えば、特定のタイプのグラフィックス処理装置が特定のタイプのチップセットに結合されれば、識別指示が伝達され、それに応じて、機能要素の動作特性が変えられ得る。識別により、互換性が予め決定され、強化された機能がサポートされる。1つの実施形態において、識別は符号化される。符号化することにより、動作特性設定の不当な変更を防ぐ。例えば、符号化により、機能要素の動作特性を不適切に低減しようとし、および/または特定が困難な複雑な障害を起こしかねない互換性の保証なしに動作特性を高めようとする試みからの保護が得られる。
【0063】
本発明の1つの実施形態において、動作特性の変更は、機能要素の間で調整される。例えば、(例えば、同じパイプライン、スレッドなどで)変更された機能要素と緊密に関連する適切に動作する機能要素が変更され得る。1つの例示的な実施において、動作の変更は、製品の差別化を維持するために、機能要素間で調整される。例えば、より低い性能のチップが、1つ少ないピクセルシェーディング要素と、1つ少ないバーテックスシェーディング要素とを有するものとして指定されれば、ピクセルシェーディング要素とバーテックスシェーディング要素の両方は、製品の差別化を維持するために無効化され得る。
【0064】
ステップ440において、ワークフローは、機能要素の変更に応じて進路を変えられる。例えば、ワークフローは、他の同様の機能要素に進路を変えられ得る。1つの実施形態において、ワークフローの変更は、構成の変更(例えば、有効化、無効化など)を、さもなければ変更された機能要素に情報を伝達するであろう要素に通知することによって達成される。例えば、機能要素コントローラ(例えば、120など)が、機能要素構成の変更(例えば、動作特性の変更)の指示を分配要素(例えば、110など)に与え、分配要素は、それに応じて、ワークフロー情報をルーティングする。例えば、第1の機能要素が有効化されれば、ワークフローは、第1の機能要素へルーティングされ、またはスケジューリングおよび転送される。第1の機能要素が無効化されれば、ワークフローは、別の有効な機能要素へルーティングされ、またはスケジューリングされる。
【0065】
1つの例示的な実施において、ワークフローは、より高速または低速の機能要素に進路を変えられ、またはルーティングされる。例えば、ワークフローのコンテンツが解析され、より高性能のアクティビティに関連するワークフローの一部が、より高速の機能要素(例えば、高速クロックレートで動作する機能要素)にルーティングされ、より低性能のアクティビティに関連するワークフローの一部が、より低速の機能要素にルーティングされる。高速変化しているグラフィックスイメージの領域にあるピクセル(例えば、ディスプレイの中心に向かうピクセル)が、より高速の機能要素(例えば、高速クロックのシェーダ)にルーティングされ得、低速変化しているグラフィックスイメージの領域にあるピクセル(例えば、ディスプレイの縁に向かうピクセル)が、より低速の機能の要素(例えば、低速クロックのシェーダ)にルーティングされる。
【0066】
機能要素の動作特性の変更(例えば、無効化など)は、他の要素への影響を低減させる方法で調整され得る。1つの実施形態において、適切に動作する機能要素が、無効化された要素の出力にある可能性があるガーベッジ(例えば、不正信号の組み合わせ)に耐性であるようにプログラミングまたは再構成され得る。例えば、適切に動作する機能要素が、無効の要素からの情報を無視するように命じられ得る。受信要素(例えば、収集要素140)が、機能要素の動作特性の変更を通知され、それに応じて反応するようにプログラミングされ得る。例えば、機能要素の速度が低下すれば、受信要素は、機能要素からの情報を待機しながらアイドリングするのではなく、後で再びチェックバックするようにプログラミングされ得るか、または機能要素が無効化されれば、機能要素からの情報を無視するようにプログラミングされ得る。機能要素が無効化されれば、受信要素は、機能要素からの信号を無視するようにプログラミングされ得る。
【0067】
図5は、本発明の1つの実施形態による、性能を低減した回路復旧方法500のフローチャートである。性能を低減した回路復旧方法500により、破棄されるはずであったダイが取り戻される。1つの実施形態において、性能を低減した回路復旧方法500は、ダイをテストし、ダイの機能性が確実に維持される方法で欠陥機能要素を無効化する。
【0068】
ステップ510において、テスト用にチップを準備する。テストシステムにチップが配置され、テストシステムが初期化される。本発明の1つの実施形態において、スキャンテストセルにスキャンテストの初期状態が入力される。例えば、チップは、国際電気電子技術者協会(IEEE)規格1149.1(ジョイントタスクアクショングループ(JTGA)テストとも呼ぶ)に準拠したテストの準備が整えられ得る。本発明の1つの実施形態において、チップのテスト能力に互換性のあるカスタムタイプのテスト(例えば、独自および/または非JTAG準拠テスト)が利用される。
【0069】
ステップ520において、チップがテストされる。本発明の1つの実施形態において、テストは、チップの欠陥機能要素を特定することを含む。本発明の1つの例示的な実施において、ビルトインセルフテスト(BIST:built in self test)が実行される。例えば、回路のある態様(例えば、機能論理要素)を促進するようにテストベクトルを適用し、その結果得られた回路からの出力を取り込むBISTに、スキャンテストが含まれる。スキャンテストチェーンは、スキャンテストチェーンを介して回路の機能要素にスキャンテスト情報(例えば、テストベクトル)をスキャンまたはシフトし、機能要素がスキャンテスト情報に関する演算を実行するようにさせ、その結果の情報を取り込み、次いで、スキャンテストチェーンのスキャンテストセルを介して結果の情報をシフトアウトするようにデザインされる。次いで、結果の情報は、エラーがないか解析される(例えば、所定の正確な結果と比較して)。テストベクトルパターンは、自動テストパターン発生(ATPG:automated test pattern generation)ツールによって与えられ得る。
【0070】
本発明の1つの実施形態において、欠陥である特定の機能要素が特定される。1つの例示的な実施において、スキャンテストの出力結果は、どの機能要素が欠陥であるかという指示を与える。例えば、テストパターンの結果は解析され、欠陥機能要素が特定される。本発明は、欠陥機能要素が、同様のダイに含まれる別の機能要素をもたないものであるかを決定し得る。1つの実施形態において、欠陥機能要素が重要であるか、および/または欠陥機能要素が無効化されれば、ダイにワークフローを取り扱うことができる機能要素が他にないかどうかの区別がなされる。このような機能要素が特定されれば、本発明の1つの実施形態において、ダイが全機能を提供できないため、ダイは破棄される。
【0071】
本発明の1つの実施形態において、欠陥要素の指示を行いやすいように、無効化要素が利用される。1つの例示的な実施において、複数の同様の機能要素(例えば、ピクセルシェーダ321〜324)によって、テストベクトル演算が実行される。エラー結果があれば、さらなるテストが実行される。複数の機能要素の第1の要素(例えば、ピクセルシェーダ321)が、無効化要素によって無効化され、テストベクトル演算が、残りの機能要素によって実行される。他の形態として、テストプロセスにおいて、機能要素の無効化をシミュレートするために、ソフトウェアシミュレーションが利用され得る。例えば、ピクセルシェーダ321が無効化され、テストベクトル演算が、ピクセルシェーダ322〜324によって実行され、その結果が解析される。エラー結果がなければ、第1の機能要素は、欠陥要素として特定される。エラー結果のままであれば、複数の機能要素の第2の要素(例えば、ピクセルシェーダ321)が、無効要素によって無効化され、テストベクトル演算が、残りの機能要素によって実行される。エラー結果がなければ、第2の機能要素は、欠陥要素として特定される。除去プロセスは、欠陥要素が特定されるまで続く。
【0072】
ステップ530において、機能要素構成プロセス(例えば、機能要素構成プロセス400)が、テストの結果に基づいて、チップに実行される。本発明の1つの実施形態において、機能要素構成プロセスは、機能要素が欠陥であれば、チップの複数の同質の機能要素(例えば、実行要素)の1つ以上を無効化する。例えば、欠陥機能要素に無効信号が発せられる。
【0073】
1つの実施形態において、性能を低減した回路復旧方法500が、他の機能要素が無効化された機能要素の機能を実行できるように、チップをプログラム可能に再構成することを含む。例えば、無効化された機能要素を特定する分配要素にマスクがプログラミングされ、ワークフローは、残りの機能要素間に分配され得る。マスクは、テスト時間で実行されたソフトウェアロード可能なレジスタか、ハードコードされたマスクタイプのプログラムのいずれかとしてプログラムされ得る。プログラム可能な不揮発性メモリ、ヒューズ、ワイヤボンドストラップなどを含む利用可能な種々の技術がある。
【0074】
性能を低減した回路復旧方法500の1つの実施形態において、テスタのプログラムが、特定の性能レベルに対するダイの特性の定義を含む。1つの例示的な実施において、テスタは、各性能レベルにおいてどの欠陥が許容可能であるかの指示を含む。例えば、テスタは、第1の複数の並列機能要素が無効化され得る第1の性能レベルと、第2の複数の並列機能要素が無効化され得る第2の性能レベルとを含み得る。また、性能レベルは、有効化される機能要素の数に対応し得る。また、本発明は、テスト手順の一環として性能レベルに基づいて、ダイの自動廃棄を促進し得る。
【0075】
図6は、本発明の1つの実施形態によるテスト環境であるテスト環境600のブロック図である。テスト環境600は、ダイ610と、テストシステム650とを含む。ダイ610は、テストインタフェース633と、分配器631と、機能要素611〜614とを備え、各機能要素および分配器631は、スキャンテストセル621〜625をそれぞれ含む。ダイ復旧テストシステム650は、テストモジュール680と、欠陥要素分解モジュール670とを備え、このモジュール670は、機能性メンテナンスモジュール671と、対応する要素検出モジュール672と、無効化モジュール673と、ダイ拒絶モジュール674とを含む。
【0076】
ダイ復旧テストシステム650が、ダイ610をテストする。テストモジュール680は、スキャンテストセル621〜625にテストベクトルを送るテストインタフェース633にテストベクトルを与える。スキャンテストセル621〜625の情報は、機能要素611〜614および分配器631に供給され、スキャンテスト情報に関する演算を実行する。これらの結果はまた、スキャンテストセル621〜625によって取り込まれ、これらの結果を解析用にテストシステム650に送るテストインタフェース633に伝達される。テストモジュール680は、これらの結果を解析し、欠陥機能要素の指示を欠陥分解モジュール670に与える。欠陥分解モジュール670は、機能要素を無効化することによってダイが復旧され得るかどうかを決定する。
【0077】
機能性メンテナンスモジュール671は、無効化されてもよいグループに、特定した機能要素が含まれるかどうかを決定する。1つの実施形態において、機能性メンテナンスモジュール671は、特定された(例えば、欠陥)機能要素のワークフローを取り扱うことができる他の機能要素があるかを決定する。例えば、ワークフローは、別の機能要素に転送またはリルーティングされ得る。1つの例示的な実施において、機能性メンテナンスモジュール671は、無効化されてもよい所定の要素リストに対して特定された機能要素をチェックする(例えば、他の要素が、ワークフローを取り扱い得る)。
【0078】
対応する要素検出モジュール672は、無効化されなければならない関連する機能要素があるかを決定する。関与する機能要素は、適切に機能する要素であり得る。本発明の1つの実施形態において、(例えば、同じパイプライン、スレッドなどにおいて)欠陥機能要素に緊密に関連する機能要素が特定される。例えば、機能要素が、欠陥要素の下流にあれば、適切に機能する要素は、スイッチングアクティビティおよび対応する電力消費を防止するために無効化され得る(例えば、電源が切られる)。1つの例示的な実施において、機能要素は、製品の差別化を維持するために無効化され得る。無効化されなければならない他の機能要素が特定されれば、これらを無効化することが機能性に影響を及ぼすかどうかを決定するために、機能性メンテナンスモジュール671に、これらの要素のアイデンティティが返される。
【0079】
無効化モジュール673は、機能要素の無効化(機能要素611、612、613、または614の無効化)を命じる。本発明の1つの実施形態において、無効化モジュール673は、テストインタフェース633を介して機能要素に直接、無効化信号を送信する。別の実施形態において、無効化モジュール673は、ダイ610の無効化要素(図示せず)に信号を送信する。無効化モジュール673は、機能性メンテナンスモジュール671が、要素の無効化が許可可能であるか(例えば、機能性を除去しない)という指示を与える。1つの例示的な実施において、機能性メンテナンスモジュール671は、機能性を低減しないかぎり、無効化モジュール673は、性能を低減したとしても機能要素を無効化することができる。
【0080】
ダイマーキングモジュール674が、ダイをマーキングする。本発明の1つの実施形態において、ダイマーキングモジュール674は、性能基準に基づいてダイをマーキングする。ダイマーキングモジュール674はまた、ダイが拒絶されれば、マーキングまたは指示を与える。ダイは、機能性メンテナンスモジュール671が、欠陥機能要素が無効化されるべきではなく、および/またはダイの性能が所定のレベルを下回るという指示を与えるため拒絶され得る。1つの例示的な実施形態において、ダイが、無効化される機能要素に基づいてマーキングされる。例えば、所定の数および/またはタイプの機能要素が無効化されれば、ダイは、それに応じてマーキングされる。
【0081】
本発明の1つの実施形態において、ダイマーキングモジュール674はまた、その上にダイが位置するウェハをマーキングする。本発明の1つの実施形態において、ダイマーキングモジュール674は、歩留まりの基準に基づいてウェハをマーキングする。歩留まりの基準は、異なる性能レベルに対して区分され得る。例えば、歩留まりのマーキングは、ウェハにある一定の数またはパーセンテージのダイが、無効の機能要素をもたず、一定数またはパーセンテージのダイが、決まった数の無効機能要素を有し、および一定数またはダイが拒絶され、または復旧されないことを示し得る。
【0082】
図7は、本発明の1つの実施形態によるダイ分類プロセスの1つの実施形態であるダイ分類プロセス700のフローチャートである。ダイ分類プロセス700は、異なる性能レベルでの同様の構成で、ダイの製造および分類を含む。1つの例示的な実施において、同じ作製プロセスにおいて製造されるダイが、異なる性能レベルに基づいて分類される。例えば、ダイは、同じ数の機能要素(例えば、トランジスタ)を有するが、機能の実行を邪魔しないが、性能に影響を与えることもある方法で無効化されるものもある。ダイ分類プロセス700は、同じ機能性および異なる性能レベルで、ダイの分類および分配を促す。
【0083】
ステップ710において、同様の構成を有する複数のダイが作製される。本発明の1つの実施形態において、複数のダイは、単一のウェハ上に作製される。本発明の1つの実施形態において、同様の構成により、複数のダイの各々が、所定のタイプの機能性を実行できる。1つの例示的な実施において、同じリソグラフィープロセスステップは、複数のダイを作製するために利用される。1つの実施形態において、同様の構成が、ダイに関するデータシート情報を検討することによって決定され得る。例えば、データシート情報は、ダイサイズ(例えば、トランジスタ数)、機能性インジケータ、および/または性能インジケータ、および/またはダイが関連する製品ラインに関する情報を含む(例えば、ダイの販売目的を決定することによって)。また、ダイが同じ作製コストを実質的に有していれば、同様の構成を指定できる。
【0084】
ステップ720において、要素が、要素に関連する機能を実行するためのダイの能力をなくさずに、複数のダイの1つ内の生産的貢献に関与できないようにされる。本発明の1つの実施形態において、要素の生産性を取り除くことは、性能に影響を及ぼすこともあるが、機能性のタイプをなくすことではない。1つの例示的な実施において、要素は、要素を無効化することによって、生産的貢献に関与できないようにされる。無効化された要素のワークフローは、他の要素に方向を変えられ得る。1つの実施形態において、要素が生産的貢献に関与できないようにすることは、データシート情報を解析することによって検出され得る。例えば、異なる性能レベルで同じタイプの機能性を与える製品ラインに適用可能な製品シートをダイが有するかどうかである。代替的に、要素が生産的貢献に関与できないようにされるかどうかの別の指示は、どのデータシート情報がダイに適用されるかの決定が、テストの実行後までなされていないかどうかである(例えば、データシート情報の選択が、テスト結果に基づいてダイ要素の変更に対応する)。
【0085】
ステップ730において、機能性を異ならしめた性能レベルに基づいて、複数のダイの各々が分類される。1つの例示的な実施において、ダイは、機能性が与えられる性能レベルに相関して、異なる価格で分配または販売される製品に含まれる。同じデザインのダイは、本発明の1つの実施形態において、異なる性能レベル(例えば、異なる速度、帯域幅など)で分配される。
【0086】
図8は、本発明の1つの実施形態による処理ユニット800のブロック図である。本発明の1つの実施形態において、処理ユニット800は、コンピュータベースのシステム(例えば、コンピュータシステム200)に含まれる。1つの例示的な実施において、処理ユニット800は、中央演算処理装置201および/またはグラフィックス処理ユニット211に類似している。処理ユニット800は、割り当て要素810と、性能管理状態要素820と、演算要素831〜834とを備える。1つの実施形態において、割り当て要素810は、分配要素110に類似し、性能管理状態要素820は、機能要素コントローラ120に類似し、演算要素831〜834は、機能要素131〜134に類似する。演算要素831〜834の各々は、様々なタスクに関連する処理演算を実行する(例えば、浮動小数点計算、グラフィックスデータ操作など)。1つの実施形態において、演算要素831〜834は、同様のタスクまたは機能を実行する。性能管理要素820は、演算要素831〜834の各々の動作特性(例えば、有効、無効など)の変化を選択的に管理する。割り当て要素810は、演算要素831〜834と、性能管理要素820とに結合される。割り当て要素810は、有効化された機能要素831〜834の各々に情報を割り当てる。例えば、割り当て要素810は、演算要素が有効化されれば、演算要素831〜834に処理ワークフロー情報を割り当てる(例えば、分配する)。1つの実施形態において、性能管理状態要素820および演算要素831〜834は、機能要素コントローラ120および機能要素831〜834に類似する。
【0087】
性能管理要素820は、演算要素の変更を指示する情報を受信する。例えば、テスト結果が、演算要素が欠陥であることを示す。性能管理要素820は該情報が当てはまる演算要素831〜834のサブセットを特定する。例えば、欠陥である演算要素のサブセットであり、使用を有効化されていないサブセットである。1つの例示的な実施において、欠陥でないサブセットが有効化される。例えば、テスト結果が、演算要素831〜834が欠陥であることを示せば、演算要素820は、演算要素832〜833を有効化するが、演算コンポーエンント831〜834を有効化しない。演算要素831〜834が有効化されれば、性能管理要素820がそれらを無効化する。性能管理要素820はまた、動作特性状態指示を割り当て要素810に与える。例えば、動作特性状態指示は、どの機能要素が有効化されるか、および無効化されるかを示す。有効化される演算要素の各々は、有効化されない演算要素によって実行されるはずであった同様の機能を実行可能である。
【0088】
図9は、本発明の1つの実施形態によるウェハ歩留まり最適化方法900のフローチャートである。ウェハ歩留まり最適化方法900は、ウェハから使用可能なダイの歩留まりを上げる。1つの例示的な実施において、ウェハ歩留まり最適化方法900は、ウェハからの全歩留まりを上げるために、ウェハから破棄されるはずであった欠陥要素によってダイの復旧を行う。
【0089】
ステップ910において、ウェハが作製される。ウェハは、複数のダイを含み、複数のダイの各々は、複数の機能サブ要素を用いて複数のサブタスクを並列実行可能な機能要素を有する。例えば、各ダイは、機能サブ要素(例えば、シェーダ、ラスタライザなど)によって種々のグラフィックスサブタスク(例えば、シェーディング、テクスチャリング、エイリアシング、ラスタライジングなど)を実行するパイプラインを含み得る。本発明の1つの実施形態において、ウェハは、リソグラフィープロセスを用いて作製される。
【0090】
ステップ920において、各ダイに対して、動作可能である複数の機能サブ要素の各々と、動作不能である複数の機能サブ要素の各々が特定される。1つの実施形態において、動作可能および動作不能の機能サブ要素は、従来の回路テストプロセスの一環として特定される。例えば、機能サブ要素に、所定の入力が供給され、その結果の出力は検査される。出力情報は、エラーがないか検査される(例えば、出力は、所定の正確な結果と比較される)。出力情報がエラーを含めば(例えば、出力が所定の正確な結果と整合しなければ)、機能サブ要素は、動作不能であると特定される。
【0091】
ステップ930において、動作不能であると特定された上記複数の機能サブ要素の各々の動作が無効化される。1つの実施形態において、動作可能であると特定された上記複数の機能サブ要素の各々は、有効化され得る。1つの実施形態において、動作不能の機能サブ要素は無効化され、動作可能の機能サブ要素は、ハード「コード化」された機構によって有効化される。例えば、機能サブ要素を構成または無効化するために、ファウンドリレーザトリムビットが利用される。別の実施形態において、機能サブ要素を構成(例えば、無効化または有効化)するために、ソフトウェアプログラム可能な情報が利用される。
【0092】
ステップ940において、複数のダイの各々が、動作可能な状態に基づいて性能クラスにソートされる(例えば、ステップ930において、動作可能または動作不能と特定された要素)。例えば、ダイは、機能サブ要素の全てまたはかなりのパーセンテージが動作可能であり有効化される高性能クラスにソートされ得る。ダイは、より少ない数の機能サブ要素が有効化されたままである中程度の性能レンジクラスにソートされ得る。これらの性能レンジは、復旧可能であるものとされ得る。また、ダイが最低限を満たさず、破棄される(または、問題を解決するであろう何らかの他の修正アクションを受ける)性能クラスもあり得る。
【0093】
ステップ950において、復旧可能であるとされた性能クラスにソートされたダイは、復旧される。例えば、タスクの実行速度が低減されても、処理タスクを実行するために、いくつかの無効な機能サブ要素を有するダイが使用される。
【0094】
図10は、本発明の1つの実施形態による機能要素リモート構成アーキテクチャ1100のブロック図である。機能要素リモート構成アーキテクチャ1100は、集積回路ダイに含まれる機能要素の構成を促す。例えば、構成は、外部またはリモートシステムから制御される。機能要素リモート構成アーキテクチャ1100は、機能要素の動作特性が、多数の所望の実施を達成するために、確実かつ制御された方法で変えられ得るアーキテクチャを提供する。
【0095】
リモート構成環境1100は、集積回路ダイ1110と、リモート構成制御モジュール1150とを含む。集積回路ダイ1110は、構成モジュール1133と、分配要素1131と、機能要素1111〜1114とを備え、各機能要素および分配要素1131の各々は、動作特性レジスタ1121〜1125をそれぞれ含む。リモート構成コントローラモジュール1150は、符号化モジュール1180と、構成分解モジュール1170とを備える。
【0096】
リモート構成コントローラモジュール1150は、集積回路ダイ1110の機能要素の構成を制御する。1つの実施形態において、リモート構成コントローラモジュール1150は、オフチップである(例えば、ドライバにおいて)。構成分解モジュール1170は、集積回路ダイ1110の機能要素の動作特性設定を決定する。1つの例示的な実施において、構成分解モジュール1170は、アップグレードされた動作特性に関して合意に達した自動機能性ネゴシエーションプロセス(例えば、要求に応じた容量)に関与し、機能性インジケータが、機能性ネゴシエーションプロセスの一環として動的に変更される。動作特性は、1つの例示的な実施において製品差別化を維持するように設定される。構成分解モジュール1170は、動作特性インジケータ値を符号化モジュール1180に転送する。符号化モジュール1180は、動作特性インジケータ値を符号化し(例えば、キー、ハッシュ値などで)、符号化された動作特性インジケータ値を構成モジュール1133に転送する。
【0097】
構成モジュール1133は、機能要素構成を命じる。例えば、構成モジュール1133は、符号化モジュール1180から受信した符号化された動作特性設定値に基づいて、機能要素動作特性設定(例えば、機能要素1111、1112、1113、または1114)の変更を命じる。構成モジュール1133は、機能要素動作特性インジケータ値を復号し得る。構成モジュール1133は、対応する動作特性設定と比較するために、機能性トラッキングモジュール1137に復号化された値を転送する。
【0098】
機能性トラッキングモジュール1137は、機能要素動作特性のメンテナンスを命じる。1つの例示的な実施において、機能性トラッキングモジュール1137は、復号化された機能性インジケータ値と特定の動作特性設定との間に相関性を与える。例えば、機能性トラッキングモジュール1137は、動作特性の所定の相関リストに対して、機能性インジケータをチェックする。機能性トラッキングモジュール1137はまた、特定された機能要素のワークフローを取り扱い得る他の機能要素があるかを決定し得る。
【0099】
図11は、本発明の1つの実施形態によるリモート再構成方法1200のフローチャートである。リモート再構成方法1200は、再構成動作のリモート制御を維持するための機構を与える。1つの例示的な実施において、リモート再構成方法1200は、ある構成機能を利用すると追加の支払いが要求される、ペイパーユースで利用される。例えば、ユーザが、追加機能要素をアクティブにすることを望めば(例えば、追加のグラフィックスパイプライン、浮動小数点要素など)、ユーザは、追加の支払いをしなければならない。
【0100】
ステップ1210において、システムがリモートリソースから再構成コードを要求する、ダイ機能要素の再構成リクエストプロセスに着手する。1つの実施形態において、再構成リクエストプロセスが、ダイ機能要素再構成コードのリクエストおよび受信を含む。1つの例示的な実施において、ダイ認識コードは、機能要素を再構成するために、機能要素コントローラ(例えば、120など)によって利用される。ダイ機能要素認識コードのリクエストおよび受信が、種々の通信システムを介して通信され得ることを認識されたい。例えば、リクエストおよびダイ機能要素認識コードは、インターネットを介して伝達され得る。1つの実施形態において、リクエストは、リクエスタが認識コードを受信するように許可されていること(例えば、リクエスタが、必要な支払いをしたこと、許可システムを有することなど)を示す再構成コード許可インジケータを含む。
【0101】
1つの実施形態において、ダイ機能要素の再構成リクエストプロセスは、再構成コード許可インジケータを獲得するために、再構成コード許可インジケータリクエストプロセスを含む。1つの例示的な実施において、再構成コード許可インジケータリクエストプロセスは、許可インジケータの支払いおよびリクエストを転送することと、許可インジケータのリクエストおよび支払いの応答を受信することを含む。例えば、顧客やユーザが、インターネットを介してリモートセントラルリソースに電子支払いをし、それと引き換えに許可インジケータ(例えば、ビットストリームコード)を受信する。
【0102】
ステップ1220において、再構成コード生成プロセスが実行される。1つの例示的な実施において、リモートリソースが、再構成コードのリクエストを処理する。1つの実施形態において、再構成コード生成プロセスは、再構成コードのリクエストおよび許可インジケータを受信することと、許可インジケータの有効性を解析することと、許可インジケータが有効であれば、再構成コードを提供することとを含む。例えば、リモートリソースが、システムにおいてアクティブなグラフィックスパイプラインの数を増大するためのリクエストを受信する。リモートリソースは、リクエスタが必要な支払いをしたかを解析する。必要な支払いが済んでいれば、リモートリソースは、システムにおいてアクティブなグラフィックスパイプライン数を上げるための再構成コードを転送する。
【0103】
1つの実施形態において、再構成コード生成プロセスは、再構成コード許可インジケータを獲得するためのリクエストプロセスに応答するために、再構成コード許可インジケータ応答プロセスに着手することを含む。1つの例示的な実施において、再構成コード許可インジケータ応答プロセスは、許可インジケータの支払いを受信することと、支払いの受信に応答して許可インジケータを転送することとを含む。
【0104】
ステップ1230において、再構成コードがシステムによって受信されれば(例えば、リモートリソースによって受信されれば)、ダイ機能要素再構成プロセスが実行される。ダイ機能要素再構成プロセスは、再構成コードに応じてダイ機能要素(例えば、機能要素131、132、133、134など)を再構成することを含む。1つの実施形態において、ダイ機能要素再構成プロセスは、機能要素構成プロセス400に類似している。
【0105】
本発明は、種々のシステムにおいて実施でき、機能要素の構成情報をユーザにうまく伝えるための種々の機構を含み得る。図12は、本発明の1つの実施形態による機能要素構成システム1300のブロック図である。機能要素構成システム1300は、メモリ1320およびディスプレイ1330に通信可能に結合された処理装置1310を含む。1つの例示的な実施において、機能要素構成システム1300は、集積回路100に通信可能に結合される。
【0106】
機能要素構成制御システム1300の要素は、機能要素構成に関連する情報を与えるように協働して動作する。処理装置1310が、機能要素構成解析プロセスを実行するための情報および命令を含む、情報および命令を処理する。メモリ1320が、機能要素構成解析プロセスを実行するための情報および命令を含む情報および命令を格納する。ディスプレイ1330が、機能要素動作挙動を解析し、使いやすいグラフィカルユーザインタフェースにおいて動作特性設定を決定することに関連する情報を含む情報および機能要素構成動作設定のグラフィカルユーザインタフェースの提示を与える。機能要素構成制御システム1300は、自動テスト機器(ATE:automated test equipment)、または、代替的に、ATEとのインタフェース内に実施され得る。
【0107】
機能要素構成制御システム1300は、種々の使いやすい形式で情報を与え得る。1つの実施形態において、グラフィカルユーザインタフェースは、様々なレベルの粒度で実時間に機能要素ビルディングブロック(例えば、機能要素131など)のパスまたはフェイル状態を示す。1つの例示的な実施において、グラフィカルユーザインタフェースが、図3に類似したイメージを表示し、要素は、パス状態の場合、緑色に強調され、フェイル状態の場合、赤色に強調される。グラフィカルユーザインタフェースは、不完全なデカルト配列で分散されるであろうトポロジーインバージョン情報を、ユーザが分かりやすい方法で提示し得る。また、グラフィカルユーザインタフェースにより、ユーザは、様々な機能要素動作挙動の解析機能および動作特性設定の決定機能と相互作用しやすくなり得る。例えば、グラフィカルユーザインタフェースにより、ユーザは、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節を含むデバグ動作においてユーザと相互作用しやすくなり得る。
【0108】
図13は、本発明の1つの実施形態による機能要素構成解析プロセス1370のフローチャートである。
【0109】
ステップ1371において、機能要素動作挙動が解析される。1つの実施形態において、機能要素動作挙動の解析は、複数の機能要素に対して並列に実行される。1つの例示的な実施において、機能要素動作挙動の解析は、トポロジーインバージョン解析を含む。この解析はまた、様々なレベルの構成抽象化および要素組織化で実行され得る。例えば、機能要素演算挙動の解析は、様々な機能要素粒度および組織化レベルで複数の機能要素のテスト情報を抽出することと、様々な機能要素粒度および組織化レベルでテスト情報を検査することと、検査結果に基づいて、動作特性設定の調節を確立することとを含み得る。
【0110】
ステップ1372において、動作特性設定は、ステップ1310において実行された解析結果に基づいて決定される。1つの実施形態において、動作特性設定は、様々なレベルの構成抽象化および要素組織化で決定される。例えば、動作特性設定は、パイプラインレベル、パイプライン要素レベル(例えば、ラスタ要素、シェーダ要素など)、または論理ゲートレベル(例えば、ANDゲート、ORゲートなど)で決定され得る。動作設定に関して、多数の決定がなされ得る。例えば、パイプラインのクロック速度の増減、パイプラインの有効化または無効化などができる。
【0111】
ステップ1373において、機能要素は、動作特性設定に応じて構成される。本発明の1つの実施形態において、機能要素再構成プロセスが実行される(例えば、機能要素再構成プロセス400)。動作特性設定に応じて機能要素を構成することは、指示された機能要素構成の変更が有効であるかを決定することと、機能要素構成の変更を命じることと、機能要素構成の変更に応じてワークフローの進路を変えることとを含み得る。
【0112】
図14は、本発明の1つの実施形態による柔軟性のある集積回路テスト方法1400のフローチャートである。柔軟性のある集積回路テスト方法1400により、生産および/またはフィールドテストでのリソースおよびコストを節約できる。1つの実施形態において、柔軟性のある集積回路テスト方法1400により、ビルトインセルフテスト(BIST)およびビルトインセルフリペア(BISR)機能によって、比較的低コストの自動テスト機器(ATE)を利用できる。
【0113】
ステップ1410において、テスト用に複数の集積回路を準備する。複数の集積回路は、組織化されたテスト階層においてテスト用に準備される。1つの実施形態において、組織化されたテスト階層は、様々なレベルの機能要素粒度および組織化を含む。例えば、ウェハレベル、ダイレベル、またはダイ内の機能要素レベルで、テストが実行され得る。
【0114】
ステップ1420において、複数の集積回路がテストされる。本発明は、種々のテストステージおよび異なるテストモード内で柔軟に実施され得る。例えば、テストは、ウェハプローブステージおよび/または最終ソートステージで実行され得る。テストはまた、速度テストを含み得る。複数の集積回路は、並列にテストされ得る。並列にテストを行うことで、ウェハの全体的なテストの時間が短縮され、コストが軽減される。
【0115】
ステップ1430において、機能要素の構成プロセスが、テスト結果に基づいて、複数の集積回路に実行される。本発明の1つの実施形態において、機能要素再構成プロセス400に類似した機能要素再構成プロセスが実行される。種々の機能要素構成は、機能要素の有効化または無効化を含む、機能要素動作設定を操作することによって実施され得る。
【0116】
ステップ1420および1430のテストおよび機能要素構成プロセスが、組織化されたテスト階層の様々なレベルで実行され得ることを認識されたい。組織化されたテスト階層は、様々なレベルの機能要素粒度および組織化を含み得る。1つの例示的な実施において、組織化されたテスト階層は、エンジニアリングモードでテスト結果を与え、それに応じて機能装置を構成するトポロジーインバージョン解析に向けられた結果に対応し得る。例えば、有効化または無効化されているパイプラインに関連する複数のゲートが、ダイ領域にわたって地形的に多様に拡散されるが、エンジニアリングモードでは、有効化または無効化されている1つの要素として示される。代替的に、テストおよび機能要素構成プロセスは、生産モードで実行される。テストおよび機能要素構成プロセスはまた、複数の集積回路で並列に実行され得る。
【0117】
本発明の1つの実施形態において、テスト結果(例えば、フェイルマップデータ)および構成の調節に関連する情報が格納され得る。例えば、情報は、チップおよび/またはリモートデータベースに格納され得る。情報は、種々の階層およびアーキテクチャレベルで(例えば、チップベース、ウェハベース、バッチベースなどで)収集、組織化、および解析され得る。情報は、実時間ウェハ生産歩留まり解析において利用され得る。例えば、ダイレイアウトを統計解析すると、歩留まりに及ぼす不均衡な影響を有する冗長なフェイル領域(例えば、ピクセルシェーダサブブロック)が識別され得る。影響は、テスト、リペア(例えば、BISR)、およびデザイン中に迅速に取り組まれ得る。同様に、ウェハレベルでのプロセスシフトもまたトラッキングでき、シフトを補正するために適切な調節がなされる。1つの例において、シフトまたは「ドリフトアウト」し、チップ作製、テスト、およびデザインプロセスの間に注意を要するウェハの領域にフラグをたてる歩留まりウェハマップに実時間モニタリングが実行される。
【0118】
図15に、本発明の1つの実施形態による集積回路解析システム1500のブロック図を示す。集積回路解析システム1500は、集積回路1510と、外部機能要素協調装置1520とを含む。集積回路1510は、複数の機能要素1512〜1515と、分配要素1511と、機能要素構成コントローラ1517と、テストコントローラ1518と、構成通信インタフェース1519とを含む。集積回路1510の要素は、構成可能な集積回路を与えるように協働して動作する。
【0119】
機能要素1511〜1515が、処理動作を実行する(例えば、図1に示す集積回路100の機能要素131〜134に類似)。分配要素1511が、複数の機能要素に情報を分配する(例えば、分配要素110に類似)。機能要素構成コントローラ1517は、複数の機能要素の1つ以上の動作特性を構成する(例えば、機能要素構成コントローラ120に類似)。構成通信インタフェース1519が、外部装置との間で、複数の機能要素の1つ以上の動作特性に関する情報を伝達する。
【0120】
1つの実施形態において、構成通信インタフェース1519は、テスト情報を外部装置に伝達する。1つの例示的な実施において、テスト情報および機能要素構成情報は、様々なレベルの機能要素粒度および組織化で構成通信インタフェース1519によって伝達される。例えば、テスト情報は、トポロジーインバージョン解析情報を含む。この情報は、様々なテストステージで伝達され得る。例えば、テスト情報は、ウェハプローブステージ情報を含み、および/または最終ソートステージ情報を含む。
【0121】
構成通信インタフェース1519はまた、動作特性設定情報を受信し得る。例えば、構成通信インタフェース1519は、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節に関連する動作特性設定情報を受信し得る。
【0122】
図15をさらに参照すると、本発明の1つの実施形態による外部機能要素協調装置1520のブロック図が示されている。外部機能要素協調装置1520は、テストモジュール1521と、機能要素動作設定モジュール1522と、解析モジュール1555とを含む。
【0123】
テストモジュール1521は、機能要素に対してテストベクトルを発生する。例えば、国際電気電子技術者協会(IEEE)規格1149.1(ジョイントタスクアクショングループ(JTGA)テストとも呼ぶ)に準拠するベクトルである。
【0124】
機能要素動作設定モジュール1522は、機能要素に対して動作設定を決定する。本発明の1つの実施形態において、機能要素動作設定モジュール1522は、機能要素動作設定がダイを復旧するために調節可能であるかを決定するための欠陥分解モジュール1553を備える。
【0125】
解析モジュール1555が、機能要素に関連するテスト情報を解析する。1つの実施形態において、機能要素の粒度および組織化の階層アーキテクチャに従って解析が実行される。例えば、ウェハプローブステージ情報および/または最終ソートステージ情報で、解析が実行され得る。また、解析は、テスト障害のパターン認識を特定することを含み得る。例えば、ダイレイアウトの生産統計解析が、ダイの歩留まりに及ぼす不均衡な影響を有する冗長な障害領域を特定し得る(例えば、不均衡な障害を生じ、または欠陥を有する特定のピクセルシェーダ機能要素)。この解析はまた、生産調整の問題を特定し得る。例えば、解析は、ウェハの特定の領域の不均衡の障害を特定することと、障害の潜在的な生産原因を提案することとを含み得る(例えば、プロセスシフト)。さらに、解析は、潜在的なフィールド構成アルゴリズムの調節を特定し得る。
【0126】
テスト情報組織化モジュール1557が、機能要素と関連するテスト情報を組織化する。テスト情報は、機能要素の粒度および組織化の階層アーキテクチャに従って組織化され得る。例えば、テスト情報は、トランジスタレベル、ゲートレベル、機能要素レベル(例えば、加算器、マルチプレクサなど)、プロセッサレベル、パイプラインレベルなどで組織化され、提示され得る。テスト情報は、ウェハプローブステージ情報と、最終ソートステージ情報とを含み得る。本発明の1つの実施形態において、テスト情報組織化モジュール1557は、機能要素の演算および構成に関する様々な異なるタイプの情報(例えば、テスト情報、生産情報、フィールド性能情報、市場情報、在庫情報など)を含む種々のデータベースとのインタフェースになる。
【0127】
大域動作設定調節モジュール1558が、機能要素のための大域動作設定調節を作成し、機能要素に対して動作設定を決定する際に使用するための機能要素動作設定モジュールに、大域動作設定調節に関する情報を提供する。例えば、大域動作設定調節モジュール1558は、生産問題に応答してウェハの特定の領域にあるダイの機能要素に対して、大域動作設定調節を作成し得る。
【0128】
本発明は、種々の柔軟な実施に容易に適応可能である。本発明の再構成特徴は、異なる粒度および構成組織化スキームで種々の階層レベルで実施され得る。例えば、テストおよび再構成特徴は、階層スキームにおいて「水平方向に」(例えば、複数の機能要素を並列にテスト)、および/または階層スキームで「垂直方向に」(例えば、ウェハベース、ダイベース、論理ゲートベースなど)利用または実施され得る。テストおよび再構成情報はまた、様々な解析動作に対して利用され得る。1つの例示的な実施において、テストおよび再構成情報は、エンジニアリングおよび生産モード解析動作において使用され得る。
【0129】
従って、本発明により、集積回路ダイの柔軟な動作構成が可能となり、製品の差別化が高まる。ダイは、複数の性能レベルで生産ラインで利用され得る。また、本発明により、高性能タスクまたは低性能マスクに対して動的に構成が可能である単一ダイが製造されることで、節電および経済的な差別化が図られる。また、本発明により、製造およびテストリソースが保全され、コスト削減が図られる。例えば、本発明の「オンチップ」テストおよび再構成特徴により、より高機能で高価なリモートテスト機器によって実行される必要があった種々のテストおよび再構成機能が提供される。本発明により、単純な自動テスト機器(ATE)システムと相互作用され、テストをより効率的に実行できる(例えば、並列に)。
【0130】
概略的に要約すれば、本明細書は、集積回路において機能要素の構成を可能にするシステムおよび方法を述べてきた。本発明のシステムおよび方法は、製造欠陥、互換性、性能要求、およびシステムの健全性(例えば、適切に動作する要素数)を含む種々の要因に基づいて、集積回路ダイの機能要素の動作特性を柔軟に変更し得る。機能要素の動作挙動は、様々なレベルの構成抽象化および要素組織化(例えば、トポロジーインバージョン解析)でテストおよび解析される。テストおよび解析は、多数の機能要素で並列に実行され得る。機能要素構成関連の情報は、様々なレベルの粒度および実時間でグラフィカルユーザインタフェース(GUI)で与えられる。グラフィカルユーザインタフェースにより、ユーザは、障害パターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節において相互作用しやすくなり得る。テストおよび解析情報はまた、種々の使いやすいデータベース形式で組織化され得る。
1. 処理動作を実行するための複数の機能要素であって、前記複数の機能要素に含まれている欠陥機能要素が無効化され、非欠陥機能要素が選択的に有効化されている複数の機能要素と、
前記選択的に有効化された機能要素にワークフローを分配し、前記無効化された機能要素へワークフローが分配されないようにするためのワークフロー制御要素と、を備える、処理ユニット。
2. 前記複数の処理要素が、並列処理アクティビティを実行する、請求項1に記載の処理ユニット。
3. 前記並列処理アクティビティが、処理パイプラインに含まれる、請求項2に記載の処理ユニット。
4. 前記ワークフローが、パケット化単位で分配される、請求項1に記載の処理ユニット。
5. 前記処理ユニットが、中央演算処理装置である、請求項1に記載の処理ユニット。
6. 前記複数の処理要素が、浮動小数点要素である、請求項5に記載の処理ユニット。
7. 前記処理ユニットが、グラフィックス処理ユニットである、請求項1に記載の処理ユニット。
8. 前記複数の処理要素が、シェーディング要素である、請求項7に記載の処理ユニット。
9. 前記複数の処理要素が、グラフィックスフレームバッファインタフェースの分割部分である、請求項7に記載の処理ユニット。
10. 欠陥機能要素の指示を受信するステップと、
前記欠陥機能要素が、複数の同様の機能要素の1つであるかを決定するステップと、
前記欠陥機能要素が、複数の同様の機能要素の1つであれば、前記欠陥機能要素を無効化するステップと、
1つ以上の非欠陥機能要素を有効化するステップと、
前記欠陥機能要素に情報を伝達するはずであった要素に対して、前記無効化および前記有効化の通知を出すステップと、を備える、機能要素構成プロセス。
11. 欠陥機能要素の前記指示が、テストシステムから受信される、請求項10に記載の機能要素構成プロセス。
12. 前記無効化および有効化が、前記欠陥機能要素の有効化を制御するレジスタをプログラミングすることによって達成される、請求項10に記載の機能要素構成プロセス。
13. 前記無効化が、前記欠陥要素への通信ラインを切ることによって達成される、請求項10に記載の機能要素構成プロセス。
14. テストシステムに欠陥分解モジュール命令を実施させるために組み込まれたコンピュータ読み取り可能なプログラムコードを有するコンピュータ使用可能な記憶媒体であって、
特定された機能要素が、無効化が許可されたグループに含まれるかを決定するための機能性メンテナンスモジュールと、
無効化されなければならない前記特定された要素に関連付けられた関係する機能要素があるかを決定するための対応する要素検出モジュールと、
機能要素の無効化を命じるための無効化モジュールと、を備える、コンピュータ使用可能な記憶媒体。
15. 前記命令が、ドライバである、請求項14に記載のコンピュータ使用可能な記憶媒体。
16. 前記ドライバが、ネットワークを介して分配される、請求項14に記載のコンピュータ使用可能な記憶媒体。
17. 前記機能性メンテナンスモジュールが、前記特定された機能要素のワークフローを取り扱うことができる他の機能要素があるかを決定する、請求項14に記載のコンピュータ使用可能な記憶媒体。
18. 前記機能メンテナンスモジュールが、無効化が許容された要素の所定のリストに対して、前記機能要素の識別をチェックする、請求項14に記載のコンピュータ使用可能な記憶媒体。
19. 前記関係する機能要素が、製品性能の差別化を維持するために無効化された、請求項14に記載のコンピュータ使用可能な記憶媒体。
20. 無効化モジュールが、テストインタフェースを介して前記特定された機能要素に無効化信号を直接送信する、請求項14に記載のコンピュータ使用可能な記憶媒体。
21. 前記無効化モジュールが、テストされたダイに含まれた機能要素コントローラに信号を送信する、請求項14に記載のコンピュータ使用可能な記憶媒体。
22. 無効化モジュールが、前記機能メンテナンスモジュールが、前記特定された機能要素の無効化が許可可能であるという指示を与えれば、前記特定された機能要素の無効化を命じる、請求項14に記載のコンピュータ使用可能な記憶媒体。
23. ダイマーキングを命じるためのダイマーキングモジュールをさらに備える、請求項14に記載のコンピュータ使用可能な記憶媒体。
24. ダイマーキングモジュールが、1つ以上の基準に基づいて、ダイのマーキングを命じる、請求項23に記載のコンピュータ使用可能な記憶媒体。
25. ダイマーキングモジュールが、前記特定された機能要素が無効化されれば、ダイのマーキングを命じる、請求項23に記載のコンピュータ使用可能な記憶媒体。
26. 各々が同様の機能を実行する複数の機能要素と、
前記複数の機能要素の各々を選択的に有効化するための要素と、
前記複数の機能要素および前記有効化要素に結合され、有効化された前記複数の機能要素の前記各々に情報を割り当て、前記無効化された要素へ情報が割り当てられないようにするための割り当て要素と、を備える、処理ユニット。
27. 前記有効化要素が、欠陥である前記複数の機能要素のサブセットを特定し、前記機能要素のサブセットの使用が有効化されない、請求項26に記載の処理ユニット。
28. 前記処理ユニットが、コンピュータベースのシステムに含まれる、請求項26に記載の処理ユニット。
29. 前記有効化要素が、前記割り当て要素に有効化の指示を与え、前記有効化の指示が、前記複数の機能要素の前記各々のどれが有効化されるかを示す、請求項26に記載の処理ユニット。
30. 前記有効化要素が、前記複数の機能要素の前記各々のテストに基づき、前記複数の機能要素の各々を選択的に有効化する、請求項26に記載の処理ユニット。
31. 前記有効化要素が、前記テストが正確に動作することを示す前記複数の機能要素の各々を選択的に有効化する、請求項26に記載の処理ユニット。
32. 有効化された前記複数の機能要素の前記各々が、有効化されていない前記複数の機能要素の前記各々によって実行されるはずであった前記同様の機能を実行可能である、請求項31に記載の処理ユニット。
33. 処理動作を実行するための複数の機能要素を備え、前記複数の機能要素に含まれた欠陥機能要素が無効化され、
前記無効化された要素へワークフローが分配されないようにするためのワークフロー制御要素を備える、処理ユニット。
34. 前記ワークフローが、前記複数の処理要素に含まれた有効化された要素に送り出される、請求項33に記載の処理ユニット。
35. 前記複数の処理要素が、並列処理アクティビティを実行する、請求項33に記載の処理ユニット。
36. 前記並列処理アクティビティが、処理パイプラインに含まれる、請求項35に記載の処理ユニット。
37. 前記処理ユニットが、グラフィックス処理ユニットである、請求項33に記載の処理ユニット。
38. 処理動作を実行するための複数の機能要素と、
前記複数の機能要素に情報を分配するための分配要素と、
前記複数の機能要素の1つ以上の動作特性を構成するための機能要素構成コントローラと、を備える、集積回路。
39. 前記機能要素構成コントローラが、前記複数の機能要素の前記動作特性に関する情報を前記分配要素に提供する、請求項38に記載の集積回路。
40. 前記複数の機能要素が、グラフィックス処理装置に含まれる、請求項38に記載の集積回路。
41. 前記分配要素が、前記動作特性構成を、前記複数の機能要素への前記情報の分配に組み入れる、請求項38に記載の集積回路。
42. 前記機能要素構成コントローラが、種々の目的に応じて前記動作特性を構成する、請求項38に記載の集積回路。
43. マスクアレイをさらに備え、前記マスクアレイに含まれた各マスクが、動作目的に対応し、前記複数の機能要素の動作特性の指示を与える、請求項38に記載の集積回路。
44. 前記マスクアレイが、前記欠陥機能要素の無効化の指示を与えるための歩留まりマスクを含む、請求項43に記載の集積回路。
45. 前記マスクアレイが、
前記複数の機能要素の互換性がありサポートされた動作特性の有効化を指示するための互換性マスクと、
前記複数の機能要素のための性能レベルを指示するための性能マスクと、
フィールドテストに基づいて、複数の機能要素の動作特性を指示するための自己回復マスクと、をさらに備える、請求項44に記載の集積回路。
46. 前記複数の機能要素が、パイプラインを含む、請求項38に記載の集積回路。
47. 機能要素構成変更トリガイベントの指示を受信するステップと、
前記指示された機能要素構成変更が有効であるかを決定するステップと、
前記機能要素構成の変更を命じるステップと、
前記機能要素構成の前記変更に応じて、ワークフローを変えるステップと、を備える、機能要素構成プロセス。
48. 前記機能要素動作特性の指示をチェックするステップをさらに備える、請求項47に記載の機能要素構成プロセス。
49. 前記機能要素の前記構成が、前記機能要素の有効化を制御する値をプログラミングすることによって達成される、請求項47に記載の機能要素構成プロセス。
50. 前記機能要素の前記構成が、前記機能要素のクロック速度を制御するレジスタをプログラミングすることによって達成される、請求項47に記載の機能要素構成プロセス。
51. 前記動作特性に基づいて、前記複数の機能要素にワークフローを送り出すステップをさらに備える、請求項47に記載の機能要素構成プロセス。
52. 前記機能要素が無効化されれば、前記機能要素にワークフローが分配されないようにするステップをさらに備える、請求項47に記載の機能要素構成プロセス。
53. 前記動作特性を決定するステップが、様々な動作目的の考慮および協調を含む、請求項47に記載の機能要素構成プロセス。
54. 同様の並列動作を実行するための複数の機能要素と、
前記複数の機能要素の1つ以上の有効化および無効化を制御するための機能要素コントローラと、
前記複数の機能要素に含まれた有効化された機能要素に情報を分配し、前記複数の機能要素に含まれた無効化された機能要素に情報が分配されないようにするための分配要素と、を備える、集積回路。
55. 前記機能要素コントローラが、前記複数の機能要素のどれが無効化されるかに関する情報を前記分配要素に提供する、請求項54に記載の集積回路。
56. 前記機能要素コントローラが、前記複数の機能要素のどれが有効化されるかに関する情報を前記分配要素に提供する、請求項54に記載の集積回路。
57. 前記複数の機能要素が、アクティブな機能要素を備える、請求項55に記載の集積回路。
58. 前記分配要素が、ワークフロー情報を分配する、請求項56に記載の集積回路。
59. 前記機能要素コントローラが、ソフトウェアプログラム可能なレジスタを備える、請求項57に記載の集積回路。
60. 前記機能要素コントローラが、ハードコード化されたマスクを備える、請求項58に記載の集積回路。
61. 前記集積回路が、無効化された前記複数の機能要素の数に対応する性能インジケータでマーキングされる、請求項59に記載の集積回路。
62. 前記集積回路が、有効化された前記複数の機能要素の数に対応する性能インジケータでマーキングされる、請求項60に記載の集積回路。
63. テスト用にチップを準備するステップと、
前記チップをテストするステップと、
前記テストの結果に基づいて、前記チップに機能要素構成プロセスを実行するステップと、を備える、性能を低減した回路復旧方法。
64. 前記テストが、
欠陥機能要素を特定するステップと、
前記集積回路に含まれ、前記欠陥機能要素と同様の機能を実行する非欠陥機能要素があるかを決定するステップと、
前記非欠陥要素が前記集積回路に含まれれば、前記欠陥機能要素を不使用のために指定するステップと、
前記同様の機能を実行する前記非欠陥要素が、前記集積回路に含まれていなければ、前記集積回路を欠陥としてマーキングするステップとを備える、請求項63に記載の性能を低減した性能回路復旧方法。
65. 前記チップの複数の同質の実行要素の1つが、無効化または有効化される、請求項63に記載の性能を低減した回路復旧方法。
66. 他の機能要素が、前記無効化された機能要素の機能を実行できるように、前記チップを再構成するステップをさらに備える、請求項63に記載の性能を低減した回路復旧方法。
67. 前記機能要素構成プロセスが、
欠陥機能要素の指示を受信するステップと、
前記欠陥機能要素が、複数の同様の機能要素の1つであるかを決定するステップと、
前記欠陥機能要素が、前記複数の同様の機能要素の1つであれば、前記欠陥機能要素を無効化するステップと、
1つ以上の非欠陥機能要素を有効化するステップと、
前記欠陥機能要素に情報を伝達するはずであった要素に対して、前記無効化および前記有効化の通知を出すステップと、を備える、請求項63に記載の性能を低減した回路復旧方法。
68. 欠陥機能要素の前記指示が、テストシステムから受信される、請求項63に記載の性能を低減した回路復旧方法。
69. 同様の構成で複数のダイを作製するステップと、
前記複数のダイの1つのダイが、要素に関連付けられた機能を実行する能力を失うことなく、前記要素が、前記要素の前記1つのダイ内の生産的寄与に関与できないようにするステップと、
前記機能性を異ならしめた性能レベルに基づいて、前記複数のダイを分類するステップと、を備える、ダイ分類プロセス。
70. 前記複数のダイが、単一のウェハ上に作製される、請求項69に記載のダイ分類プロセス。
71. 前記複数のダイのデータシート情報を調査することによって、同様の構成が決定される、請求項69に記載のダイ分類プロセス。
72. ダイが実質的に同じ作製コストを有すれば、同様の構成が決定される、請求項69に記載のダイ分類プロセス。
73. 前記要素が、前記要素を無効化することによって生産的貢献に関与できないようにされる、請求項69に記載のダイ分類プロセス。
74. テストが実行されるまで、どのデータシート情報が前記複数のダイに含まれるダイに適用するかという決定がなされない、請求項69に記載のダイ分類プロセス。
75. 前記複数のダイに含まれる第1のダイおよび第2のダイが、機能性が与えられる性能レベルに相関して異なる価格で販売される異なる製品に含まれる、請求項69に記載のダイ分類プロセス。
76. 前記複数のダイの各々が、同一のデザインで作製され、異なる性能レベルで分配される、請求項69に記載のダイ分類プロセス。
77. ウェハからの使用可能なダイの歩留まりを高める方法であって、
ウェハを作製するステップを備え、前記ウェハが、複数のダイを含み、前記複数のダイの各々が、複数の機能サブ要素を用いて複数のサブタスクを並列に実行可能である機能要素を含み、
動作可能および動作不能である前記複数の機能サブ要素の各々を特定するステップを備え、
動作不能として特定された前記複数の機能サブ要素の各々の動作を無効化するステップを備え、
動作可能として特定された前記複数の機能サブ要素の各々の選択的動作を有効化するステップを備え、
前記機能サブ要素の動作可能な状態に基づいて、前記複数のダイの前記各々を性能クラスにソートするステップを備え、
前記複数の前記ダイの1つが、復旧可能であると指定された性能クラスにソートされれば、動作不能である機能サブ要素を有する前記複数の前記ダイの前記1つを復旧するステップを備える、方法。
78. 前記サブタスクが、グラフィックスサブタスクを含む、請求項15に記載の方法。
79. 前記動作不能の機能サブ要素が、テストプロセスの一部として特定される、請求項15に記載の方法。
80. 前記複数の前記ダイの1つを復旧するステップが、前記複数の前記ダイの前記1つの性能能力に対応する性能インジケータで前記ダイをマーキングすることを含む、請求項15に記載の方法。
81. 前記複数の前記ダイの前記1つが、グラフィックス処理パイプライン機能要素を含む、請求項15に記載の方法。
82. 全機能性を与えない前記複数の前記ダイの1つを破棄するステップをさらに備える、請求項15に記載の方法。
83. 回路に機能要素構成モジュール命令を実施させるために組み込まれたコンピュータ読み取り可能なプログラムコードを有するコンピュータ使用可能な記憶媒体であって、
機能要素動作特性のメンテナンスを命じるための機能トラッキングモジュールと、
機能要素構成を命じるための構成モジュールと、を備える、コンピュータ使用可能な記憶媒体。
84. 前記機能性トラッキングモジュールが、特定された機能要素のワークフローを取り扱うことができる他の機能要素があるかを決定する、請求項83に記載のコンピュータ使用可能な記憶媒体。
85. 前記機能性トラッキングモジュールが、動作特性設定の所定の相関リストに対して、機能性インジケータをチェックする、請求項83に記載のコンピュータ使用可能な記憶媒体。
86. 機能性ネゴシエーションプロセスの一部として前記機能性インジケータを動的に変更することをさらに備える、請求項83に記載のコンピュータ使用可能な記憶媒体。
87. 前記動作特性が、製品の差別化を維持するように設定される、請求項83に記載のコンピュータ使用可能な記憶媒体。
88. 複数の機能要素が、単一のダイに含まれる、請求項84に記載のコンピュータ使用可能な記憶媒体。
89. 前記命令がドライバである、請求項85に記載のコンピュータ使用可能な記憶媒体。
90. 前記ドライバが、ネットワークを介して分配される、請求項86に記載のコンピュータ使用可能な記憶媒体。
91. システムがリモートリソースから再構成コードをリクエストするダイ機能要素再構成リクエストプロセスに従事するステップと、
前記リモートリソースが、前記再構成コードの前記リクエストを処理する再構成コード生成プロセスを実行するステップと、
ダイ機能要素が、前記再構成コードに応じて再構成される前記システムによって、前記再構成コードが受信されれば、ダイ機能要素再構成プロセスを実行するステップと、を備える、リモート再構成方法。
92. 前記再構成リクエストプロセスが、
前記ダイ機能要素再構成コードをリクエストするステップと、
前記ダイ機能要素再構成コードを受信するステップと、を備える、請求項91に記載のリモート再構成方法。
93. 再構成コード許可インジケータを獲得するために、再構成コード許可インジケータリクエストプロセスに従事するステップをさらに備える、請求項91に記載のリモート再構成方法。
94. 前記再構成コード許可インジケータリクエストプロセスが、
許可インジケータのリクエストおよび支払いを転送するステップと、
前記許可インジケータの前記リクエストおよび支払いへの応答を受信するステップと、を備える、請求項93に記載のリモート再構成方法。
95. 再構成コード許可インジケータを獲得するために、リクエストプロセスに応答するための再構成コード許可インジケータ応答プロセスに従事するステップをさらに備える、請求項91に記載のリモート再構成方法。
96. 許可インジケータの支払いを受信するステップと、
前記支払いの受信に応答して、前記許可インジケータを転送するステップをさらに備える、請求項91に記載のリモート再構成方法。
97. 前記再構成コード生成プロセスが、
再構成コードおよび許可インジケータのリクエストを受信するステップと、
前記許可インジケータの有効性を解析するステップと、
前記許可インジケータが有効であれば、再構成コードを提供するステップと、を備える、請求項91に記載のリモート再構成方法。
98. 前記再構成コード生成プロセスが、前記許可インジケータが有効でなければ、拒否指示を転送するステップを備える、請求項97に記載のリモート再構成方法。
99. 機能要素構成変更リクエストの指示を受信するステップと、
前記特定された機能要素構成の変更が許可されているかを決定するステップと、
前記機能要素構成の変更を命じるステップと、を備える、機能要素構成プロセス。
100. 前記機能要素動作特性の指示をチェックするステップをさらに備える、請求項99に記載の機能要素構成プロセス。
101. 前記機能要素の前記構成が、前記機能要素の前記変更を制御する値をプログラミングすることによって達成される、請求項99に記載の機能要素構成プロセス。
102. 前記動作特性を決定するステップが、様々な動作目的の考慮および協調を含む、請求項99に記載の機能要素構成プロセス。
103. 機能要素動作挙動を解析するステップと、
前記解析の結果に基づいて、動作特性設定を決定するステップと、
前記動作特性設定に応じて、機能要素を構成するステップと、を備える、機能要素構成解析プロセス。
104. 前記機能要素動作挙動の解析が、複数の機能要素に対して並列に実行される、請求項103に記載の機能要素構成解析プロセス。
105. 前記機能要素動作挙動の解析が、トポロジーインバージョン解析を含む、請求項103に記載の機能要素構成解析プロセス。
106. 前記解析が、様々なレベルの構成抽象化および要素組織化で実行される、請求項103に記載の機能要素構成解析プロセス。
107. 前記動作特性設定が、様々なレベルの構成抽象化および要素組織化で決定される、請求項103に記載の機能要素構成解析プロセス。
108. 前記機能要素動作挙動の解析が、
様々な機能要素粒度および組織化レベルで複数の機能要素のテスト情報を抽出するステップと、
様々な機能要素粒度および組織化レベルで、前記テスト情報を検査するステップと、
前記検査結果に基づいて、動作特性設定調節を確立するステップと、
前記動作特性の設定調節を前記動作特性設定の決定に組み入れるステップと、を備える、請求項103に記載の機能要素構成解析プロセス。
109. 前記動作特性設定に応じた前記機能要素の構成が、
指示された機能要素の構成変更が有効であるかを決定するステップと、
前記機能要素構成の変更を命じるステップと、
前記機能要素構成の前記変更に応じてワークフローを変えるステップと、を備える、請求項103に記載の機能要素構成解析プロセス。
110. 情報および命令を伝達するためのバスと、
機能要素構成解析プロセスを実行するための情報および命令を含む、前記情報および命令を処理するための処理装置と、
機能要素構成解析プロセスを実行するための情報および命令を含む、前記情報および命令を格納するためのメモリと、
機能要素動作挙動の解析および動作特性設定の決定に関連付けられた情報を含む、前記情報および機能要素構成動作設定のグラフィカルユーザインタフェースの提示を表示するためのディスプレイと、を備える、機能要素構成システム。
111. 前記グラフィカルユーザインタフェースが、様々なレベルの粒度と実時間で機能要素のビルディングブロックのパスまたはフェイル状態を示す、請求項110に記載の機能要素構成解析プロセス。
112. 前記グラフィカルユーザインタフェースが、ユーザが分かりやすい方法でトポロジーインバージョン情報を提示する、請求項110に記載の機能要素構成解析プロセス。
113. 前記グラフィカルユーザインタフェースが、様々な機能要素動作挙動の解析および動作特性設定機能とユーザとが相互作用しやすいようにする、請求項110に記載の機能要素構成解析プロセス。
114. 前記グラフィカルユーザインタフェースが、フェイルパターンの認識、生産テストの調整、フィールド構成アルゴリズムの調節においてユーザが相互作用しやすいようにする、請求項110に記載の機能要素構成解析プロセス。
115. テスト用に複数の集積回路を準備するステップと、
前記複数の集積回路をテストするステップと、
前記テストの結果に基づいて、前記複数の集積回路で機能要素構成プロセスを実行するステップと、を備える、柔軟性のある集積回路テスト方法。
116. 前記テストおよび前記機能要素構成プロセスが、前記複数の集積回路で並列に実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
117. 前記テストおよび前記機能要素構成プロセスが、組織化されたテスト階層において実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
118. 前記組織化されたテスト階層が、様々なレベルの機能要素粒度および組織化を含む、請求項117に記載の柔軟性のある集積回路テスト方法。
119. 前記組織化されたテスト階層が、トポロジーインバージョン解析に向けられた結果に対応する、請求項118に記載の柔軟性のある集積回路テスト方法。
120. 前記テストが、ウェハプローブステージで実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
121. 前記テストが、最終ソートステージで実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
122. 前記テストおよび前記機能要素構成プロセスが、エンジニアリングモードにおいて実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
123. 前記テストおよび前記機能要素構成プロセスが、生産モードにおいて実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
124. 前記テストが、速度テストを含む、請求項115に記載の柔軟性のある集積回路テスト方法。
125. 処理動作を実行するための複数の機能要素と、
前記複数の機能要素に情報を分配するための分配要素と、
前記複数の機能要素の1つ以上の動作特性を構成するための機能要素構成コントローラと、
外部装置との間で、前記複数の機能要素の前記1つ以上の前記動作特性に関する情報を伝達するための構成通信インタフェースとを備える、集積回路。
126. 前記構成通信インタフェースが、前記外部装置にテスト情報を伝達する、請求項125に記載の集積回路。
127. 前記テスト情報および前記機能要素構成情報が、様々なレベルの機能要素粒度および組織化で前記構成通信インタフェースによって伝達される、請求項125に記載の柔軟性のある集積回路テスト方法。
128. 前記テスト情報が、トポロジーインバージョン解析情報を含む、請求項126に記載の柔軟性のある集積回路テスト方法。
129. 前記テスト情報が、ウェハプローブステージ情報を含む、請求項126に記載の柔軟性のある集積回路テスト方法。
130. 前記テスト情報が、最終ソートステージ情報を含む、請求項126に記載の柔軟性のある集積回路テスト方法。
131. 前記構成通信インタフェースが、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節に関連付けられた動作特性設定情報を受信する、請求項125に記載の集積回路。
132. 機能要素のテストベクトルを生成するためのテストモジュールと、
前記機能要素の動作設定を決定するための機能要素動作設定モジュールと、
前記機能要素に関連付けられたテスト情報を組織化するためのテスト情報組織化モジュールと、を備える、外部機能要素協調装置。
133. 前記機能要素のための大域動作設定調節を作成し、前記機能要素の動作設定を決定する際に使用するための前記機能要素動作設定モジュールに、前記大域動作設定調節に関する情報を提供するための大域動作設定調節モジュールをさらに備える、請求項132に記載の外部機能要素協調装置。
134. 前記機能要素動作設定モジュールが、前記機能要素動作設定がダイを復旧するために調節され得るかを決定するための欠陥分解モジュールを備える、請求項132に記載の外部機能要素協調装置。
135. 前記テスト情報が、機能要素粒度および組織化の階層アーキテクチャに応じて組織化される、請求項132に記載の外部機能要素協調装置。
136. 前記テスト情報が、ウェハプローブステージ情報および最終ソートステージ情報を含む、請求項132に記載の外部機能要素協調装置。
137. 前記動作特性設定情報が、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節に関する情報を含む、請求項132に記載の外部機能要素協調装置。
【0131】
本発明の特定の実施形態の前述した記載は、説明および記載を目的として提示したものである。これらは、完全なものでも、開示したままの形式に本発明を限定するものでもなく、上記教示の点で多くの修正および変形が可能であることは明らかである。実施形態は本発明の原理および実際の応用を最もよく説明するために選択および記載され、当業者らは、考慮される特定の使用に合わせて、本発明および様々な修正を有する様々な実施形態を最良に利用することができる。本発明の範囲は、特許請求の範囲およびその均等物によって規定されることが意図されている。
【図面の簡単な説明】
【0132】
【図1A】本発明の1つの実施形態による集積回路のブロック図である。
【図1B】本発明の1つの実施形態によるパイプラインに組織化された機能要素を有する集積回路のブロック図である。
【図1C】本発明の1つの実施形態によるマルチ処理装置集積回路のブロック図である。
【図1D】異なる目的を制御するための、本発明の1つの実施形態による例示的なマスクアレイ実施のブロック図である。
【図2】本発明の実施形態を実行し得るコンピュータシステムのブロック図である。
【図3】本発明の1つの実施形態によるグラフィックスパイプラインのブロック図である。
【図4】本発明の1つの実施形態による機能要素構成方法のフローチャートである。
【図5】本発明の1つの実施形態による性能を低減した回路復旧方法のフローチャートである。
【図6】本発明の1つの実施形態によるテスト環境のブロック図である。
【図7】本発明の1つの実施形態によるダイ分類プロセスのフローチャートである。
【図8】本発明の1つの実施形態による処理ユニットのブロック図である。
【図9】本発明の1つの実施形態によるウェハ歩留まり最適化方法のフローチャートである。
【図10】本発明の1つの実施形態による機能要素の構成アーキテクチャのブロック図である。
【図11】本発明の1つの実施形態によるリモート再構成方法のフローチャートである。
【図12】本発明の1つの実施形態による別の例示的な機能要素構成システムのブロック図である。
【図13】本発明の1つの実施形態による機能要素構成解析プロセスのフローチャートである。
【図14】本発明の1つの実施形態による柔軟性のある集積回路テスト方法のフローチャートである。
【図15】本発明の1つの実施形態による集積回路解析システムのブロック図である。
【特許請求の範囲】
【請求項1】
処理動作を実行するための複数の機能要素であって、前記複数の機能要素に含まれている欠陥機能要素が無効化され、非欠陥機能要素が選択的に有効化されている複数の機能要素と、
前記選択的に有効化された機能要素にワークフローを分配し、前記無効化された機能要素へワークフローが分配されないようにするためのワークフロー制御要素と、を備える、処理ユニット。
【請求項2】
前記複数の処理要素が、並列処理アクティビティを実行する、請求項1に記載の処理ユニット。
【請求項3】
前記並列処理アクティビティが、処理パイプラインに含まれる、請求項2に記載の処理ユニット。
【請求項4】
前記ワークフローが、パケット化単位で分配される、請求項1に記載の処理ユニット。
【請求項5】
前記処理ユニットが、中央演算処理装置である、請求項1に記載の処理ユニット。
【請求項6】
前記複数の処理要素が、浮動小数点要素である、請求項5に記載の処理ユニット。
【請求項7】
前記処理ユニットが、グラフィックス処理ユニットである、請求項1に記載の処理ユニット。
【請求項8】
前記複数の処理要素が、シェーディング要素である、請求項7に記載の処理ユニット。
【請求項9】
前記複数の処理要素が、グラフィックスフレームバッファインタフェースの分割部分である、請求項7に記載の処理ユニット。
【請求項10】
欠陥機能要素の指示を受信するステップと、
前記欠陥機能要素が、複数の同様の機能要素の1つであるかを決定するステップと、
前記欠陥機能要素が、複数の同様の機能要素の1つであれば、前記欠陥機能要素を無効化するステップと、
1つ以上の非欠陥機能要素を有効化するステップと、
前記欠陥機能要素に情報を伝達するはずであった要素に対して、前記無効化および前記有効化の通知を出すステップと、を備える、機能要素構成プロセス。
【請求項11】
欠陥機能要素の前記指示が、テストシステムから受信される、請求項10に記載の機能要素構成プロセス。
【請求項12】
前記無効化および有効化が、前記欠陥機能要素の有効化を制御するレジスタをプログラミングすることによって達成される、請求項10に記載の機能要素構成プロセス。
【請求項13】
前記無効化が、前記欠陥要素への通信ラインを切ることによって達成される、請求項10に記載の機能要素構成プロセス。
【請求項14】
テストシステムに欠陥分解モジュール命令を実施させるために組み込まれたコンピュータ読み取り可能なプログラムコードを有するコンピュータ使用可能な記憶媒体であって、
特定された機能要素が、無効化が許可されたグループに含まれるかを決定するための機能性メンテナンスモジュールと、
無効化されなければならない前記特定された要素に関連付けられた関係する機能要素があるかを決定するための対応する要素検出モジュールと、
機能要素の無効化を命じるための無効化モジュールと、を備える、コンピュータ使用可能な記憶媒体。
【請求項15】
前記命令が、ドライバである、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項16】
前記ドライバが、ネットワークを介して分配される、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項17】
前記機能性メンテナンスモジュールが、前記特定された機能要素のワークフローを取り扱うことができる他の機能要素があるかを決定する、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項18】
前記機能メンテナンスモジュールが、無効化が許容された要素の所定のリストに対して、前記機能要素の識別をチェックする、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項19】
前記関係する機能要素が、製品性能の差別化を維持するために無効化された、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項20】
無効化モジュールが、テストインタフェースを介して前記特定された機能要素に無効化信号を直接送信する、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項21】
前記無効化モジュールが、テストされたダイに含まれた機能要素コントローラに信号を送信する、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項22】
無効化モジュールが、前記機能メンテナンスモジュールが、前記特定された機能要素の無効化が許可可能であるという指示を与えれば、前記特定された機能要素の無効化を命じる、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項23】
ダイマーキングを命じるためのダイマーキングモジュールをさらに備える、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項24】
ダイマーキングモジュールが、1つ以上の基準に基づいて、ダイのマーキングを命じる、請求項23に記載のコンピュータ使用可能な記憶媒体。
【請求項25】
ダイマーキングモジュールが、前記特定された機能要素が無効化されれば、ダイのマーキングを命じる、請求項23に記載のコンピュータ使用可能な記憶媒体。
【請求項26】
各々が同様の機能を実行する複数の機能要素と、
前記複数の機能要素の各々を選択的に有効化するための要素と、
前記複数の機能要素および前記有効化要素に結合され、有効化された前記複数の機能要素の前記各々に情報を割り当て、前記無効化された要素へ情報が割り当てられないようにするための割り当て要素と、を備える、処理ユニット。
【請求項27】
前記有効化要素が、欠陥である前記複数の機能要素のサブセットを特定し、前記機能要素のサブセットの使用が有効化されない、請求項26に記載の処理ユニット。
【請求項28】
前記処理ユニットが、コンピュータベースのシステムに含まれる、請求項26に記載の処理ユニット。
【請求項29】
前記有効化要素が、前記割り当て要素に有効化の指示を与え、前記有効化の指示が、前記複数の機能要素の前記各々のどれが有効化されるかを示す、請求項26に記載の処理ユニット。
【請求項30】
前記有効化要素が、前記複数の機能要素の前記各々のテストに基づき、前記複数の機能要素の各々を選択的に有効化する、請求項26に記載の処理ユニット。
【請求項31】
前記有効化要素が、前記テストが正確に動作することを示す前記複数の機能要素の各々を選択的に有効化する、請求項26に記載の処理ユニット。
【請求項32】
有効化された前記複数の機能要素の前記各々が、有効化されていない前記複数の機能要素の前記各々によって実行されるはずであった前記同様の機能を実行可能である、請求項31に記載の処理ユニット。
【請求項33】
処理動作を実行するための複数の機能要素を備え、前記複数の機能要素に含まれた欠陥機能要素が無効化され、
前記無効化された要素へワークフローが分配されないようにするためのワークフロー制御要素を備える、処理ユニット。
【請求項34】
前記ワークフローが、前記複数の処理要素に含まれた有効化された要素に送り出される、請求項33に記載の処理ユニット。
【請求項35】
前記複数の処理要素が、並列処理アクティビティを実行する、請求項33に記載の処理ユニット。
【請求項36】
前記並列処理アクティビティが、処理パイプラインに含まれる、請求項35に記載の処理ユニット。
【請求項37】
前記処理ユニットが、グラフィックス処理ユニットである、請求項33に記載の処理ユニット。
【請求項38】
処理動作を実行するための複数の機能要素と、
前記複数の機能要素に情報を分配するための分配要素と、
前記複数の機能要素の1つ以上の動作特性を構成するための機能要素構成コントローラと、を備える、集積回路。
【請求項39】
前記機能要素構成コントローラが、前記複数の機能要素の前記動作特性に関する情報を前記分配要素に提供する、請求項38に記載の集積回路。
【請求項40】
前記複数の機能要素が、グラフィックス処理装置に含まれる、請求項38に記載の集積回路。
【請求項41】
前記分配要素が、前記動作特性構成を、前記複数の機能要素への前記情報の分配に組み入れる、請求項38に記載の集積回路。
【請求項42】
前記機能要素構成コントローラが、種々の目的に応じて前記動作特性を構成する、請求項38に記載の集積回路。
【請求項43】
マスクアレイをさらに備え、前記マスクアレイに含まれた各マスクが、動作目的に対応し、前記複数の機能要素の動作特性の指示を与える、請求項38に記載の集積回路。
【請求項44】
前記マスクアレイが、前記欠陥機能要素の無効化の指示を与えるための歩留まりマスクを含む、請求項43に記載の集積回路。
【請求項45】
前記マスクアレイが、
前記複数の機能要素の互換性がありサポートされた動作特性の有効化を指示するための互換性マスクと、
前記複数の機能要素のための性能レベルを指示するための性能マスクと、
フィールドテストに基づいて、複数の機能要素の動作特性を指示するための自己回復マスクと、をさらに備える、請求項44に記載の集積回路。
【請求項46】
前記複数の機能要素が、パイプラインを含む、請求項38に記載の集積回路。
【請求項47】
機能要素構成変更トリガイベントの指示を受信するステップと、
前記指示された機能要素構成変更が有効であるかを決定するステップと、
前記機能要素構成の変更を命じるステップと、
前記機能要素構成の前記変更に応じて、ワークフローを変えるステップと、を備える、機能要素構成プロセス。
【請求項48】
前記機能要素動作特性の指示をチェックするステップをさらに備える、請求項47に記載の機能要素構成プロセス。
【請求項49】
前記機能要素の前記構成が、前記機能要素の有効化を制御する値をプログラミングすることによって達成される、請求項47に記載の機能要素構成プロセス。
【請求項50】
前記機能要素の前記構成が、前記機能要素のクロック速度を制御するレジスタをプログラミングすることによって達成される、請求項47に記載の機能要素構成プロセス。
【請求項51】
前記動作特性に基づいて、前記複数の機能要素にワークフローを送り出すステップをさらに備える、請求項47に記載の機能要素構成プロセス。
【請求項52】
前記機能要素が無効化されれば、前記機能要素にワークフローが分配されないようにするステップをさらに備える、請求項47に記載の機能要素構成プロセス。
【請求項53】
前記動作特性を決定するステップが、様々な動作目的の考慮および協調を含む、請求項47に記載の機能要素構成プロセス。
【請求項54】
同様の並列動作を実行するための複数の機能要素と、
前記複数の機能要素の1つ以上の有効化および無効化を制御するための機能要素コントローラと、
前記複数の機能要素に含まれた有効化された機能要素に情報を分配し、前記複数の機能要素に含まれた無効化された機能要素に情報が分配されないようにするための分配要素と、を備える、集積回路。
【請求項55】
前記機能要素コントローラが、前記複数の機能要素のどれが無効化されるかに関する情報を前記分配要素に提供する、請求項54に記載の集積回路。
【請求項56】
前記機能要素コントローラが、前記複数の機能要素のどれが有効化されるかに関する情報を前記分配要素に提供する、請求項54に記載の集積回路。
【請求項57】
前記複数の機能要素が、アクティブな機能要素を備える、請求項55に記載の集積回路。
【請求項58】
前記分配要素が、ワークフロー情報を分配する、請求項56に記載の集積回路。
【請求項59】
前記機能要素コントローラが、ソフトウェアプログラム可能なレジスタを備える、請求項57に記載の集積回路。
【請求項60】
前記機能要素コントローラが、ハードコード化されたマスクを備える、請求項58に記載の集積回路。
【請求項61】
前記集積回路が、無効化された前記複数の機能要素の数に対応する性能インジケータでマーキングされる、請求項59に記載の集積回路。
【請求項62】
前記集積回路が、有効化された前記複数の機能要素の数に対応する性能インジケータでマーキングされる、請求項60に記載の集積回路。
【請求項63】
テスト用にチップを準備するステップと、
前記チップをテストするステップと、
前記テストの結果に基づいて、前記チップに機能要素構成プロセスを実行するステップと、を備える、性能を低減した回路復旧方法。
【請求項64】
前記テストが、
欠陥機能要素を特定するステップと、
前記集積回路に含まれ、前記欠陥機能要素と同様の機能を実行する非欠陥機能要素があるかを決定するステップと、
前記非欠陥要素が前記集積回路に含まれれば、前記欠陥機能要素を不使用のために指定するステップと、
前記同様の機能を実行する前記非欠陥要素が、前記集積回路に含まれていなければ、前記集積回路を欠陥としてマーキングするステップとを備える、請求項63に記載の性能を低減した性能回路復旧方法。
【請求項65】
前記チップの複数の同質の実行要素の1つが、無効化または有効化される、請求項63に記載の性能を低減した回路復旧方法。
【請求項66】
他の機能要素が、前記無効化された機能要素の機能を実行できるように、前記チップを再構成するステップをさらに備える、請求項63に記載の性能を低減した回路復旧方法。
【請求項67】
前記機能要素構成プロセスが、
欠陥機能要素の指示を受信するステップと、
前記欠陥機能要素が、複数の同様の機能要素の1つであるかを決定するステップと、
前記欠陥機能要素が、前記複数の同様の機能要素の1つであれば、前記欠陥機能要素を無効化するステップと、
1つ以上の非欠陥機能要素を有効化するステップと、
前記欠陥機能要素に情報を伝達するはずであった要素に対して、前記無効化および前記有効化の通知を出すステップと、を備える、請求項63に記載の性能を低減した回路復旧方法。
【請求項68】
欠陥機能要素の前記指示が、テストシステムから受信される、請求項63に記載の性能を低減した回路復旧方法。
【請求項69】
同様の構成で複数のダイを作製するステップと、
前記複数のダイの1つのダイが、要素に関連付けられた機能を実行する能力を失うことなく、前記要素が、前記要素の前記1つのダイ内の生産的寄与に関与できないようにするステップと、
前記機能性を異ならしめた性能レベルに基づいて、前記複数のダイを分類するステップと、を備える、ダイ分類プロセス。
【請求項70】
前記複数のダイが、単一のウェハ上に作製される、請求項69に記載のダイ分類プロセス。
【請求項71】
前記複数のダイのデータシート情報を調査することによって、同様の構成が決定される、請求項69に記載のダイ分類プロセス。
【請求項72】
ダイが実質的に同じ作製コストを有すれば、同様の構成が決定される、請求項69に記載のダイ分類プロセス。
【請求項73】
前記要素が、前記要素を無効化することによって生産的貢献に関与できないようにされる、請求項69に記載のダイ分類プロセス。
【請求項74】
テストが実行されるまで、どのデータシート情報が前記複数のダイに含まれるダイに適用するかという決定がなされない、請求項69に記載のダイ分類プロセス。
【請求項75】
前記複数のダイに含まれる第1のダイおよび第2のダイが、機能性が与えられる性能レベルに相関して異なる価格で販売される異なる製品に含まれる、請求項69に記載のダイ分類プロセス。
【請求項76】
前記複数のダイの各々が、同一のデザインで作製され、異なる性能レベルで分配される、請求項69に記載のダイ分類プロセス。
【請求項77】
ウェハからの使用可能なダイの歩留まりを高める方法であって、
ウェハを作製するステップを備え、前記ウェハが、複数のダイを含み、前記複数のダイの各々が、複数の機能サブ要素を用いて複数のサブタスクを並列に実行可能である機能要素を含み、
動作可能および動作不能である前記複数の機能サブ要素の各々を特定するステップを備え、
動作不能として特定された前記複数の機能サブ要素の各々の動作を無効化するステップを備え、
動作可能として特定された前記複数の機能サブ要素の各々の選択的動作を有効化するステップを備え、
前記機能サブ要素の動作可能な状態に基づいて、前記複数のダイの前記各々を性能クラスにソートするステップを備え、
前記複数の前記ダイの1つが、復旧可能であると指定された性能クラスにソートされれば、動作不能である機能サブ要素を有する前記複数の前記ダイの前記1つを復旧するステップを備える、方法。
【請求項78】
前記サブタスクが、グラフィックスサブタスクを含む、請求項15に記載の方法。
【請求項79】
前記動作不能の機能サブ要素が、テストプロセスの一部として特定される、請求項15に記載の方法。
【請求項80】
前記複数の前記ダイの1つを復旧するステップが、前記複数の前記ダイの前記1つの性能能力に対応する性能インジケータで前記ダイをマーキングすることを含む、請求項15に記載の方法。
【請求項81】
前記複数の前記ダイの前記1つが、グラフィックス処理パイプライン機能要素を含む、請求項15に記載の方法。
【請求項82】
全機能性を与えない前記複数の前記ダイの1つを破棄するステップをさらに備える、請求項15に記載の方法。
【請求項83】
回路に機能要素構成モジュール命令を実施させるために組み込まれたコンピュータ読み取り可能なプログラムコードを有するコンピュータ使用可能な記憶媒体であって、
機能要素動作特性のメンテナンスを命じるための機能トラッキングモジュールと、
機能要素構成を命じるための構成モジュールと、を備える、コンピュータ使用可能な記憶媒体。
【請求項84】
前記機能性トラッキングモジュールが、特定された機能要素のワークフローを取り扱うことができる他の機能要素があるかを決定する、請求項83に記載のコンピュータ使用可能な記憶媒体。
【請求項85】
前記機能性トラッキングモジュールが、動作特性設定の所定の相関リストに対して、機能性インジケータをチェックする、請求項83に記載のコンピュータ使用可能な記憶媒体。
【請求項86】
機能性ネゴシエーションプロセスの一部として前記機能性インジケータを動的に変更することをさらに備える、請求項83に記載のコンピュータ使用可能な記憶媒体。
【請求項87】
前記動作特性が、製品の差別化を維持するように設定される、請求項83に記載のコンピュータ使用可能な記憶媒体。
【請求項88】
複数の機能要素が、単一のダイに含まれる、請求項84に記載のコンピュータ使用可能な記憶媒体。
【請求項89】
前記命令がドライバである、請求項85に記載のコンピュータ使用可能な記憶媒体。
【請求項90】
前記ドライバが、ネットワークを介して分配される、請求項86に記載のコンピュータ使用可能な記憶媒体。
【請求項91】
システムがリモートリソースから再構成コードをリクエストするダイ機能要素再構成リクエストプロセスに従事するステップと、
前記リモートリソースが、前記再構成コードの前記リクエストを処理する再構成コード生成プロセスを実行するステップと、
ダイ機能要素が、前記再構成コードに応じて再構成される前記システムによって、前記再構成コードが受信されれば、ダイ機能要素再構成プロセスを実行するステップと、を備える、リモート再構成方法。
【請求項92】
前記再構成リクエストプロセスが、
前記ダイ機能要素再構成コードをリクエストするステップと、
前記ダイ機能要素再構成コードを受信するステップと、を備える、請求項91に記載のリモート再構成方法。
【請求項93】
再構成コード許可インジケータを獲得するために、再構成コード許可インジケータリクエストプロセスに従事するステップをさらに備える、請求項91に記載のリモート再構成方法。
【請求項94】
前記再構成コード許可インジケータリクエストプロセスが、
許可インジケータのリクエストおよび支払いを転送するステップと、
前記許可インジケータの前記リクエストおよび支払いへの応答を受信するステップと、を備える、請求項93に記載のリモート再構成方法。
【請求項95】
再構成コード許可インジケータを獲得するために、リクエストプロセスに応答するための再構成コード許可インジケータ応答プロセスに従事するステップをさらに備える、請求項91に記載のリモート再構成方法。
【請求項96】
許可インジケータの支払いを受信するステップと、
前記支払いの受信に応答して、前記許可インジケータを転送するステップをさらに備える、請求項91に記載のリモート再構成方法。
【請求項97】
前記再構成コード生成プロセスが、
再構成コードおよび許可インジケータのリクエストを受信するステップと、
前記許可インジケータの有効性を解析するステップと、
前記許可インジケータが有効であれば、再構成コードを提供するステップと、を備える、請求項91に記載のリモート再構成方法。
【請求項98】
前記再構成コード生成プロセスが、前記許可インジケータが有効でなければ、拒否指示を転送するステップを備える、請求項97に記載のリモート再構成方法。
【請求項99】
機能要素構成変更リクエストの指示を受信するステップと、
前記特定された機能要素構成の変更が許可されているかを決定するステップと、
前記機能要素構成の変更を命じるステップと、を備える、機能要素構成プロセス。
【請求項100】
前記機能要素動作特性の指示をチェックするステップをさらに備える、請求項99に記載の機能要素構成プロセス。
【請求項101】
前記機能要素の前記構成が、前記機能要素の前記変更を制御する値をプログラミングすることによって達成される、請求項99に記載の機能要素構成プロセス。
【請求項102】
前記動作特性を決定するステップが、様々な動作目的の考慮および協調を含む、請求項99に記載の機能要素構成プロセス。
【請求項103】
機能要素動作挙動を解析するステップと、
前記解析の結果に基づいて、動作特性設定を決定するステップと、
前記動作特性設定に応じて、機能要素を構成するステップと、を備える、機能要素構成解析プロセス。
【請求項104】
前記機能要素動作挙動の解析が、複数の機能要素に対して並列に実行される、請求項103に記載の機能要素構成解析プロセス。
【請求項105】
前記機能要素動作挙動の解析が、トポロジーインバージョン解析を含む、請求項103に記載の機能要素構成解析プロセス。
【請求項106】
前記解析が、様々なレベルの構成抽象化および要素組織化で実行される、請求項103に記載の機能要素構成解析プロセス。
【請求項107】
前記動作特性設定が、様々なレベルの構成抽象化および要素組織化で決定される、請求項103に記載の機能要素構成解析プロセス。
【請求項108】
前記機能要素動作挙動の解析が、
様々な機能要素粒度および組織化レベルで複数の機能要素のテスト情報を抽出するステップと、
様々な機能要素粒度および組織化レベルで、前記テスト情報を検査するステップと、
前記検査結果に基づいて、動作特性設定調節を確立するステップと、
前記動作特性の設定調節を前記動作特性設定の決定に組み入れるステップと、を備える、請求項103に記載の機能要素構成解析プロセス。
【請求項109】
前記動作特性設定に応じた前記機能要素の構成が、
指示された機能要素の構成変更が有効であるかを決定するステップと、
前記機能要素構成の変更を命じるステップと、
前記機能要素構成の前記変更に応じてワークフローを変えるステップと、を備える、請求項103に記載の機能要素構成解析プロセス。
【請求項110】
情報および命令を伝達するためのバスと、
機能要素構成解析プロセスを実行するための情報および命令を含む、前記情報および命令を処理するための処理装置と、
機能要素構成解析プロセスを実行するための情報および命令を含む、前記情報および命令を格納するためのメモリと、
機能要素動作挙動の解析および動作特性設定の決定に関連付けられた情報を含む、前記情報および機能要素構成動作設定のグラフィカルユーザインタフェースの提示を表示するためのディスプレイと、を備える、機能要素構成システム。
【請求項111】
前記グラフィカルユーザインタフェースが、様々なレベルの粒度と実時間で機能要素のビルディングブロックのパスまたはフェイル状態を示す、請求項110に記載の機能要素構成解析プロセス。
【請求項112】
前記グラフィカルユーザインタフェースが、ユーザが分かりやすい方法でトポロジーインバージョン情報を提示する、請求項110に記載の機能要素構成解析プロセス。
【請求項113】
前記グラフィカルユーザインタフェースが、様々な機能要素動作挙動の解析および動作特性設定機能とユーザとが相互作用しやすいようにする、請求項110に記載の機能要素構成解析プロセス。
【請求項114】
前記グラフィカルユーザインタフェースが、フェイルパターンの認識、生産テストの調整、フィールド構成アルゴリズムの調節においてユーザが相互作用しやすいようにする、請求項110に記載の機能要素構成解析プロセス。
【請求項115】
テスト用に複数の集積回路を準備するステップと、
前記複数の集積回路をテストするステップと、
前記テストの結果に基づいて、前記複数の集積回路で機能要素構成プロセスを実行するステップと、を備える、柔軟性のある集積回路テスト方法。
【請求項116】
前記テストおよび前記機能要素構成プロセスが、前記複数の集積回路で並列に実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
【請求項117】
前記テストおよび前記機能要素構成プロセスが、組織化されたテスト階層において実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
【請求項118】
前記組織化されたテスト階層が、様々なレベルの機能要素粒度および組織化を含む、請求項117に記載の柔軟性のある集積回路テスト方法。
【請求項119】
前記組織化されたテスト階層が、トポロジーインバージョン解析に向けられた結果に対応する、請求項118に記載の柔軟性のある集積回路テスト方法。
【請求項120】
前記テストが、ウェハプローブステージで実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
【請求項121】
前記テストが、最終ソートステージで実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
【請求項122】
前記テストおよび前記機能要素構成プロセスが、エンジニアリングモードにおいて実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
【請求項123】
前記テストおよび前記機能要素構成プロセスが、生産モードにおいて実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
【請求項124】
前記テストが、速度テストを含む、請求項115に記載の柔軟性のある集積回路テスト方法。
【請求項125】
処理動作を実行するための複数の機能要素と、
前記複数の機能要素に情報を分配するための分配要素と、
前記複数の機能要素の1つ以上の動作特性を構成するための機能要素構成コントローラと、
外部装置との間で、前記複数の機能要素の前記1つ以上の前記動作特性に関する情報を伝達するための構成通信インタフェースとを備える、集積回路。
【請求項126】
前記構成通信インタフェースが、前記外部装置にテスト情報を伝達する、請求項125に記載の集積回路。
【請求項127】
前記テスト情報および前記機能要素構成情報が、様々なレベルの機能要素粒度および組織化で前記構成通信インタフェースによって伝達される、請求項125に記載の柔軟性のある集積回路テスト方法。
【請求項128】
前記テスト情報が、トポロジーインバージョン解析情報を含む、請求項126に記載の柔軟性のある集積回路テスト方法。
【請求項129】
前記テスト情報が、ウェハプローブステージ情報を含む、請求項126に記載の柔軟性のある集積回路テスト方法。
【請求項130】
前記テスト情報が、最終ソートステージ情報を含む、請求項126に記載の柔軟性のある集積回路テスト方法。
【請求項131】
前記構成通信インタフェースが、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節に関連付けられた動作特性設定情報を受信する、請求項125に記載の集積回路。
【請求項132】
機能要素のテストベクトルを生成するためのテストモジュールと、
前記機能要素の動作設定を決定するための機能要素動作設定モジュールと、
前記機能要素に関連付けられたテスト情報を組織化するためのテスト情報組織化モジュールと、を備える、外部機能要素協調装置。
【請求項133】
前記機能要素のための大域動作設定調節を作成し、前記機能要素の動作設定を決定する際に使用するための前記機能要素動作設定モジュールに、前記大域動作設定調節に関する情報を提供するための大域動作設定調節モジュールをさらに備える、請求項132に記載の外部機能要素協調装置。
【請求項134】
前記機能要素動作設定モジュールが、前記機能要素動作設定がダイを復旧するために調節され得るかを決定するための欠陥分解モジュールを備える、請求項132に記載の外部機能要素協調装置。
【請求項135】
前記テスト情報が、機能要素粒度および組織化の階層アーキテクチャに応じて組織化される、請求項132に記載の外部機能要素協調装置。
【請求項136】
前記テスト情報が、ウェハプローブステージ情報および最終ソートステージ情報を含む、請求項132に記載の外部機能要素協調装置。
【請求項137】
前記動作特性設定情報が、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節に関する情報を含む、請求項132に記載の外部機能要素協調装置。
【請求項1】
処理動作を実行するための複数の機能要素であって、前記複数の機能要素に含まれている欠陥機能要素が無効化され、非欠陥機能要素が選択的に有効化されている複数の機能要素と、
前記選択的に有効化された機能要素にワークフローを分配し、前記無効化された機能要素へワークフローが分配されないようにするためのワークフロー制御要素と、を備える、処理ユニット。
【請求項2】
前記複数の処理要素が、並列処理アクティビティを実行する、請求項1に記載の処理ユニット。
【請求項3】
前記並列処理アクティビティが、処理パイプラインに含まれる、請求項2に記載の処理ユニット。
【請求項4】
前記ワークフローが、パケット化単位で分配される、請求項1に記載の処理ユニット。
【請求項5】
前記処理ユニットが、中央演算処理装置である、請求項1に記載の処理ユニット。
【請求項6】
前記複数の処理要素が、浮動小数点要素である、請求項5に記載の処理ユニット。
【請求項7】
前記処理ユニットが、グラフィックス処理ユニットである、請求項1に記載の処理ユニット。
【請求項8】
前記複数の処理要素が、シェーディング要素である、請求項7に記載の処理ユニット。
【請求項9】
前記複数の処理要素が、グラフィックスフレームバッファインタフェースの分割部分である、請求項7に記載の処理ユニット。
【請求項10】
欠陥機能要素の指示を受信するステップと、
前記欠陥機能要素が、複数の同様の機能要素の1つであるかを決定するステップと、
前記欠陥機能要素が、複数の同様の機能要素の1つであれば、前記欠陥機能要素を無効化するステップと、
1つ以上の非欠陥機能要素を有効化するステップと、
前記欠陥機能要素に情報を伝達するはずであった要素に対して、前記無効化および前記有効化の通知を出すステップと、を備える、機能要素構成プロセス。
【請求項11】
欠陥機能要素の前記指示が、テストシステムから受信される、請求項10に記載の機能要素構成プロセス。
【請求項12】
前記無効化および有効化が、前記欠陥機能要素の有効化を制御するレジスタをプログラミングすることによって達成される、請求項10に記載の機能要素構成プロセス。
【請求項13】
前記無効化が、前記欠陥要素への通信ラインを切ることによって達成される、請求項10に記載の機能要素構成プロセス。
【請求項14】
テストシステムに欠陥分解モジュール命令を実施させるために組み込まれたコンピュータ読み取り可能なプログラムコードを有するコンピュータ使用可能な記憶媒体であって、
特定された機能要素が、無効化が許可されたグループに含まれるかを決定するための機能性メンテナンスモジュールと、
無効化されなければならない前記特定された要素に関連付けられた関係する機能要素があるかを決定するための対応する要素検出モジュールと、
機能要素の無効化を命じるための無効化モジュールと、を備える、コンピュータ使用可能な記憶媒体。
【請求項15】
前記命令が、ドライバである、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項16】
前記ドライバが、ネットワークを介して分配される、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項17】
前記機能性メンテナンスモジュールが、前記特定された機能要素のワークフローを取り扱うことができる他の機能要素があるかを決定する、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項18】
前記機能メンテナンスモジュールが、無効化が許容された要素の所定のリストに対して、前記機能要素の識別をチェックする、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項19】
前記関係する機能要素が、製品性能の差別化を維持するために無効化された、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項20】
無効化モジュールが、テストインタフェースを介して前記特定された機能要素に無効化信号を直接送信する、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項21】
前記無効化モジュールが、テストされたダイに含まれた機能要素コントローラに信号を送信する、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項22】
無効化モジュールが、前記機能メンテナンスモジュールが、前記特定された機能要素の無効化が許可可能であるという指示を与えれば、前記特定された機能要素の無効化を命じる、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項23】
ダイマーキングを命じるためのダイマーキングモジュールをさらに備える、請求項14に記載のコンピュータ使用可能な記憶媒体。
【請求項24】
ダイマーキングモジュールが、1つ以上の基準に基づいて、ダイのマーキングを命じる、請求項23に記載のコンピュータ使用可能な記憶媒体。
【請求項25】
ダイマーキングモジュールが、前記特定された機能要素が無効化されれば、ダイのマーキングを命じる、請求項23に記載のコンピュータ使用可能な記憶媒体。
【請求項26】
各々が同様の機能を実行する複数の機能要素と、
前記複数の機能要素の各々を選択的に有効化するための要素と、
前記複数の機能要素および前記有効化要素に結合され、有効化された前記複数の機能要素の前記各々に情報を割り当て、前記無効化された要素へ情報が割り当てられないようにするための割り当て要素と、を備える、処理ユニット。
【請求項27】
前記有効化要素が、欠陥である前記複数の機能要素のサブセットを特定し、前記機能要素のサブセットの使用が有効化されない、請求項26に記載の処理ユニット。
【請求項28】
前記処理ユニットが、コンピュータベースのシステムに含まれる、請求項26に記載の処理ユニット。
【請求項29】
前記有効化要素が、前記割り当て要素に有効化の指示を与え、前記有効化の指示が、前記複数の機能要素の前記各々のどれが有効化されるかを示す、請求項26に記載の処理ユニット。
【請求項30】
前記有効化要素が、前記複数の機能要素の前記各々のテストに基づき、前記複数の機能要素の各々を選択的に有効化する、請求項26に記載の処理ユニット。
【請求項31】
前記有効化要素が、前記テストが正確に動作することを示す前記複数の機能要素の各々を選択的に有効化する、請求項26に記載の処理ユニット。
【請求項32】
有効化された前記複数の機能要素の前記各々が、有効化されていない前記複数の機能要素の前記各々によって実行されるはずであった前記同様の機能を実行可能である、請求項31に記載の処理ユニット。
【請求項33】
処理動作を実行するための複数の機能要素を備え、前記複数の機能要素に含まれた欠陥機能要素が無効化され、
前記無効化された要素へワークフローが分配されないようにするためのワークフロー制御要素を備える、処理ユニット。
【請求項34】
前記ワークフローが、前記複数の処理要素に含まれた有効化された要素に送り出される、請求項33に記載の処理ユニット。
【請求項35】
前記複数の処理要素が、並列処理アクティビティを実行する、請求項33に記載の処理ユニット。
【請求項36】
前記並列処理アクティビティが、処理パイプラインに含まれる、請求項35に記載の処理ユニット。
【請求項37】
前記処理ユニットが、グラフィックス処理ユニットである、請求項33に記載の処理ユニット。
【請求項38】
処理動作を実行するための複数の機能要素と、
前記複数の機能要素に情報を分配するための分配要素と、
前記複数の機能要素の1つ以上の動作特性を構成するための機能要素構成コントローラと、を備える、集積回路。
【請求項39】
前記機能要素構成コントローラが、前記複数の機能要素の前記動作特性に関する情報を前記分配要素に提供する、請求項38に記載の集積回路。
【請求項40】
前記複数の機能要素が、グラフィックス処理装置に含まれる、請求項38に記載の集積回路。
【請求項41】
前記分配要素が、前記動作特性構成を、前記複数の機能要素への前記情報の分配に組み入れる、請求項38に記載の集積回路。
【請求項42】
前記機能要素構成コントローラが、種々の目的に応じて前記動作特性を構成する、請求項38に記載の集積回路。
【請求項43】
マスクアレイをさらに備え、前記マスクアレイに含まれた各マスクが、動作目的に対応し、前記複数の機能要素の動作特性の指示を与える、請求項38に記載の集積回路。
【請求項44】
前記マスクアレイが、前記欠陥機能要素の無効化の指示を与えるための歩留まりマスクを含む、請求項43に記載の集積回路。
【請求項45】
前記マスクアレイが、
前記複数の機能要素の互換性がありサポートされた動作特性の有効化を指示するための互換性マスクと、
前記複数の機能要素のための性能レベルを指示するための性能マスクと、
フィールドテストに基づいて、複数の機能要素の動作特性を指示するための自己回復マスクと、をさらに備える、請求項44に記載の集積回路。
【請求項46】
前記複数の機能要素が、パイプラインを含む、請求項38に記載の集積回路。
【請求項47】
機能要素構成変更トリガイベントの指示を受信するステップと、
前記指示された機能要素構成変更が有効であるかを決定するステップと、
前記機能要素構成の変更を命じるステップと、
前記機能要素構成の前記変更に応じて、ワークフローを変えるステップと、を備える、機能要素構成プロセス。
【請求項48】
前記機能要素動作特性の指示をチェックするステップをさらに備える、請求項47に記載の機能要素構成プロセス。
【請求項49】
前記機能要素の前記構成が、前記機能要素の有効化を制御する値をプログラミングすることによって達成される、請求項47に記載の機能要素構成プロセス。
【請求項50】
前記機能要素の前記構成が、前記機能要素のクロック速度を制御するレジスタをプログラミングすることによって達成される、請求項47に記載の機能要素構成プロセス。
【請求項51】
前記動作特性に基づいて、前記複数の機能要素にワークフローを送り出すステップをさらに備える、請求項47に記載の機能要素構成プロセス。
【請求項52】
前記機能要素が無効化されれば、前記機能要素にワークフローが分配されないようにするステップをさらに備える、請求項47に記載の機能要素構成プロセス。
【請求項53】
前記動作特性を決定するステップが、様々な動作目的の考慮および協調を含む、請求項47に記載の機能要素構成プロセス。
【請求項54】
同様の並列動作を実行するための複数の機能要素と、
前記複数の機能要素の1つ以上の有効化および無効化を制御するための機能要素コントローラと、
前記複数の機能要素に含まれた有効化された機能要素に情報を分配し、前記複数の機能要素に含まれた無効化された機能要素に情報が分配されないようにするための分配要素と、を備える、集積回路。
【請求項55】
前記機能要素コントローラが、前記複数の機能要素のどれが無効化されるかに関する情報を前記分配要素に提供する、請求項54に記載の集積回路。
【請求項56】
前記機能要素コントローラが、前記複数の機能要素のどれが有効化されるかに関する情報を前記分配要素に提供する、請求項54に記載の集積回路。
【請求項57】
前記複数の機能要素が、アクティブな機能要素を備える、請求項55に記載の集積回路。
【請求項58】
前記分配要素が、ワークフロー情報を分配する、請求項56に記載の集積回路。
【請求項59】
前記機能要素コントローラが、ソフトウェアプログラム可能なレジスタを備える、請求項57に記載の集積回路。
【請求項60】
前記機能要素コントローラが、ハードコード化されたマスクを備える、請求項58に記載の集積回路。
【請求項61】
前記集積回路が、無効化された前記複数の機能要素の数に対応する性能インジケータでマーキングされる、請求項59に記載の集積回路。
【請求項62】
前記集積回路が、有効化された前記複数の機能要素の数に対応する性能インジケータでマーキングされる、請求項60に記載の集積回路。
【請求項63】
テスト用にチップを準備するステップと、
前記チップをテストするステップと、
前記テストの結果に基づいて、前記チップに機能要素構成プロセスを実行するステップと、を備える、性能を低減した回路復旧方法。
【請求項64】
前記テストが、
欠陥機能要素を特定するステップと、
前記集積回路に含まれ、前記欠陥機能要素と同様の機能を実行する非欠陥機能要素があるかを決定するステップと、
前記非欠陥要素が前記集積回路に含まれれば、前記欠陥機能要素を不使用のために指定するステップと、
前記同様の機能を実行する前記非欠陥要素が、前記集積回路に含まれていなければ、前記集積回路を欠陥としてマーキングするステップとを備える、請求項63に記載の性能を低減した性能回路復旧方法。
【請求項65】
前記チップの複数の同質の実行要素の1つが、無効化または有効化される、請求項63に記載の性能を低減した回路復旧方法。
【請求項66】
他の機能要素が、前記無効化された機能要素の機能を実行できるように、前記チップを再構成するステップをさらに備える、請求項63に記載の性能を低減した回路復旧方法。
【請求項67】
前記機能要素構成プロセスが、
欠陥機能要素の指示を受信するステップと、
前記欠陥機能要素が、複数の同様の機能要素の1つであるかを決定するステップと、
前記欠陥機能要素が、前記複数の同様の機能要素の1つであれば、前記欠陥機能要素を無効化するステップと、
1つ以上の非欠陥機能要素を有効化するステップと、
前記欠陥機能要素に情報を伝達するはずであった要素に対して、前記無効化および前記有効化の通知を出すステップと、を備える、請求項63に記載の性能を低減した回路復旧方法。
【請求項68】
欠陥機能要素の前記指示が、テストシステムから受信される、請求項63に記載の性能を低減した回路復旧方法。
【請求項69】
同様の構成で複数のダイを作製するステップと、
前記複数のダイの1つのダイが、要素に関連付けられた機能を実行する能力を失うことなく、前記要素が、前記要素の前記1つのダイ内の生産的寄与に関与できないようにするステップと、
前記機能性を異ならしめた性能レベルに基づいて、前記複数のダイを分類するステップと、を備える、ダイ分類プロセス。
【請求項70】
前記複数のダイが、単一のウェハ上に作製される、請求項69に記載のダイ分類プロセス。
【請求項71】
前記複数のダイのデータシート情報を調査することによって、同様の構成が決定される、請求項69に記載のダイ分類プロセス。
【請求項72】
ダイが実質的に同じ作製コストを有すれば、同様の構成が決定される、請求項69に記載のダイ分類プロセス。
【請求項73】
前記要素が、前記要素を無効化することによって生産的貢献に関与できないようにされる、請求項69に記載のダイ分類プロセス。
【請求項74】
テストが実行されるまで、どのデータシート情報が前記複数のダイに含まれるダイに適用するかという決定がなされない、請求項69に記載のダイ分類プロセス。
【請求項75】
前記複数のダイに含まれる第1のダイおよび第2のダイが、機能性が与えられる性能レベルに相関して異なる価格で販売される異なる製品に含まれる、請求項69に記載のダイ分類プロセス。
【請求項76】
前記複数のダイの各々が、同一のデザインで作製され、異なる性能レベルで分配される、請求項69に記載のダイ分類プロセス。
【請求項77】
ウェハからの使用可能なダイの歩留まりを高める方法であって、
ウェハを作製するステップを備え、前記ウェハが、複数のダイを含み、前記複数のダイの各々が、複数の機能サブ要素を用いて複数のサブタスクを並列に実行可能である機能要素を含み、
動作可能および動作不能である前記複数の機能サブ要素の各々を特定するステップを備え、
動作不能として特定された前記複数の機能サブ要素の各々の動作を無効化するステップを備え、
動作可能として特定された前記複数の機能サブ要素の各々の選択的動作を有効化するステップを備え、
前記機能サブ要素の動作可能な状態に基づいて、前記複数のダイの前記各々を性能クラスにソートするステップを備え、
前記複数の前記ダイの1つが、復旧可能であると指定された性能クラスにソートされれば、動作不能である機能サブ要素を有する前記複数の前記ダイの前記1つを復旧するステップを備える、方法。
【請求項78】
前記サブタスクが、グラフィックスサブタスクを含む、請求項15に記載の方法。
【請求項79】
前記動作不能の機能サブ要素が、テストプロセスの一部として特定される、請求項15に記載の方法。
【請求項80】
前記複数の前記ダイの1つを復旧するステップが、前記複数の前記ダイの前記1つの性能能力に対応する性能インジケータで前記ダイをマーキングすることを含む、請求項15に記載の方法。
【請求項81】
前記複数の前記ダイの前記1つが、グラフィックス処理パイプライン機能要素を含む、請求項15に記載の方法。
【請求項82】
全機能性を与えない前記複数の前記ダイの1つを破棄するステップをさらに備える、請求項15に記載の方法。
【請求項83】
回路に機能要素構成モジュール命令を実施させるために組み込まれたコンピュータ読み取り可能なプログラムコードを有するコンピュータ使用可能な記憶媒体であって、
機能要素動作特性のメンテナンスを命じるための機能トラッキングモジュールと、
機能要素構成を命じるための構成モジュールと、を備える、コンピュータ使用可能な記憶媒体。
【請求項84】
前記機能性トラッキングモジュールが、特定された機能要素のワークフローを取り扱うことができる他の機能要素があるかを決定する、請求項83に記載のコンピュータ使用可能な記憶媒体。
【請求項85】
前記機能性トラッキングモジュールが、動作特性設定の所定の相関リストに対して、機能性インジケータをチェックする、請求項83に記載のコンピュータ使用可能な記憶媒体。
【請求項86】
機能性ネゴシエーションプロセスの一部として前記機能性インジケータを動的に変更することをさらに備える、請求項83に記載のコンピュータ使用可能な記憶媒体。
【請求項87】
前記動作特性が、製品の差別化を維持するように設定される、請求項83に記載のコンピュータ使用可能な記憶媒体。
【請求項88】
複数の機能要素が、単一のダイに含まれる、請求項84に記載のコンピュータ使用可能な記憶媒体。
【請求項89】
前記命令がドライバである、請求項85に記載のコンピュータ使用可能な記憶媒体。
【請求項90】
前記ドライバが、ネットワークを介して分配される、請求項86に記載のコンピュータ使用可能な記憶媒体。
【請求項91】
システムがリモートリソースから再構成コードをリクエストするダイ機能要素再構成リクエストプロセスに従事するステップと、
前記リモートリソースが、前記再構成コードの前記リクエストを処理する再構成コード生成プロセスを実行するステップと、
ダイ機能要素が、前記再構成コードに応じて再構成される前記システムによって、前記再構成コードが受信されれば、ダイ機能要素再構成プロセスを実行するステップと、を備える、リモート再構成方法。
【請求項92】
前記再構成リクエストプロセスが、
前記ダイ機能要素再構成コードをリクエストするステップと、
前記ダイ機能要素再構成コードを受信するステップと、を備える、請求項91に記載のリモート再構成方法。
【請求項93】
再構成コード許可インジケータを獲得するために、再構成コード許可インジケータリクエストプロセスに従事するステップをさらに備える、請求項91に記載のリモート再構成方法。
【請求項94】
前記再構成コード許可インジケータリクエストプロセスが、
許可インジケータのリクエストおよび支払いを転送するステップと、
前記許可インジケータの前記リクエストおよび支払いへの応答を受信するステップと、を備える、請求項93に記載のリモート再構成方法。
【請求項95】
再構成コード許可インジケータを獲得するために、リクエストプロセスに応答するための再構成コード許可インジケータ応答プロセスに従事するステップをさらに備える、請求項91に記載のリモート再構成方法。
【請求項96】
許可インジケータの支払いを受信するステップと、
前記支払いの受信に応答して、前記許可インジケータを転送するステップをさらに備える、請求項91に記載のリモート再構成方法。
【請求項97】
前記再構成コード生成プロセスが、
再構成コードおよび許可インジケータのリクエストを受信するステップと、
前記許可インジケータの有効性を解析するステップと、
前記許可インジケータが有効であれば、再構成コードを提供するステップと、を備える、請求項91に記載のリモート再構成方法。
【請求項98】
前記再構成コード生成プロセスが、前記許可インジケータが有効でなければ、拒否指示を転送するステップを備える、請求項97に記載のリモート再構成方法。
【請求項99】
機能要素構成変更リクエストの指示を受信するステップと、
前記特定された機能要素構成の変更が許可されているかを決定するステップと、
前記機能要素構成の変更を命じるステップと、を備える、機能要素構成プロセス。
【請求項100】
前記機能要素動作特性の指示をチェックするステップをさらに備える、請求項99に記載の機能要素構成プロセス。
【請求項101】
前記機能要素の前記構成が、前記機能要素の前記変更を制御する値をプログラミングすることによって達成される、請求項99に記載の機能要素構成プロセス。
【請求項102】
前記動作特性を決定するステップが、様々な動作目的の考慮および協調を含む、請求項99に記載の機能要素構成プロセス。
【請求項103】
機能要素動作挙動を解析するステップと、
前記解析の結果に基づいて、動作特性設定を決定するステップと、
前記動作特性設定に応じて、機能要素を構成するステップと、を備える、機能要素構成解析プロセス。
【請求項104】
前記機能要素動作挙動の解析が、複数の機能要素に対して並列に実行される、請求項103に記載の機能要素構成解析プロセス。
【請求項105】
前記機能要素動作挙動の解析が、トポロジーインバージョン解析を含む、請求項103に記載の機能要素構成解析プロセス。
【請求項106】
前記解析が、様々なレベルの構成抽象化および要素組織化で実行される、請求項103に記載の機能要素構成解析プロセス。
【請求項107】
前記動作特性設定が、様々なレベルの構成抽象化および要素組織化で決定される、請求項103に記載の機能要素構成解析プロセス。
【請求項108】
前記機能要素動作挙動の解析が、
様々な機能要素粒度および組織化レベルで複数の機能要素のテスト情報を抽出するステップと、
様々な機能要素粒度および組織化レベルで、前記テスト情報を検査するステップと、
前記検査結果に基づいて、動作特性設定調節を確立するステップと、
前記動作特性の設定調節を前記動作特性設定の決定に組み入れるステップと、を備える、請求項103に記載の機能要素構成解析プロセス。
【請求項109】
前記動作特性設定に応じた前記機能要素の構成が、
指示された機能要素の構成変更が有効であるかを決定するステップと、
前記機能要素構成の変更を命じるステップと、
前記機能要素構成の前記変更に応じてワークフローを変えるステップと、を備える、請求項103に記載の機能要素構成解析プロセス。
【請求項110】
情報および命令を伝達するためのバスと、
機能要素構成解析プロセスを実行するための情報および命令を含む、前記情報および命令を処理するための処理装置と、
機能要素構成解析プロセスを実行するための情報および命令を含む、前記情報および命令を格納するためのメモリと、
機能要素動作挙動の解析および動作特性設定の決定に関連付けられた情報を含む、前記情報および機能要素構成動作設定のグラフィカルユーザインタフェースの提示を表示するためのディスプレイと、を備える、機能要素構成システム。
【請求項111】
前記グラフィカルユーザインタフェースが、様々なレベルの粒度と実時間で機能要素のビルディングブロックのパスまたはフェイル状態を示す、請求項110に記載の機能要素構成解析プロセス。
【請求項112】
前記グラフィカルユーザインタフェースが、ユーザが分かりやすい方法でトポロジーインバージョン情報を提示する、請求項110に記載の機能要素構成解析プロセス。
【請求項113】
前記グラフィカルユーザインタフェースが、様々な機能要素動作挙動の解析および動作特性設定機能とユーザとが相互作用しやすいようにする、請求項110に記載の機能要素構成解析プロセス。
【請求項114】
前記グラフィカルユーザインタフェースが、フェイルパターンの認識、生産テストの調整、フィールド構成アルゴリズムの調節においてユーザが相互作用しやすいようにする、請求項110に記載の機能要素構成解析プロセス。
【請求項115】
テスト用に複数の集積回路を準備するステップと、
前記複数の集積回路をテストするステップと、
前記テストの結果に基づいて、前記複数の集積回路で機能要素構成プロセスを実行するステップと、を備える、柔軟性のある集積回路テスト方法。
【請求項116】
前記テストおよび前記機能要素構成プロセスが、前記複数の集積回路で並列に実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
【請求項117】
前記テストおよび前記機能要素構成プロセスが、組織化されたテスト階層において実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
【請求項118】
前記組織化されたテスト階層が、様々なレベルの機能要素粒度および組織化を含む、請求項117に記載の柔軟性のある集積回路テスト方法。
【請求項119】
前記組織化されたテスト階層が、トポロジーインバージョン解析に向けられた結果に対応する、請求項118に記載の柔軟性のある集積回路テスト方法。
【請求項120】
前記テストが、ウェハプローブステージで実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
【請求項121】
前記テストが、最終ソートステージで実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
【請求項122】
前記テストおよび前記機能要素構成プロセスが、エンジニアリングモードにおいて実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
【請求項123】
前記テストおよび前記機能要素構成プロセスが、生産モードにおいて実行される、請求項115に記載の柔軟性のある集積回路テスト方法。
【請求項124】
前記テストが、速度テストを含む、請求項115に記載の柔軟性のある集積回路テスト方法。
【請求項125】
処理動作を実行するための複数の機能要素と、
前記複数の機能要素に情報を分配するための分配要素と、
前記複数の機能要素の1つ以上の動作特性を構成するための機能要素構成コントローラと、
外部装置との間で、前記複数の機能要素の前記1つ以上の前記動作特性に関する情報を伝達するための構成通信インタフェースとを備える、集積回路。
【請求項126】
前記構成通信インタフェースが、前記外部装置にテスト情報を伝達する、請求項125に記載の集積回路。
【請求項127】
前記テスト情報および前記機能要素構成情報が、様々なレベルの機能要素粒度および組織化で前記構成通信インタフェースによって伝達される、請求項125に記載の柔軟性のある集積回路テスト方法。
【請求項128】
前記テスト情報が、トポロジーインバージョン解析情報を含む、請求項126に記載の柔軟性のある集積回路テスト方法。
【請求項129】
前記テスト情報が、ウェハプローブステージ情報を含む、請求項126に記載の柔軟性のある集積回路テスト方法。
【請求項130】
前記テスト情報が、最終ソートステージ情報を含む、請求項126に記載の柔軟性のある集積回路テスト方法。
【請求項131】
前記構成通信インタフェースが、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節に関連付けられた動作特性設定情報を受信する、請求項125に記載の集積回路。
【請求項132】
機能要素のテストベクトルを生成するためのテストモジュールと、
前記機能要素の動作設定を決定するための機能要素動作設定モジュールと、
前記機能要素に関連付けられたテスト情報を組織化するためのテスト情報組織化モジュールと、を備える、外部機能要素協調装置。
【請求項133】
前記機能要素のための大域動作設定調節を作成し、前記機能要素の動作設定を決定する際に使用するための前記機能要素動作設定モジュールに、前記大域動作設定調節に関する情報を提供するための大域動作設定調節モジュールをさらに備える、請求項132に記載の外部機能要素協調装置。
【請求項134】
前記機能要素動作設定モジュールが、前記機能要素動作設定がダイを復旧するために調節され得るかを決定するための欠陥分解モジュールを備える、請求項132に記載の外部機能要素協調装置。
【請求項135】
前記テスト情報が、機能要素粒度および組織化の階層アーキテクチャに応じて組織化される、請求項132に記載の外部機能要素協調装置。
【請求項136】
前記テスト情報が、ウェハプローブステージ情報および最終ソートステージ情報を含む、請求項132に記載の外部機能要素協調装置。
【請求項137】
前記動作特性設定情報が、フェイルパターンの認識、生産テストの調整、およびフィールド構成アルゴリズムの調節に関する情報を含む、請求項132に記載の外部機能要素協調装置。
【図1A】
【図1B】
【図1C】
【図1D】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図1B】
【図1C】
【図1D】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公表番号】特表2007−506267(P2007−506267A)
【公表日】平成19年3月15日(2007.3.15)
【国際特許分類】
【出願番号】特願2006−526417(P2006−526417)
【出願日】平成16年9月13日(2004.9.13)
【国際出願番号】PCT/US2004/030127
【国際公開番号】WO2005/029329
【国際公開日】平成17年3月31日(2005.3.31)
【出願人】(501261300)エヌヴィディア コーポレイション (166)
【Fターム(参考)】
【公表日】平成19年3月15日(2007.3.15)
【国際特許分類】
【出願日】平成16年9月13日(2004.9.13)
【国際出願番号】PCT/US2004/030127
【国際公開番号】WO2005/029329
【国際公開日】平成17年3月31日(2005.3.31)
【出願人】(501261300)エヌヴィディア コーポレイション (166)
【Fターム(参考)】
[ Back to top ]