A cloud server, a remote flashing method, a computer device and a storage medium

By introducing a baseboard management controller into the cloud server, the flashing and repair of the core board can be remotely controlled, which solves the problem of low flashing efficiency of cloud server hardware, improves flashing efficiency and maintenance and repair efficiency, and reduces hardware wear and manual operation.

CN120762683BActive Publication Date: 2026-06-23GUANGDONG XINCHAO TECHNOLOGY CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
GUANGDONG XINCHAO TECHNOLOGY CO LTD
Filing Date
2025-04-29
Publication Date
2026-06-23

AI Technical Summary

Technical Problem

Flashing cloud server hardware is inefficient, requires a lot of manual operation, and the hardware is prone to damage from repeated disassembly and reassembly. Repair is inefficient and risky, affecting users' business.

Method used

A baseboard management controller is introduced into the cloud server. The server motherboard and the carrier board are connected via a data cable to enable remote control of the core board flashing, reducing manual operation. Multi-channel concurrent technology is used for flashing and repair.

Benefits of technology

It improved flashing efficiency, reduced hardware wear and tear, enhanced maintenance and repair efficiency, reduced manual operation time, and minimized the impact on user business.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120762683B_ABST
    Figure CN120762683B_ABST
Patent Text Reader

Abstract

The application discloses a cloud server, a remote flashing method, a computer device and a storage medium. The cloud server comprises a plurality of carrier boards, each carrier board comprising a carrier board control unit and a plurality of core boards, the carrier board control unit being in communication connection with the plurality of core boards; a server mainboard, the server mainboard comprising a baseboard management controller and a mainboard control unit in communication connection, the mainboard control unit and the carrier board control unit being in communication connection through a data line connected between the server mainboard and each carrier board; wherein each core board is mapped into a corresponding virtual device on the baseboard management controller, and the baseboard management controller controls the corresponding core board to perform flashing by operating each virtual device. In the foregoing manner, the application can realize remote access to the core board by the baseboard management controller through the data line communication connection between the server mainboard and each carrier board, control the core board to perform flashing, improve the flashing efficiency, reduce the flashing time consumption, reduce the disassembly of the core board and reduce the core board loss.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of cloud server flashing, and in particular to a cloud server, a remote flashing method, a computer device, and a storage medium. Background Technology

[0002] Currently, the method for flashing system firmware on cloud servers involves manually flashing each component piece by piece before installing it into the cloud server. This method has the following problems:

[0003] 1. Flashing the firmware is inefficient and requires a lot of manual operation;

[0004] 2. Repeated disassembly and reassembly of hardware can easily cause damage.

[0005] During cloud server operation, if a hardware component malfunctions, the entire cloud server must be powered off before hardware repair can be performed. This approach presents the following problems:

[0006] 1. The repair efficiency is low, requiring manual on-site operation;

[0007] 2. The risk is high, it will affect the user's business, and other hardware may be damaged. Summary of the Invention

[0008] This application mainly provides a cloud server, a remote flashing method, a computer device, and a storage medium to solve the problems of low flashing efficiency and high wear and tear in the prior art.

[0009] To solve the above-mentioned technical problems, this application adopts the following technical solution: A cloud server is provided, characterized in that the cloud server includes: multiple carrier boards, each carrier board including a carrier board control unit and multiple core boards, the carrier board control unit being communicatively connected to the multiple core boards; a server motherboard, the server motherboard including a baseboard management controller and a motherboard control unit being communicatively connected, the motherboard control unit and the carrier board control unit being communicatively connected via a data line connecting the server motherboard and each carrier board; wherein each core board is mapped to a corresponding virtual device on the baseboard management controller, and the baseboard management controller controls the corresponding core board to perform flashing by operating each virtual device.

[0010] In one optional embodiment of this application, the number of the baseboard management controller is one, the number of the motherboard control unit and the number of the data lines are multiple and are configured one-to-one with the carrier board, and each motherboard control unit and each carrier board control unit are respectively connected to each other through a corresponding data line.

[0011] In one optional embodiment of this application, the baseboard management controller is used to concurrently perform multi-channel brushing of the core boards on multiple carrier boards.

[0012] In one optional embodiment of this application, the baseboard management controller is used to set the corresponding virtual device to a flashing state. Then, it generates a first instruction with the address of the core board associated with the virtual device and sends it to the motherboard control unit. The motherboard control unit communicates with the carrier board control unit on the corresponding carrier board to set the core board to a flashing state.

[0013] In one optional embodiment of this application, the baseboard management controller is used to generate a flashing command with the address of the core board associated with the virtual device and send it to the motherboard control unit. The motherboard control unit communicates with the corresponding carrier board control unit to sequentially set the core board to flashing state, burn a bootloader to the core board, set the core board to loading mode, and burn the kernel and file system to be loaded to the core board.

[0014] In one optional embodiment of this application, the core board includes a first memory, the carrier board includes a second memory, and the storage capacity of the first memory is smaller than the storage capacity of the second memory.

[0015] The first memory is used to store the bootloader program, and the second memory is used to store the kernel and the file system.

[0016] In one optional embodiment of this application, the baseboard management controller is used to control each core board on each carrier board to be flashed sequentially.

[0017] To solve the above-mentioned technical problems, this application adopts the following technical solution: A remote flashing method is provided, applied to a cloud server, characterized in that the cloud server includes multiple carrier boards and a server motherboard, each carrier board includes a carrier board control unit and multiple core boards, the carrier board control unit being communicatively connected to the multiple core boards; the server motherboard includes a baseboard management controller and a motherboard control unit communicatively connected, the motherboard control unit and the carrier board control unit being communicatively connected via a data line connecting the server motherboard and each carrier board; wherein each core board is mapped to a corresponding virtual device on the baseboard management controller, and the baseboard management controller controls the corresponding core board to flash by operating each virtual device; the remote flashing method includes:

[0018] In response to the flashing command received by the baseboard management controller, the baseboard management controller sets the corresponding virtual device to flashing state, and then generates a first command with the address of the core board associated with the virtual device and sends it to the motherboard control unit.

[0019] In response to the first instruction received by the motherboard control unit, the motherboard control unit communicates with the corresponding carrier board control unit on the carrier board to set the core board to flashing mode.

[0020] To solve the above-mentioned technical problems, another technical solution adopted in this application is: to provide a computer device, including a memory, a processor and a computer program stored in the memory, characterized in that the processor executes the computer program to implement the steps of the remote flashing method described above.

[0021] To solve the above-mentioned technical problems, another technical solution adopted in this application is: to provide a computer-readable storage medium storing a computer program thereon, characterized in that the computer program, when executed by a processor, implements the steps of the remote flashing method described above.

[0022] The beneficial effects of this application are as follows: Unlike existing technologies, this application discloses a cloud server. This cloud server includes multiple carrier boards and a server motherboard. Each carrier board includes a carrier board control unit and multiple core boards, with the carrier board control unit communicatively connected to the multiple core boards. The server motherboard includes a baseboard management controller and a motherboard control unit, which are communicatively connected. The motherboard control unit and the carrier board control unit are communicatively connected via data lines between the server motherboard and each carrier board. Each core board is mapped to a corresponding virtual device on the baseboard management controller. The baseboard management controller controls the corresponding core board to perform flashing by operating each virtual device. This cloud server, by adding a baseboard management controller to the server motherboard and communicating with each carrier board via data lines, enables remote access to the core boards and remote control of the core boards for flashing. This reduces core board disassembly and assembly, decreases core board wear in each server, improves flashing efficiency, reduces flashing time, and enhances maintenance and repair efficiency. Attached Figure Description

[0023] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort, wherein:

[0024] Figure 1 This is a schematic diagram of the cloud server structure of Embodiment 1 of the cloud server provided in this application;

[0025] Figure 2 This is a schematic diagram of the structure of the server motherboard and carrier board with a USB serial port controller provided in the first embodiment of the cloud server provided in this application;

[0026] Figure 3 This is a schematic diagram illustrating the steps of setting the core board to flashing state in the first embodiment of the cloud server provided in this application;

[0027] Figure 4 This is a schematic diagram illustrating the steps of the cloud server programming system provided in Embodiment 1 of this application;

[0028] Figure 5 This is a schematic diagram illustrating the steps of setting the core board to a normal state in the first embodiment of the cloud server provided in this application;

[0029] Figure 6 This is a schematic diagram of the multi-channel concurrent flashing process for 96 core boards in the first embodiment of the cloud server provided in this application;

[0030] Figure 7 This is a schematic diagram of the steps in Embodiment 2 of the remote flashing method provided in this application. Detailed Implementation

[0031] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of the embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.

[0032] The terms "first," "second," and "third" used in the embodiments of this application are for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, a feature defined as "first," "second," or "third" may explicitly or implicitly include at least one of that feature. In the description of this application, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion. For example, a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally include steps or units not listed, or may optionally include other steps or units inherent to these processes, methods, products, or devices.

[0033] In this document, the term "embodiment" means that a particular feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of this application. The appearance of this phrase in various places throughout the specification does not necessarily refer to the same embodiment, nor is it a mutually exclusive, independent, or alternative embodiment. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described herein can be combined with other embodiments.

[0034] Example 1

[0035] This application provides a cloud server, referring to... Figure 1 , Figure 1 This is a schematic diagram of the cloud server structure of the first embodiment of the cloud server provided in this application. The cloud server includes multiple carrier boards 10, each carrier board 10 includes a carrier board control unit 11 and multiple core boards 12, and the carrier board control unit 11 is communicatively connected to the multiple core boards 12.

