TWI410796B - 來自窺探過濾器之過期無效異動的減少 - Google Patents
來自窺探過濾器之過期無效異動的減少 Download PDFInfo
- Publication number
- TWI410796B TWI410796B TW098116908A TW98116908A TWI410796B TW I410796 B TWI410796 B TW I410796B TW 098116908 A TW098116908 A TW 098116908A TW 98116908 A TW98116908 A TW 98116908A TW I410796 B TWI410796 B TW I410796B
- Authority
- TW
- Taiwan
- Prior art keywords
- snoop filter
- cache
- transaction
- invalid
- login
- Prior art date
Links
- 238000000034 method Methods 0.000 claims abstract description 15
- 230000015654 memory Effects 0.000 claims description 42
- 230000005540 biological transmission Effects 0.000 claims description 9
- 230000004044 response Effects 0.000 claims 2
- 208000008918 voyeurism Diseases 0.000 claims 1
- 239000003795 chemical substances by application Substances 0.000 description 23
- 230000000875 corresponding effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 235000012431 wafers Nutrition 0.000 description 5
- 229910003460 diamond Inorganic materials 0.000 description 4
- 239000010432 diamond Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000003993 interaction Effects 0.000 description 2
- 238000001693 membrane extraction with a sorbent interface Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001568 sexual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0817—Cache consistency protocols using directory methods
- G06F12/082—Associative directories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0815—Cache consistency protocols
- G06F12/0831—Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Description
本發明係有關來自窺探過濾器之過期無效異動的減少。
在具有多處理器及多快取之多處理器系統中,各快取可儲存儲存於記憶體中之一資料段的副本。當超過一個快取含有相同資料段的副本時會產生問題。已經發展出各種的技術來確保多快取間的資料一致性。例如,當變更一快取中之資料時,該資料的其他副本會被標記為無效,使之不被使用。
為了幫助維持快取一致性,許多系統包括目錄,如窺探過濾器,以助於判斷此多快取之快取線中資料的存在及狀態。可發生窺探操作,其中匯流排之代理器窺探記憶體異動,如讀取/寫入操作。代理器可記錄記憶體異動中所涉及之快取線於窺探過濾器中。快取線的狀態可指示此線是否在主記憶體外僅有一個有效的副本、具有多快取共享的多個有效副本、或在主記憶體外沒有副本(亦即在所有快取中已為無效)。窺探過濾器中之資料登錄經常以主記憶體中其位址的一部分來加以索引。
窺探過濾器有時可能會用完用於記錄新記憶體異動之線的狀態之空間,並可能需要從窺探過濾器逐出登錄以容納新的異動。有時當從窺探過濾器逐出登錄時,會發送過
期無效訊息至潛在保有與被逐出之登錄關連的線之有效副本的每一處理器快取。許多快取錯失係因為窺探過濾器對將被使用之快取線發出之過期無效。
一些窺探過濾器稱為包括式窺探過濾器(inclusive snoop rilter;ISF),其中窺探過濾器中的資訊與窺探過濾器所涵蓋之快取的快取線包括式地維持。在一包括式快取階層中,快取記憶體之一(亦即較低階快取記憶體)包括含在另一快取記憶體(亦即較高階快取記憶體)中之資料的子集。快取階層可改善處理器性能,因其允許具有較快存取速度之較小快取含有較常用之資料。而具有比較小快取更慢的存取速度之較大快取則儲存較不常用的資料(還有較低階快取中之資料的副本)。
窺探過濾器,如同其覆蓋之快取般,分配並逐出登錄。然而,由於具有ISF之包括式快取階層儲存一些共同的資料,一快取階級或窺探過濾器中之快取線的逐出會導致快取階層的另一階級中之對應的快取線逐出以維持快取一致性。ISF必須確保從窺探過濾器逐出其位址之快取線係自所有涵蓋的快取移除掉。一般而言,這涉及從窺探過濾器發送過期無效請求至所涵蓋的快取。當窺探過濾器發送許多此種請求時,其消耗互連頻寬,這會增加有效記憶體潛伏,並可能會移除掉有用的快取登錄。
在各種實施例中,窺探過濾器可被組態成像是發送一
已降低數量的過期無效訊息至其所耦合的快取。依照此方式,可從快取逐出較少登錄,增進快取命中率。減少過期無效訊息之數量亦會減少系統互連流量,增進記憶體潛伏及其他系統效率因子。詳言之,在各種實行例中,欲從窺探過濾器逐出登錄的窺探過濾器(其中此登錄與一給定快取線關連)可避免發送過期無效訊息,若對應快取可能立刻會針對那個快取線發出其自身的無效訊息。依照此方式,可避免從窺探過濾器發送過期無效訊息的成本。
取決於快取尺寸及應用,從窺探過濾器逐出之快取線的一大部分會被變更(亦稱為「髒的」)。當快取決定逐出髒線,其一般發出「外顯寫回」(Explicit WriteBack;EWB)異動。在一些實行例中,此異動稱為無效外顯寫回(或BWL.INVLD)異動,其結合兩語義成為單一異動。詳言之,此異動通報所針對之快取線目前的值,並提供已從快取階層之所有階級移除快取線的指示。實施例利用此第二屬性,使涵蓋那個快取的窺探過濾器可默默地移除其之關連的登錄。換言之,窺探過濾器可從窺探過濾器移除對應登錄而不發出過期無效請求。
因此,當ISF可判斷所涵蓋的快取可能針對已經或即將被逐出之ISF登錄發出無效外顯寫回異動,其可延遲發出無效請求。接著,當快取針對此快取線發出此異動時,窺探過濾器則無需發出無效請求。
因此實施例可提供針對窺探過濾器中的已逐出(或即將被逐出)之登錄可能會發出無效外顯寫回的指示給ISF
之第一機制,以及利用此資訊來抑制在給定時期內發出無效請求之第二機制。若在此時期間接收到關連的無效外顯寫回異動,則窺探過濾器可避免發送請求。
在一實施例中,第一機制可利用關於讀取異動之暗示,其指示特定快取中的哪一快取位置會被逐出以讓出空間來給讀取結果。暗示本身可包括資訊,在此稱為「EWB暗示」以通報逐出的道(way)已被變更。此機制的一替代形式可使用窺探過濾器本身中之資訊。例如,在接收到逐出暗示後,窺探過濾器可保持快取獲得待逐出線之獨佔所有權的指示。請求線之獨佔所有權與變更那條線高度關連(典型地,針對英特爾(Intel®)64及Intel®架構(IA)-32指令集架構(ISA)應用超過90%的機率)。因此,此指示可導致窺探過濾器延遲發出無效訊息。
在一實施例中,第二機制可實施為緩衝器,如無效請求的虛擬或實體佇列或池。亦即,窺探過濾器可分成主要窺探過濾器部分,其中儲存所有窺探過濾器登錄,以及次要窺探過濾器部分,其可在此稱為臨時池或無效池,其中儲存要從窺探過濾器逐出之登錄。因此在逐出前,且於至少一段時期內(如預定時期,在一些實施例中可約為100奈秒的數量級),其中暫不從窺探過濾器傳輸無效請求,來自主要窺探過濾器部分之逐出登錄可儲存在此臨時池中。因此,進入的無效外顯寫回異動可用來導致此池(包括等待無效請求之待決登錄集)之搜尋並刪除任何匹配項。可在一段時間後發出、若池或佇列群體達到某一程度
時基於某年齡順序發出、及/或當有足夠系統資源時發出在此虛擬或實體結構中之待決無效。
參照第1圖,顯示多處理器系統10之一實施例的區塊圖。如第1圖中所示,系統10可具有與晶片組13互連之複數處理節點17。處理節點17之每一個可包括一或更多處理器11(顯示每一處理節點兩個處理器,其中各處理器可為處理器核心或多核心處理器)及一快取12。各快取12可由「原生節點」(此快取所在之處理節點)之處理器11本地存取或由「遠端節點」(原生節點以外之處理節點)之處理器11遠端存取。快取12相關於原生節點的處理器11稱為「本地快取」,且可以相對小但快速之記憶體所形成,如靜態隨機存取記憶體(SRAM)。處理節點17可透過一或更多前側匯流排(FSB)14(僅顯示兩FSB)或其他類型的互連,如點對點互連,耦合至晶片組13。處理節點17之一或更多可實施為單一晶片。系統10可用為伺服器系統,因為其擁有高集合處理能力,雖本發明之範疇不限於此。
晶片組13可包括一致性控制器132,其可包括根據本發明之一實施例的窺探過濾器,用來處理從FSB 14接收之處理請求並維持快取12間之資料一致性。一致性控制器132的功能於後參照第2圖詳細討論。晶片組13可包括記憶體控制器134,用以提供介面給處理節點17及系統10之其他構件以存取記憶體15的儲存位置。記憶體15可為動態隨機存取記憶體(DRAM)裝置或適合伺服器或一
般應用之其他揮發性或非揮發性記憶體裝置。
晶片組13亦可包括I/O控制器136,用以提供介面給處理節點17及系統10之其他構件以存取一或更多I/O裝置16。I/O裝置16可包括工業標準架構(ISA)裝置、周邊構件互連(PCI)裝置、PCI快速裝置、通用序列匯流排(USB)裝置、小型電腦系統介面(SCSI)裝置、或適合伺服器或一般應用之其他標準或專屬I/O裝置。在一些實施例中,晶片組13可實施為單一晶片。在一些實施例中,晶片組13可實施為兩或更多晶片。
處理器11可在其個別的本地快取12中儲存記憶體之線以促進快速存取。快取12可儲存資料、指令或上述之組合。針對各快取線,快取12可儲存標籤(如記憶體位址之一部分)以關連或映照快取線至記憶體15中之對應的線。快取12亦可儲存並更新各快取線之一致性狀態。例如,快取12可支援MESI一致性狀態,其中快取線可具有已變更(M)狀態、專有(E)狀態、共享(S)狀態、或無效(I)狀態。
參照第2圖,在一實施例中,一致性控制器132可包括窺探過濾器24,以提供快取線之一致性資訊。如第2圖中所示,一致性控制器132之一實施例可具有多個FSB埠(FSB_埠_021及FSB_埠_122)、一致性引擎23、窺探過濾器24及臨時池28。
窺探過濾器24可包括一或更多儲存陣列,如全關連式陣列、集關連式陣列或直接映照陣列,其包括儲存一致
性資訊的道或線。在一實施例中,窺探過濾器24包含N道集關連式陣列,其中集的每一個包括N槽(或道)225(僅顯示一個)以儲存N快取線之一致性資訊。一快取線可例如藉由使用記憶體位址的某些位元來映照至該等集之一。各道225可儲存一線之資訊。此資訊可包括位址標籤、MESI一致性狀態資訊及存在向量。存在向量可指示哪一FSB 14連接至可能有快取線之快取。
在一實施例中,窺探過濾器24可僅儲存與在E/M狀態中之線關連的那些登錄。此種窺探過濾器登錄稱為E/M登錄。換言之,窺探過濾器24可儲存一線的E/M登錄,若任何快取含有或可能含有主記憶體以外之該線的專有副本。僅儲存E/M登錄可減少儲存於窺探過濾器24中之登錄的總數,並可有效地擴大窺探過濾器之尺寸。但僅儲存E/M登錄的代價為可能導致窺探過濾器24之窺探數量增加。然而,尤其針對讀取密集的應用,整體系統性能一般有所改善。
如第2圖中進一步顯示,窺探過濾器24可與臨時池28關連。雖第2圖中顯示此種結構,本發明之範疇不限於此,且在各種實行例中,臨時池28可為窺探過濾器24的一部分。臨時池28可儲存從窺探過濾器24逐出之登錄,在這些登錄被實際逐出(因而從臨時池28移除)且從一致性引擎23傳送對應的無效訊息至一或更多處理器節點之前。
在一實施例中,當記憶體異動之請求抵達一致性控制
器132時,一致性引擎23可判斷往哪轉送請求。記憶體異動係指請求至記憶體或快取之存取的異動。一致性引擎23可查詢窺探過濾器24來判斷窺探過濾器是否有被請求線的資訊。若窺探過濾器24有此資訊,一致性引擎23基於該線的存在向量轉送請求至連接到具有該線之目前副本的快取之FSB埠(21或22)。若異動可能潛在改變被請求線之狀態,一致性引擎23使用更新單元25來更新窺探過濾器24中之資訊以反映此改變。若窺探過濾器24不具有此線之資訊,則一致性引擎23亦可使用更新單元25來增加一登錄至窺探過濾器以記錄被請求線的一致性資訊。
若,在插入新登錄到滿的窺探過濾器或從與窺探過濾器24中之給定登錄關連之快取接收到無效異動的背景中,可使用一致性引擎23之無效單元26來造成窺探過濾器中之登錄的無效。在執行此種無效中,將從窺探過濾器24逐出選定的登錄。然而,若可能從快取接收到針對此逐出登錄的無效外顯寫回異動,無效單元26可令窺探過濾器24將登錄傳至臨時池28,因而避免過期無效訊息之傳輸。
茲參照第3圖,其顯示描繪根據本發明之一實施例的快取代理器、窺探過濾器及臨時區間之互動的區塊圖。詳言之,第3圖顯示快取代理器17,其可對應至第2圖之處理器節點之一。快取代理器17耦合至窺探過濾器24,其則耦合至臨時池28。為了方便圖說,臨時池28進一步顯示成耦合至快取代理器17。然而,了解到在各種實行例
中,窺探過濾器24及臨時池28可為耦合至對應的快取代理器之晶片組或其他構件的一部分。
於操作期間,與快取代理器17關連之快取記憶體,如階級2(L2)快取,可判斷其在滿容量程度,因此欲儲存額外資訊,其需逐出一或更多登錄。欲達成此,快取代理器17可發送滿容量逐出異動至包括窺探過濾器24的介面。由於窺探過濾器24為包括式窺探過濾器,在接收到此滿容量逐出異動時,窺探過濾器24可令將從快取代理器17逐出的快取線之關連的登錄從窺探過濾器本身被逐出。如第3圖中所示,若窺探過濾器24判斷可能從快取代理器17發出針對此快取線之無效外顯寫回異動,取代直接從窺探過濾器24逐出此登錄並導致從窺探過濾器24傳輸無效請求至具有此線的獨佔擁有權之快取代理器,則在此例中,窺探過濾器24可令待決的登錄被移至臨時池28。換言之,臨時池28可包括等待從窺探過濾器24逐出的各個登錄之儲存。若快取代理器17在放入此登錄至臨時池28後的給定時期到期前發出無效逐出異動,可從臨時池28逐出此登錄而不傳輸過期無效請求。
茲參照第4圖,其顯示根據本發明之一實施例的方法之流程圖。方法300可根據本發明之一實施例用來延遲從窺探過濾器傳輸無效請求。如第4圖中所示,方法300首先可為從快取代理器接收待決滿容量逐出之指示(區塊310)。接下來,可由窺探過濾器判斷來自快取代理器之無效寫回異動是否為可能(菱形320)。雖不限於此,如
上述討論,可基於來自快取代理器之一或更多暗示及/或基於已經存在於窺探過濾器中之資訊來做出此判斷。若此一異動為不大可能,控制傳至區塊330,其中可逐出關連的窺探過濾器登錄,並基於窺探過濾器中之資訊從窺探過濾器發送無效異動至一或更多快取代理器。
然而,如上述般,此一無效益動之傳輸可能影響系統互連頻寬。因此,在各種實施例中,若判斷來自快取代理器之無效寫回異動為可能,控制則從菱形320傳至區塊340。在此,可將關連的窺探過濾器登錄移動至臨時區,如臨時或無效池。接著可判斷是否自登錄移至臨時區起的一段預定時間長度內從快取代理器接收到無效寫回異動(菱形350)。換言之,此臨時池可對應至待發送之無效異動清單,除非藉由在給定時期內接收到進入的無效寫回異動而刪除登錄。依此方式,當接收此一無效寫回異動時,可避免從窺探過濾器傳輸無效訊息。
若在此時期內接收到無效寫回異動,可逐出窺探過濾器登錄而不發送無效異動(區塊360)。然而,若未在此預定時期內從快取代理器接收此一異動,控制則從菱形350傳至區塊330,如上述。雖在第4圖中之實施例中顯示此特定實行例,本發明之範疇不限於此。
實施例因而可減少包括式窺探過濾器所使用之系統互連頻寬,其可減少有效記憶體潛伏並改善系統性能。此外,藉由至少部分基於系統資源可得性來調變無效異動流量,可減少系統性能可變性。
可以碼實行實施例並可儲存在儲存媒體上,其上儲存有指令,可用於編程系統來執行這些指令。儲存媒體可包括但不限於任何種類的碟,包括軟碟、光碟、壓縮碟唯讀記憶體(CD-ROM)、可覆寫壓縮碟(CD-RW)及光磁碟、半導體裝置,如唯讀記憶體(ROM)、如動態隨機存取記憶體(DRAM)、靜態隨機存取記憶體(SRAM)之隨機存取記憶體(RAM)、可抹除可編程唯讀記憶體(EPROM)、快閃記憶體、電性可抹除可編程唯讀記憶體(EEPROM)、磁或光卡、或適合儲存電子指令之任何其他種類的媒體。
雖已參照有限數量的實施例來說明本發明,熟悉此技藝人士可從此理解到各種修改及變化。所附之申請專利範圍意圖涵蓋落入本發明之真實精神及範疇內的所有此種修改及變化。
10‧‧‧多處理器系統
11‧‧‧處理器
12‧‧‧快取
13‧‧‧晶片組
14‧‧‧前側匯流排(FSB)
15‧‧‧記憶體
16‧‧‧I/O裝置
17‧‧‧處理節點(快取代理器)
21、22‧‧‧FSB埠
23‧‧‧一致性引擎
24‧‧‧窺探過濾器
25‧‧‧更新單元
26‧‧‧無效單元
28‧‧‧臨時池
132‧‧‧一致性控制器
134‧‧‧記憶體控制器
136‧‧‧I/O控制器
225‧‧‧槽(或道)
第1圖為多處理器系統之一實施例的區塊圖。
第2圖為根據本發明之一實施例的一致性控制器的區塊圖。
第3圖為描繪根據本發明之一實施例的快取代理器、窺探過濾器及臨時區間之互動的區塊圖。
第4圖為根據本發明之一實施例的方法之流程圖。
10‧‧‧多處理器系統
11‧‧‧處理器
12‧‧‧快取
13‧‧‧晶片組
14‧‧‧前側匯流排(FSB)
15‧‧‧記憶體
16‧‧‧I/O裝置
17‧‧‧處理節點(快取代理器)
132‧‧‧一致性控制器
134‧‧‧記憶體控制器
136‧‧‧I/O控制器
Claims (20)
- 一種用以減少來自窺探過濾器之過期無效異動的方法,包含:從一致性控制器中的快取代理器接收待決滿容量逐出之指示,該待決滿容量逐出相應於讀取異動,其指示一與該待決滿容量逐出關連的快取線應被逐出以提供空間來給該讀取異動之結果;針對與該待決滿容量逐出關連的該快取線於該一致性控制器中判斷來自該快取代理器之無效寫回異動是否可能從該快取代理器被發送至該一致性控制器;以及若該無效寫回異動為可能,則將一與該快取線關連之窺探過濾器登錄從該一致性控制器之窺探過濾器移動至該一致性控制器之臨時區。
- 如申請專利範圍第1項所述之方法,進一步包含若該無效寫回異動為不可能,則基於該窺探過濾器中的資訊,逐出該窺探過濾器登錄並從該窺探過濾器發送無效異動至一或更多快取代理器。
- 如申請專利範圍第1項所述之方法,進一步包含判斷是否在從該窺探過濾器登錄被移動至該臨時區起的預定時期內從該快取代理器接收該無效寫回異動。
- 如申請專利範圍第3項所述之方法,進一步包含若在該預定時期內接收該無效寫回異動,則從該臨時區逐出該窺探過濾器登錄而不發送無效異動。
- 如申請專利範圍第4項所述之方法,進一步包含 若在該預定時期內未接收該無效寫回異動,則從該窺探過濾器發送該無效異動至一或更多快取代理器。
- 如申請專利範圍第5項所述之方法,進一步包含至少部分基於系統資源層級以從該窺探過濾器發送該無效異動至該一或更多快取代理器。
- 如申請專利範圍第1項所述之方法,進一步包含至少部分基於來自該快取代理器指示待逐出之快取線已經變更的道(way)暗示來判斷該無效寫回異動為可能。
- 如申請專利範圍第1項所述之方法,進一步包含基於該窺探過濾器中該待逐出之對應的快取線係在該快取代理器中處在一專有狀態中的指示來判斷該無效寫回異動為可能。
- 一種用以減少來自窺探過濾器之過期無效異動的設備,包含:窺探過濾器,以儲存登錄,其各與快取記憶體之快取線關連,其中該窺探過濾器與複數快取記憶體為包括式;以及一致性單元,耦合至該窺探過濾器以控制該窺探過濾器,其中若快取代理器可能針對對應至被逐出之窺探過濾器登錄的快取線發送無效異動至該一致性單元,則該一致性單元回應於來自該快取記憶體之待決滿容量逐出而制止從該窺探過濾器的針對該待逐出之窺探過濾器登錄的過期無效異動之傳輸。
- 如申請專利範圍第9項所述之設備,進一步包含 耦合至該窺探過濾器之儲存區域,以儲存從該窺探過濾器逐出並且在從該一致性單元發送過期無效異動前之窺探過濾器登錄。
- 如申請專利範圍第10項所述之設備,其中該一致性單元在接收到針對對應至該窺探過濾器登錄的該快取線之逐出異動時將該被逐出的窺探過濾器登錄移動至該儲存區域。
- 如申請專利範圍第11項所述之設備,其中該一致性單元在接收到針對對應至該窺探過濾器登錄的該快取線之無效異動且無過期無效異動的傳輸時從該儲存區域刪除該窺探過濾器登錄。
- 如申請專利範圍第11項所述之設備,其中該一致性單元至少部分基於該逐出異動中的道(way)暗示資訊來判斷該無效異動為可能。
- 如申請專利範圍第9項所述之設備,其中若該窺探過濾器登錄係處在已變更狀態中,則該一致性單元判斷該無效異動為可能。
- 如申請專利範圍第11項所述之設備,其中若該窺探過濾器登錄保持在該儲存區域中一段預定時期,則該一致性單元傳送該過期無效異動。
- 一種用以減少來自窺探過濾器之過期無效異動的系統,包含:第一處理器,包括至少一核心及至少一快取記憶體;第二處理器,包括至少一核心及至少一快取記憶體; 晶片組,耦合至該第一及第二處理器,該晶片組包括窺探過濾器,以儲存登錄,其各與該些快取記憶體之一的快取線關連、耦合至該窺探過濾器之一致性單元,若該第一或第二處理器可能針對對應至被逐出之窺探過濾器登錄的快取線發送無效異動至該一致性單元,則其回應於來自該第一及第二處理器之待決滿容量逐出而制止從該窺探過濾器的針對該待逐出之窺探過濾器登錄的過期無效異動之傳輸、以及耦合至該窺探過濾器之儲存區域,以儲存從該窺探過濾器逐出並且在從該一致性單元發送過期無效異動前之窺探過濾器登錄;以及耦合至該晶片組之動態隨機存取記憶體(DRAM)。
- 如申請專利範圍第16項所述之系統,其中該一致性單元在接收到針對對應至該窺探過濾器登錄的該快取線之逐出異動時將該被逐出的窺探過濾器登錄移動至該儲存區域。
- 如申請專利範圍第17項所述之設備,其中該一致性單元在接收到針對對應至該窺探過濾器登錄的該快取線之無效異動且無過期無效異動的傳輸時從該儲存區域刪除該窺探過濾器登錄。
- 如申請專利範圍第18項所述之設備,其中該一致性單元至少部分基於該逐出異動中的道(way)暗示資訊來判斷該無效異動為可能。
- 如申請專利範圍第16項所述之設備,其中若該窺探過濾器登錄保持在該儲存區域中一段預定時期,則該 一致性單元傳送該過期無效異動。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/156,340 US8015365B2 (en) | 2008-05-30 | 2008-05-30 | Reducing back invalidation transactions from a snoop filter |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201009578A TW201009578A (en) | 2010-03-01 |
TWI410796B true TWI410796B (zh) | 2013-10-01 |
Family
ID=40863041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098116908A TWI410796B (zh) | 2008-05-30 | 2009-05-21 | 來自窺探過濾器之過期無效異動的減少 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8015365B2 (zh) |
JP (1) | JP4960989B2 (zh) |
CN (2) | CN103714015B (zh) |
DE (1) | DE102009022151B4 (zh) |
GB (1) | GB2460337B (zh) |
TW (1) | TWI410796B (zh) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7779210B2 (en) * | 2007-10-31 | 2010-08-17 | Intel Corporation | Avoiding snoop response dependency |
US9448938B2 (en) | 2010-06-09 | 2016-09-20 | Micron Technology, Inc. | Cache coherence protocol for persistent memories |
US8694737B2 (en) | 2010-06-09 | 2014-04-08 | Micron Technology, Inc. | Persistent memory for processor main memory |
GB2484088B (en) * | 2010-09-28 | 2019-08-07 | Advanced Risc Mach Ltd | Coherency control with writeback ordering |
US8613074B2 (en) | 2010-09-30 | 2013-12-17 | Micron Technology, Inc. | Security protection for memory content of processor main memory |
US8489822B2 (en) | 2010-11-23 | 2013-07-16 | Intel Corporation | Providing a directory cache for peripheral devices |
US8635411B2 (en) | 2011-07-18 | 2014-01-21 | Arm Limited | Data processing apparatus and method for managing coherency of cached data |
US8935485B2 (en) | 2011-08-08 | 2015-01-13 | Arm Limited | Snoop filter and non-inclusive shared cache memory |
US9477600B2 (en) | 2011-08-08 | 2016-10-25 | Arm Limited | Apparatus and method for shared cache control including cache lines selectively operable in inclusive or non-inclusive mode |
US20140095807A1 (en) | 2012-09-28 | 2014-04-03 | Qualcomm Technologies, Inc. | Adaptive tuning of snoops |
US9639469B2 (en) | 2012-09-28 | 2017-05-02 | Qualcomm Technologies, Inc. | Coherency controller with reduced data buffer |
US9727466B2 (en) | 2014-08-26 | 2017-08-08 | Arm Limited | Interconnect and method of managing a snoop filter for an interconnect |
US9507716B2 (en) | 2014-08-26 | 2016-11-29 | Arm Limited | Coherency checking of invalidate transactions caused by snoop filter eviction in an integrated circuit |
US9639470B2 (en) | 2014-08-26 | 2017-05-02 | Arm Limited | Coherency checking of invalidate transactions caused by snoop filter eviction in an integrated circuit |
US9489305B2 (en) | 2014-12-16 | 2016-11-08 | Qualcomm Incorporated | System and method for managing bandwidth and power consumption through data filtering |
US11237965B2 (en) * | 2014-12-31 | 2022-02-01 | Arteris, Inc. | Configurable snoop filters for cache coherent systems |
US9900260B2 (en) | 2015-12-10 | 2018-02-20 | Arm Limited | Efficient support for variable width data channels in an interconnect network |
US10157133B2 (en) * | 2015-12-10 | 2018-12-18 | Arm Limited | Snoop filter for cache coherency in a data processing system |
GB2548387B (en) * | 2016-03-17 | 2020-04-01 | Advanced Risc Mach Ltd | An apparatus and method for filtering transactions |
US9990292B2 (en) | 2016-06-29 | 2018-06-05 | Arm Limited | Progressive fine to coarse grain snoop filter |
WO2018042144A1 (en) * | 2016-09-01 | 2018-03-08 | Arm Limited | Cache retention data management |
US10042766B1 (en) | 2017-02-02 | 2018-08-07 | Arm Limited | Data processing apparatus with snoop request address alignment and snoop response time alignment |
US11231949B2 (en) | 2018-07-27 | 2022-01-25 | Vmware, Inc. | Using cache coherent FPGAS to accelerate post-copy migration |
US11947458B2 (en) | 2018-07-27 | 2024-04-02 | Vmware, Inc. | Using cache coherent FPGAS to track dirty cache lines |
US10761984B2 (en) | 2018-07-27 | 2020-09-01 | Vmware, Inc. | Using cache coherent FPGAS to accelerate remote access |
US11126464B2 (en) | 2018-07-27 | 2021-09-21 | Vmware, Inc. | Using cache coherent FPGAS to accelerate remote memory write-back |
US11099871B2 (en) | 2018-07-27 | 2021-08-24 | Vmware, Inc. | Using cache coherent FPGAS to accelerate live migration of virtual machines |
US10795816B2 (en) * | 2018-07-30 | 2020-10-06 | Slack Technologies, Inc. | Method, apparatus and computer program product for implementing filter cache in a group-based communication platform |
US10761985B2 (en) * | 2018-08-02 | 2020-09-01 | Xilinx, Inc. | Hybrid precise and imprecise cache snoop filtering |
US10657055B1 (en) * | 2018-12-13 | 2020-05-19 | Arm Limited | Apparatus and method for managing snoop operations |
CN112463652B (zh) * | 2020-11-20 | 2022-09-27 | 海光信息技术股份有限公司 | 基于缓存一致性的数据处理方法、装置、处理芯片及服务器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6360301B1 (en) * | 1999-04-13 | 2002-03-19 | Hewlett-Packard Company | Coherency protocol for computer cache |
US20060053257A1 (en) * | 2004-09-09 | 2006-03-09 | Intel Corporation | Resolving multi-core shared cache access conflicts |
TW200813716A (en) * | 2006-03-13 | 2008-03-16 | Intel Corp | Synchronizing recency information in an inclusive cache hierarchy |
TW200815992A (en) * | 2006-06-29 | 2008-04-01 | Intel Corp | An exclusive ownership snoop filter |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0600626A1 (en) * | 1992-11-13 | 1994-06-08 | Cyrix Corporation | Coherency for write-back cache in a system designed for write-through cache |
JPH1165929A (ja) * | 1997-08-26 | 1999-03-09 | Kofu Nippon Denki Kk | バスブリッジ回路 |
US6598123B1 (en) | 2000-06-28 | 2003-07-22 | Intel Corporation | Snoop filter line replacement for reduction of back invalidates in multi-node architectures |
US6574710B1 (en) * | 2000-07-31 | 2003-06-03 | Hewlett-Packard Development Company, L.P. | Computer cache system with deferred invalidation |
US6842830B2 (en) | 2001-03-31 | 2005-01-11 | Intel Corporation | Mechanism for handling explicit writeback in a cache coherent multi-node architecture |
JP3678715B2 (ja) * | 2002-04-24 | 2005-08-03 | エヌイーシーコンピュータテクノ株式会社 | 分散共有メモリ型マルチプロセッサシステム及びそれに用いるタグ制御方法 |
US6959364B2 (en) | 2002-06-28 | 2005-10-25 | Intel Corporation | Partially inclusive snoop filter |
US7093079B2 (en) | 2002-12-17 | 2006-08-15 | Intel Corporation | Snoop filter bypass |
US7143246B2 (en) * | 2004-01-16 | 2006-11-28 | International Business Machines Corporation | Method for supporting improved burst transfers on a coherent bus |
US7373466B1 (en) * | 2004-04-07 | 2008-05-13 | Advanced Micro Devices, Inc. | Method and apparatus for filtering memory write snoop activity in a distributed shared memory computer |
US7305524B2 (en) | 2004-10-08 | 2007-12-04 | International Business Machines Corporation | Snoop filter directory mechanism in coherency shared memory system |
US20070094450A1 (en) * | 2005-10-26 | 2007-04-26 | International Business Machines Corporation | Multi-level cache architecture having a selective victim cache |
US7962694B2 (en) | 2006-03-31 | 2011-06-14 | Intel Corporation | Partial way hint line replacement algorithm for a snoop filter |
US7383398B2 (en) | 2006-03-31 | 2008-06-03 | Intel Corporation | Preselecting E/M line replacement technique for a snoop filter |
US20070233965A1 (en) | 2006-03-31 | 2007-10-04 | Kai Cheng | Way hint line replacement algorithm for a snoop filter |
US8055851B2 (en) | 2006-12-14 | 2011-11-08 | Intel Corporation | Line swapping scheme to reduce back invalidations in a snoop filter |
-
2008
- 2008-05-30 US US12/156,340 patent/US8015365B2/en not_active Expired - Fee Related
-
2009
- 2009-05-20 DE DE102009022151.4A patent/DE102009022151B4/de not_active Expired - Fee Related
- 2009-05-21 TW TW098116908A patent/TWI410796B/zh not_active IP Right Cessation
- 2009-05-22 JP JP2009124745A patent/JP4960989B2/ja not_active Expired - Fee Related
- 2009-05-27 CN CN201310739178.3A patent/CN103714015B/zh not_active Expired - Fee Related
- 2009-05-27 CN CN200910145575.1A patent/CN101593160B/zh not_active Expired - Fee Related
- 2009-05-27 GB GB0909103A patent/GB2460337B/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6360301B1 (en) * | 1999-04-13 | 2002-03-19 | Hewlett-Packard Company | Coherency protocol for computer cache |
US20060053257A1 (en) * | 2004-09-09 | 2006-03-09 | Intel Corporation | Resolving multi-core shared cache access conflicts |
TW200813716A (en) * | 2006-03-13 | 2008-03-16 | Intel Corp | Synchronizing recency information in an inclusive cache hierarchy |
TW200815992A (en) * | 2006-06-29 | 2008-04-01 | Intel Corp | An exclusive ownership snoop filter |
Also Published As
Publication number | Publication date |
---|---|
TW201009578A (en) | 2010-03-01 |
JP2009295156A (ja) | 2009-12-17 |
US20090300289A1 (en) | 2009-12-03 |
CN103714015B (zh) | 2017-01-18 |
CN103714015A (zh) | 2014-04-09 |
CN101593160B (zh) | 2014-02-05 |
GB2460337B (en) | 2010-12-15 |
GB0909103D0 (en) | 2009-07-01 |
CN101593160A (zh) | 2009-12-02 |
GB2460337A (en) | 2009-12-02 |
DE102009022151B4 (de) | 2018-09-06 |
JP4960989B2 (ja) | 2012-06-27 |
US8015365B2 (en) | 2011-09-06 |
DE102009022151A1 (de) | 2010-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI410796B (zh) | 來自窺探過濾器之過期無效異動的減少 | |
US9176876B2 (en) | Selective cache-to-cache lateral castouts | |
JP4966205B2 (ja) | 共有メモリコンピュータシステムにおける、所有されている複数のキャッシュブロックのライトバックの早期予測 | |
US9170946B2 (en) | Directory cache supporting non-atomic input/output operations | |
US8499124B2 (en) | Handling castout cache lines in a victim cache | |
US8117397B2 (en) | Victim cache line selection | |
US8225045B2 (en) | Lateral cache-to-cache cast-in | |
US6330643B1 (en) | Cache coherency protocols with global and local posted operations | |
US8489819B2 (en) | Victim cache lateral castout targeting | |
US6145059A (en) | Cache coherency protocols with posted operations and tagged coherency states | |
US8949540B2 (en) | Lateral castout (LCO) of victim cache line in data-invalid state | |
US7281092B2 (en) | System and method of managing cache hierarchies with adaptive mechanisms | |
US20060184743A1 (en) | Cache memory direct intervention | |
US20060053257A1 (en) | Resolving multi-core shared cache access conflicts | |
US6574710B1 (en) | Computer cache system with deferred invalidation | |
US8095739B2 (en) | Barriers processing in a multiprocessor system having a weakly ordered storage architecture without broadcast of a synchronizing operation | |
JP2000250812A (ja) | メモリ・キャッシュ・システムおよびその管理方法 | |
US7330940B2 (en) | Method and system for cache utilization by limiting prefetch requests | |
US20090006668A1 (en) | Performing direct data transactions with a cache memory | |
US7117312B1 (en) | Mechanism and method employing a plurality of hash functions for cache snoop filtering | |
US6418514B1 (en) | Removal of posted operations from cache operations queue | |
US20060179173A1 (en) | Method and system for cache utilization by prefetching for multiple DMA reads | |
US6345340B1 (en) | Cache coherency protocol with ambiguous state for posted operations | |
US6347361B1 (en) | Cache coherency protocols with posted operations | |
US20120131282A1 (en) | Providing A Directory Cache For Peripheral Devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |