CN114356644A - Pcie设备故障处理方法和装置 - Google Patents

Pcie设备故障处理方法和装置 Download PDF

Info

Publication number
CN114356644A
CN114356644A CN202210267836.2A CN202210267836A CN114356644A CN 114356644 A CN114356644 A CN 114356644A CN 202210267836 A CN202210267836 A CN 202210267836A CN 114356644 A CN114356644 A CN 114356644A
Authority
CN
China
Prior art keywords
pcie
information
dpc
iio
port
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.)
Granted
Application number
CN202210267836.2A
Other languages
English (en)
Other versions
CN114356644B (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.)
Alibaba China Co Ltd
Original Assignee
Alibaba China 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 Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN202210267836.2A priority Critical patent/CN114356644B/zh
Publication of CN114356644A publication Critical patent/CN114356644A/zh
Application granted granted Critical
Publication of CN114356644B publication Critical patent/CN114356644B/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/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
    • 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/0766Error or fault reporting or storing
    • 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

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设备故障处理方法和装置。其中所述方法包括:在BIOS初始化时获取PCIE插槽上的PCIE设备类型信息;根据PCIE设备类型信息,将PCIE插槽对应的IIO端口的DPC功能设置为开启或者关闭;通过DPC处理PCIE设备故障,在PCIE故障出现时,通过BIOS和操作系统的共同作用,使得PCIE链路迅速地断开再重连,由此完成故障的快速恢复,降低PCIE故障导致的宕机,在PCIE故障时仍能保持服务器的正常使用,增强服务器的稳定性。采用这种处理方式,使得有针对性的设置不同PCIE设备对应的IIO端口的DPC功能,避免出现因采用统一设置选项导致的部分PCIE设备断开后无法重连的情况,可以满足不同PCIE设备的故障处理需求。

Description

