CN112685067A - 一种固件版本刷新方法、装置、系统和介质 - Google Patents

一种固件版本刷新方法、装置、系统和介质 Download PDF

Info

Publication number
CN112685067A
CN112685067A CN202011568163.1A CN202011568163A CN112685067A CN 112685067 A CN112685067 A CN 112685067A CN 202011568163 A CN202011568163 A CN 202011568163A CN 112685067 A CN112685067 A CN 112685067A
Authority
CN
China
Prior art keywords
firmware
firmware version
controller
file
target
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202011568163.1A
Other languages
English (en)
Inventor
陈阳阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur Electronic Information Industry Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN202011568163.1A priority Critical patent/CN112685067A/zh
Publication of CN112685067A publication Critical patent/CN112685067A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明实施例公开了一种固件版本刷新方法、装置、系统和介质,接收控制器传输的变更指令;将变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将差异文件记录至存储部件。当接收到控制器传输的刷新指令时,从存储部件中读取与刷写指令相匹配的目标差异文件;按照刷新指令对应的文件类型,向控制器反馈目标文件,其中,目标文件是根据目标差异文件得到的文件。控制器根据目标文件,可以完成对闪存部件的固件刷新操作。根据刷写指令相匹配的目标差异文件便可以得到本次刷新所需的固件版本,解决了在进行软件Debug测试中反复刷新固件版本费时费力的问题,有效的提升了固件版本刷新的处理效率。

Description

一种固件版本刷新方法、装置、系统和介质
技术领域
本发明涉及服务器测试技术领域,特别是涉及一种固件版本刷新方法、装置、系统和计算机可读存储介质。
背景技术
随着信息化时代的高速发展,互联网,人工智能等技术覆盖了社会的各个领域,这对服务器的数据处理能力及网络数据的传输能力都有了更高的要求,要想实现上述目标则需要服务器上硬件和软件相辅相成,高度结合。
一个成熟的服务器产品必定会经历反复的消除故障(Debug)的测试阶段,在这测试过程中往往会经历一个很长的周期。在出现软件方面的BUG时,一般会通过升级固件版本的方式来解决,在进行交叉验证定位问题时,则需要对前后版本的固件(Firmware,FW)来回刷新。
如图1所示为传统方式中通过烧录器刷新固件版本的示意图,为了实现对基本输入输出系统(Basic Input Output System,BIOS)和基板管理控制器(Baseboard ManagerController,BMC)固件的刷新,需要将BIOS Flash和BMC Flash颗粒从服务器上取下安装在烧录器上,并且需要用USB转接线将烧录器和PC机连接,PC机上同时需要安装相应的烧录软件,然后将相应的固件版本文件进行刷新,最后将已刷新好的BIOS Flash及BMC Flash重新安装在服务器上。每一次固件升级都需要不同固件版本的源文件,额外的烧录器及对应软件资源,且必须断电操作,导致固件刷新方式较为繁琐、费时费力。
可见,如何提升固件版本刷新的处理效率,是本领域技术人员需要解决的问题。
发明内容
本发明实施例的目的是提供一种固件版本刷新方法、装置、系统和计算机可读存储介质,可以。
为解决上述技术问题,本发明实施例提供一种固件版本刷新方法,包括:
接收控制器传输的变更指令;
将所述变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将所述差异文件记录至存储部件;
当接收到所述控制器传输的刷新指令时,从所述存储部件中读取与所述刷写指令相匹配的目标差异文件;
按照所述刷新指令对应的文件类型,向所述控制器反馈目标文件,以便于所述控制器根据所述目标文件,完成对闪存部件的固件刷新操作;其中,所述目标文件根据所述目标差异文件得到。
可选地,所述将所述变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将所述差异文件记录至存储部件包括:
接收到所述控制器传输的BIOS Flash固件变更指令时,从所述控制器中获取所述BIOS Flash固件变更指令对应的固件版本,从BIOS Flash中获取原始固件版本;
将所述差异文件记录至所述存储部件的BIOS区域。
可选地,所述将所述变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将所述差异文件记录至存储部件包括:
接收到所述控制器传输的所述BMC Flash固件变更指令时,从所述控制器中获取所述BMC Flash固件变更指令对应的固件版本,从BMC Flash中获取原始固件版本;
将所述差异文件记录至所述存储部件的BMC区域。
可选地,当所述刷新指令为固件刷新指令时,所述按照所述刷新指令对应的文件类型,向所述控制器反馈目标文件包括:
从所述存储部件中读取与所述固件刷新指令相匹配的差异文件;
依据当前的固件版本以及所述差异文件,生成目标固件版本,并向所述控制器反馈所述目标固件版本,以便于所述控制器根据所述目标固件版本,完成对所述闪存部件的固件刷新操作。
可选地,当所述刷新指令为固件跨级刷新指令时,所述按照所述刷新指令对应的文件类型,向所述控制器反馈目标文件包括:
从所述存储部件中读取与所述固件跨级刷新指令相匹配的多个差异文件,并向所述控制器反馈所述多个差异文件,以便于所述控制器根据当前的固件版本以及所述多个差异文件,生成目标固件版本;依据所述目标固件版本,完成对所述闪存部件的固件刷新操作。
本发明实施例还提供了一种固件版本刷新装置,包括接收单元、对比单元、读取单元和反馈单元;
所述接收单元,用于接收控制器传输的变更指令;
所述对比单元,用于将所述变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将所述差异文件记录至存储部件;
所述读取单元,用于当接收到所述控制器传输的刷新指令时,从所述存储部件中读取与所述刷写指令相匹配的目标差异文件;
所述反馈单元,用于按照所述刷新指令对应的文件类型,向所述控制器反馈目标文件,以便于所述控制器根据所述目标文件,完成对闪存部件的固件刷新操作;其中,所述目标文件根据所述目标差异文件得到。
可选地,所述对比单元用于接收到所述控制器传输的BIOS Flash固件变更指令时,从所述控制器中获取所述BIOS Flash固件变更指令对应的固件版本,从BIOS Flash中获取原始固件版本;将所述差异文件记录至所述存储部件的BIOS区域。
可选地,所述对比单元用于接收到所述控制器传输的所述BMC Flash固件变更指令时,从所述控制器中获取所述BMC Flash固件变更指令对应的固件版本,从BMC Flash中获取原始固件版本;将所述差异文件记录至所述存储部件的BMC区域。
可选地,当所述刷新指令为固件刷新指令时,所述反馈单元用于从所述存储部件中读取与所述固件刷新指令相匹配的差异文件;依据当前的固件版本以及所述差异文件,生成目标固件版本,并向所述控制器反馈所述目标固件版本,以便于所述控制器根据所述目标固件版本,完成对所述闪存部件的固件刷新操作。
可选地,当所述刷新指令为固件跨级刷新指令时,所述反馈单元用于从所述存储部件中读取与所述固件跨级刷新指令相匹配的多个差异文件,并向所述控制器反馈所述多个差异文件,以便于所述控制器根据当前的固件版本以及所述多个差异文件,生成目标固件版本;依据所述目标固件版本,完成对所述闪存部件的固件刷新操作。
本发明实施例还提供了一种固件版本刷新系统,包括逻辑处理部件和存储部件;其中,所述逻辑处理部件分别与控制器以及闪存部件连接;
所述逻辑处理部件,用于接收所述控制器传输的变更指令,将所述变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将所述差异文件记录至所述存储部件;当接收到所述控制器传输的刷新指令时,从所述存储部件中读取与所述刷写指令相匹配的目标差异文件,并按照所述刷新指令对应的文件类型,向所述控制器反馈目标文件;其中,所述目标文件根据所述目标差异文件得到;
所述控制器与所述闪存部件连接,用于根据所述逻辑处理部件反馈的目标文件,完成对所述闪存部件的固件刷新操作。
可选地,所述闪存部件包括BIOS Flash和BMC Flash。
可选地,当所述变更指令为BIOS Flash固件变更指令时;相应的,所述逻辑处理部件,用于在接收到所述控制器传输的所述BIOS Flash固件变更指令时,从所述控制器中获取所述BIOS Flash固件变更指令对应的固件版本,从所述BIOS Flash中获取原始固件版本;并将所述差异文件记录至所述存储部件的BIOS区域;
当所述变更指令为BMC Flash固件变更指令时;相应的,所述逻辑处理部件,用于在接收到所述控制器传输的所述BMC Flash固件变更指令时,从所述控制器中获取所述BMCFlash固件变更指令对应的固件版本,从所述BMC Flash中获取原始固件版本,并将所述差异文件记录至所述存储部件的BMC区域。
可选地,当所述刷新指令为固件刷新指令时,所述逻辑处理部件,用于从所述存储部件中读取与所述固件刷新指令相匹配的差异文件,依据当前的固件版本以及所述差异文件,生成目标固件版本,并向所述控制器反馈所述目标固件版本;
相应的,所述控制器用于根据所述逻辑处理部件反馈的所述目标固件版本,完成对所述闪存部件的固件刷新操作。
可选地,当所述刷新指令为固件跨级刷新指令时,所述逻辑处理部件,用于从所述存储部件中读取与所述固件跨级刷新指令相匹配的多个差异文件,并向所述控制器反馈所述多个差异文件;
相应的,所述控制器用于接收所述逻辑处理部件反馈的多个差异文件,根据当前的固件版本以及所述多个差异文件,生成目标固件版本;依据所述目标固件版本,完成对所述闪存部件的固件刷新操作。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任意一项所述固件版本刷新方法的步骤。
由上述技术方案可以看出,接收控制器传输的变更指令;将变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将差异文件记录至存储部件。差异文件中包含的是两个版本之间存在差异的数据,当接收到控制器传输的刷新指令时,从存储部件中读取与刷写指令相匹配的目标差异文件;按照刷新指令对应的文件类型,向控制器反馈目标文件,其中,目标文件是根据目标差异文件得到的文件。控制器根据目标文件,可以完成对闪存部件的固件刷新操作。在该技术方案中,通过记录不同版本之间的差异文件,根据刷写指令相匹配的目标差异文件便可以得到本次刷新所需的固件版本,固件刷新方式简单易操作,在实现闪存部件的固件刷新操作时不需要额外的烧录器,不需要针对每次刷新都生成新的固件版本,解决了在进行软件Debug测试中反复刷新固件版本费时费力的问题,有效的提升了固件版本刷新的处理效率。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为传统方式提供的一种通过烧录器刷新固件版本的示意图;
图2为本发明实施例提供的一种固件版本刷新方法的流程图;
图3为本发明实施例提供的一种固件版本刷新系统的硬件结构示意图;
图4为本发明实施例提供的一种基于差异文件实现固件版本刷新的示意图;
图5为本发明实施例提供的一种固件版本刷新装置的结构示意图;
图6为本发明实施例提供的一种固件版本刷新系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种固件版本刷新方法。图2为本发明实施例提供的一种固件版本刷新方法的流程图,该方法包括:
S201:接收控制器传输的变更指令。
本发明实施例提供的固件版本刷新方法适用于对各种常用的闪存部件的固件升级。其中,闪存部件可以包括BIOS Flash和BMC Flash。为方便后续介绍,均以BIOS Flash和BMC Flash为例展开说明。
在实际应用中,可以设置逻辑处理部件和存储部件,通过逻辑处理部件与控制部件的交互,完成对闪存部件的固件刷新。其中,逻辑处理部件可以采用现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA),存储部件可以采用带电可擦可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM),控制器可以采用BMC。
当需要对固件进行变更时,控制器可以向逻辑处理部件发送变更指令。
S202:将变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将差异文件记录至存储部件。
为了降低每次执行固件刷新操作时生成固件花费的时间,可以在存储部件中存储不同版本的差异文件。差异文件中包含的是两个版本之间存在差异的数据。
在本发明实施例中,为了便于描述,可以将固件及其对应的版本简称为固件版本。
考虑到实际应用中,对于同一类闪存部件而言,最新一次的固件版本往往是在前一次的固件版本的基础上进行修改完善得到,因此,差异文件可以是相邻的两个固件版本之间的差异数据。
以三个不同版本的固件为例,包括第一固件版本、第二固件版本和第三固件版本,相应的,差异文件可以包括第二固件版本与第一固件版本之间的差异数据,以及第三固件版本与第二固件版本之间的差异数据。
对于不同的闪存部件,有其各自对应的固件版本。相应的,各闪存部件在存储部件中有其对应的存储区域。在本发明实施例中,可以将用于存储BIOS Flash的差异文件的区域称作BIOS区域,可以将用于存储BMC Flash的差异文件的区域称作BMC区域。
以BIOS Flash为例,当需要对BIOS Flash的固件进行变更时,控制器可以向逻辑处理部件发送BIOS Flash固件变更指令,逻辑处理部件接收到控制器发送的BIOS Flash固件变更指令后,可以从从控制器中获取BIOS Flash固件变更指令对应的固件版本,从BIOSFlash中获取原始固件版本;将差异文件记录至存储部件的BIOS区域。
以BMC Flash为例,当需要对BMC Flash的固件进行变更时,控制器可以向逻辑处理部件发送BMC Flash固件变更指令,逻辑处理部件接收到控制器发送的BMC Flash固件变更指令后,可以从控制器中获取BMC Flash固件变更指令对应的固件版本,从BMC Flash中获取原始固件版本;将差异文件记录至存储部件的BMC区域。
S203:当接收到控制器传输的刷新指令时,从存储部件中读取与刷写指令相匹配的目标差异文件。
刷新操作可以包括对闪存部件上的固件执行升级操作或者对闪存部件上的固件执行降级操作。
当控制器需要对闪存部件上的固件执行刷新操作时,逻辑处理部件可以获取到当前闪存部件上存储的固件版本,根据刷新指令所需升级或降级到的版本,可以确定出与刷写指令相匹配的目标差异文件。
例如,当前闪存部件上存储的固件版本为第一固件版本,刷新指令中指示固件需要升级至第二版本,此时逻辑处理部件可以从存储部件中读取出第二固件版本与第一固件版本所对应的差异文件,该差异文件即为目标差异文件。
S204:按照刷新指令对应的文件类型,向控制器反馈目标文件,以便于控制器根据目标文件,完成对闪存部件的固件刷新操作。
考虑到固件升级或降级时,可以直接升级或降级到相邻的一级,也可以跨越多个级别进行固件升级或降级。
控制器会向逻辑处理部件下发刷新指令,从而获取到固件升级或降低所需的目标文件。为了便于区分不同类型的刷新指令,在本发明实施例中,可以将直接升级或降级到相邻的一级操作对应的指令称作固件刷新指令,将跨越多个级别进行固件升级或降级操作对应的指令称作固件跨级刷新指令。
以刷新指令为固件刷新指令为例,逻辑处理部件可以从存储部件中读取与固件刷新指令相匹配的差异文件;依据当前的固件版本以及差异文件,生成目标固件版本,并向控制器反馈目标固件版本,以便于控制器根据目标固件版本,完成对闪存部件的固件刷新操作。
以刷新指令为固件跨级刷新指令为例,为了降低对逻辑处理部件的处理性能的要求,逻辑处理部件可以从存储部件中读取到与固件跨级刷新指令相匹配的多个差异文件后,直接将多个差异文件反馈值控制器,以便于控制器根据当前的固件版本以及多个差异文件,生成目标固件版本;依据目标固件版本,完成对闪存部件的固件刷新操作。
图3是以闪存部件包括BIOS Flash和BMC Flash,BMC作为控制器,FPGA作为逻辑处理部件,EEPROM作为存储部件为例的一种固件版本刷新系统的硬件结构示意图。假设,目前服务器的FW版本为1.0,现需要将FW版本升级至2.0,利用BMC Web界面在线升级进行操作,当BMC存在FW版本刷新请求时,BMC会提前将1.FW Change信号作为变更指令发送给FPGA芯片,FPGA芯片通过识别FW Change信号高低电平来判断是对BIOS Flash执行固件版本的变更、还是对BMC Flash执行固件版本的变更。在实际应用中,可以用低电平表示对BIOSFlash执行固件版本的变更,高电平表示对BMC Flash执行固件版本的变更。
FPGA通过1.FW Change信号的高低电平来选择选通的区域,若1.FW Change信号为低电平,则可以通过信号2.BIOS Select选通BIOS Flash,FPGA从BIOS Flash中获取1.0FW文件,反之,若1.FW Change信号为高电平,则可以通过信号3.BMC Select选通BMC Flash,FPGA从BMC Flash中获取1.0FW文件,同时FPGA通过信号8.FPGA I2C从BMC获取FW版本为2.0的文件,随后在FPGA芯片内部将这两个版本文件进行比较运算,将两个版本不同的内容以差异文件的形式进行保存。
在执行差异文件的保存时,FPGA可以通过1.FW Change信号的高低电平来选择差异文件的保存区域,若1.FW Change信号为低电平,将BIOS不同版本的差异文件通过信号4.BIOS Save保存至BIOS存储区域,反之若1.FW Change信号为高电平,将BMC不同版本的差异文件通过信号4.BMC Save保存至BMC存储区域。对比文件保存完成后,存储部件可以发送信号7.FW Compare Done信号给BMC,BMC完成FW2.0版本的刷新操作。
在本发明实施例中,每进行一个版本FW升级,都会生成一个差异文件,如图4为本发明实施例提供的一种基于差异文件实现固件版本刷新的示意图,假设固件版本包括四个版本,依次为1.0-2.0-3.0-4.0,会对应生成△T1,△T2,△T3三个差异文件,在进行FW版本的Debug测试中,若想要从4.0版本BIOS降低至3.0版本BIOS,BMC会向存储芯片发送信号6.FW Change Request激活该存储部件,并通过信号9.FW I2C将BIOS存储区域中的差异文件△T3传输给FPGA,FPGA根据对比文件将目前版本为4.0的修改至3.0,并通过8.FPGA I2C信号将修改后的3.0目标文件传递给BMC,最后通过BIOS SPI完成对BIOS Flash 3.0版本的FW刷新。
若需要将FW4.0的版本降至2.0,需要把存储部件中的两个差异文件△T2,△T3同时发送给BMC,BMC首先根据△T3的对比文件将4.0版本降至3.0,随后根据△T2的对比文件将3.0降至2.0,这样就实现了跨越版本的FW刷新。
同样的,对在已刷新过的FW中需要进行升级操作时,操作与上述方法类似,在此不再赘述。
由上述技术方案可以看出,接收控制器传输的变更指令;将变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将差异文件记录至存储部件。差异文件中包含的是两个版本之间存在差异的数据,当接收到控制器传输的刷新指令时,从存储部件中读取与刷写指令相匹配的目标差异文件;按照刷新指令对应的文件类型,向控制器反馈目标文件,其中,目标文件是根据目标差异文件得到的文件。控制器根据目标文件,可以完成对闪存部件的固件刷新操作。在该技术方案中,通过记录不同版本之间的差异文件,根据刷写指令相匹配的目标差异文件便可以得到本次刷新所需的固件版本,固件刷新方式简单易操作,在实现闪存部件的固件刷新操作时不需要额外的烧录器,不需要针对每次刷新都生成新的固件版本,解决了在进行软件Debug测试中反复刷新固件版本费时费力的问题,有效的提升了固件版本刷新的处理效率。
图5为本发明实施例提供的一种固件版本刷新装置的结构示意图,包括接收单元51、对比单元52、读取单元53和反馈单元54;
接收单元51,用于接收控制器传输的变更指令;
对比单元52,用于将变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将差异文件记录至存储部件;
读取单元53,用于当接收到控制器传输的刷新指令时,从存储部件中读取与刷写指令相匹配的目标差异文件;
反馈单元54,用于按照刷新指令对应的文件类型,向控制器反馈目标文件,以便于控制器根据目标文件,完成对闪存部件的固件刷新操作;其中,目标文件根据目标差异文件得到。
可选地,对比单元用于接收到控制器传输的BIOS Flash固件变更指令时,从控制器中获取BIOS Flash固件变更指令对应的固件版本,从BIOS Flash中获取原始固件版本;将差异文件记录至存储部件的BIOS区域。
可选地,对比单元用于接收到控制器传输的BMC Flash固件变更指令时,从控制器中获取BMC Flash固件变更指令对应的固件版本,从BMC Flash中获取原始固件版本;将差异文件记录至存储部件的BMC区域。
可选地,当刷新指令为固件刷新指令时,反馈单元用于从存储部件中读取与固件刷新指令相匹配的差异文件;依据当前的固件版本以及差异文件,生成目标固件版本,并向控制器反馈目标固件版本,以便于控制器根据目标固件版本,完成对闪存部件的固件刷新操作。
可选地,当刷新指令为固件跨级刷新指令时,反馈单元用于从存储部件中读取与固件跨级刷新指令相匹配的多个差异文件,并向控制器反馈多个差异文件,以便于控制器根据当前的固件版本以及多个差异文件,生成目标固件版本;依据目标固件版本,完成对闪存部件的固件刷新操作。
图5所对应实施例中特征的说明可以参见图2所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,接收控制器传输的变更指令;将变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将差异文件记录至存储部件。差异文件中包含的是两个版本之间存在差异的数据,当接收到控制器传输的刷新指令时,从存储部件中读取与刷写指令相匹配的目标差异文件;按照刷新指令对应的文件类型,向控制器反馈目标文件,其中,目标文件是根据目标差异文件得到的文件。控制器根据目标文件,可以完成对闪存部件的固件刷新操作。在该技术方案中,通过记录不同版本之间的差异文件,根据刷写指令相匹配的目标差异文件便可以得到本次刷新所需的固件版本,固件刷新方式简单易操作,在实现闪存部件的固件刷新操作时不需要额外的烧录器,不需要针对每次刷新都生成新的固件版本,解决了在进行软件Debug测试中反复刷新固件版本费时费力的问题,有效的提升了固件版本刷新的处理效率。
图6为本发明实施例提供的一种固件版本刷新系统60的结构示意图,包括逻辑处理部件661和存储部件62;其中,逻辑处理部件61分别与控制器63以及闪存部件66连接;
逻辑处理部件61,用于接收控制器63传输的变更指令,将变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将差异文件记录至存储部件62;当接收到控制器63传输的刷新指令时,从存储部件62中读取与刷写指令相匹配的目标差异文件,并按照刷新指令对应的文件类型,向控制器63反馈目标文件;其中,目标文件根据目标差异文件得到;
控制器63与闪存部件66连接,用于根据逻辑处理部件61反馈的目标文件,完成对闪存部件66的固件刷新操作。
可选地,闪存部件包括BIOS Flash和BMC Flash。
可选地,当变更指令为BIOS Flash固件变更指令时;相应的,逻辑处理部件,用于在接收到控制器传输的BIOS Flash固件变更指令时,从控制器中获取BIOS Flash固件变更指令对应的固件版本,从BIOS Flash中获取原始固件版本;并将差异文件记录至存储部件的BIOS区域;
当变更指令为BMC Flash固件变更指令时;相应的,逻辑处理部件,用于在接收到控制器传输的BMC Flash固件变更指令时,从控制器中获取BMC Flash固件变更指令对应的固件版本,从BMC Flash中获取原始固件版本,并将差异文件记录至存储部件的BMC区域。
可选地,当刷新指令为固件刷新指令时,逻辑处理部件,用于从存储部件中读取与固件刷新指令相匹配的差异文件,依据当前的固件版本以及差异文件,生成目标固件版本,并向控制器反馈目标固件版本;
相应的,控制器用于根据逻辑处理部件反馈的目标固件版本,完成对闪存部件的固件刷新操作。
可选地,当刷新指令为固件跨级刷新指令时,逻辑处理部件,用于从存储部件中读取与固件跨级刷新指令相匹配的多个差异文件,并向控制器反馈多个差异文件;
相应的,控制器用于接收逻辑处理部件反馈的多个差异文件,根据当前的固件版本以及多个差异文件,生成目标固件版本;依据目标固件版本,完成对闪存部件的固件刷新操作。
图6所对应实施例中特征的说明可以参见图2所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,接收控制器传输的变更指令;将变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将差异文件记录至存储部件。差异文件中包含的是两个版本之间存在差异的数据,当接收到控制器传输的刷新指令时,从存储部件中读取与刷写指令相匹配的目标差异文件;按照刷新指令对应的文件类型,向控制器反馈目标文件,其中,目标文件是根据目标差异文件得到的文件。控制器根据目标文件,可以完成对闪存部件的固件刷新操作。在该技术方案中,通过记录不同版本之间的差异文件,根据刷写指令相匹配的目标差异文件便可以得到本次刷新所需的固件版本,固件刷新方式简单易操作,在实现闪存部件的固件刷新操作时不需要额外的烧录器,不需要针对每次刷新都生成新的固件版本,解决了在进行软件Debug测试中反复刷新固件版本费时费力的问题,有效的提升了固件版本刷新的处理效率。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述任意实施例所述的固件版本刷新方法的步骤。
以上对本发明实施例所提供的一种固件版本刷新方法、装置、系统和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

