TWI742430B - Method of recovering firmware of baseboard management controller automatically - Google Patents

Method of recovering firmware of baseboard management controller automatically Download PDF

Info

Publication number
TWI742430B
TWI742430B TW108133390A TW108133390A TWI742430B TW I742430 B TWI742430 B TW I742430B TW 108133390 A TW108133390 A TW 108133390A TW 108133390 A TW108133390 A TW 108133390A TW I742430 B TWI742430 B TW I742430B
Authority
TW
Taiwan
Prior art keywords
baseboard management
management controller
control unit
firmware
status message
Prior art date
Application number
TW108133390A
Other languages
Chinese (zh)
Other versions
TW202113590A (en
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 TW108133390A priority Critical patent/TWI742430B/en
Publication of TW202113590A publication Critical patent/TW202113590A/en
Application granted granted Critical
Publication of TWI742430B publication Critical patent/TWI742430B/en

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

A method of recovering firmware of baseboard management controller automatically is adapted to recover firmware of a baseboard management controller, and is implemented by a controlling unit that coupled to the baseboard management controller. The method includes: (A) starting to count time; (B) determining whether the controlling unit receives a status message from the baseboard management controller; (C) when the controlling unit determines that the controlling unit has received the status message, restarting timing result, and going back to step (A); (D) when the controlling unit determines that the controlling unit does not receive the status message, determining whether the timing result is bigger than a predefined time interval; (E) when the controlling unit determines that the timing result is bigger than the predefined time interval, replacing a boot loader of the baseboard management controller with a target boot loader, and restarting the baseboard management controller; (F) transmitting an abnormal notification to the baseboard management controller so as to replacing a firmware of a baseboard management controller with a target firmware.

Description

自動回復基板管理控制器之韌體的方法Method for automatically restoring firmware of substrate management controller

本發明是有關於一種韌體更新方法,特別是指一種應用於基板管理控制器的自動回復基板管理控制器之韌體的方法。The present invention relates to a method for updating firmware, in particular to a method for automatically restoring the firmware of the substrate management controller applied to the substrate management controller.

基板管理控制器(BMC,Baseboard management controller)係用以監控一電子裝置(如:伺服器)之狀態的控制器。該基板管理控制器能提供一智慧型平台管理介面(IPMI,Intelligent Platform Management Interface)來監視、控制與回報伺服器的狀態,管理者可透過IPMI進行遠端管理功能。然而當該基板管理控制器發生異常,無法透過IPMI進行控制時,即須透過工程師手動地回復該基板管理控制器的韌體,現有的韌體回復方法包含以下三種方式。A baseboard management controller (BMC) is a controller used to monitor the status of an electronic device (such as a server). The baseboard management controller can provide an intelligent platform management interface (IPMI, Intelligent Platform Management Interface) to monitor, control and report the status of the server, and the administrator can perform remote management functions through IPMI. However, when the baseboard management controller is abnormal and cannot be controlled through IPMI, engineers must manually restore the firmware of the baseboard management controller. The existing firmware recovery methods include the following three methods.

第一種方式必須在該伺服器之BIOS還可正常開機的情況下方能運作,管理者遠端控制該伺服器進行韌體更新程式以回復該基板管理控制器之韌體 。第二種方式可在該伺服器之BIOS無法正常開機的情況下運作,管理者將一電腦透過實體線路連接至該基板管理控制器之串列阜或是除錯介面,並在該電腦執行韌體更新程式以回復該基板管理控制器韌體。第三種方式也可在該伺服器之BIOS無法正常開機的情況下運作,管理者將一燒錄器透過實體線路連接至該基板管理控制器之存放有韌體的記憶體,並藉由一電腦控制該燒錄器更新該基板管理控制器之韌體。The first method must work under the condition that the BIOS of the server can be booted normally, and the administrator remotely controls the server to perform a firmware update program to restore the firmware of the baseboard management controller. The second method can work when the BIOS of the server cannot be booted normally. The administrator connects a computer to the serial port or debug interface of the baseboard management controller through a physical line, and executes the firmware on the computer. Update the program to restore the firmware of the baseboard management controller. The third method can also work when the BIOS of the server cannot be booted normally. The administrator connects a burner to the memory containing the firmware of the baseboard management controller through a physical line, and uses a The computer controls the burner to update the firmware of the baseboard management controller.

然而,上述基板管理控制器之韌體回復方法皆須藉由管理者來進行回復,且若伺服器之BIOS無法正常開機時,管理者便無法透過遠端(remote)回復該基板管理控制器韌體,必須親臨現場連接該基板管理控制器來進行回復作業,實屬不便。However, the firmware recovery methods of the above-mentioned baseboard management controller must be restored by the administrator, and if the BIOS of the server cannot be booted normally, the administrator cannot restore the firmware of the baseboard management controller remotely. Therefore, it is inconvenient to connect to the baseboard management controller in person to perform the recovery operation.

因此,本發明的目的,即在提供一種無需管理者手動修復,基板管理控制器便能自動回復韌體的方法。Therefore, the purpose of the present invention is to provide a method for the baseboard management controller to automatically restore the firmware without requiring manual repair by the administrator.

於是,本發明自動回復基板管理控制器之韌體的方法,適用於回復一基板管理控制器之韌體,並藉由一電連接該基板管理控制器之控制單元來實施,該基板管理控制器用於在載入該基板管理控制器的作業系統後,週期性地傳送一指示出該基板管理控制器正常運作的狀態訊息至該控制單元,該自動回復基板管理控制器之韌體的方法包含一步驟(A)、一步驟(B) 、一步驟(C) 、一步驟(D) 、一步驟(E),以及一步驟(F)。Therefore, the method for automatically restoring the firmware of the baseboard management controller of the present invention is suitable for restoring the firmware of a baseboard management controller, and is implemented by a control unit electrically connected to the baseboard management controller. After loading the operating system of the baseboard management controller, periodically sending a status message indicating the normal operation of the baseboard management controller to the control unit, and the method of automatically restoring the firmware of the baseboard management controller includes a Step (A), one step (B), one step (C), one step (D), one step (E), and one step (F).

步驟(A)是藉由該控制單元開始進行計時。Step (A) is to start timing by the control unit.

步驟(B)是藉由該控制單元判定是否有收到一來自該基板管理控制器的狀態訊息。Step (B) is to determine whether a status message from the baseboard management controller is received by the control unit.

步驟(C)是當該控制單元判定出有收到該狀態訊息時,藉由該控制單元重置步驟(A)之計時結果,並回到步驟(A)。In step (C), when the control unit determines that the status message is received, the control unit resets the timing result of step (A) and returns to step (A).

步驟(D)是當該控制單元判定出無收到該狀態訊息時,藉由該控制單元判定步驟(A)之計時結果是否大於一預設時段。In step (D), when the control unit determines that the status message is not received, the control unit determines whether the timing result of step (A) is greater than a preset time period.

步驟(E)是當該控制單元判定出步驟(A)之計時結果大於該預設時段時,藉由該控制單元將該基板管理控制器中原有的一開機載入程式更新為一目標開機載入程式,並重新啟動該基板管理控制器。Step (E) is that when the control unit determines that the timing result of step (A) is greater than the preset time period, the control unit updates an original boot loader in the baseboard management controller to a target boot load. Enter the program and restart the baseboard management controller.

步驟(F)是藉由該控制單元傳送一指示出基板管理控制器運作異常的異常通知至該基板管理控制器,以使該基板管理控制器在執行更新後之該目標開機載入程式,且收到該異常通知後,下載一目標韌體並將其原有的韌體更新為該目標韌體。Step (F) is to send an abnormal notification indicating the abnormal operation of the baseboard management controller to the baseboard management controller by the control unit, so that the baseboard management controller executes the updated target boot loader, and After receiving the abnormal notification, download a target firmware and update its original firmware to the target firmware.

本發明的另一目的,即在提供一種無需管理者手動修復,基板管理控制器便能自動回復韌體的方法。Another object of the present invention is to provide a method for the baseboard management controller to automatically restore the firmware without requiring manual repair by the administrator.

於是,本發明自動回復基板管理控制器之韌體的方法,藉由一基板管理控制器來實施,該基板管理控制器電連接一控制單元,該方法包含一步驟(A)、一步驟(B) 、一步驟(C),以及一步驟(D)。Therefore, the method for automatically restoring the firmware of the baseboard management controller of the present invention is implemented by a baseboard management controller that is electrically connected to a control unit. The method includes one step (A) and one step (B). ), one step (C), and one step (D).

