CN111949320B - 提供***数据的方法、***及服务器 - Google Patents

提供***数据的方法、***及服务器 Download PDF

Info

Publication number
CN111949320B
CN111949320B CN201910666602.3A CN201910666602A CN111949320B CN 111949320 B CN111949320 B CN 111949320B CN 201910666602 A CN201910666602 A CN 201910666602A CN 111949320 B CN111949320 B CN 111949320B
Authority
CN
China
Prior art keywords
controller
data
interface
system data
basic input
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
Application number
CN201910666602.3A
Other languages
English (en)
Other versions
CN111949320A (zh
Inventor
李爱琴
潘青穗
周新伟
杜伟聪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quanta Computer Inc
Original Assignee
Quanta Computer Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Quanta Computer Inc filed Critical Quanta Computer Inc
Publication of CN111949320A publication Critical patent/CN111949320A/zh
Application granted granted Critical
Publication of CN111949320B publication Critical patent/CN111949320B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/27Built-in tests
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Information Transfer Systems (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一种***及方法,用于在基本输入输出***的开机自我检测例程期间提供***数据。控制器由独立的电源供电,并存取***数据。经由基本输入输出***执行开机自我检测例程。判断介于基本输入输出***与控制器之间的多个接口中最快的可用接口。选择多个接口中的一个接口。在开机自我检测例程期间,***数据经由被选择的接口从控制器发送至基本输入输出***。

Description

提供***数据的方法、***及服务器
技术领域
本公开是有关于用于计算装置的开机自我检测例程,特别是有关于在开机自我检测例程期间确保传送至BIOS的***数据的可用性的方法。
背景技术
在计算机***(例如:服务器上的处理器核心)的开机自我检测(power-on self-test,POST)例程(routine)期间,基本输入输出***(basic input output system,BIOS)将试图从外部控制器(例如:基板管理控制器(baseboard management controller,BMC))取得相关的***数据(system data)。服务器在高需求应用(high demand application)中被大量使用,例如基于网络的***或数据中心。用于计算应用之云端(cloud)的出现增加了对数据中心的需求。数据中心具有为数众多的服务器,可储存数据及运行应用程序,以供远程连接的计算机装置用户存取。典型的数据中心具有实体机箱(physical chassis)结构,且实体机箱结构具有附加的电源及通信连结。每个机架(rack)可容纳多个计算服务器及储存服务器。每个独立的服务器的电力开启必须伴随开机自我检测例程以开始作业。因为任何延迟都会增加用户因等待任务(例如:数据处理或应用程序执行)完成而耗费的时间,因此不希望在电力开启服务器时出现延迟。这种延迟乘上数据中心中大量的服务器数量,将会妨碍数据中心整体的作业。
在已知***中,在POST期间,BIOS与基板管理控制器(BMC)通信,并尝试设定或取得管理***所需的***数据。举例来说,这些***数据可包括字段替换单元(fieldreplacement unit,FRU)信息、事件日志(event log)或***清单(system inventory)。在当前***中,这些数据是经由根据智能平台管理接口(Intelligent Platform ManagementInterface,IPMI)通信协议(communication protocol)运作的接口从BMC获得。因为BMC在POST期间可能非常忙碌,因此BIOS通常无法成功初始化(initialize)BIOS与BMC间的接口。在这种情况下,BIOS将认为BMC不起作用,且因此在POST例程期间将不会获得所需的***数据。所需的***数据的缺乏可能会妨碍***的作业。
此外,在当前***中,BIOS只会选择一个接口协议,例如键盘控制器规格(keyboard controller style,KCS)接口,以与BMC通信。与其他接口协议相较,对应BMC的单一KCS接口协议需要相对较长的时间周期以取得所需的BIOS数据,因为在KCS下,数据是逐字节(byte)传输的。此等BIOS数据可包括FRU数据、事件日志数据及***清单数据。在POST例程期间的这种延迟可能导致用户信用***被冻结(frozen),并可能导致用户再启动(restart)***,而非等待POST例程的完成。这导致了***作业进一步的延迟。
图1是先前技术中BIOS经由单一接口自BMC获取数据的程序的示例。图1显示在步骤10中,当***电力启动时,BIOS将开始电源初始化启动例程(power initializationstart up routine)。此例程包括执行预可扩展固件接口初始化(pre-ExtensibleFirmware Interface(EFI)initialization,PEI)、驱动程序执行环境(driver executionenvironment,DXE)、以及***管理模式(system management mode,SMM)服务。在步骤12中,在基于通用可扩展固件接口(Universal Extensible Firmware Interface,UEFI)的固件的PEI/DXE/SMM程序期间,BIOS使用令牌(token)以决定在BMC上检查哪个接口。在步骤14中,BIOS接着等待BMC判断BMC是否支援通信协议接口。若BMC不支援接口协议,则进入步骤16,BIOS将不会安装任何接口协议以与BMC通信。若BMC支援接口协议,则进入步骤18,BIOS将安装接口协议以与BMC通信。在当前***中,BIOS仅可使用一个接口协议(例如:键盘控制器规格(KCS)接口)以与BMC通信。如图1中所见,未能安装接口协议将使BIOS失去所需的***数据。
此外,在当前***中,若初始命令未能与BMC通信,则BIOS将试图重试IPMI命令以获取数据。图2显示当前BIOS例程的这种情况,其中BIOS使用IPMI命令以从BMC取得字段替换单元(FRU)信息。在此示例程序中,BMC开启在步骤30。用于***的电源接着在步骤32中开启。在步骤34中,BIOS发送命令至BMC以要求FRU数据。接着在步骤36中,BIOS等待BMC以判断BMC是否正常回复所述要求。若没有回应,则进入步骤38,BIOS设定重试计数器并判断重试是否超过最大重试次数,例如三次。若重试计数器低于最大值,则重回步骤34,BIOS循环重回(cycle back),向BMC发送另一个命令以要求FRU数据。若重试计数器超过最大次数,则进入步骤40,BIOS接着清除重试计数器并结束例程。在这种情况下,BIOS无法获取***数据,且***管理BIOS(system management BIOS,SMBIOS)中的对应表(corresponding table)为不正确的预设值(incorrect default)。若步骤36中BMC有所回应,则进入步骤42,BIOS成功获取***数据以填充(fill)SMBIOS表,并清除计数器以结束例程。因为允许的重试次数的关系,因此重试过程非常耗时。
因此,在先前技术中的***,必须容忍过长的BIOS POST时间,也就是说,由于必须传输到BIOS的数据量的缘故,***在POST例程期间被卡住。或者,如果因为BMC过于忙碌而无法即时回应,使得BIOS无法成功获取诸如FRU数据的关键数据,则***管理BIOS(SMBIOS)数据将为空(empty),或为已储存的预设数据。因此,***将无法获得精确的管理数据,且作业可能被削弱。
因此,需要一种***提供多个的接口选项,以在自BMC到BIOS的启动期间用于数据通信。进一步地,还需要一种***,提供快速通道以自BMC传送数据至BIOS。再进一步地,还需要一种***,在数据已经可用于BIOS的情况下,避开(bypass)自BMC获取数据。
发明内容
本公开示例提供一种***,用于在基本输入输出***的开机自我检测例程期间提供***数据。所述***包括具有独立电源的控制器。所述控制器可操作以存取***数据。基本输入输出***可操作以执行开机自我检测例程。所述***包括介于基本输入输出***与控制器之间的多个接口。基本输入输出***可操作以判断多个接口中的最快可用接口,以在开机从我检测例程期间将***数据自控制器传送至基本输入输出***。
本公开示例提供一种方法,用于在基本输入输出***的开机自我检测例程期间提供***数据。由独立电源供电的控制器可操作以存取***数据。经由基本输入输出***执行开机自我检测例程。判断多个接口中的最快可用接口,其中多个接口介于基本输入输出***与控制器之间。选择多个接口中的一个。在开机自我检测例程期间,经由所选的接口将***数据从控制器发送至基本输入输出***。
本公开示例提供一种服务器,包括基本输入输出***,可操作以在供应电源时执行开机自我检测例程。所述服务器包括具有独立电源的基板管理控制器。基板管理控制器可操作以存取***数据。独立管理协议接口总线将基本输入输出***耦合到基板管理控制器。所述服务器包括多个接口协议,以在基板管理控制器与基本输入输出***之间传送***数据。基本输入输出***可操作以选择多个接口协议中的一个,用于基板管理控制器以将***数据传送至基本输入输出***。
所述概述并非旨在描绘本公开的各个实施例或每个配置。相反地,前述概述仅提供本文所阐述的一些新颖配置及特征的示例。当结合附图及所附权利要求书时,从以下对用于实施本公开的代表性实施例及模式的详述中,本公开的所述特征与优点以及其他特征与优点将是显而易见的。
附图说明
由参考附图的示例性实施例的下列描述,将能更佳地理解本公开。
图1所示是先前技术中,BIOS经由单一接口自BMC获取数据的程序。
图2是先前技术的流程图,示出当发生起因于BMC的FRU数据的失败要求时,所发生的一系列重试。
图3A-3B为IPMI子***的方块图,所述IPMI子***允许介于BIOS与BMC之间的多个接口。
图3C所示的处理器主机板连接至第3A-3B图中具有BIOS的IPMI子***的方块图。
图4所示的例程的流程图,是允许经由第3A-3B图所示的示例性***中的多个接口,以在BIOS与BMC的间通信的例程的流程图。
图5所示的启动例程的流程图,系允许BIOS略过与BMC的通信以获取所需***数据的启动例程的流程图。
图6及图7是根据本公开多种实施例所示的示例性计算机***。
本公开易受各种修改及替代形式的影响。一些代表性的实施例已由附图中的示例呈现,且将在本文中进行详细描述。然而,应当理解的是,本公开并不限于所公开的特定形式。相反地,落入所附权利要求书所定义的本公开的精神及范围内的所有修改、等效以及替代,皆为本公开所涵盖。
具体实施方式
本公开可以多种不同实施形式呈现。其表现于附图并详述于此。这些实施例为本公开原理的示例或说明,并非旨于将本公开的广泛配置限制于本公开所示的实施例。举例来说,公开于摘要、背景技术、发明内容(但未明确阐述于权利要求书)的范围、要素及限制,所述范围、要素及限制不应单独地或集体地以暗示、推论或其他方式体现在权利要求书。为本公开内容的详述目的,除非特定否认,单数词包含多个词,反之亦然。并且字词“包含”其意为“非限制性地包含”。此外,近似性的(approximation)用语例如“大约”、“几乎”、“相当地”、“大概”等,可用于本公开实施例,其意义上如“在、接近或接近在”或“在3至5%内”或“在可接受的制造公差内”或任意符合逻辑的组合。
本公开提供一种机制,用于加速POST以减少所耗时间,并避免BIOS(basic inputoutput system,基本输入输出***)与BMC(baseboard management controller,基板管理控制器)之间的通信失败。因此,所述机制避免了在POST(power-on self-test,开机自我检测)例程期间所发生的BMC意外停机(hang-up)所造成的延迟。所公开的***从介于BIOS与BMC之间的智能平台管理接口(Intelligent Platform Management Interface,IPMI)***的所有可用接口中,选择最快的接口。所述***也允许BIOS判断所需的***数据是否已被储存。因此,若BMC检查***数据且***数据未被修改,则BIOS可接着直接自备份储存器中取得***数据,而无须进一步与BMC通信。此程序可显著地降低POST所耗费的时间。此外,若BMC发生故障,则BIOS可经由硬件管脚(pin)触发(trigger)BMC重置(reset)。
图3A-3B为IPMI***100的方块图,IPMI***100允许从介于BIOS与BMC之间的多个通信接口协议中选择一个,以有效地传送***数据以执行POST例程。在此示例中,IPMI***100是服务器的一部分,所述服务器可包括由诸如基板管理控制器的控制器所管理的多个处理器及组件。***数据可包括FRU(field replacement unit,字段替换单元)数据、事件日志(event log)数据及***清单(system inventory)数据。IPMI***100包括主机板110、存储板(memory board)112、处理器板(processor board)114、冗余电源板(redundantpower board)116以及机箱板(chassis board)118。IPMI***100允许***的管理以支援处理器主机板300上的其他组件(例如:处理器***),处理器主机板300包括可储存于平台控制器集线器(platform controller hub,PCH)芯片中的BIOS 120。主机板110包括基板管理控制器130(BMC 130)及字段替换单元存储器单元140(FRU存储器单元140)。FRU存储器单元140由存储器板112以及处理器板114上的静态存储器所组成,FRU存储器单元140储存有用于IPMI***100的FRU数据。BMC 130用作主控制器,且可与分布在不同模块上的其他卫星(satellite)管理控制器通信。举例来说,IPMI***100包括机箱管理控制器132、网络控制器134以及串行控制器136,每个所述控制器都与BMC 130通信。
FRU存储器单元140包括存储器板112上的EEPROM(electrically erasableprogrammable read-only memory,电可擦除可编程只读存储器)142,以及处理器板114上的EEPROM 144。FRU存储器单元140包括用于IPMI***100中所有可替换组件的FRU数据。FRU数据储存于分别位在存储器板112上与处理器板114上的EEPROM 142与EEPROM 144。BIOS120收集***事件日志及传递给BMC 130的***清单的数据。
BMC 130也连接至IPMI***接口150、一系列的传感器及控制电路152、以及非易失性储存器154。传感器及控制电路152允许监视***功能,并由电压传感器、温度传感器、风扇控制及功率调整控制以调整***功能。非易失性储存器154储存某些***数据,例如***事件日志、传感器数据纪录、以及其他BMC 130所用的数据的结果。BMC 130管理***数据。因此,即使其他处理器(例如:与BIOS相关联的处理器)故障,仍可存取这些***数据。
***总线160将BIOS 120连接至BMC 130,以及连接至网络控制器134与串行控制器136。PCI(peripheral component interconnect,周边组件互连)管理总线162将BMC 130连接至PCI装置。智能平台管理接口总线(Intelligent Platform Management Interfacebus,IPMB)164将BMC 130连接至机箱管理控制器132以及冗余电源板116。专用管理总线(private management bus)166将BMC 130连接至FRU存储器单元140。
图3C显示包括处理器302及处理器304的处理器板300。平台控制器集线器310(PCH310)允许安排数据的路线至处理器主机板300的组件。在此示例中,BIOS 120为PCH 310的一部分。图3A中的BMC 130可存取初始储存装置320,在此示例中,初始储存装置320同时包括动态随机存取存储器(dynamic random access memory,DRAM)及闪存(flash memory)。BIOS 120可存取备份储存装置322,在此示例中,备份储存装置322同时包括DRAM及闪存。
在示例性的IPMI***100中,BMC 130将检查初始储存装置320中的数据(例如:FRU数据),或其他***数据(例如:产生的***事件日志及***清单),并与备份储存装置322中的***数据进行对照。若备份储存装置322中的***数据与BMC 130所管理的***数据相同,则BMC 130将与BIOS120通信,传达储存于备份储存装置322中的数据是完整的且可被BIOS 120使用。在这种情况下,BIOS 120可直接自备份储存装置322存取数据,且无须发送命令向BMC 130要求数据。
若初始储存装置320的非易失性存储器中的数据与储存于备份储存装置322中的数据不同,则BIOS 120将会需要要求来自BMC 130的数据。在这种情况下,***将会选择多个接口协议中的一个,以向BIOS 120发送***数据。在BMC 130故障的情况下,BIOS 120可由经由BMC 130的硬件管脚发送的信号,触发BMC重置,其中BMC 130的硬件管脚连接至处理器芯片组。如果重置信号仍旧无法唤醒BMC 130,BIOS 120仍可自备份储存装置322的闪存处取得***数据,且无须依靠BMC 130。或者,BIOS 120亦可显示信息,指出在POST例程期间***数据为不可用。
IPMI***100允许选择多个不同的接口,以在BMC 130与BIOS 120之间的通信中共同工作。在此示例中,接口可包括键盘控制器规格(keyboard control style,KCS)接口、***管理总线***接口(SMBus system interface,SSIF)、以及字组转移(block transfer)接口。在此示例中,SSIF接口将处理较大的数据,例如***事件日志数据或***清单数据,所以是最快的接口。在此示例中,KCS接口可用于传输具有小数据计数(small datacounts)的数据,例如自我检测结果或其他简单的命令,所以KCS接口较SSIF接口为慢。当电源开启时,BIOS 120将检查哪个接口被安装在BIOS 120与BMC 130之间。接着,BIOS 120将自已安装的接口中选择最快的接口,以与BMC 130通信。在经过几次重试后,如果最快的接口为忙碌且无法自BMC 130得到回应,BIOS 120将切换到第二快的接口以与BMC 130通信,并持续尝试每个可用的不同接口以与BMC 130通信。
图4为图3A-3C中将数据从BMC 130传送至BIOS 120的程序的流程图。在步骤400中,BMC 130的电源被开启。在步骤402中,BMC 130将可存取的***数据复制到***中的任何储存器,例如初始储存装置320及备份储存装置322。在步骤404中,接着BIOS 120的电源被开启至图3A中,且启动开机自我检测例程。在步骤406中,BIOS 120检查最快的接口,例如SSIF接口。若最快的接口可用,则进入步骤408,BIOS 120安装最快的接口(例如:SSIF接口协议)以从BMC 130首度传送数据。
在步骤410中,BIOS 120接着检查速度第二快的接口,在此示例中,速度第二快的接口为KCS接口。若速度第二快的接口可用,则进入步骤412,BIOS 120安装速度第二快的接口作为与BMC 130的第二通信接口。
在步骤414中,BIOS 120接着检查速度第三快的接口,在此示例中,速度第三快的接口为字组转移(BT)接口。若速度第三快的接口可用,则进入步骤416,BIOS 120安装速度第三快的接口作为与BMC 130的第三通信接口。
在步骤418中,BIOS 120接着检查下一个速度最快的接口。若下一个速度最快的接口可用,则进入步骤420,BIOS 120安装下一个速度最快的接口作为与BMC 130的下一个通信接口。
然后,所述程序重复这套步骤以判断其他可用的通信接口,并从而使用介于BIOS120与BMC 130之间最快的可用通信接口。
因此,若最快可用接口为SSIF接口,则BMC 130将经由SSIF接口传送数据(例如:FRU数据)至BIOS 120。如果SSIF接口为不可用,则BMC 130将经由下一个最快的通信接口把数据传送至BIOS 120。在此示例中,KCS接口为下一个最快的通信接口。
图5所示的流程图,为略过需要从图3A-3B中的BMC 130取得***数据,并判断是否可能需要因BMC故障进行重置的例程的流程图。在步骤500中,图3A-3C中的BIOS 120首先基于图4中的步骤,判断接口协议是否已被BIOS 120成功安装。若接口协议安装成功,则进入步骤502,在POST例程期间,BIOS 120将经由命令向BMC 130要求检查结果。BMC 130将会判断备份储存装置322中BIOS 120所存取的的***数据,是否与BMC 130所存取的***数据相同。若两者所存取的数据相同,则进入步骤504,BIOS 120将直接自备份储存装置322获取***数据。若在步骤502中两者所存取的数据不同,则进入步骤506,BIOS 120将经由最快的可用接口自BMC 130获取数据,其中最快的可用接口决定于图4中的例程。
若在步骤500中,接口协议并未被成功安装,则进入步骤508,BIOS 120将判断BMC130可能已经失效。接着在步骤510中,BIOS 120将在BMC 130的硬件管脚上触发重置信号。若BMC 130回应所述重置信号,则回到步骤500,BIOS 120将回路返回(loop back)以判断接口协议现在是否已成功安装。如果BMC 130并未回应所述重置信号,则进入步骤512,BIOS120将直接自备份储存装置322中获取所需数据。在这种情况下,***数据可能已经过期,因为备份储存装置322并未具有来自BMC 130的当前***数据。
图4至图5中的流程图为代表性的示例性机器可读指令,用于使BIOS POST例程所需数据通信的程序更有效率。在此示例中,机器可读指令包括由下列方式执行的演算法:(a)处理器、(b)控制器及/或(c)一个或多个其他合适的处理装置。所述演算法可体现于储存在有形介质(tangible media)上的软件中,例如闪存、CD-ROM、软盘(floppy disk)、硬盘、数字化视频光盘(多样化数字光盘)(DVD)、或其他存储器装置。然而,本公开所属技术领域具通常知识者在阅读本公开后将轻易理解到,整个演算法或演算法的部分可替代性地由处理器以外的装置执行,及/或以众所周知的方式体现于固件或专属硬件(dedicatedhardware)(例如:它可由专用集成电路(application specific integrated circuit,ASIC)、可编程逻辑设备(programmable logic device,PLD)、现场可编程逻辑设备(fieldprogrammable logic device,FPLD)、现场可编程门阵列(field programmable gatearray,FPGA)、离散逻辑(discrete logic)等执行)。举例来说,接口的任何或所有组件可由软件、硬件及/或固件执行。而且,流程图所示的一些或所有机器可读指令可手动执行。进一步地,尽管示例性演算法是参考图4至图5进行描述,但本公开所属技术领域具通常知识者在阅读本公开后将轻易理解到,其他许多执行示例性机器可读指令的方法可替代性地适用于此。举例来说,可以改变方块(步骤)的执行顺序,及/或改变、消除或结合一些所述方块(步骤)。
图6显示示例性的计算***600,其中计算***的组件由总线602彼此电子通信。计算***600包括处理单元(CPU或处理器)630及***总线602,所述***总线602将包括***存储器604(例如:只读存储器(ROM)606及随机存取存储器(RAM)608)在内的多种***组件耦合到处理器630。计算***600可包括高速存储器的闪存,其与处理器630直接连接、非常接近处理器630或整合为处理器630的一部分。计算***600可从存储器604及/或储存装置612中将数据复制到闪存628,以使处理器630可快速存取。以此方式,闪存628可在等待数据的同时为处理器630提供性能提升。此模块与其他模块可控制或被配置以控制处理器630执行多种动作。其他***存储器604亦可被使用。存储器604可包括具有不同性能特征的多种不同类型的存储器。处理器630可包括任何通用处理器以及硬件模块或软件模块,例如嵌入在储存装置612的模块1 614、模块2 616与模块3 618。硬件模块或软件模块被配置以控制处理器630以及特殊目的处理器,其中软件指令被纳入实际处理器设计中。处理器630可实质上为完全自足式计算***,并包括多个核心或处理器、总线、存储器控制器、闪存等。多核心处理器可以是对称或非对称。
为了让用户能够与计算***600互动,输入装置620被提供为输入机制。输入装置620可包括用于演讲的麦克风、用于手势或图形输入的触控屏幕、键盘、师表、动态输入等等。在一些实施例中,多模式接口(multimodal)***可以提供多种类型的输入以让用户能够与计算***600通信。在此示例中,亦提供输出装置622。通信接口624可控制并管理用户输入与***输出。
储存装置612可为非易失性存储器,用以储存计算机可存取的数据。储存装置612可为磁式卡带(magnetic cassettes)、闪存存储卡、固态存储器装置、数字多功能光盘、盒式磁带(cartridges)、随机存取存储器(RAMs)608、只读存储器(ROM)606及所述的混和。
控制器610可为计算***600上的特定微控制器或处理器,例如BMC(基板管理控制器)。在一些情况下,控制器610可以作为智能型平台管理接口(IPMI)的一部份。此外,在某些情况下,控制器610可被嵌入在计算***600的主机板或主电路板上。控制器610可管理介于***管理软件与平台硬件之间的接口。控制器610亦可与多种***装置及组件(内部的及/或外部的)通信,例如控制器或周边组件,如下面进一步所述。
控制器610可产生对通知、警报及/或事件的特定响应,并与远程装置或组件通信(例如:电子邮件信息、网络信息等),以为自动硬件恢复程序产生指令或命令等。管理员亦可与控制器610远程通信,以启动或安排特定硬件自动恢复程序或操作,如下面进一步所述。
控制器610亦可包括***事件日志控制器及/或储存器,以管理及维持由控制器610接收的事件、警报以及通知。举例来说,控制器610或***记录控制器可接收来自于一个或多个装置及组件的警报或通知,并且在***事件日志储存组件中维持警报及通知。
闪存632可为电子非易失性计算机储存介质或芯片,其可被计算***600用于储存及/或数据传输。闪存632可被电子擦除及/或再程序化。闪存632可包括例如EPROM(erasable programmable read-only memory,可擦除可编程只读存储器)、EEPROM(electrically erasable programmable read-only memory,电可擦除可编程只读存储器)、ROM、NVRAM或CMOS(complementary metal-oxide semiconductor,互补式金属氧化物半导体)。闪存632可储存当计算***600第一次电力启动时由计算***600执行的固件634,与为了固件634而给定的一组配置。闪存632亦可储存固件634所使用的配置。
固件634可包括基本输入输出***或其等效体,例如EFI(Extensible FirmwareInterface,可扩展固件接口)或UEFI(Unified Extensible Firmware Interface,统一可扩展固件接口)。每一次计算***600启动时,固件634可如顺序程序(sequence program)般地被载入及执行。固件634可基于一组配置以识别、初始化及测试计算***600中的硬件。固件634可在计算***600上执行自我检测,例如POST(开机自我检测)。此自我检测可以测试不同硬件组件的功能性,硬件组件例如硬盘、光学读取装置、冷却装置、存储器模块、扩充卡等。固件634可以在存储器604、ROM 606、RAM 608及/或储存装置612中定位与分配一个区域,以储存作业***(OS)。固件634可载入启动载入器及/或作业***,并且将计算***600的控制权交给作业***。
计算***600的固件634可包括固件配置,所述固件配置定义固件634如何控制计算***600中的多种硬件组件。固件配置可决定计算***600中多种硬件组件的启动顺序。固件634可提供接口,例如统一可扩展固件接口,其可设定各种不同参数,所述参数可不同于固件预设配置中的参数。举例来说,用户(例如:管理员)可用固件634以具体指定时钟(clock)及总线速度;定义什么周边装置连接至计算***600;设定操作参数的临界(例如:风扇速度及CPU温度限制);及/或提供各种其他参数,其影响计算***600的总体性能及电力使用。当固件634显示储存于闪存632时,本公开所属技术领域中具有通常知识者将轻易理解固件634亦可储存在其他诸如存储器604或ROM 606的存储器组件中。
计算***600可包括一个或多个传感器626。举例来说,此一个或多个传感器626可包括一个或多个温度传感器、热量传感器、氧气传感器、化学传感器、噪音传感器(noisesensors)、热传感器、电流传感器、电压检测器、气流传感器、水流传感器、红外线温度计、热流传感器、温度计、高温计等。举例来说,此一个或多个传感器626可经由总线602与处理器、闪存628、闪存632、通信接口624、存储器604、ROM 606、RAM 608、控制器610及储存装置612进行通信。此一个或多个传感器626亦可经由一个或多种不同方式(例如:集成电路(inter-integrated circuit,I2C)、通用输出(general purpose output,GPO)等)与计算***的其他组件进行通信。计算***600上的不同类型的传感器(例如:传感器626)亦可将参数回报到控制器610,参数例如冷却风扇速度、电源状态、作业***(OS)状态、硬件状态等。显示器636可由计算***600使用以提供与控制器610执行的应用程序相关的图示(graphic)。
图7显示具有芯片组(chipset)架构的计算机***700,所述芯片组架构可用于执行本公开的(多个)方法或作业,并产生及显示图形用户接口(graphical user interface,GUI)。计算机***700可包括计算机硬件、软件及固件,所述计算机硬件、软件及固件可用以实施所公开的技术。计算机***700可包括处理器710,处理器710表示可以执行被配置以执行识别计算的软件、固件与硬件的各种物理上及/或逻辑上的不同资源。处理器710可与芯片组702通信,芯片组702可以控制来自处理器710的输入与输出。在此示例中,芯片组702输出信息至输出装置714(例如显示器),并可读取及写入信息至储存装置716。举例来说,储存装置716可包括磁式介质与固态介质。芯片组702亦可从RAM 718读取数据与写入数据至RAM718。与各种用户接口组件706连接的桥接器704可被提供以与芯片组702连接。这种用户接口组件706可包括键盘、麦克风、触摸检测与处理电路、指向装置(例如:鼠标)等。
芯片组702亦可与一个或多个通信接口708连接,通信接口708可具有不同的实体接口。这种通信接口可包括有线与无线的区域网络、宽频无线网络以及个人区域网络的接口。此外,所述机器可经由用户接口组件706接收来自用户的输入,并执行适当的功能,例如由处理器710诠释这些输入以浏览功能。
此外,芯片组702亦可与固件712进行通信,可在电力启动时由计算机***700执行固件712。固件712可基于一组固件配置以识别、初始化及测试计算机***700中的硬件。固件712可在计算机***700执行自我检测,例如开机自我检测。此自我检测可以测试各种硬件组件702至718的功能性。固件712可在随机存取存储器718定位与分配区域以储存作业***。固件712可载入启动载入器及/或作业***,并将计算机***700的控制权交给作业***。在一些情况下,固件712可与硬件组件702至710以及714至718通信。此处,固件712可通过芯片组702及/或一个或多个其他组件与硬件组件702至710以及714至718通信。在一些情况下,固件712可以直接与硬件组件702至710以及714至718作通信。
在此应能理解示例性的计算***600(图6)与计算机***700可具有多于一个的处理器(例如:处理器630及710),或者成为通过网络连结在一起的计算装置群组或丛集的一部份以提供更好的处理能力。
如在本申请中所使用的,术语“组件”、“模块”、“***”等通常是指与计算机相关的实体、硬件(例如:电路)、硬件及软件的组合、软件或与具有一个或多个特定功能的操作机器相关的实体。举例来说,一个组件可为但不限于:处理器(例如:数字信号处理器)上运行的程序、处理器、文件、可执行文件(executable)、执行的线程(thread of execution)、程序及/或计算机。作为说明,在控制器上运行的应用程序以及控制器都可以是组件。一个或多个组件可以保持在程序及/或执行的线程内,且一个组件可位于一个计算机上及/或分布在两个或更多个计算机之间。此外,“装置”可采用专门设计的硬件形式;由在其上执行软件而专门制造的通用硬件,致能硬件以执行特定的功能;储存在计算机可读取介质上的软件;或其组合。
本文所用的术语仅用于描述特定示例,而非旨于限制本发明。如此处所用的,单数型式“一”“一个”及“该”亦旨于包括多个型式,除非上下文另有明确说明。此外,在详细说明及/或请求项中使用术语“包括”、“包含”、“具有”、“有”、“拥有”或其变体的范围,这些术语旨在以近似于术语“包括”的方式包含。
除非另有定义,否则本文所用的所有术语(包括技术及科学术语)具有与于本公开所属技术领域中具有通常知识者通常理解的含义相同的含义。此外,诸如于那些常用字典中定义的术语应被解释为具有与其在相关领域的上下文中的含义一致的含义,且除非于本文中明确地如此定义,否则将不被理解为理想化或过于正式的含义。
虽然本发明的多种实施例已描述于上,但仍应理解,它们仅以示例的方式呈现而非限制。尽管已就一个或多个实施说明及描述本发明,但于本技术领域具有通常知识者在阅读及理解本说明书及附图时,将想到或理解等效的改动及修改。此外,尽管本发明的特定特征可能仅在一个或数个实施中被公开,但如此特征可与其他实施的一个或多个其他特征结合,如同任何给定或特定应用可能期望及有益的。因此,本发明的广度及范围不应被所述任何示例所限制。更确切地说,本发明的范围应根据下列请求项及与其等效体来定义。
符号说明
10-18~步骤
30-42~步骤
100~智能平台管理接口***
110~主机板
112~存储板
114~处理器板
116~冗余电源板
118~机箱板
120~基本输入输出***
130~基板管理控制器
132~机箱管理控制器
134~网络控制器
136~串行控制器
140~字段替换单元存储器单元
142-144~电可擦除可编程只读存储器
150~智能平台管理接口***接口
152~控制电路
154~非易失性储存器
160~***总线
162~PCI管理总线
164~智能平台管理接口总线
166~专用管理总线
300~处理器板
302-304~处理器
310~平台控制器集线器
320~初始储存装置
322~备份储存装置
400-420~步骤
500-512~步骤
600~计算***
602~总线
604~存储器
606~只读存储器
608~随机存取存储器
610~控制器
612~储存装置
614~模块1
616~模块2
618~模块3
620~输入装置
622~输出装置
624~通信接口
626~传感器
628~闪存
630~处理器
632~闪存
634~固件
636~显示器
700~计算机***
702~芯片组
704~桥接器
706~用户接口组件
708~通信接口
710~处理器
712~固件
714~输出装置
716~储存装置
718~随机存取存储器

Claims (10)

1.一种提供***数据的***,用于在基本输入输出***的开机自我检测例程期间提供***数据,所述***包括:
具有独立电源的控制器,所述控制器可操作以存取所述***数据;
所述基本输入输出***,可操作以执行所述开机自我检测例程;以及
多个接口,介于所述基本输入输出***与所述控制器之间;
其中所述基本输入输出***可操作以判断所述多个接口中的最快可用接口,以在所述开机自我检测例程期间将所述***数据从所述控制器传送至所述基本输入输出***。
2.根据权利要求1所述的提供***数据的***,其中:
所述控制器可操作以判断所述基本输入输出***可存取的***数据是否恒等于所述控制器所存取的***数据,且如果所述基本输入输出***可存取的***数据恒等于所述控制器所存取的***数据,则所述控制器终止所述***数据至所述基本输入输出***的传送;以及
包括可被所述基本输入输出***存取的备份储存器,其中所述基本输入输出***可存取的***数据储存于所述备份储存器。
3.根据权利要求1所述的提供***数据的***,其中如果所述多个接口没有可用的通信,则所述基本输入输出***可操作以启动硬件重置信号到所述控制器。
4.根据权利要求1所述的提供***数据的***,其中如果所述多个接口中最快的接口不可用,则所述基本输入输出***更可操作以在所述多个接口中第二快的接口上传送所述***数据。
5.根据权利要求1所述的提供***数据的***,其中:
所述控制器为基板管理控制器;
所述多个接口遵照智能平台管理接口(IPMI)标准,且所述多个接口包括键盘控制器规格(KCS)接口、***管理总线***接口(SSIF)或字组转移之中的至少一个;以及
所述***数据包括字段替换单元数据、***清单数据或***事件日志数据之中的至少一个。
6.一种提供***数据的方法,用于在基本输入输出***的开机自我检测例程期间提供***数据,所述方法包括:
经由控制器收集所述***数据,其中所述控制器具有独立的电源供应;
经由所述基本输入输出***执行所述开机自我检测例程;
判断多个接口中的最快可用接口,其中所述多个接口介于所述基本输入输出***与所述控制器之间;
选择所述多个接口中的一个;以及
在开机自我检测例程期间,经由所述所选的接口将所述***数据从所述控制器发送至所述基本输入输出***。
7.根据权利要求6所述的提供***数据的方法,还包括:
判断所述基本输入输出***可存取的***数据是否恒等于所述控制器所存取的***数据,其中所述基本输入输出***可存取的***数据储存于备份储存器;以及
如果所述基本输入输出***可存取的***数据恒等于所述控制器所存取的***数据,则终止所述***数据至所述基本输入输出***的传送。
8.根据权利要求6所述的提供***数据的方法,还包括:
如果所述多个接口中最快的接口不可用,则经由所述多个接口中第二快的接口传送所述***数据;以及
如果所述多个接口没有可用的通信,则启动硬件重置信号至所述控制器。
9.根据权利要求6所述的提供***数据的方法,其中:
所述控制器为基板管理控制器;
所述多个接口遵照智能平台管理接口(IPMI)标准,且所述多个接口包括键盘控制器规格(KCS)接口、***管理总线***接口(SSIF)或字组转移之中的至少一个;以及
所述***数据包括字段替换单元数据、***清单数据或***事件日志数据之中的至少一个。
10.一种服务器,可用于提供***数据,所述服务器包括:
基本输入输出***,当供应电源时所述基本输入输出***可操作以执行开机自我检测例程;
基板管理控制器,具有独立的电源供应,所述基板管理控制器存取***数据;
独立管理协议接口总线,将所述基本输入输出***耦合到所述基板管理控制器;以及
多个接口协议,以在所述基板管理控制器与所述基本输入输出***之间传送所述***数据,其中所述基本输入输出***可操作以选择所述多个接口协议中的一个,用于所述基板管理控制器以将所述***数据传送至所述基本输入输出***。
CN201910666602.3A 2019-05-14 2019-07-23 提供***数据的方法、***及服务器 Active CN111949320B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/411,994 US11126517B2 (en) 2019-05-14 2019-05-14 Method and system for communication channels to management controller
US16/411,994 2019-05-14

Publications (2)

Publication Number Publication Date
CN111949320A CN111949320A (zh) 2020-11-17
CN111949320B true CN111949320B (zh) 2023-11-21

Family

ID=67658242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910666602.3A Active CN111949320B (zh) 2019-05-14 2019-07-23 提供***数据的方法、***及服务器

Country Status (5)

Country Link
US (1) US11126517B2 (zh)
EP (1) EP3739446B1 (zh)
JP (1) JP6868087B2 (zh)
CN (1) CN111949320B (zh)
TW (1) TWI739127B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11500747B2 (en) * 2020-01-30 2022-11-15 Dell Products L.P. Computer initialization debug message display system
CN112463222A (zh) * 2020-11-11 2021-03-09 苏州浪潮智能科技有限公司 一种服务器bios与bmc之间的数据交互方法、装置及设备
CN113553224A (zh) * 2021-06-30 2021-10-26 深圳市同泰怡信息技术有限公司 基于主板检测基板管理控制器基本功能的方法、装置、设备
CN114356428B (zh) * 2022-01-19 2023-05-12 浪潮商用机器有限公司 Bmc与bios的数据交互方法及相关组件

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103197996A (zh) * 2012-01-05 2013-07-10 纬创资通股份有限公司 开机检测电路、电脑***以及其开机检测方法
CN108376087A (zh) * 2018-03-09 2018-08-07 联想(北京)有限公司 一种电子设备的启动控制方法、装置及服务器

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6813648B1 (en) * 2001-07-02 2004-11-02 Adaptec, Inc. Method and apparatus for post boot-up domain validation
JP2003076649A (ja) * 2001-08-31 2003-03-14 Canon Inc データ処理装置および印刷制御装置およびインタフェース選択方法および記憶媒体およびプログラム
US20060168189A1 (en) * 2004-09-13 2006-07-27 Aten International Co., Ltd. Advanced IPMI system with multi-message processing and configurable capability and method of the same
US20070055793A1 (en) * 2005-08-03 2007-03-08 Wellsyn Technology, Inc. System of managing peripheral interfaces in IPMI architecture and method thereof
US20080028117A1 (en) * 2006-07-26 2008-01-31 Dell Products L.P. Method and Apparatus for Notifying User About Non-Optimal Hot-Add Memory Configurations
CN101609413A (zh) * 2008-06-18 2009-12-23 鸿富锦精密工业(深圳)有限公司 远程获取***信息的装置及方法
US8875154B2 (en) * 2013-01-25 2014-10-28 American Megatrends, Inc. Interface specific and parallel IPMI message handling at baseboard management controller
CN104679619A (zh) * 2013-11-28 2015-06-03 英业达科技有限公司 服务器与服务器检测方法
TWI526824B (zh) 2014-07-22 2016-03-21 廣達電腦股份有限公司 網路卡資訊管理方法及網路卡資訊管理系統
US9128729B1 (en) 2014-09-08 2015-09-08 Quanta Computer Inc. System and method for automatically configuring bios performance profiles
CN105700969B (zh) * 2014-11-25 2018-11-30 英业达科技有限公司 服务器***
CN106936616B (zh) * 2015-12-31 2020-01-03 伊姆西公司 备份通信方法和装置
US9940143B2 (en) * 2016-03-17 2018-04-10 Dell Products, L.P. Using peripheral component interconnect express vendor-defined message (PCIe-VDM) and inter-integrated circuit (I2C) transport for network communications
US10296434B2 (en) 2017-01-17 2019-05-21 Quanta Computer Inc. Bus hang detection and find out
US10599521B2 (en) * 2017-04-13 2020-03-24 Dell Products, L.P. System and method for information handling system boot status and error data capture and analysis
US11106624B2 (en) * 2019-05-01 2021-08-31 Dell Products L.P. System and method for generation of configuration descriptors for a chipset

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103197996A (zh) * 2012-01-05 2013-07-10 纬创资通股份有限公司 开机检测电路、电脑***以及其开机检测方法
CN108376087A (zh) * 2018-03-09 2018-08-07 联想(北京)有限公司 一种电子设备的启动控制方法、装置及服务器

Also Published As

Publication number Publication date
TWI739127B (zh) 2021-09-11
TW202042062A (zh) 2020-11-16
JP2020187725A (ja) 2020-11-19
JP6868087B2 (ja) 2021-05-12
CN111949320A (zh) 2020-11-17
EP3739446B1 (en) 2021-08-11
EP3739446A1 (en) 2020-11-18
US20200364125A1 (en) 2020-11-19
US11126517B2 (en) 2021-09-21

Similar Documents

Publication Publication Date Title
JP6686266B2 (ja) リモートシステム復旧のためのシステムおよび方法
CN111949320B (zh) 提供***数据的方法、***及服务器
TWI659301B (zh) 於一伺服器系統中動態調整最大風扇負載
JP6530774B2 (ja) ハードウェア障害回復システム
US10031736B2 (en) Automatic system software installation on boot
EP3761168A1 (en) Method and system for remote selection of boot device
US9240924B2 (en) Out-of band replicating bios setting data across computers
US20080184025A1 (en) Booting to a recovery/maintenance environment
EP3540605A1 (en) Cpld cache application in a multi-master topology system
US10691185B2 (en) Cooling behavior in computer systems
JP6864718B2 (ja) ハイブリッド電源のシステム及び方法
JP6701398B2 (ja) リモートユーティリティによるファームウェアの更新
US20040098521A1 (en) Peripheral management system
US20170293341A1 (en) Power supply unit mismatch detection system
EP3528125B1 (en) Power supply unit fan recovery process
US20230140164A1 (en) System and method for bmc and bios booting using a shared non-volatile memory module
US11360839B1 (en) Systems and methods for storing error data from a crash dump in a computer system
US20230409423A1 (en) Collection of forensic data after a processor freeze
US20240231835A9 (en) Computer and method of booting computer

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant