CN105612580B - 使用标准控制器部件的大容量存储系统 - Google Patents

使用标准控制器部件的大容量存储系统 Download PDF

Info

Publication number
CN105612580B
CN105612580B CN201480056078.3A CN201480056078A CN105612580B CN 105612580 B CN105612580 B CN 105612580B CN 201480056078 A CN201480056078 A CN 201480056078A CN 105612580 B CN105612580 B CN 105612580B
Authority
CN
China
Prior art keywords
memory module
buffer unit
data
coupled
module
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
Application number
CN201480056078.3A
Other languages
English (en)
Other versions
CN105612580A (zh
Inventor
F·A·韦尔
S·拉简
S·C·贝斯特
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Rambus Inc
Original Assignee
Rambus Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Rambus Inc filed Critical Rambus Inc
Priority to CN201910510781.1A priority Critical patent/CN110299157B/zh
Publication of CN105612580A publication Critical patent/CN105612580A/zh
Application granted granted Critical
Publication of CN105612580B publication Critical patent/CN105612580B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/408Address circuits
    • G11C11/4082Address Buffers; level conversion circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1673Details of memory controller using buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1684Details of memory controller using multiple buses
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/02Disposition of storage elements, e.g. in the form of a matrix array
    • G11C5/04Supports for storage elements, e.g. memory modules; Mounting or fixing of storage elements on such supports
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)

Abstract

本文描述的实施例描述了用于在不同的操作模式中使用存储模块的技术,诸如标准多点下传模式或动态点对点(DPP)模式(本文也称为增强模式)。存储模块还可以以不同的结构插入到存储系统的插槽中。

Description

