CN101126995B - 处理严重硬件错误的方法及设备 - Google Patents

处理严重硬件错误的方法及设备 Download PDF

Info

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
microcontroller
serious
Prior art date
Application number
CN200710112147XA
Other languages
English (en)
Other versions
CN101126995A (zh
Inventor
马克·A.·布兰迪贝里
施瓦·R.·达萨里
丹尼尔·E.·哈利曼
布鲁斯·J.·威尔克
李·H.·威尔森
克里斯托弗·L.·伍德
Original Assignee
国际商业机器公司
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
Priority to US11/464,364 priority Critical
Priority to US11/464,364 priority patent/US7594144B2/en
Application filed by 国际商业机器公司 filed Critical 国际商业机器公司
Publication of CN101126995A publication Critical patent/CN101126995A/zh
Application granted granted Critical
Publication of CN101126995B publication Critical patent/CN101126995B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/0745Error 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

Abstract

揭示了用于处理计算机上的严重计算机硬件错误的方法及设备,其包括当严重硬件错误的出现时,暂停计算机的数据处理操作;由芯片组的源芯片通知可编程逻辑设备严重硬件错误的出现;由可编程逻辑设备通知嵌入式系统微控制器严重硬件错误的出现;由嵌入式系统微控制器通过至少一个边带总线,从芯片组的芯片中的寄存器读取有关严重硬件错误的原因的信息;以及由嵌入式系统微控制器将信息存储在嵌入式系统微控制器的非易失随机访问存储器中。

Description

处理严重硬件错误的方法及设备

技术领域

[0001] 本发明的技术领域是数据处理,更具体地说是用于处理严重计算机硬件错误的方 法、系统和产品。

背景技术

[0002] 1948年的EDVAC计算机系统的出现常常被称为计算机时代的开始。自那时以来, 计算机系统已发展成了极复杂的设备。今天的计算机比诸如EDVAC的早期系统更加复杂。 计算机系统通常包括硬件和软件部件、应用程序、操作系统、处理器、总线、存储器、输入/ 输出设备等的组合。随着半导体工艺和计算机体系结构的进步推动计算机性能越来越高, 已演变出更复杂的计算机软件以利用硬件的更高性能,这导致了当前的计算机系统比仅仅 几年前的更强。

[0003] 已有较大进步的计算机技术的一个领域是处理严重的计算机硬件错误。硬件错误 是与计算机系统中硬件部件的故障有关的行为。硬件部件,通常是芯片组(chipset)中的 芯片,包含可以检测硬件错误状态何时存在的错误检测机制。

[0004] 芯片组是一组集成电路(芯片),其被设计成能一起工作,通常作为单个产品上 市。芯片组的厂商可以是,并且通常是与母板的厂商无关的。母板芯片组的例子包括NVIDIA 的nForce芯片组和VIA技术的KT800,二者都用于AMD处理器,或Intel的若干芯片组之 一。当讨论基于现代Intel Pentium级系统的个人计算机时,术语〃芯片组〃通常是指 两个主总线适配器,即北桥和南桥。通常在计算机技术中,术语"芯片组"常常用来指计 算机或扩展卡上的专用母板芯片。术语"芯片组"在八十年代和九十年代还被广泛地用 于家用计算机中的定制音频和图形芯片,当今的游戏控制台和街机游戏硬件。例子包括 CommodoreAmiga的Original芯片组或SEGA的Systeml6芯片组。在本文中,术语〃芯片 组"用来指计算机的主要集成电路部件,包括处理器、存储器模块和总线适配器。

[0005]自80年代后期以来所生产的计算机系统通常共享通常所使用的芯片组,甚至在 非常不同的计算专业(specialty)之间共享-例如NCR53C9x,实现到存储设备等的SCSI接 口的廉价芯片组等等不仅可在UNIX机器(例如MIPS Magnum)中发现,而且还可在嵌入式 设备和个人计算机中发现。

[0006] 现代服务器对专用芯片组的依赖程度与对专用处理器和母板的依赖程度是一样 的。芯片组往往意味着母板;因此,具有相同芯片组的任何两个服务器板通常都是功能相同 的,除非厂商给由芯片组所提供的那些特性增加特性或移除对某些芯片组特性的支持。例 如,厂商可能增加额外芯片来支持附加特性,例如第二个10Mbps以太网、100Mbps高速以太 网或1000Mbps千兆比特以太网端口。

[0007] 芯片组通常包括经常被称为〃前端总线〃的处理器总线适配器、存储器控制器、 1/0控制器、存储器模块等。存储器控制器可被集成到总线适配器中。例如,用于服务器和 工作站的AMD Opteron处理器内置有存储器控制器;因此,支持Opteron处理器的芯片组 (或将存储器控制器集成到总线适配器的其它芯片组)通常不包括单独的存储器控制器芯片。

[0008] 在典型服务器中,母板上所有主集成电路都被包括在芯片组内。在典型计算机中, 芯片组的芯片实现处理器和所有其它部件之间的连接。大多数情况下,在不通过芯片组的 其它芯片的情况下,处理器不能与存储器模块、适配器板、外部设备等通信。

[0009] 虽然服务器芯片组被设计成执行与台式机芯片组相同类型的任务,但是就像典型 台式机芯片组一样,包含在典型服务器芯片组中的特性组强调稳定性,而不是性能。诸如对 纠错码(“ECC")存储器的支持、存储器的高级纠错、系统管理和消除超频选项的服务器 特定芯片组特性表明了对稳定性的强调。

[0010] 硬件错误通常涉及到的计算机部件包括固件或操作系统中的中断处理程序模块。 固件是存储在非易失存储器中的计算机系统级软件模块,以便当第一次对计算机加电时, 在操作系统被引导之前,可用于迅速运行。固件提供引导程序、硬件错误处理程序以及某些 低级I/O程序。固件的非常常见的例子是所谓的基本输入输出系统(“BIOS")。在用于 处理计算机硬件错误的常规体系结构中,在检测到芯片操作中的错误时,芯片通过在硬连 接的中断信号线上向可编程中断控制器发出中断来通知出错。然后可编程中断控制器向处 理器发中断信号,处理器将中断引导到BIOS或操作系统中的中断处理程序(调用"中断处 理程序〃)。

[0011] 作为硬件错误的结果而发出的中断可通过硬件自身,通过BIOS或操作系统错误 处理程序,或通过作为异常处理程序向操作系统登记的用户级应用程序来校正。硬件错误 可被分类为可校错误或不可校错误。可校错误是已被计算机硬件或计算机固件在操作系统 被通知错误状态存在时进行校正的硬件错误状态。不可校错误是不能被硬件或被固件校正 的硬件错误状态。不可校错误或是严重的,或是不严重的。严重的硬件错误是被确定为不 可由硬件校正的不可校的或不可控制的错误状态。当严重不可校错误发生时,系统被暂停 以防止错误的传播。非严重的硬件错误是操作系统通过设法校正错误可以试图从其恢复的 不可校错误状态。可以是严重的硬件错误的例子包括被零除错误、边界检查错误、无效操作 码错误、存储器段溢出错误、无效任务状态错误、堆栈错误,以及其它为本领域的技术人员 所知的错误。

[0012] 区分硬件错误报告的源和硬件错误的原因是有用的。硬件错误源是提醒操作系统 错误状态的存在的任何芯片。硬件错误源的例子包括:

[0013] •处理器机器校验异常(例如MC#)

[0014] •芯片组错误消息信号(例如SCI、SMI SERR#、MCERR#)

[0015] • I/O总线错误报告(例如PCI EXPRESS根端口错误中断)

[0016] 眷I/O设备错误

[0017] 单个硬件错误源可能处理不止一个类型的硬件错误状态的合计错误报告。例如, 处理器的机器校验异常通常报告处理器错误、高速缓存和存储器错误,以及系统总线错误。 注意到,系统管理中断(‘SMI')通常由固件处理;操作系统通常不处理SMI。

[0018] 硬件错误源通常由下列表示:

[0019] •一个或多个硬件错误状态寄存器。

[0020] •一个或多个硬件错误配置或控制寄存器。

[0021] •提醒操作系统硬件错误状态的存在的通知机制。[0022] 在某些情况下,没有显式的通知机制,并且操作系统必须轮询错误状态寄存器以 测试错误状态。然而,由于不可校错误需要操作系统的立即注意,所以轮询只能用于可校错 误状态。

[0023] 通常,中断通过边带(sideband)信号被提供给处理器,边带信号不会混入用于系 统中的数据移动和指令获取的带内总线中。’带内(in-band)总线'是携带用于执行计算 机上基本数据处理的计算机程序指令和数据的总线-和'边带总线'不同,其仅携带用于 在计算机的外围服务部件与芯片组的处理器、存储器及其他芯片之间的服务通信的指令和 数据。这个方面的更新变化是低优先级中断被作为消息中断处理,而诸如SMI和匪I的很 高优先级中断仍然被作为直接连线到处理器的边带信号处理。同样地,无需将数据完整性 公开给系统,最高优先级中断(其包括'不可校错误')被保证由处理器立即处理。

[0024] 近来,许多计算机系统已经开始将消息中断使用于这些高优先级中断,其与系统 的数据和指令总线被混入带内总线。该方法具有某些优点,但是由于高优先级中断到达系 统需要花费的时间量,以及在排队的消息中断设法到达服务的处理器的同时潜在破坏的数 据正流过系统的事实,它打开了数据完整性孔。

[0025] 处理在带内总线上使用消息中断的系统中的严重计算机硬件错误的一个常规方 法是允许某些不可校正的I/O错误,例如PCI SERR、PERR和目标中止由SMI或匪I处理程 序形式的系统软件来处理。因为通过引起匪I或机器校验而立即暂停系统,所以其它不可 校正的错误导致操作系统'蓝屏'。在此类系统中,为了故障分析,机器通常被保留在故障 状态中,即冻结在蓝屏状态,直到计算机被手工重新启动。

[0026] 处理使用超级传送(HyperTransport)带内总线的计算机中的严重计算机硬件错 误的另一个常规方式是设计一个系统,使得该系统对于某些或全部不可校正的错误进入超 级传送同步包洪水(sync flood)。此类系统试图在寄存器中使用所谓的'粘附位(stocky bit)',其被用于不可校正的错误的识别。此类系统在检测到超级传送同步包洪水时重新 启动系统,并且重新启动之后,取决于能够成功运行的BIOS,系统读取粘附位并且诊断问 题。此类系统可能需要额外的重新启动,使得它们可以根据从粘附位所获悉的来采取行动, 从而为了故障之后的可靠操作来配置系统。

[0027] 这两个常规解决方案都要求系统处理器能够在重新启动系统前后在文件系统上 运行。然而,对于严重硬件错误总存在系统在出现故障之后根本不会重新启动的风险。此 外,有关超级传送总线的第二个解决方案经常要求在故障之后不止一次地重新启动系统。 这对于经常将此类额外重新启动解释为故障之后系统'击溃'自身的用户来说是非常困 惑的。此外,诸如多位存储器错误、超级传送总线的链接错误、PCI错误等的某些错误可以 是如此严重,以致导致固件或操作系统中断处理程序根本不能运行。这就意味着严重的硬 件错误不能以详细的、有意义的方式得到记录和诊断。所有已知的是系统崩溃。因此,通过 固件或操作系统中断处理程序处理严重硬件错误总是承受至少某些数据损失的风险。

发明内容

[0028] 公开了用于处理计算机上的严重计算机硬件错误的方法及设备,其包括当出现严 重硬件错误时,暂停计算机的数据处理操作;由芯片组的源芯片通知可编程逻辑设备该严 重硬件错误的出现;由可编程逻辑设备通知嵌入式系统微控制器该严重硬件错误的出现;由嵌入式系统微控制器通过至少一个边带总线,从芯片组的芯片中的寄存器读取有关严重 硬件错误的原因的信息;以及由嵌入式系统微控制器将信息存储在嵌入式系统微控制器的 非易失随机访问存储器中。

[0029] 从以下如附图所示的本发明的示范实施例的更多具体描述中将明白本发明的上 述以及其它目的、特性和优点,其中类似参考标记号码通常代表本发明的示范实施例的类 似部分。

附图说明

[0030] 图1根据本发明的实施例列出了可用于处理严重计算机硬件错误的示例性计算 机的方框图。

[0031] 图2根据本发明的实施例列出了图解用于处理严重计算机硬件错误的示例性方 法的流程图。

具体实施方式

[0032] 从图1开始参考附图,其中描述了根据本发明的实施例用于处理严重计算机硬件 错误的示例性方法、系统和产品。作为该说明书中所使用的术语,‘严重计算机硬件错误' 是一种硬件错误,其不能由系统硬件、固件中的中断处理程序、操作系统中的中断处理程序 来校正,也不能通过由用户级应用软件向操作系统登记的任何异常处理程序校正。严重硬 件错误是一种由计算机中的硬件、芯片组的芯片确定的、不可校正的错误状态。所以在该说 明书中,术语'严重硬件错误'与'不可校正的硬件错误'被用作同义词。当严重硬件错 误发生时,计算机上的正常数据处理被暂停以防止错误和数据损坏的传播。由可编程逻辑 设备和嵌入式系统微控制器进行的服务处理如下所述继续进行。

[0033] 图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)的使用仅为了说明方便起见;事实上,根据本 发明的实施例的处理严重计算机硬件错误的计算机可以具有任何数量的处理器。

[0034] 图1的示例性计算机包括可编程逻辑设备(PLD) (104),其通过通知嵌入式系统 微控制器严重计算机硬件错误的出现,根据本发明的实施例操作来处理严重计算机硬件错 误。PLD是用来建立数字电路的电子设备部件。不同于具有固定功能的逻辑门,PLD在制造 的时候具有未定义的功能。在PLD可被用于电路之前,其必须被编程。此类PLD的程序代码可被嵌入用于处理严重计算机硬件错误的计算机程序产品中,并且计算机程序产品可通 过信号承载介质布置、传送或发送。信号承载介质可以是诸如光盘、磁盘或磁带的可记录介 质,或信号承载介质包括诸如计算机网络或无线介质的传输介质。根据本发明的实施例、用 于处理严重计算机硬件错误的设备的PLD的例子包括复杂可编程逻辑设备(CPLD)、现场可 编程门阵列(FPGA)、可编程阵列逻辑(PAL)、专用集成电路(ASIC)、嵌入式微控制器以及本 领域的技术人员可以想到的其它种类。

[0035] 该例子中的PLD(104)通过两个边带总线被通信连接到芯片组的芯片和嵌入式系 统微控制器。边带总线是用于计算机的外围服务部件与芯片组的处理器、存储器、以及其他 芯片之间的服务通信的总线。用于根据本发明的实施例处理严重硬件错误的计算机的边带 总线的例子包括JTAG和其它边界扫描总线、I2C总线、VESA显示数据通道(DDC)总线、系统 管理总线(SM总线),智能平台管理总线(IPMB),以及其他本领域的技术人员可以想到的总 线。I2C是由Philips发明的串行计算机总线,其被用来将低速外设附连到母板、嵌入式系 统或手机上。名字是集成电路间的缩写,并且读做I方C。I2C是访问总线、VESA显示数据 通道(DDC)接口、系统管理总线(SM总线),智能平台管理总线(IPMB,IPMI协议之一)的 ■石出。

[0036] ‘ JTAG'是联合测试行动组的缩写,并且是通常用来表示标题为标准测试访问端 口和边界扫描体系结构的IEEE1149. 1标准的名字。JTAG是被用来利用边界扫描测试印刷 电路板和部件(包括计算机处理器)的测试访问端口的标准。边界扫描是一种用于测试印 刷电路板上的互连(细电线连线)或集成电路内的子块的方法。被称为JTAG的边界扫描 标准已被全球电子设备公司如此广泛地采用,以致当前'边界扫描'和'JTAG'实际上是 同义词。然而,在本说明书中,‘边界扫描'和'JTAG'不被看作为同义词。作为此处所 使用的术语的'边界扫描'通常是指边界扫描操作,而'JTAG'用来指根据JTAG标准进 行的边界扫描。即,在本说明书中,JTAG被视作一种边界扫描的例子,公认地一种广泛使用 的例子,然而,仅仅是一个例子。术语'边界扫描'不仅包括JTAG,而且包括本领域的技术 人员可以想到的任何种类的边界扫描。

[0037] 边界扫描体系结构提供了无需使用物理试验探针就可测试逻辑、存储器和其它电 路部件的互连和集群的手段。其增加了连接到设备的每个管脚的一个或多个所谓的'测试 单元',所述设备可以选择性地替换该管脚的功能。这些单元通过JTAG扫描链可被编程以 驱动信号到管脚上,并且跨过板上的各个迹线(trace)。在板迹线的目的地处的单元能因此 被编程来读取管脚处的值,验证板迹线正确地连接两个管脚。如果迹线被短接到另一个信 号或如果迹线已被切断,则正确信号值不会出现在目的地管脚,并且将知道板具有故障。

[0038] 当在集成电路内部执行边界扫描时,有时被称作'测试单元'或'锁存单元'或 仅仅是'锁存器'的边界扫描锁存单元被增加到逻辑设计模块之间,以便能够以好像它们 是物理独立电路的方式控制它们。对于正常操作,设置增加的边界扫描锁存单元,使得它们 对电路没有影响,因此实际上是不可见的。然后当电路被设置成测试模式时,锁存器使数据 流能以所谓的'扫描链'方式顺序地从一个锁存器被传递到下一个锁存器。由于单元可被 用于强制数据进入板中,它们可以设立测试条件。通过顺序地按时钟节拍将数据字发回以 便能够对其进行分析,相关状态能因此被反馈到外部测试系统。通过采用该技术,包含嵌入 式系统微控制器或BMC的测试系统可以获得对板或诸如计算机处理器或计算机存储器模块的集成电路中的内部逻辑的测试访问。

[0039] 在该例子中,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),并且等待来自嵌入式系统微 控制器的处理器选择。

[0040] 如所提到的,嵌入式系统微控制器在图1的例子中被表示为BMC(102)。BMC是嵌入 在许多计算机,尤其是服务器的母板上的专用微控制器。BMC是智能平台管理接口(IPMI) 体系结构中的智能。BMC管理系统管理软件和平台硬件之间的接口。诸如BMC的系统管理 微控制器是包含小型处理器、存储微控制器控制程序(116)的少量存储器(102),以及一个 或多个1/0端口的小型嵌入式设备。该例子中的BMC(102)具有针对JTAG总线、两个I2C总 线连接以及扩展总线的1/0端口。

[0041] 不同类型的传感器安装到计算机系统中,其对于BMC使用关于诸如温度、冷却风 扇速度、功率模式、操作系统状态、处理器操作等的参数的BMC报告。BMC监视传感器,并且 如果任何参数没有保持在预置限制内,则可以经由网络向系统管理员发送提醒,表明系统 的潜在故障。管理员也可以与BMC远程通信以采取诸如复位或电源循环系统的某些校正动 作来获取挂起操作系统的再次运行。这些能力节省了拥有系统的总成本。

[0042] BMC的物理接口可包括系统管理总线(SMB)、RS-232总线、地址和数据线,以及智 能平台管理总线(IPMB),其使得BMC能从系统中的其它管理控制器接受IPMI请求消息。 BMC利用IPMI协议与远程客户端上的BMC管理应用程序(BMU)通信。BMU通常是命令行接 口(CLI)应用程序。智能平台管理接口(IPMI)规范定义了计算机硬件和固件的一组公共 接口,系统管理员可以利用其监视系统健康和管理系统。

[0043] IPMI独立于操作系统运行,并且即使在没有操作系统或系统管理软件的情况下, 或甚至所监视的系统尚未加电的情况下,仍允许管理员远程管理系统。当操作系统已启动 时,IPMI也可以工作,并且当与系统管理软件一起使用时,提供增强的功能。IPMI能够经由直接串行连接、局域网(LAN)或LAN上的串行(SOL)连接向远程客户端发出提醒。系统管 理员能因此通过相同的连接从远程控制台利用IPMI消息来查询平台状态、检查硬件日志、 或提交其它请求。标准还定义了系统的提醒机制以发送简单网络管理协议(SNMP)平台事 件陷阱(PET)。

[0044] 图1的示例性计算机还包括通过I2C总线(228)连接到BMC(102)的服务处理器 (102)。为正常数据处理而暂停的计算机系统被用来执行根据本发明实施例的对严重计算 机错误的处理。只有系统的边带部分是活动的。系统处理器提供了无需计算机的操作系统 或系统固件就可以完全工作的远程管理介质。因为服务处理器以独立于计算机中的用来执 行正常数据处理的其它处理器的方式运行,所以服务处理器可以如此工作。此外,它们利用 其自身的定制固件,并且甚至可以利用单独电源以增强可靠性。系统管理员或其他用户通 过带外连接能够直接与服务处理器通信。由服务处理器提供的管理工具、特性和客户接口 因制造商不同而各不相同。它们的复杂度范围可以从简单的Telnet控制台到丰富的Web 浏览器环境。服务处理器也可以通过比诸如以太网上的传输控制协议/网际协议(TCP/IP) 的串行端口更复杂的介质提供支持。服务处理器通常被集成到系统母板或内插式PCI适配 器中,并且如所提到的,以独立于系统的其它处理器的方式工作。

[0045] 在图1的示例性计算机中,应用程序(258)、用户级计算机程序指令的模块、操作 系统(260)和系统固件(236)被存储在RAM(256)中。应用程序(258)是用户级计算机程 序指令的模块。用于根据本发明的实施例处理严重计算机硬件错误的计算机中的操作系统 包括UNIXtm、LinuxTM、Microsoft NTtm、AIXtm、IBM的i5/0STM,及其他本领域的技术人员将想 起的操作系统。系统固件(236)被表示成基本输入/输出系统或'BIOS'。图1的例子中 的应用程序(258)、操作系统(260)和系统固件(236)在RAM(256)中示出,但是此类软件的 许多部分通常也被存储在非易失存储器中,例如盘驱动器(284)上或EEPR0M(电可擦除可 编程只读存储器)或,快擦写'存储器中。

[0046] 图1的计算机(246)包括总线适配器(272)、包括驱动高速总线的电子设备的计 算机硬件部件、超级传送总线(294、248、242)、视频总线(296)和存储器总线(298)。用于 根据本发明的实施例处理严重计算机硬件错误的计算机中的总线适配器的例子包括Intel 北桥、Intel存储器控制器集线器以及超级传送总线适配器。在该例子中总线适配器(272) 被表示为超级传送适配器。图1的计算机(246)包括附加总线适配器(234),其为扩展总线 (234)提供驱动电子设备。为扩展总线提供驱动电子设备的总线适配器的例子包括Intel 南桥、IntelI/0控制器集线器以及超级传送适配器。总线适配器(234)在该例子中被表示 为南桥。用于根据本发明的实施例处理严重计算机硬件错误的计算机中的扩展总线的例子 包括工业标准结构(ISA)总线和外部部件互连(PCI)总线族,PCI、PCIE和PCIX。

[0047] 超级传送总线(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共享总线体系结构。

[0048] 在使用超级传送总线作为带内总线的计算机的情况中,对于不可校正的错误,超 级传送连接的芯片可由寄存器设置来配置,使得同步包在出现故障的超级传送链接上被发 送。其它超级传送连接的芯片可由寄存器设置来配置,以将在其链接之一上所见的同步包 洪水传送给它们被连接到的超级传送链接。如果所有超级传送芯片被设置成传送同步包 洪水,则所有系统的超级传送总线将在不可校正的错误发生的毫微秒内处于同步包洪水状 态。

[0049] 超级传送适配器(272)代表芯片组的芯片,通过通知PLD(104)不可校正的错误 的出现,其被配置成充当'源芯片'。即,适配器(272)可以用作'源芯片',也就是说其 可以是有关严重硬件错误已发生的信号的源。在该例子中,源芯片(272)被连接到支持消 息中断的带内总线上,即被连接到超级传送总线上。通过在严重硬件错误出现时将同步包 洪水作用在超级传送总线上,连接到超级传送总线的任何链接的任何芯片可导致计算机上 的数据处理操作暂停。即,例如如果处理器(110)检测到严重存储器地址错误,则处理器 (110)可以将同步包洪水引到超级传送总线,从而暂停计算机上的数据处理操作。超级传送 适配器(272)检测到超级传送总线上的同步包洪水,将同步包洪水解释成代表严重计算机 硬件错误的出现,并且利用硬连线的严重错误信号线(232)通知PLD(104)和南桥出现严重 硬件错误。然后PLD可以利用I2C边带总线(226)通知嵌入式系统微控制器(102)严重硬 件错误的出现。通过这种方式,在带内总线上,在这种情况下,在超级传送总线上通知嵌入 式系统微控制器(102)出现故障,而不需要嵌入式系统微控制器(102)自身连接到带内总 线上。该系统设置在发生不可校正的错误时阻止所有系统数据移动,因此终止任何数据完 整性曝露。所有中断也被同步包洪水锁住,以免在超级传送总线上传送。

[0050] 然后,嵌入式系统微控制器(102)通过边带总线从芯片组的芯片中的寄存器读取 有关不可校正的错误的原因的信息。在该例子中,嵌入式系统微控制器(102)通过JTAG总 线(292、288)至少从处理器(110)上的寄存器读取有关严重硬件错误的原因的信息。嵌入 式系统微控制器(102)也可以从其它芯片中的寄存器读取有关严重错误的原因的信息-因 为虽然该例子中的处理器(110)检测到错误,并且总线适配器(272)报告了错误,但是很可 能既不是处理器(110)又不是总线适配器(272)实际导致了错误。因此,为了进行有用的 诊断,嵌入式系统微控制器(102)可对芯片组的多个芯片的寄存器进行查询。在该例子中, 系统固件/BIOS在引导时预先配置每个超级传送连接的芯片,以将同步包洪水传播到其连 接到的所有其它超级传送总线链接,使得进行超级传送错误检测的芯片能够可靠地检测同 步包洪水已发生。

[0051] 然后,嵌入式系统微控制器(102)将有关严重错误的原因的信息存储在嵌入式系 统微控制器的非易失随机访问存储器(102)中,使得即使在重新启动之后,信息也可以用于错误诊断。嵌入式系统微控制器(102)也可将有关不可校正错误的原因的信息存储在系 统错误日志中,并且由嵌入式系统微控制器重新启动计算机。在这样的系统中,由嵌入式系 统微控制器(102)而不是BIOS/固件控制重新启动的定时。该例子中的计算机(246)通过 复位信号线(230)将处理器(106,110)和其它系统部件(274、276、278)连接到PLD(104), 使得嵌入式系统微控制器(102)能够利用I2C信号(226)命令PLD复位系统的个别部件或 重新启动整个计算机系统。根据有关严重硬件错误的原因的信息,系统固件(236)在重新 启动期间可以确定在出现严重硬件错误之后计算机是否能够成功地返回服务。 [0052] 图1的计算机(246)包括通过扩展总线(244)连接的磁盘驱动器适配器(278),以 及连接到处理器(108、110)和计算机(246)的其它部件的总线适配器(272)。磁盘驱动器 适配器(278)以磁盘驱动器(284)的形式将非易失数据存储设备连接到计算机。用于根据 本发明的实施例处理严重计算机硬件错误的计算机中的磁盘驱动器适配器包括集成驱动 电子设备(IDE)适配器、小型计算机系统接口(SCSI)适配器及其他本领域的技术人员将想 起的适配器。此外,磁盘驱动器、非易失计算机存储器可被实现成光盘驱动器、电可擦除可 编程只读存储器空间(所谓的'EEPROM'或'快擦写'存储器)、电池支持的RAM驱动器 等,如本领域的技术人员将想起的。

[0053] 图1的示例性计算机包括一个或多个输入/输出(I/O)适配器(276)。I/O适配 器通过例如用于控制对诸如计算机显示屏幕的显示设备的输出,以及控制来自诸如键盘和 鼠标的用户输入设备(282)的用户输入的软件驱动程序和计算机硬件,实现面向用户的输 入/输出。图1的示例性计算机包括视频适配器(254),其是专门为到诸如显示屏幕或计算 机监视器的显示设备(252)的图形输出而设计的I/O适配器的例子。视频适配器(254)通 过高速视频总线(296)、总线适配器(272),以及如上所述也是一种高速总线的超级传送总 线(294,248)被连接到处理器(108、110)上。

[0054] 图1的计算机包括用于与其它计算机(280)的数据通信的通信适配器(274)。通 过串行地通过RS-232连接、通过诸如通用串行总线(USB)的外部总线、通过诸如IP数据通 信网络的数据通信网络、以及本领域的技术人员将想起的其他方式,可以实现这样的数据 通信。通信适配器直接地或通过数据通信网络实现硬件级数据通信,一个计算机通过所述 硬件级数据通信发送数据通信到另一个计算机。用于根据本发明实施例处理严重计算机硬 件错误的计算机的通信适配器的例子包括用于有线拨号通信的调制解调器、用于有线数据 通信网络通信的以太网(IEEE802.3)适配器、以及用于无线数据通信网络通信的802. Ilb/ g适配器。

[0055] 为进一步说明,图2根据本发明的实施例列出了图解用于处理严重计算机硬件错 误的示例性方法的流程图。在包含芯片组的芯片的计算机中的嵌入式系统微控制器的计算 机程序指令和可编程逻辑器件(PLD)的可编程逻辑的控制之下执行图2的方法,其中芯片 组的芯片是计算机的主集成电路部件。芯片组的芯片通过一个或多个带内总线进行通信连 接,并且芯片包含至少一个计算机处理器和至少一个总线适配器。此外,计算机包含通过至 少一个边带总线通信连接到芯片组的芯片和嵌入式系统微控制器的可编程逻辑设备。

[0056] 带内总线是用于在芯片组的处理器、存储器、以及其他芯片之间传送用于执行应 用程序的计算机程序指令和计算机程序数据的总线。带内总线可以是超级传送总线、Intel 前端总线、PCI总线、PCI-E总线、PCI-X总线等等。边带总线是用于计算机的外围服务部件与芯片组的处理器、存储器、以及其他芯片之间的服务通信的总线。边带总线可以是联合测 试行动组(JTAG)总线、集成电路间(I2C)总线、VESA显示数据通道(DDC)接口、系统管理总 线(‘SMBus'),智能平台管理总线(‘IPMB')等等。嵌入式系统微控制器可以是底板 管理控制器(‘BMC')。

[0057] 图2的方法包括当严重硬件故障出现时暂停(300)计算机的数据处理操作。例如, 当检测到链接上的严重硬件错误时,超级传送总线的链接上的任何设备可触发链接上的同 步包洪水。相同链接上的另一个设备可被配置成触发相邻链接等等上的 同步包洪水,直到 整个超级传送总线处于同步包洪水状态,从而暂停计算机上的数据处理操作。注意到,在依 赖于用于中断的总线消息的系统中,这也有效地暂停所有中断活动,通常包括可通知严重 计算机硬件错误的中断。对于另一个例子,当检测到PCI总线上的SERR或PERR错误类型 时,PCI适配器或合并到PCI适配器中的南桥或北桥可锁住总线,从而有效地暂停进一步的 I/O数据处理操作。

[0058] 图2的方法包括由芯片组的源芯片通知(302)可编程逻辑器件出现严重硬件错 误。源芯片是通知其它芯片出现严重硬件错误的信号的'源'。源芯片是检测和报告错误 状态的芯片-可能是或可能不是其故障导致错误状态的芯片。芯片组中的芯片可能不都被 配置成检测错误状态和通知错误状态。在超级传送例子,即支持消息中断的总线中,源芯片 连同可不被配置成检测或通知错误状态的若干其它芯片一起可被连接到带内超级传送总 线上,尽管任何芯片可能是严重硬件错误的源。其它芯片之一,例如未被配置成检测或通知 严重计算机硬件错误的芯片之一可由于硬件错误而触发同步包洪水,并且仅当同步包洪水 到达源芯片时,同步包洪水被识别成表示严重硬件错误。通过诸如图1上的参考(232)所 图解的硬连线信号线,源芯片可通知PLD出现严重硬件错误。

[0059] 图2的方法包括由PLD通知(304)嵌入式系统微控制器出现严重硬件错误。通过 诸如JTAG总线或如图1上的参考(28,226)所示的I2C,PLD使用边带信号可通知嵌入式系 统微控制器出现严重硬件错误。

[0060] 图2的方法包括由嵌入式系统微控制器通过至少一个边带总线从芯片组的芯片 中的寄存器读取(306)有关严重计算机硬件错误的原因的信息。有关严重硬件错误的原因 的信息可包括,例如:

[0061] •哪个存储器模块已出现故障,以便其可被隔开。

[0062] ·哪个处理器出现故障,并且不应被设置在运行时间使用。

[0063] •哪个总线、超级传送、Infiniband, PCI等被损坏,并且不能被使用。

[0064] •哪个总线适配器、超级传送、北桥、南桥、PCI、PCI-X、PCI-E等已出现故障,并且 不能被使用。

[0065] 图2的方法还包括由嵌入式系统微控制器在嵌入式系统微控制器的非易失随机 访问存储器中存储(308)信息。图2的方法还包括由嵌入式系统微控制器在系统错误日志 中存储(310)有关严重计算机硬件错误的原因的信息。图2的方法还包括由嵌入式系统微 控制器重新启动(312)计算机系统,以及根据有关严重硬件错误的原因的信息,在重新启 动期间由计算机系统的固件确定(314)在出现严重硬件错误之后计算机是否可以成功地 返回服务。重新启动时,BIOS或其它系统固件决定如何重新配置系统,以使其能够保持运 行,直到其通过读取由BMC提供的系统故障/系统状态表接受服务。所以,芯片商不必在这种模式中实现粘附错误位。BIOS也不必读取位来确定系统状态。BIOS使确定其是否可以在开始重新启动之前激活系统所需的信息可用。如果错误将停止系统而不被再次激活,则 BIOS在启动时会知道其甚至不应尝试。进一步地,其会通知用户计算机发生故障。

[0066] 考虑到本文中上面所进行的说明,读者会认识到根据本发明的实施例处理严重计 算机硬件错误提供了这些好处:

[0067] •所有严重计算机硬件错误处理可被从系统固件和操作系统、BIOS和操作系统中 断处理器中移除。系统管理功能、PLD、BMC、服务器处理器等等可处理所有严重硬件错误, BIOS或诸如BIOS的其他系统固件在重新启动时可以对系统管理硬件/软件的发现采取行动。

[0068] •减少或消除了使用消息中断并且尝试使用系统软件来诊断严重计算机硬件错 误的系统的可能数据完整性问题。

[0069] •在硬件级检测严重硬件错误,并且在严重错误发生之后非常迅速地暂停系统数 据处理,不需要长超时来确定严重错误已发生。

[0070] •定义系统结构、配置和要求的总集,其将允许BMC在不必运行任何系统代码的 情况下,在系统被完全暂停的同时检测和记录严重计算机硬件错误。通过在BMC或其它嵌 入式系统设备上运行系统管理代码来完全做到这点。此外,该模式在不需要'粘附'错误 位的情况下完成该任务,并且即使系统不能成功复位或重新启动,仍然能够工作。

[0071] •在不牺牲任何错误恢复功能的情况下,从固件、BIOS、和操作系统中清除所有不 可恢复错误功能。

[0072] •作为严重硬件错误之后暂停系统的手段,清除SMI中断处理器产生匪I中断的 任何要求。

[0073] •不需要BIOS、系统固件或操作系统中的中断处理器使用系统重新启动时一直保 持其状态的粘附位,严重计算机硬件错误被非常可靠地处理。使用粘附位方案,因为BIOS/ 固件不知道在重新启动时候故障的性质是什么,以及可能再次遇到相同的不可恢复的错 误,所以BIOS或固件可能无意地再次导致故障。

[0074] •在重新启动之前,提供了出现严重错误的BIOS/固件和中断处理器/操作系统 处理的完全替换,可以处理在重新启动之前,应由BIOS/固件或操作系统的中断处理器预 先已处理的任何严重硬件错误的替换,能够从计算机系统中的任何地方,而不是仅仅从其 一部分寻址到错误。

[0075] 本发明的示范实施例主要在用于处理严重计算机硬件错误的全功能计算机系统 的情况下被描述。然而,本领域技术人员将认识到,本发明还可被嵌入布置在供任何适合的 数据处理系统使用的信号承载介质上的计算机程序产品中。这样的信号承载介质可以是机 器可读信息的传输介质或可记录介质,包括磁介质、光学介质或其它适合的介质。可记录介 质的例子包括硬盘驱动器中的磁盘或软盘、光学驱动器的光盘、磁带以及其它本领域的技 术人员将想起的介质。传输介质的例子包括音频通信的电话网和数字数据通信网络,例如 Ethernets™以及利用网际协议和万维网通信的网络。所属技术领域的专业人员将立即认 识到具有适合的编程设备的任何计算机系统将能够如程序产品中所嵌入的执行本发明的 方法的步骤。所属技术领域的专业人员将立即认识到,虽然该说明书中所描述的一些示范 实施例被定向到计算机硬件上所安装和执行的软件,然而,作为固件或硬件所实现的可选实施例也在本发明的范畴内。 [0076] 从以上描述应该理解,在不偏离其真正宗旨的情况下,本发明的各种实施例可以 作出修改和改变。该说明书中的描述仅仅是为了说明,而不会以限制意义分析。本发明的 范围仅受限于以下权利要求书的语言。

Claims (16)

  1. 一种处理严重计算机硬件错误的方法,所述计算机包括:芯片组的芯片,所述芯片组的芯片包括计算机主集成电路部件,所述部件包含一个或多个处理器,一个或多个存储器模块,以及一个或多个总线适配器,所述芯片组的芯片通过一个或多个带内总线进行通信连接,所述计算机进一步包括通过至少一个边带总线通信连接到芯片组的芯片和嵌入式系统微控制器的可编程逻辑设备,所述方法包括:由连接到支持所通知的中断的带内总线上的芯片组的一个源芯片检测严重硬件错误的出现,包括检测带内总线上的同步包洪水;当严重硬件错误出现时暂停计算机的数据处理操作;由该芯片组的源芯片通知可编程逻辑设备该严重硬件错误的出现;由可编程逻辑设备通知嵌入式系统微控制器该严重硬件错误的出现;由嵌入式系统微控制器通过至少一个边带总线,从芯片组的芯片中的寄存器读取有关严重硬件错误的原因的信息;以及由嵌入式系统微控制器将信息存储在嵌入式系统微控制器的非易失随机访问存储器中。
  2. 2.根据权利要求1的方法,进一步包括由嵌入式系统微控制器将有关严重硬件错误的 原因的信息存储在系统错误日志中。
  3. 3.根据权利要求1的方法,进一步包括由嵌入式系统微控制器重新启动计算机。
  4. 4.根据权利要求3的方法,进一步包括在重新启动期间,由计算机系统的固件根据有 关严重硬件错误的原因的信息确定在出现严重硬件错误之后计算机是否能够成功地返回 服务。
  5. 5.根据权利要求1的方法,其中源芯片进一步包括超级传送总线适配器。
  6. 6.根据权利要求1的方法,其中:带内总线是用于在芯片组的处理器、存储器、以及其他芯片之间传送用于执行应用程 序的计算机程序指令和计算机程序数据的总线;以及边带总线是用于计算机的外围服务部件与芯片组的处理器、存储器、以及其他芯片之 间的服务通信的总线。
  7. 7.根据权利要求1的方法,其中:所述一个或多个带内总线中的至少一个带内总线包括超级传送总线;以及 所述至少一个边带总线包括联合测试行动组总线和集成电路间总线。
  8. 8.根据权利要求1的方法,其中嵌入式系统微控制器为底板管理控制器。
  9. 9. 一种用于处理严重计算机硬件错误的设备,该设备包括:芯片组的芯片,所述芯片组的芯片包括计算机的主集成电路部件,所述芯片组的芯片 通过一个或多个带内总线进行通信连接,所述芯片包含至少一个计算机处理器和至少一个 总线适配器,所述芯片组的至少一个芯片被连接到支持所通知的中断的带内总线上,被配 置成通过检测带内总线上的同步包洪水来检测严重硬件错误的出现,并被配置成当严重硬 件错误出现时暂停计算机的数据处理操作,以及通知可编程逻辑设备该严重硬件错误的出 现;通过至少一个边带总线被通信连接到芯片组的一个或多个芯片以及嵌入式系统微控 制器的可编程逻辑设备,所述可编程逻辑设备被配置成响应于从芯片组的芯片接收有关严 重硬件错误的出现的信号,通知嵌入式微控制器该严重硬件错误的出现;以及嵌入式系统微控制器,其通过可编程逻辑设备和至少一个边带总线被连接到芯片组的 芯片,以及被配置成从芯片组的芯片中的寄存器读取有关严重硬件错误的原因的信息,并 且将信息存储在嵌入式系统微控制器的非易失随机访问存储器中。
  10. 10.根据权利要求9的设备,其中:带内总线是用于在芯片组的处理器、存储器以及芯片之间传送用于执行应用程序的计 算机程序指令和计算机程序数据的总线;以及边带总线是用于计算机的外围服务部件与芯片组的处理器、存储器以及芯片之间的服 务通信的总线。
  11. 11.根据权利要求9的设备,其中,所述芯片组的所述至少一个芯片进一步包括超级传 送总线适配器。
  12. 12.根据权利要求9的设备,其中,嵌入式系统微控制器进一步被配置成将有关严重硬 件错误的原因的信息存储在系统错误日志中。
  13. 13.根据权利要求9的设备,其中,嵌入式系统微控制器进一步被配置成重新启动计算 机系统。
  14. 14.根据权利要求13的设备,进一步包括计算机的固件,其被配置成在重新启动期间, 根据有关严重硬件错误的原因的信息,确定在出现严重硬件错误之后计算机是否能够成功 地返回服务。
  15. 15.根据权利要求9的设备,其中:所述一个或多个带内总线中的至少一个带内总线包括超级传送总线;以及所述至少一个边带总线包括联合测试行动组总线和集成电路间总线。
  16. 16.根据权利要求9的设备,其中嵌入式系统微控制器为底板管理控制器。
CN200710112147XA 2006-08-14 2007-06-19 处理严重硬件错误的方法及设备 CN101126995B (zh)

Priority Applications (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 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 (94)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8015440B2 (en) 2006-12-06 2011-09-06 Fusion-Io, Inc. Apparatus, system, and method for data storage using progressive raid
US8706968B2 (en) 2007-12-06 2014-04-22 Fusion-Io, Inc. Apparatus, system, and method for redundant write caching
US8489817B2 (en) 2007-12-06 2013-07-16 Fusion-Io, Inc. Apparatus, system, and method for caching data
US8443134B2 (en) 2006-12-06 2013-05-14 Fusion-Io, Inc. Apparatus, system, and method for graceful cache device degradation
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
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
US9104599B2 (en) 2007-12-06 2015-08-11 Intelligent Intellectual Property Holdings 2 Llc Apparatus, system, and method for destaging cached data
US9519540B2 (en) 2007-12-06 2016-12-13 Sandisk Technologies 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
JP4644720B2 (ja) * 2008-03-10 2011-03-02 富士通株式会社 制御方法、情報処理装置及びストレージシステム
KR101717644B1 (ko) 2009-09-08 2017-03-27 샌디스크 테크놀로지스 엘엘씨 고체-상태 저장 디바이스 상에서 데이터를 캐싱하는 장치, 시스템, 및 방법
KR20110026578A (ko) * 2009-09-08 2011-03-16 엘지전자 주식회사 시스템 메모리의 에러 보정 장치 및 방법
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 聯想企業解決方案(新加坡)有限公司 處理系統錯誤之方法及系統
EP2577466A2 (en) * 2010-05-28 2013-04-10 Advantest Corporation Flexible storage interface tester with variable parallelism and firmware upgradeability
US8615622B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Non-standard I/O adapters in a standardized I/O architecture
US8683108B2 (en) 2010-06-23 2014-03-25 International Business Machines Corporation Connected input/output hub management
US8615586B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Discovery of logical images at storage area network endpoints
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
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
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
US8671287B2 (en) 2010-06-23 2014-03-11 International Business Machines Corporation Redundant power supply configuration for a data center
US8645606B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Upbound input/output expansion request and response processing in a PCIe architecture
US8656228B2 (en) 2010-06-23 2014-02-18 International Business Machines Corporation Memory error isolation and recovery in a multiprocessor computer system
EP2628092B1 (en) * 2010-10-16 2019-01-23 Hewlett-Packard Enterprise Development LP Device hardware agent
US8966184B2 (en) 2011-01-31 2015-02-24 Intelligent Intellectual Property Holdings 2, LLC. Apparatus, system, and method for managing eviction of data
US8874823B2 (en) 2011-02-15 2014-10-28 Intellectual Property Holdings 2 Llc Systems and methods for managing data input/output operations
US9003104B2 (en) 2011-02-15 2015-04-07 Intelligent Intellectual Property Holdings 2 Llc Systems and methods for a file-level cache
WO2012116369A2 (en) 2011-02-25 2012-08-30 Fusion-Io, Inc. Apparatus, system, and method for managing contents of a cache
US9201677B2 (en) 2011-05-23 2015-12-01 Intelligent Intellectual Property Holdings 2 Llc Managing data input/output operations
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 株式会社東芝 コンピュータ、コンピュータシステム、および障害情報管理方法
US9342393B2 (en) 2011-12-30 2016-05-17 Intel Corporation Early fabric error forwarding
US10102117B2 (en) 2012-01-12 2018-10-16 Sandisk Technologies Llc Systems and methods for cache and storage device coordination
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
US9251086B2 (en) 2012-01-24 2016-02-02 SanDisk Technologies, Inc. Apparatus, system, and method for managing a cache
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
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
JP6032510B2 (ja) * 2012-06-06 2016-11-30 インテル・コーポレーション 入出力エラー封じ込めイベント後のリカバリ
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 系統事件讀取方法及系統
US10339056B2 (en) 2012-07-03 2019-07-02 Sandisk Technologies Llc Systems, methods and apparatus for cache transfers
US9612966B2 (en) 2012-07-03 2017-04-04 Sandisk Technologies Llc Systems, methods and apparatus for a virtual machine cache
US10359972B2 (en) 2012-08-31 2019-07-23 Sandisk Technologies Llc Systems, methods, and interfaces for adaptive persistence
CN102915260B (zh) * 2012-09-17 2016-04-20 记忆科技(深圳)有限公司 固态硬盘容错的方法及其固态硬盘
CN102968354A (zh) * 2012-11-13 2013-03-13 浪潮电子信息产业股份有限公司 一种基于Intel Brickland-EX平台的同频锁步模式的自动切换方法
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双千兆网络并带有管理功能的方法
KR101944874B1 (ko) * 2014-06-24 2019-02-01 후아웨이 테크놀러지 컴퍼니 리미티드 오류 처리 방법, 관련 장치 및 컴퓨터
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 深圳市同泰怡信息技术有限公司 一种硬件配置变动的报警方法
TWI582586B (zh) * 2016-06-01 2017-05-11 神雲科技股份有限公司 輸出電腦系統的機器檢查例外資訊的方法
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
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互联通信方法
TWI697774B (zh) * 2018-11-01 2020-07-01 神雲科技股份有限公司 偵錯備份方法與伺服器

Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
US9348722B2 (en) Diagnostic and managing distributed processor system
CN105938450B (zh) 自动除错信息收集的方法及系统
US6918052B2 (en) Managing operations of a computer system having a plurality of partitions
TWI306193B (en) Self-monitoring and updating of firmware over a network
US6070253A (en) Computer diagnostic board that provides system monitoring and permits remote terminal access
US5907689A (en) Master-target based arbitration priority
US6105146A (en) PCI hot spare capability for failed components
JP5579354B2 (ja) 関連アプリケーションに対するトラック・データ・クロスリファレンスを保存する方法及び装置
KR100530710B1 (ko) 이종 분할 시스템에서의 글로벌 에러 보고 방법 및 장치
US7035953B2 (en) Computer system architecture with hot pluggable main memory boards
US6604207B2 (en) System architecture for remote access and control of environmental management
US7107495B2 (en) Method, system, and product for improving isolation of input/output errors in logically partitioned data processing systems
US7137020B2 (en) Method and apparatus for disabling defective components in a computer system
TWI446161B (zh) 處理一多處理器資訊處理系統之一故障處理器的裝置及方法
US6658599B1 (en) Method for recovering from a machine check interrupt during runtime
US7339885B2 (en) Method and apparatus for customizable surveillance of network interfaces
US20160019131A1 (en) Methods and Arrangements to Collect Data
US6249885B1 (en) Method for managing environmental conditions of a distributed processor system
US6532552B1 (en) Method and system for performing problem determination procedures in hierarchically organized computer systems
CN100504798C (zh) 处理器故障隔离的方法和装置
Gunawi et al. Fail-slow at scale: Evidence of hardware performance faults in large production systems
US6802023B2 (en) Redundant controller data storage system having hot insertion system and method
US7434102B2 (en) High density compute center resilient booting
US6088816A (en) Method of displaying system status
US6163849A (en) Method of powering up or powering down a server to a maintenance state

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
EXPY Termination of patent right or utility model
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100929

Termination date: 20150619