步驟(A)是藉由該基板管理控制器執行一開機載入程式。Step (A) is to execute a boot loader program by the baseboard management controller.

步驟(B)是藉由該基板管理控制器判定是否有接收到一來自該控制單元的異常通知,其中,該異常通知係由該控制單元在超過一預設時段未接收到一指示出該基板管理控制器正常運作的狀態訊息時,由該控制單元所產生之指示出基板管理控制器運作異常的通知。Step (B) is to use the substrate management controller to determine whether an abnormal notification from the control unit has been received, wherein the abnormal notification is caused by the control unit not receiving an indication that the substrate has not been received within a predetermined period of time. When managing the status message of the normal operation of the controller, a notification generated by the control unit indicating the abnormal operation of the baseboard management controller.

步驟(C)是當該基板管理控制器判定出有收到來自該控制單元的該異常通知時,該基板管理控制器下載一目標韌體。Step (C) is that when the baseboard management controller determines that it has received the abnormal notification from the control unit, the baseboard management controller downloads a target firmware.

步驟(D)是藉由該基板管理控制器將其原有的韌體更新為該目標韌體。Step (D) is to update the original firmware of the baseboard management controller to the target firmware.

本發明的功效在於:藉由該控制單元根據是否有收到來自該基板管理控制器的該狀態訊息,並計算計時結果,當計時結果大於該預設時段時,該控制單元將該基板管理控制器中原先的開機載入程式更新為該目標開機載入程式,並重新啟動該基板管理控制器及傳送該異常通知至該基板管理控制器,以使該基板管理控制器在無需管理者進行控制的情況下,便能將其原有的韌體更新為該目標韌體並回復正常運作。The effect of the present invention is that the control unit calculates the timing result according to whether the status message from the baseboard management controller is received, and when the timing result is greater than the preset time period, the control unit controls the baseboard management The original boot loader in the device is updated to the target boot loader, and the baseboard management controller is restarted and the abnormal notification is sent to the baseboard management controller, so that the baseboard management controller does not need to be controlled by the manager In the case of, the original firmware can be updated to the target firmware and normal operation can be restored.

參閱圖1,本發明自動回復基板管理控制器之韌體的方法之一實施例係藉由一韌體更新系統100來實施,該韌體更新系統100包含一控制單元1、一電連接該控制單元1的基板管理控制器2、一電連接該控制單元1及該基板管理控制器2的開關單元3,以及一經由一通訊網路200與該基板管理控制器2連接的伺服端4。Referring to FIG. 1, an embodiment of the method for automatically restoring the firmware of the baseboard management controller of the present invention is implemented by a firmware update system 100. The firmware update system 100 includes a control unit 1 and an electrical connection to the control unit. The baseboard management controller 2 of the unit 1, a switch unit 3 electrically connected to the control unit 1 and the baseboard management controller 2, and a server terminal 4 connected to the baseboard management controller 2 via a communication network 200.