使用标准控制器部件的大容量存储系统
相关申请
本申请要求2014年1月23日提交的美国61/930,895、2013年11月19日提交的美国临时申请第61/906,242号以及2013年11月11日提交的美国临时申请第61/902,677号的权益,其全部内容以引用的方式引入本申请。
背景技术
计算存储系统通常由一个或多个动态随机存取存储器(DRAM)集成电路(本文称为DRAM器件)组成,它们连接至一个或多个处理器。多个DRAM器件可以被布置在存储模块(诸如双列直插存储模块(DIMM))上。DIMM包括安装在印刷电路板(PCB)上的一系列DRAM器件并且通常被设计用于个人计算机、工作站、服务器等。具有不同类型的存储模块,包括用于双数据率类型三(DDR3)的负载减少DIMM(LRDIMM),它们已被用于大容量服务器和高性能计算平台。存储容量可以通过与许多DRAM器件和DIMM的用户相关联的数据(DQ)总线和请求(RQ)总线的负载来限制。LRDIMM可以通过使用存储器缓冲部件(也称为寄存器)来增加存储容量。寄存的存储模块在DRAM器件和系统的存储控制器之间具有寄存器。例如,全缓冲组成DIMM架构在存储控制器和DIMM上的DRAM器件之间引入先进的存储缓冲部件(AMB)。存储控制器与AMB通信就如同AMB是存储器件,并且AMB与DRAM器件通信就如同AMB是存储控制器。AMB可以缓冲部件数据、命令和地址信号。通过这种架构,存储控制器不写入DRAM器件,而是AMB写入DRAM器件。
随着在市场上出现DRAM的每一个连续代,光刻部件尺寸已经稳定减小。因为,增加了每一代的器件存储容量。每一代都实现了接口的信号发送速率的增加,因为改进了晶体管性能。
不幸的是,存储系统设计没有表现出相同改进的一个度量是标准存储通道的模块容量。该容量由于增加了信号发送速率而被持续牺牲。
产生这种结果的部分原因在于标准存储系统中使用的链接拓扑。当更多模块被添加到系统时,劣化了信号发送完整性,并且必须降低信号发送速率。当以最大信号发送速率操作时,典型的存储系统目前仅被限制为一个或多个模块。
附图说明
在附图中,仅通过示例而不限制地示出实施例,其中:
图1A示出了标准存储系统中的高速信号发送链接的物理链接拓扑的一些细节。
图1B示出了标准存储系统中的命令和地址(CA)链接的物理链接拓扑的一些细节。
图1C示出了用于写访问的标准存储系统的数据(DQ)链接的物理链接拓扑的一些细节。
图1D示出了用于读访问的标准存储系统的DQ链接的物理链接拓扑的一些细节。
图2A示出了根据一个实施例的改进存储系统的高速信号发送链接的物理链接拓扑的一些细节。
图2B示出了根据一个实施例的改进存储系统的CA链接的物理链接拓扑的一些细节。
图2C示出了根据一个实施例的用于连续模块的改进存储系统的DQ链接的物理链接拓扑的一些细节。
图2D示出了根据一个实施例的用于存储模块的改进存储系统的DQ链接的物理链接拓扑的一些细节。
图3A示出了根据一个实施例的具有三个模块的标准系统。
图3B示出了根据一个实施例的具有三个模块的标准系统的简化图。
图4是示出根据一个实施例的根据偶数和奇数半字节具有中央处理单元(CPU)槽和利用数据线耦合至CPU槽的用于R+LRDIMM的两个DIMM槽的2-SPC存储通道布线的示图。
图5A是示出根据一个实施例的具有用一个R+LRDIMM填充的一个DIMM槽和用连续DIMM(C-DIMM)填充的另一DIMM槽的2-SPC双数据率第四代(DDR4)通道的示图。
图5B是示出根据一个实施例的具有用一个R+LRDIMM填充的一个DIMM槽和用另一个R+LRDIMM填充的另一DIMM槽的2-SPCDDR4通道的示图。
图6A至图6C示出了根据一个实施例的在3-SPC存储通道中具有一个或两个存储模块的不同组合的第一结构A的改进存储系统。
图7A至图7D示出了根据一个实施例的在3-SPC存储通道中具有一个或两个存储模块的不同组合的第二结构D的改进存储系统。
图8A至图8D示出了根据一个实施例的在3-SPC存储通道中具有一个或两个存储模块的不同组合的第三结构E的改进存储系统。
图9A至图9D示出了根据一个实施例的在3-SPC存储通道中具有一个或两个存储模块的不同组合的第四结构F的改进存储系统。
图10A至图10C示出了根据一个实施例的在3-SPC存储通道中具有一个或两个存储模块的不同组合的第五结构B的改进存储系统。
图11A至图11C示出了根据一个实施例的在3-SPC存储通道中具有一个或两个存储模块的不同组合的第六结构C的改进存储系统。
图12A是示出根据一个实施例的用于在存储模块之间共享CS信息的专用总线的框图。
图12B是根据一个实施例的用于共享CS信息的专用总线的定时图。
图12C是根据一个实施例的用于共享CS信息的CA缓冲部件的框图。
图13是根据一个实施例的标准和1DPC模式中的CA缓冲部件操作的框图。
图14是根据另一实施例的用于将CS信息重新驱动至其他存储模块的CS共享逻辑的框图。
图15是根据另一实施例的广播解决方案的框图。
图16是根据一个实施例的具有用于图15的广播解决方案的逻辑的CA缓冲部件的框图。
图17是示出根据另一实施例的用于在存储模块之间共享CS信息的专用总线的框图。
图18是根据一个实施例的具有用于图17的广播解决方案的逻辑的寄存器的框图。
图19是根据一个实施例的用于两槽DPP的DQ缓冲部件的框图。
图20是示出根据一个实施例的存储系统的域交叉逻辑(domain-crossing logic)的框图。
图21A是示出根据一个实施例的在用于结构A和结构B的初级端口和次级端口之间具有读和写路径的DQ缓冲部件的框图。
图21B是示出根据一个实施例的在用于结构B的初级端口之间具有同步读和写旁路路径的DQ缓冲部件的框图。
图21C是示出根据一个实施例的在用于结构B的初级端口之间具有主动异步读和写旁路路径的DQ缓冲部件的框图。
图21D是示出根据一个实施例的在用于结构B的初级端口之间具有被动异步读和写旁路路径的DQ缓冲部件的框图。
图22是根据一个实施例的两插槽DPP的存储模块卡。
图23示出了根据一个实施例的增强模式(R+)和标准模式中的存储模块的LRDIMM操作。
图24示出了根据一个实施例的用于新R+LRDIMM的3-SPC存储通道布线。
图25A示出了根据一个实施例的具有1R+LRDIMM的3插槽DDR4通道。
图25B示出了根据一个实施例的具有2R+LRDIMM的3插槽DDR4通道。
图25C示出了根据一个实施例的具有3R+LRDIMM的3插槽DDR4通道。
图26A和图26B示出了根据一个实施例的在3-SPC存储通道中具有一个或三个存储模块的不同组合的第一结构A的改进存储系统。
图27A和图27B示出了根据一个实施例的在3-SPC存储通道中具有一个或三个存储模块的不同组合的第二结构D的改进存储系统。
图28A和图28B示出了根据一个实施例的在3-SPC存储通道中具有一个或三个存储模块的不同组合的第三结构E的改进存储系统。
图29A和图29B示出了根据一个实施例的在3-SPC存储通道中具有一个或三个存储模块的不同组合的第四结构F的改进存储系统。
图30A和图30B示出了根据一个实施例的在3-SPC存储通道中具有一个或三个存储模块的不同组合的第五结构B的改进存储系统。
图31A和图31B示出了根据一个实施例的在3-SPC存储通道中具有一个或三个存储模块的不同组合的第六结构C的改进存储系统。
图32是示出根据一个实施例的根据偶数和奇数半字节具有CPU槽和利用数据线耦合至CPU槽的用于R+LRDIMM的两个DIMM槽的2-SPC存储通道布线的示图。
图33是示出根据一个实施例的根据半字节的集合具有CPU槽301和利用数据线耦合至CPU槽的用于R+LRDIMM的三个DIMM槽的3-SPC存储通道布线的示图。
图34A是示出根据一个实施例的具有用一个R+LRDIMM填充的一个DIMM槽和用C-DIMM填充的两个DIMM槽的3-SPC DDR4通道的示图。
图34B是示出根据一个实施例的具有用R+LRDIMM填充的两个DIMM槽和用C-DIMM填充的另一DIMM槽的3-SPC DDR4通道的示图。
图34C是示出根据一个实施例的具有用R+LRDIMM 3408、3458、3478填充的三个DIMM槽的3-SPC DDR4通道3470的示图。
图35是示出根据一个实施例的3-SPC存储系统的三个DIMM槽之间的专用总线的示图。
图36是示出根据一个实施例的存储系统的两个DIMM槽之前的专用总线的本地控制信号和远程控制信号的示图。
图37是根据一个实施例的操作双模式存储模块的方法的流程图。
图38是根据一个实施例的计算机系统的一个实施例的示图,包括具有存储模块的三个存储模块的主存储器。
具体实施方式
本文描述的实施例描述了用于在不同的操作模式中使用存储模块的技术,诸如在标准多点下传(multi-drop)模式中或者在动态点对点(DPP)模式(本文也称为增强模式)中。存储模块还可以以不同的结构插入到存储系统的插槽(socket)中。如本文的各个实施例所描述的,存储模块可以由标准存储部件来构造,并且可以被现有控制器所使用。在一些情况下,不需要对现有的存储控制器进行修改,从而利用管这些多模式、多结构存储模块进行操作。在其他情况下,可以在标准存储系统中或者在新的较大容量的存储系统中使用具有最小修改的存储控制器。
除了提高容量之外,本文所描述的实施例可用于改善数据链接的信号发送完整性,这通常限制信号发送速率。实施例可以由于排序切换转向而避免一些延迟,其他延迟则是标准链接拓扑的结果。本文描述的实施例还可以与标准的错误检测和校正(EDC)码兼容。这包括标准(汉明)ECC位码和标准BCH(又称为)符号码。实际上,在一些结构中,实施例可以校正模块的完全故障。
在一个实施例中,存储模块包括命令和地址(CA)缓冲部件以及作为多点下传链接的多个CA链接,CA链接与连接至该存储模块所连接的存储控制器的所有其他存储模块相连接。存储模块还包括数据(DQ)缓冲部件(也称为数据请求缓冲部件),其包括至少两个初级端口和至少两个次级端口以连接至多点下传数据链接(当插入到第一类型的存储通道中时)以及连接至动态点对点(DPP)链接,其中每个DPP链接均穿过其他存储模块或连续模块之一的一个旁路路径的最大量(当插入到存储系统的一个插槽中时)。
在另一实施例中,具有两个操作模式的存储模块包括:第一模式,其中,利用与该存储模块连接的存储控制器相连接的所有其他存储模块共享的多点下传链接,存储模块被插入到第一类型的存储通道中;以及第二模式,其中,存储模块被插入到第二类型的存储通道中,其中一些数据链接不连接至所有其他存储模块。可选地,存储模块可以在第一模式中利用与至少一个其他存储模块共享的多点下传数据链接插入到第一类型的存储通道中以及插入到第二类型的存储通道中(其中,一些数据链接不连接至所有其他存储模块)。
在另一实施例中,命令和地址(CA)缓冲部件包括作为多点下传链接的CA链接,其与该存储模块连接的存储控制器相连接的所有其他存储模块连接。在该实施例中,CA缓冲部件在CA链接之上接收来自存储控制器的芯片选择(CS)信息。数据(DQ)缓冲部件(也称为数据请求缓冲部件)包括数据链接,其中数据链接是点对点(P-P)链接或点对两点(P-2P)链接中的至少一种,其不连接至所有其他存储模块。存储模块还可以包括私用(专用,private)CS共享逻辑,其被耦合以接收来自CA缓冲部件的CS信息并且在次级私用链接上与至少一个其他存储模块共享CS信息(当存储模块被选择用于根据CS信息进行数据访问时)。当至少一个其他存储模块被选择用于用户数据访问时,私用CS共享逻辑经由次级私用链接接收来自至少一个其他存储模块的CS信息。
在另一实施例中,存储模块的DQ缓冲部件包括耦合至存储控制器的第一初级端口、耦合至存储控制器的第二初级端口、耦合至第一动态随机存取存储(DRAM)器件的第一次级端口、耦合至第二DRAM器件的第二次级端口、以及在存储模块的次级链接上接收来自另一存储模块的重传CS信息(当该存储模块没有被选择时)的控制逻辑,其中控制逻辑响应于CS信息建立以下至少一个:1)第一初级端口与第一次级端口之间的第一路径和第二初级端口与第二次级端口之间的第二路径;2)第一初级端口和第二次级端口之间的第三路径和第二初级端口和第一次级端口之间的第四路径;或者3)第一初级端口和第二初级端口之间的旁路路径。
实施例描述了存储模块、DQ缓冲部件、CA缓冲部件、存储插槽、母板布线和允许不同结构的其他技术,其中存储模块可以在现有的遗留系统以及当前的计算系统中使用。
例如,第一存储系统包括控制器部件、具有模块插槽的第一母板衬底以及至少两个存储模块,可以以第一模式和第二模式进行操作,在第一模式中具有可以被至少两个存储模块共享的多点下传数据链接,并且第二模式利用在存储控制器和存储模块之间具有点对点数据链接的第二母板衬底来使用。在第二模式中,存储插槽可以用一个{1,2,3}存储模块来填充。存储控制器可以利用解码的、独热芯片选择链接来选择存储系统的排序(rank)。存储系统可以包括承载从第一模块到第二模块的排序选择信息的链接。存储系统还可以包括承载在第一模块上访问的到达第二模块的数据的链路。存储模块可以共享CS信息以协调数据传送或协调旁路。
在另一实施例中,存储模块具有两种操作模式:第一模式,其可以利用与至少一个其他模块共享的多点下传数据链接插入到第一类型的存储通道上;以及第二模式,其可以插入到第二类型的存储通道上,其中一些数据链接不连接至所有模块。
在一些实施例中,本文描述的实施例可以提供改进的解决方案,存储控制器可以不要求任何变化来与双模式存储模块交互。母板布线可以被修改以适应本文所述或所示的各种结构中的任何一种,诸如多点下传实施例或点对点实施例。本文描述的实施例允许可变容量{1,2,3}模块,并且可以支持错误编码(例如,ECC、)。传统的解决方案不支持具有64条线的ECC。在一些实施例中,存储模块包括72条线。此外,本文描述的实施例可用于实现高达6.4Gbps的DQ数据速率,其可以是大于传统解决方案(其速度限制近似为2.4Gbps)的三倍或更多倍。在其他实施例中,存储模块可以在接收数据的同时动态地跟踪DQ/DWQS的定时漂移。
在又一实施例中,每个DQ链接都经过一个连续模块(当存在时)的最大量。在另一实施例中,存储模块使用未分配的模块管脚来广播来自所选模块的CS信息。本文描述的实施例还包括用于图22所示的DQ缓冲部件的域交叉的技术。在本公开中描述和示出了各种母板布线。
以下是标准存储系统中的链接拓扑的描述。
标准存储系统中的链接拓扑
图1A示出了当前存储系统中的高速信号发送链接的物理连接拓扑100的一些细节。具有两类链接:CA(控制-地址)链接101和DQ(数据)链接102。
通过控制器部件103(本文也称为存储控制器,但是可以是控制对存储模块的访问的其他部件)来发射(和接收,在DQ链接的情况下)这些信号。通常通过模块106上的缓冲部件(诸如通过CA缓冲部件104和DQ缓冲部件105)来接收(和发射,在DQ链接的情况下)这些信号。
一些系统可以在存储模块106上的CA和DQ链接的路径中不使用缓冲部件,但是这些存储系统可以趋向于具有更多限制的存储器件容量和更多限制的信号发送速率。这是因为未缓冲的组成链接的信号完整性可以被模块上较长的线和较重的加载所影响。
CA和DQ链接可以是由相同部件组成的缓冲器,或者它们可以是分离的CA缓冲部件和分离的DQ缓冲部件(本文也称为DQ-BUF部件)。将描述这两个可选的示例。
第一DQ缓冲部件可以被划分(分割)为多个较小的部件,每一个都覆盖DQ链接的子集。本公开描述处理八个DQ链接的DQ缓冲部件。其他DQ缓冲宽度也是可以的。在一些情况下,更宽的DQ缓冲器可以允许更大的模块容量。
本公开的一些实施例主要集中于最大存储器件容量较重要的那些系统。应该注意,本公开描述的技术还可以应用于节制(moderate)容量的系统。
本公开所讨论的实施例都假设具有72个数据链接(72DQ链接)以容纳标准EDC码的存储模块。本公开所描述的技术也可以应用于具有其他数量的数据链接的存储模块,诸如64个DQ链接。
多点下传技术中的标准CA链接的CA链接
在图1A中,应该注意,即使假设CA和DQ缓冲的组成,也仍然会存在信号发送完整性的问题,尤其是DQ链接。
CA链接拓扑通常包括控制器上的发射器、母板衬底上的可控阻抗线以及最远端处的终端电阻器。每个模块中的CA缓冲部件中的接收器连接至CA链接,向链接添加多个负载。在一些实施例中,每个CA缓冲部件都具有管芯上终端电阻器。这称为多点下传拓扑。
该模块负载主要是电容性的,并且包括由模块管脚的插槽链接、模块管脚与缓冲部件之间的迹线以及缓冲部件上的接收器电路引入的负载。
接收器电路包括形成输入放大器的晶体管以及保护不受静电放电影响的保护器件。该保护器件也包括一些串联电阻。
由于CA链接仅为输入,所以总的电容负载相对较小。图1B示出了表示该负载的集中电容CCA 107。本文描述了CA负载的影响(及解决其的方法)。
多点下传拓扑中的标准存储系统的DQ链接
DQ链接拓扑通常包括控制器上的发射器和接收器以及母版衬底上的可控阻抗线。
在第一DQ缓冲部件内,具有终端器件、接收器和发射器。每个模块(具有DQ缓冲部件)都向DQ链接添加负载。
由每个缓冲部件呈现的负载主要是电容性的,并且包括由模块管脚上的插槽链接、模块管脚与缓冲部件之间的迹线以及缓冲部件上的发射器和接收器电路引入的负载。
接收器/发射器电路包括形成输入放大器和输出驱动器的晶体管以及保护不受静电放电影响的保护器件。该保护器件和输出驱动器也包括一些串联电阻。
由于DQ链接是输入/输出(双向),所以总的电容负载CDQ将大于CA链接上呈现的CCA。图1C和图1D示出了表示该负载的集中电容CDQ 108。本文描述了DQ负载的影响(及解决其的方法)。
由于DQ链接是双向的事实所引起的基本信号发送问题在于可以从任何模块位置驱动读数据。图1D示出了DQ链接上的读访问。第一DQ缓冲部件中的发射器驱动信号通过模块迹线和连接器到母板迹线。这里,信号的能量被划分,一半向左一半向右。
理想地,行进到模块端部的一半信号被最后模块上的终端器(其已经被接通)吸收。实际上,信号在不活跃的模块处划分并且反射回,引入ISI(符号间干扰)并劣化信号完整性。在一些系统中,在不活跃的模块中部分地使能终端器件。
图1C示出了用于写数据的类似问题。控制器中的发射器驱动信号通过母板迹线。信号的能量在每个模块处被划分。如果模块具有失效的终端,则信号返回到母板,一半向左一半向右。
在标准系统中,这通过在每个模块处包括终端器件来解决,通常在第一DQ缓冲部件中的输入/输出电路中作为可调器件。
这样做的结果是需要编制终端值,这样会在针对不同模块的访问之间引入空闲周期(泡沫)。
根据哪个模块访问数据来调整该器件的终端值。也可以调整在非选择的模块中使用的终端值,用于优化信号发送。
由标准系统的有限模块容量证实,这不是可扩展的信号发送拓扑。
本文描述的实施例涉及一种用于存储系统的DQ链接的改进信号发送拓扑。这种改进的拓扑提供了更大的模块容量,并且可以按照关键模块(控制器、模块、缓冲部件器件)可以被设计为使得它们可以用于标准系统或改进系统(也称为操作的增强模式)的方式来实施。
改进的链接拓扑
本文公开的实施例可用于得到多种重要的优点:
[1]系统容量可以在最大数据速率下提高到三个模块。
[2]系统的容量可调;3模块系统可以保持{1,2,3}模块的不同组合。
[3]DQ链接的信号发送完整性从标准系统的多点下传拓扑进行改进;每个DQ链接都使用点对点拓扑。在一些结构中,每个DQ链接都使用点对两点拓扑。
[4]大容量系统允许标准错误检测和校正码(即,ECC,);此外,在一些结构中,可以校正模块的完整故障。
可以在保持与标准存储系统及其部件的高度兼容性的情况下实现这些改进。
[1]不对存储部件进行改变。
[2]不对控制器部件进行改变(或适当改变);新控制器可用于标准系统以及本文描述的大容量存储系统。
[3]改变模块-具体地,新缓冲部件设计;新模块可用于标准系统以及大容量系统。
通过提供操作的标准模式和增强模式,控制器部件和缓冲部件的制造商可以在标准母板和改进的大容量母板中实现相同的产品。
改进存储系统的CA链接
在图2A中,针对改进的存储系统示出CA线201和DQ线202的物理信号发送拓扑210。CA链接拓扑可类似于标准系统的CA拓扑。图2A和图2B示出了这些相似性。
CA链接拓扑110包括控制器部件203(本文也称为存储控制器,但是可以是控制对存储模块的访问的其他部件)上的发射器、母板衬底上的可控阻抗线以及最远端处的终端电阻器。这些信号通常被模块206上的缓冲部件(诸如CA缓冲部件204)接收。每个模块206中的CA缓冲部件204中的接收器连接至CA链接201,向CA链接201添加多个负载。这称为多点下传拓扑。在其他情况下,CA和DQ链接可以是由相同部件组成的缓冲器,或者可以是独立的CA缓冲部件和独立的DQ缓冲部件(本文也称为DQ-BUF部件)。
模块负载主要是电容性的,并且包括由到模块管脚的插槽链接、模块管脚与缓冲部件之间的迹线以及CA缓冲部件204上的接收器电路引入的负载。
接收器电路包括形成输入放大器的晶体管以及保护不受静电放电影响的保护器件。该保护器件也包括一些串联电阻。
由于CA链接201仅输入,所以总的电容负载相对较小。图2B示出了表示该负载的集中电容CCA 207。
从母板连接到CA缓冲部件204的往返传播时间与信号的上升和下降时间相比通常较短,所以寄生元件可以集中到一起。
如果该往返传播时间相对较长(即,CA缓冲部件204远离模块连接器管脚),则寄生元件被看作是分布式结构,潜在地创建反射并以更加复杂的方式添加至符号间干扰(ISI)。
CA链接201上的负载的一个影响是,其可以降低母板链接上的传播速度。这会引起命令等待时间的轻微增加,但是可以被自动补偿,因为CA链接201包括表现相同延迟的定时信号CK。
负载的第二个影响可以是降低模块部分中的母板迹线的特性阻抗。图2B示出了这种情况。母板链接的加载部分和未加载部分之间的阻抗变化还可以创建反射并添加至ISI。
可以调整母板链接的迹线宽度,在未加载部分中加宽并在加载部分中缩窄,以减少阻抗失配。
还可以对模块上的迹线宽度进行这样的处理,以补偿将模块管脚连接至母板迹线的插槽结构的阻抗变化。由于插槽结构改变承载信号的两迹线导体的几何尺寸和间隔,所以这会是非常重要的。当两个导体从母板垂直路由至模块时,可以在图2B中看到这种改变。
解决ISI的另一种方式是使用判定-反馈-均衡(DFE)或类似技术。该方法使用在链接上发射的过去的符号值,并且计算它们创建的反射噪声的近似值。可以从信号(发射器或接收器处)中减去该近似值以得到用于正在被传输的当前符号的更好的值。
CA负载的第三个影响可以是引起更高频率处信号的衰减。该衰减部分地通过CA缓冲部件的输入保护结构中的寄生串联电阻引起。衰减对于信号的更高频谱分量会更加显著。
该衰减可以比标准系统中的更大。应该注意,每单位长度的衰减在两个系统中大约相同,但是改进系统中的CA线较长以容纳附加模块,因此衰减增加。
这可以通过降低CA链接201的信号发送速率来解决。CA链接201可以具有比DQ链接202更低的位传送速率。例如,CA链接201可以每个时钟周期传送一位,而DQ链接202每个时钟周期传送两位(信号发送速率为两倍)。CA速率可以进一步降低,使得每两个时钟周期传送一位(称为2T信号发送,与普通的1T信号发送相比)。这种降低的CA速率可足以提供存储系统所需的命令带宽。
另一个选项是向控制器添加发射均衡,或者向缓冲部件添加接收均衡。这使得信号的更高频分量被选择性放大,以补偿衰减(这最影响高频分量)。
改进存储系统的DQ链接
图2A示出了DQ链接202为点对点的DQ链接拓扑210。
如前所述,DQ链接拓扑210包括控制器203上的发射器和接收器以及母板衬底120上的可控阻抗线。在模块206的DQ缓冲部件205内,如标准DQ链接拓扑内,具有终端器件、接收器和发射器。在它们被连接到一起的方式中,具有多种关键的差异,诸如以下所述:
[1]DQ链接202以点对点拓扑连接至单个模块206。这给出了最好的可能信号发送质量,因为接收器和发射器位于可控阻抗传输线的相对端处,在链接的接收器端处使能终端器件。任选地,终端器件可以在发射器端处被使能以进一步抑制反射噪声。
[2]DQ链接202包括位于母板220上的线的部分(“x”部分)、与连续模块219的连接(“z”部分)和母板220上的线的第二部分(“y”部分)。一些DQ链接202仅可以通过母板上的线的单个部分(没有连接通过连续模块)。图2C和图2D示出了该拓扑。
连续模块219是不具有有源器件的标准模块衬底。其插入到标准插槽中,并且利用可控阻抗线将一些DQ链接连接至其他DQ链接。
这种连接通过连续模块219会向链接引入一些不连续,主要通过与连续模块管脚的插槽连接引起。这是因为两个导体传输线的几何尺寸和间隔在这些插槽连接处发生变化。
每个DQ链接202都在“x”和“z”部分的相会点处看到阻抗变化,并且在“z”和“y”部分的相会点处看到阻抗变化。这些阻抗变化可以创建反射并添加至ISI。
可以通过调整模块206上的DQ链接202的迹线宽度来部分地补偿这些阻抗变化。总的电容负载相对较小。图2B示出了表示CA链接201上的负载的集中电容CCA 207,以及图2C和图2D示出了表示DQ链接202的负载的集中电容CDQ 208。
解决ISI的另一种方式是使用判定-反馈-均衡(DFE)或类似技术。该方法使用在链接上发射的过去的符号值,并且计算它们创建的反射噪声的近似值。可以从信号(发射器或接收器处)中减去该近似值以得到用于正在被传输的当前符号的更好的值。
由于这种更简化的DQ链接拓扑。改进的存储系统可以具有更好的DQ信号质量(即使如本文所述在一个插槽中具有连续模块219)。改进系统还可以避免在对不同模块的访问之间引入空闲周期(泡沫)的需求。
标准存储系统的存储系统细节
图3A示出了具有三个存储模块302的标准存储系统300。控制器部件304连接至一百零八个(108)DQ链接和四十一个(41)CA链接。
108个DQ链接包括72个DQ数据链接和36个DQS定时链接。该链接计数可以包括用于标准错误检测和校正码的额外链接。这包括标准(汉明)ECC位码和标准符号码。
改进的控制器部件被设计为利用标准模块或本文描述的改进模块进行操作。控制寄存器或控制管脚或者一些等效方法在用于母板的控制器203中和其使用的模块环境中选择模式。在改进模块上的缓冲器件中使用类似的模式控制方法。
四十一个(41)CA链接包括用于标准操作的十二(12)个CS(芯片选择)链接。这允许三个标准模块的每一个上的存储器件的四个排序。
四个CS链接的三组中的每一组都利用点对点拓扑路由至适当的模块。在前面讨论的多点下传拓扑中,剩余的CA链接(具有命令、控制和地址)经由母板线连接至三个模块。对于在CA链接上发布的每个命令来说,确定12个CS链接中的一个,表示12个排序中的哪一个被响应。可以通过每个模块302上的CA缓冲部件(CA-BUF)314接收十二个CS链接中的四个和二十九个其他CA链接,并且每个模块302接收四个CS链接的不同组合。在前面讨论的多点下传拓扑中,12个CS链接和29个附加CA链接(具有命令、控制和地址)经由母板线连接至3个模块202。
术语“初级”是指将模块302上的缓冲部件经由母板连接至存储控制器304的链接。术语“次级”是指将模块302上的缓冲部件器件314连接至器件站点306处的存储器件(例如,DRAM器件)的链接。
29个CA链接和4个CS链接在次级多点下传拓扑中被重新发射至存储模块302上的18个器件站点。器件站点306可以包括一个或多个4位存储器件。图3所示的示例在每个站点处具有堆叠的两个器件。可选器件可以设置在器件站点306处,如图3A的虚线框所示。例如,如图3A所示,器件站点306可以是x4单个器件、x4两管芯堆叠或者具有四个管芯的x4微缓冲器。
在每一种访问中,每个DQ缓冲部件315都访问附接至其次级DQ链接的{2,4,6,8}x4器件中的两个。所选器件耦合至DQ缓冲部件315连接的初级DQ连接的两个集合。
初级DQ连接使用多点下传拓扑,如前面参照图1A至图1D所讨论的。
图3B示出了为了本文所述各个实施例的描述在标准结构中具有三个模块的标准系统的简化图。在图3B中示出了DQ链接的三分之一的片段320(即,连接至三个DQ缓冲部件的24xDQ加上12xDQS)。另外的三分之二的DQ链接是类似的,因而为了便于说明和描述而没有示出。示图还示出了CA-BUF部件314以及连接至CA-BUF部件314的CA链接和CS链接。
图3B还示出了3模块302的标准结构的简化示图330。简化示图320示出了六组数据链接(每一组都具有4xDQ和2xDQS)。CA链接和CA-BUF部件314没有明确示出。在简化图330中还示出了三组CS链接(每个模块4x)。
简化图330还示出了对第三模块302的读访问,标出了各个数据组{a,b,c,d,e,f}并且用箭头识别CS组。这种简化的格式用于描述下面描述的动态点对点(DPP)拓扑的各种改进结构。
写访问可类似于读访问,其在下面的示图中示出。箭头的方向可以反转,但是每个数据组将跟随相同的路径。为此,在这些简化图中仅示出了读访问路径。
图3B还示出了用于多点下传DQ链接和点对点CS链接的母板布线图案350。这与在更加详细的示图中针对这些链接示出的拓扑类似。该母板布线图案350用于描述下面描述的动态点对点(DPP)拓扑的各种改进结构。
下面的各个实施例描述了具有多种操作模式的存储模块。存储模块的这些实施例可以以第一模式来操作,在第一模式中,利用与连接至相同存储控制器的其他存储模块共享的多点下传数据链接,存储模块被插入到第一类型的存储通道中。存储模块还可以以第二模式进行操作,在第二模式中,如本文所述,点对点或点对多点数据链接不连接至其他存储模块。在一个实施例中,存储模块包括DRAM器件、连接至DRAM的DQ缓冲部件。一个DQ缓冲部件包括两个初级端口以在第一模式中耦合至两个多点下传数据链接以及在第二模式中耦合至两个数据链接。DQ缓冲部件还包括两个次级端口以耦合至两个DRAM器件。在另一实施例中,DQ缓冲部件包括三个初级端口以耦合至三个初级端口,从而在第一模式中耦合至三个多点下传数据链接以及在第二模式中耦合至三个数据链接,并且包括耦合至三个DRAM器件的三个次级端口。
第一模式可以是标准模式,而第二模式可以是增强模式。即,存储模块可以如本文所述以标准结构进行操作以及在本文描述的各种结构中的一种中进行操作。如参照图4、图5A和图5B所述,存储模块可以插入到2-SPC(插槽每通道)存储通道中,以及如参照图24、图25A、图25B和图25C所示,可以插入到3-SPC存储通道中。
2-SPC结构
图4是示出根据一个实施例的根据偶数或奇数半字节具有CPU槽401以及利用数据线耦合至CPU槽401的用于R+LRDIMM的两个DIMM槽402、404的2-SPC存储通道布线400的示图。对应于偶数半字节的第一集合的数据线406连接至DIMM槽402、404以及CPU槽401。对应于奇数半字节的第二集合的数据线408连接在两个DIMM槽402、404之间。即,一个DIMM槽的奇数半字节耦合至另一DIMM槽的奇数半字节。在1DPC或2DPC存储结构中,第一和第二集合的数据线406、408可以容纳针对72位宽DIMM的9个奇数半字节和9个偶数半字节。
2-SPC存储通道布线400还包括CS线410和专用总线412。下面参照图12A和图12B描述关于专用总线412的一个实施例的细节。
图5A是示出根据一个实施例的具有用一个R-LRDIMM 508填充的一个DIMM槽以及用连续DIMM(C-DIMM)506填充的另一DIMM槽的2-SPC DDR4通道500的示图。R-LRDIMM 508包括18个器件站点,其中每个站点都可以是单个存储部件或多个存储部件。为了易于描述,描述了2-SPC DDR4通道500中的两个器件站点512、514的数据线。第一器件站点512经由数据线516(偶数半字节)耦合至CPU 501。第二器件站点514经由数据线518(R+LRDIMM的奇数半字节至C-DIMM的奇数半字节)耦合至C-DIMM 506。C-DIMM 506使用内部迹线520将数据线518耦合至数据线522(其耦合至COU 501(奇数半字节))。
在图5A中,DQ缓冲部件530分别耦合在第一器件站点512和第二器件站点514与数据线516和518之间。DQ缓冲部件530用作在2-SPC DDR4通道500中具有一个R+LRDIMM 508的中继器。应该注意,通过CS1#(图5A中未示出)来限制C1[2:0]并且通过CS0#(图5A中未示出)来限制C0[2:0]。
图5B示出了根据一个实施例的具有用一个R+LRDIMM 508(1)填充的一个DIMM槽和用另一个R+LRDIMM 508(2)填充的另一DIMM槽的2-SPC DDR4通道550的示图。2-SPC DDR4通道550类似于2-SPC DDR4通道500,通过相似的参考标号来表示。然而,用第二R+LRDIMM 508(2)填充另一槽。R+LRDIMM 508(2)包括18个器件站点,其中每个站点都可以是单个存储部件或多个存储部件。为了易于描述,描述2-SPC DDR4通道550中的两个器件站点512、552的数据线。如上面参照2-SPC DDR4通道500所述,第一器件站点512经由数据线516(偶数半字节)耦合至CPU 501。第二器件站点552经由数据线522(奇数半字节)耦合至CPU 501。实际上,当两个槽用R+LRDIMM 508(1)、508(2)填充时,2-SPC DDR4通道500的第二器件站点514的位置被2-SPC DDR4通道550的第一器件站点552调换。应该注意,用于数据线518的电连接和DQ缓冲部件的内部数据线在母板和R+LDIMM上存在但没有使用。
在图5B中,DQ缓冲部件530用作多路复用器(MUX),其在2-SPC DDR4通道550中具有两个R+LRDIMM 508(1)、508(2)。应该注意,通过CS1#(图5A中未示出)来限制C1[2:0]并且通过CS0#(图5B中未示出)来限制C0[2:0]。
改进存储系统-结构A
图6A至图6C示出了根据一个实施例的具有第一结构A 600的改进存储系统,其具有3-SPC存储通道中的一个或两个存储模块602的不同组合。图6A和图6B示出了针对不同的模块容量{1,2,3}的6个读访问情况中的两个的简化示图620、630。以下描述用于3-SPC存储通道的其他读访问情况的其他简化图。图6C示出了用于该第一结构A 600的母板布线图案650。CS链接的拓扑与图3B相同,但是DQ链接拓扑不同。
在该母板布线图案650中,每个DQ链接将存储控制器604连接至第一模块插槽,并且仅连接至第二和第三模块插槽中的一个。第二和第三模块插槽上的其他DQ链接与不连接回到控制器604的母板线连接到一起。这是相对于图3A的标准存储系统的关键区别。每个DQ链接都是多点下传的,并且只有两个模块连接而不是三个。这对于DQ信号完整性给出改进。稍后示出其他结构,对于每个DQ链接上的模块连接具有单个点对点控制器。
参见图6A和图6B,两个两模块示图620、630示出了存储通道中的两个模块602的情况。在两种情况下,模块602占据第二和第三插槽,并且第一插槽保持为空。
两模块示图620示出了对第三模块602的读访问。用于第三模块602的CS组链接被确定,如箭头617所示。DQ缓冲部件615仅使能{a,c,e}位置中的器件站点606。专用总线622允许第三模块602上的CA-BUF部件(未示出)将其CS组与第二模块602上的CA-BUF(未示出)共享。下面描述该专用总线622的细节。第二模块602上的DQ缓冲部件615仅使能{b,d,f}位置中的器件站点606,允许执行剩余的读访问。
两模块示图630示出了对第二模块602的读访问。用于第二模块602的CS组链接被确定,如箭头619所示。DQ缓冲部件615仅使能{b,d,f}位置中的器件站点602。应该注意,存在在前一情况中没有访问的器件站点606。专用总线622允许第二模块602上的CA-BUF部件将其CS组与第三模块602上的CA-BUF共享。第三模块上的DQ缓冲部件615仅使能{a,c,e}位置中的器件站点606,允许执行剩余的读访问。注意,存在在前一情况中没有被访问的器件站点606。
改进存储系统-结构D
图7A至图7D示出了根据一个实施例的具有第二结构D 700的改进存储系统,其具有3-SPC存储通道中的一个或两个存储模块的不同组合。D结构700与A结构600的相似之处在于,访问利用来自多于一个模块702的DRAM,并且CS(芯片选择)必须经由专用总线722与其他模块702共享。结构D 700与结构A 600的不同之处在于,所有三个母板位置都使用DPP模块插槽;不使用非-DPP模块插槽(这还可以是下述结构E 800和F 900的情况)。此外,如图7C所示。结构D 700包括位于两个DQ缓冲部件715之间的专用总线724。
图7A和图7B示出了针对不同模块容量{1,2,3}的六种读访问情况中的两种的简化试图720、730。下面描述用于3-SPC存储通道的其他读访问情况的其他简化图。图7D示出了用于该第二结构D 700的母板布线图案750。CS链接的拓扑与图3B相同,但是DQ链接拓扑不同。
在该母板布线图案750中,六个数据组中的每一组(每一组都包括4xDQ链接和DQS±链接)都从存储控制器704路由至三个模块插槽。对于其他12个数据组额外重复两次该图案,并且用于CA、CK和CS链接的布线可类似于图3B所示的布线。
该母板布线示例仅仅是连接控制器和插槽位置的一种方式,存在可实现相同优势的其他路由组合。该结构的母板布线实施例共享每个母板布线(对于数据组)都具有点对点拓扑的特性,允许信号发送速率被最大化。
图7A和图7B均示出了具有占用中心和最右边的插槽的模块702的结构D。最左边的插槽包含连续模块719。所有访问均涉及每个模块702上的一些DRAM。
在模块702上访问的数据通过[1]连续模块719或[2]直接在母板线上在控制器704和DQ缓冲部件715之间流动。示图示出了用于读访问的数据方向。箭头示出了DRAM访问,并且箭头示出了通过连续模块的移动。
在一个实施例中,存储控制器704中的域交叉逻辑(参见图22)具有被分别调整并且被保持以说明路径差异的用于每个数据组的DLY0.5和DLY123[1:0]值。可选地,控制器704可使用FIFO(先入先出)结构用于执行该域交叉。这可以适应每一种容量情况下的用于18个数据组的路径差异。可选地,通过不同的折中,存在可用于域交叉逻辑的其他功能等效电路。
应该注意,在图7A和图7B的两个示图中,对于两个访问情况来说,DRAM到控制器702上的数据组的映射是不同的。由于相同DRAM的读和写访问使用相同的映射并且针对不同DRAM的映射可以不同而不影响存储子系统,所以这是不存在问题的。
改进存储系统-结构E
图8A至图8D示出了根据一个实施例的具有第三结构E 800的改进存储系统,其具有3-SPC存储通道中的一个或两个存储模块的不同组合。E结构800与D结构800的相似之处在于,访问利用来自多于一个的模块802的DRAM,并且与其他模块802共享CS信息。结构E800与结构D 700的不同在于,连接至中心DQ-BUF部件815的器件站点806A、806B还分别在其他DQ-BUF部件815的边缘上连接至专用总线824A、824(如图8C所示)。
图8A和图8B示出了用于不同模块容量{1,2,3}的六种读访问情况中的两种的简化图820、830。以下描述用于3-SPC存储通道的其他读访问情况的其他简化图。图8D示出了用于该第三结构E 800的母板布线图案850。CS链接的拓扑与图3B所示的相同,但是DQ链接拓扑是不同的。
在该母板布线图案850中,六个数据组中的每一组(每一组都包括4xDQ链接和DQS±链接)都从存储控制器704路由至三个模块插槽。对于其他12个数据组,重复两次该图案,并且用于CA、CK和CS链接的布线可以类似于图3B所示的布线。
图8A和图8B均示出了具有占用中心和最右边的插槽的模块802的结构E。最左边的插槽包含连续模块819。所有访问均涉及每个模块802上的一些DRAM。此外,图8A和图8B中的结构E的示图类似于结构D的示图。
改进存储系统-结构F
图9A至图9D示出了根据一个实施例的具有第四结构F 900的改进存储系统,其具有3-SPC存储通道中的一个或两个存储模块的不同组合。F结构900与D结构900的相似之处在于,访问利用来自多于一个的模块902的DRAM,并且CS(芯片选择)必须与其他模块902共享。结构F 900与结构D 700的不同在于,如图9C所示,DQ缓冲部件915均连接至三个初级组链接和三个次级组连接。一对中的每个DQ缓冲部件915还具有针对其他部件的私用端口。
图9A和图9B示出了用于不同模块容量{1,2,3}的六种读访问情况中的两种的简化图920、930。以下描述用于3-SPC存储通道的其他读访问情况的其他简化图。图9D示出了用于该第四结构F 900的母板布线图案950。CS链接的拓扑与图3B所示的相同,但是DQ链接拓扑是不同的。
在该母板布线图案950中,六个数据组中的每一组(每一组都包括4xDQ链接和DQS±链接)都从控制器路由至三个模块插槽。对于其他12个数据组,重复两次该图案,并且用于CA、CK和CS链接的布线可以类似于图3B所示的布线。
图9A和图9B均示出了具有占用中心和最右边的插槽的模块902的结构F。最左边的插槽包含连续模块919。所有访问均涉及每个模块902上的一些DRAM。此外,图9A和图9B中的结构F的示图类似于结构E的示图。
改进存储系统-结构B
图10A至图10D示出了根据一个实施例的具有第五结构B 1000的改进存储系统,其具有3-SPC存储通道中的一个或两个存储模块1002的不同组合。图10A和图10B示出了用于不同模块容量{1,2,3}的六种读访问情况中的两种的简化图1020、1030。以下描述用于3-SPC存储通道的其他读访问情况的其他简化图。图10C示出了用于该第五结构B 1000的母板布线图案1050。CS链接的拓扑与图3B所示的相同,但是DQ链接拓扑是不同的。
图10D示出了用于第五结构B的母板布线图案1050。该布线图案与图6a至图6e中的结构A所使用的布线图案相同。CS链接的拓扑与图3B所示的相同,但是DQ链接拓扑是不同的。每个DQ链接均将存储控制器1004连接至第一模块1002,但是仅连接至第二和第三模块1002中的一个。第二和第三模块插槽上的其他DQ链接都与不连接回到控制器1004的母板线连接到一起。这是相对于图3A的标准系统的关键区别。每个DQ链接都是多点下传的,但是仅具有两个模块连接而不是三个。这对于DQ信号完整性给出改进。示出了具有单个点对点控制器到每个DQ链接上的模块连接的其他结构。
参照图10A和图10B,两个两模块示图1020、1030示出了存储通道中的两个模块1002的情况。在两种情况下,模块1002占据第二和第三插槽,并且第一插槽保持为空。
两模块示图1020示出了对第三模块1002的读访问。用于第三模块1002的CS组链接被确定,如箭头1017所示。DQ缓冲部件1015仅使能{a,b,c,d,e,f}位置中的器件站点1006。应该注意,这不同于结构A 600中的等效情况。专用总线1122允许第三模块1002上的CA-BUF部件(未示出)与第二模块1002上的CA-BUF部件(未示出)通信。以下描述专用总线1022的细节。第二模块上的DQ缓冲部件1015使能用于{b,d,f}位置的旁路路径1024,允许读访问的部分被传送至控制器1004。以下描述该旁路路径1024的细节。应该注意,仅需要单个位被传输以表示结构B 1000中的第二模块中的旁路操作,而不是结构A 600中的整个CS组。此外,旁路总线可以包括针对数据线的数据连接和针对控制线的控制连接。
两模块示图1030示出了对第二模块1002的读访问。用于第二模块的CS组链接被确定,如箭头1019所示。DQ缓冲部件1015使能{a,b,c,d,e,f}位置中的器件站点1006。应该注意,这不同于结构A中的等效情况。专用总线1022允许第三模块1002上的CA-BUF部件(未示出)与第二模块1002上的CA-BUF部件(未示出)共享其CS组。以下描述专用总线1022的细节。第三模块上的DQ缓冲部件1015使能用于{a,c,e}位置的旁路路径1026,允许读访问的部分被传送至控制器1004。以下描述该旁路路径的细节。类似地,单个位可以被传输以表示第三模块中的旁路操作,而不是如结构A 600中的整个CS组。
改进存储系统-结构C
图11A至图11C示出了根据一个实施例的具有第六结构C 1100的改进存储系统,其具有3-SPC存储通道中的一个或两个存储模块的不同组合。
C结构1100与B结构1000的相似之处在于,访问利用来自单个模块的DRAM,并且在其他模块1102上要求旁路路径。结构C 1100与结构B 1000的不同在于,所有三个母板位置都使用DPP模块插槽;不使用非DPP模块插槽(这还针对结构D 700、结构E 800和结构F 900的情况)。
图11A和图11B示出了用于不同模块容量{1,2,3}的六种读访问中的两种的简化图1120、1130。以下描述用于3-SPC存储通道的其他读访问情况的其他简化图。图11C示出了用于该第六结构C 1100的母板布线图案1150。CS链接的拓扑与图3B相同,但DQ链接拓扑是不同的。
在该模板布线图案1150中,六个数据组(每一组都包括4xDQ链接和DQS±链接)中的每一组都从存储控制器1104路由至三个模块插槽。对于其他12个数据组,重复两次该图案,并且用于CA、CK和CS链接的布线可以类似于图3B所示。
图11A和图11B均示出了占用中心和最右边的插槽的模块1102的结构C。最左边的插槽包含连续模块1119。所有访问均涉及单个存储模块1102上的DRAM。
在最右边的模块上访问的数据可以通过[1]连续模块1119或[2]其他未选择模块上的DQ-BUF中的旁路路径1124在控制器1104和DQ缓冲部件1115之间流动。示图示出了读访问的数据方向。箭头示出了DRAM访问,包括通过连续模块1119的移动和通过旁路路径1124的移动。旁路路径1124可具有数据线以及控制线。
对于图11A和图11B中的所有这些情况,每个访问仅使用单个模块1102上的DRAM。第一种结果是,没有芯片选择信息需要与其他未选择模块1102共享。第二种结果是,未选择模块(其DRAM并非正在被访问)被代替用于提供通过其DQ缓冲部件1115的旁路路径1124(除了下面所述的单个模块容量情况)。旁路路径1124可以在下面描述的各种方式中实施。
用于共享CS的专用总线
图12A是示出根据一个实施例的用于在存储模块之间共享CS信息的专用总线1200的框图。
例如,用于共享CS信息的专用总线被添加至图3B的链接细节。可选地,专用总线可以添加至其他链接结构。
专用总线使用未分配的模块管脚以将母板线连接至每个模块。该示例使用四个未分配管脚。母板布线将三个模块连接到一起,但是不连接至控制器。注意,被分配但在结构A和B中没有使用的模块管脚也可以用于专用总线。
图12B是根据一个实施例的用于共享CS信息的专用总线的定时图1250。图12B示出了三个模块中的每一个上的从控制器到CA-BUF部件的初级CA链接上的命令(WR写命令)的传送。12个CS链接在相同的时隙中承载选择信息,12个链接中的一个被确定以指示排序和模块。
CA和CS链接的定时是单数据速率,也称为“1T”定时。可选地,可以使用“2T”定时,在每一个情况下,每个命令都占用两个时钟周期而不是一个。
由初级CS链接选择的CA-BUF在以下周期中在私用CS总线上传输。
两个未选择的模块接收该信息,使得它们可以协调两个模块上的DRAM的动作,如图6A和图6B中的结构A 600所要求的。
模块上的CA-BUF部件在下一周期中重新发射命令和修改CS信息到次级链接上。相对于使用标准多点下传拓扑或DQ链接的系统来说,CS共享动作要求等待时间的附加时钟周期。
在图10A和图10B中的结构B的情况下,每个命令都被驻留在单个模块上的DRAM解释,使得不需要如图6A和图6B的结构A 600一样共享CS选择信息。
结构B 1000使用未选择模块来协调用于列访问命令的旁路操作。然而,旁路操作不发生,直到在列访问的命令-数据延迟(通常为8-12个时钟周期)之后。因此,结构B 1000可以不增加命令管道的等待时间,尽管其仍然要求专用总线来将旁路信息从选择模块发送至未选择模块。这种情况在附图中没有示出,但是可以使用与所示类似的定时和逻辑。还可以使用从控制器到未选择模块的管芯上终端(ODT)使能信号,以使能各个未选择模块的DQ-BUF中的旁路。
图12C是示出根据一个实施例的用于共享CS信息的CA缓冲部件1260的框图。图12C示出了可用于支持专用总线的附加逻辑的一个实施例。初级CK链接提供用于CA-BUF部件的定时信号。PLL/DLL反馈环路确保内部时钟与输入管脚处接收的时钟紧密相位匹配。次级CK链接采用类似的PLL/DLL反馈环路以确保传输的时钟与内部时钟紧密相位匹配。利用在内部时钟的正边缘上加载的寄存器来接收初级CA和CS链接。寄存的CS值被检查来确定四位中的一位是否被确定,表示该模块上的排序被选择(使用四输入OR门)。
如果是,则在时钟的下一下降沿上针对一个周期确定输出使能控制信号。这使得四个寄存的CS位与两位模块地址一起在私用共享总线上传输。
通过其他两个未选择的模块接收六位共享CS信息,并且在它们的内部时钟的下一正边缘上加载到寄存器中。
假设模块足够接近,所选模块和未选择模块的内部时钟之间的歪斜相对较小。这种歪斜可以在用于该总线的发射器边缘和接收器边缘之间的裕度的1/2周期中被吸收。
六个共享CS位与四个初级CS位合并成最终的6位值,其可以在次级链接上被传输(具有命令)。六位次级值可以使得被选择模块和未选择模块在器件的所选排序中执行命令。
可以从上述六位格式修改私用CS总线和次级CS总线。例如,四个解码(独热)CS位可以被编码成两位值,并且四个模块地址中的一个可以被预留为NOP(不操作)。这可以分别将CS总线和次级CS总线的大小减小到四位。可选地,可以在专用总线上原样(即,不编码)发送独热CS信号。
图13是根据一个实施例的标准和1DPC模式中的CA缓冲部件操作1300的框图。CPU槽1301用CPU填充,包括存储控制器。第一DIMM槽1302(槽0)用连续模块1319填充,并且第二DIMM槽1304(槽1)用具有CA缓冲部件1350的存储模块填充。第二DIMM槽1304中的存储模块包括多个器件站点1360。器件站点1360均可以包括单个存储部件或多个存储部件。这些存储部件可以是DDR4DRAM器件,并且存储模块可以是R+LRDIMM。可选地,存储部件可以是标准结构中的标准存储部件。应该注意,为了清楚图13示出了单排序LRDIMM,但是类似的数据和控制线可连接至其他器件站点1360。
CA缓冲部件1350包括初级接口,其具有:第一管脚1311,耦合至控制线1312以接收本地芯片选择(CS)信号(CS1#);以及第二管脚1307,耦合至专用总线的控制线1313以接收或发送通过连续模块1319CS0#传送的CS信号的副本,这在下面进行描述。这可以认为是远程CS信号。CA缓冲部件1350包括次级接口以选择一个或多个器件站点1360。当在第一管脚1311上接收本地CS信号时(针对槽1),CA缓冲部件1350选择器件站点1360。
在又一实施例中,CA缓冲部件1350包括:耦合至第一管脚1311的多个触发器,其通过定时信号1347定时。定时信号1347可以由锁相环(PLL)1345生成,其耦合至第四管脚1309,第四管脚在控制线1314上接收来自CPU 1301的时钟信号(CLK1)。CA缓冲部件1350还包括耦合至第一触发器的输出的输出缓冲器。输出缓冲器的输出耦合至第二管脚1307。输出缓冲器1341在第二管脚1307上生成第二远程CS信号(例如,CS_COPY#)。输出缓冲器向其他槽中的一个或多个其他模块重新发射如第二管脚1307上的远程CS信号的在第一管脚1311上接收的本地CS信号。由于槽0被连续模块1319填充,所以不使用远程CS信号。在单个排序DIMM结构中,对于本地CS信号来说,存在通过CA缓冲部件的1时钟等待时间。
尽管图13示出了两个DIMM槽1319、1302以及每个DIMM槽仅四个器件站点,但在其他实施例中,可以使用多于两个的DIMM槽以及每个DIMM槽可以使用多于四个的器件站点。图13还示出了单器件存储站点,但是在其他实施例中,如本文所述可以使用多器件存储站点。
图14是根据一个实施例的用于将CS信息重新驱动至其他存储模块的CS共享逻辑1400的框图。CS共享逻辑1400类似于上面参照图13描述的CA缓冲部件中的CS共享逻辑(通过类似的参考标号表示),除了槽0用具有CA缓冲部件1450和器件站点1460的第二存储模块1402填充之外。器件站点1460均可以包括单个存储部件或多个存储部件的每一个。这些存储部件可以是DDR4DRAM器件,并且存储模块可以是R+LRDIMM。可选地,存储部件可以是标准结构中的标准存储部件。应该注意,图13为了简化示出了两排序LRDIMM,但是类似的数据和控制线可连接至其他器件站点1460。
CA缓冲部件1450包括初级接口,其具有:第一管脚1411,耦合至控制线以接收本地芯片选择(CS)信号(CS0#);以及第二管脚1407,耦合至专用总线的控制线1313以接收来自CA缓冲部件1350的CS信号的副本。这可以认为是远程CS信号。CA缓冲部件1450包括次级接口以选择一个或多个器件站点1460。当在第一管脚1411上接收本地CS信号时,CA缓冲部件1450选择一些器件站点1460,以及当在第二管脚1407上接收远程CS信号时,选择一些器件站点1460。在两排序DIMM结构中,对于本地CS1信号来说具有通过CA缓冲部件1350的2时钟等待时间,以及对于远程CS1信号来说存在通过CA缓冲部件1350和CA缓冲部件1450的2时钟等待时间。从槽1输入失败(input flop)到槽0输入失败的等待时间小于1时钟周期。
尽管图13示出了两个DIMM槽以及每个DIMM槽仅四个器件站点,但在其他实施例中,可以使用多于两个的DIMM槽并且可以使用每个DIMM槽多于四个器件站点。图13还示出了单器件存储站点,但是在其他实施例中,可以如本文所述使用多器件存储站点。
在另一实施例中,CS共享逻辑可以被配置用于其他定时结构。在一个实施例中,CS共享逻辑被配置为:对于本地CS1信号来说存在通过CA缓冲部件1350的3时钟等待时间以及对于远程CS1信号来说存在通过CA缓冲部件1450的3时钟等待时间。从槽1输入失败到槽0输入失败的等待时间大于1时钟周期且小于1.5时钟周期。在另一实施例中,CS共享逻辑被配置为,对于本地CS1信号来说存在通过CA缓冲部件1350的3时钟等待时间以及对于远程CS1信号来说存在通过CA缓冲部件1350和CA缓冲部件1450的3时钟等待时间,但是从槽1输入失败到槽0输入失败的等待时间大于1.5时钟周期且小于2时钟周期。
图15是根据另一实施例的广播解决方案的框图。在该解决方案中,在槽0 1502与槽1 1504之间使用私用双向总线1514。CPU槽1501分别向槽发送初级CS和CK信号,并且所选槽向其他未选择的槽广播CS和CK信号的副本。专用总线1514使用6DDR RDIMM连接器管脚,例如其他功能管脚,诸如在标准LRDIMM模式中使用但是可以不用于R+LRDIMM模式的OF[0:0]。用于CS和CKE广播的等待时间(1或2个时钟)取决于数据速率。可以通过在CA缓冲部件中的模式寄存器(本文也称为RCD模式寄存器)中设置来控制等待时间设置。
图16是根据一个实施例的用于图15的广播解决方案的具有逻辑1602的CA缓冲部件1600的框图。CA缓冲部件1600可以通过BIOS编程,使其在标准模式或R+模式(增强模式)下操作。在R+模式中,一些信号线被用作附加CS信号,同时其他信号线被用作附加CKE输入。CA缓冲部件1600向现有边带信号上的DQ缓冲部件发送结构信息和MUX控制信号。
图17是示出根据另一实施例的用于在存储模块之间共享CS信息的专用总线1700的框图。代替被初级CS信号选择的模块上的CA-BUF部件在专用总线上向其他模块上的CA-BUF部件传输CS,使用母板上的T拓扑布线将初级CS信号连接至多个DIMM槽。在图17中,存在具有两个模块1702、1704的存储系统,其中每个模块接收来自控制器的四个初级CS信号(针对第一模块的CS[3:0]和针对第二模块的CS[7:4])。
八个CS信号在母板衬底上连接至位于两个模块的连接器之间(在母板上)的结节点1706。然后,每个节点连接至一个连接器上的匹配CS管脚和其他连接器上的未使用模块管脚。因此,来自控制器的CS[0]信号连接至第一模块的CS[0]管脚和第二模块的未使用管脚。类似地,来自控制器的CS[4]信号连接至第二模块的CS[0]管脚和第一模块的未使用管脚。然后,以相同方式在两个模块上终止CS信号。
如果从模块管脚到结节点1706的线的阻抗为从结节点到控制器的线的阻抗的两倍,则T拓扑对于控制器来说是透明的,因为从控制器到两个模块管脚的线看起来是具有恒定阻抗的单条线。实际上,不可以实现两倍的线阻抗。在这种情况下,从结节点到模块管脚的线的阻抗被制造为大于从控制器到结节点的线的阻抗。
在该实施例中,用于图12A所示实施例中的专用总线的模块管脚被用于T拓扑布线。
在另一实施例中,BA-BUF部件被设计为利用2T定时来操作次级CA链接。在该模式中,CA-BUF在次级CA链接上传输用于第一和第二时钟周期(即,用于2个时钟周期)的地址(例如,A[16:0]、BA[1:0]、BG[1:0]等)和命令(例如,ACT、RAS、CAS、WE等),同时仅在第二时钟周期上传输次级CS信号。
图18是根据一个实施例的具有图17的广播解决方案的逻辑的寄存器1804的框图。CA缓冲部件1802包括寄存器1804和DQ缓冲接口命令解码器以向现有边带信号上的DQ缓冲部件发送MUX控制信号。寄存器1804可以通过BIOS编程,使其在标准模式或R+模式(增强模式)下操作。在R+模式中,一些信号线被用作附加CS信号,同时其他信号线被用作附加CKE输入。CA缓冲部件1600向现有边带信号上的DQ缓冲部件发送结构信息和MUX控制信号。
图19是根据一个实施例的用于两槽DPP的DQ缓冲部件1900的框图。DQ缓冲部件1900包括多路复用器1902、控制逻辑1904和同步器1906。多路复用器1902耦合至多个输入端口:IN_PORTA和IN_PORTB。多路复用器1902接收第一半字节,包括数据信号S_DQ[3:0]以及定时信号S_DQS0和S_DQS0#。应该注意,如本文所使用的,半字节是指数据信号和对应的定时信号,因此为6位。多路复用器1902接收第二半字节,包括数据信号S_DQ[7:4]以及定时信号S_DQS1和S_DQS1#。在又一实施例中,多路复用器1902接收第三半字节,包括数据信号S_DQ[11:9]以及定时信号S_DQS2和S_DQS2#(未示出)。第三端口可用于一些SPC结构,但是这些管脚可以不需要用于一些结构。应该注意,多路复用器1902是双向多路复用器,诸如2:1多路复用器和1:2解复用器。
如上所述,边带信号1901可以由CA缓冲部件生成。控制逻辑1904接收边带信号1901以控制多路复用器1902和同步器1906。同步器1906同步在第一和第二端口(OUT_PORTA、OUT_PORTB)上输出的数据。例如,同步器1906可以在第一端口上输出数据信号(例如,P_DQ[3:0])和定时信号1911(例如,P_DQS0和P_DQS0#),并且可以在第二端口上输出数据信号(例如,P_DQ[7:4]和定时信号1913(例如,P_DQS1和P_CDQ1#)。
用于存储系统的域交叉细节
如本文所述,专用总线向其他两个未选择模块分配选择信息,使得它们可以参与访问。
图20是示出根据一个实施例的存储系统的域交叉逻辑2000的框图。图20示出了用于数据组(例如,4xDQ和2xDQS)的写(WR)和读(RD)路径。初级链接和次级链接连接至双向输入-输出焊盘,但是在缓冲部件内,WR和RD路径是单向的。尽管在图20中示出了WR路径,但是RD可以近似相同,除了所指出的一些差异之外。
接收DQS链接并利用称为DQS-EN的信号来选通。在缓冲部件的时钟(CK)域中生成DQS-EN,并且响应于列写入命令来接通。选通的DQS在DQ焊盘上利用写数据来加载两个寄存器,诸如在上升和下降DQS边缘上。这些寄存器在图中被标为“采样器”。写数据在DQS域中。选通DQS还在写传送期间对DQS的每个上升边缘上对内部时钟和90度延迟时钟进行采样。最后的采样值是SKP[1:0],并且可以被延迟调整逻辑所使用。采样数据现在被传送至CK域中的寄存器(利用交叉影线示出)。对于最小延迟情况,数据经过相位调整框中的多路复用器和周期调整框中的多路复用器,并且通过周期调整框中的两个寄存器来定时。寄存数据利用输出多路复用器和触发器来传输,并且可以与DQ缓冲部件的CK域对齐。在CK域中生成使能信号OUT-EN并且接通输出驱动器。
相位调整和周期调整框中的多路复用器可以设置为其他选择值来提供更多延迟。这可以允许延迟调整逻辑框自动地跟踪DQS定时漂移,使得系统的总体定时是恒定的。
注意,相位调整框和周期调整框中的寄存器放置不需要反映最好的电路实施例。为了简化以这种方式示出。在实际电路中,寄存器可以划分为半锁存器以得到最佳的可能定时裕度。
类似电路可用于读路径。原则差异在于,DQS定时信号可以不与数据中心对齐(如利用写路径),但是可以与数据边缘对齐。因此,在对读数据进行采样之前,90°延迟需要被插入到选通DQS的路径中。此外,在用于DQS的输出多路复用器的CK的路径中可以不具有90°延迟。这还意味着SKP[1:0]利用选通DQS和延迟90°的选通DQS来采样CK。
应该注意,90°延迟通常可以通过创建由用于DQ缓冲部件的锁相环(PLL)或延迟锁定环(DLL)使用的延迟元件的镜像(副本)来实施。
返回到图20,存储系统包括中心模块上的控制器部件2004、DQ-BUF部件2002和CA-BUF部件2008以及DRAM部件2006。
CA、CS和CK初级链接从控制器2004连接至CA-BUF部件。CA、CS和CK初级链接被CA-BUF部件2008接收并且在模块上的次级链接上被重新发射。
次级链接可以直接被DQ缓冲部件2002和DRAM 2006接收(选项1),或者它们可以被DQ缓冲部件2008接收且在第三链接上重新发射至DRAM 2006(选项2)。选项1可以具有稍低的等待时间,但是可以要求用于写数据的一些定时调整。选项2可以使CA缓冲部件2008与DRAM 2006处的写数据之间的歪斜最小化。任一选项可以利用本文公开的大容量方法工作。
假设控制器部件2004、CA-BUF部件2008和DQ缓冲部件2002都使用PLL或DLL技术来使它们的内部时钟树与链接上接收和发射的定时信号之间的歪斜最小化。然而,定时信号可以随着它们在部件之间的链接上传播而累积延迟。当两个时钟域交互时,由于它们的定时信号行进的不相等传播路径,它们可以具有相对歪斜。可以通过向从一个域传输至另一个域的信号提供补充延迟来适应该相对歪斜。
每个DQ缓冲部件2002具有两个DQ路径,每一个都连接至初级侧上的DQ链接组和次级侧上的DQ链接组。每个次级链接组(4xDQ和2xDQS)连接至具有一个至四个DRAM 2006的x4器件站点。其他实施例可以使用更宽的DRAM 2006,其中两个或更多个DQ链接组连接至相同器件或器件站点。
在图的左侧,WR路径在控制器部件中开始。从控制器时钟域发射写数据及其定时信号。写数据及其定时信号在DQ-BUF部件2002上被接收和采样。域交叉块执行相位和周期调整,使得写数据可以被传输至DQ缓冲部件的内部时钟域。
从这开始,写数据被重新发射至DRAM 2006,在那里被接收和采样。写数据与DRAM2006上的CK域之间的歪斜可以较小,因为两个信号都在相似路径上从DQ-BUF部件2002的时钟域行进(假设选项2)。因此,DRAM 2006不要求DQ-BUF部件2002需要的域交叉调整的幅度。
在图的右侧,RD路径在DRAM部件中开始。从DRAM时钟域发射读数据及其定时信号。在DQ-BUF部件2002上接收和采样读数据及其定时信号。域交叉块执行相位和周期调整,使得读数据可以传输至DQ缓冲部件2002的内部时钟域。
从这里开始,读数据被重新发射至控制器2004,在那里被接收和采样。读数据与控制器上的时钟域之间的歪斜可以较大,这是因为存在去往DRAM 2006并返回的大环回时延(large round trip delay)。因此,域交叉块执行相位和周期调整,使得读数据可以传输至控制器部件的内部时钟域。
DQ缓冲部件中的附加RD/WR路径
图21A是示出根据一个实施例的用于结构A和结构B的具有两个初级和两个次级端口之间的读和写路径的DQ缓冲部件2100的框图。这允许WR数据从两个初级链接组的任一个传输至两个次级链接组中的任一个。这还允许RD数据从两个次级链接组中的任一个传输至两个初级链接组中的任一个。
这通过在每个读路径和每个写路径(总共四个)的域交叉块的前方添加2-1多路复用器来实现。通常,每个直接路径和每个可选路径可以需要用于各种域交叉组合的DLY0.5和DLY123[1:0]的其自身集合。
DQ缓冲部件中的同步旁路
如上所述,如图21B、图21C和图21D所示,旁路路径1124可以以各种方式来实施。
图21B是示出根据一个实施例的用于结构B的具有位于两个初级端口之间的同步读和写旁路路径的DQ缓冲部件2110的框图。向图23A中的每个初级多路复用器给出第三输入,这允许RD/WR数据从一个初级链接组传送至另一个。通常。每个直接路径、每个可选路径和每个旁路路径可以具有用于各种域交叉组合的DLY0.5和DLY123[1:0]的自身集合。
第一方法是同步的,并且可以涉及再同步旁路数据。这通过将初级接收器的定时输出路由至其他初级发射器的多路复用器来实施。在该路径中包括时钟域交叉逻辑。
应该对于该方法保持两个初级端口之间的域交叉所需的控制寄存器状态(例如,这可以是在每次传送更新后更新的DLY0.5和DLY123[1:0])。
DQ缓冲部件中的主动异步旁路
图21C是示出根据一个实施例的用于结构B的在两个初级端口之间具有主动异步读和写旁路路径的DQ缓冲部件2140的框图。这种增强是图21B所示增强的可选。图21B中的每个初级发射器都给出2-1多路复用器,这允许在其他初级接收器上接收的数据被直接重新发射而不需要同步。这种方法的一个可能优势是等待时间,因为与DQ缓冲部件的内部时钟域不存在同步。一个可能的缺陷是,在异步延迟中可能具有更多的可变性,并且这可能需要在控制器或缓冲部件(其最终对信号进行采样)的延迟调整的范围中适应。
第二方法是异步的,并且涉及仅使用接收器和发射器的非锁定元件以提供旁路数据的放大,但是不重新同步。
DQ缓冲部件中的被动异步旁路
图21D是示出根据一个实施例的用于结构B的在两个初级端口之间具有被动异步读和写旁路路径的DQ缓冲部件2160的框图。这种增强是图21B和图21C所示增强的备选方案。图21C中的初级组中的每个链接都利用大传输晶体管耦合至其他初级组中的对应链接。这使得一个初级链接组上到达的数据直接传播通过其他初级链接组而不需要同步。该方法的一个可能优点是等待时间,因为不需要与DQ缓冲部件的内部时钟域同步。一个可能的缺陷是,在异步延迟中可能具有更多的可变性,并且这可能需要在控制器或缓冲部件(最终对进行进行采样)中的延迟调整的范围中适应。还可能还存在信号完整性问题,因为通过传输晶体管可能会损失和失真。
第三方法是异步的,并且涉及使用串行传输模式(series-pass mode)中的晶体管。该模式意味着初级母板线与低阻连接耦合而没有放大和再同步。
即使没有芯片选择信息需要与其他DPP模块共享,仍然需要提供少量的信息来控制旁路路径。与图12A所示类似的电路可用于此。
少量的信息需要被传输(通常每次访问一位),并且稍后在访问中传输信息,使得访问等待时间不被影响。
图22是根据一个实施例的用于两插槽DPP的存储模块卡2200。存储模块卡2200可以是R+LRDIMM,其包括多个DRAM器件2206(例如,18个DRAM)、CA缓冲部件2002和多个DB缓冲部件2204(例如,9个DB)。在原始卡上具有新信号(例如,总共8XCS+4XCKE以及RFU[1:0](2xRFU))。在一个实施例中,R+LRDIMM可以类似于标准LRDIMM,但是具有一些修改。这些修改可以包括路由至DRAM的1个附加CKE和2个附加CS#信号以及其他C/A信号。连接器上的RFU[1:0]管脚也可以路由至R+LRDIMM上的CA缓冲部件(RCD),并且较大的RCD封装可用于容纳14个新信号管脚(2个在初级侧,12个在次级侧)。
图23示出了根据一个实施例的增强模式(R+)和标准模式中的存储模块的LRDIMM操作。图23包括表示在标准模式和增强模式下的R+LRDIMM中的CS和CKE信号映射的表格。
上述实施例涉及2-SPC存储通道布线和3-SPC存储通道布线中的1-DPC和2-DPC存储结构。这些存储结构中的一些具有未使用的插槽,并且一些存储结构使用本文所述的连续模块。以下简要描述用于新R+LRDIMM的3-SPC存储通道布线中的1-DPC、2-DPC和3-DPC存储结构的实施例。
3-SPC结构
图24是示出根据一个实施例的3-SPC存储通道布线2400,其根据半字节集合具有CPU槽2401以及利用数据线耦合至CPU槽2401的用于R+LRDIMM的三个DIMM槽2402-2404。三个DIMM槽2402-2404中的数据线2406的第一集合连接至CPU槽2401。数据线2408的第二集合连接在第二和第三DIMM槽2403-2404之间。数据线2410的第三集合连接在第一和第三DIMM槽2402、2404之间。第四集合的线(专用总线2412)连接在第一和第二DIMM槽2402、2403之间。仅用于一个24位宽片段的数据线被标出,但是如以下参照图25A至图26C所描述的,第一、第二、第三和第四集合的数据线可以容纳用于1DPC、2DPC和3DPC存储结构的18个半字节。
3-SPC存储通道布线2400还包括CS线(未示出)和专用总线2412。本文描述关于专用总线的细节。在该实施例中,槽1和2是为DPP布线的DIMM槽,以及槽0是并联连接的DIMM槽。
图25A示出了根据一个实施例的具有1R+LRDIMM的3插槽DDR4通道2500。CPU槽2501耦合至3插槽DDR4通道2500。3插槽DDR4通道2500具有一个空的DIMM槽2503、用连续模块2519填充的一个DIMM槽以及用一个R+LRDIMM填充的第三DIMM槽2502。在第二和第三槽之间耦合专用总线2514。示出了72位宽DIMM的24位片段,但是其他片段的布线相同。R+LRDIMM2502的片段包括6个器件站点,其中每个站点都可以是单个存储部件或多个存储部件。
在图25A中,DQ缓冲部件分别耦合在第一器件站点和第二器件站点614与数据线之间。第二DQ缓冲部件耦合在第三器件站点和数据线之间。在另一实施例中,DQ缓冲部件耦合至三个器件站点(在图25A中未示出)。电连接可以通过D-DIMM 2519。
图25B示出了根据一个实施例的具有2R+LRDIMM的3插槽DDR4通道2520。根据一个实施例,3-SPC DDR4通道650具有用R+LRDIMM 2502、2522填充的两个DIMM槽和另一个空的DIMM槽。3-SPC DDR4通道2520类似于3-SPC DDR4通道2500,如由相似参考标号所表示的。然而,第二槽用第二R+LRDIMM 2522填充。R+LRDIMM 2522的对应片段包括六个器件站点,其中每个站点都可以是单个存储部件或多个存储部件。在第二和第三槽之间耦合专用总线2514。示出了72位宽DIMM的24位片段,但是其他片段可以相同布线。
图25C示出了根据一个实施例的具有3R+LRDIMM的3插槽DDR4通道2540。3-SPCDDR4通道2540具有用R+LRDIMM 2502、2522、2532填充的三个DIMM槽。3-SPC DDR4通道2540类似于3-SPC DDR4通道2500、2520,如通过相似参考标号所表示的。然而,第一槽用第三R+LRDIMM 2532填充。R+LRDIMM 2532的对应片段包括六个器件站点,其中每个站点都可以是单个存储部件或多个存储部件。应该注意,用于一些数据线的电连接存在于母板和R+LRDIMM上,但是不被使用。类似的数据线可用于连接该片段中的其他半字节的三个R+LRDIMM 2502、2522、2532的其他器件站点。在第二和第三槽之间耦合控制线的专用总线2514。示出了72位宽DIMM的24位片段,但是其他片段的布线相同。
在一些实施方式中,DDR4R+LRDIMM要求存储通道中的所有CS#和CKE信号被广播至通道中的所有DIMM槽(或DIMM插槽或模块插槽)。利用DPP,每个数据信号都仅连接至一个R+LRDIMM。在具有多个R+LRDIMM的通道中,每个和每一个R+LRDIMM都响应于读或写操作。DDR4规则允许每个DIMM槽多达8个排序。在一个实施方式中,对于单个排序(SR)DIMM来说,通过CS0#、CKE0和ODT0来控制排序0,对于双排序(DR)DIMM来说,通过CS1#、CKE1和ODT1来控制排序1,以及对于四排序(QR)或八排序(OR)DIMM来说,通过C[2:0]、CS#、CKE和ODT来控制排序。CS#信号可以是1周期信号并且仅连接至一个DIMM槽,并且将CS#广播至所有DIMM槽会违反寄存器设置和保持时间。下面描述的实施例使用在DDR4RDIMM规则中定义为非连接(NC)或非功能(NF)的管脚在存储通道中的DIMM槽之间创建私用共享总线。每个DIMM槽中的ODT管脚都可以任选地被用于专用总线,因为所有DQ网总是点对点的。CA缓冲部件(也称为CA寄存器)可以被修改用于利用本地CS信号(本地CS#)和时钟标记(CKE)信号以及远程CS信号(远程CS#)和CKE信号进行操作。本地CS信号是直接从存储控制器(MC)接收的信号,以及远程信号是来自专用总线上的另一DIMM连接器的信号。CA缓冲部件不同地处理本地CS信号和远程CS信号。例如,在一个实施例中,本地信号在被驱动至DRAM器件之前经过两个触发器,其中远程信号在被驱动至DRAM器件之前经过1个触发器。
结构A(3-SPC)
图26A和图26B示出了根据一个实施例的具有第一结构A的改进存储系统,其具有3-SPC存储通道中的一个或三个存储模块的不同组合。
参照图26A,三模块示图2620示出了结构A中的单个模块2602的情况。模块2602被放置在第三插槽中,第一插槽不被占用,并且连续模块2619被放置在第二插槽中。箭头表示连续模块2619上的线以及用于读访问的数据移动的方向。三模块示图26B示出了用于三模块的情况。
图26B的三模块示图2630示出了针对第三模块的读访问。这种情况与图6A中的两模块情况相同。用于第三模块的CS组链接被确定,如箭头2617所表示的。DQ缓冲部件2615仅使能{a,c,e}位置中的器件站点2606。专用总线3622允许第三模块上的CA-BUF部件3650与第二模块上的CA-BUF部件共享其CS组。第二模块上的DQ缓冲部件仅使能{b,d,f}位置中的器件站点,允许执行剩余的读访问。
图26B的三模块示图2640示出了对第二模块的读访问。这种情况与图6B的两模块情况相同,用于第二模块的CS组链接被确定,如箭头所表示的。DQ缓冲部件仅使能{b,d,f}位置中的器件站点。注意,存在在先前情况中没有被访问的器件站点。
专用总线2622允许第二模块上的CA-BUF部件与第三模块上的CA-BUF部件共享其CS组。第三模块上的DQ缓冲部件2615仅使能{a,c,e}位置中的器件站点2606,允许执行剩余的读访问。注意,存在在先前情况中没有被访问的器件站点2606。
图26B的三模块示图2640示出了对第一模块的读访问。用于第一模块的CS组链接被确定,如箭头所表示的。DQ缓冲部件2615使能{a,b,c,d,e,f}位置中的器件站点Z06,如六个箭头所示。
结构D(3-SPC)
图27A和图27B示出了根据一个实施例的具有第二结构D 700的改进存储系统,其具有3-SPC存储通道中的一个或三个存储模块的不同组合。
图27A的三模块示图2720示出了具有占用最右边的插槽的单个模块的结构D 700。其他两个插槽包含连续模块2719。所有访问都涉及来自单个模块2702的DRAM。数据访问流通过[1]直接通过母板线或[2]控制器和DQ缓冲部件之间的一个连续模块2719。示图示出了用于读访问的数据方向。箭头示出了DRAM访问,并且箭头示出了通过连续模块2719的移动。对于该情况不要求CS信息的共享。
可选地,可通过在中心或最左边的插槽中放置模块来实现一模块容量,其中连续模块在两个未填充的插槽中(连续模块上的线图案对于这些可选结构来说是不同的)。
图27B的三个示图2730、2740、2750示出了具有占用所有三个插槽的模块的结构D700。没有连续模块。所有访问均涉及来自每个模块的一些DRAM。
每个数据访问都将1/3器件站点处的DRAM连接至控制器。访问的数据[1]流过边缘DQ缓冲部件和在连接至控制器的母板线上流动,或者[2]流过中心DQ缓冲部件,流过边缘DQ缓冲部件并在连接至控制器的母板线上流动。
术语“边缘DB-BUF”是指图27B中的每个模块上的DB-BUF部件。术语“中心DB-BUF”是指图27B中的每个模块上的中间DB-BUF部件。
具有两个专用总线将中心DQ-BUF连接至每一个边缘DQ缓冲部件。这允许连接至中心DB-BUF的器件站点耦合至与边缘DQ-BUF连接的初级数据组链接。
专用总线连接可以具有本文所述的发射器和接收器。可能域交叉逻辑将不需要适应大范围的歪斜,因为DQ缓冲部件的内部时钟可以与来自CA-BUF部件(图3B)的次级CK信号相位对齐。
在图7B的三个访问情况的每一个中,确定不同模块的芯片选择。专用总线(如图12A)将该选择信息分配至其他两个未被选择的模块,使得它们可以参与访问。
结构E(3-SPC)
图28A和图28B示出了根据一个实施例的具有第三结构E 800的改进存储系统,其具有3-SPC存储通道中的一个或三个存储模块的不同组合。
图28A的三模块示图2820示出了具有占用最右边的插槽的单个模块。其他两个插槽包含连续模块2819。所有访问均涉及来自单个模块2820的DRAM。访问的数据[1]直接通过母板线或者[2]通过控制器和DQ缓冲部件之间的一个连续模块流动。示图示出了用于读访问的数据方向。箭头示出了DRAM访问,并且箭头示出了通过连续模块的移动。对于这种情况不需要CS信息的共享。
图28B的三模块示图2830、2840、2850示出了具有占用所有三个插槽的模块的结构E 800。没有连续模块。所有访问均涉及来自每个模块的一些DRAM。
每个数据访问都将1/3器件站点处的DRAM连接至控制器。访问的数据[1]流过边缘DQ缓冲部件和在连接至控制器的母板线上流动,或者[2]从中心器件站点处的DRAM流动,流过边缘DQ缓冲部件并在连接至控制器的母板线上流动。
术语“边缘DB-BUF”是指图28B中的每个模块上的上DB-BUF部件和下DB-BUF部件。术语“中心DB-BUF”是指图28B中的每个模块上的两个中间器件站点。
具有额外的次级端口将每个边缘DQ缓冲部件连接至一个中心器件站点。这允许中心器件站点耦合至与边缘DQ-BUF连接的初级数据组链接。
这对于中心器件站点来说创建了更加复杂的物理连接拓扑;它们可以连接至DQ缓冲部件上的两个次级端口,而不是一个次级端口(类似于边缘器件站点)。该额外的次级端口连接具有类似于两个其他已经存在(参见图5)的发射器和接收器。
在图28B的三个访问情况的每一个中,确定不同模块的芯片选择。专用总线(如图12A)将该选择信息分配至其他两个未被选择的模块,使得它们可以参与访问。
结构F(3-SPC)
图29A和图29B示出了根据一个实施例的具有第四结构F 900的改进存储系统,其具有3-SPC存储通道中的一个或三个存储模块的不同组合。
图29A的三模块示图2920示出了具有占用最右边的插槽的单个模块2902的结构F900。其他两个插槽包含连续模块2919。所有访问均涉及来自单个模块2902的DRAM。访问的数据[1]直接通过母板线或者[2]通过控制器2904和DQ缓冲部件之间的一个连续模块流动。示图示出了用于读访问的数据方向。箭头示出了DRAM访问,并且箭头示出了通过连续模块的移动。对于这种情况不需要CS信息的共享。
图29B的三模块示图2930、2940、2950示出了具有占用所有三个插槽的模块的结构F 900。没有连续模块。所有访问均涉及来自每个模块的一些DRAM。
每个数据访问都将1/3器件站点处的DRAM连接至控制器。访问的数据流过DQ缓冲部件和在连接至控制器的母板线上流动。
专用总线连接具有本文所述的发射器和接收器。可能地,域交叉逻辑需要适应大范围的歪斜,因为DQ缓冲部件的内部时钟可以与来自CA-BUF部件(图3B)的次级CK信号相位对齐。
在图29B的三个访问情况的每一个中,确定不同模块的芯片选择。专用总线(如图12A)将该选择信息分配至其他两个未被选择的模块,使得它们可以参与访问。
结构B(3-SPC)
图30A和图30B示出了根据一个实施例的具有第五结构B 1000的改进存储系统,其具有3-SPC存储通道中的一个或三个存储模块的不同组合。
图30A的三模块示图3020示出了具有占用最右边的插槽的单个模块3002的结构B1000。一个插槽包含连续模块3019,并且其他插槽为空。所有访问均涉及来自单个模块3002的DRAM。
顶行中的三个示图示出了用于三个模块的情况。
三模块示图3030示出了对第三模块的读访问。确定用于第三模块的CS组链接,如箭头所示。DQ缓冲部件使能{a,b,c,d,e,f}位置中的器件站点。应该注意,这与结构A中的等效情况不同。
专用总线3022允许第三模块上的CA-BUF部件与第二模块上的CA-BUF部件通信。下面描述该专用总线的细节。
第二模块上的DQ缓冲部件使能{b,d,f}位置的旁路路径3024,允许读访问的该部分被传输至控制器3004。本文描述该旁路路径3024的细节。
在一个实施例中,如结构A,单个位可以被传输以表示第二模块中的旁路操作而不是整个CS组。
三模块示图3040示出了第二模块的读访问。确定用于第二模块的CS组链接,如箭头所示。DQ缓冲部件使能{a,b,c,d,e,f}中的器件站点。应该注意,这不同于结构A中的等效情况。
专用总线3022允许第二模块上的CA-BUF部件与第三模块上的CA-BUF部件通信。下面描述该专用总线的细节。
第三模块上的DQ缓冲部件使能{a,c,e}位置的旁路路径3024,允许读访问的该部分被传输至控制器。本文描述该旁路路径3024的细节。应该注意,如结构A,这仅需要单个位被传输以表示第三模块中的旁路操作而不是整个CS组。
三模块示图3050示出了对第一模块的读访问。确定用于第一模块的CS组链接,如箭头所示。DQ缓冲部件使能{a,b,c,d,e,f}位置中的器件站点,如六个箭头所示。
结构C(3-SPC)
图31A和图31B示出了根据一个实施例的具有第六结构C 1100的改进存储系统,其具有3-SPC存储通道中的一个或三个存储模块的不同组合。
三模块示图3120示出了具有占用最右边的插槽的单个模块3102的结构C 1100。其他两个插槽包含连续模块3019。所有访问均涉及来自单个模块的DRAM。访问的数据横穿控制器3104和DQ缓冲部件之间的一个连续模块3119。示图示出了用于读访问的数据方向。箭头示出了DRAM访问,并且箭头示出了通过连续模块3119的移动。
图31B的三模块示图3130、3140、3150示出了具有占用所有三个插槽的模块的结构C 1100。没有连续模块。所有访问均涉及来自单个模块的DRAM。
在最右边的模块上访问的数据在控制器和DQ缓冲部件之间流动通过一个其他模块上的DQ-BUF中的旁路路径。示图示出了用于读访问的数据方向。箭头示出了DRAM访问,并且蓝色箭头示出了通过旁路路径的移动。控制器中的域交叉逻辑可以注意这种情况的路径差异。
在中心模块上访问的数据(图31B的三模块示图3140)在控制器和DQ缓冲部件之间流动通过[1]母板线或者[2]其他两个模块上的DQ-BUF中的两个旁路路径。示图示出了用于读访问的数据方向。示图示出了用于读访问的数据方向,其中箭头与前面一样表示数据移动。控制器中的域交叉逻辑可以注意这种情况的路径差异。
在最左边的模块上访问的数据(图31B的三模块示图3150)在控制器和DQ缓冲部件之间流动通过[1]母板线或者[2]其他两个模块上的DQ-BUF中的两个旁路路径。示图示出了用于读访问的数据方向。示图示出了用于读访问的数据方向,其中箭头与前面一样表示数据移动。控制器中的域交叉逻辑可以注意这种情况的路径差异。
图32是示出根据一个实施例的2-SPC存储通道布线3200的示图,其根据偶数和奇数半字节具有CPU槽3201以及利用数据线耦合至CPU槽3201的用于R+LRDIMM的两个DIMM槽3202、3204。对应于偶数半字节的第一集合的数据线3206连接至DIMM槽3202、3204和CPU槽3201。对应于奇数半字节的第二集合的数据线3208连接在两个DIMM槽3202、3204之间。即,一个DIMM槽的奇数半字节耦合至其他DIMM槽的奇数半字节。第一和第二集合的数据线3206、3208可以容纳1DPC或2DPC存储结构中的72位宽DIMM的9个偶数半字节和9个奇数半字节。2-SPC存储通道布线3200类似于图4的2-SPC存储通道布线400,除了2-SPC存储通道布线3200不包括专用总线412。
图33是示出根据一个实施例的3-SPC存储通道布线3300的示图,其根据半字节集合包括CPU槽3301以及利用数据线耦合至CPU槽3301的用于R+LRDIMM的三个DIMM槽3302-3304。三个DIMM槽3302-3304的第一集合的数据线3306连接至CPU槽3301。第二集合的数据线3308连接在第二和第三DIMM槽3303-3304之间。第三集合的数据线3310连接在第一和第三DIMM槽3302、3304之间。第四集合的数据线3312连接在第一和第二DIMM槽3302、3303之间。标出了仅用于一个24位宽片段的数据线,但是第一、第二、第三和第四集合的数据线可以容纳用于1DPC、2DPC和3DPC存储结构的18半字节,如以下参照图34A至图34C所描述的。3-SPC存储通道布线3300类似于图24的3-SPC存储通道布线2400,除了e-SPC存储通道布线3300不包括专用总线2412之外。
图34A是示出根据一个实施例的3-SPC DDR4通道3400的示图,其具有用一个R+LRDIMM 3408填充的一个DIMM槽以及用C-DIMM 3406填充的两个DIMM槽。示出了72位宽DIMM的24位片段,但是其他片段的布线相同。R+LRDIMM 3408的片段包括六个器件站点,其中每个站点都可以是单个存储部件或多个存储部件。为了易于描述,描述了3-SPC DDR4通道3400中的三个器件站点3412、3414、3416的数据线。第一器件站点3412经由数据线3417耦合至CPU 3401(第一半字节)。第二器件站点3414经由数据线3418耦合至第二槽中的第二C-DIMM 3406,以及第二C-DIMM 3406的内部迹线3420将数据线3418连接至数据线3422(其耦合至CPU 3401)(第二半字节)。第三器件站点3416经由数据线3424耦合至第一槽中的第一C-DIMM 3406,并且第一C-DIMM 3406的内部迹线3426将数据线3424连接至数据线3424(其耦合至CPU 3401)(第三半字节)。类似的数据线可用于将R+LRDIMM 3408的其他器件站点连接至用于片段中的其他三个半字节的CPU 3401。DQ缓冲部件3432(具有或不具有DQ缓冲部件3431)可以用于R+LRDIMM 3408的其他器件站点。
在图34A中,DQ缓冲部件3430分别耦合在第一器件站点3412和第二器件站点3414与数据线3417和3418之间。第二DQ缓冲部件3431耦合在第三器件站点3416和数据线3424之间。在另一实施例中,DQ缓冲部件3430耦合至第三器件站点3412-3416,以及第三器件站点3416经由数据线3441耦合至DQ缓冲部件3430。可以为第一和第二C-DIMM 3406之间的数据线3440呈现电连接,但是可以不被使用。类似地,可以为数据线3441呈现电连接,但是可以在一些实施例中不被使用。DQ缓冲部件3430用作具有3-SPC DDR4通道3400中的一个R+LRDIMM 3408的中继器。DQ缓冲部件3430在一些情况下还可以用作多路复用器。应该注意,分别通过CS2#、CS1#和CS0#来限制C2[2:0]、C1[2:0]和C0[2:0](在图34A中未示出)。
图34B是示出根据一个实施例的3-SPC DDR4通道3450的示图,其具有用R+LRDIMM3408、3458填充的两个DIMM槽以及用C-DIMM 3406填充的另一DIMM槽。3-SPC DDR4通道3450类似于3-SPC DDR4通道3400,如通过相似的参考标号来表示。然而,第二槽用第二R+LRDIMM3458填充。R+LRDIMM 3458的对应片段包括六个器件站点,其中每个站点都可以是单个存储部件或多个存储部件。为了易于描述,描述了3-SPC DDR4通道3450中的三个器件站点3412-3416的数据线。如上面参照3-SPC DDR4通道3400所述,第一器件站点3412经由数据线3417耦合至CPU 401(第一半字节)。第二器件站点3452经由数据线3422耦合至CPU 401(第二半字节)。第三器件站点3416经由数据线3424(其耦合至具有C-DIMM 3406的第一槽)耦合至CPU。C-DIMM 3406的内部迹线将数据线3424连接至数据线3428(第三半字节)。实际上,当用R+LRDIMM 3408、3458填充两个槽时,3-SPC DDR4通道3400的第二器件站点3414的位置被3-SPC DDR4通道3450的第一器件站点452所调换。应该注意,在母板和R+LRDIMM上存在用于数据线3418和DQ缓冲部件的内部数据线的电连接,但是不被使用。类似的数据线可用于将两个R+LRDIMM 3408、3458的其他器件站点连接至用于片段中的其他三个半字节的CPU 3401。DQ缓冲部件3430-3432和DQ缓冲部件3470-3472可用于两个R+LRDIMM 3408、3458的器件站点。在一些情况下,DQ缓冲部件可用作本文所述的中继器或多路复用器。应该注意,分别通过CS2#、CS1#和CS0#来限制C2[2:0]、C1[2:0]和C0[2:0](图34B中未示出)。
图34C是示出根据一个实施例的具有用R+LRDIMM 3408、3458、3478填充的三个DIMM槽的3-SPC DDR4通道3470的示图。3-SPC DDR4通道3470类似于3-SPC DDR4通道3450,如通过类似的参考标号来表示。然而,第一槽用第三R+LRDIMM 3478填充。R+LRDIMM 3478的对应片段包括六个器件站点,其中每个站点都可以是单个存储部件或多个存储部件。为了易于描述,描述了3-SPCDDR4通道3470中的三个器件站点3412、3452、3472的数据线。如上面参照3-SPC DDR4通道3400所述,第一器件站点3412经由数据线3417耦合至CPU 401(第一半字节)。第二器件站点3452经由数据线3422耦合至CPU 401(第二半字节)。第三器件站点3472经由数据线3428耦合至CPU 401(第三半字节)。应该注意,在母板和R+LRDIMM上存在用于数据线3418、3424以及DQ缓冲部件的内部数据线的电连接,但是不被使用。类似的数据线可用于将三个R+LRDIMM 3408、3458、3478的其他器件站点连接至用于片段中的其他三个半字节的CPU 3401。DQ缓冲部件3430-3432、DQ缓冲部件3470-3472以及DQ缓冲部件3480-3482可用于三个R+LRDIMM 3408、3458、3478的器件站点。在一些情况下,DQ缓冲部件可用作本文所述的中继器或多路复用器。应该注意,分别通过CS2#、CS1#和CS0#来限制C2[2:0]、C1[2:0]和C0[2:0](图34C中未示出)。
在一些实施方式中,DDR4R+LRDIMM要求存储通道中的所有CS#和CKE信号被广播至通道中的所有DIMM槽(或DIMM插槽或模块插槽)。利用DPP,每个数据信号都仅连接至一个R+LRDIMM。在具有多个R+LRDIMM的通道中,每个和每一个R+LRDIMM都响应于读或写操作。DDR4规则允许每个DIMM槽多达8个排序。在一个实施方式中,对于单个排序(SR)DIMM来说,通过CS0#、CKE0和ODT0来控制排序0,对于双排序(DR)DIMM来说,通过CS1#、CKE1和ODT1来控制排序1,以及对于四排序(QR)或八排序(OR)DIMM来说,通过C[2:0]、CS#、CKE和ODT来控制排序。CS#信号可以是1周期信号并且仅连接至一个DIMM槽,并且将CS#广播至所有DIMM槽会违反寄存器设置和保持时间。下面描述的实施例使用在DDR4RDIMM规则中定义为非连接(NC)或非功能(NF)的管脚在存储通道中的DIMM槽之间创建专用共享总线。每个DIMM槽中的ODT管脚都可以任选地被用于专用总线,因为所有DQ网总是点对点的。CA缓冲部件(也称为CA寄存器)可以被修改用于利用本地CS信号(本地CS#)和时钟标记(CKE)信号以及远程CS信号(远程CS#)和CKE信号进行操作。本地CS信号是直接从存储控制器(MC)接收的信号,以及远程信号是来自专用总线上的另一DIMM连接器的信号。CA缓冲部件处理本地CS信号与处理远程CS信号是不同的。例如,在一个实施例中,本地信号在被驱动至DRAM器件之前经过两个触发器,而远程信号在被驱动至DRAM器件之前经过1个触发器。
图35是示出根据一个实施例的位于3-SPC存储系统3500的三个DIMM槽3502-3504之间的专用总线3550的示图。在存储系统3500中,存储控制器(MC)3501耦合至三个槽3502-3504。第一集合的数据线3512耦合在MC 3501和第一槽3502(槽0)之间(例如,CS0#[2:0]、CKE0和ODT0)。第二集合的数据线3513耦合在MC 3501和第二槽3503(槽1)之间(例如,CS1#[2:0]、CKE1和ODT1)。第三集合的数据线3514耦合在MC 3501和第三槽3504(槽2)之间(例如,CS2#[2:0]、CKE2和ODT2)。对于SR DIMM结构来说,通过CS0#[2:0]、CKE0和ODT0来控制排序0。对于DR DIMM结构来说,通过CS0#、CKE0和ODT0来控制排序0以及通过CS1#、CKE1和ODT1来控制排序1。对于QR DIMM结构或OR DIMM结构来说,通过C[2:0]、CS#、CKE和ODT来控制排序。C[2:0]可以是具有CS0#或CS1#中的每一个的3编码CS信号。C[2:0]可用于控制多达8个排序(例如,堆叠器件)。对于堆叠技术器件(也称为3DS技术)来说,可以具有18个器件站点,并且三个C站点可用于选择所选器件站点处的器件。CS#信号可以是1周期信号并且仅连接至一个DIMM槽。
在一个实施例中,三个槽3502-3504处的R+LRDIMM分别接收三个信号,并且R+LRDIMM在专用总线3550上将信号重新发射至其他两个槽。专用总线3550包括用于CKE_COPY的第一线3522、用于CS#_COPY的第二线3523以及用于SLOT_ID[1:0]和C[2:0]_COPY的第三集合的数据线3524。SLOT_ID[1:0]可用于识别三个槽3502-3504中的哪个槽重新发射CS信息。C[2:0]_COPY是由对应槽接收的CS[2:0]的副本。类似地,CKE_COPY是被对应槽接收的CKE的副本,并且CS#_COPY是被对应槽接收的CS#的副本。专用总线3550可以使用其上设置有三个槽3502-3504的母板上的具有上拉的有线OR管脚。
在一个实施例中,以下NC管脚可用于专用总线3550:92、202、224、227、232和234。在另一实施例中,可以使用以下NF管脚:88、90、200、215和216。这些NC和NF管脚可以在CA管脚的附近。
图36是示出根据一个实施例的位于存储系统3600的两个DIMM槽3602、3604之间的专用总线3623的本地控制信号3601和远程控制信号3603的示图。第一DIMM槽3602(槽0)用具有CA缓冲部件3640的第一存储模块填充,以及第二DIMM槽3604(槽1)用具有CA缓冲部件3650的第二存储模块填充。第一DIMM槽3602中的第一存储模块包括多个器件站点3660,并且第二DIMM槽3604中的第二存储模块包括多个器件站点3670。器件站点3660、3670均可以包括单个存储部件或多个存储部件。这些存储部件可以是DDR4DRAM器件,并且存储模块可以是R+LRDIMM。应该注意,为了清楚,图36示出了两个单排序LRDIMM,但是类似的数据线可连接至其他器件站点3660、3670。
CA缓冲部件3640包括初级接口,其具有:第一管脚3605,耦合至线3612以接收本地芯片选择(CS)信号(CS0#)3601;以及第二管脚3607,耦合至专用总线3623的线以接收远程CS信号(CS_COPY#)3603。初级接口耦合至CPU。CA缓冲部件3640包括次级接口以选择一个或多个器件站点3660(例如,3662、3664、3666、3668)。当在第一管脚3605上接收本地CS信号3601(针对槽0)时,CA缓冲部件3640选择器件站点3662、3664,以及当在第二管脚3607上接收远程CS信号3603(针对槽0)时,选择器件站点3666、3668。在具有附加槽的其他实施例中,CA缓冲部件3640在第三管脚(未示出)上接收第二远程CS信号以选择其他器件站点。
在又一实施例中,CA缓冲部件3640包括:1)耦合至第一管脚3605的第一触发器3642;2)耦合至第一触发器3642的输出的第二触发器3644。第二触发器3644的输出耦合至器件站点3662、3664。CA缓冲部件3640还包括耦合至第二管脚3670的输入缓冲器3643,并且输入缓冲器3643的输出耦合至第三触发器3646。第三触发器3646的输出耦合至器件站点3666、3668。第一触发器3642、第二触发器3644和第三触发器3646通过定时信号3647来定时。定时信号3647可由锁相环(PLL)3645来生成,其中锁相环耦合至在线3614上接收来自CPU 3603的时钟信号(CLK0)的第四管脚3609。CA缓冲部件3640还包括耦合至第一触发器3642的输出的输出缓冲器3641。输出缓冲器3641的输出耦合至第二管脚3607。输出缓冲器3641在第二管脚3607上生成第二远程CS信号(例如,CS_COPY#)。输出缓冲器3641将第一管脚3605上接收的本地CS信号3601作为第二管脚3607上的远程CS信号3603重新发射至其他槽(例如,第二槽3604)中的一个或多个其他模块。
如CA缓冲部件3640,CA缓冲部件3650还可以包括类似的初级和次级接口。初级接口耦合至CPU 3603,并且次级接口选择一个或多个器件站点3670(例如,3672、3674、3676和3678)。当在第一管脚3611(针对槽1)上接收来自耦合至CPU 3603的线3613的本地CS信号(CS1#)时,CA缓冲部件3650选择器件站点3672、3674。当在第二管脚3607(针对槽1)上接收来自耦合至第一槽3602的专用总线3623的线的远程CS信号(CS_COPY#)时,CA缓冲部件3650选择器件站点3676、3678。CA缓冲部件3650包括:1)耦合至第一管脚3611的第一触发器3652;2)耦合至第一触发器3652的输出的第二触发器3654。第二触发器3654的输出耦合至器件站点3672、3674。CA缓冲部件3650还包括耦合至第二管脚3607的输入缓冲器3653,并且输入缓冲器3653的输出耦合至第三触发器3656。第三触发器3656的输出耦合至器件站点3676、3678。第一触发器3652、第二触发器3654和第三触发器3656通过定时信号3657来定时。定时信号3657可由锁相环(PLL)3655来生成,其中锁相环耦合至在线3615上接收来自CPU 3603的时钟信号(CLK1)的第四管脚3609。CA缓冲部件3650还包括耦合至第一触发器3652的输出的输出缓冲器3651。输出缓冲器3651的输出耦合至第二管脚3607。输出缓冲器3651在第二管脚3607上生成第二远程CS信号(例如,CS_COPY#)。输出缓冲器3641将第一管脚3611上接收的本地CS信号作为第二管脚3607上的远程CS信号重新发射至其他槽(例如,第一槽3602)中的一个或多个其他模块。
尽管图36示出了两个DIMM槽3602、3604以及每个DIMM槽仅四个器件站点,但在其他实施例中,可以使用多于两个的DIMM槽,并且可以使用每个DIMM槽多于四个的器件站点。图36还示出了单个器件存储站点,但在其他实施例中,可以使用多器件存储站点,诸如如图9所示。
图37是根据一个实施例的操作多模式存储模块的方法3700的流程图。方法3700开始于确定存储模式是处于第一模式还是第二模式(框3702)。如果处于第一模式,则存储模块被配置为在第一类型的存储通道(具有与连接至存储控制器的所有其他存储模块共享的多点下传数据链接)上与存储控制器交互(框3704)。如果处于第二模式,则存储模块被配置为在第二类型的存储通道(其中一些数据链接不连接至所有其他存户模块)上与存储控制器交互(框3706)。如本文所述,缓冲部件接收来自存储控制器(诸如寄存器、地址缓冲器等)的参考时钟。缓冲部件基于参考时钟生成时钟信号并将时钟信号转发至数据缓冲器和DRAM器件。如本文所述,使用选通信号在数据缓冲器的初级接口上向存储控制器传输数据或者从存储控制器传输数据,并且在数据缓冲器的次级接口上向DRAM器件传输数据或者从DRAM器件传输数据。
在另一实施例中,一种方法包括:当存储模块被插入到具有多点下传数据链接的第一类型的存储通道中时,以第一模式操作存储模块,以及当存储模块被插入到具有多点下传数据链接的第二类型的存储通道中时,以第二模式操作存储模块。
在又一实施例中,一种方法在第一模式和第二模式中将DQ缓冲部件操作为中继器。在另一实施例中,该方法在第一模式中将DQ缓冲部件操作为中继器而在第二模式中将其操作为多路复用器。
在又一实施例中,通过该方法执行以下操作:a)在第一模式中,在第一初级接口和第一次级接口之间耦合第一双向路径;b)在第一模式中,在第二初级端口和第二次级端口之间耦合第二双向路径;b)在第二模式中,在第一初级端口和第二次级端口之间耦合第三双向路径,以及c)在第二模式中,在第二初级端口和第一次级端口之间耦合第四双向路径。
图38是根据一个实施例的含存储模块3880的计算机系统3800的一个实施例的示图,其包括具有三个存储模块3880的主存储器3804。计算机系统3800可以在LAN、内联网、外联网或因特网中连接至(例如,联网至)其他机器。计算机系统3800可以是云中的主机、云供应系统、云控制器、服务器、客户端或任何其他机器。计算机系统3800可以在客户端-服务器网络环境中的服务器或客户端机器的容量中进行操作,或者作为对等(peer-to-peer)(或分布式)网络环境中的对等机器。机器可以是个人计算机(PC)、平板PC、控制台设备或者机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络应用、服务器、网络路由器、开关或桥或者能够执行指定被该机器执行的动作的指令集(顺序或以其他方式)的任何机器。此外,虽然仅示出了单个机器,但术语“机器”应该包括分别或联合执行指令的集合(或多个集合)以执行本文讨论的任何一种或多种方法的任何机器(例如,计算机)的集合。
计算机系统3800包括处理设备3802、主存储器3804(例如,只读存储器(ROM)、闪存、动态随机存取存储器(DRAM))、存储存储器3806(例如,闪存、静态随机存取存储器(SRAM)等)和次级存储器3818(例如,驱动单元形式的数据存储设备,其可以包括固定或可移除计算机可读存储介质),它们经由总线3830相互通信。主存储器3804包括本文所述的存储模块3880和DQ缓冲部件3882。处理设备3802包括存储控制器3884。
处理设备3802表示一个或多个通用处理设备,诸如微处理器、中央处理单元等。更具体地,处理设备3802可以是复杂指令集计算(CISC)微处理器、减少指令集计算(RISC)微处理器、非常长指令字(VLIW)微处理器、实施其他指令集的处理器或者实施指令集的组合的处理器。处理设备3802还可以是一个或多个专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理设备3802包括上述存储控制器3884。存储控制器3884是管理去向和来自主存储器3804的数据的流动的数字电路。存储控制器3884可以是独立的集成电路,但是还可以在微处理器的管芯上实施。
在一个实施例中,处理设备3802可以驻留在第一电路板上,并且主存储器3804可以驻留在第二电路板上。例如,电路板可以包括主机计算机(例如,具有一个或多个处理核、L1高速缓存器、L2高速缓存器等的CPU)、主机控制器或者其他类型的处理设备3802。第二电路板可以是插入到具有主机设备的第一电路板的插槽中的存储模块。存储模块可以包括本文所述的多个存储器件以及缓冲部件。存储模块的主要功能取决于主机设备,因此可以认为是扩展主机设备的容量,而不形成主机设备的核心架构的部分。存储设备能够经由DQ总线和CA总线与主机设备通信。例如,存储设备可以是单芯片或多芯片模块,其包括普通集成电路衬底上的单芯片设备的任何组合。图38的部件可以驻留在“普通载体衬底”上,诸如集成电路(“IC”)管芯衬底、多芯片模块衬底等。可选地,存储设备可以驻留在一个或多个印刷电路板上,诸如母板、子板或其他类型的电路板。在其他实施例中,主存储器和处理设备3802可驻留在相同或不同的载体衬底上。
计算机系统3800可以包括芯片集3808,其表示集成电路或芯片的组,被设计为与处理设备3802协作并且控制处理设备3802和外部设备之间的通信。例如,芯片集3808可以是母板上的芯片的集合,其将处理设备3802链接至非常高速的设备(诸如主存储器3804和图形控制器)以及将处理设备链接至外围设备3810的较低速度的外围总线(诸如USB、PCI或ISA总线)。
计算机系统3800可以进一步包括网络接口设备3822。计算机系统3800还可以包括通过图形端口和图形芯片集连接至计算机系统的视频显示单元(例如,液晶显示器(LCD))、字母数字输入设备(例如,键盘)、光标控制设备(例如,鼠标)和信号发生设备3820(例如,扬声器)。
本文描述的实施例可以是R+LRDIMM。R+DDR4LRDIMM使用动态点对点(DPP)为2DPC和3DPC情况提供存储总线速度提高。R+DDR4LRDIMM使能2DPC@3.2Gb/s;3DPC DQ网支持多达2.67Gb/s的数据速率。R+DDR4LRDIMM要求不改变DRAM和CPU,并支持SEC-DED ECC和R+LRDIMM完全与标准LRDIMM和标准服务器母板兼容。要求母板改变来实现由DPP使能的更高的总线速度。Gen2R+LRDIMM解决方案解决了当前的C/A总线限制。解决C/A总线限制能够实现3DPC@3.2Gb/s。
对于每通道2插槽(SPC)系统来说,R+LRDIMM实施如在先前的R+LRDIMM建议中横跨2个插槽实施动态点对点(DPP)。在DIMM之间的专用总线之上广播CS和CKE信号,使得每个DIMM也可以看到用于其他DIMM的CS和CKE信号。R+LRDIMM支持3SPC,其中DPP横跨2个DIMM槽并且第三个插槽并行。可以进行用于1DPC和2DPC的每个DQ网上的一个负载。用于3DPC的DQ网上的两个负载/横跨两个DIMM插槽实施DPP可以要求每个DIMM的9个字节宽度的DB,与标准LRDIMM相同。横跨2个DIMM插槽实施DPP确保了每个DRAM都仅连接至一个DB,这与标准LRDIMM相同。具有2个负载的DQ总线的最大速度>具有3个负载的C/A总线的最大速度,因此是可接受的解决方案。
当前的C/A总线可以利用2T定时支持2DPC@3.2Gb/s。通过在DQ总线上实施DPP,R+LRDIMM使能2DPC@3.2Gb/s。仅横跨2个DIMM槽实施DPP使得R+LRDIMM实施例紧密地与标准LRDIMM实施例匹配。这可以通过OEM实现R+LRDIMM的更容易的操作,并且可以确保R+LRDIMM在标准服务器母板中操作而不存在问题。通过用于3DPC的C/A拓扑来限制最大总线速度。可需要对C/A总线的改进来从横跨3个DIMM槽实施DPP实现速度改进。可通过本文描述的实施例来满足这些约束。例如,可以不需要CPU和DRAM改变。可以需要BIOS改变来实现R+模式。R+LRDIMM在标准服务器中操作为标准LRDIMM,使用1RCD和9字节宽的DB并且对RCD、DB和用于与JEDEC LRDIMM兼容的原始卡存在镜像变化。在R+LRDIMM中,在标准LRDIMM上具有最小或者没有等待时间加法器。假设相同的功率或者低于标准LRDIMM的功率。R+LRDIMM可以使用相同的PCB技术并且如标准LRDIMM一样进行封装,并且可以使用现有的HVM技术来保持BOM成本。R+LRDIMM仅需要对母板上的存储通道布线进行改变来以增强模式操作,利用这些变化实现更低的设计成本和速度。
总之,本文描述了初级DQ拓扑的各种结构。上面描述了13种结构。可选地,其他结构也是可以的。在结构中具有每个通道的模块插槽数量的多种版本。这些模块插槽可以被配置为DPP(两个模块在访问时一起动作)或非DPP(一个模块响应于访问)。具有每个DQ缓冲部件连接的DQ组的数量的各种结构(4xDQ链接加上DQS±链接)。这些DQ组被划分为三类:初级(连接至母版)、次级(在器件站点处连接至DRAM)和专用(连接到一起的两个DQ缓冲部件)。在结构B和C中,初级旁路用于将一个初级DQ组连接至另一个初级DQ组。在其他结构中,可以使用专用CS总线。DPP模块插槽在访问期间要求一些共享信息。结构{A,D,E,F}要求芯片选择信息(CS),并且结构{B,C}要求旁路方向信息。
2模块插槽结构
一些系统具有两个非DPP模块插槽,而其他具有三个非DPP模块插槽。其他系统具有两个DPP模块插槽(类似于非DPP模块插槽(最接近控制器)被去除,留下两个DPP模块插槽)。
A结构:A结构是混合结构,其中具有一个非DPP模块插槽和两个DPP模块插槽。这两个结构要求在DPP模块插槽之间使用专用CS总线。这使得用于访问的CS信息被两个DPP模块共享。
另一可选“A”结构可以是用两个DPP模块插槽代替单个非DPP模块插槽。这需要控制器提供CS信号的第四集合(代替例如图3A的系统示图中的三个)。每一对DPP模块插槽都可以与用于共享芯片选择信息的专用总线连接。每一对都可以响应于连接至该对的任何八个CS信号的确定。每一对中的一个将芯片选择信息转发至另一个。模块对中的每个模块都提供DRAM的一半用于每次访问。
B结构:B结构是混合结构,其中具有一个非DPP模块插槽和两个DPP模块插槽。相对于结构A具有关键差异。对DPP模块的访问仅使用单个模块上的DRAM,这不同于访问使用两个DPP模块上的DRAM的结构A。这具有两个结果。首先,由于整个DRAM访问通过一个模块执行,所以不需要与其他DPP模块共享芯片选择信息。第二个结果是,DRAM没有被访问的DPP模块被代替用于提供通过其DQ缓冲部件的旁路路径。该旁路路径可以以本文所述的各种方式中的一种来实施。
第一方法是同步的并且涉及再同步旁路数据。这通过将初级接收器的时钟输出路由至其他初级发射器的输出多路复用器来实施。在该路径中包括时钟域交叉逻辑。
应该针对该方法保持两个初级端口之间的域交叉所需的控制寄存器状态(例如,这可以是每次传送之后更新的DLY0.5和DLY123[1:0]值)。
第二方法是异步的,并且涉及仅使用接收器和发射器的非锁定元件以提供旁路数据的放大,但是不进行再同步。
第三方法是异步的,并且涉及使用串行传输模式的晶体管。该模式表示初级母板线与低阻连接耦合而没有放大和再同步。
即使不需要与其他DPP模块共享芯片选择信息,仍然需要提供少量的信息来控制旁路路径。与图11所示类似的电路可用于此。
更少量的信息需要被传送(通常一次访问一位),并且稍后在访问中传送信息,使得访问等待时间不受影响。
如下所述,R+LRDIMM和标准LRDIMM在各个方面相似,除了状态。DIMM机械尺寸可以通过JRDEC定义的尺寸来限定。DRAM、RCD、DB、部件放置、连接器-RCD连接、RCD-DRAM连接、DRAM-DB连接、RCD-DB连接也可以是JEDEC定义的。然而,对于RCD来说,初级侧上的两个新管脚可以添加用于R+LRDIMM,并且8个附加CS管脚和四个附加CKE管脚在次级侧上。对于部件放置,RCD放置可以在标准和R+之间相似,但是由于附加管脚而不精确。连接器-RCD连接可以是相同的,除了2RFU连接器管脚被路由至初级侧上的2个新管脚。RCD-DRAM连接在标准和R+之间可以是相同的,除了如本文所述每个次级C/A总线具有四个附加CS#和两个附加CKE管脚之外。此外,可以具有较大的RCD封装来容纳14个新信号管脚(2个在初级侧,12个在次级侧)。连接器上的RFU[1:0]管脚还被路由至R+LRDIMM上的RCD,以及1个附加CKE和2个附加CS#信号与其他C/A信号一起被路由至DRAM。
如本文所述,存储模块的LRDIMM操作可以为标准模式或增强模式。
本文所述的实施例的目的可以是一种具有多种操作模式的存储模块。在一个实施例中,存储模块具有两种操作模式:第一模式,其可以插入到具有与至少一个其他模块共享的多点下传数据链接的第一类型的存储通道中;以及第二模式,其可以插入到一些数据链接不连接至所有模块的第二类型的存储通道中。
在另一实施例中,存储控制器部件可以利用两种不同的数据链接拓扑来初始化存储系统:第一系统,其中数据链接使用多点下传拓扑并且连接至所有模块插槽;以及第二系统,一些数据链接不连接至所有模块。
在另一实施例中,在存储系统中包括控制器部件、具有模块插槽的目标衬底以及至少三个存储模块,其中一些数据链接不将控制器连接至所有插槽。在另一实施例中,还可以使用系统存储器的方法。
在另一实施例中,在第二操作模式中,模块可以使用不连接至控制器部件的专用链接与第二模块通信。
在另一实施例中,在一个模块上访问的数据在第一链接连接上传送并且传出另一模块的第二链接连接。
在另一实施例中,在一个模块上访问的数据在另一模块上穿过以下一种:线连接、传输晶体管、未定时的接收器-发射器对、定时的接收器-发射器对。
在另一实施例中,对第一地址的第一命令访问单个模块上的数据,并且对第二地址的第二命令访问多于一个的模块上的数据。
在另一实施例中,存储模块包括多个器件站点和耦合至器件站点的DQ缓冲部件。当存储模块被插入到具有多点下传数据链接的第一类型的存储通道中时,DQ缓冲部件以第一模式进行操作,而当存储模块被插入到具有点对点数据链接的第二类型的存储通道中时,以第二模式进行操作。在一个实施例中,DQ缓冲部件被编程来在第一模式和第二模式中操作为中继器。在另一实施例中,DQ缓冲部件被编程来在第一模式中操作为中继器且在第二模式中操作为多路复用器。在一个实施例中,点对点数据链接是点对点(P-P)链接。在另一实施例中,点对点数据链接是点对两点(P-2P)链接。在一个实施例中,多点下传数据链接与连接至存储控制器(连接存储模块)的所有其他存储模块共享,并且点对点数据链接不连接至与存储控制器连接的所有其他存储模块。可选地,多点下传和点对点数据链接的其他结构也是可以的。
在一个实施例中,DQ缓冲部件包括两个初级端口,以在第一模式中耦合至两个多点下传数据链接且在第二模式中耦合至两个点对点数据链接。DQ缓冲部件还包括耦合至两个DRAM器件的两个次级端口。在又一实施例中,DQ缓冲部件包括:位于两个初级端口中的第一初级端口与两个次级端口中的第一次级端口之间的第一双向路径;位于两个初级端口中的第二初级端口与两个次级端口中的第二次级端口之间的第二双向路径;位于第一初级端口和第二次级端口之间的第三双向路径;以及位于第二初级端口和第一次级端口之间的第四双向路径。
在一个实施例中,单个DRAM器件被设置在器件站点处。在其他实施例中,多个DRAM器件被设置在器件站点处,例如具有微缓冲部件的两封装堆叠、至少两管芯堆叠或者四管芯堆叠。
在又一实施例中,存储模块包括CA缓冲部件,其包括初级数据链接以接收来自存储控制器的芯片选择(CS)信息以选择存储模块作为用于访问的所选模块。连接至存储控制器的其他存储模块被认为是未选择模块。CA缓冲部件还包括次级数据链接以将CS信息重新发射至至少一个未选择模块。在另一实施例中,当存储模块被存储控制器选择时,CA缓冲部件在初级数据链接上接收来自存储控制器的CS信息,以及当存储模块没有被存储控制器选择时,接收来自连接至存储控制器的另一存储模块的在次级数据链接上重新发射的CS信息的副本。
在另一实施例中,具有多个DQ缓冲部件和多个DRAM器件,诸如九个DQ缓冲部件和十八个DRAM器件,每个DQ缓冲部件都耦合至十八个DRAM器件的对。
在一个实施例中,DQ缓冲部件包括:1)三个初级端口,在第一模式中耦合至三个多点下传数据链接且在第二模式中耦合至三个点对点数据链接;以及2)三个次级端口,耦合至多个DRAM器件中的三个。在一些实施例中,DQ缓冲部件经由专用总线耦合到一起。DQ缓冲部件可以包括专用端口以经由专用总线连接至另一DQ缓冲部件。专用总线被设置在母板衬底上。在操作期间,CA缓冲部件在CA链接上接收来自存储控制器的CS信息并且在专用总线上广播CS信息的副本。如本文所述,其他模块上的CA缓冲部件在专用总线上接收CS信息。可以近似利用一时钟周期延迟发送CS信息的副本。
在一个实施例中,DQ缓冲部件还包括:a)第一多路复用器,包括耦合至两个初级端口的两个输入端和耦合至两个次级端口中的第二次级端口的输出端;b)第二多路复用器,包括耦合至两个初级端口的两个输入端和耦合至两个次级端口中的第一次级端口的输出端;c)第三多路复用器,包括耦合至两个次级端口的两个输入端和耦合至两个初级端口中的第一初级端口的输出端;以及d)第四多路复用器,包括耦合至两个次级端口的两个输入端和耦合至两个初级端口中的第二初级端口的输出端。在又一实施例中,DQ缓冲部件还包括:e)第一同步逻辑,耦合在第一多路复用器的输出端和第二次级端口之间;f)第二同步逻辑,耦合在第二多路复用器的输出端和第一次级端口之间;g)第三同步逻辑,耦合在第三多路复用器的输出端和第一初级端口之间;以及h)第四同步逻辑,耦合在第四多路复用器的输出端和第二初级端口之间。
在另一实施例中,DQ缓冲部件包括:i)第一旁路路径,从第一初级端口到第四多路复用器的第三输入端;以及j)第二旁路路径,从第二初级端口到第三多路复用器的第三输入端。在另一实施例中,DQ缓冲部件还包括:k)第五多路复用器,包括耦合至第三同步逻辑的输出端和耦合至第二初级端口的第一旁路路径的两个输入端以及耦合至第一初级端口的输出端;以及l)第六多路复用器,包括耦合至第四同步逻辑的输出端和耦合至第一初级端口的第二旁路路径的两个输入端以及耦合至第二初级端口的输出端。
在另一实施例中,DQ缓冲部件还包括直接耦合在第一初级端口和第二初级端口之间的被动异步旁路路径。
在另一实施例中,存储模块的印刷电路板(PCB)包括管脚、存储器件、CA缓冲部件和多个DQ缓冲部件。一个或多个DQ缓冲部件包括耦合至管脚的初级端口、耦合至存储器件的次级端口以及位于初级端口和次级端口之间的可编程双向路径。DQ缓冲部件被编程为:当PCB被插入到具有多点下传数据链接的第一类型的存储通道中时,在第一结构中操作双向路径,而当PCB被插入到具有点对点数据链接的第二类型的存储通道中时,在第二结构中操作双向路径。在一个实施例中,双向路径包括:a)第一双向路径,位于两个初级端口中的第一初级端口与两个次级端口中的第一次级端口之间;b)第二双向路径,位于两个初级端口中的第二初级端口与两个次级端口中的第二次级端口之间;c)第三双向路径,位于第一初级端口和第二次级端口之间;以及d)第四双向路径,位于第二初级端口和第一次级端口之间。可选地,双向路径可以包括位于三个初级端口和两个次级端口之间的路径。双向路径还可以包括容纳专用总线、旁路或二者的路径。
在一个实施例中,PCB包括寄存器以存储指示操作的第一模式或第二模式的信息。信息可用于在第一和第二结构中配置双向路径。在一个实施例中,第一结构对应于第一模式且第二结构对应于第二模式。
在一个实施例中,PCB包括耦合在第一DQ缓冲部件和第二DQ缓冲部件之间的专用总线。第一和第二DQ缓冲部件均包括耦合至专用总线的专用端口。
在前面的描述中,阐述了多个细节。然而,本领域技术人员应该明白,在本公开的基础上,可以在不具有这些细节的情况下实践本发明的实施例。在一些情况下,已知结构或器件以框图形式示出而非详细示出,从而避免模糊说明书。
根据计算机存储器内的数据位的操作的算法和符号表示来表示详细说明的一部分。这些算法描述和表示是数据处理领域人员所使用的方式来更加有效地将工作内容传输至其他领域的技术人员。算法在这里通常认为是导致期望结果的步骤的一致序列。步骤是要求物理量的物理操作的步骤。通常,尽管不是必须的,这些量采用能够被存储、传输、组合、比较和操作的电或磁信号的形式。原则上为了通用,这些信号是位、值、元件、符号、字符、术语、数字等。
然而,应该明白,这些和类似的术语与适当的物理量相关联,并且仅仅是应用于这些量的标签。除非如上面的讨论另有明确指定,否则应用理解在整个描述中,利用诸如“加密”、“解密”、“存储”、“提供”、“得到”、“获取”、“接收”、“认证”、“删除”、“执行”、“请求”、“通信”等的术语的讨论是指计算系统或类似电计算设备的动作和处理,其处理表示为计算系统的寄存器或存储器内的物理(例如,电)量的数据并将其转换为类似地表示为计算系统存储器或寄存器或其他这种信息存储、传输或显示设备内的物理量的其他数据。
本文使用的词语“示例”或“示例性”表示用作实例、示例或说明。本文描述为“示例”或“示例性”的任何方面或设计都不是必须构造为相对于其他方面或设计都是优选或有利的。此外,使用词语“示例”或“示例性”用于以具体的形式来表示概念。如本公开所使用的,术语“或”用于表示包括性的“或”而非排除性的“或”。即,除非另有指定或从上下文明确得,否则“X包括A或B”用于表示任何自然的包括性排列。即,如果X包括A,X包括B,或者X包括A和B,则在任何前面的情况下满足“X包括A或B”。此外,本公开和所附权利要求中使用的冠词“一个”通常应该构造为表示“一个或多个”,除非另有明确指定或者从上下文中得到专用于单数形式。此外,术语术语“实施例”或“一个实施例”或“实施方式”或“一个实施方式”不用于表示相同的实施例或实施方式,除非如此描述。
本文描述的实施例还可以涉及用于执行本文的操作的装置。该装置可以具体构造用于所要求的目的,或者其可以包括被存储在计算机中的计算机程序选择性激活或重新配置的通用计算机。这种计算机程序可以存储在非暂态计算机可读存储介质中,诸如但不限于任何类型的盘(包括软盘、光盘、CD-ROM和磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、闪存或者任何类型的适合于存储电指令的介质。术语“计算机可读存储介质”应该包括存储一个或多个指令集的单个介质或多个介质(例如,中央式或分布式数据库和/或相关联的高速缓存和服务器)。术语“计算机可读介质”还应该包括能够存储、编码或承载被机器执行的指令集并使机器执行实施例的任何一个或多个方法的任何介质。术语“计算机可读存储介质”相应地应该包括但不限于固态存储器、光学介质、磁介质、能够存储被机器执行的指令集并使机器执行实施例的任何一种或多种方法的任何介质。
本文表示的算法和显示不是固有地与任何特定的计算机或其他装置相关。各种通用系统可以根据本文的教导被程序所使用,或者其可以构造更加专用的装置来执行所要求的方法步骤。用于各种这些系统的所要求结构将从以下描述中变得清楚。此外,不参照具体的编程语言来描述实施例。应该理解,各种编程语言可用于实施本文描述的实施例的教导。
上面的描述阐述了许多具体细节,诸如具体系统、部件、方法等的示例,以提供对本发明的多个实施例的良好理解。然而,本领域技术人员应该明白,在不具有这些具体细节的情况下可以实践本发明的至少一些实施例。在其他情况下,已知部件或方法没有详细描述或者以简单的框图形式表示以避免不必要地模糊本发明,因此,上面阐述的具体细节仅仅是示例性的。具体实施方式可以不同于这些示例性细节并且仍然包括在本发明的范围内。
上面的描述包括具体的技术和附图符号以提供对本发明的完整理解。在一些情况下,技术和符号可以暗示不要求实践本发明的具体细节。例如,在可选实施例中,任何具体位数、信号路径宽度、信号发送或操作频率、部件电路或器件等的任何具体数量可以不同于上面所述。此外,在被描述和示为多导体信号链接的电路元件或电路块之间的互连可以可选为单导体信号链接,并且单导体信号链接可以可选为多导体信号链接。被示为或描述为单端的信号和信令路径也可以是差分的,反之亦然。类似地,在可选实施例中,描述或示为具有有效高或有效低逻辑电平的信号可具有相反的逻辑电平。集成电路器件内的部件电路可以使用金属氧化物半导体(MOS)技术、双极技术或者可以实施逻辑和模拟电路的任何其他技术来实施。关于术语,当信号被驱动至低或高逻辑状态(或者充电为高逻辑状态或放电至低逻辑状态)以表示特定条件时,信号被描述为“断定的”。相反,当信号被驱动(或者充电或放电)至除断定状态之外的状态(包括高或低逻辑状态,或者可以在信号驱动电路转变为高阻条件(诸如开放逻辑或开放集电极条件)时发生的浮置状态)时,信号被描述为“解除断定的”。当信号驱动电路断定(或解除断定,如果明确提及或者通过上下文表示)耦合在信号驱动和信号接收电路之间的信号线上的信号时,信号驱动电路被描述为“输出”信号至信号接收电路。当在信号线上断定信号时,信号线被描述为“有效”,并且当信号被解除断定时,信号线被描述为“无效”。此外,附接至信号名称的前缀符号“/”表示该信号是有效低信号(即,断定状态为逻辑低状态)。信号名称上的线(例如,‘<signalname>’)还用于表示有效低信号。本文使用的术语“耦合”表示直接连接以及通过一个或多个中间电路或结构的连接。集成电路器件“编程”可以包括(例如但不限于):响应于主机指令将控制值加载到器件内的寄存器或其他存储电路,由此控制器件的操作方面,通过一次编程操作(例如,在器件制造期间在结构电路内吹制熔丝)来建立器件结构或控制器件的操作方面,和/或将器件的一个或多个所选管脚或其他接触结构连接至参考电压线(也称为约束)以建立器件的特定器件结构或操作方面。术语“示例性”用于表示示例,不是优选或要求的。虽然参照具体实施例描述了本发明,但应该理解,可以在不背离本发明的精神和范围的情况下进行各种修改和变化。例如,可以应用任何实施例的特征或方面,至少与任何其他实施例组合或者代替其相似的特征或方面。因此,说明书和附图是示意性而非限制性的。
应该理解,上面的描述是示例性的而非限制性的。本领域技术人员在阅读和理解上面的描述的基础上可以实现许多其他实施例。因此,本发明的范围应该参照所附权利要求以及这些权利要求的等效范围来确定。

Claims (35)

1.一种存储模块,包括:
多个器件站点;以及
第一数据DQ缓冲部件,耦合至所述多个器件站点,其中当所述存储模块被插入到具有多点下传数据链接的第一类型的存储通道中时,所述第一数据DQ缓冲部件以第一模式进行操作,而当所述存储模块被插入到具有点对点数据链接的第二类型的存储通道中时,所述第一数据DQ缓冲部件以第二模式进行操作;
至少十八个动态随机存取存储器DRAM器件,设置在相应的器件站点处;
九个DQ缓冲部件,耦合至所述至少十八个DRAM器件,所述九个DQ缓冲部件中的每一个DQ缓冲部件都耦合至所述至少十八个DRAM器件中的相应的对,其中所述九个DQ缓冲部件包括所述第一数据DQ缓冲部件;以及
命令和地址CA缓冲部件,耦合至所述至少十八个DRAM器件。
2.根据权利要求1所述的存储模块,其中所述第一数据DQ缓冲部件被编程为在所述第一模式和所述第二模式中操作为中继器。
3.根据权利要求1所述的存储模块,其中所述第一数据DQ缓冲部件被编程为在所述第一模式中操作为中继器而在所述第二模式中操作为多路复用器。
4.根据权利要求1所述的存储模块,其中所述存储模块连接至存储控制器,所述多点下传数据链接与连接至所述存储控制器的所有其他存储模块共享,并且其中所述点对点数据链接不连接至与所述存储控制器连接的所有其他存储模块。
5.根据权利要求1所述的存储模块,其中所述点对点数据链接是点对点P-P链接或点对两点P-2P链接中的至少一种。
6.根据权利要求1所述的存储模块,其中所述CA缓冲部件还包括:
初级数据链接,用于接收来自存储控制器的芯片选择CS信息以选择所述存储模块作为用于访问的所选模块,其中连接至所述存储控制器的其他存储模块是未被选择的模块;以及
次级数据链接,用于将所述CS信息重新发射至至少一个所述未被选择的模块。
7.根据权利要求1所述的存储模块,其中所述CA缓冲部件还包括:
初级数据链接,用于在所述存储模块被存储控制器选择时接收来自所述存储控制器的芯片选择CS信息;以及
次级数据链接,用于在所述存储模块没有被所述存储控制器选择时接收从与所述存储控制器连接的另一存储模块重新发射的所述CS信息的副本。
8.根据权利要求1所述的存储模块,其中所述存储模块还包括:
三个初级端口,用于在所述第一模式中耦合至三个所述多点下传数据链接以及在所述第二模式中耦合至三个所述点对点数据链接;和
三个次级端口,耦合至所述至少十八个DRAM器件中的三个DRAM器件。
9.根据权利要求8所述的存储模块,还包括设置在母板衬底中并且耦合在所述九个DQ缓冲部件中的至少两个DQ缓冲部件之间的专用总线。
10.根据权利要求1所述的存储模块,
其中所述命令和地址CA缓冲部件被耦合至CA链接和设置在母板衬底上的专用总线,所述CA缓冲部件在所述CA链接之上接收来自存储控制器的芯片选择CS信息并在所述专用总线上广播所述CS信息的副本。
11.根据权利要求9所述的存储模块,其中所述CA缓冲部件以约一时钟周期延迟将所述专用总线上的芯片选择CS信息的副本共享至与存储控制器连接的其他存储模块。
12.根据权利要求1所述的存储模块,其中所述多个器件站点中的至少一个器件站点包括单个器件、两个封装堆叠、至少一个两管芯堆叠或者具有微缓冲部件的四管芯堆叠中的至少一种。
13.一种存储模块,包括:
多个器件站点;以及
第一数据DQ缓冲部件,耦合至所述多个器件站点,其中当所述存储模块被插入到具有多点下传数据链接的第一类型的存储通道中时,所述第一数据DQ缓冲部件以第一模式进行操作,而当所述存储模块被插入到具有点对点数据链接的第二类型的存储通道中时,所述第一数据DQ缓冲部件以第二模式进行操作;其中所述第一数据DQ缓冲部件包括:
两个初级端口,用于在所述第一模式中耦合至两个所述多点下传数据链接且在所述第二模式中耦合至两个所述点对点数据链接;
两个次级端口,耦合至所述多个器件站点中的两个器件站点;
第一双向路径,位于所述两个初级端口中的第一初级端口与所述两个次级端口中的第一次级端口之间;
第二双向路径,位于所述两个初级端口中的第二初级端口与所述两个次级端口中的第二次级端口之间;以及
第三双向路径,位于所述第一初级端口与所述第二次级端口之间。
14.根据权利要求13所述的存储模块,其中所述第一数据DQ缓冲部件还包括第四双向路径,位于所述第二初级端口与所述第一次级端口之间。
15.根据权利要求13所述的存储模块,其中所述存储模块连接至存储控制器,所述多点下传数据链接与连接至所述存储控制器的所有其他存储模块共享,并且其中所述点对点数据链接不连接至与所述存储控制器连接的所有其他存储模块。
16.根据权利要求13所述的存储模块,其中所述存储模块还包括设置在相应的器件站点处的多个动态随机存取存储DRAM器件,其中所述点对点数据链接是点对点P-P链接或点对两点P-2P链接中的至少一种。
17.根据权利要求13所述的存储模块,其中所述存储模块还包括:
多个动态随机存取存储DRAM器件,设置在相应的器件站点处;以及
多个第一数据DQ缓冲部件,耦合至所述多个DRAM器件。
18.根据权利要求13所述的存储模块,其中所述存储模块还包括:
十八个动态随机存取存储器DRAM器件,设置在相应的器件站点处;
九个DQ缓冲部件,耦合至所述十八个DRAM器件,所述九个DQ缓冲部件中的每一个DQ缓冲部件都耦合至所述十八个DRAM器件中的相应的对,其中所述九个DQ缓冲部件包括所述第一数据DQ缓冲部件;以及
命令和地址CA缓冲部件,耦合至所述十八个DRAM器件。
19.一种存储模块,包括:
多个器件站点;以及
第一数据DQ缓冲部件,耦合至所述多个器件站点,其中当所述存储模块被插入到具有多点下传数据链接的第一类型的存储通道中时,所述第一数据DQ缓冲部件以第一模式进行操作,而当所述存储模块被插入到具有点对点数据链接的第二类型的存储通道中时,所述第一数据DQ缓冲部件以第二模式进行操作;其中所述第一数据DQ缓冲部件还包括:
第一多路复用器,包括耦合至两个初级接口的两个输入端和耦合至两个次级端口中的第二次级端口的输出端;
第二多路复用器,包括耦合至所述两个初级接口的两个输入端和耦合至所述两个次级端口中的第一次级端口的输出端;
第三多路复用器,包括耦合至所述两个次级端口的两个输入端和耦合至所述两个初级端口中的第一初级端口的输出端;以及
第四多路复用器,包括耦合至所述两个次级端口的两个输入端和耦合至所述两个初级端口中的第二初级端口的输出端。
20.根据权利要求19所述的存储模块,其中所述第一数据DQ缓冲部件还包括:
第一同步逻辑,耦合在所述第一多路复用器的输出端与所述第二次级端口之间;
第二同步逻辑,耦合在所述第二多路复用器的输出端与所述第一次级端口之间;
第三同步逻辑,耦合在所述第三多路复用器的输出端与所述第一初级端口之间;以及
第四同步逻辑,耦合在所述第四多路复用器的输出端与所述第二初级端口之间。
21.根据权利要求20所述的存储模块,其中所述第一数据DQ缓冲部件还包括:
第一旁路路径,从所述第一初级端口到所述第四多路复用器的第三输入端;以及
第二旁路路径,从所述第二初级端口到所述第三多路复用器的第三输入端。
22.根据权利要求20所述的存储模块,其中所述第一数据DQ缓冲部件还包括:
第五多路复用器,包括耦合至所述第三同步逻辑的输出端和与所述第二初级端口耦合的第一旁路路径的两个输入端以及耦合至所述第一初级端口的输出端;以及
第六多路复用器,包括耦合至所述第四同步逻辑的输出端和与所述第一初级端口耦合的第二旁路路径的两个输出端以及耦合至所述第二初级端口的输出端。
23.根据权利要求19所述的存储模块,其中所述第一数据DQ缓冲部件还包括直接耦合在所述第一初级端口和所述第二初级端口之间的被动异步旁路路径。
24.根据权利要求19所述的存储模块,其中所述存储模块连接至存储控制器,所述多点下传数据链接与连接至所述存储控制器的所有其他存储模块共享,并且其中所述点对点数据链接不连接至与所述存储控制器连接的所有其他存储模块。
25.根据权利要求19所述的存储模块,其中所述存储模块还包括设置在相应的器件站点处的多个动态随机存取存储DRAM器件,其中所述点对点数据链接是点对点P-P链接或点对两点P-2P链接中的至少一种。
26.根据权利要求19所述的存储模块,其中所述存储模块还包括:
多个动态随机存取存储DRAM器件,设置在相应的器件站点处;以及
多个第一数据DQ缓冲部件,耦合至所述多个DRAM器件。
27.根据权利要求19所述的存储模块,其中所述存储模块还包括:
十八个动态随机存取存储器DRAM器件,设置在相应的器件站点处;
九个DQ缓冲部件,耦合至所述十八个DRAM器件,所述九个DQ缓冲部件中的每一个DQ缓冲部件都耦合至所述十八个DRAM器件中的相应的对,其中所述九个DQ缓冲部件包括第一数据DQ缓冲部件;以及
命令和地址CA缓冲部件,耦合至所述十八个DRAM器件。
28.一种配置存储模块的方法,包括:
当所述存储模块被插入到具有多点下传数据链接的第一类型的存储通道中时,以第一模式操作所述存储模块;以及
当所述存储模块被插入到具有多点下传数据链接的第二类型的存储通道中时,以第二模式操作所述存储模块;
在所述第一模式中,在所述存储模块的数据DQ缓冲部件的第一初级端口和第一次级端口之间耦合第一双向路径;
在所述第一模式中,在所述存储模块的所述数据DQ缓冲部件的第二初级端口和第二次级端口之间耦合第二双向路径;以及
在所述第二模式中,在所述第一初级端口和所述第二次级端口之间耦合第三双向路径。
29.根据权利要求28所述的方法,其中所述数据DQ缓冲部件耦合至多个器件站点,其中所述方法还包括:在所述第一模式和所述第二模式中将所述数据DQ缓冲部件操作为中继器。
30.根据权利要求28所述的方法,其中所述数据DQ缓冲部件耦合至多个器件站点,其中所述方法还包括:
在所述第一模式 中将所述数据DQ缓冲部件操作为中继器;以及在所述第二模式中将所述数据DQ缓冲部件操作为多路复用器。
31.根据权利要求28所述的方法,还包括:
在所述第二模式中,在所述第二初级端口和所述第一次级端口之间耦合第四双向路径。
32.一种存储模块,包括:
多个管脚;
多个存储器件;
命令和地址CA缓冲部件,耦合至所述多个存储器件;以及
多个数据DQ缓冲部件,耦合至所述多个存储器件,其中第一数据DQ缓冲部件包括:
多个初级端口,耦合至所述多个管脚;
多个次级端口,耦合至所述多个存储器件;和
多个双向路径,位于所述多个初级端口和所述多个次级端口之间,
其中所述第一数据DQ缓冲部件被编程为:当所述存储模块被插入到具有多点下传数据链接的第一类型的存储通道中时,以第一结构操作所述多个双向路径,而当所述存储模块被插入到具有点对点数据链接的第二类型的存储通道中时,以第二结构操作所述多个双向路径;
其中所述多个双向路径包括:
第一双向路径,位于第一初级端口和第一次级端口之间;
第二双向路径,位于第二初级端口和第二次级端口之间;以及
第三双向路径,位于所述第一初级端口和所述第二次级端口之间。
33.根据权利要求32所述的存储模块,其中所述多个双向路径还包括:
第四双向路径,位于所述第二初级端口和所述第一次级端口之间。
34.根据权利要求32所述的存储模块,其中所述存储模块还包括:寄存器,用于存储指示操作的第一模式或第二模式的信息,其中所述第一模式对应于所述第一结构且所述第二模式对应于所述第二结构。
35.根据权利要求32所述的存储模块,其中所述存储模块还包括:专用总线,耦合在所述多个数据DQ缓冲部件中的第一数据DQ缓冲部件和第二数据DQ缓冲部件之间,其中所述第一数据DQ缓冲部件还包括耦合至所述专用总线的第一专用端口。
CN201480056078.3A 2013-11-11 2014-11-11 使用标准控制器部件的大容量存储系统 Active CN105612580B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910510781.1A CN110299157B (zh) 2013-11-11 2014-11-11 使用标准控制器部件的大容量存储系统

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201361902677P 2013-11-11 2013-11-11
US61/902,677 2013-11-11
US201361906242P 2013-11-19 2013-11-19
US61/906,242 2013-11-19
US201461930895P 2014-01-23 2014-01-23
US61/930,895 2014-01-23
PCT/US2014/065083 WO2015070245A1 (en) 2013-11-11 2014-11-11 High capacity memory system using standard controller component

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910510781.1A Division CN110299157B (zh) 2013-11-11 2014-11-11 使用标准控制器部件的大容量存储系统

Publications (2)

Publication Number Publication Date
CN105612580A CN105612580A (zh) 2016-05-25
CN105612580B true CN105612580B (zh) 2019-06-21

Family

ID=51987499

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201910510781.1A Active CN110299157B (zh) 2013-11-11 2014-11-11 使用标准控制器部件的大容量存储系统
CN201480056078.3A Active CN105612580B (zh) 2013-11-11 2014-11-11 使用标准控制器部件的大容量存储系统

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201910510781.1A Active CN110299157B (zh) 2013-11-11 2014-11-11 使用标准控制器部件的大容量存储系统

Country Status (4)

Country Link
US (8) US9165639B2 (zh)
EP (2) EP3069344B1 (zh)
CN (2) CN110299157B (zh)
WO (1) WO2015070245A1 (zh)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8516185B2 (en) * 2009-07-16 2013-08-20 Netlist, Inc. System and method utilizing distributed byte-wise buffers on a memory module
WO2015057865A1 (en) * 2013-10-15 2015-04-23 Rambus Inc. Load reduced memory module
US10235242B2 (en) 2015-09-28 2019-03-19 Rambus Inc. Fault tolerant memory systems and components with interconnected and redundant data interfaces
US10678719B2 (en) 2015-10-01 2020-06-09 Rambus Inc. Memory system with cached memory module operations
US10303372B2 (en) 2015-12-01 2019-05-28 Samsung Electronics Co., Ltd. Nonvolatile memory device and operation method thereof
KR102497239B1 (ko) 2015-12-17 2023-02-08 삼성전자주식회사 고속 신호 특성을 갖는 반도체 모듈
US9841922B2 (en) 2016-02-03 2017-12-12 SK Hynix Inc. Memory system includes a memory controller
US9837135B2 (en) * 2016-03-03 2017-12-05 Samsung Electronics Co., Ltd. Methods for addressing high capacity SDRAM-like memory without increasing pin cost
US10382544B2 (en) * 2016-04-08 2019-08-13 International Business Machines Corporation Establishing reverse paths between servers in a copy environment
KR20180009217A (ko) * 2016-07-18 2018-01-26 삼성전자주식회사 데이터 저장 장치의 작동 방법과 이를 포함하는 데이터 처리 시스템의 작동 방법
US20180046409A1 (en) * 2016-08-10 2018-02-15 International Business Machines Corporation Mass storage devices packages and software-defined arrays of such packages
US10268541B2 (en) * 2016-08-15 2019-04-23 Samsung Electronics Co., Ltd. DRAM assist error correction mechanism for DDR SDRAM interface
US10242750B2 (en) * 2017-05-31 2019-03-26 Sandisk Technologies Llc High-speed data path testing techniques for non-volatile memory
WO2019074743A1 (en) 2017-10-12 2019-04-18 Rambus Inc. NON-VOLATILE PHYSICAL MEMORY WITH DRAM CACHE MEMORY
KR102553266B1 (ko) 2017-11-03 2023-07-07 삼성전자 주식회사 온-다이-터미네이션 회로를 포함하는 메모리 장치
KR102467357B1 (ko) * 2018-01-31 2022-11-14 삼성전자주식회사 메모리 시스템 및 이의 에러 분석 방법
US10409760B1 (en) * 2018-03-09 2019-09-10 Samsung Electronics Co., Ltd. Adaptive interface high availability storage device
US11468925B2 (en) 2018-12-03 2022-10-11 Rambus Inc. DRAM interface mode with improved channel integrity and efficiency at high signaling rates
US11803328B2 (en) 2019-02-12 2023-10-31 Rambus Inc. Memory with variable access granularity
WO2020176291A1 (en) 2019-02-28 2020-09-03 Rambus Inc. Quad-channel dram
US11308017B2 (en) * 2019-05-31 2022-04-19 Micron Technology, Inc. Reconfigurable channel interfaces for memory devices
US11232847B2 (en) * 2019-09-20 2022-01-25 Advanced Micro Devices, Inc. Methods and devices for testing multiple memory configurations
US11367478B2 (en) * 2020-01-14 2022-06-21 Changxin Memory Technologies, Inc. Integrated circuit structure and memory
US11031070B1 (en) * 2020-01-27 2021-06-08 Micron Technology, Inc. Apparatus and method for performing continuous time linear equalization on a command/address signal
US11664057B2 (en) * 2020-07-14 2023-05-30 Micron Technology, Inc. Multiplexed memory device interface and method
WO2022051128A1 (en) * 2020-09-01 2022-03-10 Rambus Inc. Data-buffer controller/control-signal redriver
US11886376B2 (en) * 2021-08-10 2024-01-30 Micron Technology, Inc. Apparatus including reconfigurable interface and methods of manufacturing the same
JP2023045884A (ja) * 2021-09-22 2023-04-03 キオクシア株式会社 メモリシステム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101093717A (zh) * 2006-03-13 2007-12-26 英特尔公司 具有多个次级端口的输入/输出代理
CN101702947A (zh) * 2007-04-12 2010-05-05 拉姆伯斯公司 具有点对点请求互连的存储器系统

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5513135A (en) * 1994-12-02 1996-04-30 International Business Machines Corporation Synchronous memory packaged in single/dual in-line memory module and method of fabrication
KR100225954B1 (ko) * 1996-12-31 1999-10-15 김영환 전력 절감용 반도체 메모리 소자
JPH10340243A (ja) * 1997-06-06 1998-12-22 Hitachi Ltd 入出力データ転送システム
US6742098B1 (en) 2000-10-03 2004-05-25 Intel Corporation Dual-port buffer-to-memory interface
US6889304B2 (en) 2001-02-28 2005-05-03 Rambus Inc. Memory device supporting a dynamically configurable core organization
US6882082B2 (en) * 2001-03-13 2005-04-19 Micron Technology, Inc. Memory repeater
KR100630726B1 (ko) * 2004-05-08 2006-10-02 삼성전자주식회사 동작 모드가 별도로 설정되는 메모리 장치들을 구비하는메모리 시스템 및 동작 모드 설정 방법
JP4159415B2 (ja) * 2002-08-23 2008-10-01 エルピーダメモリ株式会社 メモリモジュール及びメモリシステム
US7571287B2 (en) * 2003-03-13 2009-08-04 Marvell World Trade Ltd. Multiport memory architecture, devices and systems including the same, and methods of using the same
WO2004092904A2 (en) * 2003-04-10 2004-10-28 Silicon Pipe, Inc. Memory system having a multiplexed high-speed channel
US7234099B2 (en) * 2003-04-14 2007-06-19 International Business Machines Corporation High reliability memory module with a fault tolerant address and command bus
US7389364B2 (en) * 2003-07-22 2008-06-17 Micron Technology, Inc. Apparatus and method for direct memory access in a hub-based memory system
US7415551B2 (en) * 2003-08-18 2008-08-19 Dell Products L.P. Multi-host virtual bridge input-output resource switch
US7296129B2 (en) * 2004-07-30 2007-11-13 International Business Machines Corporation System, method and storage medium for providing a serialized memory interface with a bus repeater
US7224595B2 (en) 2004-07-30 2007-05-29 International Business Machines Corporation 276-Pin buffered memory module with enhanced fault tolerance
KR100587690B1 (ko) * 2004-10-13 2006-06-08 삼성전자주식회사 어드레스 버퍼 회로 및 어드레스 버퍼 제어방법
US7334070B2 (en) * 2004-10-29 2008-02-19 International Business Machines Corporation Multi-channel memory architecture for daisy chained arrangements of nodes with bridging between memory channels
US7266639B2 (en) 2004-12-10 2007-09-04 Infineon Technologies Ag Memory rank decoder for a multi-rank Dual Inline Memory Module (DIMM)
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US7685392B2 (en) * 2005-11-28 2010-03-23 International Business Machines Corporation Providing indeterminate read data latency in a memory system
US7405949B2 (en) * 2005-12-09 2008-07-29 Samsung Electronics Co., Ltd. Memory system having point-to-point (PTP) and point-to-two-point (PTTP) links between devices
US20070260841A1 (en) 2006-05-02 2007-11-08 Hampel Craig E Memory module with reduced access granularity
WO2008014413A2 (en) * 2006-07-27 2008-01-31 Rambus Inc. Cross-threaded memory device and system
US7656745B2 (en) * 2007-03-15 2010-02-02 Micron Technology, Inc. Circuit, system and method for controlling read latency
US7707824B2 (en) * 2007-04-10 2010-05-04 Gm Global Technology Operations, Inc. Excess NH3 storage control for SCR catalysts
US7681289B2 (en) * 2007-04-11 2010-03-23 Kun-Chung Liu Fastener for fastening together two lace segments
US7644216B2 (en) * 2007-04-16 2010-01-05 International Business Machines Corporation System and method for providing an adapter for re-use of legacy DIMMS in a fully buffered memory environment
US20090177816A1 (en) * 2008-01-04 2009-07-09 Gerald Marx Method and system for communication with sd memory and sdio devices
US8380943B2 (en) * 2008-01-07 2013-02-19 Rambus Inc. Variable-width memory module and buffer
KR101008990B1 (ko) * 2008-12-05 2011-01-17 주식회사 하이닉스반도체 버퍼인에이블신호 생성회로 및 이를 이용한 입력회로
JP2010170597A (ja) 2009-01-20 2010-08-05 Elpida Memory Inc 半導体記憶装置及びそのリードプリアンブル信号の制御方法、並びにデータ伝送システム
US8020735B2 (en) * 2009-02-19 2011-09-20 Pi-Chao Chang Detachable threader
US8713379B2 (en) 2011-02-08 2014-04-29 Diablo Technologies Inc. System and method of interfacing co-processors and input/output devices via a main memory system
KR20120132287A (ko) * 2011-05-27 2012-12-05 삼성전자주식회사 반도체 메모리 장치, 반도체 메모리 패키지 및 반도체 메모리 장치의 집적도 증대 방법
KR20130000241A (ko) * 2011-06-22 2013-01-02 에스케이하이닉스 주식회사 칩 선택 회로 및 이를 포함하는 반도체 장치
US9025409B2 (en) 2011-08-05 2015-05-05 Rambus Inc. Memory buffers and modules supporting dynamic point-to-point connections
US8934311B2 (en) 2011-09-06 2015-01-13 Samsung Electronics Co., Ltd. Semiconductor memory device capable of screening a weak bit and repairing the same
JP2013061767A (ja) 2011-09-13 2013-04-04 Elpida Memory Inc メモリシステムおよびメモリモジュール
JP2013114415A (ja) 2011-11-28 2013-06-10 Elpida Memory Inc メモリモジュール
KR20130107841A (ko) 2012-03-23 2013-10-02 삼성전자주식회사 메모리 시스템

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101093717A (zh) * 2006-03-13 2007-12-26 英特尔公司 具有多个次级端口的输入/输出代理
CN101702947A (zh) * 2007-04-12 2010-05-05 拉姆伯斯公司 具有点对点请求互连的存储器系统

Also Published As

Publication number Publication date
US20170330610A1 (en) 2017-11-16
US20150131388A1 (en) 2015-05-14
US11024362B2 (en) 2021-06-01
US9183920B2 (en) 2015-11-10
US10453517B2 (en) 2019-10-22
EP3069344A1 (en) 2016-09-21
US11568919B2 (en) 2023-01-31
US20150138895A1 (en) 2015-05-21
US9165639B2 (en) 2015-10-20
EP3069344B1 (en) 2019-01-09
US20230238048A1 (en) 2023-07-27
EP3447770B1 (en) 2022-01-05
US20240144992A1 (en) 2024-05-02
US20200105335A1 (en) 2020-04-02
US11823732B2 (en) 2023-11-21
US20160189764A1 (en) 2016-06-30
US9653146B2 (en) 2017-05-16
US20210383857A1 (en) 2021-12-09
CN105612580A (zh) 2016-05-25
CN110299157A (zh) 2019-10-01
CN110299157B (zh) 2023-04-28
EP3447770A1 (en) 2019-02-27
WO2015070245A1 (en) 2015-05-14

Similar Documents

Publication Publication Date Title
CN105612580B (zh) 使用标准控制器部件的大容量存储系统
US10813216B2 (en) Load reduced memory module
US7729151B2 (en) System including a buffered memory module
CN105706064B (zh) 具有本地分别同步的内存模块
CN107111566B (zh) 用于存储器模块的动态随机存取存储器(dram)部件
CN109976665A (zh) 存储器件及包括该存储器件的存储模块
US11947474B2 (en) Multi-mode memory module and memory component
US20230178121A1 (en) High-bandwidth memory module architecture

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