TW201629757A - Control module of server node and firmware updating method for the control module - Google Patents

Control module of server node and firmware updating method for the control module Download PDF

Info

Publication number
TW201629757A
TW201629757A TW104105023A TW104105023A TW201629757A TW 201629757 A TW201629757 A TW 201629757A TW 104105023 A TW104105023 A TW 104105023A TW 104105023 A TW104105023 A TW 104105023A TW 201629757 A TW201629757 A TW 201629757A
Authority
TW
Taiwan
Prior art keywords
firmware
memory
management controller
working
update
Prior art date
Application number
TW104105023A
Other languages
Chinese (zh)
Other versions
TWI547873B (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 TW104105023A priority Critical patent/TWI547873B/en
Priority to RU2015118446/08A priority patent/RU2600101C1/en
Publication of TW201629757A publication Critical patent/TW201629757A/en
Application granted granted Critical
Publication of TWI547873B publication Critical patent/TWI547873B/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

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

Abstract

A control module of a node comprising a baseboard management controller (BMC), a first memory and a second memory is present. The first memory stores a working firmware, the second memory stores a default firmware. The BMC normally connects with the first memory and reads the working firmware to boot during a boot procedure. If the BMC cannot boot through executing the working firmware after an update procedure failure of the working firmware, it turns to connect with the second memory, and reads the default firmware to replace with the working firmware to boot. After the BMC boots through the default firmware successfully, it turns back to connect with the first memory, and re-updates the working firmware again.

Description

端點伺服器的控制模組及其韌體更新方法Endpoint server control module and firmware update method thereof 【0001】【0001】

本發明涉及端點伺服器,尤其涉及端點伺服器中的控制模組,以及控制模組的韌體更新方法。The present invention relates to an endpoint server, and more particularly to a control module in an endpoint server and a firmware update method of the control module.

【0002】【0002】

一般來說,設置在機櫃(Rack)內的每一台伺服器(例如刀鋒伺服器)皆需配置有各自的基板管理控制器(Baseboard Management Controller,BMC),並由該BMC來對該伺服器進行控制及維護。Generally, each server (such as a blade server) installed in a rack (Rack) needs to be configured with a respective Baseboard Management Controller (BMC), and the server is used by the BMC. Control and maintenance.

【0003】[0003]

該BMC屬於一種系統單晶片(System on Chip),本身具備有記憶體,並且需通過韌體的執行來進行工作。因此,該BMC與該伺服器中的中央處理單元(Central Processing Unit,CPU)相同,皆需不定期對其韌體進行更新。The BMC belongs to a system on chip, which itself has a memory and needs to work through the execution of the firmware. Therefore, the BMC is the same as the central processing unit (CPU) in the server, and it is necessary to update its firmware from time to time.

【0004】[0004]

一般來說,該BMC可在接收到韌體的更新檔後,自動對所使用的韌體進行更新,然而若在更新過程中,更新程序被意外中斷(例如當機或機櫃電源中斷),或是更新到錯誤的韌體,則在該BMC重新啟動後,將可能無法正常開機。In general, the BMC can automatically update the firmware used after receiving the firmware update file. However, if the update process is interrupted unexpectedly during the update process (such as power failure of the chassis or cabinet), or If the firmware is updated to the wrong state, it may not boot properly after the BMC restarts.

【0005】[0005]

如上所述,若該BMC沒有該伺服器的主機作業系統(Operating System,OS)以及系統介面的支援,就無法對更新失敗的韌體再次進行更新,如此將導致該BMC將無法再被使用。As described above, if the BMC does not have the support of the server's operating system (OS) and the system interface, the firmware that failed to be updated cannot be updated again, and the BMC will no longer be used.

【0006】[0006]

有鑑於此,如何令BMC可在韌體更新失敗後,不借助外力即正常開機,並對更新失敗的韌體再次進行更新,即為本技術領域的從業人員所潛心研究的課題。In view of this, how to make the BMC fail to update after the firmware fails, and then start the software without the external force, and update the firmware that has failed to be updated again, which is a subject that the practitioners in the technical field are deeply researching.

【0007】【0007】

本發明的主要目的,在於提供一種端點伺服器的控制模組及其韌體更新方法,可確保基板管理控制器在韌體更新失敗後仍可正常開機,並對更新失敗的韌體再次進行更新。The main purpose of the present invention is to provide a control module for an endpoint server and a firmware update method thereof, which can ensure that the baseboard management controller can still boot normally after the firmware update fails, and perform the firmware failure again. Update.

【0008】[0008]

為了達成上述之目的,本發明揭露的控制模組包括基板管理控制器、儲存有工作韌體的第一記憶體與儲存有預設韌體的第二記憶體。基板管理控制器於正常情況下連接第一記憶體,並讀取工作韌體以進行開機。當對工作韌體進行更新且更新失敗,導致無法正常開機時,基板管理控制器切換連接至第二記憶體,並讀取預設韌體以進行開機。基板管理控制器通過預設韌體開機完成後,再切換連接至第一記憶體,並重新對工作韌體進行更新。To achieve the above objective, the control module disclosed in the present invention includes a substrate management controller, a first memory storing a working firmware, and a second memory storing a predetermined firmware. The baseboard management controller normally connects the first memory and reads the working firmware to boot. When the working firmware is updated and the update fails, the motherboard management controller switches to the second memory and reads the preset firmware to boot. After the baseboard management controller is booted by the preset firmware, the connection is switched to the first memory, and the working firmware is updated again.

【0009】【0009】

本發明對照現有技術所能達到的技術功效在於,通過第二記憶體的設置,則基板管理控制器在主要使用的工作韌體更新失敗後,仍可通過第二記憶體中的預設韌體來進行備援開機。如此一來,基板管理控制器可以對更新失敗的工作韌體再次進行更新,直到更新成功為止。通過本發明的技術方案,可有效防止現有技術在韌體更新失敗後,基板管理控制器就無法正常開機的問題。The technical effect achieved by the present invention against the prior art is that, by the setting of the second memory, the substrate management controller can still pass the preset firmware in the second memory after the main working firmware update fails. To start the backup. In this way, the baseboard management controller can update the working firmware that failed the update again until the update is successful. With the technical solution of the present invention, the problem that the substrate management controller cannot be normally turned on after the firmware update fails can be effectively prevented.

【0048】[0048]

1‧‧‧機櫃1‧‧‧ cabinet

【0049】[0049]

11‧‧‧機櫃管理控制器11‧‧‧Cabinet Management Controller

【0050】[0050]

2‧‧‧端點伺服器2‧‧‧Endpoint Server

【0051】[0051]

20‧‧‧控制模組20‧‧‧Control Module

【0052】[0052]

21‧‧‧基板管理控制器21‧‧‧Base Management Controller

【0053】[0053]

211‧‧‧儲存單元211‧‧‧ storage unit

【0054】[0054]

22‧‧‧第一記憶體22‧‧‧First memory

【0055】[0055]

23‧‧‧第二記憶體23‧‧‧ Second memory

【0056】[0056]

24‧‧‧硬體切換器24‧‧‧ hardware switcher

【0057】[0057]

241‧‧‧第一讀取通道241‧‧‧First reading channel

【0058】[0058]

242‧‧‧第一燒錄通道242‧‧‧The first burning channel

【0059】[0059]

243‧‧‧第二讀取通道243‧‧‧second reading channel

【0060】[0060]

244‧‧‧第二燒錄通道244‧‧‧Second burning channel

【0061】[0061]

3‧‧‧GPIO通道3‧‧‧GPIO channel

【0062】[0062]

F1‧‧‧工作韌體F1‧‧‧ working firmware

【0063】[0063]

F2‧‧‧預設韌體F2‧‧‧Preset firmware

【0064】[0064]

I1‧‧‧韌體更新檔I1‧‧‧ firmware update file

【0065】[0065]

S20~S34‧‧‧更新步驟S20~S34‧‧‧Update Steps

【0010】[0010]

圖1為本發明的第一具體實施例的機櫃示意圖。1 is a schematic view of a cabinet according to a first embodiment of the present invention.

【0011】[0011]

圖2為本發明的第一具體實施例的連接示意圖。Figure 2 is a schematic view of the connection of the first embodiment of the present invention.

【0012】[0012]

圖3為本發明的第一具體實施例的控制模組方塊圖。3 is a block diagram of a control module of a first embodiment of the present invention.

【0013】[0013]

圖4為本發明的第二具體實施例的控制模組方塊圖。4 is a block diagram of a control module in accordance with a second embodiment of the present invention.

【0014】[0014]

圖5為本發明的第一具體實施例的韌體更新流程圖。FIG. 5 is a flowchart of firmware update according to a first embodiment of the present invention.

【0015】[0015]

茲就本發明之一較佳實施例,配合圖式,詳細說明如後。DETAILED DESCRIPTION OF THE INVENTION A preferred embodiment of the present invention will be described in detail with reference to the drawings.

【0016】[0016]

首請參閱圖1與圖2,分別為本發明的第一具體實施例的機櫃示意圖及連接示意圖。圖1揭露了一機櫃1,該機櫃1具有多個容置槽,可供設置多組的端點伺服器2,該機櫃1中還包含了如圖2所示的一機櫃管理控制器(Rack Management Controller,RMC)11。該複數端點伺服器2內分別設置有一控制模組20。該機櫃管理控制器11分別與該些控制模組20溝通,藉以對各該端點伺服器2進行控制、搜集各該端點伺服器2的相關資訊以及傳遞各該端點伺服器2所需之資料。本發明中,該端點伺服器2可為一般的機架式伺服器或是硬碟聚集端點(Just a bunch of disks node,JBOD node),但不加以限定。Referring to FIG. 1 and FIG. 2, respectively, a schematic diagram and a connection diagram of a cabinet according to a first embodiment of the present invention are shown. FIG. 1 discloses a cabinet 1 having a plurality of accommodating slots for providing a plurality of sets of endpoint servers 2, the cabinet 1 further including a cabinet management controller (Rack) as shown in FIG. Management Controller, RMC) 11. A control module 20 is disposed in each of the plurality of endpoint servers 2. The rack management controller 11 communicates with the control modules 20 respectively, so as to control each of the endpoint servers 2, collect relevant information of each endpoint server 2, and transfer each end server 2 Information. In the present invention, the endpoint server 2 can be a general rack server or a JBOD node, but is not limited.

【0017】[0017]

本實施例中,該機櫃管理控制器11主要可通過實體的智慧平台管理匯流排(Intelligent Platform Management Bus,IPMB)、通用非同步收發傳輸器(Universal Asynchronous Receiver/Transmitter,UART)、內部整合電路(Inter-Integrated Circuit,F2C)、序列周邊介面(Serial Peripheral Interface,SPI)或是無線的區域網路(Local Area Network,LAN)等傳輸通道與該複數控制模組20進行溝通,但不加以限定。In this embodiment, the cabinet management controller 11 can mainly manage an Intelligent Platform Management Bus (IPMB), a Universal Asynchronous Receiver/Transmitter (UART), and an internal integrated circuit through an intelligent platform of the entity ( Inter-Integrated Circuit (F2C), Serial Peripheral Interface (SPI), or a wireless Local Area Network (LAN) transmission channel communicates with the complex control module 20, but is not limited.

【0018】[0018]

該機櫃管理控制器11可通過上述傳輸通道分別與該機櫃1中的所有該端點伺服器2的該控制模組20進行溝通。更具體而言,該些控制模組20內分別具有如圖3所示的一基板管理控制器(Baseboard Management Controller,BMC)21,該機櫃管理控制器11主要係與該些端點伺服器2中的該些基板管理控制器21進行溝通。The cabinet management controller 11 can communicate with the control module 20 of all the endpoint servers 2 in the cabinet 1 through the above transmission channels. More specifically, each of the control modules 20 has a Baseboard Management Controller (BMC) 21 as shown in FIG. 3, and the cabinet management controller 11 is mainly associated with the endpoint servers 2 The substrate management controllers 21 in the communication communicate.

【0019】[0019]

如圖2所示,當該些控制模組20的韌體需要更新時,該機櫃管理控制器11可通過有線或無線方式從外部接收一韌體更新檔I1。該韌體更新檔I1主要可為更新版本的韌體的映象檔(Image),但不加以限定。As shown in FIG. 2, when the firmware of the control modules 20 needs to be updated, the cabinet management controller 11 can receive a firmware update file I1 from the outside by wire or wirelessly. The firmware update file I1 can be mainly an image file of an updated version of the firmware, but is not limited.

【0020】[0020]

本發明中,該機櫃管理控制器11可在收到該韌體更新檔I1時,立即通過該傳輸通道分別傳送至各該控制模組20中的該基板管理控制器21,以令各該基板管理控制器21執行一韌體更新程序。另,該機櫃管理控制器11亦可依照一預定排程,並於一特定的更新時間到達時,再將該韌體更新檔I1分別傳送至各該基板管理控制器21,不加以限定。In the present invention, the cabinet management controller 11 can be respectively transmitted to the baseboard management controller 21 in each control module 20 through the transmission channel when the firmware update file I1 is received, so that the substrate management controller 11 The management controller 21 executes a firmware update procedure. In addition, the cabinet management controller 11 can also transmit the firmware update file I1 to each of the baseboard management controllers 21 according to a predetermined schedule and arrive at a specific update time, which is not limited.

【0021】[0021]

續請參閱圖3,為本發明的第一具體實施例的控制模組方塊圖。如圖3所示,本發明中該控制模組20主要包括該基板管理控制器21、一第一記憶體22及一第二記憶體23,其中該基板管理控制器21分別與該第一記憶體22及該第二記憶體23電性連接。更具體而言,該基板管理控制器21與該第一記憶體22之間為一雙向連接關係,而與該第二記憶體23之間為一單向連接關係(容下詳述)。Referring to FIG. 3, a block diagram of a control module according to a first embodiment of the present invention is shown. As shown in FIG. 3, the control module 20 of the present invention mainly includes the substrate management controller 21, a first memory 22 and a second memory 23, wherein the substrate management controller 21 and the first memory respectively The body 22 and the second memory 23 are electrically connected. More specifically, the substrate management controller 21 and the first memory 22 have a two-way connection relationship with the second memory 23 in a one-way connection relationship (described in detail).

【0022】[0022]

該基板管理控制器21具有一儲存單元211,該儲存單元211可為隨機存取記憶體(Random Access Memory,RAM)、唯讀記憶體(Read Only Memory,ROM)或快閃記憶體(Flash Memory)等,不加以限定。當該基板管理控制器21接收該機櫃管理控制器11傳輸的該韌體更新檔I1後,主要係先暫存於該儲存單元211中,以於後續執行該韌體更新程序時使用。The baseboard management controller 21 has a storage unit 211, which can be a random access memory (RAM), a read only memory (ROM), or a flash memory (Flash Memory). ), etc., not limited. After the baseboard management controller 21 receives the firmware update file I1 transmitted by the cabinet management controller 11, the system is temporarily stored in the storage unit 211 for use in subsequent execution of the firmware update program.

