CN113176963B - 一种PCIe故障自修复方法、装置、设备及可读存储介质 - Google Patents

一种PCIe故障自修复方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN113176963B
CN113176963B CN202110474250.9A CN202110474250A CN113176963B CN 113176963 B CN113176963 B CN 113176963B CN 202110474250 A CN202110474250 A CN 202110474250A CN 113176963 B CN113176963 B CN 113176963B
Authority
CN
China
Prior art keywords
error reporting
pcie
parameter
equipment
uce
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.)
Active
Application number
CN202110474250.9A
Other languages
English (en)
Other versions
CN113176963A (zh
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.)
Shandong Yingxin Computer Technology Co Ltd
Original Assignee
Shandong Yingxin Computer Technology Co Ltd
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 Shandong Yingxin Computer Technology Co Ltd filed Critical Shandong Yingxin Computer Technology Co Ltd
Priority to CN202110474250.9A priority Critical patent/CN113176963B/zh
Publication of CN113176963A publication Critical patent/CN113176963A/zh
Priority to US18/270,186 priority patent/US20240103961A1/en
Priority to PCT/CN2022/089743 priority patent/WO2022228499A1/zh
Application granted granted Critical
Publication of CN113176963B publication Critical patent/CN113176963B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种PCIe故障自修复方法,该方法在系统中PCIe链路运行时,通过获取PCIe链路中的CE报错次数和UCE报错次数实现对于系统运行状态监控,若CE报错次数达到对应的报错阈值,或,UCE报错次数达到对应的报错阈值时,从系统中移除报错设备,以避免报错设备对于系统运行持续带来的不利影响,并根据预先存储的服务器中所有PCIe设备的可调优参数修改报错设备的SI参数寄存器,自动优化报错设备SI参数,实现PCIe故障修复后重新接入系统,实现故障自修复,从而减少运维人员和服务器客服人员参与更换设备所带来的实现成本。本发明还公开了一种PCIe故障自修复装置、设备及可读存储介质,具有相应的技术效果。

Description

