掌桥专利:专业的专利平台
掌桥专利
首页

用于计算机装置的可靠启动系统

文献发布时间:2023-06-19 09:26:02


用于计算机装置的可靠启动系统

技术领域

本发明涉及用于计算机装置的启动机制,更具体而言,本发明涉及允许用户远端选择一启动装置的启动机制。

背景技术

在用于例如为笔记型计算机或桌上型计算机的计算机系统的开机自我测试(power on self-test,POST)例行程序期间,基本输入输出系统(basic input outputsystem,BIOS)检查连接到计算机系统的所有周边装置。BIOS创建与连接到计算机系统的每个可启动周边装置相对应的启动选项。这种可启动装置被正式称为初始程序载入(InitialProgram Load,IPL)装置。这些装置可以包括硬盘机、随插即用驱动装置(USB drive)、CD/DVD、网络连接装置或其他装置。一般而言,计算机用户可以在BIOS设定选单中查看可启动装置列表,并为列表中的装置配置首选启动优先权。在保存启动优先权设定并重置系统后,BIOS将尝试从保存的启动优先权列表中列出的启动装置启动计算机装置。

用于计算机应用的云端的出现增加了对用来存储数据和执行由远端连接计算机装置用户所存取的应用的数据中心的需求。典型的数据中心具有物理机壳结构,具有伴随的电源和通信连接。每个机架可以容纳多个网络装置,例如计算机服务器和存储服务器,并且可以构成多节点服服务器系统。所有的服务器都由不同的控制服务器(例如,由管理员使用者操作的启动服务器)远端监控。

服务器计算机在启动程序中与比较型计算机或桌上型计算机不同。服务器通常远离管理员使用者而位于实验室或数据中心。因此,数据中心管理员必须启动在远端机架上的数百甚至数千个远端服务器。通常,管理员使用者通过网络发送的远端命令协议远端配置服务器的BIOS设定。例如,智能平台管理接口(Intelligent Platform ManagementInterface,IPMI)规格为远端管理员提供了一种机制,以通过网络上的“设定系统启动选项”命令来配置一网络连接的计算机装置的启动行为。

图1A-1B表示用于智能平台管理接口(IPMI)规格的已知命令格式的图表10。具体而言,图表10中的命令格式包括启动标志参数20。IPMI命令用于设定在系统开机或重置之后指示系统启动的参数。例如,使用“启动标志”参数,用户可在下一个启动程序中或者对于所有将来的启动,选择启动装置作为标志,例如“强制PXE”或“强制从硬盘启动”。因此,该标志使BIOS更改其启动设定。

如果系统配置简单,例如具有一个预启动执行环境(pre-boot executionenvironment,PXE)启动装置或一个硬盘机,则用户可以以直接的方式选择启动装置类型。然而,系统配置可能更复杂,例如系统包括多于一个网络装置并且每个网络装置具有若干启动选项以支持不同的启动协议的情况。例如,一个协议可能是IPv4PXE启动;另一种协议可能是IPv6PXE启动;第三种协议可能是IPv4HTTP启动;第四种协议可以是IPv6HTTP启动。在这种情况下,由于缺少了当前系统启动选项的信息,用户将难以远端选择启动装置。此外,一旦向计算机装置发出不正确或不支持的启动设定,则将会耗时在重试或重新配置设定上,这是因为需要额外的重新启动才能使设定生效。

图2是传统的启动置换列表52的屏幕图像50,其示出了具有2个LAN端口的示例网络计算机装置X722的启动选项数据。在图2所示的示范例中,计算机装置包括统一扩展固件接口(Unified Extensible Firmware Interface,UEFI),并且支持两种不同的启动协议(HTTP,PXE)和两种地址格式(IPv4,IPv6)。因此,列表52反映了用于生成的2个LAN端口的8个启动选项60、62、64、66、68、70、72、和74。启动装置的列表52不一定反映对于一远端网络装置而言为可用的实际启动装置。此外,众多选项使管理员难以确定一远端网络装置的当前系统启动设定,因为无法保证启动选项是正确的或者由此远端网络装置所支持。

因此,需要一种有效的方法来为端服务器系统选择启动方法。还需要一种启动选择系统,其允许将被远端选择的一组复杂的启动选项。还需要一种系统,其允许远端控制器从网络连接的计算机装置接收启动选项,以准确显示用于选择一优先启动装置的启动选项。

发明内容

本发明实施例公开了一种用于计算机装置的可靠启动系统,包括:一远端控制器;以及一基本输入输出系统,其与该远端控制器通信,其中,该计算机装置能够通过多个启动装置中的任何一个而被启动;其中,该基本输入输出系统可被操作以将启动选项数据传送到该远端控制器,其中该启动选项数据包括这些多个启动装置中的每一个,并且其中该远端控制器可操作以提供从该启动选项数据中选择的优先级启动选项给该基本输入输出系统,其中该基本输入输出系统试图通过该优先启动选项启动该计算机装置。

本发明另一实施例公开了一种用于计算机装置的可靠启动方法。确定多个启动装置以通过该计算机装置的一基本输入输出系统启动该计算机装置。通过该基本输入输出系统从这些多个启动装置编译启动选项数据,将该启动选项数据发送到一远端遥控器。从该远端遥控器提供一优先启动选项给该基本输入输出系统,以及尝试通过该优先启动选项启动该计算机装置。

以上发明内容并不旨在表示本公开的每个实施例或每个方面。相反,前述发明内容仅提供了本文所述的一些新颖方面和特征的示例。当结合附图和所附权利要求时,从以下对代表性实施例和用于实现本发明的模式的详细描述中,本公开的上述特征和优点以及其他特征和优点将是显而易见的。

附图说明

图1A-1B是显示已知技术中包括启动标志的IPMI命令的技术图表的示意图。

图2是显示网络远端计算机装置的启动选项的现有技术列表的视窗图像的示意图。

图3A是显示本发明实施例的具有远端启动服务器的系统的示意图,该远端启动服务器包含用于计算机装置的可靠远端启动的程序。

图3B是显示本发明实施例的图3A所示的示例系统中的示例性遥控器和计算机装置的BIOS的示意图。

图4是显示本发明实施例的图3所示系统中计算机装置的BIOS与遥控器之间的交互的示意图。

图5A和5B是显示本发明实施例的图3A所示系统中远端启动配置的步骤流程图。

图6、7是显示本发明实施例的根据本公开的各种示例的示例性系统的示意图。

【符号说明】

10

20

50

52

60、62、64、66、68、70、72、74

100

110

112、114、116

118

120

122

130

140

150~公共共享存储器

152

160

600

602

604

606

608、708

610

612

614

616

618

620

622

624

626

628

630

632

634

700

702

704

706

708

710

712

714

716

本公开易于进行各种修改和替代形式。已经通过附图中的示例示出了一些代表性实施例,并且将在本文中对其进行详细描述。然而,应该理解,本发明并不限于所公开的特定形式。相反,本公开将覆盖落入由所附权利要求限定的本发明的精神和范围内的所有修改、等同物和替代物。

具体实施方式

为使本发明的上述目的、特征和优点能更明显易懂,下文特举一优选实施例,并配合附图,作详细说明如下。本发明可以以许多不同的形式实施。代表的实施例在附图中示出,并且将在本文中详细描述。本公开是本公开的原理的示例或说明,并且不只在将本公开的广泛方面限制于所示的实施例。就此而言,例如在摘要、发明内容、与实施方式部分中公开但未在权利要求书中明确阐述的元件和限制不应通过暗示、推断、或其他方式单独地或共同地并入权利要求书。出于本详细描述的目的,除非特别声明,否则单数包括复数,反之亦然;并且“包括”一词的意思是“包括但不限于此”。此外,近似的词语,例如“大约”、“几乎”、“实质上”、“近乎”等,在本文中可用于表示“在”、“接近”、“接近于”、“在3-5%内”、“在可接受的制造容差范围内”、或前述的其任何逻辑组合。

