一种PCIE链路训练方法、设备以及介质技术

技术编号:26478531 阅读:20 留言:0更新日期:2020-11-25 19:22
本发明专利技术公开了一种PCIE链路训练方法,包括以下步骤:响应于训练过程进入配置阶段,协商端向被协商端发送包括第一序列号的第一数据包;判断被协商端向协商端返回的数据包中是否具有第一序列号;响应于被协商端返回的数据包中不具有第一序列号,判断协商端向被协商端发送第一数据包的次数是否达第一预设次数;响应于没有达到第一预设次数,返回协商端向被协商端发送包括第一序列号的第一数据包的步骤。本发明专利技术还公开了一种计算机设备以及可读存储介质。本发明专利技术提出的方案能够有效压缩PCIE的训练时间,解决PCIE训练超时导致的业务中断的问题。通过只对耗时较少的Configuration进行反复重试,保证即便是出现异常状态也不会导致总训练时长超出200ms。

【技术实现步骤摘要】
一种PCIE链路训练方法、设备以及介质
本专利技术PCIE链路训练领域,具体涉及一种PCIE链路训练方法、设备以及存储介质。
技术介绍
如图1所示,现有的PCIE的训练流程,包括以下阶段:(1)Detect阶段:在这个阶段时,发送端TX需要检测接收端RX是否存在且可以正常工作,如果检测正常,才能进入下一阶段。(2)Polling阶段:进入Polling阶段后,TX和RX之间通过发送TS1、TS2OS序列来确定BitLock,SymbolLock以及解决Lane极性反转的问题。(3)Configuration阶段:通过发送TS1、TS2来确定Link/Lanenumber。(4)L0阶段:当进入这个阶段时,PCIe链路就可以开始正常工作了。这个状态可以传输TLP,DLLP等报文。(5)Recovery阶段:SpeedChange。因为第一次进入L0状态时,速率是2.5GT/s。当需要进行速率调整5.0GT/s或者8.0GT/s时,需要进入Recovery状态进行SpeedChange。这个阶段,BitLock、SymbolLock等都需要重新获取。也即PCIE训练的正常流程为:Detect->Polling->Configuration->L0->Rcovery->L0。当Configuration阶段异常时,其流程则变为Detect->Polling->Configuration->Detect->Polling->Configuration->,这样反复训练导致造成PCIE训练时间超过200ms,并且由于存储部分应用场景对PCIE训练过程有时间要求,当PCIE训练时间超过200ms,可能会导致系统超时,业务中断。
技术实现思路
有鉴于此,为了克服上述问题的至少一个方面,本专利技术实施例提出一种PCIE链路训练方法,包括以下步骤:响应于训练过程进入配置阶段,协商端向被协商端发送包括第一序列号的第一数据包;判断所述被协商端向所述协商端返回的数据包中是否具有所述第一序列号;响应于所述被协商端返回的数据包中不具有所述第一序列号,判断所述协商端向所述被协商端发送所述第一数据包的次数是否达第一预设次数;响应于没有达到所述第一预设次数,返回所述协商端向被协商端发送包括第一序列号的第一数据包的步骤。在一些实施例中,还包括:响应于所述被协商端返回的数据包中具有所述第一序列号,所述协商端向所述被协商端发送包含第二序列号的第二数据包;判断所述被协商端向所述协商端返回的数据包中是否具有第二序列号;响应于所述被协商端返回的数据包中不具有所述第二序列号,判断所述协商端向所述被协商端发送所述第二数据包的次数是否达第二预设次数;响应于没有达到所述第二预设次数,返回所述协商端向所述被协商端发送包括第二序列号的第二数据包的步骤。在一些实施例中,还包括:响应于达到所述第一预设次数,退出所述训练过程;响应于达到所述第二预设次数,退出所述训练过程。在一些实施例中,还包括:所述第一预设次数和第二预设次数之和为第三预设次数。在一些实施例中,还包括:获取预先保存在第一寄存器中的所述第一预设次数、所述第二预设次数以及所述第三预设次数。在一些实施例中,还包括:将所述协商端向所述被协商端发送所述第一数据包的次数和所述协商端向所述被协商端发送所述第二数据包的次数分别记录到预设的第二寄存器中以进行反馈;将所述配置阶段的协商时间记录到预设的第三寄存器中以进行反馈。在一些实施例中,还包括:响应于所述被协商端返回的数据包中具有所述第二序列号,结束所述配置阶段。在一些实施例中,结束所述配置阶段,进一步包括:所述协商端向所述被协商端发送第三数据包以结束所述配置阶段。基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机设备,包括:至少一个处理器;以及存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种PCIE链路训练方法的步骤。基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种PCIE链路训练方法的步骤。本专利技术具有以下有益技术效果之一:本专利技术提出的方案能够有效压缩PCIE的训练时间,解决PCIE训练超时导致的业务中断的问题。通过只对耗时较少的Configuration进行反复重试,保证即便是出现异常状态也不会导致总训练时长超出200ms。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。图1为现有技术中的训练过程;图2为本专利技术的实施例提供的PCIE链路训练方法的流程示意图;图3为本专利技术的实施例提供的计算机设备的结构示意图;图4为本专利技术的实施例提供的计算机可读存储介质的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。需要说明的是,本专利技术实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本专利技术实施例的限定,后续实施例对此不再一一说明。根据本专利技术的一个方面,本专利技术的实施例提出一种PCIE链路训练方法,如图2所示,其可以包括步骤:S1,响应于训练过程进入配置阶段,协商端向被协商端发送包括第一序列号的第一数据包;S2,判断所述被协商端向所述协商端返回的数据包中是否具有所述第一序列号;S3,响应于所述被协商端返回的数据包中不具有所述第一序列号,判断所述协商端向所述被协商端发送所述第一数据包的次数是否达第一预设次数;S4,响应于没有达到所述第一预设次数,返回所述协商端向被协商端发送包括第一序列号的第一数据包的步骤。本专利技术提出的方案能够有效压缩PCIE的训练时间,解决PCIE训练超时导致的业务中断的问题。通过只对耗时较少的Configuration进行反复重试,即当Configuration阶段异常时,流程由Detect->Polling->Configuration->Detect->Polling->Configuration->变为Detect->Polling->Configuration->…Con本文档来自技高网
...

【技术保护点】
1.一种PCIE链路训练方法,其特征在于,包括以下步骤:/n响应于训练过程进入配置阶段,协商端向被协商端发送包括第一序列号的第一数据包;/n判断所述被协商端向所述协商端返回的数据包中是否具有所述第一序列号;/n响应于所述被协商端返回的数据包中不具有所述第一序列号,判断所述协商端向所述被协商端发送所述第一数据包的次数是否达第一预设次数;/n响应于没有达到所述第一预设次数,返回所述协商端向被协商端发送包括第一序列号的第一数据包的步骤。/n

【技术特征摘要】
1.一种PCIE链路训练方法,其特征在于,包括以下步骤:
响应于训练过程进入配置阶段,协商端向被协商端发送包括第一序列号的第一数据包;
判断所述被协商端向所述协商端返回的数据包中是否具有所述第一序列号;
响应于所述被协商端返回的数据包中不具有所述第一序列号,判断所述协商端向所述被协商端发送所述第一数据包的次数是否达第一预设次数;
响应于没有达到所述第一预设次数,返回所述协商端向被协商端发送包括第一序列号的第一数据包的步骤。


2.如权利要求1所述的方法,其特征在于,还包括:
响应于所述被协商端返回的数据包中具有所述第一序列号,所述协商端向所述被协商端发送包含第二序列号的第二数据包;
判断所述被协商端向所述协商端返回的数据包中是否具有第二序列号;
响应于所述被协商端返回的数据包中不具有所述第二序列号,判断所述协商端向所述被协商端发送所述第二数据包的次数是否达第二预设次数;
响应于没有达到所述第二预设次数,返回所述协商端向所述被协商端发送包括第二序列号的第二数据包的步骤。


3.如权利要求2所述的方法,其特征在于,还包括:
响应于达到所述第一预设次数,退出所述训练过程;
响应于达到所述第二预设次数,退出所述训练过程。


4.如权利要求2所述的方法,其特征在于,还包括:
所述...

【专利技术属性】
技术研发人员:彭强上官宇剑
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1