TWI393050B - 促進多重處理器介面之板內建快取記憶體系統之記憶體裝置及方法及使用其之電腦系統 - Google Patents
促進多重處理器介面之板內建快取記憶體系統之記憶體裝置及方法及使用其之電腦系統 Download PDFInfo
- Publication number
- TWI393050B TWI393050B TW97130739A TW97130739A TWI393050B TW I393050 B TWI393050 B TW I393050B TW 97130739 A TW97130739 A TW 97130739A TW 97130739 A TW97130739 A TW 97130739A TW I393050 B TWI393050 B TW I393050B
- Authority
- TW
- Taiwan
- Prior art keywords
- memory
- cache
- data
- bank
- memory device
- Prior art date
Links
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/0844—Multiple simultaneous or quasi-simultaneous cache accessing
- G06F12/0846—Cache with multiple tag or data arrays being simultaneously accessible
-
- 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/0893—Caches characterised by their organisation or structure
- G06F12/0897—Caches characterised by their organisation or structure with two or more cache hierarchy levels
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)
- Multi Processors (AREA)
Description
本發明大體而言係關於記憶體裝置,且更特定言之,係關於促進由多重記憶體存取裝置進行之存取的記憶體裝置及方法,以及使用該等記憶體裝置之記憶體系統及電腦系統。
隨著電腦及電腦系統架構繼續演進,處理核心及核心內之線緒的數目呈幾何級增長。此幾何級增長預期會繼續,即使是對於簡單、相對廉價之電腦系統而言。對於伺服器系統,以處理器之數目量測之系統大小以甚至更快之速率增加。
雖然核心及線緒之數目之此快速增加增強了電腦系統之效能,但其亦具有使得難以將增加之並行性應用至單一應用之影響。此限制甚至對於本質上自身幫助並行處理之高端處理任務(諸如,天氣預測)亦存在。此限制之主要原因中之一者在於處理器、核心及線緒之間的通信路徑之數目與將任務劃分為愈來愈小之片段的次數不成比例地增加。在概念上,可將此問題類推說明為由3D立方體之體積表示的處理之大小。每次將此體積劃分為較小立方體,表示必須在工作於子立方體上之處理器之間傳達之資料的立方體之總表面積增加。每次處理器之數目以因數八增長,待於較大數目之處理器之間傳達的資訊之總量加倍。
由增加之並行性引起之此等問題的一個原因在於大多數
系統藉由在處理器之間發送訊息而非共用記憶體來通信。雖然此方法可簡化一些複雜系統架構、作業系統及編譯器問題,但其導致高延時及高軟體附加項。不幸的是,隨著並行性程度增加,系統中之處理器到達其所做之一切係管理訊息訊務而非實際進行有用工作之點。
因此存在對可減少軟體附加項且消除或至少減少效能瓶頸藉此以相對低之成本改良系統效能及架構可縮放性之系統及方法的需要。
圖1中展示根據一實施例之電腦系統10。電腦系統10包括連接至共同處理器匯流排16之若干並行處理器141-N
。亦連接至處理器匯流排16的是系統控制器20及2階("L2")快取記憶體24。如此項技術中所熟知,處理器141-N
中之每一者可包括一1階("L1")快取記憶體。
系統控制器20經由可包括習知設計之圖形處理器及圖形記憶體之圖形加速器28而驅動顯示器26。亦連接至系統控制器20的是諸如周邊組件互連("PCI")匯流排之輸入/輸出("I/O")匯流排30,鍵盤32、諸如硬碟機之大容量儲存裝置34及其他周邊裝置36連接至該輸入/輸出匯流排30。
電腦系統10亦包括可為動態隨機存取記憶體("DRAM")裝置之系統記憶體40。由系統控制器20中之記憶體控制器電路44經由通常包括命令/狀態匯流排、位址匯流排及資料匯流排之記憶體匯流排46控制系統記憶體40。然而,系統記憶體40藉由在系統記憶體40中包括增強並行處理器
141-N
以有效低延時方式存取系統記憶體40之能力的板內建快取記憶體系統50而不同於習知系統。亦應理解,快取記憶體系統50可用於系統記憶體40或者電腦或不同於圖1中所示之電腦系統10之其他基於處理器之系統中的其他記憶體裝置中。舉例而言,伺服器及其他高端系統通常將不包括圖形加速器28、顯示器26、鍵盤32等等,但將具有磁碟系統或簡單地連接至具有所附著之記憶體之其他類似處理器之網路。
在系統記憶體40中使用快取記憶體系統可提供若干優勢,尤其在對記憶體裝置之要求隨增加之並行性而增加時。快取記憶體系統可顯著減小並行處理器141-N
與其他者通信及/或存取系統記憶體40所需的硬體之量,且其可減小高端系統中之處理器及網路複雜性。儘管在系統記憶體40內置放快取功能不提供與在如L2快取記憶體24之快取記憶體實施於處理器141-N
上或與處理器141-N
通信之典型狀況中相同的快取頻寬,但其提供在處理器141-N
之間及在由處理器141-N
執行之線緒之間共用資料而不導致降低所維持之記憶體頻寬的記憶體庫時序及其他問題。另外,不同於在處理器中或與處理器相關聯之快取記憶體,系統記憶體中之快取記憶體系統50避免對大數目之處理器、核心及線緒中之每一者之快取記憶體系統的需要,藉此最小化晶粒大小及互連與接針問題。又,視系統及網路架構而定,可藉由經由記憶體級快取共用資料而極大地簡化資料連貫性設計。在多數系統中,快取記憶體系統將充當3階("L3")快取
記憶體,因為系統10通常將在並行處理器141-N
中除L2快取記憶體24外包括L1快取記憶體。系統記憶體40中之快取記憶體系統亦可減少記憶體請求之讀取延時且改良效能,因為在快取記憶體系統中找到之資料避免DRAM記憶體循環、tFAW
限制等等。另外,許多應用可藉由與每一記憶體庫中之頁面/列緩衝器之容量相比增加之記憶體緩衝而受益。快取記憶體系統亦可提供改良之通信過程,亦可能改良所維持之系統效能而不改變峰值頻寬(其可能導致較高接針計數等等之增加的成本)。可在系統記憶體40中實施該快取記憶體系統或根據某一其他實施例之快取記憶體系統,同時將記憶體系統之內部組織保持為與在習知系統記憶體中大體上相同。舉例而言,記憶體庫時序及記憶體資料速率可大體上相同。另外,快取記憶體系統無需特別迅速,因為所需操作通常較簡單且適合於當前及預期之記憶體時脈速率。
圖2中展示根據一實施例之系統記憶體裝置之部分。在圖2中所示之實施例中,記憶體裝置為動態隨機存取記憶體("DRAM")裝置60,但可使用其他類型之記憶體裝置。DRAM 60包括排列為列及行的記憶體單元之至少一記憶體庫64。由來自列解碼器74之信號選擇記憶體庫64中的記憶體單元之經定址之列,該列解碼器74儲存回應於所接收之列位址選通("RAS")信號之所接收之列位址。由來自行解碼器78之信號選擇記憶體庫64中的記憶體單元之經定址之行,該行解碼器78儲存回應於所接收之行位址選通
("CAS")信號之所接收之行位址。與各別行相關聯之線路緩衝器及感測放大器80將經由寫入資料路徑82接收之寫入資料導引至記憶體庫64,且其經由讀取資料路徑84導引來自記憶體庫64之讀取資料。
DRAM裝置60亦包括快取記憶體系統90,該快取記憶體系統90包括與記憶體庫64相關聯之快取記憶體94(其亦包括排列為列及行之記憶體單元)。若DRAM裝置60包括多個記憶體庫64,則快取記憶體系統90可與每一記憶體庫64相關聯。快取記憶體94可具有足夠大以儲存記憶體庫64之若干頁面或線路之容量。快取記憶體系統90亦包括標記緩衝器96及標記比較器98。
快取記憶體94通常將儲存記憶體庫64中之物的改變子集。又,儲存於特定記憶體線路/位址處之資料通常可駐存於快取記憶體94中之多個位置。因此,當進行快取參考時,進行查找/轉譯以將所請求之記憶體位址轉換為快取記憶體中之特定位置。通常藉由將每一線路之位址儲存於標記比較器98中(如同將其儲存於快取記憶體94中)而進行轉譯。標記緩衝器96使用記憶體庫64之相應位址之部分來存取被稱為標記位址的所參考之位址之另一部分。將儲存於標記緩衝器96中之標記位址施加至標記比較器98,該標記比較器98判定標記位址是否匹配所參考之位址中之相應位元。若發生被稱為標記"命中"的匹配,則標記比較器98輸出標記位址作為快取列位址以選擇快取記憶體94中之儲存此資料的記憶體單元之列。若存在被稱為標記"未命中"
的無匹配,則標記比較器98不將快取列位址輸出至快取記憶體94。回應於未命中,必須在讀取參考之情況下自記憶體庫64取出資料。對於寫入,可由寫入命令觸發立即讀取參考,且接著將得自讀取之資料連同原始命令之寫入資料以及後來寫入之任何新資料歸併至快取線路中。或者,可延後歸併命令寫入及記憶體讀取資料直至自快取記憶體94收回快取線路。
在與記憶體庫64之相互作用中,通常將快取記憶體94之每一列視為整個實體,正如在執行普通記憶體庫參考時一樣。類似地,讀取及寫入參考呈現為正常I/O轉遞。每一快取記憶體94中的與各別記憶體庫相關聯的線路之數目始終為二之冪。舉例而言,若記憶體庫14使用2千位元組之頁面,則每一記憶體庫64之8個快取線路對於每一記憶體庫14提供16千位元組之快取。若在記憶體裝置中存在8個記憶體庫64,則在裝置中存在128千位元組之快取記憶體。具有16個記憶體裝置之記憶體模組(未圖示)既而將具有2百萬位元組之快取/緩衝記憶體。由於記憶體存取之相當一部分將導致快取命中,因此在記憶體裝置中使用快取記憶體系統90可減少由於大數目之記憶體庫而導致的循環時間及限制。由記憶體控制器電路44使用的與DRAM裝置60之介面可為任一合適設計,包括根據DDR2及DDR3規格及資料速率設計之介面。快取記憶體系統在進行標準功能時不應使電力增加超過標準DRAM非常多,且對於每一記憶體庫一次僅一條快取記憶體之線路為活動的,正如其為普
通記憶體列緩衝器一樣。在標記比較器98中通常將存在一些添加之電力,其檢查以觀察所請求之資料是否存在於快取記憶體60中或替代地必須自記憶體庫64擷取。此添加之電力可在記憶體控制器44(圖1)控制快取記憶體系統90之一些操作的情況下被大部分消除。亦可歸因於洩漏效應而存在某一電力增加。
記憶體控制器44可使用多種技術與快取記憶體系統90介面連接。舉例而言,記憶體控制器44可將參考發送至系統記憶體40而不論所請求之資料是否儲存於快取記憶體94中。若所請求之資料未儲存於快取記憶體94中,則其可被寫入至快取記憶體94以用於後續存取。若所請求之資料儲存於快取記憶體94中,則其比需自記憶體庫64取出資料之情況更快速地返回。此為使用快取記憶體系統90之最簡單的方式,因為其以與習知L2快取記憶體相同的方式起作用。因為在資料處於快取記憶體94中或處於記憶體庫64中時存在時序差異,所以記憶體控制器44必須經設計以使得其可適應彼等差異。舉例而言,若所請求之資料未儲存於快取記憶體94中,則記憶體控制器44可能需要在所請求之資料已載入至快取記憶體之後第二次發布請求。因此必須以以此方式操作所需的時序靈活性來設計記憶體控制器44。
記憶體控制器44亦可藉由使用其他技術與快取記憶體系統90介面連接。舉例而言,記憶體控制器44可經設計以保持將何資料線路儲存於快取記憶體94中之記錄且完全控制
快取記憶體系統90之操作。在此狀況下,快取記憶體系統90如同位址可變資料緩衝器一樣起作用。然而,快取記憶體系統90必須經設計以使得其向記憶體控制器44供應信號來提供關於快取記憶體系統90之狀態的資訊。
若待將由諸如啟動命令之記憶體命令參考之資料線路載入至快取記憶體系統90中,則快取記憶體系統90可經設計以對記憶體庫64預充電以使得記憶體庫64與快取記憶體系統90中之操作解耦。然而,資料必須在快取記憶體系統90中保持有效歷時(可能地)非常長的時間(諸如,在將記憶體庫64置放於斷電/自再新模式中時)。在此時間期間,可仍自快取記憶體94取出資料。藉由對記憶體庫64中正被轉遞至快取記憶體94的資料之列進行自動預充電,無需在再新操作期間或之前將快取線路寫回至記憶體庫64。或者,快取記憶體系統90可經設計以使得記憶體庫64中之列被再新,快取記憶體94中之儲存相應資料之列可用以將資料寫回至記憶體庫64中。在任一狀況下,在快取記憶體94中修改的資料線路必須在其可由另一線路替代之前寫入至記憶體庫64。
在另一實施例中,快取記憶體系統90藉由提供以下指示而操作:所參考之線路非係待載入至快取記憶體94,且在記憶體庫64中發生正常讀取或寫入。在此狀況下,記憶體控制器44將有必要對DRAM裝置60提供明確預充電,無論是作為獨立命令或是作為讀取/寫入/CAS參考中之自動預充電。此情形加倍DRAM之當前操作。
如上文所提及,可擴展再新邏輯以使得當內容儲存於快取記憶體94中的記憶體庫14中之列待被再新時,快取記憶體94中之線路替代地寫入記憶體庫64中之列。此方法在已執行對快取記憶體94之任何寫入的情況下保持記憶體庫64與快取記憶體94之間的連貫性。若記憶體控制器44正管理快取記憶體系統90,則以此方式進行的對記憶體庫64之寫入不必要,因為記憶體控制器94必須替代地向DRAM裝置60發布特定預充電寫入以將快取線路儲存於記憶體庫64中。在啟動命令將新內容載入至快取記憶體94之前最容易完成此預充電寫入。當然,可使用其他技術以在讀取新內容之前延後讀取線路之舊內容。此情形以快取管理中之一些額外電路為代價以減少讀取延時。
或者,快取記憶體系統90可與記憶體庫64之再新完全解耦。在此狀況下,儲存於快取記憶體94中之資料可儲存於正被再新的記憶體庫64之記憶體單元之列中儲存之資料。記憶體庫64之內容接著將與儲存於快取記憶體64中之資料連貫且可被視為有效。在此狀況下,記憶體控制器44應經設計以使得其負責確保快取線路在載入新線路之前被寫回至記憶體庫64。在替代實施例中,快取記憶體系統90可經設計以自動執行此功能,或者記憶體控制器44可經設計以在記憶體控制器44將完全控制快取記憶體系統90之情況下明確收回快取線路。
在一些實施例中,快取記憶體94之每一線路為記憶體庫64中之一線路的一分率(諸如,一線路之一半、四分之一
或八分之一),對於1千位元組之記憶體庫94線路,快取記憶體線路將分別為512、256或128位元組。此方法可減小快取記憶體94之所需大小。在其他實施例中,快取記憶體94中之每一線路的大小可為可經由通常用於記憶體裝置中的模式暫存器(未圖示)而組態。
在一些實施例中,記憶體匯流排46(圖1)包括一快取控制線路,其允許記憶體控制器44將指示記憶體命令是否為參考快取記憶體系統90之信號提供至快取記憶體系統90。接著將未被指示為對快取記憶體94之存取而發送之命令視為對記憶體庫46之列/頁面進行的"正常"參考。
在其他實施例中,記憶體匯流排46(圖1)包括一狀態線路,其允許系統記憶體40將指示對快取記憶體94之存取是否指示在快取記憶體中導致之存取是否命中的信號提供至記憶體控制器44。若在快取讀取操作時在快取記憶體94中發現資料,則連同命中信號而返回資料。若未於快取記憶體94中發現資料,則不返回資料,且狀態信號指示快取未命中。在此狀況下,記憶體控制器44必須在等待將來自記憶體庫64之列載入至快取記憶體94中之後再次發送命令。若命令係關於寫入且該寫入在記憶體控制器44中成功寫入,則將快取命中狀態信號返回至記憶體控制器44。若替代地返回快取未命中狀態信號,則自快取記憶體94收回線路以產生空間,對於經收回之線路進行讀取參考,且進行至快取記憶體94之列的寫回,進而將經寫入之資料連同來自記憶體庫64之資料歸併於經收回之線路中。在一些設計
中,可包括輸出狀態線路以與讀取快取命中或未命中分離地指示快取寫入命中或未命中。在此狀況下,在返回讀取資料時,自DRAM 60輸出讀取命中信號。若緊接之前一寫入未命中,則對於記憶體控制器44而言需要此未命中信號以控制其狀態及時序,諸如,收回序列正出現於記憶體裝置60中。若進行正常/非快取參考且所請求之位址匹配經快取之線路,則返回"命中"信號。
若進行導致未命中序列之快取參考,則DRAM 60處理該未命中以使得所有非快取參考導致記憶體庫64中之自動預充電。當對實際上未處於快取記憶體94中之資料進行快取參考時,選擇並指派一快取線路以保持關於對此線路之所有參考的資料(將其稱為"分配")。若原始參考為讀取,則自記憶體庫64載入資料,且將經分配之線路中之所有資料設定為有效。若寫入操作為原始參考,則僅線路之寫入部分為有效的。若快取讀取參考命中,則快取記憶體系統90連同命中信號返回所參考之資料。若寫入參考命中,則將寫入資料寫入至快取記憶體94之線路中,將此資料標記為經改變。快取記憶體系統90接著返回命中信號。若寫入參考未命中,則發現待收回之線路。將經收回之線路移動至諸如記憶體庫64或線路緩衝器(未圖示)之另一儲存裝置,將新寫入資料寫入至快取記憶體94中之經收回之線路中,且將此資料標記為"經改變"。在將經收回之線路寫回至記憶體庫64時使用此等"經改變"信號以使得可將正確資料儲存/重新儲存回至記憶體庫64。在將資料接受至經釋放之
線路時,開始記憶體庫循環以儲存寫入至經收回之線路(在其處於快取記憶體中時)之任何寫入資料。此情形係藉由使用經收回之線路之標記位址自記憶體庫64讀取所需列、歸併來自經收回之線路之寫入資料連同來自記憶體庫64之讀取資料且將結果寫回至記憶體庫64而完成。接著將未命中信號返回至記憶體控制器44。若後續讀取參考針對未命中處理已在進行中之線路到達,則返回未命中。最終,任何未命中參考分配未經分配/無效子快取線路(若一者適當地可用)。
通常,較佳地將由兩個或兩個以上部分組成之操作作為單一不可分之操作而執行。一實例為更新(讀取且接著寫入)32位元之字組中之位元組,同時在執行更新時防止存取字組。在並行處理序存取並更新共用資料時,如此等功能之功能(有時被稱為"原子的")為所要的。
含有持有當快取線路無效時必須寫回至記憶體庫64之資料之部分的快取線路之部分必須被標記以指示此事實。快取線路中必須被寫回至記憶體庫64之資料最常被稱為"已使用的"。然而,在將來自寫入命令之資料寫入至快取線路之部分時,將快取線路視為"經改變的"。另一方面,若經收回之線路無改變線路中之資料僅被讀取則可將記憶體庫64之內容視為有效且可避免記憶體庫循環。然而,若由線路收回所收回之線路始終導致記憶體循環,則可簡化記憶體控制器44之設計;否則記憶體控制器44需追蹤每一線路之經改變之狀態。因此,記憶體庫64應始終儲存經收回線
路而不論此線路是否改變及/或在快取記憶體94中時是否被寫入至。若快取記憶體94中之線路之內容處於一狀態或經處理以使得該線路不保持有效資料或不同於記憶體庫64之當前內容的資料,則可向線路重新分配新內容。若如上文所闡述將線路之部分標記為經改變,則無效化涉及將此等部分寫回至記憶體庫64且接著設定線路之無效旗標。若未寫入/改變快取線路中之任何內容,則簡單地設定無效旗標。在啟動時將所有線路標記為無效。
並非使來自記憶體庫64之線路能夠置放於快取記憶體94中之任何位置(此可採用許多邏輯來支援),實際情況為可使用所請求之位址之列位元中之一些來限制哪些快取位址可保持線路。若特定線路僅可置放於快取記憶體94中之兩個位置以使得僅必須檢查兩個記憶體標記,則此被稱為雙向集合關聯實施。若線路僅可進入四個位置,則此被稱為4向集合關聯實施。隨著關聯性之程度增加,記憶體效能以及用以支援改良之邏輯支出增加。然而,應避免1向集合關聯實施,因為其由於幾乎恆定之快取收回(其可能使快取記憶體系統90之操作減緩至由記憶體循環時間管理之極限)而不提供良好效能。
若系統記憶體40包括多個記憶體單元之記憶體庫,則可被視為子快取記憶體的快取記憶體64之部分可與每一記憶體庫相關聯。此允許記憶體庫之間的操作以及涉及快取參考之操作之完全重疊。快取記憶體64之每一片段如同每一記憶體庫獨立於其他記憶體庫一樣而彼此獨立。對於每一
記憶體庫,亦可存在連同記憶體參考而正在進行之快取參考,只要所有快取參考"命中"或記憶體操作使快取操作交錯。
由記憶體控制器44在無快取狀態信號活動之情況下發送之參考被視為對記憶體庫64之列的"正常"參考。對儲存於快取記憶體94中之資料進行列緩衝器非快取記憶體參考通常為一錯誤。若進行此動作,則記憶體返回命中狀態信號以指示該情形。在一些實施例中,將所有參考視為對快取記憶體64的參考。若快取狀態信號對於一請求並非活動的且資料不處於快取記憶體64中,則在不將資料置放入快取記憶體中之情況下進行正常頁面/列緩衝器參考。若經參考之資料實際上儲存於快取記憶體94中,則替代儲存於記憶體庫64中之內容而返回此資料。
在圖2中所示之實施例中,再新命令通常不以任何方式影響快取記憶體系統90。藉由將經收回之快取線路寫回至記憶體庫64而保持正確記憶體狀態(通常在於快取記憶體94中分配新參考時)。記憶體控制器44亦可在需要時收回特定線路。線路可由記憶體控制器44藉由指示對待收回之線路中之位址的預充電而明確收回。進行此動作為使記憶體控制器4能夠充分知曉快取狀態且使用快取記憶體系統90作為可變位址緩衝器之主要部分。當然,對於記憶體控制器44,最簡單之狀況為將參考發送至快取記憶體系統90以使所需資料到達快取記憶體94以使得無對快取記憶體94之參考將未命中。
當進行快取參考因此快取狀態信號為活動時,若參考為命中,則預充電請求在參考完成時將所參考之快取線路逐回至記憶體庫64。使記憶體庫64之頁面/列中之任何資料無效;列緩衝器無需等待預充電信號或命令來保持記憶體有效。此意謂通常預期在關閉頁面模式中使用列緩衝器/正常/非快取參考。若在存在預充電之情況下的讀取或寫入快取參考未命中,則參考如同其經非快取一樣起作用,除了以下狀況之外:若在無預充電之情況下收回線路則仍舊發生此情形且將經收回之線路寫回至記憶體庫64且將相關聯快取線路標記為無效。僅將在已被分配之線路已無效之情況下不完成收回。使一快取讀取在存在預充電情況下之參考係使記憶體控制器44收回(儲存至記憶體庫64)一特定線路或在快取記憶體94中產生用於將在未來載入之線路之空間之一種容易方式。
記憶體控制器44亦可發送特定快取啟動命令以導致一列被載入至快取記憶體中。在此狀況下,記憶體控制器44通常僅可發送讀取或寫入參考,且快取記憶體系統90將以來自每一參考之命中或未命中作出回應。進行此動作支援處理器之"預取出"功能(若現存)。
若由記憶體控制器44而非快取記憶體系統90控制收回,則控制器可充分知曉在快取記憶體94中何記憶體線路為活動的。此係因為收回線路使得快取記憶體94中之彼位置無效/未經分配。假定可將新線路分配至未經分配之線路的位置,則接著可將另一線路載入至快取記憶體94中而不導
致進一步未命中。記憶體控制器44亦可在將實際需要資料之時間之前進行未命中參考。此意謂記憶體控制器44可確切知曉快取命中及未命中將為何物。此允許記憶體控制器44使用快取記憶體系統90作為資料緩衝器且並非作為正常快取記憶體。藉由如上文闡述之添加之快取狀態信號,記憶體控制器44在能夠使用快取記憶體/緩衝器之同時仍具有充分記憶體存取。
在DRAM 60中使用快取記憶體系統90可容易地支援4叢發("b-o-4")操作。此係因為記憶體位址之列位元用作標記輸入項以觀察所請求之資料當前是否處於快取記憶體94中且在需要時自記憶體庫64對其進行參考。因此花費兩個記憶體時脈來將參考發送至DRAM 90,即使在記憶體控制器44如同所參考之資料係儲存於快取記憶體94中一樣而操作的情況下亦為如此。快取參考因此使RAS及CAS請求成對。快取/RAS參考進行標記轉譯以使得可進行後續快取/CAS參考。若快取/RAS參考命中,則不進行記憶體參考。若快取/RAS參考未命中,則在需要時開始收回序列,且在讀取快取/CAS參考之情況下進行讀取參考。
使用快取參考之行位元來自快取線路選擇所需資料。若記憶體匯流排46及記憶體控制器44與DRAM 90之間的介面允許與行位元同時發送列位元之子集,或若命令為所發送DDR,如資料位元,則可合理地支援b-o-2。由於快取,IO接針與記憶體庫循環時序解耦。然而,可包括額外信號線路以指示對於此參考不需未命中測試,且其他額外信號
可參考該快取輸入項。若在每一記憶體庫中存在16個快取線路,則將需要總共5個額外信號。或者,可經由通常包括於記憶體裝置中之組態/模式暫存器(未圖示)的延伸而使得諸如經分配/無效之快取狀態可用。當進行快取參考時,可使用RAS及CAS線路來指示特定快取命令。舉例而言,進行啟動參考而不移動任何資料。
圖3中展示雙向集合關聯實施之一實施例,但視集合關聯性之所要程度、並行性之量、關於如何收回線路之選項等等而定,許多其他實施為可能的。參看圖3,將複數個標記標記A至標記N展示為儲存於標記緩衝器96中。當寫入時,自每一線路讀取兩個標記(與在讀取時相同)且由各別相等比較器100、104與請求位址之部分進行比較。相等比較器100、104中之每一者具有兩個輸出,在各別標記匹配請求位址之位元的情況下為"1"之真輸出及在各別標記不匹配請求位址之位元的情況下為"1"之假輸出。將假輸出施加至AND閘108之各別輸入。AND閘108在相等比較器100、104中之任一者輸出指示缺少匹配之假信號的情況下輸出"未命中"信號。
選定標記中之兩者均匹配應永不發生,因為此意謂線路兩次處於快取記憶體中。在相等性測試中並不使用所請求之位址之所有位元。位元中之一些用來選擇集合關聯之群組中之一者且不儲存於標記緩衝器中。將相等比較器100、104之真輸出施加至亦自快取記憶體接收各別位元之各別AND閘110、114。若發生匹配,則由自AND閘110、
114接收各別輸出之OR閘118產生用以讀取所請求之列的啟用信號。由OR 118輸出之信號指示由所請求之位址表示的所儲存之資料存在於快取記憶體94之相應列中。
標記緩衝器96中之"CB"代表改變位元。在將寫入操作發送至快取記憶體系統90時,在相應標記輸入項中設定位元以記錄在彼線路中寫入之行位址。接著在收回快取線路且在記憶體庫64中替代資料時使用此等位元。存在通常保持於標記緩衝器96中之一些其他位元,其未於此處展示。此等位元支援(例如)LRU(最近最少使用,用於輔助線路收回)操作,或可包括在經設定之情況下防止快取記憶體中之線路被寫入/改變之位元。
參看圖4,圖式中之請求位址為總位址之列位元減去底部位元(對於此處所示之雙向SA實施)。此意謂若所請求之資料處於快取記憶體94中,則其可處於快取記憶體中之兩個位置,例如位置C及D。在將所請求之位址發送至標記緩衝器96且發送至快取記憶體94時,自列位址之頂部丟棄位元直至留下之某數目之位元以定址標記緩衝器96及快取記憶體94中之某數目之線路為止。讀出兩個標記且使其與請求位址之相應位元進行比較。若讀出之位址中之一者匹配請求位址,則相應快取線路含有所請求之資料,且OR閘118輸出邏輯"1"。舉例而言,假設在快取記憶體94中存在16個線路輸入項,標記緩衝器96中存在16個輸入項。記憶體線路0可僅進入快取位置A或B。此對於ML 1、ML 16、ML 17、ML 32等等亦為真實的。記憶體線路2可僅進
入快取位置C或D。在一些實施例中,事物可進展之實施的集合關聯性以及快取記憶體系統90之組織改變,其改變所需相等性比較器100、104的數目。在定址標記緩衝器96及快取記憶體94過程中未使用之列位址位元確切為儲存於每一標記輸入項中的接著在相等性測試中與每一請求位址進行比較之位元。
當待自快取記憶體94收回線路以使得另一線路可替代其時,新線路之請求位址指示待收回之線路的選擇。通常,挑選具有最少或最舊參考之線路來收回。在其他實施例中,使用較簡單之收回程序,諸如隨機挑選線路來收回。在圖式中所示之實施例中,可發送函式來根據來自記憶體控制器44之命令收回特定線路。此可以相對較少成本或在無成本情況下提供較高效能。
在另一實施例中,若向下至最低程度(4位元之半位元組(nibble))支援改變位元("CB"),則對於快取記憶體94中之每一線路提供大數目之CB。在又一實施例中,在發生寫入未命中時進行對記憶體庫64之讀取參考,且快取記憶體系統90將資料歸併至經分配之快取線路中。此意謂可接著在收回線路時將整個線路寫回至記憶體庫64。然而,必須保持原始未命中參考及任何後續參考之寫入資料直至返回來自記憶體庫64之讀取資料以使快取記憶體94中之線路有效為止,或者必須使用改變位元(或簡化等效物)來使得能夠執行正確資料歸併。如上文所提及,若發生快取未命中,則使用所有列位址位元來參考記憶體庫64。
自前述內容將瞭解,雖然已在本文中出於說明之目的描述了本發明之特定實施例,但可在不偏離本發明之精神及範疇的情況下進行各種修改。因此,本發明除由所附申請專利範圍限制以外不受限制。
10‧‧‧電腦系統
141-N
‧‧‧並行處理器
16‧‧‧共同處理器匯流排
20‧‧‧系統控制器
24‧‧‧層級2("L2")快取記憶體
26‧‧‧顯示器
28‧‧‧圖形加速器
32‧‧‧鍵盤
34‧‧‧大容量儲存裝置
36‧‧‧周邊裝置
40‧‧‧系統記憶體
44‧‧‧記憶體控制器電路
50‧‧‧板內建快取記憶體系統
60‧‧‧動態隨機存取記憶體("DRAM")裝置
64‧‧‧記憶體庫
74‧‧‧列解碼器
78‧‧‧行解碼器
80‧‧‧線路緩衝器及感測放大器
82‧‧‧寫入資料路徑
84‧‧‧讀取資料路徑
90‧‧‧快取記憶體系統
94‧‧‧快取記憶體
96‧‧‧標記緩衝器
98‧‧‧標記比較器
100‧‧‧相等比較器
104‧‧‧相等比較器
108‧‧‧AND閘
110‧‧‧AND閘
114‧‧‧AND閘
118‧‧‧OR閘
圖1為根據一實施例之電腦系統之方塊圖。
圖2為可用於圖1之電腦系統中的根據一實施例之系統記憶體裝置之方塊圖。
圖3為並行處理增強系統之一實施例之一部分的方塊圖,在該並行處理增強系統中使用快取記憶體系統以增強圖2之記憶體裝置中的並行處理器操作。
圖4為展示可儲存於圖3之快取記憶體系統中之標記緩衝器中的標記位址之一實施例之示意圖。
60‧‧‧動態隨機存取記憶體("DRAM")裝置
64‧‧‧記憶體庫
74‧‧‧列解碼器
78‧‧‧行解碼器
80‧‧‧線路緩衝器及感測放大器
82‧‧‧寫入資料路徑
84‧‧‧讀取資料路徑
90‧‧‧快取記憶體系統
94‧‧‧快取記憶體
96‧‧‧標記緩衝器
98‧‧‧標記比較器
Claims (27)
- 一種積體電路記憶體裝置,其包含:至少一記憶體庫之記憶體單元;一定址電路,其耦接於外部端子與該至少一記憶體庫之記憶體單元之間;一資料路徑,其耦接於外部端子與該至少一記憶體庫之記憶體單元之間;一命令解碼器,其耦接至外部端子,該命令解碼器可操作以產生控制信號來控制該記憶體裝置之一操作;及一快取記憶體系統,其與該至少一記憶體庫之記憶體單元、定址電路、資料路徑及命令解碼器整合且耦接至該至少一記憶體庫之記憶體單元,該快取記憶體系統經組態以快取儲存於該至少一記憶體庫之記憶體單元中的資料,無論該快取資料儲存於該至少一記憶體庫之記憶體單元中之何處,該積體電路記憶體裝置經組態以允許資料經該命令解碼器、定址電路、及資料路徑被通透地存取無論該資料被儲存於該至少一記憶體庫之記憶體單元中或該快取系統中。
- 如請求項1之記憶體裝置,其中該快取記憶體系統包含:一標記緩衝器,其可操作以接收一所接收之位址之一第一部分且使用該所接收之位址之該第一部分來存取標記位址;一標記比較器,其耦接至該標記緩衝器,該標記比較 器可操作以比較來自該標記緩衝器之該等標記位址與一所接收之位址之一第二部分;及一快取記憶體,其耦接至該標記緩衝器,該快取記憶體可操作以儲存資料,儲存於該快取記憶體中之該資料係藉由來自該標記緩衝器之該等標記位址來存取。
- 如請求項1之記憶體裝置,其中該記憶體裝置包含複數個記憶體庫之記憶體單元,且該快取記憶體系統包含一用於該複數個記憶體庫之記憶體單元中之各者之各別快取記憶體,該等快取記憶體可操作以快取儲存於該複數個記憶體庫各別之記憶體單元中的資料。
- 如請求項1之記憶體裝置,其中該至少一記憶體庫之記憶體單元包含至少一記憶體庫之動態隨機存取記憶體單元。
- 如請求項1之記憶體裝置,其中該快取記憶體系統可操作以與在該至少一記憶體庫之記憶體單元中執行操作同時地讀取資料或提供寫入資料。
- 如請求項5之記憶體裝置,其中該快取記憶體系統可操作以與該至少一記憶體庫之記憶體單元中之該等記憶體單元被自再新或處於一低電力模式中同時地讀取資料或提供寫入資料。
- 一種電腦系統,其包含:複數個處理器,其並行操作以執行並行處理函式;一系統控制器,其耦接至該等處理器,該系統控制器包括一記憶體控制器;及 一積體電路系統記憶體裝置,其耦接至該記憶體控制器且可被所有該複數個處理器存取,該系統記憶體裝置包含:至少一記憶體庫之記憶體單元;一定址電路,其耦接至該記憶體控制器,該定址電路可操作以回應於自該記憶體控制器接收之位址信號而定址該至少一記憶體庫之記憶體單元;一資料路徑,其耦接至該記憶體控制器,該資料路徑可操作以耦接來自該記憶體控制器之寫入資料且將來自該至少一記憶體庫之記憶體單元之讀取資料耦接至該記憶體控制器;一命令解碼器,其耦接至該記憶體控制器,該命令解碼器可操作以回應於自該記憶體控制器接收之記憶體命令信號產生控制信號來控制該記憶體裝置之一操作;及一快取記憶體系統,其與該至少一記憶體庫之記憶體單元、定址電路、資料路徑及命令解碼器整合且其耦接至該至少一記憶體庫之記憶體單元,該積體電路記憶體裝置經組態以快取儲存於該至少一記憶體庫之記憶體單元中的資料無論該快取資料儲存於該至少一記憶體庫之記憶體單元中之何處,且經組態以允許所有該複數個處理器通透地存取該至少一記憶體庫之記憶體單元及該快取系統。
- 如請求項7之電腦系統,其中該快取記憶體系統包含:一標記緩衝器,其可操作以接收一自該記憶體控制器 接收之位址之一第一部分且使用該所接收之位址之該第一部分來存取標記位址;一標記比較器,其耦接至該標記緩衝器,該標記比較器可操作以比較來自該標記緩衝器之該等標記位址與一所接收之位址之一第二部分;及一快取記憶體,其耦接至該標記緩衝器,該快取記憶體可操作以儲存資料,儲存於該快取記憶體中之該資料係藉由來自該標記緩衝器之該等標記位址存取。
- 如請求項7之電腦系統,其中該記憶體裝置包含複數個記憶體庫之記憶體單元,且其中該快取系統包含一用於複數個等記憶體庫之記憶體單元中之每一者之各別快取記憶體,該等快取記憶體可操作以快取儲存於該複數個記憶體庫各別之記憶體單元中的資料。
- 如請求項7之電腦系統,其中該至少一記憶體庫之記憶體單元包含至少一記憶體庫之動態隨機存取記憶體單元。
- 如請求項10之電腦系統,其中該快取記憶體可操作以使該至少一記憶體庫之記憶體單元在資料寫入至該快取記憶體時被預充電。
- 如請求項7之電腦系統,其中該記憶體控制器可操作以保持儲存於該快取記憶體中之該資料的一記錄,該記憶體控制器進一步可操作以在該記錄指示待取出之讀取資料未儲存於該快取記憶體中時將讀取請求引導至該至少一記憶體庫之記憶體單元,且可操作以在該記錄指示待 取出之讀取資料儲存於該快取記憶體中時將讀取請求引導至該快取記憶體。
- 如請求項7之電腦系統,其中該記憶體控制器可操作以保持儲存於該快取記憶體中之該資料的一記錄,且可操作以使用該記錄以避免快取未命中且使用該快取記憶體系統作為一可變位址記憶體緩衝器。
- 如請求項7之電腦系統,其中該系統記憶體裝置進一步包含再新邏輯,其可操作以在已對該至少一記憶體庫中之記憶體單元之一列進行預充電之後將儲存於該快取記憶體中之資料寫入至記憶體單元的該列。
- 如請求項7之電腦系統,其中該記憶體控制器進一步可操作以將一指示是否將一由該記憶體控制器提供至該系統記憶體裝置之記憶體命令引導至該快取記憶體之信號提供至該快取記憶體系統。
- 如請求項7之電腦系統,其中該快取記憶體系統可操作以將一指示對該快取記憶體之一存取是否導致一快取命中之信號提供至該記憶體控制器。
- 如請求項7之電腦系統,其中該快取記憶體系統可操作以與在該至少一記憶體庫之記憶體單元中執行操作同時地讀取資料或提供寫入資料。
- 如請求項17之電腦系統,其中該快取記憶體系統可操作以與該至少一記憶體庫之記憶體單元中之該等記憶體單元被自再新或處於一低電力模式中同時地讀取資料或提供寫入資料。
- 一種在一積體電路記憶體裝置中增強該記憶體裝置與複數個並行處理器介面連接之能力之方法,該方法包含:藉由獨立地儲存於該積體電路記憶體裝置之一快取中之至少一記憶體庫之記憶體單元中儲存的資料之一子集而快取該積體電路記憶體裝置之一快取內之資料無論該快取資料儲存於該至少一記憶體庫之記憶體單元中之何處;及允許該複數個處理器中之每一者從該快取通透地存取儲存於該積體電路記憶體裝置中資料之一子集,及從該至少一記憶體庫之記憶體單元中存取儲存於該積體電路記憶體裝置中資料之該子集以外之資料。
- 如請求項19之方法,其中該積體電路包含複數個記憶體庫之記憶體單元,且其中該方法包含獨立地快取儲存於該複數個記憶體庫中之每一者中的資料之各別子集。
- 如請求項19之方法,其中該記憶體裝置包含一動態隨機存取記憶體("DRAM")裝置,且其中該方法進一步包含基於該積體電路記憶體裝置內之資料的該快取而對該等DRAM記憶體單元進行預充電。
- 如請求項19之方法,其進一步包含:在該記憶體裝置之外部保持儲存於該快取中之該資料之一記錄;若該記錄指示待取出之讀取資料未儲存於該快取中,則將待引導至該至少一記憶體庫之記憶體單元的記憶體請求耦接至該積體電路記憶體裝置;及 若該記錄指示待取出之讀取資料儲存於該快取中,則將待引導至該快取的記憶體請求耦接至該積體電路記憶體裝置。
- 如請求項19之方法,其進一步包含:在該記憶體裝置之外部保持儲存於該快取中之該資料之一記錄;及使用該記錄以避免快取未命中。
- 如請求項19之方法,其進一步包含:在該記憶體裝置之外部保持儲存於該快取中之該資料之一記錄;及使用該記錄以使該快取記憶體系統作為一可變位址記憶體緩衝器而操作。
- 如請求項19之方法,其進一步包含將一指示是否將一提供至該積體電路記憶體裝置之記憶體命令引導至該快取之信號提供至該積體電路記憶體裝置。
- 如請求項19之方法,其中快取該積體電路記憶體裝置內之資料的該動作包含與在該至少一記憶體庫之記憶體單元中執行操作同時地快取該積體電路記憶體裝置內之資料。
- 如請求項26之方法,其中快取該積體電路記憶體裝置內之資料的該動作包含與該至少一記憶體庫之記憶體單元中之該等記憶體單元被自再新或處於一低電力模式中同時地快取該積體電路記憶體裝置內之資料。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/893,604 US7822911B2 (en) | 2007-08-15 | 2007-08-15 | Memory device and method with on-board cache system for facilitating interface with multiple processors, and computer system using same |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200915179A TW200915179A (en) | 2009-04-01 |
TWI393050B true TWI393050B (zh) | 2013-04-11 |
Family
ID=40351405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW97130739A TWI393050B (zh) | 2007-08-15 | 2008-08-12 | 促進多重處理器介面之板內建快取記憶體系統之記憶體裝置及方法及使用其之電腦系統 |
Country Status (3)
Country | Link |
---|---|
US (2) | US7822911B2 (zh) |
TW (1) | TWI393050B (zh) |
WO (1) | WO2009023419A2 (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8291174B2 (en) | 2007-08-15 | 2012-10-16 | Micron Technology, Inc. | Memory device and method having on-board address protection system for facilitating interface with multiple processors, and computer system using same |
US8055852B2 (en) | 2007-08-15 | 2011-11-08 | Micron Technology, Inc. | Memory device and method having on-board processing logic for facilitating interface with multiple processors, and computer system using same |
US8108624B2 (en) * | 2009-05-27 | 2012-01-31 | Via Technologies, Inc. | Data cache with modified bit array |
US10026458B2 (en) | 2010-10-21 | 2018-07-17 | Micron Technology, Inc. | Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size |
JP5561374B2 (ja) * | 2010-11-15 | 2014-07-30 | 富士通株式会社 | 情報処理システム |
US20120317376A1 (en) * | 2011-06-10 | 2012-12-13 | Advanced Micro Devices, Inc. | Row buffer register file |
US9753858B2 (en) * | 2011-11-30 | 2017-09-05 | Advanced Micro Devices, Inc. | DRAM cache with tags and data jointly stored in physical rows |
US9244823B2 (en) * | 2012-11-09 | 2016-01-26 | Oracle International Corporation | Speculation to selectively enable power in a memory |
CN105027211B (zh) | 2013-01-31 | 2018-09-21 | 慧与发展有限责任合伙企业 | 自适应粒度行缓冲器高速缓存 |
CN104765699B (zh) * | 2014-01-02 | 2018-03-27 | 光宝科技股份有限公司 | 处理系统及其操作方法 |
KR102373544B1 (ko) | 2015-11-06 | 2022-03-11 | 삼성전자주식회사 | 요청 기반의 리프레쉬를 수행하는 메모리 장치, 메모리 시스템 및 메모리 장치의 동작방법 |
JP6610876B2 (ja) * | 2015-11-11 | 2019-11-27 | 三菱自動車エンジニアリング株式会社 | 蒸散燃料処理装置を搭載した車両 |
CN111210857B (zh) | 2016-06-27 | 2023-07-18 | 苹果公司 | 组合了高密度低带宽和低密度高带宽存储器的存储器系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050097276A1 (en) * | 2001-09-28 | 2005-05-05 | Lu Shih-Lien L. | Hiding refresh of memory and refresh-hidden memory |
US20050207257A1 (en) * | 2004-03-18 | 2005-09-22 | Skidmore Beth E | Memory device and method having banks of different sizes |
US20060190671A1 (en) * | 2005-02-23 | 2006-08-24 | Jeddeloh Joseph M | Memory device and method having multiple internal data buses and memory bank interleaving |
TW200635383A (en) * | 2005-01-19 | 2006-10-01 | Via Tech Inc | A method and system for hierarchical search with cache |
TW200729859A (en) * | 2005-11-22 | 2007-08-01 | Freescale Semiconductor Inc | A method for processing ATM cells and a device having ATM cell processing capabilites |
Family Cites Families (55)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4878041A (en) * | 1984-03-16 | 1989-10-31 | Automotive Products Plc | Hydraulic master cylinder switch |
US5067071A (en) | 1985-02-27 | 1991-11-19 | Encore Computer Corporation | Multiprocessor computer system employing a plurality of tightly coupled processors with interrupt vector bus |
US4789925A (en) * | 1985-07-31 | 1988-12-06 | Unisys Corporation | Vector data logical usage conflict detection |
US4787041A (en) | 1985-08-01 | 1988-11-22 | Honeywell | Data control system for digital automatic flight control system channel with plural dissimilar data processing |
US4796232A (en) | 1987-10-20 | 1989-01-03 | Contel Corporation | Dual port memory controller |
US4975878A (en) | 1988-01-28 | 1990-12-04 | National Semiconductor | Programmable memory data protection scheme |
US5420994A (en) * | 1990-08-06 | 1995-05-30 | Ncr Corp. | Method for reading a multiple byte data element in a memory system with at least one cache and a main memory |
US5163139A (en) | 1990-08-29 | 1992-11-10 | Hitachi America, Ltd. | Instruction preprocessor for conditionally combining short memory instructions into virtual long instructions |
US5457482A (en) * | 1991-03-15 | 1995-10-10 | Hewlett Packard Company | Method and apparatus for utilizing off-screen memory as a simultaneously displayable channel |
KR940004434A (ko) * | 1992-08-25 | 1994-03-15 | 윌리엄 이. 힐러 | 스마트 다이나믹 랜덤 억세스 메모리 및 그 처리방법 |
US5524225A (en) * | 1992-12-18 | 1996-06-04 | Advanced Micro Devices Inc. | Cache system and method for providing software controlled writeback |
DE69519816T2 (de) | 1994-05-03 | 2001-09-20 | Hewlett-Packard Company (A Delaware Corporation), Palo Alto | Anordnung mit Duplikat des Cache-Etikettenspeichers |
US5488583A (en) | 1994-09-22 | 1996-01-30 | Micron Technology, Inc. | Memory integrated circuits having on-chip topology logic driver, and methods for testing and producing such memory integrated circuits |
FR2728363A1 (fr) * | 1994-12-20 | 1996-06-21 | Sgs Thomson Microelectronics | Dispositif de protection de l'acces a des mots memoires |
US5682344A (en) * | 1995-09-11 | 1997-10-28 | Micron Technology, Inc. | Destructive read protection using address blocking technique |
US5802541A (en) | 1996-02-28 | 1998-09-01 | Motorola, Inc. | Method and apparatus in a data processing system for using chip selects to perform a memory management function |
US5835925A (en) * | 1996-03-13 | 1998-11-10 | Cray Research, Inc. | Using external registers to extend memory reference capabilities of a microprocessor |
US6092155A (en) * | 1997-07-10 | 2000-07-18 | International Business Machines Corporation | Cache coherent network adapter for scalable shared memory processing systems |
US6026478A (en) * | 1997-08-01 | 2000-02-15 | Micron Technology, Inc. | Split embedded DRAM processor |
US6081876A (en) | 1997-09-22 | 2000-06-27 | Hewlett-Packard Company | Memory error containment in network cache environment via restricted access |
US6049487A (en) | 1998-03-16 | 2000-04-11 | Actel Corporation | Embedded static random access memory for field programmable gate array |
US6378049B1 (en) | 1998-11-16 | 2002-04-23 | Infineon Technologies A.G. | Universal memory controller |
US6526481B1 (en) * | 1998-12-17 | 2003-02-25 | Massachusetts Institute Of Technology | Adaptive cache coherence protocols |
JP3807582B2 (ja) * | 1999-02-18 | 2006-08-09 | 株式会社ルネサステクノロジ | 情報処理装置及び半導体装置 |
EP1050884A1 (en) * | 1999-05-03 | 2000-11-08 | STMicroelectronics SA | A multiport memory system with write conflict detection |
US6321314B1 (en) | 1999-06-09 | 2001-11-20 | Ati International S.R.L. | Method and apparatus for restricting memory access |
US6563754B1 (en) * | 2001-02-08 | 2003-05-13 | Integrated Device Technology, Inc. | DRAM circuit with separate refresh memory |
US6775750B2 (en) | 2001-06-29 | 2004-08-10 | Texas Instruments Incorporated | System protection map |
US7032082B1 (en) * | 2001-08-31 | 2006-04-18 | Juniper Networks, Inc. | Centralized memory allocation with write pointer drift correction |
US7085955B2 (en) * | 2001-09-14 | 2006-08-01 | Hewlett-Packard Development Company, L.P. | Checkpointing with a write back controller |
US7174429B2 (en) * | 2001-12-28 | 2007-02-06 | Intel Corporation | Method for extending the local memory address space of a processor |
US7546446B2 (en) * | 2002-03-08 | 2009-06-09 | Ip-First, Llc | Selective interrupt suppression |
US20040193837A1 (en) * | 2003-03-31 | 2004-09-30 | Patrick Devaney | CPU datapaths and local memory that executes either vector or superscalar instructions |
KR100543447B1 (ko) * | 2003-04-03 | 2006-01-23 | 삼성전자주식회사 | 에러정정기능을 가진 플래쉬메모리장치 |
JP4563715B2 (ja) * | 2003-04-29 | 2010-10-13 | 三星電子株式会社 | パーシャルコピーバック動作モードを有するフラッシュメモリ装置 |
US7320100B2 (en) * | 2003-05-20 | 2008-01-15 | Cray Inc. | Apparatus and method for memory with bit swapping on the fly and testing |
US6868019B2 (en) * | 2003-07-02 | 2005-03-15 | Micron Technology, Inc. | Reduced power redundancy address decoder and comparison circuit |
US6903361B2 (en) * | 2003-09-17 | 2005-06-07 | Micron Technology, Inc. | Non-volatile memory structure |
US7281079B2 (en) * | 2003-12-31 | 2007-10-09 | Intel Corporation | Method and apparatus to counter mismatched burst lengths |
GB2417577A (en) * | 2004-08-25 | 2006-03-01 | Imagination Tech Ltd | Memory controller with randomised bank selection |
US20080189557A1 (en) * | 2005-01-19 | 2008-08-07 | Stmicroelectronics S.R.I. | Method and architecture for restricting access to a memory device |
US7274594B2 (en) * | 2005-04-11 | 2007-09-25 | Stmicroelectronics S.R.L. | Non-volatile memory electronic device with NAND structure being monolithically integrated on semiconductor |
JP4989872B2 (ja) * | 2005-10-13 | 2012-08-01 | ルネサスエレクトロニクス株式会社 | 半導体記憶装置および演算処理装置 |
US7509463B2 (en) | 2005-12-01 | 2009-03-24 | Sony Computer Entertainment, Inc. | Cell processor atomic compare and swap using dedicated synergistic processor element |
US20070150671A1 (en) * | 2005-12-23 | 2007-06-28 | Boston Circuits, Inc. | Supporting macro memory instructions |
KR100782594B1 (ko) | 2006-07-14 | 2007-12-06 | 엠텍비젼 주식회사 | 데이터 처리 기능을 구비한 메모리 장치 |
US7574576B2 (en) * | 2006-12-22 | 2009-08-11 | Spansion Llc | Semiconductor device and method of controlling the same |
US20080183984A1 (en) * | 2007-01-31 | 2008-07-31 | Dale Beucler | Memory system with read-modify-write |
US7797503B2 (en) * | 2007-06-26 | 2010-09-14 | International Business Machines Corporation | Configurable memory system and method for providing atomic counting operations in a memory device |
US8291174B2 (en) * | 2007-08-15 | 2012-10-16 | Micron Technology, Inc. | Memory device and method having on-board address protection system for facilitating interface with multiple processors, and computer system using same |
US8055852B2 (en) | 2007-08-15 | 2011-11-08 | Micron Technology, Inc. | Memory device and method having on-board processing logic for facilitating interface with multiple processors, and computer system using same |
US20090138680A1 (en) * | 2007-11-28 | 2009-05-28 | Johnson Timothy J | Vector atomic memory operations |
US8583896B2 (en) * | 2009-11-13 | 2013-11-12 | Nec Laboratories America, Inc. | Massively parallel processing core with plural chains of processing elements and respective smart memory storing select data received from each chain |
US9342471B2 (en) * | 2010-01-29 | 2016-05-17 | Mosys, Inc. | High utilization multi-partitioned serial memory |
US10026458B2 (en) * | 2010-10-21 | 2018-07-17 | Micron Technology, Inc. | Memories and methods for performing vector atomic memory operations with mask control and variable data length and data unit size |
-
2007
- 2007-08-15 US US11/893,604 patent/US7822911B2/en active Active
-
2008
- 2008-07-24 WO PCT/US2008/071087 patent/WO2009023419A2/en active Application Filing
- 2008-08-12 TW TW97130739A patent/TWI393050B/zh active
-
2010
- 2010-10-11 US US12/902,043 patent/US9021176B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050097276A1 (en) * | 2001-09-28 | 2005-05-05 | Lu Shih-Lien L. | Hiding refresh of memory and refresh-hidden memory |
US20050207257A1 (en) * | 2004-03-18 | 2005-09-22 | Skidmore Beth E | Memory device and method having banks of different sizes |
TW200635383A (en) * | 2005-01-19 | 2006-10-01 | Via Tech Inc | A method and system for hierarchical search with cache |
US20060190671A1 (en) * | 2005-02-23 | 2006-08-24 | Jeddeloh Joseph M | Memory device and method having multiple internal data buses and memory bank interleaving |
TW200729859A (en) * | 2005-11-22 | 2007-08-01 | Freescale Semiconductor Inc | A method for processing ATM cells and a device having ATM cell processing capabilites |
Also Published As
Publication number | Publication date |
---|---|
US9021176B2 (en) | 2015-04-28 |
WO2009023419A3 (en) | 2009-04-09 |
US7822911B2 (en) | 2010-10-26 |
WO2009023419A2 (en) | 2009-02-19 |
TW200915179A (en) | 2009-04-01 |
US20090049245A1 (en) | 2009-02-19 |
US20110029712A1 (en) | 2011-02-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI393050B (zh) | 促進多重處理器介面之板內建快取記憶體系統之記憶體裝置及方法及使用其之電腦系統 | |
USRE45078E1 (en) | Highly efficient design of storage array utilizing multiple pointers to indicate valid and invalid lines for use in first and second cache spaces and memory subsystems | |
US6128702A (en) | Integrated processor/memory device with victim data cache | |
KR100454441B1 (ko) | 전폭캐쉬를가진집적프로세서/메모리장치 | |
US9792221B2 (en) | System and method for improving performance of read/write operations from a persistent memory device | |
US8621152B1 (en) | Transparent level 2 cache that uses independent tag and valid random access memory arrays for cache access | |
WO2019062747A1 (zh) | 数据访问方法以及计算机系统 | |
KR20010101695A (ko) | 가상 메모리 시스템에서의 메모리 접근 개선 기술 | |
KR100805974B1 (ko) | 스마트 캐시 | |
TWI652576B (zh) | Memory system and processor system | |
US7117312B1 (en) | Mechanism and method employing a plurality of hash functions for cache snoop filtering | |
US7325102B1 (en) | Mechanism and method for cache snoop filtering | |
US10191664B2 (en) | Memory system | |
CN108694133A (zh) | 用于即时高速缓存关联性的装置、方法和系统 | |
US20170109277A1 (en) | Memory system | |
WO2010032433A1 (ja) | バッファメモリ装置、メモリシステム及びデータ読出方法 | |
US7949833B1 (en) | Transparent level 2 cache controller | |
US20060271723A1 (en) | Cache memory system | |
US6976130B2 (en) | Cache controller unit architecture and applied method | |
EP0535701A1 (en) | Architecture and method for combining static cache memory and dynamic main memory on the same chip (CDRAM) | |
US5434990A (en) | Method for serially or concurrently addressing n individually addressable memories each having an address latch and data latch | |
CN111338987B (zh) | 快速无效组相联tlb的方法 | |
US20030188105A1 (en) | Management of caches in a data processing apparatus | |
US20240086325A1 (en) | DRAM Cache with Stacked, Heterogenous Tag and Data Dies | |
US12032479B2 (en) | Metadata-caching integrated circuit device |