专利名称:数据存取及多芯片控制器的制作方法
数据存取及多芯片控制器背景技术在计算平台中使用的现有存储器体系结构依赖于两个元件的使 用存储器控制器以及一个或多个存储器模块,该存储器模块存储由 存储器控制器所存取的数据。在很多现有应用中,存储器模块通常是 工业标准的存储器模块,其具有电气接口、协议以及由标准机构JEDEC (Joint Electronic Devices Enginneering Council)(电子设备与工程联 合委员会)所限定的机械装配和形状。由于随着时间的发展存储器性能得到改善,所以也提高了存储器 控制器与对应模块之间的对应接口速度。随着时间的发展,已经降低了对应的接口信号电压。每个性能改进由此使得印刷电路板的设计(例 如,连接每个组件管脚的迹线(trace)的布局)更加具有挑战性。也 就是说,对于每个存储器速度的提高,迹线布局倾向于更加困难。JEDEC标准委员会通过(在存储器标准中)包括降低最大可接受 物理迹线长度的尺寸以及降低至相同存取接口的共址(cohabiting)存 储器模块的数目,己经确认了这种日益增加的困难。这两个变化都降 低了相应迹线的整体信号负载,因此可能获得高存取速度。发明内容如上所述,存在与现有存储器体系结构相关联的不足之处。例如, 上述趋势(例如,更高的接口速度及更低的信号电压)使得使用现有 存储器控制器方法来实现大系统存储器应用,如果不是不可能的话, 也是更加困难和昂贵。也就是说,如果使用单一大存储器控制器芯片 来与大量存储器模块相接口,那么通常需要许多独立的存储器接口 (例 如,数据总线、地址线、控制线等)来存取存储在存储器设备中的信息。在正常情况下,由于控制器与存储器模块之间迹线的负载问题,所以相应的接口只可以从仅仅一个或可能达到两个存储器模块存取信息。根据现有体系结构,从单一控制器芯片到8或16个不同存储器模块 芯片的布线可以需要在存储器控制器芯片及存储器设备之间对很长的 迹线长度(在相应印刷电路板的很多层上)进行复杂的相互缠绕(interwining)。由于实现长的相互缠绕的印刷电路板迹线长度可以降 低对应的信号完整性、增加由存储器控制器进行存取失败的可能性, 所以这通常是有问题的。这还增加了电路板的成本-例如,开发成本、 产品成本,以及降低产量。如上所述,存在限定与迹线相关联的可接 受负载值的严格标准。在此讨论的技术偏离了现有应用,例如,上面讨论的应用以及在 现有技术中已知的另外技术。例如,在这里,某些具体的实施例的目 标是克服与上述技术相关联的不足和/或上面没有讨论的现有技术中的 其它不足。通常,这里的实施例通过在多个协作的存储器控制器芯片(例如, 独立的集成电路)之间分解一个或多个存储器接口 (例如, 一个或多 个数据总线、地址总线、控制信号等),来降低在印刷电路板上布局 迹线的负担。例如,至存储器设备的单一数据总线可以被拆分为许多 数据总线部分(例如,信号群),每个部分由不同的相应控制器芯片 所管理。因此,在对相应存储器设备进行存储器存取期间,多个控制 器芯片的每一个可以控制数据总线的不同对应部分,以根据该存取是 读取还是写入来检索或存储数据。在一个实施例中,为了执行相应的数据存取,同步器电路(在存 储器控制器芯片内部和/或外部)可以同步多个存储器控制器芯片,以 便一个或者很多存储器控制器芯片驱动至存储器设备的地址总线和/或控制信号。在设定至存储器设备的地址持续了合适的时间之后,存储 器控制器芯片根据该地址,同时(例如,锁存)读取数据、或者为存 储器设备提供写入数据。同步器电路协调多个芯片控制器之间的定时, 以执行这种操作。除了拆分数据总线并且分配每个存储器控制器芯片以控制单一数 据总线的相应部分之外,每个控制器还可以被配置为,控制至不同存 储器设备的多个数据总线的每一个的一部分。换句话说,可以将至第 一存储器设备的第一数据总线拆分为数据总线部分,每个该部分由多 个控制器芯片中的相应的一个所控制。可以将至对应第二存储器设备 的第二数据总线拆分为另一组数据总线部分,每个该部分由多个控制 器芯片中的相应的一个所控制。在这种实施例中,每个存储器控制器 芯片可以被配置为,驱动用于每个存储器设备的相应地址总线和/或对 应控制信号。因此,在操作期间,存储器控制器之一可以驱动至被存 取的相应存储器设备的地址,同时,多个存储器控制器芯片的每一个 对存储在被存取的存储器设备中的数据的不同部分进行存取。在上述实施例的促进下, 一个实施例涉及以线性方式,沿着相应 的布局轴线来物理地安置存储器控制器芯片(例如,存储器控制器设 备),该布局轴线平行于存储器设备的轴线。这种实施例可以包括 根据信号的物理位置(而不是通过指配的比特数等),在多个控制器 之间均匀地拆分分布的信号。换句话说,存储器控制器的线性阵列之 间的数据总线部分的物理分布可以是基于对应存储器模块(或视具体 情况,存储器模块)信号/管脚分配。当这样实现时,在多个存储器控制器芯片的每一个与存储器设备之间创建"直击"(straight shot)(例如,基本上是正交的迹线通路)降低了整体的迹线长度,并且降低了 对过高印刷电路板层数的需求,从而提供存储器控制器芯片与一个或 多个存储器设备之间适当的连接性。这里的实施例与现有应用形成反差。例如,这里的技术在存储器控制器芯片组与对应的存储器设备之间提供简单的迹线通道。这允许 使用更少的电路板层以及允许更直接的互连通路,这二者改善了存取 接口的信号完整性并降低了生产成本。此外,与现有技术不同,这里 的实施例允许在存储器阵列中包括额外的模块,这相对于标准存储器 系统体系结构通常所能实现的来说,增加系统的存储器容量。简单的 布线(通过在此讨论的多芯片控制器技术的实现方案)为其它功能释 放了印刷电路板层资源。如上所述,这里的技术同样适合在存储器系统中使用。然而,应 注意,这里的实施例不限于在这种应用中使用,并且在此讨论的技术 同样适合于其它应用。请注意,可以独立地或组合地执行在此讨论的 不同特征、技术、配置等的每一个。请注意,本发明内容并没有指定本公开或所要求保护的发明的每 个实施例和/或增加的新颖方面。相反,本发明内容仅仅提供对不同实 施例以及相对于现有技术的对应新颖点的初步讨论。对于本发明的额 外细节和/或可能性视角(变换),读者可以参考本公开的详细描述部 分和对应的附图。
根据下面对在附图中所说明的优选实施例更为具体的描述,本申 请的前述及其它目标、特征及优势将是显而易见的,其中,贯穿不同 视图,相同的附图标记表示相同的部分。附图不必要进行比例縮放, 相反,重点放在说明实例实施例、原理及概念上。图l是根据这里的实施例的存储器系统的方框图。图2是图示说明根据这里的实施例的将对公共数据总线相应部分 的控制指配给多个存储器控制器芯片的技术的流程图。图3是根据这里的实施例的包括多个存储器设备的存储器系统的 方框图。图4是根据这里的实施例的用于存取存储的数据的存储器系统的方框图。图5和图6组合在一起,形成图示说明根据这里的实施例的产生包 括多个存储器控制器芯片的存储器系统的技术的流程图。
具体实施方式
根据一个实施例,可以将至存储器设备的数据总线拆分为许多数 据总线部分,每个部分由多个同步的控制器芯片组的不同的相应控制 器芯片来管理。在对存储器设备进行存储器存取期间,多个控制器芯 片的每一个控制数据总线不同的对应部分,以根据该存取是读取还是 写入,来从存储器设备中检索数据或将数据存储到存储器设备中。为 了协调数据存取,同步器电路(在存储器控制器芯片内部和/或外部) 同步多个存储器控制器芯片,以便存储器控制器芯片之一驱动至存储 器设备的地址总线和/或控制信号。在设定到存储器设备的地址之后, 多个存储器控制器芯片的每一个要么锁存来自存储器设备相应部分的 读取数据,要么将写入数据提供给存储器设备的相应部分。图1是根据这里的实施例的存储器系统100的图示。如图所示,存储器系统100包括主机系统110 (例如,数据处理系统)、存储器控制器120 (例如,存储器控制器120-1,存储器控制器120-2,…,存储 器控制器120-M)、同步电路130、以及存储器阵列140 (例如,动态/ 随机存取存储器模块)。主机系统110可以经由信号104 (例如,信号 104-1,信号104-2,…,信号104-M),为存储器控制器120提供输入命 令和/或数据。主机系统110可以经由信号106 (例如,信号106-1,信号 106-2,…,信号106-M)接收来自存储器控制器的数据。通常,在操作期间,主机系统100向存储器控制器组120发出命令, 以及与存储器控制器组120交换数据。例如,经由信号104,主机系统 110可以指定用于从存储器阵列140中检索数据(例如,比特、字、和/ 或数据片段)的位置。响应于发出请求,在由多个存储器控制器120进 行存取之后,存储器系统100经由信号106,接收来自存储器控制器120的数据。每个存储器控制器120可以包括至存储器阵列140的多个相应的接 口 (例如,数据总线和/或对应的控制线),例如数据总线A和数据总线B。如将在本说明书的后面讨论的,数据总线A可以提供对存储器阵 列140中第一存储器设备的存取,而数据总线B可以提供对存储器阵列 140中第二存储器设备的存取。可以在相同的时间或不同的时间,通过 使用相应的数据总线来存取数据。可以通过在对应电子设备(例如, 存储器控制器120和存储器阵列140)之间的一个或多个印刷电路板上 的迹线(或其它介质),来实现在存储器控制器120和存储器阵列140 之间的相应的互连(诸如数据总线A和数据总线B)。如上所述,每个存储器控制器120控制数据总线A及数据总线B的 相应部分,用于从存储器阵列140中存取数据。存储器系统100的同步 电路130协调存储器控制器120的操作,以便存储器控制器120可以同时 从存储器阵列140中存取数据。换句话说,通过由同步电路130提供的 同步, 一个或多个存储器控制器120设定至存储器阵列140的适当的控 制线,同时,多个存储器控制器120的每一个通过使用数据总线的相应 部分,来存取数据的各部分。尽管将同步电路130描述为存储器控制器120的外部资源,但是可 替换的,同步电路130可以驻留在存储器控制器120之一 (例如,诸如 存储器控制器120-1的主存储器控制器)中。因此,单一存储器控制器 120可以控制所有其它存储器控制器120的操作,以控制对存储器阵列 140的存取。请注意,在其它实施例中,与同步电路130相关联的功能可以分布 到遍及每个存储器控制器120。在这种实施例中,存储器控制器120在 它们自身之间进行仲裁,以协调经由相应的数据总线进行的数据存取。如上面简单所述,存储器控制器120接收来自主机系统110的命令,该命令启动存储器操作及数据交换。在存储器存取操作期间,同步电路130提供定时信号,以向存储器控制器120指出何时执行诸如时钟输 入数据(dock in data)的操作或者何时启动相应的控制信号以将数据 写入存储器阵列140中。在多个存储器控制器120之间操作的正确定时 防止存储器控制器120之间的干扰,并且促进从存储器阵列140中有效 率的数据存取。请注意,可以将存储器阵列配置为包括合乎JEDEC标 准机构所指定的形状因数(form factor)的存储器模块。图2是图示说明根据这里的实施例的用于指派对多比特总线的控 制的一般技术的流程图200。请注意,下面的讨论将偶尔会引用早先所 讨论的资源。在步骤210中,产生存储器系统100的实体(例如,电路板布局工 具、存储器系统设计人员、制造设施、印刷电路板布局设计工程师等) 将至给定存储器设备的相应数据总线(例如,数据总线A)解析(parse) 为多组数据总线信号。例如,如果数据总线A是64比特宽,那么实体将 数据总线A解析为M个部分,其中M是整数值。各部分的尺寸可以相等 或可以不相等。在步骤220中,对于多个控制器芯片120的每一个,实体指配相应 的控制器芯片120,用于控制同相应控制器芯片120与存储器阵列140中 存储器设备之间的数据总线A相关联的多组(例如,各部分)数据总线 信号中的对应组的数据总线信号。作为实例,假设各部分的尺寸相等 以及M-4,并且数据总线A包括64比特。在该实例的情况中,实体指配 存储器控制器120-1来控制数据总线A的数据比特D1到D16;存储器控 制器120-2来控制数据总线A的数据比特D17到D32,…,以及存储器控 制器120-M来控制数据总线A的数据比特D49到D64。在步骤230中,实体允许多个存储器芯片控制器120的每一个通过使用数据总线A,来同时存取存储在第一存储器设备中的数据的不同的相应部分。例如,除了配置在存储器控制器120和存储器阵列140的存储器设备之间的连接(例如,印刷电路板迹线)之外,实体还提供同步电路130来同步多个控制器芯片120,用于允许在相同的时间,在数 据总线A上从存储器阵列140同时存取数据的不同部分。如早先所述, 同步电路可以驻留在存储器控制器120的外部或驻留在一个或多个存 储器控制器120内。总体上,由存储器控制器存取的数据可以是64比特 的值。图3是图示说明根据这里的实施例的存储器系统100的更加具体的 细节的图示。如图所示,存储器系统100包括如上面参考图1所述的资 源。然而,图3进一步图示说明了,存储器阵列140包括诸如存储器模 块的存储器设备(例如,存储器设备240-l及存储器设备240-2)。在本 实例的情况中,与同步电路130相关联的功能已经在同步电路330-1,同 步电路330-2,...中实现,用于协调存储器控制器120之间的操作,以按 照早先所述的方式来对存储器设备进行存取。在一个实施例中,存储器设备240是DIMM (Dual In-line Memory Modules)(双重内嵌式存储器模块),每个DIMM包括一系列随机存 取存储器集成电路。这些集成电路通常安装在印刷电路板上,并且被 设计用于在个人计算机及其它类型的处理系统中使用。从物理上看,沿着存储器设备240的相应纵向轴线242来安置存储 器设备240-l及存储器设备240-2上的管脚。换句话说,存储器设备240-l 在物理上可以是相对窄型的设备,其具有沿着相应纵向轴线242-l安置 的很多对应的管脚(例如,数据总线、地址总线等)。按照相似的方 式,存储器设备240-2也可以是相对窄型的设备,其具有沿着相应纵向 轴线242-2安置的很多对应的管脚(例如,数据总线、地址总线等jT。 这里的实施例包括沿着布局轴线(layout axis) 122来布局存储器控制 器120 (例如,分离的控制器芯片),该布局轴线122与存储器设备240的纵向轴线242基本平行。如图3所示,沿着布局轴线122布局存储器控制器120允许从存储器 控制器120到每个存储器设备240的相对简单的迹线布线(routing)。也 就是说,由于给定存储器控制器120上的节点(例如,管脚)和相应存 储器设备240-l上的对应节点(例如,管脚)彼此相当接近,所以数据 总线A的迹线布线是直的。如果按照现有方法,将存储器控制器120封 装为单一控制器芯片,那么由于在这种小印刷电路板面积中的迹线密 度,所以迹线布线几乎是不可能的。在一个实施例中,迹线布局工程师在布局轴线122的第一位置上或 第一位置附近设置存储器控制器120-1。迹线布局工程师将存储器控制 器120-2设置在布局轴线的第二位置上或第二位置附近。在将存储器控 制器120安置在布局轴线122上之后,迹线布局工程师实现存储器控制 器120-1和存储器设备240-1之间的第一组传导通路(例如,迹线群350- 1)。此外,迹线布局工程师实现存储器控制器120-2和存储器设备 240-1之间的第二组传导通路(例如,迹线群350-2)。如上所述,这里的实施例包括将信号控制散开到沿着布局轴线122 间隔开的多个控制器芯片之间。沿着与存储器控制器240的纵向轴线 242平行的布局轴线122安置存储器控制器120,这允许存储器控制器 120和存储器设备240之间的迹线群350和351具有近似相同的长度或长 度范围。例如,作为图3中示出的布局结果,与在存储器控制器120-1 和存储器设备240-l之间的迹线群350-l (例如,数据总线A的一部分) 相关联的相应的迹线长度可以与在存储器控制器120-2和存储器设备 240-1之间的迹线群350-2 (例如,数据总线A的一部分)具有近似相同 的长度。按照相似的方式,与在存储器控制器120-l和存储器设备240-2 之间的迹线群351-1 (例如,数据总线B的一部分)相关联的相应的迹^ 线长度可以与在存储器控制器120-2和存储器设备240-2之间的迹线群351- 2 (例如,数据总线B的一部分)具有近似相同的长度。因此,这里的实施例包括对存储器控制器120和存储器设备240之间的迹线进 行布局,以便对应迹线群的迹线长度基本相似或相同。在进一步的实施例中,迹线布局工程师和/或电路板设计人员允许多个芯片控制器的每一个同时存取存储在存储器设备240中的数据不 同的相应部分,同时存储器控制器120中的单一一个存储器控制器控制 至相应存储器设备240的地址及控制信号。在本实例的情况中,存储器 控制器120-1驱动与存储器设备240-1相关联的控制信号X (例如,地址 总线、选通(strobes)、允许信号等)。每个存储器控制器120同时对 数据总线A进行存取。同步电路330-l (例如,主存储器控制器)可以 为其它存储器控制器120提供何时对数据总线A进行存取的通知。因此, 这里的一个实施例包括允许多个控制器芯片的每一个同时从存储器 设备240-l中存取数据的相应部分,同时存储器控制器120-1控制与第一 存储器设备相关联的地址总线。按照相似的方式,存储器控制器120-2可以被配置为控制与存储器 设备240-2相关联的信号Y(例如,地址总线、选通等)。同步电路330-l (例如,主存储器控制器)可以向存储器控制器120-2提供关于何时以 及潜在地如何控制至存储器设备240-2的信号Y的通知。因此,这里的一个实施例包括同步电路,其允许多个控制器芯片的每一个同时从存 储器设备240-2中存取数据的相应部分,同时存储器控制器120-2控制与 存储器设备240-2相关联的地址总线。图4是图示说明根据这里的实施例的存储器系统400的实例图示。 如图所示,存储器系统400包括多个存储器控制器芯片420 (例如, 存储器控制器芯片420-l、存储器控制器芯片420-2、存储器控制器芯片 420-3及存储器控制器芯片420-4),以及对应的存储器模块群441 、 442、 443及444。同步电路430 (例如,同步电路430-l、同步电路430-2、、同 步电路430-3及同步电路430-4)协调存储器控制器420之间的操作。每 个存储器模块可以是DIMM (双重内嵌式存储器模块)或者是具有用于存取存储数据的多比特地址及数据总线的其它存储器设备。存储器模块群441包括存储器模块441-1、存储器模块441-2、存储器模块441-3及 存储器模块441-4。存储器模块群442包括存储器模块442-l、存储器模 块442-2、存储器模块442-3及存储器模块442-4。存储器模块群443包括 存储器模块443-l、存储器模块443-2、存储器模块443-3及存储器模块 443-4。存储器模块群444包括存储器模块444-l、存储器模块444-2、存 储器模块444-3及存储器模块444-4。如图所示,通道A包括存储器模块 群441及444,用于存储数据。通道B包括存储器模块群442及443,用于 存储数据。存储器系统400包括多个数据总线,该多个数据总线包括数据总 线E、数据总线F、数据总线G、数据总线H、数据总线J、数据总线K、 数据总线L及数据总线M。数据总线E可以包括数据总线部分E1、数据 总线部分E2、数据总线部分E3及数据总线部分E4。数据总线F可以包括 数据总线部分F1、数据总线部分F2、数据总线部分F3及数据总线部分 F4。数据总线G可以包括数据总线部分G1、数据总线部分G2、数据总 线部分G3及数据总线部分G4。数据总线H可以包括数据总线部分H1、 数据总线部分H2、数据总线部分H3及数据总线部分H4。数据总线J可 以包括数据总线部分J1、数据总线部分J2、数据总线部分J3及数据总线 部分J4。数据总线K可以包括数据总线部分K1、数据总线部分K2、数 据总线部分K3及数据总线部分K4。数据总线L可以包括数据总线部分 Ll、数据总线部分L2、数据总线部分L3及数据总线部分L4。数据总线 M可以包括数据总线部分M1、数据总线部分M2、数据总线部分M3及 数据总线部分M4。每个数据总线部分可以包括一个或多个数据信号, 以对相应存储器模块中的数据进行存取。存储器系统400还包括控制信号群,例如控制信号群451、控制信 号群452、控制信号群453、控制信号群454、控制信号群455、控制信 号群456、控制信号群457及控制信号群458。每个控制信号群可以包括 合适的信号,以支持控制相应的存储器模块存取数据。例如,每个控制信号群可以包括一个或多个下述的信号,以控制相应的存储器模块 重置信号、时钟、数据选通、芯片选择、命令输入、允许等。在一个实施例中,存储器系统400包括四个存储器控制器420的簇(cluster)以及16个标准登记(registered)的存储器模块。请注意,可 以复制存储器系统400来提供增加的存储容量。例如,更大的存储器系 统可以包括四个如图4所示的存储器系统。存储器控制器420的簇实现两个分离的数据存取接口组-用于通道 A和通道B各一个。每个通道可以具有64数据比特,以及在存储器控制 器420的簇之间拆分的8个校验比特。同样,可以相应地在存储器控制 器420的簇之间来分布伴随数据选通信号。在一个实施例中,由JEDEC 标准JESD79-2A来限定用于存取接口的协议。请注意,为了满足定时及同步要求,可以在以四个存储器控制器 420的组构成的簇之间,拆分数据及校验比特、连同半字节(nibble) 的伴随数据选通信号。在簇之间拆分校验比特不需要能够被4整除。例 如,对于给定通道,特定存储器控制器420可以支持比其它存储器控制 器更多的半字节/选通组。此外,请注意,存储器系统400的实现方案可 以特定地被设计为,支持带有遵守数据选通比为4: l的存储器设备的 模块,以便获得最大的每通道存储容量。可以采用不同的方式来处理地址和控制信号。例如,每个存储器 控制器420可以实现两个分离的地址及控制接口。例如,存储器控制器 420-1可以包括与第一相应的接口相关联的控制信号群451以及与第二 相应接口相关联的控制信号群455。如图所示,每个接口可以连接到16 个存储器模块中的两个。这样接口中的一个接口用于通道A,而另一个 用于通道B。可以通过对16个存储器模块中的4个进行存取,来进行对通道A或通道B的单一存储器存取(读取、写入等)。例如,在这种实施例中, 主机系统将命令以及对应的伴随数据(用于写入)发给存储器控制器420的簇。按照同步方式,通过使用同步电路430,存储器控制器420中 适当一个存储器控制器在所关注的通道上将主机的命令发到存储器模 块。由存储器控制器420寻址的四个模块相应地进行响应。存储器控制 器420将读取数据或写入数据的责任在适当的存储器模块之间共享。如 果存取是读取,那么存储器控制器420在它们自身之间进行协调,并且 将存取到的数据部分转发回向存储器请求数据的主机系统。可以按照并行的方式,实现将数据从存储器控制器420传递到主 机。例如,对于给定的数据存取,每个存储器控制器420可以从给定地 址的对应被存取存储器模块检索两个字节(例如,16个比特)的数据。 通过同步电路430,存储器控制器420可以支持将给定地址的检索信息 的64比特并行传递到主机。同步如早先所述,同步电路430 (或者在分离的单一存储器控制器420 中或分布在遍及多个存储器控制器420中)协调从存储器控制器420到 存储器模块的数据传递。例如,在诸如存储器控制器420-l的主存储器 控制器中的同步电路430-l (通过同步电路430-l)将消息发送到其它三 个存储器控制器(例如,存储器控制器430-2、存储器控制器430-3以及 存储器控制器430-4),以向存储器模块指出新命令周期的开始。三个 接收存储器控制器420可以检测错误的发生,并且将指出错误发生的对 应消息发送回主存储器控制器420-l。在一个实施例中,同步电路430-l包括以100兆赫运行的2.5伏特(例 如,低电压互补金属氧化物半导体(low voltage Complementary metal Oxide Semiconductor))接口。主存储器控制器420-l可以包括6个输出信号及6个输入信号。每个从属存储器控制器(例如,存储器控制器420-2、 420-3及420-4)可以 包括两个输出信号及两个输入信号。因此,这里的一个实施例包括 存储器控制器420-l和存储器控制器420-2、 420-3及420-4中的每一个之 间的4个迹线(例如,用于支持来自存储器控制器420-l的数据流的2个 迹线或信号线、以及支持去往存储器控制器420-l的数据流的2个迹线或 信号线)的连接。根据一个配置,每个存储器控制器420在执行相应的数据存取(例 如,动态随机存取存储器存取)时,可以同时对四个存储器模块进行 存取。当同时对四个存储器模块进行存取时,包括四个相应地址总线 的四个控制接口按照密集步伐(lockstep)的方式工作。例如,为了实 现对存取四个存储器模块(例如,4个DIMM)的同步,主存储器控制 器420-l等待,直到它通过与同步电路430相关联的SYNCJN信号观察 到三个从属存储器控制器(例如,存储器控制器420-2、 420-3及420-4) 准备好执行关于信道的命令。换句话说,主存储器控制器420-l监测从 存储器控制器420-2、 420-3及420-4接收到的上述信号。当从属存储器 控制器准备好时,主存储器控制器420-l通过与同步电路430相关联的 SYNC一IN信号,发信号通知从属存储器控制器来开始执行存取操作。 换句话说,存储器控制器420-l通过上述迹线与存储器控制器420-2、 420-3及420-4通信,以支持同时的操作。主存储器控制器420-l在为从 属存储器控制器提供上述信号之后,它自己可以在等待了固定的时间 量(例如,2个周期)之后开始。可以复制上述的信号传送,以便通道A及通道B的每一个按照相似 的方式工作。例如,如上所述,同步电路430可以包括用于信道A和B 的每一个的分离的同步信号组,其在DRAM时钟域中操作,以解决通 道之间的任何时钟相移。物理特性根据一个配置,在FPGA (现场可编程门阵列)设备中实现存储器控制器420。选择这种设备在存储器系统400中使用可以基于如下的期望(1)存储器控制器420相应的封装尺寸足够小,以便四个存储器控制器420的线性阵列近似于标准存储器模块的长度;(2)每个存储器控制器 420的I/O容量支持大约两个存储器数据总线的每一个的四分之一;(3) 与每个存储器控制器相关联的I/0容量完全支持至相应存储器模块的两 个地址及控制接口 ; (4)每个相应的从属存储器控制器支持在它自己与 主存储器控制器420-l之间为了同步的I/O容量;(5)每个存储器控制器包 括用于支持至主机设备系统接口的I/0容量;(6)存储器系统400包括用 于足以支持如在本公开中所讨论的其它功能方面的逻辑容量及功能部 件。使用具有小形状因数(例如,小封装尺寸)的存储器控制器420 允许在相应存储器控制器和存储器模块之间的直接连接。因此,可以 将数据总线的相应迹线长度保持为最小长度。此外,使用具有更小形 状因数的存储器控制器420可以降低在相应的印刷电路板中所需的层数。根据一个配置,可以使用通常所说的带状线技术(stripline technology)来完成存储器通道信号(例如,实现数据总线E、 F、 G、…、 K、 L、 M的迹线)的布线。在这种配置中,信号被夹在相应电路板的 两个平面层之间。应注意,在适当时,可以通过应用相应的计算机系统来实现在此 描述的某些技术(例如,迹线布局、印刷电路板设计等),该计算机 系统包括处理器及用于实行在本申请文件中讨论的实施例的对应软件 代码。这种实施例的实例(例如,执行软件代码的计算机系统)可以 包括互连,其耦合存储器系统及计算机系统的处理器。存储在存储器 中的代码的执行可以支持一个或多个在此描述的技术。图5和图6组合在一起,形成图示说明根据这里的实施例的布局电路板组件以及使用对应的印刷电路板迹线的技术的流程图500 (例如,流程图500-l以及流程图500-2)。在图5的步骤510中,实体(例如,电路板布局工具、布局设计工 程师、印刷电路板制造设施、存储器系统设计人员等)分配或保持多 个数据总线,该多个数据总线包括第一数据总线(例如,数据总线A) 用于对存储器阵列140中的第一存储器设备(例如,第一DIMM)进行 存取;以及,第二数据总线(例如,数据总线B),用于对存储器阵列 140中的第二存储器设备(例如,第二DIMM)进行存取。在步骤515中,实体将第一数据总线(例如,数据总线A)解析为 多组(例如,分组)数据总线信号。例如,第一组信号可以包括数据 总线A的1-16比特,第二组信号可以包括数据总线A的17-32比特,第三 组信号可以包括数据总线A的33-48比特,以及第四组信号可以包括数 据总线A的49-64比特。在步骤520中,对于多个控制器120的每一个,实体指配相应的控 制器120,用于控制同第一数据总线(例如,数据总线A)相关联的多 组数据总线信号中的对应组的数据总线信号,该第一数据总线位于相 应控制器120与第一存储器设备(例如,第一DIMM)之间。在步骤525中,实体将第二数据总线(例如,数据总线B)解析为 多组(例如,分组)数据总线信号。例如,第一组信号可以包括数据 总线B的1-16比特,第二组信号可以包括数据总线B的17-32比特,第三 组信号可以包括数据总线B的33-48比特,以及第四组信号可以包括数 据总线B的49-64比特。在步骤530中,对于多个控制器120的每一个,实体指配相应的控 制器120,用于控制同相应控制器120与第二存储器设备(例如第二 DIMM)之间的第二数据总线(例如,数据总线B)相关联的多组数据总线信号中的对应组的数据总线信号。在步骤535中,实体提供与多个存储器控制器120相关联的同步电 路130,以同步多个存储器控制器120,用于允许在相同时间从第一存 储器设备中同时存取数据的不同部分。同步电路130还可以协调与存储 器控制器120相关联的操作,以便存储器控制器120可以在相同的时间, 从第二存储器设备中同时存取数据的不同部分。在步骤540中,实体指配多个存储器控制器120中的存储器控制器 120-1,用于控制与第一存储器设备相关联的地址总线(例如,控制信 号X)。在步骤545中,实体指配多个存储器控制器120中的存储器控制器 120-2,用于控制与第二存储器设备相关联的地址总线(例如,控制信 号Y)。在步骤550中,实体配置存储器控制器120,以支持将从第一存储器设备中检索到的数据的不同相应部分同时并行传递到目标目的地, 例如主机系统IIO。如上所述,这里的技术同样适用于诸如数据处理系统的应用,该 数据处理系统使用DIMM (双重内嵌式存储器模块)存储器部分,其中 对应管脚以顺序的方式沿着相应设备的长度方向物理地分布。然而, 应注意,这里的配置不限于在这种应用中使用,并由此,这里的配置 及其变形同样适合于其它应用。尽管参考其优选实施例具体地示出并描述了本发明,但是本领域的技术人员应了解,在不背离由所附权利要求所限定的本发明主旨及 范围的情况下,其中可以进行形式及细节的各种变化。这种变化意图 包括在本发明的范围之内。同样,本发明实施例的在先描述并不意图是限制性的。相反地,对本发明实施例的任何限制是在如下的权利要 求中提出的。
权利要求
1.一种方法,包括将至第一存储器设备的第一数据总线解析为多组数据总线信号;对于多个控制器芯片中的每一个,指配相应的控制器芯片,用于控制同所述第一数据总线相关联的所述多组数据总线信号中的对应组的数据总线信号,所述第一数据总线位于所述相应控制器芯片与所述第一存储器设备之间;以及经由所述第一数据总线,允许所述多个芯片控制器中的每一个同时存取存储在所述第一存储器设备中的数据的不同相应部分。
2. 根据权利要求l所述的方法,其中,允许所述多个芯片控制器 中的每一个同时存取存储在所述第一存储器设备中的数据的不同相应 部分包括指配所述多个控制器芯片的给定控制器芯片,用于控制与所述第 一存储器设备相关联的地址及控制总线。
3. 根据权利要求l所述的方法,进一步包括保持多个数据总线,该多个数据总线包括至所述第一存储器设 备的所述第一数据总线、以及至第二存储器设备的第二数据总线;将至所述第二存储器设备的所述第二数据总线解析为多组数据总 线信号;对于所述多个控制器芯片的每一个,指配相应的控制器芯片,用 于控制与所述第二数据总线相关联的所述多组数据总线信号中的对应 组的数据总线信号。
4. 根据权利要求3所述的方法,进一步包括允许所述多个芯片控制器的每一个经由所述第二数据总线,同时 存取存储在所述第二存储器设备中的数据的不同相应部分。
5. 根据权利要求3所述的方法,其中,允许所述多个芯片控制器 的每一个同时存取存储在所述第二存储器设备中的数据的不同相应部 分包括指配所述多个控制器芯片中的第一控制器芯片,用于控制与所述 第一存储器设备相关联的地址总线及控制总线;指配所述多个控制器芯片中的第二控制器芯片,用于控制与所述 第二存储器设备相关联的地址总线及控制总线;在所述第一控制器芯片控制与所述第一存储器设备相关联的所述 地址总线及控制总线的同时,允许所述多个控制器芯片的每一个同时 从所述第一存储器设备中存取数据的相应部分;以及在所述第二控制器芯片控制与所述第一存储器设备相关联的所述地址总线及控制总线的同时,允许所述多个控制器芯片的每一个同时 从所述第二存储器设备中存取数据的相应部分。
6. 根据权利要求l所述的方法,进一步包括配置所述控制器芯片,以支持将从所述第一存储器设备中检索的 所述数据的所述不同相应部分同时并行传递到目标目的地。
7. 根据权利要求3所述的方法,进一步包括沿着布局轴线布局所述控制器芯片,该布局轴线与所述第一存储 器设备及所述第二存储器设备的纵向轴线基本平行。
8. 根据权利要求l所述的方法,其中,允许所述多个芯片控制器 的每一个同时存取存储在所述第一存储器设备中的数据的不同相应部分包括沿着布局轴线布局所述控制器芯片,该布局轴线与所述第一存储 器设备的纵向轴线基本平行。
9. 根据权利要求8所述的方法,其中,沿着所述布局轴线布局所 述控制器芯片包括-在所述布局轴线的第一位置上,设置所述控制器芯片的第一控制 器芯片;在所述布局轴线的第二位置上,设置所述控制器芯片的第二控制 器芯片;实现所述第一控制器芯片与所述第一存储器设备之间的第一组传 导通路;以及实现所述第二控制器芯片与所述第一存储器设备之间的第二组传 导通路。
10. 根据权利要求9所述的方法,其中,实现所述第一组传导通路 及所述第二组传导通路包括将同所述第一控制器芯片与所述第一存储器设备之间的所述第一 组传导通路相关联的对应传导通路的长度配置为,和同所述第二控制 器芯片与所述第一存储器设备之间的所述第二组传导通路相关联的对 应传导通路的长度基本相似。
11. 一种系统,包括第一数据总线,该第一数据总线被解析为多组第一数据总线信号; 多个存储器控制器芯片,该每个存储器控制器芯片被指配为,控制至第一存储器设备的所述多组第一数据总线信号中的对应组的第一数据总线信号;以及所述第一数据总线允许所述多个芯片控制器的每一个同时存取存储在所述第一存储器设备中的数据的不同相应部分。
12. 根据权利要求ll所述的系统,其中,所述多个存储器控制器 芯片中的单一存储器控制器芯片被配置为,控制与所述第一存储器设备相关联的地址总线及控制总线。
13. 根据权利要求ll所述的系统,进一步包括 第二数据总线,该第二数据总线被解析为多组第二数据总线信号;以及所述多个存储器控制器芯片的每一个被指配为,控制至第二存储 器设备的所述多组第二数据总线信号中的对应组的第二数据总线信 号。
14. 根据权利要求13所述的系统,进一步包括同步电路,用于协调与所述多个存储器控制器芯片相关联的操作, 其中,与所述同步电路相关联的信号传送允许所述多个芯片控制器经 由所述第二数据总线,同时存取存储在所述第二存储器设备中的数据 的不同相应部分。
15. 根据权利要求13所述的系统,其中所述多个控制器芯片中的第一控制器芯片被配置为,控制与所述第一存储器设备相关联的第一地址总线及对应的控制总线;以及所述多个控制器芯片中的第二控制器芯片被配置为,控制与所述 第二存储器设备相关联的第二地址总线及对应的控制总线。
16. 根据权利要求ll所述的系统,其中,所述多个存储器控制器 芯片被配置为,支持将从所述第一存储器设备中检索的所述数据的所 述不同相应部分同时并行传递到目标目的地。
17. 根据权利要求13所述的系统,其中,沿着印刷电路板上的布 局轴线布局所述多个存储器控制器芯片,该布局轴线与所述第一存储 器设备及所述第二存储器设备的纵向轴线基本平行;以及其中,所述第一存储器设备包括沿着所述第一存储器设备对应纵 向轴线安置的管脚;以及其中,所述第二存储器设备包括沿着所述第二存储器设备对应纵 向轴线安置的管脚。
18. 根据权利要求ll所述的系统,其中,沿着电路板的布局轴线设置所述多个存储器控制器芯片,该布局轴线与所述第一存储器设备 的纵向轴线基本平行。
19. 根据权利要求18所述的系统,其中所述多个控制器芯片中的第一控制器芯片驻留在所述布局轴线的 第一位置处;所述多个控制器芯片中的第二控制器芯片驻留在所述布局轴线的 第二位置处;第一组传导通路将所述第一控制器芯片连接到所述第一存储器设 备;以及第二组传导通路将所述第二控制器芯片连接到所述第一存储器设备。
20. 根据权利要求19所述的系统,其中将同所述第一控制器芯片与所述第一存储器设备之间的所述第一 组传导通路相关联的对应传导通路的长度配置为,和同所述第二控制 器芯片与所述第一存储器设备之间的所述第二组传导通路相关联的对 应传导通路的长度基本相似。
21. —种系统,包括装置,用于将至第一存储器设备的第一数据总线解析为多组数据总线信号;以及装置,对于多个控制器芯片的每一个,用于指配相应的控制器芯 片,以控制同所述第一数据总线相关联的所述多组数据总线信号中的 对应组的数据总线信号,所述第一数据总线位于所述相应控制器芯片 与所述第一存储器设备之间。
全文摘要
可以将至存储器设备的单一数据总线拆分为许多数据总线部分,每个部分由多个控制器芯片的不同相应控制器芯片所管理。在对相应的存储器设备进行存储器存取期间,多个控制器芯片的每一个控制数据总线不同的对应部分,以根据该存取是读取还是写入来从存储器设备中检索数据或将数据存储到存储器设备。为了执行数据存取,同步器电路(在存储器控制器芯片内部和/或外部)同步多个存储器控制器芯片,以便存储器控制器芯片之一驱动至存储器设备的地址总线和/或控制信号。在设定至存储器设备的地址后,存储器控制器芯片根据该地址,从存储器设备中读出数据或者将数据写入存储器设备。
文档编号G11C7/10GK101231879SQ20081000266
公开日2008年7月30日 申请日期2008年1月14日 优先权日2007年1月12日
发明者小弗朗西斯·J·施蒂夫特, 贾森·P·科兰杰洛, 迈克尔·A·卡恩, 马修·G·萨金特 申请人:博路技术有限公司