用于可靠链路启动的方法和系统的制作方法

文档序号:6351340阅读:263来源:国知局
专利名称:用于可靠链路启动的方法和系统的制作方法
技术领域
本发明总体涉及数字电路,并且更具体地涉及与互连线相关的链路启动系统和方法。
背景技术
例如移动电话、个人计算机、个人数字助理和许多其他装置的电子装置使用处理器、存储器、输入/输出(I/o)模块和其他数字装置以便向終端用户提供这些电子装置所设计的功能。这些各种数字装置使用互连线(有时也称为“总线”)互相连接,互连线在各种装置之间传递数据、信号和命令。当ー个装置开始通过互连线发送这样的数据、信号和命令(本文中有时也统称为“数据”)到另ー个装置时,链路启动过程用于将两个装置从它们的初始末通信状态转变到它们通过所建立的链路主动地与另ー个装置通信的状态。和经由这样的互连线执行的其它过程一祥,链路启动过程有时由所颁布的用以规定互连线的一个或多个标准限定。例如,在移动产业处理器接ロ联盟(MIPI)中定义了多个标准。其中一个标准被称为UniPro (Unified Protocol,统ー协议),UniPro针对利用高速串行链路的芯片到芯片(chip-to-chip)的网络。UniPro被定义为通用协议,该协议解决例如错误处理、流量控制、路由或仲裁的一般互连问题。UniProg在通过将可能由不同供应商提供的具有不同功能的芯片混合和匹配以易于产生新装置,从而增强电话制造商的灵活性。UniPro当前支持D-PHY链路,D-PHY链路为使用单独的时钟和数据通道的高速、串行且低功率的PHY链路。从版本I. 40开始,UniPix)将提供进ー步在数据通道中嵌入时钟的M-PHY支持。M-PHY将提供两种传输模式即低速和高速,每种模式支持多速传动(multiplespeed gears),并且M-PHY还将支持多种省电状态STALL,用于高速模式;SLEEP,用于低速模式;和HIBERN8。STALL和SLEEP在它们相应的传输模式中被优化用于快速唤醒,而HIBERN8为具有较长唤醒时间的极低功率模式。M-PHY还被限定为支持光纤链路。在本文中,UniPro 和 PHY 组合被称为 UniPort, UniPort 有两类UniPort_D 和 UniPort-M,UniPort-D 用于 D-PHY,UniPort-M 用于 M-PHY。UniPro中的M-PHY不同于互连线中使用的其它现有的高速、嵌入时钟的PHY(物理层),例如,通常被称为PCI Express、RapidI0 (高性能嵌入式互连技术)和HyperTransport的标准中所限定的那些PHY,因为UniPro中的M-PHY被优化用于低功率。尽管PCI Express,RapidIO和HyperTransport具有省电状态,但是它们仅具有ー种传输模式,这与M-PHY相反,M-PHY将具有高速(且较高功率)传输模式和低速(且较低功率)传输模式。这使UniPix)中的M-PHY控制较复杂,因为需要管理支持两种传输模式所需的所有状态。为较好地理解与基于UniPro的互连线中的链路启动相关的挑战,现将提供PCI Express、RapidIO和HyperTransport中的链路启动的讨论。例如,PCI Express使用以可能地多个速度传输数据的嵌入时钟的串行PHY,并且具有省电状态。PCI Express在其最低传输模式中(即以2. 5GHz)开始操作,并且支持多达32个通道(为2的冪)的链路。链路的两 个方向具有相同数量且相同编号的通道,并且所有通道总是具有相同的功率和传输速度。PCI Express中的链路启动被称为“链路训练”,并且由三个状态组成(I)检测状态,其中,PCI Express端ロ检测对等端ロ(peer port)的存在和连接通道的数量(这通过Tx电检测終端阻抗的存在(这意味着具有对等的Rx)进行);
(2)轮询状态,其中,链路的两端使用握手以确定它们的最大通用速度并检测正确的信号极性;和(3)配置状态,其中,链路的数量(在下游端ロ的情况下)、通道的数量和通道编号(既针对上游端ロ又针对下游端ロ)被确定(这通过以下进行上游装置(使用其下游端ロ)重复地发送训练序列顺序集(TS10S),接收TSl OS的下游装置用标记通道0来回应所述训练序列顺序集)。在毎次重复时,上游装置基于其从其对等的下游装置接收的信息来对其下游通道重新编号,使得,在结束时,所有下游装置将被给定ー组从0开始被连续编号的通道。然而,UniPort-M链路启动过程将需要区别于PCI Express链路训练,所述区别在于除了其他情况之外,检测步骤不能以电的方式实现,因为UniPort-M的初始传输模式使用没有終端阻抗的低功率传输模式。因此,与PCI Express相反,应该使用协议执行UniPort-M的通道检测,而不是使用电检测。此外,与PCI Express不同,UniPro的M-PHY将以HIBERN8省电状态开始,并且需要配置成转变到传输模式。此外,UniPorts在通道互连方式中将更灵活,因为UniPix)将支持不对称的链路(S卩,在两个方向上的通道数量不同)。因此,PCI Express的链路启动协议不适用于UniPro中的M-PHY链路的链路启动。现转到串行RapidIO,在本文中有时也被称为RapidIO,该总线标准支持以可能地多个速度传输数据的嵌入时钟的PHY。没有规定省电状态。如果支持波特率搜索(discovery),则RapidIO以其支持的最高速度开始传输数据。检测到较低输入数据传输的节点将降低其传输速率,直到两个节点都具有相同的传输速率为止。RapidIO支持多达16(为2的冪)个通道。链路的两个方向具有相同数量且编号相同的通道,并且所有通道总是具有相同的功率和传输速度。多通道RapidIO链路启动过程(称为“端ロ初始化过程”)由四个或更多的ニ级状态机组成,具体为(I)通道同步状态机被每个通道単独地使用以通过将逗号和有效符号分别计数到127和Vmin来实现Rx侧的位和符号同步;(2)通道对齐状态机用于多通道链路,以通过监测PHY符号样式来检测并消除通道内偏斜以实现Rx通道对齐;(3) lx/2x 模式检测状态机(lx/2x_Mode_Detect state machine)为 RapidIO 的特定步骤,该特定步骤检测2x链路是用在Ix模式(利用一个通道用于数据以及ー个通道用于冗余,RapidIO使用冗余通道以传输物理上被破坏的通道的数据,且如果这样的故障出现仍然提供低速连接性)中还是用在2x模式(利用两个通道用于数据)中;以及(4) lx/Nx 初始化状态机(lx/Nx Initialization state machine)开始于通过在通道O和通道2上交换空闲序列来检测对等装置。在对等装置被检测到之后,在所有的N个通道上发送空闲序列。如果对等装置在所有的N个通道上作出回应,那么该装置进入其中使用所有的通道的Nx传输模式。如果不是所有的输入通道携帯数据,则使用一个通道通道O (如果可用的话),或冗余通道(如果通道O不可用)。如果支持超过ー种多通道传输模式,则链路宽度协商用于选择两个端点支持的最大链路宽度。与RapidIO形成对比,以及如上文所述,UniPort-M将以HIBERN8状态开始。此外,UniPorts在通道互连方式中更灵活,因为UniPro将支持不对称的链路(即,在两个方向上通道的数量不同)。因此,RapidIO的链路启动协议也不适用于UniPro中的M-PHY。第三,转向被称为HyperTransport Gen3的总线标准,在本文中有时也称为
HyperTransport,该总线标准使用嵌入时钟的PHY,该PHY提供以可能的多个速度的数据传输,并且该总线标准具有省电状态。HyperTransport支持具有多达32个通道(为2的幂)的链路。链路宽度为自动协商的。在两个方向上的通道被静态地编号。两个链路方向可以由软件配置成具有不同的宽度。HyperTransport的特点为除了使用通常的CAD (时钟和数据)通道之外,还使用CTL(控制)通道。CTL通道用于指示何时传输控制包以及改善对传输错误的链路鲁棒性。假定存在CTL通道,则HyperTransport除了链路训练以外不使用8b IOb K-codes,该8bIOb K-codes通常用于控制。多通道HyperTransport链路启动(所谓的初始化)首先电检测对等装置,随后使用1200MHz的传输模式用于一系列训练0-3阶段,所述训练0-3阶段使用训练样式来建立位和字节的同歩。速度没有被协商,但可以以后使用软件配置。链路宽度被协商达8个通道。通道宽度可以经由软件配置,如果两个装置支持,则包括使用16个通道或32个通道。此外,通过软件,使用不对称的链路是可行的。HyperTransport不对通道进行计数(enumerate )。再者,与HyperTransport不同,UniPort-M装置以HIBERN8状态开始。此外,与HyperTransport不同,UniPro将支持自动通道计数以使芯片到芯片(chip-to-chip)的互连布局容易。因此,HyperTransport的链路启动协议也不适用于UniPro中的M-PHY。因此,亟需提供用于例如UniPro系统中的M-PHY链路的互连链路启动的方法、节点和系统。