PCIE设备故障处理方法和装置
技术领域
本申请涉及服务器技术领域,具体涉及PCIE设备故障处理方法和装置,基本输入输出系统,以及主板管理控制器。
背景技术
随着云计算的普遍推广和应用,需要建立越来越多的数据中心,服务器作为数据中心中重要的基础设施,其稳定性直接影响着云服务的体验和价值。PCIE(高速串行计算机扩展总线标准)设备是服务器的重要组件,每台服务器上均有配置,当PCIE设备出现不可纠正故障时,会直接影响到服务器的操作系统OS,导致服务器出现宕机。
目前,服务器主要采用标准的PCIE高级错误报告(Advanced Error Reporting,AER)机制来处理PCIE故障。在该机制下可以有两种实施方式:降低PCIE故障的错误等级,屏蔽PCIE故障的中断上报。其中,降低PCIE故障的错误等级的方式为:通过设置PCIE的Uncorrectable Error Severity Register的值,将PCIE故障的错误等级定义为可纠正的故障,这样在产生SMI中断中到BIOS后,PCIE AER error handler按照可纠正故障处理并上报OS,OS感知到此为可纠正的故障,可以在一定程度上,保持系统的可用性。屏蔽PCIE故障的中断上报的方式为:通过设置PCIE的Uncorrectable Error Mask Register的值,屏蔽指定的PCIE故障,当此故障出现时,不会触发SMI中断,BIOS不处理,OS也感知不到此故障,可以在一定程度上,保持系统的可用性。
然而,在实现本发明过程中,发明人发现上述技术方案至少存在如下问题:1)上述降低PCIE故障的错误等级的方式是通过降低故障等级达到一定的稳定性提升,但是故障时的数据或者事务依然会扩散到系统中的使用者,存在很大的风险,最终仍然会导致系统的紊乱异常;2)上述屏蔽PCIE故障的中断上报的方式是将PCIE故障屏蔽,不触发SMI中断,做到“掩耳盗铃”,但是故障数据在进一步使用时,仍然会导致系统紊乱异常;或者PCIE故障出现surprise down error时,虽然可以不让系统宕机,但是PCIE设备会断开连接,使得PCIE设备丢失。可见,上述两种技术方案均无法中断PCIE故障信息的传播,使得故障信息继续使用,最终仍然会给系统带来风险甚至宕机。
发明内容
本申请提供PCIE设备故障处理方法,以解决现有技术存在的无法中断PCIE故障信息传播的问题。本申请另外提供PCIE设备故障处理装置,基本输入输出系统,以及主板管理控制器。
本申请提供一种PCIE设备故障处理方法,包括:
基本输入输出系统BIOS获取PCIE插槽使用情况信息,所述PCIE插槽使用情况信息包括PCIE设备类型;
根据所述PCIE设备类型,设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能的开启或者关闭;
通过DPC处理PCIE设备故障,以使得将发生故障的PCIE设备断链,再将PCIE设备重新建链。
可选的,所述根据所述PCIE设备类型,设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能的开启或者关闭,包括:
若所述PCIE设备类型为第一预设类型,则设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能为关闭;
若所述PCIE设备类型为第二预设类型,则设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能为开启。
可选的,所述第一预设类型包括:NVME存储器;
所述第二预设类型包括:图像处理器GPU,网卡。
可选的,还包括:
通过主板管理控制器BMC,获取所述PCIE插槽使用情况信息;
根据所述PCIE插槽使用情况信息,构建PCIE信息结构体;
所述BIOS获取PCIE插槽使用情况信息,包括:
BIOS从BMC获取所述PCIE信息结构体;
从所述PCIE信息结构体中获取PCIE插槽使用情况信息。
可选的,所述通过主板管理控制器BMC,获取所述PCIE插槽使用情况信息,包括:
BMC通过双向二线制同步串行总线I2C通道获取所述PCIE插槽使用情况信息。
可选的,所述BIOS从BMC获取所述PCIE信息结构体,包括:
BIOS通过智能平台管理接口IPMI命令,从BMC获取所述PCIE信息结构体。
可选的,所述通过DPC处理PCIE设备故障,包括:
DPC向BIOS上报PCIE设备故障错误;
BIOS错误处理器生成PCIE IIO端口故障信息;
BIOS向主板管理控制器BMC上报所述PCIE IIO端口故障信息;
BMC将所述PCIE IIO端口故障信息存储至系统事件日志;
根据系统事件日志,展示所述PCIE IIO端口故障信息。
可选的,所述PCIE IIO端口故障信息包括:段信息,总线信息,PCIE设备信息,功能信息,错误类型信息。
可选的,还包括:
设置用于上报PCIE IIO 端口故障信息的结构体的智能平台管理接口IPMI命令;
BIOS通过所述IPMI命令,根据PCIE IIO端口故障信息,构建PCIE IIO 端口故障信息的结构体;
BIOS向BMC上报所述PCIE IIO 端口故障信息的结构体;
BMC从所述PCIE IIO 端口故障信息的结构体中获取PCIE IIO端口故障信息。
本申请还提供一种PCIE设备故障处理装置,包括:
PCIE信息获取单元,用于基本输入输出系统BIOS初始化时获取PCIE插槽使用情况信息,所述PCIE插槽使用情况信息包括PCIE设备类型;
动态使能DPC单元,用于根据所述PCIE设备类型,设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能的开启或者关闭;
DPC处理单元,用于通过DPC处理PCIE设备故障,以使得将发生故障的PCIE设备断链,再将PCIE设备重新建链。
本申请还提供一种基本输入输出系统,包括:
初始化模块,用于获取PCIE插槽使用情况信息,所述PCIE插槽使用情况信息包括PCIE设备类型;根据所述PCIE设备类型,设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能的开启或者关闭,以使得通过DPC处理PCIE设备故障。
可选的,还包括:错误处理器,用于根据DPC上报的PCIE设备故障错误,生成PCIEIIO端口故障信息;向主板管理控制器BMC上报所述PCIE IIO端口故障信息,以使得BMC将所述PCIE IIO端口故障信息存储至系统事件日志;根据系统事件日志,展示所述PCIE IIO端口故障信息。
本申请还提供一种主板管理控制器,包括:
PCIE信息获取单元,用于获取PCIE插槽使用情况信息,所述PCIE插槽使用情况信息包括:PCIE插槽标识、PCIE在位信息、PCIE设备类型;
PCIE信息结构体构建单元,用于根据所述PCIE插槽使用情况信息,构建PCIE信息结构体;
PCIE信息提供接口,用于向外提供所述PCIE信息结构体。
可选的,还包括:
结构体解析单元,用于从BIOS上报的PCIE IIO 端口故障信息的结构体中获取PCIE IIO 端口故障信息;
系统事件记录单元,用于将所述PCIE IIO端口故障信息存储至系统事件日志。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各种方法。
本申请还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种方法。
与现有技术相比,本申请具有以下优点:
本申请实施例提供的PCIE设备故障处理方法,通过在BIOS初始化时获取PCIE插槽上的PCIE设备类型信息;根据PCIE设备类型信息,将PCIE插槽对应的IIO端口的DPC功能设置为开启或者关闭;通过DPC处理PCIE设备故障,在PCIE故障出现时,通过BIOS和操作系统的共同作用,使得PCIE链路迅速地断开再重连,由此完成故障的快速恢复,降低PCIE故障导致的宕机,在PCIE故障时仍能保持服务器的正常使用,增强服务器的稳定性。采用这种处理方式,使得有针对性的设置不同PCIE设备对应的IIO端口的DPC功能,避免出现因采用统一设置选项导致的部分PCIE设备(如NVME系统盘)断开后无法重连的情况,可以满足不同PCIE设备的故障处理需求。
附图说明
图1本申请提供的PCIE设备故障处理方法的实施例的流程示意图;
图2本申请提供的PCIE设备故障处理方法的实施例的应用场景示意图;
图3本申请提供的PCIE设备故障处理方法的实施例的又一应用场景图;
图4本申请提供的PCIE设备故障处理方法的实施例的DPC处理流程图;
图5本申请提供的PCIE设备故障处理方法的实施例的具体处理流程图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本申请中,提供了PCIE设备故障处理方法和装置,基本输入输出系统,以及主板管理控制器。所述方法用于处理计算机的PCIE设备故障,所述计算机可以是服务器、工作站等。在下面的实施例中,以服务器为例,逐一对各种方案进行详细说明。
第一实施例
请参考图1,其为本申请的PCIE设备故障处理方法的流程图。在本实施例中,所述方法可包括如下步骤:
步骤S101:基本输入输出系统BIOS获取PCIE插槽使用情况信息,所述PCIE插槽使用情况信息包括PCIE设备类型。
基本输入输出系统(Basic Input Output System,BIOS)是一种业界标准的固件接口,是计算机启动时加载的第一个软件,可从CMOS中读写系统设置的具体信息。
PCIE(peripheral component interconnect express)是一种高速串行计算机扩展总线标准,属于高速串行点对点双通道高带宽传输,所连接的设备分配独享通道带宽,不共享总线带宽,支持热插拔和错误报告等功能。
PCIE设备是服务器中用PCIE进行连接的配件,包括但不限于:PCIE网卡、GPU(graphics processing unit,图形处理器)卡、NVME( non-volatile memory express,非易失性内存主机控制器接口规范)存储器、智能网卡等,在服务器中承担着重要网络、存储和计算等功能。
如图2所示,PCIE对用户可见的部分就是主板上各种大小的PCIE插槽,小的插槽可以是x1,大的插槽可以是x16,将PCIE设备插到PCIE插槽中使用。
集成输入/输出模组(Integrated I/O module,IIO)是中央处理器(CPU)直连PCIE的堆栈模组。例如,服务器的每个CPU可有四个IIO模组,分别是DMI3、PCIE1、PCIE2、PCIE3,其中PCIE1、PCIE2、PCIE3分别是PCIE3x16的PCIE堆栈。PCIE堆栈是指IIO模组可以根据需要将所包含的16个通道(lane)做以下操作:1)直接形成一个x16的PCIE rootport,如用于图形处理器(GPU);2)分成两个x8的PCIE rootport,如万兆网卡;3)分成四个x4 PCIErootport,如用于NVME;4)分成三个PCIE rootport:x8,x4,x4。
一个PCIE插槽可对应一个或者多个PCIE rootport。如图3所示,服务器包括两个CPU(CPU0和CPU1),CPU的IIO模组PCIE1、PCIE2、PCIE3可被分成若干个PCIE rootport,可以是一个PCIE rootport对应一个插槽,如x8的PCIE插槽、x16的PCIE插槽等,也可以是将多个PCIE rootport组合对应一个PCIE插槽,如x24的PCIE插槽由x16的PCIE rootport和x8的PCIE rootport组合而成。
在本实施例中,服务器的BIOS在初始化时获取PCIE插槽使用情况信息。所述PCIE插槽使用情况信息包括PCIE设备类型,还可包括插槽标识和PCIE在位信息。所述PCIE设备类型包括但不限于:NVME存储器,图像处理器GPU,网卡。具体实施时,BIOS可通过主板管理控制器BMC,获取所述PCIE插槽使用情况信息。
在一个示例中,主板管理控制器BMC定义一个PCIE信息结构体,该结构体可包括PCIE在位信息、PCIE设备类型、PCIE槽位等属性。其中,PCIE在位信息用来表示PCIE插槽上是否安装了PCIE设备,PCIE设备类型包括PCIE NVME、网卡、GPU等。在这种情况下,所述方法还可包括如下步骤:1)通过主板管理控制器BMC,获取所述PCIE插槽使用情况信息;2)根据所述PCIE插槽使用情况信息,构建PCIE信息结构体;相应的,步骤S101可采用如下方式实现:BIOS从BMC获取所述PCIE信息结构体;从所述PCIE信息结构体中获取PCIE插槽使用情况信息。采用这种处理方式,将PCIE插槽使用情况信息封装为一个结构体,更便于数据管理及程序开发。
在本实施例中,BIOS初始化过程通过IPMI命令从BMC侧获取PCIE信息。具体实施时,BMC可通过双向二线制同步串行总线I2C通道获取PCIE在位信息及设备的类型,如PCIENVME、网卡、GPU等,记录到PCIE信息结构体中。BIOS可通过智能平台管理接口IPMI命令,从BMC获取所述PCIE信息结构体,通过解析该结构体,获得PCIE插槽使用情况信息。
具体实施时,PCIE信息结构体可如下表所示:
PCIE槽位 PCIE在位信息 PCIE设备类型
1 在位 网卡
2 不在位
3 在位 GPU
4 在位 NVME卡
步骤S103:根据所述PCIE设备类型,设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能的开启或者关闭。
PCIE端口驱动(PCIeport drivers)提供了PCIE高级特性,其中包括DPC(Downstream Port Containment)功能(也称为DPC服务)。DPC是PCIE提供的下行端口遏制(抑制)的功能,也即PCIE提供的一个支持类似于自动热插拔的功能,其作用是当检查到下行端口本身出现错误或者下行端口下面的设备上报错误消息时,可以关闭对应端口(让该端口的LSTTM进入disable状态),把PCIE传输的信息(traffic)拦截在该端口之下,从而阻止错误扩散。具体实施时,什么等级的错误会触发DPC,以及什么等级的错误消息会触发DPC,都是可以配置的。
本申请实施例提供的方法,不采用现有技术中的统一设置选项来使能DPC功能,而是根据PCIE设备的类型,来决定是使能(Enable)PCIE插槽对应的IIO端口的DPC功能,还是不使能(Disable)PCIE插槽对应的IIO端口的DPC功能,如PCIE网卡设备使能DPC,若是PCIENVME设备则不使能DPC,由此实现了动态使能CPU IIO模块的DPC功能。
具体实施时,步骤S103可采用如下方式实现:若所述PCIE设备类型为第一预设类型,则设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能为关闭,即不使能DPC功能;若所述PCIE设备类型为第二预设类型,则设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能为开启,即使能DPC功能。
所述第一预设类型,包括但不限于:NVME存储器,如NVME系统盘。所述第二预设类型,包括但不限于:图像处理器GPU,网卡。
在本实施例中,获取BIOS Setup选项,该选项支持一个统一的设置选项(IIO eDPCSupport)实现CPU IIO DPC的设置;当IIO eDPC Support选项的Optimal为Enable时,所有的CPU IIO的DPC都使能了,无法进行针对性的设置,无法满足不同使用场景的使用,如NVME系统盘不能使能此功能,否则系统盘断开后无法重连,无法实现动态设置,所以本申请实施例提供的方法不采用统一的设置选项,而是修改BIOS Setup选项。在BIOS Setup选项中,增加各IIO端口的DPC功能设置选项,并根据各PCIE插槽上的PCIE设备的类型,设置PCIE插槽对应的IIO端口的DPC功能设置选项为Enable或者Disable。
步骤S105:通过DPC处理PCIE设备故障。
在本实施例中,通过DPC处理PCIE设备故障,以使得将发生故障的PCIE设备断链,再将PCIE设备重新建链。DPC用于PCIE设备出错的时候,硬件主动断连,防止错误蔓延的问题。在PCIE故障出现时,触发DPC事件,通过BIOS和操作系统的共同作用,使得PCIE链路迅速地断开,清除DPC置位状态后,PCIE设备重新建连。CPU需支持DPC功能,操作系统会注册DPC中断服务函数。当PCIE设备断连、重连时,会产生DPC中断,这个时候操作系统会调度CPU端口注册的DPC中断服务函数。
如图4所示,在一个示例中,步骤S105可包括如下子步骤:
步骤S1051:DPC向BIOS上报PCIE设备故障错误。
在PCIE故障出现时,触发DPC事件产生串行接口SMI中断到BIOS。DPC事件会将PCIELink链路断开,具体可以是将PCIe链路LTSSM状态机设置为不可用状态
步骤S1053:BIOS错误处理器生成PCIE IIO端口故障信息。
BIOS感知到SMI中断后,通过错误处理器对PCIE故障的处理和记录。
所述PCIE IIO端口故障信息,包括但不限于:段信息,总线信息,PCIE设备信息,功能信息,错误类型信息。
所述错误处理器又称为错误处理函数(errorhandler)。
步骤S1055:BIOS向主板管理控制器BMC上报所述PCIE IIO端口故障信息。
BIOS可通过IPMI命令向主板管理控制器BMC上报对应的告警事件,记录具体的PCIE故障信息。
此外,BIOS触发系统控制SCI中断到服务器操作系统OS;OS通过错误处理器(又称为错误处理函数,errorhandler),清除DPC状态,并热移除PCIE设备的驱动程序,停止访问PCIE设备的信息,防止系统处理错误消息;OS通过错误处理器,调用热拔插hot-plug驱动进行PCIE设备枚举重新建立链路;PCIE设备驱动重新加载,PCIE设备可以正常使用,并且OS正常,服务器未宕机。
步骤S1057:BMC将所述PCIE IIO端口故障信息存储至系统事件日志。
在一个示例中,所述方法还可包括如下步骤:设置用于上报PCIE IIO 端口故障信息的结构体的智能平台管理接口IPMI命令;相应的,步骤S105还可包括如下步骤:BIOS通过所述IPMI命令,根据PCIE IIO端口故障信息,构建PCIE IIO 端口故障信息的结构体;相应的,步骤S1055可采用如下方式实现:BIOS向BMC上报所述PCIE IIO 端口故障信息的结构体;相应的,步骤S1057可采用如下方式实现:BMC从所述PCIE IIO 端口故障信息的结构体中获取PCIE IIO端口故障信息。
具体实施时,定义一条OEM IPMI命令,定义PCIE IIO 端口故障信息的结构体,包含Segment\Bus\Device\Function\Error类型,如PCIE的Data Link Protocol Error。在BIOS错误处理器中,检测到DPC状态置位后,赋值PCIE IIO端口故障信息的结构体。例如,检测DPC状态后,赋值PCIE IIO端口故障信息如:Segment=0x0;Bus=0x16;Device=0x02;Function=0x00;Error=0x10。BIOS调用IPMI 命令,将PCIE IIO Port故障的信息上报BMC。BMC对PCIE IIO端口故障信息的结构体完成解析,获得此故障信息。其中,DPC状态是CPUIIO的寄存器,其值等于1时,说明出现了DPC事件。
步骤S1059:操作系统根据系统事件日志,展示所述PCIE IIO端口故障信息。
在本实施例中,通过诊断系统监测有无关于PCIE设备故障的系统事件日志(OEMSEL)记录,展示该记录包括的PCIE IIO端口故障信息,供用户能够获知出现DPC的具体PCIE设备信息。
如图5所示,在一个示例中,BIOS在初始化阶段,动态使能CPU的集成IO模组的DPC功能。在PCIE设备故障出现时,会触发DPC事件产生串行接口SMI中断到BIOS;BIOS感知到SMI中断后,通过错误处理器对PCIE故障的处理和记录,同时DPC事件会将PCIE Link链路断开,具体可以是将PCIe链路LTSSM状态机设置为不可用状态;BIOS可通过IPMI命令向主板管理控制器BMC上报对应的告警事件,记录具体的PCIE故障信息,然后触发系统控制SCI中断到服务器操作系统OS;OS通过错误处理器(又称为错误处理函数,errorhandler),清除DPC状态,并热移除PCIE设备的驱动程序,停止访问PCIE设备的信息,防止系统处理错误消息;OS通过错误处理器,调用热拔插hot-plug驱动进行PCIE设备枚举重新建立链路;PCIE设备驱动重新加载,PCIE设备可以正常使用,并且OS正常,服务器未宕机。
从上述实施例可见,本申请实施例提供的PCIE设备故障处理方法,通过在BIOS初始化时获取PCIE插槽上的PCIE设备类型信息;根据PCIE设备类型信息,将PCIE插槽对应的IIO端口的DPC功能设置为开启或者关闭;通过DPC处理PCIE设备故障,在PCIE故障出现时,通过BIOS和操作系统的共同作用,使得PCIE链路迅速地断开再重连,由此完成故障的快速恢复,降低PCIE故障导致的宕机,在PCIE故障时仍能保持服务器的正常使用,增强服务器的稳定性。采用这种处理方式,使得有针对性的设置不同PCIE设备对应的IIO端口的DPC功能,避免出现因采用统一设置选项导致的部分PCIE设备(如NVME系统盘)断开后无法重连的情况,可以满足不同PCIE设备的故障处理需求。
第二实施例
在上述的实施例中,提供了一种PCIE设备故障处理方法,与之相对应的,本申请还提供一种PCIE设备故障处理装置。该装置是与上述方法的实施例相对应。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本申请另外提供一种PCIE设备故障处理装置,包括:PCIE信息获取单元,动态使能DPC单元,DPC处理单元。其中,PCIE信息获取单元,用于基本输入输出系统BIOS初始化时获取PCIE插槽使用情况信息,所述PCIE插槽使用情况信息包括PCIE设备类型;动态使能DPC单元,用于根据所述PCIE设备类型,设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能的开启或者关闭;DPC处理单元,用于通过DPC处理PCIE设备故障。
在一个示例中,动态使能DPC单元,具体用于若所述PCIE设备类型为第一预设类型,则设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能为关闭;若所述PCIE设备类型为第二预设类型,则设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能为开启。
所述第一预设类型,包括但不限于:NVME存储器。所述第二预设类型,包括但不限于:图像处理器GPU,网卡。
在一个示例中,所述装置还包括:错误信息处理单元,用于通过主板管理控制器BMC,获取所述PCIE插槽使用情况信息;根据所述PCIE插槽使用情况信息,构建PCIE信息结构体;相应的,PCIE信息获取单元,具体用于BIOS从BMC获取所述PCIE信息结构体;从所述PCIE信息结构体中获取PCIE插槽使用情况信息。
在一个示例中,错误信息处理单元,具体用于BMC通过双向二线制同步串行总线I2C通道获取所述PCIE插槽使用情况信息。
在一个示例中,PCIE信息获取单元,具体用于BIOS通过智能平台管理接口IPMI命令,从BMC获取所述PCIE信息结构体。
在一个示例中,DPC处理单元,具体用于DPC向BIOS上报PCIE设备故障错误;BIOS错误处理器生成PCIE IIO端口故障信息;BIOS向主板管理控制器BMC上报所述PCIE IIO端口故障信息;BMC将所述PCIE IIO端口故障信息存储至系统事件日志;根据系统事件日志,展示所述PCIE IIO端口故障信息。
所述PCIE IIO端口故障信息,包括但不限于:段信息,总线信息,PCIE设备信息,功能信息,错误类型信息。
在一个示例中,错误信息处理单元,具体用于设置用于上报PCIE IIO 端口故障信息的结构体的智能平台管理接口IPMI命令;BIOS通过所述IPMI命令,根据PCIE IIO端口故障信息,构建PCIE IIO 端口故障信息的结构体;BIOS向BMC上报所述PCIE IIO 端口故障信息的结构体;BMC从所述PCIE IIO 端口故障信息的结构体中获取PCIE IIO端口故障信息。
第三实施例
在上述的实施例中,提供了一种PCIE设备故障处理方法,与之相对应的,本申请还提供一种基本输入输出系统。该装置是与上述方法的实施例相对应。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种基本输入输出系统,包括:初始化模块,用于获取PCIE插槽使用情况信息,所述PCIE插槽使用情况信息包括PCIE设备类型;根据所述PCIE设备类型,设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能的开启或者关闭,以使得通过DPC处理PCIE设备故障。
在一个示例中,所述基本输入输出系统还可包括:错误处理器,用于根据DPC上报的PCIE设备故障错误,生成PCIE IIO端口故障信息;向主板管理控制器BMC上报所述PCIEIIO端口故障信息,以使得BMC将所述PCIE IIO端口故障信息存储至系统事件日志;根据系统事件日志,展示所述PCIE IIO端口故障信息。
第四实施例
在上述的实施例中,提供了一种PCIE设备故障处理方法,与之相对应的,本申请还提供一种主板管理控制器。该装置是与上述方法的实施例相对应。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
本实施例的一种主板管理控制器,包括:PCIE信息获取单元,PCIE信息结构体构建单元,PCIE信息提供接口。PCIE信息获取单元,用于获取PCIE插槽使用情况信息,所述PCIE插槽使用情况信息包括:PCIE插槽标识、PCIE在位信息、PCIE设备类型;PCIE信息结构体构建单元,用于根据所述PCIE插槽使用情况信息,构建PCIE信息结构体;PCIE信息提供接口,用于向外提供所述PCIE信息结构体,如在BIOS初始化时向BIOS提供PCIE信息结构体,以便于BIOS动态使能各IIS端口的DPC功能。
在一个示例中,所述主板管理控制器还可包括:结构体解析单元,系统事件记录单元。结构体解析单元,用于从BIOS上报的PCIE IIO 端口故障信息的结构体中获取PCIE IIO端口故障信息;系统事件记录单元,用于将所述PCIE IIO端口故障信息存储至系统事件日志。
本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器(ROM)、电可擦除可编程只读存储器 (EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘 (DVD) 或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

Claims (14)

1.一种PCIE设备故障处理方法,其特征在于,包括:
基本输入输出系统BIOS获取PCIE插槽使用情况信息,所述PCIE插槽使用情况信息包括PCIE设备类型;
根据所述PCIE设备类型,设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能的开启或者关闭;
通过DPC处理PCIE设备故障。
2.根据权利要求1所述的方法,其特征在于,所述根据所述PCIE设备类型,设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能的开启或者关闭,包括:
若所述PCIE设备类型为第一预设类型,则设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能为关闭;
若所述PCIE设备类型为第二预设类型,则设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能为开启。
3.根据权利要求2所述的方法,其特征在于,
所述第一预设类型包括:NVME存储器;
所述第二预设类型包括:图像处理器GPU,网卡。
4.根据权利要求1所述的方法,其特征在于,还包括:
通过主板管理控制器BMC,获取所述PCIE插槽使用情况信息;
根据所述PCIE插槽使用情况信息,构建PCIE信息结构体;
所述BIOS获取PCIE插槽使用情况信息,包括:
BIOS从BMC获取所述PCIE信息结构体;
从所述PCIE信息结构体中获取PCIE插槽使用情况信息。
5.根据权利要求4所述的方法,其特征在于,所述通过主板管理控制器BMC,获取所述PCIE插槽使用情况信息,包括:
BMC通过双向二线制同步串行总线I2C通道获取所述PCIE插槽使用情况信息。
6.根据权利要求4所述的方法,其特征在于,所述BIOS从BMC获取所述PCIE信息结构体,包括:
BIOS通过智能平台管理接口IPMI命令,从BMC获取所述PCIE信息结构体。
7.根据权利要求1所述的方法,其特征在于,所述通过DPC处理PCIE设备故障,包括:
DPC向BIOS上报PCIE设备故障错误;
BIOS错误处理器生成PCIE IIO端口故障信息;
BIOS向主板管理控制器BMC上报所述PCIE IIO端口故障信息;
BMC将所述PCIE IIO端口故障信息存储至系统事件日志;
根据系统事件日志,展示所述PCIE IIO端口故障信息。
8.根据权利要求7所述的方法,其特征在于,所述PCIE IIO端口故障信息包括:段信息,总线信息,PCIE设备信息,功能信息,错误类型信息。
9.根据权利要求7所述的方法,其特征在于,还包括:
设置用于上报PCIE IIO 端口故障信息的结构体的智能平台管理接口IPMI命令;
BIOS通过所述IPMI命令,根据PCIE IIO端口故障信息,构建PCIE IIO 端口故障信息的结构体;
BIOS 向BMC上报所述PCIE IIO 端口故障信息的结构体;
BMC从所述PCIE IIO 端口故障信息的结构体中获取PCIE IIO端口故障信息。
10.一种PCIE设备故障处理装置,其特征在于,包括:
PCIE信息获取单元,用于基本输入输出系统BIOS初始化时获取PCIE插槽使用情况信息,所述PCIE插槽使用情况信息包括PCIE设备类型;
动态使能DPC单元,用于根据所述PCIE设备类型,设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能的开启或者关闭;
DPC处理单元,用于通过DPC处理PCIE设备故障。
11.一种基本输入输出系统,其特征在于,包括:
初始化模块,用于获取PCIE插槽使用情况信息,所述PCIE插槽使用情况信息包括PCIE设备类型;根据所述PCIE设备类型,设置所述PCIE插槽对应的集成输入输出模组IIO端口的下行端口抑制DPC功能的开启或者关闭,以使得通过DPC处理PCIE设备故障。
12.根据权利要求11所述的系统,其特征在于,还包括:
错误处理器,用于根据DPC上报的PCIE设备故障错误,生成PCIE IIO端口故障信息;向主板管理控制器BMC上报所述PCIE IIO端口故障信息,以使得BMC将所述PCIE IIO端口故障信息存储至系统事件日志;根据系统事件日志,展示所述PCIE IIO端口故障信息。
13.一种主板管理控制器,其特征在于,包括:
PCIE信息获取单元,用于获取PCIE插槽使用情况信息,所述PCIE插槽使用情况信息包括:PCIE插槽标识、PCIE在位信息、PCIE设备类型;
PCIE信息结构体构建单元,用于根据所述PCIE插槽使用情况信息,构建PCIE信息结构体;
PCIE信息提供接口,用于向外提供所述PCIE信息结构体。
14.根据权利要求13所述的主板管理控制器,其特征在于,还包括:
结构体解析单元,用于从BIOS上报的PCIE IIO 端口故障信息的结构体中获取PCIEIIO 端口故障信息;
系统事件记录单元,用于将所述PCIE IIO端口故障信息存储至系统事件日志。
CN202210267836.2A 2022-03-18 2022-03-18 Pcie设备故障处理方法和装置 Active CN114356644B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210267836.2A CN114356644B (zh) 2022-03-18 2022-03-18 Pcie设备故障处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210267836.2A CN114356644B (zh) 2022-03-18 2022-03-18 Pcie设备故障处理方法和装置

Publications (2)

Publication Number Publication Date
CN114356644A true CN114356644A (zh) 2022-04-15
CN114356644B CN114356644B (zh) 2022-06-14

Family

ID=81095238

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210267836.2A Active CN114356644B (zh) 2022-03-18 2022-03-18 Pcie设备故障处理方法和装置

Country Status (1)

Country Link
CN (1) CN114356644B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014115257A1 (ja) * 2013-01-23 2014-07-31 株式会社 日立製作所 PCI-Express接続ソリッドステートドライブを適用したストレージ装置
US20150220409A1 (en) * 2014-02-05 2015-08-06 Futurewei Technologies, Inc. Per-Function Downstream Port Containment
CN106326151A (zh) * 2016-08-19 2017-01-11 浪潮(北京)电子信息产业有限公司 一种PCIe设备的拔除方法及装置
CN109189602A (zh) * 2018-09-21 2019-01-11 郑州云海信息技术有限公司 一种PCIE Slot故障定位方法、装置以及设备
CN109271096A (zh) * 2017-12-28 2019-01-25 新华三技术有限公司 Nvme存储扩展系统
CN109815043A (zh) * 2019-01-25 2019-05-28 华为技术有限公司 故障处理方法、相关设备及计算机存储介质
CN109947596A (zh) * 2019-03-19 2019-06-28 浪潮商用机器有限公司 Pcie设备故障系统宕机处理方法、装置及相关组件
CN110362435A (zh) * 2019-06-25 2019-10-22 苏州浪潮智能科技有限公司 Purley平台服务器的PCIE故障定位方法、装置、设备及介质
US20190361763A1 (en) * 2018-05-25 2019-11-28 Qualcomm Incorporated Safe handling of link errors in a peripheral component interconnect express (pcie) device
CN111404725A (zh) * 2020-02-27 2020-07-10 苏州浪潮智能科技有限公司 一种隔离故障pcie设备的方法及系统
CN111414268A (zh) * 2020-02-26 2020-07-14 华为技术有限公司 故障处理方法、装置及服务器
CN111694685A (zh) * 2020-05-09 2020-09-22 苏州浪潮智能科技有限公司 一种pcie设备故障定位方法及装置
CN114138606A (zh) * 2021-12-01 2022-03-04 苏州浪潮智能科技有限公司 Pcie错误信息的处理方法、装置和计算机设备

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014115257A1 (ja) * 2013-01-23 2014-07-31 株式会社 日立製作所 PCI-Express接続ソリッドステートドライブを適用したストレージ装置
US20150317272A1 (en) * 2013-01-23 2015-11-05 Hitachi, Ltd Storage device employing pci-express connection solid-state drive
US20150220409A1 (en) * 2014-02-05 2015-08-06 Futurewei Technologies, Inc. Per-Function Downstream Port Containment
CN105980998A (zh) * 2014-02-05 2016-09-28 华为技术有限公司 每功能下行端口控制
CN106326151A (zh) * 2016-08-19 2017-01-11 浪潮(北京)电子信息产业有限公司 一种PCIe设备的拔除方法及装置
CN109271096A (zh) * 2017-12-28 2019-01-25 新华三技术有限公司 Nvme存储扩展系统
US20190361763A1 (en) * 2018-05-25 2019-11-28 Qualcomm Incorporated Safe handling of link errors in a peripheral component interconnect express (pcie) device
CN109189602A (zh) * 2018-09-21 2019-01-11 郑州云海信息技术有限公司 一种PCIE Slot故障定位方法、装置以及设备
CN109815043A (zh) * 2019-01-25 2019-05-28 华为技术有限公司 故障处理方法、相关设备及计算机存储介质
CN109947596A (zh) * 2019-03-19 2019-06-28 浪潮商用机器有限公司 Pcie设备故障系统宕机处理方法、装置及相关组件
CN110362435A (zh) * 2019-06-25 2019-10-22 苏州浪潮智能科技有限公司 Purley平台服务器的PCIE故障定位方法、装置、设备及介质
CN111414268A (zh) * 2020-02-26 2020-07-14 华为技术有限公司 故障处理方法、装置及服务器
CN111404725A (zh) * 2020-02-27 2020-07-10 苏州浪潮智能科技有限公司 一种隔离故障pcie设备的方法及系统
CN111694685A (zh) * 2020-05-09 2020-09-22 苏州浪潮智能科技有限公司 一种pcie设备故障定位方法及装置
CN114138606A (zh) * 2021-12-01 2022-03-04 苏州浪潮智能科技有限公司 Pcie错误信息的处理方法、装置和计算机设备

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
R AMMENDOLA等: "apenet+: a 3d torus network optimized for gpu-based hpc systems", 《JOURNAL OF PHYSICS: CONFERENCE SERIES》 *
周奇: "应用于FPGA的PCIe接口设计与验证", 《微电子学与计算机》 *
李永哲: "基于PCI Express 总线宽带测向系统的驱动程序设计", 《计算机应用研究》 *
王招凯等: "基于PCIE总线的雷达数据记录器驱动程序开发", 《微计算机信息》 *

Also Published As

Publication number Publication date
CN114356644B (zh) 2022-06-14

Similar Documents

Publication Publication Date Title
US7738366B2 (en) Methods and structure for detecting SAS link errors with minimal impact on SAS initiator and link bandwidth
US6658599B1 (en) Method for recovering from a machine check interrupt during runtime
JP2579435B2 (ja) マルチプル・バス・システムにおけるエラー検知及び回復機構とその方法
US7685476B2 (en) Early notification of error via software interrupt and shared memory write
US7711886B2 (en) Dynamically allocating communication lanes for a plurality of input/output (‘I/O’) adapter sockets in a point-to-point, serial I/O expansion subsystem of a computing system
US8738817B2 (en) System and method for mapping a logical drive status to a physical drive status for multiple storage drives having different storage technologies within a server
US9218893B2 (en) Memory testing in a data processing system
US7543191B2 (en) Method and apparatus for isolating bus failure
US9026865B2 (en) Software handling of hardware error handling in hypervisor-based systems
JP4886601B2 (ja) Usbインタフェース設備に対して操作を行う装置及び方法
US7281163B2 (en) Management device configured to perform a data dump
US20060117215A1 (en) Storage virtualization apparatus and computer system using the same
US20170293580A1 (en) Server system and data access method using the same
US11341076B2 (en) Hot-plugged PCIe device configuration system
WO2020001150A1 (zh) 一种即时提示SATA和NVMe设备在位变化的方法、系统及介质
US6996648B2 (en) Generating notification that a new memory module has been added to a second memory slot in response to replacement of a memory module in a first memory slot
JP2001356968A (ja) 故障許容データ格納システムおよび故障許容データ格納システムの動作方法
CN114356644B (zh) Pcie设备故障处理方法和装置
CN114880266B (zh) 故障处理的方法、装置、计算机设备和存储介质
JP4644720B2 (ja) 制御方法、情報処理装置及びストレージシステム
CN107818061B (zh) 关联外围设备的数据总线和管理总线
JP2003345669A (ja) メモリアクセスエラーを防止するシステム及び方法
US7376775B2 (en) Apparatus, system, and method to enable transparent memory hot plug/remove
US8392759B2 (en) Test method, test program, test apparatus, and test system
CN113672537B (zh) 一种sata设备热插拔管理方法和装置

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: Room 554, 5 / F, building 3, 969 Wenyi West Road, Wuchang Street, Yuhang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: Room 508, 5 / F, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant before: Alibaba (China) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant