TW201636865A - 用以啓用透過週邊構件互連快速匯流排的身份識別式串流之方法與裝置(二) - Google Patents
用以啓用透過週邊構件互連快速匯流排的身份識別式串流之方法與裝置(二) Download PDFInfo
- Publication number
- TW201636865A TW201636865A TW105106711A TW105106711A TW201636865A TW 201636865 A TW201636865 A TW 201636865A TW 105106711 A TW105106711 A TW 105106711A TW 105106711 A TW105106711 A TW 105106711A TW 201636865 A TW201636865 A TW 201636865A
- Authority
- TW
- Taiwan
- Prior art keywords
- transaction
- attribute
- identifier
- ido
- request
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/14—Handling requests for interconnection or transfer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本文描述一種用以啟用透過週邊構件互連快速匯流排(PCIe)的身份識別式串流之方法與裝置。在這方面,一裝置被引入,該裝置包括用以排定欲透過一串列點對點互連傳輸之封包的順序之一記憶體排序邏輯元件,如果在一遭延誤的第一封包之後到達之一第二封包包括有設定來指出該第二封包與順序無關之一屬性旗標,且如果該第二封包包括有與該第一封包所關聯之一ID不同之一個ID,該記憶體排序邏輯元件即用在該第一封包之後到達之該第二封包來越過該遭延誤的第一封包。本文亦說明了其它實施例且加以申請專利。
Description
本發明係有關於互連領域,及特別地,有關於啟用透過PCI快速匯流排的身份識別式串流。
電腦系統包括一些構件及元件。通常這些構件及元件透過一匯流排或互連而被耦接。早前,輸入/輸出(I/O)裝置透過一習知被稱為週邊構件互連(PCI)的多點並行匯流排架構而被耦接到一起。最近,被稱為PCI-Express(PCIe)(PCI快速匯流排)的新一代I/O匯流排已被用來利用一串列實體層通訊協定促進裝置之間的較快互連。
一PCIE架構包括一在裝置間通訊的分層式協定(layered protocol)。例如,一實體層、鏈接層、及交易層形成一PCIE協定堆疊。该PCIe鏈接圍繞著稱為線道(lane)之專用單向串列點對點連接對而建立。裝置之間的一鏈接包括一些數目的線道,諸如一、二、十六、三十二條等等。在http://www.pcisig.com/specifications/pciexpress/可得目前
的PCIE規範:基礎規範2.0。
習知的PCIe排序規則已被建立來啟用一生產者-消費者程式化模型。在此模型下,一特定裝置的讀取被需要來将在其之前產生的寫入推入。這一程式化模型確保了讀取一記憶體位置X將始終獲得已被寫入該記憶體位置之最近的資料。
然而,此排序要求導致一請求串流(一系列具有相同請求者及相同目的地之讀取或寫入交易)的請求干擾另一獨立的請求串流。此干擾可導致一嚴重的性能瓶頸。如果非投遞式(non-posted)請求被阻塞於投遞式(posted)請求之後的話,此干擾尤為嚴重,因為讀取請求對潛時敏感。
依據本發明之一實施例,係特地提出一種用以管理在一系統中之交易資料的通訊之設備,該設備包含:邏輯,其用以:識別在一第一交易後所發送之一特定交易,其中該特定交易係要包括一識別符式排序(IDO)屬性且該第一交易係要包括一投遞式請求;判定該特定交易之該IDO屬性係經設定;以及至少部份地基於經設定之該IDO屬性而允許該特定交易傳遞該第一交易。
100‧‧‧系統
105‧‧‧處理器
106‧‧‧前端匯流排
110‧‧‧系統記憶體
115‧‧‧控制器中樞
116‧‧‧記憶體介面
117、118、121、122、124、126、129、131‧‧‧介面
119、132‧‧‧串列鏈接
120‧‧‧交換器/橋接器
125、128‧‧‧輸入/輸出裝置
130‧‧‧圖形加速器
140、305‧‧‧記憶體排序邏輯元件
200‧‧‧層式協定堆疊
205‧‧‧交易層
206‧‧‧封包標頭/酬載
210‧‧‧鏈接層
211‧‧‧封包序列識別符
212‧‧‧CRC
220‧‧‧實體層
221‧‧‧邏輯子區塊
222‧‧‧電氣子區塊
223‧‧‧訊框
300‧‧‧智慧交換器
308‧‧‧投遞式請求佇列
310A-N‧‧‧投遞式請求
314‧‧‧非投遞式請求佇列
316A-N‧‧‧非投遞式請求
318‧‧‧完成佇列
320A-N‧‧‧完成
322、324、326‧‧‧指標
332‧‧‧身份識別式排序啟動器
334‧‧‧佇列選擇器
336‧‧‧指標處理者
338‧‧‧請求者/完成者身份識別比較器
340‧‧‧IDO旗標核對
350‧‧‧埠
400‧‧‧封包
402、404‧‧‧屬性位元
405‧‧‧資訊欄位
415‧‧‧請求者身份識別
420‧‧‧位址欄位
450、455、460、465‧‧‧排序模型
500‧‧‧表格
505、510、515、520、525‧‧‧單元
605~630‧‧‧流程
本發明以範例方式被說明並不欲受附圖的圖式限制。
第1圖說明一包括一連接一電腦系統內的I/O裝
置之串列點對點互連之系統的一實施例。
第2圖說明一層式協定堆疊的一實施例。
第3圖說明一記憶體排序邏輯元件的一實施例。
第4圖說明一包括一ID式排序旗標之封包的一實施例。
第5圖說明一排序表格的一實施例。
第6圖說明一用以啟用裝置ID式串流之流程圖的實施例。
在下面的說明中,許多特定細節被提出,諸如特定互連的範例、特定封包/訊息、封包/訊息內特定欄位及位置、邏輯/快取的特定位置等等,以便提供對本發明的一徹底理解。然而,對熟於此技者而言顯而易見的是,這些特定細節不需要被用來實施本發明。在其它實例中,習知構件或方法,諸如快取邏輯/實施、週邊構件互連快速匯流排(PCIe)訊息協定、交易中的PCIe欄位/封包、及其它PCIe基本實施未被予以詳細描述以免不必要的模糊本發明。
本文所予以描述的方法及裝置是用以啟用透過PCIe的身份識別(ID)式串流。具體地,越過一交換器中的佇列請求是參考一(因信用度或其它如尋頁錯失之事件而)遭延誤的投遞式(non-posted)請求而被予以討論。然而,用以啟用ID式串流的方法與裝置並不如此受限,因為它們可在任何積體電路裝置上或聯合任何積體電路裝置,諸如任何
輸入/輸出裝置或其它電腦構件,以及結合任何類型的串列點對點互連而被實施。
參考第1圖,一包括透過一串列鏈接(serial link)而被耦接至一控制器中樞之裝置的系統的一實施例被說明。系統100包括被耦接至控制器中樞(controller hub)115之處理器105及系統記憶體110。處理器105包括任一處理元件,諸如一微處理器、一主機處理器、一嵌入式處理器、一共處理器、或其它處理器。處理器105透過前端匯流排(FSB)106被耦接至控制器中樞115。在一實施例中,FSB 106是如下所述之一串列點對點互連。
系統記憶體110包括任一記憶體裝置,諸如隨機存取記憶體(RAM)、非依電性(NV)記憶體、或其它可被系統100內的裝置存取之記憶體。系統記憶體110透過記憶體介面116被耦接至控制器中樞115。一記憶體介面的範例包括一雙倍資料速率(DDR)記憶體介面、一雙通道DDR記憶體介面、及一動態RAM(DRAM)記憶體介面。
在一實施例中,控制器中樞115是週邊構件互連快速匯流排(PCIe或PCIE)階層中的一個根中樞或根控制器。控制器中樞115的範例包括一晶片組、一記憶體控制器中樞(MCH)、一北橋、一互連控制器中樞(ICH)、一南橋、及一個根控制器/中樞。通常晶片組一詞指兩實體分隔的控制器中樞,亦即一記憶體控制器中樞(MCH)被耦接至一互連控制器中樞(ICH)。
這裡,控制器中樞115透過串列鏈接119被耦接至交換器/橋接器120。也可被稱為介面/埠117之輸入/輸出模組117及121包括/實施一層式協定堆疊來提供控制器中樞115與交換器120之間的通訊。一模組,諸如模組117、118、121、122、124、126、129及131,可在硬體、軟體、韌體、或其等的任一組合中被實施。此外,模組邊界通常會改變且功能在不同實施例中不但可以被一同實施而且還可以分開實施。在一實施例中,多個裝置能夠被耦接至交換器120。
交換器120將封包/訊息自裝置125及128向上游路由安排,亦即,向上一階層朝向一根控制器至控制器中樞115並向下游路由安排,亦即,向下一階層遠離一根控制器,自處理器105或系統記憶體110至裝置125及128。裝置125及128包括耦接至一電子系統之任一內部或外部裝置或構件,諸如一I/O裝置、一網路介面控制器(NIC)、一附加卡、一音訊處理器、一網絡處理器、一硬碟驅動機、一儲存裝置、一CD/DVD ROM、一監視器、一印表機、一滑鼠、一鍵盤、一路由器、一可攜式儲存裝置、一防火牆裝置、一通用串列匯流排(USB)裝置、一掃描器、及其它輸入/輸出裝置。交換器120包括記憶體排序邏輯140,其如下文更詳細說明來啟用裝置ID式(ID-based)串流。
圖形加速器130透過串列鏈接132也被耦接至控制器中樞115。在一實施例中,圖形加速器130被耦接至一MCH,該MCH被耦接至一ICH。交換器120及相應地I/O裝置125及128接著被耦接至該ICH。I/O模組131及118也實施
一層式協定堆疊來在圖形加速器130與控制器中樞115之間通訊。
轉向第2圖,一層式協定堆疊之一實施例被說明。層式協定堆疊200包括任一層式通訊堆疊,諸如一快速路徑互連(QPI)堆疊、PCIe堆疊、或其它協定堆疊。在一實施例中,協定堆疊200是一包括交易層205、鏈接層210、及實體層220的PCIe堆疊。一介面,諸如第1圖的介面117、118、121、122、124、126、129及131,可被表示為通訊協定堆疊200。如一通訊協定堆疊之表示也被稱為一實施/包括一協定堆疊的模組或介面。
在一實施例中,交易層205係用以提供一裝置處理核心與互連架構諸如資料鏈接層210及實體層220之間的一介面。在這方面,交易層的一主要責任是封包(亦即,交易層封包,或TLP)的組合與拆卸。PCIe實施切割交易,亦即具有請求及響應的交易被時間分隔,允許一鏈接在目標裝置收集響應資料時攜載其它流量。
此外,PCIe利用信用式流程控制。在此方案中,一裝置對交易層205中的各該接收緩衝區通告一初始數量的信用度。在鏈接對立端的一外部裝置,諸如第1圖中的控制器中樞115,計算每一TLP消耗的信用度數目。如果一交易未超過一信用度限制,該交易可被傳輸。在接收一響應之後,一信用度數量被恢復。一信用度方案的一優點是信用度回報的潛時並不影響性能,但有條件是未遇到信用度
限制。
在一實施例中,四交易位址空間包括一組態位址空間、一記憶體位址空間、一輸入/輸出位址空間、及一訊息位址空間。記憶體空間交易包括一或一個以上的讀取請求與寫入請求來將資料傳遞至一記憶體映射位置或自一記憶體映射位置傳遞。在一實施例中,記憶體空間交易能夠使用兩不同的位址格式,舉例而言,一短位址格式,諸如一32位元位址,或一長位址格式,諸如64位元位址。組態空間交易被用來存取PCIe裝置的組態空間。到組態空間的交易包括讀取請求及寫入請求。訊息空間交易(或,簡單訊息)被定義來支援PCIe代理程式的頻帶內通訊。
因此,在一實施例中,交易層205組合封包標頭/酬載206。封包標頭/酬載的格式可在PCIe規範中獲悉,亦即PCIe基礎規範2.0,它可在http://www.pcisig.com/specifications/pciexpress/得到。
也稱為資料鏈接層210之鏈接層210充當交易層205與實體層220之間的一中間級。在一實施例中,資料鏈接層210的一責任是提供在兩組件一鏈接之間交換交易層封包(TLP)之一可靠的機制。資料鏈接層210的一側接收交易層205組合的TLP、應用封包序列識別符211,亦即一身份識別號碼或封包號碼、計算並應用一錯誤檢測碼,亦即CRC212,並將修改的TLP提交至實體層220供跨越一實體鏈接傳輸至一外部裝置。
在一實施例中,實體層220包括用以將一封包實體傳輸至一外部裝置之邏輯子區塊221及電氣子區塊222。這裡,邏輯子區塊221負責實體層221的「數位」功能。在這方面,邏輯子區塊包括一用以準備實體子區塊222傳輸的輸出資訊之傳輸區段,及一用以在將接收的資訊傳遞至鏈接層210之前識別並準備接收的資訊之接收區段。
實體區塊222包括一傳輸器及一接收器。該傳輸器由邏輯子區塊221供應符元,傳輸器串列化該等符元並傳輸至一外部裝置。該接收器被供應以來自一外部裝置之串列化的符元並將該等接收的信號轉換為一位元串流。該位元串流被反串列化並被提供至邏輯子區塊221。在一實施例中,在傳輸/接收了十位元符元的情況下,使用一8b/10b傳輸碼。這裡,特殊的符元被用來以訊框223來為封包加框。此外,在一範例中,接收器也提供一自進入的串列串流恢復出的符元時鐘。
如上所述,雖然交易層205、鏈接層210、及實體層220是參考一PCIe協定堆疊的一特定實施例而被予以討論,但是一層式協定堆疊並不如此受限。事實上,任一層式協定可被包括/實施。如一範例,一被表示為一層式協定的埠/介面包括:(1)一用以組合封包的第一層,亦即,一交易層;一用以序列化封包的第二層,亦即一鏈接層;及一用以傳輸該等封包的第三層,亦即一實體層。
接著參考第3圖,一記憶體排序邏輯的一實施例
被說明。如所繪示,智慧交換器300包括記憶體排序邏輯305、投遞式請求佇列308(包括投遞式請求310A-N)及指標322、非投遞式請求隊列314(包括非投遞式請求316A-N)及指標324、完成佇列318(包括完成320A-N)及指標326、及埠350(其可以是一上游或下游埠)。
記憶體排序邏輯305實施一種啟用裝置ID式串流的方法,例如如參考第6圖所述,且可包括ID式排序啟動器332、佇列選擇器334、指標處理者336、請求者/完成者ID比較器338及識別符式排序(IDO)旗標核對340。
參考第4圖,一包括一ID式排序旗標之封包的一實施例被說明。一封包指任一請求、訊息、存取、或在一匯流排/互連上被傳輸之其它資訊分組。在所示實施例中,封包400包括其它資訊欄位405。其它資訊欄位405的範例包括保留欄位、格式欄位、屬性欄位、長度欄位、PCIe特定欄位、及任何其它協定特定欄位。另外,封包400包括請求者ID415(位元組4及5),其可參考一請求代理程式/裝置及為一全域ID/交易描述符的一部分或包括一全域ID/交易ID,及位址欄位420來參考一位址位置。
屬性位元402及404可如所繪示來啟用排序模型450、455、460及465。可使用位元組1之目前保留位元2的屬性位元402表示一ID式排序旗標,該ID式排序旗標可被設定為一請求者或完成者來指示一請求者或完成與順序無關及可越過投遞式請求。
接著參考第5圖,一排序表格之一實施例被說
明。表格500類似於PCIe規範之表格2-24,但被修改成在某些實例中允許一獨立請求串流超過較早排隊但遭延誤的投遞式記憶體寫入或訊息請求(第2行)。
依據單元505,一記憶體寫入或訊息請求:在鬆弛排序屬性位元404清除及ID排序位元402清除的情況下不得超過(a);在鬆弛排序屬性位元404設定及ID排序位元402清除的情況下被允許超過(b);及在鬆弛排序屬性位元404清除及ID排序位元402設定的情況下被允許超過任何其它記憶體寫入或訊息請求,如果它們的請求者ID415不同(c)。
依據單元510,一讀取請求:在鬆弛排序屬性位元404清除及ID排序位元402清除的情況下不得超過(a);在鬆弛排序屬性位元404設定及ID排序位元402清除的情況下不得超過(b);及在鬆弛排序屬性位元404清除及ID排序位元402設定的情況下被允許超過任何其它記憶體寫入或訊息請求,如果它們的請求者ID415不同(c)。
依據單元515,I/O或組態寫入請求無法超過一記憶體寫入或訊息請求。這保留了被需要來支援生產者/消費者使用模型之強寫入排序。
依據單元520,一讀取完成:在鬆弛排序屬性位元404清除及ID排序位元402清除的情況下不得超過(a);在鬆弛排序屬性位元404清除及ID排序位元402設定的情況下被允許超過(b);及在鬆弛排序屬性位元404清除及ID排序位元402設定的情況下被允許超過任何其它記憶體寫入或訊息請求,如果它們完成者ID與記憶體寫入之請求者ID415
不同(c)。
最後,依據單元525,I/O或組態寫入完成被允許受記憶體寫入及訊息請求阻塞或超過記憶體寫入及訊息請求。此類交易通常以相反方向移動及因而,沒有排序關係。
接著參考第6圖,一用以啟用裝置ID式串流之流程圖的一實施例被說明。在流程605,ID式排序啟動器332判定是否存在一機會來越過一投遞式請求。在一實施例中,如果啟動器332判定一投遞式請求被延誤,其將此流程推進至610。
在流程610,佇列選擇器334接著選擇一佇列以找尋一選替封包來傳輸。在一實施例中,選擇器334根據哪一佇列有最多的項來選擇投遞式請求佇列308、非投遞式請求佇列314或完成佇列318。在另一實施例中,選擇器334始終首先選擇非投遞式請求佇314來找尋一選替封包。在流程615,指標處理者336可令指標332、324、326中之一或一個以上的指標增量,例如,如果一先前可能選替封包不被允許超過(亦即,不是來自一獨立串流或不具有ID排序位元402設定)。
接著,在流程620請求者/完成者ID比較器判定是否可能選替封包之請求者/完成者ID不同於投遞式請求佇列308中早前接收投遞式請求中之任一者的ID。在一實施例中,比較器338使用一隨同每一非投遞式請求被儲存之投遞式請求指標及完成來判定投遞式請求佇列308中哪一投遞式請求在可能選替封包之前被接收。如果由早前接收投遞
式請求,可能選替封包被判定為是一獨立串流,則流程繼續流程625。不然,流程返回至流程605。
在流程625,IDO旗標核對340驗證ID排序位元402被設定於可能選替封包中,及如果被設定於可能選替封包中,在流程630,選替封包透過埠350被傳輸。不然,流程返回至流程605。
上面提出之方法、軟體、韌體或代碼之實施例可透過儲存於一機器可存取或機器可讀取媒體上、可被一處理元件執行之指令或代碼而實施,一機器可存取/可讀取媒體包括任何以一為一諸如一電腦或電子系統之機器可讀取的形式提供(亦即,儲存及/傳輸)資訊之機制。舉例而言,一機器可存取媒體包括隨機存取記憶體(RAM),諸如靜態RAM(SRAM)或動態RAM(DRAM);ROM;磁或光學儲存媒體;快閃記憶體裝置;電氣、光學、聲學或其它形式的傳播信號(例如,載波、紅外信號、數位信號)等。
本說明書提及「一實施例」意為結合實施例所予以描述之一特定特徵、結構、或特性被包括在本發明之至少一實施例中。因此,在本說明書的各不同位置出現片語「在一實施例中」未必都指相同的實施例。此外,特定特徵、結果、或特性能以適當方式被結合於一或一個以上的實施例中。
在前面說明書中,參考特定示範實施例已給出一詳細說明。然而,將明顯的是,在不背離較廣精神及後附申請專利範圍所提出之本發明的範圍的情況下可對此詳細
說明作各種修改及改變。本說明書及圖式因此在一說明性意義而非一限制意義上來看待。此外,前面使用實施例及其它示範語言未必指相同實施例或相同範例,而可指不同及相異實施例,以及可能地相同實施例。
100‧‧‧系統
105‧‧‧處理器
106‧‧‧前端匯流排
110‧‧‧系統記憶體
115‧‧‧控制器中樞
116‧‧‧記憶體介面
117、118、121、122、124、126、129、131‧‧‧介面
119、132‧‧‧串列鏈接
120‧‧‧交換器/橋接器
125、128‧‧‧輸入/輸出裝置
130‧‧‧圖形加速器
140‧‧‧記憶體排序邏輯元件
Claims (30)
- 一種用以管理在一系統中之交易資料的通訊之設備,該設備包含:邏輯,其用以:識別在一第一交易後所發送之一特定交易,其中該特定交易係要包括一識別符式排序(IDO)屬性且該第一交易係要包括一投遞式請求;判定該特定交易之該IDO屬性係經設定;以及至少部份地基於經設定之該IDO屬性而允許該特定交易超過該第一交易。
- 如請求項1之設備,其中該邏輯係至少部份地以硬體電路實施。
- 如請求項1至2中任一項之設備,其中該特定交易係用以進一步基於該第一交易之一請求者識別符係不同於該特定交易之一請求者識別符的一判定而超過該第一交易。
- 如請求項1至3中任一項之設備,其中該邏輯係進一步用以判定該第一交易之該請求者識別符係不同於該特定交易之一請求者識別符。
- 如請求項1至4中任一項之設備,其中該邏輯係進一步用以識別來自該第一交易之一標頭的該第一交易之該請求者識別符並識別來自該特定交易之一標頭的該特定交易之該請求者識別符。
- 如請求項1至5中任一項之設備,其中該投遞式請求包含一記憶體寫入請求。
- 如請求項1至6中任一項之設備,其中該投遞式請求包含一訊息請 求。
- 如請求項1至7中任一項之設備,其中該特定交易包含一投遞式請求。
- 如請求項1至8中任一項之設備,其中該特定交易包含一非投遞式請求。
- 如請求項1至9中任一項之設備,其中該非投遞式請求包含一讀取請求及具有資料之一非投遞式請求中之一者。
- 如請求項1至10中任一項之設備,其中該等第一及特定交易係透過一點對點串列資料鏈接所接收。
- 如請求項1至11中任一項之設備,其中該串列資料鏈接係與週邊構件互連快速匯流排(PCIe)兼容。
- 如請求項1至12中任一項之設備,其中該特定交易包含一標頭,該標頭包括一請求者識別符、一鬆弛排序屬性欄位、及一IDO屬性欄位。
- 如請求項1至13中任一項之設備,其中該IDO屬性欄位包含一單一位元。
- 如請求項1至14中任一項之設備,其中該特定交易係要被允許當該鬆弛排序屬性被設定時傳遞該第一交易。
- 如請求項1至15中任一項之設備,其中該邏輯係進一步用以判定該鬆弛排序屬性是否被設定。
- 一種用以管理在一系統中之交易資料的通訊之設備,該設備包含:一分層協定堆疊,其包含交易層邏輯、一鏈接層邏輯、及實體層邏輯,其中該交易層邏輯係用以: 識別係用以包含標頭資料之經延誤的一第一交易,其中該標頭資料係要包括一第一請求者識別符且該第一交易係要包含一投遞式請求;識別在該第一交易後所發送之一第二交易,其中該第二交易係要包含標頭資料,該標投資料係要包括一第二請求者識別符、一鬆弛排序屬性欄位、及一識別符式排序(IDO)屬性欄位,且該第二交易係要包括包含另一投遞式請求、一非投遞式讀取請求、及具有資料之一非投遞式請求的一群組中之一者;判定該第二交易之該IDO屬性係經設定;判定該第二交易之該鬆弛排序屬性是否被設定,其中該第二交易係要被允許當該鬆弛排序屬性被設定時超過該第一交易,且該第二交易係一投遞式請求及具有資料之一非投遞式請求中之一者;判定該第一請求者識別符與該第二請求者識別符係不相同;以及至少部分地基於經設定之該IDO屬性及該第一請求者識別符與該第二請求者識別符係不相同之該判定而允許該第二交易超過該第一交易。
- 一種用以管理在一系統中之交易資料的通訊之方法,該方法包含:識別在一第一交易後所發送之一第二交易,其中該第二交易係要包括一識別符式排序(IDO)屬性且該第一交易係要包括一投遞式請求; 判定該第二交易之該IDO屬性係經設定;以及至少部分地基於經設定之該IDO屬性而允許該第二交易超過該第一交易。
- 如請求項18之方法,其進一步包含:識別在一第一交易後所發送之一第二交易,其中該第二交易係要包括一識別符式排序(IDO)屬性且該第一交易係要包括一投遞式請求;判定該第二交易之該IDO屬性係經設定;以及至少部分地基於經設定之該IDO屬性而允許該第二交易超過該第一交易。
- 如請求項18至19中任一項之方法,其進一步包含判定該第一交易之一請求者識別符係不同於該第二交易之一請求者識別符,其中允許該第二交易超過該第一交易係進一步基於該第一交易之該請求者識別符係不同於該第二交易之該請求者識別符的該判定。
- 如請求項18至20中任一項之方法,其中判定該第一交易之該請求者識別符係不同於該第二交易之該請求者識別符包括識別在該第一交易之標頭資料中的該第一交易之該請求者識別符以及識別在該第二交易之標頭資料中的該第二交易之該請求者識別符。
- 如請求項18至21中任一項之方法,其中該第二交易進一步包括一鬆弛排序屬性且該方法進一步包含判定該第二交易之該鬆弛排序屬性是否被設定,其中當該鬆弛排序屬性被設定時該第二交易係要被允許超過該第一交易。
- 如請求項18至22中任一項之方法,其進一步包含:接收該第一交易;以及 接收該第二交易。
- 一種用以管理在一系統中之交易資料的通訊之設備,該設備包含用以執行請求項18至23中任一項的方法之構件。
- 一種包含邏輯之設備,其至少一部份係以硬體邏輯方式,該邏輯用以進行請求項18至23中任一項之方法。
- 一種用以通訊交易資料之系統,該系統包含:一第一I/O裝置;一第二I/O裝置;以及一第三I/O裝置,其通訊地耦接至該等第一及第二I/O裝置,其中該第三I/O裝置係用以:接收來自該第一I/O裝置之一第一交易;接收在該第一交易後來自該第二I/O裝置之一第二交易;判定該第二交易之一識別符式排序(IDO)屬性係經設定;以及至少部分地基於經設定之該IDO屬性而允許該第二交易超過該第一交易。
- 如請求項26之系統,其中該第三I/O裝置係進一步用以判定該第一交易之一請求者識別符係不同於該第二交易之一請求者識別符,其中該第二交易係要進一步基於該第一交易之該請求者識別符係不同於該第二交易之該請求者識別符的一判定而超過該第一交易。
- 如請求項26之系統,其中該第三I/O裝置包含一交換器。
- 如請求項28之系統,其中該第一I/O裝置包含一微處理器、圖形加速器、及記憶體控制器中之至少一者。
- 如請求項26之系統,其中該第三I/O裝置係藉由一PCIe兼容之串列點對點互連來通訊地耦接至該等第一及第二I/O裝置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/474,480 US8199759B2 (en) | 2009-05-29 | 2009-05-29 | Method and apparatus for enabling ID based streams over PCI express |
US12/474,480 | 2009-05-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201636865A true TW201636865A (zh) | 2016-10-16 |
TWI633442B TWI633442B (zh) | 2018-08-21 |
Family
ID=43220157
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105106711A TWI633442B (zh) | 2009-05-29 | 2010-03-29 | 用以啓用透過週邊構件互連快速匯流排的身份識別式串流之方法與裝置(二) |
TW099109390A TWI568220B (zh) | 2009-05-29 | 2010-03-29 | 用以啟用透過週邊構件互連快速匯流排的身份識別式串流之方法與裝置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW099109390A TWI568220B (zh) | 2009-05-29 | 2010-03-29 | 用以啟用透過週邊構件互連快速匯流排的身份識別式串流之方法與裝置 |
Country Status (8)
Country | Link |
---|---|
US (1) | US8199759B2 (zh) |
JP (2) | JP2012527036A (zh) |
KR (1) | KR101298862B1 (zh) |
CN (2) | CN101901205B (zh) |
DE (2) | DE112010002178T5 (zh) |
RU (2) | RU2559727C2 (zh) |
TW (2) | TWI633442B (zh) |
WO (1) | WO2010138230A2 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8199759B2 (en) | 2009-05-29 | 2012-06-12 | Intel Corporation | Method and apparatus for enabling ID based streams over PCI express |
EP2577936A2 (en) * | 2010-05-28 | 2013-04-10 | Lawrence A. Laurich | Accelerator system for use with secure data storage |
WO2013105978A1 (en) * | 2012-01-13 | 2013-07-18 | Intel Corporation | Allocation of flow control credits for high performance devices |
KR101828756B1 (ko) * | 2012-10-22 | 2018-02-12 | 인텔 코포레이션 | 고성능 인터커넥트 코히어런스 프로토콜 |
US9600431B2 (en) | 2012-10-22 | 2017-03-21 | Intel Corporation | High performance interconnect physical layer |
US9558143B2 (en) * | 2014-05-09 | 2017-01-31 | Micron Technology, Inc. | Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device |
US9602464B2 (en) | 2014-12-12 | 2017-03-21 | Intel Corporation | Apparatus, system and method for allocating identifiers to components of a control system |
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 |
US11216396B2 (en) * | 2016-09-29 | 2022-01-04 | Intel Corporation | Persistent memory write semantics on PCIe with existing TLP definition |
US10353833B2 (en) | 2017-07-11 | 2019-07-16 | International Business Machines Corporation | Configurable ordering controller for coupling transactions |
CN108471384B (zh) * | 2018-07-02 | 2020-07-28 | 北京百度网讯科技有限公司 | 用于端到端通信的报文转发的方法和装置 |
US11477049B2 (en) * | 2018-08-02 | 2022-10-18 | Xilinx, Inc. | Logical transport over a fixed PCIE physical transport network |
CN110580202A (zh) * | 2019-06-04 | 2019-12-17 | 阿里巴巴集团控股有限公司 | 服务器系统内消息的处理方法、装置及系统 |
US11748285B1 (en) * | 2019-06-25 | 2023-09-05 | Amazon Technologies, Inc. | Transaction ordering management |
KR102529761B1 (ko) | 2021-03-18 | 2023-05-09 | 에스케이하이닉스 주식회사 | PCIe 디바이스 및 그 동작 방법 |
KR102496994B1 (ko) * | 2021-03-23 | 2023-02-09 | 에스케이하이닉스 주식회사 | PCIe 인터페이스 장치 및 그 동작 방법 |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3505728B2 (ja) * | 1993-01-13 | 2004-03-15 | 株式会社日立製作所 | 記憶制御装置 |
US6138192A (en) * | 1996-12-31 | 2000-10-24 | Compaq Computer Corporation | Delivering a request to write or read data before delivering an earlier write request |
US6385708B1 (en) * | 1998-11-16 | 2002-05-07 | Infineon Technologies Ag | Using a timing-look-up-table and page timers to determine the time between two consecutive memory accesses |
US6691192B2 (en) * | 2001-08-24 | 2004-02-10 | Intel Corporation | Enhanced general input/output architecture and related methods for establishing virtual channels therein |
CN100409606C (zh) * | 2001-08-24 | 2008-08-06 | 英特尔公司 | 管理数据完整性的通用输入/输出体系结构、协议和方法 |
US6728790B2 (en) * | 2001-10-15 | 2004-04-27 | Advanced Micro Devices, Inc. | Tagging and arbitration mechanism in an input/output node of a computer system |
US6912612B2 (en) * | 2002-02-25 | 2005-06-28 | Intel Corporation | Shared bypass bus structure |
US7149857B2 (en) * | 2002-05-14 | 2006-12-12 | Micron Technology, Inc. | Out of order DRAM sequencer |
DE10234934A1 (de) * | 2002-07-31 | 2004-03-18 | Advanced Micro Devices, Inc., Sunnyvale | Antwortreihenwiederherstellungsmechanismus |
US7443869B2 (en) * | 2003-08-04 | 2008-10-28 | Intel Corporation | Deadlock avoidance queuing mechanism |
US7444558B2 (en) * | 2003-12-31 | 2008-10-28 | Intel Corporation | Programmable measurement mode for a serial point to point link |
US7165131B2 (en) * | 2004-04-27 | 2007-01-16 | Intel Corporation | Separating transactions into different virtual channels |
US7957428B2 (en) * | 2004-05-21 | 2011-06-07 | Intel Corporation | Methods and apparatuses to effect a variable-width link |
US20050289306A1 (en) * | 2004-06-28 | 2005-12-29 | Sridhar Muthrasanallur | Memory read requests passing memory writes |
CN100456273C (zh) * | 2005-03-24 | 2009-01-28 | 富士通株式会社 | PCI-Express通信系统及其通信方法 |
US7461190B2 (en) * | 2005-08-11 | 2008-12-02 | P.A. Semi, Inc. | Non-blocking address switch with shallow per agent queues |
US7664904B2 (en) * | 2006-03-10 | 2010-02-16 | Ricoh Company, Limited | High speed serial switch fabric performing mapping of traffic classes onto virtual channels |
US20080005484A1 (en) * | 2006-06-30 | 2008-01-03 | Joshi Chandra P | Cache coherency controller management |
US7836220B2 (en) * | 2006-08-17 | 2010-11-16 | Apple Inc. | Network direct memory access |
US7949794B2 (en) * | 2006-11-02 | 2011-05-24 | Intel Corporation | PCI express enhancements and extensions |
US8050290B2 (en) * | 2007-05-16 | 2011-11-01 | Wilocity, Ltd. | Wireless peripheral interconnect bus |
US7904629B2 (en) * | 2007-10-02 | 2011-03-08 | NVON, Inc. | Virtualized bus device |
US8199759B2 (en) | 2009-05-29 | 2012-06-12 | Intel Corporation | Method and apparatus for enabling ID based streams over PCI express |
-
2009
- 2009-05-29 US US12/474,480 patent/US8199759B2/en active Active
-
2010
- 2010-03-10 DE DE112010002178T patent/DE112010002178T5/de not_active Ceased
- 2010-03-10 RU RU2013146508/08A patent/RU2559727C2/ru not_active IP Right Cessation
- 2010-03-10 KR KR1020117028449A patent/KR101298862B1/ko active IP Right Grant
- 2010-03-10 DE DE202010018100.3U patent/DE202010018100U1/de not_active Expired - Lifetime
- 2010-03-10 JP JP2012510805A patent/JP2012527036A/ja active Pending
- 2010-03-10 WO PCT/US2010/026777 patent/WO2010138230A2/en active Application Filing
- 2010-03-10 RU RU2011153260/08A patent/RU2509348C2/ru not_active IP Right Cessation
- 2010-03-29 TW TW105106711A patent/TWI633442B/zh active
- 2010-03-29 TW TW099109390A patent/TWI568220B/zh active
- 2010-05-27 CN CN201010194859.2A patent/CN101901205B/zh active Active
- 2010-05-27 CN CN201410310637.0A patent/CN104123262B/zh active Active
-
2013
- 2013-09-11 JP JP2013188640A patent/JP5897524B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
US8199759B2 (en) | 2012-06-12 |
RU2509348C2 (ru) | 2014-03-10 |
WO2010138230A2 (en) | 2010-12-02 |
TW201101044A (en) | 2011-01-01 |
KR20120024669A (ko) | 2012-03-14 |
CN101901205A (zh) | 2010-12-01 |
RU2011153260A (ru) | 2013-07-10 |
CN101901205B (zh) | 2014-07-30 |
JP5897524B2 (ja) | 2016-03-30 |
CN104123262A (zh) | 2014-10-29 |
US20100303079A1 (en) | 2010-12-02 |
RU2559727C2 (ru) | 2015-08-10 |
JP2014017006A (ja) | 2014-01-30 |
TWI633442B (zh) | 2018-08-21 |
WO2010138230A3 (en) | 2011-01-20 |
KR101298862B1 (ko) | 2013-08-21 |
CN104123262B (zh) | 2018-03-30 |
JP2012527036A (ja) | 2012-11-01 |
RU2013146508A (ru) | 2015-04-27 |
TWI568220B (zh) | 2017-01-21 |
DE112010002178T5 (de) | 2012-09-20 |
DE202010018100U1 (de) | 2014-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI633442B (zh) | 用以啓用透過週邊構件互連快速匯流排的身份識別式串流之方法與裝置(二) | |
US11726939B2 (en) | Flex bus protocol negotiation and enabling sequence | |
US8139575B2 (en) | Device, system and method of modification of PCI express packet digest | |
US7827325B2 (en) | Device, system, and method of speculative packet transmission | |
US9189441B2 (en) | Dual casting PCIE inbound writes to memory and peer devices | |
US7412555B2 (en) | Ordering rule and fairness implementation | |
EP1433067A1 (en) | An enhanced general input/output architecture and related methods for establishing virtual channels therein | |
KR20040041644A (ko) | 향상된 범용 입력/출력 아키텍쳐에서의 에러 포워딩 | |
JP6273010B2 (ja) | 入出力データアライメント | |
US7610415B2 (en) | System and method for processing data streams | |
TW201214132A (en) | USB transaction translator and an isochronous-in transaction method | |
Table | DS551 June 22, 2011 Product Specification | |
TWI240859B (en) | Error forwarding in an enhanced general input/output architecture and related methods | |
Sreekanth | DESIGN AND VARIFICATION OF APPLICATION AND TRANSACTION LAYERS OF PCI-EXPRESS |