发明内容
根据ー个示例性实施方式,一种用于具有第一数量的发送通道和第二数量的接收通道的装置的链路启动的方法包括以下步骤通过所述第一数量的发送通道中的至少ー个发送通道和所述第二数量的接收通道中的至少ー个接收通道建立数据通信;确定ー数量的被连接的发送通道;确定ー数量的被连接的接收通道;以及对所述被连接的发送通道和所述被连接的接收通道独立地重新编号。根据另ー示例性实施方式,ー种装置包括接ロ,所述接ロ配置成向互连线的通道发送数据和从互连线的通道接收数据,所述接ロ包括发送器和接收器,所述发送器具有多个发送模块以及所述接收器具有多个接收模块;其中所述接收器配置成确定连接到所述接收器以用于数据接收的第一数量的通道,所述确定连接到所述接收器以用于数据接收的第一数量的通道作为链路启动过程的一部分,并且所述接收器配置成存储与所确定的第一数量的通道关联的第一通道位码,以及所述发送器配置成发送所述第一通道位码。根据又ー示例性实施方式,一种用于第一装置和第二装置之间的互连线的链路启动的方法包括以下步骤通过所述互连线在所述第一装置和所述第二装置之间建立数据通信;在从所述第一装置到所述第二装置的第一发送方向上,确定所述互连线上的第一数量的被连接的通道;在从所述第二装置到所述第一装置的第二发送方向上,确定所述互连线上的第二数量的被连接的通道;以及对所述第一数量的被连接的通道和所述第二数量的被连接的通道独立地重新编号。


