CN1677369A - 用于分级高速缓存行替换的方法、系统及装置 - Google Patents

用于分级高速缓存行替换的方法、系统及装置 Download PDF

Info

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
Application number
CNA2005100542330A
Other languages
English (en)
Other versions
CN100476760C (zh
Inventor
C·香农
G·斯里尼瓦萨
M·罗兰德
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 CN1677369A publication Critical patent/CN1677369A/zh
Application granted granted Critical
Publication of CN100476760C publication Critical patent/CN100476760C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B64AIRCRAFT; AVIATION; COSMONAUTICS
    • B64DEQUIPMENT FOR FITTING IN OR TO AIRCRAFT; FLIGHT SUITS; PARACHUTES; ARRANGEMENT OR MOUNTING OF POWER PLANTS OR PROPULSION TRANSMISSIONS IN AIRCRAFT
    • B64D47/00Equipment not otherwise provided for
    • B64D47/02Arrangements or adaptations of signal or lighting devices
    • 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/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/128Replacement control using replacement algorithms adapted to multidimensional cache systems, e.g. set-associative, multicache, multiset or multilevel
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B21/00Alarms responsive to a single specified undesired or abnormal condition and not otherwise provided for
    • G08B21/18Status alarms
    • GPHYSICS
    • G08SIGNALLING
    • G08BSIGNALLING OR CALLING SYSTEMS; ORDER TELEGRAPHS; ALARM SYSTEMS
    • G08B7/00Signalling 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/06Signalling 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所述的方法,其中,高速缓存行的状态是修改、专有、共享、或无效。
CNB2005100542330A 2004-02-13 2005-02-08 用于分级高速缓存行替换的方法、系统及装置 Expired - Fee Related CN100476760C (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (4)

* Cited by examiner, † Cited by third party
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