CN1677369A - 用于分级高速缓存行替换的方法、系统及装置 - Google Patents
用于分级高速缓存行替换的方法、系统及装置 Download PDFInfo
- Publication number
- CN1677369A CN1677369A CNA2005100542330A CN200510054233A CN1677369A CN 1677369 A CN1677369 A CN 1677369A CN A2005100542330 A CNA2005100542330 A CN A2005100542330A CN 200510054233 A CN200510054233 A CN 200510054233A CN 1677369 A CN1677369 A CN 1677369A
- Authority
- CN
- China
- Prior art keywords
- cache
- cache line
- state
- replace
- speed
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims description 31
- 230000006870 function Effects 0.000 claims description 16
- 238000012986 modification Methods 0.000 claims description 12
- 230000004048 modification Effects 0.000 claims description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000001693 membrane extraction with a sorbent interface Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001427 coherent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
Images
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/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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B64—AIRCRAFT; AVIATION; COSMONAUTICS
- B64D—EQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
- B64D47/00—Equipment not otherwise provided for
- B64D47/02—Arrangements or adaptations of signal or lighting devices
-
- 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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/128—Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B21/00—Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
- G08B21/18—Status alarms
-
- G—PHYSICS
- G08—SIGNALLING
- G08B—SIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
- G08B7/00—Signalling systems according to more than one of groups G08B3/00 - G08B6/00; Personal calling systems according to more than one of groups G08B3/00 - G08B6/00
- G08B7/06—Signalling systems according to more than one of groups G08B3/00 - G08B6/00; Personal calling systems according to more than one of groups G08B3/00 - G08B6/00 using electric transmission, e.g. involving audible and visible signalling through the use of sound and light sources
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Business, Economics & Management (AREA)
- Emergency Management (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Computer And Data Communications (AREA)
Abstract
作为替换高速缓存行的结果而产生一种高速缓存行替换协议,该高速缓存行替换协议至少部分基于高速缓存间通信量而选择用于替换的高速缓存行。
Description
技术领域
本发明公开涉及一种高速缓冲存储器,例如用于替换高速缓存行的方案。
背景技术
众所周知,高速缓存存储了计算机或计算系统的信息以便减小处理器进行数据检索的次数。计算系统的一些示例如个人数字助理、Internet图形输入装置、以及蜂窝电话。高速缓存将信息的特定子集存储在高速存储器中。信息的几个示例是指令、地址及数据。当处理器请求一段信息时,系统首先核心查高速缓存,以便察看所述信息是否存储在该高速缓存中。如果是,那么与将数据存储在其他计算机可读媒体的情况相比,处理器可以更快地检索出所述信息,这些其他计算机可读媒体例如是随机访问存储器、硬盘、致密盘只读存储器(CD ROM),或软盘。
相对于被映射到预定的高速缓冲单元(location)的寻址单元,高速缓冲存储器具有若干不同的结构。例如,高速缓冲存储器可被直接映射或全关联。替换地,另一个高速缓冲存储器是一组关联高速缓存,其是直接映射高速缓存与全关联高速缓存之间的一种折衷方式。在直接映射高速缓冲中,每组中都有一个寻址单元。相反,N路关联的全关联高速缓存在所述高速缓存中总共有N个模块。最后,通常称为N路组关联的一组关联高速缓存将所述高速缓存分成多个N路,其中对于一个标记来讲关联地搜索每个地址。
在高速缓存未中事件中,有效高速缓存操作利用高速缓存管理技术来替换高速缓存单元。在典型的高速缓存未中时,将从系统或主存储器中获取的地址和数据存储在高速缓冲存储器中。然而,高速缓存需要确定哪个高速缓存单元将由系统存储器的新地址和数据替换。一种用于替换高速缓存单元的技术由一个具有最近最少使用(LRU)二进制位(bit)的协议来实现。为每个高速缓存单元保存最近最少使用的二进制位,以及在访问或替换高速缓存单元时对最近最少使用的二进制位进行更新。有效二进制位决定了各个高速缓存单元的相参性(coherency)状态。因此,基于最近最少使用的二进制位的值和有效二进制位的值,高速缓存有效地替换其中最近最少使用的二进制位,表明该行最近最少使用或者该行无效的那些高速缓存单元。存在着可利用的多种高速缓冲存储器的替换协议,如:伪-LRU、随机、非最近使用(NRU)协议。然而,本发明的替换协议可产生增大的高速缓存间通信量。例如,从所包含的末级高速缓存中替换一行需要将该行从所有较低级高速缓存中逐出(evict)。因此,这产生了增大的高速缓存间通信量。
附图说明
在说明书的结论部分显著且清楚的指明了所要求保护的主题。然而,在理解附图的同时参考以下详细说明可以最好的理解所要求保护的主题,该主题既作为与对象、特征一起的操作结构及方法,又作为其优点,其中:
图1是显示高速缓存间通信量的示意图。
图2是第一实施例所采用的高速缓存行的状态与通信成本之间关系的表。
图3是第一实施例所采用的高速缓存行的多个LRU状态中下两个替换对象的表。
图4是第一实施例所采用的用于替换可能高速缓存行候选对象的每种组合的期望替换对象的表。
图5是第一实施例所采用的示意图。
图6是第二实施例所采用的高速缓存行的状态与通信成本之间关系的表。
图7是第二实施例所采用的高速缓存行的多个LRU状态中下两个替换对象的表。
图8是第二实施例所采用的用于替换高速缓存行候选对象的可能每种组合的期望替换对象的表。
图9是第二实施例所采用的示意图。
图10是由多个实施例所采用的系统。
具体实施方式
在以下详细说明中,阐述了大量的具体细节,以便提供对所要求保护主题的透彻理解。然而,本领域技术人员应当理解的是,在没有这些具体细节的情况下可以实现所要求保护的主题。在其它例子中,未详细描述公知方法、过程、部件及电路,以便不致模糊所要求保护的主题。
当前技术发展的一个领域涉及了提高高速缓冲存储器替换协议的速度和效率。如前面所描述的,本替换协议可以产生增大的高速缓存间通信量。例如,从所包含的末级高速缓存中替换一行需要将该行从所有较低级高速缓存中逐出。因此,这产生了增大的高速缓存间通信量。例如,图1描述了在二级(L2)高速缓存和一级(L1)高速缓存之间的高速缓存间通信量。
相反,至少部分基于与特定替换对象行相关的可能高速缓存间通信量,所要求保护的主题有利于替换协议来选定用于替换的替换对象行。因此,根据高速缓存间通信量来选择替换对象行允许有效地替换高速缓存行,和/或降低高速缓存上以及各级高速缓存上的竞争,其导致了更有效的总线利用。在一个实施例中,所述替换协议是一个四路伪最近最少使用(LRU)替换协议且支持MESI(已修改专有共享无效)。在另一个实施例中,所述替换协议是一个四路伪最近最少使用(LRU)替换协议并且支持MESI(已修改专有共享无效)及附加的如MI、MS和ES的高速缓存状态。所述附加的高速缓存状态MI、MS和ES便于监听(snoop)过滤。为了描述这些状态,人们可以从系统的观点来解释所述高速缓存状态,第一个字母代表了末级高速缓存中的行状态,相反,第二个字母代表了下一较低级的高速缓存中的行。如前面所描述的,对M、E、S和I给出了相同的定义。例如,将具有MI状态的高速缓存行解释成在末级高速缓存中的行呈修改状态,而在下一较低级高速缓存中的行呈无效状态。
所要求保护主题使LRU协议便于支持结合附图2-5所描述的单核心处理器,以及支持结合图6-9所描述的多核心处理器,以及结合图10所描述的利用单核心或多核心处理器或同时采用这两种处理器的系统。
图2是一个实施例中所采用的高速缓存行的状态与通信成本之间关系的表。该表描述了高速缓存状态的可能值(202)、高速缓存间通信量(204)、以及逐出呈特定高速缓存状态的高速缓存行的相对成本(206)。逐出高速缓存行可能导致不同数量的高速缓存间通信量。例如,逐出具有修改状态(M状态)的二级高速缓存(L2高速缓存)中的高速缓存行要采用两个附加的操作:首先,使得从所有较低级高速缓存中移除该行均无效,其次,回写主存储器以记录所修改的数据。
相反,因为不必将该行从任意其它高速缓存中移除,所以,逐出处于无效状态(I状态)中的高速缓存行不会引起任何附加的通信量。因此,表中指定了这种高速缓存状态为0成本。
图3是一个实施例所采用高速缓存行的多个LRU状态中下两个替换对象的候选对象表。在这个实施例中,采用四路伪LRU替换协议,而每组有三个二进制位(如列302中所描述的)。例如,每个二进制位是二进制树中的一个节点,其指向下一个替换对象。从而,将指向所选路的所有路径均被转换到树的另一端以指向下一个替换对象。因此,在一个方面,该表为每个可能的LRU状态(如列304中所示)描述了下两个替换对象。
图4是一个实施例所采用的用于替换的可能高速缓存行候选对象的每种组合的期望替换对象的表。如前面所描述的,结合图3的该表描述了可能替换的该路候选对象。图4通过描述两个可能候选对象状态的每种组合以及至少部分基于高速缓存间通信量而选择候选对象之一来利用所述信息。例如,两个候选对象的每种可能状态由“状态1”列和“状态2”列表示。相反,“替换对象”列描述了要替换两个候选对象中的哪一个。在一个实施例中,当替换对象值为0时,将替换第一候选对象(状态1)。相反,当替换对象值为1时,将替换第二候选对象(状态2)。
因此,在考虑结合图2所描述的成本函数时,根据结合图3所描述的两个可能候选对象而选择替换对象.。例如,我们来分析该表第二行中的第一组候选对象。状态1的候选对象呈修改状态,而状态2的候选对象呈专有状态,应用图2中的成本函数分析。因此,由于第二候选对象产生了较小的高速缓存间通信量(E∶M的相对成本是2∶4)而选定第二候选对象。
图5是一个实施例所采用的示意图。一方面,该示意图描述了与结合图4中所描述的分析相关的逻辑,用于在两个候选对象中选择一个用以替换。如前面所描述的,分析每条路的状态并且在多路复用器504处成本函数(结合图2中所述的)选择用于替换的替换对象。
图6是一个实施例所采用的高速缓存行的状态与通信成本之间关系的表。在这个实施例中,图6支持多核心处理器或具有多核心处理器的系统。该表描述了高速缓存状态的可能值(602)、具有数据的核心数量(604)、高速缓存间通信量(606)、以及逐出具有特定高速缓存状态的高速缓存行的相对成本(608)。逐出一个高速缓存行可能会产生不同数量的高速缓存间通信量。例如,对于一个核心来讲,逐出具有修改状态(M状态)的二级高速缓存(L2高速缓存)中的一个高速缓存行要采用两个附加的操作:首先,使得从所有较低级高速缓存中移除该行均无效;其次,回写主存储器以记录所修改的数据。从而,其与该状态相关的较高相对成本值为7。
相反,由于无须将该行从任意其它高速缓存中移除,因而,逐出一个呈无效状态(I状态)的高速缓存行不会引起任何附加的通信量。因此,在表中将这种高速缓存状态指定为0成本。
图7是一个实施例中所采用的高速缓存行的多个LRU状态中下两个替换对象的候选对象的表。在这个实施例中,采用了四路伪LRU替换协议,而每组有三个二进制位(如列302所描述的)。例如,每个二进制位都是二进制树上的一个节点,其指向下一个替换对象。从而,将所有导向所选路的路径转换到树的另一端以指向下一替换对象。因此,一方面,该表为每种可能LRU状态描述了下两个替换对象(如列304所述)。
图8是由一个实施例所采用的用于替换的可能高速缓存行候选对象的每种组合的期望替换对象的表。如前面所述,结合图7的表描述了可能替换的该路候选对象。图8通过描述两个可能候选对象状态的每种组合以及至少部分根据高速缓存间通信量而选择所述候选对象之一来利用这一信息。例如,在“状态1/#核心”及“状态2/#核心”(包括具有相关数据的核心数量)的每列中描述了两个候选对象的每种可能状态。相反,替换对象列描述了要替换两个候选对象中的哪一个。在一个实施例中,当替换对象值是0时,替换第一候选对象(状态1)。相反,当替换对象值是1时,替换第二候选对象(状态2)。
因此,在考虑结合图6所描述的成本函数的同时,根据结合图7所描述的两个可能候选对象而选择替换对象。例如,我们来分析该表第二行中的第一组候选对象。对于一个核心来讲,状态1的候选对象呈修改状态,而状态2的候选对象呈专有状态,应用图6中的成本函数分析。从而,由于第二候选对象产生了较小的高速缓存间通信量(E∶M的相对成本是3∶7)而选定第二候选对象。
图9是一个实施例所采用的示意图。一方面,所述示意图描述了与结合图8所描述的分析相关的逻辑,以基于在各个路中高速缓存行状态以及核心二进制位的值来选择两个候选对象中的一个用于替换。在一个实施例中,将核心二进制位与表明较低级别高速缓存是否具有高速缓存行拷贝的每个高速缓存行一起存储。在这个实施例中,为共享末级高速缓存的每个核心采用了单个核心二进制位。如前面所述,分析每条路的状态并且在多路复用器904处成本函数(结合图6所描述的)选择用于替换的替换对象。
图10是用于多个实施例的系统。所述多个实施例1002、1004用于代表一系列具有一个或多个处理器的系统,如计算机系统、实时监视系统等。可替换的多处理器系统可以包括更多、更少和/或不同的元件。在某些情况下,此处所描述的高速缓存管理技术既可用于单处理器系统也可用于多处理器系统。总线系统CFB(高速缓存前端总线)可包括任何数量的总线以及相关互连电路,例如,总线桥。所述处理器可与存储控制集线器(MCH)进行通信。
所述系统可支持任何动态存储器装置(如随机访问存储器)和静态存储器装置(如只读存储器、CD-ROM、盘存储器、闪存)以及在需要情况下的相关驱动器。所述存储器装置用于存储由处理器或多处理器所执行的信息及指令。
经由有线或无线的远程连接,可将指令从静态或远程存储装置中提供给系统1002或1004,所述存储装置如磁盘、只读存储器(ROM)集成电路、CD-ROM、DVD。在可替换的实施例中,可以使用硬接线(hard-wired)的电路来代替软件指令或与软件指令相结合使用。因而,指令序列的执行不限于任何具体硬件电路与软件指令的结合。
说明书中所指的“一个实施例”或“一实施例”意味着结合该实施例所描述的特定特征、结构或特性包含在本发明的至少一个实施例中。在说明书中多处出现的短语“在一个实施例中”不一定指的是同一个实施例。
在前面的说明书中,其中参考特定的实施例描述了本发明。然而,很显然在不脱离本发明较宽泛精神及范围的情况下可以作出多种修改及变化。因此,说明书及附图应当看成是说明性的而不是限制性的。
Claims (20)
1、一种用于在具有多级高速缓冲存储器的结构中替换一行的方法,每个高速缓冲存储器具有多条路,每条路有多行,所述方法包括:
为至少两条路中的至少一个高速缓存行指定一种状态;以及
为与要替换高速缓存行相关的高速缓存行状态指定一个用于高速缓存间通信量的相对成本函数。
2、如权利要求1所述的方法,其中,多条路的数量是4。
3、如权利要求1所述的方法,其中,高速缓存行的状态是修改、专有、共享、或无效。
4、一种用于在具有多级高速缓冲存储器的结构中替换一行的方法,每个高速缓冲存储器具有多条路,每条路有多行,所述方法包括:
为至少两条路中的至少一个高速缓存行指定一种状态;
为与要替换高速缓存行相关的高速缓存行状态指定一个用于高速缓存间通信量的相对成本函数;以及
至少部分根据该成本函数而选择要替换的高速缓存行。
5、如权利要求4所述的方法,其中,多条路的数量是4。
6、如权利要求4所述的方法,其中,高速缓存行的状态是修改、专有、共享、或无效。
7、一种用于在具有多级高速缓冲存储器的结构中替换一行的高速缓存行替换协议的方法,每个高速缓冲存储器具有多条路,每条路有多行,所述方法包括:
为至少两条路中的至少一个高速缓存行指定一种状态;
为与要替换高速缓存行相关的高速缓存行状态指定一个用于高速缓存间通信量的相对成本函数;
识别用于替换的两个可能高速缓存行;以及
至少部分根据该成本函数而选择两个可能高速缓存行中的一个以进行替换。
8、如权利要求7所述的方法,其中,多条路的数量是4。
9、如权利要求7所述的方法,其中,高速缓存行的状态是修改、专有、共享、或无效。
10、如权利要求7所述的方法,其中,所述高速缓存行替换协议是用于四路高速缓存的三个二进制位伪随机协议。
11、一种系统,包括:
至少一个处理器;
一个高速缓存,其耦合到所述处理器,具有多条路,多条路中的每一条具有多个行;其中为至少两条路中的至少一个高速缓存行指定一种状态,以及
一个用于高速缓存间通信量的相对成本函数,被指定用于与要替换高速缓存行相关的高速缓存行的状态;以及
至少部分根据该成本函数而选择要替换的高速缓存行。
12、如权利要求11所述的系统,其中,所述处理器与存储控制集线器(MCH)进行通信。
13、如权利要求11所述的方法,其中,多条路的数量是4。
14、如权利要求11所述的方法,其中,高速缓存行的状态是修改、专有、共享、或无效。
15、一种用于替换具有多条路的多核心处理器的多级高速缓冲存储器中行的方法,每条路有多行,所述方法包括:
为至少两条路中的至少一个高速缓存行指定一种状态;
为在多级高速缓冲存储器中共享末级高速缓存的每个核心指定一个核心二进制位;以及
为与要替换高速缓存行相关的高速缓存行的状态指定一个用于高速缓存间通信量的相对成本函数。
16、如权利要求15所述的方法,其中,多条路的数量是4。
17、如权利要求15所述的方法,其中,高速缓存行的状态是修改、专有、共享、或无效。
18、一种用于在具有多级高速缓冲存储器的结构中替换一行的方法,每个高速缓冲存储器具有多条路,每条路具有多行,所述方法包括:
为至少两条路中的至少一个高速缓存行指定一种状态;
为在多级高速缓冲存储器中共享末级高速缓存的每个核心指定一个核心二进制位;
为与要替换高速缓存行相关的高速缓存行的状态指定一个用于高速缓存间通信量的相对成本函数;以及
至少部分根据该成本函数而选择要替换的高速缓存行。
19、如权利要求18所述的方法,其中,多条路的数量是4。
20、如权利要求18所述的方法,其中,高速缓存行的状态是修改、专有、共享、或无效。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/779204 | 2004-02-13 | ||
US10/779,204 US7711901B2 (en) | 2004-02-13 | 2004-02-13 | Method, system, and apparatus for an hierarchical cache line replacement |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1677369A true CN1677369A (zh) | 2005-10-05 |
CN100476760C CN100476760C (zh) | 2009-04-08 |
Family
ID=34377774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2005100542330A Expired - Fee Related CN100476760C (zh) | 2004-02-13 | 2005-02-08 | 用于分级高速缓存行替换的方法、系统及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7711901B2 (zh) |
KR (1) | KR100681974B1 (zh) |
CN (1) | CN100476760C (zh) |
GB (1) | GB2411986B (zh) |
TW (1) | TWI283348B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101233318B (zh) * | 2005-07-26 | 2011-10-19 | 林德股份公司 | 压缩机、尤其是活塞式压缩机 |
CN103150269A (zh) * | 2011-12-06 | 2013-06-12 | 广东新岸线计算机系统芯片有限公司 | 一种数据缓存控制方法和系统 |
CN107291635A (zh) * | 2017-06-16 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种缓存替换方法和装置 |
Families Citing this family (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7590805B2 (en) * | 2005-12-29 | 2009-09-15 | Intel Corporation | Monitor implementation in a multicore processor with inclusive LLC |
US7757045B2 (en) * | 2006-03-13 | 2010-07-13 | Intel Corporation | Synchronizing recency information in an inclusive cache hierarchy |
US7552288B2 (en) * | 2006-08-14 | 2009-06-23 | Intel Corporation | Selectively inclusive cache architecture |
US7774549B2 (en) | 2006-10-11 | 2010-08-10 | Mips Technologies, Inc. | Horizontally-shared cache victims in multiple core processors |
US20090019306A1 (en) * | 2007-07-11 | 2009-01-15 | Herbert Hum | Protecting tag information in a multi-level cache hierarchy |
JP2009205335A (ja) * | 2008-02-27 | 2009-09-10 | Hitachi Ltd | 2種のメモリデバイスをキャッシュに用いるストレージシステム及びそのストレージシステムを制御する方法 |
US9058272B1 (en) | 2008-04-25 | 2015-06-16 | Marvell International Ltd. | Method and apparatus having a snoop filter decoupled from an associated cache and a buffer for replacement line addresses |
US8185695B2 (en) * | 2008-06-30 | 2012-05-22 | Advanced Micro Devices, Inc. | Snoop filtering mechanism |
US20100030963A1 (en) * | 2008-08-04 | 2010-02-04 | Sandisk Il Ltd. | Managing storage of cached content |
US9104686B2 (en) | 2008-12-16 | 2015-08-11 | Sandisk Technologies Inc. | System and method for host management of discardable objects |
US8849856B2 (en) * | 2008-12-16 | 2014-09-30 | Sandisk Il Ltd. | Discardable files |
US8375192B2 (en) | 2008-12-16 | 2013-02-12 | Sandisk Il Ltd. | Discardable files |
US9020993B2 (en) | 2008-12-16 | 2015-04-28 | Sandisk Il Ltd. | Download management of discardable files |
US9015209B2 (en) | 2008-12-16 | 2015-04-21 | Sandisk Il Ltd. | Download management of discardable files |
US8205060B2 (en) | 2008-12-16 | 2012-06-19 | Sandisk Il Ltd. | Discardable files |
US20100235473A1 (en) * | 2009-03-10 | 2010-09-16 | Sandisk Il Ltd. | System and method of embedding second content in first content |
US8463802B2 (en) | 2010-08-19 | 2013-06-11 | Sandisk Il Ltd. | Card-based management of discardable files |
US8549229B2 (en) | 2010-08-19 | 2013-10-01 | Sandisk Il Ltd. | Systems and methods for managing an upload of files in a shared cache storage system |
US9471532B2 (en) * | 2011-02-11 | 2016-10-18 | Microsoft Technology Licensing, Llc | Remote core operations in a multi-core computer |
US8788849B2 (en) | 2011-02-28 | 2014-07-22 | Sandisk Technologies Inc. | Method and apparatus for protecting cached streams |
US9003126B2 (en) | 2012-09-25 | 2015-04-07 | Intel Corporation | Apparatus, system and method for adaptive cache replacement in a non-volatile main memory system |
US9081685B2 (en) * | 2013-01-15 | 2015-07-14 | Arm Limited | Data processing apparatus and method for handling performance of a cache maintenance operation |
KR101817847B1 (ko) | 2014-12-14 | 2018-02-21 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | 메모리 접근 타입에 기초한 통로에 의해 버짓화된 캐시 메모리 |
EP3230874B1 (en) * | 2014-12-14 | 2021-04-28 | VIA Alliance Semiconductor Co., Ltd. | Fully associative cache memory budgeted by memory access type |
US9811468B2 (en) * | 2014-12-14 | 2017-11-07 | Via Alliance Semiconductor Co., Ltd. | Set associative cache memory with heterogeneous replacement policy |
WO2016097807A1 (en) * | 2014-12-14 | 2016-06-23 | Via Alliance Semiconductor Co., Ltd. | Cache replacement policy that considers memory access type |
US9898411B2 (en) * | 2014-12-14 | 2018-02-20 | Via Alliance Semiconductor Co., Ltd. | Cache memory budgeted by chunks based on memory access type |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4442487A (en) * | 1981-12-31 | 1984-04-10 | International Business Machines Corporation | Three level memory hierarchy using write and share flags |
IT1229240B (it) * | 1989-05-08 | 1991-07-26 | Bull Hn Information Syst | Memoria tampone e relativo protocollo di consistenza dati. |
US5530832A (en) * | 1993-10-14 | 1996-06-25 | International Business Machines Corporation | System and method for practicing essential inclusion in a multiprocessor and cache hierarchy |
US5584013A (en) * | 1994-12-09 | 1996-12-10 | International Business Machines Corporation | Hierarchical cache arrangement wherein the replacement of an LRU entry in a second level cache is prevented when the cache entry is the only inclusive entry in the first level cache |
US6295598B1 (en) * | 1998-06-30 | 2001-09-25 | Src Computers, Inc. | Split directory-based cache coherency technique for a multi-processor computer system |
US6643741B1 (en) * | 2000-04-19 | 2003-11-04 | International Business Machines Corporation | Method and apparatus for efficient cache management and avoiding unnecessary cache traffic |
US6725334B2 (en) * | 2000-06-09 | 2004-04-20 | Hewlett-Packard Development Company, L.P. | Method and system for exclusive two-level caching in a chip-multiprocessor |
US6574710B1 (en) * | 2000-07-31 | 2003-06-03 | Hewlett-Packard Development Company, L.P. | Computer cache system with deferred invalidation |
US6418510B1 (en) * | 2000-09-14 | 2002-07-09 | International Business Machines Corporation | Cooperative cache and rotational positioning optimization (RPO) scheme for a direct access storage device (DASD) |
JP2002140234A (ja) * | 2000-11-02 | 2002-05-17 | Hitachi Ltd | キャッシュ装置 |
US6976131B2 (en) * | 2002-08-23 | 2005-12-13 | Intel Corporation | Method and apparatus for shared cache coherency for a chip multiprocessor or multiprocessor system |
-
2004
- 2004-02-13 US US10/779,204 patent/US7711901B2/en not_active Expired - Fee Related
-
2005
- 2005-01-31 TW TW094102925A patent/TWI283348B/zh not_active IP Right Cessation
- 2005-02-08 CN CNB2005100542330A patent/CN100476760C/zh not_active Expired - Fee Related
- 2005-02-08 GB GB0502576A patent/GB2411986B/en not_active Expired - Fee Related
- 2005-02-14 KR KR1020050011976A patent/KR100681974B1/ko not_active IP Right Cessation
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101233318B (zh) * | 2005-07-26 | 2011-10-19 | 林德股份公司 | 压缩机、尤其是活塞式压缩机 |
CN103150269A (zh) * | 2011-12-06 | 2013-06-12 | 广东新岸线计算机系统芯片有限公司 | 一种数据缓存控制方法和系统 |
CN103150269B (zh) * | 2011-12-06 | 2017-07-14 | 广东新岸线计算机系统芯片有限公司 | 一种数据缓存控制方法和系统 |
CN107291635A (zh) * | 2017-06-16 | 2017-10-24 | 郑州云海信息技术有限公司 | 一种缓存替换方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
KR100681974B1 (ko) | 2007-02-15 |
GB0502576D0 (en) | 2005-03-16 |
GB2411986B (en) | 2007-06-20 |
TW200606641A (en) | 2006-02-16 |
US7711901B2 (en) | 2010-05-04 |
GB2411986A (en) | 2005-09-14 |
CN100476760C (zh) | 2009-04-08 |
US20040260880A1 (en) | 2004-12-23 |
TWI283348B (en) | 2007-07-01 |
KR20060041923A (ko) | 2006-05-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100476760C (zh) | 用于分级高速缓存行替换的方法、系统及装置 | |
US9223711B2 (en) | Combining associativity and cuckoo hashing | |
US8176255B2 (en) | Allocating space in dedicated cache ways | |
US6826651B2 (en) | State-based allocation and replacement for improved hit ratio in directory caches | |
CN1317644C (zh) | 简化了缓存替换策略的实现的多线程缓存方法和装置 | |
CN1317645C (zh) | 具有基于线程标识符的缓存清除的多线程缓存方法和装置 | |
US20190155736A1 (en) | Systems and methods for efficient cacheline handling based on predictions | |
CN1940892A (zh) | 逐出高速缓存的行的电路布置、数据处理系统和方法 | |
US7277992B2 (en) | Cache eviction technique for reducing cache eviction traffic | |
US20080215816A1 (en) | Apparatus and method for filtering unused sub-blocks in cache memories | |
US8433856B2 (en) | Pseudo least recently used replacement/allocation scheme in request agent affinitive set-associative snoop filter | |
US20030061450A1 (en) | List based method and apparatus for selective and rapid cache flushes | |
CN1447940A (zh) | 以高速缓存连贯性为基础的高速缓存线的预加载和预控制 | |
US6625694B2 (en) | System and method for allocating a directory entry for use in multiprocessor-node data processing systems | |
US6772299B2 (en) | Method and apparatus for caching with variable size locking regions | |
US8473686B2 (en) | Computer cache system with stratified replacement | |
JP4068185B2 (ja) | コンピュータ・システムでのメモリ・ストレージ・モードの効果的な選択 | |
CN100514311C (zh) | 用于实现组合式数据/相关性高速缓存的方法和装置 | |
CN113656212B (zh) | 用于缓存目录tcam错误检测和纠正的系统和方法 | |
CN1286006C (zh) | 高速缓存系统与管理高速缓存的方法 | |
KR101976320B1 (ko) | 라스트 레벨 캐시 메모리 및 이의 데이터 관리 방법 | |
US7143239B2 (en) | Cache structure and methodology | |
US8176254B2 (en) | Specifying an access hint for prefetching limited use data in a cache hierarchy | |
Cavazos et al. | Adaptive Prefetching using Neural Networks |
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 |
Granted publication date: 20090408 Termination date: 20160208 |
|
CF01 | Termination of patent right due to non-payment of annual fee |