CN1700645B - 标识坏信道并交换链路连接的两个代理宽度能力的方法 - Google Patents

标识坏信道并交换链路连接的两个代理宽度能力的方法 Download PDF

Info

Publication number
CN1700645B
CN1700645B CN2004101028829A CN200410102882A CN1700645B CN 1700645 B CN1700645 B CN 1700645B CN 2004101028829 A CN2004101028829 A CN 2004101028829A CN 200410102882 A CN200410102882 A CN 200410102882A CN 1700645 B CN1700645 B CN 1700645B
Authority
CN
China
Prior art keywords
agency
link
channel
information
link width
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.)
Expired - Fee Related
Application number
CN2004101028829A
Other languages
English (en)
Other versions
CN1700645A (zh
Inventor
纳韦恩·谢吕库里
桑贾伊·达布罗
大卫·邓宁
提姆·弗罗德沙姆
西奥多·Z·舍恩博恩
拉胡尔·R·沙阿
莫里斯·B·斯坦曼
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.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1700645A publication Critical patent/CN1700645A/zh
Application granted granted Critical
Publication of CN1700645B publication Critical patent/CN1700645B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Communication Control (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)
  • Telephonic Communication Services (AREA)
  • Exchange Systems With Centralized Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Maintenance And Management Of Digital Transmission (AREA)

Abstract

本发明公开了一种这样的技术,通过该技术,系统中带有利用点对点互连而耦合在一起的端口的两个链路代理交换它们的链路宽度支持能力并协商彼此达成一致的链路宽度。每对代理之间的互连包括具有多条电线路或信道的一对单向链路,其中第一代理利用一个链路来向第二代理发送数据,而第二代理利用另一链路来向第一代理发送数据。

Description

标识坏信道并交换链路连接的两个代理宽度能力的方法
技术领域
本发明涉及基于链路的计算阶段领域;更具体地,本发明涉及协调通过链路连接的代理之间的链路宽度能力。
背景技术
图1示出了现有技术的总线120。总线120是“共享介质”通信结构,用于在电子元件101a-10Na与110a之间传递通信,其中N为整数。共享介质意味着彼此通信的元件101a-10Na与110a物理上共享并连接到同一电子线路120上。也就是说,线路120是元件101a-10Na与110a其中任一个用来与元件101a-10Na与110a中任意另一个通信的共享资源。例如,如果元件101a希望与元件10Na通信,则元件101a将信息沿着线路120发送到元件10Na;如果元件103a希望与元件110a通信,则元件103a将信息沿着同样的线路120发送到元件110a等。
传统上,计算系统已使用总线。例如,对于某种IBM兼容的PC,总线120对应PCI总线,其中元件101a-10Na对应“I/O”元件(例如,LAN网络适配器卡、调制解调器、硬盘存储设备等),元件110a对应I/O控制中心(ICH)。作为另一示例,对于某种多处理器计算系统,总线120对应“前端”总线,其中元件101a-10Na对应微处理器,元件110a对应芯片组。
由于一种称之为“电容性负载”的现象,随着计算系统速度增加,总线已越来越不实用。基本上,随着任意线路的电容性负载增加,该线路能够传输信息的最大速度下降。也就是说,线路的电容性负载和该线路的速度之间存在反比关系。每个加入线路中的元件都会导致该线路的电容性负载上升。这样,由于总线通常耦合多个元件,所以总线线路120通常被视为负载了过多电容。
计算系统正在转向“基于链路”的元件到元件的互连方案。图2示出了相对于图1的对比示例。根据图2的方法,计算系统元件101b-10Nb与110b通过高速单向点对点链路1301-130N的网状网(mesh)140互连。一对单向链路通常包括沿第一方向传送信息的第一单向点对点链路以及沿与第一方向相反的第二方向传送信息的第二单向点对点链路。由于单向点对点链路通常具有单个终点,所以其电容性负载远远低于共享介质总线。
每个点对点链路都可由铜电缆或光缆与合适的驱动器和接收器(例如,用于铜电缆的单端或差分线驱动器和接收器;以及用于光缆的LASER或LED E/O发送器和O/E接收器等)构建。图2所示的网状网(mesh)140过分简单化,其中每个元件由点对点链路连接到每个其他的元件。对于更复杂的方案,网状网(mesh)140是带有路由/交换节点的网络,以将信息从源元件传输到目标元件。根据该实施,路由/交换功能可以是网状网(mesh)内的独立功能,或者可以集成到计算系统的某个实际元件内(例如,处理器、存储器控制器、I/O单元等)。
发明内容
为了解决上述问题,根据本发明的第一方面,提供了一种方法,包括:标识用于将第一代理连接到第二代理的点对点互连中多个信道的一个或多个信道集合,通过所述一个或多个信道集合所述第一代理能够向所述第二代理发送信息;向所述第一代理发送表示所述一个或多个信道集合的链路宽度信息;从所述第一代理接收所述一个或多个信道集合中将要使用的信道的指示;以及基于来自所述第一代理的指示,调节所述第一代理用来发送信息和所述第二代理用来接收信息的链路宽度。
根据本发明的第二方面,提供了一种方法,包括:第一代理从第二代理接收链路宽度信息,该信息代表点对点互连中第一链路的一个或多个信道集合,通过所述一个或多个信道集合所述第二代理能够从所述第一代理接收信息;从所述信道集合选择其中之一由所述第一代理用来向所述第二代理发送信息;以及向所述第二代理发送所述第二代理将要使用哪个信道集合从所述第一代理接收信息的指示。
根据本发明的第三方面,提供了一种装置,包括:内核;
接收器;发送器,其可通信地耦合到第一代理来发送链路宽度信息,该链路宽度信息表示由所述接收器用来从所述第一代理接收信息的一个或多个信道集合;其中所述接收器可操作来从所述第一代理接收所述一个或多个信道集合中要使用的信道的指示;和链路层控制器,其耦合到所述发送器和所述接收器来基于所述指示,调节第二代理用来从所述第一代理接收信息的所述链路的链路宽度。
根据本发明的第四方面,提供了一种装置,包括:内核;接收器,用来从第一代理接收链路宽度信息,该链路宽度信息表示点对点互连中第一链路的一个或多个信道集合,通过所述一个或多个信道集合所述第一代理能够接收信息;链路层控制器,其耦合到所述接收器来选择所述信道集合的其中之一以用于向所述第一代理发送信息;和发送器,其耦合到所述链路层控制器,以向所述第一代理发送所述第一代理要利用哪个信道集合来接收信息的指示。
根据本发明的第五方面,提供了一种系统,包括:一对单向链路,每个链路都具有多个信道;第一代理和第二代理,其具有耦合到所述一对单向链路中多个信道的端口,所述第一代理和第二代理中每个都包括链路控制器,用来交换它们的链路宽度支持能力并协商对于该对多个信道中每一个的彼此达成一致的链路宽度。
根据本发明的第六方面,提供了一种系统,包括:第一单向总线,其具有第一对多个信道;第二单向总线,其具有第二对多个信道;第一处理器代理和第二芯片组代理,其耦合到所述第一单向总线中的所述第一对多个信道,所述第一代理和第二代理其中每个都包括链路控制器,用来交换它们的链路宽度支持能力并协商对于该对多个信道中每一个的彼此达成一致的链路宽度;和第一处理器代理通过所述第二单向总线中所述第二对多个信道耦合到所述第二芯片组代理。
附图说明
从以下给出的详细描述以及本发明各种实施例的附图中将更全面地理解本发明,但是,这些不应认为是将本发明限制于具体实施例,仅仅是为解释和理解。其中附图包括:
图1示出了通过总线互连的元件。
图2示出了通过点对点链路的网状网(mesh)而互连的元件。
图3示出了具有多个端口的基于链路计算系统中代理的一个实施例。
图4示出了具有连接端口的基于链路计算系统中的一对代理。
图5是由代理物理层的发送器所进行的处理的一个实施例的流程图。
图6是由代理物理层的接收器所进行的处理的一个实施例的流程图。
图7示出了至少具有两个代理的系统的一个实施例的链路初始化状态图。
图8是计算机系统的一个实施例的方框图。
具体实施方式
本发明描述了一种技术,通过这种技术,系统中具有利用点对点互连而耦合在一起的端口的两个链路代理交换它们的链路宽度支持能力,并协商适合彼此的链路宽度。每对代理之间的互连包括具有多条电线路或信道的一对单向链路,其中一个链路由第一代理用来向第二代理发送数据,而另一个链路由第二代理用来向第一代理发送数据。代理的每个端口可以使用所有信道(即,全链路宽度)来向另一代理的端口发送数据,或者使用小于所有信道的某个子集(例如,1/2信道(即,1/2宽度),1/4信道(即,1/4宽度))来发送数据。在未使用所有信道来发送数据的情况下,存在可用来发送数据的许多种信道组合或集合。
由于这两个代理对将要使用的信道彼此达成了一致,在本技术的一个实施例中,使用一个单向链路来接收数据的第一代理的接收器向第二代理(耦合到同一链路)的发送器发送信息,其指定第一代理的接收器能够用来从第二代理接收数据的所有信道组合(或子集)。第一代理的接收器利用第一代理的发送器发送指定这些组合的信息,该第一代理的发送器通过另一个单向链路耦合到第二代理。注意,第一代理的接收器可以知道哪些信道是不可用的,因此,第一代理的接收器能够用来接收数据的信道组合可能仅包括这些可用的信道。响应接收到该信息,第二代理的发送器选择这些信道组合的其中之一,并通过在将第二代理发送器耦合到第一代理的接收器的单向链路上发送指示来向第一代理的接收器指示这种选择。响应从第二代理的发送器接收到这种选择指示,所选定的信道组合被用来向第一代理的接收器发送数据。
在一个实施例中,一个代理通过这两个代理之间每个可用的链路信道向另一个代理发送指示该代理希望使用哪个信道组合的信息。这样,一个代理的发送器串行地通过每个可用的链路信道向另一代理的接收器发送同样的信息。这样确保了另一代理的接收器接收到信息,这在其中发送选择信息的代理的发送器并不清楚什么信息被正向其传输信息的代理的接收器接收到的系统实现中是有益的。还要注意,由于并非所有信道都可用,所以此时并行发送信息可能是不行的。
每个代理可以通过利用单独的、不同的点对点链路对耦合到一个或多个其他的代理。因此,每个代理都可以与多个代理交换它们的链路宽度支持能力和协商链路宽度,形成将该代理连接到多个代理的互连。
在下面的描述中,许多细节被阐述以提供对本发明的全面解释。但是,显然对于本领域的技术人员而言,没有这些具体细节仍可以实施本发明。在其他情况下,公知的结构和设备以方框图的形式示出,而没有详细示出,以避免混淆本发明。
下面详细描述的某些部分是以在计算机存储器内对数据位进行操作的算法和符号的形式来表示的。这些算法描述和表示是数据处理领域的技术人员用来向本领域的其他技术人员最有效地传达他们工作实质内容的手段。这里算法一般而言被认为是导致期望结果的自洽操作序列。这些操作是需要对物理量进行物理处理的那些操作。虽然并非必要的,但通常这些量采用能够被存储、传输、合并、比较和其他处理的电信号或磁信号的形式。已证实有时将这些信号称之为位、值、元素、符号、字符、项、数字等较方便,主要还是为了通用的目的。
但是,应该注意到所有这些术语和类似术语都应当与合适的物理量相关,它们仅仅是给这些量的方便标记。除非具体说明,否则如从下面的讨论所清楚可见的,应该认为通篇说明书中,使用例如“处理”、或“计算”、或“运算”、或“确定”、或“显示”等术语的讨论指计算机系统或类似电子计算设备的动作和过程,这种设备进行操作,并将计算机系统的寄存器和存储器内表示为物理(电子)量的数据转换为计算机系统存储器或寄存器、或其他这样的信息存储、传输或显示设备内类似地表示为物理量的其他数据。
本发明还涉及用于进行这里操作的装置。这种装置可以是为所需目的而专门构建的,或者它可以包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这种计算机程序可以存储在计算机可读存储介质中,例如但不限于包括软盘、光盘、CD-ROM和磁光盘的任意类型的磁盘、只读存储器(ROM)、随机访问存储器(RAM)、EPROM、EEPROM、磁卡或光卡、或适于存储电子指令的任意类型的介质,每个都耦合到计算机系统总线上。
这里所提到的算法和显示本质上不涉及任何特定的计算机或其他装置。各种通用系统都可以与这里根据教导的程序一起使用,或者可以证实构建更专用的装置来进行所需的方法步骤是较方便的。各种这样的系统所需的结构将出现在以下的描述中。此外,本发明没有参照任何特定的编程语言来描述。人们将认识到,各种编程语言都可用来实现如这里所述的本发明的教导。
机器可读介质包括用于以机器(例如,计算机)可读形式存储或传送信息的任意机制。例如,机器可读介质包括只读存储器(“ROM”);随机访问存储器(“RAM”);磁盘存储介质;光存储介质;闪存设备;电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等。
图3示出了基于链路的计算系统中的代理300(例如,处理内核、存储器控制器和I/O控制器等)。多个单向链路3071-307N都示为耦合到代理300。这些单向链路对可以耦合到基于链路的计算系统内的其他元件(图3中未示出)。代理300可以视为至少具有两个子元件:1)“内核”和2)包括单向链路对304的源点/终点(例如,驱动器/接收器)的物理层。
内核301可以视为是元件的主要功能件(例如,如果元件是处理内核,则是用于进行处理的电路;如果元件是存储器控制器或芯片组的部分,则是用于执行存储器控制器功能的电路,等)。物理层304是用来为输出链路准备数据并通过其发送数据的电路。物理层304还包括用来从输入链路接收数据并准备提供给内核310的所接收数据的电路。
用于准备通过特定输出链路传送的数据,以及从特定输入链路接收之后准备提供给内核310的数据的每个电路区域都可视为是物理层304的独立区域。图3示出了N个这样的区域3041-304N
图4示出了一对代理401和402。代理401和402其中每个都具有分别为内核4011和4021的内核,以及分别为物理层4012和4022的物理层。代理401和402其中每个的物理层都包括发送器、接收器和链路控制器。这样,物理层4012包括发送器410、接收器411和链路控制器412,物理层4022包括发送器420、接收器421和链路控制器422。或者,链路控制器可以是内核的一部分。代理401和402其中每个的物理层还可包括存储器,示为代理401的存储器413和代理402的存储器423,其可由链路层控制器用来存储一个或多个代理的链路宽度能力信息。更具体地,代理401的链路层控制器412可以在存储器413中存储代理402的链路宽度能力信息,代理402的链路层控制器422可以在存储器423中存储代理401的链路宽度能力信息。
在一个实施例中,代理之间链路宽度支持能力的交换以及随后对每个通信方向上链路宽度的协商作为链路初始化的部分被执行。在一个实施例中,在链路初始化期间,每个代理上的接收器依次评价每个信道的质量,并且清除被认为不可用的信道。到链路初始化结束,每个代理查看好信道的可用集合,并评价利用这些好信道可形成的可能链路宽度。利用信道的可用集合来形成可用的链路宽度的能力是具体设计的。一旦代理计算出其形成链路宽度的能力,它们就交换这一信息,并协商对彼此都合适的链路宽度。这样,接收器检查其耦合到的链路的信道,并判断哪些是坏的,接着发送器(耦合到不同的链路)将代表接收器的宽度能力指示(WCI)发送给另一代理,接着另一代理的发送器为其自身与另一代理的接收器之间的链路选择链路宽度。
在一个实施例中,利用任意4个逻辑象限的组合可形成链路。这些象限在这里被称之为Q0-Q3。利用被称为链路映像(LM)的4位字段在内部来表示这4个逻辑象限中的每一个。链路映像可以存储在存储器(例如,暂时存储器(scratch memory))中。LM的LSB对应象限Q0,MSB对应象限Q3。LM中位的位置值为1表示相应象限是有效的,值为0表示相应象限不是链路的一部分。表1示出了利用所有可能的象限组合所支持的链路宽度的链路映像。其他表示也是可能的。
                表1  所支持链路宽度的链路映像
  链路宽度   所用象限   链路映像   链路掩码索引
  全宽度   {Q3,Q2,Q1,Q0}   1111   0
  1/2宽度   {Q1,Q0}   0011   1
  {Q2,Q0}   0101   2
  {Q3,Q0}   1001   3
  {Q2,Q1}   0110   4
  {Q3,Q1}   1010   5
  {Q3,Q2}   1100   6
  1/4宽度   {Q0}   0001   7
  {Q1}   0010   8
  {Q2}   0100   9
  {Q3}   1000   10
