Conversion method and device of mainboard management control unit architecture, computer equipment and storage medium

The BMC architecture is transformed without disassembly through preset tools and target architecture firmware packages, solving the problems of complex operation and low efficiency in the existing technology, and improving the efficiency and security of BMC architecture conversion.

CN119248336APending Publication Date: 2025-01-03INSPUR SUZHOU INTELLIGENT TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411505200.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-10-25
Publication Date
2025-01-03

AI Technical Summary

Technical Problem

In the prior art, the conversion of the motherboard management control unit (BMC) architecture requires disassembly and remove the flash memory chip, which is complex in operation, low efficiency and easy to damage the chip.

Method used

The mutual refresh switch of the motherboard management control unit is turned on through the preset tool, and the target architecture firmware package is used to refresh the configuration without reservation, so as to realize the switching between the BMC architecture between the current architecture and the target architecture, avoiding disassembly operations.

Benefits of technology

The BMC architecture conversion process is simplified, efficiency is improved, and the risk of flash chip damage is reduced, so that the BMC version can be easily switched between different architectures.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119248336A_ABST
    Figure CN119248336A_ABST
Patent Text Reader

Abstract

The invention relates to the technical field of computers, and discloses a mainboard management control unit architecture conversion method and device, computer equipment and a storage medium, and the method comprises the steps: under the condition that an architecture conversion instruction is received, judging whether a server is matched with a preset tool or not; under the condition that the server is matched with the preset tool, turning on a mutual brushing switch by utilizing the preset tool; under the condition that the mutual brushing switch is turned on, the current architecture of a mainboard management control unit is confirmed, and the mainboard management control unit is included in the server; determining a target architecture according to the architecture conversion instruction, and obtaining a target architecture firmware package corresponding to the target architecture; and converting the current architecture of the mainboard management control unit into the target architecture by utilizing the target architecture firmware package. The problems that when the mainboard management control unit architecture is converted, a flash memory chip needs to be disassembled to burn firmware of the architecture to be converted into the flash memory chip, operation is complex, efficiency is low, and the flash memory chip is prone to being damaged are solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of computer technology, and in particular to a method and device for converting a motherboard management control unit architecture, a computer device, and a storage medium. Background Art

[0002] The Baseboard Management Controller (BMC), also known as the Baseboard Management Controller (BMC), is responsible for collecting, processing, and storing signals from various sensors, as well as monitoring the operating status of various devices. The BMC provides the Chassis Management Module with information such as the hardware status and alarms of managed objects, enabling device management for these objects. BMC architectures include OpenBMC and AMIBMC, each suitable for different application scenarios. Small and medium-sized data centers focus on business stability and management firmware compatibility, with low customization requirements and limited technical resources for firmware management. Traditional BMC architectures such as OpenBMC are therefore suitable. Large and extra-large data centers prioritize rapid response, customization, higher performance, and greater sophistication, making them more suitable for BMC architectures such as OpenBMC. OpenBMC enables more granular management of data center equipment, while innovating firmware technology in areas such as fault diagnosis, early warning, and security to ensure high availability, reliability, and manageability.

[0003] Different products may require different BMC architectures, requiring BMC conversion between these architectures. Currently, converting BMC architectures requires on-site disassembly, removal of the flash memory chip, and the use of a specialized programmer to burn the firmware for the desired BMC architecture into the flash chip. This is time-consuming and can easily damage the flash chip during removal and installation. Furthermore, during mass production, most products have the flash chip soldered to the mainboard or management board, making it difficult to completely remove or reinstall. Therefore, converting the BMC architecture requires the assistance of after-sales personnel.

[0004] Therefore, the related technology has the problem that converting the motherboard management control unit architecture requires disassembling the machine, removing the flash memory chip, and burning the firmware of the architecture to be converted into the flash memory chip. The operation is complicated, inefficient, and easy to damage the flash memory chip. Summary of the Invention

[0005] In view of this, the present invention provides a method, device, computer equipment and storage medium for converting the motherboard management control unit architecture to solve the problem that converting the motherboard management control unit architecture requires disassembling the machine, removing the flash memory chip and burning the firmware of the architecture to be converted into the flash memory chip, which is complicated, inefficient and easy to damage the flash memory chip.

[0006] In a first aspect, the present invention provides a method for converting a mainboard management control unit architecture, comprising:

[0007] Upon receiving the architecture conversion instruction, determining whether the server is compatible with the preset tool;

[0008] If the server is compatible with the preset tool, use the preset tool to turn on the mutual brushing switch;

[0009] When the mutual flash switch is turned on, confirming the current architecture of the motherboard management control unit, wherein the motherboard management control unit is included in the server;

[0010] Determine the target architecture according to the architecture conversion instruction, and obtain the target architecture firmware package corresponding to the target architecture;

[0011] Convert the current architecture of the board management control unit to the target architecture using the target architecture firmware package.

[0012] This embodiment provides a method for converting the MCU architecture. Using a preset tool, the MCU's flashing switch is enabled. The corresponding architecture firmware package is then used to switch the MCU architecture between the current and target architectures. This facilitates flashing and eliminates the need for technicians to disassemble the machine on-site, remove the flash chip, and program the corresponding BMC firmware using a professional programmer. This allows the BMC chip to be soldered to the motherboard or management board in later stages of the project. This solves the problem of converting the MCU architecture by requiring disassembly and removal of the flash chip to program the firmware for the architecture being converted, a complex, inefficient, and easily damaging operation.

[0013] In some optional implementations, confirming the current architecture of the motherboard management control unit includes:

[0014] When the target architecture is the first preset architecture, creating a management interface of the motherboard management control unit using the first preset interface;

[0015] The first architecture version information of the main flash memory and the backup flash memory in the mainboard management control unit is obtained in the management interface, and the current architecture is determined according to the first architecture version information.

[0016] In this embodiment, the first architecture version information of the main flash memory and the backup flash memory in the motherboard management control unit is obtained in the management interface, and the current architecture is determined based on the first architecture version information. The method is efficient and easy to implement, and is convenient for accurately obtaining the target architecture to perform architecture conversion on the BMC.

[0017] In some optional implementations, converting the current architecture of the motherboard management control unit to the target architecture using the target architecture firmware package includes:

[0018] Uploading the target architecture firmware package to the first preset cache space of the mainboard management control unit;

[0019] Verifying the target architecture firmware package in the first preset cache space, and if the verification passes, obtaining first configuration information of the main flash memory, and using the target architecture firmware package in the first preset cache space to refresh the main flash memory without preserving the configuration, thereby converting the current architecture of the main flash memory to the target architecture;

[0020] Writing the first configuration information into the refreshed main flash memory and deleting the management interface;

[0021] Generate a first prompt message to instruct the server to restart;

[0022] Use a preset tool to send a flash memory switch command to the mainboard management control unit to enable the backup flash memory;

[0023] Using a preset tool, sending a first query command to the mainboard management control unit to determine whether the backup flash memory is successfully enabled;

[0024] If it is successfully enabled, turn on the mutual brushing switch again;

[0025] Obtaining second configuration information of the standby flash memory, and using the target architecture firmware package in the first preset cache space to refresh the standby flash memory without preserving the configuration, so as to convert the current architecture of the standby flash memory into the target architecture;

[0026] The second configuration information is written into the refreshed standby flash memory, and a second prompt message is generated to instruct the server to perform a restart operation, thereby completing the conversion of the current architecture of the mainboard management control unit to the target architecture.

[0027] In this embodiment, the target architecture firmware package is used to successively perform non-configuration refresh on the main flash memory and the backup flash memory, thereby converting the current architecture of the motherboard management control unit to the target architecture. There is no need to disassemble the machine and remove the flash chip. The preset tool is used to enable the BMC version to switch between the current architecture and the first preset architecture, making mutual flashing convenient.

[0028] In some optional implementations, confirming the current architecture of the motherboard management control unit includes:

[0029] When the target architecture is the second preset architecture, sending a second query command to the mainboard management control unit to obtain the second architecture version information of the main flash memory in the mainboard management control unit;

[0030] Sending a third query command to the mainboard management control unit to obtain third architecture version information of the backup flash memory in the mainboard management control unit;

[0031] The current architecture is determined according to the second architecture version information and the third architecture version information.

[0032] In this embodiment, by sending a second query command and a third query command to the motherboard management control unit, the second architecture version information and the third architecture version information are obtained, and the current architecture is determined based on the second architecture version information and the third architecture version information. The method is efficient and easy to implement, and facilitates accurate acquisition of the target architecture to perform architecture conversion on the BMC.

[0033] In some optional implementations, converting the current architecture of the motherboard management control unit to the target architecture using the target architecture firmware package includes:

[0034] Sending a fourth query command to the mainboard management control unit to determine whether the mainboard management control unit has been fully started;

[0035] If yes, uploading the target architecture firmware package to the second preset cache space of the mainboard management control unit through the second preset interface, and verifying the target architecture firmware package in the second preset cache space;

[0036] If the verification passes, determine whether the architecture conversion task has been generated;

[0037] If generated, execute the architecture conversion task, obtain the third configuration information of the main flash memory, and use the target architecture firmware package in the second preset cache space to refresh the main flash memory without retaining the configuration, and convert the current architecture of the main flash memory to the target architecture;

[0038] sending a fifth query command to the mainboard management control unit to determine the progress of the architecture conversion; if the conversion is determined to be complete according to the architecture conversion progress, writing the third configuration information to the refreshed main flash memory, generating a third prompt message, and instructing the server to perform a restart operation;

[0039] Using the second preset structure in the refreshed main flash memory, a flash memory switching command is sent to the mainboard management control unit to enable the backup flash memory;

[0040] Sending a first query command to the mainboard management control unit to determine whether the backup flash memory is successfully enabled;

[0041] If it is successfully enabled, turn on the mutual brushing switch again;

[0042] Obtaining fourth configuration information of the standby flash memory, and using the target architecture firmware package in the second preset cache space to refresh the standby flash memory without preserving the configuration, so as to convert the current architecture of the standby flash memory into the target architecture;

[0043] The fourth configuration information is written into the refreshed standby flash memory, and a fourth prompt message is generated to instruct the server to perform a restart operation, thereby completing the conversion of the current architecture of the mainboard management control unit to the target architecture.

[0044] In this embodiment, the target architecture firmware package is used to successively perform non-configuration refresh on the main flash memory and the backup flash memory, thereby converting the current architecture of the motherboard management control unit to the target architecture. There is no need to disassemble the machine and remove the flash chip. The preset tool is used to enable the BMC version to switch between the current architecture and the second preset architecture, making mutual flashing convenient.

[0045] In some optional implementations, using a preset tool to turn on the mutual brushing switch includes:

[0046] Using a preset tool to send a connection command to the mainboard management control unit, connect to the mainboard management control unit, and instruct the mainboard management control unit to perform a firmware update operation;

[0047] When the control unit performs a firmware update operation, a preset tool is used to send an opening command to the mainboard management control unit to instruct the mainboard management control unit to turn on the mutual flashing switch.

[0048] In some optional implementations, determining whether the server is compatible with a preset tool includes:

[0049] Get the product number of the server;

[0050] Determine whether the product number is in the compatibility list of the preset tool. If so, determine that the server is compatible with the preset tool.

[0051] In a second aspect, the present invention provides a device for converting a motherboard management control unit architecture, comprising:

[0052] A judgment module, configured to judge whether the server is compatible with a preset tool upon receiving an architecture conversion instruction;

[0053] The opening module is used to turn on the mutual brushing switch using the preset tool when the server is adapted to the preset tool;

[0054] A determination module, configured to determine a current architecture of a motherboard management control unit when the mutual flash switch is turned on, wherein the motherboard management control unit is included in the server;

[0055] An acquisition module is used to determine the target architecture according to the architecture conversion instruction and obtain the target architecture firmware package corresponding to the target architecture;

[0056] The conversion module is used to convert the current architecture of the mainboard management control unit into the target architecture by using the target architecture firmware package.

[0057] In a third aspect, the present invention provides a computer device comprising: a memory and a processor, the memory and the processor being communicatively connected to each other, the memory storing computer instructions, and the processor executing the computer instructions to execute the method for converting the mainboard management control unit architecture of the first aspect or any corresponding embodiment thereof.

[0058] In a fourth aspect, the present invention provides a computer-readable storage medium having computer instructions stored thereon, the computer instructions being used to enable a computer to execute the method for converting the mainboard management control unit architecture of the first aspect or any corresponding embodiment thereof.

[0059] In a fifth aspect, the present invention provides a computer program product comprising computer instructions for causing a computer to execute the method for converting the mainboard management control unit architecture of the first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] In order to more clearly illustrate the specific embodiments of the present invention or the technical solutions in related technologies, the following briefly introduces the drawings required for use in the specific embodiments or related technical descriptions. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0061] Figure 1 is a flow chart of a method for converting a mainboard management control unit architecture according to an embodiment of the present invention;

[0062] Figure 2 is a flow chart of a method for converting a motherboard management control unit architecture by using an out-of-band management tool according to an embodiment of the present invention;

[0063] Figure 3 is a structural block diagram of a conversion device of a mainboard management control unit architecture according to an embodiment of the present invention;

[0064] Figure 4 Schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION

[0065] To make the purpose, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without making creative efforts shall fall within the scope of protection of the present invention.

[0066] The motherboard management control unit, also known as the baseboard management controller (BMC), is the core of the IPMI (Intelligent Platform Management Interface) specification. It is responsible for collecting, processing, and storing signals from various sensors, as well as monitoring the operating status of various devices. The BMC provides hardware status and alarm information to the chassis management module, enabling device management of the managed devices. The BMC is an independent system that does not rely on other server hardware (such as the CPU and memory) or the server's BIOS (Basic Input and Output System) or operating system (OS). The BMC is responsible for overall server management and performs regulatory control to ensure system health. This regulatory control and monitoring is particularly important when the server system is experiencing abnormal conditions. It also records various hardware information and logs for user notifications and subsequent problem resolution.

[0067] BMC architectures include OpenBMC and AMIBMC. OpenBMC is a Linux distribution of BMC that defines a unified management and monitoring platform API (Application Programming Interface) for different server motherboards. OpenBMC uses the Yocto Project as its underlying construction and distribution framework and integrates technologies such as OpenEmbedded, Systemd, and D-Bus to easily customize the management platform. OpenBMC is an open-source BMC firmware solution that enables more granular management of data center equipment, innovating firmware technology in areas such as fault diagnosis, early warning, and security to ensure high availability, reliability, and manageability. Traditional AMIBMC and OpenBMC are currently two separate technology paths, each tailored to different application scenarios. During the mass production phase of servers, customization requirements and higher performance and more refined management requirements will arise. Different products may require different BMC architectures, necessitating BMC conversion between these architectures. Currently, converting the BMC architecture requires on-site disassembly to remove the flash chip and use a specialized programmer to program the firmware for the desired BMC architecture. This is time-consuming and can easily damage the chip during removal and installation. This BMC architecture conversion solution requires on-site disassembly to remove the flash chip and program it with a specialized programmer. This is time-consuming and can easily damage the chip during installation. If the chip is installed upside down, the BMC will burn out as soon as the server is powered on. When projects reach mass production, most require the flash chip to be soldered to the motherboard or management board. This makes it impossible for non-professionals to fully remove and reinstall it, and it can easily damage the server. After the product is sold to the customer, any BMC architecture conversion requires the assistance of after-sales service. Currently, few products support both AMIBMC and OpenBMC platforms. Software-based inter-flashing of AMIBMC and OpenBMC architectures is unprecedented. Currently, most firmware inter-flashing between the same platform architectures is limited to out-of-band or in-band BMCs.

[0068] Based on the above, an embodiment of the present invention provides a method for converting the motherboard management control unit architecture. This method uses the out-of-band integration tool uTool to enable the BMC inter-flashing switch, and utilizes the corresponding architecture firmware package to enable the BMC architecture to switch between AMIBMC and OpenBMC. This facilitates inter-flashing, and allows customers to choose to use different platform versions of BMCs based on their needs. This achieves the technical effect of enabling BMC versions to switch between AMIBMC and OpenBMC, making inter-flashing convenient. This eliminates the need for technicians to disassemble the machine on-site, remove the flash chip, and use a professional programmer to program the corresponding BMC firmware. This allows users to safely and confidently solder the BMC chip to the motherboard or management board in later stages of the project.

[0069] According to an embodiment of the present invention, a conversion embodiment of a motherboard management control unit architecture is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer device with data processing capabilities, such as a computer, a server, etc., and although a logical order is shown in the flowchart, in some cases, the steps shown or described can be executed in an order different from that shown here.

[0070] In this embodiment, a method for converting the mainboard management control unit architecture is provided. Figure 1 FIG. 1 is a flow chart of a method for converting a mainboard management control unit architecture according to an embodiment of the present invention. Figure 1 As shown, the process includes the following steps:

[0071] Step S101: upon receiving an architecture conversion instruction, determining whether the server is compatible with a preset tool.

[0072] Specifically, a preset tool such as the out-of-band integration tool uTool is used to determine whether the server is compatible with the preset tool. For example, preset tools such as the out-of-band integration tool uTool have a compatibility list. The server's product number (PN) can be checked to see if it is in the compatibility list. If so, the server is determined to be compatible with the preset tool.

[0073] Step S102: When the server is adapted to the preset tool, the mutual brushing switch is turned on using the preset tool.

[0074] Specifically, only by turning on the mutual flashing switch of the mainboard management control unit (BMC) can the firmware of different architectures be flashed mutually for the BMC. Therefore, when the server is adapted to the preset tool, use the preset tool to turn on the mutual flash switch. For example, use the preset tool to send a command to the BMC, such as ipmitool–Ilanplus–U username–P userpassword–HBMCIP raw 0x3a 0x73. ipmitool is a command-line tool used to interact with IPMI-supported devices. It can be used to monitor server status, manage hardware components, and perform remote control operations. The I lanplus option specifies the communication interface, and lanplus indicates communication through the network (LAN) interface. The U username option specifies the login username, where username is the username for logging into the BMC. The P userpassword option specifies the login password, where userpassword is the password for logging into the BMC. The H BMCIP option specifies the BMC IP address or host name, where BMCIP is the BMC IP address or host name. The raw command is used to send a raw IPMI message. The two hexadecimal digits 0x3a 0x73 represent the specific content of the raw IPMI message, which constitute an IPMI command. This command is used to check whether the mutual flash switch is turned on.

[0075] Step S103: when the mutual flashing switch is turned on, confirm the current architecture of the motherboard management control unit, wherein the motherboard management control unit is included in the server.

[0076] Specifically, if the mutual flash switch is turned on, the current architecture of the BMC is confirmed, for example, the current architecture is AMIBMC or OpenBMC. If an architecture conversion instruction is received, it can be determined that the BMC architecture needs to be converted to OpenBMC.

[0077] Step S104 , determining the target architecture according to the architecture conversion instruction, and obtaining a target architecture firmware package corresponding to the target architecture.

[0078] Specifically, the target architecture is determined according to the architecture conversion instruction. For example, the architecture conversion instruction will specify AMIBMC or OpenBMC as the target architecture. In addition, if the solution only involves conversion between AMIBMC and OpenBMC, the target architecture can also be determined as follows: if the current architecture is AMIBMC, the target architecture is OpenBMC; if the current architecture is OpenBMC, the target architecture is AMIBMC. Obtain the target architecture firmware package corresponding to the target architecture, where the BMC switching architecture has its own format requirements for the firmware package. For example, the target architecture firmware package corresponding to the AMIBMC architecture requires the hpm format, and the target architecture firmware package corresponding to the OpenBMC architecture requires the tar compressed package format. Before flashing each other, the R&D department must be required to provide a firmware package in the other party's format.

[0079] Step S105 : using the target architecture firmware package, converting the current architecture of the mainboard management control unit into the target architecture.

[0080] Specifically, the target architecture firmware package is used to decompress and verify the target architecture firmware package. After the verification is passed, the architecture information of the motherboard management control unit is erased, and the architecture of the BMC is refreshed without retaining the configuration using the decompressed information of the target architecture firmware package, thereby converting the current architecture of the motherboard management control unit into the target architecture.

[0081] This embodiment provides a method for converting the MCU architecture. Using a preset tool, the MCU's flashing switch is enabled. The corresponding architecture firmware package is then used to switch the MCU architecture between the current and target architectures. This facilitates flashing and eliminates the need for technicians to disassemble the machine on-site, remove the flash chip, and program the corresponding BMC firmware using a professional programmer. This allows the BMC chip to be soldered to the motherboard or management board in later stages of the project. This solves the problem of converting the MCU architecture by requiring disassembly and removal of the flash chip to program the firmware for the architecture being converted, a complex, inefficient, and easily damaging operation.

[0082] In some optional implementations, confirming the current architecture of the motherboard management control unit includes:

[0083] When the target architecture is the first preset architecture, creating a management interface of the motherboard management control unit using the first preset interface;

[0084] The first architecture version information of the main flash memory and the backup flash memory in the mainboard management control unit is obtained in the management interface, and the current architecture is determined according to the first architecture version information.

[0085] Specifically, the flash chip in the baseboard management control unit (BMC) is backed up, with a primary flash memory and a backup flash memory. For example, the primary flash memory is flash1, and the backup flash memory is flash2. The cross-flashing operation is as follows: when the BMC is at a certain AMI version, flash2 remains at the original version, and flash1 is flashed to a different OpenBMC version. The update takes effect after the AC is powered off and on again, and the BMC is restarted.

[0086] The first preset architecture is, for example, OpenBMC. If the target architecture is OpenBMC, the BMC architecture needs to be converted from AMIBMC to OpenBMC. The first preset interface is, for example, a RESTful interface. RESTful interfaces are an architectural style for designing network applications that access and operate network resources using the HTTP protocol.

[0087] If the target architecture is OpenBMC, create a management interface for the motherboard management control unit (MBCU) through the RESTful interface until successful. For example, create a session interface using the command curl --insecure -u root:root -X POST https: / / BMCIP:443 / api / session. This command uses the curl tool to send an HTTP POST request to the specified URL (Uniform Resource Locator). curl is a command-line tool used to transfer data to or from a server and can handle multiple protocols, including HTTP and HTTPS. The insecure option instructs curl to ignore SSL certificate verification, meaning that even if the target server's certificate has problems (such as a self-signed certificate or an expired certificate), curl will continue the request without warning. The u root:root option specifies the username and password. The X POST option specifies the HTTP request method, sending an HTTP POST request to the server. https: / / BMCIP:443 / api / session is the target URL for the request, which is the URL of the session interface.

