CN100550771C - 实现远程加载单板固件的方法和*** - Google Patents
实现远程加载单板固件的方法和*** Download PDFInfo
- Publication number
- CN100550771C CN100550771C CNB200610083906XA CN200610083906A CN100550771C CN 100550771 C CN100550771 C CN 100550771C CN B200610083906X A CNB200610083906X A CN B200610083906XA CN 200610083906 A CN200610083906 A CN 200610083906A CN 100550771 C CN100550771 C CN 100550771C
- Authority
- CN
- China
- Prior art keywords
- firmware
- loading
- ipmi
- data
- bmc
- 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 26
- 238000006243 chemical reaction Methods 0.000 claims abstract description 42
- 108010028984 3-isopropylmalate dehydratase Proteins 0.000 claims abstract 37
- 238000012545 processing Methods 0.000 claims description 61
- 230000005540 biological transmission Effects 0.000 claims description 31
- 238000004891 communication Methods 0.000 claims description 6
- 238000013519 translation Methods 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 9
- 238000011161 development Methods 0.000 abstract description 5
- 238000010276 construction Methods 0.000 abstract 1
- 230000006870 function Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 5
- 239000000835 fiber Substances 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- JEOQACOXAOEPLX-WCCKRBBISA-N (2s)-2-amino-5-(diaminomethylideneamino)pentanoic acid;1,3-thiazolidine-4-carboxylic acid Chemical compound OC(=O)C1CSCN1.OC(=O)[C@@H](N)CCCN=C(N)N JEOQACOXAOEPLX-WCCKRBBISA-N 0.000 description 1
- 102100029368 Cytochrome P450 2C18 Human genes 0.000 description 1
- 101000919360 Homo sapiens Cytochrome P450 2C18 Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000009474 immediate action Effects 0.000 description 1
- 230000015654 memory Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种实现远程加载单板固件的方法和***,其核心是:将远端发送给的IPMI数据报文转换为本地能够识别的IPMI数据报文;根据所述转换后的数据报文对本地的单板固件进行加载。通过本发明能够提供标准的IPMI接口实现远端对现场各种单板固件的加载,实现方便,并且可靠性、可扩展性以及可移植性较好,并能够缩短开发周期,降低开发成本。再者,本发明基于IPMI技术能够使IPMI子***独立于CPU***而存在,当CPU***故障时,BMC仍可操作。另外,本发明通过***管理模块将远端传送给的IPMI报文转换为各个单板能够识别的IPMI报文,能够实现对多个单板上的固件的加载。
Description
技术领域
本发明涉及通信领域,尤其涉及单板固件的加载技术。
背景技术
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数据报文通过远端管理***发送给基板管理控制器BMC,所述BMC将接收到的所述IPMI数据报文转换为单板本地协议承载的IPMI数据报文;
或者,
将远端发送的利用适合远距离传输的协议承载的IPMI数据报文通过远端管理***发送给***管理模块,所述***管理模块判断出所述IPMI数据报文对应的目的单板,将接收到的所述IPMI数据报文转换为所述目的单板本地协议承载的IPMI数据报文,并将转换后的IPMI数据报文发送给所述目的单板的BMC;
B、根据所述转换后的数据报文对本地的单板固件进行加载。
其中,所述步骤B具体包括:
所述BMC从本地协议承载的所述IPMI数据报文中获得控制命令和固件加载所需的数据;并将所获得的命令和数据传送给处理器模块;
所述处理器模块根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载;
或者,
所述BMC从本地协议承载的所述IPMI数据报文中获得控制命令和固件加载所需的数据,并根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载;
或者,
所述BMC从本地协议承载的所述IPMI数据报文中获得控制命令和固件加载所需的数据,并根据所述控制命令,利用所述加载所需的数据对设置在其内的底层固件进行加载。
本发明提供一种实现远程加载单板固件的***,其包括固件加载单元,且所述固件加载单元包括:
远程与本地数据转换单元,以及本地数据处理单元;
所述远程与本地数据转换单元,用于根据远端发送给的IPMI数据报文判断出其对应的本地数据处理单元,并将接收到的利用适合远距离传输的协议承载的所述IPMI数据报文转换为目的单板本地协议承载的IPMI数据报文,并将其发送给所述本地数据处理单元;
所述本地数据处理单元,用于根据所述转换后的IPMI数据报文对本地相应的单板固件进行加载;
所述远程与本地数据转换单元设置在***管理模块中,所述本地数据处理单元设置在至少一个单板的基板管理控制器BMC中;
或,
所述远程与本地数据转换单元以及所述本地数据处理单元设置在一个单板的基板管理控制器BMC中。
其中,所述的***还包括:
远端管理***,用于实现远端线路数据的翻译和IPMI协议的通信,并将利用远距离传输协议承载的IPMI数据报文传送给固件加载单元。
其中,当所述远程与本地数据转换单元设置在***管理模块中,所述本地数据处理单元设置在至少一个单板的基板管理控制器BMC中时,所述单板包括:
BMC、处理器模块和与所述处理器模块连接的至少一个固件;
所述BMC通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后将所获得的命令和数据传送给处理器模块;
所述处理器模块根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载;
或者,
BMC和与所述BMC连接的至少一个固件;
所述BMC用于通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载;
或者,
所述BMC,用于通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令,利用所述加载所需的数据对设置在其内的底层固件进行加载。
其中,当所述远程与本地数据转换单元以及所述本地数据处理单元设置在一个单板的基板管理控制器BMC中时,所述单板包括:
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消息。所述的远程线路可以是以太网、令牌网、光纤、×DSL或无线网络等适合远距离传输的物理介质和传输协议组成的数据链路,其上传输的数据封装了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消息。所述的远程线路可以是以太网、令牌网、光纤、×DSL或无线网络等适合远距离传输的物理介质和传输协议组成的数据链路,其上传输的数据封装了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消息。所述的远程线路可以是以太网、令牌网、光纤、×DSL或无线网络等适合远距离传输的物理介质和传输协议组成的数据链路,其上传输的数据封装了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接口实现对多个单板上的固件进行加载。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (6)
1、一种实现远程加载单板固件的方法,其特征在于,包括:
A、将远端发送的利用适合远距离传输的协议承载的IPMI数据报文通过远端管理***发送给基板管理控制器BMC,所述BMC将接收到的所述IPMI数据报文转换为单板本地协议承载的IPMI数据报文;
或者,
将远端发送的利用适合远距离传输的协议承载的IPMI数据报文通过远端管理***发送给***管理模块,所述***管理模块判断出所述IPMI数据报文对应的目的单板,将接收到的所述IPMI数据报文转换为所述目的单板本地协议承载的IPMI数据报文,并将转换后的IPMI数据报文发送给所述目的单板的BMC;
B、根据所述转换后的数据报文对本地的单板固件进行加载。
2、根据权利要求1所述的方法,其特征在于,所述步骤B具体包括:
所述BMC从本地协议承载的所述IPMI数据报文中获得控制命令和固件加载所需的数据;并将所获得的命令和数据传送给处理器模块;
所述处理器模块根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载;
或者,
所述BMC从本地协议承载的所述IPMI数据报文中获得控制命令和固件加载所需的数据,并根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载;
或者,
所述BMC从本地协议承载的所述IPMI数据报文中获得控制命令和固件加载所需的数据,并根据所述控制命令,利用所述加载所需的数据对设置在其内的底层固件进行加载。
3、一种实现远程加载单板固件的***,其特征在于,包括固件加载单元,且所述固件加载单元包括:
远程与本地数据转换单元,以及本地数据处理单元;
所述远程与本地数据转换单元,用于根据远端发送给的IPMI数据报文判断出其对应的本地数据处理单元,并将接收到的利用适合远距离传输的协议承载的所述IPMI数据报文转换为目的单板本地协议承载的IPMI数据报文,并将其发送给所述本地数据处理单元;
所述本地数据处理单元,用于根据所述转换后的IPMI数据报文对本地相应的单板固件进行加载;
所述远程与本地数据转换单元设置在***管理模块中,所述本地数据处理单元设置在至少一个单板的基板管理控制器BMC中;
或,
所述远程与本地数据转换单元以及所述本地数据处理单元设置在一个单板的基板管理控制器BMC中。
4、根据权利要求3所述的***,其特征在于,还包括:
远端管理***,用于实现远端线路数据的翻译和IPMI协议的通信,并将利用远距离传输协议承载的IPMI数据报文传送给固件加载单元。
5、根据权利要求4所述的***,其特征在于,当所述远程与本地数据转换单元设置在***管理模块中,所述本地数据处理单元设置在至少一个单板的基板管理控制器BMC中时,所述单板包括:
BMC、处理器模块和与所述处理器模块连接的至少一个固件;
所述BMC通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后将所获得的命令和数据传送给处理器模块;
所述处理器模块根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载;
或者,
BMC和与所述BMC连接的至少一个固件;
所述BMC用于通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载;
或者,
所述BMC,用于通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令,利用所述加载所需的数据对设置在其内的底层固件进行加载。
6、根据权利要求3所述的***,其特征在于,当所述远程与本地数据转换单元以及所述本地数据处理单元设置在一个单板的基板管理控制器BMC中时,所述单板包括:
BMC、处理器模块和与所述处理器模块连接的至少一个固件;
所述BMC通过所述远程与本地数据转换单元将接收到的所述IPMI数据报文转换为单板本地协议承载的IPMI数据报文,并通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后将所获得的命令和数据传送给处理器模块;
所述处理器模块根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载;
或者,
BMC和与所述BMC连接的至少一个固件;
所述BMC,用于通过所述远程与本地数据转换单元将远端管理***发送给的IPMI数据报文转换为单板本地能够识别的IPMI数据报文,并通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令判断出需要加载的固件,并将所述固件需要的加载数据转换成所述固件的加载接口所需的格式,然后通过所述加载接口传送给所述固件进行加载;
或者,
所述BMC,用于通过所述远程与本地数据转换单元将远端管理***发送给的IPMI数据报文转换为单板本地能够识别的IPMI数据报文,并通过所述本地数据处理单元从所述IPMI数据报文中获得控制命令和固件加载所需的数据,然后根据所述控制命令,利用所述加载所需的数据对设置在其内的底层固件进行加载。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200610083906XA CN100550771C (zh) | 2006-06-06 | 2006-06-06 | 实现远程加载单板固件的方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB200610083906XA CN100550771C (zh) | 2006-06-06 | 2006-06-06 | 实现远程加载单板固件的方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1983977A CN1983977A (zh) | 2007-06-20 |
CN100550771C true CN100550771C (zh) | 2009-10-14 |
Family
ID=38166233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB200610083906XA Active CN100550771C (zh) | 2006-06-06 | 2006-06-06 | 实现远程加载单板固件的方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100550771C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793180A (zh) * | 2012-10-30 | 2014-05-14 | 英业达科技有限公司 | 磁盘配置方法及服务器机架*** |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101420319B (zh) * | 2007-10-26 | 2011-04-06 | 华为技术有限公司 | 一种加载单板固件的方法、***及装置 |
US7966441B2 (en) * | 2008-03-04 | 2011-06-21 | Aten International Co., Ltd. | Interfacing apparatus and method using a single predetermined communication protocol for accessing remote peripheral devices that use different communication protocols |
CN102130951B (zh) * | 2011-03-14 | 2014-12-17 | 浪潮(北京)电子信息产业有限公司 | 一种服务器及其可编程逻辑器件的远程升级方法 |
CN109086086B (zh) * | 2018-08-06 | 2021-06-08 | 深圳忆联信息***有限公司 | 一种非空间共享的多核cpu的启动方法及装置 |
-
2006
- 2006-06-06 CN CNB200610083906XA patent/CN100550771C/zh active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103793180A (zh) * | 2012-10-30 | 2014-05-14 | 英业达科技有限公司 | 磁盘配置方法及服务器机架*** |
Also Published As
Publication number | Publication date |
---|---|
CN1983977A (zh) | 2007-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10417167B2 (en) | Implementing sideband control structure for PCIE cable cards and IO expansion enclosures | |
TWI618380B (zh) | 管理方法、服務控制器裝置以及非暫態電腦可讀取媒體 | |
JP4558519B2 (ja) | 情報処理装置およびシステムバス制御方法 | |
CN109558371B (zh) | 用于与微控制器通信的方法、以及计算*** | |
CN100550771C (zh) | 实现远程加载单板固件的方法和*** | |
AU2011264940A1 (en) | Systems and methods for intelligent and flexible management and monitoring of computer systems | |
CN102081568A (zh) | 多主机板服务器*** | |
KR101712172B1 (ko) | 컴퓨터 장애 증상의 사전 진단 및 분석 복구 시스템 및 방법 | |
US20110191573A1 (en) | Multi-motherboard server system | |
CN109388526B (zh) | 一种控制电路及复位操作的方法 | |
CN110658758A (zh) | 控制方法和控制*** | |
CN105739656A (zh) | 具有自动重置功能的机柜及其自动重置方法 | |
CN111158731A (zh) | 一种基于cpld的网卡固件升级装置及方法 | |
US6973598B2 (en) | Computer system with improved data capture system | |
CN102255766B (zh) | 服务器*** | |
US20060182229A1 (en) | SATA device having self-test function for OOB-signaling | |
CN104571098B (zh) | 基于Atom平台的远程自诊断方法 | |
CN106649002A (zh) | 服务器及自动检修基板管理控制器的方法 | |
CN102480497A (zh) | 远程主板控制器及其远程控制主板的方法 | |
CN102088366B (zh) | 一种单板信息监控装置及分布式单板信息监控*** | |
CN102193850A (zh) | 一种多主机板服务器的时间更新*** | |
TWM598968U (zh) | 頻外的外接控制設備與系統 | |
JP5682007B2 (ja) | 電子機器装置 | |
US20070050666A1 (en) | Computer Network System and Related Method for Monitoring a Server | |
CN221446528U (zh) | 带外管理模块和服务器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |