TWI754317B - 用於網路裝置之最佳啟動路徑之方法和系統 - Google Patents

用於網路裝置之最佳啟動路徑之方法和系統 Download PDF

Info

Publication number
TWI754317B
TWI754317B TW109122795A TW109122795A TWI754317B TW I754317 B TWI754317 B TW I754317B TW 109122795 A TW109122795 A TW 109122795A TW 109122795 A TW109122795 A TW 109122795A TW I754317 B TWI754317 B TW I754317B
Authority
TW
Taiwan
Prior art keywords
post
hardware components
boot
computing device
hardware
Prior art date
Application number
TW109122795A
Other languages
English (en)
Other versions
TW202136996A (zh
Inventor
錢威宇
Original Assignee
廣達電腦股份有限公司
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 廣達電腦股份有限公司 filed Critical 廣達電腦股份有限公司
Publication of TW202136996A publication Critical patent/TW202136996A/zh
Application granted granted Critical
Publication of TWI754317B publication Critical patent/TWI754317B/zh

Links

Images

Classifications

    • 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
    • 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/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
    • 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)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (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 firmware interface, 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程序為一診斷選項,其包括從計算裝置的安全測試中收集除錯訊息、以及收集硬體組件的硬體錯誤狀態資料。
以上發明內容並非旨在表示本發明的每個實施例或每個方面。而是,前述發明內容提供本文闡述一些新穎方面和特徵的示例。為了對本發明之上述特徵及優點及其他特徵及優點有更佳的瞭解,下文特舉實施例,並配合所附圖式詳細說明如下。
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:流程圖
為了對本發明之各方面有更佳的瞭解,以下將配合所附圖式詳細說明。須注意的是,這些附圖僅描繪了示例性實施例,因此不應視為對各種實施例或請求項的範圍的限制。
第1圖繪示根據本發明之一方面的具有啟動最佳化程序之系統之方塊圖。
第2圖繪示根據本發明之一方面的透過不同啟動路徑存取的不同功能之示意圖。
第3圖繪示根據本發明之一方面的在診斷啟動程序期間的BMC和UEFI BIOS的功能之示意圖。
第4圖示出根據本發明之一方面的用於啟動路徑選項的Redfish JSON 資料的表。
第5圖示出根據本發明之一方面的用於選擇的啟動路徑的POST程序的通訊流程之示意圖。
第6圖示出根據本發明之一方面的一般和快速啟動POST程序選項的流程圖。
第7圖示出根據本發明之一方面的安全啟動POST程序選項的流程圖。
第8圖示出根據本發明之一方面的工廠供應POST程序選項的流程圖。
第9圖示出根據本發明之一方面的診斷啟動POST程序選項的流程圖。
本發明可進行各種修改和替代形式。本發明已通過示例的方式在附圖中示出了一些代表性的實施例,並且在此將對其進行詳細描述。然而,應當理解的是,本發明並不限於所公開的特定形式。相反地,本發明將涵蓋由所附申請專利範圍所限定的本發明的精神和範圍內的所有修改、均等形式及替代形式。
本發明可以許多不同的形式實施。代表性實施例在附圖中示出,並且將在本文中詳細描述。本公開用以示例或說明原理,並非將本公開限於所示出的實施例。例如在摘要、發明內容和實施方式部分中公開但在申請專利範圍中未明確提出的要素和限制,不應通過暗示、推論,單獨或共同地併入申請專利範圍中。為了本發明詳細描述的目的,除非特別聲明,否則單數包括複數,反之亦然。「包括」一詞的意思是「包括但不限於」。此外,在本文中可以使用諸如「大約」、「幾乎」、「實質上」、 「近似」等的近似詞來表示例如「在...處」、「鄰近...」或「在...附近」或「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 component interconnect express,PCIe)裝置插槽等。如第1圖所示,僅繪示三個硬體組件,可以理解的是,一典型的伺服器上可能有更多的硬體組件。在此實施例中,伺服器106包括一持續性記憶體136,例如一 快閃記憶體或一I2C EEPROM,其可以被分割用於不同用途,例如儲存UEFI BIOS 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上的OS 140的應用程序來操作。應用程序將允許操作員為伺服器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 ofBootpath”。此命令是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,其可以代替OEM IPMI命令使用。表400包括一BIOS屬性註冊請求410以及一對應的描述420。如在描述中可以看到的,值名稱(value name)確定哪個啟動路徑被使用於POST。從一般啟動(normal boot)、快速啟動(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傳遞到BMC 110。UEFI BIOS 120從RESTful或IPMI通道500讀取選擇的啟動路徑的POST程序,並將其保存為UEFI變數(516)。然後,啟動選擇的POST程序(518)。然後,UEFI BIOS 120根據從BMC 110接收到的啟動路徑選項執行UEFI POST程序(520)。 UEFI BIOS 120將啟動路徑的POST程序的狀態發送到BMC 110(522)。然後POST程序結束(524),允許作業系統140被啟動(524)。資料中心的操作員可以通過管理和服務站102讀取啟動路徑(526)的POST程序的當前選項。資料中心的操作員還可以通過管理和服務站102讀取選擇的啟動路徑的POST程序的最新狀態(528)。
快速啟動選項是啟動選項中最有效的POST啟動序列。在快速啟動選項中,UEFI BIOS韌體120啟用信任安全路徑的根、初始化伺服器106的較少但重要的硬體組件、使用在先前的一般啟動路徑中復制的資料結構來還原硬體暫存器和舊版記憶體內容、並用固定的可啟動裝置載入作業系統140。如果沒有硬體配置更改,則快速啟動選項比一般啟動選項更有效率。對於快速啟動選項,UEFI BIOS 120僅執行強制性的硬體初始化。從持續性儲存器136中恢復所需的內容到硬體組件,然後從固定的可啟動裝置載入作業系統。因此,UEFI BIOS 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的BMC 110。例如,記憶體訓練錯誤可能導致發送記憶體裝置的DIMM編號至BMC 110進行記錄。BMC 110將運行控制庫的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 BIOS 120可以通過硬體控制器微調訊號強度。此資料可以作為除錯訊息輸出,且可由設計人員遠端存取。在發生硬體故障的情況下,設計人員可以通過與資料結構進行比較來識別故障。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)。通過UEFI BIOS設定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的主作業系統進行加密。當UEFI BIOS 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的系統錯誤日誌中。
本發明中所使用的術語「組件」、「模組」、「系統」等通常是指與計算機有關的實體、或者是硬體(例如電路)、硬體和軟體的組合、軟體、或與具有一個或多個特定功能的操作機器有關的實體。例如,組件可以是但不限於在一處理器(例如,數位訊號處理器)上運行的一程序、一處理器、一物件、一可執行文件、一可執行緒、一程序和/或一電腦。作為說明,在控制器上運行的應用程序以及控制器都可以是組件。一個或多個組件可以在程序和/或執行緒中,並且組件可以位於一台計算機上和/或分佈在兩個或多個計算機之間。此外,「裝置」可以採用專門設計的硬體形式、通過在其上執行軟體使之專門化的通用硬體,期能夠執行特定功能;儲存在計算機可讀取媒體上的軟體、或其組合。
在此使用的術語僅出於描述特定實施例為目的,而不是限制本發明。除非上下文另外明確指出,否則如本文所使用的單數形式的「一」、「一個」和「該」也意圖包括複數形式。此外,就在詳細描述和/或請求項中使用術語「包括」、「包含」、「具有」、「具」或其變形而言,這些術語旨在於以類似於術語「包含」的方式包含在內。
除非另有定義,否則本文中使用的所有術語(包括技術和科學術語)與本發明所屬領域的普通技術人員通常所理解的具有相同含義。此外,諸如在常用字典中定義的那些術語應被解釋為與相關領域中它們的含義一致的含義,並且除非在此明確地定義,否則將不以理想化或過於正式的意義來解釋。
儘管上面已經描述了本發明的各種實施例,但是應當理解的是,它們僅是示例,並非限制本發明。儘管已經於一個或多個實施方式示 出和描述了本發明,但是本領域的其他技術人員在閱讀和理解本說明書和附圖之後將想到同等的變更和修改。另外,儘管僅針對多種實施方式中的一種實施方式揭露了本發明的特定特徵,但是根據任何給定或特定的應用之優點,這種特徵可以與其他實施方式的一個或多個其他特徵組合。因此,本發明的廣度和範圍不應受到任何上述實施例的限制。而是,本發明的範圍應根據所附請求項及其同等物來限定。
綜上所述,雖然本發明已以實施例揭露如上,然其並非用以限定本發明。本發明所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可作各種之更動與潤飾。因此,本發明之保護範圍當視後附之申請專利範圍所界定者為準。
100:啟動系統
102:遠端伺服器管理和服務站
104:網路
106:伺服器
110:基板管理控制器(BMC)
112:網路介面控制器
120:統一可延伸韌體介面(UEFI)基本輸入輸出系統(BIOS)
130,132,134:硬體組件
136:持續性記憶體
140:作業系統(OS)
142:通用序列匯流排(USB)埠

Claims (10)

  1. 一種具有用於啟動一遠端計算裝置之多個選項的系統,該系統包括:一遠端管理站;一網路,與該遠端管理站通訊;一計算裝置,具有複數個硬體組件和一統一可延伸韌體介面(UEFI)基本輸入輸出系統(BIOS),該UEFI BIOS包括複數個開機自檢(POST)程序;以及一控制器,與該UEFI BIOS進行通訊並與該遠端管理站進行網路通訊,其中該控制器可用於:從該遠端管理站接收該些POST程序之一的一選擇;以及使用該選擇的POST程序啟動該計算裝置,其中該些POST程序包括一一般POST程序、一前可延伸韌體介面(pre-EFI)初始化環境階段、一驅動程序執行環境階段、一開機裝置選擇階段及一暫態系統載入階段、一第二POST程序以及一第三POST程序,該一般POST程序具有一安全階段,該pre-EFI初始化環境階段用於初始化和配置該計算裝置的該些硬體組件,該第二POST程序為一快速啟動,該快速啟動包括繞過該計算裝置的至少一些硬體組件的初始化和配置,該第三POST程序為一安全啟動,該安全啟動包括禁用故障的該些硬體組件。
  2. 如請求項1所述之系統,其中該快速啟動還包括: 使用該一般POST程序中儲存在一持續性記憶體中的資料結構來恢復該計算裝置的暫存器。
  3. 如請求項1所述之系統,其中該安全啟動還包括:讀取關於故障的該些硬體組件的估計報告以確定有功能的該些硬體組件;以及初始化有功能的該些硬體組件。
  4. 如請求項1所述之系統,其中該些POST程序還包括一工廠供應啟動,包括:加載一韌體配置;禁用一糾錯機制;以及允許對該些硬體組件執行一壓力測試。
  5. 如請求項1所述之系統,其中該些POST程序還包括一診斷選項,該診斷選項包括:從該計算裝置的安全測試中收集除錯訊息;以及收集該些硬體組件的硬體錯誤狀態資料。
  6. 一種用於計算機裝置之選擇啟動程序的方法,該方法包括:通過一網路從一遠端管理站傳輸複數個POST程序之一的一選擇至一計算裝置,其中該計算裝置包括一控制器、複數個硬體組件和一UEFI BIOS,該UEFI BIOS包括該些POST程序; 從該控制器上的該遠端管理站接收該些POST程序之一的該選擇;以及使用該選擇的POST程序啟動該計算裝置,其中該些POST程序包括一一般POST程序、一pre-EFI初始化環境階段、一驅動程序執行環境階段、一開機裝置選擇階段及一暫態系統載入階段、一第二POST程序以及一第三POST程序,該一般POST程序具有一安全階段,該pre-EFI初始化環境階段用於初始化和配置該計算裝置的該些硬體組件,該第二POST程序為一快速啟動,該快速啟動包括繞過該計算裝置的至少一些硬體組件的初始化和配置,該第三POST程序為一安全啟動,該安全啟動包括禁用故障的該些硬體組件。
  7. 如請求項6所述之方法,其中該快速啟動還包括:使用該一般POST程序中儲存在一持續性記憶體中的資料結構來恢復該計算裝置的暫存器。
  8. 如請求項6所述之方法,其中該安全啟動還包括:讀取關於故障的該些硬體組件的估計報告以確定有功能的該些硬體組件;以及初始化有功能的該些硬體組件。
  9. 如請求項6所述之方法,其中該些POST程序還包括一工廠供應啟動,包括: 加載一韌體配置;禁用一糾錯機制;以及允許對該些硬體組件執行一壓力測試。
  10. 如請求項6所述之方法,其中該些POST程序還包括一診斷選項,該診斷選項包括:從該計算裝置的安全測試中收集除錯訊息;以及收集該些硬體組件的硬體錯誤狀態資料。
TW109122795A 2020-03-16 2020-07-06 用於網路裝置之最佳啟動路徑之方法和系統 TWI754317B (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
TW202136996A TW202136996A (zh) 2021-10-01
TWI754317B true TWI754317B (zh) 2022-02-01

Family

ID=77664858

Family Applications (1)

Application Number Title Priority Date Filing Date
TW109122795A TWI754317B (zh) 2020-03-16 2020-07-06 用於網路裝置之最佳啟動路徑之方法和系統

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 (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201303636A (zh) * 2011-04-08 2013-01-16 Insyde Software Corp 用於處理改變依照統一可延伸韌體介面計算裝置中之系統安全資料庫及韌體儲存區請求的系統及方法
TW201319942A (zh) * 2011-11-04 2013-05-16 Asrock Inc 更新韌體方法與開機方法及使用其之電子裝置
TW201339970A (zh) * 2012-03-27 2013-10-01 Asrock Inc 電子裝置及開機方法
TW201416879A (zh) * 2012-10-26 2014-05-01 Delta Electronics Inc 雲端系統及其開機部署方法
TW201430705A (zh) * 2012-12-04 2014-08-01 Microsoft Corp 虛擬機器-保留主機更新
TW201432567A (zh) * 2013-02-04 2014-08-16 Wistron Corp 開機方法與電子裝置
TW201510866A (zh) * 2013-09-09 2015-03-16 Insyde Software Corp Uefi bios開機及更新之系統及方法、記錄媒體及電腦程式產品
TW201524150A (zh) * 2013-12-05 2015-06-16 Inventec Corp 提供電腦端遠端開機的系統及其方法
TW201525688A (zh) * 2013-12-17 2015-07-01 Inventec Corp 電子裝置及其操作方法
TWM518365U (zh) * 2015-10-13 2016-03-01 Univ Taipei Chengshih Science 遠端開機系統
TWI553490B (zh) * 2015-07-29 2016-10-11 廣達電腦股份有限公司 遠端系統配置管理方法、遠端系統配置管理系統及非暫態電腦可讀式儲存多媒體
TW201729123A (zh) * 2016-02-05 2017-08-16 廣達電腦股份有限公司 遠程地啟動部署程式的方法與伺服器
TW201839544A (zh) * 2017-04-26 2018-11-01 精英電腦股份有限公司 偵錯裝置
TW201839622A (zh) * 2017-04-27 2018-11-01 廣達電腦股份有限公司 用於伺服器裝置之韌體以及自定義設定之設定方法
TW201944239A (zh) * 2018-04-12 2019-11-16 神雲科技股份有限公司 伺服器及自動檢修基板管理控制器的方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5978912A (en) * 1997-03-20 1999-11-02 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 英业达股份有限公司 通过选单启动多个个人数字助理操作***的方法
KR100575156B1 (ko) * 2004-05-19 2006-04-28 삼성전자주식회사 컴퓨터 시스템 및 그 제어방법
US7568090B2 (en) * 2005-06-23 2009-07-28 Hewlett-Packard Development Company, L.P. Speedy boot for computer systems
CN100366000C (zh) * 2005-12-19 2008-01-30 北京交通大学 一种基于SNMP的IPv6传感器网络节点管理方法
US8607040B2 (en) * 2010-11-16 2013-12-10 Intel Corporation Method of provisioning firmware in an operating system (OS) absent services environment
CN104679540B (zh) * 2013-11-29 2017-12-19 英业达科技有限公司 计算机***与计算机***启动方法
JP6256063B2 (ja) * 2014-02-05 2018-01-10 富士通株式会社 情報処理システム及びプログラム管理方法
US9122501B1 (en) * 2014-09-08 2015-09-01 Quanta Computer Inc. System and method for managing multiple bios default configurations
CN105630530A (zh) * 2014-11-15 2016-06-01 航天恒星科技有限公司 数字信号处理器多级启动方法及***
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
CN104731617A (zh) * 2015-03-25 2015-06-24 浪潮集团有限公司 一种固定服务器启动设备的方法
US9810736B2 (en) * 2015-12-17 2017-11-07 Raytheon Company System and apparatus for trusted and secure test ports of integrated circuit devices
US10333772B2 (en) * 2016-06-07 2019-06-25 Quanta Computer Inc. Remote keyboard-video-mouse technologies
CN109144596B (zh) * 2017-06-16 2020-09-18 腾讯科技(深圳)有限公司 快捷启动方法、装置、终端、服务器及***
US11550593B2 (en) * 2019-01-08 2023-01-10 Dell Products L.P. Information handling system quick boot
US11194589B2 (en) * 2019-01-08 2021-12-07 Dell Products L.P. Information handling system adaptive component reset
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 (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201303636A (zh) * 2011-04-08 2013-01-16 Insyde Software Corp 用於處理改變依照統一可延伸韌體介面計算裝置中之系統安全資料庫及韌體儲存區請求的系統及方法
TW201319942A (zh) * 2011-11-04 2013-05-16 Asrock Inc 更新韌體方法與開機方法及使用其之電子裝置
TW201339970A (zh) * 2012-03-27 2013-10-01 Asrock Inc 電子裝置及開機方法
TW201416879A (zh) * 2012-10-26 2014-05-01 Delta Electronics Inc 雲端系統及其開機部署方法
TW201430705A (zh) * 2012-12-04 2014-08-01 Microsoft Corp 虛擬機器-保留主機更新
TW201432567A (zh) * 2013-02-04 2014-08-16 Wistron Corp 開機方法與電子裝置
TW201510866A (zh) * 2013-09-09 2015-03-16 Insyde Software Corp Uefi bios開機及更新之系統及方法、記錄媒體及電腦程式產品
TW201524150A (zh) * 2013-12-05 2015-06-16 Inventec Corp 提供電腦端遠端開機的系統及其方法
TW201525688A (zh) * 2013-12-17 2015-07-01 Inventec Corp 電子裝置及其操作方法
TWI553490B (zh) * 2015-07-29 2016-10-11 廣達電腦股份有限公司 遠端系統配置管理方法、遠端系統配置管理系統及非暫態電腦可讀式儲存多媒體
TWM518365U (zh) * 2015-10-13 2016-03-01 Univ Taipei Chengshih Science 遠端開機系統
TW201729123A (zh) * 2016-02-05 2017-08-16 廣達電腦股份有限公司 遠程地啟動部署程式的方法與伺服器
TW201839544A (zh) * 2017-04-26 2018-11-01 精英電腦股份有限公司 偵錯裝置
TW201839622A (zh) * 2017-04-27 2018-11-01 廣達電腦股份有限公司 用於伺服器裝置之韌體以及自定義設定之設定方法
TW201944239A (zh) * 2018-04-12 2019-11-16 神雲科技股份有限公司 伺服器及自動檢修基板管理控制器的方法

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI754317B (zh) 用於網路裝置之最佳啟動路徑之方法和系統
US8417774B2 (en) Apparatus, system, and method for a reconfigurable baseboard management controller
CN107209671B (zh) 计算机中启动操作的动态自动监测和控制
JP5540155B2 (ja) プラットフォーム独立メモリ論理の提供
WO2022198972A1 (zh) 一种服务器启动过程中的故障定位方法、***及装置
US8856776B2 (en) Updating firmware without disrupting service
US7953831B2 (en) Method for setting up failure recovery environment
WO2021057795A1 (zh) ***启动方法、装置、节点设备及计算机可读存储介质
WO2023098052A1 (zh) 一种服务器运维方法、装置、设备及存储介质
TW202238383A (zh) 電腦系統、電腦伺服器及其啟動方法
WO2024022212A1 (zh) 配置信息的管理方法、装置及服务器
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
US11354109B1 (en) Firmware updates using updated firmware files in a dedicated firmware volume
US11212269B2 (en) Secure remote online debugging of firmware on deployed hardware
JP7389877B2 (ja) ネットワークの最適なブートパスの方法及びシステム
TWI554876B (zh) 節點置換處理方法與使用其之伺服器系統
TWI840907B (zh) 偵測偏差的電腦系統及方法,及非暫態電腦可讀取媒體
US20240134631A1 (en) Information handling system with a dynamic basic input/output system configuration map
US20240211350A1 (en) Supporting automatic and failsafe booting of bmc and bios firmware in a critical secured server system
TWI777664B (zh) 嵌入式系統的開機方法
US11169740B1 (en) Simultaneous initiation of multiple commands for configuring multi-mode DIMMS using a BMC
US20240134992A1 (en) Systems and methods for vulnerability proofing when booting an ihs
US20240134998A1 (en) Systems and methods for vulnerability proofing when configuring an ihs
US20240134996A1 (en) Systems and methods for vulnerability proofing when using a bootable image