一种PCIe故障自修复方法、装置、设备及可读存储介质
技术领域
本发明涉及设备运维技术领域,特别是涉及一种PCIe故障自修复方法、装置、设备及可读存储介质。
背景技术
PCIe(peripheral component interconnect express,一种高速串行计算机扩展总线标准)设备在服务器中是必不可少的组成部分,服务器的性能,计算,功能等都与PCIe设备有关,PCIe设备还涉及服务器的计算(如GPU,FPGA),存储(如SAS HBA,NVME SSD),网络(NIC)等,起着重要的作用。
在使用过程中,随着设备的长时间运行及设备的老化,以及复杂PCIe链路中多设备的共同影响,可能会出现PCIe报错。目前系统运行后,服务器系统会有自动报错机制,系统中出现PCIe报错时,一些小问题可以自动修复,但是大部分问题系统无法自动修复,会导致系统运行受阻,甚至会导致机器宕机或者重启,导致设备无法正常运行;而且,PCIe报错大部分是由运维人员人工进行故障判断以及故障排查的,导致运维人员人力的消耗及设备更换带来的成本增加。
综上所述,如何降低PCIe报错对系统运行的影响,同时降低PCIe运维成本,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种PCIe故障自修复方法、装置、设备及可读存储介质,可以降低PCIe报错对系统运行的影响,同时降低PCIe运维成本。
为解决上述技术问题,本发明提供如下技术方案:
一种PCIe故障自修复方法,包括:
当PCIe链路根据默认SI参数进行数据处理时,获取所述PCIe链路中的CE报错次数和UCE报错次数;其中,所述默认SI参数为系统启动后自动训练生成的SI参数;
判断所述CE报错次数和所述UCE报错次数是否达到对应的报错阈值;
若所述CE报错次数达到对应的报错阈值,或,所述UCE报错次数达到对应的报错阈值,则定位报错设备,并移除所述报错设备;
读取预先存储的PCIe调优参数中所述报错设备对应的待调用参数,作为目标参数;
将所述报错设备的默认SI参数替换为所述目标参数;
将所述报错设备作为正常设备接入系统。
可选地,所述当PCIe链路根据默认SI参数进行数据处理时,获取所述PCIe链路中的CE报错次数和UCE报错次数,包括:
当PCIe链路根据默认SI参数进行数据处理时,轮询PCIE设备的CE寄存器和UCE寄存器;
将所述CE寄存器中记录的receiver error count计数作为所述CE报错次数,将所述UCE寄存器中记录的receiver error count计数作为所述UCE报错次数。
可选地,所述读取预先存储的PCIe调优参数中所述报错设备对应的待调用参数,作为目标参数,包括:
读取BMC EEPROM中存放的PCIe调优参数;
根据所述报错设备的B/D/F number确定对应的SI参数存放位置,作为目标位置;
确定所述目标位置下优先级最高的调优参数,作为待调用参数;
读取所述待调用参数。
可选地,在所述将所述报错设备作为正常设备接入系统之前,还包括:
将所述报错设备作为可疑设备接入系统;
执行所述获取所述PCIe链路中的CE报错次数和UCE报错次数的步骤;直至所述CE报错次数未达到对应的报错阈值,且,所述UCE报错次数未达到对应的报错阈值时,执行所述将所述报错设备作为正常设备接入系统的步骤。
一种PCIe故障自修复装置,包括:
运行监控单元,用于当PCIe链路根据默认SI参数进行数据处理时,获取所述PCIe链路中的CE报错次数和UCE报错次数;其中,所述默认SI参数为系统启动后自动训练生成的SI参数;
运行判断单元,用于判断所述CE报错次数和所述UCE报错次数是否达到对应的报错阈值;
故障移除单元,用于若所述CE报错次数达到对应的报错阈值,或,所述UCE报错次数达到对应的报错阈值,则定位报错设备,并移除所述报错设备;
参数读取单元,用于读取预先存储的PCIe调优参数中所述报错设备对应的待调用参数,作为目标参数;
故障修复单元,用于将所述报错设备的默认SI参数替换为所述目标参数;
设备接入单元,用于将所述报错设备作为正常设备接入系统。
可选地,所述运行监控单元包括:
寄存器轮询子单元,用于当PCIe链路根据默认SI参数进行数据处理时,轮询PCIE设备的CE寄存器和UCE寄存器;
数据读取子单元,用于将所述CE寄存器中记录的receiver error count计数作为所述CE报错次数,将所述UCE寄存器中记录的receiver error count计数作为所述UCE报错次数。
可选地,所述参数读取单元包括:
数据读取子单元,用于读取BMC EEPROM中存放的PCIe调优参数;
数据定位子单元,用于根据所述报错设备的B/D/F number确定对应的SI参数存放位置,作为目标位置;
目标确定子单元,用于确定所述目标位置下优先级最高的调优参数,作为待调用参数;
目标读取子单元,用于读取所述待调用参数。
可选地,所述PCIe故障自修复装置还包括:可疑监控单元,所述可疑监控单元用于将所述报错设备作为可疑设备接入系统;触发所述运行监控单元执行所述获取所述PCIe链路中的CE报错次数和UCE报错次数的步骤;直至所述CE报错次数未达到对应的报错阈值,且,所述UCE报错次数未达到对应的报错阈值时,触发所述设备接入单元执行所述将所述报错设备作为正常设备接入系统的步骤。
一种PCIe故障自修复设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现上述PCIe故障自修复方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述PCIe故障自修复方法的步骤。
本发明实施例所提供的方法,在系统中PCIe链路运行时,通过获取PCIe链路中的CE报错次数和UCE报错次数实现对于系统运行状态监控,若CE报错次数达到对应的报错阈值,或,UCE报错次数达到对应的报错阈值时,判定当前PCIe有故障,从系统中移除报错设备,以避免报错设备持续运行对于系统运行持续带来的不利影响,并根据预先存储的服务器中所有PCIe设备的可调优参数修改报错设备的SI参数寄存器,自动优化报错设备SI参数,通过调优SI参数实现PCIe故障修复后重新接入系统,实现故障自修复,减少运维人员和服务器客服人员参与更换设备所带来的实现成本以及对于系统运行的不利影响,优化系统运行。
相应地,本发明实施例还提供了与上述PCIe故障自修复方法相对应的PCIe故障自修复装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种PCIe故障自修复方法的实施流程图;
图2为本发明实施例中一种EEPROM存放调优参数的格式示意图;
图3为本发明实施例中一种PCIe故障自修复装置的结构示意图;
图4为本发明实施例中一种PCIe故障自修复设备的结构示意图。
具体实施方式
本发明的核心是提供一种PCIe故障自修复方法,可以降低PCIe报错对系统运行的影响,同时降低PCIe运维成本。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例中一种PCIe故障自修复方法的流程图,该方法包括以下步骤:
S101、当PCIe链路根据默认SI参数进行数据处理时,获取PCIe链路中的CE报错次数和UCE报错次数;
服务器开机后,PCIe协议的自动training(PCIe链路训练)过程可以生成PCIe设备的SI参数(具体包括设备Tx preset值、上行端口Rx coefficient参数、上行端口Tx preset值、设备Rx coefficient参数等参数),作为默认SI参数,该过程延续传统实现方式,本实施例中对此不做改动。
在生成默认SI参数后,则在PCIe链路中所有PCIe设备都根据该默认SI参数进行数据的处理,其中,PCIe链路中可以包括若干PCIe设备(本实施例中基于PCIe总线标准运行的设备均可称为PCIe设备,在此对于具体的设备类型以及设备用途不做限定),对于PCIe链路中的PCIe设备数量不做限定,每个PCIe设备都根据该默认SI参数进行数据的处理。
PCIe的错误可以分为可修复错误(CEs,简称为CE)和不可修复错误(UCEs,简称为UCE)。系统启动后,服务器系统中设置有自动报错机制,系统中出现PCIe报错时,可修复错误(CE)可以自动地被硬件识别并被自动的校正或恢复,但是UCE系统无法自动修复,BIOS获取到PCIe报错后上报给BMC,记录日志,即系统自身会记录CE报错次数和UCE报错次数,本实施例中只需获取系统记录的CE报错次数和UCE报错次数进行判断即可。如果系统自身没有记录或者读取不到系统记录的报错信息,也可以设置相应的报错检测机制,本实施例中对此不做限定。
为了简化实现流程,提升报错次数获取效率,获取PCIe链路中的CE报错次数和UCE报错次数的过程具体可以通过轮询PCIE设备的CE寄存器和UCE寄存器;将CE寄存器中记录的receiver error count计数作为CE报错次数,将UCE寄存器中记录的receiver errorcount计数作为UCE报错次数来实现。
该方式在服务器系统运行过程中监控PCIe设备和Root port(CPU PCIe端口)端的报错寄存器,通过轮询PCIE设备的CE寄存器和UCE寄存器,实时监控PCIE设备的运行状态,获取CE的receiver error count的计数以及UCE的receiver error count的计数,判断PCIE设备是否出现(CE或UCE)故障。该方式通过寄存器的直接读取,简化了实现方式,同时该寄存器中记录的数值为系统监测后写入,数据精准,可以保证获取数据的准确率。本实施例中仅以上述报错次数获取方式为例进行介绍,其它途径的数据获取方式(比如读取BadTLP count,Bad DLLP count寄存器的计数值)均可参照本实施例的介绍,在此不再赘述。
S102、判断CE报错次数和UCE报错次数是否达到对应的报错阈值;
虽然系统在CE出现时会启动触发修复,以解决CE出现对于系统的影响,但是短时间内出现多次PCIe CE也可能是SI(Signal integrity,信号完整性)信号质量的问题,需要及时处理,否则系统中会继续出现大量的CE,不仅会影响系统的正常运行,还会影响系统运行效率。
同时UCE(不可修复错误)触发时问题比较严重,不可修复错误分为非致命的(Non-Fatal)和致命的(Fatal),这就可能会造成数据传输错误、数据传输速率降低等问题,从而影响服务器性能,导致机器宕机或者重启,甚至设备无法正常运行,而目前对于UCE只能等待运维人员参与解决,而若运维人员没有及时发现或解决修复UCE,UCE对于系统运行所带来的影响将无法估量。
本实施例中为了系统运行中避免频繁出现CE对于系统运行效率以及稳定性的影响,也为了避免UCE不能及时人工处理对于系统运行的影响,设置了CE报错次数对应的报错阈值以及UCE报错次数对应的报错阈值,根据两阈值对CE报错次数和UCE报错次数进行故障衡量,分别判断CE报错次数是否达到对应的报错阈值,以及判断UCE报错次数是否达到对应的报错阈值。其中,两报错阈值的具体数值设定本实施例中不做限定,可以根据实际经验进行相应设定,比如CE报错次数可以设置为50,UCE报错次数对应的报错阈值可以设置为1等,在此不再赘述。
S103、若CE报错次数达到对应的报错阈值,或,UCE报错次数达到对应的报错阈值,则定位报错设备,并移除报错设备;
若CE报错次数达到对应的报错阈值,指示当前CE出现频率较高,可能会对系统运行的稳定性以及运行效率产生影响;若UCE报错次数达到对应的报错阈值,指示存在UCE,可能会对系统运行产生影响。
本实施例中在CE报错次数达到对应的报错阈值,或,UCE报错次数达到对应的报错阈值,或,CE报错次数与述UCE报错次数同时达到对应的报错阈值时,判定存在设备故障,启动下述步骤的故障自修复。
故障自修复中首先需要定位报错设备,上报该机器故障,同时整个运行集群暂时移除该报错设备,以避免报错设备对于系统运行的持续影响,而其中,定位报错设备的实现方式本实施例中不做限定,比如可以读取报错信息中的B/D/F number,并确定B/D/Fnumber对应的设备,作为报错设备,本实施例中仅以上述定位方式为例进行介绍,其它实现方式均可参照本实施例的介绍,在此不做限定。
若CE报错次数未达到对应的报错阈值,或,UCE报错次数未达到对应的报错阈值,本实施例中对于该种情况下的处理方式不做限定,可以不予响应,也可以输出提示信息,以提示相关技术人员看到提示信息后进行人工维护等。
S104、读取预先存储的PCIe调优参数中报错设备对应的待调用参数,作为目标参数;
确认报错设备移出使用后,保证报错设备不会对系统的运行继续产生负面影响后,进行报错设备的PCIe SI参数修订。经申请人分析发现,CE和UCE频繁出现的原因可能是可能是由于PCIe协议的自动training(PCIe链路训练的过程)得到的SI值非最优值,如果自动training过程未得到最合适的SI参数,可能会有UCE报错,或者短时间内大量的CE报错。因此本实施例中在确定设备故障后针对报错设备的SI值进行修正,以实现故障设备的修复。
本实施例中预先设置若干组PCIe调优参数,PCIe调优参数中包括每个PCIe设备的若干组SI建议值,每个设备的每个SI建议值都是提前设置的具有良好的数据处理效果的优选SI参数,在实际运行过程中确定报错设备故障(即CE报错次数达到对应的报错阈值,或,UCE报错次数达到对应的报错阈值),根据预先存储的PCIe调优参数对报错设备的SI值进行优化替换,修改报错设备和相对端口的SI参数,例如Lane Equalization Control寄存器中的Tx Preset值,优选参数已提前设置到BMC的EEPROM中,需调用参数时,BIOS与BMC通信,通过PCIE设备的BDF获取依次推荐的参数调优值。而PCIe链路中除了报错设备之外的设备的SI参数可以不用调整,在此不做限定。
本实施例中对于预先存储的PCIe调优参数的具体的存储格式不做限定,可以设置不同读取优先级下所有设备对应的SI参数,也可以设置不同设备下对应的不同的读取优先级的SI参数。另外,对于其中的设备SI参数识别方式不做限定,可以以设备名作为检索条件,也可以以设备其它唯一性信息作为检索条件等,可以根据实际使用需要进行存储格式的设定。
读取预先存储的PCIe调优参数中报错设备对应的待调用参数的实现方式具体可以包括以下步骤:
(1)读取BMC EEPROM中存放的PCIe调优参数;
(2)根据报错设备的B/D/F number确定对应的SI参数存放位置,作为目标位置;
同一配置的服务器中PCIe设备的Bus/Device/Function Number(B/D/Fnumber)是固定的,因此本实施例中将B/D/F number作为设备检索条件,同时按照设备B/D/F number顺序存放,可以加快检索速度,提升故障修复效率。
(3)确定目标位置下优先级最高的调优参数,作为待调用参数;
每个PCIe设备提前测试好几组可以调优的SI参数,包括设备Tx preset值、上行端口Rx coefficient参数、上行端口Tx preset值、设备Rx coefficient参数等,按照设备B/D/F number顺序存放,(存放位置本实施例中不做限定,本实施例中以存放在BMC的EEPROM中为例,也可以存在在其它位置,实现方式可以参照本实施例,在此不再赘述),如图2所示为一种EEPROM存放调优参数的格式示意图,本实施例中仅以该种参数存放方式为例进行介绍,其它存放方式均可参照本实施例的介绍,在此不再赘述。
(4)读取待调用参数。
本实施例提供的参数读取方法中,BIOS与BMC通信,读取BMC EEPROM中存放的PCIe调优参数,通过PCIE设备的B/D/F number找到对应的SI参数存放位置,按照优先级由高到低依次读取(比如将排列顺序作为优先级,由前到后依次读取,本实施例中仅以该种优先级设置以及确定方式为例进行介绍)推荐的参数调优值作为待调用参数进行读取。
S105、将报错设备的默认SI参数替换为目标参数。
将报错设备的替换默认SI参数替换为目标参数,比如在Lane EqualizationControl寄存器中写入Tx Preset值,在RX coefficient寄存器中写入RX coefficient系数,控制报错设备根据目标参数进行数据处理,需要说明的是,在将报错设备中原有控制的默认SI参数条混为目标参数后,报错设备按照目标参数进行数据处理的过程可以参照上述步骤,在此不再赘述。
S106、将报错设备作为正常设备接入系统。
上述步骤S103中为了避免报错设备对于系统运行的影响,将其移除系统,经过步骤S104和S105的报错设备修复后,可以将其作为正常设备重新接入系统,以增加系统中可用设备的数量,提升系统处理效率。
而进一步地,为了提升报错设备接入系统后设备的正常运行,在将报错设备作为正常设备接入系统之前,可以进一步执行以下步骤:
(1)将报错设备作为可疑设备接入系统;
作为可疑设备的具体实现可以对其添加可疑标签,或者作为重点监测对象等,本实施例中对此不做限定。
(2)执行获取PCIe链路中的CE报错次数和UCE报错次数的步骤;直至CE报错次数未达到对应的报错阈值,且,UCE报错次数未达到对应的报错阈值时,执行将报错设备作为正常设备接入系统的步骤。
优化报错设备的SI参数后,对报错设备进行再次监控,BIOS服务PCIe报错寄存器看是否有UCE和短时间内大量CE报错,如果有,继续调优,如果没有报错,设备稳定运行后,再告知集群运行系统,将该设备作为正常设备接入系统;如果还是有多次UCE报错或短时间内大量CE报错,则调用第二优先级的调优参数,再次对报错设备的SI参数进行调优,该方式可以保证接入系统的设备运行的稳定性,从而保证系统运行的稳定性。
基于上述介绍,本发明实施例所提供的技术方案,在系统中PCIe链路运行时,通过获取PCIe链路中的CE报错次数和UCE报错次数实现对于系统运行状态监控,若CE报错次数达到对应的报错阈值,或,UCE报错次数达到对应的报错阈值时,判定当前PCIe有故障,从系统中移除报错设备,以避免报错设备持续运行对于系统运行持续带来的不利影响,并根据预先存储的服务器中所有PCIe设备的可调优参数修改报错设备的SI参数寄存器,自动优化报错设备SI参数,通过调优SI参数实现PCIe故障修复后重新接入系统,实现故障自修复,减少运维人员和服务器客服人员参与更换设备所带来的实现成本以及对于系统运行的不利影响,优化系统运行。
相应于上面的方法实施例,本发明实施例还提供了一种PCIe故障自修复装置,下文描述的PCIe故障自修复装置与上文描述的PCIe故障自修复方法可相互对应参照。
参见图3所示,该装置包括以下模块:
运行监控单元110主要用于当PCIe链路根据默认SI参数进行数据处理时,获取PCIe链路中的CE报错次数和UCE报错次数;其中,默认SI参数为系统启动后自动训练生成的SI参数;
运行判断单元120主要用于判断CE报错次数和UCE报错次数是否达到对应的报错阈值;
故障移除单元130主要用于若CE报错次数达到对应的报错阈值,或,UCE报错次数达到对应的报错阈值,则定位报错设备,并移除报错设备;
参数读取单元140主要用于读取预先存储的PCIe调优参数中报错设备对应的待调用参数,作为目标参数;
故障修复单元150主要用于将报错设备的默认SI参数替换为目标参数;
设备接入单元160主要用于将报错设备作为正常设备接入系统。
在本发明的一种具体实施方式中,运行监控单元包括:
寄存器轮询子单元,用于当PCIe链路根据默认SI参数进行数据处理时,轮询PCIE设备的CE寄存器和UCE寄存器;
数据读取子单元,用于将CE寄存器中记录的receiver error count计数作为CE报错次数,将UCE寄存器中记录的receiver error count计数作为UCE报错次数。
在本发明的一种具体实施方式中,参数读取单元包括:
数据读取子单元,用于读取BMC EEPROM中存放的PCIe调优参数;
数据定位子单元,用于根据报错设备的B/D/F number确定对应的SI参数存放位置,作为目标位置;
目标确定子单元,用于确定目标位置下优先级最高的调优参数,作为待调用参数;
目标读取子单元,用于读取待调用参数。
在本发明的一种具体实施方式中,PCIe故障自修复装置还包括:可疑监控单元,可疑监控单元用于将报错设备作为可疑设备接入系统;触发运行监控单元执行获取PCIe链路中的CE报错次数和UCE报错次数的步骤;直至CE报错次数未达到对应的报错阈值,且,UCE报错次数未达到对应的报错阈值时,触发设备接入单元执行将报错设备作为正常设备接入系统的步骤。
相应于上面的方法实施例,本发明实施例还提供了一种PCIe故障自修复设备,下文描述的一种PCIe故障自修复设备与上文描述的一种PCIe故障自修复方法可相互对应参照。
该PCIe故障自修复设备包括:
存储器,用于存储计算机程序;
处理器,用于执行计算机程序时实现上述方法实施例的PCIe故障自修复方法的步骤。
具体的,请参考图4,为本实施例提供的一种PCIe故障自修复设备的具体结构示意图,该PCIe故障自修复设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在PCIe故障自修复设备301上执行存储器332中的一系列指令操作。
PCIe故障自修复设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
上文所描述的PCIe故障自修复方法中的步骤可以由PCIe故障自修复设备的结构实现。
相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种PCIe故障自修复方法可相互对应参照。
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的PCIe故障自修复方法的步骤。
该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

