用于设置2级自动关闭定时器以访问存储器装置的技术

文档序号:809170 发布日期:2021-03-26 浏览:35次 >En<

阅读说明:本技术 用于设置2级自动关闭定时器以访问存储器装置的技术 (Techniques for setting a level 2 auto-close timer to access a memory device ) 是由 V.科兹科图 S.奇拓尔 E.乔克斯 S.G.拉马苏布拉马尼安 于 2020-06-24 设计创作,主要内容包括:用于设置2级自动关闭定时器以访问存储器装置的技术包含设置用于所述2级自动关闭定时器的第一和第二时间值以在对存储器装置的存储阵列的排进行的高速缓存行访问之后促使被访问的排自动关闭的示例。对于这些示例,所述高速缓存行访问响应于促使对存储器装置的所述存储阵列进行连续或非连续高速缓存行访问的多通道地址交错策略。(Techniques for setting a level 2 auto-close timer to access a memory device include examples of setting first and second time values for the level 2 auto-close timer to cause an accessed bank to auto-close following a cache line access to a bank of a storage array of the memory device. For these examples, the cache line access is in response to a multi-channel address interleaving policy that causes consecutive or non-consecutive cache line accesses to the storage array of a memory device.)

具体实施方式

DRAM系统的操作性能可密切取决于何时为DRAM装置的存储阵列关闭打开的排/页面。一些DRAM装置实现自动关闭定时器以在从对存储阵列进行的最后访问起的预确定时间之后关闭排。在示例中,访问存储阵列的排“x”。对该存储阵列进行的下一访问能够是针到相同排“x”或到不同排“y”。对于此示例,如果发生对排“x”的另一访问,并且排“x”由于自动关闭定时器的原因而已被关闭,则该另一访问通常被称为空白,而如果自动关闭定时器被设置了更高时间值,则该空白本可以是页面命中。这将是增大自动关闭定时器的时间值的原因,使得打开的排保持打开足够长以对于另一访问仍然保持打开并因此产生页面命中。此第一类型的访问可以被称为“类型I访问”。另一方面,如果在对排“x”进行访问后,选择了对排“y”进行访问,但排“x”由于自动关闭定时器尚未期满而仍然打开,则发生页面未命中,而如果自动关闭定时器被设置了更低时间值,则该命面未命中本可以是空白。本可以是空白的此页面未命中将是减小自动关闭定时器的时间值的原因。此类型的访问可以被称为“类型II访问”。牵涉到空白的访问与牵涉到页面未命中的类型II访问相比较,具有更低的访问时延。自动关闭策略的目标将是具有比类型II访问更高的类型I访问的发生率。

一种称为地址交错的技术可以被实现(例如,由存储器控制器实现)以访问DRAM系统的DRAM装置。地址交错可以包含访问不同通道、存储阵列和存储模组以经由存储阵列级并行性来获得数据带宽益处。可以以某种方式跨多个通道剥离物理存储器地址以在页面命中与存储阵列级并行性之间取得平衡。例如,可以跨多个通道剥离用于一串高速缓存行(cache line)(例如,64字节高速缓存行大小)的物理存储器地址。

在一些示例中,跨第一和第二通道剥离用于一串高速缓存行的物理存储器地址可以使得该串高速缓存行中第一数量的高速缓存行的物理地址可以跨映射到第一通道的第一存储阵列的排分布,并且该串的高速缓存行中第二数量的高速缓存行的物理地址可以跨映射到第二通道的第二存储阵列的排分布。因此,在接收访问用于高速缓存行串(cacheline stream)的物理地址的请求时,可以以交错的方式访问第一和第二存储阵列以增大存储器访问带宽。这些访问的交错方式产生了在对相同存储阵列进行的访问之间的2级到达间隔时间。第一级是用于访问跨给定存储阵列的排分布的高速缓存行的时间,并且第二级是随后访问给定存储阵列的该排或另一排的时间。

根据一些示例,地址交错策略可以包含4路交错,所述4路交错将一串高速缓存行的第一四个相邻高速缓存行的物理地址映射到第一通道和第一存储阵列,将该串的下一四个相邻高速缓存行的物理地址映射到第二通道和第二存储阵列,将该串的下一四个相邻高速缓存行的物理地址映射到第一通道和第一存储阵列,并以此类推。对于此示例,2级到达间隔时间将具有大约为用来经由第一通道访问在第一存储阵列的高速缓存行的时间量的第一级和大约为用来经由第二通道访问在第二存储阵列的全部四个高速缓存行的时间量的第二级。换而言之,第二级是高速缓存行从第一通道交错到第二通道并且访问返回到第一通道的大约时间。如果根据此地址交错策略来进行DRAM访问,则对第一通道和第一存储阵列的该串的下一四个相邻高速缓存行的访问能够潜在地是页面命中,但自动关闭定时器需要将第一存储阵列的之前被访问的排保持打开足够长的时间以计及用来经由第二通道访问在第二存储阵列的所述四个高速缓存行的时间量。换而言之,自动关闭定时器需要保持排打开足够长的时间,以便地址交错策略的4路交错回滚到访问映射到第一通道的第一存储阵列的排。

在一些DRAM系统中,对DRAM装置进行的访问可以看到不同长度的高速缓存行串。高速缓存行串的不同长度可以是由与这些DRAM系统耦合的中央处理单元(CPU)的核提出的单核访问请求的属性。来自CPU的不同核的访问请求之间的冲突也可以造成变化的长度。用于排/存储阵列访问的上面提及的2级到达间隔定时使得具有能够适于2级到达间隔时间的单级自动关闭定时器成为一种挑战。取决于此单级自动关闭定时器的学习速率,单级自动关闭定时器可在太低或太高的定时器值之间振荡,或只是维持在其之间的某处。此振荡可以减少类型I访问并产生对于不太希望的类型II访问的增大。减少类型I访问和增大类型II访问增大了总体访问时延。因此,对于实现地址交错策略的DRAM系统,单级自动关闭定时器可能是有问题的。

图1图示了示例系统100。在一些示例中,如图1中所示出的,系统100包含经由相应通道120、130、140、150、160和170与插槽122-1/2、132-1/2、142-1/2、152-1/2、162-1/2和172-1/2耦合的处理器110。对于这些示例,处理器110可以包含用以控制对被插在插槽122-1/2、132-1/2或142-1/2中时的存储器装置(例如,布置在双列直插式存储器模块(DIMM)上)进行的访问的第一存储器控制器112-1和用以控制对被插在插槽152-1/2、162-1/2或172-1/2中时的存储器装置进行的访问的第二存储器控制器112-2。

根据一些示例,图1中所描绘的每个插槽可被布置成接收布置在单独DIMM上的存储器装置。例如,在要被插在插槽142-2中的DIMM 105-1中所包含的或在要被插在插槽152-2中的DIMM 105-2中所包含的存储器装置。对于这些示例,单独的DIMM可以包含具有非易失性或易失性类型的存储器的存储器装置。易失性类型的存储器可以包含但不限于DRAM类型的易失性存储器。如下面进一步描述的,诸如包含在DIMM 105-1或105-2中的存储器装置之类的存储器装置可以被布置在一个或多个存储模组中,所述一个或多个存储模组可以将多个存储器芯片或管芯连接到相同存储器总线(地址+数据)。每个存储模组可以被划分成横跨多个存储器芯片或管芯的多个存储阵列。也如下面进一步所描述的,存储阵列可以被进一步划分成横跨多个DRAM芯片的多个排以提供用于访问DRAM系统的更大存储器地址容量。此外,相应存储阵列可被进一步划分成多个列以提供用于为给定排标识特定物理存储器地址的局部性。

在一些示例中,如图1中所示出的,处理器110包含耦合到通道120、130和140的存储器控制器112-1和耦合到通道150、160和170的存储器控制器112-2。示例不被局限于包含耦合到三个数据通道的两个单独存储器控制器的处理器。示例可以包含带有单个存储器控制器的处理器,该单个存储器控制器与耦合到该单个存储器控制器的多于或少于3个数据通道耦合。其它示例可以包含多于两个存储器控制器和多于或少于6个数据通道。对于图1中所示出的示例,为了减少存储器访问请求瓶颈,在系统100中可以采用多个通道120、130、140、150、160和170。根据一些示例,处理器110可以表示单核或多核处理器。

根据一些示例,2通道地址交错策略101可以被实现,其包含以某种方式跨通道140和150剥离被存储到在DIMM 105-1和105-2中所包含的存储器装置的一串高速缓存行(例如,每个行大小64字节)的物理存储器地址,以在页面命中与存储阵列级并行性之间取得平衡。如下面更详细描述的,诸如定时器逻辑114之类的存储器控制器的逻辑和/或特征可以有能力设置和调整多级自动关闭定时器来关闭根据诸如2通道地址交错策略101之类的地址交错策略所访问的存储阵列的排,以适应由于实现多通道地址交错策略而创建的2级到达间隔时间。

根据一些示例,在要被插在插槽122-1/2、132-1/2、142-1/2、152-1/2、162-1/2或172-1/2中的DIMM中所包括的一个或多个存储器装置和用以访问这些存储器装置的通道120、130、140、150、160或170中的至少一些可以被设计成根据各种存储器技术操作。各种存储器技术可以包含但不限于DDR4(DDR版本4,由JEDEC在2012年9月公布的初始规范)、LPDDR4(低功率双倍数据率(LPDDR)版本4,JESD209-4,由JEDEC在2014年8月原始公布)、WIO2(宽I/O 2(WideIO2),JESD229-2,由JEDEC在2014年8月原始公布)、HBM(高带宽存储器DRAM,JESD235,由JEDEC在2013年10月原始公布)、HBM2(版本2,JESD235A,由JEDEC在2016年1月原始公布)和/或基于此类规范的衍生物或扩展的其它技术。各种存储器技术还可以包含当前在开发的存储器技术,其包含但不限于DDR5(DDR版本5,当前由JEDECC在讨论中)、LPDDR5(LPDDR版本5,当前由JEDEC在讨论中)、HBM3(HBM版本3,当前由JEDEC在讨论中)、非易失性DIMM-持久(当前由JEDEC在讨论中的NVDIMM-P)和/或基于这些在开发的存储器技术的衍生物或扩展的其它新技术。

根据一些示例,要被插在插槽122-1/2、132-1/2、142-1/2、152-1/2、162-1/2或172-1/2中的DIMM(诸如DIMM 105-1或105-2)可以被设计成充当寄存式DIMM(RDIMM)、负载减少的DIMM(LRDIMM)、完全缓冲的DIMM(FB-DIMM)、无缓冲式DIMM(UDIMM)或小外型DIMM(SODIMM)。示例未被限于仅这些DIMM设计。

在一些示例中,要被插在插槽122-1/2、132-1/2、142-1/2、152-1/2、162-1/2或172-1/2中的DIMM中包含的存储器装置或管芯可以包含非易失性和/或易失性类型的存储器。易失性类型的存储器可以包含但不限于随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据率同步动态RAM(DDR SDRAM)、静态随机存取存储器(SRAM)、晶闸管RAM(T-RAM)或零电容器RAM(Z-RAM)。非易失性类型的存储器可以包含字节或块可寻址类型的非易失性存储器,其具有包含但不限于下文称为“3D交叉点存储器”的硫属相变材料(例如,硫属玻璃)的三维(3D)交叉点存储器结构。非易失性类型的存储器还可以包含其它类型的字节或块可寻址非易失性存储器,诸如但不限于多阈值级NAND闪速存储器、NOR闪速存储器、单级或多级相变存储器(PCM)、电阻存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、包含金属氧化物基、氧空位基和导电桥随机存取存储器(CB-RAM)的电阻存储器、自旋电子磁结存储器、磁性隧道结(MTJ)存储器、畴壁(DW)和自旋轨道转移(SOT)存储器、基于晶闸管的存储器、结合忆阻器技术的磁电阻随机存取存储器(MRAM)、自旋转移力矩MARM(STT-MRAM)或上述任何项的组合。

图2图示了用于DIMM 105-1的示例存储模组200。在一些示例中,如前面所提及的,存储器可以在空间上被组织成通道、存储模组、存储阵列、排和列。如图2中所示出的,在一些示例中,存储模组200可被组织成具有横跨多个存储器管芯的四个存储阵列220-1到220-4(示例未被限于四个存储阵列)。例如,存储阵列220-1可以横跨存储器管芯205-1、205-8、205-9和205-n,其中“n”是大于12的任何所有正整数。在对存储阵列220-1进行存储器访问时,先标识通道、存储模组和存储阵列。随后可以将图2中描绘为存储阵列220-1的“排x”(例如,大小为8千字节(KB))的整排或页面加载到在图2中被示为感测放大器222-1的一组感测放大器上。该组感测放大器还可被称为排缓冲器。用于此存储器访问的对应列地址随后标识用于对存储阵列220-1进行数据读取或写入的局部性参考。

根据一些示例,如果排被保持打开至少一段时间,并且随后存储器访问是对相同打开的排(页面命中),则由于随后被访问的排无需被重新加载到感测放大器222-1,因此,访问时延被降低。然而,如果随后访问是对存储阵列220-1的不同排(页面未命中),则在加载该不同排前需要对感测放大器222-1进行转储清除,这增加了访问时延。如上所提及的,页面未命中具有比空白访问更高的访问时延,因为感测放大器222-1的转储清除和随后不同排的加载要比如果排x不再打开,则仅加载不同排花费的时间更长。为最小化访问时延,排x应被保持打开足够长,以最大化页面命中的可能性,但要足够短,以最小化页面未命中。如前面所提及的,一些技术可以使用单级自动关闭定时器,一旦排x被打开,则该定时器便被启动,并且随后一旦单级自动关闭定时器期满,则自动关闭排x。在实现多通道地址交错策略时,单级自动关闭定时器可以是有问题的。

在一些示例中,如上面针对图1所提及的,2通道地址交错策略101可以包含DIMM105-1的使用。对于这些示例,跨两个通道剥离用于一串高速缓存行的物理存储器地址可以产生2级到达间隔时间。如前面所提及的,多个到达间隔时间可以使得利用单级自动关闭定时器有问题。在高速缓存行串可能基于在访问这些高速缓存行串时由处理器110所执行的应用的类型或由于在来自处理器110(如果被配置为多核处理器)的不同核的访问请求之间的干扰而在长度上不同时,单级自动关闭定时器的使用也是有问题的。如下面进一步所描述的,处理器处的存储器控制器的逻辑和/或特征(诸如存储器控制器112-1或112-2的定时器逻辑114)可以设置和调整用于下文称为“2级自动关闭定时器”的带有两个级别的自动关闭定时器的两个单独自动关闭时间。2级自动关闭定时器例如可以适应由2通道地址交错策略101的实现而形成的2级到达间隔时间。

