CN101405708B - 自动计算机器的存储器系统 - Google Patents
自动计算机器的存储器系统 Download PDFInfo
- Publication number
- CN101405708B CN101405708B CN200780010381XA CN200780010381A CN101405708B CN 101405708 B CN101405708 B CN 101405708B CN 200780010381X A CN200780010381X A CN 200780010381XA CN 200780010381 A CN200780010381 A CN 200780010381A CN 101405708 B CN101405708 B CN 101405708B
- Authority
- CN
- China
- Prior art keywords
- memory
- buffer equipment
- memorizer buffer
- memorizer
- inbound
- 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
Images
Classifications
-
- 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/1673—Details of memory controller using buffers
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Static Random-Access Memory (AREA)
- Small-Scale Networks (AREA)
- Semiconductor Memories (AREA)
Abstract
披露了包括存储器控制器和出站链路的存储器系统,其中所述存储器控制器连接到所述出站链路。所述出站链路通常包括:多个将存储器信号从所述存储器控制器传导到第一存储器层中的存储器缓冲设备的传导路径;以及第一存储器层中的至少两个存储器缓冲设备。所述第一存储器层中的每个存储器缓冲设备通常连接到所述出站链路以便接收来自所述存储器控制器的存储器信号。
Description
技术领域
本发明的领域是用于自动计算机器的存储器系统。
背景技术
1948年开发的EDVAC计算机系统通常被称为计算机时代的开始。从那时起,计算机系统已发展成极其复杂的设备。当今的计算机比诸如EDVAC之类的早期系统复杂得多。计算机系统通常包括硬件和软件组件、应用程序、操作系统、处理器、总线、存储器、输入/输出设备等的组合。随着半导体工艺和计算机体系结构的发展促使计算机的性能越来越高,已推出更加完善的计算机软件以利用更高的硬件性能,从而使当今的计算机系统比仅仅几年前的计算机系统要强大得多。
当前的高性能计算主存储器系统将存储器设备结合在动态随机存取存储器(“DRAM”)设备阵列中。图1示出了现有技术存储器系统的实例,该存储器系统包括以轴辐式(hub-and-spoke)拓扑组织的存储器控制器(102)、存储器模块(124)、存储器缓冲设备(128)和存储器设备(125、126、127)的,其中存储器缓冲设备为“轴”并且存储器设备代表“辐”。存储器控制器(102)经由一个或多个包括出站链路(116、108、112)和入站链路(120、109、113)的物理高速单向链路与存储器缓冲设备(128)互连。每个存储器缓冲设备提供一个或多个到存储器设备组(125、126、127)的较低速度的独立连接。用于所谓的“全缓冲双列直插存储器模块”或“FBDIMM”的Jedec标准中描述了此类现有技术存储器系统体系结构的实例。图1的实例示出了在存储器缓冲设备和存储器控制器之间只有一个存储器缓冲设备和链路的“通道”或网络。但是,实际存储器系统通常可以使用多个此类通道或网络实现。每个此类通道可以包括在逻辑上共同分组为各个组(125、126、127)的存储器模块,所述各个组通过存储器控制器一致运行,以针对系统存储器高速缓存线传输(通常为64字节或128字节)提供最佳等待时间、带宽和纠错效果。
存储器控制器(102)根据存储器系统网络通信协议将来自系统处理器(156)的系统存储器访问请求转换为分组。此类协议的存储器“写入”分组可以包括命令(“read”或“write”)、地址和关联数据,并且存储器“读取”分组可以包括命令和地址。存储器读取分组意味着包含从存储器读取的数据的预期分组将被返回存储器控制器。
在包括级联存储器缓冲设备和点对点电或光链路的存储器系统网络拓扑中,因为必须在级联存储器缓冲设备网络中的特定存储器设备组和存储器控制器之间通过每个存储器缓冲设备传播,存储器访问等待时间将被降级。出于说明目的,可以将跨存储器缓冲设备的信号转变的转变延迟视为一个等待时间单位。因此,可以说在存储器控制器(102)和组1(125)中的存储器设备之间传输存储器信号的等待时间具有值1。在存储器控制器(102)和组2(126)中的存储器设备之间传输存储器信号的等待时间具有值2。依此类推,从而在存储器控制器(102)和任一组X(127)中的存储器设备之间传输存储器信号的等待时间具有值X。
除了存储器访问等待时间的问题之外,点对点网络连接使得接口的功耗和成本最大化。例如,在图1的存储器系统中,存储器控制器和每个存储器缓冲设备跨每个链路的完整宽度驱动输出存储器信号。如果出站链路中具有10个线路,则驱动链路的存储器控制器或存储器缓冲设备在其到链路的输出接口中具有10个输出驱动器,并且需要电源为所有10个驱动器供电。由于所有这些原因,越来越需要在存储器系统领域中进行革新。
发明内容
在第一实施例中,本发明相应地提供了一种存储器系统,所述存储器系统包括:存储器控制器;出站链路,所述存储器控制器连接到所述出站链路,所述出站链路包括多个将存储器信号从所述存储器控制器传导到第一存储器层中的存储器缓冲设备的传导路径;以及第一存储器层中的至少两个存储器缓冲设备,所述第一存储器层中的每个存储器缓冲设备连接到所述出站链路以接收来自所述存储器控制器的存储器信号。
优选地,所述第一存储器层中的所述至少两个存储器缓冲设备彼此同步以便通过所述出站链路接收出站存储器信号。
优选地,所述第一存储器层中的所述至少两个存储器缓冲设备彼此同步进一步包括:所述第一存储器层中的所述至少两个存储器缓冲设备中的每个存储器缓冲设备都与所述存储器控制器在同一时刻同步到预定同步阈值度量。
所述存储器系统优选地还包括至少两个存储器层,每个存储器层还包括至少两个存储器缓冲设备,每个存储器层通过至少一个出站链路连接以便将存储器信号传送到所述存储器层中的至少一个存储器缓冲设备,每个存储器层通过至少一个入站链路连接以便从所述存储器层中的至少一个存储器缓冲设备传送存储器信号,所述入站链路由入站链路速度表征,所述出站链路由出站链路速度表征,所述入站链路速度取决于所述出站链路速度。
所述存储器系统优选地还包括其他出站链路,每个其他出站链路包括多个连接到所述第一存储器层的存储器缓冲设备的传导路径,以便将存储器信号从所述第一存储器层中的存储器缓冲设备传导到其他存储器层中的两个或更多其他存储器缓冲设备,每个其他出站链路包括的传导路径的数量小于将所述存储器控制器连接到所述第一存储器层中的所述存储器缓冲设备的所述出站链路中的传导路径的数量;以及其他存储器层中的至少两个其他存储器缓冲设备,每个其他存储器缓冲设备连接到至少两个所述其他出站链路,以便接收在所述存储器控制器与所述第一存储器层中的所述存储器缓冲设备之间的所述出站链路上从所述存储器控制器传输的所有存储器信号。
优选地,所述其他存储器层中的所述至少两个存储器缓冲设备彼此同步以便通过所述出站链路接收出站存储器信号。
优选地,所述其他存储器层中的所述至少两个存储器缓冲设备彼此同步进一步包括:所述其他存储器层中的所述至少两个存储器缓冲设备中的每个存储器缓冲设备都与所述第二存储器层中的所述存储器缓冲设备通过出站链路与之连接的所述第一存储器层中的存储器缓冲设备在同一时刻同步到预定同步阈值度量。
所述存储器系统优选地还包括多个单独入站链路,每个入站链路从所述第一存储器层中的每个存储器缓冲设备连接到所述存储器控制器,以便将存储器信号从所述第一存储器层中的每个存储器缓冲设备传输到所述存储器控制器。
所述存储器系统优选地还包括其他入站链路,每个其他入站链路包括多个连接到所述第一存储器层的存储器缓冲设备的传导路径,以便将存储器信号从其他存储器层的其他存储器缓冲设备传导到所述第一存储器层的所述存储器缓冲设备,每个其他入站链路包括的传导路径的数量等于将所述存储器控制器连接到所述第一存储器层中的所述存储器缓冲设备的所述入站链路中的传导路径的数量;以及其他存储器层中的至少两个其他存储器缓冲设备,每个其他存储器缓冲设备连接到所述其他入站链路中的一个其他入站链路,以便将所有要从所述第一存储器层中的每个存储器缓冲设备传输到所述存储器控制器的存储器信号从所述其他存储器缓冲设备发送到所述第一存储器层的所述存储器缓冲设备中的一个存储器缓冲设备。
所述存储器系统优选地还包括其他出站链路,所述其他出站链路包括多个连接到所述第一存储器层中的第一存储器缓冲设备的传导路径,以便将所有出站存储器信号从所述第一存储器层中的所述第一存储器缓冲设备传导到其他存储器层中的至少两个其他存储器缓冲设备,所述其他出站链路包括的传导路径的数量等于将所述存储器控制器连接到所述第一存储器层中的所述存储器缓冲设备的所述出站链路中的传导路径的数量;以及其他存储器层中的至少两个其他存储器缓冲设备,每个其他存储器缓冲设备连接到所述其他出站链路,以便通过所述其他出站链路和通过所述第一存储器层中的所述第一存储器缓冲设备接收来自所述存储器控制器的所有出站存储器信号,其中所述第一存储器层中的至少一个存储器缓冲设备没有通过其他出站链路连接到所述其他存储器层的任何其他存储器缓冲设备。
优选地,所述存储器被分段以便存储器层中的每个存储器缓冲设备仅管理由来自所述存储器控制器的出站存储器信号寻址的存储器的一部分,并且所述存储器系统还包括:入站链路,所述入站链路包括两个或更多部分入站链路,每个部分入站链路从所述第一存储器层的存储器缓冲设备连接到所述存储器控制器,以便将入站存储器信号从所述第一存储器层中的每个存储器缓冲设备传输到所述存储器控制器,每个部分入站链路包括所述入站链路的所述传导路径的一部分,每个部分入站链路承载入站存储器信号,所述入站存储器信号表示由来自所述存储器控制器的出站读取存储器信号寻址的存储器的一部分的内容。
所述存储器系统优选地还包括其他部分入站链路,每个其他部分入站链路包括多个连接到所述第一存储器层的存储器缓冲设备的传导路径,以便将存储器信号从其他存储器层的其他存储器缓冲设备传导到所述第一存储器层的所述存储器缓冲设备,每个其他入站链路包括的传导路径的数量小于将所述存储器控制器连接到所述第一存储器层中的所述存储器缓冲设备的所述入站链路中的传导路径的数量;以及其他存储器层中的至少两个其他存储器缓冲设备,每个其他存储器缓冲设备连接到所述其他部分入站链路中的一个其他部分入站链路,以便将所有要从所述第一存储器层的每个存储器缓冲设备传输到所述存储器控制器的存储器信号从所述其他存储器缓冲设备传送到所述第一存储器层的所述存储器缓冲设备中的一个存储器缓冲设备。
所述存储器系统优选地还包括第一其他出站链路,所述第一其他出站链路连接到所述第一存储器层的第一存储器缓冲设备,以便将从所述存储器控制器接收的存储器信号通过所述第一存储器层的所述第一存储器缓冲设备传导到其他存储器层的至少两个其他存储器缓冲设备,所述第一其他出站链路初始被启用;第二其他出站链路,所述第二其他出站链路连接到所述第一存储器层的第二存储器缓冲设备,以便将从所述存储器控制器接收的存储器信号通过所述第一存储器层的所述第二存储器缓冲设备传导到所述其他存储器层中的所述至少两个其他存储器缓冲设备,所述第二其他出站链路初始被禁用;以及所述其他存储器层中的所述至少两个其他存储器缓冲设备,每个其他存储器缓冲设备连接到所述第一其他出站链路和所述第二其他出站链路,以便通过所述第一其他出站链路或所述第二其他出站链路接收来自所述存储器控制器的存储器信号。
优选地,所述存储器控制器还包括以下能力:检测所述第一存储器层的所述第一存储器缓冲设备中的故障;禁用所述第一其他出站链路;以及启用所述第二其他出站链路。
所述存储器系统优选地还包括第一入站链路,所述第一入站链路从所述第一存储器层中的第一存储器缓冲设备连接到所述存储器控制器,以便将入站存储器信号从所述第一存储器缓冲设备传送到所述存储器控制器;以及第二入站链路,所述第二入站链路从所述第一存储器层中的第二存储器缓冲设备连接到所述第一存储器层中的所述第一存储器缓冲设备,以便将入站存储器信号从所述第二存储器缓冲设备传送到所述第一存储器缓冲设备并通过所述第一存储器缓冲设备和所述第一入站链路传送到所述存储器控制器。
所述存储器系统优选地还包括第三入站链路,所述第三入站链路从其他存储器层中的第一存储器缓冲设备连接到所述第一存储器层中的所述第二存储器设备,以便将入站存储器信号从其他存储器层中的所述第一存储器缓冲设备传送到所述第一存储器层中的所述第二存储器缓冲设备并通过第一存储器层中的所述第二存储器缓冲设备、所述第二入站链路、所述第一存储器层中的所述第一存储器缓冲设备以及所述第一入站链路传送到所述存储器控制器;以及第四入站链路,所述第四入站链路从所述第二存储器层中的第二存储器缓冲设备连接到所述第二存储器层中的所述第一存储器缓冲设备,以便将入站存储器信号从所述第二存储器层中的所述第二存储器缓冲设备传输到所述第二存储器层中的所述第一存储器缓冲设备并通过所述第二存储器层中的所述第一存储器缓冲设备、所述第三入站链路、所述第一存储器层中的所述第二存储器缓冲设备、所述第二入站链路、所述第一存储器层中的所述第一存储器缓冲设备以及所述第一入站链路传输到所述存储器控制器。
因此,披露了优选地包括存储器控制器和出站链路的存储器系统,其中所述存储器控制器连接到所述出站链路。所述出站链路通常包括多个将存储器信号从所述存储器控制器传导到第一存储器层中的存储器缓冲设备的传导路径;以及第一存储器层中的至少两个存储器缓冲设备。所述第一存储器层中的每个存储器缓冲设备通常连接到所述出站链路以接收来自所述存储器控制器的存储器信号。
附图说明
现在将仅通过实例的方式参考附图描述本发明的优选实施例,这些附图是:
图1示出了包括以轴辐式拓扑组织的存储器控制器、存储器模块、存储器缓冲设备和存储器设备的现有技术存储器系统的实例;
图2示出了根据本发明的实施例的包括可与存储器系统一起使用的示例性计算机的自动计算机器的方块图;
图3示出了根据本发明的实施例的可用于存储器系统的示例性存储器缓冲设备的功能方块图;
图4是示出了根据本发明的实施例的示例性存储器系统的功能方块图;
图5是示出了根据本发明的实施例的可用于各种存储器系统的示例性存储器信号分组结构的线图;
图6是示出了根据本发明的实施例的另一个示例性存储器系统的功能方块图;
图7是示出了根据本发明的实施例的另一个示例性存储器系统的功能方块图;
图8是示出了根据本发明的实施例的另一个示例性存储器系统的功能方块图;以及
图9是示出了根据本发明的实施例的另一个示例性存储器系统的功能方块图。
具体实施方式
参考附图从图2开始描述了根据本发明的实施例的示例性存储器系统。根据本发明的实施例的存储器系统通常使用计算机,即使用自动计算机器来实现。因此,图2示出了根据本发明的实施例的包括可与存储器系统一起使用的示例性计算机(152)的自动计算机器的方块图。图2的计算机(152)包括至少一个计算机处理器(156)以及通过系统总线(160)连接到处理器(156)和计算机的其他组件的存储器控制器(302)。图2的计算机还包括存储器信号通道的出站链路(306)。存储器控制器(302)连接到出站链路,并且出站链路包括多个将存储器信号从存储器控制器传导到第一存储器层(356)中的存储器缓冲设备(352、354)的电或光传导路径。第一存储器层中具有至少两个存储器缓冲设备(352、354),并且第一存储器层中的每个存储器缓冲设备都连接到出站链路以接收来自存储器控制器的存储器信号。
RAM(168)中存储应用程序(110),其为用于执行数据处理的用户级别计算机程序指令模块。RAM(168)中还存储计算机操作系统(154)。可与根据本发明的实施例的存储器系统一起使用的计算机操作系统包括UNIXTM、LinuxTM、Microsoft XPTM、AIXTM、IBM的i5/OSTM以及本领域的技术人员将想到的其他操作系统。图2的实例中的操作系统(154)和应用(110)被示为在RAM(168)中,但此类软件的多个组件通常还被存储在非易失性存储器(166)中。
图2的计算机(152)包括通过系统总线(160)连接到处理器(156)和计算机(152)的其他组件的非易失性计算机存储器(166)。非易失性计算机存储器(166)可以被实现为硬盘驱动器(170)、光盘驱动器(172)、电可擦写可编程只读存储器空间(所谓的“EEPROM”或“闪速”存储器)(174)、RAM驱动器(未示出)或本领域的技术人员将想到的任何其他种类的计算机存储器。
图2的实例计算机包括一个或多个输入/输出接口适配器(178)。计算机中的输入/输出接口适配器通过例如用于控制到诸如计算机显示屏之类的显示设备(180)的输出,以及来自诸如键盘和鼠标之类的用户输入设备(181)的用户输入的软件驱动器和计算机硬件来实现面向用户的输入/输出。
图2的示例性计算机(152)包括用于实现与其他计算机(182)的数据通信(184)的通信适配器(167)。此类数据通信可以通过RS-232连接、通过诸如USB之类的外部总线、通过诸如IP网络之类的数据通信网络,以及本领域的技术人员将想到的其他方式来串行执行。通信适配器实现硬件级别的数据通信,由此一个计算机可直接或通过网络向另一个计算机发送数据通信。可与根据本发明的实施例的存储器系统一起使用的通信适配器的实例包括用于有线拨号通信的调制解调器、用于有线网络通信的以太网(IEEE802.3)适配器,以及用于无线网络通信的802.11b适配器。
为了进一步说明,图3示出了根据本发明的实施例的可用于存储器系统的示例性存储器缓冲设备(128)的功能方块图。在图3的实例中,存储器缓冲设备(128)包括将来自存储器网络通道(108)的高速存储器访问业务重新同步和重新驱动到关联的存储器设备(126)并继续通过网络通道重新同步和重新驱动到通道上的其他存储器缓冲设备的链路接口(204)。也就是说,链路接口(204)在其出站输入接收器电路(220)中从靠近存储器控制器的存储器网络(202)接收存储器信号,在朝向远离存储器控制器(203)的网络的网络链路上通过出站输出发送器电路(224)重新同步和重新驱动此类业务的每个分组。同样,链路接口(204)在其入站输入接收器电路(226)中从远离存储器控制器的存储器网络(203)接收存储器信号,在朝向靠近存储器控制器的网络(202)的网络链路上通过入站输出发送器电路(222)重新同步和重新驱动此类业务的每个分组。
整体存储器系统的速度要求意味着链路接口通常将在检查每个分组之前转发每个出站分组。通道速度太快而不能等待任何特定存储器缓冲设备在传送分组之前确定分组是否将要发给此存储器缓冲设备。因此,根据通道(108)的存储器通信协议,通道的每个存储器缓冲设备的每个链路接口接收每个出站分组。转发每个出站分组之后,链路接口(204)检查每个出站分组以判定此分组是否被寻址到由存储器缓冲设备(128)提供服务的存储器,并且如果是,链路接口(204)将分组的内容传送到存储器缓冲设备控制逻辑(213)。对于入站分组:链路接口(204)将重新同步和重新驱动所有入站业务而不进行检查。
存储器缓冲设备控制电路(213)通过响应地驱动存储器设备地址和控制线(214)将分组提供给直接读取数据流(205)和写入数据流(209)。存储器缓冲设备(128)包括同步从存储器设备(126)读取的数据并控制双向存储器数据总线(208)的数据接口(221)。存储器缓冲设备控制电路(213)使用其他控制电路(207、210)来实现数据是否被排队(206、211),或数据是被直接驱动到存储器还是从存储器直接驱动数据。来自链路接口(204)的存储器写入数据(212)可以被排队(211)或通过数据总线(208)被直接驱动到存储器设备(126)。存储器读取数据可以被排队(206)或被直接传输到链路接口(204)以便作为读取答复分组在网络上传输。
存储器系统体系结构:每个存储器层两个或更多缓冲器
为了进一步说明,图4是示出了根据本发明的实施例的包括存储器控制器(302)和出站链路(306)的示例性存储器系统的功能方块图,其中存储器控制器(302)连接到出站链路(306),并且出站链路(306)包括将存储器信号从存储器控制器(302)传导到第一存储器层(356)中的存储器缓冲设备(344、346)的传导路径。图4的存储器系统还包括第一存储器层(356)中的至少两个存储器缓冲设备(344、346),其中第一存储器层中的每个存储器缓冲设备(344、346)都连接(308、310)到出站链路(306)以接收来自存储器控制器(302)的存储器信号。
存储器控制器(302)从计算机处理器(图2中的156)接收存储器指令并生成必要的存储器信号以控制从存储器读取信息以及将信息写入存储器。存储器控制器一般被集成到通常在所谓的“北桥”中的系统芯片组。适于在根据本发明的实施例的存储器系统中使用的存储器控制器的实例包括IntelTM82845存储器控制器集线器和IBMTM CPC925北桥。
出站链路(306、316、318等)连同入站链路(312、314、320、322等)一起形成存储器通信通道(304),以便将存储器信号传送到存储器以及从存储器传送存储器信号。链路是电传导或光传导的传导路径,以电或光的方式在存储器通信网络的元件:存储器控制器和存储器缓冲设备之间传送存储器信号。在远离存储器控制器的存储器通道上传送存储器信号的链路被称为“出站链路”。在朝向存储器控制器的存储器通道上传送存储器信号的链路被称为“入站链路”。
连接存储器控制器(302)和存储器缓冲设备(344、346、348、350、352、354)的存储器通道(304)构成存储器通信网络。在此实例中,由若干存储器设备组(332、334、336、338、340、342)来表示存储器。每个组包含多个通常可以被实现为各种动态或静态随机存取存储器的单独存储器设备。图4的实例中的存储器还被组织为各个级别(356、358、360),其中每个级别包含至少两个存储器缓冲设备:存储器级别(356)中的存储器缓冲设备(344、346)、存储器级别(358)中的存储器缓冲设备(348、350),以及存储器级别(360)中的存储器缓冲设备(352、354)。
出站级联体系结构:部分出站链路
图4的实例存储器系统包括其他出站链路(316、318)。每个其他出站链路包括多个连接到第一存储器层的存储器缓冲设备(344、346)的传导路径,以便将存储器信号从第一存储器层中的存储器缓冲设备传导到其他存储器层(358)中的两个或更多其他存储器缓冲设备(348,350)。每个其他出站链路(316、318)包括的传导路径的数量小于将存储器控制器(302)连接到第一存储器层(356)中的存储器缓冲设备(344、346)的出站链路(306)中的传导路径的数量。在此实例中,每个其他出站链路(316、318)包括的传导路径的数量等于将存储器控制器连接到第一存储器层中的存储器缓冲设备的出站链路(306)中的传导路径的数量(N)的一半(N/2)。
图4的示例性存储器系统还包括其他存储器层(358)中的至少两个其他存储器缓冲设备(348、350),其中每个其他存储器缓冲设备连接(362、364)到至少两个其他出站链路(在此实例中,确切地说为两个:316和318),以便接收在存储器控制器(302)和第一存储器层(356)中的存储器缓冲设备(344、346)之间的出站链路(306)上从存储器控制器传输的所有存储器信号。
也就是说,在图4的实例中,到第一存储器层之上的其他存储器层的出站链路是部分链路。具体地说,在此实例中,到第一存储器层之上的其他存储器层的出站链路是半链路。如果从存储器控制器到第一存储器层的出站链路要包括10个线路,则到其他存储器层的每个出站链路将只有5个线路。如果从存储器控制器到第一存储器层的出站链路要包括奇数个线路(例如10个线路),则假设每个其他存储器层具有两个出站链路,到其他存储器层的一个出站链路可以具有5个线路而另一个可以具有6个线路。
链路线路被聚集在到其他存储器层中的存储器缓冲器的输入处,以便每个其他存储器层中的每个缓冲器具备完整的出站链路。这样,出站半链路(316)和出站半链路(318)在到其他存储器层(358)的缓冲器(348)的出站输入处被聚集为完整链路(362)。出站半链路(316)和出站半链路(318)在到其他存储器层(358)的缓冲器(350)的出站输入处被聚集为完整链路(364)。出站半链路(324)和出站半链路(326)在到其他存储器层(360)的缓冲器(352)的出站输入处被聚集为完整链路(366)。出站半链路(324)和出站半链路(326)在到其他存储器层(360)的缓冲器(354)的出站输入处被聚集为完整链路(368)。依此类推,不但对于在此示出的两个其他存储器层(358、360)如此,而且对于任何数量的其他存储器层也是如此。
鉴于此说明,读者将认识到图4的实例的出站链路体系结构的优点包括显著降低了出站通道线路的物理复杂性以及显著降低了存储器缓冲设备的输出驱动器电路中的功耗,现在只需具有例如图1中示出的现有技术系统所要求的出站输出驱动器电路的大约一半。
通道协议
为了进一步说明,图5是示出了根据本发明的实施例的可用于各种存储器系统的示例性存储器信号分组结构的线图。图5还示出了根据本发明的实施例的可用于各种存储器系统的四层国际标准化组织(“OSI”)数据通信堆栈的第一层的示例性实现。图5帧的实例分组(250)包括1字节分组开始字段(252)、2字节序列号、20字节标头、0到4096字节数据字段、0到4字节循环冗余校验字段,以及1字节分组结束字段。
标头字段可以包含标识分组类型的数据(特定分组是表示用于将数据写入存储器的指令还是用于从存储器读取数据的指令)、数据被写入该处或从该处读取数据的存储器地址,以及要被读取或写入的数据量。循环冗余校验(“CRC”)是用于根据较大数据块(例如网络业务的分组)生成校验和(很少数量的位)的散列函数。校验和用于在传输或存储之后检测和纠正错误。在传输之前计算和附加CRC值,然后由接收方进行验证以确认传输期间没有发生更改。CRC特别适用于检测由传输通道中的噪声引起的常见错误。
根据本发明的实施例的存储器系统可以被视为实现OSI堆栈的较低层。OSI传输层(267)由从处理器到存储器控制器的存储器指令,即读取或写入请求来表示。紧接的下面两个堆栈级别接受此读取或写入请求,并通过附加路由和流控制信息以及CRC信息、将信息放在帧中,然后将信息发送到其目的地而将请求转换为分组。
OSI网络层(266)由向特定存储器缓冲设备(实际由分组标头数据寻址)管理的特定存储器组发送数据并从特定存储器组接收数据的分组组织表示。OSI链路层(264)将标头(256)和数据(258)封装在分组(250)中,后者具有分组开始字段(252)、序列号(254)、CRC值(260)和结束字段(262)。OSI物理层(266)包括存储器通信网络的实际硬件:存储器控制器(302)、存储器缓冲设备(348、344),以及存储器控制器和存储器缓冲设备之间的链路(306、307、314、315)。
用于根据本发明的实施例的存储器通信通道的数据通信协议是高速串行协议,其中一系列串行分组位在被映射到一组并行链路线路的脉冲串中传输。链路可以具有任何数量的线路。出站链路的典型(但仍是可选的)大小是10个线路,而入站链路的典型(仍是可选的)大小是14个线路。
出站同步
在图4的存储器系统中,第一存储器层(356)中的存储器缓冲设备(344、346)彼此同步以通过出站链路(306)接收出站存储器信号。在图4的存储器系统中,可以例如通过将第一存储器层中的每个存储器缓冲设备(344、346)与存储器控制器(302)在同一时间同步到预定同步阈值度量,来执行第一存储器层中的存储器缓冲设备的彼此同步。
为了进一步说明,图6是示出了根据本发明的实施例的另一个包括存储器控制器(902)和出站链路(906)的示例性存储器系统(如图4的示例性存储器系统)的功能方块图,其中存储器控制器(902)连接到出站链路(906),并且出站链路(906)包括将存储器信号从存储器控制器(902)传导到第一存储器层(956)中的存储器缓冲设备(944、946)的传导路径。
同步用于最大化可以可靠地将有效数据检测为1或0的时间段(被称为“数据眼”)。同步按给定频率发生。当被指定为发送方的设备(存储器控制器或存储器缓冲设备)在链路上同时向两个被指定为接收方的存储器缓冲设备发送预定信号模式时,接收方针对每个信号调整其时钟到数据偏斜,并且还可以调整接收方电特性以最大化“数据眼”宽度(微微秒)。在启动时,高速存储器通道(904)尚未被同步,因此通过高速通道的带内同步指令传送不可用。可以通过使带内信号初始在同步之前的配置期间以非常低的速度运行来启动同步。或者同步可以被自动启动以响应重置管脚断言并由链路两端的逻辑状态机执行。备选地,计算机的基本输入/输出系统(“BIOS”)(962)中的引导模块可以通过诸如I2C总线或系统管理总线(“SMBus”或“SMB”,如图6中的标号(964)处所示)之类的带外网络将同步指令传送到存储器控制器(902)和存储器缓冲设备(944、946)。
在图4的实例中,通过将存储器控制器指定为发送方并将每个存储器缓冲设备指定为同时接收方、指示发送方同时向两个接收方发送一系列测试模式,以及在每个接收方上将同步量测量为以微微秒衡量的链路信号眼的宽度,来将第一存储器层中的每个存储器缓冲设备(344、346)与存储器控制器(302)在同一时间同步到预定同步阈值度量。预定同步阈值度量是以微微秒衡量的最小所需链路信号眼宽度,例如200或250微微秒。
因此,在一个实例中,如果预定同步阈值度量被设置为200微微秒,如果第一存储器层中的第一存储器缓冲设备以200微微秒信号眼与存储器控制器同步,并且第一存储器层中的第二存储器缓冲设备同时以225微微秒信号眼与存储器控制器同步,则两个存储器缓冲设备将被视为彼此同步。在另一个给定相同的200微微秒预定同步阈值度量的实例中,如果第一存储器层中的第一存储器缓冲设备以200微微秒信号眼与存储器控制器同步,并且第一存储器层中的第二存储器缓冲设备同时以175微微秒信号眼与存储器控制器同步,则两个存储器缓冲设备将不会被视为彼此同步,并且第二存储器缓冲设备将调整其时钟到数据偏斜或其接收方电特性,直到其链路信号眼宽度至少为200微微秒。
出站级联同步
在图4的存储器系统中,其他存储器层(358)中的存储器缓冲设备(348、350)彼此同步以通过出站链路接收出站存储器信号。可以例如通过将其他存储器层中的每个存储器缓冲设备与第二存储器层中的存储器缓冲设备通过出站链路与之连接的第一存储器层中的存储器缓冲设备同时同步到预定同步阈值度量,来执行其他存储器层中的存储器缓冲设备的彼此同步。
如上所述,图6是示出了根据本发明的实施例的包括存储器控制器(902)和出站链路(906)的示例性存储器系统(如图4的示例性存储器系统)的功能方决图,其中存储器控制器(902)连接到出站链路(906),并且出站链路(906)包括将存储器信号从存储器控制器(902)传导到第一存储器层(956)中的存储器缓冲设备(944、946)的传导路径。
同步用于最大化可以可靠地将有效数据检测为1或0的时间段(被称为“数据眼”)。同步按给定频率发生。当被指定为发送方的一个存储器缓冲设备在链路上同时向两个被指定为接收方的存储器缓冲设备发送预定信号模式时,接收方针对每个信号调整其时钟到数据偏斜,并且还可以调整接收方电特性以最大化“数据眼”宽度(微微秒)。在启动时,高速存储器通道(904)尚未被同步,因此通过高速通道的带内同步指令传送不可用。因此,如上所述,可以通过使用低速带内信号、重置管脚断言,或通过使用诸如I2C总线或系统管理总线(“SMBus”或“SMB”,图6的标号964)的带外网络来启动同步。
在图4的实例中,通过将存储器缓冲设备(344)指定为发送方并将两个存储器缓冲设备(348、350)指定为同时接收方、指示发送方同时向两个接收方发送一系列测试模式,以及在每个接收方上将同步量测量为以微微秒衡量的链路信号眼的宽度,来将第二存储器层(358)中的每个存储器缓冲设备(348、350)与第一存储器层(356)中的存储器缓冲设备(344、346)在同一时间同步到预定同步阈值度量。预定同步阈值度量是以微微秒衡量的最小所需链路信号眼宽度,例如200或250微微秒。
因此,在一个实例中,如果预定同步阈值度量被设置为200微微秒,如果第二存储器层中的第一存储器缓冲设备以200微微秒信号眼与第一存储器层中的存储器缓冲设备同步,并且第二存储器层中的第二存储器缓冲设备同时以225微微秒信号眼与第一存储器层中的存储器缓冲设备同步,则两个存储器缓冲设备将被视为彼此同步。在另一个给定相同的200微微秒预定同步阈值度量的实例中,如果第二存储器层中的第一存储器缓冲设备以200微微秒眼与第一存储器层中的存储器缓冲设备同步,并且第二存储器层中的第二存储器缓冲设备同时以175微微秒眼与第一存储器层中的存储器缓冲设备同步,则第二存储器层中的两个存储器缓冲设备将不会被视为彼此同步,并且第二存储器层中的第二存储器缓冲设备将调整其时钟到数据偏斜或其接收方电特性,直到其链路信号眼宽度至少为200微微秒。
读者将认识到,虽然在图6的实例中通过参考仅用于两个存储器层(956、958)的出站同步描述了初始同步,但此类同步方法可以扩展到第三存储器层(960)、任何数量的其他存储器层,以及用于任何数量的存储器层的入站情况。
入站体系结构:每个通道多个完整入站链路
再次参考图4:图4的存储器系统包括多个单独入站链路(312、314),其中每个此类入站链路(312、314)从第一存储器层(356)中的每个存储器缓冲设备(344、346)连接到存储器控制器(302)以将存储器信号从第一存储器层中的每个存储器缓冲设备传输到存储器控制器。也就是说,入站链路(312)从第一存储器层(356)中的存储器缓冲设备(344)连接到存储器控制器(302)以将存储器信号从存储器缓冲设备(344)传输到存储器控制器(302),并且入站链路(314)从第一存储器层(356)中的存储器缓冲设备(346)连接到存储器控制器(302)以将存储器信号从存储器缓冲设备(346)传输到存储器控制器(302)。
入站级联体系结构:每个通道多个完整入站链路
图4的存储器系统还包括其他入站链路(320、322)。每个其他入站链路包括多个连接到第一存储器层(356)的存储器缓冲设备(344、346)的电传导或光传导的传导路径,以便将存储器信号从其他存储器层(358)的其他存储器缓冲设备(348、350)传导到第一存储器层的存储器缓冲设备。在图4的实例中,每个其他入站链路(320、322)包括的传导路径的数量等于将存储器控制器(302)连接到第一存储器层(356)中的存储器缓冲设备(344、346)的入站链路(312、310)中的传导路径的数量。
图4的存储器系统还包括其他存储器层(358)中的至少两个其他存储器缓冲设备(348、350)。每个其他存储器缓冲设备连接到其他入站链路(320、322)之一,以便将所有要从第一存储器层的每个存储器缓冲设备传输到存储器控制器的存储器信号从其他存储器缓冲设备(348、350)发送到第一存储器层的存储器缓冲设备(344、346)之一。也就是说,入站链路(320)承载所有来自存储器缓冲设备(348)的要从存储器缓冲设备(348)通过存储器缓冲设备(344)传输到存储器控制器(302)的存储器信号,而入站链路(322)承载所有来自存储器缓冲设备(350)的要从存储器缓冲设备(350)通过存储器缓冲设备(346)传输到存储器控制器(302)的存储器信号。
鉴于此说明,读者认识到图4的实例的入站链路体系结构的优点包括与如图1中示出的现有技术系统相比,显著降低了读取等待时间。图4的存储器系统和图1的现有技术存储器系统中的存储器组1的读取等待时间为1,但是以存储器缓冲设备延迟衡量的所有其他组的读取等待时间被显著降低:
·图4的存储器系统中的存储器组2的读取等待时间是1,而图1的现有技术存储器系统中的存储器组2的读取等待时间是2。
·图4的存储器系统中的存储器组3的读取等待时间是2,而图1的现有技术存储器系统中的存储器组3的读取等待时间是3。
·图4的存储器系统中的存储器组4的读取等待时间是2,而图1的现有技术存储器系统中的存储器组4的读取等待时间是4。
·图4的存储器系统中的存储器组5的读取等待时间是3,而图1的现有技术存储器系统中的存储器组5的读取等待时间是5。
·图4的存储器系统中的存储器组6的读取等待时间是3,而图1的现有技术存储器系统中的存储器组6的读取等待时间是6。
·依此类推。
入站链路速度取决于出站速度和配置
在此实例中,图4的存储器系统包括至少两个存储器层(356、358、360),其中每个存储器层包括至少两个存储器缓冲设备(344、346、348、350、352、354)。在图4的实例中,每个存储器层通过至少一个出站链路(306、316、318、324、326)连接,以便将存储器信号传送到存储器层中的至少一个存储器缓冲设备。此外,每个存储器层通过至少一个入站链路(312、314、320、322、328、330)连接,以便从存储器层中的至少一个存储器缓冲设备传送存储器信号。入站链路由入站链路速度表征,并且出站链路由出站链路速度表征。
此外,在此实例中,入站链路速度取决于出站链路速度。在此实例中入站链路速度取决于出站链路速度是因为此实例中的通道体系结构包括多个来自每个存储器层的入站链路。通道体系结构包括两个从第一存储器层(356)到存储器控制器的入站链路(312、314)。通道体系结构包括两个从第二存储器层(358)到第一存储器层(356)的入站链路(320、322)。依此类推。每个入站链路是完整链路;如果完整链路包括M个线路,则每个入站链路包括M个线路。如果M=14,每个入站链路均具有14个线路。
在图4的实例中具有多个来自每个存储器层的入站链路的事实意味着每个入站链路平均仅需要具有出站链路的一半速度。每个存储器地址缓冲器管理代表整体存储器地址空间的一个单独段的存储器设备。在此实例中,每个存储器层具有两个存储器缓冲设备,并且每个存储器缓冲设备管理相同大小的存储器组。存储器层中的每个存储器缓冲设备接收并解码寻址到此层中的所有存储器缓冲设备的所有存储器信号,但由于每个存储器地址缓冲器平均为相同大小的存储器组服务,所以将仅从每个存储器地址缓冲器针对寻址到两个缓冲器的一半读取请求发生读取响应。
将图4的存储器系统的体系结构与图1的现有技术存储器系统的体系结构进行对比是有益的,其中到每个存储器缓冲设备的每个读取请求仅导致来自此存储器缓冲设备的一个读取响应。由于这些原因,在图4的实例中,取决于出站链路速度的入站链路速度无需超过入站链路速度的一半,由此与现有技术存储器系统相比,可降低链路设计难度和功率要求。
读者还将注意到,可以减少每个入站链路中的入站线路数量并通过使整体入站链路速度保持不变来实现相同的效果,而不是降低图4的存储器系统的体系结构中的入站链路速度。换句话说,对于来自每个存储器层的两个入站链路,存在两种方法来达到给定入站带宽:降低入站链路上的时钟速度或使时钟速度保持相同并减少每个链路的线路数量。每种方法都提供了相对于现有技术方法的优点。较慢的时钟速度更易于设计和实现。较少的线路意味着较小的设计难度、较低的材料成本和较小的制造费用。
出站级联体系结构:来自存储器层中的部分缓冲器的完整出站链路
为了进一步说明,图7是示出了根据本发明的实施例的另一个包括存储器控制器(402)和出站链路(406)的示例性存储器系统(如图4的示例性存储器系统)的功能方块图,其中存储器控制器(402)连接到出站链路(406),并且出站链路(406)包括将存储器信号从存储器控制器(402)传导到第一存储器层(456)中的存储器缓冲设备(444、446)的传导路径。但是,与图4的存储器系统不同,图7的存储器系统还包括其他出站链路(416),其中其他出站链路(416)包括N个连接到第一存储器层(456)中的第一存储器缓冲设备(444)的传导路径,以便将所有出站存储器信号从第一存储器层(456)中的第一存储器缓冲设备(444)传导到其他存储器层(458)中的至少两个其他存储器缓冲设备(448、450)。在此实例中,其他出站链路(416)包括的传导路径的数量N等于将存储器控制器(402)连接到第一存储器层(456)中的存储器缓冲设备(444、446)的出站链路(406)中的传导路径的数量N。
图7的存储器系统还包括其他存储器层(458)中的至少两个其他存储器缓冲设备(448、450),其中每个其他存储器缓冲设备(448、450)连接(462、464)到其他出站链路(416),以便通过其他出站链路(416)和第一存储器层(456)中的第一存储器缓冲设备(444)接收来自存储器控制器(402)的所有出站存储器信号。换句话说,在图7的实例存储器系统体系结构中,没有如图4的存储器系统中具有的部分出站链路。图7的实例中的每个出站链路承载来自存储器控制器(402)的所有出站存储器信号。
此外,在图7的实例中,第一存储器层中的至少一个存储器缓冲设备不通过其他出站链路连接到其他存储器层的任何其他存储器缓冲设备,并且对于每个存储器层都是如此。在此实例中,如果每个存储器层只有两个存储器缓冲设备,则一个存储器缓冲设备连接到将所有出站存储器信号传送到下一个其他存储器层中的两个存储器缓冲设备的出站链路,并且每个存储器层中的另一个存储器缓冲设备不连接到出站链路。在第一存储器层(456)中,存储器缓冲设备(444)连接到将所有出站存储器信号传送到存储器层(458)中的两个存储器缓冲设备(448、450)的出站链路(416),并且存储器缓冲设备(446)不连接到出站链路。在第二存储器层(458)中,存储器缓冲设备(448)连接到将所有出站存储器信号传送到存储器层(460)中的两个存储器缓冲设备(452、454)的出站链路(424),并且存储器缓冲设备(450)不连接到出站链路。依此类推。在此仅示出三个存储器层,但此体系结构可以扩展到任何数量的存储器层。
鉴于此说明,读者将认识到图7的实例的出站链路体系结构的优点包括显著降低了其中一半存储器模块根本不连接到出站通道的体系结构中的出站通道的物理复杂性。图7的实例的出站链路体系结构的优点还包括显著降低了存储器缓冲设备的功耗并减少了片上电路,在此体系结构中的一半存储器缓冲设备根本无需出站输出驱动器电路。
入站体系结构:具有分段存储器的部分链路
在图7的存储器系统中,存储器被分段以便存储器层中的每个存储器缓冲设备仅管理由来自存储器控制器的出站存储器信号寻址的存储器的一部分。与其中每个存储器地址缓冲器管理代表整体存储器地址空间的一个单独段的存储器设备的图4的实例不同,在图7的实例中,存储器层中的所有存储器缓冲设备管理代表相同存储器地址空间段的存储器设备,其中由存储器层中的每个存储器设备组管理每个地址的存储器的一部分。
图7的存储器系统还包括入站链路(465),即,包括两个或更多部分入站链路(412、414)的完整入站链路。每个部分入站链路从第一存储器层的存储器缓冲设备(444、446)连接到存储器控制器(402),以将入站存储器信号从第一存储器层(456)中的每个存储器缓冲设备(444、446)传输到存储器控制器(402)。在此实例中,每个部分入站链路(412、414)包括入站链路的传导路径的一部分,其中每个部分入站链路承载代表由来自存储器控制器的出站读取存储器信号寻址的存储器的一部分的内容的入站存储器信号。具体地说,在此实例中,入站链路(465),在图7中被称为“完整”入站链路,包括M个传导路径或“线路”,并且每个部分入站链路(412、414),在图7中被称为“半链路”,包括M/2个线路。如果M是14,则此实例中的每个部分链路包括7个线路,并且每个部分入站链路将承载代表由来自存储器控制器(402)的任何出站读取存储器信号请求的存储器的一半的内容的入站存储器信号。半链路(412、414)在存储器控制器(402)处实际上被组合为完整入站链路(465),以便完整入站链路(465)承载代表由来自控制器的出站读取存储器信号或分组寻址的存储器的一部分的全部内容的入站存储器信号。
为了进一步说明,考虑其中寻址由存储器缓冲设备(444、446)管理的存储器空间内的存储器的出站存储器分组的实例。两个存储器缓冲设备(444、446)通过链路(406)接收相同的分组。与其中只有一个存储器缓冲设备将识别分组作为其职责的图4的实例不同,在此实例中,两个存储器缓冲设备(444、446)都被配置为将分组解码为其分组,因为两个存储器缓冲设备为相同的地址空间提供服务。如果分组表示写入指令,则存储器缓冲设备(444)将在分组标头中指定的存储器地址处开始在组1(432)中的存储器设备中存储来自分组的一半写入数据,并且存储器缓冲设备(446)将在分组标头中指定的相同存储器地址处开始在组2(434)中的存储器设备中存储另一半写入数据。
如果出站存储器分组代表用于从存储器缓冲设备(444、446)管理的存储器空间读取数据的读取指令,则存储器缓冲设备(444)将从分组标头中指定的存储器地址开始读取来自组1(432)中的存储器设备的一半读取数据,并且存储器缓冲设备(446)将从分组标头中指定的相同存储器地址开始读取来自组2(434)中的存储器设备的另一半读取数据。然后存储器缓冲设备(444)在入站半链路(412)上将其一半读取数据传输回存储器控制器(402),并且存储器缓冲设备(446)在入站半链路(414)上将其一半读取数据传输回存储器控制器(402)。从存储器缓冲设备传输读取数据被同步,以便存储器控制器(402)从两个入站半链路(412、414)接收读取数据,就像组合后的入站半链路是单个完整入站链路(465)一样。
入站级联体系结构:具有分段存储器的部分链路
图7的存储器系统还包括其他部分入站链路(420、422),其中每个其他部分入站链路包括多个连接到第一存储器层的存储器缓冲设备的传导路径,以便将存储器信号从其他存储器层(458)的其他存储器缓冲设备(448、450)传导到第一存储器层(456)的存储器缓冲设备(444、446)。在此实例中,每个其他入站链路(420、422)包括的传导路径的数量小于将存储器控制器(402)连接到第一存储器层(456)中的存储器缓冲设备(444、446)的入站链路(464)中的传导路径的数量。
图7的存储器系统还包括其他存储器层(458)中的至少两个其他存储器缓冲设备(448、450),其中每个其他存储器缓冲设备连接到其他部分入站链路(420、422)之一,以便将所有要从第一存储器层(456)的每个存储器缓冲设备(444、446)传输到存储器控制器(402)的存储器信号从其他存储器缓冲设备(448、450)传送到第一存储器层(456)的存储器缓冲设备(444、446)之一。
具体地说,在此实例中,入站链路(465),即图7的实例的“完整”入站链路,包括M个传导路径或“线路”,并且每个其他部分入站链路(420、422),即图7的实例中的“半链路”,包括M/2个线路。如果M是14,则此实例中的每个其他部分入站链路包括7个线路,并且每个其他部分入站链路将承载代表由来自存储器控制器(402)的出站读取存储器信号请求的存储器的一半的内容的入站存储器信号。入站半链路(420、422)在存储器控制器(402)处实际上被组合为完整入站链路(465),以便完整入站链路(465)承载代表由来自控制器的出站读取存储器信号或分组寻址的存储器的一部分的全部内容的入站存储器信号。
从此说明,读者将认识到图7的存储器系统实现一种在存储器层之间具有部分入站链路的分段存储器体系结构。图7的存储器系统还包括第三存储器层(460)以说明将具有部分入站链路的分段存储器体系结构扩展到在存储器层(458)中的存储器缓冲设备(448、450)与存储器层(460)中的存储器缓冲设备(452、454)之间具有入站链路(428、430)的其他存储器层。在图7的实例存储器系统中仅示出三个存储器层(456、458、460),但读者将认识到图7的具有部分入站链路的分段存储器体系结构可以扩展到任何数量的存储器层。
鉴于此说明,读者将认识到图7的实例存储器系统的具有部分入站链路的分段存储器体系结构的优点包括在其中存储器层之间只有相当于单个入站链路的多个部分入站链路的体系结构中,显著降低了入站链路线路的物理复杂性以及显著降低了入站链路功率要求。
出站级联体系结构:来自存储器层中的所有缓冲器的完整出站链路,其中在出站链路上部分缓冲器初始被启用而其他缓冲器初始被禁用
为了进一步说明,图8是示出了根据本发明的实施例的另一个包括存储器控制器(502)和出站链路(506)的示例性存储器系统(如图4的示例性存储器系统)的功能方块图,其中存储器控制器(502)连接到出站链路(506),并且出站链路(506)包括将存储器信号从存储器控制器(502)传导到第一存储器层(556)中的存储器缓冲设备(544、546)的传导路径。但是,与图4的存储器系统不同,图8的存储器系统包括第一其他出站链路(516),其中第一其他出站链路(516)连接到第一存储器层(556)的第一存储器缓冲设备(544)以便将从存储器控制器(502)接收的存储器信号通过第一存储器层(556)的第一存储器缓冲设备(544)传导到其他存储器层(558)中的至少两个其他存储器缓冲设备(548、550)。
在此实例中,第一其他出站链路(516)初始被启用。可以通过使用三态驱动器配置存储器缓冲设备(544)的出站输出电路以及配置此存储器缓冲设备以便在启动时其出站输出驱动器未处于三态模式,来执行初始启用第一其他出站链路(516)。三态驱动器是输出驱动器电路,其控件允许将其输出置于高阻抗状态,以使对于其他连接到同一输出的设备显示为不存在。如果连接到出站链路,此类设备显示为在三态模式下被实际禁用而在非三态模式时被实际启用。
图8的存储器系统还包括第二其他出站链路(518)。第二其他出站链路(518)连接到第一存储器层(556)的第二存储器缓冲设备(546)以便将从存储器控制器(502)接收的存储器信号通过第一存储器层(556)的第二存储器缓冲设备(546)传导到其他存储器层(558)中的至少两个其他存储器缓冲设备(548、550)。
在图8的实例中,第二其他出站链路(518)初始被禁用。可以通过使用三态驱动器配置存储器缓冲设备(546)的出站输出电路以及配置此存储器缓冲设备以便在启动时其出站输出驱动器处于三态模式,来执行初始禁用第二其他出站链路(518),从而向第二其他出站链路(518)呈现高阻抗,使存储器缓冲设备(546)至少初始地相对于第二其他出站链路(518)实际上不存在。
图8的实例存储器系统包括其他存储器层(558)中的至少两个其他存储器缓冲设备(548、550)。每个此类其他存储器缓冲设备(548、550)连接(562、564)到第一其他出站链路(516)和第二其他出站链路(518)以便通过第一其他出站链路(516)或第二其他出站链路(518)接收来自存储器控制器(502)的存储器信号。
在图8的实例存储器系统中,存储器控制器(502)被配置和启用以具有检测第一存储器层(556)的第一存储器缓冲设备(544)中的故障,禁用第一其他出站链路(516),以及启用第二其他出站链路(518)的能力。存储器控制器(502)可以通过针对由存储器缓冲设备(544)创建以及从存储器缓冲设备(544)接收的读取分组计算CRC值并将此值与分组中的CRC值相比较,来检测第一存储器缓冲设备(516)中的故障。
存储器控制器(502)可以通过向存储器缓冲设备(544)传输用于将其出站输出驱动器置于三态模式的指令,由此将存储器缓冲设备(544)与出站链路(516)隔离,来禁用第一其他出站链路(516)。用于将出站输出驱动器置于三态模式的指令可以在带内作为存储器通道通信协议的一部分传输,或在带外通过I2C总线或如图6的标号(964)所示的系统管理总线(“SMBus”或“SMB”)来传输。带内传送可能更快,但是当存储器缓冲设备出现故障时带内传送可能不可用。
存储器控制器(502)可以通过向存储器缓冲设备(546)传输用于将其出站输出驱动器从三态模式中删除的指令,由此将存储器缓冲设备(546)连接到出站链路(518),来启用第二其他出站链路(518)。用于将出站输出驱动器从三态模式中删除的指令可以在带内作为存储器通道通信协议的一部分传输,或在带外通过如图6的标号(964)所示的系统管理总线(“SMBus”)来传输。
鉴于此说明,读者将认识到图8的实例的出站链路体系结构的优点包括显著降低了出站通道线路的物理复杂性以及显著降低了存储器缓冲设备的输出驱动器电路中的功耗,例如,后者现在仅需如图1示出的现有技术系统所需的出站输出驱动器电路的大约一半。此外,图8的实例的出站链路体系结构的优点包括显著增加了存储器系统的整体鲁棒性,所述存储器系统现在可以容许一个或多个在存储器通信网络中作为数据通信组件的存储器缓冲设备的功能完全失败,特别是当故障存储器缓冲设备仍能够正确访问其服务的存储器组时,继续以全部能力运行。
入站体系结构:螺旋形链路
为了进一步说明,图9是示出了根据本发明的实施例的另一个包括存储器控制器(602)和出站链路(606)的示例性存储器系统(如图4的示例性存储器系统)的功能方块图,其中存储器控制器(602)连接到出站链路(606),并且出站链路(606)包括将存储器信号从存储器控制器(602)传导到第一存储器层(656)中的存储器缓冲设备(644、646)的传导路径。为了简化有关图9的存储器系统的说明,在图9中未示出作为通道(604)的一部分的其余出站链路。
但是,与图4的存储器系统不同,图9的存储器系统包括从第一存储器层中的第一存储器缓冲设备(644)连接到存储器控制器(602)的第一入站链路(612),以便将入站存储器信号从第一存储器缓冲设备(644)传送到存储器控制器。图9的存储器系统还包括从第一存储器层(656)中的第二存储器缓冲设备(646)连接到第一存储器层(656)中的第一存储器缓冲设备(644)的第二入站链路(614),以便将入站存储器信号从第二存储器缓冲设备(646)传送到第一存储器缓冲设备(644)并通过第一存储器缓冲设备(644)和第一入站链路(612)传送到存储器控制器(602)。
图9的存储器系统还包括从其他存储器层(658)中的第一存储器缓冲设备(648)连接到第一存储器层(656)中的第二存储器设备(646)的第三入站链路(620),以便将入站存储器信号从其他存储器层(658)中的第一存储器缓冲设备(648)传送到第一存储器层(656)中的第二存储器缓冲设备(646),并通过第一存储器层(656)中的第二存储器缓冲设备(646)、第二入站链路(614)、第一存储器层(656)中的第一存储器缓冲设备(644)和第一入站链路(612)传送到存储器控制器(602)。
图9的存储器系统还包括从第二存储器层(658)中的第二存储器缓冲设备(650)连接到第二存储器层(658)中的第一存储器缓冲设备(648)的第四入站链路(622),以便将入站存储器信号从第二存储器层(658)中的第二存储器缓冲设备(650)传输到第二存储器层(658)中的第一存储器缓冲设备(648),并通过第二存储器层(658)中的第一存储器缓冲设备(648)、第三入站链路(620)、第一存储器层(656)中的第二存储器缓冲设备(646)、第二入站链路(614)、第一存储器层(656)中的第一存储器缓冲设备(644)和第一入站链路(612)传输到存储器控制器(602)。
从此说明,读者将认识到图9的存储器系统实现一种在存储器层内的存储器缓冲设备之间具有入站链路以及在不同存储器层中的存储器缓冲设备之间也具有入站链路的螺旋形入站链路体系结构。图9的存储器系统还包括第三存储器层(660)以说明将螺旋形入站链路体系结构扩展到在存储器层(660)内的存储器缓冲设备(652、654)之间具有入站链路(630)以及在不同存储器层(658、660)中的存储器缓冲设备(652、650)之间具有入站链路(628)的其他存储器层。在图9的实例存储器系统中仅示出三个存储器层(656、658、660),但读者将认识到图9的螺旋形入站链路体系结构可以扩展到任何数量的存储器层。
鉴于此说明,读者将认识到图9的实例存储器系统的螺旋形入站链路体系结构的优点包括在其中每个存储器层之间可以例如只有一个入站链路的体系结构中,显著降低了入站通道线路的物理复杂性。图9的实例的螺旋形入站链路体系结构的优点还包括在其中同一存储器层中的存储器缓冲设备之间的入站链路可以位于同一平面、同一存储器模块衬底或同一底板或母板而无需中间连接器的体系结构中,显著降低了功耗。
最后指出的是,有关本说明书中的存储器组和层的存储器缓冲设备的体系结构布置是逻辑体系结构而不是物理体系结构。虽然在特定物理体系结构中的具有存储器设备组的存储器模块中示出了图1的实例现有技术存储器系统的存储器缓冲设备,但此体系结构并不是对本发明的限制。在本发明的范围内,存储器缓冲设备可以在物理上位于具有存储器设备的存储器模块(DIMM或SIMM)、诸如底板或母板之类的平面上,而相关存储器设备位于安装在底板或母板上的存储器模块、相关存储器设备所在的同一底板或母板、任何其他物理体系结构上,如本领域的技术人员将想到的。
从以上描述将理解的是,可以在本发明的各种实施例中做出修改和更改而不偏离本发明的精神。本说明书中的描述仅为了说明目的并且未被认为具有限制意义。本发明的范围仅由以下权利要求的语言来限制。
Claims (6)
1.一种存储器系统,所述存储器系统包括:
存储器控制器;
出站链路,所述存储器控制器连接到所述出站链路,所述出站链路包括多个将存储器信号从所述存储器控制器传导到第一存储器层中的存储器缓冲设备的传导路径;
第一存储器层中的至少两个存储器缓冲设备,所述第一存储器层中的每个存储器缓冲设备连接到所述出站链路以接收来自所述存储器控制器的存储器信号;
其他出站链路,每个其他出站链路包括多个连接到所述第一存储器层的存储器缓冲设备的传导路径,以便将存储器信号从所述第一存储器层中的存储器缓冲设备传导到其他存储器层中的两个或更多其他存储器缓冲设备,每个其他出站链路包括的传导路径的数量小于将所述存储器控制器连接到所述第一存储器层中的所述存储器缓冲设备的所述出站链路中的传导路径的数量;以及
其他存储器层中的至少两个其他存储器缓冲设备,每个其他存储器缓冲设备连接到至少两个所述其他出站链路,以便接收在所述存储器控制器与所述第一存储器层中的所述存储器缓冲设备之间的所述出站链路上从所述存储器控制器传输的所有存储器信号。
2.如权利要求1中所述的存储器系统,其中所述其他存储器层中的所述至少两个其他存储器缓冲设备彼此同步以便通过所述出站链路接收出站存储器信号。
3.如权利要求2中所述的存储器系统,其中所述其他存储器层中的所述至少两个其他存储器缓冲设备彼此同步进一步包括:所述其他存储器层中的所述至少两个其他存储器缓冲设备中的每个其他存储器缓冲设备都与其通过出站链路连接的所述第一存储器层中的所述存储器缓冲设备在同一时刻同步到预定同步阈值度量。
4.如权利要求1中所述的存储器系统,还包括:
多个单独入站链路,每个入站链路从所述第一存储器层中的每个存储器缓冲设备连接到所述存储器控制器,以便将存储器信号从所述第一存储器层中的每个存储器缓冲设备传输到所述存储器控制器。
5.如权利要求4中所述的存储器系统,还包括:
其他入站链路,每个其他入站链路包括多个连接到所述第一存储器层的存储器缓冲设备的传导路径,以便将存储器信号从其他存储器层的其他存储器缓冲设备传导到所述第一存储器层的所述存储器缓冲设备,每个其他入站链路包括的传导路径的数量等于将所述存储器控制器连接到所述第一存储器层中的所述存储器缓冲设备的所述入站链路中的传导路径的数量;
其中所述其他存储器层中的至少两个其他存储器缓冲设备中的每个其他存储器缓冲设备连接到所述其他入站链路中的一个其他入站链路,以便将所有要从所述第一存储器层中的每个存储器缓冲设备传输到所述存储器控制器的存储器信号从所述其他存储器缓冲设备发送到所述第一存储器层的所述存储器缓冲设备中的一个存储器缓冲设备。
6.一种存储器系统,所述存储器系统包括:
存储器控制器;
出站链路,所述存储器控制器连接到所述出站链路,所述出站链路包括多个将存储器信号从所述存储器控制器传导到第一存储器层中的存储器缓冲设备的传导路径;
第一存储器层中的至少两个存储器缓冲设备,所述第一存储器层中的每个存储器缓冲设备连接到所述出站链路以接收来自所述存储器控制器的存储器信号;
其他出站链路,所述其他出站链路包括多个连接到所述第一存储器层中的存储器缓冲设备的传导路径,以便将所有出站存储器信号从所述第一存储器层中的所述存储器缓冲设备传导到其他存储器层中的至少两个其他存储器缓冲设备,所述其他出站链路包括的传导路径的数量等于将所述存储器控制器连接到所述第一存储器层中的所述存储器缓冲设备的所述出站链路中的传导路径的数量;以及
其他存储器层中的至少两个其他存储器缓冲设备,每个其他存储器缓冲设备连接到所述其他出站链路,以便通过所述其他出站链路和通过所述第一存储器层中的所述存储器缓冲设备接收来自所述存储器控制器的所有出站存储器信号,
其中所述第一存储器层中的至少
一个存储器缓冲设备没有通过其他出站链路连接到所述其他存储器层的任何其他存储器缓冲设备。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/383,989 US7447831B2 (en) | 2006-05-18 | 2006-05-18 | Memory systems for automated computing machinery |
US11/383,989 | 2006-05-18 | ||
PCT/EP2007/054794 WO2007135077A1 (en) | 2006-05-18 | 2007-05-16 | Memory systems for automated computing machinery |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101405708A CN101405708A (zh) | 2009-04-08 |
CN101405708B true CN101405708B (zh) | 2010-12-29 |
Family
ID=38445987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780010381XA Active CN101405708B (zh) | 2006-05-18 | 2007-05-16 | 自动计算机器的存储器系统 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7447831B2 (zh) |
EP (1) | EP2021933B1 (zh) |
JP (1) | JP5078994B2 (zh) |
CN (1) | CN101405708B (zh) |
WO (1) | WO2007135077A1 (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100005218A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Enhanced cascade interconnected memory system |
US20100005212A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Providing a variable frame format protocol in a cascade interconnected memory system |
US20100005220A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | 276-pin buffered memory module with enhanced memory system interconnect and features |
US7717752B2 (en) * | 2008-07-01 | 2010-05-18 | International Business Machines Corporation | 276-pin buffered memory module with enhanced memory system interconnect and features |
US20100005206A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Automatic read data flow control in a cascade interconnect memory system |
US20100005219A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | 276-pin buffered memory module with enhanced memory system interconnect and features |
US20100005214A1 (en) * | 2008-07-01 | 2010-01-07 | International Business Machines Corporation | Enhancing bus efficiency in a memory system |
US8829872B1 (en) * | 2009-07-15 | 2014-09-09 | Infineon Technologies Austria Ag | Systems and methods for dropping and/or adding phases in multiphase regulators |
US8612687B2 (en) | 2010-05-26 | 2013-12-17 | International Business Machines Corporation | Latency-tolerant 3D on-chip memory organization |
US8635407B2 (en) | 2011-09-30 | 2014-01-21 | International Business Machines Corporation | Direct memory address for solid-state drives |
ES2590148T3 (es) * | 2012-03-02 | 2016-11-18 | Lsis Co., Ltd. | Dispositivo de comunicación y procedimiento de comunicación |
EP2772882A1 (en) | 2013-03-01 | 2014-09-03 | Universite D'angers | Automatic measurement of lesions on medical images |
US9606944B2 (en) | 2014-03-20 | 2017-03-28 | International Business Machines Corporation | System and method for computer memory with linked paths |
US9348518B2 (en) | 2014-07-02 | 2016-05-24 | International Business Machines Corporation | Buffered automated flash controller connected directly to processor memory bus |
US9542284B2 (en) | 2014-08-06 | 2017-01-10 | International Business Machines Corporation | Buffered automated flash controller connected directly to processor memory bus |
US20170285992A1 (en) * | 2016-04-01 | 2017-10-05 | Intel Corporation | Memory subsystem with narrow bandwidth repeater channel |
US20170289850A1 (en) * | 2016-04-01 | 2017-10-05 | Intel Corporation | Write delivery for memory subsystem with narrow bandwidth repeater channel |
US10339072B2 (en) * | 2016-04-01 | 2019-07-02 | Intel Corporation | Read delivery for memory subsystem with narrow bandwidth repeater channel |
US11709623B2 (en) | 2018-08-03 | 2023-07-25 | Sk Hynix Nand Product Solutions Corp. | NAND-based storage device with partitioned nonvolatile write buffer |
US12001727B2 (en) * | 2020-08-28 | 2024-06-04 | Micron Technology, Inc. | Techniques for managed NAND translation with embedded memory systems |
US11698870B2 (en) * | 2020-12-31 | 2023-07-11 | Micron Technology, Inc. | Memory module data buffer |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1578948A (zh) * | 2001-08-30 | 2005-02-09 | 微米技术有限公司 | 在高速存储器系统中的光学互连 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7010642B2 (en) * | 2000-01-05 | 2006-03-07 | Rambus Inc. | System featuring a controller device and a memory module that includes an integrated circuit buffer device and a plurality of integrated circuit memory devices |
US6697888B1 (en) * | 2000-09-29 | 2004-02-24 | Intel Corporation | Buffering and interleaving data transfer between a chipset and memory modules |
DE10149031A1 (de) * | 2001-10-05 | 2003-04-24 | Infineon Technologies Ag | Speichervorrichtung |
JP4159415B2 (ja) * | 2002-08-23 | 2008-10-01 | エルピーダメモリ株式会社 | メモリモジュール及びメモリシステム |
KR100574951B1 (ko) * | 2003-10-31 | 2006-05-02 | 삼성전자주식회사 | 개선된 레지스터 배치 구조를 가지는 메모리 모듈 |
US7366864B2 (en) * | 2004-03-08 | 2008-04-29 | Micron Technology, Inc. | Memory hub architecture having programmable lane widths |
US7447240B2 (en) * | 2004-03-29 | 2008-11-04 | Micron Technology, Inc. | Method and system for synchronizing communications links in a hub-based memory system |
US7277988B2 (en) * | 2004-10-29 | 2007-10-02 | International Business Machines Corporation | System, method and storage medium for providing data caching and data compression in a memory subsystem |
-
2006
- 2006-05-18 US US11/383,989 patent/US7447831B2/en active Active
-
2007
- 2007-05-16 EP EP07729242.3A patent/EP2021933B1/en active Active
- 2007-05-16 WO PCT/EP2007/054794 patent/WO2007135077A1/en active Application Filing
- 2007-05-16 JP JP2009510461A patent/JP5078994B2/ja active Active
- 2007-05-16 CN CN200780010381XA patent/CN101405708B/zh active Active
-
2008
- 2008-08-04 US US12/185,533 patent/US7890676B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1578948A (zh) * | 2001-08-30 | 2005-02-09 | 微米技术有限公司 | 在高速存储器系统中的光学互连 |
Also Published As
Publication number | Publication date |
---|---|
US7447831B2 (en) | 2008-11-04 |
US20080005496A1 (en) | 2008-01-03 |
EP2021933A1 (en) | 2009-02-11 |
US7890676B2 (en) | 2011-02-15 |
WO2007135077B1 (en) | 2008-01-17 |
CN101405708A (zh) | 2009-04-08 |
WO2007135077A1 (en) | 2007-11-29 |
JP5078994B2 (ja) | 2012-11-21 |
US20080301337A1 (en) | 2008-12-04 |
JP2009537883A (ja) | 2009-10-29 |
EP2021933B1 (en) | 2013-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101405708B (zh) | 自动计算机器的存储器系统 | |
US7669086B2 (en) | Systems and methods for providing collision detection in a memory system | |
US8151042B2 (en) | Method and system for providing identification tags in a memory system having indeterminate data response times | |
US7594055B2 (en) | Systems and methods for providing distributed technology independent memory controllers | |
US7640386B2 (en) | Systems and methods for providing memory modules with multiple hub devices | |
US7952944B2 (en) | System for providing on-die termination of a control signal bus | |
US7636813B2 (en) | Systems and methods for providing remote pre-fetch buffers | |
US7581073B2 (en) | Systems and methods for providing distributed autonomous power management in a memory system | |
US7624225B2 (en) | System and method for providing synchronous dynamic random access memory (SDRAM) mode register shadowing in a memory system | |
US7979616B2 (en) | System and method for providing a configurable command sequence for a memory interface device | |
US7895374B2 (en) | Dynamic segment sparing and repair in a memory system | |
US8359521B2 (en) | Providing a memory device having a shared error feedback pin | |
US20100005212A1 (en) | Providing a variable frame format protocol in a cascade interconnected memory system | |
US20100005214A1 (en) | Enhancing bus efficiency in a memory system | |
US20100162037A1 (en) | Memory System having Spare Memory Devices Attached to a Local Interface Bus | |
US20100005219A1 (en) | 276-pin buffered memory module with enhanced memory system interconnect and features | |
US20100005220A1 (en) | 276-pin buffered memory module with enhanced memory system interconnect and features | |
US20100005206A1 (en) | Automatic read data flow control in a cascade interconnect memory system | |
US7624244B2 (en) | System for providing a slow command decode over an untrained high-speed interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |