伺服器的检测方法
技术领域
本发明是有关于一种伺服器的检测方法,且特别是有关于一种基于一硬体线路设定档而对伺服器的基板管理控制器(baseboard management controller,简称BMC)及周边硬体元件进行检测的方法。
背景技术
随着电脑科技的进步,人们逐渐使用资讯设备来取代传统人工的作业。在日常或工作事务皆已资讯化时,人们对于资讯设备已呈现高度依赖的状态。因此,一旦资讯设备无法正常运作时将会产生严重的影响。特别是,对于讲求时间效率的工业社会,一旦生产厂商的生产线无法正常运作而准时交货给客户时,对于厂商的商誉与信用将造成无法弥补的伤害,甚至需面对巨额的赔偿。因此,许多伺服器的主机都具有基板管理控制器(BaseboardManagement Controller,简称BMC)。基板管理控制器是一种藉由各种介面来管理整个系统。例如,对系统进行状态侦测、电源管理…等控制。为了能够确保基板管理控制器的可靠与稳定,在完成使用基板管理控制器之资讯设备的生产之前的孕育阶段(bring upstage),须对基板管理控制器及其耦接的相关周边硬体元件(例如:中央处理器(CPU)、风扇、汇流排…等)进行检测,以验证硬体是否可正常运作。然而,基板管理控制器的脚位的数目非常的多,因此若以人工方式操作常会有脚位设定错误的问题。此外,硬体检测的项目也非常地多,因此若以人工方式进行检测将会非常地耗时。因此,有需要发展一套能够有效率且正确地执行上述检测程序的方法。
发明内容
为解决上述技术问题,本发明提供了一种伺服器之检测方法,所述伺服器包括一基板管理控制器,所述基板管理控制器具有多个接脚,所述多个接脚系耦接多个周边硬体元件,其特征在于,所述伺服器之检测方法包含:
设定所述基板管理控制器所使用的一硬体线路设定档,以对所述基板管理控制器的所述多个接脚的功能进行定义;
所述基板管理控制器载入所述硬体线路设定档;以及
所述基板管理控制器执行一检测程式,以依据所述硬体线路设定档执行多项检测程序,进而检测所述多个接脚及所述多个周边硬体元件之操作是否正常。
可选的,所述伺服器之检测方法另包含:
透过简单档案传输协定将所述检测程式连同所述硬体线路设定档传送给所述基板管理控制器。
可选的,所述伺服器之检测方法另包含:
将所述检测程式连同所述硬体线路设定档内建于所述基板管理控制器的一韧体影像档,并将所述韧体影像档烧录至所述基板管理控制器。
可选的,所述伺服器之检测方法另包含:
所述基板管理控制器依据执行所述多项检测程序的结果,调整所述硬体线路设定档,以变更对于所述多个接脚的定义;以及
依据调整后的所述硬体线路设定档执行所述检测程式,再次检测所述多个接脚及耦接于所述多个接脚的所述多个周边硬体元件之操作是否正常。
可选的,所述基板管理控制器包含一系统控制单元暂存器,用以储存所述基板管理控制器对于所述多个接脚之功能的定义,而所述基板管理控制器透过调整所述系统控制单元暂存器所储存对于所述多个接脚之功能的定义调整所述硬体线路设定档。
可选的,所述检测程式包含多个检测模组,每一所述检测模组系执行一对应的检测程序,以对所述多个周边硬体元件中对应的周边硬体元件进行检测。
可选的,所述多个接脚中有部分接脚具有多项功能,而每项功能对应至所述多个检测模组其中之一。
可选的,所述多个检测模组系选自由下列所组成之群组:
一系统控制单元模组,用以对所述系统控制单元暂存器进行设定,以调整所述系统控制单元暂存器所储存对于所述多个接脚之功能的定义;
一积体电路汇流排模组,用以依据所述硬体线路设定档,检测耦接于所述基板管理控制器的一积体电路汇流排之装置的操作是否正常;
一通用非同步收发传输器模组,用以依据所述系统控制单元暂存器所储存对于所述多个接脚之功能的定义,检测耦接于所述基板管理控制器的一通用非同步收发传输器介面的装置之操作是否正常;
一脉冲宽度调变模组,用以依据所述系统控制单元暂存器所储存对于所述多个接脚之功能的定义,检测耦接于所述基板管理控制器之风扇的脉冲宽度调变是否正常;
一转速计模组,用以依据所述系统控制单元暂存器所储存对于所述多个接脚之功能的定义,检测耦接于所述基板管理控制器之风扇的转速是否正常;
一通用型之输入输出模组,用以依据所述系统控制单元暂存器所储存对于所述多个接脚之功能的定义,检测所述基板管理控制器的一通用型之输入输出介面之操作是否正常;
一联合测试工作群组模组,用以依据所述系统控制单元暂存器所储存对于所述多个接脚之功能的定义,检测所述基板管理控制器的一联合测试工作群组介面之操作是否正常;
一序列周边介面模组,用以依据所述系统控制单元暂存器所储存对于所述多个接脚之功能的定义,检测耦接于所述基板管理控制器的一序列周边介面的装置之操作是否正常;
一双倍资料率模组,用以依据所述系统控制单元暂存器所储存对于所述多个接脚之功能的定义,检测耦接于所述基板管理控制器的一双倍资料率介面的记忆体之操作是否正常;
一区域网路模组,用以依据所述系统控制单元暂存器所储存对于所述多个接脚之功能的定义,检测耦接于所述基板管理控制器的一网路介面的操作是否正常;以及
一类比数位转换器模组,用以依据所述系统控制单元暂存器所储存对于所述多个接脚之功能的定义,检测所述基板管理控制器的一类比数位转换器之操作是否正常。
可选的,所述伺服器之检测方法另包含:
所述基板管理控制器依据执行所述多项检测程序的结果,产生一检测报告,而所述检测报告包含一检测结果。
可选的,所述基板管理控制器是透过一韧体并依据所述硬体线路设定档执行所述多项检测程序,而所述韧体为开放式基板管理控制器之韧体。
综上所述,本发明透过为基板管理控制器预备硬体线路设定档的方式,对基板管理控制器的多个接脚的功能进行定义。之后,基板管理控制器执行检测程式,以依据硬体线路设定档执行多项检测程序,进而检测基板管理控制器的多个接脚与多个周边硬体元件之操作是否正常。由于硬体线路设定档可动态地调整,故可提高整体检测的效率。此外,相较于人工检测须花费大量的时间,透过本发明的方法可大幅地减少检测时间。因此,本发明之方法特别适合用于资讯设备生产之前的孕育阶段(bring up stage),可大幅地减少硬体除错(debug)的时间。
附图说明
本领域的普通技术人员将会理解,提供的附图用于更好地理解本发明,而不对本发明的范围构成任何限定。其中:
图1是本发明一实施例之伺服器的功能框图;
图2是图2之伺服器的基板管理控制器之韧体的检测程式之功能框图;
图3是本发明一实施例对图1的伺服器的基板管理控制器及多个周边硬体元件进行检测之方法的流程图。
附图中:
10 伺服器
100 基板管理控制器
110 韧体
112 检测程式
114 硬体线路设定档
120 系统控制单元暂存器
130 接脚
150 周边硬体元件
201 系统控制单元模组
202 积体电路汇流排模组
203 通用非同步收发传输器模组
204 脉冲宽度调变模组
205 转速计模组
206 通用型之输入输出模组
207 联合测试工作群组模组
208 序列周边介面模组
209 双倍资料率模组
210 区域网路模组
211 类比数位转换器模组
S310至S330 步骤
具体实施方式
为使本发明的目的、优点和特征更加清楚,以下结合附图和具体实施例对本发明作进一步详细说明。需说明的是,附图均采用非常简化的形式且未按比例绘制,仅用以方便、明晰地辅助说明本发明实施例的目的。此外,附图所展示的结构往往是实际结构的一部分。特别的,各附图需要展示的侧重点不同,有时会采用不同的比例。
如在本说明书和所附权利要求书中所使用的,单数形式“一”、“一个”以及“所述”包括复数对象,除非内容另外明确指出外。如在本说明书和所附权利要求中所使用的,术语“或”通常是以包括“和/或”的含义而进行使用的,除非内容另外明确指出外。
请参考图1,图1是本发明一实施例之伺服器10的功能方块图。伺服器10包含基板管理控制器(Baseboard Management Controller,简称BMC)100及多个周边硬体元件150。在本实施例中,基板管理控制器100是以Aspeed公司所生产型号为AST2500的BMC处理器为例作说明,但本发明并不以此为限。在本发明的其他实施例中,基板管理控制器100可以是其他的基板管理控制器。再者,基板管理控制器100具有多个接脚130(以AST2500的BMC处理器为例,其共有456支接脚130),用以耦接至多个周边硬体元件150,以控制、管理、协调这些周边硬体元件150的操作。此外,周边硬体元件150可以是但不限于中央处理器(CPU)、风扇、记忆体、网路装置、电源供应器、汇流排及连接于汇流排的装置。
为方便、快速地检测基板管理控制器100的多个接脚130及多个周边硬体元件150之操作是否正常,本发明会在基板管理控制器100的韧体110中置入检测程式112及硬体线路设定档114。其中,硬体线路设定档114是用以对基板管理控制器100的多个接脚130的功能进行定义,而检测程式112则是用以依据硬体线路设定档114执行多项检测程序,以检测多个接脚130及多个周边硬体元件150之操作是否正常。在本发明一实施例中,可透过简单档案传输协定(Trivial File Transfer Protocol,简称TFTP),将检测程式112连同硬体线路设定档114传送给基板管理控制器100,以将检测程式112及硬体线路设定档114置入至基板管理控制器100的韧体110。在本发明另一实施例中,则是先将检测程式112连同硬体线路设定档114内建(build-in)于基板管理控制器100的韧体影像档(image file)中,再将此韧体影像档烧录至基板管理控制器100用以储存韧体110的可覆写式的非挥发性记忆体中,而以更新韧体110的方式,将检测程式112及硬体线路设定档114置入至基板管理控制器100的韧体110。当检测程式112及硬体线路设定档114被置入至韧体110后,基板管理控制器100即可执行检测程式112,并使检测程式112依据硬体线路设定档114执行多项检测程序,以进而检测上述多个接脚130及多个周边硬体元件150之操作是否正常。
在本发明一实施例中,基板管理控制器100可依据执行上述多个检测程序的结果,调整硬体线路设定档114,以变更对于上述多个接脚130的定义,而使相同的接脚130在变更其功能定义后而有不同的用途及功能。因此,倘若在执行检测程式112的过程中,若发现有部分的接脚130的定义有误,则检测程式112可透过调整硬体线路设定档114的方式,来变更接脚130的定义,以再次检测接脚1300及周边硬体元件150之操作是否正常,进而提高整体检测的效率。此外,在本发明一实施例中,基板管理控制器100可另包含系统控制单元(System Control Unit,简称SCU)暂存器120,用以储存基板管理控制器100对于上述多个接脚130之功能的定义。其中,基板管理控制器100的韧体110会依据硬体线路设定档114对系统控制单元暂存器120进行初始化,以使系统控制单元暂存器120于初始化后对于接脚130之功能的定义会与硬体线路设定档114的定义相同。检测过程中,系统控制单元暂存器120所储存对于接脚130的功能之定义可依据检测的需要而动态地调整。倘若检测程式112执行完所有检测程序后并未发现任何问题,则系统控制单元暂存器120最后所储存对于接脚130之功能的定义可回存以更新硬体线路设定档114,而成为硬体线路设定档114的最终版本。因此,基板管理控制器100可透过调整系统控制单元暂存器120所储存对于接脚130之功能的定义之方式来完成硬体线路设定档114的调整。
请参考图2,图2是图1之伺服器10的基板管理控制器100之韧体110的检测程式112之功能方块图。检测程式112包含多个检测模组,而每一检测模组用以执行一对应的检测程序,以对上述多个周边硬体元件150中一对应的周边硬体元件150进行检测。其中,上述多个检测模组可选自由下列所组成之群组:系统控制单元(SCU)模组201、积体电路汇流排(Inter-Integrated Circuit,简称I2C)模组202、通用非同步收发传输器(UniversalAsynchronous Receiver/Transmitter,简称UART)模组203、脉冲宽度调变(Pulse WidthModulation,简称PWM)模组204、转速计(Tachometer,简称TACH)模组205、通用型之输入输出(General-purpose input/output,简称GPIO)模组206、联合测试工作群组(Joint TestAction Group,简称JTAG)模组207、序列周边介面(Serial Peripheral Interface,简称SPI)模组208、双倍资料率(Double Data Rate,简称DDR)模组209、区域网路(Local AreaNetwork,简称LAN)模组210以及类比数位转换器(Analog-to-Digital Converter,简称ADC)模组211。其中,系统控制单元模组201用以对基板管理控制器100的系统控制单元暂存器120进行设定,以调整系统控制单元暂存器120所储存对于接脚130之功能的定义;积体电路汇流排模组202用以依据硬体线路设定档114中所定义的积体电路汇流排会使用到哪些接脚130,以检测耦接于基板管理控制器100的积体电路汇流排之装置的操作是否正常;通用非同步收发传输器模组203用以依据系统控制单元暂存器120所储存对于接脚130之功能的定义,检测耦接于基板管理控制器100的通用非同步收发传输器介面的装置之操作是否正常;脉冲宽度调变模组204用以依据系统控制单元暂存器120所储存对于接脚130之功能的定义,检测耦接于基板管理控制器100之风扇的脉冲宽度调变是否正常;转速计模组205用以依据系统控制单元暂存器120所储存对于接脚130之功能的定义,检测耦接于基板管理控制器100之风扇的转速是否正常;通用型之输入输出模组206用以依据系统控制单元暂存器120所储存对于接脚130之功能的定义,检测基板管理控制器100的通用型之输入输出介面之操作是否正常;联合测试工作群组模组207用以依据系统控制单元暂存器120所储存对于接脚130之功能的定义,检测基板管理控制器100的联合测试工作群组介面之操作是否正常;序列周边介面模组208用以依据系统控制单元暂存器120所储存对于接脚130之功能的定义,检测耦接于基板管理控制器100的序列周边介面的装置之操作是否正常;双倍资料率模组209用以依据系统控制单元暂存器120所储存对于接脚130之功能的定义,检测耦接于基板管理控制器100的双倍资料率介面的记忆体之操作是否正常;区域网路模组210用以依据系统控制单元暂存器120所储存对于接脚130之功能的定义,检测耦接于基板管理控制器100的网路介面的操作是否正常;而类比数位转换器模组211则是用以依据系统控制单元暂存器120所储存对于接脚130之功能的定义,检测基板管理控制器100的类比数位转换器之操作是否正常。
值得了解的,上述多个接脚130中有部分接脚130具有多项功能(Multifunctions),而每一项功能对应至上述多个检测模组中的其一个检测模组。举例来说,脉冲宽度调变模组204和转速计模组205可共用部分的接脚130,并藉由共用的接脚130检测风扇的脉冲宽度调变及转速是否正常。
在本发明一实施例中,基板管理控制器100可依据执行上述检测程序的结果,产生检测报告。其中,检测报告除了可包含检测结果之外,还可包含相关的检测修改建议(例如:对于硬体线路设定档114的修改建议,以调整接脚130之功能的定义)。再者,在本发明一实施例中,韧体110可为开放式基板管理控制器(OpenBMC)的韧体;而在本发明另一实施例中,韧体110可为美国安迈科技(American Megatrends Inc.;AMI)所提供的韧体。
请参考图3,图3是本发明一实施例对图1的伺服器10的基板管理控制器100及多个周边硬体元件150进行检测之方法的流程图。所述的方法包含以下步骤:
步骤S310:设定基板管理控制器100所使用的硬体线路设定档114,以对基板管理控制器100的多个接脚130的功能进行定义;
步骤S320:基板管理控制器100载入硬体线路设定档114;以及
步骤S330:基板管理控制器100执行检测程式112,以依据硬体线路设定档114执行多个检测程序,进而检测接脚130及多个周边硬体元件150之操作是否正常。
综上所述,本发明透过为基板管理控制器预备硬体线路设定档的方式,对基板管理控制器的多个接脚的功能进行定义。之后,基板管理控制器执行检测程式,以依据硬体线路设定档执行多项检测程序,进而检测基板管理控制器的多个接脚与多个周边硬体元件之操作是否正常。由于硬体线路设定档可动态地调整,故可提高整体检测的效率。此外,相较于人工检测须花费大量的时间,透过本发明的方法可大幅地减少检测时间。因此,本发明之方法特别适合用于资讯设备生产之前的孕育阶段(bring up stage),可大幅地减少硬体除错(debug)的时间。
以上所述仅为本发明之较佳实施例,凡依本发明申请专利范围所做之均等变化与修饰,皆应属本发明之涵盖范围。