用于缓存第二级存储器装置中存在的数据的第一级存储器装置中的非2次幂大小高速缓存的设备和方法与流程

文档序号:15072244发布日期:2018-08-01 00:06阅读:267来源:国知局

本文所述的实施例一般涉及用于缓存第二级存储器装置中存在的数据的第一级存储器装置中的非2次幂大小高速缓存的设备和方法。



背景技术:

处理器主存储器可包括两级的存储器,包括更快存取的第一级更小存储器,例如动态随机存取存储器(dram)系统,其缓存第二级更大且更慢存储器的数据。第二级存储器作为主存储器而被呈现给主机和操作系统,而第一级存储器用作高速缓存,并且对操作系统是透明的。两级存储器(2lm)的管理可由主机的处理器中的2lm引擎来执行。

附图说明

参照附图,借助于示例来描述实施例,附图不是按比例绘制,其中相似参考标号表示相似元件。

图1示出具有处理器所使用的两级存储器的系统的一实施例。

图2示出针对第二级存储器中的数据的地址的组成部分的一实施例。

图3示出第一级存储器中的高速缓存线的一实施例。

图4示出第一级存储器高速缓存信息的一实施例。

图5a和图5b示出在第一级存储器中缓存第二级存储器的数据的操作的一实施例。

具体实施方式

两级主存储器包括两级的存储器,包括更快存取的第一级更小易失性存储器,例如动态随机存取存储器(dram)系统,其缓存第二级更大且更慢非易失性存储器(例如字节可寻址非易失性随机存取存储器(nvram))的数据。第一级存储器可称作近存储器,而第二级存储器可称作远存储器。第一级存储器通常在存储器具有2次幂容量时提供高速缓存,其中在第一级存储器中实现的高速缓存索引中的高速缓存线覆盖第一级存储器高速缓存的2次幂容量。高速缓存索引中的高速缓存线通过索引号来引用,并且包括具有高速缓存线中缓存的第二级存储器地址的最高有效位的标签。高速缓存线的索引值的数量是通过将2次幂高速缓存大小除以各高速缓存线的大小(也是2次幂)所运算的2次幂。以此方式,所有2m个索引值可在地址的m个位中被指定。

在某些状况中,第一级存储器装置可能没有2次幂容量可用于用作高速缓存线的高速缓存索引,使得第一级存储器高速缓存大小是非2次幂高速缓存大小。解决非2次幂高速缓存大小的一种方式是利用第一级存储器的更小2次幂区域作为高速缓存索引。这种技术是有问题的,因为所使用的更小2次幂区域与完整非2次幂高速缓存大小之间的区域不可用于供高速缓存索引用于通过最大化高速缓存索引中可用的高速缓存线的数量来改进高速缓存命中率。

所描述的实施例提供用于对非2次幂存储器高速缓存(其可用于任何非2次幂高速缓存大小并且可用于任何高速缓存线大小)进行解码的技术。通过所描述的实施例,在接收到对具有针对非易失性存储器(例如第二级存储器)的n个位的目标地址的请求时,作出关于目标索引(包括目标地址的n个位中的m个位)是否处于非2次幂易失性存储器装置(包括第一级存储器)的索引集合之内的确定。如果目标地址中的目标索引超出非2次幂高速缓存大小的可用索引集合,则作出映射到第一级存储器装置的索引集合的已修改目标索引具有与目标地址的目标索引中的对应至少一个索引位不同的至少一个索引位的确定。与已修改目标索引中的索引位不同的来自目标索引的对应索引位被保存在第一存储器装置中的已修改目标索引处的高速缓存线中的标签中。以此方式,目标索引被映射到第一级存储器高速缓存容量的索引集合中的位置,即使高速缓存管理器好像它处置比第一级存储器的非2次幂实际高速缓存大小更大的2次幂高速缓存大小那样来进行操作。

在以下描述中,阐述了诸如逻辑实现、操作码、用于指定操作数的部件、资源划分/共享/重复实现、系统组件的类型和相互关系、以及逻辑划分/综合选择的众多具体细节,以便提供对本发明的更透彻理解。然而,本领域的技术人员将会领会,在没有这类具体细节的情况下也可实施本发明。在其它实例中,尚未详细示出控制结构、门级电路和完整软件指令序列,以免使本发明难以理解。通过所包含的描述,本领域的技术人员将能够实现适当的功能性而无需过分实验。

说明书中对“一个实施例”、“一实施例”、“示例实施例”等的引用指示所描述的实施例可包括特定特征、结构或特性,但是每一个实施例可能不一定包括该特定特征、结构或特性。此外,这类短语不一定指同一实施例。某些实施例涉及存储装置电子组合件。实施例包括用于形成电子组合件的装置和方法。

图1示出系统100的一实施例,系统100具有处理器102、高速缓存管理器104、由高速缓存管理器104所使用的第一级存储器高速缓存信息106、以及用于与第一级存储器110(又称作第一存储器装置或高速缓存)进行接口的第一级存储器控制器108。高速缓存管理器104还可与第二级存储器控制器112进行通信,以访问第二级存储器114(又称作第二存储器装置)中的地址。高速缓存管理器104可通过接口116(例如,外设组件互连(pci)总线、例如外设组件互连高速(pcie)总线、或者任何其他定制总线)来访问第一级存储器110和第二级存储器114。

第一级存储器110和第二级存储器114可包括处理器102的主存储器,其中第一级存储器110作为第二级存储器114的高速缓存进行操作,具有用于缓存来自第二级存储器114的数据块的高速缓存线200。在一个实施例中,第一级存储器110高速缓存线200直接映射到第二级存储器114中的地址,其中标签存储在高速缓存线200中。高速缓存线200可被索引。

第一级存储器110可具有更小大小,并且是比第二存储器装置或第二级存储器114更快存取的存储器。在一个实施例中,第一级存储器208可包括动态随机存取存储器(dram),其缓存第二级存储器114(其可包括具有比第一级存储器110更多的存储空间的三维交叉点存储器)中的数据。第二级存储器114可具有比第一级存储器110更大的空间,并且包括固态驱动器(ssd)或另一种类型的存储或存储器装置、例如三维多层堆叠交叉点存储器阵列。第二级存储器114可实现其他非易失性存储器类型,例如nand存储器单元、铁电随机存取存储器(fetram)、基于纳米线的非易失性存储器、如相变存储器(pcm)、结合忆阻器技术的存储器、磁阻随机存取存储器(mram)、自旋转移矩(stt)-mram、电阻随机存取存储器(reram)、字节可寻址非易失性ram(nvram)等。

高速缓存管理器104确定由处理器102使用主存储器的第二级存储器地址所请求的数据是否处于第一级存储器110中,并且如果不是的话,则高速缓存管理器104从第二级存储器114中获取所请求的数据。

在一个实施例中,高速缓存管理器104可以是两级存储器(“2lm”)引擎的一部分,其管理具有近和第二级存储器装置的处理器的主存储器。在另一实施例中,高速缓存管理器104可以是用于在第一级存储器110中缓存来自第二级存储器114的数据的组合式缓存代理和家乡代理配置的一部分,例如通过intel公司的quickpath互连逻辑来提供。其他类型的技术和协议可用来实现高速缓存管理器104,以维持作为更大第二级存储器114的高速缓存的第一级存储器110。

系统100还可与输入/输出(i/o)装置进行通信,i/o装置可包括输入装置(例如键盘、触摸屏、鼠标等)、显示装置、图形卡、端口、网络接口等。

图2示出在第一级存储器200中的高速缓存线200中的索引位置的高速缓存线200i之一的一实施例,并且包括:有效标志202,指示高速缓存线200i是否具有有效数据;标签204,具有用来在与高速缓存线200中的高速缓存线200i的索引位置相组合时形成第二级存储器114的地址的标签位;以及一个或多个数据字节2061、2062...206b,用于来自第二级存储器114的b个单独可寻址数据字或字节中的每个,其可存储在一个高速缓存线200i中。在一个实施例中,标签204可包括地址的索引部分的一个或多个最高有效位以及地址的索引部分之后的至少一个最高有效位。

