与同步DDR协议可兼容的异步通信协议的制作方法

文档序号:11234029阅读:1618来源:国知局
与同步DDR协议可兼容的异步通信协议的制造方法与工艺
本申请要求于2016年3月3日提交的第62/303,349号美国临时专利申请以及2016年6月8日提交的第62/347,569号美国临时专利申请的优先权和权益,所述申请的公开通过引用其全部内容合并于此。本公开总体上涉及存储器系统,更具体地,涉及一种与标准同步双数据速率(ddr)协议可兼容的异步通信协议。
背景技术
:动态随机存取存储器(dram)模块(诸如双数据速率(ddr)同步动态随机存取存储器(sdram))使用同步通信协议(即,ddr协议)。存储器控制器负责同步时序、控制和从/到dram的数据移动。在这方面,dram是一种从设备并且dram仅向存储器控制器提供有限的反馈。未来的存储器接口可以是事务性的接口(transactionalinterface)。事务性的接口能够支持并置于存储器通道上的非易失性存储器和易失性存储器两者作为主存储器。然而,事务性的接口涉及可变时序,并且从存储器通道装置期望更多反馈。因此,需要一种支持存储器模块的基于事务的异步通信协议,其中,所述存储器模块包括可向存储器控制器提供装置反馈的非易失性存储器或非易失性存储器和易失性存储器两者。技术实现要素:根据一个实施例,一种存储器包括:非易失性存储器;以及与存储器控制器进行接合的异步存储器接口。所述异步存储器接口可使用双数据速率(ddr)存储器通道的被改变用途的引脚来将异步数据发送到所述存储器控制器。根据另一实施例,一种系统包括:存储器控制器;包括非易失性存储器的存储器模块;以及所述存储器控制器和所述存储器模块之间的异步存储器接口。所述异步存储器接口可使用ddr存储器通道的被改变用途的引脚来将所述存储器模块的装置反馈发送到所述存储器控制器。根据另一实施例,一种方法包括:在存储器控制器和存储器模块之间提供异步存储器接口,其中,所述存储器模块包括非易失性存储器;使用双数据速率(ddr)存储器通道的被改变用途的引脚来将所述存储器模块的装置反馈发送到所述存储器控制器。包括事件的实施和组合的各种新颖细节的上述和其他优选特征现在将参照附图被更具体地描述并且在权利要求中被指出。应该清楚的是,此处描述的具体系统和方法仅通过图解的方式被示出而不是作为限制被示出。如本领域的技术人员将理解的,此处描述的原理和特征可在不脱离本公开的范围的情况下在各种大量的实施例中被采用。附图说明作为本说明书的一部分而被包括的附图示出当前优选实施例,并且连同上文给出的总体描述和下文给出的优选实施例的详细描述而用于解释和教导此处描述的原理。图1示出根据一个实施例的示例异步通信协议;图2a示出使用标准ddr协议的读取周期的时序图;图2b示出根据一个实施例的使用扩展ras-cas协议的示例读取周期的时序图;图3a示出根据一个实施例的示例读取周期的时序图;图3b示出根据一个实施例的示例写入周期的时序图;图3c示出根据另一实施例的示例读取状态周期的时序图;图3d示出根据一个实施例的示例send(发送)周期的时序图;图3e示出根据一个实施例的显示各种命令的定义的表;图4示出根据一个实施例的按通道的存储器控制器的引脚;图5是示出根据一个实施例的专用反馈引脚的四个示例的表;图6示出根据一个实施例的示例时分反馈方案;图7是根据一个实施例的用于使用混合反馈引脚来提供装置反馈的示例处理的流程图;图8示出根据一个实施例的针对携带read_ready信号的alert_n引脚的信号图的示例;图9示出根据一个实施例的被改变用途的消息引脚分配和消息定义的示例;图10示出根据一个实施例的针对并置在相同的存储器通道中的一个dram和一个nvdimm的信号图的示例;图11示出根据一个实施例的针对并置有两个nvdimm模块的存储器模块的被改变用途的消息引脚分配和消息定义的示例。附图不必按比例绘制,在附图中,为了示出的目的,相似结构的元件或功能通常由相似参考标号表示。附图图仅旨在帮助对此处描述的各种实施例的描述。附图并没有描述此处公开的教导的每个方面并且不限制权利要求的范围。具体实施方式此处公开的每个特征和教导可被分开利用或与其他功能和教导结合使用,以提供与标准同步协议可兼容的异步通信协议。将参照附图更详细地描述分开及组合地利用许多这些附加特征和教导的代表性示例。该详细描述仅旨在更加详细地教导本领域的技术人员实践本教导的多个方面,而不意图限制权利要求的范围。因此,具体实施方式中的上文公开的特征的结合可不必按照最广泛的意义实施所述教导,而是仅教导用于具体描述本教导的代表性示例。在下面的描述中,仅为了解释的目的,阐述具体命名以提供对本公开的透彻理解。然而,本领域的技术人员将清楚的是,不需要这些具体细节来实施本公开的教导。根据对计算机存储器中的数据比特的操作的算法和符号表示来呈现此处的详细描述中的一些部分。这些算法描述和表示可被数据处理领域的技术人员用来有效地向本领域的其他技术人员传达他们工作的实质。这里的算法总体上被认为是导致所需结果的步骤的自洽序列。所述步骤是需要对物理量的物理操作的步骤。通常,虽然不必要,这些量采取能够被存储、传输、组合、比较和其他操作的电信号或磁信号的形式。主要是为了通用的原因,将这些信号称为比特、值、元素、符号、字符、术语、数字等被多次证明是方便的。然而,应该记住的是,所有这些术语和相似术语都将与合适的物理量相关联,并且仅是应用于这些物理量的方便标签。除非在以下讨论中被具体指明,否则清楚的是,在整个描述中,使用诸如“处理”、“运算”、“计算”、“确定”、“显示”等术语的讨论是指计算机系统或类似电子计算装置的动作和处理,其中,所述动作和处理对表示为计算机系统的寄存器和存储器中的物理(电子)量的数据进行操作并将其转换成被类似地表示为在计算机系统存储器或寄存器或其它这样的信息存储、传输或显示装置中的物理量的其他数据。此处呈现的算法本质上不与任何具体计算机或其他设备相关。各种通用系统、计算机服务器或个人计算机可根据此处的教导使用程序,或者,构造更专用的设备来执行所需的方法步骤可被证实是方便的。所需的用于各种这些系统的结构将在下面的描述中出现。将理解的是各种编程语言可被用于实现此处描述的公开的教导。此外,代表性示例和从属权利要求的各种特征可以以不被具体明确列举的方式被组合以提供本教导的另外的有用实施例。同样被明确指出的是,多组实体的所有数值范围或指示为了原始公开的目的和限制所要求保护的主题的目的而公开了每个可能的中间值或中间实体。同样被明确指出的是,附图中示出的组件的尺寸和形状是为了帮助理解本教导如何被实施而被设计的,而并不意图限制示例中示出的尺寸和形状。本公开提供了一种与各种版本的双数据速率(ddr)存储器(例如,ddr1、ddr2、ddr3和ddr4)可兼容的异步通信协议。本异步通信协议能够支持具有可变读取、写入和/或激活延迟的存储器模块。所述异步存储器模块可包括被并置于同一存储器通道上的非易失性存储器和/或易失性存储(例如,dram)。此外,本异步通信协议允许存储器模块向存储器控制器提供装置反馈。术语双列直插式存储器模块(dimm)和存储器模块在此处可被互换使用。dimm可以是包括dram的标准dimm、包括nvm的nvdimm或包括dram和nvm两者的混合dimm。nvdimm型存储器的示例包括但不限于:包括nvm的非易失性存储器(nvd)dimm和包括nvm和dram两者的混合dimm,。nvmdimm作为存储器提供对nvm的直接访问。所述混合dimm能够以直接模式或高速缓存模式进行操作。在直接模式下,所述混合dimm作为与nvmdimm类似的存储器提供直接访问。所述混合dimm中的dram和nvm具有不同的地址范围。主机可用不同地址范围将dram操作和nvm操作分别发送到dram和nvm。例如,在ddr标准中的c[2]引脚可被用于将dram的地址范围和nvm的地址范围分开。当c[2]引脚是低电平(设置为“0”)时,dram被选择;如果c[2]引脚是高电平(设置为“1”),则nvm被选择。在高速缓存模式下,dram用作nvm的高速缓存。dram高速缓存对主机透明,并由混合dimm内部的控制器管理。图1示出根据一个实施例的示例异步通信协议。本异步通信协议针对芯片和模块接口与drr4可兼容。存储器模块120可包括非易失性存储器121、易失性存储器122(例如,dram)或包括两者。非易失性存储器121的示例包括但不限于:闪存、相变ram(pram)、自旋移矩磁随机存取存储器(stt-mram)和电阻型ram(reram)。存储器控制器110可提供异步通信协议150以与非易失性存储器121进行接合(interface),并提供同步通信协议151以与易失性存储器122进行接合。异步通信协议150和同步通信协议151可共享相同的物理ddr通道或具有专用物理ddr通道。根据一个实施例,本异步通信协议使用行地址选择(或选通)(ras)-列地址选择(或选通)(cas)对传统同步ddr协议进行扩展。传统同步ddr协议也被称为ras-cas协议或标准ddr协议。扩展ras-cas协议对针对标准ddr协议指定的dram和模块引脚进行扩展或改变用途,并在存储器控制器110和存储器模块120的非易失性存储器121之间提供异步接口150。因为本异步通信协议使用扩展或被改变用途的dram和模块引脚,所以非易失性存储器121和易失性存储器122可被并置于同一存储器模块120上并且通过相同的存储器通道(例如,ddr存储器通道)与存储器控制器110进行通信。此外,本异步通信协议允许存储器模块120使用本异步通信协议通过ddr存储器通道向存储器控制器110提供装置反馈。图2a示出使用标准ddr协议的读取周期的时序图。为了从被包括在存储器模块中的存储器装置的存储器单元读取数据,所述存储器单元必须通过其行坐标与列坐标被选择,所述单元上的电荷必须被感测、放大并被发送到支持电路,并且数据必须被发送到存储器装置的数据输出引脚。行地址选择(或选通)(ras)被用于锁存行地址并启动存储周期。列地址选择(或选通)(cas)被用于锁存列地址并启动读取周期或写入周期。就读取周期的时序而言,读取周期可按照以下顺序发生。首先,存储器控制器产生激活(act)命令来启动用于从存储器模块读取数据的读取周期。act命令将行地址传送到存储器模块上的地址输入引脚,并且ras被锁存。然后列地址被应用于存储器模块上的地址输入引脚。在cas转变之前,读取信号rd可被锁存以启动读取操作。然后cas被锁存。在预定时间之后,所请求的数据出现在存储器模块的数据输出引脚。读取信号rd被设置之后数据出现的时间可依据包括ras和cas的各种信号的时序以及信号之间的预定延迟而被设置。在读取周期完成前,cas和ras可返回它们的非活动状态。图2b示出根据一个实施例的使用扩展ras-cas协议的示例读取周期的时序图。术语扩展ras-cas协议和异步通信协议在此处可互换使用。扩展ras-cas协议允许存储器模块的非易失性存储器(nvm)通过对存储器模块的一个或更多个专用数据引脚或共享数据引脚改变用途来与存储器控制器进行通信。存储器模块也可使用被改变用途的引脚向存储器控制器提供反馈。虽然参照图2b的时序图所描述的示例是针对非易失性存储器(例如,pcm)或易失性存储器(例如,dram)的读取周期,但要理解的是,在不偏离本公开的范围的情况下,扩展ras-cas协议可被应用于写入周期或读取修改写入周期。与图2a示出的标准同步ddr协议(其中,出现在存储器模块的数据输出引脚上的读取数据的时序是时间上可预测的和确定的)不同,扩展ras-cas协议允许存储器控制器和存储器模块之间的数据的异步交换。例如,响应于ddr4存储器通道上发布了激活(act)命令,存储器模块可向存储器控制器提供装置反馈(例如,自身的状态)。存储器模块可包括非易失性存储器或除了包括易失性存储器外还可包括非易失性存储器。在这种情况下,装置反馈可指示数据按照类似于dram打开页面的方式位于非易失性存储器的数据缓冲器中。基于存储器模块的状态,存储器控制器可确定何时将读取信号rd发布到存储器通道上。在读取信号rd被锁存之后,所请求的数据在预定时间延迟之后出现在存储器模块的数据输出引脚上。激活(act)命令与反馈信号之间的时序以及反馈信号和读取信号rd可变化,因此本扩展ras-cas协议虽然可被实现为与同步ddr存储器通道可兼容,但是本扩展ras-cas协议是异步的。根据一个实施例,反馈状态可指示nvm数据被置于数据缓冲器中。数据缓冲器可按照类似于dram打开页面的方式存储所请求的读取数据。在页面被打开后,对相同页面的所有连续读取(或写入)访问可具有固定的dram延迟。根据一个实施例,扩展ras-cas协议可对专用引脚或共享引脚进行扩展和/或改变用途,并且可在相同通道中的不同的双列直插式存储器模块(dimm)之间建立多个链接。扩展ras-cas协议可需要同步逻辑来从存储器模块向存储器控制器提供共享的装置反馈。此外,扩展ras-cas协议可通过传送装置反馈来向模块内ras特征提供支持。根据另一实施例,反馈状态可包括两种类型的信号:反馈消息(msgdq)和读取准备信号(read_ready)。msgdq是同步信号并且总与dq总线上的数据对齐。然而,read_ready信号是不必与数据对齐的异步信号。图3a示出根据一个实施例的示例读取周期的时序图。非易失性存储器或易失性存储器可不必具有与dram类似的页面的概念/实现。而是,在这个异步通信协议中,在act命令被发出之后,针对每个读取信号rd需要明确的反馈(例如,read_ready)。read_ready信号可在反馈通道中通过特定引脚(或多个引脚)被传送,其中,所述read_ready信号指示数据包已准备好被主机读取。在存储器控制器从存储器模块接收到read_ready信号之后,存储器控制器可发出另一命令(例如,send)来以确定性时序启动数据读取事务以检索数据。在事务命令(例如,send)后的预定延迟(例如,trl)之后,读取的数据被呈现在数据总线上。除了所述数据,诸如读取id(rid)的信息可通过反馈通道中的其他引脚(例如,msg_dq引脚)被传送。图3b示出根据一个实施例的示例写入周期的时序图。在主机发出写入请求(wr)命令之后,相应的数据在预定义的固定延迟之后被呈现在数据总线上。主机一直对写入信用(writecredit,wc)进行计数来确定有多少写入操作可被发送到存储器模块。图3c示出根据一个实施例的示例读取状态周期的时序图。在主机发出读取状态(rs)命令之后,相应的状态包在预定义的固定延迟之后被呈现在数据总线上。主机使用读取状态(rs)命令来更新写入信用(wc)(所述wc是在存储器模块的写入缓冲器中可用的入口数)。主机可不发出任何写入操作直到在存储器模块有可用的写入缓冲器入口(即,wc>0)为止。写入信用也可使用读取数据包中的msgdq而被更新。读取数据包中的msgdq中的一个或更多个比特可被用于指示在存储器模块中存在可用的1个或特定数量的wc。状态信息消息也可包括一个或更多个写入id(wid),从而存储器模块可针对写入状态返回信息。例如,数据写入id可被用作针对之前的写入命令的写入确认。当接收到的写入id与由主机发送的写入id相匹配时,写入被确认。纠错码(ecc)保护(诸如循环冗余校验(crc)或奇偶校验)可被用于msg_dq处的包完整性保护。状态信息消息也可包括其他信息,包括准备包计数、nvm的内部状态、之前的命令或操作的状态、以及任何ras信息和中断服务信息。存储器控制器和存储器模块之间传送反馈状态的周期数可由具体的存储器模块来确定,并且/或者可在存储器模块的初始化时由存储器控制器选择性地配置。在存储器控制器和存储器模块之间传送的反馈状态信息的具体配置可根据传送反馈状态的周期的数量或反馈状态的时钟速度而改变。例如,如果三(3)个连接器引脚被改变用途作为消息数据总线(msgdq),则反馈状态可通过四(4)个单数据速率(sdr)周期被传送。在这种情况下,反馈状态可包括12比特的数据。此外,另一引脚可被改变用途作为读取准备引脚(read_ready)。作为八(8)个连接器引脚被改变用途的另一示例,反馈状态可包括16比特的信息并使用两(2)个sdr周期来传送反馈状态。在作为三(3)个连接器引脚被改变用途的另一示例中,2个引脚被用于状态,另一引脚用作状态的数据选通。在这个示例中的反馈状态可包括16比特的信息并使用八(8)个双数据速率(ddr)周期来传送反馈状态。应该理解的是,用于传达反馈状态信息的周期数和/或比特数不局限于此处公开的示例。存储器控制器可在周期1中通过读取反馈状态消息的第一比特msg[0]来区分普通数据包和状态包。也就是说,如果msg[0]比特是“0”,则存储器控制可将包解码为普通数据包。如果msg[0]比特是“1”,则存储器控制器可将包解码为状态包。在一个实施例中,用扩展命令传送读取命令或写入命令。扩展命令携带其他信息(诸如扩展地址、事务id(transactionid)和与读取命令或写入命令相关的事务优先级)。扩展命令可在相应的读取命令或写入命令之前或之后的一(1)个时钟周期被传送。当扩展命令被使用时,每个读取命令或写入命令在命令总线上可占用2个周期。根据一个实施例,本异步通信协议能够支持发送(send)命令。send命令可被用于使用确定性时序发起从存储器模块到主机的数据突发事务。send命令可如表1被定义。send命令能够携带多至10比特的被用于指定突发中需要多少包的突发命令。表一:send消息表2阐述根据一个实施例的事务状态包的示例定义。表2:事务包–“事务状态”图3d示出根据一个实施例的示例send周期的时序图。在本示例,read_ready链路上针对每个读取请求的每个准备(ready)可指示数据包准备好被读取。主机发出send命令来启动突发读取事务以读取具有固定读取延迟(例如,trl)的序列中的多个数据。所请求的突发的数量同样由send命令中的突发计数传送。突发读取事务可包括数据包或状态包。存储器控制器在周期1中使用反馈状态消息的第一比特msg[0]来识别包的类型。图3e示出根据一个实施例的显示各种命令的定义的表。本异步通信协议能够支持nvm读取命令、nvm写入命令、nvm扩展命令、nvm发送命令、读取状态命令和rfu命令。参照图3a到图3d解释针对这些命令的具体时序图。读取id(rid)被用来识别来自存储器模块的读取请求和读取数据之间的关系。rid可按照各种方法被产生。在一个实施例中,主机可明确地产生rid。在这种情况下,rid被明确地从主机传送到存储器模块。在另一实施例中,主机和存储器模块两者都能够依据读取命令的类型来明确地产生rid。在另一实施例中,主机和存储器模块都不明确地产生rid,而是,主机和存储器模块协定并遵从rid流程。在初始化期间的同步之后,主机和存储器模块针对相同的包分别产生相同的rid。图4示出根据一个实施例的按通道的存储器控制器的引脚。存储器控制器的引脚/链路能够被划分为:专用于特定的dimm的第一组401和由多个dimm共享的第二组402。存储器通道的引脚/链路的定义在本领域被熟知,例如,在联合电子装置工程委员会(jedec)标准中被描述。根据一个实施例,本异步通信协议可使用各种反馈引脚/链路以允许存储器模块向存储器控制器提供装置反馈。根据一个实施例,专用反馈引脚针对本异步通信协议被改变用途。这样的专用反馈引脚的示例包括但不限于:odt[1]、cke[1]、cs[1:3]、ck_n[1]、ck_p[1]和3个rfu。这些专用引脚允许存储器通道中的dimm之间的简单同步。在一些实施例中,专用反馈引脚可包括alert_n引脚。alert_n引脚可被多个dimm共享。在另一情况下,主机和存储器板可被重新设计以具有单独且专门的alert_n引脚,以允许针对每个存储器通道有两个nvdimm。图5是示出根据一个实施例的专用反馈引脚的四个示例的表。示例1使用总共4个被改变用途的引脚,示例2和示例3分别使用共8个被改变用途的引脚,示例4使用10个被改变用途的引脚,示例5使用5个被改变用途的引脚。所有这些示例可实现相当于sdr存储器模块的速度。在odt[1]、cke[1]、cs[1]和alert_n引脚被改变用途的示例1中,cs[1]、odt[1]和cke[1]被用于消息引脚dq(msgdq)。读取准备(read_ready)状态可使用alert_n引脚被发送。根据另一实施例,共享反馈引脚被用于本扩展ras-cas协议。这样的共享反馈引脚的示例包括但不限于:dqs9_t~dqs17_t、dqs9_c~dqs17_c和alert_n。在这种情况下,共享引脚可在与电信领域中公知的时分多址tdma方案类似的时分方案被利用。该时分方案可将不同的时隙分配到不同的存储器装置,每个存储器装置在其分配的时隙进行传输。图6示出根据一个实施例的示例时分反馈方案。一个或更多个共享反馈引脚可在多个时隙中携带装置反馈,并且每个时隙专用于不同的存储器模块。例如,装置反馈包括针对dimm0和dimm1的交替时隙。值得注意的是,时分方案可用于通过不同的存储器通道针对不同的存储器时隙发送反馈。根据另一实施例,混合反馈引脚被用于本扩展ras-cas协议。混合反馈引脚可包括专用反馈引脚和共享反馈引脚两者。例如,32个混合反馈引脚包括10个专用反馈引脚(例如,odt[1]、cke[1]、cs[1:3]、ck_n[1]、ck_p[1]和3个保留用于将来使用的(rfu))、18个共享反馈引脚(例如,dqs9_t~dqs17_t、dqs9_c~dqs17_c)和alert_n。这些混合反馈引脚可包括多达32个引脚,所述32个引脚相较于仅共享引脚而言使同步更容易。例如,同步可通过专用引脚完成,状态传输能够通过共享引脚或专用引脚完成。图7是根据一个实施例的使用混合反馈引脚来提供装置反馈的示例处理的流程图。专用引脚可用于同步,并且专用引脚和共享引脚两者都能够用于发送装置反馈。dimm向存储器控制器发送请求,该请求要求可用存储器通道之中的共享反馈通道(步骤701)。响应于此,存储器控制器确定共享反馈通道是否被其他dimm拥有(步骤702)。如果共享反馈通道被其他dimm拥有,则存储器控制器要求dimm稍后重试(步骤711)。如果共享反馈通道被发出请求的dimm拥有,则存储器控制器确认该请求(步骤712),dimm开始将反馈信息发送到存储器控制器(步骤713)。步骤701、711和712使用专用引脚,步骤713使用混合引脚。根据一个实施例,每个数据请求和传输可包括事务id(例如,读取id/rid或写入id/wid)来增加存储器并行度。事务id可包括下列项的一部分或全部:列、行、库、模组(rank)和通道地址。存储器控制器可用不同的id发出事务,以支持多个同时事务。在一个实施例,主机可在主机命令中明确地传送事务id。在另一实施例中,可用列、行、库、模组(rank)和通道地址不明确地传送事务id。存储器模块可通过使用这些地址重新产生事务id。在另一实施例中,主机和存储器模块两者都维持事务id列表。事务id列表和id分配/释放机制在系统启动期间被初始化。然后,主机和存储器模块遵循相同的机制来针对主机存储器控制器和存储器模块中的每个存储器事务分配或释放相同的事务id。在这种情况下,事务id不需要在存储器通道上被明确地传送。根据一个实施例,装置反馈上的每个状态传输可包括ras信息来支持模块内ras特征。这样的ras信息的示例包括但不限于:读取/写入失败报告、纠错码(eec)、磨损均衡和垃圾收集信息、模块内刷新信息以及模块内擦除信息。根据一个实施例,本异步通信协议定义alert_n引脚在ddr4中携带双向信号。根据一个实施例,存储器模块可分别在dimm0中和dimm1中包括两个nvdimm。在这种情况下,消息引脚dq可使用专用引脚,并且读取准备(read_ready)状态能够使用两个alert_n引脚而被发送。图8示出根据一个实施例的针对携带read_ready信号的alert_n的信号示图的示例。read_ready反馈信号被用向存储器控制器请求注意。如果存储器模块通过向现有alert_n引脚添加时序限定以在nvdimm模式下运行,则alert_n引脚可被用来携带read_ready反馈信号。在现有的ddr4说明书中,alert_n信号被用来用信号传送两种类型的错误的出现:写入crc错误和命令地址(ca)奇偶校验错误。这两种错误可通过alert_n信号的脉冲宽度进行区分。例如,如果发生写入crc错误,则在ddr42400说明书中存储器模块使alert_n信号在大约6个时钟周期到大约10个时钟周期间变low。如果发生命令地址(ca)奇偶校验错误,在ddr42400说明书中存储器模块使alert_n信号在大约72个时钟周期到大约144个时钟周期间变low。根据一些实施例,脉冲宽度在大约2个周期到大约3个周期之间的短alert_n可被用来呈现read_ready信号,从而允许alert_n信号根据ddr42400说明书针对写入crc错误和ca奇偶校验错误的发生起作用。在一个实施例中,如果携带read_ready反馈信号的alert_n引脚能够具有最低优先级,则从而保证了对写入crc错误或ca奇偶校验错误的发生的检测。图9示出根据一个实施例的被改变用途的消息引脚分配和消息定义的示例。存储器模块可使用alert_n引脚将read_ready反馈信号发送到存储器控制器。在接收到read_ready反馈信号后,存储器控制器通过第二个被改变用途的连接器引脚(或多个引脚)发送send信号以从存储器模块提取数据包或状态包信息。三个被改变用途的引脚odt[1]、cke[1]和cs_n[1]是为了将msg信息与dq中的数据突发一起发送到存储器控制器而被改变用途的。msg信息的示例是数据包中的事务标识(tid)。tid、rid或wid指示可能与地址的一部分相似的事务标识(id)。在另一实施例中,反馈msg指示通过dq总线传送包是状态包。dq总线的相对尺寸允许从存储器模块向存储器控制器传送大量信息比特。根据另一实施例,存储器模块可分别在dimm0和dimm1中包括一个dram和一个nvm。在这种情况下,消息引脚dq可使用与双nvdimmm的情况类似的专用引脚,但是针对read_ready状态反馈使用共享的一个alert_n引脚。图10示出根据一个实施例的针对并置在相同的存储器通道中的一个dram和一个nvdimm的信号示图的示例。当来自nvdimm模块的read_ready信号和来自dram模块的写入crc错误或ca奇偶校验错误彼此重叠时,read_ready信号可能会丢失。因此,当写入crc错误或ca奇偶校验错误被检测到时,主机可发出读取状态(rs)命令来在主机和nvdimm模块之间对状态进行重新同步。图11示出根据一个实施例的针对并置了两个nvdimm模块的存储器模块的被改变用途的消息引脚分配和消息定义的示例。连接器引脚odt[1]、cke[1]和cs_n[1]可如针对dimm0的msg[0]那样专用于传送消息信息,连接器引脚odt[2]、cke[2]和cs_n[5]可如针对dimm1的msg[1]那样专用于传送消息信息。在一个实施例中,所述消息可具有3比特宽以启用双数据速率(ddr)。alert_n/read_ready[0]和alert_n/read_ready[1]可专用于分别与nvdimm1和nvdimm2进行通信。在另一示例中,当一个dram和一个nvdimm被并置在相同的通道中时,可使用一个共享的alert_n/read_ready[0]。表3阐述了根据一个实施例的在dramdimm模式下和在nvdimm模式下针对存储器模块的连接器引脚。如表3所示,如果存储器模块处于dramdimm模式,则alert_n*引脚(引脚208)以公知的方式运行以从存储器控制器的角度提供发送(tx)和接收(rx)功能。信号cs_n[1]、odt[1]和cke[1](分别是引脚89、91和203)也以公知的方式运行以从存储器控制器的角度提供发送功能。如果该存储器处于nvdimm模式,则引脚208被定义为alert_n/read_ready信号,并从存储器控制器的角度提供发送(tx)和接收(rx)功能。引脚89、91和203被定义为msg[2:0],并从存储器控制器的角度提供接收功能。在一个实施例中,alert_n/read_ready信号和msg[2:0]可以以单数据速率运行。在另一实施例中,alert_n/read_ready信号和msg[2:0]可以以ddr运行。表3:dramdimm模式下和nvdimm模式下的连接器引脚。表4阐述了根据一个实施例的在nvdimm模式下针对用于携带read_ready信号的alert_n连接器引脚的时序和消息定义。在nvdimm模式下,alert_n连接器引脚被定义为针对read_ready信号的2个时钟周期。对于脉冲宽度在大约6个时钟周期至10个时钟周期之间,alert_n连接器引脚被定义为写入crc错误的发生,并且对于脉冲宽度在72个时钟周期至144个时钟周期之间,alert_n连接器引脚被定义为命令地址(ca)奇偶校验错误的发生。如果发生错误,则主机不得不读取状态来更新事件。alert_n+read_ready定义2read_ready(针对nvdimm)6~10写入rc错误72~144ca奇偶校验错误表4:在nvdimm模式下被用作read_ready信号的alert_n连接器引脚的时序和消息定义。根据一些其他的实施例,连接器引脚odt[1]和cke[1]能够被用于如msg[0]和msg[1]分别传达信息,使得通过使用cs_n[1]来启用双数据速率(ddr)而言所述消息是两比特宽,但是包括消息选通信号msg_s。根据一个实施例,扩展ras-cas协议能够支持持续写入(pwr)命令。pwr命令允许存储器控制器在存储器控制器有wc时写入数据,并且请求存储器模块发送异步写入确认响应。根据一个实施例,存储器模块包括:非易失性存储器;以及与存储器控制接合的异步存储器接口。异步存储器接口可使用双数据速率(ddr)存储器通道的被改变用途的引脚来将异步数据发送到存储器控制器。异步数据可以是指示非易失性存储器的状态的装置反馈。所述装置反馈可指示所请求的来自存储器控制器的数据位于非易失性存储器的数据缓冲器。所述异步存储器接口可与ddr1,ddr2,ddr3和/或ddr4可兼容。所述被改变用途的引脚可包括专用于特定dimm的专用数据引脚。所述被改变用途的引脚可包括由多个dimm共享的共享数据引脚。专用于特定dimm的专用数据引脚和由多个dimm共享的共享数据引脚都可被用于传送装置反馈。所述装置反馈可包括针对多个dimm的多个时隙。所述装置反馈的所述多个时隙中的每个时隙可包括事务id。所述装置反馈可包括存储器模块的行地址选择(ras)信息。存储器模块还可包括易失性存储器,并且非易失性存储器和易失性存储可被并置在ddr存储器通道中。根据另一实施例,一种系统包括:存储器控制器;包括非易失性存储器的存储器模块;以及存储器控制器和存储器模块之间的异步存储器接口。异步存储器接口可使用ddr存储器通道的被改变用途的引脚来将存储器模块的装置反馈发送到存储器控制器。所述异步存储器接口可与ddr1、ddr2、ddr3和/或ddr4可兼容。所述被改变用途的引脚可包括专用于特定dimm的专用数据引脚。所述被改变用途的引脚可包括由多个dimm共享的共享数据引脚。专用于特定dimm的专用数据引脚和由多个dimm共享的共享数据引脚都可被用于传送装置反馈。所述装置反馈可包括针对多个dimm的多个时隙。所述装置反馈的所述多个时隙中的每个时隙可包括事务id。所述装置反馈可包括存储器模块的行地址选择(ras)信息。所述存储器模块还可包括易失性存储器,并且非易失性存储器和易失性存储器可被并置在ddr存储器通道中。根据另一实施例,一种方法包括:在存储器控制器和存储器模块之间提供异步存储器接口,其中,存储器模块包括非易失性存储器;使用双数据速率(ddr)存储器通道的被改变用途的引脚将存储器模块的装置反馈发送到存储器控制器。所述异步存储器接口可与ddr1、ddr2、ddr3和/或ddr4可兼容。所述方法还可包括:使用专用于特定dimm的专用数据引脚和由多个dimm共享的共享数据引脚来传送装置反馈。所述方法还可包括:将装置反馈在时间上划分为多个时隙;针对多个dimm中的每个dimm对每个时隙进行分配。装置反馈的每个时隙可包括指示相应dimm的事务id。所述存储器模块还可包括易失性存储器,并且非易失性存储器和易失性存储器可被并置在ddr存储器通道中。上述示例实施例已被描述以示出实现用于提供与标准同步协议可兼容的异步通信协议的系统和方法的各种实施例。对本领域的普通技术人员来说,将发生对所公开的示例实施例的各种修改和变化。在权利要求中阐述意图在本发明的范围内的主题。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1