[0088] In the management interface, obtain the first architecture version information of the primary and backup flash memories in the BMC. For example, run the command curl --insecure -u root:root -X GET https: / / BMCIP:443 / api / version_summary to view and confirm the first architecture version information of the primary and backup flash memories. The "X GET" option specifies the HTTP request method, which is used to request data or resources from a server. https: / / BMCIP:443 / api / version_summary is the requested URL, which allows access to the aforementioned management interface. This command sends an HTTP GET request to the management interface to obtain the first architecture version information of the primary and backup flash memories in the BMC.

[0089] According to the first architecture version information, the current architecture of the primary flash memory and the backup flash memory is the current architecture of the BMC, for example, the current architecture is AMIBMC or OpenBMC.

[0090] In this embodiment, the first architecture version information of the main flash memory and the backup flash memory in the motherboard management control unit is obtained in the management interface, and the current architecture is determined based on the first architecture version information. The method is efficient and easy to implement, and is convenient for accurately obtaining the target architecture to perform architecture conversion on the BMC.

[0091] In some optional implementations, converting the current architecture of the motherboard management control unit to the target architecture using the target architecture firmware package includes:

[0092] Uploading the target architecture firmware package to the first preset cache space of the mainboard management control unit;

[0093] Verifying the target architecture firmware package in the first preset cache space, and if the verification passes, obtaining first configuration information of the main flash memory, and using the target architecture firmware package in the first preset cache space to refresh the main flash memory without preserving the configuration, thereby converting the current architecture of the main flash memory to the target architecture;

[0094] Writing the first configuration information into the refreshed main flash memory and deleting the management interface;

[0095] Generate a first prompt message to instruct the server to restart;

[0096] Use a preset tool to send a flash memory switch command to the mainboard management control unit to enable the backup flash memory;

[0097] Using a preset tool, sending a first query command to the mainboard management control unit to determine whether the backup flash memory is successfully enabled;

[0098] If it is successfully enabled, turn on the mutual brushing switch again;

[0099] Obtaining second configuration information of the standby flash memory, and using the target architecture firmware package in the first preset cache space to refresh the standby flash memory without preserving the configuration, so as to convert the current architecture of the standby flash memory into the target architecture;

[0100] The second configuration information is written into the refreshed standby flash memory, and a second prompt message is generated to instruct the server to perform a restart operation, thereby completing the conversion of the current architecture of the mainboard management control unit to the target architecture.

[0101] Specifically, the first preset cache space is a cache space in the BMC that is different from the primary flash memory and the backup flash memory, and is used to temporarily store the target architecture firmware package to refresh the architecture of the primary flash memory and the backup flash memory. The primary flash memory is for example: flash1, and the backup flash memory is for example: flash2.

[0102] Upload the target architecture firmware package to the first preset cache space of the mainboard management control unit. For example, use the command curl --insecure -u root:root -X POST https: / / BMCIP:443 / api / maintenance / hpm / firmware to upload the target architecture firmware package to the first preset cache space. The X POST option specifies the HTTP request method. This command sends an HTTP POST request to the server https: / / BMCIP:443 / api / maintenance / hpm / firmware. https: / / BMCIP:443 / api / maintenance / hpm / firmware points to the first preset cache space. The target architecture firmware package is uploaded to the first preset cache space through the HTTP POST.

[0103] Verify the target architecture firmware package in the first preset cache space. For example, run the command curl --insecure-uroot:root-X GET https: / / BMCIP:443 / api / maintenance / hpm / getverifyresult to verify the target architecture firmware package in the first preset cache space.

[0104] If the verification passes, the first configuration information of the main flash memory is retrieved. Then, using the command curl --insecure-uroot:root-X PUT https: / / BMCIP:443 / api / maintenance / hpm / syncmode, a non-preserving configuration refresh is performed on the main flash memory using the target architecture firmware package in the first preset cache space. https: / / BMCIP:443 / api / maintenance / hpm / syncmode is the target URL of this command, pointing to the first preset cache space. A non-preserving configuration refresh means that all existing configuration information in the flash memory will be deleted during the refresh process. After the refresh is complete, the current architecture of the main flash memory is converted to the target architecture. Additionally, during the refresh process, the refresh progress is checked multiple times using the command curl --insecure-u root:root-X GET https: / / BMCIP:443 / api / maintenance / background / task_info until the refresh progress reaches 100%.

[0105] After the refresh is completed, the first configuration information is written to the refreshed main flash memory, and the management interface is deleted using the command curl --insecure-uroot:root-X DELETE https: / / BMCIP:443 / api / session, where https: / / BMCIP:443 / api / session is the target URL of the command and points to the management interface.

[0106] The first prompt is generated, the session is deleted, and a prompt is displayed indicating that the server needs to be AC ​​cycled as soon as possible. The server is instructed to reboot. For example, run the command ipmitool –I lanplus –U username –P userpassword –H BMCIP raw 0x3a 0x18 to AC cycle the server motherboard. After the BMC reboots, only flash1 is updated with the OpenBMC version, while the flash2 version is unknown. In this case, you need to upload the OpenBMC firmware using the web interface or out-of-band uTool to refresh the flash2 version.

[0107] Use the default tool to send a flash memory switch command to the motherboard management control unit to activate the backup flash memory. For example, run the command: ipmitool –I lanplus –U username –P userpassword –HBMCIP raw 0x3a 0x66 0x01 0x04. This command switches the BMC chip to flash 2. Also, run the command: ipmitool –I lanplus –U username –P userpassword –H BMCIP raw 0x3a 0x66 0x07 multiple times to confirm that the BMC has restarted, until flash 2 is confirmed to be active.

[0108] Use the default tool to send a first query command to the mainboard management control unit (MCU). For example, the command is: ipmitool–I lanplus–U username–P userpassword–H BMCIP raw 0x3a 0x66 0x07. This command checks which flash chip is currently active and determines whether the backup flash memory is successfully enabled. If so, enable the mutual flash switch again using the command ipmitool–I lanplus–U username–P userpassword–H BMCIP raw 0x3a 0x72 0x1. Since the mutual flash switch returns to its default off state upon BMC restart, you need to enable it again. Additionally, run the command ipmitool–I lanplus–U username–P userpassword–H BMCIP raw 0x3a 0x73 to confirm that the mutual flash switch is enabled.

[0109] Obtain the second configuration information of the backup flash memory, and use the target architecture firmware package in the first preset cache space to refresh the backup flash memory without retaining the configuration, convert the current architecture of the backup flash memory into the target architecture, write the second configuration information into the refreshed backup flash memory, and generate a second prompt message to instruct the server to restart the operation to complete the conversion of the current architecture of the mainboard management control unit into the target architecture. The above process is the same as the commands / instructions used in the above-mentioned main flash memory processing process, and will not be repeated here.

[0110] The above process is as follows Figure 2As shown, confirm whether flash2 is currently active. If not, perform a hard switch, then re-enable the mutual flashing switch and upgrade flash1 to the OpenBMC version through the RESTful interface. Perform an AC cycle to restart the BMC and confirm that only flash1 is currently running the OpenBMC version. Then, flash flash2 to the OpenBMC version using the web or out-of-band uTool.

[0111] In this embodiment, the target architecture firmware package is used to successively perform non-configuration refresh on the main flash memory and the backup flash memory, thereby converting the current architecture of the motherboard management control unit to the target architecture. There is no need to disassemble the machine and remove the flash chip. The preset tool is used to enable the BMC version to switch between the current architecture and the first preset architecture, making mutual flashing convenient.

[0112] In some optional implementations, confirming the current architecture of the motherboard management control unit includes:

[0113] When the target architecture is the second preset architecture, sending a second query command to the mainboard management control unit to obtain the second architecture version information of the main flash memory in the mainboard management control unit;

[0114] Sending a third query command to the mainboard management control unit to obtain third architecture version information of the backup flash memory in the mainboard management control unit;

[0115] The current architecture is determined according to the second architecture version information and the third architecture version information.

[0116] Specifically, the second preset architecture is, for example, AMIBMC. When the target architecture is AMIBMC, the BMC architecture needs to be converted from OpenBMC to AMIBMC. The main flash memory is, for example, flash1, and the backup flash memory is, for example, flash2.

[0117] A second query command is sent to the mainboard management control unit to obtain the second architecture version information of the main flash memory in the mainboard management control unit. For example, the second query command is: ipmitool–I lanplus–U username–P userpassword–HBMCIP raw 0x38 0x09 0x0 0x0 0x00. IPmitool is a command-line tool used to interact with IPMI-enabled devices and can be used to monitor server status, manage hardware components, and perform remote control operations. The I lanplus option specifies the communication interface, and lanplus indicates communication via the network (LAN) interface. The U username option specifies the login username; the P userpassword option specifies the login password; and the H BMCIP option specifies the BMC IP address or host name. The raw command is used to send a raw IPMI message. The hexadecimal digits 0x38 0x09 0x0 0x0 0x00 represent the specific content of the raw IPMI message and constitute an IPMI command used to obtain the second architecture version information of the main flash memory in the BMC.

[0118] A third query command is sent to the mainboard management control unit to obtain the third architecture version information of the backup flash memory in the mainboard management control unit. The third query command is, for example: ipmitool–I lanplus–U username–P userpassword–H BMCIP raw 0x38 0x09 0x0 0x1 0x00. The raw command is used to send a raw IPMI message. The hexadecimal digits 0x38 0x09 0x0 0x1 0x00 represent the specific content of the raw IPMI message, constituting an IPMI command for obtaining the third architecture version information of the backup flash memory in the BMC.

[0119] The current architectures of the primary flash memory and the backup flash memory in the BMC are respectively determined according to the second architecture version information and the third architecture version information, that is, the current architecture of the BMC. For example, the current architecture is AMIBMC or OpenBMC.

[0120] In this embodiment, by sending a second query command and a third query command to the motherboard management control unit, the second architecture version information and the third architecture version information are obtained, and the current architecture is determined based on the second architecture version information and the third architecture version information. The method is efficient and easy to implement, and facilitates accurate acquisition of the target architecture to perform architecture conversion on the BMC.

[0121] In some optional implementations, converting the current architecture of the motherboard management control unit to the target architecture using the target architecture firmware package includes:

[0122] Sending a fourth query command to the mainboard management control unit to determine whether the mainboard management control unit has been fully started;

[0123] If yes, uploading the target architecture firmware package to the second preset cache space of the mainboard management control unit through the second preset interface, and verifying the target architecture firmware package in the second preset cache space;

[0124] If the verification passes, determine whether the architecture conversion task has been generated;

[0125] If generated, execute the architecture conversion task, obtain the third configuration information of the main flash memory, and use the target architecture firmware package in the second preset cache space to refresh the main flash memory without retaining the configuration, and convert the current architecture of the main flash memory to the target architecture;

[0126] sending a fifth query command to the mainboard management control unit to determine the progress of the architecture conversion; if the conversion is determined to be complete according to the architecture conversion progress, writing the third configuration information to the refreshed main flash memory, generating a third prompt message, and instructing the server to perform a restart operation;

[0127] Using the second preset structure in the refreshed main flash memory, a flash memory switching command is sent to the mainboard management control unit to enable the backup flash memory;

[0128] Sending a first query command to the mainboard management control unit to determine whether the backup flash memory is successfully enabled;

[0129] If it is successfully enabled, turn on the mutual brushing switch again;

[0130] Obtaining fourth configuration information of the standby flash memory, and using the target architecture firmware package in the second preset cache space to refresh the standby flash memory without preserving the configuration, so as to convert the current architecture of the standby flash memory into the target architecture;

[0131] The fourth configuration information is written into the refreshed standby flash memory, and a fourth prompt message is generated to instruct the server to perform a restart operation, thereby completing the conversion of the current architecture of the mainboard management control unit to the target architecture.

[0132] Specifically, a fourth query command is sent to the mainboard management control unit to determine whether the mainboard management control unit has been fully started. The fourth query command is, for example: ipmitool–I lanplus–U username–P userpassword–H BMCIPraw 0x3e 0xa2. The fourth query command is used multiple times to confirm whether the BMC has been fully started.

[0133] The second preset interface, for example, the Redfish interface, provides device operation and management capabilities in the field of data center management and remote management. It also supports asynchronous event notifications, enabling administrators to promptly respond to and address device issues. If the BMC is fully booted, the target architecture firmware package is uploaded to the second preset cache space of the motherboard management control unit via the Redfish interface and the target architecture firmware package in the second preset cache space is verified. For example, the target architecture firmware package in the second preset cache space can be uploaded and verified via the Redfish interface using the command curl --insecure -u root:root -XPOST https: / / BMCIP:443 / redfish / v1 / UpdateService?active=auto&ami=true.

[0134] If the verification passes, use the command curl --insecure-u root:root-X GET https: / / BMCIP:443 / redfish / v1 / TaskService / Tasks / 0 to confirm whether the architecture conversion task has been generated. If so, execute the architecture conversion task, obtain the third configuration information from the main flash memory, and use the target architecture firmware package in the second preset cache space to perform a non-configuration refresh on the main flash memory. A non-configuration refresh deletes all existing configuration information in the flash memory and converts the current architecture of the main flash memory to the target architecture. During the refresh process, use the command curl --insecure-u root:root-X GET https: / / BMCIP:443 / xyz / openbmc_project / bmc / BmcVerson0 to view the target refreshed AMIBMC architecture.

[0135] A fifth query command (e.g., curl --insecure-uroot:root -X GET https: / / BMCIP:443 / redfish / v1 / TaskService / Tasks / 0) is sent to the mainboard management control unit (BMCCU). This command is used to repeatedly check and confirm the refresh progress of the main flash memory, i.e., the architecture conversion progress, until the refresh is complete. If the architecture conversion progress indicates that the conversion is complete, the third configuration information is written to the refreshed main flash memory, generating a third prompt message instructing the server to reboot. After the refresh is complete, a prompt is generated to the server indicating that an AC cycle is required as soon as possible. Upon startup, the BMC will discover that only flash 1 is the AMI version, while flash 2 is being automatically refreshed. The AMI BMC will then automatically roll back the configuration parameters.

[0136] Using the second preset architecture in the refreshed primary flash memory, a flash memory switch command is sent to the mainboard management control unit (MBCU). For example, the flash memory switch command is: ipmitool–I lanplus–U username–P userpassword–H BMCIP raw0x3a 0x66 0x01 0x04. This command is used to enable the backup flash memory. A first query command is sent to the MBCU. For example, the first query command is: ipmitool–I lanplus–U username–P userpassword–H BMCIPraw 0x3a 0x66 0x07. This query command is used multiple times to confirm whether the BMC has restarted and whether the backup flash memory has been successfully enabled.

[0137] Since the mutual flash switch returns to the default off state upon BMC restart, you need to enable it again. If the backup flash memory is successfully enabled, use the command ipmitool–I lanplus–U username–P userpassword–H BMCIP raw 0x3a0x72 0x01 to enable the mutual flash switch again. Alternatively, you can use the command ipmitool–I lanplus–U username–P userpassword–H BMCIP raw 0x3a0x73 to check whether the mutual flash switch is turned on.

