一种处理BIOS启动过程中Assert宕机故障的方法及系统技术方案

技术编号:35492037 阅读:16 留言:0更新日期:2022-11-05 16:48
本申请公开了一种处理BIOS启动过程中Assert宕机故障的方法及系统,该方法首先定义一用于存放BIOS调试信息的SRAM区域,SRAM区域设置于CPU之外的独立控制器上;BIOS定义待打印函数的函数名称;BIOS启动正常后,访问SRAM区域,并将函数名称依次写入SRAM区域;当发生Assert宕机故障时,独立控制器根据SRAM区域进行数据收集;根据所收集的数据处理Assert宕机故障。该系统包括:SRAM区域定义模块、函数名称定义模块、SRAM区域访问模块、数据收集模块和故障处理模块。通过本申请,能够有效提高Assert宕机故障处理效率。Assert宕机故障处理效率。Assert宕机故障处理效率。

【技术实现步骤摘要】
一种处理BIOS启动过程中Assert宕机故障的方法及系统


[0001]本申请涉及计算机故障处理
,特别是涉及一种处理BIOS(Basic Input Output System,基本输入输出系统)启动过程中Assert宕机故障的方法及系统。

技术介绍

[0002]在计算机的BIOS启动过程中,会由于某些原因出现Assert宕机,如何处理Assert宕机故障,从而使计算机恢复正常运行,是个重要的技术问题。
[0003]目前处理Assert宕机的方法,通常是打印宕机位置所在的文件名称和宕机位置的行号,然后根据这些文件名称和位置,定位大概的故障原因。需要执行函数的前后文信息时,重新搭建环境,把Debug(排除故障)模式打开再去复现问题。
[0004]然而,目前处理Assert宕机的方法中,由于只能大概定位故障原因,信息过于笼统,后续还需要根据执行函数的前后文信息,逐一排查,使得故障处理效率较低。尤其是宕机位置调用了某个通用的库函数时,更是难以确定哪个地方调用了该库函数。而且,在确定执行函数的前后文信息时,需要搭建环境等操作,也需要花费较长的时间去复现。因此,目前处理Assert宕机的方法使得故障处理效率较低。

技术实现思路

