用于部署计算基础设施的方法和数据存储设备技术

技术编号:2853234 阅读:161 留言:0更新日期:2012-04-11 18:40
一种用于处理计算系统例如数据存储设备中的硬件错误同时避免系统崩溃的技术。向计算系统的操作系统注册接口以便处理硬件错误。当检测到硬件错误时,该接口检查错误寄存器,以便识别可能引起所述错误的适配器,并进行隔离,例如使出错的适配器和计算系统隔开。然后接口通知操作系统已经处理了该错误,从而使得操作系统旁路否则可能发生的系统崩溃。所述接口可以作为和操作系统相关联的设备驱动器的内核扩展被提供。

【技术实现步骤摘要】

本专利技术一般涉及计算机系统中的数据存储领域,尤其涉及用于处理硬件错误同时避免系统崩溃的技术。
技术介绍
硬件错误例如在计算系统(例如,标准的UNIX系统)中的机器检查将引起系统崩溃。一般地说,其甚至不允许应用程序具有记录任何信息的机会。当信息可被记录时,其仅仅用于在重新启动映像之后识别故障组件。机器检查一直被认为是系统的致命错误。在数据存储设备(其一个例子是IBM pSeries系统)中有可以引起机器检查的许多状态,例如目标异常中断、主(master)异常中断或奇偶错误。在通用UNIX服务器中,为这些状态调用机器检查是合理的。在这种情况下,数据存储设备暂时成为是不可用的。此外,多群集数据存储设备,其中的一个例子是IBM TotalStorage ESS存储服务器,是一个具有其自身的主机适配器和设备适配器以及相应的设备驱动器的封闭环境。如果这些硬件适配器的任何一个引起外围组件互连(PCI)错误例如目标异常中断,则整个群集或计算机-电子设备复合体(CEC)将发生崩溃而被重新启动。在这期间,数据存储设备运行在单群集模式下。然而这是不希望的,因为数据存储设备的功能和性能受到了削弱。因而,需要提供一种过程,用于以允许计算系统继续运行的方式处理计算系统中的硬件错误而不引起系统崩溃。
技术实现思路
为了解决这些和其它问题,本专利技术描述一种用于处理计算系统例如数据存储设备中的硬件错误的过程。本专利技术为应用定义了一种新的接口,用于通知计算系统的操作系统正确地处理了(例如,通过重置或隔开适配器)机器检查(例如,由PCI错误引起的),从而操作系统旁路掉由于机器检查引起的系统崩溃。在一个方面中,本专利技术提供一种用于部署计算基础设施的方法,包括在具有多个硬件适配器的计算系统中集成计算机可读代码,其中和计算系统相结合的代码能够通过执行一种方法处理所述硬件适配器的硬件错误。所述方法包括(a)在和计算系统的操作系统的接口处检查计算系统中的硬件错误,(b)响应所述检查,确定可能发生该硬件错误的至少一个硬件适配器,并隔离所述至少一个硬件适配器,以及(c)在所述隔离之后,完成该硬件错误的处理而不导致计算系统的崩溃。在另一方面中,一种数据存储设备包括用于记录由多个硬件适配器产生的错误的错误寄存器,以及至少一个群集,其包括至少一个处理器,所述处理器用于执行计算机可读代码,从而提供一个操作系统以及与所述操作系统的接口。所述接口检测计算系统中的硬件错误,检查错误寄存器以便确定可能产生所述硬件错误的至少一个硬件适配器,并隔离所述至少一个硬件适配器。在所述隔离之后,操作系统完成硬件错误的处理而不引起数据存储设备的崩溃。还可以提供相关的程序存储设备。附图说明通过参看下面的正文和附图可以更加清楚地看出本专利技术的这些和其它特征、利益和优点,在所有附图中相同的标号表示相同的结构,其中图1表示按照本专利技术的计算系统;以及图2表示按照本专利技术用于处理硬件错误的处理。具体实施例方式图1表示按照本专利技术的计算系统。计算系统100可以是数据存储设备,例如,其用于备份来自多个服务器主机的客户数据。计算系统100包括输入/输出(I/O)子系统或构造设备120,所述子系统或构造设备120包括多个硬件适配器122,124和126,它们通过总线128例如PCI总线进行通信。硬件适配器122,124和126可以在群集150和任何数量的硬件组件之间提供连接性,群集150也被称为计算机-电子设备复合体(CEC)。一般地说,CEC是一种硬件,其可以运行多个映像/分区/虚拟服务器。例如,设备适配器可以连接数据存储设备所使用的存储盘以便备份数据。主机适配器是外部接口,用于向外部主机或者附加的远程数据存储设备发送数据或从其接收数据。例如,主机适配器可以支持两个端口,例如小计算机系统接口(SCSI)或IBM企业系统连接(ESCON),其是一种Enterprise SystemArchitecture/390和zSeries计算机外围接口。也可以使用光纤通道或具有每个主机适配器一个通道的支持的光纤通道连接(FICON)。也可以使用硬件适配器连接其它设备,例如本地主机工作站、内部风扇等。对于双或其它多群集数据存储设备,每个设备适配器和主机适配器可以和用于故障保险操作的每个群集相连。总线128和群集150通信。注意,所示的布置是一个简化的例子。实际上,可以具有更多的适配器以及其它组件。群集150包括处理器152,其执行指令,例如存储在至少一个程序存储设备例如存储器158中的软件、固件和/或微代码,以便提供这里所述的功能。具体地说,操作系统156、接口154和设备驱动器153被描述为在处理器152上运行。设备驱动器器的一个例子是IBM ESS驱动器。对于多群集数据存储设备,可以为每个群集重复用于群集150的布置。客户数据可通过适配器122,124和126以及总线128被提供给群集150。此外,每个适配器122,124和126具有产生错误消息的能力,该错误消息被记录在错误寄存器160中。所述的错误寄存器160被示出为提供在I/O构造设备120中,例如作为总线128的一个外围组件,但是可替换地也可以位于(例如)群集150中。当使用多个总线时,可以为每个总线提供不同的错误寄存器。具体地说,所述错误可以是硬件错误,例如表示适配器不能正确地工作的机器检查错误。一般地说,每个适配器包括可以检测错误的驱动器。错误寄存器160可以包括运行在专用集成电路(ASIC)芯片中的检查器,用于例如寻找对PCI协议的违反并锁存任何错误。按照本专利技术,操作系统156的接口154可作为应用/设备驱动器153的一部分被提供以便处理PCI和其它的硬件错误。具体地说,例如,作为错误处理器的接口154可以作为设备驱动器153的内核扩展被提供。当由于PCI错误例如目标异常中断而发生机器检查时,接口154可以检查错误寄存器160以确定适配器122,124,126中的哪一个可能导致了该PCI错误。由在错误寄存器160处记录的信息确定错误的原因。记录的特定信息与实现相关。注意以前可能不能精确地识别错误的来源。例如,在I/O构造设备中的错误,例如数据奇偶错误,可能是由适配器引起的,或是由构造设备本身引起的。设备驱动器153处的接口154,其了解拓扑结构,可以调用热启动并隔离可能引起了该错误的适配器。对于多群集设备,每个群集的设备驱动器协调地工作以发起一个热启动。热启动包括运行恢复程序以便重新启动处理器上的软件,例如设备驱动器153。可以通过使得可能引起错误的适配器发生重置或隔开例如通电重置或重新初始化实现隔离。隔离可以和热启动同时进行。一旦应用设备驱动器返回,例如完成了热启动并且错误已被隔离,操作系统156将完成其余的机器检查处理而不引起系统崩溃。即,操作系统156从中断级返回正常操作。因而本专利技术有利地减少了系统崩溃的发生,并且改善了整个系统的可靠性。图2表示按照本专利技术用于处理硬件错误的处理。在块200,在操作系统156上注册接口或错误处理器160。来自I/O构造设备120的错误可由接口154检测。在块210,如果已经产生硬件错误,则该错误被记录在错误寄存器160中。如果没有硬件错误产生,则处理继续进行(块220),直到错误产生为止。在块230,当检查到本文档来自技高网...

