IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ザイリンクス インコーポレイテッドの特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-04-15
(45)【発行日】2025-04-23
(54)【発明の名称】NOC緩和書込み順序方式
(51)【国際特許分類】
   H04L 49/10 20220101AFI20250416BHJP
   H04L 47/34 20220101ALN20250416BHJP
【FI】
H04L49/10
H04L47/34
【請求項の数】 15
(21)【出願番号】P 2022549946
(86)(22)【出願日】2021-03-15
(65)【公表番号】
(43)【公表日】2023-05-08
(86)【国際出願番号】 US2021022399
(87)【国際公開番号】W WO2021194787
(87)【国際公開日】2021-09-30
【審査請求日】2024-03-05
(31)【優先権主張番号】16/830,142
(32)【優先日】2020-03-25
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】591025439
【氏名又は名称】ザイリンクス インコーポレイテッド
【氏名又は名称原語表記】XILINX INCORPORATED
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】モーシェッド,アッバス
(72)【発明者】
【氏名】アーベル,イガル
(72)【発明者】
【氏名】キム,ウン・ミ
【審査官】吉田 歩
(56)【参考文献】
【文献】特開昭59-100934(JP,A)
【文献】米国特許出願公開第2004/0064627(US,A1)
【文献】特表2020-502660(JP,A)
【文献】米国特許出願公開第2019/0302861(US,A1)
【文献】国際公開第2013/094031(WO,A1)
【文献】特開2007-316859(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 49/10
H04L 47/00
H04L 12/00
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
集積回路であって、
第1のハードウェアエンティティと、
第2のハードウェアエンティティと、
前記第1のハードウェアエンティティと前記第2のハードウェアエンティティとの間の接続性を提供するネットワークオンチップ(NoC)とを備え、
前記NoCは、
前記第1のハードウェアエンティティに結合されたイングレス論理ブロックと、
前記第2のハードウェアエンティティに結合されたエグレス論理ブロックとを含み、
前記イングレス論理ブロックは書込みトラッカを含み、
前記書込みトラッカは、
データを前記第2のハードウェアエンティティに書込む第1の要求を、前記第1のハードウェアエンティティから受信し、
前記第1の要求が緩和順序要求または厳密順序要求のうちの1つであるかどうかを判定するように構成され、
前記第1の要求が前記緩和順序要求である場合、前記第1の要求に対する応答を待つことなく、前記第1の要求と、前記第1の要求の後に受信される第2の要求とを並行して実行できる一方で、前記第1の要求が前記厳密順序要求である場合、前記第1の要求に対する応答を受信するまでは、前記第1の要求と、前記第1の要求と異なる宛先を有する前記第2の要求とを並行して実行できない、集積回路。
【請求項2】
前記書込みトラッカは、前記第1の要求が、前記イングレス論理ブロックにおいて受信された以前の要求によってブロックされていないと判定するように構成され、
前記以前の要求は、緩和順序要求である、請求項1に記載の集積回路。
【請求項3】
前記書込みトラッカは、前記第1の要求がブロックされていないと判定すると、前記第1の要求に対応するリンクリストの末尾に第2のエントリを追加するように構成され、
前記リンクリストは、前記以前の要求に対応する第1のエントリを含む、請求項2に記載の集積回路。
【請求項4】
前記書込みトラッカは、前記第1の要求を、前記以前の要求の宛先からの応答を待つことなく、前記第2のハードウェアエンティティに送信するように構成されている、請求項2に記載の集積回路。
【請求項5】
前記書込みトラッカは、前記第1の要求が、前記イングレス論理ブロックにおいて受信された以前の要求によってブロックされていると判定するように構成され、
前記以前の要求は、厳密順序要求である、請求項1に記載の集積回路。
【請求項6】
前記書込みトラッカは、
前記第1の要求がブロックされていると判定すると、前記第1の要求に対応する一時的なエントリを追加し、
前記以前の要求の宛先から応答を受信し、
前記第1の要求をブロック解除し、前記第1の要求に対応するエントリをリンクリストに追加するように構成されている、請求項5に記載の集積回路。
【請求項7】
前記第1の要求が前記厳密順序要求である場合、前記第1の要求と、前記第1の要求と同じ宛先を有する前記第2の要求とを並行して実行できる、請求項1に記載の集積回路。
【請求項8】
前記書込みトラッカは、
前記エグレス論理ブロックが前記第1の要求を受信した後に、前記エグレス論理ブロックから応答を受信し、
前記第1の要求に対応するエントリがリンクリストの先頭にあるかどうかを判定するように構成され、
前記リンクリストは、前記書込みトラッカによって処理されている保留中の書込み要求を追跡する、請求項1に記載の集積回路。
【請求項9】
前記書込みトラッカは、
前記第1の要求に対応する前記エントリが前記リンクリストの前記先頭にないと判定すると、前記リンクリストに示される以前の応答がすべて報告されるまで待機し、
AXI(Advanced eXtensible Interface)応答順序と互換性を有するように、前記第1の要求が前記リンクリストの前記先頭にあると判定した後に、前記第1の要求が完了していると前記第1のハードウェアエンティティに報告するように構成されている、請求項8に記載の集積回路。
【請求項10】
方法であって、
第2のハードウェアエンティティにデータを書き込む第1の要求を、第1のハードウェアエンティティから受信するステップを備え、
前記第1のハードウェアエンティティおよび前記第2のハードウェアエンティティは、NoCによって通信可能に結合され、
前記方法はさらに、前記NoC内のイングレス論理ブロックにおいて、前記第1の要求が緩和順序要求または厳密順序要求のうちの1つであるかどうかを判定するステップを備え、
前記第1の要求が前記緩和順序要求である場合、前記第1の要求に対する応答を待つことなく、前記第1の要求と、前記第1の要求の後に受信される第2の要求とを並行して実行できる一方で、前記第1の要求が前記厳密順序要求である場合、前記第1の要求に対する応答を受信するまでは、前記第1の要求と、前記第1の要求と異なる宛先を有する前記第2の要求とを並行して実行できない、方法。
【請求項11】
前記第1の要求が前記イングレス論理ブロックにおいて受信された以前の要求によってブロックされていないと判定するステップをさらに備え、
前記以前の要求は緩和順序要求である、請求項10に記載の方法。
【請求項12】
以前に受信された緩和順序要求と現在受信されている厳密順序要求との間のブロックを実施するblock_enビットに基づいて、前記第1の要求が、前記イングレス論理ブロックにおいて受信された以前の要求によってブロックされていると判定するステップをさらに備え、
前記以前の要求は緩和順序要求である、請求項10に記載の方法。
【請求項13】
前記第1の要求が前記厳密順序要求である場合、前記第1の要求と、前記第1の要求と同じ宛先を有する前記第2の要求とを並行して実行できる、請求項10に記載の方法。
【請求項14】
前記NoC内のエグレス論理ブロックが前記第1の要求を受信した後に、前記エグレス論理ブロックから応答を受信するステップと、
前記第1の要求に対応するエントリがリンクリストの先頭にあるかどうかを判定するステップとをさらに備え、
前記リンクリストは、前記イングレス論理ブロックによって処理されている保留中の書込み要求を追跡する、請求項10に記載の方法。
【請求項15】
前記第1の要求を、前記NoC上で送信される複数のチョップに分割するステップと、
前記第1の要求が完了していると前記第1のハードウェアエンティティに報告する前に、前記チョップのすべてについての応答がそれぞれの宛先から受信されるまで待機するステップとをさらに備える、請求項10に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本開示の例は、概して、ネットワークオンチップ(NoC:network on a chip)を使用した、厳密順序要求および緩和順序要求の実行に関する。
【背景技術】
【0002】
背景
システムオンチップ(SoC)(たとえば、フィールド・プログラマブル・ゲート・アレイ(FPGA)、プログラマブル論理回路(PLD)または特定用途向け集積回路(ASIC))は、SoC内の論理ブロック、たとえば、プログラマブル論理ブロック、プロセッサおよびメモリなどの間でデータパケットをルーティングするために、ネットワークオンチップ(NoC)として知られるパケットネットワーク構造を含み得る。
【発明の概要】
【発明が解決しようとする課題】
【0003】
NoCは、エグレス論理ブロック(たとえば、サーバント)に対して読取り要求または書込み要求を実行するイングレス論理ブロック(たとえば、マスタ)を含み得る。イングレス論理ブロックは、複数の要求を受信することができる。厳密順序付けが必要とされる場合、イングレス論理ブロックは、第2の要求が異なるエグレス論理ブロックに送信可能になる前に、第1の要求に対する応答が第1のエグレス論理ブロックから受信されるまで待機しなければならない場合がある。すなわち、厳密順序付けは、異なるエグレス論理ブロックへの応答が順次発生することを必要とする。したがって、これは、イングレス論理ブロックが別の読取りまたは書込み要求を発行する前に各エグレス論理ブロックからの応答を待つかなりの遅延を引き起こす可能性がある。
【課題を解決するための手段】
【0004】
概要
緩和順序要求を定義するための技法が説明される。一例は、第1のハードウェアエンティティと、第2のハードウェアエンティティと、第1のハードウェアエンティティと第2のハードウェアエンティティとの間の接続性を提供するネットワークオンチップ(NoC)とを含む集積回路である。NoCは、第1のハードウェアエンティティに結合されたイングレス論理ブロックと、第2のハードウェアエンティティに結合されたエグレス論理ブロックとを含み、イングレス論理ブロックは書込みトラッカを含み、書込みトラッカは、データを第2のハードウェアエンティティに書き込む第1の要求を、第1のハードウェアエンティティから受信し、第1の要求が緩和順序要求または厳密順序要求のうちの1つであるかどうかを判定するように構成され、緩和順序要求は、その後に受信される応答と並行して実行できる一方で、厳密順序要求は、第1の要求と異なる宛先を有する、その後に受信される応答と並行して実行できない。
【0005】
本明細書で説明する一例は方法であって、方法は、第2のハードウェアエンティティにデータを書き込む第1の要求を、第1のハードウェアエンティティから受信するステップを備え、第1のハードウェアエンティティおよび第2のハードウェアエンティティは、NoCによって通信可能に結合されており、方法はさらに、NoC内のイングレス論理ブロックにおいて、第1の要求が緩和順序要求または厳密順序要求のうちの1つであるかどうかを判定するステップを備え、緩和順序要求は、その後に受信される応答と並行して実行できる一方で、厳密順序要求は、第1の要求と異なる宛先を有する、その後に受信される応答と並行して実行できない。
【0006】
上記の特徴が詳細に理解できるように、上記で簡潔に要約されたより具体的な説明は、実施態様例を参照することによって得ることができ、その一部が添付の図面に示されている。しかしながら、添付の図面は、典型的な実施態様例のみを示しているため、その範囲を限定するものと見なされるべきではないことに留意されたい。
【図面の簡単な説明】
【0007】
図1】一例に係る、プログラマブルNoCを含むSoCのブロック図である。
図2】一例に係る、プログラマブルNoCを含むSoCの例示的なレイアウトを示す図である。
図3】一例に係る、リンクリストを使用して書込み要求をサービスするためのフローチャートである。
図4】一例に係る、リンクリストから書込み要求を除去するためのフローチャートである。
図5A】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
図5B】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
図5C】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
図5D】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
図5E】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
図5F】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
図5G】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
図5H】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
図5I】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
図5J】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
図5K】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
図5L】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
図5M】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
図5N】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
図5O】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
図5P】一例に係る、書込み要求が受信されて完了するときのリンクリストの状態を示す図である。
【発明を実施するための形態】
【0008】
理解を容易にするために、可能な場合、図面に共通する同一の要素を示すために同一の参照番号が使用されている。ある例の要素は、他の例に有益に組み込まれ得ることが企図されている。
【0009】
詳細な説明
様々な特徴について、図面を参照して以下で説明する。図面は、縮尺通りに描かれている場合もあれば描かれていない場合もあり、同様の構造または機能の要素は、図面全体にわたって同様の参照番号によって表されることに留意されたい。図面は、特徴の説明を容易にすることのみを意図していることに留意されたい。これらは、説明の網羅的な記載として、または特許請求の範囲に対する限定として意図されたものではない。さらに、図示される例は、示されるすべての態様または利点を有する必要はない。特定の例に関連して説明される態様または利点は、必ずしもその例に限定されず、そのように示されていない場合でも、またはそのように明示的に記載されていない場合でも、任意の他の例において実施可能である。
【0010】
本明細書の実施形態は、厳密順序要求と緩和順序要求との両方をサポートするNoCを含むSoCについて説明する。すなわち、いくつかのアプリケーションは、同じイングレス論理ブロック(NoCマスターユニット(NMU)とも呼ばれる)から異なるエグレス論理ブロック(NoCスレーブユニットまたはNoCサーバントユニット(NSU)とも呼ばれる)に送信される要求が順次実行される厳密順序付け(多くのプロセッサタイプの動作など)を必要とすることがある。しかしながら、他のアプリケーションは、メモリへのインターリーブ書込みなど、厳密順序付けを必要としないことがある。これらのアプリケーションでは、同じイングレス論理ブロックが複数の要求を異なるエグレス論理ブロックに並行して送信することができる場合、緩和順序付けを使用することができる。たとえば、イングレス論理ブロックは、緩和順序要求であると示される第1の要求を受信し得る。要求を対応するエグレス論理ブロックに送信した後、イングレス論理ブロックは、第1の要求と同じまたは異なる宛先への第2の要求を受信し得る。イングレス論理ブロックは、第1の要求についての応答を待つことなく、第2の要求をその宛先に送信することができる。このように、要求を緩和順序付けとして指定することにより、厳密順序付けによって引き起こされる遅延を回避することができる。
【0011】
一実施形態では、イングレス論理ブロックは、依然として、要求を順番にサブミットするハードウェアエンティティに完了通知を返す。上記の例を続けると、第1の要求の前に第2の要求が完了する(たとえば、イングレス論理ブロックは、第1の要求に対応するエグレス論理ブロックから応答を受信する前に、第2の要求に対応するエグレス論理ブロックから応答を受信する)場合、イングレス論理ブロックは、第1の要求が完了するまで、要求をサブミットするエンティティに、第2の要求が完了していると通知するのを待つ。しかしながら、これはプロトコル固有の要件である場合があるため、NoC上でデータを送信するために使用される通信プロトコルに依存し得る。
【0012】
図1は、一例に係る、NoC105を含むSoC100のブロック図である。一実施形態では、SoC100は、単一の集積回路(IC)を使用して実装される。一実施形態では、SoC100は、ハード論理とプログラマブル論理との混合を含む。たとえば、NoC105は、SoC100におけるそのフットプリントが低減されるように、プログラマブル回路ではなくハード回路を使用して形成され得る。
【0013】
図示のように、NoC105は、プログラマブルロジック(PL)ブロック125Aと、PLブロック125Bと、プロセッサ110と、メモリ120とを相互接続する。すなわち、NoC105は、SoC100内の異なるハード回路要素およびプログラマブル回路要素を通信可能にするために、SoC100内で使用可能である。たとえば、PLブロック125Aは、PLブロック125Bと通信するために1つのイングレス論理ブロック115(たとえば、NMU)を使用し、プロセッサ110と通信するために別のイングレス論理ブロック115を使用し得る。しかしながら、別の実施形態では、PLブロック125Aは、(エンドポイントが同じ通信プロトコルを使用すると仮定して)PLブロック125Bとプロセッサ110との両方と通信するために同じイングレス論理ブロック115を使用し得る。PLブロック125Aは、PLブロック125Bおよびプロセッサ110のためのそれぞれのエグレス論理ブロック140(たとえば、NSU)にデータを送信することができ、PLブロック125Bおよびプロセッサ110は、アドレス(メモリマッピングプロトコルを使用する場合)または宛先ID(ストリーミングプロトコルを使用する場合)に基づいて、データがそれらを対象としているかどうかを判定することができる。
【0014】
PLブロック125Aは、PLブロック125Bおよびプロセッサ110によって送信されたデータを受信するためのエグレス論理ブロック140を含み得る。一実施形態では、ハードウェア論理ブロックは、NoC105にも接続された他のすべてのハードウェア論理ブロックとも通信可能であるが、他の実施形態では、ハードウェア論理ブロックは、NoC105に接続された他のハードウェア論理ブロックのサブ部分のみと通信し得る。たとえば、メモリ120は、PLブロック125Aと通信できるが、PLブロック125Bとは通信できない。
【0015】
上述のように、イングレス論理ブロック115およびエグレス論理ブロック140はすべて、PLブロック125、プロセッサ110、およびメモリ120と通信するために同じ通信プロトコルを使用してもよいし、異なる通信プロトコルを使用してもよい。たとえば、プロセッサ110がメモリ120と通信するためにストリーミングプロトコルを使用する一方で、PLブロック125Aは、PLブロック125Bと通信するためにメモリマッピングプロトコルを使用し得る。一実施形態では、NoC105内の転送ネットワーク130は、複数のプロトコルをサポートすることができる。
【0016】
一実施形態では、SoC100は、ユーザ設計に従ってPLブロック125を構成するFPGAである。すなわち、この例では、FPGAは、プログラマブル論理ブロックとハード論理ブロックとの両方を含む。しかしながら、他の実施形態では、SoC100は、ハード論理ブロックのみを含むASICでもよい。すなわち、SoC100は、PLブロック125を含まなくてもよい。その例では論理ブロックが非プログラマブルであるにもかかわらず、NoC105は依然としてプログラマブルであり得、したがって、ハード論理ブロック、たとえば、プロセッサ110およびメモリ120は、異なる通信プロトコル間で切り替えたり、インターフェースにおけるデータ幅を変更したり、周波数を調整したりすることができる。
【0017】
NoC105は、エンティティ(たとえば、PLブロック125、プロセッサ110、およびメモリ120)が、厳密順序付けまたは緩和順序付けを使用して書込み要求をサブミットすることを可能にする。たとえば、プロセッサ110は、NoC105を介してデータを送信する場合、常に厳密順序付けを使用し得る。しかしながら、PLブロック125Aは、メモリ120にデータを格納するために緩和順序付けを使用可能なメモリコントローラを含み得る。本明細書の実施形態を使用して、ユーザは、NoC105によって促進される特定の書込みが厳密順序付けまたは緩和順序付けを使用して行われるように、SoC100をカスタマイズすることができる。
【0018】
イングレス論理ブロック115の各々は、イングレス論理ブロックによってエグレス論理ブロック140に送信された書込み要求を追跡する書込みトラッカ145を含み得る。書込みトラッカは、リンクリスト150と、書込み要求および受信された書込み応答に関するすべてのステータス情報とを含む。一実施形態では、書込みトラッカは、最大数の要求(たとえば、64個の要求)を処理することができるが、この数は、実施態様に依存し得る。
【0019】
書込みトラッカ145は、先頭と末尾とを有するリンクリスト150を含む。書込み要求は、受信されると、リンクリスト150に追加されてもよい。さらに、以下で説明するように、書込み要求は、それらが厳密順序要求であるか緩和順序要求であるかに応じて、リンクリスト150に追加され得る。たとえば、リンクリスト150が既に厳密順序要求を含んでいる場合、その後に受信される厳密要求はブロックされ得る(すなわち、リンクリスト150に追加されない)。要求がどのようにリンクリスト150に追加され、そこから除去されるかを説明するための詳細は、図3図5に記載されている。
【0020】
図2は、一例に係る、NoC105を含むSoC100の例示的なレイアウトを示す。図1と同様に、図2は、PLブロック125、プロセッサ110、メモリ120、イングレス論理ブロック115およびエグレス論理ブロック140を示す。図2はさらに、イングレス論理ブロック115とエグレス論理ブロック140との間でパケットをルーティングするためにNoC内の転送ネットワークによって使用される接続および様々なスイッチ135(「X」を有するボックスとしてラベル付けされている)を示す。
【0021】
SoC100の物理レイアウトにおけるPLブロック125、プロセッサ110およびメモリ120の位置は、これらのハードウェア要素の配置の一例に過ぎない。SoC100はさらに、示されるよりも多くのハードウェア要素を含み得る。たとえば、SoC100は、SoC100上の異なる位置に配置された追加のPLブロック、プロセッサ、およびメモリを含み得る。SoC100はさらに、それぞれのイングレス論理ブロック115およびエグレス論理ブロック140を使用してNoC105に結合されてもされなくてもよい、I/Oモジュールおよびメモリコントローラなどの他のハードウェア要素を含み得る。たとえば、I/Oモジュールは、SoC100の周囲に配置されてもよい。
【0022】
図3は、一例に係る、リンクリストを使用して書込み要求をサービスするための方法300のフローチャートである。ブロック305において、イングレス論理ブロックは、SoC内のハードウェアエンティティ(たとえば、PLブロック、プロセッサ、メモリコントローラ、I/Oモジュールなど)から書込み要求を受信する。以下では、説明を容易にするために、書込み要求を単に「要求」と呼ぶ。
【0023】
ブロック310において、イングレス論理ブロックは、要求がブロックされているかどうかを判定する。要求は、複数の理由でブロックされることがある。一例では、リンクリストは、まだ完了していない厳密順序要求を既に含んでいる場合がある。ブロック305で受信された要求が、リンクリストに既にある厳密順序要求と異なる宛先に対するものである場合に、新しい要求は、それも厳密順序要求であるときにはブロックされる。別の例では、要求を異なる「チョップ」に細分することができる(たとえば、512バイトの書込み要求が、2つの256バイトのチョップに分割される)。厳密順序要求のチョップが2つの異なる宛先についてのものである場合、第1のチョップがその宛先に送信される間、第2のチョップはブロックされ得る。すなわち、第1のチョップが、そのエグレス論理ブロックに送信可能である間、第2のチョップは待機しなければならない。メモリシステムはまた、同じAXI IDを有する全ての緩和順序要求が書込みトラッカから破棄されるまで、厳密要求を待機させることが可能なモードビットを有し得る。これらの例は、要求がイングレス論理ブロックによって(少なくとも部分的に)ブロックされるであろうすべてのシナリオをカバーすることを意図したものではない。シナリオのタイプは、NoCの実装態様および使用されている通信プロトコルに応じて異なり得る。
【0024】
要求がブロックされない状況も多い。たとえば、AXI(Advanced eXtensible Interface)通信プロトコルは、異なるAXI IDを有する要求が並行して(たとえば、厳密順序付けなしに)発生することを可能にする。したがって、異なるAXI IDを有する別の要求と同じまたは異なる宛先への厳密順序要求または緩和順序要求は、ブロックされないことがある。さらに、AXIは、同じAXI IDおよび同じ宛先ID(たとえば、同じ宛先エグレス論理ブロック)を有する要求が並行して発生することを可能にする。したがって、リンクリストが、ブロック305において受信された新しい厳密順序要求と同じ宛先を有する以前の厳密順序要求を有する場合であっても、新しい要求はブロックされない。逆に言えば、以前に受信された厳密順序要求は、新しい要求が以前に受信された要求と異なる宛先を有する場合にのみ、新しい厳密順序要求(同じAXI IDを有する)をブロックする。さらに、以前の要求が緩和順序要求である場合、新しい要求(厳密順序であろうと緩和順序であろうと)は、新しい要求が同じ宛先を有するか異なる宛先を有するかにかかわらず、以前の要求によってブロックされない。この場合もやはり、メモリシステムは、同じAXI IDを有するすべての緩和順序要求が書込みトラッカから破棄されるまで、厳密要求に待機を強制するモードビットを有し得る。これらの例は、要求がイングレス論理ブロックにおいてブロックされないことがあるすべてのシナリオをカバーすることを意図したものではない。図5A図5Lは、要求が以前に受信された要求によってブロックされ、ブロック解除される、多くの異なる例を示す。
【0025】
ブロック310において要求がブロックされている場合、方法300はブロック315に進み、イングレス論理ブロックは、要求について書込みトラッカ内に一時的なエントリを追加する。すなわち、イングレス論理ブロックは、リンクリストにエントリを追加しないが、それにもかかわらず、要求がブロック解除されるまで待つことができる、要求のための一時的なエントリを格納し得る。
【0026】
ブロック320において、イングレス論理ブロックは、以前のブロッキング要求がサービスされた後、すなわち完了した後、要求をリンクリストに追加する。たとえば、受信された新しい要求が、以前に受信された厳密順序要求によってブロックされる場合、以前に受信された要求に対応する宛先から応答が受信された後、イングレス論理ブロックは、新しい要求のための一時的なエントリをリンクリストに追加し、要求をその宛先エグレス論理ブロックに送信することができる。
【0027】
ブロック310に戻り、要求がブロックされていない場合、方法300はブロック325に進み、イングレス論理ブロックは、要求に対応するエントリをリンクリストの末尾に追加する。要求が、リンクリストにおいて現在追跡されている唯一の要求である場合、その対応するエントリは、リンクリストの先頭と末尾との両方となる。
【0028】
ブロック330において、イングレス論理ブロックは、以前の要求に関連する応答を待つことなく、要求を送信する。すなわち、以前に受信された要求に対応するリンクリスト内に他のエントリがある場合、イングレス論理ブロックは、それにもかかわらず、以前に受信された要求(複数可)に対する応答を待つことなく、新たに受信された要求をその宛先に送信することができる。このようにして、緩和順序付けは、要求間の遅延を低減することができる。すなわち、以前の要求が緩和順序付けである場合、イングレス論理ブロックが以前の要求に対する応答を受信するのを待つことなく、新しい要求を送信することができる。対照的に、以前の要求が厳密順序付けである場合、同じAXI IDを有するが異なる宛先IDを有する新しい厳密順序要求がブロックされる。したがって、どの要求が厳密順序付けであり、どの要求が緩和順序付けであるかを指定する能力をユーザに提供することによって、ユーザは、同じAXI IDを有するが異なる宛先IDを有する要求をブロックする厳密順序付けによって生じる遅延を回避することができる。
【0029】
要求を緩和順序付けまたは厳密順序付けとして指定する複数の異なる方法がある。一実施形態では、以下でRELAXビットと呼ばれる新しいビットが、イングレス論理ブロック内に維持されるアドレスマップテーブル内の各エントリに追加される。このビットは、アドレス領域が厳密AXI書込み順序ルールの施行を必要とするか、緩和AXI書込み順序ルールの施行を必要とするかを示す。すなわち、ユーザは、どのアドレス領域が厳密順序付けまたは緩和順序付けに従うべきかを指定することができ、要求をサブミットするエンティティ(たとえば、PLブロック、プロセッサ、またはメモリコントローラ)は、それに応じてrelax_order_enビットを割り当てることができる。別の実施形態では、AXI書込みアドレスチャネルの2ビットのAWUSER信号が、緩和書込み順序または厳密書込み順序のいずれかを強制するために使用される。さらに別の実施形態では、relax_order_enビットも、イングレス論理ブロック内の書込みトラッカエントリデータ構造に追加される。このビットは、ルックアップアドレスマップテーブルエントリ(またはリマップ動作)に基づいて設定される。別の実施形態では、別のビットを追加して、以前の緩和順序要求と新しい厳密順序要求との間のブロッキングを実施することができ(すなわち、block_enビット)、これについては以下で説明する。
【0030】
RELAXビットがどのように使用可能であるかを説明するために、一実施形態では、新しい厳密AXI書込み要求がイングレス論理ブロックに到達し、そのdest-ID/RELAXビットがアドレスマップによって選択されると、書込みトラッカは、リンクリストが、整合するAXI-IDおよびRELAXビットが0に設定された(以前の要求が厳密順序要求であることを示す)任意のVALIDエントリを含むかどうかをチェックする。新しい厳密順序要求の異なるdest-IDとの任意の一致が見つかった場合、新しい要求は、一致するエントリがそのすべてのNoC応答を受信するまでブロックされ、破棄される、すなわち、リンクリストから除去される。対照的に、新しい緩和AXI書込み要求がイングレス論理ブロックに到達し、そのdest-ID/RELAXビットがアドレスマップによって選択されると、書込みトラッカは、書込み要求がNoCに送信されるのをブロックしない。
【0031】
図4は、一例に係る、リンクリストから要求を除去するための方法400のフローチャートである。ブロック405において、イングレス論理ブロックは、エグレス論理ブロック(すなわち、要求の宛先)から要求に対する応答を受信する。
【0032】
ブロック410において、イングレス論理ブロックは、要求に対応するエントリがリンクリストの先頭にあるかどうかを判定する。すなわち、リンクリストが同じAXI IDを有する要求のみを格納すると仮定すると、書込みトラッカは、要求がリンクリストに格納された最も古い要求である(たとえば、要求は、リンクリストに示される他のすべての要求の前に受信されている)かどうかを判定する。上述のように、少なくともAXIについて、イングレス論理ブロックは、要求が受信された順序で要求をサブミットしたエンティティに通知する。したがって、リンクリスト内の要求が以前に受信された要求の前に終了する場合、方法400はブロック415に移動し、書込みトラッカは、リンクリスト内の以前の応答がすべて報告されるまで待機する。
【0033】
これが行われると(または、応答がリンクリストの先頭にあった場合)、方法400はブロック420に進み、書込みトラッカは、要求が完了していると報告する、すなわち、要求が破棄される。
【0034】
ブロック425において、書込みトラッカは、リンクリストからエントリを削除する。すなわち、リンクリストの先頭がリンクリストの次のエントリに移動される。
【0035】
図5A図5Lは、例に係る、要求が受信されて完了するときの書込みトラッカの状態を示す。すなわち、図5A図5Lは、複数の期間にわたって書込みトラッカを使用して新しい要求を受信し、それらの要求をサービスすることを示す。すなわち、図5Aは第1の期間を示し、図5Bは第2の次の期間を示し、図5Cは第2の期間に続く第3の期間を示し、以下同様である。一実施形態では、図5A図5Lに示す要求は、同じ書込みトラッカ(または同じイングレス論理ブロック)で受信されるが、図5Lは、同じイングレス論理ブロック内の2つの異なる書込みトラッカまたは2つの異なるイングレス論理ブロックによって管理され得る2つのリンクリストを示す。
【0036】
図5Aは、Req0を受信した後の書込みトラッカの状態を示す。書込みトラッカによってサービスされている以前の要求はなかった(すなわち、リンクリスト150は空であった)ので、書込みトラッカは、直ちにReq0のエントリをリンクリスト150に追加し、NoC上で要求を送信することができる。
【0037】
図示のように、図5A図5Lのエントリは、エントリが有効であるかどうかを示すVALIDセクションと、イングレス論理ブロックまたはイングレス論理ブロック内の書込みトラッカ(複数可)のAXI IDを示すAXI-IDセクションと、要求の宛先であるエグレス論理ブロックを示すDEST-IDセクションと、要求が厳密順序であるか緩和順序であるかを示すRELAXセクションと、要求についての応答(複数可)がすべて受信されたかどうかを示すSTATUSセクションと、エントリが要求についての最後のエントリであるかどうかを示すLASTセクションと、要求が単一の要求であるか複数のサブ要求またはチョップに分割されたかを示すRESPセクションとを含む。図5Aに示すエントリは厳密順序要求であり(RELAXビットは1ではなく0に設定されるため)、STATUSビットの値が1ではなく依然として0であるため、書込みトラッカは要求に対する応答をまだ受信していない。
【0038】
図5Bは、Req1を受信した後の書込みトラッカの状態を示す。Req1は、厳密順序要求であり(RELAXビットが0であるため)、Req0と異なる宛先、すなわち、D2ではなくD7を有する。この例では、Req0のSTATUSビットが依然として0であり、書込みトラッカがReq0に対する応答をまだ受信していないことを示すため、書込みトラッカは、厳密順序付けを維持するためにReq1をブロックする。言い換えれば、書込みトラッカは、NoC上のReq1をその宛先に送信しない。
【0039】
さらに、図5Bは、ブロックされたReq1がリンクリスト150に追加されないことを示す。代わりに、書込みトラッカは、Req1のエントリを一時的なエントリ505Aとして格納する。Req1をブロックし、書込みトラッカ内に一時的なエントリ505Aを格納することは、方法300のブロック310および315で説明された論理の一例である。
【0040】
図5Cは、Req0の宛先からの応答が受信された後の書込みトラッカの状態を示す。これは、STATUSビットが0から1に変更されることによって、Req0に対応するエントリに示される。応答が受信されているので、書込みトラッカは、それが完了したことを、Req0をサブミットしたエンティティに報告することができ、これは、方法400のブロック420で説明される論理の一例である。さらに、Req0に対する応答を受信することは、方法300のブロック320に対応する説明の例であるReq1をブロック解除する。
【0041】
図5Dは、Req1がリンクリスト150に追加された後の書込みトラッカの状態を示す。すなわち、Req0のエントリは、リンクリスト150から除去されており、Req1のエントリは、リンクリスト150に追加されている(かつ、Req1の一時的なエントリ505Aは、書込みトラッカから除去することができる)。Req1はその宛先(すなわち、D7)に送信されているが、書込みトラッカは応答をまだ受信していない。Req1は、書込みトラッカによって現在サービスされている唯一の要求であるので、その対応するエントリは、リンクリスト150の先頭と末尾との両方である。
【0042】
図5Eは、書込みトラッカが、値1を有するRELAXビットによって示されるような緩和順序要求であるReq2を受信した後の書込みトラッカの状態を示す。さらに、Req0およびReq1とは異なり、Req2は、値2を有するRESPセクションによって示されるように、2つのチョップに分割されている。
【0043】
Req2は緩和順序要求であるため、厳密順序要求Req1によってブロックされない。したがって、書込みトラッカは、Req2のリンクリスト150の末尾にエントリを追加し、その2つのチョップをそれぞれの宛先(同じ宛先または異なる宛先であり得る)に転送することができる。すなわち、2つのチョップは、並行してそれらの宛先に転送され得る。
【0044】
本実施形態では、Req2の2つのチョップは、リンクリスト150内の同じ(すなわち、単一の)エントリによって表される。すなわち、Req2は緩和順序要求であるため、どの順序でチョップが送信されるか、または2つのチョップに対する応答が書込みトラッカにおいて受信される順序は問題ではない。したがって、書込みトラッカは、Req2を破棄する前に、(RESPセクションによって示されるような)2つの応答を受信することを保証するために、Req2の同じエントリを使用することができるが、チョップに対する応答がどの順序で受信されるかは気にしない。
【0045】
図5Fは、書込みトラッカがReq3を受信した後の書込みトラッカの状態を示す。示されるように、Req3は、(2つのチョップを有するReq2とは異なり)ただ1つのチョップを有する緩和順序要求である。Req3は緩和順序要求であるため、既にリンクリスト150にある要求によってブロックされない。したがって、書込みトラッカは、Req3のエントリをリンクリスト150の末尾に追加し、NoC内のその宛先にReq3を転送する。したがって、図5Fは、書込みトラッカが、Req1と、Req2の2つのチョップ(またはサブ要求)と、Req3と、という4つの保留中の要求を有することを示す。
【0046】
図5Gは、Req2のチョップに対する両方の応答を受信した後の書込みトラッカの状態を示す。それに応答して、Req2のエントリのSTATUSビットは、すべての応答がその要求について受信されたことを示す1に変更される。しかしながら、Req2はリンクリスト150の先頭にない(すなわち、最も古い受信要求ではない)ので、書込みトラッカは、Req2が完了したと報告することができない。したがって、図5Gは、方法400のブロック410および415で論じられる論理の例を示し、書込みトラッカは、リンクリスト内の以前の応答がすべて完了していると報告されるまで待機する。しかし、この要件は、AXI通信プロトコルに固有であり、他の通信プロトコルによって必要とされないことがある。すなわち、同じAXI IDを有する要求(この例では、リンクリスト150に格納された全ての要求のIDが同じである)は、受信される順番に完了していると報告されるべきであると述べている。したがって、書込みトラッカは、Req1の宛先からの応答をまだ受信していないので、そのチョップの両方に対する応答を受信したにもかかわらず、Req2が完了したと報告することができない。よって、Req2のエントリは、リンクリスト150に残る。
【0047】
図5Hは、Req1に対する応答が受信された後の書込みトラッカの状態を示す。示されるように、Req1のSTATUSビットは、0から1に変化しており、それゆえ、Req1は、イングレス論理ブロックに要求をサブミットしたエンティティに対して、完了していると報告され得る。リンクリスト150内のReq1のエントリは、除去され得る。
【0048】
Req1のエントリが除去された後、Req2のエントリは、リンクリスト150の先頭となる。Req2についての応答が既に受信されているので(図5Gに示されるように)、書込みトラッカはまた、その要求をイングレス論理ブロックにサブミットしたエンティティに、(AXI応答順序を維持するためにReq1を完了していると報告した後に)Req2を完了していると報告し、Req2の2つのチョップを表すエントリをリンクリスト150から除去することができる。
【0049】
図5Iは、Req1およびReq2のエントリがリンクリスト150から除去された後の、すなわち、これらの要求が破棄された後の書込みトラッカの状態を示す。結果として、Req3は書込みトラッカにおいて依然として保留中の唯一の要求であるので、Req3のエントリはリンクリスト150の先頭および末尾となっている。
【0050】
図5Jは、厳密順序要求であるReq4を受信した後の書込みトラッカの状態を示す。さらに、Req4は、ChoplおよびChop2の2つのチョップに細分されている。したがって、緩和順序要求Req2と同様に、Req4は、NoCを介して単一の要求で送信するには多すぎるデータを有し、それゆえ、複数のチョップに分割されている。この例では、チョップは、D2およびD3の2つの異なる宛先に送信される。たとえば、Req4は、2つの異なるメモリへのインターリーブ書込みであり得る。
【0051】
Req4は厳密順序付けであるが、Req3は緩和順序であるため、Req4チョップ1はブロックされない。しかしながら、Chop2はReq4 Chop1と異なる宛先を有するので、Chop2はReq4 Chop1と並行して送信されるのをブロックされる。両方のチョップの宛先がReq4と同じ宛先であった場合、Req4のチョップの両方がReq3と並行して送信された可能性がある。代わりに、書込みトラッカは、NoC上でChoplの転送を進め、2つのチョップのエントリを一時的なエントリ505Bおよび505Cとして格納する。すなわち、書込みトラッカは、Req4のチョップをリンクリスト150に追加しなくてもよい。
【0052】
図5Kは、Req3およびReq4のChoplに対する応答を受信した後の書込みトラッカの状態を示す。すなわち、Req3およびReq4 ChoplのSTATUSビットは、書込みトラッカがそれらの宛先、すなわちD2およびD3から応答を受信したことを示す1に変更される。この例では、書込みトラッカは、Req4 Chop1についてのNoC応答をChop2のエントリ(すなわち、エントリ505C)にコピーする。
【0053】
さらに、Req3についての応答が受信されたので、書込みトラッカは、Req3が完了したことを報告し、そのエントリをリンクリスト150から除去することができる。また、Chop1に対する応答が受信されているので、Req4 Chop2は、もはやAXIの厳密順序付けによってブロックされず、NoCに送信され得る。
【0054】
図5Lは、イングレス論理ブロック(たとえば、Req0~Req4)で受信された以前の要求と異なるAXI IDを有するReq5を受信した後の書込みトラッカの状態を示す。図5Lはまた、一時的なエントリ505B~Cが結合され、リンクリスト150に追加されたことを示す。すなわち、リンクリスト150は、Req4のChop2のエントリを含みChop1についての応答を含むが、これは必要条件ではない。
【0055】
本実施形態では、Req5が以前の要求と異なるAXI IDを有するので、書込みトラッカは、Req5のエントリをリンクリスト510に格納する。一実施形態では、書込みトラッカは、AXI IDごとに異なるリンクリストを維持する。たとえば、イングレス論理ブロックは、複数のAXI IDに対応し得る。イングレス論理ブロックは、AXI IDの各々についてそれぞれのリンクリストを維持することができる。
【0056】
上述のように、AXIは、異なるAXI IDを有する要求が、それらの要求が厳密順序であるか緩和順序であるかにかかわらず、並行して送信されることを可能にする。すなわち、それらはReq5とReq4とは異なるAXI IDに割り当てられるので、Req5がReq4によってブロックされることはない。したがって、最初にChop2に対する応答が受信されるのを待つことなく、Req5をNoCに送信することができる。さらに、書込みトラッカは、Req4およびReq5への応答の受信を、それらが異なるAXI IDに割り当てられる(および異なるリンクリストに格納される)ので、任意の順序で報告することができる。すなわち、書込みトラッカがReq4 Chop2への応答の前にReq5への応答を受信する場合、書込みトラッカは、先に進んで、Req4が完了していると最初に報告するのを待つことなく、Req5が完了していると、それをサブミットしたエンティティに報告することができ、これはAXIに準拠している。
【0057】
図5Mは、厳密順序要求であるReq6を受信した後の書込みトラッカの状態を示す。Req6はブロックされず、直ちに送信可能である。
【0058】
図5Nは、緩和順序要求であるReq7を受信した後の書込みトラックの状態を示す。Req7は、2つのチョップを含み、ブロックされていない。したがって、それを直ちに送信し、リンクリスト150に追加することができる。
【0059】
図5Oは、厳密順序要求であるReq8を受信した後の書込みトラッカの状態を示す。さらに、Req8は、以前の緩和順序要求と新しい厳密順序要求との間のブロッキングを実施するblock_enビット(図5Oに図示せず)を有する。したがって、Req8がそうでなければブロック解除されるとしても、block_enビットは、Req8が送信されるのをブロックするようにイングレス論理ブロックに指示する。すなわち、Req7は以前に受信された緩和順序要求であるので、書込みトラッカはReq8をブロックする。よって、Req8は、リンクリスト150に追加されない。
【0060】
図5Pは、Req6およびReq7を完了した後の書込みトラッカの状態を示す。すなわち、書込みトラッカは、Req7の両方のチョップの宛先から応答を受信し、リンクリスト150からReq7を除去している。リスト150には以前に受信された緩和順序要求はないので、Req8はブロック解除されており、その宛先に送信可能である。
【0061】
開示された技術は、特許請求の範囲の記載に加えて、以下の非限定的な例によって表現され得る。
【0062】
例1。集積回路であって、第1のハードウェアエンティティと、第2のハードウェアエンティティと、第1のハードウェアエンティティと第2のハードウェアエンティティとの間の接続性を提供するネットワークオンチップ(NoC)とを備え、NoCは、第1のハードウェアエンティティに結合されたイングレス論理ブロックと、第2のハードウェアエンティティに結合されたエグレス論理ブロックとを含み、イングレス論理ブロックは書込みトラッカを含み、書込みトラッカは、データを第2のハードウェアエンティティに書込む第1の要求を、第1のハードウェアエンティティから受信し、第1の要求が緩和順序要求または厳密順序要求のうちの1つであるかどうかを判定するように構成され、緩和順序要求は、その後に受信される応答と並行して実行できる一方で、厳密順序要求は、第1の要求と異なる宛先を有する、その後に受信される応答と並行して実行できない、集積回路。
【0063】
例2。書込みトラッカは、第1の要求が、イングレス論理ブロックにおいて受信された以前の要求によってブロックされていないと判定するように構成され、以前の要求は、緩和順序要求である、例1に記載の集積回路。
【0064】
例3。書込みトラッカは、第1の要求がブロックされていないと判定すると、第1の要求に対応するリンクリストの末尾に第2のエントリを追加するように構成され、リンクリストは、以前の要求に対応する第1のエントリを含む、例2に記載の集積回路。
【0065】
例4。書込みトラッカは、第1の要求を、以前の要求の宛先からの応答を待つことなく、第2のハードウェアエンティティに送信するように構成されている、例2に記載の集積回路。
【0066】
例5。書込みトラッカは、第1の要求が、イングレス論理ブロックにおいて受信された以前の要求によってブロックされていると判定するように構成され、以前の要求は、厳密順序要求である、例1に記載の集積回路。
【0067】
例6。書込みトラッカは、第1の要求がブロックされていると判定すると、第1の要求に対応する一時的なエントリを追加し、以前の要求の宛先から応答を受信し、第1の要求をブロック解除し、第1の要求に対応するエントリをリンクリストに追加するように構成されている、例5に記載の集積回路。
【0068】
例7。厳密順序要求は、第1の要求と同じ宛先を有する、その後に受信される応答と並行して実行できる、例1に記載の集積回路。
【0069】
例8。書込みトラッカは、エグレス論理ブロックが第1の要求を受信した後に、エグレス論理ブロックから応答を受信し、第1の要求に対応するエントリがリンクリストの先頭にあるかどうかを判定するように構成され、リンクリストは、書込みトラッカによって処理されている保留中の書込み要求を追跡する、例1に記載の集積回路。
【0070】
例9。書込みトラッカは、第1の要求に対応するエントリがリンクリストの先頭にないと判定すると、リンクリストに示される以前の応答がすべて報告されるまで待機し、AXI(Advanced eXtensible Interface)応答順序と互換性を有するように、第1の要求がリンクリストの先頭にあると判定した後に、第1の要求が完了していると第1のハードウェアエンティティに報告するように構成されている、例8に記載の集積回路。
【0071】
例10。方法であって、第2のハードウェアエンティティにデータを書き込む第1の要求を、第1のハードウェアエンティティから受信するステップを備え、第1のハードウェアエンティティおよび第2のハードウェアエンティティは、NoCによって通信可能に結合され、方法はさらに、NoC内のイングレス論理ブロックにおいて、第1の要求が緩和順序要求または厳密順序要求のうちの1つであるかどうかを判定するステップを備え、緩和順序要求は、その後に受信される応答と並行して実行できる一方で、厳密順序要求は、第1の要求と異なる宛先を有する、その後に受信される応答と並行して実行できない、方法。
【0072】
例11。第1の要求がイングレス論理ブロックにおいて受信された以前の要求によってブロックされていないと判定するステップをさらに備え、以前の要求は緩和順序要求である、例10に記載の方法。
【0073】
例12。第1の要求がブロックされていないと判定すると、第1の要求に対応するリンクリストの末尾に第2のエントリを追加するステップをさらに備え、リンクリストは、以前の要求に対応する第1のエントリを含む、例11に記載の方法。
【0074】
例13。以前の要求の宛先からの応答を待つことなく、NoCを介して第2のハードウェアエンティティに第1の要求を送信するステップをさらに備える、例11に記載の方法。
【0075】
例14。以前に受信された緩和順序要求と現在受信されている厳密順序要求との間のブロッキングを実施するblock_enビットに基づいて、第1の要求が、イングレス論理ブロックにおいて受信された以前の要求によってブロックされていると判定するステップをさらに備える、例10に記載の方法。
【0076】
例15。第1の要求がブロックされていると判定すると、第1の要求に対応する一時的なエントリを追加するステップと、以前の要求の宛先から応答を受信するステップと、第1の要求をブロック解除し、第1の要求に対応するエントリをリンクリストに追加するステップとをさらに備える、例14に記載の方法。
【0077】
例16。厳密順序要求は、第1の要求と同じ宛先を有する、その後に受信される応答と並行して実行できる、例10に記載の方法。
【0078】
例17。NoC内のエグレス論理ブロックが第1の要求を受信した後に、エグレス論理ブロックから応答を受信するステップと、第1の要求に対応するエントリがリンクリストの先頭にあるかどうかを判定するステップとをさらに備え、リンクリストは、イングレス論理ブロックによって処理されている保留中の書込み要求を追跡する、例10に記載の方法。
【0079】
例18。第1の要求に対応するエントリがリンクリストの先頭にないと判定すると、リンクリストに示される以前の応答がすべて報告されるまで待機するステップと、AXI応答順序と互換性を有するように、第1の要求がリンクリストの先頭にあると判定した後に、第1の要求が完了していると報告するステップとをさらに備える、例17に記載の方法。
【0080】
例19。リンクリストから第1の要求に対応するエントリを削除するステップをさらに備える、例18に記載の方法。
【0081】
例20。第1の要求を、NoC上で送信される複数のチョップに分割するステップと、第1の要求が完了していると第1のハードウェアエンティティに報告する前に、チョップのすべてについての応答がそれぞれの宛先から受信されるまで待機するステップとをさらに備える、例10に記載の方法。
【0082】
上記は具体的な例を対象とするが、その基本的範囲から逸脱することなく、他のおよびさらに別の例が考案されてもよく、その範囲は、以下の請求項によって決定される。
図1
図2
図3
図4
図5A
図5B
図5C
図5D
図5E
図5F
図5G
図5H
図5I
図5J
図5K
図5L
図5M
図5N
図5O
図5P