智能平台管理接口韧体架构及其建立方法

文档序号:6608466阅读:270来源:国知局
专利名称:智能平台管理接口韧体架构及其建立方法
技术领域
本发明涉及一种智能平台管理接口(Intelligent Platform ManagementInterface,IPMI)韧体架构及其建立方法,尤其是涉及一种嵌入于IPMI硬件架构中的IPMI韧体架构,该IPMI韧体架构依据一影像执行模组而建立,该影像执行模组包含一可修正的原始码与至少一客制化码。
背景技术
众所周知,依据现有技术,当远程服务器出现故障时,如电信设备或计算机工作站,尤其是网际网络服务提供者(ISP)服务器出现故障时,系统管理者必须到达服务器所在位置方得以进行维修或排除故障,因而必然耗费许多人力及时间。为解决这个问题,关于远程服务器的管理技术正逐步发展中,如一种称为智能平台管理接口(Intelligent Platform Management Interface,IPMI)的技术。
典型的IPMI系统主要包含硬件架构及韧体架构。该硬件架构是一个平台管理硬件,通常是一个内建有基板管理控制器(Baseboard ManagementController,BMC)的微控制器。另一方面,嵌入于该基板管理控制器内的韧体架构实际上是一个与服务器的硬件分开独立运作的服务器管理次系统(server management subsystem)。换句话讲,该韧体架构是与服务器的中央处理器(CPU)、基本输入输出系统(BIOS)、操作系统(OS)及系统管理软件(SMS)分开独立运作。特别是,当服务器的中央处理器(CPU)、基本输入输出系统(BIOS)及操作系统(OS)失效时,服务器管理次系统可作为一系统管理软件与平台管理硬件之间的接口。
然而,现有技术产生客制化IPMI韧体的方法是先将客制化原始码(customized source code)编译成客制化二进位码,然后将该客制化二进位码连结至IPMI系统的主核二进位码(main core binary code),最终产生客制化IPMI韧体。其中主核二进位码是一标准通用的IPMI控制程序,用以控制IPMI系统;客制化原始码是由IPMI系统制造商根据IPMI标准制作的另一控制程序以满足使用者的硬件架构。请参照图1所示的现有技术的IPMI韧体客制化的步骤流程图。在步骤100中,IPMI系统制造商首先会使用一应用软件接口编辑IPMI硬件架构与IPMI韧体架构之间的环境参数,以产生一对应于使用者硬件架构的客制化原始码。在步骤102中,IPMI系统制造商编译客制化原始码以产生客制化二进位码。最后在步骤104中,将客制化二进位码及主核二进位码合并在一起,以形成客制化IPMI韧体。
然而上述现有技术中,首先客制化原始码必须被转换成客制化二进位码后,才能将客制化二进位码与主核二进位码整合(连结或组合)在一起。此现有方式有两种缺点一是由于这些二进位码为机器码的形式,当发生错误时,因人类几乎不可能判读机器码,使用者几乎不可能修改该些二进位码,导致根本无法对程序的内容进行检查并除错。其次,因该编译程序复杂,为了能够连结至主核二进位码,需要通过步骤102来产生客制化二进位码。同时,因对应于硬件架构的原始码必须编译成二进位码的形式才能与其它的二进位码连结,所以原始码必须预设为与硬件架构相一致并须使用应用软件接口编辑。也就是说,一旦使用者所使用的硬件架构被改变,原始码也必须要做对应的修改,因此使用者就必须要求IPMI系统制造商根据新的硬件架构开发客制化IPMI韧体,重新编写对应于硬件架构的原始码。
因此,的确有必要提供一种IPMI韧体架构的客制化方法,以简化现有韧体编译的程序,并解决其除错困难的问题。

发明内容本发明的目的之一在于提供一种智能平台管理接口韧体架构,其包含原始码及客制化码,且在编译前无需将这些编码转换成二进位码的形式,从而便于修正。
本发明的目的之二在于提供一种建立智能平台管理接口韧体架构的方法,其能编译该原始码及客制化码,以产生一韧体目的码,然后连结该韧体目的码与核心码,以形成一影像执行模组,通过这种方式简化韧体架构的建立程序。
本发明的目的之三在于提供一种建立智能平台管理接口韧体架构的方法,通过开放原始码的架构,使其能与各种态样的硬件架构兼容。
为达成上述目的之一,本发明采用如下技术方案一种智能平台管理接口韧体架构,该智能平台管理接口韧体架构嵌入于一智能平台管理接口系统架构的一智能平台管理接口硬件架构中,其中该智能平台管理接口硬件架构包含至少一硬件接口装置及一记忆区域,该智能平台管理接口韧体架构包含一用以控制该智能平台管理接口硬件架构的智能平台管理接口核心次系统;以及一能由该智能平台管理接口核心次系统执行并用以建立该智能平台管理接口韧体架构的影像执行模组,其中该影像执行模组是通过连结至少一对应于该硬件接口装置的韧体目的码与至少一预存在该智能平台管理接口硬件架构的记忆区域中的核心码而形成,且该韧体目的码用以定义该智能平台管理接口韧体架构与该智能平台管理接口硬件架构间的至少一环境参数,且该核心码是一为控制该智能平台管理接口硬件架构而预存的标准程序汇集。
为达成上述目的之二,本发明采用如下技术方案一种建立智能平台管理接口韧体架构的方法,其中该智能平台管理接口韧体架构嵌入于一智能平台管理接口硬件架构中,且该智能平台管理接口硬件架构包含至少一硬件接口装置、至少一原始码及至少一预存在一记忆区域中的核心码,该方法包含下列步骤a.选择至少一附加硬件接口装置;b.产生至少一对应于该附加硬件接口装置的客制化码,定义至少一附加环境参数;c.利用该硬件接口装置的该客制化码及该原始码,以定义该韧体架构与该智能平台管理接口硬件架构间的至少一环境参数;d.编译该原始码与该客制化码,以产生至少一韧体目的码;以及e.连结该韧体目的码与该核心码,以形成一影像执行模组,且建立该智能平台管理接口韧体架构。
将以上形成该影像执行模组的原理详述如下每一原始码均为一可满足不同态样的硬件架构的控制程序,这些原始码是IPMI系统制造商依据IPMI标准而制作;且每一客制化码是为满足使用者硬件架构而特定配置的控制程序,该客制化码通常是由使用者以IPMI系统制造商提供的原始码为基础所编写;接着,通过编译该客制化码及原始码,进一步产生韧体目的码。所谓核心码为一种通用于IPMI的控制程序,储存于一程序库中用以控制IPMI系统,前述韧体目的码与该核心码相连结,用以形成前述影像执行模组。前述程序库是为了控制IPMI硬件架构而预存的一标准程序汇集。依据本发明,因客制化码可以按照使用者需要而修改,如果发现编译错误,使用者也可修改该客制化码以修正错误(又称除错)。由于原始码与客制化码均以同样的程序语言如C语言来编写,因此就程序编译、修改及再编译而言,该除错程序只是单一步骤的程序而已。
为达成上述目的之三,本发明采用如下技术方案一种建立智能平台管理接口(IPMI)韧体架构的方法,其中该智能平台管理接口(IPMI)韧体架构嵌入于智能平台管理接口(Intelligent Platform Management Interface,IPMI)硬件架构中,其中该智能平台管理接口硬件架构包含硬件接口装置、原始码及至少一预存在一记忆区域中的核心码,该方法包含下列步骤a.选择该硬件接口装置;b.利用该硬件接口装置所对应的该原始码,定义该智能平台管理接口韧体架构与该智能平台管理接口硬件架构间的至少一环境参数;c.编译该原始码,以产生至少一韧体目的码;以及d.连结该韧体目的码与该核心码,以建立该智能平台管理接口韧体架构。
相较于现有技术,本发明的优点是(a)、通过直接编译原始码与客制化码而产生韧体目的码,而非先将其分别转换成二进位码与客制化二进位码后,再将其组合在一起。因此,除错程序可在单一步骤中完成;(b)、建立韧体架构的程序可以被简化为编译客制化码与原始码,以产生韧体目的码,再将该韧体目的码连结至预存在程序库中的核心码;及(c)、应用开放的原始码架构,IPMI韧体架构能与各种态样的IPMI硬件架构兼容,这样使用者可以自行独立修改客制化码。

图1为现有IPMI韧体客制化的步骤流程图。
图2为本发明IPMI系统架构的实施例的方块图。
图3为一种依据本发明较佳实施例形成影像执行模组的流程方块图,以建立本发明的IPMI韧体架构。
图4为一种依据本发明较佳实施例的客制化IPMI韧体架构的方法步骤流程图,其中该IPMI韧体架构是依据图2所示的实施例。
具体实施方式请参照图2所示,其为一种依据本发明较佳实施例的智能平台管理接口(IPMI)系统架构的方块图,其中该IPMI系统架构适用于一信息来源端(如主机系统)与操作端间的IT(信息技术)管理应用。本发明的IPMI系统架构20主要包含硬件接口装置如通道中心200、通道表单202、若干个感测/管理单元206及信息探测表单208。
在该通道中心200设置有若干个通道应用接口(未图示),如IPMB(智能平台管理总线)或ICMB(智能机箱管理总线)应用接口。该通道中心200使用一通道应用接口传输或接收来自信息来源端的通道信息,并且取得对应于该通道信息的地址指针。该通道表单202耦接于该通道中心200,用于定义该通道中心200的通道应用接口,以更新该通道应用接口与外部硬件管理单元210之间的通讯接口,该通道表单202,如一种局域网络/通用异步收发器(LAN/UART)表单,用以规范经过通道应用接口的信息。例如,该LAN/UART表单可用以规范那些经过一通用异步收发器(UART)应用接口及局域网络(LAN)应用接口的信息。
该通道中心200耦接于一IPMI核心次系统204,IPMI核心次系统204用以处理前述通道信息。具体而言,该IPMI核心次系统204包含一中央信息缓冲单元、一信息执行模组及一内存控制单元(未图示),其中该信息执行模组耦接至中央信息缓冲单元,用以接收对应于通道信息的地址指针;该内存控制单元耦接至信息执行模组,用以定期询问感测/管理单元206的内存中是否有感测到的新事件,通过这种方式取得有关该感测到新事件的信息并储存该信息。
该若干个感测/管理单元206耦接于该IPMI核心次系统204,用以感测主机板上的物理变化并将感测事件的信息储存于内存中。该信息控测表单208耦接于该IPMI核心次系统204,用以定义该感测/管理单元206与该IPMI核心次系统204间的感测参数,并依据该信息执行模组控制该感测/管理单元206。举例而言,本发明的一感测/管理单元206可以是I2C传感器212、I2C驱动程序214、GPIO(一般用途输入/输出埠)传感器216、GPIO驱动程序218,或者是芯片管理单元220。
请参照图3所示,其显示一种形成影像执行模组300的流程方块图,通过这种方式建立本发明智能平台管理接口(IPMI)韧体架构。其中客制化码302是由使用者以一种与原始码304相同的编码编写而成,用以控制附加硬件接口装置或增加与IPMI硬件架构的特定硬件接口装置有关的特殊或特定的功能,因此该客制化码302可定义对应于该附加硬件接口装置或与特定硬件接口装置有关的特定功能的环境参数。该原始码304是由制造商编写而成,以控制具有基本IPMI硬件架构的一般功能的硬件接口装置。
该韧体目的码306是通过将该客制化码302与该原始码304一起编译而产生的。值得一提的是,即便没有该客制化码302,仍然可以编译由制造商所提供,所预先编写的原始码,以产生前述基本IPMI硬件架构的基本韧体目的码。而实际上,也可预设客制化码302为内定(Default)。在此,需要作一区别,一种仅由该原始码304编译而成的韧体目的码,可称之为“基本韧体目的码”;另一种将该原始码304与该客制化码302一起编译而成且可能已经除过错的韧体目的码,可称之为“韧体目的码306”加以区别。此外,该韧体目的码可用以定义该智能平台管理接口韧体架构与该智能平台管理接口硬件架构间的至少一环境参数。
该核心码308或称程序库(program bank或Library)能由Intel、DELL、HP及NEC所规范的IPMI规格取得,IPMI规格的产生是为了控制由不同制造商生产的多量且不同种类的服务器。因此,该核心码308是为了控制基本IPMI硬件架构而预先准备的标准程序汇集。该核心码308是以二进位码的形式存在并能与前述的该韧体目的码306相连结,将该韧体目的码306与该核心码308连结,用以形成一影像执行模组300。该影像执行模组300为一种可执行的影像文件,该影像文件以一常见格式储存于一记忆区域(如ROM)中,以建立IPMI韧体架构。
该影像执行模组300能为IPMI核心次系统204所执行以建立起前述IPMI韧体架构,如前所述,该IPMI韧体架构包含储存于该记忆区域的该影像执行模组300以作为韧体(未图示),以及该IPMI核心次系统204。通过编译该客制化码302与该原始码304以产生一韧体目的码306。事实上,该韧体目的码306是与一些预存在程序库中的该核心码308相连结,以形成前述影像执行模组300。例如,当使用者需要某种附加或特定的功能以控制附加硬件接口装置,或是需要一些有关IPMI硬件架构(如基本IPMI硬件架构)的其它不同功能时,使用者便可编写一客制化码以实现其所需的功能。该客制化码302可以包含硬件驱动程序,以及一套指令,用以定义适当的附加环境参数,以控制附加硬件接口装置或有关IPMI的不同功能,以实现该附加或特定的功能。该客制化码302如同原始码304,其也为一种程序语言,如C或C++。需注意的是,即便没有客制化码,基本IPMI韧体架构仍能够进行其功能的运作,但在上述案例中,所述的附加或特定的功能便无法实现。在本发明中,依据IPMI硬件架构的基本配置,该原始码304已经被预先设置,也就是说,已定义IPMI韧体架构与IPMI硬件架构间的环境参数,并将其连结至该核心码308,以建立控制IPMI硬件架构的IPMI韧体架构。虽然通过预先编写的原始码能用于产生一基本韧体目的码,但是在IPMI系统中,每一个不同的服务器都可能具有不同的硬件环境设定。因此,该客制化码302可用以满足不同硬件的需求或其它增加的应用需求,例如,风扇温度或风扇转速的感测/管理单元。总之,本发明通过编译原始码304与客制化码302产生韧体目的码306,并将该韧体目的码306与该核心码308相连结,即可简化韧体架构的每一编译、验证及除错的程序。
本发明的核心码308是以目的码(机械语言)的形式存在,该客制化码302与该原始码304均以C语言编写(如ANSI C或C+/C++)或以其它高阶或低阶的程序语言编写,通过使用C语言等程序语言编写该客制化码302,能提供使用者灵活且有效地增加特殊或特定的功能,且可以定义该智能平台管理接口韧体架构与智能平台管理接口硬件架构间的一附加硬件接口装置的至少一附加环境参数。并且,因本发明应用一开放式的原始码架构,使用者可自行独立修改客制化码,使本发明IPMI韧体架构可与各种态样的IPMI硬件架构兼容,而无需重新编写原始码。
请参照图4所示,为依据本发明的一种客制化IPMI韧体架构的步骤流程图,也为依据本发明的一种建立IPMI韧体架构的方法的步骤流程图,且该IPMI韧体是嵌入于IPMI硬件架构中用以执行IPMI系统架构。该方法包括下列步骤在步骤400中,选择至少一硬件接口装置。该硬件接口装置可为如图2中所示的IPMI系统架构20的通道中心200、通道表单202、若干个感测/管理单元206及信息探测表单208。
在步骤402中,利用至少一对应于该被选定的硬件接口装置的原始码304,以定义至少一韧体架构与IPMI硬件架构间的环境参数。
在步骤404中,通过编译该原始码304或编译该原始码304与该客制化码302,以产生至少一韧体目的码306。
在步骤404之后,如果发生编译错误,执行步骤406的除错程序,这样可以选择性地修改这些对应于不同硬件接口装置的不同环境参数的该客制化码302,以进入下一步骤408;或者修正该编译错误后,返回至步骤404进行再编译。否则的话,也就是在步骤404中没有发生编译错误时,此程序会直接进入下一步骤408。本发明的编译程序是通过直接将该客制化码302与该原始码304一起编译,以产生该韧体目的码306,而非先将其分别转换成二进位码与客制化二进位码后,再将其组合在一起。
在步骤408中,将该韧体目的码306连结到至少一预存在IPMI硬件架构的记忆区域中的核心码308,以形成一影像执行模组300,并建立IPMI韧体架构。
此外,在编译步骤404之前及在产生步骤402之后,当附加硬件接口装置的附加环境参数存在时,该客制化码302预先被产生。在编译步骤404之前及产生该客制化码302之后,该客制化码302也被传送至IPMI硬件架构的记忆区域中。
本发明的优点如下(a)、通过直接编译该原始码与客制化码以产生该韧体目的码,而非先将其分别转换成二进位码与客制化二进位码后,再将其组合在一起。因此任一除错程序都能在单一步骤中完成;(b)、建立韧体架构的程序可以被简化为编译该客制化码与该原始码产生该韧体目的码,再将该韧体目的码连结至该核心码;以及(c)、应用一种开放式的原始码架构,让使用者无需再重新编写该原始码便能使IPMI韧体架构与各种态样的IPMI硬件架构兼容。
权利要求
1.一种建立智能平台管理接口韧体架构的方法,其中该智能平台管理接口韧体架构嵌入于一智能平台管理接口硬件架构中,且该智能平台管理接口硬件架构包含至少一硬件接口装置、至少一原始码及至少一预存在一记忆区域中的核心码,其特征在于该方法包含下列步骤a.选择该硬件接口装置;b.利用该硬件接口装置所对应的该原始码,定义该智能平台管理接口韧体架构与该智能平台管理接口硬件架构间的至少一环境参数;c.编译该原始码,以产生至少一韧体目的码;以及d.连结该韧体目的码与该核心码,以建立该智能平台管理接口韧体架构。
2.如权利要求1所述的建立智能平台管理接口韧体架构的方法,其特征在于在步骤b之后,更包含步骤b1.产生一客制化码,以定义一附加硬件接口装置的至少一附加环境参数,其中该客制化码是与该原始码一起编译,以产生步骤c中的该韧体目的码。
3.如权利要求2所述的建立智能平台管理接口韧体架构的方法,其特征在于该客制化码包含至少一驱动程序或一套指令。
4.如权利要求2所述的建立智能平台管理接口韧体架构的方法,其特征在于该客制化码依据该原始码而被加以修改。
5.如权利要求2所述的建立智能平台管理接口韧体架构的方法,其特征在于在步骤b1之后,更包含步骤b2.将该客制化码传送至该智能平台管理接口硬件架构的该记忆区域中。
6.如权利要求2所述的建立智能平台管理接口韧体架构的方法,其特征在于该原始码与该客制化码是以同样的程序语言编写而成。
7.如权利要求6所述的建立智能平台管理接口韧体架构的方法,其特征在于该原始码与该客制化码是以C语言编写而成。
8.如权利要求2所述的建立智能平台管理接口韧体架构的方法,其特征在于在步骤c之后,更包含步骤c1.如果发生编译错误,则选择性地修改该客制化码,以修正该编译错误并返回步骤c。
9.如权利要求1所述的建立智能平台管理接口韧体架构的方法,其特征在于步骤d更包含连结该韧体目的码与该核心码,以形成一影像执行模组,且建立该智能平台管理接口韧体架构。
10.如权利要求1所述的建立智能平台管理接口韧体架构的方法,其特征在于该核心码是一为控制该智能平台管理接口硬件架构而预存的标准程序汇集。
11.一种建立智能平台管理接口韧体架构的方法,其中该智能平台管理接口韧体架构嵌入于一智能平台管理接口硬件架构中,且该智能平台管理接口硬件架构包含至少一硬件接口装置、至少一原始码及至少一预存在一记忆区域中的核心码,其特征在于该方法包含下列步骤a.选择至少一附加硬件接口装置;b.产生至少一对应于该附加硬件接口装置的客制化码,定义至少一附加环境参数;c.利用该硬件接口装置的该客制化码及该原始码,以定义该智能平台管理接口韧体架构与该智能平台管理接口硬件架构间的至少一环境参数;d.编译该原始码与该客制化码,以产生至少一韧体目的码;以及e.连结该韧体目的码与该核心码,以形成一影像执行模组,且建立该智能平台管理接口韧体架构。
12.如权利要求11所述的建立智能平台管理接口韧体架构的方法,其特征在于在步骤c之后,更包含将该客制化码传送至该智能平台管理接口硬件架构的该记忆区域中。
13.如权利要求11所述的建立智能平台管理接口韧体架构的方法,其特征在于该影像执行模组是一可由一智能平台管理接口核心次系统执行的可执行影像文件,以建立该智能平台管理接口韧体架构。
14.如权利要求11所述的建立智能平台管理接口韧体架构的方法,其特征在于该原始码与该客制化码是以同样的程序语言编写而成。
15.如权利要求14所述的建立智能平台管理接口韧体架构的方法,其特征在于该原始码与该客制化码是以C语言编写而成。
16.如权利要求11所述的建立智能平台管理接口韧体架构的方法,其特征在于在步骤d之后,更包含步骤d1.如果发生编译错误,则选择性地修改该客制化码以修正该编译错误并返回步骤d。
17.如权利要求11所述的建立智能平台管理接口韧体架构的方法,其特征在于该核心码是一为控制该智能平台管理接口硬件架构而预存的标准程序汇集。
18.一种智能平台管理接口韧体架构,该智能平台管理接口韧体架构嵌入于一智能平台管理接口系统架构的一智能平台管理接口硬件架构中,其中该智能平台管理接口硬件架构包含至少一硬件接口装置及一记忆区域,其特征在于该智能平台管理接口韧体架构包含一用以控制该智能平台管理接口硬件架构的智能平台管理接口核心次系统;以及一能由该智能平台管理接口核心次系统执行并用以建立该智能平台管理接口韧体架构的影像执行模组,其中该影像执行模组是通过连结至少一对应于该硬件接口装置的韧体目的码与至少一预存在该智能平台管理接口硬件架构的该记忆区域中的核心码而形成,且该韧体目的码用以定义该智能平台管理接口韧体架构与该智能平台管理接口硬件架构间的至少一环境参数,且该核心码是一为控制该智能平台管理接口硬件架构而预存的标准程序汇集。
19.如权利要求18所述的智能平台管理接口韧体架构,其特征在于该韧体目的码是通过编译至少一原始码而产生的,该原始码用以定义该智能平台管理接口韧体架构与该智能平台管理接口硬件架构间的该环境参数。
20.如权利要求19所述的智能平台管理接口韧体架构,其特征在于该韧体目的码是通过编译该原始码与至少一客制化码而产生的,且该客制化码定义该智能平台管理接口韧体架构与该智能平台管理接口硬件架构间的一附加硬件接口装置的至少一附加环境参数。
全文摘要
本发明公开一种智能平台管理接口(IPMI)韧体架构及其建立方法,该方法包含下列步骤选择硬件接口装置;利用对应于该硬件接口装置的原始码,以定义韧体架构与IPMI硬件架构间的至少一环境参数;编译原始码以产生至少一韧体目的码;以及,连结韧体目的码与核心码,形成一影像执行模组。在编译步骤之后,如发生编译错误,则选择性地修改对应于附加硬件接口装置的客制化码,或依据该硬件接口装置的环境参数修正编译错误后,再次执行编译的所谓单步骤除错程序。
文档编号G06F9/45GK101051269SQ20071009368
公开日2007年10月10日 申请日期2007年4月2日 优先权日2006年4月5日
发明者谢志道 申请人:宏正自动科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1