Claims (8)

1.一种PCIe故障自修复方法,其特征在于,包括:
当PCIe链路根据默认SI参数进行数据处理时,获取所述PCIe链路中的CE报错次数和UCE报错次数;其中,所述默认SI参数为系统启动后自动训练生成的SI参数;
判断所述CE报错次数和所述UCE报错次数是否达到对应的报错阈值;
若所述CE报错次数达到对应的报错阈值,或,所述UCE报错次数达到对应的报错阈值,则定位报错设备,并移除所述报错设备;
读取预先存储的PCIe调优参数中所述报错设备对应的待调用参数,作为目标参数;
将所述报错设备的默认SI参数替换为所述目标参数;
将所述报错设备作为可疑设备接入系统;
执行所述获取所述PCIe链路中的CE报错次数和UCE报错次数的步骤;直至所述CE报错次数未达到对应的报错阈值,且,所述UCE报错次数未达到对应的报错阈值时,将所述报错设备作为正常设备接入系统。
2.根据权利要求1所述的PCIe故障自修复方法,其特征在于,所述当PCIe链路根据默认SI参数进行数据处理时,获取所述PCIe链路中的CE报错次数和UCE报错次数,包括:
当PCIe链路根据默认SI参数进行数据处理时,轮询PCIe设备的CE寄存器和UCE寄存器;
将所述CE寄存器中记录的receiver error count计数作为所述CE报错次数,将所述UCE寄存器中记录的receiver error count计数作为所述UCE报错次数。
3.根据权利要求1所述的PCIe故障自修复方法,其特征在于,所述读取预先存储的PCIe调优参数中所述报错设备对应的待调用参数,作为目标参数,包括:
读取BMC EEPROM中存放的PCIe调优参数;
根据所述报错设备的B/D/F number确定对应的SI参数存放位置,作为目标位置;
确定所述目标位置下优先级最高的调优参数,作为待调用参数;
读取所述待调用参数。
4.一种PCIe故障自修复装置,其特征在于,包括:
运行监控单元,用于当PCIe链路根据默认SI参数进行数据处理时,获取所述PCIe链路中的CE报错次数和UCE报错次数;其中,所述默认SI参数为系统启动后自动训练生成的SI参数;
运行判断单元,用于判断所述CE报错次数和所述UCE报错次数是否达到对应的报错阈值;
故障移除单元,用于若所述CE报错次数达到对应的报错阈值,或,所述UCE报错次数达到对应的报错阈值,则定位报错设备,并移除所述报错设备;
参数读取单元,用于读取预先存储的PCIe调优参数中所述报错设备对应的待调用参数,作为目标参数;
故障修复单元,用于将所述报错设备的默认SI参数替换为所述目标参数;
设备接入单元,用于将所述报错设备作为正常设备接入系统;
可疑监控单元,所述可疑监控单元用于将所述报错设备作为可疑设备接入系统;触发所述运行监控单元执行所述获取所述PCIe链路中的CE报错次数和UCE报错次数的步骤;直至所述CE报错次数未达到对应的报错阈值,且,所述UCE报错次数未达到对应的报错阈值时,触发所述设备接入单元执行所述将所述报错设备作为正常设备接入系统的步骤。
5.根据权利要求4所述的PCIe故障自修复装置,其特征在于,所述运行监控单元包括:
寄存器轮询子单元,用于当PCIe链路根据默认SI参数进行数据处理时,轮询PCIe设备的CE寄存器和UCE寄存器;
数据读取子单元,用于将所述CE寄存器中记录的receiver error count计数作为所述CE报错次数,将所述UCE寄存器中记录的receiver error count计数作为所述UCE报错次数。
6.根据权利要求4所述的PCIe故障自修复装置,其特征在于,所述参数读取单元包括:
数据读取子单元,用于读取BMC EEPROM中存放的PCIe调优参数;
数据定位子单元,用于根据所述报错设备的B/D/F number确定对应的SI参数存放位置,作为目标位置;
目标确定子单元,用于确定所述目标位置下优先级最高的调优参数,作为待调用参数;
目标读取子单元,用于读取所述待调用参数。
7.一种PCIe故障自修复设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至3任一项所述PCIe故障自修复方法的步骤。
8.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至3任一项所述PCIe故障自修复方法的步骤。
CN202110474250.9A 2021-04-29 2021-04-29 一种PCIe故障自修复方法、装置、设备及可读存储介质 Active CN113176963B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202110474250.9A CN113176963B (zh) 2021-04-29 2021-04-29 一种PCIe故障自修复方法、装置、设备及可读存储介质
US18/270,186 US20240103961A1 (en) 2021-04-29 2022-04-28 PCIe Fault Auto-Repair Method, Apparatus and Device, and Readable Storage Medium
PCT/CN2022/089743 WO2022228499A1 (zh) 2021-04-29 2022-04-28 一种PCIe故障自修复方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110474250.9A CN113176963B (zh) 2021-04-29 2021-04-29 一种PCIe故障自修复方法、装置、设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN113176963A CN113176963A (zh) 2021-07-27
CN113176963B true CN113176963B (zh) 2022-11-11

