TW202347133A - 具有分層通信架構的晶片至晶片互連 - Google Patents
具有分層通信架構的晶片至晶片互連 Download PDFInfo
- Publication number
- TW202347133A TW202347133A TW112114588A TW112114588A TW202347133A TW 202347133 A TW202347133 A TW 202347133A TW 112114588 A TW112114588 A TW 112114588A TW 112114588 A TW112114588 A TW 112114588A TW 202347133 A TW202347133 A TW 202347133A
- Authority
- TW
- Taiwan
- Prior art keywords
- integrated circuit
- chip
- circuit package
- communication unit
- interconnect
- Prior art date
Links
- 238000004891 communication Methods 0.000 title claims abstract description 160
- 238000012545 processing Methods 0.000 claims abstract description 56
- 238000013473 artificial intelligence Methods 0.000 claims abstract description 37
- 239000000872 buffer Substances 0.000 claims description 53
- 238000000034 method Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 4
- 238000012549 training Methods 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 24
- 238000004806 packaging method and process Methods 0.000 description 17
- 230000005540 biological transmission Effects 0.000 description 10
- 230000004044 response Effects 0.000 description 10
- 235000012431 wafers Nutrition 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 241001522296 Erithacus rubecula Species 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 206010009944 Colon cancer Diseases 0.000 description 1
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007921 spray Substances 0.000 description 1
- 239000004557 technical material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17337—Direct connection machines, e.g. completely connected computers, point to point communication networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7825—Globally asynchronous, locally synchronous, e.g. network on chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3005—Arrangements for executing specific machine instructions to perform operations for flow control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1806—Go-back-N protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
- H04L1/188—Time-out mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/39—Credit based
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Communication Control (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本發明揭示一種系統,其包括一第一積體電路封裝及一第二積體電路封裝,該第一積體電路封裝包括一第一群組的一或多個人工智慧處理單元及一第一晶片至晶片互連通信單元,該第二積體電路封裝包括一第二群組的一或多個人工智慧處理單元及一第二晶片至晶片互連通信單元。該系統亦包括介於該第一積體電路封裝與該第二積體電路封裝之間的一互連,其中該第一晶片至晶片互連通信單元及該第二晶片至晶片互連通信單元使用支援一基於信用之資料流量控制及一再傳輸資料流量控制之一分層通信架構來管理經由該互連之基於乙太網路之通信。
Description
本申請案涉及具有分層通信架構的晶片至晶片互連。
資料中心係容納電腦系統及組件(諸如計算系統、資料儲存系統及其他相關聯組件)之設施。諸如人工智慧(AI)模型之訓練等現代應用已推動了資料中心對高網路、儲存及計算能力的需求。大量處理單元經常連接用於大規模計算任務。然而,此等處理單元經常以不會隨網路速度增長很好地擴展及/或涉及繁瑣的通信協定的方式連接。因此,開發針對靈活且可擴縮的晶片至晶片互連的技術將係有益的。
本發明提供一種系統,其包含:一第一積體電路封裝,其包括一第一群組的一或多個人工智慧處理單元及一第一晶片至晶片互連通信單元;一第二積體電路封裝,其包括一第二群組的一或多個人工智慧處理單元及一第二晶片至晶片互連通信單元;及一互連,其介於該第一積體電路封裝與該第二積體電路封裝之間,其中該第一晶片至晶片互連通信單元及該第二晶片至晶片互連通信單元使用支援一基於信用之資料流量控制及一再傳輸資料流量控制之一分層通信架構來管理經由該互連之基於乙太網路之通信。
本發明提供一種方法,其包含:組態一第一積體電路封裝,該第一積體電路封裝包括一第一群組的一或多個人工智慧處理單元及一第一晶片至晶片互連通信單元;組態一第二積體電路封裝,該第二積體電路封裝包括一第二群組的一或多個人工智慧處理單元及一第二晶片至晶片互連通信單元;及建立一互連,該互連介於該第一積體電路封裝與該第二積體電路封裝之間,其中該第一晶片至晶片互連通信單元及該第二晶片至晶片互連通信單元使用支援一基於信用之資料流量控制及一再傳輸資料流量控制之一分層通信架構來管理經由該互連之基於乙太網路之通信。
本發明提供一種系統,其包含:一第一積體電路封裝,其包括一第一群組的一或多個人工智慧處理單元及一第一晶片至晶片互連通信單元;一第二積體電路封裝,其包括一第二群組的一或多個人工智慧處理單元及一交換器通信單元,其中該交換器通信單元經組態以在該第一積體電路封裝與至少一第三積體電路封裝之間提供一中間連接點;及一互連,其介於該第一積體電路封裝與該第二積體電路封裝之間,其中該第一晶片至晶片互連通信單元及該交換器通信單元使用支援一基於信用之資料流量控制及一再傳輸資料流量控制之一分層通信架構來管理經由該互連之基於乙太網路之通信。
本發明可以眾多方式實施,包括作為一程序;裝置;系統;物質組成;體現在電腦可讀儲存媒體上之電腦程式產品;及/或處理器,諸如經組態以執行儲存於耦合至處理器之記憶體上或由該記憶體提供之指令之處理器。在此說明書中,此等實施方案或本發明可採取之任一其他形式可被稱為技術。通常,在本發明之範圍內,所揭示之程序之步驟次序可變更。除非另外陳述,否則諸如描述為經組態以執行任務之處理器或記憶體之組件可實施為經暫時組態以在既定時間執行該任務之通用組件或經製造以執行該任務之特定組件。如本文中所使用,術語「處理器」係指經組態以處理諸如電腦程式指令之資料之一或多個器件、電路及/或處理核心。
下文連同說明本發明之原理之附圖一起提供對本發明之一或多個具體實例之詳細說明。結合此等具體實例描述本發明,但本發明並不限於任一具體實例。本發明之範圍僅由申請專利範圍限制;且本發明囊括眾多替代形式、修改形式及等效形式。在以下詳細說明中陳述眾多特定細節以便提供對本發明之透徹理解。此等細節係出於實例之目的提供,且本發明可在不具有此等特定細節中之一些或全部之情況下根據申請專利範圍來實踐。出於清晰之目的,未詳細描述與本發明相關之技術領域中習知之技術材料,以使得不會不必要地模糊本發明。
系統包括第一積體電路封裝及第二積體電路封裝,該第一積體電路封裝包括第一群組的一或多個人工智慧處理單元及第一晶片至晶片互連通信單元,該第二積體電路封裝包括第二群組的一或多個人工智慧處理單元及第二晶片至晶片互連通信單元。該系統亦包括介於該第一積體電路封裝與該第二積體電路封裝之間的一互連,其中該第一晶片至晶片互連通信單元及該第二晶片至晶片互連通信單元使用支援一基於信用之資料流量控制及一再傳輸資料流量控制之一分層通信架構來管理經由該互連之基於乙太網路之通信。
在各種具體實例中,協定經定義為連接兩個計算器件。此類連接可經描述為晶片至晶片互連。如本文中所使用,晶片包括自其上可蝕刻電晶體之較大材料晶圓切割之半導體材料。晶片亦可被稱為電腦晶片、微晶片、積體電路(IC)、矽晶片等。本文中所揭示之技術的優點包括可擴縮性及更高效通信協定。欲解決之問題係如何實現快速靈活的晶片至晶片通信。出現問題係因為晶片至晶片通信常常依賴於晶片特定通信協定,該等通信協定既不靈活亦不可擴縮。如本文中進一步詳細描述,解決方案包括利用現有的實體層協定(例如,乙太網路),該實體層協定在用於晶片至晶片通信之現有器件中廣泛使用及/或實施。為了利用現有的實體層協定,在各種具體實例中,部署分層通信架構。在各種具體實例中,分層通信架構支援基於信用之流量控制及封包再傳輸技術。
本文中所揭示之技術解決與人工智慧(AI)叢集之生長相關聯的問題。在AI叢集中,典型地存在許多類型之介面。舉例而言,可使用網際網路協定,其可判定網路速度,但另一介面可用於晶片至晶片通信,其將判定晶片至晶片速度。可同時使用不同的專屬晶片至晶片協定。使用本文中所揭示之技術,標準實體協定可經調適用於晶片至晶片通信,以允許經改良可擴縮性,且額外應用及可靠性協定層可併入以支援標準實體協定。使用此等層,可能擴展至任何速度,此係因為標準實體協定由所有器件實施,意味著可能進行器件至器件通信而無需專門交換硬體。如本文中進一步詳細所描述,此類方法之技術優勢包括:1)為各層劃分責任之分層架構,提供可針對任何應用進行調諧之彈性應用層介面,可分成多個並行片以滿足所需介面頻寬之互連(可使用高效負載平衡及擁塞控制在多個片之間噴灑封包),及藉由標準交換器對單跳網路的可能擴展之可擴縮架構;2)全雙工高速及低延遲鏈路,可隨網路速度增長而擴展;3)點對點彈性且無損連接;4)支援基於信用之流量控制以管理訊務擁塞並接收溢位;5)及低額外負荷及佔用面積。
圖1為說明互連晶片系統之具體實例的方塊圖。在所說明實例中,系統100包括積體電路封裝102、互連108及積體電路封裝110。積體電路封裝102包括處理單元104及晶片至晶片互連通信單元106。積體電路封裝110包括處理單元112及晶片至晶片互連通信單元114。
在所示實例中,積體電路封裝102及110係單獨器件。在一些具體實例中,積體電路封裝102及110係單獨AI加速器。AI加速器係指高效能計算器件,其經專門設計用於高效處理AI工作負荷,例如,神經網路訓練。積體電路封裝102之處理單元104及積體電路封裝110之處理單元112可分別包含各種類型之一或多個處理器。處理器之實例包括特殊應用積體電路(ASIC)、圖形處理單元(GPU)、中央處理單元(CPU)、現場可程式化閘陣列(FPGA)、多核純量處理器、空間加速器或經組態以對指令中所規定之資料執行邏輯及算術運算的其他類型之組件。在各種具體實例中,處理單元104及處理單元112處理AI工作負荷。換言之,在各種具體實例中,處理單元104及處理單元112係人工智慧處理單元。
在所說明實例中,積體電路封裝102及積體電路封裝110經由互連108直接連接。因此,在所示實例中,互連108係晶片至晶片互連。換言之,互連108包括積體電路封裝102與積體電路封裝110之間用於資料交換的實體路徑。關於實體路徑,在一些具體實例中,互連108包含習知電線互連。亦可能採用其他信號傳輸模式,例如,藉由光學或無線互連技術的互連。在各種具體實例中,如本文中進一步詳細所描述,利用分層架構來介接積體電路封裝102及積體電路封裝110。積體電路封裝102及/或積體電路封裝110之介面係指遵循共同協定之積體電路封裝102與110之間的邏輯狀態連接。在所示實例中,積體電路封裝102及110以直接連接拓樸連接。積體電路封裝102及110亦可能經由交換器拓樸連接。舉例而言,積體電路封裝102及110可經由單跳連接來鏈接,其中積體電路封裝102藉由另一器件(例如,硬體交換器)與積體電路封裝110通信。在此類情景下,本文中所描述之通信介面亦將在中間器件(例如,硬體交換器)上實施。所說明實例示出兩個器件之間的點對點連接。此實例係說明性的,而非限制性。使用本文中所揭示之技術,任何數目個器件可以任何不同的方式連接(例如,經由星形、網狀、匯流排或其他拓樸的點對多點)。
在所示之實例中,晶片至晶片互連通信單元106及114分別實施用於積體電路封裝102及110之通信介面。換言之,器件之晶片至晶片互連通信單元處理藉由互連108至另一器件之(例如,由處理單元創建之)資料通信。在所說明實例中,各晶片至晶片互連通信單元經示為與相關聯處理單元分離。晶片至晶片互連通信單元亦可能與一或多個處理單元整合在一起(例如,駐存在同一積體電路上)。在一些具體實例中,晶片至晶片互連通信單元包括在經專門設計以連接不同電腦之硬體組件(例如,網路介面控制器)上。如下文進一步詳細所描述,在一些具體實例中,晶片至晶片互連通信單元包括乙太網路通信邏輯、額外協定邏輯及硬體緩衝區。
圖2為說明晶片至晶片互連通信單元之具體實例的方塊圖。在一些具體實例中,晶片至晶片互連通信單元200係圖1之晶片至晶片互連通信單元106及/或圖1之晶片至晶片互連通信單元114。
在所說明實例中,晶片至晶片互連通信單元200包括乙太網路通信邏輯202、額外協定邏輯204(計算邏輯)及硬體緩衝區206。在一些具體實例中,網路介面控制器(NIC) (亦被稱為網路介面卡、網路配接器或區域網路配接器)包括在晶片至晶片互連通信單元200中,且包括乙太網路通信邏輯202。乙太網路通信邏輯202包括經組態以使用特定實體層(例如,圖1之互連108及/或圖3之實體網路層308)進行通信之電子電路系統。乙太網路通信邏輯202可包括在專用乙太網路積體電路中。
在各種具體實例中,額外協定邏輯204包括經組態以使用分層通信架構之各種通信協定進行通信的電子電路系統。額外協定邏輯204支援乙太網路通信邏輯202支援之實體層通信之外的協定。在一些具體實例中,額外協定邏輯204包括在專用積體電路中,例如,在ASIC上。額外協定邏輯204亦可能與乙太網路通信邏輯202整合在同一晶片上。在一些具體實例中,額外協定邏輯204包括經組態以執行對圖3之應用層302、圖3之訊息分派及重組層304以及圖3之可靠性層306之處理的電子電路系統。
硬體緩衝區206經組態以儲存在跨分層通信架構(例如,圖3之架構300)之各種層之接收及傳輸之各種階段期間之資料處理。硬體緩衝區206可包含為不同類型資料分配之不同緩衝區(例如,用於自器件接收之資料封包之接收緩衝區、用於欲傳輸至器件之資料封包的傳輸緩衝區等)。在一些具體實例中,硬體緩衝區206包含使用數位邏輯閘實施之記憶體。在所示實例中,硬體緩衝區206經示為與乙太網路通信邏輯202及額外協定邏輯204分離。硬體緩衝區206亦可能包括在乙太網路通信邏輯202或額外協定邏輯204內。
圖3為說明分層通信架構之具體實例的方塊圖。在一些具體實例中,架構300之至少一部分由圖1之晶片至晶片互連通信單元106、圖1之晶片至晶片互連通信單元114及/或圖2之晶片至晶片互連通信單元200支援。
在所說明實例中,架構300包含應用層302、訊息分派及重組層304、可靠性層306及實體網路層308。在所說明實例中,應用層302以及訊息分派及重組層304與高頻寬記憶體310通信。如架構300所示之通信協定的分層具有允許彈性及較輕協定的優點。可能獨立地改變或添加額外特徵至各層。
在各種具體實例中,應用層302與通信庫介接,並管理來自軟體應用程式之工作請求。在各種具體實例中,自工作負荷的觀點,藉由發送緩衝區及接收緩衝區介面向應用提供抽象。發送緩衝區及接收緩衝區保持兩個通信夥伴之間的資料,並管理資料可靠性及信用流量。發送緩衝區亦用於保持未應答封包,且因此管理任何資料損失復原。接收緩衝區可為用於管線目的之資料保持緩衝區。在一些具體實例中,來自應用之工作請求可由工作請求管理器管理,並與直接記憶體存取(DMA)引擎介接。DMA引擎可在高頻寬記憶體(HBM)與發送/接收緩衝區之間移動資料。管理工作請求,包括管理傳輸及接收資料流量,將在本文中進一步詳細描述(例如,參見圖8及圖9)。應用層302亦管理同級之間的連接。在一些具體實例中,應用層302之邏輯駐存在圖2之額外協定邏輯204中。
關於傳輸資料,在各種具體實例中,訊息分派及重組層304負責基於自應用層302呈現之工作請求對訊息封包進行分段及重組。作為訊息分段之一部分,訊息分派及重組層304判定跨各種可靠性層之負載平衡方案,並相應地分派封包。在一些具體實例中,器件(例如,圖1之積體電路封裝102或110)內自一個埠至另一埠的交換用於負載平衡。交換邏輯(電子電路系統)可用於將封包分佈至多個資料路徑。在各種具體實例中,訊息分派及重組層304維持唯一的單調遞增的訊息序列號(MSN),並將其附加為封包標頭之一部分。在所有訊息已經可靠地遞送至接收者之後,訊息分派及重組層304為應用層302創建適當的訊息完成條目。關於接收資料,訊息分派及重組層304維持對輸入封包之位址查找。在各種具體實例中,因為封包可以無序方式接收,所以封包之重組直接發生在高頻寬記憶體310中,且不需要額外狀態。在各種具體實例中,位址查找及重組基於每封包標頭攜載之MSN。在一些具體實例中,用於訊息分派及重組層304之邏輯駐存在圖2之額外協定邏輯204中。
在各種具體實例中,每網路路徑維持可靠性層306,且該網路路徑可經組態為端點器件之邏輯/實體埠。在各種具體實例中,經過可靠性層306之封包按次序傳輸及接收,且可靠性層306維持單調遞增的序列,該序列指示傳輸次序,且從而指示封包接收次序。在各種具體實例中,可靠性層306維持端對端信用、對封包資料之應答以及發生封包丟失時的再傳輸。基於信用之資料流量在本文中進行更詳細地描述(例如,參見圖5)。封包應答及再傳輸亦在本文中更詳細地描述(例如,參見圖6及圖7)。在一些具體實例中,可靠性層306之邏輯駐存在圖2之額外協定邏輯204中。
在各種具體實例中,實體網路層308係與另一器件連接的介面。在一些具體實例中,實體網路層308之邏輯駐存在圖2之乙太網路通信邏輯202中。在一些具體實例中,實體網路層308包含媒體存取控制(MAC)及實體譯碼子層(PCS)協定。在一些具體實例中,實體網路層308包括串列化/解串列化數位資料之串列化器/解串列化器(Serdes)功能區塊。在各種具體實例中,Serdes功能區塊(例如,在圖2之乙太網路通信邏輯202內之數位邏輯中實施)包括並-串及串-並資料轉換功能性。
圖4為說明晶片至晶片資料流量之框架的圖。框架400為自傳輸及接收資料之器件(例如,圖1之積體電路封裝102或圖1之積體電路封裝110)的角度來看的。
在框架400中,關於傳輸(TX)方向402,自再傳輸緩衝區404 (或另一資料儲存位置)之資料經過MAC 406及Serdes 408功能區塊。關於接收(RX)方向410,資料係經由Serdes 408及MAC 406功能區塊接收,並將其置放在RX緩衝區412中。在一些具體實例中,MAC 406及Serdes 408包括在圖3之實體網路層308中。在一些具體實例中,再傳輸緩衝區404及RX緩衝區412包括在圖2之硬體緩衝區206中。
在各種具體實例中,為鏈路夥伴之間的可靠且無損訊務部署並實施各種特徵,例如,以防止資料損壞及封包損失。在一些具體實例中,MAC 406利用循環冗餘校驗(CRC)或其他偵錯碼。通信夥伴之MAC (MAC 414)可檢查CRC,並在CRC不匹配之情況下對錯誤加旗標,且接收器傳輸邏輯可丟棄接收有壞CRC之封包。
在各種具體實例中,使用基於信用之流量控制機制來維持接收器處之溢位。舉例而言,RX緩衝區412可儲存所接收資料,並週期性地與傳輸器交換接收緩衝區中之可用空間。傳輸器可在發送封包之前檢查接收器處之可用信用。以此方式,兩個通信夥伴得知彼此之緩衝區可用性,並可維持訊務流量。若在接收緩衝區中不存在足夠的剩餘信用,則可執行傳輸器之節流。基於信用之流量控制將在本文中更詳細地描述(例如,參見圖5)。
在各種具體實例中,對於可靠且無損的傳輸,利用了一種用於向傳輸器報告損失及錯誤並由傳輸器執行丟棄/損失封包之再傳輸的機制。在各種具體實例中,利用封包序列號(PSN)、再傳輸緩衝區(例如,再傳輸緩衝區404)及應答(ACK)/不應答(NAK)流量控制框架來管理損失/丟棄封包的再傳輸。在所示實例中,再傳輸緩衝區404儲存傳輸至通信夥伴之封包。封包可在接收到ACK之後停用,且在接收到NAK之後再傳輸。傳輸器可為各封包附加序列號,並追蹤無任何錯誤接收之封包之序列號。接收器可週期性地更新所接收之最後良好封包之序列號。本文中進一步詳細地描述使用ACK及NAK信號的再傳輸(例如,參見圖6及圖7)。
圖5為說明基於信用之資料流量控制之實例的圖。在一些具體實例中,圖5中所示之用於信用管理之邏輯包括在圖3之可靠性層306中。
在所說明實例中,傳輸器502經由鏈路504向接收器506發送封包。傳輸器502 (TX 502)及接收器506 (RX 506)係通信夥伴。在一些具體實例中,傳輸器502及接收器506分別為圖1之積體電路封裝102及圖1之積體電路封裝110,或反之亦然。在一些具體實例中,鏈路504係圖1之互連108。
在各種具體實例中,基於信用之流量控制使用信用計數。信用可為規定大小之資料區塊(例如,一信用可為64位元組資料區塊)。在各種具體實例中,支援最大信用數目(例如,2048個信用)。使用此等實例值,總共支援128個千位元組(kB)之資料(2048 × 64位元組= 128 kB)。在各種具體實例中,TX 502 (傳輸器)及RX 506 (接收器)維持絕對信用計數。在各種具體實例中,TX 502維持總發送區塊(TBS)計數器,該計數器在初始化之後追蹤經由鏈路504發送之總區塊,更新經由鏈路504發送之每一封包,並週期性地向RX 506發送TBS值。另外,在各種具體實例中,TX 502自RX 506接收信用限額(CL),並週期性地本地儲存CL。在各種具體實例中,若TBS +封包大小小於或等於CL,則TX 502允許傳輸封包。在各種具體實例中,RX 506在接收緩衝區中接收資料,並維持絕對接收區域(ABR)計數器,該計數器追蹤經由鏈路504接收之總區塊,更新每個所接收封包,並用自TX 502接收之TBS覆寫(override)ABR。在一些具體實例中,接收緩衝區包括在圖2之硬體緩衝區206及/或圖4之RX緩衝區412中。在各種具體實例中,RX 506維持CL,其藉由將ABR及接收緩衝區中之可用緩衝區空間相加來計算。如上文所指示,CL由RX 506週期性地發送至TX 502。
在各種具體實例中,在初始化時,TX 502及RX 506根據接收緩衝區之大小更新可用的接收信用。在各種具體實例中,在初始化時,TX 502將TBS及CL設定為0,並等待來自RX 506之CL更新。另外,在各種具體實例中,RX 506將ABR設定為0,並根據接收緩衝區之大小更新CL。在各種具體實例中,RX 506發送經更新CL,TX 502接收並使用該經更新CL來覆寫其CL之本地複本。當TX 502接收經由鏈路504發送封包的請求時,若TBS +封包大小小於或等於CL,則TX 502傳輸該封包。封包的發送在圖5中說明為動作508。在發送封包之後,將TBS更新為TBS = TBS +封包大小。發送的封包由RX 506接收,並儲存在RX 506之本地接收緩衝區中。RX 506亦藉由(所接收封包之)封包大小來更新ABR,並更新CL = ABR +接收緩衝區中剩餘之空間。週期性地發送流量控制更新。RX 506週期性地向TX 502發送最新CL,該TX用所接收CL覆寫其CL之本地複本(動作510)。另外,TX 502週期性地向RX 506發送最新TBS,且RX 506用所接收TBS覆寫其ABR(動作512)。使用圖5中所說明之信用管理框架,若需要,可管理並節流(減少)通信訊務。在一些具體實例中,信用管理框架建立在Serdes及MAC乙太網路協定之上(例如,建立在MAC層之上)。利用現有乙太網路協定的優點係彈性及通用性,此係因為大多數現有器件已實施乙太網路協定。
圖6為說明資料流量之應答之實例的圖。在一些具體實例中,圖6中所示之用於資料流量之應答的邏輯包括在圖3之可靠性層306中。在各種具體實例中,封包序列號(PSN)及ACK/NAK流量控制用於傳達由通信夥伴接收之封包之狀態。
在所說明實例中,示出傳輸側602與接收側604之間的通信。在一些具體實例中,傳輸側602及接收側604分別對應於圖1之積體電路封裝102及圖1之積體電路封裝110,或反之亦然。在一些具體實例中,資料經由圖1之互連108在傳輸側602與接收側604之間發送。在所示實例中,在步驟606,傳輸側602發送囊封「最新發送PSN +1」之封包,並遞增「最新發送PSN」計數。然後,在步驟608,接收側604接收該封包,且若其係良好封包,致使接收側邏輯使「最新接收PSN」遞增1,且使良好封包計數(自最後應答PSN)亦遞增1。在步驟610,接收側邏輯判定良好封包計數是否等於N(可規定之值),且若良好封包技術等於N,則發送ACK。在一些具體實例中,ACK作為光纖通道(FC)封包發送。換言之,在接收到N個良好封包之後發送ACK。在步驟612,傳輸側602接收ACK並提取PSN,以用自ACK提取之PSN來覆寫「最後應答PSN」。
在上述步驟序列中,傳輸側602維持兩個PSN:追蹤最後接收ACK(良好封包)之最後應答PSN及最新發送PSN。接收側604亦維持兩個PSN:發送回至傳輸側602之最後ACK(良好封包)之最後應答PSN,以追蹤最新接收封包之最新接收PSN。在各種具體實例中,傳輸側602亦維持定時器,該定時器在每次接收到有效ACK時重新啟動,且接收側604維持在發送最後ACK之後接收之連續良好封包之計數。圖6中所說明之步驟精確地記錄自傳輸端602傳輸至接收端604之良好封包之計數(資料流量應答之情況)。對於發生錯誤之情況(非應答),利用NAK程序(例如,參見圖7)。
圖7為說明資料流量之非應答之實例的圖。在一些具體實例中,圖7所示之用於資料流量之非應答的邏輯包括在圖3之可靠性層306中。在所說明實例中,示出傳輸側702與接收側704之間的通信。在一些具體實例中,傳輸側702係圖6之傳輸側602,且接收側704係圖6之接收側604。
在所說明實例中,在步驟706,接收側704接收壞封包(例如,具有CRC錯誤、PSN計數錯誤、封包長度錯誤,其中封包長度大於接收緩衝區中之可用空間等)。接收側704丟棄壞封包。因為接收到壞封包,所以不能利用圖6中之ACK程序。相反,最新接收PSN不遞增,且NAK被發送至傳輸側702。NAK囊封非遞增的「最新接收PSN」。此時,「最後應答PSN」係「最新接收PSN」。然後,在步驟708,傳輸側702接收NAK並提取PSN。傳輸側702上之邏輯隨後開始再傳輸,其中最新發送PSN經更新為自NAK提取之PSN遞增1。傳輸側702亦用自NAK提取之PSN覆寫最後應答PSN。因此,在壞封包(非應答)情況下,接收側704向傳輸側702指示如何將封包序列號回復至最後良好封包計數。
圖8為自發送請求的觀點說明資料流量之實例的圖。在一些具體實例中,圖8中所示之資料流量由圖3之應用層302之工作請求管理器管理。在所說明實例中,工作請求管理器維持未完成請求的佇列802。在各種具體實例中,由於晶片至晶片可靠性層之串列化,此等請求按次序進行處理。佇列之大小可為可參數化數目N。自發送請求的觀點,張貼的工作請求(例如,張貼的工作請求804)可包括包含訊息識別、訊息開始序列號、源位址、訊息長度、訊息作業碼目的地佇列對編號及後設資料欄位之資料結構。在所示實例中,完成的請求經置放在完成佇列806中。一旦請求完成,可將完成更新回傳至請求應用程式。在各種具體實例中,對於欲經標記為完成的給定請求,訊息之最後封包需要經可靠地置放至接收者之可靠性層之緩衝區中。
在所示實例中,DMA引擎808自高頻寬記憶體提取資料,並將其分段成最大傳輸單元(MTU)大小的有效負荷。在一些具體實例中,高頻寬記憶體係圖3之高頻寬記憶體310。作為有效負荷分段之一部分,可向各分段添加額外標頭,且可遞增標頭中之訊息序列號欄位。此欄位可由下文所描述之接收工作請求管理器使用(例如,參見圖9)。訊息分段程序跨不同的發送緩衝區負荷平衡封包分派。此可基於組態策略,諸如差額循環或簡單循環仲裁。為了支援可能發生之背壓,僅在可吸收請求所需的空間(MTU粒度)之情況下,才可為特定發送緩衝區排程資料。訊息之最後分段可具有單獨標誌,且一旦自所有可用可靠性層應答彼分段,即可生成完成事件。
圖9為自接收請求的觀點說明資料流量之實例的圖。在一些具體實例中,圖9中所示之資料流量由圖3之應用層302之工作請求管理器管理。在各種具體實例中,當資料經成功接收至接收緩衝區中時(例如,資料通過CRC及PSN檢查),封包報頭之欄位經剖析。在一些具體實例中,經處理之封包標頭之欄位包括訊息識別、訊息序列號、目的地佇列對編號、訊息作業碼及指示訊息之最後封包的旗標。工作請求管理器可使用此等欄位來判定訊息分段之目的地位址。在DMA引擎902判定目的位址之後,資料分段移動至高頻寬記憶體中。在一些具體實例中,高頻寬記憶體係圖3之高頻寬記憶體310。在成功接收到訊息之最後封包之後,工作佇列管理器可生成完成。在一些具體實例中,自接收請求的觀點,軟體將把以下資訊張貼至工作請求佇列中:訊息識別、訊息開始序列號、目的地基底位址、預期的訊息長度以及作為完成更新之一部分返回的後設資料。工作請求可維持在線性查找表中,該查找表基於佇列對及自標頭提取之訊息序列號進行加索引。
圖10為說明用於互連晶片之程序之具體實例的流程圖。在一些具體實例中,互連之晶片係圖1之積體電路封裝102及圖1之積體電路封裝110。
在1002,組態包括第一群組的一或多個人工智慧處理單元及第一晶片至晶片互連通信單元之第一積體電路封裝。在一些具體實例中,第一積體電路封裝係圖1之積體電路封裝102。在一些具體實例中,第一群組的一或多個人工智慧處理單元係圖1之處理單元104。在一些具體實例中,第一晶片至晶片互連通信單元為圖1之晶片至晶片互連通信單元106。在一些具體實例中,組態第一積體電路封裝包括在第一積體電路封裝中部署第一群組的一或多個人工智慧處理單元及第一晶片至晶片互連通信單元。
在1004,組態包括第二群組的一或多個人工智慧處理單元及第二晶片至晶片互連通信單元之第二積體電路封裝。在一些具體實例中,第二積體電路封裝係圖1之積體電路封裝110。在一些具體實例中,第二群組的一或多個人工智慧處理單元係圖1之處理單元112。在一些具體實例中,第二晶片至晶片互連通信單元為圖1之晶片至晶片互連通信單元114。在一些具體實例中,組態第二積體電路封裝包括在第二積體電路封裝中部署第二群組的一或多個人工智慧處理單元及第二晶片至晶片互連通信單元。
在1006,建立介於第一積體電路封裝與第二積體電路封裝之間的互連,其中第一晶片至晶片互連通信單元及第二晶片至晶片互連通信單元使用支援基於信用之資料流量控制及再傳輸資料流量控制之分層通信架構來管理經由互連的基於乙太網路之通信。在一些具體實例中,所建立之互連係圖1之互連108。在一些具體實例中,建立互連包括將第一積體電路封裝與第二積體電路封裝實體連接(例如,經由電線互連)。
圖11為說明經由點對點鏈路連接之晶片系統之具體實例的方塊圖。在所說明實例中,系統1100包括積體電路封裝1102、1104、1106及1108。在一些具體實例中,此等積體電路封裝中之各者係圖1之積體電路封裝102及/或110。系統1100說明積體電路封裝之間的點對點鏈路之拓樸(如針對圖1之系統100所示)。然而,系統1100包含四個積體電路封裝,而非兩個。此使得點對點拓樸中之鏈路數目顯著增加。代替單個鏈路(圖1之互連108),需要六個鏈路(互連1110、1112、1114、1116、1118及1120)來確保各積體電路封裝之間的點對點連接。在一些具體實例中,系統1100中之各互連係與圖1之互連108相同類型的互連。圖11示出,在系統中之積體電路封裝越多之情況下,點對點拓樸結構(類似於圖1中所示)仍然可行,但連接方案更加複雜。
圖12A及圖12B為說明經由具有交換器之單元連接之晶片系統之具體實例的方塊圖。在圖12A中,系統1200包括具有交換器1202之積體電路封裝以及積體電路封裝1204、1206及1208。在一些具體實例中,積體電路封裝1204、1206及1208中之各者係圖1之積體電路封裝102及/或110及/或圖11之系統1100之積體電路封裝。具有交換器1202之積體電路封裝與積體電路封裝1204、1206及1208的不同之處在於,具有交換器1202之積體電路封裝包括硬體交換器(參見圖13之包括硬體交換器之積體電路封裝之實例)。換言之,在各種具體實例中,除了計算(例如,AI加速器)功能性之外,具有交換器1202之積體電路封裝亦包括交換及資料路由功能性。利用交換及資料路由功能性,與圖11之系統1100之互連方案相比,系統1200之互連方案可簡化。圖11之系統1100及系統1200兩者包含四個積體電路封裝(例如,四個計算單元),但系統1200需要更少的連接。
在所示實例中,積體電路封裝1204、1206、1208分別藉由互連1210、1212及1214連接至具有交換器1202之積體電路封裝,該交換器充當集線器。在一些具體實例中,系統1200中之各互連係與圖1之互連108及/或圖11之系統1100之互連相同類型的互連。系統1200亦可支援圖3中所示之分層通信架構(包括圖5中所示之基於信用之資料流量控制,以及分別在圖6及圖7中所示之資料流量之應答及非應答)。舉例而言,互連1210、1212及1214維持具有交換器1202之積體電路封裝與其直接連接的同級之間的點對點信用。無交換器之積體電路封裝之間的信用亦可藉由間接鏈路來維持。舉例而言,積體電路封裝1204及1206藉由具有交換器1202之積體電路封裝間接連接。此連接經說明為概念鏈路1216。概念鏈路1218及1220係藉由具有交換器1202之積體電路封裝之間接連接的類似表示。信用及其他資料流量仍然可交換。經由集線器單元(在此狀況下,具有交換器1202之積體電路封裝)的此交換被稱為端對端(例如,端對端信用)而非點對點。為了支援端對端通信,在各種具體實例中,具有交換器1202之積體電路封裝之交換硬體維持系統1200之各種組件之位址空間,以便在組件之間路由通信。
因此,利用交換拓樸,可能用更少的實體連接將計算單元(例如,AI加速器)彼此連接(在此狀況下,三個實體連接來連接系統1200中之四個組件,而非圖11之系統1100中之六個實體連接來連接相同數目個組件)。圖12B之系統1250說明更複雜的交換拓樸(具有更多組件)。在圖12B所示之實例中,為了清楚地說明實例,未繪製端對端概念鏈路。僅繪製直接的實體鏈路。系統1250包含六個計算組件,而非圖12A之系統1200中所示之四者。此等為具有交換器1252及1258之積體電路封裝以及積體電路封裝1254、1256、1260及1262。在一些具體實例中,積體電路封裝1254、1256、1260及1262中之各者為圖1之積體電路封裝102及/或110及/或圖11之系統1100或圖12A之系統1200之積體電路封裝。在一些具體實例中,具有交換器1252及/或1258之積體電路封裝為圖12A之具有交換器1202之積體電路封裝。系統1250中示出五個直接實體鏈路(互連1264、1266、1268、1270及1272)。在一些具體實例中,系統1250中之各互連與圖1之互連108及/或圖11之系統1100或圖12A之系統1200之互連係相同類型互連。系統1250與圖12A之系統1200的不同之處在於一些端對端連接需要藉由兩個集線器單元進行路由。舉例而言,積體電路封裝1254與1262之間的端對端連接需要藉由具有交換器1252之積體電路封裝以及具有交換器1258之積體電路封裝進行路由。包括更多帶交換器之組件可減少所需之直接鏈路數目。具有任何數目個帶有或不帶有交換器之組件的各種其他拓樸亦係可能的。所說明實例係說明性的,而非限制性的。
圖13為說明包括硬體交換器之積體電路封裝之具體實例的方塊圖。在一些具體實例中,具有交換器1300之積體電路封裝為具有圖12A之交換器1202之積體電路封裝及/或具有圖12B之交換器1252及/或1258之積體電路封裝。在所示實例中,具有交換器之積體電路封裝1300包括處理單元1302及交換器通信單元1304。在一些具體實例中,處理單元1302為圖1之處理單元104或處理單元112。在各種具體實例中,交換器通信單元1304經組態以連接網路中之多個器件。在一些具體實例中,交換器通信單元1304包括乙太網路交換器(亦稱為網路交換器)。在一些具體實例中,乙太網路交換器維持對應於網路中不同器件之唯一識別符之位址表。唯一識別符可為硬體位址(例如,MAC位址)。在各種具體實例中,交換器通信單元1304亦包括包含電子電路系統之額外協定邏輯,該電子電路系統經組態以使用分層通信架構之各種通信協定進行通信。在一些具體實例中,交換器通信單元1304之額外協定邏輯包括圖2之額外協定邏輯204。在各種具體實例中,交換器通信單元1304亦包括硬體緩衝空間,該硬體緩衝空間經組態以儲存在跨分層通信架構之各種層的接收及傳輸的各種階段期間處理的資料。在一些具體實例中,硬體緩衝區空間包括圖2之硬體緩衝區206。
雖然已出於清晰理解之目的在某一細節上描述前述具體實例,但本發明並不限於所提供之細節。存在實施本發明之諸多替代方式。所揭示之具體實例係說明性而非限制性。
100:系統
102:積體電路封裝
104:處理單元
106:晶片至晶片互連通信單元
108:互連
110:積體電路封裝
112:處理單元
114:晶片至晶片互連通信單元
200:晶片至晶片互連通信單元
202:乙太網路通信邏輯
204:額外協定邏輯
206:硬體緩衝區
300:架構
302:應用層
304:訊息分派及重組層
306:可靠性層
308:實體網路層
310:高頻寬記憶體
400:框架
402:傳輸(TX)方向
404:再傳輸緩衝區
406:媒體存取控制(MAC)
408:串列化器/解串列化器(Serdes)
410:接收(RX)方向
412:RX緩衝區
414:MAC
502:傳輸器
504:鏈路
506:接收器
508:動作
510:動作
512:動作
602:傳輸側
604:接收側
606:步驟
608:步驟
610:步驟
612:步驟
702:傳輸側
704:接收側
706:步驟
708:步驟
802:佇列
804:工作請求
806:完成佇列
808:直接記憶體存取(DMA)引擎
902:DMA引擎
1002:步驟
1004:步驟
1006:步驟
1100:系統
1102:積體電路封裝
1104:積體電路封裝
1106:積體電路封裝
1108:積體電路封裝
1110:互連
1112:互連
1114:互連
1116:互連
1118:互連
1120:互連
1200:系統
1202:交換器
1204:積體電路封裝
1206:積體電路封裝
1208:積體電路封裝
1210:互連
1212:互連
1214:互連
1216:概念鏈路
1218:概念鏈路
1220:概念鏈路
1250:系統
1252:交換器
1254:積體電路封裝
1256:積體電路封裝
1258:交換器
1260:積體電路封裝
1262:積體電路封裝
1264:互連
1266:互連
1268:互連
1270:互連
1272:互連
1300:交換器
1302:處理單元
1304:交換器通信單元
在以下詳細說明及所附圖式中揭示本發明之各種具體實例。
[圖1]為說明互連晶片系統之具體實例的方塊圖。
[圖2]為說明晶片至晶片互連通信單元之具體實例的方塊圖。
[圖3]為說明分層通信架構之具體實例的方塊圖。
[圖4]為說明晶片至晶片資料流量之框架的圖。
[圖5]為說明基於信用之資料流量控制之實例的圖。
[圖6]為說明資料流量之應答之實例的圖。
[圖7]為說明資料流量之非應答之實例的圖。
[圖8]為自發送請求的觀點說明資料流量之實例的圖。
[圖9]為自接收請求的觀點說明資料流量之實例的圖。
[圖10]為說明用於互連晶片之程序之具體實例的流程圖。
[圖11]為說明經由點對點鏈路連接之晶片系統之具體實例的方塊圖。
[圖12A]及[圖12B]為說明經由具有交換器之單元連接之晶片系統之具體實例的方塊圖。
[圖13]為說明包括硬體交換器之積體電路封裝之具體實例的方塊圖。
100:系統
102:積體電路封裝
104:處理單元
106:晶片至晶片互連通信單元
108:互連
110:積體電路封裝
112:處理單元
114:晶片至晶片互連通信單元
Claims (20)
- 一種系統,其包含: 一第一積體電路封裝,其包括一第一群組的一或多個人工智慧處理單元及一第一晶片至晶片互連通信單元; 一第二積體電路封裝,其包括一第二群組的一或多個人工智慧處理單元及一第二晶片至晶片互連通信單元;及 一互連,其介於該第一積體電路封裝與該第二積體電路封裝之間,其中該第一晶片至晶片互連通信單元及該第二晶片至晶片互連通信單元使用支援一基於信用之資料流量控制及一再傳輸資料流量控制之一分層通信架構來管理經由該互連之基於乙太網路之通信。
- 如請求項1之系統,其中該第一群組的一或多個人工智慧處理單元及該第二群組的一或多個人工智慧處理單元經組態以處理一人工智慧工作負荷,該人工智慧工作負荷包括訓練一或多個神經網路。
- 如請求項1之系統,其中該第一晶片至晶片互連通信單元及該第二晶片至晶片互連通信單元包括經組態以支援一實體層網路通信協定之電子電路系統邏輯。
- 如請求項3之系統,其中該實體層網路通信協定包括一乙太網路通信協定。
- 如請求項1之系統,其中該第一晶片至晶片互連通信單元及該第二晶片至晶片互連通信單元包括經組態以支援在一實體層網路通信協定之外的複數個通信協定。
- 如請求項1之系統,其中該第一晶片至晶片互連通信單元及該第二晶片至晶片互連通信單元包括經組態以儲存通信資料之一硬體緩衝區。
- 如請求項1之系統,其中該互連包括介於該第一積體電路封裝與該第二積體電路封裝之間的一實體互連。
- 如請求項7之系統,其中該實體互連包括一電線互連。
- 如請求項1之系統,其中該分層通信架構包括一應用層。
- 如請求項9之系統,其中該分層通信架構進一步包括一實體網路層。
- 如請求項10之系統,其中該分層通信架構進一步包括一可靠性層。
- 如請求項11之系統,其中該分層通信架構進一步包括一訊息分派及重組層。
- 如請求項9之系統,其中該應用層經組態以存取一高頻寬記憶體。
- 如請求項1之系統,其中該基於信用之資料流量控制經組態以基於該第一積體電路封裝及該第二積體電路封裝之接收緩衝區大小在該第一積體電路封裝與該第二積體電路封裝之間傳達信用限額。
- 如請求項1之系統,其中該基於信用之資料流量控制經組態以傳達及儲存在該第一積體電路封裝與該第二積體電路封裝之間交換之封包的計數。
- 如請求項1之系統,其中該再傳輸資料流量控制經組態以應答一無誤封包之接收,並更新追蹤所接收的該無誤封包之一連續數目的一計數器。
- 如請求項1之系統,其中該再傳輸資料流量控制經組態以傳達具有一錯誤之一封包之接收,並致使具有該錯誤之該封包之再傳輸。
- 一種方法,其包含: 組態一第一積體電路封裝,該第一積體電路封裝包括一第一群組的一或多個人工智慧處理單元及一第一晶片至晶片互連通信單元; 組態一第二積體電路封裝,該第二積體電路封裝包括一第二群組的一或多個人工智慧處理單元及一第二晶片至晶片互連通信單元;及 建立一互連,該互連介於該第一積體電路封裝與該第二積體電路封裝之間,其中該第一晶片至晶片互連通信單元及該第二晶片至晶片互連通信單元使用支援一基於信用之資料流量控制及一再傳輸資料流量控制之一分層通信架構來管理經由該互連之基於乙太網路之通信。
- 一種系統,其包含: 一第一積體電路封裝,其包括一第一群組的一或多個人工智慧處理單元及一第一晶片至晶片互連通信單元; 一第二積體電路封裝,其包括一第二群組的一或多個人工智慧處理單元及一交換器通信單元,其中該交換器通信單元經組態以在該第一積體電路封裝與至少一第三積體電路封裝之間提供一中間連接點;及 一互連,其介於該第一積體電路封裝與該第二積體電路封裝之間,其中該第一晶片至晶片互連通信單元及該交換器通信單元使用支援一基於信用之資料流量控制及一再傳輸資料流量控制之一分層通信架構來管理經由該互連之基於乙太網路之通信。
- 如請求項19之系統,其中該第三積體電路封裝包括一第三群組的一或多個人工智慧處理單元及一第二晶片至晶片互連通信單元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/824,766 US20230385138A1 (en) | 2022-05-25 | 2022-05-25 | Chip-to-chip interconnect with a layered communication architecture |
US17/824,766 | 2022-05-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202347133A true TW202347133A (zh) | 2023-12-01 |
Family
ID=87003233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW112114588A TW202347133A (zh) | 2022-05-25 | 2023-04-19 | 具有分層通信架構的晶片至晶片互連 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230385138A1 (zh) |
TW (1) | TW202347133A (zh) |
WO (1) | WO2023230193A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023129594A1 (en) * | 2021-12-29 | 2023-07-06 | SambaNova Systems, Inc. | High-bandwidth power estimator for ai accelerator |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7945719B2 (en) * | 2006-09-20 | 2011-05-17 | Intel Corporation | Controller link for manageability engine |
US10491719B2 (en) * | 2017-07-24 | 2019-11-26 | Cisco Technology, Inc. | Insertion of management packet into a wired deterministic path |
JP2020048030A (ja) * | 2018-09-18 | 2020-03-26 | キオクシア株式会社 | インタフェース装置及びプログラム並びにデータ通信方法 |
US11070527B2 (en) * | 2018-12-07 | 2021-07-20 | Intel Corporation | Securing platform link with encryption |
WO2020236277A1 (en) * | 2019-05-23 | 2020-11-26 | Cray Inc. | System and method for facilitating tracer packets in a data-driven intelligent network |
US11615295B2 (en) * | 2019-11-15 | 2023-03-28 | Baidu Usa Llc | Distributed AI training topology based on flexible cable connection |
US11588745B2 (en) * | 2020-08-31 | 2023-02-21 | Micron Technology, Inc. | Early credit return for credit-based flow control |
US11847489B2 (en) * | 2021-01-26 | 2023-12-19 | Apple Inc. | United states graphics processor techniques with split between workload distribution control data on shared control bus and corresponding graphics data on memory interfaces |
-
2022
- 2022-05-25 US US17/824,766 patent/US20230385138A1/en active Pending
-
2023
- 2023-04-19 TW TW112114588A patent/TW202347133A/zh unknown
- 2023-05-24 WO PCT/US2023/023450 patent/WO2023230193A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
US20230385138A1 (en) | 2023-11-30 |
WO2023230193A1 (en) | 2023-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220311544A1 (en) | System and method for facilitating efficient packet forwarding in a network interface controller (nic) | |
US11063884B2 (en) | Ethernet enhancements | |
US10148581B2 (en) | End-to-end enhanced reliable datagram transport | |
US10430374B2 (en) | Selective acknowledgement of RDMA packets | |
US7782905B2 (en) | Apparatus and method for stateless CRC calculation | |
US7562158B2 (en) | Message context based TCP transmission | |
US7889762B2 (en) | Apparatus and method for in-line insertion and removal of markers | |
US10419329B2 (en) | Switch-based reliable multicast service | |
US20070208820A1 (en) | Apparatus and method for out-of-order placement and in-order completion reporting of remote direct memory access operations | |
US7733875B2 (en) | Transmit flow for network acceleration architecture | |
US20030053462A1 (en) | System and method for implementing multi-pathing data transfers in a system area network | |
CN112769718B (zh) | 网络接口卡 | |
WO2014063370A1 (zh) | 一种实现pcie交换网络的报文传输方法、设备、系统和存储介质 | |
CN110121868B (zh) | 通过被配置为加速服务的加速组件的消息传输 | |
TW202347133A (zh) | 具有分層通信架構的晶片至晶片互連 | |
US6904545B1 (en) | Fault tolerant computing node having multiple host channel adapters | |
US9628397B2 (en) | Communication device and related packet processing method | |
US11622004B1 (en) | Transaction-based reliable transport |