【0023】[0023]

該第一記憶體22為該基板管理控制器21的主要記憶體,其中儲存有一工作韌體F1。於正常狀態下,該基板管理控制器21主要是讀取該工作韌體F1,並通過該工作韌體F1的執行來完成一開機程序。本實施例中,當該基板管理控制器21執行該韌體更新程序時,主要是依據該韌體更新檔I1對該第一記憶體22中的該工作韌體F1進行更新。The first memory 22 is the main memory of the substrate management controller 21, and a working firmware F1 is stored therein. In the normal state, the baseboard management controller 21 mainly reads the working firmware F1, and completes a booting process by execution of the working firmware F1. In this embodiment, when the substrate management controller 21 executes the firmware update program, the working firmware F1 in the first memory 22 is updated mainly according to the firmware update file I1.

【0024】[0024]

該第二記憶體23為該基板管理控制器21的備援記憶體,其中儲存有一預設韌體F2。本實施例中,該第一記憶體22與該第二記憶體23為唯讀記憶體(ROM)。The second memory 23 is a backup memory of the substrate management controller 21, and a preset firmware F2 is stored therein. In this embodiment, the first memory 22 and the second memory 23 are read-only memory (ROM).

【0025】[0025]

本發明的主要技術特徵在於,在正常狀態下,該基板管理控制器21只會通過該工作韌體F1來進行開機,而不會通過該預設韌體F2進行開機。並且,該基板管理控制器21只會對該工作韌體F1進行更新,不會對該預設韌體F2進行更新。上述技術特徵的目的在於,可永遠保持該預設韌體F2的完整性,避免該預設韌體F2因為在更新過程中遭到中斷而損壞,進而無法被該基板管理控制器21讀取使用的問題。The main technical feature of the present invention is that, under normal conditions, the baseboard management controller 21 can only be powered on by the working firmware F1, and does not boot through the preset firmware F2. Moreover, the substrate management controller 21 only updates the working firmware F1, and does not update the preset firmware F2. The purpose of the above technical feature is that the integrity of the preset firmware F2 can be maintained forever, and the preset firmware F2 is prevented from being damaged due to interruption during the updating process, and thus cannot be read by the substrate management controller 21. The problem.

