(57)【要約】  本明細書に従って、１または複数の集積回路ダイにおける複数のコンポーネントを相互接続するための複数の並列分割パケットネットワークを含む、階層的並列分割ネットワークが提供される。一実施形態において、各並列分割パケットネットワークは、複数の他の並列分割パケットネットワークから独立しており、ユニット階層レベルにおけるユニットレベルスイッチを有する。他の態様において、各並列分割パケットネットワークは、ユニット間階層レベルにおけるユニット間レベルスイッチを有する。複数の他の態様が、本明細書において記載される。
2017503230.tif 000002
【特許請求の範囲】
【請求項１】
メモリと、
ブロック階層レベルを定義する複数のブロックであって、各ブロックが、複数のプロセッサおよび前記ブロックの前記複数のプロセッサを相互接続するブロックネットワークを含む、複数のブロックと、
前記ブロック階層レベルより高いユニット階層レベルを定義するユニットであって、前記ブロック階層レベルにおける複数の前記ブロックを含むユニットと、
複数の並列分割パケットネットワークであって、各並列分割パケットネットワークが、前記複数の並列分割パケットネットワークのうちの複数の他の並列分割パケットネットワークから独立しており、各並列分割パケットネットワークが、前記ユニットのメモリおよび前記複数のブロックの各ブロックネットワークに結合されたユニット階層レベルにおけるユニットレベルスイッチを有する、複数の並列分割パケットネットワークと、を備える、コンピュータアーキテクチャシステム。
【請求項２】
前記複数の並列分割パケットネットワークの第１の並列分割パケットネットワークを選択し、複数の他の並列分割パケットネットワークから独立している前記選択された並列分割パケットネットワークを介してパケットを送信する並列分割パケットネットワーク制御ロジックを更に備え、前記送信は、前記パケットを、前記ユニット階層レベルにおける前記選択された並列分割パケットネットワークの前記ユニットレベルスイッチを介して交換することを含む、請求項１に記載のシステム。
【請求項３】
前記ユニット階層レベルより高いユニット間階層レベルを定義する複数の前記ユニットを更に備え、各ユニットは、前記ユニット階層レベルにあり、前記ブロック階層レベルにおける複数の前記ブロックを有し、各並列分割パケットネットワークは、各ユニットに対する前記ユニット階層レベルにあり、前記メモリおよび特定のユニットの前記複数のブロックの各ブロックネットワークに結合されたユニットレベルスイッチと、前記ユニット間階層レベルにあり、前記ユニット階層レベルにおける特定の並列分割パケットネットワークの各ユニットレベルスイッチに結合された、ユニット間レベルスイッチと、を有し、前記並列分割パケットネットワーク制御ロジックは更に、前記ユニット間階層レベルにおける前記選択された並列分割パケットネットワークの前記ユニット間レベルスイッチを介して、前記選択された並列分割パケットネットワークの複数の前記選択されたユニットレベルスイッチの間で、前記パケットを交換する、請求項２に記載のシステム。
【請求項４】
第１のダイ、第２のダイおよび複数のダイ間通信チャネルを更に備え、各並列分割パケットネットワークは、前記第１のダイおよび前記第２のダイに結合された、前記複数のダイ間通信チャネルのうちのダイ間通信チャネルを有し、
前記複数の並列分割パケットネットワークの前記複数のブロックの前記ユニットおよび複数の前記ユニットレベルスイッチは、前記第１のダイ上にあり、
前記システムは、前記第１のダイ上に複数のバッファを更に備え、各並列分割パケットネットワークは、前記特定の並列分割パケットネットワークの前記ユニットレベルスイッチおよび前記ダイ間通信チャネルに結合されたバッファを有し、
前記並列分割パケットネットワーク制御ロジックは更に、前記選択された並列分割パケットネットワークの前記ダイ間通信チャネルに前記パケットを送信する前に、前記選択された並列分割パケットネットワークの前記バッファに前記パケットをバッファリングし、前記選択された並列分割パケットネットワークの前記ダイ間通信チャネルから受信された前記バッファにおけるパケットを、前記選択された並列分割パケットネットワークの前記バッファにバッファリングする、請求項３に記載のシステム。
【請求項５】
前記第２のダイ上の複数のユニット階層レベルメモリコントローラと、前記第２のダイ上の複数のユニットレベルスイッチと、前記第２のダイ上の複数のバッファのバッファと、を更に備え、各ユニットレベルメモリコントローラは、関連するユニットの前記メモリと前記複数のプロセッサとの間における複数のメモリトランザクションを制御し、各並列分割パケットネットワークは、前記第２のダイ上に前記複数のユニットレベルスイッチのうちのユニットレベルスイッチを有し、前記第２のダイ上の各ユニットレベルスイッチは、前記第１のダイ上の前記特定の並列分割パケットネットワークの前記ユニットレベルスイッチおよびバッファに結合されている、請求項４に記載のシステム。
【請求項６】
各メモリコントローラは、前記第２のダイ上に並列分割パケットネットワーク制御ロジックを有し、前記並列分割パケットネットワーク制御ロジックは、前記第２のダイ上の前記選択された並列分割パケットネットワークの前記ユニットレベルスイッチを介してパケットを交換し、前記選択された並列分割パケットネットワークの前記ダイ間通信チャネルへ前記パケットを送信する前に、前記第２のダイ上の前記選択された並列分割パケットネットワークの前記バッファに前記パケットをバッファリングし、前記第２のダイ上の前記選択された並列分割パケットネットワークの前記ダイ間通信チャネルから受信された前記第２のダイ上の前記バッファに、パケットをバッファリングする、請求項５に記載のシステム。
【請求項７】
前記複数の並列分割パケットネットワークの各々からの複数のパケットを伝送するための共通通信チャネルを更に備え、前記共通通信チャネルによって伝送される各パケットは、並列分割パケットネットワークを識別するタグ、および前記複数の並列分割パケットネットワークのうちの各並列分割パケットネットワークに結合された共通ユニットレベルスイッチを有し、前記並列分割パケットネットワーク制御ロジックは、各並列分割パケットネットワークからのパケットを、前記パケットが到達した前記並列分割パケットネットワークを識別するタグでタグ付けし、共通ユニットレベルスイッチを介して前記タグ付きパケットを、前記共通通信チャネルに切り替える、請求項２または３に記載のシステム。
【請求項８】
前記並列分割パケットネットワーク制御ロジックは、前記共通通信チャネルからのパケットのタグを読み取り、前記共通ユニットレベルスイッチを介して、前記パケットの前記タグによって識別される前記並列分割パケットネットワークに前記パケットを切り替える、請求項７に記載のシステム。
【請求項９】
少なくとも１つの集積回路において複数のパケットをルーティングする方法であって、並列分割パケットネットワーク制御ロジックが、デバイスのメモリを、ブロック階層レベルを定義する複数のブロックに結合させる複数の並列分割パケットネットワークの第１の並列分割パケットネットワークを選択する段階であって、各ブロックが、複数のプロセッサおよび前記ブロックの複数のプロセッサを相互接続するブロックネットワークを含み、複数の前記ブロックは、第１の階層レベルより高いユニット階層レベルを定義する少なくとも１つのユニットにおいて編成され、各並列分割パケットネットワークは、前記メモリおよび前記ユニットの前記複数のブロックの各ブロックネットワークに結合された前記ユニット階層レベルにおけるユニットレベルスイッチを有する、段階と、
並列分割パケットネットワーク制御ロジックが、複数の他の並列分割パケットネットワークから独立している前記選択された並列分割パケットネットワークを介してパケットを送信する段階であって、前記送信する段階は、前記ユニット階層レベルにおける前記選択された並列分割パケットネットワークのユニットレベルスイッチを介して、前記パケットを交換する段階を含む、段階とを備える、方法。
【請求項１０】
並列分割パケットネットワーク制御ロジックが、ユニット間階層レベルにおける前記選択された並列分割パケットネットワークのユニット間レベルスイッチを介して、前記選択された並列分割パケットネットワークの複数の選択されたユニットレベルスイッチの間で前記パケットを交換する段階を更に備え、
複数の前記ユニットは、第２の階層レベルよりも高い第３の階層レベルの前記ユニット間レベルを定義し、各ユニットは、前記ユニット階層レベルにあり、前記ブロック階層レベルにおいて複数の前記ブロックを有し、各並列分割パケットネットワークは、各ユニットに対する前記ユニット階層レベルにあり、前記メモリおよび特定のユニットの前記複数のブロックの各ブロックネットワークに結合されているユニットレベルスイッチと、前記ユニット間階層レベルにあり、前記ユニット階層レベルにおける特定の並列分割パケットネットワークの各ユニットレベルスイッチに結合されたユニット間レベルスイッチとを有する、請求項９に記載の方法。
【請求項１１】
並列分割パケットネットワーク制御ロジックが、前記選択された並列分割パケットネットワークのバッファにおけるパケットを第１のダイ上にバッファリングする段階であって、各並列分割パケットネットワークは、前記ユニット階層レベルにおけるバッファおよびダイ間通信チャネルを有し、並列分割パケットネットワークの各バッファは、前記特定の並列分割パケットネットワークの前記ダイ間通信チャネルおよび前記ユニットレベルスイッチに結合されている、段階を更に備え、並列分割パケットネットワーク制御ロジックが、バッファからのパケットを、前記選択された並列分割パケットネットワークのダイ間通信チャネルへ送信する段階と、前記選択された並列分割パケットネットワークの前記ダイ間通信チャネルからパケットを受信する段階と、前記受信されたパケットを、前記選択された並列分割パケットネットワークの前記バッファにバッファリングする段階と、を更に備える、請求項１０に記載の方法。
【請求項１２】
第２のダイ上の複数のユニット階層レベルメモリコントローラのユニットレベルメモリコントローラが、メモリと関連するユニットの複数のプロセッサとの間において複数のメモリトランザクションを制御する段階であって、各ユニットが、前記第２のダイ上に前記複数のユニット階層レベルメモリコントローラの関連するメモリコントローラを有する、段階と、
前記第２のダイ上の並列分割パケットネットワーク制御ロジックが、前記選択された並列分割パケットネットワークの前記ダイ間通信チャネルから受信されたパケットを、前記第２のダイ上の前記選択された並列分割パケットネットワークのユニットレベルスイッチを介して交換する段階であって、各並列分割パケットネットワークが、前記第２のダイ上の複数のユニットレベルスイッチのうちのユニットレベルスイッチを有する、段階と、
並列分割パケットネットワーク制御ロジックが、第２のダイ上に、前記選択された並列分割パケットネットワークの前記ダイ間通信チャネルから受信されたパケットを、前記選択された並列分割パケットネットワークのバッファにバッファリングする段階であって、各並列分割パケットネットワークが、前記特定の並列分割パケットネットワークの前記ユニットレベルスイッチに結合された、前記第２のダイにおける複数のバッファのうちのバッファを有し、前記第２のダイにおける各ユニットレベルスイッチは、前記特定の並列分割パケットネットワークの前記ダイ間通信チャネルに結合されている、段階と、を更に備える、請求項１１に記載の方法。
【請求項１３】
前記第２のダイにおける並列分割パケットネットワーク制御ロジックが、前記第２のダイにおける前記選択された並列分割パケットネットワークのユニットレベルスイッチを介して、パケットを交換する段階と、前記第２のダイにおける前記選択された並列分割パケットネットワークの前記バッファにパケットをバッファリングする段階と、前記選択された並列分割パケットネットワークの前記バッファからのパケットを、前記選択された並列分割パケットネットワークの前記ダイ間通信チャネルへ送信する段階と、を更に備える、請求項１２に記載の方法。
【請求項１４】
並列分割パケットネットワーク制御ロジックが、前記選択された並列分割パケットネットワークから到達するパケットを、前記パケットが到達した前記選択された並列分割パケットネットワークを識別するタグでタグ付けする段階と、前記タグ付きパケットを、共通ユニットレベルスイッチを介して、前記複数の並列分割パケットネットワークの各並列分割パケットネットワークに結合された前記複数の並列分割パケットネットワークの各々からの複数のパケットを伝送するための共通通信チャネルに切り替える段階とを備え、前記共通通信チャネルによって伝送される各パケットは、前記タグ付きパケットが到達した並列分割パケットネットワークを識別するタグを有する、請求項１３に記載の方法。
【請求項１５】
並列分割パケットネットワーク制御ロジックが、前記共通通信チャネルから到達するパケットのタグを読み取る段階と、前記共通ユニットレベルスイッチを介して、前記到達したパケットを、前記パケットの前記タグによって識別される前記並列分割パケットネットワークに切り替える段階と、を更に備える、請求項１４に記載の方法。
【請求項１６】
各ブロックが、複数のプロセッサおよび前記ブロックの前記複数のプロセッサを相互接続するブロックネットワークを含む、ブロック階層レベルを定義する複数のブロックと、
前記ブロック階層レベルにおいて複数の前記ブロックを含む、前記ブロック階層レベルより高いユニット階層レベルを定義するユニットと、
複数の並列分割パケットネットワークであって、各並列分割パケットネットワークが、前記複数の並列分割パケットネットワークの複数の他の並列分割パケットネットワークから独立しており、各並列分割パケットネットワークが、メモリおよび前記ユニットの前記複数のブロックの各ブロックネットワークに結合された前記ユニット階層レベルにおけるユニットレベルスイッチを有する、複数の並列分割パケットネットワークと、を備える、メモリと共に使用するための、コンピュータアーキテクチャデバイス。
【請求項１７】
前記複数の並列分割パケットネットワークのうちの第１の並列分割パケットネットワークを選択し、前記複数の他の並列分割パケットネットワークから独立している前記選択された並列分割パケットネットワークを介してパケットを送信する並列分割パケットネットワーク制御ロジックを更に備え、前記送信は、前記ユニット階層レベルにおける前記選択された並列分割パケットネットワークの前記ユニットレベルスイッチを介して、前記パケットを交換することを含む、請求項１６に記載のデバイス。
【請求項１８】
前記ユニット階層レベルより高いユニット間階層レベルを定義する複数の前記ユニットを更に備え、各ユニットは、前記ユニット階層レベルにあり、前記ブロック階層レベルにおいて複数の前記ブロックを有し、各並列分割パケットネットワークは、各ユニットに対する前記ユニット階層レベルにあり、前記メモリおよび特定のユニットの前記複数のブロックの各ブロックネットワークに結合されたユニットレベルスイッチと、前記ユニット間階層レベルにあり、前記ユニット階層レベルにおける特定の並列分割パケットネットワークの各ユニットレベルスイッチに結合された、ユニット間レベルスイッチと、を有し、前記並列分割パケットネットワーク制御ロジックは、更に、前記選択された並列分割パケットネットワークの複数の選択されたユニットレベルスイッチの間において、前記ユニット間階層レベルにおける前記選択された並列分割パケットネットワークの前記ユニット間レベルスイッチを介して前記パケットを交換する、請求項１７に記載のデバイス。
【請求項１９】
第１のダイ、第２のダイおよび複数のダイ間通信チャネルを更に備え、各並列分割パケットネットワークは、前記第１のダイおよび前記第２のダイに結合された、前記複数のダイ間通信チャネルのダイ間通信チャネルを有し、前記複数の並列分割パケットネットワークの前記複数のブロックおよび複数のユニットレベルスイッチの前記ユニットは、前記第１のダイ上にあり、第１のダイ上に複数のバッファを更に備え、各並列分割パケットネットワークは、前記特定の並列分割パケットネットワークの前記ユニットレベルスイッチおよび前記ダイ間通信チャネルに結合されたバッファを有し、前記並列分割パケットネットワーク制御ロジックは、更に、前記選択された並列分割パケットネットワークの前記ダイ間通信チャネルに前記パケットを送信する前に、前記選択された並列分割パケットネットワークの前記バッファに前記パケットをバッファリングし、前記選択された並列分割パケットネットワークの前記ダイ間通信チャネルから受信された前記バッファにパケットを、前記選択された並列分割パケットネットワークの前記バッファにバッファリングする、請求項１８に記載のデバイス。
【請求項２０】
前記第２のダイ上の複数のユニット階層レベルメモリコントローラであって、各ユニットレベルメモリコントローラが、関連するユニットの前記メモリと前記複数のプロセッサとの間における複数のメモリトランザクションを制御する、複数のユニット階層レベルメモリコントローラと、前記第２のダイ上の複数のユニットレベルスイッチであって、各並列分割パケットネットワークが、前記第２のダイ上の前記複数のユニットレベルスイッチのうちのユニットレベルスイッチを有する、前記第２のダイ上の複数のユニットレベルスイッチと、前記第２のダイ上の複数のバッファのうちのバッファであって、前記第２のダイ上の各ユニットレベルスイッチが、前記第１のダイ上の前記特定の並列分割パケットネットワークの前記ユニットレベルスイッチおよびバッファに結合された、バッファと、を更に備える、請求項１９に記載のデバイス。
【請求項２１】
各メモリコントローラが、前記第２のダイ上の前記選択された並列分割パケットネットワークの前記ユニットレベルスイッチを介して、パケットを交換し、前記選択された並列分割パケットネットワークの前記ダイ間通信チャネルへ前記パケットを送信する前に、前記第２のダイ上の前記選択された並列分割パケットネットワークの前記バッファに前記パケットをバッファリングし、前記第２のダイ上の前記選択された並列分割パケットネットワークの前記ダイ間通信チャネルから受信された前記第２のダイ上の前記バッファにパケットをバッファリングする、前記第２のダイ上に並列分割パケットネットワーク制御ロジックを有する、請求項２０に記載のデバイス。
【請求項２２】
複数の並列分割パケットネットワークの各々から複数のパケットを伝送するための共通通信チャネルであって、前記共通通信チャネルによって伝送される各パケットは、並列分割パケットネットワークを識別するタグを有する、共通通信チャネルと、前記複数の並列分割パケットネットワークの各並列分割パケットネットワークに結合された共通ユニットレベルスイッチであって、前記並列分割パケットネットワーク制御ロジックが、各並列分割パケットネットワークからのパケットを、パケットが到達した前記並列分割パケットネットワークを識別するタグでタグ付けし、前記タグ付きパケットを、前記共通ユニットレベルスイッチを介して前記共通通信チャネルに切り替える、共通ユニットレベルスイッチと、を更に備える、請求項１７または１８に記載のデバイス。
【請求項２３】
前記並列分割パケットネットワーク制御ロジックは、前記共通通信チャネルからのパケットのタグを読み取り、前記パケットを、前記共通ユニットレベルスイッチを介して前記パケットの前記タグによって識別される前記並列分割パケットネットワークに切り替える、請求項２２に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、複数の相互接続されたプロセッサおよびメモリを有するデバイスに関する。
【背景技術】
【０００２】
マイクロプロセッサ等の集積回路デバイスは、複数のプロセッサおよび複数のプロセッサに結合された複数のメモリを有し得る。多くの場合、処理エンジンまたはコアと呼ばれるプロセッサは、ブロック、クラスタまたはアイランドと呼ばれることの多い多数のグループに細分化され得る。各ブロックは、複数のプロセッサおよびバスまたは他のネットワークによって、各プロセッサに密に接続されている１または複数のメモリを有し得る。複数のブロックが、ネットワークによって、互いにおよびシステムメモリに、順に接続され得る。このように、各ブロックの各プロセッサは、同じブロックのプロセッサもしくはメモリ、または別のブロックのプロセッサもしくはメモリ、あるいはシステムメモリ自体とネットワークを通じて通信し得る。ネットワークは、ネットワークまたはネットワークのセグメントへのアクセスを待機しているデータの複数のパケットをバッファリングするべく、多数のバッファを使用し得る。
【図面の簡単な説明】
【０００３】
【図１】本明細書の一態様に従って、階層的並列分割ネットワークを用いるコンピュータアーキテクチャデバイスの一実施形態の概略図である。
【図２】図１のコンピュータアーキテクチャデバイスの階層的並列分割ネットワークの階層態様の一例の概略図である。
【図３】図１の階層的並列分割ネットワークのブロック階層レベルの一実施形態のより詳細な概略図である。
【図４】図１の階層的並列分割ネットワークの一分割のユニット階層レベルの一実施形態のより詳細な概略図である。
【図５】図１の階層的並列分割ネットワークの一分割のユニット間（unit-to-unit）階層レベルの一実施形態のより詳細な概略図である。
【図６】図１の階層的並列分割ネットワークの一例のより詳細な概略図である。
【図７】図１の階層的並列分割ネットワークの一部のより詳細な概略図である。
【図８】図１の階層的並列分割ネットワークの一部のより詳細な概略図である。
【図９】本明細書の一実施形態に従って、並列分割ネットワークＩＤタグを用いるパケットの概略図である。
【図１０ａ】本明細書の一態様に従って、階層的並列分割ネットワーク制御ロジックの複数の動作の一実施形態を示す図である。
【図１０ｂ】本明細書の一態様に従って、階層的並列分割ネットワーク制御ロジックの複数の動作の一実施形態を示す図である。
【発明を実施するための形態】
【０００４】
以下においてより詳細に説明されるように、（クラスタまたはアイランドとも呼ばれる）複数の小さいブロックに編成された、密に結合されている複数のプロセッサおよび複数のメモリについて、本明細書の一態様に従って、これらのブロックを、ブロック間およびブロックとシステムメモリとの間の両方における通信のエネルギー効率を改善すると考えられる方法で、相互接続するように、複数の階層スイッチが提供される。一実施形態において、「ユニット」として編成された一式のブロックおよびそのユニットのためのローカルメモリコントローラを、本明細書においてユニット階層レベルまたは単にユニットレベルと呼ばれる階層レベルで相互接続するようにスイッチが提供される。更に、本明細書においてユニットレベルスイッチと呼ばれるスイッチは、複数の他のユニットレベルスイッチおよび階層スイッチとしても編成され得る複数の他の非ローカルメモリコントローラへのリンクを有し得る。
【０００５】
一実施形態において、ブロック間での通信のためのユニットレベルスイッチは、ユニットレベルスイッチによって消費されるエネルギーコストを低減するべく、バッファリングを有していなくてもよい。代わりに、例えばマイクロプロセッサダイとメモリコントローラダイとの間のダイ間（die-to-die）通信チャネルの複数のエンドポイントにおいて、複数のバッファが中間の格納用に提供される。
【０００６】
本明細書による階層ネットワークアーキテクチャは、各ブロックからユニットが割り当てられたローカルメモリコントローラへの通信レイテンシにおいて、改善された予測可能性および均一性を提供し得ると考えられている。更に、複数の非ローカルメモリコントローラは、同様に、ユニットレベルスイッチ等の中央スイッチから、またはいくつかの実施形態ではユニット間（unit-to-unit）レベルスイッチからのレイテンシの観点において、より等距離にあり得ると考えられている。また更に、ローカルのブロック間の通信は、エネルギー効率を増加させ得、ユニットレベルスイッチ等のローカルスイッチに制限され得る。その上、本明細書に従う階層的ネットワークアーキテクチャは、改善されたスケーラビリティを提供し得ると考えられている。例えば、より多くのブロックまたはメモリコントローラを追加する場合、複数の追加のレベルまたは階層が、エネルギー効率の良い通信をローカルレベルで保持するべく、追加され得る。
【０００７】
本明細書の他の態様において、ユニットレベルスイッチおよびユニット間レベルスイッチ等のスイッチを有するネットワークは、例えば、各々が並列分割スイッチおよびユニット間レベル並列分割スイッチをそれぞれ有している複数のユニットレベル並列分割ネットワークへと分割され得る。そのような配置は、スイッチを介して、エネルギートラバースコストを更に低減し得ると考えられている。例えば、エネルギー消費は、モノリシックスイッチが、低減されたエネルギー消費のために低減された帯域幅をトレードすることによって分割される並列分割スイッチの数として、同一のまたは同様の因子によって低減され得る。
【０００８】
図１は、本明細書の一態様に従って、階層的並列分割ネットワーク通信を用いるコンピュータアーキテクチャデバイスの一実施形態１００を図示する。コンピュータアーキテクチャデバイス１００は、メインフレーム、サーバ、パーソナルコンピュータ、ワークステーション、テレフォニーデバイス、ネットワーク電気機器、仮想化デバイス、ストレージコントローラ、ポータブルもしくは携帯デバイス（例えば、ラップトップ、ネットブック、タブレットコンピュータ、パーソナルデジタルアシスタント（ＰＤＡ）、ポータブルメディアプレーヤー、ポータブルゲームデバイス、デジタルカメラ、携帯電話、スマートフォン、フィーチャーフォン等）またはコンポーネント（例えば、システムオンチップシステム、プロセッサ、ブリッジ、メモリコントローラ、メモリ等）等の任意のコンピューティングデバイスを備え得る。アーキテクチャデバイス１００は、マイクロプロセッサダイ上の複数のプロセッサ１０２、１または複数のメモリダイ上のシステムメモリ１０４（例えば、揮発性または不揮発性メモリデバイス）、および１または複数のメモリコントローラダイ上のメモリコントローラ１０６を含み得る。メモリコントローラ１０６は、メモリ１０４への、およびメモリ１０４からの複数の入出力動作を制御する。
【０００９】
以下においてより詳細に説明されるように、複数のプロセッサ１０２およびメモリコントローラ１０６は各々、階層的並列分割ネットワーク１０８、１１０をそれぞれ含む。階層的並列分割ネットワーク１０８、１１０は、例えば、デバイス１００の様々なプロセッサおよびメモリの間での通信におけるエネルギー効率を改善し得る。特定の用途に応じて、他の複数の特徴および利点が実現され得ることが理解される。
【００１０】
例示された実施形態において、階層的並列分割ネットワーク１０８は、複数のプロセッサ１０２のダイまたは複数のダイへと組み込まれ、複数の階層的並列分割ネットワーク１１０は、メモリコントローラ１０６のダイまたは複数のダイへと組み込まれる。しかし、階層的並列分割ネットワーク１０８、１１０は、特定の用途に応じては、コンピュータアーキテクチャデバイス１００の他の複数の回路に組み込まれ得ることが理解される。
【００１１】
コンピュータアーキテクチャデバイス１００は、ストレージ１１６（例えば、磁気ディスクドライブ、光ディスクドライブ、テープドライブ、フラッシュメモリ等の不揮発性ストレージ）を更に含み得る。ストレージ１１６は、内部ストレージデバイスまたは取り付けられた、もしくはネットワークでアクセス可能なストレージを備え得る。ストレージ１１６における複数のプログラムは、メモリ１０４へとロードされ、複数のプロセッサ１０２のうち１または複数のプロセッサによって、当技術分野で既知のやり方で実行される。コンピュータアーキテクチャデバイス１００は、Ｅｔｈｅｒｎｅｔ（登録商標）、ファイバチャネル仲介のループ等の外部ネットワークとの通信を可能にするべく、ネットワークコントローラまたはアダプタ１１８を更に含む。更に、アーキテクチャは、ある複数の実施形態において、ディスプレイモニタ上に情報をレンダリングするビデオコントローラ１２０を含み得、それにおいて、ビデオコントローラ１２０は、ビデオカード上で具現化され、またはマザーボードまたは他の基板上に取り付けられた複数の集積回路コンポーネントに統合され得る。入力デバイス１２２は、プロセッサ１０２への入力を提供するべく用いられ、キーボード、マウス、ペンスタイラス、マイクロフォン、タッチセンサー式ディスプレイスクリーン、複数の入力ピン、複数のソケット、または当技術分野で周知である、任意の他の起動もしくは入力メカニズムを含み得る。出力デバイス１２４は、複数のプロセッサ１０２、またはディスプレイモニタ、プリンタ、ストレージ、出力ピン、ソケット等の他のコンポーネントから送信される情報をレンダリングすることが可能である。ネットワークアダプタ１１８は、周辺コンポーネント相互接続（ＰＣＩ）カード、ＰＣＩエクスプレス、または他の何らかのＩ／Ｏカード等のネットワークカードにおいて、またはマザーボードもしくは他の基板上に取り付けられた集積回路コンポーネントにおいて、具現化され得る。
【００１２】
デバイス１００の複数のコンポーネントのうちの１または複数は、特定の用途に応じて省略され得る。例えば、ネットワークルータは、例えばビデオコントローラ１２０を欠くかもしれない。また、コンピュータアーキテクチャデバイス１００の複数のコンポーネントのうちの１または複数は、本明細書の一態様に従って、階層的並列分割ネットワーク通信を用いる１または複数の集積回路を含み得る。
【００１３】
図２は、複数のブロック２００ａ、２００ｂ、...２００ｎ、２０２ａ、２０２ｂ、...２０２ｎ等を示す。各ブロックは、本明細書においてブロック階層レベルまたは単にブロックレベルと呼ばれる第１の階層レベルのブロックレベルを定義する。以下においてより詳細に記載されるように、ブロック２００ａ、２００ｂ、...２００ｎ、２０２ａ、２０２ｂ、...２０２ｎ等の各ブロックは、ブロックネットワークによって相互接続されている複数のプロセッサおよび複数のメモリを含む。
【００１４】
複数のブロック２００ａ、２００ｂ、...２００ｎは、第１のユニット２１０ａを形成すべく、ユニットレベルスイッチ２０８ａによって編成され相互接続されている。同様に、複数のブロック２０２ａ、２０２ｂ、...２０２ｎは、第２のユニット２１０ｂを形成すべく、第２のユニットレベルスイッチ２０８ｂによって相互接続されている。図２においてユニット２１０ｎとして概略的に表されるような複数の追加のユニットが、図２において個々に示されていない複数の追加のブロックおよび複数のユニットレベルスイッチを用いて同様の形式で形成され得る。
【００１５】
複数のユニット２１０ａ、２１０ｂ、...２１０ｎの各ユニットは、ブロックレベルのユニットレベルよりも高い第２の階層レベルのユニットレベルを定義する。第２の階層レベルのユニットレベルは、本明細書ではユニット階層レベルまたは単にユニットレベルと呼ばれる。
【００１６】
ユニット２１０ａ、２１０ｂ、...２１０ｎを含む複数のユニットは、ユニット間レベルスイッチ２２０ａによって編成され相互接続される。ユニット間レベルスイッチ２２０ａによって相互接続されたユニット２１０ａ、２１０ｂ、...２１０ｎを含む複数のユニットは、ユニットレベルのユニット間レベルよりも高い第３の階層レベルのユニット間レベルを定義する。第３の階層レベルのユニット間レベルは、本明細書において、ユニット間階層レベルまたは単にユニット間レベルと呼ばれる。
【００１７】
図３は、図２のブロック２００ａ等のブロックのための複数のブロックレベルネットワーク相互接続の一例を示す。図３のブロック２００ａのためのネットワーク相互接続は、ユニット２１０ａのブロック２００ａ、２００ｂ、...２００ｎ、ユニット２１０ｂのブロック２０２ａ、２０２ｂ、...２０２ｎ、およびユニットｎを含む複数の残りのユニットの複数のブロックの各々のためのブロックレベルネットワーク相互接続を表している。
【００１８】
ブロック２００ａは、例えば直列または並列バス、またはクロスバーもしくはマトリクススイッチネットワークであってよいブロックネットワーク３２０によって相互接続された複数の処理エンジン、コアまたは他のプロセッサ３１０ａ、３１０ｂ、...３１０ｎおよび複数の共有メモリ３１４ａ、３１４ｂ、...３１４ｎを含む。複数の他のタイプのネットワークが、特定の用途に応じて、ブロックの複数のコンポーネントを相互接続するべく用いられ得る。各プロセッサ３１０ａ、３１０ｂ、...３１０ｎは、ブロックネットワーク３２０を通じてブロック２００ａの他のプロセッサ３１０ａ、３１０ｂ、...３１０ｎのいずれか、および共有メモリ３１４ａ、３１４ｂ、...３１４ｎのいずれかとローカルに通信し得る。ブロックネットワーク３２０へのアクセスは、ブロックネットワーク３２０へのアクセスの複数の衝突する要求を仲裁する制御ロジック３２４によって許可される。一度アクセスを許可すると、プロセッサ３１０ａ、３１０ｂ、...３１０ｎは、ブロックネットワーク３２０を通じてブロック２００ａの他のプロセッサ３１０ａ、３１０ｂ、...３１０ｎのいずれかおよび共有メモリ３１４ａ、３１４ｂ、...３１４ｎのいずれかからデータのパケットをそれぞれ読み取るか、またはそれらのいずれかへデータのパケットをそれぞれ書き込んでよい。例示された実施形態において、ブロックネットワーク３２０はバッファが不足し、エネルギー消費を低減させる。しかし、いくつかの実施形態において、ブロックネットワーク３２０または１または複数のブロックは、ブロックネットワーク３２０に結合されたローカルバッファにおいて複数のパケットをバッファリングし得ることが分かる。
【００１９】
本明細書の他の態様に従って、ブロック２００ａ等の複数のブロックと、デバイス１００の複数の他のブロックおよびデバイス１００のメモリコントローラ１０６との相互接続は、複数の並列分割パケットネットワーク、つまり並列分割パケットネットワーク１、並列分割パケットネットワーク２、...並列分割パケットネットワークｎへと分割される。各並列分割パケットネットワーク１、２、...ｎは、複数の並列分割パケットネットワークのその他の並列分割パケットネットワークから独立している。従って、例えばブロック２００ａの例えばプロセッサ３１０ａ等のプロセッサは、データのパケットを、パケットを全体的または部分的に、他の並列分割パケットネットワーク２...ｎを通じて送信せずに、例えば、並列分割パケットネットワーク１等の選択された並列分割パケットネットワークを通じて、別のブロックまたはメモリ１０６へ送信し得る。
【００２０】
一実施形態において、ブロックネットワーク３２０によって相互接続されたプロセッサ３１０ａ、３１０ｂ、...３１０ｎおよび共有メモリ３１４ａ、３１４ｂ、...３１４ｎは、特定の並列分割パケットネットワークのための優先権が割り当てられ得る。従って、例えば、プロセッサ３１０ａおよび共有メモリ３１４ａには、例えば、並列分割パケットネットワーク１を通じて、複数のパケットを送信または受信する優先権が割り当てられ得る。同様の形式で、例えば、プロセッサ３１０ｂおよび共有メモリ３１４ｂには、例えば並列分割パケットネットワーク２を通じて複数のパケットを送信または受信する優先権が割り当てられ得る。ブロックネットワーク３２０の制御ロジック３２４は、特定のプロセッサまたは共有メモリに割り当てられた複数の並列分割パケットネットワーク１、２、...ｎの並列分割パケットネットワークを選択する並列分割パケットネットワーク制御ロジックを含み、そのプロセッサまたは共有メモリのためのパケットを、複数のその他の並列分割パケットネットワークから独立している選択された並列分割パケットネットワークを介して送信する。従って、共通バスまたはクロスバーネットワークにおける複数のパケットは、逆多重化され、割り当てられた並列分割パケットネットワークへ、向けられる。複数の特定の割り当ては、特定の用途に応じて、プロセッサ、複数の共有メモリおよび複数の並列分割パケットネットワークの数、または複数の他の因子に応じて変化し得る。
【００２１】
ブロック間の相互接続およびブロックとシステムのメモリコントローラとの相互接続を、独立した複数の並列分割ネットワークへと分割することにより、エネルギーの使用が低減され得ると考えられている。例えば、独立した並列分割ネットワークのそれぞれは、パケットトラフィックが、各ブロックに対する複数の他の独立した並列分割パケットネットワークにわたって分散されることから、より低い帯域幅によって生じるエネルギー使用を低減したかもしれない。
【００２２】
本明細書の他の態様に従って、各並列分割パケットネットワーク１、２、...ｎは、複数の階層レベルを有する。図３は、各並列分割パケットネットワーク、並列分割パケットネットワーク１、並列分割パケットネットワーク２...並列分割パケットネットワークｎが、例えばブロック２００ａについて図示されるように、デバイス１００の各ブロックのブロックネットワーク３２０に結合されている各並列分割パケットネットワークのブロックレベル階層レベルを示す。図３において更に図示されるように、ブロック２００ａの各並列分割パケットネットワーク、並列分割パケットネットワーク１、並列分割パケットネットワーク２...並列分割パケットネットワークｎは、並列分割パケットネットワーク接続３５０ａａ、３５０ａｂ...３５０ａｎによって、例示された実施形態におけるユニットレベルである、次のより高い階層レベルにそれぞれ結合される。同様の形式において、デバイス１００の残りのブロックの各々の各並列分割パケットネットワーク、並列分割パケットネットワーク１、並列分割パケットネットワーク２...並列分割パケットネットワークｎは、同様に、複数の並列分割パケットネットワーク接続によって、例示された実施形態におけるユニットレベルである次のより高い階層レベルに結合される。
【００２３】
図４は、図２の例えばユニット２１０ａに対するユニットレベルにおける、並列分割パケットネットワーク１の一例を示す。図４のユニット２１０ａに対するユニットレベル並列分割パケットネットワーク１は、ユニット２１０ａのユニットレベル並列分割パケットネットワーク２、３...ｎの各々を表す。ユニット２１０ａのユニットレベル並列分割パケットネットワーク１、２、...ｎは、ユニット２１０ｂのユニットレベル並列分割パケットネットワーク１、２、...ｎ、およびユニットｎを含む残りの複数のユニットのユニットレベル並列分割パケットネットワーク１、２、...ｎを表す。
【００２４】
図４に示されるように、並列分割パケットネットワーク１の並列分割パケットネットワーク接続３５０ａａ（図３、４）は、並列分割パケットネットワーク１のユニットレベル並列分割スイッチ４１０ａに結合される。ユニットレベル並列分割スイッチ４１０ａは、図２および６のユニットレベルスイッチ２０８ａの独立した並列分割である。図４に示されるように、ユニット２１０ａの残りのブロック２００ｂ...２００ｎの各々（図２）は、また、並列分割パケットネットワーク１のネットワーク接続３５０ａａ（図３、４）と同様に、並列分割パケットネットワーク１の並列分割ネットワーク接続３５０ｂａ...３５０ｎａのそれぞれによって、並列分割パケットネットワーク１のユニットレベル並列分割スイッチ４１０ａに結合されている。
【００２５】
並列分割パケットネットワーク１のユニットレベル並列分割スイッチ４１０ａにまた結合されているのは、並列分割パケットネットワーク１の複数の共有メモリ４１４ａ、...４１４ｎおよび並列分割ネットワーク接続４２０ａａである。ユニットレベル並列分割スイッチ４１０ａは、例えば、クロスバーまたはマトリクススイッチネットワークであってよい。複数の他のタイプのスイッチネットワークが、特定の用途に応じて、ユニット２１０ａの複数のコンポーネント（図２）を相互接続するべく用いられ得る。ユニット２１０ａの各ブロック２００ａ、２００ｂ...２００ｎのプロセッサ（図２）は、ユニットレベル並列分割スイッチ４１０ａを通じてユニットブロック２００ａの他のブロック２００ａ、２００ｂ...２００ｎのいずれか、および共有メモリ４１４ａ、...４１４ｎのいずれかと、ユニットレベルで通信し得る。ユニットレベル並列分割スイッチ４１０ａへのアクセスは、ユニットレベル並列分割スイッチ４１０ａへのアクセスの複数の衝突する要求を仲裁する制御ロジック４２４によって許可される。一度アクセスを許可すると、ユニット２１０ａのブロック２００ａ、２００ｂ...２００ｎのプロセッサ（図２）は、ユニットレベル並列分割スイッチ４１０ａを通じて、ユニット２１０ａのブロック２００ａ、２００ｂ、...２００ｎ（図２）のプロセッサもしくはメモリからそれぞれデータのパケットを読み取ってよい、またはそこへ書き込んでよい。
【００２６】
例示された実施形態において、ユニットレベル並列分割スイッチ４１０ａはバッファを不足し、エネルギー消費を低減させる。従って、ユニットレベル並列分割スイッチ４１０ａの制御ロジック４２４およびユニット２１０ａのブロック２００ａ、２００ｂ...２００ｎ（図２）の各々の各ブロックネットワーク３２０の制御ロジック３２４は、パケット送信元の送信元ブロックネットワーク３２０、およびパケット宛先の宛先ブロックネットワーク３２０、および中間ユニットレベル並列分割スイッチ４１０ａへのアクセスを認可するように協働し、送信元ることにより、パケットは、その送信元ブロックからその宛先ブロックへと、ユニットレベル並列分割スイッチ４１０ａを介してバッファリングせずに送信され得る。従って、一実施形態において、ユニットレベル並列分割スイッチ４１０ａの制御ロジック４２４およびユニット２１０ａのブロック２００ａ、２００ｂ...２００ｎ（図２）の各々の各ブロックネットワーク３２０の制御ロジック３２４は、パケット送信元の送信元ブロックネットワーク３２０、およびパケット宛先の宛先ブロックネットワーク３２０、および中間ユニットレベル並列分割スイッチ４１０ａへの同時アクセスを認可するように協働する。別の実施形態において、バッファリングが、特定の用途に応じて、ブロックネットワーク３２０レベルまたはユニットレベル並列分割スイッチ４１０ａレベルにおいて、またはそれらの両方において追加され得る。従って、いくつかの実施形態において、例えば、ユニットレベル並列分割スイッチ４１０ａまたは１または複数のブロックは、ユニットレベル並列分割スイッチ４１０ａまたはユニット２１０ａの様々なブロック２００ａ、２００ｂ...２００ｎ（図２）の１または複数のブロックネットワーク３２０に結合されたローカルバッファにおいて、複数のパケットをバッファリングし得ることが理解される。
【００２７】
ユニットレベル並列分割スイッチ４１０ａに加えて、ユニット２１０ａのユニットレベルスイッチ２０８ａ（図２および６）は、また、図６に示されるように、残りの並列分割パケットネットワークの各々、並列分割パケットネットワーク２...並列分割パケットネットワークｎのための独立した並列分割のユニットレベルスイッチ４１０ｂ...４１０ｎ（図６）をそれぞれ有する。各ユニットレベル並列分割スイッチ４１０ｂ...４１０ｎは、並列分割パケットネットワーク１について上に記載されたユニットレベル並列分割スイッチ４１０ａと同様である。従って、各並列分割パケットネットワーク１、２、...ｎは、システムメモリ１０４（図１）およびユニット２１０ａの複数のブロック２００ａ、２００ｂ、...２００ｎの各々の各ブロックネットワーク３２０に結合されたユニット階層レベル（図２）で、ユニットレベル並列分割スイッチ４１０ａ、４１０ｂ...４１０ｎをそれぞれ有する。
【００２８】
ユニット２１０ｂのユニットレベルスイッチ２０８ｂ（図２および６）は、並列分割パケットネットワークの各々、１、２、ｎのための独立した並列分割のユニットレベルスイッチ４１０ａ、４１０ｂ...４１０ｎ（図６）を同様にそれぞれ有する。ユニットレベルスイッチ２０８ｂの各ユニットレベル並列分割スイッチ４１０ａ、４１０ｂ...４１０ｎは、並列分割パケットネットワーク１について上述されたユニット２１０ａのユニットレベルスイッチ２０８ａのユニットレベル並列分割スイッチ４１０ａに類似している。従って、ユニット２１０ｂの各並列分割パケットネットワーク１、２、...ｎは、システムメモリ１０４（図１）およびユニット２１０ｂの複数のブロック２０２ａ、２０２ｂ、...２０２ｎの各々の各ブロックネットワーク３２０に結合されているユニット階層レベル（図２）で、ユニットレベル並列分割スイッチ４１０ａ、４１０ｂ...４１０ｎをそれぞれ有する。ユニット２１０ｎを含む残りの複数のユニットの各々は、同様の形式で構築される。
【００２９】
例えば、ブロック２００ａに対するブロックネットワーク３２０（図３）は、並列分割ネットワーク１、２、３...ｎのネットワーク接続３５０ａａ、３５０ａｂ、３５０ａｃ...３５０ａｎによって、ユニット２１０ａのユニットレベルスイッチ２０８ａのユニットレベル並列分割スイッチ４１０ａ、４１０ｂ...４１０ｎ（図６）にそれぞれ結合されていることが、図３、６に示されている。同様に、ブロック２００ｂは、並列分割ネットワーク１、２、...ｎのネットワーク接続３５０ｂａ、３５０ｂｂ...３５０ｂｎ（図６）によって、ユニット２１０ａのユニットレベルスイッチ２０８ａのユニットレベル並列分割スイッチ４１０ａ、４１０ｂ...４１０ｎ（図６）にそれぞれ結合されている、ブロック２００ａのブロックネットワーク３２０（図３）と同様のブロックネットワークを有する。同様に、ブロック２００ｎは、並列分割ネットワーク１、２、...ｎのネットワーク接続３５０ｎａ、３５０ｎｂ...３５０ｎｎによって、ユニット２１０ａのユニットレベルスイッチ２０８ａのユニットレベル並列分割スイッチ４１０ａ、４１０ｂ...４１０ｎ（図６）にそれぞれ結合されている、ブロック２００ａのブロックネットワーク３２０（図３）と同様のブロックネットワークを有する。同様に、ブロック２０２ａ、２０２ｂ、...２０２ｎの各ブロックは、並列分割ネットワーク１、２、...ｎの各々のネットワーク接続によって、ユニット２１０ｂのユニットレベルスイッチ２０８ｂのユニットレベル並列分割スイッチ４１０ａ、４１０ｂ...４１０ｎ（図６）に結合されている、ブロック２００ａのブロックネットワーク３２０（図３）と同様のブロックネットワークを有する。ユニットｎを含む複数の残りのユニットの複数のブロックおよび複数のユニットレベルスイッチは、同様の形式で相互接続される。
【００３０】
並列分割パケットネットワーク１のユニットレベル並列分割スイッチ４１０ａを再び参照すると、並列分割ネットワーク１の並列分割ネットワーク接続４２０ａａは、ユニット２１０ａのユニットレベル並列分割スイッチ４１０ａ（図２）を、例えば、例示された実施形態においてユニット間レベル（図２）である、次の階層レベルに接続する。
【００３１】
図５は、ユニット間階層レベルにおける並列分割パケットネットワーク１の一例を示す。図５のユニット間レベル並列分割パケットネットワーク１は、ユニット間レベル並列分割パケットネットワーク２、３...ｎの各々の代表例である。
【００３２】
図５に示されるように、並列分割パケットネットワーク１のネットワーク接続４２０ａａ（図４、５）は、ユニット２１０ａのユニットレベル並列分割スイッチ４１０ａを、並列分割パケットネットワーク１のユニット間レベル並列分割スイッチ５１０ａに接続する。ユニット間レベル並列分割スイッチ５１０ａは、図２および図６のユニット間レベルスイッチ２２０ａの独立した並列分割である。図５に示されるように、残りのユニット２１０ｂ...２１０ｎの各々に対する並列分割パケットネットワーク１のユニットレベル並列分割スイッチ４１０ａは、また、並列分割パケットネットワーク１のユニット間レベル並列分割スイッチ５１０ａに、ユニット２１０ａのユニットレベル並列分割スイッチ４１０ａに対する、並列分割パケットネットワーク１の並列分割ネットワーク接続４２０ａａ（図４、５）と類似した並列分割パケットネットワーク１の並列分割ネットワーク接続４２０ｂａ…４２０ｎａによって、それぞれ結合されている。
【００３３】
一実施形態において、並列分割パケットネットワーク１の複数の共有メモリ５１４ａ、...５１４ｎおよびネットワーク接続５２０ａは、また、（もしある場合）次の階層レベルまで、並列分割パケットネットワーク１のユニット間レベル並列分割スイッチ５１０ａに結合され得る。ユニット間レベル並列分割スイッチ５１０ａは、例えば、クロスバーまたはマトリクススイッチネットワークであってよい。複数の他のタイプのスイッチネットワークは、特定の用途に応じて、ユニット間レベル並列分割スイッチ５１０ａに接続された複数のコンポーネントを相互接続するために用いられ得る。各ユニット２１０ａ、２１０ｂ、...２１０ｎの複数のプロセッサは、他のユニット２１０ａ、２１０ｂ、...２１０ｎのいずれかおよび共有メモリ５１４ａ、...５１４ｎのいずれかと、並列分割パケットネットワーク１のユニット間レベル並列分割スイッチ５１０ａを通じてユニット間レベルで通信し得る。
【００３４】
ユニット間レベル並列分割スイッチ５１０ａへのアクセスは、ユニット間レベル並列分割スイッチ５１０ａへのアクセスの複数の衝突する要求を仲裁する制御ロジック５２４によって許可される。一度アクセスを許可すると、ユニット２１０ａ、２１０ｂ、...２１０ｎのプロセッサは、並列分割パケットネットワーク１のユニット間レベル並列分割スイッチ５１０ａを通じて、ユニット２１０ａ、２１０ｂ、...２１０ｎのプロセッサもしくはメモリまたはユニット間メモリ５１４ａ、...５１４ｎのそれぞれからデータのパケットを読み取ってよく、またはそこへ書き込んでよい。
【００３５】
例示された実施形態において、ユニット間レベル並列分割スイッチ５１０ａは、エネルギー消費を低減するように、バッファを欠いている。従って、ユニット間レベル並列分割スイッチ５１０ａの制御ロジック５２４、ユニット２１０ａのユニットレベル並列分割スイッチ４１０ａ、４１０ｂ、...４１０ｎそれぞれの制御ロジック４２４、およびユニット２１０ａ、２１０ｂ、...２１０ｎのブロックの各々の各ブロックネットワーク３２０の制御ロジック３２４は、送信元ブロックネットワーク３２０およびパケット送信元の送信元ユニットレベル並列分割スイッチ４１０ａ、および中間ユニット間レベル並列分割スイッチ５１０ａ、および宛先ユニットレベル並列分割スイッチ４１０ａ、およびパケット宛先の宛先ブロックネットワーク３２０へのアクセスを認可するように協働し、送信元ることにより、パケットは、その送信元ブロックからその宛先ブロックまで、ユニット間レベル並列分割スイッチ５１０ａ、並びに送信元および複数の宛先ユニットレベル並列分割スイッチ４１０ａを介してバッファリングせずに送信され得る。
【００３６】
従って、一実施形態において、ユニット間レベル並列分割スイッチ５１０ａの制御ロジック５２４、ユニット２１０ａ、２１０ｂ、...２１０ｎの各々の各ユニットレベル並列分割スイッチ４１０ａの制御ロジック４２４、およびユニット２１０ａ、２１０ｂ、...２１０ｎの各々のブロックの各々の各ブロックネットワーク３２０の制御ロジック３２４は、パケット送信元の選択されたブロックネットワーク３２０および選択されたユニットレベル並列分割スイッチ４１０ａ、およびパケット宛先の選択されたブロックネットワーク３２０および選択されたユニットレベル並列分割スイッチ４１０ａ、および中間ユニット間レベル並列分割スイッチ５１０ａへの同時アクセスを認可するように協働し、送信元ることにより、パケットは、送信元から宛先までのパケットのパスのユニット間レベル並列分割スイッチ５１０ａ、ユニットレベル並列分割スイッチ４１０ａ、およびブロックネットワーク３２０を介して、その送信元ブロックからその宛先ブロックへ送信され得る。
【００３７】
別の実施形態において、バッファリングは、特定の用途に応じて、ブロックネットワーク３２０レベルまたはユニットレベル並列分割スイッチ４１０ａレベルまたはユニット間レベル並列分割スイッチ５１０ａレベルまたは様々な組み合わせで、追加され得る。従って、例えばいくつかの実施形態において、ユニット間レベル並列分割スイッチ５１０ａ、または、１または複数のユニットもしくはブロックは、ユニット間レベル並列分割スイッチ５１０ａ、複数のユニットレベル並列分割スイッチ４１０ａ、またはユニット２１０ａ、２１０...２１０ｎの様々なブロックの１または複数のブロックネットワーク３２０に結合されているローカルバッファにおいて、複数のパケットをバッファリングし得ることが理解される。
【００３８】
ユニット間レベル並列分割スイッチ５１０ａに加えて、ユニット間レベルスイッチ２２０ａ（図２および６）は、また、図６に示されるように、残りの並列分割パケットネットワークの各々、並列分割パケットネットワーク２...並列分割パケットネットワークｎのそれぞれについて、独立した並列分割のユニット間レベルスイッチ５１０ｂ...５１０ｎ（図６）を有する。各ユニット間レベル並列分割スイッチ５１０ｂ...５１０ｎは、並列分割パケットネットワーク１について上に記載されたユニット間レベル並列分割スイッチ５１０ａに類似している。従って、各並列分割パケットネットワーク１、２、...ｎは、ユニットレベルスイッチ２０８ａの並列分割パケットネットワーク１、２、...ｎそれぞれのための、ユニットレベル並列分割スイッチ４１０ａ、４１０ｂ、...４１０ｎにそれぞれ結合されているユニット間階層レベル（図２）のユニット間レベル並列分割スイッチ５１０ａ、５１０ｂ...５１０ｎをそれぞれ有する。
【００３９】
従って、並列分割パケットネットワーク１のためのユニット２１０ａのユニットレベルスイッチ２０８ａのユニットレベル並列分割スイッチ４１０ａ（図４）は、並列分割ネットワーク１の並列分割ネットワーク接続４２０ａａによって、ユニット間レベル並列分割スイッチ５１０ａ（図５、６）に結合されていることが、図４、６に示されている。同様に、ユニット２１０ａのユニットレベルスイッチ２０８ａの残りのユニットレベル並列分割スイッチ４１０ｂ...４１０ｎ（図６）は、並列分割ネットワーク２、...ｎそれぞれの並列分割ネットワーク接続４２０ａｂ、...４２０ａｎ（図６）のそれぞれによって、ユニット間レベルスイッチ２２０ａのユニット間レベル並列分割スイッチ５１０ｂ、...５１０ｎにそれぞれ結合されている。同様に、ユニット２１０ｂのユニットレベルスイッチ２０８ｂの各ユニットレベル並列分割スイッチ４１０ａ、４１０ｂ...４１０ｎは、各並列分割ネットワーク１、２、...ｎの複数の並列分割ネットワーク接続のそれぞれによって、ユニット間レベルスイッチ２２０ａのユニット間レベル並列分割スイッチ５１０ａ、５１０ｂ、...５１０ｎのそれぞれに結合されている。ユニットｎを含む複数の残りのユニットの複数の残りのユニットレベルスイッチの複数の残りのユニットレベル並列分割スイッチは、各並列分割ネットワーク１、２、...ｎの複数の並列分割ネットワーク接続のそれぞれによって、ユニット間レベルスイッチ２２０ａのユニット間レベル並列分割スイッチ５１０ａ、５１０ｂ...５１０ｎのそれぞれに結合されている。
【００４０】
このように、デバイス１００は、例示された実施形態におけるユニットレベルである第２の階層レベルよりも高い第３の階層レベルのユニット間レベル（図２）を定義するように編成された複数のユニット２１０ａ、２１０...２１０ｎを備える。各ユニット２１０ａ、２１０...２１０ｎは、個々にユニット階層レベルにあり（図２）、例えばユニット２１０ａのブロック２００ａ、２００ｂ、...２００ｎ等の複数のブロックを備える。各ブロックは、個々に、例示された実施形態においてブロックレベルである第１の階層レベルにある。ブロックレベルは、この実施形態において、ユニットレベルより低い。
【００４１】
各並列分割パケットネットワーク１、２、...ｎは、例えば、ユニットレベルスイッチ２０８ａのユニットレベル並列分割スイッチ４１０ａ、４１０ｂ、...４１０ｎ等のユニットレベル並列分割スイッチを、各ユニットに対するユニット階層レベルにおいて、それぞれ有し、システムメモリ１０４および特定のユニットの複数のブロックの各ブロックネットワーク３２０に結合されている。各並列分割パケットネットワーク１、２、...ｎは、例えばユニット間レベルスイッチ２２０ａのユニット間レベル並列分割スイッチ５１０ａ、５１０ｂ、...５１０ｎ等のユニット間レベル並列分割スイッチを、ユニット間階層レベルにおいてそれぞれ更に有する。各ユニット間レベル並列分割スイッチは、特定の並列分割パケットネットワークの各ユニットレベル並列分割スイッチに、ユニット階層レベルにおいて結合されている。並列分割ネットワーク制御ロジックは、選択された並列分割パケットネットワークのユニット間レベル並列分割スイッチを介して、ユニット間階層レベルにおいて、および選択された並列分割パケットネットワークの複数の選択されたユニットレベル並列分割スイッチの間で、パケットを交換する。
【００４２】
マイクロプロセッサ１０２（図１）のダイ上の様々なユニットの様々なブロック間で複数のパケットをルーティングすることに加えて、複数のユニットレベル並列分割スイッチは、また、デバイス１００の複数のダイ上で、および複数のダイの外で複数のパケットをルーティングする。例えば、図４を再び参照すると、並列分割パケットネットワーク１のユニットレベル並列分割スイッチ４１０ａは、並列分割パケットネットワーク１の並列分割ネットワーク接続によって、マイクロプロセッサ１０２のダイ外の宛先を有する複数のアウトバウンドパケットを一時的に格納するための出力バッファ４６０ａに結合される。出力バッファ４６０ａは、並列分割パケットネットワーク１の別の並列分割ネットワーク接続によって、（並列分割パケットネットワーク１の）ダイ間並列分割出力チャネル４７０ａに結合され、それは、この実施形態において、メモリコントローラ１０６のダイに結合されている。
【００４３】
並列分割パケットネットワーク１のユニットレベル並列分割スイッチ４１０ａは、また、並列分割パケットネットワーク１の並列分割ネットワーク接続によって、マイクロプロセッサダイ１０２上の宛先を有する複数のインバウンドパケットを一時的に格納するための入力バッファ４６０ｂに、結合される。入力バッファ４６０ｂは、並列分割パケットネットワーク１の別の並列分割ネットワーク接続によって、（並列分割パケットネットワーク１の）ダイ間入力チャネル４７０ｂに結合され、それは、この実施形態において、メモリコントローラ１０６のダイに結合されている。
【００４４】
デバイス１００の例示された実施形態において、各ユニット２１０ａ、２１０...２１０ｎは、メモリコントローラ１０６（図１）の関連するメモリコントローラ１０６ａ、１０６ｂ、...１０６ｎ（図６）を有する。例えば、デバイス１００は、ユニットにおいて８個のブロック、プロセッサ１０２のダイにおいて４個のユニット、およびユニット毎に１個のメモリコントローラを有してよい。プロセッサ、共有メモリ、ブロック、ユニット、ユニット間（unit-to-unit）、メモリコントローラ、ダイ等の数は、特定の用途に応じて変化し得ることが理解される。
【００４５】
この実施形態において、プロセッサ１０２のダイのユニットレベル並列分割スイッチ４１０ａのダイ間チャネル４７０ａ、４７０ｂ、およびメモリコントローラ１０６ａ（図６）のダイのダイ間チャネル７１０ａ、７１０ｂ（図７）は、並列分割パケットネットワーク１のダイ間通信チャネル６４０ａ（図６）に含まれ、プロセッサ１０２（図１）のダイをメモリコントローラ１０６（図１）のメモリコントローラ１０６ａのダイに結合させる。並列分割パケットネットワーク２...ｎのそれぞれに対するユニット２１０ａのユニットレベルスイッチ２０８ａの残りのユニットレベル並列分割スイッチ４１０ｂ...４１０ｎの各々は、ダイ間通信チャネル６４０ｂ、６４０ｎ（図６）のそれぞれによって、メモリコントローラ１０６ａのダイに同様に結合されている。同様に、並列分割パケットネットワーク２...ｎの関連するユニットレベル並列分割スイッチ４１０ｂ...４１０ｎのそれぞれのために、並列分割パケットネットワーク１のユニットレベル並列分割スイッチ４１０ａについて記載された、共有メモリ４１４ａ...４１４ｎ、入出力バッファ４６０ａ、４６０ｂ、およびダイ間チャネル４７０ａ、４７０ｂに類似した複数の関連する共有メモリ、複数の入出力バッファおよび複数のダイ間チャネルを有する。
【００４６】
同様に、ユニット２１０ｂのユニットレベルスイッチ２０８ｂの各ユニットレベル並列分割スイッチ４１０ａ、４１０ｂ...４１０ｎは、各並列分割ネットワーク１、２、...ｎの各々の複数の並列分割ネットワーク接続のそれぞれによって、ユニット間レベルスイッチ２２０ａのユニット間レベル並列分割スイッチ５１０ａ、５１０ｂ...５１０ｎのそれぞれに、結合されている。ユニットｎを含む、複数の残りのユニットの複数の残りのユニットレベルスイッチの複数の残りのユニットレベル並列分割スイッチは、各並列分割ネットワーク１、２、...ｎの複数の並列分割ネットワーク接続のそれぞれによって、ユニット間レベルスイッチ２２０ａのユニット間レベル並列分割スイッチ５１０ａ、５１０ｂ...５１０ｎのそれぞれに、結合されている。
【００４７】
図７は、例えば、メモリコントローラ１０６ａに対するユニットレベルにおいての並列分割パケットネットワーク１の一例を示す。メモリコントローラ１０６ａに対するユニットレベル並列分割パケットネットワーク１は、メモリコントローラ１０６ａのユニットレベル並列分割パケットネットワーク２、３...ｎの各々を表す。メモリコントローラ１０６ａのユニットレベル並列分割パケットネットワーク１、２、...ｎは、メモリコントローラ１０６ｂのユニットレベル並列分割パケットネットワーク１、２、...ｎ、およびメモリコントローラ１０６ｎを含む複数の残りのメモリコントローラのユニットレベル並列分割パケットネットワーク１、２、...ｎを表す。
【００４８】
図７を参照すると、メモリコントローラ１０６ａのダイによって入力される、マイクロプロセッサ１０２（図１）のダイの出力チャネルバッファ４６０ａ（図４）からの並列分割パケットネットワーク１における複数の着信パケットは、ダイ間チャネル６４０ａ（図６）のダイ間入力チャネル７１０ａを介して受信され、別のダイにおけるメモリ１０４（図１）へダイ外に転送されるまで一時的に格納されるように、並列分割パケットネットワーク１のユニットレベル並列分割スイッチ７２０ａを介して入力バッファ７３０ａにルーティングされる。同様に、メモリコントローラ１０６ａのダイによって並列分割パケットネットワーク１において出力されるべきである複数の出力パケットは、出力バッファ７３０ｂにおいて一時的に格納されるように、ユニットレベル並列分割スイッチ７２０ａを介してルーティングされる。出力バッファ７３０ｂの複数のパケットは、マイクロプロセッサ１０２（図１）のダイへとダイ間チャネル６４０ａ（図６）のダイ間出力チャネル７１０ｂおよびダイ間チャネル６４０ａ（図６）のダイ間入力チャネル４７０ｂ（図４）を介してダイ外に転送されるように、ユニットレベル並列分割スイッチ７２０ａを介して、入力チャネルバッファ４６０ｂ（図４）にルーティングされる。
【００４９】
ユニットレベル並列分割スイッチ７２０ａは、例えば、クロスバーまたはマトリクススイッチネットワークであってよい。複数の他のタイプのスイッチネットワークは、特定の用途に応じて、メモリコントローラ１０６ａのユニットレベルにおいて、並列分割パケットネットワーク１の複数のコンポーネントを相互接続するために用いられ得る。
【００５０】
ユニットレベル並列分割スイッチ７２０ａは、並列分割パケットネットワーク１に対するユニットレベルスイッチ８２０（図８）の分割である。ユニットレベル並列分割スイッチ７２０ａに加えて、ユニットレベルスイッチ８２０は、また、図８に示されるように、残りの並列分割パケットネットワークの各々、並列分割パケットネットワーク２...並列分割パケットネットワークｎに対して、独立した並列分割のユニットレベルスイッチ７２０ｂ...７２０ｎをそれぞれ有する。ユニットレベル並列分割スイッチ７２０ｂ...７２０ｎに加えて、残りの並列分割パケットネットワーク２...ｎの各々は、特定の並列分割パケットネットワーク２...ｎのユニットレベル並列分割スイッチに結合された、ダイ間チャネル７１０ａ、７１０ｂに類似した複数のダイ間チャネル、および入出力バッファ７３０ａ、７３０ｂに類似した入出力バッファを有する。
【００５１】
ユニットレベル並列分割スイッチ７２０ａへのアクセスは、ユニットレベル並列分割スイッチ７２０ａへのアクセスの複数の衝突する要求を仲裁する制御ロジック７３４（図７）によって許可される。一度アクセスを許可すると、メモリコントローラ１０６ａは、並列分割パケットネットワーク１のユニットレベル並列分割スイッチ７２０ａを通じて、ダイ間入力および出力チャネル７１０ａ、７１０ｂおよび入出力バッファ７３０ａ、７３０ｂからのデータのパケットをそれぞれ読み取るか、またはそこへ書き込んでよい。
【００５２】
例示された実施形態において、ユニットレベル並列分割スイッチ７２０ａは、ダイ間のパケット転送のためのバッファ７３０ａ、７３０ｂおよび４６０ａ、４６０ｂ（図４）を有する。従って、ユニットレベル並列分割スイッチ７２０ａに対する制御ロジック７３４（図７）の並列分割パケットネットワーク制御ロジックは、並列分割パケットネットワーク１のための制御ロジック３２４（図３）、４２４（図４）、および５２４（図５）の並列分割パケットネットワーク制御ロジックからより独立して動作し得る。別の実施形態において、バッファリングは、特定の用途によっては、ユニットレベル並列分割スイッチ７２０ａに対して省略され得る。
【００５３】
メモリコントローラ１０６ａは、複数の共通のダイ間通信チャネル７４０ａ、７４０ｂ...７４０ｎを更に有し、それらの各々は、複数の並列分割パケットネットワーク１、２、...ｎの各々からの複数のパケットを伝送するように適合されている。例示された実施形態において、共通通信チャネル７４０ａ、７４０ｂ...７４０ｎ（図７）によって伝送される（図９のパケット９１０によって表されるような）各パケットは、パケットをメモリコントローラ１０６ａへ伝送した並列分割パケットネットワーク１、２、...ｎの例えば並列分割パケットネットワーク１等、特定の並列分割パケットネットワークを識別する並列分割パケットネットワーク識別タグ９２０（図９）を有する。
【００５４】
メモリコントローラ１０６ａは、各並列分割パケットネットワーク１、２、...ｎに結合された共通ユニットレベルスイッチ７５０を更に有する。従って、並列分割パケットネットワーク１のユニットレベル並列分割スイッチ７２０ａは、並列分割パケットネットワーク１、２、...ｎのための共通ユニットレベルスイッチ７５０に、並列分割ネットワーク接続７５４ａによって接続されていることが示される。同様に、残りのユニットレベル並列分割スイッチ７２０ｂ...７２０ｎ（図８）は、並列分割パケットネットワーク１、２、...ｎのための共通ユニットレベルスイッチ７５０に、並列分割ネットワーク接続７５４ｂ...７５４ｎによってそれぞれ接続されていることが示される。
【００５５】
共通ユニットレベルスイッチ７５０へのアクセスは、共通ユニットレベルスイッチ７５０へのアクセスの複数の衝突する要求を仲裁する制御ロジック７６０によって許可される。一度アクセスを許可すると、メモリコントローラ１０６ａは、並列分割パケットネットワーク１の共通ユニットレベルスイッチ７５０およびユニットレベル並列分割スイッチ７２０ａを通じて並列分割パケットネットワーク１のダイ間入出力チャネル７４０ａ、７４０ｂ、...７４０ｎおよび入出力バッファ７３０ａ、７３０ｂからデータのパケットの読み取り、またはそこへの書き込みをそれぞれ行ってよい。同様に、一度アクセスが許可されると、メモリコントローラ１０６ａは、並列分割パケットネットワーク２、３...ｎの共通ユニットレベルスイッチ７５０および関連するユニットレベル並列分割スイッチ７２０ｂ...７２０ｎをそれぞれ通じて、関連する並列分割パケットネットワーク２...ｎのダイ間入出力チャネル７４０ａ、７４０ｂ...７４０ｎおよび入出力バッファからのデータのパケットの読み取り、またはそこへの書き込みをそれぞれ行ってよい。
【００５６】
共通ユニットレベルスイッチ７５０は、例えば、クロスバーまたはマトリクススイッチネットワークであってよい。複数の他のタイプのスイッチネットワークが、特定の用途に応じて、メモリコントローラ１０６ａのための共通ユニットレベルスイッチ７５０に結合された複数のコンポーネントを相互接続するために用いられ得る。
【００５７】
共通ユニットレベルスイッチ７５０の制御ロジック７６０の並列分割パケットネットワーク制御ロジックは、並列分割パケットネットワーク１、２、３...ｎの各々からの複数のパケットを、複数の並列分割パケットネットワーク１、２、...ｎの各々からの複数のパケットを伝送するために、選択された共通ダイ間通信チャネル７４０ａ、７４０ｂ...７４０ｎへと多重化する。共通ユニットレベルスイッチ７５０の制御ロジック７６０の並列分割パケットネットワーク制御ロジックは、パケット９１０が到達した特定の並列分割パケットネットワーク１、２、３...ｎを識別すべく、各並列分割パケットネットワーク１、２、３...ｎからのパケットを、タグ９２０（図９）でタグ付けし、タグ付きパケットを、共通ユニットレベル７５０スイッチ（マルチプレックス）を介して、ダイ間入出力通信チャネル７４０ａ、７４０ｂ...７４０ｎのうち１つに切り替えるように更に適合されている。タグ９２０は、特定の用途に応じて、パケットのヘッダまたは他の適切な部分に配置され得る。従って、一実施形態において、並列分割ネットワーク識別は、ダイ外にパケットを送信する前に複数のダイ境界において複数のパケットに追加され得る。
【００５８】
例示された実施形態において、ダイ間入出力通信チャネル７４０ａ、７４０ｂ...７４０ｎはそれぞれ、システムメモリ１０４（図１）のメモリ領域を含むダイに接続される。一実施形態において、メモリ１０４は、ハイブリッドキューブまたは動的ランダムアクセスメモリ（ＤＲＡＭ）スタックフォームを有し得る。しかし、特定の用途に応じて、複数の他のメモリが利用され得ることが分かる。共通ユニットレベル７５０スイッチおよびダイ間入出力通信チャネル７４０ａ、７４０ｂ...７４０ｎは、特定の用途に応じて、入出力コントローラ、ストレージ等の複数の他の機能のための複数の他のタイプのダイに結合されてよいことが、更に分かる。
【００５９】
共通ユニットレベルスイッチ７５０の制御ロジック７６０の並列分割パケットネットワーク制御ロジックは、ダイ間入出力通信チャネル７４０ａ、７４０ｂ...７４０ｎのうち１つから受信されたパケット９１０のタグ９２０（図９）を読み取り、パケット９１０を、パケット９１０のタグ９２０によって識別される特定の並列分割パケットネットワーク１、２、...ｎに、共通ユニットレベルスイッチ７５０を介して、切り替えるように適合されている。一実施形態において、共通ユニットレベルスイッチ７５０の制御ロジック７６０の並列分割パケットネットワーク制御ロジックは、タグを読み取った後、パケット９１０から取り除かれたタグ９２０によって識別される特定の並列分割パケットネットワーク１，２、...ｎへパケットを転送することに先立って、ダイ間入出力通信チャネル７４０ａ、７４０ｂのうち１つから受信されたパケット９１０からタグ９２０（図９）を取り除く。複数の他の実施形態において、制御ロジック７６０の並列分割パケットネットワーク制御ロジックは、ダイ間入出力通信チャネル７４０ａ、７４０ｂ...７４０ｎのうち１つから受信されたパケット９１０から読み取られたタグ９２０（図９）を保持し得る。このように、パケットは、パケット９１０のタグ９２０によって識別された特定の並列分割パケットネットワーク１、２、...ｎに転送され得て、タグ９２０は未だにパケット内にある。
【００６０】
例示された実施形態において、共通ユニットレベルスイッチ７５０の制御ロジック７６０（図７）の並列分割パケットネットワーク制御ロジックは、ユニットレベルスイッチ７２０ａ、７２０ｂ、...７２０ｎおよび共通ユニットレベルスイッチ７５０へのアクセスを許可するときに、並列分割パケットネットワーク１、２、...ｎのそれぞれのユニットレベル並列分割スイッチ７２０ａ、７２０ｂ、...７２０ｎに対する制御ロジック７３４（図７）の並列分割パケットネットワーク制御ロジックと協働する。このように、複数のパケットは、ダイ間入出力通信チャネル７４０ａ、７４０ｂ、...７４０ｎと、例えば並列分割パケットネットワーク１のための入出力バッファ７３０ａ、７３０ｂ等の、各並列分割パケットネットワーク１、２、...ｎのメモリコントローラ１０６ａの入出力バッファとの間において、追加のバッファリングを行うことなく転送され得る。別の実施形態において、バッファリングが、特定の用途に応じて、共通ユニットレベルスイッチ７５０およびユニットレベル並列分割スイッチ７２０ａ、７２０ｂ、...７２０ｎに対して追加され得る。
【００６１】
図１０ａ、１０ｂは、並列分割パケットネットワーク１およびユニット２１０ａに関連して、本明細書の一実施形態に従うネットワーク制御ロジックの複数の動作の一例を示す。並列分割パケットネットワーク１、ユニット２１０ａ、およびメモリコントローラ１０６ａに関連するネットワーク制御ロジックの複数の動作は、他の並列分割パケットネットワーク２、３...ｎの各々、その他のユニット２１０ｂ...２１０ｎ、およびその他のメモリコントローラ１０６ｂ...１０６ｎに関連するネットワーク制御ロジックの複数の動作を表す。
【００６２】
第１の動作において、パケットは、例えば送信元ブロック２００ａの例えばプロセッサ３１０ａ（図３）等の送信元から、ネットワークを介した送信のために、受信される（ブロック１０１０）。パケットの宛先が、送信元ブロックと同じブロックにあるブロックレベルでローカルであると判断される場合（ブロック１０１４）、パケットは、ブロック２００ａのブロックネットワーク３２０等のローカルブロックネットワークを介して、例えばブロック２００ａ内の宛先へルーティング（ブロック１０２０）される。
【００６３】
しかし、パケットの宛先が、ローカルのブロックレベル以外のものであると判断される場合（ブロック１０１４）、並列分割パケットネットワーク制御ロジックは、例えば複数の並列分割パケットネットワーク１、２、...ｎの並列分割ネットワーク１等の並列分割パケットネットワークを選択する（ブロック１０２４）。一実施形態において、特定の並列分割パケットネットワークは、パケットの、送信元の身元または宛先の身元、または両方に応じて選択され得る。従って、複数のプロセッサおよび複数の共有メモリは、特定の並列分割パケットネットワーク１、２、...ｎに割り当てられ得る。一実施形態において、複数の割り当ては、一定であってよい。複数の他の実施形態において、複数の割り当ては、様々な因子に応じて変化し得る。例えば、仮に特定の並列分割パケットネットワーク１、２、...ｎにおけるトラフィックが、他の並列分割パケットネットワーク１、２、...ｎのトラフィックに対して過度に重くなる場合、複数の割り当ては、並列分割パケットネットワーク１、２、...ｎにおけるトラフィックをより均等に分散すべく、変更され得る。並列分割パケットネットワーク１、２、...ｎへの複数のパケット送信元および／またはパケット宛先の複数の割り当ては、特定の用途に応じて、複数の他の因子に依存してよい。
【００６４】
並列分割パケットネットワーク制御ロジックは、パケットを、選択された並列分割パケットネットワークを介し、他の並列分割パケットネットワークから独立して、例えばユニット２１０ａの選択された並列分割パケットネットワーク１のユニットレベルスイッチ４１０ａ等のローカルユニットレベルスイッチに、次のより高い階層レベル、つまりユニット階層レベル（図２）で送信する（ブロック１０２８）。
【００６５】
パケットの宛先が、ダイローカルである、つまりパケットの送信元と同一のダイ上にあることが判断される場合（ブロック１０３２）、およびパケットの宛先がユニットレベルローカルである、つまり例えばユニット２１０ａ等のパケットの送信元と同じユニット内にあると判断される場合（ブロック１０３６）、並列分割パケットネットワーク制御ロジックは、パケットを、選択された並列分割パケットネットワーク（この例では並列分割パケットネットワーク１）のローカルユニットレベルスイッチ（この例ではスイッチ４１０ａ）を介して、ユニット階層レベルにおいて切り替える（ブロック１０４０）。パケットは、ローカルユニット２１０ａの例えばブロック２００ｂのブロックネットワーク２３０等、パケット宛先のブロックネットワークに切り替えられる。宛先ブロック（ユニット２１０ａのこの例ではブロック２００ｂ）のブロックネットワーク２３０の制御ロジックは、パケットを、宛先ブロック（この例ではブロック２００ｂ）のブロックネットワークを介して、宛先ブロック内の宛先へ切り替える（ブロック１０４４）。
【００６６】
パケットの宛先が、ダイローカルである、つまり、パケットの送信元と同一のダイ上にあると判断される（ブロック１０３２）が、パケットの宛先が、ユニットレベルローカルでない、つまり、例えばユニット２１０ａ等、パケットの送信元と同じユニット内にないと判断される（ブロック１０３６）場合、並列分割パケットネットワーク制御ロジックは、ユニット階層レベルにおける、選択された並列分割パケットネットワーク（この例では並列分割パケットネットワーク１）のローカルユニットレベルスイッチ（この例ではスイッチ４１０ａ）を介して、パケットを、ユニット間階層レベルにおける、選択された並列分割パケットネットワーク（この例では並列分割パケットネットワーク１）のユニット間スイッチに切り替える（ブロック１０５０）。従って、パケットは、この例において、並列分割パケットネットワーク１の例えばユニット間スイッチ５１０ａ（図５）へと切り替えられ得る（ブロック１０５０）。ユニット間スイッチ５１０ａは、例えば、ユニット２１０ａの送信元ユニットレベルスイッチ４１０ａ等、複数の選択されたユニットレベルスイッチと、この例では並列分割パケットネットワーク１である、選択された並列分割パケットネットワークの例えばユニット２１０ｂの宛先ユニットレベルスイッチ４１０ａとの間にある。
【００６７】
並列分割パケットネットワーク制御ロジックは、選択された並列分割パケットネットワーク（この例では並列分割パケットネットワーク１）のユニット間階層レベルにおけるユニット間スイッチ（例えば、ユニット間スイッチ５１０ａ（図５））を介して、パケットを、選択された並列分割パケットネットワーク（この例では、並列分割パケットネットワーク１）の宛先ユニットレベルスイッチ（例えば、ユニット２１０ｂの、例えばユニットレベルスイッチ４１０ａ等）に、順に切り替える（ブロック１０５４）。
【００６８】
並列分割パケットネットワーク制御ロジックは、ユニット階層レベルにおける、選択された並列分割パケットネットワーク（この例では、並列分割パケットネットワーク１）の宛先ユニットレベルスイッチ（この例では、スイッチ４１０ａ）を介して、パケットを切り替える（ブロック１０５８）。パケットは、宛先ユニット２１０ｂの例えばブロック２０２ａ（図６）のブロックネットワーク等のパケット宛先のブロックネットワークに切り替えられる。宛先ブロック（ユニット２１０ｂのこの例ではブロック２０２ａ）のブロックネットワークの制御ロジックは、宛先ブロック（この例では、ブロック２０２ａ）のブロックネットワークを介して、パケットを、宛先ブロック内の宛先へ切り替える（ブロック１０４４）。
【００６９】
パケットの宛先が、ダイローカルでない、つまり、パケットの送信元と同一のダイにはないと判断される（ブロック１０３２）場合、並列分割パケットネットワーク制御ロジックは、ユニット階層レベルにおける、選択された並列分割パケットネットワーク（この例では、並列分割パケットネットワーク１）のローカルユニットレベルスイッチ（この例では、ユニット２１０ａのスイッチ４１０ａ）を介して、選択された並列分割パケットネットワーク（この例では、並列分割パケットネットワーク１）のダイ間通信チャネル６４０ａ（図６）等のダイ間通信チャネルを介して（ブロック１０７４）、パケットを、別のダイの宛先ユニットレベルスイッチに切り替える（ブロック１０７０、図１０ｂ）。例示された実施形態において、他のダイは、ユニット２１０ａのメモリコントローラ１０６ａのダイであり、それは、メモリコントローラ１０６ａの選択された並列分割パケットネットワーク（この例では、並列分割パケットネットワーク１）のユニットレベルスイッチ７２０ａを含む。
【００７０】
並列分割パケットネットワーク制御ロジックは、メモリコントローラユニットレベルスイッチ（この例では、選択された並列分割パケットネットワーク１のためのメモリコントローラ１０６ａのユニットレベルスイッチ７２０ａ）を介してパケットを切り替え（ブロック１０７８）、例えば入力バッファ７３０ａ等の選択された並列分割パケットネットワーク（この例では、並列分割パケットネットワーク１）のバッファに、パケットをバッファリングする。
【００７１】
この例において、パケットの最終的な宛先は、さらに別のダイにおいて位置するシステムメモリ１０４のメモリ領域である。従って、並列分割パケットネットワーク制御ロジックは、メモリコントローラユニットレベルスイッチ（この例では、選択された並列分割パケットネットワーク１のためのメモリコントローラ１０６ａのユニットレベルスイッチ７２０ａ）を介して、パケットを、複数のパケットを、複数の並列分割パケットネットワーク１、２、...ｎの各並列分割パケットネットワークからまたはそこへ切り替えるための例えば共通ユニットレベルスイッチ７５０等の共通ユニットレベルスイッチに切り替える（ブロック１０８２）。
【００７２】
並列分割パケットネットワーク制御ロジックは、選択された並列分割パケットネットワーク（この例は、並列分割パケットネットワーク１）から到達するパケットに、タグ９２０でタグ付けして（ブロック１０８６）、パケットが到達した選択された並列分割パケットネットワーク（この例では、並列分割パケットネットワーク１）を識別する。並列分割パケットネットワーク制御ロジックは、共通ユニットレベルスイッチを介して、タグ付きパケットを、複数の並列分割パケットネットワーク１、２、...ｎの各々のパケットを伝送するための共通通信チャネルに切り替える（ブロック１０９０）。並列分割パケットネットワーク制御ロジックは、タグ付きパケットを、共通通信チャネルを介して別のダイにおけるメモリ領域等の最終的な宛先へルーティングする（ブロック１０９４）。共通通信チャネルに到達している複数のタグ付きパケットに対し、並列分割パケットネットワーク制御ロジックは、共通通信チャネルから到達するパケットのタグを読み取り、到達したパケットを、共通ユニットレベルスイッチを介して、パケットのタグによって識別される特定の並列分割パケットネットワークに切り替える。例
以下の複数の例は、更なる実施形態に関する。例１は、メモリと、ブロック階層レベルを定義する複数のブロックであって、各ブロックが複数のプロセッサおよびブロックのプロセッサを相互接続するブロックネットワークを含む、複数のブロックと、
ブロック階層レベルより高いユニット階層レベルを定義するユニットであって、ブロック階層レベルで複数の上記ブロックを含むユニットと、
複数の並列分割パケットネットワークと、を備えるシステムであって、各並列分割パケットネットワークは、複数の並列分割パケットネットワークの他の並列分割パケットネットワークから独立しており、各並列分割パケットネットワークは、ユニットの複数のブロックのメモリおよび各ブロックネットワークに結合されたユニット階層レベルにおけるユニットレベルスイッチを有する。
【００７３】
例２において、例１および３−８の主題は、複数の並列分割パケットネットワークの第１の並列分割パケットネットワークを選択するように適合された並列分割パケットネットワーク制御ロジックを任意選択で含み得、パケットを、複数の他の並列分割パケットネットワークから独立した選択された並列分割パケットネットワークを介して送信し得、上記送信は、パケットを、ユニット階層レベルにおける選択された並列分割パケットネットワークのユニットレベルスイッチを介して交換することを含む。
【００７４】
例３において、例１−２および４−８の主題は、ユニット階層レベルより高いユニット間階層レベルを定義する複数の上記ユニットを任意選択で含み得、各ユニットは、ユニット階層レベルにあり、ブロック階層レベルにおいて複数の上記ブロックを備え、各並列分割パケットネットワークは、各ユニットに対するユニット階層レベルにあり、複数のブロックのメモリおよび特定のユニットの各ブロックネットワークに結合されたユニットレベルスイッチと、ユニット間階層レベルにあり、ユニット階層レベルにおける特定の並列分割パケットネットワークの各ユニットレベルスイッチに結合されたユニット間レベルスイッチと、を有し、並列分割パケットネットワーク制御ロジックは、パケットを、選択された並列分割パケットネットワークの複数の選択されたユニットレベルスイッチの間で、ユニット間階層レベルにおける選択された並列分割パケットネットワークのユニット間レベルスイッチを介して交換するように更に適合されている。
【００７５】
例４において、例１−３および５−８の主題は、第１のダイ、第２のダイおよび複数のダイ間通信チャネルを任意選択で含み得、各並列分割パケットネットワークは、第１および第２のダイに結合された、複数のダイ間通信チャネルのうちのダイ間通信チャネルを有し、複数の並列分割パケットネットワークの複数のブロックのユニットおよび複数のユニットレベルスイッチは、第１のダイ上にあり、システムは、第１のダイ上の複数のバッファを更に備え、各並列分割パケットネットワークは、特定の並列分割パケットネットワークのユニットレベルスイッチおよびダイ間通信チャネルに結合されたバッファを有し、並列分割パケットネットワーク制御ロジックは、選択された並列分割パケットネットワークのダイ間通信チャネルへパケットを送信する前に、選択された並列分割パケットネットワークのバッファにパケットをバッファリングし、選択された並列分割パケットネットワークのダイ間通信チャネルから受信されたバッファにおけるパケットを、選択された並列分割パケットネットワークのバッファにバッファリングするように、更に適合されている。
【００７６】
例５において、例１−４および６−８の主題は、各ユニットレベルメモリコントローラが、関連するユニットのメモリと複数のプロセッサとの間の複数のメモリトランザクションを制御するように適合された、第２のダイ上の複数のユニット階層レベルメモリコントローラと、第２のダイ上の複数のユニットレベルスイッチと、第２のダイ上の複数のバッファのうちのバッファと、を任意選択で含み得、各並列分割パケットネットワークは、第２のダイ上に複数のユニットレベルスイッチのうちのユニットレベルスイッチを有し、第２のダイ上の各ユニットレベルスイッチは、第１のダイ上の特定の並列分割パケットネットワークのユニットレベルスイッチおよびバッファに結合されている。
【００７７】
例６において、例１−５および７−８の主題は、各メモリコントローラが、第２のダイ上の選択された並列分割パケットネットワークのユニットレベルスイッチを介して、パケットを交換し、選択された並列分割パケットネットワークのダイ間通信チャネルへパケットを送信する前に、第２のダイ上の選択された並列分割パケットネットワークのバッファにパケットをバッファリングし、第２のダイ上の選択された並列分割パケットネットワークのダイ間通信チャネルから受信された、第２のダイ上のバッファにパケットをバッファリングするように適合されている、第２のダイ上の並列分割パケットネットワーク制御ロジック、を有することを、任意選択で含み得る。
【００７８】
例７において、例１−６および８の主題は、複数の並列分割パケットネットワークの各々からの複数のパケットを伝送するための共通通信チャネルを任意選択で含み得、共通通信チャネルによって伝送される各パケットは、並列分割パケットネットワークを識別するタグおよび複数の並列分割パケットネットワークの各並列分割パケットネットワークに結合された共通ユニットレベルスイッチを有し、並列分割パケットネットワーク制御ロジックは、各並列分割パケットネットワークからのパケットを、パケットが到達した並列分割パケットネットワークを識別するタグでタグ付けし、タグ付きパケットを、共通ユニットレベルスイッチを介して共通通信チャネルに切り替えるように適合されている。
【００７９】
例８において、例１−７の主題は、並列分割パケットネットワーク制御ロジックが、共通通信チャネルからのパケットのタグを読み取り、パケットを、共通ユニットレベルスイッチを介してパケットのタグによって識別された並列分割パケットネットワークに切り替えるように適合されていることを、任意選択で含み得る。
【００８０】
例９は、並列分割パケットネットワーク制御ロジックが、複数の並列分割パケットネットワークの第１の並列分割パケットネットワークを選択する段階であって、デバイスのメモリを、ブロック階層レベルを定義する複数のブロックに結合させる、段階であって、各ブロックは、ブロックのプロセッサを相互接続する複数のプロセッサおよびブロックネットワークを含み、複数の前記ブロックは、第１の階層レベルより高いユニット階層レベルを定義する少なくとも１つのユニットにおいて編成され、各並列分割パケットネットワークは、メモリおよびユニットの複数のブロックの各ブロックネットワークに結合されたユニット階層レベルにおけるユニットレベルスイッチを有する、段階と、他の並列分割パケットネットワークから独立した選択された並列分割パケットネットワークを介してパケットを送信する段階と、を備える方法であって、上記送信する段階は、パケットを、ユニット階層レベルにおいて選択された並列分割パケットネットワークのユニットレベルスイッチを介して交換する段階を含む。
【００８１】
例１０において、例９および１１−１５の主題は、並列分割パケットネットワーク制御ロジックが、選択された並列分割パケットネットワークの複数の選択されたユニットレベルスイッチの間において、ユニット間階層レベルにおいて選択された並列分割パケットネットワークのユニット間レベルスイッチを介して、パケットを交換する段階を、任意選択で含み得、
複数の上記ユニットは、第２の階層レベルより高い第３の階層レベルのユニット間レベルを定義し、各ユニットはユニット階層レベルにあり、ブロック階層レベルにいて複数の前記ブロックを有し、各並列分割パケットネットワークは、各ユニットに対するユニット階層レベルにあり、メモリおよび特定のユニットの複数のブロックの各ブロックネットワークに結合されたユニットレベルスイッチと、ユニット間階層レベルにあり、ユニット階層レベルにおける特定の並列分割パケットネットワークの各ユニットレベルスイッチに結合されたユニット間レベルスイッチと、を有する。
【００８２】
例１１において、例９−１０および１２−１５の主題は、並列分割パケットネットワーク制御ロジックが、選択された並列分割パケットネットワークのバッファにパケットを、第１のダイ上でバッファリングする段階を、任意選択で含み得、各並列分割パケットネットワークは、バッファおよびダイ間通信チャネルをユニット階層レベルにおいて有し、並列分割パケットネットワークの各バッファは、特定の並列分割パケットネットワークのダイ間通信チャネルおよびユニットレベルスイッチに結合されており、当該方法は、並列分割パケットネットワーク制御ロジックが、パケットをバッファから選択された並列分割パケットネットワークのダイ間通信チャネルへ送信する段階と、選択された並列分割パケットネットワークのダイ間通信チャネルからパケットを受信する段階と、選択された並列分割パケットネットワークのバッファに受信されたパケットをバッファリングする段階と、を更に備える。
【００８３】
例１２において、例９−１１および１３−１５の主題は、
第２のダイ上の複数のユニット階層レベルメモリコントローラのユニットレベルメモリコントローラが、関連するユニットのメモリとプロセッサとの間における複数のメモリトランザクションを制御する段階であって、各ユニットは、第２のダイ上の複数のユニットレベルメモリコントローラの関連するメモリコントローラを有する、段階と、
第２のダイ上の並列分割パケットネットワーク制御ロジックが、選択された並列分割パケットネットワークのダイ間通信チャネルから受信されたパケットを、第２のダイ上の選択された並列分割パケットネットワークのユニットレベルスイッチを介して切り替える段階であって、各並列分割パケットネットワークが、第２のダイ上の複数のユニットレベルスイッチのうちのユニットレベルスイッチを有する、段階と、
並列分割パケットネットワーク制御ロジックが、第２のダイ上の選択された並列分割パケットネットワークのダイ間通信チャネルから受信されたパケットを、選択された並列分割パケットネットワークのバッファにバッファリングする段階であって、各並列分割パケットネットワークが、特定の並列分割パケットネットワークのユニットレベルスイッチに結合され、複数のバッファのバッファを第２のダイ上に有し、第２のダイ上の各ユニットレベルスイッチは、特定の並列分割パケットネットワークのダイ間通信チャネルに結合されている、段階と、を任意選択で含み得る。
【００８４】
例１３において、例９−１２および１４−１５の主題は、第２のダイ上の並列分割パケットネットワーク制御ロジックが、第２のダイ上の選択された並列分割パケットネットワークのユニットレベルスイッチを介してパケットを交換する段階と、第２のダイ上の選択された並列分割パケットネットワークのバッファにパケットをバッファリングする段階と、選択された並列分割パケットネットワークのバッファからのパケットを、選択された並列分割パケットネットワークのダイ間通信チャネルへ送信する段階と、を任意選択で含み得る。
【００８５】
例１４において、例９−１３および１５の主題は、選択された並列分割パケットネットワークから到達するパケットを、パケットが到達した選択された並列分割パケットネットワークを識別するタグでタグ付けし、タグ付きパケットを、共通ユニットレベルスイッチを介して複数の並列分割パケットネットワークの各並列分割パケットネットワークに結合された共通通信チャネルに切り替える、複数の並列分割パケットネットワークの各々からのパケットを伝送するための並列分割パケットネットワーク制御ロジックを任意選択で含み得、共通通信チャネルによって伝送される各パケットは、タグ付きパケットが到達した並列分割パケットネットワークを識別するタグを有する。
【００８６】
例１５において、例１−１４の主題は、共通通信チャネルから到達したパケットのタグを読み取り、到達したパケットを、共通ユニットレベルスイッチを介して、パケットのタグによって識別される並列分割パケットネットワークに切り替える、並列分割パケットネットワーク制御ロジックを、任意選択で含み得る。
【００８７】
例１６において、メモリで使用するためのデバイスは、
ブロック階層レベルを定義する複数のブロックであって、各ブロックが、複数のプロセッサおよびブロックの複数のプロセッサを相互接続するブロックネットワークを含んでいる、複数のブロックと、
ブロック階層レベルにおいて複数の前記ブロックを含む、ブロック階層レベルより高いユニット階層レベルを定義するユニットと、
複数の並列分割パケットネットワークであって、各並列分割パケットネットワークが、複数の並列分割パケットネットワークのうち他の並列分割パケットネットワークから独立しており、各並列分割パケットネットワークが、ユニットのメモリおよび複数のブロックの各ブロックネットワークに結合されたユニット階層レベルにおけるユニットレベルスイッチを有している、複数の並列分割パケットネットワークと、を備える。
【００８８】
例１７において、例１６および１８−２３の主題は、並列分割パケットネットワーク制御ロジックが、複数の並列分割パケットネットワークの第１の並列分割パケットネットワークを選択し、複数の他の並列分割パケットネットワークから独立している、選択された並列分割パケットネットワークを介して、パケットを送信するように適合されていることを、任意選択で含み得、上記送信は、ユニット階層レベルにおいて選択された並列分割パケットネットワークのユニットレベルスイッチを介してパケットを交換することを含む。
【００８９】
例１８において、例１６−１７および１９−２３の主題は、ユニット階層レベルより高いユニット間階層レベルを定義する複数の上記ユニットを任意選択で含み得、各ユニットは、ユニット階層レベルにあり、ブロック階層レベルにおける複数の上記ブロックを有し、各並列分割パケットネットワークは、各ユニットに対するユニット階層レベルにあり、メモリおよび特定のユニットの複数のブロックの各ブロックネットワークに結合されたユニットレベルスイッチと、ユニット間階層レベルにあり、ユニット階層レベルにおける特定の並列分割パケットネットワークの各ユニットレベルスイッチに結合されたユニット間レベルスイッチと、を有し、並列分割パケットネットワーク制御ロジックは、ユニット間階層レベルにおける、選択された並列分割パケットネットワークのユニット間レベルスイッチを介して、選択された並列分割パケットネットワークの複数の選択されたユニットレベルスイッチの間でパケットを交換するように、更に適合されている。
【００９０】
例１９において、例１６−１８および２０−２３の主題は、第１のダイ、第２のダイおよび複数のダイ間通信チャネルを任意選択で含み得、各並列分割パケットネットワークは、第１および第２のダイに結合された、複数のダイ間通信チャネルのダイ間通信チャネルを有し、複数のブロックのユニットおよび複数の並列分割パケットネットワークの複数のユニットレベルスイッチは、第１のダイ上にあり、デバイスは、第１のダイ上に複数のバッファを更に備え、各並列分割パケットネットワークは、特定の並列分割パケットネットワークのユニットレベルスイッチおよびダイ間通信チャネルに結合されたバッファを有し、並列分割パケットネットワーク制御ロジックは、選択された並列分割パケットネットワークのダイ間通信チャネルへパケットを送信する前に、選択された並列分割パケットネットワークのバッファにパケットをバッファリングし、選択された並列分割パケットネットワークのダイ間通信チャネルから受信されたバッファにパケットを、選択された並列分割パケットネットワークのバッファにバッファリングするように、更に適合されている。
【００９１】
例２０において、例１６−１９および２１−２３の主題は、第２のダイ上の複数のユニット階層レベルメモリコントローラであって、各ユニットレベルメモリコントローラは、関連するユニットのメモリとプロセッサとの間で複数のメモリトランザクションを制御するように適合されている、複数のユニット階層レベルメモリコントローラと、第２のダイ上の複数のユニットレベルスイッチと、第２のダイ上の各ユニットレベルスイッチが、第１のダイ上の特定の並列分割パケットネットワークのユニットレベルスイッチおよびバッファに結合されている、第２のダイ上の複数のバッファのうちのバッファと、を任意選択で含み得、各並列分割パケットネットワークは、第２のダイ上に、複数のユニットレベルスイッチのうちのユニットレベルスイッチを有する。
【００９２】
例２１において、例１６−２０および２２−２３の主題は、第２のダイ上の選択された並列分割パケットネットワークのユニットレベルスイッチを介してパケットを交換し、選択された並列分割パケットネットワークのダイ間通信チャネルへパケットを送信する前に、第２のダイ上の選択された並列分割パケットネットワークのバッファにパケットをバッファリングし、第２のダイ上の選択された並列分割パケットネットワークのダイ間通信チャネルから受信された第２のダイ上のバッファにパケットをバッファリングするように適合された、第２のダイ上の並列分割パケットネットワーク制御ロジックを、各メモリコントローラが有することを、任意選択で含み得る。
【００９３】
例２２において、例１６−２１および２３の主題は、複数の並列分割パケットネットワークの各々からの複数のパケットを伝送するための共通通信チャネルを任意選択で含み得、共通通信チャネルによって伝送される各パケットは、並列分割パケットネットワークを識別するタグと、複数の並列分割パケットネットワークの各並列分割パケットネットワークに結合された共通ユニットレベルスイッチと、を有し、並列分割パケットネットワーク制御ロジックは、各並列分割パケットネットワークからのパケットを、パケットが到達した並列分割パケットネットワークを識別するタグでタグ付けし、タグ付きパケットを、共通ユニットレベルスイッチを介して共通通信チャネルに切り替えるように適合されている。
【００９４】
例２３において、例１６−２２の主題は、並列分割パケットネットワーク制御ロジックが、共通通信チャネルからのパケットのタグを読み取り、パケットを、共通ユニットレベルスイッチを介してパケットのタグによって識別される並列分割パケットネットワークに切り替えるように適合されていることを、任意選択で含み得る。
【００９５】
例２４は、
メモリと、
ブロック階層レベルを定義する複数のブロックであって、各ブロックが、複数のプロセッサおよびブロックの複数のプロセッサを相互接続するブロックネットワークを含む、複数のブロックと、
ブロック階層レベルにおいて複数の上記ブロックを含む、ブロック階層レベルより高いユニット階層レベルを定義するユニットと、
複数の並列分割パケットネットワークであって、各並列分割パケットネットワークが、複数の並列分割パケットネットワークのうちの複数の他の並列分割パケットネットワークから独立しており、各並列分割パケットネットワークが、ユニットのメモリおよび複数のブロックの各ブロックネットワークに結合されたユニット階層レベルにおいて、ユニットレベルスイッチを有する、複数の並列分割パケットネットワークと、を備える、コンピュータアーキテクチャシステムである。
【００９６】
例２５において、例２４および２６−３１の主題は、複数の並列分割パケットネットワークの第１の並列分割パケットネットワークを選択し、複数の他の並列分割パケットネットワークから独立している選択された並列分割パケットネットワークを介してパケットを送信するように適合された並列分割パケットネットワーク制御ロジックを任意選択で含み得、上記送信は、ユニット階層レベルにおける選択された並列分割パケットネットワークのユニットレベルスイッチを介してパケットを交換することを含む。
【００９７】
例２６において、例２４−２５および２７−３１の主題は、ユニット階層レベルより高いユニット間階層レベルを定義する複数の上記ユニットを任意選択で含み得、各ユニットは、ユニット階層レベルにあり、ブロック階層レベルにおける複数の上記ブロックを有し、各並列分割パケットネットワークは、各ユニットに対するユニット階層レベルにあり、メモリおよび特定のユニットの複数のブロックの各ブロックネットワークに結合されたユニットレベルスイッチと、ユニット間階層レベルにあり、ユニット階層レベルにおける特定の並列分割パケットネットワークの各ユニットレベルスイッチに結合されたユニット間レベルスイッチと、を有し、並列分割パケットネットワーク制御ロジックは、ユニット間階層レベルにおける選択された並列分割パケットネットワークのユニット間レベルスイッチを介して、選択された並列分割パケットネットワークの複数の選択されたユニットレベルスイッチの間でパケットを交換するように、更に適合されている。
【００９８】
例２７において、例２４−２６および２８−３１の主題は、第１のダイ、第２のダイおよび複数のダイ間通信チャネルを任意選択で含み得、各並列分割パケットネットワークは、第１および第２のダイに結合された、複数のダイ間通信チャネルのうちのダイ間通信チャネルを有し、複数の並列分割パケットネットワークの複数のブロックのユニットおよび複数のユニットレベルスイッチは、第１のダイにあり、システムは、第１のダイにおける複数のバッファを更に備え、各並列分割パケットネットワークは、特定の並列分割パケットネットワークのユニットレベルスイッチおよびダイ間通信チャネルに結合されたバッファを有し、並列分割パケットネットワーク制御ロジックは、選択された並列分割パケットネットワークのダイ間通信チャネルへパケットを送信する前に、選択された並列分割パケットネットワークのバッファにパケットをバッファリングし、選択された並列分割パケットネットワークのダイ間通信チャネルから受信されたバッファにパケットを、選択された並列分割パケットネットワークのバッファにバッファリングするように更に適合されている。
【００９９】
例２８において、例２４−２７および２９−３１の主題は、各ユニットレベルメモリコントローラが、関連するユニットのメモリと複数のプロセッサとの間の複数のメモリトランザクションを制御するように適合された、第２のダイ上の複数のユニット階層レベルメモリコントローラと、第２のダイ上の複数のユニットレベルスイッチと、第２のダイ上の複数のバッファのうちのバッファと、を任意選択で含み得、各並列分割パケットネットワークは、第２のダイ上に複数のユニットレベルスイッチのうちのユニットレベルスイッチを有し、第２のダイ上の各ユニットレベルスイッチは、第１のダイ上の特定の並列分割パケットネットワークのユニットレベルスイッチおよびバッファに結合されている。
【０１００】
例２９において、例２４−２８および３０−３１の主題は、第２のダイ上の選択された並列分割パケットネットワークのユニットレベルスイッチを介して、パケットを交換し、選択された並列分割パケットネットワークのダイ間通信チャネルへパケットを送信する前に、第２のダイ上の選択された並列分割パケットネットワークのバッファにパケットをバッファリングし、第２のダイ上の選択された並列分割パケットネットワークのダイ間通信チャネルから受信された、第２のダイ上のバッファにパケットをバッファリングするように適合されている、並列分割パケットネットワーク制御ロジックを、各メモリコントローラが第２のダイ上に有することを、任意選択で含み得る。
【０１０１】
例３０において、例２４−２９および３１の主題は、複数の並列分割パケットネットワークの各々からの複数のパケットを伝送するための共通通信チャネルを任意選択で含み得、共通通信チャネルによって伝送される各パケットは、並列分割パケットネットワークを識別するタグおよび複数の並列分割パケットネットワークの各並列分割パケットネットワークに結合された共通ユニットレベルスイッチを有し、並列分割パケットネットワーク制御ロジックは、各並列分割パケットネットワークからのパケットを、パケットが到達した並列分割パケットネットワークを識別するタグでタグ付けし、タグ付きパケットを、共通ユニットレベルスイッチを介して共通通信チャネルに切り替えるように適合されている。
【０１０２】
例３１において、例２４−３０の主題は、並列分割パケットネットワーク制御ロジックが、共通通信チャネルからのパケットのタグを読み取り、パケットを、共通ユニットレベルスイッチを介してパケットのタグによって識別された並列分割パケットネットワークに切り替えるように適合されていることを、任意選択で含み得る。
【０１０３】
例３２は、少なくとも１つの集積回路において複数のパケットをルーティングする方法であって、
並列分割パケットネットワーク制御ロジックが、デバイスのメモリを、ブロック階層レベルを定義する複数のブロックに結合させる複数の並列分割パケットネットワークの第１の並列分割パケットネットワークを選択する段階であって、ブロックが、複数のプロセッサおよびブロックの複数のプロセッサを相互接続するブロックネットワークを含み、複数の上記ブロックは、第１の階層レベルより高いユニット階層レベルを定義する少なくとも１つのユニットにおいて編成され、各並列分割パケットネットワークは、メモリおよびユニットの複数のブロックの各ブロックネットワークに結合されたユニット階層レベルにおけるユニットレベルスイッチを有する、段階と、
並列分割パケットネットワーク制御ロジックが、複数の他の並列分割パケットネットワークから独立している選択された並列分割パケットネットワークを介してパケットを送信する段階であって、上記送信する段階は、ユニット階層レベルにおける選択された並列分割パケットネットワークのユニットレベルスイッチを介してパケットを交換する段階を含む、段階と、を備える。
【０１０４】
例３３において、例３２および３４−３８の主題は、並列分割パケットネットワーク制御ロジックが、ユニット間階層レベルにおける選択された並列分割パケットネットワークのユニット間レベルスイッチを介して、パケットを、選択された並列分割パケットネットワークの複数の選択されたユニットレベルスイッチの間において交換する段階を、任意選択で含み得、
複数の上記ユニットは、第２の階層レベルより高い第３の階層レベルのユニット間レベルを定義し、各ユニットは、ユニット階層レベルにあり、ブロック階層レベルにおいて複数の前記ブロックを有し、各並列分割パケットネットワークは、各ユニットに対するユニット階層レベルにあり、メモリおよび特定のユニットの複数のブロックの各ブロックネットワークに結合されたユニットレベルスイッチと、ユニット間階層レベルにあり、ユニット階層レベルにおける特定の並列分割パケットネットワークの各ユニットレベルスイッチに結合されたユニット間レベルスイッチと、を有する。
【０１０５】
例３４において、例３２−３３および３５−３８の主題は、並列分割パケットネットワーク制御ロジックが、選択された並列分割パケットネットワークのバッファにおけるパケットを第１のダイ上にバッファリングする段階であって、各並列分割パケットネットワークは、ユニット階層レベルにおけるバッファおよびダイ間通信チャネルを有し、並列分割パケットネットワークの各バッファは、特定の並列分割パケットネットワークのダイ間通信チャネルおよびユニットレベルスイッチに結合されている、段階を任意選択で含み得、当該方法は、並列分割パケットネットワーク制御ロジックが、バッファからのパケットを、選択された並列分割パケットネットワークのダイ間通信チャネルへ送信する段階と、選択された並列分割パケットネットワークのダイ間通信チャネルからパケットを受信する段階と、受信されたパケットを、選択された並列分割パケットネットワークのバッファにバッファリングする段階と、を更に備える。
【０１０６】
例３５において、例３２−３４および３６−３８の主題は、第２のダイ上の複数のユニット階層レベルメモリコントローラのユニットレベルメモリコントローラが、メモリと関連するユニットのプロセッサとの間における複数のメモリトランザクションを制御する段階であって、各ユニットが、第２のダイ上に複数のユニットレベルメモリコントローラの関連するメモリコントローラを有する、段階と、
第２のダイ上の並列分割パケットネットワーク制御ロジックが、選択された並列分割パケットネットワークのダイ間通信チャネルから受信されたパケットを、第２のダイ上の選択された並列分割パケットネットワークのユニットレベルスイッチを介して交換する段階であって、各並列分割パケットネットワークが、第２のダイ上の複数のユニットレベルスイッチのうちのユニットレベルスイッチを有する、段階と、
並列分割パケットネットワーク制御ロジックが、第２のダイ上に、選択された並列分割パケットネットワークのダイ間通信チャネルから受信されたパケットを、選択された並列分割パケットネットワークのバッファにバッファリングする段階であって、各並列分割パケットネットワークが、特定の並列分割パケットネットワークのユニットレベルスイッチに結合された、第２のダイにおける複数のバッファのうちのバッファを有し、第２のダイにおける各ユニットレベルスイッチは、特定の並列分割パケットネットワークのダイ間通信チャネルに結合されている、段階と、を任意選択で含み得る。
【０１０７】
例３６において、例３２−３５および３７−３８の主題は、第２のダイ上の並列分割パケットネットワーク制御ロジックが、第２のダイにおける選択された並列分割パケットネットワークのユニットレベルスイッチを介してパケットを交換する段階と、第２のダイにおける選択された並列分割パケットネットワークのバッファにパケットをバッファリングする段階と、選択された並列分割パケットネットワークのバッファからのパケットを、選択された並列分割パケットネットワークのダイ間通信チャネルへ送信する段階と、を任意選択で含み得る。
【０１０８】
例３７において、例３２−３６および３８の主題は、並列分割パケットネットワーク制御ロジックが、選択された並列分割パケットネットワークから到達するパケットを、パケットが到達した選択された並列分割パケットネットワークを識別するタグでタグ付けする段階と、タグ付きパケットを、共通ユニットレベルスイッチを介して複数の並列分割パケットネットワークの各並列分割パケットネットワークに結合された複数の並列分割パケットネットワークの各々からの複数のパケットを伝送するための共通通信チャネルに切り替える段階と、を任意選択で含み得、共通通信チャネルによって伝送される各パケットは、タグ付きパケットが到達した並列分割パケットネットワークを識別するタグを有する。
【０１０９】
例３８において、例３２−３７の主題は、並列分割パケットネットワーク制御ロジックが、共通通信チャネルから到達するパケットのタグを読み取る段階と、共通ユニットレベルスイッチを介して、到達したパケットを、パケットのタグによって識別される並列分割パケットネットワークに切り替える段階と、を任意選択で含み得る。
【０１１０】
例３９は、
ブロック階層レベルを定義する複数のブロックであって、各ブロックが、複数のプロセッサおよびブロックの複数のプロセッサを相互接続するブロックネットワークを含む、複数のブロックと、
ブロック階層レベルにおいて複数の上記ブロックを含む、ブロック階層レベルより高いユニット階層レベルを定義するユニットと、
複数の並列分割パケットネットワークであって、各並列分割パケットネットワークが、複数の並列分割パケットネットワークの複数の他の並列分割パケットネットワークから独立しており、各並列分割パケットネットワークが、メモリおよびユニットの複数のブロックの各ブロックネットワークに結合されたユニット階層レベルにおけるユニットレベルスイッチを有する、複数の並列分割パケットネットワークと、を備える、メモリと共に使用するためのコンピュータアーキテクチャデバイスである。
【０１１１】
例４０において、例３９および４１−４６の主題は、複数の並列分割パケットネットワークのうちの第１の並列分割パケットネットワークを選択し、複数の他の並列分割パケットネットワークから独立している選択された並列分割パケットネットワークを介してパケットを送信するように適合された並列分割パケットネットワーク制御ロジックを任意選択で含み得、上記送信は、ユニット階層レベルにおける選択された並列分割パケットネットワークのユニットレベルスイッチを介してパケットを交換することを含む。
【０１１２】
例４１において、例３９−４０および４２−４６の主題は、ユニット階層レベルより高いユニット間階層レベルを定義する複数の上記ユニットを任意選択で含み得、各ユニットは、ユニット階層レベルにあり、ブロック階層レベルにおける複数の上記ブロックを有し、各並列分割パケットネットワークは、各ユニットに対するユニット階層レベルにあり、メモリおよび特定のユニットの複数のブロックの各ブロックネットワークに結合されたユニットレベルスイッチと、ユニット間階層レベルにあり、ユニット階層レベルにおける特定の並列分割パケットネットワークの各ユニットレベルスイッチに結合された、ユニット間レベルスイッチと、を有し、並列分割パケットネットワーク制御ロジックは、更に、選択された並列分割パケットネットワークの複数の選択されたユニットレベルスイッチの間において、ユニット間階層レベルにおける選択された並列分割パケットネットワークのユニット間レベルスイッチを介してパケットを交換するように、更に適合されている。
【０１１３】
例４２において、例３９−４０および４２−４６の主題は、第１のダイ、第２のダイおよび複数のダイ間通信チャネルを任意選択で含み得、各並列分割パケットネットワークは、第１のダイおよび第２のダイに結合された、複数のダイ間通信チャネルのうちのダイ間通信チャネルを有し、複数の並列分割パケットネットワークの複数のブロックおよび複数のユニットレベルスイッチのユニットは、第１のダイ上にあり、デバイスは、第１のダイ上に複数のバッファを更に備え、各並列分割パケットネットワークは、特定の並列分割パケットネットワークのユニットレベルスイッチおよびダイ間通信チャネルに結合されたバッファを有し、並列分割パケットネットワーク制御ロジックは、選択された並列分割パケットネットワークのダイ間通信チャネルへパケットを送信する前に、選択された並列分割パケットネットワークのバッファにパケットをバッファリングし、選択された並列分割パケットネットワークのダイ間通信チャネルから受信されたバッファにパケットを、選択された並列分割パケットネットワークのバッファにバッファリングするように、更に適合されている。
【０１１４】
例４３において、例３９−４２および４４−４６の主題は、第２のダイ上の複数のユニット階層レベルメモリコントローラであって、各ユニットレベルメモリコントローラが、関連するユニットのメモリと複数のプロセッサとの間の複数のメモリトランザクションを制御するように適合された、複数のユニット階層レベルメモリコントローラと、第２のダイ上の複数のユニットレベルスイッチであって、各並列分割パケットネットワークは、第２のダイ上に複数のユニットレベルスイッチのうちのユニットレベルスイッチを有する、第２のダイ上の複数のユニットレベルスイッチと、第２のダイの複数のバッファのうちのバッファであって、第２のダイ上の各ユニットレベルスイッチが、第１のダイ上の特定の並列分割パケットネットワークのユニットレベルスイッチおよびバッファに結合された、バッファと、を任意選択で含み得る。
【０１１５】
例４４において、例３９−４３および４４−４６の主題は、各メモリコントローラが、第２のダイ上の選択された並列分割パケットネットワークのユニットレベルスイッチを介して、パケットを交換し、選択された並列分割パケットネットワークのダイ間通信チャネルへパケットを送信する前に、第２のダイ上の選択された並列分割パケットネットワークのバッファにパケットをバッファリングし、第２のダイ上の選択された並列分割パケットネットワークのダイ間通信チャネルから受信された第２のダイ上のバッファにパケットをバッファリングするように適合されている、第２のダイ上に並列分割パケットネットワーク制御ロジックを有することを、任意選択で含み得る。
【０１１６】
例４５において、例３９−４４および４６の主題は、複数の並列分割パケットネットワークの各々からの複数のパケットを伝送するための共通通信チャネルであって、共通通信チャネルによって伝送される各パケットは、並列分割パケットネットワークを識別するタグを有する、共通通信チャネルと、を任意選択で含み得、複数の並列分割パケットネットワークの各並列分割パケットネットワークに結合された共通ユニットレベルスイッチであって、並列分割パケットネットワーク制御ロジックが、各並列分割パケットネットワークからのパケットを、パケットが到達した並列分割パケットネットワークを識別するタグでタグ付けし、タグ付きパケットを、共通ユニットレベルスイッチを介して共通通信チャネルに切り替えるように適合されている。
【０１１７】
例４６において、例３９−４５の主題は、並列分割パケットネットワーク制御ロジックが、共通通信チャネルからのパケットのタグを読み取り、パケットを、共通ユニットレベルスイッチを介してパケットのタグによって識別される並列分割パケットネットワークに切り替えるように適合されていることを、任意選択で含み得る。
【０１１８】
例４７は、少なくとも１つの集積回路において複数のパケットをルーティングする方法であって、
並列分割パケットネットワーク制御ロジックが、デバイスのメモリを、ブロック階層レベルを定義する複数のブロックに結合させる複数の並列分割パケットネットワークの第１の並列分割パケットネットワークを選択する段階であって、各ブロックが、複数のプロセッサおよびブロックの複数のプロセッサを相互接続するブロックネットワークを含み、複数の上記ブロックは、第１の階層レベルより高いユニット階層レベルを定義する少なくとも１つのユニットにおいて編成され、各並列分割パケットネットワークは、メモリおよびユニットの複数のブロックの各ブロックネットワークに結合されたユニット階層レベルにおいてユニットレベルスイッチを有する、段階と、
並列分割パケットネットワーク制御ロジックが、複数の他の並列分割パケットネットワークから独立している選択された並列分割パケットネットワークを介してパケットを送信する段階であって、上記送信する段階は、ユニット階層レベルにおける選択された並列分割パケットネットワークのユニットレベルスイッチを介してパケットを交換することを含む、段階と、を備える。
【０１１９】
例４８において、例４７および４９−５３の主題は、並列分割パケットネットワーク制御ロジックが、ユニット間階層レベルにおける選択された並列分割パケットネットワークのユニット間レベルスイッチを介して、選択された並列分割パケットネットワークの複数の選択されたユニットレベルスイッチの間でパケットを交換する段階を、任意選択で含み得、
複数の上記ユニットは、第２の階層レベルより高い第３の階層レベルのユニット間レベルを定義し、各ユニットは、ユニット階層レベルにあり、ブロック階層レベルにおける複数の前記ブロックを有し、各並列分割パケットネットワークは、各ユニットに対するユニット階層レベルにあり、メモリおよび特定のユニットの複数のブロックの各ブロックネットワークに結合されたユニットレベルスイッチと、ユニット間階層レベルにあり、ユニット階層レベルにおいて特定の並列分割パケットネットワークの各ユニットレベルスイッチに結合されたユニット間レベルスイッチと、を有する。
【０１２０】
例４９において、例４７−４８および５０−５３の主題は、並列分割パケットネットワーク制御ロジックが、選択された並列分割パケットネットワークのバッファにおけるパケットを第１のダイ上にバッファリングする段階であって、各並列分割パケットネットワークは、バッファおよびユニット階層レベルにおけるダイ間通信チャネルを有し、並列分割パケットネットワークの各バッファは、特定の並列分割パケットネットワークのダイ間通信チャネルおよびユニットレベルスイッチに結合されている、段階を任意選択で含み得、方法は、並列分割パケットネットワーク制御ロジックが、バッファからのパケットを、選択された並列分割パケットネットワークのダイ間通信チャネルへ送信する段階と、選択された並列分割パケットネットワークのダイ間通信チャネルからパケットを受信する段階と、受信されたパケットを、選択された並列分割パケットネットワークのバッファにバッファリングする段階と、を更に備える。
【０１２１】
例５０において、例４７−４９および５１−５３の主題は、第２上の複数のユニット階層レベルメモリコントローラのユニットレベルメモリコントローラが、メモリと関連するユニットのプロセッサとの間における複数のメモリトランザクションを制御する段階であって、各ユニットは、第２のダイ上に複数のユニットレベルメモリコントローラの関連するメモリコントローラを有する、段階と、
第２のダイ上の並列分割パケットネットワーク制御ロジックが、選択された並列分割パケットネットワークのダイ間通信チャネルから受信されたパケットを、第２のダイにおける選択された並列分割パケットネットワークのユニットレベルスイッチを介して交換する段階であって、各並列分割パケットネットワークは、第２のダイ上の複数のユニットレベルスイッチのうちのユニットレベルスイッチを有する、段階と、
並列分割パケットネットワーク制御ロジックが、第２のダイ上に、選択された並列分割パケットネットワークのダイ間通信チャネルから受信されたパケットを、選択された並列分割パケットネットワークのバッファにバッファリングする段階であって、各並列分割パケットネットワークは、特定の並列分割パケットネットワークのユニットレベルスイッチに結合された、第２のダイ上の複数のバッファのバッファを有し、第２のダイ上の各ユニットレベルスイッチは、特定の並列分割パケットネットワークのダイ間通信チャネルに結合されている、段階と、を任意選択で含み得る。
【０１２２】
例５１において、例４７−５０および５２−５３の主題は、第２のダイ上の並列分割パケットネットワーク制御ロジックが、第２のダイ上の選択された並列分割パケットネットワークのユニットレベルスイッチを介して、パケットを切り替える段階と、第２のダイ上の選択された並列分割パケットネットワークのバッファにパケットをバッファリングする段階と、選択された並列分割パケットネットワークのバッファからのパケットを、選択された並列分割パケットネットワークのダイ間通信チャネルへ送信する段階と、を任意選択で含み得る。
【０１２３】
例５２において、例４７−５１および５３の主題は、並列分割パケットネットワーク制御ロジックが、選択された並列分割パケットネットワークから到達するパケットを、パケットが到達した選択された並列分割パケットネットワークを識別するタグでタグ付けする段階と、タグ付きパケットを、共通ユニットレベルスイッチを介して、複数の並列分割パケットネットワークの各並列分割パケットネットワークに結合された複数の並列分割パケットネットワークの各々からのパケットを伝送するための共通通信チャネルに切り替える段階と、を任意選択で含み得、共通通信チャネルによって伝送される各パケットは、タグ付きパケットが到達した並列分割パケットネットワークを識別するタグを有する。
【０１２４】
例５３において、例４７−５２の主題は、並列分割パケットネットワーク制御ロジックが、共通通信チャネルから到達したパケットのタグを読み取る段階と、共通ユニットレベルスイッチを介して、到達したパケットを、パケットのタグによって識別される並列分割パケットネットワークに切り替える段階と、を任意選択で含み得る。
【０１２５】
例５４は、任意の先行する例に記載されたような方法を実施する手段を備える装置である。
【０１２６】
例５５は、
各ブロックが、複数のプロセッサおよびブロックの複数のプロセッサを相互接続するブロックネットワークを含む、ブロック階層レベルを定義する複数のブロックと、
ブロック階層レベルにおける複数の前記ブロックを含む、ブロック階層レベルより高いユニット階層レベルを定義するユニットと、
複数の並列分割パケットネットワークであって、各並列分割パケットネットワークが、複数の並列分割パケットネットワークのうちの複数の他の並列分割パケットネットワークから独立しており、各並列分割パケットネットワークが、ユニットのメモリおよび複数のブロックの各ブロックネットワークに結合された、ユニット階層レベルにおけるユニットレベルスイッチを有する、複数の並列分割パケットネットワークと、を備える、メモリと共に使用するためのコンピュータアーキテクチャデバイスである。
【０１２７】
例５６において、例５５および５７−６２の主題は、複数の並列分割パケットネットワークのうちの第１の並列分割パケットネットワークを選択し、複数の他の並列分割パケットネットワークから独立している選択された並列分割パケットネットワークを介してパケットを送信するように適合された並列分割パケットネットワーク制御ロジックを任意選択で含み得、上記送信は、ユニット階層レベルにおける選択された並列分割パケットネットワークのユニットレベルスイッチを介してパケットを切り替えることを含む。
【０１２８】
例５７において、例５５−５６および５８−６２の主題は、ユニット階層レベルより高いユニット間階層レベルを定義する複数の上記ユニットを任意選択で含み得、各ユニットは、ユニット階層レベルにあり、ブロック階層レベルにおける複数の上記ブロックを有し、各並列分割パケットネットワークは、各ユニットに対するユニット階層レベルにあり、メモリおよび特定のユニットの複数のブロックの各ブロックネットワークに結合されたユニットレベルスイッチと、前記ユニット間階層レベルにあり、ユニット階層レベルにおける特定の並列分割パケットネットワークの各ユニットレベルスイッチに結合されたユニット間レベルスイッチと、を有し、並列分割パケットネットワーク制御ロジックは、更に、選択された並列分割パケットネットワークの複数の選択されたユニットレベルスイッチの間においてユニット間階層レベルにおける選択された並列分割パケットネットワークのユニット間レベルスイッチを介してパケットを交換するように、適合されている。
【０１２９】
例５８において、例５５−５７および５９−６２の主題は、第１のダイ、第２のダイおよび複数のダイ間通信チャネルを任意選択で含み得、各並列分割パケットネットワークは、第１および第２のダイに結合された、複数のダイ間通信チャネルのうちのダイ間通信チャネルを有し、複数の並列分割パケットネットワークの複数のブロックおよび複数のユニットレベルスイッチのユニットは、第１のダイ上にあり、デバイスは、第１のダイ上に複数のバッファを更に備え、各並列分割パケットネットワークは、特定の並列分割パケットネットワークのユニットレベルスイッチおよびダイ間通信チャネルに結合されたバッファを有し、並列分割パケットネットワーク制御ロジックは、更に、選択された並列分割パケットネットワークのダイ間通信チャネルへパケットを送信する前に、選択された並列分割パケットネットワークのバッファにパケットをバッファリングし、選択された並列分割パケットネットワークのダイ間通信チャネルから受信されたバッファにパケットを、選択された並列分割パケットネットワークのバッファにバッファリングするように、適合されている。
【０１３０】
例５９において、例５５−５８および６０−６２の主題は、第２のダイ上の複数のユニット階層レベルメモリコントローラであって、各ユニットレベルメモリコントローラが、関連するユニットのメモリと複数のプロセッサとの間の複数のメモリトランザクションを制御するように適合された、複数のユニット階層レベルメモリコントローラと、第２のダイ上の複数のユニットレベルスイッチであって、各並列分割パケットネットワークは、第２のダイ上に複数のユニットレベルスイッチのうちのユニットレベルスイッチを有する、第２のダイ上の複数のユニットレベルスイッチと、第２のダイ上の複数のバッファのうちのバッファであって、第２のダイ上の各ユニットレベルスイッチは、第１のダイ上の特定の並列分割パケットネットワークのユニットレベルスイッチおよびバッファに結合された、バッファと、を任意選択で含み得る。
【０１３１】
例６０において、例５５−５９および６１−６２の主題は、第２のダイ上の選択された並列分割パケットネットワークのユニットレベルスイッチを介して、パケットを交換し、選択された並列分割パケットネットワークのダイ間通信チャネルへパケットを送信する前に、第２のダイ上の選択された並列分割パケットネットワークのバッファにパケットをバッファリングし、第２のダイ上の選択された並列分割パケットネットワークのダイ間通信チャネルから受信された第２のダイ上のバッファにパケットをバッファリングするように適合されている、第２のダイ上の並列分割パケットネットワーク制御ロジックを、各メモリコントローラが有することを、任意選択で含み得る。
【０１３２】
例６１において、例５５−６０および６２の主題は、複数の並列分割パケットネットワークの各々から複数のパケットを伝送するための共通通信チャネルであって、共通通信チャネルによって伝送される各パケットは、並列分割パケットネットワークを識別するタグを有する、共通通信チャネルと、複数の並列分割パケットネットワークの各並列分割パケットネットワークに結合された共通ユニットレベルスイッチとを任意選択で含み得、並列分割パケットネットワーク制御ロジックが、各並列分割パケットネットワークからのパケットを、パケットが到達した並列分割パケットネットワークを識別するタグでタグ付けし、タグ付きパケットを、共通ユニットレベルスイッチを介して共通通信チャネルに切り替えるように適合されている。
【０１３３】
例６２において、例５５−６１の主題は、並列分割パケットネットワーク制御ロジックが、共通通信チャネルからのパケットのタグを読み取り、共通ユニットレベルスイッチを介して、パケットのタグによって識別される並列分割パケットネットワークにパケットを切り替えるように適合されていることを、任意選択で含み得る。記載された複数の動作は、ソフトウェア、ファームウェア、ハードウェア、またはそれらの組み合わせを生成する標準的なプログラミングおよび／または複数のエンジニアリング技術を使用する方法、装置またはコンピュータプログラム製品として実装され得る。記載された複数の動作は、プロセッサがコンピュータ記憶可読媒体からのコードを読み取り、実行し得る、「コンピュータ可読記憶媒体」において保持されるコンピュータプログラムコードとして実装され得る。コンピュータ可読記憶媒体は、電子回路、記憶材料、無機材料、有機材料、生体材料、ケーシング、ハウジング、コーティング、およびハードウェアのうち少なくとも１つを含む。コンピュータ可読記憶媒体は、磁気記憶媒体（例えば、ハードディスクドライブ、フロッピー（登録商標）ディスク、テープ等）、光ストレージ（ＣＤ‐ＲＯＭ、ＤＶＤ、光ディスク等）、揮発性および不揮発性メモリデバイス（例えば、ＥＥＰＲＯＭ、ＲＯＭ、ＰＲＯＭ、ＲＡＭ、ＤＲＡＭ、ＳＲＡＭ、フラッシュメモリ、ファームウェア、プログラマブルロジック等）、ソリッドステートデバイス（ＳＳＤ）等を備え得るが、それらに限定されない。記載された複数の動作を実装するコードは、ハードウェアデバイス（例えば、集積回路チップ、プログラマブルゲートアレイ（ＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等）において実装されるハードウェアロジックにおいて、更に実装され得る。更に、記載された複数の動作を実装するコードは、複数の「送信信号」において実装され得、複数の送信信号は、空間を介して、または例えば光ファイバ、銅線等の伝送媒体を介して伝播し得る。コードまたはロジックがエンコードされる複数の送信信号は、無線信号、衛星送信、無線波、赤外線信号、Ｂｌｕｅｔｏｏｔｈ（登録商標）等を更に備え得る。コンピュータ可読記憶媒体に埋め込まれるプログラムコードは、送信局またはコンピュータから受信局またはコンピュータへと複数の送信信号として送信され得る。コンピュータ可読記憶媒体は、複数の送信信号のみから成るわけではない。当業者らは、本明細書の範囲から逸脱することなく、本構成に対して多くの修正が行われ得、製品は、当技術分野において既知の適切な情報保持媒体を備え得ることを認識するであろう。当然のことながら、当業者らは、本明細書の範囲から逸脱することなく、本構成に対して多くの修正が行われ得、製品は、当技術分野において既知の任意の有形の情報保持媒体を備え得ることを認識するであろう。
【０１３４】
ある特定の複数の用途において、デバイスは、本明細書に従って、デスクトップ、ワークステーション、サーバ、メインフレーム、ラップトップ、ハンドヘルド型コンピュータ等を備えるコンピュータシステム等の、コンピュータシステム、デバイスドライバおよびネットワークコントローラに結合されたモニタまたは他のディスプレイにおいて表示する情報をレンダリングするビデオコントローラを含むコンピュータシステムにおいて、具現化され得る。代替的に、複数のデバイス実施形態は、例えば、スイッチ、ルータ等のビデオコントローラを含まない、または、例えばネットワークコントローラを含まないコンピューティングデバイスにおいて具現化され得る。
【０１３５】
複数の図面の例示されるロジックは、ある特定の順序において起こるある複数のイベントを示し得る。複数の代替的な実施形態において、ある特定の複数の動作は、異なる順序において実行され得、変更され得、または除去され得る。その上、複数の動作は、上記に記載されたロジックに追加され得、それでもなお記載された複数の実施形態に従う。更に、本明細書に記載された複数の動作は、連続的に発生し得、またはある特定の複数の動作が、並行して処理され得る。また更に、複数の動作は、単一の処理ユニットまたは分散型処理ユニットによって実行され得る。
【０１３６】
様々な実施形態の上述の記載は、図示および説明を目的として示されてきた。開示された正確な形態に徹底する、またはそれに限定することは意図していない。多くの修正および変形が、上記の教示を踏まえて可能である。
【図１】
2017503230.tif 000003
【図２】
2017503230.tif 000004
【図３】
2017503230.tif 000005
【図４】
2017503230.tif 000006
【図５】
2017503230.tif 000007
【図６】
2017503230.tif 000008
【図７】
2017503230.tif 000009
【図８】
2017503230.tif 000010
【図９】
2017503230.tif 000011
【図１０ａ】
2017503230.tif 000012
【図１０ｂ】
2017503230.tif 000013
【国際調査報告】
2017503230.tif 000014
2017503230.tif 000015