該基板管理控制器2包含一基板管理控制單元21及一基板端記憶單元22。其中,該基板端記憶單元22儲存有一可被該基板管理控制單元21執行之韌體,該基板端記憶單元22所儲存之韌體包含與載入該基板管理控制器2的作業系統及初始化硬體有關的一開機載入程式(BootLoader)、該基板管理控制器2的作業系統核心,及一檔案系統等。The substrate management controller 2 includes a substrate management control unit 21 and a substrate end memory unit 22. Wherein, the substrate-side memory unit 22 stores a firmware that can be executed by the substrate management control unit 21, and the firmware stored in the substrate-side memory unit 22 includes and loads the operating system and initialization hardware of the substrate management controller 2 It includes a boot loader (BootLoader), the core of the operating system of the baseboard management controller 2, and a file system.

該開關單元3係電連接於該控制單元1、該基板管理控制單元21及該基板端記憶單元22,並受該控制單元1之控制而導通該控制單元1與該基板端記憶單元22之連接,或導通該基板管理控制單元21與該基板端記憶單元22之連接。在本實施例中,該開關單元3係透過SPI介面 (Serial Peripheral Interface)分別與該控制單元1、該基板管理控制單元21及該基板端記憶單元22進行資訊傳遞。The switch unit 3 is electrically connected to the control unit 1, the substrate management control unit 21, and the substrate end memory unit 22, and is controlled by the control unit 1 to conduct the connection between the control unit 1 and the substrate end memory unit 22 , Or conduct the connection between the substrate management control unit 21 and the substrate end memory unit 22. In this embodiment, the switch unit 3 communicates information with the control unit 1, the substrate management control unit 21, and the substrate-side memory unit 22 respectively through an SPI interface (Serial Peripheral Interface).

該伺服端4儲存有相關於該基板管理控制器2的一目標韌體。在該實施例中,該伺服端4之實施態樣例如為一個人電腦、一伺服器或一雲端主機,但不以此為限。此外,該目標韌體同樣包含與載入該基板管理控制器2的作業系統及初始化硬體有關的該開機載入程式(BootLoader)、該基板管理控制器2的作業系統核心,及該檔案系統等。在其他實施方式中,該目標韌體也可包含該基板管理控制器2的作業系統核心,及該檔案系統等,而不包含該開機載入程式(BootLoader)。The server 4 stores a target firmware related to the baseboard management controller 2. In this embodiment, the implementation mode of the server 4 is, for example, a personal computer, a server, or a cloud host, but it is not limited to this. In addition, the target firmware also includes the bootloader (BootLoader) related to the operating system loaded into the baseboard management controller 2 and the initialization hardware, the operating system core of the baseboard management controller 2, and the file system Wait. In other embodiments, the target firmware may also include the operating system core of the baseboard management controller 2 and the file system, but not the bootloader.

該控制單元1儲存有一目標開機載入程式,該目標開機載入程式例如為,可由該基板管理控制器2正常執行且與載入該基板管理控制器2的作業系統及初始化硬體有關的一開機載入程式(BootLoader)。此外,該控制單元1之實施態樣例如為一複雜可程式邏輯裝置2(Complex Programmable Logic Device,簡稱CPLD),但不以此為限。The control unit 1 stores a target boot loader. The target boot loader is, for example, one that can be normally executed by the baseboard management controller 2 and is related to the operating system loaded into the baseboard management controller 2 and the initialization hardware. Boot Loader (BootLoader). In addition, the implementation of the control unit 1 is, for example, a complex programmable logic device 2 (Complex Programmable Logic Device, CPLD for short), but it is not limited to this.

值得特別說明的是,在該實施例中,該控制單元1透過多個與該基板管理控制器2電連接之通用型之輸入輸出接腳(GPIO,General-purpose input/output)來傳送訊號。特別地,該控制單元1係透過該等通用型之輸入輸出接腳之其中一第一通用型之輸入輸出接腳傳送一重啟訊號至該基板管理控制器2,以使該基板管理控制器2重新啟動。另,該控制單元1係透過該等通用型之輸入輸出接腳之其中一第二通用型之輸入輸出接腳傳送一通知訊號至該基板管理控制器2。其中,該通知訊號之訊號值可指示出該基板管理控制器2之運作是否異常。此外,該控制單元1係透過一與該開關單元3電連接的第三通用型之輸入輸出接腳傳送一切換訊號至該開關單元3,以切換該開關單元3之導通模式。其中,該切換訊號之訊號值可指示出導通該控制單元1與該基板端記憶單元22之連接,或導通該基板管理控制單元21與該基板端記憶單元22之連接。再者,該控制單元1還透過內部整合電路(Inter-Integrated Circuit,簡稱I²C)介面與該基板管理控制器2進行資訊傳遞,例如,該基板管理控制單元21傳送指示出該基板管理控制器2正常運作的一狀態訊息至該控制單元1。It is worth noting that in this embodiment, the control unit 1 transmits signals through a plurality of general-purpose input/output pins (GPIO) electrically connected to the baseboard management controller 2. In particular, the control unit 1 transmits a restart signal to the baseboard management controller 2 through one of the first universal input/output pins of the universal input/output pins, so that the baseboard management controller 2 Restart. In addition, the control unit 1 transmits a notification signal to the baseboard management controller 2 through one of the second universal input/output pins of the universal input/output pins. The signal value of the notification signal can indicate whether the operation of the baseboard management controller 2 is abnormal. In addition, the control unit 1 transmits a switching signal to the switch unit 3 through a third universal input/output pin electrically connected to the switch unit 3 to switch the conduction mode of the switch unit 3. The signal value of the switching signal can indicate that the connection between the control unit 1 and the substrate-side memory unit 22 is turned on, or the connection between the substrate management control unit 21 and the substrate-side memory unit 22 is turned on. Furthermore, the control unit 1 also communicates information with the baseboard management controller 2 through an Inter-Integrated Circuit (I²C) interface. For example, the baseboard management control unit 21 sends instructions to the baseboard management controller 2 A status message of normal operation is sent to the control unit 1.

以下將配合所附圖式來說明利用該韌體更新系統100所實施的本發明自動回復基板管理控制器之韌體的方法之實施例,本實施例依序包含有一正常運行程序、一監控程序及一判定更新程序。The following will describe an embodiment of the method for automatically restoring the firmware of a baseboard management controller of the present invention implemented by the firmware update system 100 in conjunction with the accompanying drawings. This embodiment sequentially includes a normal running program and a monitoring program. And a decision update procedure.

參閱圖1與圖2,該基板管理控制器2實施本發明自動回復基板管理控制器之韌體的方法之正常運行程序。該正常運行程序說明了該基板管理控制器2在載入該基板管理控制器2的作業系統並正常運作時所進行之程序,並包含下列步驟。1 and 2, the baseboard management controller 2 implements the normal operation procedure of the method for automatically recovering the firmware of the baseboard management controller of the present invention. The normal operation procedure describes the procedure performed by the baseboard management controller 2 when loading the operating system of the baseboard management controller 2 and operating normally, and includes the following steps.

在步驟51中,該基板管理控制單元21執行智慧型平台管理介面(IPMI)指令週期性地傳送指示出該基板管理控制器2正常運作的該狀態訊息至該控制單元1。In step 51, the baseboard management control unit 21 executes an intelligent platform management interface (IPMI) command to periodically send the status message indicating the normal operation of the baseboard management controller 2 to the control unit 1.

參閱圖1與圖3,該韌體更新系統100實施本發明自動回復基板管理控制器之韌體的方法之監控程序。該監控程序說明了該控制單元1如何監控該基板管理控制器2之運作是否異常,並包含下列步驟。1 and 3, the firmware update system 100 implements the monitoring program of the method for automatically recovering the firmware of the baseboard management controller of the present invention. The monitoring program explains how the control unit 1 monitors whether the operation of the baseboard management controller 2 is abnormal, and includes the following steps.

在步驟61中,該控制單元1開始進行計時。In step 61, the control unit 1 starts timing.

在步驟62中,該控制單元1判定是否有收到來自該基板管理控制器2的該狀態訊息。當該控制單元1判定出有收到該狀態訊息時,進行流程步驟63;當該控制單元1判定出沒有收到該狀態訊息時,進行流程步驟64。In step 62, the control unit 1 determines whether the status message from the baseboard management controller 2 has been received. When the control unit 1 determines that the status message has been received, the process step 63 is performed; when the control unit 1 determines that the status message is not received, the process step 64 is performed.

在步驟63中,該控制單元1重置計時結果,且將該第二通用型之輸入輸出接腳輸出的該通知訊號之訊號值設為指示出該基板管理控制器2運作正常,並回到流程步驟61。值得特別說明的是,在本實施方式中,該控制單元1係透過該第二通用型之輸入輸出接腳輸出之通知訊號的訊號值來指示出該基板管理控制器2運作正常。然而,在本發明之其他實施方式中,該控制單元1亦可藉由僅在該基板管理控制器2運作異常時透過其他傳輸介面傳送異常通知至該基板管理控制器2,而在該基板管理控制器2運作正常時不傳送任何通知至該基板管理控制器2。In step 63, the control unit 1 resets the timing result, and sets the signal value of the notification signal output by the second universal input/output pin to indicate that the baseboard management controller 2 is operating normally, and returns to Process step 61. It is worth noting that in this embodiment, the control unit 1 indicates that the baseboard management controller 2 is operating normally through the signal value of the notification signal output by the second universal input/output pin. However, in other embodiments of the present invention, the control unit 1 can also send an abnormal notification to the substrate management controller 2 through other transmission interfaces only when the substrate management controller 2 is operating abnormally. When the controller 2 is operating normally, no notification is sent to the baseboard management controller 2.

在步驟64中,該控制單元1判定計時結果是否大於一預設時段。當該控制單元1判定出計時結果不大於該預設時段時,回到流程步驟62,以繼續進行計時;當該控制單元1判定出計時結果大於該預設時段時(表示該基板管理控制器2已經無法正常運作),進行流程步驟65。值得特別說明的是,該預設時段須大於自該基板管理控制器2從該伺服端4下載且更新該目標韌體,且進行開機並載入該基板管理控制器2的作業系統,到執行IPMI指令初次發出該狀態訊息所需之時間。In step 64, the control unit 1 determines whether the timing result is greater than a preset time period. When the control unit 1 determines that the timing result is not greater than the preset time period, it returns to step 62 to continue timing; when the control unit 1 determines that the timing result is greater than the preset time period (indicating that the baseboard management controller 2 has not been able to operate normally), proceed to process step 65. It is worth noting that the preset period of time must be longer than when the baseboard management controller 2 downloads and updates the target firmware from the server 4, and starts up and loads the operating system of the baseboard management controller 2 until execution The time required for the IPMI command to issue the status message for the first time.

