CN112887234A - 通信链路重新训练 - Google Patents
通信链路重新训练 Download PDFInfo
- Publication number
- CN112887234A CN112887234A CN202011025406.7A CN202011025406A CN112887234A CN 112887234 A CN112887234 A CN 112887234A CN 202011025406 A CN202011025406 A CN 202011025406A CN 112887234 A CN112887234 A CN 112887234A
- Authority
- CN
- China
- Prior art keywords
- link
- tap
- communication
- identifier
- retraining
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/60—Receivers
- H04B10/66—Non-coherent receivers, e.g. using direct detection
- H04B10/69—Electrical arrangements in the receiver
- H04B10/697—Arrangements for reducing noise and distortion
- H04B10/6971—Arrangements for reducing noise and distortion using equalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/07—Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems
- H04B10/073—Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an out-of-service signal
- H04B10/0731—Testing or characterisation of optical devices, e.g. amplifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/07—Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems
- H04B10/075—Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an in-service signal
- H04B10/077—Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an in-service signal using a supervisory or additional signal
- H04B10/0775—Performance monitoring and measurement of transmission parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/40—Transceivers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/20—Arrangements for detecting or preventing errors in the information received using signal quality detector
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
- H04L25/03012—Arrangements for removing intersymbol interference operating in the time domain
- H04L25/03114—Arrangements for removing intersymbol interference operating in the time domain non-adaptive, i.e. not adjustable, manually adjustable, or adjustable only during the reception of special signals
- H04L25/03133—Arrangements for removing intersymbol interference operating in the time domain non-adaptive, i.e. not adjustable, manually adjustable, or adjustable only during the reception of special signals with a non-recursive structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03006—Arrangements for removing intersymbol interference
- H04L25/03343—Arrangements at the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/03—Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
- H04L25/03878—Line equalisers; line build-out devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Communication Control (AREA)
Abstract
本文描述的示例涉及确定设备是否能够重新训练另一设备的一个或多个组件的设置。一些示例包括:通过以下操作进行链路重新训练:由第一设备中的接收机通过通道从第二设备中的发射机接收信号,该信号包括识别重新训练链路的能力的第一通信;从第一设备发送第二通信,其包括能力待调整的第二设备的一个或多个组件和对修改一个或多个组件的一个或多个参数的请求;以及在第一设备处接收识别重新训练的状态的第三通信。在一些示例中,一个或多个组件包括均衡器,并且一个或多个参数包括至少一个抽头设置。在一些示例中,一个或多个参数包括前体、主体或后体均衡设置。
Description
背景技术
光学模块是用在高带宽数据通信应用中的可热插拔光学收发机。光学模块典型地具有对芯片(例如,主机专用集成电路(ASIC))的电连接。该电连接是具有每通道50Gb/s的当前速率的高数据率串行链路(50GAUI-1)(称为xGAUI-n,其中,AUI代表附着单元接口,x是以吉比特每秒(Gbps)为单位的每通道的数据率,并且n是通道的数量)。50GAUI-1是用于芯片到芯片或芯片到模块互连的单通道串行链路。然而,光学模块仅是使用串行链路的设备的一个示例。电信号接收和处理模块也可以使用串行链路。
处于非常高数据率的发射机与接收机之间的串行通信使用均衡以减轻频率依赖信号衰减。可以在发射机(Tx)处和/或接收机(Rx)处应用均衡。典型地,使用发射机和接收机均衡的组合。
附图说明
图1描绘示例系统。
图2A-图2B描绘示例系统。
图3A描绘下一页面的字段的示例内容。
图3B示出示例第二下一页面格式。
图4A描绘链路训练的过程序列。
图4B描绘可以用于链路重新训练操作的示例序列。
图5A描绘均衡器的示例。
图5B描绘四抽头前馈均衡器(FFE)的结构的功能模型。
图6A和图6B描绘示例过程。
图7A和图7B描绘示例过程。
图8描绘网络接口。
图9描绘示例交换机。
图10描绘示例系统。
图11描绘环境。
具体实施方式
在网络连接的设备当中,对于与彼此进行通信的设备,发现公共通信能力和参数。自动协商(AN)是链路的端点共享关于与它们的通信相关的各种能力的信息的过程。关于AN的示例,参见电气和电子工程师协会(IEEE)802.3-2018的条款73。链路伙伴设备经由交换基础页面而交换能力和操作模式,并且如果被请求,则链路伙伴设备交换下一页面。根据IEEE 802.3-2018的条款73,每个设备将其数据率能力的列表发送到其链路伙伴。自动协商可以确定最高公共能力,并且最高公共能力用于链路伙伴设备之间的通信。在两个设备接收到它们的链路伙伴的能力列表之后,设备可以转移到最高公共数据率和特征能力。
链路训练是通过铜缆、背板或其他有线或无线信号传输介质连接的设备所使用的过程,通过该过程,高速串行链路上的发射机和接收机与彼此进行通信以调谐它们的均衡设置。例如,串行器/解串行器(SerDes)可以使用链路训练。链路训练赋能对于专用集成电路(ASIC)或其他设备中的每个信道调谐有限冲击响应(FIR)滤波器,以实现期望的误码率(BER)、眼图大小、信噪比(SNR)或链路错误(例如,不可纠正的和可纠正的前向纠错(FEC)错误、伪随机比特序列(PRBS)错误、物理编码子层(PCS)错误)。在一些示例中,接收机在将均衡应用于信号之后检查眼图,并确定眼图高度和/或眼图宽度是否为可接受的。接收机可以因为眼图是可接受的所以作出对终止链路训练的判决,或者可以保持训练以进一步优化眼图。如果接收机请求其链路伙伴发射机改变前体(precursor)、主体(main cursor)或后体(post-cursor)均衡设置,则眼图检查过程再次开始。
由于链路伙伴都包括发射机和接收机,因此链路伙伴可以同时训练另一伙伴的发射机。在训练链路之后,两个设备开始使用优化的发射机设置发送正常数据流量。
背板和铜缆上的用于10Gb/s及以上的以太网(IEEE 802.3)标准包括PMD(物理介质依赖)控制功能,其使得能够调整发射机均衡设置作为链路训练的一部分。PMD控制功能使用基于握手的协议,以用于请求系数改变。协议由状态图(例如,IEEE Std 802.3-2012中的图72-4、72-5和72-6及其变型)描述。在用于多个PMD(例如,10GBASE-KR、40GBASE-KR4、40GBASE-CR4和100GBASE-CR10)的所批准的和草案的标准中引用这些状态图。
IEEE 802.3-2018条款73以及子条款73.7.4和73.7.5节以及表73-7阐述待测设备将在尝试验证自动协商过程所确定的链路状态之前延迟恰当量的时间。IEEE 802.3-2018条款72和73指定合适的链路训练时间。如果link_fail_inhibit_timer在链路处于活动之前已经超期(例如,信号被正确地解码),则链路失败。然而,在一些情况下,link_fail_inhibit_timer所设置的时间量可能不足以在链路上实现期望的误码率(BER),导致在正常操作期间的错误更多(例如,循环冗余校验(CRC)错误更多)。
本文对任何标准的引用指代任何版本(包括先前版本、当前和将来版本)以及其专有衍生。
各种实施例尝试至少在IEEE定义的链路训练时间可能不允许优化训练的情况下改进使用自动协商的链路质量。IEEE 802.3提议使用下一页面交换阶段的协商。关于下一页面消息的示例,参见IEEE802.3-2018的附录28C。在一些示例中,下一页面可以用以交换标识符标签、节能以太网(EEE)参数、操作参数和供应商特定信息。根据各种实施例,一个或这两个链路伙伴可以在自动协商期间使用下一页面交换以通告用于延长链路训练时间的能力和链路伙伴可以延长链路训练时间的时间量。在一些示例中,链路伙伴可以通告链路训练时间能够被延长的一个或多个时间量。链路伙伴可以协商将“link_fail_inhibit_timer”延长多少,以设置用于链路训练的时间量。在一些示例中,如果双方都通告用于进行该操作的能力,则使用两个延长时间的最高公分母并与链路失败禁止时间相加,以确定所允许的链路失败禁止时间的总量。然而,如果链路伙伴指示不支持延长链路失败禁止时间,则使用默认禁止时间(例如,IEEE 802.3默认link_fail_inhibit_timer)。
各种实施例可以用于通过铜电缆(例如,40GBASE-CR4或其衍生)在背板连接(例如,10GBASE-KRx或其衍生(其中,x是整数))或网络接口到网络接口连接的迹线上的芯片到芯片之间的链路训练或链路重新训练。各种实施例可以应用于处于10Gbps或更高的链路或通道速度或任何链路或通道速度。
各种实施例提供用于伙伴或端口协定延长IEEE定义的链路训练时间的方式,允许更优化的均衡器调谐。除了其他原因之外,专有“下一页面”的接收可以表示链路伙伴对延长随后链路训练阶段达所指定的时间的请求。可以在下一页面的字段中指定允许延长链路训练的最大时间量。例如,字段中的值表示超出IEEE定义的最大时间的要允许的附加时间。
许多SerDes在IEEE 802.3下所分派的时间中实现良好的Rx均衡(例如,眼图质量,信号完整性)具有困难。延长链路失败禁止时间可以用于链路训练的更多时间以改进链路。通过延长链路训练时间,可以使链路上的误码率(BER)最小化,使得在正常操作期间的错误更少(例如,CRC错误更少)。
链路训练适用于其他有线通信或连网系统,例如,但不限于FibreChannel、InfiniBand或串行附着小型计算机系统接口(SAS)。对于4级脉冲幅度调制(PAM)链路(例如,PAM4链路)、PAM4、PAM5、PAM6、n级PAM链路(其中,n是整数)、不归零(NRZ)线路码等,延长链路训练时间可以是有用的。
各种实施例提供可以在建立点对点链路之后的任何时间调用的协议。各种实施例至少提供允许在建立链路之后继续调谐。各种实施例可以用以将链路的调谐延长超越IEEE802.3所允许在自动协商之后用于链路训练的时间。在一些情况下,可以在建立链路之后使用协议以修改链路双方上的发送(Tx)均衡。一些实施例提供用于请求链路伙伴对链路伙伴的发送设置进行改变以优化本地接收机的能力。出于各种原因(例如,改变后的条件(例如,功率、电压、温度改变)、周期性改变和其他原因),链路调谐可能是期望的。各种实施例可以在链路完成之后提供延长的链路训练,而无论是否使用AN完成。延长的链路训练可以允许调谐链路伙伴发送均衡设置以及本地接收机均衡,使得潜在地改进调谐。链路训练可以从接收机的角度发生,所以发射机设置被请求改变。在一些示例中,可以在训练发生的同时发送数据,并且可以在重新训练期间使用训练数据图案。在链路重新训练期间,可以使用过渡密度信号或不同的单独的训练数据。
各种实施例可以使用链路层发现协议(LLDP)类型-长度-值(TLV)以请求对链路伙伴的发送均衡设置(例如,前、主、后)的增量改变。然而,不需要LLDP协议和TLV格式,并且可以使用任何类型的消息。例如,分组头可以用以传达发射机或接收机均衡器设置。例如,各种实施例可以使用用户数据报协议(UDP)分组交换以实现并使用延长的链路训练。延长的链路训练与用于本地接收机均衡的质量度量结合可以用以改进链路质量(例如,较低的误码率(BER))并减少接收机处所识别的链路错误(例如,前向纠错(FEC)或PCS)优于仅接收方优化。延长的链路训练或重新训练可以用以将链路的调谐延长超越IEEE 802.3(或其他标准或规范)允许用于链路训练的时间。
根据一些实施例,发起方设备可以使用LLDP兼容消息以传递或请求伙伴设备确定或检查接收到的信号特性是否已经漂移或信号质量是否为可接受的,并触发发起方设备或伙伴设备以执行重新训练。例如,根据一些实施例,基站或边缘或雾计算设备或任何类型的设备处的温度改变(例如,白天的热、或夜晚或白天的冷)可以触发均衡器设置的重新训练。
例如,支持使用有线或无线协议(例如,3GPP长期演进(LTE)(4G)或3GPP 5G)、户内(on-premises)数据中心、户外(off-premises)数据中心,边缘网络元件(比数据中心在物理上更靠近基站或网络接入点所提供的计算元件)、雾网络元件(比数据中心在物理上更靠近基站或网络接入点但更远离边缘网络所提供的计算元件)和/或混合数据中心(例如,使用虚拟化、云和软件定义的连网以穿过物理数据中心和分布式多云环境中交付应用工作负载的数据中心)的通信的基站可以应用链路训练时间延长和重新训练。网络或计算元件可以用在局域网(LAN)、城域网(MAN)、具有使用光纤链路连接的设备的网络、校园局域网(CAN)或广域网(WAN)中。
虽然可以支持较低的速度,但各种实施例可以用于50G SerDes速度或更高。
图1是示出网络接口控制器50中的以太网端口电路的框图。以太网端口逻辑包括介质接入控制(MAC)模块52、协调子层模块54和PHY模块56。PHY模块56可以包括物理介质附着(PMA)子层模块62、物理介质依赖(PMD)子层64、前向纠错(FEC)模块60和物理编码子层(PCS)模块58。
MAC模块52被配置为将数据传送出入PHY模块56。协调子层(RS)模块54可以提供映射操作,其协调介质独立接口(MII)处的信号与介质接入控制(MAC)-物理信令子层(PLS)服务定义。MAC模块52可以被配置为实现MAC层操作的各方面,并且RS模块54可以被配置为实现协调子层操作。
物理介质依赖(PMD)子层64可以负责对传输介质、介质依赖接口(MDI)80进行接口。物理介质附着(PMA)子层62可以执行发送、接收、信号检测、时钟恢复和偏斜对齐。PMD64和PMA 62可以被配置为通过MDI 80发送和接收串行数据。
在一些示例中,PMD 64、PMA 62a和/或62b可以包括或使用SerDes。在一些示例中,可以提供延长的链路训练和重新训练,以调整SerDes所使用的发送和/或接收均衡器的滤波器参数。例如,主机或网络接口中的处理器所执行的软件SerDes驱动程序可以用以改变发送均衡器参数。在一些示例中,硬件、软件和/或固件的任何组合可以用以管理和执行链路训练和/或链路重新训练。
在一些示例中(例如,对于100GBASE-CR1或100GBASE-KR1),FEC模块60可以对从PMD 64和PMA 62传递到PCS模块58的数据进行解码,或者对从PCS模块58传递到PMD 64和PMA 62a、62b的数据进行编码。在一些示例中,(例如,对于200G和400G模式),PCS模块58包括FEC模块60。前向纠错码可以改进处于较高线路速度的数据传输的可靠性。
在发送方向上,MAC模块52可以通过MDI 80接收要在介质接入控制(MAC)帧中发送的数据,并生成包括除了接收到的数据之外还有分组间间隙(IPG)、前导、帧开始定界符(SFD)、填充和循环冗余校验(CRC)位的MAC帧,然后将MAC帧传递到PHY模块56。PHY模块56可以对MAC帧进行编码,以用于通过MDI 80的可靠串行传输。
在接收方向上,MAC模块52可以通过数据总线从PHY模块56接收MAC帧。MAC模块52可以从PHY 56接受MAC帧,执行以太网帧检测和验证、循环冗余校验(CRC)验证、更新统计信息计数器、去除CRC、前导检测和移除以及帧开始定界符(SFD)检测和移除,并将包括用于其他协议的头的MAC帧的其余部分转发到下一层(例如,互联网协议(IP)层)以用于处理。
图2A示出用于网络接口控制器100与设备120之间的发射机-接收机对的简化示例。MDI 130通过在一个或多个通道上并行地传送数据,提供网络接口控制器100与设备120之间的链路。设备120可以是任何设备(例如,另一网络接口、网络接口卡(NIC)、交换机、路由器、服务器、主机计算平台等)。
网络接口控制器100可以包括用于网络接口控制器100与设备120之间的电链路的至少一个通道的主机接收机206和主机发射机208。设备120可以包括用于网络接口控制器100与设备120之间的电链路的模块接收机212和模块发射机210。
例如,NIC 100的链路训练控制器202可以用以通告并与模块120的链路训练控制器协商对链路训练时间的延长,反之亦然。链路训练控制器202也可以发起或管理链路重新训练操作,如本文所描述的那样。链路训练控制器可以实现为主机或网络接口中的驱动程序、微控制器或其他软件。
发射机(Tx)208/210或接收机(Rx)206/212可以使用SerDes对信号进行串行化或解串行化。当打开SerDes并接收到信号时,可以使用Rx调谐以恢复(clean-up)信号质量。当存在执行Rx调谐的时间限制时,信号将要在时间限制内传递到PCS层,并且如果链路是可接受的,则链路出现。如果链路未通过,则可以重新开始训练。在一些示例中,Tx 208-Rx 212和/或Tx 210-Rx 206可以利用独立Rx调谐。在一些实施例中,对于Tx 208-Rx 212和Tx210-Rx 206,用于执行均衡器调谐的时间量是相同的。
当使用自动协商以在两个以太网端口之间建立链路时,遵循IEEE定义的过程。首先,可以执行“基础页面”交换以确定公共能力并选择操作模式(例如,链路速度(例如,1000BASE-KX、10GBASE-KX4……100GBASE-CR4等)、FEC模式、暂停能力等)。接下来,可以进行任意长度下一页面交换阶段。可以使用下一页面交换,以通告IEEE能力以及非IEEE能力(例如,以太网联盟模式)。在下一页面交换的结束时,可以配置所选择的操作模式,并且可以开始链路训练阶段。在该链路训练阶段期间,可以进行改变对等发送(例如,Tx 208或Tx210)均衡设置,在接收机(例如Rx 206或Rx 212)处监控对链路质量的影响而且调整均衡设置以优化链路。
在一些示例中,可以通过指定更早的开始时间并使用默认链路训练时间来延长链路训练时间。例如,设备可以通过协商距链路训练时间的默认开始的偏移(例如,使用AN、下一页面交换或专有交换方案)协商用于链路训练的开始时间,其中,偏移指示开始链路训练的链路训练时间的默认开始之前的时间量。设备可以指示用于在链路训练时间的默认开始之前开始链路训练的能力,指示在开始链路训练的链路训练时间的默认开始之前的最大时间量,并选择开始链路训练的链路训练时间的默认开始之前的时间量中的较小者。
设备之间的通信可以使用任何协议而产生。例如,以太网帧可以由NIC 100发送到设备120。例如,以太网帧可以由设备120发送到NIC100。以太网帧可以包括以下中的一个或多个:前导、帧开始定界符(SFD)、目的地MAC地址、源MAC地址、EtherType字段、长度字段、帧校验序列(例如,循环冗余校验(CRC))和净荷。
从任一端口的角度来看,存在用于链路训练的四种方法,但可以使用更多或更少的方法。
(1)本地端口既不发送专有下一页面也不接收它。这导致没有链路训练阶段的延长。
(2)本地端口发送专有下一页面,但未从链路伙伴接收它(响应于此,它将接收NULL页面)。这指示链路伙伴要么不能够要么不愿意延长链路训练时间。这导致没有链路训练阶段的延长。
(3)本地端口不能够或不愿意延长链路训练时间,因此不发送专有下一页面,而是从链路伙伴接收它(它将以NULL页面进行响应)。这导致没有链路训练阶段的延长。
(4)本地端口既发送又接收专有下一页面,指示这两个端口能够并且愿意延长链路训练时间。用于延长链路训练阶段的时间量定义为两个端口所通告的时间中的最小值。在情况(4)下,将允许随后链路训练阶段持续得比IEEE定义的最大时间更长(如果必要)。如果仍然超过时间,则将重新开始自动协商。
根据各种实施例,链路训练控制器在自动协商的下一页面交换阶段期间通告延长的链路训练能力。存在通告该能力所需的两个下一页面。首先,使用消息代码#1随<tbd>的Vendor OUI发送Organizationally Unique Identifier(OUI)标签式格式化的第一下一页面。接下来,通过以毫秒为单位的所请求的时间的延长发送OUI标签式未格式化第二下一页面。在图3A中示出用于第一下一页面的示例格式。
在图3A中,以下是下一页面的字段的示例内容。
图3B示出示例第二下一页面格式可以是如下的。字段的示例内容可以是如下的。
D0_3:0001b(指示“延长的链路训练时间”值跟随)。
D4_8:00000b
D9_10:Vendor OUI<tbd>位[1:0]
D11:T
D12_13:00b
D14:ACK
D15:NP
D16_47:用于关于链路训练而延长的以毫秒为单位的时间(无符号32位值)。在一些示例中,该值是用于链路训练的绝对时间,其可以小于、等于或大于IEEE 802.3默认链路训练时间。
在一些示例中,如果链路的一方不支持“供应商链路训练延长能力”,则它将以NULL页面对OUI标签式格式化的“下一页面”进行响应。这样可以具有效果:对于“Time_in_ms”字段通告“0”的值。
在一些示例中,如果链路的一方不支持选项“延长的链路训练时间”,则它将以NULL页面对OUI标签式未格式化的下一页面进行响应。这样可以具有效果:对于“Time_in_ms”字段通告“0”的值。
允许用于链路训练的时间解析为链路的两方所通告的值的最高公分母。如果所解析的时间小于IEEE(或以太网联盟)定义的链路训练时间,则改为使用IEEE(或以太网联盟)定义的链路训练时间。
下一页面中所指定的链路训练时间可以是:(1)待与默认IEEE链路训练时间相加的值(例如,相对值),或(2)要使用的绝对链路训练时间。在(1)中,不存在所协商的链路训练时间可以小于默认IEEE链路训练时间的可能性,在(2)中,链路训练可以小于默认IEEE链路训练时间。
在一些示例中,默认链路训练时间可以设置为更高或更低的值,以延长或缩短链路训练时间。例如,AN、下一页面交换或专有交换方案可以用以设置或改变默认链路训练时间。在一些示例中,在设置或改变默认链路训练时间的情况下,可以使用或可以不使用链路训练时间的延长或缩短。
接下来参照图2B,在一些实施例中,在链路训练完成之后,与任何通道关联的微控制器244(例如,244-0至244-N中的任何一个)可以发起重新训练。例如,设备驱动程序、平台设备或软件可以触发链路重新训练的协商和实现。可以每SerDes通道独立地执行链路重新训练。各种实施例提供协议,以建立重新训练,提供与重新训练有关的请求,或接收与重新训练有关的响应。协议栈(例如,层3)可以将消息识别为指示建立、请求或响应。
在一些示例中,各种消息可以用以发起(建立)链路训练以指示所支持的抽头,请求应用特定均衡器抽头参数(例如,保持,递增或递减Tx抽头#x)。在一些示例中,代替递增或递减,可以应用一个或多个增加或一个或多个缩减。各个实施例提供指示何时使用特定均衡器抽头参数的响应(例如,Tx抽头#x已更新)。可以使用有符号整数值(-3..0..+3)定义Tx抽头。可以通过负值识别预加重抽头,而可以通过正值识别后加重抽头。可以通过值零(0)识别主抽头。
在一些情况下,并非所有抽头可以是可由给定的SerDes或其控制器重新训练的。在一些示例中,发射机可以通告能够通过链路重新训练进行调整的任何抽头。可以在初始建立消息中将所支持的抽头传递到链路伙伴。建立消息可以识别将成为链路伙伴进行的抽头改变请求的对象的本地Port_id。可以在任何响应中提供Port_id。在一些示例中,Port_id值可以是本地设备可以用以映射到本地端口的任何8位无符号值(或任何其他值(例如,32位))。由于链路在使用该协议之前出现,因此认为双方对端口所使用的SerDes通道的数量和映射达成一致。
可以通过包含所支持的Tx抽头的映射的8位无符号值识别所支持的抽头。例如,从位到抽头编号的映射如下:
抽头编号 | 位 |
-3 | 0 |
-2 | 1 |
-1 | 2 |
0 | 3 |
1 | 4 |
2 | 5 |
3 | 6 |
对于PAM4编码的信号,Tx抽头可以如下识别:
Pre2=-2
Pre1=-1
Main=0
Post1=1
Post2=2.
然而,可以使用其他类型的格式化。对改变不支持的抽头的请求可以视为协议错误,并且可以被忽略。
如果链路在使用该协议之前出现,则认为双方对端口所使用的SerDes通道的数量和映射达成一致。
在一些示例中,用于SETUP的消息格式可以包括:{SETUP,Port_id,<supported_Taps>}。
为了识别作为请求或响应的对象的抽头,可以在完整请求或响应消息中包括以下识别数据:
{Port_id,Logical_lane_id,Tap_id,REQ/RSP},其中:
Port_id是在建立消息中接收到的本地Port_id
Logical_lane_id是从0到15的值,指示端口上的逻辑通道
Tap_id是对象抽头编号(例如,-3至+3)
SETUP/REQ/RSP/TRAINED(0-3)将该消息识别为建立(0)、请求(1)、响应(2)或已训练(3)消息。已训练消息指示协议的完成。
在一些示例中,请求可以是以下之一:HOLD、INC、DEC。在一些示例中,用于REQUESTS的消息格式可以是:{REQ,Port_id,Logical_lane_id,Tap_id,<INC/DEC/HOLD>}。在一些示例中,响应可以包括以下之一:NOT_UPDATED、UPDATED、MIN、MAX。在一些示例中,用于请求的消息格式可以包括:{RSP,Port_id,Logical_lane_id,Tap_id,<NOT_UPDATED/UPDATED/MIN/MAX>}。相应地,完整消息可以包含以下信息:
{SETUP,Port_id,<supported_Taps>,DESTRUCTIVE_MODE_ABILITY,DESTRUCTIVE_MODE_REQ,<random-initiator-bit>}
{REQ,Port_id,Logical_lane_id,Tap_id,<INC/DEC/HOLD>}
{RSP,Port_id,Logical_lane_id,Tap_id,<NOT_UPDATED/UPDATED/MIN/MAX>}
发射机可能花费时间以完成设置改变(请求),并且接收机可能花费时间以获知配置改变已经应用还是未应用(响应)。因为消息可能丢失或损坏,所以交换协议会从错误中恢复。
一些SerDes可能不能完全地以增量方式进行优化,并且可以当正评估抽头改变(Rx均衡)时使用重新适配模式,其使链路在一个或两个方向上掉落。这种操作模式的支持可以涉及使用一次在一个方向上进行操作的协议。例如,一方可以作出抽头请求并调整其接收机均衡,并且接下来,链路的另一端可以开始用于调整接收机均衡的过程。区分链路丢失的原因(其可以归因于(远端方所导致的)接收机适配或(本地方所导致的)所请求的抽头改变)是必要的。
“破坏性模式”(或“重新开始禁止模式”)可能在训练期间使链路失败(“掉落”),但请求接收机直到某时间量已经经过之后才允许链路掉落,以使得直到所述时间量已经经过(最大链路丢失时间)之后才恢复默认Tx抽头设置,以避免协议重新开始。使用在成功的重新训练期间以及在时间超期之前所应用的训练抽头设置,并且可以不重新开始训练协议。然而,在该时间量已经经过之后,重新开始进行协议训练,以确定可以使用Tx抽头设置和/或默认Tx抽头设置。
通过三个参数在建立消息中传递“破坏性模式”下的操作:
DESTRUCTIVE_MODE_ABILITY
DESTRUCTIVE_MODE_REQ
<max-link-loss-time>
DESTRUCTIVE_MODE_ABILITY指示该节点支持破坏性模式操作作为选项。
DESTRUCTIVE_MODE_REQ指示该节点需要(而非仅“请求”)破坏性模式操作。
<max-link-loss-time>是32位无符号值,其表示链路可能掉落并且不进行协议重新开始的最大时间(以毫秒为单位)。该时间在每个方向上可以是不同的,并且应设置为本地接收机适配应被允许花费的最大时间量。
通过设置DESTRUCTIVE_MODE_REQ=1但DESTRUCTIVE_MODE_ABILITY=0,会产生协议错误。
如果一方需要破坏性模式(DESTRUCTIVE_MODE_REQ=1),而另一方不支持破坏性模式(DESTRUCTIVE_MODE_ABILITY=0),则协议可以终止。
如果一方或双方需要破坏性模式操作,则使用额外消息交换以确定哪一方先行。
{INITIATOR_BID,<local-bid>,<remote-bid>}
<local-bid>是非零32位无符号值,其确定哪一方首先开始。它可以通过某随机过程得以生成,以确保收敛。具有最大“出价”的一方先行。倘若平局,那么每一方提交新的随机“出价”。
<remote-bid>是从另一方作为其“出价”最后接收到的32位值。在从另一方接收到任何出价之前,该字段的初始值为“0”。可以定期发送INITIATOR_BID消息,以从丢失的消息恢复。
出价继续,直到接收到来自另一方的出价,其中,<remote-bid>字段与值当前<local-bid>匹配,并且其中,不同的值用于本地和远端出价。此时,双方确定哪个应先行,并且“获胜”方可以发起抽头请求。
在一些示例中,LLDP协议数据单元(PDU)用于能力通告、请求和响应。在一些示例中,存在3种类型的TLV:
StartUpTlv可以包括链路伙伴将在任何随后TLV中返回以识别特定端口的本地端口标识符。StartUpTlv可以还包括本地设备上支持哪些抽头的指示。所支持的抽头可以是pre2、pre1、main、post1、post2或更少、更多或其他抽头。在一些示例中,可以调整InfiniBand链路设置。
RequestTlv可以包括StartUpTlv中接收到的用于该端口的localPortId。RequestTlv也可以包括localPortid内的逻辑LaneID(0-7)、指示哪个Tx抽头是请求的对象的tapId和请求自身(HOLD=0或UPDATE=+/-1)。
StatusTlv可以包括StartUpTlv中接收到的用于该端口的localPortId。StatusTlv可以所localPortid内的逻辑LaneID(0-7)、指示哪个Tx抽头是该状态报告的对象的tapId和状态自身(NOT_UPDATED=0,UPDATED=1,MIN=2,MAX=3)。可以返回MIN或MAX以指示同一方向上的进一步改变是不可能的,并且应视为与UPDATED相同。
在一些示例中,LLDP PDU可以具有每逻辑通道的多达两个链路训练TLV:一个requestTlv和一个statusTlv(responseTlv)。requestTlv可以发起链路伙伴上的Tx抽头设置的改变。可以响应于从链路伙伴接收到PDU或在超时时段之后生成PDU。如果任何抽头处于正改变的过程中,并且在最后某时间量中尚未接收到对其的statusTlv,则可以生成PDU以复制所请求的改变以处理丢失或损坏的PDU。
在一些示例中,可以通过最小可能的增量/减量进行对抽头设置的改变,以使因抽头改变而产生链路丢失的趋势最小化。
图2B描绘用于将网络设备以通信方式耦合到另一网络设备的示例系统。例如,主机250和设备232可以包括例如以下中的一个或多个的网络设备:网络接口、交换机、路由器、服务器、主机计算平台、互连、结构、机架或任何计算或通信设备。例如,设备232可以连接到与多个电链路(例如,背板或铜电缆)的接口。系统提供可以用以在主机250与设备232之间发送或接收电信号的发送-接收对的多个通道。通道可发送和/或接收信号。通道的发射机可以使用模拟电路中所实现的均衡器以生成用于传输的电信号。均衡器可以具有一个或多个电流源,其用以创建信号,由此可以调整电流源的权重以改变信号特性。可以修改均衡器设置以改变电流源的权重。例如,数模转换器(DAC)可以用以在数字域中创建信号并以模拟格式输出结果。
各种实施例使用任何微控制器244以协商用于完成链路训练的时间以及是否要延长训练时间。此外,微控制器244可以发起和管理发射机和/或接收机均衡器设置的重新训练。
收发机238可以用于设备232与主机网络接口设备250之间的电信号发送和接收。收发机238可提供多个发送和接收通道,以用于设备232与主机设备250之间的电信号通信。例如,通道240-0至240-N可以提供发送和接收电路,以用于与主机设备250的通道254-0至254-N的接收和发送电路耦合。通道240-0至240-N可以提供信号的串行器/解串行器(SerDes)格式化。在一些示例中,收发机238可以是PMD或PHY的一部分。
设备232可以通过互连242以通信方式耦合到主机设备250。互连242可以是电信号导体,其将可插拔设备232的通道240-0至240-N的引脚或孔耦合到主机250的通道254-0至254-N的孔或引脚。主机网络接口设备250可以将电子格式的信号发送到或接收自设备232。
主机设备250可以包括用于与设备232通信的收发机252。收发机252可以包括通道254-0至254-N,其中,通道254-0至254-N中的任一个包括接收和发送电路。在一些示例中,收发机252可以是PMD或PHY的一部分。根据本文所描述的实施例,任何微控制器256-0至256-N可以用以管理其通道的操作。
在一些实施例中,单个微控制器可以管理一个或多个通道的均衡器设置。一个或多个参数可以使通道254-0至254-N中的任一个中的接收机或发射机设备关于特定抽头调整其均衡器设置,而无论增加还是缩减均衡器抽头的系数值。在一些实施例中,抽头的设置可以独立于另一抽头的设置的调整而被调整。
在一些示例中,主机250可以请求改变设备232的发射机均衡器电路的任何抽头的均衡器设置。类似地,设备232可以请求改变主机250的发射机均衡器电路的任何抽头的均衡器设置。相应地,设备232和主机250可以调整伙伴设备所使用的发射机均衡器设置。此外,设备232和主机250中的任一个可以调整接收机均衡器设置以补偿信道失真。
例如,为了发起均衡器设置改变,任何微控制器244-0至244-N可以确定接收到的信号的信号质量,并确定主机设备250的哪个发射机方抽头要改变以及是否递增还是递减抽头的设置。例如,可以测量接收到的信号的眼图张开度。眼图可以表示信号的1到0和0到1转变,并指示在孤立的时间区域内是否发生转变。微控制器可以估计符号间干扰(ISI),并基于达到最小值的ISI选择设置。微控制器可以搜索可用的发射机抽头设置,并选择得到最大张开眼图的设置。发射机均衡器设置可以在链路启动之时或之后定期改变,并且可以定期运行。相似操作可以对于微控制器256-0至256-N进行,以调整设备232的发送均衡器设置。
设备232或主机250中的任一个可以执行例如以下中的一个或多个的分组处理:介质接入控制、任何协议层处理、安全性、路由、目的地查找等。
图4A描绘链路训练的过程序列。在402,IEEE 802.3条款73AN基础页面交换可以开始。在该示例中,通告200Gbps链路速度和RS-FEC能力。在404,下一页面交换可以产生。在一些示例中,两个链路合作伙伴通告供应商OUI识别为Intel,而一个链路通告(多达)5秒的训练延长时间,并且另一链路通告(多达)10秒的训练延长时间。然而,可以通告设备的供应商OUI。在一些示例中,选择延长时间的最高公分母(即,5秒)。在406,链路训练方案使用默认链路训练时间+5秒。示例链路训练格式处于IEEE 802.3-2018的条款72中。
图4B描绘可以用于链路重新训练操作的示例序列。在450,自动协商可以应用于设置伙伴设备之间的操作的一个或多个参数。例如,IEEE 802.3条款73AN可以用以至少设置链路速度、FEC模式、暂停能力和/或其他参数。在452,可以执行链路训练以设置发送和接收SerDes均衡器参数。例如,可以执行IEEE 802.3条款72链路训练,以设置发送和/或接收机均衡器设置。在一些情况下,可以根据本文描述的示例延长链路训练持续时间。此后,可以跨一个或多个通道或链路发送数据或其他内容。
在454,可以协商重新训练链路的能力。例如,发射机可以在初始建立消息中对链路伙伴通告能够通过链路重新训练进行调整的任何抽头。建立消息识别将成为链路伙伴进行的抽头改变请求的对象的本地Port_id。在456,可以在第一设备处接收对修改发射机组件设置的请求。请求可以包括将成为链路伙伴进行的抽头改变请求的对象的端口标识符、通道标识符、对象抽头或增量/减量/保持抽头设置。在458,向第二设备提供响应,以指示已经应用所指定的抽头设置。第二设备可以测量信号特性(例如,BER、眼图大小和其他错误)。在该示例中,第二设备确定设置是可接受的。在460,第二设备指示要保持设置。可以应用并存储抽头设置,以用于当前和将来使用。
注意,第一和第二设备二者可以进行独立发射机调整。在一些示例中,可以由链路伙伴以与用以指定发射机抽头设置的方式相似的方式设置接收机均衡器设置。
图5A描绘均衡器的示例。发射机均衡器500包括前体抽头c(-1)、体抽头c(0)和后体抽头c(1)。在说明性实施例中,滤波器抽头设置使用两位识别用于前体抽头c(-1)的四个可能抽头值之一以及用于后体抽头c(1)的六个可能抽头值之一。可以基于其他两个抽头系数c(-1)和c(1)的值计算体抽头c(0)系数,使得满足等式:c(0)-c(1)-c(-1)=1。可以通过递增或递减滤波器抽头设置修改滤波器抽头设置。
图5B描绘发射机中的四抽头前馈均衡器(FFE)550的结构的功能模型。在芯片到芯片或芯片到模块接口的每个通信通道接口中实现FFE 550。FFE 550包括前体抽头c(-2)、前体抽头c(-1)、体抽头c(0)和后体抽头c(1)。可以通过递增或递减滤波器抽头设置修改滤波器抽头设置。可以独立于另一或多个抽头的系数修改任何抽头的系数。
图6A描绘用于潜在地延长分配用于链路训练的时间的示例过程。具有对第二设备中的收发机的有线或无线连接的第一设备中的收发机执行过程。例如,第一设备可以是网络接口、主机设备、电或光学模块或任何设备。例如,第二设备可以是网络接口、主机设备、电或光学模块或任何设备。连接可以是铜缆、光缆、背板、任何类型的以太网电缆或任何有线或无线信号传播介质。收发机可以包括发射机和接收机。通过连接所传播的信号可以与以太网、FibreChannel、InfiniBand或串行附着小型计算机系统接口(SAS)兼容。
在602,在第一设备的收发机与第二设备的收发机之间发生交换,以确定与链路伙伴的公共能力。例如,可以执行IEEE 802.3AN以至少确定链路速度、FEC能力和其他能力。在602,可以选择用于连接的操作模式。操作模式可以确定为这两个收发机所通告的最低能力。操作模式包括速度、前向纠错(FEC)、暂停能力和/或其他能力中的一个或多个。
在604,收发机可以进行交换阶段以通告其他能力。例如,可以使用自动协商的下一页面交换阶段通告能力。其他能力可以包括所支持的延长链路训练时间的量、不支持、延长量等。
在606,这两个收发机可以基于收发机的能力和链路伙伴收发机的所通告的能力确定延长链路训练时间的量,以延长链路训练时间(如果存在)。例如,如果一个收发机支持延长链路训练而另一个不支持,则使用默认的链路训练时间。如果一个收发机比另一收发机支持更高的延长的链路训练时间,则这两个收发机使用延长的链路训练时间的最高公分母。
在608,收发机进行关于链路训练时间加上用于延长链路训练时间的量的链路训练阶段。链路训练阶段可以包括:请求对等方发送均衡设置的改变,在接收机处监控对链路质量的影响,以及调整均衡器设置,以优化错误、眼图大小等中的一个或多个。
图6B描绘用于执行链路重新训练的示例过程。在650,用于执行链路重新训练的能力传递到链路伙伴。例如,用于执行链路重新训练的能力可以是本文所描述的建立消息的格式。例如,650可以包括652,其中,用于执行链路重新训练的能力可以包括用于建立重新训练的指示、端口标识符用于可以在链路重新训练期间配置的抽头的识别。
在654,可以接收对重新配置对于在链路重新训练期间的配置可用的组件的请求。例如,请求可以包括将成为链路伙伴进行的抽头改变请求的对象的端口标识符、通道标识符、对象抽头或增量/减量/保持抽头设置。
在656,可以确定是否接收到对配置请求的响应。例如,响应可以包括是否执行重新配置的指示。本文提供响应消息的其他示例。例如,响应可以包括以下中的一个或多个:端口标识符的标识符、通道标识符、抽头的对象和已更新/未更新/达到最小值/达到最大值。如果接收到响应,则过程继续到658。如果未接收到响应,则可以重复656。
在658,可以关于配置是否为可接受的进行确定。例如,如果实现误码率(BER)、眼图大小、信噪比(SNR)或任何其他期望的特性,则配置可以确定为可接受的。在确定配置是可接受的之后,数据传输可以继续或恢复。否则,接收机可以在654指示其他配置,并且过程继续。
图7A描绘可以用于修改抽头值以尝试实现链路的两端对更新状态达成一致的状态机可以使用的状态的示例。例如,与SerDes关联的SerDes驱动程序或微控制器可以实现状态机。Logical_lane_id可以支持独立状态机,以用于更新每个所支持的抽头。状态机可以跟踪对抽头设置改变的请求。在一些示例中,响应消息中的状态值可以更新状态。在一些示例中,状态机可以包括三个状态:
ST_IDLE,可以发起改变的状态。在启动时或在完成抽头改变时退出ST_UPDATED状态之后进入。
ST_UPDATE,在发出对抽头的requestTlv时进入。在该状态下,requestTlv改变为指示UPDATE(+/-1)。在接收到指示UPDATED(或LIMIT)的statusTlv时退出。
ST_UPDATED,在接收到具有状态UPDATED(或LIMIT)的statusTlv后进入。在该状态下,requestTlv改变为指示HOLD。在接收到指示NOT_UPDATED的statusTlv时退出。
可以定期发出请求消息以处理消息丢失的情况。
初始状态可以是HOLD,其中,存在“没有对改变的请求”。如果对改变Tx抽头设置作出请求并且先前Request的状态是NOT UPDATED,则可以发出请求,并且抽头请求的状态取决于请求而改变为Update INCREMENT/DECREMENT。可以保持该状态,直到(来自响应消息的)抽头的状态变为UPDATED、MIN或MAX之一。UPDATED可以指示实行或执行抽头改变请求。MIN可以指示作出递减请求,并且抽头现在处于其最小值,或者抽头已经处于其最小值。类似地,MAX可以指示作出递增请求,并且抽头现在处于其最大值,或者抽头已经处于其最大值。
图7B描绘可以用以跟踪更新请求的状态的示例状态机。例如,与SerDes关联的SerDes驱动程序或微控制器可以制定状态机。在一些示例中,每个Logical_lane_id可以支持独立状态机,以用于对每个所支持的抽头的更新。抽头的初始状态可以是NOT UPDATED,由此没有改变在进行中。当接收到请求(INCREMENT(INC)/DECREMENT(DEC))时,在硬件中正实行改变的同时,状态可以移动到UPDATE TX TAP。在改变完成之后,取决于改变的结果,状态可以改变为三种状态之一。如果已经成功地改变抽头,则状态改变为UPDATED。如果递增抽头并且抽头现在处于其最大值,则状态可以改变为MAX。类似地,如果递减抽头并且抽头现在处于其最小值,则状态改变为MIN。该状态可以保持,直到接收到HOLD请求,并且在接收到HOLD请求之后,状态可以恢复为NOT UPDATED。
由于可能的是,使用该协议所请求的改变可以使链路自身掉落,因此倘若链路掉落,那么链路的每一方可以将其Tx抽头恢复到它们的原始设置。改变发射机方参数可以使链路掉落,并且在此情况下,可以在调整之前使用初始设置。
图8描绘可以使用实施例或由实施例使用的网络接口。根据本文描述的实施例,网络接口中的各种资源可以执行链路建立、链路训练或链路重新训练。在一些示例中,网络接口800包括网络接口、网络接口控制器或网络接口卡。在一些示例中,网络接口800可以是具有设备(例如,处理器或存储器)的交换机或片上系统(SoC)的部分。网络接口800可以包括收发机802、处理器804、发送队列806、接收队列808、存储器810和总线接口812、以及DMA引擎852。收发机802可以能够遵守适用协议(例如,IEEE 802.3中所描述的以太网)接收并发送分组,但可以使用其他协议。收发机802可以经由网络介质(未描绘)从网络接收分组以及向网络发送分组。收发机802可以包括PHY电路814和介质接入控制(MAC)电路816。PHY电路814可以包括编码和解码电路(未示出),以根据适用的物理层规范或标准对数据分组进行编码并解码。MAC电路816可以被配置为对接收到的分组执行MAC地址过滤,通过验证数据完整性处理接收到的分组的MAC头,移除前导和填充,并且提供分组内容以用于更高层进行处理。MAC电路816可以被配置为将待发送的数据组装为分组,其包括宿和源地址以及网络控制信息和错误检测散列值。
处理器804可以是处理器、内核、图形处理单元(GPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)或允许网络接口800的编程的其他可编程硬件设备的任何组合。例如,处理器804可以提供:识别用于执行工作负载的资源,并且生成用于在所选择的资源上执行的比特流。例如,“智能网络接口”可以使用处理器804在网络接口中提供分组处理能力。
分组分配器824可以使用本文所描述的时隙分配或RSS提供接收到的分组的分发,以用于多个CPU或内核进行处理。当分组分配器824使用RSS时,分组分配器824可以基于接收到的分组的内容计算散列或做出另一确定,以确定哪个CPU或内核将要处理分组。
中断合并822可以执行中断调制,由此网络接口中断合并822等待多个分组到达或者等待超时超期,然后生成对主机系统的中断以处理接收到的分组。接收分段合并(RSC)可以由网络接口800执行,由此到来分组的部分组合为分组的分段。网络接口800将该合并的分组提供给应用。
直接存储器存取(DMA)引擎852可以直接从主机存储器向网络接口拷贝分组头、分组净荷和/或描述符,或反之亦然,而不是将分组拷贝到主机处的中间缓冲区并且然后使用从中间缓冲区到目标缓冲区的另一拷贝操作。
存储器810可以是任何类型的易失性或非易失性存储器设备,并且可以存储用以对网络接口800进行编程的任何队列或指令。发送队列806可以包括用于由网络接口进行的传输的数据或对数据的引用。接收队列808可以包括网络接口从网络接收到的数据或对数据的引用。描述符队列820可以包括引用发送队列806或接收队列808中的数据或分组的描述符。总线接口812可以提供与主机设备的接口(未描绘)。例如、总线接口812可以兼容于PCI、PCI Express、PCI-x、串行ATA和/或USB兼容接口(但可以使用其他互连标准)。
在一些示例中,可以结合基站(例如,3G、4G、5G等)、宏基站(例如,5G网络)、微微站(例如,IEEE 802.11兼容接入点)、纳站(例如,用于点对多点(PtMP)应用)、户内数据中心、户外数据中心、边缘网络元素、雾网络元素和/或混合数据中心(例如,使用虚拟化、云和软件定义的连网以跨物理数据中心和分布式多云环境交付应用工作负载的数据中心)使用本文所描述的网络接口和其他实施例。
图9描绘示例交换机。根据本文描述的实施例,各种实施例可以在交换机中或随交换机使用,以执行链路建立、链路训练或链路重新训练。交换机904可以将任何格式或根据任何规范的分组或帧从任何端口902-0至902-X路由到端口906-0至906-Y中的任一个(或反之亦然)。端口902-0至902-X中的任一个可以连接到一个或多个互连设备的网络。相似地,端口906-0至906-X中的任一个可以连接到一个或多个互连设备的网络。交换机904可以使用将分组特性与关联的输出端口进行映射的表判断将分组或帧传送到哪个端口。例如,可以使用匹配动作表,由此分组的部分的散列用作索引以寻找条目。此外,交换机904可以执行分组复制,以用于将分组或帧转发到多个端口,并且对分组或帧进行排队然后传送到输出端口。一些实施例以P4编程语言(其为被设计为允许对数据平面中的分组转发进行编程的编程语言)实现散列查找。与通用语言(例如,C或Python)相反,P4是具有围绕网络数据转发所优化的许多构造的领域特定语言。
图10描绘系统。根据本文所描述的实施例,系统可以使用本文所描述的实施例以执行链路建立、链路训练或链路重新训练。系统1000包括处理器1010,其提供用于系统1000的指令的处理、操作管理和执行。处理器1010可以包括任何类型的微处理器、中央处理单元(CPU)、图形处理单元(GPU)、处理内核、或用于提供用于系统1000的处理的其他处理硬件、或处理器的组合。处理器1010控制系统1000的整体操作,并且可以是或可以包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑器件(PLD)等、或这些器件的组合。
在一个示例中,系统1000包括耦合到处理器1010的接口1012,其可以表示用于需要更高带宽连接的系统组件(例如,存储器子系统1020或图形接口组件1040或加速器1042)的更高速度接口或高吞吐量接口。接口1012表示接口电路,其可以是独立组件或集成到处理器管芯上。在出现的情况下,图形接口1040对图形组件进行接口,以用于向系统1000的用户提供视觉显示。在一个示例中,图形接口1040可以驱动向用户提供输出的高清晰度(HD)显示。高清晰度可以指代具有近似100PPI(每英寸像素)或更高的像素密度的显示器,并且可以包括例如全高清(例如,1080p)、视网膜显示器、4K(超高清或UHD)或其他的格式。在一个示例中,显示器可以包括触摸屏显示器。在一个示例中,图形接口1040基于存储器1030中所存储的数据或基于处理器1010所执行的操作或二者生成显示。在一个示例中,图形接口1040基于存储器1030中所存储的数据或基于处理器1010所执行的操作或二者生成显示。
加速器1042可以是可以由处理器1010存取或使用的固定功能卸载引擎。加速器1042可以使用存储器接口(例如,DDR4和DDR5)或使用本文所描述的任何连网或连接标准耦合到处理器1010。例如,加速器1042当中的加速器可以通过本文所描述的方式提供顺序和推测性解码操作、压缩(DC)能力、密码服务(例如,公钥加密(PKE)、密码、散列/认证能力、解密或其他能力或服务)。在一些实施例中,附加地或替代地,加速器1042当中的加速器提供本文所描述的字段选择控制器能力。在一些情况下,加速器1042可以集成到CPU插槽(例如,对包括CPU并提供与CPU的电气接口的主板或电路板的连接器)。例如,加速器1042可以包括单核或多核处理器、图形处理单元、逻辑执行单元单或多级缓存、对于独立执行程序或线程可使用的功能单元、专用集成电路(ASIC)、神经网络处理器(NNP)、可编程控制逻辑和可编程处理元件(例如,现场可编程门阵列(FPGA))。加速器1042可以提供多个神经网络、CPU、处理器内核、通用图形处理单元,或者图形处理单元可以使得对于人工智能(AI)或机器学习(ML)模型是可用的。例如,AI模型可以使用或包括以下任一或组合:强化学习方案、Q学习方案、深度Q学习或异步优势行动者评论家(A3C)、组合神经网络、循环组合神经网络或其他AI或ML模型。可以使多个神经网络、处理器内核或图形处理单元对于AI或ML模型进行的使用是可用的。
存储器子系统1020表示系统1000的主存储器,并提供用于待由处理器1010执行的代码或待在执行例程中使用的数据值的存储。存储器子系统1020可以包括一个或多个存储器设备1030(例如,只读存储器(ROM)、闪存、随机存取存储器(RAM)的一个或多个变型(例如,DRAM)、或其他存储器设备、或这些设备的组合)。存储器1030存储并托管操作系统(OS)1032等,以提供用于在系统1000中执行指令的软件平台。此外,应用1034可以在OS 1032的软件平台上从存储器1030执行。应用1034表示具有其自身的用于执行一个或多个功能的执行的操作逻辑的程序。进程1036表示向OS 1032或一个或多个应用1034或组合提供辅助功能的代理或例程。OS 1032、应用1034和进程1036提供软件逻辑以提供用于系统1000的功能。在一个示例中,存储器子系统1020包括存储器控制器1022,其为用于生成命令并将其发放到存储器1030的存储器控制器。应理解,存储器控制器1022可以是处理器1010的物理部分或接口1012的物理部分。例如,存储器控制器1022可以是与处理器1010集成到电路上的集成式存储器控制器。
在一些示例中,处理器1010可以执行用于网络接口1050的设备驱动程序(未描绘)。OS 1032可以从设备驱动程序确定网络接口1050的能力。例如,OS 1032可以接收网络接口1050的能力的指示,以执行以下以下能力或本文所描述的能力中的一个或多个:链路训练时间延长,比所调度的更早地开始链路训练,改变或设置默认链路训练时间,链路重新训练或组件参数修改。OS 1032可以请求设备驱动程序启用或禁用网络接口1050以执行本文的描述的任何能力。在一些示例中,OS 1032自身可以启用或禁用网络接口1050以执行本文所描述的任何能力。OS 1032可以将(例如,来自应用1034的)请求提供给网络接口1050,以利用网络接口1050的一个或多个能力。例如,任何应用1034可以通过网络接口1050请求使用或不使用本文所描述的任何能力。在一些示例中,数据中心管理员可以将网络接口1050配置为执行本文所描述的任何能力。
虽然未具体地示出,但应理解,系统1000可以包括设备之间的一个或多个总线或总线系统(例如,存储器总线、图形总线、接口总线或其他)。总线或其他信号线可以通过通信方式或电方式将组件耦合在一起,或者既以通信方式和又以电方式耦合组件。总线可以包括物理通信线路、点对点连接、桥、适配器、控制器或其他电路或组合。总线可以包括例如以下中的一个或多个:系统总线、外围组件互连(PCI)总线、超传输或行业标准架构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)或电气与电子工程师协会(IEEE)标准1394总线(Firewire)。
在一个示例中,系统1000包括接口1014,其可以耦合到接口1012。在一个示例中,接口1014表示接口电路,其可以包括独立组件和集成电路。在一个示例中,多个用户接口组件或外围组件或二者耦合到接口1014。网络接口1050向系统1000提供用于通过一个或多个网络与远程设备(例如,服务器或其他计算设备)进行通信的能力。网络接口1050可以包括以太网适配器、无线互连组件、蜂窝网络互连组件、USB(通用串行总线)或其他基于有线或无线标准的或专有的接口。网络接口1050可以将数据发送到处于相同数据中心或机架中的设备或远程设备,这可以包括:发送存储器中所存储的数据。网络接口1050可以从远程设备接收数据,这可以包括:将接收到的数据存储到存储器中。可以结合网络接口1050、处理器1010和存储器子系统1020使用各种实施例。
在一个示例中,系统1000包括一个或多个输入/输出(I/O)接口1060。I/O接口1060可以包括用户与系统1000进行交互的一个或多个接口组件(例如,音频、字母数字、触觉/触摸或其他接口)。外围接口1070可以包括以上未具体地提及的任何硬件接口。外围设备通常指代依赖性地连接到系统1000的设备。依赖性连接是系统1000提供执行操作以及与用户进行交互的软件平台或硬件平台或二者的连接。
在一个示例中,系统1000包括存储子系统1080,以通过非易失性方式存储数据。在一个示例中,在特定系统实现方式中,存储1080的至少特定组件可以与存储器子系统1020的组件重叠。存储子系统1080包括存储设备1084,其可以是或可以包括用于通过非易失性方式存储大量数据的任何传统介质(例如,一个或多个基于磁性、固态或光学的盘或组合)。存储1084将代码或指令以及数据1086保存在持久状态下(例如,无论系统1000的电力的中断如何,值都得以保留)。虽然存储器1030典型地正执行或操作存储器以向处理器1010提供指令,但存储1084通常可以认为是“存储器”。虽然存储1084是非易失性的,但存储器1030可以包括易失性存储器(例如,如果对系统1000中断电力,则数据的值或状态是不明确的)。在一个示例中,存储子系统1080包括用于与存储1084进行接口的控制器1082。在一个示例中,控制器1082是接口1014或处理器1010的物理部分,或者可以包括处理器1010和接口1014二者中的电路或逻辑。
易失性存储器是如果对设备中断电力则状态(以及因此其中所存储的数据)是不明确的存储器。动态易失性存储器可以涉及:刷新设备中所存储的数据以维持状态。动态易失性存储器的一个示例包括DRAM(动态随机存取存储器)或某种变型(例如,同步DRAM(SDRAM))。易失性存储器的示例包括缓存。本文所描述的存储器子系统可以与例如以下的多种存储器技术兼容:DDR3(双数据率版本3,JEDEC(联合电子设备工程委员会)于2007年6月27日进行的原始发行)、DDR4(DDR版本4,由JEDEC于2012年9月公布的初始规范)、DDR4E(DDR版本4)、LPDDR3(低功耗DDR版本3,JESD209-3B、JEDEC于2013年8月)、LPDDR4(LPDDR版本4,JESD209-4、最初由JEDEC于2014年8月公布)、WIO2(宽输入/输出版本2,JESD229-2,最初由JEDEC在2014年8月公布)、HBM(高带宽存储器,JESD325,最初由JEDEC于2013年10月公布、LPDDR5(当前处于JEDEC进行的讨论中)、HBM2(HBM版本2)、HBM2(HBM版本2,当前处于JEDEC进行的讨论中)或其他存储技术或其组合、以及基于这些规范的衍生或扩展的技术。
非易失性存储器(NVM)设备是即使对设备中断电力状态也是明确的存储器。在一个实施例中,NVM设备可以包括块可寻址存储器设备(例如,NAND技术),或更具体地说,多阈值级NAND闪存(例如,单级单元(“SLC”)、多级单元(“MLC”)、四级单元(“QLC”)、三级单元(“TLC”)或其他一些NAND)。NVM设备可以还包括字节可寻址写入到位三维交叉点存储设备或其他字节可寻址写入到位NVM设备(也称为持久性存储器)(例如,单级或多级相变存储器(PCM)或具有开关的相变存储器(PCMS)、使用硫属化物相变材料(例如,硫属化物玻璃)的NVM设备、包括金属氧化物基、氧空位基和导电桥随机存取存储器(CB-RAM)的电阻性存储器、纳米引线存储器、铁电随机存取存储器(FeRAM、FRAM)、结合忆阻器技术的磁阻随机存取存储器(MRAM)、自旋转移扭矩(STT)-MRAM、基于自旋电子磁结存储器的器件、基于磁隧道结(MTJ)的器件、基于DW(磁畴壁)和SOT(自旋轨道转移)的器件、基于晶闸管的存储器器件、或以上任何一种的组合、或其他存储器)
电力源(未描绘)将电力提供给系统1000的组件。更具体地说,电力源典型地与系统1000中的一个或多个电源进行接口,以将电力提供给系统1000的组件。在一个示例中,电源包括AC到DC(交流到直流)适配器,以插入壁插座中。该AC电力可以是可再生能量(例如,太阳能)电力源。在一个示例中,电力源包括DC电力源(例如,外部AC到DC转换器)。在一个示例中,电力源或电源包括无线充电硬件,以经由充电场的附近进行充电。在一个示例中,电力源可以包括内部电池、交流电源、基于运动的电源、太阳能电源或燃料电池源。
在示例中,可以使用处理器、存储器、存储、网络接口和其他组件的互连计算底座(sled)实现系统1000。可以使用组件之间的高速互连,例如:以太网(IEEE 802.3)、远程直接存储器存取(RDMA)、InfiniBand、互联网广域RDMA协议(iWARP)、快速UDP互联网连接(QUIC)、融合以太网上的RDMA(RoCE)、外围组件互连高速(PCIe)、Intel QuickPath互连(QPI)、Intel超路径互连(UPI)、Intel片上系统结构(IOSF)、Omnipath、计算高速链路(CXL)、超传输、高速结构、NVLink、高级微控制器总线架构(AMBA)互连、OpenCAPI、Gen-Z、加速器缓存一致性互连(CCIX)、3GPP长期演进(LTE)(4G)、3GPP 5G及其变型。可以使用协议(例如,NVMe over Fabrics(NVMe-oF)或NVMe)将数据拷贝或存储到虚拟化存储节点。
可以在各种类型的计算和连网设备(例如,交换机、路由器、机架和刀片服务器(例如,数据中心和/或服务器场环境中所采用的那些))中实现本文的实施例。数据中心和服务器场中所使用的服务器包括阵列服务器配置(例如,基于机架的服务器或刀片服务器)。这些服务器通过经由各种网络规定(例如,将服务器集合划分为局域网(LAN),其具有LAN之间的适当交换和路由设施,以形成私有内部网)的通信而互连。例如,云托管设施可以典型地采用具有大量服务器的大型数据中心。刀片包括被配置为执行服务器类型功能的独立计算平台(即,“卡上服务器”)。相应地,刀片包括传统服务器所共有的组件,包括提供用于耦合适当集成电路(IC)的内部布线(例如,总线)的主印刷电路板(主板)和安装到板的其他组件。
图11描绘环境1100,其包括多个计算机架1102,一些计算机架1102包括机架顶部(ToR)交换机1104,舱管理器1106和多个池化系统抽屉。根据本文描述的实施例,各种实施例可以在交换机中或随交换机使用,以执行链路建立、链路训练或链路重新训练。通常,池化系统抽屉可以包括池化计算抽屉和池化存储抽屉。可选地,池化系统抽屉可以还包括池化存储器抽屉和池化输入/输出(I/O)抽屉。在所示实施例中,池化系统抽屉包括池化计算机抽屉1108和ATOMTM池化计算机抽屉1110、池化存储抽屉1112、池化存储器抽屉1114和池I/O抽屉1116。一些池系统抽屉经由高速链路1118(例如40吉比特/秒(Gb/s)或100Gb/s以太网链路或100+Gb/s硅光子(SiPh)光链路)连接到ToR交换机1104。在一实施例中,高速链路1118包括800Gb/s SiPh光链路。
多个计算机架1102可以经由它们的ToR交换机1104互连(例如,到舱级交换机或数据中心交换机),如对网络1120的连接所示。在一些实施例中,计算机架1102的群组经由舱管理器1106受管理为分离舱。在一个实施例中,单个舱管理器用以管理舱中的机架。替代地,分布式舱管理器可以用于舱管理操作。
环境1100还包括管理接口1122,其用以管理环境的各个方面。这包括管理机架配置,具有存储为机架配置数据1124的对应参数。
可以使用硬件元件、软件元件或二者的组合实现各种实施例。在一些示例中,硬件元件可以包括设备、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、ASIC、PLD、DSP、FPGA、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。在一些示例中,软件元件可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。确定是否使用硬件元件和/或软件元件实现示例可以对于给定实现方式按期望而根据任何数量的因素(例如,期望的计算速率、功率等级、热量容限、处理周期预算、输入数据率、输出数据率、存储器资源、数据总线速度和其它设计或性能约束)而变化。注意,硬件、固件和/或软件元件可以联合地或单独地在本文中称为“模块”或“逻辑”。处理器可以是硬件状态机、数字控制逻辑、中央处理单元或任何硬件、固件和/或软件元件的一个或多个组合。
可以使用或作为制造物或至少一个计算机可读介质实现一些示例。计算机可读介质可以包括用于存储逻辑的非瞬时存储介质。在一些示例中,非瞬时存储介质可以包括能够存储电子数据的一个或多个类型的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移除或不可移除存储器、可擦除或不可擦除存储器、可写或可重写存储器等。在一些示例中,逻辑可以包括各种软件元件,例如,软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、API、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或其任何组合。
根据一些示例,计算机可读介质可以包括用于存储或维护指令的非瞬时存储介质,其当由机器、计算设备或系统执行时使机器、计算设备或系统执行根据所描述的示例的方法和/或操作。指令可以包括任何合适类型的代码,例如源代码、编译代码、解释代码、可执行代码、静态代码、动态代码等。可以根据预定计算机语言、方式或句法实现指令,以用于命令机器、计算设备或系统执行特定功能。可以使用任何合适的高级、低级、面向对象、可视化、编译和/或解释编程语言实现指令。
可以通过当由机器、计算设备或系统读取时使机器、计算设备或系统制造逻辑以执行本文所描述的技术的表示处理器内的各种逻辑的至少一个机器可读介质上所存储的代表性指令实现至少一个示例的一个或多个方面。称为“IP内核”的这些表示可以存储在有形机器可读介质上并且提供给各种消费者或制造设施,以加载到实际上制作逻辑或处理器的制造机器中。
短语“一个示例”或“示例”的出现不一定全都指代同一示例或实施例。本文所描述的任何方面可以与本文所描述的任何其他方面或相似方面组合,而无论这些方面是否为相对于相同附图或元件描述的。划分、省略或包括附图中所描绘的框功能并非推断在实施例中将必须划分、省略或包括用于实现这些功能的硬件组件、电路、软件和/或元件。
可使用表述“耦合”和“连接”及其派生词描述一些示例。这些术语并非一定旨在关于彼此是同义词。例如,使用术语“连接”和/或“耦合”的描述可以指示两个或更多个要素彼此直接物理或电接触。然而,术语“耦合”也可以表示两个或更多个要素并非与彼此直接接触,而是仍与彼此协同操作或交互。
术语“第一”、“第二”等在本文中并非表示任何顺序、数目或重要性,而是用以区分一个要素与另一要素。本文中的术语“一个”和“一种”不表示数目的限制,而是表示存在所引用的项中的至少一个。本文参照信号所使用的术语“断言”表示信号的状态,其中,信号是活动的,并且可以通过对信号施加逻辑0或逻辑1中的任何逻辑电平得以实现。术语“跟随”或“之后”可以指代紧接跟随或跟随在某其他一个或多个事件之后。根据替选实施例,也可以执行其他操作序列。此外,取决于特定应用,可以添加或移除附加操作。可以使用改变的任何组合,并且受益于本公开的本领域的普通技术人员将理解其许多变型、修改和替选实施例。
析取语言(例如,短语“X、Y或Z中的至少一个”)除非另外具体地声明,否则在通常用以表示条目、项等的语境内理解为可以是要么X、要么Y、要么Z、或其任何组合(例如,X、Y和/或Z)。因此,该析取语言通常并非旨在且不应暗示特定实施例要求X中的至少一个、Y中的至少一个或Z中的至少一个对于每一个而出现。附加地,结合语言(例如,短语“X、Y和Z中的至少一个”)除非另外具体地声明,否则也应理解为表示X、Y、Z或其任何组合,包括“X、Y和/或Z”。
以下提供本文所公开的设备、系统和方法的说明性示例。设备、系统和方法的实施例可以包括以下所描述的示例中的任何一个或多个及其任何组合。
本文所示的流程图提供各种处理动作的序列的示例。流程图可以指示待由软件或固件例程执行的操作以及物理操作。在一个实施例中,流程图可以示出可以在硬件和/或软件中实现的有限状态机(FSM)的状态。虽然按特定序列或顺序示出,但除非另外指定,否则可以修改动作的顺序。因此,所示实施例应仅理解为示例,并且所示过程可以按不同顺序执行,并且一些动作可以并行执行。此外,在各个实施例中可以省略一个或多个动作;因此,并非在每一实施例中需要所有动作。其它处理流程是可能的。
本文所描述的各种组件可以是用于执行所描述的操作或功能的装置。本文所描述的每个组件包括软件、硬件或它们的组合。这些组件可以实现为软件模块、硬件模块、专用硬件(例如,专用硬件、专用集成电路(ASIC)、数字信号处理器(DSP)等)、嵌入式控制器、硬连线电路等。
示例1包括一种装置,包括:第一设备,与通信链路的通道关联,其中:所述第一设备包括发射机和接收机;所述第一设备用于接收识别重新训练链路的能力的第一通信;所述第一设备用于发送识别一个或多个组件的第二通信,并且所述第二通信用于使得对所述一个或多个组件的一个或多个参数进行修改;以及所述第一设备用于接收识别重新训练的状态的第三通信。
示例2包括任何示例,其中,所述一个或多个组件包括均衡器,并且所述一个或多个参数包括至少一个抽头设置。
示例3包括任何示例,其中,所述一个或多个参数包括前体、主体或后体均衡器设置。
示例4包括任何示例,其中,所述第一设备用于:通告一个或多个能力;从所述第二设备接收一个或多个能力;以及基于所通告和接收的能力,选择用于通道的操作模式。
示例5包括任何示例,其中,所述一个或多个能力包括链路速度、前向纠错(FEC)能力或暂停能力中的一个或多个。
示例6包括任何示例,其中,所述第一通信包括建立消息,其识别能够通过链路重新训练进行调整的至少一个抽头,并且包括待成为所述第一设备进行的抽头改变请求的对象的本地端口的本地端口标识符。
示例7包括任何示例,其中,所述第二通信包括包含以下中的一个或多个的请求消息:端口标识符、通道标识符、一个或多个抽头的标识符、改变抽头设置或保持抽头设置。
示例8包括任何示例,其中,所述第三通信包括包含以下中的一个或多个的响应消息:端口标识符、通道标识符、一个或多个抽头的标识符、已更新的指示、未更新的指示、达到最小值的指示或达到最大值的指示。
示例9包括任何示例,其中,所述第一设备用于:响应于功率、电压或温度的改变或者逝去的时间而开始链路重新训练。
示例10包括任何示例,并且包括以下中的一个或多个:服务器、机架或数据中心,并且其中,所述第一设备设置于以下中的一个或多个中:服务器、机架或数据中心。
示例11包括任何示例,并且包括一种用于进行链路重新训练的方法,所述方法包括:由第一设备中的接收机通过通道从第二设备中的发射机接收信号,所述信号包括识别重新训练链路的能力的第一通信;从所述第一设备发送第二通信,其包括能力待调整的第二设备的一个或多个组件和对修改所述一个或多个组件的一个或多个参数的请求;以及在所述第一设备处接收识别重新训练的状态的第三通信。
示例12包括任何示例,其中,所述一个或多个组件包括均衡器,并且所述一个或多个参数包括至少一个抽头设置。
示例13包括任何示例,其中,所述一个或多个参数包括前体、主体或后体均衡器设置。
示例14包括任何示例,其中,所述第一通信包括建立消息,其识别能够通过链路重新训练进行调整的至少一个抽头,并且包括待成为所述第一设备进行的抽头改变请求的对象的本地端口的本地端口标识符。
示例15包括任何示例,其中,所述第二通信包括包含以下中的一个或多个的请求消息:端口标识符、通道标识符、一个或多个抽头的标识符、改变抽头设置或保持抽头设置。
示例16包括任何示例,其中,所述第三通信包括包含以下中的一个或多个的响应消息:端口标识符、通道标识符、一个或多个抽头的标识符、已更新的指示、未更新的指示、达到最小值的指示或达到最大值的指示。
示例17包括任何示例,并且包括:一次训练一个通道,由此所述第一设备发出抽头请求并调整其接收机,然后所述第一设备的链路伙伴开始对于其接收机的链路重新训练。
示例18包括任何示例,并且包括:响应于功率、电压或温度的改变或者逝去的时间而开始链路重新训练。
示例19包括任何示例,并且包括一种计算机可读介质,其上存储有指令,所述指令如果由一个或多个处理器执行则使所述一个或多个处理器:通过以下方式进行链路重新训练:由第一设备中的接收机通过通道从第二设备中的发射机接收信号,所述信号包括识别重新训练链路的能力的第一通信;从所述第一设备发送第二通信,其包括能力待调整的一个或多个组件和对修改所述一个或多个组件的一个或多个参数的请求;以及在所述第一设备处接收识别重新训练的状态的第三通信。
示例20包括任何示例,其中,所述一个或多个组件包括均衡器,并且所述一个或多个参数包括至少一个抽头设置。
示例21包括任何示例,其中,所述第一通信包括建立消息,其识别能够通过链路重新训练进行调整的至少一个抽头,并且包括待成为所述第一设备进行的抽头改变请求的对象的本地端口的本地端口标识符。
示例22包括任何示例,其中,所述第二通信包括包含以下中的一个或多个的请求消息:端口标识符、通道标识符、一个或多个抽头的标识符、改变抽头设置或保持抽头设置。
Claims (22)
1.一种装置,包括:
第一设备,与通信链路的通道关联,其中:
所述第一设备包括发射机和接收机;
所述第一设备用于接收识别重新训练链路的能力的第一通信;
所述第一设备用于发送识别一个或多个组件的第二通信,并且所述第二通信用于使得对所述一个或多个组件的一个或多个参数进行修改;并且
所述第一设备用于接收识别重新训练的状态的第三通信。
2.如权利要求1所述的装置,其中,所述一个或多个组件包括均衡器,并且所述一个或多个参数包括至少一个抽头设置。
3.如权利要求1所述的装置,其中,所述一个或多个参数包括前体、主体或后体均衡器设置。
4.如权利要求1所述的装置,其中,所述第一设备用于:
通告一个或多个能力;
从所述第二设备接收一个或多个能力;以及
基于所通告和接收的能力,选择用于通道的操作模式。
5.如权利要求4所述的装置,其中,所述一个或多个能力包括链路速度、前向纠错(FEC)能力或暂停能力中的一个或多个。
6.如权利要求1所述的装置,其中:
所述第一通信包括建立消息,所述建立消息识别能够通过链路重新训练进行调整的至少一个抽头,并且包括待成为所述第一设备进行的抽头改变请求的对象的本地端口的本地端口标识符。
7.如权利要求1所述的装置,其中,所述第二通信包括包含以下中的一个或多个的请求消息:端口标识符、通道标识符、一个或多个抽头的标识符、改变抽头设置或保持抽头设置。
8.如权利要求1所述的装置,其中,所述第三通信包括包含以下中的一个或多个的响应消息:端口标识符、通道标识符、一个或多个抽头的标识符、已更新的指示、未更新的指示、达到最小值的指示或达到最大值的指示。
9.如权利要求1所述的装置,其中,所述第一设备用于:
响应于功率、电压或温度的改变或者逝去的时间而开始链路重新训练。
10.如权利要求1所述的装置,包括以下中的一个或多个:服务器、机架或数据中心,并且其中,所述第一设备设置于以下中的一个或多个中:服务器、机架或数据中心。
11.一种用于进行链路重新训练的方法,所述方法包括:
由第一设备中的接收机通过通道从第二设备中的发射机接收信号,所述信号包括识别重新训练链路的能力的第一通信;
从所述第一设备发送第二通信,所述第二通信包括能力待调整的第二设备的一个或多个组件和对修改所述一个或多个组件的一个或多个参数的请求;以及
在所述第一设备处接收识别重新训练的状态的第三通信。
12.如权利要求11所述的方法,其中,所述一个或多个组件包括均衡器,并且所述一个或多个参数包括至少一个抽头设置。
13.如权利要求11所述的方法,其中,所述一个或多个参数包括前体、主体或后体均衡设置。
14.如权利要求11所述的方法,其中,所述第一通信包括建立消息,所述建立消息识别能够通过链路重新训练进行调整的至少一个抽头,并且包括待成为所述第一设备进行的抽头改变请求的对象的本地端口的本地端口标识符。
15.如权利要求11所述的方法,其中,所述第二通信包括包含以下中的一个或多个的请求消息:端口标识符、通道标识符、一个或多个抽头的标识符、改变抽头设置或保持抽头设置。
16.如权利要求11所述的方法,其中,所述第三通信包括包含以下中的一个或多个的响应消息:端口标识符、通道标识符、一个或多个抽头的标识符、已更新的指示、未更新的指示、达到最小值的指示或达到最大值的指示。
17.如权利要求11所述的方法,包括:
一次训练一个通道,由此所述第一设备发出抽头请求并调整其接收机,然后,所述第一设备的链路伙伴开始对于其接收机进行链路重新训练。
18.如权利要求11所述的方法,包括:
响应于功率、电压或温度的改变或者逝去的时间而开始链路重新训练。
19.一种计算机可读介质,其上存储有指令,所述指令如果由一个或多个处理器执行,则使所述一个或多个处理器:
通过以下操作进行链路重新训练:
由第一设备中的接收机通过通道从第二设备中的发射机接收信号,所述信号包括识别重新训练链路的能力的第一通信;
从所述第一设备发送第二通信,所述第二通信包括能力待调整的一个或多个组件和对修改所述一个或多个组件的一个或多个参数的请求;以及
在所述第一设备处接收识别重新训练的状态的第三通信。
20.如权利要求19所述的计算机可读介质,其中,所述一个或多个组件包括均衡器,并且所述一个或多个参数包括至少一个抽头设置。
21.如权利要求19所述的计算机可读介质,其中,所述第一通信包括建立消息,所述建立消息识别能够通过链路重新训练进行调整的至少一个抽头,并且包括待成为所述第一设备进行的抽头改变请求的对象的本地端口的本地端口标识符。
22.如权利要求19所述的计算机可读介质,其中,所述第二通信包括包含以下中的一个或多个的请求消息:端口标识符、通道标识符、一个或多个抽头的标识符、改变抽头设置或保持抽头设置。
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962941985P | 2019-11-29 | 2019-11-29 | |
US201962941949P | 2019-11-29 | 2019-11-29 | |
US62/941,985 | 2019-11-29 | ||
US62/941,949 | 2019-11-29 | ||
US17/022,637 | 2020-09-16 | ||
US17/022,637 US11863357B2 (en) | 2019-11-29 | 2020-09-16 | Communication link re-training |
US17/022,610 | 2020-09-16 | ||
US17/022,610 US11973624B2 (en) | 2019-11-29 | 2020-09-16 | Extended link-training time negotiated on link start-up |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112887234A true CN112887234A (zh) | 2021-06-01 |
Family
ID=74043127
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080071924.4A Pending CN114556814A (zh) | 2019-11-29 | 2020-09-25 | 针对链路启动协商的延长的链路训练时间 |
CN202011025406.7A Pending CN112887234A (zh) | 2019-11-29 | 2020-09-25 | 通信链路重新训练 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080071924.4A Pending CN114556814A (zh) | 2019-11-29 | 2020-09-25 | 针对链路启动协商的延长的链路训练时间 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11863357B2 (zh) |
CN (2) | CN114556814A (zh) |
DE (2) | DE112020005872T5 (zh) |
WO (1) | WO2021108026A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114070720A (zh) * | 2021-10-20 | 2022-02-18 | 浪潮金融信息技术有限公司 | 一种基于异步长连接技术的数据前置系统、方法及介质 |
WO2023279839A1 (zh) * | 2021-07-08 | 2023-01-12 | 华为技术有限公司 | 一种链路协商系统、方法及设备 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11863357B2 (en) * | 2019-11-29 | 2024-01-02 | Intel Corporation | Communication link re-training |
US11438211B1 (en) * | 2020-07-23 | 2022-09-06 | Marvell Asia Pte Ltd. | Adaptive diagnostics for communication systems |
US11831585B2 (en) * | 2020-10-23 | 2023-11-28 | Aviva Technology Holding | Method and apparatus for asymmetrical communication |
CN115483999A (zh) * | 2021-05-31 | 2022-12-16 | 华为技术有限公司 | 数据接口均衡调整的方法、装置、设备和存储介质 |
US11665029B2 (en) * | 2021-07-01 | 2023-05-30 | Nvidia Corporation | Feed forward filter equalizer adaptation using a constrained filter tap coefficient value |
US11636061B2 (en) * | 2021-09-01 | 2023-04-25 | Xilinx, Inc. | On-demand packetization for a chip-to-chip interface |
US20230354445A1 (en) * | 2022-05-02 | 2023-11-02 | Marvell Asia Pte Ltd | Interoperability of communication devices |
US20240080123A1 (en) * | 2022-09-01 | 2024-03-07 | Marvell Asia Pte Ltd | Out-of-band based independent link training of in-band links between host devices and optical modules |
EP4369667A1 (en) * | 2022-11-01 | 2024-05-15 | Samsung Electronics Co., Ltd. | Electronic device and operation method thereof |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050201454A1 (en) * | 2004-03-12 | 2005-09-15 | Intel Corporation | System and method for automatically calibrating two-tap and multi-tap equalization for a communications link |
US20060291500A1 (en) | 2005-06-03 | 2006-12-28 | Adc Dsl Systems, Inc. | Non-intrusive transmit adjustment control |
US20070208894A1 (en) | 2006-03-02 | 2007-09-06 | Curry David S | Modification of a layered protocol communication apparatus |
US20090097401A1 (en) * | 2007-10-12 | 2009-04-16 | Wael William Diab | Method and system for configurable data rate thresholds for energy efficient ethernet |
US8296469B2 (en) * | 2008-12-31 | 2012-10-23 | Intel Corporation | Scalable method and apparatus for link with reconfigurable ports |
WO2012106934A1 (zh) | 2011-07-27 | 2012-08-16 | 华为技术有限公司 | Pci快速通道设备、链路能量管理方法及系统 |
US8949497B2 (en) * | 2011-08-24 | 2015-02-03 | Nvidia Corporation | Method and apparatus for interleaving bursts of high-speed serial interconnect link training with bus data transactions |
US9252968B2 (en) | 2012-06-22 | 2016-02-02 | Intel Corporation | Link training and training frame for 100GBPS ethernet |
US8972640B2 (en) * | 2012-06-27 | 2015-03-03 | Intel Corporation | Controlling a physical link of a first protocol using an extended capability structure of a second protocol |
KR101636844B1 (ko) * | 2012-07-10 | 2016-07-20 | 인텔 코포레이션 | 데이터 모드 중 순방향 에러 정정을 결정하도록 구성된 네트워크 시스템 |
US10375590B2 (en) * | 2012-07-13 | 2019-08-06 | Assia Spe, Llc | Method and system for performance estimation of a communication link |
US9411750B2 (en) | 2012-07-30 | 2016-08-09 | International Business Machines Corporation | Efficient calibration of a low power parallel data communications channel |
US8902964B2 (en) | 2012-09-29 | 2014-12-02 | Intel Corporation | Equalization effort-balancing of transmit finite impulse response and receive linear equalizer or receive decision feedback equalizer structures in high-speed serial interconnects |
US9513662B2 (en) * | 2013-01-04 | 2016-12-06 | Intel Corporation | System and method for power management |
US8826103B2 (en) * | 2013-01-18 | 2014-09-02 | Intel Corporation | Time protocol latency correction based on forward error correction status |
US10148508B1 (en) | 2013-08-14 | 2018-12-04 | Aquantia Corp. | Method and system for ethernet transceiver rate control |
US9575922B2 (en) | 2013-09-27 | 2017-02-21 | Intel Corporation | Apparatus, system, and method for improving equalization with a software equalization algorithm |
US20150186201A1 (en) | 2014-01-02 | 2015-07-02 | Intel Corporation | Robust link training protocol |
JP6427979B2 (ja) * | 2014-06-19 | 2018-11-28 | 富士通株式会社 | 原因特定方法、原因特定プログラム、情報処理システム |
US9608865B2 (en) | 2014-07-09 | 2017-03-28 | Cisco Technology, Inc. | Method, system and logic for configuring a local link based on a remote link partner |
US20170346596A1 (en) | 2016-05-27 | 2017-11-30 | Intel Corporation | Method, apparatus, and system for signal equalization |
WO2018000387A1 (zh) | 2016-06-30 | 2018-01-04 | 华为技术有限公司 | 一种通道训练的方法、装置及系统 |
US10880137B2 (en) | 2017-05-12 | 2020-12-29 | Intel Corporation | Bypassing equalization at lower data rates |
US11356306B2 (en) | 2018-03-30 | 2022-06-07 | Intel Corporation | Technologies for cooperative link equalization without disruption to link traffic |
US10474607B2 (en) * | 2018-05-01 | 2019-11-12 | Intel Corporation | Adapt link training based on source capability information |
CN109376103B (zh) | 2018-06-19 | 2021-10-19 | 华为技术有限公司 | 快速均衡的方法、芯片和通信系统 |
US11003612B2 (en) | 2019-04-26 | 2021-05-11 | Dell Products L.P. | Processor/endpoint connection configuration system |
US11397701B2 (en) | 2019-04-30 | 2022-07-26 | Intel Corporation | Retimer mechanisms for in-band link management |
US11228340B1 (en) | 2019-08-28 | 2022-01-18 | Marvell Asia Pte, Ltd. | Ethernet link transmit power method based on network provided alien crosstalk feedback |
US10868580B1 (en) | 2019-08-28 | 2020-12-15 | Marvell Asia Pte., Ltd. | Ethernet link transmit power method based on alien crosstalk feedback |
US11729044B2 (en) * | 2019-10-29 | 2023-08-15 | Intel Corporation | Service resiliency using a recovery controller |
US11836101B2 (en) | 2019-11-27 | 2023-12-05 | Intel Corporation | Partial link width states for bidirectional multilane links |
US11863357B2 (en) | 2019-11-29 | 2024-01-02 | Intel Corporation | Communication link re-training |
US11991025B2 (en) | 2019-12-04 | 2024-05-21 | Intel Corporation | Transceiver parameter determination |
US11187077B2 (en) | 2020-01-31 | 2021-11-30 | Halliburton Energy Services, Inc. | Adaptive wireline telemetry in a downhole environment |
US11818237B2 (en) | 2020-04-27 | 2023-11-14 | Intel Corporation | Device-to-device link training |
KR20220059981A (ko) | 2020-11-02 | 2022-05-11 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
US20220302943A1 (en) | 2021-03-16 | 2022-09-22 | Intel Corporation | Low power high sensitivity sense amplifier latch with complimentary outputs in reset mode |
TWI769012B (zh) | 2021-07-12 | 2022-06-21 | 瑞昱半導體股份有限公司 | 多點網路系統與網路裝置 |
US20220342841A1 (en) | 2021-12-22 | 2022-10-27 | Swadesh Choudhary | Die-to-die adapter |
-
2020
- 2020-09-16 US US17/022,637 patent/US11863357B2/en active Active
- 2020-09-16 US US17/022,610 patent/US11973624B2/en active Active
- 2020-09-25 CN CN202080071924.4A patent/CN114556814A/zh active Pending
- 2020-09-25 DE DE112020005872.7T patent/DE112020005872T5/de active Pending
- 2020-09-25 CN CN202011025406.7A patent/CN112887234A/zh active Pending
- 2020-09-25 WO PCT/US2020/052892 patent/WO2021108026A1/en active Application Filing
- 2020-10-28 DE DE102020128258.3A patent/DE102020128258A1/de active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023279839A1 (zh) * | 2021-07-08 | 2023-01-12 | 华为技术有限公司 | 一种链路协商系统、方法及设备 |
CN114070720A (zh) * | 2021-10-20 | 2022-02-18 | 浪潮金融信息技术有限公司 | 一种基于异步长连接技术的数据前置系统、方法及介质 |
CN114070720B (zh) * | 2021-10-20 | 2024-03-29 | 浪潮金融信息技术有限公司 | 一种基于异步长连接技术的数据前置系统、方法及介质 |
Also Published As
Publication number | Publication date |
---|---|
US20200412586A1 (en) | 2020-12-31 |
US11973624B2 (en) | 2024-04-30 |
DE112020005872T5 (de) | 2022-09-15 |
US11863357B2 (en) | 2024-01-02 |
CN114556814A (zh) | 2022-05-27 |
US20210006330A1 (en) | 2021-01-07 |
DE102020128258A1 (de) | 2021-06-02 |
WO2021108026A1 (en) | 2021-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11863357B2 (en) | Communication link re-training | |
US20200280428A1 (en) | Configuration scheme for link establishment | |
US11991025B2 (en) | Transceiver parameter determination | |
US11818237B2 (en) | Device-to-device link training | |
US10944660B2 (en) | Managing congestion in a network | |
US20240195740A1 (en) | Receiver-based precision congestion control | |
US11909642B2 (en) | Offload of acknowledgements to a network device | |
US11424901B2 (en) | Method and apparatus for synchronous signaling between link partners in a high-speed interconnect | |
US9052900B2 (en) | Serdes fast retrain method upon exiting power saving mode | |
JP2014107869A (ja) | 100gbase−kp4に対するpmaサイズのトレーニング | |
CN114696966A (zh) | 可扩展的协议无关的可靠传输 | |
US11277308B2 (en) | Technologies for autonegotiating 10G and 1G serial communications over copper cable | |
JP2014116943A (ja) | 100gbase−kp4に対するeeeリフレッシュとウェイク信号 | |
US11356306B2 (en) | Technologies for cooperative link equalization without disruption to link traffic | |
US11706059B2 (en) | Adaptation of at least one transmit equalizer setting | |
US20240205311A1 (en) | Ethernet auto-negotiation technology ability and forward error correction (fec) functions | |
WO2024049517A1 (en) | Signal de-correlation for training multi-lane ethernet interfaces | |
CN114868355A (zh) | 具有电路保护时间同步的双向缓冲器 | |
US11909628B1 (en) | Remote direct memory access (RDMA) multipath | |
WO2024136941A1 (en) | Precoding during link establishment | |
US20220360359A1 (en) | Communications system | |
Sheynin et al. | High-rate serial interconnections for embedded and distributed systems with power and resource constraints |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |