一种基本输入输出系统固件更新方法、装置、设备、介质与流程

未命名 09-07 阅读:121 评论:0


1.本发明涉及服务器技术领域,特别涉及一种基本输入输出系统固件更新方法、装置、设备、介质。


背景技术:

2.当前,os(operating system,操作系统)环境下通过烧录软件更新bios(basic input output system,基本输入输出系统)固件时,需触发smi(system management interrupt,系统管理中断)中断,将cpu(central processing unit,中央处理器)置于smm(system management mode,系统管理模式)模式下,从而使bios进行自身flash(存储芯片)区域的读写,bios flash烧写完成后使用rsm指令退出smm模式,恢复cpu的正常运行。服务器运行稳定情况下,bios固件更新可以稳定进行,但当服务器运行资源紧张时,可能会带来两个问题,从而影响服务器的可靠运行,严重时甚至造成服务器宕机的发生。
3.首先,os环境下,因smi中断优先级较高,因此bios固件更新时如果频繁触发smi中断,可能会造成nmi中断的饥饿现象,服务器此时会触发宕机重启,以期待重启能够恢复正常。其次,smi中断不单单为更新bios固件使用,为增强服务器的可靠运行,服务器均配置有ras服务。服务器正常运行时巡视检查各外设是否有ce(corrected error,可矫正错误)类或者uce(un correct error,不可纠正的错误)类错误触发,为通知用户进行对应设备的维护,重要的ce错误和uce错误默认通过smi中断告知bios固件,由bios进行解析后通知到用户层。因bios固件更新时需借助cpu各通用寄存器进行参数的传入和传出,bios获取参数前需轮询各cpu的哪个核心触发了smi中断,如果此时有硬件ce或者uce错误触发,则可能造成bios错误的认为某核心上触发了固件更新的中断,而实际上是由硬件错误触发的,从而干扰服务器进行bios固件的更新。
4.综上,如何解决因bios固件更新时频繁触发的smi中断造成服务器宕机重启,以及硬件ce或uce错误干扰,实现bios固件稳定更新是本领域有待解决的技术问题。


技术实现要素:

