CN101213525A - 任务上下文高速缓存替换的方法、装置及*** - Google Patents
任务上下文高速缓存替换的方法、装置及*** Download PDFInfo
- Publication number
- CN101213525A CN101213525A CNA2006800238757A CN200680023875A CN101213525A CN 101213525 A CN101213525 A CN 101213525A CN A2006800238757 A CNA2006800238757 A CN A2006800238757A CN 200680023875 A CN200680023875 A CN 200680023875A CN 101213525 A CN101213525 A CN 101213525A
- Authority
- CN
- China
- Prior art keywords
- context
- segment
- locked
- subclauses
- clauses
- 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.)
- Pending
Links
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/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/126—Replacement control using replacement algorithms with special data handling, e.g. priority of data or instructions, handling errors or pinning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
一种设备包括具有加锁段和未加锁段的高速缓冲存储器。控制器连接到该高速缓冲存储器。一种方法将高速缓冲存储器划分为多个上下文段,并且如果传输层完成针对一个上下文条目的帧处理,则将该上下文条目与所述多个上下文段中的至少一个段相关联。所述至少一个段是未加锁上下文段。
Description
技术领域
本发明的实施例涉及上下文(context)高速缓存替换,并且尤其涉及把上下文高速缓存分割成多个段(segment)。
背景技术
在分组化协议引擎(packetized protocol engine)设计中,例如硬件存储等,传送和接收任务的处理需要使用被称为“任务”或“I/O”上下文的数据结构。任务上下文包含关于以下的信息:在特定输入/输出(I/O)任务内的帧处理,以及允许传输层恢复执行已和其它任务交错的任务的硬件状态。如果该硬件分组化协议引擎被设计成用以支持大量未完成的I/O任务,则需要很大的上下文存储器(例如,随机存取存储器(RAM))(或者是片上的或者是通过外部存储器接口)。
为了保持低成本,这些设计典型地以覆盖空间(footprint space)来换取存储器等待时间,导致了在上下文切换时的性能损失。为了设法避免该换取,分组化协议引擎设计可以实现高速缓冲存储器,以用于在本地存储通常访问的任务上下文。
如果实现上下文高速缓存,则需要一个用新请求的上下文换出先前使用的上下文的处理。一种常见的替换这些上下文的方法是移除“最近最少使用”(LRU)条目(entry)。使用LRU替换的设计等待传输层来请求新的上下文,然后确定哪一个上下文没有被访问的时间周期最长,并且换入新的上下文来替代被选中驱逐(eviction)的上下文。
在分组化协议引擎中使用简单的LRU会出现一些问题。例如:假设两个串接的SCSI(小型计算机***接口)(SAS)标准(例如,2005年5月30日的版本1.1,修订本09d;SAS-1.1)通道共享一个其空间只能容纳两个上下文的上下文高速缓存。出现下面的情况(参见图1100)。通道0 110请求上下文Cx。Cx被从上下文存储器160载入到该高速缓冲存储器,并且通道0 110传输层开始处理帧X 130。随后,通道1120请求上下文Cy。Cy被载入到该高速缓冲存储器,并且通道1传输层120开始处理帧Y 140。通道1120完成了对帧Y 140的处理,并且通过写入到该高速缓冲存储器来更新上下文Cy。通道1 120请求上下文Cz以便处理下一个帧Z 150。因为上下文Cy是最近更新的,所以简单的LRU将会建议驱逐上下文Cx以便为该新上下文腾出空间。由于通道0 110仍然在使用上下文Cx来处理帧X 130,因此这不是最优的选择。
另一个例子是两个通道共享一个上下文高速缓存的情形。如图2所示,该高速缓冲存储器具有容纳四(4)个上下文的空间,并且实施了一种机制来防止正在使用中的上下文被替换。通道0传输层210请求上下文Cx。Cx被从上下文存储器240载入到该高速缓冲存储器,并且通道0传输层210开始处理帧X 225。通道1传输层220请求上下文Cy。Cy被载入到该高速缓冲存储器,并且通道1传输层220开始处理帧Y 227。通道0传输层210向高速缓存指示,不久将会需要上下文Cz(帧Z 266要进入到通道0传输层210上)。上下文Cz被预取到该高速缓冲存储器中。通道1传输层220向高速缓冲存储器指示,不久将会需要上下文Cv(帧V 228要进入到通道1传输层220上)。上下文Cv被预取到该高速缓冲存储器中。
通道1传输层220完成了对帧Y 227的处理,并且通过写入到该高速缓冲存储器来更新上下文Cy。通道1传输层220开始处理帧V228,该帧V 228使用上下文Cv。通道1传输层220向高速缓冲存储器指示,不久将会需要上下文Cw(帧W 229要进入到通道1传输层220上)。因为上下文Cx被通道0传输层210所拥有,所以它不能被替换。下一个最近最少使用的上下文是Cz(Cy刚被更新而Cv还在使用中)。然而,驱逐Cz并不是最优的选择,因为其不久将会被使用(它被预取了)。在这个例子中,LRU并不是最优的选择。
附图说明
在附图中,以示例方式而非限制方式说明了本发明的实施例,并且图中相似的引用数字指代相似的单元,其中:
图1说明了最近最少使用(LRU)高速缓存上下文机制的一个示例;
图2说明了LRU高速缓存上下文机制的另一个示例;
图3说明了包括高速缓存上下文段的一个实施例;
图4说明了一个实施例的***;
图5说明了一个处理过程实施例的框图。
具体实施方式
这里所论述的实施例通常涉及一种用于改进上下文高速缓存效率的方法、***和装置。下面将参考附图描述示例性实施例。提供示例性实施例以说明实施例,但不应将其解释为限制了实施例的范围。
图3说明的实施例包括高速缓冲存储器(例如,上下文高速缓冲存储器)310、分组化协议引擎360和上下文高速缓存控制器370。在一个实施例中,上下文高速缓存控制器包括逻辑交换设备320。在一个实施例中,高速缓冲存储器310可以被分成多个段,例如段330、段340、段350等等,用以在每一个段中为不同类型的上下文(例如,预取的、加锁的、未加锁的)提供服务。在一个实施例中,可以通过逻辑地划分高速缓冲存储器310来形成多个段。在另一个实施例中,可以使用两个或更多高速缓冲存储器,以便为不同类型的上下文提供服务。在一个实施例中,一个字段与每个高速缓存上下文条目相关联,该字段指示一个定义了该条目所属的段的逻辑值。在一个实施例中,段330是预取上下文段,段340是加锁上下文段,段350是未加锁上下文段。在一个实施例中,高速缓冲存储器310并不包括段330。在这个实施例中,高速缓冲存储器310被划分成两个段,段340和段350。
设备300进一步包括连接到高速缓冲存储器310的分组化协议引擎360。分组化协议引擎360可以适应于不同类型的协议,例如存储协议、输入/输出协议等等。应该注意的是,段330、340和350可以关联于这三种类型的上下文中的任何一种。为了简单起见,下面的论述中,将段330作为预取上下文段330,将段340作为加锁上下文段340,而将段350作为未加锁上下文段350。
如上所述,在一个实施例中,预取上下文段330、加锁上下文段340和未加锁上下文段350是高速缓冲存储器310中的单独分区。在另一个实施例中,段330、段340和段350每个都与一个逻辑状态相关联,所述逻辑状态区分三种类型的上下文段,例如(00,01,10;000,010,100等等)。
在一个实施例中,预取的上下文段330支持包括来自传输层或逻辑处理中的上下文提示(hint)。在这个实施例中,预取的上下文可能不久就会被使用,并且不会被从高速缓冲存储器310中驱逐,除非没有其它有效的候选者。在这个实施例中,所述提示包括来自先行设备(look-ahead device)(例如缓冲器)的已知上下文。在一个实施例中,加锁上下文段340使上下文传输层能够标记当前使用的上下文。在一个实施例中,加锁上下文段340包括当前由传输层逻辑使用的上下文。该加锁上下文在任何情况下都不会被替换。未加锁上下文段350存储被加锁并且随后已被释放的上下文。如果需要高速缓冲存储器310内的存储空间,则未加锁上下文将首先会被替换。在另一个实施例中,上下文高速缓存控制器370使用最近最少使用(LRU)驱逐处理来对未加锁上下文段350进行操作。应该注意的是,还可以使用其它已知的驱逐处理。
图4说明了包括高速缓冲存储器310的***的实施例。***400进一步包括处理器410、主存储器420、存储器控制器440和分组化控制器460。在一个实施例中,***400包括连接到处理器410的显示器430。显示器430可以是诸如有源矩阵液晶显示器(LCD)、双扫描超扭曲向列型显示器之类的显示设备。***400也可以包括具有降低的分辨率和仅单色显示能力的较低价格的显示面板。应该注意的是,未来技术的平板显示器也可以用于显示器430。在一个实施例中,处理器410是中央处理单元(CPU)。在另一个实施例中,***400包括多个处理器410。
处理器410连接到分组化控制器460,该分组化控制器包括高速缓冲存储器310、高速缓存控制器370和分组化协议引擎360。在一个实施例中,分组化控制器460是存储设备控制器。一个或多个设备450连接到分组化控制器460。在一个实施例中,设备450是存储设备。在另一个实施例中,设备450是输入/输出设备。
高速缓冲存储器310包括预取上下文段330、加锁上下文段340和未加锁上下文段350。在另一个实施例中,高速缓冲存储器310不包括预取上下文段330。
主存储器420连接到存储器控制器440。在一个实施例中,主存储器420可以是例如随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、只读存储器(ROM)等这样的存储设备。应该注意的是,未来的存储设备也可以用于主存储器420。在一个实施例中,上下文高速缓存控制器370包括至少一个驱逐处理。在一个实施例中,分组化协议引擎360包括LRU驱逐处理。在其它实施例中,在驱逐处理中使用其它驱逐技术。
在一个实施例中,预取上下文段330、加锁上下文段340和未加锁上下文段350是高速缓冲存储器310中分别分配的地址块。在另一个实施例中,预取上下文段330、加锁上下文段340和未加锁上下文段350中的每一个在一个字段(例如,附属于/关联于一个地址的一个字段等)中均具有不同的逻辑值。在一个实施例中,预取上下文段330存储部分受保护的上下文。该预取段的上下文是部分受保护的,这是因为未加锁段的条目会首先被替换。在另一个实施例中,加锁上下文段340使传输层能够将当前使用的上下文标记(即,分配逻辑值或移动到加锁分区)为加锁的,以禁止替换。
图5说明一个处理过程实施例的框图。过程500开始于块510,其中,上下文高速缓存中的所有高速缓存上下文条目被初始化为无效。块511确定是否接收到了上下文请求。如果块511确定没有接收到上下文请求,则过程500在块511中继续,直到接收到上下文请求为止。如果块511确定已接收到上下文请求,则过程500继续进行块512。
块512确定在高速缓存中是否有上下文“命中”。如果块512确定在该高速缓存中存在命中,则过程500继续进行块515。在块515中,确定被请求的上下文是否在加锁段(例如段340)中。如果块515确定该被请求的上下文是在加锁段中,则过程500继续进行块516。块516确定加锁的上下文是否被请求该上下文的代理所拥有。如果块516确定该加锁的上下文并不是被请求设备所拥有的,则过程500继续进行块511。
如果块516确定该加锁的上下文是被请求设备所拥有的,则过程500继续进行块550。如果块512确定在该高速缓存中没有上下文命中,则过程500继续进行块513。块513确定是否有无效条目可用。如果块513确定有可用的无效条目,则过程500继续进行块517。块517将所请求的上下文载入到无效条目中。过程500继续进行块518,其中,确定该上下文请求是否为预取提示。如果块518确定该请求是预取提示,则过程500继续进行块522。如果块518确定该请求不是预取提示,则过程500继续进行块545。
块545将该上下文条目标记为加锁的,并且更新所请求的上下文的所有者标识。过程500继续进行块550,其中,确定帧处理是否已经完成。如果块550确定该帧处理没有完成,则过程500在块550中继续,直到该帧完成为止。如果块550确定该帧处理已经完成,则过程500继续进行块523。
块523确定该上下文是否仍旧被预取逻辑所请求。如果确定没有对该上下文的请求,则过程500继续进行块555。块555将该条目标记为未加锁的,并且过程500继续进行块511。如果块523确定该上下文仍旧被预取逻辑所请求,则过程500继续进行块522。
块522将该条目标记为预取的,并且过程500继续进行块511。如果块513确定没有可用的无效条目,则过程500继续进行块514。块514确定是否有可用的未加锁条目。如果块514确定有可用的未加锁条目,则过程500继续进行块520。块520驱逐未加锁段中的一个条目。在一个实施例中,块520使用LRU处理来选择要驱逐的条目。在其它实施例中,可以使用其它驱逐技术。然后,过程500继续进行块521。
块521载入所请求的上下文来替换被驱逐的上下文。过程500继续进行块518。如果块514确定没有可用的未加锁条目,则过程500继续进行块524。块524驱逐该高速缓存的预取段中的一个条目。在一个实施例中,使用LRU处理来进行驱逐。在其它实施例中,使用了其它的驱逐处理技术。然后,过程500继续进行块521。
在一个实施例中,标记上下文条目包括,改变上下文条目的相关字段的逻辑状态。在一个实施例中,预取上下文、加锁上下文和未加锁上下文的逻辑状态均是不同的。在另一个实施例中,在高速缓冲存储器中标记条目包括,将该高速缓冲存储器划分为预取上下文分区、加锁上下文分区和未加锁上下文分区。在这个实施例中,当条目的当前状态(即,预取的、加锁的或未加锁的)改变时,将该条目移动到适当的分区中。
在一个实施例中,当传输层准备使用上下文“A”时,传输层从高速缓冲存储器中读取该上下文“A”。随后将上下文“A”从预取上下文段移动/标记到加锁上下文段。在上下文“A”被移动的情况下,上下文“A”被物理地移动到适当的分区。在上下文“A”被标记的情况下,将与该上下文的地址的相关联的字段修改为与上下文类型相关联的适当值。当传输层完成对该帧的处理时,其更新上下文“A”,并且向高速缓冲存储器发送信号以释放该上下文。如果该上下文仍旧被预取逻辑所请求,则将该上下文移动/标记到预取段。否则,现在将上下文“A”移动到未加锁上下文段。或者,如果上下文“A”(通过相同的通道或不同的通道)再次被读取,其将会被移回到加锁上下文段中。
在一个实施例中,当需要选择驱逐的上下文条目时,预取上下文段、加锁上下文段和未加锁上下文段提供了选择正确条目以进行替换的基础。在一个实施例中,替换处理如下。在未加锁段中的LRU上下文条目首先被驱逐。如果未加锁上下文段为空,则选择来自预取上下文段的LRU条目进行驱逐。加锁上下文段中的上下文条目从来不会被选择替换。
在一个实施例中,通过将高速缓存分成三个段,替换逻辑可以智能地决定哪些上下文仍旧是分组化协议引擎所需的,以及哪些上下文条目可被替换。在一个实施例中,取决于分组化协议引擎的性能特点,可以将来自传输层或逻辑处理的提示用于发送或接收。
还可以将一些实施例存储在设备或机器可读介质上,并且可以由机器进行对其进行读取以执行指令。机器可读介质包括以机器(例如,计算机、PDA、移动电话等)可读的形式提供(即,存储和/或传送)信息的任何机构。例如,机器可读介质包括:只读存储器(ROM);随机存取存储器;磁盘存储介质;光存储介质;闪速存储设备;生物电子、机械***;电、光、声或其它形式的传播信号(例如,载波、红外信号、数字信号等)。该设备或机器可读介质可以包括:微机电***(MEMS),纳米技术设备,有机的、全息的、固态的存储设备和/或旋转式磁盘或光盘。当指令段被分到不同的机器中时,该设备或机器可读介质被进行分发,例如在计算机互连上或作为不同的虚拟机。
尽管以上描述了并在附图中示出了特定的示例性实施例,但应该理解的是,这些实施例仅是说明性的,而并不对本发明的范围构成限制,并且本发明并不受限于所示出和描述的特定的结构和布置,这是因为本领域普通技术人员可以对其进行各种各样的其它修改。
在本说明书中,对“一实施例”、“一个实施例”、“一些实施例”或“其它实施例”的引用表示,结合实施例描述的特定的特征、结构或特点被包括在至少一些实施例中,但不必是所有的实施例。各个位置上出现的“一实施例”、“一个实施例”或“一些实施例”并不一定均指代相同的实施例。如果说明书陈述了“可以”、“可能”或“能够”包括一个部件、特征、结构或特点,则并不是必须包括该特定的部件、特征、结构或特点。如果说明书或权利要求书提及“一”或“一个”单元,则其并不表示仅存在一个这样的单元。如果说明书或权利要求书提及“附加的”单元,则其并不排除存在多于一个这样的附加单元的情况。
Claims (25)
1.一种装置,包括:
高速缓冲存储器,其具有加锁段和未加锁段,以及
控制器,其耦合到所述高速缓冲存储器。
2.如权利要求1所述的装置,还包括:
分组化协议引擎,其耦合到所述高速缓冲存储器。
3.如权利要求1所述的装置,还包括:
第三段,
其中,所述第三段是预取上下文段。
4.如权利要求3所述的装置,其中,所述第一段、第二段和第三段是所述高速缓冲存储器中的单独分区。
5.如权利要求3所述的装置,其中,所述第一段、第二段和第三段每个均与一个上下文类型字段相关联。
6.如权利要求1所述的装置,其中,所述第一段是加锁上下文段,所述第二段是未加锁上下文段。
7.如权利要求2所述的装置,其中,所述控制器包括:
针对所述第一段和第二段中仅一个的驱逐逻辑。
8.一种***,包括:
处理器,其耦合到包括高速缓冲存储器的分组化控制器,所述高速缓冲存储器包括第一上下文段、第二上下文段和第三上下文段;以及
显示器,其耦合到所述处理器。
9.如权利要求8所述的***,所述分组化控制器还包括:
分组化协议引擎,其耦合到所述高速缓冲存储器;以及
高速缓存控制器,其耦合到所述高速缓冲存储器。
10.如权利要求8所述的***,其中,所述多个上下文段包括预取段、加锁上下文段和未加锁上下文段。
11.如权利要求8所述的***,其中,所述多个上下文段是所述高速缓冲存储器中的不同的存储块。
12.如权利要求8所述的***,其中,所述多个上下文段每个均具有其逻辑值不同的相关字段。
13.如权利要求10所述的***,还包括:
加锁逻辑,用于禁止替换传输层当前使用的所述加锁上下文段。
14.一种机器可访问介质,其包含有当被执行时使机器进行以下步骤的指令:
将第一上下文条目存储在高速缓冲存储器中;
将第二上下文条目存储在所述高速缓冲存储器中;以及
如果传输层完成针对第三上下文条目的帧处理,则将该条目存储在所述高速缓冲存储器中。
15.如权利要求14所述的机器可访问介质,其中
所述第一上下文条目是预取上下文条目,所述第二上下文条目是加锁上下文条目,以及所述第三上下文条目是未加锁上下文条目。
16.如权利要求14所述的机器可访问介质,还包含当被执行时使机器进行以下步骤的指令:
确定所述条目是否将被替换,
如果确定所述条目将被替换:
如果有可用的未加锁条目,则从所述高速缓冲存储器中驱逐未加锁上下文条目,以及
仅当没有条目是未加锁上下文时,才从所述高速缓冲存储器中驱逐预取上下文条目。
17.如权利要求15所述的机器可访问介质,其中,所存储的预取上下文条目、所存储的加锁上下文条目、以及所存储的未加锁上下文条目每个均与具有不同逻辑值的字段相关联。
18.如权利要求14所述的机器可访问介质,所述存储预取上下文条目、存储加锁上下文条目、以及存储未加锁上下文条目还包含当被执行时使机器进行以下步骤的指令:
改变每一上下文条目的相关字段中的逻辑值,其中,所述预取上下文条目、加锁上下文条目和未加锁上下文条目的逻辑值均是不同的。
19.如权利要求14所述的机器可访问介质,所述存储预取上下文条目、存储加锁上下文条目、以及存储未加锁上下文条目还包含当被执行时使机器进行以下步骤的指令:
将所述高速缓冲存储器划分为预取上下文分区、加锁上下文分区和未加锁上下文分区。
20.一种方法,包括:
将高速缓冲存储器划分为多个上下文段;以及
如果传输层完成针对一个上下文条目的帧处理,则将该上下文条目与所述多个上下文段中的至少一个段相关联,其中,所述至少一个段是未加锁上下文段。
21.如权利要求20所述的方法,还包括:
如果所述传输层准备使用一个上下文条目,则将该上下文条目与所述多个上下文段中的至少一个段相关联,其中,所述至少一个段是加锁上下文段。
22.如权利要求20所述的方法,还包括:
基于上下文提示,将一个上下文条目与所述多个上下文段中的至少一个段相关联,
其中,所述多个上下文段中的至少一个段是预取上下文段。
23.如权利要求20所述的方法,还包括:
确定所述上下文条目是否将被替换,
如果确定所述上下条目将被替换:
如果至少一个上下文条目是未加锁上下文条目,则驱逐未加锁上下文条目,以及
仅当所述高速缓冲存储器中不存在未加锁上下文时,才驱逐预取上下文条目。
24.如权利要求20所述的方法,还包括:
通过相关字段中的逻辑状态,将上下文条目与所述多个上下文段相关联,
其中,所述多个上下文段中的每一个段的逻辑状态均是不同的。
25.如权利要求20所述的方法,将所述高速缓冲存储器划分为多个上下文段包括:
将所述高速缓冲存储器的多个部分分配给所述多个上下文段中的每一个段。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/170,872 US20070005898A1 (en) | 2005-06-30 | 2005-06-30 | Method, apparatus and system for task context cache replacement |
US11/170,872 | 2005-06-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101213525A true CN101213525A (zh) | 2008-07-02 |
Family
ID=37081593
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006800238757A Pending CN101213525A (zh) | 2005-06-30 | 2006-06-28 | 任务上下文高速缓存替换的方法、装置及*** |
Country Status (5)
Country | Link |
---|---|
US (1) | US20070005898A1 (zh) |
EP (1) | EP1899819A2 (zh) |
CN (1) | CN101213525A (zh) |
TW (1) | TW200712887A (zh) |
WO (1) | WO2007005514A2 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103999062A (zh) * | 2011-10-26 | 2014-08-20 | 惠普发展公司,有限责任合伙企业 | 经分段的高速缓存 |
CN110647390A (zh) * | 2019-09-20 | 2020-01-03 | 西安交通大学 | 一种多核***基于局部性量化的并行任务分配调度方法 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7376789B2 (en) * | 2005-06-29 | 2008-05-20 | Intel Corporation | Wide-port context cache apparatus, systems, and methods |
US7676604B2 (en) * | 2005-11-22 | 2010-03-09 | Intel Corporation | Task context direct indexing in a protocol engine |
US7809068B2 (en) * | 2005-12-28 | 2010-10-05 | Intel Corporation | Integrated circuit capable of independently operating a plurality of communication channels |
US8261284B2 (en) * | 2007-09-13 | 2012-09-04 | Microsoft Corporation | Fast context switching using virtual cpus |
US20090276700A1 (en) * | 2008-04-30 | 2009-11-05 | Nokia Corporation | Method, apparatus, and computer program product for determining user status indicators |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5577224A (en) * | 1994-12-13 | 1996-11-19 | Microsoft Corporation | Method and system for caching data |
US20050102474A1 (en) * | 2003-11-06 | 2005-05-12 | Sridhar Lakshmanamurthy | Dynamically caching engine instructions |
-
2005
- 2005-06-30 US US11/170,872 patent/US20070005898A1/en not_active Abandoned
-
2006
- 2006-06-28 WO PCT/US2006/025352 patent/WO2007005514A2/en active Application Filing
- 2006-06-28 CN CNA2006800238757A patent/CN101213525A/zh active Pending
- 2006-06-28 EP EP06785834A patent/EP1899819A2/en active Pending
- 2006-06-30 TW TW095123905A patent/TW200712887A/zh unknown
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103999062A (zh) * | 2011-10-26 | 2014-08-20 | 惠普发展公司,有限责任合伙企业 | 经分段的高速缓存 |
TWI574203B (zh) * | 2011-10-26 | 2017-03-11 | 惠普發展公司有限責任合夥企業 | 用以分割快取記憶體的方法及相關儲存媒體與裝置 |
US9697115B2 (en) | 2011-10-26 | 2017-07-04 | Hewlett-Packard Development Company, L.P. | Segmented caches |
CN110647390A (zh) * | 2019-09-20 | 2020-01-03 | 西安交通大学 | 一种多核***基于局部性量化的并行任务分配调度方法 |
CN110647390B (zh) * | 2019-09-20 | 2021-12-28 | 西安交通大学 | 一种多核***基于局部性量化的并行任务分配调度方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2007005514A3 (en) | 2007-05-10 |
US20070005898A1 (en) | 2007-01-04 |
WO2007005514A2 (en) | 2007-01-11 |
EP1899819A2 (en) | 2008-03-19 |
TW200712887A (en) | 2007-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4652344B2 (ja) | 圧縮されたキャッシュラインのワース・オブ・インフォメーションを利用したマルチプロセッサ計算システム及び当該システムに利用可能なプロセッサ | |
US8595451B2 (en) | Managing a storage cache utilizing externally assigned cache priority tags | |
CN101213525A (zh) | 任务上下文高速缓存替换的方法、装置及*** | |
US7130962B2 (en) | Writing cache lines on a disk drive | |
CN102346683B (zh) | 用于具有定向i/o的虚拟机的热交换有源存储器 | |
JP2509766B2 (ja) | キャッシュメモリ交換プロトコル | |
CN108885585B (zh) | 在基于中央处理单元(cpu)的***中使用多个末级高速缓冲存储器(llc)线提供存储器带宽压缩 | |
US9361122B2 (en) | Method and electronic device of file system prefetching and boot-up method | |
US9063876B2 (en) | System and method for simultaneously storing and read data from a memory system | |
US6782452B2 (en) | Apparatus and method for processing data using a merging cache line fill to allow access to cache entries before a line fill is completed | |
US10936492B2 (en) | Method and apparatus for using a storage system as main memory | |
KR101584911B1 (ko) | 부트 데이터를 캐시하는 고체 상태 드라이브 | |
CN103198026A (zh) | 指令高速缓存功耗降低 | |
JP3460617B2 (ja) | ファイル制御装置 | |
CN102859504A (zh) | 有效分区存储缓存 | |
US10360158B2 (en) | Snoop filter with stored replacement information, method for same, and system including victim exclusive cache and snoop filter shared replacement policies | |
US7831780B2 (en) | Operating system supplemental disk caching system and method | |
US8661169B2 (en) | Copying data to a cache using direct memory access | |
CN104516827B (zh) | 一种读缓存的方法及装置 | |
CN115509611A (zh) | 基于精简指令集的指令获取方法、装置及计算机设备 | |
JP2002108705A (ja) | キャッシュ汚染減少方法および装置 | |
CN107861890A (zh) | 访存处理方法、装置及电子设备 | |
US20160283386A1 (en) | Sequential access of cache data | |
KR20240063607A (ko) | 데이터 및 데이터 블록을 제공하는 스왑 메모리 장치, 이의 동작하는 방법, 및 이를 포함하는 전자 장치의 동작하는 방법 | |
US8589636B2 (en) | Cache memory device, processor, and processing method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080702 |