图3图示了示例地址交错策略300。在一些示例中,地址交错策略300可以表示作为2通道地址交错策略一部分的用于第一4路交错的物理地址交错,该第一4路交错将一串高速缓存行的第一四个行的物理存储器地址映射到第一通道和第一存储阵列。对于这些示例,由于以64字节的高速缓存行粒度访问存储器,因此,示例12位物理存储器地址的最低有效6位不是地址交错策略300的一部分。此外,如图3中所示出的,位6、7和9被用于列映射,而位8、10、11和12用于通道映射。这意味着在高速缓存串中,第一四个高速缓存行(例如,高速缓存行0-3)被映射到相同的第一通道和相同的第一存储阵列。对该串的下一组四个高速缓存行(例如,高速缓存行4-7)的物理存储器地址进行映射的第二4路交错随后被映射到第二通道。随后,下一四个高速缓存行(例如,高速缓存行8-11)被映射到第一通道和第一存储阵列,并以此类推。下面更详细地描述了有关可如何实现此类型的4路交错策略的更多细节。

在一些示例中,地址交错策略300允许以某种方式跨多个通道剥离用于一串高速缓存行的存储器地址,以在页面命中与存储阵列级并行性之间取得平衡。这通过将一些更低位用于列并且随后跨多个通道剥离来完成。虽然地址交错策略300是用于4路交错,但示例未被限于用于将高速缓存行映射到相同通道和存储阵列的4路交错。

图4A和4B图示了示例方案400。在一些示例中,方案400可以描绘可以如何为高速缓存串405中包含的高速缓存行410-1到410-16的4路交错实现地址交错策略300。在一些示例中,如图4A-B中所示出的,地址交错策略300的实现可以促使具有相应的逻辑存储器空间420-1到420-4的高速缓存行410-1到410-4和具有相应的逻辑存储器空间420-9到420-12的高速缓存行410-9到410-12被映射到通道430-1和到存储阵列440-1。同时,具有相应的逻辑存储器空间420-5到420-8的高速缓存行410-5到410-8和具有相应的逻辑存储器空间420-13到420-16的高速缓存行410-13到410-16被映射到通道430-2和到存储阵列440-2。

图5图示了示例高速缓存串405。在一些示例中,以这样的方式描绘了高速缓存串405,该方式示出映射到通道430-1和430-2并且在这些通道之间交错的高速缓存行410-1到410-16的4路交错可以如何具有不同到达间隔时间。对于这些示例,不同到达间隔时间可以被用来确定用于2级自动关闭定时器的时间值。在通道430-1与430-2之间的交错带来了访问相同存储阵列的短到达间隔时间510和大到达间隔时间520。例如,短到达间隔时间510可以是在针对高速缓存行410-1到410-4和410-9到410-12而对存储阵列440-1进行的访问之间或在针对高速缓存行410-5到410-8和410-13到410-16而对存储阵列440-2进行的访问之间的到达时间。大到达间隔时间520可以是在访问映射到存储阵列440-1的4路交错的最后高速缓存行与访问映射到存储阵列440-1的随后4路交错的时间之间的到达时间。

在一些示例中,对于高速缓存串405,对映射到相同存储阵列的高速缓存行(诸如到存储阵列440-1的高速缓存行410-1到410-4)进行的连续访问可以使2级自动关闭定时器的第一级设置成对于对不同排进行的访问,与页面未命中相比较,增大空白访问的可能性,或者对于对相同排进行的访问,增大页面命中的可能性。换而言之,第一级可以被设置成这样的时间值,该时间值增大类型I访问(页面命中)的可能性或减小类型II访问(页面未命中/排保持打开太长时间)的可能性。对于这些示例,第一级应被设置成类似于短到达间隔时间510的时间的时间值,以增大类型I访问的可能性和减小类型II访问的可能性。

根据一些示例,对于高速缓存串405而言,对映射到存储阵列440-1的高速缓存行410-1到410-4的访问以及随后对映射到存储阵列440-1的高速缓存行410-9到410-12的访问可以潜在地是页面命中,但仅是在针对高速缓存行410-1到410-4而被访问的排保持打开足够长的时间而捕获大到达间隔时间520的时候。换而言之,2级自动关闭定时器的第二级可以被设置成增大页面命中的可能性的时间值。对于这些示例,2级自动关闭定时器的第二级可以被设置成与大到达间隔时间520类似的时间。

图6图示了示例状态机600。根据一些示例,如图6中所示出的,状态机600包含状态610(空)、状态620(带有短自动关闭的页面/排打开)和状态630(带有长自动关闭的页面/排打开)。对于这些示例,状态机600描绘了这样一种方式,在该方式中当面对由于使用如图4A-B和图5中所示出的高速缓存串405中包含的高速缓存行的地址交错策略300和4路交错所造成的2级到达间隔时间时,存储器控制器的逻辑和/或特征(例如,定时器逻辑114)可实现2级自动关闭定时器。

根据一些示例,在状态610,对映射到第一通道的高速缓存行(例如,高速缓存行410-1)的初始访问产生了空白访问。随后在状态620,对于高速缓存串中前3次访问,在随后页面未命中之后被访问的页面/排可继续触发第一级定时器以关闭被访问的排,以便每次在访问之后触发第一级时间时状态机600在状态610与620之间来回移动时增大空白访问的可能性。然而,如果对被映射的高速缓存行(例如,高速缓存行410-4)进行的第四次访问产生了页面命中,则进入状态630,并且此第四次访问的排/页面被打开,带有触发第二级定时器在第四次访问后保持排打开的长自动关闭,以在经由第二映射的通道访问高速缓存串405中的其它高速缓存行(例如,高速缓存行410-5到410-8)时适应更长或更大的到达间隔时间,并且随后访问返回到被映射到第一通道的高速缓存行。

图7图示了示例逻辑流程700。在一些示例中,逻辑流程700可以由存储器控制器的逻辑和/或特征(诸如图1中所示出的存储器控制器112-1或存储器控制器112-2中所包含的定时器逻辑114)来实现,以适应性地修改或适应用于2级自动关闭定时器的短或长自动关闭时间的时间值。对于这些示例,2级自动关闭定时器可以基于用于与实现2通道地址交错策略关联的排/存储阵列访问的预期2级到达间隔定时。

在框705开始,存储器控制器112-1的定时器逻辑114监视对映射到通道140的DIMM105-1和对映射到通道150的DIMM 105-2进行的高速缓存行访问。在一些示例中,高速缓存行访问可以根据诸如地址交错策略300的地址交错策略进行。作为高速缓存行访问的监视的一部分,定时器逻辑114可以监视针对映射到通道140和150的高速缓存行,对存储器装置的存储阵列进行的高速缓存行访问的到达时间。例如,用以访问包含在DIMM 105-1上的存储模组200的存储阵列220-1的高速缓存行被映射到通道140。定时器逻辑114可以区分短到达间隔时间(例如,在到存储阵列220-1的物理地址交错期间)和长到达间隔时间(例如,由在通道140与150之间的通道交错所造成的)。

移到框710,定时器逻辑114可以确定用于到达间隔访问时间的移动平均数以与目标自动关闭时间进行比较。根据一些示例,移动平均数可以基于定时器逻辑114监视的针对映射到通道140或通道150的高速缓存行而对存储器装置的存储阵列进行的每2次高速缓存行访问的到达时间。

