CN106407136B - 具有点对点请求互连的存储器*** - Google Patents
具有点对点请求互连的存储器*** Download PDFInfo
- Publication number
- CN106407136B CN106407136B CN201610847700.3A CN201610847700A CN106407136B CN 106407136 B CN106407136 B CN 106407136B CN 201610847700 A CN201610847700 A CN 201610847700A CN 106407136 B CN106407136 B CN 106407136B
- Authority
- CN
- China
- Prior art keywords
- port
- memory
- request
- address
- memory devices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1072—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1684—Details of memory controller using multiple buses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1694—Configuration of memory controller to different memory types
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C5/00—Details of stores covered by group G11C11/00
- G11C5/06—Arrangements for interconnecting storage elements electrically, e.g. by wiring
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1015—Read-write modes for single port memories, i.e. having either a random port or a serial port
- G11C7/1045—Read-write mode select circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1075—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for multiport memories each having random access ports and serial ports, e.g. video RAM
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Dram (AREA)
- Multi Processors (AREA)
Abstract
一种存储器***,包括具有多N个存储器控制器块的存储器控制器,每个存储器控制器块通过外部请求端口传送独立事务请求。请求端口经由点对点连接耦合到从1到N个存储器设备,其中每个存储器设备包括N个独立可寻址存储器块。所有的外部请求端口都连接到该存储器设备或在给定配置中使用的设备上的相应的外部请求端口。每个存储器设备的请求端口的数目和每个存储器设备的数据宽度随着存储器设备的数目而改变,以便使请求访问的粒度与数据粒度的比例保持为常数,而无关于存储器设备的数目。
Description
相关申请信息
本申请是为国际申请号为PCT/US2008/004790、国际申请日为2008年04月11日、中国国家阶段申请号为200880011660.2的发明专利申请的分案申请。
技术领域
本发明涉及半导体存储器技术以及半导体存储器技术的相关使用。
背景技术
在过去的十年中,半导体存储器设备的设计和制造技术已经有了快速的发展。例如,在动态随机访问存储器(DRAM)中,单个DRAM芯片中所存储的数据的比特数大致以每三年4倍递增。这已使得存储器***的尺寸根据相同的速度成倍增加。在每一代新的更高密度的DRAM使***中,所需的独立存储芯片的数目减少一半。存储器***中独立DRAM芯片越少(但密度更高),将会使***中可用于数据传输的针脚总数目越少。可用于接收和传输信息的针脚数目的减少缩小了存储器***的带宽。也就是,虽然对于存储器芯片的内部,每个周期可以访问大量的比特,但在任何给定的时间间隔内,只有少量百分比的数据能够跨越设备的边界进入外部环境。
然而,现今先进的计算***和微处理器需要存储器***提供越来越大的数据带宽。这已致使存储器行业更加协同努力以寻求解决带宽瓶颈的设计方案。一类提高存储器***的数据带宽的方法集中在设计高速接口结构上。在美国专利号5,319,755(Farmvald等人)和5,430,676(Ware等人)中描述了基于快速高效的接口技术的存储器子***,它采用了许多创新的数据传输技术。其他的方法较多集中在存储器设备的内部电路上,用于提高数据传输率。
附图说明
公开的主题将通过实施方式来示出,但不是以实施方式来限制,在附图中,相同标记指示相似的元件,其中:
图1示出了具有按第一种配置方式耦合到存储器的控制器的***。
图2示出了按第二种配置方式的图1的***。
图3示出了按第三种配置方式的图1的***。
图4示出了具有按第四种配置方式耦合到存储器的控制器的***。
图5示出了按第五种配置方式的图4的***。
图6示出了按第六种配置方式的图4的***。
图7描述了在图1至图6的***中使用的存储器的简化示意图,在该示意图中提供了写数据通路路由器的细节。
图8描述了用于图7的存储器的读数据通路路由器的简化示意图。
图9是按基本配置方式的一个未缓存模块的实施方式的图表。
图10是按升级配置方式的一个未缓存模块的实施方式的图表。
图11A是在图9-10的***中使用的未缓存模块的图表。
图11B示出将DDR3、GDDR3/4、XDR之间的请求(RQ)串行化与根据此处所述的一个实施方式中所使用的串行化相比较的时序图。
图11C示出了采用根据此处所述的一个实施方式的控制器的可选***。
图11D示出了根据此处所述的一个实施方式而可用的一种可能的定时和信令方法。
图12是示出根据本说明书一个实施方式的、按第一种操作模式的存储器***1200的方框图。
图13是示出根据一个实施方式的、按第二种操作模式的存储器***1250的方框图。
图14是示出根据本说明书一个实施方式的、按多种操作模式操作存储器***的方法的流程图。
图15是示出根据本说明书另一个实施方式的、按第一种操作模式的存储器***1500的方框图。
图16是示出按第二种操作模式的存储器***的方框图。
图17是示出一种按多种操作模式操作存储器***的方法的流程图。
图18是示出具有“一点对两点”CA链路拓扑的存储器***的方框图。
图19描绘了根据一个实施方式的存储器***1900,它包括连接到单个IC存储器设备(例如DRAM模片)1910上的IC存储器控制器1905。
图20示出了时序图2000,其中4个读事务被指向位于图19的存储器1910的四个元组(four quad)BLKA0、BLKA1、BLKB0和BLKB1中的每一个中的存储体上。
图21描绘了双设备存储器***2100,其中图19的控制器1905被配置为与两个存储器设备1905通信,以便两倍于***1900的存储容量,同时保持相同数目的存储体和相同的访问粒度。
图22示出了时序图2200,其中4个读事务被指向四个元组BLKA0、BLKA1、BLKB0和BLKB1中的每一个中的存储体上,该元组位于图21的***2100上的两个存储器设备(例如DRAM)1910的每一个中。
图23描绘了四设备存储器***2300,其中图19的控制器1905被配置为与4个存储器设备1905通信,以便四倍于***1900的存储容量,同时,通常对于片2105和控制器1905,保持相同数目的逻辑存储体和相同的访问粒度。
图24描绘了根据一个实施方式的集成存储器设备1910,它包括全部的接口端口和主要的内部电路块。
图25描绘了根据另一个实施方式的存储器***2500。
图26详细描述了图25的***2500的端口,两个控制器侧的数据接口2605和2610,以及两个存储器设备侧的数据接口2615和2620。
图27描绘了在回送模式(loop-back mode)中用于“偶”写链路的配置处理。存储器设备侧上的接口2620中的多路复用器2660从接口2615的解串行化器2662中选择输出。
图28描绘了根据一个实施方式的存储器***,其中印刷电路板2800支持存储器控制器2805、存储器模块2810和三个连续模块2815。
图29描绘了按双模块配置方式或模式的在图28中介绍的存储器***。
图30描绘了与图28和29相关的存储器***,但这里是按完全组装的四模块配置方式。
具体实施方式
概述
这里公开了一种具有多个请求(RQ)端口的改进的存储器设备和***。在这些实施方式中,通过使用相似的点对点拓扑和信令速率使RQ带宽与数据(DQ)带宽成比例,同时允许容量与结构成比例以用于维持较低或常数的访问粒度。对附图的描述着力于示出对通信的路由和以及对设备的操作,但通常省略细节的图示,以免将混淆对所示实施方式的说明以及影响对所示实施方式的理解。
术语和示出符号
“点对点”:出于说明的目的,术语“点对点”通常指的是两点之间的专用通信信道,例如控制器到存储器。通常,点对点信号将直接在两点之间传播,而不需要中间有效元件。然而,在某些情况下,缓冲器和/或变换器,或其他项也会出现在信令通路上。这通常与共享通信信道形成对比,这种共享的通信信道例如是多分支总线,其他的有效元件在其上共享同一信道,例如,对于与一个第一存储器会话的控制器,其信号必须要经过一个第二存储器。
“端口”:为了说明的目的,术语“端口”通常指的是一个或多个信令导线,用于传输逻辑上关联的信息组。例如,如果一个传输单位包括两个使用单端信令来连续传输的符号,那么在这个实例中的一个端口就可以使用单根导线或印刷电路板(PCB)迹线等等物理地实现。如果相同的传输单位使用差分信令来发送,那么一个端口就可以使用两根导线或PCB迹线等等来物理地实现。在一个请求(RQ)分组的存储器上下文中,一个端口为所有必需的命令和地址(CA或C/A)信息提供了足够的信令导线,用以描述使用中的、基于信令方法学、符号编码和串行化/解串行化的请求。对于DQ分组和端口的意义是相似的。值得注意的是,如果多导线编码机制被用于传输,则可能会使某些导线在给定芯片和/或电路上以特定的物理实现方式跨多个端口而被共享。
图中所示的端口的数目:由于可重新配置的存储器控制器和存储器设备以及相关***是此处所述实施方式的重点,因此在图中示出用于给定功能(例如RQ或DQ)的端口的数目就会变得更方便了。例如,在图1中,存储器设备102A以RQ 4×1和DQ 4×8来示出。这里表示了包括4个单链路RQ端口和4个八链路DQ端口的配置。与图3相比,相同的存储器设备102A以RQ 1×1和DQ 1×8来示出,其表示了包括一个单链路RQ端口和一个八链路DQ端口的配置。图7和随后的文本,如下,提供了用于图1至图6所示的存储器设备102A-D的单一实现的上下文。在某些实施方式中,使用中的端口数目可以与物理端口数目不同。在给出的实施方式中所给出的附图标记是用于物理端口还是用于将加以使用的物理端口的子集,将会在上下文中更清楚。
“请求”或“RQ”:当用于本说明书的存储器上下文中时,术语请求(RQ)对于命令和地址(C/A)来说是可互换的。相似的,C/A对于RQ来说也是可互换地加以使用。
示例***
图1至图3通过对示意性***100的讨论,示出了这种可变配置的点对点体系结构的容量缩放能力。
图1示出了根据第一配置的***100。在该配置中,控制器101与存储器设备102A耦合通信。控制器101具有4个单链路请求端口RQ,并且对于每个请求端口都具有一个八链路数据端口DQ。在该第一配置中,控制器101上所有的RQ端口(4个单链路端口,或4×1)和所有的DQ端口(4个八链路端口,或4×8)与一个存储器设备102A耦合通信。如上所讨论的,物理布线或通信拓扑是专门实现的。例如,如果***采用了32符号请求分组,那么4个RQ端口中的每一个都将在每个时间周期中接收不同的分组。在这种配置中,每个请求端口都耦合到存储器设备内部的不同的存储阵列上。见图7的论述,如下,更多地用于存储器设备102A上。用于存储阵列的可选零件可以是四象限(元组)或分区。存储阵列自身可以被划分为多个存储体。在全部的这些实例中,除非有特别指出,都假设计算每个链路的32个符号的脉冲长度或预取。
考虑某些实施方式对高速RQ端口有利的使用是有益的,该RQ端口可能仅仅是一个链路(例如用于单端信令的一个导线或用于差分信令的两个导线)。在这种实施方式中,如果RQ链路运行在或接近于DQ链路的速度,就会使与每个RQ端口相关的较少导线需要路由器。例如,在存储器***中,存在12个单端导线或链路,用于向存储器设备提供请求(命令和地址)信息。每个请求分组为24位,跨12个链路在每个分组中的2个符号中发送。(见图11B的讨论,如下,用于采样时序图)。在本说明书的专用名词中,这些12个单端导线或链路,将会被认为是一个RQ端口。相反,根据这些实施方式,RQ链路可使用一个或多个差分导线对来实现,其用于以DQ链路(例如32符号或RQ分组)相同的速度传送请求分组。在这些实施方式中,图1将只需要4个差分导线对(总共8根导线),用来将控制器101的全部4个RQ端口耦合到存储器设备102A的RQ端口上。根据所描述的实施方式,每个RQ链路的比特率等于每个DQ链路的比特率,所以一个RQ链路可以发送独立的32字节的读或写请求(每个RQ链路上有32个符号×8个DQ链路)。如果4个连续的请求通过4个RQ端口中的每一个端口来发送,那么每个分组时间上访问的数据字节的总数将会是4×32字节,或128字节。
图2示出了具有双设备配置的***100,其中控制器101与存储器设备102A和102B耦合在一起。控制器101具有耦合到每个存储器设备102A上的两个RQ端口,每个存储器设备102A被配置为包括两个单链路RQ端口(例如2×1)。控制器101上的DQ端口被相似地分割开,两个用于存储器设备102A,两个用于存储器设备102B,或者对于每个存储器设备使用16个数据链路。为了容纳这些分割的端口,每个存储器设备被配置为用来提供2个单链路请求端口(2×1)。结果,每个分组时间内,访问每个存储器设备102A(或存储器设备102B)的数据字节的总数被缩短一半到2×32字节,或64字节。控制器101将对每个通过RQ端口发送的请求分组增加附加的寻址信息,例如1位,这是因为控制器101需要寻址双倍于图1那样的存储器设备容量,但是现在,每个分组时间内每个存储器设备的数据字节总数只有一半。见图7的论述,如下,可见设备中的4个存储阵列怎样被划分为奇偶群组。在一个实施方式中,RQ分组的大小保持固定,例如32个符号,而无关于该附加的寻址信息。由于图1至图3的实施方式集中于容量的可变性上,因此DQ分组长度保持固定。
图3示出了根据第三配置的***100。在该配置中,控制器101与存储器设备102A-D耦合在一起。在控制器101上的4个RQ端口中,一个耦合到存储器设备102A-D的每一个上。相似的,在4个DQ端口中,一个(8个数据链路)耦合到存储器设备102A-D的每一个上。结果,每个分组时间访问每个存储器设备102A-D的数据字节的总数比图2缩短一半,到1×32字节,或总数为32字节。这里,控制器还将为每个RQ分组增加比图2中使用的更多的寻址信息,例如多于1位,同时维持RQ分组的大小不变,这是因为控制器101需要寻址双倍于图1-图2那样的存储器设备容量,但是现在,每个分组时间内每个存储器设备只有32数据字节。在这种配置中每个存储器设备的请求接口包括一个单链路端口。这样在该第三配置方式中,4个RQ分组的每一个都去往不同的存储器设备,每个存储器设备102A-D具有8个DQ链路,其根据该寻址信息路由到设备中的合适的存储阵列上。实际上,图2中的存储容量双倍于图1,在图3中再加倍,同时对于数据DQ和请求RQ链路来说,点对点连接的数目维持一致,其中这些链路在存储器控制器101和附加的存储器设备之间延伸。从存储器控制器的透视中还可获得益处,事务的粒度对于1个、2个或是4个存储器设备都是相同的。这样,***100的存储容量能够成比例,同时维持点对点连接的使用以及每个端口访问粒度不变。
描述了基本拓扑和元件的布局,现在将更详细地描述***100及其功能性方面。在一个实施方式中,***100是计算机***,例如,服务器计算机、视频游戏操纵台或者个人计算机;印刷电路板;多芯片模块或分组上/内***。
控制器101是具有存储器控制器的集成电路,例如CPU,GPU,北桥,南桥等等。例如,在一个实施方式中,***100可以是游戏操纵台***,控制101可以是经修改的IBM蜂窝宽带引擎。游戏操纵台***可以具有与存储器设备102A相同类型的固定数目的存储器设备,例如图2中的两个设备。除了图1至图3之外其他数目的存储器设备也可以由单个控制器来支持,只需适当地调整控制器101上的RQ/DQ端口数目。见例如图11的论述,如下。
存储器设备102A-D可以是具有适当的与控制器通信的任意读/写存储器,例如,RAM,DRAM,非易失性存储器,SRAM-或者甚至是只读模式中的ROM-也可以使用。存储器设备102A-D或者直接耦合到***100上,例如被焊接到印刷电路板(PCB)上,或者是可移动的模块,例如DIMM,SIMM等等。见图9的论述,如下,用于使用模块的一个实施方式。
总结而言,不同的实施方式提供了一种采用一个控制器(例如控制器101)的方式,该控制器支持大范围的存储容量(实例中的一个至四个存储器设备),同时维持RQ和DQ端口的点对点路由。全部的存储器设备102A-D都以点对点的方式耦合到控制器上。在这些实施方式中,存储器设备102A-D在DQ宽度上是可编程的并且具有可配置的请求逻辑。可编程性和可重新配置性能够基于存储器设备或模块的存在或不存在来自动检测,它们通过一个或多个可熔断(fusable)、可擦写或电可编程寄存器来编程,通过***100上的跳线来设置,由请求分组信息和/或其他装置来控制。在一种类型的存储器设备,例如存储器设备102A能够按非常不同的配置方式来使用的情况下,这些实施方式都能呈现出优点。
控制器101还可以按另一种配置组合在可缩放的访问粒度中使用。目前为止,在这三个讨论过的与图1-图3相关的配置中,每个RQ端口的访问粒度维持在常数32字节上。这一结果可以从下面的假设中得出,32个符号/DQ链路/请求×8DQ链路/RQ端口。控制器101还可以用于允许粒度可缩放的配置中,这一配置将结合图4-图6来描述。
图4示出了根据第四配置方式的***400。***400使用不同的配置来提供粒度的可缩放性。在该第四配置中,控制器101耦合到存储器设备102A。尤其是,在此第一配置中,控制器101中的四个RQ端口中只有一个(1/4)被使用。再次,在每次对注释的讨论中,如上,控制器101和存储器设备102A上的端口的实际数目可以是不同的。相关点是在该配置中使用的数目。下面通过图4-图6的实例,单一存储器设备102A对各种不同的控制器配置的适应性将变得显而易见。值得注意的是,图4中每个请求分组中的地址长度将比用于如图1所配置的***100的地址信息更短。这是因为具有较大访问粒度的同样的存储器具有较少的可寻址位置。然而,请求分组的格式在所有这些配置中仍旧可以是常数大小。
在如图5所示的第五配置中,***400具有控制器101和存储器设备102A,其中控制器101使用该控制器101上的4个RQ端口中的2个(2/4)来耦合到存储器设备102A上。在图6的该第六配置中,两个设备上都使用了全部的4个RQ端口(4/4)。使用该实例,如图4所示,在第四配置中访问粒度是128字节。该结果可从下面的假设中得出:32个符号/DQ链路/请求×32DQ链路/RQ信道。访问粒度在图5和图6中分别是64字节和32字节,这是因为与每个请求信道相关的DQ链路的数目分别是16和8。这样***400就允许***设计者为所期待的访问粒度分配所需的最小RQ链路。
在一个实施方式中,对于所期待的访问粒度,只有期望的请求链路的数目在控制器101上实现。存储器设备102A可被编程为期望数目的独立的请求信道。特别的,游戏操纵台的制造者希望128字节的访问粒度,而桌面和服务器计算机***的制造者希望32字节的访问粒度。因此,每个制造商可能只为他们所期待的访问粒度设置实际数目的外部请求端口;然而,相同的存储器设备102A可以按极大不同的配置方式来使用。例如,节省控制器针脚和/或减少成本的期望可能是请求端口的数目为何会在控制器101上改变的原因。
如所讨论的存储器设备102A将包括一个或多个存储阵列,有时被称为四象限、分区或扇区或甚至存储体。每个存储阵列都能够解码独立的访问(例如,读取)请求。存储器设备102A中的请求路由器可被配置为对所有的存储阵列广播相同的请求,对每个存储阵列发送唯一的请求,和/或这些或其他选项的组合,以使得存储阵列有效使用。这将与图7-8中的实例一起来进一步描述。另外,每个存储阵列都使用微线程,并且可由较小的存储器单元阵列来组成。在随后的实例中,存储阵列被分为4个独立的可寻址“元组”,每个元组都包括4个存储体。
图7描述了在图1至图6的***中使用的存储器102A的简化示意图。图7的元件将随着它们的使用来进行描述。
存储器设备102A包括4个存储阵列700A-D。在可选配置中也可以使用更多的阵列。每个存储阵列700A-D都可以进行独立的操作。存储阵列耦合到请求路由器702、写数据通路路由器704和读数据通路路由器706上。为了清楚简洁,读数据通路路由器706未在图7中详细示出。图8给出了读数据通路路由器706的细节。图7的其余论述中,将省略读数据通路路由器706的细节,可以理解其操作和功能性平行于写数据通路路由器704。
请求路由器702和写数据通路路由器704分别接收选择信号:RQ配置选择710和DQ宽度选择708。它们可以是不同的信号,也可以是相同的信号。信号可以来自于存储器设备102A,例如来自设置、跳线、信号、导线等等,或者信号也可以在存储器设备102A上计算,例如通过使用寄存器、逻辑等等的组合。这两种情况下RQ配置选择710都控制所使用的C/A端口的数目,而DQ宽度选择708都控制设备的宽度和所使用的DQ端口的数目。在具有4个存储阵列700A-D的实例中,选择信号从0到2变化。特别的,如果RQ配置选择710是0,那么只有1个请求端口RQ0会被使用;如果是1,那么有2个请求端口RQ0和RQ1会被使用;如果是2,那么全部的4个请求端口RQ[3:0]都会被使用。以相似的方式,DQ宽度选择708改变存储器设备的宽度:如果是0,那么1个DQ端口被使用(链路DQ[7:0]);如果是1,那么2个DQ端口被使用(链路DQ[7:0]和DQ[15:8]);如果是2,那么4个DQ端口被使用(链路DQ[7:0],DQ[15:8],DQ[23:16]和DQ[31:24])。在另一个实施方式中,缩放比例可以是x1,x2,x4,x8,x16和x32。其他的缩放比例系数也是可以的。为了清楚起见,省略了用于存储阵列700A-D的写使能信号。参见如美国专利公开号2004/0221106的图18-图20,以及所附的论述在可配置点对点拓扑中,在模块电平上用于路由存储器设备信号的写使能的正文。
改变RQ配置选择710和DQ宽度选择708的值,就将存储器设备102A切换到可以在不同配置下操作,这些配置如结合图1-图6所描述。
选择716A-H是使用RQ配置选择710和DQ宽度选择708的值的逻辑,用以完成请求路由器702和写数据通路路由器704内部的信号路由。在一个实施方式中,选择716A-H使用多路复用器来实现。在这种配置中,RQ配置选择710和DQ宽度选择708可以是两个导线,用以向多路复用器提供输入。
存储器设备102A的其他元件简要的示出以供参考。特别是在请求侧,在串并行转换器712A-D和存储器请求控制器714A-D(在图中缩写为CTL)之前使用缓存。存储器请求控制器714A-D耦合到请求路由器702上。
存储器请求控制器714A-D(标为CTL 0到CTL 3)接收解串行化命令和地址信息,对其解码,并生成地址和控制信号从而与存储阵列700A-D链接。存储器请求控制器714A-D可包括状态机、寄存器、解码器、序列发生器等等。实施方式示出了存储器请求控制器714A-D位于请求路由器702之前。存储器请求控制器714A-D还可选择的位于请求路由器702的后面。在那样的实施方式中,请求路由器将会路由经过解串行化但未经解码的请求信息。请求路由器702的功能性独立于待路由的特定信息。
在DQ侧,位于串并行转换器720A-D之前的缓存从存储器设备102A的外部接收输入,并串行转换器722A-D耦合到这些缓存上并将来自存储器的输出发送到外部。串行化器720A-D和解串行化器722A-D耦合到各自的数据通路模块718A-D上。数据通路模块718A-D耦合到写数据通路路由器704(以及读数据通路路由器706)。
数据通路模块718A-D(在图中缩写为DP)都支持读和写。在某些实施方式中,数据通路模块718A-D具有单独的读和写通路。对于写,数据通路模块718A-D执行写数据的变形(例如比特反转、误差校正、屏蔽字节的替换、屏蔽键比较等等),并向存储阵列700A-D生成或传输写数据和写使能信号。对于读,随着读数据从存储阵列700A-D前进到串行化器,数据通路模块718A-D执行任意必要的读数据的变形(例如比特反转、误差校正、奇偶生成、等待时间的改变等等)。如结合存储器请求控制器714A-D所讨论的,数据通路模块718A-D可以位于写数据通路路由器704/读数据通路路由器706的之后或之前,并且这些路由器的功能性独立于待路由的特定信息。
图8描述了用于图7的存储器设备102A的读数据通路路由器706的简化示意图。特别是关注于与图7相比所不同的元件,现在详细示出读数据通路路由器706,其包括用于实现路由功能性的选择器816A-D。在该实施方式中提供两个读选择来控制选择器816A-B:读CH 0选择802和读CH 1选择804。这两个值是用于DQ宽度选择708和地址解码的电流设定的函数。参见,例如美国专利公开号2004/0221106的图18-图20,以及所附的论述在可配置点对点拓扑中,在模块电平上用于路由存储器设备信号的地址解码的正文。
在某些实施方式中,请求端口的使用可被及时的多路复用,以便在不同的存储阵列上交错请求。例如,如果一个请求正在被使用,及时的交错C/A信息,从而向设备中的每个存储阵列提供不同的C/A信息,而非将相同的分组发送到全部4个存储阵列上。
尽管示出了写数据通路路由器704和读数据通路路由器706的一个实施方式,也可以为灵活使用存储阵列700A-D来提供其他的路由实施方式。例如,能够基于动态路由选择将任意输入端口路由到任意输出端口的全交叉开关也可以使用。在这些实施方式中的路由选择可以从输入针脚、熔线、寄存器设定、地址位和/或请求分组的字段、其他信号和/或这些选项的某个组合进行解码。
与存储器模块一起使用
图1-图6的讨论涉及到采用了支持各种实施方式的存储器设备和控制器的***配置,其主要关注于直接耦合到单个存储器设备上的控制器,如与存储器模块上的存储器设备相对。使用例如DIMM、SIMM和/或其他类型存储器模块的实施方式也是可以的。这些实施方式具有两个主要特点:未缓存和已缓存。图9示出了未缓存模块的实施方式。
图9是根据基础配置方式的未缓存模块的实施方式的图表。升级的配置方式将结合图10来考虑,如下。图9示出了具有控制器902和插槽903A-B的***900,这些插槽用以接受存储器模块和连续性模块。在该基础配置中,存储器模块706A示出于插槽903A中,连续性模块720A示出于插槽903B中。连续性模块也可被称为短接模块。所示的控制器902的部分具有两个部分904A-B,这些部分也可以被称作存储信道。控制器902的实现不需要物理上独立的两个部分,例如,它们可以混合在一起。在图中未示出的是平行的***900的“下半部”,在那里控制器902具有两个额外的部分、退信通路和插槽,以用于两个额外的存储器模块或连续性模块。部分904A的操作将会论述;部分904B按相同方式操作。未示出的下半部分也按相同方式操作。考虑到***900的容量和其他特征,还将考虑存储器模块、存储器设备等等的作用。
两个部分904A-B的操作是独立的还是“彼此紧跟”(例如在部分904A和部分904B中对于DQ端口的独立请求信息或公共的相同的请求信息)是一种实现方式的判定。另外,实心圈标识出激活的通信端口。在这种单模式配置中,部分904A耦合到存储器模块906A和连续性模块920A上。连续性模块920A有时被称为短接模块,其***在***900的基本配置中用以提供“返回到”存储器模块906A的点对点连接。可选的实施方式不使用连续性模块,而是使用其他的方式来提供返回到存储器模块906A的点对点拓扑。
存储器模块906A包括存储器设备908A-D。其中每一个设备都具有存储器设备102A的一般设计,这已经在如上结合图7-8详细讨论过;然而,在这个实例中,存储器设备908A-D只有2个请求端口和2个八链路DQ端口。从控制器902到存储器908A-D的所有链接都是点对点的。在基础配置中,在部分904A中,两个与模块906A通信的请求端口被直接耦合到每个存储器设备908A-B上的各自的请求端口。部分904A上的其他两个请求端口通过连续性模块920A与存储器设备908A-B通信,连接到每个存储器上的一个请求端口。DQ配置除了以8个链路为一束之外,其他都是类似的。为了清楚简洁,省略模块906A-B上的RQ和DQ端口的特殊模块上路由。
图10是描述按升级配置方式未缓存模块的实施方式的图表。它与图9相似,然而连续性模块920A已经从插槽903B中移走,取而代之的是具有存储器设备908E-H的存储器模块906B(所有的这些设备的设计都与存储器设备908A-D相同)。如所示的,全部的存储器设备908A-H都只使用1个RQ端口和1个八链路DQ端口。这与图1和图2之间的差异是正好类似的。在图10中,以虚线所画出的开放环显示出未激活的通信端口。特别的,存储器模块906A和存储器模块906B之间的虚线表示,用于返回到存储器模块906A的通路的那些请求链路对于由部分904A所驱动的存储器信道来说不是激活的。
假设***900需要至少一个加载的插槽以用于每个“半”控制器902(例如,最少2个模块,因为这是一个4插槽***),两个配置可以如表1所列。
***属性 | 基本(图9) | 升级(图10) |
存储器模块 | 2 | 4 |
连续性模块 | 2 | 0 |
每个模块上的设备 | 4 | 4 |
存储器设备C/A宽度 | 2 | 1 |
存储器设备DQ宽度 | 16 | 8 |
存储器设备的总数 | 8 | 16 |
C/A带宽(和DQ带宽) | ×Gbps | ×Gbps |
容量 | Y GB | 2Y GB |
访问粒度 | Z字节 | Z字节 |
表1
表1中使用的单位只是用于参考的目的,也可以使用更适于X,Y和Z的特定值的其他单位。
如所示的,该***900以模块化形式在容量上获得优势。某些观点来自如下讨论;
●每个部分的RQ端口数目可逐渐增加到每个部分的DQ链路数目(例如用于支持高容量配置)。
●***中的存储器设备的最大数目受到未缓存模块情况下的RQ端口数目的限制,这是因为所有的存储器设备都经由点对点的RQ和DQ链路工作。
●使用经缓存的模块(未示出)可以允许在每个缓存之后为每个RQ或DQ端口增加额外的模块。
图11A是用于图9-10的***的未缓存模块的图表。更加详细的示出存储器模块906A。图11是图9的基本配置的示意,RQ和DQ端口的特定路由是显而易见的。在图10的升级配置中,不使用存储器模块906A右手侧上的通信信道。
对照时序图
图11B示出了将DDR3、GDDR3/4、XDR之间的请求(RQ)串行化与根据这里所述的一个实施方式所使用的串行化相比较的时序图。该时序图还示出了根据几种已知的方法的数据DQ的串行化。标为“TBI”的下部分示出了根据这里所述的实施方式为RQ和DQ提出的串行化。在该实例中,使用16Gbps(每秒十亿比特)数据速率来传输请求和数据。如最右边一列所示,在该实施方式中,一个RQ分组包括32位。
可选的***图
图11C示出了采用根据这里所述的一个实施方式的控制器的可选***。标为控制器的项目由多个标为PHY的部分构成,其具有通过2个C/A端口和2个DQ端口耦合到该控制器的存储器设备(以标识Mem示出)。图11C是值得注意的,因为它示出了怎样在大规模***中使用可缩放粒度的存储器设备102A和控制器101。所示出的控制器能够向每个存储器发布1个或2个请求,直到对该存储器***发布32个并发的请求。图11C示出了1个具有64字节访问粒度的TBps(每秒千G比特)存储器***。然而,32字节的访问粒度也是可以的,通过将控制器上每个部分所使用的请求端口的数目提高到4个,也能达到128字节;然而,存储器设备的类型不需要改变,而只需要改变存储器设备的配置,例如通过结合图7-8讨论的配置选择,如上所述。图11C和图9-10的一个区别在于***900采用了来自控制器的RQ和DQ端口的点对点路由,经过空插槽(例如使用连续性模块)用以扩展容量。这就需要存储器模块包含RQ和DQ端口的某些路由,以便控制可能的不同模块拓扑。在图11C中,为了扩展所使用的存储器模块,它们被便利的***到存储器设备中,例如不使用连续性模块。
定时和信令
图11D示出了根据这里所述的一个实施方式可使用的定时和信令方法。控制器(例如101或902)和存储器设备(例如102A-D和908A-H)可以使用完全差分的信令,但其他的定时和信令方法也是可以的。该实例使用只有导线的时钟分布。
图1-图11D的实施方式通过对请求和数据使用相同或相似的点对点拓扑和信令速率,使得请求带宽按数据带宽成比例缩放,同时使得容量按配置成比例缩放,以用于保持较低或常数的访问粒度。为了获得关于容量和粒度缩放的最大灵活性,独立控制的存储阵列部分的数目大于或等于实施的请求信道的数目是有益的。然而,虽然有许多可能的方式来在***中使用具有这种程度的配置灵活性的存储器设备,但在这里已经描述的只是几个可能的实施方式。
一种配置是在存储器上具有4个存储阵列的4个RQ端口。它们按顺序生成如下的公共配置:1个RQ端口驱动所有的存储阵列;2个RQ端口,其中1个驱动“偶数”存储阵列另一个驱动“奇数”存储阵列;4个RQ端口中的每一个都独立的驱动1个存储阵列。RQ端口的数目可根据数据通路的宽度来改变,以便使每个请求端口得到固定的访问粒度。在某些实施方式中,存储器***能够支持微线程,使得控制器独立的寻址存储器设备核心的不同部分。
具有常数请求访问和数据粒度的实施方式
结合图1-图11D描述的方法可以适用于各种应用方式,以使得存储器控制器容纳各种数目和类型的存储器模片和/或存储器模块。存储器控制器支持灵活的、针脚有效的请求接口,以提供高速的、点对点请求链路,并且可被一个存储器设备或模块使用,或可在多个设备或多个模块中共享,同时保持请求和数据访问粒度。
某些实施方式支持可调的请求分组信令速率,所选择的速率取决于给定存储器***中存储器模块或设备的数目,和/或各存储器模块上驻留了多少存储器设备。例如,在双设备模式中,存储器控制器通过各请求端口以相同的信令速率,将请求分组传送到两个存储器设备。这两个存储器设备可以驻留在同一模块或不同模块上。在单设备模式中,存储器控制器通过全部两个接口以低于双模块模式中所使用的信令速率(例如一半)的信令速率,将请求分组传送到一个存储器设备。根据各种实施方式的存储器***可以包括在存储器控制器和一个或多个存储器设备之间耦合的缓存。缓存可驻留在存储器模块上,在该模块上驻留了第一储器设备和第二存储器设备两者。
图12是示出根据本说明书一个实施方式,按第一操作模式的存储器***1200的方框图。存储器***1200包括至少一个存储器模块1202、一个存储器控制器1220和一个通信信道1230,该信道将存储器模块1202耦合到该存储器控制器1220。在一个实施方式中,通信信道1230包括形成一个或多个数据(DQ)端口的DQ链路(例如,DQ 1链路,DQ 2链路),以及形成一个或多个命令/地址(CA)端口的CA链路(例如,CA 1链路,CA 2链路)。例如,DQ线和CA线可以采用电路板(例如主板)上或内部的信号迹线来形成,控制器1220和存储器模块1202固定于其上。
存储器模块1202可包括一个或多个存储器设备,例如存储器设备1204和1206,用于将该存储器模块1202耦合到通信信道1230中的DQ和CA链路上的连接器1218,以及用于将存储器设备1204和1206耦合到各自的一个DQ和CA端口的导线或迹线1219。导线1219例如可以是形成在印刷电路板上的导线图案,存储器设备1204和1206固定在该电路板上。尽管只有两个存储器设备1204和1206在图12中示出,但实际上,存储器***1200可以包括更多或更少的存储器设备,这些存储器设备驻留在同一或不同的存储器模块上。而且,尽管存储器设备1204和1206以驻留在同一存储器模块1202上来示出,但下面关于存储器***1200的论述也用于存储器设备1204和1206驻留在不同存储器模块上的情形。
例如,存储器模块1202可以是DIMM(双内嵌存储器模块),存储器设备1204和1206可以是SDRAM(同步动态随机访问存储器),但是也可以使用不同类型的存储器设备和存储器模块。存储器设备1204包括存储器单元1210和接口电路1212,它还可以包括控制寄存器(未示出)。同样地,存储器设备1206包括存储器单元1214和接口电路1216,它也可以包括控制寄存器(未示出)。接口电路1212和1216包括输入/输出针脚1232和1234,它们耦合到导线1219用于输入和输出DQ和CA信号。例如,输入/输出针脚1232中的第一组连接到CA 1和DQ1,输入/输出针脚1234的第二组连接到CA 2和DQ 2。
存储器控制器1220包括存储器请求生成器1224、操作模式寄存器1226和控制器逻辑1222。存储器请求生成器1224相应于存储器设备1204和1206的存储器单元1210和1214的某些位置,生成存储器读或写请求。控制器逻辑1222相应于存储器单元1210、1214的特殊位置,生成控制和地址(CA,C/A或RQ)信号。CA信号可包括对存储器模块1202的读或写命令。
存储器控制器1220和这样的存储器***1200能够在至少2个操作模式下操作,用以生成具有不同CA信令速率的CA信号。在生成CA信号中,控制器逻辑1222例如基于存储在操作模式寄存器1226中的操作模式标记,来判断存储器***的操作模式。例如,存储器控制器1220可以通过存储器模块1202向存储器控制器1220提供的SPD(连续存在检测)信息,来判断存储器模块或存储器设备1204和1206的类型或配置(操作模式)。图12所示的实例描述了存储器***1200处于第一操作模式中的情形,在这一情况下,存储器设备1204和1206的每一个都通过专用的CA和DQ线(例如点对点链接)耦合到控制器1220上。当存储器***1200处于第一操作模式中时,控制器逻辑1222生成具有第一信令速率(例如每个tRR间隔32比特,这里tRR表示对特定存储器设备的独立行访问之间的最小时间间隔)的CA信号(CA 1和CA2)。CA 1或CA 2端口可包括多个能够并行地携带多比特信息的信号链路。在图12的实例中,CA 1或CA 2端口可包括两个能够并行地携带两比特信息的信号线,或者CA 1或CA 2端口是2比特宽。因此,当CA信令速率是32比特/tRR时,CA 1或CA 2端口可在一个tRR间隔或32tBIT-CA间隔内携带最多64CA比特,其中tBIT-CA表示一个CA信号中的比特间隔。值得注意的是,CA 1和CA 2端口可以具有不重合的(交错的)tRR间隔,但是在某些实例中,CA 1和CA 2端口可以具有重合的tRR间隔。控制器逻辑1222还用于传输CA信号以及经过端口DQ 1和DQ 2传输并接收存储器数据信号DQ。
如图12所示,按第一操作模式的存储器***1200具有一个连接到DQ端口DQ 1和CA端口CA 1的存储器设备1204,以及连接到DQ端口DQ 2和CA端口CA 2的另一个存储器设备1206。例如,DQ端口DQ 1和DQ 2中的每一个可以是4比特宽,这使数据端口DQ具有8比特宽。如上所提及的,存储器***1200可以包括多个模块,一个模块可包括更多或更少的存储器设备。例如,存储器模块可包含16个存储器设备,每个存储器设备连接到4比特宽的DQ端口和2比特宽的CA端口,以便使存储器模块并行传输或接收32CA信号和64DQ信号。CA端口CA 1和CA 2中的每一个可以是2比特宽,以允许64比特的CA信息在32tBIT-CA的间隔中传输。由于图13中的按第一操作模式的存储器设备1204和1206中的每一个都连接到一个具有32比特/tRR的信令速率的2比特宽CA端口,因此每个存储器设备1204和1206可以在一个tRR间隔中接收最大64比特的CA信息。这样,每个存储器设备1204和1206具有至少一个专用的CA端口,以便使CA 1连接到存储器设备1204而不连接到存储器设备1206,并且使CA 2连接到存储器设备1206而不连接到存储器设备1204。在这种意义上,除了DQ端口DQ 1和DQ 2之外,CA端口CA1和CA 2还具有点对点连接,提供与DQ链路的拓扑对称的简单拓扑。结果,可以通过专用的CA线对每个存储器设备1204和1206独立地访问。由于CA链路的拓扑实质上与DQ链路的拓扑相同,因此CA链路可以按相同的信令速率操作,该信令速率具有与DQ链路的信令速率相同的阶数的数目级。
在一个实施方式中,控制器逻辑1222包括多路复用/引导逻辑(未示出),以便根据CA链路的宽度和信令速率生成和/或传输CA信号。然后,结果CA数据经过CA端口CA 1,CA 2传输到它们相应的存储器设备1204和1206。
经过端口CA 1传输的CA信号由存储器设备1204的接口电路1212通过输入(CA)针脚1232接收,经过端口CA 2传输的CA信号由存储器设备1206的接口电路1216通过输入(CA)针脚1234接收。存储器设备1204或1206可以是具有固定CA宽度的存储器设备,其宽度分别与CA端口CA 1或CA 2的宽度相同。或者是存储器设备1204或1206具有可调的CA宽度,接口电路1212,1216可包括解多路复用/引导逻辑(未示出),用于将在CA端口(CA 1和CA 2)接收到的CA数据转换成并行CA数据,其串/并转换率依照CA端口的宽度和信令速率来调整。
当存储器设备1204和1206具有可调的CA宽度时,接口电路1212,1216可包括控制寄存器,其中存储着一个表示存储器***1200运行于哪种操作模式的标记。也就是,控制寄存器具有一个表示存储器***1200的操作模式的字段,一旦存储器控制器1220判断出存储器***1200的配置这个字段就可以由存储器控制器1220在初始化的时候编程。控制寄存器可通过CA端口,DQ端口或边频带链路(未示出)来写入。还可以使用熔线、专用输入针脚或另一种非易失方法来取代易失寄存器字段,从而为存储器设备1204,1206指定操作模式。在第一操作模式中,接口电路1212和1216解码以第一信令速率接收的CA信号,并对相关的存储器单元1212,1214提供访问(读或写)。值得注意的是,每个存储器设备1204和1206都分别与具有CA 1和CA 2的宽度的CA端口进行通信,每个端口如实例所示都具有两比特宽(2b)。这样,在第一操作模式中,当存储器***1200对每个CA连线以第一信令速率(32比特/tRR)操作时,经过每个CA端口CA 1和CA 2所传输的CA数据的最大量是每个tRR间隔64比特,如图12所示。
值得注意的是,在存储器***1200中,与示出本实施方式的特征不是特别相关的其他元件已从图12中省略。另外,尽管图12只示出了一个存储器模块1202,以及在存储器模块1202上只有2个存储器设备1204和1206,但这只不过是为了简化描述,存储器***1200可以包括多个存储器模块,并且真实的存储器模块可具有多个存储器设备。例如,一种配置使用16个存储器设备。
图13是示出根据一个实施方式,按第二种操作模式的***1250的框图。存储器***1250与图12中的存储器***1200相似,但不同之处在于在该实例中,存储器模块1252具有一个存储器设备#11204,两个DQ端口DQ 1和DQ 2以及两个CA端口CA 1和CA 2都连接到同一存储器设备1204。该实施方式与图2的实施方式相似。
当存储器***1250是在第二操作模式中时,控制器逻辑1222生成具有第二信令速率(每个tRR间隔16比特)的CA信号(CA 1和CA 2),其低于图12的实例中的第一信令速率(32比特/tRR)。而且,CA 1或CA 2端口可包括多个信号链路,它们能够并行地携带多比特信息。在图13的实例中,CA 1端口和CA 2端口中的每一个都可包括两个信号链路,它们能够并行地携带两比特信息,或者CA 1端口和CA 2端口中的每一个都是两比特宽。因此,当CA信令速率是16比特/tRR时,CA 1和CA 2端口中的每一个都可以在一个tRR间隔内或16tBIT-CA间隔内携带最大32个CA比特,其中,tBIT-CA表示一个CA信号中的比特间隔。
在第二操作模式中的存储器***1250具有一个存储器设备1204,它连接到两个DQ端口DQ 1和DQ 2以及两个CA链路CA 1和CA 2。由于CA端口,CA 1和CA 2一起,可以在一个tRR间隔内或16tBIT-CA间隔内携带最大64个CA比特,因此,图2中处于第二操作模式的存储器设备1204仍旧接收64比特CA信息,与图12中处于第一操作模式的存储器设备1204所接收的CA信息的数目相同。存储器设备1204具有专用CA端口,以便使两个CA端口CA 1和CA 2连接到存储器设备1204而不连接到其他存储器设备上。在这种意义上,除了DQ端口DQ 1和DQ 2之外,CA端口CA 1和CA 2还具有点对点连接,提供与DQ端口的拓扑对称的简单拓扑。结果,每个存储器设备可以通过专用的CA端口被独立地访问。由于CA链路的拓扑实质上与DQ链路的拓扑相同,所以CA链路能够以与DQ链路的信令速率具有相同阶数的数量级的信令速率来工作。在一个实例中,CA速率可以是DQ速率的一半,而其他实例支持相同的CA和DQ速率。
如上所示,控制器逻辑1222包括多路复用/引导逻辑(未示出),能够根据CA链路的宽度和信令速率生成和/或传输CA信号。然后,结果CA数据经过CA链路CA 1,CA 2传输到存储器设备1204。
经过端口CA 1和CA 2传输的CA信号由存储器设备1204的接口电路1212通过输入(CA)针脚1232,1235来接收。接口电路1212可包括解多路复用/引导逻辑(未示出),用于将CA端口上接收到的CA数据转换成并行CA数据,其串/并转换率依照CA端口的宽度和信令速率来调整。在第二操作模式中,接口电路1212以第二信令速率解码所接收的CA信号,并对相关的存储器单元1210提供访问(读或写)。存储器设备1204与具有全部两个CA 1和CA 2的宽度的CA端口通信,每个端口具有如实例所述的2比特宽。这样,在第二操作模式中,当存储器***1250对每个CA链路以第二信令速率(16比特/tRR)操作时,经过CA端口CA 1和CA 2与存储器设备1204通信的CA数据的最大量在每个tRR间隔中是64比特。
从图12和13中显然可知,存储器***1200,1250可以在至少两种操作模式中的一种下运行。在第一操作模式中,存储器***具有第一数目的存储器设备(在图12的实例中是2个),在第一操作模式中用于每个存储器设备的CA信号宽度是2比特宽,它是第二操作模式中用于每个存储器设备的CA信号宽度(4比特宽)的一半。相反,在第一操作模式中用于每个存储器设备的CA信令速率是第二操作模式中用于每个存储器设备的信令速率的2倍。在DQ信号宽度(或存储器设备的数目)增加时具有较低的CA信令速率,这是有益的,这是因为噪声会随着DQ信号的宽度增加。较低的CA信令速率使得存储器***不易受到增加的噪声的影响,其中该噪声是由增加的DQ信号宽度在DQ信号中生成的。能够传输到每个存储器设备的CA信号数据的最大量在任一操作模式中都保持相同。然而,取决于存储器模块的数目和存储器模块中存储器设备的配置和数目,CA信号宽度是可调整的并且CA信令速率还是可调的。在任一操作模式中,CA信令速率可以与DQ信令速率具有相同的数量级,这是因为CA信号和DQ信号都使用点对点拓扑。而且,CA信令速率可以调整为与DQ信令速率不同。
图14是示出根据本说明书一个实施方式,按多种操作模式操作存储器***的方法的流程图。为了控制存储器***,存储器控制器首先判断1402存储器***的操作模式。存储器控制器还根据所判断出的操作模式在存储器设备中设置1403控制寄存器。然后存储器控制器基于所判断出的操作模式生成1404CA信号。这样,如果存储器***处于第一操作模式,其每个存储器设备都接收第一宽度的CA信号,那么存储器控制器生成1404第一信令速率的CA信号。另一方面,如果存储器***处于第二操作模式,其每个存储器设备都接收具有比第一宽度更宽的第二宽度的CA信号,那么存储器控制器生成1404低于第一信令速率的第二信令速率的CA信号。存储器控制器将所生成的CA信号通过CA端口传输1406到存储器模块,CA信号然后在存储器模块上被路由1408到相应的存储器设备。存储器设备基于存储器***的操作模式解码1410CA信号,使用解码的CA信号访问存储器设备上的存储器单元。
图15是示出根据本说明书一个实施方式,按第一操作模式的存储器***1500的方框图。图15的存储器***1500与图12的存储器***1200相似,只是存储器设备1504,1506是标准的存储元件,不是为它们在不同的操作模式下操作而设计的。这样,为了向存储器***1500提供多个操作模式的特点,图15的存储器***1500还包括微缓存1524,将在下面对其详细解释。
如参照图12所解释的,图15中的存储器控制器1220还能够以至少两种操作模式操作,以生成具有不同CA信令速率的CA信号。在生成CA信号时,控制器逻辑1222基于存储在操作模式寄存器1226中的操作模式标记,来判断存储器***1500的操作模式。图15所示的实例是存储器***1500处于第一操作模式的情况。当存储器***1500处于第一操作模式时,控制器逻辑1222生成具有第一信令速率(在该实例中是32比特/tRR)的CA信号(CA 1和CA2)。CA 1或CA 2端口可包括能够并行携带多比特信息的多条信号链路。在图15的实例中,CA1或CA 2端口可包括能够并行携带2比特信息的多条信号链路,或者CA 1或CA 2端口是2比特宽的。因此,当CA信令速率是32比特/tRR时,CA 1或CA 2端口可在一个tRR间隔或32tBIT-CA间隔内携带最大64个CA比特,其中tBIT-CA表示CA信号中的1个比特间隔。控制器逻辑1222还用于经过CA端口CA 1和CA 2传输CA信号,并经过DQ端口DQ 1和DQ 2接收存储数据信号DQ。如上所述,控制器逻辑1222包括多路复用/引导逻辑(未示出),用以根据CA端口的宽度和信令速率生成和/或传输CA信号。
微缓存1524可包括一个特定用途集成电路(ASIC),它包括输入针脚1532、1533和输出针脚1534、1535。例如,第一组输入针脚1532连接到CA 1、DQ 1,第二组输入针脚1533连接到CA 2、DQ 2。而且,例如,第一组输出针脚1534连接到CA 1#、DQ 1#,第二组输出针脚1535连接到CA 2#、DQ 2#。微缓存1524被耦合,通过主CA和主DQ端口,CA 1、CA 2、DQ 1和DQ2,连接器1218和输入针脚1532、1533,接收CA信号和DQ信号。微缓存1524包括一个电路***,用以将接收到的CA信号转换为具有与标准存储器设备1504、1506的接口电路1512、1516兼容的CA宽度和CA信令速率。更特别地,微缓存1524能够在主接口(到控制器1220)和次接口(到存储器设备1504、1506)的两种不同类型的信令拓扑之间转换CA信号。例如,到控制器1220的主接口可包括点对点高速信号,到存储器设备1504、1506的次接口可以比主接口更慢并且更宽,并且可以使用非点对点信号(例如,多点或飞越式拓扑)。转换后的CA信号通过输出针脚1534、1535输出,并通过次CA端口CA 1#、CA 2#路由到相应的存储器设备1504、1506。同样的,缓存1524还对DQ端口DQ 1、DQ 2上接收到的数据信号进行转换,使其具有与标准存储器设备1504、1506的接口电路1512、1516兼容的DQ宽度和DQ信令速率。转换后的DQ信号通过次DQ端口DQ 1#、DQ 2#路由到相应的存储器设备1504、1506上。
如图15所示,按第一操作模式的存储器***1500具有连接到次DQ端口DQ 1#和次CA端口CA 1#的一个存储器设备1504,以及连接到次DQ端口DQ 2#和次CA端口CA 2#的一个存储器设备1506。这样,存储器***1500具有用于全部DQ和CA链路的点对点拓扑。然而,微缓存1524的使用还允许向传统的存储器设备1504、1506增加可调的点对点CA链路,而不需要改变标准存储元件1504、1506的结构,这通过使用微缓存1524和能够管理具有可调宽度和可调CA信令速率的多操作模式的控制器1220来实现。
图16是示出根据本说明书另一实施方式,按第二操作模式的存储器***的方框图。在存储器***1550中,存储器设备1504、1506是标准的存储元件,不是为它们在不同的操作模式下操作而设计的。这样,为了向存储器***1550提供多个操作模式的特点,图16的存储器***1550还包括微缓存1524。
如参照图13所解释的,图16中的存储器控制器1220也能够以至少两个操作模式操作,以生成具有不同CA信令速率的CA信号。在生成CA信号时,控制器逻辑1222基于存储在操作模式寄存器1226中的操作模式标记,来判断存储器***1550的操作模式。图16所示的实例是存储器***1550处于第二操作模式的情况。当存储器***1550处于第二操作模式时,控制器逻辑1222生成具有第二信令速率(在该实例中是16比特/tRR)的CA信号(CA 1和CA2),该速率低于图15的第一信令速率(32比特/tRR)。CA 1或CA 2端口可包括能够并行携带多比特信息的多条信号链路。在图16的实例中,CA 1或CA 2端口可包括能够并行携带2比特信息的2条信号链路,或者CA 1或CA 2端口是2比特宽的。因此,当CA信令速率是126比特/tRR时,CA 1或CA 2端口中的每一个可在一个tRR间隔或126tBIT-CA间隔内携带最大32个CA比特,其中tBIT-CA表示CA信号中的1个比特间隔。控制器逻辑1222还用于经过CA端口CA 1和CA 2传输CA信号,并经过DQ端口DQ 1和DQ 2接收存储数据信号DQ。
微缓存1524耦合于通过主CA和主DQ端口,CA 1、CA 2、DQ 1和DQ 2,以及连接器1218,接收CA信号和DQ信号。然后,微缓存1524对接收到的CA信号进行转换,使其具有与标准存储器设备1504的接口电路1512兼容的CA宽度和CA信令速率。更特别地,微缓存1524能够在主接口(到控制器1220)和次接口(到存储器设备1504)的两种不同类型的信令拓扑之间转换CA信号。例如,到控制器1220的主接口可包括点对点高速信号,到存储器设备1504的次接口可以比主接口更慢并且更宽,并且可以使用非点对点信号(例如,多点或飞越式拓扑)。转换后的CA信号通过次CA端口CA 1#、CA 2#路由到相应的存储器设备1504。同样的,缓存1524还对DQ端口DQ 1、DQ 2上接收到的数据信号进行转换,使其具有与标准存储器设备1504的接口电路1512兼容的DQ宽度和DQ信令速率。转换后的DQ信号通过次DQ端口DQ 1#、DQ2#路由到相应的存储器设备1504上。
如图16所示,按第二操作模式的存储器***1550具有连接到全部两个次DQ端口DQ1#和DQ 2#以及全部两个次CA端口CA 1#和CA 2#的一个存储器设备1504。存储器***1550具有用于全部DQ和CA链路的点对点拓扑。然而,微缓存1524的使用还允许向传统的存储器设备1504增加可调的点对点CA链路,而不需要改变标准存储元件1504的结构,这通过使用微缓存1524和能够管理具有可调宽度和可调CA信令速率的多操作模式的控制器1220来实现。
参考图16和17,在一个实施方式中,微缓存1524可取决于操作模式以不同的宽度和信令速率在主CA端口CA 1、CA 2上接收CA信号,但在次CA端口CA 1#、CA 2#上CA信号的宽度和信令速率相同,不考虑操作模式,但是要比主接口更慢并且更宽。然而,在另一实施方式中,微缓存1524还可以取决于操作模式改变次CA端口CA 1#、CA 2#上CA信号的宽度和信令速率(例如在第一模式中是第三信令速率,在第二模式中是低于第三信令速率的第四信令速率)。
图17是示出根据本说明书另一实施方式,按多种操作模式操作存储器***的方法的流程图。图17的方法实质上与图14所示的方法相似,不同之处仅在于增加了步骤1701,并且步骤1702、1704和1706替代了步骤1408、1410。
参考图17,为了控制存储器***,存储器控制器首先判断1402存储器***的操作模式。然后,存储器控制器设置1701存储器模块的微缓存中的控制寄存器,从而以判断出的操作模式配置存储器模块,并基于判断出的操作模式生成1404CA信号。这样,如果存储器***处于第一操作模式且每个存储器设备接收第一宽度的CA信号,那么存储器控制器就生成第一信令速率的1404CA信号。另一方面,如果存储器***处于第二操作模式且每个存储器设备接收具有比第一宽度更宽的第二宽度的CA信号,那么存储器控制器就生成比第一信令速率慢的第二信令速率的1404CA信号。存储器控制器通过CA链路将1406生成的CA信号传输到存储器模块。
微缓存通过CA端口接收CA信号,并将1702CA信号转换为适合于存储元件的逻辑接口的格式,其中该存储元件耦合到次CA端口上。转换后的CA信号然后在存储器模块上通过次CA端口路由1704到相应的存储器设备。存储器设备解码该1706CA信号,并使用解码后的CA信号访问1412存储器设备上的存储器单元。
图18是示出根据本说明书又一实施方式的、具有“1点对2点”CA链路拓扑的存储器***的方框图。图18的存储器***1800实质上与图12的存储器***1200相同,不同之处仅在于CA和DQ端口1819的配置以及分别驻留在存储器模块的前侧1802和后侧1804上的存储器设备1204和1206,作为镜像存储器设备。CA端口CA 1和CA 2中的每一个都从存储器控制器1220连接到全部两个存储器设备1204和1206上的接口电路1212和1216上,而DQ端口DQ 1和DQ 2是分别连接的,DQ 1连接到存储器设备1204而DQ 2连接到存储器设备1206。因此,DQ端口DQ 1和DQ 2“点对点”地连接到存储器设备1204和1206,而CA端口CA 1和CA 2是“1点对2点”地连接到存储器设备1204和1206。这种拓扑与点对点CA链路相比,可将CA链路的数目减少到一半,同时其CA信令速率与使用点对点CA链路的CA信令速率具有可比性。DQ信号使用点对点拓扑,以便保持较高信令余量,还可以最小化数据访问粒度。存储器设备1210和1214响应于请求,在端口CA 1和CA 2上接收相同的请求,在它们各自的数据端口DQ 1和DQ2上传输并接收不同的数据。
示意性存储器***
下列论述描述了使用集成电路(IC)控制器设备的存储器***,支持用于单和多存储器设备拓扑的经过高速请求接口的微线程请求。存储器控制器和相关存储器设备支持点对点请求和数据接口,且无关于存储器设备的数目,存储器访问粒度是相同的。
图19描绘了根据一个实施方式的存储器***1900,其包括连接到单个IC存储器设备(例如,DRAM模片)的IC存储器控制器1905。控制器1905包括4个存储器控制器块1915,标为W、X、Y和Z,它们中的每一个都收集和发布完整的事务请求,这些请求例如由集成的或外部的处理器(未示出)提供。存储器控制器块1915将数据信号DQ和请求信号RQ通过各自的信号接口1930传输到外部数据和请求端口1920和1925,在所描述的实施方式中,每个接口包括多个数据接口和一个请求接口。术语“外部”指的是端口的物理表现形式,它可到达芯片外的信号线。在一个典型的实例中,存储器控制器IC与一个或多个存储器设备IC一起安装在印刷电路板(PCB)上。该PCB还支持导电迹线,以连接到控制器和存储器设备IC上的外部端口,以利于它们之间的通信。
存储器互连1935在控制器1905和存储器设备1910之间延伸,其示出了来自控制器1905的每个所描绘的DQ端口,尽管只示出了4条DQ线,经过4对链路传送,并以8个差分数据信号到达数据接口1940。(与给定信号通路相关的圈出的数目确定了通路中链路的数目)。这样,存储器设备1910支持32个差分数据链路1920DQ[31:0],它们被分组成4个八链路数据端口。引导逻辑1945允许存储器控制器块1915将它们各自的完整事务请求指向8个差分请求端口的各种组合,这些端口成对地以块1925来示出。为了易于理解,引导逻辑1945与存储器控制器块1915分离地示出-可以这样实现-但也可以用别的方式实现,例如在块1915和接口1930内部或在它们之间。对于引导逻辑1945的连通性,随后要描述的数据通路连通性将使用一个模式寄存器1947来定义,该寄存器存储表示连接的存储器设备的数目的值。下面将解释该实例中的引导逻辑1945所提供的连通性。
存储器1910包括4个存储器单元块BLKA0、BLKA1、BLKB0和BLKB1,在该实施方式中它们可以被称为“元组”,这是因为它们表示4个离散的独立的可访问阵列。(包含2个块的组也可以被称为块,但为了易于理解,被称为“半个存储体”)。每个块按顺序包括4个存储体(例如块BLKA0包括存储体a、b、c和d)。存储器1910还包括请求接口1955和某些请求引导逻辑(RSL)1960。请求接口1955通过信道1935从引导逻辑1945接收请求信号,引导逻辑1960将这些请求指引到适当的块BLKA0、BLKA1、BLKB0和BLKB1。
如上所解释的,存储器控制器1905上引导逻辑1945的配置和存储器设备1960上的引导逻辑的配置取决于耦合到存储器控制器1905的存储器设备的数目。***1900是单设备实施方式,其中存储器设备1910通过读或写直至32个并行数据分组,来响应于来自存储器控制器1905的请求,其中每个分组包括32比特,总数为1024比特数据。每个存储器控制器块1915生成它自己的请求线程,引导逻辑1945和1960将这些线程发送到适当的一个存储器块。更特别地,每个存储器控制器1915将请求信息传输到它的各个PHY 1930。请求信息然后从各个PHY通过引导逻辑1945、信道1935、请求接口1955和引导逻辑1960提供到一个或多个存储器块。第二组请求端口1925,在描述中,最底下的两个只是示出,但在该单模块实例中未被使用。引导逻辑1960按适合于给定存储器的配置路由这些请求,该配置在该实例中由存储器侧的模式寄存器1967来给出。用于存储器和控制器的模式信息可以使用例如熔点、反熔点、跳线等等不同的存储。
在该实施方式中,来自控制器块[W]1915和[X]1915的请求线程通过引导逻辑1945、信道1935和引导逻辑1960被分别传送到存储器块BLKA0和BLKA1。用于这些请求线程的信道1935的部分包括两个差分链路。引导逻辑1945和1960可被设置为每个控制器块指定一个链路,或者这些链路可以被差分共享,例如通过时分多路复用。模式寄存器1947和1967的内容定义了适当的路由和连通性,以用于将线程传送到它们的目的存储器块。这种有选择的连通性的重要性将通过图21的实施方式变得显而易见。
图20示出了时序图2000,其中4个读事务被指引到位于图19的存储器1910中的4个元组BLKA0、BLKA1、BLKB0和BLKB1中的每一个内的存储体。存储器设备1910具有32个被使能的DQ链路(例如在差分信令***中为DQ[31:0]/DQN[31:0],这里“N”指的是补充信号),以及2个被使能的RQ链路对(RQ[1:0]/RQN[1:0]以及RQ[3:2]/RQN[3:2])。RQ链路可以在接口1955或引导逻辑1960中被使能。CFM(以及CFMN)图例示出了时钟信号或主处理器时钟(及其用于差分时钟的反响)。交叉于顶端,周期(每个周期具有tCYCLE的长度)从0标至21。
在时间T0,读事务通过充当2个请求端口的RQ[1:0]/RQN[1:0]链路,被指引到块BLKA0的存储体“a”上,随后读数据Q(a1,a2)在信道1935的DQ[7:0]/DQN[7:0]链路上传输,其中该信道在相对的数据接口1930和1940之间延伸。同时,由于用来表示在不同链路上的连续行命令的时间tRR-N是零,所以可以将事务通过RQ[3:2]/RQN[3:2]链路引导到存储体“m”上,随后读数据Q(m1,m2)在DQ[15:8]/DQN[15:8]链路上传输。在延迟tRR-S之后,即用来表示在同一请求链路上的连续行命令的时间,事务就通过RQ[1:0]/RQN[1:0]链路被引导到存储体“g”上,读数据Q(g1,g2)在DQ[23:16]/DQN[23:16]链路上传输。同时,将事务通过RQ[3:2]/RQN[3:2]链路引导到存储体“s”上,读数据Q(s1,s2)就在DQ[31:24]/DQN[31:24]链路上传输。
每个读事务包括一个具有ACT命令的ROW分组、存储体地址、行地址和子行地址。子行地址不在该x32情形中使用。每个读事务还包括一个具有RDA命令的COL分组、存储体地址、2个列地址和2个子列地址。子列地址不在该x32情形中使用。COL分组跟随在ROW分组之后,即一个行到列的读延迟tRCD-R之后。来自第一列访问的读数据跟随在COL分组之后,即一个列访问时间(tCAC)之后。来自第二列访问的读数据跟随在更迟的一个列周期间隔(tCC)之后。每个列访问生成256比特数据。这就是在与给定数据接口1940相关的8个DQ链路的每一个上,串行化为32比特数据。这样在该实例中,列粒度是32字节(32B),行粒度是64字节(64B),两个Q分组(例如Q(a)1和Q(a2))中的每一个都是32字节。
存储器控制器1905保持读和写事务的队列。在该实例的***中,每个事务在每32B上执行2个列访问。独立的操作,每个存储器控制器块1915及其相关的接口1930向存储器1910的4个元组中的每一个发出请求。数据接口1930的8个DQ链路直接连接到存储器1910的相应的DQ链路上。尽管在其他实施方式中有不同,但在该实施方式中,来自每个MC+PHY的RQ信息与另一MC+PHY信息多路复用。交织的写事务将以与图19所示的相似的方法引导数据,不同之处仅在于写数据从控制器1905移动到存储器1910。
图21描绘了双设备存储器***2100,其中图19的控制器1905被配置为与2个存储器设备1910通信,用来两倍于***1900的存储容量,同时保持相同数目的存储体和相同的访问粒度。为了简单描述,将存储器控制器块和控制器1905的接口组合到片2105上。未使用的请求端口被耦合到虚线上,它表示可在例如电路板支持控制器1905和存储器设备1910上提供的优选迹线,用以支持不同数目的模块和不同类型的请求的连通性。
控制器1905包括与图19的单模块实施方式相同数目的数据端口,每个数据端口都是相同的8链路宽。然而在该实施方式中,来自每个控制器块2105的数据链路在两个模块1910之间被分开。而且,虽然还使用了2个RQ端口,每个模块使用1个,但它们不同于图19中使用的那两个。每个存储器设备1910被配置,以便每个存储器块(例如BLKA0)与图19的单设备实施方式相比,具有一半的数据宽度和双倍数目的地址位置。
图22示出用于图21的存储器***2100的时序图2200,其中在每4个读事务被指引到成对的元组中的存储体上时,其中2个读事务被指引到其中的存储体上(例如块BLKA0和BLKB0),在每个存储器设备1910中分别标为DRAM-0和DRAM-1。每个存储器设备具有16个被使能的DQ链路(例如,DQ[3:0]/DQN[3:0],DQ[11:8]/DQN[11:8],DQ[19:16]/DQN[19:16]和DQ[27:24]/DQN[27:24]),以及1个被使能的RQ链路对(RQ[1:0]/RQN[1:0])。该双设备配置与图19的单设备配置相比,区别包括:
●16个DQ链路(对32个);
●1个RQ链路对(对2个)
●2个存储器设备通过信道1935连接到控制器1905(对1个存储器设备1905);
●并行操作斜对角的元组中的存储体,例如存储器块BLKA0和BLKB0的存储体“a”和“m”(对单独操作存储体);
●子行地址SR[1]用于在存储体中选择子行;以及
●子列地址SCx[3],SCy[3]用于在存储体中选择子列。
对于存储体“a”的读请求在RQ[1:0]/RQN[1:0]链路上被接收,并且读数据在DQ[3:0]/DQN[3:0]链路上传输。同时,相同的读请求被指引到存储体“m”;换句话说,存储体“a”和“m”被链接以用于并行操作,它们从请求分组接收相同的地址字段。来自“m”的读数据在DQ[11:8]/DQN[11:8]链路上传输。
在延迟(tRR-S)之后,对于存储体“g”的请求在RQ[1:0]/RQN[1:0]链路上被接收,并且读数据在DQ[19:16]/DQN[19:16]链路上传输。同时,相同的请求被指引到存储体“s”上;换句话说,存储体“g”和“s”被链接以用于并行操作,它们从请求分组中接收相同的地址字段。来自“s”的读数据在DQ[27:24]/DQN[27:24]链路上传输。
每个读事务包括一个具有ACT命令的ROW分组、存储体地址、行地址和子行地址。子行地址SR[1]在该x16的实施方式中使用。术语“x16”或“16倍”表示每个存储器设备1910上接口1940的组合有效宽度。因此两个存储器设备的组合宽度是32,正如图19的实施方式那样。每个读事务还包括一个具有RDA命令的COL分组、存储体地址、2个列地址和2个子列地址。子列地址SCx[3],SCy[3]在该x16的实施方式中使用。COL分组跟随在ROW分组1个行到列的读延迟tRCD-R之后。来自第一列访问的读数据跟随在COL分组1个tCAC之后。来自第二列访问的读数据跟随在更迟的1个tCC之后。
每个列访问生成128比特数据。这就是在4个DQ链路的每一个上串行化为32比特数据。在8个DQ链路的每一个上,两个并行的列访问生成32比特数据。列粒度是32字节(32B),行粒度是64字节(64B),与图19的***相同。
回到图21,引导逻辑1945和1960被配置,以便只使用RQ[1:0]/RQN[1:0]和RQ[5:4]/RQN[5:4]链路对。控制器1905的每个独立的存储片2105将请求指引到每个存储器设备DRAM-0和DRAM-1中的元组中的两个上。来自每个片2105的DQ输出端口在接口1940上被分离。例如,来自片[W]的4个DQ链路通过数据接口1940耦合到块BLKA0,该接口1940支持DQ链路DQ[7:0],同时余下的4个DQ链路通过数据接口1940耦合到块BLKB0,该接口1940支持DQ链路DQ[15:8]。在该实施方式中,数据信号的不同路由与图19相比,使用了PHY接口内的数据引导逻辑,它有选择地在第一操作模式中将数据从每个存储器控制器块指引到外部数据端口1920的一个子集上,在第二操作模式中指引到外部数据端口1920的第二个子集上。特别地,标为“W”的第一存储器控制器块1915耦合到与图19的单设备实施方式中的数据DQ[7:0]相关的x8外部数据端口,并且耦合到与图21的双设备实施方式中的数据DQ[11:8,3:0]相关的外部数据端口。
来自每个片2105的RQ信息与来自另一个片2105的RQ信息多路复用,这是因为在该实例中RQ链路对在两个RQ端口之间共享。在图21中这种多路复用的功能被描绘为引导逻辑1945,但该引导逻辑可以采用不同的实现方式。而且,引导逻辑1945被示出为支持不同存储体和设备之间的DQ链路多路复用。这种数据引导可以用其他的实现方式,例如在上述有关图19的介绍中的数据接口电路内。交织的写事务会根据与图21所示相似的方式引导该数据,不同之处仅在于写数据是从控制器1905移动到存储器设备1910的,而不是读情形那样反过来。
图23描绘了四设备存储器***2300,其中图19的控制器1905被配置为与四个存储器设备1905通信,用以四倍于***1900的存储容量,同时保持相同数目的逻辑存储体以及通常对于片2105和控制器1905保持相同的访问粒度。每个DQ和RQ链路是经由点对点连接建立的,无关于存储器设备的数目,这促进了速度性能的提高以及访问粒度的稳定性,简化了片2105的设计。
每个存储器设备1910(DRAM-0、DRAM-1、DRAM-2和DRAM-3)具有八个被使能的DQ链路,两个用于四个数据接口1940中的每一个。在该实例中,这些链路是DQ[1:0]/DQN[1:0],DQ[9:8]/DQN[9:8],DQ[17:16]/DQN[17:16]和DQ[25:24]/DQN[25:24]。每个存储器设备都具有两个被使能的请求链路,或者一个被使能的链路对(例如RQ[1:0]/RQN[1:0])。
与图19的单设备配置相比,该双设备配置的区别包括:
●八个DQ链路(对32个);
●一个RQ链路对(对2个);
●四个存储器设备通过信道1935连接到控制器1905(对一个存储器设备1905);
●并行操作元组中的存储体,存储器块BLKA0、BLKA1、BLKB0和BLKB1(对单独操作存储体);
●子行地址SR[1]用于在存储体中选择子行;
●子列地址SCx[3:2]和SCy[3:2]用于在存储体中选择子列;
●在RQ链路对上一半的请求分组插槽未使用;
●指引到块A(块BLKA0和BLKA1)的请求在RQ[1:0]/RQN[1:0]链路上接收,读数据在DQ[1:0]/DQN[1:0]链路上传输;
●请求同时指引到链接的存储体上(例如,图19的各存储器块BLKA0、BLKA1、BLKB0和BLKB1上的存储体“a”、“g”、“m”和“s”被链接以用于并行操作),从请求分组上接收相同的地址字段;以及
●来自存储体“m”、“g”和“s”的读数据分别在DQ[9:8]/DQN[9:8],DQ[17:16]/DQN[17:16]和DQ[25:24]/DQN[25:24]链路上传输。
每个读事务包括一个具有ACT命令的ROW分组、存储体地址、行地址和子行地址。子行地址SR[1:0]在该x8的情形中使用。每个读事务还包括一个具有RDA命令的COL分组、存储体地址、两个列地址和两个子列地址。子列地址SCx[3:2],SCy[3:2]在该x8的情形中使用。COL分组跟随在ROW分组一个行到列的读延迟tRCD-R之后。来自第一列访问的读数据跟随在COL分组一个tCAC之后。来自第二列访问的读数据跟随在更迟的一个tCC之后。
每个列访问生成64比特数据。这就是在两个DQ链路的每一个上串行化为32比特数据。在八个DQ链路的每一个上四个并行的列访问生成32比特数据。列粒度是32字节(32B),行粒度是64字节(64B),与图19的***相同。尽管控制器1905上的引导逻辑从图中略去,单数据和请求链路的连通性如示出的那样。在这个四存储器设备实施方式中,每个RQ链路对连接到每个存储器设备1910的全部四个元组上。交织的写事务会以相似的方式引导数据,但是以读情形相反的方向。
在图23中,每个存储器设备1910都通过两个差分对耦合到存储器控制器1905。在这种情况下,两个链路可以按多种方式(例如通过时间或导线复用)在控制器和存储器块之间共享。在其他实施方式中,完全装配于存储器设备上的存储器***包括一个用于每个存储器设备的请求链路。所关心的是,每个设备上的请求和数据宽度都与存储器设备的数目成反比。请求链路与数据链路的比例保持不变,这就简化了存储器控制器块的设计和连通性。
用于前述***中的请求引导方法有许多优点。在这些优点中,可以在数据和请求接口的物理部分(PHY)之上交织各种链路,以利于在PCB(印刷电路板)、POP(封装上封装)和SIP(***封装)封装环境中点对点路由全部请求和数据链路。而且,相同的存储器控制器设备可以连接到不同数目的存储器设备上,以通过简单的设置配置寄存器来支持不同的存储容量。配置选项可以是固定的,例如在一个或两个存储器设备固定的耦合到控制器元件的***中。可选的,配置选项可以是可调整的,例如在使用一个或两个存储器模块(还被叫做DPP或动态点对点)的***中,该存储器模块被***到连接到控制器元件的两个存储器插槽中。
图24描绘了根据一个实施方式的集成存储器设备1910,它包括所有的外部端口和主要的内部电路块。CFM/CFMN时钟链路被接收,并被时钟生成电路(未示出)使用,用以生成接口和核心所需的内部时序事件。RQ[1:0]/RQN[1:0]链路接收对于元组BLKA0/1的请求信息,RQ[3:2]/RQN[3:2]链路接收对于另外两个元组BLKB0/1的请求信息。每个元组包括四个独立的存储体。
在每个tCYCLE间隔内接收两个32比特请求字。这两个字被解码并将控制和地址信息提供给核心。在这个实施方式中,存储器设备1910支持线程的和标准的模式。线程的模式支持并发的核心操作,它可被称为线程化、微线程化或m线程化。相对的,在标准的模式中,不同类型的操作(例如,行激活、列读、列写和行预充电)在元组的不同存储体之间重叠,但在并行操作中元组自身被一起锁定(例如相同的存储体/行/列地址)。
线程的操作通过允许不同的元组独立的操作(不同的存储体/行/列地址)从而改善了标准的模式中的操作。在该实施方式中,RQ[1:0]/RQN[1:0]和RQ[3:2]/RQN[3:2]链路上的请求分组指引到对角相对的元组上;也就是,两个请求分组被指引到存储体0A、2A、4A和6A以及存储体0B、2B、4B和6B中的一个上;或者两个请求分组被指引到存储体1A、3A、5A和7A以及存储体1B、3B、5B和7B中的一个上。这包括用于激活(ACT)命令的存储体(BA)和行(R)地址,用于刷新激活(REFA)命令的存储体(BA)和行(REFr)地址,用于预充电(PRE)命令的存储体(BP)地址,用于刷新预充电(REFP)命令的存储体(BR)地址,以及用于读(RD)或写(WR或WM)命令的存储体(BR)和两个列地址(Cx、Cy、SCx和SCy)。另外,屏蔽(M)用于屏蔽写(WRM)命令。值得注意的是,所有的这些地址和控制信号都给予“A”或“B”后缀,用以表示它们在分别驱动左侧或右侧的两个元组。这些地址和信号中的一些可以在请求中的延迟字段的控制下,全部任意的延迟以tCYCLE的增量。
一个存储体地址被解码以用于ACT命令。所选存储体的标识行被感测,并被放入用于存储体的相关感测放大器阵列中。感测一个行也被称为对存储体“打开页面”。另一个存储体地址被解码以用于PRE命令。所标识的存储体和相关的感测放大器阵列被预充电到一个状态,在该状态中,可使用后续的ACT命令。预充电一个存储体也被称为对存储体“关闭页面”。在向一个存储体给出ACT命令之后以及在对其给出PRE命令之前,该存储体可以接收读(RD)和写(WR)列命令。这些命令允许在与存储体相关的感测放大器阵列(未示出)中的数据被访问。
对于WR命令,解码存储体地址。所选存储体的相关感测放大器阵列的标识列被写入数据,其中该数据是从DQ[31:0]针脚的8DQ链路子集中的一个接收到的。在一个tCC间隔内接收八个32比特字。存储体地址被解码以用于RD命令。所选存储体的相关感测放大器阵列的标识列被读出。数据被传输到DQ[31:0]针脚的8DQ链路子集中的一个上。八个32比特字被访问以用于读事务,并在一个tCC间隔内传输。
RST、SCK和CMD针脚连接到控制寄存器块。这些针脚提供写该控制寄存器所需的数据、地址和控制。用于这些寄存器的读数据通过SDO/SDI针脚访问。这些针脚还用于初始化设备。VREF针脚提供RQ接收器使用的参考电压。控制寄存器被用于在电源模式之间转换,并且还用于校准该设备的高速传输和接收电路。控制寄存器还为刷新命令提供存储体(REFB)和行(REFr)地址。标为“Power Mode,Calib.,Refresh,Init Logic”的块管理电源模式转换、校准操作、刷新操作和初始化。
与某些实施方式相关的请求链路以处于或接近高速数据链路的速度运行。以高链路速率运行的RQ链路需要仔细的校准。下面的说明和附图详述了校准方法和电路,它们可以保证高速请求链路提供适当低的比特错误率。校准包括两个成分,它们可以分别发生或者一起发生:精细校准(相位调整)和粗略校准(位对准)。这些可在有噪声或无噪声的情况下完成。
图25描绘了根据另一实施方式的存储器***2500,以及用于调谐请求和数据链路的突出检测和校准电路。存储器***2500包括存储器控制器2505和存储器设备2510,它们分别与图19的控制器1905和存储器设备1910相似。在控制器2505上,标为DQ和RQ的块是之前描述的一部分数据和请求接口。图25关注于用于校准数据和请求接口的时序参数的***2500的部分,其在每个控制器2505和存储器设备2510上以相对的数据和请求块DQ[31:0]和RQ[31:0]来表示。在控制器2505上,校准和配置资源包括图案生成器2515(标为PattB2515)和传统的串行命令接口2530。在一个实施方式中,图案生成器2515是线性反馈移位寄存器(LFSR)。在设备2510上,配置资源包括命令接口2535、命令解码器2540、图案生成器2545(标为PattA 2545)和伪地址生成器2555。命令接口2530和2535是耐用低速接口,用于在控制器2505和存储器设备2510之间传输用于调谐高速链路的校准信号和信息。可以在控制器和存储器设备其中之一上或全部两者上包含额外的图案生成器。
在该实例中,按其发生顺序的描述精细和粗略校准。为了开始精细校准,控制器2505通过串行接口2530发布一个命令,使存储器设备2510进入校准模式。响应于该校准模式命令,存储器2510经过数据链路和请求链路,向控制器2505发送来自图案生成器2545的确定性测试图案。控制器2505然后参考一个接收块(未示出)来调谐控制器的请求和数据接口块的接收相位。伪地址生成器2555可用于在这种精细校准期间模拟噪声。在该实例中,控制器接收器的粗略校准可以现在发生;伪地址生成器2555再次用于模拟噪声。
接着,控制器2505向存储器设备2510发布命令,使数据和请求接口进入到“回送”模式,在该模式中传送到存储器设备2510的信号立即被返回到控制器2505。(用于回送数据和请求信号的电路将在下面结合图26和27详细描述)。在一个实施方式中,每个偶数编号的数据和请求链路通过相邻的奇数编号的链路被每次回送。例如,用于DQ[0]的数据链路可通过用于DQ[1]的数据链路在***2500的存储器侧被回送。控制器2505然后将来自图案生成器2515的确定性测试图案通过该偶数链路传送到存储器设备2510,存储器设备2510通过该奇数链路返回该测试图案。
控制器2505一旦接收到返回的测试图案,就将它们与原始传输的图案相比较以便完成精细和粗略校准。由于返回链路已经被校准,误差就可被认为是在前向链路上发布(指向存储器设备2510)。控制器2505然后校准前向链路的时序以便最小化误差。
在该实施方式中,请求链路(RQ[3:0])采用了与数据链路相同的双向接口电路,这样就可以根据与数据链路相同的方式来调谐。在可选实施方式中,从请求链路到数据链路的回送通路可以包括在存储器设备中,在这些实施方式中,请求链路是单向的。以较低速度操作的请求链路可以不需要与数据链路相同的调谐程度。
校准期间的噪声环境可能没有精确的反应出通常的存储器***的操作。因此,此处所述的回送校准方案对于获得最大的速度性能来说是不充分的。存储器***2500因此支持模拟的噪声环境。响应于来自控制器2505的命令,伪地址生成器2555将伪地址提供给存储器块BLKA0、BLKA1、BLKB0和BLKB1,模拟一个真实的噪声环境。更一般的,可以在一个现实或模拟的噪声环境中周期的重复测试过程,以便适应例如温度或者提供波动。
现在将描述用以支持上述测试过程的特定实例电路。下面的图26和27详述了图25的存储器***2500的一个方面,用于支持回送校准。更特别地,图26示出了使用边频带和上述由存储器到控制器的传输进行的读校准,图27示出了读校准完成之后发生的写校准。
图26详述了图25的***2500的部分,2个控制器侧数据接口2605和2610以及相应的2个存储器设备侧数据接口2615和2620。每个控制器侧数据接口包括1个测试多路复用器2625、2个调整电路2630和2632、1个串行化器2635、1个解串行化器2640和匹配电路2645。参照数据接口2605,多路复用器2625选择16写数据比特Wdata,或者从图25的例如图案生成器2515中选择1个16比特图案。多路复用器2625的输出耦合到调整电路2630、2632中的一个。每个调整电路2630和2632用于以公知的技术在每一比特上粗略的调整接收的和预期的测试图案。串行化器2625,例如是多路复用器,然后将结果16比特数据转换为串行数据,用以传输到接口2616。
在描述的实例中,400MHz的时钟被分布到控制器和存储器设备,用以同步它们各自的核心,数据和请求信号使用适当的定时和接收时钟被串行的以6.4Gb/s传送。用于生成和分布适当的时钟信号的方法和电路,以及用于扫除时钟相位以便正确的捕获数据的方法和电路,都是已知的。因此为了简洁,此处省略对时钟生成、分布和调整的论述。
在接收侧,一对十六的解串行化器将串行接收数据转换为16比特数据,其被传送到调整电路2632。当存储器设备处于操作中时,接收的数据Rdata最终被传送到核心逻辑(未示出)。在校准模式中,匹配电路2645依照期待的图案检查所接收的测试数据Rdata,并向相邻的接口2610的串行化器2640、调整电路2632和解串行化器2635发布相位控制信号。接口2610具有相似的元件并以相似的方式工作。
存储器侧上的写接口2615包括两个四对一串行化器2650和2655,一个回送选择逻辑(多路复用器)2660、两个一对四解串行化器2662和2665,以及一个图案使能多路复用器2670。在校准模式中,响应于使能图案信号EnPattAB,多路复用器2670将来自图案生成器2545的图案指引到解串行化器2640,它将来自图案总线PatternSetA,B的16比特颈状收缩为四比特。多路复用器2660将结果测试图案传送到串行化器2650,它向存储器控制器的接口2605生成一个串行数据流。在两个使能信号EnOddLoop和EnEvenLoop中,后者连接到接口2615的输入和输出缓存(DQ[0]被认为是“偶数”链路,DQ[1]是奇数)。尽管接口2620的输入和输出缓存是由使能信号EnOddLoop控制的,但它也具有相似的元件并且以相似的方式工作。为了简洁省略了接口2620的详细论述。
参考上部的接口对,测试图案穿越了全部两个接口2615和2605,最终到达匹配电路2645。匹配电路2645处理相位调整信号ADJRCK,并且因而调整解串行化器2640的输入相位,直至来自接口2615的确定性图案如所期望的那样,其中该匹配电路2645可以用硬件或软硬件的结合来实现。在典型的实例中,匹配电路2645会关于一个外部参考时钟来扫描接收时钟的相位,用以找出集中于一个相位值范围内的相位偏移量,其中该相位值范围生成正确的采样数据。除了相位之外的其他信号特征也可以被调整(例如终点值、驱动强度和均衡系数)。在支持高速RQ链路的实施方式中,在DQ链路中调整的相位和其他信号特征也需要在RQ链路中调整。匹配电路2645然后存储结果相位值。接口2610同时进行同样的相位校准。
图27描绘了在回送模式中用于“偶数”写链路的配置处理。存储器设备侧上的接口2620中的多路复用器2660从接口2615的解串行化器2662的输出中选择。来自接口2605在写方向中传送的图案因而被反馈回接口2610,最终回到图案匹配电路2645。由于读信道根据之前结合图26所记录的方式来调谐,因此匹配电路2645记录的误差就归于写信道中。这种处理有时候被称为“写投入”校准,其中写数据的传输相位参照一个参考时钟来校准。图案匹配电路根据之前描述的用于接收时钟的相同方式,通过传输时钟调整信号ADJTCK扫除传输时钟的相位,最终获得提供了所需误差率的相位设置。然后可使用用于回送信道的偶数读链路,重复用于奇数写链路的处理。
在该实例中,所有的偶数链路都一起调谐,接着是所有的奇数链路。请求链路是双向的,并且可以按相同的方式调谐。其他的实施方式也可以具有单向的RQ链路,在这种情况下存储器设备的请求接口可以修改为使用例如相邻的DQ链路以用于回送检测。一旦所有的读和写链路都被调谐,***就在人为的噪声环境中使用用于精细调谐的伪核心操作重复校准。
在图19-23的存储器***中,存储器控制器和设备管理包括在集成引导逻辑中用于管理不同数目的设备的请求流。在其他实施方式中,用于存储器控制器的引导逻辑可以在控制器IC的外部提供,并且每个存储器IC的引导逻辑也可以同样的在外部提供。下面的图28-30描述了一个存储器***,其使用存储器控制器外部的引导逻辑支持一至四个存储器设备,以及一至四个存储器设备,用于保持点对点数据和请求链路和常数访问粒度,而不需考虑存储器设备的数目。
图28描绘了根据一个实施方式的存储器***和存储器设备IC,其中请求引导逻辑在存储器控制器IC外部提供。在所描绘的***中,印刷电路板(PCB)2800支持存储器控制器2805、存储器模块2810以及两个连续性模块2815。存储器控制器2805包括四个独立的存储器控制器块2817,其全部通过四个物理请求信道CAw、CAx、CAy和CAz耦合到一个已安装的存储器模块2810上。尽管信道CAw、CAx和CAy通过一个或多个连续性模块2815和相关的连接器2820耦合到模块2810上,但每个连接都是点对点的。每个请求信道CAw、CAx、CAy和CAz都包括16个CA链路。
存储器模块2810包括八个存储阵列MEM和相应的缓存BUFF。每个阵列/缓存对支持四对链路,所以在该实例中模块2810支持总数64个链路。每个缓存BUFF接收四个独立的请求流。每个请求流按顺序经过两个链路传送,并且在每个tRR间隔中为32比特长。缓存提供了引导逻辑和数据宽度调整,这与前述的集成了存储阵列的其他实施方式相似。这样可以在***中使用传统的存储阵列,也能获得前述实施方式的某些方面的优点。存储器控制器2805省略了引导逻辑,因为它已结合图19-24在上面描述过了。然而,存不存在连续性模块都能起到相似的作用。在其他实施方式中,连续性模块可以用其他的开关机制来替代,例如是连接器,它在没有存储器模块时短接,或者是连接器2820或板2800内的有源开关。右下角的图例表示一个已安装的模块2810通信四个32字节请求分组……。(across)
图29描绘了图28所介绍的存储器***处于双模块配置或模式下。虚线表示移走了图28的最左边的连续性模块2815后,断开的请求信道的部分。延伸到该模块的请求信道现在向第二存储器模块2810提供了点对点连接。每个缓存BUFF接收2个独立的请求流,每个请求流经过两个链路传送,并且在每个tRR间隔中为32比特长。两个模块中的每一个的请求信道宽度相对于单设备实施方式都是其一半,因此请求信道宽度从存储器控制器2805的角度看,在两种配置中都是相同的。
图30描绘了结合图28和29描述的存储器***,但这里是完全组装的四模块配置。虚线再次表示移走连续性模块2815后,断开的请求信道的部分。四个请求信道中的每一个都延伸到一个存储器模块2810,其允许每个存储器控制器块2817将完整的请求传输到一个模块2810中。两个模块中的每一个的请求信道宽度相对于双设备实施方式都再是其一半,因此请求信道宽度从存储器控制器2805的角度看,还是相同的。每个缓存BUFF接收一个独立的请求流,每个请求流按顺序经过两个链路传送,并且在每个tRR间隔中为32比特长。缓存BUFF可以用于数据和请求的引导,但如果存储器设备支持这种功能的话也是可以省略的。
存储器控制器2805根据模块的数目,调整指向存储器模块2810的请求中的存储体、行和列地址字段。尽管未示出,但存储器控制器2805可包括寄存器或其他用来表示附加存储器设备的数目的机制。存储器模块2810同样包括寄存器或其他配置机制。例如,存储器控制器2805可在每个安装的模块中加载一个寄存器,用以按适合于安装模块的给定数目和类型,来配置数据和请求端口。这样,图28-30的存储器***支持不同数目的存储器设备,同时从存储器控制器的角度保持相同的数据访问粒度。
用于设计集成电路或集成电路的一部分的处理产品,可以是计算机可读介质,例如磁带或光盘或磁盘,其中该集成电路包括这里所描述的一个或多个电路。计算机可读介质可以用数据结构或其他描述了电路的信息来编码,其中这些电路物理地以集成电路或集成电路的部分来示例。尽管可采用各种形式用于这种编码,但这些数据结构通常以CaltechIntermediate Format(CIF)、Calma GDS IIStream Format(GDSII)或Electronic DesignInterchange Format(EDIF)来写入。这些技术在集成电路设计领域可以从上述类型的示意图和相应的描述中得出这些数据结构,并且在计算机可读介质上编码这些数据结构。集成电路制造领域的技术人员可使用这种编码的数据来制造包含一个或多个上述电路的集成电路。
在前面的描述和附图中,阐述了特定的术语和附图标记,用以对前面的实施方式进行详尽的理解。在某些例子中,术语和标记意味着不需要实施本发明的特定细节。而且,术语“***”可以指完整的通信***,包括传输机和接收机,或者可以指通信***的一部分,例如传输机、接收机或IC或其他包括传输机和/或接收机的元件。另外一些实施方式对本领域技术人员来说是显而易见的。
某些元件以直接连接到另一元件上示出,而其他元件以通过中间元件来连接示出。在每个例子中,互连或“耦合”的方法是在两个或多个电路节点(例如,焊盘、线或终端)之间建立电通信。这种耦合通常采用大量的电路配置来实现,正如本领域技术人员所理解的那样。因此,所附权利要求的精神和范围将不会限制在前面的说明中。只有那些特别陈述了“用于……的方法”或“用于……的步骤”的权利要求将会根据35U.S.C§112的第六段所需要的方式来解释。
其他实施方式
在一个实施方式中,存储器控制器包括:存储器请求生成器,用于生成一个或多个存储器请求;以及控制器逻辑,用于基于存储器请求,在至少两个模式中的一个中,生成多个用于对驻留在存储器模块中的一个或多个存储器设备进行寻址或控制的控制和地址(CA)信号,上述模式包括:第一模式,在该模式中控制器逻辑生成用于第一存储器设备的第一CA信号,并将该第一CA信号通过第一链路以第一信令速率传输到该第一存储器设备,以及在该模式中控制器逻辑生成用于第二存储器设备的第二CA信号,并将该第二CA信号通过第二链路以第一信令速率传输到该第二存储器设备;以及第二模式,在该模式中,控制器逻辑生成用于第三存储器设备的第三CA信号,并将该第三CA信号通过第一链路和第二链路两者以第二信令速率传输到该第三存储器设备。
在一个实施方式中,存储器设备包括:多个用于存储数据的存储器单元;耦合到存储器单元和多个输入输出针脚的接口电路,其中该针脚包括第一和第二组控制和地址(CA)针脚,该接口电路可被配置为在至少两个模式中的一个中接收CA信号,上述模式包括:第一模式,在该模式中,通过第一和第二组CA针脚两者以第一信令速率接收CA信号;以及第二模式,在该模式中,通过第一组CA针脚和第二组CA针脚两者以第二信令速率接收CA信号。在存储器设备的一个实例中,第二信令速率高于第一信令速率。在另一个实例中,第二信令速率是第一信令速率的二倍。
在一个实施方式中,存储器***包括:一个或多个存储器设备,驻留在一个或多个存储器模块上;存储器控制器,在至少2个模式中的一个中,生成多个用于对一个或多个存储器设备进行寻址或控制的控制和地址(CA)信号,上述模式包括:第一模式,在该模式中存储器控制器生成用于第一存储器设备的第一CA信号,并将该第一CA信号通过第一链路以第一信令速率传输到该第一存储器设备,以及在该模式中存储器控制器生成用于第二存储器设备的第二CA信号,并将该第二CA信号通过第二链路以第二信令速率传输到该第二存储器设备;以及第二模式,在该模式中,存储器控制器生成用于第三存储器设备的第三CA信号,并将该第三CA信号通过第一链路和第二链路两者以第二信令速率传输到该第三存储器设备。在存储器***的另外的实例中,(1)第三存储器设备是第一存储器设备,(2)第二信令速率低于第一信令速率,(3)第二信令速率是第一信令速率的一半,(4)在第一模式中,第一信令速率是从第一存储器设备和第二存储器设备读出的数据信号的数据信令速率的一半,和/或(5)第一链路和第二链路两者都连接到第一和第二存储器设备中的每一个上,并且第一存储器设备和第二存储器设备驻留在形成存储器模块的电路板的相对两侧。
在一个实施方式中,在存储器控制器和一个或多个存储器设备之间耦合的缓存包括:第一和第二组输入针脚,用于从存储器控制器接收命令和地址(CA)信号;以及第一和第二组输出针脚,用于向一个或多个存储器设备输出经转换的CA信号;缓存可配置为在至少两个模式中的一种下操作,上述模式包括:在第一模式中,缓存通过第一组输入针脚以第一信令速率接收用于第一存储器设备的第一CA信号,以及通过第二组输入针脚以第一信令速率接收用于第二存储器设备的第二CA信号,将该第一和第二CA信号转换为分别与第一存储器设备和第二存储器设备兼容的第一和第二转换CA信号,以及将第一转换CA信号通过第一组输出针脚传输到第一存储器设备,将第二转换CA信号通过第二组输出针脚传输到第二存储器设备;以及在第二模式中,缓存通过第一和第二组输入针脚以第二信令速率接收用于第三存储器设备的第三CA信号,将第三CA信号转换为与第三存储器设备兼容的第三转换CA信号,以及将第三转换CA信号通过第一和第二输出针脚传输到第三存储器设备。在缓存的各种实例中,第二信令速率低于第一信令速率(例如第二信令速率是第一信令速率的一半);第一和第二输出针脚具有相同的信号宽度,它们分别比第一和第二输入针脚宽,第一和第二输出针脚以第三信令速率操作,该第三信令在第一模式和第二模式两者中都低于第一信令速率和第二信令速率;以及在第一模式中,第一和第二输出针脚以第三信令速率操作,在第二模式中,第一和第二输出针脚以低于第三信令速率的第四信令速率操作。
在一个实施方式中,控制驻留在一个或多个存储器模块中的一个或多个存储器设备的方法,包括:在至少两个模式中的一个中,生成多个用于对一个或多个存储器设备进行寻址或控制的控制和地址(CA)信号,上述模式包括:第一模式,在该模式中第一CA信号通过第一链路以第一信令速率传输到第一存储器设备,第二CA信号通过第二链路以第一信令速率传输到第二存储器设备;以及第二模式,在该模式中用于第三存储器设备的第三CA信号通过第一链路和第二链路两者以第二信令速率传输;以及用CA信号访问该一个或多个存储器设备。在该方法的实例中,第二信令速率低于第一信令速率(例如第二信令速率是第一信令速率的一半);以及在第一模式中,第一信令速率是从第一和第二存储器设备读出的数据信号的信令速率的一半。
在一个实施方式中,操作存储器设备的方法包括:在至少2个模式中的一个中接收控制和地址(CA)信号,上述模式包括:第一模式,在该模式中,通过存储器设备的第一和第二组CA针脚以第一信令速率接收CA信号;以及第二模式,在该模式中,通过第一组CA针脚而不是第二组CA针脚,以第二信令速率接收CA信号。在该方法的一个实例中,第二信令速率高于第一信令速率(例如第二信令速率是第一信令速率的二倍);以及在第二模式中,第二信令速率是从存储器设备读出的数据信号的信令速率的一半。
Claims (9)
1.一种集成电路,其具有存储器控制器以控制动态随机访问存储器DRAM设备的操作,所述DRAM设备具有至少两个请求端口,所述集成电路包括:
请求接口,其具有至少两个命令/地址端口,每个命令/地址端口向所述DRAM设备的所述至少两个请求端口中的相应请求端口发送写命令和对应地址,并且每个命令/地址端口向所述DRAM的所述至少两个请求端口中的所述相应请求端口发送至少一个测试图案;以及
多个双向数据接口,其向所述DRAM设备发送与所述写命令中的每个写命令对应的数据,所述多个双向数据接口从所述DRAM设备接收回基于所述测试图案的信息,所述测试图案通过每个命令/地址端口被发送给所述DRAM的所述至少两个请求端口中的所述相应请求端口。
2.根据权利要求1所述的集成电路,其中:
所述集成电路还包括用于每个命令/地址端口的串行化器;
每个命令/地址端口使用相应的所述串行化器来串行化所述写命令和对应地址,并且使用至少一个串行链路向所述请求端口中的所述相应请求端口发送串行化的写命令和对应地址;
每个命令/地址端口还使用所述至少一个串行链路向所述请求端口中的所述相应请求端口发送串行化的读命令和对应地址;以及
所述多个双向数据接口从所述DRAM设备接收与所述串行化的读命令对应的数据。
3.根据权利要求1所述的集成电路,其中:
每个测试图案是第一测试图案;以及
所述集成电路对于所述多个双向数据接口中的各个双向数据接口从所述DRAM设备接收取决于第二测试图案的信息,并且将取决于所述第二测试图案的所述信息与期望数据比较,以及
扫描用以对于所述多个双向数据接口中的所述各个双向数据接口对数据采样的时钟的接收相位,直到取决于所述第二测试图案的所述信息指示所述第二测试图案匹配所述期望数据。
4.根据权利要求1所述的集成电路,其中:
每个命令/地址端口包括至少两个传输机,每个传输机向所述请求端口中的所述相应请求端口发送写命令和对应地址的相应比特;以及
所述多个双向数据接口包括每命令/地址端口的至少十六个双向数据接口,以经由所述至少两个命令/地址端口中的对应命令/地址端口发送与向所述DRAM设备发送的每个写命令和对应地址关联的写数据。
5.一种操作存储器控制器以控制动态随机访问存储器DRAM设备的操作的方法,所述DRAM设备具有至少两个请求端口,所述方法包括:
使得请求接口的至少两个命令/地址端口中的每个命令/地址端口向所述DRAM设备的所述至少两个请求端口中的相应请求端口发送写命令和对应地址;
使得所述至少两个命令/地址端口中的每个命令/地址端口向所述相应请求端口发送至少一个测试图案;
使用多个双向数据接口以向所述DRAM设备发送与所述写命令对应的数据;以及
经由所述多个双向数据接口从所述DRAM设备接收回基于所述测试图案的信息,所述测试图案被发送给所述DRAM设备的所述至少两个请求端口。
6.根据权利要求5所述的方法,其中:
所述方法还包括使得:
所述至少两个命令/地址端口中的每个命令/地址端口使用相应的串行化器来串行化所述写命令和对应地址,并且使用至少一个串行链路向所述请求端口中的所述相应请求端口发送串行化的写命令和对应地址;
所述至少两个命令/地址端口中的每个命令/地址端口还使用所述至少一个串行链路向所述请求端口中的所述相应请求端口发送串行化的读命令和对应地址;以及
所述多个双向数据接口从所述DRAM设备接收与所述串行化的读命令对应的数据。
7.根据权利要求5所述的方法,其中:
每个测试图案是第一测试图案;以及
所述方法还包括对于所述多个双向数据接口中的各个双向数据接口,使得所述各个双向数据接口中的每个双向数据接口:
从所述DRAM设备接收第二测试图案,并且将所述第二测试图案与期望数据比较,以及
扫描用以对于所述多个双向数据接口中的所述各个双向数据接口对数据采样的时钟的接收相位,直到接收的所述第二测试图案匹配所述期望数据。
8.根据权利要求7所述的方法,其中所述方法还包括,对于所述各个双向数据接口中的每个双向数据接口:
调整接收的比特图案,以便识别对于其接收的所述第二测试图案匹配所述期望数据的所述接收相位的值;以及
使用识别的所述值来与所述DRAM设备交换数据。
9.根据权利要求5所述的方法,其中每个命令/地址端口包括至少两个传输机,并且所述多个双向数据接口包括每命令/地址端口的至少十六个双向数据接口,并且其中所述方法还包括:
使得每个传输机向所述请求端口中的所述相应请求端口发送写命令和对应地址的相应比特;以及
使得每个命令/地址端口的所述至少十六个双向数据接口中的每个双向数据接口向所述DRAM设备发送与经由所述至少两个命令/地址端口中的对应命令/地址端口向所述DRAM设备发送的每个写命令和对应地址关联的写数据。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US91143507P | 2007-04-12 | 2007-04-12 | |
US60/911,435 | 2007-04-12 | ||
US98882607P | 2007-11-19 | 2007-11-19 | |
US60/988,826 | 2007-11-19 | ||
CN200880011660.2A CN101702947B (zh) | 2007-04-12 | 2008-04-11 | 具有点对点请求互连的存储器***、存储器控制器及方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880011660.2A Division CN101702947B (zh) | 2007-04-12 | 2008-04-11 | 具有点对点请求互连的存储器***、存储器控制器及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106407136A CN106407136A (zh) | 2017-02-15 |
CN106407136B true CN106407136B (zh) | 2019-05-28 |
Family
ID=39744868
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610847700.3A Active CN106407136B (zh) | 2007-04-12 | 2008-04-11 | 具有点对点请求互连的存储器*** |
CN200880011660.2A Active CN101702947B (zh) | 2007-04-12 | 2008-04-11 | 具有点对点请求互连的存储器***、存储器控制器及方法 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200880011660.2A Active CN101702947B (zh) | 2007-04-12 | 2008-04-11 | 具有点对点请求互连的存储器***、存储器控制器及方法 |
Country Status (5)
Country | Link |
---|---|
US (10) | US20100211748A1 (zh) |
EP (4) | EP3200189B1 (zh) |
CN (2) | CN106407136B (zh) |
ES (1) | ES2883587T3 (zh) |
WO (1) | WO2008127698A2 (zh) |
Families Citing this family (116)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7280428B2 (en) | 2004-09-30 | 2007-10-09 | Rambus Inc. | Multi-column addressing mode memory system including an integrated circuit memory device |
US8595459B2 (en) | 2004-11-29 | 2013-11-26 | Rambus Inc. | Micro-threaded memory |
US20070260841A1 (en) | 2006-05-02 | 2007-11-08 | Hampel Craig E | Memory module with reduced access granularity |
EP3200189B1 (en) | 2007-04-12 | 2021-06-02 | Rambus Inc. | Memory system with point-to-point request interconnect |
US20110016278A1 (en) * | 2008-03-31 | 2011-01-20 | Frederick Ware | Independent Threading of Memory Devices Disposed on Memory Modules |
US8683149B2 (en) | 2008-07-23 | 2014-03-25 | Rambus Inc. | Reconfigurable memory controller |
US8949520B2 (en) | 2009-01-22 | 2015-02-03 | Rambus Inc. | Maintenance operations in a DRAM |
WO2010101754A2 (en) * | 2009-03-06 | 2010-09-10 | Rambus Inc. | Memory interface with interleaved control information |
WO2010123681A2 (en) | 2009-04-22 | 2010-10-28 | Rambus Inc. | Protocol for refresh between a memory controller and a memory device |
JP2010282511A (ja) * | 2009-06-05 | 2010-12-16 | Elpida Memory Inc | メモリモジュール及びこれを備えるメモリシステム |
US8675076B2 (en) * | 2009-07-21 | 2014-03-18 | Qualcomm Incorporated | System for embedded video test pattern generation |
EP2513802B1 (en) | 2009-12-14 | 2015-03-18 | Rambus Inc. | Expandable asymmetric-channel memory system |
JP2011227834A (ja) * | 2010-04-22 | 2011-11-10 | Sony Corp | 信号制御装置及び信号制御方法 |
US20110320699A1 (en) * | 2010-06-24 | 2011-12-29 | International Business Machines Corporation | System Refresh in Cache Memory |
US8533403B1 (en) | 2010-09-30 | 2013-09-10 | Apple Inc. | Arbitration unit for memory system |
WO2012064670A1 (en) * | 2010-11-09 | 2012-05-18 | Rambus Inc. | Area-efficient multi-modal signaling interface |
US8504531B2 (en) * | 2010-11-27 | 2013-08-06 | Netapp, Inc. | System and method for application aware de-duplication of data blocks on a virtualized storage array |
WO2012115839A1 (en) | 2011-02-23 | 2012-08-30 | Rambus Inc. | Protocol for memory power-mode control |
US8593885B2 (en) * | 2011-03-18 | 2013-11-26 | Rambus Inc. | Staggered mode transitions in a segmented interface |
US9337872B2 (en) * | 2011-04-30 | 2016-05-10 | Rambus Inc. | Configurable, error-tolerant memory control |
US9244867B1 (en) | 2011-06-01 | 2016-01-26 | Altera Corporation | Memory controller interface with adjustable port widths |
JP2013031151A (ja) | 2011-06-20 | 2013-02-07 | Renesas Electronics Corp | 暗号通信システムおよび暗号通信方法 |
WO2013015893A1 (en) | 2011-07-27 | 2013-01-31 | Rambus Inc. | Memory with deferred fractional row activation |
US9268719B2 (en) | 2011-08-05 | 2016-02-23 | Rambus Inc. | Memory signal buffers and modules supporting variable access granularity |
US9025409B2 (en) | 2011-08-05 | 2015-05-05 | Rambus Inc. | Memory buffers and modules supporting dynamic point-to-point connections |
JP5864957B2 (ja) * | 2011-08-31 | 2016-02-17 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
WO2013068862A1 (en) | 2011-11-11 | 2013-05-16 | International Business Machines Corporation | Memory module and memory controller for controlling a memory module |
US8990490B2 (en) | 2011-11-29 | 2015-03-24 | Rambus Inc. | Memory controller with reconfigurable hardware |
US9495308B2 (en) | 2012-05-22 | 2016-11-15 | Xockets, Inc. | Offloading of computation for rack level servers and corresponding methods and systems |
US20130318268A1 (en) | 2012-05-22 | 2013-11-28 | Xockets IP, LLC | Offloading of computation for rack level servers and corresponding methods and systems |
US8762607B2 (en) * | 2012-06-29 | 2014-06-24 | Intel Corporation | Mechanism for facilitating dynamic multi-mode memory packages in memory systems |
US9275699B2 (en) | 2012-08-17 | 2016-03-01 | Rambus Inc. | Memory with alternative command interfaces |
US20140085995A1 (en) * | 2012-09-25 | 2014-03-27 | Zvika Greenfield | Method, apparatus and system for determining a count of accesses to a row of memory |
US8966348B2 (en) * | 2012-11-30 | 2015-02-24 | Hewlett-Packard Development Company, L.P. | Memory error identification based on corrupted symbol patterns |
KR102036693B1 (ko) * | 2012-12-13 | 2019-10-28 | 에스케이하이닉스 주식회사 | 반도체 메모리 시스템 및 그의 동작 방법 |
US9286964B2 (en) | 2012-12-21 | 2016-03-15 | Intel Corporation | Method, apparatus and system for responding to a row hammer event |
US9378161B1 (en) | 2013-01-17 | 2016-06-28 | Xockets, Inc. | Full bandwidth packet handling with server systems including offload processors |
WO2014113055A1 (en) | 2013-01-17 | 2014-07-24 | Xockets IP, LLC | Offload processor modules for connection to system memory |
US10068054B2 (en) | 2013-01-17 | 2018-09-04 | Edico Genome, Corp. | Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform |
US9792405B2 (en) | 2013-01-17 | 2017-10-17 | Edico Genome, Corp. | Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform |
US10847251B2 (en) | 2013-01-17 | 2020-11-24 | Illumina, Inc. | Genomic infrastructure for on-site or cloud-based DNA and RNA processing and analysis |
US10691775B2 (en) | 2013-01-17 | 2020-06-23 | Edico Genome, Corp. | Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform |
US9679104B2 (en) | 2013-01-17 | 2017-06-13 | Edico Genome, Corp. | Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform |
US9489323B2 (en) | 2013-02-20 | 2016-11-08 | Rambus Inc. | Folded memory modules |
US9037948B2 (en) | 2013-03-13 | 2015-05-19 | International Business Machines Corporation | Error correction for memory systems |
US10001948B2 (en) * | 2013-05-13 | 2018-06-19 | Rambus Inc. | Buffer circuit with data bit inversion |
US20150016046A1 (en) * | 2013-07-10 | 2015-01-15 | Samsung Electronics Co., Ltd. | Ina cabled memory appliance |
US9826638B2 (en) | 2013-10-15 | 2017-11-21 | Rambus Inc. | Load reduced memory module |
US9361973B2 (en) | 2013-10-28 | 2016-06-07 | Cypress Semiconductor Corporation | Multi-channel, multi-bank memory with wide data input/output |
EP3447770B1 (en) * | 2013-11-11 | 2022-01-05 | Rambus Inc. | High capacity memory system using standard controller component |
US10223299B2 (en) | 2013-12-18 | 2019-03-05 | Rambus Inc. | High capacity memory system with improved command-address and chip-select signaling mode |
US9606944B2 (en) | 2014-03-20 | 2017-03-28 | International Business Machines Corporation | System and method for computer memory with linked paths |
US9558143B2 (en) * | 2014-05-09 | 2017-01-31 | Micron Technology, Inc. | Interconnect systems and methods using hybrid memory cube links to send packetized data over different endpoints of a data handling device |
WO2016089563A1 (en) * | 2014-12-01 | 2016-06-09 | Rambus Inc. | High performance, high capacity memory systems and modules |
KR102178538B1 (ko) | 2014-12-16 | 2020-11-13 | 삼성전자주식회사 | 메모리 장치, 메모리 장치의 커맨드 신호/어드레스 신호의 로그 생성 방법 및 메모리 장치의 에러 분석 방법 |
US9618474B2 (en) | 2014-12-18 | 2017-04-11 | Edico Genome, Inc. | Graphene FET devices, systems, and methods of using the same for sequencing nucleic acids |
US10006910B2 (en) | 2014-12-18 | 2018-06-26 | Agilome, Inc. | Chemically-sensitive field effect transistors, systems, and methods for manufacturing and using the same |
WO2016100049A1 (en) | 2014-12-18 | 2016-06-23 | Edico Genome Corporation | Chemically-sensitive field effect transistor |
US9859394B2 (en) | 2014-12-18 | 2018-01-02 | Agilome, Inc. | Graphene FET devices, systems, and methods of using the same for sequencing nucleic acids |
US9857328B2 (en) | 2014-12-18 | 2018-01-02 | Agilome, Inc. | Chemically-sensitive field effect transistors, systems and methods for manufacturing and using the same |
US10020300B2 (en) | 2014-12-18 | 2018-07-10 | Agilome, Inc. | Graphene FET devices, systems, and methods of using the same for sequencing nucleic acids |
WO2016100902A1 (en) | 2014-12-19 | 2016-06-23 | Rambus Inc. | Memory system with threaded transaction support |
CN107111566B (zh) | 2014-12-19 | 2020-08-14 | 拉姆伯斯公司 | 用于存储器模块的动态随机存取存储器(dram)部件 |
US9324397B1 (en) * | 2015-01-16 | 2016-04-26 | Qualcomm Incorporated | Common die for supporting different external memory types with minimal packaging complexity |
KR102336455B1 (ko) * | 2015-01-22 | 2021-12-08 | 삼성전자주식회사 | 집적 회로 및 집적 회로를 포함하는 스토리지 장치 |
WO2016144521A1 (en) | 2015-03-10 | 2016-09-15 | Rambus, Inc. | Memories and memory components with interconnected and redundant data interfaces |
WO2016145328A2 (en) * | 2015-03-11 | 2016-09-15 | Rambus Inc. | High performance non-volatile memory module |
WO2016154154A2 (en) | 2015-03-23 | 2016-09-29 | Edico Genome Corporation | Method and system for genomic visualization |
AU2016246061B2 (en) * | 2015-04-09 | 2021-07-29 | Edico Genome, Corp. | Bioinformatics systems, apparatuses, and methods executed on an integrated circuit processing platform |
TWI569284B (zh) * | 2015-05-27 | 2017-02-01 | 慧榮科技股份有限公司 | 記憶體控制器與記憶體模組 |
KR102359370B1 (ko) * | 2015-10-05 | 2022-02-09 | 에스케이하이닉스 주식회사 | 반도체장치 |
US9997233B1 (en) | 2015-10-08 | 2018-06-12 | Rambus Inc. | Memory module with dynamic stripe width |
US20170270245A1 (en) | 2016-01-11 | 2017-09-21 | Edico Genome, Corp. | Bioinformatics systems, apparatuses, and methods for performing secondary and/or tertiary processing |
US10146711B2 (en) | 2016-01-11 | 2018-12-04 | Intel Corporation | Techniques to access or operate a dual in-line memory module via multiple data channels |
US10068183B1 (en) | 2017-02-23 | 2018-09-04 | Edico Genome, Corp. | Bioinformatics systems, apparatuses, and methods executed on a quantum processing platform |
US10152262B2 (en) | 2016-05-03 | 2018-12-11 | Micron Technology, Inc. | Memory access techniques in memory devices with multiple partitions |
WO2017201081A1 (en) | 2016-05-16 | 2017-11-23 | Agilome, Inc. | Graphene fet devices, systems, and methods of using the same for sequencing nucleic acids |
KR20180012009A (ko) * | 2016-07-26 | 2018-02-05 | 에스케이하이닉스 주식회사 | 데이터 맵핑을 수행하는 반도체 장치 및 시스템 |
US9825730B1 (en) * | 2016-09-26 | 2017-11-21 | Dell Products, Lp | System and method for optimizing link performance with lanes operating at different speeds |
US10229883B2 (en) * | 2016-10-01 | 2019-03-12 | Intel Corporation | Systems, methods, and apparatuses for implementing late fusing of processor features using a non-volatile memory |
US10528255B2 (en) | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Interface for non-volatile memory |
US10528286B2 (en) * | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Interface for non-volatile memory |
US10528267B2 (en) | 2016-11-11 | 2020-01-07 | Sandisk Technologies Llc | Command queue for storage operations |
US10503435B2 (en) * | 2016-12-01 | 2019-12-10 | Qualcomm Incorporated | Providing extended dynamic random access memory (DRAM) burst lengths in processor-based systems |
KR101853210B1 (ko) * | 2016-12-22 | 2018-04-27 | 한양대학교 산학협력단 | 하이브리드 메모리 큐브를 위한 링크 선택 방법 및 장치 |
US10825545B2 (en) * | 2017-04-05 | 2020-11-03 | Micron Technology, Inc. | Memory device loopback systems and methods |
KR102298923B1 (ko) | 2017-05-24 | 2021-09-08 | 에스케이하이닉스 주식회사 | 반도체 장치, 테스트 방법 및 이를 포함하는 시스템 |
WO2019009585A1 (ko) | 2017-07-03 | 2019-01-10 | 한양대학교 산학협력단 | 저전력 모드를 위한 cpu측과 hmc측의 hmc 컨트롤 장치 및 방법과 hmc 컨트롤 장치의 전력 관리 방법 |
KR101931880B1 (ko) | 2017-07-03 | 2018-12-21 | 한양대학교 산학협력단 | 저전력 모드를 위한 cpu측과 hmc측의 hmc컨트롤 장치 및 방법과 이에 관한 기록매체 |
CN109308928B (zh) * | 2017-07-28 | 2020-10-27 | 华邦电子股份有限公司 | 存储器装置的行解码器 |
KR102438991B1 (ko) | 2017-11-28 | 2022-09-02 | 삼성전자주식회사 | 메모리 장치 및 그것의 동작 방법 |
US10649025B2 (en) * | 2018-03-23 | 2020-05-12 | Cavium, Llc. | External DQS bi-directional loopback with use of feed forward equalization path |
US10991445B2 (en) | 2018-09-06 | 2021-04-27 | Micron Technology, Inc. | Memory sub-system including an in-package sequencer to perform error correction and memory testing operations |
KR102617016B1 (ko) | 2018-09-17 | 2023-12-27 | 삼성전자주식회사 | 자주 접근되는 어드레스를 검출하는 레지스터 클럭 드라이버를 포함하는 메모리 모듈 |
US10732892B2 (en) * | 2018-09-24 | 2020-08-04 | Micron Technology, Inc. | Data transfer in port switch memory |
US11468925B2 (en) | 2018-12-03 | 2022-10-11 | Rambus Inc. | DRAM interface mode with improved channel integrity and efficiency at high signaling rates |
CN109887531B (zh) * | 2018-12-25 | 2021-04-16 | 北京兆易创新科技股份有限公司 | 一种非易失存储器模式转换方法以及装置 |
KR20200086143A (ko) * | 2019-01-08 | 2020-07-16 | 삼성전자주식회사 | 저장 장치 및 그것의 데이터 처리 방법 |
EP3924966A4 (en) * | 2019-02-12 | 2022-11-16 | Rambus Inc. | VARIABLE ACCESS GRANULARITY MEMORY |
CN113728383B (zh) | 2019-02-22 | 2023-05-30 | 美光科技公司 | 存储器装置接口及方法 |
CN113490926B (zh) | 2019-02-28 | 2024-06-18 | 拉姆伯斯公司 | 四通道dram |
US11308017B2 (en) * | 2019-05-31 | 2022-04-19 | Micron Technology, Inc. | Reconfigurable channel interfaces for memory devices |
US11107507B2 (en) * | 2019-06-21 | 2021-08-31 | Micron Technology, Inc. | Transmitting data signals on separate layers of a memory module, and related methods, systems and apparatuses |
US11921649B1 (en) * | 2019-09-12 | 2024-03-05 | Kioxia Corporation | Multiple parallel mode flash channels with serial link |
US11675716B2 (en) | 2019-12-10 | 2023-06-13 | Intel Corporation | Techniques for command bus training to a memory device |
EP4081954A4 (en) | 2019-12-27 | 2023-04-05 | Micron Technology, Inc. | NEUROMORPHIC STORAGE DEVICE AND METHOD |
EP4085458A4 (en) | 2019-12-30 | 2023-05-31 | Micron Technology, Inc. | STORAGE DEVICE INTERFACE AND METHOD |
KR20220114027A (ko) * | 2019-12-31 | 2022-08-17 | 마이크론 테크놀로지, 인크. | 메모리 모듈 다중 포트 버퍼 기술 |
CN111383154A (zh) * | 2020-04-02 | 2020-07-07 | 广东金宇恒软件科技有限公司 | 一种数据接口及便于管理的公共财政预算管理一体化平台*** |
US11409684B2 (en) | 2020-07-31 | 2022-08-09 | Alibaba Group Holding Limited | Processing accelerator architectures |
US11625341B2 (en) * | 2020-08-11 | 2023-04-11 | Alibaba Group Holding Limited | Narrow DRAM channel systems and methods |
US11556279B2 (en) | 2020-08-21 | 2023-01-17 | Samsung Electronics Co., Ltd. | System device, and method for memory interface including reconfigurable channel |
US11599484B2 (en) * | 2020-12-01 | 2023-03-07 | Micron Technology, Inc. | Semiconductor device having plural signal buses for multiple purposes |
US11289135B1 (en) * | 2020-12-08 | 2022-03-29 | Micron Technology, Inc. | Precharge timing control |
US11593024B1 (en) | 2021-08-30 | 2023-02-28 | Micron Technology, Inc. | Request control for memory sub-systems |
WO2024123711A1 (en) * | 2022-12-07 | 2024-06-13 | Rambus Inc. | In-package error correction for multi-die memory stacks |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1586083A (zh) * | 2001-11-09 | 2005-02-23 | 松下电器产业株式会社 | 显示装置、接收机以及测试设备 |
CN1942973A (zh) * | 2004-04-19 | 2007-04-04 | 诺基亚公司 | 具有单和双模式访问的存储器 |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2460526A1 (fr) | 1979-06-29 | 1981-01-23 | Ibm France | Procede de mesure du temps d'acces d'adresse de memoires mettant en oeuvre la technique de recirculation des donnees, et testeur en resultant |
FR2644260B1 (fr) * | 1989-03-08 | 1993-10-29 | Nec Corp | Dispositif de commande d'acces en memoire pouvant proceder a une commande simple |
IL96808A (en) | 1990-04-18 | 1996-03-31 | Rambus Inc | Introductory / Origin Circuit Agreed Using High-Performance Brokerage |
US5511024A (en) | 1993-06-02 | 1996-04-23 | Rambus, Inc. | Dynamic random access memory system |
US5699506A (en) * | 1995-05-26 | 1997-12-16 | National Semiconductor Corporation | Method and apparatus for fault testing a pipelined processor |
US5906003A (en) * | 1996-04-17 | 1999-05-18 | Cirrus Logic, Inc. | Memory device with an externally selectable-width I/O port and systems and methods using the same |
US5892981A (en) * | 1996-10-10 | 1999-04-06 | Hewlett-Packard Company | Memory system and device |
US6167487A (en) * | 1997-03-07 | 2000-12-26 | Mitsubishi Electronics America, Inc. | Multi-port RAM having functionally identical ports |
US6044412A (en) * | 1997-10-21 | 2000-03-28 | Vlsi Technology, Inc. | Integrated circuit pin sharing method and apparatus for diverse memory devices by multiplexing subsets of pins in accordance with operation modes |
US6256256B1 (en) * | 1998-01-30 | 2001-07-03 | Silicon Aquarius, Inc. | Dual port random access memories and systems using the same |
US6742098B1 (en) * | 2000-10-03 | 2004-05-25 | Intel Corporation | Dual-port buffer-to-memory interface |
US6170041B1 (en) * | 1998-09-24 | 2001-01-02 | Integrated Silicon Soulution, Inc. | Integrated circuit memory with a bus transceiver |
US7061821B2 (en) * | 1998-10-20 | 2006-06-13 | International Business Machines Corporation | Address wrap function for addressable memory devices |
US6578104B1 (en) * | 1999-06-30 | 2003-06-10 | Quick Logic Corporation | RAM with configurable depth and width |
US6839393B1 (en) * | 1999-07-14 | 2005-01-04 | Rambus Inc. | Apparatus and method for controlling a master/slave system via master device synchronization |
US6671836B1 (en) * | 1999-09-23 | 2003-12-30 | Rambus Inc. | Method and apparatus for testing memory |
AU1801201A (en) * | 1999-12-08 | 2001-06-18 | Rambus Inc. | Memory system with channel multiplexing of multiple memory devices |
GB2357602A (en) | 1999-12-22 | 2001-06-27 | Nokia Mobile Phones Ltd | Memory controller for a memory array comprising different memory types |
US6499089B1 (en) * | 2000-01-18 | 2002-12-24 | Cypress Semiconductor Corp. | Method, architecture and circuitry for independently configuring a multiple array memory device |
US6778491B1 (en) | 2000-03-31 | 2004-08-17 | Alcatel | Method and system for providing redundancy for signaling link modules in a telecommunication system |
US6434081B1 (en) | 2000-05-12 | 2002-08-13 | Micron Technology, Inc. | Calibration technique for memory devices |
US6748556B1 (en) * | 2000-08-15 | 2004-06-08 | International Business Machines Corporation | Changing the thread capacity of a multithreaded computer processor |
US6691214B1 (en) | 2000-08-29 | 2004-02-10 | Micron Technology, Inc. | DDR II write data capture calibration |
US6889304B2 (en) * | 2001-02-28 | 2005-05-03 | Rambus Inc. | Memory device supporting a dynamically configurable core organization |
US7610447B2 (en) * | 2001-02-28 | 2009-10-27 | Rambus Inc. | Upgradable memory system with reconfigurable interconnect |
US20030025519A1 (en) * | 2001-08-06 | 2003-02-06 | Cheng-Ju Hsieh | Inspection apparatus and method for test ambient and test mode circuit on integrated circuit chip |
US6877071B2 (en) * | 2001-08-20 | 2005-04-05 | Technology Ip Holdings, Inc. | Multi-ported memory |
US7093083B1 (en) * | 2001-12-18 | 2006-08-15 | Integrated Device Technology, Inc. | Integrated circuit memory devices having asynchronous flow-through capability |
US7239669B2 (en) * | 2002-04-30 | 2007-07-03 | Fulcrum Microsystems, Inc. | Asynchronous system-on-a-chip interconnect |
US7269709B2 (en) * | 2002-05-15 | 2007-09-11 | Broadcom Corporation | Memory controller configurable to allow bandwidth/latency tradeoff |
US6854043B2 (en) * | 2002-07-05 | 2005-02-08 | Hewlett-Packard Development Company, L.P. | System and method for multi-modal memory controller system operation |
JP4159415B2 (ja) * | 2002-08-23 | 2008-10-01 | エルピーダメモリ株式会社 | メモリモジュール及びメモリシステム |
EP1573557A2 (en) * | 2002-12-05 | 2005-09-14 | Nokia Corporation | Operating memory components |
US7043611B2 (en) * | 2002-12-11 | 2006-05-09 | Lsi Logic Corporation | Reconfigurable memory controller |
KR100929143B1 (ko) * | 2002-12-13 | 2009-12-01 | 삼성전자주식회사 | 컴퓨터 및 그 제어방법 |
US7313639B2 (en) * | 2003-01-13 | 2007-12-25 | Rambus Inc. | Memory system and device with serialized data transfer |
JP3632691B2 (ja) | 2003-01-30 | 2005-03-23 | セイコーエプソン株式会社 | テスト回路、集積回路及びテスト方法 |
US7165153B2 (en) | 2003-06-04 | 2007-01-16 | Intel Corporation | Memory channel with unidirectional links |
US7120727B2 (en) * | 2003-06-19 | 2006-10-10 | Micron Technology, Inc. | Reconfigurable memory module and method |
JP4489454B2 (ja) * | 2004-02-16 | 2010-06-23 | 富士通マイクロエレクトロニクス株式会社 | 半導体集積回路 |
US7290160B2 (en) * | 2004-11-23 | 2007-10-30 | Intel Corporation | Method and apparatus to deskew data to clock for memory |
US7757037B2 (en) * | 2005-02-16 | 2010-07-13 | Kingston Technology Corporation | Configurable flash memory controller and method of use |
US20070022333A1 (en) * | 2005-06-17 | 2007-01-25 | Terry Steven W | Testing of interconnects associated with memory cards |
US8335894B1 (en) * | 2008-07-25 | 2012-12-18 | Google Inc. | Configurable memory system with interface circuit |
US7333908B2 (en) * | 2005-09-01 | 2008-02-19 | Micron Technology, Inc. | Techniques for generating test patterns in high speed memory devices |
US7577039B2 (en) * | 2005-11-16 | 2009-08-18 | Montage Technology Group, Ltd. | Memory interface to bridge memory buses |
KR100655081B1 (ko) * | 2005-12-22 | 2006-12-08 | 삼성전자주식회사 | 가변적 액세스 경로를 가지는 멀티 포트 반도체 메모리장치 및 그에 따른 방법 |
US7613883B2 (en) * | 2006-03-10 | 2009-11-03 | Rambus Inc. | Memory device with mode-selectable prefetch and clock-to-core timing |
US7698589B2 (en) | 2006-03-21 | 2010-04-13 | Mediatek Inc. | Memory controller and device with data strobe calibration |
US20070260841A1 (en) * | 2006-05-02 | 2007-11-08 | Hampel Craig E | Memory module with reduced access granularity |
EP3200189B1 (en) * | 2007-04-12 | 2021-06-02 | Rambus Inc. | Memory system with point-to-point request interconnect |
US20110016278A1 (en) * | 2008-03-31 | 2011-01-20 | Frederick Ware | Independent Threading of Memory Devices Disposed on Memory Modules |
-
2008
- 2008-04-11 EP EP17157845.3A patent/EP3200189B1/en active Active
- 2008-04-11 US US12/595,125 patent/US20100211748A1/en not_active Abandoned
- 2008-04-11 WO PCT/US2008/004790 patent/WO2008127698A2/en active Search and Examination
- 2008-04-11 EP EP21176841.1A patent/EP3923287B1/en active Active
- 2008-04-11 EP EP08742848.8A patent/EP2143107B1/en active Active
- 2008-04-11 CN CN201610847700.3A patent/CN106407136B/zh active Active
- 2008-04-11 EP EP23150668.4A patent/EP4198751A1/en active Pending
- 2008-04-11 CN CN200880011660.2A patent/CN101702947B/zh active Active
- 2008-04-11 ES ES17157845T patent/ES2883587T3/es active Active
- 2008-04-11 US US12/745,494 patent/US8924680B2/en active Active
-
2009
- 2009-11-30 US US12/627,769 patent/US8069379B2/en active Active
-
2010
- 2010-06-22 US US12/820,973 patent/US8261039B2/en active Active
-
2014
- 2014-06-16 US US14/305,799 patent/US9378787B2/en active Active
-
2016
- 2016-05-31 US US15/169,331 patent/US9959914B2/en active Active
-
2018
- 2018-03-08 US US15/916,193 patent/US10600455B2/en active Active
-
2020
- 2020-02-13 US US16/790,183 patent/US11276440B2/en active Active
-
2022
- 2022-02-06 US US17/665,544 patent/US11727966B2/en active Active
-
2023
- 2023-06-23 US US18/340,803 patent/US20230420010A1/en active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1586083A (zh) * | 2001-11-09 | 2005-02-23 | 松下电器产业株式会社 | 显示装置、接收机以及测试设备 |
CN1942973A (zh) * | 2004-04-19 | 2007-04-04 | 诺基亚公司 | 具有单和双模式访问的存储器 |
Also Published As
Publication number | Publication date |
---|---|
US10600455B2 (en) | 2020-03-24 |
US20140297939A1 (en) | 2014-10-02 |
US9959914B2 (en) | 2018-05-01 |
US20220301602A1 (en) | 2022-09-22 |
US8069379B2 (en) | 2011-11-29 |
EP3200189A1 (en) | 2017-08-02 |
US20100262790A1 (en) | 2010-10-14 |
EP4198751A1 (en) | 2023-06-21 |
US8261039B2 (en) | 2012-09-04 |
EP3923287B1 (en) | 2023-01-11 |
CN106407136A (zh) | 2017-02-15 |
US20200258555A1 (en) | 2020-08-13 |
CN101702947B (zh) | 2017-02-15 |
EP2143107B1 (en) | 2017-03-22 |
WO2008127698A3 (en) | 2009-03-26 |
US20230420010A1 (en) | 2023-12-28 |
US20110219197A1 (en) | 2011-09-08 |
EP3200189B1 (en) | 2021-06-02 |
US9378787B2 (en) | 2016-06-28 |
ES2883587T3 (es) | 2021-12-09 |
EP2143107A2 (en) | 2010-01-13 |
WO2008127698A2 (en) | 2008-10-23 |
US11276440B2 (en) | 2022-03-15 |
EP3923287A1 (en) | 2021-12-15 |
US20100211748A1 (en) | 2010-08-19 |
US11727966B2 (en) | 2023-08-15 |
US20160351234A1 (en) | 2016-12-01 |
US20100077267A1 (en) | 2010-03-25 |
US20180268882A1 (en) | 2018-09-20 |
US8924680B2 (en) | 2014-12-30 |
CN101702947A (zh) | 2010-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106407136B (zh) | 具有点对点请求互连的存储器*** | |
US10672458B1 (en) | Memory system topologies including a buffer device and an integrated circuit memory device | |
TW200428404A (en) | Memory module and memory system | |
US11915791B2 (en) | Memory topologies | |
US20230410890A1 (en) | Memory System Topologies Including A Memory Die Stack |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |