CN116204214A - Bmc升级方法、装置、系统、电子设备及存储介质 - Google Patents

Bmc升级方法、装置、系统、电子设备及存储介质 Download PDF

Info

Publication number
CN116204214A
CN116204214A CN202310452402.4A CN202310452402A CN116204214A CN 116204214 A CN116204214 A CN 116204214A CN 202310452402 A CN202310452402 A CN 202310452402A CN 116204214 A CN116204214 A CN 116204214A
Authority
CN
China
Prior art keywords
management controller
baseboard management
processor
upgrade
memory space
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
CN202310452402.4A
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.)
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 CN202310452402.4A priority Critical patent/CN116204214A/zh
Publication of CN116204214A publication Critical patent/CN116204214A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及服务器技术领域,提供一种BMC升级方法、装置、系统、电子设备及存储介质。所述方法包括:基于处理器与基板管理控制器之间的LPC通道,发送升级执行消息至基板管理控制器;接收基板管理控制器针对升级执行消息的升级确认消息,并基于处理器与基板管理控制器之间的PCIe通道,将基板管理控制器的镜像升级文件发送至基板管理控制器,以供基板管理控制器在接收镜像升级文件后,执行升级操作。本发明提供的BMC升级方法、装置、系统、电子设备及存储介质,通过LPC通道与PCIe通道相结合的方式,相互配合共同完成BMC升级,提升了升级效率,降低了基板管理控制器的升级时间,也合理利用基板管理控制器的硬件资源。

Description

