(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-29
(54)【発明の名称】バイパスルーティング
(51)【国際特許分類】
G06F 15/173 20060101AFI20240822BHJP
【FI】
G06F15/173 660B
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024509299
(86)(22)【出願日】2022-08-16
(85)【翻訳文提出日】2024-04-10
(86)【国際出願番号】 US2022040495
(87)【国際公開番号】W WO2023023079
(87)【国際公開日】2023-02-23
(32)【優先日】2021-08-19
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2022-07-01
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】510192916
【氏名又は名称】テスラ,インコーポレイテッド
(74)【代理人】
【識別番号】110000659
【氏名又は名称】弁理士法人広江アソシエイツ特許事務所
(72)【発明者】
【氏名】ウィリアムズ,ダグラス アール.
【テーマコード(参考)】
5B045
【Fターム(参考)】
5B045BB24
5B045EE12
5B045GG12
5B045JJ12
(57)【要約】
アレイ内で、不良ダイを迂回してパケットをルーティングするための、システム及び方法が開示される。ある実施形態では、不良ダイを含むダイアレイ内でパケットをルーティングするための方法には、1つ又はそれ以上のルーティング規則に基づいて、複数の第1のチャネルのうち1つの第1のチャネルを介して、第1のダイから第2のダイにパケットをルーティングすること、並びに、複数の第2のチャネルのうち1つの第2のチャネルを介して、第2のダイから第3のダイにパケットをルーティングすることを、含めることができる。1つ又はそれ以上のルーティング規則によって、第2のチャネルを含む、複数の第2のチャネルのサブセットに、第1のチャネルからパケットをルーティングすることが可能となる。第1のダイから第3のダイへ向かうパケットのルーティングに、方向転換が含まれるように、第2のチャネルを第1のチャネルに直交させることができる。この方法によって、不良ダイを迂回してパケットをルーティングすることができる。
【選択図】
図2
【特許請求の範囲】
【請求項1】
不良ダイをバイパスしてルーティングする方法であって、
第1の経路を介して、送信元ダイから中間ダイにパケットをルーティングするステップであって、前記第1の経路では、1つ又はそれ以上のルーティング規則に基づいて、複数の第1のチャネルのうち1つの第1のチャネルから、複数の第2のチャネルのうち1つの第2のチャネルに前記パケットが方向転換され、前記1つ又はそれ以上のルーティング規則によって、前記第1のチャネルが、前記第2のチャネルを含む前記複数の第2のチャネルのサブセットに、前記パケットをルーティングすることが可能となり、かつ、前記第1のチャネルが前記第2のチャネルに直交している、ステップと、
第2の経路を介して、前記中間ダイから送信先ダイに前記パケットをルーティングするステップであって、前記第2の経路では、前記第2のチャネルから、前記第2のチャネルに直交する第3のチャネルに、前記パケットが方向転換される、ステップと、を含み、
ウエハ上のシステムには、前記送信元ダイ、前記中間ダイ、前記送信先ダイ、及び少なくとも1つの不良ダイで構成された、ダイアレイが含まれ、
前記第1の経路及び前記第2の経路が、前記少なくとも1つの不良ダイをバイパスするものである、方法。
【請求項2】
前記少なくとも1つの不良ダイが、2つの不良ダイで構成されており、前記第1の経路及び前記第2の経路が、前記2つの不良ダイをバイパスするものである、請求項1に記載の方法。
【請求項3】
不良ダイをバイパスしてルーティングする方法であって、
複数の第1のチャネルのうち1つの第1のチャネルを介して、第1のダイから第2のダイにパケットをルーティングするステップであって、前記第1のダイ、前記第2のダイ、第3のダイ、及び不良ダイがアレイに含まれている、ステップと、
1つ又はそれ以上のルーティング規則に基づいて、複数の第2のチャネルのうち1つの第2のチャネルを介して、前記第2のダイから前記第3のダイに前記パケットをルーティングするステップであって、前記1つ又はそれ以上のルーティング規則によって、前記第1のチャネルが、前記第2のチャネルを含む前記複数の第2のチャネルのサブセットに、前記パケットをルーティングすることが可能となり、前記第1のダイから前記第3のダイに前記パケットをルーティングするステップに、方向転換が含まれるように、前記第2のチャネルが前記第1のチャネルに直交している、ステップと、を含み、
前記不良ダイを迂回して、前記パケットをルーティングする、方法。
【請求項4】
前記第1のダイから前記第2のダイに前記パケットをルーティングし、前記第2のダイから前記第3のダイに前記パケットを前記ルーティングする前記ステップが、
前記第3のダイのアドレスに少なくとも部分的に基づいて、ルーティングテーブルに照会するステップを含み、
前記ルーティングテーブルが、前記1つ又はそれ以上のルーティング規則に従ったものである、請求項3に記載の方法。
【請求項5】
前記1つ又はそれ以上のルーティング規則によって、前記パケットがループしてルーティングされることが防止される、請求項4に記載の方法。
【請求項6】
前記複数の第1のチャネルの各チャネル、及び、前記複数の第2のチャネルの各チャネルには、優先度が割り当てられ、前記1つ又はそれ以上のルーティング規則によって、前記複数の第1のチャネルのうち、より優先度の低いチャネルから、前記複数の第2のチャネルのうち、より優先度の高いチャネルに方向転換することが禁止される、請求項5に記載の方法。
【請求項7】
前記第1のダイから前記第3のダイへの経路が、前記複数の第1のチャネルのうち最も優先度の低い第1のチャネル、又は、前記複数の第2のチャネルのうち最も優先度の低い第2のチャネルで終了するように構成される、請求項6に記載の方法。
【請求項8】
前記1つ又はそれ以上のルーティング規則によって、前記パケットをエスケープチャネルにルーティングすることが可能となり、該エスケープチャネルが、より優先度の高いチャネルに前記パケットを移動させることができるように構成される、請求項6に記載の方法。
【請求項9】
前記第1のダイから前記第3のダイへの経路には、前記第2のチャネルから第3のチャネルへ向かう第2の方向転換が含まれ、前記第3のチャネルは、前記第2のチャネルよりも優先度が低く、前記第2のチャネルは、前記第1のチャネルよりも優先度が低い、請求項6に記載の方法。
【請求項10】
前記ルーティングテーブルには、デフォルト経路が含まれており、前記第1のダイから前記第2のダイへの経路が設定されていない場合に、前記デフォルト経路が使用される、請求項4に記載の方法。
【請求項11】
前記方法によって、少なくとも2つの不良ダイを迂回して前記パケットがルーティングされる、請求項3に記載の方法。
【請求項12】
前記方法によって、複数回の方向転換を伴って前記パケットがルーティングされることを含む、請求項3に記載の方法。
【請求項13】
ウエハ上のシステムに、前記アレイが含まれる、請求項3に記載の方法。
【請求項14】
前記第3のダイから前記アレイの外部のダイに、前記パケットがルーティングされるステップを更に含む、請求項3に記載の方法。
【請求項15】
不良ダイをバイパスしてルーティングする処理システムであって、
第1のダイ、第2のダイ、第3のダイ、及び不良ダイで構成されるダイアレイを備え、
前記処理システムによって、前記第2のダイを介して、前記第1のダイから前記第3のダイにパケットがルーティングされ、それにより、前記処理システムの回路に実装された1つ又はそれ以上のルーティング規則に基づいて、前記不良ダイをバイパスするように構成され、前記パケットが、少なくとも第1のチャネル及び第2のチャネルを介してルーティングされ、前記1つ又はそれ以上のルーティング規則によって、複数の第1のチャネルのうち1つの前記第1のチャネルが、前記複数の第1のチャネルに直交する、複数の第2のチャネルのサブセットに、前記パケットをルーティングすることが可能となる、処理システム。
【請求項16】
前記処理システムが、前記パケットを何回か方向転換させることによって、前記第1のダイから前記第3のダイに、前記パケットをルーティングするように構成される、請求項15に記載の処理システム。
【請求項17】
前記ダイアレイには、第2の不良ダイが含まれており、前記処理システムが、前記第1のダイから前記第3のダイに前記パケットをルーティングするときに、前記第2の不良ダイをバイパスするように構成される、請求項15に記載の処理システム。
【請求項18】
前記1つ又はそれ以上のルーティング規則によって、前記パケットがループしてルーティングされることが防止される、請求項15に記載の処理システム。
【請求項19】
前記処理システムには、前記1つ又はそれ以上のルーティング規則に関連する情報を格納する、ルーティングテーブルが含まれる、請求項15に記載の処理システム。
【請求項20】
前記複数の第1のチャネルの各チャネル、及び、前記複数の第2のチャネルの各チャネルには、優先度が割り当てられ、前記1つ又はそれ以上のルーティング規則によって、前記複数の第1のチャネルのうち優先度の低いチャネルから、前記複数の第2のチャネルのうち優先度の高いチャネルに方向転換することが禁止される、請求項19に記載の処理システム。
【請求項21】
前記処理システムが、ニューラルネットワークの訓練データを生成するように構成される、請求項15に記載の処理システム。
【発明の詳細な説明】
【技術分野】
【0001】
[関連出願の相互参照]
本出願は、2021年8月19日に出願された、「Bypass Routing(バイパスルーティング)」と題する米国特許仮出願第63/260437号、及び2022年7月1日に出願された「Bypass Routing(バイパスルーティング)」と題する、米国特許仮出願第63/367568号の利益を主張し、それらの開示は、あらゆる目的のために、その全体が参照により本明細書に組み込まれる。
【0002】
本開示は、一般に、電子回路における信号のルーティングに関する。
【背景技術】
【0003】
ある種の処理システムには、ダイのアレイが含まれる。アレイ内のダイには、計算回路を含めることができる。アレイ内のダイは、互いに通信することができる。アレイ内で大部分のダイが完全に機能しているとしても、アレイの1つ又はそれ以上のダイに欠陥がある、又は損傷しているおそれがある。そのような処理システムでは、1つ又はそれ以上の動作不能なダイを迂回して、データをルーティングすることができる。
【発明の概要】
【0004】
特許請求の範囲に記載された技術革新には、それぞれいくつかの態様があり、そのうちの1つだけが、その望ましい特質を単独で担うものではない。特許請求の範囲を限定することなく、本開示のいくつかの主要な特徴を、ここで簡単に説明する。
【0005】
ある態様では、本明細書に記載された技術は、不良ダイをバイパスしてルーティングする方法に関する。この方法には、第1の経路を介して送信元ダイから中間ダイへパケットをルーティングすることが含まれ、第1の経路には、1つ又はそれ以上のルーティング規則に基づいて、パケットを複数の第1のチャネルのうち1つの第1のチャネルから、複数の第2のチャネルのうち1つの第2のチャネルに向かう方向転換が含まれ、1つ又はそれ以上のルーティング規則によって、その第2のチャネルを含む複数の第2のチャネルのサブセットに、第1のチャネルがパケットをルーティングすることが可能となり、かつ、第1のチャネルは、第2のチャネルに直交している。また、この方法には、第2の経路を介してパケットを中間ダイから送信先ダイにルーティングすることが含まれ、第2の経路には、第2のチャネルから第2のチャネルに直交する第3のチャネルに向かう、パケットの方向転換が含まれる。ウエハ上のシステムには、送信元ダイ、中間ダイ、送信先ダイ、及び、少なくとも1つの不良ダイで構成されるダイアレイが含まれ、第1の経路及び第2の経路は、少なくとも1つの不良ダイをバイパスするものである。
【0006】
ある態様では、本明細書に記載された技術は、少なくとも1つの不良ダイに、2つの不良ダイが含まれており、第1の経路及び第2の経路が、2つの不良ダイをバイパスする方法に関する。
【0007】
ある態様では、本明細書に記載された技術は、不良ダイをバイパスしてルーティングする方法に関する。本技術には、複数の第1のチャネルのうち1つの第1のチャネルを介して、第1のダイから第2のダイへパケットをルーティングすることが含まれ、第1のダイ、第2のダイ、第3のダイ、及び不良ダイが、アレイに含まれる。かつ、1つ又はそれ以上のルーティング規則に基づいて、複数の第2のチャネルのうち1つの第2のチャネルを介して、第2のダイから第3のダイにパケットがルーティングされ、かつ、1つ又はそれ以上のルーティング規則によって、その第2のチャネルを含む複数の第2のチャネルのサブセットに、第1のチャネルからパケットをルーティングすることが可能となる。第1のダイから第3のダイに向かうパケットのルーティングに方向転換が含まれるように、第2のチャネルは第1のチャネルと直交している。この方法では、不良ダイを迂回してパケットがルーティングされる。
【0008】
ある態様では、本明細書に記載された技術は、第1のダイから第2のダイへパケットをルーティングし、第2のダイから第3のダイへパケットをルーティングする方法に関するものであり、第3のダイのアドレスに少なくとも部分的に基づいて、ルーティングテーブルに照会する。このルーティングテーブルは、1つ又はそれ以上のルーティング規則に準拠したものである。
【0009】
ある態様では、本明細書に記載された技術は、1つ又はそれ以上のルーティング規則によって、パケットがループしてルーティングされることを防止する方法に関する。
【0010】
ある態様では、本明細書に記載された技術は、複数の第1のチャネルの各チャネル、及び、複数の第2のチャネルの各チャネルに、優先度を割り当てる方法に関するものであり、1つ又はそれ以上のルーティング規則によって、複数の第1のチャネルのうち優先度の低いチャネルから、複数の第2のチャネルのうち優先度の高いチャネルに、方向転換することが禁止される。
【0011】
ある態様では、本明細書に記載された技術は、第1のダイから第3のダイへの経路が、複数の第1のチャネルのうち優先度が最も低い第1のチャネル、あるいは、複数の第2のチャネルのうち優先度が最も低い第2のチャネルで、終了するように構成される方法に関するものである。
【0012】
ある態様では、本明細書に記載された技術は、1つ又はそれ以上のルーティング規則によって、エスケープチャネルにパケットをルーティングすることが可能となり、エスケープチャネルによって、パケットがより優先度の高いチャネルに移動することが可能となるように構成される方法に関するものである。
【0013】
ある態様では、本明細書に記載された技術は、第1のダイから第3のダイへの経路に、第2のチャネルから第3のチャネルへ向かう第2の方向転換が含まれ、第3のチャネルの優先度が、第2のチャネルの優先度よりも低く、かつ、第2のチャネルの優先度が、第1のチャネルの優先度よりも低い方法に関するものである。
【0014】
ある態様では、本明細書に記載された技術は、ルーティングテーブルにデフォルト経路が含まれており、第1のダイから第2のダイへの経路が設定されていない場合に、デフォルト経路が使用される方法に関するものである。
【0015】
ある態様では、本明細書に記載された技術は、少なくとも2つの不良ダイを迂回して、パケットをルーティングする方法に関するものである。
【0016】
ある態様では、本明細書に記載された技術は、何度か方向転換することによって、パケットをルーティングすることを含む方法に関するものである。
【0017】
ある態様では、本明細書に記載された技術は、ウエハ上のシステムに、アレイが含まれる方法に関するものである。
【0018】
ある態様では、本明細書に記載された技術は、第3のダイからアレイ外部のダイへ、パケットをルーティングすることを、更に含む方法に関するものである。
【0019】
ある態様では、本明細書に記載された技術は、不良ダイをバイパスしてルーティングする処理システムに関する。この処理システムには、第1のダイ、第2のダイ、第3のダイ、及び不良ダイで構成される、ダイアレイが含まれる。処理システムは、第2のダイを介して、第1のダイから第3のダイにパケットをルーティングし、それにより、処理システムの回路に実装された1つ又はそれ以上のルーティング規則に基づいて、不良ダイをバイパスするように構成される。パケットは、少なくとも第1のチャネル及び第2のチャネルを介してルーティングされ、かつ、1つ又はそれ以上のルーティング規則によって、複数の第1のチャネルのうち1つの第1のチャネルが、複数の第1のチャネルに直交する、複数の第2のチャネルのサブセットに、パケットをルーティングすることが可能となる。
【0020】
ある態様では、本明細書に記載された技術は、処理システムに関するものであり、この処理システムは、何度かの方向転換を介して、第1のダイから第3のダイへパケットをルーティングするように構成される。
【0021】
ある態様では、本明細書に記載された技術は、処理システムに関するものであり、ダイアレイには第2の不良ダイが含まれ、この処理システムは、第1のダイから第3のダイにパケットをルーティングするときに、第2の不良ダイをバイパスするように構成される。
【0022】
ある態様では、本明細書に記載された技術は、処理システムに関するものであり、1つ又はそれ以上のルーティング規則によって、パケットがループしてルーティングされることが防止される。
【0023】
ある態様では、本明細書に記載された技術は、処理システムに関するものであり、この処理システムには、1つ又はそれ以上のルーティング規則に関連付けられた情報を格納する、ルーティングテーブルが含まれる。
【0024】
ある態様では、本明細書に記載された技術は、処理システムに関するものであり、複数の第1のチャネルの各チャネル、及び、複数の第2のチャネルの各チャネルには優先度が割り当てられ、1つ又はそれ以上のルーティング規則によって、複数の第1のチャネルのうち優先度の低いチャネルから、複数の第2のチャネルのうち優先度の高いチャネルへ方向転換することが禁止される。
【0025】
ある態様では、本明細書に記載された技術は、処理システムに関するものであり、この処理システムは、ニューラルネットワークの訓練データを生成するように構成される。
【図面の簡単な説明】
【0026】
本明細書では、特定の実施形態の図面を参照して、本開示の説明を行う。それらの実施形態は、本開示を限定するのではなく、本開示の例示を意図するものである。添付の図面は、本明細書に組み込まれ、本明細書の一部を構成し、本明細書に開示される構想を例示するためのものであり、縮尺通りではない場合があることを理解されたい。
【0027】
【
図1】分散ルーティングの、一実施例を示す図である。
【0028】
【
図2】ある実施形態による、複数の方向転換を伴うルーティングの、一実施例を示す図である。
【0029】
【
図3A】ある実施形態による、例示的なネットワーク経路を示す図である。
【
図3B】ある実施形態による、例示的なネットワーク経路を示す図である。
【0030】
【
図4】ある実施形態による、複数の不良ダイを有するマルチダイ構成を示す図である。
【0031】
【
図5】ある実施形態による、ルーティング構成の一実施例を示す図である。
【0032】
【
図6A】ある実施形態による、様々な複雑さを見せる、例示的な経路の1つを示す図である。
【
図6B】ある実施形態による、様々な複雑さを見せる、例示的な経路の1つを示す図である。
【
図6C】ある実施形態による、様々な複雑さを見せる、例示的な経路の1つを示す図である。
【
図7A】ある実施形態による、様々な複雑さを見せる、例示的な経路の1つを示す図である。
【
図7B】ある実施形態による、様々な複雑さを見せる、例示的な経路の1つを示す図である。
【
図8】ある実施形態による、様々な複雑さを見せる、例示的な経路の1つを示す図である。
【発明を実施するための形態】
【0033】
ある種の実施形態に関する以下の説明は、個別の実施形態について様々な説明を提示するものである。しかしながら、本明細書に記載された新しいアイデアは、例えば、特許請求の範囲に定義され包含されるような、多くの異なる方法で具体化することができる。この説明では図面を参照するが、同様の参照番号で、同一の要素、又は、機能的に同様の要素を示すことがある。図面に示されている要素は、必ずしも縮尺通りに描かれていないことが理解されよう。更に、ある種の実施形態は、図面に示されているよりも多くの要素、及び/又は、図面に示されている要素のサブセットを含み得ることが理解されよう。更に、一部の実施形態は、2つ以上の図面からの特徴のいずれかを、適切に組合わせて実現することができる。
【0034】
複数のダイを、マルチチップモジュール(MCM:Multi-Chip Module)、又は、より大きな基板上に組み立てる場合、組み立てプロセス中に、一部のダイが損傷するおそれがある。本出願の1つ又はそれ以上の態様は、動作不能なダイを迂回してルーティングすることのできる、メカニズムに関するものである。
【0035】
パケットには、制御情報、及びペイロード情報を含めることができる。制御情報には、例えば、送信元パケット、送信先パケット、パケットタイプ、パケット優先度などを含めることができる。パケットには、例えば、データ、メモリ読出し要求、セマフォ要求、バリア要求など、あるいは、それらのあらゆる適切な組み合わせを含めることができる。パケットが、メッシュネットワーク又は環状ネットワーク上でルーティングされる場合、パケットのセット内にある複数のパケットのそれぞれが、セット内の他のパケットが使用しているリソースを要求するときに発生することのある、デッドロックを回避することが望ましい。例えば、デバイスに、キューA、B、及びC、並びに、それらを満たすパケットa0、a1、...、b0、b1、...、c0、c1、...、がある場合に、キューA内のa0がキューBに移動しようとし、キューB内のb0がキューCに移動しようとし、キューC内のc0がキューAに移動しようとするが、各キューが満杯であって、新しいパケットを受け入れるためにパケットが出るまで待機しているとすれば、デッドロックが発生し得る。このデッドロックを克服する1つの方法は、例えば、いくつかのパケットの移動を禁止する規則を追加することによって、あらゆる環状のループを回避することである。上記の実施例では、キューCからキューAにかけての経路を取り除くことで、デッドロックを解除することができる。
【0036】
例示的な方式は、まずパケットを水平方向に移動させ、次いで垂直方向に移動させるものである。垂直チャネルから水平チャネルへの方向転換を禁止することによって、送信元チャネル内のパケットが、送信先チャネルがドレインするのを待機する間にスタックし、送信先チャネルが、送信元チャネルからそのパケットがドレインされるのを待機するという可能性を、システムは回避することができる。この方式では、送信元から送信先へ1度だけパケットを方向転換させることができ、このことは、ネットワークが完結している場合に機能するものである。しかしながら、欠落したダイ、又は動作不能なダイがある場合には、パケットがその送信先に到達するために複数の方向転換を要することになる、ネットワーク内のホールが存在するおそれがある。この方式では、これらのパケットを方向転換することができない。
【0037】
複数のダイにまたがるグリッドでは、単一の水平チャネル及び単一の垂直チャネルのみでなく、多くのチャネルが存在し得る。これらのチャネルのセットをより小さいセットに分割し、1つのセットから別のセットに方向転換させることによって、システムは、パケットに循環経路、すなわちループ経路を禁止する特性を維持しつつ、送信元から送信先へ、パケットを何度か方向転換させることができる。
【0038】
例えば、すべての水平チャネルH及びすべての垂直チャネルVについて、パケットが任意のHチャネルから任意のVチャネルに移動することができ、送信元から送信先に進むとき、1回方向転換するものと仮定する。システムによって、水平チャネルが2つのグループH-A及びH-Bに分割され、同様に、垂直チャネルが2つのグループV-A及びV-Bに分割される場合、システムによって、H-AからV-A、V-AからH-B、及びH-BからV-Bに向かう、パケットの方向転換が実現される。このように、送信元から送信先に到達するために、パケットを3回方向転換させることができ、これは、単一の不良ダイを迂回するのに十分なものであり得る。ここで、パケットの送信元がH-A行に存在しない、又は論理的にH-A行に隣接していない(例えば、近くに配置されていない)場合、又は送信先がV-B列の近くに配置されていない場合には、ある複雑さが存在する。したがって、H及びVのネットワークセグメントのラベリングを変更することに加えて、システムには、各送信元から各H-A行に、かつ、各V列から送信先に、パケットを移動させるための専用チャネルを追加することもできる。
【0039】
本出願の態様によれば、従来の実施態様/手法を超える、1つ又はそれ以上の利点を実現することができる。そのような手法が、本出願によるすべての実施態様に、必ずしも必要なわけでははない。本開示の態様に従って、更なる利点又は効率性を実現することもできる。そのような改善には、これらに限定されないが、以下のものが含まれる。
1)ネットワークの行/列を、特定のサブグループに属するものとしてラベル付けする方法。
2)任意の送信元から、特定のラベル付き行/列のサブグループにパケットをルーティングするための、1つ又はそれ以上の専用チャネル。
3)特定のラベル付き行/列のサブグループから、任意の送信先にパケットをルーティングするための、1つ又はそれ以上の専用チャネル。
4)特定のラベル付き行/列のセットから、ラベル付き行/列のセットの1つ又はそれ以上のサブセットに、パケットを方向転換させることを確実にするようにプログラムできる、経路テーブル。
【0040】
本明細書に記載された実施形態は、高性能コンピューティング、及び/又は、計算集約型の用途で使用し、かつ/又は、特にそれらの用途のために構成することができる。例えば、本明細書に記載された実施形態は、ニューラルネットワークの訓練、及び/又は、処理、機械学習、人工知能などのために構成することができる。本明細書に記載された、いくつかの実施形態は、車両(例えば、自動車)の自動運転システムで使用するデータを生成するための、ニューラルネットワークの訓練に使用することができる。
【0041】
様々なダイの間でパケットをルーティングすることは、多くの方法で行うことができる。例えば、
図1は分散ルーティング方式を示す。分散ルーティング方式では、第2のダイ102を通過して、第1のダイ101から第3のダイ103にパケットをルーティングすることができ、ここでは1回の方向転換のみが可能となる。
図1の分散ルーティング方式によれば、第1のダイ101にある単一の列からのノードは、第2のダイ102にある単一の列に、次いで第3のダイ103にある単一の列に、ルーティングされる。第1のダイ101から第2のダイ102へのトラフィックには、入力/出力(IO)の全帯域幅を使用することができる。しかしながら、第2のダイ102から第3のダイ103へのトラフィックでは、帯域幅の一部のみしか使用することができず、第1のダイ101から第3のダイ103へのパケット経路における、第2の部分の帯域幅が実質的に制限される。
【0042】
図2は、一実施形態による、複数回の方向転換を実現する、代替的なルーティング方式を示す図である。
図2に示す複数回の方向転換を伴うルーティングでは、物理チャネルは、仮想チャネルにグループ化される。行及び列のそれぞれを、仮想チャネルにグループ化することができる。方向転換が発生したときに、仮想チャネル間でトラフィックをルーティングするための規則がある。方向転換には、(a)行から列へのルーティング、又は(b)列から行へのルーティングなど、1つのチャネルから直交するチャネルへのルーティングを含めることができる。図示されたルーティングでは、より小さい番号の(例えば、より優先度の高い)仮想チャネルから、より大きい番号の(例えば、より優先度の低い)仮想チャネルにのみ、トラフィックを方向転換させることができる。第2のダイ202では、それぞれの行で、トラフィックを様々な列に方向転換させることができる。したがって、第2のダイ202と第3のダイ203との間の入出力インターフェースにわたって、トラフィックを分散させることができる。この構成では、第1のダイ201からの経路、第3のダイ203への経路の両方のセグメントに、全帯域幅、又は全帯域幅に近い帯域幅を使用することができる。第3のダイ203では、それぞれの列で、対応する送信先の行に向かって方向転換させることができる。
【0043】
少なくとも1回の方向転換を含む、1つのダイから別のダイへ向かうトラフィックのルーティングにおいて、経路の全帯域幅又はほぼ全帯域幅を利用するための他の規則を、代替的又は追加的に実装することができる。そのような規則には、トラフィックを方向転換させるときに、それぞれの行(又は列)を、対応する列(又は行)、あるいは列(又は行)のサブセットにルーティングすることを、含めることができる。ある実施形態では、ルーティングに利用することのできる帯域幅は、第1のダイから第2のダイにルーティングするための方向転換の回数によって決まることがある。方向転換の回数は、例えば、ダイのアレイにおける非動作(不良)ダイの、数及び配置に影響されることがある。
【0044】
ウエハアセンブリ上のシステムや、マルチチップモジュールといった、複数のダイを有するアセンブリでは、アセンブリプロセス中の製造上の欠陥又は損傷の結果として、1つ又はそれ以上のダイが、動作不能(不良)となることがある。ある実施形態では、ウエハアセンブリには、集積ファンアウト(InFO:Integrated Fan-Out)ウエハ、又は、他のウエハレベルパッケージング、又は、ファンアウトウエハレベルパッケージング技術に従って作製された、デバイスを含めることができる。例えば、不良ダイ自体に内部的な欠陥(微粒子、不純物、亀裂、連結部の破断、連結部の短絡など、又はそれらのあらゆる組み合わせ)がある場合があり、ダイなどとの通信を実現する物理回路に欠陥があることがある。ある実施形態では、例えばダイの一部のみが損傷しているため、不良ダイはある機能には適していても、他の機能には適していないことがある。そのため、ダイ間の信号ルーティングに関し、重大な問題を引き起こすおそれがある。例えば、非動作(不良)ダイを迂回することが望ましい場合がある。
【0045】
非動作(不良)ダイの問題に加えて、多数のダイをマルチダイアセンブリに集約することで、更なる課題がもたらされることがある。例えば、メッシュネットワーク又は環状ネットワーク上でパケットをルーティングする場合に、概して、ルーティングテーブル又はアルゴリズムによって、同じリソースを使用して様々なパケットをルーティングしようとするときに発生し得る、デッドロックを回避することが望ましい。ある事例では、このことによって、要求通りにリソースを割り当てることができない、デッドロック状況につながるおそれがある。一実施例として、2つのパケットp、q、及び、2つのキューA、Bについて考えることとする。パケットpがキューAにあり、パケットqがキューBにある場合に、pがキューBにあり、qがキューAにあるようにパケットをスワップすることができないことがある。
【0046】
パケットを移動させるための様々なルーティング規則を課すことによって、そのような問題を排除する、又は、少なくとも軽減することができる。例えば、一部のパケットの移動を禁止することができる。しかしながら、概して、ルーティング規則によって不良ダイを迂回してルーティングできることが、やはり望ましい。例えば、水平チャネルから垂直チャネルへ、又はその逆へ、1回だけ方向転換することが許容されるといった規則を課す場合には、ループを防止することはできても、不良ダイを迂回してルーティングすることはできない。ある実施形態では、ルーティングネットワークが複数のダイにまたがる場合、複数の垂直チャネル及び水平チャネルが存在し得る。ある事例では、チャネルを、より小さいセット(例えば、仮想チャネル)に分割することができ、規則によって、あるセットから別のセットへの方向転換を実現することができる。したがって、ループ及びその他のルーティングの問題を回避しつつ、パケットを何回か方向転換させることができる。
【0047】
一実施例として、2つの水平チャネルHA及びHB、並びに、2つの垂直チャネルVA及びVBとを有するネットワークについて考えることとする。このシステムでは、HAからVA、VAからHB、及びHBからVBへの方向転換を実現することができる。複数の方向転換が可能となることで、このシステムでは、単一の不良ダイを迂回してルーティングを行うことができる。しかしながら、パケットの送信元がHA行に近くない場合、又は、パケットの送信先がVB列に近くない場合には、厄介な問題が起こり得る。したがって、各送信元から各HA行に、かつ、各VB列からパケットの送信先にパケットをルーティングするために、システムに更なるチャネルを追加することができる。当業者は、そのようなシステムを任意の適切な数の列及び行に拡張することができ、水平チャネル又は垂直チャネルで、送信元及び送信先を作り出すことができると理解するであろう。
【0048】
ある実施形態では、PC0及びPC1ネットワークは、インターリーブされた物理メッシュネットワークであってもよい。PC0ネットワークは、第1の進行方向として、水平方向を優先することができ、PC1ネットワークは、第1の進行方向として、垂直方向を優先することができる。これらのネットワークは、その他の点では同一、又は実質的に同一、又は類似のものとすることができる。ある実施形態では、PC0及びPC1ネットワークを、1つ又はそれ以上の仮想チャネルに細分することができる。例えば、PC0及びPC1ネットワークを、要求Hiチャネル、要求Loチャネル、及びデータ仮想チャネルに細分することができる。要求Lo仮想チャネルに沿って、メモリ読出し要求を送信することができ、データ仮想チャネル上で、データ応答を送信することができる。同期及びタイミング調整、例えば、セマフォ要求及びバリア要求のために、要求Hi仮想チャネルを使用することができる。ある実施形態では、要求Hi仮想チャネルが満杯である場合、代わりに、要求Loチャネルを介してセマフォ要求及びバリア要求をルーティングすることができる。ある実施形態では、様々なタイプの情報及び要求をルーティングする必要に基づいて、仮想チャネルを動的に割り当てし直すことができる。
【0049】
ある事例では、不良ダイを迂回してルーティングするために、仮想ネットワークを使用することができる。例えば、パケットがダイエッジに達するまで、又は方向転換するまで、仮想ネットワーク内でパケットをルーティングし、次いで、PC0又はPC1チャネルにパケットを移動させるように、システムを構成することができる。仮想ネットワークでは、水平移動のために物理PC0チャネルを使用し、かつ、垂直移動のために物理PC1チャネルを使用することができるが、他のルーティング構成も可能である。例えば、物理PC0チャネルを水平移動に制限しなくてもよく、かつ/又は、物理PC1チャネルを垂直移動に制限しなくてもよい。
【0050】
ある実施形態では、ダイ内部、及び、ダイ間にわたってパケットをルーティングするために、様々な規則を使用することができる。例えば、システムによって、ダイ内部において先ず強制的にPC0又はPC1にパケットを移動させることができ、あるいは、特定の第1のネットワークを優先し、場合によっては異なるルーティングを実現するように、システムを構成することができる(例えば、PC0チャネルがビジー状態である場合、システムは、その代わりに、最初にPC1に沿ってルーティングすることができる)。ある事例では、PC0の優先度を、PC1よりも高くすることができる。その他の事例では、PC1の優先度を、PC0よりも高くすることができる。ある事例では、パケットの送信先アドレスに基づいて、初期ネットワークを選択することができる。いくつかの実施形態では、エラーキューにルーティングし、場合によって割り込みを発生させる、エラー経路をもつことができる。
【0051】
ある実施形態では、様々なチャネル、サブチャネル、列、行、及び/又は、チャネルグループに、1つ又はそれ以上のルーティング規則をもたせることができる。それぞれに、パケットをルーティングするときにループ、デッドエンドなどを回避することのできる、様々な規則をもたせることができる。ある実施形態では、単一のルーティングテーブルを使用して1つ又はそれ以上のルーティング規則を実装することができるが、その他の実施形態では、複数のルーティングテーブルを使用することができ、例えば、それぞれの列又は行に、独自のルーティングテーブルをもたせることができる。ルーティングテーブルには、1つ又はそれ以上のルーティング規則と関連付けられた、情報を格納することができる。このルーティングテーブルは、1つ又はそれ以上のルーティング規則にしたがったものにすることができる。このルーティングテーブルへの照会に基づいて、パケットをルーティングすることができる。例えば、送信先ダイのアドレス、又は、送信元から送信先ダイまでの経路内にある中間ダイのアドレスに基づいて、そのような照会を行うことができる。
【0052】
ある実施形態では、マルチチップアセンブリを、1つ又はそれ以上のベイに細分することができる。ダイから出るパケットについて、パケットの送信先がベイ内にあるか、ベイ外にあるかを判定するように、システムを構成することができる。例えば、2m×2nグリッドのダイで、ベイを構成することができる。送信先がベイの外部にある場合、ベイを互いに接続するために用いられるネットワークデバイスに、パケットをルーティングするために使用することのできる経路テーブル、又は、その他のルーティング構成情報を、システムにもたせることができる。
【0053】
パケットの送信先がベイ上にある場合、システムでは、送信先ダイのアドレスについてテーブルエントリを参照することによって、経路を決定することができる。ある実施形態では、テーブルには、ダイをマッピングするための、ダイアドレスのk×k個(例えば、8×8の)のアレイを備えることができる。アレイによってカバーされるベイの部分は、最小の行及び列、並びに、最大の行及び列のアドレスを定義することによって、決定することができる。ルーティングテーブルには、ダイの送信先に加えて、エッジエントリ及びコーナーエントリを含めることができる。行のエッジには、アドレスマップのkm×1個の領域に対する経路を含むことができ、各列のエッジには、アドレスマップのk1×n個の領域に対する経路エントリを含めることができる。更に、ルーティングテーブルには、コーナーエントリを含めることができる。ある事例では、コーナーエントリを使用して、各行項目及び各列項目の重複部に位置する、m×nグリッドのダイアドレス内に存在するダイに対する、ルーティング情報を提供することができる。
【0054】
ある事例では、ルーティングテーブルに、完全な経路情報がない場合がある。対応するテーブルエントリがない場合に、パケットをルーティングするために使用されるデフォルト経路とともに、システムを構成することができる。
【0055】
ある事例では、1つ又はそれ以上の補助経路とともにシステムを構成することができ、テーブルから直接経路を読み取るのではなく、補助経路を指定することによって、パケットのルーティングを決定することができる。例えば、経路テーブルには、エラー経路、ベイ外部への出口経路、デフォルト経路(例えば、上述したように、第1の進行ネットワークを強制又は優先するもの)、PC0/PC1ネットワーク上のダイエッジへの経路、エスケープネットワーク上のダイエッジへの経路(以下により詳細に説明するEネットワーク)、ノード行及びノード列に向かい、更にPC0/PC1ネットワーク上のダイエッジに向かう経路、Eネットワーク上のノード行及び列に向かい、更にダイエッジに向かう経路、並びに補助経路をもたせることができる。補助経路には、あらゆるその他のタイプの経路、又は、更なるルーティング形式を含めることができる。例えば、この経路は、PC0/PC1ネットワーク、又はEネットワーク上で、フィールドによって指定された行及び列へ向かい、更にエッジに向かうものとすることができる。
【0056】
ある構成では、複数のノードを互いに接続することができる。したがって、システムには、到着するパケットを処理する方法を記述した、経路テーブルを含めることができる。到着するパケットがノード上の位置にアドレス指定されている場合、パケットをその送信先にルーティングするために、ローカルのグラウト部の経路を使用することができる。その送信先にパケットを、直接ルーティングすることができ、かつ、ノードアドレスによって指定された行及び列にルーティングし、更に送信先に到達するように方向転換させることができる。ある実施形態では、PC0又はPC1ネットワークにパケットが留まるように、PC0がPC1に交差するように、又は、PC1がPC0に交差するように、それらの方向転換を構成することができる。ある事例では、方向転換が禁止されることがあり、したがって、方向転換しようとするとエラーが発生するおそれがある。
【0057】
ある事例では、最終的な送信先に向かう途中で、ダイを横切ってパケットを移動させることができる。様々なタイプの経路を許可するルーティングテーブルを用いて、システムを構成することができる。例えば、ネットワークを変更することなく(すなわち、PC0又はPC1に留まったまま)ダイを横切ってパケットを直接ルーティングすることができ、あるいは、ノード行及びノード列にルーティングし、更にエッジにルーティングするために方向転換させることができる。方向転換させる場合に、パケットをPC0又はPC1ネットワークに留めるかどうか、あるいは、あるネットワークからその他のネットワークに転送することが許可されるかどうかを定義するグローバルビットを、システムに含めることができる。ある実施形態では、ハッシュに基づいてルーティングを決定することができ、また、PC0ネットワークとPC1ネットワークとの間で転送することを、許可又は禁止することができる。更に、補助経路に沿って、パケットをルーティングすることができ(例えば、特定の行又は列にルーティングした後、同じネットワーク又は異なるネットワークのいずれかに方向転換させる)、あるいは、エラーキューにルーティングすることができる。
ルーティングの制約及び不良ダイを迂回するルーティング
【0058】
上述したように、パケットをルーティングする際、デッドロック状況が発生するおそれがある。ルーティングアルゴリズムには、利用可能な方向転換のセットが限定された、固定ルートを使用することができる。例として、キュー0、1、及び2を有するシステムについて考えることとする。すべてのキューが満杯である場合に、システムが、キュー0のコンテンツをキュー1に移動させ、キュー1のコンテンツをキュー2に移動させ、キュー2のコンテンツをキュー0に移動させようとすると、デッドロックが発生する。したがって、1つの規則によって、より大きい番号のキューにのみパケットをルーティングすることが可能となる。したがって、例えば、キュー0をキュー1に移動させることができ、かつキュー1をキュー2に移動させることができるが、キュー2をキュー0に移動させることはできない。別の例示的な規則では、より小さい番号のキューにのみパケットをルーティングすることことが可能となる。規則には、利用可能なキューのサブセットのみにパケットをルーティングする、キューをもたせることができる。
【0059】
二次元メッシュ(例えば、上述したPC0ネットワーク及びPC1ネットワークを伴うもの)では、パケットはノードのセットを横切って直線的に進行するため、順次キューを介してパケットを進行させることができる。ある実施形態では、キューに個別のラベル付けを行うことができる。しかしながら、場合によっては、例えば、ラップアラウンドするおそれがなければ、チャネルとして、まとめてキューにラベル付けすることができる。
【0060】
例示としての一実施例では、
図3Aに示すように、PC0ネットワークのすべての水平キューを、0に番号付けすることができ、PC0ネットワークのすべての垂直キューを、1に番号付けすることができる。ルーティング規則によって、より大きい番号のキュー(本明細書では、より優先度の低いキューとも呼ぶ)にはパケットをルーティングするが、より小さい番号のキューにはルーティングしないことを、指定することができる。したがって、あるPC0水平チャネルから、あるPC0垂直チャネルにパケットを方向転換することはできるが、PC0垂直チャネルから、PC0水平チャネルに方向転換することはできない。同様に、PC1垂直チャネルを、2に番号付け、PC1水平チャネルを、3に番号付けることができる。したがって、PC1垂直チャネルからPC1水平チャネルへ、パケットを方向転換させることができる。このルーティング規則では、PC1水平チャネルからPC1垂直チャネルへ、パケットを方向転換させることはできない。
【0061】
ベイから外れて、(例えば、別のシステムのダイ、フィールドプログラマブルゲートアレイ(FPGA:Field Programmable Gate Array)など)にルーティングするとき、又は不良ダイを迂回してルーティングするときには、更なる複雑さが生じるおそれがある。例えば、ベイのトラフィックの外部にルーティングする場合、システムには、ベイを互いに接続するスイッチングトポロジに対する制御がない。同一のネットワークスイッチを介して進行する、ループを回避できることが好ましい。したがって、ある実施形態では、ベイの外部にあるデバイス(例えば、FPGA)に向かって進行するトラフィックを、1つのチャネルセットに保持することができ、同時に、ベイの外部にあるデバイスから進行するトラフィックを、別のチャネルセットに保持することができる。ある実施形態では、ベイの外部にあるデバイスにトラフィックを送信するためのチャネルを、ベイの外部にあるデバイスからトラフィックを受信するチャネルよりも、小さい番号にすることができる。
【0062】
例えば、
図3Bは、ある実施形態による、ベイの外部にある送信先への、ルーティングの実施例を示す。
図3Bによれば、システムでは、チャネル0及び1を使用して、ベイの外部にあるデバイスにパケットをルーティングすることができる。更に、システムでは、チャネル2及び3を使用して、パケットを送信先ノードにルーティングすることができる。この構成では、ベイの外部にあるデバイスにトラフィックを転送するスイッチは、中間チャネル1.5であると考えられる。
図3Bに示すように、チャネル1及び2は垂直トラフィックのみに対応することができる。したがって、この構成では、ベイの上側エッジ又は下側エッジにある、ベイの外部のデバイスのみが対応される。ベイの側方エッジにある、ベイの外部の送信先へルーティングすることができる、その他の構成も可能であることが理解されよう。ベイの4つのエッジすべてにおいて、ベイの外部にあるデバイスとの間のルーティングを実現するために、更なるチャネルを使用することができる。
【0063】
不良ダイにも、同様の問題がある。不良ダイがあることで、1つのダイから別のダイへのルーティングするために、複数回の方向転換が利用される状況がもたらされる。
図4は、2つの不良ダイを伴うダイアレイを示す。
図4において、送信元ダイSから送信先ダイDに向かうパケットの移動には、(黒色で示された)2つの不良ダイを迂回してルーティングすることが含まれる。複数回の方向転換が許容されない限り、不良ダイを横切らずに送信元Sから送信先ダイDに到達する方法はない。
図3Aに示す4チャネル構成では、2回以上の方向転換を実現することができるが、迂回すべき不良ダイが複数存在する場合には、依然として問題や障害に直面するおそれがある。
【0064】
更なるチャネルを提供することで、潜在的な問題を軽減することができるが、そうするには著しいコストがかかるおそれがある。チャネルを追加することでハードウェアが追加され、更なる領域を使い果たすおそれがあるためである。ある実施形態では、様々なノード行又はノード列を独立したチャネルとして扱うことができ、それによって利用可能なチャネル数を増やすことができる。これにより、チャネルごとの最大帯域幅が減少するおそれがあるが、ダイエッジの帯域幅によって全体的な帯域幅を制限することができるため、その影響を緩和することができる。
【0065】
格子又はストライプパターンを使用して、追加のチャネルを画定することができる。例えば、ノードのn個の行又はn個の列ごとに、仮想チャネルのグループに分離することができる。ほんの一例として、上記のチャネル0(PC0ネットワークの水平経路)を4つのチャネルに分割することができ、4行目ごとに各チャネルに入れることができる。したがって、H-h0は、行0、4、8、12などから構成され、PC0-h1は、行1、5、9、13などから構成され、PC0-h2は、行2、6、10、14などから構成され、PC0-h3は、行3、7、11、15などから構成される。例えば、PC1-v0に列0、4、8、12などが含まれるように、垂直チャネルを同様に分割することができる。
【0066】
図5は、ある実施形態による、複数のチャネルに沿ったルーティングの、一実施例を示す図である。
図5に示すように、送信元ノードから送信先ノードにパケットを到達させるために、複数回の方向転換を行うことができる。チャネル(例えば、PC0-h2、PC1-v3など)がベイのエッジで終了する場合、タイムトリガプロトコル(TTP:Time-Triggered Protocol)又はスイッチ接続を介して、FPGA又は異なるベイで、その経路を終了させることができる。
【0067】
この手法により、いくつかの問題を軽減することができるが、送信元から送信先へパケットを移動させることのできる、仮想チャネル及び水平チャネルの数は限られている。しかしながら、経路に多くの方向転換が含まれ得るような、複数の不良ダイがある場合、規則によって、より大きい番号のチャネルからより小さい番号のチャネルへの方向転換が禁止されることがあるため、経路がより小さい番号のチャネルから開始し得ることが、潜在的な問題の1つである。とはいえ、場合によって、小さい番号の行又は列には送信元ノードが存在しないことがある。したがって、ダイを出る前に、パケットを小さい番号の行又は列にルーティングするように、システムを構成することができる。
【0068】
パケットを小さい番号のチャネルにルーティングするために、エスケープ仮想チャネル(Eチャネル)を使用することができる。エスケープチャネルはダイから出ないことがあるため、トークン管理及びチャネル追跡においていくらかの複雑さが加わるおそれがあるものの、それらは、シリアライザ/デシリアライザ(SerDes:Serializer/Deserializer)コントローラによってサポートされるチャネルの数に、影響を与えずにすむ。有利なことに、Eチャネルには、ローカルのダイトラフィックをグローバルトラフィックから分離した状態に保つ効果がある。そのため、Eネットワークは、PC0及びPC1ネットワークと物理インフラストラクチャを共有するものの、ダイの境界で詰まるおそれのあるグローバルトラフィックによって、ローカル経路が影響を受けるという問題を回避することができる。
【0069】
ダイからルーティングされているパケットの場合、ダイエッジにあるグラウト部に到達するまで、エスケープチャネルで、パケットをルーティングすることができる。例えば、PC1-v6のパケットが、PC1-v2に沿ってノースバウンドでルーティングされる場合、グラウト部に到達するまで、それをE-v0内でノースバウンドルーティングするようにシステムを構成することができ、あたかもPC1-v2から到来したかのように、パケットにタグ付けすることができる。したがって、パケットがダイから出るとき、それは、PC1-v2のパケットとして正しくルーティングされる。あるいは、ある事例では、パケットはE-h0に沿ってルーティングされ、更にPC1-v2に方向転換される。当業者は、これらが単なる実施例であり、システムは、ある実施形態において本開示と一致する様々な方法で、パケットをルーティングすることができると認識するであろう。
【0070】
ある事例では、FPGAでパケットを終了させることができる。例えば、経路のベイ内にある部分がFPGAで終了する場合、パケットを正しい送信先FPGAに到達させるために、グラウト部に到着するパケットを正しいSerDesのレーンにルーティングするように、システムを構成することができる。ある実施形態では、単一のダイを2つ以上のFPGAに接続することができる。例えば、ノースエッジに沿って、各ダイを2つのFPGAに接続することができる。そのような構成では、2つのFPGAには同じ列アドレスがあるが、それらを異なる行に割り当てることができる。その他の構成も可能であり、例えば、複数のFPGAに、単一の列及び/又は単一の行を共有させることができる。
【0071】
時には、ダイ内におけるルーティングが、ダイからダイへのルーティングと競合するおそれがある。ある実施形態では、ダイ内におけるパケットの輻輳を緩和するために、特定のチャネル(例えば、大きい番号のチャネル)を、送信先ダイのみに使用されるように確保することができる。したがって、ローカルパケットのみがそれらのチャネルで動作することで、ダイの境界を横切ってルーティングされるパケットの詰まりが回避される。
【0072】
図6Aから
図6Cは、複数の不良ダイを有する、例示的なダイアレイを示す。これらの図は、不良ダイを迂回してルーティングするための、様々な事例を示すものである。
図6Aから
図6Cの実施例では、不良ダイを迂回するルーティングを、わずか2回の方向転換で行うことができる。実施される方向転換が少ないため、このルーティングは高帯域幅で行うことができる。より多くの不良ダイが加わるにつれて、例えば
図7Aから
図7Bに示すように、ルーティングがより複雑になることがある。したがって、
図7Aから
図7Bのダイアレイ内における、不良ダイを迂回するルーティングでは、利用可能な帯域幅が減少するおそれがある。ダイの数及び分布に応じて、不良ダイを迂回してルーティングを行うために、多くの方向転換が必要となることがあり、例えば、
図8に示す不良ダイを伴うダイアレイでは、ルーティングの帯域幅は、かなり低くなるおそれがある。
図6Aから
図8では、不良ダイが黒色で示されている。
グラウト部のトポロジ
【0073】
グラウト部のノードには、ノードアレイ、SerDesコントローラ、及び、場合によっては、隣接する(例えば、左右の)グラウト部のノードへの接続部がある。ある実施形態では、ノードアレイからSerDesコントローラに、又は、SerDesコントローラからノードアレイに、パケットをルーティングすることがあるが、ノードアレイ上、又は、SerDesコントローラ上の両方で、パケットをグラウト部に出入りさせることができる。パケットをルーティングすることに加えて、グラウト部はパケットをソートする機能も果たす。ある実施形態では、ノードからアレイへの搬送、及び、アレイからノードへの搬送の両方のために、複数のチャネル、例えば、左から右に進行する3つのチャネル、並びに、右から左に進行する3つのチャネルに、グラウト部を分割することができる。グラウト部の各チャネルには、複数の仮想チャネルを含めることができる。例えば、グラウト部の各チャネルには、それ自体を要求Hiチャネル、要求Loチャネル、及びデータチャネルに分割することのできる、PC0及びPC1仮想チャネルを含めることができる。更に、ある実施形態では、ローカルノードのSerDesコントローラに、直接ルーティングするチャネルがあってもよい。
【0074】
パケットがグラウト部に到着すると、例えばアレイ側で、規則によって、どの仮想チャネルにパケットをルーティングすることができるかを判定することができる。更に、例えば、様々なSerDesコントローラの後方に接続することのできる他のFPGAにルーティングするための、パケットのソート管理を行うために、パケットをソート機能にかけることができる。ある実施形態では、所与の物理チャネル又は仮想チャネルのために、ただ1つのチャネルを設けることができ、それらの送信先チャネルに、パケットを明確にソートすることができる。しかしながら、その他の場合には、所与のパケットに対して有効となっているチャネルにわたってトラフィックを拡散するため、グラウト部では、閾値を処理するメカニズムを使用することができる。
【0075】
ある実施形態では、所望のSerDesレーンがビジー状態であることがあり、同じ行又は列内の別のレーン、例えば隣接するレーンに、パケットをルーティングすることができる。例えば、複数のレーン、例えば2つのレーン、3つのレーン、4つのレーン、5つのレーン、6つのレーン、7つのレーン、8つのレーンなどに、行又は列を分割することができる。ある実施形態では、例えば、あるレーンが動作していない場合、別のレーンにパケットをルーティングすることができる。
【0076】
パケットがグラウト部のノードからグラウト部のノードにルーティングされるとき、その移動を追跡することができ、各ノードにおいて、パケットを直線的に進行させたり、方向転換させたりすることができる。ある実施形態では、パケットを直線的に進行させ、かつSerDesコントローラに向かって方向転換させることができる場合、チャネル出口のバッファに空きがあるかどうかの判定に基づいて、直線的に進行させる、又は方向転換させることができる。例えば、場合によって、レーンがビジーであることがあり、かつ/又は、ハードウェアに、レーンが機能することを妨げる欠陥があることがある。ある実施形態では、チャネルごと、及び/又は、パケットタイプごとに、SerDesレーンがどのチャネル/パケットタイプからパケットを受信することができるかを、グラウト部によって制御することができる。
更なる実施形態
【0077】
前述した開示は、開示された厳密な形態、又は特定の使用分野に、本開示を限定することを意図するものではない。したがって、本明細書に明示的に記載されているか、暗示されているかにかかわらず、本開示に対する様々な代替の実施形態、及び/又は、修正が、本開示に照らして可能であると考えられる。このように本開示の実施形態を説明してきたが、当業者は、本開示の範囲から逸脱することなく、形態及び詳細を変更できることを、認識するであろう。したがって、本開示は、特許請求の範囲によってのみ限定される。
【0078】
上記の明細書では、特定の実施形態を参照して、本開示の説明を行ってきた。しかしながら、当業者が理解するように、本明細書に開示される様々な実施形態は、本開示の精神及び範囲から逸脱することなく、修正することができ、あるいは、様々な他の方法で実施することができる。したがって、この説明は例示と見なされるべきであり、開示されたICアセンブリの様々な実施形態を作製及び使用する方法を、当業者に教示する目的のものである。本明細書に示され説明された開示の形態は、代表的な実施形態として解釈されるべきであることを、理解されたい。同等の要素、材料、プロセス、又はステップを、本明細書に代表的に示され説明されたものと、置き換えることができる。更に、本開示のこの説明についての利点を知った上で、当業者に明らかになるように、本開示の特定の特徴は、他の特徴の使用とは独立して利用することができる。本開示を説明し、かつ特許請求するために使用される、「含む(including)」、「備える(comprising)」、「組み込む(incorporating)」、「からなる(consisting of)」、「有する(have)」、「である(is)」などの表現は、非排他的な方法で解釈されること、すなわち、明示的に説明されていない項目、構成要素又は要素も存在し得ることを意図している。単数形への言及は、複数形にも関連すると解釈されるべきである。
【0079】
更に、本明細書に開示された様々な実施形態は、例示し、説明するためのものと解釈されるべきであり、決して本開示を限定するものと解釈されるべきではない。すべての接合に関する言及(例えば、「取り付けられた(attached)」、「添付された(affixed)」、「結合された(coupled)」、「接続された(connected)」、など)は、読者の本開示の理解を助けるためにのみ使用され、特に本明細書に開示されるシステム及び/又は方法の、位置、向き、又は使用に関して、限定を生じさせるものではない。したがって、接合に関する言及がある場合、それらは広義に解釈されるべきである。更に、そのような接合に関する言及は、2つの要素が互いに直接的に接続されていることを、必ずしも意味しない。
【0080】
更に、「第1の(first)」、「第2の(second)」、「第3の(third)」、「一次の(primary)」、「二次の(secondary)」、「主要な(main)」、又は、あらゆる他の通常用語、及び/又は、数値用語など、これらに限定されないすべての数値用語もまた、本開示の様々な要素、実施形態、変形及び/又は修正に関して読者の理解を助けるための識別子としてのみ解釈されるべきであり、特に、あらゆる要素、実施形態、変形及び/又は修正に対する、又はそれを超える、別の要素、実施形態、変形及び/又は修正の順序又は優先順位に関して、何ら制限を生じさるものではない。
【0081】
図面/図に示された要素のうちの、1つ又はそれ以上の要素は、特定の用途に応じて有用であるように、より分離された、又はより統合された方法で実装することもでき、あるいは、ある種の事例では、動作不能として除去又は放棄することさえできることも理解されよう。更に、図面/図中にハッチングで記す、あらゆる部分は、特に明記しない限り例示としてのみ考慮されるべきであり、限定するものではない。
【国際調査報告】