(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-19
(54)【発明の名称】複数のダイに対するテストデータのオンチップ分配
(51)【国際特許分類】
G01R 31/28 20060101AFI20241212BHJP
G01R 31/3177 20060101ALI20241212BHJP
G06F 11/22 20060101ALI20241212BHJP
【FI】
G01R31/28 V
G01R31/3177
G06F11/22 642
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024536215
(86)(22)【出願日】2022-12-23
(85)【翻訳文提出日】2024-07-17
(86)【国際出願番号】 IB2022062741
(87)【国際公開番号】W WO2023126813
(87)【国際公開日】2023-07-06
(32)【優先日】2021-12-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】508301087
【氏名又は名称】エーティーアイ・テクノロジーズ・ユーエルシー
【氏名又は名称原語表記】ATI TECHNOLOGIES ULC
【住所又は居所原語表記】One Commerce Valley Drive East, Markham, Ontario, L3T 7X6 Canada
(71)【出願人】
【識別番号】524227767
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・プロダクツ(チャイナ) カンパニー リミテッド
(74)【代理人】
【識別番号】100108833
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】アリー マーギュリス
(72)【発明者】
【氏名】タサニー パヤカパン
(72)【発明者】
【氏名】ユアン チャオ
【テーマコード(参考)】
2G132
5B048
【Fターム(参考)】
2G132AA14
2G132AB01
2G132AC03
2G132AD06
2G132AK13
2G132AK22
2G132AL09
5B048AA17
5B048DD05
(57)【要約】
マルチダイ集積回路[102]は、オンチップテスト分配モジュールを使用して、テストデータ[105]をプロセッサチップレット104、106、108、110等の異なるダイに分配する。テスト分配モジュールは、1つ以上の集積回路ピン[112]を介して外部ソース[115]からテスト入力データ[220]を受信し、異なるダイがテストデータを1つ以上の回路に同時に適用することができるように、テスト入力データを異なるダイに分配する。テスト入力データの適用に基づいて、異なるダイは、ダイにおける設計又は動作エラーを識別し、対処するために使用される対応するテスト結果[325]を同時に生成する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
マルチチップモジュール内の複数の半導体ダイと、
テスト入力データを受信するように構成されたピンのセットと、
受信したテスト入力データを前記複数の半導体ダイの少なくともサブセットに分配するように構成されたテスト分配モジュールと、を備える、
集積回路。
【請求項2】
前記テスト分配モジュールは、前記複数の半導体ダイの各々からテスト出力データを受信するように構成されている、
請求項1の集積回路。
【請求項3】
前記テスト分配モジュールは、受信したテスト出力データに基づいてチップテスト結果を提供する、
請求項2の集積回路。
【請求項4】
前記テスト分配モジュールは、前記テスト出力データと予想テスト結果のセットとの比較に基づいて前記チップテスト結果を決定する、
請求項2の集積回路。
【請求項5】
前記テスト分配モジュールは、前記ピンのセットを介して前記予想テスト結果を受信するように構成されている、
請求項4の集積回路。
【請求項6】
前記テスト分配モジュールは、前記複数の半導体ダイのうち1つ以上によって生成されたテスト出力データにマスクを適用するように構成されている、
請求項1の集積回路。
【請求項7】
前記テスト分配モジュールは、前記ピンのセットを介して前記マスクを受信するように構成されている、
請求項6の集積回路。
【請求項8】
前記テスト分配モジュールは、受信した制御情報に基づいて、前記テスト入力データを受信する複数の半導体ダイを選択するように構成されている、
請求項1~7の何れかの集積回路。
【請求項9】
前記テスト分配モジュールは、前記ピンのセットを介して前記制御情報を受信する、
請求項8の集積回路。
【請求項10】
前記複数のダイは、処理ユニットチップレットのセットを備える、
請求項1の集積回路。
【請求項11】
マルチチップモジュール内の複数の半導体ダイと、
テスト入力データを受信するように構成されたピンのセットと、
前記複数の半導体ダイのサブセットを選択し、受信したテスト入力データを前記複数の半導体ダイの選択されたサブセットに分配するように構成されたテスト分配モジュールと、を備える、
集積回路。
【請求項12】
前記テスト分配モジュールは、前記複数の半導体ダイの選択されたサブセットの各々からテスト出力結果を受信するように構成されている、
請求項11の集積回路。
【請求項13】
前記テスト分配モジュールは、前記ピンのセットを介して受信したテスト出力結果に基づいてチップテスト結果を提供する、
請求項12の集積回路。
【請求項14】
前記テスト分配モジュールは、前記複数の半導体ダイのうち1つ以上によって生成されたテスト出力データにマスクを適用するように構成されている、
請求項11~13の何れかの集積回路。
【請求項15】
前記複数の半導体ダイは、インターポーザを介して前記テスト分配モジュールと通信する、
請求項11の集積回路。
【請求項16】
前記インターポーザは、シリコンインターポーザ、シリコンブリッジ又はシリコン基板のうち1つ以上を備える、
請求項15の集積回路。
【請求項17】
前記複数の半導体ダイは、少なくとも1つの第1のタイプのダイと、少なくとも1つの第2のタイプのダイと、を備える、
請求項11の集積回路。
【請求項18】
前記複数の半導体ダイは、少なくとも1つの第3のタイプのダイを備える、
請求項17の集積回路。
【請求項19】
マルチチップモジュールを備える集積回路のピンのセットにおいて、テスト入力データを受信することと、
前記テスト入力データを、前記集積回路の複数のダイの少なくともサブセットに分配することと、を含む、
方法。
【請求項20】
前記テスト入力データに基づいて、前記複数のダイの各々においてテスト出力データを生成することと、
前記テスト出力データと予想テスト結果との比較に基づいてテスト結果を生成することと、を含む、
請求項19の方法。
【発明の詳細な説明】
【背景技術】
【0001】
処理性能及び効率を向上させるために、いくつかのプロセッサは、複数の機能ダイを有する集積回路として実装され、各機能ダイは、処理機能、メモリ機能等の対応する機能のセットを実装するための回路を含む。例えば、いくつかのプロセッサは、チップレットベースの設計を採用し、複数のプロセッサダイの各々は、対応するプロセッサチップレットを実装し、各チップレットは、中央処理ユニット(central processing unit、CPU)動作、グラフィックス処理ユニット(graphics processing unit、GPU動作)等の指定されたプロセッサ動作の少なくともサブセットを実行するように設計及び構成される。チップレット及び他のプロセッサダイ(例えば、メモリダイ)は、3次元スタックに配列され、スタックは集積回路パッケージ内に配置され、パッケージは、ダイの異なる信号経路へのアクセスを可能にする複数のピンを含む。複数の機能ダイが同じ集積回路パッケージ内にあるので、ダイは、効率的に且つ比較的少ない電力を消費することによって、通信し、処理動作を調整することができる。しかしながら、個々の機能ダイの適切な動作を確認するためのテスト等のテストを実行することは、通常、非効率的であり、費用がかかる。
【0002】
本開示は、添付の図面を参照することによってより良好に理解され、その数々の特徴及び利点が当業者に明らかになり得る。異なる図面における同じ符号の使用は、類似又は同一のアイテムを示す。
【図面の簡単な説明】
【0003】
【
図1】いくつかの実施形態による、テスト下のプロセッサが複数のダイのためのテストデータのオンチップ分配を含むプロセッサテストシステムのブロック図である。
【
図2】いくつかの実施形態による、テストデータを異なるプロセッサチップレットに分配する
図1のプロセッサの一例を示すブロック図である。
【
図3】いくつかの実施形態による、予想テスト結果と比較するためのテスト出力データを提供する
図2のチップレットの一例を示すブロック図である。
【
図4】いくつかの実施形態による、
図1のプロセッサのテスト分配モジュールの一例を示すブロック図である。
【
図5】いくつかの実施形態による、チップレットタイプに基づいて、テストデータを異なるプロセッサチップレットに選択的に分配する
図1のプロセッサの一例を示すブロック図である。
【
図6】いくつかの実施形態による、複数の機能ダイを有するプロセッサにおいてテストデータを分配する方法を示すフロー図である。
【発明を実施するための形態】
【0004】
図1~
図6は、オンチップテスト分配モジュールを使用して、マルチダイ集積回路のプロセッサチップレット等の異なるダイにテストデータを分配するための技術を示している。テスト分配モジュールは、1つ以上の集積回路ピンを介して外部ソースからテスト入力データを受信し、異なるダイがテストデータを1つ以上の回路に同時に適用することができるように、テスト入力データを異なるダイに分配する。テスト入力データの適用に基づいて、異なるダイは、ダイにおける設計エラー又は動作エラーを識別して対処するために使用される、対応するテスト結果を同時に生成する。テスト入力データはオンチップモジュールを介して分配されるので、テストデータは、多数の専用テストピンを必要とすることなく、比較的効率的に集積回路に提供することができ、したがって、集積回路設計を簡略化するとともに、テスト及び開発の時間及びリソースを節約する。
【0005】
説明すると、従来のプロセッサ等の従来のシングルダイ集積回路の場合、テストデータは、比較的少数の専用テストピンを介して直列に又はより多数の専用テストピンを介して並列に、といった2つの方法のうち何れかで集積回路に適用される。マルチダイ集積回路の場合、個々のダイの各々をテストして、任意の個々のダイのエラーを特定して対処することができるようにすることが望ましい。しかしながら、テストデータの並列適用のために個々のダイの各々にテストピンを専用化することは、多数の専用ピンを必要とし、集積回路の全体サイズを増大させるか、あるいは、テスト以外の動作のために使用され得るピンの再利用を必要とする。更に、テストデータをマルチダイ集積回路にシリアルに適用することは、異なる個々のダイのために同じテストデータが入力ピンに繰り返し適用されるので、比較的長い時間を必要とする。対照的に、本明細書で説明される技術を使用すると、比較的少数の専用テストピンを用いて、大量のテスト時間及び他のリソースを必要とすることなく、マルチダイ集積回路をテストすることができる。
【0006】
図1~
図6は、いくつかの実施形態による、プロセッサを形成する複数のダイを含む例示的な集積回路に関して説明されている。しかしながら、他の実施形態では、本明細書で説明される技術は、他のタイプの集積回路に実装されることが理解されよう。例えば、いくつかの実施形態では、本明細書で説明される技術は、複数の集積回路ダイを有するメモリモジュール等のメモリを含む集積回路に実装される。更に、本開示で使用される場合、「ダイ」及び「チップ」という用語は互換的に使用される。同様に、「集積回路ダイ」及び「半導体ダイ」という用語は互換的に使用される。
【0007】
図1は、外部テストコントローラ115から受信したテストデータを分配し、受信したテストデータを異なる半導体ダイに分配するように概ね構成されたテスト分配モジュール105を含むプロセッサ102のブロック図を示している。プロセッサ102は、概して、指定されたタスクを電子デバイスの代わりに実行するための命令セットを実行するように構成される。したがって、異なる実施形態では、プロセッサ102は、デスクトップコンピュータ、ラップトップコンピュータ、サーバ、スマートフォン、タブレット、ゲームコンソール等を含む多数の異なるタイプの電子デバイスの何れかに組み込まれる。
【0008】
プロセッサ102は、プロセッサ102が単一の半導体集積回路のように使用可能(例えば、アドレス可能)であるように、ブリッジチップで一緒に通信可能に結合されている2つ以上のベース集積回路ダイを含むマルチチップモジュール(例えば、半導体ダイパッケージ)として構築される。当業者は、従来の(例えば、マルチチップではない)半導体集積回路が、ウェハとして又はウェハ内に形成され、後に(例えば、ウェハがダイシングされる場合に)ウェハから分離されるダイ(例えば、シングルチップIC)として製造され、多くの場合、複数のICがウェハ内に同時に製造されることを認識するであろう。IC及び場合によってはディスクリート回路、並びに、場合によっては他の構成要素(例えば、シリコンインターポーザ、非半導体パッケージング基板、例えば、プリント回路基板、非シリコン、インターポーザ、及び、場合によっては他のもの等)が、マルチダイプロセッサ内に組み立てられる。
【0009】
様々な実施形態において、プロセッサ102は、いくつかの実施形態による処理スタックダイチップレットを用いる1つ以上のベースICダイ(例えば、ベースダイ101)を含む。ベースダイは、N個の通信可能に結合されたスタックダイチップレットを含む単一の半導体チップパッケージとして形成される。例えば、図示した実施形態では、プロセッサ102は、4つのチップレットである、指定されたチップレット104、106、108、110を含む。例示及び説明を容易にするために、CPUチップレット及びGPUチップレットの特定のコンテキストにおいて様々な実施形態が後述されるが、本明細書で説明される概念は、加速処理ユニット(accelerated processing unit、APU)、ディスクリートGPU(discrete GPU、dGPU)、人工知能(artificial intelligence、AI)アクセラレータ、他の並列プロセッサ等を含む他のプロセッサにも同様に適用可能であることを認識されたい。例えば、いくつかの実施形態では、プロセッサ102は、シリコン通信ブリッジ、埋め込みマルチダイ相互接続(embedded multi-die interconnect、EMIB)、埋め込みファンアウトブリッジ(embedded fanout bridge、EFB)等を介して接続された複数のダイを含む。
【0010】
様々な実施形態では、本明細書で使用される場合、「チップレット」という用語は、限定するものではないが、次の特性を含む任意のデバイスを指す。1)チップレットは、完全な問題を解くために使用される計算ロジックの少なくとも一部を含むアクティブシリコンダイを含み(すなわち、計算ワークロードは、これらのアクティブシリコンダイの複数にわたって分散され)、2)チップレットは、同じ基板上にモノリシックユニットとして一緒にパッケージ化され、及び、3)チップレットの特定のセットを制御するために使用されるプログラミングモデルは、これらの個別の計算ダイの組み合わせ(例えば、グラフィックス処理スタックダイチップレットのセット)が単一のモノリシックユニットであるという概念を維持する。すなわち、特定のセットの各チップレットは、計算作業負荷を処理するためにチップレットのセットを使用するアプリケーションに個別のデバイスとして公開されないが、その代わりに、チップレットのセットが、集合的に、グラフィックス処理ユニット(GPU)又は中央処理ユニット(CPU)等の統合処理ユニットとして見えるように、アプリケーションに公開される。例えば、AMD Ryzen Threadripperは、複数のCPUチップレットを含む。更に、いくつかの実施形態では、プロセッサ102は、異なる処理ユニットとしてアプリケーションに一緒に公開されるチップレットの複数のセットを含む。例えば、いくつかの実施形態では、チップレット104及び110は、アプリケーションに対して単一のCPUとして一緒に見えるCPUチップレットのセットを形成し、チップレット106及び108は、アプリケーションに対して単一のGPUとして一緒に見えるGPUチップレットのセットを形成する。当業者に理解されるように、CPUチップレット及びGPUチップレットは第1及び第2のダイタイプであるが、他のダイタイプを含むチップレットも様々な実施形態に含まれ得る。例えば、デジタル信号プロセッサ(digital signal processors、DSP)と、フィールドプログラマブルゲートアレイ(field programmable gate arrays、FPGA)、ニューラル処理ユニット(neural processing units、NPU)と、その他のうちの1つ以上を含むチップレットを使用することもできる。
【0011】
様々な実施形態において、プロセッサ102は、チップレット間の高帯域幅ダイツーダイ相互接続として動作するチップ間データファブリック(図示せず)を含む。更に、様々な実施形態において、チップレット104、106、108、110の各々は、1つ以上のレベルのキャッシュメモリと、ダイナミックランダムアクセスメモリ(dynamic random-access memory、DRAM)モジュール等の外部システムメモリモジュールと通信するための1つ以上のメモリPHY(図示せず)を含む。
【0012】
テスト分配モジュール(test distribution module、TDM)105は、集積回路(integrated circuit、IC)ピン112のセットを介して外部テストコントローラ115からテストデータを受信するように、概ね且つ集合的に構成された回路のセットである。異なる実施形態では、ICピン112は、テストコントローラ115等の外部デバイスからプロセッサ102によって形成された集積回路の内部モジュールに電気信号を通信することを可能にする任意のタイプの相互接続又は端子である。
【0013】
いくつかの実施形態では、テストコントローラ115は、概ね、テスト入力データ及び対応する予想テスト結果を生成するように構成されたコンピュータデバイスである。例えば、いくつかの実施形態では、テストコントローラ115は、チップレット104、106、108、110の動作をシミュレートして、入力データの特定のストリングに基づいて、チップレットが適切に動作している場合にチップレットによって生成される対応する出力データを決定する。テストコントローラ115は、シミュレーションを使用して、テスト入力データ及び対応する予想テスト結果を生成する。更に、いくつかの実施形態では、テストコントローラ115によって生成されたテスト入力データは、複数のテスト入力データストリングを含み、各テスト入力データストリングは、異なる予想テスト結果に対応し、各入力データストリングは、チップレット104、106、108、110のうち1つ以上の異なる部分又は動作をテストするように構成される。
【0014】
いくつかの実施形態において、TDM105は、ICピン112を介して、テストコントローラ115からテスト入力データを受信するように構成される。それに応じて、TDMは、テスト入力データのコピーをチップレット104、106、108、110(チップレット104~110)の各々に分配する。テストデータに応じて、チップレット104~110の各々は、予想テスト結果と比較するために、対応するテスト出力結果を生成する。したがって、少なくともいくつかの実施形態では、ICピン112において提供されるデータは、チップレット104~110のうち複数のチップレットに分配される。言い換えれば、ICピン112のうち何れかにおいて提供されるテスト入力データは、コピーされ、チップレット104~110のうち複数のチップレットに提供される。テストコントローラ115は、ICピン112の比較的小さなセットを使用して、特に、チップレット104~110の各々に対して専用テストピンの異なるセットを必要とすることなく、テストデータをチップレット104~110の各々に供給することができる。
【0015】
例えば、いくつかの実施形態では、TDM105は、テスト入力データのコピーをチップレット104~110の各々の対応する入力端子に適用する。1つ以上のクロック信号(図示せず)が、テストコントローラ115、TDM105又はこれらの組み合わせの何れかによってチップレット105~110に適用され、その結果、チップレット104~110がテスト入力データに基づいて1つ以上の動作を実行する。これにより、チップレット104~110は、指定された数のクロック信号の後に、出力端子の対応するセットにおいてテスト出力データを生成する。いくつかの実施形態において、TDM105は、チップレット104~110からテスト出力データを受信し、ICピン112を介してテスト出力データをテストコントローラ115に提供する。それに応じて、テストコントローラ115は、チップレット104~110の各々についてのテスト出力データを予想テスト結果と比較し、その比較に基づいて任意のエラーを識別する。
【0016】
他の実施形態では、テストコントローラ115は、予想テスト結果をテスト入力データと共にTDM105に提供する。チップレット104~110からテスト出力結果を受信したことに応じて、TDM105は、テスト出力結果を予想テスト結果と比較する。比較に基づいて、TDM105は、任意の一致又は不一致を示す信号をテストコントローラ115に(例えば、ICピン112を介して)提供する。例えば、チップレット106によって生成されたテスト出力データと予想テスト結果との間の不一致を識別し、チップレット104、108、110によって生成されたテスト出力データと予想テスト結果との間の一致を識別したことに応じて、TDM105は、チップレット106におけるエラーを示し、チップレット104、108、110における満足な結果を示す信号をテストコントローラ115に提供する。
【0017】
いくつかの実施形態では、テストコントローラ115は、1つ以上のテストマスクをTDM105に提供し、1つ以上のマスクのうち何れがテスト出力データに適用されるべきかを示す制御情報を提供する。制御情報に基づいて、TDM105は、提供されたマスクのうち何れかを選択し、そのマスクを受信されたテスト出力データに適用し、それによってマスクされたテスト出力データを生成する。いくつかの実施形態では、次いで、TDM105は、マスクされたテスト入力データを、ICピン112を介してテストコントローラ115に提供する。他の実施形態では、TDM105は、マスクされたテストデータを使用して、予想テスト結果と比較し、比較に基づいて、ICピン112を介してテストコントローラ115に任意のエラーを示す。
【0018】
いくつかの実施形態において、テストコントローラ115は、テスト入力データの適用のためにチップレット104~110の(例えば、全てよりも少ない)サブセットを選択するために、制御情報をTDM105に提供する。制御情報に基づいて、テストコントローラ115は、チップレット104~110の示されたサブセットを選択し、選択されたサブセット内のチップレットのみにテスト入力データを提供する。これは、例えば、テストコントローラ115が、同じチップレットタイプを有するチップレットのみ(例えば、GPUチップレットのみ又はCPUチップレットのみ)等のように、チップレット104~110のうちの特定のチップレットのみをテストすることを可能にする。また、これは、TDM115及びテストコントローラ115が、あるタイプのチップレット(例えば、CPUチップレット)と、更に第2のタイプのチップレット(例えば、GPU)を含むプロセッサをテストすることを可能にする。いくつかの実施形態では、チップレット104~110は、シリコンインターポーザ、シリコンブリッジ若しくはシリコン基板等、又は、これらの任意の組み合わせ等のインターポーザを介してTDM115と通信する。
【0019】
図2は、いくつかの実施形態による、テストデータをチップレット104~110に分配するTDM105の例を示す。図示した例では、テストコントローラ115は、入力ピン112を介してテスト入力データ220をTDM105に提供する。それに応じて、TDM105は、テスト入力データ220をチップレット104、106、108、110の各々に提供する。少なくともいくつかの実施形態において、TDM105は、テストデータ220をチップレット104~106の各々に同時に提供する。これにより、チップレット104~106は、対応するテスト出力データを同時に生成し、その結果、プロセッサ102のテスト時間が短縮される。
【0020】
図3は、いくつかの実施形態による、テスト出力データをTDM105に提供する提供チップレット104~110の一例を示す。図示した例では、チップレット104~110の各々は、テスト入力データ220(
図2)に基づいて生成されたテスト出力データを有する。具体的には、チップレット104はテスト出力データ324を生成し、チップレット106はテスト出力データ321を生成し、チップレット108はテスト出力データ323を生成し、チップレット110はテスト出力データ322を生成する。
【0021】
図示した例では、TDM105は、予想テスト結果326のセットを記憶する。少なくともいくつかの実施形態では、予想テスト結果は、ICピン112を介してテストコントローラ115によってTDM105に提供される。チップレット104~110がテスト出力データを生成したことに応じて、TDM105は、各テスト出力データを予想テスト結果326と比較する。すなわち、TDM105は、テスト出力データ321、322、323、324の各々を予想テスト結果326と比較する。比較に基づいて、TDM105は、チップレットテスト結果325を生成する。少なくともいくつかの実施形態において、チップレットテスト結果325は、テスト出力データ321、322、323、324のうち何れが予想テスト結果326に一致するかを示す。したがって、例えば、いくつかの実施形態では、チップレットテスト結果325は4ビットフィールドを含み、各ビットはチップレット104~110のうち異なる1つに対応し、各ビットの状態は、対応するテスト出力データが予想テスト結果326に一致するかどうかを示す。TDM105は、ICピン112を介してチップレットテスト結果325をテストコントローラ115に提供し、それに応じて、テストコントローラ115は、チップレットテスト結果325を用いて、チップレット104~110における任意のエラーを識別する。
【0022】
図4は、いくつかの実施形態による、TDM105のブロック図を示す。図示された例では、TDM105は、チップレット選択モジュール432、マスク制御モジュール436、テストデータレジスタ437のセット、及び、チップレット相互接続438のセットを含む。テストデータレジスタ437は、チップレット104~110への分配のためのテスト入力データを記憶し、結果として得られるテスト出力データを記憶するように構成されたレジスタのセットである。したがって、いくつかの実施形態では、テストデータレジスタ437は、テスト入力データ220(
図2)を記憶し、対応するテスト出力データ321、322、323、324(
図3)を記憶する。いくつかの実施形態では、テストデータレジスタ437は、テストコントローラ115によって提供される任意の制御情報を記憶し、更に、テスト出力データへの適用のためにテストコントローラ115によって提供される任意のマスクを記憶する。
【0023】
チップレット相互接続438は、TDM105とチップレット104~110との間の相互接続のセットである。したがって、相互接続438は、TDMが、格納されたテスト入力データをチップレット104~110のうち1つ以上に提供し、結果として得られるテスト出力データをチップレット104~110から受信することを可能にする。いくつかの実施形態では、チップレット相互接続438は、TDM105とチップレット104~110との間の専用電気接続のセットである。他の実施形態では、相互接続438は、TDM105とチップレット104~110との間のスイッチングファブリック又は他の制御可能な相互接続であり、TDM105は、チップレット相互接続438を制御して、チップレット104~110への個々の接続を確立又は切断する。
【0024】
チップレット選択モジュール432は、チップレット104~110のうち何れがテスト入力データを受信するかを制御するモジュールである。例えば、いくつかの実施形態では、テストコントローラ115は、テスト入力データと共に、テスト入力データを受信するチップレット104~110の選択されたサブセットを示す制御情報を提供する。テスト入力データに基づいて、チップ選択モジュール432は、チップレット104~110の選択されたサブセットのみにテスト入力データが提供されるように、チップレット相互接続438を制御する。
【0025】
マスク制御モジュール434は、テストデータレジスタ437におけるテスト出力データにマスクを適用するモジュールである。例えば、いくつかの実施形態において、テストコントローラ115は、1つ以上のマスクにテスト入力データを提供する。マスク制御モジュール434は、提供されたマスクを識別し、提供されたマスクをテストデータレジスタ437においてテスト出力データに適用する。これにより、TDM105は、テストコントローラ115に、予想テスト結果との比較に使用される特定のテスト出力データに対するより細かい制御を提供する。例えば、テスト出力データにマスクを適用することによって、TDM115は、チップレット104~110の特定の部分をテストすることができる。いくつかの実施形態では、マスクは、チップレット104~110のうち特定のものからの全てのテスト出力データをマスクするために使用され、それにより、チップレット104~110のうち選択されたサブセットのみがテストされる。
【0026】
結果比較モジュール436は、チップレット104~110によって生成されたテスト出力データを予想テスト結果326と比較するモジュールである。例えば、いくつかの実施形態では、結果比較モジュール426は、比較器のセットを含み、各比較器は、チップレット104~110のうち何れかに対するテスト出力データのビットを、予想テスト結果326の対応するビットと比較するように構成される。したがって、結果比較モジュールは、生成されたテスト出力データの各ビットについて、予想テスト結果326の対応するビットとの比較を生成する。いくつかの実施形態では、結果比較モジュール436は、比較の結果を論理的に組み合わせて(例えば、テスト出力データの所定のセットについて比較の結果を使用してOR演算を実行することによって)、チップレット104~110の各々について単一の比較値を生成する。結果比較モジュール436は、論理的な組み合わせの結果を照合して、テストコントローラ115に提供するためのチップレットテスト結果325を生成する。
【0027】
上述したように、場合によっては、TDM105は、テスト入力データをチップレット104~110の選択されたサブセットのみに提供する。いくつかの実施形態による一例が
図5に示されている。図示した例では、TDM105は、ICピン112を介してテスト入力データ540を受信する。加えて、テストコントローラ115は、チップレット104~110のうち何れがテストデータ540を受信すべきかを示す制御データ(図示せず)をTDM105に提供すると仮定する。したがって、
図5の例では、制御情報に基づいて、TDMは、テストデータ540をチップレット106及び108のみに提供し、テストデータ540をチップレット104及び110には提供しない。したがって、TDM105は、異なるチップレット104~110の選択的なテストをサポートする。例えば、いくつかの実施形態では、チップレット104及び110は、CPUチップレット等の特定のタイプのチップレットであり、チップレット106及び108は、GPUチップレット等の異なるタイプのチップレットである。したがって、チップレット104及び110は、チップレット106及び108とは異なる回路を有し、異なるテスト入力データによってテストされる。テストコントローラ115が独立してテストされるチップレット104~110のサブセットを選択することを可能にすることによって、TDM105は、多数の専用テストピンを必要とすることなく、異なるチップレットの柔軟なテストをサポートする。
【0028】
図6は、いくつかの実施形態による、マルチチップ集積回路においてテストデータを分配する方法600のフロー図を示す。説明のために、方法600は、
図2のプロセッサ102における例示的な実装に関して説明されるが、他の実施形態では、方法600は、異なるマルチチップ集積回路において実施されることが理解されよう。
【0029】
ブロック602において、TDM105は、ICピン112を介してテスト入力データ220を受信する。それに応じて、ブロック604において、TDM105は、テストされるチップレット104~110のうち何れかを選択する。いくつかの実施形態では、TDM105は、ICピン112を介して提供される制御情報に基づいてチップレットを選択する。ブロック606において、TDM105は、テスト入力データ220を選択されたチップレットの各々に同時に分配する。
【0030】
テスト入力データ220の受信に応じて、選択されたチップレットの各々は、対応するテスト出力データを生成する。ブロック608において、TDM105は、選択されたチップレットの各々からテスト出力データを受信する。ブロック610において、TDM105は、受信したテスト出力データを予想テスト結果326と比較する。比較に基づいて、ブロック612において、TDM105は、チップレットテスト結果325を生成し、ICピン112を介してテストコントローラ115にチップレットテスト結果を提供する。
【0031】
本明細書に開示されるように、いくつかの実施形態では、集積回路は、マルチチップモジュール内の複数の半導体ダイと、テスト入力データを受信するように構成されたピンのセットと、受信されたテスト入力データを複数の半導体ダイの少なくともサブセットに分配するように構成されたテスト分配モジュールと、を含む。一態様では、テスト分配モジュールは、複数の半導体ダイの各々からテスト出力データを受信するように構成される。他の態様では、テスト分配モジュールは、受信したテスト出力データに基づいてチップテスト結果を提供する。更に他の態様では、テスト分配モジュールは、テスト出力データと予想テスト結果のセットとの比較に基づいてチップテスト結果を決定する。更に他の態様では、テスト分配モジュールは、ピンのセットを介して予想テスト結果を受信するように構成される。
【0032】
一態様では、テスト分配モジュールは、複数の半導体ダイのうち1つ以上によって生成されたテスト出力データにマスクを適用するように構成される。他の態様では、テスト分配モジュールは、ピンのセットを介してマスクを受信するように構成される。更に他の態様では、テスト分配モジュールは、受信された制御情報に基づいて、テスト入力データを受信する複数の半導体ダイを選択するように構成される。更に他の態様では、テスト分配モジュールは、ピンのセットを介して制御情報を受信する。他の態様では、複数のダイは、処理ユニットチップレットのセットを備える。
【0033】
いくつかの実施形態では、集積回路は、マルチチップモジュール内の複数の半導体ダイと、テスト入力データを受信するように構成されたピンのセットと、複数の半導体ダイのサブセットを選択し、受信されたテスト入力データを複数の半導体ダイの選択されたサブセットに分配するように構成されたテスト分配モジュールと、を含む。一態様では、テスト分配モジュールは、複数の半導体ダイの選択されたサブセットの各々からテスト出力結果を受信するように構成される。他の態様では、テスト分配モジュールは、ピンのセットを介して受信されたテスト出力結果に基づいてチップテスト結果を提供する。更に他の態様では、テスト分配モジュールは、複数の半導体ダイのうち1つ以上によって生成されたテスト出力データにマスクを適用するように構成される。更に他の態様では、複数の半導体ダイは、インターポーザを介してテスト分配モジュールと通信する。
【0034】
一態様では、インターポーザは、シリコンインターポーザ、シリコンブリッジ又はシリコン基板のうち1つ以上を備える。他の態様では、複数の半導体ダイは、第1のタイプの少なくとも1つのダイと、第2のタイプの少なくとも1つのダイと、を含む。更に他の態様では、複数の半導体ダイは、第3のタイプの少なくとも1つのダイを備える。
【0035】
いくつかの実施形態では、方法は、マルチチップモジュールを備える集積回路のピンのセットにおいて、テスト入力データを受信することと、集積回路の複数のダイの少なくともサブセットにテスト入力データを分配することと、を含む。一態様では、方法は、テスト入力データに基づいて複数のダイの各々においてテスト出力データを生成することと、テスト出力データと予想テスト結果との比較に基づいてテスト結果を生成することと、を含む。
【0036】
いくつかの実施形態では、上述した技術の特定の態様は、ソフトウェアを実行する処理システムの1つ以上のプロセッサによって実装される。ソフトウェアは、非一時的なコンピュータ可読記憶媒体に記憶されるか、別の方法で明確に具体化された実行可能命令の1つ以上のセットを含む。ソフトウェアは、命令及び特定のデータを含んでもよく、当該命令及び特定のデータは、1つ以上のプロセッサによって実行されると、上述した技術の1つ以上の態様を実行するように1つ以上のプロセッサを操作する。非一時的なコンピュータ可読記憶媒体は、例えば、磁気又は光ディスク記憶デバイス、フラッシュメモリ等のソリッドステート記憶デバイス、キャッシュ、ランダムアクセスメモリ(RAM)、又は、他の不揮発性メモリデバイス(単数又は複数)等を含み得る。非一時的なコンピュータ可読記憶媒体に記憶された実行可能命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は、1つ以上のプロセッサによって解釈され若しくは別の方法で実行可能な他の命令形式で実装可能である。
【0037】
上述したものに加えて、概要説明において説明した全てのアクティビティ又は要素が必要とされているわけではなく、特定のアクティビティ又はデバイスの一部が必要とされない場合があり、1つ以上のさらなるアクティビティが実行される場合があり、1つ以上のさらなる要素が含まれる場合があることに留意されたい。さらに、アクティビティが列挙された順序は、必ずしもそれらが実行される順序ではない。また、概念は、特定の実施形態を参照して説明された。しかしながら、当業者であれば、特許請求の範囲に記載されているような本発明の範囲から逸脱することなく、様々な変更及び変形を行うことができるのを理解するであろう。したがって、明細書及び図面は、限定的な意味ではなく例示的な意味で考慮されるべきであり、これらの変更形態の全ては、本発明の範囲内に含まれることが意図される。
【0038】
利益、他の利点及び問題に対する解決手段を、特定の実施形態に関して上述した。しかし、利益、利点、問題に対する解決手段、及び、何かしらの利益、利点若しくは解決手段が発生又は顕在化する可能性のある特徴は、何れか若しくは全ての請求項に重要な、必須の、又は、不可欠な特徴と解釈されない。さらに、開示された発明は、本明細書の教示の利益を有する当業者には明らかな方法であって、異なっているが同様の方法で修正され実施され得ることから、上述した特定の実施形態は例示にすぎない。添付の特許請求の範囲に記載されている以外に本明細書に示されている構成又は設計の詳細については限定がない。したがって、上述した特定の実施形態は、変更又は修正されてもよく、かかる変更形態の全ては、開示された発明の範囲内にあると考えられることが明らかである。したがって、ここで要求される保護は、添付の特許請求の範囲に記載されている。
【手続補正書】
【提出日】2024-08-16
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
マルチチップモジュール内の複数の半導体ダイと、
テスト入力データを受信するように構成されたピンのセットと、
受信したテスト入力データを前記複数の半導体ダイの少なくともサブセットに分配するように構成されたテスト分配モジュールと、を備える、
集積回路。
【請求項2】
前記テスト分配モジュールは、前記複数の半導体ダイの各々からテスト出力データを受信するように構成されている、
請求項1の集積回路。
【請求項3】
前記テスト分配モジュールは、受信したテスト出力データに基づいてチップテスト結果を提供する、
請求項2の集積回路。
【請求項4】
前記テスト分配モジュールは、前記テスト出力データと予想テスト結果のセットとの比較に基づいて前記チップテスト結果を決定する、
請求項2の集積回路。
【請求項5】
前記テスト分配モジュールは、前記ピンのセットを介して前記予想テスト結果を受信するように構成されている、
請求項4の集積回路。
【請求項6】
前記テスト分配モジュールは、前記複数の半導体ダイのうち1つ以上によって生成されたテスト出力データにマスクを適用するように構成されている、
請求項1の集積回路。
【請求項7】
前記テスト分配モジュールは、前記ピンのセットを介して前記マスクを受信するように構成されている、
請求項6の集積回路。
【請求項8】
前記テスト分配モジュールは、受信した制御情報に基づいて、前記テスト入力データを受信する複数の半導体ダイを選択するように構成されている、
請求項1~7の何れかの集積回路。
【請求項9】
前記テスト分配モジュールは、前記ピンのセットを介して前記制御情報を受信する、
請求項8の集積回路。
【請求項10】
前記複数のダイは、処理ユニットチップレットのセットを備える、
請求項1の集積回路。
【請求項11】
マルチチップモジュールを備える集積回路のピンのセットにおいて、テスト入力データを受信することと、
前記テスト入力データを、前記集積回路の複数のダイの少なくともサブセットに分配することと、を含む、
方法。
【請求項12】
前記テスト入力データに基づいて、前記複数のダイの各々においてテスト出力データを生成することと、
前記テスト出力データと予想テスト結果との比較に基づいてテスト結果を生成することと、を含む、
請求項
11の方法。
【国際調査報告】