BMC升级方法、装置、系统、电子设备及存储介质
技术领域
本发明涉及服务器技术领域,具体涉及一种BMC升级方法、装置、系统、电子设备及存储介质。
背景技术
现有的存储软件栈中,BMC(Baseboard Management Controller,基板管理控制器)主要负责存储框中板卡的硬件状态管理和辅助处理器定位信息的采集,随着硬件形态的多样化,业务需要多样化,BMC支持的特性也原来越多,随之带来的是BMC镜像大小的急剧增加,再加上Linux成为主流操作系统,BMC镜像大小,也从单片机时代的几个MB的量级,进入到几十MB的量级。
现有的BMC的升级往往基于BMC与处理器之间的LPC通道,将处理器中的BMC升级镜像文件,传输至BMC。BMC接收后,完成,BMC的升级。由于BMC镜像文件大小的增加导致单个BMC升级时间大大增加。并且,在一个存储框中,至少有2个BMC需要升级。所以,如何减少BMC升级时间的需求是目前业界亟待解决的重要课题。
发明内容
本发明提供一种BMC升级方法、装置、系统、电子设备及存储介质,用以减少BMC的升级时间。
第一方面,本发明提供一种BMC升级方法,包括:
基于处理器与基板管理控制器之间的低引脚数LPC通道,发送升级执行消息至所述基板管理控制器;
接收所述基板管理控制器针对所述升级执行消息的升级确认消息,并基于所述处理器与所述基板管理控制器之间的高速串行计算机扩展总线标准PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器,以供所述基板管理控制器在接收所述镜像升级文件后,执行升级操作。
根据本发明提供的一种BMC升级方法,基于所述处理器与所述基板管理控制器之间的PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器,包括:
获取所述基板管理控制器的内存映射空间,所述内存映射空间为所述基板管理控制器中用于与所述处理器进行内存交换的内存空间;
在所述处理器的内存中分配第一内存空间,所述第一内存空间的空间大小与所述内存映射空间的空间大小相同;
基于所述第一内存空间的大小,对所述基板管理控制器的镜像升级文件进行拆分,得到多个拆分片段数据;
将所述多个拆分片段数据依次发送至所述第一内存空间,并将所述第一内存空间中的拆分片段数据基于所述PCIe通道发送至所述基板管理控制器的第二内存空间,以供所述基板管理控制器基于所述第二内存空间接收所述多个拆分片段数据后,将所述多个拆分片段数据进行组合,得到所述镜像升级文件,所述第二内存空间为所述基板管理控制器中划分的与所述内存映射空间的空间大小相同的内存空间。
根据本发明提供的一种BMC升级方法,将所述多个拆分片段数据依次发送至所述第一内存空间之前,还包括:
将所述第一内存空间的起始地址以及所述第一内存空间的空间大小,配置至所述基板管理控制器的基地址寄存器中,以实现所述第一内存空间与所述第二内存空间之间的内存交换,所述基板管理控制器的基地址寄存器已存储有所述第二内存空间的起始地址以及所述第二内存空间的空间大小。
根据本发明提供的一种BMC升级方法,获取所述基板管理控制器的内存映射空间,包括:
读取所述基板管理控制器的基地址寄存器,从所述基地址寄存器中确定所述基板管理控制器的内存映射空间。
根据本发明提供的一种BMC升级方法,将所述第一内存空间中的拆分片段数据基于所述PCIe通道发送至所述基板管理控制器的第二内存空间之后,还包括:
将所述拆分片段数据的发送通知消息基于所述LPC通道发送至所述基板管理控制器,以供所述基板管理控制器接收所述发送通知消息后,对所述拆分片段数据进行校验。
根据本发明提供的一种BMC升级方法,将所述拆分片段数据的发送通知消息基于所述LPC通道发送至所述基板管理控制器之后,还包括:
接收所述基板管理控制器针对所述拆分片段数据的校验通过消息,并基于所述校验通过消息,发送下一条拆分片段数据。
根据本发明提供的一种BMC升级方法,将所述拆分片段数据的发送通知消息基于所述LPC通道发送至所述基板管理控制器之后,还包括:
在没有接收到所述基板管理控制器针对所述拆分片段数据的校验通过消息的情况下,重新将所述第一内存空间中的拆分片段数据基于所述PCIe通道发送至所述基板管理控制器的第二内存空间。
根据本发明提供的一种BMC升级方法,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器之后,还包括:
在确认所述基板管理控制器接收到完整的镜像升级文件后,生成生效消息;
基于LPC通道发送所述生效消息至所述基板管理控制器,以供所述基板管理控制器执行重启操作。
根据本发明提供的一种BMC升级方法,基于处理器与基板管理控制器之间的低引脚数LPC通道,发送升级执行消息至所述基板管理控制器之前,还包括:
基于PCIe扫描,确定与所述处理器连接的待升级的所述基板管理控制器。
第二方面,本发明还提供一种BMC升级方法,包括:
基于处理器与基板管理控制器之间的低引脚数LPC通道,接收所述处理器的升级执行消息;
将针对所述升级执行消息的升级确认消息发送至所述处理器,以供所述处理器基于所述处理器与所述基板管理控制器之间的高速串行计算机扩展总线标准PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器;
接收所述镜像升级文件,并基于所述镜像升级文件执行升级操作。
根据本发明提供的一种BMC升级方法,接收所述镜像升级文件,包括:
基于所述基板管理控制器的第二内存空间依次接收所述镜像升级文件的多个拆分片段数据,所述第二内存空间为所述基板管理控制器中划分的与内存映射空间的空间大小相同的内存空间,所述内存映射空间为所述基板管理控制器中用于与所述处理器进行内存交换的内存空间,所述多个拆分片段数据是所述处理器基于第一内存空间的大小,对所述基板管理控制器的镜像升级文件进行拆分得到的,所述第一内存空间是所述处理器在所述处理器的内存中分配的与所述内存映射空间的空间大小相同的内存空间;
将所述多个拆分片段数据进行组合,得到所述镜像升级文件。
根据本发明提供的一种BMC升级方法,基于所述基板管理控制器的第二内存空间依次接收所述镜像升级文件的多个拆分片段数据之前,还包括:
将所述第二内存空间的起始地址以及所述第二内存空间的空间大小,配置至所述基板管理控制器的基地址寄存器中,以实现所述第二内存空间与所述第一内存空间之间的内存交换,所述基板管理控制器的基地址寄存器已存储有所述第一内存空间的起始地址以及所述第一内存空间的空间大小。
根据本发明提供的一种BMC升级方法,基于所述基板管理控制器的第二内存空间依次接收所述镜像升级文件的多个拆分片段数据之后,还包括:
基于所述LPC通道接收所述拆分片段数据的发送通知消息,并基于所述发送通知消息,对所述拆分片段数据进行校验。
根据本发明提供的一种BMC升级方法,对所述拆分片段数据进行校验之后,还包括:
在所述拆分片段数据校验通过的情况下,基于所述LPC通道发送所述拆分片段数据的校验通过消息至所述处理器,以供所述处理器发送下一条拆分片段数据。
根据本发明提供的一种BMC升级方法,对所述拆分片段数据进行校验之后,还包括:
在所述拆分片段数据校验不通过的情况下,基于LPC通道发送校验失败消息至所述处理器,以供所述处理器基于所述PCIe通道,重新发送所述拆分片段数据至所述基板管理控制器的第二内存空间。
根据本发明提供的一种BMC升级方法,对所述拆分片段数据进行校验,包括:
基于消息摘要算法,对所述拆分片段数据进行校验,确定所述拆分片段数据完整。
根据本发明提供的一种BMC升级方法,基于所述镜像升级文件执行升级操作,包括:
基于LPC通道接收所述处理器的生效消息,所述生效消息为所述处理器基于确认所述基板管理控制器接收到完整的镜像升级文件生成的;
基于所述生效消息,执行重启操作,以供所述基板管理控制器基于所述镜像升级文件执行升级操作。
第三方面,本发明还提供一种BMC升级装置,应用于处理器,包括:
消息交互模块,用于基于处理器与基板管理控制器之间的低引脚数LPC通道,发送升级执行消息至所述基板管理控制器;
数据传输模块,用于接收所述基板管理控制器针对所述升级执行消息的升级确认消息,并基于所述处理器与所述基板管理控制器之间的PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器,以供所述基板管理控制器在接收所述镜像升级文件后,执行升级操作。
第四方面,本发明还提供一种BMC升级装置,应用于基板管理控制器,包括:
消息接收模块,用于基于处理器与基板管理控制器之间的LPC通道,接收所述处理器的升级执行消息;
消息发送模块,用于将针对所述升级执行消息的升级确认消息发送至所述处理器,以供所述处理器基于所述处理器与所述基板管理控制器之间的PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器;
升级模块,用于接收所述镜像升级文件,并基于所述镜像升级文件执行升级操作。
第五方面,本发明还提供一种BMC升级系统,包括应用于上述BMC升级装置的处理器,以及应用于上述BMC升级装置的基板管理控制器。
第六方面,本发明还提供一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一种的BMC升级方法。
第七方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种BMC升级方法。
本发明提供的BMC升级方法、装置、系统、电子设备及存储介质,通过在基板管理控制器进行升级时,基于处理器与基板管理控制器之间的LPC通道,传输基板管理控制器与处理器之间的消息,实现了处理器与基板管理控制器之间交互消息的传输。基于处理器与基板管理控制器之间的PCIe通道,传输基板管理控制器与处理器之间交互的数据文件,利用了PCIe通道的数据传输速率高的特点,提升了数据传输效率。基于LPC通道与PCIe通道相结合的方式,相互配合共同完成BMC升级,既提升了升级效率,降低了基板管理控制器的升级时间,也合理利用基板管理控制器的硬件资源。
附图说明
为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的BMC升级方法的流程示意图之一;
图2为本发明提供的基板管理控制器升级调整示意图;
图3为本发明提供的处理器配置流程示意图;
图4为本发明提供的基板管理控制器配置流程示意图;
图5为本发明实施例提供的BMC升级方法的流程示意图之二;
图6为应用本发明实施例提供的BMC升级方法的流程示意图;
图7为本发明实施例提供的BMC升级装置的结构示意图之一;
图8为本发明实施例提供的BMC升级装置的结构示意图之二;
图9为本发明实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的BMC升级方法的流程示意图之一,参照图1,本发明实施例提供的BMC升级方法包括以下步骤:
步骤110,基于处理器与基板管理控制器之间的低引脚数LPC通道,发送升级执行消息至所述基板管理控制器;
步骤120,接收所述基板管理控制器针对所述升级执行消息的升级确认消息,并基于所述处理器与所述基板管理控制器之间的高速串行计算机扩展总线标准PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器,以供所述基板管理控制器在接收所述镜像升级文件后,执行升级操作。
本发明实施例中的处理器一般指计算机、服务器、终端或者可移动终端等设备的处理器,用于解释计算机指令以及处理计算机软件中的数据。处理器是计算机中负责读取指令,对指令译码并执行指令的核心部件。处理器主要包括两个部分,即控制器、运算器,其中还包括高速缓冲存储器及实现它们之间联系的数据、控制的总线。
本发明实施例中的基板管理控制器是一种集成电路,它主要负责基板(服务器主板或嵌入式设备主板)的管理和控制。基板管理控制器通常是通过I2C、SPI或SMbus等总线与处理器连接的,主要功能包括:监控基板各种传感器的数据,如温度、电压、风扇速度等,以确保基板的正常运行和避免过热、过压等问题。支持虚拟控制台和远程控制台协议,以便管理员可以通过网络连接到基板管理控制器进行远程管理和监控。支持KVM-over-IP功能,以便管理员可以通过网络访问基板上的图形界面和键盘鼠标,类似于物理连接。支持远程开关机、重启、BIOS(Basic Input Output System,基本输入输出系统)设置等基板控制功能。提供基于IPMI(Intelligent Platform Management Interface,智能平台管理接口)或Redfish等管理协议的接口,以便管理员可以使用标准化的命令和API(ApplicationProgramming Interface,应用程序编程接口)进行管理。基板管理控制器是一种重要的基础设施管理工具,可以提高服务器或嵌入式设备的可靠性和安全性,并降低管理成本。
本发明实施例提供的BMC升级方法的执行主体可以是处理器,下面以处理器执行本发明实施例提供的BMC升级方法为例,详细说明本发明的技术方案。
具体地,在步骤110中,基于处理器与基板管理控制器之间的LPC通道,将升级执行消息发送至基板管理控制器。
LPC通道是基于LPC(Low Pin Count,低引脚数)总线的通道,是一种低速的外设连接通道,被用于连接低性能、低速度的外设,具有低成本、低功耗的优点。基于处理器与基板管理控制器之间的LPC通道可以实现处理器与基板管理控制器之间消息以及数据的传输。
在需要对基板管理控制器进行升级时,基于处理器与基板管理控制器之间的LPC通道,发送升级执行消息至基板管理控制器。其中,升级执行消息为处理器发送至基板管理控制器的用于升级准备的命令。基板管理控制器接收升级执行消息后,进行升级准备工作。
可以理解的是,LPC通道一般被用于连接一些低性能、低速度的外设,这些设备通常需要较少的带宽和处理性能,因此使用LPC通道可以实现低成本、低功耗的设计。但LPC通道的缺点是无法支持高带宽、高速度的数据传输,因此不适合连接一些需要高速数据传输的设备。但是,可以基于LPC通道对于消息的传输,由于消息数据量小,基于LPC通道传输处理器与基板管理控制器之间的消息,可以实现在不影响消息传输速率的情况下,实现消息的低成本、低功耗传输。
在步骤120中,在基板管理控制器接收升级执行消息后,生成针对升级执行消息的升级确认消息,并将升级确认消息发送至处理器。处理器接收基板管理控制器的升级确认消息,并基于处理器与基板管理控制器之间的PCIe通道,将基板管理控制器的镜像升级文件发送至基板管理控制器。基板管理控制器接收处理器发送的镜像升级文件后,执行升级操作。
升级确认消息是基板管理控制器针对升级执行消息的答复消息,表示基板管理控制器已准备执行升级操作。在处理器接收升级确认消息之后,处理器可以基于接收的升级确认消息执行后续升级操作。
在处理器接收基板管理控制器的升级确认消息后,基于处理器与基板管理控制器之间的PCIe通道,将基板管理控制器的镜像升级文件发送至基板管理控制器。其中,基板管理控制器的镜像升级文件用于基板管理控制器的升级。基板管理控制器在接收处理器发送的镜像升级文件后,执行升级操作。
相关方法中,对于基板管理控制器的升级,基于LPC通道实现升级过程中消息以及数据的传输。而LPC通道的缺点是无法支持高带宽、高速度的数据传输。
但随着硬件形态的多样化,业务需要多样化,基板管理控制器支持的特性也越来越多,随之带来的是基板管理控制器的升级镜像文件大小急剧增加,再加上Linux成为主流操作系统,基板管理控制器镜像升级文件的大小,也从单片机时代的几个MB的量级,进入到几十MB的量级。单个基板管理控制器升级时间大大增加,在一个存储框中,至少有2个基板管理控制器需要升级。若基于LPC通道实现镜像升级文件的传输,传输速度慢,传输速率低。
而基板管理控制器芯片都支持PCIe2.0 X1,至少可以支持PCIe End设备。基板管理控制器芯片网口大部分只有2路,且最大速率1Gbps。并且,PCIe2.0每一条Lane的传输效率为:5×8/10=4 Gbps=500 MB/s。对比普通网络的传输速率:1000mbps/8=120MB/s。所以,PCIe硬件的传输效率约为普通网络的5倍。
对于网络协议效率层面,标准以太网报文数据域最大支持1500字节,传输基板管理控制器的镜像升级文件需要拆分为很多包。而且处理器下发的网络报文要经过TCP/IP协议栈处理后,才能给基板管理控制器使用,软件路径长。
对于PCIe协议效率层面,PCIe采用内存DMA(Direct Memory Access,直接内存访问)方式,理论上一次拷贝数据可以很多。而且处理器将基板管理控制器的镜像升级文件拷贝到基板管理控制器的内存后,基板管理控制器可以直接读取,不需要其他的软件协议栈处理。
所以,可以基于基板管理控制器与处理器之间的PCIe通道传输基板管理控制器的镜像升级文件。并且,基于的PCIe通道传输基板管理控制器的镜像升级文件,可以极大提升镜像升级文件的传输效率。
可以理解的是,镜像升级文件的数据量大,若直接基于LPC通道进行传输,会导致传输效率低下,从而影响升级效率,导致基板管理控制器的升级时间过长。PCIe通道的数据传输速率高,基于PCIe通道传输基板管理控制器的镜像升级文件,可以提升镜像升级文件的传输速率,进而减小镜像升级文件由处理器传输至基板管理控制器的传输时间,从而最终减小基板管理控制器的升级时间。
在基板管理控制器升级的过程中,如图2本发明提供的基板管理控制器升级调整示意图所示,可以将相关方法中的基于LPC通道实现处理器与基板管理控制器之间的消息以及数据的传输,改进为基于处理器与基板管理控制器之间的LPC通道,实现处理器与基板管理控制器之间消息的交互;基于处理器与基板管理控制器之间的PCIe通道,实现用于升级的镜像升级文件的传输。
由于消息数据量小,基于LPC通道传输处理器与基板管理控制器之间的消息,可以实现在不影响消息传输速率的情况下,实现消息的低成本、低功耗传输。基于LPC通道与PCIe通道相结合的方式,相互配合共同完成基板管理控制器升级,既提升了升级效率,也合理利用基板管理控制器的硬件资源。
本发明实施例提供的BMC升级方法,通过在基板管理控制器进行升级时,基于处理器与基板管理控制器之间的LPC通道,传输基板管理控制器与处理器之间的消息,实现了处理器与基板管理控制器之间交互消息的传输。基于处理器与基板管理控制器之间的PCIe通道,传输基板管理控制器与处理器之间交互的数据文件,利用了PCIe通道的数据传输速率高的特点,提升了数据传输效率。基于LPC通道与PCIe通道相结合的方式,相互配合共同完成BMC升级,既提升了升级效率,降低了基板管理控制器的升级时间,也合理利用基板管理控制器的硬件资源。
在一个实施例中,基于所述处理器与所述基板管理控制器之间的PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器,包括:获取所述基板管理控制器的内存映射空间,所述内存映射空间为所述基板管理控制器中用于与所述处理器进行内存交换的内存空间;在所述处理器的内存中分配第一内存空间,所述第一内存空间的空间大小与所述内存映射空间的空间大小相同;基于所述第一内存空间的大小,对所述基板管理控制器的镜像升级文件进行拆分,得到多个拆分片段数据;将所述多个拆分片段数据依次发送至所述第一内存空间,并将所述第一内存空间中的拆分片段数据基于所述PCIe通道发送至所述基板管理控制器的第二内存空间,以供所述基板管理控制器基于所述第二内存空间接收所述多个拆分片段数据后,将所述多个拆分片段数据进行组合,得到所述镜像升级文件,所述第二内存空间为所述基板管理控制器中划分的与所述内存映射空间的空间大小相同的内存空间。
基于处理器与基板管理控制器之间的PCIe通道,将基板管理控制器的镜像升级文件发送至所述基板管理控制器,具体实现过程为:
对于处理器,首先获取基板管理控制器的内存映射空间。内存映射空间为基板管理控制器中用于与处理器进行内存交换的内存空间。基板管理控制器作为处理器的从设备,在处理器与基板管理控制器进行内存空间交换的过程中,会明确在基板管理控制器中具体划分哪一部分内存空间,用于与处理器的进行内存交换过程。其中,内存映射空间确定了一次内存交换时,可以交换的内存空间大小。
可选的,基板管理控制器的内存映射空间可以基于处理器读取基板管理控制器的基地址寄存器获取。基板管理控制器的BAR(Base Address Registers,基地址寄存器)空间中存储了基板管理控制器的基本信息。所以,基于读取基板管理控制器中的BAR空间可以获取基板管理控制器的内存映射空间。
在确定内存映射空间后,在处理器的内存中分配第一内存空间。第一内存空间的空间大小与内存映射空间的空间大小相同。基板管理控制器中划分有第二内存空间,第二内存空间的空间大小与内存映射空间的空间大小相同。其中,处理器的第一内存空间与基板管理控制器的第二内存空间可以实现内存交换。
基于第一内存空间的大小,将用于基板管理控制器升级的镜像升级文件进行拆分,得到多个拆分片段数据。其中,用于基板管理控制器升级的镜像升级文件可以从处理器的存储空间中获取。
将得到的拆分片段数据依次发送至处理器的第一内存空间,并将第一内存空间的拆分片段数据基于处理器与基板管理控制器之间的PCIe通道,发送至基板管理控制器的第二内存空间。
基板管理控制器的第二内存空间接收多个拆分片段数据后,对多个拆分片段数据进行组合,得到基板管理控制器的镜像升级文件。
本发明实施例提供的BMC升级方法,通过在处理器中划分第一内存空间以及在基板管理控制器划分第二内存空间。其中,第一内存空间与第二内存空间中可以实现内存交换。对镜像升级文件进行拆分后,将得到的拆分片段数据依次发送至处理器的第一内存空间,并将第一内存空间的拆分片段数据基于处理器与基板管理控制器之间的PCIe通道,发送至基板管理控制器的第二内存空间,实现了镜像升级文件的高效传输过程。
在一个实施例中,将所述多个拆分片段数据依次发送至所述第一内存空间之前,还包括:将所述第一内存空间的起始地址以及所述第一内存空间的空间大小,配置至所述基板管理控制器的基地址寄存器中,以实现所述第一内存空间与所述第二内存空间之间的内存交换,所述基板管理控制器的基地址寄存器已存储有所述第二内存空间的起始地址以及所述第二内存空间的空间大小。
在处理器中划分第一内存空间以及在基板管理控制器划分第二内存空间之后,需要进行相关配置,使得第一内存空间与第二内存空间可以实现内存交换。
将第一内存空间的起始地址以及第一内存空间的空间大小,配置在基板管理控制器基地址寄存器中。其中,基板管理控制器的BAR空间中存储了基板管理控制器的基本信息。并且,基地址寄存器中已存储有所述第二内存空间的起始地址以及所述第二内存空间的空间大小。在配置完成后,可以实现第一内存空间与第二内存空间的内存交换过程。
可选的,对于处理器端,具体配置过程可以如图3本发明提供的处理器配置流程示意图所示,具体配置过程包括如下步骤:
步骤310,基于PCIe扫描,确定与其连接的待升级的基板管理控制器;
步骤320,读取基板管理控制器的基地址寄存器,从基地址寄存器中确定基板管理控制器的内存映射空间;
步骤330,在处理器的内存中分配第一内存空间,第一内存空间的空间大小与所述内存映射空间的空间大小相同;
步骤340,将第一内存空间的起始地址以及第一内存空间的空间大小,配置至基板管理控制器的基地址寄存器中。
对于基板管理控制器端,具体的配置过程可以如图4本发明提供的基板管理控制器配置流程示意图所示,具体配置过程包括如下步骤:
步骤410,在基板管理控制器的内存空间中,划分的与内存映射空间的空间大小相同的内存空间作为第二内存空间;
步骤420,将第二内存空间的起始地址以及第二内存空间的空间大小,配置至基板管理控制器的基地址寄存器中。
本发明实施例提供的BMC升级方法,通过将第一内存空间的起始地址以及第一内存空间的空间大小,配置在基板管理控制器的基地址寄存器中,实现第一内存空间与第二内存空间的内存交换过程,为实现处理器与基板管理控制器之间数据的传输提供了基础。
在一个实施例中,获取所述基板管理控制器的内存映射空间,包括:读取所述基板管理控制器的基地址寄存器,从所述基地址寄存器中确定所述基板管理控制器的内存映射空间。
PCIe设备的基地址寄存器BAR是一种用于在计算机硬件中寻址设备的机制。PCIe设备需要一定的地址空间来访问主机内存和其他设备,这些地址空间被组成一个或多个BAR寄存器,每个BAR寄存器通常包含一个基地址和一些控制位。PCIe设备可以使用BAR空间来访问主机内存、I/O端口和其他设备的寄存器等资源。在PCIe总线上,BAR空间一般用于描述一个设备所需要的地址空间大小和起始位置,即用于描述设备的寻址方式。
基板管理控制器的BAR空间中存储了基板管理控制器的基本信息。所以,可以基于读取基板管理控制器中的BAR空间,从中获取基板管理控制器的内存映射空间。
本发明实施例提供的BMC升级方法,通过从基板管理控制器的基地址寄存器中获取基板管理控制器的内存映射空间,为后续实现对处理器的第一内存空间与基板管理控制器的第二内存空间之间的内存交换提供了基础。
在一个实施例中,将所述第一内存空间中的拆分片段数据基于所述PCIe通道发送至所述基板管理控制器的第二内存空间之后,还包括:将所述拆分片段数据的发送通知消息基于所述LPC通道发送至所述基板管理控制器,以供所述基板管理控制器接收所述发送通知消息后,对所述拆分片段数据进行校验。
在将第一内存空间中的拆分片段数据基于PCIe通道发送至基板管理控制器的第二内存空间的之后,还包括对拆分片段数据的校验过程。
在处理器发送拆分片段数据至基板管理控制器之后,将拆分片段数据的发送通知消息基于LPC通道发送至基板管理控制器。其中,在基板管理控制器接收发送通知消息后,对接收的拆分片段数据进行校验。
可以理解的是,LPC通道为处理器与基板管理控制器之间进行消息交互的通道。处理器基于PCIe通道发送拆分片段数据后,需要确定基板管理控制器是否接收到完整无误的拆分片段数据。所以,处理器发送用于提示基板管理控制器进行数据校验的发送通知信息,实现对该条拆分片段数据的校验过程。
由于基板管理控制器的镜像升级文件中包含多个拆分片段数据,所以,在每个拆分片段数据发送至基板管理控制器后,均发送该条数据的发送通知消息至基板管理控制器,以使基板管理控制器对该条数据进行校验,从而最终实现对镜像升级文件中每条拆分片段数据的校验过程。
本发明实施例提供的BMC升级方法,通过处理器发送拆分片段数据至基板管理控制器之后,将拆分片段数据的发送通知消息基于LPC通道发送至基板管理控制器,用于对该条拆分片段数据的校验过程,提升了处理器与基板管理控制器之间数据传输的准确性。
在一个实施例中,将所述拆分片段数据的发送通知消息基于所述LPC通道发送至所述基板管理控制器之后,还包括:接收所述基板管理控制器针对所述拆分片段数据的校验通过消息,并基于所述校验通过消息,发送下一条拆分片段数据。
在基板管理控制器对拆分片段数据进行校验后,若校验通过,则基板管理控制器会发送针对拆分片段数据的校验通过消息。处理器接收基板管理控制器的校验通过消息,并基于接收的校验通过消息,发送下一条拆分片段数据。
在每一条拆分片段数据发送的过程中,均执行校验过程,并在校验通过后,再继续发送下一条拆分片段数据,确保了基板管理控制接收的每一条拆分片段数据的准确性。
本发明实施例提供的BMC升级方法,通过接收基板管理控制器针对拆分片段数据的校验通过消息,再继续发送下一条拆分片段数据,确保了基板管理控制接收的每一条拆分片段数据的准确性。
在一个实施例中,将所述拆分片段数据的发送通知消息基于所述LPC通道发送至所述基板管理控制器之后,还包括:在没有接收到所述基板管理控制器针对所述拆分片段数据的校验通过消息的情况下,重新将所述第一内存空间中的拆分片段数据基于所述PCIe通道发送至所述基板管理控制器的第二内存空间。
在将第一内存空间中的拆分片段数据基于PCIe通道发送至基板管理控制器的第二内存空间之后,将拆分片段数据的发送通知消息基于LPC通道发送至基板管理控制器。
若处理器没有接收到基板管理控制器针对拆分片段数据的校验通过消息,则可能是拆分片段数据发送至基板管理控制器的第二内存空间的过程中发送失败,或者是拆分片段数据在基板管理控制器中校验不通过。所以,需要重新将第一内存空间中的拆分片段数据基于PCIe通道发送至基板管理控制器的第二内存空间,以确保拆分片段数据可以准确无误的发送至基板管理控制器的第二内存空间。
本发明实施例提供的BMC升级方法,通过在没有接收到基板管理控制器针对拆分片段数据的校验通过消息的情况下,重新将第一内存空间中的拆分片段数据基于PCIe通道发送至基板管理控制器的第二内存空间,再次发送后还会将拆分片段的发送通知消息基于LPC通道发送至基板管理控制器,直到接收到基板管理控制器针对拆分片段数据的校验通过消息,以确保拆分片段数据可以准确无误的发送至基板管理控制器的第二内存空间。
在一个实施例中,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器之后,还包括:在确认所述基板管理控制器接收到完整的镜像升级文件后,生成生效消息;基于LPC通道发送所述生效消息至所述基板管理控制器,以供所述基板管理控制器执行重启操作。
在处理器将基板管理控制器的镜像升级文件发送至基板管理控制器之后,对基板管理控制器接收到的完整的镜像升级文件进行确认。在确认基板管理控制器接收到完整的镜像升级文件后,生成生效消息。
处理器基于LPC通道将生效消息发送至基板管理控制器。其中,生效消息是用于执行重启操作,从而使得基板管理控制器在接收生效消息后,执行重启操作。
可以理解的是,在基板管理控制器接收到完整的镜像升级文件后,并执行重启操作之后,可以实现基板管理控制器基于镜像升级文件,实现镜像启动,从而实现对基板管理控制器的升级过程。
本发明实施例提供的BMC升级方法,通过在基板管理控制器接收到完整的镜像升级文件后,并执行重启操作,为实现基板管理控制器的升级提供了基础。
在一个实施例中,基于处理器与基板管理控制器之间的低引脚数LPC通道,发送升级执行消息至所述基板管理控制器之前,还包括:基于PCIe扫描,确定与所述处理器连接的待升级的所述基板管理控制器。
基于LPC通道,发送升级执行消息至基板管理控制器之前,需要先识别需要升级的基板管理控制器。
PCIe扫描是一种用于检测系统中PCIe总线上的设备的技术。它可以通过向PCIe总线发送特定的控制命令来识别和确认PCIe设备。PCIe扫描可以帮助用户快速确定系统上连接的PCIe设备的类型、数量和状态,以便于系统管理和维护。PCIe扫描技术通常用于诊断和解决计算机系统中的硬件问题。
处理器基于PCIe扫描,确定与之连接的PCIe设备。在扫描到各PCIe设备后,确定需要执行升级操作的基板管理控制器。
本发明实施例提供的BMC升级方法,通过PCIe扫描,实现了与处理器连接的待升级的基板管理控制器的确定。
图5为本发明实施例提供的BMC升级方法的流程示意图之二,参照图5,本发明实施例提供的BMC升级方法包括以下步骤:
步骤510,基于处理器与基板管理控制器之间的低引脚数LPC通道,接收所述处理器的升级执行消息;
步骤520,将针对所述升级执行消息的升级确认消息发送至所述处理器,以供所述处理器基于所述处理器与所述基板管理控制器之间的高速串行计算机扩展总线标准PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器;
步骤530,接收所述镜像升级文件,并基于所述镜像升级文件执行升级操作。
本发明实施例中的基板管理控制器是一种集成电路,它主要负责基板(服务器主板或嵌入式设备主板)的管理和控制。基板管理控制器通常是通过I2C、SPI或SMbus等总线与处理器连接的,主要功能包括:监控基板各种传感器的数据,如温度、电压、风扇速度等,以确保基板的正常运行和避免过热、过压等问题。支持虚拟控制台和远程控制台协议,以便管理员可以通过网络连接到基板管理控制器进行远程管理和监控。支持KVM-over-IP功能,以便管理员可以通过网络访问基板上的图形界面和键盘鼠标,类似于物理连接。支持远程开关机、重启、BIOS设置等基板控制功能。提供基于IPMI或Redfish等管理协议的接口,以便管理员可以使用标准化的命令和API进行管理。基板管理控制器是一种重要的基础设施管理工具,可以提高服务器或嵌入式设备的可靠性和安全性,并降低管理成本。
本发明实施例提供的BMC升级方法的执行主体可以是基板管理控制器,下面以基板管理控制器执行本发明实施例提供的BMC升级方法为例,详细说明本发明的技术方案。
具体的,在步骤510中,基于处理器与基板管理控制器之间的LPC通道,接收处理器的升级执行消息。
LPC通道是基于LPC(Low Pin Count,低引脚数)总线的通道,是一种低速的外设连接通道,被用于连接低性能、低速度的外设,具有低成本、低功耗的优点。基于处理器与基板管理控制器之间的LPC通道可以实现处理器与基板管理控制器之间消息以及数据的传输。
在需要对基板管理控制器进行升级时,基板管理控制器基于处理器与基板管理控制器之间的LPC通道,接收处理器发送的升级执行消息。其中,升级执行消息为处理器发送至基板管理控制器的用于升级准备的命令。基板管理控制器接收升级执行消息后,进行升级准备工作。
可以理解的是,LPC通道一般被用于连接一些低性能、低速度的外设,这些设备通常需要较少的带宽和处理性能,因此使用LPC通道可以实现低成本、低功耗的设计。但LPC通道的缺点是无法支持高带宽、高速度的数据传输,因此不适合连接一些需要高速数据传输的设备。但是,可以基于LPC通道对于消息的传输,由于消息数据量小,基于LPC通道传输处理器与基板管理控制器之间的消息,可以实现在不影响消息传输速率的情况下,实现消息的低成本、低功耗传输。
在步骤520中,在基板管理控制器接收升级执行消息后,生成针对升级执行消息的升级确认消息,并将升级确认消息发送至处理器。处理器接收基板管理控制器的升级确认消息,并基于处理器与基板管理控制器之间的PCIe通道,将基板管理控制器的镜像升级文件发送至基板管理控制器。
升级确认消息是基板管理控制器针对升级执行消息的答复消息,表示基板管理控制器已准备执行升级操作。在处理器接收基板管理控制器发送的升级确认消息之后,处理器可以基于接收的升级确认消息执行后续升级操作。
在处理器接收基板管理控制器的升级确认消息后,基于处理器与基板管理控制器之间的PCIe通道,将基板管理控制器的镜像升级文件发送至基板管理控制器。其中,基板管理控制器的镜像升级文件用于基板管理控制器的升级。基板管理控制器在接收处理器发送的镜像升级文件后,执行升级操作。
相关方法中,对于基板管理控制器的升级,基于LPC通道实现升级过程中消息以及数据的传输。而LPC通道的缺点是无法支持高带宽、高速度的数据传输。
但随着硬件形态的多样化,业务需要多样化,基板管理控制器支持的特性也原来越多,随之带来的是基板管理控制器的升级镜像文件大小急剧增加,再加上Linux成为主流操作系统,基板管理控制器镜像升级文件的大小,也从单片机时代的几个MB的量级,进入到几十MB的量级。单个基板管理控制器升级时间大大增加,在一个存储框中,至少有2个基板管理控制器需要升级。若基于LPC通道实现镜像升级文件的传输,传输速度慢,传输速率低。
而基板管理控制器芯片都支持PCIe2.0 X1,至少可以支持PCIe End设备。基板管理控制器芯片网口大部分只有2路,且最大速率1Gbps。并且,PCIe2.0每一条Lane的传输效率为:5×8/10=4 Gbps=500 MB/s。对比普通网络的传输速率:1000mbps/8=120MB/s。所以,PCIe硬件的传输效率约为普通网络的5倍。
对于网络协议效率层面,标准以太网报文数据域最大支持1500字节,传输基板管理控制器的镜像升级文件需要拆分为很多包。而且处理器下发的网络报文要经过TCP/IP协议栈处理后,才能给基板管理控制器使用,软件路径长。
对于PCIe协议效率层面,PCIe采用内存DMA(Direct Memory Access,直接内存访问)方式,理论上一次拷贝数据可以很多。而且处理器将基板管理控制器的镜像升级文件拷贝到基板管理控制器的内存后,基板管理控制器可以直接读取,不需要其他的软件协议栈处理。
所以,可以基于基板管理控制器与处理器之间的PCIe通道传输基板管理控制器的镜像升级文件。并且,基于的PCIe通道传输基板管理控制器的镜像升级文件,可以极大提升镜像升级文件的传输效率。
可以理解的是,镜像升级文件的数据量大,若直接基于LPC通道进行传输,会导致传输效率低下,从而影响升级效率,导致基板管理控制器的升级时间过长。PCIe通道的数据传输速率高,基于PCIe通道传输基板管理控制器的镜像升级文件,可以提升镜像升级文件的传输速率,进而减小镜像升级文件由处理器传输至基板管理控制器的传输时间,从而最终减小基板管理控制器的升级时间。
在步骤530中,基板管理控制器接收处理器发送的镜像升级文件,并基于接收的镜像升级文件执行升级操作。
在基板管理控制器升级的过程中,基于处理器与基板管理控制器之间的LPC通道,实现处理器与基板管理控制器之间消息的交互。基于处理器与基板管理控制器之间的PCIe通道,实现用于升级的镜像升级文件的传输。由于消息数据量小,基于LPC通道传输处理器与基板管理控制器之间的消息,可以实现在不影响消息传输速率的情况下,实现消息的低成本、低功耗传输。基于LPC通道与PCIe通道相结合的方式,相互配合共同完成基板管理控制器升级,既提升了升级效率,也合理利用基板管理控制器的硬件资源。
本发明实施例提供的BMC升级方法,通过在基板管理控制器进行升级时,基于处理器与基板管理控制器之间的LPC通道,传输基板管理控制器与处理器之间的消息,实现了处理器与基板管理控制器之间交互消息的传输。基于处理器与基板管理控制器之间的PCIe通道,传输基板管理控制器与处理器之间交互的数据文件,利用了PCIe通道的数据传输速率高的特点,提升了数据传输效率。基于LPC通道与PCIe通道相结合的方式,相互配合共同完成BMC升级,既提升了升级效率,降低了基板管理控制器的升级时间,也合理利用基板管理控制器的硬件资源。
在一个实施例中,接收所述镜像升级文件,包括:基于所述基板管理控制器处理器的第二内存空间依次接收所述镜像升级文件的多个拆分片段数据,所述第二内存空间为所述基板管理控制器中划分的与内存映射空间的空间大小相同的内存空间,所述内存映射空间为所述基板管理控制器中用于与所述处理器进行内存交换的内存空间,所述多个拆分片段数据是所述处理器基于第一内存空间的大小,对所述基板管理控制器的镜像升级文件进行拆分得到的,所述第一内存空间是所述处理器在所述处理器的内存中分配的与所述内存映射空间的空间大小相同的内存空间;将所述多个拆分片段数据进行组合,得到所述镜像升级文件。
在基板管理控制器接收处理器发送的镜像升级文件,具体实现过程为:
对于处理器,首先获取基板管理控制器的内存映射空间。内存映射空间为基板管理控制器中用于与处理器进行内存交换的内存空间。基板管理控制器作为处理器的从设备,在处理器与基板管理控制器进行内存空间交换的过程中,会明确在基板管理控制器中具体划分哪一部分内存空间,用于与处理器的进行内存交换过程。其中,内存映射空间确定了一次内存交换时,可以交换的内存空间大小。
可选的,基板管理控制器的内存映射空间可以基于处理器读取基板管理控制器的基地址寄存器获取。基板管理控制器的BAR(Base Address Registers,基地址寄存器)空间中存储了基板管理控制器的基本信息。所以,基于读取基板管理控制器中的BAR空间可以获取基板管理控制器的内存映射空间。
在确定内存映射空间后,在基板管理控制器的内存中划分第二内存空间,第二内存空间的空间大小与内存映射空间的空间大小相同。处理器的内存中划分有第一内存空间。第一内存空间的空间大小与内存映射空间的空间大小相同。其中,处理器的第一内存空间与基板管理控制器的第二内存空间可以实现内存交换。
处理器基于第一内存空间的大小,将用于基板管理控制器升级的镜像升级文件进行拆分,得到多个拆分片段数据。其中,用于基板管理控制器升级的镜像升级文件可以从处理器的存储空间中获取。
处理器将得到的拆分片段数据依次发送至处理器的第一内存空间,并将第一内存空间的拆分片段数据基于处理器与基板管理控制器之间的PCIe通道,发送至基板管理控制器的第二内存空间。
基板管理控制器的第二内存空间依次接收多个拆分片段数据后,对多个拆分片段数据进行组合,得到基板管理控制器的镜像升级文件。
本发明实施例提供的BMC升级方法,通过在处理器中划分第一内存空间以及在基板管理控制器划分第二内存空间。其中,第一内存空间与第二内存空间中可以实现内存交换。对镜像升级文件进行拆分后,将得到的拆分片段数据依次发送至处理器的第一内存空间,并将第一内存空间的拆分片段数据基于处理器与基板管理控制器之间的PCIe通道,发送至基板管理控制器的第二内存空间,实现了镜像升级文件的高效传输过程。
在一个实施例中,基于所述基板管理控制器的第二内存空间依次接收所述镜像升级文件的多个拆分片段数据之前,还包括:将所述第二内存空间的起始地址以及所述第二内存空间的空间大小,配置至所述基板管理控制器的基地址寄存器中,以实现所述第二内存空间与所述第一内存空间之间的内存交换,所述基板管理控制器的基地址寄存器已存储有所述第一内存空间的起始地址以及所述第一内存空间的空间大小
在处理器中划分第一内存空间以及在基板管理控制器划分第二内存空间之后,需要进行相关配置,使得第一内存空间与第二内存空间可以实现内存交换。
将第二内存空间的起始地址以及第二内存空间的空间大小,配置在基板管理控制器基地址寄存器中。其中,基板管理控制器的BAR空间中存储了基板管理控制器的基本信息。并且,基地址寄存器中已存储有所述第一内存空间的起始地址以及第一内存空间的空间大小。在配置完成后,可以实现第一内存空间与第二内存空间的内存交换过程。
本发明实施例提供的BMC升级方法,通过将第二内存空间的起始地址以及第二内存空间的空间大小,配置在基板管理控制器的基地址寄存器中,实现第一内存空间与第二内存空间的内存交换过程,为实现处理器与基板管理控制器之间数据的传输提供了基础。
在一个实施例中,基于所述基板管理控制器的第二内存空间依次接收所述镜像升级文件的多个拆分片段数据之后,还包括:基于所述LPC通道接收所述拆分片段数据的发送通知消息,并基于所述发送通知消息,对所述拆分片段数据进行校验。
在基于基板管理控制器的第二内存空间依次接收镜像升级文件的多个拆分片段数据之后,还包括对拆分片段数据的校验过程。
在基于基板管理控制器的第二内存空间接收拆分片段数据之后,处理器将拆分片段数据的发送通知消息基于LPC通道发送至基板管理控制器。
在基板管理控制器接收发送通知消息后,对接收的拆分片段数据进行校验。
可以理解的是,LPC通道为处理器与基板管理控制器之间进行消息交互的通道。处理器基于PCIe通道发送拆分片段数据后,需要确定基板管理控制器是否接收到完整无误的拆分片段数据。所以,处理器发送用于提示基板管理控制器进行数据校验的发送通知信息,实现对该条拆分片段数据的校验过程。
由于基板管理控制器的镜像升级文件中包含多个拆分片段数据,所以,在每个拆分片段数据发送至基板管理控制器后,均发送该条数据的发送通知消息至基板管理控制器,以使基板管理控制器对该条数据进行校验,从而最终实现对镜像升级文件中每条拆分片段数据的校验过程。
本发明实施例提供的BMC升级方法,通过处理器发送拆分片段数据至基板管理控制器之后,将拆分片段数据的发送通知消息基于LPC通道发送至基板管理控制器,用于对该条拆分片段数据的校验过程,提升了处理器与基板管理控制器之间数据传输的准确性。
在一个实施例中,对所述拆分片段数据进行校验之后,还包括:在所述拆分片段数据校验通过的情况下,基于所述LPC通道发送所述拆分片段数据的校验通过消息至所述处理器,以供所述处理器发送下一条拆分片段数据。
在基板管理控制器对拆分片段数据进行校验后,若校验通过,则基板管理控制器会通过LPC通道发送针对拆分片段数据的校验通过消息至处理器。处理器接收基板管理控制器的校验通过消息,并基于接收的校验通过消息,发送下一条拆分片段数据。
在每一条拆分片段数据发送的过程中,均执行校验过程,并在校验通过后,再继续发送下一条拆分片段数据,确保了基板管理控制接收的每一条拆分片段数据的准确性。
本发明实施例提供的BMC升级方法,通过基板管理控制器在拆分片段数据校验通过后,发送针对拆分片段数据的校验通过消息,使得处理器再继续发送下一条拆分片段数据,确保了基板管理控制接收的每一条拆分片段数据的准确性。
在一个实施例中,对所述拆分片段数据进行校验之后,还包括:在所述拆分片段数据校验不通过的情况下,基于LPC通道发送校验失败消息至所述处理器,以供所述处理器基于所述PCIe通道,重新发送所述拆分片段数据至所述基板管理控制器的第二内存空间。
若基板管理控制器对拆分片段数据进行校验,校验结果为校验不通过的情况,则可能是在数据传输的过程中发生了改变。所以,需要处理器重新将第一内存空间中的拆分片段数据基于PCIe通道发送至基板管理控制器的第二内存空间,以确保拆分片段数据可以准确无误的发送至基板管理控制器的第二内存空间。
在校验不通过的情况下,基于LPC通道发送校验失败消息至处理器,处理器接收后,重新发送拆分片段数据至基板管理控制器的第二内存空间。
本发明实施例提供的BMC升级方法,通过在基板管理控制器对拆分片段数据校验不通过的情况下,基于LPC通道发送校验失败消息至处理器,处理器接收后,重新发送拆分片段数据至基板管理控制器的第二内存空间,以确保拆分片段数据可以准确无误的发送至基板管理控制器的第二内存空间。
在一个实施例中,对所述拆分片段数据进行校验,包括:基于消息摘要算法,对所述拆分片段数据进行校验,确定所述拆分片段数据完整。
在基板管理控制器对拆分片段数据进行校验的过程中,可以基于消息摘要算法执行校验过程。
消息摘要算法是把任意长度的输入揉和而产生长度固定的伪随机输出的算法。无论输入的消息有多长,计算出来的消息摘要的长度总是固定的。例如应用MD5算法摘要的消息有128个比特位,用SHA-1算法摘要的消息最终有160比特位的输出,SHA-1的变体可以产生192比特位和256比特位的消息摘要。一般认为,摘要的最终输出越长,该摘要算法就越安全。
可选地,消息摘要算法可以为MD5算法、SHA-1算法、SHA-224算法、SHA-256算法或者SHA-384算法等。
可以理解的是,在处理器发送拆分片段数据之前,计算拆分片段数据的消息摘要,在基板管理控制器接收拆分片段数据之后,计算接收的拆分片段数据的消息摘要。基于将发送前与接收后的消息摘要进行比对,可以确定基板管理控制器接收的拆分片段数据是否完整。
本发明实施例提供的BMC升级方法,通过消息摘要算法,对拆分片段数据进行校验,实现了对拆分片段数据的校验过程。
在一个实施例中,基于所述镜像升级文件执行升级操作,包括:基于LPC通道接收所述处理器的生效消息,所述生效消息为所述处理器基于确认所述基板管理控制器接收到完整的镜像升级文件生成的;基于所述生效消息,执行重启操作,以供所述基板管理控制器基于所述镜像升级文件执行升级操作。
在处理器将基板管理控制器的镜像升级文件发送至基板管理控制器之后,对基板管理控制器接收到的完整的镜像升级文件进行确认。在确认基板管理控制器接收到完整的镜像升级文件后,生成生效消息。
基板管理控制器基于LPC通道,接收处理器发送的生效消息。其中,生效消息是用于执行重启操作,从而使得基板管理控制器在接收生效消息后,执行重启操作。
可以理解的是,在基板管理控制器接收到完整的镜像升级文件后,并执行重启操作之后,可以实现基板管理控制器基于镜像升级文件,实现镜像启动,从而实现对基板管理控制器的升级过程。
本发明实施例提供的BMC升级方法,通过在基板管理控制器接收到完整的镜像升级文件后,并执行重启操作,为实现基板管理控制器的升级提供了基础。
下面以一应用本发明实施例提供的BMC升级方法的流程示意图图6为例,说明本发明实施例提供的技术方案:
步骤610,在处理器以及基板管理控制器完成基本配置。获取基板管理控制器中用于与处理器进行内存交换的内存空间。基于内存映射空间的大小,在处理器中划分第一内存空间,并在基板管理控制器中划分第二内存空间。将第一内存空间的起始地址以及第一内存空间的空间大小,配置在基板管理控制器基地址寄存器中。在基地址寄存器中配置第二内存空间的起始地址以及所述第二内存空间的空间大小。在配置完成后,可以实现第一内存空间与第二内存空间的内存交换过程。
步骤620,处理器的SMS(System Manage Software,系统管理软件)通过LPC通道发送升级执行消息给基板管理控制器,如果基板管理控制器回复升级确认消息,则开始下一步,否则,退出升级流程。
步骤630,将基板管理控制器镜像升级文件按照第一内存空间的大小拆分为M帧拆分片段数据,将每一帧拆分片段数据先拷贝到第一内存空间,然后再通过PCIe通道发送至基板管理控制器的第二内存空间。
步骤640,处理器的SMS通过LPC通道将发送通知消息发送至基板管理控制器,用于确定第N帧数据已经发送到基板管理控制器。
步骤650,基板管理控制器从第二内存空间处,读取数据,然后进行校验过程,并通过LPC通道返回校验结果消息,即:基板管理控制器是否成功接收第N帧数据。
步骤660,SMS解析基板管理控制器返回的校验结果消息,确定基板管理控制器是否成功接收第N帧,选择重发第N帧或者发送第N+1帧。
步骤670,SMS重复步骤630至步骤640,并检查是否将整个基板管理控制器的镜像升级文件发送完成。
步骤680,基板管理控制器接收到完整的镜像升级文件后,开始写Flash,完成升级。
步骤690,SMS退出升级流程,发送生效消息至基板管理控制器,完成基板管理控制器的镜像启动。
图7为本发明实施例提供的BMC升级装置的结构示意图之一。参照图7,本发明实施例提供的BMC升级装置包括:
消息交互模块710,用于基于处理器与基板管理控制器之间的低引脚数LPC通道,发送升级执行消息至所述基板管理控制器;
数据传输模块720,用于接收所述基板管理控制器针对所述升级执行消息的升级确认消息,并基于所述处理器与所述基板管理控制器之间的PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器,以供所述基板管理控制器在接收所述镜像升级文件后,执行升级操作。
本发明实施例提供的BMC升级装置,通过在基板管理控制器进行升级时,基于处理器与基板管理控制器之间的LPC通道,传输基板管理控制器与处理器之间的消息,实现了处理器与基板管理控制器之间交互消息的传输。基于处理器与基板管理控制器之间的PCIe通道,传输基板管理控制器与处理器之间交互的数据文件,利用了PCIe通道的数据传输速率高的特点,提升了数据传输效率。基于LPC通道与PCIe通道相结合的方式,相互配合共同完成BMC升级,既提升了升级效率,降低了基板管理控制器的升级时间,也合理利用基板管理控制器的硬件资源。
在一个实施例中,数据传输模块720具体用于:
基于所述处理器与所述基板管理控制器之间的PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器,包括:
获取所述基板管理控制器的内存映射空间,所述内存映射空间为所述基板管理控制器中用于与所述处理器进行内存交换的内存空间;
在所述处理器的内存中分配第一内存空间,所述第一内存空间的空间大小与所述内存映射空间的空间大小相同;
基于所述第一内存空间的大小,对所述基板管理控制器的镜像升级文件进行拆分,得到多个拆分片段数据;
将所述多个拆分片段数据依次发送至所述第一内存空间,并将所述第一内存空间中的拆分片段数据基于所述PCIe通道发送至所述基板管理控制器的第二内存空间,以供所述基板管理控制器基于所述第二内存空间接收所述多个拆分片段数据后,将所述多个拆分片段数据进行组合,得到所述镜像升级文件,所述第二内存空间为所述基板管理控制器中划分的与所述内存映射空间的空间大小相同的内存空间。
在一个实施例中,数据传输模块720还具体用于:
将所述多个拆分片段数据依次发送至所述第一内存空间之前,还包括:
将所述第一内存空间的起始地址以及所述第一内存空间的空间大小,配置至所述基板管理控制器的基地址寄存器中,以实现所述第一内存空间与所述第二内存空间之间的内存交换,所述基板管理控制器的基地址寄存器已存储有所述第二内存空间的起始地址以及所述第二内存空间的空间大小。
在一个实施例中,数据传输模块720还具体用于:
获取所述基板管理控制器的内存映射空间,包括:
读取所述基板管理控制器的基地址寄存器,从所述基地址寄存器中确定所述基板管理控制器的内存映射空间。
在一个实施例中,数据传输模块720还具体用于:
将所述第一内存空间中的拆分片段数据基于所述PCIe通道发送至所述基板管理控制器的第二内存空间之后,还包括:
将所述拆分片段数据的发送通知消息基于所述LPC通道发送至所述基板管理控制器,以供所述基板管理控制器接收所述发送通知消息后,对所述拆分片段数据进行校验。
在一个实施例中,数据传输模块720还具体用于:
将所述拆分片段数据的发送通知消息基于所述LPC通道发送至所述基板管理控制器之后,还包括:
接收所述基板管理控制器针对所述拆分片段数据的校验通过消息,并基于所述校验通过消息,发送下一条拆分片段数据。
在一个实施例中,数据传输模块720还具体用于:
将所述拆分片段数据的发送通知消息基于所述LPC通道发送至所述基板管理控制器之后,还包括:
在没有接收到所述基板管理控制器针对所述拆分片段数据的校验通过消息的情况下,重新将所述第一内存空间中的拆分片段数据基于所述PCIe通道发送至所述基板管理控制器的第二内存空间。
在一个实施例中,数据传输模块720还具体用于:
将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器之后,还包括:
在确认所述基板管理控制器接收到完整的镜像升级文件后,生成生效消息;
基于LPC通道发送所述生效消息至所述基板管理控制器,以供所述基板管理控制器执行重启操作。
在一个实施例中,消息交互模块710具体用于:
基于处理器与基板管理控制器之间的低引脚数LPC通道,发送升级执行消息至所述基板管理控制器之前,还包括:
基于PCIe扫描,确定与所述处理器连接的待升级的所述基板管理控制器。
图8为本发明实施例提供的BMC升级装置的结构示意图之二。参照图8,本发明实施例提供的BMC升级装置包括:
消息接收模块810,用于基于处理器与基板管理控制器之间的LPC通道,接收所述处理器的升级执行消息;
消息发送模块820,用于将针对所述升级执行消息的升级确认消息发送至所述处理器,以供所述处理器基于所述处理器与所述基板管理控制器之间的PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器;
升级模块830,用于接收所述镜像升级文件,并基于所述镜像升级文件执行升级操作。
本发明实施例提供的BMC升级装置,通过在基板管理控制器进行升级时,基于处理器与基板管理控制器之间的LPC通道,传输基板管理控制器与处理器之间的消息,实现了处理器与基板管理控制器之间交互消息的传输。基于处理器与基板管理控制器之间的PCIe通道,传输基板管理控制器与处理器之间交互的数据文件,利用了PCIe通道的数据传输速率高的特点,提升了数据传输效率。基于LPC通道与PCIe通道相结合的方式,相互配合共同完成BMC升级,既提升了升级效率,降低了基板管理控制器的升级时间,也合理利用基板管理控制器的硬件资源。
在一个实施例中,升级模块830具体用于:
接收所述镜像升级文件,包括:
基于所述基板管理控制器的第二内存空间依次接收所述镜像升级文件的多个拆分片段数据,所述第二内存空间为所述基板管理控制器中划分的与内存映射空间的空间大小相同的内存空间,所述内存映射空间为所述基板管理控制器中用于与所述处理器进行内存交换的内存空间,所述多个拆分片段数据是所述处理器基于第一内存空间的大小,对所述基板管理控制器的镜像升级文件进行拆分得到的,所述第一内存空间是所述处理器在所述处理器的内存中分配的与所述内存映射空间的空间大小相同的内存空间;
将所述多个拆分片段数据进行组合,得到所述镜像升级文件。
在一个实施例中,升级模块830还具体用于:
基于所述基板管理控制器的第二内存空间依次接收所述镜像升级文件的多个拆分片段数据之前,还包括:
将所述第二内存空间的起始地址以及所述第二内存空间的空间大小,配置至所述基板管理控制器的基地址寄存器中,以实现所述第二内存空间与所述第一内存空间之间的内存交换,所述基板管理控制器的基地址寄存器已存储有所述第一内存空间的起始地址以及所述第一内存空间的空间大小。
在一个实施例中,升级模块830还具体用于:
基于所述基板管理控制器的第二内存空间依次接收所述镜像升级文件的多个拆分片段数据之后,还包括:
基于所述LPC通道接收所述拆分片段数据的发送通知消息,并基于所述发送通知消息,对所述拆分片段数据进行校验。
在一个实施例中,升级模块830还具体用于:
对所述拆分片段数据进行校验之后,还包括:
在所述拆分片段数据校验通过的情况下,基于所述LPC通道发送所述拆分片段数据的校验通过消息至所述处理器,以供所述处理器发送下一条拆分片段数据。
在一个实施例中,升级模块830还具体用于:
对所述拆分片段数据进行校验之后,还包括:
在所述拆分片段数据校验不通过的情况下,基于LPC通道发送校验失败消息至所述处理器,以供所述处理器基于所述PCIe通道,重新发送所述拆分片段数据至所述基板管理控制器的第二内存空间。
在一个实施例中,升级模块830还具体用于:
对所述拆分片段数据进行校验,包括:
基于消息摘要算法,对所述拆分片段数据进行校验,确定所述拆分片段数据完整。
在一个实施例中,升级模块830还具体用于:
基于所述镜像升级文件执行升级操作,包括:
基于LPC通道接收所述处理器的生效消息,所述生效消息为所述处理器基于确认所述基板管理控制器接收到完整的镜像升级文件生成的;
基于所述生效消息,执行重启操作,以供所述基板管理控制器基于所述镜像升级文件执行升级操作。
本发明还提供一种BMC升级系统,包括应用于上述BMC升级装置的处理器,以及应用于上述BMC升级装置的基板管理控制器。
本发明提供的BMC升级系统,通过在基板管理控制器进行升级时,基于处理器与基板管理控制器之间的LPC通道,传输基板管理控制器与处理器之间的消息,实现了处理器与基板管理控制器之间交互消息的传输。基于处理器与基板管理控制器之间的PCIe通道,传输基板管理控制器与处理器之间交互的数据文件,利用了PCIe通道的数据传输速率高的特点,提升了数据传输效率。基于LPC通道与PCIe通道相结合的方式,相互配合共同完成BMC升级,既提升了升级效率,降低了基板管理控制器的升级时间,也合理利用基板管理控制器的硬件资源。
本发明还提供一种电子设备,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(Communication Interface)920、存储器(memory)930和通信总线(bus)940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行BMC升级方法,例如包括:
基于处理器与基板管理控制器之间的低引脚数LPC通道,发送升级执行消息至所述基板管理控制器;
接收所述基板管理控制器针对所述升级执行消息的升级确认消息,并基于所述处理器与所述基板管理控制器之间的高速串行计算机扩展总线标准PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器,以供所述基板管理控制器在接收所述镜像升级文件后,执行升级操作。
此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的BMC升级方法,例如包括:
基于处理器与基板管理控制器之间的低引脚数LPC通道,发送升级执行消息至所述基板管理控制器;
接收所述基板管理控制器针对所述升级执行消息的升级确认消息,并基于所述处理器与所述基板管理控制器之间的高速串行计算机扩展总线标准PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器,以供所述基板管理控制器在接收所述镜像升级文件后,执行升级操作。
又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例提供的BMC升级方法,例如包括:
基于处理器与基板管理控制器之间的低引脚数LPC通道,发送升级执行消息至所述基板管理控制器;
接收所述基板管理控制器针对所述升级执行消息的升级确认消息,并基于所述处理器与所述基板管理控制器之间的高速串行计算机扩展总线标准PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器,以供所述基板管理控制器在接收所述镜像升级文件后,执行升级操作。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (22)

