存储器模块以及操作系统和方法技术方案

技术编号:17310134 阅读:46 留言:0更新日期:2018-02-19 09:57
一种存储器模块,包括:易失性存储器子系统,经配置耦接到计算机系统中的存储器信道并且能够用作计算机系统的主存储器;非易失性存储器子系统,为计算机系统提供存储;以及模块控制器,耦接到易失性存储器子系统、非易失性存储器子系统和存储器信道。模块控制器响应于经由存储器信道接收的NV访问请求从非易失性存储器子系统读取第一数据,并且从易失性存储器子系统读取第二数据,并且响应于经由C/A总线接收的虚拟写入存储器命令,使第一数据的至少一部分写入易失性存储器子系统中。模块控制装置包括由计算机系统经由存储器信道可访问的状态寄存器。

Memory modules and operating systems and methods

【技术实现步骤摘要】
【国外来华专利技术】存储器模块以及操作系统和方法相关申请的交叉引用本申请要求于2015年4月20日提交的题为“HybridMemoryModuleforComputerSystem”的美国临时专利申请No.62/150,272以及于2015年5月7日提交的题为“MemoryModuleandSystemandMethodofOperation”的美国专利申请No.14/706,873的优先权,这两个申请的全部内容均通过引证结合于此。
本文中的公开总体上涉及存储器模块,并且更具体地,涉及具有易失性和非易失性子系统的存储器模块及操作其的系统和方法。
技术介绍
诸如网络服务器、个人计算机、PDA、移动电话、视频游戏、科学仪器、工业机器人、医疗电子器件等的计算机系统在很大程度上依赖于其系统或主存储器的容量和吞吐量及其为了最佳性能而对其访问的速度。目前,动态随机访问存储器(DRAM)通常用作系统存储器。DRAM是一种将每一位数据存储在集成电路中的独立电容器中的随机访问存储器。电容器可以被充电或放电,以便这两种状态用来表示一个比特的两个值,通常称为0和1。由于电容器泄漏电荷,所以信息最终会消失,除非周期性地刷新电容器电荷。由于这个刷新要求,所以与SRAM和其他静态存储器截然相反,这是动态存储器。DRAM的结构简单性允许DRAM芯片达到非常高的密度,因为数十亿个晶体管和电容器对可以装配在单个存储器芯片上。另一方面,DRAM是易失性存储器,当去除电源时,会迅速丢失数据。与作为可被电擦除和重新编程的一种电子非易失性计算机存储介质的闪存相比,DRAM也昂贵得多。例如,高密度DRAM的成本可以是高性能闪存器件的20倍。而且,闪存芯片可具有比DRAM芯片更高的密度,这使得相同尺寸的存储器模块可以打包更多,以达到远远更大的存储容量。附图说明图1是根据某些实施例的计算机或服务器系统的框图;图2是根据某些实施例的计算机或服务器系统的软件栈的框图;图3是根据某些实施例的具有DRAM和闪存的存储器模块的框图;图4是根据某些实施例的存储器模块中的模块控制器的框图;图5是根据某些实施例的模块控制器中的控制逻辑电路的框图;图6是示出根据某些实施例的存储器模块的实际的存储器地址空间的框图;图7是根据某些实施例的计算机或服务器系统中的响应于页面错误的数据传输的流程图;图8至图10是示出根据某些实施例的存储器模块上的各种数据传输的示图;图11是示出根据某些实施例的页面进入数据流与正常存储器访问交错以避免数据访问冲突的定时图;图12是示出根据某些实施例的状态报告处理的流程图;图13是示出根据某些实施例的存储器模块上的状态寄存器的框图;图14是示出根据某些实施例的计算机或服务器系统中的系统存储器地址空间的框图。具体实施方式如图1所示,根据某些实施例的计算机或服务器系统(计算机系统)100包括中央处理单元(CPU)或处理器、存储器控制器(MC)、系统存储器总线、经由系统存储器总线耦接到存储器控制器的一个或多个存储器模块。一个或多个存储器模块包括提供系统存储器的一个或多个HypervaultTM(HV)存储器模块,并且还可以提供内存信道存储器(memorychannelstorage,MCS)。在某些实施例中,MC可以集成到CPU中。在进一步的实施例中,计算机系统还可以包括也耦接到系统总线的直接数据管理控制器(DMA)。具有或没有MC和/或DMA的CPU或一部分或整个计算机系统100在下文中有时被称为“系统(System)”或“系统(system)”。在某些实施例中,计算机系统100还可以包括网卡以及一个或多个I/O装置,例如,键盘、监控器、触摸屏、麦克风、扬声器等。网卡可以或可以不集成到CPU中并在计算机系统100与局域网和/或广域网之间提供网络接口功能(有线或无线)。计算机系统100还可以包括耦接到北桥的PCI总线,所述北桥经由存储器总线耦接到存储器控制器或者并入到存储器控制器中。一个或多个存储装置(例如,硬盘驱动器、CD/DVD驱动器和USB驱动器)经由南桥耦接到PCI总线。除了图1中所示的硬件组件之外,计算机系统100还包括软件/固件组件。在某些实施例中,软件/固件组件可以粗略地表示为硬件层201上的软件/固件层200的堆栈。如图2所示,软件/固件层200的堆栈包括位于操作系统层220上的应用层210。应用程序210是执行特定任务的软件程序。操作系统220管理计算机系统100的硬件和软件资源,并充当应用程序210和计算机系统100的硬件组件之间的介质。操作系统220包括内核221,内核是管理来自其他软件程序(或处理)的输入/输出请求的计算机程序,并且将这些请求转换成计算机系统100的CPU和/或其他硬件组件的数据处理指令。内核可以包括:中断处理程序(interrupthandler),其处理竞争内核服务的所有请求或完成的I/O操作;调度程序,其确定哪些程序以什么顺序共享内核的处理时间;以及管理程序(supervisor),其在调度时实际上将计算机用于每个处理。内核还可能在内存或存储器中包括操作系统地址空间的管理器。内核的服务是由操作系统的其他部分或由应用程序通过一组指定的程序接口来请求的(有时称为系统调用)。在内核和硬件层之间是基本输入/输出系统(BIOS)层230,其在某些实施例中是存储在某种永久存储器(例如,可编程只读存储器(PROM)或电可编程只读存储器(EPROM))或闪存中的固件,并且包括用于初始化和测试系统硬件组件的程序代码,并且当计算机系统100启动时,从大容量存储装置加载操作系统。BIOS可以额外提供硬件组件的抽象层,以便为应用程序和操作系统提供与硬件组件(例如,系统存储器和输入/输出装置)交互的一致方式。在某些实施例中,软件栈还包括例如内核中的HV驱动器250。HV驱动器250是这样的软件程序,其用于控制对HV存储器模块的系统访问,使得HV存储器模块可以像标准的双列直插式存储器模块(DIMM)(例如,双倍数据速率(DDR)3寄存的DIMMRDIMM)或DDR3负载降低DIMM(LRDIMM)、DDR4RDIMM或DDR4LRDIMM)那样操作,而不需要对BIOS进行任何更改。HV驱动器250访问CPU中的存储器空间260以及用于存储HV驱动器250可以根据需要咨询和/或更新的查找表或其他配置信息的某些存储器位置。在某些实施例中,驱动器拦截某些系统调用,以访问HV存储器模块,并且指示存储器控制器响应于系统调用并且依照系统正在使用的存储器接口标准(例如,联合电子器件工程委员会(JEDEC)DDR3或DDR4RDIMM或LRDIMM标准)来发送控制、地址和数据信号,如下面进一步详细讨论的。图3是根据某些实施例的可用于提供计算机/服务器系统100的系统存储器和/或MCS的HypervaultTM双列直插存储器模块(HVDIMM)300的框图。如图3所示,HVDIMM300包括安装在模块板301上的易失性存储器子系统(HV-DRAM)310、非易失性存储器子系统(HV-闪存320)320和模块控制子系统(HV控制)330,模块板可以包括一个或多个印刷电路板。HVDIMM300还可以包括缓存存储器340,并且还可以包括网络接口控制器(HV-N本文档来自技高网...
存储器模块以及操作系统和方法

【技术保护点】
一种用在计算机系统中的存储器模块,所述计算机系统包括耦接到存储器信道的存储器控制器,所述存储器信道包括数据总线和控制/地址(C/A)总线,所述存储器模块包括:易失性存储器子系统,耦接到所述存储器信道,所述易失性存储器子系统包括双倍数据速率动态随机访问存储器;非易失性(NV)存储器子系统;缓存存储器,包括第一存储器和第二存储器;以及模块控制装置,耦接到所述易失性存储器子系统、所述非易失性存储器子系统、所述缓存存储器以及所述存储器信道,其中,所述模块控制响应于经由所述存储器信道接收的NV访问请求,将第一数据从所述非易失性存储器子系统传输到所述第一存储器并且将第二数据从所述易失性存储器子系统传输到所述第二存储器,所述模块控制装置响应经由所述C/A总线接收的虚拟写入存储器命令,使所述第一数据的至少一部分写入所述易失性存储器子系统中。

【技术特征摘要】
【国外来华专利技术】2015.04.20 US 62/150,272;2015.05.07 US 14/706,8731.一种用在计算机系统中的存储器模块,所述计算机系统包括耦接到存储器信道的存储器控制器,所述存储器信道包括数据总线和控制/地址(C/A)总线,所述存储器模块包括:易失性存储器子系统,耦接到所述存储器信道,所述易失性存储器子系统包括双倍数据速率动态随机访问存储器;非易失性(NV)存储器子系统;缓存存储器,包括第一存储器和第二存储器;以及模块控制装置,耦接到所述易失性存储器子系统、所述非易失性存储器子系统、所述缓存存储器以及所述存储器信道,其中,所述模块控制响应于经由所述存储器信道接收的NV访问请求,将第一数据从所述非易失性存储器子系统传输到所述第一存储器并且将第二数据从所述易失性存储器子系统传输到所述第二存储器,所述模块控制装置响应经由所述C/A总线接收的虚拟写入存储器命令,使所述第一数据的至少一部分写入所述易失性存储器子系统中。2.根据权利要求3所述的存储器模块,其中,所述模块控制装置将所述第二数据从所述第二存储器传输到所述非易失性存储器子系统,并且其中,在将所述第二数据从所述第二存储器传输到所述非易失性存储器子系统的同时,所述模块控制装置对存储在所述第一存储器中的所述第一数据执行纠错。3.根据权利要求1所述的存储器模块,其中,所述NV访问请求包括经由所述C/A总线接收的一组C/A信号和经由所述数据总线接收的一组数据信号,所述一组数据信号包括关于在所述非易失性存储器子系统中的一个或多个位置的信息。4.根据权利要求1所述的存储器模块,其中,所述模块控制装置包括能够由所述计算机系统经由所述存储器信道访问的状态寄存器,在所述状态寄存器内存储有用于所述NV访问请求的状态位,并且其中,所述模块控制装置响应于从所述存储器控制器接收的读取命令和读取地址,经由所述存储器信道将所述状态位提供给所述存储器控制器,所述读取地址在分配给所述状态寄存器的地址空间中。5.根据权利要求4所述的存储器模块,其中,所述状态寄存器还存储与所述状态位相关联的ECC码,并且其中,所述模块控制装置将所述ECC码与所述状态位一起提供。6.根据权利要求4所述的存储器模块,其中,所述状态位包括关于所述第一数据存储到所述缓存存储器中的估计等待时间的信息。7.根据权利要求9所述的存储器模块,还包括以比所述易失性存储器子系统的存储器密度更大的存储器密度编码的串行存在检测装置,从而允许所述计算机系统创建在所述易失性存储器子系统的存储器地址空间之外的NV访问地址空间,其中,所述NV访问请求包括所述NV访问地址空间中的地址。8.一种用在计算机系统中的存储器模块,所述计算机系统包括耦接到存储器信道的存储器控制器,所述存储器信道包括数据总线和控制/地址(C/A)总线,所述存储器模块包括:易失性存储器子系统,耦接到所述存储器信道,所述易失性存储器子系统包括双倍数据速率动态随机访问存储器;非易失性(NV)存储器子系统;缓存存储器;以及模块控制装置,耦接到所述易失性存储器子系统、所述非易失性存储器子系统、所述缓存存储器以及所述存储器信道,其中,所述模块控制响应于经由所述存储器信道接收的NV访问请求,将第一数据从所述非易失性存储器子系统传输到所述缓存存储器,所述模块控制装置响应于经由所述C/A总线接收的虚拟写入存储器命令,使所述第一数据的至少一部分写入所述易失性存储器子系统中;其中,所述模块控制装置包括能够由所述计算机系统经由所述存储器信道访问的状态寄存器,在所述状态寄存器内存储有用于所述NV访问请求的状态位...

【专利技术属性】
技术研发人员:炫·李
申请(专利权)人:奈特力斯股份有限公司
类型:发明
国别省市:美国,US

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

1