【0026】[0026]

在該基板管理控制器21通電啟動後,係預設讀取該第一記憶體22中的該工作韌體F1,並通過該工作韌體F1來進行該開機程序。當需要執行該韌體更新程序時,該基板管理控制器21係將該儲存單元211中暫存的該韌體更新檔I1燒錄至該第一記憶體22中,以藉由該韌體更新檔I1對該工作韌體F1進行更新。若該韌體更新程序執行成功,則該第二記憶體23不會被使用。After the substrate management controller 21 is powered on, the working firmware F1 in the first memory 22 is read by default, and the booting process is performed by the working firmware F1. When the firmware update program is required to be executed, the baseboard management controller 21 burns the firmware update file I1 temporarily stored in the storage unit 211 into the first memory 22 to update by the firmware. The file I1 updates the working firmware F1. If the firmware update program is successfully executed, the second memory 23 will not be used.

【0027】[0027]

然而,若該工作韌體F1更新失敗(如該韌體更新程序執行到一半被中斷,或是燒錄了錯誤的韌體更新檔至該第一記憶體22),則該基板管理控制器21在重置(reset)後,將會無法成功讀取該第一記憶體22中的該工作韌體F1。換句話說,在更新失敗後,該基板管理控制器21即無法通過該工作韌體F1進行該開機程序。However, if the working firmware F1 update fails (if the firmware update program is interrupted halfway, or the wrong firmware update file is burned to the first memory 22), the baseboard management controller 21 After the reset, the working firmware F1 in the first memory 22 will not be successfully read. In other words, after the update fails, the baseboard management controller 21 cannot perform the boot process through the working firmware F1.

【0028】[0028]

於上述情況發生時,該基板管理控制器21係切換連接至備援使用的該第二記憶體23,並讀取該第二記憶體23中的該預設韌體F2以進行該開機程序。本實施例中,該預設韌體F2沒有經過任何的更新程序,因此絕對是可以被該基板管理控制器21所正常讀取使用的。When the above situation occurs, the substrate management controller 21 switches to the second memory 23 for backup use, and reads the preset firmware F2 in the second memory 23 to perform the booting process. In this embodiment, the preset firmware F2 does not undergo any update procedure, and thus can be normally read and used by the baseboard management controller 21.

【0029】[0029]

由於若需通過該第二記憶體23進行開機,表示該第一記憶體22中的該工作韌體F1有問題,無法被讀取。因此當該基板管理控制器21通過該預設韌體F2成功開機後,會於開機狀態下再切換連接至該第一記憶體22,並且再次對該第一記憶體22中的該工作韌體F1執行該韌體更新程序。If the second memory 23 is turned on, it indicates that the working firmware F1 in the first memory 22 has a problem and cannot be read. Therefore, after the substrate management controller 21 is successfully turned on by the preset firmware F2, the connection to the first memory 22 is switched again in the power-on state, and the working firmware in the first memory 22 is again used. F1 executes the firmware update procedure.

【0030】[0030]

若再次更新失敗,則該基板管理控制器21可在重置後,再次通過該第二記憶體23中的該預設韌體F2進行開機,並且在完成開機後再次對該第一記憶體22中的該工作韌體F1進行更新,直到更新成功為止。If the update fails again, the baseboard management controller 21 can be powered on again by the preset firmware F2 in the second memory 23 after resetting, and again to the first memory 22 after the booting is completed. The working firmware F1 in the update is updated until the update is successful.

【0031】[0031]

若再次更新成功,則該基板管理控制器21可在重置後,切換連接至該第一記憶體22,並且通過更新完成後的該工作韌體F1進行開機。If the update is successful again, the baseboard management controller 21 can switch to the first memory 22 after resetting, and boot up by the updated working firmware F1.

【0032】[0032]

一般來說,當該基板管理控制器21通過該第一記憶體22進行開機時,就只會被允許對該第一記憶體22進行更新;同理,當該基板管理控制器21通過該第二記憶體23進行開機時,就只會被允許對該第二記憶體23進行更新。因此,為使該基板管理控制器21可以在通過該第二記憶體23進行開機後,仍能對該第一記憶體22進行更新,因此本發明在該控制模組20中還增設了一記憶體的切換機制。Generally, when the substrate management controller 21 is powered on by the first memory 22, it is only allowed to update the first memory 22; similarly, when the substrate management controller 21 passes the first When the second memory 23 is turned on, it is only allowed to update the second memory 23. Therefore, in order to enable the substrate management controller 21 to update the first memory 22 after being turned on by the second memory 23, the present invention further adds a memory to the control module 20. The switching mechanism of the body.

【0033】[0033]

參閱圖4,本發明的第二具體實施例的控制模組方塊圖。本實施例中,該控制模組20還包括一硬體切換器24,該基板管理控制器21通過該硬體切換器24電性連接該第一記憶體22,同時通過該硬體切換器24電性連接該第二記憶體23。具體而言,該硬體切換器24內具有電性連接該基板管理控制器21與該第一記憶體22的一第一讀取通道241與一第一燒錄通道242,並且具體電性連接該基板管理控制器21與該第二記憶體23的一第二讀取通道243與一第二燒錄通道244。Referring to Figure 4, a block diagram of a control module of a second embodiment of the present invention. In this embodiment, the control module 20 further includes a hardware switch 24. The base management controller 21 is electrically connected to the first memory 22 through the hardware switch 24, and the hardware switch 24 is simultaneously passed through the hardware switch 24 . The second memory 23 is electrically connected. Specifically, the hardware switch 24 has a first read channel 241 and a first burn channel 242 electrically connected to the substrate management controller 21 and the first memory 22, and is electrically connected. The substrate management controller 21 and a second read channel 243 of the second memory 23 and a second programming channel 244.

【0034】[0034]

在執行該開機程序時,該基板管理控制器21通過該第一讀取通道241讀取該第一記憶體22中的該工作韌體F1;於執行該韌體更新程序時,通過該第一燒錄通道242將該韌體更新檔I1燒錄至該第一記憶體22中以更新該工作韌體F1。值得一提的是,該第一讀取通道241與該第一燒錄通道242可整合為單一條雙向的傳輸通道,不加以限定。When the booting process is executed, the substrate management controller 21 reads the working firmware F1 in the first memory 22 through the first read channel 241; and when the firmware update program is executed, passes the first The programming channel 242 burns the firmware update file I1 into the first memory 22 to update the working firmware F1. It should be noted that the first read channel 241 and the first programming channel 242 can be integrated into a single bidirectional transmission channel, which is not limited.

【0035】[0035]

本實施例中,該控制模組20可通過硬體或軟體方式設置一監控機制,當發現該基板管理控制器21在重置後無法通過該工作韌體F1進行開機時,會令該基板管理控制器21改以通過該第二讀取通道243讀取該第二記憶體23中的該預設韌體F2,以進行該開機程序。In this embodiment, the control module 20 can set a monitoring mechanism by hardware or software. When the substrate management controller 21 is found to be unable to boot through the working firmware F1 after resetting, the substrate management is performed. The controller 21 is configured to read the preset firmware F2 in the second memory 23 through the second read channel 243 to perform the booting process.

【0036】[0036]

如圖4所示,該基板管理控制器21還通過一通用型輸入輸出(General Purpose I/O,GPIO)介面3連接該硬體切換器24的其中一腳位(例如為切換腳位)。當該基板管理控制器21通過第二記憶體23中的該預設韌體F2完成該開機程序後,可通過該GPIO介面3發送一控制訊號至該硬體切換器24,藉以,該硬體切換器24依據該控制訊號,將原本連接至該第二記憶體23的該第二燒錄通道244切換連接至該第一記憶體22。As shown in FIG. 4, the baseboard management controller 21 also connects one of the pins of the hardware switcher 24 (for example, a switch pin) through a general purpose input/output (GPIO) interface 3. After the substrate management controller 21 completes the booting process through the preset firmware F2 in the second memory 23, a control signal can be sent to the hardware switch 24 through the GPIO interface 3, whereby the hardware is The switch 24 switches the second programming channel 244 originally connected to the second memory 23 to the first memory 22 according to the control signal.

【0037】[0037]

如上所述,本發明中,該基板管理控制器21不會通過該第二燒錄通道244對該第二記憶體23進行任何的更新動作,因此對於該基板管理控制器21與該第二記憶體23來說,兩者之間可被視為為單向連接關係。值得一提的是,該第二讀取通道243與該第二燒錄通道244可整合為單一條雙向的傳輸通道,不加以限定。As described above, in the present invention, the substrate management controller 21 does not perform any update operation on the second memory 23 through the second programming channel 244, and thus the substrate management controller 21 and the second memory are For body 23, the two can be considered as a one-way connection. It should be noted that the second read channel 243 and the second burn channel 244 can be integrated into a single bidirectional transmission channel, which is not limited.

【0038】[0038]

承上所述,該基板管理控制器21在對該第二記憶體23執行該韌體更新程序時,該基板管理控制器21認為是在對該第二記憶體23進行更新,但是通過該硬體切換器24的該第二燒錄通道244的切換,該基板管理控制器21實際上是在對該第一記憶體22進行更新。藉此,可以克服現有技術中,該基板管理控制器21只能對用來開機的記憶體進行更新的限制。As described above, when the substrate management controller 21 executes the firmware update program for the second memory 23, the substrate management controller 21 considers that the second memory 23 is updated, but passes the hard The switching of the second programming channel 244 of the body switcher 24, the substrate management controller 21 is actually updating the first memory 22. Thereby, it is possible to overcome the limitation in the prior art that the substrate management controller 21 can only update the memory used for booting.

【0039】[0039]

通過本發明的技術方案,在該第一記憶體22中的韌體更新失敗後,該基板管理控制器21仍可藉由該第二記憶體23中的韌體來進行備援開機,因此,不會有韌體更新失敗後就無法正常開機的問題。再者,無論該基板管理控制器21是通過該第一記憶體22中的韌體開機,還是通過第二記憶體23中的韌體開機,在執行該韌體更新程序時皆可保持只對該第一記憶體22進行更新,如此一來,不會有該第一記憶體22與該第二記憶體23中的韌體同時更新失敗,因而該基板管理控制器21無法正常開機的問題。值得一提的是,本發明的說明書中係以該第一記憶體22與該第二記憶體23為限,但該控制模組20中亦可設置兩組以上數量的記憶體,該記憶體的數量不以兩組為限。With the technical solution of the present invention, after the firmware update in the first memory 22 fails, the substrate management controller 21 can still be booted by the firmware in the second memory 23, and therefore, There will be no problem that the firmware cannot be booted normally after the firmware update fails. Moreover, whether the substrate management controller 21 is powered on by the firmware in the first memory 22 or the firmware in the second memory 23, the firmware update process can be maintained only when the firmware update program is executed. The first memory 22 is updated, so that there is no problem that the first memory 22 and the firmware in the second memory 23 fail to be updated at the same time, and thus the substrate management controller 21 cannot be turned on normally. It should be noted that, in the specification of the present invention, the first memory 22 and the second memory 23 are limited, but the control module 20 may also be provided with two or more sets of memory, the memory. The number is not limited to two groups.

【0040】[0040]

續請參閱圖5,為本發明的第一具體實施例的韌體更新流程圖。如圖5所示,當該控制模組20所使用的韌體需要更新時,該基板管理控制器21首先將該儲存單元211中暫存的該韌體更新檔I1燒錄至該第一記憶體22中(步驟S20),以更新該第一記憶體22中的該工作韌體F1。其中,該基板管理控制器21主要是通過該硬體切換器24內的該第一燒錄通道242對該第一記憶體22中的該工作韌體F1進行更新。Continuing to refer to FIG. 5, a firmware update flowchart of the first embodiment of the present invention is shown. As shown in FIG. 5, when the firmware used by the control module 20 needs to be updated, the baseboard management controller 21 first burns the firmware update file I1 temporarily stored in the storage unit 211 to the first memory. In the body 22 (step S20), the working firmware F1 in the first memory 22 is updated. The base management controller 21 updates the working firmware F1 in the first memory 22 through the first programming channel 242 in the hardware switch 24 .

【0041】[0041]

該步驟S20後,該基板管理控制器21重置(步驟S22)。After the step S20, the substrate management controller 21 is reset (step S22).

【0042】[0042]

在該基板管理控制器21重新通電啟動後,判斷是否可正常讀取該第一記憶體22中的該工作韌體F1(步驟S24)。其中,該基板管理控制器21主要是通過該硬體切換器24內的該第一讀取通道241讀取該第一記憶體22。After the substrate management controller 21 is powered on again, it is determined whether the working firmware F1 in the first memory 22 can be normally read (step S24). The substrate management controller 21 reads the first memory 22 mainly through the first read channel 241 in the hardware switch 24 .

【0043】[0043]

若該基板管理控制器21可以成功讀取該第一記憶體22,則該基板管理控制器21直接讀取該第一記憶體22中的該工作韌體F1,並通過該工作韌體F1的執行以完成該開機程序(步驟S26)。於此實施例中,該工作韌體F1已更新成功。If the substrate management controller 21 can successfully read the first memory 22, the substrate management controller 21 directly reads the working firmware F1 in the first memory 22 and passes through the working firmware F1. Execution to complete the boot process (step S26). In this embodiment, the working firmware F1 has been updated successfully.

【0044】[0044]

若於該步驟S24中,該基板管理控制器21無法成功讀取該第一記憶體22中的該工作韌體F1,則可判斷該工作韌體F1的更新失敗,故該基板管理控制器21切換連接至該第二記憶體23(步驟S28)。具體而言,該基板管理控制器21是通過該硬體切換器24內的該第二讀取通道243連接至該第二記憶體23。If the substrate management controller 21 cannot successfully read the working firmware F1 in the first memory 22 in the step S24, it can be determined that the update of the working firmware F1 fails, so the substrate management controller 21 The connection is switched to the second memory 23 (step S28). Specifically, the substrate management controller 21 is connected to the second memory 23 through the second read channel 243 in the hardware switcher 24.

【0045】[0045]

該步驟S28後,該基板管理控制器21再次重置(步驟S30),並且在重新通電啟動後,即可讀取該第二記憶體23中的該預設韌體F2,並通過該預設韌體F2來進行備援開機(步驟S32)。於其他實施例中,該基板管理控制器21可不執行該步驟S30,而是在讀取該第一記憶體22失敗後,直接切換並讀取該第二記憶體23中的該預設韌體F2,係需視該基板管理控制器21本身的設定來決定,不加以限制。After the step S28, the substrate management controller 21 is reset again (step S30), and after the power-on is started, the preset firmware F2 in the second memory 23 can be read and passed the preset. The firmware F2 is used for backup booting (step S32). In other embodiments, the substrate management controller 21 may not perform the step S30, but directly switch and read the preset firmware in the second memory 23 after failing to read the first memory 22. F2 is determined depending on the setting of the substrate management controller 21 itself, and is not limited.

【0046】[0046]

當該基板管理控制器21成功通過該預設韌體F2完成開機動作後,即通過該GPIO介面3發送該控制訊號至該硬體切換器24,令該基板管理控制器21改切換連接至該第一記憶體22(步驟S34)。更具體而言,該硬體切換器24係通過該控制訊號,將原本連接至該第二記憶體23的該第二燒錄通道244切換連接至該第一記憶體22。該步驟S34後,該基板管理控制器21即返回該步驟S20,並重新執行對該工作韌體F1的該韌體更新程序,直到該工作韌體F1更新成功為止(即,該步驟S26)。After the substrate management controller 21 successfully completes the booting operation through the preset firmware F2, the control signal is sent to the hardware switcher 24 through the GPIO interface 3, so that the baseboard management controller 21 is switched to the switch. The first memory 22 (step S34). More specifically, the hardware switch 24 switches the second programming channel 244 originally connected to the second memory 23 to the first memory 22 through the control signal. After the step S34, the substrate management controller 21 returns to the step S20, and re-executes the firmware update procedure for the working firmware F1 until the working firmware F1 is successfully updated (ie, the step S26).

【0047】[0047]

以上所述僅為本發明之較佳具體實例,非因此即侷限本發明之專利範圍,故舉凡運用本發明內容所為之等效變化,均同理皆包含於本發明之範圍內,合予陳明。The above is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Therefore, equivalent changes to the scope of the present invention are included in the scope of the present invention. Bright.



20‧‧‧控制模組 20‧‧‧Control Module

21‧‧‧基板管理控制器 21‧‧‧Base Management Controller

211‧‧‧儲存單元 211‧‧‧ storage unit

22‧‧‧第一記憶體 22‧‧‧First memory

23‧‧‧第二記憶體 23‧‧‧ Second memory

F1‧‧‧工作韌體 F1‧‧‧ working firmware

F2‧‧‧預設韌體 F2‧‧‧Preset firmware

Claims (10)

【第1項】[Item 1] 一種端點伺服器的控制模組,包括:
一基板管理控制器,連接一機櫃內的一機櫃管理控制器,其中該端點伺服器設置於該機櫃中;
一第一記憶體,電性連接該基板管理控制器,儲存有一工作韌體,該基板管理控制器讀取該工作韌體以執行一開機程序,並執行一韌體更新程序以更新該工作韌體;
一第二記憶體,電性連接該基板管理控制器,儲存有一預設韌體,當該工作韌體更新失敗且該基板管理控制器無法通過該工作韌體開機時,讀取該預設韌體以執行該開機程序;
其中,該基板管理控制器通過該預設韌體完成該開機程序後,於開機狀態下切換連接至該第一記憶體,並重新對該工作韌體執行該韌體更新程序。
A control module for an endpoint server, comprising:
a baseboard management controller is connected to a cabinet management controller in a cabinet, wherein the endpoint server is disposed in the cabinet;
a first memory body electrically connected to the substrate management controller, storing a working firmware, the substrate management controller reading the working firmware to execute a booting process, and executing a firmware update program to update the working firmware body;
a second memory is electrically connected to the substrate management controller, and stores a preset firmware. When the working firmware fails to be updated and the substrate management controller cannot boot through the working firmware, the preset toughness is read. To perform the boot process;
After the booting process is completed by the preset firmware, the baseboard management controller switches to the first memory in the power-on state, and performs the firmware update procedure on the working firmware again.
【第2項】[Item 2] 如請求項1所述的控制模組,其中該第一記憶體與該第二記憶體為唯讀記憶體(Read Only Memory,ROM)。The control module of claim 1, wherein the first memory and the second memory are read only memory (ROM). 【第3項】[Item 3] 如請求項2所述的控制模組,其中該基板管理控制器具有一儲存單元,暫存一韌體更新檔,該韌體更新程序係將該韌體更新檔燒錄至該第一記憶體中以更新該工作韌體。The control module of claim 2, wherein the baseboard management controller has a storage unit for temporarily storing a firmware update file, and the firmware update program burns the firmware update file to the first memory. To update the working firmware. 【第4項】[Item 4] 如請求項2所述的控制模組,其中更包括一硬體切換器,具有電性連接該基板管理控制器與該第一記憶體的一第一讀取通道與一第一燒錄通道,以及電性連接該基板管理控制器與該第二記憶體的一第二讀取通道與一第二燒錄通道,並且該基板管理控制器通過一GPIO介面電性連接該基板管理控制器的一切換腳位。The control module of claim 2, further comprising a hardware switch having a first read channel and a first burn channel electrically connected to the substrate management controller and the first memory, And electrically connecting the substrate management controller with a second read channel and a second burn channel of the second memory, and the substrate management controller is electrically connected to the substrate management controller through a GPIO interface Switch the pin. 【第5項】[Item 5] 如請求項4所述的控制模組,其中該基板管理控制器通過該第一讀取通道讀取該工作韌體以執行該開機程序;於通過該工作韌體開機時,通過該第一燒錄通道燒錄一韌體更新檔至該第一記憶體中以更新該工作韌體;於無法通過該工作韌體開機時,通過該第二讀取通道讀取該預設韌體以執行該開機程序。The control module of claim 4, wherein the baseboard management controller reads the working firmware through the first read channel to execute the booting process; and when the booting is performed by the working firmware, the first burning is performed Recording a firmware update file to the first memory to update the working firmware; when the working firmware cannot be turned on, reading the preset firmware through the second read channel to perform the Boot program. 【第6項】[Item 6] 如請求項5所述的控制模組,其中該基板管理控制器通過該預設韌體完成該開機程序後,通過該GPIO介面發送一控制指令至該硬體切換器,以將該第二燒錄通道切換連接至該第一記憶體,並且該基板管理控制器通過該第二燒錄通道將該韌體更新檔燒錄至該第一記憶體中,以對該工作韌體進行更新。The control module of claim 5, wherein the substrate management controller completes the booting process through the preset firmware, and sends a control command to the hardware switch through the GPIO interface to The recording channel is switched to the first memory, and the substrate management controller burns the firmware update file into the first memory through the second programming channel to update the working firmware. 【第7項】[Item 7] 一種如請求項1所述的控制模組使用的韌體更新方法,包括:
a)判斷該基板管理控制器是否可讀取該第一記憶體中的該工作韌體;
b)若可正常讀取該工作韌體,依據該工作韌體執行該開機程序;
c)承步驟b,執行該韌體更新程序以對該工作韌體進行更新;
d)若無法讀取該工作韌體,依據該第二記憶體中的該預設韌體執行該開機程序;
e)步驟d後,於開機狀態下切換連接至該第一記憶體,並對該工作韌體執行該韌體更新程序。
A firmware updating method used by the control module according to claim 1, comprising:
a) determining whether the base management controller can read the working firmware in the first memory;
b) if the working firmware can be normally read, the booting process is executed according to the working firmware;
c) in step b, executing the firmware update procedure to update the working firmware;
d) if the working firmware cannot be read, performing the booting process according to the preset firmware in the second memory;
e) After the step d, the connection to the first memory is switched in the power-on state, and the firmware update procedure is executed on the working firmware.
【第8項】[Item 8] 如請求項7所述的韌體更新方法,其中該步驟a之前更包括下列步驟:
a01)該基板管理控制器將一韌體更新檔燒錄至該第一記憶體中,以更新該工作韌體;及
a02)該基板管理控制器重置。
The firmware update method of claim 7, wherein the step a further comprises the following steps:
A01) the baseboard management controller burns a firmware update file to the first memory to update the working firmware; and
A02) The baseboard management controller is reset.
【第9項】[Item 9] 如請求項7所述的韌體更新方法,其中該控制模組更包括一硬體切換器,具有電性連接該基板管理控制器與該第一記憶體的一第一讀取通道與一第一燒錄通道,以及電性連接該基板管理控制器與該第二記憶體的一第二讀取通道與一第二燒錄通道,並且該基板管理控制器通過一GPIO介面電性連接該基板管理控制器的一切換腳位。The firmware update method of claim 7, wherein the control module further includes a hardware switch having a first read channel and a first electrical connection between the substrate management controller and the first memory a recording channel, and a second reading channel and a second programming channel electrically connected to the substrate management controller and the second memory, and the substrate management controller electrically connects the substrate through a GPIO interface Manage a switch pin of the controller. 【第10項】[Item 10] 如請求項9所述的韌體更新方法,其中該步驟a中,該基板管理控制器通過該第一讀取通道讀取該工作韌體;該步驟c中,該基板管理控制器通過該第一燒錄通道將一韌體更新檔燒錄至該第一記憶體中以更新該工作韌體;該步驟d中,該基板管理控制器通過該第二讀取通道讀取該預設韌體;該步驟e中,該基板管理控制器通過該GPIO介面發送一控制指令至該硬體切換器,以將該第二燒錄通道切換連接至該第一記憶體,並且該基板管理控制器通過該第二燒錄通道重新更新該工作韌體。The firmware update method of claim 9, wherein in the step a, the substrate management controller reads the working firmware through the first read channel; in the step c, the substrate management controller passes the first a programming channel burns a firmware update file to the first memory to update the working firmware; in the step d, the substrate management controller reads the preset firmware through the second read channel In the step e, the substrate management controller sends a control command to the hardware switch through the GPIO interface to switch the second programming channel to the first memory, and the substrate management controller passes The second programming channel re-updates the working firmware.
TW104105023A 2015-02-13 2015-02-13 Control module of server node and firmware updating method for the control module TWI547873B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
TW104105023A TWI547873B (en) 2015-02-13 2015-02-13 Control module of server node and firmware updating method for the control module
RU2015118446/08A RU2600101C1 (en) 2015-02-13 2015-05-18 Assembly control module and method of firmware updating for this control module

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104105023A TWI547873B (en) 2015-02-13 2015-02-13 Control module of server node and firmware updating method for the control module

Publications (2)

Publication Number Publication Date
TW201629757A true TW201629757A (en) 2016-08-16
TWI547873B TWI547873B (en) 2016-09-01

Family

ID=57138741

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104105023A TWI547873B (en) 2015-02-13 2015-02-13 Control module of server node and firmware updating method for the control module

Country Status (2)

Country Link
RU (1) RU2600101C1 (en)
TW (1) TWI547873B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI655582B (en) * 2017-09-12 2019-04-01 神雲科技股份有限公司 Server with dual firmware storage space and firmware update method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11461085B2 (en) 2019-03-06 2022-10-04 Quanta Computer Inc. Firmware upgrade method in multiple node storage system
TWI768769B (en) * 2021-03-16 2022-06-21 英業達股份有限公司 Server motherboard for single-processor system

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050267964A1 (en) * 2004-04-28 2005-12-01 Guenter Kech Method for providing apparatus specific information and corresponding system
TW201020779A (en) * 2008-11-18 2010-06-01 Inventec Corp System for auto-operating backup firmware and method thereof
TW201222413A (en) * 2010-11-22 2012-06-01 Hon Hai Prec Ind Co Ltd System and method for updating firmware of a baseboard management controller
CN102855146B (en) * 2011-06-30 2016-05-11 鸿富锦精密工业(深圳)有限公司 Firmware update system and method
TW201331841A (en) * 2012-01-16 2013-08-01 Asmedia Technology Inc Electronic apparatus and BIOS updating apparatus thereof
CN104182375A (en) * 2013-05-27 2014-12-03 鸿富锦精密工业(深圳)有限公司 Rack server boot configuration system and method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI655582B (en) * 2017-09-12 2019-04-01 神雲科技股份有限公司 Server with dual firmware storage space and firmware update method thereof

Also Published As

Publication number Publication date
TWI547873B (en) 2016-09-01
RU2600101C1 (en) 2016-10-20

Similar Documents

Publication Publication Date Title
US8219719B1 (en) SAS controller with persistent port configuration
US20160306623A1 (en) Control module of node and firmware updating method for the control module
US10698679B2 (en) Server with double-firmware storage space and firmware update method therefor
US8386764B2 (en) BIOS architecture
TWI633487B (en) Method and computer system for automatically recovering the bios image file
TWI724415B (en) A multi-node storage system and method for updating firmware thereof
TWI576682B (en) Rack havng multi-rmms and firmware updating method for the rack
CN105988844A (en) Control module of endpoint server and firmware update method thereof
US20120303940A1 (en) System, method and program product to manage firmware on a system board
US20070288737A1 (en) Service processor host flash update over LPC
US20130262700A1 (en) Information processing system and virtual address setting method
US20150365781A1 (en) Server systems
US20170286128A1 (en) BOOT online upgrading device and method
TWI547873B (en) Control module of server node and firmware updating method for the control module
EP2648095B1 (en) System and method for controlling the booting of a computer
JP2011204267A (en) Method of synchronizing basic input/output program between data processing devices, and computer program
TWI528287B (en) Server system
CN109684153B (en) Server with double firmware storage spaces and firmware updating method thereof
US9385920B1 (en) Rack having multiple rack management modules and firmware updating method for the same
CN105843336B (en) Cabinet and its firmware updating method with more cabinet management modules
US9529581B2 (en) Circuit and method for writing program codes of basic input/output system
TWI704460B (en) A method of maintaining memory sharing in clustered system
JP4483947B2 (en) I / O controller
CN218974903U (en) Domestic server BIOS firmware backup device
TWI789627B (en) Storage equipment and control system

Legal Events

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