移到判定框715,定时器逻辑114可以确定移动平均数是与短还是长到达间隔访问相关联。在一些示例中,如果2次高速缓存行访问是在对相同存储阵列进行的连贯或连续访问期间,则移动平均数与短到达间隔访问相关联。对于这些示例,如果2次高速缓存行访问不是对相同存储阵列进行的连贯或连续访问,则移动平均数与长到达间隔访问相关联。换而言之,用来确定移动平均数的2次高速缓存行访问是基于对映射到第一通道的第一存储阵列进行的第一高速缓存行访问,其在对第一存储阵列的第二高速缓存行访问之前与对映射到第二通道的第二存储阵列的高速缓存行访问交错。如果移动平均数与短到达间隔访问相关联,则逻辑流程700移到判定框720。如果移动平均数与长到达间隔访问相关联,则逻辑流程700移到判定框730。

从判定框715移到判定框720,定时器逻辑114确定用于2级定时器的短级(shortlevel)时间的移动平均数是否导致了页面命中的错失机会或空白访问的错失机会。根据一些示例,目标短级时间值可以表示用于2级自动关闭定时器的第一(短)级时间的理想自动关闭时间以便增大页面命中的可能性和减小页面未命中的可能性。对于这些示例,如果2级定时器的短级时间太短并且导致了在本该是页面命中的对排的随后访问之前该排被关闭,则出现页面命中访问的错失机会。如果短级时间太长并且导致了在对不同排进行的随后访问期间排被打开,其中该随后访问是页面未命中(而如果在该随后访问期间排未被打开,则该页面未命中本可以是空白),则出现空白访问的错失机会。如果无错失机会,则逻辑流程700移到框725。否则,逻辑流程700移到判定框740。

从判定框720移到框725,定时器逻辑114保持用于2级定时器的短级时间的短时间值。逻辑流程700可以随后返回框705。

从判定框715移到判定框720,定时器逻辑114确定用于2级定时器的长级(longlevel)时间的移动平均数是否导致了页面命中访问的错失机会或空白访问的错失机会。根据一些示例,目标短级时间值可以表示用于2级自动关闭定时器的第二(长)级时间的理想自动关闭时间,以便增大页面命中访问的可能性和减小页面未命中访问的可能性。对于这些示例,如果2级定时器的长级时间太短并且导致了在本该是页面命中的对排进行的随后访问之前该排被关闭,则出现页面命中访问的错失机会。如果长级时间太长并且导致了在对不同排进行的随后访问期间排被打开,其中该随后访问导致页面未命中(而如果在该随后访问期间排未被打开,则该页面未命中本可以是空白),则出现空白访问的错失机会。如果无错失机会,则逻辑流程700移到框735。否则,逻辑流程700移到判定框740。

从判定框730移到框735,定时器逻辑114保持用于2级定时器的短级时间的短时间值。逻辑流程700可以随后返回框705。

从判定框720或730移动,定时器逻辑114确定错失机会导致了类型I访问还是类型II访问。如果错失机会导致了类型I访问,则逻辑流程700移到框745。如果错失机会导致了类型II访问,则逻辑流程700移到框750。

从判定框740移到框745,定时器逻辑114可以增大时间值。如果该机会是针对导致了错失机会的2级定时器的短级时间,则该短级时间被增大以增大对短到达间隔高速缓存行访问的页面命中访问的可能性。如果该机会是针对导致了错失机会的2级定时器的长级时间,则该长级时间被增大以增大对长到达间隔高速缓存行访问的页面命中访问的可能性。逻辑流程700随后回移到框705。

从判定框740移到框750,定时器逻辑114可以减小时间值。如果该机会是针对导致了错失机会的2级定时器的短级时间,则该短级时间被减小以减小对短到达间隔高速缓存行访问的页面未命中访问的可能性。如果该机会是针对导致了错失机会的2级定时器的长级时间,则该长级时间被减小以减小对长到达间隔高速缓存行访问的页面未命中访问的可能性。逻辑流程700随后回移到框705。

图8图示了示例设备800。虽然图8中示出的设备800在某个拓扑中具有有限数量的元件,但可以领会的是,设备800可以在如针对给定实现所希望的备选拓扑中包括更多或更少元件。

根据一些示例,设备800可以是存储器控制器的定时器逻辑(诸如图1中所示出的存储器控制器112-1或112-2的定时器逻辑114),并且可以由电路820支持。对于这些示例,电路820可以是ASIC、FPGA、可配置逻辑、处理器、处理器电路或诸如处理器110的处理器的一或多个核。电路820可以被布置成执行逻辑或逻辑的一或多个软件或固件实现的模块、组件或特征。值得注意的是,“a”、“b”、“c”及类似标志符在本文中使用时,旨在作为表示任何正整数的变量。因此,例如,如果实现设置a=4的值,则用于逻辑822-a的模块、组件的软件或固件的完整集合可以包含逻辑822-1、822-2、822-3或822-4。呈现的示例并不局限于本上下文中,并且通篇使用的不同变量可以表示相同或不同整数值。此外,“模块”、“组件”或“特征”还可以包含在计算机可读或机器可读介质中存储的软件或固件,并且虽然特征的类型在图8中被示为分立框,但这并不将特征的这些类型限制成在不同的计算机可读介质组件(例如,单独的存储器等)中的存储物。

根据一些示例,设备800可以包含用以经由多个通道访问存储器装置的通道接口805。例如,如下面进一步所描述的,用来使得设备800的逻辑能设置2级自动关闭定时器的级或者监视对跨耦合到多个通道的存储器装置的存储阵列的排进行的高速缓存行访问。

在一些示例中,设备800还可以包含设置逻辑822-1。设置逻辑822-1可以由电路820执行或支持,以设置用于2级自动关闭定时器的第一级的第一时间值。对于这些示例,2级自动关闭定时器的第一级可以被包含在短时间值830中,并且被设置成在响应多通道地址交错策略而对第一存储器装置的存储阵列的排进行的第一高速缓存行访问之后促使该排自动关闭。多通道地址交错策略可以被包含在策略810中,并且此策略促使经由多通道的第一通道对第一存储器装置的存储阵列进行的包含在高速缓存行串840中的连续高速缓存行访问。

在一些示例中,设置逻辑822-1还可以由电路820执行或支持,以设置用于2级自动关闭定时器的第二级的第二时间值。对于这些示例,2级自动关闭定时器的第二级可以被包含在短时间值835中,并且被设置成响应于促使经由第一通道对第一存储器装置的存储阵列进行非连续高速缓存行访问的多通道交错策略而对排进行的第二高速缓存行访问之后,促使该排自动关闭。

根据一些示例,设备800还可以包含监视逻辑822-2。监视逻辑822-2可以由电路820执行或支持以监视高速缓存行串840的高速缓存行访问和收集包含在访问信息845中的访问定时信息。对于这些示例,包含在策略810中的多通道地址交错策略可以是2通道地址交错策略,该2通道地址交错策略包含第一4路交错,该第一4路交错将第一存储器装置的存储阵列的物理存储器地址映射到第一通道的高速缓存行串840的第一组四个高速缓存行,以促使对第一存储器装置的存储阵列的连续高速缓存行访问。

在一些示例中,设备800还可以包含平均逻辑822-3。平均逻辑822-3可以由电路820执行或支持以基于包含在访问信息845中的访问时间信息,确定第一组四个高速缓存行的至少两个连续高速缓存行访问的移动平均到达间隔时间。

