TW202238383A - 電腦系統、電腦伺服器及其啟動方法 - Google Patents

電腦系統、電腦伺服器及其啟動方法 Download PDF

Info

Publication number
TW202238383A
TW202238383A TW110122849A TW110122849A TW202238383A TW 202238383 A TW202238383 A TW 202238383A TW 110122849 A TW110122849 A TW 110122849A TW 110122849 A TW110122849 A TW 110122849A TW 202238383 A TW202238383 A TW 202238383A
Authority
TW
Taiwan
Prior art keywords
bios
routine
error
hardware components
hardware component
Prior art date
Application number
TW110122849A
Other languages
English (en)
Other versions
TWI779682B (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 TWI779682B publication Critical patent/TWI779682B/zh
Publication of TW202238383A publication Critical patent/TW202238383A/zh

Links

Images

Classifications

    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2051Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant in regular structures
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • 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/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/1438Restarting or rejuvenating
    • 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/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/2273Test methods
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Multi Processors (AREA)
  • Hardware Redundancy (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Debugging And Monitoring (AREA)

Abstract

一種系統及方法,用於調整設定,以使重新啟動在有硬體部件故障時仍得以進行。該系統包括管理控制器,儲存系統錯誤記錄。該電腦系統包括硬體部件,與管理控制器通訊。一種基本輸入/輸出系統(BIOS),包括啟動常式,當所有硬體部件皆可運作時成功完成。該啟動常式根據系統錯誤記錄決定其中一硬體部件的錯誤。該常式關閉該硬體部件。該常式隨後完成開機自我檢測常式。

Description

電腦系統、電腦伺服器及其啟動方法
總體而言,本揭露係關於常式(routines),用以增進電腦系統的運作可靠度。特定而言,本揭露之各態樣係關於一常式,在啟動(boot up)時關閉故障的部件而非關閉電腦系統,以供故障排除(troubleshooting)之用。
伺服器(server)在高需求應用中被大量使用,例如基於網路的系統(network-based system)或資料中心(data center)。雲端運算(cloud computing)應用的出現,增加了對資料中心的需求。資料中心具有大量伺服器,儲存資料並運行應用程式,由遠端連線的電腦裝置使用者存取。典型的資料中心具有實體機架(rack)結構,伴隨電源及通訊連結。每一機架可固定多個運算伺服器及儲存伺服器。一般而言,每一伺服器包括硬體部件,例如處理器、記憶體裝置、網路介面卡、電源供應器、及其他專用硬體。一般而言,每一伺服器包括基板管理控制器(BMC),管理該伺服器的運作,並將運作資料通訊至一中央管理站,該中央管理站管理該機架上的伺服器。該BMC使該伺服器的中央處理單元(CPU)毋須監控伺服器運作。如同所有電腦系統,伺服器具有基本輸入/輸出系統(BIOS),一般而言為一快閃記憶體(Flash)晶片。在伺服器啟動前BIOS被執行,以測試該伺服器各部件的基本輸入及輸出。
當電腦系統中的記憶體、CPU、周邊裝置或其他部件發生錯誤時,該系統可能當機(crash)。在一次當機後,此一錯誤問題必須被分析,以決定可能的損毀或故障部件,進而使該損毀部件得以被替換。此一程序對電腦系統操作員而言通常耗時而枯燥。例如,一電腦系統可能因其CPU的災難性錯誤事件(CATERR Event)而意外當機。若該故障CPU仍留存於該電腦系統中,則該電腦系統在隨後的開機嘗試中將無法開機。因此,該電腦系統無法正常啟動。根據習知技術,技術人員會將該電腦系統關機,進行除錯(debug)程序,並於資料中心現場(on-site)替換該故障CPU。然而,此程序將導致代價高昂的停機時間(downtime),因該伺服器在此時段內無法運作。
另一種解決某些災難性錯誤的方法,為提供一更新至BIOS,以促進除錯程序。在此範例中,技術人員會將該電腦系統關機,並使用一支援BMC更新一除錯BIOS,以供除錯之用。在此情況下,若該BMC不支援BIOS更新,則該電腦系統仍無法啟動至作業系統(OS)。更新BIOS以供除錯功能之用的唯一方法,為以一除錯BIOS晶片替換現用BIOS晶片。此技術對遠端解決方案而言並不合適,例如資料中心所需者,因技術人員必須於現場進行BIOS晶片的替換。即使此一解決方案可行,其亦不便且耗時。
第1圖為一流程圖,顯示電腦系統的一次已知關機中被啟動的程序,使技術人員得以對該電腦系統進行故障排除。此程序在硬體部件(例如CPU、記憶體、或周邊裝置)發生錯誤時觸發(步驟10)。在開機自我檢測(POST)常式中,該電腦系統偵測該錯誤並將該電腦系統關機(步驟12)。技術人員接著必須對該錯誤的可能原因進行分析(步驟14)。技術人員接著藉由修復或替換該可能故障部件,處理該可能故障部件(步驟16)。重複執行前述程序,嘗試對該系統進行除錯(步驟18)。當該可能故障部件修復後,故障排除程序完成(步驟20)。接著,該系統可成功重新啟動(步驟22)。然而,此程序由系統關機階段12至故障排除階段20十分耗時,且會導致該伺服器的停機時間。
因此,吾人亟需一BIOS,用於電腦系統,藉由自動關閉阻礙開機的部件,使系統得以運作。吾人更亟需一常式,其可使吾人進行除錯程序時毋須更新BIOS。
「實施例」一詞及相似之詞彙,乃意圖廣泛指稱本揭露及下列請求項之所有標的。包含此等詞彙之陳述,應被理解為並非用以限定本說明書中所述之標的、或用以限定下列請求項的意義或範圍。本揭露所涵蓋的各實施例乃由下列請求項定義,而非以本節內容定義。本節內容乃本揭露各態樣之總體概述,並介紹部分概念,該等概念將於「實施方式」一節中進一步敘述。本節內容並非意圖識別請求項所請標的之關鍵或必要特徵;亦非意圖單獨用於決定請求項所請標的之範圍。對該標的之理解,應參照本揭露說明書全文中之適當部分、任何或全部圖式及每一請求項進行。
揭露之一範例為一電腦系統,其可避免因故障部件而導致的當機。該系統包括一管理控制器,儲存一系統錯誤記錄。該系統包括多個硬體部件,每一部件皆與該管理控制器通訊。該系統包括基本輸入/輸出系統(BIOS),該BIOS包括一啟動常式,被配置為當所有該等硬體部件皆可運作時成功完成。該BIOS可運作以決定該系統錯誤記錄中自該等硬體部件之一記錄的錯誤。該BIOS關閉對應於該記錄錯誤的硬體部件。該BIOS調整該啟動常式,以避開該已關閉硬體部件。該BIOS接著完成一開機自我檢測常式。
該範例電腦系統的一種進一步實施為一實施例,其中該管理控制器為基板管理控制器。另一實施為其中該電腦系統為伺服器。另一實施為其中該等硬體部件包括至少下列之一:一處理器、一記憶體裝置、一儲存裝置、及一擴充卡。另一實施為其中該BIOS包括一非揮發性隨機存取記憶體(NVRAM),被配置為儲存一指令,用以關閉該硬體部件。另一實施為其中該管理控制器於該硬體部件被關閉之前儲存該BIOS的一映像,該BIOS包括該等硬體部件。另一實施為其中該管理控制器被配置為偵測一機殼開啟事件。該管理控制器被配置為當該機殼開啟事件被偵測時,載入該已儲存BIOS映像。另一實施為其中該已儲存BIOS映像被使用於該啟動常式。另一實施為其中該管理控制器傳送一訊號至一通用輸入/輸出(GPIO)接腳,以啟用該BIOS關閉該硬體部件。
揭露之另一範例為一種啟動電腦系統的方法,該電腦系統具有多個硬體部件。使用一基本輸入/輸出系統(BIOS)的一啟動常式,分析一管理控制器的一系統錯誤記錄,以決定自該等硬體部件之一記錄的一錯誤。對應於該記錄錯誤的硬體部件被關閉。該啟動常式被調整,以避開該已關閉硬體部件。一開機自我檢測常式被完成。
該範例方法的另一實施為其中該管理控制器為基板管理控制器,且該電腦系統為伺服器。另一實施為其中該等硬體部件包括至少下列之一:一處理器、一記憶體裝置、一儲存裝置、及一擴充卡。另一實施為其中該BIOS包括一非揮發性隨機存取記憶體(NVRAM),被配置為儲存一指令,用以關閉該硬體部件。另一實施為其中該方法更包括於該硬體部件被關閉之前儲存該BIOS的一映像(image),該BIOS包括該等硬體部件。另一實施為其中該方法包括偵測一機殼開啟事件。當該機殼開啟事件被偵測時,該已儲存BIOS映像被載入。另一實施為其中該已儲存BIOS映像被使用於該啟動常式。另一實施為其中該管理控制器傳送一訊號至一通用輸入/輸出(GPIO)接腳,以啟用該BIOS關閉該硬體部件。
揭露之另一範例為一電腦伺服器,具有一處理器、一系列雙列直插式記憶體模組、及一擴充卡。一基板管理控制器耦接至該處理器、該雙列直插式記憶體模組、及該擴充卡。該基板管理控制器儲存一系統錯誤記錄,該系統錯誤記錄具有一錯誤,對該處理器、記憶體模組或擴充卡中至少之一記錄。一基本輸入/輸出系統(BIOS)包括一啟動常式,該啟動常式當所有該等硬體部件皆可運作時成功完成。該BIOS決定該系統錯誤記錄中自該處理器、該雙列直插式記憶體模組及該擴充卡中之一記錄的錯誤。該BIOS關閉對應於該記錄錯誤的處理器、雙列直插式記憶體模組或擴充卡。該BIOS調整該啟動常式,以避開該已關閉處理器、雙列直插式記憶體模組或擴充卡。該BIOS完成一開機自我檢測常式。
本節上述內容並非意圖表示本揭露的每一實施例或每一態樣。反之,本節上述內容僅針對部分本說明書中所述的新穎態樣及特徵提供範例。上述特徵及優點、及本揭露的其他特徵及優點,於閱讀下文用以實施本發明的代表實施例及模式之詳述、並搭配附隨之圖式及附錄之請求項一同閱讀後,乃為明白易懂。
本發明可以多種不同形式實施。代表實施例顯示於圖式中,並將於本說明書中詳述。本揭露乃其原理之範例或圖示,而非意圖將本揭露之寬廣面向限制於所示之實施例中。就此而言,於例如「發明摘要」、「發明內容」及「實施方式」等節中揭露、但未於請求項中明確陳述的元件及限制,不應以單獨或集體、隱含、推論或其他形式被併入請求項中。為本節敘述方便起見,除非特別聲明,否則單數詞彙皆包括複數詞彙,反之亦然;「包括」一詞意指「包括而不限於」。此外,表近似之詞彙,例如「大約」、「近乎」、「基本上」、「近於」等,於本說明書中可意指例如「於」、「接近」或「近似於」、或「於3-5%誤差範圍內」、或「在容許的製造誤差範圍內」、或上述範圍的任何邏輯組合。
本揭露係關於一常式,該常式允許電腦系統成功開機,即使一個或多個硬體部件並未正常運作。於啟動時,當該範例常式系統在記憶體裝置、PCIe裝置、或CPU遭遇錯誤時,該電腦系統將避免當機。該常式經由該電腦系統的遠端控制,關閉該故障硬體部件。此一配置使該電腦系統(例如遠端伺服器)得以自動且成功開機,而不需要資料中心操作員的介入。
第2圖為一方塊圖,顯示電腦系統100的部件,該電腦系統100運行一常式,該常式允許電腦系統100開機,即使電腦系統100具有故障的(faulty)硬體部件。在此範例中,電腦系統100為伺服器,然而任何合適的電腦裝置皆可併入本說明書中所揭露的原理。電腦系統100具有二個中央處理單元(CPU)110及112。該二CPU 110及112可存取雙列直插式記憶體模組(DIMM)114。儘管圖中僅顯示二個CPU,然而電腦系統100亦可能支援額外的CPU。專用功能可由專用處理器進行,例如圖形處理單元(GPU)或現場可程式化邏輯閘陣列(FPGA),安裝於電腦系統100的主機板或擴充卡上。
平台路徑控制器(PCH)116促成CPU 110及112與其他硬體部件之間的通訊,例如序列先進技術附件(SATA)裝置120、開放運算計劃(OCP)裝置122、及通用序列匯流排(USB)裝置124。SATA裝置120可包括硬碟(HDD)。或者,其他記憶儲存裝置亦可使用,例如固態硬碟(SSD)。其他硬體部件,例如高速外設組件互連標準(PCIe)裝置126,可由CPU 110或112經由擴充插槽(未圖示)直接存取。額外的PCIe裝置126可包括網路介面卡(NIC)、磁碟陣列(RAID)卡、現場可程式化邏輯閘陣列(FPGA)卡、及處理器卡,例如圖形處理單元(GPU)卡。
電腦系統100的硬體部件在接受電腦系統100的BIOS中的啟動常式的檢查時必須為正常運作,方能成功啟動系統。因此,該BIOS初始化並訓練記憶體裝置及PCIe裝置126。該BIOS亦分配所需的資源,供PCIe裝置126使用。當機可能發生於該BIOS對每一該等硬體部件的初始化、訓練或資源分配運作中。或者,致命(fatal)且無法修正的錯誤可能直接導致系統當機。額外的硬體部件亦可能正常運作,以供該BIOS成功啟動電腦系統100。
基板管理控制器(BMC)130管理電腦系統100的運作,例如電源管理及溫度管理。BMC 130可存取一專用BMC記憶體裝置132,該BMC記憶體裝置132可為快閃記憶體裝置。分離的BIOS記憶體裝置134為非揮發性記憶體,例如快閃記憶體BIOS韌體。記憶體裝置134可為一BIOS晶片。記憶體裝置132及134皆可經由PCH 116存取。
在此範例中,BMC記憶體裝置132儲存系統事件記錄(SEL)136、感測器資料記錄138、及BMC現場替換單元(FRU)資訊記錄140。BIOS記憶體裝置134可包括BIOS映像150、啟動區塊152、主要區塊154、非揮發性隨機存取記憶體(NVRAM)區塊156用於儲存BIOS配置資料、及管理引擎(ME)區塊158。BIOS記憶體裝置134中的該等區塊促成電腦系統100的啟動常式。
在此範例中,BMC 130經由不同通道160與PCH 116通訊,該等通道可包括系統管理匯流排(SMbus)、低接腳數匯流排(LPC)、PCIe及USB線。PCH 116包括一系列通用輸入/輸出(GPIO)接腳162,用於與BMC 130及BIOS記憶體裝置134通訊。BMC 130包括韌體,自電腦系統100中的硬體部件接收錯誤訊息。該等錯誤訊息被儲存於系統錯誤記錄136中。
BIOS 134包括一範例常式,決定故障的硬體部件,並關閉該故障硬體部件。因此,該範例常式允許電腦系統100運作,直到該故障硬體部件被替換或修復。當一硬體部件故障時,BMC 130會取得儲存於系統錯誤記錄(SEL)136中關聯於該故障部件的資訊。在隨後的開機中,SEL 136具有該故障硬體部件的資訊,且BMC 130會傳送關於該故障部件的資訊至BIOS 134,以關閉該故障硬體部件。
第3圖為一流程圖,顯示一般程序,其使第2圖中的電腦系統100即使在硬體部件故障時仍保持運作。該等硬體部件之一發生錯誤(步驟310)。該範例常式接著關閉該故障硬體部件(步驟312)。電腦系統100接著可啟動(步驟314)。使用者接著得知該硬體部件故障,使該故障硬體部件得以於一未來時間被修復或替換,且電腦系統100仍然運作,直到進行該修復或替換(步驟316)。
第4圖為一流程圖,顯示範例常式,其允許電腦系統100完成開機自我測試(POST)常式,即使硬體部件(例如SATA裝置、PCIe裝置、DIMM或CPU)故障。首先開啟電源(步驟410)。該故障部件導致電腦系統100於執行該POST常式時當機(步驟412)。電腦系統100接著可重新啟動(步驟410)。自系統當機重新啟動時,該範例常式關閉該故障硬體部件(步驟414)。由於該故障硬體部件被關閉,該POST常式可成功完成(步驟416)而不需要技術人員實體更換該損壞部件。
該範例常式使電腦系統100得以復原,藉由關閉故障硬體部件,例如損壞的CPU、記憶體或PCIe附加卡,使電腦系統100正確啟動。此一情形使電腦系統100隨後得以成功啟動,並消除了當前對實體移除或替換該故障硬體部件的需求。該範例常式具有三個部分:分類故障硬體部件、藉由關閉故障硬體部件復原該電腦系統、及BMC 130通知BIOS 134防止對任何故障硬體部件的存取。BIOS 134接著可成功將電腦系統100開機,並完成該POST常式。
對該故障硬體部件的偵測,有賴於BMC 130管理的系統錯誤記錄136的分類。例如,處理器損壞通常導致處理器內部錯誤(IERR)或災難性錯誤(CATERR)被記錄,而記憶體損壞導致無法修正的錯誤、訓練失敗或機器檢查架構(MCA)錯誤被記錄。
電腦系統100在隨後的開機常式中的復原,是經由關閉啟動時偵測到的每一故障硬體部件而達成。不同的硬體部件需要不同的關閉程序,每一種硬體部件有其專用程序。例如,若CPU的核心故障,則BIOS 134傳送一16進位字元的核心禁用位元映像(core disable bitmap),以關閉該CPU中的該(等)故障核心。此一位元映像可被提供,其中每一位元代表CPU中的一核心。例如,若一CPU具有八個核心,則該八個核心的位元映像會指示該等核心中何者故障。如下文所述,BMC 130傳送一OEM(原始設備製造商)IPMI(智慧型平台管理介面)指令至BIOS 134,以關閉該位元映像中識別的故障核心。因此,在具有多個CPU的系統中(其中每一CPU具有多個核心),每一CPU的對應位元映像可被提供,且個別的故障核心可被識別。藉由提供插槽及通道資料,以致能一16進位字元位元遮罩(bitmask)中代表故障記憶體裝置的一位元,可關閉該記憶體裝置。例如,一CPU可具有多個通道。每一通道使該CPU得以存取多個DIMM。個別的DIMM具有一系列層級(ranks)。該位元遮罩可被設定以通道及層級指示該故障記憶體裝置。如下文所述,BMC 130傳送一OEM IPMI指令至BIOS 134,以關閉該位元遮罩中識別的故障記憶體裝置。擴充卡(例如擴充插槽126中安裝者)可藉由關閉PCIe根埠(root port)而關閉。
BMC 130基於SEL 136中的資訊,過濾出該等故障硬體部件。BMC 130可經由GPIO接腳162傳送一訊號,以通知BIOS 134避免使用該故障硬體部件,並關閉該故障硬體部件。
第5圖為一流程圖500,顯示範例啟動常式,其可藉由第2圖中的BMC 130、PCH 116及BIOS記憶體裝置134之間的互動,識別並避開故障硬體部件。第2圖中的電腦系統100被開機(步驟510)。該常式遭遇電腦系統100無法正確開機的情況,例如BIOS運作時有硬體部件故障、或發生災難性錯誤(步驟512)。該常式隨後檢查系統事件記錄136是否指示來自一故障硬體部件的錯誤(步驟514)。該常式藉由已記錄的錯誤,決定系統事件記錄136是否指示至少一特定故障硬體部件(步驟516)。例如,該等已記錄錯誤可包括CPU的IERR/CATERR、記憶體裝置的MCE錯誤或記憶體訓練失敗、或PCIe裝置的PCIe資源耗盡(out-of-resource)錯誤。
若發現損壞部件(步驟516),則BMC 130儲存當前BIOS設定於構成BMC記憶體裝置的BMC自存(self-storage)中(步驟518)。隨後BMC 130使用OEM IPMI遠端指令,傳送關於損壞部件的資料至BIOS 134(步驟520)。該已儲存遠端指令包括對該故障硬體部件(例如CPU、DIMM或附加卡)而言合適的資料。BMC 130亦設定GPIO接腳162,使其傳送一有效訊號(assert signal)至PCH 116(步驟522)。BIOS記憶體裝置134自PCH 116偵測該GPIO有效訊號(步驟524)。BIOS記憶體裝置134隨後自BMC 130寫入該故障硬體部件的資料至BIOS記憶體裝置134的NVRAM區塊156(步驟526)。該常式隨後開始開機週期,包括具有已調整的BIOS的POST常式,該已調整BIOS基於儲存於NVRAM區塊156中的資料關閉該故障硬體部件。該常式隨後檢查電腦系統100是否可於該開機週期後正確開機(步驟528)。若開機常式成功,則該常式到達POST常式的結束(步驟530)。若開機未能正確進行(步驟528)或BMC 130無法找出特定故障硬體部件(步驟516),則系統將認定當機原因為其他關聯於韌體、主機板或未知的問題(步驟532)。
當技術人員開啟電腦系統100的機殼,並替換故障硬體部件時,BMC 130可使用SEL 136中的機殼開啟事件,對電腦系統100進行檢查。在此範例中,電腦系統100將由關閉NVRAM 156區塊中的故障硬體部件的已調整BIOS設定,切換至原先儲存的BIOS設定,以正常重啟電腦系統100。
範例系統100亦具有重試機制。因此,若該範例常式關閉某些故障硬體部件,則該重試機制將嘗試開機數次。若重試失敗數次,則電腦系統100將認定當機原因為其他關聯於韌體、主機板或未知的問題。
第6圖為一常式600的範例,其為另一範例常式,允許電腦系統100進行啟動程序,該啟動程序負責處理機殼開啟的情形(此時技術人員替換部件)以及重試機制。第2圖中的電腦系統100首先被開機(步驟610)。該常式遭遇電腦系統100無法正確開機並當機的情況(步驟612)。當當機發生時,發生故障彈性啟動2(FRB-2)逾時,且當前BIOS設定被儲存於BMC 130。在此範例中,當前BIOS設定為使用者定義的預設BIOS設定。一般而言,BIOS的已調整選項儲存於NVRAM中。當電腦系統100進行交流電(AC)或直流電(DC)開機週期時,BIOS設定選單的選項仍被儲存。當除錯程序,例如對新的BIOS晶片進行的刷機(flashing)發生時,BIOS設定會回復(roll back)至初始設定,使用者必須提供先前調整的BIOS設定選項。在此範例中,該等已調整BIOS設定選項被儲存為使用者定義的預設BIOS設定。
在重新啟動時(步驟610),該常式分析系統事件記錄136,以決定來自故障硬體部件的任何錯誤(步驟614)。該常式決定資訊記錄136是否指示至少一故障硬體部件(步驟616)。BMC 130隨後決定電腦系統100的機殼是否被開啟(步驟618)。隨後,開啟的機殼指示技術人員已替換該故障硬體部件。若機殼已被開啟(步驟618),則BMC 130關閉GPIO接腳162(步驟620)。BMC 130傳送一「載入使用者預設BIOS設定」指令至BIOS 134(步驟622)。BIOS記憶體裝置134會使用來自BMC 130的該已載入使用者預設BIOS設定進行開機週期常式(步驟624)。以此方式,該使用者預設BIOS設定被儲存及載入,避免了先前系統中使用者設定BIOS的需求。因此,若使用者改變了大量的BIOS設定選項,則儲存該使用者預設BIOS設定可避免資料中心內的冗長程序。
該常式隨後決定電腦系統100是否可開機(步驟626)。若電腦系統100成功開機,則POST常式結束(步驟628)。隨後作業系統可運作(步驟630)。若電腦系統100無法開機,則該常式回到開機程序(步驟610)。
若機殼未被開啟,則BMC 130傳送一OEM IPMI遠端指令,以傳送該對應故障硬體部件的資料(步驟632)。BMC 130儲存該故障硬體部件的資料於BMC記憶體裝置134中(步驟634)。BMC 130亦設定GPIO輸出之一傳送一有效訊號(步驟636)。當該GPIO有效訊號被接收時,BIOS記憶體裝置134自BMC 130讀取該故障硬體部件的資料(步驟638)。該常式隨後開始開機週期,包括具有已調整BIOS的POST常式,其中該已調整BIOS基於併入該故障硬體部件資料的已調整設定選項,關閉該故障硬體部件。該常式隨後檢查電腦系統100是否可於該開機週期後正確開機(步驟640)。若開機常式成功,則該常式到達POST常式的結束(步驟630)。
若開機未能正確進行(步驟640),則電腦系統100會重試數次,以試圖進行一次正確的開機週期(步驟642)。若該等開機週期中有一次成功,則BMC 130關閉GPIO接腳162,並進行開機週期常式(步驟644)。若該等重試未能造成一次成功開機,則電腦系統100將認定當機原因為其他關聯於韌體、主機板或未知的問題(步驟646)。
第5圖及第6圖中的流程圖代表範例機器可讀指令,用以使POST常式得以成功完成,即使第2圖中的電腦系統100具有故障硬體部件。在此範例中,該機器可讀指令包括一演算法,供下列裝置執行:(a)一處理器;(b)一控制器:及/或(c)一個或多個其他合適的處理裝置。該演算法可以儲存於有形媒體(例如快閃記憶體、CD-ROM、軟碟、DVD或其他記憶裝置)的軟體實施。然而,於本發明所屬領域具通常技藝之人可輕易認識到,該演算法整體及/或部分亦可以處理器以外的裝置執行,及/或以韌體或專用硬體以習知方式實施(例如其可以特定應用積體電路(ASIC)、可程式化邏輯裝置(PLD)、現場可程式化邏輯裝置(FPLD)、現場可程式化邏輯閘陣列(FPGA)、離散邏輯閘等實施)。例如,任何或所有該等介面的部件可以軟體、硬體及/或韌體實施。又,部分或全部由該等流程圖代表的機器可讀指令可以人工實施。更進一步地,儘管該範例演算法乃參照第5圖及第6圖中的流程圖而敘述,然而於本發明所屬領域具通常技藝之人可輕易認識到,多種其他實施該等範例機器可讀指令的方法亦可使用。例如,可改變各方塊的執行順序,及/或部分所述方塊可被改變、除去或合併。
上文揭露的原理可避免立即替換硬體部件的冗長程序,以避免產生電腦系統的停機時間。該範例常式使電腦系統得以運作而不減低效能,並提供技術人員遠端除錯資訊。
本專利申請文件中所使用的「部件」、「模組」、「系統」或相似詞彙,一般而言係指稱一電腦相關實體,其可能為硬體(例如電路)、硬體及軟體之組合、軟體、或關聯於一運作機器的實體,該運作機器具有一種或多種特定功能。例如,一部件可能但不限定為運作於一處理器(例如數位訊號處理器)上的一程序、一處理器、一物件、一執行檔、一執行緒、一程式、及/或一電腦。舉例而言,在一控制器上運行的一應用程式及該控制器皆可為一部件。一個或多個部件可能位於一程序及/或一執行緒內,且一部件可能位於一電腦內及/或分布在二個或更多電腦之間。更進一步地,一「裝置」可以特定設計的硬體、特定化的通用硬體(經由在該硬體上執行軟體,使該硬體得以進行特定功能)、儲存於電腦可讀媒體上的軟體、或上述各種實體之組合的形式實施。
儘管上文敘述了本發明的多個實施例,然而應注意,該等實施例之呈現僅作為範例之用,而非限制。儘管本發明的一種或多種實施已被圖式及敘述,然而於本發明所屬領域具技術之人當可於閱讀並理解本說明書及附隨之圖式後,知悉等效之改造或改良。此外,儘管本發明的一特定特徵可能僅揭露於數種實施中之一,然而若對於任何給定或特定之應用為所欲或有利,則該特徵亦可與一種或多種其他實施中的其他特徵合併。因此,本發明的廣度及範圍不應限定於任何前述實施例之中。反之,本發明的範圍應依據下列請求項及其等效敘述而定義。
本說明書中使用的詞彙,僅是為了敘述特定實施例,而非意圖限制本發明。除非文中另有指稱,否則本說明書中使用的單數詞彙「一」、「一個」及「該」亦意圖包括複數詞彙。此外,於「實施方式」及/或請求項中使用的「包括」、「包含」、「具有」、「有」等詞彙,乃意圖指稱開放式(inclusive)意涵,與「含有」(comprising)一詞相若。
除非另有定義,否則本說明書中使用的所有詞彙(包括技術及科學詞彙)之意義皆與本發明所屬領域具通常技術之人所普遍知悉之意義相同。此外,各詞彙,例如於常用辭典中有定義者,除非於本說明書中有明確定義,否則其意義應解讀為與其在相關技術脈絡中之意義一致者,而不應以理想化或過度正式之方式解讀。
10, 12, 14, 16, 18, 20, 22:步驟 100:電腦系統 110, 112:中央處理單元(CPU) 114:雙列直插式記憶體模組(DIMM) 116:平台路徑控制器(PCH) 120:序列先進技術附件(SATA)裝置 122:開放運算計劃(OCP)裝置 124:通用序列匯流排(USB)裝置 126:高速外設組件互連標準(PCIe)裝置 130:基板管理控制器(BMC) 132:BMC記憶體裝置 134:BIOS記憶體裝置 136:系統事件記錄(SEL) 138:感測器資料記錄 140:BMC現場替換單元(FRU)資訊記錄 150:BIOS映像 152:啟動區塊 154:主要區塊 156:非揮發性隨機存取記憶體(NVRAM)區塊 158:管理引擎(ME)區塊 160:通道 162:通用輸入/輸出(GPIO)接腳 310, 312, 314, 316:步驟 410, 412, 414, 416:步驟 510-532:步驟 610-646:步驟
下文之範例實施例敘述,於參照附隨之圖式一同閱讀後,可達對本揭露較佳之理解。其中: 第1圖為一流程圖,顯示一先前技術之常式,用於關閉電腦系統,以供故障排除之用; 第2圖為一方塊圖,顯示一範例電腦系統,具有一常式,允許關閉部件而非關閉系統; 第3圖為一流程圖,顯示進行錯誤分析時,用以維持第2圖所示的範例電腦系統運作的一般程序; 第4圖為一流程圖,顯示啟動常式程序,用以在系統當機後關閉第2圖所示的電腦系統中的部件; 第5圖為一流程圖,顯示關閉部件的程序,使POST常式得以成功執行;以及 第6圖為一流程圖,顯示重新啟動電腦系統的程序,使關閉部件或替換部件得以進行。
本揭露可具有多種改良及替換形式。部分代表實施例已作為範例顯示於圖式中,並將於本說明書中詳述。然而,應注意,本發明並非意圖限制於已揭露的特定形式。反之,本揭露乃意圖涵蓋落於本發明精神及範圍內的所有改良物、等效物及替換物,該精神及範圍如附錄之請求項所定義。
100:電腦系統
110,112:中央處理單元(CPU)
114:雙列直插式記憶體模組(DIMM)
116:平台路徑控制器(PCH)
120:序列先進技術附件(SATA)裝置
122:開放運算計劃(OCP)裝置
124:通用序列匯流排(USB)裝置
126:高速外設組件互連標準(PCIe)裝置
130:基板管理控制器(BMC)
132:BMC記憶體裝置
134:BIOS記憶體裝置
136:系統事件記錄(SEL)
138:感測器資料記錄
140:BMC現場替換單元(FRU)資訊記錄
150:BIOS映像
152:啟動區塊
154:主要區塊
156:非揮發性隨機存取記憶體(NVRAM)區塊
158:管理引擎(ME)區塊
160:通道
162:通用輸入/輸出(GPIO)接腳

Claims (9)

  1. 一種電腦系統,該系統可避免因故障部件而導致的關機,該系統包括: 一管理控制器,儲存一系統錯誤記錄; 多個硬體部件,每一硬體部件與該管理控制器通訊; 一基本輸入/輸出系統(BIOS),包括一啟動常式,被配置為當所有該等硬體部件皆可運作時成功完成,該BIOS可運作以: 決定該系統錯誤記錄中記錄自該等硬體部件之一的一錯誤; 關閉對應於該記錄錯誤的該硬體部件; 調整該啟動常式,以避開該已關閉硬體部件;以及 完成一開機自我檢測常式。
  2. 如請求項1之系統,其中該BIOS包括一非揮發性隨機存取記憶體(NVRAM),被配置為儲存一指令,用以關閉該硬體部件。
  3. 如請求項1之系統,其中: 該管理控制器被配置為於該硬體部件被關閉之前儲存該BIOS的一映像,該BIOS包括該等硬體部件之設定; 該管理控制器被配置為偵測一機殼開啟事件;以及 該管理控制器被配置為當該機殼開啟事件被偵測時,載入該已儲存BIOS映像; 其中該已儲存BIOS映像被使用於該啟動常式。
  4. 如請求項1之系統,其中該管理控制器傳送一訊號至一通用輸入/輸出(GPIO)接腳,以啟用該BIOS關閉該硬體部件。
  5. 一種啟動電腦系統的方法,該電腦系統具有多個硬體部件,該方法包括: 使用一基本輸入/輸出系統(BIOS)的一啟動常式,分析一管理控制器的一系統錯誤記錄,以決定記錄自該等硬體部件之一的一錯誤; 關閉對應於該記錄錯誤的該硬體部件; 調整該啟動常式,以避開該已關閉硬體部件;以及 完成一開機自我檢測常式。
  6. 如請求項5之方法,其中該BIOS包括一非揮發性隨機存取記憶體(NVRAM),被配置為儲存一指令,用以關閉該硬體部件。
  7. 如請求項5之方法,更包括: 於關閉該硬體部件之前儲存該BIOS的一映像,該BIOS包括該等硬體部件; 偵測一機殼開啟事件;以及 當該機殼開啟事件被偵測時,載入該已儲存BIOS映像; 其中該已儲存BIOS映像被使用於該啟動常式。
  8. 如請求項5之方法,其中該管理控制器傳送一訊號至一通用輸入/輸出(GPIO)接腳,以啟用該BIOS關閉該硬體部件。
  9. 一種電腦伺服器,包括: 一處理器; 一系列雙列直插式記憶體模組; 一擴充卡; 一基板管理控制器,耦接至該處理器、該等雙列直插式記憶體模組、及該擴充卡,該基板管理控制器被配置為儲存一系統錯誤記錄,該系統錯誤記錄具有一錯誤,對該處理器、記憶體模組或擴充卡中至少之一記錄; 一基本輸入/輸出系統(BIOS),包括一啟動常式,該啟動常式當所有該等硬體部件皆可運作時成功完成,該BIOS可運作以: 決定該系統錯誤記錄中記錄自該處理器、該雙列直插式記憶體模組及該擴充卡中之一的一錯誤; 關閉對應於該記錄錯誤的該處理器、雙列直插式記憶體模組或擴充卡; 調整該啟動常式,以避開該已關閉處理器、雙列直插式記憶體模組或擴充卡;以及 完成一開機自我檢測常式。
TW110122849A 2021-03-26 2021-06-23 電腦系統、電腦伺服器及其啟動方法 TWI779682B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/214,614 US11263083B1 (en) 2021-03-26 2021-03-26 Method and apparatus for selective boot-up in computing devices
US17/214,614 2021-03-26

Publications (2)

Publication Number Publication Date
TWI779682B TWI779682B (zh) 2022-10-01
TW202238383A true TW202238383A (zh) 2022-10-01

Family

ID=80442500

Family Applications (1)

Application Number Title Priority Date Filing Date
TW110122849A TWI779682B (zh) 2021-03-26 2021-06-23 電腦系統、電腦伺服器及其啟動方法

Country Status (3)

Country Link
US (1) US11263083B1 (zh)
CN (1) CN115129520A (zh)
TW (1) TWI779682B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI845166B (zh) 2023-02-16 2024-06-11 神雲科技股份有限公司 記憶體模組錯誤之顯示方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230102099A1 (en) * 2021-09-22 2023-03-30 Texas Instruments Incorporated Techniques for peripheral utilization metrics collection and reporting
CN117950738A (zh) * 2024-03-25 2024-04-30 深圳市磐鼎科技有限公司 显卡的自动控制方法、装置、设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI446151B (zh) * 2011-06-01 2014-07-21 Wistron Corp 電腦系統及其重新啟動方法
US9954727B2 (en) * 2015-03-06 2018-04-24 Quanta Computer Inc. Automatic debug information collection
US10127032B2 (en) * 2015-11-05 2018-11-13 Quanta Computer Inc. System and method for unified firmware management
US10541868B2 (en) * 2017-02-24 2020-01-21 Quanta Computer Inc. System and method for automatically updating bios setup options
US10806057B2 (en) * 2017-08-09 2020-10-13 Quanta Computer Inc. Multi-node system-fan-control switch
US10831606B2 (en) * 2018-09-19 2020-11-10 Hewlett Packard Enterprise Development Lp Automatic diagnostic mode to determine potential cause of boot problem
US11194589B2 (en) * 2019-01-08 2021-12-07 Dell Products L.P. Information handling system adaptive component reset
US11461178B2 (en) * 2019-05-15 2022-10-04 Dell Products L.P. System and method to prevent endless machine check error of persistent memory devices
US11513808B2 (en) * 2019-06-28 2022-11-29 Intel Corporation Automatic switching and deployment of software or firmware based USB4 connection managers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI845166B (zh) 2023-02-16 2024-06-11 神雲科技股份有限公司 記憶體模組錯誤之顯示方法

Also Published As

Publication number Publication date
CN115129520A (zh) 2022-09-30
US11263083B1 (en) 2022-03-01
TWI779682B (zh) 2022-10-01

Similar Documents

Publication Publication Date Title
WO2022160756A1 (zh) 服务器故障定位方法、装置、系统及计算机可读存储介质
WO2022198972A1 (zh) 一种服务器启动过程中的故障定位方法、系统及装置
CN107122321B (zh) 硬件修复方法、硬件修复系统以及计算机可读取存储装置
TWI754317B (zh) 用於網路裝置之最佳啟動路徑之方法和系統
US7266727B2 (en) Computer boot operation utilizing targeted boot diagnostics
CN110928743B (zh) 一种计算系统、自动诊断方法及存储有其指令的介质
US9218893B2 (en) Memory testing in a data processing system
TWI779682B (zh) 電腦系統、電腦伺服器及其啟動方法
CN110750396B (zh) 一种服务器操作系统兼容性测试方法、装置及存储介质
CN113366576A (zh) 用于存储器系统上的功率损耗操作的保持自测试
US9343181B2 (en) Memory module errors
TWI777628B (zh) 電腦系統及其專用崩潰轉存硬體裝置與記錄錯誤資料之方法
TWI777259B (zh) 開機方法
JP6911591B2 (ja) 情報処理装置、制御装置および情報処理装置の制御方法
TWI781452B (zh) 監控及復原異質性元件的系統及方法
US11620199B1 (en) Method and system for detection of post routine deviation for a network device
TWI840907B (zh) 偵測偏差的電腦系統及方法,及非暫態電腦可讀取媒體
US11742054B2 (en) Memory power fault resilience in information handling systems
TWI726434B (zh) 排除管理引擎運作異常的控制方法
Zhao Analysis of An Abnormal Start-up Problem of A Certain Testing Platform
CN114385247A (zh) 开机方法
CN117234771A (zh) 故障内存定位方法、系统、装置、计算机设备及存储介质
TW202046105A (zh) 電腦裝置與基本輸入輸出系統的檢測方法

Legal Events

Date Code Title Description
GD4A Issue of patent certificate for granted invention patent