Claims (10)

1.一种固件版本刷新方法,其特征在于,包括:
接收控制器传输的变更指令;
将所述变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将所述差异文件记录至存储部件;
当接收到所述控制器传输的刷新指令时,从所述存储部件中读取与所述刷写指令相匹配的目标差异文件;
按照所述刷新指令对应的文件类型,向所述控制器反馈目标文件,以便于所述控制器根据所述目标文件,完成对闪存部件的固件刷新操作;其中,所述目标文件根据所述目标差异文件得到。
2.根据权利要求1所述的固件版本刷新方法,其特征在于,所述将所述变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将所述差异文件记录至存储部件包括:
接收到所述控制器传输的BIOS Flash固件变更指令时,从所述控制器中获取所述BIOSFlash固件变更指令对应的固件版本,从BIOS Flash中获取原始固件版本;
将所述差异文件记录至所述存储部件的BIOS区域。
3.根据权利要求1所述的固件版本刷新方法,其特征在于,所述将所述变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将所述差异文件记录至存储部件包括:
接收到所述控制器传输的所述BMC Flash固件变更指令时,从所述控制器中获取所述BMC Flash固件变更指令对应的固件版本,从BMC Flash中获取原始固件版本;
将所述差异文件记录至所述存储部件的BMC区域。
4.根据权利要求1-3任意一项所述的固件版本刷新方法,其特征在于,当所述刷新指令为固件刷新指令时,所述按照所述刷新指令对应的文件类型,向所述控制器反馈目标文件包括:
从所述存储部件中读取与所述固件刷新指令相匹配的差异文件;
依据当前的固件版本以及所述差异文件,生成目标固件版本,并向所述控制器反馈所述目标固件版本,以便于所述控制器根据所述目标固件版本,完成对所述闪存部件的固件刷新操作。
5.根据权利要求1-3任意一项所述的固件版本刷新方法,其特征在于,当所述刷新指令为固件跨级刷新指令时,所述按照所述刷新指令对应的文件类型,向所述控制器反馈目标文件包括:
从所述存储部件中读取与所述固件跨级刷新指令相匹配的多个差异文件,并向所述控制器反馈所述多个差异文件,以便于所述控制器根据当前的固件版本以及所述多个差异文件,生成目标固件版本;依据所述目标固件版本,完成对所述闪存部件的固件刷新操作。
6.一种固件版本刷新装置,其特征在于,包括接收单元、对比单元、读取单元和反馈单元;
所述接收单元,用于接收控制器传输的变更指令;
所述对比单元,用于将所述变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将所述差异文件记录至存储部件;
所述读取单元,用于当接收到所述控制器传输的刷新指令时,从所述存储部件中读取与所述刷写指令相匹配的目标差异文件;
所述反馈单元,用于按照所述刷新指令对应的文件类型,向所述控制器反馈目标文件,以便于所述控制器根据所述目标文件,完成对闪存部件的固件刷新操作;其中,所述目标文件根据所述目标差异文件得到。
7.一种固件版本刷新系统,其特征在于,包括逻辑处理部件和存储部件;其中,所述逻辑处理部件分别与控制器以及闪存部件连接;
所述逻辑处理部件,用于接收所述控制器传输的变更指令,将所述变更指令对应的固件版本与原始固件版本进行对比,以得到差异文件,并将所述差异文件记录至所述存储部件;当接收到所述控制器传输的刷新指令时,从所述存储部件中读取与所述刷写指令相匹配的目标差异文件,并按照所述刷新指令对应的文件类型,向所述控制器反馈目标文件;其中,所述目标文件根据所述目标差异文件得到;
所述控制器与所述闪存部件连接,用于根据所述逻辑处理部件反馈的目标文件,完成对所述闪存部件的固件刷新操作。
8.根据权利要求7所述的固件版本刷新系统,其特征在于,所述闪存部件包括BIOSFlash和BMC Flash。
9.根据权利要求8所述的固件版本刷新系统,其特征在于,当所述变更指令为BIOSFlash固件变更指令时;相应的,所述逻辑处理部件,用于在接收到所述控制器传输的所述BIOS Flash固件变更指令时,从所述控制器中获取所述BIOS Flash固件变更指令对应的固件版本,从所述BIOS Flash中获取原始固件版本;并将所述差异文件记录至所述存储部件的BIOS区域;
当所述变更指令为BMC Flash固件变更指令时;相应的,所述逻辑处理部件,用于在接收到所述控制器传输的所述BMC Flash固件变更指令时,从所述控制器中获取所述BMCFlash固件变更指令对应的固件版本,从所述BMC Flash中获取原始固件版本,并将所述差异文件记录至所述存储部件的BMC区域。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任意一项所述固件版本刷新方法的步骤。
CN202011568163.1A 2020-12-25 2020-12-25 一种固件版本刷新方法、装置、系统和介质 Pending CN112685067A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011568163.1A CN112685067A (zh) 2020-12-25 2020-12-25 一种固件版本刷新方法、装置、系统和介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011568163.1A CN112685067A (zh) 2020-12-25 2020-12-25 一种固件版本刷新方法、装置、系统和介质

