首页> 中国专利> 用于将可恢复的错误记入日志的系统和方法

用于将可恢复的错误记入日志的系统和方法

摘要

依照本发明,说明了一个信息处理系统中用于将可恢复的错误记入日志的系统和方法。所述系统包括中央处理器,连接到所述中央处理器的芯片组,连接到所述芯片组并与之相关的至少一个芯片组存储器单元。所述系统还包括基板管理控制器(BMC),以及包含基本输入输出系统(BIOS)的存储器单元。一个系统管理中断(SMI)被周期性调用。一个状态寄存器被扫描,以检测是否出现了一个可恢复的错误。如果检测到一个可恢复的错误,所述系统将这个可恢复的错误记入与所述基板管理控制器相关的一个存储器单元中的日志。系统将指明了这个可恢复错误的源和源的位置的信息记入日志。如果没有检测到可恢复的错误,系统发送一条消息,指出没有检测到可恢复的错误。

著录项

  • 公开/公告号CN1949182A

    专利类型发明专利

  • 公开/公告日2007-04-18

    原文格式PDF

  • 申请/专利权人 戴尔产品有限公司;

    申请/专利号CN200610136352.5

  • 发明设计人 S·古普塔;A·马多库里;B-C·王;

    申请日2006-10-13

  • 分类号G06F11/14;

  • 代理机构北京纪凯知识产权代理有限公司;

  • 代理人程伟

  • 地址 美国得克萨斯州

  • 入库时间 2023-12-17 18:29:26

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2008-12-03

    授权

    授权

  • 2007-06-13

    实质审查的生效

    实质审查的生效

  • 2007-04-18

    公开

    公开

说明书

技术领域

本发明涉及计算机系统和信息处理系统,具体地说,涉及用于将可恢复的错误记入日志的系统和方法。

背景技术

随着信息的价值和应用持续地增长,个人和商业机构寻求额外的方式来处理和保存信息。这些用户可选择的一个选项是信息处理系统。一般而言,出于商业的、个人的或其他目的,信息处理系统处理、编辑、保存和/或传递信息或数据,从而允许这些用户充分利用这些信息的价值。因为对技术和信息处理的需要和要求随不同用户或应用而改变,信息处理系统随所处理信息的不同类型,处理信息的方法,处理、保存或传递信息的方法,所处理、保存或所传递信息的总量,信息处理、保存或传递的速度和效率等因素而改变。信息处理系统中的各种变化,允许各种信息处理系统,既可以是普遍性的,或者,也可以为特定用户或如金融交易处理、航空票务预定、公司数据保存或全球通信等特定应用而配置。此外,信息处理系统可以包括或包含配置为处理、保存和传递信息的不同硬件和软件组件,也可以包括一个或多个计算机系统、数据存储系统和网络系统。

服务器系统在正常的系统运行中,会经历可恢复的或可改正的错误。这种可恢复的错误,比如当连接到服务器系统的存储器单元失效的时候,可能会出现。为提高系统可靠性,服务器系统通常配置为当出现这样的错误的时候,捕捉这些可恢复或可修正的错误并将其写入日志。因为可恢复的错误通常是对即将发生的存储器失效的警告信号,这种捕捉加日志的处理程序给了服务器系统用户一个机会,在整个系统崩溃之前,替换掉有缺陷的存储器单元。通常,服务器系统通过以边带信号(sideband signals)而产生一条系统管理中断(SMI),将要记入日志的错误发送出去。该SMI通过边带到达CPU,然后,CPU会冻结正在运行中的服务器系统进程。由SMI引发的进程中的这些暂停,使位于服务器系统上的基本输入输出系统(BIOS)可以在错误出现的时候,使用SMI处理器(handler),将这些可恢复的错误记入日志。一旦BIOS将这些错误记入日志,SMI终止,而且服务器系统可以恢复执行任意被中断的进程。对系统管理软件与平台硬件之间的接口进行管理的基板管理控制器(BMC),处理接收自BIOS的错误日志指令,并且执行实际写入到它的非易失性存储器。纵观整个通知处理过程,位于服务器系统上的操作系统(OS)并不知晓错误和随后将错误记入日志的处理。

