CN117873520A - 基于基板管理控制器的主板固件升级方法、装置及设备 - Google Patents
基于基板管理控制器的主板固件升级方法、装置及设备 Download PDFInfo
- Publication number
- CN117873520A CN117873520A CN202311824459.9A CN202311824459A CN117873520A CN 117873520 A CN117873520 A CN 117873520A CN 202311824459 A CN202311824459 A CN 202311824459A CN 117873520 A CN117873520 A CN 117873520A
- Authority
- CN
- China
- Prior art keywords
- firmware
- new version
- management controller
- burning
- baseboard management
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 180
- 238000012544 monitoring process Methods 0.000 claims description 44
- 238000004891 communication Methods 0.000 claims description 32
- 238000012795 verification Methods 0.000 claims description 30
- 230000015654 memory Effects 0.000 claims description 27
- 238000012937 correction Methods 0.000 claims description 11
- 238000004364 calculation method Methods 0.000 claims description 8
- 238000007726 management method Methods 0.000 description 152
- 230000008569 process Effects 0.000 description 120
- 230000005540 biological transmission Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 13
- 238000001514 detection method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- HEZMWWAKWCSUCB-PHDIDXHHSA-N (3R,4R)-3,4-dihydroxycyclohexa-1,5-diene-1-carboxylic acid Chemical compound O[C@@H]1C=CC(C(O)=O)=C[C@H]1O HEZMWWAKWCSUCB-PHDIDXHHSA-N 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011835 investigation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000017525 heat dissipation Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005316 response function Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及计算机技术领域,公开了基于基板管理控制器的主板固件升级方法、装置及设备,该方法包括:获取并存储第一新版固件;将第一新版固件与第二新版固件进行比对;若第一新版固件与第二新版固件一致,则将第一新版固件烧录在电压调节器芯片中;在烧录完成后,将电压调节器芯片中烧录完成的第三新版固件与第一新版固件进行比对;若第三新版固件与第一新版固件一致,则表示完成对电压调节器芯片中固件的升级。本发明在固件烧录前进行烧录固件的比对,从而保证烧录固件的准确性,进而提高烧录的成功率;在固件烧录完成后,对烧录完成的固件进行比对,进一步保证烧录结果的准确性,实现后续服务器的稳定运行,提升使用体验。
Description
技术领域
本发明涉及计算机技术领域,具体涉及基于基板管理控制器的主板固件升级方法、装置及设备。
背景技术
随着社会的发展,人们对信息和数据的需求越来越多,视频、导航、购物等都离不开大数据,而服务器作为数据处理和数据存储的工具,也必将在人们的日常生活中起到越来越重要的作用。
BMC(Baseboard Manager Controller)作为服务器的基板管理系统,会负责服务器的资产信息显示、硬件监控、等重要功能。VR(voltage regulator)作为服务器上的电压控制器,主要通过对DCDC转换电路的控制来为CPU提供稳定的电压。
目前,VR电压控制器上固件的烧录往往通过供应商提供的治具进行烧录,例如通过杜邦线连接主板完成烧录,这就要求操作人员必须到现场才能完成烧录。并且在固件的烧录过程中因为所烧录固件在传输过程中可能存在丢失,因此即使固件烧录过程完成,但因为烧录的固件本身存在错误,因此仍然无法正常使用,最后影响固件烧录的效率,影响服务器的工作效率。
发明内容
有鉴于此,本发明提供了一种基于基板管理控制器的主板固件升级方法、装置及设备,以解决在进行固件烧录升级时,固件烧录的成功率低,无法保证所烧录固件的准确性,最终导致烧录失败,影响服务器工作效率的问题。
第一方面,本发明提供了一种基于基板管理控制器的主板固件升级方法,该方法由基板管理控制器执行,该方法包括:
获取并存储第一新版固件,第一新版固件为终端设备将本地存储的第二新版固件传输至基板管理控制器后,在基板管理控制器侧接收到的新版固件;
将第一新版固件与第二新版固件进行比对;
若第一新版固件与第二新版固件一致,则将第一新版固件烧录在电压调节器芯片中;
在烧录完成后,将电压调节器芯片中烧录完成的第三新版固件与第一新版固件进行比对;
若第三新版固件与第一新版固件一致,则表示完成对电压调节器芯片中固件的升级。
本发明提供的一种基于基板管理控制器的主板固件升级方法,具有如下优点:
本发明在对电压调节器芯片中的固件进行升级的过程中,在固件烧录前进行基板管理控制器中存储的新版固件与终端设备本地存储的新版固件之间的比对,从而避免新版固件在传输时出现丢失的问题,保证在新版固件烧录时,新版固件的准确性,进而也保证烧录过程的有效性,避免对错误的固件进行无效烧录过程,提高固件烧录的效率和有效性。在将新版固件成功烧录在电压调节器芯片上后,对烧录完成的新版固件与基板管理控制器中存储的新版固件进行比对,若两者一致,则说明烧录成功;若两者不一致,则说明烧录过程存在错误,即使烧录过程完成,但烧录后的新版固件仍然存在问题,需要进行重新烧录。通过比对校验过程,进一步保证烧录结果的准确性,实现后续服务器的稳定运行,提升使用体验。
在一种可选的实施方式中,将第一新版固件与第二新版固件进行比对,包括:
对第一新版固件进行数据计算,获得第一新版固件对应的第一校验值;
对第二新版固件进行数据计算,获得第二新版固件对应的第二校验值;
将第一校验值与第二校验值进行比对;
若第一校验值与第二校验值相同,则第一新版固件与第二新版固件一致;或者,若第一校验值与第二校验值不同,则第一新版固件与第二新版固件不一致。
具体的,在进行第一新版固件与第二新版固件之间的比对过程时,通过对第一新版固件与第二新版固件进行转换,利用得到的第一校验值和第二校验值进行比对,快速有效地进行第一新版固件与第二新版固件之间的比对过程,提高固件之间比对过程的效率。
在一种可选的实施方式中,若第一新版固件与第二新版固件不一致,该方法还包括:
向终端设备发送新版固件获取请求,获取请求用于指示终端设备再次发送第二新版固件;
接收并存储第四新版固件,其中,第四新版固件为终端设备再次传输第二新版固件后在基板管理控制器侧接收到的新版固件;
进行第四新版固件与第二新版固件之间的比对。
具体的,在判断第一新版固件与第二新版固件之间不一致后,需要终端设备将本地存储的第二新版固件重新传输到基板管理控制器中,并在基板管理控制器侧接收作为第四新版固件。重新进行新版固件的重新传输,保证基板管理控制器中存储的新版固件的准确性。
在一种可选的实施方式中,第一新版固件中包括第一数据监测代码,第三新版固件中包括第二数据监测代码;在烧录完成后,对电压调节器芯片中烧录完成的第三新版固件与第一新版固件进行比对,包括:
将第二数据监测代码与第一数据监测代码进行比对;
若第一数据监测代码与第二数据监测代码不一致,则分别对第一数据监测代码和第二数据监测代码进行解码,确定第三新版固件中与第二新版固件存在差异的比特数;
若比特数小于或等于预设比特数,则对存在差异的位置进行数据修正,以使第三新版固件与第一新版固件一致;
或者,若比特数大于预设比特数,则第三新版固件与第一新版固件不一致。
具体的,本发明在烧录后的固件比对过程中采用的校验方法不同于烧录前的固件比对过程的校验方法。在烧录后的固件比对过程中,若存在烧录前和烧录后固件不一致的问题,本发明会根据不一致的程度的不同进行相应的处理,其中当存在差异的比特数小于或等于预设比特数时,会进行错误位置的修正过程,从而提高对烧录过程的包容性,避免因为烧录程序等问题而频繁导致烧录失败的情况,提高烧录的效率。
在一种可选的实施方式中,若比特数大于预设比特数,则第三新版固件与第一新版固件不一致,该方法还包括:
将第一新版固件重新烧录在电压调节器芯片,得到烧录后的第五新版固件;
进行第一新版固件和第五新版固件之间的比对,直至第一新版固件与第五新版固件一致,否则重新将第一新版固件烧录在电压调节器芯片上。
在一种可选的实施方式中,在完成对电压调节器芯片中固件的升级后,该方法还包括:
利用电压调节器芯片中第六新版固件生成对应的镜像文件,其中第六新版固件为将第一新版固件成功烧录在电压调节器芯片后,电压调节器芯片中存储的新版固件;
将镜像文件存储到基板管理控制器中,以便后续在服务器故障时,进行第六新版固件和镜像文件之间的比对;
若第六新版固件与镜像文件一致,则排除第六新版固件存在错误的情况;
或者,若第六新版固件与镜像文件不一致,则将第一新版固件重新烧录在电压调节器芯片上。
具体的,本发明的技术方案中,除了在固件升级过程中进行固件烧录前的比对校验、固件烧录后的比对校验过程外,在固件烧录完成后,将烧录成功的固件的镜像文件存储在基板管理控制器中。因为即使固件烧录完成,在固件的使用过程中也会发生固件出现错误的情况,从而导致整个服务器出现故障。当服务器出现故障时,通过基板管理控制器中存储的镜像文件与电压调机器芯片中的烧录固件进行比对,进行固件是否存在问题的排查,进行故障的快速定位。
在一种可选的实施方式中,获取并存储第一新版固件之前,该方法还包括:
通过与烧录主板网口连接的网线与终端设备连接,建立基板管理控制器与终端设备之间的数据通信,以便于终端设备将第二新版固件传输至基板管理控制器,其中基板管理控制器设置在烧录主板上;或
通过服务器所处的无线网络,终端设备与服务器建立无线通信;
通过无线通信,终端设备与服务器中的基板管理控制器建立通信,以便于终端设备将第二新版固件传输至基板管理控制器。
具体的,本发明会建立终端设备与基板管理控制器之间的数据通信,通过终端设备登录基板管理控制器,利用基板管理控制器中已有的烧录程序进行新版固件的烧录,通过在终端设备上远程控制新版固件的烧录过程,从而节省现场烧录时的人力成本和时间成本,实现新版固件快速高效的烧录。
第二方面,本发明提供了一种基于基板管理控制器的主板固件升级装置,该装置包括:
固件接收模块,获取并存储第一新版固件,第一新版固件为终端设备将本地存储的第二新版固件传输至基板管理控制器后,在基板管理控制器侧接收到的新版固件;
第一校验模块,将第一新版固件与第二新版固件进行比对;
烧录模块,若第一新版固件与第二新版固件一致,则将第一新版固件烧录在电压调节器芯片中;
第二校验模块,在烧录完成后,将电压调节器芯片中烧录完成的第三新版固件与第一新版固件进行比对,其中若第三新版固件与第一新版固件一致,则表示完成对电压调节器芯片中固件的升级。
本发明提供的一种基于基板管理控制器的主板固件升级装置,具有如下优点:
本发明在对电压调节器芯片中的固件进行升级的过程中,在固件烧录前进行基板管理控制器中存储的新版固件与终端设备本地存储的新版固件之间的比对,从而避免新版固件在传输时出现丢失的问题,保证在新版固件烧录时,新版固件的准确性,进而也保证烧录过程的有效性,避免对错误的固件进行烧录的无效烧录过程,提高固件烧录的效率和有效性。在将新版固件成功烧录在电压调节器芯片上后,对烧录完成的新版固件与基板管理控制器中存储的新版固件进行比对,若两者一致,则说明烧录成功;若两者不一致,则说明烧录过程存在错误,即使烧录过程完成,但烧录后的新版固件仍然存在问题,需要进行重新烧录。通过比对校验过程,进一步保证烧录结果的准确性,实现后续服务器的稳定运行,提升使用体验。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的基于基板管理控制器的主板固件升级方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的基于基板管理控制器的主板固件升级方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明提供的基于基板管理控制器的主板固件升级方法的流程示意图;
图2是本发明实施例提供的一个比对过程的流程示意图;
图3是本发明实施例提供的比对过程失败后的新版固件获取流程示意图;
图4是本发明实施例提供的硬件连接示意图;
图5是本发明实施例提供的基板管理控制器的网页界面示意图;
图6是本发明实施例提供的另一个比对过程的流程示意图;
图7是本发明实施例提供的固件升级方法的流程示意图;
图8是本发明实施例提供的固件升级后的处理流程示意图;
图9是本发明实施例提供的烧录后固件校验排查的流程示意图;
图10是本发明提供的基于基板管理控制器的主板固件升级装置的硬件结构示意图;
图11是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着社会的发展,人们对信息和数据的需求越来越多,视频、导航、购物等都离不开大数据,而服务器作为数据处理和数据存储的工具,也必将在人们的日常生活中起到越来越重要的作用。
BMC(Baseboard Manager Controller)作为服务器的基板管理控制器,会负责服务器的资产信息显示、硬件监控、散热调控、系统配置、远程监控、日志收集、故障诊断、CPLD&BIOS固件升级等重要功能。VR作为服务器上的电压控制器,主要通过对DCDC转换电路的控制来为CPU提供稳定的电压,同时也对服务器启动时电压的变化情况和时序作出了明确的要求。
目前,VR(voltage regulator)电压调节器上固件的烧录目前往往通过供应商提供的治具烧录,例如通过杜邦线连接主板完成烧录,这就要求操作人员必须到现场才能完成烧录。并且在固件的烧录过程中因为所烧录固件在传输过程中可能存在丢失,因此即使固件烧录过程成功,但因为烧录的固件本身存在错误,因此仍然无法正常使用,最后影响固件烧录的效率,影响服务器的工作效率。
为解决上述问题,本发明实施例提供了一种基于基板管理控制器的主板固件升级方法,需要说明的是,在附图的流程图示出的步骤可以在包括诸如一组计算机可执行指令的计算机系统(计算机设备)中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本发明提供了一种基于基板管理控制器的主板固件升级方法,图1是根据本发明提供的基于基板管理控制器的主板固件升级方法的流程示意图,如图1所示,该流程包括如下步骤:
步骤S101,获取并存储第一新版固件。
其中,第一新版固件为终端设备将本地存储的第二新版固件传输至基板管理控制器后,在基板管理控制器侧接收到的新版固件。
具体的,在进行固件升级时,在基板管理控制器端首先要获取进行烧录的新版固件并存储。其中新版固件由终端设备通过有线或无线的数据通信方式传输到基板管理控制器中。
步骤S102,将第一新版固件与第二新版固件进行比对。
具体的,对基板管理控制器中的第一新版固件与终端设备本地存储的第二新版固件进行比对,进而避免新版固件传输过程中出现文件丢失而导致固件出现错误的情况发生。
步骤S103,若第一新版固件与第二新版固件一致,则将第一新版固件烧录在电压调节器芯片中。
具体的,在第一新版固件与第二新版固件比对一致后,可以利用基板管理控制器中已有的烧录程序将第一新版固件烧录到电压调节器芯片中。
步骤S104,在烧录完成后,将电压调节器芯片中烧录完成的第三新版固件与第一新版固件进行比对。
具体的,第三新版固件是利用基板管理控制器中已有的烧录程序在电压调节器芯片中烧录的新版固件。在烧录完成后,也会对烧录后的第三新版固件与烧录前在基板管理控制器的第一新版固件进行比对,判断所烧录固件是否烧录完整,是否存在问题等,从而保证所烧录固件的正确性。在利用基板管理控制器中的烧录程序进行固件烧录得到第三新版固件的过程中,烧录得到第三新版固件本身可能存在问题,例如在基板管理控制器中存储的烧录程序本身存在代码错误,导致烧录得到的第三新版固件存在缺陷;在固件烧录过程中,可能存在数据丢失的情况,以及在烧录过程中由于服务器故障断电等情况,都有可能对烧录后得到第三新版固件完整性和准确性产生影响。因此,在烧录完成后,将烧录后得到的第三新版固件与烧录前在基板管理控制器中存储的第一新版固件进行比对,若第三新版固件本身存在缺陷,能够及时发现并处理,从而保证烧录后得到的第三新版固件的准确性。
步骤S105,若第三新版固件与第一新版固件一致,则表示完成对电压调节器芯片中固件的升级。
具体的,在烧录后的第三新版固件与烧录前的第一新版固件一致的条件下,表示烧录成功,完成对电压调节器芯片中固件的升级。
本发明在对电压调节器芯片中的固件进行升级的过程中,在固件烧录前进行基板管理控制器中存储的新版固件与终端设备本地存储的新版固件之间的比对,从而避免新版固件在传输时出现丢失的问题,保证在新版固件烧录时,新版固件的准确性,进而也保证烧录过程的有效性,避免对错误的固件进行烧录的无效烧录过程,提高固件烧录的效率和有效性。在将新版固件成功烧录在电压调节器芯片上后,对烧录完成的新版固件与基板管理控制器中存储的新版固件进行比对,若两者一致,则说明烧录成功;若两者不一致,则说明烧录过程存在错误,即使烧录过程完成,但烧录后的新版固件仍然存在问题,需要进行重新烧录。通过比对校验过程,进一步保证烧录结果的准确性,实现后续服务器的稳定运行,提升使用体验。
在本发明的基于基板管理控制器的主板固件升级方法中,通过基板管理控制器中的烧录程序将基板管理控制器中存储的新版固件烧录到电压调节器芯片中。所以需要提前将新版固件传输并保存在基板管理控制器中,需要建立终端设备与基板管理控制器之间的数据通信,从而进行新版固件的传输。其中关于终端设备与基板管理控制器之间数据通信的建立过程通过下面的实施例进行说明。
在一个可选的实施方式中,在获取并存储第一新版固件之前,该方法还包括如下方法步骤:
通过与烧录主板网口连接的网线与终端设备连接,建立基板管理控制器与终端设备之间的数据通信。
以便于终端设备将第二新版固件传输至基板管理控制器,其中基板管理控制器设置在烧录主板上。
或者,
通过服务器所处的无线网络,终端设备与服务器建立无线通信;
通过无线通信,终端设备与服务器中的基板管理控制器建立通信,以便于终端设备将第二新版固件传输至基板管理控制器。
在该可选实施方式中,终端设备与基板管理控制器可以通过有线或者无线的方式建立数据通信。其中,基板管理控制器设置在烧录主板上,烧录主板的网口可连接网线,通过网线将烧录主板与终端设备连接起来,也就实现终端设备与基板管理控制器之间的数据通信。或者,在建立基板管理控制器与终端设备之间的数据通信时,还可将终端设备与服务器置于同一无线网络下。在同一网络下,利用终端设备与基板管理控制器所在的服务器建立通信,进而建立终端设备与基板管理控制器之间的通信,从而实现第二新版固件的传输。
具体的,将终端设备和服务器连接到同一无线网络下,例如同一个局域网内时,将终端设备,例如电脑上的IPV4地址设置为自动获得IP地址,利用电脑CMD指令中的Ping指令,进行与服务器的IP的连接。
这里所说的第二新版固件,实际是在终端设备中存储的原始的新版固件,该第二新版固件也是最正确的新版固件。在之后的过程中,会将第二新版固件传输至基板管理控制器中并以第一新版固件的名称进行存储。因为固件的传输过程中,会涉及数据丢失,导致固件发生变化的情况,本发明使用不同的名称对不同阶段的新版固件进行区分,更便于对本发明的技术方案进行说明。
本实施方式通过将终端设备与服务器中的基板管理控制器建立数据通信,实现在终端设备上即可将所要烧录的新版固件传输到基板管理控制器上,从而不需要工作人员人工手动进行新版固件的输入;也不需要打开服务器,不需要将主板抽出的过程,从而节省时间。另外,通过终端设备与基板管理控制器之间建立通信,实现烧录过程的远程控制,也就不需要工作人员现场作业,提高固件烧录升级过程的效率。
在另一个可选的实施方式中,在终端设备将本地存储的第二新版固件传输到基板管理控制器的过程中,可能出现传输的固件部分丢失,出现传输错误的情况。导致出现基板管理控制器接收并存储的第一新版固件与终端设备本地存储的第二新版固件不一致的问题。因此,在进行固件的烧录前,要进行第一新版固件与第二新版固件的比对过程,判断第一新版固件与第二新版固件之间的一致性。如果一致,则继续后续的固件烧录过程;如果不一致,则需要进行第二新版固件的重新传输。通过将第一新版固件与第二新版固件进行比对,能够及时发现固件中存在的问题,避免进行错误固件的烧录,提高烧录过程的效率和成功率。下面通过以下可选实施方式对第一新版固件和第二新版固件的比对过程进行说明。具体参见图2所示,图2是本发明实施例提供的一个比对过程的流程示意图该方法步骤包括:
步骤S201,对第一新版固件进行数据计算,获得第一新版固件对应的第一校验值。
步骤S202,对第二新版固件进行数据计算,获得第二新版固件对应的第二校验值。
步骤S203,将第一校验值与第二校验值进行比对。
若第一校验值与第二校验值相同,则第一新版固件与第二新版固件一致;或者,若第一校验值与第二校验值不同,则第一新版固件与第二新版固件不一致。
在该可选实施方式中,在进行第一新版固件和第二新版固件比对的过程中,本发明采用循环冗余校算法(Cyclic Redundancy Check,简称CRC)。其中在利用CRC算法进行第一新版固件和第二新版固件的校验时,在发送方即终端设备和接收方即基板管理控制器通信前,会预先确定一个预设整数作为除数。然后在终端设备进行第二新版固件的发送前,根据第二新版固件的原始数据和确定好的除数进行模二除法运算生成相应的余数,也就是CRC码即第二校验值。同理,在基板管理控制器的第一新版固件,利用循环冗余校算法生成第一新版固件对应的第一校验值,然后将第一校验值与第二校验值进行比较,若两者相同,则说明第一新版固件与第二新版固件一致;若第一校验值与第二校验值不相同,则说明第一新版固件与第二新版固件不一致。需要进行终端设备端的第二新版固件向基板管理控制器的重新传输过程,具体如下面实施例中的说明。
进一步的,在一种可选的实施方式中,若第一新版固件与第二新版固件不一致,该方法还包括如下方法步骤,具体参见图3所示,图3是本发明实施例提供的比对过程失败后的新版固件获取流程示意图,具体包括:
步骤S301,向终端设备发送新版固件获取请求,获取请求用于指示终端设备再次发送第二新版固件。
步骤S302,接收并存储第四新版固件。
其中,第四新版固件为终端设备再次传输第二新版固件后在基板管理控制器侧接收到的新版固件。
步骤S303,进行第四新版固件与第二新版固件之间的比对。
在该可选实施方式中,在通过上个实施方式的比对过程后,若第一新版固件与第二新版固件不一致,则基板管理控制器向终端设备发出新版固件获取请求。终端设备接收到新版固件获取请求后,将本地存储的第二新版固件再次传输到基板管理控制器。基板管理控制器接收该第二新版固件,并以第四新版固件进行存储。其中,第四新版固件为终端设备再次传输第二新版固件后在基板管理控制器侧接收到的新版固件。
然后再按照上述介绍的校验方法进行第二新版固件与第四新版固件之间的校验。如果第二新版固件与第四新版固件一致,则进行后续固件的烧录过程;如果第二新版固件与第四新版固件不一致,则重复本实施方式中终端设备将第二新版固件向基板管理控制器的传输过程。
具体的,在校验成功后,基板管理控制器将存储的新版固件传输到电压调节器芯片中进行新版固件的烧录。其中预先建立起基板管理控制器与电压调节器芯片之间的通信,以便于新版固件的传输。其中预先通过I2C总线将基板管理控制器与电压调节器芯片预留的I2C接口进行连接,建立基板管理控制器与电压调节器芯片之间的通信。利用终端设备登录基板管理控制器的网页界面,对需要更新的电压调节器芯片模块进行选择,并驱动基板管理控制器中的烧录程序,将第一新版固件烧录在相应的电压调节器模块中。
具体的,利用终端设备登录基板管理控制器的网页界面,对需要更新的电压调节器模块进行选择,包括:
步骤a1,获取基板管理控制器对应的IP地址。在该步骤中,在利用终端设备登录基板管理控制器时,首先获取基板管理控制器的IP地址,然后利用该IP地址,建立终端设备与基板管理控制器之间的通信。
步骤a2,基于IP地址,终端设备登录基板管理控制器的网页界面。在该步骤中,在终端设备,例如在电脑端的浏览器上输入基板管理控制器的IP地址,登录到基板管理控制器的网页界面上。
步骤a3,通过I2C总线获取电压调节器芯片中各个电压调节器模块对应的设备地址。在该步骤中,基板管理控制器与电压调节器芯片的电压调节器模块之间采用I2C总线连接,通过I2C总线获取对应获取到电压调节器模块的设备地址。
步骤a4,按照确定的设备地址将新版固件烧录到相应的电压调节器模块中。在该步骤中,在进行新版固件的烧录时,根据烧录的要求选择相应的烧录地址进行电压调节器模块的选择,然后将新版固件烧录到选择的模块中。
图4是本发明实施例提供的硬件连接示意图。
如图4所示,终端设备与基板管理控制器连接,进行新版固件的传输。在基板管理控制器上,接收新版固件并存储。基板管理器通过I2C总线与电压调节器芯片连接。电压调节器芯中包含多个不同的电压调节器模块,如图4中所示的CPU0 VR和CPU1 VR。基板管理控制器还与DIMM_ABCDEF和DIMM_GHIJKL连接,其中DIMM(Dual-Inline-Memory-Modules)为双重内嵌式内存模块,控制进行DIMM中相应固件的烧录过程。通过I2C总线获取不同模块的地址,进行区分。然后在烧录时,进行所烧录的电压调节器模块的选择,后续进行新版固件的烧录。
图5是本发明实施例提供的基板管理控制器的网页界面示意图。
如图5所示,在基板管理控制器的网页界面上,可以进行电压调节器芯片中所烧录模块的选择,例如图5中所示的CPU0 VR和CPU1 VR。可以进行固件更新时,新版固件的上传过程。根据终端设备与基板管理控制器有线或无线的连接方式,在本地或者远程获取新版固件。在准备完毕后,可以通过界面下方开始烧录和开始校验等开始响应的流程。在界面左端系统栏中,涉及基板管理控制器的一些设置,比例系统摘要、存储等查询响应的信息。其中在实际的使用过程中,可根据需要在界面上增加响应的功能。
在另一个可选的实施方式中,第一新版固件中包括第一数据监测代码,第三新版固件中包括第二数据监测代码;为了保证烧录结果的准确性,将烧录后得到的第三新版固件与烧录前在基板管理控制器中存储的第一新版固件进行比对,判断两者的一致性。因此,该方法还可以包括如下方法步骤,具体参见图6所示,图6是本发明实施例提供的另一个比对过程的流程示意图,具体包括:
步骤S601,将第二数据监测代码与第一数据监测代码进行比较。
步骤S602,若第一数据监测代码与第二数据监测代码不一致,则分别对第一数据监测代码和第二数据监测代码进行解码,确定第三新版固件中与第一新版固件存在差异的比特数。
步骤S603,若比特数小于或等于预设比特数,则对存在差异的位置进行数据修正,以使第三新版固件与第一新版固件一致。
步骤S604,若比特数大于预设比特数,则第三新版固件与第一新版固件不一致。
具体的,在进行第一新版固件与第三新版固件之间的比对时,本发明采用校验和修正算法(Error Correction Code,简称ECC)进行比对。其中ECC算法是一种用于检测和纠正数据传输中错误的编码技术。通过对第一新版固件进行编码,编码后的第一新版固件中除了固件数据本身外,会添加冗余位来实现错误检测和纠正,也即是前文中第一新版固件包含的第一数据监测代码。然后对电压调节器芯片中的接收的第三新版固件进行解码,得到第三新版固件中包含的第二检测代码,然后将第一检测代码和第二检测代码进行比对,如果发现两者不一致,则会使用冗余位对不一致的位置进行纠正。其中,常见的ECC编码方式包括海明码、BCH码、RS码等。
在该过程中,在第一新版固件中的第一数据监测代码,用于后续固件一致性的比对。在将第一新版固件进行烧录后,得到烧录后的第三新版固件,其中第三新版固件中带有第一数据监测代码对应的第二数据监测代码。然后将第一数据监测代码和第二数据监测代码进行比对,若两者一致,则说明第三新版固件与第一新版固件一致。若第一数据监测代码与第二数据监测代码不一致,则分别对第一数据监测代码和第二数据监测代码进行解码,确定第三新版固件中与第一新版固件存在差异的比特数。
然后将存在差异的比特数与预设比特数进行比较,如果存在差异的比特数小于或等于预设比特数,则利用ECC校验算法对存在差异的位置进行修正,使得第三新版固件与第一新版固件一致;如果存在差异的比特数大于预设比特数,则说明第三新版固件与第一新版固件不一致,表示烧录过程存在错误,需要进行固件的重新烧录。
在一种可选的实施方式中,若比特数大于预设比特数,则第三新版固件与第一新版固件不一致,该方法还包括:
步骤b1,将第一新版固件重新烧录在电压调节器芯片,得到烧录后的第五新版固件。
步骤b2,进行第一新版固件和第五新版固件之间的比对,直至第一新版固件与第五新版固件一致,否则重新将第一新版固件烧录在电压调节器芯片上。
在该可选实施方式中,若烧录后的第三新版固件与烧录前的第一新版固件不一致,则说明烧录过程中发生错误,需要重新进行第一新版固件的烧录过程。其中,将基板管理控制器中存储的第一新版固件重新烧录在电压调节器芯片中,得到烧录后的第五新版固件。之后进行第五新版固件与第一新版固件之间的比对过程,直到烧录后得到的新版固件与基板管理控制器中存储的第一新版固件一致,否则再次进行第一新版固件向电压调节器芯片的烧录过程。通过对烧录后得到的固件和烧录前的固件进行比对,能够有效避免烧录后新版固件存在问题的情况,提高固件烧录过程的效率和正确性。
图7是本发明实施例提供的固件升级方法的流程示意图。
如图7所示,下面结合图7对本发明的固件升级过程进行进一步说明。首先通过电压调节器VR厂商获取制作好的新版固件。事先将终端设备电脑通过网线连接在服务器网口上,建立起终端设备例如电脑,与基板管理控制器BMC之间的联系。其中还可将服务器和电脑置于同一局域网下,进行电脑和服务器之前的连接。在电脑和服务器建立连接后,电脑将本地存储的新版固件通过网线传输到服务器中的基板管理控制器BMC中,然后进行基板管理控制器端存储的新版固件和电脑端存储的新版固件之间的比对,也就是固件第一次比对。此次校验过程是防止固件在传输过程中存在文件丢失的问题。
在校验之后,如果固件之间不一致,则电脑重新将新版固件上传到基板管理控制器中;如果固件之间一致,则进行后续的固件烧录过程。基板管理控制器BMC将校验成功的新版固件上传到电压调节器芯片中进行固件的烧录。其中固件烧录过程中可能会出现服务器断电等导致烧录中断的情况,此时在电脑的运程控制端会进行弹窗提示,提示进行新版固件的重新烧录。在烧录过程结束后,进行烧录后的新版固件和基板管理控制器中存储的新版固件的比对过程,也就是固件第二次比对。如果比对成功,则烧录成功,如果固件比对失败,则进行错误提示,将基板管理控制器中存储的新版固件重新烧录到电压调节器VR芯片中。本申请在新版固件的烧录过程中通过两次比对过程保证所烧录固件的准确性,从而保证固件烧录结果的准确性。
在一种可选的实施方式中,在完成对电压调节器芯片中固件的升级后,该方法还包括如下方法步骤,具体参见图8所示,图8是本发明实施例提供的固件升级后的处理流程示意图,具体包括:
步骤S801,利用电压调节器芯片中第六新版固件生成对应的镜像文件。
其中第六新版固件为将第一新版固件成功烧录在电压调节器芯片后,电压调节器芯片中存储的新版固件。
步骤S802,将镜像文件存储到基板管理控制器中。
以便后续在服务器故障时,进行第六新版固件和镜像文件之间的比对;
其中,若第六新版固件与镜像文件一致,则排除第六新版固件存在错误。
或者若第六新版固件与镜像文件不一致,则将第一新版固件重新烧录在电压调节器芯片上。
在该可选实施方式中,在固件烧录成功后,在后续的使用过程中,烧录的固件仍然可能出现错误,从而导致服务器出现故障。因此,在服务器出现故障时,会进行所烧录的固件的校验,进行问题的排查。
其中,电压调节器芯片中的新版固件成功烧录后,将烧录后的第六新版固件生成相应的镜像文件,其中第六新版固件为将第一新版固件成功烧录在电压调节器芯片后,电压调节器芯片中存储的新版固件。生成的镜像文件存储在基板管理控制器中,用于进行后续服务器出现故障时与电压调节器芯片中烧录固件的比对过程。在服务器故障时,利用例如CRC算法进行镜像文件与第六新版固件的比对过程。若两者一致,则说明固件本身没有错误,可进行问题排除;若两者存在偏差,则说明固件在使用过程中出现了错误,需要对电压调节器芯片中的错误固件进行重新烧录。此时,基板管理控制器将其内存储的第一新版固件重新烧录到电压调节器芯片中。烧录完成后,继续进行上述实施例中描述的比对等过程。
本发明在新版固件成功烧录在电压调节器芯片后,会将烧录成功的新版固件生成镜像文件,并存储到基板管理控制器中,用以便于后续固件的比对过程。从而在服务器发生故障时,能够对固件是否存在错误快速进行确认,实现故障的快速锁定。
具体的,在烧录结束后,将烧录后的固件生成镜像文件保留在基板管理控制器中,并且在之后再次进行固件的升级时,再次生成的镜像文件会覆盖原来的镜像文件,在基板管理控制器中只保留最新刷新的固件备份。
图9是本发明实施例提供的烧录后固件校验排查的流程示意图。
如图9所示,烧录后固件校验排查的流程包括:
步骤S901,新版固件再烧录完成后,将烧录后固件的备份存储到基板管理控制器中,并覆盖原来存储的备份。
具体的,因为在固件的长时间使用过程中,电压调节器芯片中烧录的固件也可能出现错误,也就增加了服务器出现故障的风险。为了确定固件在使用过程中是否存在问题,在新版固件烧录完成后,将烧录后的新版固件的备份文件,例如对烧录后的新版固件进行复制,得到的复制文件作为备份文件;或者利用镜像文件生成程序,生成烧录后新版固件对应的镜像文件作为备份文件,存储到基板管理控制器中。
步骤S902,当机器故障时,通过电脑登录基板管理控制器的网页,并发出控制信号,进行基板管理控制器中固件备份与电压调节器芯片中的固件进行比对。
具体的,通过前文中记载的终端设备与基板管理控制器连接过程,电脑登录到基板管理控制器的网页界面中。然后在基板管理控制器只能发出比对控制信号,进行当前使用中的固件与基板管理控制器中存储的固件备份进行比对。在步骤S901中记载,新版固件在烧录完成后会将新版固件的备份存储到基板管理控制器中。因此,在步骤S902中的比对过程时,进行使用中固件与实现存储的固件备份进行比对,确定固件在使用过程中是否发生错误,进而导致服务器的故障。
以及步骤S903,若有差异,则发出错误警示,控制进行固件的重新烧录。通过上述比对流程,能够快速进行故障的定位,确定固件是否存在错误。
本发明在对电压调节器芯片中的固件进行升级的过程中,在固件烧录前进行基板管理控制器中存储的新版固件与终端设备本地存储的新版固件之间的比对,从而避免新版固件在传输时出现丢失的问题,保证在新版固件烧录时,新版固件的准确性,进而也保证烧录过程的有效性,避免对错误的固件进行烧录的无效烧录过程,提高固件烧录的效率和有效性。在将新版固件成功烧录在电压调节器芯片上后,对烧录完成的新版固件与基板管理控制器中存储的新版固件进行比对,若两者一致,则说明烧录成功;若两者不一致,则说明烧录过程存在错误,即使烧录过程完成,但烧录后的新版固件仍然存在问题,需要进行重新烧录。通过比对校验过程,进一步保证烧录结果的准确性,实现后续服务器的稳定运行,提高使用体验。
另外,本发明在固件烧录前、固件烧录后以及固件使用中进行三次比对过程。通过烧录前的第一次比对,能够有效避免固件传输过程中出现的丢失而导致的固件错误的问题,从而提高固件烧录成功率,避免无效的固件烧录行为;通过烧录后的第二次比对过程,避免固件烧录过程中可能导致的烧录固件出错的问题。在固件后续使用过程中的第三次比对过程,对固件使用中出现错误后,能够及时发现和解决。
再者,本发明在三次比对过程中,使用不同的比对校验算法进行校验,充分利用比对过程与校验算法的特点,得到最佳的比对校验效果。其中,在第一次比对过程中,本发明采用CRC校验算法,其中CRC校验算法校验过程迅速,能够快速完成第一次的比对过程。在第二次比对过程中,本发明采用ECC校验算法。其中,ECC校验算法不仅可以便于错误校验,还能对出现错误的位置进行纠正,进行错误的修改。此校验方法用在烧录后固件的校验过程中,提高对设备本身烧录问题的容错,提高烧录过程的效率。例如,在烧录过程中因为设备本身或者烧录程序的问题,烧录后的结果会不可避免的出现一个或几个比特的错误,如果采用CRC校验算法进行校验,则可能会频繁提示烧录错误;如果采用ECC算法进行校验,则会对出现的几个比特的错误进行修正,最终使得烧录结果是合格的,能够对烧录过程中的一些不可避免的问题进行有效解决,从而提高烧录的效率。在第三次比对过程中,因为第三次比对是对设备出现故障时的问题排查过程,此时如果采用ECC校验算法,则可能对出现的错误进行掩盖的问题,所以在第三校验过程中,采用CRC校验算法进行校验,能够快速进行错误的发现和定位。
图10是根据本发明提供的基于基板管理控制器的主板固件升级装置的硬件结构示意图。
如图10所示,该硬件结构包括:
固件接收模块1001,用于获取并存储第一新版固件,第一新版固件为终端设备将本地存储的第二新版固件传输至基板管理控制器后,在基板管理控制器侧接收到的新版固件;第一校验模块1002,用于将第一新版固件与第二新版固件进行比对;烧录模块1003,用于若第一新版固件与第二新版固件一致,则将第一新版固件烧录在电压调节器芯片中;第二校验模块1004,用于在烧录完成后,将电压调节器芯片中烧录完成的第三新版固件与第一新版固件进行比对,其中若第三新版固件与第一新版固件一致,则表示完成对电压调节器芯片中固件的升级。
在一种可选的实施方式中,第一校验模块1002,具体用于对第一新版固件进行数据计算,获得第一新版固件对应的第一校验值;
对第二新版固件进行数据计算,获得第二新版固件对应的第二校验值;
将第一校验值与第二校验值进行比对;
若第一校验值与第二校验值相同,则第一新版固件与第二新版固件一致;或者,若第一校验值与第二校验值不同,则第一新版固件与第二新版固件不一致。
在一种可选的实施方式中,第一校验模块1002,具体用于进行第四新版固件与第二新版固件之间的比对,其中若第一新版固件与第二新版固件不一致,基板管理控制器向终端设备发送新版固件获取请求,获取请求用于指示终端设备再次发送第二新版固件;基板管理控制器接收并存储第四新版固件,其中第四新版固件为终端设备再次传输第二新版固件后在基板管理控制器侧接收到的新版固件。
在一种可选的实施方式中,第二校验模块1004,具体用于将第二数据监测代码与第一数据监测代码进行比对;
若第一数据监测代码与第二数据监测代码不一致,则分别对第一数据监测代码和第二数据监测代码进行解码,确定第三新版固件中与第二新版固件存在差异的比特数;
若比特数小于或等于预设比特数,则对存在差异的位置进行数据修正,以使第三新版固件与第一新版固件一致;
若比特数大于预设比特数,则第三新版固件与第一新版固件不一致。
在一种可选的实施方式中,第二校验模块1004,具体用于进行第一新版固件和第五新版固件之间的比对,直至第一新版固件与第五新版固件一致,否则重新将第一新版固件烧录在电压调节器芯片上,其中若比特数大于预设比特数,则第三新版固件与第一新版固件不一致,基板管理控制器用于将第一新版固件重新烧录在电压调节器芯片,得到烧录后的第五新版固件。
在一种可选的实施方式中,基于基板管理控制器的主板固件升级装置还包括:第三校验模块,用于将镜像文件存储到基板管理控制器中,以便后续在服务器故障时,进行第六新版固件和镜像文件之间的比对;
若第六新版固件与镜像文件一致,则排除第六新版固件存在错误的情况;
或者,若第六新版固件与镜像文件不一致,则将第一新版固件重新烧录在电压调节器芯片上,其中利用电压调节器芯片中第六新版固件生成对应的镜像文件,其中第六新版固件为将第一新版固件成功烧录在电压调节器芯片后,电压调节器芯片中存储的新版固件。
在一种可选的实施方式中,基于基板管理控制器的主板固件升级装置还包括:连接模块,用于通过与烧录主板网口连接的网线与终端设备连接,建立基板管理控制器与终端设备之间的数据通信,以便于终端设备将第二新版固件传输至基板管理控制器,其中基板管理控制器设置在烧录主板上;或者,通过服务器所处的无线网络,终端设备与服务器建立无线通信;通过无线通信,终端设备与服务器中的基板管理控制器建立通信,以便于终端设备将第二新版固件传输至基板管理控制器。
本发明在对电压调节器芯片中的固件进行升级的过程中,在固件烧录前进行基板管理控制器中存储的新版固件与终端设备本地存储的新版固件之间的比对,从而避免新版固件在传输时出现丢失的问题,保证在新版固件烧录时,新版固件的准确性,进而也保证烧录过程的有效性,避免对错误的固件进行烧录的无效烧录过程,提高固件烧录的效率和有效性。在将新版固件成功烧录在电压调节器芯片上后,对烧录完成的新版固件与基板管理控制器中存储的新版固件进行比对,若两者一致,则说明烧录成功;若两者不一致,则说明烧录过程存在错误,即使烧录过程完成,但烧录后的新版固件仍然存在问题,需要进行重新烧录。通过比对校验过程,进一步保证烧录结果的准确性,实现后续服务器的稳定运行,提高使用体验。
本发明实施例还提供一种计算机设备,具有上述图10所示的产品安装位置的分配装置。
请参阅图11,图11是本发明可选实施例提供的一种计算机设备的结构示意图,如图11所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图11中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据一种小程序落地页的展现的计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括输入装置30和输出装置40。处理器10、存储器20、输入装置30和输出装置40可以通过总线或者其他方式连接,图6中以通过总线连接为例。
输入装置30可接收输入的数字或字符信息,以及产生与该计算机设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等。输出装置40可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。上述显示设备包括但不限于液晶显示器,发光二极管,显示器和等离子体显示器。在一些可选的实施方式中,显示设备可以是触摸屏。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种基于基板管理控制器的主板固件升级方法,其特征在于,所述方法由基板管理控制器执行,包括:
获取并存储第一新版固件,所述第一新版固件为终端设备将本地存储的第二新版固件传输至所述基板管理控制器后,在所述基板管理控制器侧接收到的新版固件;
将所述第一新版固件与所述第二新版固件进行比对;
若所述第一新版固件与所述第二新版固件一致,则将所述第一新版固件烧录在电压调节器芯片中;
在烧录完成后,将所述电压调节器芯片中烧录完成的第三新版固件与所述第一新版固件进行比对;
若所述第三新版固件与所述第一新版固件一致,则表示完成对所述电压调节器芯片中固件的升级。
2.根据权利要求1所述的方法,其特征在于,所述将所述第一新版固件与所述第二新版固件进行比对,包括:
对所述第一新版固件进行数据计算,获得所述第一新版固件对应的第一校验值;
对所述第二新版固件进行数据计算,获得所述第二新版固件对应的第二校验值;
将所述第一校验值与所述第二校验值进行比对;
若所述第一校验值与所述第二校验值相同,则所述第一新版固件与所述第二新版固件一致;
或者,若所述第一校验值与所述第二校验值不同,则所述第一新版固件与所述第二新版固件不一致。
3.根据权利要求2所述的方法,其特征在于,若所述第一新版固件与所述第二新版固件不一致,所述方法还包括:
向所述终端设备发送新版固件获取请求,所述获取请求用于指示所述终端设备再次发送所述第二新版固件;
接收并存储第四新版固件,其中,所述第四新版固件为所述终端设备再次传输所述第二新版固件后在所述基板管理控制器侧接收到的新版固件;
将所述第四新版固件与所述第二新版固件进行比对。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述第一新版固件中包括第一数据监测代码,所述第三新版固件中包括第二数据监测代码;
在烧录完成后,将所述电压调节器芯片中烧录完成的第三新版固件与所述第一新版固件进行比对,包括:
将所述第二数据监测代码与所述第一数据监测代码进行比对;
若所述第一数据监测代码与所述第二数据监测代码不一致,则分别对所述第一数据监测代码和所述第二数据监测代码进行解码,确定所述第三新版固件中与所述第一新版固件存在差异的比特数;
若所述比特数小于或等于预设比特数,则对存在差异的位置进行数据修正,以使所述第三新版固件与所述第一新版固件一致;
或者,若所述比特数大于所述预设比特数,则所述第三新版固件与所述第一新版固件不一致。
5.根据权利要求4所述的方法,其特征在于,若所述比特数大于所述预设比特数,则所述第三新版固件与所述第一新版固件不一致,所述方法还包括:
将所述第一新版固件重新烧录在所述电压调节器芯片,得到烧录后的第五新版固件;
进行所述第一新版固件和所述第五新版固件之间的比对,直至所述第一新版固件与所述第五新版固件一致,否则重新将所述第一新版固件烧录在所述电压调节器芯片上。
6.根据权利要求1-3或5任一项所述的方法,其特征在于,在完成对所述电压调节器芯片中固件的升级后,所述方法还包括:
利用所述电压调节器芯片中第六新版固件生成对应的镜像文件,其中所述第六新版固件为将所述第一新版固件成功烧录在所述电压调节器芯片后,所述电压调节器芯片中存储的新版固件;
将所述镜像文件存储到所述基板管理控制器中,以便后续在服务器故障时,进行所述第六新版固件和所述镜像文件之间的比对;
若所述第六新版固件与所述镜像文件一致,则排除所述第六新版固件存在错误的情况;
或者,若所述第六新版固件与所述镜像文件不一致,则将所述第一新版固件重新烧录在所述电压调节器芯片上。
7.根据权利要求1所述的方法,其特征在于,所述获取并存储第一新版固件之前,所述方法还包括:
通过与烧录主板网口连接的网线与所述终端设备连接,建立所述基板管理控制器与所述终端设备之间的数据通信,以便于所述终端设备将所述第二新版固件传输至所述基板管理控制器,其中所述基板管理控制器设置在烧录主板上;或者
通过服务器所处的无线网络,所述终端设备与所述服务器建立无线通信;
通过无线通信,所述终端设备与所述服务器中的所述基板管理控制器建立通信,以便于所述终端设备将所述第二新版固件传输至所述基板管理控制器。
8.一种基于基板管理控制器的主板固件升级装置,其特征在于,所述装置包括:
固件接收模块,获取并存储第一新版固件,所述第一新版固件为终端设备将本地存储的第二新版固件传输至基板管理控制器后,在所述基板管理控制器侧接收到的新版固件;
第一校验模块,将所述第一新版固件与所述第二新版固件进行比对;
烧录模块,若所述第一新版固件与所述第二新版固件一致,则将所述第一新版固件烧录在电压调节器芯片中;
第二校验模块,在烧录完成后,将所述电压调节器芯片中烧录完成的第三新版固件与所述第一新版固件进行比对,其中若所述第三新版固件与所述第一新版固件一致,则表示完成对所述电压调节器芯片中固件的升级。
9.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行计算机指令,从而执行权利要求1至7中任一项所述的基于基板管理控制器的主板固件升级方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至7中任一项所述的基于基板管理控制器的主板固件升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311824459.9A CN117873520A (zh) | 2023-12-27 | 2023-12-27 | 基于基板管理控制器的主板固件升级方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311824459.9A CN117873520A (zh) | 2023-12-27 | 2023-12-27 | 基于基板管理控制器的主板固件升级方法、装置及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117873520A true CN117873520A (zh) | 2024-04-12 |
Family
ID=90585906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311824459.9A Pending CN117873520A (zh) | 2023-12-27 | 2023-12-27 | 基于基板管理控制器的主板固件升级方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117873520A (zh) |
-
2023
- 2023-12-27 CN CN202311824459.9A patent/CN117873520A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9875093B2 (en) | Rack server device firmware update using network switch | |
US7487343B1 (en) | Method and apparatus for boot image selection and recovery via a remote management module | |
US20170046152A1 (en) | Firmware update | |
US8554748B1 (en) | Method and apparatus for differential file based update for embedded systems | |
CN110943860B (zh) | 一种bmc固件更新方法、系统、电子设备及存储介质 | |
US20050229173A1 (en) | Automatic firmware update proxy | |
CN105224362A (zh) | 上位机对下位机进行程序升级的方法及系统 | |
WO2023116425A1 (zh) | 无线网格网络升级方法、装置、主节点及存储介质 | |
CN112947964A (zh) | 一种芯片的固件更新方法、装置、设备及存储介质 | |
CN116069373A (zh) | 一种bmc固件升级方法、装置及其介质 | |
CN117873520A (zh) | 基于基板管理控制器的主板固件升级方法、装置及设备 | |
CN116521081A (zh) | 组板载独立磁盘冗余阵列的方法、装置、设备及存储介质 | |
CN115756648A (zh) | 一种双基板管理控制器芯片的主动恢复方法及终端 | |
JP5944003B2 (ja) | 表示器管理システム、そのサーバ装置、プログラマブル表示器、運用制御方法 | |
KR20160112787A (ko) | 테스트 시스템 및 그 제어 방법 | |
TWI587109B (zh) | 用於安裝多個待測裝置之作業系統的系統架構及佈署方法 | |
CN111367740A (zh) | 一种bmc的调试系统、方法及计算机可读存储介质 | |
US12117896B2 (en) | Stand-alone IOT device for repairing failures on a computing device | |
CN110413302A (zh) | 一种ct设备的远程更新方法及系统 | |
TW202013182A (zh) | 線上更新複雜可程式邏輯器件的韌體之方法 | |
WO2019082738A1 (ja) | 通信アダプタ及び通信アダプタのプログラム更新方法 | |
CN118132450B (zh) | 一种面向Windows集成测试环境的管理方法和系统 | |
WO2012177597A1 (en) | Networking elements as a patch distribution platform for distributed automation and control domains | |
CN116860440A (zh) | 一种服务器管理方法、装置、设备及存储介质 | |
US10915380B2 (en) | Global coordination of in-progress operation risks for multiple distributed storage network memories |
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 |