TW201830238A - 同調互連系統中的讀取交易追蹤器生命期 - Google Patents

同調互連系統中的讀取交易追蹤器生命期 Download PDF

Info

Publication number
TW201830238A
TW201830238A TW107101499A TW107101499A TW201830238A TW 201830238 A TW201830238 A TW 201830238A TW 107101499 A TW107101499 A TW 107101499A TW 107101499 A TW107101499 A TW 107101499A TW 201830238 A TW201830238 A TW 201830238A
Authority
TW
Taiwan
Prior art keywords
transaction
read
direct memory
circuit system
data storage
Prior art date
Application number
TW107101499A
Other languages
English (en)
Other versions
TWI770107B (zh
Inventor
法寧德拉庫瑪 馬納瓦
布魯斯詹姆斯 馬修遜
詹姆許德 加爾
圖薩爾P 蘭吉
Original Assignee
英商Arm股份有限公司
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 英商Arm股份有限公司 filed Critical 英商Arm股份有限公司
Publication of TW201830238A publication Critical patent/TW201830238A/zh
Application granted granted Critical
Publication of TWI770107B publication Critical patent/TWI770107B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1492Generic software techniques for error detection or fault masking by run-time replication performed by the application software
    • G06F11/1494N-modular type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • G06F12/0835Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means for main memory peripheral accesses (e.g. I/O or DMA)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1474Saving, restoring, recovering or retrying in transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/88Monitoring involving counting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/62Details of cache specific to multiprocessor cache arrangements
    • G06F2212/621Coherency control relating to peripheral accessing, e.g. from DMA or I/O device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

提供在同調互連系統中的設備以及操作設備的對應方法,同調互連系統包含發出要求的主裝置與資料儲存從屬裝置。設備在從發出要求的主裝置接收來的同調協定交易的完成正在進行中時,維持同調協定交易的記錄,且回應於接收到來自發出要求的主裝置的對於儲存在資料儲存從屬裝置中的資料項的讀取交易,而發出直接記憶體傳輸要求至資料儲存從屬裝置。讀取應答觸發符被加入直接記憶體傳輸要求,且回應於接收到來自資料儲存從屬裝置的讀取應答訊號,更新由接收到讀取交易所創造的記錄,以對應於直接記憶體傳輸要求的完成。設備需要維持記錄的生命期因此被減少,儘管仍由直接記憶體傳輸滿足了讀取交易。亦提供了對應的資料儲存從屬裝置,以及操作資料儲存從屬裝置的方法。

Description

同調互連系統中的讀取交易追蹤器生命期
本揭示內容相關於資料處理系統。更特定而言,本揭示內容相關於一種同調互連系統,在其中交換同調協定交易。
在包含同調互連的資料處理系統中(其中系統部件交換同調協定交易),必須小心管理該等交易以及該等交易所引發的資料處理作業,以在系統內維持所需的同調性。作為此管理的一部分,系統中的設備可維持特定交易的記錄,其中在交易正進行中的同時維持對應的記錄,並在交易完成時移除記錄。
本文所說明的至少一個實例,提供一種用於同調互連系統的設備,該設備包含:介面電路系統,用以接收來自發出要求的主裝置的同調協定交易,並與資料儲存從屬裝置交換進一步的同調協定交易;交易追蹤電路系統,用以在同調協定交易的完成正在進行中的同時,維持從發出要求的主裝置接收來的同調協定交易的記錄;以及交易控制電路系統,交易控制電路系統回應於在介面電路系統處接收到來自發出要求的主裝置、對於儲存在資料儲存從屬裝置中的資料項的同調協定交易的讀取交易,而發出直接記憶體傳輸要求至資料儲存從屬裝置,其中直接記憶體傳輸要求包含讀取應答觸發符,以徵求來自資料儲存從屬裝置的讀取應答訊號,且其中交易追蹤電路系統回應於在介面電路系統處接收到來自資料儲存從屬裝置的讀取應答訊號,而更新由接收到讀取交易所創造的交易追蹤電路系統中的記錄,以指示直接記憶體傳輸要求的完成。
本文所說明的至少一個實例,提供一種用於在同調互連系統中操作設備的方法,方法包含以下步驟:接收來自發出要求的主裝置的一組同調協定交易的讀取交易,讀取交易係對於儲存在資料儲存從屬裝置中的資料項;在同調協定交易的完成正在進行中的同時,維持從發出要求的主裝置接收來的同調協定交易的記錄;回應於接收到讀取交易,而發出直接記憶體傳輸要求至資料儲存從屬裝置,其中直接記憶體傳輸要求包含讀取應答觸發符,以徵求來自資料儲存從屬裝置的讀取應答訊號;以及回應於接收到來自資料儲存裝置的讀取應答訊號,而更新由接收到讀取交易所創造的記錄,以指示直接記憶體傳輸要求的完成。
本文所說明的至少一個實例,提供一種用於包含發出要求的主裝置與資料儲存從屬裝置的同調互連系統的設備,其中設備包含:接收手段,用於接收來自發出要求的主裝置的同調協定交易;交換進一步交易的手段,用於與資料儲存從屬裝置交換進一步的同調協定交易;維持記錄手段,用於在同調協定交易的完成正在進行中的同時,維持從發出要求的主裝置接收來的同調協定交易的記錄;發出要求手段,用於回應於接收到來自發出要求的主裝置、對於儲存在資料儲存從屬裝置中的資料項的同調協定交易的讀取交易,而發出直接記憶體傳輸要求至資料儲存從屬裝置,其中直接記憶體傳輸要求包含讀取應答觸發符;以及更新記錄手段,用於回應於接收到來自資料儲存裝置的讀取應答訊號,而更新由接收到讀取交易所創造的在該維持記錄手段中的記錄,相應於直接記憶體傳輸要求的完成。
本文所說明的至少一個實例,提供一種用於同調互連系統的資料儲存從屬裝置,包含:介面電路系統,用以與集線器裝置交換同調協定交易,並與主裝置交換進一步的同調協定交易;以及交易控制電路系統,交易控制電路系統回應於接收到來自集線器裝置、包含讀取應答觸發符的直接記憶體傳輸要求,而發送讀取應答訊號至集線器裝置,並將直接記憶體傳輸要求中指定的資料直接發送至主裝置。
本文所說明的至少一個實例,提供一種用於在同調互連系統中操作資料儲存從屬裝置的方法,方法包含:接收來自集線器裝置的直接記憶體傳輸要求;在直接記憶體傳輸要求包含讀取應答觸發符時,發送讀取應答訊號至集線器裝置;以及將直接記憶體傳輸要求中指定的資料,直接發送至主裝置。
在一些範例具體實施例中,存在一用於同調互連系統的設備,包含:介面電路系統,用以接收來自發出要求的主裝置的同調協定交易,並與資料儲存從屬裝置交換進一步的同調協定交易;交易追蹤電路系統,用以在同調協定交易的完成正在進行中的同時,維持從發出要求的主裝置接收來的同調協定交易的記錄;以及交易控制電路系統,交易控制電路系統回應於在介面電路系統處接收到來自發出要求的主裝置、對於儲存在資料儲存從屬裝置中的資料項的同調協定交易的讀取交易,而發出直接記憶體傳輸要求至資料儲存從屬裝置,其中直接記憶體傳輸要求包含讀取應答觸發符,以徵求來自資料儲存從屬裝置的讀取應答訊號,且其中交易追蹤電路系統回應於在介面電路系統處接收到來自資料儲存從屬裝置的讀取應答訊號,而更新由接收到讀取交易所創造的交易追蹤電路系統中的記錄,以指示直接記憶體傳輸要求的完成。
該設備接收來自發出要求的主裝置的讀取交易,並使得儲存在資料儲存從屬裝置中的受要求的資料被取得並傳回發出要求的主裝置,因此在系統中扮演「基地節點」或「集線器裝置」的角色。設備中的交易追蹤電路系統(在本文中有時亦簡單稱為「追蹤器」),使系統能夠管理並監測系統中正交換的同調協定交易,且特定而言,確保觀察到每一交易正確完成。然而,扮演此「基地」裝置角色,對設備產生了一些負擔,因為儲存必須被維持在追蹤器中以保持對於所有當前進行中的交易的項目,且設備必須介導回應於讀取要求而從資料儲存從屬裝置取得的資料。因此較佳的是,儘可能讓設備指示資料儲存從屬裝置直接傳輸資料至發出要求的主裝置(亦即設備發出「直接記憶體傳輸要求」至資料儲存從屬裝置,指定發出要求的主裝置為目標)。然而,此作法可呈現一些困難,因為基地節點將不會知道何時要將基地節點追蹤器中的項目標示為完成(在本文中亦稱為將追蹤器中的要求解除分配),因為基地節點未接收到在從屬資料儲存裝置(從屬節點)處處理的要求的指示,或在發出要求的主裝置(要求節點)處處理的要求的指示。儘管可能讓發出要求的主裝置發出的讀取要求,包含一旦發出要求的主裝置(節點)已接收到受要求資料則基地節點可期待的「完成應答」(亦即發出要求的節點將發送此種應答至基地節點),然而此方案將造成基地節點追蹤器中對應於此交易的項目的生命期,成為從從屬節點到發出要求的節點的完全往復資料潛時,以及從發出要求的節點至基地節點的完成應答潛時。
在此背景內容下,本技術提出:從設備傳送到資料儲存從屬裝置的直接記憶體傳輸要求包含讀取應答觸發符,而回應於讀取應答觸發符,資料儲存從屬裝置可發出讀取應答訊號(在資料儲存從屬裝置可保證要求被接受且資料儲存從屬裝置將不會傳送重試訊息時)。隨後,回應於此讀取應答訊號,設備的交易追蹤電路系統在追蹤器中解除分配要求,亦即將交易追蹤電路系統回應於接收到來自發出要求的主裝置的讀取要求而產生的項目標示為完成,或甚至僅將項目刪除。據此,追蹤器中的此項目的生命期明顯短於上文所述的情境,再者,此使得從資料儲存從屬裝置到發出要求的主裝置的受要求資料的傳輸,能夠由直接記憶體傳輸執行,因為設備(集線器)不再需要進一步介入。因此,亦改良了讀取資料潛時。發出要求的主裝置亦不需要在接收到受要求資料時發出完成應答(此是在對於諸如直接記憶體傳輸的情況),而此減少了互連上的訊息傳輸量。
已認知到,在經界定的同調協定交易組內,在交換彼等交易的裝置之間交換額外資訊的機會是受到限制的,但本技術已識別到,可由定序限制條件(ordering constraint)的規格(或者相反地由定序自由度(ordering freedom)的規格)來標示此種同調協定交易,此種定序規格可僅對發生在系統中特定裝置對之間的交易具有經界定的意義。例如,在同調互連系統中對集線器裝置發出讀取交易的發出要求的主裝置,可指定要求針對其他交易可為自由定序的,或相反地指定定序受到限制。在接收到定序交易時,基地節點藉由確保基地節點在發出新交易至從屬節點裝置之前已觀察到先前較早交易的完成,以執行此經界定的定序。然而,在由基地節點執行定序時,本技術認知到用於指定此定序的交易的部分,對於發出要求的節點與基地節點之間的交易可具有意義,但對於基地節點與從屬節點之間的交易將不具有意義。因此,本技術利用此情況,而進一步地使用交易的此部分,藉由再使用此部分而使得從基地節點傳送至從屬節點的交易可被解譯為包含讀取應答觸發符。因此在一些具體實施例中,讀取交易在讀取交易的預定部分中包含針對其他交易的定序自由度規格,且讀取應答觸發符被包含在直接記憶體傳輸要求的相同預定部分內。
指定定序自由度的讀取交易的預定部分可由各種方式配置,但在一些具體實施例中,在直接記憶體傳輸要求的預定部分的子部分中指示讀取應答觸發符,且其中讀取交易的預定部分的子部分針對讀取交易對設備不具有語意意義。
在一些具體實施例中,預定部分為同調協定交易的位元欄位,此位元欄位被解譯為交易定序規格。同調協定交易的此經界定的位元欄位可被由各種方式界定,但在一些具體實施例中,位元欄位為被解譯為交易定序規格的兩位元欄位,兩位元欄位中的預定位元組合針對讀取交易對於設備不具有語意意義,且兩位元欄位中的預定位元組合為直接記憶體傳輸要求中的讀取應答觸發符。因此,預定位元組合將被瞭解為針對讀取交易對設備不具有語意意義的兩位元欄位所可代表的四種可能的特定排列組合,亦即,在同調協定交易的此規格中可例如被界定為「保留(reserved)」。兩位元欄位內容的其他排列組合,針對讀取交易定序對於設備可當然具有經適當界定的意義,諸如(例如)「未定序(no ordering)」、「要求定序(request ordering)」、以及「終點定序(end point ordering)」。
如上文所提及的,本技術所採取的作法的特徵,為設備可將設備追蹤器中的項目標示為完成(在回應於接收到來自發出要求的主裝置的讀取交易而產生此項目之下),而不需要等待發出要求的主裝置確認資料傳輸完成。然而,此並不表示禁止發出要求的主裝置在讀取交易中包含隨後將發出完成應答的指示符,且在一些具體實施例中,讀取交易包含隨後將在讀取交易完成時發出交易完成訊號的指示符。
設備當然可使用此種完成應答訊號,以進一步驗證交易已正確地在系統中完成,且為此在一些具體實施例中,交易追蹤電路系統進一步包含計數器電路系統以維持計數器值,且計數器電路系統係回應於隨後將發出交易完成訊號的指示符以將計數器值增量,且計數器電路系統回應於交易完成訊號以將計數器值減量。設備可藉由此機制監測此種交易的完成,在指示期望此種應答時使計數器增量,並在接收到應答時使計數器減量。
隨後可由數種方式利用此計數器值,例如在一些具體實施例中,設備回應於計數器值指示仍期望交易完成訊號(在設備準備進入靜態狀態時)以產生錯誤訊號。因此,在設備準備進入此靜態狀態時(且因此所有正進行中的交易應被完成),若計數器值指示未解決之(顯然未完成的)交易,則可產生錯誤訊號。例如,儘管特定計數器值的意義可被由各種方式界定,但在一個實例中,計數器值可從零開始,在接收到指示隨後將發出交易完成訊號的交易時將此值往上增量,且因此,非零計數器值可觸發錯誤訊號。
相反而言,設備亦可藉由此機制判定所接收的交易完成訊號為假訊號,例如(在前述計數器範例配置下)在計數器值已為零時接收到交易完成訊號。因此在一些具體實施例中,在計數器值指示設備不應期待交易完成訊號時,設備回應於接收到交易完成訊號而產生錯誤訊號。
交易追蹤電路系統可維持用於系統中所有發出要求的主裝置的單一計數器,但在一些具體實施例中交易追蹤電路系統包含多個計數器電路系統的個體,該等計數器電路系統對多於一個發出要求的主裝置個別維持計數器值。此賦能對於交易完成的監測以及使錯誤的產生更可專屬於特定的主裝置。
設備接收的來自發出要求的主裝置的讀取交易,可指明對於資料項的特定同調狀態(一旦被發出要求的主裝置接收並儲存在主裝置的快取記憶體中)。讀取交易可指示資料項將被快取記憶體儲存於非共享狀態中。換言之,讀取交易可被描述為「ReadNoSnoop」交易。讀取交易可指示資料項可被共享,且發出要求的主裝置將不會保持複製品。換言之,讀取交易可被描述為「ReadOnce」交易。讀取交易可指示資料項的所有其他複製品要被從其他主裝置的快取記憶體中清除並無效化。換言之,讀取交易可被描述為「ReadOnceCleanInvalidate」交易。讀取交易可指示資料項的所有其他複製品在其他主裝置的快取記憶體中被無效化。換言之,讀取交易可被描述為「ReadOnceMakeInvalid」交易。在本發明技術領域中具有通常知識者,將認知到上面所使用的術語(亦即「ReadNoSnoop」、「ReadOnce」、「ReadOnceCleanInvalidate」、與「ReadOnceMakeInvalid」),係來自英國劍橋郡的ARM® Limited公司所提供的AMBA®規格。因此,務必注意到,本揭示內容僅利用已知的術語來給出可從在此揭示的技術受益的讀取交易的明確實例,但是該等技術同樣可以應用於其他系統和互連規範。
在一些範例具體實施例中,存在一種用於在同調互連系統中操作設備的方法,方法包含以下步驟:接收來自發出要求的主裝置的一組同調協定交易的讀取交易,讀取交易係對於儲存在資料儲存從屬裝置中的資料項;在同調協定交易的完成正在進行中的同時,維持從發出要求的主裝置接收來的同調協定交易的記錄;回應於接收到讀取交易,而發出直接記憶體傳輸要求至資料儲存從屬裝置,其中直接記憶體傳輸要求包含讀取應答觸發符,以徵求來自資料儲存從屬裝置的讀取應答訊號;以及回應於接收到來自資料儲存裝置的讀取應答訊號,而更新由接收到讀取交易所創造的記錄,以指示直接記憶體傳輸要求的完成。
在一些範例具體實施例中,存在一用於包含發出要求的主裝置與資料儲存從屬裝置的同調互連系統的設備,其中設備包含:接收手段,用於接收來自發出要求的主裝置的同調協定交易;交換進一步交易手段,用於與資料儲存從屬裝置交換進一步的同調協定交易;維持記錄手段,用於在同調協定交易的完成正在進行中的同時,維持從發出要求的主裝置接收來的同調協定交易的記錄;發出要求手段,用於回應於接收到來自發出要求的主裝置、對於儲存在資料儲存從屬裝置中的資料項的同調協定交易的讀取交易,而發出直接記憶體傳輸要求至資料儲存從屬裝置,其中直接記憶體傳輸要求包含讀取應答觸發符;以及更新記錄手段,用於回應於接收到來自資料儲存裝置的讀取應答訊號,而更新由接收到讀取交易所創造的在該維持記錄手段中的記錄,相應於直接記憶體傳輸要求的完成。
在一些範例具體實施例中,存在一用於同調互連系統的資料儲存從屬裝置,包含:介面電路系統,用以與集線器裝置交換同調協定交易,並與主裝置交換進一步的同調協定交易;以及交易控制電路系統,交易控制電路系統回應於接收到來自集線器裝置、包含讀取應答觸發符的直接記憶體傳輸要求,而發送讀取應答訊號至集線器裝置,並將直接記憶體傳輸要求中指定的資料直接發送至主裝置。
回應於接收到包含讀取應答觸發符的直接記憶體傳輸要求,交易控制電路系統對於讀取應答訊號的觸發,可由各種方式發生。例如在一些具體實施例中,在不需要重試時,交易控制電路系統可經設置為回應於接受直接記憶體傳輸要求而發送讀取應答訊號至集線器裝置。換言之,一旦從屬裝置已接受了直接記憶體傳輸要求並可保證從屬裝置將不會拒絕要求(亦即發出「重試」),則從屬裝置可傳送讀取應答訊號。集線器裝置從而可接收對於接受直接記憶體傳輸要求的非常及時的指示,且交易追蹤電路系統中的記錄亦相應地及時更新,因此減少此記錄在追蹤器中的生命期。在其他具體實施例中,觸發可不為如此立即,且從屬裝置可延遲回應,直到從屬裝置已完成處理直接記憶體傳輸要求,且因此傳送直接記憶體傳輸資料回應至發出要求的主裝置並同時傳送讀取應答訊號至集線器(基地)裝置,因此簡化了硬體邏輯。
在一些範例具體實施例中,存在一用於在同調互連系統中操作資料儲存從屬裝置的方法,方法包含:接收來自集線器裝置的直接記憶體傳輸要求;在直接記憶體傳輸要求包含讀取應答觸發符時,發送讀取應答訊號至集線器裝置;以及將直接記憶體傳輸要求中指定的資料,直接發送至主裝置。
現將參照圖式說明一些特定的具體實施例。
第1圖示意圖示說明在一個具體實施例中實施本技術的資料處理系統10。如可見於圖式,此為相當具有異質性的系統,包含數種不同的主裝置以及數種不同的從屬裝置,但其他具體實施例可為較具有同質性。第1圖圖示的主裝置包含中央處理裝置14、圖形處理裝置16、直接記憶體存取裝置(DMA)18、以及輸入輸出(I/O)同調主控器20。此I/O同調主控器20提供對於網路介面卡(NIC)40的橋接,以與另外的網路(未圖示)通訊。第1圖實例中圖示說明的從屬裝置,包含記憶體22與24、周邊設備26、與系統快取記憶體28。所有該等裝置之間的通訊與資料傳輸,係由同調互連12介導,同調互連12在本文中亦稱為基地節點或集線器裝置。亦如圖所示,CPU裝置14被圖示為包含特定CPU方塊30與相關聯的本端(亦即L1)快取記憶體34,圖形處理裝置16被圖示為包含特定GPU方塊32與本端(L1)快取記憶體36,且I/O同調主控器20亦被提供了自身的本端(L1)快取記憶體38。第1圖中圖示說明的裝置之間的通訊,採用經界定格式之訊息的形式,從一組同調協定交易,此致能維持可在所圖示說明的系統周圍的多個位置中儲存的資料項的複數個複製品的同調性。此組同調協定交易可被由適當於所考量系統的各種方式來界定,而一種適合的實例為由英國劍橋郡的ARM® Limited公司所提供的AMBA® 5 CHI(同調集線器介面)規格。本文所揭示的技術,相關於基地節點處理從發出要求的主裝置接收來的特定讀取交易的方式,以使該等交易能夠由直接記憶體傳輸的手段來完成,而不會對基地節點施加提升的追蹤負擔。
第2圖示意圖示說明在一個具體實施例中的設備50,設備50可例如扮演第1圖圖示說明的系統中的同調互連。設備50(在此稱為「基地節點」或「集線器」)包含主介面52與從屬介面54,設備50經由主介面52與系統中的主裝置交換交易,且設備50經由從屬介面54與從屬裝置交換交易。相關於本揭示內容的特定交易,為從系統中的發出要求的主裝置接收來的讀取交易,以及發至系統中的資料儲存從屬裝置的直接記憶體傳輸要求。設備50包含交易控制電路系統56,交易控制電路系統56管理由設備接收、處理、與發出交易的總體控制。此部件亦參照交易追蹤電路系統58,在圖式中交易追蹤電路系統58被圖示為包含正在進行中的交易電路系統60與計數器62。設備50亦被圖示為正與系統快取記憶體64通訊(可例如為第1圖的系統快取記憶體28)。設備50經由主介面52從發出要求的主裝置接收來的讀取交易,包含兩位元定序欄位,兩位元定序欄位的兩位元內容被界定為具有相關於要求定序讀取交易的下列意義: 2’b00 : 未定序 2’b01 : 保留 2’b10 : 要求定序 2’b11 : 終點定序
本技術利用位元組合2'b01被界定為「保留」(亦即對於接收到此位元組合的裝置(包含設備50)不具有語意意義)的事實。在接收到來自發出要求的主裝置、適合實施為直接記憶體傳輸要求的未定序讀取要求(亦即未分配的讀取交易,諸如「ReadNoSnoop」、「ReadOnce」、「ReadOnceCleanInvalidate」、與「ReadOnceMakeInvalid」)時,交易控制56使得在交易追蹤器58中在正在進行中的交易儲存器60中作成項目。因此務必注意到,本揭示內容是利用已知的術語來協助在本發明技術領域中具有通常知識者瞭解,但是,本揭示內容接著根據在此首次呈現的技術(亦即觸發來自從屬裝置的讀取應答訊號,係轉傳直接記憶體傳輸要求至此從屬裝置)提升此種讀取交易的處理。因此,交易控制56隨後亦標示交易(直接記憶體傳輸要求)的定序欄位,隨後發出交易至儲存所需資料的從屬裝置,以指示需要讀取應答。此是通過將定序欄位的上文指定的「保留」位元組合,以設備50(基地節點)和資料儲存從屬裝置(從屬節點)之間的交易的定制意義過載(overload),以指示需要讀取應答。在此實例中,對於基地節點與從屬節點之間的交易,兩位元定序欄位中的可能位元組合的排列組合為: 2’b00 : 未定序/要被視為不需要讀取應答 2’b01 : 需要讀取應答 2’b10 : 保留 2’b11 : 保留
接收直接記憶體傳輸要求的從屬裝置,經設置以認知定序欄位中的2'b01位元組合的此「新」意義,且從屬裝置在可保證要求已被接受且從屬裝置將不會傳送重試訊息時傳送讀取收據(亦即讀取應答)。當然,此實例中的從屬裝置只要已接受了直接記憶體傳輸要求(並可保證從屬裝置將不會發出重試訊息),即可傳送讀取應答訊號(讀取收據)。基地節點因此接收對於直接記憶體傳輸要求被接受的非常及時的指示,能夠在基地節點的追蹤器中將項目解除分配。在此具體實施例的變異型中,從屬裝置可經配置而在從屬裝置完成處理直接記憶體傳輸要求之前不傳送讀取收據(讀取應答訊號),且因此傳送直接記憶體傳輸資料回應至發出要求的主裝置並同時傳送讀取應答訊號至集線器(基地)裝置,因此簡化了從屬裝置硬體邏輯。下面將參照下列圖式,更詳細說明交易追蹤器58內的計數器62的使用。
第3圖圖示在一個具體實施例中的在發出要求的主裝置、基地節點、與資料儲存從屬裝置之間交換的範例訊息組。一開始,發出要求的主裝置傳送讀取要求至基地節點,指定主裝置需要的一或更多個資料項。在接收到此讀取要求時,基地節點在基地節點的交易追蹤器中作成項目,且隨後發出直接記憶體傳輸(讀取要求)至儲存一或更多個資料項的資料儲存從屬裝置。此要求被由前述特定位元組合(2'b01)在此要求的定序欄位中標示,指示需要讀取應答。因此,回應於接收到此要求,資料儲存從屬裝置發出讀取收據至基地節點。注意到(如前述),資料儲存從屬裝置可經設置以實質上立即地發出此讀取收據(在從屬裝置已接受直接記憶體傳輸要求並已知將不會發生重試時),或可被設置為僅在直接記憶體傳輸已被處理時傳送讀取收據。在接收到收據後,基地節點隨後將基地節點在追蹤器中產生的項目標示為完成(由於現在已完成了完整交易)。資料儲存從屬裝置從資料儲存從屬裝置的儲存器中取得所需資料,且隨後將此資料直接發送至發出要求的主裝置,而不用經由基地節點。圖式圖示此資料的傳輸可經由多於一次傳輸來進行(例如多個封包)。最後,第3圖中的虛線通訊線,圖示發出要求的主裝置可額外發出交易完成應答至基地節點,在所要求的資料已被完全接收時。在發出要求的主裝置已在初始讀取要求中指示了可期望此種完成應答的情況中(ExpCompAck=1),基地節點可使對應的計數器(諸如第2圖圖示的計數器62之一者)增量,且在接收到交易完成應答時使此計數器減量。此將於下文更詳細說明。
第4圖圖示在一個具體實施例中由作業中的基地節點所進行的步驟序列。流程可視為開始於步驟100,其中判定是否已接收到未定序的ReadNoSnoop、ReadOnce、ReadOnceCleanInvalidate、或ReadOnceMakeInvalid交易。在未接收到時,流程在此階段等待。在接收到該等類型交易之一者時,流程行進至步驟102,其中基地節點對此交易在追蹤器中分配項目。接著在步驟104,基地節點發出直接記憶體傳輸要求至系統中儲存受要求資料項的從屬節點,且定序欄位的位元設為2b'01,其中此位元組合對於定序限制條件規格不具有意義,但是接收要求的從屬節點將瞭解此位元組合指示應產生讀取收據。接著,流程在步驟106等待,直到已接收來自從屬節點的對應讀取收據,且最後在步驟108,將追蹤器中對於此交易的項目解除分配(亦即標示為完成)。流程隨後返回步驟100。
第5圖圖示在一個具體實施例中基地節點在作業中所進行的步驟序列。流程可視為開始於步驟200,其中流程等待,直到接收到未定序的ReadNoSnoop、ReadOnce、ReadOnceCleanInvalidate、或ReadOnceMakeInvalid交易。流程隨後行進至步驟202,其中判定所接收的讀取交易是否指示隨後將由發出要求的主裝置發出交易完成應答。若是(亦即在讀取交易中ExpCompAck = 1),則流程經由步驟204行進,其中基地節點對發出要求的主裝置將計數器增量。否則(亦即在讀取交易中ExpCompAck = 0),流程直接行進至步驟206。在此步驟下,對此交易在追蹤器中分配項目,且隨後在步驟208,基地節點發出直接記憶體傳輸(讀取)要求至儲存受要求資料項的從屬節點,且定序欄位的位元設為2b'01。流程隨後在步驟210等待,直到接收到來自從屬節點的對應讀取收據,且在步驟212,將對於此交易的追蹤器中的項目解除分配。接著在步驟214,判定基地節點是否接收到來自發出要求的主裝置的交易完成訊號,且流程自身在此迴圈進行直到接收到此交易完成訊號為止,且隨後在步驟216,對於發出要求的主裝置的計數器被減量,且流程返回步驟200。
第5圖圖示對應於發出要求的主裝置的計數器的增量與減量(僅在主裝置正常操作之下),且(僅為了在此圖式中清晰圖示說明)第5圖並未圖示說明在回應於所接收訊號的計數器值的可能更新指示了系統中的可能錯誤時,基地節點如何回應。第6A圖與第6B圖圖示兩個此種實例。第6A圖圖示由基地節點產生錯誤訊號的一種方式。流程可視為開始於步驟220,其中判定是否接收到具有ExpCompAck = 1的未定序讀取交易。若接收到,則流程經由步驟222行進,其中將對於發出要求的主裝置的計數器增量。接著在步驟224,判定是否已接收到Comp_Ack訊號(亦即交易完成應答)。若否,則流程返回步驟220。然而,若接收到Comp_Ack訊號,則流程行進至步驟226,其中判定對於相關主裝置的計數器是否已位於預定最小值(例如零)。若計數器已位於預定最小值且因此不可能進一步將此計數器減量,則流程行進至步驟228,因為已接收到假的Comp_Ack訊號,並可標示錯誤。換言之,在到達流程圖中的此點時,基地節點已觀察到的交易完成應答,多於對於應期望此種交易完成應答的指示。或者,在步驟230,將對於此主裝置的計數器減量,且流程返回步驟220。
第6B圖圖示基地節點尋求進入靜態狀態時可採取的方式之實例。流程可視為開始於步驟250,其中流程等待,直到判定了基地節點應尋求進入靜態狀態。接著在步驟252,判定基地節點對於系統中主裝置所維持的任何計數器並未處於此計數器的預定最小值(亦即,指示仍期望至少一個交易完成應答)。若計數器都處於計數器最小值,則流程行進至步驟254,其中基地節點可繼續進入靜態狀態。然而,若至少一個計數器並未處於此計數器的最小值,則流程行進至步驟256,其中基地節點暫停一段適當週期(取決於特定系統),以允許正在進行中的交易完成,且隨後在步驟258再次判定是否有任何計數器並未處於此計數器的最小值。若現在所有計數器都到達計數器最小值,則流程可行進至步驟254且系統可進入系統的靜態狀態,若否,則流程行進至步驟260,因為仍有未解決之交易完成應答,並可標示此錯誤。
簡短總結,本案提供了在同調互連系統中的設備以及操作此設備的對應方法,同調互連系統包含發出要求的主裝置以及資料儲存從屬裝置。設備在從發出要求的主裝置接收來的同調協定交易的完成正在進行中時,維持同調協定交易的記錄,且回應於接收到來自發出要求的主裝置的對於儲存在資料儲存從屬裝置中的資料項的讀取交易,而發出直接記憶體傳輸要求至資料儲存從屬裝置。讀取應答觸發符被加入直接記憶體傳輸要求,且回應於接收到來自資料儲存從屬裝置的讀取應答訊號,對應於直接記憶體傳輸要求的完成而更新由接收到讀取交易所創造的記錄。設備需要維持記錄的生命期因此被減少,但仍由直接記憶體傳輸滿足了讀取交易。亦提供了對應的資料儲存從屬裝置,以及操作資料儲存從屬裝置的方法。
在本申請案中,用詞「經配置以...」或「經設置以...」用於表示設備的元件具有能夠執行所界定作業的配置。在此背景內容下,「配置」表示硬體或軟體的設置或互連方式。例如,設備可具有提供所界定作業的專屬硬體,或可經編程以執行功能的處理器或其他處理裝置。「經配置以...」或「經設置以...」,並非隱含設備元件需要被由任何方式改變以提供所界定的作業。
儘管本文已參照附加圖式詳細說明了本發明的說明性具體實施例,但應瞭解到本發明並不限於該等精確的具體實施例,且在本發明所屬技術領域中具有通常知識者將可進行各種改變與修改,而不脫離如附加申請專利範圍所界定的本揭示內容的精神與範疇。例如,附屬項的特徵可與獨立項的特徵進行各種結合,而不會脫離本發明的範疇。
10‧‧‧資料處理系統
12‧‧‧同調互連
14‧‧‧中央處理裝置
16‧‧‧圖形處理裝置
18‧‧‧直接記憶體存取裝置(DMA)
20‧‧‧I/O同調主控器
22‧‧‧記憶體
24‧‧‧記憶體
26‧‧‧周邊設備
28‧‧‧系統快取記憶體
30‧‧‧特定中央處理器方塊(CPU)
32‧‧‧特定圖形處理器方塊(GPU)
34‧‧‧快取記憶體(CACHE)
36‧‧‧快取記憶體(CACHE)
38‧‧‧快取記憶體(CACHE)
40‧‧‧網路介面卡(NIC)
50‧‧‧設備
52‧‧‧主介面
54‧‧‧從屬介面
56‧‧‧交易控制電路系統
58‧‧‧交易追蹤電路系統
60‧‧‧交易電路系統
62‧‧‧計數器
64‧‧‧系統快取記憶體
100-108‧‧‧步驟
200-216‧‧‧步驟
220-230‧‧‧步驟
250-260‧‧‧步驟
參照如圖示說明於附加圖式中的本技術的具體實施例,來進一步示例說明本技術,在圖式中:
第1圖示意圖示說明在一個具體實施例中的資料處理系統,包含同調互連;
第2圖示意圖示說明在一個具體實施例中的設備的一些部件,此設備可作為諸如第1圖圖示說明的同調互連系統中的集線器或基地裝置;
第3圖圖示在一個具體實施例中的在發出要求的主裝置、基地節點裝置、與資料儲存從屬裝置之間交換的範例訊息組;
第4圖圖示根據一個具體實施例的方法所進行的步驟組;
第5圖圖示根據一個具體實施例的方法所進行的步驟組;
第6A圖圖示在一個具體實施例中回應於完成應答而使計數器減量的步驟組;以及
第6B圖圖示在一個具體實施例中在基地節點裝置應進入靜態狀態時所採取的步驟組。
國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無
國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無

Claims (18)

  1. 一種用於一同調互連系統的設備,包含: 一介面電路系統,用以接收來自一發出要求的主裝置的同調協定交易,並與一資料儲存從屬裝置交換進一步的同調協定交易; 一交易追蹤電路系統,用以在該等同調協定交易的完成正在進行中的同時,維持從該發出要求的主裝置接收來的該等同調協定交易的記錄;以及 一交易控制電路系統,該交易控制電路系統回應於在該介面電路系統處接收到來自該發出要求的主裝置、對於儲存在該資料儲存從屬裝置中的一資料項的該等同調協定交易的一讀取交易,而發出一直接記憶體傳輸要求至該資料儲存從屬裝置,其中該直接記憶體傳輸要求包含一讀取應答觸發符,以徵求來自該資料儲存從屬裝置的一讀取應答訊號, 且其中該交易追蹤電路系統回應於在該介面電路系統處接收到來自該資料儲存從屬裝置的該讀取應答訊號,而更新由接收到該讀取交易所創造的該交易追蹤電路系統中的一記錄,以指示該直接記憶體傳輸要求的完成。
  2. 如請求項1所述之設備,其中該讀取交易包含在該讀取交易的一預定部分中的針對其他交易的一定序自由度規格,且該讀取應答觸發符被包含在該直接記憶體傳輸要求的一相同預定部分內。
  3. 如請求項2所述之設備,其中該讀取應答觸發符被指示在該直接記憶體傳輸要求的該預定部分的一子部分中,且其中該讀取交易的該預定部分的該子部分針對該讀取交易對該設備不具有語意意義。
  4. 如請求項2所述之設備,其中該預定部分為該等同調協定交易的一位元欄位,此位元欄位被解譯為一交易定序規格。
  5. 如請求項4所述之設備,其中該位元欄位為被解譯為該交易定序規格的一兩位元欄位,該兩位元欄位中的一預定位元組合針對該讀取交易對於該設備不具有語意意義,且該兩位元欄位中的該預定位元組合為該直接記憶體傳輸要求中的該讀取應答觸發符。
  6. 如請求項1所述之設備,其中該讀取交易包含一指示器,指示隨後在該讀取交易完成時,該發出要求的主裝置將發出一交易完成訊號。
  7. 如請求項6所述之設備,其中該交易追蹤電路系統進一步包含計數器電路系統以維持一計數器值,且該計數器電路系統係回應於隨後將發出該交易完成訊號的該指示符以將該計數器值增量,且該計數器電路系統回應於該交易完成訊號以將該計數器值減量。
  8. 如請求項7所述之設備,其中該設備回應於該計數器值指示仍期望該交易完成訊號(在該設備準備進入一靜態狀態時)以產生一錯誤訊號。
  9. 如請求項7所述之設備,其中在該計數器值指示該設備不應期待交易完成訊號時,該設備回應於接收到該交易完成訊號而產生一錯誤訊號。
  10. 如請求項7所述之設備,其中該交易追蹤電路系統包含多個該計數器電路系統的個體,該等計數器電路系統對多於一個發出要求的主裝置個別維持該計數器值。
  11. 如請求項1所述之設備,其中該讀取交易指示該資料項將被一快取記憶體儲存於一非共享狀態中。
  12. 如請求項1所述之設備,其中該讀取交易指示該資料項可被共享,且該發出要求的主裝置將不會保持一複製品。
  13. 如請求項12所述之設備,其中該讀取交易指示該資料項的所有其他複製品要被從其他主裝置的快取記憶體中清除並無效化。
  14. 如請求項12所述之設備,其中該讀取交易指示該資料項的所有其他複製品要被在其他主裝置的快取記憶體中無效化。
  15. 一種用於在一同調互連系統中操作一設備的方法,該方法包含以下步驟: 接收來自一發出要求的主裝置的一組同調協定交易的一讀取交易,該讀取交易係對於儲存在一資料儲存從屬裝置中的一資料項; 在該等同調協定交易的完成正在進行中的同時,維持從該發出要求的主裝置接收來的同調協定交易的記錄; 回應於接收到該讀取交易,而發出一直接記憶體傳輸要求至該資料儲存從屬裝置,其中該直接記憶體傳輸要求包含一讀取應答觸發符,以徵求來自該資料儲存從屬裝置的一讀取應答訊號;以及 回應於接收到來自該資料儲存裝置的該讀取應答訊號,而更新由接收到該讀取交易所創造的一記錄,以指示該直接記憶體傳輸要求的完成。
  16. 一種用於一同調互連系統的資料儲存從屬裝置,包含: 一介面電路系統,用以與一集線器裝置交換同調協定交易,並與一主裝置交換進一步的同調協定交易;以及 一交易控制電路系統,該交易控制電路系統回應於接收到來自該集線器裝置、包含一讀取應答觸發符的一直接記憶體傳輸要求,而發送一讀取應答訊號至該集線器裝置,並將該直接記憶體傳輸要求中指定的資料直接發送至該主裝置。
  17. 如請求項16所述之資料儲存從屬裝置,其中該交易控制電路系統經設置以回應於接受該直接記憶體傳輸要求,在不需要重試時發送該讀取應答訊號至該集線器裝置。
  18. 一種用於在一同調互連系統中操作一資料儲存從屬裝置的方法,該方法包含以下步驟: 接收來自一集線器裝置的一直接記憶體傳輸要求; 在該直接記憶體傳輸要求包含一讀取應答觸發符時,發送一讀取應答訊號至該集線器裝置;以及 將該直接記憶體傳輸要求中指定的資料,直接發送至該主裝置。
TW107101499A 2017-02-08 2018-01-16 用於同調互連系統的設備與裝置以及操作此設備與裝置的方法 TWI770107B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/427,435 US10795820B2 (en) 2017-02-08 2017-02-08 Read transaction tracker lifetimes in a coherent interconnect system
US15/427,435 2017-02-08

Publications (2)

Publication Number Publication Date
TW201830238A true TW201830238A (zh) 2018-08-16
TWI770107B TWI770107B (zh) 2022-07-11

Family

ID=61132824

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107101499A TWI770107B (zh) 2017-02-08 2018-01-16 用於同調互連系統的設備與裝置以及操作此設備與裝置的方法

Country Status (8)

Country Link
US (1) US10795820B2 (zh)
EP (1) EP3580662B1 (zh)
JP (1) JP7140768B2 (zh)
KR (1) KR102526436B1 (zh)
CN (1) CN110268390B (zh)
IL (1) IL268322B (zh)
TW (1) TWI770107B (zh)
WO (1) WO2018146451A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10795820B2 (en) * 2017-02-08 2020-10-06 Arm Limited Read transaction tracker lifetimes in a coherent interconnect system

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5197146A (en) * 1989-06-21 1993-03-23 Hewlett-Packard Company Method for maintaining cache coherence in a multiprocessor computer system
JPH07168763A (ja) * 1992-11-13 1995-07-04 Cyrix Corp ライトスルーキャシュ設計のシステムでのライトバックキャシュのコヒーレンシ
US5504874A (en) * 1993-09-29 1996-04-02 Silicon Graphics, Inc. System and method of implementing read resources to maintain cache coherency in a multiprocessor environment permitting split transactions
US5696910A (en) * 1995-09-26 1997-12-09 Intel Corporation Method and apparatus for tracking transactions in a pipelined bus
US5953538A (en) * 1996-11-12 1999-09-14 Digital Equipment Corporation Method and apparatus providing DMA transfers between devices coupled to different host bus bridges
US6014690A (en) * 1997-10-24 2000-01-11 Digital Equipment Corporation Employing multiple channels for deadlock avoidance in a cache coherency protocol
US7124252B1 (en) * 2000-08-21 2006-10-17 Intel Corporation Method and apparatus for pipelining ordered input/output transactions to coherent memory in a distributed memory, cache coherent, multi-processor system
US6681293B1 (en) * 2000-08-25 2004-01-20 Silicon Graphics, Inc. Method and cache-coherence system allowing purging of mid-level cache entries without purging lower-level cache entries
US6622216B1 (en) * 2001-05-10 2003-09-16 Lsi Logic Corporation Bus snooping for cache coherency for a bus without built-in bus snooping capabilities
US6862646B2 (en) * 2001-12-28 2005-03-01 Thomas J. Bonola Method and apparatus for eliminating the software generated ready-signal to hardware devices that are not part of the memory coherency domain
US8185602B2 (en) * 2002-11-05 2012-05-22 Newisys, Inc. Transaction processing using multiple protocol engines in systems having multiple multi-processor clusters
US7305524B2 (en) * 2004-10-08 2007-12-04 International Business Machines Corporation Snoop filter directory mechanism in coherency shared memory system
EP1955168A2 (en) * 2005-09-30 2008-08-13 Unisys Corporation Cache coherency in an extended multiple processor environment
US20070143550A1 (en) * 2005-12-19 2007-06-21 Intel Corporation Per-set relaxation of cache inclusion
US7734857B2 (en) * 2007-07-31 2010-06-08 Intel Corporation Cache coherent switch device
US7925840B2 (en) * 2008-09-05 2011-04-12 Arm Limited Data processing apparatus and method for managing snoop operations
US8375170B2 (en) * 2010-02-12 2013-02-12 Arm Limited Apparatus and method for handling data in a cache
JP2012118906A (ja) * 2010-12-03 2012-06-21 Sony Corp 相互接続装置、および、その制御方法
US9304924B2 (en) * 2012-08-17 2016-04-05 Futurewei Technologies, Inc. Cache coherent handshake protocol for in-order and out-of-order networks
GB2522057B (en) * 2014-01-13 2021-02-24 Advanced Risc Mach Ltd A data processing system and method for handling multiple transactions
BR112016012902A2 (pt) * 2014-01-16 2017-08-08 Intel Corp Aparelho, método e sistema para um mecanismo de configuração rápida
GB2525577A (en) * 2014-01-31 2015-11-04 Ibm Bridge and method for coupling a requesting interconnect and a serving interconnect in a computer system
US9311244B2 (en) * 2014-08-25 2016-04-12 Arm Limited Enforcing ordering of snoop transactions in an interconnect for an integrated circuit
GB2533972B (en) * 2015-01-12 2021-08-18 Advanced Risc Mach Ltd An interconnect and method of operation of an interconnect
GB2536871A (en) * 2015-03-04 2016-10-05 Advanced Risc Mach Ltd An apparatus and method to generate trace data in response to transactional execution
GB2538764B (en) * 2015-05-28 2018-02-14 Advanced Risc Mach Ltd Register renaming
US10235297B2 (en) * 2015-11-04 2019-03-19 International Business Machines Corporation Mechanism for creating friendly transactions with credentials
US9916247B2 (en) * 2016-02-04 2018-03-13 International Business Machines Corporation Cache management directory where hardware manages cache write requests and software manages cache read requests
GB2557254B (en) * 2016-12-02 2020-02-12 Advanced Risc Mach Ltd Filtering coherency protocol transactions
US10489323B2 (en) * 2016-12-20 2019-11-26 Arm Limited Data processing system for a home node to authorize a master to bypass the home node to directly send data to a slave
US10795820B2 (en) * 2017-02-08 2020-10-06 Arm Limited Read transaction tracker lifetimes in a coherent interconnect system
US11256623B2 (en) * 2017-02-08 2022-02-22 Arm Limited Cache content management
US10649684B2 (en) * 2017-03-16 2020-05-12 Arm Limited Memory access monitoring
US10761987B2 (en) * 2018-11-28 2020-09-01 Arm Limited Apparatus and method for processing an ownership upgrade request for cached data that is issued in relation to a conditional store operation

Also Published As

Publication number Publication date
KR20190116326A (ko) 2019-10-14
IL268322A (en) 2019-09-26
EP3580662A1 (en) 2019-12-18
IL268322B (en) 2021-12-01
US20180225206A1 (en) 2018-08-09
KR102526436B1 (ko) 2023-04-27
EP3580662B1 (en) 2021-04-21
JP7140768B2 (ja) 2022-09-21
WO2018146451A1 (en) 2018-08-16
TWI770107B (zh) 2022-07-11
CN110268390A (zh) 2019-09-20
JP2020506482A (ja) 2020-02-27
CN110268390B (zh) 2023-09-01
US10795820B2 (en) 2020-10-06

Similar Documents

Publication Publication Date Title
US11822786B2 (en) Delayed snoop for improved multi-process false sharing parallel thread performance
KR100308323B1 (ko) 공유된 개입 지원을 가지는 비균등 메모리 액세스 데이터처리 시스템
JP4737691B2 (ja) 排他的所有権のスヌープフィルタ
TWI416322B (zh) 最佳化以目錄為基礎的一致性協定中之同時存取
US9529532B2 (en) Method and apparatus for memory allocation in a multi-node system
TWI463318B (zh) 快取一致性處理系統、快取記憶體,及其方法
US20110004732A1 (en) DMA in Distributed Shared Memory System
US8510512B2 (en) Memory coherence directory supporting remotely sourced requests of nodal scope
US7568073B2 (en) Mechanisms and methods of cache coherence in network-based multiprocessor systems with ring-based snoop response collection
US10079916B2 (en) Register files for I/O packet compression
US20150254182A1 (en) Multi-core network processor interconnect with multi-node connection
US9836326B2 (en) Cache probe request to optimize I/O directed caching
JP7153441B2 (ja) データ処理
US9372800B2 (en) Inter-chip interconnect protocol for a multi-chip system
CN112106032B (zh) I/o主设备和cpu之间优化数据共享的有序写存储的高性能流
US20150254207A1 (en) Method and system for ordering i/o access in a multi-node environment
JP2004506265A (ja) 分散処理システムにおけるロックの実行
EP3788492B1 (en) Separating completion and data responses for higher read throughput and lower link utilization in a data processing network
KR20200049529A (ko) 데이터 처리 시스템에서의 캐시 유지보수 동작
TWI770107B (zh) 用於同調互連系統的設備與裝置以及操作此設備與裝置的方法
US20090006712A1 (en) Data ordering in a multi-node system
US10372638B2 (en) Interconnect agent
US20240184720A1 (en) Transmitting a Response with a Request and State Information about the Request
JPH09237259A (ja) マルチプロセッサシステムにおけるデータ一貫性維持制御方法