根据一些示例,设备800还可以包含调整逻辑822-4。调整逻辑822-4可以由电路820执行或支持以调整用于2级自动关闭定时器的第一级的第一时间值,以便为经由第一通道对第一存储器装置的存储阵列进行的随后高速缓存行访问增大页面命中的可能性或减小页面未命中的可能性。对于此示例,调整逻辑822-4增大短时间值830以增大页面命中的可能性,或者可以减小短时间值830以减小页面未命中的可能性。

在一些示例中,2通道地址交错策略可以进一步包含第二4路交错,该第二4路交错将第二存储器装置的存储阵列的排的物理存储器地址映射到到耦合到通道接口805的多个通道的第二通道的高速缓存行串840的下一组四个高速缓存行。2通道地址交错策略还可以包含第三4路交错,该第三4路交错将第一存储器装置的存储阵列的排的物理存储器地址映射到到第一通道的高速缓存行串840的第三组四个高速缓存行。对于这些示例,促使对第一存储器装置的存储阵列进行非连续高速缓存行访问的2通道地址交错策略包含用以促使对第一4路交错的最后高速缓存行进行访问和对第三4路交错的第一高速缓存行进行访问的2通道地址交错策略。此外,对于这些示例,监视逻辑822-2可以监视对第一4路交错的最后高速缓存行进行的访问和对第三4路交错的第一高速缓存行进行的访问以收集包含在访问信息845中的访问定时信息。平均逻辑822-3可以随后确定在对最后高速缓存行和第一高速缓存行进行的访问之间的移动平均到达间隔时间,并且调整逻辑822-4可以调整用于2级自动关闭定时器的第二级的第二时间值,以便在经由第一通道对第一存储器装置的存储阵列进行的随后高速缓存行访问之前是经由第二通道对第二存储器装置的存储阵列进行的高速缓存行访问时,为该随后高速缓存行访问增大页面命中的可能性或减小页面未命中的可能性。对于此示例,调整逻辑822-4增大短时间值835以增大页面命中的可能性,或者可以减小短时间值835以减小页面未命中的可能性。

设备800的各种组件可以通过各种类型的通信介质在通信上相互耦合以协调操作。协调可以牵涉到信息的单向或双向交换。例如,组件可以采取通过通信介质所传递的信号形式来传递信息。信息能够被实现为分配到各种信号线的信号。在此类分配中,每个消息是信号。然而,其它实施例可以备选地采用数据消息。可以跨各种连接来发送此类数据消息。示例连接包括并行接口、串行接口和总线接口。

本文中所包含的是表示用于执行所公开的架构的新颖方面的示例方法的一组逻辑流程。虽然出于解释的简化性的目的,将本文中所示出的一种或多种方法示出和描述为一系列动作,但本领域技术人员将理解和领会的是,方法不受动作次序限制。一些动作可以依照于此而以与本文中所示出和描述的次序不同的次序和/或与其它动作同时发生。例如,本领域技术人员将理解和领会的是,能够备选将方法表示为一系列互相关的状态或事件(诸如在状态图中)。而且,并非在方法中说明的所有动作对于新颖实现都可能是必需的。

逻辑流程可以用软件、固件和/或硬件来实现。在软件和固件实施例中,逻辑流程可以通过存储在至少一个非暂时性计算机可读介质或机器可读介质(诸如光学、磁性或半导体存储装置)上的计算机可执行指令来实现。实施例并不被限制于本上下文中。

图9图示了示例逻辑流程900。逻辑流程900可以表示由本文中所描述的一个或多个逻辑、特征或装置(诸如设备800)执行的操作中的一些或全部。更具体地说,逻辑流程900可由设置逻辑822-1来实现。

根据一些示例,在框902的逻辑流程900可以设置用于2级自动关闭定时器的第一级的第一时间值,2级自动关闭定时器的第一级用于在响应于促使经由与处理器耦合的第一通道对第一存储器装置的存储阵列进行连续高速缓存行访问的多通道地址交错策略而对第一存储器装置的存储阵列的排进行的第一高速缓存行访问之后,促使该排自动关闭。对于这些示例,设置逻辑822-1可以设置2级自动关闭定时器的第一级以建立与用于对第一存储器装置的存储阵列的高速缓存行访问的短到达间隔时间关联的短时间值。

在一些示例中,在框904的逻辑流程900可以设置用于2级自动关闭定时器的第二级的第二时间值,2级自动关闭定时器的第二级用于在响应于促使经由第一通道对第一存储器装置的存储阵列进行非连续高速缓存行访问的多通道交错策略而对该排进行的第二高速缓存行访问之后,促使该排自动关闭。对于这些示例,设置逻辑822-1可以设置2级自动关闭定时器的第二级以建立与用于对第一存储器装置的存储阵列的高速缓存行访问的长到达间隔时间关联的短时间值。

图10图示了示例存储介质1000。在一些示例中,存储介质1400可以是制品。存储介质1000可以包含任何非暂时性计算机可读介质或机器可读介质,诸如光学、磁性或半导体存储装置。存储介质1000可存储各种类型的计算机可执行指令,如实现逻辑流程900的指令。计算机可读或机器可读存储介质的示例可以包含能够存储电子数据的任何有形介质,包含易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写入或可重写存储器等。计算机可执行指令的示例可以包含任何适合类型的代码,诸如源码、经编译的代码、经解释的代码、可执行代码、静态代码、动态代码、面向对象的代码、视觉代码等。示例并不局限于此上下文中。

图11图示了示例计算平台1100。在一些示例中,如图11中所示出的,计算平台1100可以包含处理组件1140、其它平台组件1150或通信接口1160。

根据一些示例,处理组件1140可以执行或实现用于设备800和/或存储介质1000的处理操作或逻辑。处理组件1140可以包含各种硬件元件、软件元件或二者的组合以实现诸如图1中所示出的处理器110的处理器。硬件元件的示例可以包含装置、逻辑装置、组件、处理器、微处理器、管理控制器、伴管芯(companion dice)、电路、处理器电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、ASIC、可编程逻辑装置(PLD)、数字信号处理器(DSP)、FPGA、存储器单元、逻辑门、寄存器、半导体装置、芯片、微芯片、芯片集等。软件元件的示例可以包含软件组件、程序、应用、计算机程序、应用程序、装置驱动程序、系统程序、软件开发程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件来实现示例可以根据如对于给定示例所期望的任何数量的因素而变化,诸如期望的计算速率、功率水平、热容限、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度及其它设计或性能约束。

在一些示例中,其它平台组件1150可以包含公共计算元件、存储器单元(其包含系统存储器)、芯片集、控制器、外设、接口、振荡器、定时装置、视频卡、音频卡、多媒体输入/输出(I/O)组件(例如,数字显示器)、电源等。存储器单元或存储器装置的示例可以包含但不限于以一个或多个更高速度存储器单元形式的各种类型的计算机可读和机器可读存储介质,诸如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪速存储器、聚合物存储器(诸如铁电聚合物存储器)、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光卡、装置的阵列,诸如独立盘冗余阵列(RAID)驱动器、固态存储器装置(例如,USB存储器)、固态驱动器(SSD)及适合用于存储信息的任何其它类型的存储介质。

