CN105474318A - 响应于第二读取请求的第一数据 - Google Patents
响应于第二读取请求的第一数据 Download PDFInfo
- Publication number
- CN105474318A CN105474318A CN201380078498.7A CN201380078498A CN105474318A CN 105474318 A CN105474318 A CN 105474318A CN 201380078498 A CN201380078498 A CN 201380078498A CN 105474318 A CN105474318 A CN 105474318A
- Authority
- CN
- China
- Prior art keywords
- read requests
- data
- equipment
- response
- return
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/409—Read-write [R-W] circuits
- G11C11/4096—Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C14/00—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down
- G11C14/0009—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell
- G11C14/0018—Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down in which the volatile element is a DRAM cell whereby the nonvolatile element is an EEPROM element, e.g. a floating gate or metal-nitride-oxide-silicon [MNOS] transistor
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/32—Timing circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
接收第一和第二读取请求。响应于第一读取请求取出第一数据。然后存储所取出的第一数据。所取出的第一数据对应于第一读取请求的地址。响应于第二读取请求返回所取出的第一数据。
Description
背景技术
计算机系统可以包括易失性和非易失性两种存储设备。易失性存储器设备(诸如,动态随机存取存储器(DRAM)设备)由于它们相对较快的存取时间,故可以用来形成计算机系统的工作存储器。为了当系统断电时保存计算机系统数据,数据可以被存储在与较慢存取时间相关联的非易失性大容量存储设备(诸如,基于磁性介质或基于光学介质的大容量存储设备)中。非易失性存储器技术的最近发展正在导致非易失性存储器设备变得越来越多地用于传统的“存储器”和“存储装置”功能这二者。
附图说明
下面的详细描述参考附图,其中:
图1是用以响应于第二读取请求返回第一数据的设备的示例框图;
图2是用以发送请求的控制器和用以返回数据的设备的示例框图;
图3是包括用于响应于第二读取请求从DIMM接收第一数据的指令的计算设备的示例框图;以及
图4是用于响应于第二读取请求把第一数据输出到客户端的方法的示例流程图。
具体实施方式
在下面的描述中给出了具体细节以提供对本技术的示例的理解。然而,将理解的是,本技术的示例可以在没有这些具体细节的情况下被实践。例如,系统可以用框图示出,以免用不必要的细节模糊本技术的示例。在其他实例中,众所周知的过程、结构和技术可以在没有不必要细节的情况下被示出,以免模糊本技术的示例。
一些非易失性存储器设备(诸如,源自新兴技术(以基于闪存的随机存取存储器(RAM)、相变存储器和忆阻器技术为例)的非易失性存储器设备)可以具有比传统易失性存储器设备(诸如,动态随机存取存储器(DRAM)设备)的存取时间显著更慢的存取时间。由于存取时间的差异,故与耦合到相同存储器总线的混合存储器技术设备(诸如,非易失性和易失性存储器设备)通信可能具有挑战性。
在这种方式中,把非易失性和易失性存储器设备并入相同存储器总线上可能具有挑战性,因为存储器总线的时序规范可能本质上是确定性的,因为经由存储器总线传送到存储器设备的命令被期望在特定的时间内并按顺序完成。当存储器设备具有显著不同的时序属性时,满足这些规范可能是特别具有挑战性的。
例如,现代计算机系统可以把DRAM双列直插式存储器模块(DIMM)用于系统存储器。发展到给这些DRAMDIMM提供标准接口,双数据速率(DDR)存储器接口已经演化到期望典型的DRAM特性。例如,DDR存储器接口已经演化到期望DIMM的存储器在固定的时间量之后为所有到存储器的读取存取提供请求的读取数据。虽然这证明具有成功的DRAM,但是固定的时间可能会限制使用相同的DDR接口使具有不同存储器存取等待时间的存储器混合的机会,这包括更复杂的分层DIMM体系结构,其否则可能能够使用先进的特征(诸如,集成缓存)来提高整体性能。例如,包括非易失性存储器和DDR接口的DIMM可能不能在固定的时间限制内响应于读取请求。
本技术的示例可以允许具有较长等待时间的存储器在针对较短等待时间存储器的基于存储器总线的设计上被使用。示例设备可以包括读取单元、存储单元和返回单元。读取单元可以响应于第一读取请求取出第一数据。存储单元可以存储所取出的第一数据。返回单元可以响应于第二读取请求返回所取出的第一数据。所取出的第一数据可以对应于第一读取请求的地址。
因此,本技术的示例可以是新的存储器技术,以及用以与标准DIMM共享DDR接口的具有较长存取的体系结构,以在没有提供附加存储器接口的情况下提供对更高容量存储器的直接存取。通过允许DDR接口支持混合等待时间的新存储器,示例可以实现较高容量、非易失性和较低成本的DIMM替代与传统的DDR兼容DIMM共存。使用这种布置,更快标准的DIMM可以利用它们较短的等待时间输送数据,同时与较慢的高容量DIMM共享DDR接口。
现在参考附图,图1是用以从修改的出厂图像(factoryimage)启动的设备100的示例框图。设备100可以耦合到包括出厂图像的任何类型的计算设备(诸如,笔记本计算机、台式计算机、全合一系统、服务器、网络设备、无线设备、存储设备、移动设备等)或被包括在其中。
在图1的示例中,图1是用以响应于第二读取请求返回第一数据的设备100的示例框图。设备100可以耦合到用以访问存储器的任何类型的计算设备(诸如,笔记本计算机、台式计算机、全合一系统、服务器、网络设备、无线设备、存储设备、移动设备等)或被包括在其中。
设备100包括读取单元110、存储单元120和返回单元130。读取单元110、存储单元120和返回单元130例如可以包括硬件设备,其包括用于实现下面所描述的功能(诸如,控制逻辑和/或存储器)的电子电路。此外或作为替代,读取单元110、存储单元120和返回单元130可以被实现为在机器可读存储介质上编码的并由处理器可执行的一系列指令。
读取单元110可以接收第一读取请求140,并且响应于第一读取请求140取出第一数据。读取请求可以是设法读取位于存储器的地址的数据的任何类型的消息或请求。第一数据可以从是设备的一部分或与设备对接的存储器(未示出)中取出。例如,设备100可以是双列直插式存储器模块(DIMM)。设备100可以与长和/或短等待时间存储器二者的混合对接。可替代地或附加地,可能存在多个包含连接到单存储器总线的长和/或短等待时间存储器的DIMM。每个DIMM可以包含长和/或短等待时间类型的存储器中的一个。
短等待时间存储器的示例可以包括易失性存储器,诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。长等待时间存储器的示例可以包括具有分层结构、相变或忆阻器模块的存储器和诸如像闪速存储器之类的随机存取存储器(NVRAM)的非易失性存储器。此外,设备100可以经由存储器总线(未示出)接收第一读取请求140以及第二读取请求150。例如,所述存储器总线可以是任何类型的双数据速率(DDR)总线,诸如DDR3或DDR4总线。例如,单DDR总线可以被连接到闪存和具有DDR接口的DRAMDIMM的混合。DDR总线可部分属于或连接到与系统的组件或其他设备(诸如,处理器、主存储器、输入/输出组件、网卡等)对接的系统总线。
存储单元122可以存储响应于第一读取请求140从存储器中取出的第一数据122。存储单元120可以包括用以存储从存储器中取出的数据的高速缓存器(未示出)。从高速缓存器可获得的数据可以具有比必须先从存储器访问的数据更低的等待时间。
因为存储器可能是长等待时间的存储器,所以设备100可以在设备100能够返回对应于第一数据请求140的取出的第一数据122之前接收第二读取请求150。因此,返回单元130可以响应于第二读取请求150而非第一读取请求140返回所取出的第一数据122'。因此,所取出的第一数据122可以对应于第一读取请求的地址142。此外,所取出的第一数据122可能不对应于第二读取请求152的地址152。
虽然图1描述了响应于第二读取请求150返回的所取出的第一数据122,但示例还可以包括响应于后继读取请求(诸如,第三或第四读取请求)返回的所取出的第一数据122。例如,如果第一数据122在接收到第二读取请求150之后尚未被取出,但到接收到第三请求的时候已经被取出,则所取出的第一数据122可以响应于第三读取请求被返回。存储器控制器(未示出)可以发送第一和第二读取请求140和150,如下面参考图2更详细地说明的。第一和第二读取请求140和150可以是具有单独地址142和152的单独请求。示例可以包括在第一读取请求140和第二读取请求150之间被发送的其他读取请求。
图2是用以发送请求的控制器250和用以返回数据的设备200的示例框图。设备200可以耦合到用以访问存储器的任何类型的计算设备(诸如,笔记本计算机、台式计算机、全合一系统、服务器、网络设备、无线设备、存储设备、移动设备等)或被包括在其中。
图2的设备200至少可以包括图1的设备100的功能和/或硬件。例如,设备200包括读取单元210(其包括图1的读取单元110的功能和/或硬件)、存储单元220(其包括图1的存储单元120的功能和/或硬件)和返回单元230(其包括图1的返回单元130的功能和/或硬件)。设备200还包括存储器240。如上所提到的存储器240可以只包括长等待时间存储器(诸如,只是非易失性存储器)或者长和短等待时间存储器的组合(诸如,易失性和非易失性存储器两种)。长等待时间存储器并不限于非易失性存储器。例如,长等待时间存储器可以包括缓慢易失性存储器。虽然存储器240被示出在设备200的内部,但示例还可以包括在设备200的外部的存储器240。
设备200和存储器控制器经由存储器总线270(诸如,DDR总线)被示出到接口。存储器控制器250可以是用以接收读取请求的任何类型的设备类型,诸如,像DDR控制器之类的存储器控制器。控制器250例如可以包括硬件设备,其包括用于实现下面所描述的功能的电子电路,诸如控制逻辑和/或存储器。此外或作为替代,控制器250可以被实现为在机器可读存储介质上编码的并由处理器可执行的一系列指令。
存储器控制器250可以与处理器(未示出)(诸如,中央处理器单元(CPU))对接或是其一部分。处理器可以发送请求(诸如,第一和第二读取请求140和150)给存储器控制器250。为了诸如将数据存储在存储器240中和从存储器240检索数据、激活存储器240的存储器单元行(未示出)等之类的目的,存储器控制器250可以选择性地确认和去确认存储器总线270上的控制、地址和数据信号以在存储器总线270上产生对应的总线周期或操作。
存储器240可以包括非易失性存储器(未示出),所述非易失性存储器具有到读取单元210和存储单元220的适当的存储器接口(诸如,DDR、LPDDR、ONFI或非标准的存储器接口),如上所说明的。此外,其他类型的存储器(未示出)(诸如,像DRAM或SRAM之类的易失性存储器)可以与设备200对接或被包括在设备200内,或者被包括在连接到存储器总线270的其他设备中。例如,多个具有非易失性和/或易失性存储器的设备200或DIMM可以被连接到单存储器总线270。
假定存储器240包括非易失性存储器,那么与用以访问易失性存储器的存储单元的时间相比,所述非易失性存储器的存储器单元一般可以具有相关联的较慢的存取时间。因此,非易失性存储器在将数据存储在其存储器单元中和/或从其存储器单元中检索数据时可能会经历较长的等待时间。存储器总线270可以由一组为易失性存储器的相对较快的存取时间专门定制的最小时序规范来管理。此外,存储器总线270可以是确定性定时总线,其由不会给延迟的引入提供延迟命令或其他显式机制的规范来管理以用于适应相对较慢的存储器设备(诸如,包括具有非易失性存储器的存储器240的设备200)的目的。
例如,存储器总线270可以是DDRDRAM或SDRAM存储器总线,其具有不允许为延迟命令供给的确定性的接口。一般地,用于DDRDRAM或SDRAM存储器总线的规范规定:所有的命令以规定的时间并按顺序被完成。
设备200可以包括耦合到存储器总线270的总线接口(未示出),以用于从存储器总线270解码信号和提供编码信号到存储器总线270以把数据传送到存储器240和从其传送数据的目的。因此,经由这一机制,存储器240例如可以从存储器控制器250接收各种命令,诸如用以写入数据、读取数据、激活给定行等的命令。然而,由于其相对慢的存取时间,存储器240可能不能跟上命令通过存储器总线270被传送的速率。为了适应时序差异,设备200可以响应于未来的读取请求而非当前的读取请求发送请求的数据,如以上在图1中所说明的。
如图2中所示,存储器控制器250可以把第一和第二读取请求140和150发送或转发到设备200。然而,如果存储器控制器250响应于第二读取请求150接收第一数据122,那么存储器控制器250仍输出所取出的第一数据122诸如回到处理器(作为对第一读取请求140(而不是第二读取请求150)的响应)。
读取单元210可以响应于第二读取请求150取出第二数据124。存储单元220可以存储所取出的第二数据124。返回单元230可以响应于第三读取请求(未示出)返回所取出的第二数据124。类似的操作可以被支持以用于后继的读取请求。
读取单元210可以根据从存储器控制器250中的序列接收多个读取请求。返回单元230可以根据相同的序列返回对应于多个读取请求的数据。在一个示例中,返回单元230和/或存储单元220可以包括先入先出(FIFO)结构(未示出),以确保数据以相同序列被返回。例如,存储器控制器250可以发送第一至第五读取请求。对应于第一至第五请求的数据可能不会从存储器240中按顺序被检索。然而,根据其中第一至第五读取请求被读取单元210接收的相同的序列,对应的数据可以通过返回单元230输出。
此外,存储器控制器250可以输出多个读取请求到读取单元210而不依赖于数据何时被返回单元230返回。例如,存储器控制器250可以把第一至第五读取请求中的全部发送到读取单元210而不管返回单元230是否或何时返回对应于第一至第五读取请求的任何数据。
在所述多个读取请求的最后一个读取请求被发送到读取单元210之后,存储器控制器250可以把虚拟读取请求260发送到读取单元210。返回单元230可以响应于虚拟读取请求260返回存储在存储单元220中的所取出的最后数据。例如,假定存储器控制器250发送10个读取请求到设备200并且设备在发送回数据时有1个读取请求的延迟。即,设备200可以响应于第二读取请求150发送第一数据122,响应于第三读取请求发送第二数据124,等等。然后,在第10个读取请求被存储器控制器250发送到设备200之后,仅对应于第9个读取请求的数据将被返回。然而,响应于第10个读取请求,读取单元210仍然可以检索对应于第10个读取请求的数据并将它存储在存储单元220。因此,存储器控制器250可以在第10个读取请求之后发送虚拟读取请求260,以让返回单元230发送对应于第10个读取请求的数据。所述虚拟读取请求260可以被发布为对无效地址的访问或者被发布为交替编码的事务,以使得读取单元210将其识别为无效请求并因此作为虚拟读取请求260的结果不把任何数据取出到存储单元220中。
出于类似的原因,如果只有一个读取请求被转发到设备200,则存储器控制器250也可以发送虚拟读取请求260。例如,假定第一读取请求140被发送到读取单元210但没有第二读取请求150发送到读取单元210。在这种情况下,如果虚拟读取请求260在第一读取请求140之后被发送,则返回单元230可以把取出的第一数据122返回到存储器控制器250。
如果存储单元220没有数据返回,则返回单元230可以响应于虚拟读取请求260返回空或无效值。在一个示例中,如果数据没有在预期的时间帧内被取出,则返回单元230也可以返回空或无效值。例如,如果第一数据122到接收到第一读取请求140之后的预期时间尚未被返回,以及如果第一数据122到接收到第二读取请求150之后的预期时间仍尚未被返回等等,则返回单元230可以返回空值。存储器控制器250可以使用空或无效值来跟踪哪个数据尚未被接收到。空或无效值例如可以通过返回在会通常指示数据错误的数据和/或纠错码(ECC)字段中提供的特定值被编码到对读取请求的响应中。
在一个示例中,存储器控制器250可以在第一读取请求140被发送到设备200之后延迟至少阈值时间252再把第二读取请求150发送到设备200。例如,如果阈值时间252是50纳秒,那么存储器控制器250可以在发送第一读取请求140到设备200和发送第二读取请求150到设备200之间至少等待50纳秒。一般地,存储器控制器250也可以在发送任何连续请求之间至少等待阈值时间252,这可能会增加在先前被发送的相关读取请求的更近的时间窗口内数据可从设备200返回的可能性。
例如,如果存储器控制器250不等待阈值时间252,那么直到第四读取请求被发送到设备200之后,第一读取请求140的第一数据122可能才会被存储器控制器250接收。然而,如果存储器控制器250等待阈值时间252,那么在第二读取请求150被发送到设备200之后,第一读取请求140的第一数据122就可被存储器控制器250接收。
在一个示例中,阈值时间252还可以基于读取请求的估计等待时间而动态地变化。例如,返回单元230还可以响应于第一读取请求140把阈值时间252发送到存储器控制器250。由设备200发送的这一阈值时间252可能是基于检索第一数据122的时间。所述阈值时间252可能是基于存储器240的层级、从其读取数据的存储器240的单元类型(诸如,易失性或非易失性存储器)、数据的位置(诸如,设备200的高速缓存器或存储器240)等。不同于传统的存储器控制器,存储器控制器250的示例可以包括附加的功能,用以从混合等待时间的存储器中读取数据,即使当经由传统的存储器总线(诸如,DDR存储器总线)通信时。
图3是包括用于响应于第二读取请求从DIMM接收第一数据的指令的计算设备300的示例框图。在图3中,计算设备300包括处理器410和机器可读存储介质320。所述机器可读存储介质320进一步包括用于响应于第二读取请求输出第一数据的指令322、324、326和328。
计算设备300例如可以是控制器、安全微处理器、笔记本计算机、台式计算机、全合一系统、服务器、网络设备、无线设备或能够执行指令322、324、326和328的任何其他类型的用户设备。在某些示例中,计算设备300可以包括或者被连接到附加的组件(诸如,存储器、传感器、显示器等)。
处理器310可以是至少一个中央处理单元(CPU)、至少一个基于半导体的微处理器、适于检索和执行存储在机器可读存储介质320中的指令的其他硬件设备、或其组合。处理器310可以响应于第二读取请求取出、解码和执行指令322、324、326和328来实现输出第一数据。作为替代或除了检索和执行指令之外,处理器310可以包括包含用于执行指令322、324、326和328的功能的多个电子组件的至少一个集成电路(IC)、其他控制逻辑、其他电子电路或其组合。
机器可读存储介质320可以是包含或存储可执行指令的任何电子、磁、光或其他物理存储设备。因此,机器可读存储介质320例如可以是随机存取存储器(RAM)、电可擦除可编程只读存储器(EEPROM)、存储驱动器、光盘只读存储器(CD-ROM)等。如此,机器可读存储介质320可以是非暂时性的。如下面详细描述的,机器可读存储介质320可以被编码有一系列用于响应于第二读取请求输出第一数据的可执行指令。
此外,当所述指令322、324、326和328由处理器(例如经由处理器的一个处理元件或多个处理元件)执行时,可以引起处理器执行过程(诸如,图4的过程)。例如,发送第一读取请求指令322可以由处理器310来执行,响应于从客户端(未示出)接收到第一读取请求把第一读取请求(未示出)发送到双列直插式存储器模块(DIMM)(未示出)。
发送第二读取指令324可以由处理器310来执行,以响应于从客户端接收到第二读取请求把第二读取请求发送到DIMM。输出指令326可以由处理器310来执行,以响应于第一读取请求把第一数据输出到客户端。可以响应于第二读取请求从DIMM接收第一数据。
图4是用于响应于第二读取请求把第一数据输出到客户端的方法400的示例流程图。尽管在下面参考设备100描述了方法400的执行,但用于执行方法400的其他适当的组件(诸如,设备200)可以被利用。此外,用于执行方法400的组件可以被散布在多个设备(例如,与输入和输出设备通信的处理设备)之中。在某些场景中,协调动作的多个设备可被视为用以执行方法400的单一设备。方法400可以以存储在机器可读存储介质(诸如,存储介质320)上的可执行指令的形式和/或以电子电路的形式来实现。
在块410,设备100接收第一读取请求140。然后,在块420,设备100从存储器中取出第一数据122。接下来,在块430,设备100接收第二读取请求150。第一和第二读取请求经由双列直插式存储器模块(DIMM)接口被接收。最后,在块440,设备100响应于第二读取请求150输出第一数据122'。第一数据122'与第二读取请求150的地址152并不对应。响应于第二读取请求150,从存储器中取出第二数据。响应于第三读取请求,输出第二数据。
根据之前所述,本技术的示例提供方法和/或设备,其允许具有较长存取的存储器与标准DIMM共享DDR接口,以在不提供附加的存储器接口的情况下提供对更高容量的存储器的直接存取。使用这种布置,更快的标准DIMM可以利用它们较短的等待时间输送数据,同时与较慢的高容量DIMM共享DDR接口。
Claims (15)
1.一种设备,其包括:
读取单元,用以响应于第一读取请求取出第一数据;
存储单元,用以存储所取出的第一数据;以及
返回单元,用以响应于第二读取请求返回所取出的第一数据,其中
所取出的第一数据对应于第一读取请求的地址。
2.如权利要求1所述的设备,进一步包括:
存储器控制器,用以把第一和第二读取请求发送到读取单元,其中
所述存储器控制器响应于第一读取请求输出所取出的第一数据。
3.如权利要求2所述的设备,其中,
在多个读取请求的最后一个读取请求被发送到读取单元之后,存储器控制器把虚拟读取请求发送到读取单元,以及
返回单元响应于虚拟读取请求返回存储在存储单元中的所取出的最后数据。
4.如权利要求2所述的设备,其中,
如果所述第二读取请求未被发送到读取单元,则存储器控制器在第一读取请求被发送到读取单元之后发送虚拟读取请求,以及
返回单元响应于所述虚拟读取请求返回所取出的第一数据。
5.如权利要求4所述的设备,其中,如果存储单元没有数据返回,则所述返回单元响应于虚拟和第一读取请求中的至少一个返回空值。
6.如权利要求2所述的设备,其中,存储器控制器在第一读取请求被发送到设备之后延迟至少阈值时间再把第二读取请求发送到设备。
7.如权利要求6所述的设备,其中,所述返回单元进一步响应于第一读取请求把阈值时间发送到存储器控制器。
8.如权利要求1所述的设备,其中,
读取单元用以根据序列接收多个读取请求,以及
返回单元用以根据相同的序列返回对应于所述多个读取请求的数据。
9.如权利要求8所述的设备,其中,存储器控制器输出多个读取请求到读取单元而不依赖于数据何时被返回单元返回。
10.如权利要求1所述的设备,其中,所述读取单元响应于第二读取请求取出第二数据。
11.如权利要求10所述的设备,其中,
存储单元存储所取出的第二数据,以及
返回单元响应于第三读取请求返回所取出的第二数据。
12.如权利要求2所述的设备,其中,
所述设备包括一个或多个双列直插式存储器模块(DIMM),以及
所述存储器控制器是双数据速率(DDR)控制器,以及
数据从一个或多个DIMM的易失性存储器(VM)和非易失性存储器(NVM)中的至少一个中被取出。
13.一种方法,其包括:
接收第一读取请求;
从存储器中取出第一数据;
接收第二读取请求;以及
响应于第二读取请求输出第一数据,其中
第一数据与第二读取请求的地址并不对应,以及
第一和第二读取请求经由双列直插式存储器模块(DIMM)接口被接收。
14.如权利要求13所述的方法,其中,响应于第二读取请求从存储器中取出第二数据,以及响应于第三读取请求输出第二数据。
15.一种存储指令的非暂时性计算机可读存储介质,如果该指令由设备的处理器执行,则使得处理器:
响应于从客户端接收到第一读取请求而把第一读取请求发送到双列直插式存储器模块(DIMM);
响应于从客户端接收到第二读取请求而把第二读取请求发送到DIMM;以及
响应于第一读取请求把第一数据输出到客户端,其中
响应于第二读取请求从DIMM接收第一数据。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/052240 WO2015012858A1 (en) | 2013-07-26 | 2013-07-26 | First data in response to second read request |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105474318A true CN105474318A (zh) | 2016-04-06 |
Family
ID=52393712
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380078498.7A Pending CN105474318A (zh) | 2013-07-26 | 2013-07-26 | 响应于第二读取请求的第一数据 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9972379B2 (zh) |
EP (1) | EP3025347A1 (zh) |
CN (1) | CN105474318A (zh) |
TW (1) | TWI564787B (zh) |
WO (1) | WO2015012858A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112216315A (zh) * | 2019-07-09 | 2021-01-12 | 美光科技公司 | 用于存储器装置的低功率模式 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017015790A1 (en) * | 2015-07-24 | 2017-02-02 | Apple Inc. | Packet switched voice service registration techniques with reduced overhead |
US10025508B2 (en) | 2015-12-02 | 2018-07-17 | International Business Machines Corporation | Concurrent upgrade and backup of non-volatile memory |
US10678714B2 (en) | 2017-11-22 | 2020-06-09 | International Business Machines Corporation | Dual in-line memory module with dedicated read and write ports |
US10956246B1 (en) * | 2018-07-16 | 2021-03-23 | Amazon Technologies, Inc. | Isolated read channel management interfaces at streaming data service |
US20220367473A1 (en) * | 2020-12-25 | 2022-11-17 | Unisantis Electronics Singapore Pte. Ltd. | Memory device using semiconductor element |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040148470A1 (en) * | 2003-01-29 | 2004-07-29 | Jurgen Schulz | System including a memory controller configured to perform pre-fetch operations including dynamic pre-fetch control |
CN101131681A (zh) * | 2006-07-18 | 2008-02-27 | 威盛电子股份有限公司 | 控制数据存取请求的计算器系统、存储器控制器与方法 |
CN102736989A (zh) * | 2011-04-07 | 2012-10-17 | 索尼公司 | 再现装置和再现方法 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5301278A (en) | 1988-04-29 | 1994-04-05 | International Business Machines Corporation | Flexible dynamic memory controller |
US6173344B1 (en) | 1998-05-27 | 2001-01-09 | Adaptec, Inc | SCSI bus transceiver and method for making the same |
US6957308B1 (en) | 2002-07-11 | 2005-10-18 | Advanced Micro Devices, Inc. | DRAM supporting different burst-length accesses without changing the burst length setting in the mode register |
US6894531B1 (en) | 2003-05-22 | 2005-05-17 | Altera Corporation | Interface for a programmable logic device |
US7224595B2 (en) | 2004-07-30 | 2007-05-29 | International Business Machines Corporation | 276-Pin buffered memory module with enhanced fault tolerance |
US7571296B2 (en) | 2004-11-11 | 2009-08-04 | Nvidia Corporation | Memory controller-adaptive 1T/2T timing control |
WO2006117746A1 (en) * | 2005-05-04 | 2006-11-09 | Nxp B.V. | Memory controller and method for controlling access to a memory, as well as system comprising a memory controller |
US20080133820A1 (en) | 2006-11-30 | 2008-06-05 | Ramkarthik Ganesan | DDR flash implementation with row buffer interface to legacy flash functions |
US20080162799A1 (en) | 2006-12-28 | 2008-07-03 | Bryan Spry | Mechanism for write optimization to a memory device |
CN103354939B (zh) | 2010-12-17 | 2016-03-16 | 艾沃思宾技术公司 | 用于使dram和mram访问交错的存储器控制器和方法 |
US8612676B2 (en) * | 2010-12-22 | 2013-12-17 | Intel Corporation | Two-level system main memory |
US8621157B2 (en) | 2011-06-13 | 2013-12-31 | Advanced Micro Devices, Inc. | Cache prefetching from non-uniform memories |
WO2013048493A1 (en) | 2011-09-30 | 2013-04-04 | Intel Corporation | Memory channel that supports near memory and far memory access |
US8560757B2 (en) * | 2011-10-25 | 2013-10-15 | Cavium, Inc. | System and method to reduce memory access latencies using selective replication across multiple memory ports |
US8812936B2 (en) * | 2012-07-06 | 2014-08-19 | Sandisk Technologies Inc. | Using slow response memory device on a fast response interface |
-
2013
- 2013-07-26 WO PCT/US2013/052240 patent/WO2015012858A1/en active Application Filing
- 2013-07-26 US US14/897,385 patent/US9972379B2/en active Active
- 2013-07-26 EP EP13890063.4A patent/EP3025347A1/en not_active Withdrawn
- 2013-07-26 CN CN201380078498.7A patent/CN105474318A/zh active Pending
-
2014
- 2014-05-26 TW TW103118257A patent/TWI564787B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040148470A1 (en) * | 2003-01-29 | 2004-07-29 | Jurgen Schulz | System including a memory controller configured to perform pre-fetch operations including dynamic pre-fetch control |
CN101131681A (zh) * | 2006-07-18 | 2008-02-27 | 威盛电子股份有限公司 | 控制数据存取请求的计算器系统、存储器控制器与方法 |
CN102736989A (zh) * | 2011-04-07 | 2012-10-17 | 索尼公司 | 再现装置和再现方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112216315A (zh) * | 2019-07-09 | 2021-01-12 | 美光科技公司 | 用于存储器装置的低功率模式 |
CN112216315B (zh) * | 2019-07-09 | 2022-02-11 | 美光科技公司 | 用于存储器装置的低功率模式 |
Also Published As
Publication number | Publication date |
---|---|
US9972379B2 (en) | 2018-05-15 |
EP3025347A1 (en) | 2016-06-01 |
US20160148673A1 (en) | 2016-05-26 |
TWI564787B (zh) | 2017-01-01 |
WO2015012858A1 (en) | 2015-01-29 |
TW201506770A (zh) | 2015-02-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101719092B1 (ko) | 하이브리드 메모리 디바이스 | |
JP6139010B2 (ja) | デバイス | |
US10592445B2 (en) | Techniques to access or operate a dual in-line memory module via multiple data channels | |
CN105474318A (zh) | 响应于第二读取请求的第一数据 | |
EP3049938B1 (en) | Data management on memory modules | |
US20170255561A1 (en) | Technologies for increasing associativity of a direct-mapped cache using compression | |
US10338832B2 (en) | Power efficient method and system for executing host data processing tasks during data retention operations in a storage device | |
KR20210038313A (ko) | 레이턴시에 중점을 둔 판독 동작과 대역폭에 중점을 둔 판독 동작 사이의 동적 변경 | |
KR20210118727A (ko) | 행 주소 지정 및 열 주소 지정이 가능한 메모리의 동적 데이터에 대한 에러 정정 | |
US20210056029A1 (en) | Hybrid Memory Systems with Cache Management | |
KR20170012675A (ko) | 컴퓨팅 시스템 및 그것의 데이터 전송 방법 | |
US10754768B2 (en) | Memory system using descriptor lookup tables to access setting information for a non-volatile memory, and an operating method thereof | |
TWI512475B (zh) | 有助於在記憶體模組和中央處理器之間進行通信的方法及相關機器可讀儲存媒體 | |
KR20220113850A (ko) | 콘텐츠 패턴이 메모리 디바이스의 메모리 셀들에 저장되게 하기 위한 기법 | |
CN116825160A (zh) | 自适应字线刷新 | |
CN116360674A (zh) | 写入请求缓冲器 | |
US9836215B2 (en) | Real time protocol generation | |
CN114664361A (zh) | 利用nand缓冲器进行无dram的多级单元编程 | |
US9916098B2 (en) | Reducing read latency of memory modules | |
US20230065395A1 (en) | Command retrieval and issuance policy | |
US20230236732A1 (en) | Memory device | |
US10628322B2 (en) | Memory system and operating method thereof | |
KR20210059960A (ko) | 데이터 저장 장치, 스토리지 시스템 및 데이터 저장 장치의 동작 방법 | |
CN105164656A (zh) | 完成包的返回 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160406 |