然而,一些服务器系统并不包含边带信号能力。所有的通信必须通过主传送链路传播。因为可恢复的错误是可改正的,当可恢复的错误出现时,服务器系统并不会产生一条通知。因此,这些服务器系统可以设计为通过使用服务器系统BIOS或芯片组执行如周期性SMI等周期性扫描,来报告可恢复的错误。类似地,这些服务器系统可以要求服务器系统OS周期性地扫描这个系统。例如,OS可以周期性地扫描系统,并将在机器检查状态寄存器中探测到的任何可恢复的错误记入日志。典型的OS每分钟大约扫描一次。可是,使用服务器系统OS来周期性地扫描系统有其缺陷。例如,大部分的硬件错误是系统特定的。然而,一个OS通常缺乏对这个系统的特定架构的认识。如果不从系统BIOS寻求帮助,这个OS通常不能识别哪个组件有故障,从而阻碍了这两个资源。服务器系统的用户通常要求更高的特殊性,而不是由OS执行的一个常规的错误日志记录,尤其,如果可能产生问题的系统是一个高端服务器系统。此外,该OS通常在一个机器检查状态寄存器内记录错误日志,而该寄存器并不保存有关错误源的信息,因此,不能支持系统或用户稍后确定错误的源的位置。尽管有些OS版本每次扫描可以为多达10个可恢复的错误维持一个日志,然而一旦这种情况发生,通常一个OS不会再继续记入可恢复错误的日志,从而导致用户不能事后查看错误以确定问题的根源。

发明内容

依照本发明,这里描述了在一个信息处理系统中,用于将可恢复的错误记入日志的系统和方法。这样的系统包括中央处理器,连接到该中央处理器的芯片组,以及至少一个与该芯片组相连并与之关联的芯片组存储器单元。该系统还包括基板管理控制器(BMC),以及包含基本输入输出系统(BIOS)的存储器单元。

系统管理中断被周期性地调用。错误状态寄存器被扫描以检测是否出现了可恢复的错误。如果检测到可恢复的错误,系统将该可恢复的错误记入位于与该BMC关联的一个非易失性存储器单元的日志中。系统还将指明了可恢复错误的源和该源的位置的信息,记入日志。如果没有检测到可恢复的错误,系统发出一条消息,指出没有可恢复的错误出现。

这里说明的系统和方法有其优势,因为他们允许该信息处理系统确定可恢复错误的源和源的位置,即使该信息处理系统缺少通过边带发送信号的能力。由BMC或BIOS,而不是OS,识别可恢复错误的源并将其记入日志。这里说明的系统和方法有其优势,还因为他们可以允许基于该信息处理系统运行中的某一事件或某一改变,来动态地调整SMI的周期性。周期性的扫描要快于OS对可恢复错误的扫描速率。

附图说明

参考以下的附图说明并将其与附图共同使用,对本发明及其优点可以获得更完整的理解,附图中类似的附图标记指示了类似的特征,在这里:

图1是用于示例主板的一个示例架构的块图;

图2是说明用于调整系统执行周期性扫描的频率的一个示例方法的流程图;

图3是说明示例主板的一个示例架构的块图。

具体实施方式

出于本发明的目的,一个信息处理系统可以包括一种手段或多种手段的集合,这些手段均具有可操作性以计算、分类、处理、传输、接收、重新获得、产生、交换、保存、显示、展示、检测、记录、复制、操作或使用用于商业、科学、控制或其他目的的任意形式的信息、情报或数据。例如,一个信息处理系统可以是一台个人电脑,一台网络存储设备或任意其他合适的设备,也可以在尺寸、形状、性能、功能和价格上各有不同。该信息处理系统可以包括随机存取存储器(RAM),一个或多个如中央处理器、硬件或软件控制逻辑等的处理方式,ROM,和/或其他类型的非易失性存储器。该信息处理系统的其他组件包括一个或多个硬磁盘,一个或多个用于与外部设备通信的网络接口,以及诸如键盘、鼠标和视频显示器等的各类输入输出(I/O)设备。该信息处理系统还可以包括一个或多个总线,均具有操作性以在各种硬件组件之间传送消息。

图1说明了标识为100的主板的一个架构,该主板用于诸如一个服务器系统的信息处理系统。图1中的架构仅仅用于示例目的,而且,应当被理解为仅描述了用于各类主板的多种可能架构中的一种。如图1所示,主板100可以包括微处理器110。微处理器110可以作为该主板的CPU。微处理器110可以通过一条处理器总线120,与图1中标识为130、一般称为“北桥”的芯片相连。北桥130一般管理CPU与该信息处理系统中如存储器单元等的其他组件之间的通信。因此,一个或多个存储器单元和标识为140的存储器控制器,可以连接到北桥130。在图1中标识为150、称为“南桥”的芯片,也可以连接到北桥130。较北桥130而言,南桥150一般为主板执行更慢的服务,比如功率控制和外设组件接口(PCI)总线。南桥150可以通过小插针数(LPC)总线160,连接到包含BIOS 170的存储器单元。该BIOS有时也被称为“固件”。北桥130和南桥150有时被统称为主板100的“芯片组”。然而,如果主板100包括其他或另外的芯片,这些组件也可以成为该芯片组的一部分。

如图1底部所示,BMC 180也可以连接到LPC总线160。标识为190的控制器及一个或多个存储器单元,连接到BMC180。存储器单元190优选非易失性存储器单元。虽然在图1中没有标出电源,BMC 180可以有自己的电源。如本发明之前所述,BMC 180一般管理系统管理软件与平台硬件之间的接口。内建到该信息处理系统的不同传感器,可以向BMC报告诸如温度、风扇转速及各种电压等有关该信息处理系统的状态和可操作性的参数。如果BMC 180检测到任意一个监控参数偏离预设的界限,它可以发送一条告警给用户或系统管理员。因此,BMC 180可以连接到在图1中没有显示的多个硬件组件和一个网络,以监视这些参数,而且,如果有必要,激活告警。

图1中所示主板100的架构并没有包括微处理器110与南桥150之间的边带信号能力。所有的通信都必须通过主传送链路,而且包含了主板100的信息处理系统不能依靠边带信号而获得可恢复错误的报告。此外,因为可恢复的错误是可改正的,该信息处理系统一般不会告知用户出现了这样一个错误,除非该用户周期性地轮询以查找错误。因此,包含主板100的一个信息处理系统可以设计为通过使用BIOS 170执行诸如周期性SMI的周期性扫描,来报告可恢复的错误。同样,包含主板100的一个信息处理系统可以设计为依靠驻留在该信息处理系统上的OS来调用周期性扫描。然而,如本发明之前所述,这些方法并不是没有各自的缺陷。例如,OS通常不能识别哪个组件是这个可恢复错误的来源,因为OS程序包是常规性的,而且不包括所驻留的特定系统架构的映射。此外,OS将机器检查状态寄存器(对导致这个错误的组件而言,可能不是位于本地)中的可恢复的错误记入日志,之后便清除这个机器检查状态寄存器。

包含主板100的信息处理系统不是仅靠OS或BIOS 170来管理周期性扫描,而是依靠BMC 180来调用周期性的软SMI。也即,一旦信息处理系统建立并在运行中,经过一段预设的时间后,BMC 180就会调用一个软SMI。主板100上位于BMC 180与该芯片组之间的一条中断请求线195可以用于调用这个SMI。通用输入输出(GPIO)端口,虽然在图1中没有显示,可以配置以便允许BIOS 170与BMC 180之间通信。当BMC 180调用这个软SMI时,BIOS 170将通过读取诸如该芯片组的状态寄存器、存储器状态寄存器和/或微处理器110的状态寄存器来查找可恢复的错误。如果BIOS 170没有在这些寄存器中找到错误,BIOS 170会把这个消息传递给BMC 180。如果BIOS 170确实找到错误,BIOS 170会把这个错误传递给BMC 180,之后清除包含这个错误的状态寄存器。BIOS 170还可以通过BMC 180将这个错误在存储器单元190记入日志,通常是在一个非易失性系统事件日志中。因为BIOS 170熟悉主板100的架构,所以BIOS 170可以在日志中识别这个可恢复错误的源的位置。

可以依照制造商或用户的期望而预设BMC 180调用软SMI的周期。例如,如本发明之前所述,一些OS版本每分钟执行系统的机器检查状态寄存器的周期性扫描。因此,BMC 180调用软SMI的周期可以设为小于一分钟,以便BIO S170,较OS执行其扫描,更频繁地检查状态寄存器,从而降低OS在BIOS 170能检测到错误之前就将错误从机器检查状态寄存器中清除掉的风险。BMC 180甚至可以用足够高的频率调用软SMI,以防止OS检测到任何错误。然而,两个软SMI之间的周期应当足够大,以避免不必要地占用BIOS 170和BMC 180,以致降低了系统性能。

