CN110457164A - 设备管理的方法、装置和服务器 - Google Patents
设备管理的方法、装置和服务器 Download PDFInfo
- Publication number
- CN110457164A CN110457164A CN201910612189.2A CN201910612189A CN110457164A CN 110457164 A CN110457164 A CN 110457164A CN 201910612189 A CN201910612189 A CN 201910612189A CN 110457164 A CN110457164 A CN 110457164A
- Authority
- CN
- China
- Prior art keywords
- pcie device
- port
- target
- direct
- target pcie
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/142—Reconfiguring to eliminate the error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
- G06F9/4413—Plug-and-play [PnP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种设备管理的方法、装置和服务器,方法包括:基本输入输出系统BIOS在多个快捷外设互联标准PCIE设备中识别目标PCIE设备,所述目标PCIE设备出现了不可修正致命类型的错误;所述处理器与PCIE设备、BIOS和主板控制器BMC均建立有通信连接,所述BIOS与所述BMC建立有通信连接;所述BIOS将所述处理器与所述目标PCIE设备故障隔离;所述BIOS向所述BMC发送指示所述目标PCIE设备的第一指示信息;所述BMC根据所述第一指示信息对所述目标PCIE设备执行故障修复操作,由此降低故障PICE设备恢复过程对整个系统的影响。
Description
技术领域
本申请涉及服务器技术领域,尤其涉及一种设备管理的方法、装置和服务器。
背景技术
服务器通常通过快捷外设互联标准(Peripheral Component InterconnectExpress,PCIE)设备扩展外接功能,以增强服务器的性能。其中,PCIE设备为通过根端口插接在服务器的处理器上的硬件设备。示例地,PCIE设备可以包括:网卡、图形处理器(Graphics Processing Unit,GPU)和现场可编程逻辑门阵列(Field Programmable GateArray,FPGA)芯片等。
通常由服务器中的基本输入输出系统(Basic Input/Output System,BIOS)对PCIE设备进行管理。示例地,在服务器的运行过程中,当某一PCIE设备出现错误时,BIOS会判断该PCIE设备的错误是否为不可修正致命(如该PCIE设备与处理器的通信链路断开)错误。当确定该错误为不可修正致命错误时,BIOS会触发处理器控制整个服务器重启,以对该PCIE设备进行初始化,从而修复该PCIE设备的错误。
但是,由于服务器重启会导致服务器上正在运行的所有程序中断,其他PCIE设备也无法正常工作,因此,如何提供一种有效的PCIE设备管理的方法成为亟待解决的技术问题。
发明内容
本申请提供了一种设备管理的方法、装置和服务器,可以对PCIE设备进行有效的管理。所述技术方案如下:
第一方面,提供了一种设备管理的方法,所述方法包括:BIOS首先在多个PCIE设备中识别目标PCIE设备,该目标PCIE设备出现了不可修正致命类型的错误,处理器与PCIE设备、BIOS和主板控制器BMC均建立有通信连接,所述BIOS与所述BMC建立有通信连接;在BIOS识别目标PCIE设备后,BIOS将所述处理器与所述目标PCIE设备故障隔离;并且,所述BIOS还需要向所述BMC发送指示所述目标PCIE设备的第一指示信息;所述BMC在接收到该第一指示信息时,可以根据所述第一指示信息对所述目标PCIE设备执行故障修复操作。
BIOS先识别目标PCIE设备,再将处理器与目标PCIE设备故障隔离,BMC对目标PCIE设备进行冷复位,并取消处理器与目标PCIE设备的隔离,使得当存在目标PCIE设备时,能够避免处理器控制整个服务器重启,从而避免了传统技术方案中,一旦出现不可修正致命错误时必须对整个服务器进行重启,以对该故障的PCIE设备修复所引起的影响其他未故障的PCIE的问题,本申请提供的方法既隔离了出现不可修正致命错误的PCIE设备,又通过有效手段修复了故障的PCIE设备,并且未影响其他PCIE设备的正常工作,提升了整个服务器中PCIE设备的故障管理和修复的效率,降低了对服务器上运行应用程序的影响,保证了整个服务器系统的正常运行。
作为一种可能的实现方式,所述BIOS将所述处理器与所述目标PCIE设备故障隔离的过程可以包括:所述BIOS将所述处理器与所述目标PCIE设备隔离,并指示所述处理器对所述目标PCIE设备执行热拔出;相应的,所述BMC根据所述第一指示信息对所述目标PCIE设备执行故障修复操作的过程可以包括:所述BMC对所述目标PCIE设备执行冷复位操作;所述BMC取消所述处理器与所述目标PCIE设备的隔离,并指示所述处理器对所述目标PCIE设备进行热插入。其中,BIOS将处理器与目标PCIE设备隔离可以使处理器与目标PCIE设备相互独立,无法进行数据传输,且无法互相访问内存。热拔出指的是带电拔出,将目标PCIE设备热拔出指的是在不关闭服务器电源的前提下,将目标PCIE设备拔出。冷复位指的是通过先下电再上电的方式进行复位。示例地,服务器中设置有目标PCIE设备的电源模块,BMC可以控制目标PCIE设备的电源模块,以对目标PCIE设备进行冷复位。该BMC取消处理器与目标PCIE设备的隔离的过程可以为BIOS将处理器与目标PCIE设备隔离的过程的逆过程。
BIOS将处理器与目标PCIE设备故障隔离,避免了对该故障的PCIE是设备修复影响其他PCIE设备,在保证了不影响其他PCIE设备的正常工作的前提下,实现了对该故障的PCIE设备的修复,提高了对PCIE设备进行管理和故障修复的效率。
作为一种可能的实现方式,所述BIOS将所述处理器与所述目标PCIE设备隔离的过程可以包括:所述BIOS关闭所述目标PCIE设备的直连端口的高级错误报告AER功能,需要说明的是,任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口;所述BIOS关闭所述目标PCIE设备的直连端口对所述目标PCIE设备的内存访问功能;所述BIOS断开所述目标PCIE设备的直连端口与所述目标PCIE设备的通信连接。相应的,所述BMC取消所述处理器与所述目标PCIE设备的隔离,包括:所述BMC建立所述目标PCIE设备的直连端口与所述目标PCIE设备的通信连接;所述BMC开启所述目标PCIE设备的直连端口对所述目标PCIE设备的内存访问功能;所述BMC开启所述目标PCIE设备的直连端口的高级错误报告AER功能。
BIOS关闭目标PCIE设备的直连端口的AER功能,使得处理器不会触发SMI,从而实现了处理器与目标PCEI设备的初始隔离。BIOS关闭目标PCIE设备的直连端口对目标PCIE设备的内存访问功能,能够禁止处理器和其他PCIE设备访问目标PCIE设备,从而实现了处理器与目标PCIE设备的进一步隔离。BIOS断开目标PCIE设备的直连端口与目标PCIE设备的通信连接,能够实现处理器与目标PCIE设备的完全隔离。示例地,BIOS可以通过配置目标PCIE设备的直连端口对应的AER寄存器,以关闭目标PCIE设备的直连端口的AER功能。进一步地,BIOS可以通过配置目标PCIE设备的直连端口对应的内存访问寄存器,以关闭目标PCIE设备的直连端口对目标PCIE设备的内存访问功能。最后,BIOS可以通过配置目标PCIE设备的直连端口对应的链路寄存器,以断开目标PCIE设备的直连端口与目标PCIE设备的通信连接。
作为一种可能的实现方式,所述BMC开启所述目标PCIE设备的直连端口的高级错误报告AER功能,包括:当AER开启条件满足时,所述BMC开启所述目标PCIE设备的直连端口的AER功能;其中,所述AER开启条件包括以下一个或多个:所述目标PCIE设备与所述目标PCIE设备的直连端口建立通信连接;所述处理器将所述目标PCIE设备热插入。
示例地,BMC可以通过读取目标PCIE设备的直连端口对应的链路寄存器,以确定目标PCIE设备与目标PCIE设备的直连端口是否建立通信连接。BMC可以通过读取目标PCIE设备的直连端口对应的热插入状态寄存器,以确定处理器是否将目标PCIE设备热插入。
作为一种可能的实现方式,所述BIOS在多个快捷外设互联标准PCIE设备中识别目标PCIE设备,包括:所述BIOS获取所述处理器生成的系统管理中断SMI,SMI携带有所述处理器中错误根端口的标识,所述错误根端口与所述多个PCIE设备中出现错误的任一PCIE设备建立有通信连接;所述BIOS根据所述SMI携带的所述错误根端口的标识,识别所述错误根端口;所述BIOS检测所述错误根端口的第一状态寄存器中是否存储有所述不可修正致命类型;所述错误根端口的所述第一状态寄存器用于:在所述错误根端口通信连接的任一PCIE设备出现任一错误时,存储所述任一错误的类型;当所述错误根端口的第一状态寄存器中存储有所述不可修正致命类型时,所述BIOS在所述错误根端口通信连接的PCIE设备中识别所述目标PCIE设备。
示例地,BIOS可以根据SMI携带的错误根端口的标识,识别错误根端口,进而识别错误根端口的第一状态寄存器。进一步的,BIOS可以通过读取第一状态寄存器的状态值,以确定第一状态寄存器中是否存储有不可修正致命类型。
作为一种可能的实现方式,所述BIOS在所述错误根端口通信连接的PCIE设备中识别所述目标PCIE设备,包括:所述BIOS根据所述错误根端口的第二状态寄存器中存储的标识,识别所述目标PCIE设备的直连端口;其中,所述错误根端口的第二状态寄存器用于:在所述错误根端口通信连接的任一PCIE设备出现任一错误时,存储所述任一PCIE设备的直连端口的标识;任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口;用于指示出现错误的任一PCIE设备的指示信息携带有:所述任一PCIE设备的直连端口的标识;所述BIOS用于根据所述目标PCIE设备的直连端口查找所述目标PCIE设备;相应的,在所述BMC根据所述第一指示信息对所述目标PCIE设备执行故障修复操作之前,所述方法还包括:所述BMC根据所述第一指示信息所携带的所述目标PCIE设备的直连端口的标识,识别所述目标PCIE设备的直连端口;所述BMC根据所述目标PCIE设备的直连端口查找所述目标PCIE设备。
示例地,BIOS可以根据SMI携带的错误根端口的标识,识别错误根端口,进而识别错误根端口的第二状态寄存器。进一步的,BIOS可以通过读取错误根端口的第二状态寄存器,以获取到该错误根端口的第二状态寄存器中存储的BDF,并将具有该BDF的直连端口确定为目标PCIE设备的直连端口。
作为一种可能的实现方式,在所述BIOS将所述处理器与所述目标PCIE设备隔离之前,所述方法还包括:所述BIOS对部分或全部所述PCIE设备的直连端口配置热插拔参数;所述BIOS将所述处理器与所述目标PCIE设备隔离,包括:当所述目标PCIE设备的直连端口配置有所述热插拔参数时,所述BIOS将所述处理器与所述目标PCIE设备隔离;所述BMC对所述目标PCIE设备执行冷复位操作,包括:当所述目标PCIE设备满足冷复位条件时,所述BMC对所述目标PCIE设备执行所述冷复位操作;其中,所述冷复位条件包括以下一个或多个:所述目标PCIE设备的直连端口配置有所述热插拔参数;所述目标PCIE设备与所述目标PCIE设备的直连端口的通信连接断开;所述处理器将所述目标PCIE设备热拔出。
作为一种可能的实现方式,当所述目标PCIE设备的直连端口未配置有所述热插拔参数时,所述BIOS获取第二指示信息,所述第二指示信息用于指示错误PCIE设备的直连端口,所述错误PCIE设备与所述目标PCIE设备连接至所述处理器的同一根端口;所述BIOS向所述BMC发送所述第二指示信息。
作为一种可能的实现方式,用于指示出现错误的任一PCIE设备的指示信息还用于指示所述任一PCIE设备出现的错误的类型,在所述BMC根据所述第一指示信息对所述目标PCIE设备执行故障修复操作之前,所述方法还包括:所述BMC在接收到的指示信息中,识别用于指示所述不可修正致命类型的所述第一指示信息。
第二方面,提供了一种服务器,所述服务器包括:基本输入输出系统BIOS、处理器、主板控制器BMC和多个快捷外设互联标准PCIE设备,BIOS用于在多个PCIE设备中识别目标PCIE设备,所述目标PCIE设备出现了不可修正致命类型的错误;所述处理器与所述PCIE设备、所述BIOS和BMC均建立有通信连接,所述BIOS与所述BMC建立有通信连接;所述BIOS还用于将所述处理器与所述目标PCIE设备故障隔离;所述BIOS还用于向所述BMC发送指示所述目标PCIE设备的第一指示信息;所述BMC用于根据所述第一指示信息对所述目标PCIE设备执行故障修复操作。
作为一种可能的实现方式,所述BIOS用于将所述处理器与所述目标PCIE设备隔离,并指示所述处理器对所述目标PCIE设备执行热拔出;所述BMC用于对所述目标PCIE设备执行冷复位操作;所述BMC用于取消所述处理器与所述目标PCIE设备的隔离,并指示所述处理器对所述目标PCIE设备进行热插入。
作为一种可能的实现方式,所述BIOS用于关闭所述目标PCIE设备的直连端口的高级错误报告AER功能,任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口;所述BIOS用于关闭所述目标PCIE设备的直连端口对所述目标PCIE设备的内存访问功能;所述BIOS用于断开所述目标PCIE设备的直连端口与所述目标PCIE设备的通信连接;所述BMC用于建立所述目标PCIE设备的直连端口与所述目标PCIE设备的通信连接;所述BMC用于开启所述目标PCIE设备的直连端口对所述目标PCIE设备的内存访问功能;所述BMC用于开启所述目标PCIE设备的直连端口的高级错误报告AER功能。
作为一种可能的实现方式,所述BMC用于当AER开启条件满足时,开启所述目标PCIE设备的直连端口的AER功能;其中,所述AER开启条件包括以下一个或多个:所述目标PCIE设备与所述目标PCIE设备的直连端口建立通信连接;所述处理器将所述目标PCIE设备热插入。
作为一种可能的实现方式,所述BIOS用于获取所述处理器生成的系统管理中断SMI,SMI携带有所述处理器中错误根端口的标识,所述错误根端口与所述多个PCIE设备中出现错误的任一PCIE设备建立有通信连接;所述BIOS用于根据所述SMI携带的所述错误根端口的标识,识别所述错误根端口;所述BIOS用于检测所述错误根端口的第一状态寄存器中是否存储有所述不可修正致命类型;所述错误根端口的所述第一状态寄存器用于:在所述错误根端口通信连接的任一PCIE设备出现任一错误时,存储所述任一错误的类型;当所述错误根端口的第一状态寄存器中存储有所述不可修正致命类型时,所述BIOS用于在所述错误根端口通信连接的PCIE设备中识别所述目标PCIE设备。
作为一种可能的实现方式,所述BIOS用于根据所述错误根端口的第二状态寄存器中存储的标识,识别所述目标PCIE设备的直连端口;所述错误根端口的第二状态寄存器用于:在所述错误根端口通信连接的任一PCIE设备出现任一错误时,存储所述任一PCIE设备的直连端口的标识;任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口;用于指示出现错误的任一PCIE设备的指示信息携带有:所述任一PCIE设备的直连端口的标识;所述BIOS用于根据所述目标PCIE设备的直连端口查找所述目标PCIE设备;所述BMC用于根据所述第一指示信息所携带的所述目标PCIE设备的直连端口的标识,识别所述目标PCIE设备的直连端口;所述BMC用于根据所述目标PCIE设备的直连端口查找所述目标PCIE设备。
作为一种可能的实现方式,在所述BIOS将所述处理器与所述目标PCIE设备隔离之前,所述BIOS还用于对部分或全部所述PCIE设备的直连端口配置热插拔参数;所述BIOS用于当所述目标PCIE设备的直连端口配置有所述热插拔参数时,所述BIOS将所述处理器与所述目标PCIE设备隔离;所述BMC用于当所述目标PCIE设备满足冷复位条件时,所述BMC对所述目标PCIE设备执行所述冷复位操作;其中,所述冷复位条件包括以下一个或多个:所述目标PCIE设备的直连端口配置有所述热插拔参数;所述目标PCIE设备与所述目标PCIE设备的直连端口的通信连接断开;所述处理器将所述目标PCIE设备热拔出。
作为一种可能的实现方式,所述BIOS还用于当所述目标PCIE设备的直连端口未配置有所述热插拔参数时,获取第二指示信息,所述第二指示信息用于指示错误PCIE设备的直连端口,所述错误PCIE设备与所述目标PCIE设备连接至所述处理器的同一根端口;所述BIOS还用于向所述BMC发送所述第二指示信息。
作为一种可能的实现方式,用于指示出现错误的任一PCIE设备的指示信息还用于指示:所述任一PCIE设备出现的错误的类型,在所述BMC根据所述第一指示信息对所述目标PCIE设备执行故障修复操作之前,所述BMC还用于在接收到的指示信息中,识别用于指示所述不可修正致命类型的所述第一指示信息。
第三方面,提供了一种设备管理的装置,应用于服务器,所述装置包括:第一识别模块,用于在多个PCIE设备中识别目标PCIE设备,目标PCIE设备出现了不可修正致命类型的错误。隔离模块,用于将处理器与目标PCIE设备故障隔离。第一发送模块,用于向修复模块发送用于指示目标PCIE设备的第一指示信息。所述修复模块,用于根据第一指示信息对目标PCIE设备执行故障修复操作。
作为一种可能的实现方式,隔离模块包括:隔离子模块,用于将处理器与目标PCIE设备隔离。热拔出子模块,用于指示处理器对目标PCIE设备执行热拔出。修复模块,包括:冷复位子模块,用于对目标PCIE设备执行冷复位操作。取消子模块,用于取消处理器与目标PCIE设备的隔离。热插入子模块,用于指示处理器对目标PCIE设备进行热插入。
作为一种可能的实现方式,该隔离子模块,用于:关闭目标PCIE设备的直连端口的高级错误报告AER功能,任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口。关闭目标PCIE设备的直连端口对目标PCIE设备的内存访问功能。断开目标PCIE设备的直连端口与目标PCIE设备的通信连接。该取消子模块,用于:建立目标PCIE设备的直连端口与目标PCIE设备的通信连接。开启目标PCIE设备的直连端口对目标PCIE设备的内存访问功能。开启目标PCIE设备的直连端口的高级错误报告AER功能。
作为一种可能的实现方式,该取消子模块,用于:当AER开启条件满足时,开启目标PCIE设备的直连端口的AER功能。其中,AER开启条件包括以下一个或多个:目标PCIE设备与目标PCIE设备的直连端口建立通信连接。处理器将目标PCIE设备热插入。
作为一种可能的实现方式,第一识别模块,用于:获取处理器生成的SMI,SMI携带有处理器中错误根端口的标识,错误根端口与多个PCIE设备中出现错误的任一PCIE设备建立有通信连接。根据SMI携带的错误根端口的标识,识别错误根端口。检测错误根端口的第一状态寄存器中是否存储有不可修正致命类型。错误根端口的第一状态寄存器用于:在错误根端口通信连接的任一PCIE设备出现任一错误时,存储任一错误的类型。当错误根端口的第一状态寄存器中存储有不可修正致命类型时,在错误根端口通信连接的PCIE设备中识别目标PCIE设备。
作为一种可能的实现方式,第一识别模块,用于:根据错误根端口的第二状态寄存器中存储的标识,识别目标PCIE设备的直连端口;根据所述目标PCIE设备的直连端口查找所述目标PCIE设备;错误根端口的第二状态寄存器用于:在错误根端口通信连接的任一PCIE设备出现任一错误时,存储任一PCIE设备的直连端口的标识。任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口;用于指示出现错误的任一PCIE设备的指示信息携带有:任一PCIE设备的直连端口的标识。
所述装置还包括:直连端口识别模块,用于根据第一指示信息所携带的目标PCIE设备的直连端口的标识,识别目标PCIE设备的直连端口。查找模块,用于根据目标PCIE设备的直连端口查找目标PCIE设备。
作为一种可能的实现方式,所述装置还包括:配置模块,用于在隔离子模块将处理器与目标PCIE设备隔离之前,对部分或全部PCIE设备的直连端口配置热插拔参数。隔离子模块,用于:当目标PCIE设备的直连端口配置有热插拔参数时,将处理器与目标PCIE设备隔离。冷复位子模块,用于:当目标PCIE设备满足冷复位条件时,对目标PCIE设备执行冷复位操作;其中,冷复位条件包括以下一个或多个:目标PCIE设备的直连端口配置有热插拔参数;目标PCIE设备与目标PCIE设备的直连端口的通信连接断开;处理器将目标PCIE设备热拔出。
作为一种可能的实现方式,所述装置还包括:获取模块,用于当目标PCIE设备的直连端口未配置有热插拔参数时,获取第二指示信息,第二指示信息用于指示错误PCIE设备的直连端口,错误PCIE设备与目标PCIE设备连接至处理器的同一根端口。第二发送模块,用于所述修复模块发送第二指示信息。
作为一种可能的实现方式,用于指示出现错误的任一PCIE设备的指示信息还用于指示:任一PCIE设备出现的错误的类型,所述装置还包括:第二识别模块,用于在修复模块根据第一指示信息对目标PCIE设备执行故障修复操作之前,在接收到的指示信息中,识别用于指示不可修正致命类型的第一指示信息。
第四方面,提供了一种设备管理的方法,应用于服务器中的基本输入输出系统BIOS,所述服务器还包括处理器和主板控制器BMC,所述处理器与多个快捷外设互联标准PCIE设备、BMC以及所述BIOS均建立有通信连接,所述方法包括:BIOS在多个PCIE设备中识别目标PCIE设备,所述目标PCIE设备出现了不可修正致命类型的错误;所述BIOS将所述处理器与所述目标PCIE设备故障隔离;所述BIOS向所述BMC发送指示所述目标PCIE设备的第一指示信息。
作为一种可能的实现方式,所述BIOS将所述处理器与所述目标PCIE设备故障隔离,包括:所述BIOS将所述处理器与所述目标PCIE设备隔离,并指示所述处理器对所述目标PCIE设备执行热拔出。
作为一种可能的实现方式,所述BIOS将所述处理器与所述目标PCIE设备隔离,包括:所述BIOS关闭所述目标PCIE设备的直连端口的高级错误报告AER功能,任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口;所述BIOS关闭所述目标PCIE设备的直连端口对所述目标PCIE设备的内存访问功能;所述BIOS断开所述目标PCIE设备的直连端口与所述目标PCIE设备的通信连接。
作为一种可能的实现方式,所述BIOS在多个快捷外设互联标准PCIE设备中识别目标PCIE设备,包括:所述BIOS获取所述处理器生成的系统管理中断SMI,SMI携带有所述处理器中错误根端口的标识,所述错误根端口与所述多个PCIE设备中出现错误的任一PCIE设备建立有通信连接;所述BIOS根据所述SMI携带的所述错误根端口的标识,识别所述错误根端口;所述BIOS检测所述错误根端口的第一状态寄存器中是否存储有所述不可修正致命类型;所述错误根端口的所述第一状态寄存器用于:在所述错误根端口通信连接的任一PCIE设备出现任一错误时,存储所述任一错误的类型;当所述错误根端口的第一状态寄存器中存储有所述不可修正致命类型时,所述BIOS在所述错误根端口通信连接的PCIE设备中识别所述目标PCIE设备。
作为一种可能的实现方式,所述BIOS在所述错误根端口通信连接的PCIE设备中识别所述目标PCIE设备,包括:所述BIOS根据所述错误根端口的第二状态寄存器中存储的标识,识别所述目标PCIE设备的直连端口;所述BIOS根据所述目标PCIE设备的直连端口查找所述目标PCIE设备;所述错误根端口的第二状态寄存器用于:在所述错误根端口通信连接的任一PCIE设备出现任一错误时,存储所述任一PCIE设备的直连端口的标识;任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口;用于指示出现错误的任一PCIE设备的指示信息携带有:所述任一PCIE设备的直连端口的标识。
作为一种可能的实现方式,在所述BIOS将所述处理器与所述目标PCIE设备隔离之前,所述方法还包括:对部分或全部所述PCIE设备的直连端口配置热插拔参数;所述BIOS将所述处理器与所述目标PCIE设备隔离,包括:当所述目标PCIE设备的直连端口配置有所述热插拔参数时,所述BIOS将所述处理器与所述目标PCIE设备隔离。
作为一种可能的实现方式,所述方法还包括:当所述目标PCIE设备的直连端口未配置有所述热插拔参数时,所述BIOS获取第二指示信息,所述第二指示信息用于指示错误PCIE设备的直连端口,所述错误PCIE设备与所述目标PCIE设备连接至所述处理器的同一根端口;所述BIOS向所述BMC发送所述第二指示信息。
作为一种可能的实现方式,用于指示出现错误的任一PCIE设备的指示信息还用于指示:所述任一PCIE设备出现的错误的类型。
第五方面,提供了一种设备管理的方法,应用于服务器中的主板控制器BMC,所述服务器还包括处理器和基本输入输出系统BIOS,所述处理器与所述与多个快捷外设互联标准PCIE设备、BIOS和BMC均建立有通信连接,所述BIOS与所述BMC建立有通信连接,所述方法包括:所述BMC接收所述BIOS发送的目标PCIE设备的第一指示信息;所述BMC根据所述第一指示信息对所述目标PCIE设备执行故障修复操作,所述目标PCIE设备出现了不可修正致命类型的错误。
作为一种可能的实现方式,所述BMC根据所述第一指示信息对所述目标PCIE设备执行故障修复操作,包括:所述BMC对所述目标PCIE设备执行冷复位操作;所述BMC取消所述处理器与所述目标PCIE设备的隔离,并指示所述处理器对所述目标PCIE设备进行热插入。
作为一种可能的实现方式,所述BMC取消所述处理器与所述目标PCIE设备的隔离,包括:所述BMC建立所述目标PCIE设备的直连端口与所述目标PCIE设备的通信连接,任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口;所述BMC开启所述目标PCIE设备的直连端口对所述目标PCIE设备的内存访问功能;所述BMC开启所述目标PCIE设备的直连端口的高级错误报告AER功能。
作为一种可能的实现方式,所述BMC开启所述目标PCIE设备的直连端口的高级错误报告AER功能,包括:当AER开启条件满足时,所述BMC开启所述目标PCIE设备的直连端口的AER功能;其中,所述AER开启条件包括以下一个或多个:所述目标PCIE设备与所述目标PCIE设备的直连端口建立通信连接;所述处理器将所述目标PCIE设备热插入。
作为一种可能的实现方式,在所述BMC根据所述第一指示信息对所述目标PCIE设备执行故障修复操作之前,所述方法还包括:所述BMC根据所述第一指示信息所携带的所述目标PCIE设备的直连端口的标识,识别所述目标PCIE设备的直连端口;所述BMC根据所述目标PCIE设备的直连端口查找所述目标PCIE设备。任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口;用于指示出现错误的任一PCIE设备的指示信息携带有:所述任一PCIE设备的直连端口的标识。
作为一种可能的实现方式,所述BMC对所述目标PCIE设备执行冷复位操作,包括:当所述目标PCIE设备满足冷复位条件时,所述BMC对所述目标PCIE设备执行所述冷复位操作;其中,所述冷复位条件包括以下一个或多个:所述目标PCIE设备的直连端口配置有所述热插拔参数;所述目标PCIE设备与所述目标PCIE设备的直连端口的通信连接断开;所述处理器将所述目标PCIE设备热拔出。
作为一种可能的实现方式,所述BMC接收所述BIOS发送的第二指示信息,所述第二指示信息用于指示错误PCIE设备的直连端口,所述错误PCIE设备与所述目标PCIE设备连接至所述处理器的同一根端口。
作为一种可能的实现方式,用于指示出现错误的任一PCIE设备的指示信息还用于指示:所述任一PCIE设备出现的错误的类型,在所述BMC根据所述第一指示信息对所述目标PCIE设备执行故障修复操作之前,所述方法还包括:所述BMC在接收到的指示信息中,识别用于指示所述不可修正致命类型的所述第一指示信息。
第六方面,提供了一种设备管理的装置,应用于基本输入输出系统BIOS,所述装置包括所述装置包括用于执行第四方面或第四方面任一种可能实现方式中的设备管理的方法的各个模块。
第七方面,提供了一种设备管理的装置,应用于主板控制器BMC,所述装置包括用于执行第五方面或第五方面任一种可能实现方式中的设备管理的方法的各个模块。
第八方面,提供了一种芯片,所述芯片包括可编程逻辑电路和/或程序指令,当所述芯片运行时用于实现如第四方面或第五方面所述的设备管理的方法。
第九方面,提供了一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行第四方面或第五方面所述的设备管理的方法。
第十方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令;当所述指令在处理组件上运行时,使得所述处理组件执行第四方面或第五方面所述的设备管理的方法。
本申请提供的技术方案带来的有益效果包括:
当PCIE设备出现不可修复致命错误时,BIOS先识别目标PCIE设备,再将处理器与目标PCIE设备故障隔离,BMC对目标PCIE设备进行冷复位,并取消处理器与目标PCIE设备的隔离,使得当存在目标PCIE设备时,能够避免处理器控制整个服务器重启,从而避免了传统技术方案中,一旦出现不可修正致命错误时必须对整个服务器进行重启,以对该故障的PCIE设备修复所引起的影响其他未故障的PCIE的问题,本申请提供的方法既隔离了出现不可修正致命错误的PCIE设备,又通过有效手段修复了故障的PCIE设备,并且未影响其他PCIE设备的正常工作,提升了整个服务器中PCIE设备的故障管理和修复的效率,降低了对服务器上运行应用程序的影响,保证了整个服务器系统的正常运行。
附图说明
图1为本申请实施例提供的一种服务器的结构示意图;
图2为本申请实施例提供的一种设备管理的方法的流程图;
图3为本申请实施例提供的一种BIOS识别目标PCIE设备的方法流程图;
图4为本申请实施例提供的一种BIOS将处理器与目标PCIE设备隔离,并指示处理器对目标PCIE设备执行热拔出的方法流程图;
图5为本申请实施例提供的一种BMC取消处理器与目标PCIE设备的隔离,并指示处理器对目标PCIE设备执行热插入的方法流程图;
图6为本申请实施例提供的一种设备管理的装置的结构示意图;
图7为本申请实施例提供的另一种设备管理的装置的结构示意图;
图8为本申请实施例提供的另一种设备管理的装置的结构示意图;
图9为本申请实施例提供的一种服务器的结构示意图。
具体实施方式
下面结合附图对本申请的具体实施方式作进一步地描述。
图1为本申请实施例提供的一种服务器的结构示意图,如图1所示,该服务器包括:基本输入输出系统(Basic Input/Output System,BIOS)101、主板控制器(Baseboardmanagement controller,BMC)102、处理器103和多个PCIE设备104(图1中示出了3个)。BIOS101、BMC 102以及多个PCIE设备104均与处理器103建立有通信连接,可选地,处理器103可以与BMC 102直接建立通信连接,或者,处理器103可以通过中间件(Middleware,ME)(图1中未示出)与BMC 102建立通信连接,BIOS 101与BMC 102建立有通信连接。
需要说明的是,BIOS 101、BMC 102和处理器均可以视为PCIE设备,图1中的多个PCIE设备104可以为用于扩展服务器10的外接功能的其他PCIE设备。在该多个PCIE设备104中,每个PCIE设备可以与处理器的根端口直接建立通信连接。如图1所示,处理器103还包括根复合体1031,根复合体1031是充当PCIE设备104和处理器103之间的桥梁的硬件结构。根复合体1031可以整合为处理器的部分。例如,图1所示的根复合体1031整合为处理器103的部分。根复合体1031包括第一根端口1031a和第二根端口1031b。
其中,每个PCIE设备的直连端口可以为根复合体中的根端口,也可以为交换机的下行口,需要说明的是,该每个PCIE设备的直连端口为:端口集合中与该PCIE设备的路由最短的端口,该端口集合包括处理器的根端口,且当服务器包括交换机时,端口集合还包括交换机的下行口。当PCIE设备的直连端口为交换机的下行口时,该服务器还包括交换机,且处理器103的根端口与交换机的下行口建立有通信连接。示例地,多个PCIE设备中,所有PCIE设备的直连端口均可以为根复合体中的根端口;或者所有PCIE设备的直连端口均为交换机的下行口;或者部分PCIE设备的直连端口为根复合体中的根端口,部分PCIE设备的直连端口为交换机的下行口,本申请实施例对每个PCIE设备的直连端口不做限定。
图1以部分PCIE设备的直连端口为根复合体中的根端口,部分PCIE设备的直连端口为交换机的下行口为例进行说明,则服务器10还包括交换机105,交换机105包括上行口1051和下行口1052。PCIE设备104包括第一PCIE设备1041和第二PCIE设备1042。根复合体1031包括:第一根端口1031a和第二根端口1031b,交换机105的上行口1051与第一根端口1031a直接连接。第一PCIE设备1041的直连端口为下行口1052,第二PCIE设备1042的直连端口为第二根端口1031b。
在服务器10中,BIOS 101指的是一种固件。BIOS 101的功能包括:在服务器启动过程中,检测设备管理系统中的各个硬件设备是否出现错误,并在检测到任一硬件设备出现错误时,根据错误的严重程度进行相应的处理。
BMC 102指的是一种独立于处理器103或者BIOS 101的控制器。BMC 102的功能包括:对设备管理系统中的各个硬件设备进行管理和监控。示例地,BMC 102能够用于对硬件设备的错误查询、错误预警、错误上报以及错误隔离等。
PCIE设备104指的是采用PCIE标准协议进行数据传输的设备,示例地,PCIE设备104可以包括:网卡、显卡、GPU和FPGA芯片等。相应的,PCIE设备104的直连端口可以为支持PCIE标准协议的端口。PCIE设备104可以采用PCIE标准协议与处理器103进行数据传输。
可选地,上述处理器103可以为:中央处理器(Central Processing Unit,CPU)、ARM(Advanced RISC Machines)处理器或者专用处理器等具有计算处理能力的器件。又一可选地,服务器中的处理器103可以为单核处理器或多核处理器。
随着服务器外接的PCIE设备104数量的增加,PCIE设备104出现错误的概率也随之增大。PCIE设备104出现错误会影响服务器的正常运行,因此,对出现错误的PCIE设备的处理是维护服务器正常运行的重要环节。目前服务器通常基于固件优先模式(FirmwareFirst Mode,FFM)对出现错误的PCIE设备进行处理。示例地,任一PCIE设备出现错误时,处理器103会生成系统管理中断(System Management Interrupt,SMI),并将SMI发送至BIOS101,BIOS 101根据SMI对该PCIE设备出现的错误进行处理。
在PCIE标准协议中,按照错误的严重程度将PCIE设备出现的错误划分为:可修正、不可修正非致命以及不可修正致命这三种类型。相关技术中,BIOS 101在接收到处理器103发送的SMI后,能够基于SMI确定错误的类型。当确定错误的类型为可修正或者不可修正非致命时,BIOS 101向处理器103发送系统控制中断(System Control Interrupt,SCI)。处理器103在接收到SCI后,调用硬件设备或者软件程序对出现错误的PCIE设备进行修复。当确定错误的类型为不可修正致命时,BIOS 101向处理器103发送不可屏蔽中断(Non-maskableinterrupt,NMI),处理器103在接收到NMI后控制服务器10重启,以对出现错误的PCIE设备进行初始化,从而修复该PCIE设备。
但是相关技术中,当单个PCIE设备出现的错误类型为不可修正致命时,会对服务器进行重启,从而导致服务器上其他未出现错误的PCIE设备也会被初始化。并且,在云场景下,将一个服务器分为多个虚拟服务器,每个虚拟服务器与该服务器上一个或者多个PCIE设备建立有通信连接,当单个PCIE设备出现的错误类型为不可修正致命导致服务器重启时,该服务器关联的所有虚拟服务器上正在运行的所有程序中断。因此,相关技术中,对出现错误的PCIE设备的修复灵活性较差。
图2为本申请实施例提供的一种设备管理的方法的流程图,该设备管理的方法可以应用于图1中的服务器10,该服务器10包括:BIOS 101、BMC 102、处理器103和多个PCIE设备104。本申请实施例所提供的设备管理的方法可以分为三个阶段:故障识别阶段、故障隔离阶段以及故障修复阶段,以下以该三个阶段为例进行说明。请参考图2,该方法可以包括:
第一阶段,故障识别阶段:
步骤201、BIOS对部分或全部PCIE设备的直连端口配置热插拔参数。
如图1所示,该服务器10还可以包括:与多个PCIE设备104的直连端口一一对应的多个热插拔功能寄存器106,热插拔参数可以为热插拔功能寄存器106的状态值。则对于第一PCIE设备1041,热插拔功能寄存器106设置在交换机105中,对于第二PCIE设备1042,热插拔功能寄存器设置在处理器103中。
示例地,对于每个热插拔功能寄存器106,该热插拔功能寄存器106的状态值用于指示是否打开相应的直连端口的热插拔功能。其中,该热插拔功能寄存器106的状态值可以设置为:“0”指示关闭相应的直连端口的热插拔功能;“1”指示打开相应的直连端口的热插拔功能。可选地,该热插拔功能寄存器106的状态值可以存储在热插拔功能寄存器106的第6个比特位中。
示例地,对于每个直连端口,BIOS可以将该直连端口对应的热插拔功能寄存器的状态值配置为“1”,以对该直连端口配置热插拔参数。此时,对于配置有热插拔参数的直连端口,其对应的热插拔功能寄存器的状态值为“1”;对于未配置有热插拔参数的直连端口,其对应的热插拔功能寄存器的状态值为“0”。
需要说明的是,如图1所示,服务器10还可以包括:与多个PCIE设备的直连端口一一对应的多个在位状态控制寄存器107以及多个在位状态寄存器108,该在位状态控制寄存器107的状态值用于指示是否打开对应的在位状态寄存器108的功能,该在位状态寄存器108的状态值用于指示对应的直连端口是否连接有PCIE设备。其中,该在位状态控制寄存器107的状态值可以设置为:“0”指示关闭在位状态寄存器108的功能;“1”指示打开在位状态寄存器108的功能。该在位状态寄存器108的状态值可以设置为:“0”指示对应的直连端口未连接有PCIE设备;“1”指示对应的直连端口连接有PCIE设备。示例地,BIOS可以将该在位状态控制寄存器107的状态值配置为“1”,以打开在位状态寄存器108的功能,再通过读取在位状态寄存器108的状态值,以确定对应的直连端口是否插连接有PCIE设备。可选地,该在位状态控制寄存器107的状态值可以存储在在位状态控制寄存器107的第3个比特位中,在位状态寄存器的状态值可以存储在在位状态寄存器108的第9个比特位中。
步骤202、BIOS在多个PCIE设备中识别目标PCIE设备。
其中,目标PCIE设备出现了不可修正致命类型的错误。可选地,请参考图3,图3为本申请实施例提供的一种BIOS识别目标PCIE设备的方法流程图,该方法可以包括:
步骤2021、BIOS获取处理器生成的SMI。
该SMI携带有处理器中错误根端口的标识,错误根端口与多个PCIE设备中出现错误的任一PCIE设备建立有通信连接。通常情况下,在多个PCIE设备中存在任一PCIE设备出现错误时,该出现错误的任一PCIE设备会生成高级错误报告(Advanced Error Reporting,AER),该出现错误的任一PCIE设备的直连端口会上报该AER,该AER通过与出现该错误的任一PCIE设备建立有通信连接的错误根端口发送至处理器。处理器在接收到AER后可以生成SMI,并将SMI发送至BIOS,以使BIOS获取处理器生成的SMI。并且,由于AER是通过出现错误的根端口发送至处理器的,且处理器是基于AER生成SMI的,因此,处理器生成的SMI可以携带有错误根端口的标识。
步骤2022、BIOS根据SMI携带的错误根端口的标识,识别错误根端口。
步骤2023、BIOS检测错误根端口的第一状态寄存器中是否存储有不可修正致命类型。当错误根端口的第一状态寄存器中存储有不可修正致命类型时,执行步骤2024;当错误根端口的第一状态寄存器中未存储有不可修正致命类型时,执行步骤2026。
需要说明的是,如图1所示,根复合体1031中的每个根端口分别设置有第一状态寄存器1032,每个根端口的第一状态寄存器1032用于:在每个根端口通信连接的任一PCIE设备出现任一错误时,存储任一错误的类型。示例地,该错误类型可以为:可修正、不可修正非致命或不可修正致命,相应的,错误根端口的第一状态寄存器1032的状态值可以设置为:“01”指示可修正类型,“10”指示不可修正非致命,“11”指示不可修正致命类型。可选地,该第一状态寄存器1032的状态值可以存储在第一状态寄存器的第16个比特位至第31个比特位中。
在步骤2023之前,BIOS可以根据SMI携带的错误根端口的标识,确定错误根端口,进而确定错误根端口的第一状态寄存器。其中,处理器中的多个第一状态寄存器与处理器所包括的根端口一一对应,BIOS在确定错误根端口的第一状态寄存器时,可以根据处理器所包括的根端口与多个第一状态寄存器的一一对应关系,确定该第一状态寄存器。在该步骤2023中,BIOS可以通过读取错误根端口的第一状态寄存器,检测第一状态寄存器中是否存储有不可修正致命类型。示例地,当BIOS读取到错误根端口的第一状态寄存器的状态值为“11”时,BIOS确定错误根端口的第一状态寄存器中存储有不可修正致命类型,此时,BIOS可以执行后续步骤2024;当BIOS读取到错误根端口的第一状态寄存器的状态值为“01”或者“10”时,BIOS确定错误根端口的第一状态寄存器中未存储有不可修正致命类型,此时,BIOS可以执行后续步骤2026。
步骤2024、BIOS根据错误根端口的第二状态寄存器中存储的标识,识别目标PCIE设备的直连端口。
如图1所示,根复合体1031中的每个根端口分别设置有第二状态寄存器1033,错误根端口的第二状态寄存器用于:在错误根端口通信连接的任一PCIE设备出现任一错误时,存储任一PCIE设备的直连端口的标识。示例地,该错误根端口的第二状态寄存器中存储的任一PCIE设备的直连端口的标识可以为:该任一PCIE设备的直连端口的总线号、设备号以及功能号(BUS、Device以及Function,BDF),该BDF用于指示PCIE设备的类型,该PCIE设备的类型可以包括PCIE交换机(PCIE switch)以及PCIE端点(PCIE Endpoint),不同的PCIE设备具有不同的BDF。可选地,该第二状态寄存器的状态值可以存储在第二状态寄存器的第0个比特位至第15个比特位中。
示例地,BIOS可以根据SMI携带的错误根端口的标识,识别错误根端口,进而识别错误根端口的第二状态寄存器。其中,多个第二状态寄存器与根端口一一对应,BIOS在识别错误根端口的第二状态寄存器时,可以根据处理器所包括的根端口与多个第二状态寄存器的一一对应关系,识别错误根端口的第二状态寄存器。示例地,BIOS可以通过读取错误根端口的第二状态寄存器,以获取到该错误根端口的第二状态寄存器中存储的BDF。并将具有获取的BDF的直连端口识别为目标PCIE设备的直连端口。
步骤2025、BIOS根据目标PCIE设备的直连端口查找目标PCIE设备。
步骤2026、BIOS在多个PCIE设备中确定不存在目标PCIE设备。
此时,BIOS可以不执行后续步骤,直接对与错误根端口建立有通信连接的出现错误的PCIE设备进行修复。
第二阶段,故障隔离阶段:
步骤203、BIOS检测目标PCIE设备的直连端口是否配置有热插拔参数。当目标PCIE设备的直连端口配置有热插拔参数时,执行步骤204;当目标PCIE设备的直连端口未配置有热插拔参数时,执行步骤206。
可选地,BIOS可以通过多个PCIE设备的直连端口与多个热插拔功能寄存器的一一对应关系确定目标PCIE设备的直连端口对应的热插拔功能寄存器。之后,BIOS可以通过读取目标PCIE设备的直连端口对应的热插拔功能寄存器的状态值,以检测目标PCIE设备的直连端口是否配置有热插拔参数。
示例地,请参考前述步骤201,当BIOS读取到目标PCIE设备的直连端口对应的热插拔功能寄存器的状态值为“1”时,BIOS可以确定该目标PCIE设备的直连端口配置有热插拔参数,此时,BIOS可以执行后续步骤204和205;当BIOS读取到目标PCIE设备的直连端口对应的热插拔功能寄存器的状态值为“0”时,BIOS可以确定该目标PCIE设备的直连端口未配置有热插拔参数,此时,BIOS可以执行后续步骤206和207。
步骤204、BIOS将处理器与目标PCIE设备故障隔离。
可选地,BIOS可以将处理器与目标PCIE设备隔离,并指示处理器对目标PCIE设备执行热拔出。BIOS将处理器与目标PCIE设备隔离可以使处理器与目标PCIE设备相互独立,无法进行数据传输,且无法互相访问内存。热拔出指的是带电拔出,将目标PCIE设备热拔出指的是在不关闭服务器电源的前提下,将目标PCIE设备拔出。
示例地,请参考图4,图4为本申请实施例提供的一种BIOS将处理器与目标PCIE设备隔离,并指示处理器对目标PCIE设备执行热拔出的方法流程图,该方法可以包括:
步骤2041、BIOS关闭目标PCIE设备的直连端口的高级错误报告功能。
由前述描述可知,在多个PCIE设备中存在任一PCIE设备出现任一错误时,该任一PCIE设备会生成AER,该任一PCIE设备的直连端口会上报该AER,该AER通过与该任一PCIE设备通信连接的错误根端口发送至处理器,处理器在接收到AER后可以触发SMI,并将SMI发送至BIOS。因此,BIOS关闭目标PCIE设备的直连端口的AER功能,使得处理器不会触发SMI,从而实现了处理器与目标PCEI设备的初始隔离。
如图1所示,该服务器10还包括:与多个PCEI设备所的直连端口一一对应的多个AER寄存器109,每个直连端口对应的AER寄存器的状态值用于指示是否开启对应的直连端口的AER功能。示例地,每个直连端口对应的AER寄存器的状态值可以设置为:“1”指示关闭对应的直连端口的AER功能,“0”指示开启对应的直连端口的AER功能。此时,BIOS可以通过多个PCEI设备的直连端口与多个AER寄存器的一一对应关系,确定目标PCIE设备的直连端口对应的AER寄存器,再将目标PCIE设备的直连端口对应的AER寄存器的状态值配置为“1”,以关闭目标PCIE设备的直连端口的AER功能。可选地,该AER寄存器的状态值可以存储在AER寄存器的第8个比特位以及第14个比特位中。
步骤2042、BIOS关闭目标PCIE设备的直连端口对目标PCIE设备的内存访问功能。
BIOS关闭目标PCIE设备的直连端口对目标PCIE设备的内存访问功能,能够禁止处理器和其他PCIE设备访问目标PCIE设备,从而实现了处理器与目标PCIE设备的进一步隔离。
如图1所示,该服务器10还包括:与多个PCEI设备的直连端口一一对应的多个内存访问寄存器110,每个直连端口对应的的内存访问寄存器的状态值用于指示是否开启对应的直连端口对相应的PCIE设备的内存访问功能。示例地,每个直连端口对应的的内存访问寄存器的状态值可以设置为:“1”指示关闭对应的直连端口对相应的PCIE设备的内存访问功能,“0”指示开启对应的直连端口对相应的PCIE设备的内存访问功能。此时,BIOS可以通过多个PCEI设备的直连端口与多个内存访问寄存器的一一对应关系,确定目标PCIE设备的直连端口对应的内存访问寄存器,再将目标PCIE设备的直连端口对应的内存访问寄存器的状态值配置为“1”,以关闭目标PCIE设备的直连端口对目标PCIE设备的内存访问功能。可选地,该内存访问寄存器的状态值可以存储在内存访问寄存器的第1个比特位中。
步骤2043、BIOS断开目标PCIE设备的直连端口与目标PCIE设备的通信连接。
BIOS断开目标PCIE设备的直连端口与目标PCIE设备的通信连接,能够实现处理器与目标PCIE设备的完全隔离。
如图1所示,该服务器10还包括:与多个PCEI设备的直连端口一一对应的多个链路寄存器111,每个直连端口对应的的链路寄存器的状态值用于指示是否建立对应的直连端口与相应的PCIE设备的通信连接。示例地,每个直连端口对应的的链路寄存器的状态值可以设置为:“1”指示断开对应的直连端口与相应的PCIE设备的通信连接,“0”指示建立对应的直连端口与相应的PCIE设备的通信连接。此时,BIOS可以通过多个PCEI设备的直连端口与多个链路寄存器的一一对应关系,确定目标PCIE设备的直连端口对应的链路寄存器,再将目标PCIE设备的直连端口对应的链路寄存器的状态值配置为“1”,以断开目标PCIE设备的直连端口与目标PCIE设备的通信连接。可选地,该链路寄存器的状态值可以存储在链路寄存器的第4个比特位中。
步骤2044、BIOS指示处理器对目标PCIE设备执行热拔出。
示例地,BIOS可以指示处理器取消目标PCIE设备与服务器中运行的软件的关联,并删除服务器中目标PCIE设备的资源,从而对目标PCIE设备执行热拔出。可选地,如图1所示,服务器10还包括:与多个PCEI设备的直连端口一一对应的多个热拔出状态寄存器,每个直连端口对应的热拔出状态寄存器的状态值用于指示对应的直连端口上插入的PICE设备的热拔出状态。示例地,每个直连端口对应的热拔出状态寄存器的状态值可以设置为:“01”指示热拔出正在进行,“10”指示未能完成热拔出,“11”指示热拔出正常结束。
步骤205、BIOS向BMC发送用于指示目标PCIE设备的第一指示信息。
可选地,用于指示出现错误的任一PCIE设备的指示信息携带有:该任一PCIE设备的直连端口的标识,则该第一指示信息可以携带有目标PCIE设备的直连端口的标识。示例地,目标PCIE设备的直连端口的标识可以为目标PCIE设备的直连端口的BDF。
示例地,由前述步骤202可知,BIOS获取到了目标PCIE设备的直连端口的BDF,则步骤205中,BIOS可以将目标PCIE设备的直连端口的BDF携带在第一指示信息中,并在步骤205中向BMC发送第一指示信息。
可选地,用于指示出现错误的任一PCIE设备的指示信息还可以用于指示:该任一PCIE设备出现的错误的类型,此时,第一指示信息还可以用于指示不可修正致命类型。本申请实施例以用于指示出现错误的任一PCIE设备的指示信息还用于指示:该任一PCIE设备出现的错误的类型为例进行说明。
步骤206、BIOS获取第二指示信息,第二指示信息用于指示错误PCIE设备的直连端口,错误PCIE设备与目标PCIE设备连接至处理器的同一根端口。
该错误PCIE设备出现的错误的类型可以为可修正、不可修正非致命或者不可修正致命。该第二指示信息可以用于指示错误PCIE设备的直连端口以及错误PCIE设备出现的错误的类型。示例地,当某一错误PCIE设备出现的错误的类型为不可修正非致命时,该第二指示信息可以用于指示该错误PCIE设备的直连端口以及不可修正非致命类型。
可选地,如图1所示,该服务器10还包括与多个PCIE设备一一对应的多个错误状态寄存器113,每个错误状态寄存器用于:在每个PCIE设备出现任一错误时,存储该PCIE设备的直连端口的标识(如BDF)以及该PCIE设备出现的错误的类型。
示例地,对于每个错误PCIE设备,BIOS可以通过读取该错误PCIE设备的错误状态寄存器,以获取到该错误PCIE设备的错误状态寄存器中存储的BDF和错误类型,从而获取到第二指示信息。
步骤207、BIOS向BMC发送第二指示信息。
第三阶段,故障修复阶段:
步骤208、BMC在接收到的指示信息中,识别用于指示不可修正致命类型的第一指示信息。
BMC接收到的指示信息可以为:步骤205中BIOS发送的第一指示信息,或者步骤207中BIOS发送的第二指示信息。
可选地,BMC可以通过接收到的指示信息所指示的错误类型,识别第一指示信息。示例地,BMC可以通过检测接收到的指示信息所指示的错误类型是否为不可修正致命类型,以识别第一指示信息。当接收到的指示信息所指示的错误类型为不可修正致命时,识别第一指示信息;当接收到的指示信息所指示的错误类型为可修正或者不可修正非致命时,确定未接收到第一指示信息,此时,BMC不执行后续步骤,该方法流程直接结束。
步骤209、BMC根据第一指示信息所携带的目标PCIE设备的直连端口的标识,识别目标PCIE设备的直连端口,以及根据目标PCIE设备的直连端口查找目标PCIE设备。
示例地,BMC可以根据第一指示信息所携带的BDF,将具有该BDF的直连端口查找为目标PCIE设备的直连端口,进一步将与目标PCIE设备的直连端口连接的PCIE设备确定为目标PCIE设备。
步骤210、BMC检测目标PCIE设备是否满足冷复位条件。当目标PCIE设备满足冷复位条件时,执行步骤211。
当目标PCIE设备满足冷复位条件时,BMC可以执行后续步骤211;当目标PCIE设备未满足冷复位条件时,BMC控制处理器展示修复提示信息,该修复提示信息用于提示用户PCIE设备修复失败。其中,冷复位条件可以包括以下一个或多个,本申请实施例以冷复位条件包括如下3个条件为例进行说明:
条件1:目标PCIE设备的直连端口配置有热插拔参数。
可选地,请参考前述步骤201,BMC可以通过读取目标PCIE设备的直连端口对应的热插拔功能寄存器的状态值,以检测目标PCIE设备的直连端口是否配置有热插拔参数。示例地,当BMC读取到目标PCIE设备的直连端口对应的热插拔功能寄存器的状态值为“1”时,BMC可以确定该目标PCIE设备的直连端口配置有热插拔参数,此时,BMC可以确定目标PCIE设备满足条件1;当BMC读取到目标PCIE设备的直连端口对应的热插拔功能寄存器的状态值为“0”时,BMC可以确定该目标PCIE设备的直连端口未配置有热插拔参数,此时,BMC可以确定目标PCIE设备未满足条件1。
条件2:目标PCIE设备与目标PCIE设备的直连端口的通信连接断开。
可选地,请参考前述步骤204,BMC可以通过读取目标PCIE设备的直连端口对应的链路寄存器,以确定目标PCIE设备与目标PCIE设备的直连端口的通信连接是否断开。示例地,当BMC读取到目标PCIE设备的直连端口对应的链路寄存器的状态值为“1”时,确定目标PCIE设备与目标PCIE设备的直连端口的通信连接断开,此时,BMC可以确定目标PCIE设备满足条件2;当BMC读取到目标PCIE设备的直连端口对应的链路寄存器的状态值为“0”时,确定目标PCIE设备与目标PCIE设备的直连端口的通信连接未断开,此时,BMC可以确定目标PCIE设备未满足条件2。
条件3:处理器将目标PCIE设备热拔出。
可选地,请参考前述步骤204,BMC可以通过读取目标PCIE设备的直连端口对应的热拔出状态寄存器,以确定处理器是否将目标PCIE设备热拔出。示例地,当BMC读取到目标PCIE设备的直连端口对应的热拔出状态寄存器的状态值为“11”时,确定处理器将目标PCIE设备热拔出,此时,BMC可以确定目标PCIE设备满足条件3;当BMC读取到目标PCIE设备的直连端口对应的热拔出状态寄存器的状态值为“01”或者“10”时,确定处理器将目标PCIE设备未热拔出,此时,BMC可以确定目标PCIE设备未满足条件3。
在本申请实施例中,BMC在确定接收到第一指示信息时,可以控制处理器展示告警提示信息,该告警提示信息用于提示用户存在PCIE设备出现了不可修正致命错误。示例地,该告警提示信息可以通过语音、图像或者指示灯等方式展示。例如,服务器还可以包括显示屏,处理器可以通过显示屏显示包括“存在PCIE设备发生不可修正致命错误”的画面的方式展示告警提示信息。
步骤211、BMC对目标PCIE设备执行冷复位操作。
其中,冷复位指的是通过先下电再上电的方式进行复位。可选地,服务器中设置有目标PCIE设备的电源模块,BMC可以控制目标PCIE设备的电源模块,以对目标PCIE设备进行冷复位。示例地,电源模块可以为电源控制电路或者硬件复位电路,BMC可以向电源控制电路或者硬件复位电路输入下电电平,使目标PCIE设备下电。之后,BMC再向电源控制电路或者硬件复位电路输入上电电平,使目标PCIE设备上电,从而对目标PCIE设备进行复位。BMC在对目标PCIE设备进行冷复位,能够将目标PCIE设备初始化,从而修复目标PCIE设备。
在本申请实施例中,如图1所示,该服务器10还可以包括:与多个PCEI设备的直连端口一一对应的多个冷复位状态控制寄存器114以及多个冷复位状态寄存器115,该冷复位状态控制寄存器114的状态值用于指示是否打开对应的冷复位状态寄存器115的功能,该冷复位状态寄存器115的第三标志位用于指示冷复位的过程,第四标志位用于指示冷复位的状态。示例地,该冷复位状态控制寄存器114的状态值可以设置为:“0”指示关闭冷复位状态寄存器115的功能;“1”指示打开冷复位状态寄存器115的功能。该冷复位状态寄存器115的第三标志位的值可以设置为:“11”指示冷复位中的下电过程结束,“01”指示冷复位中的上电过程结束,“10”指示冷复位中的上电过程或者下电过程正在进行中。第四标志位的值可以设置为:“11”指示冷复位完成,“01”指示冷复位未完成。可选地,该第三标志位可以为冷复位状态寄存器115中的第8个比特位和第9个比特位,第四标志位可以为冷复位状态寄存器115中的第6个比特位和第7个比特位。
可选地,在该步骤211之前,可以通过配置冷复位状态控制寄存器114的状态值,以打开对应的冷复位状态寄存器115的功能。示例地,可以在前述步骤201中执行该配置过程,此时,对于多个PCIE设备的直连端口,BIOS可以将该直连端口对应的冷复位状态控制寄存器114的状态值配置为“1”,以打开对应的冷复位状态寄存器115的功能,从而使得在该步骤211中,冷复位状态寄存器115能够指示目标PCIE设备的冷复位过程以及冷复位状态。
可选地,该服务器还可以包括:与第三标志位对应的第一指示灯,该第一指示灯用于将冷复位的过程展示给用户。示例地,第一标志位的值为“11”时,第一指示灯处于关闭状态;第一标志位的值为“01”时,第一指示灯处于常亮状态;第一标志位的值为“10”时,第一指示灯处于闪烁状态。
又一可选地,该服务器还可以包括:与第四标志位对应的第二指示灯,该第二指示灯用于将冷复位的状态展示给用户。示例地,第二标志位的值为“11”时,第二指示灯处于关闭状态;第二标志位的值为“01”时,第二指示灯处于常亮状态。其中,BMC可以接收用户发送的用于指示定位目标PCIE设备的指令,该冷复位状态寄存器的第四标志位的值还可以设置为:“10”表示正在定位目标PCIE设备,此时,第二指示灯可以处于闪烁状态。
步骤212、BMC取消处理器与目标PCIE设备的隔离,并指示处理器对目标PCIE设备执行热插入。
该BMC取消处理器与目标PCIE设备的隔离的过程为前述204中BIOS将处理器与目标PCIE设备隔离的过程的逆过程。示例地,请参考图5,图5为本申请实施例提供的一种BMC取消处理器与目标PCIE设备的隔离,并指示处理器对目标PCIE设备执行热插入的方法流程图,该方法可以包括:
步骤2121、BMC建立目标PCIE设备的直连端口与目标PCIE设备的通信连接。
可选地,请参考前述步骤2043,BMC可以通过配置目标PCIE设备的直连端口对应的链路寄存器的状态值,以建立目标PCIE设备的直连端口与目标PCIE设备的通信连接。示例地,BMC可以将目标PCIE设备的直连端口对应的链路寄存器的状态值配置为“0”,以建立目标PCIE设备的直连端口与目标PCIE设备的通信连接。
步骤2122、BMC指示处理器对目标PCIE设备执行热插入。
其中,热插入指的是带电插入,将目标PCIE设备热插入指的是在不关闭服务器电源的前提下,将目标PCIE设备插入。示例地,BMC可以指示处理器建立目标PCIE设备与服务器中运行的软件的关联,并将目标PCIE设备的资源加载到服务器中,从而将目标PCIE设备热插入。
可选地,如图1所示,该服务器10还包括:与多个PCEI设备的直连端口一一对应的多个热插入状态寄存器116,每个直连端口对应的热插入状态寄存器116的状态值用于指示对应的直连端口所连接的PICE设备的热插入状态。示例地,每个直连端口对应的热插入状态寄存器116的状态值可以设置为:“01”指示热插入正在进行,“10”指示热插入失败,“11”指示热插入正常结束。
步骤2123、当内存访问开启条件满足时,BMC开启目标PCIE设备的直连端口对目标PCIE设备的内存访问功能。
当内存访问开启条件满足时,BMC可以开启目标PCIE设备的直连端口对目标PCIE设备的内存访问功能;当内存访问开启条件未满足时,BMC可以控制处理器展示修复提示信息,该修复提示信息用于提示用户PCIE设备修复失败。可选地,请参考前述步骤2042,当内存访问开启条件满足时,BMC可以通过配置目标PCIE设备的直连端口对应的内存访问寄存器的状态值,以开启目标PCIE设备的直连端口对目标PCIE设备的内存访问功能。示例地,BMC可以将目标PCIE设备的直连端口对应的内存访问寄存器的状态值配置为“0”,以开启目标PCIE设备的直连端口对目标PCIE设备的内存访问功能。
其中,该内存访问开启条件包括以下一个或多个,本申请实施例以以下2个内存访问开启条件为例进行说明:
条件1:目标PCIE设备与目标PCIE设备的直连端口建立通信连接。
可选地,请参考前述步骤204,BMC可以通过读取目标PCIE设备的直连端口对应的链路寄存器,以确定目标PCIE设备与目标PCIE设备的直连端口是否建立通信连接。示例地,当BMC读取到目标PCIE设备的直连端口对应的链路寄存器的状态值为“0”时,确定目标PCIE设备与目标PCIE设备的直连端口建立通信连接,此时,BMC可以确定条件1满足;当BMC读取到目标PCIE设备的直连端口对应的链路寄存器的状态值为“1”时,确定目标PCIE设备与目标PCIE设备的直连端口未建立通信连接,此时,BMC可以确定条件1未满足。
条件2:处理器将目标PCIE设备热插入。
可选地,请参考前述步骤2122,BMC可以通过读取目标PCIE设备的直连端口对应的热插入状态寄存器,以确定处理器是否将目标PCIE设备热插入。示例地,当BMC读取到目标PCIE设备的直连端口对应的热插入状态寄存器的状态值为“11”时,确定处理器将目标PCIE设备热插入,此时,BMC可以确定条件2满足;当BMC读取到目标PCIE设备的直连端口对应的热插入状态寄存器的状态值为“01”或者“10”时,确定处理器将目标PCIE设备未热插入,此时,BMC可以确定条件2未满足。
BMC在开启目标PCIE设备的直连端口对目标PCIE设备的内存访问功能之后,可以执行后续步骤2124。
步骤2124、BMC开启目标PCIE设备的直连端口的AER功能。
可选地,请参考前述步骤2041,当AER开启条件满足时,BMC可以通过配置目标PCIE设备的直连端口对应的AER寄存器的状态值,以开启目标PCIE设备的直连端口的AER功能。示例地,BMC可以通过将目标PCIE设备的直连端口对应的AER寄存器的状态值配置为“0”,以开启目标PCIE设备的直连端口的AER功能。其中,该AER开启条件可以参考前述步骤2123中的内存访问开启条件,本申请实施例在此不做赘述。
步骤213、BMC向BIOS发送通知消息,该通知消息携带有目标PCIE设备的故障修复结果。
示例地,BMC可以向BIOS发送通知消息,以通知BIOS目标PCIE设备的故障修复完成或者未完成故障修复。可选地,该步骤213也可以不执行,BIOS可以主动识别目标PCIE设备的故障修复结果。
在本申请实施例中,该修复提示信息可以通过语音、图像、文字或者指示灯等方式展示。例如,服务器还可以包括显示屏,处理器可以通过显示屏显示包括“修复完成”的画面的方式展示修复提示信息。
需要说明的是,在本申请实施例中,图1是以服务器包括一个BIOS和一个BMC为例进行说明的,可选地,服务器还可以包括多个BIOS和多个BMC,该多个BIOS中任一BIOS可以用于执行前述步骤201至步骤207,该多个BMC中任一BMC可以用于执行前述步骤208至步骤213。又一可选地,服务器可以为单个服务器或者由多个服务器组成的服务器集群,当该服务器为由多个服务器组成的服务器集群时,若服务器集群中包括多个BIOS和多个BMC,该多个BIOS或者多个BMC可以位于一个服务器中,也可以位于不同的服务器中,本申请实施例对此不做限定。
综上所述,本申请实施例提供的设备管理的方法,BIOS先识别目标PCIE设备,再将处理器与目标PCIE设备故障隔离,BMC对目标PCIE设备进行冷复位,并取消处理器与目标PCIE设备的隔离,使得当存在目标PCIE设备时,能够避免处理器控制整个服务器重启,从而避免了传统技术方案中,一旦出现不可修正致命错误时必须对整个服务器进行重启,以对该故障的PCIE设备修复所引起的影响其他未故障的PCIE的问题,本申请实施例提供的方法既隔离了出现不可修正致命错误的PCIE设备,又通过有效手段修复了故障的PCIE设备,并且未影响其他PCIE设备的正常工作,提升了整个服务器中PCIE设备的故障管理和修复的效率,降低了对服务器上运行应用程序的影响,保证了整个服务器系统的正常运行。
本申请实施例提供的方法的先后顺序可以进行适当调整,步骤也可以根据情况进行相应增减。任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化的方法,都应涵盖在本申请的保护范围之内,因此不再赘述。
上文中结合图1至图5,详细描述了根据本申请实施例所提供的PCIE设备管理的方法,下面将结合图6至图9,描述根据本申请实施例所提供的PCIE设备管理的装置、服务器和系统。
本申请实施例提供了一种服务器,服务器中包括BMC和BIOS,其中,服务器的结构,以及BMC和BIOS的连接关系可以参见图1所示的系统架构;
BIOS,用于在多个PCIE设备中识别目标PCIE设备,目标PCIE设备出现了不可修正致命类型的错误;处理器与PCIE设备、BIOS和BMC均建立有通信连接,BIOS与BMC建立有通信连接;将处理器与目标PCIE设备故障隔离;向BMC发送指示目标PCIE设备的第一指示信息;
BMC,用于根据第一指示信息对目标PCIE设备执行故障修复操作。
可选地,BIOS,还用于将处理器与目标PCIE设备隔离,并指示处理器对目标PCIE设备执行热拔出;
BMC,还用于对目标PCIE设备执行冷复位操作;取消处理器与目标PCIE设备的隔离,并指示处理器对目标PCIE设备进行热插入。
可选地,BIOS,还用于关闭目标PCIE设备的直连端口的高级错误报告AER功能,任一PCIE设备的直连端口为:端口集合中与任一PCIE设备的路由最短的端口,端口集合包括处理器的根端口,且当服务器包括交换机时,端口集合还包括交换机的下行口;关闭目标PCIE设备的直连端口对目标PCIE设备的内存访问功能;断开目标PCIE设备的直连端口与目标PCIE设备的通信连接;
BMC,还用于建立目标PCIE设备的直连端口与目标PCIE设备的通信连接;开启目标PCIE设备的直连端口对目标PCIE设备的内存访问功能;开启目标PCIE设备的直连端口的高级错误报告AER功能。
可选地,BMC,还用于当AER开启条件满足时,开启目标PCIE设备的直连端口的AER功能;
其中,AER开启条件包括以下一个或多个:
目标PCIE设备与目标PCIE设备的直连端口建立通信连接;
处理器将目标PCIE设备热插入。
可选地,BIOS,还用于获取处理器生成的系统管理中断SMI,SMI携带有处理器中错误根端口的标识,错误根端口与多个PCIE设备中出现错误的任一PCIE设备建立有通信连接;根据SMI携带的错误根端口的标识,识别错误根端口;检测错误根端口的第一状态寄存器中是否存储有不可修正致命类型;错误根端口的第一状态寄存器用于:在错误根端口通信连接的任一PCIE设备出现任一错误时,存储任一错误的类型;
当错误根端口的第一状态寄存器中存储有不可修正致命类型时,BIOS用于在错误根端口通信连接的PCIE设备中识别目标PCIE设备。
可选地,BIOS,还用于根据错误根端口的第二状态寄存器中存储的标识,识别目标插槽;所述BIOS还用于根据所述目标PCIE设备的直连端口查找所述目标PCIE设备;错误根端口的第二状态寄存器用于:在错误根端口通信连接的任一PCIE设备出现任一错误时,存储任一PCIE设备的直连端口的标识;任一PCIE设备的直连端口为:端口集合中与任一PCIE设备的路由最短的端口,端口集合包括处理器的根端口,且当服务器包括交换机时,端口集合还包括交换机的下行口;用于指示出现错误的任一PCIE设备的指示信息携带有:任一PCIE设备的直连端口的标识;
BMC,还用于根据第一指示信息所携带的目标PCIE设备的直连端口的标识,识别目标PCIE设备的直连端口;根据目标PCIE设备的直连端口查找目标PCIE设备。
可选地,BIOS,还用于在BIOS将处理器与目标PCIE设备隔离之前,对部分或全部PCIE设备的直连端口配置热插拔参数;当目标PCIE设备的直连端口配置有热插拔参数时,BIOS将处理器与目标PCIE设备隔离;
BMC,还用于当目标PCIE设备满足冷复位条件时,BMC对目标PCIE设备执行冷复位操作;其中,冷复位条件包括以下一个或多个:目标PCIE设备的直连端口配置有热插拔参数;目标PCIE设备与目标PCIE设备的直连端口的通信连接断开;处理器将目标PCIE设备热拔出。
可选地,BIOS,还用于当目标PCIE设备的直连端口未配置有热插拔参数时,获取第二指示信息,第二指示信息用于指示错误PCIE设备的直连端口,错误PCIE设备与目标PCIE设备连接至处理器的同一根端口;
BIOS,还用于向BMC发送第二指示信息。
可选地,用于指示出现错误的任一PCIE设备的指示信息还用于指示:任一PCIE设备出现的错误的类型,
BMC,还用于在接收到的指示信息时,识别用于指示不可修正致命类型的第一指示信息。
图6为本申请实施例提供的一种设备管理的装置的结构示意图,该设备管理的装置300可以用于服务器,如图6所示,该设备管理的装置300包括:
第一识别模块301,用于在多个PCIE设备中识别目标PCIE设备,目标PCIE设备出现了不可修正致命类型的错误。
隔离模块302,用于将处理器与目标PCIE设备故障隔离。
第一发送模块303,用于向修复模块304发送用于指示目标PCIE设备的第一指示信息。
修复模块304,用于根据第一指示信息对目标PCIE设备执行故障修复操作。
可选地,隔离模块302包括:
隔离子模块,用于将处理器与目标PCIE设备隔离。
热拔出子模块,用于指示处理器对目标PCIE设备执行热拔出。
修复模块,包括:
冷复位子模块,用于对目标PCIE设备执行冷复位操作。
取消子模块,用于取消处理器与目标PCIE设备的隔离。
热插入子模块,用于指示处理器对目标PCIE设备进行热插入。
应理解的是,本申请实施例的装置300可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图2至图5所示的设备管理的方法时,装置300及其各个模块也可以为软件模块。
可选地,该隔离子模块,用于关闭目标PCIE设备的直连端口的高级错误报告AER功能,任一PCIE设备的直连端口为:处理器的根端口和交换机的下行口中,与任一PCIE设备的路由最短的端口。
关闭目标PCIE设备的直连端口对目标PCIE设备的内存访问功能。
断开目标PCIE设备的直连端口与目标PCIE设备的通信连接。
该取消子模块,用于建立目标PCIE设备的直连端口与目标PCIE设备的通信连接。开启目标PCIE设备的直连端口对目标PCIE设备的内存访问功能。
开启目标PCIE设备的直连端口的高级错误报告AER功能。
可选地,该取消子模块,用于当AER开启条件满足时,开启目标PCIE设备的直连端口的AER功能。
其中,AER开启条件包括以下一个或多个:
目标PCIE设备与目标PCIE设备的直连端口建立通信连接。
处理器将目标PCIE设备热插入。
可选地,第一识别模块301,用于获取处理器生成的SMI,SMI携带有处理器中错误根端口的标识,错误根端口与多个PCIE设备中出现错误的任一PCIE设备建立有通信连接。
根据SMI携带的错误根端口的标识,识别错误根端口。
检测错误根端口的第一状态寄存器中是否存储有不可修正致命类型。错误根端口的第一状态寄存器用于:在错误根端口通信连接的任一PCIE设备出现任一错误时,存储任一错误的类型。
当错误根端口的第一状态寄存器中存储有不可修正致命类型时,在错误根端口通信连接的PCIE设备中识别目标PCIE设备。
可选地,第一识别模块301,用于根据错误根端口的第二状态寄存器中存储的标识,识别目标PCIE设备的直连端口;根据所述目标PCIE设备的直连端口查找所述目标PCIE设备;错误根端口的第二状态寄存器用于:在错误根端口通信连接的任一PCIE设备出现任一错误时,存储任一PCIE设备的直连端口的标识。任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口;用于指示出现错误的任一PCIE设备的指示信息携带有:任一PCIE设备的直连端口的标识。
可选地,图6所示的设备管理的装置300还包括:
直连端口识别模块305,用于根据第一指示信息所携带的目标PCIE设备的直连端口的标识,识别目标PCIE设备的直连端口。
查找模块306,用于根据目标PCIE设备的直连端口查找目标PCIE设备。
可选地,该装置300还包括:
配置模块307,用于在隔离子模块将处理器与目标PCIE设备隔离之前,对部分或全部PCIE设备的直连端口配置热插拔参数。
隔离子模块,用于:当目标PCIE设备的直连端口配置有热插拔参数时,将处理器与目标PCIE设备隔离。
冷复位子模块,用于:当目标PCIE设备满足冷复位条件时,对目标PCIE设备执行冷复位操作;其中,冷复位条件包括以下一个或多个:目标PCIE设备的直连端口配置有热插拔参数;目标PCIE设备与目标PCIE设备的直连端口的通信连接断开;处理器将目标PCIE设备热拔出。
可选地,该装置300还包括:
获取模块308,用于当目标PCIE设备的直连端口未配置有热插拔参数时,获取第二指示信息,第二指示信息用于指示错误PCIE设备的直连端口,错误PCIE设备与目标PCIE设备连接至处理器的同一根端口。
第二发送模块309,用于向修复模块304发送第二指示信息。
可选地,用于指示出现错误的任一PCIE设备的指示信息还用于指示:任一PCIE设备出现的错误的类型,该装置300还包括:
第二识别模块310,用于在修复模块304根据第一指示信息对目标PCIE设备执行故障修复操作之前,在接收到的指示信息中,识别用于指示不可修正致命类型的第一指示信息。
需要说明的是,图6所示的设备管理的装置可以用于图1所示的服务器,图6各个模块可以独立存在于服务器中,或者集成在服务器中的某些结构上。例如,上述第一识别模块301、隔离模块302、第一发送模块303可以集成在服务器中的BIOS中,而修复模块304集成在服务器的BMC中。
图7为本申请实施例提供的另一种设备管理的装置的结构示意图,该设备管理的装置可以用于如图1所示的服务器中的BIOS。如图7所示,该设备管理的装置400包括:
第一识别模块401,用于在多个PCIE设备中识别目标PCIE设备,目标PCIE设备出现了不可修正致命类型的错误。
隔离模块402,用于将处理器与目标PCIE设备故障隔离。
第一发送模块403,用于在隔离模块402将处理器与目标PCIE设备故障隔离之后,发送用于指示目标PCIE设备的第一指示信息。
应理解的是,本申请实施例的装置400可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图2至图5所示的设备管理方法时,装置400及其各个模块也可以为软件模块。
可选地,隔离模块402包括:
隔离子模块,用于将处理器与目标PCIE设备隔离。
热拔出子模块,用于指示处理器对目标PCIE设备执行热拔出。
可选地,该隔离子模块,用于关闭目标PCIE设备的直连端口的高级错误报告AER功能,任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口。
关闭目标PCIE设备的直连端口对目标PCIE设备的内存访问功能。
断开目标PCIE设备的直连端口与目标PCIE设备的通信连接。
可选地,该隔离子模块,用于当AER开启条件满足时,开启目标PCIE设备的直连端口的AER功能。其中,AER开启条件包括以下一个或多个:目标PCIE设备与目标PCIE设备的直连端口建立通信连接。处理器将目标PCIE设备热插入。
可选地,第一识别模块401,用于获取处理器生成的SMI,SMI携带有处理器中错误根端口的标识,错误根端口与多个PCIE设备中出现错误的任一PCIE设备建立有通信连接。
根据SMI携带的错误根端口的标识,识别错误根端口。
检测错误根端口的第一状态寄存器中是否存储有不可修正致命类型。错误根端口的第一状态寄存器用于:在错误根端口通信连接的任一PCIE设备出现任一错误时,存储任一错误的类型。
当错误根端口的第一状态寄存器中存储有不可修正致命类型时,在错误根端口通信连接的PCIE设备中识别目标PCIE设备。
可选地,第一识别模块401,用于根据错误根端口的第二状态寄存器中存储的标识,识别目标PCIE设备的直连端口。错误根端口的第二状态寄存器用于:在错误根端口通信连接的任一PCIE设备出现任一错误时,存储任一PCIE设备的直连端口的标识。任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口;用于指示出现错误的任一PCIE设备的指示信息携带有:任一PCIE设备的直连端口的标识。
可选地,图7所示的装置400还包括:
配置模块404,用于在隔离子模块将处理器与目标PCIE设备隔离之前,对部分或全部PCIE设备的直连端口配置热插拔参数。
上述隔离子模块,用于当目标PCIE设备的直连端口配置有热插拔参数时,将处理器与目标PCIE设备隔离。
可选地,该装置400还包括:
获取模块405,用于当目标PCIE设备的直连端口未配置有热插拔参数时,获取第二指示信息,第二指示信息用于指示错误PCIE设备的直连端口,错误PCIE设备与目标PCIE设备连接至处理器的同一根端口。
第二发送模块406,用于发送第二指示信息。
可选地,用于指示出现错误的任一PCIE设备的指示信息还用于指示:任一PCIE设备出现的错误的类型。
图8为本申请实施例提供的另一种设备管理的装置的框图,该设备管理的装置可以用于图1所示的服务器中的BMC。如图所示,该设备管理的装置500包括:
接收模块501,用于接收用于指示出现错误的任一PCIE设备的指示信息。
修复模块502,用于在识别第一指示信息后,根据第一指示信息对目标PCIE设备执行故障修复操作。
应理解的是,本申请实施例的装置500可以通过专用集成电路(application-specific integrated circuit,ASIC)实现,或可编程逻辑器件(programmable logicdevice,PLD)实现,上述PLD可以是复杂程序逻辑器件(complex programmable logicaldevice,CPLD),现场可编程门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。也可以通过软件实现图2至图5所示的设备管理方法时,装置500及其各个模块也可以为软件模块。
可选地,修复模块502,包括:
冷复位子模块,用于对目标PCIE设备执行冷复位操作。
取消子模块,用于取消处理器与目标PCIE设备的隔离。
热插入子模块,用于指示处理器对目标PCIE设备进行热插入。
可选地,上述取消子模块,包括:
建立单元,用于建立目标PCIE设备的直连端口与目标PCIE设备的通信连接。
第一开启单元,用于开启目标PCIE设备的直连端口对目标PCIE设备的内存访问功能。
第二开启单元,用于开启目标PCIE设备的直连端口的高级错误报告AER功能。
可选地,该第二开启单元用于:当AER开启条件满足时,开启目标PCIE设备的直连端口的AER功能;其中,AER开启条件包括以下一个或多个:目标PCIE设备与目标PCIE设备的直连端口建立通信连接;处理器将目标PCIE设备热插入。
可选地,用于指示出现错误的任一PCIE设备的指示信息还用于指示:任一PCIE设备出现的错误的类型,图8所示的装置500还包括:
直连端口识别模块503,用于根据第一指示信息所携带的目标PCIE设备的直连端口的标识,识别目标PCIE设备的直连端口。
查找模块504,用于根据目标PCIE设备的直连端口查找目标PCIE设备。其中,任一PCIE设备的直连端口为:端口集合中与任一PCIE设备的路由最短的端口,端口集合包括处理器的根端口,且当服务器包括交换机时,端口集合还包括交换机的下行口;用于指示出现错误的任一PCIE设备的指示信息携带有:任一PCIE设备的直连端口的标识。
可选地,上述冷复位子模块,用于:
当目标PCIE设备满足冷复位条件时,对目标PCIE设备执行冷复位操作;其中,冷复位条件包括以下一个或多个:目标PCIE设备的直连端口配置有热插拔参数;目标PCIE设备与目标PCIE设备的直连端口的通信连接断开;处理器将目标PCIE设备热拔出。
可选地,如图8所示,该装置500还包括:
第二指示信息接收模块505,用于接收BIOS发送的第二指示信息,第二指示信息用于指示错误PCIE设备的直连端口,错误PCIE设备与目标PCIE设备连接至处理器的同一根端口。
可选地,用于指示出现错误的任一PCIE设备的指示信息还用于指示:任一PCIE设备出现的错误的类型,该装置500还包括:
识别模块506,用于在修复模块502根据第一指示信息对目标PCIE设备执行故障修复操作之前,在接收到的指示信息中,识别用于指示不可修正致命类型的第一指示信息。
综上所述,本申请实施例提供的设备管理的装置中,第一识别模块先识别目标PCIE设备,隔离模块再将处理器与目标PCIE设备故障隔离,修复模块对目标PCIE设备进行冷复位,取消模块取消处理器与目标PCIE设备的隔离,使得当存在目标PCIE设备时,能够避免处理器控制整个服务器重启,从而避免了传统技术方案中,一旦出现不可修正致命错误时必须对整个服务器进行重启,以对该故障的PCIE设备修复所引起的影响其他未故障的PCIE的问题,本申请实施例提供的方法既隔离了出现不可修正致命错误的PCIE设备,又通过有效手段修复了故障的PCIE设备,并且未影响其他PCIE设备的正常工作,提升了整个服务器中PCIE设备的故障管理和修复的效率,降低了对服务器上运行应用程序的影响,保证了整个服务器系统的正常运行。
本申请实施例提供了一种服务器,请参考图9,该服务器600包括:处理器601、BIOS602和BMC 603。处理器601用于执行本申请实施例提供的设备管理的方法中的处理器用于执行的步骤,例如在接收到BIOS的指示后,对目标PCIE设备执行热拔出;又例如在接收到BMC的指示后对目标PCIE设备执行热插入。BIOS 602用于执行本申请实施例提供的设备管理的方法中的BIOS用于执行的步骤,例如图2所示的实施例中步骤201至步骤207中的任一步骤。BMC 603用于执行本申请实施例提供的设备管理的方法中的BMC用于执行的步骤,例如图2所示的实施例中步骤208至步骤213中的任一步骤。
可选地,处理器601可以包括一个或者一个以上的CPU,例如,如图6所示,处理器601包括CPU0。在本申请实施例中,该处理器601可以是CPU,该处理器601还可以是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。
作为一个可能的实施例,当图1所示的处理器通过根端口直接连接PCIE设备时,处理器601中包括寄存器单元60111,该寄存器单元60111用于实现图2所述方法中存储状态数据的功能。
作为另一个可能的实施例,当如图1所示处理器通过根端口连接PCIE交换机,由PCIE交换机连接PCIE设备时,图6所示的服务器还包括PCIE交换机608,该PCIE交换机608中包括处理器6081(例如CPU1),该处理器6081中包括寄存器单元60811,用于实现图1和图2所示的PCIE设备管理的方法中记录的状态数据的功能。该寄存器单元60811或者寄存器单元60111均可以包括前述图1所示的各个寄存器,本申请实施例在此不做赘述。
可选地,如图所示,该服务器600还包括内存单元604、总线605、通信接口606和存储介质607。该处理器601、BIOS 602、BMC 603、内存单元604、通信接口606以及存储介质607通过总线605连接。其中,通信接口606可以为一个或多个,用于在处理器601的控制下与其他设备通信,内存单元604用于存储内核和计算机指令。处理器601能够通过总线605调用内存单元604中存储的计算机指令。存储介质607用于存储多个指令。
总线605除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线605。
BIOS 602包括可编程逻辑电路和/或程序指令,BIOS 602可以为具有计算能力的芯片,当该芯片运行时用于实现本申请实施例提供的设备管理的方法中的BIOS用于执行的步骤,比如上述方法侧实施例中由BIOS执行的步骤。
BMC 603包括可编程逻辑电路和/或程序指令,BMC 603可以为具有计算能力的芯片,当该芯片运行时用于实现本申请实施例提供的设备管理的方法中的BMC用于执行的步骤,比如上述方法侧实施例中由BMC执行的步骤。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的BIOS或BMC的功能。所述计算机可以是通用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机的可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质,或者半导体介质(例如固态硬盘)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (18)
1.一种设备管理的方法,其特征在于,所述方法包括:
基本输入输出系统BIOS在多个快捷外设互联标准PCIE设备中识别目标PCIE设备,所述目标PCIE设备出现了不可修正致命类型的错误;所述处理器与PCIE设备、BIOS和主板控制器BMC均建立有通信连接,所述BIOS与所述BMC建立有通信连接;
所述BIOS将所述处理器与所述目标PCIE设备故障隔离;
所述BIOS向所述BMC发送指示所述目标PCIE设备的第一指示信息;
所述BMC根据所述第一指示信息对所述目标PCIE设备执行故障修复操作。
2.根据权利要求1所述的方法,其特征在于,所述BIOS将所述处理器与所述目标PCIE设备故障隔离,包括:
所述BIOS将所述处理器与所述目标PCIE设备隔离,并指示所述处理器对所述目标PCIE设备执行热拔出;
所述BMC根据所述第一指示信息对所述目标PCIE设备执行故障修复操作,包括:
所述BMC对所述目标PCIE设备执行冷复位操作;
所述BMC取消所述处理器与所述目标PCIE设备的隔离,并指示所述处理器对所述目标PCIE设备进行热插入。
3.根据权利要求2所述的方法,其特征在于,所述BIOS将所述处理器与所述目标PCIE设备隔离,包括:
所述BIOS关闭所述目标PCIE设备的直连端口的高级错误报告AER功能,任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口;
所述BIOS关闭所述目标PCIE设备的直连端口对所述目标PCIE设备的内存访问功能;
所述BIOS断开所述目标PCIE设备的直连端口与所述目标PCIE设备的通信连接;
所述BMC取消所述处理器与所述目标PCIE设备的隔离,包括:
所述BMC建立所述目标PCIE设备的直连端口与所述目标PCIE设备的通信连接;
所述BMC开启所述目标PCIE设备的直连端口对所述目标PCIE设备的内存访问功能;
所述BMC开启所述目标PCIE设备的直连端口的高级错误报告AER功能。
4.根据权利要求3所述的方法,其特征在于,所述BMC开启所述目标PCIE设备的直连端口的高级错误报告AER功能,包括:
当AER开启条件满足时,所述BMC开启所述目标PCIE设备的直连端口的AER功能;
其中,所述AER开启条件包括以下一个或多个:
所述目标PCIE设备与所述目标PCIE设备的直连端口建立通信连接;
所述处理器将所述目标PCIE设备热插入。
5.根据权利要求1至4任一所述的方法,其特征在于,所述BIOS在多个快捷外设互联标准PCIE设备中识别目标PCIE设备,包括:
所述BIOS获取所述处理器生成的系统管理中断SMI,SMI携带有所述处理器中错误根端口的标识,所述错误根端口与所述多个PCIE设备中出现错误的任一PCIE设备建立有通信连接;
所述BIOS根据所述SMI携带的所述错误根端口的标识,识别所述错误根端口;
所述BIOS检测所述错误根端口的第一状态寄存器中是否存储有所述不可修正致命类型;所述错误根端口的所述第一状态寄存器用于:在所述错误根端口通信连接的任一PCIE设备出现任一错误时,存储所述任一错误的类型;
当所述错误根端口的第一状态寄存器中存储有所述不可修正致命类型时,所述BIOS在所述错误根端口通信连接的PCIE设备中识别所述目标PCIE设备。
6.根据权利要求5所述的方法,其特征在于,所述BIOS在所述错误根端口通信连接的PCIE设备中识别所述目标PCIE设备,包括:
所述BIOS根据所述错误根端口的第二状态寄存器中存储的标识,识别所述目标PCIE设备的直连端口;所述错误根端口的第二状态寄存器用于:在所述错误根端口通信连接的任一PCIE设备出现任一错误时,存储所述任一PCIE设备的直连端口的标识;任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口;用于指示出现错误的任一PCIE设备的指示信息携带有:所述任一PCIE设备的直连端口的标识;
所述BIOS根据所述目标PCIE设备的直连端口查找所述目标PCIE设备;
在所述BMC根据所述第一指示信息对所述目标PCIE设备执行故障修复操作之前,所述方法还包括:
所述BMC根据所述第一指示信息所携带的所述目标PCIE设备的直连端口的标识,识别所述目标PCIE设备的直连端口;
所述BMC根据所述目标PCIE设备的直连端口查找所述目标PCIE设备。
7.根据权利要求2至6任一所述的方法,其特征在于,在所述BIOS将所述处理器与所述目标PCIE设备隔离之前,所述方法还包括:
所述BIOS对部分或全部所述PCIE设备的直连端口配置热插拔参数;
所述BIOS将所述处理器与所述目标PCIE设备隔离,包括:当所述目标PCIE设备的直连端口配置有所述热插拔参数时,所述BIOS将所述处理器与所述目标PCIE设备隔离;
所述BMC对所述目标PCIE设备执行冷复位操作,包括:当所述目标PCIE设备满足冷复位条件时,所述BMC对所述目标PCIE设备执行所述冷复位操作;其中,所述冷复位条件包括以下一个或多个:所述目标PCIE设备的直连端口配置有所述热插拔参数;所述目标PCIE设备与所述目标PCIE设备的直连端口的通信连接断开;所述处理器将所述目标PCIE设备热拔出。
8.根据权利要求7所述的方法,其特征在于,所述方法还包括:
当所述目标PCIE设备的直连端口未配置有所述热插拔参数时,所述BIOS获取第二指示信息,所述第二指示信息用于指示错误PCIE设备的直连端口,所述错误PCIE设备与所述目标PCIE设备连接至所述处理器的同一根端口;
所述BIOS向所述BMC发送所述第二指示信息。
9.根据权利要求1至8任一所述的方法,其特征在于,用于指示出现错误的任一PCIE设备的指示信息还用于指示:所述任一PCIE设备出现的错误的类型,在所述BMC根据所述第一指示信息对所述目标PCIE设备执行故障修复操作之前,所述方法还包括:
所述BMC在接收到的指示信息中,识别用于指示所述不可修正致命类型的所述第一指示信息。
10.一种服务器,其特征在于,所述服务器包括:基本输入输出系统BIOS、处理器、主板控制器BMC和多个快捷外设互联标准PCIE设备;
所述BIOS,用于在多个PCIE设备中识别目标PCIE设备,所述目标PCIE设备出现了不可修正致命类型的错误;所述处理器与所述PCIE设备、所述BIOS和BMC均建立有通信连接,所述BIOS与所述BMC建立有通信连接;将所述处理器与所述目标PCIE设备故障隔离;向所述BMC发送指示所述目标PCIE设备的第一指示信息;
所述BMC,用于根据所述第一指示信息对所述目标PCIE设备执行故障修复操作。
11.根据权利要求10所述的服务器,其特征在于,
所述BIOS,还用于将所述处理器与所述目标PCIE设备隔离,并指示所述处理器对所述目标PCIE设备执行热拔出;对所述目标PCIE设备执行冷复位操作;
所述BMC,还用于取消所述处理器与所述目标PCIE设备的隔离,并指示所述处理器对所述目标PCIE设备进行热插入。
12.根据权利要求11所述的服务器,其特征在于,
所述BIOS,还用于关闭所述目标PCIE设备的直连端口的高级错误报告AER功能,任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口;关闭所述目标PCIE设备的直连端口对所述目标PCIE设备的内存访问功能;断开所述目标PCIE设备的直连端口与所述目标PCIE设备的通信连接;
所述BMC,还用于建立所述目标PCIE设备的直连端口与所述目标PCIE设备的通信连接;开启所述目标PCIE设备的直连端口对所述目标PCIE设备的内存访问功能;开启所述目标PCIE设备的直连端口的高级错误报告AER功能。
13.根据权利要求12所述的服务器,其特征在于,
所述BMC,还用于当AER开启条件满足时,开启所述目标PCIE设备的直连端口的AER功能;其中,所述AER开启条件包括以下一个或多个:所述目标PCIE设备与所述目标PCIE设备的直连端口建立通信连接;所述处理器将所述目标PCIE设备热插入。
14.根据权利要求10至13任一所述的服务器,其特征在于,
所述BIOS,还用于获取所述处理器生成的系统管理中断SMI,SMI携带有所述处理器中错误根端口的标识,所述错误根端口与所述多个PCIE设备中出现错误的任一PCIE设备建立有通信连接;根据所述SMI携带的所述错误根端口的标识,识别所述错误根端口;检测所述错误根端口的第一状态寄存器中是否存储有所述不可修正致命类型;所述错误根端口的所述第一状态寄存器用于:在所述错误根端口通信连接的任一PCIE设备出现任一错误时,存储所述任一错误的类型;当所述错误根端口的第一状态寄存器中存储有所述不可修正致命类型时,所述BIOS用于在所述错误根端口通信连接的PCIE设备中识别所述目标PCIE设备。
15.根据权利要求14所述的服务器,其特征在于,
所述BIOS,还用于根据所述错误根端口的第二状态寄存器中存储的标识,识别所述目标PCIE设备的直连端口;所述错误根端口的第二状态寄存器用于:在所述错误根端口通信连接的任一PCIE设备出现任一错误时,存储所述任一PCIE设备的直连端口的标识;任一PCIE设备的直连端口为:端口集合中与所述任一PCIE设备的路由最短的端口,所述端口集合包括所述处理器的根端口,且当所述服务器包括交换机时,所述端口集合还包括所述交换机的下行口;用于指示出现错误的任一PCIE设备的指示信息携带有:所述任一PCIE设备的直连端口的标识;根据所述目标PCIE设备的直连端口查找所述目标PCIE设备;
所述BMC,还用于根据所述第一指示信息所携带的所述目标PCIE设备的直连端口的标识,识别所述目标PCIE设备的直连端口;根据所述目标PCIE设备的直连端口查找所述目标PCIE设备。
16.根据权利要求11至15任一所述的服务器,其特征在于,
所述BIOS,还用于在所述BIOS将所述处理器与所述目标PCIE设备隔离之前,对部分或全部所述PCIE设备的直连端口配置热插拔参数;当所述目标PCIE设备的直连端口配置有所述热插拔参数时,所述BIOS将所述处理器与所述目标PCIE设备隔离;当所述目标PCIE设备满足冷复位条件时,所述BMC对所述目标PCIE设备执行所述冷复位操作;其中,所述冷复位条件包括以下一个或多个:所述目标PCIE设备的直连端口配置有所述热插拔参数;所述目标PCIE设备与所述目标PCIE设备的直连端口的通信连接断开;所述处理器将所述目标PCIE设备热拔出。
17.根据权利要求16所述的服务器,其特征在于,
所述BIOS,还用于当所述目标PCIE设备的直连端口未配置有所述热插拔参数时,获取第二指示信息,所述第二指示信息用于指示错误PCIE设备的直连端口,所述错误PCIE设备与所述目标PCIE设备连接至所述处理器的同一根端口;向所述BMC发送所述第二指示信息。
18.一种设备管理的装置,其特征在于,所述装置中各个模块用于执行所述权利要求1至9中任一权利要求所述方法的操作步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910612189.2A CN110457164A (zh) | 2019-07-08 | 2019-07-08 | 设备管理的方法、装置和服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910612189.2A CN110457164A (zh) | 2019-07-08 | 2019-07-08 | 设备管理的方法、装置和服务器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110457164A true CN110457164A (zh) | 2019-11-15 |
Family
ID=68482343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910612189.2A Pending CN110457164A (zh) | 2019-07-08 | 2019-07-08 | 设备管理的方法、装置和服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110457164A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414268A (zh) * | 2020-02-26 | 2020-07-14 | 华为技术有限公司 | 故障处理方法、装置及服务器 |
CN111709042A (zh) * | 2020-06-17 | 2020-09-25 | 深圳市同泰怡信息技术有限公司 | 一种acs功能的控制方法、装置、存储介质和计算机设备 |
CN112732477A (zh) * | 2021-04-01 | 2021-04-30 | 四川华鲲振宇智能科技有限责任公司 | 一种带外自检故障隔离的方法 |
CN113781596A (zh) * | 2020-09-25 | 2021-12-10 | 上海联影医疗科技股份有限公司 | 图像重建方法和系统 |
CN114201360A (zh) * | 2021-11-26 | 2022-03-18 | 苏州浪潮智能科技有限公司 | 一种aer功能管理方法、装置、服务器和存储介质 |
WO2022155919A1 (zh) * | 2021-01-22 | 2022-07-28 | 华为技术有限公司 | 一种故障处理方法、装置及系统 |
CN114880266A (zh) * | 2022-07-01 | 2022-08-09 | 深圳星云智联科技有限公司 | 故障处理的方法、装置、计算机设备和存储介质 |
CN115277348A (zh) * | 2022-07-20 | 2022-11-01 | 阿里巴巴(中国)有限公司 | 一种服务器管理方法、服务器及服务器管理系统 |
US20240054040A1 (en) * | 2022-08-15 | 2024-02-15 | Wiwynn Corporation | Peripheral Component Interconnect Express Device Error Reporting Optimization Method and System Capable of Filtering Error Reporting Messages |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130159764A1 (en) * | 2011-12-15 | 2013-06-20 | International Business Machines Corporation | PCI Express Error Handling and Recovery Action Controls |
CN105808394A (zh) * | 2014-12-31 | 2016-07-27 | 中兴通讯股份有限公司 | 一种服务器自愈的方法和装置 |
CN108228374A (zh) * | 2017-12-28 | 2018-06-29 | 华为技术有限公司 | 一种设备的故障处理方法、装置及系统 |
CN109542752A (zh) * | 2018-11-28 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种服务器PCIe设备故障记录的系统及方法 |
CN109815043A (zh) * | 2019-01-25 | 2019-05-28 | 华为技术有限公司 | 故障处理方法、相关设备及计算机存储介质 |
-
2019
- 2019-07-08 CN CN201910612189.2A patent/CN110457164A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130159764A1 (en) * | 2011-12-15 | 2013-06-20 | International Business Machines Corporation | PCI Express Error Handling and Recovery Action Controls |
CN105808394A (zh) * | 2014-12-31 | 2016-07-27 | 中兴通讯股份有限公司 | 一种服务器自愈的方法和装置 |
CN108228374A (zh) * | 2017-12-28 | 2018-06-29 | 华为技术有限公司 | 一种设备的故障处理方法、装置及系统 |
CN109542752A (zh) * | 2018-11-28 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种服务器PCIe设备故障记录的系统及方法 |
CN109815043A (zh) * | 2019-01-25 | 2019-05-28 | 华为技术有限公司 | 故障处理方法、相关设备及计算机存储介质 |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414268B (zh) * | 2020-02-26 | 2022-05-13 | 华为技术有限公司 | 故障处理方法、装置及服务器 |
CN111414268A (zh) * | 2020-02-26 | 2020-07-14 | 华为技术有限公司 | 故障处理方法、装置及服务器 |
CN111709042A (zh) * | 2020-06-17 | 2020-09-25 | 深圳市同泰怡信息技术有限公司 | 一种acs功能的控制方法、装置、存储介质和计算机设备 |
CN111709042B (zh) * | 2020-06-17 | 2024-02-09 | 深圳市同泰怡信息技术有限公司 | 一种acs功能的控制方法、装置、存储介质和计算机设备 |
CN113781596A (zh) * | 2020-09-25 | 2021-12-10 | 上海联影医疗科技股份有限公司 | 图像重建方法和系统 |
WO2022155919A1 (zh) * | 2021-01-22 | 2022-07-28 | 华为技术有限公司 | 一种故障处理方法、装置及系统 |
CN112732477A (zh) * | 2021-04-01 | 2021-04-30 | 四川华鲲振宇智能科技有限责任公司 | 一种带外自检故障隔离的方法 |
CN114201360A (zh) * | 2021-11-26 | 2022-03-18 | 苏州浪潮智能科技有限公司 | 一种aer功能管理方法、装置、服务器和存储介质 |
CN114201360B (zh) * | 2021-11-26 | 2023-11-17 | 苏州浪潮智能科技有限公司 | 一种aer功能管理方法、装置、服务器和存储介质 |
CN114880266A (zh) * | 2022-07-01 | 2022-08-09 | 深圳星云智联科技有限公司 | 故障处理的方法、装置、计算机设备和存储介质 |
CN114880266B (zh) * | 2022-07-01 | 2022-09-23 | 深圳星云智联科技有限公司 | 故障处理的方法、装置、计算机设备和存储介质 |
CN115277348A (zh) * | 2022-07-20 | 2022-11-01 | 阿里巴巴(中国)有限公司 | 一种服务器管理方法、服务器及服务器管理系统 |
US20240054040A1 (en) * | 2022-08-15 | 2024-02-15 | Wiwynn Corporation | Peripheral Component Interconnect Express Device Error Reporting Optimization Method and System Capable of Filtering Error Reporting Messages |
US11953975B2 (en) * | 2022-08-15 | 2024-04-09 | Wiwynn Corporation | Peripheral component interconnect express device error reporting optimization method and system capable of filtering error reporting messages |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110457164A (zh) | 设备管理的方法、装置和服务器 | |
CN103107960B (zh) | 通过开关卡减少交换结构中交换故障的影响的方法和系统 | |
CN103181133B (zh) | 基于pcie交换的服务器系统及其倒换方法和设备 | |
CN106776159A (zh) | 具有故障转移的快速外围元件互连网络系统与操作方法 | |
CN103618618B (zh) | 基于分布式pcie系统的线卡故障恢复方法及相关设备 | |
CN103188157B (zh) | 一种路由器设备 | |
CN102880990B (zh) | 故障处理系统 | |
CN107111572B (zh) | 用于避免死锁的方法和电路 | |
CN110351149A (zh) | 一种维护网络数据转发平面的方法及装置 | |
CN101202764A (zh) | 确定虚拟以太网适配器的链路状态的方法和系统 | |
CN109510742A (zh) | 一种服务器网卡远程测试方法、装置、终端及存储介质 | |
CN109002411A (zh) | 自动配置gpu扩展箱的方法、系统及可自动配置的gpu扩展箱 | |
CN108984349A (zh) | 主节点选举方法及装置、介质和计算设备 | |
CN115550291B (zh) | 交换机的复位系统及方法、存储介质、电子设备 | |
CN113703908A (zh) | 拟态虚拟网络管理系统 | |
CN107453913A (zh) | 具备处理器间高速通信的网关冗余方法 | |
CN107277896B (zh) | wifi热点管理方法、装置及终端设备 | |
CN105988905A (zh) | 异常处理方法及装置 | |
CN104202199A (zh) | 检测接口状态并据接口状态处理接口故障的方法及系统 | |
CN106155826A (zh) | 用于在总线结构中检测及处理错误的方法和系统 | |
CN110096291A (zh) | 电源管理芯片升级电路、方法及网络设备 | |
CN109271096B (zh) | Nvme存储扩展系统 | |
CN109445975A (zh) | 异常处理方法、逻辑装置及成员设备 | |
CN106506265B (zh) | 检测fpga芯片挂死的方法及装置 | |
CN207815615U (zh) | 空调设备及控制装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20191115 |
|
RJ01 | Rejection of invention patent application after publication |