1.一种BMC升级方法,其特征在于,应用于处理器,所述方法包括:
基于处理器与基板管理控制器之间的低引脚数LPC通道,发送升级执行消息至所述基板管理控制器;
接收所述基板管理控制器针对所述升级执行消息的升级确认消息,并基于所述处理器与所述基板管理控制器之间的高速串行计算机扩展总线标准PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器,以供所述基板管理控制器在接收所述镜像升级文件后,执行升级操作。
2.根据权利要求1所述的BMC升级方法,其特征在于,所述基于所述处理器与所述基板管理控制器之间的PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器,包括:
获取所述基板管理控制器的内存映射空间,所述内存映射空间为所述基板管理控制器中用于与所述处理器进行内存交换的内存空间;
在所述处理器的内存中分配第一内存空间,所述第一内存空间的空间大小与所述内存映射空间的空间大小相同;
基于所述第一内存空间的大小,对所述基板管理控制器的镜像升级文件进行拆分,得到多个拆分片段数据;
将所述多个拆分片段数据依次发送至所述第一内存空间,并将所述第一内存空间中的拆分片段数据基于所述PCIe通道发送至所述基板管理控制器的第二内存空间,以供所述基板管理控制器基于所述第二内存空间接收所述多个拆分片段数据后,将所述多个拆分片段数据进行组合,得到所述镜像升级文件,所述第二内存空间为所述基板管理控制器中划分的与所述内存映射空间的空间大小相同的内存空间。
3.根据权利要求2所述的BMC升级方法,其特征在于,所述将所述多个拆分片段数据依次发送至所述第一内存空间之前,还包括:
将所述第一内存空间的起始地址以及所述第一内存空间的空间大小,配置至所述基板管理控制器的基地址寄存器中,以实现所述第一内存空间与所述第二内存空间之间的内存交换,所述基板管理控制器的基地址寄存器已存储有所述第二内存空间的起始地址以及所述第二内存空间的空间大小。
4.根据权利要求2所述的BMC升级方法,其特征在于,所述获取所述基板管理控制器的内存映射空间,包括:
读取所述基板管理控制器的基地址寄存器,从所述基地址寄存器中确定所述基板管理控制器的内存映射空间。
5.根据权利要求2所述的BMC升级方法,其特征在于,所述将所述第一内存空间中的拆分片段数据基于所述PCIe通道发送至所述基板管理控制器的第二内存空间之后,还包括:
将所述拆分片段数据的发送通知消息基于所述LPC通道发送至所述基板管理控制器,以供所述基板管理控制器接收所述发送通知消息后,对所述拆分片段数据进行校验。
6.根据权利要求5所述的BMC升级方法,其特征在于,所述将所述拆分片段数据的发送通知消息基于所述LPC通道发送至所述基板管理控制器之后,还包括:
接收所述基板管理控制器针对所述拆分片段数据的校验通过消息,并基于所述校验通过消息,发送下一条拆分片段数据。
7.根据权利要求5所述的BMC升级方法,其特征在于,所述将所述拆分片段数据的发送通知消息基于所述LPC通道发送至所述基板管理控制器之后,还包括:
在没有接收到所述基板管理控制器针对所述拆分片段数据的校验通过消息的情况下,重新将所述第一内存空间中的拆分片段数据基于所述PCIe通道发送至所述基板管理控制器的第二内存空间。
8.根据权利要求1所述的BMC升级方法,其特征在于,所述将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器之后,还包括:
在确认所述基板管理控制器接收到完整的镜像升级文件后,生成生效消息;
基于LPC通道发送所述生效消息至所述基板管理控制器,以供所述基板管理控制器执行重启操作。
9.根据权利要求1所述的BMC升级方法,其特征在于,所述基于处理器与基板管理控制器之间的低引脚数LPC通道,发送升级执行消息至所述基板管理控制器之前,还包括:
基于PCIe扫描,确定与所述处理器连接的待升级的所述基板管理控制器。
10.一种BMC升级方法,其特征在于,应用于基板管理控制器,所述方法包括:
基于处理器与基板管理控制器之间的低引脚数LPC通道,接收所述处理器的升级执行消息;
将针对所述升级执行消息的升级确认消息发送至所述处理器,以供所述处理器基于所述处理器与所述基板管理控制器之间的高速串行计算机扩展总线标准PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器;
接收所述镜像升级文件,并基于所述镜像升级文件执行升级操作。
11.根据权利要求10所述的BMC升级方法,其特征在于,所述接收所述镜像升级文件,包括:
基于所述基板管理控制器的第二内存空间依次接收所述镜像升级文件的多个拆分片段数据,所述第二内存空间为所述基板管理控制器中划分的与内存映射空间的空间大小相同的内存空间,所述内存映射空间为所述基板管理控制器中用于与所述处理器进行内存交换的内存空间,所述多个拆分片段数据是所述处理器基于第一内存空间的大小,对所述基板管理控制器的镜像升级文件进行拆分得到的,所述第一内存空间是所述处理器在所述处理器的内存中分配的与所述内存映射空间的空间大小相同的内存空间;
将所述多个拆分片段数据进行组合,得到所述镜像升级文件。
12.根据权利要求11所述的BMC升级方法,其特征在于,所述基于所述基板管理控制器的第二内存空间依次接收所述镜像升级文件的多个拆分片段数据之前,还包括:
将所述第二内存空间的起始地址以及所述第二内存空间的空间大小,配置至所述基板管理控制器的基地址寄存器中,以实现所述第二内存空间与所述第一内存空间之间的内存交换,所述基板管理控制器的基地址寄存器已存储有所述第一内存空间的起始地址以及所述第一内存空间的空间大小。
13.根据权利要求11所述的BMC升级方法,其特征在于,所述基于所述基板管理控制器的第二内存空间依次接收所述镜像升级文件的多个拆分片段数据之后,还包括:
基于所述LPC通道接收所述拆分片段数据的发送通知消息,并基于所述发送通知消息,对所述拆分片段数据进行校验。
14.根据权利要求13所述的BMC升级方法,其特征在于,所述对所述拆分片段数据进行校验之后,还包括:
在所述拆分片段数据校验通过的情况下,基于所述LPC通道发送所述拆分片段数据的校验通过消息至所述处理器,以供所述处理器发送下一条拆分片段数据。
15.根据权利要求13所述的BMC升级方法,其特征在于,所述对所述拆分片段数据进行校验之后,还包括:
在所述拆分片段数据校验不通过的情况下,基于LPC通道发送校验失败消息至所述处理器,以供所述处理器基于所述PCIe通道,重新发送所述拆分片段数据至所述基板管理控制器的第二内存空间。
16.根据权利要求13所述的BMC升级方法,其特征在于,所述对所述拆分片段数据进行校验,包括:
基于消息摘要算法,对所述拆分片段数据进行校验,确定所述拆分片段数据完整。
17.根据权利要求10所述的BMC升级方法,其特征在于,所述基于所述镜像升级文件执行升级操作,包括:
基于LPC通道接收所述处理器的生效消息,所述生效消息为所述处理器基于确认所述基板管理控制器接收到完整的镜像升级文件生成的;
基于所述生效消息,执行重启操作,以供所述基板管理控制器基于所述镜像升级文件执行升级操作。
18.一种BMC升级装置,其特征在于,应用于处理器,包括:
消息交互模块,用于基于处理器与基板管理控制器之间的低引脚数LPC通道,发送升级执行消息至所述基板管理控制器;
数据传输模块,用于接收所述基板管理控制器针对所述升级执行消息的升级确认消息,并基于所述处理器与所述基板管理控制器之间的PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器,以供所述基板管理控制器在接收所述镜像升级文件后,执行升级操作。
19.一种BMC升级装置,其特征在于,应用于基板管理控制器,包括:
消息接收模块,用于基于处理器与基板管理控制器之间的LPC通道,接收所述处理器的升级执行消息;
消息发送模块,用于将针对所述升级执行消息的升级确认消息发送至所述处理器,以供所述处理器基于所述处理器与所述基板管理控制器之间的PCIe通道,将所述基板管理控制器的镜像升级文件发送至所述基板管理控制器;
升级模块,用于接收所述镜像升级文件,并基于所述镜像升级文件执行升级操作。
20.一种BMC升级系统,其特征在于,包括应用于权利要求18所述的BMC升级装置的处理器,以及应用于权利要求19所述的BMC升级装置的基板管理控制器。
21.一种电子设备,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9任一项所述的BMC升级方法,或者实现如权利要求10至17任一项所述的BMC升级方法。
22.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述的BMC升级方法,或者实现如权利要求10至17任一项所述的BMC升级方法。
CN202310452402.4A 2023-04-25 2023-04-25 Bmc升级方法、装置、系统、电子设备及存储介质 Pending CN116204214A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310452402.4A CN116204214A (zh) 2023-04-25 2023-04-25 Bmc升级方法、装置、系统、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310452402.4A CN116204214A (zh) 2023-04-25 2023-04-25 Bmc升级方法、装置、系统、电子设备及存储介质

Publications (1)

Publication Number Publication Date
CN116204214A true CN116204214A (zh) 2023-06-02

Family

ID=86507993

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310452402.4A Pending CN116204214A (zh) 2023-04-25 2023-04-25 Bmc升级方法、装置、系统、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116204214A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116521209A (zh) * 2023-07-04 2023-08-01 苏州浪潮智能科技有限公司 操作系统的升级方法及装置、存储介质及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112165533A (zh) * 2020-10-21 2021-01-01 苏州智加科技有限公司 数据校验、传输方法、装置、设备、系统及存储介质
CN112612500A (zh) * 2020-12-30 2021-04-06 锐捷网络股份有限公司 一种升级bmc的方法、装置、电子设备及存储介质
CN112887385A (zh) * 2021-01-19 2021-06-01 中国联合网络通信集团有限公司 文件传输方法和装置
CN115277348A (zh) * 2022-07-20 2022-11-01 阿里巴巴(中国)有限公司 一种服务器管理方法、服务器及服务器管理系统
CN115604070A (zh) * 2022-09-30 2023-01-13 浪潮商用机器有限公司(Cn) 基于mctp协议的消息传输方法、装置、设备及介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112165533A (zh) * 2020-10-21 2021-01-01 苏州智加科技有限公司 数据校验、传输方法、装置、设备、系统及存储介质
CN112612500A (zh) * 2020-12-30 2021-04-06 锐捷网络股份有限公司 一种升级bmc的方法、装置、电子设备及存储介质
CN112887385A (zh) * 2021-01-19 2021-06-01 中国联合网络通信集团有限公司 文件传输方法和装置
CN115277348A (zh) * 2022-07-20 2022-11-01 阿里巴巴(中国)有限公司 一种服务器管理方法、服务器及服务器管理系统
CN115604070A (zh) * 2022-09-30 2023-01-13 浪潮商用机器有限公司(Cn) 基于mctp协议的消息传输方法、装置、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116521209A (zh) * 2023-07-04 2023-08-01 苏州浪潮智能科技有限公司 操作系统的升级方法及装置、存储介质及电子设备
CN116521209B (zh) * 2023-07-04 2023-09-15 苏州浪潮智能科技有限公司 操作系统的升级方法及装置、存储介质及电子设备

Similar Documents

Publication Publication Date Title
TWI458307B (zh) 管理網路資訊處理的系統和方法
CN109964215B (zh) 具有环形缓冲区镜像的远程直接存储器访问数据通信中的流控制
CN114817105B (zh) 设备枚举的方法、装置、计算机设备以及存储介质
CN114281394A (zh) 一种快速在线升级程序的方法、系统、设备及介质
CN116204214A (zh) Bmc升级方法、装置、系统、电子设备及存储介质
US9934120B2 (en) Method and apparatus for updating a system on chip (SOC) image from a host computer system without using DMA
CN114116378A (zh) 获取PCIe设备温度的方法、系统、终端及存储介质
TWI483117B (zh) 用於執行命令之裝置、主機控制器及用於執行命令之系統
CN109120680B (zh) 一种控制系统、方法及相关设备
CN110870286B (zh) 容错处理的方法、装置和服务器
WO2019190859A1 (en) Efficient and reliable message channel between a host system and an integrated circuit acceleration system
CN116644011B (zh) 一种i2c设备的快速识别方法、装置、设备及存储介质
CN109885420B (zh) 一种PCIe链路故障的分析方法、BMC及存储介质
US8291270B2 (en) Request processing device, request processing system, and access testing method
CN115454896A (zh) 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质
CN113515414B (zh) 数据处理系统和非暂态机器可读介质
CN111371799B (zh) Mctp控制器收发数据的控制方法、装置及设备
TW201606649A (zh) 機架式伺服器系統的韌體更新方法及其裝置
CN114257492A (zh) 智能网卡的故障处理方法、装置、计算机设备和介质
CN112311425A (zh) 一种蓝牙hci模式自动检测的方法、装置及存储介质
JP2015041205A (ja) 通信制御装置及び画像形成装置
CN114115955B (zh) 服务器资源盒子fpga固件升级方法、系统、终端及存储介质
CN117873853B (zh) 数据记录方法、装置、电子设备及介质
CN117667465B (zh) 代码共享方法、装置、交换机、多主机系统、设备和介质
CN114613418B (zh) 对固态硬盘的NVMe-MI功能测试的系统及方法

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20230602