法律状态公告日
法律状态信息
法律状态
2010-01-13
专利权的终止(未缴年费专利权终止)
专利权的终止(未缴年费专利权终止)
2008-03-12
授权
授权
2006-07-19
实质审查的生效
实质审查的生效
2006-05-24
公开
公开
技术领域
本发明一般涉及计算机系统中的数据存储领域,尤其涉及用于处理硬件错误同时避免系统崩溃的技术。
背景技术
硬件错误例如在计算系统(例如,标准的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,当检查到错误时,接口154检查错误寄存器160以确定该错误的来源,例如可能产生该错误的一个或多个硬件适配器。在块240,接口隔离该错误的来源,例如可能产生该硬件错误的一个或多个硬件适配器,并且设备驱动器153调用热启动。
在块250,接口通知操作系统错误已经隔离。注意接口不必提供用于确定性地确定错误来源所需的全部信息。在热启动处理中使用其它方法。在IBM ESS中,这些是AIX pSeries增强错误处理体系结构的一部分。通知可以包括错误范围(相对于适配器该错误离CEC的远近程度),错误的位置(描述错误在逻辑拓扑中处于何处的句柄),以及一些特定于实现的错误信息。在块260,操作系统响应该通知完成硬件错误的处理而不引起系统崩溃。
因而,所述接口或错误处理器是注册的接口,例如,一段代码,当有问题时,例如,所支持的适配器的PCI总线插槽的问题,操作系统(OS)在设备驱动器上访问该代码。设备驱动器在OS上注册该接口或错误处理器,使得当硬件中断在问题表面(question surface)中与该适配器相关时,OS必须调用该接口。当PCI适配器所在的PCI总线发生错误时,设备驱动器错误处理器询问错误寄存器以便帮助确定总线上的错误的性质以及如何从该错误最好地恢复。
注意通过把计算机可读代码集成在计算系统中,此处说明的本发明可被部署在现有的或新的计算基础设施上,例如数据存储设备、群集或客户机计算系统上,与计算系统相结合的代码能够执行用于实现此处所述的功能的方法。
因而,可以看出,本发明提供了一种用于处理计算系统中的硬件错误同时避免系统崩溃的技术。提供了与计算系统的操作系统的接口以便通过隔离处理硬件错误,例如使出错的适配器和计算系统隔开。然后接口可以通知操作系统错误已被处理,从而使操作系统旁路否则将发生的系统崩溃。
已经参照特定的示例实施例说明了本发明。在不脱离本发明的范围的情况下,某些替换和改型对于本领域技术人员可以是明显的。这些示例实施例只用于说明本发明,而不是限制本发明的范围,本发明的范围由所附权利要求限定。
机译: 用于在第一社交网络上部署多网络交互的计算机实现的方法;用于在社交网络平台上动态创建形式化组的计算机实现的方法;用于向社交网络平台的用户呈现多格式信息的计算机实现的方法;用于以通用标签的形式全局关联识别信号的计算机实现的方法;以及在社交网络平台上向用户投放广告的计算机部署方法
机译: 用于显示图像的设备及其驱动方法,用于处理与云基础设施有关的信息的方法,用于设置云基础设施资源与计算机可读记录介质之间的关系的方法
机译: 用于显示图像的设备及其驱动方法,用于处理与云基础设施有关的信息的方法,用于设置云基础设施资源与计算机可读记录介质之间的关系的方法