在步驟65中,該控制單元1將該第三通用型之輸入輸出接腳輸出的該切換訊號之訊號值設為指示出導通該控制單元1與該基板端記憶單元22之連接,以使該開關單元3導通該控制單元1與該基板端記憶單元22之連接。In step 65, the control unit 1 sets the signal value of the switching signal output by the third universal input/output pin to indicate that the connection between the control unit 1 and the substrate-side memory unit 22 is turned on, so that the The switch unit 3 conducts the connection between the control unit 1 and the substrate-side memory unit 22.

在步驟66中,該控制單元1將該基板端記憶單元22原本所儲存之開機載入程式更新為該目標開機載入程式。In step 66, the control unit 1 updates the boot loader originally stored in the substrate-side memory unit 22 to the target boot loader.

在步驟67中,該控制單元1將該第三通用型之輸入輸出接腳輸出的該切換訊號之訊號值設為指示出導通該基板管理控制單元21與該基板端記憶單元22之連接,以使該開關單元3導通該基板管理控制單元21與該基板端記憶單元22之連接。In step 67, the control unit 1 sets the signal value of the switching signal output by the third universal input/output pin to indicate that the connection between the substrate management control unit 21 and the substrate end memory unit 22 is turned on, so as to The switch unit 3 is turned on between the substrate management control unit 21 and the substrate-side memory unit 22.

在步驟68中,該控制單元1透過該第一通用型之輸入輸出接腳傳送該重啟訊號至該基板管理控制器2,以使該基板管理控制器2重新啟動。In step 68, the control unit 1 transmits the restart signal to the baseboard management controller 2 through the first universal input/output pin, so that the baseboard management controller 2 is restarted.

在步驟69中,該控制單元1將該第二通用型之輸入輸出接腳輸出的該通知訊號之訊號值設為指示出該基板管理控制器2運作異常,以傳送指示出該基板管理控制器2運作異常的異常通知至該基板管理控制器2,並回到步驟61。值得特別說明的是,在本實施方式中,該控制單元1係透過該第二通用型之輸入輸出接腳輸出之通知訊號的訊號值來指示出該基板管理控制器2是否運作異常,然而,在本發明之其他實施方式中,該控制單元1亦可透過其他傳輸介面來傳送指示出該基板管理控制器2運作異常的異常通知至該基板管理控制器2。In step 69, the control unit 1 sets the signal value of the notification signal output by the second universal input/output pin to indicate that the BMC 2 is operating abnormally, so as to send an indication to the BMC 2 The abnormal operation is notified to the baseboard management controller 2, and step 61 is returned. It is worth noting that in this embodiment, the control unit 1 indicates whether the baseboard management controller 2 is operating abnormally through the signal value of the notification signal output by the second universal input/output pin. However, In other embodiments of the present invention, the control unit 1 may also send an abnormal notification indicating the abnormal operation of the BMC 2 to the BMC 2 through other transmission interfaces.

參閱圖1與圖4,該韌體更新系統100實施本發明自動回復基板管理控制器之韌體的方法之判定更新程序。該判定更新程序說明了該基板管理控制器2如何判定是否需自動回復所儲存之韌體,並包含下列步驟。1 and 4, the firmware update system 100 implements the determination update procedure of the method for automatically recovering the firmware of the baseboard management controller of the present invention. The determination update procedure explains how the baseboard management controller 2 determines whether to automatically restore the stored firmware, and includes the following steps.

在步驟71中,該基板管理控制器2在接收到來自該控制單元1的該重啟訊號後,重新啟動。In step 71, the baseboard management controller 2 restarts after receiving the restart signal from the control unit 1.

在步驟72中,該基板管理控制單元21執行儲存於該基板端記憶單元22中的開機載入程式。In step 72, the substrate management control unit 21 executes the boot loader stored in the substrate end memory unit 22.

在步驟73中,該基板管理控制單元21判定是否有接收到來自該控制單元1的該異常通知。當該基板管理控制單元21判定出沒有收到該異常通知時,進行流程步驟74;當該基板管理控制單元21判定出有收到該異常通知時(亦即,在步驟69中,由該控制單元1在超過該預設時段未接收到指示出該基板管理控制器2正常運作的該狀態訊息時,由該控制單元1所產生之指示出基板管理控制器2運作異常的通知,見圖3),進行流程步驟75。In step 73, the substrate management control unit 21 determines whether the abnormal notification from the control unit 1 has been received. When the substrate management control unit 21 determines that the abnormal notification has not been received, the process proceeds to step 74; when the substrate management control unit 21 determines that the abnormal notification has been received (that is, in step 69, the control When the unit 1 does not receive the status message indicating the normal operation of the baseboard management controller 2 within the preset time period, the notification generated by the control unit 1 indicating the abnormal operation of the baseboard management controller 2 is shown in Fig. 3 ), proceed to step 75 of the process.

在步驟74中,在該基板管理控制單元21執行完該開機載入程式以完成初始化設定後,該基板管理控制單元21繼續執行其原有的韌體以載入該基板管理控制器2的作業系統。值得一提的是,當該基板管理控制單元21成功地載入該基板管理控制器2的作業系統並正常運作時,該基板管理控制單元21繼續進行本發明自動回復基板管理控制器之韌體的方法之正常運行程序。In step 74, after the baseboard management control unit 21 has executed the boot loader to complete the initial settings, the baseboard management control unit 21 continues to execute its original firmware to load the baseboard management controller 2 system. It is worth mentioning that when the baseboard management control unit 21 is successfully loaded into the operating system of the baseboard management controller 2 and operates normally, the baseboard management control unit 21 continues to perform the present invention and automatically restores the firmware of the baseboard management controller. The normal operation procedure of the method.