本公开提供了一种机制,以将用于将诸如服务器的网络连接的计算机装置的可启动装置信息传递到远端控制器(例如,BMC),以解决涉及计算机装置的多个启动选项的远端启动的问题。通过下面说明的实施,远端管理员使用者可以读取启动选项信息并为网络连接的计算机装置(例如服务器)轻松配置首选启动装置。

此程序根据计算机装置上的BIOS,其以启动选项数据的形式向远端控制器发送详细的启动装置信息。这种控制器具有自己的处理器和存储器资源,并且独立于BIOS及其相关主机板而被供电。这样的启动选项数据包括可启动装置的类型、实例编号(InstanceNumber)、人类可读描述(Human Readable Description)、可启动装置的位置、或者诸如BMC之类的远端控制器的启动装置的数量。在为计算机装置完成建立所有可启动装置的启动选项的程序之后,将信息发送到远端控制器。一旦远端控制器收到启动选项数据,它就可以向管理员使用者显示启动选项数据。然后,管理员使用者可以理解计算机装置的当前启动选项,并进一步配置计算机装置的启动装置设定。因此,管理员使用者发送到计算机装置的远端选择的远端选择的优先启动选项将可靠地启动计算机装置。

图3A是允许不同计算机装置的内部启动或从网络装置远端启动的系统100的方块图。可以启动一计算机装置的网络装置可以包括启动服务器,例如PXE服务器110。在此例子中,系统包括不同的网络连接的计算机装置,例如应用服务器112、114、与116。PXE服务器110通过网络120与应用服务器112、114、与116进行通信。PXE服务器110能够与每个服务器112、114、与116进行标准网络协议通信。

服务器112、114、与116中的每一个包括基本输入输出系统(BIOS)130,其可以起始相应操作系统的启动以操作服务器112、114、与116中的每一个。如上所述,服务器112、114、与116的每一个可以通过通过PXE服务器110启动,或者通过周边装置在本地启动。每个服务器包括诸如基板管理控制器(baseboard management controller,BMC)140的远端控制器,以辅助个服务器的操作。基板管理控制器140通过诸如IPMI或Redfish的标准协议与应用服务器112、114、与116上的各BIOS 130进行。IPMI标准协议使用根据讯息的接口,以用于对平台管理子系统的不同接口,例如IPMB、串行/数据机、LAN、ICMB、PCI管理总线、以及对BMC140的系统软件侧“系统接口”。IPMI协议定义了三个标准化系统谢面,系统软件使用这些接口将IPMI讯息传送到BMC 140。为了支持各种微控制器,IPMI提供了一系列系统接口。目前的IPMI系统接口可以是I/O或存储器映射。可以使用允许主处理器存取指定的I/O或存储器位置并满足时序规范的任何系统总线。因此,IPMI系统接口可以连接到X-bus、PCI、LPC、或BMC 140的基板控制器芯片组之外的专用总线。IPMI系统接口包括键盘控制器规格(Keyboard Controller Style,KCS)、系统管理接口芯片(System Management InterfaceChip,SMIC)、成组传送(Block Transfer,BT)、和SMBus系统接口(SMBus SystemInterface,SSIF)。除了系统接口和IPMB之外,IPMI通信联系还可以通过其他接口传输,例如LAN、串行/数据机、ICMB、和PCI管理总线。IPMI包括支持在这些接接口之间传送讯息或将讯息传送至BMC 140的通信基础设施。

基板管理控制器140可以在诸如显示屏幕142的显示装置上产生用户界面,以供用户从网络查看系统设定。如下所述,BMC 140可以为显示屏幕142上的每个服务器(例如服务器112)提供启动选项列表。用户界面允许管理员使用者从显示的可用启动选项中选择优先启动选项。或者,可以设置中央管理服务器118以管理所有服务器,例如内部网络或数据中心内的服务器112、114、与116。用户可以通过管理服务器118配置启动设定,然后将启动设定应用于同一组中的所有系统或部分系统。