[0138] Obtain fourth configuration information from the backup flash memory, and use the target architecture firmware package in the second preset cache space to refresh the backup flash memory without preserving the configuration, converting the current architecture of the backup flash memory to the target architecture. Write the fourth configuration information to the refreshed backup flash memory, and generate a fourth prompt message instructing the server to reboot, completing the transition from the current architecture of the mainboard management control unit to the target architecture. This process is identical to the commands / instructions used in the aforementioned processing of the primary flash memory and will not be further described here.

[0139] The above process is as follows Figure 2 As shown, confirm whether the BMC is fully up; confirm whether flash2 is currently active. If it is not a hard cut, confirm whether the BMC is fully up; after the hard cut, re-enable the mutual flash switch; upgrade flash1 to the AMI version through the Redfish interface; restart the BMC using AC cycle, and you will find that flash1 is the AMI version and flash2 is being upgraded (automatically rollback).

[0140] In this embodiment, the target architecture firmware package is used to successively perform non-configuration refresh on the main flash memory and the backup flash memory, thereby converting the current architecture of the motherboard management control unit to the target architecture. There is no need to disassemble the machine and remove the flash chip. The preset tool is used to enable the BMC version to switch between the current architecture and the second preset architecture, making mutual flashing convenient.

[0141] In some optional implementations, using a preset tool to turn on the mutual brushing switch includes:

[0142] Using a preset tool to send a connection command to the mainboard management control unit, connect to the mainboard management control unit, and instruct the mainboard management control unit to perform a firmware update operation;

[0143] When the control unit performs a firmware update operation, a preset tool is used to send an opening command to the mainboard management control unit to instruct the mainboard management control unit to turn on the mutual flashing switch.

[0144] Specifically, a preset tool, such as the out-of-band integration tool uTool, is used to send a connection command to the BMC. For example, the command is: . / uTool –U username –P userpassword –H BMCIP fwupdate –u image –m 1. In this command, . / uTool executes the script or executable file named uTool; the –U username option specifies the login username; the P userpassword option specifies the login password; the fwupdate subcommand instructs uTool to perform a firmware update; the –u image option specifies the path to the firmware image file to be updated. “image” is the path or name of the firmware image file; the –m 1 option specifies the update mode. “1” is the parameter value for the update mode. Different tools and firmware update solutions may have different modes. Consult the tool documentation for the specific meaning. This connection command connects uTool to the BMC and performs the firmware update, enabling BMC inter-flash.

[0145] When the control unit is performing a firmware update operation, a preset tool is used to send an open command to the mainboard management control unit. For example, the open command is: ipmitool–I lanplus–U username–Puserpassword–H BMCIP raw0x3a 0x72 0x1. The open command instructs the mainboard management control unit to turn on the mutual flash switch.

[0146] The above process is as follows Figure 2 As shown, turn on the mutual swipe switch and confirm whether the mutual swipe switch is on.

[0147] In some optional implementations, determining whether the server is compatible with a preset tool includes:

[0148] Get the product number of the server;

[0149] Determine whether the product number is in the compatibility list of the preset tool. If so, determine that the server is compatible with the preset tool.

[0150] Specifically, pre-configured tools include the out-of-band integration tool uTool. Specific tools, such as BMC management tools, typically provide a compatibility list of supported server models on the tool's official website or in its documentation. You can check whether the server's PN number is on the compatibility list.

[0151] Run the command ipmitool–I lanplus–U username–P userpassword–H BMCIP raw 0x3a0x62 0x00 0x02 0x01 to obtain the product number (PN) of the current server.

[0152] Check whether the product number is in the compatibility list of the preset tool. If so, the server is compatible with the preset tool. If not, the server is not compatible with the preset tool and needs to replace another tool or change the preset tool version.

[0153] The above process is as follows Figure 2 As shown, get the PN of the current server and check whether the comparison tool is compatible. If it is not compatible, it means that uTool is not supported.

[0154] In some optional implementations, the specific process of performing non-configuration refresh on the primary flash memory and the backup flash memory using the target architecture firmware package may include steps A1 to A3.

[0155] Step A1: If there is a flash memory to be refreshed, the flash memory to be refreshed is refreshed using the target architecture firmware package.

[0156] Specifically, the BMC is first tested to determine whether there is flash memory to be refreshed. The specific detection method is mainly to check whether the version corresponding to the flash memory matches the target architecture firmware package. Only if the match is successful can the refresh be performed. The target architecture firmware package is the file that the BMC refreshes. It can be understood that the version of the target architecture firmware package must be greater than the firmware version of the flash memory to be refreshed, the model applicable to the target architecture firmware package must be the same as the model corresponding to the BMC, and the target architecture firmware package must be a complete file. Only in this way can the BMC be refreshed. Of course, other matching methods are also possible.

[0157] Step A2: After the refresh is completed, a refreshed main flash memory and a refreshed standby flash memory are obtained.

[0158] Specifically, the Flash Progress of the flash memory to be refreshed in the system is displayed as Flash completed. At this time, the refresh of the flash memory to be refreshed is completed, and the refreshed main flash memory and the refreshed backup flash memory are obtained. However, the refreshed main flash memory and the refreshed backup flash memory may be refreshed successfully or failed.

[0159] In step A3, if the firmware versions of the refreshed main flash memory and the refreshed backup flash memory are consistent with the versions of the target architecture firmware package, the verification result is successful.

[0160] Specifically, when the firmware versions of the refreshed main flash memory and the refreshed backup flash memory are consistent with the versions of the target architecture firmware package, it proves that the refresh is successful; when the firmware version is inconsistent with the version of the target architecture firmware package, or when the firmware versions of the refreshed main flash memory and the refreshed backup flash memory are consistent with the firmware version of the BMC to be refreshed, etc., it proves that the refresh has failed.

[0161] Optionally, step A3 may include steps A31 to A34:

[0162] Step A31: Record the first firmware version information of the flash memory to be refreshed.

[0163] Step A32: Refresh the flash memory to be refreshed using the target architecture firmware package to obtain a refreshed main flash memory and a refreshed standby flash memory.

[0164] Step A33: Record the second firmware version information of the refreshed main flash memory and the refreshed backup flash memory.

[0165] In step A34 , if the second firmware version information is consistent with the version information of the target architecture firmware package, and the first firmware version information is inconsistent with the second firmware version information, the verification result is successful.

[0166] Specifically, the first firmware version information of the flash memory to be refreshed is recorded, including but not limited to: BMC physical network card such as eth0, BMC image location, BMC firmware version, host type, host IP address, etc.; the second firmware version information of the refreshed primary flash memory and the refreshed backup flash memory is recorded, including but not limited to: BMC physical network card such as eth0, BMC image location, BMC firmware version, host type, host IP address, etc. By recording the above firmware version information, it is convenient to obtain the corresponding refresh process information when the flash memory refresh fails, making it more efficient and reliable to determine whether the flash memory refresh is successful.

[0167] In this implementation, during the flash memory refresh process, the firmware version information of each flash memory being refreshed is captured and compared before and after the refresh to determine whether the BMC refresh result is successful. This improves the reliability of the flash memory refresh, facilitates verification of the flash memory refresh results by testers, improves the customer experience, saves time, and increases efficiency.

[0168] This embodiment also provides a conversion device for a motherboard management control unit architecture, which is used to implement the above-mentioned embodiments and preferred implementations. Details already described will not be repeated here. As used below, the term "module" may refer to a combination of software and / or hardware that implements a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementation using hardware, or a combination of software and hardware, is also possible and contemplated.

[0169] This embodiment provides a conversion device for a motherboard management control unit architecture, such as Figure 3 Shown, including:

[0170] The judgment module 301 is used to judge whether the server is adapted to the preset tool when receiving the architecture conversion instruction;

[0171] The opening module 302 is used to turn on the mutual brushing switch using the preset tool when the server is adapted to the preset tool;

[0172] A determination module 303 is configured to determine a current architecture of a motherboard management control unit when the mutual flashing switch is turned on, wherein the motherboard management control unit is included in the server;

[0173] An acquisition module 304 is configured to determine a target architecture according to the architecture conversion instruction and acquire a target architecture firmware package corresponding to the target architecture;

[0174] The conversion module 305 is configured to convert the current architecture of the mainboard management control unit into the target architecture using the target architecture firmware package.

[0175] In some optional implementations, the determining module 303 confirms the current architecture of the mainboard management control unit, including:

[0176] When the target architecture is the first preset architecture, creating a management interface of the motherboard management control unit using the first preset interface;

[0177] The first architecture version information of the main flash memory and the backup flash memory in the mainboard management control unit is obtained in the management interface, and the current architecture is determined according to the first architecture version information.

[0178] In some optional implementations, the conversion module 305 converts the current architecture of the motherboard management control unit into the target architecture using the target architecture firmware package, including:

[0179] Uploading the target architecture firmware package to the first preset cache space of the mainboard management control unit;

[0180] Verifying the target architecture firmware package in the first preset cache space, and if the verification passes, obtaining first configuration information of the main flash memory, and using the target architecture firmware package in the first preset cache space to refresh the main flash memory without preserving the configuration, thereby converting the current architecture of the main flash memory to the target architecture;

[0181] Writing the first configuration information into the refreshed main flash memory and deleting the management interface;

[0182] Generate a first prompt message to instruct the server to restart;

[0183] Use a preset tool to send a flash memory switch command to the mainboard management control unit to enable the backup flash memory;

[0184] Using a preset tool, sending a first query command to the mainboard management control unit to determine whether the backup flash memory is successfully enabled;

[0185] If it is successfully enabled, turn on the mutual brushing switch again;

[0186] Obtaining second configuration information of the standby flash memory, and using the target architecture firmware package in the first preset cache space to refresh the standby flash memory without preserving the configuration, so as to convert the current architecture of the standby flash memory into the target architecture;

[0187] The second configuration information is written into the refreshed standby flash memory, and a second prompt message is generated to instruct the server to perform a restart operation, thereby completing the conversion of the current architecture of the mainboard management control unit to the target architecture.

[0188] In some optional implementations, the determining module 303 confirms the current architecture of the mainboard management control unit, including:

[0189] When the target architecture is the second preset architecture, sending a second query command to the mainboard management control unit to obtain the second architecture version information of the main flash memory in the mainboard management control unit;

[0190] Sending a third query command to the mainboard management control unit to obtain third architecture version information of the backup flash memory in the mainboard management control unit;

[0191] The current architecture is determined according to the second architecture version information and the third architecture version information.

[0192] In some optional implementations, the conversion module 305 converts the current architecture of the motherboard management control unit into the target architecture using the target architecture firmware package, including:

[0193] Sending a fourth query command to the mainboard management control unit to determine whether the mainboard management control unit has been fully started;

[0194] If yes, uploading the target architecture firmware package to the second preset cache space of the mainboard management control unit through the second preset interface, and verifying the target architecture firmware package in the second preset cache space;

[0195] If the verification passes, determine whether the architecture conversion task has been generated;

[0196] If generated, execute the architecture conversion task, obtain the third configuration information of the main flash memory, and use the target architecture firmware package in the second preset cache space to refresh the main flash memory without retaining the configuration, and convert the current architecture of the main flash memory to the target architecture;

[0197] sending a fifth query command to the mainboard management control unit to determine the progress of the architecture conversion; if the conversion is determined to be complete according to the architecture conversion progress, writing the third configuration information to the refreshed main flash memory, generating a third prompt message, and instructing the server to perform a restart operation;

[0198] Using the second preset structure in the refreshed main flash memory, a flash memory switching command is sent to the mainboard management control unit to enable the backup flash memory;

[0199] Sending a first query command to the mainboard management control unit to determine whether the backup flash memory is successfully enabled;

[0200] If it is successfully enabled, turn on the mutual brushing switch again;

[0201] Obtaining fourth configuration information of the standby flash memory, and using the target architecture firmware package in the second preset cache space to refresh the standby flash memory without preserving the configuration, so as to convert the current architecture of the standby flash memory into the target architecture;

[0202] The fourth configuration information is written into the refreshed standby flash memory, and a fourth prompt message is generated to instruct the server to perform a restart operation, thereby completing the conversion of the current architecture of the mainboard management control unit to the target architecture.

[0203] In some optional implementations, the opening module 302 uses a preset tool to open the mutual brushing switch, including:

[0204] Using a preset tool to send a connection command to the mainboard management control unit, connect to the mainboard management control unit, and instruct the mainboard management control unit to perform a firmware update operation;

[0205] When the control unit performs a firmware update operation, a preset tool is used to send an opening command to the mainboard management control unit to instruct the mainboard management control unit to turn on the mutual flashing switch.

[0206] In some optional implementations, the determination module 301 determines whether the server is compatible with the preset tool, including:

[0207] Get the product number of the server;

[0208] Determine whether the product number is in the compatibility list of the preset tool. If so, determine that the server is compatible with the preset tool.

[0209] The further functional description of each of the above modules and units is the same as that of the above corresponding embodiments and will not be repeated here.

[0210] The conversion device of the motherboard management control unit architecture in this embodiment is presented in the form of a functional unit, where the unit refers to an ASIC (Application Specific Integrated Circuit) circuit, a processor and memory that executes one or more software or fixed programs, and / or other devices that can provide the above functions.

[0211] The embodiment of the present invention also provides a computer device having the above Figure 3 The switching device of the motherboard management control unit architecture is shown.

[0212] See also Figure 4 , Figure 4 is a structural diagram of a computer device provided by an optional embodiment of the present invention, such as Figure 4 As shown, the computer device includes: one or more processors 10, memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components utilize different buses to communicate with each other and can be installed on a common mainboard or installed in other ways as needed. The processor can process the instructions executed in the computer device, including instructions stored in the memory or on the memory to display the graphical information of the GUI on an external input / output device (such as, a display device coupled to the interface). In some optional embodiments, if necessary, multiple processors and / or multiple buses can be used together with multiple memories and multiple memories. Equally, multiple computer devices can be connected, and each device provides part of the necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 4 A processor 10 is taken as an example.

[0213] The processor 10 may be a central processing unit, a network processor, or a combination thereof. The processor 10 may further include an integrated circuit, a programmable logic device, or a combination thereof. The programmable logic device may be a complex programmable logic device, a field programmable gate array, a general purpose array logic, or any combination thereof.

[0214] The memory 20 stores instructions that can be executed by at least one processor 10, so as to enable at least one processor 10 to execute the method shown in the above embodiment.

[0215] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and application programs required for at least one function; the data storage area may store data created based on the use of the computer device, etc. In addition, the memory 20 may include a high-speed random access memory, and may also include a non-transient memory, such as at least one disk storage device, a flash memory device, or other non-transient solid-state storage device. In some optional embodiments, the memory 20 may optionally include a memory remotely located relative to the processor 10, and these remote memories may be connected to the computer device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.

[0216] The memory 20 may include a volatile memory, such as a random access memory; the memory may also include a non-volatile memory, such as a flash memory, a hard disk or a solid-state drive; the memory 20 may also include a combination of the above types of memory.

[0217] The computer device further includes a communication interface 30 for the computer device to communicate with other devices or a communication network.

