TW201138379A - Directly providing data messages to a protocol layer - Google Patents
Directly providing data messages to a protocol layer Download PDFInfo
- Publication number
- TW201138379A TW201138379A TW99131697A TW99131697A TW201138379A TW 201138379 A TW201138379 A TW 201138379A TW 99131697 A TW99131697 A TW 99131697A TW 99131697 A TW99131697 A TW 99131697A TW 201138379 A TW201138379 A TW 201138379A
- Authority
- TW
- Taiwan
- Prior art keywords
- message
- layer
- tracker
- data
- information
- Prior art date
Links
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4221—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being an input/output bus, e.g. ISA bus, EISA bus, PCI bus, SCSI bus
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/38—Universal adapter
- G06F2213/3808—Network interface controller
-
- 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/30—Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Description
201138379 六、發明說明: c号务明戶斤屬才支斗椅々頁】 本發明係有關於直接提供資料訊息至協定層之技術。 C #支冬好;3 發明背景 電腦系統一般由多個半導體及其他耦接在一起的元件 形成。例如,典型系統除了可能的一或多個其他可耦接至 一母板的處理器以外,還包括—中央處理單元(cpu)。這些 處理器又可耗接至其他元件,諸如記憶體控㈣、輸入/輸 出中柩#他半導體裝置,及諸如大容量儲存器之系統元 件,例如’此鋪由在該母板上的互連的方式或藉由 其他此類連接進行。 為了在不同元件之間通訊,_通訊協定可被使用。許 多此類協定規定不同層體處理通訊絲。在—些協定中, -實體層是實際上沿著-互連發送訊息且接收及處理來自 或夕個其他褒置之-相應實體層的訊息的層體。此實體 層又可減錄行各_如錯誤檢測及校正之功能的一鍵 結層。該鏈結層又接至_協定層,該協定層接收來自 該鍵結層的訊息封包且進-步處理它們以將之安排路由至 它們在—半導體元件⑽目的位置。通常,該鏈結層會包 ^大緩衝器以臨時儲存所有進人的訊息。㈣,此緩衝 益會大大增加晶粒耗費’還會增加處理進人訊息的複雜度。 C ;务明内】 依據本發明之-實施例,係特地提出一種裝置其包 201138379 含:一鏈結層,其用以接收及轉發一訊息到耦接到該鏈結 層之一協定層,且包括用以判定該訊息之一訊息類型之一 解碼器,其中如果該訊息是一非資料訊息,則該鏈結層直 接將一信用返回提供到該訊息之一發送者;及該協定層, 其包括用以儲存自該鏈結層接收到之資料訊息之一共享緩 衝器,其中該協定層用以在該資料訊息移出該共享緩衝器 時,發出針對一資料訊息之一信用返回,該信用返回將經 由該鏈結層發送到該訊息發送者。 圖式簡單說明 第1圖是根據本發明之一實施例的一通訊協定之一部 分的一方塊圖。 第2圖是根據本發明之一實施例的一方法之一流程圖。 第3圖是根據本發明之一實施例的一系統之一方塊圖。 I:實施方式3 詳細說明 在各種實施例中,一通訊協定可提供有不包括任何實 質的緩衝電路的一鏈結層。以此方式,進入訊息在該鏈結 層所作的處理可最小而直接提供至一協定層作進一步處 理。因此,與一大鏈結層緩衝器相比,該協定層内的任一 緩衝器的大小可被減小及簡化。 現在參考第1圖,其顯示了根據本發明之一實施例之一 分層通訊協定之一部分之一方塊圖。特定地,第1圖顯示了 用以處理進入訊息與外播訊息兩者之一通訊協定100之一 部分。第1圖中顯示之該部分包括一鏈結層部分及一協定層 4 201138379 科。要理解,針對*同的協定,其它層也可存在,包括 一實體層、路由層等。而且,要注意,為了便於說明,第i 圖中顯示之該等層之該等部分主要處理輸入通訊,而為了 不使所描述之實施例費解,未顯示此等層之主要發送器電 路。作為-個範例,第丨圖之通訊協定可對應於與根據英特 爾快速通道互連_)協定操作之-鏈結聯社-協定,該 英特爾快速通道互連_)協定為點對點互連且在諸如處 理器、晶片組等之各種半導體裝置之間提供_多層通訊協 定。 如第1圖中所示,進入訊息可能獲接收且提供給一訊息 類別解碼H/累加器11G。此鏈結層電路之複雜度可為最小 且可包括只用於-小段訊息部分之載體,該小段訊息部分 例如為若干微片,其中針對一指定通訊協定’一微片可對 應於一最小流量控制單位。作為一個範例,微片寬度可以 是80個位元,但本發明之範圍不局限於此點。解碼器/累加 器110用來確定接收到之訊息之類型且將其引向該協定層 中之恰當位置。在一個實施例中,解碼器/累加器11〇可分 析一進入訊息之一標頭或其它原始資料以確定其訊息類 別。 對於不包括資料之一接收訊息(即,一非資料訊息”一 信用返回可直接提供到也屬於該鏈結層之信用返回計數器 115 ’以使該等信用未經與該協定層有關之延遲而返回到該 訊息之啟動器。一般而言’該等計數器115可表示為用於每 一訊息類型及虛擬網路(VN)之一計數器,使得該等不同信 201138379 用類型之S玄等信用可獲獨立地保持。在一個實施例中,可 能有三個虛擬網路—VN0、VN1及VNA。該VN0/VN1虛擬 網路實質上是一組虛擬通道,其中該虚擬網路内之每一虛 擬通道自身具有獨立緩衝及流量控制信用。在此等虛擬網 路内,一指定訊息類別之信用按每一訊息返回。該VNA是 一自適應虛擬網路,其作為遍及所有訊息類別之一共享資 源緩衝器’這意味著此虛擬網路之該流量控制信用池也可 在所有訊息類別之間共享。在此網路内發送之訊息分解為 流量控制單位(即微片)且針對此網路返回之信用以微片為 間隔。 在不同實施例中可以使用各種訊息類別。在一個特定 實施例中,可存在多個訊息類別,其每一個可在該等虛擬 網路之一個或多個上傳播。因此,此等虛擬網路將獨立的 傳輸通道(即虛擬通道)提供給該協定層以允許共享一實體 通道。在此實施例中,該等訊息類別可包括一本&(H〇M) 訊息類別、一非連貫標準(NCS)訊息類別、一非資料回應 (NDR)訊息類別、一資料回應標準(DRS)訊息及一非連貫旁 路(NCB)訊息類別。 解碼之後,解碼器/累加器丨1〇將該等訊息内容提供到 該協定層内之一恰當位置。例如,就資料訊息而言,該等 資料酬載可提供到該協定層之一共享資料緩衝器12〇及該 資料命令訊息(例如標頭)可提供到追蹤器之一個,即一遠程 代理器追蹤器130或一當地代理器追蹤器14〇。關於其它未 攜帶資料之訊息,該訊息資訊可提供到該等追蹤器之一個 6 201138379 或多個。該遠端代理器及該本地代理器追蹤結構為一歸屬 代理器(HA)追蹤自一結構(例如互連)接收到之未處理請 求。特定地,追蹤器130追蹤由一遠程代理器提出之請求及 追蹤器140追蹤由該當地代理器發出之請求。作為一個範 例’該遠程代理器可以是將在下面討論之一處理器之一快 取代理器’而該當地代理器可以是一晶片組之一快取代理 器’其中該晶片組進一步包括也將下面討論之一歸屬代理 器。因此’在一個示範實施態樣中,第1圖中顯示之該通訊 協定及該等層可有關於一晶片組元件之互連結構之一概 觀。 在一個實施例中,遠程代理器追蹤器13〇針對一遠程代 理器經允許在任一指定時間所具有的未處理之對該Ha提 出之請求之最大數目(MaxRequest[ra])而定大小。對於該結 構上之可向HA作出請求之每一遠程代理器,該HA可具有 與其有關之一追縱結構(在第1圖之說明中,遠程代理器追 蹤器130可作為一多維陣列實施)。相應地,本地代理器追 蹤器140之深度表示一本地代理器經允許在任一指定時間 所具有的未處理之對該HA提出之請求之最大數目 (MaxRequest[la])。此結構也可以作為一多維陣列實施。因 此’在任一指定時間在該結構上以此HA為目標的未處理之 訊息之總數為MaxRequest[ra]+MaxRequest[ia]。此等追縱好 構可將該命令資訊(例如,位址、請求類型、操作碼、異動 ID等)及該異動狀態儲存在該晶片内(例如,該異動是否發 出、該資料是否接收到、是否發送回一完成信號等)。相反, 201138379 來自遠私代理器之與該命令有關之任何資料可儲存在共 享資料,、爰衝器12〇中。一資料訊息將該相同命令資訊儲存在 儲存有一非資料訊息之一共享緩衝器中,外加與該命令有 關之該資料酬載所處之一共享資料緩衝器位址。透過將該 等非資料汛息之該等目的地與該等資料酬載分開,該自適 應虛擬網路之維護可大大簡化。 除了該等追蹤器,一個或多個協定功能佇列15〇可儲存 與該訊息有關之資訊,該等協定功能仵列15 0之細節將在下 面進一步討論。如進一步所示,資料訊息之信用返回可自 共子資料緩衝器12〇發送到信用返回計數器115。在各種實 施態樣中,當資料自該共享資料緩衝器移除時,可提供此 等信用返回。儘管第丨圖中之該實施例顯示了此特定實施態 樣’但本發明之範圍不局限於此點。 注意到,該鏈結層具有作為解碼器/累加器11〇之一部 分實現之很小的緩衝。在—個實施例中,此緩衝可僅足以 累積最大尺寸之標頭(例如3個微片)及一半快取列之資料 (例如4個微片)以用於f料通信。沒有從該協定層到該鍵結 層之反壓力’ g)此-旦整個訊息標頭及/或資料已累積於該 鏈結層内,其被直接發送到該協定層。因此,該協定層確 保將有資源可供所有接收訊息及資料使用。 為了使緩衝保持最小,自_遠程代理器回寫之資料(例 如DRS及NCB訊息類別)保持在—獨立資料結構中,即該協 定層之共享資料緩衝H12G巾。此資料結構之最如罙度可以 考量該自適應虛擬料(VNA)㈣池加上每㈣訊息類別 8 201138379 (例如DRS及NCB)每非自適應虛擬網路(即vno及VN1)的~ 個快取列而予以定大小。以此方式定大小,此資料結構實 體地表示s玄等虛擬網路信用池,但只針對資料訊息類別。 只有當該資料已移出該資料結構時,用於此等訊息類別之 信用返回。在一個實施例中,與一請求有關之一快取列資 料連續地儲存在該資料結構内。以此方式,該協定層只需 要該結構内之資料之起始位址來取出該資料。而且,此結 構内所需的緩存量遠遠小於每一追縱器需要儲存用於該歸 屬代理器可能接收之每一請求/回應之一快取列資料(即 MaxRequest[ra]+MaxReqyest[la])之情況。相反,該等追礙 器儲存與請求/回應訊息有關之最小量資訊。 協定功能佇列150表示一專用排序佇列(例如一先進先 出(FIFO))以用於該協定層引起之每一特定功能。此等操作 之範例包括將合理請求發到記憶體、將不合理請求發到1〇 代理器等。此等佇列可能薄,因為它們只需要儲存用來接 取邊訊息之相關追蹤器内之所有請求資訊之一請求識別符 (ID)及該特定功能所需之任一其它混雜資訊(例如用於一回 寫異動之資料之位置、回寫類型(隱式/顯式)、目標資訊 等)。在一個實施例中,每一佇列深度可被定大小以處理遭 接收以用於該指定功能之最大數目個訊息。作為一範例, ^序彳丁列可被疋大小以接受MaxRequest[ra]或 MaxRequest[ra]+MaxRequest[ia]且可將一接收到之進入順 序保持在_序㈣巾。在—個實施例巾,可以有六個排 序^列,即—發出排序佇列(儲存到動態隨機存取記憶體 201138379 (DRAM))、一非發出排序佇列(用來保持連貫性及串列化輸 入k息)、一 CPU再發排序仔列(用來解決衝突且將CPU請求 第二次發到DRAM) ' -確認衝突(AckCnflt)排序佇列(用來 處理來自CPU之衝突交握)、一NCS排序彳宁列(通過此作列, 所有NCS通彳§調度到10代理器)及一 NCB排序彳宁列(通過此 佇列,所有NCB通信發到1〇代理器)。要注意,在一些實施 例中,該協定層可以以比該鏈結層低之一時鐘速度運行且 因而可對並行之多個訊息操作。 在操作中’當一本地鏈結層從此IO代理器之一結構接 收到一訊息時,在將整個訊息傳遞到協定層之前,其基於 訊息類別及操作碼在累加器110中對該訊息執行最小累 積。在該鏈結層將該訊息呈現給該協定層之前,其成功(例 如,證實沒有循環冗餘週期(CRC)誤差)接收一訊息之所有 累積微片。當該等進入訊息傳遞到該協定層時,基於該解 碼訊息類別及操作碼資訊,它們由請求追蹤器130及140之 一個或兩者使用。以此方式,經由該訊息之唯—請求ID, 該訊息將更新該目標資料結構内之一特有項’在—個實施 例中,該訊息之唯一請求ID可對應於該原始請求者之節點 ID及該異動ID。由於該協定層内之該等追蹤器針對每一代 理器所具有的未處理之對該HA提出之請求之最大數目而 定大小,則該協定層可確保用於所有進入訊息(例如 MaxRequest[ra] + MaxRequest[la])之資源。如果需要對該進 入訊息採取一特定動作(例如需要向記憶體發一請求),則該 協定層還將把該請求ID載入到專用於該功能之協定功能佇 201138379 列150之該排序佇列。 由於該紅層確保所有接收到之訊息將即時地被使 用,則當該鏈結層成功地在該解碼器/累加器ug中解碼^ 整個訊息時,該鏈結層可將虛擬網路信用返回到該遠^ 理器。此規狀唯-例外是自該遠程代理器之快取列回寫 (例如DRS & NCB訊息類別),其中 只有當該資料已移出共 旱=貝料緩衝器120之後,該等信用才返回。因此,在該簡單 訊息累加器以外之該鏈結層内,不需要複雜的緩衝要求。
因此,當成功接收到該訊息内之所有微片時,用於非 資料(例如HOM、NCS及NDR)訊息之信用受累積且安排以 從該鏈結層經由計數器115返回。接著,只有當該全部資料 酬載已移出共旱資料緩衝器120時,用於資料訊息(例如DRS 及NCB)之信用(標頭及資料酬載兩者)才受累積且安排以返 回。 現在參考第2圖’其顯示了根據本發明之一個實施例之 —方法之一流程圖。如第2圖中所示,方法2〇〇可用來處理 自一通訊協定之一互連接收之進入訊息。如第2圖中所示, 方法200可開始於在一代理器之一鏈結層中接收一訊息,該 代理器諸如一歸屬代理器,其可以是對應於作為該訊息之 主體之一特定記憶體位置之一所有者或管理者(方塊 210)。接著,訊息類型可獲確定(方塊22〇)。例如,〆訊息 類別解碼器用來基於該訊息之一標頭確定該訊息類別。因 此’該解碼器可確定該訊息類型是否為一非資料訊息類裂 (菱升> 225)。如果遠訊息是一非資料類型,例如_,一命令或 201138379 其它此類訊息’則控制傳到方塊260。在方塊260處,一信 用返回可直接從該鏈結層發送到該發送者,而不需要涉及 該協定層中之任何操作。而且,該接收到之訊息可轉發到 該協定層(方塊265)。要注意,在各種實施態樣中,方塊26〇 及265之。玄專操作並列地或連續地執行,連續執行時先執行 任一操作。 仍參考第2圖’當該訊息發送到該協定層時,與該訊息 有關之資訊可儲存在該協定曾之一相應追蹤器中(方塊 270)。然而本發明之範圍不局限於此點,該儲存之資訊可 包括一請求ID及關於該訊息之某元資料,諸如目的位址、 請求類型(例如讀或寫)、操作碼、連貫類型、衝突資訊等。 作為一範例,該協定層可包括兩類追蹤器,一個與該(等) 本地代理器有關及一個與該(等)遠程代理器有關。視該訊息 類型而定,該訊息之資訊課儲存在兩個追蹤器中。而且, 可判定該訊息類型是否與要執行之一動作有關(菱形275)。 如果無關,則此訊息之處理完成。否則,控制傳到方塊28〇, 在此,用於該訊息之最少資訊可以儲存在一排序符列中。 更特定地,諸如一請求ID之一識別符可儲存在一排序件列 中,使得當此佇列項遭接取以對該相應訊息執行一操作 時,其它資訊可自該相應追蹤器項獲得。 仍參考第2圖,如果該鏈結層判定該訊息類型為一資料 類型,則該訊息可轉發到該協定層(方塊230)。在該協定層 中,此資料訊息之資料可儲存在一共享資料緩衝器中(方塊 235)且所有命令資訊(例如,目的位址、請求類型、資料返 12 201138379 回等)及一資料有效狀態儲存在該恰當追蹤器内。接著以 後,例如當與該訊息有關之一操作受執行時,例如用以將 該資料從該緩衝器寫入一相應位置之一寫資料操作,該資 料可獲輸出,即移出該共享資料緩衝器(方塊240)。在資料 之此移出該緩衝器後,用於該訊息之一信用返回可從自該 協定層發出且經由該鏈結層回到該發送者(方塊250)。儘管 第2圖之實施例中顯示此特定實施態樣,但本發明之範圍不 局限於此點。 利用本發明之一實施例,由於可避免需要負責減慢在 一自適應虛擬網路内傳遞之所有訊息之一共享資源緩衝器 且相反該鏈結層僅專用於保證資料完整性且維持該結構上 之流量控制,則該鏈結層可大大簡化。因此,關於流量控 制之閘數量及複雜度可大大降低。替代在一鏈結層内需要 資源分配邏輯及一仲裁方案以重新分配訊息及返回信用之 一大鏈表資料結構,該鏈結層在將該標頭及/或資料發送到 該協定層之前,僅對其進行累積。該鏈結層在它與該協定 層之間不具有“再一次猜想”該遠程代理器選擇之訊息發送 順序之一非自然仲裁點。相反,利用本發明之一實施例之 一代理器按照該等進入訊息離開該結構而被接收之順序處 理它們。假定一協定層運行慢於微片時鐘速度,由於沒有 單一序列點,該鏈結層可合理地在一單一時鐘内同時發出 命令與移動資料,允許較好的吞吐量及較少的延時。 更進一步,將流量控制保持在該鏈結層内之負荷大大 降低。這是由於當該等進入訊息獲成功解碼時,流量控制 13 201138379 u即又返回。因為該等進人訊息直接按指定路線發送到 協二層資料結構,此快速鏈結層信用釋放可發生 ,且對於 非貝料類別,可告知—任意信用數(則為限制 因子)錢疋層還可並行地處理進人資訊(假定一協定層以 低於。亥微片時鐘速度之_速度操作)且還可按照進入訊息 自邊遠程代理轉㈣之順序處理它們。 見在參考第3圖,其顯示了根據本發明之一個實施例之 '、、先之方塊圖。如第3圖中所示,系統3〇〇可以是一電 月®系統,作為-些範例,其可採取各種形式,諸如一词服 器電腦、桌上型電腦、筆記型電腦、上網本型電腦或行動 十算裝置如第3圖中所示,系統3〇〇包括一處理器31〇 ,即 CPU在4固貫把例中其可以是一多核處理器。處理器 31〇可包括-個或多個快取記憶體,使得其可作為一快取代 理器(CA)。大體而言一快取代理器可以是使異動加入到 連貫圮憶體及可將記憶體位置之副本儲存到例如其自身 之快取記憶體中之一實體。 進-步如第3圖中所示,處理器31〇可經由一互連315輕 接到一晶片組320,在一個實施例中,晶片組32〇可以是一 整合之圖像及記憶體控制器裝置(GMCH),在一個實施例 中,互連315可以是一點對點互連,諸如一Qpi互連。除了 内部圖像電路325之外,晶片組32〇可提供歸屬代理器及快 取代理器功能。大體而言,一歸屬代理器可以是處理連貫 異動之一實體且因而該歸屬代理器發揮控制連貫記憶體之 至少一部分之作用。在第3圖顯示之該實施例中,此連貫記 14 201138379 憶體可以是經由一記憶體匯流排335耦接到晶片組之一 系統S己憶體340,在一個實施例中系統記憶體34〇可以是一 動態隨機存取記憶體(DRAM)。 如圖所示,其它組件可耦接到晶片組320,包括一圖形 〇其可以疋經由諸如一圖形匯流排之一互連3 2 5搞 接之—外部圖形卡。此外,一周邊控制器中心(PCH)350可 以耦接到晶片組32〇,例如經由一互連345。接著, 可與各種周邊裝置通訊,該等周邊裝置諸如大容量儲存 益、網路組件、周邊組件互連高速(pcie)卡、輸入/輸出裝 置等。儘管第3圖之實施例中顯示此特定實施態樣,要理解 本心月之範圍不局限於此點。在各種實施例中,處理器Η。 及晶片組320都可包括諸如以上關於第i圖所述之鏈結層及 協定層,從而降低對用於該等鏈結層之晶片上緩衝器之需 要。而且,實施例可植入到具有多個處理器、晶片組等之 系統中且其中一處理器或晶片組可包括一歸屬代理器。 例如,在一些實施態樣中,一處理器可包括一歸屬代理器 且可直接耦接到其中不具有一晶片組之一記憶體。 實施例可以以程式碼形式實施且可儲存在儲存有指令 之一儲存媒體上,該等指令可用來規劃一系統以執行該等 指令。該儲存媒體可包括但不局限於:包括軟碟、光碟、 光碟、固態驅動器(SSD)、唯讀光碟記憶體(CD_R〇M)、可 重寫光碟(CD-RW)及磁光碟之任一類型磁碟 '半導體裝 置,該等半導體裝置諸如唯讀記憶體(R〇M)、諸如動態隨 機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)之隨 15 201138379 機存取-己隐體(ram)、可抹除可規劃唯讀記憶體 (EPKOM) 憶體、電氣可抹除可規劃唯讀記憶體 (EEPROM)、磁卡或光卡或者用於儲存電子指令之任一其它 類型媒體。 儘管本發明已就有限數目個實施例予以描述 ,但熟於 此技者將明白,可對其作大量修改及改變。目的是使所附 申請專利範@涵蓋落人本發明之真正精神及範圍内之所有 這樣之修改及改變。 【圖式簡單說明】 第1圖是根據本發明之一實施例的一通訊協定之一部 分的一方塊圖。 第2圖是根據本發明之一實施例的一方法之一流程圖。 第3圖是根據本發明之一實施例的一系統之一方塊圖。 【主要元件符號說明 100…通訊協定 110.. . sfl息類別解碼器/累加器 115·.·信用返回計數器 120…共旱資料緩衝器 130…遠程代理器追蹤器、請求 追蹤器 140…當地代理器追蹤器、請求 追蹤器 150···協定功能仵列 200.. .方法 210、220、230、235、240、250、 260、265、270、280…方塊 225、275…菱形 300…系統 310…處理器 320·.·晶片組 325.··互連、内部圖像電路 330·.·圖形裝置 335.··記憶體匯流排 340··.糸統記憶體 16 201138379 345...互連 350···周邊控制器中心(PCH) 17
Claims (1)
- 201138379 七、申清專利範圍: 1. 一種裝置,其包含: Λ按收及轉發一訊息到耦接到該鏈 -層之協疋層,且包括用以判定該訊息之一訊息類变 之-解碼器’其中如果該訊息是—非資料訊息,則該鏈 結層直麟一信用返回提供到該訊息之一發送者;及 °亥協疋層’其包括用以健存自該鏈結層接收到之資 料訊息之-共享緩魅,其巾定制以在該資料訊 息移出該共享緩衝11時,發出針對-資料訊息之-信用 返回,該制相將經由該鏈結層發送職訊息發送 者。 2.如申請專利範圍第丨項所述之褒置,其中該協定層進一 步包括與輕接到該鏈結層之至少一個遠程代理器相關 聯之一第一追縱器,以儲存與來自該至少-個遠程代理 器之請求訊息相關聯之資訊,其中該第—追縱器不單獨 儲存在該共享緩衝器中儲存之資料訊息之資料。 3·如申請專利範圍第2項所述之裝置,其中該協定層進一 步包括與搞接到該鏈結層之至少一個本地代理器相關 聯之第一追蹤器,以儲存與來自至少一個本地代理器 之請求訊息相關聯之資訊,其中該第二追蹤器不單獨儲 存在该共享緩衝器中儲存之資料訊息之資料。 4·如申請專利範圍第2項所述之裝置,其中對於每_代理 器,該第-追縱器包括多項,每一項肖來儲存與—訊息 相關聯之-請求識別符,其中該請求識別符是對應於針 201138379 之一異 2訊息以料叙_㈣符 動識別符之-唯—識別符。 5.==::r述之裝置,其進〜接 :來儲存對—==:: 6付及用以保持排騎列項之-接收順序。线別 .如申4專利範圍第5項 在該第一追縱器之-項之其中該裝置係用來 輸出時存取儲存在該項中之資;^別符自該排序仔列 7·種方法,其包含以下步驟: 輕接到互連體之_鍵結層中接收一訊息; 訊自,該騎層中判定該訊息之一訊息類型,及如果該 姓:#身料類型,則將一信用返回直接從該鏈 結層發送到發送者;及 如果該訊息 轉送到協定層, 料緩衝器中。 類型遭判定為—資料類型,則將該訊息 且將該資料儲存到該協定層之一共享資 8·如=請專利範圍第7項所述之方法,其進―步包含自— 共旱貢料緩衝器輸出該資料’及將針對該資料之一信用 返回經由s玄鏈結層發送到該發送者。 9.如申請專利範圍第7項所述之方法,其進—步包含將該 貢料訊息轉送到該協定層,而不在該鏈結層 中緩衝該資 料訊息。 1〇.如申請制制第7韻述之方法,其進—步包含: 201138379 將與該訊息相關聯之第—資訊儲存在該協定層之一 第—追蹤器中,該資訊包括針對該訊息之一請求識別 符;及 將該請求識別符儲存在—排序佇列之一項中。 U.如申請專利範圍第H)項所述之方法,其進—步包含㈣ 排序符列之該項在該排序仔列之一首端時,_該^ 識別符存取該第一追蹤器中之該第一資訊。 12·如申請專利範圍第U項所述之方法,其進—步包含利用 該第一資訊執行一操作。 13· —種系統,其包含: 用以執行指令之—處理器,該處理器包括用來儲存 儲存在-系統記憶體中之資訊之副本之至少一個快取 代理器; ' 輕接到該處理器以防護該系統記憶體之至少一部 分之—歸屬代理器,i結制以接收來自該處理器之 一訊息且將其轉送_接_鏈結層之-蚊層及包 括用以判定該訊息之—訊息類型之-解碼器,其中如果 該訊息是-非轉訊息,則該鏈結層直接將—信用返回 提供到該處理器,且該協定層包括用以儲存自該鏈結層 ㈣息之—科緩鮮,射當婦料訊息 自=旱緩衝器移出時,該協定層發送針對一資料訊息 回將經由_結層發送到該處 理益,及 福接到該歸屬代理器之該系統記憶體,其t該系統 20 201138379 記憶體包含動態隨機存取犯憶體(DRAM)。 14·如申請專利範圍第13項所述之系統,其t該協定層、 步包括與該處理器相關聯I用以儲存與來自該 之請求訊息相關聯之資訊的/第一追蹤器,其中嗲益 息之資料 15.如申請專利範圍第14項所述之系統,其中該協定岸 追蹤器不單獨地儲存在該共享緩衝器中儲存〜 敎…I _ <頁料訊 進 步包括與該本地代理器相關聯之一第二追蹤器, ,其用來 儲存與來自該本地代理器之請求訊息相關聯之 貝机,装 中該第二追蹤器不單獨地儲存在該共享緩 之資料訊息之資料。 中,存 16. 如申s青專利範圍第14項所述之系統,其中該笛 追峨器 包括多項,每一項用以儲存與一訊息相關聯 。 请求識 別符,其中該請求識別符是對應於針對該處理器之 別符與針對該訊息之一異動識別符之—唯—識別符識 17. 如申請專利範圍第16項所述之系統,其進—步包人耦接 到該第-追縱器之至少-個排序仵列,其中該^仔: 用來儲存對應於該第一追蹤器中之— 項的—請求識別 符’且進-步包含,㈣-點對點互連體轉接到該處理器 之曰曰片組,S亥晶片組用來在該第一追礙5|之員 請求識別符自該排序仵列輸出時存取儲存在,項 資訊。 X 、之 18. 如申請專利範圍第13項所述之“,其中該協定層係用 來儲存與-第-追蹤器中之該訊,!'相_之第__資 21 201138379 訊,該資訊包括針對該訊息之一請求識別符,且係用來 將該請求識別符儲存在一排序佇列之一項中,且該協定 層係用來利用該請求識別符存取該第一追蹤器中之該 第一資訊。 19.如申請專利範圍第13項所述之系統,其中該處理器包括 一歸屬代理器,且進一步包含耦接到該處理器之至少一 個其它處理器及耦接到該多個處理器之一晶片組。 2 〇.如申請專利範圍第13項所述之系統,其進一步包含耦接 到該處理器之一晶片組,其中該晶片組包括該歸屬代理 器。 22
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US12/618,867 US8819305B2 (en) | 2009-11-16 | 2009-11-16 | Directly providing data messages to a protocol layer |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| TW201138379A true TW201138379A (en) | 2011-11-01 |
| TWI536772B TWI536772B (zh) | 2016-06-01 |
Family
ID=43992290
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| TW099131697A TWI536772B (zh) | 2009-11-16 | 2010-09-17 | 直接提供資料訊息至協定層之技術 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US8819305B2 (zh) |
| CN (1) | CN102065073B (zh) |
| TW (1) | TWI536772B (zh) |
| WO (1) | WO2011059574A2 (zh) |
Families Citing this family (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8352648B1 (en) * | 2010-11-22 | 2013-01-08 | Xilinx, Inc. | Credit-based flow control |
| CN102394732B (zh) * | 2011-09-06 | 2013-09-18 | 中国人民解放军国防科学技术大学 | 一种多微包并行处理结构 |
| US9507746B2 (en) * | 2012-10-22 | 2016-11-29 | Intel Corporation | Control messaging in multislot link layer flit |
| KR101691756B1 (ko) | 2012-10-22 | 2016-12-30 | 인텔 코포레이션 | 코히어런스 프로토콜 테이블 |
| CN104461997B (zh) * | 2014-11-26 | 2017-12-05 | 上海斐讯数据通信技术有限公司 | 一种pos‑phy接口设备及设计方法 |
| CN113660344B (zh) * | 2021-08-20 | 2024-03-15 | 上海肇观电子科技有限公司 | 通信方法、装置、电子设备和计算机可读存储介质 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB9606834D0 (en) * | 1996-03-30 | 1996-06-05 | Int Computers Ltd | Inter-processor communication |
| US6658480B2 (en) * | 1997-10-14 | 2003-12-02 | Alacritech, Inc. | Intelligent network interface system and method for accelerated protocol processing |
| US6009488A (en) * | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
| US7330479B2 (en) | 2003-09-25 | 2008-02-12 | International Business Machines Corporation | Shared transmit buffer for network processor and methods for using same |
| US7411969B2 (en) | 2003-10-28 | 2008-08-12 | Intel Corporation | Method, system, and apparatus for a credit based flow control in a computer system |
| US20050144341A1 (en) * | 2003-12-31 | 2005-06-30 | Schmidt Daren J. | Buffer management via non-data symbol processing for a point to point link |
| US20050262250A1 (en) | 2004-04-27 | 2005-11-24 | Batson Brannon J | Messaging protocol |
| JP2005332250A (ja) * | 2004-05-20 | 2005-12-02 | Toshiba Corp | データ処理装置およびフロー制御方法 |
| US7493426B2 (en) * | 2005-01-31 | 2009-02-17 | International Business Machines Corporation | Data communication method and apparatus utilizing programmable channels for allocation of buffer space and transaction control |
| US7643477B2 (en) * | 2005-08-24 | 2010-01-05 | Intel Corporation | Buffering data packets according to multiple flow control schemes |
| US8131940B2 (en) * | 2007-03-31 | 2012-03-06 | Intel Corporation | Methods and apparatuses to support memory transactions using partial physical addresses |
| US7971074B2 (en) * | 2007-06-28 | 2011-06-28 | Intel Corporation | Method, system, and apparatus for a core activity detector to facilitate dynamic power management in a distributed system |
| US8174977B2 (en) | 2007-07-06 | 2012-05-08 | Hewlett-Packard Development Company, L.P. | End-to-end flow control in a network |
| US8635380B2 (en) * | 2007-12-20 | 2014-01-21 | Intel Corporation | Method, system and apparatus for handling events for partitions in a socket with sub-socket partitioning |
| US8085801B2 (en) * | 2009-08-08 | 2011-12-27 | Hewlett-Packard Development Company, L.P. | Resource arbitration |
-
2009
- 2009-11-16 US US12/618,867 patent/US8819305B2/en not_active Expired - Fee Related
-
2010
- 2010-09-17 TW TW099131697A patent/TWI536772B/zh not_active IP Right Cessation
- 2010-09-23 WO PCT/US2010/050013 patent/WO2011059574A2/en not_active Ceased
- 2010-09-26 CN CN201010293356.0A patent/CN102065073B/zh not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| WO2011059574A2 (en) | 2011-05-19 |
| CN102065073A (zh) | 2011-05-18 |
| TWI536772B (zh) | 2016-06-01 |
| US20110116511A1 (en) | 2011-05-19 |
| WO2011059574A3 (en) | 2011-07-21 |
| CN102065073B (zh) | 2014-03-12 |
| US8819305B2 (en) | 2014-08-26 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5376371B2 (ja) | 並列コンピューティング・システムに使用されるネットワーク・インターフェース・カード | |
| EP3028162B1 (en) | Direct access to persistent memory of shared storage | |
| US6757768B1 (en) | Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node | |
| TWI570563B (zh) | 後置中斷架構 | |
| JP4124491B2 (ja) | 異なるデータ転送速度での共用メモリへのアクセスを制御するパケット・ルーティング・スイッチ | |
| US6832279B1 (en) | Apparatus and technique for maintaining order among requests directed to a same address on an external bus of an intermediate network node | |
| US6119196A (en) | System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates | |
| JP5363064B2 (ja) | ネットワーク・オン・チップ(noc)上のソフトウェア・パイプライン化の方法、プログラムおよび装置 | |
| US20200081850A1 (en) | Unified address space for multiple hardware accelerators using dedicated low latency links | |
| US20060047849A1 (en) | Apparatus and method for packet coalescing within interconnection network routers | |
| TW200937219A (en) | A network on chip | |
| US20150127649A1 (en) | Efficient implementations for mapreduce systems | |
| EP3267322A1 (en) | Scalable direct inter-node communication over peripheral component interconnect-express (pcie) | |
| US20220391340A1 (en) | Asymmetric Read / Write Architecture for Enhanced Throughput and Reduced Latency | |
| TWI536772B (zh) | 直接提供資料訊息至協定層之技術 | |
| US11880710B2 (en) | Adaptive data shipment based on burden functions | |
| JP2021522608A (ja) | ストリーミングデータ転送のためのフロー圧縮を用いたデータ処理ネットワーク | |
| CN109478171A (zh) | 提高openfabrics环境中的吞吐量 | |
| CN107430584B (zh) | 经由具有完全连接网格拓扑的pci express结构从存储读取数据 | |
| US12438938B2 (en) | Rendezvous to enable congestion management | |
| US9804959B2 (en) | In-flight packet processing | |
| CN115633098B (zh) | 众核系统的存储管理方法、装置和集成电路 | |
| US20060026214A1 (en) | Switching from synchronous to asynchronous processing | |
| CN107533526B (zh) | 经由具有完全连接网格拓扑的pci express结构向存储写入数据 | |
| CN101625671B (zh) | Ahb互连矩阵接口及其数据处理方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| MM4A | Annulment or lapse of patent due to non-payment of fees |