沟通多个周边接口与多个周边控制器的管理系统与方法

文档序号:6560698阅读:162来源:国知局

专利名称::沟通多个周边接口与多个周边控制器的管理系统与方法
技术领域
:本发明有关于一种计算机管理系统与方法,特别是关于一种驱动各种周边控制器的驱动程序的管理系统与方法。
背景技术
:这几年来,各公司尤其是跨国公司所使用的服务器数量逐年攀升。然而传统上,系统管理者对于位于远程的各类型服务器如电信机房或计算机站等故障,特别是重要服务器如ISP服务器故障停摆,就必需亲自前往当地进行维修或故障排除,如此太过于耗费人力成本和时间成本。如今为了克服这样的缺点,以便于维持远程服务器运作的良好状态,由Intel、NEC、Hewlett-Packard与Dell等企业共同制订了智能平台管理接口(IntelligentPlatformManagementInterface,IMPI)规格,其提供一套用以监测服务器的特性(如温度、电压、电力供应与电扇)的硬件标准接口。IMPI规格的服务器监测并以一共通格式储存平台信息,其可由服务器管理软件存取或直接由服务器提供。透过基板管理控制器(BaseboardManagementController,BMC)的运用,IMPI的监测与控制功能独立于服务器基本输出入主系统(BasicInput/OutputSystem,BIOS)与操作系统。除此之外,BMC还可用于沟通周边控制器以协助服务器的作业。然而,不同芯片制造商所制造的各种周边控制器需要利用不同的驱动程序加以驱动。例如常作为硬件监测器以监测电压度数或温度的传感器群组(sensorfeatures),其具有各种型式,诸如LM85、LM75以及W83627HF等等。这些不同型号的芯片往往分别由其芯片制造者所提供的驱动程序才能驱动。传统上,当安装一操作系统与该周边控制器的驱动程序于服务器之时,服务器制造商必须在场测试服务器一段时间,直到安装完毕。如果服务器制造商将原本的周边控制器更换为其它型号,比如将传感器从LM85改成W83627HF,这时就必须再安装新的驱动程序,这个新安装的驱动程序或许与原有的BMC不兼容。因此,使用者或管理者必须花费额外的时间测试刚安装驱动程序的兼容性,而导致浪费大量的时间和人力成本。因而,如果发展出能兼容于多种周边控制器的BMC,将减少测试对新安装驱动程序的兼容性或因新安装驱动程序重设相对参数的时间,可便利服务器制造商的测试。
发明内容本发明的目的,在于提出一种以智能平台管理接口(IntelligentPlatformManagementInterface,IMPI)架构所构成的多个周边接口以沟通多个周边控制器的管理系统,其包含一内存寻址表(memoryaddresstable)、一韧件模块(firmwaremodule)、一传输协议单元、一内存单元以及一驱动程序对照表。该韧件模块系用来读取该内存寻址表以获得一对应于该多个周边接口其中之一周边接口之初始地址(initialaddress),并于该初始地址加上一偏移地址(offsetaddress)以产生一信息结构(informationstructure)。该传输协议单元用来转换该信息结构为一符合IMPI传输协议之控制器传输协议。该内存单元用来依据与该控制器传输协议相符之该信息结构存取一周边控制器信息。该驱动程序对照表用来储存多个周边控制器驱动程序,每一周边控制器驱动程序对应于一周边控制器,且该韧件模块系依据该周边控制器信息存取一控制器驱动程序,用以初始化该对应之周边控制器。本发明的再一目的,在于提出一种以IMPI系统沟通多个周边控制器的多个周边接口的管理方法,其包含下列步骤存取储存于一内存单元之一周边控制器信息;储存该周边控制器信息于一信息对照表;自该信息对照表读取一对应于该周边控制器信息之周边装置指针;自一驱动程序对照表中获得至少一对应于该周边装置指针之周边控制器驱动程序;以及依照该周边控制器驱动程序选取一个以上周边控制器并启动之。本发明的又一目的,在于提出一种适用于管理IMPI系统的服务器内的多个周边控制器的系统,其包含一储存控制器,用来储存多个驱动程序,该多个驱动程序系用来驱动多个周边控制器,以及一基板管理控制器,用来沟通该多个周边控制器,该基板管理控制器系由该储存控制器所储存之该多个驱动程序以沟通该多个周边控制器。与现有技术相比,本发明藉由存取储存在内存单元内对应于周边控制器的预设参数,使得刚安装的周边控制器要与BMC共工时,BMC能够适当决定正确的驱动程序以驱动周边控制器,因此使用者不会浪费时间在为新的周边控制器的驱动程序设定参数,或者甚至为之另写驱动程序。参考多个附图、借助于本发明的非限制性实施例详细介绍本发明图1为本发明的IMPI功能方框2为本发明的BMC与内存单元的操作流程图。图3为BMC与内存单元的操作关系图。具体实施方式请参阅图1,图1为本发明的IMPI系统10的功能方框图。IMPI系统10可以是透过网络由远方控制台(console)所遥控的服务器。IMPI系统10包含一基板管理控制器(baseboardmanagementcontroller,BMC)20与一内存单元(memoryunit)15。基板管理控制器20与内存单元15可以形成于一扩充卡(daughterboard)上或是整合成单一芯片。基板管理控制器20在IMPI规格的基础上执行系统管理功能,其包含一韧件模块(FirmwareModule)22、一传输协议单元(Protocolunit)24、一信息对照表(InformationTable)26与一驱动程序对照表(Drivertable)28,其用来储存驱动程序以初始化(initializing)多种周边控制器。周边控制器包含边带局域网信道(Side-bandLANChannel)202、智能平台管理总线信道(IntelligentPlatformManagementBuschannel,IPMBchannel)204、具有多个硬件监控器以监控风扇与主机板的温度或电压的传感器群组(SensorFeature)206、芯片传感器(On-chipSensor)208、GPIO控制器(GeneralPurposeInput/Outputcontroller,GPIOcontroller)210、通用异步收发传输器/串行局域网信道(UniversalAdaptiveReceiver/Transmitter(UART)/SerialoverLAN(SOL)channel)212、以及一键盘控制型态/低引脚数信道(KeyboardControllerStyle(KCS)/LowPinCount(LPC)channel)214。UART/SOL信道212用来连结使用UART或串行传输技术的接口。在制造或组装服务器的过程中,设有基板管理控制器20与周边控制器的印刷电路板可以视需要从服务器予以移除或是新增。网络适配卡(NetworkInterfaceCard,NIC)2021可透过边带局域网信道(Side-bandLANchannel)202连结于以太网(Ethernet)。LAN接口规格规范如何将IPMI信息利用远程管理控制协议(RemoteManagementControlProtocol)包裹成一封包,并透过基板管理控制器来传送该封包。在本实施例中,基板管理控制器20以边带(side-band)方式与网络适配卡2021相沟通。基板管理控制器20提供一I2C(Inter-IntegratedCircuit)总线作为LAN信道。智能平台管理总线(IPMB)是一I2C串行传输总线,作为主要系统模块之间沟通的路径。本实施例中,该智能平台管理总线用来沟通管理控制器。基板管理控制器20经由I2C串行传输总线与智能平台管理总线信道204相连。一般来说,智能平台管理总线信道204可作为其它服务器上的远程控制器,也就是说,某一服务器上的BMC可以透过安装于其它服务器上的智能平台管理总线信道204进行远程控制的目的。此外,依据IPMI规格,即使服务器的中央处理器(CPU,图1中未图示)处于关闭状态,智能平台管理总线信道204仍允许周边控制器存取平台管理信息。服务器10提供两种传感器,一种称为芯片传感器(on-chipsensor)208,另一种称为传感器群组(sensorfeature)206,其中传感器群组206包含多个I2C传感器。芯片传感器208或是传感器群组206所感测的传感器事件以数字方式加以记录事件发生当下的程度,或是判断感测事件是否符合默认值的方式加以记录。图1所示的实施例显示三个硬件监测器(Hardwaremonitors)2061、2062、2063,在其它实施例中并不限于使用三个硬件监测器。硬件监测器用以测量操作特性,诸如温度,电压,电源供应,电扇或任何影响服务器运作效果的操作参数。例如硬件监测器2061可测量服务器10的中央处理器的温度,硬件监测器2062用以测量基板管理控制器20的电压,硬件监测器2063测量散热风扇是否正常操作。举例来说,硬件监测器2061可记录服务器10的中央处理器的温度达到摄氏50度,或是于中央处理器的温度超过摄氏50度时记录该事件曾经发生。GPIO控制器210用在程控接脚(programmablepins),以管理基板管理控制器是否运作、CPU失能与否、系统电源/重设控制,以及液晶显示面板控制信号的接收等等。通用异步收发传输器/串行局域网(UniversalAdaptiveReceiver/Transmitter(UART)/SerialoverLAN(SOL)信道212提供一串行传输接口,利用该串行传输接口IPMI信息可以与基板管理控制器20直接串行传输。通用异步收发传输器/串行局部局域网络信道212可以在操作系统运作前或是运作时用来启动异步串行传输以与BMC20沟通。BMC20提供一个通用异步收发传输器信道。键盘控制型态(KeyboardControllerStyle,KCS)/低引脚数(LowPinCount,LPC)信道214利用商业常用的超级输出入(SuperI/O)芯片来实现,该超级输出入芯片使用低引脚数(LowPinCount,LPC)协议。键盘控制型态/低引脚数信道214用来沟通基板管理控制器20以及一系统管理软件(SystemManagementSoftware,SMS)。该系统管理软件系操作在服务器10的操作系统之下。键盘控制型态/低引脚数信道214唯一用于传输SMS信息的信道。驱动程序对照表28包含多个驱动程序,分别驱动个别周边控制器。基板管理控制器20储存的韧件模块22用以协调这些周边控制器与内存单元15间的运作。此内存单元15可为非挥发性内存,例如电可擦除可编程只读存储器(EEPROM),用以储存系统事件纪录(SystemEventLog,SEL)数据以及感应数据记录(SensorDataRecord,SDR),其中系统事件记录表示特定周边控制器过去所发生事件的历史纪录,而感应数据记录数据提供关于周边控制器的相关信息,诸如周边控制器型式、位置、存取信息、该周边控制器所提供的读取型式的信息等。举例来说,传感器群组206的感应数据记录数据可以记录诸如传感器群组206监视服务器10的CPU的温度以及服务器10内的传感器群组206的位置等信息。所以基板管理控制器20利用感应数据记录了解周边控制器相关配置。此外,感应数据记录数据亦可以包含能够认定周边控制器制造者的身分的识别信息。请参见图2及图3以了解周边控制器与基板管理控制器20间的运作。图2为本发明的基板管理控制器20与内存单元15的操作流程图。图3为表示BMC与内存单元间的运作关系。基于上述基板管理控制器20的结构,基板管理控制器20与内存单元15的操作方法如下步骤100开始。步骤102读取内存寻址表(memoryaddresstable)18以取得周边接口控制器的初始位置。步骤104在初始位置上增加偏移位置以产生至少一个储存于信息结构中的内存数据指位器。步骤106移转此信息结构至一传输协议单元。步骤108读取内存单元以取得周边控制器信息。步骤110存取信息对照表中的周边控制器信息。步骤112自此信息对照表中读取对应于该周边控制器信息的周边装置指针。步骤114自驱动程序对照表获得至少一个对应于周边装置指针的周边控制器驱动程序。步骤116根据此周边控制器驱动程序初始化并开启周边控制器,并选取至少一个周边控制器进行开启。步骤118是否启动其它周边控制器?若是,至步骤102;若否,至步骤120。步骤120结束。请一并参阅图1、图2及图3。如前所述,各个芯片制造者会生产不同之接口设备以及驱动程序。因此,在更换周边控制器(例如传感器群组206)时,基板管理控制器20的韧件模块22会执行传感器工作401并存取内存寻址表18以获得传感器群组206的初始位置(步骤102)。其次,韧件模块22于该初始位置上再加上一偏移地址以产生至少一个储存于数据结构的内存数据指位器,例如图3所示的传感器指针1(步骤104)。此内存数据指位器会指示传感器群组206驱动程序储存在内存单元15中的位置。然后,韧件模块22移转此信息结构至传输协议单元24以包装该信息结构,使之与所需的传输协议兼容,如I2C传输协议(步骤106)。接着,依据记忆信息指位器经由I2C总线存取内存单元15以取得传感器群组信息(步骤108)。韧件模块22储存传感器群组信息于信息对照表26(步骤110)。在图3中,内存单元15储存传感器1至传感器N的信息以及信道1至信道N之信息,每个信息指向不同的传感器或信道的参数。此外,本实施例中,信息对照表26可分为一传感器信息对照表(sensorinformationtable)26a以及一信道信息对照表(channelinformationtable)26b,其中传感器信息对照表26a记录来自内存单元15的传感器信息,而信道信息对照表26b则记录来自内存单元15的信道信息。必须注意的是,有时候会同时更换数个周边控制器,故本发明的韧件模块22亦能够存取内存寻址表18以取得数个对应于该周边控制器的初始地址。而韧件模块22将依据欲更换的周边控制器的不同分别产生不同的传感器工作(sensortask)401或信道工作(channeltask)402,并针对不同的传感器工作401或信道工作402加以执行以存取出对应的初始地址与相关偏移地址。在此同时,韧件模块22亦将该周边控制器信息(即该传感器信息与信道信息)储存于信息对照表26。此时,韧件模块22会自传感器信息对照表26a读取一传感器信息的指针(sensorindex)301或是信道信息的指针(channelindex),以取出该传感器1的信息。韧件模块22能够分析传感器1的信息,特别是其中用来定义周边控制器的组态以及识别传感器群组206的制造者身分的SDR信息(步骤112)。接下来,韧件模块22依照该传感器信息的指针301自驱动程序对照表28获得该传感器群组206的驱动程序(步骤114)。最后传感器群组206由该传感器群组的驱动程序所启动(步骤116)。如果更换一个以上之周边控制器,整个程序会不断重复,直到所有周边控制器都由适当的驱动程序所驱动为止。另外,若无适当之驱动程序,基板管理控制器20将提醒使用者。除此之外,基板管理控制器20尚提供一硬/软件接口,使得多个驱动程序码可由软件接口加以编写。基板管理控制器20能够支持智能平台管理接口规格。该驱动程序可储存于基板管理控制器20之RAM或内存单元15之中。与现有技术相比,本发明提供一能够储存多种用以启动与驱动不同周边控制器的驱动程序的BMC。若使用者想要更换服务器之内的部分周边控制器,该BMC的韧件模块将读取该驱动程序对照表以决定启动或驱动该部分周边控制器的驱动程序。因此,使用者将不会为了该部分周边控制器的驱动程序重设参数,甚至为该新周边控制器另写新驱动程序而浪费时间。综上所述,虽然本发明已以若干较佳实施例揭露如上,但其并非用以限定本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,当对本发明做出各种修改与变动,本发明的保护范围当以后附的权利要求所界定的范围为准。权利要求1.一种以智能平台管理接口架构沟通多个周边接口与多个周边控制器的管理系统,其特征在于,所述管理系统包括一内存寻址表;一韧件模块,用来读取该内存寻址表以获得一对应于该多个周边接口其中之一周边接口的初始地址,并可在该初始地址上加上一偏移地址以产生一信息结构;一传输协议单元,耦合于该韧件模块,用来转换该信息结构为一符合智能平台管理接口传输协议的控制器传输协议;一内存单元,结合于该内存寻址表,用来依据与该控制器传输协议相符的该信息结构存取一周边控制器信息;以及一驱动程序对照表,耦合于该韧件模块,用来储存多个周边控制器驱动程序,每一周边控制器驱动程序对应于一周边控制器,且该韧件模块依据该周边控制器信息存取一控制器驱动程序,用以初始化该对应的周边控制器。2.如权利要求1所述的管理系统,其中所述内存单元包含一非挥发性内存。3.如权利要求2所述的管理系统,其中所述非挥发性内存是一电可擦除可编程只读存储器。4.如权利要求1所述的管理系统,其中所述周边控制器包含一传感器。5.如权利要求1所述的管理系统,其中所述周边控制器包含一信道。6.如权利要求1所述的管理系统,其中所述信息结构包含一内存数据指位器。7.如权利要求1所述的管理系统,其中该系统还包括一结合于韧件模块的信息对照表,该信息对照表包含多个对应于该周边接口的周边控制器信息,可由该韧件模块所读取,其中该周边控制器信息对应于该信息结构。8.如权利要求1所述的管理系统,其中该系统是一基板管理控制器模块。9.一种以智能平台管理接口架构沟通多个周边控制器的多个周边接口的管理方法,其特征在于,该方法包含存取储存于一内存单元的一周边控制器信息;储存该周边控制器信息于一信息对照表;自该信息对照表读取一对应于该周边控制器信息的周边装置指针;自一驱动程序对照表中获得至少一对应于该周边装置指针的周边控制器驱动程序;以及依照该周边控制器驱动程序选取一个以上周边控制器并启动之。10.如权利要求9所述的方法,其中该方法在存取该内存单元之前,另包含读取一内存寻址表,以获得该周边接口初始地址。11.如权利要求10所述的方法,其中该方法于读取内存寻址表的步骤之后,另包含于该初始地址加上一偏移地址,以产生至少一个且储存于一信息结构的内存数据指位器。12.如权利要求11所述的方法,其中该方法于该初始地址加上一偏移地址的步骤之后,另包含转送该信息结构至一传输协议单元。13.一种适用于管理智能平台管理接口系统的服务器内的多个周边控制器的管理系统,其特征在于,该管理系统包含一储存控制器,其中储存了多个分别用以驱动多个周边控制器的驱动程序;以及一以信号方式连接该多个周边控制器的基板管理控制器,其藉由该储存控制器所储存的该多个驱动程序中所选出的驱动程序来沟通该多个周边控制器。14.如权利要求13所述的管理系统,其中还包括一内存寻址表;一韧件模块,电连接于该内存寻址表,用来读取该内存寻址表以获得一对应于特定周边接口之初始地址,并于该初始地址加上一偏移地址以产生一信息结构;一传输协议单元,耦合于该韧件模块,用来转换每一个信息结构为一符合智能平台管理接口传输协议之控制器传输协议;以及一内存单元,结合于该内存寻址表,用来存取该周边控制器之信息,其中该内存单元依照与该控制器传输协议相符之信息结构存取该信息,其中该韧件模块用来驱动多个基于该周边控制器信息的周边控制器,该多个周边控制器系由该储存于储存控制器的多个驱动程序所驱动。15.如权利要求14所述的管理系统,其中所述内存单元包含一非挥发性内存。16.如权利要求15所述的管理系统,其中所述非挥发性内存是一电可擦除可编程只读存储器。17.如权利要求14所述的管理系统,其中所述周边控制器包含一传感器。18.如权利要求14所述的管理系统,其中所述周边控制器包含一信道。全文摘要一种以智能平台管理接口(IMPI)架构沟通多个周边控制器的管理系统,其包含一韧件模块、一传输协议单元、一内存单元以及一驱动程序对照表。此韧件模块用来读取一内存寻址表以获得一周边接口的初始地址,并于该初始地址加上偏移地址以产生一信息结构。此传输协议单元用来转换该信息结构为符合IMPI传输协议之控制器传输协议。此内存单元用来存取一周边控制器信息。此驱动程序对照表用来储存多个周边控制器驱动程序,一周边控制器驱动程序系对应于一周边控制器。此韧件模块依据此周边控制器信息存取一控制器驱动程序,以启动对应的周边控制器。文档编号G06F9/445GK1908902SQ20061011093公开日2007年2月7日申请日期2006年8月1日优先权日2005年8月3日发明者黄世元,徐福彬申请人:宏正自动科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1