CN103455441B - 在低电压操作期间禁用高速缓存部分 - Google Patents

在低电压操作期间禁用高速缓存部分 Download PDF

Info

Publication number
CN103455441B
CN103455441B CN201310376165.4A CN201310376165A CN103455441B CN 103455441 B CN103455441 B CN 103455441B CN 201310376165 A CN201310376165 A CN 201310376165A CN 103455441 B CN103455441 B CN 103455441B
Authority
CN
China
Prior art keywords
cache line
cache
ulpm
line set
processor
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
CN201310376165.4A
Other languages
English (en)
Other versions
CN103455441A (zh
Inventor
C.威尔克森
M.M.克拉
V.德
M.张
J.阿韦拉
卡萨多 J.卡雷特罗
J.卡雷特罗卡萨多
蒙费雷尔 P.查帕罗
P.查帕罗蒙费雷尔
X.贝拉
A.冈萨莱斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN103455441A publication Critical patent/CN103455441A/zh
Application granted granted Critical
Publication of CN103455441B publication Critical patent/CN103455441B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • 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/0893Caches characterised by their organisation or structure
    • G06F12/0895Caches characterised by their organisation or structure of parts of caches, e.g. directory or tag array
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3275Power saving in memory, e.g. RAM, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • 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
    • 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/0864Addressing 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)

Abstract

本发明的名称为在低电压操作期间禁用高速缓存部分,描述了涉及在低电压操作期间禁用一个或多个高速缓存部分的方法和装置。在一些实施方式中,用于部分高速缓存的一个或多个附加位,指示所述部分高速缓存在Vccmin电平或小于Vccmin电平是否可操作。也描述并请求保护了其他实施方式。

Description

在低电压操作期间禁用高速缓存部分
本申请是申请号为200910222700.4、申请日为2009年9月30日、发明名称为“在低电压操作期间禁用高速缓存部分”的发明专利申请的分案申请。
技术领域
本公开通常涉及电子领域。更具体地说,本发明的实施方式涉及在低电压操作期间禁用一个或多个高速缓存部分。
背景技术
现在的海量生产硅可能遭遇许多制造诱发的参数变异。这些变异可能在制造各种类型的存储单元时造成问题。这些变异是造成称为Vccmin的现象的原因,Vccmin确定这些存储单元能可靠地操作的最小电压。由于典型的微处理器包括许多采用各种类型的存储单元实施的结构,因此这些结构典型地确定所述微处理器作为整体能可靠地操作的最小电压。由于可有效地使用电压调节来降低微处理器所消耗的电力,因此Vccmin变成在低电压下采用特定设计的障碍。
发明内容
本发明的一方面在于一种处理器,包括:高速缓存,所述高速缓存具有多个高速缓存线集合;置换逻辑,所述置换逻辑用于在超低功率模式(ULPM)中检测对高速缓存线集合的访问,并且用于在所述ULPM中至少部分基于对应于所述高速缓存线集合的第一路的高速缓存线的一个或更多的禁用位来逐出所述第一路的所述高速缓存线,但是并不用于在所述ULPM中至少部分基于对应于所述高速缓存线集合的第二路的高速缓存线的一个或更多的禁用位来逐出所述第二路的所述高速缓存线,其中所述ULPM使用超低电压电平来以低于所述高速缓存的所有存储单元可靠地操作所处的最小电压电平的电压访问高速缓存线。
本发明的另一方面在于一种用于低功率操作的计算系统,包括:存储器,所述存储器用于存储指令;以及处理器,所述处理器用于执行所述指令,所述处理器包括:高速缓存,所述高速缓存在操作时耦合到所述存储器,所述高速缓存具有多个高速缓存线集合;置换逻辑,所述置换逻辑用于在超低功率模式(ULPM)中检测对所述多个高速缓存线集合中的高速缓存线集合的访问,并且用于在所述ULPM中至少部分基于对应于所述高速缓存线集合的第一路的高速缓存线的一个或更多的禁用位来允许访问所述第一路的所述高速缓存线,但是并不用于在所述ULPM中至少部分基于对应于所述高速缓存线集合的第二路的高速缓存线的一个或更多的禁用位来允许访问所述第二路的所述高速缓存线,其中所述ULPM使用超低电压电平来在或低于所述高速缓存的所有存储单元可以可靠地操作所处的最小电压电平访问高速缓存线。
本发明的又一方面在于一种用于超低电压高速缓存操作的装置,包括:高速缓存,所述高速缓存具有多个高速缓存线集合;置换逻辑电路,其用于检测对所述高速缓存的线集合的访问且基于一个或多个对应于所述高速缓存的所述线集合的位来确定所述高速缓存的所述线集合的一个或多个高速缓存线在超低电压电平是否可操作,其中所述超低电压电平在最小电压电平或低于最小电压电平,且所述最小电压电平对应于所述高速缓存的所有存储单元能可靠地操作的电压电平。
本发明的再一方面在于一种用于在超低电压操作高速缓存的方法,包括:接收访问高速缓存的线集合的请求;确定所述高速缓存是否要在超低电压电平操作,所述超低电压电平在最小电压电平或小于最小电压电平,其中所述最小电压电平对应于所述高速缓存的所有存储单元能可靠地操作的电压;基于一个或多个对应于所述高速缓存的所述线集合的位,确定所述高速缓存的所述线集合的一个或多个高速缓存线在所述超低电压电平是否可操作。
本发明的又一方面在于一种用于低功率操作的计算系统,包括:存储器,用于存储指令;以及处理器核,用于执行所述指令,所述处理器核包括用于检测对高速缓存的线集合的访问并且基于一个或多个对应于所述高速缓存的所述线集合的位来确定所述高速缓存的所述线集合的一个或多个高速缓存线在超低电压电平是否可操作的置换逻辑电路,其中所述超低电压电平在最小电压电平或小于最小电压电平,且所述最小电压电平对应于所述高速缓存的全部存储单元能可靠地操作的电压电平。
附图说明
参照附图进行详细的说明。在附图中,附图标记的最左边数字标识该附图标记在其中首次出现的附图。在不同附图中使用相同的附图标记指示类似或相同的项。
图1、6和7图示了计算系统的实施方式的方框图,其可用来实施本文所讨论的各种实施方式。
图2A和2B图示了根据一些实施方式的高速缓存实施方式。
图3A和3B图示了根据一些实施方式的用于禁用位测试的电压分选(voltage sorting)状态图。
图4A图示了根据一实施方式的高速缓存中读操作的示意图。
图4B图示了根据一实施方式的地址重映射逻辑的方框图。
图5图示了根据本发明一实施方式的方法的流程图。
具体实施方式
在下列说明中,为了详尽地理解各种实施方式,提出多个具体细节。然而,可在没有所述具体细节的情况下,实施本发明的各种实施方式。在其它实例中,为了不模糊本发明的特定实施方式,不对熟知的方法、过程、组件和电路进行详细描述。此外,可利用诸如集成半导体电路(“硬件”)、组织成一个或多个程序的计算机可读指令(“软件”)或硬件及软件的某种组合之类的各种方式,来执行本发明的实施方式的各个方面。为了本公开的目的,提到“逻辑”将意味着硬件、软件或其某种组合。此外,即使本文讨论的一些实施方式可分别认为设置值或清除值为逻辑0和1,这些术语也可例如取决于实施来互换。
提供一些实施方式用于在低电压操作期间禁用一个或多个高速缓存部分(例如高速缓存线或高速缓存线的子块)。克服(上面讨论的)Vccmin障碍可允许存储器设备在Vccmin电平或其之下操作,这样降低了功率消耗,例如导致移动计算设备中的电池寿命的增加。此外,在一些实施方式中,在低电压操作期间,通过将高速缓存中存储单元的操作保持在比高速缓存线更低的粒度,可减轻性能损失。此外,本发明的一种实施方式将存储单元电压保持在某电压电平,从而使得该单元例如在Intel®用文献提供的(documented)可靠性标准中所保证的条件下,可靠地将所存储的信息保留一段时间。一般来说,当存储单元在给定电压电平通过一组测试时,它们被认为在这样的电压电平能可靠地操作。这些测试可评估存储单元的读、写和保持能力。例如,仅那些测试期间未观测到错误的单元被认为是可靠的。
在一种实施方式中,在超低操作电压(ULOV)下的操作期间,例如基于确定(诸如由对应于所述一个或多个高速缓存线的位值所指示)在ULOV下所述一个或多个高速缓存线是不起作用的(或不能可靠地操作),可禁用一个或多个高速缓存线。ULOV可以是比大约750 mV(本文可称作“最小电压电平”)的一些其它当前低电压电平更低的电平,例如大约150 mV。在一种实施方式中,响应于确定一个或多个不能在ULOV下操作的高速缓存线已被转储清除(flushed)(例如,如果必需,则使其无效和/或写回到诸如主存储器之类的其它存储器设备中),处理器可转换到超低功率模式(ULPM)(例如在ULOV下操作)。
在一种实施方式中,例如在高性能无序处理器中,可减轻由于降低的高速缓存尺寸(作为禁用高速缓存线的结果)而导致的性能损失。例如,在具有性能上相对低的花费、低复杂度和高性能可预见性的情况下,可容忍中等故障位率。在高Vcc操作期间保持性能不受影响的情况下,在Vccmin操作电平范围内或其之下这些解决方案被认为是有效的。在一种实施方式中,对于Vccmin或其之下操作,精细粒度(例如64位)的故障子块可以这样的方式禁用,即,使得具有一个或几个故障子块的高速缓存线仍可使用,并从而降低由于高速缓存线禁用方案而导致的性能开销。此外,通过以这样一种方式循环(rotate)映射到高速缓存线的地址来达到高性能可预见性,这是将芯片归仓(binning chip)的关键,在所述方式下,性能取决于几个高速缓存集合(cache sets)的程序将潜在地以类似方式获得性能突破(performance hit),而与高速缓存中故障子块的位置无关。当在高Vcc下操作时,相信这种技术仅具有很少或不具有性能损失影响。
本文描述的技术可允许在诸如那些例如参照图1-7所讨论设备的各种计算设备中改善性能。更具体地说,图1图示了根据本发明实施方式的计算系统100的方框图。系统100可包括一个或多个处理器102-1到102-N(本文中一般称为“多个处理器102”或“处理器102”)。多个处理器102可经由互联网络或总线104通信。每个处理器可包括各种组件,为了清楚,其中一些组件仅参照处理器102-1来讨论。相应地,剩下的多个处理器102-2到102-N中的每个处理器可包括参照处理器102-1所讨论的相同或类似的组件。
在一种实施方式中,处理器102-1可包括一个或多个处理器核106-1到106-M(本文称为“多个核106”或者更概括地称为“核106”)、共享高速缓存108和/或路由器110。多个处理器核106可实施在单一集成电路(IC)芯片上。此外,所述芯片可包括一个或多个共享和/或私有高速缓存(诸如高速缓存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)或其它高速缓存级)、末级高速缓存(LLC)和/或其组合。而且,处理器102-1的各个组件可通过总线(例如总线112)、和/或存储控制器或集线器,直接和共享高速缓存108通信。如图1所示,在一些实施方式中,所述多个核106中的一个或多个可包括1级(L1)高速缓存(116-1)(本文概括地称为“L1高速缓存116”)和/或L2高速缓存(未示出)。
图2A和2B图示了根据一些实施方式的高速缓存的实施方式。在一些实施方式中,图2A和2B中示出的高速缓存可用作参照本文诸如图1、6或7之类的其它附图讨论的高速缓存。更具体地说,在一些实施方式中,可配置高速缓存可用于计算设备中。这些可配置高速缓存可权衡进行低电压操作的容量。
在一些实施方式中,可使用下列三部分中的一个或多个部分。首先,引入附加的低功率状态(本文称为ULPM),其使用称为ULOV的电压电平。在一种实施方式中,ULOV为大约150mv,小于Vccmin的当前值(我们假设它为大约750mv)。其次,电压分选算法可用来确定在ULOV下哪些高速缓存线起作用。第三,每组高速缓存线都与禁用位或d-位相关联。所述电压分选算法为每组高速缓存线设置d-位,它在超低操作电压下不是完全起作用。
此外,ULPM可被认为是对现有功率状态的扩展。例如,当微处理器转换到超低功率模式时,已设置了d-位的所有高速缓存线将从受转换到较低电压影响的高速缓存中转储清除。如果我们假设在转换后LLC、DCU(L1数据高速缓存)和IFU(L1指令高速缓存)将在ULOV下操作,那么已设置d-位的DCU和ICU中的所有高速缓存线将被转储清除(例如,如果必需,使其无效或写回到存储器114中)。接下来,通过转储清除每个已设置了d-位的高速缓存线,来准备LLC用于ULOV操作。一旦已从系统中清除了所有已设置了d-位的高速缓存线,对应处理器可转换到ULPM。
一般来说,高速缓存组织成多个集合(sets),其中每个集合均由多路组成。每路对应于典型地为32-64字节的单一高速缓存线。当处理器提交地址给高速缓存时,进行高速缓存查找。所述地址可分解成三个部分:线偏移(line offset)、集合选择(set selection)和标记。考虑具有1024个集合的高速缓存设计,每个集合由8路组成,每路由单一64字节线组成。整个高速缓存由512KB的存储(1024*8*64)组成。如果高速缓存设计成处理50位地址,那么按如下对所述高速缓存进行索引。位0-5是在64-字节线中指定所述字节的线偏移。在一些实施方式中,由于可取决于加载/存储指令而访问多个字节,部分地,位0-5可指定起始字节。例如,单一字节(或二字节等)可从所指示字节开始读取,等等。位6-15是指定存储所述线的所述集合的集合选择。剩下的位(16-49)将存储为标记。集合选择位相等的所有高速缓存线将为指定集合中的所述8路之一进行竞争。
在一种实施方式中,一组高速缓存线可与指定在较低电压下所述一组高速缓存线是否起作用的d-位相关联。如图2A和2B所示,除非所述处理器如置换逻辑202所确定地,或者处于ULPM,或者正转换到ULPM,否则d-位没有任何影响。因此,逻辑202可检测对一个或多个高速缓存部分(诸如高速缓存线)的访问,并确定在Vccmin或其之下该高速缓存部分是否是可操作的。在转换到ULPM时,转储清除所有设置了d-位的高速缓存线。这是要防止在转换到ULPM之后的数据损失。在ULPM期间,除了仅与设置为0的d-位相关联的高速缓存线被认为是有效的之外,高速缓存正常地起作用。当在ULPM中搜索集合来找寻地址时,所述d-位防止了与禁用线的错误匹配。即使本文所讨论的实施方式可分别将设置值或清除值称作0和1,这些术语可取决于所述实施来互换。例如,清除d-位可指示禁用一个或多个对应高速缓存线。
此外,当出现高速缓存缺失(cache miss)时,置换逻辑202选择高速缓存线来从高速缓存逐出(evict from)。所述高速缓存线接着用从存储器所取出的新数据来重写。在ULPM中,置换逻辑202(图2B)考虑所述d-位以防止给禁用高速缓存线的分配。通过强制置换过程从而将禁用线视为MRU(最近最多使用)来达到这一点。例如,该基于时期的(age-based)向量置换过程可应用于禁用个体的高速缓存线。在该过程中,扫描位向量(每高速缓存线1位)以及将标记为0的第一线识别为LRU(最近最少使用)并将其置换。通过将与高速缓存线关联的位强制为1,所述线一直被视为MRU且不会被选取用于置换。
至于d-位中的缺陷,在其中d-位影响高速缓存功能的ULPM中,d-位缺陷可以两种方式之一来显现其本身。d-位值0指示了低电压时起作用的高速缓存线。反过来,d-位值1指示了低电压时不起作用的高速缓存线。第一种情况是d-位坚持(stuck at)为1来禁用高速缓存线。在这种情况中,要禁用具有除了损坏的(broken)d-位的所有起作用的位的高速缓存线。这确保了这种情况中的正确功能。第二种情况是d-位坚持为0。由于损坏的d-位不会正确地指示起作用的高速缓存线,因此如果所述线是有缺陷的,那么这是一个问题。为了确保正确的功能,实施方式确保没有任何d-位可错误地坚持为0。解决这一点的一种方式是改变使以这种方式损坏的d-位不太可能的单元设计。第二种方法将增加一个或多个冗余d-位。例如可以使用三个d-位。接着以同样方式写入全部三个位(全1或全0)。如果读取d-位且将所述位中的任意位设置为1,那么它可被视为禁用高速缓存线。仅把可被正确读为包含3个0的d-位视为可在超低操作电压下使用的高速缓存线。在这种情况中,由于为了发生d-位故障必须是三位均出故障,因此d-位故障是极不可能的。
图3A和3B根据一些实施方式分别图示了在制造和POST(加电自检)期间进行d-位测试的电压分选状态图。更具体地说,电压分选可以两种方式之一出现。首先,当如图3A所示制造处理器时可执行电压分选。由于甚至在已出现动力循环之后d-位仍要保持有效,因此d-位存储在熔丝存储器(Fuses)或某种其它类型的诸如BIOS(基本输入输出系统)存储器或封装闪存(on-package flash)之类的非易失性存储器中。备选方式是将d-位存储到附加的位中,所述附加的位包括在与高速缓存线关联的标记或状态位(例如,修改专用共享无效(MESI)位)中。以这种方式存储d-位要求每个功率下降之后都跟随新的电压分选,从而再次产生d-位。这种方法也要求处理器有能力在低电压下实地对其存储器结构执行存储器测试。达到这一点的一种方式要使用图3B所示的POST(从而设置适当的d-位)。更具体地,图3B示出了当d-位由POST设置并要在每个动力循环之后重新产生时,具有四种不同状态:HFM(高频模式)、LFM(低频模式)、ULPM、关闭的处理器可如何在这些状态之间转换。此外,在每次从关闭状态到三个开启状态之一的转换之后进行POST。
如参照图2A到3B所讨论,高速缓存要是可配置成具有用于不同性能级的不同容量和用于不同功率预算的不同Vccmin的。而且,一些实施方式可允许设计针对具有不同功率需求的市场的部分。通过允许设计针对市场范围更广的更少产品,这将节约成本。
在一种实施方式中,使用故障高速缓存项(cache entries)的无故障位,而不是丢弃全部项。而且,为了在高速缓存中能够实现低Vccmin操作,容忍由较低Vcc引发的中等故障位率。可扩展这种方法来提供高性能可预见性,其确保了两个处理器对任意给定程序提供相同性能。性能可变性是基于潜在地具有不同故障位置的不同芯片样本的,因而对性能产生不同的影响。
图4A说明了根据实施方式的高速缓存中读操作的示意图。所示出的高速缓存是两路的、与集合相关联的,每个高速缓存线具有四个子块。在一种实施方式中,每个高速缓存线用可与高速缓存标记一起存储的少量位(例如,图4A中和标记1一起存储的位1011或者和标记2一起存储的位0111)来扩展。每个高速缓存线可在逻辑上分为子块。这种子块的尺寸可匹配具有其自己的奇偶或ECC(纠错码)保护的、线的最小部分。例如,内容受到64位粒度的ECC保护且其高速缓存线具有那些子块中的8个子块的DL0高速缓存使用8个额外位来指示每个子块是否可被使用。除了其对应子块具有比所允许的更多的故障位的额外位之外,设置全部额外位。例如,具有两个故障位的SECDED(单纠错,双检错)保护块应将其对应位复位。
图4A的高速缓存按照如下进行操作。无论何时执行访问,读取标记402和403以及在需要时获取来自集合404中所有线的数据。注意地址偏移指示需要的子块。偏移406用于拣选对应于集合中每个高速缓存线所需的子块的位。(例如通过比较器408和410)将高速缓存标记与要求的地址进行比较。在一些情况下,可存在(通过基于“与”门414和422的输出的“或”门412输出的)标记命中(tag hit)411,但对应于这种子块的额外位可指示它是故障的。在这种情况下,我们有(例如,通过基于“与”门416和424的输出的“或”门420的输出的)故障命中(false hit)418。这种情况可如下进行处理:
(i)由于不存在数据因此报告“缺失(miss)”。
(ii)为了写回高速缓存(write-back caches),逐出高速缓存线及在更高高速缓存级更新恶劣数据。注意仅有效子块需要更新。写直达高速缓存(write-through caches)使得逐出高速缓存线用于加载且更新更高的高速缓存级用于存储。
(iii)以这样的方式将高速缓存线标记为集合中最近最多使用(MRU)的线,即,使得无论何时从更高高速缓存级请求数据时,将其分配给不同的高速缓存线,该不同的高速缓存线极可能具有无故障的块来保存所需的数据。不太可能的、所选高速缓存线在相同位置具有故障子块的情况下,重复该过程,以便如果集合中存在具有在所需位置中的无故障子块的至少一个高速缓存线,那么它将被找到。仅不可接受的高故障位率(例如,基于给定设计的阈值)将造成在给定集合中的高速缓存线之内的相同位置中的所有子块故障。
因此,在一种实施方式中,由于标识所述高速缓存线的那部分的额外位是有缺陷的,访问高速缓存可在标记中命中但被视为缺失。注意可有一种方式通过使用d-位来禁用诸如上面讨论的任意高速缓存线。这种机制可用来防止使用具有故障标记、故障有效位或故障恶劣位的高速缓存线。在一种实施方式中,如果额外位故障,那么高速缓存线也标记为故障。进一步地,在高Vcc操作期间,例如通过将所有额外位设置为“1”或仅仅忽略那些位,可绕过图4A中示出的额外机制(诸如额外位),以及比较逻辑和关联的“与”门及“或”门。
图4B图示了根据一种实施方式的地址重映射逻辑的方框图。为了处理性能可变性,可使用动态地址重映射(例如以循环的方式),以便按不同的时间间隔将给定地址映射至不同高速缓存集合。这样,给定程序和故障位率,无论故障位位于何处,从一个处理器到另一个处理器性能几乎不发生改变。
如图4B所示,可使用N位计数器452,其中N可以是1与标识高速缓存集合所需位数之间的任意值。例如,在具有64字节/线的32KB 8路高速缓存中,有64个集合,它们可用6位来索引。因而,具有6位或以下的计数器是足够的。在所示出的特定实施中,使用4位计数器452。这种计数器定期或时常地(例如,每一千万周期)进行更新。计数器的N位通过异或门454与索引该集合的位中的N个位逐位异或。因此,在一种实施方式中,给定地址可在不同时间映射至不同高速缓存集合。
此外,地址重映射可或者在高速缓存访问时间或者在地址计算时间被执行。由于增加了单个异或门级且提前设置了一半输入(来自于计数器的那些),因此等待时间影响低。在一种实施方式中,无论何时更新计数器都转储清除高速缓存内容以防止不一致。然而,很少更新计数器,并且因而,性能影响是可以忽略的。而且,图4B的机制通过仅仅防止计数器更新,可对于高Vcc操作而被去激活。
图5图示了根据本发明实施方式用于在低电压操作期间禁用部分高速缓存的方法500的流程图。在一些实施方式中,参照图1-4和6-7讨论的各种组件可用来执行参照图5讨论的一个或多个操作。
参照图1-5,在操作502,(例如,通过逻辑202或图4A中示出的逻辑)确定是否接收或检测到向部分高速缓存请求的访问。如果接收到访问,那么诸如(例如参照图1-4B)如上所述,操作504确定在Vccmin或以下所述高速缓存部分是否可操作。如果操作504的确定为否定的,那么返回缺失(诸如参照图1-4B所讨论的)。如果操作504的确定为肯定的,那么操作508返回命中(诸如参照图1-4B所讨论的)。
图6图示了根据本发明实施方式的计算系统600的方框图。计算系统600可包括一个或多个经由互联网络(或总线)604通信的中央处理单元(CPU)602或处理器。处理器602可包括通用处理器、(处理计算机网络603上传送的数据的)网络处理器、或其它类型的处理器(包括精简指令集计算机(RISC)处理器或复杂指令集计算机(CISC))。此外,处理器602可具有单核或多核设计。具有多核设计的处理器602可在同一集成电路(IC)管芯上集成不同类型的处理器核。而且,具有多核设计的处理器602可实施为对称或非对称的多处理器。在一种实施方式中,一个或多个处理器602可与图1的处理器102相同或类似。例如,一个或多个处理器602可包括一个或多个参照图1-5讨论的高速缓存。而且,参照图1-5所讨论的操作可由系统600的一个或多个组件来执行。
芯片组606亦可与互联网络604通信。芯片组606可包括存储控制集线器(MCH)608。MCH 608可包括与(可相同或类似于图1的存储器114的)存储器612通信的存储控制器610。存储器612可存储包括指令序列的数据,指令序列可通过CPU 602或包括在计算系统600中的任意其它设备执行。在本发明的一种实施方式中,存储器612可包括一种或多种诸如随机存取存储器(RAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)或其它类型的存储设备等的易失性存储(或存储器)设备。亦可使用诸如硬盘等的非易失性存储器。额外设备可经由诸如多CPU和/或多系统存储器等的互联网络604通信。
MCH 608亦可包括与显示设备616通信的图形接口614。在本发明的一种实施方式中,图形接口614可经由加速图形端口(AGP)与显示设备616通信。在本发明实施方式中,显示器616(诸如平板显示器)可通过例如信号转换器与图形接口614通信,该信号转换器将诸如视频存储器或系统存储器之类的存储设备中存储的图像的数字表示转换成由显示器616解释及显示的显示信号。由显示设备产生的显示信号在由显示器616解释且随后在显示器616上显示之前可通过各种控制设备。
集线器接口618可允许MCH 608和输入/输出控制集线器(ICH)620通信。ICH 620可提供接口给与计算系统600通信的I/O设备。ICH 620可通过诸如外设组件互联(PCI)桥、通用串行总线(USB)控制器或其它类型的外设桥或控制器等的外设桥(或控制器)624与总线622通信。所述桥624可在CPU 602和外部设备之间提供数据通路。可使用其它类型的拓扑。此外,多个总线可例如通过多个桥或控制器与ICH 620通信。此外,在本发明各种实施方式中,与ICH 620通信的其它外设可包括电子集成驱动器(IDE)或小型计算机系统接口(SCSI)硬盘驱动器、USB端口、键盘、鼠标、并行端口、串行端口、软盘驱动器、数字输出支持(例如数字视频接口(DVI))或其它设备。
总线622可与音频设备626、一个或多个磁盘驱动器628和网络接口设备630(其与计算机网络603通信)通信。其它设备可通过总线622通信。此外,在本发明一些实施方式中,不同组件(诸如网络接口设备630)可与MCH 608通信。另外,图6中示出的处理器602和其它组件(包括但不限于MCH 608、MCH 608的一个或多个组件等)可组合形成单一芯片。此外,在本发明其它实施方式中,图形加速器可包括在MCH 608内。
此外,计算系统600可包括易失性和/或非易失性存储器(或存储装置)。例如,非易失性存储器可包括下列之一或多个:只读存储器(ROM)、可编程ROM(PROM)、可擦除PROM(EPROM)、电子EPROM(EEPROM)、磁盘驱动器(例如628)、软盘、紧凑型磁盘ROM(CD-ROM)、数字通用磁盘(DVD)、闪速存储器、磁光盘、或能够存储电子数据(例如包括指令)的其它类型非易失性机器可读介质。
图7图示了根据本发明实施方式的、以点对点(PtP)配置布置的计算系统700。具体来说,图7示出了一种系统,其中处理器、存储器和输入/输出设备通过多个点到点接口互联。参照图1-6讨论的操作可通过系统700的一个或多个组件来执行。
如图7所说明的,系统700可包括多个处理器,为了清晰,其中仅示出了两个处理器702和704。处理器702和704每个都可包括本地存储控制集线器(MCH)706和708,以实现与存储器710和712的通信。存储器710和/或712可存储诸如参照图6的存储器612所讨论的那些数据之类的各种数据。
在一种实施方式中,处理器702和704可以是参照图6所讨论的处理器602之一,例如包括一个或多个参照图1-6讨论的高速缓存。分别利用PtP接口电路716和718,处理器702和704可经由点到点(PtP)接口714交换数据。此外,利用点到点接口电路726、728、730和732,处理器702和704每个都可经由个体PtP接口722和724与芯片组720交换数据。例如,利用PtP接口电路737,芯片组720可进一步经由图形接口736与图形电路734交换数据。
可在处理器702和704之内提供本发明的至少一种实施方式。例如,图1的一个或多个核106可位于处理器702和704之内。然而,本发明的其它实施方式可存在于图7的系统700之内的其它电路、逻辑单元或设备中。此外,本发明的其它实施方式可遍及图7描述的多个电路、逻辑单元或设备中分布。
芯片组720可利用PtP接口电路741与总线740通信。总线740可与诸如总线桥742和I/O设备743之类的一个或多个设备通信。经由总线744,总线桥742可与诸如键盘/鼠标745、通信设备746(诸如调制解调器、网络接口设备或其它可与计算机网络603通信的通信设备)、音频I/O设备747,和/或数据存储设备748之类的其他设备通信。数据存储设备748可存储由处理器702和/或704执行的代码749。
在本发明的各种实施方式中,例如参照附图1-7在本文中讨论的操作可实施为硬件(例如逻辑电路)、软件、固件或它们的组合,其可提供为计算机程序产品,其例如包括其上存储了用于对计算机编程以执行这里所讨论的过程的指令(或软件编制过程)的机器可读或计算机可读介质。机器可读介质可包括诸如本文所讨论的那些存储设备等存储设备。
此外,这种有形的计算机可读介质可下载为计算机程序产品,其中经由通信链路(例如,总线、调制解调器或网络连接)通过传播介质中的数据信号的方式可将所述程序从远程计算机(例如服务器)传送到请求计算机(例如客户端)。
说明书中提到的“一种实施方式”、“实施方式”或“一些实施方式”,意味着结合实施方式描述的特定特征、结构或特性可包括在至少一种实施中。说明书不同地方出现的短语“在一种实施方式中”可或可不全部都指代同一实施方式。
此外,在说明书和权利要求中,可使用术语“耦合”和“连接”,以及它们的派生词。在本发明的一些实施方式中,“连接”可用来指示两个或多个元件彼此直接物理或电接触。“耦合”可意味着两个或多个元件直接物理或电接触。然而,“耦合”亦可意味着两个或多个元件不是彼此直接接触的,但仍可彼此协作或交互。
因而,虽然已用结构特征和/或方法动作所特定的语言描述了本发明的实施方式,但是应理解,所请求保护的主题不限于所描述的具体特征或动作。更确切地,具体特征和动作公开为实施请求保护的主题的示例形式。

Claims (20)

1.一种处理器,包括:
高速缓存,所述高速缓存具有多个高速缓存线集合;
置换逻辑,所述置换逻辑用于在超低功率模式ULPM中检测对高速缓存线集合的访问,并且用于在所述ULPM中至少部分基于对应于所述高速缓存线集合的第一路的高速缓存线的一个或更多的禁用位来逐出所述第一路的所述高速缓存线,但是并不用于在所述ULPM中至少部分基于对应于所述高速缓存线集合的第二路的高速缓存线的一个或更多的禁用位来逐出所述第二路的所述高速缓存线,
其中所述ULPM使用超低电压电平来以低于所述高速缓存的所有存储单元可靠地操作所处的最小电压电平的电压访问高速缓存线。
2.根据权利要求1所述的处理器,其中所述置换逻辑用于在所述ULPM中至少部分基于所述高速缓存线集合的高速缓存线的一个或更多的禁用位来将相应高速缓存线视为最近最多使用的。
3.根据权利要求1所述的处理器,还包括加电自检(POST)逻辑,所述加电自检(POST)逻辑用于测试所述高速缓存线集合以确定所述第一路的所述高速缓存线在所述超低电压电平是否可操作。
4.根据权利要求1所述的处理器,其中所述一个或更多的禁用位包括一个或更多的冗余位。
5.根据权利要求1所述的处理器,其中即使在对应于所述高速缓存线集合的高速缓存线的标记上有命中,响应于所述一个或更多的禁用位,对所述高速缓存线集合的所述访问仍导致缺失。
6.根据权利要求1所述的处理器,其中给定的地址在不同的时间映射到不同的高速缓存线集合。
7.根据权利要求6所述的处理器,还包括计数器,所述计数器用于使得所述给定的地址被映射到不同的高速缓存线集合。
8.根据权利要求1所述的处理器,其中所述置换逻辑用于当不在所述ULPM中时逐出所述高速缓存线集合的所述第二路的所述高速缓存线,忽略对应于所述第二路的所述高速缓存线的所述一个或更多的禁用位。
9.一种用于低功率操作的计算系统,包括:
存储器,所述存储器用于存储指令;以及
处理器,所述处理器用于执行所述指令,所述处理器包括:
高速缓存,所述高速缓存在操作时耦合到所述存储器,所述高速缓存具有多个高速缓存线集合;
置换逻辑,所述置换逻辑用于在超低功率模式ULPM中检测对所述多个高速缓存线集合中的高速缓存线集合的访问,并且用于在所述ULPM中至少部分基于对应于所述高速缓存线集合的第一路的高速缓存线的一个或更多的禁用位来允许访问所述第一路的所述高速缓存线,但是并不用于在所述ULPM中至少部分基于对应于所述高速缓存线集合的第二路的高速缓存线的一个或更多的禁用位来允许访问所述第二路的所述高速缓存线,
其中所述ULPM使用超低电压电平来在或低于所述高速缓存的所有存储单元可以可靠地操作所处的最小电压电平访问高速缓存线。
10.根据权利要求9所述的系统,还包括加电自检POST逻辑,所述POST逻辑用于测试所述高速缓存线集合以确定所述第一路的所述高速缓存线在所述超低电压电平是否可操作。
11.根据权利要求10所述的系统,还包括用于响应于所述POST逻辑产生的测试结果来更新所述一个或更多的禁用位的逻辑。
12.根据权利要求9所述的系统,其中所述一个或更多的禁用位包括一个或更多的冗余位。
13.根据权利要求9所述的系统,其中即使在对应于所述高速缓存线集合的高速缓存线的标记上有命中,响应于所述一个或更多的禁用位,对所述高速缓存线集合的所述访问仍导致缺失。
14.根据权利要求9所述的系统,其中给定的地址在不同的时间映射到不同的高速缓存线集合。
15.根据权利要求14所述的系统,还包括计数器,所述计数器用于使得所述给定的地址被映射到不同的高速缓存线集合。
16.根据权利要求9所述的系统,其中所述高速缓存包括1级高速缓存、中级高速缓存或末级高速缓存。
17.根据权利要求9所述的系统,其中所述置换逻辑用于当不在所述ULPM中时允许访问所述高速缓存线集合的所述第二路的所述高速缓存线,忽略对应于所述第二路的所述高速缓存线的所述一个或更多的禁用位。
18.根据权利要求9所述的系统,其中所述置换逻辑用于在转换到所述ULPM时基于对应于所述高速缓存线集合的所述第二路的所述高速缓存线的所述一个或更多的禁用位来转储清除所述第二路的所述高速缓存线。
19.根据权利要求9所述的系统,其中所述置换逻辑用于在所述ULPM中至少部分基于对应于所述高速缓存线集合的所述第一路的所述高速缓存线的所述一个或更多的禁用位来逐出所述第一路的所述高速缓存线,但是并不用于在所述ULPM中至少部分基于对应于所述高速缓存线集合的所述第二路的所述高速缓存线的所述一个或更多的禁用位来逐出所述第二路的所述高速缓存线。
20.根据权利要求19所述的系统,其中所述置换逻辑用于在所述ULPM中至少部分基于所述高速缓存线集合的高速缓存线的一个或更多的禁用位来将相应高速缓存线视为最近最多使用的。
CN201310376165.4A 2008-09-30 2009-09-30 在低电压操作期间禁用高速缓存部分 Expired - Fee Related CN103455441B (zh)

Applications Claiming Priority (4)

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
US12/242,321 2008-09-30
US12/242321 2008-09-30
CN2009102227004A CN101714106B (zh) 2008-09-30 2009-09-30 在低电压操作期间禁用高速缓存部分

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN2009102227004A Division CN101714106B (zh) 2008-09-30 2009-09-30 在低电压操作期间禁用高速缓存部分

Publications (2)

Publication Number Publication Date
CN103455441A CN103455441A (zh) 2013-12-18
CN103455441B true CN103455441B (zh) 2016-08-24

Family

ID=42058825

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201310376165.4A Expired - Fee Related CN103455441B (zh) 2008-09-30 2009-09-30 在低电压操作期间禁用高速缓存部分
CN2009102227004A Expired - Fee Related CN101714106B (zh) 2008-09-30 2009-09-30 在低电压操作期间禁用高速缓存部分

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN2009102227004A Expired - Fee Related CN101714106B (zh) 2008-09-30 2009-09-30 在低电压操作期间禁用高速缓存部分

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) TWI592795B (zh)
WO (1) WO2010039532A2 (zh)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
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
WO2013100940A1 (en) * 2011-12-28 2013-07-04 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
WO2014018038A1 (en) * 2012-07-26 2014-01-30 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
US9075904B2 (en) 2013-03-13 2015-07-07 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
KR102031606B1 (ko) * 2013-07-31 2019-10-14 휴렛 팩커드 엔터프라이즈 디벨롭먼트 엘피 버저닝된 메모리 구현
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
KR102160348B1 (ko) 2015-09-11 2020-09-25 각코호진 오키나와가가쿠기쥬츠다이가쿠인 다이가쿠가쿠엔 납이 없는 페로브스카이트 필름의 형성
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
CN111930575A (zh) * 2020-07-01 2020-11-13 联想(北京)有限公司 一种固件获取方法、装置及电子设备
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

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1482546A (zh) * 2002-09-10 2004-03-17 连邦科技股份有限公司 免充电式超低功率虚拟动态随机存取内存
CN1612113A (zh) * 2003-10-14 2005-05-04 国际商业机器公司 节能高速缓存及其运行方法
CN101156140A (zh) * 2005-02-07 2008-04-02 Nxp股份有限公司 数据处理系统和高速缓存替换方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
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
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 キャッシュメモリ装置およびその管理方法
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
US7650465B2 (en) 2006-08-18 2010-01-19 Mips Technologies, Inc. Micro tag array having way selection bits for reducing data cache access power
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
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1482546A (zh) * 2002-09-10 2004-03-17 连邦科技股份有限公司 免充电式超低功率虚拟动态随机存取内存
CN1612113A (zh) * 2003-10-14 2005-05-04 国际商业机器公司 节能高速缓存及其运行方法
CN101156140A (zh) * 2005-02-07 2008-04-02 Nxp股份有限公司 数据处理系统和高速缓存替换方法

