A BMC update method for multi-board computing devices
By employing in-band and out-of-band update methods in multi-board computing devices and utilizing serial port and IPMB communication, online BMC updates were achieved, solving the problem of cumbersome and time-consuming traditional update methods and improving update efficiency.
Patent Information
- Application Number
- CN202411758121.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-03
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2044-12-03
AI Technical Summary
Traditional BMC update methods are cumbersome and time-consuming in multi-board computing devices, and in some environments, the boards are not easy to remove for updates, making updates difficult.
Two update methods are adopted: in-band and out-of-band. The BMC program file is transmitted through the serial port between the CPU and the BMC using the IPMI-Serial protocol and the ymodem transmission protocol, and the program file transmission and update between boards is realized by using IPMB communication.
Online BMC updates have been implemented, reducing reliance on programmers, simplifying the update process, improving update efficiency, and enabling updates to be completed for all boards without removing them.
Smart Images

Figure CN119829103B_ABST
Abstract
Description
Technical Field
[0001] This invention belongs to the field of program upgrades, specifically relating to a BMC update method for multi-board computing devices. Background Technology
[0002] A Block Control Center (BMC) is a dedicated controller used for monitoring and managing circuit boards. It operates independently of the circuit board system, with its own processing chip and memory. It ensures the normal operation of the circuit board system by monitoring information such as temperature and voltage. Multi-board computing devices are used to handle complex computing tasks. Typically, each board has its own BMC. Each board transmits its own health information to the same master node, which then reports the overall health information of the computer to the outside world. During operation, the BMC uses flash memory to store its program content. Traditionally, BMC updates are done offline, burning the compiled code files into the flash memory using a programmer.
[0003] To meet increasingly complex computing demands, the number of circuit boards in computing devices is constantly increasing, making traditional BMC (Browser Control Center) update methods cumbersome and time-consuming. Furthermore, in many cases, computing devices do not have a corresponding programming interface for each circuit board, requiring the boards to be removed individually and the program to be programmed into the flash memory using a dedicated debugging baseboard to complete the BMC update, further increasing the workload. In addition, in some constrained environments, it is not easy to remove the boards from the device for program updates. Therefore, it is necessary to design a reliable and convenient online update method to efficiently complete BMC update and upgrade tasks. Summary of the Invention
[0004] (a) Technical problems to be solved
[0005] The technical problem to be solved by this invention is how to provide a BMC update method for multi-board computing devices, so as to solve the problem of cumbersome and difficult BMC update and upgrade of multi-board computing devices.
[0006] (II) Technical Solution
[0007] To address the aforementioned technical problems, this invention proposes a BMC update method for multi-board computing devices, which provides two update modes: in-band update and out-of-band update.
[0008] In the in-band update method, the CPU and BMC use a serial port to transfer the compiled BMC program bin file to the BMC's flash backup area via the IPMI-Serial protocol;
[0009] The compiled BMC program bin file is transferred to the BMC's flash backup area via serial port using the Ymodem transmission protocol in an out-of-band manner.
[0010] Then, BMC switches to update mode, updates the contents of the flash backup area to the main program area, and then restarts to complete the online self-update;
[0011] Meanwhile, the BMC transmits the program file to the flash backup area of the BMC of other boards via IPMB communication. Then, the board switches to update mode and writes the contents of the backup area to its main program area, completing the update from the BMC.
[0012] (III) Beneficial Effects
[0013] This invention proposes a BMC update method for multi-board computing devices. The key point of this invention is:
[0014] 1. For in-band updates, this invention utilizes the service serial port between the CPU and the BMC to add the function of updating the BMC, enabling updates and upgrades to be performed within the board system.
[0015] 2. For out-of-band updates, this board uses the commonly used minicom tool and its supported ymoden transmission protocol to transmit the BMC program file to complete the update; 3. This invention utilizes the interconnection characteristics of the BMCs of multiple boards in a computing device, and uses IPMB communication to realize the function of updating the BMCs of all boards in the device from a single board.
[0016] The present invention has the following beneficial effects:
[0017] 1. An online BMC update method is provided, which eliminates the need to use a programmer to connect to the programming interface to program and update the BMC, greatly reducing the workload of BMC updates.
[0018] 2. Provides both in-band and out-of-band BMC update methods, enriching the BMC update methods. Attached Figure Description
[0019] Figure 1 This is a diagram of the architecture of a multi-board computing device.
[0020] Figure 2 This is a schematic diagram of the Flash region division of the BMC of the present invention;
[0021] Figure 3 This is a flowchart of the BMC in-band update process of the present invention;
[0022] Figure 4 This is a flowchart of the BMC out-of-band update process of the present invention. Detailed Implementation
[0023] To make the objectives, contents, and advantages of the present invention clearer, the specific embodiments of the present invention will be described in further detail below with reference to the accompanying drawings and examples.
[0024] The main objective of this invention is to provide an online BMC update method, solving the problem of cumbersome and difficult BMC updates and upgrades for multi-board computing devices. This invention provides two update methods: in-band update and out-of-band update.
[0025] In the in-band update method, the CPU and BMC use a serial port to transfer the compiled BMC program bin file to the BMC's flash backup area via the IPMI-Serial protocol.
[0026] In out-of-band mode, the compiled BMC program bin file is transferred to the BMC's flash backup area via serial port using the Ymodem transmission protocol.
[0027] Then, BMC switches to update mode, updates the contents of the flash backup area to the main program area, and then restarts to complete the online self-update.
[0028] Meanwhile, the BMC can transfer program files to the flash backup area of other boards' BMCs via IPMB communication. Then, the board switches to update mode and writes the contents of the backup area to its main program area, completing the update from the BMC.
[0029] In addition, the BMC can also update its own and other boards' BMC online update programs via serial port and IPMB. This allows a single master BMC to complete BMC updates for all boards in the entire computing device, improving BMC update efficiency.
[0030] Example 1:
[0031] The electronic device architecture implemented in this invention is as follows: Figure 1 As shown, this multi-board computing device has various types of boards, including power boards, switching boards, computing boards, AI boards, and graphics boards. Each board has its own BMC (Board Management Center), and the BMCs of the boards are interconnected via the IIC bus and communicate using IPMB (IP Bus Interface). The computing board BMC is designated as the master BMC, and the other boards act as slave BMCs for online BMC updates.
[0032] The Flash area division between the motherboard card and the slave card BMC is as follows: Figure 2 As shown, there is a BMC main program area, a backup area for temporarily storing update code, and an update program area for writing the contents of the backup area to the main program area. Different boards communicate with each other via IPMB.
[0033] Figure 3 This is a flowchart of the in-band update process of the technical solution of the present invention. The in-band update method of BMC shown specifically includes the following steps:
[0034] S11. Transfer the BMC program file to be updated and the BMC online update program to the motherboard card system, store them on the hard disk, and run the BMC online update program.
[0035] S12: The BMC online update program determines whether to update the BMC of this board or another board based on user input. If updating the BMC of this board, proceed to S13. If updating the BMC of another board, the IPMB communication address of the target board needs to be entered, and the communication between this board and the target board needs to be checked. If the communication is normal, proceed to S13; otherwise, end.
[0036] Specifically, the BMC online update program is a command-line interactive software that can receive user input and perform corresponding operations. After the BMC online update program runs, it will print a menu in the terminal: 'a' update this board, 'b' update other boards. The user can enter 'a' or 'b' to select.
[0037] S13. Select the BMC program file to be updated and enter the file path. This file path is the path where the BMC program file to be updated is stored after being transferred to the board system in step S1.
[0038] S14. Transfer program files to the target board's backup area. If updating the BMC of this board, the file is transferred to the Flash backup area of this board via the communication serial port between the CPU and the BMC; if updating the BMC of another board, the update data received from the CPU serial port is transferred to the Flash backup area of the target board via the IIC bus connecting the BMC of this board to the BMC of the other board using IPMB.
[0039] S15. After the BMC program file transfer is completed, BMC switches to update mode, writes the contents of the backup area to the main program area, and then restarts to complete the update operation.
[0040] Figure 4 This is a flowchart of the out-of-band update process of the technical solution of the present invention. The BMC out-of-band update method shown specifically includes the following steps:
[0041] S21. Connect the debugging computer to the motherboard card's BMC serial port. The debugging computer should have the compiled BMC program file and the minicom serial port tool.
[0042] S22. Connect to the BMC serial port using the minicom serial port tool.
[0043] S23. Enter the BMC update command in the serial port console. The serial port console provides the user with the option to update this board or other boards.
[0044] S24. The BMC determines whether to update the BMC of this board or another board based on the input command parameters. If updating the BMC of this board, proceed to S25. If updating the BMC of another board, the IPMB communication address of the target board needs to be entered, and the communication between this board and the target board needs to be checked. If the communication is normal, proceed to S25; otherwise, end.
[0045] S25. Transfer program files to the target board's backup area. Select the program file and use the minicom serial port tool to transfer it to the Flash backup area of this board via the YModen protocol. If updating the BMC of another board, the update data received from the CPU serial port must be transferred to the Flash backup area of the target board via the IIC bus connecting this board's BMC to the BMC of other boards, using IPMB.
[0046] S26. After the BMC program file transfer is completed, BMC switches to update mode, writes the contents of the backup area to the main program area, and then restarts to complete the update operation.
[0047] The key point of this invention is:
[0048] 1. For in-band updates, this invention utilizes the service serial port between the CPU and the BMC to add the function of updating the BMC, enabling updates and upgrades to be performed within the board system.
[0049] 2. For out-of-band updates, this board uses the commonly used minicom tool and its supported ymoden transmission protocol to transmit the BMC program file to complete the update; 3. This invention utilizes the interconnection characteristics of the BMCs of multiple boards in a computing device, and uses IPMB communication to realize the function of updating the BMCs of all boards in the device from a single board.
[0050] The present invention has the following beneficial effects:
[0051] 1. An online BMC update method is provided, which eliminates the need to use a programmer to connect to the programming interface to program and update the BMC, greatly reducing the workload of BMC updates.
[0052] 2. Provides both in-band and out-of-band BMC update methods, enriching the BMC update methods.
[0053] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the technical principles of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A BMC update method for a multi-board computing device, characterized in that, This method provides two update methods: in-band update and out-of-band update; In the in-band update method, the CPU and BMC use a serial port to transfer the compiled BMC program bin file to the BMC's flash backup area via the IPMI-Serial protocol; The compiled BMC program bin file is transferred to the BMC's flash backup area via serial port using the Ymodem transmission protocol in an out-of-band manner. Then, BMC switches to update mode, updates the contents of the flash backup area to the main program area, and then restarts to complete the online self-update; Meanwhile, the BMC transmits the program file to the flash backup area of the BMC of other boards via IPMB communication. Then, the board switches to update mode and writes the contents of the backup area to its main program area, completing the update from the BMC.
2. The BMC update method for a multi-board computing device as described in claim 1, characterized in that, The multi-board computing device has various types of boards, including: power boards, switching boards, computing boards, AI boards, and image boards; each board has its own BMC, and the board BMCs are interconnected through the IIC bus and communicate using IPMB.
3. The BMC update method for a multi-board computing device as described in claim 2, characterized in that, The computing board BMC acts as the master BMC, while the other boards act as slave BMCs to perform online BMC updates.
4. The BMC update method for a multi-board computing device as described in claim 1, characterized in that, The Flash area of the motherboard card and slave card BMC is divided into: the BMC main program area, the backup area for temporary storage of update code, and the update program area for writing the contents of the backup area to the main program area.
5. The BMC update method for a multi-board computing device as described in any one of claims 1-4, characterized in that, The in-band update method includes the following steps: S11. Transfer the BMC program file to be updated and the BMC online update program to the motherboard card system, and run the BMC online update program; S12: The BMC online update program determines whether to update the BMC of this board or the BMC of another board based on the user input. If it updates the BMC of this board, proceed to S13. If it updates the BMC of another board, it is necessary to input the IPMB communication address of the target board and check whether the communication between this board and the target board is normal. If the communication is normal, proceed to S13; otherwise, end. S13. Select the BMC program file to be updated and enter the file path; S14. Transfer program files to the target board's backup area; if updating the BMC of this board, transfer the file to the Flash backup area of this board through the communication serial port between the CPU and the BMC; if updating the BMC of other boards, use the IIC bus connecting the BMC of this board and the BMC of other boards to transfer the update data received from the CPU serial port to the Flash backup area of the target board using IPMB. S15. After the BMC program file transfer is completed, BMC switches to update mode, writes the contents of the backup area to the main program area, and then restarts to complete the update operation.
6. The BMC update method for a multi-board computing device as described in claim 5, characterized in that, In step S11, the program file is stored on the hard disk within the motherboard card system.
7. The BMC update method for a multi-board computing device as described in claim 5, characterized in that, In S12, the BMC online update program is a command-line interactive software used to receive user input and perform corresponding operations. Specifically, after the BMC online update program runs, it will print a menu in the terminal, with options a for updating this board and b for updating other boards. The user can select by entering either a or b.
8. The BMC update method for a multi-board computing device as described in any one of claims 1-4, characterized in that, The out-of-band update method includes the following steps: S21. Connect the debugging computer to the BMC serial port of the motherboard card. The debugging computer should have the compiled BMC program file and the minicom serial port tool. S22. Connect to the BMC serial port using the minicom serial port tool; S23. Enter the BMC update command in the serial port console; S24. The BMC determines whether to update the BMC of this board or the BMC of another board based on the input command parameters. If it updates the BMC of this board, proceed to S25. If it updates the BMC of another board, it is necessary to input the IPMB communication address of the target board and check whether the communication between this board and the target board is normal. If the communication is normal, proceed to S25; otherwise, end. S25. Transfer program files to the target board's backup area; Select the program file and use the minicom serial port tool to transfer it to the Flash backup area of this board via the ymoden protocol; If updating the BMC of other boards, the update data received from the CPU serial port must be transferred to the Flash backup area of the target board via the IIC bus connecting the BMC of this board to the BMC of other boards using IPMB. S26. After the BMC program file transfer is completed, BMC switches to update mode, writes the contents of the backup area to the main program area, and then restarts to complete the update operation.
9. The BMC update method for a multi-board computing device as described in claim 8, characterized in that, In step S23, the serial port console provides the user with the option to update this board or update other boards.
10. The BMC update method for a multi-board computing device as described in claim 1, characterized in that, BMC updates its own and other boards' BMC online update programs via serial port and IPMB.