CN106155826B - 用于在总线结构中检测及处理错误的方法和*** - Google Patents
用于在总线结构中检测及处理错误的方法和*** Download PDFInfo
- Publication number
- CN106155826B CN106155826B CN201510181882.0A CN201510181882A CN106155826B CN 106155826 B CN106155826 B CN 106155826B CN 201510181882 A CN201510181882 A CN 201510181882A CN 106155826 B CN106155826 B CN 106155826B
- Authority
- CN
- China
- Prior art keywords
- hardware
- mistake
- hardware device
- bus
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3027—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
-
- 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/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/81—Threshold
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明的实施方式提供一种用于在总线结构中检测及处理错误的方法和***。该方法包括:从与所述总线关联的多个硬件寄存器中获取错误信息;响应于确定所述多个硬件寄存器中的一个或多个硬件寄存器中的所述错误的数量超过预定阈值,检测与所述一个或多个硬件寄存器对应的硬件设备的性能;以及响应于确定与所述一个或多个硬件寄存器对应的硬件设备中的一个硬件设备的性能劣化,确定所述一个硬件设备出现错误。通过该方法,可以对总线结构中出现的错误自动地进行检测及处理,一方面节约了成本,另一方面也提高了错误检测的效率。
Description
技术领域
本发明的实施方式涉及故障恢复领域,更具体地,涉及一种用于在总线结构中检测及处理错误的方法和***。
背景技术
总线是在计算机***中用于连接各个部件的通信干线。在通过总线互联的部件的架构中,如果发生错误,往往很难断定发生错误的具***置,例如是总线本身的错误还是所连接的部件的错误,也难以从总线错误中进行恢复。
现有技术中对这一类问题的解决方法并没有形成完整的体系,主要还是依赖于工程师的手动分析。例如,可能需要工程师手动分析可能相关的所有日志,并且通过替代其中的一些硬件设备来尝试对错误事项分类。由于上述手动解决方法的流程通常需要客户首先观察到服务劣化问题达数小时或数天、然后提出服务请求,再由工程师开始通过访问机器来查看/分析日志来查看问题,最终可能需要物理地替换硬件设备以分类/修复该问题,这会导致长时间的服务劣化,既费时又费力。另一方面,所获得的效果也取决于工程师的熟练程度,使得所获得的效果非常不稳定。
由此,亟需提供一种能够在总线结构中有效地自动检测和处理错误的方法和***。
发明内容
为了解决现有技术中存在的上述问题,本说明书提出如下方案。
根据本发明的第一方面,提供一种用于在总线结构中检测及处理错误的方法,包括:从与所述总线关联的多个硬件寄存器中获取错误信息;响应于确定所述多个硬件寄存器中的一个或多个硬件寄存器中的所述错误的数量超过预定阈值,检测与所述一个或多个硬件寄存器对应的硬件设备的性能;以及响应于确定与所述一个或多个硬件寄存器对应的硬件设备中的一个硬件设备的性能劣化,确定所述一个硬件设备出现错误。
在本发明的可选实施方式中,该方法进一步包括:确定所述一个硬件设备是否存在备用设备;以及响应于存在备用设备,使用所述备用设备对所述一个硬件设备进行故障转移。在本发明的可选实施方式中,该方法进一步包括:重置所述一个硬件设备。在本发明的可选实施方式中,该方法进一步包括:在重置所述一个硬件设备之后,至少部分地基于所述一个硬件设备的故障恢复历史来决定是否从所述备用设备切换回所述一个硬件设备。
在本发明的可选实施方式中,所述从与所述总线关联的多个硬件寄存器中获取错误信息包括:周期性地轮询所述多个硬件寄存器以获取所述错误信息。在本发明的可选实施方式中,轮询所述多个硬件寄存器的周期根据所述错误的数量而动态调整。
在本发明的可选实施方式中,所述从与所述总线关联的多个硬件寄存器中获取错误信息包括:监听来自所述硬件寄存器的、报告所述错误信息的中断消息,以获取所述错误信息。
在本发明的可选实施方式中,当所述错误的数量大于预定阈值时,禁用所述中断消息;并且通过周期性地轮询所述多个硬件寄存器来获取所述错误信息。
在本发明的可选实施方式中,所述与所述一个或多个硬件寄存器对应的硬件设备的性能通过性能检测器来检测,所述性能检测器基于与所述多个硬件寄存器对应的硬件设备的类型来设置。
在本发明的可选实施方式中,所述总线包括PCIe总线。
根据本发明的第二方面,提供一种用于在总线结构中检测及处理错误的***,包括:错误获取单元,被配置为从与所述总线关联的多个硬件寄存器中获取错误信息;性能检测单元,被配置为响应于确定所述多个硬件寄存器中的一个或多个硬件寄存器中的所述错误的数量超过预定阈值,检测与所述一个或多个硬件寄存器对应的硬件设备的性能;以及错误判定单元,被配置为响应于确定与所述一个或多个硬件寄存器对应的硬件设备中的一个硬件设备的性能劣化,确定所述一个硬件设备出现错误。
在本发明的可选实施方式中,该***进一步包括:备用设备确定单元,被配置为确定所述一个硬件设备是否存在备用设备;以及故障转移单元,被配置为响应于存在备用设备,使用所述备用设备对所述一个硬件设备进行故障转移。在本发明的可选实施方式中,该***进一步包括:重置单元,被配置为重置所述一个硬件设备。在本发明的可选实施方式中,该***进一步包括:故障恢复单元,被配置为在重置所述一个硬件设备之后,至少部分地基于所述一个硬件设备的故障恢复历史来决定是否从所述备用设备切换回所述一个硬件设备。
在本发明的可选实施方式中,所述从与所述总线关联的多个硬件寄存器中获取错误信息包括:周期性地轮询所述多个硬件寄存器以获取所述错误信息。在本发明的可选实施方式中,轮询所述多个硬件寄存器的周期根据所述错误的数量而动态调整。
在本发明的可选实施方式中,所述从与所述总线关联的多个硬件寄存器中获取错误信息包括:监听来自所述硬件寄存器的、报告所述错误信息的中断消息,以获取所述错误信息。在本发明的可选实施方式中,当所述错误的数量大于预定阈值时,禁用所述中断消息;并且通过周期性地轮询所述多个硬件寄存器来获取所述错误信息。
在本发明的可选实施方式中,所述与所述一个或多个硬件寄存器对应的硬件设备的性能通过性能检测器来检测,所述性能检测器基于与所述多个硬件寄存器对应的硬件设备的类型来设置。
在本发明的可选实施方式中,所述总线包括PCIe总线。
附图说明
通过结合附图对本公开示例性实施方式进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施方式中,相同的参考标号通常代表相同部件。
图1图示了根据本发明示例实施方式的用于在总线结构中检测及处理错误的方法100的流程图。
图2图示了通过PCIe接口连接的存储设备的示意性架构200。
图3图示了根据本发明示例实施方式的用于在总线结构中检测及处理错误的***300的流程图。
图4示出了适于用来实践本发明实施方式的计算机***400的示意性框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1图示了根据本发明示例实施方式的用于在总线结构中检测及处理错误的方法100的流程图。为了说明的方便起见,下文在示例中主要以当前常用的PCIe总线作为示例加以说明,然而,本领域技术人员应当理解,相关的发明构思对诸如PCI之类的其他类型的总线也同样适用,本发明在此方面不受限制。
如图1所示,方法100开始之后,首先进到步骤S101,从与所述总线关联的多个硬件寄存器中获取错误信息。这里所称的与总线关联的多个硬件寄存器包括与总线结构中的每个总线设备关联的寄存器。例如,在总线为PCIe总线的情况下,总线设备可以包括PCIe根端口(root port)、交换机以及端点设备等。
在实现中,获取错误信息的方式至少包括轮询和中断两种方式。具体而言,例如可以通过周期性地轮询所述多个硬件寄存器来获取所述错误信息;或者,可以通过监听来自所述硬件寄存器的、报告所述错误信息的中断消息,来获取所述错误信息。本领域技术人员应当理解,其他可能的错误信息获取方式也在本发明的构思之内。
在通过轮询硬件寄存器来获取错误信息的场景下,轮询的策略可以是用户可配置的。例如,轮询的周期可以根据错误的数量来动态调整。譬如,可以在初始时以较长的周期进行轮询,在没有检测到寄存器中的错误信息时保持较长轮询周期不变;而在任何硬件寄存器中检测到任何错误信息时缩短轮询周期(例如,设置为原来轮询周期的一半)。如果一直检测到错误,则可以将轮询周期设置为越来越短,直至达到预定阈值。反之,从不再检测到错误信息开始,可以逐步加大轮询周期,直至回到初始的较大轮询周期。具体的阈值和轮询周期均可选地可由用户设置。在本发明的可选实施方式中,可以仅对其中被检测到错误信息的硬件寄存器来调整轮询周期,以便在错误检测准确性和***资源的利用之间寻求平衡。
在通过中断消息来报告错误信息的场景下,可以在错误的数量大于预定阈值时,禁用所述中断消息;并且通过周期性地轮询所述多个硬件寄存器来获取所述错误信息。这是由于在错误数量非常大时(大于预定阈值),***的性能可能会受到极大的影响。为了降低中断消息给***带来的额外开销,可以通过禁用中断消息,将其转换为轮询的方式来获得错误消息。
此外,在根据本发明的示例性实现中,方法100的步骤S101可以通过启动专门的监视模块或守护程序来执行。
接下来,方法100前进到步骤S102,响应于确定所述多个硬件寄存器中的一个或多个硬件寄存器中的所述错误的数量超过预定阈值,检测与所述一个或多个硬件寄存器对应的硬件设备的性能。
例如,如果在某个硬件寄存器中检测到的错误的数量超过预定阈值时,有可能表明该硬件寄存器所对应的硬件设备正在经历性能劣化,从而需要对其进行进一步的性能检测。需要注意的是,可以仅针对在其中检测到的错误的数量超过预定阈值的硬件寄存器所对应的硬件来进行性能检测以便降低开销。仍然以PCIe设备为例,图2图示了通过PCIe接口连接的存储设备的示意性架构。如图2所示,在执行任何I/O活动(例如读或者写)时,总是涉及PCIe接口。如果在特定的主机接入卡HBA的PCIe接口或者其上游PCIe桥/交换机发生任何PCIe错误,则该HBA的I/O都将受到影响:例如,单个I/O将花费更多的时间来完成;HBA的使用将增加。I/O延迟的增加和HBA使用的增加将无疑影响整个***的性能:吞吐量、平均I/O延迟等。
在示例中,性能检测通过性能检测器来进行,该性能检测器可以基于与所述多个硬件寄存器对应的硬件设备的类型来设置。例如,在图2所示出的示例中,可以用HBA类型的性能检测器来检测存储设备的性能的劣化情况:针对每种类型的硬盘,其平均I/O延迟一般在特定范围内(与I/O大小和模式有关)。如果通过同一HBA连接的特定数量的硬盘具有性能问题(比如50%的硬盘的性能超过预定阈值),有可能认为HBA的性能劣化。
此外,可以采用网络性能检测器来检测网络的性能是否劣化。与上述存储性能的检测类似的,可以考虑网络堆栈自身的性能因子和用于评估的关键参数来对网络性能加以评价。
本领域技术人员将理解,可以采用现有技术中的任何其他性能检测方式来获取相关设备的性能情况,本发明在此方面不受限制。另外,在示例性实现中,方法100的步骤S102同样可以由前述监视模块或守护程序来执行。
返回图1,方法100前进到步骤S103,响应于确定与所述一个或多个硬件寄存器对应的硬件设备中的一个硬件设备的性能劣化,确定所述一个硬件设备出现错误。此时,根据本发明的可选实施方式,可以向监视模块报告这一错误,而监视模块则可以将该性能事件和其所检测到的硬件寄存器错误进行关联,并在日志中记录错误。
通过步骤S101至S103,方法100使得能够对总线结构中出现的错误自动地进行检测,一方面节约了成本,另一方面也提高了错误检测的效率。
在根据本发明的进一步实施方式中,方法100还可以包括可选的确定出现错误的硬件设备是否存在备用设备的步骤,以及可选的响应于存在备用设备,使用所述备用设备对所述出现错误的硬件设备进行故障转移的步骤(图1未示出)。
在实现中,故障转移的相关命令可以由前述监视模块或守护程序来发出。具体的故障转移机制根据不同的设备类型而有所不同,本发明在此方面不受限制。可选地,与此同时,出现错误的硬件设备可以被重置。例如,可以由监视模块或守护程序通知总线驱动器和设备驱动器停止I/O、解除对设备的配置并继而重置该设备。此后,根据本发明的进一步可选实施方式,还可以至少部分地基于出现错误的硬件设备的故障恢复历史来决定是否从所述备用设备切换回该出现错误的硬件设备。例如,如果该设备是第一次被重置,则认为其出现的错误是短暂的,有可能能够恢复,因此可以重新配置该设备并且在对其进行重置后切换回该设备。否则,如果根据该设备的故障恢复历史判断其不适宜进行故障恢复(例如,在重置之后该设备的性能仍然可能不稳定),则可以例如通知用户或管理人员,记录日志,并且根据需要进行后续动作(如更换设备)。本发明在此方面不受限制。
至此,方法100结束。
可以看到,通过方法100除了步骤S101至S103之外的其他附加步骤可以使得在确定出总线结构中的错误之后方便地对该错误进行处理,进一步提高了***的可用性和可服务性,降低了成本,改善了用户体验。
接下来参看图3描述根据本发明示例性实施方式的用于在总线结构中检测及处理错误的***300。
如图所示,***300包括错误获取单元301、性能检测单元302和错误判断单元303。其中,错误获取单元301被配置为从与所述总线关联的多个硬件寄存器中获取错误信息。性能检测单元302被配置为响应于确定所述多个硬件寄存器中的一个或多个硬件寄存器中的所述错误的数量超过预定阈值,检测与所述一个或多个硬件寄存器对应的硬件设备的性能;以及错误判定单元303被配置为响应于确定与所述一个或多个硬件寄存器对应的硬件设备中的一个硬件设备的性能劣化,确定所述一个硬件设备出现错误。
在本发明的可选实施方式中,***300进一步包括:备用设备确定单元,被配置为确定所述一个硬件设备是否存在备用设备;以及故障转移单元,被配置为响应于存在备用设备,使用所述备用设备对所述一个硬件设备进行故障转移。
在本发明的可选实施方式中,***300进一步包括:重置单元,被配置为重置所述一个硬件设备。
在本发明的可选实施方式中,***300进一步包括:故障恢复单元,被配置为在重置所述一个硬件设备之后,至少部分地基于所述一个硬件设备的故障恢复历史来决定是否从所述备用设备切换回所述一个硬件设备。
在本发明的可选实施方式中,其中,所述从与所述总线关联的多个硬件寄存器中获取错误信息包括:周期性地轮询所述多个硬件寄存器以获取所述错误信息。
在本发明的可选实施方式中,轮询所述多个硬件寄存器的周期根据所述错误的数量而动态调整。
在本发明的可选实施方式中,所述从与所述总线关联的多个硬件寄存器中获取错误信息包括:监听来自所述硬件寄存器的、报告所述错误信息的中断消息,以获取所述错误信息。
在本发明的可选实施方式中,当所述错误的数量大于预定阈值时,禁用所述中断消息;并且通过周期性地轮询所述多个硬件寄存器来获取所述错误信息。
在本发明的可选实施方式中,所述与所述一个或多个硬件寄存器对应的硬件设备的性能通过性能检测器来检测,所述性能检测器基于与所述多个硬件寄存器对应的硬件设备的类型来设置。
下面参考图4,其示出了适于用来实践本发明实施方式的计算机***400的示意性框图。例如,图4所示的计算机***400可以用于实现如上文描述的在总线结构中检测及处理错误的***300的各个部件,也可以用于固化或实现如上文描述的在总线结构中检测及处理错误的方法100的各个步骤。
如图4所示,计算机***可以包括:CPU(中央处理单元)401、RAM(随机存取存储器)402、ROM(只读存储器)403、***总线404、硬盘控制器405、键盘控制器406、串行接口控制器407、并行接口控制器408、显示控制器409、硬盘410、键盘411、串行外部设备412、并行外部设备413和显示器414。在这些设备中,与***总线404耦合的有CPU 401、RAM 402、ROM 403、硬盘控制器405、键盘控制器406、串行控制器407、并行控制器408和显示控制器409。硬盘410与硬盘控制器405耦合,键盘411与键盘控制器406耦合,串行外部设备412与串行接口控制器407耦合,并行外部设备413与并行接口控制器408耦合,以及显示器414与显示控制器409耦合。应当理解,图4所述的结构框图仅仅为了示例的目的而示出的,而不是对本发明范围的限制。在某些情况下,可以根据具体情况而增加或者减少某些设备。
如上所述,***300可以实现为纯硬件,例如芯片、ASIC、SOC等。这些硬件可以集成在计算机***400中。此外,本发明的实施方式也可以通过计算机程序产品的形式实现。例如,参考图1描述的方法100可以通过计算机程序产品来实现。该计算机程序产品可以存储在例如图4所示的RAM 402、ROM 403、硬盘410和/或任何适当的存储介质中,或者通过网络从适当的位置下载到计算机***400上。计算机程序产品可以包括计算机代码部分,其包括可由适当的处理设备(例如,图4中示出的CPU 401)执行的程序指令。所述程序指令至少可以包括用于实现方法100的步骤的指令。这些指令例如包括:用于从与所述总线关联的多个硬件寄存器中获取错误信息的指令;用于响应于确定所述多个硬件寄存器中的一个或多个硬件寄存器中的所述错误的数量超过预定阈值,检测与所述一个或多个硬件寄存器对应的硬件设备的性能的指令;以及用于响应于确定与所述一个或多个硬件寄存器对应的硬件设备中的一个硬件设备的性能劣化,确定所述一个硬件设备出现错误的指令。
上文已经结合若干具体实施方式阐释了本发明的精神和原理。根据本发明的用于在总线结构中检测及处理错误的方法和***相对于现有技术具有诸多优点。例如,本发明所提供的方法和***使得能够对总线结构中出现的错误自动地进行检测,一方面节约了成本,另一方面也提高了错误检测的效率。此外,通过本发明提供的实施方式,使得在确定出总线结构中的错误之后方便地对该错误进行处理,进一步提高了***的可用性和可服务性,降低了成本,改善了用户体验。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行***,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
应当注意,尽管在上文详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明,但是应该理解,本发明并不限于所公开的具体实施方式。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
Claims (14)
1.一种用于在总线结构中检测及处理错误的方法,包括:
通过从与所述总线关联的多个硬件寄存器中获取错误信息来确定所述总线结构中的错误的位置;
响应于确定所述多个硬件寄存器中的一个或多个硬件寄存器中的所述错误的数量超过预定阈值,检测与所述一个或多个硬件寄存器对应的硬件设备的性能;
响应于确定与所述一个或多个硬件寄存器对应的硬件设备中的一个硬件设备的性能劣化,确定所述一个硬件设备出现错误;
确定所述一个硬件设备是否存在备用设备;
响应于存在备用设备,使用所述备用设备对所述一个硬件设备进行故障转移;
重置所述一个硬件设备;以及
在重置所述一个硬件设备之后,至少部分地基于所述一个硬件设备的故障恢复历史来决定是否从所述备用设备切换回所述一个硬件设备,其中所述故障恢复历史包括所述硬件设备已经被重置的次数。
2.根据权利要求1所述的方法,其中,所述从与所述总线关联的多个硬件寄存器中获取错误信息包括:
周期性地轮询所述多个硬件寄存器以获取所述错误信息。
3.根据权利要求2所述的方法,其中,轮询所述多个硬件寄存器的周期根据所述错误的数量而动态调整。
4.根据权利要求1所述的方法,其中,所述从与所述总线关联的多个硬件寄存器中获取错误信息包括:
监听来自所述硬件寄存器的、报告所述错误信息的中断消息,以获取所述错误信息。
5.根据权利要求4所述的方法,其中,当所述错误的数量大于预定阈值时,禁用所述中断消息;并且通过周期性地轮询所述多个硬件寄存器来获取所述错误信息。
6.根据权利要求1所述的方法,其中,所述与所述一个或多个硬件寄存器对应的硬件设备的性能通过性能检测器来检测,所述性能检测器基于与所述多个硬件寄存器对应的硬件设备的类型来设置。
7.根据权利要求1所述的方法,其中,所述总线包括PCIe总线。
8.一种用于在总线结构中检测及处理错误的***,包括:
错误获取单元,被配置为通过从与所述总线关联的多个硬件寄存器中获取错误信息来确定所述总线结构中的错误的位置;
性能检测单元,被配置为响应于确定所述多个硬件寄存器中的一个或多个硬件寄存器中的所述错误的数量超过预定阈值,检测与所述一个或多个硬件寄存器对应的硬件设备的性能;
错误判定单元,被配置为响应于确定与所述一个或多个硬件寄存器对应的硬件设备中的一个硬件设备的性能劣化,确定所述一个硬件设备出现错误;
备用设备确定单元,被配置为确定所述一个硬件设备是否存在备用设备;
故障转移单元,被配置为响应于存在备用设备,使用所述备用设备对所述一个硬件设备进行故障转移;
重置单元,被配置为重置所述一个硬件设备;以及
故障恢复单元,被配置为在重置所述一个硬件设备之后,至少部分地基于所述一个硬件设备的故障恢复历史来决定是否从所述备用设备切换回所述一个硬件设备,其中所述故障恢复历史包括所述硬件设备已经被重置的次数。
9.根据权利要求8所述的***,其中,所述从与所述总线关联的多个硬件寄存器中获取错误信息包括:
周期性地轮询所述多个硬件寄存器以获取所述错误信息。
10.根据权利要求9所述的***,其中,轮询所述多个硬件寄存器的周期根据所述错误的数量而动态调整。
11.根据权利要求8所述的***,其中,所述从与所述总线关联的多个硬件寄存器中获取错误信息包括:
监听来自所述硬件寄存器的、报告所述错误信息的中断消息,以获取所述错误信息。
12.根据权利要求11所述的***,其中,当所述错误的数量大于预定阈值时,禁用所述中断消息;并且通过周期性地轮询所述多个硬件寄存器来获取所述错误信息。
13.根据权利要求8所述的***,其中,所述与所述一个或多个硬件寄存器对应的硬件设备的性能通过性能检测器来检测,所述性能检测器基于与所述多个硬件寄存器对应的硬件设备的类型来设置。
14.根据权利要求8所述的***,其中,所述总线包括PCIe总线。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510181882.0A CN106155826B (zh) | 2015-04-16 | 2015-04-16 | 用于在总线结构中检测及处理错误的方法和*** |
US15/097,598 US10705936B2 (en) | 2015-04-16 | 2016-04-13 | Detecting and handling errors in a bus structure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510181882.0A CN106155826B (zh) | 2015-04-16 | 2015-04-16 | 用于在总线结构中检测及处理错误的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106155826A CN106155826A (zh) | 2016-11-23 |
CN106155826B true CN106155826B (zh) | 2019-10-18 |
Family
ID=57129889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510181882.0A Active CN106155826B (zh) | 2015-04-16 | 2015-04-16 | 用于在总线结构中检测及处理错误的方法和*** |
Country Status (2)
Country | Link |
---|---|
US (1) | US10705936B2 (zh) |
CN (1) | CN106155826B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408338B (zh) * | 2018-11-01 | 2022-02-18 | 郑州云海信息技术有限公司 | 抓取NVME硬盘trace的方法、装置、设备及*** |
US10896087B2 (en) * | 2018-11-08 | 2021-01-19 | Microsoft Technology Licensing, Llc | System for configurable error handling |
KR20210010761A (ko) * | 2019-07-19 | 2021-01-28 | 삼성전자주식회사 | 시스템 온 칩 및 그 동작 방법 |
CN110795314B (zh) * | 2019-11-04 | 2023-10-03 | 北京小米移动软件有限公司 | 一种检测慢节点的方法、装置及计算机可读存储介质 |
CN112988433B (zh) * | 2019-12-12 | 2024-04-16 | 伊姆西Ip控股有限责任公司 | 用于故障管理的方法、设备和计算机程序产品 |
US11513981B2 (en) * | 2020-04-29 | 2022-11-29 | Dell Products L.P. | PCIe link management without sideband signals |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000568A (zh) * | 2006-12-31 | 2007-07-18 | 华为技术有限公司 | 一种避免总线故障的方法、通信设备及总线监控装置 |
CN101126995A (zh) * | 2006-08-14 | 2008-02-20 | 国际商业机器公司 | 处理严重硬件错误的方法及设备 |
CN103415840A (zh) * | 2011-02-28 | 2013-11-27 | 英特尔公司 | 跨硬件层和软件层的错误管理 |
CN104486100A (zh) * | 2014-11-28 | 2015-04-01 | 华为技术有限公司 | 故障处理装置及方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5542076A (en) * | 1991-06-14 | 1996-07-30 | Digital Equipment Corporation | Method and apparatus for adaptive interrupt servicing in data processing system |
JPH0628499A (ja) * | 1992-07-07 | 1994-02-04 | Sharp Corp | データ駆動型情報処理装置 |
JP3545642B2 (ja) * | 1999-05-17 | 2004-07-21 | 松下電器産業株式会社 | 監視システム及び方法 |
US20020184576A1 (en) * | 2001-03-29 | 2002-12-05 | International Business Machines Corporation | Method and apparatus for isolating failing hardware in a PCI recoverable error |
US6996750B2 (en) * | 2001-05-31 | 2006-02-07 | Stratus Technologies Bermuda Ltd. | Methods and apparatus for computer bus error termination |
US7254601B2 (en) * | 2001-12-20 | 2007-08-07 | Questra Corporation | Method and apparatus for managing intelligent assets in a distributed environment |
US7024580B2 (en) * | 2002-11-15 | 2006-04-04 | Microsoft Corporation | Markov model of availability for clustered systems |
US7313717B2 (en) * | 2003-04-17 | 2007-12-25 | Sun Microsystems, Inc. | Error management |
US7853825B2 (en) * | 2005-08-16 | 2010-12-14 | Hewlett-Packard Development Company, L.P. | Methods and apparatus for recovering from fatal errors in a system |
JP6427979B2 (ja) * | 2014-06-19 | 2018-11-28 | 富士通株式会社 | 原因特定方法、原因特定プログラム、情報処理システム |
-
2015
- 2015-04-16 CN CN201510181882.0A patent/CN106155826B/zh active Active
-
2016
- 2016-04-13 US US15/097,598 patent/US10705936B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101126995A (zh) * | 2006-08-14 | 2008-02-20 | 国际商业机器公司 | 处理严重硬件错误的方法及设备 |
CN101000568A (zh) * | 2006-12-31 | 2007-07-18 | 华为技术有限公司 | 一种避免总线故障的方法、通信设备及总线监控装置 |
CN103415840A (zh) * | 2011-02-28 | 2013-11-27 | 英特尔公司 | 跨硬件层和软件层的错误管理 |
CN104486100A (zh) * | 2014-11-28 | 2015-04-01 | 华为技术有限公司 | 故障处理装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
US20160306722A1 (en) | 2016-10-20 |
US10705936B2 (en) | 2020-07-07 |
CN106155826A (zh) | 2016-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106155826B (zh) | 用于在总线结构中检测及处理错误的方法和*** | |
EP3660681B1 (en) | Memory fault detection method and device, and server | |
CN109558282B (zh) | 一种pcie链路检测方法、***及电子设备和存储介质 | |
US9495233B2 (en) | Error framework for a microprocesor and system | |
US20170091013A1 (en) | Pcie error reporting and throttling | |
US10698605B2 (en) | Multipath storage device based on multi-dimensional health diagnosis | |
US9141463B2 (en) | Error location specification method, error location specification apparatus and computer-readable recording medium in which error location specification program is recorded | |
US20200387311A1 (en) | Disk detection method and apparatus | |
US20170060671A1 (en) | Anomaly recovery method for virtual machine in distributed environment | |
US9389942B2 (en) | Determine when an error log was created | |
CN108683528B (zh) | 一种数据传输方法、中心服务器、服务器及数据传输*** | |
CN104685474A (zh) | 包括不可纠正的错误的地址范围的通知 | |
JP2007323193A (ja) | 性能負荷異常検出システム、性能負荷異常検出方法、及びプログラム | |
US20150286513A1 (en) | Implementing tiered predictive failure analysis at domain intersections | |
CN110659147B (zh) | 一种基于模块自检行为的自修复方法和*** | |
CN106030544B (zh) | 计算机设备内存的检测方法和计算机设备 | |
US8880957B2 (en) | Facilitating processing in a communications environment using stop signaling | |
CN115623464B (zh) | 一种电能表蓝牙模块的故障处理方法、装置及电能表 | |
CN109885420B (zh) | 一种PCIe链路故障的分析方法、BMC及存储介质 | |
CN111030871A (zh) | 基于双机热备***的配置信息同步方法和装置 | |
CN113468020A (zh) | 内存监控方法、装置、电子设备及计算机可读存储介质 | |
CN111858136A (zh) | 固态硬盘异常数据检测方法、***、电子设备及存储介质 | |
CN112466383B (zh) | 存储***仲裁可靠性的测试方法、测试装置及测试设备 | |
CN103390429A (zh) | 一种硬盘的在线检测方法及服务器 | |
CN115580523B (zh) | 一种模组化电能表的故障处理方法、装置及电能表 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200415 Address after: Massachusetts, USA Patentee after: EMC IP Holding Company LLC Address before: Ma Sazhusaizhou Patentee before: EMC Corp. |
|
TR01 | Transfer of patent right |