一种PCIe器件链路训练管理方法、管理装置及服务器制造方法及图纸

技术编号:37125857 阅读:26 留言:0更新日期:2023-04-01 05:22
本发明专利技术涉及一种PCIe器件链路训练管理方法、管理装置、服务器、设备和存储介质,训练管理方法包括链路训练失败修复步骤,其包括:获取默认预设初始值Px、作为第k代初始值,用于对PCIe器件进行链路训练;判断PCIe器件的供应商ID、设备ID能否被正常读取;若不能被正常读取,则判定PCIe链路训练失败;获取预设初始值Py、作为新的第k代初始值,用于进行链路再训练;在对PCIe器件进行链路再训练后,按照第一等待时间再次判断PCIe器件的供应商ID、设备ID能否被正常读取;若能被正常读取,则判定PCIe链路训练成功。通过上述技术方案,可解决目前服务器主板上关键PCIe器件链路训练失败的问题。主板上关键PCIe器件链路训练失败的问题。主板上关键PCIe器件链路训练失败的问题。

【技术实现步骤摘要】
一种PCIe器件链路训练管理方法、管理装置及服务器


[0001]本专利技术涉及链路训练
,尤其是指一种PCIe器件链路训练管理方法、管理装置及服务器。

技术介绍

[0002]基于X86平台的服务器或存储服务器上,CPU使用PCIe高速总线与其他外设(如BMC芯片、网卡芯片、NTB、PCIe switch、可扩展的外插卡等)进行数据交互。其中,NTB、PCIe switch等外设一般作为关键器件焊接在主板上,称为板载器件;网卡、FC卡、sas卡等外设通过扩展槽进行连接,称为外插器件。
[0003]板载器件由于焊接在主板上,PCIe走线等都固化在PCB板上,因此要保证主板上PCIe链路SI信号的一致性。但是,当服务器生产数量很大时,难免出现一些一致性较差的主板;另外,板载器件的一致性也会有一定差异。这就导致个别主板的关键器件会因PCIe链路SI表现较差、而出现PCIe链路训练失败的情况。
[0004]PCIe链路训练中有PCIe均衡技术,其可以根据PCIe Tx Preset初值对EQ的均衡调整;从PCIe gen1到gen3、gen3到gen4、gen4到gen5阶段的链路训练,分别对应gen3 Tx Preset、gen4 Tx Preset、gen5 Tx Preset这几个PCIe发送端链路均衡参数预设值;每个阶段会在Tx Preset初值基础上进行微调整;
[0005]目前,intel平台针对gen3阶段会进行3次均衡调整,针对gen4、gen5会进行10次以上的均衡调整;其中,一般在gen3阶段会出现因初值设置不合理、导致无法完成gen1到gen3阶段训练的情况,从而导致链路训练失败。

技术实现思路

[0006]为了解决上述技术问题,本专利技术提供了一种PCIe器件链路训练管理方法、管理装置及服务器,所述PCIe器件链路训练管理方法用于解决目前服务器主板上关键PCIe器件链路训练失败的问题。
[0007]为实现上述目的,本专利技术提供一种PCIe器件链路训练管理方法,用于通过PCIe均衡技术对服务器主板关键PCIe器件进行链路训练管理,所述训练管理方法包括链路训练失败修复步骤,其包括:
[0008]从针对第k代PCIe协议设置的发送端链路均衡参数预设值合集中获取默认预设初始值Px、作为第k代初始值,用于对所述PCIe器件进行链路训练;其中,所述第k代初始值为针对第k代PCIe协议进行均衡调整时发送端链路均衡参数初始值,k不小于2;所述发送端链路均衡参数预设值合集的数据按照数值大小依次排列;
[0009]在通过所述第k代初始值对所述PCIe器件进行链路训练之后,判断所述PCIe器件的供应商ID、设备ID能否被正常读取;
[0010]若不能被正常读取,则判定PCIe链路训练失败;
[0011]从所述发送端链路均衡参数预设值合集中按照预设取值规则获取预设初始值Py、
作为新的第k代初始值,用于对所述PCIe器件进行链路再训练;
[0012]在对所述PCIe器件进行链路再训练后,按照第一等待时间再次判断所述PCIe器件的所述供应商ID、所述设备ID能否被正常读取;
[0013]若进行链路再训练后所述供应商ID、所述设备ID能被正常读取,则判定PCIe链路训练成功。
[0014]进一步的,在按照第一等待时间再次判断所述PCIe器件的所述供应商ID、所述设备ID能否被正常读取之后,所述链路训练失败修复步骤还包括:
[0015]若进行链路再训练后所述PCIe器件的供应商ID、设备ID不能被正常读取,则判定PCIe链路训练失败;
[0016]按照所述预设取值规则中的预设值增大方向和/或预设值减小方向依次从所述发送端链路均衡参数预设值合集中取值、作为新的第k代初始值,用于分别对所述PCIe器件进行链路再训练、直至PCIe链路训练成功。
[0017]进一步的,所述训练管理方法还包括链路稳定性检查步骤;所述链路稳定性检查步骤包括链路活跃度管理步骤,其包括:
[0018]在判定PCIe链路训练成功之后,判断链路活跃度标志位是否为1;
[0019]若所述链路活跃度标志位不为1,则按照预设再训练重试次数依次进行链路再训练;每次链路再训练时,将链路再训练标志位设为1、并按照第二预设时间间隔再次判断所述链路活跃度标志位是否为1。
[0020]进一步的,所述链路稳定性检查步骤还包括链路状态管理步骤,其包括:
[0021]当所述链路活跃度标志位为1时,判断链路状态信息中的链路速度是否小于速度预期值;若小于,则判定发生链路降速;其中,所述速度预期值与链路能力寄存器中最大链路速度的最小规格相匹配;
[0022]当所述链路活跃度标志位为1时,判断链路状态信息中的链路带宽是否小于带宽预期值;若小于,则判定发生链路降道;其中,所述带宽预期值与所述链路能力寄存器中最大链路带宽的最小规格相匹配。
[0023]进一步的,所述链路状态管理步骤还包括:
[0024]当发生链路降速和/或链路降道时,按照预设失能使能重复次数依次进行链路失能使能操作;每次链路失能使能操作时,设置链路控制寄存器中的失能位、并按照预设操作时间间隔设置失能与使能的时间间隔,按照第二等待时间重新读取所述链路状态信息,用于判断链路状态是否正常。
[0025]进一步的,所述链路活跃度管理步骤还包括:
[0026]若所述链路活跃度标志位为1,则将所述预设再训练重试次数、链路训练协商结果信息打印到日志、并写入CPLD寄存器中;其中,所述链路训练协商结果信息包括链路再训练成功时对应的新的第k代初始值。
[0027]进一步的,所述链路状态管理步骤还包括:
[0028]当所述链路状态信息正常时,记录日志、并向CPLD寄存器中写入链路训练成功标志。
[0029]进一步的,在判断所述PCIe器件的供应商ID、设备ID能否被正常读取之后,所述训练管理方法还包括:
[0030]若所述PCIe器件的所述供应商ID、所述设备ID能被正常读取,则判定PCIe链路训练成功、并记录日志。
[0031]进一步的,在照预设再训练重试次数依次进行链路再训练之后,所述链路活跃度管理步骤还包括:
[0032]当按照所述预设再训练重试次数依次进行链路再训练后、所述链路活跃度标志位均不为1时,将所述预设再训练重试次数与链路训练失败标志打印到日志、并写入CPLD寄存器中。
[0033]进一步的,在按照预设失能使能重复次数依次进行链路失能使能操作之后,所述链路状态管理步骤还包括:
[0034]当按照所述预设失能使能重复次数依次进行链路失能使能操作后、每次重试均发生链路降速和/或链路降道时,将所述预设失能使能重复次数与链路训练失败标志打印到日志、并写入CPLD寄存器中。
[0035]进一步的,在按照所述预设取值规则中的预设值增大方向和/或预设值减小方向依次从所述发送端链路均衡参数预设值合集中取值、作为新的第本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种PCIe器件链路训练管理方法,其特征在于,用于通过PCIe均衡技术对服务器主板关键PCIe器件进行链路训练管理,所述训练管理方法包括链路训练失败修复步骤,其包括:从针对第k代PCIe协议设置的发送端链路均衡参数预设值合集中获取默认预设初始值Px、作为第k代初始值,用于对所述PCIe器件进行链路训练;其中,所述第k代初始值为针对第k代PCIe协议进行均衡调整时发送端链路均衡参数初始值,k不小于2;所述发送端链路均衡参数预设值合集的数据按照数值大小依次排列;在通过所述第k代初始值对所述PCIe器件进行链路训练之后,判断所述PCIe器件的供应商ID、设备ID能否被正常读取;若不能被正常读取,则判定PCIe链路训练失败;从所述发送端链路均衡参数预设值合集中按照预设取值规则获取预设初始值Py、作为新的第k代初始值,用于对所述PCIe器件进行链路再训练;在对所述PCIe器件进行链路再训练后,按照第一等待时间再次判断所述PCIe器件的所述供应商ID、所述设备ID能否被正常读取;若进行链路再训练后所述供应商ID、所述设备ID能被正常读取,则判定PCIe链路训练成功。2.根据权利要求1所述的PCIe器件链路训练管理方法,其特征在于,在按照第一等待时间再次判断所述PCIe器件的所述供应商ID、所述设备ID能否被正常读取之后,所述链路训练失败修复步骤还包括:若进行链路再训练后所述PCIe器件的供应商ID、设备ID不能被正常读取,则判定PCIe链路训练失败;按照所述预设取值规则中的预设值增大方向和/或预设值减小方向依次从所述发送端链路均衡参数预设值合集中取值、作为新的第k代初始值,用于分别对所述PCIe器件进行链路再训练、直至PCIe链路训练成功。3.根据权利要求1或2所述的PCIe器件链路训练管理方法,其特征在于,所述训练管理方法还包括链路稳定性检查步骤;所述链路稳定性检查步骤包括链路活跃度管理步骤,其包括:在判定PCIe链路训练成功之后,判断链路活跃度标志位是否为1;若所述链路活跃度标志位不为1,则按照预设再训练重试次数依次进行链路再训练;每次链路再训练时,将链路再训练标志位设为1、并按照第二预设时间间隔再次判断所述链路活跃度标志位是否为1。4.根据权利要求3所述的PCIe器件链路训练管理方法,其特征在于,所述链路稳定性检查步骤还包括链路状态管理步骤,其包括:当所述链路活跃度标志位为1时,判断链路状态信息中的链路速度是否小于速度预期值;若小于,则判定发生链路降速;其中,所述速度预期值与链路能力寄存器中最大链路速度的最小规格相匹配;当所述链路活跃度标志位为1时,判断链路状态信息中的链路带宽是否小于带宽预期值;若小于,则判定发生链路降道;其中,所述带宽预期值与所述链路能力寄存器中最大链路带宽的最小规格相匹配。
5.根据权利要求4所述的PCIe器件链路训练管理方法,其特征在于,所述链路状态管理步骤还包括:当发生链路降速和/或链路降道时,按照预设失能使能重复次数依次进行链路失能使能操作;每次链路失能使能操作时,设置链路控制寄存器中的失能位、并按照预设操作时间间隔设置失能与使能的时间间隔,按照第二等待时间重新读取所述链路状态信息,用于判断链路状态是否正常。6.根据权利要求3所述的PCIe器件链路训练管理方法,其特征在于,所述链路活跃度管理步骤还包括:若所述链路活跃度标志位为1,则将所述预设再训练重试次数、链路训练协商结果信息打印到日志、并写入CPLD寄存器中;其中,所述链路训练协商结果信息包括链路再训练成功时对应的新的第k代初始值。7.根据权利要求4所述的PCIe器件链路训练管理方法,其特征在于,所述链路状态管理步骤还包括:当所述链路状态信息正常时,记录日志、并向CPLD寄存器中写入链路训练成功标志。8.根据权利要求1所述的PCIe器件链路训练管理方法,其特征在于,在判断所述PCIe器件的供应商ID、设备ID能否被正常读取之后,所述训练管理方法还包括:若所述PCIe器件的所述供应商ID、所述设备ID能被正常读取,则判定PCIe链路训练成功、并记录日志。9.根据权利要求3所述的PCIe器件链路训练管理方法,其特征在于,在照预设再训练重试次数依次进行链路再训练之后,所述链路活跃度管理步骤还包括:当按照所述预设再训练重试次数依次进行链路再训练后、所述链路活跃度标志位均不为1时,将所述预设再训练重试次数与链路训练失败标志打印到日志、并写入CPLD寄存器中。10.根据权利要求5所述的PCIe器件链路训练管理方法,其特征在于,在按照预设失能使能重复次数依次进行链路失能使能操作之后,所述链路状态管理步骤还包括:当按照所述预设失能使能重复次数依次进行链路失能使能操作后、每次重试均发生链路降速和/或链路降道时,将所述预设失能使能重复次数与链路训练失败标志打印到日志、...

【专利技术属性】
技术研发人员:管彦广
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1