图3B显示了在图3A中的服务器112的BMC 140的方块图。如上所述,BIOS 130和基板管理控制器140通过IPMI协议或Redfish协议进行通信。BIOS 130和基板管理控制器140还可以存取公共共享存储器150。在此例子中,公共共享存储器150可以是系统存储器中的记忆区域或是在基板管理控制器140中的专用DRAM。BIOS 130并且基板管理控制器140还可以耦接到存储器存储库152。如上所述,BIOS 130将启动选项数据160传递到BMC 140。启动选项数据160包括用于启动应用服务器112的不同选项。在此例子中,启动选项包括通过IPv4和IPv6用于网络启动的PXE选项。选项还包括通过应用服务器112的SATA控制器端口0或SATA控制器端口1的硬盘启动。

在此例子中,有几种方法将启动启动选项数据从BIOS 130传递到BMC140。一种方法是通过OEM IPMI命令。在此方法中,BIOS 130使用具有预定义格式的OEM IPMI命令,以通过诸如键盘控制器规格(KCS)、系统管理接口芯片(SMIC)、成组传送(BT)、SMBus系统接口(SSIF)、或其他工业传输(例如Redfish)的各种系统接口来将启动选项数据160传递到BMC140。

第二种方法可以是通过共享存储器,例如共享存储器150。共享存储器是服务器112上的系统存储器空间内或者是BMC 140的DRAM内的一个区域。当共享存储器位于系统存储器空间内的一个区域时,在开机自我测试例行程序期间,BIOS 130将从BMC 140向PCIE装置(例如视频装置)分配存储器资源。因此,BMC 140可以存取由BIOS 130写入至该区域的数据。在此例子中,共享存储器150是服务器112的内部存储器的一部分。在此方法中,BIOS130配置服务器的一特定存储器区域并将其从BMC 140映射至PCIE装置。然后,BIOS 130将启动选项数据160写入该存储器,以将启动选项数据160重新导向到BMC 140的DRAM。当共享存储器在BMC 140的DRAM内时,BMC 140将初始化其DRAM并分配一个存储器区域给BIOS,用于在启动开机自我测试程序时将数据写入存储器区域。BMC 140可以提供预定义的方法,例如OEM IPMI命令或USB接口,给BIOS 130,使其可将数据传递到BMC 140中的专用存储器。

第三种方法是使用分享知识库(Shared Repository),例如,存储器存储库152。在该实施例中,存储器存储库152可以是由BMC 140和BIOS 130存取的外部存储空间,例如,在服务器主机板上的EEPROM或是网络上可由服务器112存取的数据库。因此,BIOS 130可以使用内建(onboard)或外部存储库(例如,存储器存储库152)来写入启动选项数据160。存储器存储库152可以被BIOS 130与BMC 140存取以恢复启动选项数据160。

BIOS 130执行并用于启动服务器112的程序包括五个步骤。首先,BIOS130检查有多少可启动装置连接到服务器112。BIOS 130检查连接到服务器的所有周边装置,并为所有可启动装置创建启动选项。该程序是在系统启动或重置后执行。可启动装置可以包括硬盘驱动装置、USB驱动装置、CD/DVD或网络装置。第二,BIOS 130根据启动顺序设置对启动选项进行优先级排序。用户可以在BIOS设置选单中配置启动选项的启动顺序优先级,并将该顺序的原始数据保存在应用服务器112上的存储器中,例如非易失性随机存取存储器(NVRAM)。举例来说,启动顺序可以包括通过USB连接端口的第一启动类型,通过网络装置的第二启动类型,以及通过CD/DVD驱动装置的第三启动类型。在POST例行程序期间,BIOS 130根据存储在NVRAM中的启动顺序设置来区分所有启动选项的优先级。

第三,如果BMC 140请求任何启动顺序改变,则BIOS 130调整启动顺序,例如,发送一个选项,该选项为成为优先级启动选项。BIOS 130通过在IPMI或Redfish总线122上发送“设置系统启动选项”命令来检查BMC 140是否请求了任何启动顺序改变。第四,BIOS 130将最终启动选项数据160发送到BMC 140。最后,BIOS将尝试启动应用服务器112上的操作系统。BIOS 130将根据启动顺序列表中的启动顺序优先级尝试启动选项。如果从第一选项发生启动失败,则BIOS 130将尝试从第二选项启动,依此类推,直到尝试所有启动选项。

如下所述,由于BMC 140具有来自BIOS 130的启动选项列表,因此远端管理员使用者对启动选项的任何重新排序都根据BIOS 130可用的当前启动选项列表。因此,BIOS 130将成功启动服务器112,因为即使管理员使用者改变启动顺序,启动装置也是BIOS 130可用的启动装置之一。

图4是显示图3B中的BIOS 130和BMC 140之间的交互作用的示意图,当管理员使用者远端选择启动装置时,允许成功启动。在第一次启动程序(400)期间,BIOS 130经由图3B中的IPMI或Redfish总线122将启动选项数据发送到BMC 140。然后,BIOS 130根据启动顺序列表启动服务器112(402)。服务器112接着开始运行。管理员使用者可以在用户接口中选择第一优先级启动装置,或者通过图3A所示的显示器142上显示的命令行窗口发送设置系统启动选项命令(404)。然后,管理员使用者触发系统重置(406)。系统重置命令由BMC 140发送到BIOS 130,然后BIOS 130重置系统(408)。

然后,BIOS 130通过检查连接到服务器112的所有周边装置来创建启动选项列表(410)。BIOS 130对所有启动选项进行优先排序,并创建启动顺序列表(412)。然后,BIOS130通过IPMI或Redfish总线122向BMC 140发出“获取系统启动选项”命令(414)。BIOS 130从BMC 140发送的数据中获取第一优先级启动装置(416)。然后,BIOS 130调整启动顺序列表以合并第一优先级启动装置(418)。BIOS 130通知BMC 140BIOS 130已经处理启动信息(420)。BIOS 130还清除启动标志有效位。然后,BIOS 130将调整过的启动选项信息发送到BMC 140(422)。BIOS 130根据新的启动顺序列表启动服务器112(424)。然后,服务器112根据从启动顺序列表上的启动装置启动操作系统来进入运行状态。

图5是根据远端选择来选择启动选项的例行程序的流程图。图5是显示用于启动服务器(例如,图3A中的服务器112)的程序的机器可读指令。在该实施例中,机器可读指令包括用于通过以下方式执行的算法:(a)处理器;(b)控制器;和/或(c)一个或多个其他合适的处理装置。该算法可以体现在存储在有形媒介上的软件中,例如,快闪存储器、CD-ROM、软盘、硬盘驱动装置、数字视频(通用)盘(DVD)或其他存储装置。然而,本领域普通技术人员将容易理解,整个算法和/或其部分可替代地由除了处理器之外的装置执行和/或以众所周知的方式体现在固件或专用硬件中(例如,它可以由专用集成电路[ASIC]、可编程逻辑器件[PLD]、现场可编程逻辑器件[FPLD]、现场可编程门阵列[FPGA]、离散逻辑等实现)。例如,接口的任何或所有元件可以由软件、硬件和/或固件实现。此外,流程图中的一些或所有机器可读指令可以人工方式实现。此外,尽管图5中所示的流程图描述了示例算法,本领域普通技术人员很容易理解可替代地使用实现示例机器可读指令的许多其他方法。例如,可以改变步骤的执行顺序,和/或可以改变、删掉或组合所描述的一些步骤。

启动或者重置服务器(500)。BIOS 130检查连接到服务器112的周边装置(502)。BIOS判断该周边装置是否是启动装置(504)。如果该周边装置是启动装置,则BIOS 130为启动装置创建启动选项(506)。在创建启动选项之后,或者如果被检查的装置不是启动装置,则BIOS 130判断是否已经检查了所有周边装置(508)。如果还有装置没检查到,则重复执行例行程序以检查下一个周边装置(502)。如果已经检查了所有周边装置,则例行程序总结所有找到的可启动装置,并根据NVRAM中的启动顺序设置对它们进行优先排序(510)。