【技术保护点】
一种用于部署计算基础设施的方法,包括在具有多个硬件适配器的计算系统中集成计算机可读代码,其中和所述计算系统相结合的代码能够通过执行一种方法来处理所述硬件适配器的硬件错误,所述方法包括:在与所述计算系统的操作系统的接口处检测所述计算系 统中的硬件错误; 响应所述检测,确定可能产生所述硬件错误的至少一个硬件适配器,并隔离所述至少一个硬件适配器,以及在所述隔离之后,完成所述硬件错误的处理而不引起所述计算系统的崩溃。

【技术特征摘要】
US 2004-11-17 10/991,2071.一种用于部署计算基础设施的方法,包括在具有多个硬件适配器的计算系统中集成计算机可读代码,其中和所述计算系统相结合的代码能够通过执行一种方法来处理所述硬件适配器的硬件错误,所述方法包括在与所述计算系统的操作系统的接口处检测所述计算系统中的硬件错误;响应所述检测,确定可能产生所述硬件错误的至少一个硬件适配器,并隔离所述至少一个硬件适配器,以及在所述隔离之后,完成所述硬件错误的处理而不引起所述计算系统的崩溃。2.如权利要求1所述的方法,其中所述隔离包括重置所述至少一个硬件适配器。3.如权利要求1所述的方法,其中所述隔离包括隔开所述至少一个硬件适配器。4.如权利要求1所述的方法,其中由所述接口执行所述隔离;以及由所述操作系统执行所述完成硬件错误的处理。5.如权利要求1所述的方法,还包括从所述接口向所述操作系统提供通知,指出所述至少一个硬件适配器已被隔离;其中所述操作系统响应所述通知执行所述完成硬件错误的处理。6.如权利要求1所述的方法,其中所述接口包括与所述操作系统相关联的设备驱动器的内核扩展。7.如权利要求1所述的方法,还包括响应对硬件错误的检测,调用与所述操作系统相关联的设备驱动器的热启动。8.如权利要求1所述的方法,其中所述硬件错误包括机器检查错误。9.如权利要求1所述的方法,其中所述硬件错误包括输入/输出构造设备错误。10.如权利要求1所述的方法,其中所述计算系统包括数据存储设备。11.如权利要求1所述的方法,还包括向所述操作系统注册所述接口。12.如权利要求1所述的方法,其中所述确定可能产生所述硬件错误的至少一个硬件适配器包括检查错误寄存器。13.至少一个程序存储设备,其有形地包含可由至少一个处理器执行的指令程序,以便执行用于处理具有多个硬件适配器的计算系统中的硬件错误的方法,所述方法包括在与所述计算系统的操作系统的接口处检测所述计算系统中的硬件错误;响应所述检测,确定可能产生所述硬件错误的至少一个硬件适配器,并隔离所述至少一个硬件适配器,以及在所述隔离之后,完成所述硬件错误的处理而不引起所述计算系统的崩溃。14.一种用于部署计算基础设施的方法,包括在具有多个硬件适配器的计算系统中集成计算机可读代码,其中与所述计算系统相结合的代码能够通过执行一种方法来处理所述硬件适配器的硬件错误,所述方法包括向所述计算系统的操作系统注册接口;在所述接口...

【专利技术属性】
技术研发人员:JJ鲁伊斯许育诚宋正中JN麦考利WG舍曼
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1