TWI592795B - 於低電壓操作期間之快取部分的停用 - Google Patents
於低電壓操作期間之快取部分的停用 Download PDFInfo
- Publication number
- TWI592795B TWI592795B TW104144482A TW104144482A TWI592795B TW I592795 B TWI592795 B TW I592795B TW 104144482 A TW104144482 A TW 104144482A TW 104144482 A TW104144482 A TW 104144482A TW I592795 B TWI592795 B TW I592795B
- Authority
- TW
- Taiwan
- Prior art keywords
- cache
- cache line
- ulpm
- memory
- line
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- 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/0895—Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3296—Power saving characterised by the action undertaken by lowering the supply or operating voltage
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
-
- 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
-
- 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/0864—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
本發明之揭示係大致有關電子學之領域。更具體而言,本發明之一實施例係有關於低電壓操作期間之一或多個快取部分的停用(disabling)。
目前大量製造的矽可能會有許多因製造引發的參數變化。這些變化可能造成製造各種類型的記憶單元時的問題。這些變化是造成決定這些記憶單元可以可靠地操作的最低電壓Vccmin的現象之原因。因為一般的微處理器包含使用各種類型的記憶單元實施之一些結構,所以這些結構通常決定了該微處理器整體上可以可靠地操作之最低電壓。因為可將電壓的降低有效地用來減少微處理器消耗的電力,所以Vccmin可能成為在較低電壓下使用特定設計的一個障礙。
本發明說明了與低電壓操作期間之一或多個快取部分
的停用有關之方法及裝置。在某些實施例中,可將一或多個額外的位元用於一快取記憶體的一部分,該一或多個額外的位元指示該快取記憶體的該部分是否可在Vccmin位準或低於Vccmin的位準下操作。也說明了其他實施例,且申請這些其他實施例的專利範圍。
100、600、700‧‧‧運算系統
102、102-1-102-N、602、702、704‧‧‧處理器
104、112、622、740、744‧‧‧匯流排
106、106-1-106-M‧‧‧處理器核心
108‧‧‧共用快取記憶體
110‧‧‧路由器
114、612、710、712‧‧‧記憶體
116、116-1‧‧‧第1階快取記憶體
202‧‧‧置換邏輯
402、403‧‧‧標記
404‧‧‧集合
406‧‧‧偏移值
408、410‧‧‧比較器
411‧‧‧標記命中
412、420‧‧‧"或"閘
414、416、422、424‧‧‧"及"閘
418‧‧‧假命中
452‧‧‧N位元計數器
454‧‧‧"互斥或"閘
604‧‧‧互連網路
603‧‧‧電腦網路
606、720‧‧‧晶片組
608、706、708‧‧‧記憶體控制集線器
610‧‧‧記憶體控制器
616‧‧‧顯示器
614、736‧‧‧圖形介面
618‧‧‧控制集線器介面
620‧‧‧輸入/輸出控制集線器
624‧‧‧周邊組件橋接器
626、747‧‧‧音訊裝置
628‧‧‧磁碟機
630‧‧‧網路介面裝置
603‧‧‧電腦網路
714、722、724‧‧‧點對點介面
716、718、726、728、730、732、737、741‧‧‧點對點介面電路
734‧‧‧圖形電路
742‧‧‧匯流排橋接器
743‧‧‧輸入/輸出裝置
745‧‧‧鍵盤/滑鼠
746‧‧‧通訊裝置
748‧‧‧資料儲存裝置
749‧‧‧程式碼
前文中已參照各附圖而提供了詳細說明。在該等圖式中,代號最左方的數字識別該代號首次出現的圖式。在不同的圖式中將使用相同的代號標示類似的或相同的項目。
第1、6、7圖是可被用來實施本發明中述及的各實施例的運算系統的實施例之方塊圖。
第2A及2B圖示出根據某些實施例的快取記憶體之實施例。
第3A及3B圖是根據某些實施例的用於停用位元測試之電壓分類狀態圖。
第4A圖是根據一實施例的一快取記憶體中之一讀取操作之一示意圖。
第4B圖是根據一實施例的位址重新映射邏輯之一方塊圖。
第5圖是根據本發明的一實施例的一方法之一流程圖。
在下列的詳細說明中,述及許多特定細節,以便提供對各實施例的徹底了解。然而,可在沒有這些特定細節的情形下實施本發明的各實施例。在其他的情形中,並未詳述習知的方法、程序、組件、及電路,以便不會模糊了本發明的特定實施例。此外,可使用諸如半導體積體電路(“硬體”)、被組織成一或多個程式之電腦可讀取的指令(“軟體”)、或硬體及軟體之某一組合等的各種方式執行本發明實施例之各觀點。為了便於說明本發明之揭示,提到“邏輯”時,將意指硬體、軟體、或硬體及軟體之某一組合。此外,縱然本發明中述及的各實施例都可參照到係分別為0及1之一設定或清除值,但是這些術語係諸如根據實施方式而是可互換的。
某些實施例提供了低電壓操作期間之一或多個快取部分(例如,一快取線(cache line)、或一快取線的一子區塊(subblock))的停用。若克服了(前文所述之)Vccmin障礙,則可讓記憶體裝置在Vccmin位準或低於Vccmin的位準下操作,因而減少了電力消耗,例如導致行動運算裝置的電池使用時間之增加。此外,在某些實施例中,藉由於低電壓操作期間,將一快取記憶體中之記憶單元的操作保持在比快取線更小的分割單位,而可減輕效能損失。此外,在諸如Intel®文件記載的可靠性標準所保證之條件下,本發明之一實施例將記憶單元電壓維持在一電壓位準,使該記憶單元在一段時間內將可以可靠地保持被儲存的資訊。一般而言,當記憶單元通過在一給定電壓
位準下的電池測試時,該等記憶單元被視為可在該給定電壓位準下可靠地操作。這些測試可評估記憶單元的讀取、寫入、及保持能力。例如,只有在測試期間並未觀測到任何錯誤的那些記憶單元被視為是可靠的。
在一實施例中,可諸如根據一或多條快取線在極低操作電壓(Ultra Low Operating Voltage;簡稱ULOV)下不操作(或無法可靠地操作)之一決定(諸如由對應於該一或多條快取線的一位元值所指示),而在該ULTV下操作期間停用該一或多條快取線。ULOV可以是比大約750毫伏的某一其他現行低電壓位準(該低電壓位準在本發明中可被稱為“最低電壓位準”)低了諸如150毫伏之一位準。在一實施例中,一處理器可回應已清除了無法在ULOV下操作的一或多條快取線(例如,使該一或多條快取線無效,且(或)於必要時將該一或多條快取線的內容寫回到諸如主記憶體等的其他記憶體裝置)之一決定,而轉變到一極低功率模式(Ultra Low Power Mode;簡稱ULPM)(例如,在ULOV下操作)。
在一實施例中,諸如在高效能的非循序執行處理器中,可減輕因減小的快取容量(由於快取線的停用)而造成的效能損失。例如,可在相對低的效能成本、低複雜性、及高效能可預測性下容忍適度的有固障之位元率。在Vccmin操作位準或低於Vccmin操作位準期間,此類解決方案被視為是有效的,且同時可保持效能於高Vcc操作期間不受影響。在一實施例中,對於Vccmin或低於Vccmin
的操作而言,可以一種仍然可使用具一個或少數故障子區塊的快取線之方式,停用在精細的分割程度(例如,64位元)的故障子區塊,且因而減少了快取線停用機制造成的效能負擔。此外,藉由輪流將位址映射到各快取線,使效能係取決於少數快取集合(set)的程式不論快取記憶體中之故障子區塊之位置為何,都將會以類似之方式得到效能下降,而實現係為將晶片效能分類(binning)的關鍵之高效能可預測性。相信此類技術在高Vcc下操作時將只有很少的效能損失影響或毫無效能損失影響。
本發明所述之技術可提高諸如參照第1-7圖所述的那些運算裝置等的各種運算裝置之效能。更具體而言,第1圖是根據本發明的一實施例的一運算系統100之一方塊圖。系統100可包含一或多個處理器102-1至102-N(在本說明書中統稱為“處理器102”)。處理器102可經由一互連網路或匯流排104而通訊。每一處理器可包含各種組件,但是為了說明的清晰,只參照處理器102-1而說明該等組件中之某些組件。因此,其餘的處理器102-2至102-N中之每一處理器可包含與參照處理器102-1述及的組件相同的或類似的組件。
在一實施例中,處理器102-1可包含一或多個處理器核心106-1至106-M(在本說明書中統稱為“核心106”)、一共用快取記憶體108、及(或)一路由器110。可在單一積體電路(Integrated Circuit;簡稱IC)晶片上實施該等處理器核心106。此外,該晶片可包含一
或多個共用或專用快取記憶體(例如,快取記憶體108)、匯流排或互連(例如,匯流排或互連網路112)、記憶體控制器(例如,參照第6及7圖所述之那些記憶體控制器)、或其他組件。
在一實施例中,可將路由器110用來執行處理器102-1及(或)系統100的各組件間之通訊。此外,處理器102-1可包含一個以上的路由器110。此外,可使該等多個路由器110進行通訊,以便能夠在處理器102-1之內或之外的各組件之間傳送資料。
共用快取記憶體108可儲存處理器102-1的諸如該等核心106等的一或多個組件所使用之資料(例如,其中包括指令)。例如,共用快取記憶體108可在本地緩衝儲存一記憶體114中儲存的資料,以供處理器102的各組件可進行較快速的存取。在一實施例中,快取記憶體108可包括一中間階快取記憶體(例如,一第2階(L2)、一第3階(L3)、一第4階(L4)、或其他階的快取記憶體)、一最後階快取記憶體(Last Level Cache;簡稱LLC)、及(或)以上各階快取記憶體之組合。此外,處理器102-1之各組件可經由一匯流排(例如,匯流排112)及(或)一記憶體控制器或控制集線器而直接與共用快取記憶體108通訊。如第1圖所示,在某些實施例中,一或多個核心106可包含一第1階(L1)快取記憶體116-1(在本說明書中統稱為“L1快取記憶體116”)及(或)一L2快取記憶體(圖中未示出)。
第2A及2B圖示出根據某些實施例的快取記憶體之實施例。在某些實施例中,可將第2A及2B圖所示之快取記憶體用來作為本說明書中參照諸如第1、6、或7圖等的其他圖式所述之快取記憶體。更具體而言,在某些實施例中,可將可設定組態的快取記憶體用於運算裝置。此類可設定組態的快取記憶體可以容量換取低電壓操作。
在某些實施例中,可使用下文所述的三部分中之一或多個部分。第一,加入了使用被稱為ULOV的一電壓位準之一額外的低功率狀態(在本說明書中被稱為ULPM)。在一實施例中,ULOV大約比Vccmin的現行值(本發明中假定其為大約750毫伏)低150毫伏。第二,可將一電壓分類演算法用來決定哪些快取線在ULOV是可操作的。第三,使每一組快取線與一停用位元或d位元相關聯。該電壓分類演算法將針對無法在極低操作電壓下完全操作的每一組快取線而設定該d位元。
此外,可將ULPM視為現有各功率狀態之一延伸功率狀態。例如,當一微處理器轉變到極低功率模式時,將自快取記憶體中清除將受該轉變到較低電壓影響到、d位元已被設定的所有快取線。如果假定該LLC、DCU(第1階資料快取記憶體)、及ICU(第1階指令快取記憶體)在該轉變之後將可在ULOV下操作,則將清除DCU及ICU中d位元已被設定的所有快取線(使該等快取線無效,且於必要時將該等快取線之內容寫回到諸如記憶體114)。然後,藉由清除該LLC中d位元已被設定的每一快取
線,而使該LLC準備好將進行ULOV操作。一旦自該系統清除了該d位元已被設定的所有快取線之後,對應的處理器可轉變到ULPM。
一般而言,一快取記憶體被組織成一些集合,且每一集合由一些路(way)組成。每一路對應於通常為32-64位元組的一單一快取線。當一處理器向快取記憶體提出一位址時,將發生一快取記憶體查詢。該位址可被分解為三個成分:一線偏移值、一集合選擇、以及標記。考慮下列的例子:一快取記憶體的設計具有1024個集合,每一集合由8路組成,每一路由一單一的64位元組之快取線組成。該整個快取記憶體將由512KB(千位元組)的儲存容量(1024*8*64)組成。如果該快取記憶體被設計成處理50位元的位址,則可以下文所述之方式建立該快取記憶體的索引。位元0-5將是用來指定64位元組快取線中之位元組的線偏移值。在某些實施例中,位元0-5可部分地指定起始位元組,這是因為可根據載入/儲存指令而存取多個位元組。例如,可自被指示的位元組開始讀取一單一位元組(或兩個位元組等數目的位元組)。位元6-15將是用來指定將儲存該快取線的集合之集合選擇。其餘的位元(位元16-49)將被儲存作為一標記。該等集合選擇位元相同的所有快取線將競爭被指定的該集合的8路中之一路。
在一實施例中,可使一組快取線與用來指定該組快取線是否可在較低電壓下操作的一d位元相關聯。如第2A
及2B圖所示,除非該處理器係處於ULPM,或被一置換邏輯202決定而正在轉變到ULPM,否則該d位元將沒有影響。因此,邏輯202可偵測對一或多個快取部分(例如,快取線)的存取,並決定該等快取部分是否可在Vccmin或低於Vccmin下操作。於轉變到ULPM時,清除d位元被設定的所有快取線。這是防止在轉變到ULPM之後喪失資料。在ULPM期間,該快取記憶體以如同其正常時之方式操作,但不同之處在於只有與被設定為0的d位元相關聯之快取線被視為是有效的。當在ULPM下搜尋一集合中之一位址時,d位元防止與被停用的快取線之錯誤匹配。縱然本發明中述及的各實施例都可參照到係分別為0及1之一設定或清除值,但是這些術語係根據實施方式而是可互換的。例如,一清除的d位元可指示一或多條對應的快取線之停用。
此外,當發生一快取記憶體未命中時,置換邏輯202選擇要自該快取記憶體剔除的一快取線。然後以自記憶體提取的新資料覆寫該快取線。在ULPM中,置換邏輯202考慮該d位元(第2B圖),以避免分配到被停用的快取線。可由強制該置換程序將被停用的快取線視為最近最多使用的(Most Recently Used;簡稱MRU)快取線,而達到上述之目的。例如,此種基於使用歷史向量之置換程序可適用於個別快取線之停用。在該程序中,掃描一位元向量(每一快取線的1位元),且被標示為0的第一快取線被識別為最近最少使用的(Least Recently Used;簡稱
LRU)快取線,且被置換。藉由強制使與一快取線相關聯的該位元為1,而使該快取線必然被視為MRU,且不會在置換程序中被選擇。
論及d位元的缺陷,在d位元將影響到快取記憶體的功能之ULPM中,d位元的缺陷可以兩種方式中之一種方式呈現出來。0的d位元值指示在低電壓下可操作的一快取線。相反地,1的d位元值指示在低電壓下不可操作的一快取線。第一種狀況是:d位元被阻塞在1,而停用該快取線。在此種情形中,將停用所有的位元都是可操作的但是有一損壞的d位元之快取線。因而保證了此種狀況中之正確功能。第二種狀況是:d位元被阻塞在0。因而在快取線有缺陷時將發生問題,這是因為損壞的d位元將錯誤地指示一可操作的快取線。為了保證正確的功能,一實施例確保不會有d位元被錯誤地阻塞在0。解決該問題的一種方式是改變記憶單元的設計,使以此種方式損壞的d位元不可能發生。第二種方法是增加一或多個冗餘d位元。例如,可使用三個d位元。然後以相同的方式寫入所有三個位元(全都是1,或全都是0)。如果該等d位元被讀取,且該等位元中之任一位元被設定為1,則可將該快取線視為一被停用的快取線。唯有d位元可被正確地讀取為包含3個0時,該快取線才被視為可在極低操作電壓下使用的快取線。在此種情形中,d位元的故障是非常不可能的,這是因為所有三個位元都故障了才會發生d位元的故障。
第3A及3B圖是根據某些實施例而分別在製造及開機自我測試(Power-On Self-Test;簡稱POST)期間用於d位元測試之電壓分類狀態圖。更具體而言,可以兩種方式中之一種方式進行電壓分類。第一,如第3A圖所示,可在製造處理器時,執行電壓分類。因為d位元縱然在發生了一電源週期之後也要保持有效,所以該等d位元被儲存在熔絲(fuse)、或諸如基本輸入/輸出系統(Basic Input/Output System;簡稱BIOS)記憶體等的某一其他類型之非揮發性記憶體、或封裝內建的快閃記憶體。一種替代方式是將該等d位元儲存在被包含在與一快取線相關聯的標記或狀態位元(例如,被修改的-唯一的-共用的-無效的(Modified-Exclusive-Shared-Invalid;簡稱MESI)位元)中之一額外的位元。以此種方式儲存該等d位元時,要求每一次功率下降(power down)之後接續一新的電壓分類,以便重新產生該等d位元。該方法也要求處理器能夠在低電壓下於該處理器內部對其記憶體結構執行一記憶體測試。達到此目的之一種方式是利用第3B圖所示之POST(以便設定適當的d位元)。更具體而言,第3B圖示出:在POST設定該等d位元以及在每一電源週期之後重新產生該等d位元時,具有高頻率模式(High Frequency Mode;簡稱HFM)、低頻率模式(Low Frequency Mode;簡稱LFM)、ULPM、及關閉這四種不同狀態的一處理器如何可在該等狀態之間轉變。此外,在每一次自關閉狀態轉變到該等三個供電狀態中之一供電狀
態之後都接續執行一POST。
如參照第2A至3B圖所述的,可針對不同的效能等級以不同的容量設定一快取記憶體之組態,並且針對不同的電力預算以不同的Vccmin設定此快取記憶體之組態。此外,某些實施例可設計出針對具有不同功率要求的市場之各部分。此種方式將可藉由設計出適應較寬廣市場範圍的較少產品,因而降低成本。
在一實施例中,使用有故障的快取條目(cache entry)之無故障的位元,而不是捨棄整個條目。此外,為了在快取記憶體中啟用低Vccmin操作,將容忍因較低Vcc而造成的中等程度之故障位元率。可延伸此方法,以便提供高效能可預測性,因而保證兩個處理器將相同的效能提供給任何給定的程式。效能變化性係基於不同的晶片樣本可能有不同的故障位置,且因而對效能有不同的影響。
第4A圖示出根據一實施例的一快取記憶體中之一讀取操作之一示意圖。所示之該快取記憶體是二路集合關聯式快取記憶體,且每一快取線具有四個子區塊。在一實施例中,每一快取線延伸了幾個位元,且可連同快取標記而儲存這幾個位元(例如,在第4A圖中,連同標記1而儲存位元1011,或連同標記2而儲存位元0111)。每一快取線在邏輯上被分割為一些子區塊。這些子區塊的大小可使一快取線的最小部分與其本身的同位核對或錯誤更正碼(Error Correction Code;簡稱ECC)保護匹配。例如,
其內容在64位元的分割程度下受到ECC保護且其快取線有這些子區塊中之8個子區塊的一DL0快取記憶體將使用8個額外的位元,以便指示每一子區塊是否可被使用。除了對應的子區塊有超過容許的故障位元之額外的位元之外,其他所有的額外的位元都被設定。例如,具有兩個故障位元的受單錯更正雙錯偵測(Single Error Correction,Double Error Detection;簡稱SECDED)保護之區塊應使其對應的位元被重定。
第4A圖所示之快取記憶體係以下文所述之方式操作。於執行一存取時,讀取標記402及403,且需要時自集合404中之所有快取線擷取資料。請注意,位址偏移值指示需要哪些子區塊。偏移值406被用來揀選對應於該集合中之每一快取線需要的子區塊之位元。將快取標記與被要求的位址比較(例如,由比較器408及410執行比較)。在某些情況中,可能有一標記命中411(基於"及"閘414及422的輸出經由"或"閘412而輸出該標記命中411),但是對應於該子區塊之額外的位元可能指示該子區塊是故障的。在此種情形中,將有一假命中418(例如,基於"及"閘416及424的輸出經由"或"閘420而輸出該假命中418)。可以下文所述之方式應付此種情況:
(i)因為資料並未出現,所以回報一未命中。
(ii)剔除該快取線,且在回寫式快取記憶體(write-back cache)的各上方快取階層中更新被修改的資料(dirty data)。請注意,只有那些有效的子區塊需要被更
新。直寫式快取記憶體(write-through cache)針對載入操作而取得被剔除的快取線,且針對儲存操作而更新各上方快取階層。
(iii)將該快取線標示為該集合中之最近最多使用的(MRU)快取線,使得自上方快取階層要求資料時,將該資料分配到極可能有用來存放所需資料的一無故障區塊之一不同的快取線。在被選擇的該快取線之相同位置上有故障子區塊之不太可能的情形中,重複該程序,因而若該集合中至少有一快取線具有該所需位置上之一無故障子區塊,則將找到該快取線。唯有無法接受的高故障位元率(例如,基於一給定設計下的一臨界值)將造成一給定集合中之各快取線內的相同位置上之所有子區塊都發生故障。
因此,在一實施例中,存取快取記憶體時,可能命中標記,但卻被視為未命中,這是因為一或多個額外的位元將快取線的該部分識別為有缺陷的。請注意,可以有一種使用一d位元而以諸如前文所述之方式停用任何快取線之方式。可將此種機制用來防止使用具有故障標記、故障有效位元、或故障被修改的位元(dirty bit)之快取線。在一實施例中,如果該等額外的位元是故障的,則將快取線標示為故障的快取線。此外,於高Vcc操作期間,可諸如藉由將所有該等額外的位元設定為“1”,或簡單地不理會這些位元,而跳過第4A圖所示之該等額外的機制(例如,該等額外的位元、比較邏輯、以及相關聯的"及"閘及
"或"閘)。
第4B圖是根據一實施例的位址重新映射邏輯之一方塊圖。為了應付效能變化性,可(諸如以循環之方式)使用動態位址重新映射,因而一給定位址在不同的時間間隔中被映射到不同的快取集合。在此種方式下,若已知一程式及一故障位元率,則不論故障位元位於何處,一處理器與另一處理器之間幾乎不會有效能上的改變。
如第4B圖所示,可使用一N位元計數器452,其中N可以是1與識別快取集合所需的位元數間之任何值。例如,在具有64位元組/快取線的32KB之8路快取記憶體中,有64個集合,因而可以6位元建立該等64個集合之索引。因此,具有6位元或較少位元的一計數器是足夠的。在所示之特定實施方式中,使用了一個4位元計數器452。定期地或隨時地(例如,每隔1千萬個週期)更新該計數器。"互斥或"閘454以逐位元之方式執行該計數器的該等N個位元與用來索引到集合的該等位元中之N個位元間之互斥或運算。因此,在一實施例中,一給定位址可在不同的時間中被映射到不同的快取集合。
此外,可在快取記憶體存取時或位址計算時執行位址重新映射。延遲的影響應是小的,這是因為加入了單一的"互斥或"閘位準,且該等輸入中之一半的輸入(來自該計數器的輸入)被預先設定了。在一實施例中,於更新計數器時,清除快取記憶體的內容,以避免不一致。然而,該計數器可能很少被更新,因而對效能的影響是可以忽略
的。此外,只須制止該計數器的更新,即可在高Vcc操作中停止啟動第4B圖所示之機制。
第5圖是根據本發明的一實施例而在低電壓操作期間停用一快取記憶體的一部分的一方法500之一流程圖。在某些實施例中,可將參照第1-4圖以及第6-7圖所述的各組件用來執行參照第5圖所述之一或多個操作。
請參閱第1-5圖,在一操作502中,決定是否(由諸如邏輯202或第4A圖所示之邏輯)接收到或偵測到對一快取記憶體的一部分之一存取要求。如果接收到存取要求,則操作504以諸如前文中參照第1-4B圖所述之方式決定該快取部分是否可在Vccmin或低於Vccmin下操作。如果操作504的決定是否定的,則操作506(以諸如前文中參照第1-4B圖所述之方式)送回一未命中訊息。如果操作504的決定是肯定的,則操作508(以諸如前文中參照第1-4B圖所述之方式)送回一命中訊息。
第6圖是根據本發明的一實施例的一運算系統600之一方塊圖。運算系統600可包含經由一互連網路(或匯流排)604而進行通訊之一或多個中央處理單元(CPU)或處理器602。處理器602可包括一般用途處理器、(處理經由一電腦網路603傳送的資料之)一網路處理器、或其他類型之處理器(包括精簡指令集電腦(Reduced Instruction Set Computer;簡稱RISC)處理器及複雜指令集電腦(Complex Instruction Set Computer;簡稱CISC)處理器)。此外,處理器602可具有單一或多個核心的設
計。具有多個核心設計之處理器602可將不同類型的處理器核心整合到相同的積體電路(IC)晶粒中。此外,可將具有多個核心設計之處理器602實施為對稱式或非對稱式多處理器。在一實施例中,一或多個處理器602可相同於或類似於第1圖所示之處理器102。例如,一或多個處理器602可包含前文中參照第1-5圖所述之一或多個快取記憶體。此外,系統600的一或多個組件可執行前文中參照第1-5圖所述之操作。
一晶片組606亦可與互連網路604通訊。晶片組606可包含一記憶體控制集線器(Memory Control Hub;簡稱MCH)608。MCH 608可包含與一記憶體612(記憶體612可相同於或類似於第1圖所示之記憶體114)通訊之一記憶體控制器610。記憶體612可儲存可被CPU 602或運算系統600中包含的任何其他裝置執行的其中包括指令序列之資料。在本發明的一實施例中,記憶體612可包含一或多個諸如隨機存取記憶體(RAM)、動態隨機存取記憶體(DRAM)、同步動態隨機存取記憶體(Synchronous DRAM;簡稱SDRAM)、靜態機存取記憶體(Static RAM;簡稱SRAM)、或其他類型的儲存裝置等的揮發性儲存(或記憶體)裝置。亦可使用諸如硬碟等的非揮發性記憶體。諸如多個CPU及(或)多個系統記憶體等的額外之裝置可經由互連網路604而通訊。
MCH 608亦可包含與一顯示裝置616通訊之一圖形介面614。在本發明的一實施例中,圖形介面614可經由一
加速圖形埠(Accelerated Graphics Port;簡稱AGP)而與顯示裝置616通訊。在本發明的一實施例中,顯示器616(諸如一平板顯示器)可經由諸如一信號轉換器而與圖形介面614通訊,該信號轉換器將諸如視訊記憶體或系統記憶體等的一儲存裝置中儲存的影像之數位表示法轉換為將被該顯示器616解譯及顯示之顯示信號。該顯示裝置產生之該等顯示信號可先通過各種控制裝置,然後才被顯示器616解譯且隨即在該顯示器上顯示。
一控制集線器介面618可讓MCH 608與一輸入/輸出控制集線器(Input/output Controller Hub;簡稱ICH)620通訊。ICH 620可將一介面提供給與運算系統600通訊之一些輸入/輸出(I/O)裝置。ICH 620可經由諸如一周邊組件互連(Peripheral Component Interconnect;簡稱PCI)橋接器、通用序列匯流排(Universal Serial Bus;簡稱USB)控制器、或其他類型的周邊組件橋接器或控制器等的一周邊組件橋接器(或控制器)624而與一匯流排622通訊。橋接器624可提供CPU 602與各周邊裝置間之一資料路徑。可使用其他類型的拓撲。此外,多個匯流排可諸如經由多個橋接器或控制器而與ICH 620通訊。此外,在本發明的各實施例中,與ICH 620通訊的其他周邊組件可包括整合式磁碟電子介面(Integrated Drive Electronics;簡稱IDE)或小型電腦系統介面(Small Computer System Interface;簡稱SCSI)硬碟機、USB埠、鍵盤、滑鼠、平行埠、序列埠、軟碟機、或數位輸出
支援(例如,數位視訊介面(Digital Video Interface;簡稱DVI)、或其他裝置。
匯流排622可與一音訊裝置626、一或多個磁碟機628、以及一網路介面裝置630(該網路介面裝置630與電腦網路603通訊)。其他的裝置亦可與匯流排622通訊。此外,在本發明之某些實施例中,各種組件(例如,網路介面裝置630)可與MCH 608通訊。此外,處理器602及第6圖所示之其他組件(其中包括(但不限於)MCH 608、MCH 608的一或多個組件等的組件)可被結合,而形成一單晶片。此外,在本發明之其他實施例中,一圖形加速器可被包含在MCH 608內。
此外,運算系統600可包含揮發性及(或)非揮發性記憶體(或儲存器)。例如,非揮發性記憶體可包括下列各項中之一或多項:唯讀記憶體(Read Only Memory;簡稱ROM)、可程式唯讀記憶體(Programmable ROM;簡稱PROM)、可抹除可程式唯讀記憶體(Erasable PROM;簡稱EPROM)、電氣可抹除可程式唯讀記憶體(Electrically EPROM;簡稱EEPROM)、磁碟機(例如628)、軟碟、唯讀光碟(Compact Disk ROM;簡稱CD-ROM)、數位多功能光碟(Digital Versatile Disk;簡稱DVD)、快閃記憶體、磁光碟、或可儲存電子資料(例如,其中包括指令)的其他類型之非揮發性機器可讀取的媒體。
第7圖示出根據本發明的一實施例而被配置成點對點
(PtP)組態之一運算系統700。第7圖尤其示出以一些點對點介面將處理器、記憶體、及輸入/輸出裝置互連之一系統。系統700的一或多個組件可執行前文中參照第1-6圖所述之操作。
如第7圖所示,系統700可包含數個處理器,而為了顧及圖式的清晰,圖中只示出兩個處理器702及704。處理器702及704可分別包含一區域記憶體控制集線器(MCH)706及708,用以進行與記憶體710及712間之通訊。記憶體710及(或)712可儲存諸如前文中參照第6圖的記憶體612所述之各種資料。
在一實施例中,處理器702及704可以是諸如前文中參照第6圖所述的且包含諸如前文中參照第1-6圖所述的一或多個快取記憶體的該等處理器602中之一處理器。處理器702及704可分別使用點對點介面電路716及718而經由一點對點介面714交換資料。此外,處理器702及704可分別使用點對點介面電路726、728、730、及732而經由個別的點對點介面722及724與一晶片組720交換資料。晶片組720可進一步諸如使用一點對點介面電路737以經由一圖形介面736而與一圖形電路734交換資料。
可在處理器702及704內提供本發明之至少一實施例。例如,可將第1圖所示之一或多個核心106設置在處理器702及704中。然而,本發明的其他實施例可存在於第7圖所示系統700內的其他電路、邏輯單元、或裝置
中。此外,可將本發明的其他實施例分佈在第7圖所示之數個電路、邏輯單元、或裝置中。
晶片組720可使用一點對點介面電路741與一匯流排740通訊。匯流排740可與諸如一匯流排橋接器742及I/O裝置743等的一或多個裝置通訊。匯流排橋接器742可經由一匯流排744而與諸如鍵盤/滑鼠745、通訊裝置746(例如,可經由電腦網路603通訊的數據機、網路介面裝置、或其他的通訊裝置)、音訊I/O裝置747、及(或)資料儲存裝置748等的其他裝置通訊。資料儲存裝置748可儲存處理器702及(或)704可執行的程式碼749。
在本發明之各實施例中,可以硬體(例如,邏輯電路)、軟體、韌體、或以上各項之組合(可以電腦程式產品之形式提供以上各項或其組合,例如,該電腦程式產品包括儲存有用來將電腦程式化成執行本發明中述及的程序的指令(或軟體程序)之機器可讀取的或電腦可讀取的媒體)之方式實施本發明中諸如參照第1-7圖所述之操作。該機器可讀取的媒體可包括諸本發明中述及的儲存裝置等的儲存裝置。
此外,可以電腦程式產品之形式下載此種實體之電腦可讀取的媒體,其中可經由一通訊鏈路(例如,一匯流排、一數據機或一網路連線)且利用傳播媒介中之資料信號而將程式自一遠端電腦(例如,一伺服器)傳輸到提出要求的電腦(例如,一用戶端電腦)。
在本說明書中提及“一個實施例”、“一實施例”或“某些實施例”時意指參照該實施例述及的一特定的特性、結構、或特徵可被包含在至少一實施方式中。在本說明書的各處中出現詞語“在一實施例中”時,可以或可以不參照到相同的實施例。
此外,在說明及申請專利範圍中,可使用術語“被耦合”及“被連接”以及其派生詞。在本發明之某些實施例中,“被連接”可被用來指示兩個或更多個元件相互在實體上或電氣上直接接觸。“被耦合”可意指:兩個或更多個元件在實體上或電氣上直接接觸。然而,“被耦合”亦可意指:兩個或更多個元件可能沒有相互直接接觸,但仍然可相互配合或作用。
因此,雖然已以與結構特徵及(或)方法行動有關的語文說明了本發明之實施例,但是我們應可了解:申請專利範圍的主題可不限於本說明書中述及的該等特定的特徵或行動。更確切地說,係以實施申請專利範圍的主題之樣本形式之方式揭示該等特定的特徵或行動。
106-1‧‧‧處理器核心
116-1‧‧‧第1階快取記憶體
106-2‧‧‧處理器核心
106-M‧‧‧處理器核心
102-1‧‧‧處理器
110‧‧‧路由器
108‧‧‧共用快取記憶體
112‧‧‧匯流排
102-2‧‧‧處理器
102-N‧‧‧處理器
104‧‧‧匯流排
114‧‧‧記憶體
102-3‧‧‧處理器
100‧‧‧運算系統
Claims (8)
- 一種方法,包含:接收對極低功率模式(ULPM)下之複數快取線集合之一快取線集合的存取要求,其中該ULPM係使用極低電壓位準來存取快取線,以低於該快取之所有記憶單元可以可靠地操作之一最小電壓位準;至少部分地根據相應於第一路之快取線的一或更多停用位元來決定該快取線集合之該第一路的該快取線是否可在該ULPM下操作;至少部分地回應於該快取線集合之該第一路的該快取線是否被決定為不可在該ULPM下操作而送回一未命中訊息;及至少部分地回應於該快取線集合之該第一路的該快取線是否被決定為可在該ULPM下操作而送回一命中訊息。
- 如申請專利範圍第1項之方法,進一步包含:接收進入ULPM之要求;及回應於該快取線集合之該第一路被決定為不可在該ULPM下操作而清除該快取線集合之該第一路的該快取線。
- 如申請專利範圍第1項之方法,進一步包含:接收進入ULPM之要求;及回應於該快取線集合之該第一路被決定為可在該ULPM下操作而不清除該快取線集合之該第一路的該快取線。
- 如申請專利範圍第3項之方法,進一步包含測試快取的部分,而決定該快取的該部分是否可在該極低電壓位準下操作,其中係於製造或開機自我測試(POST)期間執行該測試。
- 如申請專利範圍第4項之方法,進一步包含回應於該測試而更新該一或多個位元。
- 一種用以於低電壓操作期間停用快取部分的運算系統,該系統包含:用以儲存指令之記憶體;及用以執行該指令之處理器核心,該處理器核心包含:具有複數快取線集合之快取;置換邏輯,用以偵測對極低功率模式(ULPM)下之快取線集合的存取,及用以根據相應於未被設為將其停用之一快取線的一或更多停用位元而剔除該ULPM下之該快取線集合的該快取線,但根據相應於被設為將其停用在該ULPM下之一快取線的一或更多停用位元而不剔除該ULPM下之該快取線集合的該快取線,其中該ULPM係使用極低電壓位準來存取快取線,以低於該快取之所有記憶單元可靠地操作之一最小電壓位準的電壓;及開機自我測試(POST)邏輯,用以測試該快取線集合而決定該快取線集合之各快取線是否可在該極低電壓位準下操作。
- 如申請專利範圍第6項之系統,其中該快取包含第 1階快取、中間階快取、或最後階快取。
- 如申請專利範圍第6項之方法,進一步包含耦合至該處理器核心之音訊裝置。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/242,321 US8103830B2 (en) | 2008-09-30 | 2008-09-30 | Disabling cache portions during low voltage operations |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201627811A TW201627811A (zh) | 2016-08-01 |
TWI592795B true TWI592795B (zh) | 2017-07-21 |
Family
ID=42058825
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102139291A TWI525426B (zh) | 2008-09-30 | 2009-09-25 | 於低電壓操作期間之快取部分的停用 |
TW104144482A TWI592795B (zh) | 2008-09-30 | 2009-09-25 | 於低電壓操作期間之快取部分的停用 |
TW098132516A TWI420294B (zh) | 2008-09-30 | 2009-09-25 | 於低電壓操作期間之快取部分的停用 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102139291A TWI525426B (zh) | 2008-09-30 | 2009-09-25 | 於低電壓操作期間之快取部分的停用 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098132516A TWI420294B (zh) | 2008-09-30 | 2009-09-25 | 於低電壓操作期間之快取部分的停用 |
Country Status (7)
Country | Link |
---|---|
US (2) | US8103830B2 (zh) |
JP (3) | JP5479479B2 (zh) |
KR (1) | KR101252367B1 (zh) |
CN (2) | CN103455441B (zh) |
BR (1) | BRPI0913782A2 (zh) |
TW (3) | TWI525426B (zh) |
WO (1) | WO2010039532A2 (zh) |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8307180B2 (en) | 2008-02-28 | 2012-11-06 | Nokia Corporation | Extended utilization area for a memory device |
US8874824B2 (en) | 2009-06-04 | 2014-10-28 | Memory Technologies, LLC | Apparatus and method to share host system RAM with mass storage memory RAM |
US8341355B2 (en) * | 2010-05-25 | 2012-12-25 | International Business Machines Corporation | Reducing energy consumption of set associative caches by reducing checked ways of the set association |
US8631198B2 (en) * | 2010-08-06 | 2014-01-14 | Seagate Technology Llc | Dynamic cache reduction utilizing voltage warning mechanism |
JP2013003793A (ja) * | 2011-06-15 | 2013-01-07 | Toshiba Corp | マルチコアプロセッサシステムおよびマルチコアプロセッサ |
US8700972B2 (en) | 2011-08-17 | 2014-04-15 | Broadcom Corporation | Adaptive ultra-low voltage memory |
US8700864B2 (en) | 2011-11-11 | 2014-04-15 | Microsoft Corporation | Self-disabling working set cache |
US9830272B2 (en) | 2011-12-28 | 2017-11-28 | Intel Corporation | Cache memory staged reopen |
US9417998B2 (en) | 2012-01-26 | 2016-08-16 | Memory Technologies Llc | Apparatus and method to provide cache move with non-volatile mass memory system |
US9311226B2 (en) * | 2012-04-20 | 2016-04-12 | Memory Technologies Llc | Managing operational state data of a memory module using host memory in association with state change |
US8943274B2 (en) | 2012-05-22 | 2015-01-27 | Seagate Technology Llc | Changing power state with an elastic cache |
US9275696B2 (en) | 2012-07-26 | 2016-03-01 | Empire Technology Development Llc | Energy conservation in a multicore chip |
US9256544B2 (en) * | 2012-12-26 | 2016-02-09 | Advanced Micro Devices, Inc. | Way preparation for accessing a cache |
WO2014142852A1 (en) | 2013-03-13 | 2014-09-18 | Intel Corporation | Vulnerability estimation for cache memory |
US9223710B2 (en) | 2013-03-16 | 2015-12-29 | Intel Corporation | Read-write partitioning of cache memory |
US9176895B2 (en) | 2013-03-16 | 2015-11-03 | Intel Corporation | Increased error correction for cache memories through adaptive replacement policies |
US9360924B2 (en) * | 2013-05-29 | 2016-06-07 | Intel Corporation | Reduced power mode of a cache unit |
WO2015016926A1 (en) * | 2013-07-31 | 2015-02-05 | Hewlett-Packard Development Company, L.P. | Versioned memory implementation |
US10204056B2 (en) * | 2014-01-27 | 2019-02-12 | Via Alliance Semiconductor Co., Ltd | Dynamic cache enlarging by counting evictions |
US9626297B2 (en) | 2014-10-08 | 2017-04-18 | Wisconsin Alumni Research Foundation | Memory fault patching using pre-existing memory structures |
US10073786B2 (en) | 2015-05-28 | 2018-09-11 | Micron Technology, Inc. | Apparatuses and methods for compute enabled cache |
US9959075B2 (en) | 2015-08-05 | 2018-05-01 | Qualcomm Incorporated | System and method for flush power aware low power mode control in a portable computing device |
CN111471961A (zh) | 2015-09-11 | 2020-07-31 | 学校法人冲绳科学技术大学院大学学园 | 形成无铅钙钛矿膜的方法和包含该无铅钙钛矿膜的太阳能电池装置 |
US10185619B2 (en) * | 2016-03-31 | 2019-01-22 | Intel Corporation | Handling of error prone cache line slots of memory side cache of multi-level system memory |
US10318428B2 (en) | 2016-09-12 | 2019-06-11 | Microsoft Technology Licensing, Llc | Power aware hash function for cache memory mapping |
US10241561B2 (en) | 2017-06-13 | 2019-03-26 | Microsoft Technology Licensing, Llc | Adaptive power down of intra-chip interconnect |
US10884940B2 (en) * | 2018-12-21 | 2021-01-05 | Advanced Micro Devices, Inc. | Method and apparatus for using compression to improve performance of low voltage caches |
US11106594B2 (en) | 2019-09-05 | 2021-08-31 | Advanced Micro Devices, Inc. | Quality of service dirty line tracking |
CN111930575B (zh) * | 2020-07-01 | 2024-06-18 | 联想(北京)有限公司 | 一种固件获取方法、装置及电子设备 |
US11720444B1 (en) * | 2021-12-10 | 2023-08-08 | Amazon Technologies, Inc. | Increasing of cache reliability lifetime through dynamic invalidation and deactivation of problematic cache lines |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01255944A (ja) * | 1988-04-05 | 1989-10-12 | Mitsubishi Electric Corp | キャッシュメモリ |
JPH0291742A (ja) * | 1988-09-29 | 1990-03-30 | Toshiba Corp | 仮想アドレスキャッシュ制御方式 |
US5371709A (en) | 1993-04-01 | 1994-12-06 | Microchip Technology Incorporated | Power management system for serial EEPROM device |
JPH0773057A (ja) * | 1993-06-03 | 1995-03-17 | Kano Densan Hongkong Yugenkoshi | 電子機器 |
JP2701703B2 (ja) * | 1993-09-03 | 1998-01-21 | 日本電気株式会社 | キャッシュメモリ |
KR100212420B1 (ko) * | 1995-09-25 | 1999-08-02 | 김영환 | 테스트회로를 내장한 캐쉬 스태틱램 |
JP2000010668A (ja) * | 1998-06-18 | 2000-01-14 | Hitachi Ltd | メモリカード供給電圧制御方式 |
US6845432B2 (en) | 2000-12-28 | 2005-01-18 | Intel Corporation | Low power cache architecture |
US20020103977A1 (en) | 2001-01-30 | 2002-08-01 | Andy Ewoldt | Low power consumption cache memory structure |
CN1482546A (zh) * | 2002-09-10 | 2004-03-17 | 连邦科技股份有限公司 | 免充电式超低功率虚拟动态随机存取内存 |
US7127560B2 (en) * | 2003-10-14 | 2006-10-24 | International Business Machines Corporation | Method of dynamically controlling cache size |
US7221613B2 (en) * | 2004-05-26 | 2007-05-22 | Freescale Semiconductor, Inc. | Memory with serial input/output terminals for address and data and method therefor |
US20060005053A1 (en) * | 2004-06-30 | 2006-01-05 | Jones Oscar F Jr | Cache and tag power-down function during low-power data retention standby mode technique for cached integrated circuit memory devices |
JP4676723B2 (ja) * | 2004-07-30 | 2011-04-27 | 富士通株式会社 | キャッシュメモリ、プロセッサ、キャッシュメモリの製造方法、プロセッサの製造方法 |
JP2006120098A (ja) * | 2004-10-25 | 2006-05-11 | Toshiba Microelectronics Corp | キャッシュメモリ装置およびその管理方法 |
EP1849082B1 (en) * | 2005-02-07 | 2013-08-21 | ST-Ericsson SA | Data processing system and method of cache replacement |
US7620778B2 (en) | 2005-05-25 | 2009-11-17 | Qualcomm Incorporated | Low power microprocessor cache memory and method of operation |
US20060280019A1 (en) * | 2005-06-13 | 2006-12-14 | Burton Edward A | Error based supply regulation |
US7809890B2 (en) * | 2005-07-06 | 2010-10-05 | Kabushiki Kaisha Toshiba | Systems and methods for increasing yield of devices having cache memories by inhibiting use of defective cache entries |
US7904658B2 (en) * | 2005-11-30 | 2011-03-08 | International Business Machines Corporation | Structure for power-efficient cache memory |
US7512029B2 (en) * | 2006-06-09 | 2009-03-31 | Micron Technology, Inc. | Method and apparatus for managing behavior of memory devices |
US20080010566A1 (en) | 2006-06-21 | 2008-01-10 | Chang Tsung-Yung Jonathan | Disabling portions of memory with non-deterministic errors |
US7657708B2 (en) | 2006-08-18 | 2010-02-02 | Mips Technologies, Inc. | Methods for reducing data cache access power in a processor using way selection bits |
US7650465B2 (en) | 2006-08-18 | 2010-01-19 | Mips Technologies, Inc. | Micro tag array having way selection bits for reducing data cache access power |
US7941683B2 (en) | 2007-05-02 | 2011-05-10 | Advanced Micro Devices, Inc. | Data processing device with low-power cache access mode |
US8868836B2 (en) * | 2007-12-31 | 2014-10-21 | Intel Corporation | Reducing minimum operating voltage through hybrid cache design |
US8156357B2 (en) * | 2009-01-27 | 2012-04-10 | Freescale Semiconductor, Inc. | Voltage-based memory size scaling in a data processing system |
US20100228922A1 (en) * | 2009-03-09 | 2010-09-09 | Deepak Limaye | Method and system to perform background evictions of cache memory lines |
-
2008
- 2008-09-30 US US12/242,321 patent/US8103830B2/en not_active Expired - Fee Related
-
2009
- 2009-09-23 KR KR1020117007404A patent/KR101252367B1/ko not_active IP Right Cessation
- 2009-09-23 JP JP2011528093A patent/JP5479479B2/ja active Active
- 2009-09-23 BR BRPI0913782A patent/BRPI0913782A2/pt not_active IP Right Cessation
- 2009-09-23 WO PCT/US2009/058026 patent/WO2010039532A2/en active Application Filing
- 2009-09-25 TW TW102139291A patent/TWI525426B/zh not_active IP Right Cessation
- 2009-09-25 TW TW104144482A patent/TWI592795B/zh not_active IP Right Cessation
- 2009-09-25 TW TW098132516A patent/TWI420294B/zh not_active IP Right Cessation
- 2009-09-30 CN CN201310376165.4A patent/CN103455441B/zh not_active Expired - Fee Related
- 2009-09-30 CN CN2009102227004A patent/CN101714106B/zh not_active Expired - Fee Related
-
2011
- 2011-12-31 US US13/342,016 patent/US8291168B2/en not_active Expired - Fee Related
-
2013
- 2013-10-25 JP JP2013222377A patent/JP5681778B2/ja not_active Expired - Fee Related
-
2015
- 2015-01-09 JP JP2015002760A patent/JP6124366B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015092397A (ja) | 2015-05-14 |
TWI525426B (zh) | 2016-03-11 |
KR20110061598A (ko) | 2011-06-09 |
JP6124366B2 (ja) | 2017-05-10 |
US20120110266A1 (en) | 2012-05-03 |
WO2010039532A3 (en) | 2010-07-01 |
TW201423371A (zh) | 2014-06-16 |
JP5479479B2 (ja) | 2014-04-23 |
BRPI0913782A2 (pt) | 2019-09-24 |
CN101714106B (zh) | 2013-09-25 |
TW201627811A (zh) | 2016-08-01 |
TWI420294B (zh) | 2013-12-21 |
CN103455441B (zh) | 2016-08-24 |
US8103830B2 (en) | 2012-01-24 |
CN101714106A (zh) | 2010-05-26 |
JP2012503263A (ja) | 2012-02-02 |
KR101252367B1 (ko) | 2013-04-08 |
WO2010039532A2 (en) | 2010-04-08 |
JP2014041647A (ja) | 2014-03-06 |
CN103455441A (zh) | 2013-12-18 |
US20100082905A1 (en) | 2010-04-01 |
US8291168B2 (en) | 2012-10-16 |
JP5681778B2 (ja) | 2015-03-11 |
TW201028839A (en) | 2010-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI592795B (zh) | 於低電壓操作期間之快取部分的停用 | |
US10528473B2 (en) | Disabling cache portions during low voltage operations | |
US8417891B2 (en) | Shared cache memories for multi-core processors | |
US7430145B2 (en) | System and method for avoiding attempts to access a defective portion of memory | |
KR100273907B1 (ko) | 컴퓨터에 의해 사용되는 캐쉬내의 결함을 제거하기 위한 방법 | |
US20120072768A1 (en) | Dynamic physical memory replacement through address swapping | |
US9720847B2 (en) | Least recently used (LRU) cache replacement implementation using a FIFO storing indications of whether a way of the cache was most recently accessed | |
US8291259B2 (en) | Delete of cache line with correctable error | |
US9424195B2 (en) | Dynamic remapping of cache lines | |
WO2013095533A1 (en) | Fault-aware mapping for shared last level cache (llc) | |
WO2016191016A1 (en) | Managing sectored cache | |
JP2013196393A (ja) | 演算処理装置及び演算処理装置の制御方法 | |
JPH10320280A (ja) | キャッシュに値を格納する方法及びコンピュータ・システム | |
KR100297914B1 (ko) | 스누핑장치를위한다중캐쉬디렉토리 | |
US9141552B2 (en) | Memory using voltage to improve reliability for certain data types |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |