异质存储器存取的制作方法
【专利说明】
【背景技术】
[0001]计算机系统使用主存储器或RAM (随机存取存储器)(主存储器或RAM用于在程序(应用)执行期间进行存取)以及盘存储器(大容量存储设备),盘存储器典型地用于保存/检索整个程序以及对在当前的执行之外的需要存储的数据文件进行写入。通常,这些类型被称为易失性和非易失性存储设备,指的是需要恒定功率以在主存储器中保留存储的值,而盘存储器用于程序和数据的持久存储。这些类型中的每个类型的存取方法也是根本上不同的,因为易失性存储器由程序指令来存取,而盘存储器依赖于计算机的输入/输出(I/o)子系统。虽然易失性存储器一般而言更快,但是此类存储器被称为同质存储位置的单块,使得存储器控制器以基本上类似的操作性能从任意的可以使用的位置来进行存储和检索。
【附图说明】
[0002]如附图中图示说明的,根据本发明的特定实施例的以下描述,本发明的上述目的和其它对象、特征和优点将是明显的,在附图中,贯穿于不同的视图,相同的标记字符指相同部分。附图不一定按比例绘制,而是将重点放在示出本发明的原则上。
[0003]图1是适合与本文中的配置一起使用的计算机存储器环境的情景图;
图2是图1的计算机存储器环境中的存储器存取的流程图;
图3a-3d是描绘图1的环境的存储器存取的启发式方法的计算和数据流;以及图4示出了图1的环境中的存储区域的堆叠实现方式。
【具体实施方式】
[0004]存储器控制器(其可操作地用于对易失性和非易失性存储器的区域的选择性存储器存取,每个区域展现出不同的属性)利用不同的存储器能力,存储器能力在存取速度、存留时间和功率消耗等上变化。存储器的不同区域具有不同的属性,尽管对应用而言保持可以用作单个连续范围可寻址存储器。存储器控制器使用操作模式,操作模式识别用于计算设备的操作优先级,诸如速度、功率节省或效率(即,最小化热量/功耗)O存储器控制器基于所存储的数据的预期使用来识别存储器区域,例如指示何时数据将被检索的存取频率。还可以使用其它因素,诸如传感器或计数器以识别存储器的频繁使用的区域,频繁使用的区域可能导致温度问题。以这种方式,对于应用而言,存储器表现为单个连续的库,使得应用不需要识别该区域(与常规的易失性/非易失性存取指令形成对比)。存储器控制器基于操作模式以及根据启发式方法的预期使用来选择存储器的区域,启发式方法基于展示出具有与数据的预期使用高度对应的属性的那些来偏好存储器的区域。
[0005]有可能的是,DRAM将被字节可寻址的非易失性存储器(NVM)替代,NVM包含但不限于铁电的随机存取存储器(FeTRAM)、基于纳米线的非易失性存储器、三维(3D)交叉点存储器(诸如相变存储器(PCM))、包含忆阻器技术的存储器、磁阻随机存取存储器(MRAM)和自旋转移转矩(STT)-MRAM。这些NVM以及易失性存储器(诸如动态随机存取存储器(DRAM))能够被调整以及制造用于宽范围的存留时间(从微妙到多年的信息存留)。类似地,揭示了用于这些存储器技术的性能和功率操作点的宽范围,从深度内嵌的低性能使用到高性能部署的范围,其中例如,能够对于更好的性能来折衷存留时间和热负担(例如,热量)。本文中的配置利用了不同的性能、存留以及热优化存储器区域,以便动态地适应于系统的操作点,诸如使用电池时的最长的待机时间、在活动阶段期间的高响应性以及最佳峰值性能。
[0006]能够以任何合适的方式来布置存储器区域(易失性和/或非易失性),例如在单个裸晶内、堆叠(在封装中)或在分开的封装中。此外,响应于属性识别和基于该属性的选择性调用,所公开的方法可以与任何合适的存储器技术一起使用。存储器控制器(MC)在策划对存储器区域的选择进行存取以存储数据中发挥了中心作用,因为该区域可以被静态地优化(例如,在制造时间)或通过例如配置电压轨来动态地优化。MC的新功能可以包含:基于传感器输入、统计计数器和定时器,在存储器区域之间自主地移动数据,使得根据当前操作模式(诸如最佳性能或最低功率)使存储器存取提供为最佳。此类解决方案提供了在存储器子系统的功率/热量、性能和存留时间上的细粒度控制。
[0007]常规的MC将存储器视为对于性能和效率而言具有预定的、静态性质的一个同质的区域。热事件导致节制对这个存储器区域的存取数量,在性能上具有负面影响,因为存取不能被卸载到其它存储器区域。在常规方法中,存留时间当前不被认为是设计目标,因为整个存储器子系统被认为是易失性的。对于存储器的常规性能状态是粗粒度的,仅在整个同质的存储器区域上进行操作以及仅有很少的重新配置(即使有也很少)。
[0008]具有异质能力的存储器子系统正扩展以涵盖诸如DRAM的技术,DRAM和NVM同时地作为易失性RAM。持久性存储器的当前演进向程序员暴露载入/存储字节可寻址NVMdt为在平台架构中的持久层。然而,将常规数据放置在易失性或持久存储器/非易失性存储器中以处理不同的操作点增加了程序员的负担。另外,常规的持久存储器仅定义一个等级的存留时间(无限的),以及不允许对用于性能的存留时间和热性质之间的折衷进行调整。
[0009]本文中的配置至少部分地基于以下观察:对于可寻址存储器,常规方法定义了整块的连续地址。常规存储器控制器将存储器作为同质存储区域进行存取,其不对于性能或有效性属性来区分存储器或对存储器进行分区。不幸的是,对于基于存储器控制器的存取,常规方法遭受的缺点是,仅提供了非易失性存储设备的单个层或种类,以及应用必须从易失性或非易失性(例如,盘)存储设备进行选择。
[0010]因此,本文中的配置通过提供存储器的不同区域或部分的异质布置(存储器的每个不同区域或部分具有对于特征(诸如存取速度(性能)、存留时间和功率消耗)的不同的属性),基本上克服了对于存储器存取的上述缺点。对于数据的存储而言,可以基于数据的预期使用以及对于特定属性的感知的需求来选择存储器。例如,频繁使用的或快速响应情景的一部分的数据可以被存储在快速检索存储器区域,而被预期为在一段时间内不需要的数据能够被存储在高存留时间区域,因为可以容许较慢的存取。
[0011]在本中的配置中,存储器控制器(MC)控制和选择存储器区域,该存储器区域能够通过属性进行区分,属性包含性能、存留时间和能量效率。取决于对于这些属性的平台级策略以及基于传感器输入(诸如热效应)、统计计数器(例如,存取频率和地址分布)以及进一步的因素(诸如超时计数器),MC能够根据性能、效率和存留时间来调整存储器区域的操作点。MC的存取启发式方法能够利用这些不同的操作模式。另外,根据平台级的策略,通过以上传感的和统计的/测量的输入的触发,MC可以将内容/数据从一个存储器区域移动到另一个存储器区域,以改进存储器子系统的整体行为。启发式方法逻辑实现了存取技术,该存取技术利用了反馈的迭代评价,以改进性能以及属性与适当的或最匹配存储器区域的相关。
[0012]可以在生产期间由电路体系结构,或在运行时间期间动态地(如果由电路体系结构暴露了足够的灵活性以修改不同区域的属性)将存储器分成性能和功率区域或具有较高存留时间的区域。
[0013]所公开的存储器控制器不同于高速缓存存储器控制器,因为高速缓存存储器控制器不是基于预期的使用来选择高速缓存存储器中的不同区域;基于相同的标准,所有数据都是用于缓存的候补,典型地是最近使用的数据或最频繁使用的数据。此外,所公开的存储器控制器不同于仅具有易失性和非易失性存储设备的体系结构,因为对易失性和非易失性存储设备的存取是明确指定的,即由变量赋值或文件操作来指定。虽然在常规易失性和非易失性存储设备之间的选择通常是应用取决于数据使用来定义的,但是应用不具有控制对非易失性存储设