TWI726434B - 排除管理引擎運作異常的控制方法 - Google Patents

排除管理引擎運作異常的控制方法 Download PDF

Info

Publication number
TWI726434B
TWI726434B TW108135819A TW108135819A TWI726434B TW I726434 B TWI726434 B TW I726434B TW 108135819 A TW108135819 A TW 108135819A TW 108135819 A TW108135819 A TW 108135819A TW I726434 B TWI726434 B TW I726434B
Authority
TW
Taiwan
Prior art keywords
management engine
operating
control method
abnormal state
value
Prior art date
Application number
TW108135819A
Other languages
English (en)
Other versions
TW202115577A (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 神雲科技股份有限公司
Priority to TW108135819A priority Critical patent/TWI726434B/zh
Publication of TW202115577A publication Critical patent/TW202115577A/zh
Application granted granted Critical
Publication of TWI726434B publication Critical patent/TWI726434B/zh

Links

Images

Abstract

一種排除管理引擎運作異常的控制方法包含:當一基板管理控制器接收到一遠端開機指令時,該基板管理控制器根據對應一管理引擎對應的一狀態暫存器所儲存的一數值,判斷該管理引擎是否操作在一異常狀態;當該基板管理控制器判斷該管理引擎是操作在該異常狀態時,且再判斷一心跳信號的邏輯值沒有在邏輯0與邏輯1之間跳動時,判定該管理引擎是操作在一韌體異常狀態。藉由該控制方法能夠快速且有效率地偵測出該管理引擎的一韌體發生異常,進而能夠作出對應的處理。

Description

排除管理引擎運作異常的控制方法
本發明是有關於一種控制方法,特別是指一種排除管理引擎運作異常的控制方法。
現今藉由遠端連線以操作電腦系統時,如遠端執行開機,此時,如果該電腦系統發生無法開機的情況,則使用者或管理者通常會需要耗費相當多的時間成本來進行問題分析。也就是說,現有技術在處理電腦系統無法開機時,最常用來嘗試修復系統的方法是重新燒錄系統開機所使用的唯讀記憶體(ROM)。然而,整個唯讀記憶體的容量例如為256Mb,則要重新燒錄整個唯讀記憶體所需要的時間高達約8~10分鐘,若電腦系統在這麼長的更新過程(即燒錄過程)中,又遭遇到無預警的斷電情況,這將導致更難以藉由遠端管理的方式來回復系統至正常運作的狀態。因此,習知遠端連線電腦系統的異常處理作法便存有相當多的改善空間。
因此,本發明的目的,即在提供一種有效縮短所需時間以排除管理引擎運作異常的控制方法。
於是,本發明排除管理引擎運作異常的控制方法,適用於一管理引擎(Management Engine,ME)及一基板管理控制器(Baseboard Management Controller,BMC),該控制方法包含步驟(a)~(c)。
於步驟(a),當該基板管理控制器接收到一遠端開機指令時,該基板管理控制器根據對應該管理引擎的一狀態暫存器所儲存的一數值,判斷該管理引擎是否操作在一異常狀態。
於步驟(b),當該基板管理控制器判斷該管理引擎是操作在該異常狀態時,接收來自該管理引擎輸出一心跳信號(Heartbeat)。
於步驟(c),當該基板管理控制器判斷該管理引擎是操作在該異常狀態,且再判斷該心跳信號的邏輯值沒有在邏輯0與邏輯1之間跳動時,判定該管理引擎是操作在一韌體異常狀態。
在一些實施態樣中,該控制方法還包含在步驟(c)之後的一步驟(d),當該基板管理控制器判斷該管理引擎是操作在該韌體異常狀態時,該基板管理控制器將對應一韌體的一程式碼重新燒錄在一唯讀記憶體的一預定區塊,該唯讀記憶體的該預定區塊是用來儲存對應該管理引擎的該韌體的該程式碼。
在另一些實施態樣中,其中,在步驟(a)中,該狀態暫存器是英特爾(Intel)管理引擎標準中的Intel ME firmware Status #1(MEFS1) Register,該數值是Current State欄位所儲存的值。
在一些實施態樣中,其中,在步驟(a)中,當該數值等於5時,該基板管理控制器判斷該管理引擎不是操作在該異常狀態。
在另一些實施態樣中,該控制方法還包含在步驟(b)之前的一步驟(e),藉由該管理引擎所儲存的一第一參數被設定為一第一邏輯值,使得該管理引擎輸出該心跳信號。
在一些實施態樣中,其中,在步驟(e)中,該管理引擎所儲存的一第二參數被設定為一預設數值,使得該管理引擎在對應該預設數值的一預設輸出腳位輸出該心跳信號,進而使得該基板管理控制器在對應的一預設輸入腳位接收該心跳信號。
在另一些實施態樣中,其中,在步驟(b)中,當該管理引擎不是操作在該異常狀態時,該管理引擎所輸出的該心跳信號在邏輯0與邏輯1之間跳動,且具有一週期等於1秒
本發明的功效在於:當該基板管理控制器接收到該遠端開機指令時,藉由先根據該狀態暫存器的該數值判斷該管理引擎是操作在該異常狀態,且再判斷該心跳信號是否正常,以正確判定該管理引擎是操作在該韌體異常狀態。如此一來,該基板管理控制器僅需要藉由該狀態暫存器的該數值判斷該管理引擎不是操作在該異常狀態,即大部分運作正常的情況,而不需要每次都藉由偵測該心跳信號來確定不是操作在該異常狀態,而能夠快速且有效率地偵測出該管理引擎的一韌體是否發生異常,進而能夠做出對應的處理。
在本發明被詳細描述之前,應當注意在以下的說明內容中,類似的元件是以相同的編號來表示。
參閱圖1與圖2,本發明排除管理引擎運作異常的控制方法之一實施例,適用於一第一電腦系統及一第二電腦系統。該第一電腦系統包含一基板管理控制器(Baseboard Management Controller,BMC)1、一中央處理器(CPU)3、及電連接該基板管理控制器1與該中央處理器3的一晶片組(PCH)2,該晶片組2包括一管理引擎(Management Engine,ME)21。
該第一電腦系統或該第二電腦系統例如是一電腦主機、一電腦伺服器、或類似的電腦設備。該管理引擎21例如是英特爾(Intel)管理引擎。另外,在本實施例中,該管理引擎21是設置於該晶片組2之中,且該基板管理控制器1、該晶片組2、及該中央處理器3是分別設置的硬體元件,而在其他實施例中,該晶片組2及該中央處理器3也可以整合成單一個硬體元件,如系統晶片(SoC),或者,該管理引擎21也可以是單獨設置於該晶片組2之外,例如是一個微控制器(MCU)的形式。
該控制方法包含步驟S1~S5。
於步驟S1,當該基板管理控制器1接收到來自該第二電腦系統的一遠端開機指令時,該基板管理控制器1根據該晶片組2所包含的一狀態暫存器所儲存的一數值,判斷該管理引擎21是否操作在一異常狀態。更詳細地說,該狀態暫存器是英特爾(Intel)管理引擎標準中的Intel ME firmware Status #1(MEFS1) Register,該數值是Current State欄位所儲存的值。舉例來說,當該基板管理控制器1判斷該數值等於5時,該基板管理控制器1判斷為該管理引擎21是操作在一正常狀態。而當該數值不等於5時,則判斷為操作在該異常狀態。在本實施例中,該基板管理控制器1例如包括一平台環境控制介面(Platform environment control interface,PECI)控制器,並藉由一設置於該中央處理器3與該基板管理控制器1之間的連接線4,利用該中央處理器3讀取該狀態暫存器的該數值,以獲得該數值。該連接線4是支援平台環境控制介面(PECI)的協定。而在其他實施例中,該基板管理控制器1例如不包括該平台環境控制介面PECI)控制器,並藉由設置於該基板管理控制器1與該晶片組2之間的另一連接線,讀取該狀態暫存器的該數值。該另一連接線是支援智慧平台管理匯流排(Intelligent platform management bus,IPMB)的協定。
於步驟S2,藉由將該管理引擎21所儲存的一第一參數設定為一第一邏輯值,使得該管理引擎21輸出一心跳信號(Heartbeat),且還將該管理引擎21所儲存的一第二參數設定為一預設數值,使得該管理引擎21在對應該預設數值的一預設輸出腳位(Pin)輸出該心跳信號,進而使得該基板管理控制器1在對應的一預設輸入腳位接收該心跳信號。舉例來說,該第一參數被稱作HeartBeatMgpio,並被設定為邏輯1(即該第一邏輯值)時,該管理引擎21會輸出該心跳信號,且該第二參數被設定為5(即該預設數值)時,編號為5的該預設輸出腳位輸出該心跳信號。再者,例如藉由英特爾(Intel)公司所提供的一工具程式(如spsFITC),在該管理引擎21的一韌體的開發階段,即設定該第一參數及該第二參數的數值。
於步驟S3,當該基板管理控制器1判斷該管理引擎21是操作在該異常狀態時,由於該基板管理控制器1已預先作好該預設輸入腳位與該管理引擎21的該預設輸出腳位之間的電連接,因此,該基板管理控制器1能夠接收到來自該管理引擎21輸出該心跳信號(Heartbeat)。舉例來說,當該管理引擎21不是操作在該異常狀態時,即操作在該正常狀態時,該管理引擎21所輸出的該心跳信號在邏輯0與邏輯1之間跳動,且具有一週期等於1秒。而當該管理引擎21是操作在該異常狀態時,該心跳信號例如都等於邏輯0。
於步驟S4,當該基板管理控制器1判斷該管理引擎21是操作在該異常狀態,且再判斷該心跳信號的邏輯值沒有在邏輯0與邏輯1之間跳動時,判定該管理引擎21是操作在一韌體異常狀態。換句話說,在本實施例中,該基板管理控制器1先藉由步驟S1判斷該管理引擎21是操作在該異常狀態,再於步驟S2、S3控制該管理引擎21產生並接收該心跳信號,以在步驟S4中,進一步再根據判斷該心跳信號的結果,判定該管理引擎21是否操作在該韌體異常狀態。而在其他實施例中,步驟S2、S3之其中任一者或兩者也可以被省略,使得該基板管理控制器1預設處於接收來自該管理引擎21的該心跳信號的狀態,同樣能夠達成相同的先後判斷順序。
步驟S5,當該基板管理控制器1判斷該管理引擎21是操作在該韌體異常狀態時,該基板管理控制器1將對應該韌體的一程式碼重新燒錄在一唯讀記憶體的一預定區塊,該唯讀記憶體的該預定區塊是用來儲存對應該管理引擎21的該韌體的該程式碼。也就是說,在該基板管理控制器1判斷出該管理引擎21運作異常時,該基板管理控制器1重新燒錄對應的該韌體的該程式碼,以針對該管理引擎21的該韌體異常狀態情形作出對應的解決方法。
接著,該基板管理控制器1控制該管理引擎21重新啟動,並在判斷該管理引擎21操作在該正常狀態之後,通知該基本輸入輸出系統(BIOS)執行一開機自我測試(Power On Self Test,POST)程序,並在其順利執行結束之後,完成該第一電腦系統的啟動。
更詳細地說,在本實施例中,該晶片組2還包含該唯讀記憶體,且該唯讀記憶體(如BIOS flash)是同時儲存該基本輸入輸出系統(BIOS)的程式碼與設定參數,及該管理引擎21的該韌體的該程式碼,其中,該唯讀記憶體的該預定區塊儲存該管理引擎21的該韌體的該程式碼。當該基板管理控制器1判斷該管理引擎21是操作在該韌體異常狀態時,該基板管理控制器1主動向一遠端伺服器或向一預設的伺服器下載該韌體的該程式碼,如最新的版本,並儲存至一外掛記憶體,再傳送且儲存至該預定區塊。接著,該基板管理控制器1主動控制該晶片組2重新啟動,則儲存於該預定區塊且更新後的該韌體的該程式碼就能夠被執行。
另外要特別補充說明的是,當該基板管理控制器1判斷該管理引擎21是操作在該正常狀態時,即步驟S1的另一判斷結果,該基板管理控制器1通知該基本輸入輸出系統(BIOS)執行該開機自我測試(Power On Self Test,POST)程序,並在其順利執行結束之後,完成該第一電腦系統的啟動。此外,當該基板管理控制器1判斷該管理引擎21是操作在該異常狀態但不是操作在該韌體異常狀態時,也就是該基板管理控制器1判斷該管理引擎21判斷該心跳信號的邏輯值有在邏輯0與邏輯1之間跳動時,即步驟S4的另一判斷結果,則該管理引擎21僅需要被重新啟動,例如包含該管理引擎21的該晶片組2被重啟,或獨立設置的該管理引擎21被重啟,就能重新操作在該正常狀態。
綜上所述,當該基板管理控制器接收到該遠端開機指令時,藉由先根據對應該管理引擎的該狀態暫存器的該數值判斷該管理引擎是操作在該異常狀態,且在操作在該異常狀態時,再判斷該心跳信號是否正常,以正確判定該管理引擎是操作在該韌體異常狀態。藉此,該基板管理控制器僅需要藉由該狀態暫存器的該數值判斷該管理引擎不是操作在該異常狀態,即大部分運作正常的情況,而不需要每次都藉由偵測該心跳信號來確定已操作在該正常狀態,而能夠快速且有效率地偵測出該管理引擎的該韌體是否發生異常,進而能夠做出對應的處理,故確實能達成本發明的目的。
惟以上所述者,僅為本發明的實施例而已,當不能以此限定本發明實施的範圍,凡是依本發明申請專利範圍及專利說明書內容所作的簡單的等效變化與修飾,皆仍屬本發明專利涵蓋的範圍內。
1········ 基板管理控制器 2········ 晶片組 21······· 管理引擎 3········ 中央處理器 4········ 連接線 S1~S5· 步驟  
本發明的其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中: 圖1是一方塊圖,說明本發明排除管理引擎運作異常的控制方法所適用的一第一電腦系統及一第二電腦系統;及 圖2是一流程圖,說明本發明排除管理引擎運作異常的控制方法的一實施例。
S1~S5· 步驟

Claims (7)

  1. 一種控制方法,適用於一管理引擎(Management Engine,ME)及一基板管理控制器(Baseboard Management Controller,BMC),該控制方法包含下列步驟: (a)當該基板管理控制器接收到一遠端開機指令時,該基板管理控制器根據對應該管理引擎的一狀態暫存器所儲存的一數值,判斷該管理引擎是否操作在一異常狀態; (b)當該基板管理控制器判斷該管理引擎是操作在該異常狀態時,接收來自該管理引擎輸出一心跳信號(Heartbeat);及 (c)當該基板管理控制器判斷該管理引擎是操作在該異常狀態,且再判斷該心跳信號的邏輯值沒有在邏輯0與邏輯1之間跳動時,判定該管理引擎是操作在一韌體異常狀態。
  2. 如請求項1所述的控制方法,還包含在步驟(c)之後的一步驟(d),當該基板管理控制器判斷該管理引擎是操作在該韌體異常狀態時,該基板管理控制器將對應一韌體的一程式碼重新燒錄在一唯讀記憶體的一預定區塊,該唯讀記憶體的該預定區塊是用來儲存對應該管理引擎的該韌體的該程式碼。
  3. 如請求項1所述的控制方法,其中,在步驟(a)中,該狀態暫存器是英特爾(Intel)管理引擎標準中的Intel ME firmware Status #1(MEFS1) Register,該數值是Current State欄位所儲存的值。
  4. 如請求項3所述的控制方法,其中,在步驟(a)中,當該數值等於5時,該基板管理控制器判斷該管理引擎不是操作在該異常狀態。
  5. 如請求項1所述的控制方法,還包含在步驟(b)之前的一步驟(e),藉由該管理引擎所儲存的一第一參數被設定為一第一邏輯值,使得該管理引擎輸出該心跳信號。
  6. 如請求項5所述的控制方法,其中,在步驟(e)中,該管理引擎所儲存的一第二參數被設定為一預設數值,使得該管理引擎在對應該預設數值的一預設輸出腳位輸出該心跳信號,進而使得該基板管理控制器在對應的一預設輸入腳位接收該心跳信號。
  7. 如請求項1所述的控制方法,其中,在步驟(b)中,當該管理引擎不是操作在該異常狀態時,該管理引擎所輸出的該心跳信號在邏輯0與邏輯1之間跳動,且具有一週期等於1秒。
TW108135819A 2019-10-03 2019-10-03 排除管理引擎運作異常的控制方法 TWI726434B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW108135819A TWI726434B (zh) 2019-10-03 2019-10-03 排除管理引擎運作異常的控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108135819A TWI726434B (zh) 2019-10-03 2019-10-03 排除管理引擎運作異常的控制方法

Publications (2)

Publication Number Publication Date
TW202115577A TW202115577A (zh) 2021-04-16
TWI726434B true TWI726434B (zh) 2021-05-01

Family

ID=76604392

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108135819A TWI726434B (zh) 2019-10-03 2019-10-03 排除管理引擎運作異常的控制方法

Country Status (1)

Country Link
TW (1) TWI726434B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201224728A (en) * 2010-12-14 2012-06-16 Hon Hai Prec Ind Co Ltd Power self-controlling networking device and method of controlling power
TW201626134A (zh) * 2015-01-05 2016-07-16 營邦企業股份有限公司 具有多機櫃管理模組的機櫃及其韌體更新方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201224728A (en) * 2010-12-14 2012-06-16 Hon Hai Prec Ind Co Ltd Power self-controlling networking device and method of controlling power
TW201626134A (zh) * 2015-01-05 2016-07-16 營邦企業股份有限公司 具有多機櫃管理模組的機櫃及其韌體更新方法

Also Published As

Publication number Publication date
TW202115577A (zh) 2021-04-16

Similar Documents

Publication Publication Date Title
US10055296B2 (en) System and method for selective BIOS restoration
TWI754317B (zh) 用於網路裝置之最佳啟動路徑之方法和系統
US7797526B2 (en) Service processor host flash update over LPC
US20040158702A1 (en) Redundancy architecture of computer system using a plurality of BIOS programs
TWI655582B (zh) 具有雙韌體儲存空間之伺服器及其韌體更新方法
WO2016206514A1 (zh) 启动处理方法及装置
US20130080752A1 (en) Method and apparatus for implementing compatiblity of different processors
US7984219B2 (en) Enhanced CPU RASUM feature in ISS servers
TWI668567B (zh) 伺服器及自動檢修基板管理控制器的方法
US20150154091A1 (en) Bios maintenance method
WO2021057795A1 (zh) 系统启动方法、装置、节点设备及计算机可读存储介质
TW202030602A (zh) 基本輸入/輸出系統的恢復及更新的方法及系統
US7194614B2 (en) Boot swap method for multiple processor computer systems
TWI582699B (zh) 通知開機階段的方法及伺服器系統
US20050033952A1 (en) Dynamic scheduling of diagnostic tests to be performed during a system boot process
TWI726434B (zh) 排除管理引擎運作異常的控制方法
TW201527965A (zh) Bios調試偵測系統及方法
TWI779682B (zh) 電腦系統、電腦伺服器及其啟動方法
CN114138587A (zh) 服务器电源固件升级的可靠性验证方法、装置和设备
CN113687998A (zh) 排除管理引擎运作异常的控制方法
TWI715005B (zh) 用於監控基板管理控制器之常駐程序的方法
TW202018507A (zh) 主機開機檢測方法及其系統
JP7389877B2 (ja) ネットワークの最適なブートパスの方法及びシステム
TW202034124A (zh) 重置基板管理控制器的控制方法
TWI777664B (zh) 嵌入式系統的開機方法

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees