CN113489597B - 用于网络装置的最佳启动路径的方法和系统 - Google Patents

用于网络装置的最佳启动路径的方法和系统 Download PDF

Info

Publication number
CN113489597B
CN113489597B CN202010716175.8A CN202010716175A CN113489597B CN 113489597 B CN113489597 B CN 113489597B CN 202010716175 A CN202010716175 A CN 202010716175A CN 113489597 B CN113489597 B CN 113489597B
Authority
CN
China
Prior art keywords
post
program
computing device
hardware
option
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
CN202010716175.8A
Other languages
English (en)
Other versions
CN113489597A (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 CN113489597A publication Critical patent/CN113489597A/zh
Application granted granted Critical
Publication of CN113489597B publication Critical patent/CN113489597B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • 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/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
    • 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
    • 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/4406Loading of operating system
    • G06F9/4408Boot device selection
    • 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/4416Network booting; Remote initial program loading [RIPL]
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种用于网络装置的最佳启动路径的方法和系统。系统具有一远端管理站,与计算装置进行网络通信。计算装置具有多个硬件组件和一统一可扩展固件接口(UEFI)基本输入输出系统(BIOS),其包括多个开机自检(POST)程序。一控制器与UEFI BIOS通信,并与远端管理站网络通信。控制器从管理站接收多个POST程序之一的一选择。控制器使用选择的POST程序启动计算装置。POST程序包括一一般POST程序和其他多个专用程序,例如一快速启动选项、一安全启动选项、一诊断启动选项及一工厂启动选项。

Description

用于网络装置的最佳启动路径的方法和系统
技术领域
本发明涉及一种用于计算装置的启动程序。更具体地,本发明有关一种系统,其包括多个启动选项可绕过所选择的模块以促进网络装置的快速开机。
背景技术
服务器被大量用于高需求的应用上,例如基于网络的系统或数据中心上。用于计算应用的云端应用(cloud)的出现增加了对数据中心的需求。数据中心有许多服务器,其存储数据并运行由计算装置使用者通过远端连接存取的应用程序。典型的数据中心具有物理机架结构,并有相应的电源和通信连接。每个机架可以容纳多个计算服务器和存储服务器。
数据中心的服务器为企业提供了许多服务,包括执行应用程序、提供虚拟化服务以及促进互联网商务。随着公司越来越依赖数据中心服务器的这些服务,稳定的正常运行时间变得越来越重要和有价值。服务器停机时,生产力会降低或完全停止,从而降低企业的盈利能力。尽管数据中心管理员会采取一切预防措施来防止因服务器故障而中断服务,但是服务器停机时间的问题很难完全消除。服务器停机的主要原因可能包括服务器硬件故障、进行硬件升级、进行软件升级以及网络攻击引起的事故或服务器维护。考虑到大量停机的潜在高成本和破坏性成本,数据中心管理通常会制定计划来应对服务器停机,并针对停机原因定制不同的突发事件。但是,在恢复服务器时,必须重新启动每个服务器。通常每个服务器会通过开机自检(power-on self-test,POST)程序进行开机以开始运行。在计算机系统(例如服务器上的处理器核心)的POST程序期间,处理器核心执行基本输入输出系统(basic input output system,BIOS),以初始化服务器的硬件。重新启动的过程会花费大量时间,特别是由于诸如软件或硬件升级之类的原因使多个服务器停机时更是如此。
因此,需要一种系统,此系统包括启动选项(boot option),以消除某些不必要的过程以加速启动路径的POST程序。也需要一种启动选项,此选项允许通过带内(in-band)和带外(out-of-band)对服务器进行诊断。还需要为数据中心、工厂或服务中心中常见的方案提供不同的启动选项。
发明内容
根据本发明的一实施例,公开一种用于启动一远端计算装置的提供多个选项的系统和方法。系统具有一远端管理站、一网络以及一计算装置。网络与远端管理站通信。计算装置具有多个硬件组件和一统一可扩展固件接口(unified extensible firmwareinterface,UEFI)基本输入输出系统(BIOS)。UEFI BIOS包括多个开机自检(POST)程序。控制器与UEFI BIOS通信,并与远端管理站进行网络通信。控制器用以从管理站接收多个POST程序之一的一选择。控制器用以利用选择的POST程序来启动计算装置。POST程序包括一一般POST程序、一前可扩展固件接口(pre-extensible firmware interface,pre-EFI)初始化环境阶段、一驱动程序执行环境阶段、一启动装置选择阶段及一暂态系统载入阶段。一般POST程序具有一安全阶段。pre-EFI初始化环境阶段用于初始化和配置计算装置的硬件组件。POST程序还包括一第二不同的POST程序。
在一实施例中,控制器为一基板管理控制器。另一实施例中,计算装置为一服务器。在另一实施例中,管理站通过计算装置的带内通信发送POST程序的选择。另一实施例中,管理站通过计算装置的带外通信发送POST程序的选择。另一实施例中,通过UEFI变量进行选择。另一实施例中,第二POST程序为一快速启动,其包括绕过计算装置的至少某些硬件组件的初始化和配置、以及使用来自一般POST程序的持续性存储器中存储的数据结构来恢复计算装置的暂存器。另一实施例中,第二个POST程序为一安全启动,其包括读取故障的硬件组件的评估报告,以确定有功能的硬件组件、禁用故障的硬件组件、以及初始化有功能的硬件组件。另一实施例中,第二个POST程序是工厂供应启动,其包括载入一固件配置、禁用一纠错机制、以及对硬件组件执行压力测试。另一实施例中,第二POST程序为一诊断选项,其包括从计算装置的安全测试中收集除错讯息、以及收集硬件组件的硬件错误状态数据。另一实施例中,除错讯息是由与一联合测试工作群组(joint test action group,JTAG)扫描链连接之一JTAG主机所产生。
根据本发明的另一实施例,提供一种用于计算机装置的选择一启动程序的方法。通过一网络从一远端管理站传输多个开机自检(POST)程序之一的一选择至一计算装置。计算装置包括一控制器、多个硬件组件和一统一可扩展固件接口(UEFI)基本输入输出系统(BIOS),UEFI BIOS包括多个POST程序。从控制器上的远端管理站接收多个POST程序之一的选择。使用选择的POST程序启动计算装置。多个POST程序包括一一般POST程序、一pre-EFI初始化环境阶段、一驱动程序执行环境阶段、一开机装置选择阶段及一暂态系统载入阶段。一般POST程序具有一安全阶段。pre-EFI初始化环境阶段用于初始化和配置计算装置的硬件组件。多个POST程序还包括一第二不同的POST程序。
在一实施例中,控制器为一基板管理控制器,且计算装置为一服务器。另一实施例中,POST程序的选择是通过计算装置的一带内通信来发送。另一实施例中,POST程序的选择是通过计算装置的一带外通信来发送。另一实施例中,通过设定一UEFI变量进行选择。另一实施例中,第二POST程序为一快速启动,其包括绕过计算装置的至少某些硬件组件的初始化和配置、以及使用来自一般POST程序的持续性存储器中存储的数据结构来恢复计算装置的暂存器。另一实施例中,第二个POST程序为一安全启动,其包括读取故障的硬件组件的评估报告,以确定有功能的硬件组件、禁用故障的硬件组件、以及初始化有功能的硬件组件。另一实施例中,第二个POST程序为工厂供应启动,其包括载入一固件配置、禁用一纠错机制、以及对硬件组件执行压力测试。另一实施例中,第二POST程序为一诊断选项,其包括从计算装置的安全测试中收集除错讯息、以及收集硬件组件的硬件错误状态数据。
以上发明内容并非旨在表示本发明的每个实施例或每个方面。而是,前述发明内容提供本文阐述一些新颖方面和特征的示例。为了对本发明的上述特征及优点及其他特征及优点有更佳的了解,下文特举实施例,并配合附图详细说明如下。
附图说明
为了对本发明的各方面有更佳的了解,以下将配合附图详细说明。须注意的是,这些附图仅描绘了示例性实施例,因此不应视为对各种实施例或请求项的范围的限制。
图1绘示根据本发明的一方面的具有启动最佳化程序的系统的方块图。
图2绘示根据本发明的一方面的通过不同启动路径存取的不同功能的示意图。
图3绘示根据本发明的一方面的在诊断启动程序期间的BMC和UEFI BIOS的功能的示意图。
图4示出根据本发明的一方面的用于启动路径选项的Redfish JSON数据的表。
图5示出根据本发明的一方面的用于选择的启动路径的POST程序的通信流程的示意图。
图6示出根据本发明的一方面的一般和快速启动POST程序选项的流程图。
图7示出根据本发明的一方面的安全启动POST程序选项的流程图。
图8示出根据本发明的一方面的工厂供应POST程序选项的流程图。
图9示出根据本发明的一方面的诊断启动POST程序选项的流程图。
本发明可进行各种修改和替代形式。本发明已通过示例的方式在附图中示出了一些代表性的实施例,并且在此将对其进行详细描述。然而,应当理解的是,本发明并不限于所公开的特定形式。相反地,本发明将涵盖由所附权利要求书所限定的本发明的精神和范围内的所有修改、均等形式及替代形式。
【符号说明】
100:启动系统
102:远端服务器管理和服务站
104:网络
106:服务器
110:基板管理控制器(BMC)
112:网络接口控制器
120:统一可扩展固件接口(UEFI)基本输入输出系统(BIOS)
130,132,134:硬件组件
136:持续性存储器
140:操作系统(OS)
142:通用串行总线(USB)端口
200:示意图
210:安全阶段
212:PEI阶段
214:DXE阶段
216:BDS阶段
218:TSL阶段
220:预验证器
222:Ucode修补
224:硅基安全程序
230:UPI/XGMI拓扑发现过程
232:起始存储器参考代码过程
234:初始平台移植过程
240:装置、总线或服务驱动程序
242:PCI扫描和资源分配过程
244:创建启动和运行时间服务过程
246:发布ACPI和SMBIOS表过程
250:启动分配器过程
252:扫描启动载入器过程
260:暂态操作系统启动载入器过程
262:操作系统切换过程
300:BMC系统错误日志文件
302存储器错误纠正代码(ECC)
304:CPU机器检查异常错误(MCERR)
306:PCIe不可纠正
308:高温
400:表
410:BIOS属性注册请求
420:描述
500:RESTful或IPMI通道
510:开启待用电源
512:BMC启动
518:POST启动
524:POST结束
514,516,520,522,526,528,610,612,614,616,618,620,622,624,626,628,630,632,634,640,644,646,648,650,652,710,712,714,716,718,720,722,724,726,728,730,732,734,736,738,740,810,812,814,816,818,820,822,824,826,828,910,912,914,916,918,920,922,924,930,932,934,936,938,940,942,944,946:步骤
600,700,800,900:流程图
具体实施方式
本发明可以许多不同的形式实施。代表性实施例在附图中示出,并且将在本文中详细描述。本公开用以示例或说明原理,并非将本公开限于所示出的实施例。例如在摘要、发明内容和实施方式部分中公开但在权利要求书中未明确提出的要素和限制,不应通过暗示、推论,单独或共同地并入权利要求书中。为了本发明详细描述的目的,除非特别声明,否则单数包括复数,反之亦然。“包括”一词的意思是“包括但不限于”。此外,在本文中可以使用诸如“大约”、“几乎”、“实质上”、“近似”等的近似词来表示例如“在...处”、“邻近...”或“在...附近”或“3-5%之内”或“在可接受的制造公差之内”或其任意的逻辑组合。
本发明公开的实施例包括一系统,其用于为服务器的启动路径的开机自检(POST)程序提供各种选项。各种选项包括通过绕过某些初始化步骤来减少POST程序时间的选项。各种选项还包括通过带外启动(out–of-band)的诊断程序,而无需更改服务器的配置。
图1绘示启动系统100,其允许服务器的启动路径具有不同选项。启动系统100包括一远端服务器管理和服务站102、一网络104以及一远端计算装置(例如一服务器106)。远端服务器管理和服务站102可被数据中心操作员存取。远端服务器管理和服务站102允许数据中心操作员存取管理接口,以允许操作员通过带外启动来执行服务器106的远端诊断或设定启动路径策略,其如下所述。远端服务器管理和服务站102可以通过网络104产生用于服务器106的启动路径的控制信号。
服务器106包括一基板管理控制器(BMC)110。BMC 110包括一网络接口卡或一网络接口控制器112,其耦接到网络104。BMC 110耦接至一启动固件120,例如一统一可扩展固件接口(UEFI)基本输入输出系统(BIOS)。服务器106包括硬件组件130、132及134,其可执行诸如存储、计算和切换的功能。例如,硬件组件130可为一中央处理器(CPU)。其他硬件组件132和134可为其他处理器、存储器装置、快速周边组件互连(peripheral componentinterconnect express,PCIe)装置插槽等。如图1所示,仅绘示三个硬件组件,可以理解的是,一典型的服务器上可能有更多的硬件组件。在此实施例中,服务器106包括一持续性存储器136,例如一快闪存储器或一I2C EEPROM,其可以被分割用于不同用途,例如存储UEFIBIOS 120。
BMC 110读取从远端服务器管理和服务站102获得的启动路径的策略。启动固件120最佳化服务器106的硬件组件(例如硬件组件130、132及134)的硬件初始化。BMC 110也可对服务器106的硬件组件(例如硬件组件130、132及134)执行硬件诊断。BMC 110更可监视服务器106的硬件组件(例如硬件组件130、132及134)的健康状况。当启动路径的POST程序完成后,一操作系统(OS)140开始服务器106的操作。服务器106还包括一通用串行总线(USB)端口142。
图2绘示从开机(Power-on)到平台初始化到启动(Boot-up)的过渡期间的不同可用功能的示意图200,其可以根据本发明实施例的启动选项来实现。示意图200示出启动路径的POST程序的不同串行阶段。因此,第一行210代表一安全阶段。第二行212代表一可扩展框架接口(EFI)初始化环境(PEI)阶段。第三行214代表一驱动程序执行环境(DXE)阶段。第四行216代表一启动装置选择(BDS)阶段。第五行218代表一暂态系统载入(TSL)阶段。
安全阶段210通过预验证器(pre-verifier)220而被启动。预验证器220应用Ucode修补222并启动硅基安全程序(silicon-based security routines)224。PEI阶段212包括一UPI/XGMI拓扑发现过程(UPI/XGMI topology discovery process)230、一起始存储器参考代码过程232及一初始平台移植过程234。在此实施例中,某些启动路径选项可能会绕过存储器参考代码过程232。
一组驱动程序240(例如装置驱动程序、总线驱动程序或服务驱动程序)实现DXE阶段214。每个驱动程序按串行执行直到DXE阶段214结束。此阶段包括一PCI扫描和资源分配过程242、一创建启动和运行时间服务过程244以及一发布ACPI和SMBIOS表过程246。所有的过程242、244和246可能会被某些启动路径选项所绕过。
启动装置选择阶段216包括一启动分配器过程250及一扫描启动载入器过程252。暂态系统载入(TSL)阶段218包括一暂态操作系统启动载入器过程260及一操作系统切换过程262。在暂态系统载入阶段218结束时,将控制移交给OS启动载入器(例如Linux GRUB),且操作系统140启动并开始。
本发明的实施例提供了POST启动路径的多个选项,每个选项具有不同的POST程序。在实施例中,POST启动路径选项包括一一般启动选项、一快速启动选项、一安全启动选项、一工厂供应选项及一硬件诊断选项。这些选项可通过带内实施存取服务器106上的OS140的应用程序来操作。应用程序将允许操作员为服务器106选择启动选项。这些选项也可以通过带外实施通过网络104从服务器106的BMC 110接收命令来操作。快速启动和安全启动选项绕过了图2所示的某些过程,以增加启动操作的速度。
举例来说,快速启动选项提供了最短的POST时间来启动进入操作系统(OS)140,并使网络装置(例如图1中的服务器106)能够运行。硬件组件的某些初始化和配置会被绕过。如果服务器106上没有硬件更改,则由UEFI BIOS 120恢复设定。例如,如果软件修补被加到OS 140,则服务器将重新启动。重新启动的程序可以跳过不必要的硬件组件初始化而恢复硬件设定。
在硬件诊断选项中,UEFI BIOS 120和基板管理控制器(BMC)110负责对图1中的服务器106进行故障排除和报告信息。在此选项中,没有任何软件配置或硬件配置被更改,因此诊断选项对数据中心环境的影响很小。
图3是在硬件诊断启动过程期间的服务器106的组件的作用示意图。当服务器106开机时,UEFI BIOS 120执行POST包(POST package)修复、启用固件除错讯息,并检测输入/输出速度和链接宽度。BMC 110检查硬盘驱动程序和背板组件的健康状况。BMC 110识别服务器106上所有固件的版本。BMC 110转存服务器106的CPU错误暂存器。BMC 110检查服务器106的温度数据、风扇速度和电压。
在开机并执行上述初始功能后,UEFI BIOS 120从BMC 110的USB端口载入ISO映像。这是BMC 110的特殊功能,它可以模拟USB端口(通过在主机USB端口142和BMC端口之间链接连接)作为标准USB可启动映像。例如,ISO映像可以存储在插入USB端口142的USB相容的存储器装置中。此ISO可启动映像可以包含嵌入式Linux OS+除错工具+脚本文件。因此,UEFI BIOS 120可以将ISO映像识别为与其他USB链接的可启动装置相同。可以从USB端口启动ISO映像,以从嵌入式Linux OS中执行脚本文件。UEFI BIOS 120运行启动诊断操作系统并运行脚本文件。UEFI BIOS 120向服务器施加压力并收集BMC系统错误日志文件300。系统错误日志文件300可以包括由UEFI BIOS 120确定的项目,例如一存储器错误纠正代码(ECC)项目302、一CPU机器检查异常(MCERR)错误项目304,一PCIe不可纠正项目306或一高温项目308。
通常,启动路径的一般POST程序选项包括在图2的示意图200中列出的所有过程。这些过程必须按照图2所示的串行进行处理,直到图2中的操作系统140载入为止。启动路径的一般POST程序的主要目的是将硬件组件初始化为就绪状态,并准备用于操作系统的与平台相关的数据结构。硬件组件的初始化是一个复杂的过程。初始化从安全检查开始,然后是硬件组件检测,接着设定硬件暂存器编程。一般选项的启动路径的POST通常是一个固定的序列,并且对于大规模的各种硬件组件和软件要求亦如此。启动路径所花费的时间取决于硬件组件和可启动装置的数量。
本发明的实施例所公开的系统包括启动路径的其他POST程序。这些选项包括快速启动选项、安全启动选项、工厂供应选项和硬件诊断选项。这些选项可通过服务器106的带内和带外控制来操作。带内控制是通过服务器106的主机系统的接口所进行,而带外控制是通过BMC 110从远端IPMI接口与例如图1中的站102的远端装置通信所进行。一些启动路径选项的不同POST程序加快了服务器重新启动的时间,并且还为数据中心、服务站或工厂的操作员提供了灵活的操作选择。
因此,一般的启动选项是综合的POST启动序列。图1中的UEFI BIOS固件120启用信任根安全路径(root of trust secure path)、初始化服务器106的所有硬件组件、创建可启动装置路径、以及在载入操作系统140之前建立平台相关的数据结构。UEFI BIOS 120包括启动选项,并且读取UEFI变量以执行启动路径的选择的一般POST程序。一般启动选项是综合的POST序列,除了UEFI BIOS 120必须完成所有必要的硬件初始化并为OS准备平台信息外。在一般启动选项中,UEFI BIOS 120还将所需的硬件暂存器内容、所需的UEFI启动元素内容以及所需的OS信息内容存储到持续性存储器136中。
服务器106首次在数据中心启动时执行正常启动。当数据中心操作员更改硬件配置或替换服务器106的可替换单元时,也会执行一般启动选项。
在此实施例中,UEFI BIOS变量、BMC变量以及OEM IPMI命令或RegistryEntries的Redfish AttributeName通过带内或带外确定启动路径的哪个POST程序选项被选择。BMC变量允许BMC 110从外部装置(如图1中的服务站102)获得启动选项。UEFI BIOS 120读取UEFI变量的值以确定要执行哪个启动路径。UEFI变量是通过OEM IPMI命令或来自BMC 110的Redfish命令设定的。Redfish存储库(ResiryEntries的AttributeName)具有优先级和依赖性来决定最终的启动路径选择。AttributeName是名称变量,以及RegistryEntry是Redfish中的名称存储库。通过这些实施例所示的命令,数据中心的服务器管理和服务器106的操作系统140可以直接接收POST选项,然后设定启动路径的POST程序。这些命令可以在服务器106上设定选择的启动路径,直到由数据中心操作员或通过服务器106上的应用程序发布启动路径的新POST选项为止。因此,第一个示例OEM IPMI命令REQ为“Get POST of Bootpath”。此命令是UEFI BIOS 120和BMC 110之间的通信协议。UEFIBIOS 120使用此命令来检索由远端数据中心操作员发出的需求,并为选择的启动选项设定UEFI BIOS变量。设定的变量用于检索配置参数和启动路径选项的返回POST程序。此变量受来自BMC 110的带内编程或带外编程命令的结果的影响。get命令的优先权是强制性的。在此实施例中,NetFN ix为0X30,而CMD为0xDA。第二个OEM IPMI命令REQ是“Set POST of Boot path”,其用于设定配置参数和启动路径的POST。set命令的优先权是强制性的。在此实施例中,NetFN为0X30,而CMD为0xDB。
图4是用于实施例的启动路径选项的Redfish JSON数据的表400,其可以代替OEMIPMI命令使用。表400包括一BIOS属性注册请求410以及一对应的描述420。如在描述中可以看到的,值名称(value name)确定哪个启动路径被使用于POST。从一般启动(normalboot)、快速启动(fast boot)、安全启动(safety boot)、工厂供应(factory provision)及诊断(diagnostic)中选择的POST程序将取决于所选的值名称。
图5是在UEFI BIOS 120、BMC 110和操作系统140或网络数据中心管理站102之间针对所选择的启动路径的POST程序的通信流程图。通信通道(例如RESTful或IPMI通道500)可以用作带外机制,以在服务器管理站102与BMC 110之间以及在BMC 110与UEFI BIOS 120之间交换命令。带内机制可以从操作系统140向BMC 110交换命令。
首先开启待用电源(510)。这使得BMC 110被启动(512)。数据中心的操作员设定选择的启动路径的POST程序(514)。POST程序的设定通过RESTful或IPMI通道500传递到BMC110。UEFI BIOS 120从RESTful或IPMI通道500读取选择的启动路径的POST程序,并将其保存为UEFI变量(516)。然后,启动选择的POST程序(518)。然后,UEFI BIOS 120根据从BMC110接收到的启动路径选项执行UEFI POST程序(520)。UEFI BIOS 120将启动路径的POST程序的状态发送到BMC 110(522)。然后POST程序结束(524),允许操作系统140被启动(524)。数据中心的操作员可以通过管理和服务站102读取启动路径(526)的POST程序的当前选项。数据中心的操作员还可以通过管理和服务站102读取选择的启动路径的POST程序的最新状态(528)。
快速启动选项是启动选项中最有效的POST启动序列。在快速启动选项中,UEFIBIOS固件120启用信任安全路径的根、初始化服务器106的较少但重要的硬件组件、使用在先前的一般启动路径中复制的数据结构来还原硬件暂存器和旧版存储器内容、并用固定的可启动装置载入操作系统140。如果没有硬件配置更改,则快速启动选项比一般启动选项更有效率。对于快速启动选项,UEFI BIOS 120仅执行强制性的硬件初始化。从持续性存储器136中恢复所需的内容到硬件组件,然后从固定的可启动装置载入操作系统。因此,UEFIBIOS 120将硬件组件配置和复杂硬件暂存器的设置复制到持续性存储器136的保留空间中。在快速启动选项期间,UEFI BIOS 120重用该信息来对硬件组件进行编程,而不是对组件执行序列初始化。因此,存储的设定(例如信号时序,PCIe总线链路宽度和PCIe速度)会被载入,而不是从硬件组件确定这些设置。
当由于升级或降级操作系统软件而在数据中心中发生服务器重新启动时,执行快速启动选项。当服务器重新启动而硬件配置没有任何变化时,也会执行快速启动。与一般POST程序相比,快速启动选项在POST程序可节省约30%的时间。
安全启动选项是弹性的POST启动序列,其中UEFI BIOS固件120从BMC 110读取服务器106的硬故障(hard faults)的估计报告。在安全启动选项中,UEFI BIOS固件140根据硬故障自动禁用硬件组件、初始化服务器106的健康和有功能的硬件组件、创建一个可用的可启动装置路径、以及在载入操作系统之前建立平台相关数据结构。数据中心的服务器管理站102禁用不良和/或故障硬件组件的接口,例如处理器(禁用核心插槽)、存储器(禁用DIMM插槽)、PCIe IO(禁用PCIe插槽)以及机载装置接口。然后,安全启动程序会初始化其余硬件组件,直到成功载入操作系统140。
安全启动的主要目的是恢复服务器106的上线状态。当故障的硬件组件被禁用后载入操作系统时,安全启动选项为数据中心操作员检索重要的业务信息以进行数据备份和迁移。当因硬件故障而在数据中心中发生服务器重新启动时,执行安全引导选项。当发生硬件故障时,数据中心操作员通常会希望从服务器106取回重要数据,然后修复故障的硬件组件。与一般POST程序相比,使用安全启动选项可以节省POST程序约30%的时间。
工厂供应启动选项是UEFI BIOS固件120的唯一POST启动序列。工厂供应启动选项基于生产线要求来载入固件设定并启用特定硬件配置以进行服务器106的压力测试。工厂供应选项序列将启动路径的POST程序的选择保存到UEFI BIOS变量、开始初始化、并读取UEFI变量。然后,UEFI BIOS 120自动载入预设的固件配置。UEFI BIOS 120提供安全功能启用,并禁用用于不良硬件组件识别和根除机制的压力测试的错误校正。当在工厂的生产线中启动或重新启动服务器时,将发生工厂供应启动。与一般POST程序相比,工厂供应启动选项可节省POST程序约10%的时间。
硬件诊断选项是故障排除POST启动序列,用于数据中心的排定维护和服务站的排定维护。硬件诊断序列将启动路径的选择的POST程序保存到UEFI BIOS变量、开始初始化、并读取UEFI变量。因为软件和硬件的改变被禁止,所以UEFI BIOS 120和BMC 110都必须执行新的和独立的诊断服务程序,而不必接触客户的机密数据和信息。硬件诊断选项的主要目的是收集安全测试的所有除错讯息、服务器106的所有硬件错误状态数据(例如处理器、PCIe装置、周边存储装置和周边IO装置)、以及服务器106运行时的系统错误日志。数据中心的操作员可以使用此数据执行硬件故障分析并确定根本原因。因此,硬件诊断选件可检查硬件健康状况。例如,可以进行操作系统用户层配置的调整,以安装其他支持功能和软件。然而,这种改变可能与数据中心的使用模型背道而驰而引起关注。因此,硬件诊断必须在独立的操作系统环境中执行,其不存取服务器106的主机操作系统的软件配置。
在硬件诊断选项中,UEFI BIOS 120启用最大除错级别。在诊断选项中,UEFI BIOS固件120将所有级别的除错讯息从POST程序的软件和硬件初始化公开给服务器106的BMC110。例如,存储器训练错误可能导致发送存储器装置的DIMM编号至BMC 110进行记录。BMC110将运行控制库的ISO映像安装到服务器106,并执行JTAG主扫描引擎驱动程序以抓取所有级别的系统错误、周边IO装置错误,存储器错误、热级别状态、以及电源供应状态。JTAG是工业标准接口,其用于验证设计和测试主机板。在此实施例中,服务器106上的硬件组件支持JTAG,因此可以与BMC 110中的JTAG主控连接。这允许BMC 110执行JTAG命令,以从对应的硬件组件获得可用的数据。
因此,所有POST序列都将除错文本字串公开给串行控制台端口和与BMC 110连接的LAN串行(Serial Over LAN,SOL)。这些除错讯息包括在服务器106中运行的所有串行服务程序名称、在POST程序期间所创建的软件数据结构的结果、以及装置和由UEFI BIOS 120所编程的芯片之间的互连信号。UEFI BIOS 120创建必要的数据结构并将数据结构公开给操作系统以用于平台设计的识别。例如,数据结构可以是ACPI表的PCI树或SMBIOS的CPU核心数量。在POST程序执行后,此数据将留在实体存储器中。通常,只有设计人员可以通过特定工具查看此数据。然而,在此实施例中,UEFI BIOS 120可以复制存储器的这些内容,并通过串行控制台端口和SOL将输出重定向到远端服务器管理(例如服务站102)。此信息可用于设计人员进行服务器106的更深层除错。相同的概念可以应用于硬件信号方面。UEFI BIOS120可以通过硬件控制器微调信号强度。此数据可以作为除错讯息输出,且可由设计人员远端存取。在发生硬件故障的情况下,设计人员可以通过与数据结构进行比较来识别故障。BMC 110将运行控制库的ISO映像安装到服务器主机板USB端口142、将ISO映像模拟为可启动装置;然后允许UEFI BIOS 120执行ISO映像使其作为嵌入式操作系统、并执行诊断应用程序。
在此实施例中,BMC 110启用除错和编程接口,例如JTAG主机,其连接服务器106的主处理器的JTAG扫描链。基础图像传输协议(ITP),例如EnterDebugMode、ReadMSR及WriteIO,被提供在BMC 110的固件堆迭中。远端应用程序,例如Python-based的CScripts,可提供在远端服务器管理和服务站102上。数据中心操作员可以使用应用程序以获取所有必要暂存器的内容和错误状态读取(例如Intel At-Scale协议)。
当服务器106在数据中心进行维护而被重新启动时,硬件诊断选项可被执行。当服务器106在服务站进行分析而被启动时,此选项也可以被执行。因此,当服务器(例如服务器106)之故障主机板被发送到服务站进行除错时,硬件诊断选项允许服务工程师快速确定详细的硬件故障信息,而无需设定复杂的主机诊断软件环境。在此诊断选项中,禁止对服务器106进行硬件和软件的更改。与一般启动程序相比,此选项没有节省时间。
图6至9中的流程图表示用于图1中的系统100中的POST程序启动路径的不同选项的机器可读指令。在此实施例中,机器可读指令包括一种算法,此算法由以下各项执行:(a)处理器、(b)控制器、和/或(c)一个或多个其他适合的处理装置。此算法可以在软件中其存储在有形介质(例如快闪存储器、CD-ROM、软盘、硬盘、数字图像(多功能)光盘(DVD)或其他存储器装置)中。然而,本领域技术人员将容易意识到,整个算法和/或其部分可以可选地由处理器以外的装置执行和/或以众所周知的方式体现在固件或专用硬件中(例如,它可以由专用集成电路(ASIC)、可编程逻辑装置(PLD)、现场可编程逻辑装置(FPLD)、现场可编程门阵列(FPGA)、离散逻辑等来实现)。例如,接口的任何或所有组件可以通过软件、硬件和/或固件来实现。而且,流程图表示的一些或全部机器可读指令可以手动实现。此外,虽然实施例的算法如图6至9的流程图所示,但本领域技术人员将容易理解,实现机器可读指令的许多其他方法也可以替代地使用。例如,可以改变区块的执行序列、和/或所描述的一些区块可以改变、删除或组合。
图6绘示用于一般启动和快速启动选项的流程图600,其可以通过管理和服务站102与服务器(例如图1中的服务器106)上的远端控制器(例如BMC 110)进行通信来启动。BMC 110将选择的启动选项传送到UEFI BIOS(例如图1中的UEFI BIOS 120)。通过UEFIBIOS设定UEFI变量从BMC 110检索启动路径的选择的POST程序之后,则POST程序开始(610)。程序首先确定是否有对启动选项的更改请求(612)。如果有更改请求,则程序将启动路径的POST程序选项的新选择保存到UEFI变量(614)。然后,程序开始芯片组的初始化(616)。如果没有更改请求(612),则程序使用先前选择的启动选项,并且直接进行到初始化芯片组(616)。
在芯片组被初始化之后,程序读取UEFI启动路径变量(618)。基于变量的值,程序确定所选择的启动路径是一般启动还是快速启动选项(620)。如果一般启动选项被选择,则程序在服务器106上识别处理器插槽和存储器插槽(例如DIMM插槽)(622)。然后程序初始化处理器和服务器106的存储器,并将设定保存到持续性存储器(例如图1中的存储器136)(624)。然后,程序识别周边IO装置插槽并创建可启动装置路径(626)。然后,程序初始化IO硬件暂存器,并将设定存储到持续性存储器136(628)。然后,程序载入可启动装置驱动程序(630)。然后,程序建立平台信息并执行UEFI启动服务(632)。平台信息(例如CPU存储器和PCI树)被建立在实体存储器中,用于OS载入器识别。UEFI启动服务用于从硬盘驱动程序中查找可启动分区,并从网络驱动程序中查找可启动映像。然后,程序将POST程序的结果记录到BMC 110维护的系统错误日志(SEL)中(634)。
如果快速启动选项被选择(620),则程序在服务器106上识别处理器插槽和存储器插槽(例如DIMM插槽)(640)。程序基于识别的处理器和存储器硬件接口,确定是否发生了硬件更改(642)。如果发生硬件更改,则持续初始化处理器和服务器106的存储器,并将设定存储到持续性存储器(例如图1中的存储器136)中(624)。然后,程序完成上述一般启动序列。
如果没有发生硬件更改(642),则从持续性存储器136恢复处理器存储器的设定(644)。然后,程序识别周边IO装置插槽并创建可启动装置路径(646)。程序基于识别的周边装置插槽,确定是否发生了周边硬件更改(648)。如果周边硬件发生了更改,程序初始化IO硬件暂存器,并将设定存储到持续性存储器中(628)。然后,程序完成一般启动序列。
如果未发生周边硬件更改(648),则程序从持续性存储器136恢复硬件暂存器设定(650)。然后,程序载入可启动装置驱动程序(650)。然后,程序执行平台信息和UEFI启动服务(632)。然后,程序将POST程序的结果记录到BMC维护的系统错误日志中(634)。
图7绘示示例性安全启动选项的流程图700。从BMC 110检索选择的启动路径的POST程序选项之后,安全启动选项程序与POST程序继续进行。首先,程序确定是否存在对POST程序的更改请求,类似于图6中的一般启动选项。如果有更改请求,程序会将启动路径的新POST程序选项存储到UEFI变量。然后,程序开始芯片组的初始化。如果没有更改请求(612),则程序直接进行初始化芯片组(图6中的610、612、614、616)。
然后,程序读取UEFI变量(710)。基于读取的UEFI变量,程序确定此程序是否是安全启动选项(712)。如果所选择的选项不是安全启动选项,则程序使用另一个启动选项启动POST程序(714)。如果安全启动选项被选择(712),则程序在服务器106上识别处理器插槽和存储器插槽(例如DIMM插槽)(716)。程序从BMC 110读取错误报告的估计,并将错误报告条目与资源表进行比较(718)。资源表是一种软件数据结构,其中列出了所有硬件组件的类别,ID和系统资源占用(例如存储器的范围和IO)。资源表提供了一种简便方法,其比较系统错误日志的错误报告条目并确定哪些硬件组件发生故障风险更高。可以根据SEL记录确定较高之故障风险,此SEL记录显示特定硬件组件多次发生未纠正的错误。然后,程序确定如果现有硬件组件在SEL的错误报告条目中记录了未纠正的错误,则是否应该发出禁用请求(720)。如果存在禁用请求,则程序根据错误报告的估计禁用硬件组件(例如处理器或存储器)(722)。然后,程序初始化其余的处理器和存储器(724)。如果没有发生禁用请求,则程序进行到初始化其余的处理器和存储器(724)。
然后,程序从BMC 110读取与周边IO装置(例如PCIe插槽和根控制器)有关的错误报告的估计,并将其与资源表进行比较(728)。周边装置的资源表是一种软件结构,其中包括连接到PCIe插槽的装置的硬件装置讯息,以允许启用或禁用此类装置而不会影响根控制器的一般功能。然后,程序确定是否应当发起与周边IO装置有关的禁用请求(730)。例如,如果资源表上的硬件装置具有记录在BMC 110的SEL的错误报告条目中的许多未更正的错误,则程序可以决定发起禁用请求。如果存在禁用请求,则程序从错误报告的估计中禁用PCIe根端口及周边IO(732)。然后,程序初始化其余的周边IO(734)。如果没有发生禁用请求(730),则程序进行到初始化其余的周边IO(734)。
然后,程序载入可启动装置驱动程序(736)。然后,程序准备平台信息和UEFI启动服务(738)。然后,程序将POST的结果记录到BMC 110的系统错误日志中(740)。
图8是用于工厂供应选项的流程图800。从BMC 110检索选择的启动路径的POST之后,工厂供应启动选项程序继续进行POST启动。程序首先确定是否存在与一般启动选项相似的更改请求。如果有更改请求,程序会将启动路径选项的POST存储到UEFI变量。然后,程序开始芯片组的初始化。如果没有更改请求(612),则程序直接进行初始化芯片组(图6中的610、612、614、616)。
然后,程序读取UEFI变量(810)。基于所读取的UEFI变量,程序确定此程序是否为工厂供应启动选项(812)。如果所选的选项不是工厂供应启动选项,则程序将使用另一个启动选项来启动POST(814)。如果工厂供应启动选项被选择(812),则程序将目前固件配置载入到UEFI变量(816)。程序确定是否存在压力请求(818)。如果存在压力请求,则程序禁用系统的纠错机制(820)。这样可以在启动后运行有压力要求的应用程序。有压力要求的应用程序允许因素操作者识别服务器106的硬件组件和商品是否可以用于运输。因此,UEFI BIOS必须向工厂操作员开放相关UEFI变量的权限,并允许工厂操作员将其设定为禁用纠错机制。如果没有压力请求(818),则程序确定安全供应选项是否已经被选择(822)。安全供应是在启动后可以运行的另一个应用程序。此安全供应允许工厂操作员启用安全性功能,例如通过公共密钥的密钥供应以及将待启用的服务器106的硬盘加密。
如果安全供应已被选择,则程序启用安全功能并允许待启用客户公共密钥和设定供应(824)。实施例中的安全功能可包括Microsoft bitlocker、Intel TXT或SGX。工厂操作员还可硬盘中安装平台的公共密钥和客户映像的加密。这是一种安全功能,其确保操作系统为安全且可靠。客户可以首先使用私钥对服务器106的主操作系统进行加密。当UEFIBIOS 120识别出具有启用的安全性功能的可启动操作系统时,UEFI BIOS 120使用公共密钥来解密操作系统和切换控制。因此,工厂站点必须将公共密钥安装到服务器106中,并将客户私钥的加密映像复制到服务器106的硬盘上。如果没有安全供应、或者在错误纠正机制被禁用之后、或者安全功能被启用之后,则程序将载入客户固件设定(826)。接着,程序将POST的结果记录到BMC 110的系统错误日志中(828)。在程序完成之后,可以在服务器106上执行压力测试。压力测试可包括压力应用程序、脚本文件和支持此测试的嵌入式OS。
图9是诊断选项的流程图900。从BMC 110检索选择的启动路径的POST之后,诊断选项程序继续进行POST启动。程序首先确定是否存在与一般启动选项相似的更改请求。如果有更改请求,程序会将启动路径选项的POST存储到UEFI变量。然后,程序开始芯片组的初始化。如果没有更改请求(612),则程序直接进行初始化芯片组(图6中的610、612、614、616)。
然后,程序读取UEFI变量(910)。基于读取的UEFI变量,程序确定程序是否为诊断供应启动选项(912)。如果选择的选项不是诊断启动选项,则程序使用另一个启动选项启动POST(914)。如果诊断启动选项被选择(912),则程序将确定除错讯息的级别(916)。除错讯息级别的范围为0到3,其中0为无、3表示最大除错讯息输出。通过UEFI BIOS变量设定除错讯息的级别,此变量可以在带内或带外进行编程。如果除错讯息被接收,则程序启用最大除错级别(918)。此外,如果除错讯息被接收,则UEFI 7为日志文件(920)。BMC 110安装诊断ISO映像至服务器主机板USB端口(922)。BMC 110通过管理网络104将诊断结果上传到管理站102(924)。
如果没有除错讯息、或者程序启用最大除错级别,则程序初始化处理器、存储器和主机板的周边IO(930)。然后,程序初始化IO硬件(932)。然后,程序将安装启动服务(934)。然后,程序安装运行服务(936)。然后,程序从USB端口142识别具有ISO映像的可启动装置(例如存储器装置)(938)。程序确定是否可以找到ISO映像(940)。如果找到IOS映像,则从BMC 110安装的USB可启动映像中载入嵌入式操作系统(942)。然后,程序将诊断结果存储到BMC 110(944)。如果未找到ISO映像、或者在存储诊断结果之后,程序将POST的结果记录到BMC 110的系统错误日志中。
本发明中所使用的术语“组件”、“模块”、“系统”等通常是指与计算机有关的实体、或者是硬件(例如电路)、硬件和软件的组合、软件、或与具有一个或多个特定功能的操作机器有关的实体。例如,组件可以是但不限于在一处理器(例如,数字信号处理器)上运行的一程序、一处理器、一物件、一可执行文件、一可执行线程、一程序和/或一计算机。作为说明,在控制器上运行的应用程序以及控制器都可以是组件。一个或多个组件可以在程序和/或执行线程中,并且组件可以位于一台计算机上和/或分布在两个或多个计算机之间。此外,“装置”可以采用专门设计的硬件形式、通过在其上执行软件使之专门化的通用硬件,期能够执行特定功能;存储在计算机可读取介质上的软件、或其组合。
在此使用的术语仅出于描述特定实施例为目的,而不是限制本发明。除非上下文另外明确指出,否则如本文所使用的单数形式的“一”、“一个”和“该”也意图包括复数形式。此外,就在详细描述和/或请求项中使用术语“包括”、“包含”、“具有”、“具”或其变形而言,这些术语旨在于以类似于术语“包含”的方式包含在内。
除非另有定义,否则本文中使用的所有术语(包括技术和科学术语)与本发明所属领域的普通技术人员通常所理解的具有相同含义。此外,诸如在常用字典中定义的那些术语应被解释为与相关领域中它们的含义一致的含义,并且除非在此明确地定义,否则将不以理想化或过于正式的意义来解释。
尽管上面已经描述了本发明的各种实施例,但是应当理解的是,它们仅是示例,并非限制本发明。尽管已经在一个或多个实施方式示出和描述了本发明,但是本领域的其他技术人员在阅读和理解本说明书和附图之后将想到同等的变更和修改。另外,尽管仅针对多种实施方式中的一种实施方式公开了本发明的特定特征,但是根据任何给定或特定的应用的优点,这种特征可以与其他实施方式的一个或多个其他特征组合。因此,本发明的广度和范围不应受到任何上述实施例的限制。而是,本发明的范围应根据所附请求项及其同等物来限定。
综上所述,虽然本发明已以实施例公开如上,然其并非用以限定本发明。本发明所属领域技术人员,在不脱离本发明的精神和范围内,当可作各种的更动与润饰。因此,本发明的保护范围当视所附权利要求书界定范围为准。

Claims (8)

1.一种用于网络装置的最佳启动路径的系统,该系统包括:
远端管理站;
网络,与该远端管理站通信;
计算装置,具有多个硬件组件和统一可扩展固件接口(UEFI)基本输入输出系统(BIOS),该UEFIBIOS包括多个开机自检(POST)程序;以及
控制器,与该UEFIBIOS进行通信并与该远端管理站进行网络通信,其中该控制器可用于:
从该远端管理站接收这些POST程序之一的选择;以及
使用该选择的POST程序启动该计算装置,其中这些POST程序包括一般POST程序、前可扩展固件接口(pre-EFI)初始化环境阶段、驱动程序执行环境阶段、开机装置选择阶段及暂态系统载入阶段以及第二POST程序,该一般POST程序具有安全阶段,该pre-EFI初始化环境阶段用于初始化和配置该计算装置的硬件组件,该第二POST程序为安全启动,其包括:读取关于故障的硬件组件的估计报告以确定有功能的硬件组件;禁用故障的硬件组件;以及初始化有功能的硬件组件。
2.如权利要求1所述的系统,其中这些POST程序还包括快速启动,其包括:
绕过该计算装置的至少一些硬件组件的初始化和配置;以及
使用该一般POST程序中存储在持续性存储器中的数据结构来恢复该计算装置的暂存器。
3.如权利要求1所述的系统,其中这些POST程序还包括工厂供应启动,包括:
加载固件配置;
禁用纠错机制;以及
允许对这些硬件组件执行压力测试。
4.如权利要求1所述的系统,其中这些POST程序还包括诊断选项,该诊断选项包括:
从该计算装置的安全测试中收集除错讯息;以及
收集这些硬件组件的硬件错误状态数据。
5.一种用于网络装置的最佳启动路径的方法,该方法包括:
通过网络从远端管理站传输多个POST程序之一的选择至计算装置,其中该计算装置包括控制器、多个硬件组件和UEFIBIOS,该UEFIBIOS包括这些POST程序;
从该控制器上的该远端管理站接收这些POST程序之一的该选择;以及
使用该选择的POST程序启动该计算装置,其中这些POST程序包括一般POST程序、pre-EFI初始化环境阶段、驱动程序执行环境阶段、开机装置选择阶段及暂态系统载入阶段以及第二POST程序,该一般POST程序具有安全阶段,该pre-EFI初始化环境阶段用于初始化和配置该计算装置的硬件组件,该第二POST程序为安全启动,其包括:读取关于故障的硬件组件的估计报告以确定有功能的硬件组件;禁用故障的硬件组件;以及初始化有功能的硬件组件。
6.如权利要求5所述的方法,其中这些POST程序还包括快速启动,其包括:
绕过该计算装置的至少一些硬件组件的初始化和配置;以及
使用该一般POST程序中存储在持续性存储器中的数据结构来恢复该计算装置的暂存器。
7.如权利要求5所述的方法,其中这些POST程序还包括工厂供应启动,包括:
加载固件配置;
禁用纠错机制;以及
允许对这些硬件组件执行压力测试。
8.如权利要求5所述的方法,其中这些POST程序还包括诊断选项,该诊断选项包括:
从该计算装置的安全测试中收集除错讯息;以及
收集这些硬件组件的硬件错误状态数据。
CN202010716175.8A 2020-03-16 2020-07-23 用于网络装置的最佳启动路径的方法和系统 Active CN113489597B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/820,367 2020-03-16
US16/820,367 US11126518B1 (en) 2020-03-16 2020-03-16 Method and system for optimal boot path for a network device

Publications (2)

Publication Number Publication Date
CN113489597A CN113489597A (zh) 2021-10-08
CN113489597B true CN113489597B (zh) 2023-05-02

Family

ID=77664858

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010716175.8A Active CN113489597B (zh) 2020-03-16 2020-07-23 用于网络装置的最佳启动路径的方法和系统

Country Status (3)

Country Link
US (1) US11126518B1 (zh)
CN (1) CN113489597B (zh)
TW (1) TWI754317B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11416615B2 (en) * 2020-09-02 2022-08-16 Dell Products, L.P. Configuring trusted remote management communications using UEFI
CN112463431B (zh) * 2020-12-11 2022-07-19 苏州浪潮智能科技有限公司 一种bios错误定位方法、装置、设备及存储介质
KR20220091955A (ko) * 2020-12-24 2022-07-01 에스케이하이닉스 주식회사 메모리 시스템 폐기 방법 및 그 메모리 시스템
US20230102099A1 (en) * 2021-09-22 2023-03-30 Texas Instruments Incorporated Techniques for peripheral utilization metrics collection and reporting
US11620199B1 (en) 2021-12-23 2023-04-04 Quanta Computer Inc. Method and system for detection of post routine deviation for a network device
US11934838B2 (en) * 2022-02-09 2024-03-19 Quanta Computer Inc. Storing EFI variables in a BMC using an API
CN114564240B (zh) * 2022-02-25 2024-02-27 苏州浪潮智能科技有限公司 一种服务器启动方法、系统、计算机设备和存储介质
US11922174B2 (en) * 2022-04-08 2024-03-05 Dell Products L.P. Management controller requests in a UEFI pre-boot environment of an information handling system
US20230409342A1 (en) * 2022-06-17 2023-12-21 Arista Networks, Inc. Supporting different security schemes with different boot personalities for network devices
US20240039795A1 (en) * 2022-07-28 2024-02-01 Dell Products L.P. Connectivity Management System Which Optimizes Embedded Connectivity Management System Operations
US11863414B1 (en) * 2022-12-29 2024-01-02 Lenovo Enterprise Solutions (Singapore) Pte Ltd. Running network diagnostics on a server

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1019804A1 (en) * 1997-03-20 2000-07-19 Phoenix Technologies Limited Network enhanced bios enabling remote management of a computer without a functioning operating system
WO2003030434A2 (en) * 2001-10-03 2003-04-10 Shield One, Llc Remotely controlled failsafe boot mechanism and remote manager for a network device
CN1421781A (zh) * 2001-11-30 2003-06-04 英业达股份有限公司 通过选单启动多个个人数字助理操作系统的方法
US6584499B1 (en) * 1999-07-09 2003-06-24 Lsi Logic Corporation Methods and apparatus for performing mass operations on a plurality of managed devices on a network
CN1700174A (zh) * 2004-05-19 2005-11-23 三星电子株式会社 计算机系统和控制方法
CN1777123A (zh) * 2005-12-19 2006-05-24 北京交通大学 一种基于SNMP的IPv6传感器网络节点管理方法
CN104679540A (zh) * 2013-11-29 2015-06-03 英业达科技有限公司 计算机系统与计算机系统启动方法
CN104731617A (zh) * 2015-03-25 2015-06-24 浪潮集团有限公司 一种固定服务器启动设备的方法
CN105404525A (zh) * 2014-09-08 2016-03-16 广达电脑股份有限公司 管理计算机系统中的基本输入输出系统配置的方法及装置
CN105630530A (zh) * 2014-11-15 2016-06-01 航天恒星科技有限公司 数字信号处理器多级启动方法及系统
CN107479721A (zh) * 2016-06-07 2017-12-15 广达电脑股份有限公司 远程多计算机切换技术的存储装置、系统及方法
CN109144596A (zh) * 2017-06-16 2019-01-04 腾讯科技(深圳)有限公司 快捷启动方法、装置、终端、服务器及系统

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7568090B2 (en) * 2005-06-23 2009-07-28 Hewlett-Packard Development Company, L.P. Speedy boot for computer systems
US8607040B2 (en) * 2010-11-16 2013-12-10 Intel Corporation Method of provisioning firmware in an operating system (OS) absent services environment
US9372699B2 (en) 2011-04-08 2016-06-21 Insyde Software Corp. System and method for processing requests to alter system security databases and firmware stores in a unified extensible firmware interface-compliant computing device
TWI441081B (zh) 2011-11-04 2014-06-11 Asrock Inc 更新韌體方法與開機方法及使用其之電子裝置
TWI486874B (zh) 2012-03-27 2015-06-01 華擎科技股份有限公司 電子裝置及開機方法
CN103780662A (zh) 2012-10-26 2014-05-07 台达电子工业股份有限公司 云端系统及其开机部署方法
US9110762B2 (en) 2012-12-04 2015-08-18 Microsoft Technology Licensing, Llc Virtual machine-preserving host updates
TWI479421B (zh) 2013-02-04 2015-04-01 Wistron Corp 開機方法與電子裝置
TWI525542B (zh) 2013-09-09 2016-03-11 Insyde Software Corp Uefi bios開機及更新之系統及方法、記錄媒體及電腦程式產品
TWI531182B (zh) 2013-12-05 2016-04-21 英業達股份有限公司 提供電腦端遠端開機的系統及其方法
TW201525688A (zh) 2013-12-17 2015-07-01 Inventec Corp 電子裝置及其操作方法
JP6256063B2 (ja) * 2014-02-05 2018-01-10 富士通株式会社 情報処理システム及びプログラム管理方法
US9501289B2 (en) * 2014-12-26 2016-11-22 American Megatrends Inc. Method of a UEFI firmware and computer system thereof
US9817673B2 (en) * 2015-03-03 2017-11-14 Intel Corporation Technologies for fast low-power startup of a computing device
TWI553490B (zh) 2015-07-29 2016-10-11 廣達電腦股份有限公司 遠端系統配置管理方法、遠端系統配置管理系統及非暫態電腦可讀式儲存多媒體
TWM518365U (zh) 2015-10-13 2016-03-01 Univ Taipei Chengshih Science 遠端開機系統
US9810736B2 (en) * 2015-12-17 2017-11-07 Raytheon Company System and apparatus for trusted and secure test ports of integrated circuit devices
US20170228228A1 (en) 2016-02-05 2017-08-10 Quanta Computer Inc. Remote launch of deploy utility
TW201839544A (zh) 2017-04-26 2018-11-01 精英電腦股份有限公司 偵錯裝置
US10489136B2 (en) 2017-04-27 2019-11-26 Quanta Computer Inc. Automatic firmware and custom setting provision for server device
TWI668567B (zh) 2018-04-12 2019-08-11 神雲科技股份有限公司 伺服器及自動檢修基板管理控制器的方法
US11194589B2 (en) * 2019-01-08 2021-12-07 Dell Products L.P. Information handling system adaptive component reset
US11550593B2 (en) * 2019-01-08 2023-01-10 Dell Products L.P. Information handling system quick boot
US11106272B2 (en) * 2019-01-11 2021-08-31 Dell Products L.P. Bios-based user-selectable power control
US11513808B2 (en) * 2019-06-28 2022-11-29 Intel Corporation Automatic switching and deployment of software or firmware based USB4 connection managers

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1019804A1 (en) * 1997-03-20 2000-07-19 Phoenix Technologies Limited Network enhanced bios enabling remote management of a computer without a functioning operating system
US6584499B1 (en) * 1999-07-09 2003-06-24 Lsi Logic Corporation Methods and apparatus for performing mass operations on a plurality of managed devices on a network
WO2003030434A2 (en) * 2001-10-03 2003-04-10 Shield One, Llc Remotely controlled failsafe boot mechanism and remote manager for a network device
CN1421781A (zh) * 2001-11-30 2003-06-04 英业达股份有限公司 通过选单启动多个个人数字助理操作系统的方法
CN1700174A (zh) * 2004-05-19 2005-11-23 三星电子株式会社 计算机系统和控制方法
CN1777123A (zh) * 2005-12-19 2006-05-24 北京交通大学 一种基于SNMP的IPv6传感器网络节点管理方法
CN104679540A (zh) * 2013-11-29 2015-06-03 英业达科技有限公司 计算机系统与计算机系统启动方法
CN105404525A (zh) * 2014-09-08 2016-03-16 广达电脑股份有限公司 管理计算机系统中的基本输入输出系统配置的方法及装置
CN105630530A (zh) * 2014-11-15 2016-06-01 航天恒星科技有限公司 数字信号处理器多级启动方法及系统
CN104731617A (zh) * 2015-03-25 2015-06-24 浪潮集团有限公司 一种固定服务器启动设备的方法
CN107479721A (zh) * 2016-06-07 2017-12-15 广达电脑股份有限公司 远程多计算机切换技术的存储装置、系统及方法
CN109144596A (zh) * 2017-06-16 2019-01-04 腾讯科技(深圳)有限公司 快捷启动方法、装置、终端、服务器及系统

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
一种用于网络计算的可定制启动协议;周悦芝等;《软件学报》;20030323(第03期);全文 *
基于SNMP的数字微波网管系统设计与实现;刘钊远等;《通信技术》;20090910(第09期);全文 *
多DSP的以太网并行系统任务下载技术研究;杨彦鑫等;《微处理机》;20121215(第06期);全文 *
网络计算机双系统启动技术研究;邱饶宁等;《计算机工程与设计》;20050428(第04期);全文 *
计算机故障诊断与解决思路;韩斌;《电脑知识与技术》;20051228(第36期);全文 *

Also Published As

Publication number Publication date
US11126518B1 (en) 2021-09-21
CN113489597A (zh) 2021-10-08
TW202136996A (zh) 2021-10-01
TWI754317B (zh) 2022-02-01
US20210286692A1 (en) 2021-09-16

Similar Documents

Publication Publication Date Title
CN113489597B (zh) 用于网络装置的最佳启动路径的方法和系统
US10114653B2 (en) Multiple-stage bootloader and firmware for baseboard manager controller and primary processing subsystem of computing device
JP5540155B2 (ja) プラットフォーム独立メモリ論理の提供
WO2022198972A1 (zh) 一种服务器启动过程中的故障定位方法、系统及装置
US20180322012A1 (en) Systems and methods for detection of firmware image corruption and initiation of recovery
US20070288737A1 (en) Service processor host flash update over LPC
CN110928743A (zh) 一种计算系统、自动诊断方法及存储有其指令的介质
US20090249319A1 (en) Testing method of baseboard management controller
CN110780942A (zh) 系统启动方法、装置、节点设备及计算机可读存储介质
US7900033B2 (en) Firmware processing for operating system panic data
US10289423B2 (en) Management controller
US11900128B2 (en) Modularized basic input output system (BIOS) firmware activation
US11494289B2 (en) Automatic framework to create QA test pass
US20220276876A1 (en) Remote Server Management Utilizing Self Contained Baseboard Management Controller
US11907375B2 (en) System and method for signing and interlocking a boot information file to a host computing system
US11212269B2 (en) Secure remote online debugging of firmware on deployed hardware
US11354109B1 (en) Firmware updates using updated firmware files in a dedicated firmware volume
US11204704B1 (en) Updating multi-mode DIMM inventory data maintained by a baseboard management controller
US11586536B1 (en) Remote configuration of multi-mode DIMMs through a baseboard management controller
JP7389877B2 (ja) ネットワークの最適なブートパスの方法及びシステム
Sakthikumar et al. White Paper A Tour beyond BIOS Implementing the ACPI Platform Error Interface with the Unified Extensible Firmware Interface
US20240211350A1 (en) Supporting automatic and failsafe booting of bmc and bios firmware in a critical secured server system
TWI840907B (zh) 偵測偏差的電腦系統及方法,及非暫態電腦可讀取媒體
US20240211602A1 (en) Bmc based hrot implementation establishing chain of trust in a secured server system
US11169740B1 (en) Simultaneous initiation of multiple commands for configuring multi-mode DIMMS using a BMC

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