如表1所示,存在11种形成有效链路的可能方式一1种唯一的形成全宽度链路的象限组合,6种可能的形成1/2宽度链路的象限组合以及4种可能的形成1/4宽度链路的象限组合。在一个实施例中,并不需要实现能支持所有这些11种的可能组合。表1的最后一列用来索引链路映像。
在一个实施例中,利用这里称之为宽度能力指示(WCI)的11位字段来表示由一个实现所支持的链路映像。WCI中每个位对应表1链路映像索引列所示的其中一个索引号。这样,WCI的位0对应索引号0,WCI的位1对应索引号1等。在一个实施例中,WCI的位的值为1表示对应该索引号的LM可用来形成链路宽度。在链路初始化期间,端口交换它们对应的WCI(这依具体实现而变化),并对两个端口共用的LM达成一致。这样达成一致的LM被称之为共用链路映像(CLM)。在一个实施例中,选择CLM的先后顺序是从WCI中的最低位到最高位。例如,如果支持表1中所有LM的两个端口被配置来形成1/2宽度链路,由于相比较所有其他的1/2宽度象限组合,{Q1,Q0}在WCI中具有更低的位位置,它们将使用这个象限组合来形成链路。其他的先后顺序也可以使用。
表2示出了一些链路宽度支持能力变化较宽的示例实现。这些示例中每个的WCI字段也示出了。例如,如果示例1所示的两个实现被配置为形成1/2宽度链路,则由于象限组合{Q1,Q0}比其他1/2宽度象限组合优先,它们将使用这个象限组合。相反,如果示例1和3所示的实现连接在一起,并被配置为形成1/2宽度链路,则由于这些实现没有共用的LM来支持1/2宽度链路,会发生链路初始化错误。
                                                表2  宽度能力指示(WCI)的示例
Figure G041A2882920050104D000091
一旦WCI在链路初始化期间(配置状态)被交换,则所选定的CLM返回作为确认的一部分。当WCI指示代理对于所给定的信道集合是全宽度能力时,则链路宽度协商过程是单向完成的。
图5是由代理物理层的发送器所进行过程的一个实施例的流程图。该过程由处理逻辑执行,其可以包括硬件(电路、专用逻辑等)、软件(例如在通用计算机系统或专用机器上运行的)、或它们的组合。
参照图5,该过程开始于处理逻辑标识连接第一代理和第二代理的点对点互连中链路信道的一个或多个集合(处理框501)。第一代理使用链路来向第二代理发送信息。第二代理的处理逻辑可以通过评价每个信道的质量并标识每个信道是否可用,从而来标识多个链路信道集合的其中之一。那些没有适当发挥作用或不能被适当训练(以补偿并调节信道中的偏斜来确保所有信道的数据窗是对准的)的信道被视为是出现故障并不可用的。
在标识链路信道集合之后,第二代理的处理逻辑向第一代理发送表示这些信道集合的链路宽度信息(例如,WCI)(处理框502)。链路宽度信息包括标识信道可能组合的数据,这些可能组合可以是由第二代理的接收器使用多个信道中视为可用的信道而形成的。在一个实施例中,第二代理的发送器(代表第二代理的接收器)在可用(因而可选来使用)的另一链路信道上串行地向第一代理的接收器发送链路宽度信息,而第一代理的接收器将所接收到的信息转发给链路控制器。由于发送器并不知道哪些信息被另一代理的接收器接收到了,所以在所有可用信道上发送链路宽度信息。
随后,处理逻辑从第一代理的发送器接收一个或多个信道集合中将被使用的信道的指示(处理框503),并且第一代理和第二代理都调节用来传送信息的链路宽度(处理框504)。在一个实施例中,这种调节包括将负责协调数据传送的复用逻辑调节到链路的正确数据信道上。例如,可以使得复用逻辑能够向用于1/2宽度的1/2信道或用于1/4宽度的1/4信道提供全宽度数据,包括规定使用哪个1/2信道或1/4信道。同时递交并转让给本发明共同受让人的、题为“METHODS AND APPARATUSES TOEFFECT A VARIABLE-WIDTH LINK”的美国专利申请中描述了这种复用的示例。
图6是由代理物理层的接收器执行过程的一个实施例的流程图。该过程由处理逻辑执行,其可以包括硬件(电路、专用逻辑等)、软件(例如在通用计算机系统或专用机器上运行的)、或它们的组合。该处理逻辑可以驻留在通过链路从第二代理接收信息的第一代理中。
参照图6,该过程开始于处理逻辑从第二代理接收链路宽度信息(例如,WCI)(处理框601)。链路宽度信息指示在点对点互连中第二代理可用来从第一代理接收信息的链路信道的一个或多个集合或组合。在一个实施例中,链路宽度信息包括多个位,其中每个位代表由接收信息的接收代理标识为可用的链路信道的一个组合。在一个实施例中,链路宽度数据被在链路的一个、多个或所有信道上作为串行数据被接收。
在接收到链路宽度信息之后,处理逻辑选择信道集合的其中之一用来向第二代理发送信息(处理框602),然后处理逻辑向第二代理发送哪个信道集合将用来向其发送信息的指示(处理框603)。在一个实施例中,处理逻辑利用互连中另一单独的单向链路发送指示。随后,这两个代理都使用第一代理的发送器所选择的链路宽度和专用信道来向第二代理的接收器发送信息。这样,用来在连接到链路的发送代理和接收代理之间传送数据的信道的协商和选择都是单向发生的。
注意,链路宽度信息可由第一代理存储。
图7示出了至少具有两个代理的系统的一个实施例的链路初始化状态图。参照图7,首先,两个代理假设所有信道都是好的。通过训练每个信道到位锁(bit lock)而继续初始化。在一个实施例中,逻辑的一部分用来实现链路训练或校准。训练逻辑允许链路每侧的物理层被校准,以便开始使用该链路。也就是说,内部半导体器件被校准来与I/O链路相兼容。起初的校准过程在这里被称之为物理层的初始化。这种初始化被逐阶段地实现,其中每个随后阶段的初始化都要求在前一阶段训练I/O电路。
随着状态机转换通过每个状态,它标识出在该特定状态训练失败的信道。端口的接收器部分标识坏信道。这样经标识的所有信道都被标记为坏的,并且在传送期间不会作为链路的一部分被使用。在状态机继续前进到配置之前,它利用好信道的可用集合来计算本地WCI。这种本地WCI代表接收器以不同链路宽度接收输入数据的能力。在配置状态,两个代理交换它们的WCI。每侧的发送器将对应远程接收器能力的远程WCI与本地发送器WCI能力进行比较。基于计算机系统的设计特性,发送器的WCI可以被存储或计算。由于发送器并未涉及标识坏信道,所以发送器的WCI不会考虑在初始化期间训练失败的信道的存在。但是,发送器将其WCI与连接到该链路的另一代理的接收器WCI(远程WCI)进行比较,并选择二者共用的CLM。这样,发送器避免了选择到含有坏信道的LM,这是因为这个LM不是远程WCI的一部分。一旦发送器选定CLM,它就向远程接收器发送这个CLM,随后,发送器和接收器都使用这个CLM,并进入L0状态。注意,CLM对应一组收发器,这样链路的每个方向都有其自己的CLM。对于这两个CLM,允许它们之间不相同,因此链路的一个方向可以以与另一方向的链路宽度无关的宽度来运行。这样确保了一个方向上的信道故障不会降低另一方向上的带宽。链路的这两个方向可以以相同的宽度运行,但使用不同的信道组合。
更具体地,图7的状态机控制链路物理层的初始化,其中根据本发明的一个实施例,利用重置来重置物理层。图7所示的状态机700表示起始于禁用/开始操作705的初始化顺序。在通电或响应任何物理层重置事件时,进入禁用/开始操作705。一旦开始,端口即进行检测操作710来检测互连的代理。检测操作710是两个代理被同步来开始进行链路初始化的点。检测操作710判断在链路的另一端是否存在另一个物理层代理(即,另一代理的物理层)。本发明的其他实施例提供了能够区分检测到互连代理和测试探头的PLI。
在检测操作710,本地端口激活发出时钟,并开始锁定到来自远程端口的接收时钟。如果在某段指定时间的终点,没有检测到接收时钟,则本地端口放弃初始化序列,并重置进行操作禁用/开始705。接着,检测操作710检查远程代理的已知DC模式。
一旦检测到彼此,互连代理开始轮询操作720来完成交互训练。在轮询操作720期间,链路被训练以按照用于在这两个互连代理之间进行选择的高速时钟运行。
一旦完成轮询操作720,即进行配置操作730。在配置操作730期间,轮询期间所获取的信息被用来配置链路。在这一点上,链路初始化完成,链路层控制处在状态L0 735的端口(除非本地端口和远程端口关于链路配置无法达成一致,在这种情况下,初始化序列被放弃,并重置进行操作禁用/开始705)。
训练序列在每个链路上被串行发送,并且发送器清楚要发送的训练序列的数量。但是,发送器和接收器并不必处于锁步(lock-step)。在一个实施例中,由于训练序列的数量不固定,所以接收器无法知道来自发送器的最后一个训练序列何时将到达。为解决这种情况,一旦链路宽度达成一致,发送端口即发送第三训练序列。所以,一旦端口已经发送并接收最后一个训练序列,链路初始化即完成了,链路层控制此时处在状态L0 735的端口。在初始化期间,训练序列在每个信道上被使用并串行地发送。有效状态达到之后,使用并行模式,其中数据在所有信道上被并行地发送。
物理层电子设备仍然有效,但它们着手在链路的一端分解片(flit),并在链路的另一端将其重组。物理层不再涉及训练,它在状态L0下的链路层的指引下运行以在链路上传送数据。
在一个实施例中,物理层可以进入低功率模式。如图7中所示,状态机700还包括两个低功率状态L0S 740和L1 745。当系统将休眠一段时间时,低功率模式用来节约功率。每个低功率模式都具有预定的重激活时间(唤醒时间)。对于相对短的休眠时段,L0S 740具有相对短的唤醒时间(例如,20ns)。因此在L0S 740,更少的电路关闭。对于相对更长的休眠时段,L1 745具有相对更长的唤醒时间(例如,10μs)。所用的低功率模式取决于系统所希望的休眠模式。
如上参照图7所讨论的,在检测操作710期间,本地代理发送发出时钟,接着它等待接收来自远程端口的时钟。发出时钟是明确的时钟信号,利用专用时钟引线在物理互连上将其与外发数据一起发送。发出时钟在检测操作710期间被发送,并无限期地继续。利用发出时钟,本地代理和远程代理都向对方指示它们已经从系统时钟接收到了时钟信号。发出时钟允许每个代理知道它们应该使用什么时钟信号来从对方接收数据。在一个实施例中,发出时钟的终止启动了带内重置。如果物理层不能从超过规定重试阈值的CRC误差得以恢复,则带内重置被链路层用来重新初始化物理层。带内重置也被用来通过软重置取代通电缺省值而配置物理层。此外,带内重置可以响应物理层的初始化期间的故障而被使用,以迫使两个互连的代理重新初始化链路。
这样,这里所述技术规定链路宽度协商作为一个一步过程,并提供一定的适应性使得代理能够定义它们自己的链路宽度支持能力。注意,这个方案并不要求也不期望两个互连代理的链路宽度能力相匹配。
图8示出了以点对点(PtP)配置而布置的计算机系统。具体而言,图8示出了其中处理器、存储器和输入/输出设备通过多个点对点接口而互连的系统。
图8的系统还可以包括多个处理器,其中为了清楚起见仅示出了两个处理器870和880。处理器870和880分别包括带有逻辑和电路来执行指令的处理器内核874和884。处理器870和880可以分别包括与存储器82连接的本地存储器控制器中心(MCH)872和与存储器84连接的MCH882。处理器870和880可以分别利用点对点接口电路878和888而通过点对点接口850交换数据。处理器870和880可以分别利用点对点接口电路876与894、886与898而分别通过各自的点对点接口852和854与芯片组890交换数据。芯片组也可以通过高性能图形接口892而与高性能图像电路838交换数据。
本发明的至少一个实施例可以位于处理器的存储器控制器中心872或882内。但是,本发明的其他实施例可以存在在图8系统内的其他电路、逻辑单元或设备中。而且,本发明的其他实施例可以被分布在整个图8所示的多个电路、逻辑单元或设备中。
另一总线816(例如,PCI总线)可以耦合到芯片组890。I/O设备814和总线桥818可以耦合到总线816。总线桥818可以耦合到另一总线820(例如,ISA总线)。其他耦合到总线820的元件可以包括键盘/鼠标822、通信设备826和数据存储器828(828可存储代码830,当被执行时,其可以导致进行这里所述的一个或多个操作)。
在一个实施例中,每个代理存储从远程代理接收到的WCI,并适时地将该信息用于为省电的动态链路宽度调制。动态链路宽度调制并不要求链路重新初始化。发送器从远程WCI选择新的CLM,并将其发送给接收器,随后,发送器和接收器调节它们的链路宽度来反映这个新的CLM。这个过程在图6中示出了。
更具体而言,可选地,图6的过程可以包括下面的操作。处理逻辑接着存储链路宽度信息(处理框620)。发送完要使用哪个信道集合的指示之后,处理逻辑从存储器访问链路宽度信息(处理框630)并选择一个不同于先前选定的、用来向其发送信息的信道集合的新信道集合(处理框631)。一旦已进行新的选择,处理逻辑向接收代理发送新的指示来指示将用来向接收代理发送信息的新信道集合。这样,在不必接着从发送代理接收额外的链路宽度信息(例如,另一WCI)的情况下,就可以选择新的链路宽度。换句话说,这里所述技术支持无需链路重新初始化的动态链路宽度调制。
虽然本发明的许多替换和改进对于阅读完前面描述的本领域技术人员而言,毫无疑问变得更明了,但应该理解到,通过举例说明来示出并描述的任何特定实施例绝非意在被认为是限制性的。因此,对各种实施例细节的提及并非意在限制权利要求的范围,权利要求本身仅列举了被视为是本发明实质的那些特征。