在一些示例中,通信接口1160可以包含用以支持通信接口的逻辑和/或特征。对于这些示例,通信接口1160可以包含根据各种通信协议或标准操作以通过直接或网络通信链路进行通信的一个或多个通信接口。直接通信可以通过使用在诸如与PCIe规范、NVMe规范或I3C规范关联的工业标准之类的一个或多个工业标准(包含后代和变体)中所描述的通信协议或标准而发生。网络通信可以通过使用诸如在由电气和电子工程师协会(IEEE)所颁布的一个或多个以太网标准中所描述的通信协议或标准之类的通信协议或标准而发生。例如,IEEE颁布的一个此类以太网标准可以包含但不限于2018年公布的IEEE 802.3-2018,“带冲突检测的载波感应多址(CSMA/CD)访问方法和物理层规范”(Carrier senseMultiple access with Collision Detection (CSMA/CD) Access Method and PhysicalLayer Specifications)(下文称为“IEEE 802.3规范”)。网络通信还可以根据一个或多个OpenFlow规范发生,诸如OpenFlow硬件抽象API规范。网络通信还可以根据一个或多个Infiniband架构规范发生。

计算平台1100可以在服务器或客户端计算装置中被实现。相应地,如对于服务器或客户端计算装置所适当期望的,本文中所描述的计算平台1100的功能和/或特定配置可以在计算平台1100的各种实施例中被包含或忽略。

可以使用分立电路、ASIC、逻辑门和/或单芯片架构的任何组合来实现计算平台1100的组件和特征。进一步,可以在适当合适的情况下使用微控制器、FPGA和/或微处理器或前述的任何组合来实现计算平台1100的特征。注意,硬件、固件和/或软件元件可以在本文中被统称或单独称为“逻辑”或“电路”。

应领会到,图11的框图中所示出的示例性计算平台1100可以表示许多潜在实现的一个在功能上描述的示例。相应地,附图中所描绘的框功能的划分、省略或包含不暗示用于实现这些功能的硬件组件、电路、软件和/或元件将必然在实施例中被划分、省略或包含。

至少一个示例的一个或多个方面可以由存储在至少一个机器可读介质上的代表性指令来实现,所述代表性指令表示处理器内的各种逻辑,其在由机器、计算装置或系统读取时,促使机器、计算装置或系统制作用以执行本文中所描述的技术的逻辑。此类表示,称为“IP核”,并且可以类似于IP块。IP核可以被存储在有形、机器可读介质上并被供应到各种客户或制造设施以加载到实际做出逻辑或处理器的制造机器中。

可以使用硬件元件、软件元件或二者的组合来实现各种示例。在一些示例中,硬件元件可以包含装置、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、ASIC、PLD、DSP、FPGA、存储器单元、逻辑门、寄存器、半导体装置、芯片、微芯片、芯片集等。在一些示例中,软件元件可以包含软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件来实现示例可以根据如对于给定实现所期望的任何数量的因素而变化,诸如期望的计算速率、功率水平、热容限、处理循环预算、输入数据速率、输出数据速率、存储器资源、数据总线速度及其它设计或性能约束。

一些示例可以包含制品或至少一个计算机可读介质。计算机可读介质可以包含用以存储逻辑的非暂时性存储介质。在一些示例中,非暂时性存储介质可以包含能够存储电子数据的一个或多个类型的计算机可读存储介质,包含易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写入或可重写存储器等。在一些示例中,逻辑可以包含各种软件元件,诸如软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。

根据一些示例,计算机可读介质可以包含用以存储或保持指令的非暂时性存储介质,指令在由机器、计算装置或系统执行时,促使机器、计算装置或系统执行根据所描述的示例的方法和/或操作。指令可以包含任何适合类型的代码,诸如源代码、经编译的代码、经解释的代码、可执行代码、静态代码、动态代码等。指令可以根据预定义的计算机语言、方式或语法来实现,以便命令机器、计算装置或系统执行某个功能。可以使用任何适合的高级、低级、面向对象的、视觉、经编译的和/或经解释的编程语言来实现指令。

可以使用表述“在一个示例中”或“示例”连同其派生词来描述一些示例。这些术语意指在至少一个示例中包含结合该示例所描述的特定特征、结构或特性。在说明书中各种地方出现短语“在一个示例中”不一定都是指相同的示例。

可以使用表述“耦合”和“连接”连同其派生词来描述一些示例。这些术语不一定是意在作为彼此的同义词。例如,使用术语“连接”和/或“耦合”的描述可以指示两个或更多个元件与彼此直接物理或电接触。然而,术语“耦合”或“与...耦合”还可以意指两个或更多个元件彼此不直接接触,但还仍与彼此协作或交互。

就在本文中描述各种操作或功能而言,它们能够被描述或定义为软件代码、指令、配置和/或数据。内容能够是直接可执行的(“对象”或“可执行”形式)、源代码或差异代码(“增量”或“补丁”代码)。本文中所描述的实施例的软件内容能够经由其上存储有内容的制品提供,或者经由操作通信接口以经由通信接口发送数据的方法提供。机器可读存储介质能够促使机器执行所描述的功能或操作,并且包含以可由机器(例如,计算装置、电子系统等)访问的形式来存储信息的任何机构,诸如可记录/非可记录介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光学存储介质、闪速存储器装置等)。通信接口包含与任何硬连线的、无线的、光学的等介质接合以与另一装置进行通信的任何机构,诸如存储器总线接口、处理器总线接口、因特网连接、磁盘控制器等。能够通过提供配置参数和/或发送信号来配置通信接口,以使通信接口准备好提供描述软件内容的数据信号。能够经由发送到通信接口的一个或多个命令或信号来访问通信接口。

以下示例属于本文中所公开的技术的附加示例。

示例1. 一种示例设备可包括用以经由多个通道来访问存储器装置的存储器控制器的接口;以及所述存储器控制器的电路。所述电路可设置用于2级自动关闭定时器的第一级的第一时间值。所述2级自动关闭定时器的所述第一级用于在对第一存储器装置的存储阵列的排进行的第一高速缓存行访问之后,促使所述排自动关闭,所述第一高速缓存行访问响应于促使经由所述多个通道的第一通道对第一存储器装置的所述存储阵列进行连续高速缓存行访问的多通道地址交错策略。所述电路还可设置用于所述2级自动关闭定时器的第二级的第二时间值。所述2级自动关闭定时器的所述第二级用于在对所述排进行的第二高速缓存行访问之后,促使所述排自动关闭,所述第二高速缓存行访问响应于促使经由所述第一通道对第一存储器装置的所述存储阵列进行非连续高速缓存行访问的所述多通道地址交错策略。

示例2. 示例1所述的设备,所述多通道地址交错策略可以是2通道地址交错策略,所述2通道地址交错策略包含第一4路交错,所述第一4路交错将第一存储器装置的所述存储阵列的物理存储器地址映射到到所述第一通道的一串高速缓存行的第一组四个高速缓存行,以促使对第一存储器装置的所述存储阵列进行所述连续高速缓存行访问。

示例3. 示例2所述的设备,所述电路还可监视所述一串高速缓存行的所述第一组四个高速缓存行的高速缓存行访问。所述电路还可确定所述第一组四个高速缓存行的至少两个连续高速缓存行访问的移动平均到达间隔时间。所述电路还可调整用于所述2级自动关闭定时器的所述第一级的所述第一时间值,以便为经由所述第一通道对第一存储器装置的所述存储阵列进行的随后高速缓存行访问增大页面命中的可能性。

示例4. 示例2所述的设备,所述电路还可监视所述一串高速缓存行的所述第一组四个高速缓存行的高速缓存行访问。所述电路还可确定所述第一组四个高速缓存行的至少两个连续高速缓存行访问的移动平均到达间隔时间。所述电路还可调整用于所述2级自动关闭定时器的所述第一级的所述第一时间值,以便为经由所述第一通道对第一存储器装置的所述存储阵列进行的随后高速缓存行访问减小页面未命中的可能性。

示例5. 示例2所述的设备,所述2通道地址交错策略还可包含第二4路交错,所述第二4路交错将第二存储器装置的存储阵列的排的物理存储器地址映射到到所述多个通道的第二通道的所述一串高速缓存行的下一组四个高速缓存行。所述2通道地址交错策略还可包含第三4路交错,所述第三4路交错将第一存储器装置的所述存储阵列的所述排的物理存储器地址映射到到所述第一通道的所述一串高速缓存行的第三组四个高速缓存行。对于此示例,促使对所述第一存储器装置的所述存储阵列进行所述非连续高速缓存行访问包含所述2通道地址交错策略来促使对所述第一4路交错的最后高速缓存行进行访问和对所述第三4路交错的第一高速缓存行进行访问。

示例6. 示例5所述的设备,所述电路还可监视对所述第一4路交错的所述最后高速缓存行进行的访问和对所述第三4路交错的所述第一高速缓存行进行的访问。所述电路还可确定在对所述最后高速缓存行和所述第一高速缓存行进行的访问之间的移动平均到达间隔时间。所述电路还可调整用于所述2级自动关闭定时器的所述第二级的所述第二时间值,以便在经由所述第一通道对第一存储器装置的所述存储阵列进行的随后高速缓存行访问之前是经由所述第二通道对第二存储器装置的所述存储阵列进行的高速缓存行访问时,为所述随后高速缓存行访问增大页面命中的可能性。

示例7. 示例5所述的设备,所述电路还可监视对所述第一4路交错的所述最后高速缓存行进行的访问和对所述第三4路交错的所述第一高速缓存行进行的访问。所述电路还可确定在对所述最后高速缓存行进行的访问与对所述第一高速缓存行进行的访问之间的移动平均到达间隔时间。所述电路还可调整用于所述2级自动关闭定时器的所述第二级的所述第二时间值,以便在经由所述第一通道对所述第一存储器装置的所述存储阵列进行的随后高速缓存行访问之前是对第二存储器装置的所述存储阵列进行的高速缓存行访问时,为所述随后高速缓存行访问减小页面未命中的可能性。

示例8. 示例5所述的设备,第一存储器装置的所述存储阵列可包含布置在DIMM上的多个第一存储器管芯并且所述第二存储器装置的所述存储阵列包含布置在第二DIMM上的多个第二存储器管芯。

示例9. 示例1所述的设备,所述第一和第二高速缓存行访问可从第一存储器装置的所述存储阵列的所述排分开地访问64字节的数据。

示例10. 示例1所述的设备,第一存储器装置的所述存储阵列可以是布置在DIMM上的多个存储器管芯。

示例11. 示例1所述的设备,所述第一存储器装置可包含动态随机存取存储器。

示例12. 一种示例方法可包括设置用于2级自动关闭定时器的第一级的第一时间值。所述2级自动关闭定时器的所述第一级可在对第一存储器装置的存储阵列的排进行的第一高速缓存行访问之后,促使所述排自动关闭,所述第一高速缓存行访问响应于促使经由与处理器耦合的第一通道对第一存储器装置的所述存储阵列进行连续高速缓存行访问的多通道地址交错策略。所述方法还可包括设置用于所述2级自动关闭定时器的第二级的第二时间值。所述2级自动关闭定时器的所述第二级可在对所述排进行的第二高速缓存行访问之后,促使所述排自动关闭,所述第二高速缓存行访问响应于促使经由所述第一通道对第一存储器装置的所述存储阵列进行非连续高速缓存行访问的所述多通道地址交错策略。

示例13. 示例12所述的方法,所述多通道地址交错策略可以是2通道地址交错策略,所述2通道地址交错策略包含第一4路交错,所述第一4路交错将第一存储器装置的所述存储阵列的物理存储器地址映射到到所述第一通道的一串高速缓存行的第一组四个高速缓存行,以促使对第一存储器装置的所述存储阵列进行所述连续高速缓存行访问。

示例14. 示例13所述的方法还可包括监视所述一串高速缓存行的所述第一组四个高速缓存行的高速缓存行访问。所述方法还可包括确定所述第一组四个高速缓存行的至少两个连续高速缓存行访问的移动平均到达间隔时间。所述方法还可包括调整用于所述2级自动关闭定时器的所述第一级的所述第一时间值,以便为经由所述第一通道对第一存储器装置的所述存储阵列进行的随后高速缓存行访问增大页面命中的可能性。

示例15. 示例13所述的方法还可包括监视所述一串高速缓存行的所述第一组四个高速缓存行的高速缓存行访问。所述方法还可包括确定所述第一组四个高速缓存行的至少两个连续高速缓存行访问的移动平均到达间隔时间。所述方法还可包括调整用于所述2级自动关闭定时器的所述第一级的所述第一时间值,以便为经由所述第一通道对第一存储器装置的所述存储阵列进行的随后高速缓存行访问减小页面未命中的可能性。

示例16. 示例13所述的方法,所述2通道地址交错策略还包含第二4路交错,所述第二4路交错将第二存储器装置的存储阵列的排的物理存储器地址映射到到与所述处理器耦合的第二通道的所述一串高速缓存行的下一组四个高速缓存行。所述2通道地址交错策略还包含第三4路交错,所述第三4路交错将第一存储器装置的所述存储阵列的所述排的物理存储器地址映射到到所述第一通道的所述一串高速缓存行的第三组四个高速缓存行。对于此示例,促使对所述第一存储器装置的所述存储阵列进行所述非连续高速缓存行访问包含所述2通道地址交错策略来促使对所述第一4路交错的最后高速缓存行进行访问和对所述第三4路交错的第一高速缓存行进行访问。

示例17. 示例16所述的方法还可包括监视对所述第一4路交错的所述最后高速缓存行进行的访问和对所述第三4路交错的所述第一高速缓存行进行的访问。所述方法还可包括确定在对所述最后高速缓存行和所述第一高速缓存行进行的访问之间的移动平均到达间隔时间。所述方法还可包括调整用于所述2级自动关闭定时器的所述第二级的所述第二时间值,以便在经由所述第一通道对第一存储器装置的所述存储阵列进行的随后高速缓存行访问之前是经由所述第二通道对第二存储器装置的所述存储阵列进行的高速缓存行访问时,为所述随后高速缓存行访问增大页面命中的可能性。

示例18. 示例17所述的方法还可包括监视对所述第一4路交错的所述最后高速缓存行进行的访问和对所述第三4路交错的所述第一高速缓存行进行的访问。所述方法还可包括确定在对所述最后高速缓存行进行的访问与对所述第一高速缓存行进行的访问之间的移动平均到达间隔时间。所述方法还可包括调整用于所述2级自动关闭定时器的所述第二级的所述第二时间值,以便在经由所述第一通道对所述第一存储器装置的所述存储阵列进行的随后高速缓存行访问之前是对第二存储器装置的所述存储阵列进行的高速缓存行访问时,为所述随后高速缓存行访问减小页面未命中的可能性。