附图示出示例性实施方式,其中图I为示出借助互连线通信且可以使用根据这些示例性实施方式的链路启动协议来在其之间建立通信链路的两个装置的高层次框图;图2和图3为分别示出M-PHY发送状态和接收状态的状态图;图4为示出根据示例性实施方式的用于链路启动的方法的流程图;图5示出根据示例性实施方式的链路启动阶段;图6示出根据示例性实施方式的通过互连线连接的两个装置;图7-11示出根据示例性实施方式的多个链路启动阶段的实例;以及图12为示出根据另ー示例性实施方式的链路启动方法的流程图。缩略词列表
CAD时钟和数据
CFG配置(也缩写成CONFIG)
CSI-3摄像机串行接ロ 3
CTL控制
DevA装置A
DevB装置B
DIF-N由M-TX驱动的引脚之间有负差分电压的线路(LINE)状态
DIF P由M-TX驱动的弓I脚之间有正轰分电压的LINE状态
DIF-Z具有高阻抗M-TX输出、同时M-RX保持低于静噪门限的0差分
LINE电压的LINE状态
D-PHY 500-1000 Mbit/s 的 PHY,以罗马数字 500 ( “D ” )而命名 FSM有限状态机GBT千兆位追踪(GigaBit Trace ) Gbps每秒千兆位
HIBERN8最深的低功率状态而不丟失配置信息
HS-BURST以NRZ位格式并使用8b IOb编码来以高速(Gbps )传输有效载
荷数椐
HS Mode高速模式
JEDECJEDEC固态技术协会,此前也称为联合电子器件工程联合会(JEDEC)
K-codes8b IOb控制符号
LINE-CFG与介质转换器交换配置参数的LINE状态
LS Mode低速模式
LCC线路控制命令
MARKER非数据符号,用于与协议相关的控制目的
MC介质转换器
MIPI移动行业处理器接ロ
MODE-LCC用于状态转换出LINE-CFG的MC控制码
M-PH Y1000- Mbit/s 的 PHY,以罗马数字 1000 C “M”)辛名
M-RXM-PHY电接收器模块
M-TXM-PHY电发送器模块
NRZ-Line在M-TX的引脚(PIN)和MRX的引脚(PIN)之间的非归零差分点对点互连线
PHY物理层
POR上电复位
PWM位调制方案,其携带工作周期中的数据信息和周期中准确的时钟信息
PWM-GEAR在M-PHY的低速模式中通信的速度范围
PWM-Line携带使用脉冲宽度调制的数据的互连线
PWM-GlPWM-GEAR I,在启动时和复位后的默认M-PHY PWM-GEAR
RAND非歧视性合理许可
RCT重新配置触发器
Rx接收器
SLEEP使用PWM-Burst (突发)和SYS-Burst的省电状态
STALL具有快恢复时间的高速突发(HS-Burst)之间的省电状态
TRG触发器
Tx发送器
UFS通用闪存
UniPoit MUniPro + Vl-PHY H ロ
UniPro统ー协议
Un i Pro WGUni Pro ェ作组
UPRUniPRo
具体实施例方式下文的示例性实施方式的详细描述參照附图。不同附图中相同的附图标记表示相同或类似的元件。此外,下文的详细描述不限制本发明。而是,本发明的范围由所附的权利要求书限定。根据示例性实施方式,描述了例如用于M-PHY链路的链路启动的协议。与其他链路启动机制相比,例如上文描述的与PCI Express、RapidIO和HyperTransport相关的链路启动机制,根据示例性实施方式的链路启动机制还能够支持不对称的链路(例如,在两个方 向上有不同数量的通道),且使得在两个端ロ之间如何连接通道具有灵活性。为了提供用于讨论示例性实施方式的ー些背景,首先提供关于UniPro协议的一些信息和这些示例性实施方式可用于其中的系统。然而,本领域的技术人员应该理解,本发明的示例性实施方式包括但不限于用在UniPix)标准化系统。如图I中总体示出,UniPro互连线10例如可以用来连接如移动电话的组合装置或系统16内的多组(例如ー对或高达128的其他倍数)装置(例如,芯片12和芯片14)。例如从芯片12到芯片14在互连线或链路10上传送的数据包可随后使用UniPix)开关(在图I中未示出)路由到组合装置16内的其他目标芯片或模块。在该示例性实施方式中,装置12和装置14各包括UniPro+M-PHY接ロ 18、20(也被称为UniPort-M),且可以使用双向双单エ链路(即,在两个方向上具有一个或多个单向PHY通道的链路)实现互连线10。UniPort-M18和UniPort-M 20允许每个方向上有多达四个通道,且单个方向上的每个通道具有相同的功率能力和速度能力;然而,该链路的两个方向上可具有不同的能力。在本背景中,“通道”可以被视为在ー个传输方向上工作的点对点的串行链路。除了别的以外,UniPort-M 18和UniPort-M 20不同于现有的互连线接ロ,除了其他方面以外,不同之处在于,UniPort-M 18和UniPort-M 20允许在建立和配置链路10上具有灵活性。例如,与要求链路的两个方向完全对称(即,链路的两个方向具有相同数量的通道)的 PCI Express、RapidIO 和 HyperTransport 相反,Uniport-M 18 和 20 支持不对称的链路。UniPort-M 18和UniPort-M 20还将允许仅其一部分通道被连接,且不对通道如何连接进行限制,因为通道在链路启动期间被重新编号,这将在下文描述。在本背景中,术语“连接”在涉及通道时表示物理连接。例如,假设芯片12为提供具有四个通道的UniPort-M18的芯片,但芯片12被用在系统16中,在该系统16中,芯片12附 接到具有更为有限的连接性(例如仅具有两个接收通道)的芯片14。因此,可用于芯片12的两个通道特意地未物理连接。通道还可因芯片(例如在电路板或柔性箔(flex foil)中)之间的物理错误而意外地未连接。UniPort-M 18和UniPort-M 20还支持不对称地配置的链路(例如,链路的两个方向可以被设成不同的功率模式),这一点与PCI Express、RapidIO和HyperTransport相反,PCI Express、RapidIO和HyperTransport需要链路的两个方向为相同的功率模式。因此,考虑到可用于装置12和装置14之间的链路连接性的这些不同特征,与UniPort-M 18、UniPort-M 20和互连线10所用的M-PHY物理层相关的ー个挑战是如何定义链路启动协议。从分别示出M-PHY发送状态和M-PHY接收状态的图2和图3中可以看出,UniPro的M-PHY具有两种模式LS-MODE (低速)22和HS-MODE (高速)24。每种模式具有省电模式分别为SLEEP状态26和STALL状态28,以及每种模式具有传输模式分别为PWM-BURST状态30和HS-BURST状态32。LS-MODE 22具有另外的状态LINE-CFG状态34,该LINE-CFG状态34用于在使用光纤链路的情况下配置光介质转换器。HIBERN8状态36为用于长的空闲时间的第三超低省电状态。在图2和图3中示出的其他状态为过渡的,和/或对于本描述的意义不大。根据UniPix),每个传输模式可具有多个传输速度。例如,LS-MODE 22定义GO到G7,以及,HS-MODE 24定义Gl到G3,以及,根据这些示例性实施方式,在互连线10的复位之后使用LS-MODE 22/G1。M-PHY在HIBERN8状态36开始,既用于发送功能又用于接收功能。根据这些示例性实施方式,在LS-MODE 22/PWM-BURST 30/G1中执行链路启动以便避免配置M-PHY或介质转换器。因此,在根据这些示例性实施方式的链路启动期间所使用的M-PHY状态为HIBERN8状态 36、SLEEP 状态 26 和 PWM-BURST 状态 30 (对于 M-PHY RX, PWM-PREPARE 状态 38 为 SLEEP状态26和PWM-BURST状态30之间的过渡状态)。如果使用介质转换器且使用不同于PWM/Gl的任何传输模式,则介质转换器也需要被配置,并且因此还将使用LINE-CFG状态。例如芯片12或芯片14的装置通过驱动DIF-N状态到通道来请求其M-TX退出HIBERN8状态36。类似地,当M-RX检测到通道状态从DIF-Z(即,正常M-RXHIBERN8状态)转变到DIF-N时,M-RX退出HIBERN8状态36。HIBERN8退出状态为可配置的,并且,如上文所述,根据该示例性实施方式,在复位之后被设定成LS-MODE 22。在SLEEP状态26中,只要M-TX在M-TX处驱动DIF-N,链路就保持在SLEEP状态26。通过在T_PWM_PREPARE的持续期间在M-TX上驱动DIF-P,装置12、14从SLEEP状态26移到PWM-BURST状态30。在M-RX已经转变到DIF-P(其将保持达T_PWM_PREPARE)之后,在SLEEP状态26中的M-RX移到PWM-PREPARE状态38,随后在通道状态转变为DIF-N时,M-RX移到PWM-BURST状态30。从PWM-BURST状态30退出到SLEEP状态26是通例如从/由接ロ 18经由互连线10发送/接收(例如至少10个)b0 PWM位、随后是一 bl PWM位的突发来实现。从PWM-BURST状态30退出到LINE-CFG状态34类似地是根据bl位的突发进行的,但这不为根据这些示例性实施方式的链路启动所使用。从SLEEP状态26移动到HIBERN8状态36是通过分别配置M-TX模块和M-RX模块的协议来实现的,然而,该功能也不是链路启动所需要的。已经提供了一些用于装置和链路的示例性背景,现转到讨论那些链路的启动,例如,当在两个装置12和装置14之间的通信被启动吋。根据示例性实施方式,以及如图4的流程图所示,ー种用于链路启动的方法检测对等装置的存在(步骤40),建立数据通信(步骤42),检测每个方向所连接通道的数量(步骤44),和对在两个方向上的两组通道进行计数(步骤46)。这些示例性实施方式可以结合按照UniPro规定操作的互连线中的链路启动使用,例如,用于结合UniPro互连线中的M-PHY链路或D-PHY链路使用。根据示例性实施方式的链路启动不需要执行超出链路数量的能力捜索(例如,所支持的传输模式及其传动速度),这可以作为后续步骤执行,以及可以用于在后面阶段中重新配置或解除链路。然而,链路启动可以扩展到进ー步从至少任一存在的光学介质转换器收集能力特性,以及可能的自动协商数据传输模式。除了其他特征之外,根据示例性实施方式的链路启动提供了对开始从发送对等装置接收数据的对等装置中的非发送、省电状态的支持。例如,这通过在发送启动符号和唤醒序列之间交替的一个对等装置12、14的Tx来实现,以确保另ー对等装置14、12为醒着的并且能够检测启动序列。此外,示例性实施方式提供对灵活的链路互连性的支持,其中任何通道可以被独立地连接。示例性实施方式还自动地对在每个发送方向上独立连接的通道进行计数,这提供了主板和芯片互连设计中的灵活性并且使在物理破坏通道的情况下有最大连接性。根据示例性实施方式的链路启动协议在复位之后使用M-PHY默认传输模式PWM-G1,并且利用M-PHY中使用的8b IOb编码。根据ー个示例性实施方式,链路启动包括以下四个阶段,这四个阶段还在图5中作为状态机示出。简而言之,在阶段050中,Tx将Tx配置成退出HIBERN8状态到SLEEP状态中的LS-M0DE。在阶段Ia-Ib 52-54中,Tx在驱动DIF-N达T_EXIT_HIBERNATE以从HIBERN8状态唤醒Rx和发送表明其物理通道编号的TRG1_code之间交替。TRGl_Code由Rx使用以检测所连接的通道的数量和获知Tx通道编号。在阶段2a-2b 56-58中,Rx传送通道连接并且Tx/Rx将通道编号对齐到O。在阶段360、62中,链路启动被使得抵抗传输错误。例如,阶段3可通过发送LCC-Read来与收集OMC能力结合。下面将根据示例性实施方式更详细描述这些阶段中的每个阶段,其中假定,装置12向装置14发起链路启动,并且装置14向装置12发起链路启动,以及根据图7到图11将示出一些阶段的具体示例(但纯粹是例证)。图6示出将在图7到图11中的具体例证性示例中使用的普遍性的互连线和接ロ结构(可以略微变化,例如,在可用的/所连接的M-TX模块和M-RX模块的数量上)。其中,装置A 12具有四个M-PHY发送模块TXO到TX3,所述发送模 块借助单独的串行链路连接到在装置B 14中相应的M-PHY接收模块RXO到RX4,以在第一发送方向上使用从I到4的数据通道将数据从装置A 12传送到装置B 14。装置B 14具有两个M-PHY发送模块TXO到TXl,所述发送模块借助单独的串行链路连接到在装置B 14中相应的M-PHY接收模块RXO到RXl,以在第二发送方向上将数据从装置B 14传送到装置A
12。总之,在该示例中,这六条串行链路形成互连线10,与装置A 12关联的四个发送模块和两个接收模块形成接ロ 18,以及与装置B 14关联的四个接收模块和两个发送模块形成接
n 20。阶段0 50装置12配置其所有通道的M-TX (M-PHY发送器)模块和M-RX (M-PHY接收器)模块以上文所述的方式从休眠(HIBERN8状态36)进入低速模式(LSMode 22)。通过M-TX模 块将通道驱动到DIF-N状态达T_EXIT_HIBERNATE之后,发生实际的从HIBERN8状态36到LS_Mode/SLEEP 状态 26 的转变。阶段Ia 52装置12的Tx模块例如通过以下步骤重复地驱动所有的M-TX通道Ia. I:所有的M-TX模块同时被驱动到PWM-BURST状态30 (使用默认Gl传动速度);Ia. 2:在被连接的通道的所有M-TX模块上同时发送TRG_UPR1训练序列。TRG_UPRl训练序列例如可以包括MARKER0(K. 28. 5),其为用于发起传输的M-PHY所需;MARKER1(K. 28. 3),其有助于使通道达到16位对齐,且与MARKER0的正常ESC_DL协议使用区分开,MARKER1 (K. 28. 3)引入 PHY 适配器(Adapter)16 位符号、携帯 6 位 TRGl_code (6b,100000)且随后是指示物理Tx通道编号的2位字段(如果支持达4个通道)的数据符号,该数据符号为PHY适配器序列的第二字节并且将物理M-TX通道编号传达到对等装置14 ;和MARKER2(K. 28. 6),用来结束传输并请求M-TX通道转为SLEEP省电状态26 ;Ia. 3:所有的M-TX模块被强制为SLEEP状态26至少达T_EXIT_HIBERNATE(由M-PHY限定T_EXIT_HIBERNATE)。这强制输出通道上的DIF-N状态至少达T_EXIT_HIBERNATE,如果对等M-RX模块处于HIBERN8状态36,那么这将使对等M-RX模块移为LS_MODE/SLEEP状态26。这提供了在前描述的根据示例性实施方式的启动符号和唤醒符号的交替传输。例如装置B 14中的接收器监控其用于输入数据的M-RX模块。当M-RX模块接收第一组TRG_UPR1训练序列时,装置B 14得知装置B 14的哪些M-RX通道被连接和这些通道相应的物理Tx通道编号。使用所接收的、物理Tx通道编号,接收器产生通道位码,该通道位码为所接收的每个相应物理Tx通道编号设置位。该通道位码例如可以被存储在触发器(FSM状态信息)或可寻址便笺存储器中的Rx模块处。如下文所述,该通道位码将随后由链路的每侧使用以独立地对该链路所连接的通道进行计数(重新编号)。图7中示出根据这些示例性实施方式的使用图6的示例性互连结构的链路启动协议的阶段Ia 52的示例。其中,DevA 12具有四通道发送器并且发送携帯通道编号0_3的TRG_UPR1训练序列。仅有通道2和通道3被连接在DevB 14,因此DevB 14的接收器将产生如方框70中所示的通道位码4b’0011。类似地,DevB 14具有两个输出通道,然而,仅通道0被连接。因此,DevA 12的Rx将产生如方框72中所示的通道位码4b’ 1000。如图I中所示,每个装置使用输入的物理Tx通道编号来自动对其自己的Rx通道进行计数(重新编号)。M-RX通道的计数按接收的物理Tx通道的递增次序从0开始。因此,在该示例中,DevB 14对接收物理通道编号2和物理通道编号3的通道分别指定通道编号O和通道编号I (如图7中所示)。当发送/接收数据时,数据符号被基于通道编号而映射到通道/基于通道编号自通道映射ー个符号在通道O上,下ー个符号在通道I上,对于所有的通道以此类推。当装置A 12和装置B 14的ー个或多个M-PHY模块Rx接收ー组TRG_UPRl训练序列时,该装置从根据该示例性实施方式的链路启动过程的阶段Ia 52移到阶段Ib 54阶段Ib 54如图5中所示,在该阶段中,与装置A 12和装置B 14关联的Tx模块各在所有的M-TX通道上同时再发送两个TRG_UPR1序列,随后各装置移到阶段2a。请注意,在互连线10上的数据传输在给定的发送方向上在所有的通道上同时(或大致同吋)进行,但可以按方向而发生在不同的时间。阶段2a 56在该阶段中,各装置12和装置14的Tx模块使所有的M-TX通道进入LS-MODE22/PWM-BURST 30 (使用默认的Gl传动速度)并且随后发送MARKERO (K. 28. 5)和MARKER1(K. 28. 3)序列以实现字节同步和开始传输。随后,Tx同时在所有M-TX通道上驱动TRG_UPR2训练序列,该TRG_UPR2训练序列根据该示例性实施方式包括MARKER1 (K. 28. 3),该MARKER1引入PHY适配器16位符号和携带4位TRG2码(6b’ 1001)以及随后的Rx 4位通道位码的数据符号。图8示出包括传输作为TRG_UPR2训练序列的一部分的位通道码的阶段 2a 56。所接收的4位通道码用于按物理Tx通道的递增次序从0开始重新编号Tx通道。在该示例中,接收4b’ 0011的DevA 12得知DevA 12的M-TX通道0和M-TX通道I没有被连接,并且DevA 12的M-TX通道2和M-TX通道3被连接。装置12对其M-TX通道2和3也分别重新编号成0和1,通过比较图8中的与各Tx模块相关的编号与图9中所示的相应编号,可以看出重新编号。当接收ー组TRG_UPR2训练序列时,该装置移到阶段2b 58。阶段2b58如图5中所示,在该阶段中,装置的M-PHY Tx在LS-M0DE22/PWM-BURST 30/G1中在所有的M-TX通道上同时再发送两个TRG_UPR2序列,随后该装置移到阶段3a 60。再次,请注意,在互连线10上的数据传输在给定的发送方向上在所有的通道上同时(或大致同吋)进行,但可以根据方向而发生在不同的时间。阶段 3a 60如图9中所示,Tx使用LS-MODE 22/PWM-BURST 30/G1在通道0上重复发送TRG_UPR3训练序列。执行该动作是为了确认TRG_UPR2序列已被正确地接收。根据该示例性实施方式,TRG_UPR3训练序列包括MARKER1 (K. 28. 3),该MARKER1引入PHY适配器16位符号和携带8位TRG3码(6b’ 10100000)的数据符号。当接收到TRG_UPR3训练序列时,装置12和装置14移到阶段3b62。阶段 3b 62Tx以LS-M0DE/PWM-BURST/G1在通道0上再发送两个TRG_UPR3训练序列,随后该装置指示,链路启动序列已经成功完成。作为上述示例性实施方式中的阶段3a 60和阶段3b 62的替选,TRG_UPR3可以在所有连接的通道上发送,而不是仅在通道O上发送。在图9中,这将引起DevA 12在其计数的通道O和I上发送TRG_UPR3,DevB 14在其计数的通道O上发送TRG_UPR3。对于根据该示例性实施方式的链路启动的所有的阶段Ia 52、阶段2a 56和阶段3a 60,计时器可以被用来从错误中恢复。阶段Ia 52的计时器具有大值,并且,如果该计时器到期,则用UniPort断开连接的指示停止链路启动。阶段2a 56和阶段3a 60的计时器可以使用较小的值,并且,如果这些计时器到期,则用永久链路故障的指示停止链路启动。作为上述示例性实施方式中的阶段3a 60和阶段3b 62的替选,TRG_UPR3也可以包括LCC-Read命令以收集OMC能力。在图10中,示出了作为链路启动过程的一部分的根据示例性实施方式的独立通道计数的第二示例,其中,DevA 12具有4个Tx通道和I个Rx通道,以及De vB 14具有2个Tx通道和2个Rx通道。在该示例中,DevA 12到DevB14的方向具有2个交叉的通道,以及DevB 14到DevA 12的方向具有I个通道。DevA 12得知DevB 14仅连接其Tx通道2和3,并且对它们分别重新编号为0和I。这些通道在DevB 14处也被编号为0和1,尽管这些通道交叉(与图9中的DevB 14的重新编号的通道对比)。对于DevB 14到DevA 12的方向,DevB 14得知其Tx通道0被连接。该通道在两端被编号为O。在图11中,示出了作为链路启动过程的一部分的根据示例性实施方式的独立通道计数的第三示例,其中,DevA 12具有4个Tx通道和2个Rx通道,以及DevB 14具有I个Tx通道和2个Rx通道。在该示例中,DevA 12到DevB14的方向具有连接在DevA 12的物理Tx通道I和物理Tx通道3的2个通道。例如通过物理上破坏的通道可以导致DevA 12的未连接的通道2产生的间隙。DevB 14到DevA 12的方向具有I个通道。DevB 14得知DevA 12仅连接其Tx通道I和3,并且对它们分别重新编号为0和I。这些通道在DevA 12处也被编号为0和I。对于DevB 14到DevA 12的方向,DevA 12得知其Tx通道0被连接。该通道在两端被编号为O。除了其他特征和优势之外,一些示例性实施方式支持在省电状态(S卩,不能用于发送数据的状态)中由复位产生的PHY并激活链路以发送数据。此外,示例性实施方式支持灵活的通道互连和自动的通道计数。更具体地,这样的支持可以包括下列情况的ー种或多种(I)每个方向有不同数量的通道,(2)通道的随机子集被连接和/或(3)以任何顺序连接不同装置的物理通道的能力。使用自动通道计数,示例性实施方式能够使用含有物理上破坏通道的链路的最大容量。因此,应该理解,还可从单个装置的角度就用于链路启动的方法描述示例性实施方式,例如如图12的流程图所示。其中,用于链路启动的方法包括在步骤1200通过ー装置检测被连接在互连线上以接收数据的通道的数量。在步骤1202,该装置可以确定与所述数量的被连接的通道中的每个通道关联的物理通道编号(即,名义上从发送侧指定的通道编号)。在步骤1204,可以产生通道位码,该码指示所述数量的被连接的通道和相应的物理通道编号。在步骤1206,该装置随后可以发送该通道位码,该码可以由链路上的其他装置使用以用上文所述的方式重新编号其通道。如上文所述,示例性实施方式可以用于根据UniPix)标准操作的互连线的链路启动,但本发明不限于此。根据这样的示例性实施方式的这样的UniPro标准化互连线的ー些区别特征例如包括
-UniPro链路支持多种功率模式,包括HYBERNATE (非常低的功率、没有数据传输、长唤醒时间)、SL0W/L0W-SPEED (低速、中等功耗)和FAST/HIGH-SPEED (高速、每位最低能量、当空闲时有功耗)。FAST模式SLOW模式还具有SAVE模式(分别为STALL和SLEEP),该SAVE模式具有低功耗(比HYBERNATE高)和快唤醒时间(比HYBERNATE低得多);-UniPro链路在以下方面可以为不対称的O每个方向上所连接的通道的数量(例如,在ー个方向上有I个通道,在另一方向上有2个通道)。通道的数量配置成灵活的。O功率/传输模式和传动能力(仅在ー个方向上为低速(LS),在另一方向上为低速和高速(HS))和配置(在ー个方向上为HS/GEAR 1,在另一方向上为HS/GEAR 3)。0在ー个方向上发送数据和在另一方向上为省电状态(例如,分别为HS-BURST和 SLEEP)■然而,对于HIBERNATE,链路应该在两个方向上都配置成HIBERNATE-连接的通道被自动搜索和计数;-UniPro支持需要在两端配置的PHY (例如M-PHY)。较简单的PHY可以仅在Tx端配置,但就例如M-PHY的较复杂的PHY而言,线路状态不足以对所有可能的变化进行编码。-UniPro对具有离散介质转换器(例如,光介质转换器)的链路提供支持。离散介质转换器可以仅通过线路(不能直接访问寄存器)被配置。从上述讨论中,应该理解,示例性实施方式采用三种不同的训练序列(第一训练序列(例如,含有TRGl ),第二训练序列(例如,含有TRG2)和第三训练序列(例如,含有TRG3))用于链路启动。根据示例性实施方式,这三种训练序列可以以各种顺序使用以实现特定目的。例如,可以在第一训练序列被接收之后,发送第二训练序列。类似地,可以在接收第二训练序列之后,发送第三训练序列。为了增加鲁棒性,在装置从其连接的对端接收相应的训练序列之后,每个训练序列可以通过该装置再发送两次,例如,第一训练序列被重复地发送直到第一训练序列被接收为止,以及在第一训练序列被接收之后,第一训练序列被再发送两次。根据ー个示例性实施方式,仅在针对该第一训练序列发生该组操作之后,第二训练序列才被发送。当期待第一训练序列时,根据示例性实施方式可以忽略其他所有。当期待第ニ训练序列时,根据示例性实施方式可以忽略第一训练序列,以及,除了第一训练序列和第ニ训练序列之外的其他所有使装置再次期待第一训练序列。当期待第三训练序列时,根据示例性实施方式可以忽略第二训练序列,以及,除了第二训练序列和第三训练序列之外的其他所有使装置再次期待第一训练序列。上述示例性实施方式在本发明的所有方面g在是说明性的而不是限制性的。因此,本领域的技术人员可从本文包括的描述得出,在具体实现中,本发明可以有各种变型。本申请的说明书中所用的元件、动作或指令不应该被理解成对本发明是关键的或必要的,除非在本文中这样清晰地说明。此外,本文所用的冠词“一” g在包括ー项或多项。
权利要求
1.一种用于具有多个发送通道和多个接收通道的装置的链路启动的方法,所述方法包括: 通过所述多个发送通道中的至少ー个发送通道和所述多个接收通道中的至少ー个接收通道建立数据通信; 确定ー数量的被连接的发送通道; 确定ー数量的被连接的接收通道;以及 对所述被连接的发送通道和所述被连接的接收通道独立地重新编号。
2.根据权利要求I所述的方法,其中,所述发送通道的数量不同于所述接收通道的数量。
3.根据权利要求I所述的方法,其中,所述被连接的发送通道的数量不同于所述被连接的接收通道的数量。
4.根据权利要求I所述的装置,其中,所述多个发送通道和所述多个接收通道的至少一个的子集被连接。
5.根据权利要求I所述的方法,其中,通过所述多个发送通道中的至少ー个发送通道建立通信的步骤还包括 在所述多个发送通道的每ー个发送通道上,发送携带相应的物理发送通道的标识的第ー训练序列。
6.根据权利要求5所述的方法,其中,确定所述数量的被连接的发送通道的步骤还包括 接收第二训练序列,所述第二训练序列包括指示被连接的发送通道的所述数量且识别哪些发送通道被连接的码。
7.根据权利要求6所述的方法,其中,对所述数量的被连接的发送通道独立地重新编号的步骤还包括 基于所述码对所述被连接的发送通道重新编号,其中由所述码指示的最低物理通道编号被重新编号为O,以及所述被连接的发送通道被按物理发送通道编号的顺序从O开始递增地计数。
8.根据权利要求I所述的方法,其中,确定所述数量的被连接的接收通道的步骤还包括以下步骤 在每个被连接的接收通道上,接收携带与所述装置所连接的另ー装置关联的相应物理发送通道的标识的第一训练序列。
9.根据权利要求8所述的方法,还包括 存储指示所述被连接的接收通道和相应物理发送通道的码;以及 在所述第一数量的发送通道上发送作为第二训练序列的一部分的所述码。
10.根据权利要求8所述的方法,其中,对所述数量的被连接的接收通道独立地重新编号的步骤还包括 基于相应物理发送通道的所述标识对所述被连接的接收通道重新编号,其中由所述标识指示的最低物理通道编号被重新编号为0,以及所述被连接的发送通道按所述物理发送通道编号的顺序从0开始递增地计数。
11.根据权利要求5所述的方法,还包括在发送所述训练序列和发送唤醒序列之间交替。
12.ー种装置,包括 接ロ,所述接ロ配置成向互连线的通道发送数据和从互连线的通道接收数据, 所述接ロ包括发送器和接收器,所述发送器具有多个发送模块以及所述接收器具有多个接收模块; 其中所述接收器配置成确定连接到所述接收器以用于数据接收的第一数量的通道,所述确定连接到所述接收器以用于数据接收的第一数量的通道作为链路启动过程的一部分,并且所述接收器配置成存储与所确定的第一数量的通道关联的第一通道位码,以及所述发送器配置成发送所述第一通道位码。
13.根据权利要求12所述的装置,其中,所述接收器还配置成接收第二通道位码,所述第二通道位码指示第二数量的被连接的通道,借助所述第二数量的被连接的通道,所述装置通过所述互连线发送数据; 其中所述装置使用所述第二通道位码对所述第二数量的被连接的通道重新编号。
14.根据权利要求13所述的装置,其中,由所述第二通道位码指示的最低物理通道编号被重新编号为O。
15.根据权利要求12所述的装置,其中,所述发送器还配置成在在所述互连线上发送启动符号和发送唤醒序列之间交替。
16.根据权利要求12所述的装置,其中,所述接ロ包括的所述发送模块的数量与所述接口中的所述接收模块的数量不同。
17.根据权利要求12所述的装置,其中,连接到所述装置以用于数据接收的通道的所述第一数量与所述接ロ中的接收模块的数量不同。
18.根据权利要求13所述的装置,其中,连接到所述装置以用于数据发送的通道的第ニ数量与所述接ロ中的发送模块的数量不同。
19.根据权利要求12所述的装置,其中,所述发送模块配置成发送携带相应物理发送通道的标识的训练序列。
20.根据权利要求12所述的装置,其中,所述接收模块配置成接收训练序列,该训练序列携帯与所述装置所连接的另ー装置关联的相应物理发送通道的标识,并且所述接收器使用所述标识来产生所述第一通道位码。
21.根据权利要求20所述的装置,其中,所述接收器配置成基于相应物理发送通道的所述标识重新编号被连接的接收通道,其中由所述标识指示的最低物理通道编号被重新编号为O。
22.一种用于第一装置和第二装置之间的互连线的链路启动的方法,所述方法包括 通过所述互连线在所述第一装置和所述第二装置之间建立数据通信; 在从所述第一装置到所述第二装置的第一发送方向上,确定所述互连线上的第一数量的被连接的通道; 在从所述第二装置到所述第一装置的第二发送方向上,确定所述互连线上的第二数量的被连接的通道;以及 对所述第一数量的被连接的通道和所述第二数量的被连接的通道独立地重新编号。
23.根据权利要求22所述的方法,其中,被连接的通道的所述第一数量不同于被连接的通道的所述第二数量。
24.根据权利要求22所述的方法,其中,所述第一装置和所述第二装置的至少ー个装置使其可用的物理发送通道和物理接收通道的子集被连接。
25.根据权利要求22所述的方法,其中,所述第一装置在第一组物理通道上发送携帯通道标识的第一训练序列。
26.根据权利要求25所述的方法,其中,所述第二装置使用所述第一训练序列以确定所述第一数量的通道中的哪些通道被连接。
27.根据权利要求26所述的方法,其中,所述第二装置从O开始重新编号所述第二装置的被连接的接收通道。
28.根据权利要求27所述的方法,其中,所述第二装置发送含有指示所述第一数量的通道中的哪些通道被连接的码的第二训练序列。
29.根据权利要求28所述的方法,其中,所述第一装置使用所述第二训练序列中的所述码以从O开始重新编号所述第一装置的第一数量的被连接的通道。
30.根据权利要求29所述的方法,其中,所述第一装置通过所述第一数量的被连接的通道发送第三训练序列。
全文摘要
描述了与互连线相关的链路启动的系统、方法和装置。例如,通过在初始搜索过程之后对所连接的通道进行独立的重新编号,来支持不对称的通道连接。例如,通过在装置之间的互连线上在发送启动序列和唤醒序列之间进行交替,来支持装置的低功率、休眠状态。
文档编号G06F13/38GK102656574SQ201080055040
公开日2012年9月5日 申请日期2010年11月23日 优先权日2009年12月4日
发明者安德烈·拉杜莱斯库, 彼得·范登哈迈尔, 拜平·巴拉克李施南 申请人:意法爱立信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1