在步驟75中,該基板管理控制單元21透過I²C介面傳送指示出該基板管理控制器2正常運作的該狀態訊息至該控制單元1。因此,在步驟63中,該控制單元1於收到該基板管理控制單元21在步驟75所傳送的該狀態訊息後,該控制單元1重置計時結果,且將該第二通用型之輸入輸出接腳所傳送該訊號之訊號值設為指示出該基板管理控制器2運作正常。In step 75, the baseboard management control unit 21 transmits the status message indicating the normal operation of the baseboard management controller 2 to the control unit 1 through the I²C interface. Therefore, in step 63, after the control unit 1 receives the status message sent by the baseboard management control unit 21 in step 75, the control unit 1 resets the timing result, and the second universal input/output The signal value of the signal transmitted by the pin is set to indicate that the baseboard management controller 2 is operating normally.

在步驟76中,該基板管理控制單元21透過簡單的檔案傳輸通訊協定(FTP)自該伺服端4下載該目標韌體。In step 76, the baseboard management control unit 21 downloads the target firmware from the server 4 through a simple file transfer protocol (FTP).

在步驟77中,該基板管理控制單元21將原先儲存於該基板端記憶單元22中的韌體更新為該目標韌體。In step 77, the substrate management control unit 21 updates the firmware originally stored in the substrate-side memory unit 22 to the target firmware.

值得一提的是,藉由該控制單元1儲存該目標開機載入程式,並在偵測出該基板管理控制器2無法正常運作時,將該基板管理控制器2中原有的開機載入程式更新為該目標開機載入程式,以使該基板管理控制器2能順利重新啟動並利用功能正常之開機載入程式進行開機引導程序,以便該基板管理控制器2在收到該異常通知時,可自行透過簡單的檔案傳輸通訊協定自該伺服端4下載可由該基板管理控制器2正常執行的該目標韌體,以回復正常運作。由於該控制單元1僅需回復該目標開機載入程式,完整的該目標韌體係由該基板管理控制器2自行自該伺服端4下載,因此,該控制單元1僅需儲存該目標開機載入程式而無需儲存完整的該目標韌體,故可節省資料存儲容量。It is worth mentioning that the control unit 1 stores the target boot loader, and when it detects that the baseboard management controller 2 cannot operate normally, the original boot loader in the baseboard management controller 2 Update to the target boot loader, so that the baseboard management controller 2 can restart smoothly and use a functioning boot loader for booting, so that when the baseboard management controller 2 receives the abnormal notification, The target firmware that can be normally executed by the baseboard management controller 2 can be downloaded from the server 4 through a simple file transfer communication protocol to restore normal operation. Since the control unit 1 only needs to restore the target boot loader, and the complete target firmware is downloaded by the baseboard management controller 2 from the server 4, the control unit 1 only needs to store the target boot loader The program does not need to store the complete target firmware, so data storage capacity can be saved.

在步驟78中,該基板管理控制單元21根據更新後的該目標韌體重新啟動,並回到流程步驟72。In step 78, the baseboard management control unit 21 restarts according to the updated target firmware, and returns to step 72 of the process.

綜上所述,本發明自動回復基板管理控制器之韌體的方法,藉由該控制單元1持續地判定在預設時段內是否收到相關於該基板管理控制器2的狀態訊息,當判定出在預設時段內未收到該狀態訊息時,表示該基板管理控制器2恐已無法正常運作時,此時,該控制單元1先將該基板管理控制器2中原有的開機載入程式更新為該目標開機載入程式,確保該基板管理控制器2能順利重新啟動並利用功能正常之開機載入程式進行開機引導程序,此外,藉由該控制單元1傳送該異常通知至該基板管理控制器2,使該基板管理控制器2在重新啟動後自行自該伺服端4下載目標韌體並更新重啟,進而達成於無需管理者進行控制的情況下,便能使該基板管理控制器2自動回復韌體,藉此,即便在BIOS無法正常開機的情況下,若該基板管理控制器2發生異常,仍可透過本發明自動回復基板管理控制器之韌體的方法,自動更新該基板管理控制器2之韌體,以回復該基板管理控制器2的功能,故確實能達成本發明的目的。In summary, the method for automatically restoring the firmware of the baseboard management controller of the present invention uses the control unit 1 to continuously determine whether a status message related to the baseboard management controller 2 is received within a preset period of time. When the status message is not received within the preset time period, it means that the baseboard management controller 2 may not be able to operate normally. At this time, the control unit 1 first loads the original boot-up program in the baseboard management controller 2 Update to the target boot loader to ensure that the baseboard management controller 2 can be restarted smoothly and use a functional boot loader for booting. In addition, the control unit 1 sends the abnormal notification to the baseboard management The controller 2 enables the baseboard management controller 2 to download the target firmware from the server 4 after restarting and update and restart, so as to enable the baseboard management controller 2 to be controlled without the need for an administrator to control it. Automatically restore the firmware, so that even if the BIOS fails to boot normally, if the baseboard management controller 2 is abnormal, the baseboard management controller can still be automatically updated through the method of the present invention to automatically restore the firmware of the baseboard management controller. The firmware of the controller 2 can restore the function of the baseboard management controller 2, so it can indeed achieve the purpose of the invention.

惟以上所述者,僅為本發明的實施例而已,當不能以此限定本發明實施的範圍,凡是依本發明申請專利範圍及專利說明書內容所作的簡單的等效變化與修飾,皆仍屬本發明專利涵蓋的範圍內。However, the above are only examples of the present invention. When the scope of implementation of the present invention cannot be limited by this, all simple equivalent changes and modifications made in accordance with the scope of the patent application of the present invention and the content of the patent specification still belong to Within the scope covered by the patent of the present invention.

200:通訊網路 1:控制單元 2:基板管理控制器 21:基板管理控制單元 22:基板端記憶單元 3:開關單元 4:伺服端 51:步驟 61~69:步驟 71~78:步驟200: Communication network 1: control unit 2: baseboard management controller 21: baseboard management control unit 22: Board end memory unit 3: Switch unit 4: server 51: steps 61~69: Steps 71~78: steps

本發明的其他的特徵及功效,將於參照圖式的實施方式中清楚地呈現,其中: 圖1是一方塊圖,說明一執行本發明自動回復基板管理控制器之韌體的方法之一實施例的韌體更新系統; 圖2是一流程圖,說明本發明自動回復基板管理控制器之韌體的方法之實施例的正常運行程序; 圖3是一流程圖,說明本發明自動回復基板管理控制器之韌體的方法之實施例的監控程序;及 圖4是一流程圖,說明本發明自動回復基板管理控制器之韌體的方法之實施例的判定更新程序。Other features and effects of the present invention will be clearly presented in the embodiments with reference to the drawings, in which: FIG. 1 is a block diagram illustrating a firmware update system according to an embodiment of the method for automatically restoring the firmware of the baseboard management controller of the present invention; 2 is a flowchart illustrating the normal operation procedure of the embodiment of the method for automatically recovering the firmware of the baseboard management controller of the present invention; FIG. 3 is a flowchart illustrating the monitoring program of an embodiment of the method for automatically recovering the firmware of the baseboard management controller of the present invention; and 4 is a flowchart illustrating the determination update procedure of an embodiment of the method for automatically recovering the firmware of the baseboard management controller of the present invention.

61~69:步驟61~69: Steps

Claims (4)

一種自動回復基板管理控制器之韌體的方法,適用於回復一基板管理控制器之韌體,並藉由一電連接該基板管理控制器之控制單元來實施,該基板管理控制器用於在載入該基板管理控制器的作業系統後,週期性地傳送一指示出該基板管理控制器正常運作的狀態訊息至該控制單元,該基板管理控制器包含一基板管理控制單元及一基板端記憶單元,該控制單元還電連接一與該基板管理控制單元及該基板端記憶單元電連接的開關單元,該方法包含以下步驟:(A)該控制單元開始進行計時;(B)該控制單元判定是否有收到一來自該基板管理控制器的狀態訊息;(C)當該控制單元判定出有收到該狀態訊息時,該控制單元重置步驟(A)之計時結果,並回到步驟(A);(D)當該控制單元判定出無收到該狀態訊息時,該控制單元判定步驟(A)之計時結果是否大於一預設時段;(E)當該控制單元判定出步驟(A)之計時結果大於該預設時段時,該控制單元將該基板管理控制器中原有的一開機載入程式更新為一目標開機載入程式,並重新啟動該基板管理控制器,其中,步驟(E)包含以下子步驟(E-1)當該控制單元判定出步驟(A)之計時結果大於該預設時段時,該控制單元控制該開關單元導通該控制單元與該基板端記憶單元之連接, (E-2)該控制單元將該基板端記憶單元原有之該開機載入程式更新為該目標開機載入程式,(E-3)該控制單元控制該開關單元導通該基板管理控制單元與該基板端記憶單元之連接,以及(E-4)該控制單元重新啟動該基板管理控制器;及(F)該控制單元傳送一指示出該基板管理控制器運作異常的異常通知至該基板管理控制器,以使該基板管理控制器在執行更新後之該目標開機載入程式,且收到該異常通知後,下載一目標韌體並將其原有的韌體更新為該目標韌體。 A method for automatically restoring the firmware of a baseboard management controller is suitable for restoring the firmware of a baseboard management controller, and is implemented by a control unit that is electrically connected to the baseboard management controller, and the baseboard management controller is used on-board After entering the operating system of the baseboard management controller, periodically send a status message indicating the normal operation of the baseboard management controller to the control unit. The baseboard management controller includes a baseboard management control unit and a base-side memory unit The control unit is also electrically connected to a switch unit electrically connected to the substrate management control unit and the substrate end memory unit. The method includes the following steps: (A) the control unit starts timing; (B) the control unit determines whether A status message from the baseboard management controller is received; (C) When the control unit determines that the status message has been received, the control unit resets the timing result of step (A) and returns to step (A) ); (D) When the control unit determines that the status message is not received, the control unit determines whether the timing result of step (A) is greater than a preset time period; (E) When the control unit determines step (A) When the timing result is greater than the preset time period, the control unit updates an original boot loader in the baseboard management controller to a target boot loader, and restarts the baseboard management controller, where step (E ) Includes the following sub-steps (E-1) when the control unit determines that the timing result of step (A) is greater than the preset time period, the control unit controls the switch unit to turn on the connection between the control unit and the substrate-side memory unit, (E-2) The control unit updates the original boot loader of the board-side memory unit to the target boot loader, (E-3) the control unit controls the switch unit to turn on the board management control unit and The connection of the board-side memory unit, and (E-4) the control unit restarts the baseboard management controller; and (F) the control unit sends an abnormal notification indicating the abnormal operation of the baseboard management controller to the baseboard management The controller, so that the baseboard management controller executes the updated target boot loader, and after receiving the abnormal notification, downloads a target firmware and updates its original firmware to the target firmware. 如請求項1所述的自動回復基板管理控制器之韌體的方法,在步驟(D)後,還包含以下步驟:(G)當該控制單元判定出步驟(A)之計時結果不大於該預設時段時,回到步驟(B)。 The method for automatically recovering the firmware of the baseboard management controller as described in claim 1, after step (D), further includes the following steps: (G) when the control unit determines that the timing result of step (A) is not greater than the When the time is preset, go back to step (B). 如請求項1所述的自動回復基板管理控制器之韌體的方法,其中:在步驟(F)中,該控制單元係藉由一通用型之輸入輸出接腳輸出一訊號至該基板管理控制器,該訊號的訊號值指示出該基板管理控制器運作異常,以傳送該異常通知至該基板管理控制器。 The method for automatically recovering the firmware of a baseboard management controller as described in claim 1, wherein: in step (F), the control unit outputs a signal to the baseboard management controller through a universal input and output pin The signal value of the signal indicates the abnormal operation of the baseboard management controller, so as to send the abnormal notification to the baseboard management controller. 如請求項3所述的自動回復基板管理控制器之韌體的方法,其中:在步驟(C)中,當該控制單元判定出有收到該狀態訊息時,該控制單元還將該通用型之輸入輸出接腳輸出的該 訊號之訊號值改為指示出該基板管理控制器運作正常。 The method for automatically recovering the firmware of the baseboard management controller according to claim 3, wherein: in step (C), when the control unit determines that the status message has been received, the control unit changes the universal type The input and output pins output the The signal value of the signal is changed to indicate that the baseboard management controller is operating normally.
TW108133390A 2019-09-17 2019-09-17 Method of recovering firmware of baseboard management controller automatically TWI742430B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW108133390A TWI742430B (en) 2019-09-17 2019-09-17 Method of recovering firmware of baseboard management controller automatically

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW108133390A TWI742430B (en) 2019-09-17 2019-09-17 Method of recovering firmware of baseboard management controller automatically

