计算机存储器的性能计数器制造技术

技术编号:24597131 阅读:25 留言:0更新日期:2020-06-21 03:44
在一些示例中,计算机存储器的性能计数器可以包括查明与计算机存储器的存储器地址范围相关联的请求。存储器地址范围可以被分配给多个指定性能层中的指定性能层。与存储器地址范围的性能属性相关联的性能值可以被查明,并且权重值可以被确定。基于所查明的请求和权重值,与关联于存储器地址范围的计数器相关联的计数值可以被递增。可以进行如下确定:其是关于存储器地址范围是否要被分配给多个指定性能层中的不同的指定性能层。基于存储器地址范围要被分配给不同的指定性能层的确定,存储器地址范围可以被分配给不同的指定性能层。

Performance counter of computer memory

【技术实现步骤摘要】
【国外来华专利技术】计算机存储器的性能计数器
技术介绍
计算机系统可以包括各种类型的计算机存储器。例如,计算机存储器可以包括易失性存储器,诸如,用于计算机系统中的主要存储的随机存取存储器(RAM)。与易失性存储器相比,非易失性存储器可以用于辅助存储或永久存储。非易失性存储器的示例包括只读存储器、闪存、磁性计算机存储设备等。计算机存储器可以是不均匀的,因为计算机存储器的不同层可以包括用于质量的不同值,包括时延、吞吐量、容量、耐久性(endurance)和耐用性(durability)。时延可以被描述为在用于传输数据或执行命令的关联指令之后开始数据传输或命令执行之前的延迟。吞吐量可以被描述为可以从计算机存储器读取数据或将数据存储到计算机存储器中的速率。进一步地,耐久性可以被描述为在计算机存储器变得不可靠之前可以被应用于计算机存储器的程序和/或擦除周期的数量。耐用性可以被描述为永久存储器的属性,该属性描述了数据在不施加功率的情况下可以在存储器中保持有效多长时间。为了优化计算机系统性能,计算机存储器中的内容可能需要被放置在计算机存储器的适当层中。例如,某些内容可能需要被放置在包括指定时延的计算机存储器的层中,而其他内容可能需要基于吞吐量、耐久性和/或其他因素被放置在其他层中。在这方面,选择将放置内容的计算机存储器的层使得所选层与使用该层的应用(或另一设备)的行为相匹配在技术上具有挑战性。预测应用的行为以选择适当的层在技术上也具有挑战性,其中与计算机系统相关联的操作系统或管理程序可以利用预测的行为来做出关于内容在特定层中的放置的决策。更进一步地,由于不同层的行为和内容在特定层中的放置可能随时间变化,因此动态地修改内容在计算机存储器的特定层中的放置在技术上具有挑战性。计算机存储器的一层(或通常的存储位置)也可能受到来自访问或以其他方式利用该层的内容的多个源的争用(contention)。例如,特定层可以包括适当放置的内容。然而,由于对该特定层的访问数量相对大,因此使用该特定层可能会导致与该特定层相关联的计算机系统性能降低。在这方面,预测特定层的使用(usage)何时超过指定使用在技术上具有挑战性。修改特定层的使用来满足指定使用以增加或以其他方式保持指定成本、性能或功耗水平的计算机系统的性能在技术上也具有挑战性。更进一步地,计算机存储器的层可以被定义以通过“着色”映射到缓存中,其中分配有相同颜色的层的所有部分将竞争缓存中的相同放置。如果具有相同颜色的两组或更多组分离的存储器被频繁使用,则这种竞争可以降低计算机存储器的性能。在这方面,由于使用模式随时间而变化,并且进一步地由于在可能分配存储器区域时对该区域的计划使用的了解有限,静态地选择避免这种性能下降的颜色在技术上具有挑战性。在计算机系统上监测和定位发生这种冲突的区域在技术上也具有挑战性。附图说明本公开的特征通过示例被图示,并且在以下(多个)附图中不受限制,其中相同的数字指示相同的元件,在附图中:图1图示了根据本公开的实施例的用于计算机存储器装置的性能计数器的布局;图2图示了根据本公开的实施例的布局的示例,该布局包括用于测量图1的计算机存储器装置的性能计数器的计算机存储器使用的计数器;图3图示了根据本公开的实施例的用于计算机存储器的性能计数器的框图;图4图示了根据本公开的实施例的用于计算机存储器的性能计数器的方法的流程图;以及图5图示了根据本公开的另一实施例的用于计算机存储器的性能计数器的框图。具体实施方式出于简单和说明性的目的,本公开通过主要参照示例来描述。在以下描述中,许多特定细节被阐述以便提供对本公开的透彻理解。然而,将明显的是,本公开可以在不限于这些特定细节的情况下被实践。在其他实例中,一些方法和结构未被详细描述,以免不必要地混淆本公开。在整个本公开中,术语“一”和“一个”旨在表示特定元素中的至少一个。如本文所使用的,术语“包括(includes)”是指包括但不限于,术语“包括(including)”是指包括但不限于。术语“基于”是指至少部分地基于。本文公开了用于计算机存储器的性能计数器的装置、用于计算机存储器的性能计数器的方法以及在其上存储有机器可读指令以提供用于计算机存储器的性能计数器的非瞬态计算机可读介质。本文所公开的装置、方法和非瞬态计算机可读介质提供了对计算机存储器的存储器模块、大容量存储器等的计数器的实现。计数器可以用于通过获得应用(或另一设备)的行为数据以将内容放置在计算机存储器的适当层中的计算机存储器中来至少解决上面提到的技术挑战。计数器还可以通过定位可能的广泛争用来至少解决上面提到的技术挑战,这使得其他步骤能够被发起以降低该争用。存储器模块可以包括双倍数据速率(DDR)双列直插式存储器模块(DIMM)等,并且大容量存储器可以包括只读存储器、闪存等。每个计数器可以监测计算机系统内的计算机存储器的特定范围的活动。例如,多个计数器可以被使用,并且包括跨越计算机系统的整个计算机存储器的存储器范围。每个存储器范围可以对应于计算机存储器的块,操作系统(OS)或管理程序可能能够在计算机存储器的不同的指定性能层之间移动该块。根据示例,计数器可以包括用于读取活动和写入活动以及不承载数据的其他耗时活动(诸如,刷新周期、程序周期和空闲时间)的分离的计数器。备选地或附加地,计数器可以考虑读取活动和写入活动的聚合。备选地或附加地,计数器可以包括仅用于读取活动的计数器。备选地或附加地,计数器可以包括仅用于写入活动的计数器。备选地或附加地,计数器可以包括用于记录周期混合和流水线命令活动的计数器。关于所使用的多个计数器,根据示例,计数器的数量可能足以对足够数量的区域进行计数,以允许系统的整个存储器覆盖范围内的存储器活动被及时地扫描,或者在默认情况下对标准大小的所有区域进行计数,它们都是用于移动以具有单独的计数器的候选。因此,充足数量的计数器可以被灵活地分配给感兴趣的存储器区域。例如,计数器可以被分配给计算机存储器的存储器模块,以使内容在存储器模块的不同的指定性能层之间移动。计数器还可以包括汇总(summary)计数器。在这方面,即使每个页面都可以包括计数器,汇总计数器也可以提供DIMM的总计数。汇总计数器可以提供对总活动是否低于关注阈值的确定。关于计数器大小,根据示例,计数器可以足够大以捕获在关联计数值的检查之间的间隔中期望的完整计数范围。备选地或附加地,当达到最大计数值时,计数器可以饱和。备选地或附加地,自由运行的计数器可以以全计数回绕,回到零,并且对关联计数值的检查可以可选地将计数值清零。备选地或附加地,饱和计数器可以在检查计数值之后被设置为零。备选地或附加地,饱和计数器可以指示饱和或溢出条件。通常,任何类型的计数器(自由运行或饱和)都可以在检查后被归零。关于计算机系统性能,计数器可以被用于各种性能测量目的。例如,除了指导在适当的指定性能层中放置存储块之外,计数器还可以用于降低来自访问或以其他方式利用特定层(或通常是存储位置)的内容的多个源的争用。在这方面,计数器可以标识争用,其本文档来自技高网...

【技术保护点】
1.一种装置,包括:/n处理器;以及/n存储机器可读指令的存储器,所述机器可读指令在由所述处理器执行时使所述处理器:/n查明与计算机存储器的存储器地址范围相关联的请求,其中所述存储器地址范围被分配给多个指定性能层中的指定性能层;/n查明与所述存储器地址范围的性能属性相关联的性能值;/n基于所查明的所述性能值,确定权重值;/n基于所查明的所述请求和所确定的所述权重值,递增与关联于所述存储器地址范围的计数器相关联的计数值;/n基于与所述计数器相关联的所述计数值的分析,确定所述存储器地址范围是否要被分配给所述多个指定性能层中的不同的指定性能层;以及/n基于所述存储器地址范围要被分配给所述不同的指定性能层的确定,将所述存储器地址范围分配给所述不同的指定性能层。/n

【技术特征摘要】
【国外来华专利技术】20171109 US 62/583,909;20180518 US 15/984,2191.一种装置,包括:
处理器;以及
存储机器可读指令的存储器,所述机器可读指令在由所述处理器执行时使所述处理器:
查明与计算机存储器的存储器地址范围相关联的请求,其中所述存储器地址范围被分配给多个指定性能层中的指定性能层;
查明与所述存储器地址范围的性能属性相关联的性能值;
基于所查明的所述性能值,确定权重值;
基于所查明的所述请求和所确定的所述权重值,递增与关联于所述存储器地址范围的计数器相关联的计数值;
基于与所述计数器相关联的所述计数值的分析,确定所述存储器地址范围是否要被分配给所述多个指定性能层中的不同的指定性能层;以及
基于所述存储器地址范围要被分配给所述不同的指定性能层的确定,将所述存储器地址范围分配给所述不同的指定性能层。


2.根据权利要求1所述的装置,其中所述性能属性包括与所述存储器地址范围相关联的时延,并且其中用以查明与所述存储器地址范围的所述性能属性相关联的所述性能值并且基于所查明的所述性能值来确定所述权重值的所述机器可读指令在由所述处理器执行时还使所述处理器:
查明与所述存储器地址范围的所述时延属性相关联的时延值;以及
基于所查明的所述时延值,确定所述权重值。


3.根据权利要求1所述的装置,其中所述性能属性包括与所述存储器地址范围相关联的请求的间歇增加或减少,并且其中用以查明与所述存储器地址范围的所述性能属性相关联的所述性能值并且基于所查明的所述性能值来确定所述权重值的所述机器可读指令在由所述处理器执行时还使所述处理器:
查明与所述存储器地址范围的请求属性的所述间歇增加或减少相关联的请求值的所述间歇增加或减少;以及
基于请求值的所查明的所述间歇增加或减少,确定所述权重值。


4.根据权利要求1所述的装置,其中所述性能属性包括与所述存储器地址范围相关联的读写请求周期的分散性,其中所述读写请求周期包括读取到写入、写入到读取、连续读取或连续写入中的至少一种,并且其中用以查明与所述存储器地址范围的所述性能属性相关联的所述性能值并且基于所查明的所述性能值来确定所述权重值的所述机器可读指令在由所述处理器执行时还使所述处理器:
查明与所述存储器地址范围的读写请求周期属性的所述分散性相关联的读写请求周期值的所述分散性;以及
基于读写请求周期值的所查明的所述分散性,确定所述权重值。


5.根据权利要求1所述的装置,其中用以基于所查明的所述性能值确定所述权重值并且基于所查明的所述请求和所确定的所述权重值递增与关联于所述存储器地址范围的所述计数器相关联的所述计数值的所述机器可读指令在由所述处理器执行时还使所述处理器:
通过根据来自基础性能值的所述性能值的增加或减少成比例地增加或减少基础权重值,来基于所查明的所述性能值确定所述权重值;
通过将所确定的所述权重值和与关联于所述存储器地址范围的所述计数器相关联的基础计数值增量相乘,来确定计数值增量增加或减少;以及
基于所查明的所述请求,以所确定的所述计数值增量增加或增量减少来递增所述计数值。


6.根据权利要求1所述的装置,其中所述机器可读指令在由所述处理器执行时还使所述处理器:
确定与所述计数器相关联的所述计数值;
确定自与所述计数器相关联的所述计数值的所述确定以来是否已经过去了指定时间段;以及
基于自与所述计数器相关联的所述计数值的所述确定以来已经过去了所述指定时间段的确定,将所述计数值降低指定量。


7.根据权利要求1所述的装置,其中用以基于所查明的所述请求和所确定的所述权重值递增与关联于所述存储器地址范围的所述计数器相关联的所述计数值的所述机器可读指令在由所述处理器执行时还使所述处理器:
确定指定持续时间内与所述计数器相关联的所述计数值,所述指定持续时间小于与所述计数器相关联的所有计数值的总持续时间;以及
基于所查明的所述请求和所确定的所述权重值,递增与关联于所述存储器地址范围的所述计数器相关联的所确定的所述计数值。

【专利技术属性】
技术研发人员:J·G·本内特S·塔瓦拉埃
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

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

1