用于高随机事务处理速率的存储器设备及方法
【专利摘要】一种存储器设备,该设备可以包括多个双倍数据速率数据(DDR)端口,每个端口被配置为与至少第一时钟信号同步地在同组数据线路上独立地且同时地接收写数据和输出读数据;地址端口,该地址端口被配置为在第二时钟的连续的、不同的跃迁时接收地址值,每个地址值对应于在数据端口的不同的端口上的访问;以及存储器阵列部分,该存储器阵列部分包括多个存储体,每个存储体提供对其中的储存位置的流水式访问。
【专利说明】用于高随机事务处理速率的存储器设备及方法
[0001]本申请要求于2011年I月13日提交的序列号为61/432,449以及于2011年4月6日提交的序列号为61/472,607的美国临时专利申请的权益,这两者的内容在此以引用方式并入。
【技术领域】
[0002]本公开内容通常涉及存储器设备,并且更具体地涉及允许高随机事务处理速率的存储器设备。
[0003]附图简述
[0004]图1是根据一个实施方式的存储器设备的方框示意图。
[0005]图2A到2D是示出如同图1中的存储器设备的存储器设备的操作的时序图。
[0006]图3是示出根据另一个实施方式的存储器设备的操作的时序图。
[0007]图4A到4F是示出根据各实施方式的存储器设备的流水式存储体操作的一系列的方框示意图。
[0008]图5A到5F是示出根据另外的实施方式的存储器设备的流水式存储体操作的一系列的方框示意图。
[0009]图6是示出可以被包含在实施方式中的流水式存储体读操作的图。
[0010]图7是示出可以被包含在实施方式中的流水式存储体写操作的图。
[0011]图8是示出可以被包含在实施方式中的另一个流水式存储体读操作的图。
[0012]图9是示出可以被包含在实施方式中的另一个流水式存储体写操作的图。
[0013]图10示出了根据一实施方式的对存储器设备进行高速随机事务处理的时序图,以及对应的通过存储体对存储器设备的流水式访问。
[0014]图1lA到IlC示出了可以被包含在实施方式中的分开的数据输入/输出(I/O)端口的不意方框图和时序图。
[0015]图12是根据一另外的实施方式的存储器设备的方框示意图。
[0016]图13A到13C是示出如同图12中所示出的存储器设备的存储器设备的不同操作的时序图。
[0017]图14是根据一实施方式的具有地址反演的地址锁存器的方框示意图。
[0018]图15是根据一实施方式的具有数据反演的写数据锁存器的方框示意图。
[0019]图16A和16B是示出可以被包含在实施方式中的地址反演的图。
[0020]图17是根据另一个实施方式的存储器设备的方框示意图。
[0021]图18A到18C是示出如同图12中所示出的存储器设备的存储器设备的操作的时序图。
[0022]图19是根据一实施方式的方法的流程图。
[0023]图20是根据另一个实施方式的方法的流程图
[0024]图21是根据一另外的实施方式的方法的流程图。
[0025]详细描述[0026]现在将描述包括允许高随机数据事务处理速率的存储设备、系统和方法的不同的实施方式。各实施方式可以包括多个输入/输出(I/o)数据端口,其允许以双倍数据速率(即,在数据时钟的上升和下降边沿两者)的读或者写事务处理。
[0027]现在参考图1,根据一个实施方式的存储器设备以方框示意图示出并且由常用引用字符100来指示。存储器设备100可以包括多个数据I/O端口 102-0/1、地址端口 104、存储器阵列部分106和控制部分108。
[0028]数据I/O端口(102-0/1)可以提供到存储器阵列部分106内的储存位置的双向数据访问路径。换言之,数据端口(102-0/1)中的每个端口可以在同一组导电连接上输出读数据和输入写数据。这些导电连接可以包括,但是不局限于,集成电路导电迹线和/或垫,以及集成电路设备接合线、引线、引脚、焊盘(land)/球栅阵列,以及电路板迹线。
[0029]在一些实施方式中,数据I/O端口( 102-0/1)可以是独立的。换言之,每个数据I/O端口(102-0/1)可以为不同的事务处理(例如,读或者写操作)提供访问。响应于一个事务处理,数据可以通过一个数据端口(例如,102-0或者I)来输入或者输出。然而,响应于完全不同的事务处理,数据还可以通过另一个数据端口(例如,102-1或者O)来输入或者输出。不同的事务处理可以包括不同类型的事务处理(例如,读与写),以及指向存储器阵列部分内不相关的存储位置的事务处理(即,随机事务处理)。这样的独立性可以允许对存储器阵列部分106内的储存位置的高随机的访问。
[0030]另外地或者作为选择地,数据I/O端口(102-0/1)可以允许并发操作。换言之,当数据通过一个数据端口(例如,102-0或者I)被输入或者输出的时候,数据还可以通过另一个数据端口(例如,102-1或者O)被输入或者输出。在特定的实施方式中,数据可以响应于一个事务处理通过一个数据端口被输入/输出,同时响应于不同的事务处理数据通过另一个数据端口被输入/输出。这样独立的、并发数据I/O端口操作可以允许对存储阵列部分106内的储存位置的高随机的且迅速的访问。
[0031]在一些实施方式中,数据I/O端口(102-0/1)可以是“双倍数据速率”(DDR)端口,输出和/或输入数据值与数据时钟的上升边沿和下降边沿两者同步。
[0032]在示出的实施方式中,每个数据I/O端口( 102-0/1)可以提供用于写数据值(DA/DB)的输入端、用于读数据值(QA/QB)的输出端以及用于一个或者多个读数据时钟(QKA/QKB)的输出端。写数据值(DA/DB)可以是在数据I/O端口(102-0/1)上并行接收的多比特值。在特定的实施方式中,单独的写数据值可以与对应的写数据时钟(DKA/DKB)的上升边沿和下降边沿两者同步地被接收。类似地,读数据值(QA/QB)可以是在数据I/O端口(102-0/1)上并行输出的多比特值。在特定的实施方式中,单独的读数据值可以与对应的读数据时钟(QKA/QKB)的上升边沿和下降边沿两者同步地被输出。
[0033]虽然图1示出了两个数据I/O端口(102-0/1),供替换的实施方式可以包括多于两个数据I/o端口,其中的每个端口是独立的,允许并发访问以及以双倍数据速率操作。
[0034]地址端口 104可以接收对应于存储器设备100的事务处理的地址。地址端口 104可以在同组的导电连接上接收单独的地址值。这些导电连接可以包括,但是不局限于那些以上提到的用于数据I/o端口的导电连接。
[0035]在一些实施方式中,地址端口 104可以是在地址时钟的上升边沿和下降边沿两者时接收地址值的DDR端口。在特定的实施方式中,地址端口 104在地址时钟的上升边沿和下降边沿两者时接收全部的地址。换言之,在这样的实施方式中,被应用到存储器设备的地址不是多路复用地址值。
[0036]存储器阵列部分106可以包括提供数据储存位置的一个或者多个阵列的存储单元。这些储存位置可以通过数据I/o端口 102-0/1由事务处理访问。在示出的实施方式中,存储器阵列部分106可以包括若干存储体(bank) 110-0到-η。每个存储体(I 10-0到-η)可以由不同的事务处理独立地访问。另外地,对存储体(110-0到-η)的访问可以是流水式的(在连续的部分和/或步骤中被执行)。相应地,在一些实施方式中,当一个存储体响应于第一事务处理被访问时,第二访问可以在另一个存储体中开始,并且访问可以同时地通过两个存储体继续。类似地,当一个存储体响应于第一事务处理被访问时,第二访问可以在相同的存储体中开始,第二访问在存储体的流水式操作中跟随第一访问。
[0037]在一些实施方式中,可以基于在地址端口 104上接收的一部分地址值,选定用于事务处理的存储体。虽然图1示出了“η+1”个存储体,其中η是大于二的整数,其它的实施方式可以包括仅有两个存储体。
[0038]在一个特定的实施方式中,存储器阵列部分可以包括静态随机存取存储器(SRAM)类型单元的阵列。每个SRAM单元可以包括可以在两个或者多个状态之间切换的锁存器。
[0039]控制部分108可以接收时序和控制值以用于控制在存储器设备100中的操作。在示出的特定的实施方式中,控制部分108可以包括时钟发生器电路112和控制逻辑114。时钟发生器电路112可以接收一个或者多个输入时钟(例如,CKIN),并且作为相应地,产生不同的时钟以控制存储器设备100内的操作。在示出的实施方式中,时钟发生器电路112可以产生地址/控制(add/ctrl)时钟(CK/CK#)以用于锁存地址和控制值,并且产生读数据时钟(QKA/QKB)以用于以读数据(QA/QB)在数据I/O端口( 102-0/1)上输出。理解到时钟CK#是CK的补充。在特定的实施方式中,add/ctrl时钟(CK/CK#)以及读数据时钟(QKA/QKB)可以与输入时钟CKIN同步。
[0040]控制逻辑114可以接收事务处理数据(CMD)并且根据这些事务处理数据产生控制信号(CTRL)。在一个实施方式中,控制逻辑114可以根据add/ctrl时钟(CK/CK#)来锁存事务处理数据。在特定的实施方式中,控制逻辑114可以锁存在地址端口 104上接收的每个地址值的事务处理数据,并且由此识别对应于地址值的事务处理的类型(例如,读、写)。控制逻辑114可以包括用于每个数据I/O端口(102-0/1)的不同的事务处理数据输入端。
[0041]仍然参考图1,在示出的实施方式中,存储器设备100可以包括数据驱动器电路116-0/1、写数据锁存器118-0/1以及地址锁存器120-0/1。每个数据驱动器电路116-0/1可以驱动读数据值(QA/QB)和在对应的数据I/O端口( 102-0/1)上的对应的读数据时钟(QKA/QKB)ο每个写数据锁存器118-0/1可以响应于对应的数据写时钟(DKA/DKB)将在对应的数据I/O端口(102-0/1)上的写数据值(DA/DB)锁存。
[0042]地址锁存器120-0/1可以以双倍数据速率锁存在地址端口 104上接收的地址值。在示出的实施方式中,一个地址锁存器120-0可以在CK的上升边沿上锁存地址值,而另一个地址锁存器120-1可以在CK# (其可以是CK的补充)的上升边沿时锁存地址值。在示出的实施方式中,锁存在地址锁存器120-0中的地址值可以对应于通过数据I/O端口 102-0的事务处理,而锁存在地址锁存器120-1中的地址值可以对应于通过数据I/O端口 102-1的事务处理。[0043]这样,针对指向不同的DDR数据I/O端口的事务处理的地址可以以双倍数据速率被锁存,以允许对存储器设备中的储存位置的高度随机的访问。
[0044]图2A到2D是示出根据各实施方式的如同图1的存储器设备的操作的时序图。图2A到2D包括若干波形:CK示出了 add/ctrl时钟;CMD示出了事务处理输入数据(例如,控制输入);ADD示出了地址值;QKA示出了一个数据I/O端口(端口 A)的读数据时钟;DKA示出了端口 A的写数据时钟;DQA示出了端口 A上的数据值;QKB示出了另一个数据I/O端口(端口 B)的读数据时钟;DKB示出了端口 B的写数据时钟;以及DQB示出了端口 B上的数据值。图2A到2D中的每个图示出了指向不同端口的两个事务处理的不同组合。
[0045]现在参考图2A,现在将描述读-读事务处理(即,第二读跟随第一读)。
[0046]在大约时间t0处,CK可以跃迁为高电平(transition high),并且命令数据可以指示通过端口 A的读操作。在基本相同的时间处,在地址端口上的第一地址值(ADDO)可以被锁存。在示出的实施方式中,这样的第一地址值(ADDO)可以被指向许多存储体中的一个存储体(BankN)。响应于这样的命令和地址数据,存储器设备可以在由地址ADDO指示的位置开始访问BankN以从其读取数据。
[0047]在大约时间tl处,CK可以在相同的时钟周期中跃迁为低电平。在该时间处,命令数据可以指示通过端口 B的读操作。在基本相同的时间处,在相同的地址端口上的第二地址值(ADD1)可以被锁存。在示出的实施方式中,这样的第二地址值(ADD1)可以被指向任意的、但除了在时间t0处被访问的存储体(Bank!N)。响应于这样的命令和地址数据,存储器设备可以根据地址ADDl开始访问Bank !N以从其读取数据。
[0048]理解到在时间t0和tl处接收的地址值是完整的;每个地址值为独立的事务处理识别不同的存储器位置。换言之,地址值ADDO和ADDl不表示单个地址的多路复用部分。
[0049]在大约时间t4处,对应于在时间t0处指示的事务处理的读数据值(QO)可以在端口 A上被输出。读数据值(QO)可以与读数据时钟QKA同步地被输出。特别地,读数据值(QO)可以跟随读数据时钟QKA的上升跃迁,并具有在收到对应的时间t0处的事务处理数据后的设置的读时延。在一个实施方式中,读数据可以以两个或者多个数据值的脉冲串被输出,在这种情况下,读数据可以在读数据时钟QKA的每半个周期(即,以双倍数据速率)上继续在端口 A上被输出。
[0050]在大约时间t5处,对应于在时间tl处指示的事务处理的读数据值(Ql)可以在端口 B上被输出。如同端口 A的读数据值(Q0),读数据值(Ql)可以在读时延之后,与读数据时钟QKB同步地被输出,并且可以以两个或者多个读数据值的脉冲串被输出。
[0051]现在参考图2B,现在将描述读-写事务处理序列。图2B中所示出的读事务处理可以以和图2A的第一读事务处理相同的方式发生,因此省略该操作的描述。
[0052]图2B不同于图2A之处在于,在大约时间tl处,CK可以跃迁为低电平,同时,命令数据指示通过端口 B的写操作。在基本相同的时间处,在相同的地址端口上的第二地址(ADDl)可以被锁存。在示出的实施方式中,如同图2A,这样的第二地址(ADDl)可以被指向任意的、除了在时间t0处被访问的存储体(Bank! N)。响应于这样的命令和地址数据,存储器设备可以开始访问Bank!N以准备写数据。 [0053]在大约时间t3处,在写时延之后,写数据值(Dl)可以在端口 B上被驱动。这样的写数据可以与写入数据时钟同步地被锁存。在示出的特定的实施方式中,这样的写数据可以在写数据时钟DKB的上升边沿时被锁存。在一个实施方式中,写数据可以以两个或者多个数据值的脉冲串被输入,在这种情况下,写数据可以在写数据时钟DKB的每半个周期(即,以双倍数据速率)继续被锁存。
[0054]在时间t4处,对应于在时间t0处开始的读事务处理的读数据(QO)可以在端口 A上被输出。
[0055]现在参考图2C,示出了写-读事务处理序列。图2C中所示出的读事务处理可以和图2A的第二读事务处理是相同的,因此省略该操作的描述。
[0056]图2C不同于图2A之处在于,在大约时间t0处,CK可以跃迁为高电平,并且命令数据可以指示通过端口 A的写操作。在基本相同的时间处,在地址端口上的第一地址值(ADDO)可以被锁存。这样的第一地址值(ADDO)可以被指向许多存储体中的一个存储体(BankN)0响应于这样的命令和地址数据,存储器设备可以开始访问BankN以准备写数据。
[0057]在时间tl处,读事务处理可以被开始。对应于这样的读事务处理的第二地址值(ADDl)可以被指向不同于之前的写事务处理的存储体的存储体(Bank!N)。
[0058]在大约时间t2处,在写时延之后,写数据值(DO)可以在端口 A上被驱动。这样的写数据可以在写时钟DKA的上升边沿时被锁存,并且可以是数据的脉冲串,如以上所描述的。
[0059]现在参考图2D,示出了写-写事务处理序列。图2D中所示出的第一写事务处理可以和图2C的写事务处理是相同的。另外地,图2D中所示出的第二写事务处理可以和图2B的写事务处理是相同的。相应地,该操作的详细描述被省略。注意到,对应于第二写事务处理的第二地址值(ADDl)可以被指向不同于之前的写事务处理的存储体的存储体(Bank!N)。
[0060]再一次参考图2A到2D,在示出的实施方式中,事务处理输入数据(CMD)可以包括指示对一个端口(Port A)的访问的一个部分(CMDA),以及指示对不同的端口(端口 B)的访问的另一个部分(CMDB)。在一些实施方式中,这样不同的事务处理数据可以以比地址输入(ADD)和/或数据输入/输出(DQA/ DQB)慢的数据速率被接收。在特定的实施方式中,每个不同的事务处理数据部分(CMDA、CMDB)可以以单倍数据速率(SDR)(每个周期一次)被接收,而地址端口(例如,ADD)和数据I/O端口(例如,DQA/DQB)可以是DDR端口。
[0061]这样,存储器设备可以在时钟的连续的、不同的跃迁上开始被指向不同的数据I/O端口的读和写事务处理的任意组合。
[0062]现在参考图3,以时序图示出根据另外的实施方式的存储器设备操作。图3是包括add/ctrl时钟CLK ;事务处理数据(CMD),接收的地址值的第一部分(ADD [parti]);以及相同的接收的地址值的第二部分(ADD [part2])的波形的时序图。CLK可以是如同在以上的实施方式中的信号的信号,其被用于以双倍数据速率锁存地址值。事务处理数据(CMD)可以表示在相同时钟周期内接收的指向不同数据I/O端口(端口 A和端口 B)的两个事务处理。在特定的实施方式中,针对一个数据I/O端口(例如,端口 A)的事务处理数据可以在CLK的上升边沿时被锁存,而针对另一个数据I/O端口(例如,端口 B)的事务处理数据可以在CLK的下降边沿时被锁存。
[0063]第一地址部分ADD [parti]可以识别被访问的存储体内的位置,该位置是相同时钟周期中事务处理中的一个的目标。第二地址部分ADD[part2]可以识别用于事务处理的存储体。
[0064]图3示出了根据一个实施方式的基于存储体访问的“有效的”和“无效的”事务处理。有效的事务处理可以导致通过对应的数据I/O端口对识别的存储体的访问。无效的事务处理可以导致存储体不被访问。在一些实施方式中,存储器设备可以产生响应于一些或者全部的无效的事务处理的指示。在非常特定的实施方式中,存储器设备可以随读数据提供数据有效信号,并且这些数据有效信号可以在无效的读事务处理的情况下被置为无效状态。事务处理的有效性可以基于被访问的存储体,如将在以下被描述的。
[0065]根据一个实施方式,在CLK的上升边沿开始的事务处理不可能是无效的事务处理。因此,在CLK的上升边沿接收的第二地址部分ADD[part2]可以识别存储器设备中的多个存储体中的任一个。参考图3,ADD[part2]在时间t0、t2和t4 (CLK的上升边沿)处的值没有存储体限制。
[0066]相比之下,在CLK的下降边沿开始的事务处理只要它们被指向和在CLK的紧接之前的上升边沿开始的事务处理相同的存储体就是无效的。参考图3,在时间tl处,第二地址部分ADD[part2]指向“Bank Y”。为了是有效的,Bank Y必须不同于“Bank X,,,“Bank V’是在时间to处识别的存储体。注意到,这样的存储体限制仅发生在相同的时钟周期内。因此,在时间t2 (下一个时钟周期的开始)处,第二地址部分ADD[part2]指向“Bank Z”。因为时间t2与CLK的上升边沿相对应,Bank Z可以与Bank Y或者X相同,或者可以不同于Bank Y 或者 X。
[0067]这样,读或者写事务处理可以在相同时钟周期的不同边沿被开始,并且针对一个边沿类型的事务处理总是有效的,而针对其它边沿类型的事务处理仅当指向和相同时钟周期的其它事务处理相同的存储体时是无效的。
[0068]如以上所提到的,根据各实施方式的存储器设备可以包括带有多个存储体的存储器阵列部分,其中每个存储体中的操作可以是独立的和流水式的。现在将描述示出这样的操作的实施方式。
[0069]图4A到4F是示出根据一实施方式的通过不同存储体的流水式操作的一系列方框示意图。图4A到4F示出了可以包括如同图1的那些存储器设备或者等价物的存储器设备400。这些相似的部分引用了相同的引用字符,但是第一个数字“I”被代替为“4”。
[0070]图4A到4F不同于图1之处在于,存储器阵列部分406被示出包括译码器部分422和I/O部分424。译码器部分422可以接收来自地址锁存器420-0/1的地址值,并且作为响应,允许对由地址值指示的存储体内的储存位置的访问。I/O部分424可以允许在存储体(410-0到-η)和数据I/O端口 402-0/1之间的读数据路径。另外地,I/O部分424可以允许在写数据锁存器418-0/1和存储体(410-0到-η)之间的写数据路径。图4Α到4F不同于图1之处还在于它们示出了数据选择电路426。数据选择电路426可以选择性地将来自多个写数据锁存器418-0/1的一个写数据值提供给I/O部分424。
[0071]图4Α到4F示出了在第一时钟(CLK)的连续的、不同的跃迁上开始的两个连续的
写事务处理。
[0072]参考图4Α,与时钟信号CLK的第一跃迁(在该实施方式中为在时间t0处的上升跃迁)同步,第一地址值可以被锁存在地址锁存器420-0中。在示出的实施方式中,这样的地址可以识别Bankl(410-1)。另外地,由控制部分408接收的事务处理数据可以指示写事务处理。这样的写事务处理可以被通过数据I/O端口 402-0。用于在时间to处锁存的值的数据路径在图4A中用粗体线被示出。
[0073]在一些实施方式中,存储器设备400可以包括专用于多个数据I/O端口中的每个端口的事务处理(例如,命令)数据输入端。这些输入端可以识别所指示的事务处理的数据I/O端口。然而,在其它实施方式中,在地址值和/或事务处理数据被接收处的时间可以指示对应的数据I/O端口(例如,如果在CLK的上升边沿被接收,事务处理是通过一个数据I/O端口,如果在CLK的下降边沿被接收,事务处理是通过另一个数据I/O端口)。
[0074]参考图4B,与紧接在时钟信号CLK的第一跃迁之后的第二跃迁(在该实施方式中为在时间tl处的下降跃迁)同步,第二地址值可以被锁存在地址锁存器420-1中。用于在时间tl处锁存的值的数据路径在图4B中用实粗体线被示出。在示出的实施方式中,这样的地址值识别与之前在时间t0处的事务处理不同的存储体(Bank3,410-3)。在特定的实施方式中,存储器设备400可以包括有效的和无效的事务处理,如同在图3中所示出的那些,其中在CLK的第二跃迁上的事务处理必须指向与在相同时钟周期的紧接前述的跃迁不同的存储体。仍然参考图4B,在时间tl处或者在时间tl后,Bankl 410-1可以响应于锁存在地址锁存器420-0内的第一地址值被访问。对应于在时间t0处开始的之前的事务处理的对Bankl 410-1的访问,在图4B中由虚粗体线表示。
[0075]参考图4C,在时间tl后,Bank3 410-3可以响应于锁存在地址锁存器420_1内的第二地址值被访问。对Bank3 410-3的访问在图4C中由虚粗体线表示。在一些实施方式中,随着Bank3开始被访问,流水式操作可以关于对Bankl 410-1的写操作继续。
[0076]参考图4D,在示出的实施方式中,在写时延延迟(WL)之后,针对Bankl的写数据(DA (Bankl))可以在数据I/O端口 402-0上被驱动,并且与写数据时钟DKA的第一跃迁(在该实施方式中为在大约时间tO+WL处的上升跃迁)同步地被锁存。用于在时间tO+WL处锁存的写数据值的数据路径在图4D中以粗体线被示出。在一些实施方式中,在该时间处,独立的流水式操作可以继续用于Bankl 410-1和Bank3 410-3。
[0077]参考图4E,在示出的实施方式中,在写时延延迟(WL)之后,针对Bank3的写数据(DB (Bank3))可以在数据1/0端口 402-1上被驱动,并且与写入数据时钟DKB的第一跃迁(在该实施方式中为在时间tl+WL处的上升跃迁)同步地被锁存。用于在时间tl+WL处锁存的写数据值的数据路径在图4E中用粗体线被示出。在时间tl+WL时或者在时间tl+WL后,写数据锁存器418-0内的写数据可以通过数据选择电路426被应用到其预期的存储体(Bankl 410-1)。写入数据对Bankl 410-1的应用由粗体线被示出。
[0078]参考图4F,在时间tl+WL后,写数据锁存器418-1内的写数据可以通过数据选择电路426被应用到其预期的存储体(Bank3 410-3)。写入数据到Bank3 410-3的应用由粗体虚线被示出。
[0079]图5A到5F是示出图4A到4F中所示出的用于存储器设备400的附加的流水式操作的一系列方框示意图。
[0080]图5A到5F示出了在第一时钟(CLK)的连续的、不同的跃迁上开始的两个连续的
读事务处理。
[0081]图5A示出了如同图4A的对第一地址值和第一事务处理数据的锁存,但是事务处理数据指示指向BankO 410-0的读事务处理。图5B示出了如同图4B的对第二地址值和第二事务处理数据的锁存,但是事务处理数据指示到Bank5 410-5的第二读事务处理。正如在图4A和4B的情况下,用于锁存的值的数据路径以实粗体线被示出。
[0082]仍然参考图5B,在时间t0后,BankO 410_0可以响应于锁存在地址锁存器420_0内的第一地址值被访问。对BankO 410-0的访问在图5B中由虚粗体线表示。
[0083]参考图5C,在时间tl后,Bank5 410-5可以响应于锁存在地址锁存器420-1内的第二地址值被访问。在一些实施方式中,随着Bank5 410-5开始被访问,流水式操作可以关于对BankO 410-0的读操作继续。对BankO 410-5的访问在图5C中由虚粗体线表示。
[0084]参考图指向BankO 410_0的流水式读操作可以导致读数据(QA (BankO))从BankO 410-0被输出到数据驱动器电路416-0。这样的动作以实粗体线被示出。在一些实施方式中,随着读数据从Bank04 10-0被输出,流水式读操作可以在Bank5 410-5内继续。这些操作可以随后导致读数据(QB(Bank5))从Bank5 410-5被输出到数据驱动器电路416-1。这样的动作以虚粗体线被示出。
[0085]参考图5E,在读时延延迟(RL)之后,用于BankO (QA (BankO))的读数据可以由数据驱动器电路416-0在数据端口 402-0上被输出(例如,在大约时间tO+RL处)。这样的动作以实粗体线被示出。在一些实施方式中,读数据(QA (BankO))可以以与读数据时钟(未示出)同步的两个或者多个读数据值的脉冲串被输出。
[0086]参考图5F,在读时延延迟(RL)之后,用于Bank5 (QB (BankB))的读数据可以由数据驱动器电路416-1在数据端口 402-1上被输出(例如,在大约时间tl+RL处)。如在图5E的情况下,这样的动作以实粗体线被示出。另外地,在一些实施方式中,这样的读数据可以包括与读数据时钟同步的两个或者多个读数据值的脉冲串。
[0087]虽然图4A到4F示出了两个写事务处理,图5A到5F示出了两个读事务处理,理解到存储器设备400可以包括不同的事务处理的混合,包括读-写和写-读事务处理。根据以上的描述将理解这些混合的事务处理,并且如以上描述的,这些混合的事务处理可以包括独立的通过不同存储体的流水式操作。
[0088]如以上所述的,实施方式可以包括带有流水式操作的存储器设备以允许高速事务处理。现在将描述这些流水式操作的实施例。
[0089]现在参考图6,流水式的存储体读操作628以示出适时地执行的一系列的动作/操作的图表示。在这样的流水式操作中,地址值可以在时钟信号(CLK)的上升或者下降边沿的任一个时被锁存630。读操作可以发生在存储器设备632内以访问编址的储存位置来生成读数据。读取数据可以随后在存储器设备的输出端与数据时钟(QK)的上升或者下降边沿同步地被驱动634。相应地,在示出的实施方式中,地址锁存630和读数据驱动632可以是同步的动作,根据时钟信号的时序来发生。
[0090]根据各实施方式,存储器设备内的全部或者一部分的读操作(即,动作/操作632 )可以是同步的(例如,响应于时钟信号发生)或者是异步的。另外地,读操作(632)可以包括多个流水式阶段,其中的每个阶段都可以是同步的或者是异步的。
[0091]现在参考图7,流水式的存储体写操作736以示出适时地执行的一系列的动作/操作的图表示。地址锁存730可以如图6中所描述地发生。写操作可以发生在存储器设备738内以访问编址的储存位置来使得数据能够被写入这样的位置中。写数据可以与数据时钟(DK)的上升或者下降边沿同步地被锁存740。相应地,在示出的实施方式中,地址锁存730和写数据驱动740可以是同步的动作,根据时钟信号的时序来发生。
[0092]正如在图6的读操作632的情况下,根据各实施方式,存储器设备内的全部或者一部分的写操作(即,动作/操作738)可以是同步的或者是异步的。另外地,这样的写操作(738)可以包括多个流水式阶段,其中的每个阶段都可以是同步的或者是异步的。
[0093]参考图8,根据另一个实施方式的流水式的存储体读操作828在图中示出。图8示出了可以发生在存储体读取操作中的、并且可以是图6中所示出的一个特定的执行过程的不同的动作/操作。
[0094]流水式的存储体读操作828可以包括锁存地址和事务处理数据842。在一个实施方式中,每个地址值可以识别存储体、以及这样的存储体内的储存位置。事务处理数据可以指示读事务处理。在一些实施方式中,这样的动作可以包括以双倍数据速率锁存地址值,其中每个这样的地址值与不同的事务处理相对应,如以上所描述的。在一些实施方式中,这样的动作还可以包括以慢于地址值的数据速率提供事务处理数据。
[0095]流水式的存储体读操作828可以包括存储体选择动作844。这样的动作可以包括确定在事务处理中访问哪个存储体。在一些实施方式中,存储体选择动作844可以基于存储体访问来确定事务处理是有效的还是无效的。在无效的事务处理的情况下,存储体选择动作844可以阻止访问存储体。流水式的存储体读操作828还可以包括存储器阵列准备操作846。在示出的实施方式中,准备操作846可以包括地址解码和阵列预充电。地址解码可以包括解码接收的地址值以访问存储体中的储存位置。阵列预充电可以包括在允许读出数据值的预定的电势处放置部分存储体(例如,位线)。
[0096]图8还示出读出动作848、读数据锁存器动作850以及读数据输出动作852。读出动作848可以用读出放大器或类似物读出来自在读操作中访问的储存位置的读数据值。在提供读数据值的脉冲串的实施方式中,读出动作848可以读出一个动作中的脉冲串的全部数据,或者可以顺序地读出数据值。读数据锁存器动作850可以储存读数据值以用于随后由存储器设备输出。正如在读出动作中,这样的动作可以锁存一个动作中的脉冲串的全部数据,或者可以顺序地锁存脉冲串数据值。读数据输出动作852可以包括在数据I/O端口上驱动读数据值。
[0097]根据各实施方式,锁存地址和事务处理数据842可以与时序时钟同步。类似地,读数据值的输出也可以与时序时钟同步。任意动作844、846、848和850可以与时钟是同步的或者可以是异步的。
[0098]参考图9,根据另一个实施方式的流水式的存储体写操作936在图中示出。图9示出了可以发生在存储体写操作中的、并且可以是图7中所示出一个特定的执行过程的不同的动作/操作。
[0099]如对图8的842所描述的,流水式的存储体写操作936可以包括锁存地址和事务处理数据942,不过事务处理数据指示写数据。存储体选择动作944可以确定在事务处理中访问的存储体,并且在一些实施方式中,可以阻止存储体在无效的事务处理中的访问。
[0100]流水式的存储体写操作936还可以包括存储器阵列准备和写数据锁存操作954。在示出的实施方式中,准备操作954可以如对于图8所描述的包括地址解码和预充电。然而,此外,接收的写数据值还可以在此时被锁存。在提供写数据值的脉冲串的实施方式中,准备操作954可以以双倍数据速率锁存写数据的脉冲串。[0101]图9还示出了写数据动作956。写数据动作956可以包括用写放大器或者类似物将锁存的写数据值写到通过解码地址值访问的储存位置。在提供写数据值的脉冲串的实施方式中,写数据动作956可以写一个动作中的脉冲串的全部数据,或者可以顺序地写数据值。
[0102]根据各实施方式,锁存地址和事务处理数据942可以与时序时钟同步。类似地,在954期间写数据值的锁存也可以与时序时钟同步。动作944、956以及954的其它部分中的任意一个可以与时钟是同步的或者是异步的。
[0103]通过存储器设备存储体的、与指向多个数据I/O端口的DDR地址值锁存结合的流水式操作可以允许非常高速的、高速随机的事务处理。根据一个实施方式的这样的高速的、高随机的事务处理在图10中被示出。
[0104]图10包括示出高随机事务处理的实施例的时序图1058。图10还包括响应于这些事务处理的通过存储体1010-0到-3对流水式访问的表示。
[0105]时序图1058示出了事务处理的序列以及在多个数据I/O端口上对应的行动。时序图1058包括波形:CLK,其示出时序时钟;CMD/ADD,其示出事务处理和用于每个事务处理的地址数据;DQA,其是一个数据I/O端口;以及DQB,其是另一个数据I/O端口。由CMD/ADD表示的事务处理被示出为Wxy或者Rxy,其中W表示写事务处理,R表示读事务处理,X识别存储体,以及I指示对存储体访问的次序(即,y=0是对存储体的第一次访问,y=l是对该相同存储体的下一次访问,等等。)。另外地,在图10的实施方式中,在CLK的上升边沿开始的事务处理被指向数据I/O端口 DQA,而在CLK的下降边沿开始的事务处理被指向数据I/O端口 DQB。
[0106]存储体1010-0到-3示出了当事务处理独立地通过每个存储体流水操作时根据时序图1058的事务处理。在示出的实施方式中,流水式访问可以采取在图8和9中所示出的那些形式,但是其它的实施方式可以包括具有不同的操作组件、操作次序和/或适时操作重叠的访问。
[0107]更详细地,第一写事务处理(WOO)可以在时间t0处CLK的上升边沿时被发出,并且因此被指向数据I/O端口 DQA。如在BANKO 1010-0中所示出的,WOO的流水式写操作可以由事务处理和地址值的锁存开始。被示出为DOO的对应于事务处理WOO的写数据,可以在时间t2处在数据I/O端口 DQA上被驱动。在示出的实施方式中,写数据值DOO可以是两个数据值的脉冲串。注意到写数据(DOO)可以根据CLK,或者相对于具有关于CLK的预定的最小相位差的另一个时钟来锁存。
[0108]在时间tl处的下一个事务处理可以是被发出到BANKl 1010-1的读事务处理(RlO)0 BANKl 1010-1示出了用于事务处理RlO的流水式读操作。被示出为QlO的与事务处理RlO相对应的读数据,可以在时间t3处在数据I/O端口 DQB上被输出。在示出的实施方式中,读值QlO可以是两个数据值的脉冲串。注意到读数据(QlO)可以与CLK同步地输出,或者与具有关于时钟CLK的预定的最小相位差的另一个时钟同步地输出。
[0109]根据以上的描述将理解序列中的剩余事务处理(B卩,W01、W30、R20、R31、W21、R02)。这些事务处理表示在类型(例如,读或者写)以及编址的位置两者都变化的高速随机访问的仅一个实施例。对数据I/o端口波形DQA和DQB的参考示出了来自不同的事务处理的数据流可以在不同的数据I/O端口上同时流动。[0110]这样,高速随机访问可以使用在多个数据i/o端口上的并发输入和输出数据流来调节。
[0111]虽然各实施方式可以包括根据一个时钟信号输出读数据的数据i/o端口,但可替换的实施方式可以将数据I/o端口划分为两组或者更多组。在图1lA到IlC中示出了具有划分的数据I/o端口的一个实施方式。图1lA是示出了两个数据I/O端口 1102-0/1的方框示意图。图1lB和IlC是示出了通过图1lA的数据I/O端口的数据访问的时序图。
[0112]参考图11A,数据I/O端口 1102-0/1可以具有相同的结构,相应地,将仅仅详细地描述数据I/O端口 1102-0。数据I/O端口 1102-0可以包括数据线路(在该实施方式中示出了 40条数据线路),该数据线路分成两组,每组二十条数据线路(DQA[0:19]和DQA[20:39])。数据I/O端口 1102-0可以包括读数据驱动器电路1116-0,读数据驱动器电路1116-0可以包括读数据驱动器1158-00/01,每一个读数据驱动器可以驱动在对应的一组数据线路DQA[0:19]/DQA[20:39]上的部分输出数据值。在示出的实施方式中,读数据驱动器1158-00还可以驱动指示对应的数据线路组(DQA[0:19])上的读数据是否是有效的数据有效信号QVLDA0。读数据时钟驱动器1160-00可以驱动读数据时钟QKA0。数据线路组(DQA[0:19])上的数据可以与读数据时钟QKAO同步地被输出。以类似的方式,读数据驱动器1158-01可以驱动在对应的数据线路组DQA[20:99]上的部分读数据值以及数据有效信号QVLDAl。读数据时钟驱动器1160-01可以提供读数据时钟QKAl。
[0113]读数据时钟(QKA0/1)和有效读取数据信号(QVLDA0/1)可以与每组数据线路相关。换言之,在数据线路组DQA[0:19]上驱动的读数据可以与读数据时钟QKAO同步,且由有效读数据信号QVLDAO指示为是有效的,并且在数据线路组DQA[20:39]上驱动的读数据可以与读数据时钟QKAl同步,且由有效读数据信号QVLDAl指示为是有效的。还理解到每个数据线路组(DQA[0:19]和DQA[20:39])可以被连接到对应的写数据锁存器(未示出)。每个这样的写数据锁存器可以根据不同的写数据时钟来锁存写数据(图1lA中未示出)。
[0114]注意到数据线路的分组可以是物理分组(B卩,由设计和/或制造步骤来设定)。然而,在可替换的实施方式中,这样的分组可以是可编程的。在这样的可替换的实施方式中,读数据驱动器电路可以包括切换电路,例如“闩”型电路,从而创建数据线路组。
[0115]图1lB是示出了在图1lA的数据I/O端口 1102-0/1上的两个读事务处理的时序图。图1lB包括图1lA中阐述的信号和输出值。另外地,图1lB包括波形CK,波形CK可以是用于锁存事务和/或地址值以开始事务处理的时钟。在图1lA中,响应于第一读事务处理,读数据值的第一部分(QOO)可以在数据线路组DQA[0:19]上被输出,而读数据值的第二部分(QOl)可以在数据线路组DQA[20:39]上被输出。读数据值部分QOO可以与对应的读数据时钟QKAO同步地被输出,并且由对应的有效读数据信号QVLDAO指示为有效的。类似地,读数据值部分QOl可以与读数据时钟QKAl同步地被输出,并且由有效读数据信号QVLDAl指示为有效的。
[0116]仍然参考图11B,响应于第二读事务处理,读数据值(Q10/11)可以以和以上描述的相同的方式在数据线路组DQB [0:19] /DQA [20:39]上被输出。
[0117]在图1lB的特定的实施方式中,读数据时钟QKA0/1、QKB0/1可以具有关于CK的预
定的偏斜。
[0118]图1lC是示出了在图1lA的数据I/O端口 1102-0/1上的两个写事务处理的时序图。图1IC包括在图1lA中阐述的信号和输出值。另外地,图11(:示出了写数据时钟0以0/1、DKBO/10写数据时钟(DKA0/1、DKB0/1)可以锁存在每个端口上提供的写数据值的部分。在图1lC中,响应于第一写事务处理,在数据线路组DQ[0:19]上接收的写数据值的第一部分(DOO)可以根据写数据时钟DKAO被锁存,而写数据值的第二部分(DOl)可以根据写数据时钟DKAl被锁存。
[0119]仍然参考图11C,响应于第二读事务处理,写数据值(D10/11)可以以和以上描述的相同的方式在数据线路组DQB[0:19]/DQA[20:39]上被接收且根据写数据时钟DKB0/1被锁存。
[0120]在图1lC的特定的实施方式中,写数据时钟DKA0/1、DKB0/1可以具有关于CK的预
定的偏斜。
[0121]虽然图1lA到IlC示出了每个被分为两个数据线路组的数据I/O端口,可替换的实施方式可以包括分为多于两个的不同的数据线路组的数据I/O端口。
[0122]这样,存储器设备可以包括多个数据I/O端口,且每个端口分成多个数据线路组,每个数据线路组根据特定于数据线路组的一个或者多个数据时钟来输出数据和输入数据。
[0123]现在参考图12,根据另一个实施方式的存储器设备以方框示意图示出并且由一般的引用字符1200来指定。存储器设备1200可以具有如同在图1以及图4A到5F的实施方式中所示出的那些部分,并且这些相似的部分由相同的引用字符来引用,但是首数字“I”或者“4”被代替为“12”。这些相似部分可以与以上描述的那些是相同的,或者等同的。
[0124]存储器设备1200可以包括接收地址值(ADD)、地址反演值(AINV)和地址奇偶值(AP)的地址端口 1204。地址值(ADD)可以识别存储器阵列1272的存储体内的储存位置。地址反演值(AINV)可以指示接收的地址值(ADD)何时为反演的形式(ADD是期望地址的补偿)。地址奇偶值(AP)可以允许对接收的地址的奇偶校验。
[0125]在示出的实施方式中,控制部分1208可以包括时钟发生器电路1212、控制逻辑1214、模式寄存器部分1266和锁相环路(PLL)1268。模式寄存器部分1266可以接收可以为存储器设备1200建立不同操作模式的配置数据CFG。在示出的实施方式中,地址端口 1204可以被用于将配置数据写入到模式寄存器部分1266中。在一个特定的实施方式中,地址端口 1204的一部分地址输入端可以识别模式寄存器,而另一部分地址输入端可以为识别的模式寄存器携带模式数据。储存在模式寄存器部分1266中的模式值可以通过一个或者多个数据I/O端口 1202-0/1输出。在一些实施方式中,除读/写模式寄存器之外,模式寄存器部分1266可以包括只读模式寄存器。
[0126]在一个实施方式中,模式寄存器部分1266可以储存可以建立以下中的任意一个的模式值:PLL 1268的运作模式、数据和/或地址反演能力(capability)、地址奇偶生效值、数据I/O端口生效/失效值、初始化模式和端口的阻抗终止值。另外地或者作为选择地,模式寄存器部分1266可以提供可读位置以指示奇偶状态(例如,指示输入值中的奇偶误差,例如地址值)。
[0127]控制逻辑1214可以接收用于不同的数据端口(CTRL (DQA)), (CTRL (DQB))的事务处理数据,并且根据时钟信号CK/CK#锁存这些值。根据锁存的事务处理数据,控制逻辑1214可以发出用于存储器设备1200的不同的其它部分的控制信号。在一个实施方式中,在CK的上升边沿锁存的事务处理数据可以被指向一个数据I/O端口 1202-0,而在CK的下降边沿(CK#的上升边沿)锁存的事务处理数据可以被指向其它数据I/O端口 1202-1。
[0128]时钟发生器电路1212可以接收一个或者多个输入时钟,并且作为响应,产生用于锁存事务处理数据和地址值的锁存时钟CK’。时钟发生器电路1212可以向PLL 1268提供源时钟CKS。
[0129]PLL 1268可以产生一个或者多个被锁相到接收的源时钟CKS的读时钟(RDCLKS)。读时钟(RDCLKS)可以控制用于存储器设备1200的读数据流动。
[0130]图12还示出了地址选择/端口检测电路1270,地址选择/端口检测电路1270可以从地址锁存器1220-0/1接收地址值。根据这些地址值,地址选择/端口检测电路1278可以确定事务处理被指向哪个数据I/O端口,并且可以检测哪个存储体被事务处理访问。在一些实施方式中,地址选择/端口检测电路1278可以确定无效的事务处理何时发生。更具体地,地址选择/端口检测电路1278可以检测相同的存储体在相同的时钟周期内何时被第二次访问,并且避免这样的访问发生。
[0131]在图12中,存储器阵列部分1206可以包括译码器部分1222、存储器阵列1272和I/O部分1224。在一些实施方式中,译码器部分1222可以确定无效的事务处理何时发生。存储器阵列1272可以包括由事务处理访问的储存位置。在一些实施方式中,存储器阵列1272可以具有布置到独立可访问的存储体中的储存位置,并且如在以上的实施方式中所描述的,事务处理可以以流水式方式或者等价形式来访问这些储存位置。I/O部分1224可以包括可以将写数据值驱动到存储器阵列1272中的储存位置的写数据驱动器1262,以及用于检测从存储器阵列1272输出的读数据值的读出放大器1264。
[0132]图12还示出了与每个数据I/O端口 1202-0/1相对应的写数据时钟发生器1274-0/1。写数据时钟发生器1274-0/1可以每个接收一个或者多个输入数据时钟(DKA/DKB),并且作为响应,产生用于写数据锁存器1218-0/1的锁存信号DKA’ /DKB’。
[0133]存储器设备1200可以提供“完全数据一致性”,允许最近写入的数据值作为存储位置的读数据被输出。在示出的实施方式中,写数据锁存器1218-0/1可以将锁存的写数据提供到数据选择电路1226以及布置的写数据路径1276-0/1两者。布置的写数据路径1276-0/1可以将锁存的写数据提供到读数据输出路径。因此,当读事务处理被指向和最近写入的数据相同的位置时,对应的读数据可以从布置的写数据路径1276-0/1被提取,而不是从存储器阵列1272。
[0134]仍然参考图12,存储器设备1200可以包括用于每个数据I/O端口 1202-0/1的读数据路径。每个读数据路径可以包括读数据输出寄存器1278-0/1、输出选择电路1280-0/1和数据驱动器电路1216-0/1。读数据输出寄存器1278-0/1可以储存来自存储器阵列1272的I/O部分1224和/或布置的写数据路径1276-0/1的数据。输出选择电路1280-0/1可以选择性地将来自对应的读数据输出寄存器1278-0/1的读数据值输出到对应的数据驱动器电路1216-0/1。
[0135]现在将参考图13A到13C来描述存储器设备1200的不同的操作。图13A到13C中的每个图都是示出了四个连续事务处理的不同组合的时序图。图13A到13C包括针对图12描述的不同信号的波形。以符号结尾的信号被理解为低有效信号。
[0136]在图13A到13C中,用于第一数据I/O端口 CTRL (DQA)的事务处理数据可以包括负载信号LDA#和读/写信号R/WA#。类似地,用于另一个数据I/O端口 CTRL (DQB)的事务处理数据可以包括负载信号LDB#和读/写信号R/WB#。地址值ADD可以包括一个或者多个最低有效位A (LSB)和最高有效位A (MSB)0 A (LSB)可以识别由事务处理访问的存储体,而A (MSB)可以指示访问的存储体内的储存位置。
[0137]图13A示出了以下事务处理的序列:读、写、写、读。
[0138]在大约时间t0处,时钟CK可以经历上升跃迁。在该时间处,负载信号LDA#可以是低的,指示通过数据I/O端口 DQA的事务处理。同时,读/写信号R/WA#可以是高的,指示读事务处理。A (LSB)可以指示读事务处理被指向存储体BO。A (MSB)可以识别存储体BO内的地址A0。这样,在时间t0处的值指示通过数据I/O端口 DQA对存储体BO的读事务处理。信号LDA#和R/WA#可以由控制逻辑1214锁存。地址值A (MSB)、A (LSB)可以被锁存在地址寄存器1220-0中。
[0139]随后,地址选择/端口检测电路1270可以识别用于事务处理的存储体,并且将地址转发到地址译码器1222。在一个实施方式中,因为事务处理在CK的上升边沿时被开始,它不可能是无效的事务处理。
[0140]在大约时间tl处,时钟CK可以经历下降跃迁(和/或它的补充CK#可以经历上升跃迁)。在该时间处,负载信号LDB#可以是低的,指示通过数据I/O端口 DQB的事务处理。同时,读/写信号R/WB#可以是低的,指示写事务处理。A (LSB)可以指示写事务处理被指向存储体BI的。A (MSB)可以识别存储体BI内的地址Al。在一个实施方式中,存储体BI必须不同于在相同周期内访问的存储体(即,在时间t0处的存储体B0),以便写事务处理式有效的。信号LDB#和R/WB#可以由控制逻辑1214锁存。地址值A (MSB)、A (LSB)可以被锁存在地址寄存器1220-1中。
[0141]随后,地址选择/端口检测电路1270可以用于识别事务处理的存储体,并且将地址转发到地址译码器1222。在一个实施方式中,地址选择/端口检测电路1270和/或地址译码器1222还可以确定事务处理是否是无效的事务处理。
[0142]这样,指向不同的存储体的两个事务处理可以在相同的时钟周期被发出。
[0143]在大约时间t2处,时钟CK可以经历另一个上升跃迁。在该时间处,负载信号LDA#可以是低的,再次指示通过数据I/o端口 DQA的事务处理。同时,读/写信号R/WA#可以现在是低的,指示写事务处理。A (LSB)可以指示写事务处理被指向存储体B2。A (MSB)可以识别存储体B2内的地址A2。在一个实施方式中,存储体B2可以是任意存储体(B卩,它可以是在时间tl处访问的存储体B1、或者存储体B0、或者一些其它存储体)。
[0144]在大约时间t3处,时钟CK可以经历下降(和/或CK#可以经历上升跃迁)。在该时间处,负载信号LDB#可以是低的,指示通过数据I/O端口 DQB的事务处理。同时,读/写信号R/WB#可以是高的,指示读事务处理。A (LSB)可以指示读事务处理被指向存储体B3。A (MSB)可以识别存储体B3内的地址A3。在一个实施方式中,存储体B3必须不同于在相同周期内访问的存储体(即,在时间t2处的存储体B2),以便读事务处理是有效的。
[0145]在时间t3之后,在时间t0、tl、t2和t3处开始的读和写事务处理可以以流水式方式通过存储器阵列1272传送。
[0146]在大约时间t4处,在时间tl后的写时延(WL)处,与在时间tl处开始的写事务处理相对应的写数据值(D110、D111)可以在数据I/O端口 DQB上被驱动。在示出的实施方式中,这样的写数据可以在DKB的下降边沿时被锁存在写数据锁存器1218-1内。随后,这样的写数据可以由写驱动器1262被写入到在地址Al的存储体BI。
[0147]在大约时间t5处,在时间t2后的写时延处,与在时间t2处开始的写事务处理相对应的写数据值(D220、D221)可以在数据I/O端口 DQA上被驱动。在示出的实施方式中,这样的写数据可以在DKA的上升边沿时被锁存在数据锁存器1218-0内。随后,这样的写数据可以由写驱动器1262被写入到在地址A2处的存储体B2。
[0148]在时间t6之前,流水式读操作可以继续通过存储体BO和B3。读出放大器1224可以从存储体BO读出读数据Q000、Q001,并将它提供到读输出寄存器1278-0。另外地,读出放大器1224可以读出读数据Q330、Q331,并将它提供到读输出寄存器1278-1。根据读时钟RDCLK,这些读数据值可以传送通过读取数据选择电路1280-0/1。
[0149]在大约时间t6处,在时间t0后的读时延(RL)处,与在时间t0处开始的读事务处理相对应的读数据值(Q000、Q001)可以在数据I/O端口 DQA上被驱动。这些读数据值可以在数据时钟QKA的上升边沿时被输出。另外地,在读数据在数据I/O端口 DQA上被驱动之前,有效读数据信号QVLDA可以被激活(在该实施方式中被驱动为高电平)一个半周期(关于QKA) ο
[0150]在大约时间t7处,在时间t3后的读时延处,与在时间t2处开始的读事务处理相对应的读数据值(Q330、Q331)可以在数据I/O端口 DQB上被驱动。这些读数据值可以在数据时钟QKB的下降边沿时被输出。另外地,在读数据在数据I/O端口 DQB上被驱动之前,有效读数据信号QVLDB可以被激活一个半周期(关于QKB)。
[0151]图13B示出了以下事务处理的序列:写、读、读、写。参考图13A能理解这些事务处理,相应地,以下仅概述这些事务处理。
[0152]在大约时间t0处,写事务处理可以被发出到存储体B0,地址A0。在写时延之后,在大约时间t4处,针对这样的事务处理的写数据(D000、D001)可以在数据I/O端口 DQA上被驱动。
[0153]在大约时间tl处,读事务处理可以被发出到存储体BI,地址Al。在读时延之后,在大约时间t6处,针对这样的事务处理的读数据(Q110、Q111)可以在数据I/O端口 DQB上被输出。
[0154]在大约时间t2处,另一读事务处理可以被发出到存储体B2,地址A2。在读时延之后,在大约时间t7处,针对这样的事务处理的读数据(Q220、Q221)可以在数据I/O端口 DQA上被输出。
[0155]在大约时间t3处,另一写事务处理可以被发出到存储体B3,地址A3。在写时延之后,在大约时间t5处,针对这样的事务处理的写数据(D330、D331)可以在数据I/O端口 DQB上被驱动。
[0156]图13C示出了以下事务处理的序列:读、读、读、读。参考图13A和13B能理解这些事务处理,相应地,这些事务处理将不被详细地描述。
[0157]如以上所述的,一些实施方式可以被配置用于地址和/或数据反演。在这些实施方式中,地址/数据值可以被选择性地反演(提供其补充)成对应的地址端口和/或数据I/O端口(或者部分这样的端口)。
[0158]图14示出了根据一实施方式的可以提供地址反演的地址锁存器1420。地址锁存器1420可以包括地址输入寄存器1482、条件性的反演电路1484、以及反演检测电路1486。在示出的实施方式中,地址输入寄存器1424可以接收地址值ADD,并且在时钟信号CK的上升边沿(或者下降边沿)时存储地址值。另外地,反演检测电路I486可以锁存地址反演值AINV。条件性的反演电路1484可以根据从反演检测电路提供的值AINV,反演或者不反演由地址输入寄存器1424储存的地址值。
[0159]图15示出了根据一实施方式的可以提供数据反演的数据锁存器1518。数据锁存器1518可以包括数据输入寄存器1582、条件性的反演电路1584、和反演检测电路1586。在示出的实施方式中,写数据输入寄存器1582可以接收在数据I/O端口 1502上提供的写数据值,并且在数据时钟信号DK的上升边沿(或者下降边沿)时存储这些值。另外地,反演检测电路1586可以锁存数据反演值DINV。条件性的反演电路1584可以根据从反演检测电路1586提供的值DINV,反演或者不反演由地址输入寄存器1582储存的写数据值。图15还示出了输出驱动器电路1558,输出驱动器电路1558可以在数据I/O端口 1502上驱动读数据。
[0160]图16A和16B是示出可以被包含在实施方式中的地址反演操作的图。图16A和16B示出了两个地址值的接收。
[0161]图16A示出了没有地址反演的操作。第一地址ADDl可以被接收,对应的地址反演值AINV指示没有地址反演(AINV[0])。第二地址ADD2可以随后被接收,同样没有地址反演(AINV[O])。结果,当从ADDl跃迁到ADD2时,20个地址值中的17个变化(例如,20个地址线路中的17个被驱动成与之前的地址相反的值)。
[0162]图16B示出了与图16A相同的地址,但是使用了地址反演。在示出的实施方式中,第一地址ADDl可以被以和图16A相同的方式被接收(没有反演)。相比之下,已被反演(AINV[1])的第二地址/ADD2可以随后被接收。结果,20个地址值中仅3个地址值变化,减少线路切换。
[0163]数据反演可以以相同的方式发生。
[0164]理解到地址和/或数据反演可以仅对地址和/或数据值的部分执行。在这种情况下,可以为每个这样的部分提供反演值。
[0165]虽然在此示出的一些实施方式针对具有两个数据I/O端口的设备和方法,但可替换的实施方式可以包括多于两个数据I/O端口。现在将描述具有四个数据I/O端口的一个特定的存储器设备实施方式。
[0166]现在参考图17,根据另一个实施方式的存储器设备以方框示意图被示出并且由一般的引用字符1700来指定。存储器设备1700可以包括如同在图1中所示出的那些项目,并且这些相似的项目通过相同的引用字符被引用,只是第一个数字“I”被代替为“17”。
[0167]图17的实施方式不同于图1之处可以在于存储器设备1700可以包括多于两个数据I/o端口(在示出的实施方式中,有四个数据I/O端口 1702-0到-3)。数据I/O端口(1702-0到-3)可以为事务处理提供到存储器阵列部分1706的独立的并发数据路径。与这四个数据I/O端口(1702-0到-3)相对应的可以是四个数据驱动器电路1716-0到-3以及四个写数据锁存器1718-0到-3。写数据锁存器1718-0到-3可以响应于数据时钟DKA到DKD分别在它们的相应的数据I/O端口(1702-0到-3)锁存写数据。
[0168]图17不同于图1之处还在于存储器设备1700可以包括四个地址锁存器1720-0到_3,其中的每个地址锁存器可以响应于不同的时钟信号CK0、CK#、CK1、CK#锁存事务处理的地址值。[0169]在一个实施方式中,时钟CKO、CK#、CKU CK#可以具有大体相同的频率,但是可以相对于彼此相移。另外地,这些时钟信号(CK0、CK#、CK1、CK#)之间的最大相位差可以小于完整周期,允许四个不同的地址值在一个时钟周期中被锁存。数据时钟DKA到DKD可以具有与CK0/CK1大体相同的频率,但是可以相对于彼此相移,允许高达四个写数据值在一个周期中被锁存。
[0170]已经描述了存储器设备1700的各个部分,现在将参考图18A到18C来描述存储器设备的特定的事务处理。
[0171]图18A是包括以下波形的时序图:CK0示出了第一时序时钟;CK1示出了相对于CKO相移了大约90度的第二时序时钟;CMD示出了事务处理数据;以及ADD示出了接收的地址数据。事务处理数据CMD可以包括:数据I/O端口 1702-0的事务处理数据(CMDA)、数据I/O端口 1702-1的事务处理数据(CMDB)、数据I/O端口 1702-2的事务处理数据(CMDC)、以及数据I/O端口 1702-3的事务处理数据(CMDD)。
[0172]图18B是示出了响应于图18A中所示出的事务处理的数据I/O端口上的第一动作的时序图。图 18B 包括 PortA (1702-0)、PortB (1702-1 )、PortC (1702-2)和 PortD(1702-3)的波形。每个端口的波形包括Qk1、Dki和DQi,其中“i”对应于特定的端口。
[0173]图18C是示出了数据I/O端口上的第二动作的时序图,并且包括和图18B相同的波形。
[0174]现在总体地参考图18A到18C,现在将描述连续的读_写-写_读事务处理。
[0175]在大约时间t0处,CKO可以跃迁为高电平(transition high),并且命令数据可以指示读操作通过PortA (1702-0)到BankL内的地址ADDO。
[0176]在大约时间tl处,CKl可以在CKO的相同时钟周期中跃迁为高电平。在该时间,事务处理数据可以指示写操作通过PortB (1702-1)到BankM内的地址ADDl。在一个实施方式中,这样的第二地址值(ADDl)可以被指向除了在时间t0处访问的任意存储体。
[0177]在大约时间t2处,CKO可以跃迁为低电平(transition low),并且事务处理数据可以指示第二写操作通过PortC (1702-2)到BankP内的地址ADD2。在一个实施方式中,相同周期内的这样的第三地址值(ADD2)可以被指向除了之前在周期中所访问的那些的任意的存储体(即,BankP既不是BankL也不是BankM)。
[0178]在大约时间t3处,CKl可以跃迁为低电平,并且事务处理数据可以指示第二读操作通过PortD (1702-3)在BankQ内的地址ADD3。在一个实施方式中,相同周期内的这样的第四地址值(ADD2)可以被指向除了之前在周期中所访问的那些的任意的存储体(即,BankP既不是BankL也不是BankM也不是BankP )。
[0179]在大约时间t4处,在从时间tl写时延之后,写数据D10、D11可以在PortB上被驱动,并且在写数据时钟DKB的上升和下降边沿时被锁存。
[0180]在大约时间t5处,在从时间t2的写时延之后,写数据D20、D21可以在PortC上被驱动,并且在写数据时钟DKA的上升和下降边沿时被锁存。
[0181]在大约时间t6处,在从时间tO的读时延之后,读数据Q00、Q01可以在PortA上与读数据时钟QKA的上升和下降边沿同步地被输出。
[0182]在大约时间t7处,在从时间t3的读时延之后,读数据Q30、Q31可以在PortD上与读数据时钟QKD的上升和下降边沿同步地被驱动。[0183]这样,指向多于两个DDR数据I/O端口的事务处理的地址可以在相同的时钟周期内被锁存,以允许对存储器设备中的储存位置进行高随机的访问。
[0184]以上实施方式示出了存储器设备、电路和对应的方法。现在将参考若干流程图来描述附加的方法。
[0185]图19是根据一个实施方式的方法1900的流程图。方法1900可以包括在输入时钟的一个周期内锁存多个地址值,每个这样的地址值对应于存储器设备中不同的事务处理1902。方法1900还可以包括通过针对每个事务处理的不同的数据输入/输出(I/O)端口提供对存储器阵列部分的双倍数据速率访问1904。这样的动作可以包括根据事务处理类型在数据I/O端口的同组I/O线路上驱动写数据或者输出读数据。
[0186]图20是根据另一个实施方式的方法2000的流程图。方法2000可以包括在输入时钟的上升边沿时锁存第一地址值2002。第二地址值可以在输入时钟的下一个下降边沿时被锁存2004。因此,两个地址值可以在输入时钟的一个周期内被锁存。理解到第一和第二地址值中的每个地址值可以是完整的地址,每个地址值识别对应的事务处理的不同的随机储存位置。换言之,第一和第二地址值不是相同地址的多路复用部分。
[0187]方法2000还可以包括响应于第一地址值访问多个存储体中的一个存储体2006。多个存储体中的另一个存储体可以响应于第二地址值被访问2008。理解到这些动作可以包括读或者写事务处理的任意组合。
[0188]方法2000可以响应于第一地址值在第一个双向数据I/O端口上以双倍数据速率输入或者输出数据2010。这些动作可以包括从在框2006中阐述的存储体中的位置读数据或者将数据写到其中。在一些实施方式中,双倍数据速率可以与以与在框2002/2004中阐述的输入时钟相同的实质频率操作的一个或者多个数据时钟有关。
[0189]以类似的方式,方法2000还可以包括响应于第二地址值在第二个双向数据I/O端口上以双倍数据速率输入或者输出数据2012。这样的动作可以包括从在框2008中阐述的存储体中的位置读数据或者将数据写到其中。如在2010的情况下,双倍数据速率可以与以与在框2002/2004中阐述的输入时钟相同的实质频率操作的一个或者多个数据时钟有关。
[0190]图21是根据另外的实施方式的方法2100的流程图。方法2100可以包括在输入时钟的上升边沿采样第一地址(识别存储体)2102。第二地址(也识别存储体)可以在输入时钟的下一个下降边沿被采样2104。
[0191]方法2100还可以包括采样对应于第一和第二地址的事务处理数据2106。事务处理数据可以识别对存储器设备的事务处理类型(例如,读/写)。事务处理数据还可以指示是否没有事务处理将发生。在一些实施方式中,这样的动作可以包括在针对框2102/2104阐述的输入时钟的上升和下降边沿时采样事务处理数据。然而,在其它实施方式中,针对两个地址的事务处理数据可以在输入时钟的相同边沿时被采样。
[0192]方法2100可以确定事务处理是否与第一地址相关2108。这样的动作可以包括确定事务处理数据是否指示针对第一地址的读或者写事务处理。如果这样的事务处理被指示(从2108得到Y),方法2100可以确定事务处理是否与第二地址2114相关。如同2108,这样的动作可以包括确定事务处理数据是否指示针对第二地址的读或者写事务处理。
[0193]如果事务处理数据指示在第一地址而不是第二地址有事务处理(从2114得到N),方法2100可以对由第一地址识别的存储体内的储存位置进行流水式访问2116。访问这样的储存位置可以通过第一数据端口,并且可以以双倍数据速率2122。
[0194]如果事务处理数据指示对于第一地址和第二地址两者都有事务处理(从2114得到Y),方法2100可以确定由第二地址识别的存储体是否与由第一地址识别的存储体相同2118。如果存储体是相同的(从2118得到Y),对第二地址的事务处理可以被确定是无效的2120,并且方法2100可以继续到框2116。如果存储体是不同的(从2118得到N),事务处理可以在两个存储体中发生。换言之,方法2100可以进行到框2116,并且另外地,可以对由第二地址识别的存储体内的储存位置进行流水式访问2112。访问这样的储存位置可以通过第二数据端口,并且可以以双倍数据速率2124。
[0195]仍然参考图21,如果没有事务处理被指示用于第一地址(从2108得到N),方法2100可以确定事务处理是否与第二地址相关2110。如果事务处理数据指示在第二地址而不是第一地址有事务处理(从2110得到Y),方法2100可以对由第二地址识别的存储体内的储存位置进行流水式访问(2112,2124)。
[0196]如果没有事务处理被指示用于第一或者第二地址中的任一个(从2110得到N),方法2100可以不对储存位置进行访问2126。
[0197]注意到在以上的实施方式中,一个时钟的“下降边沿”可以是补充时钟的上升边沿。另外地,在一个时钟和它的补充之间可以有一些偏斜。
[0198]应该认识到在前述的示范性实施方式的描述中,出于帮助理解一个或者多个不同的发明方面而精简本公开内容的目的,不同的特征有时在单个实施方式、图或者其描述中被分组在一起。然而,该公开内容的方法并不被解释为反映本发明需要比在每个权利要求中明确列举的更多的特征的意图。相反地,如以下权利要求所反映出的,发明方面在于少于单个前述的公开实施方式的全部特征。因此,在详细描述之后的权利要求由此被明确地并入本详细描述,每个权利要求依靠其自身作为本发明的独立的实施方式。
[0199]还理解到,本发明的实施方式可以在缺少未具体公开的元件和/或步骤的情况下被实践。换言之,本发明的发明特征可以省略一元件。
[0200]相应地,虽然在此阐述的特定的实施方式的不同的方面被详细描述了,但本发明能够经受不同的改变、替换和改造而不偏离本发明的精神和范围。
【权利要求】
1.一种存储器设备,包括: 多个双倍数据速率数据(DDR)端口,每个端口被配置为与至少第一时钟信号同步地在同组数据线路上独立地且同时地接收写数据和输出读数据; 地址端口,其被配置为在第二时钟的连续的、不同的跃迁时接收地址值,每个地址值对应于在所述数据端口的不同的端口上的访问;以及 存储器阵列部分,其包括多个存储体,每个存储体提供到其中的储存位置的流水式访问。
2.如权利要求1所述的存储器设备,其中: 所述存储器阵列部分包括译码器,该译码器被配置为响应于有效的事务处理而访问一个存储体,以及阻止在无效的事务处理中对任意存储体的访问;其中 有效的事务处理包括在所述第二时钟的一个周期中的任意第一事务处理,以及在所述第一事务处理之后在所述一个周期中的任意第二事务处理,并且该第二事务处理被指向的存储体不同于所述第一事务处理的存储体,以及 无效的事务处理包括在所述第一事务处理之后在所述一个周期中的任意第二事务处理,该第二事务处理被指向和所述第一事务处理相同的存储体。
3.如权利要求2所述的存储器设备,还包括: 耦合到每个数据端口的驱动器电路,每个驱动器电路被配置为响应于有效的读事务处理激活数据有效信号 ,并且响应于无效的读事务处理去激活所述数据有效信号。
4.如权利要求1所述的存储器设备,还包括: 每个数据端口包括多个数据线路组;以及 被耦合到每个数据端口的驱动器电路,所述驱动器电路根据在对应的数据线路组上的事务处理,结合有效读数据的输出激活对应于每个数据线路组的数据有效信号。
5.如权利要求1所述的存储器设备,还包括: 耦合到每个数据端口的数据反演电路,每个数据反演电路被配置为在写数据被应用到所述存储器阵列部分之前,响应于至少一个输入数据反演值,选择性地反演对应的数据线路上的写数据的至少一部分。
6.如权利要求1所述的存储器设备,还包括: 被耦合以接收在若干控制输入端上的命令数据的控制逻辑,所述控制逻辑以低于所述双倍数据速率的速率锁存命令数据。
7.如权利要求6所述的存储器设备,其中: 所述控制逻辑在所述第二时钟的第一类型跃迁时锁存对应于在第一数据端口上的事务处理的命令数据,并且在所述第二时钟的第二类型跃迁时锁存对应于在第二数据端口上的事务处理的命令数据。
8.如权利要求1所述的存储器设备,还包括: 被耦合到所述地址端口的地址反演电路,所述地址反演电路被配置为响应于至少一个输入地址反演值选择性地反演至少一部分所接收的地址值。
9.如权利要求1所述的存储器设备,其中: 每个存储体包括多个静态随机存取存储器(SRAM)单元,每个SRAM单元包括用于储存数据值的锁存电路。
10.一种存储器设备,包括: 多个双倍数据速率数据(DDR)端口,每个端口被配置为在同组数据线路上独立地且同时地接收写数据和输出读数据; 地址译码器, 该地址译码器被配置为响应于在所述第一时钟的第一类型跃迁时锁存的地址值,允许通过多个数据输入/输出(I/O)端口中的一个端口对来自多个存储体的选定存储体进行读或者写访问,且 该地址译码器被配置为响应于在紧随所述第一类型跃迁之后的第二类型跃迁时锁存的地址值,允许通过所述数据I/O端口中的另一个端口对除了所述选定存储体以外的任意存储体进行读或者写访问;以及 包括多个存储体的存储器阵列部分,每个存储体提供到其中的储存位置的流水式访问。
11.如权利要求10所述的存储器设备,还包括: 第一地址锁存器,其在所述第一时钟的第一类型跃迁时锁存在地址端口上接收的地址值;以及 第二地址锁存器,其在所述第一时钟的第二类型跃迁时锁存在所述地址端口上接收的地址值。
12.如权利要求10所述的 存储器设备,其中: 独立于对任意的其它存储体的访问,每个存储体提供对其中的储存位置的流水式访问。
13.—种方法,包括: 在第一时钟的一个周期内锁存多个地址值,每个地址值对应于存储器设备的不同的事务处理;以及 通过不同的数据输入/输出(I/O)端口,为每个事务处理提供双倍数据速率访问;其中 所述不同的事务处理中的每个事务处理可以包括任意的:读事务处理或者写事务处理。
14.如权利要求13所述的方法,其中: 锁存多个地址值包括 在所述第一时钟的上升边沿时锁存在地址端口上接收的用于所述数据I/O端口中的第一数据I/O端口的地址值,以及 在所述第一时钟的在所述上升边沿之后的下降边沿时锁存在所述地址端口上接收的用于所述数据I/O端口中的第二数据I/O端口的地址值。
15.如权利要求13所述的方法,其中: 在每个数据I/O端口上提供数据访问包括在写数据时钟的连续的、不同的跃迁时锁存写数据。
16.如权利要求13所述的方法,其中: 在每个数据I/O端口上提供数据访问包括与读数据时钟的连续的、不同的跃迁同步地输出读数据。
17.如权利要求13所述的方法,其中:在每个数据I/O端口上提供数据访问包括与读数据时钟的连续的、不同的跃迁同步地输出读数据且读时延为至少七个读数据时钟周期,所述读时延是在锁存对应的读事务处理的地址与在所述数据I/O端口上出现有效读数据之间的时间。
18.如权利要求13所述的方法,其中: 通过不同的数据I/O端口提供双倍数据速率访问包括在写数据时钟的连续的、不同的跃迁时锁存写数据且写时延为至少五个写数据时钟周期,所述写时延是在锁存对应的写事务处理的地址值和在所述数据I/O端口上驱动所述写数据之间的时间。
19.如权利要求13所述的方法,还包括: 在所述第一时钟的连续的、不同的跃迁时连同对应的地址值锁存事务处理值,其中每个事务处理值识别针对所述地址值的事务处理的类型。
20.如权利要求13所述的方法,还包括: 响应于接收的地址反 演值选择性地反演锁存的地址值。
【文档编号】G06F13/00GK103890740SQ201280000754
【公开日】2014年6月25日 申请日期:2012年4月6日 优先权日:2011年4月6日
【发明者】迪内希·马赫施瓦里, 布鲁斯·巴巴拉, 约翰·马里诺 申请人:赛普拉斯半导体公司