微线程存储器的制作方法

文档序号:6759136阅读:331来源:国知局
专利名称:微线程存储器的制作方法
技术领域
本发明主要地涉及存储器系统及其部件。
背景技术
虽然动态随机存取存储器(DRAM)保持为作为广泛类别的计算和消费者电子应用之选择的存储器,但是DRAM核存取时间没有随着存储器带宽需求而升级。例如,在同一存储体(bank)中不同存储行的激活之间的最小时间tRC就主导核技术而言保持在40纳秒附近;对于在吉赫兹频率操作的处理器是实质性存取时间惩罚。其它核存取时间,比如在多存储体阵列的不同存储体中行的激活之间的最小时间tRR以及在同一行中列存取操作(即在指定列地址处的读或者写操作)之间的最小时间tCC,也已经怠于改进。
设计者已经通过多种架构和系统级开发来解块核定时限制,这些开发着力于增加每次行激活的列存取操作(例如分页、多存储体阵列、预取操作)的数目以及最大化在各列存取中传送的数据量。具体而言,信号发送速率的进步已经可以实现在每一列存取中传送逐渐更大量的数据,由此增加了峰值存储器带宽。然而,由于信号发送速率更深入地进展到吉赫兹范围中并且对应的核存取时间保持相对恒定,所以列事务颗粒度即每一列存取所传送的数据量,被迫向上升级并且逼近DRAM本身内信号路径所强加的限制。另外,在某些类别的数据处理应用如图形应用中的趋势是常常在分散的存储器位置中存储的更小数据对象(例如3D场景的三角形片段)。在这样的应用中,为了增加列事务颗粒度而消耗的附加功率和资源会由于许多读取的数据可能不被使用而仅提供有限的有效存储器带宽增长。