5.有鉴于此,本发明的目的在于提供一种基本输入输出系统固件更新方法、装置、设备、介质,解决因bios固件更新时频繁触发的smi中断造成服务器宕机重启,以及硬件ce或uce错误干扰,实现bios固件稳定更新。其具体方案如下:
6.第一方面,本技术公开了一种基本输入输出系统固件更新方法,包括:
7.当检测存在基本输入输出系统固件的更新请求时,获取划分后的所述基本输入输出系统固件的各个存储芯片区块和所述基本输入输出系统固件的各个存储芯片地址空间;
8.读取所述存储芯片地址空间对应的跳转地址,并基于所述跳转地址从所有所述存储芯片区块中确定待更新存储芯片区块;
9.对所述待更新存储芯片区块中的区块数据进行更新。
10.可选的,所述当检测存在基本输入输出系统固件的更新请求时,获取划分后的所
述基本输入输出系统固件的各个存储芯片区块,包括:
11.当检测存在基本输入输出系统固件的更新请求时,按照预设空间大小划分所述基本输入输出系统固件的存储芯片空间,以获取各个存储芯片区块。
12.可选的,所述获取所述基本输入输出系统固件的各个存储芯片地址空间,包括:
13.对所述基本输入输出系统固件的存储芯片的地址空间进行划分,以获取介质访问层、第一基本输入输出系统固件区和第二基本输入输出系统固件区。
14.可选的,所述读取所述存储芯片地址空间对应的跳转地址,并基于所述跳转地址从所有所述存储芯片区块中确定待更新存储芯片区块,包括:
15.执行所述介质访问层中的取值指令,以获取所述介质访问层的跳转地址;
16.执行所述介质访问层的跳转指令,跳转至所述跳转地址指向的所述第一基本输入输出系统固件区或所述第二基本输入输出系统固件区;
17.相应的,所述对所述待更新存储芯片区块中的区块数据进行更新,包括:
18.若跳转至所述第一基本输入输出系统固件区,则将所述第二基本输入输出系统固件区作为待更新存储芯片区块,并烧录所述待更新存储芯片区块中的区块数据;
19.若跳转至所述第二基本输入输出系统固件区,则将所述第一基本输入输出系统固件区作为待更新存储芯片区块,并烧录所述待更新存储芯片区块中的区块数据。
20.可选的,所述对所述待更新存储芯片区块中的区块数据进行更新之后,还包括:
21.根据所述第一基本输入输出系统固件区或所述第二基本输入输出系统固件区的更新结果,对介质访问层的跳转地址更新,以便所述介质访问层的跳转地址更新为最新的第一跳转地址或第二跳转地址。
22.可选的,所述对所述待更新存储芯片区块中的区块数据进行更新,包括:
23.比对待更新存储芯片的待更新区块数据和目标区块数据,若一致,则不进行基本输入输出系统固件的存储芯片的擦写操作,直接将待更新存储芯片区块名称更新为目标存储芯片区块;
24.若不一致,则对所述待更新存储芯片区块进行基本输入输出系统固件的存储芯片的擦写操作,以更新待更新区块数据。
25.可选的,所述基本输入输出系统固件更新方法,还包括:
26.当检测存在基本输入输出系统固件的更新请求时,绑定固件更新线程至中央处理器的核心,并触发中央处理器模式切换指令切换至所述中央处理器的模式为中断状态模式;
27.从所述中央处理器的核心中读取用于固件更新的包含目标区块数据的传入参数。
28.第二方面,本技术公开了一种基本输入输出系统固件更新装置,包括:
29.区块划分模块,用于当检测存在基本输入输出系统固件的更新请求时,获取划分后的所述基本输入输出系统固件的各个存储芯片区块和所述基本输入输出系统固件的各个存储芯片地址空间;
30.区块确定模块,用于读取所述存储芯片地址空间对应的跳转地址,并基于所述跳转地址从所有所述存储芯片区块中确定待更新存储芯片区块;
31.数据更新模块,用于对所述待更新存储芯片区块中的区块数据进行更新。
32.第三方面,本技术公开了一种电子设备,包括:
33.存储器,用于保存计算机程序;
34.处理器,用于执行所述计算机程序,以实现前述公开的基本输入输出系统固件更新方法的步骤。
35.第四方面,本技术公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的基本输入输出系统固件更新方法的步骤。
36.由此可见,本技术公开了一种基本输入输出系统固件更新方法,包括:当检测存在基本输入输出系统固件的更新请求时,获取划分后的所述基本输入输出系统固件的各个存储芯片区块和所述基本输入输出系统固件的各个存储芯片地址空间;读取所述存储芯片地址空间对应的跳转地址,并基于所述跳转地址从所有所述存储芯片区块中确定待更新存储芯片区块;对所述待更新存储芯片区块中的区块数据进行更新。可见,通过设置对基本输入输出系统固件的各个存储芯片区块进行区块划分,增加出现系统管理中断的触发间隔,并且通过区块划分的各个存储芯片区块和读取到的跳转地址确定待更新存储芯片区块,增强了基本输入输出系统固件的稳定性更新,保障服务器可持续稳定运行。
附图说明
37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
38.图1为本技术公开的一种基本输入输出系统固件更新方法流程图;
39.图2为本技术公开的一种中央处理器运行时间线中的各种中断类型示意图;
40.图3为本技术公开的一种bios flash分区划分示意图;
41.图4为本技术公开的一种具体的基本输入输出系统固件更新方法流程图;
42.图5为本技术公开的一种基本输入输出系统固件更新装置结构示意图;
43.图6为本技术公开的一种电子设备结构图。
具体实施方式
44.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
45.首先,os环境下,因smi中断优先级较高,因此bios固件更新时如果频繁触发smi中断,可能会造成nmi中断的饥饿现象,服务器此时会触发宕机重启,以期待重启能够恢复正常。其次,smi中断不单单为更新bios固件使用,为增强服务器的可靠运行,服务器均配置有ras服务。服务器正常运行时巡视检查各外设是否有ce(corrected error,可矫正错误)类或者uce(un correct error,不可纠正的错误)类错误触发,为通知用户进行对应设备的维护,重要的ce错误和uce错误默认通过smi中断告知bios固件,由bios进行解析后通知到用户层。因bios固件更新时需借助cpu各通用寄存器进行参数的传入和传出,bios获取参数前需轮询各cpu的哪个核心触发了smi中断,如果此时有硬件ce或者uce错误触发,则可能造成
bios错误的认为某核心上触发了固件更新的中断,而实际上是由硬件错误触发的,从而干扰服务器进行bios固件的更新。
46.为此,本技术公开了一种基本输入输出系统固件更新方案,能够解决因bios固件更新时频繁触发的smi中断造成服务器宕机重启,以及硬件ce或uce错误干扰,实现bios固件稳定更新。
47.参照图1所示,本发明实施例公开了一种基本输入输出系统固件更新方法,包括:
48.步骤s11:当检测存在基本输入输出系统固件的更新请求时,获取划分后的所述基本输入输出系统固件的各个存储芯片区块和所述基本输入输出系统固件的各个存储芯片地址空间。
49.本实施例中,当基本输入输出系统固件更新时,也即通过系统的smi中令中央处理器进入smm模式,os环境中其他执行流程被挂起,暂停服务,如果暂停其他服务时间过长,可能导致宕机,因此,当检测存在基本输入输出系统固件的更新请求时,对绑定固件更新线程至中央处理器的核心,并触发中央处理器模式切换指令切换至所述中央处理器的模式为中断状态模式;从所述中央处理器的核心中读取用于固件更新的包含目标区块数据的传入参数。也即固定基本输入输出系统固件的固件更新时触发smi中断的cpu核心,具体的,基本输入输出系统固件更新工具运行时,将自身工作进程绑定在固定的中央处理器核心上,对flash分区进行擦写时,仅在该中央处理器核心上触发smi中断;smi中断触发,中央处理器切换到smm模式后,基本输入输出系统从固定的中央处理器核心上读取通用寄存器,从而获取当前的传入参数,因smi中断优先级较高,且同级别smi中断不可嵌套执行,所以保证传入参数不会受到其他不相关中断影响。当基本输入输出系统更新工作任务不再依赖于内核自动调度分配的核心基本输入输出系统固件更新时,既绑定工作进程在固定的cpu核心,主要包括如下几个步骤:
50.步骤一:系统环境触发基本输入输出系统固件更新时,绑定工作线程在固定的cpu核心上;
51.步骤二:每次触发smi中断时,仅触发在步骤一绑定的cpu核心上;
52.步骤三:cpu切到smm模式,开始处理bios flash的读写前,先从步骤一绑定的cpu核心上读取传入参数;
53.步骤四:依据传入参数,对bios flash进行数据的写入;
54.步骤五:数据写入完成后,使用rsm指令退出smm模式,其他cpu进程或者中断恢复正常运行。
55.如图2所示,为中央处理器运行时间线中smi中断和其他类型中断。bios适当增加每次擦写之间的间隔,让出足够的空闲时间供其他类型中断或者常规进程运行。
56.本实施例中,当检测存在基本输入输出系统固件的更新请求时,按照预设空间大小划分所述基本输入输出系统固件的存储芯片空间,以获取各个存储芯片区块。具体的,基本输入输出系统固件更新时,以4kb大小划分固件flash空间,以适当增加单次固件更新区块大小,从而减少smi中断触发次数;通过减少smi中断触发次数,让出足够中央处理器时间片。增加smi触发间隔,整体上基本输入输出系统固件更新过程依然可以保持高效进行。同时增加smi中断触发的事件间隔,留出足够cpu时间片供其他紧急任务执行。
57.本实施例中,对所述基本输入输出系统固件的存储芯片的地址空间进行划分,以
获取介质访问层、第一基本输入输出系统固件区和第二基本输入输出系统固件区。可以理解的是,如图3所示,将基本输入输出系统flash地址空间重新划分,不再单纯的使用flash首部16mb字节空间,将flash分区重新划为三段,介质访问层、固件a区和固件b区,其中,介质访问层存放一条取值指令,一条跳转指令,一个4bytes区域用于存放跳转地址,而a区和b区则用来存放正常的基本输入输出系统固件程序。需要注意的是,当bios flash出厂烧录时只更新固件a区空间,同时更新介质访问层跳转地址为固件a区首地址。
58.步骤s12:读取所述存储芯片地址空间对应的跳转地址,并基于所述跳转地址从所有所述存储芯片区块中确定待更新存储芯片区块。
59.本实施例中,服务器启动基本输入输出系统时,获取存储芯片地址空间对应的跳转地址,然后执行跳转指令,跳转至跳转地址指向的存储芯片区块,此时,将所有存储芯片区块中除跳转地址指向的存储芯片区块外的其他存储芯片区块确定为待更新存储芯片区块。
60.步骤s13:对所述待更新存储芯片区块中的区块数据进行更新。
61.本实施例中,对待更新存储芯片区块中的区块数据进行烧录更新,具体的,更新4kb flash空间时,比对待更新存储芯片的待更新区块数据和目标区块数据,若一致,则不进行基本输入输出系统固件的存储芯片的擦写操作,直接将待更新存储芯片区块名称更新为目标存储芯片区块;若不一致,则对所述待更新存储芯片区块进行基本输入输出系统固件的存储芯片的擦写操作,以更新待更新区块数据。可以理解的是,若待更新存储芯片区块为固件a区,则只对固件a区中的数据与目标区块数据进行比对,并获取比对结果。其中,所述目标区块数据为从中央处理器的核心中读取的传入参数中包含的最新区块数据。基于比对结果选择是否对待更新的固件a区进行数据擦写操作,其中,若比对结果一致,则不进行基本输入输出系统flash的擦写,当比对结果不一致时,再行擦写对应的固件a区的flash分区,这样一来,通过比对结果一致或不一致的方式,选择是否需要对基本输入输出系统flash的擦写,从而减少基本输入输出系统flash芯片的擦写次数,减少固件更新时间,同时延长了flash芯片的使用寿命。需要注意的是,基本输入输出系统固件更新时,一次进行4kb区块进行读写。
62.由此可见,本技术公开了一种基本输入输出系统固件更新方法,包括:当检测存在基本输入输出系统固件的更新请求时,获取划分后的所述基本输入输出系统固件的各个存储芯片区块和所述基本输入输出系统固件的各个存储芯片地址空间;读取所述存储芯片地址空间对应的跳转地址,并基于所述跳转地址从所有所述存储芯片区块中确定待更新存储芯片区块;对所述待更新存储芯片区块中的区块数据进行更新。可见,通过设置对基本输入输出系统固件的各个存储芯片区块进行区块划分,增加出现系统管理中断的触发间隔,并且通过区块划分的各个存储芯片区块和读取到的跳转地址确定待更新存储芯片区块,增强了基本输入输出系统固件的稳定性更新,保障服务器可持续稳定运行。
63.参照图4所示,本发明实施例公开了一种具体的基本输入输出系统固件更新方法,相对于上一实施例,本实施例对技术方案作了进一步的说明和优化。具体的:
64.步骤s21:当检测存在基本输入输出系统固件的更新请求时,获取划分后的所述基本输入输出系统固件的各个存储芯片区块和所述基本输入输出系统固件的各个存储芯片地址空间。
65.步骤s22:执行介质访问层中的取值指令,以获取所述介质访问层的跳转地址;执行所述介质访问层的跳转指令,跳转至所述跳转地址指向的第一基本输入输出系统固件区或所述第二基本输入输出系统固件区。
66.本实施例中,服务器启动bios时,先执行介质访问层的取值指令,获取当前介质访问层存放的跳转地址,然后执行跳转指令,跳转到固件a区或者固件b区,以执行正常的bios固件指令;并且当更新bios固件时,跳过当前flash分区首部16mb字节区间,将新的固件更新在后续分区空间,防止bios更新过程中服务器异常重启,而重启时因bios固件损坏而无法启动;bios固件16mb地址空间全部更新完成后,再行更新介质访问层的跳转地址,如更新bios过程中服务器异常重启、掉电等,由于介质访问层保存的跳转地址依然是之前正常运行的bios固件,所以服务器恢复供电后仍可正常运行,只需要重试升级固件流程即可。
67.步骤s23:若跳转至所述第一基本输入输出系统固件区,则将所述第二基本输入输出系统固件区作为待更新存储芯片区块,并烧录所述待更新存储芯片区块中的区块数据。
68.本实施例中,日常需要更新bios固件时,先行获取介质访问层的跳转地址,如跳转地址为固件a区,则更新时只烧录固件b区,对固件a区的数据不进行烧录更新操作。
69.步骤s24:若跳转至所述第二基本输入输出系统固件区,则将所述第一基本输入输出系统固件区作为待更新存储芯片区块,并烧录所述待更新存储芯片区块中的区块数据。
70.本实施例中,如当前跳转地址为固件b区,则更新时只烧录固件a区,对固件b区不进行烧录更新操作。
71.本实施例中,所述待更新存储芯片区块中的区块数据进行更新之后,还包括:根据所述第一基本输入输出系统固件区或所述第二基本输入输出系统固件区的更新结果,对介质访问层的跳转地址更新,以便所述介质访问层的跳转地址更新为最新的第一跳转地址或第二跳转地址。可以理解的是,当固件a区或者b区更新完成后,更新介质访问层的跳转地址为固件a区或者固件b区。
72.由此可见,通过减少smi触发次数,增加smi中断触发间隔,对基本输入输出系统flash进行区块划分,根据跳转指令选择合适的待更新区块进行固件数据的更新操作,并在更新时有选择的对某一分区进行更新,减少擦写次数,延长flash芯片使用寿命,同时,在更新固件后,再行更新介质访问层的跳转地址,避免在更新基本输入输出系统固件的过程中若突发服务器的异常重启、掉电等操作时,在服务器恢复供电后还可正常运行,只需重拾升级固件流程。
73.参照图5所示,本发明实施例还相应公开了一种基本输入输出系统固件更新装置,包括:
74.区块划分模块11,用于当检测存在基本输入输出系统固件的更新请求时,获取划分后的所述基本输入输出系统固件的各个存储芯片区块和所述基本输入输出系统固件的各个存储芯片地址空间;
75.区块确定模块12,用于读取所述存储芯片地址空间对应的跳转地址,并基于所述跳转地址从所有所述存储芯片区块中确定待更新存储芯片区块;
76.数据更新模块13,用于对所述待更新存储芯片区块中的区块数据进行更新。
77.由此可见,本技术公开了当检测存在基本输入输出系统固件的更新请求时,获取划分后的所述基本输入输出系统固件的各个存储芯片区块和所述基本输入输出系统固件
的各个存储芯片地址空间;读取所述存储芯片地址空间对应的跳转地址,并基于所述跳转地址从所有所述存储芯片区块中确定待更新存储芯片区块;对所述待更新存储芯片区块中的区块数据进行更新。可见,通过设置对基本输入输出系统固件的各个存储芯片区块进行区块划分,增加出现系统管理中断的触发间隔,并且通过区块划分的各个存储芯片区块和读取到的跳转地址确定待更新存储芯片区块,增强了基本输入输出系统固件的稳定性更新,保障服务器可持续稳定运行。
78.在一些具体实施方式中,所述区块划分模块11,具体可以包括:
79.区块获取单元,用于当检测存在基本输入输出系统固件的更新请求时,按照预设空间大小划分所述基本输入输出系统固件的存储芯片空间,以获取各个存储芯片区块。
80.在一些具体实施方式中,所述区块划分模块11,具体可以包括:
81.空间划分单元,用于对所述基本输入输出系统固件的存储芯片的地址空间进行划分,以获取介质访问层、第一基本输入输出系统固件区和第二基本输入输出系统固件区。
82.在一些具体实施方式中,所述区块确定模块12,具体可以包括:
83.地址跳转单元,用于执行所述介质访问层中的取值指令,以获取所述介质访问层的跳转地址;
84.指令执行单元,用于执行所述介质访问层的跳转指令,跳转至所述跳转地址指向的所述第一基本输入输出系统固件区或所述第二基本输入输出系统固件区;
85.在一些具体实施方式中,所述数据更新模块13,具体可以包括:
86.第一数据更新单元,用于若跳转至所述第一基本输入输出系统固件区,则将所述第二基本输入输出系统固件区作为待更新存储芯片区块,并烧录所述待更新存储芯片区块中的区块数据;
87.第二数据更新单元,用于若跳转至所述第二基本输入输出系统固件区,则将所述第一基本输入输出系统固件区作为待更新存储芯片区块,并烧录所述待更新存储芯片区块中的区块数据。
88.在一些具体实施方式中,所述基本输入输出系统固件更新装置,具体可以包括:
89.地址更新单元,用于根据所述第一基本输入输出系统固件区或所述第二基本输入输出系统固件区的更新结果,对介质访问层的跳转地址更新,以便所述介质访问层的跳转地址更新为最新的第一跳转地址或第二跳转地址。
90.在一些具体实施方式中,所述数据更新模块13,具体可以包括:
91.数据比对单元,用于比对待更新存储芯片的待更新区块数据和目标区块数据,若一致,则不进行基本输入输出系统固件的存储芯片的擦写操作,直接将待更新存储芯片区块名称更新为目标存储芯片区块;
92.若不一致,则对所述待更新存储芯片区块进行基本输入输出系统固件的存储芯片的擦写操作,以更新待更新区块数据。
93.在一些具体实施方式中,所述基本输入输出系统固件更新装置,具体可以包括:
94.核心确定单元,用于当检测存在基本输入输出系统固件的更新请求时,绑定固件更新线程至中央处理器的核心,并触发中央处理器模式切换指令切换至所述中央处理器的模式为中断状态模式;
95.从所述中央处理器的核心中读取用于固件更新的包含目标区块数据的传入参数。
96.进一步的,本技术实施例还公开了一种电子设备,图6是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本技术的使用范围的任何限制。
97.图6为本技术实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的基本输入输出系统固件更新方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
98.本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本技术技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
99.其中,处理器21可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器21可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器21也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器21可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器21还可以包括ai(artificial intelligence,人工智能)处理器,该ai处理器用于处理有关机器学习的计算操作。
100.另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
101.其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,以实现处理器21对存储器22中海量数据223的运算与处理,其可以是windows server、netware、unix、linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的基本输入输出系统固件更新方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。数据223除了可以包括电子设备接收到的由外部设备传输进来的数据,也可以包括由自身输入输出接口25采集到的数据等。
102.进一步的,本技术还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的基本输入输出系统固件更新方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
103.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
104.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元
及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
105.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
106.以上对本发明所提供的一种基本输入输出系统固件更新方法、装置、设备、介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术特征:
1.一种基本输入输出系统固件更新方法,其特征在于,包括:当检测存在基本输入输出系统固件的更新请求时,获取划分后的所述基本输入输出系统固件的各个存储芯片区块和所述基本输入输出系统固件的各个存储芯片地址空间;读取所述存储芯片地址空间对应的跳转地址,并基于所述跳转地址从所有所述存储芯片区块中确定待更新存储芯片区块;对所述待更新存储芯片区块中的区块数据进行更新。2.根据权利要求1所述的基本输入输出系统固件更新方法,其特征在于,所述当检测存在基本输入输出系统固件的更新请求时,获取划分后的所述基本输入输出系统固件的各个存储芯片区块,包括:当检测存在基本输入输出系统固件的更新请求时,按照预设空间大小划分所述基本输入输出系统固件的存储芯片空间,以获取各个存储芯片区块。3.根据权利要求1所述的基本输入输出系统固件更新方法,其特征在于,所述获取所述基本输入输出系统固件的各个存储芯片地址空间,包括:对所述基本输入输出系统固件的存储芯片的地址空间进行划分,以获取介质访问层、第一基本输入输出系统固件区和第二基本输入输出系统固件区。4.根据权利要求3所述的基本输入输出系统固件更新方法,其特征在于,所述读取所述存储芯片地址空间对应的跳转地址,并基于所述跳转地址从所有所述存储芯片区块中确定待更新存储芯片区块,包括:执行所述介质访问层中的取值指令,以获取所述介质访问层的跳转地址;执行所述介质访问层的跳转指令,跳转至所述跳转地址指向的所述第一基本输入输出系统固件区或所述第二基本输入输出系统固件区;相应的,所述对所述待更新存储芯片区块中的区块数据进行更新,包括:若跳转至所述第一基本输入输出系统固件区,则将所述第二基本输入输出系统固件区作为待更新存储芯片区块,并烧录所述待更新存储芯片区块中的区块数据;若跳转至所述第二基本输入输出系统固件区,则将所述第一基本输入输出系统固件区作为待更新存储芯片区块,并烧录所述待更新存储芯片区块中的区块数据。5.根据权利要求4所述的基本输入输出系统固件更新方法,其特征在于,所述对所述待更新存储芯片区块中的区块数据进行更新之后,还包括:根据所述第一基本输入输出系统固件区或所述第二基本输入输出系统固件区的更新结果,对介质访问层的跳转地址更新,以便所述介质访问层的跳转地址更新为最新的第一跳转地址或第二跳转地址。6.根据权利要求1所述的基本输入输出系统固件更新方法,其特征在于,所述对所述待更新存储芯片区块中的区块数据进行更新,包括:比对待更新存储芯片的待更新区块数据和目标区块数据,若一致,则不进行基本输入输出系统固件的存储芯片的擦写操作,直接将待更新存储芯片区块名称更新为目标存储芯片区块;若不一致,则对所述待更新存储芯片区块进行基本输入输出系统固件的存储芯片的擦写操作,以更新待更新区块数据。7.根据权利要求1至6任一项所述的基本输入输出系统固件更新方法,其特征在于,还
包括:当检测存在基本输入输出系统固件的更新请求时,绑定固件更新线程至中央处理器的核心,并触发中央处理器模式切换指令切换至所述中央处理器的模式为中断状态模式;从所述中央处理器的核心中读取用于固件更新的包含目标区块数据的传入参数。8.一种基本输入输出系统固件更新装置,其特征在于,包括:区块划分模块,用于当检测存在基本输入输出系统固件的更新请求时,获取划分后的所述基本输入输出系统固件的各个存储芯片区块和所述基本输入输出系统固件的各个存储芯片地址空间;区块确定模块,用于读取所述存储芯片地址空间对应的跳转地址,并基于所述跳转地址从所有所述存储芯片区块中确定待更新存储芯片区块;数据更新模块,用于对所述待更新存储芯片区块中的区块数据进行更新。9.一种电子设备,其特征在于,包括:存储器,用于保存计算机程序;处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的基本输入输出系统固件更新方法的步骤。10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的基本输入输出系统固件更新方法的步骤。

技术总结
本申请公开了一种基本输入输出系统固件更新方法、装置、设备、介质,涉及服务器技术领域,包括:当检测存在基本输入输出系统固件的更新请求时,获取划分后的基本输入输出系统固件的各个存储芯片区块和基本输入输出系统固件的各个存储芯片地址空间;读取存储芯片地址空间对应的跳转地址,并基于跳转地址从所有存储芯片区块中确定待更新存储芯片区块;对待更新存储芯片区块中的区块数据进行更新。通过设置对基本输入输出系统固件的各个存储芯片区块进行区块划分,增加出现系统管理中断的触发间隔,并且通过区块划分的各个存储芯片区块和读取到的跳转地址确定待更新存储芯片区块,增强基本输入输出系统固件的稳定性更新,保障服务器可持续稳定运行。务器可持续稳定运行。务器可持续稳定运行。


技术研发人员:赵永欣
受保护的技术使用者:山东云海国创云计算装备产业创新中心有限公司
技术研发日:2023.06.29
技术公布日:2023/9/6
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