BIOS 130判断远端控制器(例如,BMC 140)是否请求任何启动顺序改变(512)。如果已经请求了启动顺序改变,则BIOS 130根据启动顺序改变的请求调整启动顺序列表(514)。如果没有启动顺序改变请求或者在调整启动顺序列表之后,BIOS 130将启动选项信息发送到BMC 140(516)。例行程序根据启动顺序列表上的装置尝试启动服务器(518)。BIOS130判断启动尝试是否成功(520)。如果启动尝试成功,则BIOS 130将控制权交给服务器112的操作系统(522)。如果启动尝试不成功,则例行程序判断是否已尝试启动顺序列表上的所有启动选项(524)。如果存在剩余的未尝试选项,则例行程序循环返回并根据启动顺序列表上的下一启动选项来尝试启动操作系统(518)。如果已尝试所有启动选项,则BIOS 130显示警告消息以指示启动失败(526)。

允许BIOS 130对服务器的操作系统进行手动控制的上述例行程序是根据来自远端管理员可用的准确的启动选项列表的所选启动选项的特征。管理员可以通过由BIOS 130发送的启动选项中,在图3A中的显示器142上由BMC 140生成的用户界面视窗中所示的启动选项信息来判断优选的第一优先级可启动装置。因此,优选的第一优先级可启动装置可以被发送到BIOS 130,且BIOS 130可以在第一次尝试时成功启动操作系统。这种远端选择启动装置的能力减少了远端成功启动系统所需的时间。

图6显示本发明实施例的计算机系统600的示意图,其中计算机系统的元件使用总线602彼此电连接。系统600包括处理单元(CPU或处理器)630。系统总线602将各种系统元件,包括系统存储器604(例如,只读存储器(ROM)606和随机存取存储器(RAM)608))耦合到处理器630。系统600可以包括高速存储器缓存,其可直接与处理器630连接、与处理器630紧密接近或集或整合至处理器630中。系统600可以将数据从存储器604和/或存储装置612复制到缓存628,以便由处理器630快速存取。以这种方式,缓存可以在等待数据时为处理器630提供性能提升。这些和其他模块可以控制或被配置为控制处理器630以执行各种操作。其他系统存储器604也可以使用。存储器604可以包括具有不同性能特征的多种不同类型的存储器。处理器630可以包括任何通用处理器和硬件模块或软件模块,例如,嵌入在存储装置612中的模块1 614、模块2 616和模块3 618。硬件模块或软件模块被配置为控制处理器630以及专用处理器,其中软件指令包含在实际的处理器设计中。处理器630基本上可以是完全独立的计算机系统,其包含多个内核或处理器、总线、存储器控制器、缓存等。多核处理器可以是对称的或非对称的。

为了实现与计算机系统600的用户交互,提供输入装置620作为输入机制。输入装置620可以包括用于语音的麦克风、用于手势或图形输入的触控屏幕、键盘、鼠标、动作输入等。在一些情况下,多模(Multimodal)系统令用户能够提供多种类型的输入以与系统600通信。在该实施例中,还提供输出装置622。通信接口624可以管理和管理使用者输入和系统输出。

存储装置612可以是非易失性存储器,用以存储可被计算机存取的数据。存储装置612可以是磁带盒、快闪存储卡、固态存储器装置、数字通用碟、盒式磁带、随机存取存储器(RAM)608、只读存储器(ROM)606及以上任意混合组合。

控制器610可以是系统600上的专用微控制器或处理器,例如BMC(基板管理控制器)。在一些情况下,控制器610可以是智能平台管理接口(IPMI)的一部分。此外,在一些情况下,控制器610可以嵌入在系统600的主机板或主电路板上。控制器610可以管理系统管理软件和平台硬件之间的接口。控制器610还可以与各种系统装置和元件(内部和/或外部)通信,例如,控制器或周边元件,其更描述如下。

