BIOS日志存储方法及计算设备技术

技术编号:36391603 阅读:12 留言:0更新日期:2023-01-18 09:56
本申请实施例公开了一种BIOS日志存储方法及计算设备,该方法包括:在BIOS启动时,将第一数据写入缓存空间,该第一数据为在内存的初始化完成之前的BIOS日志;该缓存空间为CPU分配的CPU高速缓存,用于缓存该第一数据;在内存的初始化完成后,将该第一数据从CPU高速缓存迁移至内存;再将第二数据写入内存,该第二数据为内存的初始化完成之后的BIOS日志,从而得到完整的BIOS日志。通过以内存初始化完成的时刻作为分界将BIOS日志数据划分为第一数据和第二数据,并在CPU高速缓存中设置用于缓存第一数据的缓存空间,能够获取到包括内存初始化完成前的BIOS日志在内的、尽可能完整的BIOS日志并存储,从而提高BIOS问题定位的准确率。从而提高BIOS问题定位的准确率。从而提高BIOS问题定位的准确率。

【技术实现步骤摘要】
BIOS日志存储方法及计算设备


[0001]本申请涉及计算机
,具体涉及一种BIOS日志存储方法及计算设备。

技术介绍

[0002]在基本输入/输出系统(basic input/output system,BIOS)引导计算设备开机过程中,BIOS会对计算设备中的硬件设备进行扫描检测、设备初始化、资源分配与适配。若在引导过程中出现引导失败系统宕机、或者其他故障现象,往往需要开启BIOS代码中的启动串口打印函数的控制开关,保存选项机器重启后,再通过串口线或者通过基板管理控制器(baseboard management controller,BMC)收集串口打印函数输出的BIOS日志数据,最后根据该BIOS日志数据对BIOS问题进行分析定位。
[0003]由于串口是一种低速访问设备,BIOS在通过串口输出日志数据时需要消耗大量时间,从而加长了系统启动时间,影响用户对产品的使用体验。为了解决该问题,相关技术通过关闭串口打印函数,在BIOS启动过程中将日志数据写入内存、带外管理系统或其他存储设备中,以达到自动化采集日志数据的效果,使得BIOS出现故障时用户可以直接获取对应的日志数据进行BIOS问题定位。
[0004]然而,计算设备中的硬件设备需要完成初始化后才能行使相应功能,上述存储方法获取的BIOS日志数据不完整。

技术实现思路

[0005]本申请提供一种BIOS日志存储方法及计算设备,能够在启动BIOS的过程中获取更完整的BIOS日志数据,从而更准确地定位BIOS问题。
[0006]第一方面,本申请提供了一种BIOS日志存储方法,应用于计算设备,该方法包括:
[0007]在BIOS启动时,将第一数据写入缓存空间,该第一数据为在内存的初始化完成之前,该BIOS的启动过程中生成的BIOS日志;该缓存空间为中央处理器CPU分配的CPU高速缓存,用于缓存该第一数据;在该内存的初始化完成后,将该第一数据从该CPU高速缓存迁移至该内存;将第二数据写入该内存,该第二数据为该内存的初始化完成之后的该BIOS日志。
[0008]本申请中,通过以内存初始化完成的时刻作为分界将BIOS日志数据划分为第一数据和第二数据,并在CPU高速缓存中设置用于缓存第一数据的缓存空间,能够获取到包括内存初始化完成前的BIOS日志在内的、尽可能完整的BIOS日志并存储,从而提高BIOS问题定位的准确率。
[0009]在一种可能的实现中,在该将第一数据写入缓存空间之前,该方法还包括:调整串口打印函数的函数值为用于关闭该串口打印函数输出的第一预设值或用于指示输出第三数据的第二预设值,该第三数据为该BIOS日志中能够反映BIOS问题的数据,该第三数据的数据量小于对应该BIOS日志。
[0010]本申请中,通过设置串口打印函数的函数值以控制BIOS启动过程中串口的输出数据量,可以减少BIOS的启动时间;结合将第一数据写入缓存空间的方案,达到在快速启动
BIOS的同时获取到完整的BIOS日志的目的。另外,通过详略结合的方式输出BIOS日志,能够使得BIOS日志的查看方式更灵活,用户或维护人员可以通过第二预设值控制下的输出的简略版BIOS日志定位异常或发生故障的硬件,再从内存中的详细BIOS日志中快速找到对应日志记录确定对应的BIOS问题。
[0011]在一种可能的实现中,该第一数据包括多条日志记录;在该将第一数据写入缓存空间之前,该方法还包括:当该缓存空间的可用空间不足以缓存待写入的该日志记录时,将该缓存空间中的该日志记录压缩为数据包;将该数据包缓存于除该缓存空间外的该CPU高速缓存;清空该缓存空间;该将第一数据写入缓存空间包括:将该待写入的日志记录写入缓存空间。
[0012]本申请中,通过在缓存空间不足以缓存待写入的日志记录时,将缓存空间中已有的日志记录压缩并迁移到其他的CPU高速缓存中,能够提高CPU高速缓存的利用率。
[0013]在一种可能的实现中,该数据包的标识信息缓存于该CPU高速缓存中的标识队列,该标识信息用于标识该数据包在该CPU高速缓存中的位置;在该将该第一数据从该CPU高速缓存迁移至该内存之前,该方法还包括:根据该标识队列中的该标识信息获取该数据包;拼接该数据包中的该日志记录和该缓存空间中的该日志记录,得到该第一数据。
[0014]在一种可能的实现中,该数据包的标识信息缓存于该CPU高速缓存中的标识队列,该标识信息用于标识该数据包在该CPU高速缓存中的位置;该将该第一数据从该CPU高速缓存迁移至该内存,包括:根据该标识队列中的该标识信息获取该数据包;将该数据包和该缓存空间中的该日志记录迁移至该内存;拼接该数据包中的该日志记录和该内存中该第一数据对应的日志记录,得到该第一数据。
[0015]本申请中,通过标识队列中的标识信息定位数据包,并以拼接的方式还原第一数据,能够减少数据包的丢失和乱序,得到准确、完整的第一数据。
[0016]在一种可能的实现中,该CPU高速缓存包括一级缓存和二级缓存;该将第一数据写入缓存空间,包括:将该第一数据写入该一级缓存中的该缓存空间;该将该数据包缓存于除该缓存空间外的该CPU高速缓存,包括:将该数据包缓存于该二级缓存。
[0017]本申请中,在第一数据较大时,通过将日志记录压缩后缓存于二级缓存中,能够减少CPU的缓存压力,提高CPU的工作效率。
[0018]在一种可能的实现中,在该将第二数据写入该内存之后,该方法还包括:在BIOS启动完成后,向带外管理装置发送该第一数据和该第二数据。
[0019]本申请中,通过将第一数据和第二数据上传至带外管理装置,带外管理装置可以根据第一数据和第二数据生成便于用户或维护人员查看的文件,提高维护效率。
[0020]在一种可能的实现中,该带外管理装置为基板管理控制器BMC。
[0021]本申请第二方面提供一种计算设备,该计算设备包括处理器、BIOS芯片和内存,该处理器包括缓存空间,该BIOS芯片中存储有用于启动BIOS的BIOS程序;
[0022]该处理器用于在该处理器执行该BIOS程序时,将第一数据写入该缓存空间,该第一数据为在该内存的初始化完成之前,该BIOS的启动过程中生成的BIOS日志;该缓存空间为该处理器分配的CPU高速缓存,用于缓存该第一数据;
[0023]该处理器还用于在该内存的初始化完成后,将该第一数据从该CPU高速缓存迁移至该内存;
[0024]该处理器还用于将第二数据写入该内存,该第二数据为该内存的初始化完成之后的该BIOS日志。
[0025]在一种可能的实现中,该计算设备还包括带外管理装置;该处理器还用于在该BIOS启动完成后,向该带外管理装置发送该第一数据和该第二数据。
[0026]第三方面,本申请提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,当计算设备的至少一个处理器执行该计算机执行指令时,计算设备执行第一方面所提供的方法。
[0027]第四方面,本申请提供本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种BIOS日志存储方法,其特征在于,所述方法包括:在基本输入输出系统BIOS启动时,将第一数据写入缓存空间,所述第一数据为在内存的初始化完成之前,所述BIOS的启动过程中生成的BIOS日志;所述缓存空间为中央处理器CPU分配的CPU高速缓存,用于缓存所述第一数据;在所述内存的初始化完成后,将所述第一数据从所述CPU高速缓存迁移至所述内存;将第二数据写入所述内存,所述第二数据为所述内存的初始化完成之后的所述BIOS日志。2.根据权利要求1所述的方法,其特征在于,在所述将第一数据写入缓存空间之前,所述方法还包括:调整串口打印函数的函数值为用于关闭所述串口打印函数输出的第一预设值或用于指示输出第三数据的第二预设值,所述第三数据为所述BIOS日志中能够反映BIOS问题的数据,所述第三数据的数据量小于对应所述BIOS日志。3.根据权利要求1或2所述的方法,其特征在于,所述第一数据包括多条日志记录;在所述将第一数据写入缓存空间之前,所述方法还包括:当所述缓存空间的可用空间不足以缓存待写入的所述日志记录时,将所述缓存空间中的所述日志记录压缩为数据包;将所述数据包缓存于除所述缓存空间外的所述CPU高速缓存;清空所述缓存空间;所述将第一数据写入缓存空间包括:将所述待写入的日志记录写入所述缓存空间。4.根据权利要求3所述的方法,其特征在于,所述数据包的标识信息缓存于所述CPU高速缓存中的标识队列,所述标识信息用于标识所述数据包在所述CPU高速缓存中的位置;在所述将所述第一数据从所述CPU高速缓存迁移至所述内存之前,所述方法还包括:根据所述标识队列中的所述标识信息获取所述数据包;拼接所述数据包中的所述日志记录和所述缓存空间中的所述日志记录,得到所述第一数据。5.根据权利要求3所述的方法,其特征在于,所述数据包的标识信息缓存于所述CPU高速缓存中的标识队列,所述标识信息用于标识所述数据包...

【专利技术属性】
技术研发人员:龚国靖
申请(专利权)人:超聚变数字技术有限公司
类型:发明
国别省市:

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

1