TWI587146B - 於PCIe介面實施快速路徑互連協定之技術 - Google Patents
於PCIe介面實施快速路徑互連協定之技術 Download PDFInfo
- Publication number
- TWI587146B TWI587146B TW100134350A TW100134350A TWI587146B TW I587146 B TWI587146 B TW I587146B TW 100134350 A TW100134350 A TW 100134350A TW 100134350 A TW100134350 A TW 100134350A TW I587146 B TWI587146 B TW I587146B
- Authority
- TW
- Taiwan
- Prior art keywords
- interface
- pcie
- qpi
- phy
- data
- Prior art date
Links
- 238000001514 detection method Methods 0.000 claims description 35
- 230000005540 biological transmission Effects 0.000 claims description 26
- 238000000034 method Methods 0.000 claims description 18
- 230000001427 coherent effect Effects 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 12
- 238000006243 chemical reaction Methods 0.000 claims description 11
- 238000012546 transfer Methods 0.000 claims description 10
- 230000002093 peripheral effect Effects 0.000 claims description 5
- 238000012549 training Methods 0.000 claims description 4
- 125000004122 cyclic group Chemical group 0.000 claims 2
- 230000000712 assembly Effects 0.000 claims 1
- 238000000429 assembly Methods 0.000 claims 1
- 238000012360 testing method Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 22
- 238000013507 mapping Methods 0.000 description 12
- 230000004044 response Effects 0.000 description 6
- 239000000463 material Substances 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000009432 framing Methods 0.000 description 1
- 229910052732 germanium Inorganic materials 0.000 description 1
- GNPVGFCGXDBREM-UHFFFAOYSA-N germanium atom Chemical compound [Ge] GNPVGFCGXDBREM-UHFFFAOYSA-N 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
- G06F12/0835—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Communication Control (AREA)
- Bus Control (AREA)
- Information Transfer Systems (AREA)
Description
本發明之領域大致有關於電腦系統介面,且更具體而言但不僅只有關於透過PCIe介面來實施英特爾(Intel)Quickpath Interconnect(快速路徑互連)協定。
電腦系統典型地利用一或多個互連來促成系統組件之間,諸如處理器與記憶體之間的通訊。互連及/或擴充介面也可用以支援內建及附加裝置,諸如IO(輸入/輸出)裝置及擴充卡等。在個人電腦被引入後的許多年,互連的主要形式是一平行匯流排。平行匯流排結構用於內部資料傳送及擴充匯流排,諸如ISA(工業標準架構)、MCA(微通道架構)、EISA(延伸工業標準架構)及VESA區域匯流排。在1990年初,英特爾公司引入PCI(周邊組件互連)電腦匯流排。PCI不僅藉由增加匯流排速度,而且藉由引入自動組態及使用共享位址及資料線的基於交易資料傳送對早先的匯流排技術予以改良。
隨著時間的推移,電腦處理器時脈速率增加的速度比平行匯流排時脈增加的速度快。因此,電腦工作負荷時常受限於互連瓶頸而非處理器速度。雖然平行匯流排支援每一週期傳送大量資料(例如,根據PCI-X,32或甚至64位元),它們的時脈速率受時序偏差考量的限制,導致對最大匯流排速度的實際限制。為了克服此問題,高速串列互連被開發。早期串列互連的範例包括串列ATA、USB(通用串列匯流排)、Fire Wire及RapidIO。
另一廣泛使用的標準串列互連是PCI Express,亦稱作PCIe,其是根據PCIe 1.0標準在2004年引入的。PCIe被設計成取代較舊的PCI及PCI-X標準,同時提供舊有支援。PCIe利用點對點串列鏈路而非一共享平行匯流排架構。每一鏈路在二PCIe埠之間使用一或多個信道(lanes)支援一點對點通訊通道,其中每一信道包含一雙向串列鏈路。該等信道使用一交叉開關結構被實體選擇路徑,該交叉開關結構支援多個裝置之間同時通訊。由於其固有的優勢,PCIe已取代PCI作為當今個人電腦中最流行的互連。PCIe是由PCI-SIG(特殊興趣團體)管理的一工業標準。因此,PCIe焊盤可從許多ASIC及矽供應商獲得。
最近,英特爾引入快速路徑互連(QPI)。QPI最初在使用高性能處理器,諸如Intel Xeon及Itanium處理器的平台上被實施為一取代前端匯流排的點對點處理器互連。QPI是可擴縮的,且在具有利用共享記憶體資源的多個處理器的系統中特別有利。QPI交易利用一多層協定架構使用基於封包的傳送。其特徵之一是支援同調交易(例如記憶體同調性),而PCIe並不支援該交易。因此,將QPI特徵及功能諸如交易同調性擴展到使用PCIe介面的系統是有利的。
依據本發明之一實施例,係特地提出一種方法,其包含以下步驟:在具有共享記憶體資源且包括可存取該共享記憶體資源之包含具有一區域快取記憶體的至少一處理器的複數裝置的一電腦系統中實施一快取記憶體同調性協定(cache coherency protocol),其中該電腦系統包括快速週邊組件互連(PCIe)介面電路,經由使用該快取記憶體同調性協定而能允許透過該快速週邊組件互連(PCIe)介面電路的同調記憶體交易。
此發明之前述層面及許多隨之而來的優勢將因參照結合附圖的以下詳細說明而能被更佳地理解,其中除非另有指出,否則在各不同視圖中相同的參考數字指相同的部分:第1圖繪示QPI協定堆疊層;第2圖是繪示一QPI鏈路之結構的一示意圖;第3圖繪示PCIe協定堆疊層;第4圖是繪示一PCIe x16鏈路之結構的一示意圖;第5圖是繪示一PCIe x8鏈路之結構的一示意圖;第6圖是繪示一PCIe x4鏈路之結構的一示意圖;第7圖繪示透過一PCIe介面實施QPI協定的一實施例所利用的協定層;第8圖繪示當利用20個信道以一全寬模式運作時依據一QPI數據片的資料位元的映射;第9圖繪示依據一實施例,關於一80位元的QPI數據片到一PCIe x16介面上的一位元映射;第10圖繪示依據一實施例,關於一80位元的QPI數據片到一PCIe x8介面上的一位元映射;第11圖繪示依據一實施例,關於一80位元的QPI數據片到一PCIe x4介面上的一位元映射;第12圖繪示依據一實施例,使用128b/130b編碼,QPI位元到一PCIe x16介面的一映射;第13圖繪示依據一實施例,用以實施一QPI鏈路層到PCIe實體層介面的信號;第14圖是繪示依據一實施例,用以實施一QPI鏈路層到PCIe實體層介面的邏輯及實體區塊的一方塊圖;第15圖繪示依據一實施例,兩個80位元數據片到一PCIe x16介面上的一映射;第16圖是繪示依據一實施例,被配置成透過一PCIe介面實施QPI協定的一刀鋒型伺服器的一對刀鋒的一示意圖;第17圖是繪示使用第16圖之刀鋒型伺服器,用以支援依據QPI協定的一本地偵測的傳訊操作的一訊息流圖;及第18圖是繪示使用第16圖之刀鋒型伺服器,用以支援依據QPI協定的一來源偵測的傳訊操作的一訊息流圖。
用以透過一PCIe介面實施QPI協定的方法及設備的實施例在本文中描述。在以下說明中,許多特定細節被提及以提供對本發明之實施例的深入理解。然而,相關技藝中具有通常知識者將認識到的是在沒有一或多個特定細節的情況下本發明也可被實施,或可利用其它方法、組件、材料等來實施。在其他情況下,習知的結構、材料或操作未被詳細繪示或描述以免模糊本發明之諸層面。
此說明書中提及「一個實施例」或「一實施例」意指結合該實施例所描述的一特定特徵、結構或特性被包括在本發明之至少一實施例中。因此,此說明書全文中出現的片語「在一個實施例中」或「在一實施例中」不一定均指同一實施例。此外,該等特定特徵、結構或特性可以在一或多個實施例中以任一適合的方式被組合。
QPI交易經由透過一多層協定而被傳輸的分封化訊息而被促成。如第1圖中所示者,層包括一實體層、一鏈路層、一傳輸層及一協定層。在實體層,資料在20-位元實體單元(Physical Units)中交換。在鏈路層,實體單元被聚合成80-位元數據片(流控制單元)。在協定層,訊息在代理器之間使用一以封包為基的傳輸被傳送。
實體層定義互連之實體結構且負責處理二代理器之間的一特定鏈路上的信號之操作細節。此層管理信號線上的資料傳送,包括電位準、時脈層面及涉及跨平行信道傳輸及接收每一資訊位元的邏輯問題。如第2圖中所示者,每一互連鏈路之實體連接性由二十個差分信號對加上一差分轉發時脈組成。每一埠支援由兩個單向鏈路組成的一鏈路對以完成兩組件之間的連接。這同時支援雙向訊務。
具有QPI埠的組件使用被定義為一鏈路對的一對單向點對點鏈路來通訊,如第2圖中所示者。每一埠包含一傳輸(Tx)鏈路介面及一接收(Rx)鏈路介面。對所示範例而言,組件A具有一Tx埠,該Tx埠連接至組件B之Rx埠。一單向鏈路從組件A傳輸至組件B,且另一鏈路從組件B傳輸至組件A。該「傳輸」鏈路及「接收」鏈路相關於一特定QPI代理器而被定義。組件A之傳輸鏈路將資料從組件A之Tx埠傳輸至組件B之Rx埠。此同一組件A之傳輸鏈路是埠B之接收鏈路。
在協定堆疊之上的第二層是鏈路層,其負責可靠的資料傳輸及流控制。鏈路層還提供虛擬化實體通道的多個虛擬通道及訊息類別。在實體層初始化及調訓完成之後,其邏輯子區塊在負責流控制的鏈路層指導下運作。從此一鏈路工作點起始,邏輯子區塊以一數據片顆粒度(80位元)與鏈路層通訊且以一實體單元顆粒度(20位元)傳送數據片穿越鏈路。一數據片由整數個實體單元組成,其中一實體單元被定義為一單位間隔(UI)內所傳輸的位元數目。例如,一全寬QPI鏈路使用四個實體單元來傳輸及接收一完整的數據片。每一數據片包括72位元的酬載及8位元的CRC。
路由層負責確保訊息被發送至它們正確的目的地,且提供用以透過互連結構為封包導向的架構。若從鏈路層送交的一訊息被指定另一裝置中的一代理器,則路由層將其轉發至正確的鏈路以發送。被指定區域裝置上的代理器的所有訊息被傳遞至協定層。
協定層供應多個功能。其使用一回寫式(write-back)協定來管理介面的快取記憶體同調。其還具有一組用以管理非同調傳訊的規則。訊息使用封包在協定層級上被傳送於代理器之間。協定層控制多個鏈路,包括多個裝置中的多個代理器的訊息傳送。穿越分散式快取記憶體及記憶體控制器的系統快取記憶體同調性是由分散之代理器維持,該等分散之代理器參與由受協定層所定義之規則支配的同調記憶體空間交易。QPI同調性協定支援本地偵測及來源偵測性能,這在下文中更加詳細地加以描述。
正如QPI,PCIe使用由相對每一傳輸及接收的一或多個信道組成的串列鏈路來支援一點對點互連。一PCIe鏈路具有至少一信道-每一信道代表一組差分信號對(一對用於傳輸,一對用於接收)。為了調整頻寬,一鏈路可集合由xN來表示的多個信道,其中N可以是任一支援鏈路寬度。例如,就PCIe 3.0規格而言,PCIe鏈路包括對x1、x2、x4、x8、x12、x16及x32信道寬度的操作。在硬體初始化期間,每一PCI Express鏈路是在信道寬度及操作頻率由鏈路每一端的二代理器協商之後被建立。
如第3圖中所示者,PCI Express使用一層級協定,包括一實體層、資料鏈路層及交易層。實體層進一步包括一邏輯子區塊及一電氣子區塊。PCI Express使用封包在組件之間溝通資訊。封包在交易及資料鏈路層中形成以將資訊從傳輸組件傳送至接收組件。在傳輸封包流經其他層時,它們擴充了具有在這些層處理封包所必需的額外資訊。反向程序在接收端發生且封包由它們的實體層表示被轉換成資料鏈路層表示且最後(對交易層封包)轉換成可由接收裝置之交易層處理的形式。第3圖繪示交易層級封包資訊通過各層的概念流。
雖然QPI PHY與PCIe PHY之間有某些相似性,但是也有差異。這些差異中有鏈路配置及資料編碼。第4圖繪示一PCIe x16鏈路之實體連接性。如「x16」所標識,此鏈路利用16個信道,每一信道包含一差分信號對。不同於利用單獨的時脈信號,PCIe的時脈資料被嵌入資料傳輸且經由實體層在鏈路端點被回復。
具有支援一x16鏈路之電路的一PCIe互連還可被配置成兩個x8鏈路。此外,響應於錯誤檢測,一x16鏈路之寬度可被自動縮減至一x8鏈路,或甚至一x4鏈路。第5圖繪示利用信道0-7的一PCIe x8鏈路之一範例,而第6圖繪示利用信道0-3的一PCIe x4鏈路之範例。
依據本發明之層面,用以透過PCIe介面實施QPI協定的技術被揭露。如第7圖中所示者,QPI協定之協定、路由及鏈路層透過PCIe實體層(PHY)來實施,其中對PCIe邏輯PHY做某種修改以支援一QPI鏈路層介面。這能夠透過一PCIe介面(及對應的硬體電路)來使用QPI,而無需對電氣架構做任何修改。因此,QPI可使用現有的PCIe設計,包括現有的PCI焊盤來實施。
QPI over PCIe實施支援鏈路分叉及鏈路降級連同信道逆轉。在一實施例中,一x16鏈路可被分叉為兩個獨立的x8。此外,在存在錯誤情況下,一x16鏈路還可降級到一x8或x4鏈路。降級的x8可以在實體信道0..7或8..15中且降級的x4可在實體信道0..3、4..7、8..11、12..15中。一x8鏈路可在信道0..3或4..7中降級到一x4。在降級模式中,信道可逆轉。
在一實施例中,當相對QPI協定配置時,PCIe PHY符合PCIe 3.0的適用PHY層,使用128b/130b編碼但無實體層成框(例如STP、END)。QPI over PCIe鏈路能以PCIe適用速率(例如8GT/s)以及鏈路兩端的裝置能夠支援的其他速率來運作。QPI協定堆疊保留其鏈路層,包括數據片、封包格式、CRC及重試機制。
如上所述,鏈路層傳送的單位為一80位元的數據片。因此,為了維持透過一PCIe PHY使用QPI鏈路層,執行傳輸資料位元格式的映射。當使用一QPI鏈路之全寬度時,一80位元的數據片由四個20位元的實體單元組成,它們在四個UI期間被連續接收。這被繪示於第8圖中,其中標有C0...C7的資料對應於8個CRC位元,且標有I0...I71的資料對應於72位元的酬載資料(資訊位元)。此外,CRC及酬載資料繪示為分組成8-位元位元組。
根據各種實施例,80位元的數據片資料從4個20位元的實體單元被重映射至x16、x8及x4 PCIe鏈路。例如,在一實施例中,使用4個UI之20位元實體單元的80位元的數據片資料從20個信道使用5個UI被重映射至一PCIe x16 PHY的16個信道。這繪示於第9圖中,其繪示在每一UI期間傳送的資料位元,以及依據第7圖之原始的80位元數據片的8-位元位元組之分組。在第10圖之實施例中,80位元的數據片資
料使用10個UI被映射到一PCIe x8配置的8個信道。在第11圖之實施例中,80位元的數據片資料使用20個UI被映射到一PCIe x4配置之4個信道。
在上述實施例中,CRC位元及資訊位元之位置被選擇成確保叢發長度錯誤被檢測到。以下錯誤檢測性質得到保證:(i)隨機的單、雙及三位元錯誤,(ii)長度最高達8之叢發錯誤,及(iii)一x16鏈路的線誤差檢測。在一實施例中,相同的QPI CRC多項式在傳輸QPI數據片時被利用。由於鏈路是一x16(或x8或x4)PCIe鏈路,位元的佈局與QPI不同。用於CRC計算的QPI數據片級多項式可被表示為:I71x79+I70x78+I69x77+......+I0x8+C7x7+..........C0x0
在初始化之後,當在一實施例中傳輸QPI數據片時,PCIe PHY用由PCIe 3.0規格定義的相同的置亂規則及區塊對齊規則以128b/130b編碼來運作。在初始化期間,PCIe PHY將開始2.5GT/s之資料率的8b/10b編碼以供作為初始鏈路調訓,且在傳輸任何QPI數據片之前,透過速度變化操作切換到128b/130b編碼。依據一實施例,128/130b編碼之一範例被繪示於第12圖中。
運載QPI數據片的資料區塊與PCIe資料區塊在128/130b編碼上有細微的不同。不同於同步標頭一直為10b的PCIe資料區塊,QPI資料區塊分別在奇及偶信道中使用同步標頭位元01b及10b,如第12圖中所示者。
一QPI資料流以第一QPI資料區塊開始並在接收除了SKP有序集合以外的一有序集合、或在接收器檢測一成框
誤差時結束。若同步標頭位元在奇及偶信道中分別為01b及10b,則一區塊是一QPI資料區塊,且其跟隨另一QPI資料區塊或僅具有邏輯IDL或一有效的有序集合的一PCIe資料區塊。對一QPI資料流而言,無需遵循其他PCIe 3.0發射器成框規則。
因為每一數據片是80位元,具有QPI數據片的資料區塊並不運載128b/130b編碼的任何成框符記。成框邏輯將會算出數據片基於固定大小的邊界。如第12圖中所示者,一數據片可跨越二資料區塊。
如上所述者,根據QPI over PCIe協定,QPI協定之上層保持不變。這些層的最下層是QPI鏈路層。因此,QPI鏈路層與PCIe PHY層之間的一介面被利用。用以協助此介面的信號的一實施例被繪示於第13圖中。
如第13圖所示,在該PCIe PHY邏輯子層介面接收來自該QPI鏈路層介面之一鏈路接收器準備信號(LinkRxRdy),其指示該QPI鏈路層係準備以接收資料;及將一PHY接收器準備信號(PhyRxRdy)自該PCIe PHY邏輯子層介面發送至該QPI鏈路層介面,該PHY接收器準備信號指示該PCIe PHY係準備以開始接收資料。再者,將一PHY發射器準備信號(PhyTxRdy)自該PCIe PHY邏輯子層介面發送至該QPI鏈路層介面,該PHY發射器準備信號指示該PCIe PHY係準備以開始資料之傳輸;以及在該PCIe PHY邏輯子層介面接收來自該QPI鏈路層介面之一鏈路傳輸準備信號(LinkTxRdy),其指示該QPI鏈路層係準備以開始資料之傳
輸。
當使用以正常全寬模式運作的一PCIe x 16鏈路時,來自16個信道的資料被映射至20位元實體單元。PCIe邏輯PHY層對一x16鏈路每一時脈遞送8UI量值的資料(8x16=128)。QPI鏈路層以8UI時脈但透過一2數據片(160b)介面運作。每一數據片具有其自身的數據片有效信號(即,以一時脈傳輸一單一數據片是可行的)。x16到x20的轉換邏輯實質上是一128b到160b的轉換。在一實施例中,數據片被儘快地遞送至QPI鏈路層(即在遞送數據片之前無需等候累積160b)。此邏輯部分還提供一介面用以在8UI時脈的PCIe PHY層與16UI時脈的PCIe資料鏈路之間傳送。用以執行此轉換的一介面之一實施例的方塊圖被繪示於第14圖中。
第15圖繪示依據一實施例的160b與128b之間的位元映射。左側的資料位元區塊繪示透過PCIe邏輯PHY層(128b介面)被遞送之8UI時脈域(PCIe)的資料。其繪示一40UI的時脈週期(時間向下漸增;每一數據片40 8UI x 5UI)。右側的資料位元區塊繪示映射至QPI鏈路層的個別數據片。粗線標明數據片邊界,而虛線標明8UI時脈邊界。
除了將QPI數據片映射至PCIe x16、x8及x4鏈路以外,此構想還可使用本文所揭露之類似原理被擴展為映射至PCIe x2及x1鏈路。一般而言,較佳地是利用較高寬度的鏈路,因為這減小每一交易的週期數目(因此減少潛時),但是
較窄寬度的鏈路也可被利用。
進一步指出,習知的PCIe鏈路(即利用一PCIe協定的PCIe鏈路)及透過其來實施QPI鏈路的PCIe鏈路可存在於同一系統中。PCIe鏈路不必具有相同的寬度或利用相同的時脈速率(即速度)。此外,透過PCIe的QPI鏈路可在同一系統內利用不同的鏈路寬度及時脈速率。
維持透過PCIe的快取記憶體同調性之示範性實施態樣
QPI固有特徵之一為支援同調記憶體交易。這經由相關於由QPI協定之上層所處理的記憶體交易的對應訊息而被實施。如QPI協定層所定義者,該等訊息使用封包被傳輸給可應用的代理器。以下訊息類別被QPI協定加以利用。
請求及響應訊息影響同調系統記憶體空間或用於非同調交易(諸如配置、記憶體映射I/O、中斷及代理器之間的通信)。
分散式快取記憶體及整合記憶體控制器上的系統快取記憶體同調性由參與受到協定層所定義之規則限制的同調
記憶體空間交易的分散式代理器維持。QPI同調性協定允許本地偵測及來源偵測性能。本地偵測性能被最佳化以獲得較大的可擴縮性,而來源偵測被最佳化以獲得較低的潛時。後者主要用在較小型系統中,其中較少數目的代理器產生一相對較小量的偵測訊務。具有更多偵測代理器的較大系統可產生大量的偵測訊務且因此將得益於一本地偵測操作模式。作為同調方案的一部分,QPI協定實施習知的MESI(修改、排他、共享及無效)協定,且可任選地,引入一新的F-(前向)狀態。
在一實施例中,QPI協定實施一修改格式的MESI同調協定。標準的MESI協定使每一快取列維持在以下四種狀態之一:修改、排他、共享或無效。一新的唯讀前向狀態也已被引入以實現快取對快取清除線轉發。這些狀態之特性被總結在下文的表2中。僅一代理器可使一線路在任一特定時間處於此F-狀態;其他代理器可能具有S-狀態複本。即使當一快取列已在此狀態中被轉發,本地代理器仍需回應完成以允許退出追蹤交易的資源。然而,快取對快取傳送提供一低潛時路徑用以回傳除了來自本地代理器之記憶體者以外的資料。
QPI同調協定由兩種不同類型的代理器組成:緩存代理器(caching agent)及本地代理器。一處理器將典型地具有這兩種代理器且可能每種類型具有多個代理器。
一緩存代理器代表可啟動成為同調記憶體之交易的一實體,且其可將複本保留在其自身的快取記憶體結構中。緩存代理器由其匯與源的訊息依據快取記憶體同調協定中所定義之性能的來源來定義。一緩存代理器還可向其他緩存代理器提供同調記憶體內容之複本。
一本地代理器代表一伺服同調交易,包括緩存代理器所必需的交握的實體。一本地代理器監管同調記憶體的一部分。具體而言,本地代理器邏輯並非用於主記憶體的記憶體控制器電路,而是維持一特定位址空間之同調性的額外QPI邏輯。其負責管理不同的緩存代理器之間可能產生的衝突。其提供一特定交易流所需的適當的資料及所有權響應。
依據一實施例,同調記憶體交易經由在一刀鋒型伺服器中透過PCIe使用QPI協定而獲支援。例如,第16圖中的刀鋒型伺服器系統1600包括多個刀鋒,如刀鋒1及2所示者。每一刀鋒包括可操作地藉由對應的電路而被耦合的各種處理及記憶體資源。雖然在第16圖中被完全相同地描繪,但是將理解的是,一刀鋒型伺服器中的每一刀鋒可能都具有較多或較少的處理及記憶體資源。
進一步詳言之,刀鋒1包括一對處理器1及2,每一者代表具有一或多個處理器核心的一處理器或CPU。此外,處理器1及2還可包含一系統單晶片。處理器1包括一區域快取記憶體1602,而處理器2包括一區域快取記憶體1604。處理器1及2中的每一者被連接至一各別的記憶體庫1606及1608,其中每一記憶體庫包括一或多個記憶體模組或記憶體晶片組,如DRAM區塊1610所示者。同樣地,刀鋒2包括一對處理器3及4,該等處理器各包括各別的區域快取記憶體1612及1614,及記憶體庫1616及1618。
記憶體模組1606、1608、1612及1614經由一對應的記憶體控制器(圖未示)可操作地耦合至它們各自的處理器,其可能被包括在處理器1-4中的每一者中,或可包含一個別的晶片組組件。為簡單起見,記憶體介面在第16圖中由標有「DDR3」的雙箭頭來表示,「DDR3」代表一雙倍資料速率3記憶體介面。DDR3僅為示範性的,其他記憶體介面標準也可被利用。
處理器1及2經由標有「QPI」的雙箭頭所描繪的一QPI介面而被通信耦合。同樣地,處理器3及4經由一QPI介面而被通信耦合。除此之外,刀鋒1及2中的每一者還包括一或多個PCIe介面,如標有「PCIe」的雙箭頭所描繪者。一般而言,這些介面可以是任一類型的PCIe介面,包括PCIe x1、x2、x4、x8、x16及x32。PCIe介面可用以促成與各種輸入/輸出(IO)裝置(為了簡單起見,圖未示)的通訊。
刀鋒1及2中的每一者包括可操作地耦合至一底板介面
或邊緣連接器(視刀鋒配置而定)的一PCIe x16或x8介面。可安裝刀鋒1及2的刀鋒型伺服器包括適當的互連電路以透過一PCIe x16及/或PCIe x8介面促成刀鋒1與刀鋒2之間的通訊。此外,刀鋒1及2被配置成支援依據本文所述之實施例的一或多個QPI over PCIe介面,如第16圖中標有「QPI over PCIe」的雙箭頭所示者。
本地偵測同調性性能將本地代理器定義為負責偵測其他緩存代理器。一訊息的基本流最高包括四個操作,如第17圖之範例中所示者,其中所示之處理器對應於第16圖之刀鋒型伺服器之處理器1、2、3及4。在此範例中,一遠端代理器管理的對一位址的一簡化讀取請求被執行,其中處理器1是請求緩存代理器,處理器2及3為同級緩存代理器,且處理器4為用於快取列的本地代理器。除此之外,處理器3具有處於一M、E或F-狀態的快取列的一複本。
在第一操作中,緩存代理器(處理器1)對管理討論中之記憶體的本地代理器(處理器4)發出一請求。一般而言,每一處理器將管理共享記憶體的一對應部分,典型地是經由位址範圍映射等。同時,每一本地代理器維持一目錄結構,其被用以追蹤哪些代理器保留對應於本地代理器所管理之記憶體的快取列。
接下來,在第二操作中,本地代理器(處理器4)檢查其目錄結構以使一偵測目標指向被確認為保留對應於請求中之記憶體位址的一快取列的緩存代理器。在此範例中,目
錄結構指示處理器3保留快取列,且因此處理器4向處理器3傳輸一偵測請求。
響應於偵測請求,緩存代理器在第三操作中將一帶有位址狀態之響應發送回本地代理器。在此範例中,處理器3有處於恰當狀態的快取列的一複本,因此其向處理器1遞送快取列資料的一複本。處理器3也響應於處理器4,指示其已將資料傳輸至處理器1。本地代理器解決任何衝突,且必要的話,將資料回傳給原始請求緩存代理器(在首先查看資料是否被另一緩存代理器遞送之後,在此實例中為是),且交易完成。這繪示於第四操作中,其中處理器4向處理器1提供指示交易完成的一訊息。
QPI本地偵測性能實施態樣典型地包括一目錄結構以將偵測目標指向可能具有一資料複本的特定緩存代理器。這具有減小本地代理器必須在互連結構上處理的偵測及偵測響應之數目的作用。這在具有大量代理器的系統中非常有用,儘管以潛時及複雜性為代價。因此,本地偵測是針對相對大量代理器被最佳化的系統。
來源偵測同調性性能藉由允許請求的來源發出請求及任何所需偵測訊息來簡化一交易的實現。一通信的基本流僅包括三個操作,有時稱作一二中繼偵測,因為資料可在第二操作中被遞送。參照第18圖,上述本地偵測範例中的同一記憶體讀取請求如下進行。
在第一操作期間,緩存代理器(處理器1)向管理討論中
之記憶體的本地代理器(處理器4)發出一請求且向所有其他緩存代理器(處理器2及3)發出偵測以查看它們是否有討論中之記憶體的複本。
在第二操作期間,緩存代理器以位址狀態響應於本地代理器。在此範例中,處理器3具有處於適當狀態之列的複本,所以資料被直接遞送給請求緩存代理器(處理器1)。處理器2及3也反向對本地代理器提供各自的狀態請求。
在第三操作期間,本地代理器藉由向請求緩存代理器(處理器1)提供一對應訊息來解決任何衝突且完成交易。
來源偵測性能保存一「中繼」,從而提供一較低的潛時。這以請求代理器維持一低潛時路徑以接收並響應於偵測請求為代價;相對於本地偵測方法,此亦賦予互連結構額外的頻寬壓力。
依據本文所揭露之實施例,QPI協定之特徵及功能可被延展到PCIe硬體而無需實體介面(即介面電路)做任何改變。因此,QPI協定可使用現有的PCIe電路設計來實施。因此,QPI協定特徵,諸如同調記憶體交易,可被擴展到PCIe介面。
本發明例示實施的以上說明,包括摘要中之記述,並非詳盡無遺或將本發明限制為所揭露之精確形式。雖然本發明之特定實施例及範例在本文為了說明目的而被描述,在相關技藝中具有通常知識者將認識到的是在本發明範圍內做各種等效修改是可能的。
本發明可根據上述詳細說明作此等修改。以下申請專
利範圍中所使用的用語不應被理解為將本發明限制到說明書及圖式中所揭露之特定實施例。反之,本發明之範圍應依據已建立的申請專利範圍解釋原則解釋完全由以下的申請專利範圍決定。
1600‧‧‧刀鋒型伺服器系統
1602、1604、1612、1614‧‧‧區域快取記憶體
1606、1608‧‧‧記憶體庫/記憶體模組
1610‧‧‧DRAM區塊
1616、1618‧‧‧記憶體庫
第1圖繪示QPI協定堆疊層;第2圖是繪示一QPI鏈路之結構的一示意圖;第3圖繪示PCIe協定堆疊層;第4圖是繪示一PCIe x16鏈路之結構的一示意圖;第5圖是繪示一PCIe x8鏈路之結構的一示意圖;第6圖是繪示一PCIe x4鏈路之結構的一示意圖;第7圖繪示透過一PCIe介面實施QPI協定的一實施例所利用的協定層;第8圖繪示當利用20個信道以一全寬模式運作時依據一QPI數據片的資料位元的映射;第9圖繪示依據一實施例,關於一80位元的QPI數據片到一PCIe x16介面上的一位元映射;第10圖繪示依據一實施例,關於一80位元的QPI數據片到一PCIe x8介面上的一位元映射;第11圖繪示依據一實施例,關於一80位元的QPI數據片到一PCIe x4介面上的一位元映射;第12圖繪示依據一實施例,使用128b/130b編碼,QPI位元到一PCIe x16介面的一映射;第13圖繪示依據一實施例,用以實施一QPI鏈路層到
PCIe實體層介面的信號;第14圖是繪示依據一實施例,用以實施一QPI鏈路層到PCIe實體層介面的邏輯及實體區塊的一方塊圖;第15圖繪示依據一實施例,兩個80位元數據片到一PCIe x16介面上的一映射;第16圖是繪示依據一實施例,被配置成透過一PCIe介面實施QPI協定的一刀鋒型伺服器的一對刀鋒的一示意圖;第17圖是繪示使用第16圖之刀鋒型伺服器,用以支援依據QPI協定的一本地偵測的傳訊操作的一訊息流圖;及第18圖是繪示使用第16圖之刀鋒型伺服器,用以支援依據QPI協定的一來源偵測的傳訊操作的一訊息流圖。
Claims (22)
- 一種用以實施一快速路徑互連(QPI)協定之系統,其包含:複數處理器,每一者具有一區域快取記憶體且可操作地耦合至具有用於該系統的共享記憶體之一部分的一各別的記憶體庫(memory store);及快速周邊組件互連(PCIe)互連及介面電路,可操作地耦合該等處理器中的至少二者,該PCIe互連及介面電路包括:用以實施包括一PCIe實體層(PHY)邏輯子層及一PCIe PHY電氣子層的一PCIe PHY之電路及邏輯;用以實施用於在該PCIe PHY上之該QPI協定之一協定層、路由層及鏈路層之邏輯;用以實施在該QPI鏈路層及該PCIe PHY邏輯子層之間的一介面之邏輯,在該介面下,該QPI鏈路層介面包含一160位元(160b)介面且該PCIe PHY邏輯子層介面包含一128位元(128b)介面;一傳輸埠,其包括用以對介面資料實施一160b對128b轉換之邏輯,該介面資料要被經由該PCIe PHY自該QPI鏈路層介面傳輸至該PCIe PHY邏輯子層介面;以及一接收埠,其包括用以對介面資料實施一128b對160b轉換之邏輯,該介面資料於該接收埠經由該PCIe PHY自該PCIe PHY邏輯子層介面至該QPI鏈路層介面而被接收,其中該至少二處理器被配置成使用透過PCIe互連 及介面電路所傳送的對應QPI傳訊來實施該QPI協定以支援該系統中的同調記憶體交易。
- 如申請專利範圍第1項之系統,其中該系統包含具有複數刀鋒的一刀鋒型伺服器,該刀鋒型伺服器包括被配置成經由一對應的底板或邊緣連接器而通信耦合刀鋒組件的PCIe互連及介面電路,且該系統係經組配以通過該PCIe互連及介面電路來致能在分開之刀鋒上的處理器之間的QPI訊息。
- 如申請專利範圍第1項之系統,其中該等處理器被配置成與經由使用透過該PCIe互連及介面電路傳送的QPI傳訊而執行一同調記憶體交易共同地實施一本地偵測及來源偵測中的至少一者。
- 一種用以實施一快速路徑互連(QPI)協定之方法,其包含:利用一協定層、路由層及鏈路層來實施在一傳輸埠與一接收埠之間的一鏈路,其用於在包含快速周邊組件互連(PCIe)互連及介面電路的一PCIe實體層(PHY)上之該QPI協定,其中該PCIe PHY包括一PCIe PHY邏輯子層及一PCIe PHY電氣子層;實施在該QPI鏈路層與該PCIe PHY邏輯子層之間的一介面,在該介面下,該QPI鏈路層介面包含一160位元(160b)介面且該PCIe PHY邏輯子層介面包含一128位元(128b)介面;當自該PCIe PHY邏輯子層介面將資料介接至該 QPI鏈路層介面時執行一128b對160b轉換;當自該QPI鏈路層介面將資料介接至該PCIe PHY邏輯子層介面時執行一160b對128b轉換;以及於傳輸埠使用該160b對128b轉換且於接收埠使用該128b對160b轉換來通過該互連鏈路自該傳輸埠將QPI資料區塊傳輸至該接收埠。
- 如申請專利範圍第4項之方法,其進一步包含:在鏈路調訓期間,使用用於該PCIe PHY之8位元/10位元(8b/10b)編碼而初始地運作該鏈路;將該鏈路之操作自8b/10b編碼切換至用於該PCIe PHY之一128b/130b編碼;校驗該等傳輸埠與接收埠係準備以傳送資料;以及使用128b編碼來通過該PCIe PHY傳送QPI資料區塊。
- 如申請專利範圍第5項之方法,其中校驗該接收埠係準備以傳送資料包含:在該PCIe PHY邏輯子層介面接收來自該QPI鏈路層介面之一鏈路接收器準備信號,其指示該QPI鏈路層係準備以接收資料;以及將一PHY接收器準備信號自該PCIe PHY邏輯子層介面發送至該QPI鏈路層介面,該PHY接收器準備信號指示該PCIe PHY係準備以開始接收資料。
- 如申請專利範圍第5項之方法,其中校驗該傳輸埠係準備以傳送資料包含: 將一PHY發射器準備信號自該PCIe PHY邏輯子層介面發送至該QPI鏈路層介面,該PHY發射器準備信號指示該PCIe PHY係準備以開始資料之傳輸;以及在該PCIe PHY邏輯子層介面接收來自該QPI鏈路層介面之一鏈路傳輸準備信號,其指示該QPI鏈路層係準備以開始資料之傳輸。
- 如申請專利範圍第5項之方法,其進一步包含在於該鏈路上的QPI資料區塊之傳送期間,除了不利用由該PCIe規格所界定之實體層成框,依據一PCIe規格運作該PCIe PHY。
- 如申請專利範圍第4項之方法,其中該互連鏈路包含具有耦合在該傳輸埠與該接收埠之間的複數個信道之一多重信道鏈路,該方法進一步包含通過具有用於奇信道及偶信道之不同的同步標頭位元之該鏈路傳送QPI資料區塊。
- 如申請專利範圍第4項之方法,其中該160b編碼包括CRC(循環冗餘檢查)位元及資訊位元,且該等CRC及資訊位元之位置被選擇成確保叢發長度錯誤被檢測到,其包括隨機的單、雙及三位元錯誤。
- 如申請專利範圍第4項之方法,其中資料係使用數據片於該QPI鏈路層被傳送,該等數據片亦即流控制單元(flow control units),且其中在所傳輸之該等QPI資料區塊的一部分中之數據片跨兩個QPI資料區塊。
- 如申請專利範圍第4項之方法,其進一步包含於該QPI鏈路層及該PCIe PHY邏輯子層中之各者利用一8單位區 間(UI)時脈域。
- 一種用以實施一快速路徑互連(QPI)協定之設備,其包含:一PCIe實體層(PHY)介面,其包括電路及邏輯用以實施包括一PCIe PHY邏輯子層及一PCIe PHY電氣子層之一PCIe PHY;用以實施一協定層、路由層及鏈路層之邏輯,其用於在該PCIe PHY上之該QPI協定;用以實施在該QPI鏈路層及該PCIe PHY邏輯子層之間的一介面之邏輯,在該介面下,該QPI鏈路層介面包含一160位元(160b)介面且該PCIe PHY邏輯子層介面包含一128位元(128b)介面;一傳輸埠,其包括用以對介面資料實施一160b對128b轉換之邏輯,該介面資料要被經由該PCIe PHY自該QPI鏈路層介面傳輸至該PCIe PHY邏輯子層介面;以及一接收埠,其包括用以對介面資料實施一128b對160b轉換之邏輯,該介面資料於該接收埠經由該PCIe PHY自該PCIe PHY邏輯子層介面至該QPI鏈路層介面而被接收。
- 如申請專利範圍第13項之設備,其中該設備包含一第一鏈路介面,該第一鏈路介面係經組配以經由一互連鏈路被連接至一第二鏈路介面,且其中該設備進一步包含邏輯以:在鏈路調訓期間,使用8位元/10位元(8b/10b)編碼初始地運作該PCIe PHY;將用於該PCIe PHY之該編碼自8b/10b切換至 128b/130b編碼;校驗該傳輸埠係準備以傳輸資料;校驗該接收埠係準備以接收資料;使用128b編碼來通過該PCIe PHY自該傳輸埠向外傳輸QPI資料區塊;以及使用128b編碼來經由該PCI PHY於該接收埠接收QPI資料區塊。
- 如申請專利範圍第14項之設備,其中該用以校驗該傳輸埠係準備以傳送資料之邏輯包含邏輯以:將一PHY發射器準備信號自該PCIe PHY邏輯子層介面發送至該QPI鏈路層介面;以及將一鏈路傳輸準備信號自該QPI鏈路層介面發送至該PCIe PHY邏輯子層介面,該鏈路傳輸準備信號指示該QPI鏈路層係準備以開始資料之傳輸。
- 如申請專利範圍第14項之設備,其中該用以校驗該接收埠係準備以接收資料之邏輯包含邏輯以:將一鏈路接收器準備信號自該QPI鏈路層介面發送至該PCIe PHY邏輯子層介面,該鏈路接收器準備信號指示該QPI鏈路層係準備以接收資料;以及將一PHY接收器準備信號自該PCIe PHY邏輯子層介面發送至該QPI鏈路層介面,該PHY接收器準備信號指示該PCIe PHY係準備以開始接收來自該PCIe PHY介面之資料。
- 如申請專利範圍第13項之設備,其進一步包含用以在 QPI資料區塊之傳送及接收期間,除了不利用由該PCIe規格所界定之實體層成框,依據一PCIe規格運作該PCIe PHY之邏輯。
- 如申請專利範圍第13項之設備,其中該PCIe PHY介面係經組配以經由具有複數個信道之個別的多重信道鏈路來傳輸及接收資料,該等複數個信道包括用以被耦合至該傳輸埠及該接收埠之奇及偶信道,且其中該設備進一步包含用以傳輸及接收具有用於奇信道及偶信道之不同的同步標頭位元之QPI資料區塊的邏輯。
- 如申請專利範圍第13項之設備,其中該QPI鏈路層利用包括CRC(循環冗餘檢查)位元及資訊位元之160b編碼,且該等CRC及資訊位元之位置被選擇成確保叢發長度錯誤被檢測到,其包括隨機的單、雙及三位元錯誤。
- 如申請專利範圍第13項之設備,其中資料係使用數據片於該QPI鏈路層被傳送,該等數據片亦即流控制單元,且其中在所傳輸之該等QPI資料區塊的一部分中之數據片跨兩個QPI資料區塊。
- 如申請專利範圍第13項之設備,其進一步包含用以於該QPI鏈路層使用一第一8單位區間(UI)時脈域且於該PCIe PHY邏輯子層使用一第二8UI時脈域來傳輸QPI區塊之邏輯。
- 如申請專利範圍第21項之設備,其進一步包含用以實施一PCIe鏈路層且於該PCIe鏈路層通過一16 UI時脈域傳輸PCIe資料之邏輯。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/889,777 US8751714B2 (en) | 2010-09-24 | 2010-09-24 | Implementing quickpath interconnect protocol over a PCIe interface |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201220064A TW201220064A (en) | 2012-05-16 |
TWI587146B true TWI587146B (zh) | 2017-06-11 |
Family
ID=45871817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW100134350A TWI587146B (zh) | 2010-09-24 | 2011-09-23 | 於PCIe介面實施快速路徑互連協定之技術 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8751714B2 (zh) |
CN (1) | CN103119908B (zh) |
BR (1) | BR112013006259A2 (zh) |
DE (1) | DE112011103207T5 (zh) |
TW (1) | TWI587146B (zh) |
WO (1) | WO2012040648A2 (zh) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8751714B2 (en) | 2010-09-24 | 2014-06-10 | Intel Corporation | Implementing quickpath interconnect protocol over a PCIe interface |
CN102301364B (zh) * | 2011-06-27 | 2013-01-02 | 华为技术有限公司 | Cpu互联装置 |
US8437343B1 (en) * | 2012-05-22 | 2013-05-07 | Intel Corporation | Optimized link training and management mechanism |
US9043526B2 (en) * | 2012-06-20 | 2015-05-26 | International Business Machines Corporation | Versatile lane configuration using a PCIe PIe-8 interface |
MY169964A (en) | 2012-06-29 | 2019-06-19 | Intel Corp | An architected protocol for changing link operating mode |
CN103180817B (zh) * | 2012-07-02 | 2015-09-30 | 杭州华为数字技术有限公司 | 存储扩展装置及服务器 |
US9280507B2 (en) | 2012-10-22 | 2016-03-08 | Intel Corporation | High performance interconnect physical layer |
CN107045479B (zh) | 2012-10-22 | 2020-09-01 | 英特尔公司 | 高性能互连物理层 |
US9355058B2 (en) | 2012-10-22 | 2016-05-31 | Intel Corporation | High performance interconnect physical layer |
US9507746B2 (en) | 2012-10-22 | 2016-11-29 | Intel Corporation | Control messaging in multislot link layer flit |
US9244872B2 (en) * | 2012-12-21 | 2016-01-26 | Ati Technologies Ulc | Configurable communications controller |
TWI506443B (zh) * | 2012-12-27 | 2015-11-01 | Mediatek Inc | 處理器與週邊裝置之間的媒介週邊介面及其通信方法 |
US20140281071A1 (en) * | 2013-03-15 | 2014-09-18 | Jianping Jane Xu | Optical memory extension architecture |
CN105229621B (zh) | 2013-05-16 | 2018-08-28 | 慧与发展有限责任合伙企业 | 多模式代理器 |
CN103546386A (zh) * | 2013-10-24 | 2014-01-29 | 迈普通信技术股份有限公司 | 路由器中数据报文发送的流控方法及系统 |
KR101541349B1 (ko) * | 2013-11-19 | 2015-08-05 | 주식회사 윈스 | 고성능 네트워크 장비의 패킷 전달 시스템 및 그 전달 방법 |
US9325449B2 (en) | 2013-12-06 | 2016-04-26 | Intel Corporation | Lane error detection and lane removal mechanism to reduce the probability of data corruption |
US9306863B2 (en) * | 2013-12-06 | 2016-04-05 | Intel Corporation | Link transfer, bit error detection and link retry using flit bundles asynchronous to link fabric packets |
US9397792B2 (en) | 2013-12-06 | 2016-07-19 | Intel Corporation | Efficient link layer retry protocol utilizing implicit acknowledgements |
KR101925694B1 (ko) | 2013-12-26 | 2018-12-05 | 인텔 코포레이션 | 멀티칩 패키지 링크 |
DE112013007724B4 (de) * | 2013-12-26 | 2024-01-11 | Intel Corporation | System, vorrichtung und verfahren zur gemeinsamen benutzung von speicher und i/o-diensten zwischen knoten |
US9628382B2 (en) | 2014-02-05 | 2017-04-18 | Intel Corporation | Reliable transport of ethernet packet data with wire-speed and packet data rate match |
US9710406B2 (en) | 2014-12-15 | 2017-07-18 | Intel Corporation | Data transmission using PCIe protocol via USB port |
US9921768B2 (en) * | 2014-12-18 | 2018-03-20 | Intel Corporation | Low power entry in a shared memory link |
US9785556B2 (en) * | 2014-12-23 | 2017-10-10 | Intel Corporation | Cross-die interface snoop or global observation message ordering |
US9779053B2 (en) * | 2014-12-23 | 2017-10-03 | Intel Corporation | Physical interface for a serial interconnect |
CN104615564A (zh) * | 2015-02-05 | 2015-05-13 | 浪潮电子信息产业股份有限公司 | 一种基于qpi总线的数据传输方法及计算机系统 |
US9940287B2 (en) * | 2015-03-27 | 2018-04-10 | Intel Corporation | Pooled memory address translation |
ES2757673T3 (es) | 2015-07-22 | 2020-04-29 | Huawei Tech Co Ltd | Dispositivo informático y método para escribir/leer datos para el dispositivo informático |
US9858161B2 (en) * | 2015-10-27 | 2018-01-02 | International Business Machines Corporation | Implementing cable failover in multiple cable PCI express IO interconnections |
CN107209725A (zh) * | 2015-12-17 | 2017-09-26 | 华为技术有限公司 | 处理写请求的方法、处理器和计算机 |
CN105389288A (zh) * | 2015-12-30 | 2016-03-09 | 山东海量信息技术研究院 | 一种支持多分区计算机系统中的数据交互方法 |
CN106055436A (zh) * | 2016-05-19 | 2016-10-26 | 浪潮电子信息产业股份有限公司 | 一种测试QPI data lane Degrade功能的方法 |
US10390114B2 (en) * | 2016-07-22 | 2019-08-20 | Intel Corporation | Memory sharing for physical accelerator resources in a data center |
TWI616754B (zh) * | 2016-07-29 | 2018-03-01 | 百利通亞陶科技股份有限公司 | 快捷外設互聯標準(PCIe)資料交換裝置及傳輸系統 |
US10846258B2 (en) * | 2016-09-30 | 2020-11-24 | Intel Corporation | Voltage modulated control lane |
KR20180044095A (ko) | 2016-10-21 | 2018-05-02 | 삼성전자주식회사 | 전자 시스템 및 그것의 동작 방법 |
US10509759B2 (en) | 2017-03-31 | 2019-12-17 | Intel Corporation | Multiple storage devices implemented using a common connector |
CN109669897B (zh) * | 2017-10-13 | 2023-11-17 | 华为技术有限公司 | 数据传输方法和装置 |
CN108268413A (zh) * | 2018-02-28 | 2018-07-10 | 郑州云海信息技术有限公司 | 扩展pcie接口数量的系统、方法、服务器及整机系统 |
US10601425B2 (en) * | 2018-05-30 | 2020-03-24 | Intel Corporation | Width and frequency conversion with PHY layer devices in PCI-express |
US11467999B2 (en) | 2018-06-29 | 2022-10-11 | Intel Corporation | Negotiating asymmetric link widths dynamically in a multi-lane link |
US11563639B1 (en) * | 2018-07-02 | 2023-01-24 | Xilinx, Inc. | Logical transport overlayed over a physical transport having a tree topology |
US10846247B2 (en) | 2019-03-05 | 2020-11-24 | Intel Corporation | Controlling partial link width states for multilane links |
US11444829B2 (en) * | 2019-09-09 | 2022-09-13 | Intel Corporation | Link layer communication by multiple link layer encodings for computer buses |
US11836101B2 (en) | 2019-11-27 | 2023-12-05 | Intel Corporation | Partial link width states for bidirectional multilane links |
US11132321B2 (en) * | 2020-02-26 | 2021-09-28 | Quanta Computer Inc. | Method and system for automatic bifurcation of PCIe in BIOS |
US11360906B2 (en) * | 2020-08-14 | 2022-06-14 | Alibaba Group Holding Limited | Inter-device processing system with cache coherency |
CN113886304B (zh) * | 2021-09-06 | 2024-06-18 | 山东浪潮科学研究院有限公司 | 一种PXIe的测控背板 |
CN115374046B (zh) * | 2022-10-21 | 2023-03-14 | 山东云海国创云计算装备产业创新中心有限公司 | 一种多处理器数据交互方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7096305B2 (en) * | 2003-05-15 | 2006-08-22 | Broadcom Corporation | Peripheral bus switch having virtual peripheral bus and configurable host bridge |
US7174430B1 (en) * | 2004-07-13 | 2007-02-06 | Sun Microsystems, Inc. | Bandwidth reduction technique using cache-to-cache transfer prediction in a snooping-based cache-coherent cluster of multiprocessing nodes |
CN101382880A (zh) * | 2007-09-06 | 2009-03-11 | 戴尔产品有限公司 | 用于操作多个监视器的信息处理系统的系统和方法 |
US7522633B2 (en) * | 2002-12-25 | 2009-04-21 | Nec Corporation | Transmission system for efficient transmission of protocol data |
TW200935303A (en) * | 2007-12-10 | 2009-08-16 | Strandera Corp | Strand-based computing hardware and dynamically optimizing strandware for a high performance microprocessor system |
US20090304002A1 (en) * | 2008-06-09 | 2009-12-10 | Yu James J | System for sharing a network port of a network interface including a link for connection to another shared network interface |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7062610B2 (en) * | 2002-09-30 | 2006-06-13 | Advanced Micro Devices, Inc. | Method and apparatus for reducing overhead in a data processing system with a cache |
US7783842B2 (en) * | 2003-01-09 | 2010-08-24 | International Business Machines Corporation | Cache coherent I/O communication |
US7155572B2 (en) * | 2003-01-27 | 2006-12-26 | Advanced Micro Devices, Inc. | Method and apparatus for injecting write data into a cache |
US7644239B2 (en) * | 2004-05-03 | 2010-01-05 | Microsoft Corporation | Non-volatile memory cache performance improvement |
US7617363B2 (en) * | 2005-09-26 | 2009-11-10 | Intel Corporation | Low latency message passing mechanism |
DE112006003917T5 (de) * | 2006-05-30 | 2009-06-04 | Intel Corporation, Santa Clara | Verfahren, Gerät und System angewendet in einem Cachespeicher-Kohärenzprotokoll |
US8082418B2 (en) | 2007-12-17 | 2011-12-20 | Intel Corporation | Method and apparatus for coherent device initialization and access |
US8151081B2 (en) | 2007-12-20 | 2012-04-03 | Intel Corporation | Method, system and apparatus for memory address mapping for sub-socket partitioning |
US20090171647A1 (en) | 2007-12-27 | 2009-07-02 | Phanindra Mannava | Interconnect architectural state coverage measurement methodology |
US8078862B2 (en) * | 2008-04-25 | 2011-12-13 | Intel Corporation | Method for assigning physical data address range in multiprocessor system |
US8131944B2 (en) * | 2008-05-30 | 2012-03-06 | Intel Corporation | Using criticality information to route cache coherency communications |
US20090327564A1 (en) | 2008-06-30 | 2009-12-31 | Nagabhushan Chitlur | Method and apparatus of implementing control and status registers using coherent system memory |
US8234458B2 (en) * | 2008-12-09 | 2012-07-31 | Nvidia Corporation | System and method for maintaining cache coherency across a serial interface bus using a snoop request and complete message |
US8294591B2 (en) * | 2009-03-30 | 2012-10-23 | Schlumberger Technology Corporation | Digital signal processing receivers, systems and methods for identifying decoded signals |
US8180981B2 (en) * | 2009-05-15 | 2012-05-15 | Oracle America, Inc. | Cache coherent support for flash in a memory hierarchy |
US8085801B2 (en) * | 2009-08-08 | 2011-12-27 | Hewlett-Packard Development Company, L.P. | Resource arbitration |
US8291175B2 (en) * | 2009-10-16 | 2012-10-16 | Oracle America, Inc. | Processor-bus attached flash main-memory module |
US8751714B2 (en) | 2010-09-24 | 2014-06-10 | Intel Corporation | Implementing quickpath interconnect protocol over a PCIe interface |
-
2010
- 2010-09-24 US US12/889,777 patent/US8751714B2/en not_active Expired - Fee Related
-
2011
- 2011-09-23 DE DE112011103207T patent/DE112011103207T5/de active Pending
- 2011-09-23 WO PCT/US2011/053128 patent/WO2012040648A2/en active Application Filing
- 2011-09-23 CN CN201180045925.2A patent/CN103119908B/zh active Active
- 2011-09-23 BR BR112013006259A patent/BR112013006259A2/pt not_active IP Right Cessation
- 2011-09-23 TW TW100134350A patent/TWI587146B/zh active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7522633B2 (en) * | 2002-12-25 | 2009-04-21 | Nec Corporation | Transmission system for efficient transmission of protocol data |
US7096305B2 (en) * | 2003-05-15 | 2006-08-22 | Broadcom Corporation | Peripheral bus switch having virtual peripheral bus and configurable host bridge |
US7174430B1 (en) * | 2004-07-13 | 2007-02-06 | Sun Microsystems, Inc. | Bandwidth reduction technique using cache-to-cache transfer prediction in a snooping-based cache-coherent cluster of multiprocessing nodes |
CN101382880A (zh) * | 2007-09-06 | 2009-03-11 | 戴尔产品有限公司 | 用于操作多个监视器的信息处理系统的系统和方法 |
TW200935303A (en) * | 2007-12-10 | 2009-08-16 | Strandera Corp | Strand-based computing hardware and dynamically optimizing strandware for a high performance microprocessor system |
US20090304002A1 (en) * | 2008-06-09 | 2009-12-10 | Yu James J | System for sharing a network port of a network interface including a link for connection to another shared network interface |
Non-Patent Citations (1)
Title |
---|
An Introduction to the Intel® QuickPath Interconnect,January 2009 * |
Also Published As
Publication number | Publication date |
---|---|
CN103119908A (zh) | 2013-05-22 |
CN103119908B (zh) | 2015-10-21 |
WO2012040648A3 (en) | 2012-06-28 |
US8751714B2 (en) | 2014-06-10 |
TW201220064A (en) | 2012-05-16 |
US20120079156A1 (en) | 2012-03-29 |
BR112013006259A2 (pt) | 2019-09-24 |
DE112011103207T5 (de) | 2013-08-14 |
WO2012040648A2 (en) | 2012-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI587146B (zh) | 於PCIe介面實施快速路徑互連協定之技術 | |
US10503688B2 (en) | Multiple transaction data flow control unit for high-speed interconnect | |
US11755486B2 (en) | Shared buffered memory routing | |
US20210109879A1 (en) | Pooled memory address translation | |
EP3274861B1 (en) | Reliability, availability, and serviceability in multi-node systems with disaggregated memory | |
US9189441B2 (en) | Dual casting PCIE inbound writes to memory and peer devices | |
US11366773B2 (en) | High bandwidth link layer for coherent messages | |
US9424214B2 (en) | Network interface controller with direct connection to host memory | |
US9208110B2 (en) | Raw memory transaction support | |
US10235327B2 (en) | Digital interconnects with protocol-agnostic repeaters | |
US20210119730A1 (en) | Forward error correction and cyclic redundancy check mechanisms for latency-critical coherency and memory interconnects | |
US20150269104A1 (en) | Ring protocol for low latency interconnect switch | |
KR20040041644A (ko) | 향상된 범용 입력/출력 아키텍쳐에서의 에러 포워딩 | |
US9910807B2 (en) | Ring protocol for low latency interconnect switch | |
Jiang | Investigation of Die-to-Die Adapter Reliability in UCIe for Improved Architectures for AI Applications |