Publications (1)

Publication Number Publication Date
CN112685067A true CN112685067A (zh) 2021-04-20

Family

ID=75453428

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011568163.1A Pending CN112685067A (zh) 2020-12-25 2020-12-25 一种固件版本刷新方法、装置、系统和介质

Country Status (1)

Country Link
CN (1) CN112685067A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127041A (zh) * 2021-05-07 2021-07-16 长江存储科技有限责任公司 存储器系统及其固件更新方法、设备及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127041A (zh) * 2021-05-07 2021-07-16 长江存储科技有限责任公司 存储器系统及其固件更新方法、设备及可读存储介质

Similar Documents

Publication Publication Date Title
US10528742B2 (en) Method and apparatus for repairing kernel vulnerability
US9811446B2 (en) Method and apparatus for providing test cases
US9274782B2 (en) Automated computer application update analysis
CN112988183A (zh) 程序升级方法、装置、电子设备及存储介质
US11257565B2 (en) Management of test resources to perform testing of memory components under different temperature conditions
US11043269B2 (en) Performing a test of memory components with fault tolerance
CN105354059A (zh) 空调系统的控制器的升级方法及装置
CN106909362A (zh) Bmc固件生成的方法和装置、bmc系统启动的方法和装置
CN112307049A (zh) 数据库的读写分离方法、装置、设备及可读存储介质
CN112685067A (zh) 一种固件版本刷新方法、装置、系统和介质
US9311348B2 (en) Method and system for implementing an array using different data structures
CN106649137B (zh) 一种Nand Flash坏块管理方法、装置及存储器
US20210373072A1 (en) Allocation of test resources to perform a test of memory components
CN105677427A (zh) 一种模块升级的方法及装置
CN112445670B (zh) 一种eMMC测试方法和装置
CN114756293A (zh) 业务处理方法、装置、计算机设备和存储介质
JP2022144449A (ja) メモリシステム、メモリシステムの制御方法及びホストデバイス
Colnel et al. Software quality management approach for WEST CODAC
US8176274B2 (en) Electronic data reproduction
Tardif et al. Statistical analysis of quantitative peptidomics and peptide-level proteomics data with Prostar
CN117193147B (zh) 域控制设备
CN115794651B (zh) 一种支持多二进制的无冲突插桩方法和系统
KR102457152B1 (ko) 프로그램의 중간표현에 대한 최적화 적용 가능성을 판단하는 방법 및 시스템
KR102406242B1 (ko) 특허 중개 과정에서의 특허 명세서 관리용 블록체인 기반 패치 관리 장치
US20230297356A1 (en) Networked computing device management systems and methods

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination