当前位置: 首页 > 专利查询>英特尔公司专利>正文

用于高性能高速缓存的基于近期最少使用的热跟踪机制增强制造技术

技术编号:19121834 阅读:33 留言:0更新日期:2018-10-10 05:04
用于对在高速缓冲存储器中存取的数据进行缓存的方法和装置,其包括基于从高速缓冲存储器存取的高速缓存块来从多个列表中选择列表,高速缓冲存储器被划分成多个高速缓存部分,多个列表中的每个列表被分配给多个高速缓存部分中的相应高速缓存部分,多个列表中的每个列表指示相应高速缓存部分中的高速缓存块被存取的次序。此外,可以包括关于所存取的高速缓存块是否满足列表更新标准进行确定,以及基于确定所存取的高速缓存块满足列表更新标准来对分配给所选定的列表的高速缓存块从高速缓冲存储器被存取的次序进行更新。

【技术实现步骤摘要】
用于高性能高速缓存的基于近期最少使用的热跟踪机制增强
本文所描述的各种方面总体上涉及用于对数据取回进行优化的方法和设备,并且更具体地涉及增强的高速缓存性能架构和与其相关联的高速缓存管理技术。
技术介绍
可以通过将一定量的数据放入高速缓冲存储器中来减少与系统存储器存取相关联的时延。通过将数据存储在高速缓冲存储器中,在下次该数据被请求时,处理器可以更快速地对该数据进行存取。然而,高性能处理器架构已经朝向以多个处理核心为特征的设计进行转移,每个处理核心具有同时执行多个独立线程的能力。因此,共享资源(比如用于高速缓冲存储器的近期最少使用(LRU)列表)可能由于源自于这些高处理能力中的一个或多个的输入/输出(I/O)瓶颈而在减少时延方面变得没那么高效。附图说明在附图中,相似的附图标记一般贯穿不同的视图指代相同的部分。附图不一定按比例绘制,而是重点一般应放在对本公开的原理进行说明上。在下面的说明中,参考以下附图描述了本公开的各种方面,其中:图1示出了示例性计算系统架构的配置;图2A示出了第一高速缓存管理列表实现;图2B示出了第一高速缓存管理列表实现的操作;图3示出了双向链表实现的逻辑表示;图4A示出了第二高速缓存管理列表实现;图4B示出了第二高速缓存管理列表实现的操作;图4C示出了第二高速缓存管理列表实现的方法;图5A示出了第三高速缓存管理列表实现;图5B示出了第三高速缓存管理列表实现的操作;图5C示出了第三高速缓存管理列表实现的方法;图6A示出了第四高速缓存管理列表实现;图6B示出了第四高速缓存管理列表实现的操作;图6C示出了第四高速缓存管理列表实现的方法;图6D示出了第四高速缓存管理列表实现的流程图;以及图7示出了根据第一高速缓存管理列表实现和第四高速缓存管理列表实现获得的数据吞吐量测量的比较。具体实施方式下面的详细描述参考附图,附图通过说明的方式示出了可以实践本公开内容的具体细节和方面。贯穿附图,应当注意,相似的附图标记用于描绘相同或类似的元素、特征以及结构。“示例性”一词在本文中用于表示“用作示例、实例、或说明”。本文描述为“示例性”的任何方面或设计不一定解释为相对于其它方面或设计是优选的或有利的。说明书和权利要求书中的用词“复数”和“多个”明确地指代大于一的量。因此,对涉及对象的量的上述用词进行明确地援引的任何短语(例如,“复数个【对象】”、“多个【对象】”明确地指代所述对象中的多于一个对象。说明书和权利要求书中的术语“(的)组”、“(的)集合”、“(的)集合体”、“(的)系列”、“(的)序列”、“(的)群组”等等(如果有的话)指代等于或大于一的量,即,一个或多个。术语“恰当子集”、“精简子集”以及“较小子集”指代集合中的不等于该集合的子集,即,集合中的包含比该集合少的元素的子集。应意识到,本文所使用的任何向量和/或矩阵记号本质上是示例性的,并且仅用于说明的目的。因此,应理解的是,本公开中详述的方法不限于仅使用向量和/或矩阵来实现,并且可以关于数据、观测、信息、信号等的集合、序列、组等来等同地执行相关联的过程和计算。此外,应意识到,对“向量”的提及可以指代任何大小或取向的向量,例如,包括1x1向量(例如,标量)、1xM向量(例如,行向量)以及Mx1向量(例如,列向量)。类似地,应意识到,对“矩阵”的提及可以指代任何大小或取向的矩阵,例如,包括1x1矩阵(例如,标量)、1xM矩阵(例如,行向量)以及Mx1矩阵(例如,列向量)。如本文所使用的“电路”应理解为任何种类的逻辑实现实体,其可以包括专用硬件或执行软件的处理器。电路因此可以是模拟电路、数字电路、混合信号电路、逻辑电路、处理器、微处理器、中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、集成电路、专用集成电路(ASIC)等,或其任何组合。将在下面更详细描述的相应功能的任何其它种类的实现方式也可以理解为“电路”。应理解,本文详述的电路中的任何两个(或更多个)可以实现为具有等同功能的单个电路等等,并且相反,本文详述的任何单个电路可以实现为具有等同功能的两个(或更多个)分开的电路等等。另外,对“电路”的提及可以指代共同地形成单个电路的两个或更多个电路。如本文所使用的,“存储器”、“存储器设备”等可以理解为非暂时性计算机可读介质,其中可以存储数据或信息以供取回。本文所包含的对“存储器”的提及因此可理解为指代易失性或非易失性存储器,包括随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器、固态存储装置、磁带、硬盘驱动器、光驱动器、3D交叉点(3DXP)等,或其任何组合。此外,应意识到,寄存器、移位寄存器、处理器寄存器、数据缓冲器等也由术语存储器包含于本文中。应意识到,被称为“存储器”或“一个存储器”的单个组件可以由多于一种不同类型的存储器构成,并且因此可以指代包括一种或多种类型的存储器的集合体组件。易于理解的是,任何单个存储器组件可以分离成多个共同等同的存储器组件,并且反之亦然。此外,虽然存储器可以描绘为与一个或多个其它组件分开(例如,在附图中),但是应理解,存储器可以集成在另一组件内,例如,在公共集成芯片上。易失性存储器可以是需要电力来维持由介质存储的数据的状态的存储介质。易失性存储器的非限制示例可以包括各种类型的RAM,例如,动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。可以在存储器模块中使用的一种特定类型的DRAM是同步动态随机存取存储器(SDRAM)。在一些方面,存储器组件的DRAM可以满足由联合电子设备工程委员会(JEDEC)颁布的标准,例如,用于双数据速率(DDR)SDRAM的JESD79F、用于DDR2SDRAM的JESD79-2F、用于DDR3SDRAM的JESD79-3F、用于DDR4SDRAM的JESD79-4A、用于低功率DDR(LPDDR)的JESD209、用于LPDDR2的JESD209-2、用于LPDDR3的JESD209-3、以及用于LPDDR4的JESD209-4(这些标准可以在www.jedec.org获得)。这些标准(以及类似的标准)可以称为基于DDR的标准,并且实现这些标准的存储设备的通信接口可以称为基于DDR的接口。各种方面可以应用于包括非易失性存储器的任何存储器设备。在一个方面,存储器设备是块可寻址的存储器设备,例如,基于与非(NAND)逻辑或者或非(NOR)逻辑技术的那些存储器设备。存储器还可以包括下一代非易失性设备,例如,3DXP存储器设备、或者其它字节可寻址的写入到位(write-in-place)非易失性存储器设备。3DXP存储器可以包括无晶体管可堆叠交叉点架构,其中存储器单元位于字线和位线的交叉处并且单独可寻址,并且其中位存储是基于体电阻的变化的。在一些方面,存储器设备可以是或者可以包括使用硫系玻璃的存储器设备,多阈值水平NAND闪速存储器,NOR闪速存储器,单级或多级相变存储器(PCM),电阻存储器,纳米线存储器,铁电晶体管随机存取存储器(FeTRAM),防铁电存储器,包含忆阻器技术的磁阻随机存取存储器(MRAM)存储器,包括金属氧化物基、氧空位基的电阻存储器和导电桥随机存取存储器(CB-RAM),自旋移矩(STT本文档来自技高网...
用于高性能高速缓存的基于近期最少使用的热跟踪机制增强

【技术保护点】
1.一种用于对在存储设备中存取的数据进行缓存的方法,所述方法包括:基于从高速缓冲存储器存取的高速缓存块来从多个列表中选择列表,所述高速缓冲存储器被划分成多个高速缓存部分,所述多个列表中的每个列表被分配给所述多个高速缓存部分中的相应高速缓存部分,所述多个列表中的每个列表指示所述相应高速缓存部分中的高速缓存块被存取的次序;确定所存取的高速缓存块是否满足列表更新标准;以及基于确定所存取的高速缓存块满足所述列表更新标准,对分配给所选定的列表的高速缓存块从所述高速缓冲存储器被存取的所述次序进行更新。

【技术特征摘要】
2017.03.23 US 15/466,9861.一种用于对在存储设备中存取的数据进行缓存的方法,所述方法包括:基于从高速缓冲存储器存取的高速缓存块来从多个列表中选择列表,所述高速缓冲存储器被划分成多个高速缓存部分,所述多个列表中的每个列表被分配给所述多个高速缓存部分中的相应高速缓存部分,所述多个列表中的每个列表指示所述相应高速缓存部分中的高速缓存块被存取的次序;确定所存取的高速缓存块是否满足列表更新标准;以及基于确定所存取的高速缓存块满足所述列表更新标准,对分配给所选定的列表的高速缓存块从所述高速缓冲存储器被存取的所述次序进行更新。2.根据权利要求1所述的方法,其中,从所述多个列表中选择所述列表包括:在查找表内确定所存取的高速缓存块在所述高速缓冲存储器中的地址是否与所选定的列表相关联。3.根据权利要求2所述的方法,其中,从所述多个列表中选择所述列表还包括:基于确定所存取的高速缓存块的所述地址与所选定的列表相关联,从所述多个列表中选择所述列表。4.根据权利要求1至3中任一项所述的方法,其中,确定所存取的高速缓存块是否满足所述列表更新标准包括:确定所存取的高速缓存块是否先前在所选定的列表的阈值更新次数内被存取。5.根据权利要求1所述的方法,还包括:每次对高速缓存块中的相应高速缓存块进行的存取使得所选定的列表的所述次序被更新时对计数值进行修改;以及将修改后的计数值与高速缓存块中的使得所选定的列表被更新的所述相应高速缓存块进行关联,其中,确定所存取的高速缓存块是否满足所述列表更新标准包括:将与所存取的高速缓存块相关联的所述修改后的计数值与所选定的列表的阈值更新次数进行比较。6.根据权利要求5所述的方法,其中,确定所存取的高速缓存块是否满足所述列表更新标准还包括:基于所述修改后的计数值大于或等于所述阈值更新次数,确定所存取的高速缓存块满足所述列表更新标准。7.根据权利要求5或6中任一项所述的方法,还包括:将所述修改后的计数值设定为与高速缓存块中的使得所选定的列表被更新的所述相应高速缓存块相关联的时间戳值,其中,确定所存取的高速缓存块是否满足所述列表更新标准还包括:将与所存取的高速缓存块相关联的所述时间戳值与所选定的列表的阈值更新次数进行比较。8.根据权利要求1至6中任一项所述的方法,其中,对分配给所选定的列表的高速缓存块被存取的所述次序进行更新包括:将所存取的高速缓存块的位置更新到由所选定的列表指示的所述次序内的头位置。9.根据权利要求1至6中任一项所述的方法,还包括:使用指示更新后的次序的所选定的列表来从所述高速缓冲存储器返回高速缓存块。10.根据权利要求1至6中任一项所述的方法,还包括:基于逐出次序来从所述多个列表中确定用于逐出过程的列表。11.根据权利要求10所述的方法,还包括:基于所述逐出次序来从所确定的列表中逐出高速缓存块。12.一种用于对在存储设备中存取的数据进行缓存的方法,所述方法包括:基...

【专利技术属性】
技术研发人员:M·怀佐克赞斯基M·巴尔科扎克
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1