TW201329732A - 利用完成器對記憶體區域排序需求之理解來修改異動屬性的技術(二) - Google Patents

利用完成器對記憶體區域排序需求之理解來修改異動屬性的技術(二) Download PDF

Info

Publication number
TW201329732A
TW201329732A TW102109839A TW102109839A TW201329732A TW 201329732 A TW201329732 A TW 201329732A TW 102109839 A TW102109839 A TW 102109839A TW 102109839 A TW102109839 A TW 102109839A TW 201329732 A TW201329732 A TW 201329732A
Authority
TW
Taiwan
Prior art keywords
completion
packet
transaction
request
interconnect
Prior art date
Application number
TW102109839A
Other languages
English (en)
Other versions
TWI548997B (zh
Inventor
David Harriman
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of TW201329732A publication Critical patent/TW201329732A/zh
Application granted granted Critical
Publication of TWI548997B publication Critical patent/TWI548997B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • G06F13/1626Handling 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)

Abstract

本發明揭露藉著在一讀取完成動作中設定一排序屬性來使該讀取完成動作的排序緩和的方法與系統。該種緩和性排序允許該讀取完成動作繞過未決的寫入動作。

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資源以供用於其他更有用的工作,來直接地導向整體系統效能的提升。
依據本發明之一實施例,係特地提出一種設備,其包含:用以執行下列動作之邏輯:透過一互連體接收一特定異動的一封包,該互連體包含一或多個點對點串列鏈結,其中該封包包含用以識別一請求器之一請求封包;識別於該請求封包中是否已設定用以指示緩和性排序將施用於該特定異動的一排序屬性;以及判定將緩和性排序施用於完成該特定異動之機會。
100、200‧‧‧系統
106‧‧‧端點
108‧‧‧交換器
110‧‧‧根複合體
112‧‧‧輸入/輸出控制器中樞控制器(ICH)
114‧‧‧記憶體控制器中樞(MCH)
116‧‧‧主要記憶體
118‧‧‧CPU
120‧‧‧桌面管理介面(DMI)
122‧‧‧PCIe互連體
124、126‧‧‧整合式端點
可參照以下的發明說明與用以展示出本發明實施例的圖式而最佳地瞭解本發明。
第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/PCIeRO屬性展示出來。然而,本發明不限於PCI/PCIe RO。在較一般的狀況中,該排序屬性可不同於RO。再者,表達該排序屬性的方式可以不同。該完成器具有知識能判定是否可從預設 行為安全地修改完成排序便已足夠。此外,上述的實例係針對上游寫入動作的排序來展示。然而,該系統為對稱性的。換言之,可以使該排序屬性緩和,以改變為亦針對下游寫入動作的排序。
本發明的實施例可提供效能提升,這對大多數的電腦系統是所欲的。PC相容架構系統特別受到限制,因為與支援既有硬體與軟體相關聯的需求使它難以實行排序緩和性。然而,上述的機構在PC環境可運作良好。
僅管已經根據本發明的數個實施例來說明本發明,熟知記憶者將可瞭解的是,本發明並不受限於所解說的本發明實施例,並且可利用屬於以下申請專利範圍之精神與範圍中的修改方式以及變化方式來實現本發明。本發明說明因此應被視為具有例示性而非限制性。

Claims (31)

  1. 一種設備,其包含:用以執行下列動作之邏輯:透過一互連體接收一特定異動的一封包,該互連體包含一或多個點對點串列鏈結,其中該封包包含用以識別一請求器之一請求封包;識別於該請求封包中是否已設定用以指示緩和性排序將施用於該特定異動的一排序屬性;以及判定將緩和性排序施用於完成該特定異動之機會。
  2. 如申請專利範圍第1項之設備,其中該邏輯將於一完成封包中設定用以指示緩和性排序將被施用於該完成動作的一排序屬性。
  3. 如申請專利範圍第1項之設備,其中該互連體包含用以支援快捷周邊構件互連標準(PCIe)協定層的一實體層以及包括一或多個其他協定的一實體層中的至少一者。
  4. 如申請專利範圍第1項之設備,其中該I/O元件進一步組配以設定該排序屬性。
  5. 如申請專利範圍第4項之設備,其中該特定異動為一系統中的複數個異動中的一者,並且於設定該排序屬性之前係根據一第一排序完成該等多數個異動,其中根據該第一排序該特定異動將於該等複數個異動中的一第二異動之後被完成,並且將緩和性排序施用於該特定異動將導致該特定異動在該第二異動之前被完成。
  6. 如申請專利範圍第5項之設備,其中該特定異動包含一讀取異動,而該第二異動包含一寫入異動。
  7. 如申請專利範圍第6項之設備,其中該特定異動牽涉讀取一第一裝置的記憶體以及寫入一不同I/O裝置的記憶體。
  8. 如申請專利範圍第5項之設備,其中該特定異動將藉由一第一整合式端點來完成,且該第二異動將藉由一第二整合式端點來完成。
  9. 如申請專利範圍第1項之設備,其中該排序屬性包括一包括在該封包的一頭標中的一欄位。
  10. 如申請專利範圍第9項之設備,其中該排序屬性欄位包含至少兩個位元。
  11. 如申請專利範圍第1項之設備,其中該請求封包係指示該緩和性排序尚未被設定。
  12. 如申請專利範圍第1項之設備,其中該I/O元件進一步組構以:以被設定用以指示緩和性排序將施用於完成該特定異動的該排序屬性來產生一完成封包;以及透過該互連體將該完成封包發送至該請求器。
  13. 如申請專利範圍第12項之設備,其中該完成封包係包括具有一緩和性排序屬性欄位的一頭標。
  14. 如申請專利範圍第13項之設備,其中該完成封包頭標包括識別該請求器的一路由識別符欄位。
  15. 如申請專利範圍第14項之設備,其中該路由識別符欄位的值實質上與包括在該請求封包的一頭標中的值相匹配。
  16. 如申請專利範圍第13項之設備,其中該完成封包頭標進一步包括對應該 裝置的一完成器識別符以及一完成狀態識別符。
  17. 如申請專利範圍第1項之設備,其中該特定異動為一系統中的複數個異動中的一者,並且判定設定該排序屬性的一機會包括判定該特定異動之完成將不會與在該等複數個異動中的其他異動之完成衝突。
  18. 一種設備,其包含:輸入/輸出(I/O)邏輯用以進行下列動作:組合一異動層完成封包以包括一封包頭標,其中該封包頭標係要包括一緩和排序欄位、一完成器識別欄位與一完成狀態欄位;以及透過一互連體發送該完成封包至一裝置,其中該完成封包對應至與該裝置相關聯的一請求。
  19. 如申請專利範圍第18項之設備,其中該互連體包含用以支援快捷周邊構件互連標準(PCIe)協定層的一實體層以及包括一或多個其他協定的一實體層中的至少一者。
  20. 如申請專利範圍第18項之設備,其中該互連體包含一適用PCIe互連體。
  21. ...
  22. 一種設備,包含:一第一根複合體整合式端點(RCIE)用以進行下列動作:透過一互連體接收一特定異動的一封包,其中該封包包含一請求器的一請求封包,並且該請求包含一I/O讀取請求;從該請求封包之一異動層封包頭標的一排序屬性欄位來識別是否緩和排序施用於該請求的完成動作;以及產生用於該特定異動的一完成封包,其中該完成封包係要包括一完成頭標,該頭標包括設定為指示緩和排序將施用於該完成動作 的一排序屬性欄位、一完成器識別器、一完成狀態識別器與一路線識別器;其中該特定異動係被包括於複數個異動之中,並且施用緩和排序至該特定異動的完成動作導致在該等複數個異動所包括的記憶體讀取異動的至少一者之前完成將被完成之該特定異動。
  23. 一種方法,其包含:透過一互連體接收一特定異動的一請求封包,其中該特定異動係要包括一請求與一完成動作,並且該封包對應至來自一請求器的該請求;從該請求封包來識別在該請求封包中的一排序屬性指示緩和排序並未施加至該特定異動;判定用以設定該排序屬性將施用緩和排序至該特定異動的一機會;以及產生帶有設定為指示緩和排序係至少部分基於該機會而施用至該特定異動之該排序屬性的一完成封包。
  24. 如申請專利範圍第23項之方法,其中該特定異動為一系統中的複數個異動中的一者,並且判定用以設定該排序屬性的一機會包括判定該特定異動之完成將不會與在該等複數個異動中的其他異動之完成衝突。
  25. 如申請專利範圍第24項之方法,其中該特定異動沒有緩和排序,該等複數異動將根據一第一排序完成,並且施用緩和排序至該特定異動導致該等複數異動將根據一不同的第二排序而完成。
  26. 如申請專利範圍第23項之方法,其中產生該完成封包包括組合一封包頭標,其包括設定用以指示緩和排序施用至該特定異動的一排序屬性欄 位。
  27. 如申請專利範圍第23項之方法,進一步包含透過該互連體發送該完成封包至該請求器。
  28. 一種系統,其包含:一第一裝置;一第二裝置,其包括由至少一個處理器執行的一I/O模組,其用以:透過一互連體接收對應來自於該第一裝置的一請求之一請求封包;從自該請求封包來識別一排序屬性是否已被設定於該請求封包中以指示緩和性排序將施用於該請求的完成動作;產生對應於該完成動作的一完成封包,其中該完成封包包括一排序屬性集用以指示緩和性排序將施用於該完成動作;以及透過該互連體發送該完成封包到該第一裝置。
  29. 如申請專利範圍第28項之系統,其中該請求封包指示緩和性排序尚未被設定。
  30. 如申請專利範圍第28項之系統,其中該第一裝置包含一第一端點裝置且該第二裝置包含一第二端點裝置。
  31. 如申請專利範圍第28項之系統,進一步包含一根複合體。
TW102109839A 2008-10-15 2009-10-12 利用完成器對記憶體區域排序需求之理解來修改異動屬性的技術(二) TWI548997B (zh)

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
TW201329732A true TW201329732A (zh) 2013-07-16
TWI548997B TWI548997B (zh) 2016-09-11

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 After (1)

Application Number Title Priority Date Filing Date
TW098134482A TWI420319B (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)

* Cited by examiner, † Cited by third party
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 삼성전자 주식회사 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법
US10013385B2 (en) 2014-11-13 2018-07-03 Cavium, Inc. Programmable validation of transaction requests
US9569362B2 (en) * 2014-11-13 2017-02-14 Cavium, Inc. Programmable ordering and prefetch
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

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE68920435T2 (de) * 1988-06-30 1995-08-10 Wang Laboratories Steuereinheit für den speicher.
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 半導体装置およびその製造方法
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
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
US6801970B2 (en) * 2001-09-30 2004-10-05 Hewlett-Packard Development Company, L.P. Priority transaction support on the PCI-X bus
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
US6912612B2 (en) * 2002-02-25 2005-06-28 Intel Corporation Shared bypass bus structure
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
KR100823171B1 (ko) * 2007-02-01 2008-04-18 삼성전자주식회사 파티션된 플래시 변환 계층을 갖는 컴퓨터 시스템 및플래시 변환 계층의 파티션 방법
US8108584B2 (en) * 2008-10-15 2012-01-31 Intel Corporation Use of completer knowledge of memory region ordering requirements to modify transaction attributes

Also Published As

Publication number Publication date
CN102981984A (zh) 2013-03-20
TWI420319B (zh) 2013-12-21
US20100095032A1 (en) 2010-04-15
JP2014041618A (ja) 2014-03-06
GB0918065D0 (en) 2009-12-02
DE102009049078B4 (de) 2015-03-05
JP2016033823A (ja) 2016-03-10
TW201019128A (en) 2010-05-16
DE102009061252B3 (de) 2023-04-20
GB2464403B (en) 2011-08-24
CN101727413B (zh) 2013-09-11
CN101727413A (zh) 2010-06-09
JP5824488B2 (ja) 2015-11-25
JP6141379B2 (ja) 2017-06-07
US8307144B2 (en) 2012-11-06
CN102981984B (zh) 2016-04-06
JP2010097615A (ja) 2010-04-30
US8108584B2 (en) 2012-01-31
US20120096212A1 (en) 2012-04-19
DE102009049078A1 (de) 2010-05-20
GB2464403A (en) 2010-04-21
JP5479020B2 (ja) 2014-04-23
TWI548997B (zh) 2016-09-11

Similar Documents

Publication Publication Date Title
TWI548997B (zh) 利用完成器對記憶體區域排序需求之理解來修改異動屬性的技術(二)
US6587905B1 (en) Dynamic data bus allocation
JP5963282B2 (ja) 割り込み分配スキーム
US20050091432A1 (en) Flexible matrix fabric design framework for multiple requestors and targets in system-on-chip designs
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
WO2006012289A2 (en) Memory read requests passing memory writes
JP6382446B2 (ja) デッドロック回避のための方法及び回路
US20170286329A1 (en) Mutual exclusion in a non-coherent memory hierarchy
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) 多核心系統的內連線結構
TW201310241A (zh) 全匯流排之交易層級模擬方法以快速與精確的爭用分析
US7987437B2 (en) Structure for piggybacking multiple data tenures on a single data bus grant to achieve higher bus utilization
US8112590B2 (en) Methods and apparatus for reducing command processing latency while maintaining coherence
US20090094385A1 (en) Techniques for Handling Commands in an Ordered Command Stream
US20030065860A1 (en) Internal control bus in a multiple processor/multiple bus system
CN114064198A (zh) 经由os接口表的单numa域内的多虚拟numa域
KR20150082239A (ko) 스토어 리플레이 정책
Feehrer et al. Coherency hub design for multi-node victoria falls server systems
JP2006343916A (ja) 情報処理装置
Anjaiah et al. Advanced On-Chip Bus Design with Open Core Protocol Interface
JP2009042992A (ja) バス制御装置