TWI420319B - 用於修改異動屬性的系統、方法與設備 - Google Patents
用於修改異動屬性的系統、方法與設備 Download PDFInfo
- Publication number
- TWI420319B TWI420319B TW098134482A TW98134482A TWI420319B TW I420319 B TWI420319 B TW I420319B TW 098134482 A TW098134482 A TW 098134482A TW 98134482 A TW98134482 A TW 98134482A TW I420319 B TWI420319 B TW I420319B
- Authority
- TW
- Taiwan
- Prior art keywords
- action
- attribute
- devices
- integrated
- endpoint device
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 18
- 230000009471 action Effects 0.000 claims description 75
- 230000000116 mitigating effect Effects 0.000 claims description 19
- 230000007246 mechanism Effects 0.000 claims description 14
- 239000004744 fabric Substances 0.000 claims description 4
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 239000002131 composite material Substances 0.000 claims 2
- 230000008878 coupling Effects 0.000 claims 2
- 238000010168 coupling process Methods 0.000 claims 2
- 238000005859 coupling reaction Methods 0.000 claims 2
- 238000011144 upstream manufacturing Methods 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 229910052747 lanthanoid Inorganic materials 0.000 description 1
- 150000002602 lanthanoids Chemical class 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012913 prioritisation Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/161—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
- G06F13/1626—Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement by reordering requests
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Systems (AREA)
- Multi Processors (AREA)
- Memory System (AREA)
- Bus Control (AREA)
- Power Sources (AREA)
Description
本發明的實施例係大致有關異動排序的技術,且更確切來說,本發明的實施例係有關允許修改嚴格排序的系統與方法。
周邊構件互連體(PCI)是在1992年研發出來以取代工業標準架構(ISA)匯流排的一種第二代並列匯流排架構。在PCI中,所有裝置共享相同的雙向、32位元(或64位元)並列信號路徑。該種PCI匯流排帶來了多項優於ISA匯流排的優點,包括處理器獨立性、緩衝隔離、匯流排主控、以及真實的隨插即用操作。PCI Express(PCIe)是一種設計來取代該匯流排的第三代一般用途串列I/O互連體。PCIe並不是一種匯流排,而是建構在稱為通道(lane)的點對點串列鏈結周邊。
PCI Express的該種點對點串列鏈結架構相當適於經由一種分散式多處理器架構模式的分散式處理技術。分散式處理器通常受到最佳化,以實行資料封包處理功能。並不像相當程度地仰賴快取動作以改善效能的一般用途CPU,分散式處理器缺乏封包處理動作中的局部性並且需要高效能I/O,這已促使設計者要提出創新的架構來降低處理潛伏期間而同時能以高資料率處理封包。
目前,必須由請求器來設定PCIe與相似互連體中的異動排序屬性。因為主機CPU為一般資源,它們典型地並不具備根據所進行活動的特定需求來設定排序屬性的能力,並且必須退回到最低的共同點,其因此導致低效能。CPU對IO讀取往往是最重要的效能關鍵系統異動,因為一CPU核心可以一直等待結果。改善該種讀取動作的效能因此將藉由釋出CPU資源以供用於其他更有用的工作,來直接地導向整體系統效能的提升。
依據本發明之一實施例,係特地揭露一種資料處理系統,其包含:一異動排序機構,其係組配成可判定是否可使一讀取完成動作的一排序屬性緩和,且該異動排序機構另組配成可於適當時使該排序屬性緩和;其中一緩和性排序屬性允許該讀取完成動作繞過未決的寫入動作。
可參照以下的發明說明與用以展示出本發明實施例的圖式而最佳地瞭解本發明。
第1圖以PCIe請求頭標的概要圖展示出緩和性排序屬性。
第2圖以PCIe完成頭標的概要圖展示出緩和性排序屬性。
第3圖以概要圖展示出本發明的一實施例。
第4圖以概要圖展示出本發明的另一個實施例。
如本發明說明以及申請專利範圍所使用的,單數形式的〝一〞、〝一個〞、以及〝該〞包括複數形式的參照,除非在本文中特別明確表示出來的以外。一種〝根複合體〞(〝RC〞)為一種PCI Express裝置,其使一中央處理單元(〝CPU〞或〝處理器〞)以及記憶體連接至該PCI Express交換結構。該根複合體代表該處理器產生異動請求。一種〝請求器〞為提出一請求的任何裝置。一種〝完成器"為針對一請求提供服務的任何實體。一種〝中間物〞為介於該請求器以及該完成器之間的任何裝置,例如一交換器。典型地,中間物僅傳遞該請求。本發明說明以及申請專利範圍中使用的〝上游〞係表示朝向該根複合體的流動。〝下游"則表示離開該根複合體的流動。一〝區域"為以一位址或多個位址範圍界定之記憶體的一部分。例如,一裝置可能想要針對用以把指令儲存到該裝置中的一區域以及用於該裝置產生或耗用之資料的另一區域進行不同的行為。
本發明的實施例描述如何藉著使IO裝置根據該裝置對異動特定需求的理解來修改該完成動作的排序屬性,以針對CPU對IO裝置讀取來恢復因為不必要嚴格排序而喪失某些效能的技術。舉嚴格排序的問題作為一實例,假設可以使最初花了2μs完成的一項讀取提升到只花1μs就完成,可把該1μs的差異〝送回〞到該核心以進行有效的工作-有足夠時間可執行數千個指令。目前的系統經常在CPU對IO裝置讀取動作方面產生0.6μs到數μs的延遲。大型系統可能針對習知排序的CPU對IO裝置讀取動作產生4μs的延遲。此種延遲的大部分是因為禁止完成動作繞過寫入動作的習知排序需求而引起。因為往往有相當多的IO裝置要對主要記憶體寫入訊務,對該CPU的讀取完成動作經常會因為要把該等許多寫入動作引起的延遲排入佇列而受到延誤。
PCIe與相似互連體使排序屬性與異動相聯結,以允許進行最佳化的處置動作。例如,在PCI/PCIe中,預設的排序規則需要讀取完成動作等待流向相同方向的所有先前發佈寫入,作為PCI生產者/消費者排序模型的一項正確需求。然而,此種模型在大部分的狀況中是過度保守的。例如,在讀取描述一IO裝置狀態的一資料結構之前,往往需要清空對主要記憶體進行的該IO裝置寫入動作。使該裝置寫入清空的動作往往是藉著使該CPU從該裝置進行讀取來完成。然而,一旦該清空讀取動作完成,典型地不需要針對上游寫入動作來排序額外的裝置狀態讀取動作。再者,往往不需要針對來自不相關裝置的上游寫入動作來排序該CPU的讀取動作,即使該PCI/PCIe預設排序規則需要此項行為。
典型地,主機CPU並無法知道如何標示讀取請求以指出所需的排序屬性。然而,該IO裝置典型地知悉哪些區域需要習知排序而哪些區域不需要。該等排序需求可能彼此相當不同,在位於一裝置中的一暫存器以及位於相同裝置中的另一個暫存器不同,甚至對如何存取該暫存器的方式也不同。理論上來說,可以透過在該主機上運轉的裝置驅動程式軟體來傳遞對該排序需求的理解,但最新近架構的CPU並未提供如此進行的機構。然而,典型地,該IO裝置本身具有對該等排序需求的理解。然而,該IO裝置不能把該CPU標示為裝置請求-假設最保守的排序需求適用,此異動部分必需受到掌管,除非使用某些其他機構相反地表示出來。
在許多實例中,對該完成動作設置的排序需求會產生嚴重的延遲問題。然而,藉由本發明揭露的系統與方法,可由該IO裝置於適當時針對排序需求緩和性目的來標示該排序需求。該排序需求依據所實行的架構而定。在本發明的一實施例中,該架構為PCIe。PCIe裝置已經可存取一種稱為緩和性排序(RO)的排序屬性。
第1圖展示出該RO位元在PCIe請求頭標中的位置。典型地,在該請求中,係把該RO位元設定為0,除非有能提供資訊以供該CPU瞭解哪個請求可允許設定該RO位元的某種機構。依據現存的PCIe規則,該RO位元(以及相關聯排序暗示)係由該完成器從該請求複製到該完成中。第2圖展示出PCIe完成頭標中的對應緩和性排序(RO)位元。
在今日的PCI-x/PCIe中,如果已在對應請求中設定該RO位元,便僅在完成頭標中設定該RO位元。此策略對讀取主要記憶體的裝置來說是有意義的,因為假設該裝置〝知悉〞可以把哪些請求標示為RO而不能把哪些請求標示為RO。本發明的實施例可認定針對該裝置送回的該完成動作把來自一裝置的CPU讀取動作標示為RO。此允許該完成動作繞過對記憶體進行的不相關裝置寫入動作。
第3圖展示出如何由一IO裝置來設定一緩和性排序屬性(在此實例中,為一PCI/PCIe完成動作的RO位元)的實例。在此實例中,系統100包括3個PCI/PCIe端點1、2、3。然而,系統100可具有任何數量的PCI/PCIe端點。前面的二個PCI/PCIe端點1、2經由PCIe互連體122連接至交換器108。交換器108透過另一個PCIe互連體122連接至根複合體110。第三個PCI/PCIe端點3經由PCIe互連體122直接地連接至根複合體110。根複合體110包括輸入/輸出控制器中樞控制器(ICH)112、記憶體控制器中樞(MCH)114、主要記憶體116、以及CPU 118。輸入/輸出控制器中樞控制器(ICH)112經由桌面管理介面(DMI)120連接至記憶體控制器中樞(MCH)114。
在此實施例中,端點2與端點3正把資料寫入到主要記憶體116中。該等寫入動作與端點1的活動無關。CPU核心118正從端點1進行讀取。在假設該等寫入動作可與該讀取資料相關的狀況下(過度保守),習知的PCI排序規則禁止該完成動作繞過該等寫入動作而到記憶體。此種行為是PCI生產者/消費者模型要求的。典型地,端點1〝知悉〞正受到該CPU讀取的資料是否與對記憶體進行的未完成寫入動作相關,且如果與未完成寫入動作有一種關係性的話,便不會針對該讀取完成動作指出RO。然而,在大部分的狀況中,端點1〝知悉〞該讀取動作並不與任何未完成寫入動作相關,且在此實例中,端點1可安全地針對RO來標示該完成動作。
第4圖展示出本發明的另一個實施例,其中係把多個定址裝置整合到根複合體110中。系統200包括連接至輸入/輸出控制器中樞控制器(ICH)112的二個整合式端點124與126。輸入/輸出控制器中樞控制器(ICH)112經由桌面管理介面(DMI)120連接至記憶體控制器中樞(MCH)114。記憶體控制器中樞(MCH)114連接至CPU 118以及主要記憶體116。此實施例包括一個單一的PCI/PCIe端點1。然而,系統100可具有任何數量的整合式定址裝置124、126或PCI/PCIe端點1。
在許多狀況中,整合式定址裝置124與126可用於良好的界定方式,且可能可以簡化用以判定完成排序緩和性何時可被接受的機構。要注意的是,完成排序的特定處置動作並不需要遵循PCIe RO需求。換言之,可根據所欲的成本/利益而使本發明的其他實施例變得較為簡單或較為複雜。
第4圖展示出一種具有根複合體整合式裝置的系統,該等根複合體整合式裝置參與一種完成排序緩和方案。在展示於第4圖的該系統中,可以實行下列的策略或其他相似的策略:
●認定來自一整合式裝置的CPU讀取動作可能根本沒有針對從其他整合式裝置對主要記憶體之寫入動作的排序需求
●認定來自一整合式裝置的CPU讀取動作可能根本沒有針對從其他非整合式裝置對主要記憶體之寫入動作的排序需求
●認定來自一非整合式裝置的CPU讀取動作可能根本沒有針對從其他整合式裝置對主要記憶體之寫入動作的排序需求
●認定來自一非整合式裝置的CPU讀取動作可能根本沒有針對從其他非整合式裝置對主要記憶體之寫入動作的排序需求
上述實例係以PCI/PCIe RO屬性展示出來。然而,本發明不限於PCI/PCIe RO。在較一般的狀況中,該排序屬性可不同於RO。再者,表達該排序屬性的方式可以不同。該完成器具有知識能判定是否可從預設行為安全地修改完成排序便已足夠。此外,上述的實例係針對上游寫入動作的排序來展示。然而,該系統為對稱性的。換言之,可以使該排序屬性緩和,以改變為亦針對下游寫入動作的排序。
本發明的實施例可提供效能提升,這對大多數的電腦系統是所欲的。PC相容架構系統特別受到限制,因為與支援既有硬體與軟體相關聯的需求使它難以實行排序緩和性。然而,上述的機構在PC環境可運作良好。
僅管已經根據本發明的數個實施例來說明本發明,熟知記憶者將可瞭解的是,本發明並不受限於所解說的本發明實施例,並且可利用屬於以下申請專利範圍之精神與範圍中的修改方式以及變化方式來實現本發明。本發明說明因此應被視為具有例示性而非限制性。
100、200‧‧‧系統
106‧‧‧端點
108‧‧‧交換器
110‧‧‧根複合體
112‧‧‧輸入/輸出控制器中樞控制器(ICH)
114‧‧‧記憶體控制器中樞
(MCH)
116‧‧‧主要記憶體
118‧‧‧CPU
120‧‧‧桌面管理介面(DMI)
122‧‧‧PCIe互連體
124、126‧‧‧整合式端點
第1圖以PCIe請求頭標的概要圖展示出緩和性排序屬性。
第2圖以PCIe完成頭標的概要圖展示出緩和性排序屬性。
第3圖以概要圖展示出本發明的一實施例。
第4圖以概要圖展示出本發明的另一個實施例。
Claims (25)
- 一種資料處理系統,其包含:一異動排序機構,其係組配成可判定是否可使一讀取完成動作的一排序屬性緩和,且該異動排序機構係另組配成基於該判定使該排序屬性緩和,其中一緩和性排序屬性允許該讀取完成動作繞過來自一或多個裝置之未決的寫入動作,且該異動排序機構係用以判定該排序屬性是否可至少部分根據該等一或多個裝置的至少一者係整合於一交換結構連結裝置之一判定而受緩和。
- 如申請專利範圍第1項之系統,其中該異動排序機構係組配成可設定一完成頭標中的一緩和性排序位元,且繞過狀況係在一周邊構件互連體中發生。
- 如申請專利範圍第1項之系統,其中該異動排序機構係組配成可設定一完成頭標中的一緩和性排序位元,且繞過狀況係在一桌面管理介面中發生。
- 如申請專利範圍第1項之系統,其中該系統包含一第一端點裝置,該第一端點裝置包含該異動排序機構。
- 如申請專利範圍第4項之系統,其中該異動排序機構係適於根據該第一端點裝置對一異動特定需求的理解來使該排序屬性緩和。
- 如申請專利範圍第4項之系統,其中該一或多個裝置包含多個額外端點裝置,且一緩和性位元的一設定允許該讀取完成動作繞過來自該等額外端點裝置的未決寫入 動作。
- 如申請專利範圍第1項之系統,其另包含整合在包括有一根複合體之該交換結構連結裝置中的一端點裝置。
- 如申請專利範圍第7項之系統,其另包含多個額外端點裝置。
- 如申請專利範圍第8項之系統,其中該等額外端點裝置中的至少一個係位於該根複合體中。
- 一種用於修改異動屬性的方法,其包含下列步驟:判定是否可使一讀取完成動作的一排序屬性緩和,以允許該讀取完成動作繞過來自一或多個裝置之一或多個未決的寫入動作,其中該判定包括判定是否該等一或多個裝置的至少一者係整合於一交換結構連結裝置;以及根據該判定設定該讀取完成動作的該排序屬性,以允許該讀取完成動作能繞過該一或多個未決的寫入動作。
- 如申請專利範圍第10項之方法,其另包含判定針對一第一端點裝置的該讀取完成動作是否與該一或多個未決寫入動作有關。
- 如申請專利範圍第10項之方法,其中設定該排序屬性的該步驟包含設定一完成頭標中的一緩和性排序位元,且其中繞過狀況係在一周邊構件互連體中發生。
- 如申請專利範圍第10項之方法,其中設定該排序屬性的該步驟包含設定一完成頭標中的一緩和性排序位元,且其中繞過狀況係在一桌面管理介面中發生。
- 如申請專利範圍第10項之方法,其中判定是否可使一 讀取完成動作的一排序屬性緩和的該步驟,係更根據一第一端點裝置對一異動特定需求的理解。
- 如申請專利範圍第12項之方法,其另包含該讀取完成動作繞過該一或多個未決寫入動作。
- 如申請專利範圍第13項之方法,其另包含該讀取完成動作繞過該一或多個未決寫入動作。
- 如申請專利範圍第11項之方法,其中該一或多個未決寫入動作來自一或多個額外端點裝置。
- 如申請專利範圍第17項之方法,其中該一或多個額外端點裝置中的至少一個係整合在一根複合體中。
- 如申請專利範圍第18項之方法,其另包含下列步驟:從一中央處理單元傳送一讀取請求到該第一端點裝置,該第一端點裝置係整合在該根複合體中;以及從該第一端點裝置傳送該讀取完成動作到主要記憶體,其中該排序屬性總是可設定來允許該讀取完成動作繞過來自該至少一額外整合裝置的該一或多個未決寫入動作。
- 如申請專利範圍第18項之方法,其另包含下列步驟:從一中央處理單元傳送一讀取請求到該第一端點裝置,該第一端點裝置係整合在該根複合體中;以及從該第一端點裝置傳送該讀取完成動作到主要記憶體,其中該排序屬性總是可設定來允許該讀取完成動作繞過來自一額外未整合裝置的該一或多個未決寫入動作。
- 如申請專利範圍第18項之方法,其另包含下列步驟: 從一中央處理單元傳送一讀取請求到該第一端點裝置,該第一端點裝置並未整合在該根複合體中;以及從該第一端點裝置傳送該讀取完成動作到主要記憶體,其中該排序屬性總是可設定來允許該讀取完成動作繞過來自該至少一額外整合裝置的該一或多個未決寫入動作。
- 如申請專利範圍第18項之方法,其另包含下列步驟:從一中央處理單元傳送一讀取請求到該第一端點裝置,該第一端點裝置並未整合在該根複合體中;以及從該第一端點裝置傳送該讀取完成動作到主要記憶體,其中該排序屬性總是可設定來允許該讀取完成動作繞過來自一額外未整合裝置的該一或多個未決寫入動作。
- 一種用於修改異動屬性的設備,其包含:用以判定是否可使一讀取完成動作的一排序屬性緩和以允許該讀取完成動作繞過來自一或多個裝置之一或多個未決寫入動作的構件,其中用以判定之構件係根據是否該等一或多個裝置的至少一者係整合於一交換結構連結裝置之一判定,而判定緩和該排序屬性;以及用以設定該讀取完成動作的該排序屬性以允許繞過該一或多個未決寫入動作的構件。
- 如申請專利範圍第23項之設備,其中用以設定該排序屬性的該構件包含用以設定一完成頭標中之一緩和性排序位元的一構件。
- 如申請專利範圍第23項之設備,其中該設備為一周邊構 件互連體。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/252,303 US8108584B2 (en) | 2008-10-15 | 2008-10-15 | Use of completer knowledge of memory region ordering requirements to modify transaction attributes |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201019128A TW201019128A (en) | 2010-05-16 |
TWI420319B true TWI420319B (zh) | 2013-12-21 |
Family
ID=41462384
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102109839A TWI548997B (zh) | 2008-10-15 | 2009-10-12 | 利用完成器對記憶體區域排序需求之理解來修改異動屬性的技術(二) |
TW098134482A TWI420319B (zh) | 2008-10-15 | 2009-10-12 | 用於修改異動屬性的系統、方法與設備 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102109839A TWI548997B (zh) | 2008-10-15 | 2009-10-12 | 利用完成器對記憶體區域排序需求之理解來修改異動屬性的技術(二) |
Country Status (6)
Country | Link |
---|---|
US (2) | US8108584B2 (zh) |
JP (3) | JP5479020B2 (zh) |
CN (2) | CN101727413B (zh) |
DE (2) | DE102009049078B4 (zh) |
GB (1) | GB2464403B (zh) |
TW (2) | TWI548997B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108584B2 (en) * | 2008-10-15 | 2012-01-31 | Intel Corporation | Use of completer knowledge of memory region ordering requirements to modify transaction attributes |
US8402195B2 (en) * | 2009-10-27 | 2013-03-19 | Hitachi, Ltd. | Storage system mounted with plurality of processors |
CN104081722B (zh) * | 2012-01-13 | 2018-05-22 | 英特尔公司 | SoC构造中的高效对等通信支持 |
US9129071B2 (en) * | 2012-10-24 | 2015-09-08 | Texas Instruments Incorporated | Coherence controller slot architecture allowing zero latency write commit |
KR102065664B1 (ko) | 2013-08-09 | 2020-01-13 | 삼성전자 주식회사 | 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법 |
US9569362B2 (en) * | 2014-11-13 | 2017-02-14 | Cavium, Inc. | Programmable ordering and prefetch |
US10013385B2 (en) | 2014-11-13 | 2018-07-03 | Cavium, Inc. | Programmable validation of transaction requests |
US10007619B2 (en) * | 2015-05-29 | 2018-06-26 | Qualcomm Incorporated | Multi-threaded translation and transaction re-ordering for memory management units |
US10127968B2 (en) * | 2015-08-03 | 2018-11-13 | Intel Corporation | Method and apparatus for completing pending write requests to volatile memory prior to transitioning to self-refresh mode |
US10223307B2 (en) * | 2017-06-15 | 2019-03-05 | International Business Machines Corporation | Management of data transaction from I/O devices |
US10353833B2 (en) * | 2017-07-11 | 2019-07-16 | International Business Machines Corporation | Configurable ordering controller for coupling transactions |
CN110688332B (zh) * | 2019-09-12 | 2021-01-15 | 无锡江南计算技术研究所 | 一种面向高速消息传输的pcie数据传输系统及计算机 |
US11762785B2 (en) * | 2021-05-03 | 2023-09-19 | Mellanox Technologies, Ltd. | Peripheral component interconnect attributes shared using address bits |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6615295B2 (en) * | 2000-12-26 | 2003-09-02 | Hewlett-Packard Development Company, L.P. | Relaxed read completion ordering in a system using transaction order queue |
US6801970B2 (en) * | 2001-09-30 | 2004-10-05 | Hewlett-Packard Development Company, L.P. | Priority transaction support on the PCI-X bus |
TW200839511A (en) * | 2007-02-01 | 2008-10-01 | Samsung Electronics Co Ltd | Cooperative memory management and method thereof |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3255908B2 (ja) * | 1988-06-30 | 2002-02-12 | エルジー・セミコン・カンパニー・リミテッド | メモリー制御ユニット |
GB2230120B (en) * | 1989-04-07 | 1992-12-02 | Intel Corp | Read/write ordering apparatus and method for a microprocessor |
US5418940A (en) * | 1993-08-04 | 1995-05-23 | International Business Machines Corporation | Method and means for detecting partial page writes and avoiding initializing new pages on DASD in a transaction management system environment |
US5530933A (en) * | 1994-02-24 | 1996-06-25 | Hewlett-Packard Company | Multiprocessor system for maintaining cache coherency by checking the coherency in the order of the transactions being issued on the bus |
US5657472A (en) * | 1995-03-31 | 1997-08-12 | Sun Microsystems, Inc. | Memory transaction execution system and method for multiprocessor system having independent parallel transaction queues associated with each processor |
US5790870A (en) * | 1995-12-15 | 1998-08-04 | Compaq Computer Corporation | Bus error handler for PERR# and SERR# on dual PCI bus system |
US6272600B1 (en) * | 1996-11-15 | 2001-08-07 | Hyundai Electronics America | Memory request reordering in a data processing system |
US5860126A (en) * | 1996-12-17 | 1999-01-12 | Intel Corporation | Controlling shared memory access ordering in a multi-processing system using an acquire/release consistency model |
US5878237A (en) * | 1997-07-11 | 1999-03-02 | Compaq Computer Corp. | Apparatus, method and system for a comuter CPU and memory to PCI bridge having a pluarlity of physical PCI buses |
US6145052A (en) * | 1997-11-04 | 2000-11-07 | Western Digital Corporation | Disk drive with adaptive pooling for command reordering |
US6038646A (en) * | 1998-01-23 | 2000-03-14 | Sun Microsystems, Inc. | Method and apparatus for enforcing ordered execution of reads and writes across a memory interface |
US6816934B2 (en) * | 2000-12-22 | 2004-11-09 | Hewlett-Packard Development Company, L.P. | Computer system with registered peripheral component interconnect device for processing extended commands and attributes according to a registered peripheral component interconnect protocol |
US6175889B1 (en) * | 1998-10-21 | 2001-01-16 | Compaq Computer Corporation | Apparatus, method and system for a computer CPU and memory to high speed peripheral interconnect bridge having a plurality of physical buses with a single logical bus number |
US6625683B1 (en) * | 1999-08-23 | 2003-09-23 | Advanced Micro Devices, Inc. | Automatic early PCI transaction retry |
US6490635B1 (en) * | 2000-04-28 | 2002-12-03 | Western Digital Technologies, Inc. | Conflict detection for queued command handling in disk drive controller |
JP2002043544A (ja) * | 2000-07-21 | 2002-02-08 | Mitsubishi Electric Corp | 半導体装置およびその製造方法 |
US6757768B1 (en) * | 2001-05-17 | 2004-06-29 | Cisco Technology, Inc. | Apparatus and technique for maintaining order among requests issued over an external bus of an intermediate network node |
US7177971B2 (en) | 2001-08-24 | 2007-02-13 | Intel Corporation | General input/output architecture, protocol and related methods to provide isochronous channels |
US6754737B2 (en) * | 2001-12-24 | 2004-06-22 | Hewlett-Packard Development Company, L.P. | Method and apparatus to allow dynamic variation of ordering enforcement between transactions in a strongly ordered computer interconnect |
US7184399B2 (en) * | 2001-12-28 | 2007-02-27 | Intel Corporation | Method for handling completion packets with a non-successful completion status |
US20030145136A1 (en) * | 2002-01-31 | 2003-07-31 | Tierney Gregory E. | Method and apparatus for implementing a relaxed ordering model in a computer system |
US20040022094A1 (en) * | 2002-02-25 | 2004-02-05 | Sivakumar Radhakrishnan | Cache usage for concurrent multiple streams |
US20050289306A1 (en) * | 2004-06-28 | 2005-12-29 | Sridhar Muthrasanallur | Memory read requests passing memory writes |
JP4410190B2 (ja) * | 2005-03-24 | 2010-02-03 | 富士通株式会社 | PCI−Express通信システム |
US8516165B2 (en) * | 2005-10-19 | 2013-08-20 | Nvidia Corporation | System and method for encoding packet header to enable higher bandwidth efficiency across bus links |
US7721023B2 (en) * | 2005-11-15 | 2010-05-18 | International Business Machines Corporation | I/O address translation method for specifying a relaxed ordering for I/O accesses |
US7698498B2 (en) * | 2005-12-29 | 2010-04-13 | Intel Corporation | Memory controller with bank sorting and scheduling |
US7461210B1 (en) * | 2006-04-14 | 2008-12-02 | Tilera Corporation | Managing set associative cache memory according to entry type |
US7949794B2 (en) * | 2006-11-02 | 2011-05-24 | Intel Corporation | PCI express enhancements and extensions |
US8108584B2 (en) * | 2008-10-15 | 2012-01-31 | Intel Corporation | Use of completer knowledge of memory region ordering requirements to modify transaction attributes |
-
2008
- 2008-10-15 US US12/252,303 patent/US8108584B2/en active Active
-
2009
- 2009-10-12 TW TW102109839A patent/TWI548997B/zh active
- 2009-10-12 DE DE102009049078.7A patent/DE102009049078B4/de active Active
- 2009-10-12 DE DE102009061252.1A patent/DE102009061252B3/de active Active
- 2009-10-12 TW TW098134482A patent/TWI420319B/zh not_active IP Right Cessation
- 2009-10-14 CN CN200910208029.8A patent/CN101727413B/zh active Active
- 2009-10-14 CN CN201210586797.9A patent/CN102981984B/zh active Active
- 2009-10-15 GB GB0918065A patent/GB2464403B/en not_active Expired - Fee Related
- 2009-10-15 JP JP2009237987A patent/JP5479020B2/ja active Active
-
2011
- 2011-12-22 US US13/335,345 patent/US8307144B2/en active Active
-
2013
- 2013-08-27 JP JP2013175504A patent/JP5824488B2/ja active Active
-
2015
- 2015-10-09 JP JP2015201103A patent/JP6141379B2/ja active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6615295B2 (en) * | 2000-12-26 | 2003-09-02 | Hewlett-Packard Development Company, L.P. | Relaxed read completion ordering in a system using transaction order queue |
US6801970B2 (en) * | 2001-09-30 | 2004-10-05 | Hewlett-Packard Development Company, L.P. | Priority transaction support on the PCI-X bus |
TW200839511A (en) * | 2007-02-01 | 2008-10-01 | Samsung Electronics Co Ltd | Cooperative memory management and method thereof |
Also Published As
Publication number | Publication date |
---|---|
JP5824488B2 (ja) | 2015-11-25 |
US8307144B2 (en) | 2012-11-06 |
JP2014041618A (ja) | 2014-03-06 |
GB0918065D0 (en) | 2009-12-02 |
US20100095032A1 (en) | 2010-04-15 |
US20120096212A1 (en) | 2012-04-19 |
TW201019128A (en) | 2010-05-16 |
CN102981984A (zh) | 2013-03-20 |
JP2010097615A (ja) | 2010-04-30 |
GB2464403A (en) | 2010-04-21 |
JP5479020B2 (ja) | 2014-04-23 |
DE102009049078B4 (de) | 2015-03-05 |
GB2464403B (en) | 2011-08-24 |
DE102009061252B3 (de) | 2023-04-20 |
DE102009049078A1 (de) | 2010-05-20 |
CN101727413A (zh) | 2010-06-09 |
TWI548997B (zh) | 2016-09-11 |
CN101727413B (zh) | 2013-09-11 |
TW201329732A (zh) | 2013-07-16 |
CN102981984B (zh) | 2016-04-06 |
JP2016033823A (ja) | 2016-03-10 |
JP6141379B2 (ja) | 2017-06-07 |
US8108584B2 (en) | 2012-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI420319B (zh) | 用於修改異動屬性的系統、方法與設備 | |
US6587905B1 (en) | Dynamic data bus allocation | |
US20050091432A1 (en) | Flexible matrix fabric design framework for multiple requestors and targets in system-on-chip designs | |
WO2006012289A2 (en) | Memory read requests passing memory writes | |
JP2018502362A (ja) | ノンブロッキング高性能トランザクションクレジットシステムを備えるマルチコアバスアーキテクチャ | |
US20100005247A1 (en) | Method and Apparatus for Global Ordering to Insure Latency Independent Coherence | |
US20090037932A1 (en) | Mechanism for broadcasting system management interrupts to other processors in a computer system | |
TW200534110A (en) | A method for supporting improved burst transfers on a coherent bus | |
US20130151929A1 (en) | Efficient Storage of Meta-Bits Within a System Memory | |
JP2005353041A (ja) | データ処理システム内のバス・トランザクション管理 | |
US9684613B2 (en) | Methods and systems for reducing spurious interrupts in a data storage system | |
US20070073977A1 (en) | Early global observation point for a uniprocessor system | |
US20080022052A1 (en) | Bus Coupled Multiprocessor | |
TW202013204A (zh) | 多核心系統的內連線結構 | |
US6449678B1 (en) | Method and system for multiple read/write transactions across a bridge system | |
US8327044B2 (en) | Transaction ID filtering for buffered programmed input/output (PIO) write acknowledgements | |
US20180004660A1 (en) | Direct store to coherence point | |
US8112590B2 (en) | Methods and apparatus for reducing command processing latency while maintaining coherence | |
US20140223061A1 (en) | System and deterministic method for servicing msi interrupts using direct cache access | |
US20090094385A1 (en) | Techniques for Handling Commands in an Ordered Command Stream | |
US9501278B2 (en) | Method and device for data transmission between register files | |
CN114064198A (zh) | 经由os接口表的单numa域内的多虚拟numa域 | |
KR20150082239A (ko) | 스토어 리플레이 정책 | |
Feehrer et al. | Coherency hub design for multi-node victoria falls server systems | |
Balasingam | Modular, Configurable Bus Architecture Targeted for Ease of IP Reuse on System on Chip and ASIC Devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |