TWI644259B - 計算機實施方法、系統、以及非暫時性計算機可讀儲存媒體 - Google Patents

計算機實施方法、系統、以及非暫時性計算機可讀儲存媒體 Download PDF

Info

Publication number
TWI644259B
TWI644259B TW106141967A TW106141967A TWI644259B TW I644259 B TWI644259 B TW I644259B TW 106141967 A TW106141967 A TW 106141967A TW 106141967 A TW106141967 A TW 106141967A TW I644259 B TWI644259 B TW I644259B
Authority
TW
Taiwan
Prior art keywords
firmware
server system
settings
firmware settings
unique string
Prior art date
Application number
TW106141967A
Other languages
English (en)
Other versions
TW201915723A (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 廣達電腦股份有限公司
Application granted granted Critical
Publication of TWI644259B publication Critical patent/TWI644259B/zh
Publication of TW201915723A publication Critical patent/TW201915723A/zh

Links

Classifications

    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本揭露提供一種系統及方法用以保存韌體設置於一服務器系統的一基板管理控制器或一閃存記憶體組件。根據本揭露的一方面,一種計算機實施方法用以自動保存一服務器系統的韌體設置,包括:開啟服務器系統的電源;從服務器的一基板管理控制器(BMC)提取多個未來韌體設置;將未來韌體設置應用於服務器系統;以一獨特字串映射方案發送多個目前韌體設置至基板管理控制器;執行一全韌體閃存更新;複製儲存於基板管理控制器的此些目前韌體設置至基板管理控制器的未來韌體設置;以及通過應用儲存於基板管理控制器的此些未來韌體設置重啟服務器系統。

Description

計算機實施方法、系統、以及非暫時性計算機可讀 儲存媒體
本揭露通常關於一計算系統的韌體更新。
現代服務器農場或數據中心通常使用多個服務器系統來負責用於各種應用服務的處理和存儲需求。韌體,用以支援各個這些組件設備,需要定期更新以確保設備的正常運行。
然而,如果韌體設置在過去曾被變更過,則需要在服務器系統的韌體更新期間保存這些韌體設置。否則,用戶或管理員將不得不重新自訂韌體設置。在韌體更新期間保存韌體設置(例如,基本輸入輸出系統(Basic Input/Output System,BIOS)設置)仍然是一個挑戰。
系統及方法,根據本揭露的多個實施例,藉由保存韌體設置於一服務器系統的一基板管理控制器(baseboard management controller,BMC)或閃存記憶體組件,提供上述問題的一解決方案。基板管理控制器可儲存「未來韌體設置」及「目前韌體設置」。「未來 韌體設置」是指於一下次系統重啟時會被變更的韌體設置。「目前韌體設置」是指目前於服務器系統上的韌體設置。
根據本揭露的一方面,一種計算機實施方法用以自動保存一服務器系統的韌體設置,包括:(1)打開服務器系統;(2)從服務器的一基板管理控制器(BMC)提取多個未來韌體設置;(3)將此些未來韌體設置應用於服務器系統;(4)以一獨特字串映射方案發送多個目前韌體設置至基板管理控制器;(5)執行一全韌體閃存更新;(6)複製儲存於基板管理控制器的此些目前韌體設置至基板管理控制器的此些未來韌體設置;以及(7)通過應用儲存於基板管理控制器的此些未來韌體設置重啟服務器系統。在一些例子中,計算機實施方法可通過至少一基板管理控制器或服務器的一額外處理器而被執行。
在一些實施中,基板管理控制器被連接至一網路且可以在帶外(out-of-band)存取。儲存於基板管理控制器的此些未來韌體設置可以於服務器系統沒有在運作或於服務器系統關機時被更新。
在一些例子中,獨特字串映射方案包括映射每一此些目前韌體設置至一獨特字串。在一些實施中,獨特字串映射方案進一步包括以一獨特映射類型記錄一已變更的目前韌體設置。
根據本揭露的一方面,一種計算機實施方法用以自動保存一服務器系統的韌體設置,包括:(1)從一服務器系統的一用戶提取多個未來韌體設置;(2)發送此些未來韌體設置至一基本輸入輸出系統以被應用於服務器系統;(3)從基本輸入輸出系統接收多個目前韌體設置,此些目前韌體設置通過基本輸入輸出系統以一獨特字串映射方案 提取;(4)使基本輸入輸出系統執行全韌體閃存更新;(5)複製儲存於基板管理控制器的此些目前韌體設置至基本管理控制器的此些未來韌體設置;以及(6)使服務器系統重啟以從儲存於基板管理控制器的未來韌體設置重啟。
根據本揭露的一方面,一種計算機實施方法用以自動保存一服務器系統的韌體設置,包括:(1)打開服務器系統;(2)保存多個韌體設置於服務器系統的一第一閃存晶片;(3)保存此些韌體設置於服務器系統的一第二閃存晶片;(4)通過更新第一閃存晶片執行一韌體更新;(5)提取儲存於第二閃存晶片的此些韌體設置;以及(6)通過應用從第二閃存晶片提取的此些韌體設置於服務器系統重啟服務器系統。
根據本揭露的另一方面,提供一種儲存指令的非暫時性計算機可讀儲存媒體。此些指令當由一處理器執行,使處理器執行操作包括:(1)打開服務器系統;(2)從服務器的一基板管理控制器(BMC)提取多個未來韌體設置;(3)將此些未來韌體設置應用於服務器系統;(4)以一獨特字串映射方案發送多個目前韌體設置至基板管理控制器;(5)執行一全韌體閃存更新;(6)複製儲存於基板管理控制器的此些目前韌體設置至基板管理控制器的此些未來韌體設置;以及(7)通過應用儲存於基板管理控制器的此些未來韌體設置重啟服務器系統。
根據本揭露的另一方面,提供一種儲存指令的非暫時性計算機可讀儲存媒體。此些指令當由一處理器執行,使處理器執行操作包括:(1)從一服務器系統的一用戶提取多個未來韌體設置;(2)發送此些未來韌體設置至一基本輸入輸出系統以被應用於服務器系統;(3) 從基本輸入輸出系統接收多個目前韌體設置,此些目前韌體設置通過基本輸入輸出系統以一獨特字串映射方案提取;(4)使基本輸入輸出系統執行全韌體閃存更新;(5)複製儲存於基板管理控制器的此些目前韌體設置至基本管理控制器的此些未來韌體設置;以及(6)使服務器系統重啟以從儲存於基板管理控制器的未來韌體設置重啟。
根據本揭露的另一方面,提供一種儲存指令的非暫時性計算機可讀儲存媒體。此些指令當由一處理器執行,使處理器執行操作包括:(1)打開服務器系統;(2)保存多個韌體設置於服務器系統的一第一閃存晶片;(3)保存此些韌體設置於服務器系統的一第二閃存晶片;(4)通過更新第一閃存晶片執行一韌體更新;(5)提取儲存於第二閃存晶片的此些韌體設置;以及(6)通過應用從第二閃存晶片提取的此些韌體設置於服務器系統重啟服務器系統。
根據一些設定,一基板管理控制器或一閃存裝置可被用以保存服務器系統的韌體設置。服務器系統上的閃存裝置可以被設定被服務器系統上的機板管理控制器及一中央處理單元(center processing unit,CPU)存取。閃存裝置可以是任何儲存媒體被設定以儲存程式指令或數據一段時間。根據一些例子,閃存裝置可以是一快閃驅動(flash drive)、一隨機存取記憶體(random access memory,RAM)、一非揮發性隨機存取記憶體(non-volatile random-access memory,NVRAM)、一電子抹除式可複寫唯讀記憶體(electrically erasable programmable read-only memory,EEPROM)或一信箱暫存器(mailbox register)。
本揭露的附加特徵和優點將在下面的描述中闡述,並且部分地將從描述中顯而易見,或者可以通過本揭露的原理的實踐來了解。本揭露的特徵和優點可以通過在所附申請專利範圍中特別指出的儀器和組合來實現和獲得。本揭露的這些和其他特徵將從以下描述和所附申請專利範圍中變得更加顯而易見,或者可以通過本揭露闡述的原理的實踐來了解。
100‧‧‧服務器系統
101‧‧‧交流電源供應器
102‧‧‧電源供應單元
103‧‧‧管理裝置
104‧‧‧處理器
105‧‧‧BIOS
106‧‧‧北橋邏輯
107‧‧‧PCI匯流排
108‧‧‧南橋邏輯
109‧‧‧儲存裝置
110‧‧‧冷卻組件
111‧‧‧主記憶體
150、151‧‧‧ISA插槽
160、161‧‧‧PCIe插槽
170、171‧‧‧PCI插槽
202~252‧‧‧步驟
300‧‧‧計算裝置
315‧‧‧匯流排
361‧‧‧記憶體
362‧‧‧CPU
363‧‧‧處理器
368‧‧‧介面
400‧‧‧系統
402‧‧‧系統匯流排
404‧‧‧系統記憶體
406‧‧‧ROM
408‧‧‧RAM
410‧‧‧控制器
412‧‧‧儲存裝置
414‧‧‧模組1
416‧‧‧模組2
418‧‧‧模組3
420‧‧‧輸入裝置
422‧‧‧輸出裝置
424‧‧‧通信介面
426‧‧‧感測器
428‧‧‧快取
430‧‧‧處理器
432‧‧‧閃存記憶體
434‧‧‧韌體
436‧‧‧顯示器
500‧‧‧計算機系統
502‧‧‧晶片組
504‧‧‧橋接器
506‧‧‧用戶介面組件
508‧‧‧通信介面
510‧‧‧處理器
512‧‧‧韌體
514‧‧‧輸出裝置
516‧‧‧儲存裝置
518‧‧‧RAM
為了描述可以獲得本揭露的上述和其它優點和特徵的方式,將通過參考其具體實施例對上述簡要描述的原理進行更具體的描述,具體實施例被展現在附圖中。這些附圖僅描述了本揭露的示例性方面,因此不被認為是對其範圍的限制。通過使用附圖,本揭露的原理被解釋,且附加的特徵和細節被描述,其中:第1圖繪示根據本揭露一實施方式的用於自動保存韌體設置的數據中心的示例性系統的方塊示意圖。
第2A-2C圖繪示根據本揭露一實施方式的自動保存韌體設置的示例性方法。
第3圖繪示根據本揭露的變化實施方式的示例性計算裝置。
第4、5圖繪示根據本揭露的變化示例的示例性系統。
本揭露可以以許多不同的形式實施。在附圖中示出了代表性的實施例,並且將在此進行詳細描述,需要理解的是,本公開是本揭露的原理的示例或說明,並且不旨在將本揭露的廣泛方面限於所 舉實施例。更甚者,在這種情況下,例如在摘要、發明說明和實施方式部分中公開但未在申請專利範圍中明確闡述的要素和限制不應通過暗示,推斷而單獨或集體地併入申請專利範圍中。為了詳細描述的目的,除非特別聲明:單數包括複數,反之亦然;“包括”一詞是指“包括但不限於”。此外,在本文中可以使用諸如“約”,“幾乎”,“基本上”,“近似”等近似詞,接近或接近於“或”在3-5%之內“或”在可接受的製造公差內“,或其任何邏輯組合。
本揭露的多種示例提供系統及方法用以於韌體更新期間保存韌體設置於一服務器系統的一基板管理控制器(baseboard management controller,BMC),或一閃存組件(flash memory component)。基板管理控制器可儲存「未來韌體設置」及「目前韌體設置」。在本應用中,術語基本輸入輸出系統(BIOS)及韌體(firmware)可互換使用,用以指硬體裝置和位於硬體裝置上的計算機指令的組合,諸如在計算機主板上的基本輸入輸出系統(basic input/output system,BIOS)或統一的可擴展韌體介面介面(unified extensible firmware interface,UEFI)。
第1圖繪示根據本揭露一實施方式的用於自動保存韌體設置的服務器系統100的示例性系統的方塊示意圖。在本例中,服務器系統100包括至少一微處理器(microprocessor)或處理器(processor)104、一或多個冷卻組件(cold component)110、一主記憶體(main memory,MEM)111、用以從一交流電源供應器101接收一交流電源以及提供電源予服務器系統的各種組件,例 如處理器104、北橋(north bridge,NB)邏輯106、PCIe插槽(PCIe slot)160、南橋(south bridge,SB)邏輯108、儲存裝置(storage device)109、ISA插槽(ISA slot)150、PCI插槽(PCI slot)170的及一管理控制器(management controller)103的至少一電源供應單元(power supply unit,PSU)102。當電源被開啟,服務器系統100被設定用以從記憶體、一計算機儲存裝置或一擴充記憶裝置加載軟體應用程式以執行多種操作。儲存裝置109被構造為邏輯塊而可被服務器系統100的作業系統及應用程式使用。儲存裝置109被設置用以即使服務器系統100關閉電源時亦保存服務器數據。
在第1圖中,記憶體111通過北橋邏輯106耦接至處理器104。記憶體111可包括,但不限於,動態隨機存取記憶體(dynamic random access memory,DRAM)、雙倍數據率動態隨機存取記憶體(double data rate DRAM,DDR RAM)、靜態隨機存取記憶體(static RAM,SRAM)或其他類型適合的記憶體。記憶體111可設置用以儲存服務器系統100的韌體數據。在一些設置中,韌體數據可以被儲存於儲存裝置109。
在一些實施中,服務器系統100可進一步包括一快閃儲存裝置。快閃儲存裝置可以是一快閃驅動(flash drive)、一隨機存取記憶體(random access memory,RAM)、一非揮發性隨機存取記憶體(non-volatile random-access memory,NVRAM)或一電子抹除式可複寫唯讀記憶體(electrically erasable programmable read-only memory,EEPROM)。快閃儲存裝置可設置用以儲存服務器設置例如韌體數據。
處理器104可以是一中央處理單元(center processing unit,CPU)設置用以執行特定功能的程式指令。例如,於一開機程序,處理器104可存取儲存於管理裝置103或快閃儲存裝置的韌體數據,並執行基本輸入輸出系統(BIOS)105以初始化服務器系統100。在開機程序之後,處理器104可執行一作業系統以替服務器系統100執行及管理特定任務。
在一些設置中,處理器104可以是多核心處理器(multi-core processor),各個多核心處理器通過一中央處理器匯流排(CPU bus)耦接在一起連接至北橋邏輯106。在一些設置中,北橋邏輯106可被整合至處理器104中。北橋邏輯106也可以連接至多個快捷外設組件互聯(peripheral component interconnect express,PCIe)插槽160及一南橋邏輯108(選擇性的)。此些PCIe插槽160可用以連接及匯流例如PCI Express x1、USB 2.0、SMBus、SIM卡、其他PCIe通道的未來擴展、1.5V及3.3V電源及服務器100底盤上的診斷指示燈。
在系統100中,北橋邏輯106及南橋邏輯108可通過一外設組件互聯(peripheral component interconnect,PCI)匯流排107連接。PCI匯流排107可支援處理器104上的功能除了獨立於任何處理器104的原始匯流排的一標準格式。PCI匯流排107可進一步連接至多個PCI插槽170(例如一PCI插槽171)。連接至PCI匯流排107的裝置可出現於一匯流排控制器(未繪示)以被連接至CPU匯流排,分配位址於處理器104的位址空間,以及同步於一單獨匯流排時脈。可被用於PCI插槽170的PCI卡包括,但不限於,網路介面卡(network interface card,NIC)、 音效卡(sound card)、調製解調器(modem)、電視調諧器卡(TV tune card)、磁碟管理器(disk controller)、視頻卡(video card)、小計算機系統介面(small computer system interface card,SCSI)接口及個人計算機記憶卡國際協會(personal computer memory card international association,PCMCIA)卡。
南橋邏輯108可通過一擴充匯流排耦接PCI匯流排107至多個擴充卡或ISA插槽150(例如一ISA插槽151)。擴充匯流排可以是用以南橋邏輯108及外設裝置之間溝通的匯流排,可包括,但不限於,一工業標準架構(industry standard architecture,ISA)匯流排、PC/104匯流排、低引腳數匯流排(low pin count bus)、擴展ISA(extended ISA,EISA)匯流排,通用串行匯流排(universal serial bus,USB)、集成驅動器電子(integrated drive electronics,IDE)匯流排或任何其他用於外設組件的數據通信可用的匯流排。
在系統100中,南橋邏輯108進一步耦接至連接於至少一電源供應單元102的一管理裝置103。在一些實施中,管理裝置103可以是一基板管理控制器(BMC)、機架管理控制器(rack management controller,RMC)或其他適合類型的系統控制器。管理裝置103可被設置用以通過與一計算機裝置或用戶裝置經由一網路通信以接收韌體更新。
在此示例中,基本輸入輸出系統105可以是任何程式指令或韌體設置用以初始及辨識服務器系統100的各種組件。基本輸入輸出系統是一個負責初始及測試一對應服務器系統的硬體組件的重要系 統組件。基本輸入輸出系統可以為硬體組件提供一個抽象層從而為應用程式和作業系統提供一致的方式來與諸如鍵盤、顯示器和其他輸入/輸出裝置的外設裝置相互作用。
在一些設置中,基本輸入輸出系統105可以在啟動作業系統(operating system),例如Microsoft Windows OS或任何作業系統,之前於服務器系統100上執行一系統檢查。系統檢查的一個例子包括開機自我檢測(Power-On Self-Test,POST)。基本輸入輸出系統可處理開機自我檢測的主要功能,並可以將一些責任卸載到設計用以初始化特定外設裝置(例如視頻和小計算機系統介面初始化)的其他程式。開機自我檢測的主要功能可包括:驗證中央處理器暫存器和韌體代碼的完整性;檢查基本組件;檢查系統主記憶體;以及將控制權交給其他專用韌體擴展。在一些設置中,基本輸入輸出系統也可處理附加的開機自我檢測功能包括:發現、初始化及編目所有系統匯流排及裝置;提供一用戶介面用以更新系統設置;以及建構作業系統要求的一系統環境。
管理裝置103(例如基板管理控制器)可與處理器104及儲存裝置111溝通。此溝通可以通過智慧平台管理介面(Intelligent Platform Management Interface,IPMI)信息使用一系統匯流排(例如智慧平台管理介面匯流排/橋(Intelligent Platform Management Bus/Bridge,IPMB))。智慧平台管理介面匯流排/橋是內部集成電路匯流排(inter-integrated circuit bus,I2C bus)的增強型實現且是基於信 息、硬體級別基本介面規範。然而,任何用以與管理裝置103通信的其他方法亦不在此限。
管理裝置103可以與一計算機裝置或一用戶裝置通過一網路溝通。在一些設置中,即使服務器系統電源關閉,管理裝置103仍可與計算機裝置或用戶溝通。例如,管理裝置103可以與計算機裝置或用戶裝置以遠端管理控制協議(remote management control protocol,RMCP)或用於IPMI的RMCP+於一本地區域網路(local area network,LAN)進行帶外(out-of-band)溝通。
在一些實施中,管理裝置103可判斷一韌體更新是否可從供應商獲得,並自動從供應商下載韌體更新。管理裝置103可進一步保存此韌體更新。在一些例子中,管理控制器可通過與一中央管理服務器溝通以監控韌體更新的可獲得性,並於更新可獲得的時候即下載最新的韌體更新。在一些例子中,當服務器系統沒有在運作或即使服務器系統電源關閉時,管理控制器可帶外接收此未來BIOS設置。
在一些設置中,管理裝置103被設置用以控制至少一電源供應單元102及/或其他可應用的操作。在一些實施中,管理裝置103可以被設置用以監控處理需求及組件及/或服務器系統的連接狀態。
在此例中,一用戶可以在管理裝置103上修改及儲存未來韌體設置。接著,管理裝置103將未來韌體設置發送到基本輸入輸出系統105以應用於服務器系統100。在執行全韌體更新前,基本輸入輸出系統105可通過一獨特字串映射方案發送目前韌體設置到管理裝置103。管理裝置103可以將接收的目前韌體設置複製到未來韌體設置, 並使服務器系統100通過應用儲存於管理裝置103的此未來韌體設置重新啟動。下面將參照第2A~2C圖說明此程序的更多細節。
表1是根據本揭露的一實施獨特字串映射方案的一個示例。在此例中,每一個BIOS選項名稱被映射到一獨特字串。例如,表1中的”Option A1”被映射到一獨特字串”OPTA001”。
在一些實施中,一BIOS選項可以藉由一獨特字串映射類型變更並記錄在一特定BIOS區域。例如,當BIOS韌體從版本1(V1)升級至版本2(V2),於BIOS刷新更新的期間,此特定BIOS區域將被保留。然而,缺乏BIOS佈局信息,保存特定BIOS區域可能是困難的。
表2是藉由獨特字串映射類型記錄BIOS選項變更的一示例。在此例中,選項A3與選項B2藉由一獨特字串映射類型”Enable”記錄在表2。表2可以儲存在特定BIOS區域。特定BIOS區域於BIOS閃 存更新期間會被保存。
即使只有上述這些組件被顯示在第1圖中的示例性的系統100內,各種類型可以處理或儲存資料、接收或傳送信號或為下游組件提供新鮮空氣的電子或計算組件都可包含在示例的系統100內。進一步地,示例的系統100中的電子或計算組件可被設置用以執行各種類型的應用程式,及/或可以使用各種類型的作業系統。此些作業系統包括,但不限於,Android、Berkeley Software Distribution(BSD)、iPhone OS(iOS)、Linux、OS X、Unix-like Real-time Operating System(例如QNX)、Microsoft Windows、Window Phone及IBM z/OS。
根據示例的系統100的想要的實施方式,多種網路及信息協議可以被使用,包括但不限於TCP/IP、開放系統互聯(open systems interconnection,OSI)、文件傳輸協議(file transfer protocol,FTP)、通用隨插即用(universal plug and play,UpnP)、網路檔案系統(network file system,NFS)、網路文件共享系統(common internet file system,CIFS)、AppleTalk等。如本領域技術人員所知,第1圖所示的示例的系統100僅用以說明。因此,一網路系統可以有多種適當的實現,但是本揭露的多種例子仍根據提供一種網路平台設置。
在第1圖的示例的設置中,示例的系統100也可包括可被操作用以與一或多個電子裝置於一計算機範圍的特定無線通道溝通的一或多無線組件。無線通道可以為任何被用以允許裝置無線地溝通的適當通道,例如藍芽(Bluetooth)、蜂巢式網路(cellular)、NFC或WiFi通道。應理解的是,如本領域所周知的,裝置可具有一或多個常規有線通信連接。在各種實施例的範圍內,各種其他元件及/或組合也是可能的。
上述討論旨在說明本揭露的原理和各種示例。一旦完全理解了上述公開內容,許多變化和修改將變得顯而易見。
第2A圖繪示依據本揭露的一實施例的用以通過一服務器系統的一BIOS和一管理控制器(例如BMC)自動保存韌體設置一示例的方法200A可以包括以相似或替代為目的執行或平行執行的額外的、更少的步驟。示例的方法200A開始於步驟202開啟服務器系統的電源。
於步驟204,服務器系統的BIOS可從服務器系統的管理控制器(例如BMC)提取「未來BIOS設置」。在一些例子中,管理控制器可以提供一用戶一介面以輸入或更新此「未來BIOS設置」。在一些例子中,管理控制器可與一中央管理服務器溝通以監控韌體更新的可獲得性並於更新可獲得時即下載最新的韌體更新。
於步驟206,BIOS可將「未來BIOS設置」應用至服務器系統,如第1圖所示。於步驟208,BIOS進一步以一獨特字串映射方案發送「目前BIOS設置」到管理控制器,如表1所示。在一些例子中, 獨特字串映射方案進一步包括以一獨特字串映射類型記錄一變更的BIOS設置,如表2所示。
於步驟210,BIOS可執行一全BIOS閃存更新。進一步地,BIOS可使管理控制器上的目前BIOS設置複製到管理控制器的未來BIOS設置,於步驟212。BIOS可進一步重啟服務器系統並提取儲存在管理控制器上的未來BIOS設置,於步驟214。在一些實施中,步驟210~214可以由BMC執行。
第2B圖繪示依據本揭露的一實施例的用以通過一服務器系統的一管理控制器(例如BMC)自動保存韌體設置一示例的方法200B。示例的方法200B開始於步驟222,管理控制器可從一本地裝置或一遠端源接收未來BIOS設置。在一些例子中,管理控制器可通過與一中央管理服務器溝通以監控韌體更新的可獲得性並於更新可獲得時即下載最新的韌體更新。在一些例子中,管理控制器可於服務器系統沒有在運作時或在服務器系統電源關閉時帶外接收未來BIOS設置。
於步驟224,管理控制器可發送未來BIOS設置給服務器系統的BIOS以應用於服務器系統。步驟226,管理控制器可從BIOS接收目前BIOS設置並儲存在管理控制器上。在一些例子中,目前BIOS設置是以一獨特字串映射方案從BIOS接收。獨特字串映射方案可包括映射每一目前BIOS設置到一獨特字串,如表所示。
於步驟228,管理控制器可以使BIOS執行全BIOS閃存更新。管理控制器可進一步複製儲存的目前BIOS設置至管理控制器的 未來BIOS設置,於步驟230。服務器系統從管理控制器的未來BIOS設置重啟,於步驟232。
第2C圖繪示依據本揭露的一實施例的用以通過一服務器系統的一BIOS和閃存晶片自動保存韌體設置一示例的方法200C。示例的方法200C開始於步驟242,開啟服務器系統的電源。於步驟244,服務器系統的BIOS可儲存服務器系統的韌體設置於服務器系統的一第一閃存晶片。於步驟246,服務器系統的BIOS可儲存服務器系統的韌體設置於服務器系統的一第二閃存晶片。在一些例子中,韌體設置為包括合併所有先前變更的目前韌體設置。
於步驟248,BIOS可通過更新儲存有韌體設置的第一閃存晶片執行韌體更新。在一些例子中,韌體更新可進一步包括合併「未來韌體更新」至儲存在第二閃存晶片的韌體設置。此「未來韌體設置」為於一下次系統重啟需要被變更的韌體設置。
於步驟250,BIOS可從第二閃存晶片提取韌體設置。BIOS可進一步通過應用從第二閃存晶片提取到的韌體設置於服務器系統以重啟服務器系統,於步驟252。
所揭露的技術解決了本領域中用於自動保存計算系統中的韌體設置的需要。一個系統和網絡的簡要介紹性描述的示例在此揭露,如第3~5圖所示。這些變化在這裡將被描述為各種實施例。
第3圖繪示適合實施本揭露的計算裝置300的示例。計算裝置300包括一主中央處理單元(master central processing unit,master CPU)362、介面368及一匯流排315(例如一PCI匯流排)。當在適當的軟 體或韌體控制下動作時,中央處理器362可負責執行封包管理、錯誤偵測及/或例行功能,例如佈線錯誤(miscabling)偵測功能。CPU 362優選地在軟體的控制下完成所有這些功能,軟體包括作業系統和任何適當的應用軟體。中央處理器362可以包括一個或多個處理器363,例如來自摩托羅拉微處理器系列的處理器或MIPS系列微處理器。在替代示例中,處理器363是用於控制計算裝置300的操作的專門設計的硬體。在具體示例中,記憶體361(諸如非揮發性RAM及/或ROM)也構成處理器362的一部分。然而,記憶體與系統耦合的方式可以有很多種。
介面368一般如由介面卡(有時指「線卡(line card)」)提供。一般來說,他們控制通過網路傳送及接收資料封包且有時支援與計算裝置300一起使用的其他外設。可以提供的介面有乙太網路介面(Ethernet interface)、訊框中繼介面(frame relay interface)、電纜介面(cable interface)、DSL介面、令牌環介面(token ring interface)等。此外,可以提供非常高速的介面,例如快速令牌環介面(fast token ring interface)、無線介面(wireless interface)、乙太網路介面、吉比特乙太網路介面(Gigabit Ethernet interface)、ATM介面、HSSI介面、POS介面、FDDI介面等。一般來說,此些介面可以包括適合與適合的媒體通信的連接埠。在一些情況中,他們也可以包括一獨立處理器,在一些例子中,也包括揮發性RAM(volatile RAM)。獨立處理器可控制諸如封包交換、媒體控制和管理之類的通信密集型任務。通過為通信密集型任務提供單獨的處理器,這些介面使得主微處理器362有效地執行路由計算、網路診斷、安全功能等。
儘管第3圖所示的系統是本揭露的一個特定計算裝置,但絕不是可以實現本專利申請的唯一網路裝置架構。例如,具有處理通信以及路由計算等的單個處理器的架構經常被使用。此外,其他類型的介面和媒體也可以與路由器(router)一起使用。
無論網路裝置的設置如何,它可以使用被設置用於儲存為一般目的網路操作及此處所述的漫遊,路由優化和路由功能的機制的程式指令的記憶體或記憶體模組。程式指令例如可以控制作業系統及/或一或多個應用程式的操作。此一或多個記憶體還可以被設置用以儲存諸如移動綁定、註冊和關聯表等的表。
第4及5圖繪示示例系統的實施例。在實施本揭露時,更合適的實施例對於本領域具有通常技術者將是顯而易見的。本領域具有通常技術者還將容易地理解其它系統實施例是可能的。
第4圖繪示一系統匯流排計算系統架構400其中系統的組件藉由一匯流排402互相電子通信。示例的系統400包括一處理單元(CPU或處理器)430及一系統匯流排402,系統匯流排402耦接多種系統組件包括例如唯讀記憶體(read only memory,ROM)406及隨機存取記憶體(random access memory,RAM)408的系統記憶體404至處理器430。系統400可包括直接與處理器430緊密連接或與處理器430一部分集成的具有高速記憶體的快取(cache)。系統400可從記憶體404及/或儲存裝置412複製資料至快取以使處理器430可快速存取。藉此,快取可避免於等待資料時處理器430的延遲而提供效能的提升。此些或其他模組可控制或設置用以控制處理器430執行多種動作。其他系統記憶體 404也可以被使用。記憶體404可以包括多個具有不同效能特徵的不同種類的記憶體。處理器430可包括通用目的處理器及一硬體模組或軟體模組,諸如儲存於儲存裝置412設置用以控制處理器430及一特殊目的處理器的模組1 414、模組2 416及模組3 418,其中軟體指令被合併入實際處理器設計中。處理器430基本上可以是一完整的獨立計算系統包含多個核心或處理器、一匯流排、記憶體控制器、快取等。一多核心處理器可以是對稱或非對稱的。
為了使用戶可與計算裝置400互動,一輸入裝置420可代表任何數量的輸入機制,諸如用於語音的一麥克風、用於手勢或圖形輸入的觸控螢幕、鍵盤、滑鼠及動作輸入等。一輸出裝置422也可以是一或多個為本領域具有通常技術者所知的輸出機制。在一些例子中,多模式系統可以使用戶能夠提供多種類型的輸入以與系統400通信。通信介面424通常可以統籌和管理用戶輸入和系統輸出。對於任何特定的硬體設置沒有任何限制,因此這些基本特徵在開發時可以容易地以更好硬體或韌體改進而被替代。
儲存裝置412是一非揮發性記憶體且可以是一硬碟(hard disk)或可儲存可被計算機存取的資料的其他類型的計算機可讀媒體,例如磁帶盒(magnetic cassettes)、閃存記憶卡、固態記憶裝置(solid state memory device)、數位多功能影音光碟(digital versatile disk,DVD)、墨盒(cartridge)、RAM 408、ROM 406及其組合。
儲存裝置412可包括用以控制處理器430的軟體模組414、416、418。其他硬體或軟體模組也被考慮。儲存裝置412可以連 接到系統匯流排402。在一方面,執行一特定功能的一硬體模組可包括連接到必要硬體組建的儲存於計算機可讀媒體的軟體組件,例如顯示器436等,以執行該功能。
控制器410可以是系統400上的專用微控制器或處理器,例如BMC(基板管理控制器)。在一些情況下,控制器410可以是智慧平台管理介面(IPMI)的一部分。此外,在一些情況下,控制器410可以嵌入在系統400的主板或主電路板上。控制器410可以管理系統管理軟體和平台硬體之間的介面。控制器410還可以與下面進一步描述的各種系統裝置和組件(內部的及/或外部的),諸如控制器或外設組件進行通信。
控制器410可以對通知、警報、及/或事件產生特定響應,並且與遠端裝置或組件(例如,電子郵件信息,網路信息等)通信以產生用於自動硬體恢復程序等的指令或命令。管理員還可以遠端地與控制器410通信,以啟動或執行特定的硬體恢復程序或操作,如下面進一步描述的。
系統400上的不同類型的感測器(例如,感測器426)可以向控制器410報告參數,例如冷卻風扇速度、電力狀態、作業系統狀態、硬體狀態等。控制器410還可以包括用於管理和保存由控制器410接收的事件、警報和通知的一系統事件歷程控制器(system event log controller)及/或儲存器。例如,控制器410或系統事件歷程控制器可以從一或多個裝置及組件處接收警報或通知,並將警報或通知保存在系統事件歷程儲存組件中。
閃存記憶體432可以是系統400用來儲存及/或資料傳輸的電子非揮發性計算機儲存介質或晶片。閃存記憶體432可以被電性擦除及/或重新編程。閃存記憶體432可以包括例如抹除式可複寫唯讀記憶體(erasable programmable read-only memory,EEPROM)、電子抹除式可複寫唯讀記憶體(electrically erasable programmable read-only memory,EEPROM)、ROM、NVRAM或互補金屬氧化物半導體(complementary metal-oxide semiconductor,CMOS)。閃存記憶體432可以藉由為韌體434指定的一組設置儲存當系統400首次通電時由系統400執行的韌體434。閃存記憶體432還可以儲存由韌體434使用的設置。
韌體434可包括一基本輸入輸出系統或其後繼者或其等效者例如可擴展韌體介面(Extensible Firmware Interface,EFI)或統一可擴展韌體介面(Unified Extensible Firmware Interface,UEFI)。每當系統400啟動時,韌體434可被作為一串列程式被加載並執行。韌體434可基於此設置來識別、初始化及測試存在於系統400的硬體。韌體434可以在系統400上執行諸如開機自我檢查(POST)的自我檢查。此自我檢查可以測試各種硬體組件的功能,例如硬碟驅動器、光學讀取裝置、冷卻裝置、記憶體模組、擴充卡等。韌體434可以在記憶體404、ROM 406、RAM 408及/或儲存裝置412中尋址和分配區域以儲存作業系統。韌體434可以加載一引導程序(boot loader)及/或作業系統,並且將系統400的控制交給作業系統。
系統400的韌體434可以包括定義韌體434如何控制系統400中的各種硬體組件的韌體設置。韌體設置可以確定系統400中各種硬體組件的啟動順序。韌體434可以提供例如UEFI的介面,其允許設置可以與韌體預設設置中的參數不同各種不同的參數。例如,用戶(例如,管理員)可以使用韌體434來指定時鐘和匯流排速度;定義連接到系統400的外設裝置;設置健康監測(例如,風扇速度和CPU溫度限制);及/或提供影響系統400的整體性能和功率使用的各種其它參數。
雖然韌體434被示出為儲存在閃存記憶體432中,但是本領域具有通常技術者可輕易地了解到韌體434可以被儲存在例如記憶體404或ROM 406等其他儲存組件中。然而,為了解釋的目的,韌體434被示出為儲存在閃存記憶體432中,並非作為限制性示例。
系統400可以包括一或多個感測器426。此一或多個感測器426可以包括例如一或多個溫度感測器、熱感測器、氧感測器、化學感測器、噪音感測器、高溫感測器、電流感測器、電壓檢測器、氣流感測器、流量感測器、紅外線測溫儀、熱通量感測器、溫度計、高溫計等。此一或多個感測器426可以與處理器、快取428、閃存記憶體432、通信介面424、記憶體404、ROM 406、RAM 408、控制器410和儲存裝置412例如經由匯流排402通信。此一或多個感測器426還可以經由一或多種不同的手段(例如內部集成電路(I2C)、通用輸出(general purpose output,GPO)等)與系統中的其它組件通信。
第5圖繪示具有可用以執行所述方法或操作並產生及顯示一圖形用戶介面(graphical user interface,GUI)一晶片組架構的一示 例的計算機系統500。計算機系統500可包括用以實施所揭露的技術的計算機硬體、軟體及韌體。系統500可包括一處理器510,其代表的是能夠執行被設置用以執行所識別的計算的軟體、韌體和硬體的任何數量的物理及/或邏輯上不同的資源。處理器510可以與晶片組502進行通信,晶片組502可以控制對處理器510的輸入和從處理器510的輸出。在此例中,晶片組502將信息輸出到例如顯示器的輸出裝置514,並且可以將信息讀取和寫入到儲存裝置516,包括磁性媒體和固態媒體。晶片組502還可以從RAM 518讀取資料及將資料寫入到RAM 518中。用於與各種用戶介面組件506進行連接的橋接器504可以被提供用於與晶片組502連接。這樣的用戶介面組件506可以包括鍵盤、麥克風、觸摸檢測和處理電路,例如鼠標的指示裝置等。一般來說,系統500的輸入可以來自機器產生的及/或人產生的任何來源。
晶片組502還可以與可以具有不同物理介面的一或多個通信介面508連接。這種通信介面可以包括用於寬頻無線網路的有線和無線區域網路以及用於個人區域網路的介面。此處揭露的一些用於產生、顯示及使用GUI的方法的應用程式可包括通過一物理介面接收的資料組或可以是通過處理器510分析儲存在儲存器516或518的資料由機器自己產生。此外,機器可經由用戶介面組件506接收輸入並通過處理器510解讀此些輸入以執行適當的功能例如瀏覽功能。
此外,晶片組502也可與於系統500電源開啟時執行的韌體512通信。韌體512可基於此設置來識別、初始化及測試存在於系統500的硬體。可以在系統500上執行諸如開機自我檢查(POST)的自我檢 查。此自我檢查可以測試各種硬體組件502~518的功能。韌體512可以在記憶體518中尋址和分配區域以儲存作業系統。韌體512可以加載一引導程序及/或作業系統,並且將系統500的控制交給作業系統。在一些例子中,韌體512可與硬體組件502~510及514~518通信。於此,韌體512可通過晶片組502及/或通過一或多個其他組件與硬體組件502~510及514~518通信。在一些例子中,韌體512可直接與硬體組件502~510及514~518通信。
可以理解的是,示例性系統300、400和500可以具有多於一個的處理器(例如,363、430、510),或者是聯網在一起的計算裝置的組或群集的一部分以提供更大的處理能力。
為了說明的清楚,在一些例子中,本揭露可以被呈現為包括具有裝置、裝置組件、實施於軟體或軟體及硬體的結合的步驟或例程的功能性方塊。
在一些實施例中,計算機可讀儲存裝置、媒體及記憶體可以包括含有比特流等的電纜或無線信號。然而,當提及時,非暫時的計算機可讀儲存媒體明確排除諸如能量,載波信號,電磁波和信號本身的媒體。
根據上述示例的方法可以使用儲存於計算機可讀媒體或以其他方式從計算機可讀媒體獲得的計算機可執行指令來實現。這樣的指令可以包括例如致使或以其他方式設置通用計算機,專用計算機或專用處理裝置來執行某些功能或功能組的指令和資料。所使用的部分計算機資源可以通過網路取得。計算機可執行指令可以是例如二 進制和中間格式指令,諸如組合語言、韌體或源代碼。可用於儲存於根據所述示例的方法的期間產生的指令、所使用的資訊及/或資訊的計算機可讀媒體的例子包括磁碟或光碟、閃存記憶體、提供非揮發性記憶體的USB裝置、網路儲存裝置等。
實現根據這些揭露的方法的裝置可以包括硬體、韌體及/或軟體,且可以採取各種形式因素中的任何一種。典型的因素例子包括筆記型計算機、智慧型手機、小型個人計算機、個人數位助理、機架安裝裝置、獨立裝置等。本文描述的功能也可以體現在外設裝置或附加卡中。通過進一步的示例,這種功能還可以在不同晶片之間的電路板上實現,或者在單個裝置中執行的不同處理。
指令、用於傳遞這樣的指令的媒體,用於執行指令的計算資源以及用於支援這種計算資源的其他結構是用於提供本文描述的功能的手段。
各種示例可以在各式各樣的操作環境中進一步實現,在某些情況下,這些操作環境可以包括一或多個服務器計算機、用戶計算機或可用於操作多個應用程式中的任何一個的計算裝置。用戶或客戶端裝置可以包括許多通用個人計算機中的任何一個,例如運行標準作業系統的桌上型或膝上型計算機,以及運行行動軟體的蜂窩式、無線和手持裝置,並且能夠支援多個網路和信息協議。這樣的系統還可以包括運行各種商業可用作業系統中的任何一個的多個工作站以及用於諸如開發和資料庫管理之類的其它已知應用。這些裝置還可以包括 其他電子裝置,例如虛擬終端、精簡型計算機(thin-client)、遊戲系統和能夠經由網路進行通信的其他裝置。
關於示例的廣度,或其部分而言,是實施在硬體中,本揭露可以被實施在以下技術的任一者或其組合:具有用以於資料訊號上實施邏輯功能的邏輯閘的離散邏輯電路;具有適當組合邏輯閘的專用集成電路(application specific integrated circuit,ASIC);可編程硬體例如可編程邏輯閘陣列(programmable gate array,PGA);現場可編程邏輯閘陣列(field programmable gate array,FPGA)等。
大多數的示例利用本領域的技術人員所熟知的至少一網路來使用多種商業上可得的協定支援通信,例如TCP/IP、UPnP、NFS、CIFS、AppleTalk等。此網路可以是例如本地區域網路(local area network)、廣域網路(wide-area network)、虛擬私人網路(virtual private network)、無線網路(wireless network)及其組合。
根據上述示例的方法可以使用儲存於計算機可讀媒體或以其他方式從計算機可讀媒體獲得的計算機可執行指令來實現。這樣的指令可以包括例如致使或以其他方式設置通用計算機,專用計算機或專用處理裝置來執行某些功能或功能組的指令和資料。所使用的部分計算機資源可以通過網路取得。計算機可執行指令可以是例如二進制和中間格式指令,諸如組合語言、韌體或源代碼。可用於儲存於根據所述示例的方法的期間產生的指令、所使用的資訊及/或資訊的計算機可讀媒體的例子包括磁碟或光碟、閃存記憶體、提供非揮發性記憶體的USB裝置、網路儲存裝置等。
實現根據這些揭露的方法的裝置可以包括硬體、韌體及/或軟體,且可以採取各種形式因素中的任何一種。典型的因素例子包括筆記型計算機、智慧型手機、小型個人計算機、個人數位助理、機架安裝裝置、獨立裝置等。本文描述的功能也可以體現在外設裝置或附加卡中。通過進一步的示例,這種功能還可以在不同晶片之間的電路板上實現,或者在單個裝置中執行的不同處理。
在使用網頁服務器(Web server)的示例中,網頁服務器可運行任一種類或中間層應用程式,包括HTTP服務器、FTP服務器、CGI服務器、資料服務器、Java服務器、及商用服務器。回應來自用戶裝置的請求,網頁服務器也可執行程式或腳本。例如,網頁服務器可執行以任何程式語言例如Java®、C、C#或C++或任何腳本語言例如Perl、Python或TCL及其組合寫成的一或多個腳本或程式實施的一或多個網頁應用程式。網頁服務器也可包括資料庫服務器,包括於開放市場上那些商業上可獲得的資料庫服務器。
服務器系統可包括多種資料儲存器及其他記憶體及儲存媒體,如上文所敘述。這些可以位在各種位置,例如位在(及/或駐留)一或多個本地的計算機,或者隔著網路的任何或所有遠端的計算機的儲存媒體上。在特定的一組示例中,信息可以位在本領域技術人員熟悉的儲存區域網絡(storage area,SAN)中。相似地,用於執行屬於計算機、服務器或其他網絡裝置的功能的任何必要文件可以適當地本地及/或遠程地儲存。當系統包括計算機化裝置的情況下,每個這樣的裝置可以包括可以經由匯流排電性耦合的硬體元件,此些元件包括例如至 少一個中央處理單元(CPU)、至少一個輸入裝置(例如滑鼠、鍵盤、控制器、觸碰感測顯示器元件或小鍵盤)以及至少一個輸出裝置(例如顯示裝置、印表機或揚聲器)。這樣的系統還可以包括一或多個儲存裝置,例如磁碟驅動、光學儲存裝置以及例如隨機存取記憶體(RAM)或唯讀記憶體(ROM)的固態儲存裝置以及可拆式媒體裝置、記憶卡,閃存卡等。
如上所述,這些裝置也可包括一計算機可讀儲存媒體讀取器、一通信裝置(例如調製解調器、無線或有線網卡、紅外線計算裝置)及工作記憶體。計算機可讀儲存媒體讀取器可被連接至,或被設置用以接收,代表遠端、本地、固定及/或可拆式儲存裝置的一計算機可讀儲存媒體以及用以暫時地及/或更永久地保存、儲存、傳送及提取計算機可讀資訊的儲存媒體。此系統及此些裝置也可以典型地包括多個軟體應用程式、模組、服務或其他位於至少一工作記憶體裝置內的元件包括一作業系統及應用程式例如依客戶端應用程式或網頁瀏覽器。應理解的是,替代實施例可以有多種上述示例的變化。例如,也可以使用客製化的硬體及/或可以在硬體、軟體(包括可攜式軟體例如小應用程序)或兩者中實現的特定元件。此外,可以採連接至其他計算裝置(例如網路輸入/輸出裝置)。
用以保存源代碼或部分碼的儲存媒體及計算機可讀媒體可包括,包括儲存媒體及計算媒體的任何適當的或已在本領域被使用的已知媒體。儲存媒體及計算媒體可包括,但不限於,包括RAM、ROM、EPROM、EEPROM、閃存記憶體或其他記憶體技術、CD-ROM、 DVD、或其他光學儲存器、磁帶盒、磁帶、磁碟儲存器或其他磁性儲存裝置或可用以儲存所要資訊並可被系統裝置存取的其他媒體的揮發性或非揮發性、可拆式或不可拆卸式媒體。此些資料或資訊可包括計算機可讀指令、資料結構、程式模組或其他資料。基於本文提供的技術和教導,本領域具有通常技術者將了解到實現本揭露的各個方面的其他方式及/或方法。
因此,說明書和圖示應被認為是說明性的而不是限制性的。然而,顯而易見的是,可以在不脫離如申請專利範圍中所述的專利申請的更廣泛的精神和範圍的情況下對其進行各種修改和改變。

Claims (8)

  1. 一種計算機實施方法,用以保存一服務器系統的韌體設置至一數據中心,包括:開啟該服務器系統的電源;從該服務器系統的一元件提取複數個未來韌體設置;應用該些韌體設置至該服務器系統;以一獨特字串映射方案傳送複數個目前韌體設置至該服務器系統的該元件;執行一全韌體閃存更新;複製儲存於該元件中該獨特字串映射方案所映射的該些目前韌體設置至該元件的該些未來韌體設置中;以及藉由應用儲存於該元件的該些未來韌體設置重啟該服務器系統;其中,該獨特字串映射方案包括映射各該目前韌體設置至一獨特字串,該獨特字串映射方案包括以一獨特字串映射類型記錄該些目前韌體設置的一變更的韌體設置。
  2. 如申請專利範圍第1項所述之計算機實施方法,其中該元件是該服務器系統的一管理控制器。
  3. 如申請專利範圍第2項所述之計算機實施方法,其中該管理控制器連接至一網路且可帶外存取。
  4. 如申請專利範圍第3項所述之計算機實施方法,其中該未來韌體設置於該服務器系統沒有在運作中或該服務器系統電源關閉時係為可由該管理控制器變更。
  5. 如申請專利範圍第2項所述之計算機實施方法,其中該管理控制器是一基板管理控制器或一機架管理控制器。
  6. 如申請專利範圍第1項所述之計算機實施方法,其中該元件是該服務器系統的一閃存晶片。
  7. 一種系統,包括:一處理器;以及一計算機可讀媒體,儲存複數個指令,當該些指令被該處理器執行時,致使該系統執行複數個操作,該些操作包括:開啟該系統的電源;從該系統的一元件提取複數個未來韌體設置;應用該些韌體設置至該系統;以一獨特字串映射方案傳送複數個目前韌體設置至該元件;執行一全韌體閃存更新;複製儲存於該元件中對應該獨特字串映射方案所映射的該些目前韌體設置至該元件的該些未來韌體設置中;以及藉由應用儲存於該元件的該些未來韌體設置重啟該系統;其中,該獨特字串映射方案包括映射各該目前韌體設置至一獨特字串,該獨特字串映射方案包括以一獨特字串映射類型記錄該些目前韌體設置的一變更的韌體設置。
  8. 一種非暫時性計算機可讀儲存媒體,包括複數個指令,當該些指令被一系統的至少一處理器執行時,致使該系統執行複數個操作,該些操作包括:開啟該服務器系統的電源;從該服務器系統的一元件提取複數個未來韌體設置;應用該些韌體設置至該服務器系統;以一獨特字串映射方案傳送複數個目前韌體設置至該元件;執行一全韌體閃存更新;複製儲存於該元件中對應該獨特字串映射方案所映射的該些目前韌體設置至該元件的該些未來韌體設置中;以及藉由應用儲存於該元件的該些未來韌體設置重啟該服務器系統;其中,該獨特字串映射方案包括映射各該目前韌體設置至一獨特字串,該獨特字串映射方案包括以一獨特字串映射類型記錄該些目前韌體設置的一變更的韌體設置。
TW106141967A 2017-09-26 2017-11-30 計算機實施方法、系統、以及非暫時性計算機可讀儲存媒體 TWI644259B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/715,357 2017-09-26
US15/715,357 US10592232B2 (en) 2017-09-26 2017-09-26 Preserving firmware setting during firmware update

Publications (2)

Publication Number Publication Date
TWI644259B true TWI644259B (zh) 2018-12-11
TW201915723A TW201915723A (zh) 2019-04-16

Family

ID=61007502

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106141967A TWI644259B (zh) 2017-09-26 2017-11-30 計算機實施方法、系統、以及非暫時性計算機可讀儲存媒體

Country Status (5)

Country Link
US (1) US10592232B2 (zh)
EP (1) EP3460653A1 (zh)
JP (1) JP6537046B2 (zh)
CN (1) CN109558157B (zh)
TW (1) TWI644259B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI776612B (zh) * 2021-07-28 2022-09-01 宇瞻科技股份有限公司 儲存裝置及其操作方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10409584B1 (en) * 2018-02-09 2019-09-10 American Megatrends International, Llc Peripheral device firmware update using rest over IPMI interface firmware update module
US10416988B1 (en) * 2018-02-09 2019-09-17 American Megatrends International, Llc Peripheral device firmware update using rest over IPMI interface firmware shell utility
US11212178B2 (en) * 2018-06-05 2021-12-28 Toshiba Client Solutions CO., LTD. Control system, electronic device, and control method
US10955872B2 (en) 2018-07-25 2021-03-23 Dell Products L.P. System and method to retain baseboard management controller real-time clock time during BMC reboot
US11023586B2 (en) * 2018-10-26 2021-06-01 American Megatrends International, Llc Auto detection mechanism of vulnerabilities for security updates
US11237606B2 (en) * 2019-03-08 2022-02-01 International Business Machines Corporation System parameter trace and test coverage optimization in a computer system
TWI710953B (zh) * 2019-05-31 2020-11-21 緯創資通股份有限公司 韌體更新裝置以及韌體更新方法
CN111158787A (zh) * 2019-12-31 2020-05-15 联想(北京)有限公司 切换方法、装置、电子设备及存储介质
WO2021141606A1 (en) * 2020-01-10 2021-07-15 Hewlett-Packard Development Company, L.P. Change of firmware settings
MX2022009542A (es) * 2020-02-14 2022-11-14 Arris Entpr Llc Sistemas y métodos para configuración de módem y reversión.
TWI782352B (zh) * 2020-11-09 2022-11-01 神雲科技股份有限公司 自動回復基板管理控制器的韌體設定的方法
CN112631667B (zh) * 2020-12-30 2022-06-03 苏州浪潮智能科技有限公司 一种服务器升级系统
CN113190482B (zh) * 2021-03-12 2023-03-14 山东英信计算机技术有限公司 一种ipmi通信方法、用于ipmi通信的发送系统及接收系统
US20220398320A1 (en) * 2021-06-14 2022-12-15 Dell Products, L.P. Data sharing system and method for a multi-boot baseboard management controller (bmc)
CN114189305B (zh) * 2021-11-30 2023-04-28 联想(北京)有限公司 一种时间同步方法、装置、设备及可读存储介质
US11934838B2 (en) * 2022-02-09 2024-03-19 Quanta Computer Inc. Storing EFI variables in a BMC using an API

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1469252A (zh) * 2002-06-21 2004-01-21 �Ҵ���˾ 在数据处理系统中保持固件版本的方法和系统
TW201222413A (en) * 2010-11-22 2012-06-01 Hon Hai Prec Ind Co Ltd System and method for updating firmware of a baseboard management controller
TW201717001A (zh) * 2015-11-05 2017-05-16 廣達電腦股份有限公司 統一韌體管理系統、非揮發電腦可讀取媒體以及統一韌體管理方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2290890B (en) 1994-06-29 1999-03-24 Mitsubishi Electric Corp Information processing system
US6990577B2 (en) * 2001-08-10 2006-01-24 Intel Corporation Updating a BIOS image by replacing a portion of the BIOS image with a portion of another BIOS image
US20030204711A1 (en) * 2002-04-29 2003-10-30 Guess Alan J. Method and system for restoring custom user configuration settings across a host application download
US20050223372A1 (en) * 2004-04-01 2005-10-06 Borchers Gregory E Methods and systems for firmware download configuration
TWI303382B (en) * 2004-11-26 2008-11-21 Hon Hai Prec Ind Co Ltd System and method for updating bios
JP5126686B2 (ja) * 2009-01-06 2013-01-23 日本電気株式会社 情報処理装置、情報処理装置の動作方法及びそのプログラム
JP5431111B2 (ja) 2009-10-22 2014-03-05 株式会社日立製作所 情報処理装置及びシステム設定方法
US8589302B2 (en) * 2009-11-30 2013-11-19 Intel Corporation Automated modular and secure boot firmware update
CN103324492A (zh) * 2012-03-20 2013-09-25 鸿富锦精密工业(深圳)有限公司 基本输入输出系统固件升级方法及电子装置
JP5995602B2 (ja) * 2012-08-10 2016-09-21 キヤノン株式会社 画像処理装置、情報処理方法及びプログラム
JP2015060411A (ja) 2013-09-19 2015-03-30 株式会社日立製作所 情報処理装置のファームウェア更新方法
US9128729B1 (en) 2014-09-08 2015-09-08 Quanta Computer Inc. System and method for automatically configuring bios performance profiles
CN105468393B (zh) * 2014-09-10 2019-06-14 启碁科技股份有限公司 模块版本升级方法及终端装置
DE102014116321A1 (de) * 2014-11-10 2016-05-12 Harting Electric Gmbh & Co. Kg Update einer Firmware
JP6582438B2 (ja) 2015-02-24 2019-10-02 日本電気株式会社 情報処理装置、システム設定方法、及び、コンピュータ・プログラム
JP2016167213A (ja) * 2015-03-10 2016-09-15 日本電気株式会社 ブレード装置およびブレード装置管理方法
US20170031694A1 (en) 2015-07-29 2017-02-02 Quanta Computer Inc. System and method for remote system configuration managment
US10055218B2 (en) 2015-08-11 2018-08-21 Quanta Computer Inc. System and method for adding and storing groups of firmware default settings
JP6580920B2 (ja) 2015-09-17 2019-09-25 Necプラットフォームズ株式会社 情報処理装置、情報処理装置の動作環境設定情報を更新する方法、及び、情報処理装置の動作環境設定情報を更新するプログラム
US10031736B2 (en) 2015-09-29 2018-07-24 Quanta Computer Inc. Automatic system software installation on boot
JP6638317B2 (ja) * 2015-10-22 2020-01-29 富士通株式会社 情報処理システム、情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム
CN105653457A (zh) * 2016-01-05 2016-06-08 浪潮电子信息产业股份有限公司 一种检测arm平台多路服务器uefi bios版本一致的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1469252A (zh) * 2002-06-21 2004-01-21 �Ҵ���˾ 在数据处理系统中保持固件版本的方法和系统
TW201222413A (en) * 2010-11-22 2012-06-01 Hon Hai Prec Ind Co Ltd System and method for updating firmware of a baseboard management controller
TW201717001A (zh) * 2015-11-05 2017-05-16 廣達電腦股份有限公司 統一韌體管理系統、非揮發電腦可讀取媒體以及統一韌體管理方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI776612B (zh) * 2021-07-28 2022-09-01 宇瞻科技股份有限公司 儲存裝置及其操作方法

Also Published As

Publication number Publication date
TW201915723A (zh) 2019-04-16
EP3460653A1 (en) 2019-03-27
CN109558157A (zh) 2019-04-02
US10592232B2 (en) 2020-03-17
JP6537046B2 (ja) 2019-07-03
US20190095195A1 (en) 2019-03-28
JP2019061644A (ja) 2019-04-18
CN109558157B (zh) 2022-03-08

Similar Documents

Publication Publication Date Title
TWI644259B (zh) 計算機實施方法、系統、以及非暫時性計算機可讀儲存媒體
TWI684859B (zh) 遠端系統復原之方法
TWI659301B (zh) 於一伺服器系統中動態調整最大風扇負載
CN108228209B (zh) 自动更新服务器系统的元件的固件的系统、方法和介质
EP3255527B1 (en) Remote keyboard-video-mouse technologies
TWI620072B (zh) 可擴充集中式非揮發性記憶體儲存盒、電腦實施方法以及非暫態電腦可讀取儲存裝置
TWI679542B (zh) 配置多機箱鏈路的方法與系統及其儲存媒體
CN112181499A (zh) 用于计算机装置的可靠启动系统
JP6701398B2 (ja) リモートユーティリティによるファームウェアの更新
US10533563B2 (en) Management of multiple fan modules
TW202013135A (zh) 用於管理計算裝置之電腦實施方法、計算裝置及非暫態電腦可讀取儲存媒體
TWI634434B (zh) 在資料中心自動組成資料中心資源的電腦實施方法
US11221858B1 (en) System control processor (SCP) boot system