用于减少行缓冲冲突的动态存储器重新映射制造技术

技术编号:22083392 阅读:43 留言:0更新日期:2019-09-12 16:56
一种数据处理系统包括存储器,所述存储器包括第一存储器存储体和第二存储器存储体。所述数据处理系统还包括冲突检测器,所述冲突检测器连接到所述存储器并且适于接收存储器访问信息。所述冲突检测器跟踪所述第一存储器存储体的存储器访问统计信息并且确定所述第一存储器存储体是否包含频繁行冲突。所述冲突检测器还将所述第一存储器存储体中的频繁行冲突重新映射到所述第二存储器存储体。间接表连接到所述冲突检测器,并且适于:接收存储器访问请求,并且响应于所述频繁行冲突到所述第二存储器存储体的重新映射而将地址重定向到动态选择的物理存储器地址中。

Dynamic Memory Remapping for Reducing Line Buffer Conflict

【技术实现步骤摘要】
【国外来华专利技术】用于减少行缓冲冲突的动态存储器重新映射
技术介绍
计算机系统内的存储器通常与可寻址的半导体存储器或用作计算机系统的主存储装置的集成电路相关联。存在两种主要类型的半导体存储器,即易失性的和非易失性的。非易失性存储器通常是当前系统中的闪存存储器并且通常用作次级存储器。易失性存储器或主存储器通常是基于动态随机存取存储器(DRAM)的架构。数据通过存储器总线在处理器与DRAM主存储器之间来回流动。连续地增加的处理器速度和增长的主存储器要求导致计算系统中出现性能和能量瓶颈。DRAM装置采用在其中发生存储器读取和写入的行缓冲器(每个存储体至少一个行缓冲器)。访问与行缓冲器中的行不同的DRAM行需要关闭当前缓冲或打开的行并激活所请求的行,这被称为行缓冲冲突并且遭受性能和能量损失。DRAM行缓冲冲突限制了可用存储器带宽的最佳利用,并增加了由于关闭和激活DRAM行而导致的存储器访问延迟。操作系统(OS)通过次最佳物理地址分配进一步增加存储器访问冲突。此外,软件存储器访问模式经常致使访问为同一行缓冲器而竞争,从而引起颠簸并且导致行仅在几次访问之后被强制关闭,从而降低了存储器系统的性能和能量效率。附图说明图1以框图形式示出根据一些实施方案的数据处理系统;图2以框图形式示出适合于在图1的数据处理系统中使用的处理单元;图3以框图形式示出根据一些实施方案的适合于在图2的处理单元中使用的存储器控制器和相关联的仲裁系统和冲突检测器;图4以框图形式示出根据一些实施方案的用于在图2的处理单元中使用的存储器控制器和相关联的存储器总线;图5示出在一些实施方案中可由图3的存储器控制器使用的用于行级冲突检测的流程图;图6示出根据一些实施方案的可由图3的存储器控制器使用的用于存储体级冲突检测的流程图;图7示出在一些实施方案中可由图3的存储器控制器使用的用于重新映射存储器的流程图;并且图8示出根据一些实施方案的可由图3的存储器控制器使用的用于对间接表条目解除分配的流程图。在以下描述中,不同附图中相同附图标号的使用指示类似或相同的项目。除非另外指出,否则单词“耦合”及其相关联的动词形式包括直接连接和通过本领域已知的手段进行的间接电气连接两者,并且除非另外指出,否则对直接连接的任何描述也意味着使用合适形式的间接电气连接的替代实施方案。另外,术语重新映射和迁移及其变型可互换地用作重新定位的描述性术语。具体实施方式如下文将以一种形式所描述的,存储器控制器包括队列、仲裁器、冲突检测器和间接表。队列连接到仲裁器以用于从队列选择条目。冲突检测器连接到仲裁器,并且响应于存储器子集中的行缓冲冲突的数量超过阈值来识别频繁冲突。另外,冲突检测器选择性地触发与频繁冲突相关联的来自第一存储器存储体的存储器行到第二存储器存储体中较不冲突的存储器行的重新映射。间接表连接到冲突检测器和队列并且选择性地提供:重新映射的地址和指示已经将用于物理存储器地址的存储器子集中的数据重新映射到另一个存储器子集的命中信号,或指示尚未将所述子集中的所述数据重新映射到另一个存储器集合的未命中信号。在又一种形式中,数据处理系统包括存储器、冲突检测器和间接表。存储器包括第一存储器存储体和第二存储器存储体。冲突检测器连接到存储器并且接收存储器访问信息。所述冲突检测器跟踪所述第一存储器存储体的存储器访问统计信息并且确定所述第一存储器存储体是否包含频繁性能关键行冲突。另外,冲突检测器将所述第一存储器存储体中的频繁性能关键行冲突重新映射到所述第二存储器存储体。间接表连接到冲突检测器并且接收存储器访问请求。响应于频繁性能关键行冲突到第二存储器存储体的重新映射,间接表将地址重定向到第二存储器存储体中的动态选择的物理存储器地址中。在另一种形式中,描述了一种用于基于存储器子集的访问统计信息来进行冲突检测的方法。检测所述存储器子集中的打开的行的关闭。选择性地监测所述存储器子集中的至少一个行的活动。响应于与最近行关闭相关联的行,在跟踪系统中更新对应于所述行的行访问统计信息。响应于与最近行活动相关联的所述行不在所述跟踪系统中,所述冲突检测器用与最近行关闭相关联的所述行访问统计信息替换所述跟踪系统中的非最近访问的行或每激活访问最多的行的行访问统计信息。对于存储器子集中的至少一个行,将行每激活访问计数与预定的行每激活访问阈值进行比较,以确定行是否是用于重新映射的候选者。在另一种形式中,一种用于在存储器子集中重新映射存储器并且分配间接表条目的方法包括在间接表处检测来自冲突检测器的对重新映射行的请求。不同存储体中的至少一个行被识别为保留并且可用于重新映射。另外,至少一个存储器行被识别为被选定来接收重新映射的存储器行。将来自冲突行的数据复制到不同存储体中具有更少冲突的所识别的行并且更新间接表。图1以框图形式示出根据一些实施方案的数据处理系统100。数据处理系统100大体上包括数据处理器110、存储器系统120、外围部件高速互连(PCIe)系统150、通用串行总线(USB)系统160以及盘驱动器170。数据处理器110操作为数据处理系统100的中央处理单元(CPU),并且提供可用于现代计算机系统中的各种总线和接口。这些接口包括两个双数据速率(DDRx)存储器通道、用于连接到PCIe链路的PCIe根联合体、用于连接到USB网络的USB控制器以及到串行高级技术附件(SATA)大容量存储装置的接口。存储器系统120包括存储器通道130和存储器通道140。存储器通道130包括连接到存储器总线132的一组双列直插存储器模块(DIMM),包括在此实例中对应于单独的存储列的代表性DIMM134、136和138。同样地,存储器通道140包括连接到存储器总线142的一组DIMM,包括代表性DIMM144、146和148。PCIe系统150包括连接到数据处理器110中的PCIe根联合体的PCIe交换机152、PCIe装置154、PCIe装置156以及PCIe装置158。PCIe装置156继而连接到系统基本输入/输出系统(BIOS)存储器157。系统BIOS存储器157可以是多种非易失性存储器类型中的任何一种,诸如只读存储器(ROM)、快闪电可擦除可编程ROM(EEPROM)等。USB系统160包括连接到数据处理器110中的USB主控器的USB集线器162、以及各自连接到USB集线器162的代表性USB装置164、166和168。USB装置164、166和168可以是诸如键盘、鼠标、快闪EEPROM端口等的装置。盘驱动器170通过SATA总线连接到数据处理器110,并为操作系统、应用程序、应用文件等提供大容量存储器。数据处理系统100通过提供存储器通道130和存储器通道140而适合于在现代计算应用中使用。存储器通道130和140中的每一者可连接到诸如DDR版本4(DDR4)、低功率DDR4(LPDDR4)、图形DDR版本5(gDDR5)和高带宽存储器(HBM)的DDR存储器,并且可适用于未来存储器技术。这些存储器提供高总线带宽和高速操作。图2以框图形式示出适合于在图1的数据处理系统100中使用的数据处理器200。数据处理器200大体上包括中央处理单元(CPU)核心联合体210、图形核心220、一组显示引擎230、存储器管理(MM)集线器240、数本文档来自技高网...

【技术保护点】
1.一种存储器控制器(290/300),其包括:队列(318);仲裁器(316),所述仲裁器(316)耦合到所述队列(318)以用于从所述队列(318)选择条目;冲突检测器(320),所述冲突检测器(320)耦合到所述仲裁器(316)以用于:识别频繁冲突,其中频繁冲突是存储器子集中的行缓冲冲突的数量超过阈值;并且选择性地触发与所述频繁冲突相关联的来自原始存储器存储体的存储器行到第二存储器存储体中的存储器行的重新映射;以及间接表(304),所述间接表(304)耦合到所述冲突检测器(320)和所述队列(318)以用于选择性地提供以下中的至少一者:重新映射的物理存储器地址和指示已经将用于物理存储器地址的存储器子集中的数据重新映射到另一个存储器子集的命中信号,以及指示尚未将所述存储器子集中的所述数据重新映射到另一个存储器子集的未命中信号。

【技术特征摘要】
【国外来华专利技术】2017.03.24 US 15/469,0711.一种存储器控制器(290/300),其包括:队列(318);仲裁器(316),所述仲裁器(316)耦合到所述队列(318)以用于从所述队列(318)选择条目;冲突检测器(320),所述冲突检测器(320)耦合到所述仲裁器(316)以用于:识别频繁冲突,其中频繁冲突是存储器子集中的行缓冲冲突的数量超过阈值;并且选择性地触发与所述频繁冲突相关联的来自原始存储器存储体的存储器行到第二存储器存储体中的存储器行的重新映射;以及间接表(304),所述间接表(304)耦合到所述冲突检测器(320)和所述队列(318)以用于选择性地提供以下中的至少一者:重新映射的物理存储器地址和指示已经将用于物理存储器地址的存储器子集中的数据重新映射到另一个存储器子集的命中信号,以及指示尚未将所述存储器子集中的所述数据重新映射到另一个存储器子集的未命中信号。2.如权利要求1所述的存储器控制器(290/300),其中为了确定频繁冲突率,所述仲裁器(316)适于进行以下中的至少一者:向所述冲突检测器(320)提供与存储器行相关联的行访问信息;以及向所述冲突检测器(320)提供与存储器存储体相关联的每存储体访问信息。3.如权利要求1所述的存储器控制器(290/300),其中所述冲突检测器(320)监测存储器行激活计数和存储器行每激活访问计数。4.如权利要求3所述的存储器控制器(290/300),其中如果存储器行的所述存储器行激活计数大于预定的存储器激活计数阈值,并且所述存储器行每激活访问计数小于预定的存储器行每激活访问计数阈值,那么所述冲突检测器(320)确定所述存储器子集的所述频繁冲突。5.如权利要求1所述的存储器控制器(290/300),其中:所述冲突检测器(320)维持所述存储器中最近访问的许多行的行访问信息(314);并且所述冲突检测器(320)响应于所述存储器中打开的行的关闭而更新所述行访问信息。6.如权利要求1所述的存储器控制器(290/300),其中具有跟踪系统(314)的所述冲突检测器(320)通过实现以下中的至少一者来跟踪频繁冲突率:具有存储器行粒度替换策略的具有跟踪信息的高速缓存(314);跟踪算法(314);以及访问统计信息表(314)。7.如权利要求1所述的存储器控制器(290/300),其中为了检测频繁冲突率,所述冲突检测器(320)识别在少于阈值数量的居间访问的情况下最频繁地打开和关闭的行。8.如权利要求1所述的存储器控制器(290/300),其中如果在存储器存储体中每存储体激活计数大于预定的每存储体激活计数阈值,并且每存储体每激活访问计数小于预定的每存储体每激活访问计数阈值,那么所述冲突检测器(320)确定所述频繁冲突与所述存储器存储体相关联。9.如权利要求1所述的存储器控制器(290),其中所述冲突检测器(320)将来自存储器子集中正在经历频繁冲突的行的数据选择性地复制到具有至少更少的冲突行的另一个存储器子集。10.如权利要求1所述的存储器控制器(290/300),其中:所述重新映射的物理存储器地址对应于与所述原始存储器存储体相比具有至少更少的冲突行的存储体;并且所述原始存储器存储体与引起所述频繁冲突的所述物理存储器地址相关联。11.一种数据处理系统(100),其包括:存储器(120),所述存储器(120)包括第一存储器存储体和第二存储器存储体;冲突检测器(320),所述冲突检测器(320)耦合到所述存储器(120)并且适于接收存储器访问信息,其中所述冲突检测器(320):跟踪所述第一存储器存储体的存储器访问统计信息(314);确定所述第一存储器存储体是否包含频繁行冲突;并且将所述第一存储器存储体中的频繁行冲突重新映射到所述第二存储器存储体;以及间接表(304),所述间接表(304)耦合到所述冲突检测器(320)并且适于:接收存储器访问请求;并且响应于所述频繁行冲突到所述第二存储器存储体的重新映射而将地址重定向到动态选择的物理存储器地址中。12.如权利要求11所述的数据处理系统(100),其还包括:队列(318),所述队列(318)用于存储来自所述间接表(304)的所述动态选择的物理存储器地址;以及仲裁器(316),所述仲裁器(316)用于从所述队列(318)中待决的一组动态选择的物理存储器地址中选择所述动态选择的物理存储器地址以发布至存储器通道。13.如权利要求11所述的数据处理系统(100),其中所述冲突检测器(320)包括:跟踪系统(314),所述跟踪系统(314)用于存储存储器访问统计信息;以及冲突逻辑(312),所述冲突逻辑(312)根据所述存储器访问统计信息确定存储器行何时与频繁行冲突相关联(312)。14.如权利要求13所述的数据处理系统(100),其中所述跟踪系统(314)监测存储器中的选择性行和所述存储器中的选择性存储体中的至少一者,以向...

【专利技术属性】
技术研发人员:靖子·埃克特里纳·潘达努万·贾亚塞纳
申请(专利权)人:超威半导体公司
类型:发明
国别省市:美国,US

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

1