[0036] Server motherboard 20, the server motherboard 20 includes a baseboard management controller 21 and a motherboard control unit 22 that are communicatively connected. The motherboard control unit 22 and the carrier board control unit 11 are communicatively connected through a data line connected between the server motherboard 20 and each carrier board 10.

[0037] Each core board 12 is mapped to a corresponding virtual device on the baseboard management controller 21. The baseboard management controller controls the corresponding core board 12 to perform flashing by operating each virtual device through the baseboard management controller 21.

[0038] In this embodiment, the cloud server includes multiple carrier boards 10. A carrier board is an expansion circuit board used to carry and connect core computing modules (i.e., core boards, such as SOM or CPU modules), primarily used in embedded systems or modular hardware designs. The number of carrier boards 10 depends on the server in which they reside. For example, in high-density servers (such as multi-node / blade servers), heterogeneous computing (CPU+GPU separation), and storage servers, the number of carrier boards is typically 2 to N. For instance, a storage server includes one motherboard and multiple hard drive backplane carrier boards. In this application, the number of carrier boards 10 in the cloud server is not limited.

[0039] Each carrier board 10 includes a carrier board control unit 11 and multiple core boards 12. The carrier board control unit 11 is a microcontroller unit (MCU) embedded on the carrier board 10. An MCU is a highly integrated microcomputer system that integrates the CPU, memory, storage, and peripheral interfaces onto a single chip, responsible for low-level tasks such as hardware management, status monitoring, and communication control. The core boards 12 are located on the carrier boards 10 and can communicate with each other via board-to-board connectors. For example, the core boards 12 can interconnect with the carrier boards 10 via high-speed connectors, providing signal channels such as PCIe, USB, and SATA. The signal transmission between the core boards 12 and the carrier boards 10 can be high-speed signals or low-speed management buses. In this embodiment, the signal transmission between the core boards 12 and the carrier boards 10 is illustrated using USB signal transmission as an example.

[0040] The carrier board control unit 11 communicates with multiple core boards 12 in a one-to-many manner, meaning that a communication connection is established between the carrier board control unit 11 and each core board 12. The connection method can be a low-speed management bus, such as I2C / SMBus or UART (serial port), or a high-speed data interface, such as SPI or CAN bus, or direct control via GPIO. In this application, the specific connection method between the carrier board control unit 11 and the multiple core boards 12 is not limited.

[0041] In this embodiment, the cloud server also includes a server motherboard 20. The server motherboard 20 is a core hardware platform designed specifically for servers, used to house the CPU, memory, storage, network, and other critical components, ensuring high performance, high reliability, and long-term stable operation. Common server motherboard types include x86 server motherboards, ARM server motherboards, and RISC-V server motherboards. In this embodiment, an ARM server motherboard is used as an example for explanation.

[0042] The server motherboard 20 includes a Baseboard Management Controller 21, which is communicatively connected to the server motherboard 20. The Baseboard Management Controller 21 (BMC) is used to monitor and manage the server's hardware resources. Independent of the main processor and operating system, the Baseboard Management Controller 21 has its own processor, memory, and operating system, and can function normally even when the server is powered off. Through remote access functionality, the Baseboard Management Controller 21 allows administrators to remotely monitor and manage the server's hardware status, perform fault diagnosis, and repair. Therefore, administrators can remotely control the server's hardware and perform corresponding operations through the Baseboard Management Controller 21. In this embodiment, the Baseboard Management Controller 21 can be implemented using an ARM architecture processor.

[0043] The server motherboard 20 is communicatively connected to the baseboard management controller 21. The communication connection can be via IPMI 2.0 protocol and KCS register hardware interface, IPMI 2.0 protocol and PCIe or dedicated pins as hardware interface, or proprietary protocol and I2C / SMBus hardware interface, etc. In this embodiment, the communication connection between the server motherboard 20 and the baseboard management controller 21 is illustrated using a USB data cable (connected via a USB serial port controller) as an example.

[0044] The server motherboard 20 also includes a motherboard control unit 22, which is a microcontroller embedded on the server motherboard 20.

[0045] The server motherboard 20 and each carrier board 10 establish a one-to-many communication connection via data cables, meaning the server motherboard 20 and each carrier board 10 establish a communication connection via a data cable. This data cable can be a USB data cable, PCIe connection cable, SATA data cable, or I2C / SMBus cable, etc. In this embodiment, a USB data cable is used as an example for explanation. Figure 2 , Figure 2 This is a schematic diagram of the structure of the server motherboard and carrier board of the cloud server embodiment provided in this application, in which a USB serial port controller is set on the server motherboard 20 and each carrier board 10 respectively. The USB serial port controller connects the baseboard management controller 21 and each carrier board 10, and the circuit channel serves as a bridge for data transmission between the baseboard management controller 21, the carrier board 10 and the core board 12.

[0046] In this embodiment, there is one baseboard management controller 21, and multiple motherboard control units 22 and data lines, which are configured one-to-one with the carrier board 10. Each motherboard control unit 22 and each carrier board control unit 11 are connected to each other via a corresponding data line.

[0047] In this embodiment, the server motherboard 20 includes a baseboard management controller 21 that is communicatively connected to the server motherboard 20, and a plurality of motherboard control units 22. The number of motherboard control units 22 is the same as the number of carrier boards 10, and each motherboard control unit 22 corresponds one-to-one with a carrier board control unit 11 on the carrier board 10. Furthermore, each motherboard control unit 22 is communicatively connected to its corresponding carrier board control unit 11 via a data line, which serves as the data line for communication between the server motherboard 20 and each carrier board 10.

[0048] Unlike existing technologies that require manual flashing of cloud server hardware piece by piece, which is labor-intensive and inefficient, this embodiment adds a baseboard management controller 21 to the server motherboard 20. This controller allows remote control of the core board 12 for flashing via data lines between the motherboard control unit 22 and each carrier board control unit 11, reducing manual operation and improving flashing efficiency.

[0049] In this embodiment, each carrier board 10 can be mapped to a corresponding virtual device in the baseboard management controller 21 via the server motherboard 20 and the USB serial port controller on each carrier board 10; these are hereinafter referred to as carrier board devices. For each core board 12 on each carrier board 10, each core board 12 can be mapped to a corresponding virtual device in the baseboard management controller 21 via the USB serial port controller on each carrier board 10; these are hereinafter referred to as core board devices. The baseboard management controller 21 can control the core board 12 to perform flashing operations by manipulating these virtual devices mapped on the baseboard management controller 21, including powering on / off, checking core board temperature, checking system status, and reading system logs.

[0050] Unlike existing technologies that require manual flashing of cloud server hardware piece by piece, which involves a large amount of manual work and low flashing efficiency, this method offers a different approach. In this embodiment, the cloud server includes multiple carrier boards 10 and a server motherboard 20. Each carrier board 10 includes a carrier board control unit 11 and multiple core boards 12. The carrier board control unit 11 is communicatively connected to the multiple core boards 12. The server motherboard 20 includes a baseboard management controller 21 and a motherboard control unit 22 that are communicatively connected. The motherboard control unit 22 and the carrier board control unit 11 are communicatively connected via a data cable between the server motherboard 20 and each carrier board 10. Each core board 12 is mapped to a corresponding virtual device on the baseboard management controller 21. The baseboard management controller 21 controls the corresponding core board 12 to perform flashing by operating each virtual device. By adding a baseboard management controller 21 to the server motherboard 20 and communicating with each carrier board 10 via a data cable, the cloud server can remotely access the core boards 12 and remotely control the core boards 12 to perform flashing. This reduces the disassembly and assembly of the core boards 12, reduces the wear and tear on the core boards 12 in each server, improves flashing efficiency, reduces flashing time, and improves maintenance and repair efficiency.

[0051] In this embodiment, the baseboard management controller 21 is used to concurrently flash the core board 12 on multiple carrier boards 10.

[0052] In this embodiment of the application, during the process of the baseboard management controller 21 controlling the core board 12 to perform flashing by operating the core board device, the baseboard management controller 21 has a preset flashing application (arm-bmc) that can control each virtual device individually. The arm-bmc has preset functional modules corresponding to various states of the core board that need to be adjusted during the flashing process of the core board 12, such as setting the core board power-down function, setting the core board flashing state function, and setting the core board power-down function. In the following description, the control of the core board by the baseboard management controller 21 will still be used.

[0053] During the flashing process of the core board 12, the baseboard management controller 21 (ARM-BMC) first reads each carrier board device, and then reads each core board device on each carrier board 10. During flashing, for each carrier board 10, the baseboard management controller 21 simultaneously flashes one core board 12 on each carrier board 10. Each carrier board 10 can be understood as a data channel connecting the baseboard management controller 21 and the core board 12, which means that the baseboard management controller 21 flashes the core boards 12 on multiple carrier boards 10 concurrently.

[0054] Unlike existing technologies that require manual flashing of individual components one by one, resulting in low flashing efficiency, this embodiment of the application uses a baseboard management controller 21 to simultaneously flash a core word 12 on each carrier board 10 through multiple data channels. This enables multi-channel concurrent flashing, allowing one operator to control multiple servers for flashing simultaneously. This reduces the flashing time for each server, improves flashing efficiency, and reduces manual operation.

[0055] In this embodiment, the substrate management controller 21 is used to control each core board 12 on each carrier board 10 to be flashed sequentially.

[0056] In this embodiment, the baseboard management controller 21 can concurrently flash multiple core boards 12 on multiple carrier boards 10. However, for multiple core boards 12 on the same carrier board 10, the flashing process needs to be performed sequentially. After one core board 12 is flashed (i.e., the writing is complete), another core board 12 is flashed. The baseboard management controller 21 can monitor whether each data channel (the data channel between the server motherboard 20 and the carrier board 10, and the data channel between the carrier board 10 and the core board 12) has been written (programmed). Once the writing of a core board 12 is completed, the same channel is used to write another core board 12 on the same carrier board 10, until all core boards 12 on the carrier board 10 have been written.

[0057] Unlike existing technologies that require manual flashing of each board individually, resulting in low flashing efficiency, in this embodiment, the baseboard management controller 21 remotely flashes the core board 12 via data channels and monitors the writing status of each data channel, thereby sequentially writing to each core board on the same carrier board 10. By using multiple carrier boards 10 in parallel and multiple core boards 12 on the same carrier board 10 in serial flashing, the flashing efficiency is improved.

[0058] In this embodiment, the baseboard management controller 21 is used to set the corresponding virtual device to flashing state. Then, it generates a first instruction with the address of the core board 12 associated with the virtual device and sends it to the motherboard control unit 22. The motherboard control unit 22 communicates with the carrier board control unit 11 on the corresponding carrier board 10 to set the core board 12 to flashing state.

[0059] At the start of the flashing process, the baseboard management controller 21 first reads each core board device on each carrier board 10, and then sets the core board 12 corresponding to these core board devices to flashing state (maskrom state). (Refer to...) Figure 3 , Figure 3 This is a schematic diagram illustrating the steps for setting the core board to flashing mode in Embodiment 1 of the cloud server provided in this application. The specific steps are as follows:

[0060] S10: The baseboard management controller controls the core board to power down by setting the core board power-down function.

[0061] In step S10 above, the substrate management controller 21 provides a function to power down the core board. The substrate management controller 21 sends a first instruction generated according to the address of the core board 12 to be brushed corresponding to the core board device to the motherboard control unit 22. The motherboard control unit 22 determines the corresponding carrier board 10 according to the address of the core board 12 to be brushed in the first instruction, and communicates with the carrier board control unit 11 on the carrier board 10, sending the first instruction to the carrier board control unit 11. The carrier board control unit 11 confirms the position of the core board 12 to be brushed on the carrier board 10. After confirming the position of the core board 12 to be brushed, the carrier board control unit 11 sets the voltage at the position of the core board 12 to be brushed to a low voltage, and the core board 12 to be brushed is powered down. The address of the core board 12 can be a coordinate address, such as coordinate data (m, n), representing the nth core board in the mth carrier board.

[0062] S20: The baseboard management controller sets the core board to flashing state by setting the core board flashing state function.

[0063] In step S20 above, the baseboard management controller 21 provides a function to set the core board 12 flashing state (maskrom state). The operation of confirming the position of the core board 12 in the carrier board 10 is repeated. That is, the baseboard management controller 21 sends a first instruction generated according to the address of the core board 12 to be flashed corresponding to the core board device to the motherboard control unit 22. The motherboard control unit 22 determines the corresponding carrier board 10 according to the address of the core board 12 to be flashed in the first instruction, and communicates with the carrier board control unit 11 on the carrier board 10 to send the first instruction to the carrier board control unit 11. The carrier board control unit 11 confirms the position of the core board 12 to be flashed on the carrier board 10. After confirming the position of the core board 12 to be flashed, the carrier board control unit 11 sets a few pins to high and low voltages, so that the core board 12 to be flashed is in the maskrom state.

[0064] S30: The baseboard management controller controls the power-on of the core board by setting the core board power-on function.

[0065] In step S30 above, the substrate management controller 21 provides a function to set the core board 12 to power on, repeating the operation of confirming the position of the core board 12 in the carrier board 10. That is, the substrate management controller 21 sends a first instruction generated according to the address of the core board 12 to be brushed corresponding to the core board device to the motherboard control unit 22. The motherboard control unit 22 determines the corresponding carrier board 10 according to the address of the core board 12 to be brushed in the first instruction, and communicates with the carrier board control unit 11 on the carrier board 10, sending the first instruction to the carrier board control unit 11. The carrier board control unit 11 confirms the position of the core board 12 to be brushed on the carrier board 10. After confirming the position of the core board 12 to be brushed, the carrier board control unit 11 sets the voltage of the position of the core board 12 to be brushed to a high voltage, and the core board 12 to be brushed is powered on.

[0066] Unlike existing technologies where server hardware flashing requires extensive manual operation and is inefficient, this embodiment of the application uses a baseboard management controller 21 to remotely control the core board 12 by manipulating a virtual device mapped on the server motherboard 20. This automatically identifies the location of the core board 12 and sets it to flashing mode for flashing, saving manual operation and improving flashing efficiency.

[0067] In this embodiment, the baseboard management controller 21 is used to generate a flashing command with the address of the core board 12 associated with the virtual device and send it to the motherboard control unit 22. The motherboard control unit 22 communicates with the carrier board control unit 11 on the corresponding carrier board 10 to sequentially set the core board 12 to the flashing state, burn the bootloader to the core board 12, set the core board 12 to the loading mode, and burn the kernel and file system to be loaded to the core board 12.

[0068] In this embodiment, after setting the core board 12 to a flashing state (maskrom state), flashing is performed through a programming system. (Refer to...) Figure 4 , Figure 4 This is a schematic diagram illustrating the steps of the cloud server programming system provided in Embodiment 1 of this application, and the programming process is as follows:

[0069] S40: The baseboard management controller programs the core board with a bootloader by setting the core board programming function.

[0070] In step S40 above, after the core board 12 to be flashed is set to the flashing state, the baseboard management controller 21 provides the function of setting the core board 12 to burn the bootloader (uboot). The baseboard management controller 21 reads the bootloader (uboot.img) in the server, and then burns the bootloader to the core board 12 to be flashed through the USB serial port controller and data cable on the server motherboard 20 and the carrier board 10.

[0071] S50: The baseboard management controller sets the core board to a loading state through the loading mode setting function.

[0072] In step S50 above, the baseboard management controller 21 provides a loader setting function, repeating the operation of confirming the position of the core board 12 in the carrier board 10. That is, the baseboard management controller 21 sends a first instruction generated according to the address of the core board 12 to be flashed corresponding to the core board device to the motherboard control unit 22. The motherboard control unit 22 determines the corresponding carrier board 10 according to the address of the core board 12 to be flashed in the first instruction, and communicates with the carrier board control unit 11 on the carrier board 10, sending the first instruction to the carrier board control unit 11. The carrier board control unit 11 confirms the position of the core board 12 to be flashed on the carrier board 10. After confirming the position of the core board 12 to be flashed, the carrier board control unit 11 sets certain pins to high and low voltages, so that the core board 12 to be flashed is in loader state.

[0073] S60: The baseboard management controller programs the kernel and file system to be loaded onto the core board by setting the core board to program the kernel and file system.

[0074] In step S60 above, the baseboard management controller 21 provides the function of burning kernel and file system. The baseboard management controller 21 reads the kernel (kernel.img) and file system (rootfs.img) to be loaded in the server, and then burns the kernel and file system to be loaded to the core board 12 to be flashed through the USB serial port controller and data cable on the server motherboard 20 and the carrier board 10.

[0075] Unlike existing technologies that require manual installation of the bootloader, kernel, and file system onto the core board before installation into the cloud server, which is inefficient, this embodiment uses a baseboard management controller 21 to remotely control the core board 12 by manipulating a virtual device mapped on the server motherboard 20. This controller automatically identifies the location of the core board 12, and sends the bootloader, kernel, and file system to the core board 12 via a data channel. Multiple concurrent flashing operations reduce manual intervention and improve flashing efficiency.

[0076] In this embodiment of the application, the core board includes a first memory, the carrier board includes a second memory, and the storage capacity of the first memory is smaller than the storage capacity of the second memory;

[0077] The first memory is used to store the bootloader program, and the second memory is used to store the kernel and the file system.

[0078] In this embodiment, the core board 12 employs a dual-storage architecture to store the burned system. The first memory is located on the core board 12, and the second memory is located on the carrier board 10. The storage capacity of the first memory is smaller than that of the second memory. During the burning of the bootloader and the kernel and file system to be loaded, the bootloader is burned into the first memory located on the core board 12, and the kernel and file system to be loaded are burned into the second memory located on the carrier board 10.

[0079] Unlike existing technologies where the system firmware or operating system of the core board is typically stored in the carrier board's memory, in this embodiment, the core board 12 uses a dual-memory architecture to write the programming system. The first memory is located on the core board 12, and the second memory is located on the carrier board 10. The storage capacity of the first memory is smaller than that of the second memory. This dual-memory architecture improves programming efficiency.

[0080] After the bootloader, kernel, and file system are all burned to the core board 12 to be flashed, the core board 12 also needs to be set to normal state. (Refer to...) Figure 5 , Figure 5 This is a schematic diagram illustrating the steps for setting the core board to a normal state in Embodiment 1 of the cloud server provided in this application. The specific setting process is as follows:

[0081] S70: The baseboard management controller controls the core board to power down by setting the core board power-down function.

[0082] In step S70 above, the core board 12 is powered down by setting the core board 12 to power down through the power-down function provided by the baseboard management controller 21. The specific power-down process of the core board 12 can be referred to the specific description of step S10, which will not be repeated here.

[0083] S80: The baseboard management controller sets the core board to normal status through the normal status setting function.

[0084] In step S80 above, the baseboard management controller 21 provides a normal state setting function, repeating the operation of confirming the position of the core board 12 in the carrier board 10. That is, the baseboard management controller 21 sends a first instruction generated according to the address of the core board 12 corresponding to the core board device to the motherboard control unit 22. The motherboard control unit 22 determines the corresponding carrier board 10 according to the address of the core board 12 in the first instruction, and communicates with the carrier board control unit 11 on the carrier board 10, sending the first instruction to the carrier board control unit 11. The carrier board control unit 11 confirms the position of the core board 12 on the carrier board 10. After confirming the position of the core board 12, the carrier board control unit 11 sets certain pins to high and low voltages, so that the core board 12 is in the normal state.