Claims (31)

1.一种用于调节链路宽度的方法,包括:
第二代理标识用于将第一代理连接到第二代理的点对点互连中多个信道的一个或多个信道集合,通过所述一个或多个信道集合所述第一代理能够向所述第二代理发送信息;
所述第二代理确定从所述一个或多个信道集合形成的链路宽度集合;
所述第二代理向所述第一代理发送表示所述一个或多个信道集合的链路宽度支持能力信息,其中所述链路宽度支持能力信息包括标识所述一个或多个信道集合所支持的所述链路宽度集合的数据;
所述第二代理从所述第一代理接收所述一个或多个信道集合中将要使用的信道的指示;以及
所述第二代理和所述第一代理基于来自所述第一代理的指示,调节所述第一代理用来发送信息和所述第二代理用来接收信息的链路宽度。
2.如权利要求1所述的方法,其中标识所述多个信道的一个或多个信道集合是基于标识所述多个信道中的每一个是否可用。
3.如权利要求1所述的方法,其中,标识所述多个信道的所述一个或多个信道集合的步骤还包括:
评价所述多个信道中每一个的质量;以及
标识所述多个信道中每一个是否是可用的。
4.如权利要求1所述的方法,其中标识多个信道的一个或多个信道集合包括:
标识所述多个信道中可用的信道;以及
评估利用所述多个信道中可用的信道而可形成的可能的信道组合;并且其中所述链路宽度支持能力信息包括带有数据的数据结构,所述数据标识利用所述多个信道中可用的信道而可以形成的所述一个或多个信道集合所支持的所述链路宽度集合。
5.如权利要求1所述的方法,其中所述链路宽度支持能力信息在所述多个信道中的所有信道上被串行地发送。
6.如权利要求5所述的方法,其中所述链路宽度支持能力信息在所述多个信道中由所述第一代理可选来向所述第二代理发送信息的所有信道上被串行地发送。
7.如权利要求1所述的方法,其中所述第二代理的发送器代表所述第二代理的接收器向所述第一代理的接收器发送所述链路宽度支持能力信息。
8.如权利要求7所述的方法,其中所述第二代理的发送器不清楚所述第一代理的接收器是否在所述多个信道中由所述第一代理用来接收所述链路宽度支持能力信息的每个信道上接收到所述链路宽度支持能力信息。
9.如权利要求1所述的方法,其中所述一个或多个信道集合包括具有所述多个信道的所有信道、所述多个信道的1/2信道和所述多个信道的1/4信道的集合。
10.如权利要求1所述的方法,其中所述链路宽度支持能力信息包括多个位,其中所述多个位中的每个位表示所述多个信道中由所述第二代理标识为所述第二代理可利用其从所述第一代理接收信息的一个信道集合。
11.如权利要求1所述的方法,其中标识、发送和接收的操作发生在所述第一代理和第二代理之间的单个通信回合中。
12.一种用于调节链路宽度的方法,包括:
第一代理从第二代理接收链路宽度信息,该信息代表点对点互连中第一链路的一个或多个信道集合,通过所述一个或多个信道集合所述第二代理能够从所述第一代理接收信息,其中所述链路宽度信息包括标识所述一个或多个信道集合所支持的链路宽度集合的数据;
所述第一代理从所述信道集合选择其中之一由所述第一代理用来向所述第二代理发送信息;
所述第一代理向所述第二代理发送所述第二代理将要使用哪个信道集合从所述第一代理接收信息的指示;以及
所述第一代理和所述第二代理基于来自所述第一代理的指示,调节所述第一代理用来发送信息和所述第二代理用来接收信息的链路宽度。
13.如权利要求12所述的方法,其中所述链路宽度信息指定了在所述第一链路中可用的所述多个信道的信道组合。
14.如权利要求12所述的方法,其中所述链路宽度信息在所述第一链路的信道上被串行地接收。
15.如权利要求12所述的方法,其中从所述第二代理接收所述链路宽度信息是利用所述互连中的第二链路来进行的。
16.如权利要求12所述的方法,其中所述一个或多个信道集合包括具有所述链路的所有信道、所述链路的1/2信道和所述链路的1/4信道的集合。
17.如权利要求12所述的方法,其中所述链路宽度信息包括多个位,其中所述多个位中的每个位表示所述链路中由所述第二代理标识为所述第二代理可利用其从所述第一代理接收信息的一个信道集合。
18.一种用于调节链路宽度的装置,包括:
内核,用于处理数据;
接收器,所述接收器耦合到所述内核,用于准备接收数据以便提供给所述内核;
发送器,其可通信地耦合到第一代理来发送链路宽度信息,该链路宽度信息包括标识一个或多个信道集合所支持的链路宽度集合的数据,所述接收器利用所述一个或多个信道集合从所述第一代理接收信息;
其中所述接收器可操作来从所述第一代理接收所述一个或多个信道集合中要使用的信道的指示;和
链路层控制器,其耦合到所述发送器和所述接收器来基于所述指示,调节第二代理用来从所述第一代理接收信息的所述链路的链路宽度。
19.如权利要求18所述的装置,其中所述链路层控制器标识可用的链路信道,并确定利用所述链路的可用信道可形成的可能信道组合。
20.如权利要求19所述的装置,其中所述链路宽度信息包括数据,所述数据标识利用所述多个信道中的可用信道可形成的可能信道组合。
21.如权利要求18所述的装置,其中所述链路宽度信息包括多个位,其中所述多个位中的每个位表示所述链路中标识为可用来发送信息的一个信道集合。
22.一种用于调节链路宽度的装置,包括:
内核,用于处理数据;
接收器,所述接收器耦合到所述内核,用于准备接收数据以便提供给所述内核,所述接收器从第一代理接收链路宽度信息,该链路宽度信息包括标识点对点互连中第一链路的一个或多个信道集合所支持的链路宽度集合的数据,通过所述一个或多个信道集合所述第一代理能够接收信息;
链路层控制器,其耦合到所述接收器来选择所述信道集合的其中之一以用于向所述第一代理发送信息;和
发送器,其耦合到所述链路层控制器,以向所述第一代理发送所述第一代理要利用哪个信道集合来接收信息的指示。
23.如权利要求22所述的装置,其中所述链路宽度信息包括多个位,其中所述多个位中的每个位表示所述链路中标识为可用来发送信息的一个信道集合。
24.一种用于调节链路宽度的系统,包括:
一对单向链路,每个链路都具有多个信道;
第一代理和第二代理,其具有耦合到所述一对单向链路中多个信道的端口,所述第一代理和第二代理中每个都包括链路控制器,用来交换它们的链路宽度支持能力并协商对于所述一对单向链路中每一个单向链路的彼此达成一致的链路宽度,其中每个所述链路宽度支持能力包括标识所述多个信道中一个或多个信道集合所支持的链路宽度集合的数据,所述一个或多个信道集合被用于发送信息。
25.如权利要求24所述的系统,其中所述一对单向链路沿相反的方向传输信息,并且彼此独立。
26.如权利要求24所述的系统,其中所述第一代理向所述第二代理发送链路宽度信息,表示所述一个或多个信道集合中哪个集合可由所述第二代理选来向所述第一代理发送信息。
27.如权利要求24所述的系统,其中所述第一代理和第二代理交换它们的链路宽度支持能力,并在单个通信回合中协商链路宽度。
28.如权利要求24所述的系统,其中所述第二代理包括:
内核,用于处理数据;
耦合到所述内核的接收器;
发送器,其可通信地耦合到第一代理来发送链路宽度信息,该链路宽度信息表示由所述接收器用来从所述第一代理接收信息的一个或多个信道集合;
其中所述接收器可操作来从所述第一代理接收所述一个或多个信道集合中要使用的信道的指示;和
链路层控制器,其耦合到所述发送器和所述接收器,来基于所述指示调节由所述第二代理用来从所述第一代理接收信息的所述链路的链路宽度。
29.如权利要求24所述的系统,其中所述第二代理包括:
内核,用于处理数据;
接收器,耦合到所述内核,用来从第一代理接收链路宽度支持能力信息,该链路宽度支持能力信息表示支持从点对点互连中所述一对单向链路内第一链路的多个信道中一个或多个信道集合形成的链路宽度集合的所述第一链路的所有可能信道组合,通过所述一个或多个信道集合所述第一代理能够从所述第二代理接收信息,其中所述点对点互连将所述第一代理连接到所述第二代理;
链路层控制器,其耦合到所述接收器来选择所述信道集合的其中之一以用于向所述第一代理发送信息;和
发送器,其耦合到所述链路层控制器,以向所述第一代理发送所述第一代理要利用哪个信道集合来接收信息的指示。
30.一种用于调节链路宽度的系统,包括:
第一单向总线,其具有第一多个信道;
第二单向总线,其具有第二多个信道;
第一处理器代理和第二芯片组代理,所述第一处理器代理和所述第二芯片组代理通过所述第一单向总线中的所述第一多个信道耦合在一起,所述第一处理器代理和所述第二芯片组代理其中每个都包括链路控制器,用来交换它们的链路宽度支持能力并协商对于所述第一单向总线和所述第二单向总线中每一个的彼此达成一致的链路宽度,其中每个所述链路宽度支持能力包括标识所述多个信道中一个或多个信道集合所支持的链路宽度集合的数据,所述一个或多个信道集合被用于发送信息;和
所述第一处理器代理通过所述第二单向总线中所述第二多个信道耦合到所述第二芯片组代理。
31.如权利要求30所述的系统,其中所述第一代理发送链路宽度支持能力,其表示所述总线对的一个总线中一个或多个信道集合的其中哪个集合可由所述第二代理选来向所述第一代理发送信息。
CN2004101028829A 2004-05-21 2004-12-24 标识坏信道并交换链路连接的两个代理宽度能力的方法 Expired - Fee Related CN1700645B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/851,925 2004-05-21
US10/851,925 US7844767B2 (en) 2004-05-21 2004-05-21 Method for identifying bad lanes and exchanging width capabilities of two CSI agents connected across a link

Publications (2)

Publication Number Publication Date
CN1700645A CN1700645A (zh) 2005-11-23
CN1700645B true CN1700645B (zh) 2012-03-14

Family

ID=34930686

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2004101028829A Expired - Fee Related CN1700645B (zh) 2004-05-21 2004-12-24 标识坏信道并交换链路连接的两个代理宽度能力的方法

Country Status (8)

Country Link
US (1) US7844767B2 (zh)
EP (1) EP1598744B1 (zh)
JP (1) JP4370222B2 (zh)
CN (1) CN1700645B (zh)
AT (1) ATE378638T1 (zh)
DE (1) DE602004010074D1 (zh)
RU (1) RU2295837C2 (zh)
TW (1) TWI259373B (zh)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8046488B2 (en) 2004-05-21 2011-10-25 Intel Corporation Dynamically modulating link width
JP4558519B2 (ja) * 2005-01-18 2010-10-06 富士通株式会社 情報処理装置およびシステムバス制御方法
US7757020B2 (en) * 2005-06-29 2010-07-13 Intel Corporation Point-to-point link negotiation method and apparatus
US7484014B2 (en) * 2005-09-28 2009-01-27 Intel Corporation System for flexible and negotiable exchange of link layer functional parameters
US7568060B2 (en) * 2005-12-15 2009-07-28 International Business Machines Corporation Method and system for interfacing components of a computing system with a pair of unidirectional, point-to-point buses
US7983181B1 (en) * 2006-03-28 2011-07-19 Advanced Micro Devices, Inc. Technique for negotiating a width of a packet-based communication link
JP4877482B2 (ja) * 2006-04-11 2012-02-15 日本電気株式会社 PCIExpressリンク、マルチホストコンピュータシステム、およびPCIExpressリンクの再構成方法
JP5287297B2 (ja) * 2008-03-18 2013-09-11 株式会社リコー データ処理回路、省電力方法、省電力プログラム、記録媒体及び機器
US8078873B2 (en) 2008-06-30 2011-12-13 Intel Corporation Two-way authentication between two communication endpoints using a one-way out-of-band (OOB) channel
US8310936B2 (en) * 2008-07-23 2012-11-13 International Business Machines Corporation Link services in a communication network
US8296469B2 (en) * 2008-12-31 2012-10-23 Intel Corporation Scalable method and apparatus for link with reconfigurable ports
EP2407889A1 (en) 2009-03-10 2012-01-18 Fujitsu Limited Transmission/reception device, transmission device, reception device, and data transmission/reception method
US8429484B2 (en) * 2009-04-16 2013-04-23 Lockheed Martin Corporation Digitized radar information redundancy method and system
EP2330514B1 (en) 2009-12-07 2018-12-05 STMicroelectronics (Research & Development) Limited An integrated circuit package
EP2333673B1 (en) 2009-12-07 2014-04-16 STMicroelectronics (Research & Development) Limited Signal sampling and transfer
EP2339475A1 (en) 2009-12-07 2011-06-29 STMicroelectronics (Research & Development) Limited Inter-chip communication interface for a multi-chip package
EP2339795B1 (en) 2009-12-07 2013-08-14 STMicroelectronics (Research & Development) Limited Inter-chip communication interface for a multi-chip package
EP2339476B1 (en) 2009-12-07 2012-08-15 STMicroelectronics (Research & Development) Limited Interface connecting dies in an IC package
EP2333830B1 (en) 2009-12-07 2014-09-03 STMicroelectronics (Research & Development) Limited a package comprising a first and a second die coupled by a multiplexed bus
US8724660B2 (en) * 2009-12-17 2014-05-13 Electronics And Telecommunications Research Institute Transmission and reception apparatus for dynamic lane operation in multi-lane based ethernet system, and method of controlling the same
KR101315621B1 (ko) * 2009-12-17 2013-10-08 한국전자통신연구원 다중 레인 기반 이더넷에서 동적 레인 운용을 위한 송, 수신 장치 및 그 제어 방법
KR101717296B1 (ko) * 2010-12-15 2017-03-16 한국전자통신연구원 선택적 레인 운용을 위한 이더넷 장치 및 방법
US8521937B2 (en) 2011-02-16 2013-08-27 Stmicroelectronics (Grenoble 2) Sas Method and apparatus for interfacing multiple dies with mapping to modify source identity
US8347258B2 (en) 2011-02-16 2013-01-01 Stmicroelectronics (Grenoble 2) Sas Method and apparatus for interfacing multiple dies with mapping for source identifier allocation
US8868955B2 (en) 2011-07-01 2014-10-21 Intel Corporation Enhanced interconnect link width modulation for power savings
WO2013009442A2 (en) * 2011-07-12 2013-01-17 Rambus Inc. Dynamically changing data access bandwidth by selectively enabling and disabling data links
WO2013095422A1 (en) * 2011-12-21 2013-06-27 Intel Corporation Dynamic link width adjustment
US9043526B2 (en) 2012-06-20 2015-05-26 International Business Machines Corporation Versatile lane configuration using a PCIe PIe-8 interface
US9053244B2 (en) 2012-06-28 2015-06-09 Intel Corporation Utilization-aware low-overhead link-width modulation for power reduction in interconnects
US9285865B2 (en) * 2012-06-29 2016-03-15 Oracle International Corporation Dynamic link scaling based on bandwidth utilization
US9183171B2 (en) 2012-09-29 2015-11-10 Intel Corporation Fast deskew when exiting low-power partial-width high speed link state
US9196384B2 (en) 2012-12-28 2015-11-24 Intel Corporation Memory subsystem performance based on in-system weak bit detection
US9536626B2 (en) 2013-02-08 2017-01-03 Intel Corporation Memory subsystem I/O performance based on in-system empirical testing
US9354990B2 (en) 2013-09-11 2016-05-31 International Business Machines Corporation Coordination of spare lane usage between link partners
JP6461959B2 (ja) * 2013-12-26 2019-01-30 インテル コーポレイション マルチチップパッケージリンク
WO2015116037A1 (en) * 2014-01-28 2015-08-06 Hewlett-Packard Development Company, L.P. Managing a multi-lane serial link
WO2015142336A1 (en) 2014-03-20 2015-09-24 Intel Corporation A method, apparatus, and system for controlling power consumption of unused hardware of a link interface
WO2015149293A1 (zh) * 2014-04-02 2015-10-08 华为技术有限公司 一种PCIe链路故障的处理方法、设备及系统
JP6409399B2 (ja) 2014-08-11 2018-10-24 富士通株式会社 電子機器、通信制御回路および通信制御方法
JP6369224B2 (ja) * 2014-08-28 2018-08-08 富士通株式会社 情報処理システム、情報処理装置、及び情報処理システムの制御方法
WO2020145956A1 (en) * 2019-01-09 2020-07-16 Hewlett-Packard Development Company, L.P. Data link changes based on requests
US11921662B2 (en) 2019-08-21 2024-03-05 Mellanox Technologies, Ltd. Dynamic bandwidth connections

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020103945A1 (en) * 2001-01-31 2002-08-01 Owen Jonathan M. System and method of initializing a computer processing system having a plurality of point-to-point links interconnecting a plurality of devices
US6434654B1 (en) * 1999-03-26 2002-08-13 Koninklijke Philips Electronics N.V. System bus with a variable width selectivity configurable at initialization
CN1481633A (zh) * 2000-12-15 2004-03-10 ˹���ķ��Ź�˾ 具有基于组的副载波分配的多载波通信

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4667305A (en) * 1982-06-30 1987-05-19 International Business Machines Corporation Circuits for accessing a variable width data bus with a variable width data field
JPH0484253A (ja) * 1990-07-26 1992-03-17 Mitsubishi Electric Corp バス幅制御回路
JP2836321B2 (ja) * 1991-11-05 1998-12-14 三菱電機株式会社 データ処理装置
WO1993019424A1 (en) * 1992-03-18 1993-09-30 Seiko Epson Corporation System and method for supporting a multiple width memory subsystem
JP3369227B2 (ja) * 1992-11-09 2003-01-20 株式会社東芝 プロセッサ
US5805924A (en) 1994-11-08 1998-09-08 Stoevhase; Bent Method and apparatus for configuring fabrics within a fibre channel system
US5761455A (en) * 1995-02-06 1998-06-02 Cpu Technology, Inc. Dynamic bus reconfiguration logic
WO1996041274A1 (en) * 1995-06-07 1996-12-19 Advanced Micro Devices, Inc. Dynamically reconfigurable data bus
US5960453A (en) * 1996-06-13 1999-09-28 Micron Technology, Inc. Word selection logic to implement an 80 or 96-bit cache SRAM
US5911053A (en) * 1996-09-30 1999-06-08 Intel Corporation Method and apparatus for changing data transfer widths in a computer system
US5913044A (en) * 1997-09-18 1999-06-15 International Business Machines Corporation Method and system for simultaneous variable-width bus access in a multiprocessor system
US6009488A (en) 1997-11-07 1999-12-28 Microlinc, Llc Computer having packet-based interconnect channel
US6018810A (en) * 1997-12-12 2000-01-25 Compaq Computer Corporation Fault-tolerant interconnection means in a computer system
US6442628B1 (en) * 1998-05-01 2002-08-27 Adaptec, Inc. Method and system for automatically determining maximum data throughput over a bus
US6157971A (en) * 1998-06-02 2000-12-05 Adaptec, Inc. Source-destination re-timed cooperative communication bus
US6223237B1 (en) * 1998-07-07 2001-04-24 Adaptive Systems, Inc. Expandable communications bus
US6662302B1 (en) * 1999-09-29 2003-12-09 Conexant Systems, Inc. Method and apparatus of selecting one of a plurality of predetermined configurations using only necessary bus widths based on power consumption analysis for programmable logic device
US6581116B1 (en) * 1999-11-09 2003-06-17 International Business Machines Corporation Method and apparatus for high performance transmission of ordered packets on a bus within a data processing system
US6526469B1 (en) * 1999-11-12 2003-02-25 International Business Machines Corporation Bus architecture employing varying width uni-directional command bus
JP4649009B2 (ja) * 2000-03-08 2011-03-09 株式会社東芝 カードインタフェースを備えた情報処理装置、同装置に装着可能なカード型電子機器、及び同装置におけ動作モード設定方法
JP2001282704A (ja) * 2000-03-31 2001-10-12 Fujitsu Ltd データ処理装置及びデータ処理方法とデータ処理システム
US6961347B1 (en) * 2000-06-20 2005-11-01 Hewlett-Packard Development Company, L.P. High-speed interconnection link having automated lane reordering
JP2002157212A (ja) * 2000-11-17 2002-05-31 Hitachi Ltd 情報処理システム並びに携帯用電子機器および情報処理装置
US6617877B1 (en) * 2002-03-01 2003-09-09 Xilinx, Inc. Variable data width operation in multi-gigabit transceivers on a programmable logic device
WO2004036814A2 (en) 2002-10-18 2004-04-29 Cariden Technologies, Inc. Methods and systems to perform traffic engineering in a metric-routed network
FI20022113A (fi) * 2002-11-29 2004-08-06 Nokia Corp Menetelmä ja järjestelmä väyläleveyden tunnistamiseksi, elektroniikkalaite ja oheislaite
US7136953B1 (en) * 2003-05-07 2006-11-14 Nvidia Corporation Apparatus, system, and method for bus link width optimization
US7957428B2 (en) * 2004-05-21 2011-06-07 Intel Corporation Methods and apparatuses to effect a variable-width link

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6434654B1 (en) * 1999-03-26 2002-08-13 Koninklijke Philips Electronics N.V. System bus with a variable width selectivity configurable at initialization
CN1481633A (zh) * 2000-12-15 2004-03-10 ˹���ķ��Ź�˾ 具有基于组的副载波分配的多载波通信
US20020103945A1 (en) * 2001-01-31 2002-08-01 Owen Jonathan M. System and method of initializing a computer processing system having a plurality of point-to-point links interconnecting a plurality of devices

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
同上.

Also Published As

Publication number Publication date
US20050262284A1 (en) 2005-11-24
RU2295837C2 (ru) 2007-03-20
ATE378638T1 (de) 2007-11-15
TW200538939A (en) 2005-12-01
EP1598744A1 (en) 2005-11-23
JP4370222B2 (ja) 2009-11-25
US7844767B2 (en) 2010-11-30
JP2005332357A (ja) 2005-12-02
CN1700645A (zh) 2005-11-23
EP1598744B1 (en) 2007-11-14
DE602004010074D1 (de) 2007-12-27
RU2004128236A (ru) 2006-03-10
TWI259373B (en) 2006-08-01

Similar Documents

Publication Publication Date Title
CN1700645B (zh) 标识坏信道并交换链路连接的两个代理宽度能力的方法
CN101198943B (zh) 点到点链路协商方法和装置
AU614499B2 (en) Input/output network for computer system
US20050270988A1 (en) Mechanism of dynamic upstream port selection in a PCI express switch
CN101663630B (zh) 线上电力控制器
CN104838636B (zh) 具有全双工差分对的usb接口上的以太网
CN106970886A (zh) 使用第二协议的扩展功能结构来控制第一协议的物理链路
CN101169771B (zh) 一种axi内部总线的外部接口装置及其数据传输方法
DE202013105453U1 (de) Trainingsrahmen in PMA-Größe für 100GBASE-KP4
US9031093B2 (en) EEE refresh and wake signaling for 100GBASE-KP4
US8924611B2 (en) Providing a serial protocol for a bidirectional serial interconnect
EP2974199A1 (en) De-correlating training pattern sequences between lanes in high-speed multi-lane links and interconnects
JP3448241B2 (ja) 通信デバイスのインタフェース装置
CN107562672A (zh) 一种提高矢量网络分析仪数据传输速率的系统及方法
CN104380274B (zh) 用于优化的链路训练及管理的装置和方法
US20150186201A1 (en) Robust link training protocol
CN108337142A (zh) 一种同步高速1553b总线系统
US8000278B2 (en) De-activation, at least in part, of receiver, in response, at least in part, to determination that an idle condition exists
CN108040301A (zh) 光通信系统、方法及存储介质
CN107911288A (zh) 列车通信网卡及列车控制管理系统
KR101396293B1 (ko) 스페이스와이어 기반 고속 직렬 통신 시스템
CN107395478A (zh) 一种用于高速卷烟包装设备的网络控制系统以及网络通信模块
EP0962078A1 (en) Method and apparatus for integrating multiple repeaters into a single collision domain
CN108228489A (zh) 一种基于ocp标准连接多网卡的方法
CN116680224A (zh) 不对称PCIe总线设计方法、装置、总线装置及系统

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120314

Termination date: 20191224