通过降级重新引导进行快速系统恢复的方法和系统的制作方法

文档序号:6538291阅读:170来源:国知局
专利名称:通过降级重新引导进行快速系统恢复的方法和系统的制作方法
技术领域
本发明一般地涉及改进的数据处理系统,具体地说,涉及用于处理数据处理系统中故障硬件的方法和装置。
背景技术
具有高可用性要求的现代计算机系统使用许多设计方法来从硬件错误中恢复并重新开始正常的系统操作。某些错误的恢复不影响操作系统或用户应用,而另一些错误的恢复对操作系统或用户应用只有很少或最低程度的影响,如正在未决美国专利申请AUS920010117US1“Method andApparatus for Parity Error Recovery”(用于奇偶校验错误恢复的方法和装置)中所述。那些要破坏客户数据完整性才能恢复的硬件错误可导致系统终止。为了从系统终止中恢复,例如,美国专利5,951,686中描述了一种自动的系统重新引导恢复方法。为了避免出现错误的硬件在重新引导后进一步影响系统操作,已设计出多种用于使计算机系统中的处理器和存储器永久退出配置(deconfiguration)的方法,如美国专利6,223,680和6,234,823中所教导的。
但是,现有的永久退出配置的方法只能处理处理器内部或存储器子系统内部的错误。现有的方法不能处理计算机内的诸子系统之间的接口总线上的硬件错误。因此,出现错误后,在自动的系统重新引导恢复期间,需要全面诊断测试系统硬件,以确保系统能够成功地重新引导。在系统恢复期间进行全面的硬件测试会延长恢复时间,从而降低系统可用性。另外,计算机系统中的某些硬件错误在本质上是间断的,因此,在自动的系统恢复期间进行简单的诊断测试并不总是能够检测到这些错误。相同的错误可能再次重新出现并导致另一次系统运行中断。
因此,具有一种方法以便在系统终止后标识所有硬件错误并从系统配置中隔离这些错误将是有益的。

发明内容
本发明披露了一种系统,其中出现错误的硬件功能单元被从所述系统断开,例如,通过激活所述硬件电路的开关。与所述错误硬件相关联或相连接的硬件功能单元,或者由于移除所述出现错误的硬件而将受到不利影响的硬件功能单元也被从所述系统中移除。所述被移除的单元被记录在一个表中。隔离了硬件错误之后,计算机然后执行自动的快速系统重新引导恢复,不全面诊断测试所述系统硬件,由此减少了所述系统的停机时间。


在所附权利要求书中说明了被认为是本发明特性的新颖特征。但是,当结合附图阅读时,通过参考以下对示例性实施例的详细说明,可以最佳地理解发明本身及其优选使用方式、进一步的目的和优点,这些附图是图1示出了与本发明的一个优选实施例一致的计算机系统;图2示出了与本发明的一个优选实施例一致的计算机系统的方框图;图3示出了一个用于实现本发明的一个优选实施例的过程流;图4示出了一个用于实现本发明的一个优选实施例的过程流。
具体实施例方式
现在参考附图,具体地说,参考图1,图1示出了根据本发明的一个优选实施例的、可以在其中实现本发明的数据处理系统的图形表示。图1示出了计算机100,其包括系统单元102、视频显示终端104、键盘106、存储设备108(其可以包括软盘驱动器以及其他类型的永久和可移除存储介质)以及鼠标110。个人计算机100可以附带其他输入设备,例如游戏杆、触控板、触摸屏、轨迹球、麦克风等。可以使用任何适当的计算机(例如IBM eServer计算机或IntelliStation计算机,它们是位于纽约阿蒙克的国际商业机器公司的产品)来实现计算机100。虽然所示表示显示了计算机,但是可以以其他类型的数据处理系统(如网络计算机)来实现本发明的其他实施例。计算机100还优选地包括可以借助系统软件来实现的图形用户界面,所述系统软件驻留在计算机可读介质内并在计算机100中运行。
现在参考图2,图2示出了其中可以实现本发明的数据处理系统的方框图。数据处理系统200是诸如图1中的计算机100之类的计算机的一个实例,实现本发明的诸过程的代码或指令可以位于其中。数据处理系统200采用外围组件互连(PCI)局部总线体系结构。尽管所示实例采用了PCI总线,但是可以使用诸如加速图形端口(AGP)和工业标准体系结构(ISA)之类的其他总线体系结构。处理器240A/240D、高速缓存240B/240E以及主存储器240C/240F通过I/O集线器234和PCI I/O桥232连接到系统总线236和PCI I/O总线206。可以通过直接组件互连或通过扩充板来进行到PCI局部总线206的其他连接。在所示实例中,局域网(LAN)适配器210、小型计算机系统接口SCSI主机总线适配器212以及扩展总线接口214通过直接组件连接被连接到PCI局部总线206。相反,图形适配器218和音频/视频适配器219通过插入扩展槽的扩充板被连接到PCI局部总线206。扩展总线接口214为键盘和鼠标适配器220、调制解调器222以及附加的存储器224提供了连接。SCSI主机总线适配器212为硬盘驱动器226、磁带驱动器228以及CD-ROM驱动器230提供了连接。典型的PCI局部总线实现支持三个或四个PCI扩展槽或扩充连接器。
图2还示出了I/O子系统。I/O子系统包括PCI I/O桥232和I/O集线器234。集线器234连接到系统总线236和服务总线238。系统总线236和服务总线238连接到所述数据处理系统的其他组成部分240A-F,例如处理器240A、高速缓存240B、存储器240C、处理器240D、高速缓存240E以及存储器240F。服务总线238还连接到服务处理器242和永久性存储装置244。
操作系统在处理器240A/240D上运行并用于协调和提供对图2中数据处理系统200内的各个组件的控制。所述操作系统可以是诸如Windows2000(其可从微软公司获得)之类的可以从市面上购买的操作系统。诸如Java之类的面向对象的编程系统可以与操作系统一起运行并从数据处理系统200上执行的Java程序或应用来提供对所述操作系统的调用。“Java”是Sun Microsystems,Inc.的商标。所述操作系统的指令、面向对象的编程系统以及应用或程序位于诸如硬盘驱动器226之类的存储设备上,并可以被加载到主存储器240C/240F中,以便由处理器240A/240D执行。
本领域的技术人员将理解,图2中的硬件可以根据实现方式而变化。除了图2中所示的硬件以外,或替代图2中所示的硬件,还可以使用诸如闪速ROM(或等同的非易失性存储器)或光盘驱动器等其他内部硬件或外围设备。同样,本发明的诸过程可以应用于多处理器数据处理系统。
例如,数据处理系统200,如果可选择地配置为网络计算机,则可以不包括SCSI主机总线适配器212、硬盘驱动器226、磁带驱动器228以及CD-ROM 230。在这种情况下,所述计算机(正确的称谓是客户端计算机)必须包括某种类型的网络通信接口,例如局域网适配器210、调制解调器222等。作为另一个实例,数据处理系统200可以是独立的系统,该系统配置为可以不依赖于某种类型的网络通信接口来进行引导,而无论数据处理系统200是否包括某种类型的网络通信接口。作为进一步的实例,数据处理系统200可以是个人数字助理(PDA),其配备有ROM和/或闪速ROM以提供非易失性存储器,以便存储操作系统文件和/或用户生成的数据。
图2中所示的实例和上述实例并非旨在暗示体系结构限制。例如,除了采取PDA的形式以外,数据处理系统200也可以是笔记本计算机或手持式计算机。数据处理系统200还可以是信息终端(kiosk)或Web家电。
本发明的诸过程由服务处理器242使用计算机实现的指令来执行,所述指令可以位于服务处理器存储器中。
在一个优选实施例中,本发明描述了一种标识具有总线接口错误的硬件功能单元的方法,并参考优选地存储在永久性存储装置244中的“错误”原因使出现错误的(多个)总线接口硬件功能单元退出配置。在诸优选实施例中,本创新系统然后标识受到已退出配置的总线接口单元影响的相关联的硬件功能单元,并使用唯一的“关联”原因使所述受到影响的单元退出配置。在服务处理器永久性存储装置244内所存储的表中,所有因共同的总线接口错误而退出配置的功能单元都被链接到一起或被相互关联。当替换出现错误的硬件时(例如,通过部件序列号的更改而检测出),所述使用“错误”和“关联”原因来退出配置的功能单元将被清除并重新开始运行。
本发明还向现有的退出配置功能添加了永久地使I/O集线器适配器退出配置的能力。这些增强允许在IPL期间使CEC中的大多数硬件错误退出配置。所述增强通过最小化或消除平台故障重新发现来减少系统运行中断。在系统终止并成功地使出现错误的硬件退出配置之后,所述系统可以被迅速地重新引导,跳过诊断测试,由此提高了系统可用性。优选的实施例允许用户设置在错误状况下使硬件从系统中退出配置的策略。
将参考各种功能来描述本发明。下面描述了这些功能的具体实现。要注意的是,给出的实例实现并非旨在限制本发明的范围,而只是用作示例性的实施例。下面的描述参考了“CEC”,或计算机系统的中央电子机柜(Central Electronic Complex),其包括核心微处理器、高速缓存、存储器子系统以及将CEC连接到I/O适配器的I/O集线器。其他外设被看作在CEC之外。
“退出配置功能”被设计成通过从系统配置中移除“故障”CEC硬件来提高系统可用性。取决于故障类型和在何时检测到故障,退出配置操作可以在系统运行时(动态地)发生,也可以在引导时(IPL)发生。可以在系统引导或IPL时通过诊断来发现系统中的某些硬件故障,并可以在运行时检测、纠正或恢复某些故障。可以监视运行时可纠正/可恢复的错误向不可纠正变化的趋势。通过使这些“故障”硬件从系统中退出配置,可以避免潜在的系统运行中断,从而提高系统可用性。此外,可以在首次发生后使运行时不可恢复的硬件故障从系统中退出配置。在故障之后,系统能够立即重新引导并只使用良好的硬件来重新开始运行。因此,这避免了同一“故障”硬件再次影响系统运行,同时可以将修复操作推迟到对于客户操作而言更为方便且不那么关键的时刻。此功能包含CEC中硬件功能单元的永久状态、用户策略以及基于策略的退出配置规则。所述硬件功能单元以可能的最小单元来定义,以便最优化硬件配置能力。功能单元包含配置状态和错误类型。在系统IPL期间,此功能将每个功能单元的配置状态提供给配置功能。当出现错误的硬件被替换时,此功能更新被替换的和关联的功能单元的状态。
CEC IPL诊断功能在系统IPL(引导)期间执行CEC硬件测试。如果发现错误,其将错误隔离到预定的功能单元,然后调用退出配置功能,将错误类型和出现错误的功能单元告知所述诊断功能。平台IPL速度策略可以设置为快或慢,默认值为快。如果将速度设置为快,则在系统IPL期间将跳过IPL诊断。如果将速度设置为慢,则执行硬件测试。
CEC运行时诊断功能在系统运行时,“关注”(或中断)服务处理器的硬件错误检查器可以检测CEC错误。将调用PRD(处理器运行时诊断)以分析硬件错误并将错误隔离到预定的功能单元。PRD调用退出配置功能,将错误类型和出现错误的功能单元告知PRD。
在多个功能单元之间出现控制器或接口/总线错误时,上述创新功能被扩展到还支持使多个功能硬件单元永久退出配置。具有最高出错概率的硬件功能单元使用“错误”原因来退出配置。受到故障硬件影响的相关功能单元使用“关联”原因来退出配置。当替换出现错误的单元时(即检测到部件序列号的更改),将配置由于与该错误“关联”而退出配置的功能单元。
在优选实施例中,退出配置功能还链接到系统重新引导功能。当CEC由于致命的硬件错误而终止时,该错误将被隔离并且相关的功能单元将被退出配置。如果成功地使出现错误的硬件退出配置,则CEC以更快的速度重新IPL,因为可安全地跳过IPL诊断。在优选实施例中,用户策略可以对此进行更改,以便不跳过诊断。
在本发明的优选实施例中,服务处理器为所述系统维护一组退出配置策略。优选地具有管理权限的用户可以通过ASM(高级系统管理)用户界面来更改这些策略。用户策略选项优选地包括若干选择。例如,优选实施例包括退出配置预测故障、退出配置功能故障的能力。
图3示出了本发明的优选实施例的一个方面的过程流。在引导时,CEC第一次接通电源期间,将初始化“退出配置记录”并优选地将其存储在服务处理器永久性存储装置中(步骤302)。此记录优选地包括关于CEC中硬件功能单元或硬件资源的信息,例如配置状况(即它们是否被有效地连接到总线)、遇到的错误类型、错误代码、硬件状态数据以及用户策略。初始状况假设所有功能单元都没有错误并都已配置。在CEC IPL阶段或运行时期间,如果在CEC的任何硬件功能单元中检测到错误,则将标识被发现具有错误的硬件功能单元,并且数据会进入指出该单元具有错误的退出配置记录中(步骤306)。然后标识将受到出现错误的单元影响(或连接到出现错误的单元)的功能单元,所述功能单元将进入退出配置记录中,所述记录具有标记,指出所述功能单元与所述错误单元相关联(步骤308)。与哪些单元处于错误(并且因此将被退出配置,如下所述)相关的信息允许系统进行调整。例如,系统可以相应地更改其存储器或硬件资源映射。接着,判定哪些功能单元可以安全地从系统中“隔离”(即退出配置),同时仍然维持一个工作的系统(步骤310)。然后在系统的IPL期间,退出配置选择的要退出配置的功能单元(步骤312)。退出配置硬件优选地使用总线系统上由系统固件控制的开关来完成。当功能单元被指定要退出配置时,固件便激活有效地从系统中移除所述单元的开关,将所述单元隔离,以便所述单元对系统不可见。当替换出现错误的功能单元或以其他方式将该单元置于工作顺序中时,在退出配置记录中将该单元标记为不再在错误状态中,并且该单元将被重新配置或被重新连接到系统(步骤314)。由于与所述错误单元关联而退出配置的关联单元也被重新配置,即,在此时重新连接到系统。
还描述了示出本发明的另一个方面的另一个过程流。此实例实现是本发明的更为宽广的范围,包括由于从系统移除了出现错误的功能单元而可能进行的其他操作。首先,系统遇到CEC的硬件单元中的错误(步骤402)。标识出现错误的硬件单元,还标识将受到移除所述出现错误的硬件单元影响的其他硬件单元,并记录到退出配置记录中(步骤406)。将所述出现错误的单元和会受到影响的单元从系统中退出配置(步骤408)。然后,不在任何硬件上运行任何诊断,或仅使用选定的诊断(其排除了那些已被退出配置的硬件单元)来重新引导计算机系统(不修复出现错误的单元)(步骤410)。然后计算机系统只使用良好的硬件来重新开始运行(步骤412)。
如上所述,本发明允许计算机系统遇到硬件单元中的错误,使这些单元退出配置,并在不运行大量诊断(如本领域中通常进行的)的情况下重新引导。
重要的是注意到,虽然在完整功能的数据处理系统的情况下说明了本发明,本领域的技术人员将理解,可以以指令的计算机可读介质的形式和各种形式来发布本发明的诸过程,并且本发明均可等同地适用而与实际用于执行发布的信号承载介质的特定类型无关。计算机可读介质的实例包括可记录型介质,诸如软盘、硬盘驱动器、RAM、CD-ROM、DVD-ROM和传输型介质,诸如数字和模拟通信链路、使用诸如例如射频和光波传输之类的传输形式的有线或无线通信链路。计算机可读介质可以采取编码格式的形式,可以对其解码以便在特定数据处理系统内实际地使用。
出于示例和说明目的给出了对本发明的描述,并且所述描述并非旨在是穷举的或是将本发明限于所公开的形式。对于本领域的技术人员来说,许多修改和变化是显而易见的。实施例的选择和描述是为了最佳地解释本发明的原理、实际应用,并且当适合于所构想的特定使用时,使得本领域的其他技术人员能够理解本发明的具有各种修改的各种实施例。
权利要求
1.一种处理计算机系统中错误的方法,所述方法包括以下步骤标识故障硬件;标识受到所述故障硬件影响的硬件;重新引导所述计算机系统而不运行对所述故障硬件的诊断。
2 根据权利要求1的方法,进一步包括以下步骤使所述故障硬件和受到所述故障硬件影响的所述硬件退出配置。
3.根据权利要求2的方法,其中第一诊断与所述故障硬件相关联。
4.根据权利要求1的方法,其中所述退出配置的步骤包括激活所述计算机系统的电路的至少一个开关,以便从所述计算机系统中排除所述故障硬件。
5.根据权利要求1的方法,其中所述故障硬件在指出其具有错误的表中被标识,并且其中受到所述故障硬件影响的所述硬件在指出其与所述故障硬件关联的所述表中被标识。
6.一种计算机系统,所述系统包括通过总线连接到所述计算机系统的多个硬件单元;具有固件的服务处理器;其中当所述多个硬件单元中的第一硬件单元出现错误时,所述第一硬件单元被从所述总线断开;以及其中所述计算机系统重新启动而不运行与所述第一硬件单元关联的第一诊断。
7.根据权利要求6的计算机系统,其中所述服务处理器的所述固件激活所述计算机系统的电路中的开关,以便从所述总线断开所述第一硬件单元。
8.根据权利要求6的计算机系统,其中使用指出所述多个硬件单元中的所述第一硬件单元具有与其关联的错误的信息来更新表。
9.根据权利要求6的计算机系统,其中受到所述多个硬件单元中的所述第一硬件单元的所述错误影响的所述多个硬件单元中的第二硬件单元被从所述总线断开。
10.一种在计算机可读介质中的计算机程序产品,所述计算机程序产品包括计算机系统,具有连接到该计算机系统的第一硬件单元;第一指令,用于检测何时出现与所述第一硬件单元关联的错误;第二指令,用于从所述计算机系统的总线断开所述第一硬件单元;第三指令,用于在表中指出所述第一硬件单元具有与其关联的错误;第四指令,用于当所述计算机系统重新引导时,重新引导所述计算机系统而不运行与所述第一硬件单元关联的第一诊断。
11.根据权利要求10的产品,其中所述第二指令是与所述计算机系统的服务处理器关联的固件。
12.根据权利要求10的产品,其中受到移除所述第一硬件单元影响的第二硬件也被从所述计算机系统的所述总线断开。
13.根据权利要求10的产品,其中断开所述第一硬件单元包括激活所述计算机系统的电路的至少一个开关,以便从所述计算机系统中排除所述第一硬件。
14.根据权利要求12的产品,其中所述第一硬件单元在指出其具有错误的表中被标识,并且其中受到所述故障硬件影响的所述第二硬件在指出其与所述故障硬件关联的所述表中被标识。
全文摘要
一种用于快速系统恢复的系统和方法,通过在重新引导之前从所述系统断开故障硬件来跳过诊断例程。故障硬件以及将受移除所述系统的所述故障硬件影响的硬件被从所述系统断开。所述系统重新启动,并且由于断开了所述故障硬件,可以安全地从重新引导过程中去除诊断例程。
文档编号G06F11/00GK1673967SQ20051005342
公开日2005年9月28日 申请日期2005年3月7日 优先权日2004年3月25日
发明者G·D·安德森, S·R·贝利, W·A·布里斯滕, A·基坦莫恩, M·A·科布勒 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1