智能远存储器带宽缩放的制作方法

文档序号:8227555阅读:471来源:国知局
智能远存储器带宽缩放的制作方法
【技术领域】
[0001]本发明的实施例涉及存储器带宽管理。更特别地,本发明的实施例涉及用于管理多级存储器子系统中的带宽的技术。
【背景技术】
[0002]计算系统和装置典型地包含由动态随机存取存储器(DRAM)组成的适当的主存储器,来存储系统非易失性盘存储的内容的子集。主存储器用于减少等待时间并且增加系统处理器的带宽来存储并且从盘存储取回存储器操作数。
[0003]DRAM封装件(例如,双列直插存储器模块(DMM))受限于它们的存储器密度方面,并且还典型地比非易失性存储器存储贵。最近,为增加系统的大小,主存储器需要多个DIMM,这增加了系统的成本和体积。增加系统体积不利地影响系统的形状因子(例如,大的DIMM存储器等级在移动客户空间中是不理想的)。
【附图说明】
[0004]在附图的图中以示例的方式而不以限制的方式来图示本发明的实施例,其中相似的参考标号指代类似元件。
[0005]图1是两级系统主存储器系统的一个实施例的框图。
[0006]图2是在2LM架构中管理存储器带宽的技术的一个实施例的框图。
[0007]图3在具有2LM存储器的片上系统(SoC)架构的一个实施例的框图。
[0008]图4是用于在2LM架构中管理存储器带宽的技术的一个实施例的流程图。
【具体实施方式】
[0009]在下文的描述中,阐述了许多具体细节。然而,没有这些具体细节也可实践本发明的实施例。在其它实例中,没有详细地示出熟知的电路、结构和技术以便不模糊此描述的理解。
[0010]本文描述用于带宽管理的技术。在一个实施例中,带宽管理针对包括两级存储器(备选地在本文称作为“2LM”)的系统主存储器,两级存储器包含系统盘级存储的高速缓存子集(例如,除运行时间数据以外)。此主存储器包含第一级(备选地在本文称作为“近存储器(near memory)”)和第二级(备选地在本文称作为“远存储器(far memory)”),该第一级是由例如DRAM构成的较小、较快的存储器,并且该第二级包含(相对于近存储器)较大、较慢的易失性存储器(例如,DRAM)或非易失性存储器存储(例如,闪速存储器)。
[0011]在一个实施例中,远存储器被呈现为主机操作系统(OS)的“主存储器”,而近存储器是对OS透明的用于远存储器的高速缓存,因此将以下描述的实施例渲染为显得与现有技术主存储器解决方案相同。两级存储器的管理可由经由主机处理核执行的逻辑和模块的组合来完成。近存储器可经由用于有效率的处理的高带宽、低等待时间的互连而耦合到主机处理核。远存储器可经由较低带宽、较高等待时间的互连(相比于近存储器的互连)而耦合到处理核。
[0012]图1是两级系统主存储器系统的一个实施例的框图。系统主存储器100向处理器110提供运行时间数据存储以及系统盘存储存储器(未示出)的内容的访问。在一些实施例中,处理器110可包含高速缓存存储器,它可存储主存储器100的内容的子集。
[0013]在一个实施例中,主存储器100包含示为近存储器120(例如,DRAM)的易失性存储器级、以及示为远存储器130的存储器级。远存储器可包括易失性或非易失性存储器。在本实施例中,近存储器120用作远存储器130的低等待时间和高带宽(即,对于处理器110访问而言)的高速缓存,远存储器130可具有较低的带宽和较高的等待时间(S卩,对于处理器110访问而言)。
[0014]在一个实施例中,近存储器120由近存储器控制器(NMC) 125管理,而远存储器130由远存储器控制器(FMC)135管理。FMC 135将远存储器130作为主存储器报告给主机操作系统(OS) (S卩,主机OS将远存储器130的大小认作系统主存储器100的大小)。主机OS和系统应用“没有意识到”近存储器120的存在,因为它是远存储器130的“透明”高速缓存。
[0015]在一个实施例中,处理器110还包含2LM引擎模块/逻辑140。“2LM引擎”是可包括硬件和/或微代码扩展来支持两级主存储器100的逻辑构造。例如,2LM控制器140可保持追踪远存储器130的所有架构可见元件的状态的完整标签表。
[0016]例如,当处理器110尝试访问主存储器100中的特定数据片段时,2LM控制器140确定所述数据片段是否包含在近存储器120中;如果不包含,则2LM控制器140取得远存储器130中的数据片段并且随后将数据片段写入近存储器120 (类似于高速缓存缺失)。因为近存储器120充当远存储器130的“高速缓存”,所以2LM引擎140还可执行数据预取或在本领域中已知的类似高速缓存效率过程。
[0017]2LM控制器140可管理远存储器130的其它方面。例如,在远存储器130包括非易失性存储器的实施例中,由于大量读/写,非易失性存储器(例如,闪速或相变存储器)遭受存储器片段的退化。因此,2LM控制器140可以用对系统软件透明的方式来执行包含磨损均衡、坏块回避等功能。例如,执行磨损均衡逻辑可包含从具有相对低的擦除循环计数的远存储器130中的干净非映射片段的空闲池中选择片段。
[0018]近存储器120的大小比远存储器130更小,虽然精确比例可例如基于预期的系统使用而不同。在本实施例中,因为远存储器130包括更致密、更便宜的非易失性存储器,所以可便宜并且高效地增加主存储器100并且独立于系统中的DRAM (S卩,近存储器120)的量。
[0019]具有用于第一级存储器(近存储器)的减少的DRAM大小和用于第二级的相变存储器(远存储器)的2LM存储器子系统的功率和性能建模示出:当远存储器的带宽超过给定带宽阈值时,2LM存储器子系统架构的功率优势丢失。这发生在当在远存储器交互中消耗的功率超过配置有产生相等性能的存储器大小的ILM架构与2LM架构之间的功率差别时。为了消除这些无关情况的影响,描述技术来动态地缩放近存储器大小和带宽到远存储器以便持续地产生优于传统的ILM存储器架构的功耗。
[0020]在一些实施例中,将元数据添加到所有存储器交互来识别存储器请求的来源。2LM控制器保持用于作出请求的每个装置的近存储器缺失的记录。这允许2LM存储器控制器识别导致过量的远存储器带宽消耗的任何装置的来源。
[0021]图2是在2LM架构中管理存储器带宽的技术的一个实施例的框图。图2的示例包含特定数量的处理核;然而,可支持任何数量的处理核。另外,可以支持许多不同类型的存储器来用作近或远存储器。
[0022]在一个实施例中,系统包含两个高功率核(例如,HP核210、HP核215)和两个低功率核(LP核220、LP核225)。核耦合于核电源管理单元230。2LM请求队列240收集来自核的存储器请求,2LM请求队列240与2LM控制器250 —起操作来管理到近和远存储器(分别是260和270)的存储器请求。在一个实施例中,2LM控制器250包含远存储器带宽监测器255,它与核电源管理单元230通信来管理到远存储器270的带宽利用率。
[0023]在一个实施例中,通知请求核(例如,210、215、220、225 )它将经历用于存储器请求的完成的增加的等待时间。通过增加存储器等待时间,请求核可以处于较低性能模式中,其中性能更好地匹配到提供给远存储器的带宽和对应的较高等待时间。
[0024]在一个实施例中,远存储器带宽监测器255分析来自核电源管理单元230的存储器请求(例如,标记)中的元数据以确定期望的读取等待时间。这允许核电源管理单元230确定是否将请求过程从高功率核(例如,210、215)移动到较低功率核(例如,220、225)来更好地匹配核的操作与远存储器的带宽和等待时间。
[
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1