CN114115955B - 服务器资源盒子fpga固件升级方法、***、终端及存储介质 - Google Patents
服务器资源盒子fpga固件升级方法、***、终端及存储介质 Download PDFInfo
- Publication number
- CN114115955B CN114115955B CN202111215929.2A CN202111215929A CN114115955B CN 114115955 B CN114115955 B CN 114115955B CN 202111215929 A CN202111215929 A CN 202111215929A CN 114115955 B CN114115955 B CN 114115955B
- Authority
- CN
- China
- Prior art keywords
- bmc
- fpga
- data
- firmware
- resource box
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000015654 memory Effects 0.000 claims description 24
- KKIMDKMETPPURN-UHFFFAOYSA-N 1-(3-(trifluoromethyl)phenyl)piperazine Chemical compound FC(F)(F)C1=CC=CC(N2CCNCC2)=C1 KKIMDKMETPPURN-UHFFFAOYSA-N 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000000694 effects Effects 0.000 abstract description 11
- 238000012423 maintenance Methods 0.000 abstract description 5
- 238000013461 design Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000005291 magnetic effect Effects 0.000 description 4
- 238000004088 simulation Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 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
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal 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
本发明提供一种服务器资源盒子FPGA固件升级方法、***、终端及存储介质,包括:第一BMC接收第二BMC通过I2C总线发送的固件文件,并对固件文件进行完整性校验,所述第一BMC为机头BMC,所述第二BMC为资源盒子BMC;第一BMC将经过完整性校验的固件文件发送至资源盒子FPGA;第一BMC在所述固件文件发送完成后,向所述FPGA发送冷重启命令,以使FPGA的固件文件在冷重启后生效。本发明与以往的升级方式相比,该方法无需服务器断电,无需特别治具即可操作,且便于实施时批量操作;同时在机器部署时无需资源盒子BMC接入网络,节省了客户机房的IP资源,简化了布线的复杂度,最终节省了运维成本。
Description
技术领域
本发明涉及服务器技术领域,具体涉及一种服务器资源盒子FPGA固件升级方法、***、终端及存储介质。
背景技术
NVIDIA于2020年推出了HGX-2Next产品,是能够处理计算量最大的工作负载并实现“世界上最大的GPU”。它由16个Tes/>A100GPU和NVIDIA NV SwitchTM加速,具有前所未有的计算能力,带宽和内存拓扑,可以更快,更高效地训练海量模型,分析数据集和解决模拟问题。依托于HGX-2Next计算板,OEM厂商可以开发极具计算潜力的资源盒子来扩展原有服务器性能。FPGA作为HGX-2Next上的重要部件,管理着HGX-2Next与外界交互的接口,保障了整个PCIE链路的连通性与稳定性,起着至关重要的作用。
现有的FPGA固件升级方法有两种:1.通过烧录器将HGX-2Next FPGA固件进行离线烧录;2.通过资源盒子BMC直接进行固件升级。通过烧录器将HGX-2Next FPGA固件进行离线烧录的缺点:(1)只能在断电的情况下进行烧录,影响机器的正常使用;(2)需要将机器进行拆分,此举极易破坏元器件;(3)只能人为进行独立烧录,效率极低。通过资源盒子BMC直接进行固件升级的缺点:需要额外的网线接入资源盒子BMC,增加客户机房的维护成本,同时也对客户对服务器的部署环境提升了很高要求,难以作为通用手段进行推广。
发明内容
针对现有技术的上述不足,本发明提供一种服务器资源盒子FPGA固件升级方法、***、终端及存储介质,以解决上述技术问题。
第一方面,本发明提供一种服务器资源盒子FPGA固件升级方法,包括:
第一BMC接收第二BMC通过I2C总线发送的固件文件,并对固件文件进行完整性校验,所述第一BMC为机头BMC,所述第二BMC为资源盒子BMC;
第一BMC将经过完整性校验的固件文件发送至资源盒子FPGA;
第一BMC在所述固件文件发送完成后,向所述FPGA发送冷重启命令,以使FPGA的固件文件在冷重启后生效。
进一步的,第一BMC接收第二BMC通过I2C总线发送的固件文件,并对固件文件进行完整性校验,包括:
第一BMC接收第二BMC拆分固件文件生成的数据包,并通过数据包的校验和校验接收的数据包的完整性,若通过完整性校验则保存所述数据包;若未通过完整性校验则向第二BMC发送回执信号,以使第二BMC重新发送所述数据包。
进一步的,第一BMC将经过完整性校验的固件文件发送至资源盒子FPGA,包括:
第一BMC将固件文件分割为多笔128比特的数据流,并调用内部的I2C总线驱动将多笔数据流逐一写入FPGA的存储模块;
从FPGA读取数据流写入后的校验码,并比对所述校验码与发送时的数据码的一致性,若两者不一致则重新向FPGA的存储模块写入所述数据流。
进一步的,第一BMC在所述固件文件发送完成后,向所述FPGA发送冷重启命令,以使FPGA的固件文件在冷重启后生效,包括:
第一BMC监控到所有数据流均成功写入FPGA的存储模块后,向所述FPGA发送冷重启命令;所述FPGA接收到冷重启命令后执行冷重启,所述固件文件在FPGA冷重启后生效。
第二方面,本发明提供一种服务器资源盒子FPGA固件升级***,包括:
文件接收单元,用于第一BMC接收第二BMC通过I2C总线发送的固件文件,并对固件文件进行完整性校验,所述第一BMC为机头BMC,所述第二BMC为资源盒子BMC;
文件转发单元,用于第一BMC将经过完整性校验的固件文件发送至资源盒子FPGA;
固件升级单元,用于第一BMC在所述固件文件发送完成后,向所述FPGA发送冷重启命令,以使FPGA的固件文件在冷重启后生效。
进一步的,所述文件接收单元用于:
第一BMC接收第二BMC拆分固件文件生成的数据包,并通过数据包的校验和校验接收的数据包的完整性,若通过完整性校验则保存所述数据包;若未通过完整性校验则向第二BMC发送回执信号,以使第二BMC重新发送所述数据包。
进一步的,所述文件转发单元用于:
第一BMC将固件文件分割为多笔128比特的数据流,并调用内部的I2C总线驱动将多笔数据流逐一写入FPGA的存储模块;
从FPGA读取数据流写入后的校验码,并比对所述校验码与发送时的数据码的一致性,若两者不一致则重新向FPGA的存储模块写入所述数据流。
进一步的,所述固件升级单元用于:
第一BMC监控到所有数据流均成功写入FPGA的存储模块后,向所述FPGA发送冷重启命令;所述FPGA接收到冷重启命令后执行冷重启,所述固件文件在FPGA冷重启后生效。
第三方面,提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述的终端的方法。
第四方面,提供了一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,本发明提供的服务器资源盒子FPGA固件升级方法、***、终端及存储介质,通过在机头BMC中上传FPGA固件,然后将FPGA固件通过I2C物理通道将其发送给资源盒子上的BMC,资源盒子上的BMC在接收到完整的FPGA固件后,接着将固件分为数据流,把数据流顺序写入到FPGA Flash中并进行校验保障数据写入的正确性,数据全部写完后冷重启FPGA,最终完成FPGA固件升级。本发明与以往的升级方式相比,该方法无需服务器断电,无需特别治具即可操作,且便于实施时批量操作;同时在机器部署时无需资源盒子BMC接入网络,节省了客户机房的IP资源,简化了布线的复杂度,最终节省了运维成本。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图2是本发明一个实施例的***的示意性框图。
图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面对本发明中出现的关键术语进行解释。
BMC,执行伺服器远端管理控制器,英文全称为Baseboard ManagementController.为基板管理控制器。它可以在机器未开机的状态下,对机器进行固件升级、查看机器设备、等一些操作。在BMC中完全实现IPMI功能需要一个功能强大的16位元或32位元微控制器以及用于数据储存的RAM、用于非挥发性数据储存的快闪记忆体和韧体,在安全远程重启、安全重新上电、LAN警告和***健康监视方面能提供基本的远程可管理性。除了基本的IPMI功能和***工作监视功能外,通过利用2个快闪记忆体之一储存以前的BIOS,mBMC还能实现BIOS快速元件的选择和保护。例如,在远程BIOS升级後***不能启动时,远程管理人员可以切换回以前工作的BIOS映像来启动***。一旦BIOS升级後,BIOS映像还能被锁住,可有效防止病毒对它的侵害。
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。主器件用于启动总线传送数据,并产生时钟以开放传送的器件,此时任何被寻址的器件均被认为是从器件.在总线上主和从、发和收的关系不是恒定的,而取决于此时数据传送方向。如果主机要发送数据给从器件,则主机首先寻址从器件,然后主动发送数据至从器件,最后由主机终止数据传送;如果主机要接收从器件的数据,首先由主器件寻址从器件.然后主机接收从器件发送的数据,最后由主机终止接收过程。在这种情况下.主机负责产生定时时钟和终止数据传送。
深度学习,机器学习和高性能计算(HPC)正在改变着我们的世界。从自动驾驶汽车,优化零售物流到全球气候模拟,新的挑战正在出现,其解决方案需要巨大的计算资源。为了在现有通用服务器上大幅度提升AI算力,服务器厂商提出了增加资源盒子的解决方案。资源盒子上通常配备了GPU加速卡等硬件资源,通过线缆连接到通用服务器,提升整体性能。
FPGA(Field Programmable Gate Array)是在PAL、GAL等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。PGA器件属于专用集成电路中的一种半定制电路,是可编程的逻辑列阵,能够有效的解决原有的器件门电路数较少的问题。FPGA的基本结构包括可编程输入输出单元,可配置逻辑块,数字时钟管理模块,嵌入式块RAM,布线资源,内嵌专用硬核,底层内嵌功能单元。由于FPGA具有布线资源丰富,可重复编程和集成度高,投资较低的特点,在数字电路设计领域得到了广泛的应用。FPGA的设计流程包括算法设计、代码仿真以及设计、板机调试,设计者以及实际需求建立算法架构,利用EDA建立设计方案或HD编写设计代码,通过代码仿真保证设计方案符合实际要求,最后进行板级调试,利用配置电路将相关文件下载至FPGA芯片中,验证实际运行效果。
图1是本发明一个实施例的方法的示意性流程图。其中,图1执行主体可以为一种服务器资源盒子FPGA固件升级***。
如图1所示,该方法包括:
步骤110,第一BMC接收第二BMC通过I2C总线发送的固件文件,并对固件文件进行完整性校验,所述第一BMC为机头BMC,所述第二BMC为资源盒子BMC;
步骤120,第一BMC将经过完整性校验的固件文件发送至资源盒子FPGA;
步骤130,第一BMC在所述固件文件发送完成后,向所述FPGA发送冷重启命令,以使FPGA的固件文件在冷重启后生效。
基板管理控制器(Baseboard Management Controller,BMC)是一种专门的服务处理器,其是智能平台管理接口(Intelligent Platform Management Interface,IPMI)的一部分,通常包含在待监控设备的主板或主电路板中。它常被应用于监控和管理服务器的运行状态,如通过带外方式进行开关机、监控服务器传感器状态、访问BIOS配置或操作***控制台信息、升级设备的固件等等。BMC的出现使得服务器管理变得轻松便捷。本发明基于服务器的两个BMC,在机头BMC中上传FPGA固件,然后将FPGA固件通过I2C物理通道将其发送给资源盒子上的BMC,资源盒子上的BMC在接收到完整的FPGA固件后,接着将固件分为数据流,把数据流顺序写入到FPGA Flash中并进行校验保障数据写入的正确性,数据全部写完后冷重启FPGA,最终完成FPGA固件升级。
为了便于对本发明的理解,下面以本发明服务器资源盒子FPGA固件升级方法的原理,结合实施例中对服务器资源盒子FPGA进行固件升级的过程,对本发明提供的服务器资源盒子FPGA固件升级方法做进一步的描述。
具体的,所述服务器资源盒子FPGA固件升级方法包括:
S1、第一BMC接收第二BMC通过I2C总线发送的固件文件,并对固件文件进行完整性校验,所述第一BMC为机头BMC,所述第二BMC为资源盒子BMC。
第一BMC接收第二BMC拆分固件文件生成的数据包,并通过数据包的校验和校验接收的数据包的完整性,若通过完整性校验则保存所述数据包;若未通过完整性校验则向第二BMC发送回执信号,以使第二BMC重新发送所述数据包。
***上电,机头BMC,资源盒子BMC和HGX-2Next均处在正常的工作状态;调用机头BMC内部的TFTP服务,将要升级的FPGA固件上传至机头BMC根目录下;机头BMC将FPGA固件分割为128Byte的数据流同时在数据流末尾增加校验和,之后将数据流通过I2C协议一笔一笔的发送给资源盒子BMC,直至发送完成;资源盒子BMC接受到数据流后,通过校验和检查其正确性,正确则保存,错误则丢弃,同时向机头BMC发送回执信号,用于告知传输下一笔数据或者重传本笔数据,直至接收到完整的固件。
S2、第一BMC将经过完整性校验的固件文件发送至资源盒子FPGA。
第一BMC将固件文件分割为多笔128比特的数据流,并调用内部的I2C总线驱动将多笔数据流逐一写入FPGA的存储模块;从FPGA读取数据流写入后的校验码,并比对所述校验码与发送时的数据码的一致性,若两者不一致则重新向FPGA的存储模块写入所述数据流。
资源盒子BMC将该FPGA固件分割为多笔128Byte大小的数据流,调用机头BMC内部的I2C驱动,将分割好的数据流逐个写入到FPGA的flash中,数据写完后,从FPGA中读取数据写入后的校验码,然后对比写入的数据校验码和读取出来的校验码是否一致,如果不一致则需重新写入数据,直到数据正确写入,循环执行向FPGA写入数据流的操作,直至所有数据流全部正确写入。
S3、第一BMC在所述固件文件发送完成后,向所述FPGA发送冷重启命令,以使FPGA的固件文件在冷重启后生效。
第一BMC监控到所有数据流均成功写入FPGA的存储模块后,向所述FPGA发送冷重启命令;所述FPGA接收到冷重启命令后执行冷重启,所述固件文件在FPGA冷重启后生效。
资源盒子BMC通过I2C协议向FPGA发送冷重启的命令,使新固件生效;同时向机头BMC发送固件升级成功的消息。至此,FPGA固件升级完成。
本发明与以往的升级方式相比,该方法无需服务器断电,无需特别治具即可操作,且便于实施时批量操作;同时在机器部署时无需资源盒子BMC接入网络,节省了客户机房的IP资源,简化了布线的复杂度,最终节省了运维成本。
如图2所示,该***200包括:
文件接收单元210,用于第一BMC接收第二BMC通过I2C总线发送的固件文件,并对固件文件进行完整性校验,所述第一BMC为机头BMC,所述第二BMC为资源盒子BMC;
文件转发单元220,用于第一BMC将经过完整性校验的固件文件发送至资源盒子FPGA;
固件升级单元230,用于第一BMC在所述固件文件发送完成后,向所述FPGA发送冷重启命令,以使FPGA的固件文件在冷重启后生效。
可选地,作为本发明一个实施例,所述文件接收单元用于:
第一BMC接收第二BMC拆分固件文件生成的数据包,并通过数据包的校验和校验接收的数据包的完整性,若通过完整性校验则保存所述数据包;若未通过完整性校验则向第二BMC发送回执信号,以使第二BMC重新发送所述数据包。
具体的,***上电,机头BMC,资源盒子BMC和HGX-2Next均处在正常的工作状态;调用机头BMC内部的TFTP服务,将要升级的FPGA固件上传至机头BMC根目录下;机头BMC将FPGA固件分割为128Byte的数据流同时在数据流末尾增加校验和,之后将数据流通过I2C协议一笔一笔的发送给资源盒子BMC,直至发送完成;资源盒子BMC接受到数据流后,通过校验和检查其正确性,正确则保存,错误则丢弃,同时向机头BMC发送回执信号,用于告知传输下一笔数据或者重传本笔数据,直至接收到完整的固件;
可选地,作为本发明一个实施例,所述文件转发单元用于:
第一BMC将固件文件分割为多笔128比特的数据流,并调用内部的I2C总线驱动将多笔数据流逐一写入FPGA的存储模块;
从FPGA读取数据流写入后的校验码,并比对所述校验码与发送时的数据码的一致性,若两者不一致则重新向FPGA的存储模块写入所述数据流。
具体的,资源盒子BMC将该FPGA固件分割为多笔128Byte大小的数据流,调用机头BMC内部的I2C驱动,将分割好的数据流逐个写入到FPGA的flash中,数据写完后,从FPGA中读取数据写入后的校验码,然后对比写入的数据校验码和读取出来的校验码是否一致,如果不一致则需重新写入数据,直到数据正确写入,循环执行向FPGA写入数据流的操作,直至所有数据流全部正确写入
可选地,作为本发明一个实施例,所述固件升级单元用于:
第一BMC监控到所有数据流均成功写入FPGA的存储模块后,向所述FPGA发送冷重启命令;所述FPGA接收到冷重启命令后执行冷重启,所述固件文件在FPGA冷重启后生效。
资源盒子BMC通过I2C协议向FPGA发送冷重启的命令,使新固件生效;同时向机头BMC发送固件升级成功的消息;至此,FPGA固件升级完成。
本发明的技术关键点在于:如何通过机头BMC将FPGA固件传送给资源盒子BMC,并保证其完整性;资源盒子BMC在接受到FPGA固件后,如何将固件更新到FPGA Flash中。基于此,本发明提出上述***,通过该***,服务器部署只需要机头BMC接入网络,机头与资源盒子通过I2C线缆连接。机头BMC通过TFTP服务将FPGA固件上传至其内部,再将固件分流通过I2C协议发送至资源盒子BMC;资源盒子BMC对数据进行校验存储,接收到所有数据后,再通过I2C协议将数据流写入FPGA flash,确认数据成功写入后对FPGA进行控制重启,同时发送更新成功的回执型号给到机头BMC,最终完成FPGA升级。
图3为本发明实施例提供的一种终端300的结构示意图,该终端300可以用于执行本发明实施例提供的提供的服务器资源盒子FPGA固件升级方法。
其中,该终端300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的服务器的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快存储模块储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integrated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central Processing Unit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM)等。
因此,本发明通过在机头BMC中上传FPGA固件,然后将FPGA固件通过I2C物理通道将其发送给资源盒子上的BMC,资源盒子上的BMC在接收到完整的FPGA固件后,接着将固件分为数据流,把数据流顺序写入到FPGA Flash中并进行校验保障数据写入的正确性,数据全部写完后冷重启FPGA,最终完成FPGA固件升级。本发明与以往的升级方式相比,该方法无需服务器断电,无需特别治具即可操作,且便于实施时批量操作;同时在机器部署时无需资源盒子BMC接入网络,节省了客户机房的IP资源,简化了布线的复杂度,最终节省了运维成本,本实施例所能达到的技术效果可以参见上文中的描述,此处不再赘述。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中如U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,包括若干指令用以使得一台计算机终端(可以是个人计算机,服务器,或者第二终端、网络终端等)执行本发明各个实施例所述方法的全部或部分步骤。
本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于终端实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
在本发明所提供的几个实施例中,应该理解到,所揭露的***和方法,可以通过其它的方式实现。例如,以上所描述的***实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,***或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (3)
1.一种服务器资源盒子FPGA固件升级方法,其特征在于,包括:
***上电,调用机头BMC内部的TFTP服务,将要升级的 FPGA 固件上传至机头BMC根目录下;机头BMC将FPGA固件分割为128Byte的数据流,并在数据流末尾增加校验和,将数据流通过I2C协议一笔一笔的发送给资源盒子BMC,直至发送完成;资源盒子BMC接受到数据流后,通过末尾的校验和检查所述数据流的正确性,正确则保存,错误则丢弃,同时向机头BMC发送包含数据流校验结果的回执信号;机头BMC接收到回执信号,若所述回执信号为数据流正确,则传输下一笔数据流,若所述回执信号为数据流错误,则重传所述数据流;
资源盒子BMC将该FPGA固件分割为多笔128Byte大小的数据流,调用机头BMC内部的I2C驱动,将分割好的数据流逐个写入到FPGA的flash中,数据写完后,从FPGA中读取数据写入后的校验码,然后对比写入的数据校验码和读取出来的校验码是否一致,如果不一致则需重新写入数据,直到数据正确写入,循环执行向FPGA写入数据流的操作,直至所有数据流全部正确写入;
资源盒子BMC通过I2C协议向FPGA发送冷重启的命令,使新固件生效;同时向机头BMC发送固件升级成功的消息;至此,FPGA 固件升级完成。
2.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1所述的方法。
3.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111215929.2A CN114115955B (zh) | 2021-10-19 | 2021-10-19 | 服务器资源盒子fpga固件升级方法、***、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111215929.2A CN114115955B (zh) | 2021-10-19 | 2021-10-19 | 服务器资源盒子fpga固件升级方法、***、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114115955A CN114115955A (zh) | 2022-03-01 |
CN114115955B true CN114115955B (zh) | 2024-04-12 |
Family
ID=80376446
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111215929.2A Active CN114115955B (zh) | 2021-10-19 | 2021-10-19 | 服务器资源盒子fpga固件升级方法、***、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114115955B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107465542A (zh) * | 2017-08-01 | 2017-12-12 | 郑州云海信息技术有限公司 | 一种远程管理fpga的方法及*** |
CN109002310A (zh) * | 2018-08-07 | 2018-12-14 | 北京云迹科技有限公司 | 固件升级方法 |
CN109408445A (zh) * | 2018-11-01 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种图形处理器板卡 |
CN109542479A (zh) * | 2018-11-12 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种多级联服务器的固件刷新方法及*** |
WO2019084916A1 (zh) * | 2017-11-03 | 2019-05-09 | 华为技术有限公司 | 恢复fpga芯片中的逻辑的方法、***和fpga设备 |
CN109933562A (zh) * | 2018-12-13 | 2019-06-25 | 英业达科技有限公司 | 服务器结构、资源汇聚方法及获取服务器传感器数据的方法 |
CN110502250A (zh) * | 2019-07-12 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种升级方法及基板管理控制器 |
CN111078403A (zh) * | 2019-12-09 | 2020-04-28 | 苏州浪潮智能科技有限公司 | 一种服务器加gpu的配置方法及*** |
CN111367761A (zh) * | 2020-02-28 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种通用服务器的信息管理方法、***及相关组件 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10331434B2 (en) * | 2016-12-21 | 2019-06-25 | Quanta Computer Inc. | System and method for remotely updating firmware |
-
2021
- 2021-10-19 CN CN202111215929.2A patent/CN114115955B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107465542A (zh) * | 2017-08-01 | 2017-12-12 | 郑州云海信息技术有限公司 | 一种远程管理fpga的方法及*** |
WO2019084916A1 (zh) * | 2017-11-03 | 2019-05-09 | 华为技术有限公司 | 恢复fpga芯片中的逻辑的方法、***和fpga设备 |
CN109002310A (zh) * | 2018-08-07 | 2018-12-14 | 北京云迹科技有限公司 | 固件升级方法 |
CN109408445A (zh) * | 2018-11-01 | 2019-03-01 | 郑州云海信息技术有限公司 | 一种图形处理器板卡 |
CN109542479A (zh) * | 2018-11-12 | 2019-03-29 | 郑州云海信息技术有限公司 | 一种多级联服务器的固件刷新方法及*** |
CN109933562A (zh) * | 2018-12-13 | 2019-06-25 | 英业达科技有限公司 | 服务器结构、资源汇聚方法及获取服务器传感器数据的方法 |
CN110502250A (zh) * | 2019-07-12 | 2019-11-26 | 苏州浪潮智能科技有限公司 | 一种升级方法及基板管理控制器 |
CN111078403A (zh) * | 2019-12-09 | 2020-04-28 | 苏州浪潮智能科技有限公司 | 一种服务器加gpu的配置方法及*** |
CN111367761A (zh) * | 2020-02-28 | 2020-07-03 | 苏州浪潮智能科技有限公司 | 一种通用服务器的信息管理方法、***及相关组件 |
Also Published As
Publication number | Publication date |
---|---|
CN114115955A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11223525B2 (en) | Gateway device, firmware update method, and recording medium | |
US8386764B2 (en) | BIOS architecture | |
CN110162435B (zh) | 一种服务器pxe启动测试方法、***、终端及存储介质 | |
US10430082B2 (en) | Server management method and server for backup of a baseband management controller | |
CN114003445B (zh) | Bmc的i2c监控功能测试方法、***、终端及存储介质 | |
CN112328440B (zh) | 一种硬盘物理位置确定方法和装置 | |
WO2017124799A1 (zh) | 固件管理方法和装置 | |
CN114281394A (zh) | 一种快速在线升级程序的方法、***、设备及介质 | |
CN105653306A (zh) | 显示启动设置界面的方法和装置 | |
CN111159090B (zh) | 一种信息处理方法、装置和电子设备 | |
CN114153485B (zh) | 基于高速口的多处理器程序升级方法及装置 | |
WO2024022212A1 (zh) | 配置信息的管理方法、装置及服务器 | |
CN114115955B (zh) | 服务器资源盒子fpga固件升级方法、***、终端及存储介质 | |
CN111104075B (zh) | Usb设备模拟装置及方法 | |
CN107908418B (zh) | 光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备 | |
CN113377425B (zh) | Bmc固件生成方法和装置、bmc启动方法和装置及存储介质 | |
CN114253573A (zh) | PCIe设备固件批量升级方法、***、终端及存储介质 | |
CN112579507A (zh) | 宿主机与bmc通信的方法、bios、操作***、bmc和服务器 | |
CN113835762B (zh) | 硬盘背板默认配置更新方法及*** | |
CN114443150B (zh) | 交换机出厂信息同步方法、***、终端及存储介质 | |
CN114579381B (zh) | 磁盘阵列远程调试方法、***、终端及存储介质 | |
CN116431190B (zh) | 一种固件升级方法、装置、bmc芯片、服务器及介质 | |
CN114564237B (zh) | 磁盘阵列卡连接链路扩展方法、***、终端及存储介质 | |
CN113626821B (zh) | 服务器mac地址无线刷录方法、***、终端及存储介质 | |
CN113900934B (zh) | 多镜像混合刷新测试方法、***、终端及存储介质 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |