一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

芯片端口链路训练连接的方法及应用与流程

2022-07-13 03:35:07 来源:中国专利 TAG:


1.本发明是关于通信领域,特别是关于一种芯片端口链路训练连接的方法及应用。


背景技术:

2.现代网络中,数据流量越来越大,一些环境下,如数据中心、园区网等环境下,对交换机芯片传输的速率要求越来越高。随着速率要求的提高,传输过程中的准确性就更难保证。
3.基于这样的情况,ieee中定义了背板/铜缆的自动协商机制,通过交换彼此的通讯能力来协商出最优的通讯能力来进行通讯。自动协商完成以后,两端会切换到协商的速率和模式,但由于背板/铜缆材料、长度等因素都会影响到链路的信号质量,所以此时的ffe参数未必能使得协商速率模式下链路信号质量足够好。因此在自动协商完成以后,还要进行链路训练。链路训练的目的是通过两端反复进行参数调整,得到最优的ffe参数,以提高接收的信号质量。
4.公开于该背景技术部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。


技术实现要素:

5.本发明的目的在于提供一种芯片端口链路训练连接的方法及应用,解决芯片端口在使用自动协商 链路训练的方式进行连接时,连接双方在本端端口和对端端口的链路训练都完成的情况下,从发送链路训练帧到发送数据帧的不同步会降低连接的成功率的问题。
6.为实现上述目的,本发明的实施例提供了一种芯片端口链路训练连接的方法。
7.在本发明的一个或多个实施方式中,所述方法包括:芯片的本端端口在链路训练帧发送完毕到接收到对端端口发送的数据帧前,等待预设时长;判断所述本端端口等待的预设时长是否超过循环等待时长;若否,判断所述本端端口是否收到对端端口发送的数据帧;若是,本端端口和对端端口完成链路连接,开始传输数据。
8.在本发明的一个或多个实施方式中,所述方法还包括:根据本端端口和对端端口在链路训练完成后持续发送链路训练帧的时长和数据在线路上传输的时长设置所述循环等待时长。
9.在本发明的一个或多个实施方式中,所述方法还包括:在所述本端端口未收到对端端口发送的数据帧时,继续等待,并判断等待的预设时长是否超过所述循环等待时长。
10.在本发明的一个或多个实施方式中,所述方法还包括:在所述本端端口等待的预设时长超过所述循环等待时长时,链路训练失败,重新进行自动协商和链路训练。
11.在本发明的另一个方面当中,提供了一种芯片端口链路训练连接的装置,其包括等待模块、判断模块和传输模块。
12.等待模块,用于供芯片的本端端口在链路训练帧发送完毕到接收到对端端口发送
的数据帧前,等待预设时长。
13.判断模块,用于判断所述本端端口等待的预设时长是否超过循环等待时长;和,判断所述本端端口是否收到对端端口发送的数据帧。
14.传输模块,用于供本端端口和对端端口完成链路连接,开始传输数据。
15.在本发明的一个或多个实施方式中,所述判断模块还用于:根据本端端口和对端端口在链路训练完成后持续发送链路训练帧的时长和数据在线路上传输的时长设置所述循环等待时长。
16.在本发明的一个或多个实施方式中,所述判断模块还用于:在所述本端端口未收到对端端口发送的数据帧时,继续等待,并判断等待的预设时长是否超过所述循环等待时长。
17.在本发明的一个或多个实施方式中,所述判断模块还用于:在所述本端端口等待的预设时长超过所述循环等待时长时,链路训练失败,重新进行自动协商和链路训练。
18.在本发明的另一个方面当中,提供了一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的芯片端口链路训练连接的方法。
19.在本发明的另一个方面当中,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如所述的芯片端口链路训练连接的方法的步骤。
20.与现有技术相比,根据本发明实施方式的芯片端口链路训练连接的方法及应用,其能够通过在链路训练完成到建立进一步连接过程中添加循环等待时间,使得链路训练完成后端口在一个可接受的时间范围内进行不断地循环判断是否收到数据帧,在不影响链路训练后的数据传输信号质量的前提下,大大提高连接的成功率,为芯片端口对接与使用提供了更有力的支撑。
附图说明
21.图1是根据本发明一实施方式的芯片端口链路训练连接的方法的流程图;
22.图2是根据本发明一实施方式的芯片端口链路训练连接的方法的具体流程图;
23.图3是根据本发明一实施方式的芯片端口链路训练连接的方法的循环等待时间示意图;
24.图4是根据本发明一实施方式的芯片端口链路训练连接的装置的结构图;
25.图5是根据本发明一实施方式的芯片端口链路训练连接的计算设备的硬件结构图。
具体实施方式
26.下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
27.除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
28.以下结合附图,详细说明本发明各实施例提供的技术方案。
29.实施例1
30.如图1至图3所示,介绍本发明的一个实施例中芯片端口链路训练连接的方法,该方法包括如下步骤。
31.在步骤s101中,芯片的本端端口在链路训练帧发送完毕到接收到对端端口发送的数据帧前,等待预设时长。
32.链路训练的目的是通过两端口反复进行参数调整,得到最优的ffe参数,以提高接收的信号质量。在链路训练开始以后,连接双方在接收到对端端口的信号以后,根据接收的信号质量,对对端的ffe参数进行调整,并通过链路训练帧将调整信息返回给对端。不断重复这个过程,直到本端端口认为接收到的信号质量满足要求,就说明本端链路训练的过程已经完成,同样会将本端端口链路训练完成的信息通过链路训练帧发送给对端。在未超时的前提下,本端链路训练完成,并且也收到了对端链路训练完成的信息时,认为链路训练过程完成。在链路训练完成的情况下,持续发送一段时间(25-125us)的链路训练帧后,就结束链路训练,开始发送数据。持续发送25-125us的链路训练帧,大约是40-200个链路训练帧的时间。
33.假设a端厂商设置的是在本端和对端链路训练都完成以后只发25us的链路训练帧就检测是否收到对端的数据帧,而b端厂商设置的是125us。在这种情况下,a端发送完25us的链路训练帧以后,在很短的时间内立刻检测是否收到b端的数据帧。此时b端还在持续发送链路训练帧,因此a端的链路训练失败。同样对于b端,在发送完125us的链路训练帧以后,a端已经链路训练失败,所以也无法收到a端的数据帧,链路训练同时失败了。
34.在链路训练完成的情况下,还需要持续发送一段时间的链路训练帧是为了保证对端收到本端链路训练已经完成的信息。能尽可能保证链路训练出来的ffe参数是当下环境中最优的ffe参数,从而最大可能保证传输的信号质量。但是在这种策略下,不同厂商在发送链路训练帧时间上选择的不同,会导致自动协商-链路训练这个流程在双方建立连接的成功率大大降低。
35.链路训练完成确保了传输的信号质量,接着两端就需要发送数据来与对端进行进一步的连接。在超高传输速率的应用场景下,在链路训练完成以后不会一直等待对端的数据来进行进一步的连接,如果时间过长,就会面临着换线、环境变化等因素导致的链路训练调节好的ffe参数不再是最优的问题。
36.因此,在本实施例中,在链路训练帧发送完毕到接收到对端端口发送的数据帧时,等待预设时间,并在循环等待时间内循环反复判断是否收到对端端口发送的数据帧,对对端端口发送数据帧的时间有了一定的容错处理,只要收到对端数据帧,就可以进行下一步的连接。
37.在步骤s102中,判断本端端口等待的预设时长是否超过循环等待时长。
38.为保证链路训练训练出来的ffe参数的有效性,在链路训练帧发送完毕以后,无法像非自动协商 链路训练模式的连接一样,无限时间等待对端发送数据帧。因此,需要选择一个合适的循环等待时间。
39.如图3所示,a端链路训练完成在b端之后完成,则a端首先进入发送持续的链路训练帧,b端在收到a端最后完成链路训练信息以后,再发送持续的链路训练帧。考虑最坏情况
下,a端只发送25us的链路训练帧,而b端发送125us的链路训练帧。则在a端发送完链路训练帧,开始发送数据帧的时候,b端至少还要发送100us以上的链路训练帧。假设数据在线路上传输的时间是t0,考虑到a端链路训练完成的信息发送到b端的时间以及b端最后一个链路训练帧从发出到到达a端的时间,a端在开始发送数据帧到收到b端发送的数据帧,所用时间为100us 2*t0。由于数据在线路上传输的时间极短,因此在本实施例中,循环等待时间选择100us-120us较为合适。
40.在本端端口等待的预设时长不超过循环等待时长时,继续判断本端端口是否收到对端端口发送的数据帧;在本端端口等待的预设时长超过循环等待时长时,链路训练失败,重新进行自动协商和链路训练。
41.在步骤s103中,判断本端端口是否收到对端端口发送的数据帧。
42.在本端端口收到对端端口发送的数据帧时,意味着本端和对端端口均已发送完链路训练帧,开始进行数据传输。在本端端口未收到对端端口发送的数据帧时,意味着,对端端口还在持续发送链路训练帧,链路训练未完成,此时继续等待,并判断等待的预设时长是否超过循环等待时长。
43.在步骤s104中,本端端口和对端端口完成链路连接,开始传输数据。
44.如图2所示,在本端和对端链路训练均完成后,发送一定时间的链路训练帧。发送链路训练帧完毕,开始发送数据帧,并在等待预设时间后,首先判断等待的预设时间是否超过循环等待时间,如果已经超时,则认为此次链路训练失败,结束此次链路训练。在未超时的前提下,判断是否收到对端的数据帧,如果没有收到,则继续等待下一次判断。如果已经收到对端的数据帧,则进行下一步的连接,循环判断过程结束,本端端口和对端端口完成链路连接,开始传输数据。
45.根据本发明实施方式的芯片端口链路训练连接的方法及应用,其能够通过在链路训练完成到建立进一步连接过程中添加循环等待时间,使得链路训练完成后端口在一个可接受的时间范围内进行不断地循环判断是否收到数据帧,在不影响链路训练后的数据传输信号质量的前提下,大大提高连接的成功率,为芯片端口对接与使用提供了更有力的支撑。
46.如图4所示,介绍根据本发明具体实施方式的芯片端口链路训练连接的装置。
47.在本发明的实施方式中,芯片端口链路训练连接的装置包括等待模块401、判断模块402和传输模块403。
48.等待模块401,用于供芯片的本端端口在链路训练帧发送完毕到接收到对端端口发送的数据帧前,等待预设时长。
49.判断模块402,用于判断本端端口等待的预设时长是否超过循环等待时长;和,判断本端端口是否收到对端端口发送的数据帧。
50.传输模块403,用于供本端端口和对端端口完成链路连接,开始传输数据。
51.判断模块402还用于:根据本端端口和对端端口在链路训练完成后持续发送链路训练帧的时长和数据在线路上传输的时长设置循环等待时长。
52.判断模块402还用于:在本端端口未收到对端端口发送的数据帧时,继续等待,并判断等待的预设时长是否超过循环等待时长。
53.判断模块402还用于:在本端端口等待的预设时长超过循环等待时长时,链路训练失败,重新进行自动协商和链路训练。
54.图5示出了根据本说明书的实施例的用于芯片端口链路训练连接的计算设备50的硬件结构图。如图5所示,计算设备50可以包括至少一个处理器501、存储器502(例如非易失性存储器)、内存503和通信接口504,并且至少一个处理器501、存储器502、内存503和通信接口504经由总线505连接在一起。至少一个处理器501执行在存储器502中存储或编码的至少一个计算机可读指令。
55.应该理解,在存储器502中存储的计算机可执行指令当执行时使得至少一个处理器501进行本说明书的各个实施例中以上结合图1-5描述的各种操作和功能。
56.在本说明书的实施例中,计算设备50可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动计算设备、智能电话、平板计算机、蜂窝电话、个人数字助理(pda)、手持装置、消息收发设备、可佩戴计算设备、消费电子设备等等。
57.根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本说明书的各个实施例中以上结合图1-5描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
58.根据本发明实施方式的芯片端口链路训练连接的方法及应用,其能够通过在链路训练完成到建立进一步连接过程中添加循环等待时间,使得链路训练完成后端口在一个可接受的时间范围内进行不断地循环判断是否收到数据帧,在不影响链路训练后的数据传输信号质量的前提下,大大提高连接的成功率,为芯片端口对接与使用提供了更有力的支撑。
59.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
60.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
61.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
62.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
63.前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献