作为选择,BMC 180可以在从BIOS 170了解到错误状态之后,适应性地改变软SMI的周期。图2是说明适应性地改变软SMI周期的一种方法的流程图。如流程图的块200所示,BMC 180可以先调用一个软SMI。接着,如流程图的块210所示,BIOS 170检查适当的机器检查状态寄存器。此后,如流程图的块220所示,BIOS 170会确定它是否定位了一个错误。如果BIOS 170没有检测到任何错误,BIOS 170将发送一条单比特消息给BMC 180,告知其没有检测到错误,如流程图的块230所示。BMC 180可以由此降低它调用软SMI的频率,如流程图的块240所示。如果相反,BIOS 170检测到一个错误,BIOS 170接下来将确定该错误是否是可恢复的。如果BIOS 170检测到一个或多个可恢复的错误,BIOS 170会将这个情况告知BMC 180,如流程图的块200所示。BMC 180可以由此提高它调用软SMI的频率,如流程图的块270所示。可是,如果BIOS 170检测到不可恢复的错误,BIOS 170会将这个情况告知BMC 180。这时,可以将整个系统重置,软SMI的频率也可以恢复到缺省设置,例如,如块290中所示。

可以使用系统计时器来控制软SMI的生成。错误的频率通常会以不同的步进幅度升高或降低,因此,软SMI频率的极端改变以便为系统捕捉错误状态是没有必要的。然而,对于一个适应性地改变软SMI频率的系统,用户或制造商应当为BMC 180调用任何软SMI的周期设置预定的最小值和最大值。

图3说明了标注为300、用于诸如一个服务器系统等信息处理系统中的主板的可作为选择的架构。图3中所示架构与图1所示架构类似。因此,两图中类似组件采用同样的附图标记。可是,在主板300上,BMC 180和芯片组,或甚至北桥130可以通过互联(Inter-Interconnect,I2C)总线310而结合,如图3所示。主板300还可以设计为允许芯片组屏蔽或追踪存储器单元140的状态寄存器。尤其是,主板300还可以设计为允许北桥130在它自己的状态寄存器里屏蔽存储器单元140的状态寄存器。这样,BMC 180可以通过I2C总线310扫描北桥130的状态寄存器,并确定存储器单元140是否有可恢复的错误出现。如果BMC 180检测到一个可恢复的错误,它会调用一个软SMI以指令BIOS170将该可恢复的错误记入日志。然而,如果BMC 180没有检测到一个可恢复的存储器错误,它将不会干扰BIOS 170的运行。由此,可以降低BIOS 170上的负荷,因为它只被要求根据之前由BMC 180检测到的真实错误做出反应。在某些系统中,BMC 180会将可恢复的错误记入日志。可是,在很多系统中,却还是BIOS 170是一个更有效的将可恢复错误记入日志的选择,这是因为已经在典型的BIOS中实现一个算法以确定错误的原因和应对此错误负责的组件的位置。因此,如果BMC 180通过生成一条软SMI来通知BIOS 170,它已经检测到一个错误,BIOS 170可以确定该错误的原因,并将此信息记入日志。BMC 180扫描北桥130的机器检查状态寄存器的频率可以预先设定。作为选择,这个频率可以被适应性地改变,如本发明之前所述。例如,如果检测到单比特错误就提高扫描频率,如果没有检测到错误就降低频率。

虽然,本发明描述的一个系统和方法中,包括了适应性地改变BIOS 170和/或BMC 180的两个周期性扫描之间的时间间隔以作为对检测到的错误的响应,还可以使用其他因素以调整这些扫描的频率。例如,执行这些扫描的组件,假设为BIOS 170或BMC 180,其负荷可以影响扫描的周期。如果执行这些扫描的组件因为其他任务而过载,可以降低扫描频率以减轻该组件的负荷。尽管已经很详细地描述了本发明,但仍可以创造出各类改变、替换和变化而不必脱离权利要求中所述的本发明的精神和范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号