Also Published As

Publication number Publication date
JP6124366B2 (ja) 2017-05-10
US8103830B2 (en) 2012-01-24
JP2012503263A (ja) 2012-02-02
CN101714106B (zh) 2013-09-25
TWI420294B (zh) 2013-12-21
TW201627811A (zh) 2016-08-01
WO2010039532A3 (en) 2010-07-01
US20100082905A1 (en) 2010-04-01
CN101714106A (zh) 2010-05-26
KR20110061598A (ko) 2011-06-09
JP2015092397A (ja) 2015-05-14
JP5479479B2 (ja) 2014-04-23
TWI592795B (zh) 2017-07-21
JP2014041647A (ja) 2014-03-06
TW201028839A (en) 2010-08-01
KR101252367B1 (ko) 2013-04-08
TWI525426B (zh) 2016-03-11
BRPI0913782A2 (pt) 2019-09-24
CN103455441A (zh) 2013-12-18
US20120110266A1 (en) 2012-05-03
JP5681778B2 (ja) 2015-03-11
TW201423371A (zh) 2014-06-16
US8291168B2 (en) 2012-10-16
WO2010039532A2 (en) 2010-04-08

Similar Documents

Publication Publication Date Title
CN103455441B (zh) 在低电压操作期间禁用高速缓存部分
US10884940B2 (en) Method and apparatus for using compression to improve performance of low voltage caches
Roberts et al. On-chip cache device scaling limits and effective fault repair techniques in future nanoscale technology
JP4762261B2 (ja) メモリシステム
KR100273907B1 (ko) 컴퓨터에 의해 사용되는 캐쉬내의 결함을 제거하기 위한 방법
JP2009211234A (ja) メモリシステム
US10528473B2 (en) Disabling cache portions during low voltage operations
JP2009211235A (ja) メモリシステム
US20060179235A1 (en) Cache mechanism and method for avoiding cast out on bad victim select and recycling victim select operation
JP2009217603A (ja) メモリシステム
EP0626644B1 (en) Structure to utilize a partially functional cache memory
JPH10320280A (ja) キャッシュに値を格納する方法及びコンピュータ・システム
KR100297914B1 (ko) 스누핑장치를위한다중캐쉬디렉토리
US5867511A (en) Method for high-speed recoverable directory access
US7987320B2 (en) Cache mechanism and method for avoiding cast out on bad victim select and recycling victim select operation
JP4703673B2 (ja) メモリシステム

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20160824

Termination date: 20180930