调节存储器激活率的制作方法

文档序号:9438893阅读:511来源:国知局
调节存储器激活率的制作方法
【专利说明】
【背景技术】
[0001]许多现实世界分析学应用处理大量的数据集。例如,出于允许在线业务达到在线市场中更好位置本身的目的,可以将机器学习应用于大数据集。以该方式,在线业务可以由于通过其在线目录的销售和/或通过由用户点击出现在商业的web站点上的广告产生的收入的销售而接收收入。出于理解在线用户的期望和倾向的目的,可以发掘(mine)描述该活动的大数据集。
【附图说明】
[0002]图1是根据示例实现的计算机系统的示意图。
[0003]图2是根据示例实现的图1的计算机系统的激活率调节系统的示意图。
[0004]图3是描绘根据示例实现的用以调节存储器的激活率的技术的流程图。
[0005]图4是图示根据示例实现的在图1的计算机系统的控制器和检测阵列之间的交互的示意图。
【具体实施方式】
[0006]处理大量数据集由于与该处理相关的对相同或者附近存储器位置的大量潜在的重复的访问而在计算机系统的存储器上可能是相当繁重的。如果不针对本文公开的系统和技术,则重复的访问可以处于大到足够潜在地影响存储在存储器中的数据的完整性的率。
[0007]更具体地,电荷被选择性地存储在动态随机访问存储器(DRAM)设备的基于电容器的存储器单元中以表示相应的存储数据。因为泄漏电流使存储的电荷降级(degrade),所以DRAM设备的存储器单元被周期性刷新,这涉及读存储在DRAM的设备存储器单元中的数据并且将数据重写回到存储器单元。然而,刷新DRAM设备的率可能不足以维持用于某个活动的电荷水平。以该方式,出于访问DRAM设备的存储器单元的行的目的,可以发出被称为“激活命令”的命令以打开用于访问的行。即使周期性地刷新这些字行,以足够高的率的给定行的重复激活(例如,每刷新周期大约数千次的激活)可能使存储在相邻字行中的数据降级(归因于DRAM特征的相对紧密的间距的DRAM中的自然发生)。换言之,当激活率超过某阈值时,周期性的刷新间隔可能不足以维持存储的数据。
[0008]出于控制可能否则由于在给定的刷新周期期间的给定行的重复激活而发生的降级的目的,本文公开了针对频繁访问的DRAM行使用高速缓存条目来存储数据内容的系统和技术。
[0009]更具体地,本文公开了系统和技术,用于监视针对对应于被监视的系统地址池的存储器位置的激活率。该地址池继而可以包含比被高速缓存作为目标的地址的数量显著更大数量的地址。基于针对池的地址的监视的激活率来更新被高速缓存作为目标的地址。例如,如果池中被监视的地址中的一个具有超过预定的刷新率阈值的相关联的激活率,则可以更新高速缓存以随后处理对该存储器位置的访问,使得此后不超过存储器位置的刷新率阈值。同样地,现在可以较不频繁地访问被频繁访问并且当前被高速缓存的存储器位置。针对该情况,可以更新高速缓存以逐出或者移除对应于较不频繁地访问的存储器位置的条目。
[0010]作为更具体的示例,图1描绘了示例计算机系统100。针对该示例,计算机系统100包括处理器包120 (在图1中两个处理器包120-1和120-2被描绘作为示例)。一般地,处理器包120可以是包括一个或多个处理器核130的半导体包(例如,球(ball)和网格包)。除(一个或多个)处理器核130之外,处理器包120还可以包括存储器控制器160,所述存储器控制器160 —般地控制存储和取回在共同形成存储器180的存储器模块182(作为示例,双列直插存储器模块(DIMM))中的数据。如在图1中描绘的那样,在示例实现中,每个处理器包120可以具有相关联的存储器180,所述存储器180可以充当例如用于计算机系统100的本地和共享的存储器两者。设想在所附权利要求书的范围内的其他实现。
[0011]根据示例实现,出于限制可以以其激活存储器180的任何给定位置的率的目的,处理器包120包括控制器164。应注意控制器164可以是存储器控制器160的部分(如在图1中作为示例描绘的那样)或者可以与存储器控制器160分离。此外,控制器164可以被实现为CPU包的部分(S卩,通过由CPU执行机器可执行指令实现的);可以使用在CPU包外部的电路(例如,一个或多个集成电路)被实现;或者取决于特定实现可以是上文的组合。
[0012]不论其特定形式,出于检测何时激活对应于在给定地址池内的地址的存储器位置的目的,控制器164监视与存储器180的事务。取决于特定实现,位置可以包括存储器180的连续和/或非连续的位置。
[0013]根据示例实现,出于确定何时给定地址在地址的池内的目的,控制器164使用检测阵列140。作为示例,检测阵列140—般地包含存储器180的最频繁地激活的地址(例如,与高速缓存行相关联的最频繁地激活的地址)。根据示例实现,控制器164控制哪些地址属于池。以该方式,根据示例实现,控制器164基于观察的针对地址的激活率选择性地向固定数池(作为示例)逐出和增加地址。
[0014]当地址的池的给定地址超过预定义阈值(例如,与在可能发生存储器降级之前每刷新周期的确定的激活的最大数量一致的阈值)时,出于减少访问相关联的存储器位置的率的目的,控制器164采取修正动作。如本文进一步公开的那样,以该方式,控制器164响应于检测针对池的相关联的地址的激活率已经被超过来更新高速缓存150以在此后跟踪地址,即控制器164更新相应的高速缓存标记(tag)地址以将该地址作为目标,使得与该地址相关联的清洁数据被存储在高速缓存150的行中。通过配置高速缓存150来高速缓存频繁访问的存储器地址,显著减少了相应存储器位置的激活率,因为从高速缓存150供应大多数访问。
[0015]因此,参考图2,根据示例实现,激活率调节系统200监视不被控制器204高速缓存的请求220,所述请求220可以是例如在存储器总线操作中传送的请求并且其可以涉及激活命令的传送。控制器204将与请求220相关联的存储器地址与监视的地址212的池210相比较,所述请求220与激活命令相关联。以该方式,针对监视的地址212,控制器204维持相应的激活率214的日志。此外,控制器204维持哪些地址212属于池210,使得池210 —般包含最频繁激活的地址212。一般地,存储器250因此包括具有相应地址264的存储器位置260,其中最频繁激活的地址264对应于池210的跟踪的地址212。
[0016]当给定激活率214超过预定义阈值时,控制器204更新高速缓存270以逐出高速缓存270的高速缓存条目276中的一个并且以对应于具有已经被超过的激活率214的地址212的高速缓存条目276代替被逐出的高速缓存条目276。出于该目的,高速缓存270可以更新相应的标记地址条目274,使得高速缓存270存储针对新地址212的数据。
[0017]因此,参考图3,根据示例实现的技术300包括监视(框302)与存储器地址的池相关联的存储器位置的激活率。技术300包括调节(框304)激活率,包括将高速缓存到高速缓存访问选择性地配置到被太频繁激活的存储器地址。
[0018]—般地,通过对被最频繁激活的地址高速缓存来降低激活率。例如,根据示例实现,如果最大激活率是每刷新间隔一百万次激活并且问题发生在每刷新间隔二十万次激活,则高速缓存270包含针对至少五个地址的高速缓存条目,即1M/200K = 5个地址。在这样的情况下,在系统上运行的应用可以迅速地访问五个地址并且不命中(hit)存储器250。如果应用假设迅速访问六个地址,则存储器250将得到最频繁激活的每六个中的一个,并且这将处于低到足以不引起问题的率。
[0019]参考图4,作为更具体的示例,根据某些实现,检测阵列140可以包括与被监视的地址的池相关联的N个条目402 (在图4中被描绘为示例的N个条目402-1、402-2……402-N)。根据示例实现,检测阵列可以包括对应于监视的地址的十六个条目402。
[002
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1