TW202042062A - 提供系統資料之方法、系統及伺服器 - Google Patents

提供系統資料之方法、系統及伺服器 Download PDF

Info

Publication number
TW202042062A
TW202042062A TW108123875A TW108123875A TW202042062A TW 202042062 A TW202042062 A TW 202042062A TW 108123875 A TW108123875 A TW 108123875A TW 108123875 A TW108123875 A TW 108123875A TW 202042062 A TW202042062 A TW 202042062A
Authority
TW
Taiwan
Prior art keywords
controller
data
basic input
input output
interface
Prior art date
Application number
TW108123875A
Other languages
English (en)
Other versions
TWI739127B (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 TW202042062A publication Critical patent/TW202042062A/zh
Application granted granted Critical
Publication of TWI739127B publication Critical patent/TWI739127B/zh

Links

Images

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
    • 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
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation

Landscapes

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

Abstract

一種系統及方法,用於在基本輸入輸出系統的開機自我檢測常式期間提供系統資料。一控制器由獨立之電源供電,並存取系統資料。經由基本輸入輸出系統執行開機自我檢測常式。判斷介於基本輸入輸出系統與控制器之間的複數介面中最快的可用介面。選擇複數介面中的一個介面。在開機自我檢測常式期間,系統資料經由被選擇的介面自控制器發送至基本輸入輸出系統。

Description

提供系統資料之方法、系統及伺服器
本揭露係有關於用於計算裝置之開機自我檢測常式,特別係有關於在開機自我檢測常式期間確保傳送至BIOS之系統資料的可用性的方法。
在電腦系統(例如:伺服器上之處理器核心)的開機自我檢測(power-on self-test, POST)常式(routine)期間,基本輸入輸出系統(basic input output system, BIOS)將試圖自外部控制器(例如:基板管理控制器(baseboard management controller, BMC))取得相關的系統資料(system data)。伺服器在高需求應用(high demand application)中被大量使用,例如基於網路的系統或資料中心。用於計算應用之雲端(cloud)的出現增加了對資料中心的需求。資料中心具有為數眾多的伺服器,可儲存資料及運行應用程式,以供遠程連接之電腦裝置使用者存取。典型的資料中心具有實體機箱(physical chassis)結構,且實體機箱結構具有附加的電源及通信連結。每個機架(rack)可容納複數計算伺服器及儲存伺服器。每個獨立之伺服器的電力開啟必須伴隨開機自我檢測常式以開始作業。因為任何延遲都會增加使用者因等待任務(例如:資料處理或應用程式執行)完成而耗費的時間,因此不希望在電力開啟伺服器時出現延遲。這種延遲乘上資料中心中大量的伺服器數量,將會妨礙資料中心整體的作業。
在已知系統中,於POST期間,BIOS與基板管理控制器(BMC)通信,並嘗試設定或取得管理系統所需之系統資料。舉例來說,這些系統資料可包括欄位替換單元(field replacement unit, FRU)資訊、事件日誌(event log)或系統清單(system inventory)。在當前系統中,這些資料是經由根據智慧平台管理介面(Intelligent Platform Management Interface, IPMI)通信協定(communication protocol)運作之介面自BMC獲得。因為BMC在POST期間可能非常忙碌,因此BIOS通常無法成功初始化(initialize)BIOS與BMC間的介面。在這種情況下,BIOS將認為BMC不起作用,且因此在POST常式期間將不會獲得所需之系統資料。所需之系統資料的缺乏可能會妨礙系統的作業。
此外,於當前系統中,BIOS只會選擇一個介面協定,例如鍵盤控制器規格(keyboard controller style, KCS)介面,以與BMC通信。與其他介面協定相較,對應BMC之單一KCS介面協定需要相對較長的時間週期以取得所需之BIOS資料,因為在KCS下,資料是逐位元組(byte)傳輸的。此等BIOS資料可包括FRU資料、事件日誌資料及系統清單資料。於POST常式期間的這種延遲可能導致使用者相信系統被凍結(frozen),並可能導致使用者再啟動(restart)系統,而非等待POST常式的完成。這導致了系統作業進一步的延遲。
第1圖係先前技術中BIOS經由單一介面自BMC獲取資料之程序的範例。第1圖顯示於步驟10中,當系統電力啟動時,BIOS將開始電源初始化啟動常式(power initialization start up routine)。此常式包括執行預可延伸韌體介面初始化(pre-Extensible Firmware Interface (EFI) initialization, PEI)、驅動程式執行環境(driver execution environment, DXE)、以及系統管理模式(system management mode, SMM)服務。於步驟12中,在基於通用可延伸韌體介面(Universal Extensible Firmware Interface, UEFI)之韌體的PEI/DXE/SMM程序期間,BIOS使用符記(token)以決定在BMC上檢查哪個介面。於步驟14中,BIOS接著等待BMC判斷BMC是否支援通信協定介面。若BMC不支援介面協定,則進入步驟16,BIOS將不會安裝任何介面協定以與BMC通信。若BMC支援介面協定,則進入步驟18,BIOS將安裝介面協定以與BMC通信。在當前系統中,BIOS僅可使用一個介面協定(例如:鍵盤控制器規格(KCS)介面)以與BMC通信。如第1圖中所見,未能安裝介面協定將使BIOS失去所需的系統資料。
此外,於當前系統中,若初始命令未能與BMC通信,則BIOS將試圖重試IPMI命令以獲取資料。第2圖顯示當前BIOS常式的這種情況,其中BIOS使用IPMI命令以自BMC取得欄位替換單元(FRU)資訊。在此範例程序中,BMC開啟於步驟30。用於系統之電源接著於步驟32中開啟。於步驟34中,BIOS發送命令至BMC以要求FRU資料。接著於步驟36中,BIOS等待BMC以判斷BMC是否正常回復上述要求。若沒有回應,則進入步驟38,BIOS設定一重試計數器並判斷重試是否超過最大重試次數,例如三次。若重試計數器低於最大值,則重回步驟34,BIOS循環重回(cycle back),向BMC發送另一個命令以要求FRU資料。若重試計數器超過最大次數,則進入步驟40,BIOS接著清除重試計數器並結束常式。在這種情況下,BIOS無法獲取系統資料,且系統管理BIOS(system management BIOS, SMBIOS)中的對應表(corresponding table)為不正確的預設值(incorrect default)。若步驟36中BMC有所回應,則進入步驟42,BIOS成功獲取系統資料以填充(fill)SMBIOS表,並清除計數器以結束常式。因為允許的重試次數的關係,因此重試過程非常耗時。
因此,在先前技術中的系統,必須容忍過長的BIOS POST時間,也就是說,由於必須傳輸到BIOS的資料量的緣故,系統在POST常式期間被卡住。或者,如果因為BMC過於忙碌而無法即時回應,使得BIOS無法成功獲取諸如FRU資料之關鍵資料,則系統管理BIOS(SMBIOS)資料將為空(empty),或為已儲存的預設資料。因此,系統將無法獲得精確的管理資料,且作業可能被削弱。
因此,需要一種系統提供複數的介面選項,以在自BMC到BIOS的啟動期間用於資料通信。進一步地,還需要一種系統,提供快速通道以自BMC傳送資料至BIOS。再進一步地,還需要一種系統,在資料已經可用於BIOS的情況下,略過(bypass)自BMC獲取資料。
本揭露範例提供一種系統,用於在基本輸入輸出系統的開機自我檢測常式期間提供系統資料。上述系統包括具有獨立電源的控制器。上述控制器可操作以存取系統資料。基本輸入輸出系統可操作以執行開機自我檢測常式。上述系統包括介於基本輸入輸出系統與控制器之間的複數介面。基本輸入輸出系統可操作以判斷複數介面中的最快可用介面,以在開機自我檢測常式期間將系統資料自控制器傳送至基本輸入輸出系統。
本揭露範例提供一種方法,用於在基本輸入輸出系統之開機自我檢測常式期間提供系統資料。由獨立電源供電之控制器可操作以存取系統資料。經由基本輸入輸出系統執行開機自我檢測常式。判斷複數介面中的最快可用介面,其中複數介面介於基本輸入輸出系統與控制器之間。選擇複數介面中的一者。在開機自我檢測常式期間,經由所選之介面將系統資料自控制器發送至基本輸入輸出系統。
本揭露範例提供一種伺服器,包括一基本輸入輸出系統,可操作以在供應電源時執行開機自我檢測常式。上述伺服器包括具有獨立電源的基板管理控制器。基板管理控制器可操作以存取系統資料。獨立管理協定介面匯流排將基本輸入輸出系統耦接至基板管理控制器。上述伺服器包括複數介面協定,以在基板管理控制器與基本輸入輸出系統之間傳送系統資料。基本輸入輸出系統可操作以選擇複數介面協定中的一者,用於基板管理控制器以將系統資料傳送至基本輸入輸出系統。
上述概述並非旨於描繪本揭露之各個實施例或每個態樣。相反地,前述概述僅提供本文所闡述之一些新穎態樣及特徵的範例。當結合附圖及所附申請專利範圍時,從以下對用於實施本揭露之代表性實施例及模式的詳述中,本揭露之上述特徵與優點以及其他特徵與優點將是顯而易見的。
本揭露可以多種不同實施形式呈現。其表現於圖式並詳述於此。這些實施例為本揭露原理之範例或說明,並非旨於將本揭露之廣泛態樣限制於本揭露所示之實施例。舉例來說,揭露於摘要、先前技術、發明內容(但未明確闡述於申請專利範圍)之範圍、要素及限制,上述範圍、要素及限制不應單獨地或集體地以暗示、推論或其他方式體現在申請專利範圍。為本揭露內容之詳述目的,除非特定否認,單數詞包含複數詞,反之亦然。並且字詞「包含」其意為「非限制性地包含」。此外,近似性的(approximation)用語例如「大約」、「幾乎」、「相當地」、「大概」等,可用於本揭露實施例,其意義上如「在、接近或接近在」或「在3至5%內」或「在可接受之製造公差內」或任意符合邏輯之組合。
本揭露提供一種機制,用於加速POST以減少所耗時間,並避免BIOS(basic input output system, 基本輸入輸出系統)與BMC(baseboard management controller, 基板管理控制器)之間的通信失敗。因此,上述機制避免了在POST (power-on self-test, 開機自我檢測)常式期間所發生之BMC意外停機(hang-up)所造成的延遲。所揭露之系統自介於BIOS與BMC之間的智慧平台管理介面(Intelligent Platform Management Interface, IPMI)系統的所有可用介面中,選擇最快的介面。上述系統亦允許BIOS判斷所需之系統資料是否已被儲存。因此,若BMC檢查系統資料且系統資料未被修改,則BIOS可接著直接自備份儲存器中取得系統資料,而無須進一步與BMC通信。此程序可顯著地降低POST所耗費的時間。此外,若BMC發生故障,則BIOS可經由硬體插腳(pin)觸發(trigger)BMC重置(reset)。
第3A-3B圖為IPMI系統100之方塊圖,IPMI系統100允許自介於BIOS與BMC之間的複數通信介面協定中選擇一者,以有效地傳送系統資料以執行POST常式。於此範例中,IPMI系統100是一伺服器的一部分,上述伺服器可包括由諸如基板管理控制器之控制器所管理的複數處理器及組件。系統資料可包括FRU(field replacement unit, 欄位替換單元)資料、事件日誌(event log)資料及系統清單(system inventory)資料。IPMI系統100包括主機板110、記憶板(memory board)112、處理器板(processor board)114、冗餘電源板(redundant power board)116以及機箱板(chassis board)118。IPMI系統100允許系統的管理以支援處理器主機板300上的其他組件(例如:處理器系統),處理器主機板300包括可儲存於平台控制器集線器(platform controller hub, PCH)晶片中的BIOS 120。主機板110包括基板管理控制器130(BMC 130)及欄位替換單元記憶體單元140(FRU記憶體單元140)。FRU記憶體單元140由記憶體板112以及處理器板114上的靜態記憶體所組成,FRU記憶體單元140儲存有用於IPMI系統100之FRU資料。BMC 130用作主控制器,且可與分佈在不同模組上的其他衛星(satellite)管理控制器通信。舉例來說,IPMI系統100包括機箱管理控制器132、網路控制器134以及串列控制器136,每個上述控制器都與BMC 130通信。
FRU記憶體單元140包括記憶體板112上的EEPROM(electrically erasable programmable read-only memory, 電子可抹除可程式化唯讀記憶體) 142,以及處理器板114上的EEPROM 144。FRU記憶體單元140包括用於IPMI系統100中所有可替換組件的FRU資料。FRU資料儲存於分別位在記憶體板112上與處理器板114上的EEPROM 142與EEPROM 144。BIOS 120收集系統事件日誌及傳遞給BMC 130之系統清單的資料。
BMC 130亦連接至IPMI系統介面150、一系列的感測器及控制電路152、以及非揮發性儲存器154。感測器及控制電路152允許監視系統功能,並藉由電壓感測器、溫度感測器、風扇控制及功率調整控制以調整系統功能。非揮發性儲存器154儲存某些系統資料,例如系統事件日誌、感測器資料紀錄、以及其他BMC 130所用之資料的結果。BMC 130管理系統資料。因此,即使其他處理器(例如:與BIOS相關聯的處理器)故障,仍可存取這些系統資料。
系統匯流排160將BIOS 120連接至BMC 130,以及連接至網路控制器134與串列控制器136。PCI(peripheral component interconnect, 週邊組件互連)管理匯流排162將BMC 130連接至PCI裝置。智慧平台管理介面匯流排(Intelligent Platform Management Interface bus, IPMB)164將BMC 130連接至機箱管理控制器132以及冗餘電源板116。專用管理匯流排(private management bus)166將BMC 130連接至FRU記憶體單元140。
第3C圖顯示包括處理器302及處理器304的處理器板300。平台控制器集線器310(PCH 310)允許安排資料的路線至處理器主機板300的組件。於此範例中,BIOS 120為PCH 310的一部分。第3A圖中的BMC 130可存取初始儲存裝置320,於此範例中,初始儲存裝置320同時包括動態隨機存取記憶體(dynamic random access memory, DRAM)及快閃記憶體(flash memory)。BIOS 120可存取備份儲存裝置322,於此範例中,備份儲存裝置322同時包括DRAM及快閃記憶體。
於範例性的IPMI系統100中,BMC 130將檢查初始儲存裝置320中的資料(例如:FRU資料),或其他系統資料(例如:產生的系統事件日誌及系統清單),並與備份儲存裝置322中的系統資料進行對照。若備份儲存裝置322中的系統資料與BMC 130所管理的系統資料相同,則BMC 130將與BIOS 120通信,傳達儲存於備份儲存裝置322中的資料是完整的且可被BIOS 120使用。在這種情況下,BIOS 120可直接自備份儲存裝置322存取資料,且無須發送命令向BMC 130要求資料。
若初始儲存裝置320之非揮發性記憶體中的資料與儲存於備份儲存裝置322中的資料不同,則BIOS 120將會需要要求來自BMC 130的資料。在這種情況下,系統將會選擇複數介面協定中的一者,以向BIOS 120發送系統資料。在BMC 130故障的情況下,BIOS 120可藉由經由BMC 130之硬體插腳發送的信號,觸發BMC重置,其中BMC 130之硬體插腳連接至處理器晶片組。倘若重置信號仍舊無法喚醒BMC 130,BIOS 120仍可自備份儲存裝置322的快閃記憶體處取得系統資料,且無須依靠BMC 130。或者,BIOS 120亦可顯示一訊息,指出在POST常式期間系統資料為不可用。
IPMI系統100允許選擇數個不同的介面,以在BMC 130與BIOS 120之間的通信中共同工作。於此範例中,介面可包括鍵盤控制器規格(keyboard control style, KCS)介面、系統管理匯流排系統介面(SMBus system interface, SSIF)、以及字組轉移(block transfer)介面。於此範例中,SSIF介面將處理較大的資料,例如系統事件日誌資料或系統清單資料,所以是最快的介面。於此範例中,KCS介面可用於傳輸具有小資料計數(small data counts)的資料,例如自我檢測結果或其他簡單的命令,所以KCS介面較SSIF介面為慢。當電源開啟時,BIOS 120將檢查哪個介面被安裝在BIOS 120與BMC 130之間。接著,BIOS 120將自已安裝的介面中選擇最快的介面,以與BMC 130通信。在經過幾次重試後,如果最快的介面為忙碌且無法自BMC 130得到回應,BIOS 120將切換到第二快的介面以與BMC 130通信,並持續嘗試每個可用的不同介面以與BMC 130通信。
第4圖為第3A-3C圖中將資料自BMC 130傳送至BIOS 120之程序的流程圖。在步驟400中,BMC 130的電源被開啟。於步驟402中,BMC 130將可存取的系統資料複製到系統中的任何儲存器,例如初始儲存裝置320及備份儲存裝置322。於步驟404中,接著BIOS 120的電源被開啟至第3A圖中,且啟動開機自我檢測常式。於步驟406中,BIOS 120檢查最快的介面,例如SSIF介面。若最快的介面可用,則進入步驟408,BIOS 120安裝最快的介面(例如:SSIF介面協定)以自BMC 130首度傳送資料。
於步驟410中,BIOS 120接著檢查速度第二快的介面,於此範例中,速度第二快的介面為KCS介面。若速度第二快的介面可用,則進入步驟412,BIOS 120安裝速度第二快的介面作為與BMC 130的第二通信介面。
於步驟414中,BIOS 120接著檢查速度第三快的介面,於此範例中,速度第三快的介面為字組轉移(BT)介面。若速度第三快的介面可用,則進入步驟416,BIOS 120安裝速度第三快的介面作為與BMC 130的第三通信介面。
於步驟418中,BIOS 120接著檢查下一個速度最快的介面。若下一個速度最快的介面可用,則進入步驟420,BIOS 120安裝下一個速度最快的介面作為與BMC 130的下一個通信介面。
然後,上述程序重複這套步驟以判斷其他可用的通信介面,並從而使用介於BIOS 120與BMC 130之間最快的可用通信介面。
因此,若最快可用介面為SSIF介面,則BMC 130將經由SSIF介面傳送資料(例如:FRU資料)至BIOS 120。倘若SSIF介面為不可用,則BMC 130將經由下一個最快的通信介面把資料傳送至BIOS 120。於此範例中,KCS介面為下一個最快的通信介面。
第5圖所示之流程圖,為略過需要自第3A-3B圖中之BMC 130取得系統資料,並判斷是否可能需要因BMC故障進行重置的常式的流程圖。於步驟500中,第3A-3C圖中的BIOS 120首先基於第4圖中之步驟,判斷介面協定是否已被BIOS 120成功安裝。若介面協定安裝成功,則進入步驟502,在POST常式期間,BIOS 120將經由命令向BMC 130要求檢查結果。BMC 130將會判斷備份儲存裝置322中BIOS 120所存取的的系統資料,是否與BMC 130所存取的系統資料相同。若兩者所存取的資料相同,則進入步驟504,BIOS 120將直接自備份儲存裝置322獲取系統資料。若在步驟502中兩者所存取的資料不同,則進入步驟506,BIOS 120將經由最快的可用介面自BMC 130獲取資料,其中最快的可用介面決定於第4圖中的常式。
若在步驟500中,介面協定並未被成功安裝,則進入步驟508,BIOS 120將判斷BMC 130可能已經失效。接著在步驟510中,BIOS 120將在BMC 130的硬體插腳上觸發重置信號。若BMC 130回應上述重置信號,則回到步驟500,BIOS 120將迴路返回(loop back )以判斷介面協定現在是否已成功安裝。倘若BMC 130並未回應上述重置信號,則進入步驟512,BIOS 120將直接自備份儲存裝置322中獲取所需資料。在這種情況下,系統資料可能已經過期,因為備份儲存裝置322並未具有來自BMC 130的當前系統資料。
第4圖至第5圖中的流程圖為代表性的範例性機械可讀指令,用於使BIOS POST常式所需資料通信的程序更有效率。於此範例中,機械可讀指令包括藉由下列方式執行的演算法:(a)處理器、(b)控制器及/或(c)一或多個其他合適之處理裝置。上述演算法可體現於儲存在有形媒體(tangible media)上的軟體中,例如快閃記憶體、CD-ROM、軟碟(floppy disk)、硬碟、數位視訊光碟(多樣化數位光碟)(DVD)、或其他記憶體裝置。然而,本揭露所屬技術領域具通常知識者於閱讀本揭露後將輕易理解到,整個演算法或演算法之部分可替代性地由處理器以外的裝置執行,及/或以眾所周知的方式體現於韌體或專屬硬體(dedicated hardware)(例如:它可由特定應用積體電路(application specific integrated circuit, ASIC)、可程式邏輯裝置(programmable logic device, PLD)、現場可程式邏輯裝置(field programmable logic device, FPLD)、現場可程式閘陣列(field programmable gate array, FPGA)、離散邏輯(discrete logic)等執行)。舉例來說,介面的任何或所有組件可由軟體、硬體及/或韌體執行。而且,流程圖所示之一些或所有機械可讀指令可手動執行。進一步地,儘管範例性演算法是參考第4圖至第5圖進行描述,但本揭露所屬技術領域具通常知識者於閱讀本揭露後將輕易理解到,其他許多執行範例性機械可讀指令的方法可替代性地適用於此。舉例來說,可以改變方塊(步驟)的執行順序,及/或改變、消除或結合一些所述方塊(步驟)。
第6圖顯示範例性之計算系統600,其中計算系統之組件藉由匯流排602彼此電子通訊。計算系統600包括處理單元(CPU或處理器)630及系統匯流排602,上述系統匯流排602將包括系統記憶體604(例如:唯讀記憶體(ROM)606及隨機存取記憶體(RAM)608)在內之多種系統組件耦接至處理器630。計算系統600可包括高速記憶體之快取記憶體,其與處理器630直接連接、非常接近處理器630或整合為處理器630之一部分。計算系統600可自記憶體604及/或儲存裝置612中將資料複製到快取記憶體628,以使處理器630可快速存取。以此方式,快取記憶體628可在等待資料的同時為處理器630提供效能提升。此模組與其他模組可控制或被配置以控制處理器630執行多種動作。其他系統記憶體604亦可被使用。記憶體604可包括具有不同效能特徵之多種不同類型的記憶體。處理器630可包括任何通用處理器以及硬體模組或軟體模組,例如嵌入於儲存裝置612之模組1號614、模組2號616與模組3號618。硬體模組或軟體模組被配置以控制處理器630以及一特殊目的處理器,其中軟體指令被納入實際處理器設計中。處理器630可實質上為完全自足式計算系統,並包括多個核心或處理器、匯流排、記憶體控制器、快取記憶體等。多核心處理器可以是對稱或非對稱。
為了讓使用者能夠與計算系統600互動,輸入裝置620被提供為輸入機制。輸入裝置620可包括用於演講之麥克風、用於手勢或圖形輸入之觸控螢幕、鍵盤、滑鼠、動態輸入等等。在一些實施例中,多模式介面(multimodal)系統可以提供多種類型的輸入以讓使用者能夠與計算系統600通信。於此範例中,亦提供輸出裝置622。通信介面624可控制並管理使用者輸入與系統輸出。
儲存裝置612可為非揮發性記憶體,用以儲存電腦可存取之資料。儲存裝置612可為磁式卡帶(magnetic cassettes)、快閃記憶卡、固態記憶體裝置、數位多功能光碟、盒式磁帶(cartridges)、隨機存取記憶體(RAMs)608、唯讀記憶體(ROM)606及上述之混和。
控制器610可為計算系統600上之特化微控制器或處理器,例如BMC(基板管理控制器)。在一些情況下,控制器610可以作為智慧型平台管理介面(IPMI)的一部份。此外,在某些情況下,控制器610可被嵌入在計算系統600之主機板或主電路板上。控制器610可管理介於系統管理軟體與平台硬體之間的介面。控制器610亦可與多種系統裝置及組件(內部的及/或外部的)通信,例如控制器或週邊組件,如下面進一步所述。
控制器610可產生對通知、警報及/或事件之特定響應,並與遠端裝置或組件通信(例如:電子郵件訊息、網路訊息等),以為自動硬體恢復程序產生指令或命令等。管理員亦可與控制器610遠端通信,以啟動或安排特定硬體自動恢復程序或操作,如下面進一步所述。
控制器610亦可包括系統事件日誌控制器及/或儲存器,以管理及維持由控制器610接收之事件、警報以及通知。舉例來說,控制器610或系統記錄控制器可接收來自於一或多個裝置及組件之警報或通知,並且在系統事件日誌儲存組件中維持警報及通知。
快閃記憶體632可為電子非揮發性電腦儲存媒體或晶片,其可被計算系統600用於儲存及/或資料傳輸。快閃記憶體632可被電子式地抹除及/或再程式化。快閃記憶體632可包括例如EPROM(erasable programmable read-only memory, 可抹除可程式化唯讀記憶體)、EEPROM(electrically erasable programmable read-only memory, 電子可抹除可程式化唯讀記憶體)、ROM、NVRAM或CMOS(complementary metal-oxide semiconductor, 互補式金屬氧化物半導體)。快閃記憶體632可儲存當計算系統600第一次電力啟動時由計算系統600執行之韌體634,與為了韌體634而給定的一組配置。快閃記憶體632亦可儲存韌體634所使用的配置。
韌體634可包括基本輸入輸出系統或其等價物,例如EFI(Extensible Firmware Interface, 可延伸韌體介面)或UEFI(Unified Extensible Firmware Interface, 統一可延伸韌體介面)。每一次計算系統600啟動時,韌體634可如順序程式(sequence program)般地被載入及執行。韌體634可基於一組配置以辨識、初始化及測試計算系統600中之硬體。韌體634可在計算系統600上執行自我檢測,例如POST(開機自我檢測)。此自我檢測可以測試不同硬體組件之功能性,硬體組件例如硬碟、光學讀取裝置、冷卻裝置、記憶體模組、擴充卡等。韌體634可以在記憶體604、ROM 606、RAM 608及/或儲存裝置612中定位與分配一個區域,以儲存作業系統(OS)。韌體634可載入啟動載入器及/或作業系統,並且將計算系統600之控制權交給作業系統。
計算系統600之韌體634可包括一韌體配置,上述韌體配置定義韌體634如何控制計算系統600中的多種硬體組件。韌體配置可決定計算系統600中多種硬體組件的啟動順序。韌體634可提供一介面,例如統一可延伸韌體介面,其可設定各種不同參數,上述參數可不同於韌體預設配置中的參數。舉例來說,使用者(例如:管理員)可用韌體634以具體指定時脈(clock)及匯流排速度;定義什麼週邊裝置連接至計算系統600;設定操作參數之臨界(例如:風扇速度及CPU溫度限制);及/或提供各種其他參數,其影響計算系統600之總體效能及電力使用。當韌體634顯示儲存於快閃記憶體632時,本揭露所屬技術領域中具有通常知識者將輕易理解韌體634亦可儲存在其他諸如記憶體604或ROM 606之記憶體組件中。
計算系統600可包括一或多個感測器626。舉例來說,此一或多個感測器626可包括一或多個溫度感測器、熱量感測器、氧氣感測器、化學感測器、雜訊感測器(noise sensors)、熱感測器、電流感測器、電壓檢測器、氣流感測器、水流感測器、紅外線溫度計、熱流感測器、溫度計、高溫計等。舉例來說,此一或多個感測器626可經由匯流排602與處理器、快取記憶體628、快閃記憶體632、通信介面624、記憶體604、ROM 606、RAM 608、控制器610及儲存裝置612進行通信。此一或多個感測器626亦可經由一或多種不同方式(例如:積體電路間(inter-integrated circuit, I2 C)、通用輸出(general purpose output, GPO)等)與計算系統的其他組件進行通信。計算系統600上之不同類型的感測器(例如:感測器626)亦可將參數回報到控制器610,參數例如冷卻風扇速度、電源狀態、作業系統(OS)狀態、硬體狀態等。顯示器636可由計算系統600使用以提供與控制器610執行之應用程式相關的圖示(graphic)。
第7圖顯示具有晶片組(chipset)架構之電腦系統700,上述晶片組架構可用於執行本揭露之(複數)方法或作業,並產生及顯示圖形使用者介面(graphical user interface, GUI)。電腦系統700可包括電腦硬體、軟體及韌體,上述電腦硬體、軟體及韌體可用以實施所揭露之技術。電腦系統700可包括處理器710,處理器710表示可以執行被配置以執行識別計算的軟體、韌體與硬體的各種物理上及/或邏輯上的不同資源。處理器710可與晶片組702通信,晶片組702可以控制來自處理器710之輸入與輸出。於此範例中,晶片組702輸出資訊至輸出裝置714(例如顯示器),並可讀取及寫入資訊至儲存裝置716。舉例來說,儲存裝置716可包括磁式媒體與固態媒體。晶片組702亦可自RAM 718讀取資料與寫入資料至RAM 718。與各種使用者介面組件706連接之橋接器704可被提供以與晶片組702連接。這種使用者介面組件706可包括鍵盤、麥克風、觸碰偵測與處理電路、指向裝置(例如:滑鼠)等。
晶片組702亦可與一個或多個通訊介面708連接,通訊介面708可具有不同之實體介面。這種通訊介面可包括有線與無線之區域網路、寬頻無線網路以及個人區域網路之介面。此外,上述機器可經由使用者介面組件706接收來自使用者之輸入,並執行適當之功能,例如藉由處理器710詮釋這些輸入以瀏覽功能。
此外,晶片組702亦可與韌體712進行通信,可在電力啟動時由電腦系統700執行韌體712。韌體712可基於一組韌體配置以辨識、初始化及測試電腦系統700中之硬體。韌體712可在電腦系統700執行自我檢測,例如開機自我檢測。此自我檢測可以測試各種硬體組件702至718之功能性。韌體712可在隨機存取記憶體718定位與分配區域以儲存作業系統。韌體712可載入啟動載入器及/或作業系統,並將電腦系統700之控制權交給作業系統。在一些情況下,韌體712可與硬體組件702至710以及714至718通信。此處,韌體712可透過晶片組702及/或一或多個其他組件與硬體組件702至710以及714至718通信。在一些情況下,韌體712可以直接與硬體組件702至710以及714至718作通信。
在此應能理解範例性之計算系統600(於第6圖)與電腦系統700可具有多於一個之處理器(例如:處理器630及710),或者成為透過網路連結在一起的計算裝置群組或叢集的一部份以提供更好的處理能力。
如在本申請中所使用的,術語「組件」、「模組」、「系統」等通常是指與電腦相關的實體、硬體(例如:電路)、硬體及軟體之組合、軟體或與具有一或多個特定功能之操作機器相關的實體。舉例來說,一個組件可為但不限於:處理器(例如:數位訊號處理器)上運行的程序、處理器、物件、可執行文件(executable)、執行的線程(thread of execution)、程式及/或電腦。作為說明,在控制器上運行的應用程式以及控制器都可以是組件。一或多個組件可以常駐在程序及/或執行的線程內,且一個組件可位於一個電腦上及/或分佈在兩個或更多個電腦之間。此外,「裝置」可採用專門設計的硬體形式;藉由在其上執行軟體而專門製造的通用硬體,致能硬體以執行特定之功能;儲存在電腦可讀取媒體上的軟體;或其組合。
本文所用之術語僅用於描述特定範例,而非旨於限制本發明。如此處所用的,單數型式「一」「一個」及「該」亦旨於包括複數型式,除非上下文另有明確說明。此外,在詳細說明及/或請求項中使用術語「包括」、「包含」、「具有」、「有」、「擁有」或其變體的範圍,這些術語旨在以近似於術語「包括」之方式包含。
除非另有定義,否則本文所用之所有術語(包括技術及科學術語)具有與於本揭露所屬技術領域中具有通常知識者通常理解之含義相同之含義。此外,諸如於那些常用字典中定義之術語應被解釋為具有與其在相關領域之上下文中之含義一致的含義,且除非於本文中明確地如此定義,否則將不被理解為理想化或過於正式之含義。
雖然本發明之多種實施例已描述於上,但仍應理解,它們僅以範例之方式呈現而非限制。儘管已就一或多個實施說明及描述本發明,但於本技術領域具有通常知識者在閱讀及理解本說明書及附圖時,將想到或理解等價之改動及修改。此外,儘管本發明之特定特徵可能僅在一或數個實施中被揭露,但如此特徵可與其他實施之一或多個其他特徵結合,如同任何給定或特定應用可能期望及有益的。因此,本發明之廣度及範圍不應被上述任何範例所限制。更確切地說,本發明之範圍應根據下列請求項及與其等價之物來定義。
10-18:步驟 30-42:步驟 100:智慧平台管理介面系統 110:主機板 112:記憶板 114:處理器板 116:冗餘電源板 118:機箱板 120:基本輸入輸出系統 130:基板管理控制器 132:機箱管理控制器 134:網路控制器 136:串列控制器 140:欄位替換單元記憶體單元 142-144:電子可抹除可程式化唯讀記憶體 150:智慧平台管理介面系統介面 152:控制電路 154:非揮發性儲存器 160:系統匯流排 162:PCI管理匯流排 164:智慧平台管理介面匯流排 166:專用管理匯流排 300:處理器板 302-304:處理器 310:平台控制器集線器 320:初始儲存裝置 322:備份儲存裝置 400-420:步驟 500-512:步驟 600:計算系統 602:匯流排 604:記憶體 606:唯讀記憶體 608:隨機存取記憶體 610:控制器 612:儲存裝置 614:模組1號 616:模組2號 618:模組3號 620:輸入裝置 622:輸出裝置 624:通訊介面 626:感測器 628:快取記憶體 630:處理器 632:快閃記憶體 634:韌體 636:顯示器 700:電腦系統 702:晶片組 704:橋接器 706:使用者介面組件 708:通信介面 710:處理器 712:韌體 714:輸出裝置 716:儲存裝置 718:隨機存取記憶體
藉由參考附圖之範例性實施例的下列描述,將能更佳地理解本揭露。 第1圖所示係先前技術中,BIOS經由單一介面自BMC獲取資料之程序。 第2圖係先前技術之流程圖,出示當發生起因於BMC的FRU資料之失敗要求時,所發生的一系列重試。 第3A-3B圖為IPMI子系統之方塊圖,上述IPMI子系統允許介於BIOS與BMC之間的複數介面。 第3C圖所示係處理器主機板連接至第3A-3B圖中具有BIOS之IPMI子系統的方塊圖。 第4圖所示之常式的流程圖,係允許經由第3A-3B圖所示之範例性系統中的複數介面,以在BIOS與BMC之間通信之常式的流程圖。 第5圖所示之啟動常式的流程圖,係允許BIOS略過與BMC的通信以獲取所需系統資料之啟動常式的流程圖。 第6圖及第7圖係根據本揭露多種實施例所示之範例性電腦系統。 本揭露易受各種修改及替代形式的影響。一些代表性的實施例已藉由附圖中的範例呈現,且將在本文中進行詳細描述。然而,應當理解的是,本揭露並不限於所公開的特定形式。相反地,落入所附申請專利範圍所定義之本揭露的精神及範圍內的所有修改、均等物以及替代物,皆為本揭露所涵蓋。
400-420:步驟

Claims (10)

  1. 一種提供系統資料的系統,用於在一基本輸入輸出系統之一開機自我檢測常式期間提供系統資料,上述系統包括: 具有一獨立電源的一控制器,上述控制器可操作以存取上述系統資料; 上述基本輸入輸出系統,可操作以執行上述開機自我檢測常式;以及 複數介面,介於上述基本輸入輸出系統與上述控制器之間; 其中上述基本輸入輸出系統可操作以判斷上述複數介面中的最快可用介面,以在上述開機自我檢測常式期間將上述系統資料自上述控制器傳送至上述基本輸入輸出系統。
  2. 如申請專利範圍第1項所述之提供系統資料的系統,其中: 上述控制器可操作以判斷上述基本輸入輸出系統可存取的系統資料是否恒等於上述控制器所存取的系統資料,且倘若上述基本輸入輸出系統可存取的系統資料恒等於上述控制器所存取的系統資料,則上述控制器終止上述系統資料至上述基本輸入輸出系統的傳送;以及 包括可被上述基本輸入輸出系統存取的一備份儲存器,其中上述基本輸入輸出系統可存取的系統資料儲存於上述備份儲存器。
  3. 如申請專利範圍第1項所述之提供系統資料的系統,其中若上述複數介面沒有可用的通信,則上述基本輸入輸出系統可操作以啟動一硬體重置信號到上述控制器。
  4. 如申請專利範圍第1項所述之提供系統資料的系統,其中若上述複數介面中最快的介面不可用,則上述基本輸入輸出系統更可操作以在上述複數介面中第二快的介面上傳送上述系統資料。
  5. 如申請專利範圍第1項所述之提供系統資料的系統,其中: 上述控制器為一基板管理控制器; 上述複數介面遵照智慧平台管理介面(IPMI)標準,且上述複數介面包括鍵盤控制器規格(KCS)介面、系統管理匯流排系統介面(SSIF)或字組轉移之中的至少一者;以及 上述系統資料包括欄位替換單元資料、系統清單資料或系統事件日誌資料之中的至少一者。
  6. 一種提供系統資料的方法,用於在一基本輸入輸出系統之一開機自我檢測常式期間提供系統資料,上述方法包括: 經由一控制器收集上述系統資料,其中上述控制器具有獨立之電源供應; 經由上述基本輸入輸出系統執行上述開機自我檢測常式; 判斷複數介面中的最快可用介面,其中上述複數介面介於上述基本輸入輸出系統與上述控制器之間; 選擇上述複數介面中的一者;以及 在開機自我檢測常式期間,經由上述所選的介面將上述系統資料自上述控制器發送至上述基本輸入輸出系統。
  7. 如申請專利範圍第6項所述之提供系統資料的方法,更包括: 判斷上述基本輸入輸出系統可存取的系統資料是否恒等於上述控制器所存取的系統資料,其中上述基本輸入輸出系統可存取的系統資料儲存於一備份儲存器;以及 若上述基本輸入輸出系統可存取的系統資料恒等於上述控制器所存取的系統資料,則終止上述系統資料至上述基本輸入輸出系統的傳送。
  8. 如申請專利範圍第6項所述之提供系統資料的方法,更包括: 若上述複數介面中最快的介面不可用,則經由上述複數介面中第二快的介面傳送上述系統資料;以及 若上述複數介面沒有可用的通信,則啟動一硬體重置信號至上述控制器。
  9. 如申請專利範圍第6項所述之提供系統資料的方法,其中: 上述控制器為一基板管理控制器; 上述複數介面遵照智慧平台管理介面(IPMI)標準,且上述複數介面包括鍵盤控制器規格(KCS)介面、系統管理匯流排系統介面(SSIF)或字組轉移之中的至少一者;以及 上述系統資料包括欄位替換單元資料、系統清單資料或系統事件日誌資料之中的至少一者。
  10. 一種伺服器,可用於提供系統資料,上述伺服器包括: 一基本輸入輸出系統,當供應電源時上述基本輸入輸出系統可操作以執行一開機自我檢測常式; 一基板管理控制器,具有獨立的電源供應,上述基板管理控制器存取系統資料; 一獨立管理協定介面匯流排,將上述基本輸入輸出系統耦接至上述基板管理控制器;以及 複數介面協定,以在上述基板管理控制器與上述基本輸入輸出系統之間傳送上述系統資料,其中上述基本輸入輸出系統可操作以選擇上述複數介面協定中的一者,用於上述基板管理控制器以將上述系統資料傳送至上述基本輸入輸出系統。
TW108123875A 2019-05-14 2019-07-08 提供系統資料之方法、系統及伺服器 TWI739127B (zh)

Applications Claiming Priority (2)

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

Publications (2)

Publication Number Publication Date
TW202042062A true TW202042062A (zh) 2020-11-16
TWI739127B TWI739127B (zh) 2021-09-11

Family

ID=67658242

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108123875A TWI739127B (zh) 2019-05-14 2019-07-08 提供系統資料之方法、系統及伺服器

Country Status (5)

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

Families Citing this family (4)

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

Family Cites Families (18)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
TWI684859B (zh) 遠端系統復原之方法
TWI739127B (zh) 提供系統資料之方法、系統及伺服器
TWI659301B (zh) 於一伺服器系統中動態調整最大風扇負載
EP3255527B1 (en) Remote keyboard-video-mouse technologies
TWI610167B (zh) 改善平台管理的計算裝置建置方法、保持電腦可執行指令之非暫存媒體及配置為提供強化管理資訊之計算裝置
JP6866975B2 (ja) マルチマスタートポロジーシステムにおけるcpldキャッシュの適用
JP2021009683A (ja) ブートデバイスのリモート選択方法及びシステム
US20170090896A1 (en) Automatic system software installation on boot
TWI724415B (zh) 多節點儲存系統及其韌體的更新方法
US10754408B2 (en) Power supply unit mismatch detection system
JP6864718B2 (ja) ハイブリッド電源のシステム及び方法
US20160306634A1 (en) Electronic device
US10180800B2 (en) Automated secure data and firmware migration between removable storage devices that supports boot partitions and replay protected memory blocks
JP2018181305A (ja) プールされた物理リソースのローカルディスク消去メカニズム
TWI736842B (zh) 設定組態控制方法及其相關電腦系統
TWI764824B (zh) 固件升級方法、裝置、晶片及電腦存儲介質