CN120011127A - 设备故障处理方法、电子设备、存储介质及产品 - Google Patents
设备故障处理方法、电子设备、存储介质及产品 Download PDFInfo
- Publication number
- CN120011127A CN120011127A CN202510489529.2A CN202510489529A CN120011127A CN 120011127 A CN120011127 A CN 120011127A CN 202510489529 A CN202510489529 A CN 202510489529A CN 120011127 A CN120011127 A CN 120011127A
- Authority
- CN
- China
- Prior art keywords
- fault
- processor
- faulty device
- processing
- information
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0703—Error 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/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0703—Error 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/0706—Error 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/0745—Error 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0703—Error 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/0766—Error or fault reporting or storing
- G06F11/0778—Dumping, i.e. gathering error/state information after a fault for later diagnosis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Debugging And Monitoring (AREA)
Abstract
本公开提供了一种设备故障处理方法、电子设备、存储介质及产品,其中,方法包括:基于处理器支持的故障处理机制,对处理器进行初始化配置;响应于故障设备的故障信息,确定故障设备与处理器的连接方式;基于连接方式和/或初始化配置,对故障设备进行故障处理。本公开的方法,通过根据处理器的支持能力,为处理配置不同的故障处理机制,并且根据故障设备与处理连接关系,利用不同的故障处理机制为故障设备进行故障处理,避免了不同类型的故障报错均采用EDPC技术进行故障处理而导致正常PCIe设备的运行中断,提高了故障处理的处理粒度和准确度。
Description
技术领域
本公开涉及计算机领域,尤其涉及一种设备故障处理方法、电子设备、存储介质及产品。
背景技术
随着计算机技术的发展,高速串行计算机扩展总线(Peripheral ComponentInterconnect Express,PCIe)设备已经成为当前计算机系统中不可或缺的一部分,然而随着PCIe技术的演进,PCIe设备的运行速度越来越快,其故障也越来越频繁。
在PCIe设备发生故障报错时,处理器通常对不同类型的故障报错均采用增强型下游端口遏制(Enhanced Downstream Port Containment,EDPC)技术进行故障处理,这使得当处理器与多个PCIe设备连接时,其中一个或多个PCIe设备发生故障,采用EDPC技术进行故障处理,会导致全部的PCIe设备中断与处理器的连接,影响正常PCIe设备的运行。
发明内容
本公开提供了一种设备故障处理方法、电子设备、存储介质及产品,其中,方法包括:基于处理器支持的故障处理机制,对处理器进行初始化配置;响应于故障设备的故障信息,确定故障设备与处理器的连接方式;基于连接方式和/或初始化配置,对故障设备进行故障处理。本公开通过根据处理器的支持能力,为处理配置不同的故障处理机制,并且根据故障设备与处理连接关系,利用不同的故障处理机制为故障设备进行故障处理,避免了不同类型的故障报错均采用EDPC技术进行故障处理而导致正常PCIe设备的运行中断,提高了故障处理的处理粒度和准确度。
本公开的第一方面实施例提出了一种设备故障处理方法,包括:基于处理器支持的故障处理机制,对处理器进行初始化配置;响应于故障设备的故障信息,确定故障设备与处理器的连接方式;基于连接方式和/或初始化配置,对故障设备进行故障处理。
在本公开的一些实施例中,基于处理器支持的故障处理机制,对处理器进行初始化配置包括:当处理器支持根端口可编程输入输出时,屏蔽处理器的第一故障处理机制,并为处理器配置第二故障处理机制和/或第三故障处理机制;当处理器不支持根端口可编程输入输出时,为处理器配置第一故障处理机制。
在本公开的一些实施例中,第一故障处理机制包括:当故障设备存在故障时,触发端口遏制处理;第二故障处理机制包括:当故障设备的故障为不支持配置空间请求时,不触发端口遏制处理,当故障设备的故障为除不支持配置空间请求以外的故障时,触发端口遏制处理;第三故障处理机制包括:当故障设备的故障为完成超时错误时,不触发端口遏制处理,当故障设备的故障为除完成超时错误以外的错误时,触发端口遏制处理。
在本公开的一些实施例中,故障设备与处理器的连接方式包括:故障设备与处理器直接连接,以及故障设备通过交换机与处理器间接连接。
在本公开的一些实施例中,基于连接方式和/或初始化配置,对故障设备进行故障处理包括:当初始化配置第一故障处理机制时,触发端口遏制处理;当初始化配置第二故障处理机制或第三故障处理机制时,基于连接方式,对故障设备进行故障处理。
在本公开的一些实施例中,当初始化配置第二故障处理机制或第三故障处理机制时,基于连接方式,对故障设备进行故障处理包括:当故障设备与处理器直接连接时,利用第二故障处理机制,对故障设备进行故障处理;当故障设备与处理器通过交换机与处理器间接连接时,利用第三故障处理机制,对故障设备进行故障处理。
在本公开的一些实施例中,当故障设备与处理器直接连接时,利用第二故障处理机制,对故障设备进行故障处理包括:基于故障信息,判断故障设备的故障是否为不支持配置空间请求;基于判断的结果,对故障设备进行故障处理。
在本公开的一些实施例中,基于判断的结果,对故障设备进行故障处理包括:当判断的结果为故障设备的故障是不支持配置空间请求时,生成故障的第一上报信息,并不触发端口遏制处理;当判断的结果为故障设备的故障不是不支持配置空间请求时,触发端口遏制处理。
在本公开的一些实施例中,当故障设备与处理器通过交换机与处理器间接连接时,利用第三故障处理机制,对故障设备进行故障处理包括:基于故障信息,判断故障设备的故障是否为完成超时错误;基于判断的结果,对故障设备进行故障处理。
在本公开的一些实施例中,基于判断的结果,对故障设备进行故障处理包括:当判断的结果为故障设备的故障不是完成超时错误时,触发端口遏制处理;当判断的结果为故障设备的故障是完成超时错误时,生成故障的第二上报信息,并获取故障对应的报文头信息日志,以基于报文头信息日志,确定是否进行端口遏制处理。
在本公开的一些实施例中,基于报文头信息日志,确定是否进行端口遏制处理包括:基于报文头信息日志的类型,确定报文头信息日志指示的空间地址;判断空间地址对应的设备是否为故障设备,以确定是否进行端口遏制处理。
在本公开的一些实施例中,基于报文头信息日志的类型,确定报文头信息日志指示的空间地址包括:当报文头信息日志的类型为内存读写类型或输入输出读写类型时,基于报文头信息日志的信息地址,确定报文头信息日志指示的空间地址,以基于空间地址确定第一信息集;当报文头信息日志的类型为配置空间读写类型时,基于报文头信息日志的信息地址偏移,确定第一信息集。
在本公开的一些实施例中,判断空间地址对应的设备是否为故障设备,以确定是否进行端口遏制处理包括:当判断第一信息集对应的设备为故障设备,或判断第一信息集对应的设备为与故障设备连接的交换机时,不执行端口遏制处理;当判断第一信息集对应的设备不为故障设备,且第一信息集对应的设备不为与故障连接的交换机时,执行端口遏制处理。
在本公开的一些实施例中,方法还包括:基于故障设备申请的内存映射空间,确定所述报文头信息日志的类型。
在本公开的一些实施例中,第一信息集包括以下至少一项:故障设备的总线信息、故障设备的设备信息和故障设备的功能信息。
在本公开的一些实施例中,方法还包括:基于第一上报信息或第二上报信息,确定故障设备的设备身份信息和故障设备的故障原因;基于设备身份信息和故障原因,利用预设解决方式进行故障处理。
在本公开的一些实施例中,端口遏制处理包括:卸载故障设备的驱动程序,并移除故障设备的设备标记;释放故障设备与处理器的链接状态;对故障设备进行枚举,并从新启用故障设备的驱动程序。
本公开的第二方面实施例提出了一种电子设备,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,处理器用于运行计算机程序时,执行本公开第一方面实施例中描述的方法。
本公开的第三方面实施例提出了一种存储有计算机命令的非瞬时计算机可读存储介质,其中,计算机命令用于使计算机执行本公开第一方面实施例中描述的方法。
本公开的第四方面实施例提出了一种计算机程序产品,包括计算机程序,计算机程序在被处理器执行时实现本公开第一方面实施例中描述的方法。
综上,根据本公开提供的一种设备故障处理方法,包括:基于处理器支持的故障处理机制,对处理器进行初始化配置;响应于故障设备的故障信息,确定故障设备与处理器的连接方式;基于连接方式和/或初始化配置,对故障设备进行故障处理。本公开的方法,通过根据处理器的支持能力,为处理配置不同的故障处理机制,并且根据故障设备与处理连接关系,利用不同的故障处理机制为故障设备进行故障处理,避免了不同类型的故障报错均采用EDPC技术进行故障处理而导致正常PCIe设备的运行中断,提高了故障处理的处理粒度和准确度。
应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图用于更好地理解本方案,不构成对本公开的限定。其中:
图1为本公开实施例所提供的一种设备故障处理方法的流程示意图;
图2为本公开实施例所提供的一种设备故障处理方法的场景示意图;
图3为本公开实施例所提供的另一种设备故障处理方法的场景示意图;
图4为本公开实施例所提供的一种设备故障处理方法的流程示意图;
图5为本公开实施例所提供的另一种设备故障处理方法的流程示意图;
图6为本公开实施例所提供的又一种设备故障处理方法的流程示意图;
图7为本公开实施例所提供的再一种设备故障处理方法的流程示意图;
图8为本公开实施例所提供的另一种设备故障处理方法的流程示意图;
图9为本公开实施例所提供的又一种设备故障处理方法的流程示例图;
图10为本公开实施例所提供的一种设备故障处理方法的流程示例图;
图11为本公开实施例所提供的另一种设备故障处理装置的结构示意图;
图12为本公开实施例提供的电子设备的硬件组成结构示意图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
随着计算机技术的发展,PCIe设备已经成为当前计算机系统中不可或缺的一部分,然而随着PCIe技术的演进,PCIe设备的运行速度越来越快,其故障也越来越频繁。对于部分故障问题,PCIe设备对应的操作系统可以自动修复,但是大部分问题操作系统无法自动修复,从而导致机器宕机或者重启,以至于操作系统无法正常运行。
为了解决PCIe设备致命故障导致的系统宕机,业界出现了EDPC技术。 EDPC技术是一种用于PCIe总线的错误隔离与恢复技术,其通过在检测到链路错误(如格式错误的事务层数据报文、意外停机等)时,禁用单个PCIe链路,并强制终止未完成的请求,从而避免错误传播并保护操作系统免受潜在的不良数据影响。
具体的,相关技术中通常采用PCIe的高级错误报告(Advanced Error Reporting,AER)机制触发EDPC,AER是一种用于检测和报告PCle设备中发生的错误的机制,其允许PCle设备检测到并报告各种类型的错误,如非致命的、可恢复的以及严重的错误。AER在PCle设备上实现了一组寄存器和相应的错误通知机制,可以通过读取这些寄存器来获取关于错误的信息。使用AER,系统能够更好地监控和处理PCle设备的错误情况,以提高数据完整性和可靠性。
具体的,EDPC和AER配合可以实现PCIe设备的隔离与修复功能,如图1所示该方式包括如下步骤:
① 处理器侦测到设备存在不可纠正错误(即操作系统无法自动修复的错误)。②处理器发送信号到操作系统以进行错误处理。③ 操作系统电池管理模块通知设备驱动程序,卸载与处理器连接的设备的驱动程序;并移除该设备的设备标记,防止后续内存映射输入输出(Memory-Mapped Input/Output,MMIO)空间的访问。④ 操作系统电池管理模块通过如下操作使设备恢复:释放设备的(Link)链接状态、重新枚举设备、并重新启用设备的设备驱动。
上述相关技术在针对处理器的PCIe根端口对应单个设备时可以准确对故障设备进行故障隔离和修复,但当PCIe根端口对应多个设备,即PCIe根端口对应的设备为PCIe拓展(PCIe Switch)设备时(如图2所示),当多个设备中其中一个设备出现故障时(例如设备1出现故障),PCIe交换机1触发DPC,并且会导致PCIe根端口伴随产生超时故障,从而引起处理器触发DPC,导致正常的设备运行中断。
并且在利用DPC对设备进行故障处理的枚举过程中,由于设备还没初始化完成,部分PCIE配置 (configuration,cfg)指令导致产生PCIE 不支持请求(UnsupportedRequest,UR)错误。相关技术中通常采用屏蔽掉UR错误的方式避免误报,但是在操作系统完成对设备的枚举并正常运行时,由于屏蔽掉PCIE UR错误,从而导致处理器更严重的错误。
下面对本公开涉及到的技术术语进行说明:
根端口输入输出(Root Port PIO,RP PIO)是PCIe架构中用于管理根端口(RootPort)发送非张贴请求(Non-Posted Requests)时遇到错误的一种机制。它提供了对不可恢复错误(uncorrectable errors)和建议性错误(advisory errors)的精细控制。RP PIO错误控制寄存器提供了对非POSTED请求的精细错误管理能力,允许根据请求类型(配置、输入输出、内存)和错误类型进行灵活配置。
为了解决相关技术中存在的技术问题,本公开的实施例提供了一种设备故障处理方法。
下面首先对本公开涉及的应用场景进行示例性说明:
如图3所示,处理器通过PCIe端口与设备1直接连接,设备2通过PCIe交换机1与处理器的PCIe端口连接,设备3通过PCIe交换机2与处理器的PCIe端口连接。
应当理解的是图3仅作示例行说明,本公开的应用场景可以包含如图3所示的部分设备或全部设备,并且本公开对与处理器直接连接的设备的数量不予限定,对通过PCIe交换机与处理器连接的设备的数量不予限定。例如本公开的应用场景可以仅包含一个或多个与处理器直接连接的设备;或是仅包含一个或多个通过PCIe交换机与处理器间接连接的设备;或是包含一个或多个与处理器直接连接的设备,以及一个或多个与处理器间接连接的设备。
下面将详细介绍本公开的实施例。
如图4所示,本公开的实施例提供了一种设备故障处理方法,包括以下步骤:
步骤101,基于处理器支持的故障处理机制,对处理器进行初始化配置。
在一些实施例中,可以根据处理器是否支持根端口可编程输入输出(Root PortProgrammable I/O,RP PIO),从而为处理器进行不同的初始化配置。
在一些实施例中,当处理器不支持根端口可编程输入输出时,处理器的初始化配置可以为当故障设备存在故障时,触发端口遏制处理,即不区分故障设备的故障类型,统一采用端口遏制处理的方式对故障设备进行处理。
在一些实施例中,当处理支持根端口可编程输入输出时,处理器的初始化配置可以部分故障类型采用端口遏制处理,部分故障类型不采用端口遏制处理仅进行故障上报,从而实现对不同的故障类型进行不同的故障处理方式,以避免影响正常设备的运行。
在一些实施例中,端口遏制处理可以是EDPC处理,也可以是下游端口遏制(Downstream Port Containment,DPC)处理,亦或是基于DPC处理的改进处理方式等,本公开对此不予限定。
步骤102,响应于故障设备的故障信息,确定故障设备与处理器的连接方式。
在一些实施例中,故障信息用于指示与处理器连接的设备发生故障。
在一些实施例中,当接收到故障信息,处理器可以通过查询故障设备的连接信息,以确定故障设备与处理器的连接方式,从而结合处理器的初始化配置,对故障设备执行针对性的故障处理方式,但不限于此,本公开对确定连接方式采用的技术手段不予限定。
在一些实施例中,故障设备与处理器的连接方式包括:故障设备与处理器直接连接,以及故障设备通过交换机与处理器间接连接。交换机可以是PCIe交换机。
具体地,故障设备与处理直接连接可以是故障设备与处理器的PCIe根端口直接连接;故障设备通过PCIe交换机与处理器间接连接可以是故障设备通过PCIe交换机与处理器的PCIe根端口连接。
步骤103,基于连接方式和/或初始化配置,对故障设备进行故障处理。
在一些实施例中,初始化配置为当故障设备存在故障时,触发端口遏制处理,此时不论故障设备与处理器的连接方式为直接连接还是间接连接,均采用端口遏制处理的方式对故障设备进行故障处理,即直接基于初始化配置,对故障设备进行故障处理。
在一些实施例中,处理器的初始化配置为部分故障类型采用端口遏制处理,部分故障类型不采用端口遏制处理仅进行故障上报,由于不同连接方式对应的需要采用端口遏制处理的故障类型不同,因此需要结合故障设备与处理器的连接方式,判断故障设备的故障类型是否需要采用端口遏制处理,以对故障设备进行故障处理。
在一些实施例中,端口遏制处理可以是包括卸载故障设备的驱动程序,并移除故障设备的设备标记;释放故障设备与处理器的链接状态;对故障设备进行枚举,并从新启用故障设备的驱动程序,从而实现对故障设备的隔离和修复。
综上,根据本公开提出的设备故障处理方法,包括:基于处理器支持的故障处理机制,对处理器进行初始化配置;响应于故障设备的故障信息,确定故障设备与处理器的连接方式;基于连接方式和/或初始化配置,对故障设备进行故障处理。本公开的方法,通过根据处理器的支持能力,为处理配置不同的故障处理机制,并且根据故障设备与处理连接关系,利用不同的故障处理机制为故障设备进行故障处理,避免了不同类型的故障报错均采用EDPC技术进行故障处理而导致正常PCIe设备的运行中断,提高了故障处理的处理粒度和准确度。
图5进一步示出本公开提出的一种设备故障处理方法的流程图。基于图1所示的实施例进一步解释,图5可以包括如下步骤。
步骤201,当处理器支持根端口可编程输入输出时,屏蔽处理器的第一故障处理机制,并为处理器配置第二故障处理机制和/或第三故障处理机制。
在一些实施例中,第一故障处理机制包括:当故障设备存在故障时,触发端口遏制处理。
在一些实施例中,第二故障处理机制包括:当故障设备的故障为不支持配置空间请求时,不触发端口遏制处理,当故障设备的故障为除不支持配置空间请求以外的故障时,触发端口遏制处理。
在一些实施例中,第三故障处理机制包括:当故障设备的故障为完成超时错误时,不触发端口遏制处理,当故障设备的故障为除完成超时错误以外的错误时,触发端口遏制处理。
在一些实施例中,第二故障处理机制用于故障设备与处理器直接连接时,第三故障处理机制用于故障设备通过PCIe交换机与处理器间接连接时。
在一些实施例中,不支持配置空间请求可以是配置空间请求的UR发生错误,但不限于此。
在一些实施例中,完成超时(Completion Timeout)错误可以是配空间请求超时、输入输出请求超时和内存请求超时等,本公开对此不予限定。
在一些可选实施例中,当与处理器连接的设备均为直接连接时,可以仅为处理器配置第二故障处理机制;当与处理连接的设备均为间接连接时,可以仅为处理配置第三故障处理机制;当与处理器连接的设备既存在直接连接又存在间接连接时,可以同时为处理器配置第二故障处理机制和第三故障处理机制。
步骤202,当处理器不支持根端口可编程输入输出时,为处理器配置第一故障处理机制。
在一些实施例中,当处理器不支持根端口可编程输入输出时,即处理器不支持根据故障类型采用不同的故障处理方式时,可以直接为处理器配置第一故障处理机制,以使与处理器连接的设备发生故障时能够进行故障处理。
综上,根据本公开提出的设备故障处理方法,包括:当处理器支持根端口可编程输入输出时,屏蔽处理器的第一故障处理机制,并为处理器配置第二故障处理机制和/或第三故障处理机制;当处理器不支持根端口可编程输入输出时,为处理器配置第一故障处理机制。本公开的方法通过根据处理器的能力,为处理器配置不同的故障处理机制,以提高处理器故障处理时的粒度,提高了故障处理的准确率。
图6进一步示出本公开提出的一种设备故障处理方法的流程图。基于图1和图2所示的实施例进一步解释,图6可以包括如下步骤。
步骤301,当处理器不支持根端口可编程输入输出时,为处理器配置第一故障处理机制。
在一些实施例中,步骤301的原理与步骤201的原理相同,可以参考步骤201中的实施例及其相关描述,此处不再赘述。
步骤302,响应于故障设备的故障信息,触发端口遏制处理。
在一些实施例中,由于处理器的初始化配置为第一故障处理机制,因此接收到故障信息时,处理器没有能力根据不同的故障类型采用不同的故障处理方式,因此,处理器可以直接对故障设备执行端口遏制处理,以进行故障处理。
综上,根据本公开提出的设备故障处理方法,包括:当处理器不支持根端口可编程输入输出时,为处理器配置第一故障处理机制;响应于故障设备的故障信息,触发端口遏制处理。本公开的方法通过为不支持根端口可编程输入输出的处理器配置第一处理机制,以使得在与处理器直接或间接连接的设备出现故障时,可以利用端口遏制处理实现故障处理,提高了本公开的适用范围。
图7进一步示出本公开提出的一种设备故障处理方法的流程图。基于图1和图2所示的实施例进一步解释,图7可以包括如下步骤:
步骤401,当处理器支持根端口可编程输入输出时,屏蔽处理器的第一故障处理机制,并为处理器配置第二故障处理机制,或为处理器配置第二故障处理机制和第三故障处理机制。
在一些实施例中,步骤401的原理与步骤201的原理相同,可以参考步骤201中的实施例及其相关描述,此处不再赘述。
步骤402,响应用于故障设备的故障信息,确定故障设备与处理器直接连接。
在一些实施例中,当接收到故障信息,处理器可以通过查询故障设备的连接信息,以确定故障设备与处理器直接连接,但不限于此,本公开对确定连接方式采用的技术手段不予限定。
步骤403,利用第二故障处理机制,对故障设备进行故障处理。
在一些实施例中,故障信息还可以指示故障设备的故障类型,因此可以根据故障信息,判断故障设备的故障是否为不支持配置空间请求,进而基于判断的结果,对故障设备进行故障处理。
具体的,当根据故障信息,确定故障设备的故障是不支持配置空间请求时,此时对故障设备的处理方式为:生成故障的第一上报信息,并不触发端口遏制处理。
当根据故障信息,确定故障设备的故障不是不支持配置空间请求(即不支持配置空间请求以外的其他故障)时,此时对故障设备的处理方式为:触发端口遏制处理。
具体的,在设备与处理器直接连接,且处理器对设备进行枚举时,由于未初始化完成的正常设备会导致不支持配置空间请求的故障产生(枚举用于处理器向设备读取或写入数据,而由于设备未完成初始化,处理器无法读取或写入数据,因此会产生不支持配置空间请求的故障),而此时该正常设备并未出现故障,仅仅只是未完成初始化,因此该正常设备无需进行端口遏制处理。
进一步的,为了避免不支持配置空间请求的故障不是由于正常设备未完成初始化而产生的,即设备真实发生故障而导致不支持配置空间请求,因此需要生成第一上报信息,以分析不支持配置空间请求的具体产生原因,从而确定是否执行相应的故障处理。
换言之,可以根据第一上报信息,对不支持配置空间请求的故障原因进行分析,从而在不支持配置空间请求不是由于正常设备未完成初始化而产生时,利用预设故障处理方式对故障设备进行故障处理,从而实现故障设备的隔离和修复。
在一些实施例中,第一上报信息可以是故障建议性上报(Advisory Errorreport)信息,但不限于此。
综上,根据本公开提出的设备故障处理方法,包括:当处理器支持根端口可编程输入输出时,屏蔽处理器的第一故障处理机制,并为处理器配置第二故障处理机制,或为处理器配置第二故障处理机制和第三故障处理机制;响应用于故障设备的故障信息,确定故障设备与处理器直接连接;利用第二故障处理机制,对故障设备进行故障处理。本公开的方法,通过在处理器支持根端口可编程输入输出时,为处理器配置第二处理机制,以使得在与处理器直接连接的设备出现故障时,对不同类型的故障采用不同的故障处理,从而在故障为不支持配置空间请求时,仅生成上报信息,不触发端口遏制处理,避免了未完成初始化的正常设备触发故障处理,保障了设备的正常运行。
图8进一步示出本公开提出的一种设备故障处理方法的流程图。基于图1和图2所示的实施例进一步解释,图8可以包括如下步骤:
步骤501当处理器支持根端口可编程输入输出时,屏蔽处理器的第一故障处理机制,并为处理器配置第三故障处理机制,或为处理器配置第二故障处理机制和第三故障处理机制。
在一些实施例中,步骤501的原理与步骤201的原理相同,可以参考步骤201中的实施例及其相关描述,此处不再赘述。
步骤502,响应用于故障设备的故障信息,确定故障设备与处理器间接连接。
在一些实施例中,当接收到故障信息,处理器可以通过查询故障设备的连接信息,以确定故障设备与处理器间接连接,但不限于此,本公开对确定连接方式采用的技术手段不予限定。
步骤503,利用第三故障处理机制,对故障设备进行故障处理。
在一些实施例中,故障信息还可以指示故障设备的故障类型,因此可以根据故障信息,判断故障设备的故障是否为完成超时错误,进而基于判断的结果,对故障设备进行故障处理。
具体的,当根据故障信息,确定故障设备的故障不是完成超时错误时,此时对故障设备的处理方式为:触发端口遏制处理。
当根据故障信息,确定故障设备的故障是完成超时错误时,生成故障的第二上报信息,并获取故障对应的报文头信息日志,以基于报文头信息日志(RP PIO Header Log),确定是否进行端口遏制处理。
进一步的,可以根据报文头信息日志的类型,确定报文头信息日志指示的第一信息集;进而判断第一信息集对应的设备是否为故障设备,以确定是否进行端口遏制处理。
具体的,当与处理器间接连接的故障设备出现故障时,与故障设备连接的PCIe交换机会首先触发端口遏制处理,以对故障设备进行故障处理,此时PCIe交换机会向处理器发出故障信息,而由于PCIe交换机已经触发了端口遏制处理,此时的故障设备正在进行故障处理,因此为避免处理器因为该故障信息再次进行端口遏制处理,需要对故障信息的来源进行对比,以确定发出故障信息的设备是否是已经触发了端口遏制处理的设备。
具体的,当报文头信息日志的类型为内存读写类型或输入输出读写类型时,基于报文头信息日志的信息地址,确定报文头信息日志指示的空间地址,以基于空间地址确定第一信息集;当报文头信息日志的类型为配置空间读写类型时,基于报文头信息日志的信息地址偏移,确定第一信息集。
在一些实施例中,可以基于故障设备申请的内存映射空间,确定报文头信息日志的类型,但不限于此,本公开对确定报文头信息日志的类型的方式不予限定。
在一些实施例中,当报文头信息日志的类型为内存读写类型或输入输出读写类型时,报文头信息日志可以直接指示发生故障的设备的空间地址,进而根据该空间地址确定发生故障的设备,从而获取第一信息集。
在一些实施例中,当报文头信息日志的类型为配置空间读写类型时,报文头信息不同位置的数据可以指示发生故障的设备的第一信息集。
换言之,当报文头信息日志的类型为内存读写类型或输入输出读写类型时,需要根据报文头信息日志指示的空间地址确定具体的存在故障的设备,从而确定第一信息集;而当报文头信息日志的类型为配置空间读写类型时,报文头信息日志可以直接指示第一信息集,因此可以直接对报文头信息日志进行分析,从而确定第一信息集。
示例的,以报文头信息日志为9bit的存读写类型信息为例,前3bit可以用于指示总线信息,中间3bit可以指示设备信息,后3bit可以指示功能信息。
进一步的,第一信息集包括以下至少一项:故障设备的总线(bus)信息、故障设备的设备信息(devices)和故障设备的功能(function)信息。
在一些可选实施例中,还可以根据判断空间地址对应的设备是否为故障设备,以判断故障信息是否是由于故障设备触发了端口遏制处理而产生的,以避免由于端口遏制处理而产生的故障信息再次触发端口遏制处理。
进一步的,当判断第一信息集对应的设备为故障设备,或判第一信息集对应的设备为与故障设备连接的PCIe交换机时,不执行端口遏制处理;当判断第一信息对应的设备不为故障设备,且第一信息集对应的设备不为与故障连接的PCIe交换机时,执行端口遏制处理。
换言之,当第一信息集对应的设备为故障设备,或判断第一信息集对应的设备为与故障设备连接的PCIe交换机时,说明上述故障信息是由于利用端口遏制处理对故障设备进行故障处理时,由PCIe交换机或故障设备产生的,此时故障设备已经在进行故障处理,无需再次由处理器进行端口遏制处理,因此不执行端口遏制处理。
换言之,当第一信息集对应的设备不为故障设备,或判断第一信息集对应的设备不为与故障设备连接的PCIe交换机时,说明上述故障信息不是利用端口遏制处理对故障设备进行故障处理时产生的,即当前存在故障设备需要故障处理,因此执行端口遏制处理。
示例的,以图3所包含的设备为例,当设备2向处理器发出故障信息时,处理器中的寄存器对报文头信息日志进行解析,确定报文头信息日志指示的故障来源为设备2或PCIe交换机1时,不执行端口遏制处理,并结束此次故障处理。
示例的,以图3所包含的设备为例,当设备2向处理器发出故障信息时,处理器中的寄存器对报文头信息日志进行解析,确定报文头信息日志指示的故障来源不为设备2或PCIe交换机1(例如设备1、设备3、PCIe交换机等)时,执行端口遏制处理。
在一些实施例中,第二上报信息可以是故障建议性上报信息,但不限于此。
在一些可选实施例中,还可以根据基于第一上报信息或第二上报信息,确定故障设备的设备身份信息和故障设备的故障原因;进而基于设备身份信息和故障原因,利用预设解决方式进行故障处理。
具体的,第一上报信息或第二上报信息可以包含故障设备的设备型号、故障原因等信息,进而根据预设的映射关系表,通过查表的方式查找映射关系表中与第一上报信息或第二上报信息中设备型号、故障原因等信息对应的预设解决方式,以利用对应的预设解决方式进行故障处理。
综上,根据本公开提出的设备故障处理方法,包括:当处理器支持根端口可编程输入输出时,屏蔽处理器的第一故障处理机制,并为处理器配置第三故障处理机制,或为处理器配置第二故障处理机制和第三故障处理机制;响应用于故障设备的故障信息,确定故障设备与处理器直接连接;利用第三故障处理机制,对故障设备进行故障处理。本公开的方法,通过在处理器支持根端口可编程输入输出时,为处理器配置第三处理机制,以使得在与处理器直接连接的设备出现故障时,对不同类型的故障采用不同的故障处理,从而在故障为超时完成错误时,仅生成上报信息,并进一步根据基于报文头信息日志,确定是否触发端口遏制处理,验证了故障信息是否为故障设备触发端口遏制处理而产生,从而避免已触发端口遏制处理的故障设备再次触发端口遏制处理,并且保证了非故障设备的正常运行。
综上,本公开具有如下有益效果:
1.通过根据处理器的支持能力,为处理配置不同的故障处理机制,并且根据故障设备与处理连接关系,利用不同的故障处理机制为故障设备进行故障处理,避免了不同类型的故障报错均采用EDPC技术进行故障处理而导致正常PCIe设备的运行中断,提高了故障处理的处理粒度和准确度。
2.通过在处理器支持根端口可编程输入输出时,为处理器配置第二处理机制,以使得在与处理器直接连接的设备出现故障时,对不同类型的故障采用不同的故障处理,从而在故障为不支持配置空间请求时,仅生成上报信息,不触发端口遏制处理,避免了未完成初始化的正常设备触发故障处理,保障了非故障设备的正常运行。
3.通过在处理器支持根端口可编程输入输出时,为处理器配置第三处理机制,以使得在与处理器直接连接的设备出现故障时,对不同类型的故障采用不同的故障处理,从而在故障为超时完成错误时,仅生成上报信息,并进一步根据基于报文头信息日志,确定是否触发端口遏制处理,验证了故障信息是否为故障设备触发端口遏制处理而产生,从而避免已触发端口遏制处理的故障设备再次触发端口遏制处理,并且保证了非故障设备的正常运行。
以下是对本公开的示例性描述:
实施例1,以图3所示的设备1枚举过程中发生致命错误时,执行如图9所示的方法进行故障处理,包括如下步骤:
当设备1产生故障后,可配置PCIe根端口DPC的触发方式为RP PIO(即上述第二故障处理机制),此时通过配置RP PIO相关寄存器做到部分错误类型触发根端口的DPC功能,另一部分错误类型不触发根端口的DPC功能,仅作故障建议性上报。
1.检查PCIe根端口是否支持RP PIO机制的DPC功能。
2.当PCIe根端口支持RP PIO机制的DPC功能时,PCIe根端口初始化为:屏蔽AER机制,配置RP PIO机制,并设定配置空间请求的UR错误不触发DPC,其余错误设定为触发DPC(即上述第二故障处理机制)。
3.当PCIe根端口不支持RP PIO机制的DPC功能时,PCIe根端口初始化:配置传统AER机制触发DPC(即上述第一故障处理机制)。
4.PCIe根端口作为请求者确定设备1产生致命性故障(即上述处理器接收到故障设备的故障信息)。
5.PCIe根端口判断处理器是否支持RP PIO机制。
6.当PCIe根端口不支持RP PIO机制时,致命错误使用传统AER机制触发DPC。
7.当PCIe根端口支持RP PIO机制时,进一步的判断该致命错误是否为配置空间请求的UR错误。
8.若该致命错误是配置空间请求的UR错误,则致命错误不触发DPC,仅作建议性故障上报。
9.若该致命错误不是配置空间请求的UR错误,则致命错误使用RP PIO机制触发DPC。
实施例2,以图3所示的设备2枚举过程中发生致命错误时,执行如图10所示的方法进行故障处理,包括如下步骤:
如果在PCIe交换机1的下游端口(即设备2)触发了DPC,并且这可能伴随产生PCIe根设备中出现一个或多个完成超时错误。本公开通过使用RP PIO机制过滤出CTO故障,通过对CTO故障来源做精准定位从而区分出是否是PCIe交换机1的下游端口触发了DPC伴随产生的CTO故障,从而对故障错精准处理,避免由于伴随产生的CTO故障RootPort引发DPC,允许PCIe根设备继续与其他PCIe交换机(PCIe交换机2)及其下游端口(设备3)正常运行。
1.设备初始化阶段,检查PCIe根端口是否支持RP PIO机制的DPC功能。
2.当PCIe根端口支持RP PIO机制的DPC功能时,PCIe根端口初始化:屏蔽AER机制,配置RP PIO机制,设定当发生完成超时错误(Cfg CTO、I/O CTO、Mem CTO错误)时不触发DPC,其余错误设定为触发DPC(即上述第三故障处理机制)。
3.当PCIe根端口不支持RP PIO机制的DPC功能时,PCIe根端口初始化:配置传统AER机制触发DPC。
4.PCIe根端口作为请求者发现致命性故障。
5.当PCIe根端口不支持RP PIO机制时,致命错误使用传统AER机制触发DPC。
6.当PCIe交换机1支持RP PIO机制时,进一步的判断该致命错误是否为Cfg CTO、I/O CTO、Mem CTO错误。
7.若该致命错误为Cfg CTO、I/O CTO、Mem CTO错误中的至少一项时,则暂时不触发DPC,仅作建议性故障上报,其中建议性故障上报可以指示故障设备的身份信息、故障原因等,以便于后续分析处理。
8.若该致命错误不为Cfg CTO、I/O CTO、Mem CTO错误中的至少一项时,则使用RPPIO机制触发DPC。
9.进一步的,当用户软件接收到PCIe作为请求者发现的Cfg CTO、I/O CTO、MemCTO错误时,需要利用根端口的处理器解析报文头信息日志(RP PIO Header Log),以确定CTO错误来源。
10.进一步的,判断报文头信息日志的类型,若解析类型为内存空间读写类型,则依据报文头信息日志指示的信息地址确定该信息地址属于哪个设备的空间地址,并记录该设备的总线信息,设备信息和功能信息(bus,devices,function)。其中,可以通过收集设备申请的内存映射(MMIO)空间来判断信息日志的类型。
11.若解析类型为配置空间读写类型,则依据报文头信息日志的信息地址偏移确定报文头信息日志指示的设备的总线信息,设备信息和功能信息。
12.判断报文头信息日志指示的设备是否为设备2。
13.若报文头信息日志指示的设备为设备2,则不做处理,并结束故障处理。
14.若报文头信息日志指示的设备,则PCIe根端口执行DPC。
为了实现本公开实施例提供的设备故障处理方法,本公开实施例还提供一种设备故障处理装置,如图11所示,所述设备故障处理装置1100,包括:
初始化单元1101,用于基于处理器支持的故障处理机制,对处理器进行初始化配置;
确定单元1102,用于响应于故障设备的故障信息,确定故障设备与处理器的连接方式;
处理单元1103,用于基于连接方式和/或初始化配置,对故障设备进行故障处理。
在一些实施例中,初始化单元1101,还用于当处理器支持根端口可编程输入输出时,屏蔽处理器的第一故障处理机制,并为处理器配置第二故障处理机制和/或第三故障处理机制;当处理器不支持根端口可编程输入输出时,为处理器配置第一故障处理机制。
在一些实施例中,第一故障处理机制包括:当故障设备存在故障时,触发端口遏制处理;第二故障处理机制包括:当故障设备的故障为不支持配置空间请求时,不触发端口遏制处理,当故障设备的故障为除不支持配置空间请求以外的故障时,触发端口遏制处理;第三故障处理机制包括:当故障设备的故障为完成超时错误时,不触发端口遏制处理,当故障设备的故障为除完成超时错误以外的错误时,触发端口遏制处理。
在一些实施例中,故障设备与处理器的连接方式包括:故障设备与处理器直接连接,以及故障设备通过交换机与处理器间接连接。
在一些实施例中,处理单元1103,还用于当初始化配置第一故障处理机制时,触发端口遏制处理;当初始化配置第二故障处理机制或第三故障处理机制时,基于连接方式,对故障设备进行故障处理。
在一些实施例中,处理单元1103,还用于当故障设备与处理器直接连接时,利用第二故障处理机制,对故障设备进行故障处理;当故障设备与处理器通过交换机与处理器间接连接时,利用第三故障处理机制,对故障设备进行故障处理。
在一些实施例中,处理单元1103,还用于基于故障信息,判断故障设备的故障是否为不支持配置空间请求;基于判断的结果,对故障设备进行故障处理。
在一些实施例中,处理单元1103,还用于基于判断的结果,对故障设备进行故障处理包括:当判断的结果为故障设备的故障是不支持配置空间请求时,生成故障的第一上报信息,并不触发端口遏制处理;当判断的结果为故障设备的故障不是不支持配置空间请求时,触发端口遏制处理。
在一些实施例中,处理单元1103,还用于基于故障信息,判断故障设备的故障是否为完成超时错误;基于判断的结果,对故障设备进行故障处理。
在一些实施例中,处理单元1103,还用于当判断的结果为故障设备的故障不是完成超时错误时,触发端口遏制处理;当判断的结果为故障设备的故障是完成超时错误时,生成故障的第二上报信息,并获取故障对应的报文头信息日志,以基于报文头信息日志,确定是否进行端口遏制处理。
在一些实施例中,处理单元1103,还用于基于报文头信息日志的类型,确定报文头信息日志指示的空间地址,以基于空间地址确定第一信息集;当报文头信息日志的类型为配置空间读写类型时,基于报文头信息日志的信息地址偏移,确定第一信息集。
在一些实施例中,处理单元1103,还用于基于报文头信息日志的类型,确定报文头信息日志指示的空间地址包括:当报文头信息日志的类型为内存读写类型或输入输出读写类型时,基于报文头信息日志的信息地址,确定空间地址;当报文头信息日志的类型为配置空间读写类型时,基于报文头信息日志的信息地址偏移,确定空间地址。
在一些实施例中,处理单元1103,还用于当判断第一信息集对应的设备为故障设备,或判断第一信息集对应的设备为与故障设备连接的交换机时,不执行端口遏制处理;当判断第一信息集对应的设备不为故障设备,且第一信息集对应的设备不为与故障连接的交换机时,执行端口遏制处理。
在一些实施例中,处理单元1103,还用于基于故障设备申请的内存映射空间,确定报文头信息日志的类型。
在一些实施例中,处理单元1103,还用于基于第一上报信息或第二上报信息,确定故障设备的设备身份信息和故障设备的故障原因;基于设备身份信息和故障原因,利用预设解决方式进行故障处理。
在一些实施例中,处理单元1103,还用于卸载故障设备的驱动程序,并移除故障设备的设备标记;释放故障设备与处理器的链接状态;对故障设备进行枚举,并从新启用故障设备的驱动程序。
综上,根据本公开提出的设备故障处理装置,包括初始化单元,用于基于处理器支持的故障处理机制,对处理器进行初始化配置;确定单元,用于响应于故障设备的故障信息,确定故障设备与处理器的连接方式;处理单元,用于基于连接方式和/或初始化配置,对故障设备进行故障处理。本公开的装置,通过根据处理器的支持能力,为处理配置不同的故障处理机制,并且根据故障设备与处理连接关系,利用不同的故障处理机制为故障设备进行故障处理,避免了不同类型的故障报错均采用EDPC技术进行故障处理而导致正常PCIe设备的运行中断,提高了故障处理的处理粒度和准确度。
需要说明的是:上述实施例提供的设备故障处理装置在进行设备故障处理时,仅以上述各程序模块的划分进行举例说明,实际应用中,可以根据需要而将上述处理分配由不同的程序模块完成,即将设备故障处理装置的内部结构划分成不同的程序模块,以完成以上描述的全部或者部分处理。另外,上述实施例提供的设备故障处理装置与本公开实施例提供设备故障处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图12为本公开实施例提供的电子设备的硬件组成结构示意图,如图12所示,所述电子设备1200包括至少一个处理器1202;以及与所述至少一个处理器1202通信连接的存储器1201;其中,所述存储器1201存储有可被所述至少一个处理器1202执行的命令,所述命令被所述至少一个处理器1202执行,以实现本公开实施例所述的设备故障处理方法的步骤。
可选地,该电子设备具体可为本申请实施例的设备故障处理装置,并且该电子设备可以实现本申请实施例的各个方法中由设备故障处理装置实现的相应流程,为了简洁,在此不再赘述。
可理解,电子设备中还包括通信接口1203。电子设备中的各个组件通过总线系统1204耦合在一起。可理解,总线系统1204用于实现这些组件之间的连接通信。总线系统1204除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图12中将各种总线都标为总线系统1204。
可以理解,存储器1201可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read OnlyMemory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,Erasable Programmable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,Electrically Erasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagnetic random access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。本方法通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous Static Random Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous Dynamic Random Access Memory)、增强型同步动态随机存取存储器(ESDRAM,Enhanced Synchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本发明实施例描述的存储器1201旨在包括但不限于这些和任意其它适合类型的存储器。
上述本公开实施例揭示的方法可以应用于处理器1202中,或者由处理器1202实现。处理器1202具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1202中的硬件的集成逻辑电路或者软件形式的命令完成。上述的处理器1202可以是通用处理器、DSP,或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器1202可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器1201,处理器1202读取存储器1201中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,电子设备可以被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,ProgrammableLogic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、FPGA、通用处理器、控制器、MCU、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述方法。
本公开实施例还提供了一种存储有计算机命令的非瞬时计算机可读存储介质,所述计算机命令用于使所述计算机执行时实现本公开实施例所述的设备故障处理方法的步骤。
本公开实施例还提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现本公开实施例所述的设备故障处理方法的步骤。
可选的,该计算机可读存储介质可应用于本申请实施例中的设备故障处理装置,并且该计算机命令使得计算机执行本申请实施例的各个方法中由设备故障处理装置实现的相应流程,为了简洁,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序命令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干命令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (20)
1.一种设备故障处理方法,其特征在于,所述方法包括:
基于处理器支持的故障处理机制,对所述处理器进行初始化配置;
响应于故障设备的故障信息,确定所述故障设备与所述处理器的连接方式;
基于所述连接方式和/或所述初始化配置,对所述故障设备进行故障处理。
2.根据权利要求1所述的方法,其特征在于,所述基于处理器支持的故障处理机制,对所述处理器进行初始化配置包括:
当所述处理器支持根端口可编程输入输出时,屏蔽所述处理器的第一故障处理机制,并为所述处理器配置第二故障处理机制和/或第三故障处理机制;
当所述处理器不支持所述根端口可编程输入输出时,为所述处理器配置所述第一故障处理机制。
3.根据权利要求2所述的方法,其特征在于,所述第一故障处理机制包括:当所述故障设备存在故障时,触发端口遏制处理;
所述第二故障处理机制包括:当所述故障设备的故障为不支持配置空间请求时,不触发所述端口遏制处理,当所述故障设备的故障为除所述不支持配置空间请求以外的故障时,触发所述端口遏制处理;
所述第三故障处理机制包括:当所述故障设备的故障为完成超时错误时,不触发所述端口遏制处理,当所述故障设备的故障为除所述完成超时错误以外的错误时,触发所述端口遏制处理。
4.根据权利要求1所述的方法,其特征在于,所述故障设备与所述处理器的连接方式包括:所述故障设备与所述处理器直接连接,以及所述故障设备通过交换机与所述处理器间接连接。
5.根据权利要求3所述的方法,其特征在于,所述基于所述连接方式和/或所述初始化配置,对所述故障设备进行故障处理包括:
当所述初始化配置所述第一故障处理机制时,触发端口遏制处理;
当所述初始化配置所述第二故障处理机制或所述第三故障处理机制时,基于所述连接方式,对所述故障设备进行故障处理。
6.根据权利要求5所述的方法,其特征在于,所述当所述初始化配置所述第二故障处理机制或所述第三故障处理机制时,基于所述连接方式,对所述故障设备进行故障处理包括:
当所述故障设备与所述处理器直接连接时,利用所述第二故障处理机制,对所述故障设备进行故障处理;
当所述故障设备与所述处理器通过交换机与所述处理器间接连接时,利用所述第三故障处理机制,对所述故障设备进行故障处理。
7.根据权利要求6所述的方法,其特征在于,所述当所述故障设备与所述处理器直接连接时,利用所述第二故障处理机制,对所述故障设备进行故障处理包括:
基于所述故障信息,判断所述故障设备的故障是否为不支持配置空间请求;
基于判断的结果,对所述故障设备进行故障处理。
8.根据权利要求7所述的方法,其特征在于,所述基于判断的结果,对所述故障设备进行故障处理包括:
当所述判断的结果为所述故障设备的故障是所述不支持配置空间请求时,生成所述故障的第一上报信息,并不触发所述端口遏制处理;
当所述判断的结果为所述故障设备的故障不是所述不支持配置空间请求时,触发所述端口遏制处理。
9.根据权利要求6所述的方法,其特征在于,所述当所述故障设备与所述处理器通过所述交换机与所述处理器间接连接时,利用所述第三故障处理机制,对所述故障设备进行故障处理包括:
基于所述故障信息,判断所述故障设备的故障是否为完成超时错误;
基于判断的结果,对所述故障设备进行故障处理。
10.根据权利要求9所述的方法,其特征在于,所述基于所述判断的结果,对所述故障设备进行故障处理包括:
当所述判断的结果为所述故障设备的故障不是所述完成超时错误时,触发所述端口遏制处理;
当所述判断的结果为所述故障设备的故障是所述完成超时错误时,生成所述故障的第二上报信息,并获取所述故障对应的报文头信息日志,以基于所述报文头信息日志,确定是否进行所述端口遏制处理。
11.根据权利要求10所述的方法,其特征在于,所述基于所述报文头信息日志,确定是否进行所述端口遏制处理包括:
基于所述报文头信息日志的类型,确定所述报文头信息日志指示的第一信息集;
判断所述第一信息集对应的设备是否为所述故障设备,以确定是否进行所述端口遏制处理。
12.根据权利要求11所述方法,其特征在于,所述基于所述报文头信息日志的类型,确定所述报文头信息日志指示的空间地址包括:
当所述报文头信息日志的类型为内存读写类型或输入输出读写类型时,基于所述报文头信息日志的信息地址,确定所述报文头信息日志指示的空间地址,以基于所述空间地址确定所述第一信息集;
当所述报文头信息日志的类型为配置空间读写类型时,基于所述报文头信息日志的信息地址偏移,确定所述第一信息集。
13.根据权利要求11所述的方法,其特征在于,所述判断所述第一信息集对应的设备是否为所述故障设备,以确定是否进行所述端口遏制处理包括:
当判断所述第一信息集对应的设备为所述故障设备,或判断所述第一信息集对应的设备为与所述故障设备连接的交换机时,不执行所述端口遏制处理;
当判断所述第一信息集对应的设备不为故障设备,且所述第一信息集对应的设备不为与所述故障设备连接的交换机时,执行所述端口遏制处理。
14.根据权利要求11所述的方法,其特征在于,所述方法还包括:
基于所述故障设备申请的内存映射空间,确定所述报文头信息日志的类型。
15.根据权利要求14所述的方法,其特征在于,所述第一信息集包括以下至少一项:所述故障设备的总线信息、所述故障设备的设备信息和所述故障设备的功能信息。
16.根据权利要求8或10中任一项所述的方法,其特征在于,所述方法还包括:
基于第一上报信息或第二上报信息,确定所述故障设备的设备身份信息和所述故障设备的故障原因;
基于所述设备身份信息和所述故障原因,利用预设解决方式进行故障处理。
17.根据权利要求3或5中任一项所述的方法,其特征在于,所述端口遏制处理包括:
卸载所述故障设备的驱动程序,并移除所述故障设备的设备标记;
释放所述故障设备与所述处理器的链接状态;
对所述故障设备进行枚举,并从新启用所述故障设备的驱动程序。
18.一种电子设备,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行根据权利要求1-17中任一项所述的设备故障处理方法。
19.一种存储有计算机命令的非瞬时计算机可读存储介质,其特征在于,所述计算机命令用于使所述计算机执行根据权利要求1-17中任一项所述的设备故障处理方法。
20.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-17中任一项所述的设备故障处理方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202510489529.2A CN120011127B (zh) | 2025-04-18 | 2025-04-18 | 设备故障处理方法、电子设备、存储介质及产品 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202510489529.2A CN120011127B (zh) | 2025-04-18 | 2025-04-18 | 设备故障处理方法、电子设备、存储介质及产品 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN120011127A true CN120011127A (zh) | 2025-05-16 |
| CN120011127B CN120011127B (zh) | 2025-07-25 |
Family
ID=95668215
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202510489529.2A Active CN120011127B (zh) | 2025-04-18 | 2025-04-18 | 设备故障处理方法、电子设备、存储介质及产品 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN120011127B (zh) |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110246686A1 (en) * | 2010-04-01 | 2011-10-06 | Cavanagh Jr Edward T | Apparatus and system having pci root port and direct memory access device functionality |
| US20180089047A1 (en) * | 2016-09-29 | 2018-03-29 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Detecting and handling an expansion card fault during system initialization |
| CN112306913A (zh) * | 2019-07-30 | 2021-02-02 | 华为技术有限公司 | 一种端点设备的管理方法、装置及系统 |
| CN112470158A (zh) * | 2018-05-11 | 2021-03-09 | 美国莱迪思半导体公司 | 用于可编程逻辑器件的故障表征系统和方法 |
| CN119512758A (zh) * | 2024-11-20 | 2025-02-25 | 杭州义益钛迪信息技术有限公司 | 可编程逻辑控制器内存动态分配方法、装置及电子设备 |
| CN119621400A (zh) * | 2024-11-27 | 2025-03-14 | 苏州元脑智能科技有限公司 | 一种设备故障处理方法、装置、设备及介质 |
-
2025
- 2025-04-18 CN CN202510489529.2A patent/CN120011127B/zh active Active
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20110246686A1 (en) * | 2010-04-01 | 2011-10-06 | Cavanagh Jr Edward T | Apparatus and system having pci root port and direct memory access device functionality |
| US20180089047A1 (en) * | 2016-09-29 | 2018-03-29 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Detecting and handling an expansion card fault during system initialization |
| CN112470158A (zh) * | 2018-05-11 | 2021-03-09 | 美国莱迪思半导体公司 | 用于可编程逻辑器件的故障表征系统和方法 |
| CN112306913A (zh) * | 2019-07-30 | 2021-02-02 | 华为技术有限公司 | 一种端点设备的管理方法、装置及系统 |
| CN119512758A (zh) * | 2024-11-20 | 2025-02-25 | 杭州义益钛迪信息技术有限公司 | 可编程逻辑控制器内存动态分配方法、装置及电子设备 |
| CN119621400A (zh) * | 2024-11-27 | 2025-03-14 | 苏州元脑智能科技有限公司 | 一种设备故障处理方法、装置、设备及介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN120011127B (zh) | 2025-07-25 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7774651B2 (en) | System and method to detect errors and predict potential failures | |
| WO2021169260A1 (zh) | 一种系统板卡电源检测方法、装置、设备及存储介质 | |
| CN103198000A (zh) | 一种linux系统下的故障内存位置定位方法 | |
| CN101126995A (zh) | 处理严重硬件错误的方法及设备 | |
| TWI777628B (zh) | 電腦系統及其專用崩潰轉存硬體裝置與記錄錯誤資料之方法 | |
| CN115964218A (zh) | 高速串行计算机扩展总线设备故障的识别方法及装置 | |
| CN114003416B (zh) | 内存错误动态处理方法、系统、终端及存储介质 | |
| WO2024260013A1 (zh) | 内存故障处理方法、装置、计算机设备和存储介质 | |
| CN118550747A (zh) | 一种PCIe致命错误的快速定位方法、系统、电子设备及介质 | |
| CN118711651A (zh) | 一种固态硬盘故障处理方法、产品、设备及介质 | |
| CN116430835A (zh) | 一种Cortex-M微控制器的故障存储与分析方法 | |
| CN113127245B (zh) | 一种系统管理中断的处理方法、系统及装置 | |
| CN116049249A (zh) | 报错信息处理方法、装置、系统、设备和存储介质 | |
| WO2024124862A1 (zh) | 基于服务器的内存处理方法和装置、处理器及电子设备 | |
| CN120429158B (zh) | 系统管理器、错误数据的处理方法、设备及程序产品 | |
| CN120196519B (zh) | PCIe设备的故障告警方法、系统、设备、介质和产品 | |
| CN116302694A (zh) | 故障处理方法、装置、通信设备及存储介质 | |
| CN120011127B (zh) | 设备故障处理方法、电子设备、存储介质及产品 | |
| CN114496036A (zh) | 一种过载检测保护方法、装置、电路及电子设备 | |
| CN118093265A (zh) | 一种pcie设备故障处理方法及服务器 | |
| CN113868000B (zh) | 一种链路故障修复方法、系统及相关组件 | |
| CN115114097A (zh) | 硬盘注入媒介错误测试方法、系统、终端及存储介质 | |
| CN119003225B (zh) | 一种故障定位方法及设备、存储介质和计算机程序产品 | |
| CN120560894B (zh) | 内存故障管理系统、方法、服务器及电子设备 | |
| KR100862407B1 (ko) | 에러를 검출하고 잠재적 고장을 예상하는 시스템 및 방법 |
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 |