[0005]本申请提供了一种处理BIOS启动过程中Assert宕机故障的方法及系统,以解决现有技术中处理Assert宕机的方法使得故障处理效率较低的问题。
[0006]为了解决上述技术问题,本申请实施例公开了如下技术方案:
[0007]一种处理BIOS启动过程中Assert宕机故障的方法,所述方法包括:
[0008]定义一用于存放BIOS调试信息的SRAM(Static Random

Access Memory静态随机存取存储器)区域,所述SRAM区域设置于CPU之外的独立控制器上;
[0009]BIOS定义待打印函数的函数名称;
[0010]BIOS启动正常后,访问SRAM区域,并将所述函数名称依次写入SRAM区域;
[0011]当发生Assert宕机故障时,独立控制器根据所述SRAM区域进行数据收集;
[0012]根据所收集的数据处理Assert宕机故障。
[0013]可选地,BIOS访问SRAM区域的方法包括:
[0014]BIOS通过IO(Input/Output输入/输出)方式访问SRAM区域;或者,
[0015]BIOS通过共享内存的方式访问SRAM区域。
[0016]可选地,所述定义一用于存放BIOS调试信息的SRAM区域,包括:
[0017]定义SRAM区域的大小和起始地址;
[0018]定义SRAM区域内的数据结构;
[0019]定义SRAM区域的数据解析规则。
[0020]可选地,所述BIOS启动正常后,访问SRAM区域,并将所述函数名称依次写入SRAM区域,包括:
[0021]BIOS启动正常后,执行到第一个函数时,定义其序号为1,并将所述第一个函数的函数名称写入对应区域;
[0022]执行到下一个函数时,序号增加1,并将所述下一个函数的函数名称写入对应区域;
[0023]当所述SRAM区域写满后,序号继续增加1,从SRAM区域的起始地址开始覆盖写入对应的函数名称,直到BIOS启动完成。
[0024]可选地,所述当发生Assert宕机故障时,独立控制器根据所述SRAM区域进行数据收集,包括:
[0025]当发生Assert宕机故障时,根据所获取的超时告警信息,所述独立控制器锁住所述SRAM区域;
[0026]读取所述SRAM区域内的信息并将所述信息输出至维护日志中;
[0027]将所述SRAM区域内的信息完整保存后,释放所述SRAM区域。
[0028]可选地,所述独立控制器包含且不限于:BMC(Baseboard Management Controller,基板管理控制器)、SIO(SuperInput Output,超级输入输出芯片,为主板上的标准I/O接口提供控制处理功能)以及EC(Embed Controller,嵌入式控制器)中的任意一种。
[0029]可选地,所述方法应用于Intel平台,支持UEFI(Unified Extensible Firmware Interface,统一的可扩展固件接口)固件的X86平台或者ARM平台。
[0030]一种处理BIOS启动过程中Assert宕机故障的系统,所述系统包括:
[0031]SRAM区域定义模块,用于定义一用于存放BIOS调试信息的SRAM区域,所述SRAM区域设置于CPU之外的独立控制器上;
[0032]函数名称定义模块,设置于BIOS上,用于定义待打印函数的函数名称;
[0033]SRAM区域访问模块,设置于BIOS上,用于BIOS启动正常后,访问SRAM区域,并将所述函数名称依次写入SRAM区域;
[0034]数据收集模块,设置于独立控制器上,用于当发生Assert宕机故障时,根据所述SRAM区域进行数据收集;
[0035]故障处理模块,用于根据所收集的数据处理Assert宕机故障。
[0036]可选地,所述数据收集模块包括:
[0037]SRAM区域控制单元,用于当发生Assert宕机故障时,根据所获取的超时告警信息,锁住所述SRAM区域;
[0038]信息读取和输出单元,用于锁住所述SRAM区域后,读取所述SRAM区域内的信息并将所述信息输出至维护日志中;
[0039]所述SRAM区域控制单元,还用于将所述SRAM区域内的信息完整保存后,释放所述SRAM区域。
[0040]可选地,所述独立控制器包含且不限于:BMC、SIO以及EC中的任意一种。
[0041]本申请的实施例提供的技术方案可以包括以下有益效果:
[0042]本申请提供一种处理BIOS启动过程中Assert宕机故障的方法,该方法首先定义一用于存放BIOS调试信息的SRAM区域,BIOS定义待打印函数的函数名称,然后BIOS正常启动后访问该SRAM区域并将函数名称依次写入该SRAM区域,当发生Assert宕机故障时,独立控
制器根据该SRAM区域进行数据收集,最后根据所收集的数据进行故障处理。本实施例通过定义SRAM区域,从而在CPU之外的独立控制器上记录BIOS调试信息,对CPU开机过程中BIOS所运行的函数进行记录,为后续进行故障处理提供可靠依据,从而大大提高Assert宕机故障处理效率。而且,由于本实施例中将BIOS所运行函数的函数名称写入SRAM区域,进行故障定位时,可以根据当前执行函数的前后文定位出具体是哪个函数运行中出现故障,从而大大缩小故障分析的范围,有利于提高故障处理的准确性,提高故障处理效率。
[0043]另外,本实施例中定义SRAM区域时,对SRAM区域的大小、起始地址、数据结构以及数据解析规则进行定本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理BIOS启动过程中Assert宕机故障的方法,其特征在于,所述方法包括:定义一用于存放BIOS调试信息的SRAM区域,所述SRAM区域设置于CPU之外的独立控制器上;BIOS定义待打印函数的函数名称;BIOS启动正常后,访问SRAM区域,并将所述函数名称依次写入SRAM区域;当发生Assert宕机故障时,独立控制器根据所述SRAM区域进行数据收集;根据所收集的数据处理Assert宕机故障。2.根据权利要求1所述的一种处理BIOS启动过程中Assert宕机故障的方法,其特征在于,BIOS访问SRAM区域的方法包括:BIOS通过IO方式访问SRAM区域;或者,BIOS通过共享内存的方式访问SRAM区域。3.根据权利要求1所述的一种处理BIOS启动过程中Assert宕机故障的方法,其特征在于,所述定义一用于存放BIOS调试信息的SRAM区域,包括:定义SRAM区域的大小和起始地址;定义SRAM区域内的数据结构;定义SRAM区域的数据解析规则。4.根据权利要求3所述的一种处理BIOS启动过程中Assert宕机故障的方法,其特征在于,所述BIOS启动正常后,访问SRAM区域,并将所述函数名称依次写入SRAM区域,包括:BIOS启动正常后,执行到第一个函数时,定义其序号为1,并将所述第一个函数的函数名称写入对应区域;执行到下一个函数时,序号增加1,并将所述下一个函数的函数名称写入对应区域;当所述SRAM区域写满后,序号继续增加1,从SRAM区域的起始地址开始覆盖写入对应的函数名称,直到BIOS启动完成。5.根据权利要求1所述的一种处理BIOS启动过程中Assert宕机故障的方法,其特征在于,所述当发生Assert宕机故障时,独立控制器根据所述SRAM区域进行数据收集,包括:当发生Assert宕机故障时,根据所获取的超时告警信息,所述独立控制器锁住所述SRAM区域;...

【专利技术属性】
技术研发人员:仇广东芦飞
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1