[0085] S90: The baseboard management controller controls the power-on of the core board by setting the power-on function of the core board.

[0086] In step S90 above, the core board 12 is powered on by the power-on function of the baseboard management controller 21. The specific power-on process of the core board 12 can be referred to the specific description of step S30, which will not be repeated here.

[0087] When a cloud server is running, if a hardware component (carrier board) malfunctions, existing technologies require powering off the entire cloud server and manually repairing it on-site. This is inefficient and can easily disrupt user services. It may also damage other hardware within the server. In this embodiment, the process of flashing the core board in the aforementioned cloud server allows for remote control of the carrier board 10 and core board 12 for repair when a hardware component (carrier board) malfunctions and requires repair, improving maintenance and repair efficiency.

[0088] In one specific embodiment, refer to Figure 6 , Figure 6This is a flowchart illustrating the multi-channel concurrent flashing process for 96 core boards. The cloud server includes 12 carrier boards 10, each carrier board 10 containing 8 core boards 12, for a total of 96 core boards. These are mapped to 96 core board devices in the baseboard management controller 21. During flashing, the baseboard management controller 21 first reads the 96 core board devices, then determines the location of the core board 12 corresponding to each core board device, and sets the corresponding core board 12 to the flashing state (including powering down the core board 12, setting the maskrom state, and powering on the core board 12). Next, the multi-channel concurrent flashing system simultaneously flashes one core board 12 on each of the 12 carrier boards 10. For the 8 core boards 12 on the same carrier board 10, the core boards 12 are sorted according to the data channel, and flashing is performed on the core boards 12 sequentially. The baseboard management controller 21 monitors whether the writing of each data channel (the data channel between the carrier board 10 and the server motherboard 20) is complete. If it is complete, it continues to write the system of other core boards 12 on the same data channel.

[0089] In the process of flashing the core board 12 through the data channel, the cloud server provided in this application uses a USB data cable (circuit) as an example. In addition, a network data cable can also be used, that is, the carrier board 10 and the server motherboard 20 are connected through a network data cable, and the baseboard management controller 21 controls the core board 12 to flash through the network.

[0090] The cloud server provided in this application, in the process of flashing the core board 12 through the data channel by the baseboard management controller 21, takes the case of the baseboard management controller 21 directly controlling the core board 12 located on the carrier board 10 to flash the core board 12. In addition, the core board 12 can be flashed separately through the baseboard management controller 21 first, and then the flashed core board 12 can be installed on the carrier board 10.

[0091] The cloud server provided in this application can flash each core board 12 on each carrier board 10 in a multi-channel concurrent manner during the process of flashing the core board 12 through the data channel by the baseboard management controller 21. In addition, it can also flash each core board 12 on a certain carrier board 10 in a single-channel manner, which is convenient for operation and maintenance repair.

[0092] This application discloses a cloud server. The cloud server includes multiple carrier boards 10 and a server motherboard 20. Each carrier board 10 includes a carrier board control unit 11 and multiple core boards 12. The carrier board control unit 11 is communicatively connected to the multiple core boards 12. The server motherboard 20 includes a baseboard management controller 21 and a motherboard control unit 22 that are communicatively connected. The motherboard control unit 22 and the carrier board control unit 11 are communicatively connected via data lines between the server motherboard 20 and each carrier board 10. Each core board 12 is mapped to a corresponding virtual device on the baseboard management controller 21. The baseboard management controller 21 controls the corresponding core board 12 to perform flashing by operating each virtual device. This cloud server, by adding a baseboard management controller 21 to the server motherboard 20 and communicating with each carrier board 10 via data lines, enables remote access to the core boards 12 and remote control of the core boards 12 to perform flashing. This reduces the disassembly and assembly of the core boards 12, reduces the wear and tear on the core boards 12 in each server, improves flashing efficiency, reduces flashing time, and improves maintenance and repair efficiency.

[0093] Example 2

[0094] Based on the same inventive concept, this application also provides a remote flashing method applied to a cloud server. The cloud server includes multiple carrier boards 10 and a server motherboard 20. Each carrier board 10 includes a carrier board control unit 11 and multiple core boards 12. The carrier board control unit 11 is communicatively connected to the multiple core boards 12. The server motherboard 20 includes a baseboard management controller 21 and a motherboard control unit 22 that are communicatively connected. The motherboard control unit 22 and the carrier board control unit 11 are communicatively connected via data lines connecting the server motherboard 20 and each carrier board 10. Each core board 12 is mapped to a corresponding virtual device on the baseboard management controller 21. The baseboard management controller 21 controls the corresponding core board 12 to flash the device by operating each virtual device. (Refer to...) Figure 7 , Figure 7 This is a schematic diagram illustrating the steps of Embodiment 2 of the remote flashing method provided in this application. The remote flashing method includes:

[0095] S1: In response to the flashing command received by the baseboard management controller, the baseboard management controller sets the corresponding virtual device to flashing state, and then generates a first command with the address of the core board associated with the virtual device and sends it to the motherboard control unit.

[0096] S2: In response to the first instruction received by the motherboard control unit, the motherboard control unit communicates with the corresponding carrier board control unit to set the core board to flashing mode.

[0097] In this second embodiment, the specific process of remote flashing in steps S1 to S2 can be referred to the detailed description of the interaction between the carrier board 10, carrier board control unit 11, core board 12, server motherboard 20, baseboard management controller 21 and motherboard control unit 22 in the cloud server in the first embodiment. The repeated parts will not be described again here.

[0098] Example 3

[0099] Based on the same inventive concept, this application also provides a computer device / equipment / system, including a memory, a processor, and a computer program stored in the memory, wherein the processor executes the computer program to implement the remote flashing method as described in Embodiment 2 above.

[0100] Example 4

[0101] Based on the same inventive concept, this application also provides a computer-readable storage medium storing a computer program / instructions thereon, which, when executed by a processor, implements the remote flashing method as described in Embodiment 2 above.

[0102] The above description is merely an embodiment of this application and does not limit the patent scope of this application. Any equivalent structural or procedural transformations made using the content of this application's specification and drawings, or direct or indirect applications in other related technical fields, are similarly included within the patent protection scope of this application.

Claims

1. A cloud server, characterized in that, The cloud server includes: Multiple carrier boards, each carrier board including a carrier board control unit and multiple core boards, wherein the carrier board control unit is communicatively connected to the multiple core boards; The server motherboard includes a baseboard management controller and a motherboard control unit that are communicatively connected. The motherboard control unit and the carrier board control unit are communicatively connected via a data line connecting the server motherboard and each of the carrier boards. Each of the core boards is mapped to a corresponding virtual device on the baseboard management controller, and the baseboard management controller controls the corresponding core board to perform flashing by operating each of the virtual devices.

2. The cloud server according to claim 1, characterized in that, The number of baseboard management controllers is one, the number of motherboard control units and the number of data lines are multiple and are set one-to-one with the carrier board. Each motherboard control unit and each carrier board control unit are connected to each other through a corresponding data line.

3. The cloud server according to claim 2, characterized in that, The substrate management controller is used to concurrently perform multi-channel brushing of the core boards on multiple carrier boards.

4. The cloud server according to claim 1, characterized in that, The baseboard management controller is used to set the corresponding virtual device to flashing state. Then, it generates a first instruction with the address of the core board associated with the virtual device and sends it to the motherboard control unit. The motherboard control unit communicates with the carrier board control unit on the corresponding carrier board to set the core board to flashing state.

5. The cloud server according to claim 4, characterized in that, The baseboard management controller is used to generate a flashing command with the address of the core board associated with the virtual device and send it to the motherboard control unit. The motherboard control unit communicates with the corresponding carrier board control unit to sequentially set the core board to flashing state, burn a bootloader to the core board, set the core board to loading mode, and burn the kernel and file system to be loaded to the core board.

6. The cloud server according to claim 5, characterized in that, The core board adopts a dual-storage architecture, including a first memory located on the core board and a second memory located on the carrier board, wherein the storage capacity of the first memory is smaller than the storage capacity of the second memory. In the dual-storage architecture, the first memory is used to store the bootloader, and the second memory is used to store the kernel and the file system.

7. The cloud server according to claim 3, characterized in that, The baseboard management controller is used to control the core boards on each of the carrier boards to be flashed sequentially.

8. A remote flashing method, applied to a cloud server, characterized in that, The cloud server includes multiple carrier boards and a server motherboard. Each carrier board includes a carrier board control unit and multiple core boards, and the carrier board control unit is communicatively connected to the multiple core boards. The server motherboard includes a baseboard management controller and a motherboard control unit, which are communicatively connected. The motherboard control unit and the carrier board control unit are communicatively connected via data lines connecting the server motherboard and each carrier board. Each core board is mapped to a corresponding virtual device on the baseboard management controller, and the baseboard management controller controls the corresponding core board to perform flashing by operating each virtual device. The remote flashing method includes: In response to the flashing command received by the baseboard management controller, the baseboard management controller sets the corresponding virtual device to flashing state, and then generates a first command with the address of the core board associated with the virtual device and sends it to the motherboard control unit. In response to the first instruction received by the motherboard control unit, the motherboard control unit communicates with the corresponding carrier board control unit on the carrier board to set the core board to flashing mode.

9. A computer device comprising a memory, a processor, and a computer program stored in the memory, characterized in that, The processor executes the computer program to implement the steps of the remote flashing method of claim 8.

10. A storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the steps of the remote flashing method as described in claim 8.