(57)【要約】      （修正有）【課題】半導体ダイのスタックに配置された機能ユニット相互間の相互接続及び通信を容易にするために多層半導体スタック内のユニバーサルで且つ標準化された層間相互接続体を利用する回路配列及び方法を提供する。【解決手段】回路層が配置されている半導体ダイ１２がスタック内で互いに配置されたときに、各半導体ダイ内に配置されている個々の回路層に関して垂直方向に配向された導電体の層間バス１６を与えるように互いの位置が一致するようにするために、ほぼ同じ位置に配置された層間インターフェース領域を含む。層間インターフェース領域を標準化して配置すること、及び層間バスの導電体を標準化して配置することで、、回路層の設計及び機能ユニットを層間バスに相互接続することを簡略化できる。【選択図】図１
2010263203.tif 000002
【特許請求の範囲】
【請求項１】
スタック内で物理的に且つ電気的に互いに結合されそれぞれが、対向する表面を有する複数の半導体ダイであって、前記半導体ダイのそれぞれの少なくとも１つの表面は該表面に集積され且つ少なくとも１つの機能ユニットを含む回路層を規定する回路ロジックを含み、前記半導体ダイのそれぞれの前記少なくとも１つの表面は該表面に配置された層間インターフェース領域を含み、そして前記半導体ダイのそれぞれの前記層間インターフェース領域のそれぞれは、前記複数の半導体ダイが前記スタック内に配置されたときに、同じ位置に配置されている、前記複数の半導体ダイと、
前記複数の半導体ダイの前記機能ユニット相互間を電気的に結合する層間バスとを備え、
前記層間バスは、前記複数の半導体ダイのそれぞれの前記層間インターフェース領域内に配置され且つ前記半導体ダイのそれぞれの前記対向する表面相互間で延びる複数の導電体を有し、前記複数の半導体ダイが前記スタック内で物理的に且つ電気的に結合されるときに、前記スタック内の互いに隣接する半導体ダイの前記層間インターフェース領域に配置された前記導電体が互いに結合される、回路配列。
【請求項２】
前記半導体ダイのそれぞれの前記複数の導電体は、複数の機能バス導電体及び複数のパーベイシブ相互接続を含む、請求項１に記載の回路配列。
【請求項３】
前記層間インターフェース領域のそれぞれ内に配置された前記導電体の前記位置は、前記半導体ダイのそれぞれの層間インターフェース領域毎に同じである、請求項１に記載の回路配列。
【請求項４】
少なくとも１つの半導体ダイの前記複数の導電体は、前記半導体ダイを通って延びるバイアを通る複数の導電体を含む、請求項１に記載の回路配列。
【請求項５】
少なくとも１つの半導体ダイの前記回路層は、少なくとも１つのプロセッサ機能ユニットを含む計算層を規定し、少なくとも１つの半導体ダイの前記回路層は、少なくとも１つのアクセラレータ機能ユニットを含むアクセラレータ層を規定する、請求項１に記載の回路配列。
【請求項６】
少なくとも１つの半導体ダイの前記回路層は、Ｉ／Ｏ層を規定し、該Ｉ／Ｏ層は、メモリ・コントローラ機能ユニット及び少なくとも１つの外部インターフェース機能ユニットを含み、前記メモリ・コントローラ機能ユニット及び前記外部インターフェース機能ユニットのそれぞれは前記複数の半導体ダイを少なくとも１つの外部デバイスにインターフェースするために外部インターフェースに結合されている、請求項５に記載の回路配列。
【請求項７】
少なくとも１つの半導体ダイの前記回路層は、前記回路層に配置された各機能ユニットを前記層間バスに電気的に結合するために前記回路層に配置された層内バスを含み、前記層内バスは、層間バスの対応する導電体に結合される複数の導電体を含む、請求項１に記載の回路配列。
【請求項８】
前記層間バスは、前記複数の半導体ダイを通って延び且つ互いに異なる位置に配置された複数のバス・セグメントを含み、少なくとも１つの半導体ダイの前記回路層は、これの回路ロジック内に配置され且つ複数のバス・セグメントを互いに電気的に結合する層内バスを含む、請求項１に記載の回路配列。
【請求項９】
前記半導体ダイのそれぞれは、該半導体ダイの少なくとも１つの表面に配置されたコンタクト・パッドの規則的なアレイを含み、前記半導体ダイの前記層間インターフェース領域内に配置されそして各半導体ダイの前記対向する表面相互間で延びる複数の導電体は、前記半導体ダイの層間インターフェース領域内に配置された前記コンタクト・パッドの規則的なアレイの少なくとも第１サブセットに位置合わせされ且つ電気的に結合されており、そして前記半導体ダイの層間インターフェース領域の外側に配置された前記コンタクト・パッドの規則的なアレイの少なくとも第２のサブセットは、前記半導体ダイの前記回路層のための電力分配回路網を規定する、請求項１に記載の回路配列。
【請求項１０】
前記層間バスに電気的に結合される前記コンタクト・パッドのコンタクト・パッド・ピッチは、前記電力分配回路網へ電気的に結合されるコンタクト・パッドのピッチよりも大きく、前記半導体ダイの前記層間インターフェース領域の外側に配置される前記コンタクト・パッド・アレイの第３サブセットはダミー・コンタクト・パッドである、請求項９に記載の回路配列。
【請求項１１】
前記層間バスに電気的に結合されるコンタクト・パッドのコンタクト・パッド・ピッチは、前記電力分配回路網に電気的に結合されるコンタクト・パッドのピッチの３倍である、請求項１０に記載の回路配列。
【請求項１２】
更に、第１層間バスから離れて設けられた第２層間バスを含み、
前記半導体ダイのスタックは第１の垂直方向に配向されたスーパーノード及び第２の垂直方向に配向されたスーパーノードを規定し、前記スタックの前記複数の半導体ダイの前記回路層は、前記第１の垂直方向に配向されたスーパーノード及び前記第２の垂直方向に配向されたスーパーノードのそれぞれに割り当てられる機能ユニットを含み、前記第１の垂直方向に配向されたスーパーノードに割り当てられた機能ユニットは前記第１の層間バスに結合され、そして前記第２の垂直方向に配向されたスーパーノードに割り当てられた機能ユニットは前記第２の層間バスに結合されている、請求項１に記載の回路配列。
【請求項１３】
表面に回路ロジックが設けられている複数の回路層を含む半導体スタックであって、該半導体スタックは物理的に且つ電気的に互いに結合されている複数の半導体ダイを含み、該半導体ダイのそれぞれは対向する表面を有し、少なくとも１つの半導体ダイは、少なくとも１つの機能ユニットを含み且つ前記複数の回路層のうちの１つの回路層を規定する回路ロジックを含む、前記半導体スタックと、
前記回路ロジックにより規定され且つ前記半導体スタックの複数の回路層に配置される独立的に動作し且つ垂直方向に配向された複数のスーパーノードであって、前記垂直方向に配向されたスーパーノードのそれぞれは、少なくとも複数の回路層のサブセットの間で垂直方向に分布された複数の機能ユニットを含む、前記スーパーノードと、
複数の層間バスであって、該層間バスのそれぞれは、前記垂直方向に配向されたスーパーノードの１つに専用され且つ機能ユニットを互いに電気的に結合し、前記層間バスのそれぞれは、各半導体ダイのそれぞれに配置された対応する層間インターフェース領域内に配置され且つ各半導体ダイの前記対応する表面相互間で延びる複数の導電体を含み、前記スタック内の隣接する半導体ダイの層間インターフェース領域に配置された前記導電体は、前記複数の回路層が前記スタック内で物理的に且つ電気的に結合されるときに互いに電気的に結合され、そして前記垂直方向に配向されたスーパーノード毎に前記層間インターフェース領域は、前記半導体ダイが前記スタック内に配置されたときに、同じ位置に配置される、前記層間バスと、
前記複数の回路層の１つに配置され、そして前記複数の垂直方向に配向されたスーパーノード相互間でデータを通信するように構成された層間バスとを備える、回路配列。
【請求項１４】
前記複数の垂直方向に配向されたスーパーノードは、互いに機能が同じであり、前記垂直方向に配向された１つの機能ユニットが規定される回路層毎に、前記機能ユニットの対応するインスタンスが、前記複数の垂直方向に配向されたスーパーノード毎に前記回路層内に規定される、請求項１３に記載の回路配列。
【請求項１５】
回路配列の複数の機能ユニットのそれぞれを機能特性に基づいて複数の回路層の１つに割り当てるステップと、
ユーザ入力に応答して、前記機能ユニットが割り当てられた各回路層上に機能ユニットをレイアウトするステップであって、各回路層は半導体ダイに集積される回路ロジックを規定し、各半導体ダイが物理的に且つ電気的に互いに結合されたときに、前記複数の回路層上の層間インターフェース領域が同じ位置に配置されるように、各回路層はこれの予定の位置に配置された層間インターフェース領域を含み、前記半導体ダイのスタック内で各半導体ダイが物理的に且つ電気的に互いに結合されるときに、前記複数の回路層を互いに電気的に相互接続する層間バスを規定するように、構成された複数の信号パスを含む前記ステップと、
ユーザ入力に応答して、各機能ユニットを、割り当てられた回路層の層間インターフェース領域の複数の信号パスの少なくとも１つのサブセットに相互接続するステップとを含む、多層回路配列を設計する方法。
【請求項１６】
前記機能ユニットをレイアウトするステップは、複数の回路層を記述する少なくとも１つの設計ファイルを発生するステップを含み、
更に、
前記少なくとも１つの設計ファイルを使用して前記回路配列を製造するステップを含み、
前記製造するステップは、
複数の回路層が規定されている複数の半導体ダイを製造するステップと、
各回路層の前記層間インターフェース領域の位置が一致されそして複数の回路層上に規定されている前記機能ユニットが前記層間バスにより電気的に互いに結合されるように、前記複数の半導体ダイを前記スタック内で電気的に互いに結合するステップとを含む、請求項１５に記載の方法。
【請求項１７】
前記割り当てるステップは、複数のプロセッサ機能ユニットを少なくとも１つの計算回路層に割り当て、そして複数のアクセラレータ機能ユニットを少なくとも１つのアクセラレータ回路層に割り当てる、請求項１５に記載の方法。
【請求項１８】
前記割り当てるステップは、メモリ・コントローラ機能ユニット及び少なくとも１つの外部インターフェース機能ユニットを、前記回路配列を少なくとも１つの外部デバイスへインターフェースする外部インターフェースを含むＩ／Ｏ層に割り当てる、請求項１５に記載の方法。
【請求項１９】
少なくとも１つのプロセッサと、
コンピュータ読み取り可能な記録媒体とを備え、
前記コンピュータ読み取り可能な記録媒体は、
前記少なくとも１つのプロセッサに、回路配列の複数の機能ユニットのそれぞれを機能特性に基づいて複数の回路層の１つに割り当てる手順と、
ユーザ入力に応答して、前記機能ユニットが割り当てられた各回路層上に機能ユニットをレイアウトする手順であって、各回路層は半導体ダイに集積される回路ロジックを規定し、各半導体ダイが物理的に且つ電気的に互いに結合されたときに、前記複数の回路層上の層間インターフェース領域が同じ位置に配置されるように、各回路層はこれの予定の位置に配置された層間インターフェース領域を含み、前記半導体ダイのスタック内で各半導体ダイが物理的に且つ電気的に互いに結合されるときに、前記複数の回路層を互いに電気的に相互接続する層間バスを規定するように、構成された複数の信号パスを含む前記手順と、
ユーザ入力に応答して、各機能ユニットを、割り当てられた回路層の層間インターフェース領域の複数の信号パスの少なくとも１つのサブセットに相互接続する手順とを実行させるためのプログラムを記録している、装置。
【請求項２０】
コンピュータに、回路配列の複数の機能ユニットのそれぞれを機能特性に基づいて複数の回路層の１つに割り当てる手順と、
ユーザ入力に応答して、前記機能ユニットが割り当てられた各回路層上に機能ユニットをレイアウトする手順であって、各回路層は半導体ダイに集積される回路ロジックを規定し、各半導体ダイが物理的に且つ電気的に互いに結合されたときに、前記複数の回路層上の層間インターフェース領域が同じ位置に配置されるように、各回路層はこれの予定の位置に配置された層間インターフェース領域を含み、前記半導体ダイのスタック内で各半導体ダイが物理的に且つ電気的に互いに結合されるときに、前記複数の回路層を互いに電気的に相互接続する層間バスを規定するように、構成された複数の信号パスを含む前記手順と、
ユーザ入力に応答して、各機能ユニットを、割り当てられた回路層の層間インターフェース領域の複数の信号パスの少なくとも１つのサブセットに相互接続する手順とを実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般的に複数の半導体ダイをスタック（積層体）に相互接続すること及びこれの回路ロジックの設計に関する。
【背景技術】
【０００２】
半導体技術が、構成要素の寸法（フィーチャ・サイズ）の点で実際の限界に徐々に近づきつつあるので、設計者は、ますます複雑になる回路を半導体デバイス若しくはチップ上に集積化するための要求を満たす代替的な方法に焦点を合わせつつある。更に、構成要素の寸法が減少するにつれて更に高速で且つ複雑な回路が所定の半導体チップに集積化されるので、設計者は多くの場合、半導体チップ上の種々な機能ユニット相互間のデータの伝達が全体的なパフォーマンス改善の障害であることを認識しつつある。大型半導体チップ（例えば３００乃至５００ｍｍ２のダイ・サイズ）の両端に配置された機能ユニット相互間でデータを伝達するためには、しばしば数クロック・サイクルを要しそしてチップ上の多数のバッファ論理回路を要求する。更に、一般にチップ・設計に集積される回路の寸法及び数が増大するにつれて、製造プロセスの歩留まりが減少し、これによりチップを製造するコストを増大する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
これらの限界を解決するために提案された１つの解決策は、複数の半導体チップ即ちダイを物理的に且つ電気的に互いに結合して積み重ねた構造にすることであった。このようにすることにより、寸法が小さく、複雑度が低くそして廉価な個別のチップが、複雑度が高くそして高価な単一の大型チップの代わりに使用されることができ、そしてときには同等の若しくは更に良好な全体的パフォーマンスが得られた。例えば多くの場合、多層の半導体スタック内の互いに異なる層に配置されている回路ロジック相互間の垂直方向の距離が、最終的には任意の回路層内の水平方向の最大距離よりも短くなり、これにより異なるチップに配置されている回路層相互間で行われるデータの伝達が、同じチップ上の遠く離れている場所相互間で行われるデータ伝達よりも待ち時間が短いことが見出されてきた。例えば幾つかの標準的なスタック技術は、スタックの隣接するダイ上の回路層を、１００μｍ以下の距離だけ離すことができ、そしてこれは、多くのダイの最大の水平方向距離（例えば１００ｍｍ２のダイは１０，０００μｍの長さ及び幅を有する）のオーダであり若しくはこれよりも短い。
【０００４】
しかしながら、設計の観点から見ると、多層半導体スタック内の複数チップ上の集積回路が問題を生じる。回路を効率的の相互接続するように信号通路及び導体をレイアウトすることは、通常相当な設計時間を要し、そして設計を再利用する機会が制限される。
【０００５】
従って、多層半導体スタック（積層体）の設計及び製造を容易にするための改善された技術がこの分野で要求されてきた。
【課題を解決するための手段】
【０００６】
本発明は、半導体ダイのスタックに配置されている機能ユニット相互間の相互接続及び通信を容易にするために多層半導体スタック内のユニバーサルで且つ標準化された層間相互接続を利用する回路配列及び方法を提供することにより従来技術に関連するこれら及び他の問題を解決する。回路層が配置されている複数の半導体ダイがスタックに積層されるときに、各半導体ダイ内に配置されている導電体が互いに位置合わせされて各回路層に対して垂直方向に配置された層間バスを形成するように、多層半導体スタックの各回路層は、ほぼ同じ位置に配置された層間インターフェース領域を有する。このようにすることにより、複数の回路層に配置されている機能ユニットは、層間バスに結合されることができ、異なる回路層の機能ユニット相互間の通信を可能とする。更に、各回路層に層間インターフェース領域を標準化して配置すること、そして層間バスに関連する導電体を標準化して配置することにより、各回路層は、層間バスを実現するに必要な設計フィーチャ（構成要素）が既に設けられている標準化されたテンプレートを使用して設計されることができ、これにより回路層の設計及び層間バスへの機能ユニットの相互接続を簡単にする。
【０００７】
本発明の１つの態様に従うと、例えば、複数の半導体ダイが物理的に且つ電気的に結合されてスタックにされ、ここで、各半導体ダイは互いに対向する表面を有し、そして各半導体ダイの少なくとも１つの表面は、これに集積された回路ロジックを含みそして少なくとも１つの機能ユニットを含む回路層を規定し、そして各半導体ダイの少なくとも１つの表面はこれに配置された層間インターフェース領域を含み、そして各半導体ダイがスタックに配置されたときに各半導体ダイの各層間インターフェース領域はほぼ同じ位置に配置される。層間バスは、複数の半導体ダイの機能ユニットを互いに電気的に結合し、そして層間バスは、各半導体ダイの層間インターフェース領域内に配置されそして各半導体ダイの対向する表面相互間を延び、そしてスタックの互いに隣接する半導体ダイの層間インターフェース領域に配置された各導電体は、複数の回路層が物理的に且つ電気的に結合されてスタックとされるときに、互いに電気的に結合される。
【０００８】
本発明の他の態様に従うと、多層回路配列は、回路配列の複数の機能ユニットのそれぞれをこれらの機能特性に基づいて、複数の回路層の１つに割り当てることにより設計される。ユーザ入力に応答して、各機能ユニットは、これらが割り当てられる回路層にレイアウトされ（並べられ）、そして各回路層は半導体ダイ上に集積される回路ロジックを規定し、そして各半導体ダイがスタック内で物理的に且つ電気的に結合されるときに、複数の回路層の層間インターフェース領域がほぼ同じ位置に配置されるように、各半導体層は、これの予定の位置に配置された層間インターフェース領域を含み、そして各層間インターフェース領域は、各半導体ダイがスタック内で物理的に且つ電気的に結合されるときに、複数の回路層を電気的に相互接続する層間バスを規定するように構成されている複数の信号パスを含む。又、ユーザ入力に応答して、各機能ユニットは、回路層の層間インターフェース領域の複数の信号パスの少なくとも１つのサブセットに相互接続される。
【０００９】
本発明の他の態様に従うと、回路配列は、回路ロジックが形成されている複数の回路層を含む半導体スタックを含み、そして半導体スタックは物理的に且つ電気的に互いに結合されている複数の半導体ダイを含み、そして各半導体ダイは互いに対向する表面を含み、そして各半導体ダイの少なくとも１つは、少なくとも１つの機能ユニットを含み且つ複数の回路層のうちの１つの回路層を規定する回路ロジックを含む。回路配列は、回路ロジックにより規定されそして半導体スタックの複数の回路層に亘って配置された独立的に動作する複数の垂直方向に配向されたスーパーノードを含み、そして半導体ダイの表面に対して垂直方向に配向されたスーパーノードのそれぞれは、複数の回路層のサブセット間を垂直方向に沿って分布されている複数の機能ユニット及び複数の層間バスを含み、そして層間バスのそれぞれは、垂直方向に配向されたスーパーノードの１つに専用とされ、そして機能ユニットを電気的に結合し、そして各半導体ダイに配置された対応する層間インターフェース領域内に配置されそして半導体ダイの対向する表面相互間に延びる複数の導電体を含み、そしてスタック内の互いに隣接する半導体ダイの層間インターフェース領域に配置された各導電体は、複数の回路層がスタック内で物理的に且つ電気的に互いに結合されるときに、互いに電気的に結合され、そして垂直方向に配向されたスーパーノード毎に、これらの層間インターフェース領域がほぼ同じ位置に配置され、そして層間バスは複数の回路層に１つに配置され、そして複数の垂直方向に配向されたスーパーノード相互間でデータを通信するように構成される。
【図面の簡単な説明】
【００１０】
【図１】本発明に従う層間バスを導入した多層半導体スタックを概略的に示す図である。
【図２】図１の多層半導体スタックから取り出した例示的な回路層のブロック図である。
【図３】図１の多層半導体スタックの半導体ダイのための例示的なコンタクト・パッド・アレイを示す図である。
【図４】図１の多層半導体スタックの機能的な断面図である。
【図５】本発明に従う多層半導体スタックを実現するための単一回路層の設計を再設計するためのプロセスを示す図である。
【図６】図５のプロセスにより再設計されることができる例示的な単一回路層の設計を示す図である。
【図７】単一回路層の設計の機能ユニットを複数の回路層にマッピングすることを示す図６の単一回路層設計のブロック図である。
【図８】図６の単一回路層の設計を多層半導体スタックにした場合のこのスタックを機能的に分解して示す斜視図である。
【図９】図８の多層半導体スタックから取り出した計算回路層を示す図である。
【図１０】図８の多層半導体スタックから取り出したアクセラレータ回路層を示す図である。
【図１１】図８の多層回路スタックから取り出したＩ／Ｏ回路層を示す図である。
【図１２】本発明に従う層間バスのために多層バス・セグメントを使用することを示す他の多層半導体スタックを示す図である。
【図１３】寸法が異なる半導体ダイを使用することを示す他の多層半導体スタックを示す図である。
【図１４】異なる半導体製造設計ルールを導入した半導体ダイを使用する他の半導体スタックを示す図である。
【図１５】本発明に従って多層半導体スタックを設計するのに適したコンピュータ・システムを示す図である。
【発明を実施するための形態】
【００１１】
本発明に従う実施例は、多層半導体スタックの異なる回路層に配置された機能ユニット相互間での通信を容易にするためにユニバーサルで且つ標準化された層間バスを利用する。これに関して、個々の回路層は、半導体基板上に配置された論理回路の２次元レイアウトを含むものと考えられる。単一の回路層は、製造プロセルの結果としての複数の物理的層（例えば金属層、誘電体層等）を含むが、これらの複数の層は、二次元のフットプリントに亘って実質的にレイアウトされている（並べられている）論理回路を規定する。従って、多層半導体スタックは、個々の回路層の平面の次元（２次元）にこれに垂直方向の次元を加え、そして個々の回路層内に規定される機能ユニット相互間を垂直方向に沿って通信するために層間バスを利用する３次元の回路設計を規定するように、互いに重ねられた関係にされ且つ互いに相互接続された複数の回路層を含む。
【００１２】
例えば図１は、それぞれが１つ以上の機能ユニット１４を有する複数の半導体ダイ即ちチップ１２を含む多層半導体スタック１０を示す。本発明に従うと、複数のチップ１２上の機能ユニット１４は、垂直方向若しくは複数チップを横切る方向に延びる層間バス（インターレイヤ・バス）１６を介して互いに通信し、そしてこのスタック構造内で互いに物理的に且つ電気的に結合されている。
【００１３】
図２に示されているように、ユニバーサルで且つ標準化された層間バスを実現するために、半導体ダイ１２のそれぞれは、ダイの予定の位置に配置された層間インターフェース領域１８を含み、そしてダイは、これらのダイ１２がスタックされたときに層間インターフェース領域１８従ってこの領域内の導電体の位置が互いに一致するように予め決められた位置に配置されている複数の導電体を含む（本発明によると、ｘ及びｙが回路の平面を表し、そしてｚが平面に垂直な方向を指すｘ−ｙ−座標系を想定すると、それぞれ構成要素（フィーチャ）が設けられている複数のダイがスタックに組み立てられたときにこれらの構成要素が同じｘ、ｙ座標位置にあるならば、これらの２つの構成要素の位置は互いに一致する。多くの場合、このような位置の一致があるために、個々のダイ内の導電体を層間バスを形成するように相互接続することは、ダイを物理的に且つ電気的に相互接続してスタックにすることから自動的に生じることである。
【００１４】
層間インターフェース領域は、例えば、要求されるバス・セグメントの数、バスを実現するために必要な相互接続の数、機能ユニットの数及び配置並びに各ダイの寸法等の要因に依存して多数の形を取りうることに注目されたい。例えばもしもスタックが、種々な寸法のダイを含むならば、これらのダイにおける層間インターフェース領域の寸法は種々な寸法となるが、それでもなおバスを形成するために位置的に互いに合致された複数の導電体を有することになる。又、インターフェース領域は、単一の連続領域でもよく、又は分断された複数の非連続領域でもよい。更に図８を参照して後述するように、スタックの回路層は、例えば層間バスの複数のバス・セグメントを相互接続するための層間バス相互接続を含むことができ、その結果１つの回路層の層間インターフェース領域は、他の層の層間インターフェース領域のスパーセット若しくはサブセットとなる。
【００１５】
説明中の実施例では、回路設計の機能ユニット１４のような或る回路層のための機能回路は、層間インターフェース領域内に配置されず、この代わりに、ダイの機能領域２０に配置される。本発明に従う機能ユニットは、その特定な機能を行うために個別ユニットに区分けされている機能的に関連づけられた論理回路を指す。図示する実施例では、機能ユニットは、例えばプロセッサ・コア、メモリ・コントローラ、若しくはアクセラレータ・ユニットのような高度に複雑な回路であるが、他の実施例では、機能ユニットの複雑度及び機能性はやや低くなること、そして本発明に従う層間バスは、回路設計中に集積され得る任意に型の論理回路相互間でデータを伝達できるように使用され得ることに注目されたい。
【００１６】
図３を参照すると、必須ではないが、多層半導体スタックの全ての回路層に亘って反復される規則的パターンで層間バスの導電体を配置することが望ましい。例えば図示する実施例では、導電体を矩形アレイのような規則的な２次元アレイに配置すること、そしてこのようなアレイを、各半導体ダイの電力（パワー）分配回路網として働く電力分配導電体のアレイと共に集積することが望ましい。
【００１７】
例えば図３は、半導体ダイ１２の表面上に配置されたコンタクト・パッドの矩形状アレイを示す。層間インターフェース領域１８内に配置されているパッド２４は、層間バスの導電体に結合されており、一方パッド２６は、正電圧（ＶＤＤ）若しくはグランドに結合されている電力分配パッドである。パッド２２は、ダミー・パッドであり、他の能動回路から絶縁されている。しかしながら、ダミー・パッドは隣接する半導体を固定する機械的接続として働く。
【００１８】
この実施例において、層間バス・パッド２４のピッチは、電力分配パッド２６の３倍であり、これにより層間インターフェース領域１８の３×３の格子のパッド内に９個の層間バス・パッド２４があるが、機能領域２０の３×３の格子のパッド内には１つの電力分配パッド２６及び８個のダミー・パッド２８がある。
【００１９】
例えば、１つの実施例においては、層間バス・パッドのピッチは５０μｍである一方電力分配バスのピッチは、標準的なマイクロＣ４ボンディング技術に対応する１５０μｍである。例えば、２１０ｍｍ２（１８．６ｍｍ×１１．３ｍｍ）に亘ってコンタクト・パッドが分布されている半導体ダイ上に、８４０７２（２２６×３７２）個のコンタクト・パッドのアレイが設けられ得る。図３に示したように構成されそして約１８．６ｍｍ×０．５５ｍｍ（又は１１行のコンタクト・パッドに等価な幅）を有する層間インターフェース領域は、ダイの使用可能なスペースの５％より小さい領域を占有し、そして４０９２個の分離された信号通路を与える。
【００２０】
他の実施例では電力分配パッドが層間インターフェース領域内に配置され得ることそして他の実施例では、幾つかの正電圧及びグランドの導電性パッドが、層間バス・アーキテクチャの一部とされ、この理由のために層間インターフェース領域内に存在することに注目されたい。更に、正電圧及びグランド・パッドの分布は、実施例によって異なり、例えば、グラウンド・パッドよりも正電圧パッドの数が多い若しくは少なくてもよく、又は電力分配パッドが不規則なパターンで機能領域を通って分布されることに注目されたい。
【００２１】
１つの具体例である図４（正しい寸法とは異なる寸法で示されている）に示されているように、多層半導体スタック１０の半導体ダイ１２は、スタック構造内で互いに物理的に且つ電気的に互いに結合されている。各ダイ１２は、基板４０（例えばシリコン基板）を含み、そして各ダイは、互いに対応する表面４２及び４４を有し、これらの少なくとも一方は、これに集積された回路ロジック４６を含み、多層スタックの回路層を規定する。集積回路ロジックを基板４０の表面に製造する種々な技法はこの分野の当業者において周知であるので、これの詳細については説明しない。
【００２２】
半導体ダイ１２を物理的に且つ電気的に結合しそして層間バスのための導電体を接続するために、種々な技術が使用され得る。例えば、１つの実施例においては、各半導体ダイは、標準的な厚さ（例えば、約７００μｍの厚さ）のシリコン・ウエハ上に製造される。回路ロジックを有する表面と反対側の表面が、例えば約５０乃至７０μｍの厚さまで除去されて研磨される。例えばコンタクト・パッドの標準アレイのピッチと同じピッチ（この例では５０μｍ）の開口の規則的はアレイが、例えばイオン・エッチングにより表面４２及び４４相互間を完全に貫通するように各ダイに形成され、そして開口の側壁に導電性材料が付着される。次いで、開口は、貫通シリコン・バイア（ＴＳＶ）４８を形成するためにシリコンで充填される。位置が互いに合致しているコンタクト・パッド２２のアレイが、各ダイ１２の対向する表面４２及び４４に形成され、対向する表面４２及び４４上の互いに位置が合っているコンタクト・パッド２２は、これらパッド相互間に延びるバイア４８により互いに電気的に接続される。
【００２３】
ＴＳＶは、各ダイ１２を完全に貫通して延び、または、ＴＳＶの全て若しくは一部分は、各ダイの厚さを貫通しない。例えば幾つかの実施例においては、Ｖｄｄ／ＧＮＤに関連するＴＳＶは、ダイの厚さを完全に貫通して延びることが望ましく、データ搬送信号に関連するＴＳＶは、データ信号がコンタクト・パッド２２を介して信号回路層の底部に到達してこの回路層の回路に到達できるようにすることができ、そしてこの回路の出力は、対応する表面のコンタクト・パッド２２に接続するこのダイの基板を貫通して延びる他のＴＳＶに接続される。
【００２４】
図示の実施例では、このダイのいずれのダミー・コンタクト・パッドに位置合わせするようにバイアを形成しないことが望ましい。かくして例えば、各ダイの層間インターフェース領域１８内に層間バス導電体のピッチで（例えばこの例では５０μｍ）バイアのレギュラー・アレイを形成することが望ましいが、機能領域２０内に電力分配導電体のピッチで（この例では１５０μｍ）バイアのレギュラー・アレイを形成する。こうすることにより、バイアにより占められてしまう能動回路層の機能領域の面積が機能回路用に使用される。
【００２５】
半導体ダイ１２の両面にコンタクト・パッドが形成されると、ダイ１２は、ウエハから分離されそして例えば圧縮ハンダ付け、若しくはマイクロＣ４（コントロールド・コラプス・チップ・コネクション）のような種々なチップ・ボンディング技術を使用して、互いに物理的に且つ電気的に結合されてスタック構造にされ、隣接する半導体チップ１２の隣接する表面４２及び４４上のコンタクト・パッド１２を互いに接続して形成された物理的／電気的相互接続５０のアレイが形成される。この後例えばスタック１０をキャリア即ちパッケージにマウントするステップ、熱グリースを付着するステップ、ヒート・シンクを取り付けるステップ、スタックを封止するステップ等の追加の製造ステップが行われてアセンブリが完成する。
【００２６】
各半導体ダイ１２が両面にコンタクト・パッドを含み、単一の回路層が両表面の一方だけに付着され、全てのダイは各ダイの能動層が下方を向くように配向されているとして示されているが、これに代わる配列が他の実施例で可能である。例えば、異なるダイ相互接続技術が使用されて同じスタック内で異なるダイをもたらすようにされることができ、そしてスタック最上部若しくは底部に配置されているダイがこのスタック内の他のダイと異なるように構成され得る。例として、スタック内の最端部（最上部）のダイは、バイアを含まず、そしてダイの単一表面上の能動回路に直接結合されるパッドだけを含むことができる。しかしながら多くに実施例においては、最上部のダイが、能動回路と反対側の面にバイア及びコンタクト・パッドを含むことが望ましい。その理由は、導電性バイア及びコンタクト・パッドの位置がスタックの厚さ全体に亘って同じであるならば、バイアの導電性材料が放熱パイプとほぼ同じ働きをするからである。
【００２７】
他の例として、能動回路は半導体ダイの両面に集積化されることができ、又は両面に回路を有する半導体ダイは、２つの半導体基板をこれらの上面同士若しくは裏面同士をウエハ・ボンディングすることにより形成され得る。更に他の例では、スタック中の交互のダイが、特定なダイの能動回路が隣接するダイの能動回路に近づくように若しくは遠くなるように、反転されることができる。
【００２８】
現在周知の若しくはこれから開発される代替的な製造及びパッケージ技術が、本発明に従う多層半導体スタックを製造するために使用され得る。従って、本発明は、本明細書で説明する特定な方法に限定されない。
【００２９】
図５は、本発明に従う多層半導体スタックのための回路配置を設計するのに使用され得る例示的は設計プロセス８０を示す。このプロセスにおいて、通常２次元の平面に描かれている回路設計図（２次元設計又は単一回路設計という）は、多層半導体スタックの実現に適する３次元設計に再設計される。しかしながら、他の設計技術が使用されることができ、そして３次元の設計若しくは多層半導体スタックの設計は、現存する２次元設計に基づかなくてもよいことに注目されたい。従って、本発明は、特定は設計方法に限定されない。
【００３０】
プロセス８０は、ブロック８２において現存する２次元設計及び概略的なフロアプランで開始する。各機能ユニットが、共通の計算タスクを行うために機能的に関連づけられている回路ロジックを含む場合には、設計内の回路ロジックは複数の機能ユニットのそれぞれに組み込まれる。特定な高レベルのタスクを有しないが設計が行う動作のために必要とされる追加の支持回路は、プロセス８０の目的のために機能ユニット内に組み込まれ、そして関連づけられてはいないが再設計プロセスを容易にするために機能ユニットとして同じ領域内に配置されることができる回路ロジックを同じグループとすることが望ましい。例えば下記に説明する例では、特定なプロセッシング・コア若しくはアクセラレータ・ユニットに対して専用的な回路の多くを、例えば外部デバイス及びインターフェース、ネットワーク処理、テスト、デバッグ、クロックまたは電力分配あるいはその両方、メモリ・コントロール等のような補助的タスクを取り扱う１つ以上の入出力機能ユニットにグループ分けすることが望ましい。
【００３１】
次に、ブロック８４において、２次元設計の単一回路層内の機能ユニットがＮ個の回路層に再区分される。種々な代替的な方法を使用することができるが、機能的に関連する複数の機能ユニットを同じ回路層肉にグループとして組み入れることが望ましい。更に、ある所定の機能ユニットの複数のインスタンスが設計内に存在する場合には、これら全てのインスタンスを同じ回路層に配置するのが望ましい。例えば、複数のプロセッシング・コアを協働させる設計では、これらのプロセッシング・コアを同じ層に配置することが望ましい。
【００３２】
次に、ブロック８６において、層間（層−層）相互接続即ちバスが、物理的及び論理的観点から規定される。具体的にいうと、各回路層上の層間インターフェース領域の寸法及び位置並びにこの領域内のバスのためのバイア及び導電体の特定な位置が決定される。同様に、ブロック８８において、或る層からこれに隣接する層への（層−層）電力分配回路網（Ｖｄｄ／ＧＮＤ）が決定され、これにより正電圧バイア及びグランド・バイアの位置を選定する。
【００３３】
次に、ブロック９０において、バイアのための領域を入れないようにそして各回路層の論理回路が電気的に結合されるコンタクト・ポイントを与えるように、層間バスの導電体位置及び電力分配回路網の位置を使用して、物理的な層−層テンプレートが生成される。更に、このテンプレートに、機能ユニット回路と層間バスとの相互接続を容易にするために標準化されたバス・インターフェース・ロジックを設けることができる。
【００３４】
次にブロック９２乃至９６に示されているように、生成されたテンプレートが、割り当てられた機能ユニットを各回路層設計のこれらの層に配置し、そしてこれらの機能ユニットをバックグランド・テンプレートにより規定される電力分配回路網及び層間バスに結合することにより、多層設計の各回路層に対するバックグランド（背景）として使用され得る。ブロック９８において示されているように、各層が設計されると、Ｎ個の層がテスト及びシミュレーションのために積み重ねられ（スタックされ）、次いでこの設計は、製造に適したものになる。
【００３５】
代表的に、回路設計に機能ユニットを配置すること及び機能ユニットを層間バスの信号パスに相互接続することは、回路デザイナからのユーザ入力に応答するソフトウエア・ベースの回路設計・ツールにより行われる。この設計プロセスは、１つ以上の設計ファイルを発生し、そしてこれから設計がテストされ、シミュレーションされ、デバッグされそして最終的に本発明の多層半導体スタックを製造するための製造プロセスの間に使用される。
【００３６】
図６乃至図１１は、図５に示したプロセスの例を示し、具体的には、図６は、マルチ・コア回路網デバイスのための例示的な２次元設計１００を示す。設計１００は、システム・バス１０２を含み、そしてこのバス１０２に複数の機能ユニットが互いに接続されそしてこの設計の他のサポート（支持）回路及びインターフェース・ロジック（インターフェース論理回路）に接続される。システム・バス１０２は、インターナショナル・ビジネス・マシーンズ・コーポレーショんから商業的に入手可能なパワー・プロセッサ・アーキテクチャに関連して使用されるＰｏｗｅｒＢｕｓ若しくはＰＢｕｓバス・アーキテクチャを使用して実現され得る。
【００３７】
設計１００は、複数（例えば１６個）のノード（Ｎｏｄｅ）１０４を含み、そして各ノード（図示のＮｏｄｅ）１０４は、共用Ｌ２キャッシュ１０８に結合されている複数（例えば４個）のプロセッシング・コア(図示のＣｏｒｅ)１０６を含む。例えば、各プロセッシング・コア１０６は、パワー・コンパチブル・コアとして実現され得る。
【００３８】
更に、設計１００は、複数（例えば４個）のメモリ・コントローラ論理回路（図示のＭＣ）１１２を含み、このブロック１１２のそれぞれは、オフ・チップ・メモリを結合するための協働する物理的なメモリ・インターフェース・ブロック（図示のＭｅｍ  Ｐｈｙ）１１４を有する。更に、設計１００は、例えばパターン・マッチング（図示のＰａｔｔｅｒｎ  Ｍａｔｃｈ）１１６，ＸＭＬプロセッシング（図示のＸＭＬ）１１８，暗号回路（図示のＣｒｙｐｔｏ）１２０及び圧縮／復元回路（図示のＣｏｍｐ／Ｄｅｃｏｍｐ）１２０のようなこの設計で要求される種々な機能を高速化する特殊論理回路を与える１組のアクセラレータ・ブロックを含む。アクセラレータ・ブロック１１６乃至１２２は４つのグループにグループ分けされ、そして各グループは、関連するバス・インターフェース論理回路（図示のＰＢＩＣ）１２４を介してシステム・バス１０２とインターフェースする。
【００３９】
３個のチップ／チップ・インターフェース・ブロック（図示のＣｈｉｐ／Ｃｈｉｐ  ＩＦ）１２６は、チップ相互間の通信を行い、そしてこれに関連するＰＢＩＣブロック１２８によりシステム・バス１０２に結合され、一方他のＰＢＩＣブロック１３０は、多数の追加の回路網及びインターフェース論理ブロックをシステム・バス１０２に結合する。具体的にいうと、ＰＣＩエクスプレス（図示のＰＣＩＥｘｐ）ブロック１３２はオン・チップＰＣＩバス１３４に結合し、一方パケット・プロセッサ・ユニット（図示のＰａｃｋｅｔ  Ｐｒｏｃｅｓｓｏｒ  Ｕｎｉｔ）１３６及びホスト・イーサネット・コントローラ（図示のＨｏｓｔ  Ｉｔｈｅｒｎｅｔ  Ｃｏｎｔｒｏｌｌｅｒ）ブロック１３８は、オン・チップ・バス１４０に結合されている。パケット・スイッチ・インターフェース（図示のＰａｃｋｅｔ  Ｓｗｉｔｃｈ  Ｉｎｔｅｒｆａｃｅ）ブロック１４２及び４０ギガバイトイーサネット・メディア・アクセス・コントロール（図示の４０ＧＥＭＡＣ）１４４は、バス１３４及び１４０の間に結合され、そしてマルチプル・フィジカル・インターフェース（図示のＰｈｙ）１４６は、外部（オフ・チップ）デバイスと通信するためにバス１３４に結合される。１０ギガバイト・イーサネット・メディア・アクセス・コントロール（図示の１０ＧＥＭＡＣ）１４８は又バス１３４に結合されそして物理インターフェース（図示のＰｈｙ）ブロック１５０によりオフ・チップにインターフェースされる。ロー・ピン・カウント（図示のＬＰＣ）ブロック１５２は、ＰＢＩＣ１３０を介してシステム・バス１０２にインターフェースされ、そしてＬＰＣＩ／Ｏブロック１５４に結合されている。プログラマブル・インタラプト・コントローラ（図示のＰＩＣ）１５６及びパーベイシブ（ｐｅｒｖａｓｉｖｅ）論理回路１５８のような追加の回路ロジック（これ以外の支持回路は図６に示されていない）が、回路設計１００に含まれる。パーベイシブ論理回路１５８は、例えば、ＪＴＡＧ，パフォーマンス・モニタ、クロック・コントローラ、ＰＯＲ及びエラー・コントロール論理回路を含む。
【００４０】
多層半導体スタックにおいて使用するためにこの回路設計を再設計するために、この設計１００の機能ユニットは、図５のブロック８４で説明したように、複数の回路層に再区分又は割り当てされる。例えば、図７は、図６の回路設計１００の機能ユニットを４つの回路層に区分けすることを示す。この例において、Ｉ／Ｏ層１と名付けられている第１層は、メモリ・コントローラ、回路網及びインターフェース論理回路、パーベイシブ論理回路、並びにオフ・チップ通信を行うに必要な他の論理回路のために使用される。１６個のプロセッシング・ノード１０４（合計６４個のプロセッシング・コアを含む）は、計算（コンピュート）層２及び３と名付けられている２つの計算層に割り当てられ、そしてアクセラレータ・ブロック１１６乃至１２２は、アクセラレータ層４と名付けられている別個のアクセラレータ層に割り当てられ、この結果合計で４つの別々の回路層を生じる。
【００４１】
次に、図５のブロック８６に関して説明したように、層相互間（層−層）即ち層間相互接続が規定される。例えば、図８は、Ｉ／Ｏ層１，計算層２，計算層３及びアクセラレータ層４にそれぞれ対応する４つの層１６２，１６４，１６６及び１６８を含む例示的な多層回路設計１６０を示す。
【００４２】
この構成において、層間バス１７０は、４個のセグメントに分けられて規定される。この実施例において、パワー・バス・アーキテクチャ・コンパチブル・バスが使用され、これは別々のコマンド及びデータ・バス（１７２及び１７４）並びにパーベイシブ相互接続１７６を含む。例えば１つの実施例において、パワーバス・データバスは、８×３２Ｂ幅のデータ・バスを与える２５６０の信号パス、並びにコマンド・バス（４６個のアドレス・ビット、１７個のＴｔａｇビット、６個のタイプ・ビット、７個のＴｓｉｚｅビット、１０個のスヌープ・ビット、４０個の組み合わせられた応答ビットを含む）を与える２１０の信号パスを含む。追加の４０乃至８０の信号パスが、例えばＬＢＩＳＴチャネル、ＡＢＩＳＴインターフェース、トレース及びパーフォーマンス・モニタ信号パス、パワーオン・リセット信号パス、エラー・ステータス信号パス、インターラプト信号パス、クロック・コントロール・パス、ローカル・クロック・バッファ（ＬＣＢ）信号パスのようなパーベイシブ信号パスを与えるのに使用され得る。しかしながら、層間バスへの信号パス及び相互接続の割り当ては、他の実施例においては異なることができ、従って、本発明は、上述の特定な割り当てに限定されるものではない。
【００４３】
この実施例において、機能ユニットを多層設計の複数の層に区分けすることは、設計の同じ層に分布されてはいるが互いに独立的に動作する複数の垂直方向に配向された“スーパーノード”即ちスライスを実現するために使用される。具体的にいうと、４つのスーパーノードが規定され、それぞれのスーパーノードが、４つの計算ノード（このうち２つは各計算層１６４及び１６６にある）及びこれに専用のアクセラレータ層１６８内のアクセラレータのセットを含む。層間バス１７０の各バス・セグメントは、各スーパーノードの専用とされ、その結果４つの別々の層間インターフェース領域１７８が層１６４，１６６及び１６８のそれぞれに規定される。しかしながら、スーパーノードは、層１６２上のＩ／Ｏリソースを共用し、そしてバス・セグメントを相互接続する層内（イントラ・レイヤ）バスを介して互いに通信し、そして結果として、層１６２の層間インターフェース領域１８０は、共用され、そして更に、各バス・セグメントを互いに論理的に結合する論理回路を含む。層１６２乃至１６８の各層間インターフェース領域１７８及び１８０の外側の領域は、機能領域１８２であり、この中に機能ユニット１８４が配置され得る。
【００４４】
図５に関連して説明したように、層−層相互接続が規定されると、テンプレートが生成されそして個々の回路層の設計のためのバックグランドとして使用される。図８乃至図１１の構成において、２つの別々のテンプレートが使用され、第１番目のものは計算及びアクセラレータ層１６４乃至１６８のためのものであり（これらの層は４つの別々のバス・セグメントを含むためである）、そして第２番目のものはＩ／Ｏ層１６２のためのものである（４つのバス・セグメントが実質的にこの層で接続されるためである）。例えば図９は、計算層１６４に適する１つのレイアウトを示し、又これは計算層１６６にも適する。図９及び図１０乃至図１１において、２ＸＸの参照番号を有するブロック又は機能ユニットは、図６の２次元回路設計の１ＸＸの参照番号を有するブロック又は機能ユニットに対応すること、そして多くの場合、２次元設計からのブロック又は機能ユニットは、３次元の多層半導体スタック設計において単純に再使用されることに注目されたい。
【００４５】
このレイアウトにおいて、各スーパーノードは、それぞれ４つのプロセッシング・コア（図示のＣｏｒｅ）２０６，及び共用されるＬ２キャッシュ２０８を含む２つの計算ノード（Ｎｏｄｅ）２０４を含み、そしてスーパーノードに関連するバス・セグメントに対する層間バス論理回路（図示のＩｎｔｅｒ  Ｌａｙｅｒ  Ｂｕｓ）２００に結合される。２つの計算層が図９に示すように構成されることにより、各スーパーノードには、全部で４つの計算ノード（図示のＮｏｄｅ）２０４が割り当てられることに注目されたい。
【００４６】
図１０は、層間バス・セグメント２００への相互接続を含むアクセラレータ層１６８の１つの適切な構成を示し、そして各スーパーノードに、パターン・マッチング・ブロック２１６，ＸＭＬプロセッシング・ブロック２１８，暗号ブロック２２０及び圧縮／復元ブロック２２２を含む各アクセラレータ・ブロックが割り当てられている。又、各スーパーノードは、各アクセラレータ・ブロックを層間バスにインターフェースするために、関連するバス・インターフェース論理回路（図示のＰＢＩＣ）ブロック２２４を含む。
【００４７】
図１１は、Ｉ／Ｏ層１６２の１つの適切な配置を示し、この層は、４つの層間バス・セグメントを相互接続するために１つ以上の層内バス（ｉｎｔｒａ−ｌａｙｅｒ  ｂｕｓ）を含む層間バス２００の一部を含み、そしてこれにより各スーパーノードが互いに通信することに加えてＩ／Ｏ層１６２の機能ユニットをアクセスすることができる。
【００４８】
上述のように、本発明に従う層間バスは、多くの方式で構成されることができる。代表的には、層間バスは、バスに亘るデータの伝達に関連する機能信号パスと、例えば電力分配信号パス、クロック分配信号パス、テスト／デバッグ信号パス、インターラプト信号パス、リセット信号パス等を含む追加の支持又はパーベイシブ信号パスの両方を含む。機能信号パスは、別々のコマンド、アドレス及びデータ信号パスをインプリメントするもの又はコマンド・アドレスまたはデータあるいはその両方が同じ信号パスを介して伝達されるものを含む多くのバス・インプリメンテーションを具現化することができる。例えばポイント・ツウ・ポイント型、スイッチ型、マルチドロップ型等の種々なバス又は回路網アーキテクチャが使用されることができ、そしてバスに結合される全ての機能ユニットが同じ帯域幅を共有しないように層間バスを多数のセグメントに区分するために制御論理回路がこのアーキテクチャで利用され得る。本明細書では用語“バス”が使用されているが、層間バスは、回路設計内の多数の論理ユニットを互いに通信させる任意の回路網アーキテクチャを含み、そして、層間バス・アーキテクチャは、所望の回路網アーキテクチャを実現するのに必要とされる種々なバッファ、コントローラ、スイッチ、ルータ等を含み得ることに注目されたい。更に幾つかの実施例においては、回路層は、ソース、ターミネーションまたは内部層あるいはその両方として指定されることができ、異なるバス・コントロール論理回路が、与えられたバス・アーキテクチャに対して適切なバス・ソース及びターミネーション論理回路を与えるためにこのような層のそれぞれ内に設けられる。例えば、各バス・セグメントを介するデータの伝達を管理するためにＩ／Ｏ層１６２上で１つ以上のマスター・バス・コントローラを利用することが望ましい。
【００４９】
パーベイシブ信号パスを層間バス・アーキテクチャに一体化することは、回路設計のパーベイシブ論理回路を多層半導体スタックに亘って分布させる点で追加の利点をもたらす。その理由は、半導体ダイをスタック状に整列させてこれらを互いにボンディングするという単純なプロセスが、層間バスを形成するばかりでなく、クロック及びテスト／デバッグ論理回路を含むパーベイシブ論理回路を多層回路層に亘って分布させるからである。更に、追加の利点が、次の理由で製造の間に実現される。即ち、各半導体ダイの層間インターフェース領域内のパーベイシブ信号パスの位置が標準化されることにより、層にコンタクト・パッドが形成された時点で個々の半導体ダイが個別にテストされることができ、そして更に、半導体ダイがスタックにボンディングされた時点で、外側の半導体ダイの１つの上の同じコンタクト・パッドが、全体のボンドされたスタックの更なる全体的なテストを行うのに使用されることができるからである。
【００５０】
更に、層間バスは、例えばスタック内で互いに位置的にオフセットしている（ずれている）多層バス・セグメントを相互接続するために、層内（イントラ・レイヤ）バスである部分を含み得る。例えば図１２は、例示的な多層半導体スタック３００を示し、ここで、層間バス３０２は、層間バス・セグメント３０２Ａに結合されている機能ユニット３０６Ａが、他の層間バス・セグメント３０２Ｂに結合されている機能ユニット３０６Ｂと通信できるようにするために、２つの層間バス・セグメント３０２Ａ及び３０２Ｂと、層内バス・セグメント３０４を含む。この構成において、回路網論理回路が、各層間セグメント３０２Ａ及び３０２Ｂのバンド幅をローカライズするために各セグメント３０２Ａ、３０２Ｂ及び３０４相互間において利用されることができ、そして、層内セグメント３０４が、アドレスされた層間バス・セグメント３０２Ａ及び３０２Ｂからの通信を、他の層間バス・セグメント３０２Ａ及び３０２Ｂ上の機能ユニットへリレーすることのみのために使用される。しかしながら他の実施例において、層間バスは、全ての機能ユニットが同じバンド幅を共用するグローバル形式でもよく、又は互いに完全に絶縁されている複数の層間バスが、所定の多層半導体スタックにおいて使用され得る。
【００５１】
標準化され又はユニバーサルな層間バス・アーキテクチャの他の利点は、所定のスタック内の個別の回路層及び半導体ダイが、異なる寸法又は組成あるいはその両方のものでもよいことである。例えば、図１３に示すように、本発明に従う多層半導体スタック３１０は、スタック内の他の半導体ダイ３１４及び３１６の寸法と異なる寸法を有する例えば第３１２のような１つ以上の半導体ダイを含むことができる。複数のダイが互いにボンドされてスタックにされたときに層間バスのコンタクト・パッドが位置的に一致されている限り、個々のダイの物理的寸法は、互いに異なるものでもよい。
【００５２】
図１４に示されている他の実施例においては、本発明に従う多層半藤対すテック３２０は、スタック内の他の半導体ダイ３２４及び３２６と異なる半導体製造設計ルールを使用して設計されそして製造されたダイ３２２のようなダイを１つ以上含むことができる。具体的にいうと、ダイ３２２は、４５ｎｍプロセスを使用して製造され、一方ダイ３２４及び３２６は３２ｎｍプロセスを使用して製造されるとして示されている。これらのダイがボンディングされてスタックにされたときに層間バスのコンタクト・パッドが位置的に合致している限り（垂直方向で見て同じ位置にある限り）、各個別のダイの論理回路のフーィチャの寸法は、互いに異なるものでよい。更にこの構成においては、或る旧型の層が、新たな更に進歩された層と共に再使用されることができる。例えば、図８の回路設計において、更に小さなフィーチャ・サイズを使用して製造された新型の高パフォーマンス・バージョンの計算層が、旧型の計算層の代わりに使用され、そして旧型のアクセラレータ層及びＩ／Ｏ層がこの新型の多層半導体スタック内で再使用される。
【００５３】
更に、共通の機能を有する機能ユニットが特定な回路層に割り当てられて、設計の再使用の観点でかなりの融通性をもたらす方法を説明する。例えば、図８乃至図１２に関して説明した別個のＩ／Ｏ層１６２，計算層１６４及び１６６並びにアクセラレータ層１６８を含む基本的な多層設計１６０は、他の異なる半導体スタックの異なる機能ユニットを有する半導体ダイと単純に混合及びマッチングすることにより製品のファミリィを実現するのに使用される。共通Ｉ／Ｏ層１６２は、例えば次のような全ての修正例の出発点として使用され得る。
● 低電力  −  Ｉ／Ｏ層、  １計算層
● 停電力＋アクセラレータ  −  Ｉ／Ｏ層、１つの計算層、１つのアクセラレータ層
● 中程度の電力  −  Ｉ／Ｏ層、２つの計算層
● 中程度の電力＋アクセラレータ  −  Ｉ／Ｏ層、２つの計算層、１つのアクセラレータ層 
● 高電力  −  Ｉ／Ｏ層、３つの計算層
● 高電力＋アクセラレータ  −  Ｉ／Ｏ層、３つの計算層、１つのアクセラレータ層
【００５４】
又、異なるアクセラレータ層を組み入れることにより、同じ汎用計算プラットフォームから種々な型の特殊化されたデバイスが組み立てられ得る。例えば適切なアクセラレータ・ハードウエアを含むアクセラレータ層は、例えば、回路網、グラフィックス、プロセッシング、暗号等の特定な用途のためのデバイスを最適化するために使用され得る。同様に、異なる電力消費特性を有する異なる代替層が、同じプラットフォームを高パフォーマンス／大電力用途及び低パフォーマンス／低電力用途の両方のために使用させるために異なる変形において使用され得る。更に、本明細書で説明した技術は、異なる種々な変形のための異なるレベルまたは寸法あるいはその両方のキャッシュ・メモリをもたらすために使用されることができ、その結果例えば追加のキャッシュを必要とする用途が、幾つかの回路層に亘ってインプリメントされる大型キャッシュ又は多数レベルのキャッシュを利用することができる。
【００５５】
独立した回路層を使用することは、例えばＦＰＧＡを或る層上に含ませるために異なる型の回路層に異なる型の回路を利用できる能力を与える。更に、独立した回路層は、例えばオフチップ・ドライバ、変動電圧、受動若しくはアナログ・コンポーネント、電圧調整回路をもたらすために、一様でない特性を必要とする特殊回路を単一層に対して絶縁させることができる。幾つかの実施例において、特殊化された層は、テスト／デバッグの目的又はプロトタイピングのために単独で使用され、そしてこれらの層は、一旦特定な設計が生産段階に入ったら異なる動作層と交換される。
【００５６】
上述のように、図８乃至図１１に示した構成の他の利点は、個々のインスタンスが、Ｉ／Ｏ層内で互いにインターフェースされるが独立的に働くユニットである垂直方向に配向されたスーパーノードを形成するように、各回路層を垂直方向でスライスすること及び各回路層上の同じ論理回路の複数のインスタンスを利用することである。図８乃至図１１の構成は、それぞれ１６のプロセッシング・コア、専用のＬ２キャッシュ及び専用のアクセラレータ・セットを含む４つの独立的なプロセッサの実質的な集合である。
【００５７】
複数の実施例では、例えば、回路にインターフェースする外部回路の観点から、互いにほぼ同様に動作する複数の回路を規定するために（例えば複数のプロセッサ・チップを同じ集積回路に集積化することと同様に）、互いに機能的に同じである多数の独立的に動作する垂直方向に配向されたスーパーノードを規定することが望ましい。更に幾つかの実施例においては、設計、製造及びテストを容易にするために、機能ユニットの同じインスタンスを使用して複数のスーパーノードを実現することが望ましく、その結果機能ユニットが垂直方向に配向されたスーパーノードの１つに対して規定されている回路層毎に、このような機能ユニットの対応するインスタンスが複数の垂直方向に配向されているスーパーノード毎にこのような回路内で規定される。かくして、例えば、各計算層１６４及び１６６は、計算ノード２０４の８つのインスタンスを有するとして示され、このようなインスタンスのうち２つは、垂直方向に配向された各スーパーノードに割り当てられ、一方、アクセラレータ層１６８は、アクセラレータ・ブロックの複数のインスタンスを有するとして示されており、そしてアクセラレータ・ブロックは、別個のインスタンスが各スーパーノードに割り当てられているパターン・マッチング・ブロック２１６，ＸＭＬプロセッシング・ブロック２１８，暗号ブロック２２０及び圧縮／復元ブロック２２２を含む。幾つかの実施例においては、異なるスーパーノードに割り当てられた機能的に同じインスタンスは、このようなインスタンスを実現するために使用される回路論理の観点から同じであり、一方他の実施例においては、回路設計の物理的レイアウトを最適化するというような事柄は、機能的に同等のインスタンスが同じでない回路ロジックを使用して実現されることを必要とする。
【００５８】
更に、各スーパーノード内で回路が垂直方向に配向されていることに基づいて、スーパーノードは、もしも単一回路層上に形成された場合よりも空間的に小型化され、そしてスーパーノード内の機能ユニット相互間の信号伝播遅延による影響が少ない。例えば計算層１６４及び１６６の各ノード２０４が７ｍｍ×７ｍｍ（７０００μｍ×７０００μｍ）の面積内に形成されるとする。層間バス（７０μｍの層の厚さを有する）を介して通信する２つのノードが、同じ層上でサイド・バイ・サイド関係でレイアウトされそして層内導体と通信するものとすると、信号パスの長さは、少なくともかなりなオーダになり、かくして、これらの信号パスに存在する他の伝播遅延を勘案するとかなり遅い伝播速度が必要になる。同様に、大きなキャッシュ・メモリの場合には、これらのキャッシュ・メモリを別個の層に配向するとこれらのメモリを、サイド・ツウ・サイドに配向する場合よりもプロセッシング論理回路に近くなるように配向する。
【００５９】
本明細書で説明した回路層の設計は、一般的なゲート・ネットリストとして又はこの分野で周知な他の方式により具現化されうる。ネット・リストは、高レベルのプログラム・アプリケーションのためのアセンブリ・コード・リストと同様に、回路の論理機能のブール代数表現（ゲート、標準セル）である。回路層設計は、例えばヴィリログ又はＶＨＤＬのようなハードウエア記述ランゲージで記述される合成型で実現されることができる。ネットリスト及び合成型で実現することに加えて、回路層の設計は又、低レベルの物理的記述で渡されることができる。例えば、ＳＥＲＤＥＳ，ＰＬＬ，ＤＡＣ，ＡＤＣ等のようなアナログ素子は、例えばＧＤＳＩＩのようなトランジスタ・レイアウト・フォーマットで渡されることができる。回路層設計のディジタル素子は、レイアウト・フォーマットで提案される。本発明に従う回路層設計及び他の論理回路は、このような論理回路を実現する回路配列の機能またはレイアウトあるいはその両方を多様な詳細レベルで規定する例えばロジック規定プログラム・コードのようなコンピュータ・データ・ファイルの形で分配されることができる。かくして、本発明を、集積回路デバイス及びこのようなデバイスのスタックされた構造、このようなデバイスを利用するデータ・プロセッシング・システム及び他の物理的ハードウエア回路を完全に機能化するように構成された回路に関連して説明したが、本発明はプログラム製品として実現されうること、本発明は、プログラム製品を記録したコンピュータ読み取り可能な記録媒体として実現されるうることに注目されたい。コンピュータ読み取り可能な記録媒体の例は、揮発性及び非揮発性のメモリ・デバイス、フロッピィ・ディスク、ハード・ディスク・ドライブ、ＣＤ−ＲＯＭ及びＤＶＤのような物理的記録可能な型の記録媒体及びディジタル及びアナログ通信リンクのようなトランスミッション型の媒体である。
【００６０】
上述の設計プロセスは、コンピュータ化された設計及びシミュレーション・ツールを少なくとも部分的に使用して行われることに注目されたい。例えば図１５は、設計プロセスの種々なステップが行われることができる装置４００を示す。図示する実施例の装置４００は、ネットワーク４０２を介して１つ以上のクライアント・コンピュータ４０４に結合されるサーバ又はマルチユーザ・コンピュータとして具現化されている。本発明の目的のために、各コンピュータ４００及び４０４は、任意の型のコンピュータ、コンピュータ・システムまたは他のプログラム可能な電子デバイスを表す。更に各コンピュータ４００及び４０４は、クラスタまたは他の分散型コンピュータ・システムのような１つ以上のネットワークに接続されたコンピュータを使用して実現され得る。代替的な方式において、コンピュータ４００は、例えば単一コンピュータ、又はデスクトップ・コンピュータ、ラップトップ・コンピュータ、形態が手コンピュータ、セル・ホーン、セット・トップ・ボックス等のような他のプログラム可能な電子デバイス内で具現化され得る。
【００６１】
コンピュータ４００は、メモリ４０８に結合された少なくとも１つのマイクロプロセッサを含む中央処理ユニット（ＣＰＵ）４０６を含み、そしてメモリ４０８は、コンピュータ４００のメイン・ストレッジを構成するＲＡＭデバイス並びに例えばキャッシュ・メモリ、非揮発性又はバックアップ・メモリ（例えばプログラム可能若しくはフラッシュ・メモリ）、読み取り専用メモリのような任意の補助的なメモリを表す。更に、メモリ４０８は、例えばＣＰＵ４０６のプロセッサ内の任意のキャッシュ・メモリのようなコンピュータ４００内のどこかに物理的に配置されるメモリ・ストレージ、並びにマスストレージ４１０又はコンピュータ４００に結合されている他のコンピュータに記録される仮想メモリとしての記憶容量を含むと考えられる。コンピュータ４００は又、外部との情報の通信を行うための多数の入力及び出力を受けとる。ユーザ又はオペレータとインターフェースするために、コンピュータ４００は、１つ以上のユーザ入力デバイス（例えば、キーボード、マウス、トラック・ボール、ジョイスティック、タッチパッドまたはマイクロフォン等）に接続するユーザ・インターフェース１４２と、表示装置（例えばＣＲＴモニタ、ＬＣＤ表示パネル及びスピーカ等）とを含む。別の方式として、ユーザ入力は、他のコンピュータ若しくはターミナルを介して受けとられ得る。
【００６２】
追加のストレージとして、コンピュータ４００は、例えばフロッピィまたは他の取り外し型ディスク・ドライブ、ハード・ディスク・ドライブ、直接アクセス記録デバイス（ＤＡＳＤ）、光学ドライブ（例えば、ＣＤドライブ、ＤＶＤドライブ等）及びテープ・ドライブを含む。更に、コンピュータ４００は、他のコンピュータ及び電子デバイスと情報を交換するために、１つ以上のネットワーク（例えば、ＬＡＮ，ＷＡＮ，無線通信網、インターネット等）に接続するためのインターフェース４１４を含む。コンピュータ４００は、この分野で周知の、ＣＰＵ４０６とコンポーネント４０８，４１０，４１２及び４１４との間の適切なアナログ又はディジタルあるいはその両方のインターフェースを含むことに注目されたい。他のハードウエア環境が、本発明の範囲内で含まれ得る。
【００６３】
コンピュータ４００は、以下に説明するように、オペレーティング・システム４１６の制御のもとで動作し、そして種々なコンピュータ・ソフトウエア・アプリケーション、コンポーネント、プログラム、オブジェクト、データ構造等を実行する。例えば本明細書で説明したプロセスは、１つ以上の回路設計４２０を入力として受け取りそして出力として発生する種々な設計及びシミュレーション・ツール４１８の助けのもとで達成される。更に上述したように、層テンプレート４２２は、ユニバーサル又は標準化された層間バスを実現するに適するフィーチャ（構成要素）を組み入れる回路層の設計を容易にするために使用され得る。更に、種々なアプリケーション、コンポーネント、プログラム、オブジェクト、モジュール等は、例えば分散又はクライアント−サーバ計算環境におけるネットワーク４０２を介してコンピュータ４００に結合される他のコンピュータ内の１つ以上のプロセッサ上で実行することができ、これによりコンピュータ・プログラムの機能を行うために必要とされる処理はネットワークを介して接続される複数のコンピュータに割り当てられることができる。
【００６４】
一般的に、本発明の実施例を実現するために実行されるルーチンを、これがオペレーティング・システム、特殊目的アプリケーション、コンポーネント、プログラム、オブジェクト、モジュール若しくは命令のシーケンス、これのサブセットの一部として具現化されるかにかかわらず、本明細書では、“コンピュータ・プログラム・コード”若しくは単純に“プログラム・コード”を呼ぶ。プログラム・コードは、コンピュータの種々なメモリ及びストレージ・デバイス内に種々な時刻に駐在し、そしてコンピュータの１つ以上のプロセッサにより読み出されそして実行される時にコンピュータに、本発明の種々な採用を具現化するステップ若しくはエレメントを実行するのに必要なステップを行わせる１つ以上のインストラクションから成る。更に、本発明の態様は、コンピュータ及びコンピュータ・システムを完全に機能させる観点において説明されたが、本発明の種々な実施例は種々な形のプログラム製品として分散されうること、そして本発明は、分散を行うために実際に使用されるコンピュータ読み取り可能な記録媒体の特定な型に係わらず等しく適用できることは、当業者ならば明らかであろう。
【００６５】
更に、説明した種々なプログラム・コードは、本発明の特定な実施例を実現するためのアプリケーションに基づいて同定され得る。しかしながら、任意の特定なプログラム命名法は便宜上使用されたものであり、かくして本発明は、このような命名法により同定され若しくは意図される任意の特定なアプリケーションにおいて使用するように限定されないことに注目されたい。更に、コンピュータ・プログラムがルーチン、プロセデュア、メソッド、モジュール、オブジェクト等に組織化される無数の方式と、プログラム機能が或る代表的なコンピュータ内に駐在する種々なソフトウエア・レイヤ（例えば、オペレーティング・システム、ライブラリィ、ＡＰＩ，アプリケーション・アプレット等）に亘って割り当てられる種々な方式とを考慮すれば、本発明は上述のプログラム機能性の特定な組織化及び割り当てに限定されないことに注目されたい。
【００６６】
種々な修正及び変更が本発明の精神から逸脱することなくなされうることが明らかである。例えば、上述の実施例は、機能ユニット同士を互いに通信させるために層間バスを利用したが、この層間バスは、内部の機能ユニットの通信をさせるために利用されうる。
【符号の説明】
【００６７】
１０    多層半導体スタック
１２    ダイ即ちチップ
１４    機能ユニット
１８    層間インターフェース領域
２０    機能領域
２２    コンタクト・パッド
２４    層間バス・パッド
２６    電力分配パッド
４０    シリコン基板
４２、４４    表面
４６    回路ロジック
４８    貫通シリコン・バイア
５０    相互接続
１６０  仮想回路設計
１６２  Ｉ／Ｏ層
１６４，１６６  計算層
１６８  アクセラレータ層
１７２  コマンド・バス
１７４  データ・バス
１７６  パーベイシブ相互接続
１７８  層間インターフェース領域
１８０  層間インターフェース
１８２  機能領域
１８４  機能ユニット
【図１】
2010263203.tif 000003
【図２】
2010263203.tif 000004
【図３】
2010263203.tif 000005
【図４】
2010263203.tif 000006
【図５】
2010263203.tif 000007
【図６】
2010263203.tif 000008
【図７】
2010263203.tif 000009
【図８】
2010263203.tif 000010
【図９】
2010263203.tif 000011
【図１０】
2010263203.tif 000012
【図１１】
2010263203.tif 000013
【図１２】
2010263203.tif 000014
【図１３】
2010263203.tif 000015
【図１４】
2010263203.tif 000016
【図１５】
2010263203.tif 000017