示例19. 示例16所述的方法,第一存储器装置的所述存储阵列可包含布置在第一DIMM上的多个第一存储器管芯并且所述第二存储器装置的所述存储阵列包含布置在第二DIMM上的多个第二存储器管芯。

示例20. 示例12所述的方法,所述第一和第二高速缓存行访问可以从第一存储器装置的所述存储阵列的所述排分开地访问64字节的数据。

示例21. 示例12所述的方法,第一存储器装置的所述存储阵列可以是布置在DIMM上的多个存储器管芯。

示例22. 示例12所述的方法,所述第一存储器装置可包含动态随机存取存储器。

示例23. 一个示例,至少一种机器可读介质,其包括响应于被系统执行可促使所述系统执行根据示例12-22中任一项的方法的多个指令。

示例24. 一种示例设备,其可包括用于执行示例12-22中任一项所述的方法的部件。

示例25. 一个示例,至少一种机器可读介质可以包含多个指令,所述多个指令响应于被系统执行可促使系统设置用于2级自动关闭定时器的第一级的第一时间值。所述2级自动关闭定时器的所述第一级可在对第一存储器装置的存储阵列的排进行的第一高速缓存行访问之后,促使所述排自动关闭,所述第一高速缓存行访问响应于促使经由与处理器耦合的第一通道对第一存储器装置的所述存储阵列进行连续高速缓存行访问的多通道地址交错策略。所述指令还可促使所述系统设置用于所述2级自动关闭定时器的第二级的第二时间值。所述2级自动关闭定时器的所述第二级可在对所述排进行的第二高速缓存行访问之后,促使所述排自动关闭,所述第二高速缓存行访问响应于促使经由所述第一通道对第一存储器装置的所述存储阵列进行非连续高速缓存行访问的所述多通道地址交错策略。

示例26. 示例25所述的至少一种机器可读介质,所述多通道地址交错策略可以是2通道地址交错策略,所述2通道地址交错策略包含第一4路交错,所述第一4路交错将第一存储器装置的所述存储阵列的物理存储器地址映射到到所述第一通道的一串高速缓存行的第一组四个高速缓存行,以促使对第一存储器装置的所述存储阵列进行所述连续高速缓存行访问。

示例27. 示例26所述的至少一种机器可读介质,所述指令还可促使所述系统监视所述一串高速缓存行的所述第一组四个高速缓存行的高速缓存行访问。所述指令还可促使所述系统确定所述第一组四个高速缓存行的至少两个连续高速缓存行访问的移动平均到达间隔时间。所述指令还可促使所述系统调整用于所述2级自动关闭定时器的所述第一级的所述第一时间值,以便为经由所述第一通道对第一存储器装置的所述存储阵列进行的随后高速缓存行访问增大页面命中的可能性。

示例28. 示例26所述的至少一种机器可读介质,所述指令还可促使所述系统监视所述一串高速缓存行的所述第一组四个高速缓存行的高速缓存行访问。所述指令还可促使所述系统确定所述第一组四个高速缓存行的至少两个连续高速缓存行访问的移动平均到达间隔时间。所述指令还可促使所述系统调整用于所述2级自动关闭定时器的所述第一级的所述第一时间值,以便为经由所述第一通道对第一存储器装置的所述存储阵列进行的随后高速缓存行访问减小页面未命中的可能性。

示例29. 示例26所述的至少一种机器可读介质,所述2通道地址交错策略还可包含第二4路交错,所述第二4路交错将第二存储器装置的存储阵列的排的物理存储器地址映射到到与所述处理器耦合的第二通道的所述一串高速缓存行的下一组四个高速缓存行。所述2通道地址交错策略还可包含第三4路交错,所述第三4路交错将第一存储器装置的所述存储阵列的所述排的物理存储器地址映射到到所述第一通道的所述一串高速缓存行的第三组四个高速缓存行。对于此示例,促使对所述第一存储器装置的所述存储阵列进行所述非连续高速缓存行访问可包含所述2通道地址交错策略来促使对所述第一4路交错的最后高速缓存行进行访问和对所述第三4路交错的第一高速缓存行进行访问。

示例30. 示例29所述的至少一种机器可读介质,所述指令还可促使所述系统监视对所述第一4路交错的所述最后高速缓存行进行的访问和对所述第三4路交错的所述第一高速缓存行进行的访问。所述指令还可促使所述系统确定在对所述最后高速缓存行和所述第一高速缓存行进行的访问之间的移动平均到达间隔时间。所述指令还可促使所述系统调整用于所述2级自动关闭定时器的所述第二级的所述第二时间值,以便在经由所述第一通道对第一存储器装置的所述存储阵列进行的随后高速缓存行访问之前是经由所述第二通道对第二存储器装置的所述存储阵列进行的高速缓存行访问时,为所述随后高速缓存行访问增大页面命中的可能性。

示例31. 示例30所述的至少一种机器可读介质,所述指令还可促使所述系统监视对所述第一4路交错的所述最后高速缓存行进行的访问和对所述第三4路交错的所述第一高速缓存行进行的访问。所述指令还可促使所述系统确定在对所述最后高速缓存行进行的访问与对所述第一高速缓存行进行的访问之间的移动平均到达间隔时间。所述指令还可促使所述系统调整用于所述2级自动关闭定时器的所述第二级的所述第二时间值,以便在经由所述第一通道对所述第一存储器装置的所述存储阵列进行的随后高速缓存行访问之前是对第二存储器装置的所述存储阵列进行的高速缓存行访问时,为所述随后高速缓存行访问减小页面未命中的可能性。

示例32. 示例29所述的至少一种机器可读介质,第一存储器装置的所述存储阵列可包含布置在第一DIMM上的多个第一存储器管芯并且所述第二存储器装置的所述存储阵列包含布置在第二DIMM上的多个第二存储器管芯。

示例33. 示例25所述的至少一种机器可读介质,所述第一和第二高速缓存行访问可以从第一存储器装置的所述存储阵列的所述排分开地访问64字节的数据。

示例34. 示例25所述的至少一种机器可读介质,第一存储器装置的所述存储阵列可以是布置在DIMM上的多个存储器管芯。

示例35. 示例25所述的至少一种机器可读介质,所述第一存储器装置可包含动态随机存取存储器。

要强调的是,提供本公开的摘要以遵从37 C.F.R.第1.72(b)部分,其要求将允许读者快速明了本技术性公开的实质的摘要。摘要是在它将不被用来解释或限制权利要求的范围或含义的理解下被提交的。另外,在前述具体实施方式中,能够看到,各种特征在单个示例中被编组在一起以用于简化本公开的目的。本公开方法不要理解为反映以下意图:所要求保护的示例要求比每个权利要求中明确叙述的更多的特征。相反,如随附权利要求所反映的,发明主题在于少于单个所公开的示例的所有特征。因此,随附权利要求由此被并入到具体实施方式中,其中每个权利要求独立作为单独的示例。在随附权利要求中,术语“包含”和“在其中”分别用作相应术语“包括”和“其中”的简明英语等同物。另外,术语“第一”、“第二”、“第三”等只仅仅被作标记,并且无意在其对象上强加数字要求。

虽然以特定于结构特征和/或方法动作的语言描述了主题,但要理解的是,在随附权利要求书中限定的主题不必限于上述的特定特征或动作。相反,上述的特定特征和动作作为实现权利要求的示例形式被公开。

34页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种加速读存储介质的方法、读加速硬件模块及存储器

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类