实现远程加载单板固件的方法和系统的制作方法

文档序号:6558874阅读:129来源:国知局
专利名称:实现远程加载单板固件的方法和系统的制作方法
技术领域
本发明涉及通信领域,尤其涉及单板固件的加载技术。
背景技术
IPMI(Intelligent Platform Management Interface,智能化平台管理接口)标准是使服务器具备智能化管理的新一代通用接口标准,所述IPMI能够为服务器提供设备管理、传感器/事件管理、用户管理、风扇框/电源框管理、远程维护等功能。
IPMI技术的“智能化”来自于一个管理微控制器。在一个主机系统里,这个控制器被称为BMC(Baseboard Management Controller,基板管理控制器)。BMC自备电源,并自动地监控系统健康状况。如果发现任何被控单元异常,它能立即采取行动,例如记录事件、报警、自动关机或重启动。与BMC相关联的是一组无源内存,用来存储传感器的数据(Sensor DataRecords,SDR)、系统事件记录文件,以及一些单元信息,如序列号和部件号信息等。IPMI通过指定通用、精简、基于消息的接口,将信息传输到管理微控制器,实现软件与硬件信息的分离。因此所述IPMI技术可以独立于主处理器对硬件平台进行监视和控制。如,用户可以利用IPMI监视服务器的物理特征,如温度、电压、电扇工作状态、电源供应以及机箱入侵等,为系统管理、恢复以及资产管理提供信息。
由于人们对通信的功能需求日益提升,需要对一些单板固件进行升级,升级的过程需要对单板固件进行加载。
与本发明有关的现有技术一提出了一种在本地对单板固件进行加载的方法,其核心是通过单板固件具有的接口,并使用专用工具实现对所述单板固件的加载。如CPLD(Complex Programmable Logical Device,可编程逻辑器件)固件可通过连接电脑的JTAG(边界扫描)接口进行加载的方式,或FLASH固件可通过烧片机烧写。
现有技术一需要将单板从机框中卸下来,甚至将固件从单板上卸下来,并使用专用的加载工具实现对单板固件的加载,操作复杂,为单板固件的升级维护带来困难。
与本发明有关的现有技术二提出了另一种在本地对单板固件进行加载的方法,其核心是通过主机的CPU对连接在所述CPU上的单板固件进行加载。如FLASH固件可通过单板上与其连接的CPU进行加载。
现有技术二只能在本地通过主机软件对连接在所述主机上的单板固件进行加载,其不能通过远程对连接在主机上的单板固件进行加载。
与本发明有关的现有技术三提出了一种实现远程加载的方法,其需要连接固件的CPU能够与远程的远端管理系统进行通信,其核心是所述CPU通过与远程的远端管理系统进行通信,并获得加载软件,然后所述CPU将加载软件加载到固件上。
现有技术三虽然能够实现对连接在CPU上的单板固件进行远程加载,但是如果需要加载的单板固件连接在不同的CPU时,则需要设置每个CPU具有与远端管理系统进行通信的功能,这样加载接口不统一,实现比较复杂。
由上述现有技术可以看出,现有技术一与现有技术二只能实现对本地单板固件进行加载,而当需要实现远程加载时,需要针对需要加载的不同单板固件连接的CPU具有与远端管理系统进行通信的功能,此时加载接口不统一,实施起来较困难。

发明内容
本发明的目的是提供一种实现远程加载单板固件的方法和系统,提供标准的加载接口对现场各种单板固件进行远程加载,从而能够为单板固件的升级和维护管理提供方便。
本发明的目的是通过以下技术方案实现的本发明提供一种实现远程加载单板固件的方法,其包括A、将远端发送给的IPMI数据报文转换为本地能够识别的IPMI数据报文;B、根据所述转换后的数据报文对本地的单板固件进行加载。
其中,所述步骤A具体包括A1、将利用适合远距离传输的协议承载的IPMI数据报文通过远端管理系统发送给基板管理控制器BMC;A2、所述BMC将接收到的所述IPMI数据报文转换为单板本地协议承载的IPMI数据报文。
其中,所述步骤A具体包括A3、将利用适合远距离传输的协议承载的IPMI数据报文通过远端管理系统发送给系统管理模块;A4、所述系统管理模块判断出所述IPMI数据报文对应的目的单板,并将接收到的所述IPMI数据报文转换为所述目的单板本地协议承载的IPMI数据报文。
其中,所述步骤A还包括将转换为目的单板本地协议承载的IPMI数据报文发送给对应的目的单板的BMC。
其中,所述步骤B具体包括所述BMC从本地协议承载的所述IPMI数据报文中获得控制命令和固件加载所需的数据;并将所获得的命令和数据传送给处理器模块;所述处理器模块根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述加载固件进行加载;或者,所述BMC从本地协议承载的所述IPMI数据报文中获得控制命令和固件加载所需的数据,并根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述加载固件进行加载;或者,所述BMC从本地协议承载的所述IPMI数据报文中获得控制命令和固件加载所需的数据,并根据所述控制命令,利用所述加载数据对设置在其内的底层固件进行加载。
本发明提供一种实现远程加载单板固件的系统,其包括固件加载单元,用于将远端发送给的IPMI数据报文转换为本地能够识别的IPMI数据报文,以及根据所述转换后的数据报文对本地的单板固件进行加载。
其中,所述的系统还包括远端管理系统,用于实现远端线路数据的翻译和IPMI协议的通信,并将利用远距离传输协议承载的IPMI数据报文传送给固件加载单元。
其中,所述固件加载单元包括远程与本地数据转换单元,以及本地数据处理单元;所述远程与本地数据转换单元,用于根据远端发送给的IPMI数据报文判断出其对应的本地数据处理单元,并将接收到的利用适合远距离传输的协议承载的所述IPMI数据报文转换为目的单板本地协议承载的IPMI数据报文,并将其发送给所述本地数据处理单元;所述本地数据处理单元,用于根据所述转换后的IPMI数据报文对本地相应的单板固件进行加载。
其中,所述远程与本地数据转换单元设置在系统管理模块中,所述本地数据处理单元设置在至少一个单板中;或,所述远程与本地数据转换单元以及所述本地数据处理单元设置在一个单板中。
其中,当所述远程与本地数据转换单元以及所述本地数据处理单元设置在一个单板中时,所述远程与本地数据转换单元以及所述本地数据处理单元同时设置在一个单板中的基板管理控制器BMC中。
其中,当所述远程与本地数据转换单元设置在系统管理模块中,所述本地数据处理单元设置在至少一个单板中时,所述单板包括BMC、处理器模块和与所述处理器模块连接的至少一个固件;所述BMC通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后将所获得的命令和数据传送给处理器模块;所述处理器模块根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载;或者,BMC和与所述BMC连接的至少一个固件;所述BMC用于通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载;
或者,所述BMC,用于通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令,利用所述加载数据对设置在其内的底层固件进行加载。
其中,当所述远程与本地数据转换单元以及所述本地数据处理单元设置在一个单板中时,所述单板包括BMC、处理器模块和与所述处理器模块连接的至少一个固件;所述BMC通过所述远程与本地数据转换单元将接收到的所述IPMI数据报文转换为单板本地协议承载的IPMI数据报文,并通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后将所获得的命令和数据传送给处理器模块;所述处理器模块根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载。
或者,BMC和与所述BMC连接的至少一个固件;所述BMC,用于通过所述远程与本地数据转换单元将远端管理系统发送给的IPMI数据报文转换为单板本地能够识别的IPMI数据报文,并通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载。
或者,所述BMC,用于通过所述远程与本地数据转换单元将远端管理系统发送给的IPMI数据报文转换为单板本地能够识别的IPMI数据报文,并通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令,利用所述加载数据对设置在其内的底层固件进行加载。
由上述本发明提供的技术方案可以看出,本发明将远端发送给的IPMI数据报文转换为本地能够识别的IPMI数据报文,并根据所述转换后的数据报文对本地的单板固件进行加载,具有以下优点1、本发明基于IPMI技术能够提供标准的IPMI接口,远端只需要最终输出适合远距离传输协议承载的IPMI数据报文就能够对现场各种单板固件进行加载,实现方便,并且可靠性、可扩展性以及可移植性较好,并能够缩短开发周期,降低开发成本。
2、本发明基于IPMI技术能够使IPMI子系统,如BMC的供电电源可以独立于CPU系统而存在,当CPU系统故障时,BMC仍可操作。
3、本发明通过系统管理模块将远端传送给的IPMI报文转换为各个单板能够识别的IPMI报文,从而能够提供统一的IPMI接口实现对多个单板上的固件进行加载。


图1为本发明提供的第一实施例的流程图;图2为本发明提供的第二实施例的流程图;图3为本发明提供的第四实施例的流程图;图4为本发明提供的第五实施例的流程图;图5为本发明提供的第六实施例的流程图;图6为本发明提供的第七实施例的流程图。
具体实施例方式
由于IPMI技术能够独立于主处理器对硬件平台进行监视和控制,因此能够基于所述IPMI技术实现为现场各种单板固件进行加载提供标准的加载接口。
本发明提供的第一实施例是一种实现远程加载单板固件的系统,其结构如图1所示,包括远端管理系统和固件加载单元。其中所述固件加载单元包括系统管理模块和至少一个单板。其中所述单板包括BMC(基板管理控制器)、处理器模块和与所述处理器模块连接的至少一个固件。所述系统管理模块中设置有远程与本地数据转换单元;所述BMC中设置有本地数据处理单元。
各个功能器件的功能如下所述远端管理系统,用于实现远程线路数据的翻译和IPMI协议通讯,并提供远程管理界面和相关数据接口。
所述系统管理模块,用于通过远程与本地数据转换单元实现IPMI协议从本地线路与远程线路间的数据转换。其中的本地线路可以是I2C、IPMB、PCI、PCI-E、PCI-X、SMBus、RS-232和本地IO总线等常用本地线路传输的物理介质和传输协议组成的数据链路,其上传输的数据封装了IPMI消息。所述的远程线路可以是以太网、令牌网、光纤、xDSL或无线网络等适合远距离传输的物理介质和传输协议组成的数据链路,其上传输的数据封装了IPMI消息。所述的系统管理模块设置在单板所在的本地端,其可以设置在由多块单板构成的系统(如ATCA系统或CPCI系统)或者其它服务器群组系统等系统整机中。当然如果将所述系统管理模块设置在远端管理系统所在的远端,也能够实现本发明,但是这样会增加系统管理模块到各个单板间的本地线路的连线,从而会增加相应的成本。
所述BMC,用于通过本地数据处理单元进行IPMI协议处理,获得控制命令和固件加载所需的数据。
所述处理器模块,用于通过控制命令控制BMC,以及各加载接口的数据转换。其中的加载接口可以是固件特有的加载接口,也可以是常用的加载接口,如JTAG接口,或者是BMC的本地IO总线,等等。
所述固件,可以是FLASH、CPLD、FPGA、EEPROM、NvRAM、EPROM、CF卡或硬盘等。
各个功能器件间的信息传递关系为所述远端管理系统将远端线路数据翻译成利用远距离传输协议承载的IPMI数据报文,并将利用远距离传输协议承载的IPMI数据报文传送给固件加载单元。
所述固件加载单元通过系统管理模块中的远程与本地数据转换单元判断出所述IPMI数据报文对应的目的单板,并将接收到的利用适合远距离传输的协议承载的所述IPMI数据报文转换为目的单板本地协议承载的IPMI数据报文,并将其发送给所述对应的单板。
所述单板中的BMC通过本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后将所获得的命令和数据传送给所述单板中的处理器模块。
所述处理器模块根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载。
本发明提供的第二实施例是第二种实现远程加载单板固件的系统,其与第一实施例的区别在于所述单板不再包括处理器模块,而仅仅包括BMC和与所述BMC连接的至少一个固件。其结构如图2所示,包括远端管理系统和固件加载单元。其中所述固件加载单元包括系统管理模块和至少一个单板。其中所述单板包括BMC(基板管理控制器)、处理器模块和与所述处理器模块连接的至少一个固件。所述系统管理模块中设置有远程与本地数据转换单元;所述BMC中设置有本地数据处理单元。
这种情况下,BMC用于通过其内设置的本地数据处理单元进行IPMI协议处理,获得控制命令和固件加载所需的数据,以及通过控制命令控制BMC和各加载接口的数据转换。其它功能器件的功能雷同于第一实施例中的相关描述,这里不再详细描述。
该系统的各个器件间的信息传递关系如下所述远端管理系统将远端线路数据翻译成利用远距离传输协议承载的IPMI数据报文,并将利用远距离传输协议承载的IPMI数据报文传送给固件加载单元。
所述固件加载单元通过系统管理模块中的远程与本地数据转换单元判断出所述IPMI数据报文对应的目的单板,并将接收到的利用适合远距离传输的协议承载的所述IPMI数据报文转换为目的单板本地协议承载的IPMI数据报文,并将其发送给所述对应的单板。
所述单板中的BMC通过其内设置的本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载。
本发明提供的第三实施例是第三种实现远程加载单板固件的系统,其与第一实施例的区别之处在于所述单板仅仅包括BMC。其包括远端管理系统和固件加载单元。其中所述固件加载单元包括系统管理模块和至少一个单板。其中所述单板仅仅包括BMC。其中所述系统管理模块中设置有远程与本地数据转换单元;所述BMC中设置有本地数据处理单元。
这种情况下,固件内置于所述BMC的底层。此时的BMC用于IPMI协议处理,获得控制命令和固件加载所需的数据,以及通过控制命令控制BMC对其自身进行加载。
该系统的各个器件间的信息传递关系如下所述远端管理系统将远端线路数据翻译成利用远距离传输协议承载的IPMI数据报文,并将利用远距离传输协议承载的IPMI数据报文传送给固件加载单元。
所述固件加载单元通过系统管理模块判断出所述IPMI数据报文对应的目的单板,并将接收到的利用适合远距离传输的协议承载的所述IPMI数据报文转换为目的单板本地协议承载的IPMI数据报文,并将其发送给所述对应的单板。
所述单板中的BMC从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令,利用所述加载数据对设置在其内的底层固件进行加载。
本发明提供的第四实施例是第四种实现远程加载单板固件的系统,其结构如图3所示,包括远端管理系统和固件加载单元。其中所述固件加载单元包括BMC、处理器模块和与所述处理器模块连接的至少一个固件。其中所述BMC中设置有远程与本地数据转换单元以及本地数据处理单元。
所述系统中各个器件的功能如下所述远端管理系统,用于实现远程线路数据的翻译和IPMI协议通讯,并提供远程管理界面和相关数据接口。
所述BMC,用于通过其内设置的远程与本地数据转换单元实现IPMI协议从本地线路与远程线路间的数据转换;以及用于通过其内设置的本地数据处理单元进行IPMI协议处理,获得控制命令和固件加载所需的数据。其中的本地线路可以是I2C、IPMB、PCI、PCI-E、PCI-X、SMBus、RS-232和本地IO总线等常用本地线路传输的物理介质和传输协议组成的数据链路,其上传输的数据封装了IPMI消息。所述的远程线路可以是以太网、令牌网、光纤、xDSL或无线网络等适合远距离传输的物理介质和传输协议组成的数据链路,其上传输的数据封装了IPMI消息。
所述处理器模块,用于通过控制命令控制BMC,以及各加载接口的数据转换。其中的加载接口可以是固件特有的加载接口,也可以是常用的加载接口,如JTAG接口,或者是BMC的本地IO总线,等等。
所述固件,可以是FLASH、CPLD、FPGA、EEPROM、NvRAM、EPROM、CF卡或硬盘等。
该系统的各个器件间的信息传递关系如下所述远端管理系统将远端线路数据翻译成利用远距离传输协议承载的IPMI数据报文,并将利用远距离传输协议承载的IPMI数据报文传送给固件加载单元。
所述固件加载单元通过所述BMC中设置的远程与本地数据转换单元将接收到的所述IPMI数据报文转换为单板本地协议承载的IPMI数据报文,并通过其内设置的本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后将所获得的命令和数据传送给处理器模块。
所述处理器模块根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载。
本发明提供的第五实施例是第五种实现远程加载单板固件的系统,其与第四实施例的区别之处在于所述固件加载单元不再包括处理器模块,而仅仅包括BMC和与所述BMC连接的至少一个固件。其结构如图4所示,包括远端管理系统和固件加载单元。其中所述固件加载单元包括BMC以及与其连接的至少一个固件。其中所述BMC中设置有远程与本地数据转换单元以及本地数据处理单元。
此时BMC的功能用于通过其内设置的远程与本地数据转换单元实现IPMI协议从本地线路与远程线路间的数据转换;以及用于通过其内设置的本地数据处理单元进行IPMI协议处理,获得控制命令和固件加载所需的数据;以及通过控制命令控制BMC,以及各加载接口的数据转换。其中的本地线路可以是I2C、IPMB、PCI、PCI-E、PCI-X、SMBus、RS-232和本地IO总线等常用本地线路传输的物理介质和传输协议组成的数据链路,其上传输的数据封装了IPMI消息。所述的远程线路可以是以太网、令牌网、光纤、xDSL或无线网络等适合远距离传输的物理介质和传输协议组成的数据链路,其上传输的数据封装了IPMI消息。其中的加载接口可以是固件特有的加载接口,也可以是常用的加载接口,如JTAG接口,或者是BMC的本地IO总线,等等。
所述固件,可以是FLASH、CPLD、FPGA、EEPROM、NvRAM、EPROM、CF卡或硬盘等。
该系统的各个器件间的信息传递关系如下所述远端管理系统将远端线路数据翻译成利用远距离传输协议承载的IPMI数据报文,并将利用远距离传输协议承载的IPMI数据报文传送给固件加载单元。
所述固件加载单元通过BMC中设置的远程与本地数据转换单元将远端管理系统发送给的IPMI数据报文转换为单板本地能够识别的IPMI数据报文,并通过其内设置的本地数据处理单元进行从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载。
本发明提供的第六实施例是第六种实现远程加载单板固件的系统,其与第四实施例的区别在于所述固件加载单元中仅仅包括一个BMC。其结构如图5所示,包括远端管理系统和固件加载单元。其中所述固件加载单元仅仅包括BMC。其中所述BMC中设置有远程与本地数据转换单元以及本地数据处理单元。
此时所述BMC用于通过所述远程与本地数据转换单元实现IPMI协议从本地线路与远程线路间的数据转换;以及用于通过所述本地数据处理单元IPMI协议处理,获得控制命令和固件加载所需的数据;以及通过控制命令控制BMC对其自身进行加载。其中的本地线路可以是I2C、IPMB、PCI、PCI-E、PCI-X、SMBus、RS-232和本地IO总线等常用本地线路传输的物理介质和传输协议组成的数据链路,其上传输的数据封装了IPMI消息。所述的远程线路可以是以太网、令牌网、光纤、xDSL或无线网络等适合远距离传输的物理介质和传输协议组成的数据链路,其上传输的数据封装了IPMI消息。其中的加载接口可以是固件特有的加载接口,也可以是常用的加载接口,如JTAG接口,或者是BMC的本地IO总线,等等。
该系统的各个器件间的信息传递关系如下所述远端管理系统将远端线路数据翻译成利用远距离传输协议承载的IPMI数据报文,并将利用远距离传输协议承载的IPMI数据报文传送给固件加载单元。
所述固件加载单元通过BMC中设置的远程与本地数据转换单元将远端管理系统发送给的IPMI数据报文转换为单板本地能够识别的IPMI数据报文,并通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令,利用所述加载数据对设置在其内的底层固件进行加载。
上述第四、第五和第六实施例只能对一块单板上的固件进行加载。而第一、第二和第三实施例可以对多块单板上的固件进行加载。
本发明提供的第七实施例是第一种实现远程加载单板固件的方法,其流程如图6所示,包括如下步骤步骤1,将利用适合远距离传输的协议承载的IPMI数据报文通过远端管理系统发送给系统管理模块。
步骤2,所述系统管理模块判断出所述IPMI数据报文对应的目的单板,并将接收到的所述IPMI数据报文转换为所述目的单板本地协议承载的IPMI数据报文。然后将转换为目的单板本地协议承载的IPMI数据报文发送给对应的目的单板的BMC。
步骤3,当目的单板接收到所述报文后,根据所述转换后的数据报文对本地的单板固件进行加载。
在步骤3中,如果所述单板中需要加载的固件连接与处理器模块,则所述步骤3的处理过程如下所述BMC从本地协议承载的所述IPMI数据报文中获得控制命令和固件加载所需的数据;并将所获得的命令和数据传送给处理器模块;所述处理器模块根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述加载固件进行加载。
如果所述单板中需要加载的固件直接与BMC连接,则所述步骤3的处理过程如下所述BMC从本地协议承载的IPMI数据报文中获得控制命令和固件加载所需的数据,并根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述加载固件进行加载。
如果所述单板中需要加载的固件内置于BMC,则所述步骤3的处理过程如下所述BMC从本地协议承载的IPMI数据报文中获得控制命令和其加载所需的数据,并根据所述控制命令,利用所述加载数据对设置在其内的底层固件进行加载。
本发明提供的第八实施例是第二种实现远程加载单板固件的方法,其与第七实施例的区别在于该方法仅仅能够实现对一个单板上的固件进行加载。该方法的具体实施过程如下步骤1,将利用适合远距离传输的协议承载的IPMI数据报文通过远端管理系统发送给目的单板的基板管理控制器BMC。
步骤2,所述BMC将接收到的所述IPMI数据报文转换为单板本地协议承载的IPMI数据报文,并根据所述转换后的数据报文对本地的单板固件进行加载。
在步骤2中,如果所述单板中需要加载的固件连接与处理器模块,则所述步骤2的处理过程如下所述BMC将接收到的所述IPMI数据报文转换为单板本地协议承载的IPMI数据报文,从本地协议承载的所述IPMI数据报文中获得控制命令和固件加载所需的数据;并将所获得的命令和数据传送给处理器模块;所述处理器模块根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述加载固件进行加载。
如果所述单板中需要加载的固件直接与BMC连接,则所述步骤2的处理过程如下所述BMC将接收到的所述IPMI数据报文转换为单板本地协议承载的IPMI数据报文,从本地协议承载的IPMI数据报文中获得控制命令和固件加载所需的数据,并根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述加载固件进行加载。
如果所述单板中需要加载的固件内置于BMC,则所述步骤2的处理过程如下所述BMC将接收到的所述IPMI数据报文转换为单板本地协议承载的IPMI数据报文,从本地协议承载的IPMI数据报文中获得控制命令和其加载所需的数据,并根据所述控制命令,利用所述加载数据对设置在其内的底层固件进行加载。
由上述本发明的具体实施方式
可以看出,本发明通过IPMI技术实现单板固件的远程加载,能够规范硬件平台接口,方便维护和升级,并且可靠性、可扩展性和可移植性较好;并且能够缩短开发周期,降低开发成本。再者,本发明基于IPMI技术能够使IPMI子系统,如BMC的供电电源可以独立与CPU系统而存在,当CPU系统故障时,BMC仍可操作。
另外,本发明通过系统管理模块将远端传送给的IPMI报文转换为各个单板能够识别的IPMI报文,从而能够提供统一的IPMI接口实现对多个单板上的固件进行加载。
以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
权利要求
1.一种实现远程加载单板固件的方法,其特征在于,包括A、将远端发送给的IPMI数据报文转换为本地能够识别的IPMI数据报文;B、根据所述转换后的数据报文对本地的单板固件进行加载。
2.根据权利要求1所述的方法,其特征在于,所述步骤A具体包括A1、将利用适合远距离传输的协议承载的IPMI数据报文通过远端管理系统发送给基板管理控制器BMC;A2、所述BMC将接收到的所述IPMI数据报文转换为单板本地协议承载的IPMI数据报文。
3.根据权利要求1所述的方法,其特征在于,所述步骤A具体包括A3、将利用适合远距离传输的协议承载的IPMI数据报文通过远端管理系统发送给系统管理模块;A4、所述系统管理模块判断出所述IPMI数据报文对应的目的单板,并将接收到的所述IPMI数据报文转换为所述目的单板本地协议承载的IPMI数据报文。
4.根据权利要求3所述的方法,其特征在于,所述步骤A还包括将转换为目的单板本地协议承载的IPMI数据报文发送给对应的目的单板的BMC。
5.根据权利要求2、3或4所述的方法,其特征在于,所述步骤B具体包括所述BMC从本地协议承载的所述IPMI数据报文中获得控制命令和固件加载所需的数据;并将所获得的命令和数据传送给处理器模块;所述处理器模块根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述加载固件进行加载;或者,所述BMC从本地协议承载的所述IPMI数据报文中获得控制命令和固件加载所需的数据,并根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述加载固件进行加载;或者,所述BMC从本地协议承载的所述IPMI数据报文中获得控制命令和固件加载所需的数据,并根据所述控制命令,利用所述加载数据对设置在其内的底层固件进行加载。
6.一种实现远程加载单板固件的系统,其特征在于,包括固件加载单元,用于将远端发送给的IPMI数据报文转换为本地能够识别的IPMI数据报文,以及根据所述转换后的数据报文对本地的单板固件进行加载。
7.根据权利要求6所述的系统,其特征在于,还包括远端管理系统,用于实现远端线路数据的翻译和IPMI协议的通信,并将利用远距离传输协议承载的IPMI数据报文传送给固件加载单元。
8.根据权利要求7所述的系统,其特征在于,所述固件加载单元包括远程与本地数据转换单元,以及本地数据处理单元;所述远程与本地数据转换单元,用于根据远端发送给的IPMI数据报文判断出其对应的本地数据处理单元,并将接收到的利用适合远距离传输的协议承载的所述IPMI数据报文转换为目的单板本地协议承载的IPMI数据报文,并将其发送给所述本地数据处理单元;所述本地数据处理单元,用于根据所述转换后的IPMI数据报文对本地相应的单板固件进行加载。
9.根据权利要求8所述的系统,其特征在于所述远程与本地数据转换单元设置在系统管理模块中,所述本地数据处理单元设置在至少一个单板中;或,所述远程与本地数据转换单元以及所述本地数据处理单元设置在一个单板中。
10.根据权利要求9所述的系统,当所述远程与本地数据转换单元以及所述本地数据处理单元设置在一个单板中时,其特征在于所述远程与本地数据转换单元以及所述本地数据处理单元同时设置在一个单板中的基板管理控制器BMC中。
11.根据权利要求9所述的系统,其特征在于,当所述远程与本地数据转换单元设置在系统管理模块中,所述本地数据处理单元设置在至少一个单板中时,所述单板包括BMC、处理器模块和与所述处理器模块连接的至少一个固件;所述BMC通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后将所获得的命令和数据传送给处理器模块;所述处理器模块根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载;或者,BMC和与所述BMC连接的至少一个固件;所述BMC用于通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载;或者,所述BMC,用于通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令,利用所述加载数据对设置在其内的底层固件进行加载。
12.根据权利要求9所述的系统,其特征在于,当所述远程与本地数据转换单元以及所述本地数据处理单元设置在一个单板中时,所述单板包括BMC、处理器模块和与所述处理器模块连接的至少一个固件;所述BMC通过所述远程与本地数据转换单元将接收到的所述IPMI数据报文转换为单板本地协议承载的IPMI数据报文,并通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后将所获得的命令和数据传送给处理器模块;所述处理器模块根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载。或者,BMC和与所述BMC连接的至少一个固件;所述BMC,用于通过所述远程与本地数据转换单元将远端管理系统发送给的IPMI数据报文转换为单板本地能够识别的IPMI数据报文,并通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载。或者,所述BMC,用于通过所述远程与本地数据转换单元将远端管理系统发送给的IPMI数据报文转换为单板本地能够识别的IPMI数据报文,并通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令,利用所述加载数据对设置在其内的底层固件进行加载。
全文摘要
本发明涉及一种实现远程加载单板固件的方法和系统,其核心是将远端发送给的IPMI数据报文转换为本地能够识别的IPMI数据报文;根据所述转换后的数据报文对本地的单板固件进行加载。通过本发明能够提供标准的IPMI接口实现远端对现场各种单板固件的加载,实现方便,并且可靠性、可扩展性以及可移植性较好,并能够缩短开发周期,降低开发成本。再者,本发明基于IPMI技术能够使IPMI子系统独立于CPU系统而存在,当CPU系统故障时,BMC仍可操作。另外,本发明通过系统管理模块将远端传送给的IPMI报文转换为各个单板能够识别的IPMI报文,能够实现对多个单板上的固件的加载。
文档编号G06F9/445GK1983977SQ20061008390
公开日2007年6月20日 申请日期2006年6月6日 优先权日2006年6月6日
发明者刘强, 余承泽, 宋铜铃, 王晨光 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1