在存储器中以及在存储器模块的装置之间的直接数据传送
文献发布时间:2023-06-19 10:44:55
技术领域
本公开大体上涉及存储器装置,且更确切地说,涉及用于在存储器中以及在存储器模块的装置之间的直接数据传送的设备和方法。
背景技术
存储器装置通常被提供为计算机或其它电子装置中的内部、半导体、集成电路。存在许多不同类型的存储器,包含易失性和非易失性存储器。易失性存储器可需要电力来维持其数据,且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)等等。非易失性存储器可通过在未供电时保持所存储的数据而提供持续数据,且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)和电阻可变存储器,例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)和磁阻随机存取存储器(MRAM)等等。
存储器还用作易失性和非易失性数据存储装置以用于广泛范围的电子应用。非易失性存储器可用于例如个人计算机、便携式存储器棒、数码相机、蜂窝电话、便携式音乐播放器(例如MP3播放器)、电影播放器和其它电子装置中。存储器单元可布置成阵列,其中所述阵列用于存储器装置中。
存储器可为计算装置中使用的存储器模块(例如,双列直插式存储器模块(DIMM))的部分。存储器模块可包含例如DRAM的易失性存储器,和/或例如快闪存储器或RRAM的非易失性存储器。所述DIMM可用作计算系统中的主存储器。
附图说明
图1A为根据本公开的多个实施例的呈包含存储器系统的计算系统形式的设备的框图。
图1B为根据本公开的多个实施例的呈双列直插式存储器模块(DIMM)形式的设备的框图。
图2为根据本公开的多个实施例的包含主机和存储器系统的计算系统的框图,所述存储器系统包括具有端口的双列直插式存储器模块(DIMM)。
图3为根据本公开的多个实施例的包含主机和存储器系统的计算系统的框图,所述存储器系统包括具有就绪/忙碌总线的双列直插式存储器模块(DIMM)。
图4为示出根据本公开的多个实施例的包含存储器中直接数据传送的实例存储器过程的流程图。
图5为示出根据本公开的多个实施例的包含存储器中直接数据传送的实例存储器过程的流程图。
具体实施方式
本公开包含与在存储器中以及在存储器模块的装置之间的直接数据传送有关的设备和方法。
存储器系统可包含具有多个存储器装置的双列直插式存储器模块(DIMM)。例如,DIMM可为包含多个非易失性存储器装置的非易失性DIMM(NVDIMM)。DIMM可执行命令以在主机与非易失性存储器装置之间以及在非易失性存储器装置之间传送数据。DIMM可从例如主机的另一装置接收命令,和/或可由DIMM上的控制器生成命令。
例如,第一多个非易失性存储器装置可经由第一端口(例如,A侧端口)耦合到例如主机的另一装置,且经由第二端口(例如,B侧端口)耦合到DIMM上的控制器。第二多个非易失性存储器装置可耦合到DIMM上的控制器。DIMM可执行命令以经由A侧端口在例如主机的另一装置与第一多个非易失性存储器装置之间传送数据,且DIMM可执行命令以经由B侧端口在第一多个非易失性存储器装置与第二多个非易失性存储器装置之间传送数据。DIMM可执行命令以在执行在第一多个非易失性存储器装置与第二多个非易失性存储器装置之间传送数据的所述命令时在另一装置与第一多个非易失性存储器装置之间传送数据。
DIMM可将读取命令发送到第一多个非易失性存储器装置。所述第一多个非易失性存储器装置可读取与所述读取命令相关联的数据,且将所述数据发送到在直接耦合第一多个非易失性存储器装置与第二多个非易失性存储器装置的总线上的第二多个非易失性存储器装置。DIMM可将写入命令发送到第二多个存储器装置。所述第二多个非易失性存储器装置可响应于接收所述写入命令而将从第一多个非易失性存储器装置接收到的数据写入到第二多个非易失性存储器装置。
DIMM可将读取命令发送到第二多个存储器装置。所述第二多个非易失性存储器装置可读取与所述读取命令相关联的数据,且将所述数据发送到在直接耦合第二多个非易失性存储器装置与主机的总线上的主机。
DIMM可包含多个实施例,其中端口未用于将第一多个非易失性存储器装置耦合到其它装置和/或控制器(例如,来自主机和/或控制器的总线直接耦合到非易失性存储器装置)。DIMM可将指示DIMM是否准备好从另一装置接收命令的就绪/等待信号发送到例如主机的另一装置。例如,DIMM可将指示DIMM未准备好从主机接收命令的就绪/等待信号发送到主机,且忙于执行在DIMM上的存储器装置之间传送数据的命令。当DIMM不忙于执行在DIMM上的存储器装置之间传送数据的命令时,DIMM可将指示DIMM准备好从主机接收命令的就绪/等待信号发送到主机。
实例设备可包含经由相应第一多个端口耦合到主机的第一多个存储器装置以及经由相应第二多个端口耦合到所述第一多个存储器装置的第二多个存储器装置,其中第一多个存储器装置和所述第二多个存储器装置被配置成基于以下各者而传送数据:命令的第一部分,其包含从第一多个存储器装置读取所述数据且将所述数据直接发送到所述第二多个装置的指令;以及所述命令的第二部分,其包含将所述数据写入到所述第二多个存储器装置的指令。
在本公开的以下具体实施方式中,参考形成本文的一部分的附图,并且其中借助于图示展示了可以如何实践本公开的多个实施例。充分详细地描述这些实施例以使得所属领域的一般技术人员能够实践本公开的实施例,且应理解,可利用其它实施例,且可在不脱离本公开范围的情况下作出过程、电气和/或结构改变。如本文所使用,指定符“N”指示本公开的多个实施例可包含如此指定的多个特定特征。
如本文所使用,“多个”某物可指代此类事物中的一或多个。例如,多个存储器装置可指代存储器装置中的一或多个。另外,如本文所使用的、确切地说关于图式中的参考数字的指定符(例如“N”)指示本公开的多个实施例可包含如此指定的多个特定特征。
本文中的图式遵循编号定则,其中一或多个第一数字对应于图号,并且其余数字标识图式中的元件或组件。可通过使用类似数字来标识不同图式之间的类似元件或组件。如将了解,可添加、交换和/或去除本文各种实施例中示出的元件,以便提供本公开的多个额外实施例。另外,图式中所提供的元件的比例和相对标度意图说明本公开的各种实施例,且不应以限制性意义使用。
图1A为根据本公开的一或多个实施例的包含呈多个存储器系统104-1、…、104-N形式的设备的计算系统100的功能框图。如本文所使用,例如,“设备”可指代但不限于多种结构或结构组合中的任一者,例如电路或电路系统、一或多个裸片、一或多个模块、一或多个装置,或者一或多个系统。在图1A所示出的实施例中,存储器系统104-1、…、104-N可包含一或多个双列直插式存储器模块(DIMM)110-1、…、110-X、110-Y。DIMM 110-1、…、110-X、110-Y可包含易失性存储器和/或非易失性存储器。在多个实施例中,存储器系统104-1、…、104-N可包含多芯片装置。多芯片装置可包含多个不同存储器类型和/或存储器模块。例如,存储器系统可包含任何类型的模块上的非易失性或易失性存储器。虽然下文结合图1A至5所描述的实例使用DIMM作为存储器模块,但本公开的实施例可在包含易失性和/或非易失性存储器的任何存储器系统上使用。在图1A中,存储器系统104-1经由信道103-1耦合到主机可包含DIMM 110-1、…、110-X,其中DIMM 110-1为NVDIMM且110-X为DRAM DIMM。在此实例中,每个DIMM 110-1、…、110-X、110-Y包含控制器114。控制器114可从主机102接收命令且控制DIMM上命令的执行。并且,在多个实施例中,本公开的协议可由不具有控制器的存储器装置(例如,DIMM)实施,且使用本公开协议的命令的执行可内置于存储器装置中。主机102可使用本公开的协议和/或先前协议将命令发送到DIMM 110-1、…、110-X、110-Y,这取决于DIMM中存储器的类型。例如,主机可使用本公开的协议在同一信道(例如,信道103-1)上与NVDIMM进行通信,且使用先前协议与同一存储器系统104上的DRAM DIMM进行通信。
如图1A中所示,主机102可耦合到存储器系统104-1、…、104-N。在多个实施例中,每个存储器系统104-1、…、104-N可经由信道(例如,信道103-1、…、103-N)耦合到主机102。在图1A中,存储器系统104-1经由信道103-1耦合到主机102,且存储器系统104-N经由信道103-N耦合到主机102。主机102可为膝上型计算机、个人计算机、数码相机、数字记录和重放装置、移动电话、PDA、存储卡读卡器、接口集线器以及其它主机系统,且可包含存储器存取装置,例如处理器。所属领域的一般技术人员将了解,“处理器”可意指一或多个处理器,例如并行处理系统、多个协处理器等。
主机102包含主机控制器108以与存储器系统104-1、…、104-N进行通信。主机控制器108可经由信道103-1、…、103-N将命令发送到DIMM 110-1、…、110-X、110-Y。主机控制器108可与DIMM 110-1、…、110-X、110-Y和/或DIMM 110-1、…、110-X、110-Y中的每一个上的控制器114进行通信以读取、写入和擦除数据以及其它操作。物理主机接口可提供接口以用于在具有用于物理主机接口的兼容受体的存储器系统104-1、…、104-N与主机102之间传递控制、地址、数据和其它信号。可在多个总线(例如,数据总线和/或地址总线)上的102与DIMM 110-1、…、110-X、110-Y之间传达信号,例如经由信道103-1、…、103-N。
DIMM上的主机控制器108和/或控制器114可包含控制电路系统,例如硬件、固件和/或软件。在一或多个实施例中,主机控制器108和/或控制器114可为耦合到包含物理接口的印刷电路板的专用集成电路(ASIC)和/或现场可编程门阵列(FPGA)。并且,每个DIMM110-1、…、110-X、110-Y可包含易失性和/或非易失性存储器的缓冲器116以及寄存器107。缓冲器106可用于缓冲在执行命令期间使用的数据。
DIMM 110-1、…、110-X、110-Y可提供用于存储器系统的主存储器,或可在整个存储器系统中用作额外存储器或存储装置。每个DIMM 110-1、…、110-X、110-Y可包含存储器裸片上的存储器单元的一或多个阵列,例如易失性和/或非易失性存储器单元。例如,阵列可为具有NAND架构的快闪阵列。实施例不限于特定类型的存储器装置。举例来说,存储器装置可包含RAM、ROM、DRAM、SDRAM、PCRAM、RRAM和快闪存储器等等。
图1A的实施例可包含未示出的额外电路系统,以便不混淆本公开的实施例。例如,存储器系统104-1、…、104-N可包含用以锁存经由通过I/O电路系统的I/O连接提供的地址信号的地址电路系统。地址信号可由行解码器和列解码器接收并解码以存取DIMM 110-1、…、110-X、110-Y。所属领域的技术人员将了解,地址输入连接的数量可取决于DIMM 110-1、…、110-X、110-Y的密度和架构。
图1B为根据本公开的多个实施例的呈双列直插式存储器模块(DIMM)110形式的设备的框图。在图1B中,DIMM 110可包含控制器114。控制器114可包含可为缓冲器106和/或多个寄存器107的存储器,例如SRAM存储器。DIMM 110可包含耦合到控制器的多个存储器装置105-1、…、105-Z。存储器装置105-1、…、105-Z可为易失性和/或非易失性存储器装置(例如图2中的存储器装置221和224),且包含非易失性存储器阵列和/或易失性存储器阵列。存储器装置105-1、…、105-Z可包含可用于执行存储器装置105-1、…、105-Z上的命令的控制电路系统109(例如,硬件、固件和/或软件)。控制电路系统109可从控制器114接收命令。控制电路系统109可被配置成执行在存储器装置105-1、…、105-Z中读取和/或写入数据的命令。
图2为根据本公开的多个实施例的包含主机202和存储器系统的计算系统200的框图,所述存储器系统包括具有端口的双列直插式存储器模块(DIMM)210。在图2中,主机202经由数据总线212-1、…、212-8和命令/地址总线218耦合到DIMM 210。主机202可经由多个信道(例如,图1A中的信道103-1、…、103-N)耦合到DIMM 210。例如,主机202经由包含数据总线212-1、…、212-4和命令/地址总线218的第一信道耦合到DIMM 210,且主机202经由包含数据总线212-5、…、212-8和命令地址/总线218的第二信道耦合到DIMM 210。主机202可在第一信道上发送命令以用于在存储器装置221-1、…、221-8和存储器装置224-1、…、224-4上执行,且可在第二信道上发送命令以用于在存储器装置221-9、…、221-16和存储器装置224-5、…、224-8上执行。控制器214可从主机202接收命令。来自主机202的命令可读取和/或写入数据到DIMM 210。控制器214可通过将读取和/或写入命令发送到存储器装置221-1、…、221-16和224-1、…、224-8以在DIMM 210上读取、写入和传送数据来解释来自主机202的命令。来自主机202的命令可经由总线218发送到寄存器时钟驱动器(RCD)217,且命令可经由总线219从RCD 217发送到控制器214。控制器214可从RCD 217接收命令且将与所述命令相关联的数据(例如,命令指令和/或在执行命令期间从存储器装置221和/或224读取的和/或写入到所述存储器装置的数据)存储在缓冲器206中。
控制器214可经由总线219和RCD 217将命令发送到总线225-1上的存储器装置221-1、…、221-8。控制器214可经由总线219和RCD 217将命令发送到总线225-2上的存储器装置221-9、…、221-16。从控制器214到存储器装置221-1、…、221-16的命令可包含读取命令以从存储器装置221-1、…、221-16读取数据,且将所述数据直接(例如,不将数据发送到控制器且接着到存储器装置)发送到总线215-1、…、215-8上的存储器装置224-1、…、224-8,和/或将数据直接发送到总线212-1、…、212-8上的主机202。从控制器214到存储器装置221-1、…、221-16的命令可包含写入命令以将直接从总线215-1、…、215-8上的存储器装置224-1、…、221-8接收的数据写入到存储器装置221-1、…、221-16,和/或将直接从总线212-1、…、212-8上的主机202接收的数据写入到存储器装置221-1、…、221-16。可响应于从主机202接收命令而发送由控制器214发送到存储器装置221-1、…、221-16和224-1、…、224-8的命令。
控制器214可将信号发送到RCD 217,所述信号指示一对存储器装置(例如,存储器装置221-1或221-2)中哪一个存储器装置将执行命令。可将信号从RCD 217发送到多路复用器226-1、…、226-8,且使得多路复用器226-1、…、226-8从一对存储器装置中选择存储器装置,且经由总线225-1和/或225-2将所选择的存储器装置耦合到RCD 217。例如,如果命令正经由A侧端口传送数据且A侧端口正将存储器装置221-1耦合到主机202,同时B侧端口正将存储器装置221-2耦合到控制器214,则信号可指示多路复用器226-1以将总线225-1耦合到存储器装置221-1。控制器可随后经由RCD 217将命令发送到总线225-1上的存储器装置221-1,且存储器装置221-1可通过在存储器装置221-1与主机202之间传送数据来执行命令。存储器装置221-1、…、221-16可将总线225-1和225-2上的信号(例如,命令完成信号)发送到RCD 217以及控制器214,所述信号指示存储器装置221-1、…、221-16已完成执行命令且为额外命令作好准备。一旦已执行命令,控制器214就可将另一命令发送到RCD 217以供执行和/或将指示已执行从主机202所接收的命令的状态信号发送到主机202。控制器214可包含非易失性和/或易失性存储器,例如SRAM存储器,其可为在执行命令期间使用的缓冲器206和/或寄存器207。
控制器214可将命令发送到总线223-1上的存储器装置224-1、…、224-4,且将命令发送到总线223-2上的存储器装置224-5、…、224-8。从控制器214到存储器装置224-1、…、224-8的命令可包含读取命令以从存储器装置224-1、…、224-8读取数据且将所述数据直接发送到总线215-1、…、215-8上的存储器装置221-1、…、221-16。从控制器214到存储器装置224-1、…、224-8的命令可包含写入命令以将直接从存储器装置221-1、…、221-16接收的数据写入到总线215-1、…、215-8上的存储器装置224-1、…、224-8。存储器装置224-1、…、224-8可包含缓冲器211以在将数据写入到存储器装置224-1、…、224-8时临时存储从存储器装置221-1、…、221-16接收的数据。
控制器214可定时地将读取和/或写入命令发送到存储器装置224-1、…、224-8和221-1、…、221-16,使得存储器装置可在读取命令完成之后执行写入命令而无需等待时间。例如,可将读取命令发送到存储器装置224-1。存储器装置224-1可执行读取命令且将与读取命令相关联的数据发送到总线215-1上的存储器装置221-1。控制器214可一次将写入命令发送到存储器装置221-1,使得存储器装置221-1可执行写入命令而无需等待时间,且同时存储器装置221-1正从总线215-1上的存储器装置224-1接收数据。存储器装置221-1可定时地从控制器214接收写入命令,使得存储器装置221-1可开始执行在紧接读取命令完成之后发生的时钟周期中的写入命令且从存储器装置224-1接收数据。
DIMM 210可包含第一多个存储器装置221-1、…、221-16。例如,存储器装置221-1、…、221-16可为FeRAM存储器装置,以及其它类型的易失性和/或非易失性存储器。存储器装置221-1、…、221-16可配对在一起。例如,存储器装置221-1和221-2配对在一起,经由端口222-1(A侧端口)以及总线212-1和212-2耦合到主机,且经由端口222-2(B侧端口)和总线215-1耦合到存储器装置224-1。存储器装置221-3和221-4配对在一起,经由端口222-3(A侧端口)和总线212-2耦合到主机,且经由端口222-4(B侧端口)和总线215-2耦合到存储器装置224-2。存储器装置221-5和221-6配对在一起,经由端口222-5(A侧端口)和总线212-3耦合到主机,且经由端口222-6(B侧端口)和总线215-3耦合到存储器装置224-3。存储器装置221-7和221-8配对在一起,经由端口222-7(A侧端口)和总线212-4耦合到主机,且经由端口222-8(B侧端口)和总线215-4耦合到存储器装置224-4。存储器装置221-9和221-10配对在一起,经由端口222-9(A侧端口)和总线212-5耦合到主机,且经由端口222-10(B侧端口)和总线215-5耦合到存储器装置224-5。存储器装置221-11和221-12配对在一起,经由端口222-11(A侧端口)和总线212-6耦合到主机,且经由端口222-12(B侧端口)和总线215-6耦合到控制器214。存储器装置221-13和221-14配对在一起,经由端口222-13(A侧端口)和总线212-7耦合到主机,且经由端口222-14(B侧端口)和总线215-7耦合到控制器214。存储器装置221-15和221-16配对在一起,经由端口222-15(A侧端口)和总线212-8耦合到主机,且经由端口222-16(B侧端口)和总线215-8耦合到控制器214。
DIMM 210可包含第二多个存储器装置224-1、…、224-8。例如,存储器装置221-1、…、221-8可为3D XPoint存储器装置,以及其它类型的易失性和/或非易失性存储器。
存储器系统200可被配置成通过将命令/地址总线218上的命令/地址信息从主机控制器208发送到寄存器时钟驱动器(RCD)217且在数据总线212-1、…、212-8上发送数据来执行从主机202发送到DIMM 210的命令。来自主机的命令可包含用于存储器装置221-1、…、221-16的地址信息,其中主机正在存储器装置221-1、…、221-16中的特定位置处请求对数据的操作。来自主机的命令可包含用于存储器装置224-1、…、224-8的地址信息,其中主机正在存储器装置224-1、…、224-8中的特定位置处请求对数据的操作,同时存储器装置221-1、…、221-16可在执行命令期间充当缓冲器。
在多个实施例中,存储器装置221-1、…、221-16可被配置为高速缓冲存储器。例如,存储器装置可被配置为用于存储在存储器装置224-1、…、224-8中和/或耦合到计算系统的其它存储器装置中的数据的高速缓冲存储器。DIMM 210可被配置成具有可由主机202寻址的存储器装置221-1、…、221-16的一部分和被配置为高速缓冲存储器的存储器装置221-1、…、221-16的一部分。
DIMM 210包含配对在一起的存储器装置,且可选择配对的存储器装置中的一者以用于经由A侧端口耦合到主机202,且可选择配对的存储器装置中的另一者以用于经由B侧端口耦合到控制器214。例如,与存储器装置221-2配对的存储器装置221-1可被选择用于经由端口222-1耦合到主机202,同时存储器装置221-2可被选择用于经由端口222-2耦合到控制器214。端口222-1可包含多路复用器以选择存储器装置221-1并将所述存储器装置耦合到主机202,同时将存储器装置221-2与主机202隔离。端口222-2可包含多路复用器以选择存储器装置221-2并将所述存储器装置耦合到控制器214,同时将存储器装置221-1与控制器214隔离。主机202可将命令发送到DIMM 210以用于在选定的A侧端口存储器装置(例如,存储器装置221-1)上执行。可通过经由总线212-1和/或212-2上的端口222-1在主机202与存储器装置221-1之间传送数据来执行命令。DIMM 210还可执行命令以用于在选定的B侧端口存储器装置(例如,存储器装置221-2)上执行。可通过经由总线212-1、212-2、223-1和/或223-2上的端口222-1和控制器214在存储器装置221-2与其它存储器装置之间传送数据来执行命令。使用B侧端口执行的命令可在存储器装置221-1、…、221-16之间和/或在存储器装置221-1、…、221-16与存储器装置224-1、…、224-8之间传送数据。端口222-1、…、22-16可在存储器装置221-1、…、221-16外部(如图2中所示出)和/或在存储器装置221-1、…、221-16内部。
在多个实施例中,可在执行经由B侧端口传送数据的命令时执行经由A侧端口传送数据的命令。存储在成对存储器装置中的数据可由控制器裁定并调和。已执行命令的存储器装置可具有通过在所述对存储器装置之间和/或在所述对存储器装置与存储器装置224-1、…、224-8之间传送数据而调和的所述对存储器装置上的数据,在所述命令中,将数据传送到A侧端口上的存储器装置中的一者和/或从所述存储器装置中的一者传送数据并且将数据传送到B侧端口上的其它配对的存储器装置和/或从所述其它配对的存储器装置传送数据。例如,在A侧端口和B侧端口传送已在一对存储器装置上发生且DIMM 210空闲之后,控制器214可发送命令以调和存储在所述对存储器装置上的数据,使得通过在所述对存储器装置之间和/或在所述对存储器装置与存储器装置224-1、…、224-8之间传送数据而将相同数据存储在存储器装置中的每一个上。
在多个实施例中,可从主机202接收命令和/或由控制器214生成命令以在存储器装置224-1、…、224-8之间传送数据。可使用缓冲器206和/或寄存器207经由控制器214在存储器装置224-1、…、224-8之间传送数据。
图3为根据本公开的多个实施例的包含主机302和存储器系统的计算系统300的框图,所述存储器系统包括具有就绪/忙碌总线的双列直插式存储器模块(DIMM)310。在图3中,主机302经由数据总线312-1、…、312-8、命令/地址总线318以及就绪/忙碌总线327耦合到DIMM 310。主机302可经由多个信道(例如,图1A中的信道103-1、…、103-N)耦合到DIMM310。例如,主机302经由包含数据总线312-1、…、312-4、命令/地址总线318和就绪/忙碌总线327的第一信道耦合到DIMM 310;且主机302经由包含数据总线312-5、…、312-8、命令地址/总线318和就绪/忙碌总线327的第二信道耦合到DIMM 310。
DIMM 310可包含第一多个存储器装置321-1、…、321-8。例如,存储器装置321-1、…、321-16可为FeRAM存储器装置,以及其它类型的易失性和/或非易失性存储器。DIMM310可包含第二多个存储器装置324-1、…、324-8。例如,存储器装置321-1、…、321-8可为3DXPoint存储器装置,以及其它类型的易失性和/或非易失性存储器。
控制器314可在就绪/忙碌总线327上将就绪/忙碌信号发送到主机302。就绪/忙碌信号可向主机302指示控制器是否准备好从主机302接收命令。例如,如果DIMM 310正忙于执行命令,例如在存储器装置321-1、…、321-4与存储器装置324-1、…、324-4(例如DIMM)之间传送数据,并且没准备好接收命令,因此就绪/忙碌信号可在就绪/忙碌总线327上发送到主机302,所述信号指示DIMM 310没准备好接收命令。一旦DIMM 310不再忙于执行命令,DIMM 310就可在就绪/忙碌总线327上将就绪/忙碌信号发送到主机302,所述信号指示DIMM310准备好从主机302接收命令。主机302可响应于接收就绪/忙碌信号而将命令发送到DIMM310。
控制器314可从主机302接收命令。来自主机302的命令可读取和/或写入数据到DIMM 310。控制器314可通过将读取和/或写入命令发送到存储器装置321-1、…、321-8和324-1、…、324-8以在DIMM 310上读取、写入和传送数据来解释来自主机302的命令。来自主机302的命令可经由总线318发送到寄存器时钟驱动器(RCD)317,且命令可经由总线319从RCD 317发送到控制器314。控制器314可从RCD 317接收命令且将与所述命令相关联的数据(例如,命令指令和/或在执行命令期间从存储器装置321和/或324读取的和/或写入到所述存储器装置的数据)存储在缓冲器306中。控制器可经由RCD 317将命令发送到总线325-1和/或325-2上的存储器装置321-1、…、321-8,且存储器装置321-1、…、321-8可通过在存储器装置321-1、…、321-8与主机302和/或存储器装置321-1、…、321-8与存储器装置324-1、…、324-8之间传送数据来执行命令。存储器装置321-1、…、321-8可在总线325-1和325-2上将信号发送到RCD 317以及控制器314,所述信号指示存储器装置321-1、…、321-8已完成执行命令且为额外命令作好准备。一旦已执行命令,控制器314就可将指示已执行从主机302所接收的命令的状态信号发送到主机302。控制器314可包含非易失性和/或易失性存储器,例如SRAM存储器,其可为在执行命令期间使用的缓冲器306和/或寄存器307。
控制器314可经由总线319及RCD 317将命令发送到总线325-1上的存储器装置321-1、…、321-4。控制器314可经由总线319和RCD 317将命令发送到总线325-2上的存储器装置321-5、…、321-8。从控制器314到存储器装置321-1、…、321-8的命令可包含读取命令以从存储器装置321-1、…、321-8读取数据,且将所述数据直接发送到总线315-1、…、315-8上的存储器装置324-1、…、324-8,和/或将数据直接发送到总线312-1、…、312-8上的主机302。从控制器314到存储器装置321-1、…、321-8的命令可包含写入命令以将直接从总线315-1、…、315-8上的存储器装置324-1、…、324-8接收的数据写入到存储器装置321-1、…、321-8,和/或将直接从总线312-1、…、312-8上的主机302接收的数据写入到存储器装置321-1、…、321-8。可响应于从主机302接收命令而发送由控制器314发送到存储器装置321-1、…、321-8和324-1、…、324-8的命令。
控制器314可将命令发送到总线323-1上的存储器装置324-1、…、324-4,且将命令发送到总线323-2上的存储器装置324-5、…、324-8。从控制器314到存储器装置324-1、…、324-8的命令可包含读取命令以从存储器装置324-1、…、3-8读取数据且将所述数据直接发送到总线315-1、…、315-8上的存储器装置321-1、…、321-8。从控制器314到存储器装置324-1、…、324-8的命令可包含写入命令以将直接从存储器装置321-1、…、321-8接收的数据写入到总线315-1、…、315-8上的存储器装置324-1、…、324-8。存储器装置324-1、…、324-8可包含缓冲器311以在将数据写入到存储器装置324-1、…、324-8时临时存储从存储器装置321-1、…、321-8接收的数据。
控制器314可定时地将读取和/或写入命令发送到存储器装置324-1、…、324-8和321-1、…、321-8,使得存储器装置可在读取命令完成之后执行写入命令而无需等待时间。例如,可将读取命令发送到存储器装置324-1。存储器装置324-1可执行读取命令且将与读取命令相关联的数据发送到总线315-1上的存储器装置321-1。控制器314可一次将写入命令发送到存储器装置321-1,使得存储器装置321-1可执行写入命令而无需等待时间,且同时存储器装置321-1正从总线3-1上的存储器装置324-1接收数据。存储器装置321-1可定时地从控制器314接收写入命令,使得存储器装置321-1可开始执行在紧接读取命令完成之后发生的时钟周期中的写入命令且从存储器装置324-1接收数据。
存储器系统300可被配置成通过将命令/地址总线318上的命令/地址信息从主机控制器308发送到寄存器时钟驱动器(RCD)317且在数据总线312-1、…、312-8上发送数据来执行从主机302发送到DIMM 310的命令。来自主机的命令可包含用于存储器装置321-1、…、321-8的地址信息,其中主机在存储器装置321-1、…、321-16中的特定位置处请求对数据的操作。来自主机的命令可包含用于存储器装置324-1、…、324-4的地址信息,其中主机正在存储器装置324-1、…、324-4中的特定位置处请求对数据的操作,同时存储器装置321-5、…、321-8可在命令执行期间充当缓冲器。
在多个实施例中,存储器装置321-1、…、321-8可被配置为高速缓冲存储器。例如,存储器装置可被配置为用于存储在存储器装置324-1、…、324-8中和/或耦合到计算系统的其它存储器装置中的数据的高速缓冲存储器。DIMM 310可被配置成具有可由主机302寻址的存储器装置321-1、…、321-8的一部分和被配置为高速缓冲存储器的存储器装置321-1、…、321-8的一部分。
在多个实施例中,可从主机302接收命令和/或由控制器314生成命令以在存储器装置324-1、…、324-8之间传送数据。可使用缓冲器306和/或寄存器307经由控制器314在存储器装置324-1、…、324-8之间传送数据。
图4为示出根据本公开的多个实施例的包含存储器中直接数据传送的实例存储器过程的流程图。图4中所描述的过程可由例如存储器系统执行,所述存储器系统包含例如图2中所展示的DIMM 210之类的NVDIMM。
在框450处,所述过程可包含:从双列直插式存储器模块(DIMM)的控制器接收读取命令;从DIMM的控制器接收写入命令;以及响应于从DIMM的控制器接收读取命令而从DIMM的第一存储器装置读取数据。
在框452处,所述过程可包含响应于从控制器接收写入命令且至少部分地基于从第一存储器装置接收数据而将所述数据写入到DIMM的第二存储器装置。
图5为示出根据本公开的多个实施例的包含存储器中直接数据传送的实例存储器过程的流程图。图5中所描述的过程可由例如存储器系统执行,所述存储器系统包含例如图2中所展示的DIMM 210之类的NVDIMM。
在框560处,所述过程可包含响应于从控制器接收写入命令而将数据写入到第一存储器装置。
在框562处,所述过程可包含响应于从控制器接收读取命令而从第一存储器装置读取数据且将所述数据发送到第二存储器装置,其中第一装置、第二装置和控制器在双列直插式存储器模块(DIMM)上。
在框564处,所述过程可包含响应于从控制器接收写入命令且从第一存储器装置接收数据而将所述数据写入到第二存储器装置。
尽管本文中已说明且描述了特定实施例,但所属领域的一般技术人员将了解,经计算以实现相同结果的布置可代替所展示的特定实施例。本公开旨在涵盖本公开的各种实施例的修改或变化。应理解,以上描述已以说明性方式而非限制性方式进行。在审阅以上描述之后,以上实施例的组合和本文中未具体描述的其它实施例对于所属领域的技术人员将是显而易见的。本公开的各种实施例的范围包含其中使用以上结构和方法的其它应用。因此,本公开的各种实施例的范围应参考所附权利要求书以及此类权利要求书所授权的等效物的全部范围来确定。
本文中所描述的功能可在硬件、由处理器执行的软件、固件或其任何组合中实施。如果在由处理器执行的软件中实施,那么所述功能可作为一或多个指令或代码而存储在计算机可读介质上或经由计算机可读介质传输。其它实例及实施方案在本公开及所附权利要求书的范围内。例如,归因于软件的性质,本文中所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或这些中的任一者的组合来实施。实施功能的特征也可在物理上位于各个位置处,包含经分布以使得功能的各部分在不同物理位置处实施。
并且,如本文所使用,包含在权利要求书中,如在项目列表(例如,由例如“中的至少一个”或“中的一或多个”等短语开头的项目列表)中所使用的“或”指示包含性列表,使得例如A、B或C中的至少一个的列表意味着A或B或C或AB或AC或BC或ABC(即,A和B和C)。为避免疑义,A、B或C中的至少一个或其任何组合的列表同样是包含性列表。另外,如本文所使用,短语“基于”不应理解为提及封闭条件集。例如,在不脱离本公开范围的情况下,描述为“基于条件A”的示范性步骤可基于条件A和条件B两者。换句话说,如本文所使用,短语“基于”应同样地解释为短语“至少部分地基于”。
在前述具体实施方式中,出于精简本公开的目的,在单个实施例中将各种特征组合在一起。本公开的此方法不应解释为反映以下意图:本公开的所公开实施例必须使用比在每个权利要求中明确叙述的特征更多的特征。实际上,如所附权利要求书所反映,本发明主题在于少于单个所公开实施例的所有特征。因此,所附权利要求书特此结合到具体实施方式中,其中每个权利要求独自作为单独实施例。
- 在存储器中以及在存储器模块的装置之间的直接数据传送
- 存储器设备和用于存储器设备之间直接通信的存储器系统