互连系统中的偏斜管理的制作方法

文档序号:6781309阅读:197来源:国知局
专利名称:互连系统中的偏斜管理的制作方法
互连系统中的偏斜管理
本申请主张2006年10月23日申请的标题为"互连系统中的偏斜管理(Skew Management in an Interconnection System )"的美国临时申请第60/853,852号的权 益。前述该申请通过引用整体地并入本文中。
背景技术
通常、计算机和通讯产品的发展已经由如"摩尔定律"这样的法则支配, 其中随着时间发展,元件的密度增加并且所述元件的成本降低。这也常常伴随 着传输和计算速度的增加。这些趋势常常增加功耗密度并且对散热或者在高温 环境下的操作需要新的解决方案。在高速电路中,信号传播延迟以及设计和制 造公差关于实际中获得的可实现速度可能产生限制。
当代存储系统结构可在成本,性能和升级能力之间论证权衡以便升级例如 系统的总存储容量。存储容量一般通过具有连接器/插座接口的存储模块或存 储插件升级。这些存储模块常常连接到设置在背板上的总线或者互连接线以有 效利用系统资源。除了可升级性之外,许多这些当代存储系统也需要用于带宽 密集应用例如制图的高吞吐量。
一种流行的存储模块是双列直插存储器模块(Dual In-line Memory Module, DIMM)。 DIMM是矩形低剖面(low-profile)电路板,其具有沿一长边布置在两 侧的电接触点。当将DIMM插入到DIMM存储器插座内时,该接触点形成到主
板存储总线的电连接。
用于计算和通讯系统中的存储器包括,但不限于,所有类型的随机存取存
储器(RandomAccess Memory, RAM)(例如S-RAM, D-RAM);可编程只读存 J渚器(programmable read only memory, PROM);电可才察只读存4诸器(electronically alterable read only memory, EPROM);所有类型的闪速存储器、磁存储器,包括 磁阻随机存取存储器(Magnetoresistive Random Access Memory, MRAM),铁电 随机存WH诸器(Ferroelectric Random Access Memory, FRAM或者FeRAM)和 碳纳米管基/易Memory, NRAM)和相变存储器(Phase-change memory, PRAM),以及f兹盘存 储介质。在未来可能变得适合使用的其它存储器包括量子设备等等。
目前,存储系统的容量和性能可由功耗,由与功耗和设备密度相关的冷却 能力,由由例如数据偏斜引起的响应时间,由需与存储单元互连的电路板的复 杂度,以及由这些需要考虑的因素的经济成本所限制。
本申请与标题为"互连系统(Interconnection System ),,,由相同的发明人在 2006年4月17日申请的美国专利申请第11/405,083号有关,前述该申请通过引 用整体地并入本文中。。

发明内容
本发明实施例揭露一种互连系统,其包括具有多条信号线的总线,各线能 够传输或接收包含数据位的信号。第一线上的数据位和第二线上的数据位沿所 述总线以一定间隔在信号线之间交换。 一方面,所述数据在三条或者三条以上 的信号线上传输,并且所述数据位交换使得具有第一时延的数据位与具有第二 时延的数据位交换。另一方面,第一交换模式的交换模式被用于各后续的交换。
本发明实施例揭露一种互连系统,其包括多个节点,所述节点构成由具有 多条线的链路连接的网络,以及具有与所述多个节点中的节点连接的连接器的 母板。第一节点是数据源,并且第二节点是数据目标的地,并且所述第一节点 或第二节点中的至少一个可配置以改变线之间的数据分配。 一方面,数据在三 条或者三条以上的信号线上传输,并且所述数据的数据位交换使得在具有较大 累积时延的线上的数据位与在具有较小累积时延的线上的数据位交换。
一种互连系统的节点包括开关、输入端口和输出端口,各端口具有第一、 第二、第三和第四线。所述输入端口的第一线连接到所述输出端口的第二线, 并且所述输入端口的第三线可连接到所述输出端口的第一、第三或第四线中的 一条。 一方面,所述输入端口的第二线连接到所述输出端口的第一线。另一方 面,所述输入端口的第三线可连接到所述输出端口的第三或第四线中的一条。
一种模块包括连接器式的电路插件,其具有带有多个可连接单元的连接器;
间的传输延迟差减少。一种补偿互连系统中数据偏斜的方法,包括提供具有多条线的信号总线,
将多个节点连接到所述信号总线;确定所述总线上相邻连接的节点之间的信号 传输差别时延;并且当在目的地模式测量数据时延差时,互换线之间的数据通 路使得改变至少 一对所述总线的线之间的数据时延差。
一种补偿互连系统中数据偏斜的方法,包括提供连接到信号总线的节点, 所述节点包括至少一个开关并且配置所述开关使得至少第一输入线与不同于第 一输出线的其它线连接。 一方面,至少提供一条路径作为在所述第一输入线和 所述不同于所述第一输出线的其它线之间的固定连接。
一种软件程序产品,所述软件程序产品存储于机器可读介质;并且配置电 子设备确定总线上连接的节点之间的信号传输差别时延;和当在后续节点测量 数据时延差时,配置所述总线的线之间的数据通路的分配使得改变至少一对所 述总线的线之间的数据时延差的指令。


