系统事件日志记录方法

文档序号:6583671阅读:268来源:国知局
专利名称:系统事件日志记录方法
技术领域
本发明涉及一种系统事件日志记录方法,且特别涉及一种在具有一缓冲区块的系 统事件日志记录方法。
背景技术
一般而言,基板管理控制器(Baseboard Management Controller)在事件(event) 产生时,会将事件的内容及时间等相关资讯记录为一系统事件日志(System Event Log,以 下简称SEL),并存储至非易失性存储器(Non-VolatileRandom Access Memory,以下简称 NVRAM)中,以供使用者后续作确认。然而,非易失性存储器有空间大小的限制,目前常见的 大概可以记录512笔系统事件日志。倘若非易失性存储器的空间满了,就无法再继续记录 了。因此,目前作法是监控非易失性存储器的空间,当记录了第511笔的系统事件日 志至非易失性存储器时,基板管理控制器会接着产生“SEL Full”这笔事件的记录。当使用 者发现这笔事件的时候(例如通过平台事件过滤器(Platform Event Filter,以下简称 PEF)的通知),再由使用者手动将非易失性存储器中的系统事件日志清空。然而,由于开机时,电脑系统固定会产生多笔的系统事件日志。据此,在经过多次 的开关机后,非易失性存储器的空间可能就被占满了。甚至有可能在某次的开机过程中,便 无法记录系统事件日志。倘若是在转储系统事件日志并进行清空的同时产生另一事件,便 无法将此事件对应的系统事件日志记录下来。

发明内容
本发明提供一种系统事件日志记录方法,另外建立一个缓冲区块,以在记录区块 满载时,暂时将系统事件日志存储至缓冲区块,直到记录区块完成转储及清除的动作。具体而言,本发明提出一种系统事件日志(System Event Log,以下简称SEL)记 录方法,用于具有基板管理控制器(Baseboard Management Controller)的电脑系统。在 一事件产生时,通过基板管理控制器将此事件对应的系统事件日志存储至一记录区块。接 着,若判定事件为日志满载事件,将日志存储位置自记录区块切换至一缓冲区块,使得基板 管理控制器暂时将后续产生的事件所对应的系统事件日志存放于缓冲区块。之后,通过操 作系统转储记录区块中的系统事件日志至存储单元,再清除记录区块中的系统事件日志, 而产生日志清除事件。而在产生日志清除事件时,记录日志清除事件至缓冲区块。然后, 转储缓冲区块中的系统事件日志至记录区块。再将日志存储位置由缓冲区块切换至记录区 块,使得基板管理控制器将后续产生的系统事件日志存放于记录区块。最后,清除缓冲区块 中的系统事件日志。在本发明的一实施例中,上述在事件产生时,检查日志存储位置,以获得事件所对 应的系统事件日志所欲存放的区块。当日志存储位置指向记录区块时,通过基板管理控制 器将事件所对应的系统事件日志存储至记录区块。反之,当日志存储位置指向缓冲区块时,通过基板管理控制器将事件所对应的系统事件日志存储至缓冲区块。再者,当日志存储位 置指向记录区块时,还包括判断此事件是否为日志满载事件。若判定事件非日志满载事件, 通过基板管理控制器继续将系统事件日志存储至记录区块。在本发明的一实施例中,上述在事件产生时,还包括判断此事件是否为日志清除 事件,以在产生日志清除事件时,记录日志清除事件至缓冲区块。在本发明的一实施例中,上述若判定事件不为日志清除事件,则检查日志存储位 置,以获得事件所对应的系统事件日志所欲存放的区块。在本发明的一实施例中,上述在通过操作系统转储记录区块中的系统事件日志至 存储单元,之后清除记录区块中的系统事件日志的步骤之前,先确认操作系统是否已启动 完成,以在操作系统启动完成时,通过操作系统转储记录区块中的系统事件日志至存储单 元,之后再清除记录区块中的系统事件日志。在本发明的一实施例中,上述其中该记录区块与该缓冲区块可设置于同一非易失 性存储器(Non-Volatile Random Access Memory,以下简称NVRAM)。而存储单元例如为硬盘。基于上述,本发明为额外建立一个缓冲区块,当记录区块被系统事件日志占满时, 在对记录区块进行转储及清除的动作期间,便可暂时将后续产生的系统事件日志存放于缓 冲区块中。待记录区块完成转储及清除的动作之后,再继续将系统事件日志存放于记录区 块中。如此一来,便能够避免当记录区块空间满载而造成重要的系统事件日志遗失。为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合附图作详 细说明如下。


图1是本发明一实施例的存储单元的方块图。图2是本发明一实施例的系统事件日志记录方法的流程图。图3是本发明另一实施例的系统事件日志记录方法的流程图。主要元件符号说明100:存储单元110:记录区块120:缓冲区块S205 S230 本发明一实施例的系统事件日志记录各步骤S305 S365 本发明另一实施例的系统事件日志记录各步骤
具体实施例方式由于开机时电脑系统固定会产生多笔的系统事件日志。倘若在经过多次的开关机 后,非易失性存储器的空间被占满,此时便无法记录后续所产生的系统事件日志。据此,本 发明提出一种系统事件日志记录方法,利用额外建立一个缓冲区块,或是将原本的存储单 元划分为记录区块与缓冲区块。当记录区块已满时,将日志存储位置切换至缓冲区块,直到 记录区块内的系统事件日志已转储(dump)到其他地方并予以删除清空后,再将日志存储 位置切换回记录区块。为了使本发明之内容更为明了,以下特举实施例作为本发明确实能 够据以实施的范例。
图1是本发明一实施例的存储单元的方块图。请参照图1,在本实施例中,存储单 元100被划分为记录区块110与缓冲区块120。当记录区块110已满时,便可将目前记录已 满的记录区块Iio切换至缓冲区块120。据此,在对记录区块110进行转储及清除的动作期 间,便能够将此期间的系统事件日志暂时存放至缓冲区块120。当记录区块110完成转储及 清除的动作之后,再切换回记录区块110。在本实施例中,存储单元100例如为非易失性存 储器(Non-Volatile Random Access Memory,以下简称NVRAM)。由于缓冲区块120是为了在对记录区块进行转储及清除的动作期间,可暂时将后 续产生的系统事件日志存放于缓冲区块120中。据此,在本实施例中,缓冲区块120的存储 空间可小于记录区块110的存储空间。另外,值得一提的是,在其他实施例中,缓冲区块120亦可另外建立,而不用在存 储单元100中划分出一小区块来使用。以下举一实施例来说明系统事件日志记录方法各步骤。图2是本发明一实施例的系统事件日志记录方法的流程图。请同时参照图1及图 2,在步骤S205中,在事件产生时,若判定此事件为日志满载事件,则将日志存储位置自记 录区块110切换至缓冲区块120,使得基板管理控制器暂时将后续产生的事件所对应的系 统事件日志存放于缓冲区块120。举例来说,假设记录区块110能够存储500笔系统事件日志,当基板管理控制器记 录了第499笔的系统事件日志至记录区块110时,基板管理控制器便会接着产生日志满载 事件(例如,“SEL Full”)。据此,若判定事件为日志满载事件,即表示记录区块110已满, 便将日志存储位置自记录区块110切换至缓冲区块120。之后,在步骤S210,通过操作系统转储记录区块110中的系统事件日志至存储单 元(例如,硬盘),再清除记录区块110中的系统事件日志。此时,基板管理控制器会而产生 一日志清除事件(例如,“SEL Clear")。而在产生日志清除事件时,如步骤S215所示,记录日志清除事件至缓冲区块120。 然后,如步骤S220所示,转储缓冲区块120中的系统事件日志至记录区块110。也就是说, 日志清除事件的产生是表示记录区块110已经可以继续存放系统事件日志,此时,便将暂 时存放在缓冲区块120中的系统事件日志转储回记录区块110。之后,在步骤S225中,将日志存储位置由缓冲区块120切换至记录区块110,使得 基板管理控制器将后续产生的系统事件日志存放于记录区块110。最后,在步骤S230中,清 除缓冲区块120中的系统事件日志。以下再举一实施例来进一步说明系统事件日志记录方法各步骤。图3是本发明另一实施例的系统事件日志记录方法的流程图。请同时参照图1及 图3,在步骤S305中,在事件产生时,判断此事件是否为日志清除事件,以判断记录区块110 是否已清空。若此事件不为日志清除事件,如步骤S310所示,检查日志存储位置,以获得此事 件所对应的系统事件日志所欲存放的区块。当日志存储位置指向记录区块110时,执行步 骤S315 ;当日志存储位置指向缓冲区块120时,执行步骤S340,以将对应的系统事件日志记 录至缓冲区块120。在步骤S315中,判断事件是否为日志满载事件。若判定此事件不为日志满载事件,即表示记录区块110尚有空间,如步骤S345所示,记录对应的系统事件日志至记录区块 110。之后,当再有事件产生时,重新执行步骤S305。若判定事件为日志满载事件,表示记录区块110已占满系统事件日志,接着如步 骤S320所示,将日志存储位置自记录区块110切换至缓冲区块120,使得基板管理控制器暂 时将后续产生的事件所对应的系统事件日志存放于缓冲区块120。接着,在步骤S325中,确认操作系统是否已启动完成,以藉由操作系统来对记录 区块110进行转储及清除的动作。在本实施例中,可通过智能平台管理接口(Intelligent Platform Management Interface,以下简称IPMI)指令来确认操作系统是否已启动完 成。也就是说,通过一晶片发送讯息去询问中央处理单元,操作系统是否已启动完成。当 操作系统在初始化的时候会载入IPMI的驱动程序,而由IPMI的驱动程序定时发送一个 重置(reset)指令给基板管理控制器。在基板管理控制器中包括一看门狗计时器(watch dogtimer) 0倘若操作系统开启失败(例如当机)则便不会发送重置指令,此时,看门狗计 时器便会归零。据此,基板管理控制器若侦测到看门狗计时器归零即表示操作系统启动失 败。值得一提的是,由于目前日志存储位置是指向于缓冲区块120,因此在确认操作系 统是否完成至完成记录区块110的转储及清除的这段期间,倘若再有事件产生,则返回执 行步骤S305。在判定非日志清除事件之后,执行步骤S310,而检查到目前的日志存储位置 所指向为缓冲区块120,据此,如步骤S340所示,记录对应的系统事件日志至缓冲区块120。返回步骤S325,在操作系统启动完成之后,如步骤S330所示,便可通过操作系统 转储记录区块110中的系统事件日志至一存储单元(例如,硬盘)。接着,在步骤S335中, 通过操作系统清除记录区块110中的系统事件日志,而产生一日志清除事件。然后,返回步 骤 S305,在产生日志清除事件时,表示记录区块110已经清空而得以继续存储其他系统事 件日志,接着如步骤S350所示,记录日志清除事件至缓冲区块120。然后,如步骤S355所 示,转储缓冲区块120中的系统事件日志至记录区块110。之后,在步骤S360中,将日志存 储位置由缓冲区块120切换至记录区块110,使得基板管理控制器将后续产生的系统事件 日志存放于记录区块110。最后,在步骤S365中,清除缓冲区块120中的系统事件日志。而 当再有事件产生时,便重新执行步骤S305。综上所述,本发明利用额外建立一个缓冲区块,或是将原本的存储单元划分为记 录区块与缓冲区块。当记录区块被系统事件日志占满时,在对记录区块进行转储及清除的 动作期间,便可暂时将后续产生的系统事件日志存放于缓冲区块中。待记录区块完成转储 及清除的动作之后,再继续将系统事件日志存放于记录区块中。如此一来,便能够避免当记 录区块空间满载而造成重要的系统事件日志遗失。最后应说明的是以上实施例仅用以说明本发明的技术方案而非对其进行限制, 尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解其依 然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修 改后的技术方案脱离本发明技术方案的精神和范围。
权利要求
1.一种系统事件日志记录方法,用于具有基板管理控制器的电脑系统,所述方法包括在事件产生时,通过所述基板管理控制器将所述事件对应的系统事件日志存储至记录 区块;若判定所述事件为日志满载事件,将日志存储位置自所述记录区块切换至缓冲区块, 使得所述基板管理控制器暂时将后续产生的事件所对应的系统事件日志存放于所述缓冲 区块;通过操作系统转储所述记录区块中的系统事件日志至存储单元,之后清除所述记录区 块中的系统事件日志,而产生日志清除事件;在产生所述日志清除事件时,记录所述日志清除事件至所述缓冲区块; 转储所述缓冲区块中的系统事件日志至所述记录区块;将所述日志存储位置由所述缓冲区块切换至所述记录区块,使得所述基板管理控制器 将后续产生的系统事件日志存放于所述记录区块;以及 清除所述缓冲区块中的系统事件日志。
2.根据权利要求1所述的系统事件日志记录方法,其中在所述事件产生时,还包括 检查所述日志存储位置,以获得所述事件所对应的系统事件日志所欲存放的区块。
3.根据权利要求2所述的系统事件日志记录方法,其中在检查所述日志存储位置的步 骤之后,还包括当所述日志存储位置指向所述记录区块时,通过所述基板管理控制器将所述事件所对 应的系统事件日志存储至所述记录区块;以及当所述日志存储位置指向所述缓冲区块时,通过所述基板管理控制器将所述事件所对 应的系统事件日志存储至所述缓冲区块。
4.根据权利要求3所述的系统事件日志记录方法,其中当所述日志存储位置指向所述 记录区块时,还包括判断所述事件是否为所述日志满载事件。
5.根据权利要求4所述的系统事件日志记录方法,其中在判断所述事件是否为所述日 志满载事件的步骤之后,还包括若判定所述事件非所述日志满载事件,通过所述基板管理控制器继续将所述系统事件 日志存储至所述记录区块。
6.根据权利要求1所述的系统事件日志记录方法,其中在所述事件产生时,还包括 判断所述事件是否为所述日志清除事件,以在产生所述日志清除事件时,记录所述日志清除事件至所述缓冲区块。
7.根据权利要求6所述系统事件日志记录方法,其中若判定所述事件不为所述日志清 除事件,还包括检查所述日志存储位置,以获得所述事件所对应的系统事件日志所欲存放的区块。
8.根据权利要求1所述的系统事件日志记录方法,其中在通过所述操作系统转储所述 记录区块中的系统事件日志至所述存储单元,之后清除所述记录区块中的系统事件日志的 步骤之前,还包括确认所述操作系统是否已启动完成,以在所述操作系统启动完成时,通过所述操作系统转储所述记录区块中的系统事件日志至所述存储单元,之后清除所述记录区块中的系统 事件日志。
9.根据权利要求1所述的系统事件日志记录方法,其中所述记录区块与所述缓冲区块 设置于同一非易失性存储器。
10.根据权利要求1所述的系统事件日志记录方法,其中所述存储单元为硬盘。
全文摘要
本发明提供了一种系统事件日志记录方法,用于具有基板管理控制器的电脑系统。在本发明中,在一事件产生时,通过基板管理控制器将此事件对应的系统事件日志存储至记录区块。倘若此事件为日志满载事件,则将日志存储位置自记录区块切换至缓冲区块,使得基板管理控制器暂时将后续产生的事件所对应的系统事件日志存放于缓冲区块。在完成记录区块的转储及清除的动作之后,再将日志存储位置切换回记录区块。
文档编号G06F11/34GK102073578SQ20091022196
公开日2011年5月25日 申请日期2009年11月23日 优先权日2009年11月23日
发明者陈国泰 申请人:英业达股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1