高性能光中继器的制造方法_3

文档序号:9930904阅读:来源:国知局
Detect状态期间监测链路的预定义时间的时期地出现并且可以是预定义时间的倍数。
[0084]在一个实现中,HPI可以支持在带内复位时重新初始化而没有通过接收代理对于进入信令筛选通路来改变终端值。信令可以用于识别好的通路。作为示例,可以对于要由传送器设备发送以便于链路的发现和配置的预定义信号集中的任一个来筛选通路。在一个示例中,可以定义超序列,其对应于一个或多个初始化或重新初始化任务。预定义序列可以包括EIE0S,后跟额外序列数据。在一些实例中,当通路的任一侧上的每个设备变得活跃时,设备可以开始发送超序列,其对应于特定初始化状态等。在一个实施例中,可以支持两个类型的引脚复位;上电(或“冷”)复位和热复位。由软件发起或在一个代理上起源(在物理或另一个层中)的复位可带内传递到另一代理。然而,由于使用嵌入式时钟,带内复位可使用有序集(例如特定电气有序集或E10S)通过到另一个代理的传递来处理。
[0085]有序集可以在初始化期间发送并且PHY控制序列(或“阻断链路状态”)可以在初始化后发送。阻断链路状态可以防止链路层发送flit。作为另一个示例,可阻止链路层业务发送一些NULLflit,其可在接收器处被抛弃。
[0086]在一个实施例中,链路层阻断控制序列(即阻断链路状态(BLS)或LOc状态)可以包括定时状态,在其期间链路层flit被拖延而PHY信息被传递到远程代理。在这里,传送器和接收器可起动块控制序列定时器。并且在定时器到期时,传送器和接收器可以退出阻断状态并且可采取其他动作,例如退到复位、退到不同链路状态(或其他状态),其包括允许跨链路发送flit的状态。
[0087]在一个实施例中,可以提供链路训练并且其包括发送扰乱训练序列、有序集和控制序列中的一个或多个,例如连同定义的超序列。训练序列符号可包括标头、保留部分、目标延时、配对数、物理通路映射代码参考通路或一组通路和初始化状态中的一个或多个。在一个实施例中,除其他示例外,标头可以与确认(ACK)或否定确认(NAK) —起发送。作为示例,训练序列可作为超序列的部分被发送并且可被扰乱。
[0088]在一个实施例中,有序集和控制序列未被扰乱或交错并且在所有通路上等同地、同时且完全被传送。有序集的有效接收可包括检查有序集的至少一部分(或对于部分有序集是整个有序集)。有序集可包括电气有序集(E0S),例如电气闲置有序集(E1S)或EIE0S。超序列可包括快速训练序列(FTS)或数据序列的开始(SDS)。这样的集和控制序列可以被预定义并且可具有任何模式或十六进制表示,以及任何长度。例如,有序集和超序列可以是具有8个字节、16个字节或32字节等的长度。作为示例,FTS可以另外在退出部分宽度传送链路状态期间用于快速位锁定。注意FTS定义可根据通路并且可使用FTS的旋转版本。
[0089]在一个实施例中,超序列可以包括EOS(例如EIE0S)插入训练序列流中。在信令开始时,在一个实现中,通路采用交错方式上电。然而,这可导致在一些通路上在接收器处看到初始超序列被截短。然而,超序列可以在短间隔(例如,近似一千个单位间隔(或~1KUI))上重复。训练超序列可另外用于倾斜校正、配置中的一个或多个并且用于传递初始化目标、通路映射等。除其他示例外,EIEOS可以用于将通路从无效转变成有效状态、筛选好的通路、识别符号和TS边界中的一个或多个。
[0090]转向图9,示出示例超序列的表示。例如,可以定义示范性检测超序列905。检测超序列805可以包括单个EIEOS (或其他E0S)的重复序列,后跟预定义数量的特定训练序列(TS)的实例。在一个示例中,EIEOS可以被传送,紧跟TS的七个重复实例。当七个TS中的最后一个被发送时,EIEOS可以再次被发送,后跟TS的七个额外实例,等等。该序列可以根据特定预定义频率而重复。在图9的示例中,EIEOS可以近似每一千UI (~1KUI)—次地重新出现在通路上,后跟检测超序列905的余下部分。接收器可以就重复检测超序列905的存在监测通路并且在证实超序列905可以断定远程代理存在、在通路上添加(例如,热插拔)、唤醒或重新初始化等时监测通路。
[0091]在另一个示例中,另一个超序列910可以定义成指示轮询、配置或回环状况或状态。如与示例检测超序列905 —样,链路的通路可以被接收器就这样的轮询/配置/循环超序列910来监测以识别轮询状态、配置状态或回环状态或状况。在一个示例中,轮询/配置/循环超序列910可以以EIEOS开始,后跟预定义数量的TS的重复实例。例如,在一个示例中,EIEOS可以后跟TS的三^^一个(31)实例,其中除其他示例外,EIEOS近似每四千个UI (~4KUI)地重复。
[0092]超序列(例如检测超序列905和轮询/配置/循环超序列910等)可以潜在地大致在链路的整个初始化或重新初始化中发送。接收器在接收并且检测特定超序列时在一些实例中可以通过在通路上对传送器呼应相同超序列而作出响应。特定超序列被传送器和接收器的接收和证实可以充当握手来确认通过超序列传递的状态或状况。例如,这样的握手(例如,使用检测超序列905)可以用于识别链路的重新初始化。在另一个示例中,这样的握手除其他示例外还可以用于指示电气复位或低功率状态的结束,从而导致对应通路被重新唤起。电气复位的结束可以例如从各传送检测超序列905的传送器与接收器之间的握手识别。
[0093]在另一个示例中,可以就超序列来监测通路并且这些通路使用超序列连同除其他事件外还对于检测、唤醒、状态退出和进入来筛选通路。超序列的预定义和可预测本质及形式可以进一步用于执行这样的初始化任务,如位锁定、字节锁定、去抖、解扰、倾斜校正、自适应、延时固定、协商延迟和其他潜在使用。确实,通路可以就这样的事件被大致持续监测以加快系统对这样的状况作出反应并且处理这样的状况的能力。在一些情况下,超序列可以在控制窗口(例如,LOc控制窗口)内发送以除其他示例外还触发链路状态转变。
[0094]训练序列(TS)在一些实例中可以包括标头和各种其他字段(例如,有效载荷),其可以用于传递信息连同链路的初始化。例如,在一个示例中,除其他字段外还可以包括对于目标延时、状态、通路配对数、通路映射的字段。在一些实现中,TS的部分可以例如被随机或伪随机二进制序列(PRBS)扰乱。在一个示例中,TS标头可以作为明文被保存而TS的余下部分(或有效载荷)除其他示例外例如通过使TS的那些部分与PRBS进行XOR而被扰乱。
[0095]在一个实现中,TS在长度上可以是十六(16 )个字节并且TS标头可以占据TS的第一字节(即,字节O)。TS有效载荷可以被扰乱并且占据余下的十五个字节。在一个示例实现中,TS尾部或后缀可以包括TS的最后几个字节。例如,在一个示例中,扰乱同步字段可以占据TS的至少三个字节,例如TS的字节6-8。TS的尾位(例如,字节9-15)在该特定实现中可以作为保留位被维持。字节6-15中的位可以全部设置成O。
[0096]在一些实现中,代替对于关键初始化参数的TS有效载荷或除其之外,HPI还可以支持使用TS标头。在一些实现中,TS有效载荷可用于交换初始化参数,像ACK和通路号。还可使用用于传递通路极性的DC级。然而,在一些实现中,HPI可以在TS标头中对关键参数实现DC平衡代码。例如,在其中TS标头未被扰乱的实例中,可以定义可用TS标头代码使得数字“I”大致等于在TS标头字段中出现的数字“O”。DC平衡可以通过扰乱TS有效载荷的位(通过对随机或伪随机二进制序列和位进行X0R)而在TS的整个余下部分(例如,TS有效载荷)中实现。
[0097]在一个示例实现中,PRBS序列可以采用至少23个位(PRBS23)而被利用。PRBS可以根据特定选择的多项式生成。在一个示例中,PRBS可以由相似位大小、自播的存储元件(例如线性反馈移位寄存器(LFSR))生成。LFSR可以是23位Fibonacci LFSR,其能够生成在长度上超过8Mb的PRBS序列。PRBS可以在序列结束后重复。在一些实现中,PRBS23序列的整体可以在例如在HPI中链路的初始化中使用的超序列中所包括的训练序列的扰乱中使用。
[0098]尽管可以使用全长的PRBS序列,在一些实现中,HPI可以支持允许使用长度变化的可用PRBS序列(例如,使用仅仅PRBS23序列的一部分)。在一些示例中,设备的控制器可以规定仅仅使用PRBS序列的全长的一部分。这除潜在其他应用外例如在其中期望位序列可重复性的测试应用中可以是可取的。基于软件的控制器可以规定要应用的PRBS的变化长度。例如,设备的B1S可以规定要在链路上应用的PRBS长度。在一些实现中,PRBS序列全长的使用可以是默认设置,例如以便使冗长PRBS序列的益处最大化。
[0099]传送链路状态(TLS)中的通路业务和训练序列可以用具有特定最小长度(例如,23个位)的PRBS扰乱。应用于流的起始种子可以在通路之间变化来提高链路上PRBS的电气益处。在一个示例实现中,PRBS可以由实现6抽头发生器多项式(例如(x23+x21+x16+xs+x5+x2+l))的 23 位 Fibonacci LFSR 生成。
[0100]对于通路号对模数8的起始(在扰乱器/解扰器初始化时)种子值可以是任意值,例如8个十六进制值,其中每一个与链路中通路的2或3关联。这样的种子的使用可以导致通路之间PRBS的旋转(或交错)。LFSR的数量可以通过使用偶数通路PRBS可以从奇数通路的PRBS的XOR得到这一性质而减少。训练序列的EIEOS和标头可未被扰乱。每个通路上超序列的进入点可以在每个通路上的不同点处发起(例如,其中传送器开始驱动)。这可以能够以交错方式打开通路以便减少功率递送系统中的噪声。确实,每个通路可以具有它自己的LFSR的实例。交错次数可以变化打开的通路的数量并且在初始化期间可取决于实现。这些可以在定时图中规定并且对于部分传送宽度状态的定时器轮廓(timer profile)退出。此外,快速训练序列(FTS)(也在下文论述)也可以按通路旋转。
[0101 ] 在一些实例中,扰乱可以减少传送器处的电力供应噪声并且在接收器处提供更丰富的频谱。扰乱器可以被传送的第一 EIEOS初始化。解扰器可以例如通过自播种而同步到扰乱器。例如,接收的23位模式可以嵌入TS字段中作为种子。在一个示例中,23位种子可以从扰乱同步字段的位的扰乱来识别。接收器可以使用种子值来识别用于扰乱接收TS的PRBS的特定位点。例如,接收器可以识别种子并且将种子加载到它自己的LFSR内来同步到传送器所使用的PRBS。在一些实例中,接收器可读取超序列中的多个扰乱同步字段或多个TS以便播种它自己的LFSR。然而,在检测并且同步到传送器的PRBS时,除其他示例外,接收器可以在链路的初始化期间对TS的余下部分以及在超序列中发送的所有后续TS解扰。
[0102]超序列可以用于便于通路上的位锁定和同步。如上文论述的,超序列的至少一部分可以被扰乱。返回图9的论述,检测超序列可以被接收器用于检测或锁定接收位流的位和字节边缘并且识别在超序列中发送哪些字节。例如,EIEOS和TS标头可以未被扰乱以在更快速锁定到超序列方面帮助接收器。另外,超序列可以定义成允许EIE0S(以及超序列的开始)以相对短的频率重复(例如,以更快地允许接收器有在第一 EIEOS未被准确检测的情况下检测EIEOS的另一个机会)。例如,在一个示例中,超序列可以定义成每IKUI或更短地重复。这样的超序列可以进一步在初始化期间允许更随机化的转变,以及简化TS锁定、延时固定及其他动作。
[0103]另外,使得EIEOS和TS标头未被扰乱可以允许出现字节锁定并且准许接收器能够识别后续字节和符号(其包括扰乱TS符号)的位点。例如,未被扰乱TS标头的边缘可以被识别并且由此也识别扰乱同步字段的开始。在扰乱同步字段中检测到PRBS种子时,接收器将知道接着的PRBS模式值并且将也能够预测后续扰乱同步字段值的值。因此,接收器在锁定到PRBS时可以进一步使用扰乱同步字段值以促进其他配置任务,例如自适应、倾斜校正和其他任务。
[0104]在多通路链路上,符号可以由传送器在所有通路上同时发送,然而,链路对链路倾斜可以随着一些符号在相同时间未到达接收器而显现。除其他示例外,倾斜源可以包括例如芯片差分驱动器和接收器、印刷线路板阻抗变化、通路线长度不匹配。在一个实施例中,HPI提供先进逻辑来对通路倾斜校正。作为示例,TS锁定后的TS边界可以用于对通路倾斜校正。例如,TS锁定可以用于检测倾斜(例如,一个通路上的TS比链路通路中的另一个上的另一个TS更晚到达)。EIEOS也可以用于检测倾斜。另外,使用同步PRBS模式的可预测性,HPI的一些实现可通过在有效载荷的特定点期间比较LFSR中的通路PRBS模式来进行倾斜校正。
[0105]在自适应的情况下,通路的电气特性可以基于例如在传送器与接收器之间传送的样本数据而在传送器与接收器之间调整。例如,接收器自适应可以包括传送器用在接收器处的调整接收器处的电气特性来使通路适应于链路的逻辑向接收器发送数据模式。传送器自适应可以牵涉传送器向接收器发送样本数据以及接收器向传送器发送可以被传送器使用以在传送器处做出调整来更改通路的反馈。接收器可以基于在传送器处做出的调整而继续向传送器发送反馈。
[0106]在一个示例中,自适应样本数据可以通过扰乱TS数据体现。作为一个示例,固定UI模式可用于用到自适应状态的旁路扰乱。但通过用PRBS23扰乱TS,可在没有旁路的情况下进行接收器自适应。另外,在时钟恢复和采样期间偏移和其他错误可以减少。通过长PRBS序列(例如,PRBS23)提供的随机性可以证明是自适应的有效样本流。此外,在一些实现中,通路可以设置成采用慢模式操作以在分析并且适应于在通路上接收的样本数据方面帮助逻辑。在通过自适应批准通路的特性时,更改的特性可以被设置并且应用于链路的初始化。
[0107]一旦链路被成功校准和配置,初始化可以结束并且转变到传送链路状态(TLS),其中flit开始被传送。在HPI的一些实现中,转变到TLS可以基于系统上的行星对准。例如,行星对准信号可以指示转变到TLS的机会。代替在超序列EIEOS或TLS的边缘处转变,HPI的一些实现可以使用根据行星对准发送的数据序列的开始(SDS )符号以结束初始化并且转变到TLS。在一个示例中,SDS可以在初始化位流中的任何地方发送。因此,接收器可以对于SDS来连续扫描接收位以根据行星对准加速初始化的结束。
[0108]在一个示例中,示例EIEOS可以仿效低频时钟信号,例如重复FFOO信号。在一些实现中,示例SDS可以包括重复FO信号。因此,在这样的实例中,检测在EIEOS中间发送的SDS可以相对简单地识别,因为在EIEOS内混叠的风险可以是最小的。然而,TS有效载荷的扰乱以及所得的TS数据的随机性可以引入一些形式的SDS混叠的风险。在一些实现中,可以生成PRBS,其将从未在相应数量位的任何特定跨距上使SDS或EIEOS的一部分混叠。此夕卜,可以在TS上提供尾部或后缀,例如使用TS的最后的字节或使PRBS的有效载荷归零以促使PRBS在后缀中是进行XOR O值并且在TS结束时在明文中有效呈现PRBS。
[0109]在一些实现中,在从配置状态退到TLS,传送和接收LFSR由在传送器与接收器之间交换的SDS重新初始化。例如,八个起始PRBS种子可以分别应用于通路0...7、12…19和8…11(例如,仅前四个)。此外,也可以确定链路的通路逆转和通路的极性反转,例如除其他示例外通过将EIEOS之后的TS的未被扰乱的第一个字节(例如TS标头)与可能值集比较。
[0110]在去抖情况下,由于多种状况而可以在通路上引入瞬态。例如,设备的添加或上电可以将瞬态引入通路上。另外,因为差的通路质量或电气失效,可以在通路上呈现电压不规则性。在一些情况下,通路上的“跳动”可以产生假阳性,例如假EIE0S。然而,在一些实现中,尽管超序列可以以EIEOS开始,定义的超序列可以进一步包括数据的额外序列以及EIEOS将重复的定义频率。因此,甚至在通路上出现假EIEOS的情况下,接收器处的逻辑分析器可以通过证实继假EIEOS之后的数据来确定EIEOS是假阳性。例如,如果预期TS或其他数据未跟随EIEOS或EIEOS未在预定义超序列中的一个的预定义频率中的特定频率内重复,接收器逻辑分析器可未能证实接收的EIE0S。因为在将设备添加到线路时可以在起动时出现跳动,还可以产生假阴性。例如,在添加到一组通路时,设备可以开始发送检测超序列905来提醒链路的另一侧它的存在并且开始链路的初始化。然而,在通路上引入的瞬态可损坏初始EIE0S、TS实例和超序列的其他数据。然而,除其他示例外,接收设备上的逻辑分析器可以继续监测通路并且在重复检测超序列905中识别由新的设备发送的下一个EIE0S。
[0111]在一个示例中,传送设备可以尝试进入特定状态。例如,传送设备可以尝试激活链路并且进入初始化状态。在另一个示例中,除其他示例外,传送设备可以尝试退出低功率状态,例如LI状态。在LI状态的一些实例中,LI状态可以充当功率节省、闲置或待命状态。确实,在一些示例中,主电力供应可在LI状态中保持活跃。在退出LI状态中,第一设备可以发送与从LI状态转变到特定其他状态(例如LO传送链路状态(TLS))关联的超序列。超序列像在其他示例中一样可以是EOS的重复序列后跟预定数量的TS,使得EOS以特定预定义频率重复。在一个示例中,检测超序列可以用于退出LI或其他低功率状态。接收设备可以接收并且证实数据,从而识别超序列,并且接收设备可以通过将超序列发回传送设备而完成与传送设备的握手。
[0112]随着传送和接收设备两者都接收相同超序列,每个设备可以进一步使用超序列执行额外初始化任务。例如,每个设备可以使用超序列进行去抖、位锁定、字节锁定、解扰和倾斜校正。额外初始化信息可以通过超序列中包括的TS的标头和有效载荷来传递。当链路被初始化时,起始数据发送(SDS)序列在一些情况下可以发送,从而中断超序列(例如,在TS或EIEOS中间发送的)并且链路的任一侧上的相应设备可以准备同步进入TLS。在TLS或“L0”状态中,超序列可以结束并且flit可以使用协议栈的链路层传送。
[0113]尽管在TLS中,可仍然对物理层提供执行控制任务的有限机会。例如,可以在LO状态期间在一个或多个通路上识别位错误和其他错误。在一个实现中,可以提供控制状态LOc0 LOc状态可以作为TLS内的周期性窗口而提供以允许在通过链路层发送的flit的流之间发送物理层控制消息。例如,如在图10中图示的示例中表示的,LO状态可以细分成LOc间隔。每个LOc间隔可以以LOc状态或窗口(例如,1005)开始,其中可以发送物理层控制代码和其他数据。LOc间隔的余下部分(例如,1010)可以专用于发送flit。LOc间隔的长度和每个间隔中LOc状态可以除其他示例外例如由一个或多个设备中的B1S或另一个基于软件的控制器通过编程定义。LOc状态可以以指数方式短于LOc间隔的余下部分。例如,在一个示例中,除其他示例外,LOc可以是8UI,而LOc间隔的余下部分是约4KUI。这可以允许有窗口,其中可以发送相对短的预定义消除而大致未打断或浪费链路数据带宽。
[0114]LOc状态消息可以在物理层级传递多种状况。在一个示例中,一个设备可以例如基于位错误或超出特定阈值数量的其他错误来发起链路或通路的复位。这样错误也可以在LOc窗口(例如在前面的LOc窗口)中传递。也可以利用LOc状态来实现其他带内信令,例如供在帮助或触发其他链路状态之间的转变中使用的信令。在一个示例中,LOc消息可以用于使链路从活跃LO状态转变到待命或低功率状态,例如LI状态。例如,特定LOc状态可以用于传递LI进入请求、复位请求或其他请求。除其他示例外,请求可以牵涉发送限定成指示从链路状态进入或退出的对应超序列。
[0115]除使用LOc代码的握手外(或作为其的备选),可以发送超序列(例如检测超序列)连同重设链路和使其重新初始化。另外的握手可以在设备之间出现,如超序列由第一设备发送并且被第二接收设备呼应。超序列可以如上文描述的那样用于帮
当前第3页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1