CN114556814A - 针对链路启动协商的延长的链路训练时间 - Google Patents

针对链路启动协商的延长的链路训练时间 Download PDF

Info

Publication number
CN114556814A
CN114556814A CN202080071924.4A CN202080071924A CN114556814A CN 114556814 A CN114556814 A CN 114556814A CN 202080071924 A CN202080071924 A CN 202080071924A CN 114556814 A CN114556814 A CN 114556814A
Authority
CN
China
Prior art keywords
link
link training
training time
extend
capabilities
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
Application number
CN202080071924.4A
Other languages
English (en)
Inventor
布鲁斯·麦克劳林
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 CN114556814A publication Critical patent/CN114556814A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/60Receivers
    • H04B10/66Non-coherent receivers, e.g. using direct detection
    • H04B10/69Electrical arrangements in the receiver
    • H04B10/697Arrangements for reducing noise and distortion
    • H04B10/6971Arrangements for reducing noise and distortion using equalisation
    • 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/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/07Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems
    • H04B10/073Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an out-of-service signal
    • H04B10/0731Testing or characterisation of optical devices, e.g. amplifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/07Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems
    • H04B10/075Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an in-service signal
    • H04B10/077Arrangements 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/0775Performance monitoring and measurement of transmission parameters
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/40Transceivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/20Arrangements for detecting or preventing errors in the information received using signal quality detector
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03012Arrangements for removing intersymbol interference operating in the time domain
    • H04L25/03114Arrangements 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/03133Arrangements 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03006Arrangements for removing intersymbol interference
    • H04L25/03343Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L25/00Baseband systems
    • H04L25/02Details ; arrangements for supplying electrical power along data transmission lines
    • H04L25/03Shaping networks in transmitter or receiver, e.g. adaptive shaping networks
    • H04L25/03878Line 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

本文描述的示例涉及网络连接的设备之间的链路训练。在一些示例中,确定延长链路训练的量。延长链路训练的量可通过以下步骤来确定:由第一设备中的接收器通过通道从第二设备中的发送器接收信号,该信号指示延长链路训练时间的能力和延长链路训练时间的量;在第一设备处基于默认链路训练时间和延长链路训练时间的量确定链路训练时间;以及基于所确定的链路训练时间来执行链路训练。在一些示例中,所确定的量是接收到的所标识的能力和发送的所指示的能力的最高共同值。在一些示例中,指示延长链路训练时间的能力和延长链路训练时间的量的信号包括与IEEE802.3兼容的下一页面。

Description