Family

ID=76925365

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110474250.9A Active CN113176963B (zh) 2021-04-29 2021-04-29 一种PCIe故障自修复方法、装置、设备及可读存储介质

Country Status (3)

Country Link
US (1) US20240103961A1 (zh)
CN (1) CN113176963B (zh)
WO (1) WO2022228499A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113176963B (zh) * 2021-04-29 2022-11-11 山东英信计算机技术有限公司 一种PCIe故障自修复方法、装置、设备及可读存储介质
CN113849368B (zh) * 2021-09-02 2023-07-18 苏州浪潮智能科技有限公司 一种基于retimer温漂问题的自修复装置及方法
CN114564334B (zh) * 2022-04-27 2022-07-22 苏州浪潮智能科技有限公司 一种mrpc数据处理方法、系统及相关组件
CN115150254B (zh) * 2022-06-29 2023-05-23 苏州浪潮智能科技有限公司 一种PCIe链路故障检测方法、检测装置、设备及介质
CN115686901B (zh) * 2022-10-25 2023-08-04 超聚变数字技术有限公司 内存故障分析方法及计算机设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984477A (zh) * 2020-07-09 2020-11-24 瑞芯微电子股份有限公司 一种PCIe设备信号参数动态校正装置和方法
CN112015597A (zh) * 2020-10-26 2020-12-01 苏州浪潮智能科技有限公司 一种故障隔离方法、装置、设备及计算机可读存储介质

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012063358A1 (ja) * 2010-11-12 2012-05-18 富士通株式会社 エラー箇所特定方法、エラー箇所特定装置およびエラー箇所特定プログラム
US20140181621A1 (en) * 2012-12-26 2014-06-26 Skymedi Corporation Method of arranging data in a non-volatile memory and a memory control system thereof
CN105808394B (zh) * 2014-12-31 2020-09-04 南京中兴新软件有限责任公司 一种服务器自愈的方法和装置
US20170091013A1 (en) * 2015-09-28 2017-03-30 Netapp, Inc. Pcie error reporting and throttling
CN107066417A (zh) * 2017-02-28 2017-08-18 郑州云海信息技术有限公司 一种链路参数在线调整的方法与装置
CN109376028B (zh) * 2018-09-27 2021-11-09 郑州云海信息技术有限公司 一种pcie设备纠错方法与装置
CN111008091A (zh) * 2019-12-06 2020-04-14 苏州浪潮智能科技有限公司 一种内存ce的故障处理方法、系统及相关装置
CN113176963B (zh) * 2021-04-29 2022-11-11 山东英信计算机技术有限公司 一种PCIe故障自修复方法、装置、设备及可读存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111984477A (zh) * 2020-07-09 2020-11-24 瑞芯微电子股份有限公司 一种PCIe设备信号参数动态校正装置和方法
CN112015597A (zh) * 2020-10-26 2020-12-01 苏州浪潮智能科技有限公司 一种故障隔离方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
US20240103961A1 (en) 2024-03-28
WO2022228499A1 (zh) 2022-11-03
CN113176963A (zh) 2021-07-27

Similar Documents

Publication Publication Date Title
CN113176963B (zh) 一种PCIe故障自修复方法、装置、设备及可读存储介质
CN100388217C (zh) 用于通信系统中的动态阈值缩放的方法和系统
CN101197621B (zh) 一种对网管系统故障进行远程诊断定位的方法及其系统
EP2624140A1 (en) Method and system for detecting anomaly of network processor
CN111414268B (zh) 故障处理方法、装置及服务器
CN112286709B (zh) 一种服务器硬件故障的诊断方法、诊断装置及诊断设备
CN112732477B (zh) 一种带外自检故障隔离的方法
CN109933478B (zh) 一种存储系统的故障处理方法和存储系统
CN111796959B (zh) 宿主机容器自愈方法、装置及系统
CN105183575A (zh) 处理器故障的诊断方法、装置及系统
CN114328102A (zh) 设备状态监控方法、装置、设备及计算机可读存储介质
CN112395122A (zh) 闪存控制器及闪存控制器的方法
CN111857555A (zh) 避免磁盘阵列的故障事件的方法、设备和程序产品
CN110659147B (zh) 一种基于模块自检行为的自修复方法和系统
CN111209129A (zh) 基于amd平台的内存优化方法和装置
CN114064401A (zh) 定位硬盘故障的方法、装置、电子设备及存储介质
CN114138600A (zh) 一种固件关键信息的存储方法、装置、设备及存储介质
CN113742113A (zh) 一种嵌入式系统健康管理方法、设备及储存介质
CN110471814B (zh) 服务器装置的错误报告功能的控制方法
CN112751688A (zh) 一种otn设备的流控处理方法、电子设备及存储介质
WO2024066589A1 (zh) 一种硬件故障上报的处理方法及其相关设备
CN110716826A (zh) 一种云盘升级、调度方法及云主机、调度装置和系统
CN115658373B (zh) 基于服务器的内存处理方法和装置、处理器及电子设备
CN116820822A (zh) 一种读写链路控制方法、装置、介质
CN118093265A (zh) 一种pcie设备故障处理方法及服务器

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
GR01 Patent grant
GR01 Patent grant