Publications (2)

Publication Number Publication Date
TW202113590A TW202113590A (en) 2021-04-01
TWI742430B true TWI742430B (en) 2021-10-11

Family

ID=76604467

Family Applications (1)

Application Number Title Priority Date Filing Date
TW108133390A TWI742430B (en) 2019-09-17 2019-09-17 Method of recovering firmware of baseboard management controller automatically

Country Status (1)

Country Link
TW (1) TWI742430B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201715395A (en) * 2015-10-16 2017-05-01 廣達電腦股份有限公司 Method for recovering a baseboard management controller and baseboard management controller
CN109714205A (en) * 2018-12-28 2019-05-03 郑州云海信息技术有限公司 A kind of guard method of BIOS dual redundant, device and computer for whitepack interchanger
TW201931117A (en) * 2018-01-12 2019-08-01 廣達電腦股份有限公司 Method for remote system recovery
TWI668567B (en) * 2018-04-12 2019-08-11 神雲科技股份有限公司 Server and method for restoring a baseboard management controller automatically

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201715395A (en) * 2015-10-16 2017-05-01 廣達電腦股份有限公司 Method for recovering a baseboard management controller and baseboard management controller
TW201931117A (en) * 2018-01-12 2019-08-01 廣達電腦股份有限公司 Method for remote system recovery
TWI668567B (en) * 2018-04-12 2019-08-11 神雲科技股份有限公司 Server and method for restoring a baseboard management controller automatically
CN109714205A (en) * 2018-12-28 2019-05-03 郑州云海信息技术有限公司 A kind of guard method of BIOS dual redundant, device and computer for whitepack interchanger

Also Published As

Publication number Publication date
TW202113590A (en) 2021-04-01

Similar Documents

Publication Publication Date Title
TWI633487B (en) Method and computer system for automatically recovering the bios image file
CN107209671B (en) Dynamic automatic monitoring and control of boot operations in a computer
US7484084B1 (en) Use of a baseboard management controller to facilitate installation of firmware in a processing system
CN106257417B (en) Boot program upgrading method, embedded equipment, control equipment and embedded system
US10698679B2 (en) Server with double-firmware storage space and firmware update method therefor
KR100901903B1 (en) Self-monitoring and updating of firmware over a network
TWI467375B (en) Computer system with crashed bios data recovering function and recovering method thereof
US20200159302A1 (en) Information Handling System And Method To Detect And Recover From No Power/No Post Failures
WO2020114431A1 (en) Fpga upgrading method based on pcie interface
KR100952585B1 (en) Method and system for automatic recovery of an embedded operating system
EP2372491B1 (en) Power lock-up setting method and electronic apparatus using the same
RU2602378C9 (en) Rack with plurality of rack control modules and method of updating firmware used for rack
WO2018095107A1 (en) Bios program abnormal processing method and apparatus
EP2798428B1 (en) Apparatus and method for managing operation of a mobile device
TWI742430B (en) Method of recovering firmware of baseboard management controller automatically
US20230133270A1 (en) Bios updates
TWI547873B (en) Control module of server node and firmware updating method for the control module
CN113687843B (en) Method for automatically recovering firmware of baseboard management controller
TWI786871B (en) Computer and system bootup method
WO2011158367A1 (en) Technology for updating active program
CN113220324B (en) CPLD remote updating method, system and medium
JP2002229798A (en) Computer system, its bios management method, and bios management program
TW201604781A (en) Circuit and method for writing BIOS code into BIOS
TWI733279B (en) Server device and method for avoiding firmware cannot be updated again thereof
CN112825054B (en) Data processing method and electronic equipment