针对链路启动协商的延长的链路训练时间
优先权声明
本申请根据35 U.S.C.§365(c)要求2020年9月16日递交的标题为“EXTENDEDLINK-TRAINING TIME NEGOTIATED ON LINK START-UP”的美国申请17/022,610号的优先权,该美国申请进而要求2019年11月29日递交的标题为“EXTENDED LINK-TRAINING TIMENEGOTIATED ON LINK START-UP”的美国临时申请62/941,949号的优先权权益,并且还要求美国临时申请62/941,985号的优先权权益,所有这些申请都通过引用被全部并入本文。
背景技术
光学模块是一种可热插拔的光学收发器,其被用于高带宽数据通信应用中。该光学模块通常具有与芯片(例如,主机专用集成电路(application specific integratedcircuit,ASIC))的电连接。这种电连接是一种高数据速率串行链路(称为xGAUI-n,其中AUI代表附接单元接口,x是每条通道(lane)的数据速率,单位是千兆比特每秒(Gbps),并且n是通道的数目),当前速率是每条通道50Gb/s(50GAUI-1)。50GAUI-1是一种用于芯片到芯片或芯片到模块互连的单通道串行链路。然而,光学模块仅仅是使用串行链路的设备的一种示例。电信号接收和处理模块也可以使用串行链路。
发送器和接收器之间以非常高的数据速率进行的串行通信使用均衡来减轻与频率有关的信号衰减。可以在发送器(Tx)处和/或接收器(Rx)处应用均衡。通常,使用发送器和接收器均衡的组合。
附图说明
图1描绘了示例系统。
图2A-2B描绘了示例系统。
图3A描绘了下一页面的字段的示例内容。
图3B示出了示例第二下一页面格式。
图4A描绘了链路训练的过程序列。
图4B描绘了可被用于链路重训练操作的示例序列。
图5A描绘了均衡器的示例。
图5B描绘了四抽头前馈均衡器(FFE)的结构的功能模型。
图6A和图6B描绘了示例过程。
图7A和图7B描绘了示例过程。
图8描绘了网络接口。
图9描绘了示例交换机。
图10描绘了示例系统。
图11描绘了环境。
具体实施方式
在网络连接的设备中,为了让设备与彼此通信,要发现共同的通信能力和参数。自动协商(auto-negotiation,AN)是一种过程,通过该过程,链路的端点共享关于与其通信相关的各种能力的信息。关于AN的示例,参见电气与电子工程师学会(Institute ofElectrical and Electronics Engineers,IEEE)802.3-2018的条款73。链路伙伴设备经由交换基本页面来交换能力和操作模式,并且如果被请求,链路伙伴设备会交换下一页面(next page)。根据IEEE 802.3-2018的条款73,每个设备向其链路伙伴发送其数据速率能力的列表。自动协商可以确定最高的共同能力,并且最高的共同能力被用于链路伙伴设备之间的通信。在两个设备都接收到其链路伙伴的能力列表之后,设备可以转变到最高的共同数据速率和特征能力。
链路训练是由一种设备使用的一种过程,该设备通过铜缆、背板或其他有线或无线信号传输介质连接,通过这个过程,高速串行链路上的发送器和接收器与彼此通信,以调节其均衡设置。例如,串行器/解串行器(serializers/deserializer,SerDes)可以使用链路训练。链路训练使得能够为专用集成电路(application-specific integratedcircuit,ASIC)或其他设备中的每个信道调节有限冲激响应(finite impulse response,FIR)滤波器,以实现期望的误比特率(bit error rate,BER)、眼睛(eye)大小、信噪比(signal-to-noise ratio,SNR)、眼睛大小、或者链路差错(例如,不可纠正和可纠正的前向纠错(forward error correction,FEC)差错、伪随机比特序列(pseudorandom bitsequence,PRBS)差错、物理编码子层(physical coding sublayer,PCS)差错)。在一些示例中,接收器在对信号施加均衡之后检查眼睛,并且确定眼睛高度和/或眼睛宽度是否是可接受的。接收器可以做出决定,以因为眼睛可接受而终止链路训练,或者继续训练以进一步优化眼睛。如果接收器请求其链路伙伴发送器改变前光标、主光标或后光标均衡设置,则眼睛检查过程再次开始。
由于链路伙伴都包括发送器和接收器,所以一个链路伙伴可以同时训练另一伙伴的发送器。在链路被训练之后,两个设备开始使用经优化的发送器设置来发送正常的数据流量。
通过背板和铜缆的10Gb/s及以上的以太网(IEEE 802.3)标准包括PMD(物理介质依赖)控制功能,该功能使得能够作为链路训练的一部分调整发送器均衡设置。PMD控制功能使用基于握手的协议来请求系数改变。该协议由状态图描述(例如,IEEE标准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),导致在正常操作期间出现更多的差错(例如,更少的循环冗余校验(Cyclic Redundancy Check,CRC)差错)。
本文提到任何标准是指任何版本,包括以前的版本、当前和未来的版本以及其专有的衍生版本。
各种实施例尝试改善使用自动协商的链路质量,至少在IEEE定义的链路训练时间可能不允许最优训练的情况下。IEEE 802.3提出了使用下一页面交换阶段进行协商。关于下一页面消息的示例,参见IEEE 802.3-2018的附录28C。在一些示例中,下一页面可被用于交换标识符标签、节能以太网(Energy Efficient Ethernet,EEE)参数、操作参数和供应商特定信息。根据各种实施例,一个或两个链路伙伴可以在自动协商期间使用下一页面交换来通告延长链路训练时间的能力以及链路伙伴可以延长链路训练时间的时间量。在一些示例中,链路伙伴可以通告链路训练时间可以被延长的一个或多个时间量。链路伙伴可以协商将“link_fail_inhibit_timer”延长多少来设置链路训练的时间量。在一些示例中,如果双方都通告有能力这样做,那么就使用两个延长时间的最高共同值(commondenominator),并且将其加到链路失效抑制时间(link-fail inhibit time)上,以确定允许的链路失效抑制时间的总量。然而,如果链路伙伴指出不支持延长链路失效抑制时间,那么就使用默认的抑制时间(例如,IEEE 802.3默认link_fail_inhibit_timer)。
各种实施例可被用于通过背板连接的迹线的芯片与芯片之间(例如,10GBASE-KRx或其衍生物(其中x为整数))或者通过铜缆的网络接口与网络接口连接(例如,40GBASE-CR4或其衍生物)的链路训练或链路重训练。各种实施例可被应用到10Gbps或以上的链路或通道速度,或者任何链路或通道速度。
各种实施例为伙伴或端口提供了一种方式,以同意延长IEEE定义的链路训练时间,从而允许更优化的均衡器调节。接收到专有的“下一页面”可以表示(除其他原因外)链路伙伴要求将后续链路训练阶段延长指定时间的请求。可以在“下一页面”的字段中指定允许延长链路训练的最大时间量。例如,该字段中的值表示允许的超过IEEE定义的最大时间的额外时间。
许多SerDes难以在IEEE 802.3分配的时间内实现良好的Rx均衡(例如,眼睛质量、信号完好性)。延长链路失效抑制时间可以允许有更多的时间进行链路训练以改善链路。通过延长链路训练时间,链路上的误比特率(BER)可以被降到最低限度,从而使得正常操作期间的差错更少(例如,更少的CRC差错)。
链路训练适用于其他有线通信或联网系统,例如但不限于FibreChannel、InfiniBand或者串行附接小型计算机系统接口(Serial Attached Small ComputerSystem Interface,SAS)。延长链路训练时间对于4级脉冲振幅调制(pulse amplitudemodulation,PAM)链路(例如,PAM4链路)、PAM4、PAM5、PAM6、n级PAM链路(其中n为整数)、不归零(non-return-to-zero,NRZ)线码等等可能是有用的。
各种实施例提供了一种可以在点对点链路建立之后的任何时间被调用的协议。各种实施例至少提供了允许在链路建立之后继续调节。各种实施例可被用于将对链路的调节延长到超出IEEE 802.3所允许的自动协商后的链路训练的时间。在一些情况下,该协议可在链路建立之后被用于修改链路两边的发送(Tx)均衡。一些实施例提供了请求链路伙伴对链路伙伴的发送设置作出改变以优化本地接收器的能力。由于各种原因,例如条件改变(例如,功率、电压、温度变化)、周期性变化和其他原因,链路调节可能是可取的。各种实施例可以在链路建立之后提供延长的链路训练,无论该链路是否是使用AN来建立的。延长的链路训练可以允许调节链路伙伴发送均衡设置以及本地接收器均衡,从而可能使得调节得到改善。链路训练可以从接收器的角度进行,所以发送器设置被请求改变。在一些示例中,数据可以在训练发生的同时被传输,并且训练数据模式可以在重训练期间被使用。在链路重训练期间,可以使用转变密度信号或不同的单独训练数据。
各种实施例可以使用链路层发现协议(link layer discovery protocol,LLDP)类型-长度-值(type-length-value,TLV)来请求对链路伙伴的发送均衡设置(例如,前、主、后)的增量改变。然而,LLDP协议和TLV格式不是必需的,而可以使用任何类型的消息。例如,可以使用分组头部来传达发送器或接收器均衡器设置。例如,各种实施例可以使用用户数据报协议(user datagram protocol,UDP)分组交换来启用和使用延长的链路训练。相对于仅接收侧的优化,延长的链路训练与本地接收器均衡的质量度量相结合,可用于改善链路质量(例如,更低的误比特率(BER)),并且减少在接收器处标识的链路差错(例如,前向纠错(forward error correction,FEC)或PCS)。延长的链路训练或重训练可被用于将链路的调节延长到超出IEEE 802.3(或者其他标准或规范)对于链路训练所允许的时间。
根据一些实施例,兼容LLDP的消息可被发起者设备用于通信或请求伙伴设备确定或检查接收信号特性是否漂移或者信号质量是否可接受,并且触发发起者设备或伙伴设备执行重训练。例如,根据一些实施例,基站或边缘或雾计算设备或任何类型的设备处的温度变化(例如,白天热或者晚上或白天冷)可以触发均衡器设置的重训练。
例如,链路训练时间延长和重训练可以由以下项来应用:支持使用有线或无线协议(例如,3GPP长期演进(Long Term Evolution,LTE)(4G)或3GPP 5G)的通信的基站、驻地内数据中心、驻地外数据中心、边缘网络元件(在与数据中心相比物理上更靠近基站或网络接入点之处提供的计算元件)、雾网络元件(在与数据中心相比物理上更靠近基站或网络接入点但更远离边缘网络之处提供的计算元件)、和/或混合数据中心(例如,使用虚拟化、云和软件定义的联网来跨物理数据中心和分布式多云环境递送应用工作负载的数据中心)。网络或计算元件可被用于局域网(local area network,LAN)、城域网(metropolitan areanetwork,MAN)、使用光纤链路连接的设备的网络、校园区域网(campus area network,CAN)或者广域网(wide area network,WAN)中。
各种实施例可用于50G及以上的SerDes速度,虽然也可以支持更低的速度。
图1是图示出网络接口控制器50中的以太网端口电路的框图。以太网端口逻辑包括介质访问控制(Media Access Control,MAC)模块52、调和子层模块54以及PHY模块56。PHY模块56可包括物理介质附接(physical medium attachment,PMA)子层模块62、物理介质依赖(Physical Medium Dependent,PMD)子层64、前向纠错(FEC)模块60和物理编码子层(PCS)模块58。
MAC模块52被配置为向和从PHY模块56传送数据。调和子层(ReconciliationSublayer,RS)模块54可以提供映射操作,该操作将介质独立接口(Media IndependentInterface,MII)处的信号与介质访问控制(MAC)-物理信令子层(Physical SignalingSublayer,PLS)服务定义进行调和。MAC模块52可被配置为实现MAC层操作的各个方面,并且RS模块54可被配置为实现调和子层操作。
物理介质依赖(PMD)子层64可以负责与传输介质、介质依赖接口(MediumDependent Interface,MDI)80对接。物理介质附接(PMA)子层62可以执行发送、接收、信号检测、时钟恢复和偏离对齐。PMD 64和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)帧中传输的数据,并且生成MAC帧,该帧除了接收的数据以外,还包括分组间间隙(inter-packet gap,IPG)、前导、帧起始定界符(start of frame delimiter,SFD)、填充、以及循环冗余校验(CRC)比特,然后将MAC帧传递给PHY模块56。PHY模块56可以对MAC帧进行编码,以通过MDI80进行可靠的串行传输。
在接收方向,MAC模块52可以通过数据总线从PHY模块56接收MAC帧。MAC模块52可以接受来自PHY 56的MAC帧,执行以太网帧检测和验证、循环冗余校验(CRC)验证、更新统计计数器、剥离CRC、前导检测和移除、以及帧起始定界符(SFD)检测和移除,并且将包括其他协议的头部的MAC帧的其余部分转发到下一层(例如,互联网协议(Internet protocol,IP)层)以进行处理。
图2A图示了用于网络接口控制器100和设备120之间的发送器-接收器对的简化示例。MDI 130通过在一个或多个通道上并行传送数据,在网络接口控制器100和设备120之间提供链路。设备120可以是任何设备,例如另一网络接口、网络接口卡(network interfacecard,NIC)、交换机、路由器、服务器、主机计算平台,等等。
网络接口控制器100可包括主机接收器206和主机发送器208,用于网络接口控制器100和设备120之间的电气链路的至少一个通道。设备120可包括模块接收器212和模块发送器210,用于网络接口控制器100和设备120之间的电气链路。
例如,NIC 100的链路训练控制器202可被用来通告并且与模块120的链路训练控制器协商对链路训练时间的延长,或者反之亦然。链路训练控制器202也可以发起或管理如本文所述的链路重训练操作。链路训练控制器可被实现为主机或网络接口中的驱动器、微控制器或其他软件。
发送器(Tx)208/210或接收器(Rx)206/212可以使用SerDes来串行化或解串行化信号。当SerDes被接通并且信号被接收到时,Rx调节可被用于清理信号质量。当对于执行Rx调节有时间限制时,信号要在该时间限制内被传递到PCS层,并且如果链路是可接受的,则链路建立。如果链路没有通过,则可以重新开始训练。在一些示例中,Tx 208-Rx 212和/或Tx 210-Rx 206可以利用独立的Rx调节。在一些实施例中,对于Tx 208-Rx 212和Tx 210-Rx206,执行均衡器调节的时间量是相同的。
当自动协商被用来在两个以太网端口之间建立链路时,要遵循IEEE定义的程序。首先,可以执行“基本页面”交换,以确定共同能力并且选择操作模式(例如,链路速度(例如,1000BASE-KX、10GBASE-KX4...100GBASE-CR4等等)、FEC模式、暂停能力,等等)。接下来,可以发生任意长度的下一页面交换阶段。下一页面交换例如可被用于通告IEEE能力以及非IEEE能力,例如以太网联盟模式。在下一页面交换结束时,可以配置所选择的操作模式,并链路训练阶段可以开始。在这个链路训练阶段期间,可以改变对等发送(例如,Tx 208或Tx210)均衡设置,并且监视对接收器(例如,Rx 206或Rx 212)处的链路质量的影响,并且调整均衡设置以优化链路。
在一些示例中,可以通过指定更早的开始时间和使用默认的链路训练时间来延长链路训练时间。例如,设备可以通过协商相对于默认链路训练开始时间的偏移量来协商链路训练的开始时间(例如,使用AN、下一页面交换或者专有的交换方案),其中该偏移量指示在默认链路训练开始时间之前开始链路训练的时间量。设备可以指示在默认链路训练开始时间之前开始链路训练的能力,指示在默认链路训练开始时间之前开始链路训练的最大时间量,并且选择在默认链路训练开始时间之前开始链路训练的较小时间量。
设备之间的通信可以使用任何协议发生。例如,以太网帧可以由NIC 100发送至设备120。例如,以太网帧可以由设备120发送至NIC 100。以太网帧可包括以下各项中的一项或多项:前导、帧起始定界符(SFD)、目的地MAC地址、源MAC地址、EtherType字段、长度字段、帧校验序列(例如,循环冗余校验(CRC))、以及有效载荷。
从任一端口的角度来看,有四种链路训练的方法,虽然可以使用更多或更少的方法。
(1)本地端口既不发送专有的下一页面,也不接收专有的下一页面。这导致链路训练阶段没有延长。
(2)本地端口发送专有的下一页面,但不从链路伙伴接收专有的下一页面(作为响应,它将接收到NULL页面)。这表明链路伙伴不能或不愿意延长链路训练时间。这导致链路训练阶段没有延长。
(3)本地端口不能或不愿意延长链路训练时间,所以不发送专有的下一页面,但从链路伙伴接收到专有的下一页面(它将以NULL页面作为响应)。这导致链路训练阶段没有延长。
(4)本地端口既发送也接收专有的下一页面,表明两个端口都能够并且愿意延长链路训练时间。延长链路训练阶段的时间量被定义为两个端口所通告的时间的最小值。在情况(4)中,后续的链路训练阶段将被允许持续比IEEE定义的最大时间更长的时间(如果必要的话)。如果仍然超过该时间,那么自动协商将被重启动。
根据各种实施例,链路训练控制器在自动协商的下一页面交换阶段期间通告延长链路训练能力。通告这个能力需要有两个下一页面。首先,使用消息代码#1、用<tbd>的供应商组织唯一标识符(Organizationally Unique Identifier,OUI)发送由OUI标记的格式化的第一下一页面。接下来,发送由OUI标记的未格式化的第二下一页面,并且请求以毫秒为单位的时间延长。图3A中示出了第一下一页面的示例格式。
在图3A中,下面是下一页面的字段的示例内容。
D0_3:0001b(指示“由组织唯一标识符标记的消息”)
D4_10:0000000b
D11:T
D12:0b
D13:1b
D14:ACK
D15:1b(NP)
D16_26:供应商OUI<tbd>比特[23:13]
D27_31:00000b
D32_42:供应商OUI<tbd>比特[12:2]
D43_47:00000b
图3B示出了示例第二下一页面格式可以如下。字段的示例内容可以如下。
D0_3:0001b(指示随后是“延长链路训练时间”值)。
D4_8:00000b
D9_10:供应商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通道的数目和映射上达成一致。
所支持的抽头可以由8比特无符号值来标识,该值包含所支持的Tx抽头的映射。例如,从比特到抽头#的映射如下:
抽头# 比特
-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是主题Tap#(例如,-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协议数据单元(protocol data unit,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之间发送或接收电信号。通道可以发送和/或接收信号。通道的发送器可以使用在模拟电路中实现的均衡器来生成用于发送的电信号。均衡器可具有一个或多个电流源,这些电流源被用来创建信号,由此可以调整电流源的权重以改变信号特性。均衡器设置可以被修改以改变电流源的权重。例如,数模转换器(digital-to-analog converter,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发送或从设备232接收电气格式的信号。
主机设备250可包括收发器252,用于与设备232通信。收发器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转变,并且指示该转变是否发生在隔离的时间区域内。微控制器可以估计符号间干扰(inter-symbol interference,ISI),并且基于ISI达到最小值而选择设置。微控制器可以搜索可用的发送器抽头设置,并且选择导致最睁开的眼睛的设置。发送器均衡器设置可以从链路启动时开始或者在链路启动之后被周期性改变,并且可以周期性运行。类似的操作可以对微控制器256-0至256-N发生以调整设备232的发送均衡器设置。
设备232或主机250中的任何一者可以执行分组处理,例如以下各项中的一项或多项:介质访问控制、任何协议层处理、安全性、路由、目的地查找,等等。
图4A描绘了链路训练的过程序列。在402,IEEE 802.3条款73 AN基本页面交换可以开始。在这个示例中,200Gbps链路速度和RS-FEC能力被通告。在404,下一页面交换可发生。在一些示例中,两个链路伙伴都通告供应商OUI被标识为英特尔(Intel),而一个链路通告(最高达)5秒的训练延长时间,并且相反方链路通告(最高达)10秒的训练延长时间。然而,设备的供应商OUI可以被通告。在一些示例中,选择延长时间的最高共同值,即5秒。在406,链路训练方案使用默认链路训练时间+5秒。在IEEE 802.3-2018的条款72中有示例链路训练格式。
图4B描绘了可被用于链路重训练操作的示例序列。在450,可以应用自动协商来设置伙伴设备之间的操作的一个或多个参数。例如,IEEE 802.3条款73,AN可被用于至少设置链路速度、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的结构的功能模型。在芯片到芯片或芯片到模块接口的每个通信通道接口中实现FFE550。FFE 550包括前光标抽头c(-2)、前光标抽头c(-1)、光标抽头c(0)、以及后光标抽头c(1)。可以通过递增或递减滤波器抽头设置来修改滤波器抽头设置。任何抽头的系数都可以独立于另外一个或多个抽头的系数而被修改。
图6A描绘了潜在地延长针对链路训练所分配的时间的示例过程。该过程可由第一设备中的收发器执行,该收发器与第二设备中的收发器具有有线或无线连接。例如,第一设备可以是网络接口、主机设备、电气或光学模块、或者任何设备。例如,第二设备可以是网络接口、主机设备、电气或光学模块、或者任何设备。该连接可以是铜缆、光缆、背板、任何类型的以太网线缆、或者任何有线或无线信号传播介质。收发器可包括发送器和接收器。通过该连接传播的信号可以与以太网、FibreChannel、InfiniBand或者串行附接小型计算机系统接口(SAS)兼容使用。
在602,在第一设备的收发器和第二设备的收发器之间发生交换,以确定与链路伙伴的共同能力。例如,可以执行IEEE 802.3 AN以至少确定链路速度、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抽头设置的请求,并且先前请求的状态是NOT UPDATED,那么可以发出该请求,并且取决于该请求,将抽头请求的状态改变为Update INCREMENT/DECREMENT。这个状态可以被维持,直到抽头的状态(来自响应消息)变成UPDATED、MIN或MAX之一为止。UPDATED可指示抽头改变请求已被实现或执行。MIN可以指示提出了递减请求,并且抽头现在处于其最小值,或者抽头已经处于其最小值。同样地,MAX可以指示提出了递增请求,并且抽头现在处于其最大值,或者抽头已经处于其最大值。
图7B描绘了可被用于跟踪更新请求的状态的示例状态机。例如,SerDes驱动器或者与SerDes相关联的微控制器可以扮演状态机。在一些示例中,每个Logical_lane_id可以支持独立的状态机来更新每个支持的抽头。抽头的初始状态可以是NOT UPDATED,其中没有变化正在进行中。当接收到请求(INCREMENT(INC)/DECREMENT(DEC))时,状态可以转为更新Tx抽头(UPDATE TX TAP),同时改变正在硬件中被实现。在改变完成之后,状态可以依据改变的结果变为三种状态之一。如果抽头被成功改变,则状态变为UPDATED。如果抽头被递增,并且抽头现在处于其最大值,那么状态可以变为MAX。同样,如果抽头被递减,并且抽头现在处于其最小值,则状态变为MIN。这种状态可以被维持,直到接收到HOLD请求为止,并且在接收到HOLD请求之后,状态可以恢复到NOT UPDATED。
由于使用此协议请求的改变有可能可导致链路本身停工,所以链路的每一方都可以在链路停工的情况下将其Tx抽头恢复到其原始设置。改变发送器方参数可能导致链路停止,并且在这种情况下,可以使用调整之前的初始设置。
图8描绘了可以使用实施例或者被实施例使用的网络接口。网络接口中的各种资源可以根据本文描述的实施例执行链路建立、链路训练或者链路重训练。在一些示例中,网络接口800包括网络接口、网络接口控制器或者网络接口卡。在一些示例中,网络接口800可以是交换机或者具有诸如处理器或存储器之类的设备的片上系统(system-on-chip,SoC)的一部分。网络接口800可包括收发器802、处理器804、发送队列806、接收队列808、存储器810、以及总线接口812、以及DMA引擎852。收发器802可能够接收和发送符合适当协议的分组,例如IEEE 802.3中描述的以太网,也可以使用其他协议。收发器802可以经由网络介质(未描绘)接收和发送来自和去往网络的分组。收发器802可包括PHY电路814和介质访问控制(media access control,MAC)电路816。PHY电路814可包括编码和解码电路(未示出),以根据适用的物理层规范或标准对数据分组进行编码和解码。MAC电路816可被配置为对接收到的分组执行MAC地址过滤,通过验证数据完好性来处理接收到的分组的MAC头部,去除前导和填充,并且提供分组内容以便由更高层处理。MAC电路816可被配置为将要发送的数据组装成分组,这些分组包括目的地和源地址以及网络控制信息和差错检测散列值。
处理器804可以是以下各项的任何一者或者其组合:处理器、核心、图形处理单元(GPU)、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、或者允许网络接口800的编程的其他可编程硬件设备。例如,处理器804可以提供标识资源来用于执行工作负载和生成比特流来在所选资源上执行。例如,“智能网络接口”可以利用处理器804在网络接口中提供分组处理能力。
分组分配器824可以使用本文描述的时隙分配或者RSS来提供对接收到的分组的分发,以便由多个CPU或核心处理。当分组分配器824使用RSS时,分组分配器824可以基于接收到的分组的内容计算散列或者作出另一确定,以确定哪个CPU或核心要处理分组。
中断合并(coalesce)822可以执行中断节制(moderation),由此,网络接口中断合并822等待多个分组到达,或者等待超时期满,然后才生成中断给主机系统,以处理接收到的(一个或多个)分组。接收片段合并(Receive Segment Coalescing,RSC)可由网络接口800执行,由此,传入分组的部分被组合成分组的片段。网络接口800将这个合并的分组提供给应用。
直接存储器访问(direct memory access,DMA)引擎852可以将分组头部、分组有效载荷和/或描述符直接从主机存储器拷贝到网络接口,或者反之,而不是将分组拷贝到主机处的中间缓冲器并随后使用从中间缓冲器到目的地缓冲器的另一拷贝操作。
存储器810可以是任何类型的易失性或非易失性存储器设备,并且可以存储用于对网络接口800编程的任何队列或指令。发送队列806可包括供网络接口发送的数据或者对数据的引用。接收队列808可包括由网络接口从网络接收的数据或者对数据的引用。描述符队列820可包括引用发送队列806或接收队列808中的数据或分组的描述符。总线接口812可提供与主机设备(未描绘)的接口。例如,总线接口812可以与PCI、快速PCI、PCI-x、串行ATA和/或USB兼容接口兼容(也可以使用其他互连标准)。
在一些示例中,可联系以下项来使用本文描述的网络接口和其他实施例:基站(例如,3G、4G、5G,等等),宏基站(例如,5G网络),皮站(picostation)(例如,IEEE 802.11兼容接入点),纳米站(nanostation)(例如,用于点对多点(Point-to-MultiPoint,PtMP)应用),驻地内数据中心,驻地外数据中心,边缘网络元件,雾网络元件,和/或混合数据中心(例如,使用虚拟化、云和软件定义联网来跨物理数据中心和分布式多云环境递送应用工作负载的数据中心)。
图9描绘了示例交换机。各种实施例可被用于交换机中或者与交换机一起使用来根据本文描述的实施例执行链路建立、链路训练或者链路重训练。交换机904可以将任何格式的或者按照任何规格的分组或帧从任何端口902-0至902-X路由到任何端口906-0至906-Y(或者反之)。端口902-0至902-X中的任何一者可以连接到一个或多个互连设备的网络。类似地,端口906-0至906-X中的任何一者可以连接到一个或多个互连设备的网络。交换机904可以使用将分组特性与关联的输出端口进行映射的表格来决定哪个端口传送分组或帧。例如,可以使用匹配动作表,由此分组的一部分的散列被用作索引来找到条目。此外,交换机904可以执行分组复制,以将分组或帧转发到多个端口,并且在传送到输出端口之前对分组或帧进行排队。一些实施例用P4编程语言实现散列查找,P4是一种编程语言,被设计为允许对数据平面中的分组转发进行编程。与诸如C或Python之类的通用语言不同,P4是特定领域的语言,有许多围绕网络数据转发而优化的结构。
图10描绘了一种系统。该系统可以使用本文描述的实施例来根据本文描述的实施例执行链路建立、链路训练或者链路重训练。系统1000包括处理器1010,该处理器为系统1000提供处理、操作管理和指令的执行。处理器1010可包括任何类型的微处理器、中央处理单元(CPU)、图形处理单元(GPU)、处理核心、或者用来为系统1000提供处理的其他处理硬件、或者处理器的组合。处理器1010控制系统1000的整体操作,并且可以是或者可以包括:一个或多个可编程通用或专用微处理器、数字信号处理器(digital signal processor,DSP)、可编程控制器、专用集成电路(application specific integrated circuit,ASIC)、可编程逻辑器件(programmable logic device,PLD)等等,或者这种设备的组合。
在一种示例中,系统1000包括与处理器1010耦合的接口1012,它可以代表更高速度的接口或者高吞吐量接口,用于需要更高带宽连接的系统组件,例如存储器子系统1020或图形接口组件1040,或者加速器1042。接口1012代表接口电路,它可以是独立的组件,或者可被集成到处理器管芯上。如果存在,则图形接口1040与图形组件相对接,用于向系统1000的用户提供视觉显示。在一种示例中,图形接口1040可以驱动向用户提供输出的高清晰度(high definition,HD)显示器。高清晰度可以指具有大约100PPI(每英寸像素)或更大的像素密度的显示器,并且可包括诸如全HD(例如,1080p)、视网膜显示器、4K(超高清或UHD)之类的格式或其他格式。在一种示例中,显示器可包括触摸屏显示器。在一种示例中,图形接口1040基于存储在存储器1030中的数据或基于由处理器1010执行的操作或这两者来生成显示。在一种示例中,图形接口1040基于存储在存储器1030中的数据或基于由处理器1010执行的操作或基于这两者来生成显示。
加速器1042可以是固定功能的负载转移(offload)引擎,该引擎可被处理器1010访问或使用。加速器1042可以使用存储器接口(例如,DDR4和DDR5)或者使用本文描述的任何联网或连接标准与处理器1010耦合。例如,加速器1042中的加速器可以提供按本文描述的方式进行的顺序和推测性解码操作、压缩(DC)能力、密码服务(例如公钥加密(publickey encryption,PKE))、密码、散列/认证能力、解密、或者其他能力或服务。在一些实施例中,额外地或者替换地,加速器1042中的加速器提供如本文所述的现场选择控制器能力。在一些情况下,加速器1042可以被集成到CPU插座(例如,包括CPU并且提供与CPU的电接口的主板或电路板的连接器)中。例如,加速器1042可包括单核或多核处理器、图形处理单元、逻辑执行单元、单级或多级缓存、可用来独立执行程序或线程的功能单元、专用集成电路(application specific integrated circuit,ASIC)、神经网络处理器(neural networkprocessor,NNP)、可编程控制逻辑、以及可编程处理元件,例如现场可编程门阵列(fieldprogrammable gate array,FPGA)。加速器1042可以提供多个神经网络、CPU、处理器核心、通用图形处理单元,或者图形处理单元可供人工智能(artificial intelligenc,AI)或机器学习(machine learning,ML)模型使用。例如,AI模型可以使用或包括以下各项的任何一者或者组合:强化学习方案、Q学习方案、深度Q学习、或者异步优势动作评价(AsynchronousAdvantage Actor-Critic,A3C)、组合神经网络、递归组合神经网络、或者其他AI或ML模型。多个神经网络、处理器核心或图形处理单元可供AI或ML模型使用。
存储器子系统1020代表系统1000的主存储器,并且为将由处理器1010执行的代码或者在执行例程时将要使用的数据值提供存储。存储器子系统1020可包括一个或多个存储器设备1030,例如只读存储器(read-only memory,ROM)、闪存、一个或多个品种的随机访问存储器(random access memory,RAM)(比如DRAM)、或者其他存储器设备、或者这种设备的组合。存储器1030存储和容宿——除其他外——操作系统(OS)1032,以为系统1000中的指令的执行提供软件平台。此外,应用1034可以在来自存储器1030的OS 1032的软件平台上执行。应用1034代表具有其自己的操作逻辑的程序,以执行一个或多个功能的执行。进程1036代表向OS 1032或一个或多个应用1034或者其组合提供辅助功能的代理或例程。OS 1032、应用1034和进程1036提供软件逻辑以为系统1000提供功能。在一种示例中,存储器子系统1020包括存储器控制器1022,它是用于生成和发出命令给存储器1030的存储器控制器。将会理解,存储器控制器1022可以是处理器1010的物理部分或者接口1012的物理部分。例如,存储器控制器1022可以是集成的存储器控制器,与处理器1010一起被集成到电路上。
在一些示例中,处理器1010可以为网络接口1050执行设备驱动器(未描绘)。OS1032可以从设备驱动器确定网络接口1050的能力。例如,OS 1032可以接收对网络接口1050的能力的指示,以执行以下能力或本文描述的能力中的一个或多个:链路训练时间延长、比排定时间更早开始链路训练、改变或设置默认链路训练时间、链路重训练、或者组件参数修改。OS 1032可以请求设备驱动器以使能或禁止网络接口1050执行本文描述的任何能力。在一些示例中,OS 1032本身可以使能或禁止网络接口1050执行本文描述的任何能力。OS1032可以向网络接口1050提供请求(例如,来自应用1034)以利用网络接口1050的一个或多个能力。例如,任何应用1034可以请求网络接口1050使用或不使用本文描述的任何能力。在一些示例中,数据中心管理员可以配置网络接口1050以执行本文描述的任何能力。
虽然没有具体图示,但将会理解,系统1000可包括设备之间的一个或多个总线或总线系统,例如存储器总线、图形总线、接口总线或者其他。总线或其他信号线可以将组件通信地或电气地耦合在一起,或者同时将组件通信地且电气地耦合。总线可包括物理通信线路、点到点连接、桥接器、适配器、控制器、或者其他电路或者这些的组合。总线可包括例如以下各项中的一项或多项:系统总线、外围组件互连(Peripheral ComponentInterconnect,PCI)总线、Hyper Transport或工业标准体系结构(industry standardarchitecture,ISA)总线、小型计算机系统接口(small computer system interface,SCSI)总线、通用串行总线(universal serial bus,USB)、或者电气与电子工程师学会(Institute of Electrical and Electronics Engineers,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的电力中断,该值仍被保留)。存储装置1084可以被笼统地认为是“存储器”,虽然存储器1030通常是执行或操作存储器,以提供指令给处理器1010。存储装置1084是非易失性的,而存储器1030可包括易失性存储器(例如,如果到系统1000的电力被中断,数据的值或状态是不确定的)。在一种示例中,存储子系统1080包括控制器1082来与存储装置1084相对接。在一种示例中,控制器1082是接口1014或处理器1010的物理部分,或者可包括处理器1010和接口1014两者中的电路或逻辑。
易失性存储器是一种存储器,其状态在到设备的电力被中断的情况下不确定(并且因此存储在其中的数据不确定)。动态易失性存储器可涉及刷新存储在设备中的数据以维持状态。动态易失性存储器的一种示例包括DRAM(动态随机访问存储器),或者某种变体,例如同步DRAM(SDRAM)。易失性存储器的示例包括缓存。如本文所述的存储器子系统可与若干个存储器技术兼容,例如DDR3(双倍数据速率版本3,由JEDEC(Joint Electronic DeviceEngineering Council,联合电子设备工程委员会)于2007年6月27日最初发布)、DDR4(DDR版本4,初始规范由JEDEC于2012年9月发布)、DDR4E(DDR版本4)、LPDDR3(低功率DDR版本3,JESD209-3B,2013年8月由JEDEC发布)、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,当前在被JEDEC讨论),或者其他存储器技术或存储器技术的组合,以及基于这种规范的衍生或扩展的技术。
非易失性存储器(non-volatile memory,NVM)设备是一种存储器,其状态即使在到该设备的电力被中断的情况下也是确定的。在一种实施例中,NVM设备可包括可块状寻址的存储器设备,例如NAND技术,或者更具体而言,多阈值级NAND闪存(例如,单级单元(Single-Level Cell,“SLC”)、多级单元(Multi-Level Cell,“MLC”)、四级单元(Quad-Level Cell,“QLC”)、三级单元(Tri-Level Cell,“TLC”)、或者一些其他NAND)。NVM设备还可包括可字节寻址的就地写入的三维交叉点存储器设备,或者其他可字节寻址的就地写入的NVM设备(也称为持续性存储器),例如单级或多级相变存储器(Phase Change Memory,PCM)或者带开关的相变存储器(phase change memory with a switch,PCMS),使用硫属化合物相变材料(例如,硫属化合物玻璃)的NVM设备,包括金属氧化物基、氧空位基、和导电桥随机访问存储器(Conductive Bridge Random Access Memory,CB-RAM)的电阻性存储器,纳米线存储器,铁电随机访问存储器(FeRAM、FRAM),包含了忆阻器技术的磁阻随机访问存储器(magneto resistive random access memory,MRAM),自旋转移矩(spin transfertorque,STT)-MRAM,基于自旋电子磁结存储器的设备,基于磁性隧道结(magnetictunneling junction,MTJ)的设备,基于畴壁(Domain Wall,DW)和自旋轨道转移(SpinOrbit Transfer,SOT)的设备,基于晶闸管的存储器设备,或者上述任何一项的组合,或者其他存储器。
电源(未描绘)向系统1000的组件提供电力。更具体而言,电源通常与系统1000中的一个或多个电力供应源相对接,以向系统1000的组件提供电力。在一种示例中,电力供应源包括AC到DC(交流电到直流电)适配器,以插入到壁式插座中。这种AC电力可以是可再生能量(例如,太阳能)电源。在一种示例中,电源包括DC电源,例如外部AC到DC转换器。在一种示例中,电源或电力供应源包括无线充电硬件,以经由接近充电场来充电。在一种示例中,电源可包括内部电池、交流供应源、基于运动的电力供应源、太阳能电力供应源、或者燃料电池源。
在一种示例中,可以使用处理器、存储器、存储装置、网络接口和其他组件的互连计算托架来实现系统1000。可以使用组件之间的高速互连,例如:以太网(IEEE 802.3)、远程直接存储器访问(remote direct memory access,RDMA)、InfiniBand、互联网广域RDMA协议(Internet Wide Area RDMA Protocol,iWARP)、快速UDP互联网连接(quick UDPInternet Connection,QUIC)、基于聚合以太网的RDMA(RDMA over Converged Ethernet,RoCE)、快速外围组件互连(Peripheral Component Interconnect express,PCIe)、英特尔QuickPath互连(QuickPath Interconnect,QPI)、英特尔超级路径互连(Ultra PathInterconnect,UPI)、英特尔片上系统架构(Intel On-Chip System Fabric,IOSF)、Omnipath、计算快速链路(Compute Express Link,CXL)、HyperTransport、高速架构、NVLink、高级微控制器总线体系结构(Advanced Microcontroller Bus Architecture,AMBA)互连、OpenCAPI、Gen-Z、加速器缓存相干互连(Cache Coherent Interconnect forAccelerator,CCIX)、3GPP长期演进(Long Term Evolution,LTE)(4G)、3GPP 5G、以及这些的变体。可以使用诸如基于架构的NVMe(NVMe over Fabrics,NVMe-oF)或NVMe之类的协议将数据拷贝或存储到虚拟化存储节点。
本文的实施例可被实现在各种类型的计算和联网设备中,例如交换机、路由器、机架和刀片服务器,例如在数据中心和/或服务器场环境中使用的那些。数据中心和服务器场中使用的服务器包括阵列式服务器配置,例如基于机架的服务器或刀片服务器。这些服务器经由各种网络配设在通信中互连,例如将服务器组划分为局域网(Local Area Network,LAN),在LAN之间有适当的交换和路由设施,以形成私有内联网。例如,云主机设施通常可采用具有众多服务器的大型数据中心。刀片包括单独的计算平台,该计算平台被配置为执行服务器类型的功能,即,“卡上服务器”。因此,刀片包括传统服务器所共有的组件,包括主印刷电路板(主板),其提供内部布线(例如,总线),用于耦合适当的集成电路(IC)和安装到板上的其他组件。
图11描绘了环境1100包括多个计算机架1102,其中一些包括机架顶部(Top ofRack,ToR)交换机1104、pod管理器1106、以及多个汇集式系统抽屉。各种实施例可被用于交换机中或者与交换机一起使用来根据本文描述的实施例执行链路建立、链路训练或者链路重训练。一般而言,汇集式系统抽屉可包括汇集式计算抽屉和汇集式存储抽屉。可选地,汇集式系统抽屉也可包括汇集式存储器抽屉和汇集式输入/输出(I/O)抽屉。在图示的实施例中,汇集式系统抽屉包括
Figure BDA0003595516860000311
汇集式计算机抽屉1108,以及
Figure BDA0003595516860000312
ATOMTM汇集式计算抽屉1110、汇集式存储抽屉1112、汇集式存储器抽屉1114、以及汇集式I/O抽屉1116。一些汇集式系统抽屉经由高速链路1118连接到ToR交换机1104,例如40千兆比特/秒(Gb/s)或100Gb/s以太网链路或100+Gb/s硅光子(Silicon Photonics,SiPh)光学链路。在一种实施例中,高速链路1118包括800Gb/s SiPh光学链路。
多个计算机架1102可以经由其ToR交换机1104互连(例如,到pod级交换机或数据中心交换机),如到网络1120的连接所示。在一些实施例中,经由(一个或多个)pod管理器1106将计算机架1102的群组作为分开的pod来管理。在一种实施例中,单个pod管理器被用于管理pod中的机架。或者,分布式pod管理器可被用于pod管理操作。
环境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。”
下面提供本文公开的设备、系统和方法的说明性示例。设备、系统和方法的实施例可包括下面描述的示例中的任何一个或多个,以及其任何组合。
本文图示的流程图提供了各种过程动作的序列的示例。流程图可指示要被软件或固件例程执行的操作、以及物理操作。在一种实施例中,流程图可图示出有限状态机(finite state machine,FSM)的状态,该有限状态机可被用硬件和/或软件来实现。虽然是按特定的序列或顺序示出的,但除非另有指明,否则可以修改动作的顺序。从而,图示的实施例应当只被理解为示例,而过程可按不同的顺序被执行,并且一些动作可被并行执行。此外,在各种实施例中可省略一个或多个动作;从而,并非所有动作在每一种实施例中都是必需的。其他过程流是可能的。
本文描述的各种组件可以是用于执行所描述的操作或功能的手段。本文描述的每个组件包括软件、硬件、或者这些的组合。这些组件可被实现为软件模块、硬件模块、专用硬件(例如,特定应用硬件、专用集成电路(ASIC)、数字信号处理器(DSP),等等)、嵌入式控制器、硬接线电路,等等。
示例1包括一种装置,包括:第一设备,包括与通信链路的通道相关联的发送器和接收器,其中:所述第一设备接收标识出将链路训练时间延长到超出第一链路训练时间的能力的通信;所述第一设备发送包括延长链路训练时间的能力的通信;并且所述第一设备基于接收到的所标识的能力和发送的所指示的能力来确定延长链路训练时间的量。
示例2包括任何示例,其中,所述第一链路训练时间包括默认链路训练时间。
示例3包括任何示例,其中,所确定的量是接收到的所标识的能力和发送的所指示的能力中的较小者。
示例4包括任何示例,其中,如果接收到的通信指示没有能力延长链路训练时间,则链路训练时间是默认链路训练时间。
示例5包括任何示例,其中,所述通信包括电气与电子工程师学会(IEEE)802.3兼容的下一页面。
示例6包括任何示例,其中,为了基于接收到的所标识的能力和发送的所指示的能力来确定延长链路训练时间的量,所述第一设备参与交换阶段以通告非IEEE兼容的能力。
示例7包括任何示例,其中,所述第一设备:通告一个或多个能力并且为所述通道选择操作模式,其中,所述一个或多个能力包括以下各项中的一项或多项:链路速度、前向纠错(FEC)能力、或者暂停能力。
示例8包括任何示例,其中,所述第一设备是与第二设备的链路伙伴,并且所述第一设备和第二设备参与链路训练阶段,持续时间为链路训练时间加上所确定的延长链路训练时间的量。
示例9包括任何示例,其中,所述链路训练阶段包括:请求所述第二设备的发送均衡器设置的改变,监视对所述第一设备的接收器处的链路质量的影响以确定接收信号特性,并且基于所述接收信号特性选择性地请求所述第二设备的发送均衡器设置的额外改变。
示例10包括任何示例,其中,所述接收信号特性包括以下各项中的一项或多项:误比特率(BER)、眼睛大小、信噪比(SNR)、或者链路差错,其中,所述链路差错包括以下各项中的一项或多项:不可纠正和可纠正的前向纠错(FEC)差错,伪随机比特序列(PRBS)差错,或者物理编码子层(PCS)差错。
示例11包括任何示例,其中,所述第一设备是在以下各项中的一项或多项中提供的:服务器,机架,或者数据中心。
示例12包括任何示例,并且包括一种确定延长链路训练的量的方法,该方法包括:由第一设备中的接收器通过通道从第二设备中的发送器接收信号,所述信号指示延长链路训练时间的能力和延长链路训练时间的量;在所述第一设备处基于默认链路训练时间和延长链路训练时间的量确定链路训练时间;并且基于所确定的链路训练时间执行链路训练。
示例13包括任何示例,其中,所确定的量是接收到的所标识的能力和发送的所指示的能力的最高共同值。
示例14包括任何示例,其中,如果接收到的通信指示没有能力延长链路训练时间,则链路训练时间是默认链路训练时间。
示例15包括任何示例,其中,指示延长链路训练时间的能力和延长链路训练时间的量的信号包括IEEE 802.3兼容的下一页面。
示例16包括任何示例,并且包括:由所述第一设备通告一个或多个能力;从链路伙伴接收一个或多个能力;并且为所述通道选择操作模式,其中,所述一个或多个能力包括以下各项中的一项或多项:链路速度、前向纠错(FEC)能力、或者暂停能力。
示例17包括任何示例,其中,所述第一设备是与第二设备的链路伙伴并且所述方法包括:与所述第二设备参与链路训练阶段,持续时间为链路训练时间加上所确定的延长链路训练时间的量。
示例18包括任何示例,其中,所述链路训练阶段包括:请求所述第二设备的发送均衡器设置的改变,监视对所述第一设备的接收器处的链路质量的影响以确定接收信号特性,并且基于所述接收信号特性选择性地请求所述第二设备的发送均衡器设置的额外改变。
示例19包括任何示例,其中,所述接收信号特性包括以下各项中的一项或多项:误比特率(BER)、眼睛大小、信噪比(SNR)、或者链路差错,其中,所述链路差错包括以下各项中的一项或多项:不可纠正和可纠正的前向纠错(FEC)差错,伪随机比特序列(PRBS)差错,或者物理编码子层(PCS)差错。
示例20包括任何示例,并且包括计算机可读介质,该计算机可读介质包括其上存储的指令,所述指令如果被一个或多个处理器执行,使得所述一个或多个处理器:参与链路训练,其中:所述一个或多个处理器接收标识延长链路训练时间的能力的通信;所述一个或多个处理器使得发送包括延长链路训练时间的能力的通信;并且所述一个或多个处理器基于接收到的所标识的能力和发送的所指示的能力来确定延长链路训练时间的量。
示例21包括任何示例,其中,所确定的量是接收到的所标识的能力和发送的所指示的能力中的较小者。
示例22包括任何示例,其中,如果接收到的通信指示没有能力延长链路训练时间,则链路训练时间是默认链路训练时间。

Claims (22)

1.一种装置,包括:
第一设备,所述第一设备包括与通信链路的通道相关联的发送器和接收器,其中:
所述第一设备用于接收如下通信,该通信标识将链路训练时间延长到超出第一链路训练时间的能力;
所述第一设备用于发送如下通信,该通信包括延长链路训练时间的能力;并且
所述第一设备用于基于接收到的所标识的能力和发送的所指示的能力来确定延长链路训练时间的量。
2.如权利要求1所述的装置,其中,所述第一链路训练时间包括默认链路训练时间。
3.如权利要求1所述的装置,其中,所确定的量是接收到的所标识的能力和发送的所指示的能力中的较小者。
4.如权利要求1所述的装置,其中,如果接收到的通信指示没有能力延长链路训练时间,则链路训练时间是默认链路训练时间。
5.如权利要求1所述的装置,其中,所述通信包括与电气与电子工程师学会(IEEE)802.3兼容的下一页面。
6.如权利要求1所述的装置,其中,为了基于接收到的所标识的能力和发送的所指示的能力来确定延长链路训练时间的量,所述第一设备用于参与交换阶段以通告与非IEEE兼容的能力。
7.如权利要求1所述的装置,其中,所述第一设备用于:
通告一个或多个能力;并且
针对所述通道选择操作模式,其中,所述一个或多个能力包括以下各项中的一项或多项:链路速度、前向纠错(FEC)能力、或者暂停能力。
8.如权利要求1所述的装置,其中,所述第一设备是第二设备的链路伙伴,并且所述第一设备和所述第二设备参与链路训练阶段,参与的持续时间为链路训练时间加上所确定的延长链路训练时间的量。
9.如权利要求8所述的装置,其中,所述链路训练阶段包括:
请求所述第二设备的发送均衡器设置的改变,
监视对所述第一设备的接收器处的链路质量的影响以确定接收信号特性,以及
基于所述接收信号特性选择性地请求所述第二设备的发送均衡器设置的额外改变。
10.如权利要求9所述的装置,其中,所述接收信号特性包括以下各项中的一项或多项:误比特率(BER)、眼睛大小、信噪比(SNR)、或者链路差错,其中,链路差错包括以下各项中的一项或多项:不可纠正和可纠正的前向纠错(FEC)差错、伪随机比特序列(PRBS)差错、或者物理编码子层(PCS)差错。
11.如权利要求1所述的装置,包括以下各项中的一项或多项:服务器、机架、或者数据中心,并且其中,所述第一设备是在以下各项中的一项或多项中提供的:所述服务器、机架、或者数据中心。
12.一种用于确定延长链路训练的量的方法,所述方法包括:
由第一设备中的接收器通过通道从第二设备中的发送器接收信号,所述信号指示延长链路训练时间的能力和延长链路训练时间的量;
在所述第一设备处基于默认链路训练时间和延长链路训练时间的量来确定链路训练时间;以及
基于所确定的链路训练时间来执行链路训练。
13.如权利要求12所述的方法,其中,所确定的量是接收到的所标识的能力和发送的所指示的能力的最高共同值。
14.如权利要求12所述的方法,其中,如果接收到的通信指示没有能力延长链路训练时间,则链路训练时间是默认链路训练时间。
15.如权利要求12所述的方法,其中,指示延长链路训练时间的能力和延长链路训练时间的量的信号包括与IEEE 802.3兼容的下一页面。
16.如权利要求12所述的方法,包括:
由所述第一设备通告一个或多个能力;
从链路伙伴接收一个或多个能力;以及
针对所述通道选择操作模式,其中,所述一个或多个能力包括以下各项中的一项或多项:链路速度、前向纠错(FEC)能力、或者暂停能力。
17.如权利要求12所述的方法,其中,所述第一设备是第二设备的链路伙伴,并且所述方法包括:
与所述第二设备参与链路训练阶段,参与的持续时间为链路训练时间加上所确定的延长链路训练时间的量。
18.如权利要求17所述的方法,其中,所述链路训练阶段包括:
请求所述第二设备的发送均衡器设置的改变,
监视对所述第一设备的接收器处的链路质量的影响以确定接收信号特性,以及
基于所述接收信号特性选择性地请求所述第二设备的发送均衡器设置的额外改变。
19.如权利要求18所述的方法,其中,所述接收信号特性包括以下各项中的一项或多项:误比特率(BER)、眼睛大小、信噪比(SNR)、或者链路差错,其中,链路差错包括以下各项中的一项或多项:不可纠正和可纠正的前向纠错(FEC)差错、伪随机比特序列(PRBS)差错、或者物理编码子层(PCS)差错。
20.一种计算机可读介质,该计算机可读介质包括存储在其上的指令,所述指令如果被一个或多个处理器执行,则使得所述一个或多个处理器:
参与链路训练,其中:
所述一个或多个处理器用于接收如下通信,该通信标识延长链路训练时间的能力;
所述一个或多个处理器用于使得发送如下通信,该通信包括延长链路训练时间的能力;并且
所述一个或多个处理器用于基于接收到的所标识的能力和发送的所指示的能力来确定延长链路训练时间的量。
21.如权利要求20所述的计算机可读介质,其中,所确定的量是接收到的所标识的能力和发送的所指示的能力中的较小者。
22.如权利要求20所述的计算机可读介质,其中,如果接收到的通信指示没有能力延长链路训练时间,则链路训练时间是默认链路训练时间。
CN202080071924.4A 2019-11-29 2020-09-25 针对链路启动协商的延长的链路训练时间 Pending CN114556814A (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962941949P 2019-11-29 2019-11-29
US201962941985P 2019-11-29 2019-11-29
US62/941,949 2019-11-29
US62/941,985 2019-11-29
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
PCT/US2020/052892 WO2021108026A1 (en) 2019-11-29 2020-09-25 Extended link-training time negotiated on link start-up

Publications (1)

Publication Number Publication Date
CN114556814A true CN114556814A (zh) 2022-05-27

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 After (1)

Application Number Title Priority Date Filing Date
CN202011025406.7A Pending CN112887234A (zh) 2019-11-29 2020-09-25 通信链路重新训练

Country Status (4)

Country Link
US (3) US11973624B2 (zh)
CN (2) CN114556814A (zh)
DE (2) DE112020005872T5 (zh)
WO (1) WO2021108026A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11973624B2 (en) 2019-11-29 2024-04-30 Intel Corporation Extended link-training time negotiated on link start-up
CN117520232A (zh) * 2020-05-30 2024-02-06 华为技术有限公司 一种均衡训练方法、装置及系统
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
WO2023279839A1 (zh) * 2021-07-08 2023-01-12 华为技术有限公司 一种链路协商系统、方法及设备
US11636061B2 (en) * 2021-09-01 2023-04-25 Xilinx, Inc. On-demand packetization for a chip-to-chip interface
CN114070720B (zh) * 2021-10-20 2024-03-29 浪潮金融信息技术有限公司 一种基于异步长连接技术的数据前置系统、方法及介质
WO2023215332A1 (en) * 2022-05-02 2023-11-09 Marvell Asia Pte Ltd Improving 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)

* Cited by examiner, † Cited by third party
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
EP2685760B1 (en) * 2011-07-27 2018-04-04 Huawei Technologies Co., Ltd. Device, link energy management method and link energy management system for peripheral component interconnect (pci) express
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
WO2014011224A1 (en) * 2012-07-10 2014-01-16 Intel Corporation Network system configured for resolving forward error correction during a data mode
AU2012384930A1 (en) * 2012-07-13 2015-02-05 Adaptive Spectrum And Signal Alignment, Inc. 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
CN109076269B (zh) 2016-06-30 2020-06-02 华为技术有限公司 一种通道训练的方法、装置及系统
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
US10868580B1 (en) 2019-08-28 2020-12-15 Marvell Asia Pte., Ltd. Ethernet link transmit power method based on alien crosstalk feedback
US11228340B1 (en) 2019-08-28 2022-01-18 Marvell Asia Pte, Ltd. Ethernet link transmit power method based on network provided 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
US11973624B2 (en) 2019-11-29 2024-04-30 Intel Corporation Extended link-training time negotiated on link start-up
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

Also Published As

Publication number Publication date
DE112020005872T5 (de) 2022-09-15
US20240243951A1 (en) 2024-07-18
US20210006330A1 (en) 2021-01-07
CN112887234A (zh) 2021-06-01
DE102020128258A1 (de) 2021-06-02
US11863357B2 (en) 2024-01-02
US11973624B2 (en) 2024-04-30
WO2021108026A1 (en) 2021-06-03
US20200412586A1 (en) 2020-12-31

Similar Documents

Publication Publication Date Title
US11973624B2 (en) Extended link-training time negotiated on link start-up
US11818237B2 (en) Device-to-device link training
US12058084B2 (en) Configuration scheme for link establishment
US11991025B2 (en) Transceiver parameter determination
US10944660B2 (en) Managing congestion in a network
US20200403919A1 (en) Offload of acknowledgements to a network device
US20110173352A1 (en) Power Reduction on Idle Communication Lanes
CN114696966A (zh) 可扩展的协议无关的可靠传输
US11424901B2 (en) Method and apparatus for synchronous signaling between link partners in a high-speed interconnect
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
US20240205311A1 (en) Ethernet auto-negotiation technology ability and forward error correction (fec) functions
US11706059B2 (en) Adaptation of at least one transmit equalizer setting
WO2024049517A1 (en) Signal de-correlation for training multi-lane ethernet interfaces
US20240235906A1 (en) Precoding during link establishment
US11909628B1 (en) Remote direct memory access (RDMA) multipath
US20220360359A1 (en) Communications system
US20240187336A1 (en) Routing transport flows in a transport layer over multiple paths in a network layer
TWI316665B (en) Method for link bandwidth management
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