响应于第二读取请求的第一数据的利记博彩app
【专利说明】
【背景技术】
[0001]计算机系统可以包括易失性和非易失性两种存储设备。易失性存储器设备(诸如,动态随机存取存储器(DRAM)设备)由于它们相对较快的存取时间,故可以用来形成计算机系统的工作存储器。为了当系统断电时保存计算机系统数据,数据可以被存储在与较慢存取时间相关联的非易失性大容量存储设备(诸如,基于磁性介质或基于光学介质的大容量存储设备)中。非易失性存储器技术的最近发展正在导致非易失性存储器设备变得越来越多地用于传统的“存储器”和“存储装置”功能这二者。
【附图说明】
[0002]下面的详细描述参考附图,其中:
图1是用以响应于第二读取请求返回第一数据的设备的示例框图;
图2是用以发送请求的控制器和用以返回数据的设备的示例框图;
图3是包括用于响应于第二读取请求从DIMM接收第一数据的指令的计算设备的示例框图;以及图4是用于响应于第二读取请求把第一数据输出到客户端的方法的示例流程图。
【具体实施方式】
[0003]在下面的描述中给出了具体细节以提供对本技术的示例的理解。然而,将理解的是,本技术的示例可以在没有这些具体细节的情况下被实践。例如,系统可以用框图示出,以免用不必要的细节模糊本技术的示例。在其他实例中,众所周知的过程、结构和技术可以在没有不必要细节的情况下被示出,以免模糊本技术的示例。
[0004]—些非易失性存储器设备(诸如,源自新兴技术(以基于闪存的随机存取存储器(RAM)、相变存储器和忆阻器技术为例)的非易失性存储器设备)可以具有比传统易失性存储器设备(诸如,动态随机存取存储器(DRAM)设备)的存取时间显著更慢的存取时间。由于存取时间的差异,故与耦合到相同存储器总线的混合存储器技术设备(诸如,非易失性和易失性存储器设备)通信可能具有挑战性。
[0005]在这种方式中,把非易失性和易失性存储器设备并入相同存储器总线上可能具有挑战性,因为存储器总线的时序规范可能本质上是确定性的,因为经由存储器总线传送到存储器设备的命令被期望在特定的时间内并按顺序完成。当存储器设备具有显著不同的时序属性时,满足这些规范可能是特别具有挑战性的。
[0006]例如,现代计算机系统可以把DRAM双列直插式存储器模块(DIMM)用于系统存储器。发展到给这些DRAM DMM提供标准接口,双数据速率(DDR)存储器接口已经演化到期望典型的DRAM特性。例如,DDR存储器接口已经演化到期望DIMM的存储器在固定的时间量之后为所有到存储器的读取存取提供请求的读取数据。虽然这证明具有成功的DRAM,但是固定的时间可能会限制使用相同的DDR接口使具有不同存储器存取等待时间的存储器混合的机会,这包括更复杂的分层DMM体系结构,其否则可能能够使用先进的特征(诸如,集成缓存)来提高整体性能。例如,包括非易失性存储器和DDR接口的DIMM可能不能在固定的时间限制内响应于读取请求。
[0007]本技术的示例可以允许具有较长等待时间的存储器在针对较短等待时间存储器的基于存储器总线的设计上被使用。示例设备可以包括读取单元、存储单元和返回单元。读取单元可以响应于第一读取请求取出第一数据。存储单元可以存储所取出的第一数据。返回单元可以响应于第二读取请求返回所取出的第一数据。所取出的第一数据可以对应于第一读取请求的地址。
[0008]因此,本技术的示例可以是新的存储器技术,以及用以与标准DIMM共享DDR接口的具有较长存取的体系结构,以在没有提供附加存储器接口的情况下提供对更高容量存储器的直接存取。通过允许DDR接口支持混合等待时间的新存储器,示例可以实现较高容量、非易失性和较低成本的D頂M替代与传统的DDR兼容D頂M共存。使用这种布置,更快标准的D頂M可以利用它们较短的等待时间输送数据,同时与较慢的高容量DIMM共享DDR接口。
[0009]现在参考附图,图1是用以从修改的出厂图像(factoryimage)启动的设备100的示例框图。设备100可以耦合到包括出厂图像的任何类型的计算设备(诸如,笔记本计算机、台式计算机、全合一系统、服务器、网络设备、无线设备、存储设备、移动设备等)或被包括在其中。
[0010]在图1的示例中,图1是用以响应于第二读取请求返回第一数据的设备100的示例框图。设备100可以耦合到用以访问存储器的任何类型的计算设备(诸如,笔记本计算机、台式计算机、全合一系统、服务器、网络设备、无线设备、存储设备、移动设备等)或被包括在其中。
[0011 ] 设备100包括读取单元110、存储单元120和返回单元130。读取单元110、存储单元120和返回单元130例如可以包括硬件设备,其包括用于实现下面所描述的功能(诸如,控制逻辑和/或存储器)的电子电路。此外或作为替代,读取单元110、存储单元120和返回单元130可以被实现为在机器可读存储介质上编码的并由处理器可执行的一系列指令。
[0012]读取单元110可以接收第一读取请求140,并且响应于第一读取请求140取出第一数据。读取请求可以是设法读取位于存储器的地址的数据的任何类型的消息或请求。第一数据可以从是设备的一部分或与设备对接的存储器(未示出)中取出。例如,设备100可以是双列直插式存储器模块(DIMM)。设备100可以与长和/或短等待时间存储器二者的混合对接。可替代地或附加地,可能存在多个包含连接到单存储器总线的长和/或短等待时间存储器的DIMM。每个DIMM可以包含长和/或短等待时间类型的存储器中的一个。
[0013]短等待时间存储器的示例可以包括易失性存储器,诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。长等待时间存储器的示例可以包括具有分层结构、相变或忆阻器模块的存储器和诸如像闪速存储器之类的随机存取存储器(NVRAM)的非易失性存储器。此外,设备100可以经由存储器总线(未示出)接收第一读取请求140以及第二读取请求150。例如,所述存储器总线可以是任何类型的双数据速率(DDR)总线,诸如DDR3或DDR4总线。例如,单DDR总线可以被连接到闪存和具有DDR接口的DRAM DI丽的混合。DDR总线可部分属于或连接到与系统的组件或其他设备(诸如,处理器、主存储器、输入/输出组件、网卡等)对接的系统总线。
[0014]存储单元122可以存储响应于第一读取请求140从存储器中取出的第一数据122。存储单元120可以包括用以存储从存储器中取出的数据的高速缓存器(未示出)。从高速缓存器可获得的数据可以具有比必须先从存储器访问的数据更低的等待时间。
[0015]因为存储器可能是长等待时间的存储器,所以设备100可以在设备100能够返回对应于第一数据请求140的取出的第一数据122之前接收第二读取请求150。因此,返回单元130可以响应于第二读取请求150而非第一读取请求140返回所取出的第一数据122’。因此,所取出的第一数据122可以对应于第一读取请求的地址142。此外,所取出的第一数据122可能不对应于第二读取请求152的地址152。
[0016]虽然图1描述了响应于第二读取请求150返回的所取出的第一数据122,但示例还可以包括响应于后继读取请求(诸如,第三或第四读取请求)返回的所取出的第一数据122。例如,如果第一数据122在接收到第二读取请求150之后尚未被取出,但到接收到第三请求的时候已经被取出,则所取出的第一数据122可以响应于第三读取请求被返回。存储器控制器(未示出)可以发送第一和第二读取请求140和150,如下面参考图2更详细地说明的。第一和第二读取请求140和150可以是具有单独地址142和152的单独请求。示例可以包括在第一读取请求140和第二读取请求150之间被发送的其他读取请求。
[0017]图2是用以发送请求的控制器250和用以返回数据的设备200的示例框图。设备200可以耦合到用以访问存储器的任何类型的计算设备(诸如,笔记本计算机、台式计算机、全合一系统、服务器、网络设备、无线设备、存储设备、移动设备等)或被包括在其中。
[0018]图2的设备200至少可以包括图1的设备100的功能和/或硬件。例如,设备200包括读取单元210(其包括图1的读取单元110的功能和/或硬件)、存储单元220(其包括图1的存储单