CN1734424A - 检测错误和预报潜在故障的系统以及方法 - Google Patents

检测错误和预报潜在故障的系统以及方法 Download PDF

Info

Publication number
CN1734424A
CN1734424A CNA2005100980941A CN200510098094A CN1734424A CN 1734424 A CN1734424 A CN 1734424A CN A2005100980941 A CNA2005100980941 A CN A2005100980941A CN 200510098094 A CN200510098094 A CN 200510098094A CN 1734424 A CN1734424 A CN 1734424A
Authority
CN
China
Prior art keywords
failure message
fault
assembly
diagnostic processor
processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2005100980941A
Other languages
English (en)
Other versions
CN100451977C (zh
Inventor
U·慕克吉
A·孔达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN1734424A publication Critical patent/CN1734424A/zh
Application granted granted Critical
Publication of CN100451977C publication Critical patent/CN100451977C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0775Content or structure details of the error report, e.g. specific table structure, specific error fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error 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 within a central processing unit [CPU]
    • G06F11/0724Error 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 within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Abstract

本发明公开了一种包括组件,故障信息表,以及诊断处理器的系统,故障信息表配置成接收与该组件相关的故障信息,诊断处理器配置成从该故障信息表读取该故障信息并初始化作为该故障信息的函数的纠正动作。本发明还公开了用于处理系统中的故障的方法。

Description

检测错误和预报潜在故障的系统以及方法
本专利文件公开的部分内容中包括需要版权保护的材料。该版权所有人不反对任何人按照它在专利商标局的专利文件或复本中呈现的那样来复制该专利文件或专利公开的复本,然而在其它方面,无论如何保留有全部的版权。
背景技术
在传统的计算机系统中,当系统出现故障时,技术人员可以在问题出现之后通过检查日志文件来诊断问题的所在。传统的容错系统可以包括用于在组件出现故障后诊断故障的方法,同时防止由组件故障所导致的系统故障。例如,传统的故障容许系统可以包括成对的和备用的系统,其中两个同样的组件以锁步(lock step)的方式运行,接收相同的输入。当来自该对组件的输出彼此不同时,如果已经知道该对组件中的一个已经出现故障,尽管不知道是哪一个,但是两个组件都要被关闭并用备用的组件进行替换,这有可能不需要人为的干涉。可选的,三个组件可以用来以锁步的方式运行,接收相同的输入。当来自这三个组件当中的一个组件的输出与另外两个的输出不同时,这个不同的组件被认为是已经出现故障的,并且会被替换掉。
如果一个主要系统出现故障,冗余和故障排除(failover)机制可以用来减少停机时间。一个系统可以按照热和/或冷备用而配置成N+1或N+i种配置。如果一个主要系统出现故障了,备用系统就成为主要系统。由这样的事件引起的停机的数量可能取决于该系统能多快地恢复到备用系统,并且该备用系统与出现故障的主要系统的同步有多紧密。当前,在电话通信系统中,在检测到故障之后故障系统的恢复以及恢复服务通常需要几秒钟。电话通信OEMs(原始设备制造商)正在为他们的系统寻求更低的停机时间。
系统中的单独组件也可以是容错的(fault-tolerant)。例如,如果故障是发生在内存中的,错误纠正代码就可以纠正故障。当这些故障被成功的纠正过来时,它们对于作为整体的系统来说可能是不可见的。当这些故障没有被检测到并得到纠正而继续扩大时,就可能发生系统故障。可能需要系统停机以更换内存芯片。
可纠正错误的频率增加了,可能意味着一个不可纠正的故障就要发生,或者至少这种故障的危险性就增加了。在组件故障发生之前预见到这些故障可以减少系统出现故障和导致系统停机的可能性。在组件故障发生之前预见到这些故障还可以使所执行的维护更有效率。
实际上,实际上传统的故障处理系统一般都是“反应式”的。换句话说,故障发生之后,才引发一个告警,对于一个好的系统来说,然后会完成故障排除,在这之后才开始对问题进行诊断。对于象电子商务,电子交易等等的所有应用程序来说,随着对增加更多的正常运行时间的需求,对于反应式故障排除结构来说,系统设计挑战变得几乎是不可逾越的。在一个当锁步方法可能花销不合理的成本意识环境里,这种反应式的故障处理模式没有能力满足这些需求。
附图的简要说明
图1图解的是根据本发明的一个示例性实施例的一个示例系统的高层框图。
图2图解的是根据本发明的一个示例性实施例的一个示例系统的示例硬件布图。
图3图解的是根据本发明的一个示例性实施例的一个示例设备错误列表和条目。
图4图解的是根据本发明的一个示例性实施例的一个示例详细故障信息列表和条目。
图5图解的是根据本发明的一个示例性实施例的一个内存组件故障诊断和预报的示例流程。
图6图解的是根据本发明的一个示例性实施例,对磁盘组件进行故障诊断和预报的示例流程。
图7图解的是根据本发明的一个第二示例性实施例的示例设备错误列表和条目。
图8图解的是根据本发明第二示例性实施例的内存组件故障诊断和预报的第二示例流程。
详细说明
图1图解的是根据本发明的一个示例性实施例的一个示例系统的高层框图。该系统可以是一个计算机系统,电讯开关,电讯传输设备,或用于其它应用程序。例如,对于有线线路和无线行业二者来说,该系统硬件可以是一个基于用于将高实用性的电讯服务和应用程序连接到主机的高级TCA*或cPCI结构的以底盘/搁板为基础的计算机系统。该系统硬件底盘/搁板(Chassis/Shelf)102可以包括一个带有多个电路卡或板的单独底盘,例如一个带有多个计算和访问板(blade)/底板(board)/模块的单独底盘/搁板与象以太网(Ethernet),Infiniband或其它标准串行结构之类的高速结构互连。然而,可以预见到可以使用其它硬件安排,例如全部系统可以在一个单独板上,或者该系统可以包括多个互连底盘。
该系统硬件102可以包括一个底盘管理模块控制板104。该控制板也可以称为CMM或底盘管理模块,并且作为该系统硬件102的中央控制模块,或者可选择的作为该硬件的一些附属设备。该控制板104可以负责管理系统硬件102中的故障检测,诊断,以及故障处理。这个底盘管理模块的功能还能够被实施为常规板的“已分区(partitioned)”的部分。
该控制板104可以包括一个诊断处理器106。该诊断处理器可以是一个IPMI BMC控制芯片,或者可选的是一些其它的诊断处理器,或者一个通用处理器经过编程而起到诊断处理器的作用。该控制板104和诊断处理器106可以接收故障信息,如故障数据或从该系统中的其它组件读取到的状态信息。从组件到该控制板104和该诊断处理器106的故障信息流用实心箭头来表示。该控制板104和诊断处理器106还可以控制其它系统硬件组件的配置。当检测到一个故障时,该控制板104和诊断处理器106可以将信息发送到系统更高级别的层,例如,告警消息。基于可以存储为固件的故障检测算法,该控制板104和诊断处理器106可以维护一组以“故障”为主键(master key)的关于所有主要搁板组件超时和触发动作的信息数据库。该控制板104和诊断处理器106还可以初始化其它形式的纠正动作,包括在系统组件中起用象BIST(内部自测试)功能的适当的诊断流程,使组件无效,用备用组件代替这些组件(自动地或者由人来干预),以及按照更高层系统功能工作来重新分配内存使用,存储或文件等等。该初始化的纠正动作可以由该诊断处理器来执行,或者基于系统管理员设定的预定方式由其它系统单元来执行。
该系统可以包括一个故障信息表107,它可以用来存储主故障信息表。该故障信息表107可以是诊断处理器106的一部分,或者可以是对于诊断处理器106来说,能够访问的分立组件。该故障信息表107被配置成允许存储从其它系统组件接收来的故障信息。故障信息表107中的故障信息可以与特殊的组件或组件的类型相关联。可选的是可以包括与所有组件类型相关联的信息。该故障信息表107还可以被配置成允许诊断处理器106访问故障信息。使用故障信息表107中的信息,诊断处理器106可以被配置成在故障发生之前预报单个系统组件的故障,并采取适当的纠正动作,例如,执行内部诊断流程,使组件无效,用备用的组件替换该组件,启动系统告警等等。
底盘管理板或模块(CMM)104的其它功能可以包括将底盘或搁板作为整体进行控制和管理,包括支持设备和环境。例如,该底盘管理板可以监视温度,风扇或其它冷却设备的操作状态,包括电池或UPS(不间断电源)系统的电源的操作状态等等。该底盘管理板108还可以控制冷却设备和电源,例如,如果其它的风扇出现故障或如果温度超过了阈值,则增加一个风扇的操作速率。
该示例系统可以包括很多通用组件板110。这些组件板可以包括计算或处理,存储,I/O,以及其它功能组件,或这些组件的附属设备。这些组件板110可以用来提供系统中用户需要的功能。例如,组件板110可以包括一条电讯传输器材中的线板,多处理器中的处理器板,电讯开关中的切换结构板,磁盘驱动器或其它设备I/O控制器,或其它类型的常规硬件系统组件。在该示例中,提供了一个计算板,一个存储板,以及一个I/O板。还可以包括其它类型的特殊用途板。一些板可以在一个板中提供这些功能中的几个功能。
该系统还可以带有一个操作系统120。例如,该操作系统120可以是为电讯应用程序而优化的开源LINUX操作系统。也可以使用其它常规操作系统。可以预见,该系统可以带有多个操作系统,例如,该系统的每个板上都有一个分立的操作系统。该操作系统120还包括一个或多个设备驱动器122,可以提供系统的操作系统120与硬件组件110之间的接口。操作设备驱动器122与组件110之间的数据传输在图1中用双向箭头来表示。
该操作系统120还可以包括故障管理接口124。故障管理接口124允许在控制板104和操作系统120之间传输关于故障和纠正动作的信息。故障管理接口124还可以提供用于故障监视和维护的标准接口。
操作系统还可以提供中间设备126,它可以用来为用户应用程序提供各种标准接口,例如,网络管理和控制系统。
该系统还可以包括应用程序130。这些应用程序可以直接或通过中间设备接口126与操作系统120进行通信。应用程序可以包括网络和系统管理工具,操作和维护系统,以及其它的应用程序。这些应用程序可以直接在系统硬件102上运行,或与远程的系统进行接口。可以预见,还可以提供其它的渠道使应用程序130与控制板104和诊断处理器106直接进行通信,而无需通过操作系统。这样的渠道可以允许对系统硬件进行远程监视。
图2图解的是根据本发明的一个示例性实施例的一个示例系统的示例硬件布图。
该示例系统可以包括一个控制板104,它可以包括一个诊断处理器106和一个故障信息表107。故障信息表107可以存储在诊断处理器106上,或者在对于诊断处理器106来说可以访问的其它位置。控制板104可以收集和预处理底盘故障数据。底盘故障信息可以包括象温度和风扇操作状态,湿度等的环境信息。底盘故障数据还可以包括象线电源利用率和质量之类的电源操作状态,UPS操作状态,电池电源电平等。底盘控制板还可以从其它系统组件接收故障数据,包括来自安置在这些组件上的诊断处理器的数据,具体描述如下。
该示例系统可以包括多种组件板110。这些组件板可以包括一块电讯传输器材中的线板,多处理器中的处理器板,电讯开关中的切换结构板,磁盘驱动器或其它设备I/O控制器,或其它类型的常规硬件系统组件。参考图2,每个组件板可以包括一个附属诊断处理器210。附属诊断处理器210可以是一个分立组件,或者可以作为一个逻辑实体来提供,例如,作为其它处理器或芯片组的一部分。组件板110上的附属诊断处理器210可以采集组件板110上的组件的故障数据。这个信息可以直接从组件上采集,或者取自组件故障信息表或寄存器(例如,内存故障寄存器216),它可以是组件芯片组的一部分。从组件故障寄存器216采集到的信息可以存储在附属诊断处理器210中,或者存储在对于附属诊断处理器210来说可以访问的其它位置。
组件板还可以指定为,例如,计算,I/O,或存储板。
组件板110可以包括一个或多个处理器或CPU,也可以包括内存,以及其它计算组件。每个组件110可以包括一个附属诊断处理器210。附属诊断处理器210可以是一个分立组件,或者可以作为一个逻辑实体来提供,例如,作为CPU芯片组的一部分。组件板110上的附属诊断处理器210可以采集组件板110上的处理器或其它的故障数据。这个信息还可以从内存故障寄存器216处采集到,内存故障寄存器216可以是芯片组的一部分。从组件故障寄存器216采集到的信息可以存储在附属诊断处理器210中,或者存储在对于附属诊断处理器210来说可以访问的其它位置。
存储组件板可以包括一个或多个磁盘控制器或存储CPU,还可以包括内存,以及其它计算组件。附属诊断处理器210可以是一个分立组件,或者可以作为一个逻辑实体来提供,例如,作为磁盘控制器芯片组的一部分。存储组件板上的附属诊断处理器210可以从存储组件板上的磁盘控制器和其它组件上获取故障数据。这个信息还可以从磁盘驱动器故障信息表或寄存器220中获取,它可以是磁盘控制器芯片组的一部分。从磁盘驱动器故障寄存器220采集到的信息可以存储在附属诊断处理器210中,或者存储在对于附属诊断处理器210来说可以访问的其它位置。
网络/LAN板可以包括一个或多个I/O CPU,还可以包括其它组件。每个网络/LAN板可以包括一个附属诊断处理器210。附属诊断处理器210可以是一个分立组件,或者可以作为一个逻辑实体来提供,例如,作为网络处理器芯片组的一部分。网络/LAN板上的附属诊断处理器210可以从网络/LAN板上的组件获取故障数据。这个信息还可以从网络/LAN故障信息表或寄存器224中获取,它可以是网络/LAN处理器芯片组的一部分。从网络/LAN故障寄存器224采集到的信息可以存储在附属诊断处理器210中,或者存储在对于附属诊断处理器210来说可以访问的其它位置。
可以预见到,板可以包括不同类型的组件,而不仅仅是计算、网络/LAN、或存储元件。内存故障寄存器,磁盘驱动器故障寄存器和处理器故障寄存器可以作为故障管理芯片组的一部分,并且可以作为组件故障表的一部分被包括在内。因此,在每个板或计算板中,交互可以从该板的主CPU到故障管理芯片组,再到控制板上的诊断处理器。芯片组和/或诊断处理器还可以维护用于板和预处理故障信息的主设备故障信息表,例如,在将汇总的故障信息发送到控制板104上的主故障信息表之前,使其老化,对其阈值化,或对其进行过滤。附属诊断处理器210可以配置成对每个组件板上的所有这些组件板元件或一部分进行监视,还可以对未示出的其它组件板设备进行监视,例如,通信端口,电源,网络接口设备等等。
附属诊断处理器210可以配置成对采集到的故障数据进行预处理,例如,将指示数据是什么时候采集的时间值与采集到的故障数据进行关联,将一定间隔的多重同样的错误检测减少为包括对检测次数计数的单个报告事件,删除或忽略某种类型的故障等等。可以预见到,凭借该系统结构,故障数据采集和/或预处理能够可选择地直接在诊断控制器106上执行。
该系统可以包括一个互连结构230。可以预见到,该互连结构230可以是主系统总线、管理总线、或者可以是专用于传输故障信息并且控制系统故障容限特性的特殊总线。结构230可以是基于以太网或其它一些串行高速连接的“结构”,或者它可以是专用于传输故障信息并且象IPMB那样进行控制的特殊总线。可以预见到,系统的板之间还可以使用其它通信形式,例如,可以使用多总线或其它网络结构。一旦附属诊断处理器210从组件采集到了故障数据并对其进行预处理,该信息可以通过互连结构230进一步传送到控制板104。可以预见到,互连结构230可以是一个常规数据总线,或者可以是只用于交换故障信息和故障处理指令的特殊总线。一旦接收到故障信息,它就会被存储到故障信息表107中,例如,通过诊断处理器。附属诊断处理器210还可以具备将故障信息直接写入到故障信息表107中的能力。
当发生了一个组件故障时,诊断处理器106能够从相应的附属诊断处理器210接收到关于故障的信息,例如,通过接收消息,或通过读取故障信息表中的实体。象在常规的故障容许系统中那样,诊断处理器210可以促使该系统采取适当的纠正动作,例如,使组件无效,给操作系统产生一个告警,或者用备用组件取代该组件。诊断处理器106还可以配置成使用从组件采集到的故障信息来预报组件故障并在组件故障发生之前采取纠正动作,例如,执行一个诊断流程,在组件无效之前用备用组件取代它,与操作系统协同工作来重新安排存储以避免使用有故障的内存或磁盘等等。
图3图解的是根据本发明的一个示例性实施例的一个示例设备错误列表300。该示例设备错误表300可以作为诊断处理器106的一部分被包括在内。可选择地,该设备错误表300可以被包括在对于诊断处理器106来说,能够访问该设备错误表的其它位置,例如,作为控制板104上的分立芯片。尽管该设备错误表300已经图示为硬件组件,但是该表可以存储在专用硬件组件中,或者作为软件或固件表的一部分。可以预见到,尽管该设备错误表显示为一个阵列,但对设备错误表来说也可以使用其它的数据结构,例如,链列表,无序表等等。可以预见到,系统中可以包括多个设备错误表,例如,每个特定组件类都有一个设备错误表。
设备错误表300可以包括一个或多个条目302。系统中的每个组件都可以包括一个条目。可选择的,可以包括多个条目,例如,在给定组件中已经检测到的每个故障或故障类型都有一个条目。
参照图3,其中是根据本发明的示例性实施例的示例设备错误表中的示例条目。该示例条目302可以包括几个字段。
该示例性条目可以包括一个设备ID字段。设备ID字段可以标识一个组件,对于它来说,特定条目302包括故障信息。例如,设备ID字段可以指定板或特定磁盘驱动器中的特定内存页。可以预见到,可以使用其它链接设备错误表条目和组件的方法,例如一个内存的条目可以包括特定的内存地址或页地址,然而磁盘驱动器的条目可以包括轨道和扇区信息。可选择的,设备ID字段可以包括一个指针,指向包括有关特定组件的信息的数据结构。
示例条目302可以包括一个错误计数字段,它可以指示在相应时间窗(以下详述)内发生的错误的次数。该示例条目302可以包括一个数据—时间戳字段,它可以指示在由设备ID字段指定的组件中,检测到故障的时间。凭借使用的故障预报算法,可以预见到,数据—时间戳字段中的值只需要近似即可。可以预见到,数据—时间戳值可以是不同的格式。例如,这个字段可以包括实时值,比如当检测到故障时的系统时钟时间,或者可选择的是一个计数器或定时器,其指示从检测到故障起,已经过去的时间。
该示例条目302还可以包括一个指针字段(例如,指向具体错误信息的指针)。该指针可以指向具体故障信息表中的一个条目(如图4所示)。具体故障信息表中的每个条目可以是一个数据结构,其指示检测到的故障或错误消息的性质。这样的数据结构可以包括故障的严重程度,故障是怎样检测到的,以及检测到的故障的特殊性质,例如,在特定内存位置中成功纠正的1位错误。如果设备ID字段只指示了高层组件,如底板,具体错误信息可以提供有关错误位置的信息。例如,如果设备ID字段指示了一个特定磁盘驱动器,由指针指定的数据结构可以包括轨道和扇区的信息。
可以预见到,设备错误表302中的字段不必是单精度变量或内存位置,例例如,设备错误表字段可以包括指向更复杂数据结构的链接或指针,或者可以直接包括更复杂的数据结构。
图4图解的是本发明每个组件板的芯片组上存储的具体故障信息表400的示例实施例。每个主系统板可以获取故障数据,分析该故障数据,并且当超过一个阈值故障级别时采取动作。附加的,每个主系统板可以将汇总的故障信息和告警细节发送到底盘管理模块诊断管理系统,它们将该信息存储在具体故障信息表中。底盘或搁板管理系统可以将信息发送到中央的故障管理系统。
诊断访问流程可以用于访问具体故障信息表,分析其中包括的信息并采取适当的动作。这些动作可以包括将告警发送到操作系统并开始适当的诊断,它可以存储在固件当中。这些诊断可以进一步分析故障数据并有可能纠正这些问题。在系统中的如内存、硬盘驱动器,以及每个板或电路组合这样的单个系统组件上的数据从位于分立组件中的芯片组采集和生成故障信息。这些动作还可以包括在执行纠正动作和分析诊断之前,启动对潜在的故障部分(内存,磁盘,网络框架,计算处理器或其它元件)以外的应用程序进行适当的恢复的初始化。
可以预见到,系统中各种具体故障信息表可以按不同的方式进行存储,并且可以包括取决于特定实施方式的不同信息。例如,具体故障信息可以存储在诊断处理器中,或对诊断处理器来说可以访问的分立位置。具体故障信息可以最初存储在与不同类型组件有关的芯片组的故障寄存器中。这些寄存器可以提供大部分具体故障信息。来自这些具体表的信息可以由附属诊断处理器来分析,老化,过滤,并存储在中间故障信息表或与附属诊断处理器有关的主设备故障信息表中。这些主设备故障信息表可以存储在附属诊断处理器中,或者对于处理器来说,可以访问的其它位置。来自附属诊断处理器和主设备表的经过处理的故障信息接下来可以进一步传送到系统或底盘级诊断处理器,在那里它可以被存储到用于整个底盘、搁板或系统的主故障信息表中。设备错误表和具体故障信息表的更具体的示例将在下面进行说明。
图4图解的是根据本发明的一个示例性实施例,在示例具体故障信息表中的示例条目402。可以预见到,该表可以用不同的数据结构来实施,例如,链接列表,对象,阵列等等。
该示例具体故障信息表条目402可以包括一个设备ID字段。该ID字段典型地与图3中的设备错误表条目的ID字段相似。该示例具体故障信息表条目401可以包括一个错误类型字段,用来指示发生过的错误的类型。例如,如果设备是内存设备,该错误类型字段可以指示该错误是一个写错误还是一个读错误等等。
该示例具体故障信息表条目可以包括一个访问设备字段,用来标识该设备访问到了一个发生错误的设备。此外,该具体故障信息表可以包括一个物理故障地址字段,用来标识在错误期间刚访问到的地址。尽管没有在图4中示出,该具体故障信息表中可以包括其它字段,比如当检测到故障时,记录系统环境测量值的字段,如温度,电压以及风扇操作状态。此外,故障信息表条目可以包括一个标志字段,它可以包括关于已经启动的错误或告警标志的信息。
如上所述,每个设备带有一个设备相关错误列表和一个具体故障信息表。存储在这些表中的数据的类型可以是设备指定的。对于一个硬盘驱动器来说,具体故障信息表条目可以包括一个错误类型字段,用来标识基于访问类型在设备中检测到的错误的类型,例如当检测到错误时,由该设备作出的读,写,或者读/写。该物理故障地址字段可以包括当检测到错误时,正在被访问的硬盘驱动器上的地址。
对于一个内存设备来说,该具体故障信息表条目可以包括一个标识内存页地址的字段,它可以指示纠正的内存故障的地址。该表条目可以包括一个说明检测到的错误或故障类型的错误类型字段,例如,单个位奇偶错误,保护违规,双位错误等等。当检测到故障时,该访问设备字段可以包括,关于该访问程序的信息,例如,处理ID,DMA设备或另一个总线主设备或其它识别符。
对于网络/LAN设备来说,当错误发生时,该具体故障信息表条目可以包括一个标识特定I/O端口的字段,以及一个指示检测到的故障的所在地址的字段,例如,特定端口或线。此外,可以提供说明检测到的错误或故障类型的字段,例如,没有载体,i/o处理器中的故障,来自不同网络协议的错误,链接错误等等。
可以预见到,具体故障信息表可以采用其它的形式,或者可以包括来自多种不同类型组件的信息。
图5图解的是根据本发明的一个示例性实施例的一个内存组件故障诊断和预报的示例流程。根据内存故障分析对该示例流程进行说明,但使用类似的流程可以对其它组件类型进行控制。该示例流程可以由诊断处理器、附属诊断处理器、两种处理器的组合、或其它系统元件来执行。可以预见到,该示例流程可以通过执行一系列存储在计算机可读介质上的指令来完成。该系列指令可以存储在CD-ROM、磁盘、磁带、作为微码或在固件当中、或者其它计算机可读介质中。
该示例流程的迭代从1002开始。该示例流程可以周期性的执行,例如,以常规时间间隔,或通过事件来触发,例如,在内存读或写期间发生一个故障相关中断时执行,或者在检测到一个奇偶错误时执行。可以预见到,执行的频率可以按照系统的状态函数进行改变,例如,当增加工作负载时降低频率,或在检测到更多故障时,提高频率。可以预见到,还可以对该示例流程进行设置,以便当特定的自纠正故障类型达到一个阈值时,触发该示例流程。
在1003中,可以读取来自具体故障信息表的故障数据,例如,由附属诊断处理器从内存或CPU芯片组故障寄存器中读取。可以预见到,取决于使用的特定硬件实施方式,还可以由诊断处理器直接从有故障的组件中读取故障数据。还可以间接地获取故障数据,而不是直接从组件获取故障数据,例如,通过日志操作系统错误消息或中断。可以预见到,通过时间或可能的源使不同的错误消息类型彼此相关可能是有益的。
在1004中,附属诊断处理器可以通过分析主策略(例如,由网络操作中心(NOC)来设定的一个)来确定是否该错误允许采用故障排除动作。故障信息可以是由附属诊断处理器预处理过的故障数据,或者例如按照日志文件形式直接记录的。故障信息可以包括发生故障的内存地址或页地址、时间、以及故障类型。故障类型信息可以包括故障的严重程度、故障是怎样检测到的、以及检测到的故障的特殊性质,例如,特定内存位置中的成功纠正的奇偶错误。
在1008中,确定设备的故障排除是否导致了应该发生的错误。例如,可以检查故障的数量和性质来预报组件故障发生的可能性。如果组件发生了比故障总数的预定数目更多的故障,或者在给定间隔内(象已经可以从1004中的主策略中读取的那样)发生了比预定故障数目更多的故障,那么就需要采取纠正动作,并且该示例流程继续到1012。否则,该流程继续到1010。可以预见到,可以对不同的故障类型使用不同的阈值,例如,纠正奇偶错误可以具备一个相对较高的阈值,而对于一个整体组件的所有硬件故障来说,可以在一检测到就对其进行处理。该阈值可以根据系统的状态,工作负荷等等进行改变。
在1010中,不进行故障排除,该示例流程的迭代可以结束。在1010仅代表迭代结束,而不代表整个流程的情况下,该示例流程可以进行迭代,周期性的进行检查。
在1012中,可以调用一个主动(pro-active)故障排除,并且当该操作完成时(判断块1013),控制转到块1014,来初始化内存诊断流程。例如,如果内存带有内建自检测(BIST)的能力,就可以触发执行一个BIST函数。还可以使用其它的测试或诊断流程,例如,可以触发由操作系统对内存进行的检查或擦除,或者可以使用象从检查点执行恢复块或重新执行处理这样的时间冗余技术。
在1015中,确定是否检测到了一个内存问题。如果没有检测到内存问题,控制转到块1016,并且将警告错误标志和数据发送到控制模块CMM。还要触发发送到中间设备应用程序的警告消息。控制转到判断块1017,来确定设备是否应当重载或重新启动(如块1018那样)。如果不这样,控制转到块1019,在此更换底板。
如果在判断块1015中检测到内存问题,那么控制转到块1020。在这种情况下,该示例流程已经识别到内存中的问题或潜在的故障,或者至少故障发生的更高的可能性。该示例流程可以初始化各种类型的纠正动作。例如,将一个关键错误告警发送到CMM和NOC来指示问题的实质。在1021中,该示例流程可以在初始化修复处理之后结束。
图6图解的是根据本发明的一个示例性实施例,对磁盘组件进行故障诊断和预报的示例流程。根据磁盘故障分析对该示例流程进行说明,但是可以预见到,其它组件类型可以具有类似的流程。该示例流程可以由诊断处理器、附属诊断处理器、两种处理器的组合、或其它系统元件来执行。可以预见到,该示例流程可以通过执行一系列存储在计算机可读介质上的指令来完成。该系列指令可以存储在CD-ROM、磁盘、磁带、作为微码或在固件当中、或者其它计算机可读介质中。
该示例流程的迭代从1102开始。该示例流程可以周期性的执行,例如,以常规时间间隔,或通过事件来触发,例如,当在磁盘读或写期间发生一个故障相关中断时执行。可以预见到,执行的频率可以按照系统的状态函数进行改变,例如,当增加工作负载时降低频率,或在检测到更多故障时,提高频率。
在1103中,可以读取来自磁盘的故障数据,例如,通过与磁盘控制器安置在相同板上的附属诊断处理器来读取。该数据可以从磁盘故障寄存器或其它形式的故障细节表中读取。可以预见到,取决于使用的特定硬件实施方式,可以通过诊断处理器直接从有故障的组件中读取故障数据,或者例如从操作系统间接地获取故障数据。
在1104中,附属诊断处理器用关于故障的信息对主设备故障表进行更新。故障信息可以是由附属诊断处理器预处理过的故障数据,或者是例如按照日志文件形式直接记录的原始故障数据。
在1106中,附属处理器可以对主设备表中的数据进行老化或过滤,例如,通过删除大于一定寿命的条目,破坏相关的故障,或其它形式的处理。
同样在1106中,该流程读取由网络控制中心(NOC)设定的主策略(如果有的话)来获取关于阈值和故障排除的策略。
在1108中,可以通过检查故障的数量和故障的性质来预报组件故障发生的可能性。如果组件发生了比故障总数的预定数目更多的故障,或者在给定间隔内发生了比预定故障数目更多的故障,那么就需要采取纠正动作,并且该示例流程可以继续到1112。否则,该流程可以继续到1110。特定的纠正动作可能取决于记录在故障信息表中的故障数目和类型。例如,局部化的故障可能仅导致将一定的磁盘扇区标注为坏的。跨及更宽范围的更多数量的故障可能指示整个磁盘驱动器的问题。
在1110中,没有预报磁盘驱动器故障,该示例流程的迭代可以结束。在1110仅代表迭代结束,而不代表整个流程的情况下,该示例流程可以进行迭代,周期性的进行检查。
在1112中,可以初始化磁盘驱动器诊断流程。例如,如果磁盘驱动器控制器具备BIST的能力,可以触发执行BIST函数。还可以初始化程序以扫描磁盘,或将磁盘的内容与作为镜像的第二磁盘进行比较。
在1114中,可以对诊断流程的结果进行评估。如果检测到了问题,或看起来可能的故障,该示例流程可以继续到1118。否则,该示例流程可以继续到1115。
在1115中,诊断流程没有检测到可能的故障。将警告标志和错误数据发送到控制板上的主故障信息表。警告或错误标志还可以发送到其它位置,例如,发送到操作系统或其它监视该系统的管理系统。该示例流程的迭代可以结束。在1110仅代表迭代结束,而不代表整个流程的情况下,该示例流程可以进行迭代,周期性的进行检查。可以预见到,还可以对故障信息进行更新,以至于如果特定磁盘驱动器继续导致了问题,即使没有预报或检测到故障,它也可以对服务或更换进行标记。
当已经到达1118时,该示例流程已经发现了磁盘驱动器中的潜在故障,或者至少确定了发生故障可能性的增加。可以用带有“严重”错误标志的故障信息对主故障信息表进行更新。该示例流程可以包括不同类型的纠正动作。例如,在1119中,可以向操作系统发送一个告警,来指示问题的性质。在1120中,可以对进行文件进行再分配以使其离开有故障的驱动或磁盘块处理进行初始化。可以将有故障的块标注为有缺陷来防止使用它。有故障的磁盘驱动器(或有故障的块)可以被无效。如果系统具备动态重新配置的能力或者被设置镜像,那么就可以用备用的来取代有故障的磁盘驱动器。可选择的,可以对操作系统进行配置以防止对特定磁盘驱动器或磁盘页面的访问。可以将文件从该驱动器中拷贝到其它的驱动器。也可以采取其它形式的纠正动作。例如,一个用户处理存在被坏磁盘块中的数据破坏的可能性,该处理就可能被中止和返回到检查点。
在1122中,在已经采取了纠正动作后,可以结束该示例流程。在1122仅代表迭代结束,而不代表整个流程的情况下,该示例流程可以进行迭代,周期性的进行检查。可以预见到,还可以对故障信息进行更新,以至于如果特定磁盘驱动器继续导致了问题,尽管仅在一定的段或轨道中检测到了故障,它也可以被标注并更换。
可选择示例实施例
在根据本发明的可选择示例实施例中,设备错误表条目702(图7)可以包括几个字段。
设备错误表条目702可以包括一个设备标识字段。
设备错误表条目702还可以包括一个漏桶(leaky bucket)故障计数器。该漏桶故障计数器可以配置成在预定时间间隔或窗(window)内对是否已经发生了太多的故障进行跟踪,导致需要对设备标识字段中识别的组件采取纠正动作。例如,每次检测到故障,该计数器会递增。该计数器可以被周期性地还原为错误信息。在一个实施例中,如果故障或错误频率降低了,可以增加用于错误计数的时间窗。此外,如果故障或错误的频率增加了,就减少用于错误计数的时间窗。如果该计数器超过了一个阈值,就可以得出已经出现了问题的结论,并且需要采取纠正动作。阈值和缩减速率可以调整为希望得到的故障检测执行特性。
该示例设备错误表条目702还可以包括一个日期一时间戳字段和一个指向具体错误信息的指针。指针字段可以指向关于最后检测到的故障类型的数据,或者指向可以采集到的对故障诊断和纠正动作有用的其它信息。
图8图解的是根据本发明可选示例实施例的内存组件故障诊断和预报的第二示例流程。根据内存故障分析对该示例流程进行说明,但其它组件类型可以具有类似的流程。该示例流程可以由诊断处理器、附属诊断处理器、两种处理器的组合、或其它系统元件来执行。可以预见到,该示例流程可以通过执行一系列存储在计算机可读介质上的指令来完成。该系列指令可以存储在CD-ROM、磁盘、磁带、作为微码或在固件当中、或者其它计算机可读介质中。
该示例流程的迭代从1302开始。该示例流程可以周期性的执行,例如,以常规时间间隔,或通过事件来触发,例如,在内存读或写期间发生一个故障相关中断时执行,或者在检测到一个奇偶错误的时候执行。可以预见到,执行的频率可以按照系统的状态函数进行改变,例如,当增加工作负载时降低频率,或在检测到更多故障时,提高频率。
在1304中,例如可以通过附属诊断处理器从组件中读取故障数据。可以预见到,取决于使用的特定硬件实施方式,还可以通过诊断处理器直接读取故障数据。可以采用任何的常规方式来读取故障数据,例如,通过读取组件故障寄存器来读取故障数据。
在1306中,可以对故障数据进行检查来确定是否发生了一个新故障。如果检测到发生了一个新故障,该示例流程可以继续到1308。注意,该新故障实际上可以被成功的纠正并由该组件进行标注,以至于除了包括在故障寄存器中的信息,该故障对于作为整体的系统来说可以是不可见的。如果没有发生新的故障,该示例流程可以继续到1318。
在1308中,用于该组件的漏桶故障计数器可以递增。用于该组件的故障信息表中的其它字段可以进行更新。
在1310中,如果对组件的漏桶故障计数器进行测试,以确定该计数器是否已经超过了预定阈值。如果该计数器已经超过了预定阈值,该示例流程可以采取纠正动作,继续到1312。如果没有超过该阈值,该示例流程可以继续到1318。
在1312中,可以对纠正动作进行初始化。例如可以将告警发送到操作系统。然后继续纠正动作。例如,可以使有故障的内存位置无效。
该示例流程在1316处结束。该流程可以为系统中的其它组件而继续,或当检测到其它故障时继续。
在1318中,还没有超过漏桶故障计数器的预定阈值。该系统可以等待,要么等待一个预定间隔,或者,如果该流程是由事件来驱动的,则等到有另一个故障发生。
在等待期间,在1320中,用于组件的故障数据可以被老化,例如,通过周期性的递减故障计数器。在发生了另一个故障之后,或者已经过了预定等待间隔之后,该流程可以继续到1304。
改进
在前述说明书中,已经通过参考其中的具体示例性实施例对本发明进行了详细说明。然而,在不背离下述权利要求中本发明的更宽的实质和范围的情况下,很明显能够在其上做出各种改进和变化。因此,说明书和附图仅被认为是说明性的而不是限定性的。

Claims (46)

1、一种系统,包括:
组件;
故障表,配置成接收与该组件相关的故障信息;以及
诊断处理器,配置成从故障表中读取故障信息,并且初始化纠正动作作为该故障信息的函数。
2、权利要求1的系统,其中该故障表包括在该诊断处理器中。
3、权利要求1的系统,其中该故障表包括在该诊断处理器之外。
4、权利要求1的系统,其中该故障表包括条目,所述条目包括能够指示该组件特性的字段。
5、权利要求1的系统,其中该故障表包括条目,所述条目包括时间值字段。
6、权利要求5的系统,其中该时间值字段用来指示在该组件中检测到故障的时间。
7、权利要求5的系统,其中该时间值字段用来指示从在该组件中检测到故障开始,已经过去的时间。
8、权利要求1的系统,其中该故障表包括一个条目,所述条目包括的信息用来指示在该组件中已经检测到的故障的性质。
9、权利要求1的系统,其中该故障表包括一个条目,所述条目包括一个漏桶(leaky bucket)故障计数器。
10、权利要求1的系统,其中该诊断处理器用来预报该组件的故障。
11、权利要求1的系统,其中该组件包括一个故障寄存器,并且该故障信息包括一个从该故障寄存器读取到的值。
12、权利要求1的系统,进一步包括:
与该诊断处理器通信的附属诊断处理器,该附属诊断处理器配置成从组件采集故障数据。
13、权利要求12的系统,其中该附属诊断处理器安置在该诊断处理器之外的分立电路板上。
14、权利要求12的系统,其中该附属诊断处理器配置成对该故障数据进行预处理,并将预处理过的故障数据传送到该诊断处理器。
15、权利要求14的系统,其中与该组件相关的该故障信息是由该附属诊断处理器从该组件采集到的故障数据的函数。
16、权利要求1的系统,进一步包括,与该诊断处理器通信的底盘管理处理器,该底盘(chassis)管理处理器配置成采集底盘故障数据。
17、权利要求16的系统,其中该底盘故障数据包括温度信息。
18、权利要求16的系统,其中该底盘故障数据包括冷却设备操作状态信息。
19、权利要求16的系统,其中该底盘故障数据包括电源操作状态信息。
20、权利要求1的系统,其中该纠正动作包括为该组件初始化一个诊断流程。
21、权利要求20的系统,其中该组件包括内建自测试(built-in self test),并且该诊断流程包括执行该内建自测试。
22、权利要求1的系统,其中该纠正动作包括使该组件无效。
23、权利要求1的系统,其中该纠正动作包括用备用组件来取代该组件。
24、权利要求1的系统,其中该纠正动作包括产生告警消息。
25、权利要求1的系统,其中该组件包括内存。
26、权利要求25的系统,其中该故障信息包括在该内存中发生奇偶错误的指示。
27、权利要求25的系统,其中该故障信息包括在预定时间间隔内对奇偶错误数目的计数。
28、权利要求1的系统,其中该组件包括磁盘驱动器控制器。
29、权利要求28的系统,其中该故障信息包括在I/O操作期间发生的对该组件进行重试的指示。
30、权利要求28的系统,其中该故障数据包括在预定时间间隔内对I/O错误数目的计数。
31、权利要求1的系统,其中该故障信息包括与该组件相关的看门狗定时器的值。
32、权利要求1的系统,其中该故障信息包括与该组件相关的漏桶故障计数器。
33、权利要求1的系统,其中该诊断处理器使用一种策略来预报该组件的故障。
34、权利要求1的系统,其中,基于是否在给定的时间窗内发生了比预定数目更多的故障,该诊断处理器来预报该组件的一个故障。
35、权利要求34的系统,其中,基于所述组件中的故障频率对该时间窗进行调整。
36、一种诊断处理器以及附属诊断处理器,包括:
故障信息表,配置成存储与系统组件相关的故障信息;以及
与该故障信息表通信的处理器,该处理器配置成对存储在该故障信息表中的故障信息进行分析。
37、权利要求36的处理器,其中该处理器配置成基于对存储在该故障信息表中的数据进行的分析来选择纠正动作。
38、一种用于处理系统中的故障的方法,包括:
接收与组件相关的故障信息;
将该故障信息存储到故障信息表中;以及
采取纠正动作,作为该故障信息和接收该故障信息时间的函数。
39、权利要求38的方法,进一步包括:
基于该故障信息表中的该故障信息,预报该组件发生故障的可能性。
40、权利要求39的方法,其中,还要基于一种策略来预报该组件故障的可能性。
41、权利要求39的方法,其中,基于在给定的时间窗内是否发生了多于预定数目的故障,来预报该组件发生故障的可能性。
42、权利要求41的方法,进一步包括,基于所述组件中的故障频率对该时间窗进行调整。
43、权利要求38的方法,进一步包括:
在该故障信息表中存储带有故障信息的时间值。
44、权利要求43的方法,进一步包括:
当与该故障信息相关的该时间值指示该故障信息比预定阈值更旧时,将该故障信息从该故障信息表中删除。
45、一种制造产品,包括计算机可读介质,该计算机可读介质带有存储在其上的适于处理器执行的指令,当执行时,该指令定义了一系列用于控制处理系统故障的方法的步骤,所述步骤包括:
接收与组件相关的故障信息;
将该故障信息存储到故障信息表中;以及
采取纠正动作,作为该故障信息和接收该故障信息时间的函数。
46、权利要求45的制造产品,其中所述步骤进一步包括:
基于该故障信息表中的该故障信息,预报该组件发生故障的可能性。
CNB2005100980941A 2004-07-06 2005-07-06 检测错误和预报潜在故障的系统以及方法 Expired - Fee Related CN100451977C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/887,368 US7409594B2 (en) 2004-07-06 2004-07-06 System and method to detect errors and predict potential failures
US10/887,368 2004-07-06

Publications (2)

Publication Number Publication Date
CN1734424A true CN1734424A (zh) 2006-02-15
CN100451977C CN100451977C (zh) 2009-01-14

Family

ID=35058403

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100980941A Expired - Fee Related CN100451977C (zh) 2004-07-06 2005-07-06 检测错误和预报潜在故障的系统以及方法

Country Status (5)

Country Link
US (2) US7409594B2 (zh)
EP (1) EP1779244A1 (zh)
CN (1) CN100451977C (zh)
TW (1) TWI317868B (zh)
WO (1) WO2006014400A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681909A (zh) * 2012-04-28 2012-09-19 浪潮电子信息产业股份有限公司 一种基于内存错误的服务器预警方法
CN103514068A (zh) * 2012-06-28 2014-01-15 北京百度网讯科技有限公司 内存故障自动定位方法
CN103617104A (zh) * 2013-12-01 2014-03-05 中国船舶重工集团公司第七一六研究所 一种基于ipmi的冗余计算机系统节点故障主被动检测方法
CN102171662B (zh) * 2008-10-02 2014-07-30 国际商业机器公司 用于管理替换单元的测试的、具有可替换单元的计算机化存储系统
CN105083295A (zh) * 2014-05-08 2015-11-25 现代自动车株式会社 用于诊断智能传感器或智能致动器的故障的系统和方法
CN105527564A (zh) * 2015-12-25 2016-04-27 中国南方电网有限责任公司电网技术研究中心 Fpga内部功能自诊断方法与系统
CN106231298A (zh) * 2016-10-09 2016-12-14 大道网络(上海)股份有限公司 大屏幕远程智能监控方法、装置及系统
CN107357671A (zh) * 2014-06-24 2017-11-17 华为技术有限公司 一种故障处理方法、相关装置及计算机
CN107921966A (zh) * 2015-08-06 2018-04-17 大陆汽车有限公司 用于运行控制装置的方法以及诊断系统
CN108700853A (zh) * 2016-01-19 2018-10-23 霍尼韦尔国际公司 根据控制器配置详情来自动推断装备详情的系统
CN110878692A (zh) * 2018-09-05 2020-03-13 北京国双科技有限公司 故障报警方法及装置
CN113132169A (zh) * 2018-03-23 2021-07-16 瞻博网络公司 用于将分组处理组件重置为操作状态的方法
WO2023206346A1 (en) * 2022-04-29 2023-11-02 Nvidia Corporation Detecting hardware faults in data processing pipelines
CN113132169B (zh) * 2018-03-23 2024-04-19 瞻博网络公司 用于将分组处理组件重置为操作状态的方法

Families Citing this family (107)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844866B2 (en) * 2007-10-02 2010-11-30 International Business Machines Corporation Mechanism to report operating system events on an intelligent platform management interface compliant server
JP4125274B2 (ja) * 2004-08-26 2008-07-30 キヤノン株式会社 画像入出力装置および情報処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
US20080256397A1 (en) * 2004-09-22 2008-10-16 Xyratex Technology Limited System and Method for Network Performance Monitoring and Predictive Failure Analysis
US7392433B2 (en) * 2005-01-25 2008-06-24 International Business Machines Corporation Method and system for deciding when to checkpoint an application based on risk analysis
US7472315B2 (en) * 2005-02-09 2008-12-30 International Business Machines Corporation Method of seamlessly integrating thermal event information data with performance monitor data
US7369954B2 (en) * 2005-03-17 2008-05-06 International Business Machines Corporation Event tracing with time stamp compression and history buffer based compression
US20060212243A1 (en) * 2005-03-17 2006-09-21 Levine Frank E Event tracing using hash tables with support for dynamic address to name resolution
US7496902B2 (en) * 2005-03-17 2009-02-24 International Business Machines Corporation Data and instruction address compression
US7346476B2 (en) * 2005-03-17 2008-03-18 International Business Machines Corporation Event tracing with time stamp compression
US7533303B2 (en) * 2005-04-15 2009-05-12 Hewlett-Packard Development Company, L.P. Method and system for performing system-level correction of memory errors
US20060248236A1 (en) * 2005-04-28 2006-11-02 Agere Systems Inc. Method and apparatus for time correlating defects found on hard disks
US7743286B2 (en) * 2005-05-17 2010-06-22 International Business Machines Corporation Method, system and program product for analyzing demographical factors of a computer system to address error conditions
US7702966B2 (en) * 2005-09-07 2010-04-20 Intel Corporation Method and apparatus for managing software errors in a computer system
US7823029B2 (en) * 2005-09-07 2010-10-26 International Business Machines Corporation Failure recognition, notification, and prevention for learning and self-healing capabilities in a monitored system
US7526677B2 (en) * 2005-10-31 2009-04-28 Microsoft Corporation Fragility handling
US20070180329A1 (en) * 2006-01-31 2007-08-02 Lanus Mark S Method of latent fault checking a management network
US7672247B2 (en) * 2006-02-23 2010-03-02 International Business Machines Corporation Evaluating data processing system health using an I/O device
US8041468B2 (en) * 2006-03-16 2011-10-18 Dell Products L.P. Method for dynamically cooling when detecting RAID controller with battery present in computer system
DE502007004858D1 (de) * 2006-03-23 2010-10-07 Fujitsu Technology Solutions I Verfahren und managementsystem zum konfigurieren eines informationssystems
US7752468B2 (en) * 2006-06-06 2010-07-06 Intel Corporation Predict computing platform memory power utilization
US7620855B2 (en) * 2006-06-30 2009-11-17 Seagate Technology Llc Self-defining counters
US7669087B1 (en) * 2006-07-31 2010-02-23 Sun Microsystems, Inc. Method and apparatus for managing workload across multiple resources
US7676702B2 (en) * 2006-08-14 2010-03-09 International Business Machines Corporation Preemptive data protection for copy services in storage systems and applications
US7571349B2 (en) * 2006-08-18 2009-08-04 Microsoft Corporation Configuration replication for system recovery and migration
DE102006051444C5 (de) * 2006-10-31 2011-12-08 Softing Ag Diagnoseverfahren und -vorrichtung für ein Feldbussystem
US7596714B2 (en) * 2006-11-20 2009-09-29 Intel Corporation Methods and apparatus to manage throttling in computing environments
JP4982196B2 (ja) * 2007-01-29 2012-07-25 株式会社リコー 交換部品発注処理装置、交換部品発注処理方法及び交換部品発注処理プログラム
US7912669B2 (en) * 2007-03-27 2011-03-22 Honeywell International Inc. Prognosis of faults in electronic circuits
US7882393B2 (en) 2007-03-28 2011-02-01 International Business Machines Corporation In-band problem log data collection between a host system and a storage system
JP4990018B2 (ja) * 2007-04-25 2012-08-01 株式会社日立製作所 装置性能管理方法、装置性能管理システム、および管理プログラム
US7779308B2 (en) * 2007-06-21 2010-08-17 International Business Machines Corporation Error processing across multiple initiator network
DE102007033346A1 (de) * 2007-07-16 2009-05-20 Certon Systems Gmbh Verfahren und Vorrichtung zur Administration von Computern
WO2009016187A2 (en) * 2007-07-30 2009-02-05 Texas Instruments Deutschland Gmbh Watchdog mechanism with fault recovery
US20090099696A1 (en) * 2007-10-16 2009-04-16 Dell Products, Lp System and method of reporting and managing real-time airflow within an information handling system
US9225684B2 (en) 2007-10-29 2015-12-29 Microsoft Technology Licensing, Llc Controlling network access
DE102007062974B4 (de) 2007-12-21 2010-04-08 Phoenix Contact Gmbh & Co. Kg Signalverarbeitungsvorrichtung
US8181094B2 (en) * 2008-01-31 2012-05-15 International Business Machines Corporation System to improve error correction using variable latency and associated methods
US8185800B2 (en) * 2008-01-31 2012-05-22 International Business Machines Corporation System for error control coding for memories of different types and associated methods
US8185801B2 (en) * 2008-01-31 2012-05-22 International Business Machines Corporation System to improve error code decoding using historical information and associated methods
US8032795B2 (en) * 2008-02-12 2011-10-04 International Business Machines Corporation Method, system and computer program product for diagnosing communications
US8195986B2 (en) * 2008-02-25 2012-06-05 International Business Machines Corporation Method, system and computer program product for processing error information in a system
US8205122B1 (en) * 2008-03-14 2012-06-19 United Services Automobile Association (Usaa) Systems and methods for monitoring and acting on logged system messages
JP4648961B2 (ja) * 2008-03-25 2011-03-09 富士通株式会社 装置メンテナンスシステム、方法および情報処理装置
DE102008040461A1 (de) * 2008-07-16 2010-01-21 Robert Bosch Gmbh Verfahren zum Bestimmen fehlerhafter Komponenten in einem System
US7949900B2 (en) * 2008-09-19 2011-05-24 International Business Machines Corporation Autonomously configuring information systems to support mission objectives
JP5509568B2 (ja) * 2008-10-03 2014-06-04 富士通株式会社 コンピュータ装置、プロセッサ診断方法、及びプロセッサ診断制御プログラム
US8037364B2 (en) * 2009-01-09 2011-10-11 International Business Machines Corporation Forced management module failover by BMC impeachment consensus
US8276020B2 (en) 2009-03-18 2012-09-25 Sas Institute Inc. Systems and methods for automated determination of error handling
US20100262431A1 (en) * 2009-04-10 2010-10-14 Gilbert Harry M Support for Preemptive Symptoms
US8108720B2 (en) * 2009-09-28 2012-01-31 At&T Intellectual Property I, L.P. Methods, systems and products for detecting failing power supplies
US7996729B2 (en) * 2009-09-30 2011-08-09 Xerox Corporation Method and system for maintenance of network rendering devices
DE102010021825A1 (de) * 2010-05-28 2011-12-01 Christmann Informationstechnik + Medien Gmbh & Co. Kg Mehrprozessor-Computersystem
KR101377461B1 (ko) * 2010-09-17 2014-07-08 한국전자통신연구원 이종장치 및 시스템에 대한 원격 유지보수 및 모니터링 서비스 프레임워크
US8984518B2 (en) * 2010-10-14 2015-03-17 Electronics And Telecommunications Research Institute Apparatus and method for executing components based on thread pool
US8769360B2 (en) * 2010-10-14 2014-07-01 International Business Machines Corporation Dynamic detection and identification of the functional state of multi-processor cores
WO2012114215A1 (en) 2011-02-24 2012-08-30 International Business Machines Corporation Network event management
US8615724B2 (en) * 2011-12-29 2013-12-24 Flextronics Ap Llc Circuit assembly yield prediction with respect to form factor
US9232630B1 (en) 2012-05-18 2016-01-05 Flextronics Ap, Llc Method of making an inlay PCB with embedded coin
DE102012010143B3 (de) 2012-05-24 2013-11-14 Phoenix Contact Gmbh & Co. Kg Analogsignal-Eingangsschaltung mit einer Anzahl von Analogsignal-Erfassungskanälen
US8761949B2 (en) * 2012-05-31 2014-06-24 Sharp Laboratories Of America, Inc. Method and system for mitigating impact of malfunction in actual load determination on peak load management
US8990646B2 (en) * 2012-05-31 2015-03-24 Hewlett-Packard Development Company, L.P. Memory error test routine
JP6041546B2 (ja) * 2012-06-08 2016-12-07 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US9207671B2 (en) * 2012-10-12 2015-12-08 Rockwell Automation Technologies, Inc. Error diagnostics and prognostics in motor drives
WO2014083780A1 (ja) * 2012-11-29 2014-06-05 パナソニック株式会社 通信装置、通信装置を有するルータ、バスシステム、およびバスシステムを有する半導体回路の回路基板
CN103034203A (zh) * 2012-12-12 2013-04-10 常州大学 一种消除串联太阳能电池热岛效应的柔性智能控制器
US9747116B2 (en) 2013-03-28 2017-08-29 Hewlett Packard Enterprise Development Lp Identifying memory of a blade device for use by an operating system of a partition including the blade device
EP2979170B1 (en) 2013-03-28 2020-07-08 Hewlett-Packard Enterprise Development LP Making memory of compute and expansion blade devices available for use by an operating system
US10289467B2 (en) 2013-03-28 2019-05-14 Hewlett Packard Enterprise Development Lp Error coordination message for a blade device having a logical processor in another system firmware domain
JP6099478B2 (ja) * 2013-05-13 2017-03-22 三菱電機株式会社 状態監視装置
US9565748B2 (en) 2013-10-28 2017-02-07 Flextronics Ap, Llc Nano-copper solder for filling thermal vias
KR101944873B1 (ko) 2013-12-24 2019-04-17 후아웨이 디바이스 컴퍼니 리미티드 지능형 단말기의 하드웨어가 비정상적으로 작동하는지 여부를 검사하는 방법 및 지능형 단말기
EP3091888B1 (en) * 2014-01-10 2021-10-06 Diversey, Inc. Cleaning apparatus data management system and method
JP6290934B2 (ja) * 2014-01-24 2018-03-07 株式会社日立製作所 プログラマブルデバイス、エラー保持システム、及び電子システム装置
US9934080B2 (en) * 2014-02-03 2018-04-03 Dell Products L.P. Systems and methods for reporting air mover events to an operating system during operating system runtime
WO2015156812A1 (en) * 2014-04-10 2015-10-15 Hewlett-Packard Development Company, L.P. Connection classification
CN103955158B (zh) * 2014-04-15 2016-08-17 中国石油集团东方地球物理勘探有限责任公司 一种远程遥测终端控制器及系统启动方法
CN104008035A (zh) * 2014-06-10 2014-08-27 浪潮电子信息产业股份有限公司 一种实现硬盘背板状态远程监测方法
US9697094B2 (en) * 2015-02-06 2017-07-04 Intel Corporation Dynamically changing lockstep configuration
CN104778104B (zh) * 2015-04-20 2018-12-04 北京全路通信信号研究设计院集团有限公司 一种串行数据通信总线的检错方法和串行数据通信总线
CN106452807B (zh) * 2015-08-04 2020-12-29 深圳市中兴微电子技术有限公司 一种网络处理器及报文处理数据的获取方法
US10489232B1 (en) * 2015-09-29 2019-11-26 Amazon Technologies, Inc. Data center diagnostic information
CN105426288A (zh) * 2015-11-10 2016-03-23 浪潮电子信息产业股份有限公司 一种内存告警的优化方法
US9882629B2 (en) * 2015-11-20 2018-01-30 At&T Mobility Ii Llc Facilitation of dual mode wireless device transmissions
WO2017131636A1 (en) * 2016-01-26 2017-08-03 Hewlett Packard Enterprise Development Lp Utilizing non-volatile phase change memory in offline status and error debugging methodologies
US10489229B2 (en) * 2016-02-29 2019-11-26 International Business Machines Corporation Analyzing computing system logs to predict events with the computing system
TWI588767B (zh) * 2016-03-23 2017-06-21 財團法人工業技術研究院 設備的異常評估方法與異常評估裝置
WO2017172099A1 (en) * 2016-03-31 2017-10-05 Intel Corporation Method, system, and apparatus for an improved memory error prediction scheme
US11604690B2 (en) * 2016-07-24 2023-03-14 Pure Storage, Inc. Online failure span determination
KR102094185B1 (ko) * 2016-11-23 2020-03-27 키네스트랄 테크놀로지스, 인크. 스마트 드라이버
US20180145497A1 (en) * 2016-11-23 2018-05-24 Schneider Electric USA, Inc. Method to utilize multiple configuration software for df/cafi breakers
DE102016225081A1 (de) * 2016-12-15 2018-06-21 Robert Bosch Gmbh Vorrichtung und Verfahren zum Bestimmen der Pinpoint-Fähigkeit möglicher Fehler einer oder mehrerer Komponenten
CN106681886A (zh) * 2016-12-26 2017-05-17 郑州云海信息技术有限公司 一种判定服务器风扇损坏的方法及系统
US10838470B1 (en) * 2017-02-17 2020-11-17 American Megatrends International, Llc Monitoring temperature inside computer chassis
JP6857068B2 (ja) * 2017-03-31 2021-04-14 アズビル株式会社 時系列データ記録方法および装置
CN107179959A (zh) * 2017-05-19 2017-09-19 郑州云海信息技术有限公司 一种预测计算机运行故障的方法、装置和一种存储介质
CN107770100B (zh) * 2017-10-16 2019-12-20 中国运载火箭技术研究院 一种测发控冗余网络架构及冗余方法
JP7069936B2 (ja) * 2018-03-27 2022-05-18 富士通株式会社 送受信システム、データ受信装置、およびデータ受信方法
US10962968B2 (en) 2018-04-12 2021-03-30 Saudi Arabian Oil Company Predicting failures in electrical submersible pumps using pattern recognition
CN108920102A (zh) * 2018-06-28 2018-11-30 郑州云海信息技术有限公司 一种非易失性内存的预警方法及相关装置
KR20200015999A (ko) * 2018-08-06 2020-02-14 에스케이하이닉스 주식회사 예측 오류 정정 장치, 이의 동작 방법 및 이를 이용하는 메모리 시스템
US10983885B2 (en) 2018-11-29 2021-04-20 International Business Machines Corporation Recovering storage devices in a storage array having errors
CN109934130A (zh) * 2019-02-28 2019-06-25 中国空间技术研究院 基于深度学习的卫星故障在轨实时故障诊断方法及系统
US11593209B2 (en) 2020-04-01 2023-02-28 Microsoft Technology Licensing, Llc Targeted repair of hardware components in a computing device
WO2022268909A1 (en) * 2021-06-24 2022-12-29 Softiron Limited Automated media maintenance
US20220413950A1 (en) * 2021-06-24 2022-12-29 Softiron Limited Automated Media Maintenance
US20230108213A1 (en) * 2021-10-05 2023-04-06 Softiron Limited Ceph Failure and Verification
US11815997B2 (en) 2021-11-10 2023-11-14 Samsung Electronics Co., Ltd. Memory controllers, memory systems, and memory modules

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4866712A (en) * 1988-02-19 1989-09-12 Bell Communications Research, Inc. Methods and apparatus for fault recovery
JP2804125B2 (ja) 1989-11-08 1998-09-24 株式会社日立製作所 情報処理システムの障害監視装置と制御方法
JP2985505B2 (ja) * 1991-07-08 1999-12-06 株式会社日立製作所 品質情報収集診断システム及びその方法
US5293323A (en) 1991-10-24 1994-03-08 General Electric Company Method for fault diagnosis by assessment of confidence measure
US5500940A (en) * 1994-04-25 1996-03-19 Hewlett-Packard Company Method for evaluating failure in an electronic data storage system and preemptive notification thereof, and system with component failure evaluation
SE511614C2 (sv) 1996-10-22 1999-10-25 Ericsson Telefon Ab L M Sätt att mäta QOS
EP1142279B1 (de) * 1998-12-21 2004-09-22 Siemens Aktiengesellschaft Verfahren zum erfassen von in wenigstens einer elektrischen einheit, insbesondere einer vermittlungstechnischen einrichtung, auftretenden fehlern
US6947797B2 (en) * 1999-04-02 2005-09-20 General Electric Company Method and system for diagnosing machine malfunctions
US6643801B1 (en) * 1999-10-28 2003-11-04 General Electric Company Method and system for estimating time of occurrence of machine-disabling failures
US6324659B1 (en) * 1999-10-28 2001-11-27 General Electric Company Method and system for identifying critical faults in machines
US6625749B1 (en) * 1999-12-21 2003-09-23 Intel Corporation Firmware mechanism for correcting soft errors
US6665820B1 (en) * 1999-12-22 2003-12-16 Ge Medical Technology Services, Inc. Method and system for communications connectivity failure diagnosis
US6651190B1 (en) 2000-03-14 2003-11-18 A. Worley Independent remote computer maintenance device
US6981182B2 (en) * 2002-05-03 2005-12-27 General Electric Company Method and system for analyzing fault and quantized operational data for automated diagnostics of locomotives
CN100410891C (zh) * 2002-12-09 2008-08-13 联想(北京)有限公司 计算机应用软件自纠错自重起方法

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102171662B (zh) * 2008-10-02 2014-07-30 国际商业机器公司 用于管理替换单元的测试的、具有可替换单元的计算机化存储系统
CN102681909A (zh) * 2012-04-28 2012-09-19 浪潮电子信息产业股份有限公司 一种基于内存错误的服务器预警方法
CN102681909B (zh) * 2012-04-28 2016-07-27 浪潮电子信息产业股份有限公司 一种基于内存错误的服务器预警方法
CN103514068A (zh) * 2012-06-28 2014-01-15 北京百度网讯科技有限公司 内存故障自动定位方法
CN103617104A (zh) * 2013-12-01 2014-03-05 中国船舶重工集团公司第七一六研究所 一种基于ipmi的冗余计算机系统节点故障主被动检测方法
CN103617104B (zh) * 2013-12-01 2017-01-04 中国船舶重工集团公司第七一六研究所 一种基于ipmi的冗余计算机系统节点故障主被动检测方法
CN105083295A (zh) * 2014-05-08 2015-11-25 现代自动车株式会社 用于诊断智能传感器或智能致动器的故障的系统和方法
US11360842B2 (en) 2014-06-24 2022-06-14 Huawei Technologies Co., Ltd. Fault processing method, related apparatus, and computer
CN107357671A (zh) * 2014-06-24 2017-11-17 华为技术有限公司 一种故障处理方法、相关装置及计算机
CN107921966B (zh) * 2015-08-06 2021-03-09 大陆汽车有限公司 用于运行控制装置的方法以及诊断系统
CN107921966A (zh) * 2015-08-06 2018-04-17 大陆汽车有限公司 用于运行控制装置的方法以及诊断系统
CN105527564A (zh) * 2015-12-25 2016-04-27 中国南方电网有限责任公司电网技术研究中心 Fpga内部功能自诊断方法与系统
CN108700853A (zh) * 2016-01-19 2018-10-23 霍尼韦尔国际公司 根据控制器配置详情来自动推断装备详情的系统
CN108700853B (zh) * 2016-01-19 2022-02-08 霍尼韦尔国际公司 根据控制器配置详情来自动推断装备详情的系统
CN106231298A (zh) * 2016-10-09 2016-12-14 大道网络(上海)股份有限公司 大屏幕远程智能监控方法、装置及系统
CN113132169A (zh) * 2018-03-23 2021-07-16 瞻博网络公司 用于将分组处理组件重置为操作状态的方法
CN113132169B (zh) * 2018-03-23 2024-04-19 瞻博网络公司 用于将分组处理组件重置为操作状态的方法
CN110878692A (zh) * 2018-09-05 2020-03-13 北京国双科技有限公司 故障报警方法及装置
CN110878692B (zh) * 2018-09-05 2023-10-27 北京国双科技有限公司 故障报警方法及装置
WO2023206346A1 (en) * 2022-04-29 2023-11-02 Nvidia Corporation Detecting hardware faults in data processing pipelines

Also Published As

Publication number Publication date
US7774651B2 (en) 2010-08-10
TWI317868B (en) 2009-12-01
US20080104453A1 (en) 2008-05-01
US20060010352A1 (en) 2006-01-12
CN100451977C (zh) 2009-01-14
EP1779244A1 (en) 2007-05-02
WO2006014400A1 (en) 2006-02-09
TW200608188A (en) 2006-03-01
US7409594B2 (en) 2008-08-05

Similar Documents

Publication Publication Date Title
CN1734424A (zh) 检测错误和预报潜在故障的系统以及方法
US10761926B2 (en) Server hardware fault analysis and recovery
US9274902B1 (en) Distributed computing fault management
US7313717B2 (en) Error management
CN101126995B (zh) 处理严重硬件错误的方法及设备
US8713350B2 (en) Handling errors in a data processing system
Di Martino et al. Lessons learned from the analysis of system failures at petascale: The case of blue waters
US8839032B2 (en) Managing errors in a data processing system
Tang et al. Assessment of the effect of memory page retirement on system RAS against hardware faults
US20040221198A1 (en) Automatic error diagnosis
KR100530710B1 (ko) 이종 분할 시스템에서의 글로벌 에러 보고 방법 및 장치
CN1702625A (zh) 保存跟踪数据的方法和装置
Di et al. Exploring properties and correlations of fatal events in a large-scale hpc system
CN1744049A (zh) 用于调试输入/输出故障的方法和系统
Lee et al. Measurement-based evaluation of operating system fault tolerance
CN110781053A (zh) 一种检测内存降级错误的方法和装置
US7457990B2 (en) Information processing apparatus and information processing recovery method
EP4078372A1 (en) Node health prediction based on failure issues experienced prior to deployment in a cloud computing system
Taherin et al. Examining failures and repairs on supercomputers with multi-GPU compute nodes
KR100862407B1 (ko) 에러를 검출하고 잠재적 고장을 예상하는 시스템 및 방법
US20080168313A1 (en) Memory error monitor
JP5696492B2 (ja) 故障検出装置、故障検出方法、及び、故障検出プログラム
Lundin et al. Significant advances in Cray system architecture for diagnostics, availability, resiliency and health
US11714701B2 (en) Troubleshooting for a distributed storage system by cluster wide correlation analysis
Taherin et al. Examining Failures and Repairs on Supercomputerswith Multi-GPU Compute Nodes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090114

Termination date: 20140706

EXPY Termination of patent right or utility model