在所描述的实施例中,第一级存储器高速缓存110提供直接映射高速缓存。在备选实施例中,不同高速缓存技术可用来缓存数据。此外,高速缓存线200i可包括附加标志和位,用以指示数据字节2061、2062...206w的状态、例如脏等。

图3示出用来对第二级存储器114中的位置进行寻址的地址300的一实施例,并且包括偏移位302,其包括用来标识高速缓存线200i中的特定数据字节2061、2062...206b的地址300的最低有效位。偏移302中的位的数量b包括标识各高速缓存线200i中的2b(或b)个可寻址数据字节中的每个字节所需的位的数量。所述地址还包括m个索引位304,其用来标识和定位各高速缓存线,其中在第一级存储器110中存在2m个高速缓存线200。地址300还包括索引位304之后的一个或多个最高有效位306,用以完成第二级存储器地址300。如所述,标签204可包括地址的索引部分304的一个或多个最高有效位以及地址的索引部分之后的至少一个最高有效位306。

图4示出高速缓存管理器104所使用的第一级存储器高速缓存信息400的一实施例,并且包括:第一级存储器高速缓存大小402,其可具有非2次幂大小;更高2次幂第一级存储器大小404,包括大小2k,使得k是满足2k大于或等于第一级存储器高速缓存大小402的条件的最低整数值;更低2次幂第一级存储器大小406,包括大小2p,使得p是满足2p小于或等于第一级存储器高速缓存大小402的条件的最高整数值;以及第一级存储器最大索引408,包括第一存储器装置的索引集合(其包括对第一级存储器110中的高速缓存线200的所有索引值)内的最大索引值。

如果更高2次幂存储器大小404为2k,则目标地址300中的索引位304的数量包括2k除以高速缓存线大小,指示理论上更高2次幂第一级存储器大小440中的经索引高速缓存线的总数量大于实际非2次幂第一级存储器110。

图5a和图5b示出由高速缓存管理器104来执行以管理来自第二级存储器114的数据在第一级存储器110中的缓存的操作的一实施例。在接收到(在框500)对第二级存储器114的n位目标地址300的请求时,高速缓存管理器104确定(在框502)对于理论上更高2次幂第一级存储器大小404,包括目标地址300的m个索引位304的目标索引304是否处于第一级存储器索引集合之内(即,小于或等于第一级存储器最大索引408)。如果不是的话(即目标索引304引用不在第一级存储器索引集合或高速缓存线200之内的索引条目),则高速缓存管理器104将目标索引修改(在框504)成具有与目标地址的目标索引304中的对应至少一个位不同的至少一个位。例如,在一个实施例中,目标索引304的最高有效位中的至少一个位可被切换以形成修改的目标索引,其映射到非2次幂近高速缓存存储器110中可用的第一级存储器索引集合200(即高速缓存线200)内。

如果(在框506)在目标索引(其可包括修改的目标索引(如果在框502经过修改的话))的高速缓存线200i中存在如由有效标志302所指示的有效数据,则高速缓存管理器104形成(在框508)对于目标地址300的标签,其包括索引304的最高有效位以及地址300的一个或多个最高有效位306。高速缓存管理器104然后确定(在框510)来自目标地址300的所形成的标签是否匹配高速缓存线200i中的标签204。在框510的这个比较操作被执行以确定高速缓存线200i是否具有预计用于目标地址300的数据。进行这个比较,因为所考虑的这个高速缓存线200i或索引处于可具有来自第二级存储器114中与所请求的地址相比不同的地址的数据的高速缓存线索引的范围中,因为具有大于第一级存储器最大索引408的索引304的一些目标地址将使其索引408被调整以映射到第一级存储器高速缓存中的范围,并且还因为第一级存储器索引200能够缓存第二级存储器114中的多个线(其具有第一级存储器索引位304的相同集合,但是在最高有效标签位306之一中不同)之一。如果(在框510)存在匹配,则高速缓存线200i具有所接收的目标地址300的数据,以及所请求的读或写操作(在框512)针对在从所请求的目标地址300得出的目标索引304或所修改的索引的高速缓存线200i中的数据来执行。

如果(在框510)在从所请求的目标地址得出的索引(在框504的修改的索引或者目标索引304)处的高速缓存线200i没有所请求的目标地址的数据,则高速缓存管理器104将高速缓存线200i中的任何修改的数据2061、2062...206b降级(在框514)到第二级存储器114。高速缓存管理器104然后获取(在框516)在第二级存储器114中的所请求的地址300和在第二级存储器114中的邻近地址的数据,以存储在高速缓存线200i中。

在获取数据以存储在高速缓存线200i中之后,控制在(框518)进行到图5b中的框520,以确定要存储在高速缓存线200i中的标签204中的最高有效索引位。

在框520,高速缓存管理器104确定包括目标地址300的m个索引位的目标索引304是否处于第一级存储器索引集合之内,即索引304小于或等于第一级存储器最大索引408。如果是的话(在框520),则高速缓存管理器104将高速缓存线中的标签204更新(在框522)成包括来自目标索引304(其被修改(在框502)以产生修改的目标索引)的最高有效索引位(msb)中的一个或多个以及目标地址300中的索引304之后的至少一个最高有效非索引位306。如果(在框520)目标索引304不在第一级存储器索引集合之内,即大于第一级存储器最大索引408,则高速缓存管理器104将高速缓存线200i中的标签204更新(在框522)成包括来自所请求的目标地址中的目标索引304(其本应受制于修改(在框504)(在索引被修改之前))的最高有效索引位以及来自所请求的目标地址300的至少一个非索引最高有效位306。在框522或524更新高速缓存线200i中的标签204之后,控制返回(在框526)到图5a中的框512,以完成所请求的读或写操作。

如果(在框502)目标索引304处于第一级存储器索引集合之内,即小于或等于第一级存储器最大索引408,则控制进行到框506,以确定通过目标索引值304所寻址的高速缓存线200i是否具有第二级存储器114中不同目标地址的数据。如果(在框506)在目标索引处的高速缓存线200i中不存在有效数据,则控制进行到框516,以获取在所请求的地址处的高速缓存线的数据。

例如,在一个实现中,作为示例,第二级存储器114可包括具有35位地址大小的32千兆字节(gb),第一级存储器可具有非2次幂12gb大小,并且各高速缓存线可以是具有64个一字节字的64个字节。在这种情况下,更高非2次幂高速缓存大小404将是16gb(或者234)除以64kb高速缓存线大小(26),其将产生具有228或256mb的索引值的228高速缓存线。这意味着将存在六个最低有效位可用于偏移302、对于高速缓存线中的64个可寻址字节存在索引所要求的28个位以对所有256百万个条目进行寻址、以及一个最高有效位306。如果目标地址具有对高于192百万(12gb)的高速缓存线进行寻址的索引,则形成标签204的一部分的索引的最高有效位需要从1切换到0,以映射到16gb第一级存储器高速缓存的从4gb扩展到8gb的高速缓存线的区域中。在这种示例中,高速缓存线中存储的标签204将包括所接收的第二级存储器地址的最高有效位(或者第35个位)以及地址中的原始最高有效索引位(或者第34个位)。12gb高速缓存大小的索引集合将是12gb除以64字节的索引值。

通过所描述的实施例,索引集合用于大于第一级存储器110的实际非2次幂高速缓存大小的2次幂高速缓存大小,但是如果所接收的地址300包括超出非2次幂高速缓存大小的可用索引集合的索引时,则那个索引被映射到第一级存储器110的索引集合(到高速缓存线中),其可用于非2次幂高速缓存的索引集合之内的目标地址中的索引值。

所修改的最高有效索引位和非索引标签位对不同大小的第二级存储器地址、和对第一级存储器中的不同数量的高速缓存线、以及对与直接映射缓存不同类型的缓存技术可以是不同的。

应当领会,贯穿本说明书对“一个实施例”或“一实施例”的引用意味着结合该实施例所描述的具体特征、结构或特性被包含在本发明的至少一个实施例中。因此,强调并且应当理解的是,在本说明书的各个部分中,对“一实施例”或“一个实施例”或者“备选实施例”的两个或更多引用不一定都表示同一个实施例。此外,具体特征、结构或特性可被适当地组合在本发明的一个或多个实施例中。

类似地,应当领会,在本发明的实施例的以上描述中,为了简化本公开的目的,各种特征有时一起聚集在单个实施例、图或者其描述中,帮助理解各种发明方面中的一个或多个。但是,本公开的这种方法不应被解译为反映了所要求权益的主题要求比各权利要求中所明确阐述的特征更多的特征的意图。相反,如以下权利要求所反映的,发明方面在于少于单个以上公开的实施例的所有特征。因此,详细描述所随附的权利要求在此明确结合到本详细描述中。

本文所使用的参考字符(例如b、i、m、n、k和p)在本文中用来表示元件的可变数量的实例,其可表示相同或不同的值,并且在与不同的所描述实例中的不同或相同元件一起使用时可表示相同或不同值。

示例

示例1是用于缓存受制于对目标地址的请求的数据的设备,包括:第一级存储器装置,具有非2次幂高速缓存大小以缓存具有比第一级存储器装置的非2次幂高速缓存大小更大的2n大小的第二级存储器装置中存在的数据;以及高速缓存管理器,用于:接收对具有针对第二级存储器装置的n个位的目标地址的请求;确定包括目标地址的n个位中的m个位的目标索引是否处于第一级存储器装置的索引集合之内,其中2m的索引集合在大小上比第一级存储器装置中的索引集合更大;确定具有与目标索引中的对应至少一个索引位不同的至少一个索引位的第一级存储器装置的索引集合中的修改目标索引;以及针对在第一级存储器装置中的修改目标索引处的高速缓存线中的数据来处理请求。

在示例2中,示例1和3-10的主题可选地能够包括,确定修改目标索引包括切换目标索引中的对应至少一个索引位以产生与目标索引中的对应至少一个索引位不同的修改目标索引中的至少一个索引位。

在示例3中,示例1、2和4-10的主题可选地能够包括,2m等于2k除以第一级存储器装置中的高速缓存线的高速缓存线大小,其中k包括最低整数值,使得2k大于非2次幂高速缓存大小。

在示例4中,示例1-3和5-10的主题可选地能够包括,高速缓存管理器还用于:在第一级存储器装置中的修改目标索引处的高速缓存线中的标签中保存与修改目标索引中的至少一个索引位不同的来自目标索引的对应至少一个索引位。

在示例5中,示例1-4和6-10的主题可选地能够包括,高速缓存管理器还用于:响应于确定目标索引处于第一级存储器装置的索引集合之内,在标签中保存当目标索引不在第一级存储器装置的索引集合中时本应改变的目标索引中的至少一个索引位。

在示例6中,示例1-5和7-10的主题可选地能够包括,标签包括目标地址的最高有效非索引位中的至少一个以及当目标索引不在第一级存储器装置的索引集合内时被修改的目标索引中的至少一个索引位。

在示例7中,示例1-6和8-10的主题可选地能够包括,目标地址还包括b个偏移位以对高速缓存线中的2b个数据字节的每个进行寻址,其中标签包括目标地址的最高有效非索引位中的(n-m-b)个以及当目标索引不在第一级存储器装置的索引集合内时被修改的目标索引中的至少一个最高有效索引位,其中当目标索引在和不在第一级存储器装置的索引集合内时标签包括至少一个最高有效索引位。

在示例8中,示例1-7、9和10的主题可选地能够包括,高速缓存管理器还用于:形成包括来自目标索引的至少一个最高有效位以及目标索引之后的目标地址的至少一个最高有效位的目标地址的形成标签;确定形成标签是否匹配在修改目标索引处的高速缓存线中的标签;响应于确定形成标签不匹配高速缓存线中的标签而在第二级存储器装置中的目标地址处获取数据以存储在高速缓存线中;以及响应于获取数据而处理请求。

在示例9中,示例1-8和10的主题可选地能够包括,高速缓存管理器还用于:响应于确定所形成的目标标签匹配高速缓存线中的标签而针对高速缓存线中的数据来处理请求。

在示例10中,示例1-9的主题可选地能够包括,第一级存储器装置包括易失性存储器装置,以及第二级存储器装置包括字节可寻址非易失性随机存取存储器装置。

示例11是用于缓存受制于对目标地址的请求的数据的系统,包括:处理器,具有高速缓存管理器;用于处理器的主存储器,包括第一级存储器装置和第二级存储器装置,其中第一级存储器装置缓存第二级存储器装置的数据,并且其中第一级存储器装置具有非2次幂高速缓存大小以缓存具有比第一级存储器装置的非2次幂高速缓存大小更大的2n大小的第二级存储器装置中存在的数据;以及高速缓存管理器,用于:接收对具有针对第二级存储器装置的n个位的目标地址的请求;确定包括目标地址的n个位中的m个位的目标索引是否处于第一级存储器装置的索引集合之内,其中2m的索引集合在大小上比第一级存储器装置中的索引集合更大;确定具有与目标索引中的对应至少一个索引位不同的至少一个索引位的第一级存储器装置的索引集合中的修改目标索引;以及针对在第一级存储器装置中的修改目标索引处的高速缓存线中的数据来处理请求。

在示例12中,示例11和13-18的主题可选地能够包括,确定修改目标索引包括切换目标索引中的对应至少一个索引位以产生与目标索引中的对应至少一个索引位不同的修改目标索引中的至少一个索引位。

在示例13中,示例11、12和14-18的主题可选地能够包括,高速缓存管理器还用于:在第一级存储器装置中的修改目标索引处的高速缓存线中的标签中保存与修改目标索引中的至少一个索引位不同的来自目标索引的对应至少一个索引位。

在示例14中,示例11-13和15-18的主题可选地能够包括,高速缓存管理器还用于:响应于确定目标索引处于第一级存储器装置的索引集合之内,在标签中保存当目标索引不在第一级存储器装置的索引集合中时本应改变的目标索引中的至少一个索引位。

在示例15中,示例11-14和16-18的主题可选地能够包括,标签包括目标地址的最高有效非索引位中的至少一个以及当目标索引不在第一级存储器装置的索引集合内时被修改的目标索引中的至少一个索引位。

在示例16中,示例11-15、17和18的主题可选地能够包括,目标地址还包括b个偏移位以对高速缓存线中的2b个数据字节的每个进行寻址,其中标签包括目标地址的最高有效非索引位中的(n-m-b)个以及当目标索引不在第一级存储器装置的索引集合内时被修改的目标索引中的至少一个最高有效索引位,其中当目标索引在和不在第一级存储器装置的索引集合内时标签包括至少一个最高有效索引位。

在示例17中,示例11-16和18的主题可选地能够包括,高速缓存管理器还用于:形成包括来自目标索引的至少一个最高有效位以及目标索引之后的目标地址的至少一个最高有效位的目标地址的形成标签;确定形成标签是否匹配在修改目标索引处的高速缓存线中的标签;响应于确定形成标签不匹配高速缓存线中的标签而在第二级存储器装置中的目标地址处获取数据以存储在高速缓存线中;以及响应于获取数据而处理请求。

在示例18中,示例11-17的主题可选地能够包括,第一级存储器装置包括易失性存储器装置,以及第二级存储器装置包括字节可寻址非易失性随机存取存储器装置。

示例19是用于缓存受制于对目标地址的请求的数据的方法,包括:在包括非2次幂高速缓存大小的第一级存储器装置中缓存具有比第一级存储器装置的非2次幂高速缓存大小更大的2n大小的第二级存储器装置中存在的数据;接收对具有针对第二级存储器装置的n个位的目标地址的请求;确定包括目标地址的n个位中的m个位的目标索引是否处于第一级存储器装置的索引集合之内,其中2m的索引集合在大小上比第一级存储器装置中的索引集合更大;确定具有与目标索引中的对应至少一个索引位不同的至少一个索引位的第一级存储器装置的索引集合中的修改目标索引;以及针对在第一级存储器装置中的修改目标索引处的高速缓存线中的数据来处理请求。

在示例20中,示例11和13-18的主题可选地能够包括以下至少任意一个:

(1)其中确定修改目标索引包括切换目标索引中的对应至少一个索引位以产生与目标索引中的对应至少一个索引位不同的修改目标索引中的至少一个索引位;和/或

(2)其中2m等于2k除以第一级存储器装置中的高速缓存线的高速缓存线大小,其中k包括最低整数值,使得2k大于非2次幂高速缓存大小;和/或

(3)在第一级存储器装置中的修改目标索引处的高速缓存线中的标签中保存与修改目标索引中的至少一个索引位不同的来自目标索引的对应至少一个索引位;和/或

(4)响应于确定目标索引处于第一级存储器装置的索引集合之内,在标签中保存当目标索引不在第一级存储器装置的索引集合中时本应改变的目标索引中的至少一个索引位;和/或

(5)其中标签包括目标地址的最高有效非索引位中的至少一个以及当目标索引不在第一级存储器装置的索引集合内时被修改的目标索引中的至少一个索引位;和/或

(6)其中目标地址还包括b个偏移位以对高速缓存线中的2b个数据字节的每个进行寻址,其中标签包括目标地址的最高有效非索引位中的(n-m-b)个以及当目标索引不在第一级存储器装置的索引集合内时被修改的目标索引中的至少一个最高有效索引位,其中当目标索引在和不在第一级存储器装置的索引集合内时标签包括至少一个最高有效索引位;和/或

(7)形成包括来自目标索引的至少一个最高有效位以及目标索引之后的目标地址的至少一个最高有效位的目标地址的形成标签;确定形成标签是否匹配在修改目标索引处的高速缓存线中的标签;响应于确定形成标签不匹配高速缓存线中的标签而在第二级存储器装置中的目标地址处获取数据以存储在高速缓存线中;以及响应于获取数据而处理请求;和/或

(8)响应于确定所形成的目标标签匹配高速缓存线中的标签而针对高速缓存线中的数据来处理请求;和/或

(9)其中第一级存储器装置包括易失性存储器装置,以及第二级存储器装置包括字节可寻址非易失性随机存取存储器装置。

示例21是一种设备,包括:用于在包括非2次幂高速缓存大小的第一级存储器装置中缓存具有比第一级存储器装置的非2次幂高速缓存大小更大的2n大小的第二级存储器装置中存在的数据的部件;用于接收对具有针对第二级存储器装置的n个位的目标地址的请求的部件;用于确定包括目标地址的n个位中的m个位的目标索引是否处于第一级存储器装置的索引集合之内的部件,其中2m的索引集合在大小上比第一级存储器装置中的索引集合更大;用于确定具有与目标索引中的对应至少一个索引位不同的至少一个索引位的第一级存储器装置的索引集合中的修改目标索引的部件;以及用于针对在第一级存储器装置中的修改目标索引处的高速缓存线中的数据来处理请求的部件。

在示例22中,示例21的主题可选地能够包括用于在第一级存储器装置中的修改目标索引处的高速缓存线中的标签中保存与修改目标索引中的至少一个索引位不同的来自目标索引的对应至少一个索引位的部件。

示例23是一种包含机器可读指令的机器可读存储装置,所述指令在被运行时用于实现如任一前述权利要求中所要求的方法或者实行如任一前述权利要求中所要求的设备或系统。

示例24是一种设备,其包括用于执行如任一前述权利要求中所要求的方法的部件。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1