在说明书附图的各图中通过示例的方式而不以限制的方式来图示本发明,在附图中相似的标号指代相似的单元,其中图1图示了用以实现减少的列事务颗粒度的数据传送间隔和数据传送路径的分割;图2图示了可以在其中执行微线程列操作的存储器器件的实施例;图3图示了可以在图2的存储器器件内使用的子存储体、列解码器和数据接口的更具体实施例;图4图示了在图2的存储器器件100内的单线程操作模式;图5图示了可以在图2的存储器器件内用来实现单线程和微线程存储器事务的请求接口的实施例;图6图示了当图2的存储器器件在单线程模式下操作时图5的请求解码器的行和列选通信号确立的示例性定时;图7和图8图示了存储器器件以及当在微线程模式下操作时可以在该存储器器件中执行的微线程存储器事务的示例性序列;图9图示了图5的请求解码器的寄存器选通信号确立的示例性定时;图10图示了可以在图2的存储器器件的可选实施例中执行的示例性链路交错的微线程存储器事务;图11图示了可以在其它存储器器件实施例中使用的可选链路交错的数据传送模式;图12A和图12B图示了示例性数据路径接口以及可以用来支持图8和图10中所示时间交错和链路交错的数据传送的示例性数据路径接口;图13和图14图示了存储器器件以及当在可选微线程模式下操作时可以在存储器器件中执行的微线程存储器事务的示例性序列;图15图示了可以在图2的存储器器件100内用来实现参照图13和图14描述的微线程存储器事务的请求接口的实施例;图16和图17图示了存储器器件以及微线程存储器操作的示例性序列,其中使用分离的行地址和列地址来在单个tCC间隔内存取存储器器件的四个存储体象限中各存储体象限的子存储体;图18图示了可以在图16的存储器器件内包括的请求接口的实施例;图19图示了图18的请求解码器的控制信号确立的示例性定时;图20A和图20B图示了示例性行请求格式;图21A和图21B图示了示例性列请求格式;图22和图23图示了具有用以与传统请求和数据路径接口连接的请求接口和数据路径接口的存储器器件以及存储器器件中微线程存储器操作的示例性序列;图24图示了经由图23中所示请求路径而提供的地址信息的更具体例子;图25图示了可以结合向图22的存储器器件发出的加载模式寄存器命令来提供的示例性配置信息;图26和图27图示了具有参照图22和图23描述的数据路径接口的存储器器件以及存储器器件中四乘四微线程存储器操作的示例性序列;图28图示了可以用来向图26的存储器器件传送第四存储体地址位的示例性定时信号布置;以及图29图示了包括存储器控制器和至少一个微线程存储器器件的存储器系统的实施例。
具体实施例方式
在以下描述中以及在附图中,给出了具体术语和附图符号以便提供对本发明的透彻理解。在一些实例中,术语和符号可能意味着对于实践本发明而言不需要的具体细节。例如,在电路单元或者电路块之间的互连可以被表示或者描述为多导体或者单导体信号线。可选地,各多导体信号线可以是单导体信号线,而各单导体信号线可以是多导体信号线。表示或者描述为单端接的信号和信号发送路径也可以是差动的,并且反之亦然。类似地,描述或者描绘为具有有效高或者有效低逻辑电平的信号在可选实施例中可以具有相反的逻辑电平。作为另一例子,描述或者描绘为包括金属氧化物半导体(MOS)晶体管的电路可选地可以使用双极技术或者可以实现信号控制的电流的任何其它技术来实施。就术语而言,当信号被驱动到低或者高逻辑状态(或者改变到高逻辑状态或者放电到低逻辑状态)以指示特定条件时认为信号被“确立”。反言之,认为信号被“解除确立”以指示信号被驱动(或者改变或者放电)到除确立状态以外的状态(包括高或者低逻辑状态或者如下的浮动状态,该浮动状态可能在信号驱动电路被转变到高阻抗情况如开路漏极或者开路集电极情况时出现)。也可以使用其中各传输符号传送多比特信息的多电平信号发送(即比特率大于波特率)。当信号驱动电路在信号驱动电路与信号接收电路之间耦合的信号线上确立(或者如果上下文有明确说明或者指示则是解除确立)信号时认为信号驱动电路“输出”信号到信号接收电路。当在信号线上确立信号时认为信号线被“激活”,而当信号被解除确立时则认为信号线被“去激活”。此外,附于信号名称的前缀符号“/”指示了信号是有效低信号(即确立状态是逻辑低状态)。在信号名称上方的线(例如 )也用来指示有效低信号。用语“端子”用来指电连接点。用语“示例性”用来表示一个例子而不是优先选择或者要求。
在这里描述的实施例中,动态随机存取存储器(DRAM)器件在给定的tCC间隔的数据传送容量(在这里称为tCC包络的一种度量)被细分并且分配给多个列存取事务,由此减少在任一事务中传送的数据量,但仍然维持DRAM器件的峰值存储器带宽。参照图1,例如,取代了遵循一种如90所示的将各tCC包络专用于单个列存取事务的这种常规的单线程方式,如92所示,响应于多个微线程列请求分割tCC包络来实现多个较小数据集的传送。通过以这一方式减少列事务颗粒度,DRAM的有效带宽可以相对于单线程方式而实质性地有所增加,因为多个感兴趣的数据对象可以在不同的微线程列存取事务中被具体地寻址并且在给定的tCC间隔内被返回,而不仅仅是单个数据对象及其潜在多余的邻近数据。
在一个实施例中,tCC包络在时间上被分割成分配有相应微线程列事务的部分tCC间隔(tCCp)的集合。在另一实施例中,tCC包络在空间上被分割,其中在存储器器件核与主机设备(例如存储器控制器)之间的数据路径资源被细分并且分配给不同的微线程列事务。同样参照图1,例如在存储器器件与存储器控制器之间形成外部数据路径的数据链路DQ可以被分割成两个或者更多数据链路的子集DQp,它们被分配给不同的微线程列存取事务。在其它实施例中,应用时间分割和空间分割两者来进一步减小列事务颗粒度。在图1中,例如tCC包络在时间上被分割成两个部分tCC间隔tCCp,并在空间上被分割成两个数据链路的子集DQp,由此将微线程列事务颗粒度减少到单线程列事务颗粒度的四分之一。在其它实施例中tCC包络可以被细分成更多或者更少的空间和/或时间分割。另外,在分割的tCC间隔中服务的多个微线程列存取请求可以针对同一存储体的打开页面,可以针对不同存储体的打开页面或者其任何组合。另外在一个实施例中,使用更密集的流水线行操作来实现对分割的存储体架构内的子存储体个别地进行寻址,在效果上增加了存储器器件内存储体的数目以及实现了在同一tCC间隔内服务的多个微线程列存取各自针对独立选择的存储体,行和列。
示例性微线程存储器架构的概述图2图示了其中可以执行各种类型的微线程列操作的存储器器件100的实施例。出于描述的目的而假设存储器器件100为DRAM器件,但是可选地可以是具有多个存储阵列的任何类型的存储器器件,这些存储阵列以如下方式共用寻址和/或数据路径资源对于针对不同存储阵列的顺序存取强加定时约束。因此,tCC约束和tRR约束在这里可选地可以是其它类型的存储器存取约束,这些约束与信号发送路径带宽一起限定了对应的数据传送包络。例如,这里描述的tCC包络分割旨在于作为一个对资源强加的时间约束以及信号发送路径带宽所限定的任何数据传送包络而进行的更具一般性分割的实例。另外,就时序约束本身而言,这样的约束可以被限定为为了避免存储器器件内的资源冲突(例如以确保正确操作)而必需的最小时间加上可选容差时间,该可选容差时间考虑了电路和/或信号路径达到预期状态所需要的时间上的统计变化。定时约束也可以通过定时信号如时钟信号或者选通信号来加以限定或者强加,因此可以被表达为将在紧接着的操作之间产生以便避免存储器器件内资源冲突的此类定时信号的转变的最小数目。
在所示特定例子中,存储器器件100包括请求接口101、列解码器1030-1033、行解码器1130-1133、数据路径接口105A和105B、以及八个存储体B0-B7。各存储体B0-B7由A和B子存储体对形成(例如子存储体B0-A和B0-B构成存储体B0、子存储体B1-A和B1-B构成存储体B1,依此类推),其中子存储体本身被组织成四组各自在这里称为象限的四个子存储体。四个象限在图2中表示为Q0-Q3。在图2的实施例中,同一象限中的子存储体共用行解码器和列解码器,并且都是来自偶数存储体集合或者奇数存储体集合的A或者B子存储体。例如,象限Q0包括经由相应列路径(统称为1170)耦合到列解码器1030和经由相应字线的集合(统称为1150)耦合到行解码器1130的偶数编号的A组子存储体(即B0-A、B2-A、B4-A和B6-A)。在其余象限中,Q1包括经由列路径1171耦合到列解码器1031和经由字线1151耦合到行解码器1131的奇数编号的A组子存储体;Q2包括经由列路径1172耦合到列解码器1032和经由字线1152耦合到行解码器1132的偶数编号的B组子存储体;而Q3包括经由列路径1173耦合到列解码器1033和经由字线1153耦合到行解码器1133的奇数编号的B组子存储体。尽管在对这里描述的各种存储器器件实施例的描述中发展了存储器器件100的架构,但是在所有情况下这样的存储器器件都可以具有任何数目的存储体、每一存储体中任何数目的子存储体和每一解码器共用组中任何数目的子存储体。
当作为存储器系统的一部分来操作时,存储器器件100的请求接口101经由请求路径(未示出)从存储器控制器或者其它主机设备接收请求(或者命令或者指令)流,并且向行解码器113和列解码器103发出对应的控制和地址信号以进行所请求的操作。就术语而言,用语“请求”在这里用来意指向存储器器件100发出的请求、命令或者指令,该请求、命令或者指令使存储器器件采取在该请求中或者按照在其中接收该请求的上下文而指定的动作。存储器器件响应于给定的请求而采取的动作被称为操作,操作的例子包括行激活操作、列存取操作(可以是读或者写存取)和预充电操作。请求及其对应操作在这里统称为事务。另外,一些事务可以包括多个组成请求和操作。在DRAM器件的情况下,例如完整的数据存取事务可以通过行激活请求、一个或者多个列存取请求和预充电请求来指定。行激活请求针对存储器器件100的存储体和行(例如通过与该请求包含在一起的存储体地址和行地址来指定)并且通过如下方式被服务使行的内容输出到存储体的位线上并且由此传送到页面缓存器(例如通过分别耦合到位线的锁存读出放大器形成的存储结构)中。列地址请求针对存储器器件100的存储体和列(例如通过与该请求包含在一起的存储体地址和列地址来指定)并且通过如下方式被服务读取或者改写在用于指定存储体的页面缓存器内由列地址指定的子域(列)中的数据。在完成针对打开页面(例如页面缓存器内容)的列存取之后,可以进行预充电操作以对主体存储体的位线进行预充电从而预备后续的行激活。
当接收行激活请求时,请求接口101从该请求恢复存储体地址和行地址值,并且经由信号路径1111-1113将地址值转发到用于由存储体地址指定的象限的行解码器1130-1133。在一个实施例中,每个行解码器113均包括第一级解码器,用以选择耦合到由存储体地址指定的子存储体的字线集合;以及第二级解码器,用以激活所选字线集合内由行地址指定的字线,由此使耦合到激活字线的单元(cell)的内容到达所选子存储体的位线上。在其它实施例中,可以以更多或者更少的解码器级进行存储体和行解码操作。另外,一个或者多个行地址选通信号可以由请求接口101或者其它控制逻辑来发出用以控制字线激活定时。
当在存储器器件100中接收到列存取请求时,请求接口101从该请求恢复存储体和列地址值,并且将地址值转发到用于由存储体地址指定的象限的列解码器103。在一个实施例中,每个列解码器103均包括存储体多路复用器,用以实现对用于由存储体地址指示的子存储体的页面缓存器的存取(即经由所选的一个列存取路径117);以及列多路复用器,用以选择页面缓存器存储单元列以供读或者写存取。在可选实施例中可以使用其它电路布置来解析列地址位置。另外,一个或者多个列地址选通信号可以由请求接口101或者存储器器件100中其它控制逻辑来发出,用来控制列存取定时。
在完成打开页面中的列操作(例如响应于对应的列存取请求而进行的读或者写操作)之后,预充电请求和关联的存储体地址可以在请求接口101中被接收并且通过如下方式被服务去激活先前激活的字线并且对用于指定存储体的位线进行预充电。在完成预充电操作之后,指定存储体处在用于另一行激活操作的情况下。
仍然参照图2,数据路径接口105A、105B各经由列数据路径119耦合到相应列解码器对103以实现读和写数据在列解码器与外部数据路径(未示出)之间的传送。更具体而言,数据路径接口105A实现经由列数据路径1190和1191在外部数据路径的第一部分与页面缓存器内的所选读出放大器(即通过列解码器1030和1031来选择)之间的数据传送,以及数据路径接口105B实现经由列数据路径1192和1193在外部数据路径的第二部分与页面缓存器内的所选读出放大器(即通过列解码器1032和1033来选择)之间的数据传送。
图3图示了可以在图2的存储器器件100内使用的Q0和Q1子存储体(即子存储体B0-A至B7-A)、列解码器1030/1031和数据接口105A的更具体实施例。Q2和Q3子存储体、列解码器1032/1033和数据接口105B可以在与图3中所示实施例相似或者相同的实施例中实施,因此不单独地加以描述。
在图3的实施例中,子存储体B0-A至B7-A各自包括经由位线169彼此耦合的存储阵列145和页面缓存器147。参照详细视图165,存储阵列145由排列成行和列的存储器单元170形成。各列存储器单元170经由位线169耦合到页面缓存器147内的相应读出放大器168,而各行存储器单元经由字线166耦合到行解码器113(或者其部件)。在所示特定实施例中,各存储器单元170是由晶体管开关(例如具有耦合到位线169的漏极和耦合到字线166的栅极)和耦合在晶体管开关的源极与单元板基准或者其它基准节点之间的电容存储单元形成的DRAM存储器单元。在可选实施例中可以使用其它类型和配置的存储器单元。如上文所讨论的,在行激活操作过程中字线被激活而使耦合到字线的存储单元170(即由字线选择的行)的内容到达位线169上并且由此传送这些内容到页面缓存器147。在预充电操作过程中,打开页面(即页面缓存器的内容)被关闭并且对位线169进行预充电以便预备另一行的激活。可以通过激活操作和预充电操作的组合在给定的子存储体或者子存储体集合的行中执行刷新操作。
如上文所讨论的,列解码器1030和1031分别使得可以实现针对象限Q0和Q1的子存储体内打开页面的列操作(即读或者写操作)。在图3的实施例中,列解码器1030和1031各自包括四个列多路复用器149(各列地址多路复用器用于对应象限的各子存储体)和存储体多路复用器151的集合。存储体多路复用器151实现响应于存储体地址或者存储体地址内的至少最高有效位(MSB)或者其它位子集而对列多路复用器149之一的存取(即选择)。参照详细视图165,所选列多路复用器149包括多路复用器/解多路复用器电路164的集合,各电路实现对页面缓存器147内相应由列地址选择的存储单元列(简称为列)的读或者写存取;操作在这里称为列存取。在写操作的情况下,存储体多路复用器151和列多路复用器149执行解多路复用功能,将数据从数据路径接口105A路由到所选列。在读操作中,存储体多路复用器151和列多路复用器149通过将数据从所选列路由到数据接口105A来执行多路复用功能。注意到在可选实施例中存储体多路复用器151和列多路复用器149可以互换,使得存储体多路复用器151耦合到子存储体位线169,而单个列多路复用器耦合于存储体多路复用器151的输出与数据路径接口105A之间。
在图3的实施例中,数据路径接口105A包括串行解串行(serdes)收发器对173(即串行/解串行收发器,执行传出数据的并行到串行转换和传入数据的串行到并行转换),各收发器耦合于外部数据路径接口171与列解码器1030和1031中相应一个列解码器之间。各串行解串行收发器173包括数据串行器177、发送器175、数据解串行器181和接收器179。在读操作中,数据串行器177通过经由列数据路径119从列解码器103接收128位读数据值(即列数据)并且以十六字节流的形式将读数据递送到发送器175来执行多路复用功能。发送器175又在连续数据传输间隔中经由外部数据路径接口171发送各字节。接收器179和数据解串行器181执行数据串行器177和发送器175的逆功能。也就是说,接收器179对在连续的数据接收间隔期间经由外部数据路径接口171到达的信号进行采样以将十六字节流递送到数据解串行器181。数据解串行器181通过将传入字节流聚集到128位数据写数据值中以便经由列数据路径119递送到对应的列解码器103来执行解多路复用功能。虽然示出了8位外部数据路径接口171和128位列数据路径119,但是在可选实施例中可以使用不同的路径宽度。在不需要数据多路复用/解多路复用(例如外部数据路径宽度与存储器器件的列数据大小相匹配)的可选实施例中,可以省略数据串行器177和/或数据解串行器181。
仍然参照图3,发送器175例如可以是用于生成具有实质上任何幅度和任何调制类型的输出波形的电流模式或者电压模式输出驱动器。另外,发送器175可以生成多位符号(即比特率大于波特率),执行各种编码操作(例如8b/10b)和/或将错误检验信息添加到传出比特流中(例如奇偶位、错误码校正(ECC)位、校验和、循环冗余检验值等)。接收器179类似地可以被设计用来对以任何方式调制的电流模式或者电压模式传输进行采样,其中根据在各传输符号中传送的位数将各采样解析成一个或者多个位。接收器还可以执行解码操作和错误检验操作。另外,发送器和接收器可以在不同操作模式和/或频率之间切换,例如在一个模式下对多位符号进行操作而在另一模式下对单位符号进行操作。
构成外部数据路径的信号发送链路可以是点到点或者多下路(drop)、差动或者单端接的,而且可以用来承载同步或者异步传输。数据路径接口105A因而可以是同步或者异步信号发送接口。在同步传输的情况下,传输的数据信号可以是自定时的(例如在数据波形内带有钟控信息)或者伴随有定时信号如一个或者多个时钟信号、选通信号等。在自定时传输的情况下,可以在发送器175中提供编码电路用以对各传出比特流(即同步于一个或者多个传输时钟信号而在外部数据路径接口的任何单个链路上传输的流)进行编码以确保用于时钟恢复的充分转变密度(例如8b/10b编码),并且可以在接收器179中提供对应的时钟数据恢复电路和解码电路用以恢复钟控信息和未编码的传输数据。这样的钟控信息无论是以外部定时信号(例如时钟或者选通信号)的形式来接收还是从传入比特流中恢复都可以用来控制向接收器179供给的用以触发对传入数据信号进行采样的一个或者多个采样时钟信号的相位。
单线程模式图4图示了在图2的存储器器件100内的单线程操作模式,并且是部分地为了与下文描述的随后微线程操作模式进行对照而提供的。参照请求路径201(RQ),通过一连串请求间隔200接收流水线请求流,其中有阴影格的块指示了如下请求,这些请求形成了针对所选存储体的多存取读事务205的一部分。带状块代表了针对其它存储体的请求。在所示示例性实施例中,在每一链路每秒0.8吉赫兹(Gb/s)的传统信号发送速率(即低于最大的支持信号发送速率)下操作请求路径。通过传输间隔对传送各命令,由此建立2.5ns请求间隔。在可选实施例中,可以使用更高或者更低的信号发送速率,并且可以在更多或者更少的传输间隔中传送各请求。
请求路径201被表示为逻辑流水线203A、203B和203C的集合以有助于使在多存取读事务205中包含的不同类型的请求的相对定时可视化。流水线203A在这里称为激活流水线(RQ-ACT),并且带有行激活请求(例如207),各请求包括行激活命令说明符以及用以标识待激活的具体行的存储体地址和行地址值。流水线203B在这里称为列存取流水线(RQ-CA),并且带有列存取请求(例如209),各请求包括指定读或写存取的列存取命令说明符以及用以标识待存取的存储体和列的存储体地址和列地址值。流水线203C这里称为预充电流水线,并且带有预充电请求(例如213),各请求包括预充电命令说明符和用以指示待预充电的存储体的存储体地址。
当接收针对存储体B0的行‘z’(B0-Rz)的行激活请求207时启动多存取读事务。存储器器件通过向用于存储体B0的行解码器(即行解码器1130和1132)发出存储体地址和行地址来对行激活请求做出响应。在所示特定实施例中,假设在同一存储体中的行激活之间的最小时间tRC为40ns,使得直至在十六个请求间隔以后才接收针对存储体B0的另一行激活请求,如215所示。另外,假设在任意不同的存储体中的行激活之间的最小时间tRR为10ns,使得直至在四个请求间隔以后才接收另一行激活请求217。
形成多存取读事务205的一部分的两个列存取请求中的第一列存取请求209是在激活请求207之后的预定时间(在这一例子中为五个请求间隔以后)被接收的,并且指定了在B0打开页面的列‘a’(B0-Ca)处读取。由于在这一例子中假设在对同一打开页面的存取之间的最小时间tCC为5ns,而存储器器件正在单线程模式下操作,所以两个列存取请求中的第二列存取请求211是在接收第一列存取请求之后的两个请求间隔(即tCC间隔以后)被接收的,并且指定了在B0打开页面的不同列即列‘b’(B0-Cb)处读取。简略地参照图2,请求接口201通过经由有阴影的列地址路径1090和1092将存储体地址和列地址值递送到偶数存储体列解码器1030和1032,这些解码器又从如图所示B0-A和B0-B子存储体的列‘a’取回数据,从而对第一列存取请求209做出响应。取回的列‘a’数据然后经由有阴影的列数据路径1190和1192被递送到数据接口。请求接口201类似地通过将存储体地址和列地址值递送到偶数存储体列解码器2030和2032,这些解码器又从B0-A和B0-B子存储体的列‘b’取回数据并且将数据输出到数据路径接口105A和105B,从而对第二列存取请求211做出响应。
回到图4,在数据传送操作中将响应于第一列存取请求209而取回的列数据输出到外部DQA和DQB信号路径225上,该数据传送操作在接收列存取请求209之后的预定时间开始。在列存取请求209与传出(或者传入)列数据之间的对应性通过引线227来图示,该引线从列存取请求(即在流水线203B中)延伸到通过信号路径225的阴影状数据传送;下文讨论在图4以及其它图中使用的记法。在这一单线程例子中,通过始于215的tCC间隔响应于第一列存取请求来传送列数据。更具体而言,通过DQA链路(在这一例子中为八个链路,不过在可选实施例中可以提供更多或者更少链路)从子存储体B0-A输出列‘a’数据,而通过DQB链路从子存储体B0-B输出列‘a’数据,从两个B0子存储体传送列‘a’数据由此消耗如图所示整个tCC包络。如上文所讨论的,tCC包络是信号发送带宽与tCC间隔的乘积,使得给定5ns tCC间隔(在以下描述中通篇假设的值,不过可以使用具有相同或者不同tCC约束的实质上任何存储器核技术)并且假设16个DQ链路中各DQ链路有3.2Gb/s信号发送速率,则tCC包络为32字节(即[16个链路×3.2Gb/s/链路]×5ns=256位=32字节)。在所示单线程例子中,在每一tCC间隔服务各列接入请求,使得列事务颗粒度CTG也为32字节。因此,列事务颗粒度与tCC包络作同等扩张。
通过在列‘a’数据传送操作结束时开始的tCC间隔将响应于第二列存取请求211而取回的列‘b’数据输出到DQA和DQB信号路径上。因此,如先于它的列‘a’事务那样,列‘b’事务消耗整个tCC包络,因此具有32字节的列事务颗粒度。
仍然参照图4,预充电请求213是在第二列存取请求211之后的预定时间(在这一例子中为三个请求间隔)被接收的并且包括预充电命令说明符(Pre Cmd)以及指示待预充电的存储体地址(在这一例子中是B0)。请求接口通过将去使能信号发到用于存储体B0的行解码器并且将预充电使能信号发到子存储体B0-A和B0-B的页面缓存器以对子存储体位线进行预充电,从而在预定时间以后(例如在已经从B0-A/B0-B页面缓存器取回列‘b’数据之后)执行所请求的预充电操作。预充电操作因此关闭响应于行激活请求207而打开的页面,由此结束多存取读事务205。由于两个列存取操作各自产生32字节传送,所以行事务颗粒度(即针对给定的行激活而传送的数据量,RTG)是64字节。在可选实施例中可以针对给定的行激活而执行更多或者更少的列存取事务,对应地产生增加或者减少的行事务颗粒度。
假设经由请求路径201接收稳定的行激活请求流以及对应的列存取请求对和预充电请求,请求路径201可以保持满负荷(即没有未使用的请求间隔),并且数据路径225类似地可以完全被所请求的数据传送所消耗,其中每个所请求的数据传送具有32字节的列事务颗粒度和64字节的行事务颗粒度。然而,当在数据路径225上的信号发送速率增加到存储器器件的完全速率时,行和列事务颗粒度也增加。例如在一个实施例中,图2存储器器件的数据路径接口105所支持的完全信号发送速率是6.4Gb/s(在可选实施例中可以支持其它信号发送速率)。由于存储器器件的tCC间隔保持不变,所以tCC包络加倍到64字节,并且如果遵循单线程方式,则列事务颗粒度和行事务颗粒度也将分别加倍到64字节和128字节。为了支持增加的列事务颗粒度,可能需要增加在列解码器和数据路径接口内的信号路径数目。参照图2和图3,例如由于64字节的列事务颗粒度对应于各子存储体中的256位(32字节)列存取,所以在列解码器103(即在列多路复用器149与存储体多路复用器151之间)和数据路径接口105A、105B内的各128位信号路径将扩充到256位信号路径以支持增加的数据传送速率。尽管潜在地可以实现,但是这样增加的路径宽度造成增加的制造成本和功率消耗(即路径宽度在存储器器件的各子存储体和数据接口中增加)而可用于这种增加的净空缩小。另外如上文所讨论的,在倾向于存取小的散布数据对象的应用中,在给定的列存取中返回的数据只有少部分是可以使用的。例如,在当代图形应用中的普遍三角形尺寸是六字节,而由于渲染顺序,常常不可能在同一列存取中获取连续渲染的三角形。在这样的应用中,将列事务颗粒度从32字节加倍到64字节在有效带宽上仅可提供很少的提高。
图5图示了可以用来支持存储器器件内的单线程操作模式以及下文讨论的微线程操作模式的请求接口。请求接口300包括请求解码器301、偶数存储体行控制寄存器305A、305B(EBRC)、奇数存储体行控制寄存器307A、307B(OBRC)、偶数存储体列控制寄存器309A、309B(EBCC)和奇数存储体列控制寄存器311A、311B(OBCC)。偶数和奇数存储体行控制寄存器305、307经由行总线315耦合到请求解码器301,而偶数和奇数存储体列控制寄存器309、311经由列总线317耦合到请求解码器301。
在一个实施例中,在可选请求解串行器304中对经由请求接点(pad)303(即从外部请求路径)接收的传入符号流进行解串行以向请求解码器301递送n位宽请求的对应流(注意到尽管在这里多个实施例中涉及接点,但是在所有这样的情况下,都可以使用电容耦合节点或者通向外部信号发送路径的任何其它接口)。传入请求可以包括实质上任何类型的请求,包括但不限于上文讨论的行激活请求、列存取请求和预充电请求以及例如用来启动一个或者多个存储体内的刷新操作、对存储器器件内的操作模式进行编程(例如在单线程模式与多个不同微线程模式中的一个或者多个微线程模式之间选择;以及在多个不同刷新模式、电源模式、预充电模式等之间选择)、启动信号发送校准和/或训练操作、启动自测试等的其它请求。
可以由一个或者多个状态机、微序列器和/或其它控制电路来实施的请求解码器301对各传入请求进行解码(例如通过解析用以标识该请求的命令说明符域或者操作代码域)并且发出实现所请求的操作所必需的各种信号。例如,在对具有图4的请求207中所示存储体地址和行地址域的行激活请求进行解码后,请求解码器301可以将行地址和存储体地址连同指示了激活操作的控制值一起输出到行总线315上,然后根据激活请求是针对偶数存储体还是奇数存储体(例如取决于对存储体地址的最低有效位(LSB)或者其它一个或者多个位的检查)来确立偶数行选通信号321A(ERS)或者奇数行选通信号321B(ORS)以将地址值和控制值从行总线315加载到偶数存储体行控制寄存器305A、305B或者奇数存储体行控制寄存器307A、307B中。分别经由信号路径1110和1112将加载到偶数存储体行控制寄存器305中的地址值和控制值供给到用于A组和B组子存储体的偶数存储体行解码器(即图2的行解码器1130和1132),而分别经由信号路径1111和1113将加载到奇数存储体行控制寄存器307中的地址值和控制值供给到用于A组和B组子存储体的奇数存储体行解码器。在一个实施例中,经由路径111对地址值和控制值的递送启动了在对应行解码器内的专用行操作(例如激活或者预充电),使得响应于偶数行选通信号321A和奇数行选通信号321B的确立(即当更新了对应寄存器305和307时)而有效地启动行操作。在可选实施例中,偶数行选通信号321A和奇数行选通信号321B(或者从中导出的或者独立生成的其它控制信号)可以输出到行解码器以启动其中的行操作。
在一个实施例中,请求解码器301以与行激活请求基本上相同的方式对传入列存取请求做出响应,不同之处在于与请求包含在一起的存储体地址值和列地址值连同指示了例如是否要执行读操作还是写操作的控制值一起输出到列地址总线317上。随后,请求解码器301确立偶数列选通信号323A(ECS)或者奇数列选通信号323B(OCS)以将来自列地址总线317的地址值和控制值加载到偶数存储体列控制寄存器309A、309B或者奇数存储体列控制寄存器311A、311B,由此启动对应列解码器中的指定列存取操作(即列控制寄存器309和311的内容经由路径109输出到对应列解码器以启动其中的列存取操作)。与针对行请求一样,请求解码器301可以检查存储体地址的一个或者多个位以确定给定的列存取请求是针对偶数存储体还是奇数存储体,并且相应地确立偶数列选通信号323A或者奇数列选通信号323B。作为可选,请求解码器301可以根据预定协议将传入列存取请求与先前接收的行激活请求相关联,使得在行激活请求中接收的存储体地址用来确定存储体集合,即随后接收的列存取请求所针对的是偶数存储体还是奇数存储体。在这样的实施例中,可以从列地址请求中省略存储体地址的LSB(或者用来指定目标存储体集合的其它一个或者多个位)以使得在其中传送其它请求或者信息(例如,预充电信息)。在任一情况下,加载到偶数存储体列控制寄存器309中的存储体和列地址值(这些地址值可以省略存储体地址中用来指定目标存储体集合的LSB位或者其它一个或者多个位)分别输出到用于A组和B组子存储体的偶数存储体列解码器(即图7的列解码器1030和1032),而加载到奇数存储体列控制寄存器311中的存储体和列地址值输出到奇数存储体列解码器。
图6图示了当图2的存储器器件100在单线程模式下操作时由图5的请求解码器301进行的行和列选通信号确立的示例性定时。如图所示,在对行激活请求207进行解码后,请求解码器301分别利用在请求207中提供的存储体地址、行地址和控制信息来确立偶数行选通信号321A(ERS)或者奇数行选通信号321B(ORS)以加载偶数行控制寄存器305A、305B或者奇数行控制寄存器307A、307B,由此启动偶数或者奇数存储体集合中的行激活操作。虽然在图6中示出了偶数行选通信号321A的确立,但是将确立奇数行选通信号321B以启动奇数存储体集合中的行激活。存储体地址的最低有效位可以用来控制确立两个选通信号321A和321B中的哪一选通信号,因此不需要加载到所选控制寄存器上。在tRR间隔已经消逝之后,接收针对不同存储体的另一行激活请求,并且确立另一选通信号321A或者321B以启动对应的行激活操作。
在对针对响应于行激活命令207而激活的行的列存取请求209进行解码(即指定与行激活命令207相同的存储体地址)后,请求解码器分别利用在请求209中提供的存储体地址、列地址和控制信息来确立偶数列选通信号323A(ESC)或者奇数列选通信号323B(OCS)以加载偶数列控制寄存器309A、309B或者奇数列控制寄存器311A、311B,由此启动用于指定存储体的打开页面内的列存取操作(例如读或者写操作)。虽然在图6中示出了偶数列选通信号323A的确立,但是将确立奇数列选通信号323B以启动在针对奇数存储体集合内存储体的事务中的列存取操作。同样,存储体地址的最低有效位可以用来控制确立两个选通信号323A、323B中的哪一选通信号以启动列存取操作。在tCC间隔已经消逝之后,在请求解码器301内接收针对与请求209的相同的存储体但是不同列地址的另一列存取请求211。在对列存取请求211进行解码后,请求解码器确立偶数列选通信号323A或者奇数列选通信号323B以加载对应的一对寄存器309A/309B或者311A/311B(即与响应于解码请求209而加载的相同寄存器对,因为两个请求均涉及同一打开页面),并且由此启动第二列存取操作,该操作针对响应于请求207而激活的行。因此,每一tCC间隔确立一次列选通信号(323A或者323B)以实现通过完整的tCC间隔并且使用DQ路径的所有链路来进行指定数据传送。也就是说,当图2的存储体器件在单线程模式下操作时,响应于列存取请求的数据传送消耗整个tCC包络。
考虑图5的请求接口300的操作,应当注意由于均在锁定步骤中操作偶数行控制寄存器305A、305B(即响应于同一选通信号321A来加载305A和305B),所以寄存器305A和305B可以被单个行控制寄存器所取代,该寄存器在被加载时启动在形成偶数存储体集合的子存储体象限(即Q0、Q2)中的指定行操作(例如激活或者预充电)。类似地,奇数行控制寄存器对307A/307B、偶数列控制寄存器对309A/309B和奇数列控制寄存器对311A/311B各自可以被相应单个寄存器所取代。另外,如果请求接口300不包括对微线程列操作的支持,则整个寄存器集合可以减少到单个行控制寄存器和单个列控制寄存器,加载到各寄存器中的控制和地址信息则提供给存储器器件100的所有四个象限中的行和列解码器。在这样的实施例中,在各象限内的行和列解码器可以例如基于存储体地址的最低有效位来确定是启动行操作还是列操作(即如果BA
为‘0’,则在偶数象限Q0/Q2的解码器中启动行/列操作,而如果BA
为‘1’,则在奇数象限Q1/Q3的解码器中启动行/列操作)。然而,当在微线程模式下操作存储器器件100时,附加行控制寄存器在存储器器件100的不同区域中实现在时间上重叠的行操作,而附加列控制寄存器在存储器器件100的不同区域中实现在时间上重叠的列操作。在一个实施例中,在其中执行重叠操作的不同区域是存储器器件100的偶数和奇数存储体集合。在另一实施例中,不同区域是存储器器件100的四个象限。在下文中进一步具体地讨论这些实施例以及其它实施例。微线程存储器事务图7和图8图示了当以完全信号发送速率在微线程模式下操作时可以在图2的存储器器件100中执行的微线程存储器事务的示例性序列(例如数据路径和请求路径信号发送速率分别增加到6.4Gb/s和1.6Gb/s;使上述3.2Gb/s和0.8Gb/s传统信号发送速率加倍)。取代了将完全tCC包络分配给单个列存取(即如在参照图2-6描述的单线程模式下)以及重新设计存储器器件100以包括宽度加倍的内部数据路径宽度,tCC包络被细分成子包络,这些子包络被分配给奇数和偶数存储体集合中的交替事务。也就是说,认识到tRR约束应用于任意存储体选择并且被强加用来主要避免同一存储体集合中存储体所共用的资源(例如偶数存储体所共用的行解码器和奇数存储体所共用的行解码器)的冲突使用,继而可以在总体tRR间隔内的子间隔(在这里称为部分tRR间隔,tRRp)中执行交替地针对奇数和偶数存储体集合的行激活操作。另外,由于为偶数和奇数存储体集合提供不同的列解码器集合和不同的数据路径资源,所以可以在单个tCC间隔(这里称为部分tCC间隔,tCCp)内接连地执行针对交替存储体集合中激活行的微线程列操作。通过这一方式,在微线程模式下并发地使用在单线程模式下以近似50%占空比来使用(即将偶数存储体资源或者奇数存储体资源用于给定的行或者列操作)的在存储体器件100内的解码器和数据路径资源,以支持微线程列存取操作。由于在各微线程列存取操作中传送的数据消耗tCC包络的仅一部分,所以在同一信号发送速率下相对于用于单线程操作的颗粒度而言实现了减少的列事务颗粒度。因此,有效地使数据吞吐量加倍而不致使存储器器件的内部数据路径的宽度加倍,同时又减少列事务颗粒度。
参照对图7中存储器器件100和图8中所示行激活流水线251A的描绘,第一行激活请求253启动存储体B0、行‘z’的激活(即图7中的“Rz”、图8中的“Act B0-Rz”)。一个tCC间隔以后(即在所示示例性1.6Gb/s请求路径信号发送速率下的四个1.25ns的请求间隔以后),第二激活请求255启动存储体B1、行‘y’的激活(Act B1-Ry)。注意到尽管在单个tRR间隔内接收两个行激活请求253、255,但是两个请求交替地针对偶数和奇数存储体(在这一例子中为B0和B1),因此没有冲突。如列存取流水线251B中所示,在接收B0-Rz激活请求253之后的预定时间,接收第一微线程列存取请求257,该请求指定了在存储体B0、列‘a’处的读取。类似地,在接收B1-Ry激活请求255之后的预定时间并且在用于第一微线程列存取请求257的tCC间隔消逝之前,接收第二微线程列存取请求259,该请求指定了在存储体B1、列‘e’处的读取(Rd B1-Ce)。因此,在单个tCC间隔内接收两个微线程列存取请求257、259,并且由于请求交替地针对奇数和偶数存储体集合,所以无冲突地被服务。更具体而言,如275所示,在始于271的tCC间隔的前一半间隔期间,从子存储体B0-A和B0-B的列‘a’取回的读数据被分别地递送到数据接口105A和105B以便在DQA和DQB链路上传输,而在同一tCC间隔的后一半间隔期间,从子存储体B1-A和B1-B的列‘e’取回的读数据被递送到数据接口105A和105B以便在DQA和DQB链路上传输。通过这一布置,在两个微线程列存取操作之间有效地分割64字节的tCC包络,各具有32字节列事务颗粒度,其中如展开视图272中所示在相应tCCp间隔期间将用于各微线程列存取操作的数据输出到DQA和DQB链路上。此外,由于在针对奇数和偶数存储体集合的列存取之间分割tCC包络,所以可以通过现有数据路径接口105A/105B来携带在任一部分tCC间隔期间传输的数据。因而,存储器器件100的内部数据路径宽度无需增加以适应增加的数据路径带宽,避免了上文讨论的添加的制造/操作成本和净空问题。
仍然参照图7和图8,在接收第一针对B0的微线程列存取请求257之后的tCC间隔,接收第二微线程列存取请求261,该请求针对B0并且指定了在列‘b’处的读取(即Rd B0-Cb)。类似地,在接收第一针对B1的微线程列存取请求259之后的tCC间隔,接收第二针对B1的微线程列存取请求263,该请求指定了在列‘f’处的读取(即Rd B1-Cf)。以与第一针对B0和针对B1的微线程列存取请求257、259相同的方式来服务于第二针对B0和针对B1的微线程列存取请求261、263,造成了通过tCC间隔的前一半间隔(即第一tCCp间隔)传输B0、列‘b’数据,紧接着通过tCC间隔的后一半间隔传输B1、列‘e’数据和传输B1、列‘f’数据。因而执行了四个微线程列操作,造成在始于271的单个tRR间隔上进行四个32字节的数据传送。由于各行激活产生两个32字节列数据传送,各传送是在如274所示的相应tRRp间隔内,所以行事务颗粒度是64字节,即通过tRR间隔的数据路径的128字节数据传送容量的一半(即128字节的tRR包络的一半)。
在接收针对存储体B0和B1的微线程列存取请求261和263之后的预定时间,在请求接口101中接收针对相同存储体的预充电请求265和267(即如预充电流水线251C中所示)。以与上文讨论的的方式来服务预充电请求265、267以关闭指定存储体中打开页面。
图9图示了当在微线程模式下时图5的请求解码器301的行和列选通信号确立的示例性定时。如图所示,在对针对偶数存储体的行激活请求253进行解码后,请求解码器301确立偶数行选通信号321A以加载偶数行控制寄存器305A、305B,并且由此将存储体和地址值递送到用于偶数存储体的行解码器。在部分tRR间隔(tRRp)已经消逝之后,接收针对奇数存储体的行激活请求255。在对奇数存储体行激活请求255进行解码后,请求解码器301确立奇数行选通信号321B以加载奇数存储体行控制寄存器307A、307B,并且由此将存储体和行地址值递送到用于奇数存储体的行解码器。因此,假设满负荷加载的行激活流水线,请求解码器在各tRRp间隔之后交替地确立偶数行和奇数行选通信号321A、321B以将存储体和行地址值交替地递送到用于奇数和偶数存储体集合的行解码器。
仍然参照图9,在对针对偶数存储体的列存取请求257(即微线程列存取请求)进行解码后,请求解码器301确立偶数列选通信号323A以加载偶数存储体列控制寄存器309A、309B,并且由此将存储体和列地址值递送到用于偶数存储体的列解码器。在部分tCC间隔(tCCp)已经消逝之后,接收针对奇数存储体的列存取请求259。在对奇数存储体列存取请求259进行解码后,请求解码器301确立奇数列选通信号323B以加载奇数存储体列控制寄存器311A、311B,并且由此将存储体和列地址值递送到用于奇数存储体的列解码器。因此,假设满负荷加载的列存取流水线,请求解码器301在各tCCp间隔之后交替地确立ECS和OCS信号以将存储体和列地址值交替地递送到用于奇数和偶数存储体集合的列解码器。如图8中所示,ECS和OCS信号的交替确立实现了在单个tCC间隔内多个微线程列存取操作时间交错地传送列数据。分别响应于列存取请求261和263在第二tCC间隔期间由请求解码器301确立ECS和OCS信号,由此实现在如图8中所示的后续tCC间隔期间重复时间交错的数据传送。
图10图示了可以在图2的存储器器件100的可选实施例中执行的示例性链路交错的微线程存储器事务。在请求接口101中接收并且以与上文参照图7-9讨论的方式大致相同的方式来处理行激活请求253和255、微线程列存取请求257、259、261和263以及预充电请求265和267。然而,取代了在时间上细分tCC包络(即,使响应于在同一tCC间隔中接收的微线程列存取请求而输出的列数据时间交错),通过在如375所示DQA和DQB数据路径的不同部分上,用于相同tCC间隔的微线程列存取请求的列数据的并发数据传送,在空间上细分tCC包络;操作在这里称为链路交错。也就是说,经由DQA链路的第一子集和DQB链路的第一子集(例如DQA[3:0]和DQB[3:0])来传输响应于微线程列存取请求257而传送的列数据,而经由DQA链路的第二子集和DQB链路的第二子集(例如DQA[7:4]和DQB[7:4])来并发地(即在时间上部分或者完全重叠)传输响应于微线程列存取请求259而传送的列数据。类似地,分别通过DQ链路的第一和第二子集在后续tCC间隔期间传输响应于微线程列存取请求261和263而传送的列数据。tCC包络保持于64字节,其中列事务颗粒度和行事务颗粒度分别为32字节和64字节,这与图8的时间交错实施例中一样。因此,链路交错方式就减少的行和列事务颗粒度而言有效地提供了与时间交错方式的相同的益处,但是通过分配DQ路径的相应部分而不是tCC间隔的相应部分来服务微线程列存取请求。
图12A和图12B图示了可以分别用来支持图8和图10中所示时间交错和链路交错数据传送的示例性数据路径接口401和411。图12A的数据路径接口401大致对应于参照图3描述的数据路径接口105A,并且包括DQA接点171以及耦合于接点171与相应列数据路径1190和1191之间的收发器对403和405。各收发器403、405包括用以生成输出数据流的数据串行器177和发送器175以及用以接收传入数据流的接收器179和数据解串行器181。更具体而言,在所示示例性实施例中,数据串行器177将经由列数据路径119接收的128比特列数据值转换成十六个8比特值的序列(例如从128比特列数据内十六个不同偏移的各偏移中以轮循方式一次摘取一个字节),这些值被递送到发送器175以便经由DQA接点171在相应传输间隔传输。反言之,接收器179所恢复的十六个8比特值的序列被递送到数据解串行器181,该解串行器将这些值聚集成经由列数据路径119向列解码器提供的128比特列数据值。如阴影化为与图8的列存取事务相对应的箭头408A和408B所示,在图8中所示的时间交错数据传送操作中,在第一部分tCC间隔期间使用通过收发器403的数据传送路径,而在第二部分tCC间隔期间使用通过收发器405的数据传送路径。
在图12B的数据路径接口411中,DQA路径的八个链路被细分成两组四个链路,DQA[3:0]和DQA[7:4],并且用来传送用于相应微线程列事务的数据。因而,第一对收发器413A/415A耦合到第一组四个DQA接点171A,而第二对收发器413B/415B耦合到第二组四个DQA接点171B,其中各个体收发器包括由数据串行器427和发送器425形成的输出数据路径以及由接收器429和数据解串行器431形成的输入数据路径。由于通过半数信号链路(例如四个而不是八个)来传送各128比特列数据值,所以数据串行器是1:32数据串行器(即,将128比特列数据值转换成三十二个4比特数据值的序列)而不是图12A的1:16数据串行器,并且数据解串行器是32:1数据解串行器(将三十二个4比特值的序列聚集成128比特列数据值)而不是图12A的16:1数据解串行器181。因此,各收发器413A、415A、413B、415B在列数据路径119与较小数目的DQ链路之间、但是通过两倍间隔(即通过完全tCC间隔而不是半个tCC间隔)来传送128比特列数据。
与图12A的实施例中一样,在同一tCC间隔中服务的微线程列事务交替地针对奇数和偶数存储体,使得通过给定的tCC间隔由来自列数据路径1190和1191中的一个列数据路径的数据来馈给一组四个数据路径链路(或者一组四个数据路径链路将数据馈给到列数据路径1190和1191中的一个列数据路径),而在tCC间隔期间由来自列数据路径1190和1191中的另一列数据路径的数据来并发地馈给另一组四个数据路径链路(或者另一组四个数据路径链路将数据馈给到列数据路径1190和1191中的另一列数据路径)。例如通过阴影化为与图10的列存取事务相对应的箭头418A和418B来示出这一数据流布置。
比较图12A和12B,可以看出数据路径接口401和411主要在数据串行器和数据解串行器电路的操作上不同。也就是说,在收发器413A和413B中的两个四链路发送器425可以被实施和连接到八个DQA接点(即171A和171B)以便等效于在收发器403中的单个八链路发送器175,而在收发器413A和413B中的两个四链路接收器429可以类似地等效于在收发器403中的八链路接收器179。在收发器403和405中的1:16数据串行器177与在收发器413A、413B、415A和415B中的1:32数据串行器427的不同主要在于向DAQ数据接点分布传入128比特列数据的方式;数据解串行器177通过16个传输间隔向八个DQA接点递送128比特列数据的8比特组块,而数据解串行器427通过32个传输间隔向四个DQA接点递送128比特列数据的4比特组块。16:1数据解串行器与32:1数据解串行器类似地在从DQA接点分布数据给列数据值的方式上不同。因此在一个实施例中,通过具有数据串行器和数据解串行器电路的单个数据路径接口电路来实施数据路径接口401和411,其中这些数据串行器和数据解串行器电路可配置(例如通过模式寄存器编程)用以支持响应于微线程列存取请求的链路交错或者时间交错数据传送。
参照图10和图12B,应当注意,由于响应于微线程列存取请求257而取回的列数据将在响应于微线程列存取请求259而取回的列数据之前变得可用于传送,所以可以缓存第一取回的列数据(例如在数据路径接口411中)直至第二取回的列数据可用为止,由此实现用于两个存取请求的列数据的同时(即完全并发)传送。作为可选,如图11中所示,第一取回的列数据(即响应于请求257而取回)可以在它一变得可用时就加以输出,由此造成如385所示在数据路径的上分割和下分割上相同行传输的时间交错,其中第二取回的列数据的传送相对于第一取回的列数据的传送而言延迟了部分tCC间隔(即tCCp)。通过信号路径分割的传输因此部分地重叠(但是在部分tCC间隔上仍然是并发的)。这样的方式在一些应用中可能是合乎希望的,因为不需要对列数据的缓存,并且单个确定性的存储器存取延迟应用于各微线程列存取。对照而言,如果对响应于第一微线程列存取请求而取回的列数据进行缓存以实现与响应于第二微线程列存取请求而取回的列数据同时的链路交错传送,则两个微线程列存取请求可能具有不同的但是仍然确定性的存储器存取延迟。
图13和图14图示了当以完全信号发送速率(例如数据和请求带宽相对于上述传统3.2Gb/s和0.8Gb/s信号发送速率而加倍)在可选微线程模式下操作时可以在图2的存储器器件100中执行的微线程存储器事务的示例性序列。在这里称为子存储体微线程模式的可选微线程模式下,通过增加在各列存取请求中提供的列地址的数目,并且通过将在各列存取请求中递送的列地址对应用于同一存储体的不同子存储体,每一tCC包络的微线程列事务的数目相对于图7和图8的微线程模式而加倍。例如,参照图14中所示的行激活流水线461A、列存取流水线461B和预充电流水线461C,与图8中一样地接收行激活请求253、255的序列(即在各tRR间隔内接收的请求对交替地针对偶数和奇数存储体),并且与图8中一样地也接收微线程列存取请求467、469、471、473的序列,但是各存取请求包括如480所示的存储体地址和两个列地址。通过针对指定偶数或者奇数存储体的交替子存储体(即子存储体微线程化)来应用两个列地址,在每一微线程列存取可以取回两个不同的16字节列数据值,由此实现16字节列事务颗粒度。例如,在图13和图14的特定例子中,第一微线程列存取请求467指定了在子存储体B0-A的列‘a’处的读取和在子存储体B0-B的列‘c’处的读取(即Rd B0-Ca/Cc),而在同一tCC间隔内接收的第二微线程列存取469指定了在子存储体B1-A的列‘e’处的读取和在子存储体B1-B的列‘g’处的读取(Rd B1-Ce/Cg)。在后续tCC间隔中,接收两个附加微线程列存取请求471和473,第一个指定了在B0-A和B0-B子存储体的列‘b’和‘d’处的读取(RdB0-Cb/Cd),而第二个指定了在B1-A和B1-B子存储体的列‘f’和‘h’处的读取(Rd B1-Cf/Ch)。如275所示,tCC包络在连续tCCp间隔之间在时间上被细分而在DQA与DQB数据路径链路之间在空间上被细分,以适应与在各对微线程列存取请求中接收的四个列地址相对应的四个列数据传送。因此,通过子存储体微线程化,列事务颗粒度减少到16字节而不减少传送数据的合计总量(即维持存储器器件的峰值带宽)。行事务颗粒度保持于64字节,因为每一激活行执行四个16字节列数据传送。
图15图示了可以在图2的存储器器件100中用来实现参照图13和图14描述的微线程存储器事务的请求接口500(即用来实施请求接口101)的实施例。与图5的实施例中一样,请求接口500包括用以处理传入的请求流(即经由接点303来接收并且如果必要则由可选的请求解串行器304来解串行)的请求解码器501、偶数存储体行控制寄存器305A、305B、奇数存储体行控制寄存器307A、307B、偶数存储体列控制寄存器309A、309B和奇数存储体列控制寄存器311A、311B。请求接口500也包括耦合于请求解码器501与偶数和奇数存储体行控制寄存器305、307之间的行总线315、耦合于请求解码器501与偶数存储体列控制寄存器309之间的第一列总线503A、以及耦合于请求解码器501与奇数存储体列控制寄存器311之间的第二列总线503B。
在对行激活请求进行解码后,请求解码器501将行地址和存储体地址输出到行总线315上,并且如参照图5讨论的那样确立偶数行选通信号321A或者奇数行选通信号321B(即取决于该请求针对偶数存储体还是奇数存储体)以将存储体和行地址值加载到偶数存储体行控制寄存器305或者奇数存储体行控制寄存器307中。在对具有存储体地址和两个列地址的微线程列存取请求(即子存储体微线程列存取)进行解码后,请求解码器501分别在第一和第二列总线503A和503B上输出第一和第二列地址,然后确立偶数列选通信号323A或者奇数列选通信号323B(即取决于该请求针对偶数存储体还是奇数存储体)以将第一列地址加载到用于A组子存储体(即参照图13,在象限Q0和Q1中的子存储体)的偶数存储体或者奇数存储体列控制寄存器(305A或者307A)中,并且将第二列地址加载到用于B组子存储体(即在象限Q2和Q3中的子存储体)的对应偶数存储体或者奇数存储体列控制寄存器(305B或者307B)中。在一个实施例中,在子存储体微线程列存取请求中接收的存储体地址值被输出到第一和第二列总线503A和503B上,并且响应于偶数列加载或者奇数列选通信号323A、323B的确立而连同第一和第二列地址一起被加载到偶数存储体或者奇数存储体列控制寄存器309或者311中。在可选实施例中,分离的存储体地址总线可以被提供和共同耦合到偶数和奇数存储体列控制寄存器309和311(以及请求解码器501)以使得将在其上供给的存储体地址加载到在那些寄存器内的存储体地址域中(或者分离的存储体地址寄存器中)。另外在另一实施例中,单个列总线被耦合到所有列控制寄存器309、311并且被时间多路复用以便在相应地址传送操作中将第一列地址加载到列控制寄存器309A和311A之一中而将第二列地址加载到列控制寄存器309B和311B之一中。在这样的实施例中,可以将不同的选通信号提供给四个列控制寄存器309A、309B、311A、311B中的各寄存器以实现一次加载一个列控制寄存器。另外在所有这样的实施例中,两个列地址可以由传入微线程列存取请求独立地加以指定或者可以相对于彼此来指定。例如,两个地址之一可以被指定为相对于另一地址的算术或者逻辑偏移。偏移值可以在列存取请求中被指定,或者列存取请求可以包括间接用来确定偏移值的值,例如通过对偏移值的查找表编索引。
在图15的实施例中,请求解码器501可以在如图9中所示的时间确立寄存器选通信号321A、321B、323A和323B,由此实现在各tCCp间隔内并发地应用(即同时地或者在时间上至少部分地重叠)在各子存储体微线程列存取请求中接收的两个列地址以从同一存储体的不同列取回相应数据集合。在具有共用的时间多路复用列总线的实施例中,可以相继地确立四个列选通信号(例如ECS1、ECS2、OCS1、OCS2)以实现每一tCCP间隔两个列控制寄存器加载操作。例如,可以在第一tCCp间隔期间接连地确立信号ECS1和ECS2,而在第二tCCp间隔期间接连地确立OCS1和OCS2。
图16和图17图示了示例性微线程存储器操作,其中分离的行和列地址用来在单个tCC间隔内存取在存储器器件530的四个象限Q0-Q3的各象限中的子存储体。更准确地说,由于存储器器件530的请求接口531将唯一存储体、行和列地址递送到用于各象限的地址解码器(即列解码器103和行解码器113),所以在各象限中的存储阵列被有效地从子存储体转换成存储体,由此产生如图16中所示具有存储体B0-B15的十六存储体架构。与在上文讨论的其它存储器器件实施例中一样,在可选实施例中存储器器件530可以具有更多或者更少的存储阵列,对应地产生更多或者更少存储体。另外,十六个存储体中的任何存储体都可以包括两个或者更多组成子存储体。
参照图16和图17,比在先前描述的实施例中更密集地加载行激活流水线551A以在单个tRR间隔中递送行激活请求553、555、557和559,这些请求针对存储器器件530的四个象限中的各象限内的存储体。也就是说,tRR间隔被细分成四个tRRp间隔,其中在各间隔中接收行激活请求。在图16和图17中所示的具体例子中,分别在存储体B0、B8、B9和B1中接连地激活行‘w’、‘x’、‘y’和‘z’(即ActB0-Rw、Act B08-Rx、Act B9-Ry、Act B1-Rz),不过在后续事务中或者在可选实施例中可以以不同的次序在四个象限的各象限中激活多个行。
参照列存取流水线551B,在接收第一行激活请求553之后的预定时间,通过第一tCC间隔550接收双地址微线程列存取请求对561、563,由此递送四个存储体地址和四个列地址,这些地址可以响应于激活请求553、555、557和559而针对在四个象限中打开的页面来加以应用。在所示特定例子中,第一双地址微线程列存取请求561包括如577所示的第一对地址,Bank Addr1和Col Addr1,这些地址指定了在存储体B0的列‘a’处(即在其打开页面中)的存取;以及第二对地址,Bank Addr2和Col Addr2,这些地址指定了在存储体B8的列‘b’处的存取(即Rd B0-Ca/B8-Cb)。第二双地址微线程列存取请求563指定了在存储体B1的列‘c’处和在存储体B9的列‘d’处的存取(Rd B1-Cc/B9-Cd)。由于在存取请求对561和563中提供四个存储体地址中的各存储体地址,而这些地址指定了在存储体器件530的不同象限中的存储体,所以在服务这些请求时不发生列解码器或者数据路径冲突。因而,在接收存取请求对561和563中的四个地址值之后的预定时间,通过始于577的tCC间隔经由数据路径来传输四个对应列数据集合。如575所示,在64字节tCC包络内以链路交错方式(即,两个数据集合在DQA链路上传输而两个数据集合在DQB链路上传输)和时间交错方式(分别在第一和第二tCCp间隔中传送与第一和第二存取请求561和563相对应的列数据)来传输四个列数据集合,其中各列数据集合具有16字节的列事务颗粒度。
仍然参照图16和图17,在紧接在间隔550之后的tCC间隔中接收第二对双地址微线程列存取请求565和567。与在第一对存取请求561和563中一样,在第二对存取请求中携带的四个存储体地址指定了在存储器器件530的四个象限的各象限中先前激活的存储体行的选定列处的存取(例如Rd B0-Ce/B8-Cf和Rd B1-Cg/B9-Ch)。因而,在接收第二对微线程列存取请求565和567中的四个地址值之后的预定时间,经由数据路径来传输四个对应列数据集合。在64字节tCC包络内链路交错和时间交错地传输四个列数据集合,其中各列数据集合具有16字节的列事务颗粒度。tRR包络保持于128字节(即两倍于tCC包络,在这一例子中为tRR=2tCC),但是由于tRR间隔的四路分割,所以行事务颗粒度减少到32字节。
仍然参照图17,行激活流水线551A中增加的请求密度可以消除另外用来发出预充电请求的请求间隔。在一个实施例中,将另外在预充电请求流水线551C的581和583所示间隔期间传输的预充电请求代之以由列存取请求内的子域来处理。例如,如577和579所示,一个预充电位(或者多个预充电位)可以与各列存取请求包含在一起用以指示是否将要在所请求的存取结束时自动地执行预充电操作。因此,在存取请求561中,重置预充电位(例如如577所示“Prechg=0”)以推迟预充电操作,使指定存储体(B0和B8)的页面针对一个或者多个后续列存取而打开。在存取请求567中,设置了预充电位(例如如579所示“Prechg=1”),由此命令存储器器件530在指定列存取结束时在指定存储体(B0和B9)中执行预充电操作。
图18图示了可以用来实施在图16的存储器器件530内请求接口531以及支持参照图17描述的四路微线程事务的请求接口600的实施例。与在图5和图15的实施例中一样,请求接口600包括用以处理传入请求流(即经由接点303来接收并且如果必要则由可选的数据解串行器304来解串行)的请求解码器601、偶数存储体行控制寄存器305A、305B、奇数存储体行控制寄存器307A、307B、偶数存储体列控制寄存器309A、309B和奇数存储体列控制寄存器311A、311B。请求接口600也包括耦合于请求解码器601与偶数存储体和奇数存储体行控制寄存器305、307之间的行总线315,并且与在图15的实施例中一样包括分别耦合于偶数存储体列控制寄存器109与奇数存储体列控制寄存器111之间的第一和第二列总线503A和503B。
在对行激活请求进行解码后,请求解码器601将行地址和存储体地址输出到行总线315上,然后根据在存储体地址的最低两个有效位(或者其它位)中指定的象限来确立四个行寄存器选通信号605A、605B、607A或者607B(ERSA、ERSB、ORSA、ORSB)之一;地址域在这里称为象限地址。例如假设传入的激活请求流以轮循方式针对图16存储器器件530的象限Q0、Q2、Q1和Q3,则在相应tRRp间隔中接连地确立行寄存器选通信号605A、605B、607A和607B。在可选实施例中可以使用其它象限地址序列,造成行寄存器选通信号确立的不同序列。
在对双地址微线程列存取(例如图17的请求561)进行解码后,请求解码器601将其中的第一存储体地址和列地址值输出到第一列总线503A上而将其中的第二存储体地址和列地址值(BA2、CA2)输出到第二列总线503B上,然后根据寻址的存储体对是奇数还是偶数来确立偶数列选通信号323A(ECS)或者奇数列选通信号323B(OCS)。在可选实施例中,为了避免对于在给定的多线程列存取请求中寻址的存储体对的限制(例如使针对奇数存储体的列存取与针对偶数存储体的列存取相配对),可以向各列控制寄存器309A、309B、311A和311B提供分离的列选通信号和列地址总线,其中确立任一列选通信号对以使得同时加载对应的列控制寄存器。另外如上文参照图15所讨论的,单个时间多路复用列总线可以耦合到所有列控制寄存器309、311以实现以任何次序对所选列控制寄存器的顺序加载。
图19图示了图18的请求解码器601的控制信号确立的示例性定时。在所示特定例子中,在相应tRRp间隔中接收行激活请求553、555、557和559,其中各请求以参照图16和图17所描述的示例性次序而针对不同象限(可以使用其它行激活次序)。因此,请求解码器601如图所示在相应tRRp间隔中确立四个行寄存器选通信号ERSA、ERSB、ORSA、ORSB以将在四个激活请求中接收的存储体和行地址值传送到由地址指定的行寄存器305、307。假设在后续tRR间隔中接收同一行激活请求模式(即同一象限排序,但是任意的象限内存储体地址和行地址),可以用轮循方式在每一tRR间隔确立一次四个行寄存器选通信号ERSA、ERSB、ORSA、ORSB中的各信号。
仍然参照图19,与在图9的实施例中一样在部分tCC间隔(即tCCp)上确立列选通信号ECS和OCS。正如所讨论的,如果请求解码器支持任意列控制寄存器加载序列,则四个不同列选通信号可以由请求解码器生成并且以任何次序在相应tCCp间隔中被确立。如果传入列存取请求在各tRR循环(或者任一组tRR循环)中指定同一象限存取次序,则可以用轮循方式在每一tRR间隔确立一次或者在图18和图19所示共用列选通信号(ECS和OCS)的情况下每一tCC间隔确立一次各列选通信号。
图20A和图20B图示了可以向上述存储器器件100和530发出的用以启动行操作(例如行激活操作和预充电操作)的示例性行请求。更具体而言,图20A图示了当在ST模式(单线程模式)操作存储器器件100、530时发出的示例性单线程模式行请求,而图20B图示了当在MT模式(微线程模式)下操作存储器器件时发出的示例性微线程模式行请求。在所示特定实施例中,各行请求是通过12位请求路径(RQ0-RQ11)在两个连续传送中(例如在时钟信号或者其它定时信号的奇数和偶数相位期间)发出的,并且因此包括24位。如图所示,ST模式请求包括由位“OP”形成的三位操作码、三位存储体地址BA0-BA2和十一位行地址R0-R10。该操作码指示了将要执行的行操作的类型(例如行激活或者预充电),存储体地址指示了行操作针对八个存储体中的哪一个,而行地址至少在行激活操作的情况下指示了其中将要执行操作的所选存储体的行。ST模式行请求的其余七位可以保留(即,如标称“rsrv”所示)或者用来携带用于控制存储体器件中其它功能的信息。图20B的MT模式行请求与ST模式行请求基本上相同,不同之处在于ST模式请求中保留位之一(例如在请求链路RQ3上传送的偶数相位位)可选地用来携带附加存储体地址位BA3,由此实现对图16的16-存储体存储器器件530内十六个存储体之一的选择。在可选实施例中,图20A和图20B的行请求可以具有不同格式、不同位数,并且可以通过更宽或者更窄的请求路径在更多或者更少的传送中被传输。
图21A和图21B图示了可以向上述存储器器件100和530发送的用以启动列存取操作(例如读操作和写操作)的示例性列请求。更具体而言,图21A图示了当在ST模式(单线程模式)下操作存储器器件100、530时发出的示例性单线程模式列请求,而图21B图示了当在MT模式(微线程模式)下操作存储器器件时发出的示例性微线程模式列请求。在所示实施例中,ST模式和MT模式列请求具有与对应ST模式和MT模式行请求相同的大小(即由通过12位请求路径RQ0-RQ11的奇数和偶数相位传送所形成的24位请求),但是在可选实施例中可以大于或者小于行请求。ST模式列请求包括用以指定待执行的列存取类型(例如读、写、掩码写等)的五位操作码、用以指定待存取的八个打开页面之一(即用于八个存储体之一的打开页面)的三位存储体地址BC0-BC2、以及用以指定在打开页面内的64个列位置(也称为列偏移)中如下一个列位置的6位列地址C4-C9,在该列位置将要执行指定的列存取操作。ST模式列存取请求的十位被保留或者分配给其它功能。
MT模式列请求类似于ST模式列存取请求,不同之处在于ST模式列存取请求的保留位用来携带第二存储体地址BCy0-BCy2和第二列地址Cy4-Cy9,第一存储体地址和第一列地址是在与ST模式列请求的存储体地址和列地址相同的位中携带的,但是标示为BCx0-BCx2和Cx4-Cx9。通过这一布置,各列请求可以携带在参照图16-19描述的十六存储体存储器器件中使用的两种不同存储体和列地址。在可选实施例中,可以在MT模式列请求中提供第二列地址而不是第二存储体地址(例如与参照图13-15描述的实施例中一样),而在其它可选实施例中,每一列存取请求提供单个列地址和单个存储体地址(例如与参照图7-9描述的实施例中一样)。另外在参照图17描述的实施例中,行激活流水线中行激活命令的更高密度消耗了另外可能用来传送预充电命令的请求路径带宽。因而,在图21A的示例性MT模式列请求中,使用一位(即通过RQ11链路传送的奇数相位位)来指示是否将要在所指示的列存取操作结束时执行自动预充电操作(AP)。在可选实施例中,ST模式和/或MT模式列请求可以具有不同格式、不同位数,并且可以通过更宽或者更窄的请求路径在更多或者更少的传送中被传输。
图22和图23图示了在存储器器件700中的示例性微线程存储器操作,该存储器器件具有用以与传统请求和数据路径接口连接的请求接口701和数据路径接口705A、705B。参照图23,请求接口经由重置线(RESET)、片选线(CS)、行地址选通线(RAS)、列地址选通线(CAS)、写使能线(WE)、三个存储体地址线(BA[2:0])和十一个地址线(A[10:0])所形成的19位请求路径730来接收行和列请求(包括其地址组成)。数据路径接口耦合到由32个数据线(DQ)、四个数据掩码线(DM)、四个读数据选通线(RDQS)和四个写数据选通线(WDQS)形成的外部数据路径732。数据掩码线用来在掩码写操作期间携带相应掩码位,其中各掩码位指示了是否要写入DQ线上携带的对应字节。读数据选通线携带在存储器控制器或者其它控制器件中接收对应读数据时而从存储器器件输出的读数据选通信号。写数据选通线携带在存储器器件700内接收写数据时而从存储器控制器(或者其它控制器件)输出的写数据选通信号。请求路径730和/或数据路径732中的各信号线可以是单端接或者差动的。另外在可选实施例中,可以经由请求路径730和/或数据路径732传送不同数目和类型的信号。
在图22的实施例中,存储器器件700具有与图1的存储器器件100基本上相同的架构。也就是说,存储器器件700具有四个象限Q0-Q3、八个存储体B0-B7(各存储体由A和B子存储体对形成)以及与图1的列解码器1030-1033和行解码器1130-1133相对应的列解码器7030-7033和行解码器7130-7133,不过存储体可以具有不同宽度和/或深度尺度以及对应地加以修改以适用不同尺度的存储体的列和行解码器。另外,信号路径7090-7093、7110-7113、7150-7153、7170-7173和7190-7193对应于图1的信号路径1090-1093、1110-1113、1150-1153、1170-1173和1190-1193,不过这样的信号路径可以包括为了适应不同存储体尺度而必需的不同数目的信号线。另外,与针对存储器器件100一样,出于描述的目的而假设存储器器件700为DRAM器件,但是可以是具有多个存储阵列的任何类型的存储器器件,这多个存储阵列以如下方式共用寻址和/或数据路径资源对于针对不同存储阵列的顺序存取强加定时约束。另外在可选实施例中存储器器件700可以具有不同数目的存储体、每一存储体的不同数目的子存储体和/或每一解码器共用组的不同数目的子存储体。
参照图23,行激活流水线731A、列存取流水线731B和预充电流水线731C图示了经由请求路径730在请求接口701中接收的行激活请求、列存取请求和预充电请求的示例性序列。先参照行激活流水线731A,从行激活请求733和735开始,在每个tRR间隔中接收交替地针对存储器器件700的偶数和奇数存储体的行激活请求对。请求接口701通过启动在存储器器件700的对应存储体中的行激活操作来对各对行激活请求做出响应。
在接收行激活请求733和735之后的预定时间,接收四个多地址、微线程列存取请求737、739、741和743的序列,其中在相应tCC间隔中接收各对列存取请求,而在给定的tCC间隔内接收的各个体列存取请求是针对在行激活请求733和755的相应一个行激活请求中指定的存储体的打开页面。例如参照图22和图23,列存取请求737针对存储体B0的打开页面(响应于行激活请求733而打开)并且指定了在列地址‘a’和‘c’处的存取。在与列存取请求737相同的tCC间隔中接收的列存取请求739针对存储体B1的打开页面(响应于行激活请求735而打开)并且指定了在列地址‘e’和‘g’处的存取。在第二tCC间隔中接收列存取请求741和743,其中列存取请求741针对存储体B0的打开页面的列‘b’和‘d’,而列存取请求743针对存储体B1的打开页面的列‘f’和‘h’。在预充电请求745和747中请求的预充电操作中关闭打开页面。在所示特定实施例中,各请求间隔是1ns(即以1Gb/s通过路径730的个体信号线来传送请求),使得假设8ns tRR约束和4ns tCC约束。另外假设tRC约束为40ns,使得不再次发出针对请求733和735中指定的行的激活请求,直至在40ns间隔已经消逝之后为止。在可选实施例中可以使用其它请求传送速率并且可以应用不同tRR、tCC和/或tRC约束。
请求解码器通过向适当列解码器发出用以执行存取操作(例如读或者写操作)的信号来对传入列存取请求737、739、741和743做出响应,其中通过相应部分tCC间隔(tCCp)经由DQ链路DQ[31:0]来传送与各列存取相对应的数据。更具体而言,如详细视图738中所示,各tCC包络在空间上和时间上被细分,使得通过始于736的tCCp间隔,经由DQ链路的第一部分DQ[31:16]来传送与列存取请求737的列‘a’相对应的数据(即被写到列‘a’的数据或者从列‘a’读的数据),而经由DQ链路的第二部分DQ[15:0]来传送与列存取请求737的列‘c’相对应的数据。类似地,在下一tCCp间隔期间,分别经由DQ链路的DQ[31:16]和DQ[15:0]来传送与列存取请求739的列‘e’和‘g’相对应的数据。因此,通过始于736的tCC间隔,实现与四个不同微线程列存取事务相对应的数据传送。在所示示例性实施例中,以2Gb/s通过各DQ链路来传送数据,使得通过每个2ns的tCCp间隔来传送每一链路的四位。因而,在另外具有32字节tCC包络的器件中实现8字节列事务颗粒度。在继Ce/Cg数据传送之后的tCC间隔期间,响应于在请求741和743中指定的微线程列存取请求来实现四个附加数据传送。也就是说,在第一tCCp间隔期间,分别经由DQ链路的DQ[31:16]和DQ[15:0]来传送与列存取请求741的列‘b’和‘d’相对应的数据,而在下一tCCp间隔期间,分别经由DQ链路的DQ[31:16]和DQ[15:0]来传送与列存取请求743的列‘f’和‘h’相对应的数据。因此,通过始于736的tRR间隔而传送的数据总量是64字节,其中整个tRR包络的一半被分配给响应于行激活请求733和735而激活的各行的数据传送。也就是说,64字节tRR包络在响应于请求733和735而激活的行之间在时间上被细分以实现32字节的行事务颗粒度。
根据用以指定图23的存储器器件内的列地址而需要的位数,19位请求大小(即按照请求路径730的宽度来建立)可能不足以携带两个完整列地址。在一个实施例中,这一情形通过如下方式来克服在存储器器件700内存储偏移值集合,并且在传入多地址列存取请求内包括偏移选择值用以选择预存偏移值之一。所选偏移值然后可以直接地用作第二列地址或者可以与完全指定的列地址组合形成相对列地址。例如,在740所示的示例性格式中,列存取请求737包括操作说明符,“Col Cmd”,指定了列存取的类型(例如读、写、掩码写等);存储体地址,“Bank Addr”,指定了列存取所针对的存储体;完全指定的列地址,“Col Addr1”,指定了第一列地址(例如在请求737中为列“a”);以及偏移选择值,“OSEL”,指定了将要与完全指定的列地址求和(或者另外算术或者逻辑组合)以产生第二列地址的预存偏移值。也就是说,如742所示,偏移选择值可以应用到多路复用器744的控制输入以选择n个偏移值Coff0-Coff(n-1)中的一个偏移值以便在加法器746中与列地址Ca求和,由此产生第二列地址Cc。
图24图示了作为列存取请求的一部分经由请求路径730的线BA[2:0]和A[10:0]而提供的地址信息的更具体例子。BA[2:0]线携带指定了八个存储体之一的三位存储体地址,而地址线A9和A7-A2携带完全指定的七位列地址“Col Addr1”。地址线A1和A0携带被用来选择四个列地址Coff0-Coff3中将要被加到完全指定的列地址的一个列地址的两位偏移选择值。所得相对列地址构成在列存取请求中指定的第二列地址“Col Addr2”。在地址线A8上携带的信号指示了是要进行正常预充电还是自动预充电(例如在指定列存取操作结束时出现自动预充电),而在地址线A10上携带的信号则保留。在可选实施例中可以使用在请求路径的存储体地址线和地址线或者其它线上的不同信号编码。另外可以存储更多或者更少列偏移以实现对列偏移值的更大选择。例如,位A10可以用来携带偏移选择值的最高有效位,由此实现对八个列偏移值之一的选择。
图25图示了可以与向图22的存储器器件700所发出的加载模式寄存器命令相结合地提供的示例性配置信息。例如可以通过在请求间隔期间驱动请求路径的CS、RAS、CAS和WE线为低来指定加载模式寄存器命令。如图所示,在线BA[2:0]上携带的信号指示了待执行的操作的性质,其中‘000’和‘001’代码分别指示了要将位A[10:0](即在线A[10:0]上携带的信号)加载到器件模式寄存器或者扩展模式寄存器中(例如用以对器件输出延迟、突发长度和/或其它器件操作特性进行编程),代码‘010-110’被保留或者用于其它功能,而代码‘111’指示了要将位A[10:0]加载到微线程模式寄存器(即uMode寄存器)中。在加载到微线程模式寄存器时,位A9和A7-A2形成将要加载到微线程模式寄存器的四个列偏移域之一中的列偏移值,而位A1和A0指示了将要加载四个列偏移域Coff0-Coff3中的哪一列偏移域。位A8和A10被编码为四个值(00,01,10,11)之一以指定在存储器器件中的单线程模式(ST);二乘二微线程模式(MT2×2),其中在各微线程列存取请求中提供单个列地址以实现tCC包络的二路分割,而各tRR间隔中的微线程列存取针对两个不同存储体(例如用以实现参照图7-9描述的多线程化);四乘二微线程模式(MT4×2),其中在各微线程列存取请求中提供两个列地址以实现tCC包络的四路分割,而各tRR间隔中的微线程列存取针对两个不同存储体(例如如参照图23所述);以及四乘四微线程模式(MT4×4),其中在每一tRR间隔接收四个行激活请求以使四个双地址列存取请求中的各请求针对不同存储体,由此实现各tCC间隔的四路分割并且实现在各tRR间隔中存取四个不同存储体(例如如参照图17所述)。
图26和图27图示了在存储器器件750中的四乘四微线程存储器操作,该存储器器件具有参照图22和图23描述的用以与传统数据路径接口连接的数据路径接口705A和705B,并且具有与请求接口701基本上相似的请求接口751,不同之处在于提供附加存储体地址输入用以接收第四存储体地址位。通过这一布置,可以在单个tRR间隔内接收行激活请求序列,这些请求指定了存储器器件的四个象限(Q0-Q3)的各象限中的存储体,由此使四个双地址列存取请求各自针对四个象限中的相应一个象限。由于唯一存储体、行和列地址可以递送到用于各象限的地址解码器(即列解码器703和行解码器713),所以在各象限中的存储阵列被有效地从子存储体转换到存储体,由此产生如图26中所示具有存储体B0-B15的十六存储体架构。与上文讨论的其它存储器器件实施例中一样,在可选实施例中存储器器件750可以具有更多或者更少存储器阵列,对应地产生更多或者更少存储体。另外,十六个存储体中的任何存储体都可以包括任何数目的组成子存储体。
参照图27,比参照图23描述的实施例中更密集地加载行激活流水线755A以在单个tRR间隔中递送行激活请求763、765、767和769,这些请求针对存储器器件750的四个象限中的各象限内的存储体。也就是说,tRR间隔被细分成四个tRRp间隔,其中在各间隔中接收行激活请求。在图26和图27中所示的具体例子中,在存储体B0、B1、B8和B9中接连地激活行‘w’、‘y’、‘x’和‘z’,不过在后续事务中或者在可选实施例中可以以不同的次序在四个象限的各象限中激活多个行。
参照列存取流水线755B,在接收第一行激活请求763之后的预定时间,在第一tCC间隔中接连地接收双地址微线程列存取请求对771、773。第一列存取请求771针对与第一行激活请求763相同的存储体(B0),并且指定了将要在后续tCC间隔中接连地存取的列位置对‘a’和‘e’(例如如参照图23-25讨论的完全指定的列地址和偏移选择值)。第二列存取请求773类似地针对与第二行激活请求765相同的存储体(B1),并且指定了将要在后续tCC间隔中接连地存取的列位置对‘c’和‘g’。预定时间以后通过始于770的tCCp间隔并且经由耦合到用于存储体B0-B7的数据路径接口705A的DQ链路子集DQ[31:16]来传送与列存取请求771的第一列地址‘a’相对应的列数据。通过始于722的tCCp间隔(即通过始于770的tCC间隔的后半个间隔)经由同一DQ链路子集DQ[31:16]来传送与列存取请求773的第一列地址‘e’相对应的列数据。在随后tCC间隔期间,在用以传送B0、列‘e’数据和B1、列‘g’数据的相应tCCp间隔中重复来自打开页面的传送。因此,在相应tCCp间隔中并且通过DQ链路的子集以交织方式(即B0-Ca、B1-Cc、B0-Ce、B1-Cg)传送针对低阶存储体B0-B7的两个列存取请求的数据。类似地在相应tCCp间隔中并且通过DQ链路子集DQ[15:0]以交织方式(即B8-Cb、B9-Cd、B8-Cf、B9-Ch)传送针对高阶存储体B8-B15的两个列存取请求775、777的数据。总而言之,在始于772的tRR间隔上发生响应于列存取请求775、777的整个数据传送序列。在图27的实施例中,由于在请求771和773之后一个tCC间隔接收列存取请求777和775,所以响应于列存取请求777和775而传送的数据相对于响应于列存取请求771、773而传送的数据延迟tCC间隔。在可选实施例中,将响应于较早接收的列存取请求对而传送的数据可以被缓存,然后通过与响应于较迟接收的列存取请求对而传送的数据相同的tRR间隔来输出。在任一情况下,由于各32字节tCC包络在空间上减半并且在时间上减半以适应四个微线程列存取事务,所以实现8字节列事务颗粒度。另外由于各64字节tRR包络被细分以实现去往或者来自四个不同存储体的数据传送,所以实现十六字节的行事务颗粒度。
仍然参照图26和27,参照图23-25讨论的相对寻址方案可以用来在各列存取请求771、773、775、777中传送第二列地址。另外由于经由信号路径756的线BA[3]来提供附加存储体地址位,所以在图25的存储体地址域中所示的操作编码可以不同和/或包括附加或者不同操作。另外由于用于指定预充电操作的带宽为更密集加载的行请求流水线755A所消耗,所以预充电操作可以通过图24中所示自动预充电选项(即A8=1)来指定。在预充电流水线755C中有交叉阴影线的请求间隔中示出这样的预充电操作以提供当进行这样的操作时的例子,但是在对应列存取请求771、773、775和777中而不是在明示的预充电请求中指定的。
图28图示了可以用来传送在图26和图27的实施例中使用的第四存储体地址位的示例性定时信号布置,由此回避添加的BA信号链路而使得用图23的传统信号路径730来实现四乘四微线程操作。在所示特定例子中,取代了使用完全频率定时信号790(即时钟信号或者选通信号)来对通过请求路径的请求传送进行定时,使用了在每第二请求间隔的开始处表现出交替上升沿和下降沿的减少频率定时信号792来传送最低有效存储体地址位BA
,而使用BA[2:0]信号线来传送最高有效存储体地址位BA[3:1]。如果在给定的tRR间隔中将要存取的第一象限是偶数象限(Q0或者Q2),则利用如下上升沿输出定时信号792以传送BA
=‘0’,该上升沿相对于对应行激活请求(或者列存取请求)同步地到达存储器器件。如果将要存取的第一象限是奇数象限(Q1或者Q3),则利用如下下降沿输出定时信号以传送BA
=‘1’,该下降沿相对于对应行激活请求同步地到达存储器器件。在图26和图27的实施例中,存储体地址的最低有效位随着各连续行激活请求(或者列存取请求)而翻转,使得在给定的tRR间隔内与第二行激活请求(或者列存取请求)相对应的定时信号的边沿将选择适当的奇数或者偶数存储体集合;相对存储体集合通过与第一行激活请求相对应的定时信号的边沿来选择。在图28中所示特定例子中,在相对于定时信号792的边沿对准中示出了包含行激活请求763、765、767和769的行请求流水线755A的一部分。定时信号792的初始上升沿转变指示了BA
是0,使得通过在行激活请求763中递送地址值BA[3:1]=000(例如经由请求路径的线BA[2:0]),通过行激活请求763来指定存储体B0。定时信号的后续下降沿转变与行激活请求765的到达相一致并且指示了BA
=1。因而,通过在行激活请求765中递送地址值BA[3:1]=000,存储体B1被指定。通过分别与定时信号792的上升沿转变和下降沿转变相结合地指定BA[3:1]=100,在行激活请求767和769中类似地指定存储体B8和B9。时钟恢复电路如锁相环794可以用来生成内部定时信号795,该信号与定时信号792的转变在相位上对准,但是具有例如与信号790的频率相对应的频率。本身可以是时钟信号或者选通信号的内部定时信号795于是可以用来控制对请求路径上传送的信号的采样以便在各请求间隔中捕获新的请求。
图29图示了包括存储器控制器801和至少一个微线程存储器器件803的存储器系统800的实施例。微线程存储器器件803可以根据任一上述实施例来实施,但是出于本意图而被假设为具有用于存取八个存储体的相应集合的至少两个数据路径接口DQA和DQB(即DQA用来传送去往和来自存储体B0-B7的数据,而DQB用来传送去往和来自存储体B8-B15的数据)以及用于接收行和列请求并且控制所请求的行和列操作的执行的请求接口RQ。如上文参照存储器器件100、530、700和750所述的,存储体本身还被组织成象限Q0-Q3,不过可以使用其它存储体组织。DQA和DQB数据路径接口经由数据路径802内DQ链路802a和802b的相应子集耦合到存储器控制器,而请求接口经由请求路径804耦合到存储器控制器。在所示实施例中,请求路径804由点到点链路集合形成,而数据路径802由多下路链路形成(即一个或者多个其它存储器器件的数据路径接口可以耦合到数据路径或者其DQ链路的子集)。在可选实施例中,请求路径804可以是耦合到一个或者多个附加存储器器件(未示出)的请求接口的多下路路径和/或数据路径802可以由存储器控制器801与存储器器件803之间的点到点链路形成。另外存储器器件803可以是设置于存储器模块上并且经由点到点链路集合(或者多下路路径)耦合到缓存电路的多个存储器器件之一。缓存电路可以接收针对存储器模块上任一存储器器件的请求和/或数据,并且经由对应点到点链路集合向目标存储器器件重发请求和/或数据。
存储器控制器801包括读事务队列811(RTQ)、写事务队列815(WTQ)、读数据缓存器819、队列控制逻辑817和主机接口810。在初始化或者重新配置操作过程中,系统配置请求被递送到存储器控制器801,该存储器控制器又对存储器器件803(如果存在则包括其它存储器器件)进行编程以在指定模式下操作,例如通过经由请求路径804、数据路径802和/或存储器控制器801与存储器器件803之间的一个或者多个其它路径(例如未示出的侧带路径)发出编程信息。在一个实施例中,例如,存储器控制器801或者其它器件可以读取与存储器器件803相关联的配置存储器(例如串行存在检测(SPD)等)以确定存储器器件803的操作特征、约束和模式(例如,在具有存储器器件803和装配到它的一个或者多个其它类似器件的双列直插式存储器模块(DIMM)等的情况下,可以在配置存储器中记录对于存储器器件803的tCC、tRR和/或tRC约束),然后将这样的信息传递回到处理器或者其它主机。处理器可以处理这样的信息(例如作为基本输入输出服务(BIOS)代码执行的一部分),然后对存储器控制器801进行编程以建立预期存取配置,包括命令存储器控制器801对存储器器件803进行编程。例如,可以指令存储器控制器801发出如参照图25描述的微线程模式寄存器设置命令以针对单线程操作模式或者任一上述微线程操作模式(例如上述MT2×2、MT4×2和MT4×4操作模式)对存储器器件803进行编程。存储器控制器801也可以包括一个或者多个内部配置寄存器,这些寄存器响应于经由主机接口810所接收的指令来加以编程以建立单线程控制模式或者微线程控制模式。
在已经配置存储器器件803和存储器控制器801(或者在可以在运行时间操作期间切换操作模式的情况下重新配置它们)之后,一个或者多个主机设备如通用处理器、图形处理器、网络处理器和/或直接存储器存取(DMA)控制器可以向存储器控制器801发出存储器存取请求,包括存储器读请求、存储器写请求、掩码写请求、读-修改-写请求等等。在队列控制逻辑817中接收传入的存储器存取请求,该队列控制逻辑又根据它们是指定读存取还是写存取,将请求排队于读事务队列811或者写事务队列815中。
读事务队列(RTQ)811包括与存储器器件803内的四个存储体象限相对应的四个读队列集合,Qr0/2/4/6、Qr1/3/5/7、Qr8/10/12/14和Qr9/11/13/15。当在队列控制逻辑817内接收读请求时,队列控制逻辑817基于与请求包含在一起的地址信息来确定该请求所针对的存储器器件和存储体并且在对应读队列中存储该请求。例如,针对存储器器件803的存储体0的请求被存储于读队列Qr0中,针对存储体8的请求被存储于读队列Qr8中,依此类推。通过以这一方式在读队列内组织读请求,存储器控制器801能够以如下次序发出行激活和列存取请求,该次序支持存储器器件803内的微线程存储器存取事务。例如,假设四个读队列集合各自包括至少一个存储器读请求,则队列控制逻辑817可以在给定的tRR间隔期间发出相应使能信号(即EN1、EN2、EN3、EN4,在图29中仅示出其中之一)到第一级多路复用器823以控制对来自各集合的四个读队列之一的选择。队列控制逻辑817还在各tRRp间隔期间或者在列存取请求的情况下在各tCCp间隔期间发出选择使能信号(ENp)到第二级多路复用器825以选择四个第一级多路复用器823之一以便从所选读队列输出读请求。也就是说,队列控制逻辑817可以在各tRRp或者tCCp间隔结束时将ENp信号从一个状态转变到另一状态以选择另一第一级多路复用器823,由此以轮循方式使请求针对存储器器件的四个象限中的各象限。第一级多路复用器825将请求输出到读/写多路复用器827,该读/写多路复用器响应于来自队列控制逻辑817的控制信号(R/W)将来自读事务队列811或者写事务队列815的请求传递到请求路径804上。响应于微线程读请求从存储器器件803输出的读数据经由数据路径802被递送到存储器控制器801并且缓存于读数据缓存器819中。队列控制逻辑817将读数据与对应主机读请求相关联,并且经由主机接口将读数据输出到请求主机。
写事务队列815包括四个写队列集合(即Qw0/2/4/6、Qw1/3/5/7、Qw8/10/12/14和Qw9/11/13/15)、第一级多路复用器833和第二级多路复用器835,它们各自以与它们在读事务队列811中的对等物大致相同的方式操作,不同之处在于写队列除了存储和输出写请求之外还存储和输出写数据。因此,可以在偶数tRRp或者tCCp间隔上向存储器器件803的四个象限中的各象限发出写请求以启动其中的微线程写事务。
在计算机可读介质中的实施例应当注意,就其行为、寄存器传送、逻辑部件、晶体管、布局几何和/或其它特征而言,这里公开的各种电路(例如存储器器件或者其部件电路)可以使用计算机辅助设计工具来描述并且表达(或者表示)为在各种计算机可读介质中具体化的数据和/或指令。可以在其中实施这样的电路表达的文件和其它对象的格式包括但不限于支持行为语言如C、Verilog和HLDL的格式、支持寄存器级描述语言如RTL的格式和支持几何描述语言如GDSII、GDSIII、GDSIV、CIF、MEBES的格式以及任何其它适当格式和语言。可以在其中具体化这样的格式化数据和/或指令的计算机可读介质包括但不限于各种格式的非易失性存储介质(例如光存储介质、磁存储介质或者半导体存储介质)以及可以用来通过无线、光学或者有线信号发送介质或者其任何组合来传送这样的格式化数据和/或指令的载波。通过载波来传送这样的格式化数据和/或指令的例子包括但不限于经由一个或者多个数据传送协议(例如HTTP、FTP、SMTP等)通过因特网和/或其它计算机网络的传送(上传、下载、电子邮件等)。
当经由一个或者多个计算机可读介质在计算机系统内接收时,上述电路的这种基于数据和/或指令的表达可以与一个或者多个其它计算机程序的执行相结合地由计算机系统内的处理实体(例如一个或者多个处理器)加以处理以便生成这种电路的物理表现的表示或者图像,其中其它计算机程序包括但不限于网列表生成程序、地点和路由程序等。例如通过生成被用来在器件制造工艺中形成电路的各种部件的一个或者多个掩模,可以随后在器件制造中使用这样的表示或者图像。

具体实施例方式
中提供的节标题仅仅是为了参照的方便,而决不是限定、限制、解释或者描述这些节的范围或者程度。另外尽管已经参照本发明的具体实施例描述了本发明,但是应明白的是,可以在不脱离本发明更广义的精神和范围的情况下,对之做出各种变化。因而说明书和附图应被理解为说明性的而不是限制性的。
权利要求
1.一种存储器器件,包括存储体,每个存储体包括多行存储单元,其中在对所述多行存储体单元中所选一行存储体单元的连续存取之间强加最小时间间隔;以及数据路径电路,用以在不长于所述最小时间间隔的第一间隔期间在所述存储体与外部信号路径之间传送第一数据和第二数据,所述第一数据通过第一存储器存取请求来指示,而所述第二数据通过第二存储器存取请求来指示。
2.根据权利要求1所述的存储器器件,其中所述第一数据和所述第二数据的总计数据量不大于所述最小时间间隔与所述外部信号路径带宽的信号发送带宽的乘积。
3.根据权利要求1所述的存储器器件,其中所述数据路径电路包括通向所述外部信号路径的接口,所述接口至少包括与所述外部信号路径中组成信号线的数目相对应的预定数目的触点。
4.根据权利要求3所述的存储器器件,其中所述接口是配置用以经由所述预定数目的触点中的每个触点以第一数据速率传输数据的同步接口,以及其中所述外部信号路径具有取决于所述第一数据速率和所述外部信号路径中组成信号线的所述数目的信号发送带宽。
5.根据权利要求4所述的存储器器件,其中所述第一数据和所述第二数据构成不大于所述外部信号路径的所述信号发送带宽乘以所述最小存取时间间隔的数据量。
6.根据权利要求1所述的存储器器件,其中所述多行存储单元包括动态随机存取存储器单元。
7.根据权利要求1所述的存储器器件,其中所述最小时间间隔包括完成针对所选行的存取所需要的时间量。
8.根据权利要求7所述的存储器器件,其中完成针对所选行的存取而需要的所述时间量包括考虑到存取时间变化的容差间隔。
9.根据权利要求1所述的存储器器件,其中所述最小时间间隔是tCC间隔。
10.根据权利要求1所述的存储器器件,其中至少部分地通过为了释放所述存储器器件内使用的资源以完成所述连续存取中第一存取而需要的时间来强加所述最小时间间隔,所述资源至少包括所述数据路径电路的一部分。
11.根据权利要求1所述的存储器器件,其中所述数据路径电路包括第一数据接口,用以在所述外部信号路径的第一部分与所述存储体中的第一存储体之间传送所述第一数据;以及第二数据接口,用以在所述外部信号路径的第二部分与所述存储体中的第二存储体之间传送所述第二数据。
12.根据权利要求1所述的存储器器件,还包括请求接口,用以接收所述第一和第二存储器存取请求,以及作为响应而启动所述第一数据和第二数据的传送。
13.根据权利要求1所述的存储器器件,其中所述第一和第二存储器存取请求是存储器读请求,以及其中所述数据路径电路被配置用以响应于所述存储器读请求将所述第一数据和所述第二数据从所述存储体传送到所述外部信号路径。
14.一种在存储器器件中操作的方法,所述方法包括接收第一和第二存储器读请求;以及在不长于在对所述存储器器件内所选一行存储单元的连续存取之间强加的最小时间间隔的时间间隔期间,响应于所述第一和第二存储器读请求中的每个存储器读请求从所述存储器器件输出数据。
15.根据权利要求14所述的方法,其中响应于所述第一和第二存储器读请求中的每个存储器读请求从所述存储器器件输出数据包括相对于定时信号同步地输出所述数据。
16.根据权利要求15所述的方法,其中所述最小时间间隔对应于所述定时信号的预定数目的转变。
17.根据权利要求16所述的方法,其中所述定时信号是时钟信号。
18.根据权利要求16所述的方法,其中所述定时信号是选通信号。
19.根据权利要求14所述的方法,其中响应于所述第一和第二存储器读请求中的每个存储器读请求从所述存储器器件输出数据包括从所述第一存储器读请求所指示的至少一个存储位置输出第一数据以及从所述第二存储器读请求所指示的至少一个存储位置输出第二数据。
20.一种在存储器器件中操作的方法,包括将所述存储器器件的数据传送包络细分成多个分割;以及将所述多个分割分配给相应存储器存取事务。
21.根据权利要求20所述的方法,其中所述存储器器件是动态随机存取存储器(DRAM)器件,以及其中所述数据传送包络对应于耦合到所述DRAM器件的外部信号发送路径的带宽与在对所述DRAM器件内给定的读出放大器体的连续存取之间的最小时间的乘积。
22.根据权利要求20所述的方法,其中所述存储器器件是动态随机存取存储器(DRAM)器件,以及其中所述数据传送包络对应于所述DRAM器件的数据传送带宽与在对所述DRAM器件内所选读出放大器体的连续存取之间的最小时间的乘积。
23.根据权利要求20所述的方法,其中细分所述存储器器件的数据传送包络包括在空间上将通向多个外部信号线的接口分割成通向所述外部信号线的第一子集的第一接口和通向所述外部信号线的第二子集的第二接口。
24.根据权利要求23所述的方法,其中将所述多个分割分配给相应存储器存取事务包括在所述外部信号线的所述第一子集与第一存储器存取事务所指示的在所述存储器器件内的存储位置之间传送第一数据;以及在所述外部信号线的所述第二子集与第二存储器存取事务所指示的在所述存储器器件内的存储位置之间传送第一数据。
25.根据权利要求20所述的方法,其中细分所述存储器器件的数据传送包络包括在时间上将所述数据传送包络分割成不同的第一和第二时间间隔,以及其中将所述多个分割分配给相应存储器存取事务包括(i)在所述第一时间间隔期间在外部信号路径与第一存储器存取请求所指示的在所述存储器器件内的存储位置之间传送第一数据,以及(ii)在所述第二时间间隔期间在外部信号路径与第二存储器存取请求所指示的在所述存储器器件内的存储位置之间传送第二数据。
26.一种在存储器器件中操作的方法,包括接收第一和第二存储器读请求;以及分别响应于所述第一和第二存储器读请求从所述存储器器件并发地输出第一数据和第二数据。
27.根据权利要求26所述的方法,其中接收所述第一存储器读请求包括接收第一读命令和第一地址,以及其中响应于所述第一存储器读请求输出数据包括从所述第一地址所指示的至少一个存储位置输出数据。
28.根据权利要求27所述的方法,其中从所述第一地址所指示的至少一个存储位置输出数据包括将数据从锁存读出放大器体内的至少一个锁存单元传送到传输电路;以及传输具有至少部分基于从所述至少一个锁存单元传送的所述数据而确定的信号电平的信号。
29.根据权利要求28所述的方法,其中从所述第一地址所指示的至少一个存储位置输出数据还包括将包括所述第一数据的数据行从所述存储器器件内的存储单元行传送到所述锁存读出放大器体。
30.根据权利要求28所述的方法,还包括在接收所述第一存储器读请求之前接收行激活请求,所述行激活请求指示了所述存储器器件内的存储单元行;以及响应于所述行激活请求,将包括所述第一数据的数据行从所述存储单元行传送到所述锁存读出放大器体。
31.根据权利要求27所述的方法,其中接收所述第二存储器读请求包括接收第二读命令和第二地址,以及其中响应于所述第二存储器请求输出数据包括从所述第二地址所指示的至少一个存储位置输出数据。
32.根据权利要求31所述的方法,其中所述第一和第二地址包括列地址。
33.根据权利要求31所述的方法,其中所述第一和第二地址各自包括存储体地址域和列地址域,以及其中所述第一地址的所述存储体地址域不同于所述第二地址的所述存储体地址域。
34.根据权利要求27所述的方法,其中接收所述第二存储器读请求包括接收与所述第一读命令相关联的第二地址,以及其中响应于所述第二存储器请求输出数据包括从所述第二地址所指示的至少一个存储位置输出数据。
35.根据权利要求26所述的方法,其中接收第一和第二存储器读请求包括接收包括读命令、第一地址和第二地址的多地址请求,以及其中响应于所述第一和第二存储器读请求输出数据包括从所述第一地址所指示的至少一个存储位置输出数据和从所述第二地址所指示的至少一个存储位置输出数据。
36.根据权利要求35所述的方法,其中所述第一地址包括第一存储体地址域和第一列地址域,而所述第二地址包括第二存储体地址域和第二列地址域。
37.根据权利要求35所述的方法,其中所述第一和第二地址是列地址,以及其中所述多地址请求还包括第一存储体地址,所述第一存储体地址指定了所述第一和第二存储器读请求所针对的在所述存储器器件内的存储体。
38.根据权利要求37所述的方法,其中所述第一和第二地址中的至少一个地址包括存储体地址域,指定了所述存储器器件内多个存储体中的一个存储体;以及列地址域,指定了从所述多个存储体中所述一个存储体取回的数据行内多个列位置中的一个列位置。
39.根据权利要求26所述的方法,其中接收第一和第二存储器读请求包括接收读命令、第一地址和偏移指示符,以及其中响应于所述第一读请求输出数据包括从所述第一地址所指示的至少一个存储位置输出数据,以及其中响应于所述第二存储器读请求输出数据包括(i)至少部分基于所述第一地址和所述偏移指示符来确定第二地址,以及(ii)从所述第二地址所指示的至少一个存储位置输出数据。
40.根据权利要求39所述的方法,其中至少部分基于所述第一地址和所述偏移指示符来确定第二地址包括组合所述偏移指示符和所述第一地址以产生所述第二地址。
41.根据权利要求39所述的方法,其中至少部分基于所述第一地址和所述偏移计数器来确定第二地址包括基于所述偏移指示符来选择多个先前存储的偏移值中的一个偏移值;以及组合所述多个先前存储的偏移值中的所述一个偏移值与所述第一地址以产生所述第二地址。
42.根据权利要求41所述的方法,其中组合所述多个先前存储的偏移值中的所述一个偏移值与所述第一地址包括将所述多个先前存储的偏移值中的所述一个偏移值与所述第一地址相加。
43.一种存储器器件,包括第一多个存储体;以及多个控制电路,分别耦合到所述第一多个存储体,并且配置用以实现对所述存储体中至少两个存储体内的由列地址指定的存储位置的并发存取。
44.根据权利要求43所述的存储器器件,其中所述多个控制电路包括第一多个地址解码电路,分别耦合到所述第一多个存储电路以响应于至少包括列地址的控制信息而实现对其中存储位置的存取;以及多个控制存储电路,分别耦合到所述地址解码电路以向所述地址解码电路提供所述控制信息。
45.根据权利要求44所述的存储器器件,还包括请求解码器,用以经由请求接口接收指示了所述控制信息的信号,以及配置用以选择性地将所述控制信息加载到所述多个控制存储电路中。
46.根据权利要求43所述的存储器器件,还包括第二多个存储体,以及其中所述多个控制电路各自耦合到所述第二多个存储体中的相应存储体。
47.根据权利要求43所述的存储器器件,其中所述第一多个存储体中的每个存储体包括存储阵列以及耦合到所述存储阵列的读出放大器集。
48.根据权利要求47所述的存储器器件,其中所述读出放大器集包括锁存读出放大器,耦合到所述存储阵列的位线,以及配置用以在所述存储阵列内存储所选一行存储器单元的内容。
49.根据权利要求48所述的存储器器件,其中在所述存储体中所述至少两个存储体内的所述由列地址指定的存储位置包括在所述至少两个存储体中的第一存储体内所述锁存读出放大器的子集以及在所述至少两个存储体中的第二存储体内所述锁存读出放大器的子集。
50.一种控制存储器器件的方法,所述方法包括向所述存储器器件发送指定了在所述存储器器件的第一存储体内将要存取的存储位置的第一存储器存取请求;以及在发送所述第一存储器存取请求之后的预定时间向所述存储器器件发送指定了在所述存储器器件的第二存储体内将要存取的存储位置的第二存储器存取请求,所述预定时间基本上小于在对所述存储器器件内所选一行存储单元的连续存取之间强加的最小时间间隔。
51.根据权利要求50所述的方法,其中所述第一和第二存储器存取请求是存储器读请求。
52.根据权利要求50所述的方法,其中所述第一和第二存储器存取请求是存储器写请求。
53.根据权利要求50所述的方法,还包括在第一时间间隔期间接收响应于所述第一存储器存取请求而从所述存储器器件输出的第一数据以及响应于所述第二存储器存取请求而从所述存储器器件输出的第二数据,所述第一时间间隔具有与在对所述存储器器件内所选一行存储单元的连续存取之间强加的所述最小时间间隔基本上相同的持续时间。
54.根据权利要求50所述的方法,其中在所述第一时间间隔期间接收所述第一数据和所述第二数据包括在所述第一时间间隔期间并发地接收所述第一数据和所述第二数据。
55.根据权利要求50所述的方法,其中在所述第一时间间隔期间接收所述第一数据和所述第二数据包括在所述第一时间间隔内在不同的时间间隔中接收所述第一数据和第二数据。
56.一种存储器器件,包括用于接收第一和第二存储器存取请求的装置;以及用于分别响应于所述第一和第二存储器存取请求在所述存储器器件的存储阵列与外部信号路径之间传送第一数据和第二数据的装置。
57.一种计算机可读介质,其中具体化有包括对存储器器件的描述的信息,所述信息包括对如下部件的描述存储体,每个存储体包括多行存储单元,其中在对所述多行存储体单元中所选一行存储体单元的连续存取之间强加最小时间间隔;以及数据路径电路,用以在不长于所述最小时间间隔的第一间隔期间在所述存储体与外部信号路径之间传送第一数据和第二数据,所述第一数据通过第一存储器存取请求来指示,而所述第二数据通过第二存储器存取请求来指示。
全文摘要
一种微线程存储器器件。提供多个存储体,每个存储体包括多行存储单元并且具有如下存取限制在对给定的一行存储单元的连续存取之间必须产生至少最小存取时间间隔。提供传送控制电路,用以响应于第一存储器存取请求而在多个存储体与外部信号路径之间传送第一数据量,该第一数据量小于外部信号路径带宽与最小存取时间间隔的乘积。
文档编号G11C7/22GK101095196SQ200580045523
公开日2007年12月26日 申请日期2005年11月23日 优先权日2004年11月29日
发明者F·A·韦尔, C·E·哈姆佩尔, W·S·理查森, C·A·贝洛斯, L·莱 申请人:拉姆伯斯公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1