控制器610可以生成对通知、警报和/或事件的特定响应,并且与远端装置或元件(例如,电子邮件消息、网络消息等)通信以生成用于自动硬件恢复程序的指令或命令。管理员还可以与控制器610远端通信以启动或执行特定的硬件恢复程序或操作,其更描述如下。

控制器610还可以包括系统事件日志控制器和/或存储器,用于管理和维护由控制器610接收的事件、警报和通知。例如,控制器610或系统事件日志控制器可以接收警报或来自一个或多个装置和元件的通知,并在系统事件日志存储元件中维护警报或通知。

快闪存储器632可以是电子非易失性计算机存储媒介或芯片,其可以由系统600用于存储和/或数据传输。快闪存储器632可以被电抹去和/或重新编程。快闪存储器632可包括例如EPROM(可抹去可编程只读存储器)、EEPROM(电可抹去可编程只读存储器)、ROM、NVRAM或CMOS(互补金属氧化物半导体)。当系统600首次启动时,快闪存储器632可以存储由系统600执行的固件634,以及为固件634指定的一组配置。快闪存储器632还可以存储固件634使用的配置。

固件634可以包括基本输入输出系统或等同物,诸如EFI(可扩展固件接口)或UEFI(统一可扩展固件接口)。每次启动系统600时,固件634可以作为顺序程序而被载入和执行。固件634可以根据该组配置来识别、初始化和测试系统600中存在的硬件。固件634可以在系统600上执行自我测式,例如POST(开机自我测试)。该开机自我测试可以测试各种硬件元件的功能,例如硬盘驱动装置、光学读取装置、冷却装置、存储器模块、扩展卡等。固件634可以在存储器604、ROM 606、RAM 608和/或存储装置612中寻址和分配区域以存储操作系统(OS)。固件634可以载入启动载入器和/或操作系统,并将系统600的控制权给操作系统。

系统600的固件634可以包括固件配置,其定义固件634如何控制系统600中的各种硬件元件。固件配置可以确定系统600中的各种硬件元件的启动顺序。固件634可以提供允许设置各种不同参数的接口,例如UEFI,其可以与固件默认配置中的参数不同。例如,用户(例如,管理员)可以使用固件634来指定时钟和总线速度,定义哪些周边装置连接到系统600,设置健康监测(例如,风扇速度和CPU温度限制),和/或提供影响系统600的整体性能和功率使用的各种其他参数。虽然固件634在图上显示为存储在快闪存储器632中,但对本领域普通技术人员来说,固件634也可以存储在其他存储器元件中,例如,存储器604或ROM606。

系统600可包括一个或多个传感器626。一个或多个传感器626可包括例如一个或多个温度传感器、热传感器、氧传感器、化学传感器、噪声传感器、加热传感器、电流传感器、电压检测器、空气流量传感器、流量传感器、红外线温度计、热通量传感器、温度计、高温计等。一个或多个传感器626可以经由总线602与处理器、缓存628、快闪存储器632、通信接口624、存储器604、ROM 606、RAM 608,控制器610和存储装置612通信。一个或多个传感器626还可以经由一个或多个不同的装置与系统中的其他元件通信,例如,内部集成电路(I2C),通用输出(GPO)等。系统600上的不同类型的传感器(例如,传感器626)也可以向控制器610回报参数,例如,冷却风扇速度、电源状态、操作系统(OS)状态,硬件状态等。系统600可以使用显示器636来提供与由控制器610执行的应用程序相关的图形。

图7是显示本发明实施例的具有芯片组架构的计算机系统700的示意图,该芯片组架构可用于执行前述方法或操作,以及生成和显示图形用户接口(GUI)。计算机系统700包括可以用于实现所公开的技术的计算机硬件、软件和固件。计算机系统700包括处理器710,其能够执行被配置为执行所识别的计算的软件、固件和硬件的各种物理和/或逻辑上不同的资源。处理器710可以与控制输入到处理器710和从处理器710输出的芯片组702通信。在该实施例中,芯片组702将信息输出到输出装置714,例如,显示器,并且可以向存储装置716读取和写入信息。例如,装置716可以包括磁媒介和固态媒介。芯片组702还可以从RAM 718读取数据并将数据写入RAM 718。可以提供用于与各种用户接口元件706接口的桥接器704,其用于与芯片组702介接。用户接口元件706可以包括键盘、麦克风、触摸检测和处理电路以及指示装置,例如、鼠标。