[0218] The embodiment of the present invention also provides a computer-readable storage medium. The above-mentioned method according to the embodiment of the present invention can be implemented in hardware, firmware, or implemented as a computer code that can be recorded in a storage medium, or implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and downloaded through a network and will be stored in a local storage medium, so that the method described herein can be stored in such software processing on a storage medium using a general-purpose computer, a dedicated processor, or programmable or dedicated hardware. Among them, the storage medium can be a magnetic disk, an optical disk, a read-only storage memory, a random access memory, a flash memory, a hard disk or a solid-state drive, etc.; further, the storage medium can also include a combination of the above-mentioned types of memory. It can be understood that a computer, a processor, a microprocessor controller or programmable hardware includes a storage component that can store or receive software or computer code. When the software or computer code is accessed and executed by a computer, a processor or hardware, the method shown in the above embodiment is implemented.

[0219] A portion of the present invention may be applied as a computer program product, such as a computer program instruction, which, when executed by a computer, can call or provide the method and / or technical solution according to the present invention through the operation of the computer. Those skilled in the art should understand that the form in which the computer program instruction exists in a computer-readable medium includes, but is not limited to, a source file, an executable file, an installation package file, etc. Accordingly, the way in which the computer program instruction is executed by the computer includes, but is not limited to: the computer directly executes the instruction, or the computer compiles the instruction and then executes the corresponding compiled program, or the computer reads and executes the instruction, or the computer reads and installs the instruction and then executes the corresponding installed program. Here, the computer-readable medium may be any available computer-readable storage medium or communication medium that can be accessed by the computer.

[0220] Although the embodiments of the present invention have been described with reference to the accompanying drawings, those skilled in the art may make various modifications and variations without departing from the spirit and scope of the present invention, and such modifications and variations shall fall within the scope defined in this application.

Claims

1. A method for converting a mainboard management control unit architecture, characterized in that: The method comprises: Upon receiving the architecture conversion instruction, determining whether the server is compatible with the preset tool; In the case where the server is adapted to the preset tool, using the preset tool to turn on the mutual brushing switch; When the mutual brushing switch is turned on, confirming the current architecture of the motherboard management control unit, wherein the motherboard management control unit is included in the server; Determine a target architecture according to the architecture conversion instruction, and obtain a target architecture firmware package corresponding to the target architecture; The target architecture firmware package is used to convert the current architecture of the mainboard management control unit into the target architecture.

2. The method according to claim 1, characterized in that The step of confirming the current architecture of the motherboard management control unit includes: When the target architecture is a first preset architecture, creating a management interface of the motherboard management control unit using a first preset interface; The first architecture version information of the main flash memory and the backup flash memory in the mainboard management control unit is obtained in the management interface, and the current architecture is determined according to the first architecture version information.

3. The method according to claim 2, characterized in that The converting the current architecture of the motherboard management control unit into the target architecture by using the target architecture firmware package includes: Uploading the target architecture firmware package to a first preset cache space of the mainboard management control unit; Verify the target architecture firmware package in the first preset cache space, and if the verification passes, obtain the first configuration information of the main flash memory, and use the target architecture firmware package in the first preset cache space to perform a non-configuration refresh on the main flash memory, so as to convert the current architecture of the main flash memory into the target architecture; Writing the first configuration information into the refreshed main flash memory and deleting the management interface; Generate a first prompt message to instruct the server to perform a restart operation; Using the preset tool, sending a flash memory switching command to the mainboard management control unit to enable the standby flash memory; Using the preset tool to send a first query command to the mainboard management control unit to determine whether the backup flash memory is successfully enabled; If it is successfully enabled, turn on the mutual brushing switch again; Acquire second configuration information of the standby flash memory, and use the target architecture firmware package in the first preset cache space to perform non-configuration refresh on the standby flash memory, so as to convert the current architecture of the standby flash memory into the target architecture; The second configuration information is written into the refreshed standby flash memory, and a second prompt information is generated to instruct the server to perform a restart operation, thereby completing the conversion of the current architecture of the mainboard management control unit to the target architecture.

4. The method according to claim 1, characterized in that: The step of confirming the current architecture of the motherboard management control unit includes: When the target architecture is the second preset architecture, sending a second query command to the motherboard management control unit to obtain the second architecture version information of the main flash memory in the motherboard management control unit; Sending a third query command to the mainboard management control unit to obtain third architecture version information of the backup flash memory in the mainboard management control unit; The current architecture is determined according to the second architecture version information and the third architecture version information.

5. The method according to claim 4, characterized in that The converting the current architecture of the motherboard management control unit into the target architecture by using the target architecture firmware package includes: Sending a fourth query command to the motherboard management control unit to determine whether the motherboard management control unit has been fully started; If yes, uploading the target architecture firmware package to the second preset cache space of the motherboard management control unit through the second preset interface, and verifying the target architecture firmware package in the second preset cache space; If the verification passes, determine whether the architecture conversion task has been generated; If generated, execute the architecture conversion task, obtain the third configuration information of the main flash memory, and use the target architecture firmware package in the second preset cache space to refresh the main flash memory without retaining the configuration, and convert the current architecture of the main flash memory to the target architecture; Sending a fifth query command to the mainboard management control unit to determine the progress of the architecture conversion, and if the conversion is determined to be complete according to the progress of the architecture conversion, writing the third configuration information into the refreshed main flash memory, generating a third prompt information, and instructing the server to perform a restart operation; Using the second preset architecture in the refreshed main flash memory, sending a flash memory switching command to the mainboard management control unit to enable the backup flash memory; Sending a first query command to the mainboard management control unit to determine whether the backup flash memory is successfully enabled; If it is successfully enabled, turn on the mutual brushing switch again; Acquire fourth configuration information of the standby flash memory, and use the target architecture firmware package in the second preset cache space to perform non-configuration refresh on the standby flash memory, so as to convert the current architecture of the standby flash memory into the target architecture; The fourth configuration information is written into the refreshed standby flash memory, and a fourth prompt information is generated to instruct the server to perform a restart operation, thereby completing the conversion of the current architecture of the mainboard management control unit to the target architecture.

6. The method according to claim 1, characterized in that The using the preset tool to turn on the mutual brushing switch includes: Using the preset tool to send a connection command to the motherboard management control unit, connect to the motherboard management control unit, and instruct the motherboard management control unit to perform a firmware update operation; In the case where the control unit performs a firmware update operation, the preset tool is used to send an opening command to the mainboard management control unit to instruct the mainboard management control unit to turn on the mutual flashing switch.

7. The method according to claim 1, characterized in that The determining whether the server is adapted to the preset tool includes: Obtaining the product number of the server; It is determined whether the product number is in the compatibility list of the preset tool, and if so, it is determined that the server is adapted to the preset tool.

8. A conversion device for a mainboard management control unit architecture, characterized in that: The device comprises: A judgment module, used to judge whether the server is adapted to the preset tool when receiving the architecture conversion instruction; An opening module, used for turning on the mutual brushing switch by using the preset tool when the server is adapted to the preset tool; A determination module, configured to determine a current architecture of a motherboard management control unit when the mutual brushing switch is turned on, wherein the motherboard management control unit is included in the server; An acquisition module, used to determine a target architecture according to the architecture conversion instruction, and acquire a target architecture firmware package corresponding to the target architecture; The conversion module is used to convert the current architecture of the mainboard management control unit into the target architecture by using the target architecture firmware package.

9. A computer device, characterized in that: include: A memory and a processor, wherein the memory and the processor are communicatively connected to each other, the memory stores computer instructions, and the processor executes the method for converting the mainboard management control unit architecture according to any one of claims 1 to 7 by executing the computer instructions.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a computer to execute the method for converting the mainboard management control unit architecture according to any one of claims 1 to 7.