图1是显示轨迹长度的连接器式(connectorized)模块正面和背面的正视截 面图,该连接器式模块的尺寸与双列直插存储器模块(DIMM)的尺寸相似;
图2 (a)显示减少由线长度不同引起的偏斜的一种装置;并且图2 (b)显 示减少偏斜的 一种替换的装置;
图3显示连接到总线的节点的线性布置,其中通道(lane)到线的绑定使得 输入线上的数据与相应输出线上的数据相同;
图4显示连接到总线的节点的线性布置,其显示通道到线的绑定,并且配 置成使得当在目的地节点测量到偏斜时减少所述偏斜;
图5 (a)重复了图4,并且图5 (b)和(c)显示数据通道可绑定到位于源 节点或目的地节点的线,使得在数据路径上实现相同的差别偏斜;
图6显示具有用于在输入线和输出线之间对称地交换数据的固定网络的开 关配置,以及可由2: 1多路复用器选择的部分可转接的网络;
图7显示节点的线性布置,其中图6的固定网络使用在各节点处;
图8显示具有与图7的交换模式不同的交换模式的节点的线性布置;
图9显示具有与图7和图8的交换模式不同的交换模式的节点的线性布置;
图10(a)和图10 (b)显示带有与DIMM的形状因子相似的形状因子的连接器式电路板,并且其中输入线和输出线是物理地布置以减少由差别线长引起
的差别偏斜;
图11 (a)和(b)显示另一种输出线布置;
图12 (a)、 (b)和(c)仍显示另一种输出线布置,其中球栅阵列(BGA) 用作电游4妄口;
图13 (a)和(b)显示输入线和输出线的一个实例,其中在节点中存在两 个以上端口;
图14 (a)和(b)显示差别偏斜可通过在母板上采用不同的轨迹长度而减
少;
图15显示开关的实例,其中可执行固定互换和全可配置互换的组合; 图16显示可配置开关的实例,其中在节点中存在两个以上端口;以及 图17显示可配置开关,其中有些交换可在端口的1/0焊盘内或附近执行,
有些交换可在I/O焊盘本地的开关中执行,而其它交换可通过一个或多个全局开
关(未显示)执行。
具体实施例方式
参考附图可更好地理解示范性的实施例,但这些实施例不倾向于限制性的。 在相同或不同的附图中同样标号的单元执行等效的功能。这些单元可标号或者 由首字母缩写词标明,或两者结合,并且在各表示之间的选择仅仅为清晰目的 而做出,因此由数字标明的单元,和由首字母缩写词或字母数字指示符标明的 相同单元不应在该基础上进行区分。
应该意识到,所述方法以及在附图中所示的装置可配置或具体化在机器可 执行指令以及电子元件中;例如,软件、硬件,或两者的组合。所述指令可用 于促使通用计算机、专用处理器,例如用该指令编程以执行所述操作的DSP或 阵列处理器等等工作。另外,该操作可通过包含用于执行所述操作的硬连线逻 辑或固件指令的专门的硬件元件,或其可配置成这样,或者通过编程计算机元 件和可包括模拟电路的自定义硬件元件的任意组合执行。
该方法可至少部分地作为可包括具有存储在其上的指令的机器可读介质的 计算机程序产品提供,该指令可用于给计算机(或其它电子设备,例如现场可 编程门阵列(Field Programmable Gate Array, FPGA)等等)下指令以执行该方法。
li为了本说明书的目的,术语"机器可读介质"应当采取包括能够通过计算机器 或者专用硬件存储或编码用于执行的指令序列或数据序列并且使该机器或者专 用硬件执行本发明的任意一种方法或者功能的任何介质。该术语"机器可读介 质"相应地应采取包括,但不限于,固态存储器、光盘和磁盘、磁存储器、光 存储器以及载波信号。软件可存储或分布在一种介质上并且转移或再存储在另 一种介质上以便使用。
例如,但不作为限制,机器可读介质可包括只读存储器(ROM),所有类型 的随机存取存〗诸器RAM(例如S-RAM、 D-RAM ),可编程只读存储器(PROM), 电可擦只读存储器(EPROM),磁随机存取存储器,磁盘存储器介质,闪速存 储器,电、光、声或其它形式的传播信号(例如,载波、红外信号,或数字信 号)。
此外,在本领域中谈及软件以一种或另一种形式(例如,程序、过程、进 程、应用、模块、算法或逻辑)来执行动作或导致结果是众所周知的。这种表 达仅仅是说明通过计算机或等效设备,例如FPGA,执行软件,使得或配置计算 机或等效设备的处理器执行动作或产生结果的一种方便的方式,这是本领域技 术人员/>知的。
当描述特定的实例时,该实例可包括特定的特征、结构或特性,但每个实 例不必须包括上述特定的特征、结构或特性。这不应理解为两个或多个实例的 上述特征、结构或特性不应或不能组合的建议或含义,当这种组合被明确地排 除时除外。当特定的特征、结构或特性连同实例进行描述时,这种特征、结构 或特性可连同其它实例使用,无论是否明确描述。
在这里描述的连接器或连接器接口,例如存储模块连接器接口,不限于其 中公连接器或接口接合母连接器或接口的物理上分离的接口 。连接器接口也包 括任何类型的物理接口或连接,例如其中来自存储模块、开关等等的引线、焊 球或连接焊接于电路板的接口。例如,在堆叠芯片(die)的方法中,多个集成 电路芯片(例如,存储设备和緩冲设备)可用衬底在相互的顶部堆叠,该衬底 通过,例如,球栅阵列型的连接器接口形成到存储控制器或处理器的底部和接 口。作为另一个实例,通过球栅阵列型的连接器接口或物理分离插座型连接器 接口中的一种,存储器、开关或緩冲设备可经由柔性带互联线和到存储控制器 的接口互相连接。连接类型可包括集成电路芯片之间的接口,在衬底上、在衬底之间、或者在印刷电路板上等等的互连导线。
节点可包括存储器并且也可具有用于存储器的控制器,可配置开关单元
(configurable switching element, CSE)以及其它用于处理、传输或4妄收信号的 电路。然而模块可包括存储器,并且一个或多个其它单元可分离地安装。作为 选择,该模块可包括CSE并且一个或多个其它单元可分离地安装。除了如在这 里明确提及的之外,对于特定模块的功能分配倾向于为了讨论方便,作为本领 域技术人员将意识到实际的物理方面和计算方面可布置在多种等效方式中。
"总线"或"链路,,意味着一条信号线或多条信号线,各自具有一个或多 个的用于"收发(transceiving)"(例如,传输、接收,或两者兼有)的连接点。 每个连接点可连接以与收发器(例如,发送器一接收器),或信号发送器电路或 接收器电路中的一个耦接或通讯。连接或耦接是电地、光地、磁地、通过量子 缠结或其等效的方式提供。通过相同或相似的手段的其它电连接用来提供以便 满足作为功率、接地、辅助信号和控制等等这种附加的系统要求。偶尔描述这 种附加的连接以便阐明该说明,然而这种附加的连接对于本领域技术人员来说 是公知的,并且在任何实例中这些连接描述的缺少不应认为排除它们的包含。
链路承载信号线上的信号。信号通常属于包括时钟和控制信号、地址信号、 命令信号以及数据信号的几种分类中的任何一种。数据信号承载可存储在存储 设备或接口中,或可从存储设备或接口重新得到(retrieve)的数据。地址信号 指定数据可从其中读取或者写入其中的存储设备或系统中的地址或地址范围, 并且也可以选择存取存储设备或接口中的哪一个或者哪几个。命令信号指示存 储设备或接口以便执行哪种操作,例如,读、写、刷新,或存取模式(例如突 发或广播模式)应当用于数据传输。时钟和控制信号使在控制器和存储设备之 间传递的其它信号同步。虽然链路可使用用于每个信号的分离的信号线(例如, 32地址线用于在一个时钟周期内传输32位宽的地址而32数据线用于在一个时 钟周期内传输32位宽的数据字),同样存在各种方案以再利用用于不同信号的 一条或多条信号线,同样存在各种方案以在存储事务的不同的时钟周期期间再 利用用于命令信号、控制信号、地址信号或数据信号的一条或多条信号线。
应该意识到,当讨论线作为连接到接口或端口时,将线描述为有源的、上 电的或断电的、处于待机模式等等是方便的。这意味着解释为指的是在节点的 具有端口的接口处的连接的状态,并且可包括其它节点功能。该线本身仅可为电路板上的金属轨迹等等,用来提供节点间的连接。
术语"线"在这里指的是物理的线,其可具有逻辑支配到其上的数据,其
使用与在美国专利申请第11/405,083号中的能接受的使用稍微不同,在该专利 中术语线和通路常常互换使用。无论术语通路是否意味着解释为物理对象,现 在都称为线,或者,另外,与数据字或数据位相关的逻辑构造,都可以从说明 书的语境使用中理解。在这里,以及将来的使用,但不追溯既往,术语通路将 意味着与数据相关的逻辑概念。数据通路可以与物理线相关,在其上数据作为 信号在节点或其它电子元件之间传播,其可为有源元件和无源元件。同样地, 当通路的数据作为信号在线上传输时,通路可以说是绑定到线。通路到线的绑 定可以改变使得该通路可以重新分配给另一条线。相似地,术语总线或链路现 在可以称为信道,并且是否该术语是指逻辑通路的集合或是指线的集合在上下 文中将是明显的。
术语通路和线,如现在使用的,可以参考图3理解。存在5条本质上为电 的并且承载信号的线,其从0到4标号。存在标记为从A到E的一组相应的逻 辑数据分配。在图3的实例中,逻辑数据组到物理线的绑定在每一节点处保持 相同。然而,图4显示一个实例,在其中逻辑数据到物理线的绑定在一个或多 个节点处改变。
"宽度优先,,协定常用于编号树中的节点,就是说,从树根开始并且在继 续前进到下一层之前遍历(work across)位于给定层的所有单元。这种编号方法 只是为了方便。为了实现目的可同时使用多种不同的编号方案,包括两种或更 多的编号方案。为了信号目的协定"端口 0"、"端口 1"或者"端口 A"或"端 口 B"可以指的是相对的而不是绝对的端口。按照协定,"向南的"、"下行的" 或"次级的"指的是离开模块控制器或根的方向,然而"向北的","上行的" 或"初级的,,指的是朝向模块控制器或根的方向。可以存在多于一个的根或模 块控制器,并且其每一个是可同期操作的。
另外一个考虑的因素是在每一个数据字、数据包或数据帧中的数据位的时 间扩散。在许多链路中,数据位可以在线上并行地转送。应该理解,这可以是 实际情况的简化,因为数据可通过并行的线发送,就以串行方式在每条线上传 输的超过一位的数据字,作为实例。由于在该线上的信号差别(differential)延 迟,在其它因素中,该差别延迟与线长、阻抗、电子带宽等等有关,代表数据位的信号不可以足够的同时性到达以便立即处理,并且等待或将数据緩冲一个 或多个时钟周期或数据帧,直到所有的位均已经由模块或节点接收从而继续进 行解码或者其它数据处理可能是必要的。在对地址,或其它信息起作用之前, 该延迟在每个节点处进一步增加了时间必要性。在这种情况下,并且在其中可 能希望仅在链路线被要求用于进行数据传输时开启链路线,(在其中传输通常 理解为包括接收),地址信息可能必须在相关的指令或数据之前发送一段时间。 这可导致减少系统传输容量和带宽的结果。
在链路中单独的线的有效物理长度通常是不同的,并且在不同的传输线上 发送的位的到达时间上可能存在时间差。这可称为数据"偏斜"。 一种调节数据 偏斜的方法是在每一跳执行去偏斜使得数据包的包头可以解释并且该数据包在 下一跳传输。然而,这可增加相当多的等待时间到中继中,因为去偏斜进程可 能需要至少和在各节点之间的线之间的最长差别延迟同样多的时间。其它方法 试图通过不在每一节点执行去偏斜而在寻址模块或节点的接收器执行去偏斜, 同时允许该偏斜沿路径建立来避免这种附加的延迟。但是,累积延迟同样可增 加相当大的总延迟,因为尽管部分数据包可能较早到达,但从源节点(例如, 存储控制器)到目的地节点积累的差别延迟可能需要调节。
在正在由INTEL开发的反馈式DIMM ( Feed-Back DIMM, FB-DIMM)技
术中,认为设备需要能够校正高达6个ui每跳的偏斜。术语"ur,或"单位间
隔(Unit Interval)"是信号跃迁之间的平均时间间隔,其可代替时钟周期用在高 时钟频率,因为时钟周期不可能是完全稳定的或者无抖动。如果预期6个UI的 偏斜每跳,而存储系统有8跳,则总偏斜是48UI。
在链路运行在标定的2GHZ的时钟速度,4Gbps数据速率的情况下,1UI=250 皮秒(ps),因此48UI的延迟偏斜等价于12纳秒(ns)的偏斜。就是说,假设 在一条线上的第一个到达位和在其它线之一上的最后到达位之间需要12ns。第 一到达位可能需要存储在存储器、锁存器或移位寄存器等等中,直到随后到达 的位到达的时间,并且然后将上述位输出到进行去偏斜和读取数据的设备。
偏斜的成因之中存在图1所示的情形,在其中INTEL的高级存储緩冲器 (Advanced Memory Buffer, AMB )等等位于设置在连接器式板上模块中,该连 接器式板可插入到安装在,例如,母板上的连接器中。术语"AMB"用作板上 存储器接口或控制器的实例。这样的布置可用于FB-DIMM、注册DIMM等等。来自下行模块的上行路径上的消息具有许多条线,其中通路0在左边,线4在 中间,等等。上行路径可与连接器的正面相接,并且在经过AMB之后,可连接 至连接器背面类似布置的线。注意当AMB显示在插件板的正面和背面时,分离 的AMB单元不必需执行此功能。另外,当线只显示在AMB的边缘时,如果 AMB是在球式斥册格阵列(ball grid array, BGA )封装或其它允许不仅在其边缘 连接的封装中,它们可连接在AMB的下面。各线从AMB到板背面上的连接器 露出。板背面上的线同样设置使得线0在左边而线4在中央,等等。所示的线 可以认为代表板上用于连接在AMB和插件板接口连接器(未显示)之间的轨迹。 这些线如所示的设置使得超过一个的模块可通过母板与连接配合模块接口连接 器的轨迹连接。在这方面,对于每条线用于信号在母板上连续的连接器的插脚 之间传播的时间可能大致相同。然而,在模块板上的情形不是这样。线4具有 短距离以从连接器行进到AMB,反之,例如,线O具有较大距离。
为了说明的目的,标准尺寸DIMM模块用作参考。这样的模块在宽度上约 为140mm,并且因此,从开关位于该处的中央到通路O的距离约为70mm。将 20mm的长度加到位于AMB和连接器上相应的插脚之间的线4的长度上,在本 实例中在最短及最长轨迹之间的最大差别长度约为50mm,其对应于约250到 350ps的传播时间内的近似差。这代表带有现有的DIMM的估计情况。在这里 数据速率标定为4GB/s,单从这个结果这可导致一或两个时钟周期的偏斜。
当存在几个标准化的DIMM或存储i^莫块时,如在这里使用的术语DIMM或 存储模块应被理解为指的是任何存储器类型,其可用作安装到具有用于连接到 其它模块电路等等的连接器接口的电路板。插脚或轨迹的数量、电路板的尺寸 以及DIMM或存储模块上的存储器的容量以及一种或几种类型,不受限于如现 在生产或使用的这样的插脚数、互连数、尺寸、类型和容量。
图2a、 b显示不同的信号路由方法如何可用于减轻差别传播时间问题。图 2a显示在其中轨迹从CSE或者可能为AMB的其它设备直接扇出(farmed out) 到连接器的情形。图2b显示在其中带有较长轨迹的信号线在板上的反向端发送, 并且然后另一套信号线从中间发送的情形。在这种情况下,对于有些轨迹的传 播距离大于图2a中的传播距离,然而在各组信号之间,例如在0、 1、 2和3之 间或者在4、 5、 6和7之间的轨迹长度差可减少。当各组轨迹之间的长度之间 仍可能存在差异时,延迟管理和信号去偏斜的进程可通过将延迟变化从N个信
16号的N个不同的延迟减少到图2b的实例中的2个不同的大致相等的延迟而简 化。
图3显示从显示在附图的左手边模块控制器MC通过5个模块向线0 - 4的 传输的实例。从MC传输的数据指示为A、 B、 C、 D和E,与输入数据通^各对 应。在每个下行模块处的表格显示输入的逻辑名称'T,、由该线上的数据经历的 延迟"D"、从MC到当前位置沿数据传输路径的总延迟"T,,以及输出数据的逻 辑名称"0"。表格的行对应于线的次序,因此上面的行显示线0而下面的行显 示线4。在这个实例中,延迟与每条线相关,并且对于每条线该延迟可能不同。 该延迟可以解释为关于抽象的线没有额外延迟的差别延迟,或从在前模块上的 发射器或MC到接收模块上的接收器的延迟。
对于这个实例,为了说明的目的,在其中将模块之间的延迟假定为在从1 到6 (任意单位)的范围内变化,并且来自各模块的输入线和输出线具有分配或 绑定在给定线数输出的与到达输入的数据相同的数据,与各模块关联的输出数 据模式与输入数据模式相同A、 B、 C、 D和E分别与线0-4关联。通过跟随 从模块到模块以下行方向的表格的前进,对于各线的总延迟可见为对于位于MC 和与表格关联的模块之间的该线的延迟之和。例如,对于线O,在MC和第五个 模块(M4)之间经历的总延迟为30单位,但对于通路4仅5单位。在这个实例 中,其它线经历中间量的时延。如果延迟单位与时钟周期关联,那么线0上的 数据将在线4上的数据之后25个时钟周期到达。
延迟时间值给定为整数值,并且其在每个模块之间的给定的线内是相同的 仅为说明的目的。延迟不必经整数估值,它们在模块之间每跳也不必须是相同 的。
在这个实例中,如果发送的命令或数据包或数据帧的总长度为,例如,10 时钟周期,那么在任何时刻约2.5个命令将处于由模块M4接收的进程中。因而, 最后的模块在任何时刻在它能处理第一命令之前,可能需要緩冲超过2个完整 命令,同时第一命令的所有位作为完整的组,将花这么长的时间来被接收。在 这个实例中,第二命令和第三命令中的部分将在第一命令的所有位已被接收之 前,已经开始在模块M4处已被接收。
图4显示一种设备和方法,其用于减少数据通路之间差别延迟,以便减轻 系统中的偏斜累积,并且可减少在各节点或每跳可能需要同时处理的命令的数量。在此设备中,关于插件模块或电路板或衬底上的设计,向每个模块输入的
数据可能是从输入线向不同线的输出。出于图4例子的目的,各线的实际物理 布置与图3中的一样。这个例子意在显示现有AMB或类似系统和当前应用的方 法和装置的执行之间的一些不同,如前所述,保持将该类似系统的数据通^各分 配或绑定到每个模块处的相同线。某些场合下,输入和输出数据线具有与先前 相同的逻辑通路分配,从而数据中只有某些可存在于不同的线上。
例如,在第一模块(MO)处,在线0上进入的数据通路A是线4上的输出, 在线1上进入的数据通路B是线3上的输出,在线3上进入的数据通路D是线 l上的输出,在线4上进入的数据通路E是线0上的输出,并且,在线2上进入 的数据通路C是线2上的输出。
在模块MI的输出处,差别延迟的情况与图3中所示才莫块MI的相同。然而, 当考虑用于模块M2的表时,情形就变了。作为实例,数据通路A,其现在在线 4上用于在模块MI和M2之间的传输,只累积了与线4关联的延迟,即1单位; 并且,数据通路E,其现在在线O上,累积与线O关联的延迟。在第二模块M2 处,可见对于数据通路E的延迟为7单位,并且对于数据通路A的延迟也为7 单位。对于其它数据通路B、 C、 D的延迟可能不一定完全相同,但在值上是接 近的,并且数据通路和物理线的再分配已减少了延迟的扩散。
随着在每个模块处数据通路A-E到线0-4的再分配或交换,可见,各种 数据通路分配A-E之间的延迟差在不断积累,如前面实例中的那样。在每个模 块处,可能继续将数据通路交换到适当的线。在最后的模块处(这个实例中, M4),关联的表显示,与不同的数据通路单元相关联的延迟在从15单位到18 单位的范围内变化,相当于共3单位的延迟扩展。这个可与图3的实例比较, 其中延迟扩展为25。在逻辑数据通路分配和实例中所示的物理线之间互换信件 可能因此减少数据的量,该数据在当所有用于发射器处给定帧的数据已在一模 块处被接收前可能需要緩冲,以8为系数。这个实例中,将通路或数据位在模 块M4中重新布置为与被传输相同的逻辑布置。在一可供选择的办法中,可能在 存储控制器或其它传输终端处重整通路或数据位,使得在接收端处的重新排序 可能不是必需的。
实例中使用的位分配策略是要选择已经经历过最高累积时延的数据,并且 分配其为向具有最低累积时延的线的输出。类似的,带有最低累积时延的数据被分配到带有最高累积时延的线处。也可使用其它策略,这些策略中,差别偏 斜在当系统中特定单元处被测量时可能增加、减小或保持相同。
说明中,为表达简单,给定延迟为整数值;然而,非整数值也是可能的, 因为时延是用任意单位描述的,代表若干倍时钟速率。作为选择,时延和差别 时延可用整数和分数个时钟期间表达。
时延被显示为已由用于设置策略和通路到线切换开关结构的原理预先确 定。系统设计或原型的时间、制作时间、系统中的模块集合时间、系统启动、 每个系统启动、或系统运作期间进行的测量可能做这样的确定。对执行此确定 的时间或各时间的选择,可能与希望的性能和系统复杂度关联,并且可能考虑 制作差异性和温度因素,以及有源或无源元件失灵或退化。
互换交换、切换、再分配或通路绑定的功能可能由开关执行,然而,术语 "开关"的使用不用于将该功能的具体实现限定为离散设备;实现互换、交换、 再分配、切换或通路绑定的任何机制都可使用。为了方便,术语"开关"当被 应用于这方面的系统、装置或方法时,意在涵盖可用于实施该功能的技术范围。 这样的技术可使用,要么单独地要么结合地,存储贮存单元、状态机器或存储 程序计算机的运行、以及专用电子逻辑电路等等。可在静态或动态基础上执行 这样的开关,取决于特定产品的设计要求。术语开关也可包括使用固定连接或 轨迹的线的切换,其可能包括具有等同的结果的熔线或其它技术。
图5a显示为了在任一模块使差别数据时延最小化,在线之间交换数据通路 的模式。各时延表未显示,但被假定为导致了所示切换的模式。在M4处,数据 通路按切换顺序到达C、 D、 E、 A、 B,反之,预期顺序为A、 B、 C、 D、 E, 并且此顺序通过在模块M4之内适当切换数据被恢复,使得数据以期望的顺序出 现在系统其它部分。
图5b概括从MC的输出到M4和M4内的输入的所见的切换的全面影响。 即,中间的跳,以及发生在每个跳处的切换可能被逻辑替换为单一的从MC到 M4的线的切换和在M4内部的线的切换。这代表获得的端对端转换。在每个模 块处开关的结构如图5a中所示,在MC处的数据排序是那样的,使得在M4处 完成布置。另一方面,图5c中所示的,开关布置保持不变,但数据到通路的布 置顺序在MC处先于传输被预置换,使得其在M4处以期望的顺序被接收,并 且在M4内不要求重新排序。这样的过程可使每个模块处的处理的时延最小化,并且当在MC内执行该进程时,预置换可能发生在命令和数据还在输出序列中 时,并且执行运行的时间可能包含在其它系统进程中。这样的预置换还可能通 过允许输入数据 一 一要么使其被置换以供传输到下模块,要么使其被阅读而没 有供本地CSE的使用的置换——在CSE之内简化数据路径。如果CSE已被布 置入分支结构中,例如树一一可能是二元或更高次的树。然后,系统中大部分 CSE可为叶并且不具有来自叶的其它CSE下行。预置换可能以静态或动态方式 发生。
这些被说明的情形被集中在MC到模块传送,但可能被有效使用于其它路 径,例如^^莫块间DMA传送,也可用于差别if各径或树的分支。当讨i仑谈及从MC 的路径到,例如模块时,这些运行可在反向相等地执行。就是说,例如,当讨 论谈及往南方向时,往北方向可为类似地描述。
一些布置中,可能会发现,频繁遇到一或更多的通路互换^^莫式。图6说明 完全切换对于一些系统通路可能是普通事件的情形,并且与连接于,例如,输 入线1和输出到输出线8的多路复用器之间的固定电路元件被显示。其它输入 和输出被类似地连接。还被显示的有两个连接输入和输入到输出多路复用器的 Benes网络,以至于其它切换布置可能也被配置。然后所希望的置换被与固定网 络和不定的结构开关结合的输出多路复用器选择。当仅显示一个固定网络时, 可能将多于一个的固定网络与具有较大输入容量的多路复用器结合使用,例如3 -l多路复用器。可能发生在许多所描述的电路上的是,未被使用的电路可能被 掉电或断电,或使他们的时钟,如果有,被拒绝(gated),或任何其它可能需要 被采用来使能量消耗最小化的步骤。
图7说明总线布置,其中往南的传输在存储控制器MC和存储模块M4之 间,并且信号通过存储^t块MO通过M3。为了简单,在前面的实例中对于延迟 使用了相同的值。在每个存储模块处,显示延迟D、总延迟T、和输入I和输入 O逻辑数据分配。在每个模块M中,输入线一 一可能表现为连接器上的插脚一 — 通过可能表示为图示和可能表示为连接轨迹的固定布置的置换,净皮连接至输出 线,或芯片中的连接,或静态或动态的半导体开关等等。考虑到线的布置,置 换将输入线连接至输出线,使得输入和输出的切换被对称地做出。这样的对称 轴是否与线相符取决于是奇数还偶数数量的线被使用。这应被理解为代表概念 上的描述,而不是被解释为要求事实上的物理布置。应被重申的是,给与每条线相关联的延迟的数值分配是出于举例的目的,而非暗示任何对可被分配的值 的绑定,或任何带有线数目的时延值的序列。
对于一些应用,固定的线交换可能足以导致合意的总延迟和差别偏斜。在
这个实例中如果线未被交换,那么线1的总延迟将会是30,线4的总延迟将会 是5,相当于差别延迟为25。然而,根据图7,最初输入到线1的通路的总延迟 为20,任意其它通路的最小延迟为14,相当于差别时延(数据通路偏斜)最大 值为6。
在输入M4处复制MC处的输入数据的表示ABCDE。此结果是指总线长度 可能被无限扩展,并且同时总延迟会增加,使得总延迟翻番,以双倍的总线长 度,而在沿总线的任意周期点被经历的最大差别延迟也可能翻番,而模式重复。
在诸如AMB或CSE的半导体设备等内的时延的效应,未在这些实例中显 示,并且本领域普通技术人员会考虑这样的时延和系统、节点或才莫块的设计中 的任何时延差异性。为实现固定置换的物理连接或固定开关连接的使用,可减 少任意附加时延。物理连接可为轨迹、熔线,或任意其它达到同样目的的结构 的技术。
另外的可被采用的通路到线交换置换如图8中所示。这类交换可被称为"混 洗"。在这个实例中,在一系列模块的输入和输出处,数据通路分配的排序是同 一的,并且总时延为16单位。在最后模块处差别时延(偏斜)为0。因为该模 式会在另外5个模块之后重复,这条总线的范围具有较少的总延迟累积,并且 差别延迟被绑定在前5个模块中的最大差别延迟。这个实例中,最大时延偏斜 为7,不考虑总线长度。
虽然交换的固定模式已为图8和9中所示,这不是限制,并且,例如,各 置换类型都可被用在设计中。此外,虽然显示的是交换在模块上被执行,交换 可在母板上被执行,或全部或部分。例如,交换可在模块上的总共8线中的4 线的组上执行,例如通过混洗,和被执行于母板上以互换母板上每个组的交换, 当充分的组间差别偏斜已经累积。这些选择受特定的时延影响,特定的时延与 设计和对模块、半导体设备和母板的功能配置相关。
图9还显示另一置换的混合的实例,那里,交换被显示为发生在模块上。
一种执行置换交换的方法是通过布置模块的配线。图IO显示模块的平面图。 在手的右上角显示有刻痕以指出板的各层的方向。图10a中,上部视图代表从
21上面看的顶层视图,反之,底层被理解为被置于顶层下,使得刻痕随其被排列。
可能是CSE、 AMB等等的芯片被显示在顶层的立体轮廓中,但好像底层中星罗 棋布的用于表示芯片被置于顶层的上部或上方的线。该星罗棋布的线显示顶层 上的芯片的凸起位置使得通过如通孔、电线等到那的连接的单元可理解。
图10a说明芯片内发生的完整的交换置换。顶层可能被用于输入线,并且 线被指定为从左到右为0至4。底层上的输出线被指定为从左到右为0至4。照 这样,芯片左手边的线O上的数据输入是芯片右手边的线O处的输入。线4上 的数据被类似地从右到左(输入到输出)互换。这执行了图7中所示的交换。
使用与图10a(顶层)同样的输入结构的图10b说明混洗互换。与先前一样, 输入线0到4被从左到右设置。输出线为0到4,被从左到右设置,然而,在芯 片和板边缘之间引导的轨迹方向被这样设置,以致于导致如图8中所示的线的 混洗交换。在这个和其它距离未被标出的图中,应该理解为,任意的被显示的 距离甚至可能不是相对按规定比例的。更确切地,附图是概念上的,并且设计 者会意识到,事实上的延迟被考虑进了板设计或开关结构中。
图lla显示如图10b中的混洗互换的实例,这里,输出线在单一层上被路由。 在这些表现中,输入和输出插脚或到具有相同tt量一一例如0—一的芯片的连接 被置于彼此接近的邻处,出于设计目的,使得归因于插脚之间的偏移的差别时 延被最小化。其它可能包含对此差别延迟的考虑的布置是可能的。像时钟速度 递增这些方面可在设计中被考虑。
图llb为象图10a中的对称切换的实例,这里,输入和输出轨迹在相同板层 上。插脚或到芯片的连接的接近方式可能是通过引线、球栅极连接等等,或者 其它正在发展的^t支术,比如通过光波。
图12显示连接到芯片和线的路由的其它实例,线的路由是为了通过使用模 块负责印制电路设计来实现交换置换。图12—一使用与图ll相同制图规则一一 显示到芯片的输入。图12b中的输出线路由导致如图10a中的完全的交换,而 图12c中的输出线路由导致象例如10b中的混洗交换。此布置可与,比如说, 倒装晶片模块一起被使用。
虽然线交换已经用节点或有一个输入端口和一个输出端口的^t块被描述, 但这不是约束。图13a显示具有三个端口 A、 B、 C的芯片。再一次地,当只有 单一信号传播方向被显示时,在每个线或端口上设备可能被结构为双向传输,并且北行的和南行的方向都可使用线交换。为了说明目的,图表被简化。
端口 A输入线和端口 B和C输出线所示为位于板的顶层,将芯片的插脚或 球连接到模块的一边缘。图13b显示端口 A输出线和端口 B和C输入线。
交换可在母板上部分或全部地执行,母板具有用于接收模块的连接器。图 14a显示2个板配线结构,其可能在相邻连接器式存储模块之间的路径间被用于 数据混洗交换中。图14a适用于图9中MO的结构,而图14b适用于图9的.结 构。尽管此描述是基于被插入母板中的连接器式模块来呈现的,技术上这只是 其中一种可能的实现方式。各元件可能被直接连接而无需使用连接器,或是一 些或全部的元件可能纟皮合并在单一底层上,等等。进一步的,连接的手段可能 包括光技术,比如激光链接以及传导连接。
图15类似于图6,但图15中,可在穿过固定网络或开关输入端输出端之间 的连接中作出选择,开关中,连接的结构可能被改变。插脚布置可能,例如, 类似于图12中的插脚布置。固定网络的使用可能导致在输入和输出插脚之间较 低的时延,并且因此(导致)较低的总延迟,然而,可能为了在沿总线某单元 处补偿时延使用开关,而其它交换可能被用于控制偏斜。特别地,可能将特定 线的插脚的布置(例如,l和3)进行布置,使得总延迟足够小,以致相同的时 域可能被用于输入和输出电路的运行。
图16显示CSE中元件布置的实例。这个实例中,可将I/0衬垫置于芯片的 周界上,芯片可能与诸如图12a中所示那样的CSE相应,图12a中,设定布置 以产生信号完全切换,同时输出轨迹可能类似地被路由到图12a中所示的输入 轨迹,而非图12b中所示的。
浅灰色线围绕着可在本地时域内运行的各组元件。不同的时域内运行可能 产生于内部信号传播延迟,或者甚至在相同的时域可能在与每个本地时域内的 区域共用之前被缓冲。与箱边缘交叉的信号可能比完全在箱中的信号经历较大 的延迟。
到达输入O处的信号可能通过输出4被输出,具有较之将信号路由到输出0 较小的延迟,以及甚至较之发送输入信号到输出1、 2或3较小的延迟。输入l 和3可能以相同的延迟被路由到输出1或3的其一处,而不是以较高延迟(被 路由)到输出0、 2或4处。
当使用1/0衬垫附近的本地开关,例如,用于引导输入线0路由到输出线4的所示多路复用器,连接所有输入到所有输出的所示中央开关可保持完全的功
能上的开关,或它的子集。例如,中央开关可能忽略^M^各由输入线0到输出线4 容量,因为在I/0衬垫附近开关功能的容量将是多余的。这类似于图6中所示的 布置,其非固定开关功能可能不能执行所有可能的输入信号逻辑分配到输出信 号逻辑分配重整。
图17表示另一CSE布置的一部分,使用位于与图13a所示的CSE相应的 I/O倒装晶片区域的I/O衬垫。I/O连接的安置可能导致对于从端A的输入0或 5路由到端A的输出0和5的信号的低延迟,以及对于穿过本地开关路由到端B 和端C的输出0或5的信号的较高延迟。自端A、 B或C中任何一端的输入线 0或5发送到任一端的输出线1、 2、 3或4的信号能经历较高的延迟,当^^J^送 到可能超过1个的球形开关(未示)时。可通过沿一些路径直接连接减少来自 穿过一个或更多非本地开关的I/O的信号延迟,例如端C表示直接从球形开关 而非通过本地开关如端A和端B接收信号。
本发明此处使用了模块,该模块可以是连接器式的、母板以及如实施例中 的类似物。然而,装置和方法可与装在底层上的设备共同使用,如集成电路、 多片模块或类似物。随着电子模块密度继续增加,这样的结构可方便使用。
尽管已经通过上述实施例的方式解释了本发明,应该为本领域普通技术人 员理解的是,本发明不限于这些实施例,对于不脱离本发明精神的它的各种改 变或更改是可能的。
以上所揭露的仅为本发明的较佳实施例而已,当然不能以此来限定本发明 之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范 围。
权利要求
1.一种互连系统,包括具有多条信号线的总线,各线能够传送包括数据位的信号,其中,第一线上的数据位和第二线上的数据位沿所述总线以一定间隔在信号线之间交换。
2、 如权利要求l所述的系统,其特征在于,所述数据在三条或者三条以上 的所述信号线上传输,并且所述数据位交换使得具有第 一 累积时延的所述数据 位与具有第二累积时延的所述tt据位交换。
3、 如权利要求2所述的系统,其特征在于,所述数据位交换使得差别累积时延改变。
4、 如权利要求3所述的系统,其特征在于,所述累积差别时延的改变在所 述总线上的接收位置测量。
5、 如权利要求4所述的系统,其特征在于,所述累积时延以位于所述信号 线的接收端的数据接收器的输出测量。
6、 如权利要求2所述的系统,其特征在于,所述第一累积时延大于所述第 二累积时延。
7、 如权利要求2所述的系统,其特征在于,所述第二累积时延大于所述第 一累积时延。
8、 如权利要求2所述的系统,其特征在于,第一交换模式的交换模式用于 每个随后的交换。
9、 如权利要求8所述的系统,其特征在于,所述交换模式包括传导轨迹。
10、 如权利要求9所述的系统,其特征在于,所述传导轨迹设置在母板上 的连接器之间。
11、 如权利要求9所述的系统,其特征在于,所述传导轨迹设置在连接器 式模块上。
12、 如权利要求11所述的系统,其特征在于,所述传导轨迹设置在安装在 所述模块内的插座上的电子电i 各中。
13、 如权利要求1所述的系统,其特征在于,数据位到用于在所述总线上 传输的数据的线的分配是选定的,使得在所述总线上的接收位置获得所希望的 数据位次序。
14、 如权利要求1所述的系统,其特征在于,所述间隔是在连接节点之间 的分离距离。
15、 如权利要求1所述的系统,其特征在于,所述数据位交换使得具有较 大累积时延的所述数据位与具有较小累积时延的所述数据位交换。
16、 如权利要求15所述的系统,其特征在于,所述数据在三条或者三条以 上的所述信号线上传输,并且所述数据位交换使得具有最大累积时延的所述数 据位与具有最小累积时延的所述数据位交换。
17、 如权利要求16所述的系统,其特征在于,所述累积时延在所述信号线 的接收端测量。
18、 如权利要求16所述的系统,其特征在于,所述累积时延以位于所述信号线的接收端的数据接收器的输出测量。
19、 如权利要求1所述的系统,其特征在于,所述数据位交换使得至少一 对通路上的数据位之间的所述累积时延差在接收位置减少,所述数据在所述接 收位置存储或解编。
20、 一种节点,包括 开关;以及输入端口和输出端口,各端口具有第一、第二、第三以及第四线, 其中,所述输入端口的第一线连接到所述输出端口的第二线,并且所述输 入端口的第三线可连接到所述输出端口的第一、第三或者第四线中的其中一条。
21、 如权利要求20所述的节点,其特征在于,所述输入端口的第二线连接 到所述输出端口的第一线。
22、 如权利要求21所述的节点,其特征在于,所述输入端口的第三线可连 接到所述输出端口的第三或者第四线中的一条。
23、 如权利要求22所述的节点,其特征在于,所述输入端口的第四线可连 接到所述输出端口的第三或者第四线中的一条。
24、 如权利要求20所述的节点,其特征在于,所述输入端口的第二线可连 接到所述输出端口的第一、第三或者第四线中的一条。
25、 如权利要求20所述的节点,其特征在于,所述节点进一步包括存储电 路,其与所述输入端口或者所述输出端口中的至少一个通讯。
26、 如权利要求20所述的节点,其特征在于,所述节点进一步包括第二输 出端口,其具有第一、第二、第三以及第四线,其特征在于,所述输入端口的第 一线连接到所述第二输出端口的第二线,并且所述输入端口的第三线可连接到所述第二输出端口的第 一 、第三或者第四 线中的一条。
27、 一种互连系统,包括多个节点,所述节点构成由具有多条线的链路连接的网络;以及 母板,其具有用于与所述多个节点中的一个节点连接的连接器。 其中,第一节点是数据源,而第二节点是数据目的地,并且所述第一节点 或者所述第二节点中的至少一个可配置以改变线之间的数据分配。
28、 如权利要求27所述的系统,其特征在于,所述数据在三条或者三条以 上的信号通路上传输,并且所述数据的数据位交换使得在线上的具有较大累积 时延的数据位与在线上的具有较小累积时延的数据位交换。
29、 如权利要求27所述的系统,其特征在于,所述数据在三条或者三条以 上的信号通路上传输,并且所述数据的数据位交换使得具有较大累积时延的数 据位与具有较小累积时延的数据位交换。
30、 如权利要求27所述的系统,其特征在于,所述数据位交换使得在所述 多条通路上的数据位之间的时延差在所述节点位置减少,所述数据在所述节点 位置存储或解编。
31、 如权利要求27所述的系统,其特征在于,所述数据位交换使得在所述 多条线上的数据位之间的时延差在具有周期间隔的节点处具有本地最小值。
32、 如权利要求27所述的系统,其特征在于,所述线之间的数据分配的改 变导致在接收位置的所述线上的所述数据之间的差别时延的改变。
33、 一种互连系统中的模块,包括连接器式的电路插件,其具有带有多个可连接单元的连接器;以及 电子电路模块,其具有与所述连接器的可连接单元通讯的输入连接和输出连接。其中,设置输入连接和输出连接以便变更成对的输入可连接单元和输出可 连接单元之间的传输延迟差。
34、 如权利要求32所述的模块,其特征在于,两对输入可连接单元和输出可连接单元之间的所述传输延迟差减少。
35、 如权利要求32所述的模块,其特征在于,两对输入可连接单元和输出 可连接单元之间的所述传输延迟差增加。
36、 一种补偿互连系统中数据偏斜的方法,所述方法包括 提供信号总线,其具有多条线;将多个节点连接到所述信号总线;确定所述总线上相邻连接的节点之间的信号传输的差别时延; 交换所述线之间数据通路以便当在随后的节点测量时改变所述总线的所述 线之间数据的时延差。
37、 如权利要求36所述的方法,其特征在于,在这里所述时延差增加。
38、 如权利要求36所述的方法,其特征在于,所述延迟差减少。
39、 如权利要求36所述的方法,其特征在于,所述随后的节点是目的地节点。
40、 一种用于补偿互连系统中数据偏斜的方法,所述方法包括 提供可连接到信号总线的节点,所述节点至少包括开关;配置所述开关使得至少第 一输入线连接到不同于第一输出线的其它输出线。
41、 如权利要求40所述的方法,其特征在于,所述方法进一步包括提供至 少 一条路径作为在所述第 一输入线与不同于所述第 一输出线的其它输出线之间 的固定连接。
42、 一种软件程序产品,存储在机器可读介质上,所述产品包括 配置电子装置以确定总线上在相邻连接节点之间信号传输的差别时延的指令;以及当在随后的节点测量时,配置所述总线的线之间的数据通路分配以便 改变所述总线的至少 一对线之间的数据的时延差。
43、 如权利要求42所述的软件程序产品,其特征在于,所述随后的节点是 目的地节点。
全文摘要
本发明实施例涉及一种互连系统,在其中数据通路可沿传输路径以一定间隔在线之间交换,使得当在接收位置确定差别时延时,在多条线上位之间的差别时延减少。通过可配置开关的操作,或者通过将可配置开关与预定制造的连接结合,或者所述技术的组合,可将所述数据通路绑定到所述线。可包括存储设备的连接器式节点模块的接线可配置以便当在节点的输出端测量时,成对的节点的输入线之间的差别时延减少。
文档编号G11C7/22GK101611452SQ200780039379
公开日2009年12月23日 申请日期2007年10月19日 优先权日2006年10月23日
发明者乔恩·C.R.·班尼特 申请人:提琴存储器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1