芯片组702还可以与可以具有不同物理接口的一个或多个通信接口708介接。这种通信接口可以包括用于有线和无线局域网络,用于宽频无线网络和用于个人局域网络的接口。此外,机器可以经由用户接口元件706接收用户输入,并且通过使用处理器710解释这些输入来执行适当的功能,诸如浏览功能。

此外,芯片组702还可以与固件712通信,固件712可以在启动时由计算机系统700执行。固件712可以根据一组固件配置来识别、初始化和测试计算机系统700中的硬件。固件712可以在系统700上执行自我测试,例如,POST。自我测试可以测试各种硬件元件702-718的功能。固件712可以在存储器718中寻址和分配区域以存储操作系统。固件712可以载入启动载入器和/或操作系统,并将系统700的控制权提供给OS。在一些情况下,固件712可以与硬件元件702-710和714-718通信。在此,固件712可以通过芯片组702和/或通过一个或多个其他元件与硬件元件702-710和714-718通信。在一些情况下,固件712可以直接与硬件元件702-710和714-718通信。

可以理解,系统600(如图6所示)和700可以具有多于一个处理器(例如,630、710),或者是经由网络连接在一起以提供更强大处理能力的计算装置的群组或集群的一部分。

如在本申请中所使用的,术语“元件”,“模块”,“系统”等通常指与计算机相关的实体、硬件(例如,电路)、硬件的组合和软件、软件或与具有一个或多个特定功能的操作机器相关的实体。例如,元件可以是但不限于是在处理器(例如,数字信号处理器)上运行的程序、处理器、物件、可执行文件、执行的线程、程序和/或计算机。作为说明,在控制器上运行的应用程序以及控制器都可以是元件。一个或多个元件可以驻留在程序和/或执行的线程内,并且元件可以位于一个计算机上和/或分布在两个或更多个计算机之间。此外,“装置”可以采用专门设计的硬件形式;通过在其上执行软件而专门制造的通用硬件,使硬件能够执行特定功能;存储在计算机可读媒介上的软件;或其组合。

这里使用的术语仅用于描述特定实施例的目的,并不用于限制本发明。如这里所使用的,单数形式“一”、“一个”和“该”也包括复数形式,除非上下文另有明确说明。此外,在详细说明和/或权利要求中使用术语“包括”、“具有”或其变体的范围,这些术语旨在以与“包含”一词类似的方式包容。

除非另外定义,否则本文使用的所有术语(包括技术和科学术语)具有与本领域普通技术人员通常理解的含义相同的含义。此外,诸如在常用词典中定义的术语应被解释为具有与其在相关领域的上下文中的含义一致的含义,并且除非明确地定义,否则将不被理解为理想化或过于正式的含义。

虽然上面已经描述了本发明的各种实施例,但是应该理解,它们仅以示例的方式呈现,而不是限制。尽管已经关于一个或多个实施方式说明和描述了本发明,但是在阅读和理解本说明书和附图之后,本领域技术人员将想到或者已知等同的改变和修改。另外,尽管可能仅关于若干实施方式中的一个公开了本发明的特定特征,但是这样的特征可以与其他实施方式的一个或多个其他特征组合,如对于任何给定或特定应用可能期望和有利的。因此,本发明的广度和范围不应受任何上述实施例的限制。而是,本发明的范围应根据以下权利要求及其等同物来限定。

相关技术
  • 用于计算机装置的可靠启动系统
  • 用于计算机集成电信环境中的监视对象的监视的启动的方法、用于方法的装置和系统
技术分类

06120112160366