CN101126995B - 处理严重硬件错误的方法及设备 - Google Patents
处理严重硬件错误的方法及设备 Download PDFInfo
- Publication number
- CN101126995B CN101126995B CN200710112147XA CN200710112147A CN101126995B CN 101126995 B CN101126995 B CN 101126995B CN 200710112147X A CN200710112147X A CN 200710112147XA CN 200710112147 A CN200710112147 A CN 200710112147A CN 101126995 B CN101126995 B CN 101126995B
- Authority
- CN
- China
- Prior art keywords
- bus
- chipset
- chip
- serious
- error
- 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.)
- Expired - Fee Related
Links
Images
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/0766—Error or fault reporting or storing
- G06F11/0787—Storage of error reports, e.g. persistent data storage, storage using memory protection
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Hardware Redundancy (AREA)
Abstract
揭示了用于处理计算机上的严重计算机硬件错误的方法及设备,其包括当严重硬件错误的出现时,暂停计算机的数据处理操作;由芯片组的源芯片通知可编程逻辑设备严重硬件错误的出现;由可编程逻辑设备通知嵌入式系统微控制器严重硬件错误的出现;由嵌入式系统微控制器通过至少一个边带总线,从芯片组的芯片中的寄存器读取有关严重硬件错误的原因的信息;以及由嵌入式系统微控制器将信息存储在嵌入式系统微控制器的非易失随机访问存储器中。
Description
技术领域
本发明的技术领域是数据处理,更具体地说是用于处理严重计算机硬件错误的方法、系统和产品。
背景技术
1948年的EDVAC计算机系统的出现常常被称为计算机时代的开始。自那时以来,计算机系统已发展成了极复杂的设备。今天的计算机比诸如EDVAC的早期系统更加复杂。计算机系统通常包括硬件和软件部件、应用程序、操作系统、处理器、总线、存储器、输入/输出设备等的组合。随着半导体工艺和计算机体系结构的进步推动计算机性能越来越高,已演变出更复杂的计算机软件以利用硬件的更高性能,这导致了当前的计算机系统比仅仅几年前的更强。
已有较大进步的计算机技术的一个领域是处理严重的计算机硬件错误。硬件错误是与计算机系统中硬件部件的故障有关的行为。硬件部件,通常是芯片组(chipset)中的芯片,包含可以检测硬件错误状态何时存在的错误检测机制。
芯片组是一组集成电路(芯片),其被设计成能一起工作,通常作为单个产品上市。芯片组的厂商可以是,并且通常是与母板的厂商无关的。母板芯片组的例子包括NVIDIA的nForce芯片组和VIA技术的KT800,二者都用于AMD处理器,或Intel的若干芯片组之一。当讨论基于现代Intel Pentium级系统的个人计算机时,术语″芯片组″通常是指两个主总线适配器,即北桥和南桥。通常在计算机技术中,术语″芯片组″常常用来指计算机或扩展卡上的专用母板芯片。术语″芯片组″在八十年代和九十年代还被广泛地用于家用计算机中的定制音频和图形芯片,当今的游戏控制台和街机游戏硬件。例子包括CommodoreAmiga的Original芯片组或SEGA的System16芯片组。在本文中,术语″芯片组″用来指计算机的主要集成电路部件,包括处理器、存储器模块和总线适配器。
自80年代后期以来所生产的计算机系统通常共享通常所使用的芯片组,甚至在非常不同的计算专业(specialty)之间共享-例如NCR53C9x,实现到存储设备等的SCSI接口的廉价芯片组等等不仅可在UNIX机器(例如MIPS Magnum)中发现,而且还可在嵌入式设备和个人计算机中发现。
现代服务器对专用芯片组的依赖程度与对专用处理器和母板的依赖程度是一样的。芯片组往往意味着母板;因此,具有相同芯片组的任何两个服务器板通常都是功能相同的,除非厂商给由芯片组所提供的那些特性增加特性或移除对某些芯片组特性的支持。例如,厂商可能增加额外芯片来支持附加特性,例如第二个10Mbps以太网、100Mbps高速以太网或1000Mbps千兆比特以太网端口。
芯片组通常包括经常被称为″前端总线″的处理器总线适配器、存储器控制器、I/O控制器、存储器模块等。存储器控制器可被集成到总线适配器中。例如,用于服务器和工作站的AMD Opteron处理器内置有存储器控制器;因此,支持Opteron处理器的芯片组(或将存储器控制器集成到总线适配器的其它芯片组)通常不包括单独的存储器控制器芯片。
在典型服务器中,母板上所有主集成电路都被包括在芯片组内。在典型计算机中,芯片组的芯片实现处理器和所有其它部件之间的连接。大多数情况下,在不通过芯片组的其它芯片的情况下,处理器不能与存储器模块、适配器板、外部设备等通信。
虽然服务器芯片组被设计成执行与台式机芯片组相同类型的任务,但是就像典型台式机芯片组一样,包含在典型服务器芯片组中的特性组强调稳定性,而不是性能。诸如对纠错码(″ECC″)存储器的支持、存储器的高级纠错、系统管理和消除超频选项的服务器特定芯片组特性表明了对稳定性的强调。
硬件错误通常涉及到的计算机部件包括固件或操作系统中的中断处理程序模块。固件是存储在非易失存储器中的计算机系统级软件模块,以便当第一次对计算机加电时,在操作系统被引导之前,可用于迅速运行。固件提供引导程序、硬件错误处理程序以及某些低级I/O程序。固件的非常常见的例子是所谓的基本输入输出系统(″BIOS″)。在用于处理计算机硬件错误的常规体系结构中,在检测到芯片操作中的错误时,芯片通过在硬连接的中断信号线上向可编程中断控制器发出中断来通知出错。然后可编程中断控制器向处理器发中断信号,处理器将中断引导到BIOS或操作系统中的中断处理程序(调用″中断处理程序″)。
作为硬件错误的结果而发出的中断可通过硬件自身,通过BIOS或操作系统错误处理程序,或通过作为异常处理程序向操作系统登记的用户级应用程序来校正。硬件错误可被分类为可校错误或不可校错误。可校错误是已被计算机硬件或计算机固件在操作系统被通知错误状态存在时进行校正的硬件错误状态。不可校错误是不能被硬件或被固件校正的硬件错误状态。不可校错误或是严重的,或是不严重的。严重的硬件错误是被确定为不可由硬件校正的不可校的或不可控制的错误状态。当严重不可校错误发生时,系统被暂停以防止错误的传播。非严重的硬件错误是操作系统通过设法校正错误可以试图从其恢复的不可校错误状态。可以是严重的硬件错误的例子包括被零除错误、边界检查错误、无效操作码错误、存储器段溢出错误、无效任务状态错误、堆栈错误,以及其它为本领域的技术人员所知的错误。
区分硬件错误报告的源和硬件错误的原因是有用的。硬件错误源是提醒操作系统错误状态的存在的任何芯片。硬件错误源的例子包括:
●处理器机器校验异常(例如MC#)
●芯片组错误消息信号(例如SCI、SMI SERR#、MCERR#)
●I/O总线错误报告(例如PCI EXPRESS根端口错误中断)
●I/O设备错误
单个硬件错误源可能处理不止一个类型的硬件错误状态的合计错误报告。例如,处理器的机器校验异常通常报告处理器错误、高速缓存和存储器错误,以及系统总线错误。注意到,系统管理中断(′SMI′)通常由固件处理;操作系统通常不处理SMI。
硬件错误源通常由下列表示:
●一个或多个硬件错误状态寄存器。
●一个或多个硬件错误配置或控制寄存器。
●提醒操作系统硬件错误状态的存在的通知机制。
在某些情况下,没有显式的通知机制,并且操作系统必须轮询错误状态寄存器以测试错误状态。然而,由于不可校错误需要操作系统的立即注意,所以轮询只能用于可校错误状态。
通常,中断通过边带(sideband)信号被提供给处理器,边带信号不会混入用于系统中的数据移动和指令获取的带内总线中。′带内(in-band)总线′是携带用于执行计算机上基本数据处理的计算机程序指令和数据的总线-和′边带总线′不同,其仅携带用于在计算机的外围服务部件与芯片组的处理器、存储器及其他芯片之间的服务通信的指令和数据。这个方面的更新变化是低优先级中断被作为消息中断处理,而诸如SMI和NMI的很高优先级中断仍然被作为直接连线到处理器的边带信号处理。同样地,无需将数据完整性公开给系统,最高优先级中断(其包括′不可校错误′)被保证由处理器立即处理。
近来,许多计算机系统已经开始将消息中断使用于这些高优先级中断,其与系统的数据和指令总线被混入带内总线。该方法具有某些优点,但是由于高优先级中断到达系统需要花费的时间量,以及在排队的消息中断设法到达服务的处理器的同时潜在破坏的数据正流过系统的事实,它打开了数据完整性孔。
处理在带内总线上使用消息中断的系统中的严重计算机硬件错误的一个常规方法是允许某些不可校正的I/O错误,例如PCI SERR、PERR和目标中止由SMI或NMI处理程序形式的系统软件来处理。因为通过引起NMI或机器校验而立即暂停系统,所以其它不可校正的错误导致操作系统′蓝屏′。在此类系统中,为了故障分析,机器通常被保留在故障状态中,即冻结在蓝屏状态,直到计算机被手工重新启动。
处理使用超级传送(HyperTransport)带内总线的计算机中的严重计算机硬件错误的另一个常规方式是设计一个系统,使得该系统对于某些或全部不可校正的错误进入超级传送同步包洪水(sync flood)。此类系统试图在寄存器中使用所谓的′粘附位(stocky bit)′,其被用于不可校正的错误的识别。此类系统在检测到超级传送同步包洪水时重新启动系统,并且重新启动之后,取决于能够成功运行的BIOS,系统读取粘附位并且诊断问题。此类系统可能需要额外的重新启动,使得它们可以根据从粘附位所获悉的来采取行动,从而为了故障之后的可靠操作来配置系统。
这两个常规解决方案都要求系统处理器能够在重新启动系统前后在文件系统上运行。然而,对于严重硬件错误总存在系统在出现故障之后根本不会重新启动的风险。此外,有关超级传送总线的第二个解决方案经常要求在故障之后不止一次地重新启动系统。这对于经常将此类额外重新启动解释为故障之后系统′击溃′自身的用户来说是非常困惑的。此外,诸如多位存储器错误、超级传送总线的链接错误、PCI错误等的某些错误可以是如此严重,以致导致固件或操作系统中断处理程序根本不能运行。这就意味着严重的硬件错误不能以详细的、有意义的方式得到记录和诊断。所有已知的是系统崩溃。因此,通过固件或操作系统中断处理程序处理严重硬件错误总是承受至少某些数据损失的风险。
发明内容
公开了用于处理计算机上的严重计算机硬件错误的方法及设备,其包括当出现严重硬件错误时,暂停计算机的数据处理操作;由芯片组的源芯片通知可编程逻辑设备该严重硬件错误的出现;由可编程逻辑设备通知嵌入式系统微控制器该严重硬件错误的出现;由嵌入式系统微控制器通过至少一个边带总线,从芯片组的芯片中的寄存器读取有关严重硬件错误的原因的信息;以及由嵌入式系统微控制器将信息存储在嵌入式系统微控制器的非易失随机访问存储器中。
从以下如附图所示的本发明的示范实施例的更多具体描述中将明白本发明的上述以及其它目的、特性和优点,其中类似参考标记号码通常代表本发明的示范实施例的类似部分。
附图说明
图1根据本发明的实施例列出了可用于处理严重计算机硬件错误的示例性计算机的方框图。
图2根据本发明的实施例列出了图解用于处理严重计算机硬件错误的示例性方法的流程图。
具体实施方式
从图1开始参考附图,其中描述了根据本发明的实施例用于处理严重计算机硬件错误的示例性方法、系统和产品。作为该说明书中所使用的术语,′严重计算机硬件错误′是一种硬件错误,其不能由系统硬件、固件中的中断处理程序、操作系统中的中断处理程序来校正,也不能通过由用户级应用软件向操作系统登记的任何异常处理程序校正。严重硬件错误是一种由计算机中的硬件、芯片组的芯片确定的、不可校正的错误状态。所以在该说明书中,术语′严重硬件错误′与′不可校正的硬件错误′被用作同义词。当严重硬件错误发生时,计算机上的正常数据处理被暂停以防止错误和数据损坏的传播。由可编程逻辑设备和嵌入式系统微控制器进行的服务处理如下所述继续进行。
图1根据本发明的实施例列出了可用于处理严重计算机硬件错误的示例性计算机(246)的方框图。图1的计算机(246)包括两个计算机处理器(108、110)或′CPU′,以及随机访问存储器(256)(RAM),其通过高速存储器总线(298)和总线适配器(272)连接到处理器(108、110)和计算机的其它部件。RAM可以在诸如单列直插式存储器模块(SIMM)或双列直插式存储器模块(DIMM)的多个存储器模块中实现。计算机处理器、实现RAM的存储器模块、总线适配器以及示例性计算机(246)的其它主集成电路部件被实现成芯片组的芯片。芯片组的芯片通过一个或多个带内总线(248、294、242、244)进行通信连接。带内总线是用于在芯片组的处理器、存储器、以及其他芯片间传送用于执行应用程序的计算机程序指令和计算机程序数据的总线。根据本发明的实施例、用于处理严重硬件错误的计算机中的带内总线的例子此处由超级传送总线(248,294,242)和扩展总线(244)代表。扩展总线可以是ISA总线、PCI总线、Infiniband总线或那些本领域技术人员可以想到的任何其他扩展总线。该例子中的两个处理器(108,110)的使用仅为了说明方便起见;事实上,根据本发明的实施例的处理严重计算机硬件错误的计算机可以具有任何数量的处理器。
图1的示例性计算机包括可编程逻辑设备(PLD)(104),其通过通知嵌入式系统微控制器严重计算机硬件错误的出现,根据本发明的实施例操作来处理严重计算机硬件错误。PLD是用来建立数字电路的电子设备部件。不同于具有固定功能的逻辑门,PLD在制造的时候具有未定义的功能。在PLD可被用于电路之前,其必须被编程。此类PLD的程序代码可被嵌入用于处理严重计算机硬件错误的计算机程序产品中,并且计算机程序产品可通过信号承载介质布置、传送或发送。信号承载介质可以是诸如光盘、磁盘或磁带的可记录介质,或信号承载介质包括诸如计算机网络或无线介质的传输介质。根据本发明的实施例、用于处理严重计算机硬件错误的设备的PLD的例子包括复杂可编程逻辑设备(CPLD)、现场可编程门阵列(FPGA)、可编程阵列逻辑(PAL)、专用集成电路(ASIC)、嵌入式微控制器以及本领域的技术人员可以想到的其它种类。
该例子中的PLD(104)通过两个边带总线被通信连接到芯片组的芯片和嵌入式系统微控制器。边带总线是用于计算机的外围服务部件与芯片组的处理器、存储器、以及其他芯片之间的服务通信的总线。用于根据本发明的实施例处理严重硬件错误的计算机的边带总线的例子包括JTAG和其它边界扫描总线、I2C总线、VESA显示数据通道(DDC)总线、系统管理总线(SM总线),智能平台管理总线(IPMB),以及其他本领域的技术人员可以想到的总线。I2C是由Philips发明的串行计算机总线,其被用来将低速外设附连到母板、嵌入式系统或手机上。名字是集成电路间的缩写,并且读做I方C。I2C是访问总线、VESA显示数据通道(DDC)接口、系统管理总线(SM总线),智能平台管理总线(IPMB,IPMI协议之一)的基础。
′JTAG′是联合测试行动组的缩写,并且是通常用来表示标题为标准测试访问端口和边界扫描体系结构的IEEE1149.1标准的名字。JTAG是被用来利用边界扫描测试印刷电路板和部件(包括计算机处理器)的测试访问端口的标准。边界扫描是一种用于测试印刷电路板上的互连(细电线连线)或集成电路内的子块的方法。被称为JTAG的边界扫描标准已被全球电子设备公司如此广泛地采用,以致当前′边界扫描′和′JTAG′实际上是同义词。然而,在本说明书中,′边界扫描′和′JTAG′不被看作为同义词。作为此处所使用的术语的′边界扫描′通常是指边界扫描操作,而′JTAG′用来指根据JTAG标准进行的边界扫描。即,在本说明书中,JTAG被视作一种边界扫描的例子,公认地一种广泛使用的例子,然而,仅仅是一个例子。术语′边界扫描′不仅包括JTAG,而且包括本领域的技术人员可以想到的任何种类的边界扫描。
边界扫描体系结构提供了无需使用物理试验探针就可测试逻辑、存储器和其它电路部件的互连和集群的手段。其增加了连接到设备的每个管脚的一个或多个所谓的′测试单元′,所述设备可以选择性地替换该管脚的功能。这些单元通过JTAG扫描链可被编程以驱动信号到管脚上,并且跨过板上的各个迹线(trace)。在板迹线的目的地处的单元能因此被编程来读取管脚处的值,验证板迹线正确地连接两个管脚。如果迹线被短接到另一个信号或如果迹线已被切断,则正确信号值不会出现在目的地管脚,并且将知道板具有故障。
当在集成电路内部执行边界扫描时,有时被称作′测试单元′或′锁存单元′或仅仅是′锁存器′的边界扫描锁存单元被增加到逻辑设计模块之间,以便能够以好像它们是物理独立电路的方式控制它们。对于正常操作,设置增加的边界扫描锁存单元,使得它们对电路没有影响,因此实际上是不可见的。然后当电路被设置成测试模式时,锁存器使数据流能以所谓的'扫描链'方式顺序地从一个锁存器被传递到下一个锁存器。由于单元可被用于强制数据进入板中,它们可以设立测试条件。通过顺序地按时钟节拍将数据字发回以便能够对其进行分析,相关状态能因此被反馈到外部测试系统。通过采用该技术,包含嵌入式系统微控制器或BMC的测试系统可以获得对板或诸如计算机处理器或计算机存储器模块的集成电路中的内部逻辑的测试访问。
在该例子中,PLD(104)通过JTAG总线(286、288、292)被连接到处理器(108,110)和嵌入式系统微控制器(102),PLD(104)通过I2C总线(224、226)被连接到总线适配器(272)和嵌入式系统微控制器(102)。该例子中的PLD(104)还提供了动态边界扫描测试链配置的能力,以及与处理器虚拟链中的单处理器通信的能力,如共同待审的美国专利申请11/464393,案卷编号RPS920060041US1,标题为″Processor Fault Isolation″中更详细描述的那样,此处在说明书中参考引用该申请,如同完整记载该申请那样。为了在出现严重硬件错误之后进行故障隔离,此处由底板管理控制器(BMC)(102)所代表的嵌入式系统微控制器操纵选择线(图1中未示出),以指示其希望询问哪个处理器。然后,PLD将微控制器的边界扫描信号(292)连接到所选择的处理器(108或110)的边界扫描信号上,从而建立仅包含一个处理器的边界扫描测试链。通过重复该过程,无论任何其他处理器是否已遭受突然故障,每个处理器都可被询问。并且,该过程消除了微控制器将任何处理器的边界扫描端口置于旁路模式的必要,从而减少了嵌入式系统微控制器(102)的控制程序的大小和复杂度。或者,PLD可以使用处理器的存在信号(图1中未示出)来动态配置处理器为边界扫描测试链-如果处理器存在,则其将被包含在链中。这消除了对基于处理器数量(population)改变而进行手动链重新配置的需要。可以提供替换跳线以便所安装的处理器,即检测为存在的处理器在测试方的命令下可被排除在链外。基于处理器数量,即基于哪些处理器被检测为存在,PLD可以将处理器配置为单边界扫描链。当严重计算机硬件错误发生时,PLD可以断开单链,通知嵌入式系统微控制器(102),并且等待来自嵌入式系统微控制器的处理器选择。
如所提到的,嵌入式系统微控制器在图1的例子中被表示为BMC(102)。BMC是嵌入在许多计算机,尤其是服务器的母板上的专用微控制器。BMC是智能平台管理接口(IPMI)体系结构中的智能。BMC管理系统管理软件和平台硬件之间的接口。诸如BMC的系统管理微控制器是包含小型处理器、存储微控制器控制程序(116)的少量存储器(102),以及一个或多个I/O端口的小型嵌入式设备。该例子中的BMC(102)具有针对JTAG总线、两个I2C总线连接以及扩展总线的I/O端口。
不同类型的传感器安装到计算机系统中,其对于BMC使用关于诸如温度、冷却风扇速度、功率模式、操作系统状态、处理器操作等的参数的BMC报告。BMC监视传感器,并且如果任何参数没有保持在预置限制内,则可以经由网络向系统管理员发送提醒,表明系统的潜在故障。管理员也可以与BMC远程通信以采取诸如复位或电源循环系统的某些校正动作来获取挂起操作系统的再次运行。这些能力节省了拥有系统的总成本。
BMC的物理接口可包括系统管理总线(SMB)、RS-232总线、地址和数据线,以及智能平台管理总线(IPMB),其使得BMC能从系统中的其它管理控制器接受IPMI请求消息。BMC利用IPMI协议与远程客户端上的BMC管理应用程序(BMU)通信。BMU通常是命令行接口(CLI)应用程序。智能平台管理接口(IPMI)规范定义了计算机硬件和固件的一组公共接口,系统管理员可以利用其监视系统健康和管理系统。
IPMI独立于操作系统运行,并且即使在没有操作系统或系统管理软件的情况下,或甚至所监视的系统尚未加电的情况下,仍允许管理员远程管理系统。当操作系统已启动时,IPMI也可以工作,并且当与系统管理软件一起使用时,提供增强的功能。IPMI能够经由直接串行连接、局域网(LAN)或LAN上的串行(SOL)连接向远程客户端发出提醒。系统管理员能因此通过相同的连接从远程控制台利用IPMI消息来查询平台状态、检查硬件日志、或提交其它请求。标准还定义了系统的提醒机制以发送简单网络管理协议(SNMP)平台事件陷阱(PET)。
图1的示例性计算机还包括通过I2C总线(228)连接到BMC(102)的服务处理器(102)。为正常数据处理而暂停的计算机系统被用来执行根据本发明实施例的对严重计算机错误的处理。只有系统的边带部分是活动的。系统处理器提供了无需计算机的操作系统或系统固件就可以完全工作的远程管理介质。因为服务处理器以独立于计算机中的用来执行正常数据处理的其它处理器的方式运行,所以服务处理器可以如此工作。此外,它们利用其自身的定制固件,并且甚至可以利用单独电源以增强可靠性。系统管理员或其他用户通过带外连接能够直接与服务处理器通信。由服务处理器提供的管理工具、特性和客户接口因制造商不同而各不相同。它们的复杂度范围可以从简单的Telnet控制台到丰富的Web浏览器环境。服务处理器也可以通过比诸如以太网上的传输控制协议/网际协议(TCP/IP)的串行端口更复杂的介质提供支持。服务处理器通常被集成到系统母板或内插式PCI适配器中,并且如所提到的,以独立于系统的其它处理器的方式工作。
在图1的示例性计算机中,应用程序(258)、用户级计算机程序指令的模块、操作系统(260)和系统固件(236)被存储在RAM(256)中。应用程序(258)是用户级计算机程序指令的模块。用于根据本发明的实施例处理严重计算机硬件错误的计算机中的操作系统包括UNIXTM、LinuxTM、Microsoft NTTM、AIXTM、IBM的i5/OSTM,及其他本领域的技术人员将想起的操作系统。系统固件(236)被表示成基本输入/输出系统或′BIOS′。图1的例子中的应用程序(258)、操作系统(260)和系统固件(236)在RAM(256)中示出,但是此类软件的许多部分通常也被存储在非易失存储器中,例如盘驱动器(284)上或EEPROM(电可擦除可编程只读存储器)或,快擦写'存储器中。
图1的计算机(246)包括总线适配器(272)、包括驱动高速总线的电子设备的计算机硬件部件、超级传送总线(294、248、242)、视频总线(296)和存储器总线(298)。用于根据本发明的实施例处理严重计算机硬件错误的计算机中的总线适配器的例子包括Intel北桥、Intel存储器控制器集线器以及超级传送总线适配器。在该例子中总线适配器(272)被表示为超级传送适配器。图1的计算机(246)包括附加总线适配器(234),其为扩展总线(234)提供驱动电子设备。为扩展总线提供驱动电子设备的总线适配器的例子包括Intel南桥、IntelI/O控制器集线器以及超级传送适配器。总线适配器(234)在该例子中被表示为南桥。用于根据本发明的实施例处理严重计算机硬件错误的计算机中的扩展总线的例子包括工业标准结构(ISA)总线和外部部件互连(PCI)总线族,PCI、PCIE和PCIX。
超级传送总线(294、248、242)是服从由超级传送技术联盟公布的标准的总线。超级传送总线(294、248、242)是一种非常快的双向串行/并行高带宽、低时延计算机总线。取决于版本,超级传送总线可以在从200MHz到2.6GHz的频率上运行(与PCI的33或66MHz相比)。超级传送总线(294、248)也是DDR或″双倍数据速率″总线,意味着在其总线时钟信号的上升和下降沿传送数据。这允许以2.6GHz运行的每对有每秒5200M传送的最大数据速率。图1的示例性计算机中所示的超级传送的主要使用以及超级传送总线(294、248)的方式是替换当前对于几乎每个计算机来说都是不同的前端总线。例如,Pentium不能被插入PCI总线。为了扩展系统,前端总线必须通过类似AGP或PCI的各种标准总线的适配器连接。这些通常被包含在相应的控制器功能,即北桥和南桥中。用超级传送实现的类似计算机则更灵活,而且更快。单PCI<->超级传送适配器芯片将与支持超级传送的任何微处理器一起工作,并且允许将PCI卡用于这些处理器。例如,NVIDIAnForce芯片组使用超级传送来连接其北和南桥。由于其速度和灵活性,所以在根据本发明的实施例处理严重计算机硬件错误的计算机中优选超级传送总线,但是它们不是本发明的必需要素。可使用其它总线,包括例如众所周知的Intel共享总线体系结构。
在使用超级传送总线作为带内总线的计算机的情况中,对于不可校正的错误,超级传送连接的芯片可由寄存器设置来配置,使得同步包在出现故障的超级传送链接上被发送。其它超级传送连接的芯片可由寄存器设置来配置,以将在其链接之一上所见的同步包洪水传送给它们被连接到的超级传送链接。如果所有超级传送芯片被设置成传送同步包洪水,则所有系统的超级传送总线将在不可校正的错误发生的毫微秒内处于同步包洪水状态。
超级传送适配器(272)代表芯片组的芯片,通过通知PLD(104)不可校正的错误的出现,其被配置成充当′源芯片′。即,适配器(272)可以用作′源芯片′,也就是说其可以是有关严重硬件错误已发生的信号的源。在该例子中,源芯片(272)被连接到支持消息中断的带内总线上,即被连接到超级传送总线上。通过在严重硬件错误出现时将同步包洪水作用在超级传送总线上,连接到超级传送总线的任何链接的任何芯片可导致计算机上的数据处理操作暂停。即,例如如果处理器(110)检测到严重存储器地址错误,则处理器(110)可以将同步包洪水引到超级传送总线,从而暂停计算机上的数据处理操作。超级传送适配器(272)检测到超级传送总线上的同步包洪水,将同步包洪水解释成代表严重计算机硬件错误的出现,并且利用硬连线的严重错误信号线(232)通知PLD(104)和南桥出现严重硬件错误。然后PLD可以利用I2C边带总线(226)通知嵌入式系统微控制器(102)严重硬件错误的出现。通过这种方式,在带内总线上,在这种情况下,在超级传送总线上通知嵌入式系统微控制器(102)出现故障,而不需要嵌入式系统微控制器(102)自身连接到带内总线上。该系统设置在发生不可校正的错误时阻止所有系统数据移动,因此终止任何数据完整性曝露。所有中断也被同步包洪水锁住,以免在超级传送总线上传送。
然后,嵌入式系统微控制器(102)通过边带总线从芯片组的芯片中的寄存器读取有关不可校正的错误的原因的信息。在该例子中,嵌入式系统微控制器(102)通过JTAG总线(292、288)至少从处理器(110)上的寄存器读取有关严重硬件错误的原因的信息。嵌入式系统微控制器(102)也可以从其它芯片中的寄存器读取有关严重错误的原因的信息-因为虽然该例子中的处理器(110)检测到错误,并且总线适配器(272)报告了错误,但是很可能既不是处理器(110)又不是总线适配器(272)实际导致了错误。因此,为了进行有用的诊断,嵌入式系统微控制器(102)可对芯片组的多个芯片的寄存器进行查询。在该例子中,系统固件/BIOS在引导时预先配置每个超级传送连接的芯片,以将同步包洪水传播到其连接到的所有其它超级传送总线链接,使得进行超级传送错误检测的芯片能够可靠地检测同步包洪水已发生。
然后,嵌入式系统微控制器(102)将有关严重错误的原因的信息存储在嵌入式系统微控制器的非易失随机访问存储器(102)中,使得即使在重新启动之后,信息也可以用于错误诊断。嵌入式系统微控制器(102)也可将有关不可校正错误的原因的信息存储在系统错误日志中,并且由嵌入式系统微控制器重新启动计算机。在这样的系统中,由嵌入式系统微控制器(102)而不是BIOS/固件控制重新启动的定时。该例子中的计算机(246)通过复位信号线(230)将处理器(106、110)和其它系统部件(274、276、278)连接到PLD(104),使得嵌入式系统微控制器(102)能够利用I2C信号(226)命令PLD复位系统的个别部件或重新启动整个计算机系统。根据有关严重硬件错误的原因的信息,系统固件(236)在重新启动期间可以确定在出现严重硬件错误之后计算机是否能够成功地返回服务。
图1的计算机(246)包括通过扩展总线(244)连接的磁盘驱动器适配器(278),以及连接到处理器(108、110)和计算机(246)的其它部件的总线适配器(272)。磁盘驱动器适配器(278)以磁盘驱动器(284)的形式将非易失数据存储设备连接到计算机。用于根据本发明的实施例处理严重计算机硬件错误的计算机中的磁盘驱动器适配器包括集成驱动电子设备(IDE)适配器、小型计算机系统接口(SCSI)适配器及其他本领域的技术人员将想起的适配器。此外,磁盘驱动器、非易失计算机存储器可被实现成光盘驱动器、电可擦除可编程只读存储器空间(所谓的′EEPROM′或′快擦写′存储器)、电池支持的RAM驱动器等,如本领域的技术人员将想起的。
图1的示例性计算机包括一个或多个输入/输出(I/O)适配器(276)。I/O适配器通过例如用于控制对诸如计算机显示屏幕的显示设备的输出,以及控制来自诸如键盘和鼠标的用户输入设备(282)的用户输入的软件驱动程序和计算机硬件,实现面向用户的输入/输出。图1的示例性计算机包括视频适配器(254),其是专门为到诸如显示屏幕或计算机监视器的显示设备(252)的图形输出而设计的I/O适配器的例子。视频适配器(254)通过高速视频总线(296)、总线适配器(272),以及如上所述也是一种高速总线的超级传送总线(294、248)被连接到处理器(108、110)上。
图1的计算机包括用于与其它计算机(280)的数据通信的通信适配器(274)。通过串行地通过RS-232连接、通过诸如通用串行总线(USB)的外部总线、通过诸如IP数据通信网络的数据通信网络、以及本领域的技术人员将想起的其他方式,可以实现这样的数据通信。通信适配器直接地或通过数据通信网络实现硬件级数据通信,一个计算机通过所述硬件级数据通信发送数据通信到另一个计算机。用于根据本发明实施例处理严重计算机硬件错误的计算机的通信适配器的例子包括用于有线拨号通信的调制解调器、用于有线数据通信网络通信的以太网(IEEE802.3)适配器、以及用于无线数据通信网络通信的802.11b/g适配器。
为进一步说明,图2根据本发明的实施例列出了图解用于处理严重计算机硬件错误的示例性方法的流程图。在包含芯片组的芯片的计算机中的嵌入式系统微控制器的计算机程序指令和可编程逻辑器件(PLD)的可编程逻辑的控制之下执行图2的方法,其中芯片组的芯片是计算机的主集成电路部件。芯片组的芯片通过一个或多个带内总线进行通信连接,并且芯片包含至少一个计算机处理器和至少一个总线适配器。此外,计算机包含通过至少一个边带总线通信连接到芯片组的芯片和嵌入式系统微控制器的可编程逻辑设备。
带内总线是用于在芯片组的处理器、存储器、以及其他芯片之间传送用于执行应用程序的计算机程序指令和计算机程序数据的总线。带内总线可以是超级传送总线、Intel前端总线、PCI总线、PCI-E总线、PCI-X总线等等。边带总线是用于计算机的外围服务部件与芯片组的处理器、存储器、以及其他芯片之间的服务通信的总线。边带总线可以是联合测试行动组(JTAG)总线、集成电路间(I2C)总线、VESA显示数据通道(DDC)接口、系统管理总线(′SMBus′),智能平台管理总线(′IPMB′)等等。嵌入式系统微控制器可以是底板管理控制器(′BMC′)。
图2的方法包括当严重硬件故障出现时暂停(300)计算机的数据处理操作。例如,当检测到链接上的严重硬件错误时,超级传送总线的链接上的任何设备可触发链接上的同步包洪水。相同链接上的另一个设备可被配置成触发相邻链接等等上的同步包洪水,直到整个超级传送总线处于同步包洪水状态,从而暂停计算机上的数据处理操作。注意到,在依赖于用于中断的总线消息的系统中,这也有效地暂停所有中断活动,通常包括可通知严重计算机硬件错误的中断。对于另一个例子,当检测到PCI总线上的SERR或PERR错误类型时,PCI适配器或合并到PCI适配器中的南桥或北桥可锁住总线,从而有效地暂停进一步的I/O数据处理操作。
图2的方法包括由芯片组的源芯片通知(302)可编程逻辑器件出现严重硬件错误。源芯片是通知其它芯片出现严重硬件错误的信号的′源′。源芯片是检测和报告错误状态的芯片-可能是或可能不是其故障导致错误状态的芯片。芯片组中的芯片可能不都被配置成检测错误状态和通知错误状态。在超级传送例子,即支持消息中断的总线中,源芯片连同可不被配置成检测或通知错误状态的若干其它芯片一起可被连接到带内超级传送总线上,尽管任何芯片可能是严重硬件错误的源。其它芯片之一,例如未被配置成检测或通知严重计算机硬件错误的芯片之一可由于硬件错误而触发同步包洪水,并且仅当同步包洪水到达源芯片时,同步包洪水被识别成表示严重硬件错误。通过诸如图1上的参考(232)所图解的硬连线信号线,源芯片可通知PLD出现严重硬件错误。
图2的方法包括由PLD通知(304)嵌入式系统微控制器出现严重硬件错误。通过诸如JTAG总线或如图1上的参考(28,226)所示的I2C,PLD使用边带信号可通知嵌入式系统微控制器出现严重硬件错误。
图2的方法包括由嵌入式系统微控制器通过至少一个边带总线从芯片组的芯片中的寄存器读取(306)有关严重计算机硬件错误的原因的信息。有关严重硬件错误的原因的信息可包括,例如:
●哪个存储器模块已出现故障,以便其可被隔开。
●哪个处理器出现故障,并且不应被设置在运行时间使用。
●哪个总线、超级传送、Infiniband、PCI等被损坏,并且不能被使用。
●哪个总线适配器、超级传送、北桥、南桥、PCI、PCI-X、PCI-E等已出现故障,并且不能被使用。
图2的方法还包括由嵌入式系统微控制器在嵌入式系统微控制器的非易失随机访问存储器中存储(308)信息。图2的方法还包括由嵌入式系统微控制器在系统错误日志中存储(310)有关严重计算机硬件错误的原因的信息。图2的方法还包括由嵌入式系统微控制器重新启动(312)计算机系统,以及根据有关严重硬件错误的原因的信息,在重新启动期间由计算机系统的固件确定(314)在出现严重硬件错误之后计算机是否可以成功地返回服务。重新启动时,BIOS或其它系统固件决定如何重新配置系统,以使其能够保持运行,直到其通过读取由BMC提供的系统故障/系统状态表接受服务。所以,芯片商不必在这种模式中实现粘附错误位。BIOS也不必读取位来确定系统状态。BIOS使确定其是否可以在开始重新启动之前激活系统所需的信息可用。如果错误将停止系统而不被再次激活,则BIOS在启动时会知道其甚至不应尝试。进一步地,其会通知用户计算机发生故障。
考虑到本文中上面所进行的说明,读者会认识到根据本发明的实施例处理严重计算机硬件错误提供了这些好处:
●所有严重计算机硬件错误处理可被从系统固件和操作系统、BIOS和操作系统中断处理器中移除。系统管理功能、PLD、BMC、服务器处理器等等可处理所有严重硬件错误,BIOS或诸如BIOS的其他系统固件在重新启动时可以对系统管理硬件/软件的发现采取行动。
●减少或消除了使用消息中断并且尝试使用系统软件来诊断严重计算机硬件错误的系统的可能数据完整性问题。
●在硬件级检测严重硬件错误,并且在严重错误发生之后非常迅速地暂停系统数据处理,不需要长超时来确定严重错误已发生。
●定义系统结构、配置和要求的总集,其将允许BMC在不必运行任何系统代码的情况下,在系统被完全暂停的同时检测和记录严重计算机硬件错误。通过在BMC或其它嵌入式系统设备上运行系统管理代码来完全做到这点。此外,该模式在不需要′粘附′错误位的情况下完成该任务,并且即使系统不能成功复位或重新启动,仍然能够工作。
●在不牺牲任何错误恢复功能的情况下,从固件、BIOS、和操作系统中清除所有不可恢复错误功能。
●作为严重硬件错误之后暂停系统的手段,清除SMI中断处理器产生NMI中断的任何要求。
●不需要BIOS、系统固件或操作系统中的中断处理器使用系统重新启动时一直保持其状态的粘附位,严重计算机硬件错误被非常可靠地处理。使用粘附位方案,因为BIOS/固件不知道在重新启动时候故障的性质是什么,以及可能再次遇到相同的不可恢复的错误,所以BIOS或固件可能无意地再次导致故障。
●在重新启动之前,提供了出现严重错误的BIOS/固件和中断处理器/操作系统处理的完全替换,可以处理在重新启动之前,应由BIOS/固件或操作系统的中断处理器预先已处理的任何严重硬件错误的替换,能够从计算机系统中的任何地方,而不是仅仅从其一部分寻址到错误。
本发明的示范实施例主要在用于处理严重计算机硬件错误的全功能计算机系统的情况下被描述。然而,本领域技术人员将认识到,本发明还可被嵌入布置在供任何适合的数据处理系统使用的信号承载介质上的计算机程序产品中。这样的信号承载介质可以是机器可读信息的传输介质或可记录介质,包括磁介质、光学介质或其它适合的介质。可记录介质的例子包括硬盘驱动器中的磁盘或软盘、光学驱动器的光盘、磁带以及其它本领域的技术人员将想起的介质。传输介质的例子包括音频通信的电话网和数字数据通信网络,例如EthernetsTM以及利用网际协议和万维网通信的网络。所属技术领域的专业人员将立即认识到具有适合的编程设备的任何计算机系统将能够如程序产品中所嵌入的执行本发明的方法的步骤。所属技术领域的专业人员将立即认识到,虽然该说明书中所描述的一些示范实施例被定向到计算机硬件上所安装和执行的软件,然而,作为固件或硬件所实现的可选实施例也在本发明的范畴内。
从以上描述应该理解,在不偏离其真正宗旨的情况下,本发明的各种实施例可以作出修改和改变。该说明书中的描述仅仅是为了说明,而不会以限制意义分析。本发明的范围仅受限于以下权利要求书的语言。
Claims (16)
1.一种处理严重计算机硬件错误的方法,所述计算机包括:
芯片组的芯片,所述芯片组的芯片包括计算机主集成电路部件,所述部件包含一个或多个处理器,一个或多个存储器模块,以及一个或多个总线适配器,所述芯片组的芯片通过一个或多个带内总线进行通信连接,
所述计算机进一步包括通过至少一个边带总线通信连接到芯片组的芯片和嵌入式系统微控制器的可编程逻辑设备,
所述方法包括:
由连接到支持所通知的中断的带内总线上的芯片组的一个源芯片检测严重硬件错误的出现,包括检测带内总线上的同步包洪水;
当严重硬件错误出现时暂停计算机的数据处理操作;
由该芯片组的源芯片通知可编程逻辑设备该严重硬件错误的出现;
由可编程逻辑设备通知嵌入式系统微控制器该严重硬件错误的出现;
由嵌入式系统微控制器通过至少一个边带总线,从芯片组的芯片中的寄存器读取有关严重硬件错误的原因的信息;以及
由嵌入式系统微控制器将信息存储在嵌入式系统微控制器的非易失随机访问存储器中。
2.根据权利要求1的方法,进一步包括由嵌入式系统微控制器将有关严重硬件错误的原因的信息存储在系统错误日志中。
3.根据权利要求1的方法,进一步包括由嵌入式系统微控制器重新启动计算机。
4.根据权利要求3的方法,进一步包括在重新启动期间,由计算机系统的固件根据有关严重硬件错误的原因的信息确定在出现严重硬件错误之后计算机是否能够成功地返回服务。
5.根据权利要求1的方法,其中源芯片进一步包括超级传送总线适配器。
6.根据权利要求1的方法,其中:
带内总线是用于在芯片组的处理器、存储器、以及其他芯片之间传送用于执行应用程序的计算机程序指令和计算机程序数据的总线;以及
边带总线是用于计算机的外围服务部件与芯片组的处理器、存储器、以及其他芯片之间的服务通信的总线。
7.根据权利要求1的方法,其中:
所述一个或多个带内总线中的至少一个带内总线包括超级传送总线;以及
所述至少一个边带总线包括联合测试行动组总线和集成电路间总线。
8.根据权利要求1的方法,其中嵌入式系统微控制器为底板管理控制器。
9.一种用于处理严重计算机硬件错误的设备,该设备包括:
芯片组的芯片,所述芯片组的芯片包括计算机的主集成电路部件,所述芯片组的芯片通过一个或多个带内总线进行通信连接,所述芯片包含至少一个计算机处理器和至少一个总线适配器,所述芯片组的至少一个芯片被连接到支持所通知的中断的带内总线上,被配置成通过检测带内总线上的同步包洪水来检测严重硬件错误的出现,并被配置成当严重硬件错误出现时暂停计算机的数据处理操作,以及通知可编程逻辑设备该严重硬件错误的出现;
通过至少一个边带总线被通信连接到芯片组的一个或多个芯片以及嵌入式系统微控制器的可编程逻辑设备,所述可编程逻辑设备被配置成响应于从芯片组的芯片接收有关严重硬件错误的出现的信号,通知嵌入式微控制器该严重硬件错误的出现;以及
嵌入式系统微控制器,其通过可编程逻辑设备和至少一个边带总线被连接到芯片组的芯片,以及被配置成从芯片组的芯片中的寄存器读取有关严重硬件错误的原因的信息,并且将信息存储在嵌入式系统微控制器的非易失随机访问存储器中。
10.根据权利要求9的设备,其中:
带内总线是用于在芯片组的处理器、存储器以及芯片之间传送用于执行应用程序的计算机程序指令和计算机程序数据的总线;以及
边带总线是用于计算机的外围服务部件与芯片组的处理器、存储器以及芯片之间的服务通信的总线。
11.根据权利要求9的设备,其中,所述芯片组的所述至少一个芯片进一步包括超级传送总线适配器。
12.根据权利要求9的设备,其中,嵌入式系统微控制器进一步被配置成将有关严重硬件错误的原因的信息存储在系统错误日志中。
13.根据权利要求9的设备,其中,嵌入式系统微控制器进一步被配置成重新启动计算机系统。
14.根据权利要求13的设备,进一步包括计算机的固件,其被配置成在重新启动期间,根据有关严重硬件错误的原因的信息,确定在出现严重硬件错误之后计算机是否能够成功地返回服务。
15.根据权利要求9的设备,其中:
所述一个或多个带内总线中的至少一个带内总线包括超级传送总线;以及
所述至少一个边带总线包括联合测试行动组总线和集成电路间总线。
16.根据权利要求9的设备,其中嵌入式系统微控制器为底板管理控制器。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US11/464,364 | 2006-08-14 | ||
| US11/464,364 US7594144B2 (en) | 2006-08-14 | 2006-08-14 | Handling fatal computer hardware errors |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN101126995A CN101126995A (zh) | 2008-02-20 |
| CN101126995B true CN101126995B (zh) | 2010-09-29 |
Family
ID=39095042
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN200710112147XA Expired - Fee Related CN101126995B (zh) | 2006-08-14 | 2007-06-19 | 处理严重硬件错误的方法及设备 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US7594144B2 (zh) |
| CN (1) | CN101126995B (zh) |
Families Citing this family (116)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8443134B2 (en) | 2006-12-06 | 2013-05-14 | Fusion-Io, Inc. | Apparatus, system, and method for graceful cache device degradation |
| US8489817B2 (en) | 2007-12-06 | 2013-07-16 | Fusion-Io, Inc. | Apparatus, system, and method for caching data |
| US8706968B2 (en) | 2007-12-06 | 2014-04-22 | Fusion-Io, Inc. | Apparatus, system, and method for redundant write caching |
| US8266496B2 (en) | 2006-12-06 | 2012-09-11 | Fusion-10, Inc. | Apparatus, system, and method for managing data using a data pipeline |
| US9104599B2 (en) | 2007-12-06 | 2015-08-11 | Intelligent Intellectual Property Holdings 2 Llc | Apparatus, system, and method for destaging cached data |
| US7925931B1 (en) * | 2006-12-13 | 2011-04-12 | Nvidia Corporation | System and method of handling erroneous data in computer systems |
| TWI358025B (en) * | 2007-04-17 | 2012-02-11 | Via Tech Inc | Methods and systems for centralized dynamic link c |
| US20080270827A1 (en) * | 2007-04-26 | 2008-10-30 | International Business Machines Corporation | Recovering diagnostic data after out-of-band data capture failure |
| US7877347B2 (en) * | 2007-05-03 | 2011-01-25 | Payton David W | Method and system for independently observing and modifying the activity of an actor processor |
| US20080288626A1 (en) * | 2007-05-14 | 2008-11-20 | Bandholz Justin P | structure for resetting a hypertransport link in a blade server |
| US8244793B2 (en) | 2007-05-14 | 2012-08-14 | International Business Machines Corporation | Resetting a HyperTransport link in a blade server |
| US8448024B2 (en) * | 2007-05-16 | 2013-05-21 | Intel Corporation | Firmware assisted error handling scheme |
| US7716466B2 (en) * | 2007-06-20 | 2010-05-11 | International Business Machines Corporation | User selectable configuration options application for inaccessible nonvolatile storage at bootstrap |
| US20090079467A1 (en) * | 2007-09-26 | 2009-03-26 | Sandven Magne V | Method and apparatus for upgrading fpga/cpld flash devices |
| US9519540B2 (en) | 2007-12-06 | 2016-12-13 | Sandisk Technologies Llc | Apparatus, system, and method for destaging cached data |
| US7836226B2 (en) | 2007-12-06 | 2010-11-16 | Fusion-Io, Inc. | Apparatus, system, and method for coordinating storage requests in a multi-processor/multi-thread environment |
| JP4644720B2 (ja) * | 2008-03-10 | 2011-03-02 | 富士通株式会社 | 制御方法、情報処理装置及びストレージシステム |
| KR20110026578A (ko) * | 2009-09-08 | 2011-03-16 | 엘지전자 주식회사 | 시스템 메모리의 에러 보정 장치 및 방법 |
| CN102696010B (zh) | 2009-09-08 | 2016-03-23 | 才智知识产权控股公司(2) | 用于将数据高速缓存在固态存储设备上的装置、系统和方法 |
| JP4873073B2 (ja) * | 2009-12-16 | 2012-02-08 | 日本電気株式会社 | 情報処理装置及び情報処理装置の障害復旧方法 |
| US8504875B2 (en) * | 2009-12-28 | 2013-08-06 | International Business Machines Corporation | Debugging module to load error decoding logic from firmware and to execute logic in response to an error |
| TWI529525B (zh) * | 2010-04-30 | 2016-04-11 | 聯想企業解決方案(新加坡)有限公司 | 處理系統錯誤之方法及系統 |
| KR101789848B1 (ko) * | 2010-05-28 | 2017-10-25 | 주식회사 아도반테스토 | 가변 병렬성 및 펌웨어 업그레이드 기능을 갖는 유연한 저장 인터페이스 테스터 |
| US8918573B2 (en) | 2010-06-23 | 2014-12-23 | International Business Machines Corporation | Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment |
| US8677180B2 (en) | 2010-06-23 | 2014-03-18 | International Business Machines Corporation | Switch failover control in a multiprocessor computer system |
| US8645767B2 (en) * | 2010-06-23 | 2014-02-04 | International Business Machines Corporation | Scalable I/O adapter function level error detection, isolation, and reporting |
| US8745292B2 (en) | 2010-06-23 | 2014-06-03 | International Business Machines Corporation | System and method for routing I/O expansion requests and responses in a PCIE architecture |
| US8671287B2 (en) | 2010-06-23 | 2014-03-11 | International Business Machines Corporation | Redundant power supply configuration for a data center |
| US8683108B2 (en) | 2010-06-23 | 2014-03-25 | International Business Machines Corporation | Connected input/output hub management |
| US8645606B2 (en) | 2010-06-23 | 2014-02-04 | International Business Machines Corporation | Upbound input/output expansion request and response processing in a PCIe architecture |
| US8615622B2 (en) | 2010-06-23 | 2013-12-24 | International Business Machines Corporation | Non-standard I/O adapters in a standardized I/O architecture |
| US8615586B2 (en) | 2010-06-23 | 2013-12-24 | International Business Machines Corporation | Discovery of logical images at storage area network endpoints |
| US8656228B2 (en) | 2010-06-23 | 2014-02-18 | International Business Machines Corporation | Memory error isolation and recovery in a multiprocessor computer system |
| CN103154927A (zh) * | 2010-10-16 | 2013-06-12 | 惠普发展公司,有限责任合伙企业 | 设备硬件代理 |
| WO2012106362A2 (en) | 2011-01-31 | 2012-08-09 | Fusion-Io, Inc. | Apparatus, system, and method for managing eviction of data |
| US9003104B2 (en) | 2011-02-15 | 2015-04-07 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a file-level cache |
| US9201677B2 (en) | 2011-05-23 | 2015-12-01 | Intelligent Intellectual Property Holdings 2 Llc | Managing data input/output operations |
| US8874823B2 (en) | 2011-02-15 | 2014-10-28 | Intellectual Property Holdings 2 Llc | Systems and methods for managing data input/output operations |
| WO2012116369A2 (en) | 2011-02-25 | 2012-08-30 | Fusion-Io, Inc. | Apparatus, system, and method for managing contents of a cache |
| CN102369513A (zh) * | 2011-08-31 | 2012-03-07 | 华为技术有限公司 | 提高计算机系统稳定性的方法及计算机系统 |
| US9112812B2 (en) * | 2011-09-22 | 2015-08-18 | Embrane, Inc. | Distributed virtual appliance |
| CN102402473A (zh) * | 2011-10-28 | 2012-04-04 | 武汉供电公司变电检修中心 | 计算机硬件及软件故障诊断修复系统 |
| JP5689783B2 (ja) * | 2011-11-24 | 2015-03-25 | 株式会社東芝 | コンピュータ、コンピュータシステム、および障害情報管理方法 |
| DE112011106079T5 (de) * | 2011-12-30 | 2014-09-18 | Intel Corporation | Frühe Weiterleitung von Gewebefehlern |
| US9767032B2 (en) | 2012-01-12 | 2017-09-19 | Sandisk Technologies Llc | Systems and methods for cache endurance |
| US9251052B2 (en) | 2012-01-12 | 2016-02-02 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for profiling a non-volatile cache having a logical-to-physical translation layer |
| US10102117B2 (en) | 2012-01-12 | 2018-10-16 | Sandisk Technologies Llc | Systems and methods for cache and storage device coordination |
| US9251086B2 (en) | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
| US10359972B2 (en) | 2012-08-31 | 2019-07-23 | Sandisk Technologies Llc | Systems, methods, and interfaces for adaptive persistence |
| US9116812B2 (en) | 2012-01-27 | 2015-08-25 | Intelligent Intellectual Property Holdings 2 Llc | Systems and methods for a de-duplication cache |
| US20150019601A1 (en) * | 2012-01-30 | 2015-01-15 | Richard Wei Chieh Yu | Providing network attached storage devices to management sub-systems |
| US10019353B2 (en) | 2012-03-02 | 2018-07-10 | Longitude Enterprise Flash S.A.R.L. | Systems and methods for referencing data on a storage medium |
| CN102662690B (zh) * | 2012-03-14 | 2014-06-11 | 腾讯科技(深圳)有限公司 | 应用程序启动方法和装置 |
| US9357649B2 (en) | 2012-05-08 | 2016-05-31 | Inernational Business Machines Corporation | 276-pin buffered memory card with enhanced memory system interconnect |
| EP2859459B1 (en) * | 2012-06-06 | 2019-12-25 | Intel Corporation | Recovery after input/ouput error-containment events |
| US9026865B2 (en) * | 2012-06-11 | 2015-05-05 | Unisys Corporation | Software handling of hardware error handling in hypervisor-based systems |
| JP5933356B2 (ja) * | 2012-06-12 | 2016-06-08 | ルネサスエレクトロニクス株式会社 | コンピュータシステム |
| TW201351133A (zh) * | 2012-06-13 | 2013-12-16 | Hon Hai Prec Ind Co Ltd | 系統事件讀取方法及系統 |
| US9612966B2 (en) | 2012-07-03 | 2017-04-04 | Sandisk Technologies Llc | Systems, methods and apparatus for a virtual machine cache |
| US10339056B2 (en) | 2012-07-03 | 2019-07-02 | Sandisk Technologies Llc | Systems, methods and apparatus for cache transfers |
| CN102915260B (zh) * | 2012-09-17 | 2016-04-20 | 记忆科技(深圳)有限公司 | 固态硬盘容错的方法及其固态硬盘 |
| CN102968354A (zh) * | 2012-11-13 | 2013-03-13 | 浪潮电子信息产业股份有限公司 | 一种基于Intel Brickland-EX平台的同频锁步模式的自动切换方法 |
| US9262270B2 (en) * | 2012-12-28 | 2016-02-16 | Intel Corporation | Live error recovery |
| CN103914318A (zh) * | 2013-01-04 | 2014-07-09 | 腾讯科技(深圳)有限公司 | 程序启动的方法和装置 |
| CN104038380A (zh) * | 2013-03-07 | 2014-09-10 | 鸿富锦精密工业(深圳)有限公司 | 服务器主板检测系统及方法 |
| US9519315B2 (en) * | 2013-03-12 | 2016-12-13 | International Business Machines Corporation | 276-pin buffered memory card with enhanced memory system interconnect |
| US9842053B2 (en) | 2013-03-15 | 2017-12-12 | Sandisk Technologies Llc | Systems and methods for persistent cache logging |
| CN104122939A (zh) * | 2013-04-23 | 2014-10-29 | 英业达科技有限公司 | 伺服器系统 |
| US9158646B2 (en) * | 2013-05-31 | 2015-10-13 | Celestica Technology Consultancy (Shanghai) Co., Ltd. | Abnormal information output system for a computer system |
| US9425953B2 (en) | 2013-10-09 | 2016-08-23 | Intel Corporation | Generating multiple secure hashes from a single data buffer |
| US9389942B2 (en) | 2013-10-18 | 2016-07-12 | Intel Corporation | Determine when an error log was created |
| TW201541099A (zh) * | 2014-04-23 | 2015-11-01 | Hon Hai Prec Ind Co Ltd | 電子裝置及其智慧分析故障的方法 |
| FR3021430B1 (fr) * | 2014-05-20 | 2016-05-13 | Bull Sas | Procede d'obtention d'informations stockees dans des registres de module(s) de traitement d'un calculateur juste apres la survenue d'une erreur fatale |
| CN104009874A (zh) * | 2014-06-12 | 2014-08-27 | 浪潮电子信息产业股份有限公司 | 一种主板实现i210与i350双千兆网络并带有管理功能的方法 |
| WO2015196365A1 (zh) * | 2014-06-24 | 2015-12-30 | 华为技术有限公司 | 一种故障处理方法、相关装置及计算机 |
| CN104123227A (zh) * | 2014-08-13 | 2014-10-29 | 广东电网公司信息中心 | 一种自动生成测试用例的方法 |
| US10002044B2 (en) * | 2014-08-19 | 2018-06-19 | Samsung Electronics Co., Ltd. | Memory devices and modules |
| US9282072B1 (en) | 2014-11-14 | 2016-03-08 | Quanta Computer Inc. | Serial output redirection using HTTP |
| CN106155826B (zh) * | 2015-04-16 | 2019-10-18 | 伊姆西公司 | 用于在总线结构中检测及处理错误的方法和系统 |
| US9710321B2 (en) | 2015-06-23 | 2017-07-18 | Microsoft Technology Licensing, Llc | Atypical reboot data collection and analysis |
| US9811492B2 (en) * | 2015-08-05 | 2017-11-07 | American Megatrends, Inc. | System and method for providing internal system interface-based bridging support in management controller |
| CN105183575A (zh) * | 2015-08-24 | 2015-12-23 | 浪潮(北京)电子信息产业有限公司 | 处理器故障的诊断方法、装置及系统 |
| US9678682B2 (en) | 2015-10-13 | 2017-06-13 | International Business Machines Corporation | Backup storage of vital debug information |
| CN106919462B (zh) * | 2015-12-25 | 2020-04-21 | 华为技术有限公司 | 一种生成处理器故障记录的方法及装置 |
| US10007579B2 (en) | 2016-03-11 | 2018-06-26 | Microsoft Technology Licensing, Llc | Memory backup management in computing systems |
| CN105975382B (zh) * | 2016-05-13 | 2019-01-08 | 深圳市同泰怡信息技术有限公司 | 一种硬件配置变动的报警方法 |
| CN107656854A (zh) * | 2016-07-26 | 2018-02-02 | 佛山市顺德区顺达电脑厂有限公司 | 输出计算机系统的机器检查例外信息的方法 |
| US10152393B2 (en) | 2016-08-28 | 2018-12-11 | Microsoft Technology Licensing, Llc | Out-of-band data recovery in computing systems |
| US10296434B2 (en) * | 2017-01-17 | 2019-05-21 | Quanta Computer Inc. | Bus hang detection and find out |
| US10585608B2 (en) * | 2017-03-22 | 2020-03-10 | Oracle International Corporation | System and method for securely isolating a system feature |
| US10929232B2 (en) * | 2017-05-31 | 2021-02-23 | Intel Corporation | Delayed error processing |
| US10621024B2 (en) * | 2017-09-11 | 2020-04-14 | Smart Embedded Computing, Inc. | Signal pairing for module expansion of a failsafe computing system |
| US10540232B2 (en) | 2017-09-19 | 2020-01-21 | Hewlett Packard Enterprise Development Lp | Recovery using programmable logic device |
| CN107643965A (zh) * | 2017-09-29 | 2018-01-30 | 郑州云海信息技术有限公司 | 一种服务器诊断方法、系统、设备及计算机存储机介质 |
| CN108055117A (zh) * | 2017-12-27 | 2018-05-18 | 郑州云海信息技术有限公司 | 一种高效全双工的bmc与cpld互联通信方法 |
| US11169815B2 (en) * | 2018-01-16 | 2021-11-09 | Bby Solutions, Inc. | Method and system for automation tool set for server maintenance actions |
| US10404626B1 (en) * | 2018-03-23 | 2019-09-03 | Juniper Networks, Inc. | Method for resetting a packet processing component to an operational state |
| CN109471763B (zh) * | 2018-11-01 | 2022-02-18 | 郑州云海信息技术有限公司 | 抓取NVME硬盘trace的方法、装置、设备及系统 |
| TWI697774B (zh) * | 2018-11-01 | 2020-07-01 | 神雲科技股份有限公司 | 偵錯備份方法與伺服器 |
| CN109408272B (zh) * | 2018-11-06 | 2023-02-28 | 郑州云海信息技术有限公司 | 一种存储故障处理方法与装置 |
| CN111221677B (zh) * | 2018-11-27 | 2023-06-09 | 环达电脑(上海)有限公司 | 侦错备份方法与服务器 |
| CN109614351B (zh) * | 2018-11-30 | 2022-05-24 | 中国人民解放军陆军工程大学 | 带有纠错和自动应答机制的并行总线串行互联扩展方法 |
| CN109656768A (zh) * | 2018-12-27 | 2019-04-19 | 郑州云海信息技术有限公司 | 一种查看cpu ieer的测试方法 |
| CN113366457B (zh) * | 2019-01-31 | 2024-06-14 | 国际商业机器公司 | 处理输入/输出存储指令 |
| US11163659B2 (en) * | 2019-04-25 | 2021-11-02 | Intel Corporation | Enhanced serial peripheral interface (eSPI) signaling for crash event notification |
| US11422876B2 (en) * | 2019-08-02 | 2022-08-23 | Microsoft Technology Licensing, Llc | Systems and methods for monitoring and responding to bus bit error ratio events |
| US12099746B2 (en) * | 2019-12-16 | 2024-09-24 | Micron Technology, Inc. | Interrupt signaling for a memory device |
| EP3859526A1 (en) * | 2020-01-30 | 2021-08-04 | Hewlett-Packard Development Company, L.P. | Error information storage |
| US11204821B1 (en) * | 2020-05-07 | 2021-12-21 | Xilinx, Inc. | Error re-logging in electronic systems |
| US11347496B2 (en) * | 2020-09-04 | 2022-05-31 | Paypal, Inc. | Driver update via sideband processor |
| US11422879B1 (en) * | 2021-03-18 | 2022-08-23 | Xilinx, Inc. | Universal in-band error masking |
| CN115495291A (zh) * | 2021-06-18 | 2022-12-20 | 联想(北京)有限公司 | 用于促进系统致命错误的记录的方法和设备 |
| CN115934389A (zh) | 2021-08-04 | 2023-04-07 | 三星电子株式会社 | 用于错误报告和处理的系统和方法 |
| US12204424B2 (en) * | 2022-09-08 | 2025-01-21 | Dell Products L.P. | Privacy and security assurance during operating system crash events |
| CN115167933B (zh) * | 2022-09-08 | 2022-12-02 | 深圳市恒运昌真空技术有限公司 | 一种双处理器设备及其控制方法和处理器 |
| US12380214B2 (en) * | 2023-03-06 | 2025-08-05 | Dell Products L.P. | System and method of detecting tampering of an information handling system |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7010630B2 (en) * | 2003-06-30 | 2006-03-07 | International Business Machines Corporation | Communicating to system management in a data processing system |
| CN1794187A (zh) * | 2004-12-21 | 2006-06-28 | 日本电气株式会社 | 计算机系统及处理错误的方法 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US589956A (en) * | 1897-09-14 | Non-fillable bottle | ||
| US5544329A (en) | 1992-07-31 | 1996-08-06 | Grumman Aerospace Corporation | Interface system with memory map locations for holding flags indicating a priority for executing instructions held within messages received by the interface |
| FI97765C (fi) | 1993-11-26 | 1997-02-10 | Nokia Mobile Phones Ltd | Menetelmä sekä kytkentäjärjestely kutsuviestien käsittelemiseksi matkaviestimessä |
| JPH0816420A (ja) | 1994-06-28 | 1996-01-19 | Hitachi Ltd | 小型情報処理装置のエラー処理方法 |
| US5757669A (en) | 1995-05-31 | 1998-05-26 | Netscape Communications Corporation | Method and apparatus for workgroup information replication |
| US5892956A (en) | 1995-12-19 | 1999-04-06 | Advanced Micro Devices, Inc. | Serial bus for transmitting interrupt information in a multiprocessing system |
| US5812607A (en) | 1996-02-01 | 1998-09-22 | Qualcomm Incorporated | Method and apparatus for processing wideband data in a digital cellular communication system |
| US5999969A (en) | 1997-03-26 | 1999-12-07 | Unisys Corporation | Interrupt handling system for message transfers in network having mixed hardware and software emulated modules |
| US5889978A (en) | 1997-04-18 | 1999-03-30 | Intel Corporation | Emulation of interrupt control mechanism in a multiprocessor system |
| US6205508B1 (en) | 1999-02-16 | 2001-03-20 | Advanced Micro Devices, Inc. | Method for distributing interrupts in a multi-processor system |
| US6647440B1 (en) | 1999-09-15 | 2003-11-11 | Koninklijke Philips Electronics N.V. | End-of-message handling and interrupt generation in a CAN module providing hardware assembly of multi-frame CAN messages |
| US6665752B1 (en) | 2000-02-17 | 2003-12-16 | Conexant Systems, Inc. | Interrupt driven interface coupling a programmable media access controller and a process controller |
| 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 |
| US20070088988A1 (en) * | 2005-10-14 | 2007-04-19 | Dell Products L.P. | System and method for logging recoverable errors |
| US20070088816A1 (en) * | 2005-10-14 | 2007-04-19 | Dell Products L.P. | System and method for monitoring the status of a bus in a server environment |
| US20080256400A1 (en) * | 2007-04-16 | 2008-10-16 | Chih-Cheng Yang | System and Method for Information Handling System Error Handling |
-
2006
- 2006-08-14 US US11/464,364 patent/US7594144B2/en not_active Expired - Fee Related
-
2007
- 2007-06-19 CN CN200710112147XA patent/CN101126995B/zh not_active Expired - Fee Related
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7010630B2 (en) * | 2003-06-30 | 2006-03-07 | International Business Machines Corporation | Communicating to system management in a data processing system |
| CN1794187A (zh) * | 2004-12-21 | 2006-06-28 | 日本电气株式会社 | 计算机系统及处理错误的方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN101126995A (zh) | 2008-02-20 |
| US20080126852A1 (en) | 2008-05-29 |
| US7594144B2 (en) | 2009-09-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN101126995B (zh) | 处理严重硬件错误的方法及设备 | |
| TWI317868B (en) | System and method to detect errors and predict potential failures | |
| CN117389790B (zh) | 可恢复故障的固件检测系统、方法、存储介质及服务器 | |
| TWI229796B (en) | Method and system to implement a system event log for system manageability | |
| US8713350B2 (en) | Handling errors in a data processing system | |
| EP2510439B1 (en) | Managing errors in a data processing system | |
| US6742139B1 (en) | Service processor reset/reload | |
| US6697973B1 (en) | High availability processor based systems | |
| TWI632462B (zh) | 開關裝置及偵測積體電路匯流排之方法 | |
| US20090150721A1 (en) | Utilizing A Potentially Unreliable Memory Module For Memory Mirroring In A Computing System | |
| US9342393B2 (en) | Early fabric error forwarding | |
| TWI777628B (zh) | 電腦系統及其專用崩潰轉存硬體裝置與記錄錯誤資料之方法 | |
| WO2004081920A2 (en) | Policy-based response to system errors occuring during os runtime | |
| CN114003416B (zh) | 内存错误动态处理方法、系统、终端及存储介质 | |
| CN100541501C (zh) | 从设计缺陷中动态恢复和还原的装置、系统和方法 | |
| US7039743B2 (en) | System and method of retiring events upon device replacement | |
| JP5689783B2 (ja) | コンピュータ、コンピュータシステム、および障害情報管理方法 | |
| JP2003256240A (ja) | 情報処理装置及びその障害回復方法 | |
| CN118093265A (zh) | 一种pcie设备故障处理方法及服务器 | |
| US20050210329A1 (en) | Facilitating system diagnostic functionality through selective quiescing of system component sensor devices | |
| CN115827298A (zh) | 一种服务器开机故障定位方法、装置、终端及存储介质 | |
| KR100862407B1 (ko) | 에러를 검출하고 잠재적 고장을 예상하는 시스템 및 방법 | |
| US11797368B2 (en) | Attributing errors to input/output peripheral drivers | |
| CN120832261B (zh) | 故障检测方法和芯片、存储介质及电子设备 | |
| CN113312198B (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 | ||
| 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: 20100929 Termination date: 20150619 |
|
| EXPY | Termination of patent right or utility model |