用于具有可变等待时间的存储器操作的设备及方法_4

文档序号:9510135阅读:来源:国知局
成经暂停写入操作。
[0061 ] 在一些实施例中,接收到一或若干特定类型的存储器指令将导致恢复经暂停存储器操作。举例来说,再次假定在接收到读取指令后即刻暂停写入操作。指令的读取操作开始且完成,此时tHOLDOFF周期开始。如先前所描述,在tHOLDOFF周期期间接收到读取指令可致使经暂停写入操作保持被暂停。然而,如果在tHOLDOFF周期期间接收到写入指令,那么此类型的存储器指令可致使经暂停写入操作立即恢复以被完成。新写入指令的写入操作可在先前经暂停的写入操作的完成之后执行,或在一些实施例中,例如由于在接收到新写入指令之后但在完成经恢复的写入操作之前接收到读取指令而被排队以稍后执行。
[0062]虽然先前在经暂停存储器操作的情景中进行描述,但tHOLDOFF周期甚至在不存在任何经暂停存储器操作时也为可用的。也就是说,tHOLDOFF周期可跟在存储器操作之后,举例来说,读取指令的存储器操作,在此时间期间,未起始其它存储器操作。假定无其它存储器操作正在进展中,则在tHOLDOFF周期期间接收的指令的存储器操作可因此具有相对短的tLAT。在一些实施例中,在tHOLDOFF周期期间接收到写入指令可迫使tHOLDOFF周期立即期满且不重新开始。tHOLDOFF周期可与经暂停操作一起使用或在无其它存储器操作正待处理时使用以允许存储器保持准备好执行在tHOLDOFF周期期间接收的指令的存储器操作,从而导致相对短的tLAT周期。
[0063]在本发明的一些实施例中,tLAT的最大时间及tHOLDOFF周期的时间可为可编程的。举例来说,可在存储器中包含寄存器(例如,图1的寄存器160),所述寄存器用于存储指示最大tLAT的值且存储指示tHOLDOFF周期的时间的值。tLAT的最大时间可设定存储器操作的最大tLAT时间且可由存储器用来(例如)确定将暂停进展中的当前存储器操作还是允许在完成当前存储器操作之后才转到所述存储器操作。在一些实施例中,可针对读取及写入操作设定单独的最大tLAT。在一些实施例中,最大tLAT值及/或tHOLDOFF周期可由主机编程且可基于(例如)促进伪代码的高效执行。在一些实施例中,为tLAT编程的值可识别数个预定义最大值中的一者。在一些实施例中,可将指示可在tLAT周期期间执行的最大操作数目的值存储于寄存器中,从而确立最大tLAT周期。
[0064]图6图解说明根据一实施例的读取及写入指令序列以图解说明存储器的实例性操作。
[0065]在时间T0,由存储器接收写入指令604及地址606。假定存储器在时间T0之前为闲置的,则写入指令604的写入操作将具有相对短的tLAT 608。举例来说,如先前所描述,可使用缓冲器来存储指令、地址及写入数据以提供相对短的tLAT周期。因此,可在于时间T0接收到写入指令604之后相对不久的时间T1接收用于写入指令604的写入数据612。在于时间T1接收到写入数据612之后,针对所述写入操作执行内部存储器操作。如图6的实例中所图解说明,在时间T2,由存储器接收读取指令616及地址618。假定将在时间T0的写入指令604的写入操作被完成或暂停之后才执行读取指令616的读取操作,则所述读取操作将具有相对长的tLAT 620。在tLAT 620之后,在时间T3,使得用于读取指令616的读取数据624可供存储器获得。tHOLDOFF周期626在提供读取数据624之后的时间T4开始。时间T4可表示读取指令616的读取操作的完成。在时间T5,由存储器接收读取指令628及地址630。如图6中所图解说明,读取指令628是在tHOLDOFF周期626内接收的。因此,读取指令628的读取操作可立即开始且将具有相对短的tLAT 632。由存储器在tLAT 632之后的时间T6且一直到时间T7提供读取数据636,时间T7表示读取指令628的读取操作的结束。
[0066]相比之下,tLAT 632比tLAT 620短。如先前所描述,tLAT 620可能是由于等待写入指令604的写入操作被完成或暂停之后才执行读取指令616的读取操作而产生的。相比来说,读取指令628的读取操作的tLAT 632为较短的,因为存储器在等待tHOLDOFF周期626之后才转到其它存储器操作。如此,存储器能够在tHOLDOFF周期626内于时间T5接收到读取指令628时就开始执行读取指令628的读取操作。虽然图6中未展示,但如果读取指令是在tHOLDOFF周期内接收的,那么随后接收的读取操作的读取操作也将具有相对短的 tLAT。
[0067]如图6所图解说明,在完成或暂停首先接收的写入指令的写入操作之后才起始在时间T2接收的读取指令616的读取操作。因此,读取指令616的tLAT将为相对长的以允许写入操作完成或被暂停。然而,在时间T5接收的读取指令628的读取操作由于是在tHOLDOFF周期626内接收到所述读取指令而具有相对短的tLAT。如先前所论述,在tHOLDOFF周期626期间接收的指令的存储器操作可因为存储器在tHOLDOFF周期内保持闲置而具有相对短的tLAT,此后其可恢复经暂停存储器操作。因此,在tHOLDOFF周期626期间接收的指令的操作可在不等待另一存储器操作完成或被暂停的情况下执行且因此具有相对短的tLAT。
[0068]图7图解说明根据一实施例的读取及写入指令序列以图解说明存储器的实例性操作。
[0069]在时间T0,由存储器接收写入指令704及地址706。假定存储器在时间T0之前为闲置的,则写入指令704的写入操作将具有相对短的tLAT 708。因此,可在于时间T0接收到写入指令704之后相对不久的时间T1接收用于写入指令704的写入数据712。在于时间T1接收到写入数据712之后,发生内部存储器操作以执行写入操作。所述内部存储器操作可包含将写入数据712写入到写入数据缓冲器,写入数据712可在被写入到存储器之前存储于所述写入数据缓冲器中。如先前所论述,写入数据缓冲器的使用可允许相对快速地完成写入操作,因为将写入数据写入到所述写入数据缓冲器可比将写入数据写入到存储器花费更少的时间。然而,在稍后时间,在写入数据缓冲器中积累的写入数据将被写入到存储器,这可花费相对长的时间且可导致随后接收的指令的存储器操作具有相对长的tLAT。然而,在图7的实例中,将tLAT 708图解说明为相对短的。
[0070]如在图7的实例中所图解说明,在时间T2,由存储器接收读取指令716及地址718。图7中图解说明读取指令716的读取操作具有相对短的tLAT 720。假定到时间T2可完成写入指令704的写入操作,则tLAT 720可为相对短的。在tLAT 720之后,从时间T3到T4,使得读取指令716的读取数据724可供存储器获得。tHOLDOFF周期726在完成读取操作之后的时间T4开始。如先前所论述,在tHOLDOFF周期期间,存储器不起始或恢复任何存储器操作。
[0071]在时间T5,由存储器接收写入指令728及地址730。在读取指令716的读取操作到时间T4完成且tHOLDOFF周期726仍在流逝的情况下,写入指令728的写入操作可通过迫使tHOLDOFF周期期满且在相对短的tLAT 732内立即开始。此后,可由存储器在时间T6接收写入数据736。在时间T7,完成对写入数据736的接收。在图7的实例中,虽然tLAT 732为相对短的,但写入指令728的写入操作可开始内部存储器操作以将在写入数据缓冲器中积累的写入数据写入到存储器阵列。举例来说,在一些实施例中,在tHOLDOFF周期期间接收的写入指令可致使写入操作开始,或在先前存储器操作已被暂停的情况下致使经暂停操作恢复。因此,随后接收的存储器指令的写入操作可具有比相对短tLAT 732长的tLAT。举例来说,在时间T8,由存储器接收写入指令740及地址742。虽然接收用于写入指令728的写入数据是到在时间T8接收到写入指令740时完成的,但图7中将写入指令740的写入操作图解说明为具有比相对短tLAT 732长的tLAT744。较长的tLAT 744可能是由于针对先前写入指令(例如,写入指令704及728)执行内部存储器操作而产生的。也就是说,如先前所论述,写入指令704及728的写入操作可具有相对短的tLAT 708及732,但写入指令728的写入操作可包含将经缓冲写入数据写入到存储器阵列。写入指令728的写入操作可能到时间T8在存储器接收到写入指令740时才完成,从而引起较长的tLAT 744。在所述较长tLAT 744之后,由存储器在时间T9与T10之间接收用于写入指令740的写入数据。
[0072]如图7所图解说明,首先接收的写入指令704的写入操作具有短tLAT 708。所述写入操作也是在相对短的时间内完成的,举例来说,通过在接收于时间T2接收的读取指令716之前使用写入数据缓冲器。因此,读取指令716的tLAT 720将为相对短的。在时间T5接收的写入指令728的写入操作也具有相对短的tLAT 732。相对短的tLAT可能是由于以下事实所致:不存在需要恢复及完成的经暂停操作,举例来说,相对短的tLAT732可能至少部分地由于使用写入数据缓冲器来存储写入数据而非存储到存储器阵列(这通常花费比写入到写入数据缓冲器更多的时间)所致。举例来说,短tLAT 732可能是由于在tHOLDOFF周期726内在于时间T4完成读取指令716的读取操作之后接收到写入指令728所致。相比来说,在时间T8接收的写入指令740的写入操作具有比tLAT 732长的tLAT 744。如先前所论述,较长tLAT 744可能是由于(例如)在于时间T9与T10之间接收写入数据748之前执行将存储于写入数据缓冲器中的写入数据写入到存储器阵列的操作所致。
[0073]图8是根据本发明的实施例的设备(例如,例如存储器模块的存储器装置,或例如固态驱动器的存储器系统)800的一部分的示意性图解。设备800包含存储器单元阵列802,举例来说,所述存储器单元可为电阻可变存储器单元,包含相变存储器单元、电阻可变随机存取存储器单元或其它类型的存储器单元。设备800还包含根据本发明的实施例的存储器操作控制器806,存储器操作控制器806可通过指令总线808接收存储器指令并在设备800内产生对应控制信号以致使执行各种存储器操作。举例来说,存储器操作控制器806可产生用于根据本发明的实施例执行读取操作及写入操作的控制信号。存储器操作控制器806包含可用于存储与设备800的配置及操作相关的值的寄存器812。在一些实施例中,寄存器812可存储指示最大tLAT的值,且存储指示tHOLDOFF周期的时间的值以及其它值。寄存器812并不限于包含在存储器操作控制器806中且可与存储器操作控制器分开及/或包含于设备800的另一元件中。
[0074]可通过地址总线820将行及列地址信号提供到设备800的地址锁存器810。在一些实施例中,地址总线820可与指令总线808组合,且在一些实施例中,地址总线820可与数据总线组合。地址锁存器810可接着输出单独列地址及单独行地址。可由地
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1