TWI566088B - 標頭同位錯誤處置技術 - Google Patents
標頭同位錯誤處置技術 Download PDFInfo
- Publication number
- TWI566088B TWI566088B TW104133551A TW104133551A TWI566088B TW I566088 B TWI566088 B TW I566088B TW 104133551 A TW104133551 A TW 104133551A TW 104133551 A TW104133551 A TW 104133551A TW I566088 B TWI566088 B TW I566088B
- Authority
- TW
- Taiwan
- Prior art keywords
- header
- error
- data
- fields
- queue
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
-
- 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/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
-
- 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/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
- H04L1/0063—Single parity check
-
- 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/0078—Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
- H04L1/0079—Formats for control data
- H04L1/0082—Formats for control data fields explicitly indicating existence of error in data being transmitted, e.g. so that downstream stations can avoid decoding erroneous packet; relays
-
- 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/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
-
- 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
- H04L2001/0092—Error control systems characterised by the topology of the transmission link
- H04L2001/0094—Bus
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Systems (AREA)
- Detection And Correction Of Errors (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
Description
本發明係關於計算系統,且詳言之係關於(但非排他地)錯誤處置技術。
半導體處理及邏輯設計上的進步已准許可存在於積體電路裝置上的邏輯數量的增加。作為推論,電腦系統組配已自系統中的單一或多個積體電路演進至存在於個別積體電路上的多個核心、多個硬體執行緒及多個邏輯處理器以及整合於此等處理器內的其他介面。處理器或積體電路通常包含單一實體處理器晶粒,其中處理器晶粒可包括任何數目個核心、硬體執行緒、邏輯處理器、介面、記憶體、控制器集線器等。
由於使更大處理能力適配於較小封裝的更大能力,較小計算裝置風行性已增加。智慧型電話、平板電腦、超薄筆記型電腦及其他使用者裝備已按指數規律成長。然而,此等較小裝置對於資料儲存及超出外觀尺寸的複雜處理兩者為依賴伺服器。因此,高效能計算市場(亦即,伺服
器空間)上的需求亦已增加。舉例而言,在現代伺服器中,通常不僅存在具有多個核心的單一處理器,而且存在多個實體處理器(亦被稱作多個插口)來增加計算能力。但隨著處理能力與計算系統中的裝置數目一起增加,插口與其他裝置之間的通訊變得更關鍵。
實際上,互連件已自主要處置電通訊的更傳統多接頭匯流排成長為促進快速通訊的成熟互連架構。不利的是,隨著對在甚至較高速率下進行消耗之將來處理器的需求增加,對現有互連架構的能力提出對應需求。
依據本發明之一實施例,係特地提出一種設備,其包含:一同位錯誤偵測器,其用以偵測一標頭中的一同位錯誤,其中該標頭係在多個佇列中的一特定佇列中,該標頭係包括多個欄位,且該等佇列中的每一者係用以對應於一各別交易類型;一標頭製作器,其用以針對該等多個欄位中之一或多者產生經製作之標頭資料,其中該經製作之標頭資料係用以指示該同位錯誤並取代該等多個欄位中之一或多者的資料;以及一錯誤處置器,其用以基於該同位錯誤進入一錯誤遏制模式。
100、500‧‧‧系統
223‧‧‧訊框
105‧‧‧處理器
300‧‧‧交易描述符
106‧‧‧前端匯流排(FSB)
302‧‧‧全域識別符欄位
110‧‧‧系統記憶體
304‧‧‧屬性欄位
115‧‧‧控制器集線器
306‧‧‧通道識別符欄位
116‧‧‧記憶體介面
308‧‧‧本地交易識別符欄位
117、121‧‧‧介面/埠//輸入/輸出模組
310‧‧‧源識別符欄位
312‧‧‧優先權欄位/優先權子欄位
118‧‧‧介面//I/O模組
314‧‧‧預留欄位
119、132‧‧‧串列鏈結
316‧‧‧定序欄位
120‧‧‧開關/橋
318‧‧‧非窺探欄位
122、1196‧‧‧介面
406/411‧‧‧傳輸對
130‧‧‧圖形加速器
412/407‧‧‧接收對
131‧‧‧I/O模組
405、410、730a‧‧‧裝置
200‧‧‧分層協定堆疊
406‧‧‧傳輸邏輯
205‧‧‧交易層/轉譯層
407‧‧‧接收邏輯
206‧‧‧標頭/酬載
415‧‧‧鏈結
210‧‧‧鏈結層
505、510、515、610、615、1114‧‧‧I/O裝置
211‧‧‧封包序列識別符
212‧‧‧錯誤偵測碼(CRC)
520‧‧‧互連件
220‧‧‧實體層
525、530、535‧‧‧訪客驅動器/裝置驅動器
221‧‧‧邏輯子區塊
222‧‧‧電氣子區塊
540、545、550‧‧‧虛擬機器
555‧‧‧虛擬機器管理器(VMM)
910‧‧‧自主信用處置
560‧‧‧位址轉譯層
915‧‧‧設定
600‧‧‧計算環境
920‧‧‧彈出請求的處置
605‧‧‧根複合體
925‧‧‧處置
620‧‧‧交換器
1005‧‧‧偵測
625‧‧‧CPU
1010‧‧‧製作
630‧‧‧相關記憶體元件
1015‧‧‧進入
635‧‧‧同位產生邏輯
1100‧‧‧計算系統
640‧‧‧同位檢查邏輯
1116‧‧‧第一匯流排
640a、640b‧‧‧同位檢查
1118‧‧‧匯流排橋
645、645a、645b‧‧‧標頭製作邏輯
1120‧‧‧第二匯流排
650‧‧‧標頭傳送邏輯
1122‧‧‧鍵盤及/或滑鼠
655、655a、655b‧‧‧無限佇列邏輯
1124‧‧‧音訊I/O
660‧‧‧位址轉譯邏輯
1127‧‧‧通訊裝置
665‧‧‧仲裁及控制邏輯
1128‧‧‧儲存單元
670‧‧‧錯誤報告邏輯
1130‧‧‧指令/程式碼及資料
680‧‧‧入埠佇列
1132、1134‧‧‧記憶體
685‧‧‧出埠佇列
1138‧‧‧高效能圖形電路
705、715‧‧‧先入先出(FIFO)輸入佇列
1139‧‧‧高效能圖形互連件
1150‧‧‧點對點互連件
710、720‧‧‧輸出佇列
1170‧‧‧第一處理器
740‧‧‧埠或系統代理
1172、1182‧‧‧整合記憶體控制器單元
900、1000‧‧‧流程圖
905‧‧‧清除(或重置)
1152、1154、1176、1178、1186、1188、1194、1198‧‧‧點對點(P-P)介面
1180‧‧‧第二處理器
1190‧‧‧晶片組
1192‧‧‧介面電路
圖1說明包括互連架構之計算系統的實施例。
圖2說明包括分層堆疊之互連架構的實施例。
圖3說明封包待於互連架構內產生或接收的實施例。
圖4說明互連架構之傳輸器及接收器對的實施例。
圖5說明虛擬化系統的實施例。
圖6為根部複合體的簡化方塊圖。
圖7為表示根據至少一實施例的標頭同位錯誤之處置的方塊圖。
圖8為實例封包標頭之方塊圖。
圖9為說明錯誤遏制模式的簡化流程圖。
圖10為表示用於處置標頭同位錯誤之一或多種技術的簡化流程圖。
圖11說明包括多個處理器之計算系統的方塊之實施例。
各種圖式中之相同參考數字及名稱指示相同元件。
在以下描述中,闡述眾多特定細節,諸如以下各者之實例以便提供對本發明之透徹理解:特定類型之處理器及系統組配、特定硬體結構、特定架構及微架構細節、特定暫存器組配、特定指令類型、特定系統組件、特定量測結果/高度、特定處理器管線級及操作等。然而,對於熟習此項技術者將顯而易見的是,此等特定細節不必用以實踐本發明。在其他例項中,諸如以下各者之熟知組件或方法已予以了詳細描述以便避免使本發明不必要地混淆:特
定及替代性處理器架構、針對所描述演算法之特定邏輯電路/程式碼、特定韌體程式碼、特定互連操作、特定邏輯組配、特定製造技術及材料、特定編譯程式實施、演算法以程式碼的特定表達、特定斷電及閘控技術/邏輯,以及電腦系統的其他特定操作細節。
儘管可能參考特定積體電路中(諸如,計算平台或微處理器中)之能量節省及能量效率描述以下實施例,但其他實施例適用於其他類型之積體電路及邏輯裝置。本文所描述之實施例之類似技術及教示可適用於亦可受益於較好能量效率及能量節省的其他類型之電路或半導體裝置。舉例而言,所揭示實施例不限於桌上型電腦系統或UltrabooksTM。且所揭示實施例亦可用於其他裝置中,諸如手持型裝置、平板電腦、其他精簡型筆記型電腦、系統單晶片(SOC)裝置及嵌入式應用。手持型裝置之一些實例包括蜂巢式電話、網際網路協定裝置、數位攝影機、個人數位助理(PDA)及手持型PC。嵌入式應用通常包括微控制器、數位信號處理器(DSP)、系統單晶片、網路電腦(NetPC)、機上盒、網路集線器、廣域網路(WAN)交換器,或可執行下文所教示之功能及操作之任何其他系統。此外,本文中所描述之設備、方法以及系統不限於實體計算裝置,但亦可係關於能量節省及效率的軟體最佳化。如在以下描述中將易於變得顯而易見的是,本文所描述之方法、設備及系統之實施例(不論參考硬體、韌體、軟體抑或其組合)對於未來與效能考量平衡之「綠色技術」為至關重要的。
隨著計算系統進步,計算系統中之組件變得愈來愈複雜。因此,用以在該等組件之間耦接及通訊之互連架構的複雜性亦增加,以確保對於最佳組件操作滿足頻寬要求。此外,不同市場區隔要求互連架構之不同態樣以適合市場之需求。舉例而言,伺服器需要較高效能,而行動生態系統有時能夠犧牲總體效能以實現電力節約。又,提供最高可能效能與最大功率節約為大部分網狀架構之非凡目的。下文中,論述多個互連件,該等互連件將可能受益於本文中所描述的本發明之態樣。
一個互連網狀架構包括周邊組件互連(PCI)高速(PCIe)架構。PCIe之目標為使得來自不同供應商之組件及裝置能夠在開放式架構中互操作,從而跨越多個市場區隔;用戶端(桌上型及行動型)、伺服器(標準及企業)以及嵌入式及通訊裝置。PCI高速為針對廣泛之多種將來計算及通訊平台定義的高效能之通用I/O互連件。諸如其使用模型、載入儲存架構及軟體介面的一些PCI屬性已經由其修訂版得以保持,而先前並行匯流排實施已由高度可調式之完全串列介面來取代。PCI高速之最近版本利用點對點互連、基於開關之技術及封包化協定的進步來遞送新效能水準及特徵。電力管理、服務品質(QoS)、熱插拔/熱交換支援、資料完整性以及錯誤處置為由PCI高速支援之高階特徵中的一些。
參看圖1,說明由互連一組組件之點對點鏈結構成之網狀架構的實施例。系統100包括耦接至控制器集線器115之處理器105及系統記憶體110。處理器105包括任何處
理元件,諸如微處理器、主機處理器、嵌入式處理器、共處理器或其他處理器。處理器105經由前端匯流排(FSB)106耦接至諸如根集線器或根複合體的控制器集線器115。在一個實施例中,FSB 106為如下文所描述的串列點對點互連件。在另一實施例中,鏈結106包括與不同互連件標準相容的串列差分互連架構。
系統記憶體110包括任何記憶體裝置,諸如隨機存取記憶體(RAM)、非依電性(NV)記憶體,或可由系統100中之裝置存取的其他記憶體。系統記憶體110經由記憶體介面116耦接至控制器集線器115。記憶體介面之實例包括雙資料速率(DDR)記憶體介面、雙通道DDR記憶體介面,及動態RAM(DRAM)記憶體介面。
在一個實施例中,控制器集線器115為周邊組件互連高速(PCIe或PCIE)互連階層中的根集線器、根複合體,或根控制器。控制器集線器115之實例包括晶片組、記憶體控制器集線器(MCH)、北橋、互連件控制器集線器(ICH)、南橋,及根控制器/集線器。常常,術語晶片組指兩個實體分離之控制器集線器,亦即,耦接至互連控制器集線器(ICH)的記憶體控制器集線器(MCH)。請注意,當前系統常常包括與處理器105整合的MCH,而控制器115以如下文所描述之類似方式與I/O裝置通訊。在一些實施例中,同級間路由視需要經由根複合體115支援。
此處,控制器集線器115經由串列鏈結119耦接至開關/橋120。亦可被稱作介面/埠117及121的輸入/輸出模組
117及121包括/實施分層協定堆疊以提供控制器集線器115與開關120之間的通訊。在一個實施例中,多個裝置能夠耦接至開關120。
開關/橋120將封包/訊息在上游(亦即,向上至朝向根複合體的階層)自裝置125路由至控制器集線器115且下游(亦即,向下至遠離根控制器的階層)自處理器105或系統記憶體110路由至裝置125。在一個實施例中,開關120被稱作多個虛擬PCI至PCI橋裝置的邏輯總成。裝置125包括待耦接至電子系統之任何內部或外部裝置或組件,諸如I/O裝置、網路介面控制器(NIC)、添加式卡、音訊處理器、網路處理器、硬碟機、儲存裝置、CD/DVD ROM、監視器、印表機、滑鼠、鍵盤、路由器、攜帶型儲存裝置、火線裝置、通用串列匯流排(USB)裝置、掃描儀,及其他輸入/輸出裝置。常常,在PCIe中,諸如裝置之俗名(vernacular)被稱作端點。儘管未具體展示,但裝置125可包括PCIe至PCI/PCI-X橋以支援舊版或其他版本PCI裝置。PCIe中之端點裝置常常分類為舊版、PCIe或根複合體整合式端點。
圖形加速器130亦經由串列鏈結132耦接至控制器集線器115。在一個實施例中,圖形加速器130耦接至MCH,該MCH耦接至ICH。開關120且因此I/O裝置125接著耦接至ICH。I/O模組131及118亦實施分層協定堆疊以在圖形加速器130與控制器集線器115之間通訊。類似於上文所論述之MCH,圖形控制器或圖形加速器130自身可整合於處理器105中。
轉至圖2,說明分層協定堆疊之實施例。分層協定堆疊200包括任何形式之分層通訊堆疊,諸如快速路徑互連(QPI)堆疊、PCIe堆疊、下一代高效能計算互連堆疊,或其他分層堆疊。儘管就在下文參看圖1至圖4進行的論述內容與PCIe堆疊相關,但相同概念可應用至其他互連堆疊。在一個實施例中,協定堆疊200係包括交易層205、鏈結層210及實體層220的PCIe協定堆疊。諸如圖1中之介面117、118、121、122、126及131的介面可表示為通訊協定堆疊200。作為通訊協定堆疊的表示亦可被稱作實施/包括協定堆疊的模組或介面。
PCI高速使用封包來在組件之間傳達資訊。封包形成於交易層205與資料鏈結層210中以將資訊自傳輸組件攜載至接收組件。由於所傳輸封包流過其他層,因此該等封包括展有在彼等層處處置封包必要的額外資訊。在接收側,反向程序發生,且封包自其實體層220之表示變換至資料鏈結層210的表示,且最終(對於交易層封包)變換至可由接收裝置之交易層205處理的形式。
在一個實施例中,交易層205提供裝置之處理核心與互連架構之間的介面,諸如資料鏈結層210與實體層220之間的介面。就此而言,交易層205之主要職責為組裝並拆開封包(亦即,交易層封包或TLP)。轉譯層205通常管理信用基礎流程控制用於TLP。PCIe實施分裂交易(亦即,具有由時間分離之請求及回應的交易),從而允許鏈結攜載
其他訊務同時目標裝置收集回應的資料。
此外,PCIe利用基於信用之流程控制。在此方案中,裝置公告交易層205中每一接收緩衝器的最初信用量。鏈結之相對末端處的外部裝置(諸如,圖1中的控制器集線器115)對由每一TLP消耗的信用數目進行計數。若交易並未超出信用限值,則可傳輸交易。在接收到回應之後,復原信用量。信用方案之優點為,信用回送之潛時並不影響效能,其限制條件為並未遭遇到信用限值。
在一個實施例中,四個交易位址空間包括組配位址空間、記憶體位址空間、輸入/輸出位址空間及訊息位址空間。記憶體空間交易包括讀取請求及寫入請求中之一或多者以傳送至/自經記憶體映射位置的資料。在一個實施例中,記憶體空間交易能夠使用兩種不同位址格式,例如,諸如32位元位址的短位址格式或諸如64位元位址的長位址格式。組配空間交易用以存取PCIe裝置的存取組配空間。對組配空間之交易包括讀取請求及寫入請求。訊息空間交易(或簡單地訊息)經定義以支援PCIe代理之間的頻帶內通訊。
因此,在一個實施例中,交易層205組裝封包標頭/酬載206。(例如)在圖8中說明實例標頭封包格式。其他實例封包標頭/酬載可基於各種協定規範諸如在PCIe規範網站處的PCIe規範中找到的標頭/酬載格式而格式化。
快速參看圖3,說明PCIe交易描述符之實施例。在一個實施例中,交易描述符300為用於攜載交易資訊的機
構。就此而言,交易描述符300支援系統中交易的識別。其他可能用途包括追蹤預設交易排序之修改,及交易與通道的關聯。
交易描述符300包括全域識別符欄位302、屬性欄位304及通道識別符欄位306。在所說明之實例中,全域識別符欄位302描繪為包含本地交易識別符欄位308及源識別符欄位310。在一個實施例中,全域交易識別符302對於所有突出請求為獨特的。
根據一個實施,本地交易識別符欄位308為藉由請求代理產生的欄位,且其對於要求該請求代理之完成的所有突出請求為獨特的。此外,在此實例中,源識別符310獨特地識別PCIe階層內的請求者代理。因此,與源ID 310一起,本地交易識別符308欄位提供階層域內交易的全域識別。
屬性欄位304指定交易的特性及關係。就此而言,屬性欄位304可能用以提供允許修改交易之預設處置之修改的額外資訊。在一個實施例中,屬性欄位304包括優先權欄位312、預留欄位314、定序欄位316及非窺探欄位318。此處,優先權子欄位312可藉由起始程序修改以指派優先權給交易。預留屬性欄位314保持預留以供將來使用或供應商定義的使用。使用優先權或安全性屬性的可能使用模型可使用預留屬性欄位來實施。
在此實例中,定序屬性欄位316用以供應輸送定序之類型的可選資訊,該定序類型可修改預設定序規則。
根據一個實例實施,為「0」之定序屬性指明將應用預設定序規則,其中為「1」之定序屬性指明經鬆弛定序,其中寫入可傳遞相同方向上的寫入,且讀取完成可傳遞相同方向上的寫入。窺探屬性欄位318用以判定交易是否被窺探。如圖所示,通道ID欄位306識別交易與之相關聯的通道。
亦稱作資料鏈結層210之鏈結層210充當交易層205與實體層220之間的中間級。在一個實施例中,資料鏈結層210之職責為提供用於經由鏈結在兩個組件之間交換交易層封包(TLP)的可靠機構。資料鏈結層210的一側接受由交易層205組裝的TLP,應用封包序列識別符211(亦即,識別編號或封包編號),計算並應用錯誤偵測碼(亦即,CRC 212),並將經修改TLP提交給實體層220從而越過實體傳輸至外部裝置。
在一個實施例中,實體層220包括邏輯子區塊221及電氣子區塊222以將封包實體傳輸至外部裝置。此處,邏輯子區塊221對實體層221之「數位」功能負責。就此而言,邏輯子區塊包括準備去話資訊以供實體子區塊222傳輸的傳輸區段,及在將接收到之資訊傳遞至鏈結層210之前識別並準備接收到之資訊的接收器區段。
實體區塊222包括傳輸器及接收器。由邏輯子區塊221向傳輸器供應符號,傳輸器使該等符號串列化並傳輸至外部裝置上。接收器自外部裝置被供應有串列化符號,
且將所接收信號變換成位元串流。位元串流經解串列層化並供應給邏輯子區塊221。在一個實施例中,使用8b/10b傳輸碼,在該8b/10b傳輸碼處傳輸/接收10位元符號。此處,特殊符號用以由訊框223向封包加訊框。此外,在一個實例中,接收器亦提供自傳入串列串流復原的符號時脈。
如上所陳述,儘管交易層205、鏈結層210及實體層220參看PCIe協定堆疊之特定實施例論述,但分層協定堆疊並不因此受限。實際上,可包括/實施任何分層協定。作為一實例,表示為分層協定的埠/介面包括:(1)組裝封包之第一層,亦即交易層;使封包排成序列的第二層,亦即鏈結層;以及傳輸封包之第三層,亦即,實體層。作為具體實例,利用共同標準介面(CSI)分層協定。
接著參看圖4,說明PCIe串列點對點網狀架構的實施例。儘管說明了PCIe串列點對點鏈結之實施例,但串列點對點鏈結並非如此受限,此是由於其包括用於傳輸串列資料的任何傳輸路徑。在所展示之實施例中,基本PCIe鏈結包括兩個低電壓差分驅動信號對:傳輸對406/411及接收對412/407。因此,裝置405包括傳輸邏輯406以傳輸資料至裝置410,且接收邏輯407自裝置410接收資料。換言之,兩個傳輸路徑(亦即,路徑416及417)以及兩個接收路徑(亦即,路徑418及419)包括於PCIe鏈結中。
傳輸路徑指用於傳輸資料的任何路徑,諸如傳輸線、銅線、光學線、無線通訊通道、紅外線通訊鏈結,或其他通訊路徑。兩個裝置諸如裝置405與裝置410之間的連
接被稱作鏈結,諸如鏈結415。鏈結可支援一個單工通道,每一單工通道表示一組差分信號對(一對信號用於傳輸,一對信號用於接收)。為了縮放頻寬,鏈結可聚集由xN指明的多個單工通道,其中N為任何所支援鏈結寬度,諸如1、2、4、8、12、16、32、64或更寬之鏈結寬度。
差分對指諸如線416及417的兩個傳輸路徑以傳輸差分信號。作為一實例,當線416自低電壓位準雙態觸發至高電壓位準(亦即,上升邊緣)時,線417自高邏輯位準驅動至低邏輯位準,亦即下降邊緣。差分信號可能證明更好電特性,諸如更好信號完整性(亦即,交叉耦合、電壓突增/下沖、響鈴等)。此情形允許更好的時序窗,其啟用更快之傳輸頻率。
計算系統可經虛擬化以允許多個環境在單一系統上運行。虛擬化執行已經開發出,使得實施虛擬化之伺服器系統可導致可用以使伺服器系統之計算資源最大化的大量空閒容量。然而,虛擬化可諸如經由虛擬化層的佈建來引入其自己的額外開銷。解決方案已設法解決此開銷。舉例而言,處理器、晶片組、I/O及互連增強已針對此目的開發以改良虛擬化平台的效能、效率及穩健性。
若每一環境在分離實體機器上實行,則I/O虛擬化解決方案提供將發現的相同隔離。解決方案亦旨在提供I/O操作的幾乎固有效能。隔離應提供記憶體空間的分離。隔離可分離I/O串流,中斷,及(在共享裝置的狀況下)隔離控制操作、I/O操作及錯誤的能力。在軟體共享方法中,隔
離可由虛擬化層來增強。對於虛擬化層對I/O被繞過的經共享硬體裝置,其他可用以增強隔離。
在一個實例中,以圖5之簡化方塊圖所說明,系統500可包括一或多個I/O裝置505、510、515,其經由互連件520連接至在虛擬機器540、545、550上主控的訪客驅動器525、530、535。虛擬機器管理器(VMM)555可經提供以實施基於虛擬軟體的開關以投送至且自適當虛擬機器的封包。位址轉譯層560可用以提供互連件520與VMM 555之仿真層之間的介面。在一些狀況下,顯著之CPU開銷可由虛擬機器管理器(VMM)使用以實施基於虛擬軟體的開關,其中此CPU開銷減小I/O裝置上的最大輸貫量。在一些情況下,經由軟體開關處理每一封包可利用多個CPU循環。因此,VMM的I/O仿真層在一些實施中可將開銷添加至I/O操作。
諸如Intel®Vt-d技術的虛擬化位址轉譯560可促進記憶體轉譯,並確保使得裝置能夠執行至/自主機記憶體之直接記憶體存取(DMA)的記憶體之保護。虛擬化轉譯560可允許VMM 555的I/O仿真層被繞過,從而導致虛擬機器的輸貫量改良。在一個實施中,位址轉譯可允許虛擬機器具有至實體位址的直接存取(若由VMM如此組配)。此情形可允許虛擬機器(例如,540、545、550)內的裝置驅動器(例如,525、530、535)能夠直接寫入至IO裝置(例如,505、510、515)之暫存器。類似地,虛擬化轉譯560可直接寫入至虛擬機器的記憶體空間,諸如DMA操作。
在一些實施中,VMM 555利用並組配虛擬化轉譯層560以在發送至及自I/O裝置(例如,505、510、515)的資料時執行位址轉譯。虛擬化轉譯層560可提供基於硬體之機構來轉譯由I/O裝置發佈的DMA交易之位址。在一些狀況下,由訪客作業系統(OS)看到的位址空間並非與主機機器的基礎實體位址相同。當訪客OS直接向I/O裝置講話時,其在命令及緩衝器描述符中提供訪客實體位址(GPA)。GPA在其發佈DMA交易時由I/O裝置使用並經轉譯成主機實體位址(HPA),使得DMA交易可以已組配為DMA緩衝器的基礎實體記憶體頁面為目標。虛擬化轉譯可利用封包中的值作為至由VMM產生的查找表之索引。欄位可對應於直接指派之函數中的一者,並識別關聯虛擬機器。藉由識別虛擬機器上下文並使用查找表,晶片組可轉譯DMA位址,使得除其他實例外,其以正確實體頁面為目標,且其可應用保護機構以確保DMA操作不可影響不相關虛擬機器的記憶體空間。
根複合體可用以實施大規模儲存器結構以與極廣泛晶片上匯流排一起儲存標頭及酬載資料以傳送此資訊。為了偵測標頭或酬載資料的破壞,同位可用於此等儲存器結構及匯流排上。然而,在同位錯誤的狀況下,在一些系統中,諸如對於PCIe根複合體而言,傳統實施藉由立即關斷根複合體或藉由簡單地將錯誤報告給軟體來對標頭同位錯誤做出回應。標頭同位錯誤可表示致命錯誤及傳統
實施,即允許持久性儲存因為標頭中之錯誤被破壞的風險及/或整個系統突然關閉(go down)的原因。此等情境兩者在許多應用(諸如,資料中心)中為不可接受的。在一些實施中,可提供諸如本文中所描述之彼等的解決方案,該等解決方案使得根複合體能夠達成系統之錯誤遏制及適度關機兩者。
轉至圖6,展示計算環境600之一部分的簡化方塊圖,該計算環境包括根複合體605,I/O裝置610、615,一或多個交換器620,CPU 625及相關記憶體元件630。在一些實施中,根複合體605可結合虛擬化系統來實施。在本實例中,根複合體605可包括實施邏輯以輔助偵測並處置影響封包標頭及資料之同位錯誤的額外組件。舉例而言,如圖6之實例中所展示,根複合體605可包括同位產生邏輯635及同位檢查邏輯640以及對所識別同位錯誤做出回應的邏輯,諸如標頭製作邏輯645、標頭傳送邏輯650、無限佇列邏輯655及錯誤報告邏輯670。其他組件可包括(例如)位址轉譯能力(對於虛擬化轉譯而包括)、仲裁及控制邏輯、多個入埠佇列680(例如,對於多個交易類型)、多個出埠佇列685,及根複合體可與其他裝置通訊經由的一或多個埠。
同位錯誤可使用同位檢查邏輯640及同位產生邏輯635來偵測,包括影響封包標頭的同位錯誤,此是由於標頭資料駐留於根複合體605之佇列680、685中。為了達成高度錯誤遏制同時避免區塊或懸置條件,標頭製作模組645可產生「虛擬」標頭資料取代發現同位錯誤的標頭之一或多
個欄位。虛擬標頭資料可係基於不同約束,且允許標頭在不產生致命錯誤的情況下得以處理。舉例而言,標頭傳送邏輯650可解譯虛擬標頭,並自製作之欄位中的至少一些識別出標頭為實際上回應於同位錯誤而產生的虛擬標頭。標頭傳送邏輯650可接著執行動作以含有錯誤並相對於經阻斷的任何其他交易減輕。儲存與標頭(及佇列680、685中的其他標頭)相關聯的酬載資料之佇列亦可在經由(例如)使用無線佇列模組650識別虛擬標頭進入的中止模式期間進行管理。無線佇列模組可使得酬載佇列將信用自動地轉回以允許封包的向前進展及同步/忽略進入佇列的新資料。另外,錯誤報告670可經組配,使得不必要錯誤逐漸增加被避免(例如,基於自其他裝置及系統的接收虛擬標頭並對具有額外錯誤的虛擬標頭之製作之欄位做出回應的組件偵測到的錯誤),同時仍登錄在根複合體605處偵測到的同位錯誤。雖然傳統系統可對具有故意或無意懸置的標頭錯誤做出回應,但具有諸如展示並描述於圖6之實例中的功能性的根複合體可達成強的錯誤遏制,同時啟用系統的適度關機(例如,藉由在其他子系統中智慧地避免懸置條件)。
圖7說明使用具有諸如以下組件之根複合體的系統之更詳細視圖:同位產生邏輯635、同位檢查640a至640b、標頭製作邏輯645a至645b、無限佇列模組655a至655b、仲裁及控制邏輯665、位址轉譯邏輯660及標頭傳送邏輯650。可提供佇列705、710、715、720,包括先入先出(FIFO)輸入佇列705、715及輸出佇列710、720。可提供分
離佇列用於標頭(例如,705、710)及其各別酬載資料(例如,715、720)。另外,可基於封包之交易的類型(以及其標頭及資料)輸入及輸出標頭佇列以及輸入及輸出酬載(或「資料」)佇列中的每一者提供多個佇列。舉例而言,在一個實例中,圖7表示PCIe根複合體的組件,且輸入佇列可包括發佈(P)及非分佈(NP)交易及完成(CMP)的標頭佇列705、710。類似類型特定佇列可對資料佇列715、720提供(儘管在此實例中非發佈資料佇列僅輸入提供,例如此是由於無資料可被需要以回應於非發佈請求而輸出)。
圖7之實例進一步表示系統之組件之間的實例流程。舉例而言,在根複合體處經由PCIe埠自裝置(例如,730a)可接收封包。在將封包之標頭置放於佇列705中之前,同位值可藉由同位產生邏輯635對標頭資料來計算(例如,經由對標頭資料的異或操作),且可與佇列705中的標頭相關聯。資料之酬載可存放於輸入資料佇列715中。(在一些狀況下,同位亦可酬載產生以偵測可隨著酬載資料在佇列715中等待而逐步顯現的類似錯誤。)標頭的一或多個欄位可指示標頭之封包的交易類型,且標頭可存放於與所偵測交易類型相關聯的輸入標頭佇列中。舉例而言,若標頭識別為與非發佈交易相關聯,則標頭可置放於非發佈輸入標頭佇列中。標頭之欄位在由根複合體接收到時可(例如)基於用以保護進入根複合體之被破壞資料的交易類型錯誤保護措施(例如,循環冗餘檢查(CRC))而假設為無錯誤。
在一些實施中,在實際上處理封包之前可存在在
根複合體內之資料佇列的多個級,在該狀況下,每一級應能夠唯一地識別對應封包類型。此等級可包括位址轉譯(例如,結合虛擬化計算環境),解碼以判定封包之目的地,預提取以自相干記憶體獲得快取行的所有權,及其他交易及操作。此情形可基於初始標頭佇列指派來實現(例如,若標頭最初被指派給經發佈、未經發佈或完成佇列等)。然而,錯誤可發生,從而破壞標頭的意欲用以識別標頭之交易類型的欄位。舉例而言,在標頭資料的壽命期間,其可在封包處理的各種發展時期中被讀取並存取多次,從而允許某資料破壞可能發生。
如上文所引入,標頭之同位可經檢查(在此等發展時期之後或之間)以識別標頭資料是否已被破壞。同位檢查可涉及重新計算同位值並比較該所重新計算同位值與標頭的先前產生的同位值。當識別出標頭同位錯誤時,根複合體的一或多個埠可置放於特殊同位錯誤遏制模式。在一些情況下,具有錯誤的標頭可被映射至特定埠,且特定埠可為置放於同位錯誤遏制模式的埠。系統或一或多個受影響埠可保持於錯誤遏制模式,直至系統被再啟動。模式的目標可為保護其他交易不被懸置或阻斷,且無逾時發生。另外,錯誤登錄及報告邏輯(例如,670)可(例如)藉由提昇中斷或使用另一技術來報告偵測到之同位錯誤作為致命錯誤至系統的作業系統。作業系統可接著(例如)藉由在埠上停止裝置驅動器而對同位錯誤採取行動,在該等埠上知曉同位錯誤(例如,以避免強調錯誤埠)且適度完成進行中任務並
發佈再啟動。
在一些狀況下,當標頭同位錯誤觸發進入同位錯誤遏制模式時,標頭製作邏輯可經存取以製作標頭的新欄位,在該等新欄位中發現錯誤以取代彼等欄位,彼等欄位在經破壞及允許進行時可在系統內引起嚴重錯誤。圖8展示PCIe內交易層封包(TLP)的實例封包標頭格式。另外,使用PCIe作為一實例,表1概述PCIe標頭之標頭欄位中的一些之用途,且進一步概述此等欄位中的同位錯誤的影響。表1進一步概述可經製作以取代初始標頭欄位之虛擬標頭資料的類型。在一些實施中,不可能自同位錯誤識別出標頭之哪些欄位實際上已被破壞。在一些狀況下,同位檢查可僅識別出,錯誤已發生且不知曉哪些欄位受到影響。因此,在此等情況下,多個標頭欄位(包括未受錯誤影響的欄位)可由虛擬資料取代。
作為例示性實例,可偵測經發佈輸入標頭佇列中的特定標頭的同位錯誤。受錯誤影響的準確欄位可能未知,因此根複合體邏輯經組配以解決標頭欄位中之任一者可受到影響的可能性。回應於偵測到同位錯誤,根複合體的一或多個埠可被置入同位錯誤遏制模式,且可觸發標頭製作邏輯645a。標頭製作邏輯可產生虛擬標頭欄位,包括硬式寫碼類型及格式欄位以確保該等欄位與標頭佇列之交易類型一致。考慮到欄位中的任一者可含有錯誤的可能性,欄位值皆不被信任。舉例而言,封包之酬載的長度為未知的,此是由於錯誤可存在於封包的長度欄位中。因此,
虛擬資料可包括編碼有「記憶體寫入」的類型及格式欄位(假設標頭係來自經發佈輸入佇列),且長度欄位亦可經硬式寫碼為任意定值,諸如對應於單一快取行的長度值。在一個實例中,交易中止邏輯忽略位址及長度欄位,因此此等欄位可編碼有預定義虛擬值,包括僅在標頭同位錯誤發生時設定的值(亦即,使得標頭同位錯誤及對應製作之虛擬標頭可自預定義欄位值識別出)。因此,虛擬編碼可由其他中止及控制邏輯讀取,以使得系統進入同位錯誤遏制模式,且虛擬值可進一步由解碼邏輯(例如,660)識別,使得虛擬值繞過解碼。未能取代有錯誤的位址欄位可引起位址解碼的故障且引起假性錯誤,其可使系統突然關閉。
其他欄位中的錯誤可造成較小風險,使得根複合體可處置由錯誤欄位引起的錯誤。因此,標頭製作邏輯(例如,645a)在一些狀況下可實際上使用初始標頭值,即使該等初始標頭值含有錯誤。作為一實例,請求者ID及標籤值可再編碼於由標頭製作邏輯產生的虛擬標頭欄位中。PCIe標頭的請求者ID及標籤欄位(例如)在未經發佈交易的狀況下具有重要用途。此等欄位允許請求者使完成與對應讀取請求相關。如上文所提到,在一些實施中,此等欄位中的任一者中的同位錯誤可保留於虛擬標頭中,此係由於標頭製作邏輯保持與自標頭佇列讀出的相同值。因此,在一些實例中,若錯誤恰好在此等兩個欄位中的任一者內,則不正確請求者ID及標籤將被發送至發端裝置。然而,根複合體之交易中止邏輯(例如,同位檢查邏輯)可經組配以認識到
標頭包括同位錯誤,且可產生具有設定於PCIe標頭中之「未經支援請求」回應的完成。由於發端裝置試圖映射具有其突出請求的完成並失敗(亦即,因為不正確請求者ID及標籤),因此發端裝置可提昇其自己的錯誤或中斷。然而,由於已進入了同位錯誤遏制模式,因此根埠處的錯誤處置邏輯可抑制錯誤自在根埠以下/下游的其他裝置進行報告,且阻斷任何所得假性錯誤的逐漸增加。
額外邏輯可提供於展示並描述於圖7中的實例根複合體中。舉例而言,標頭傳送邏輯650可經提供以讀取輸入標頭及資料佇列(例如,705、715)的標頭,且處理標頭(初始(亦即,無錯誤)標頭及虛擬標頭兩者),使得標頭(及對應酬載)被導向至其適當目的地(諸如另一埠或系統代理(例如,740)等)。
應瞭解,結合以上關於在輸入標頭佇列(例如,705)處偵測到之標頭同位錯誤的實例描述的原理、操作及特徵可基本上同樣應用於在輸出佇列(例如,710)處偵測到的標頭同位錯誤。作為例外,當封包在輸入佇列處接收到時,根複合體可將位址解碼邏輯用於輸入標頭以判定標頭的目的地。然而,在輸出佇列(例如,710、720)的狀況下,一些其他埠或系統代理已解碼了標頭的目的地並將封包發送至對應輸出佇列。因此,輸出佇列中的封包及標頭可簡單地自佇列(例如,在任何錯誤處置之後)發送至連接至對應埠的下游裝置。
當錯誤遏制模式基於標頭同位錯誤(在輸入標頭
佇列705或輸出標頭佇列710處)而進入時,資料佇列無限模式邏輯(例如,655a、655b)可經觸發以防止交易歸因於提供於長度欄位或其他欄位中的虛擬資料而懸置,該長度欄位或其他欄位規定儲存於資料佇列(例如,715、720)中的酬載資料的字元。在一個實例中,如圖9之流程圖900中所展示,佇列無限模式可首先清除(或重置)905對應資料佇列中的所有現有條目。舉例而言,一旦同位邏輯報告標頭同位錯誤,該特定埠中之資料佇列的全部可重設其各別指標為空條件。舉例而言,資料佇列對應於同位錯誤可被清除關於的封包類型。在其他情況下,偵測到同位錯誤的特定埠之所有資料佇列(輸入佇列及輸出佇列兩者)可經清除。此情形可保護免受後續同位錯誤(與其他封包類型相關的同位錯誤)影響。
另外,無限佇列模式可提供自主信用處置910。舉例而言,無限邏輯佇列可使得資料佇列中條目/信用的數目在同位錯誤同時被計數。此等信用可接著將被全部轉回至匯流排的另一側。由於已重設了所有資料佇列條目(亦即,在905中),因此對應信用資訊亦已失去。轉回信用允許交易繼續被接收到,此是由於系統在無額外錯誤被捨棄情況下重設。另外,除對標頭同位錯誤做出回應的初始信用轉回外,自主信用處置910可提供在標頭同位錯誤之後於根複合體處接收到之新封包的任何「推入」資料的信用轉回的處置。
除自主信用處置910外,無限佇列模式邏輯可另
外使得佇列狀態信號設定915為定值以保證任何後續交易的繼續前向進展,直至系統的適度關機完成。舉例而言,無限佇列模式邏輯視繼續向前進展的資料佇列狀態而可搶先報告佇列狀態值至系統邏輯的剩餘部分。舉例而言,當處於佇列無限模式時,該佇列的狀態可自主地設定為連續地展示佇列狀態為「非空」及「非滿」兩者。舉例而言,「佇列空」(或「FIFO空」)狀態值可經自動地撤銷確證,且指示至少一快取行可用於讀取。另外,「佇列滿」(或「FIFO滿」)狀態亦可經撤銷確證,且設定為指示最大數目個條目可用於寫入。
無限佇列模式可進一步包括彈出請求的處置920。舉例而言,由於標頭製作邏輯將資料酬載大小硬式寫碼為一個(或另一任意數目個)快取行,因此每一標頭將試圖彈出一個快取行大小的資料(或將讀取指標移動至佇列的下一條目)而無關於該特定封包的資料的初始大小。無限佇列模式可藉由避免自資料佇列彈出資料而處置此情形。實情為,在彈出嘗試情況下,無限佇列模式邏輯可阻斷彈出,但藉由製作成功彈出的指示並在資料匯流排上轉回定值而欺騙請求者。舉例而言,成功彈出可藉由指示「資料在讀取資料匯流排上可用的」而指示(例如,使用諸如整個資料大小讀出為全部為1的定值之所界定編碼)。然而,在主中止狀況下,資料可自佇列讀出,且接著被丟棄(亦即,並不使用)。
推入請求亦可由無限佇列模式邏輯來處置925。
在標頭同位錯誤事件之後到達根複合體的後續交易可嘗試將資料推入至資料佇列中。無限佇列模式邏輯可介入以阻斷(且緊接著拋棄)嘗試待被推入的資料,且可藉由製作對應於所接收資料的對應數目個信用來「欺騙」資料的發起者考慮推入為成功的。舉例而言,無限佇列模式邏輯的自動資料信用處置邏輯可對對應於嘗試待推入的資料的信用之數目計數,且使得此等信用被自動轉回至交易的發起者。
如上文所論述,虛擬標頭資料可由根複合體處的中止邏輯識別出且使得錯誤遏制開始。另外,錯誤可在處理之各種發展時期/階段處識別。根複合體之中止邏輯可基於同位錯誤出現的時間(亦即,該階段(例如,解碼、預提取及提交)時或該階段之前)執行不同功能。作為一實例,若標頭同位錯誤發生於解碼階段時或之前,則在偵測到同位錯誤之後,位址解碼或轉譯邏輯可解碼交易為「主中止」(或另一中止模式)而無關於交易的類型及目的地。若標頭同位錯誤發生,則實情為在預提取時或之前但在解碼之後發生,但有可能的是特定交易可在偵測到同位錯誤時已完成了解碼階段。在此狀況下,中止邏輯可忽略目標目的地(在解碼階段中獲得)且藉由「主中止」類型模式來進入自動同級間(SPP)。換言之,虛擬預取提可經執行以(例如)藉由將預提取指標移動至下一條目而使預提取管線進展至下一交易。最後,若標頭同位錯誤在提交發展時期時或之前(例如,用以更新記憶體及/或呈現行的最近複本至系統之剩餘部分)且在預提取之後偵測到,則對於至相干記憶體的發現
為具有標頭同位錯誤的交易,所有權可已獲得且相干性介面邏輯可具有快取行的最近複本(例如,對應於交易)。然而,歸因於同位錯誤,中止邏輯可決絕處理「提交」階段,且可確切而言執行提交階段的「主中止」。主中止基於偵測到之標頭同位錯誤可發生於處理的導致階段之中止的任何階段或發展時期。提交階段期間的主中止可使得標頭自標頭佇列推入。然而,相干性邏輯仍可保持對應快取行。在此情境下,快取行可經回寫或給出至另一相干代理(例如,若接收到對應快取行的窺探)。若交易係針對另一I/O裝置,則在預提取階段可不採取任何行動,且因此主機中止「提交」階段可足夠。
在標頭同位錯誤情況下,可提供錯誤及報告邏輯,其登錄偵測到之同位錯誤的特殊不可校正之致命錯誤(例如,在按根埠基礎上)。在特定實施中,對應錯誤邏輯可經提供以觸發中斷(或其他動作)以逐步增加及/或報告錯誤給處理核心並向核心(及作業系統)報告此特定錯誤。
如上文所提到,虛擬標頭資料在其被轉回至其他裝置時可使得其他錯誤被捨棄。錯誤登錄及報告邏輯可進一步包括用於對在已進入同位錯誤遏制模式之後發生的錯誤進行濾波的功能性。舉例而言,因為發送至裝置的封包中之一些錯誤欄位,錯誤可自根複合體以下的I/O裝置逐漸增加。錯誤濾波邏輯可允許顯式錯誤訊息自根複合體的下游埠濾波掉(例如,濾波PCIe錯誤訊息(致命、非致命及正確))及/或自下游埠濾波來自I/O裝置的任何中斷以避免錯
誤直接自裝置的逐漸增加外加其他潛在濾波動作。
轉至圖10,展示說明根據一些實施的用於處置標頭同位錯誤之技術的流程圖1000。舉例而言,同位偵測邏輯可偵測1005包括於根埠或其他系統組件之輸入或輸出主類中的標頭中之同位錯誤。虛擬標頭資料可經製作1010以取代發現同位錯誤所在之標頭中的一或多個(或全部)欄位。錯誤遏制模式回應於偵測到同位錯誤而進入1015,且錯誤遏制模式可經組配以准許系統的適度關機。結合此錯誤遏制,製作之標頭資料可被發送至目的地(例如,在虛擬標頭的位址欄位中所指示)。錯誤遏制可處置並減輕由製作之標頭之虛擬欄位產生的任何殘餘錯誤。
應注意,雖然以上原理及實例中的許多者在PCIe及PCIe規範之特定修正本之上下文內描述,但本文中所描述之原理、解決方案及特徵可同樣適用於其他協定及系統。另外,請注意,上述設備、方法及系統可按前述內容實施於任何電子裝置或系統中。作為特定說明,以下諸圖提供用於利用如本文中所描述之本發明的例示性系統。由於系統在下文更詳細地描述,揭示、描述多個不同互連件並自以上論述內容重訪多個不同互連件。且如易於為顯而易見的是,上述進展可應用至彼等互連件、網狀架構或架構中的任一者。
參看圖11,描繪包括多處理器系統之計算系統1100之方塊圖的實施例。如圖11中所展示,多處理器系統1100為點對點互連系統,且包括經由點對點互連件1150耦
接的第一處理器1170及第二處理器1180。處理器1170及1180中的每一者可為某形式的處理器。在一個實施例中,1152及1154為串列點對點相干互連網狀架構的部分,諸如高效能架構。
雖然展示為具有僅兩個處理器1170、1180,但應理解,本發明之範疇不限於此。在其他實施例中,一或多個額外處理器可存在於給定處理器中。
處理器1170及1180經展示為分別包括整合記憶體控制器單元1172及1182。處理器1170亦包括點對點(P-P)介面1176及1178作為其匯流排控制器單元之一部分;類似地,第二處理器1180包括P-P介面1186及1188。處理器1170、1180可使用點對點(P-P)介面電路1178、1188經由P-P介面1150而交換資訊。如圖11中所展示,IMC 1172及1182將處理器耦接至各別記憶體(即,記憶體1132及記憶體1134),其可為本端附接至各別處理器之主記憶體的部分。
處理器1170、1180各自使用點對點介面電路1176、1194、1186、1198經由個別P-P介面1152、1154與晶片組1190交換資訊。晶片組1190亦沿著高效能圖形互連件1139經由介面電路1192與高效能圖形電路1138交換資訊。
共享快取記憶體(未圖示)可包括於兩個處理器中之任一者中或兩個處理器外部;又經由P-P互連件與處理器連接,使得可將兩個處理器中之任一者或兩者之本端快取記憶體資訊儲存於共享快取記憶體中(若處理器置放於低功率模式中)。
晶片組1190可經由介面1196耦接至第一匯流排1116。在一個實施例中,第一匯流排1116可為周邊組件互連(PCI)匯流排,或諸如PCI快速匯流排之匯流排,或另一第三代I/O互連匯流排,但本發明之範疇並不限於此。
如圖11中所展示,各種I/O裝置1114可連同匯流排橋1118一起耦接至第一匯流排1116,該匯流排橋將第一匯流排1116耦接至第二匯流排1120。在一個實施例中,第二匯流排1120包括低接腳計數(LPC)匯流排。在一個實施例中,包括(例如)以下各者的各種裝置耦接至第二匯流排1120:鍵盤及/或滑鼠1122、通訊裝置1127及儲存單元1128(諸如磁碟機或常常包括指令/程式碼及資料1130的其他大容量儲存裝置)。另外,音訊I/O 1124展示為耦接至第二匯流排1120。請注意,其他架構有可能,其中所包括組件及互連架構發生變化。舉例而言,替代圖11的點對點架構,系統可實施多分接頭匯流排或其他此類架構。
雖然已關於有限數目個實施例描述了本發明,但熟習此項技術者將瞭解自該等實施例的大量修改及變化。意欲隨附申請專利範圍涵蓋如屬於本發明之真實精神及範疇內的所有此等修改及變化。
設計可經歷各種發展時期,自產生至模擬至製作。表示設計之資料可以多種方式表示設計。首先,如在模擬中有用的,可使用硬體描述語言或另一功能描述語言來表示硬體。另外,可在設計程序之一些發展時期處產生具有邏輯及/或電晶體閘之電路層級模型。此外,在一些發
展時期處,大部分設計達到表示各種裝置在硬體模型中之實體置放的資料之層級。在使用習知半導體製作技術之狀況下,表示硬體模型之資料可為指定各種特徵在用於用以產生積體電路之遮罩的不同遮罩層上之存在或不存在的資料。在設計之任何表示中,資料可儲存於任何形式之機器可讀媒體中。記憶體或者磁性或光學儲存器(諸如,光碟)可為用以儲存資訊之機器可讀媒體,該資訊係經由經調變或以其他方式產生以傳輸此資訊之光波或電波傳輸。當傳輸指示或攜載程式碼或設計之電載波時,就執行電信號之複製、緩衝或重新傳輸而言,產生新複本。因此,通訊提供者或網路提供者可至少臨時將體現本發明之實施例之技術的物件(諸如,編碼成載波之資訊)儲存於有形機器可讀媒體上。
如本文所使用之模組指硬體、軟體及/或韌體之任何組合。作為一實例,模組包括與非暫時性媒體相關聯之硬體(諸如,微控制器),該非暫時性媒體儲存經調適以由微控制器執行之程式碼。因此,在一個實施例中,對模組之參考指硬體,具體言之,該硬體經組配以辨識及/或執行待保持於非暫時性媒體上之程式碼。此外,在另一實施例中,對模組之使用指包括程式碼之非暫時性媒體,具體言之,該程式碼經調適以由微控制器執行以執行預定操作。且因為可進行推斷,因此在又一實施例中,術語模組(在此實例中)可指微控制器及非暫時性媒體之組合。常常,說明為單獨邊界之模組邊界通常發生變化且有可能重疊。舉例
而言,第一模組及第二模組可共享硬體、軟體、韌體或其組合,同時有可能保留一些獨立硬體、軟體或韌體。在一個實施例中,術語邏輯之使用包括硬體,諸如電晶體、暫存器或其他硬體,諸如可規劃邏輯裝置。
在一個實施例中,片語「經組配以」之使用指配置、放在一起、製造、供出售、引入及/或設計設備、硬體、邏輯或元件以執行所指明或所判定任務。在此實例中,若並未在操作中之設備或其元件經設計、耦接及/或互連以執行該所指明任務,則該設備或其元件仍「經組配以」執行所指明任務。作為純粹例示性實例,邏輯閘可在操作期間提供0或1。但「經組配以」將啟用信號提供至時脈之邏輯閘並不包括可提供1或0之每個可能的邏輯閘。實情為,邏輯閘係以在操作期間1或0輸出用以啟用時脈之某種方式耦接的邏輯閘。再一次應注意,術語「經組配以」之使用並不需要操作,而實情為,集中於設備、硬體及/或元件之潛在狀態,其中在潛在狀態下,設備、硬體及/或元件經設計以在設備、硬體及/或元件正操作時執行特定任務。
此外,在一個實施例中,片語「以」、「能夠」及或「可操作以」之使用指某一設備、邏輯、硬體及/或元件,其係以能夠以指定方式使用設備、邏輯、硬體及/或元件之方式設計。應注意,如上文所提及,在一個實施例中,以、能夠或可操作以之使用指設備、邏輯、硬體及/或元件之潛在狀態,其中該設備、邏輯、硬體及/或元件並未在操作中,但其係以使得能夠以指定方式使用設備之方式進行設計。
如本文所使用,值包括數字、狀態、邏輯狀態或二進位邏輯狀態之任何已知表示。常常,邏輯位準、邏輯值(logic value、logical value)之使用亦被稱作1及0,其簡單地表示二進位邏輯狀態。舉例而言,1指高邏輯位準且0指低邏輯位準。在一個實施例中,諸如電晶體或快閃記憶體胞元之儲存器胞元可能能夠保持單一邏輯值或多個邏輯值。然而,已使用電腦系統中之值的其他表示。舉例而言,十進制數字十亦可表示為二進位值1010及十六進位字母A。因此,值包括能夠保持於電腦系統中之資訊的任何表示。
此外,可藉由值或值之部分來表示狀態。作為一實例,諸如邏輯一之第一值可表示預設或初始狀態,而諸如邏輯零之第二值可表示非預設狀態。另外,在一個實施例中,術語重設及設定分別指預設及經更新值或狀態。舉例而言,預設值可能包括高邏輯值(亦即,重設),而經更新值有可能包括低邏輯值(亦即,設定)。應注意,可利用值之任何組合來表示任何數目個狀態。
上文闡述之方法、硬體、軟體、韌體或程式碼之實施例可經由可由處理元件執行之儲存於機器可存取、機器可讀、電腦可存取或電腦可讀媒體上之指令或程式碼來實施。非暫時性機器可存取/可讀媒體包括提供(亦即,儲存及/或傳輸)呈由諸如電腦或電子系統之機器可讀之形式的資訊的任何機構。舉例而言,非暫時性機器可存取媒體包括隨機存取記憶體(RAM),諸如靜態RAM(SRAM)或動態RAM(DRAM);ROM;磁性或光學儲存媒體;快閃記憶體
裝置;電儲存裝置;光學儲存裝置;聲學儲存裝置;用於保持自暫時性(傳播)信號(例如,載波、紅外線信號、數位信號)接收之資訊的其他形式之儲存裝置;等等,其應區別於可自其接收資訊的非暫時性媒體。
用以規劃邏輯以執行本發明之實施例的指令可儲存於系統中之記憶體(諸如,DRAM、快取記憶體、快閃記憶體或其他儲存裝置)內。此外,該等指令可經由網路或藉助於其他電腦可讀媒體來散佈。因此,機器可讀媒體可包括用於儲存或傳輸呈可由機器(例如,電腦)讀取之形式之資訊的任何機制,但不限於磁碟片、光碟、緊密光碟、唯讀記憶體(CD-ROM)及磁光碟、唯讀記憶體(ROM)、隨機存取記憶體(RAM)、可抹除可規劃唯讀記憶體(EPROM)、電可抹除可規劃唯讀記憶體(EEPROM)、磁卡或光學卡、快閃記憶體或用於在網際網路上經由電、光學、聲學或其他形式之傳播信號(例如,載波、紅外線信號、數位信號等)傳輸資訊中使用的有形的機器可讀儲存器。因此,電腦可讀媒體包括適合於以可由機器(例如,電腦)讀取之形式儲存或傳輸電子指令或資訊的任何類型之有形機器可讀媒體。
以下實例係關於根據本說明書的實施例。一或多個實施例可提供偵測標頭中之同位錯誤的一種設備、一種系統、一種機器可讀儲存器、一種機器可讀媒體、基於硬體及/或軟體的邏輯及一種方法,其中標頭係在多個佇列中的特定佇列中,標頭包括多個欄位,且佇列中的每一者對應於各別交易類型。另外,製作之標頭資料可對多個欄位
中的一或多者產生以指示同位錯誤並取代多個欄位中之一或多者的資料,且可基於同位錯誤進入錯誤遏制模式。
在一個實例中,該等欄位中的至少一特定欄位編碼有該製作之標頭資料以防止該特定欄位中的一非法值。
在一個實例中,該非法值由破壞該特定欄位之一值的該同位錯誤產生。
在一個實例中,該標頭包括一交易層封包的一標頭。
在一個實例中,該等多個欄位包括一格式欄位、一類型欄位、一長度欄位、一位址欄位、一請求者識別符欄位及一標籤欄位。
在一個實例中,該製作之標頭資料包括:對於該格式欄位及該類型欄位,對應於該特定佇列之一交易類型的值;對於該長度欄位,一第一定值;以及對於該位址欄位,系統位址空間外的一第二定值,其中保留該請求者識別符欄位及該標籤欄位的值。
在一個實例中,該同位錯誤基於該第二定值來識別。
在一個實例中,該等多個欄位進一步包含一位元組啟用欄位及一錯誤/中毒欄位。製作之標頭可包括:對於該位元組啟用欄位,一第三定值;以及對於該錯誤/中毒欄位,一假值。
在一個實例中,該製作之標頭資料維持該等多個欄位中之至少一特定欄位的一值。
在一個實例中,一濾波器防止由觸發一下游I/O裝置處之一錯誤的特定欄位中之製作之標頭資料產生的錯誤升級。
在一個實例中,特定佇列包括一標頭佇列,且在該錯誤遏制模式期間,該錯誤處置器將清除對應於該標頭佇列的一資料佇列;為該同位錯誤之後的交易提供信用;以及設定該資料佇列之佇列狀態信號為一定值。信用可回應於該佇列的該清除而轉回以回送對應於自該資料佇列清除的交易之信用。
在一個實例中,錯誤遏制模式包括處置彈出請求及處置推入請求。
在一個實例中,可提供錯誤報告器以登錄同位錯誤。
在一個實例中,該錯誤遏制模式允許在偵測到該同位錯誤時待決的交易在系統關機之前進行。
一或多個實施例可提供一種設備、一種系統、一種機器可讀儲存器、一種機器可讀媒體、基於硬體及/或軟體的邏輯,其包括具有多個標頭佇列及多個酬載資料佇列的根複合體。每一佇列對應於各別交易類型,且根複合體偵測該等標頭佇列中之一特定標頭佇列中的一標頭中之一同位錯誤;對標頭之多個欄位產生製作之標頭資料以取代該等多個欄位的資料,以防範該等欄位中之至少一者的基於該同位錯誤之一非法值;以及發送具有製作之標頭資料之一封包至另一系統組件。
一或多個實施例可提供一種設備、一種系統、一種機器可讀儲存器、一種機器可讀媒體、基於硬體及/或軟體的邏輯,其包括一或多個I/O裝置及通訊地耦接至一或多個I/O裝置的根複合體。該根複合體偵測該等標頭佇列之一特定標頭佇列中的一標頭中之一同位錯誤;對標頭之欄位中之一或多者產生製作之標頭資料,以指示該同位錯誤並取代該等多個欄位中之一或多者的資料;使得錯誤遏制模式被進入;以及發送包括製作之標頭資料之一封包至另一系統組件。根複合體可進一步包括多個佇列,該等多個佇列包括輸入佇列及輸出佇列。
貫穿於本說明書中的對「一個實施例」或「一實施例」之參考意謂結合實施例描述之特定特徵、結構或特性包括於本發明之至少一實施例中。因此,片語「在一個實施例中」或「在一實施例中」貫穿本說明書在各處之出現未必全部指同一實施例。此外,在一或多個實施例中,特定特徵、結構或特性可以任何合適方式組合。
在前述說明書中,已參考特定例示性實施例給出詳細描述。然而,以下情形將為顯而易見的:可在不偏離如所附申請專利範圍中所闡述的本發明之更廣泛精神及範疇之情況下,對本發明做出各種修改及改變。因此,應在例示性意義上而非限制性意義上看待說明書及圖式。此外,實施例及其他例示性語言之前述使用未必指同一實施例或同一實例,而是可指不同且相異實施例,以及有可能相同的實施例。
635‧‧‧同位產生邏輯
640a、640b‧‧‧同位檢查
645a、645b‧‧‧標頭製作邏輯
650‧‧‧標頭傳送邏輯
655a、655b‧‧‧無限佇列邏輯
660‧‧‧位址轉譯邏輯
665‧‧‧仲裁及控制邏輯
705、715‧‧‧先入先出(FIFO)輸入佇列
710、720‧‧‧輸出佇列
730a、730b‧‧‧裝置
740‧‧‧埠或系統代理
Claims (20)
- 一種設備,其包含:一同位錯誤偵測器,其用以偵測一標頭中的一同位錯誤,其中該標頭係在多個佇列中的一特定佇列中,該標頭將包括多個欄位,且該等佇列中的每一者係用以對應於一各別交易類型;一標頭製作器,其用以針對該等多個欄位中之一或多者產生經製作之標頭資料,其中該經製作之標頭資料係用以指示該同位錯誤並取代該等多個欄位中之一或多者的資料;以及一錯誤處置器,其用以基於該同位錯誤進入一錯誤遏制模式。
- 如請求項1之設備,其中該等欄位中的至少一特定欄位係用以被編碼有該經製作之標頭資料以防止該特定欄位中的一非法值。
- 如請求項2之設備,其中該非法值由破壞該特定欄位之一值的該同位錯誤導致。
- 如請求項1之設備,其中該標頭包含一交易層封包的一標頭。
- 如請求項4之設備,其中該等多個欄位係用以包含一格式欄位、一類型欄位、一長度欄位、一位址欄位、一請求者識別符欄位及一標籤欄位。
- 如請求項5之設備,其中該經製作之標頭資料係用以包 含:用於該格式欄位及該類型欄位,對應於該特定佇列之一交易類型的值;用於該長度欄位,一第一定值;以及用於該位址欄位,系統位址空間外的一第二定值;其中該請求者識別符欄位及該標籤欄位的值係要被保留。
- 如請求項6之設備,其中該同位錯誤係用以基於該第二定值來識別。
- 如請求項5之設備,其中該等多個欄位係進一步包含一位元組啟用欄位及一錯誤/中毒欄位。
- 如請求項8之設備,該經製作之標頭資料係用以包含:用於該位元組啟用欄位,一第三定值;以及用於該錯誤/中毒欄位,一假值。
- 如請求項1之設備,其中該經製作之標頭資料係用以維持該等多個欄位中之至少一特定欄位的一值。
- 如請求項10之設備,其進一步包含一濾波器以防止由觸發一下游I/O裝置處之一錯誤的該特定欄位中的經製作之標頭資料導致之錯誤升級。
- 如請求項1之設備,其中該特定佇列包含一標頭佇列,且在該錯誤遏制模式期間,該錯誤處置器係用以:清除對應於該標頭佇列的一資料佇列;為該同位錯誤之後的交易提供信用;以及設定該資料佇列之佇列狀態信號為一定值。
- 如請求項12之設備,其中該錯誤處置器在該錯誤遏制模式期間係進一步用以處置彈出請求並處置推入請求。
- 如請求項12之設備,其中該錯誤處置器係用以回應於該佇列的該清除回送對應於自該資料佇列清除的交易之信用。
- 如請求項1之設備,其進一步包含一錯誤報告器以登錄該同位錯誤。
- 如請求項1之設備,其中該錯誤遏制模式係用以允許在偵測到該同位錯誤時待決的交易在系統關機之前進行。
- 一種方法,其包含:偵測一標頭中之一同位錯誤,其中該標頭係在多個標頭佇列中的一特定標頭佇列中,該標頭係用以包括多個欄位,且該等標頭佇列中的每一者對應於多個交易類型中的一各別交易類型;針對該等多個欄位產生經製作之標頭資料,其中該經製作之標頭資料係用以用虛擬資料取代該特定封包之至少一欄位的資料;以及基於該同位錯誤進入一錯誤遏制模式。
- 一種設備,其包含:一根複合體,其包含多個標頭佇列及多個酬載資料佇列,其中每一佇列對應於一各別交易類型,且該根複合體係用以:偵測該等標頭佇列之一特定標頭佇列中的一標頭中之一同位錯誤,其中該標頭係用以包括多個 欄位;針對該等多個欄位產生經製作之標頭資料,其中該經製作之標頭資料係用以取代該等多個欄位的資料,以防範該等欄位中之至少一者的基於該同位錯誤之一非法值;以及發送包含該經製作之標頭資料之一封包至另一系統組件。
- 一種系統,其包括:一或多個I/O裝置;以及一根複合體,其通訊地耦接至該一或多個I/O裝置,其中該根複合體用以:偵測該等標頭佇列之一特定標頭佇列中的一標頭中之一同位錯誤,其中該標頭係用以包括多個欄位;針對該等多個欄位中之一或多者產生經製作之標頭資料,其中該經製作之標頭資料係用以指示該同位錯誤並取代該等多個欄位中之一或多者的資料;進入一錯誤遏制模式;以及發送包含該經製作之標頭資料之一封包至另一系統組件。
- 如請求項19之系統,其中該根複合體包含該等多個佇列,且該等多個佇列包含輸入佇列及輸出佇列。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/553,692 US9749448B2 (en) | 2014-11-25 | 2014-11-25 | Header parity error handling |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201633121A TW201633121A (zh) | 2016-09-16 |
TWI566088B true TWI566088B (zh) | 2017-01-11 |
Family
ID=56010306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW104133551A TWI566088B (zh) | 2014-11-25 | 2015-10-13 | 標頭同位錯誤處置技術 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9749448B2 (zh) |
EP (1) | EP3224958A4 (zh) |
CN (1) | CN107113084B (zh) |
TW (1) | TWI566088B (zh) |
WO (1) | WO2016085628A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI679531B (zh) * | 2018-04-18 | 2019-12-11 | 緯穎科技服務股份有限公司 | 熱插拔辨識方法及具有熱插拔辨識功能的伺服器 |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9749448B2 (en) | 2014-11-25 | 2017-08-29 | Intel Corporation | Header parity error handling |
GB2536199B (en) | 2015-03-02 | 2021-07-28 | Advanced Risc Mach Ltd | Memory management |
GB2536200B (en) * | 2015-03-02 | 2021-08-18 | Advanced Risc Mach Ltd | Memory management |
US10176126B1 (en) * | 2015-06-29 | 2019-01-08 | Cadence Design Systems, Inc. | Methods, systems, and computer program product for a PCI implementation handling multiple packets |
US9806904B2 (en) * | 2015-09-08 | 2017-10-31 | Oracle International Corporation | Ring controller for PCIe message handling |
US10034407B2 (en) | 2016-07-22 | 2018-07-24 | Intel Corporation | Storage sled for a data center |
JP6706180B2 (ja) * | 2016-09-14 | 2020-06-03 | ルネサスエレクトロニクス株式会社 | デバイス装置及びデータ転送システム |
US20180150256A1 (en) | 2016-11-29 | 2018-05-31 | Intel Corporation | Technologies for data deduplication in disaggregated architectures |
US10496292B2 (en) * | 2017-01-19 | 2019-12-03 | International Business Machines Corporation | Saving/restoring guarded storage controls in a virtualized environment |
US10452288B2 (en) | 2017-01-19 | 2019-10-22 | International Business Machines Corporation | Identifying processor attributes based on detecting a guarded storage event |
US10579377B2 (en) | 2017-01-19 | 2020-03-03 | International Business Machines Corporation | Guarded storage event handling during transactional execution |
US10732858B2 (en) | 2017-01-19 | 2020-08-04 | International Business Machines Corporation | Loading and storing controls regulating the operation of a guarded storage facility |
US10496311B2 (en) | 2017-01-19 | 2019-12-03 | International Business Machines Corporation | Run-time instrumentation of guarded storage event processing |
US10725685B2 (en) | 2017-01-19 | 2020-07-28 | International Business Machines Corporation | Load logical and shift guarded instruction |
EP3669460A4 (en) * | 2017-08-18 | 2021-05-19 | Nokia Solutions and Networks Oy | USING LDPC BASIC GRAPHICS FOR NR |
US10635350B2 (en) * | 2018-01-23 | 2020-04-28 | Western Digital Technologies, Inc. | Task tail abort for queued storage tasks |
US10409680B1 (en) | 2018-05-24 | 2019-09-10 | Micron Technology, Inc. | Progressive length error control code |
US11614986B2 (en) * | 2018-08-07 | 2023-03-28 | Marvell Asia Pte Ltd | Non-volatile memory switch with host isolation |
US11544000B2 (en) | 2018-08-08 | 2023-01-03 | Marvell Asia Pte Ltd. | Managed switching between one or more hosts and solid state drives (SSDs) based on the NVMe protocol to provide host storage services |
US10970238B2 (en) * | 2019-04-19 | 2021-04-06 | Intel Corporation | Non-posted write transactions for a computer bus |
US20210013999A1 (en) * | 2020-06-04 | 2021-01-14 | Intel Corporation | Latency-Optimized Mechanisms for Handling Errors or Mis-Routed Packets for Computer Buses |
US12155474B2 (en) | 2020-07-06 | 2024-11-26 | Intel Corporation | Characterizing and margining multi-voltage signal encoding for interconnects |
US12056029B2 (en) | 2020-07-27 | 2024-08-06 | Intel Corporation | In-system validation of interconnects by error injection and measurement |
CN113542052A (zh) * | 2021-06-07 | 2021-10-22 | 新华三信息技术有限公司 | 一种节点故障确定方法、装置和服务器 |
KR20230055614A (ko) | 2021-10-19 | 2023-04-26 | 삼성전자주식회사 | 반도체 메모리 장치 및 메모리 시스템 |
US20240244005A1 (en) * | 2023-01-12 | 2024-07-18 | Enfabrica Corporation | System and method for adaptive generic receive offload |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040225948A1 (en) * | 2003-05-09 | 2004-11-11 | Adkisson Richard W. | System and method for error capture and logging in computer systems |
US20050141535A1 (en) * | 2003-12-30 | 2005-06-30 | Chen-Chi Kuo | Method and apparatus to handle parity errors in flow control channels |
US20100098101A1 (en) * | 1997-08-29 | 2010-04-22 | Ken Drottar | Packet format for a distributed system |
US20100306489A1 (en) * | 2009-05-29 | 2010-12-02 | Cray Inc. | Error management firewall in a multiprocessor computer |
US20110064084A1 (en) * | 2006-02-21 | 2011-03-17 | Tatar Mohammed I | Pipelined packet switching and queuing architecture |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69832791T2 (de) * | 1998-07-09 | 2006-08-03 | Hewlett-Packard Development Co., L.P., Houston | Verbessertes Datenschreiben auf Datenspeichermedium |
US6651193B1 (en) * | 2000-04-29 | 2003-11-18 | Hewlett-Packard Development Company, L.P. | Method for allowing distributed high performance coherent memory with full error containment |
US7468976B2 (en) * | 2002-06-25 | 2008-12-23 | Xocyst Transfer Ag L.L.C. | Efficiency improvement for shared communications networks |
US7441039B2 (en) * | 2003-12-04 | 2008-10-21 | Exar Corporation | Method and apparatus for adapting mac and network processor core to packet format changes and for mapping RPR architecture over spatial reuse architecture |
CN1703027B (zh) * | 2004-05-25 | 2012-03-14 | 惠普开发有限公司 | 传递调试信息 |
US7500170B2 (en) * | 2006-08-14 | 2009-03-03 | Motorola, Inc. | Method and apparatus for error detection in a data block |
KR101405969B1 (ko) * | 2007-06-28 | 2014-06-13 | 엘지전자 주식회사 | 디지털 방송 시스템 및 데이터 처리 방법 |
US7792014B2 (en) * | 2007-09-28 | 2010-09-07 | Integrated Device Technology, Inc. | Method of skipping nullified packets during mass replay from replay buffer |
JP2009266119A (ja) * | 2008-04-28 | 2009-11-12 | Hitachi Ltd | ストレージ装置及びデータ転送方法 |
JP4985565B2 (ja) * | 2008-06-30 | 2012-07-25 | 富士通株式会社 | 送受信回路、受信回路及び送受信回路の制御方法 |
US8711771B2 (en) * | 2009-03-03 | 2014-04-29 | Qualcomm Incorporated | Scalable header extension |
US8310976B2 (en) * | 2009-03-15 | 2012-11-13 | Lg Electronics Inc. | Transmitting/receiving system and method of processing broadcasting signal in transmitting/receiving system |
JP2010238150A (ja) * | 2009-03-31 | 2010-10-21 | Toshiba Corp | PCIExpress通信システム、及びその通信方法 |
US8238244B2 (en) * | 2009-08-10 | 2012-08-07 | Micron Technology, Inc. | Packet deconstruction/reconstruction and link-control |
US8799550B2 (en) * | 2010-07-16 | 2014-08-05 | Advanced Micro Devices, Inc. | System and method for increased efficiency PCI express transaction |
US9749448B2 (en) | 2014-11-25 | 2017-08-29 | Intel Corporation | Header parity error handling |
-
2014
- 2014-11-25 US US14/553,692 patent/US9749448B2/en active Active
-
2015
- 2015-10-13 TW TW104133551A patent/TWI566088B/zh active
- 2015-11-04 WO PCT/US2015/058957 patent/WO2016085628A1/en active Application Filing
- 2015-11-04 EP EP15864037.5A patent/EP3224958A4/en not_active Withdrawn
- 2015-11-04 CN CN201580058051.2A patent/CN107113084B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100098101A1 (en) * | 1997-08-29 | 2010-04-22 | Ken Drottar | Packet format for a distributed system |
US20040225948A1 (en) * | 2003-05-09 | 2004-11-11 | Adkisson Richard W. | System and method for error capture and logging in computer systems |
US20050141535A1 (en) * | 2003-12-30 | 2005-06-30 | Chen-Chi Kuo | Method and apparatus to handle parity errors in flow control channels |
US20110064084A1 (en) * | 2006-02-21 | 2011-03-17 | Tatar Mohammed I | Pipelined packet switching and queuing architecture |
US20100306489A1 (en) * | 2009-05-29 | 2010-12-02 | Cray Inc. | Error management firewall in a multiprocessor computer |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI679531B (zh) * | 2018-04-18 | 2019-12-11 | 緯穎科技服務股份有限公司 | 熱插拔辨識方法及具有熱插拔辨識功能的伺服器 |
Also Published As
Publication number | Publication date |
---|---|
US9749448B2 (en) | 2017-08-29 |
CN107113084B (zh) | 2020-10-23 |
US20160147592A1 (en) | 2016-05-26 |
WO2016085628A1 (en) | 2016-06-02 |
CN107113084A (zh) | 2017-08-29 |
TW201633121A (zh) | 2016-09-16 |
EP3224958A4 (en) | 2018-07-18 |
EP3224958A1 (en) | 2017-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI566088B (zh) | 標頭同位錯誤處置技術 | |
US20230035420A1 (en) | Non-posted write transactions for a computer bus | |
US11657015B2 (en) | Multiple uplink port devices | |
US10691520B2 (en) | Live error recovery | |
US10380059B2 (en) | Control messaging in multislot link layer flit | |
US11561910B2 (en) | In-band retimer register access | |
EP3274861B1 (en) | Reliability, availability, and serviceability in multi-node systems with disaggregated memory | |
US9479196B2 (en) | High performance interconnect link layer | |
CN112631959B (zh) | 用于一致性消息的高带宽链路层 | |
CN107078850B (zh) | 边带奇偶校验处理 | |
US20230281080A1 (en) | Correctable error tracking and link recovery | |
US20240086291A1 (en) | Selective checking for errors |