CN114115955A - 服务器资源盒子fpga固件升级方法、系统、终端及存储介质 - Google Patents

服务器资源盒子fpga固件升级方法、系统、终端及存储介质 Download PDF

Info

Publication number
CN114115955A
CN114115955A CN202111215929.2A CN202111215929A CN114115955A CN 114115955 A CN114115955 A CN 114115955A CN 202111215929 A CN202111215929 A CN 202111215929A CN 114115955 A CN114115955 A CN 114115955A
Authority
CN
China
Prior art keywords
bmc
fpga
firmware
firmware file
data
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.)
Granted
Application number
CN202111215929.2A
Other languages
English (en)
Other versions
CN114115955B (zh
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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111215929.2A priority Critical patent/CN114115955B/zh
Publication of CN114115955A publication Critical patent/CN114115955A/zh
Application granted granted Critical
Publication of CN114115955B publication Critical patent/CN114115955B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Abstract

本发明提供一种服务器资源盒子FPGA固件升级方法、系统、终端及存储介质,包括:第一BMC接收第二BMC通过I2C总线发送的固件文件,并对固件文件进行完整性校验,所述第一BMC为机头BMC,所述第二BMC为资源盒子BMC;第一BMC将经过完整性校验的固件文件发送至资源盒子FPGA;第一BMC在所述固件文件发送完成后,向所述FPGA发送冷重启命令,以使FPGA的固件文件在冷重启后生效。本发明与以往的升级方式相比,该方法无需服务器断电,无需特别治具即可操作,且便于实施时批量操作;同时在机器部署时无需资源盒子BMC接入网络,节省了客户机房的IP资源,简化了布线的复杂度,最终节省了运维成本。

Description

服务器资源盒子FPGA固件升级方法、系统、终端及存储介质
技术领域
本发明涉及服务器技术领域,具体涉及一种服务器资源盒子FPGA固件升级方法、系统、终端及存储介质。
背景技术
NVIDIA于2020年推出了HGX-2Next产品,是能够处理计算量最大的工作负载并实现“世界上最大的GPU”。它由16个
Figure BDA0003310626110000011
Tes
Figure BDA0003310626110000012
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 (10)

1.一种服务器资源盒子FPGA固件升级方法,其特征在于,包括:
第一BMC接收第二BMC通过I2C总线发送的固件文件,并对固件文件进行完整性校验,所述第一BMC为机头BMC,所述第二BMC为资源盒子BMC;
第一BMC将经过完整性校验的固件文件发送至资源盒子FPGA;
第一BMC在所述固件文件发送完成后,向所述FPGA发送冷重启命令,以使FPGA的固件文件在冷重启后生效。
2.根据权利要求1所述的方法,其特征在于,第一BMC接收第二BMC通过I2C总线发送的固件文件,并对固件文件进行完整性校验,包括:
第一BMC接收第二BMC拆分固件文件生成的数据包,并通过数据包的校验和校验接收的数据包的完整性,若通过完整性校验则保存所述数据包;若未通过完整性校验则向第二BMC发送回执信号,以使第二BMC重新发送所述数据包。
3.根据权利要求1所述的方法,其特征在于,第一BMC将经过完整性校验的固件文件发送至资源盒子FPGA,包括:
第一BMC将固件文件分割为多笔128比特的数据流,并调用内部的I2C总线驱动将多笔数据流逐一写入FPGA的存储模块;
从FPGA读取数据流写入后的校验码,并比对所述校验码与发送时的数据码的一致性,若两者不一致则重新向FPGA的存储模块写入所述数据流。
4.根据权利要求3所述的方法,其特征在于,第一BMC在所述固件文件发送完成后,向所述FPGA发送冷重启命令,以使FPGA的固件文件在冷重启后生效,包括:
第一BMC监控到所有数据流均成功写入FPGA的存储模块后,向所述FPGA发送冷重启命令;所述FPGA接收到冷重启命令后执行冷重启,所述固件文件在FPGA冷重启后生效。
5.一种服务器资源盒子FPGA固件升级系统,其特征在于,包括:
文件接收单元,用于第一BMC接收第二BMC通过I2C总线发送的固件文件,并对固件文件进行完整性校验,所述第一BMC为机头BMC,所述第二BMC为资源盒子BMC;
文件转发单元,用于第一BMC将经过完整性校验的固件文件发送至资源盒子FPGA;
固件升级单元,用于第一BMC在所述固件文件发送完成后,向所述FPGA发送冷重启命令,以使FPGA的固件文件在冷重启后生效。
6.根据权利要求5所述的系统,其特征在于,所述文件接收单元用于:
第一BMC接收第二BMC拆分固件文件生成的数据包,并通过数据包的校验和校验接收的数据包的完整性,若通过完整性校验则保存所述数据包;若未通过完整性校验则向第二BMC发送回执信号,以使第二BMC重新发送所述数据包。
7.根据权利要求5所述的系统,其特征在于,所述文件转发单元用于:
第一BMC将固件文件分割为多笔128比特的数据流,并调用内部的I2C总线驱动将多笔数据流逐一写入FPGA的存储模块;
从FPGA读取数据流写入后的校验码,并比对所述校验码与发送时的数据码的一致性,若两者不一致则重新向FPGA的存储模块写入所述数据流。
8.根据权利要求7所述的系统,其特征在于,所述固件升级单元用于:
第一BMC监控到所有数据流均成功写入FPGA的存储模块后,向所述FPGA发送冷重启命令;所述FPGA接收到冷重启命令后执行冷重启,所述固件文件在FPGA冷重启后生效。
9.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-4任一项所述的方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
CN202111215929.2A 2021-10-19 2021-10-19 服务器资源盒子fpga固件升级方法、系统、终端及存储介质 Active CN114115955B (zh)

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 true CN114115955A (zh) 2022-03-01
CN114115955B 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 (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107465542A (zh) * 2017-08-01 2017-12-12 郑州云海信息技术有限公司 一种远程管理fpga的方法及系统
US20180173516A1 (en) * 2016-12-21 2018-06-21 Quanta Computer Inc. System and method for remotely updating firmware
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 苏州浪潮智能科技有限公司 一种通用服务器的信息管理方法、系统及相关组件

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180173516A1 (en) * 2016-12-21 2018-06-21 Quanta Computer Inc. System and method for remotely updating firmware
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
CN114115955B (zh) 2024-04-12

Similar Documents

Publication Publication Date Title
US8386764B2 (en) BIOS architecture
CN112328440B (zh) 一种硬盘物理位置确定方法和装置
CN109660391B (zh) 一种池化服务器系统固件升级方法、系统及相关装置
WO2017124799A1 (zh) 固件管理方法和装置
CN105653306A (zh) 显示启动设置界面的方法和装置
CN114003445B (zh) Bmc的i2c监控功能测试方法、系统、终端及存储介质
CN111159090B (zh) 一种信息处理方法、装置和电子设备
CN115904520A (zh) 基于pcie拓扑状态变更的配置保存方法及相关设备
CN111158731A (zh) 一种基于cpld的网卡固件升级装置及方法
CN111309667A (zh) 基于实时总线的异构多处理器平台的动态可重配置方法
CN116881929B (zh) 安全防护方法、装置、电子设备以及基板控制器芯片
WO2014000299A1 (zh) 串口重定向处理方法、设备和系统
WO2024022212A1 (zh) 配置信息的管理方法、装置及服务器
CN116300780B (zh) 零部件配置方法、装置、电子设备及存储介质
CN114115955B (zh) 服务器资源盒子fpga固件升级方法、系统、终端及存储介质
CN107908418B (zh) 光纤通道节点卡的逻辑程序升级方法及光纤通道总线设备
CN115098342A (zh) 系统日志收集方法、系统、终端及存储介质
CN114253573A (zh) PCIe设备固件批量升级方法、系统、终端及存储介质
CN115129249A (zh) Sas链路拓扑识别管理方法、系统、终端及存储介质
CN113835762B (zh) 硬盘背板默认配置更新方法及系统
CN106445571B (zh) 主机板及开机的方法
CN114564237B (zh) 磁盘阵列卡连接链路扩展方法、系统、终端及存储介质
CN114443150B (zh) 交换机出厂信息同步方法、系统、终端及存储介质
CN113626821B (zh) 服务器mac地址无线刷录方法、系统、终端及存储介质
CN113765827B (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