Firmware upgrading method and system, computer equipment and storage medium
The RAID card firmware upgrade request was converted into a preset protocol data package and forwarded it to the RAID card through the substrate management controller, which solved the problem of time and effort and relying on specific operating systems for the traditional RAID card firmware upgrade. Essence
Patent Information
- Application Number
- CN202411912196.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-24
- Publication Date
- 2025-01-24
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
Traditional RAID card firmware upgrade methods are time-consuming and labor-intensive, firmware upgrades are inefficient, and depend on a specific operating system or software environment, and require interruption of the ongoing business, resulting in high cost of firmware upgrades to the server.
Receive the firmware upgrade request through the substrate management controller, convert the firmware mirror file into a packet in the preset protocol format, and forward it to the target independent disk redundant array card through the central processor, so that it can be upgraded based on the data packet -based firmware.
It simplifies the upgrade operation process, saves time and effort, reduces maintenance costs, improves user experience, avoids business interruption, and improves the efficiency of firmware upgrades.
Smart Images

Figure CN119363822A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of computer technology, and in particular to a firmware upgrade method, system, computer equipment and storage medium. Background Art
[0002] Redundant Arrays of Independent Disks (RAID) is a data storage virtualization technology. It combines multiple independent physical hard disks into a logical hard disk, thereby providing higher storage performance and data redundancy than a single hard disk. RAID technology improves data reliability and reading performance through data striping, mirroring or parity checking. As an important part of server storage, the firmware upgrade of the RAID card is crucial to system performance and stability.
[0003] In the related art, the traditional RAID card firmware upgrade method requires manual downloading of the upgrade firmware, preparation of the upgrade tool, and entry into a specific maintenance mode, and the firmware upgrade needs to be performed under a specific operating system. This independent disk redundant array card firmware upgrade method is time-consuming and labor-intensive, has low firmware upgrade efficiency, and depends on a specific operating system or software environment, and requires interruption of the ongoing business, resulting in high server firmware upgrade costs. Summary of the invention
[0004] In view of this, the present invention provides a firmware upgrade method, system, computer device and storage medium to solve the problem that the independent disk redundant array card firmware upgrade method is time-consuming and labor-intensive, the firmware upgrade efficiency is low, and it depends on a specific operating system or software environment and needs to interrupt the ongoing business, resulting in high firmware upgrade costs for the server.
[0005] In a first aspect, the present invention provides a firmware upgrade method, which is applied to a baseboard management controller, the baseboard management controller is deployed on a first server, the baseboard management controller is connected to a plurality of independent disk redundant array cards through a central processing unit; the baseboard management controller is connected to a client; the baseboard management controller pre-assigns an endpoint identifier to each independent disk redundant array card; the method comprises: receiving a firmware upgrade request sent by the client when detecting that a target type of independent disk redundant array card is deployed on the first server, the firmware upgrade request comprising a firmware image file in a first format and identification information; converting the firmware image file in the first format into a data packet in a preset protocol format, the data packet carrying a target endpoint identifier, the target endpoint identifier being an endpoint identifier of a target independent disk redundant array card corresponding to the identification information, the preset protocol being a management component transmission protocol transmitted through a peripheral component interconnect fast link; forwarding the data packet carrying the target endpoint identifier to the target independent disk redundant array card through the central processing unit, so that the target independent disk redundant array card performs a firmware upgrade based on the data packet.
[0006] Based on the method of the first aspect above, the baseboard management controller can receive a firmware upgrade request when the client detects that a target type of independent disk redundant array card is deployed on the first server, and converts the firmware image file in the first format in the firmware upgrade request into a data packet in a preset protocol format, and forwards the data packet carrying the target endpoint identifier to the target independent disk redundant array card through the central processing unit, so that the target independent disk redundant array card performs a firmware upgrade based on the data packet.
[0007] Since the firmware image file in the first format can be converted into a data packet in a preset protocol format in the firmware upgrade request, and the data packet in the preset protocol format is forwarded to the target independent disk redundant array card through the central processing unit. This method does not require manual downloading of upgrade firmware, preparation of upgrade tools, and entering a specific maintenance mode, thereby simplifying the upgrade operation process, saving time and effort, reducing maintenance costs, and improving user experience. This out-of-band firmware upgrade method does not rely on the operating system of the first server to send the firmware image file to the target independent disk redundant array card, but forwards this independent communication path through the central processing unit to achieve firmware upgrades, thereby avoiding business interruptions; in addition, data transmission and verification are performed through a preset protocol, which ensures the stability, accuracy and efficiency of the preset protocol data packet transmission, reduces the time required for firmware upgrades, and improves the efficiency of firmware upgrades. In an optional embodiment, the method further includes: after the first server is powered on, forwarding an enumeration request of a preset protocol to N devices associated with the first server via a central processor; receiving M response information returned by the M devices via the central processor after receiving the enumeration request, and assigning an endpoint identifier to each of the M devices, the M devices including multiple independent disk redundant array cards, M≤N.
[0008] In an embodiment of the present invention, the status of N devices can be monitored in real time during the enumeration process, and NM abnormal devices that have not returned a response can be discovered in time, thereby avoiding firmware upgrades for the abnormal devices. In addition, a unique endpoint identifier is dynamically assigned to each device, which facilitates the management of the status of each device and the subsequent determination of the device for upgrading the firmware based on the endpoint identifier.
[0009] In an optional implementation, the method further includes: forwarding a read request of a preset protocol to M devices via a central processor, the read request carrying an endpoint identifier of each device; receiving device information returned by each device via the central processor, the device information including a manufacturer identifier; detecting whether each device is a target type independent disk redundant array card based on the manufacturer identifier and a corresponding relationship, obtaining a detection result, the corresponding relationship being a corresponding relationship between the manufacturer identifier and the target type independent disk redundant array card, and returning the detection result to the client upon receiving a detection instruction sent from the client.
[0010] In the implementation manner of the present invention, the device information of each device can be obtained, and based on the device information, it is determined whether each device is a target type independent disk redundant array card, so that the subsequent client can detect whether the target type independent disk redundant array card is deployed on the first server.
[0011] In an optional implementation, before the target redundant array of independent disks card performs a firmware upgrade based on a data packet, an operating system state, a service running state, power supply information of the first server, and temperature information of each component associated with the first server are obtained; when the operating system state indicates that the operating system is not performing a critical task, the service running state indicates that a critical service associated with the first server is running normally, the power supply information indicates that an input voltage of the first server meets a preset condition, and the temperature information indicates that a real-time temperature of each component is less than a preset temperature, first information of a preset protocol is forwarded to the target redundant array of independent disks card through a central processing unit, and the first information is used to instruct the target redundant array of independent disks card to start the firmware upgrade.
[0012] In the implementation manner of the present invention, before the target redundant array of independent disks card performs a firmware upgrade based on a data packet, the operating system state, service running state, power supply information of the first server and the temperature information of each component associated with the first server can be detected to ensure that the environment for the firmware upgrade meets the conditions and ensure that the target redundant array of independent disks card can successfully perform a firmware upgrade.
[0013] In an optional embodiment, the firmware upgrade request also includes a target version number of the firmware image file; the device information also includes the current firmware version number of each device; before converting the firmware image file in the first format into a data packet in a preset protocol format, the method also includes: obtaining the file size of the firmware image file and a preset hash value corresponding to the firmware image file; detecting whether the file size is less than or equal to a first threshold; if so, calculating the true hash value of the firmware image file through an encrypted hash algorithm; comparing whether the preset hash value and the true hash value are consistent; if so, comparing whether the target version number is greater than the current firmware version number; if so, determining that the firmware image file is complete and valid.
[0014] In an embodiment of the present invention, before converting a firmware image file in a first format into a data packet in a preset protocol format, the integrity and validity of the firmware image file can be detected by the file size, real hash value, and target version number of the firmware image file to ensure that the target redundant array of independent disks card can perform a firmware upgrade based on the firmware image file.
[0015] In an optional implementation, forwarding a data packet carrying a target endpoint identifier to a target redundant array of independent disks card via a central processing unit includes: calling a driver of a preset protocol via a target redundant array of independent disks card driver, forwarding a first command to the target redundant array of independent disks card via the central processing unit, the first command being used to trigger the target redundant array of independent disks card to enter a firmware upgrade mode; dividing the data packet carrying the target endpoint identifier into a plurality of data blocks, calling a driver of a preset protocol via the target redundant array of independent disks card driver, and forwarding the plurality of data blocks to the target redundant array of independent disks card via the central processing unit, so that the target redundant array of independent disks card downloads and installs the data packet to perform a firmware upgrade.
[0016] In the embodiment of the present invention, a data packet is divided into multiple data blocks for transmission, which reduces the amount of data transmitted in a single transmission and reduces the risk of transmission errors. The target redundant array of independent disks card driver calls the driver of the preset protocol, and the multiple data blocks are forwarded to the target redundant array of independent disks card via the central processing unit. The firmware image file is not sent to the target redundant array of independent disks card by the operating system of the first server, but the independent communication path is forwarded by the central processing unit to realize the firmware upgrade, thereby avoiding business interruption.
[0017] In an optional embodiment, the method further includes: during the firmware upgrade process of the target redundant array of independent disks card based on the data packet, periodically forwarding a query request of a preset protocol to the target redundant array of independent disks card through a central processing unit, the query request being used to request to query the download progress of the target redundant array of independent disks card downloading the data packet; receiving the download progress returned by the target redundant array of independent disks card through the central processing unit; and sending the download progress to the client.
[0018] In the implementation manner of the present invention, the client can obtain the firmware download progress in real time through periodic query requests, promptly discover and handle the problem of firmware upgrade suspension, avoid users waiting for a long time, and improve user experience.
[0019] In an optional embodiment, the method further includes: after the target redundant array of independent disks card downloads and installs the data package, receiving response information returned by the target redundant array of independent disks card through the central processing unit based on a preset protocol, the response information is used to indicate whether the target redundant array of independent disks card has completed the firmware upgrade, and returning the response information to the client.
[0020] In the implementation manner of the present invention, receiving the response information from the target redundant array of independent disks card can facilitate the administrator to confirm whether the firmware upgrade has been successfully completed, thereby avoiding operational errors caused by uncertain states, and further ensuring that all redundant array of independent disks cards participating in the firmware upgrade have correctly completed the upgrade process, thereby maintaining the consistency and stability of the redundant array of independent disks configuration.
[0021] In a second aspect, the present invention provides a firmware upgrade method, which is applied to a client, the client is connected to a baseboard management controller, the baseboard management controller is deployed on a first server, and the baseboard management controller is connected to multiple independent disk redundant array cards through a central processing unit; the method includes: when it is detected that a firmware image file of a first format has been generated, obtaining the firmware image file, the firmware image file is an image file required for firmware upgrade of a target type independent disk redundant array card; sending a detection instruction to the baseboard management controller, the detection instruction is used to instruct the baseboard management controller to detect whether the target type independent disk redundant array card is deployed on the first server; receiving the detection result returned by the baseboard management controller, the detection result carrying the identification information of the target type independent disk redundant array card.
[0022] When the detection result indicates that a target type of redundant array of independent disks card is deployed on the first server, a firmware upgrade request is generated and sent to a baseboard management controller based on the firmware image file and the identification information. The baseboard management controller converts the firmware image file in a first format into a data packet in a preset protocol format based on the firmware upgrade request, and forwards the data packet to the target redundant array of independent disks card through a central processing unit, so that the target redundant array of independent disks card performs a firmware upgrade based on the data packet. The preset protocol is a management component transmission protocol transmitted through a peripheral component interconnect fast link.
[0023] Based on the method of the second aspect above, the client can obtain the firmware image file and send a detection instruction to the baseboard management controller when it is detected that the firmware image file in the first format has been generated. When the detection result returned by the baseboard management controller indicates that the target type of independent disk redundant array card is deployed on the first server, the client generates and sends a firmware upgrade request to the baseboard management controller based on the firmware image file and identification information.
[0024] After receiving the firmware upgrade request, the baseboard management controller can convert the firmware image file in the first format in the firmware upgrade request into a data packet in a preset protocol format, and forward the data packet in the preset protocol format to the target independent disk redundant array card through the central processing unit. This method does not require manual downloading of upgrade firmware, preparation of upgrade tools, and entering a specific maintenance mode, thereby simplifying the upgrade operation process, saving time and effort, reducing maintenance costs, and improving user experience. This out-of-band firmware upgrade method does not rely on the operating system of the first server to send the firmware image file to the target independent disk redundant array card, but forwards this independent communication path through the central processing unit to achieve firmware upgrades, thereby avoiding business interruptions; in addition, data transmission and verification are performed through a preset protocol, which ensures the stability, accuracy and efficiency of the preset protocol data packet transmission, reduces the time required for firmware upgrades, and improves the efficiency of firmware upgrades.
[0025] In an optional implementation, before obtaining the firmware image file, the method further includes: in response to a confirmation upgrade operation selected by the administrator, obtaining an updated version of the firmware file, the firmware file carrying a firmware file name; based on the firmware file name, determining whether the firmware device to be upgraded corresponding to the firmware file is a target type independent disk redundant array card; if so, encrypting the firmware file to generate a firmware image file in a first format corresponding to the firmware file.
[0026] In the embodiment of the present invention, whether the firmware device to be upgraded corresponding to the firmware file is a target type redundant array of independent disks card can be determined based on the firmware file name of the firmware file, so as to facilitate subsequent determination of whether the first server is deployed with the target type redundant array of independent disks card.
[0027] In an optional implementation, before sending the detection instruction to the baseboard management controller, the method further includes: in response to a configuration operation by an administrator, configuring an address of the baseboard management controller of the first server that needs to perform a firmware upgrade.
[0028] In the implementation manner of the present invention, before sending the detection instruction to the baseboard management controller, the address of the baseboard management controller can be configured, and then the state of the baseboard management controller and the state of the managed device can be monitored or obtained.
[0029] In a third aspect, the present invention provides a baseboard management controller, which is deployed on a first server and connected to a plurality of independent disk redundant array cards via a central processing unit; the baseboard management controller is connected to a client; the baseboard management controller pre-assigns an endpoint identifier to each independent disk redundant array card; the baseboard management controller includes: a first transceiver module, for receiving a firmware upgrade request sent by the client when detecting that a target type of independent disk redundant array card is deployed on the first server, the firmware upgrade request including a firmware image file and identification information in a first format.
[0030] The first processing module is used to convert the firmware image file in the first format into a data packet in a preset protocol format, the data packet carries a target endpoint identifier, the target endpoint identifier is an endpoint identifier of a target independent disk redundant array card corresponding to the identification information, and the preset protocol is a management component transmission protocol transmitted through a peripheral component interconnect fast link.
[0031] The first processing module is further used to forward the data packet carrying the target endpoint identifier to the target redundant array of independent disks card through the central processing unit, so that the target redundant array of independent disks card performs firmware upgrade based on the data packet.
[0032] In a fourth aspect, the present invention provides a client, the client is connected to a baseboard management controller, the baseboard management controller is deployed on a first server, and the baseboard management controller is connected to a plurality of independent disk redundant array cards through a central processing unit. The client includes: a second transceiver module, which is used to obtain a firmware image file when detecting that a firmware image file of a first format has been generated, the firmware image file being an image file required for firmware upgrade of a target type independent disk redundant array card.
[0033] The second transceiver module is further used to send a detection instruction to the baseboard management controller, where the detection instruction is used to instruct the baseboard management controller to detect whether a target type of independent disk redundant array card is deployed on the first server.
[0034] The second transceiver module is further used to receive the detection result returned by the baseboard management controller, and the detection result carries the identification information of the target type independent disk redundant array card.
[0035] The second processing module is used for generating and sending a firmware upgrade request to a baseboard management controller based on the firmware image file and the identification information when the detection result indicates that a target type of independent disk redundant array card is deployed on the first server. The baseboard management controller converts the firmware image file in a first format into a data packet in a preset protocol format based on the firmware upgrade request, and forwards the data packet to the target independent disk redundant array card through the central processing unit, so that the target independent disk redundant array card performs a firmware upgrade based on the data packet. The preset protocol is a management component transmission protocol transmitted through a peripheral component interconnect fast link.
[0036] In a fifth aspect, the present invention provides a firmware upgrade system, which includes a baseboard management controller and a client. The baseboard management controller is deployed on a first server, and the baseboard management controller is connected to multiple independent disk redundant array cards through a central processing unit; the baseboard management controller is connected to the client.
[0037] The client is used to obtain the firmware image file when detecting that the firmware image file in the first format has been generated, send a detection instruction to the baseboard management controller, receive the detection result returned by the baseboard management controller, and when the detection result indicates that the target type of independent disk redundant array card is deployed on the first server, generate and send a firmware upgrade request to the baseboard management controller based on the firmware image file and identification information.
[0038] Among them, the firmware image file is an image file required for firmware upgrade of the target type independent disk redundant array card; the detection instruction is used to instruct the baseboard management controller to detect whether the target type independent disk redundant array card is deployed on the first server; the detection result carries the identification information of the target type independent disk redundant array card.
[0039] The baseboard management controller is used to receive a firmware upgrade request sent by the client when detecting that a target type of independent disk redundant array card is deployed on the first server, and convert a firmware image file in a first format into a data packet in a preset protocol format, the data packet carrying a target endpoint identifier.
[0040] The firmware upgrade request includes a firmware image file in a first format and identification information; the target endpoint identifier is an endpoint identifier of a target independent disk redundant array card corresponding to the identification information, and the preset protocol is a management component transmission protocol transmitted via a peripheral component interconnect fast link.
[0041] In addition, the baseboard management controller is also used to forward the data packet carrying the target endpoint identifier to the target independent disk redundant array card through the central processing unit, so that the target independent disk redundant array card performs firmware upgrade based on the data packet.
[0042] In a sixth 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 firmware upgrade method of the first aspect or any corresponding embodiment thereof by executing the computer instructions.
[0043] In a seventh 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 firmware upgrade method of the first aspect or any corresponding embodiment thereof.
[0044] In an eighth aspect, the present invention provides a computer program product, comprising computer instructions, wherein the computer instructions are used to enable a computer to execute the firmware upgrade method of the above-mentioned first aspect or any corresponding embodiment thereof. BRIEF DESCRIPTION OF THE DRAWINGS
[0045] In order to more clearly illustrate the specific implementation methods of the present invention or the technical solutions in the prior art, the drawings required for use in the specific implementation methods or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some implementation methods of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0046] Figure 1 is a topology diagram of a firmware upgrade system according to an embodiment of the present invention; Figure 2 is a flowchart of a firmware upgrade method according to an embodiment of the present invention; Figure 3 is a flowchart of another firmware upgrade method according to an embodiment of the present invention; Figure 4 is a schematic diagram of a firmware image file transmission process according to an embodiment of the present invention; Figure 5 is a structural block diagram of a baseboard management controller according to an embodiment of the present invention; Figure 6 is a structural block diagram of a client according to an embodiment of the present invention; Figure 7 It is a schematic diagram of the hardware structure of a computer device according to an embodiment of the present invention. DETAILED DESCRIPTION
[0047] In order to make the purpose, technical solution and advantages of the embodiments of the present invention clearer, the technical solution in the embodiments of the present invention will be clearly and completely described below in conjunction with the 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 creative work are within the scope of protection of the present invention.
[0048] The embodiment of the present invention is applied to a scenario where a Redundant Arrays of Independent Disks (RAID) card performs firmware upgrade.
[0049] At present, there are many defects in RAID card firmware upgrade technology. For example: defects include business interruption. Many traditional RAID card firmware upgrade methods need to be performed under a specific operating system, or require restarting the server, which will cause business interruption. In a data center or critical business environment, any interruption may result in significant service loss and cost increase. Another example: defects include cumbersome operations. The traditional RAID card firmware upgrade process may involve multiple manual steps, including but not limited to downloading firmware, preparing upgrade tools, entering a specific maintenance mode, etc. These complex operations increase the possibility of errors and may also cause upgrade failures.
[0050] Another example: defects include inefficient upgrades. Since traditional RAID card firmware upgrade methods usually require manual operations and complex processes, the upgrade process can be very time-consuming. In large-scale data center environments, this inefficient upgrade method can significantly increase maintenance costs and time.
[0051] Another example: defects include dependence on a specific environment. Some traditional RAID card firmware upgrade methods rely on a specific operating system or software environment, which means that different operations may be required under different system configurations, increasing management complexity.
[0052] Another example is the lack of real-time monitoring. In the traditional RAID card firmware upgrade process, there is often a lack of real-time progress and status monitoring mechanism. Administrators may not be able to accurately understand the progress and status of the upgrade, which increases the uncertainty and risk of the upgrade process.
[0053] In order to solve the above problems, an embodiment of the present invention provides a firmware upgrade method, which receives a firmware upgrade request, converts a firmware image file in a first format in the firmware upgrade request into a data packet in a preset protocol format, and forwards the data packet carrying a target endpoint identifier to a target independent disk redundant array card through a central processing unit, so as to achieve the effect of enabling the target independent disk redundant array card to perform firmware upgrade based on the data packet without relying on the operating system of the server and without requiring business interruption.
[0054] Below Figure 1 Taking the firmware upgrade system 100 as an example, the method provided in the embodiment of the present application is described. Figure 1 It is only a schematic diagram and does not constitute a limitation on the applicable scenarios of the technical solution provided in this application.
[0055] Figure 1 is a topology diagram of a firmware upgrade system according to an embodiment of the present invention. Figure 1 In the embodiment, the firmware upgrade system 100 may include a baseboard management controller 101, a client 102, a central processor 103, a first device 104, and a second device 105. In addition, the system may also include other more or fewer devices, such as a third device and a fourth device, which is not limited in this embodiment.
[0056] Among them, the baseboard management controller (Baseboard Management Controller, BMC) 101 can be a dedicated microcontroller, which is usually embedded in servers, network devices and other computing hardware, and is used to monitor and manage the status of system hardware and provide out-of-band management functions. BMC is a key component for server management and maintenance, especially in a data center environment, where it provides remote monitoring, fault diagnosis and repair functions. The baseboard management controller is deployed on the first server, and the baseboard management controller is connected to multiple RAID cards through a central processing unit. Optionally, the baseboard management controller can also be connected to multiple Peripheral Component Interconnect Express (PCIE) devices through the central processing unit.
[0057] The client 102 may be any device having computing and communication functions, for example, a terminal device.
[0058] In addition, the client 102 may also be a server, a cloud server, or a virtual machine where an application or tool that communicates with the BMC 101, manages and monitors the server hardware status is located.
[0059] The central processing unit (CPU) 103 can control the operation of the entire server by processing data and running programs. The central processing unit 103 is integrated with a platform controller hub (PCH).
[0060] The first device 104 or the second device 105 may be any PCIE device. For example, the first device 104 or the second device 105 may be a RAID card. The first device 104 or the second device 105 supports preset protocol communication. The preset protocol is the Management Component Transport Protocol (MCTP over PCIE) transmitted via the Peripheral Component Interconnect Express link. The MCTP over PCIE protocol combines the efficient management of the MCTP protocol with the high-performance transmission capability of the PCIe bus.
[0061] Figure 1 The firmware upgrade system 100 shown is only used as an example and is not used to limit the technical solution of the present application. Those skilled in the art should understand that in the specific implementation process, the firmware upgrade system 100 may also include other devices and other BMCs, and the number of devices and BMCs may also be determined according to specific needs without limitation.
[0062] According to an embodiment of the present invention, a firmware upgrade method embodiment is provided. It should be noted that the steps shown in the flowchart of the accompanying drawings can be executed in a computer system such as a set of computer executable instructions, 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.
[0063] In this embodiment, a firmware upgrade method is provided, which can be used for the above-mentioned client 102. Figure 2 is a flowchart of a firmware upgrade method according to an embodiment of the present invention. Figure 2 As shown, the process includes the following steps: S201: When it is detected that a firmware image file in a first format has been generated, obtain the firmware image file.
[0064] The firmware image file is an image file required for firmware upgrade of the target type redundant array of independent disks card.
[0065] In some optional implementations, before the client obtains the firmware image file, in response to a confirmation upgrade operation selected by the administrator, an updated version of the firmware file is obtained, the firmware file carries a firmware file name; based on the firmware file name, it is determined whether the firmware device to be upgraded corresponding to the firmware file is a target type independent disk redundant array card; if so, the firmware file is encrypted to generate a firmware image file in a first format corresponding to the firmware file.
[0066] The first format may be a mirror format (Hewlett Packard Management, HPM).
[0067] Optionally, the client detects whether the firmware file of the target type redundant array of independent disks card is updated; after detecting that the firmware file is updated, a prompt message is generated, and the prompt message is used to prompt the administrator whether the firmware of the target type redundant array of independent disks card needs to be upgraded.
[0068] It is understandable that if the firmware of the target type redundant array of independent disks card needs to be upgraded, the administrator can choose to confirm the upgrade operation; if the firmware of the target type redundant array of independent disks card does not need to be upgraded, the administrator can ignore the prompt information.
[0069] S202: Send a detection instruction to a baseboard management controller.
[0070] The detection instruction is used to instruct the baseboard management controller to detect whether a target type of independent disk redundant array card is deployed on the first server. The target type can be determined based on the manufacturer's code (VendorId) or the device code.
[0071] In one example, the client sends a detection instruction to the baseboard management controller through the Intelligent Platform Management Interface (IPMI) or the RESTful Interface Design Framework for Scalable Hardware Interfaces (Redfish) interface.
[0072] In some optional implementations, before the client sends the detection instruction to the baseboard management controller, the client may configure the address of the baseboard management controller of the first server that needs to perform firmware upgrade in response to the configuration operation of the administrator.
[0073] It can be understood that the administrator configures the address of the baseboard management controller so that the client communicates with the baseboard management controller of the first server.
[0074] Optionally, the client can configure the address of the baseboard management controller of each server in at least one server that needs to perform firmware upgrade in response to the configuration operation of the administrator, so that the client can communicate with at least one baseboard management controller corresponding to at least one server, realize batch control of at least one baseboard management controller, and then perform batch firmware upgrade of multiple RAID cards.
[0075] S203: Receive the detection result returned by the baseboard management controller.
[0076] The detection result is used to indicate whether a target type of redundant array of independent disks card is deployed on the first server. If a target type of redundant array of independent disks card is deployed on the first server, the detection result carries identification information of the target type of redundant array of independent disks card.
[0077] The identification information may be a device serial number of a target type redundant array of independent disks card.
[0078] In one example, after the client sends a detection instruction to the BMC, the BMC returns the detection result to the client. It is understandable that the BMC stores the detection result in advance.
[0079] S204: When the detection result indicates that a target type of redundant array of independent disks card is deployed on the first server, a firmware upgrade request is generated and sent to a baseboard management controller based on the firmware image file and the identification information.
[0080] In one example, when the detection result indicates that a target type of redundant array of independent disks card is deployed on the first server, the client initiates a firmware upgrade request to the BMC through the IPMI interface or the Redfish interface.
[0081] Optionally, if the client detects that target type independent disk redundant array cards are deployed on L servers among the multiple servers, it can simultaneously initiate multiple firmware upgrade requests to the BMCs deployed on the L servers through multiple IPMI interfaces or Redfish interfaces to request firmware upgrades for the L target type independent disk redundant array cards.
[0082] In this implementation, the client initiates multiple firmware upgrade requests to the BMCs on multiple servers through the IPMI interface or the Redfish interface, thereby realizing remote batch upgrades of multiple target type independent disk redundant array cards at the same time. This method reduces the cost and time cost of manual intervention and improves management efficiency and firmware upgrade efficiency.
[0083] In this embodiment, a firmware upgrade method is provided, which can be used for the above-mentioned baseboard management controller. Figure 3 is a flowchart of another firmware upgrade method according to an embodiment of the present invention. Figure 3 As shown, the process includes the following steps: S301: Receive a firmware upgrade request sent by a client when detecting that a target type of redundant array of independent disks card is deployed on a first server.
[0084] The firmware upgrade request includes a firmware image file in a first format, identification information, and a target version number of the firmware image file.
[0085] In some optional embodiments, after the first server is powered on, the baseboard management controller forwards an enumeration request of a preset protocol to N devices associated with the first server through the central processor; receives M response information returned by the M devices through the central processor after receiving the enumeration request, and assigns an endpoint identifier to each of the M devices.
[0086] The M devices include a plurality of independent disk redundant array cards, and M≤N.
[0087] The response information is used to indicate whether each device is operating normally.
[0088] It can be understood that based on the MCTP over PCIE protocol specification, the endpoint identifier (also called endpoint ID or EID) is used as the unique identifier of the device. In the subsequent interaction between the BMC and the device, the interaction must be through the EID. The EID can be the Destinaiton endpoint ID in the PCIe VDM Header in the above MCTP data format.
[0089] Optionally, before receiving a firmware upgrade request sent by the client when detecting that a target type independent disk redundant array card is deployed on the first server, the baseboard management controller forwards a read request of a preset protocol to M devices through a central processor; receives device information returned by each device via the central processor; detects whether each device is a target type independent disk redundant array card based on a manufacturer identifier and a corresponding relationship, and obtains a detection result; and returns the detection result to the client when receiving a detection instruction sent from the client.
[0090] The read request carries the endpoint identifier of each device.
[0091] Device information includes the vendor identifier (VendorId), the data type (Message Type) of the MCTP protocol supported by each device, and the current firmware version number of each device.
[0092] The corresponding relationship is the corresponding relationship between the manufacturer identifier and the target type redundant array of independent disks card.
[0093] It can be understood that when the BMC receives the detection instruction sent from the client, it returns the detection result to the client, so that the client can detect whether the target type of redundant array of independent disks is deployed on the first server.
[0094] S302: Convert the firmware image file in the first format into a data packet in a preset protocol format.
[0095] The data packet carries a target endpoint identifier, which is an endpoint identifier of a target redundant array of independent disks card corresponding to the identification information.
[0096] In some optional embodiments, before converting a firmware image file in a first format into a data packet in a preset protocol format, the baseboard management controller obtains the file size of the firmware image file and a preset hash value corresponding to the firmware image file; detects whether the file size is less than or equal to a first threshold; if so, calculates the true hash value of the firmware image file through an encrypted hash algorithm; compares whether the preset hash value and the true hash value are consistent; if so, compares whether the target version number is greater than the current firmware version number; if so, determines that the firmware image file is complete and valid.
[0097] The first threshold can be set according to actual needs without limitation. For example, the first threshold can be 1 GB.
[0098] In the embodiment of the present invention, the hash value may be an MD5 check value or a secure hash algorithm 256-bit value (SHA-256 value).
[0099] It can be understood that when the baseboard management controller detects that the file size is less than or equal to the first threshold, it can avoid the firmware image file being too long due to the firmware image file being too large, causing stability problems in the target independent disk redundant array card firmware upgrade; if the preset hash value and the real hash value are consistent, the baseboard management controller determines that the firmware image file is complete; if the target version number is greater than the current firmware version number, it is determined that the firmware image file is valid.
[0100] S303: forwarding the data packet carrying the target endpoint identifier to the target redundant array of independent disks card via the central processing unit, so that the target redundant array of independent disks card performs firmware upgrade based on the data packet.
[0101] In some optional implementations, the baseboard management controller calls a driver of a preset protocol through a target redundant array of independent disks card driver, and forwards the first command to the target redundant array of independent disks card via a central processing unit; divides a data packet carrying a target endpoint identifier into multiple data blocks, and calls a driver of a preset protocol through the target redundant array of independent disks card driver, and forwards the multiple data blocks to the target redundant array of independent disks card via the central processing unit, so that the target redundant array of independent disks card downloads and installs the data packet to perform a firmware upgrade.
[0102] The first command is used to trigger the target redundant array of independent disks card to enter a firmware upgrade mode.
[0103] For example, Figure 4 As shown, Figure 4 is a schematic diagram of the transmission process of the firmware image file according to an embodiment of the present invention; Figure 4 In the process, the client sends a firmware upgrade request including a firmware image file to the BMC through the Redfish interface, the IPMI interface, or the Web interface; the BMC calls the MCTP protocol driver through the RAID card driver, converts the firmware image file into a data packet in the MCTPover PCIE format, and forwards it to the target RAID card through the CPU.
[0104] In some optional embodiments, before the target independent disk redundant array card performs a firmware upgrade based on the data packet, the baseboard management controller obtains the operating system status, service operation status, power supply information of the first server and the temperature information of each component associated with the first server; when the operating system status indicates that the operating system is not performing a critical task, the service operation status indicates that the critical service associated with the first server is running normally, the power supply information indicates that the input voltage of the first server meets a preset condition, and the temperature information indicates that the real-time temperature of each component is less than a preset temperature, the first information of the preset protocol is forwarded to the target independent disk redundant array card through the central processing unit.
[0105] The first information is used to instruct the target redundant array of independent disks card to start firmware upgrade.
[0106] The operating system status is used to indicate whether the operating system is performing a critical task. For example, a critical task may be a data backup task or an operating system initialization task.
[0107] The service running status is used to indicate whether the key task associated with the first server is running normally. For example, the key service may be a database service.
[0108] The power supply information is used to indicate that the input voltage of the first server meets a preset condition. For example, the preset condition may be a preset range. For example, the preset range may be 100V to 240V AC, or 50Hz to 60Hz.
[0109] The temperature information is used to indicate that the real-time temperature of each component is less than a preset temperature. For example, the preset temperature may be 65 degrees Celsius.
[0110] In some optional implementations, during the firmware upgrade of the target redundant array of independent disks card based on the data packet, the baseboard management controller periodically forwards the query request of the preset protocol to the target redundant array of independent disks card through the central processing unit; receives the download progress returned by the target redundant array of independent disks card through the central processing unit; and sends the download progress to the client.
[0111] The query request is used to request to query the download progress of the target redundant array of independent disks card downloading the data packet.
[0112] In some optional implementations, after the target redundant array of independent disks card downloads and installs the data package, the baseboard management controller receives response information returned by the target redundant array of independent disks card through the central processor based on a preset protocol; and returns the response information to the client.
[0113] The response information is used to indicate whether the target redundant array of independent disks card has completed the firmware upgrade.
[0114] Based on the above Figure 3 According to the method, when a client detects that a target type of redundant array of independent disks card is deployed on a first server, a baseboard management controller can receive a firmware upgrade request, convert a firmware image file in a first format in the firmware upgrade request into a data packet in a preset protocol format, and forward the data packet carrying a target endpoint identifier to the target redundant array of independent disks card through a central processing unit, so that the target redundant array of independent disks card performs a firmware upgrade based on the data packet.
[0115] Since the firmware image file in the first format can be converted into a data packet in a preset protocol format in the firmware upgrade request, and the data packet in the preset protocol format is forwarded to the target independent disk redundant array card through the central processing unit. This method does not require manual downloading of upgrade firmware, preparation of upgrade tools, and entering a specific maintenance mode, thereby simplifying the upgrade operation process, saving time and effort, reducing maintenance costs, and improving user experience. This out-of-band firmware upgrade method does not rely on the operating system of the first server to send the firmware image file to the target independent disk redundant array card, but forwards this independent communication path through the central processing unit to achieve firmware upgrades, thereby avoiding business interruptions; in addition, data transmission and verification are performed through a preset protocol, which ensures the stability, accuracy and efficiency of the preset protocol data packet transmission, reduces the time required for firmware upgrades, and improves the efficiency of firmware upgrades.
[0116] This embodiment provides a firmware upgrade system, which includes a baseboard management controller and a client. The baseboard management controller is deployed on a first server, and is connected to a plurality of independent disk redundant array cards through a central processing unit; the baseboard management controller is connected to the client.
[0117] The client is used to obtain the firmware image file when it is detected that the firmware image file in the first format has been generated, send a detection instruction to the baseboard management controller, and when the detection result indicates that the target type of independent disk redundant array card is deployed on the first server, generate and send a firmware upgrade request to the baseboard management controller based on the firmware image file and identification information.
[0118] The firmware image file is an image file required for the firmware upgrade of the target type independent disk redundant array card. The detection instruction is used to instruct the baseboard management controller to detect whether the target type independent disk redundant array card is deployed on the first server. The detection result carries the identification information of the target type independent disk redundant array card.
[0119] The baseboard management controller is used to receive a firmware upgrade request sent by the client when detecting that a target type of independent disk redundant array card is deployed on the first server, and convert a firmware image file in a first format into a data packet in a preset protocol format, the data packet carrying a target endpoint identifier.
[0120] The firmware upgrade request includes a firmware image file in a first format and identification information. The target endpoint identifier is an endpoint identifier of a target redundant array of independent disks card corresponding to the identification information.
[0121] The baseboard management controller is also used to forward the data packet carrying the target endpoint identifier to the target independent disk redundant array card through the central processing unit, so that the target independent disk redundant array card performs firmware upgrade based on the data packet.
[0122] This embodiment provides a baseboard management controller, such as Figure 5 As shown, Figure 5 The baseboard management controller is a block diagram of a baseboard management controller according to an embodiment of the present invention; the baseboard management controller is deployed on a first server, and the baseboard management controller is connected to a plurality of independent disk redundant array cards through a central processing unit; the baseboard management controller is connected to a client; the baseboard management controller pre-assigns an endpoint identifier to each independent disk redundant array card; the baseboard management controller includes: The first transceiver module 501 is used to receive a firmware upgrade request sent by the client when detecting that a target type of redundant array of independent disks card is deployed on the first server, the firmware upgrade request including a firmware image file in a first format and identification information.
[0123] The first processing module 502 is used to convert the firmware image file in the first format into a data packet in a preset protocol format, the data packet carries a target endpoint identifier, the target endpoint identifier is an endpoint identifier of a target independent disk redundant array card corresponding to the identification information, and the preset protocol is a management component transmission protocol transmitted through a peripheral component interconnect fast link.
[0124] The first processing module 502 is further configured to forward the data packet carrying the target endpoint identifier to the target redundant array of independent disks card via the central processing unit, so that the target redundant array of independent disks card performs firmware upgrade based on the data packet.
[0125] In some optional embodiments, the first transceiver module 501 is further used to forward the enumeration request of the preset protocol to N devices associated with the first server through the central processor after the first server is powered on; the first processing module 502 is further used to receive M response information returned by the M devices through the central processor after receiving the enumeration request, and to assign an endpoint identifier to each of the M devices, the M devices including multiple independent disk redundant array cards, M≤N.
[0126] In some optional implementations, the first transceiver module 501 is further used to forward a read request of a preset protocol to M devices through a central processor, and the read request carries an endpoint identifier of each device; the first transceiver module 501 is further used to receive device information returned by each device through the central processor, and the device information includes a manufacturer identifier; the first processing module 502 is further used to detect whether each device is a target type independent disk redundant array card according to the manufacturer identifier and the corresponding relationship, and obtain a detection result, and the corresponding relationship is a corresponding relationship between the manufacturer identifier and the target type independent disk redundant array card; the first transceiver module 501 is further used to return the detection result to the client when receiving a detection instruction sent from the client.
[0127] In some optional implementations, before the target independent disk redundant array card performs a firmware upgrade based on the data packet, the first transceiver module 501 is further used to obtain the operating system status, service operation status, power supply information of the first server and the temperature information of each component associated with the first server; the first transceiver module 501 is further used to forward the first information of the preset protocol to the target independent disk redundant array card through the central processing unit when the operating system status indicates that the operating system is not performing a critical task, the service operation status indicates that the critical service associated with the first server is running normally, the power supply information indicates that the input voltage of the first server meets the preset conditions, and the temperature information indicates that the real-time temperature of each component is less than the preset temperature, and the first information is used to instruct the target independent disk redundant array card to start the firmware upgrade.
[0128] In some optional embodiments, the firmware upgrade request also includes a target version number of the firmware image file; the device information also includes the current firmware version number of each device; before converting the firmware image file in the first format into a data packet in a preset protocol format, the first transceiver module 501 is also used to obtain the file size of the firmware image file and the preset hash value corresponding to the firmware image file; the first processing module 502 is also used to detect whether the file size is less than or equal to the first threshold; the first processing module 502 is also used to, if so, calculate the true hash value of the firmware image file through an encrypted hash algorithm; the first processing module 502 is also used to compare whether the preset hash value and the true hash value are consistent; the first processing module 502 is also used to, if so, compare whether the target version number is greater than the current firmware version number; the first processing module 502 is also used to, if so, determine that the firmware image file is complete and valid.
[0129] In some optional implementations, the first transceiver module 501 is specifically used to call a driver of a preset protocol through a target redundant array of independent disks card driver, and forward a first command to the target redundant array of independent disks card via a central processing unit, and the first command is used to trigger the target redundant array of independent disks card to enter a firmware upgrade mode; the first transceiver module 501 is also specifically used to divide a data packet carrying a target endpoint identifier into multiple data blocks, and call a driver of a preset protocol through a target redundant array of independent disks card driver, and forward the multiple data blocks to the target redundant array of independent disks card via a central processing unit, so that the target redundant array of independent disks card downloads and installs the data packet to perform a firmware upgrade.
[0130] In some optional implementations, the first transceiver module 501 is further used to periodically forward a query request of a preset protocol to the target redundant array of independent disks card through a central processing unit during a firmware upgrade process of the target redundant array of independent disks card based on a data packet, wherein the query request is used to request to query the download progress of the target redundant array of independent disks card downloading the data packet; the first transceiver module 501 is further used to receive the download progress returned by the target redundant array of independent disks card through the central processing unit; the first transceiver module 501 is further used to send the download progress to the client.
[0131] In some optional implementations, the first transceiver module 501 is further used to receive response information returned by the target redundant array of independent disks card through the central processor based on a preset protocol after the target redundant array of independent disks card completes downloading and installing the data package, and the response information is used to indicate whether the target redundant array of independent disks card has completed the firmware upgrade; the first transceiver module 501 is also used to return the response information to the client.
[0132] This embodiment provides a client, such as Figure 6 As shown, Figure 6 1 is a structural block diagram of a client according to an embodiment of the present invention; the client is connected to a baseboard management controller, the baseboard management controller is deployed on a first server, and the baseboard management controller is connected to multiple independent disk redundant array cards through a central processing unit. The client includes: The second transceiver module 601 is used to obtain the firmware image file when it is detected that the firmware image file in the first format has been generated, where the firmware image file is an image file required for firmware upgrade of the target type Redundant Array of Independent Disks card.
[0133] The second transceiver module 601 is further used to send a detection instruction to the baseboard management controller, where the detection instruction is used to instruct the baseboard management controller to detect whether a target type of redundant array of independent disks card is deployed on the first server.
[0134] The second transceiver module 601 is further used to receive the detection result returned by the baseboard management controller, and the detection result carries the identification information of the target type of redundant array of independent disks.
[0135] The second processing module 602 is used to generate and send a firmware upgrade request to the baseboard management controller based on the firmware image file and the identification information when the detection result indicates that a target type of independent disk redundant array card is deployed on the first server. The baseboard management controller converts the firmware image file in the first format into a data packet in a preset protocol format based on the firmware upgrade request, and forwards the data packet to the target independent disk redundant array card through the central processing unit, so that the target independent disk redundant array card performs firmware upgrade based on the data packet. The preset protocol is a management component transmission protocol transmitted through a peripheral component interconnect fast link.
[0136] In some optional implementations, before obtaining the firmware image file, the second transceiver module 601 is further used to respond to the administrator's selected confirmation upgrade operation to obtain an updated version of the firmware file, where the firmware file carries the firmware file name; the second processing module 602 is further used to determine, based on the firmware file name, whether the firmware device to be upgraded corresponding to the firmware file is a target type independent disk redundant array card; the second processing module 602 is further used to encrypt the firmware file if so, and generate a firmware image file in a first format corresponding to the firmware file.
[0137] In some optional implementations, before sending the detection instruction to the baseboard management controller, the second processing module 602 is further configured to configure the address of the baseboard management controller of the first server that needs to perform firmware upgrade in response to the configuration operation of the administrator.
[0138] 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.
[0139] The difficult management control 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.
[0140] The embodiment of the present invention also provides a computer device having the above Figure 5 Baseboard Management Controller or Figure 6 The client shown.
[0141] See also Figure 7 , Figure 7 is a schematic diagram of the structure of a computer device provided by an optional embodiment of the present invention, such as Figure 7As shown, the computer device includes: one or more processors 10, a memory 20, and interfaces for connecting various components, including high-speed interfaces and low-speed interfaces. Various components are connected to each other using different buses for communication, 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 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. Similarly, multiple computer devices can be connected, and each device provides some necessary operations (for example, as a server array, a group of blade servers, or a multi-processor system). Figure 7 A processor 10 is taken as an example.
[0142] The processor 10 may be a central processing unit, a network processor or a combination thereof. The processor 10 may further include a hardware chip. The hardware chip may be a dedicated 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.
[0143] The memory 20 stores instructions executable by at least one processor 10, so that the at least one processor 10 executes the method shown in the above embodiment.
[0144] The memory 20 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to 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 arranged 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.
[0145] 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.
[0146] The computer device further comprises a communication interface 30 for the computer device to communicate with other devices or a communication network.
[0147] The embodiment of the present invention also provides a computer-readable storage medium. The method according to the embodiment of the present invention can be implemented in hardware, firmware, or can be implemented as a computer code that can be recorded in a storage medium, or can be implemented as a computer code that is originally stored in a remote storage medium or a non-temporary machine-readable storage medium and will be stored in a local storage medium through a network download, 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 hard disk, etc.; further, the storage medium can also include a combination of the above types of memories. 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.
[0148] Part of the present application 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 application through the operation of the computer. Those skilled in the art should understand that the existence of computer program instructions in computer-readable media includes but is not limited to source files, executable files, installation package files, etc., and accordingly, the way in which computer program instructions are executed by a 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 can be any available computer-readable storage medium or communication medium accessible to the computer.
[0149] Although the embodiments of the present invention have been described in conjunction with 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 are all within the scope defined by the appended claims.
Claims
1. A firmware upgrade method, characterized in that: Applied to a baseboard management controller, the baseboard management controller is deployed on a first server, and the baseboard management controller is connected to a plurality of independent disk redundant array cards via a central processing unit; The baseboard management controller is connected to the client; The baseboard management controller pre-assigns an endpoint identifier to each of the independent disk redundant array cards; the method comprises: receiving a firmware upgrade request sent by the client when detecting that a target type of redundant array of independent disks card is deployed on the first server, the firmware upgrade request including a firmware image file in a first format and identification information; Converting the firmware image file in the first format into a data packet in a preset protocol format, the data packet carries a target endpoint identifier, the target endpoint identifier is an endpoint identifier of a target redundant array of independent disks card corresponding to the identification information, and the preset protocol is a management component transmission protocol transmitted through a peripheral component interconnect express link; The data packet carrying the target endpoint identifier is forwarded to the target redundant array of independent disks card through the central processor, so that the target redundant array of independent disks card performs a firmware upgrade based on the data packet.
2. The method according to claim 1, characterized in that The method further comprises: After the first server is powered on, the enumeration request of the preset protocol is forwarded to N devices associated with the first server through the central processor for sending; Receive M response messages returned by the central processor after receiving the enumeration request from the M devices, and allocate an endpoint identifier to each of the M devices, wherein the M devices include the multiple independent disk redundant array cards, M≤N.
3. The method according to claim 2, characterized in that The method further comprises: Forwarding the read request of the preset protocol to the M devices through the central processor, the read request carrying the endpoint identifier of each device; Receiving device information returned by the central processor from each of the devices, the device information including a manufacturer identification; According to the manufacturer identifier and the corresponding relationship, detecting whether each of the devices is the target type redundant array of independent disks card, and obtaining a detection result, wherein the corresponding relationship is a corresponding relationship between the manufacturer identifier and the target type redundant array of independent disks card; When receiving the detection instruction sent by the client, the detection result is returned to the client.
4. The method according to claim 3, characterized in that Before the target redundant array of independent disks card performs a firmware upgrade based on the data packet, the method further includes: Acquire the operating system status, service running status, power supply information of the first server and temperature information of each component associated with the first server; When the operating system status indicates that the operating system is not performing a critical task, the service operation status indicates that a critical service associated with the first server is operating normally, the power supply information indicates that an input voltage of the first server meets a preset condition, and the temperature information indicates that a real-time temperature of each component is less than a preset temperature, first information of the preset protocol is forwarded to the target independent redundant array of disks card through the central processing unit, and the first information is used to instruct the target independent redundant array of disks card to start firmware upgrade.
5. The method according to claim 4, characterized in that The firmware upgrade request also includes a target version number of the firmware image file; the device information also includes a current firmware version number of each of the devices; before converting the firmware image file in the first format into the data packet in the preset protocol format, the method further includes: Obtaining a file size of the firmware image file and a preset hash value corresponding to the firmware image file; Detecting whether the file size is less than or equal to a first threshold; If yes, the real hash value of the firmware image file is calculated by a cryptographic hash algorithm; Comparing the preset hash value and the real hash value to see if they are consistent; If yes, compare whether the target version number is greater than the current firmware version number; If so, it is determined that the firmware image file is complete and valid.
6. The method according to claim 5, characterized in that The method of forwarding the data packet carrying the target endpoint identifier to the target redundant array of independent disks card via the central processor includes: The driver of the preset protocol is called by the target redundant array of independent disks card driver, and a first command is forwarded to the target redundant array of independent disks card via the central processor, wherein the first command is used to trigger the target redundant array of independent disks card to enter a firmware upgrade mode; The data packet carrying the target endpoint identifier is divided into a plurality of data blocks, and the driver of the preset protocol is called through the target redundant array of independent disks card driver, and the plurality of data blocks are forwarded to the target redundant array of independent disks card via the central processing unit, so that the target redundant array of independent disks card downloads and installs the data packet to perform firmware upgrade.
7. The method according to claim 6, characterized in that The method further comprises: During the firmware upgrade of the target redundant array of independent disks card based on the data packet, periodically forwarding the query request of the preset protocol to the target redundant array of independent disks card through the central processor, the query request being used to request to query the download progress of the target redundant array of independent disks card downloading the data packet; Receiving the download progress returned by the target redundant array of independent disks card through the central processing unit; Send the download progress to the client.
8. The method according to claim 7, characterized in that The method further comprises: After the target redundant array of independent disks card has downloaded and installed the data packet, receiving response information returned by the target redundant array of independent disks card through the central processor based on the preset protocol, the response information being used to indicate whether the target redundant array of independent disks card has completed the firmware upgrade; Return the response information to the client.
9. A firmware upgrade method, characterized in that: Applied to a client, the client is connected to a baseboard management controller, the baseboard management controller is deployed on a first server, and the baseboard management controller is connected to a plurality of independent disk redundant array cards through a central processing unit; the method comprises: In the case where it is detected that the firmware image file in the first format has been generated, the firmware image file is acquired, where the firmware image file is an image file required for firmware upgrade of a target type redundant array of independent disks card; Sending a detection instruction to the baseboard management controller, wherein the detection instruction is used to instruct the baseboard management controller to detect whether a target type of independent disk redundant array card is deployed on the first server; Receiving a detection result returned by the baseboard management controller, the detection result carrying identification information of the target type redundant array of independent disks card; When the detection result indicates that the target type of redundant array of independent disks card is deployed on the first server, a firmware upgrade request is generated and sent to the baseboard management controller based on the firmware image file and the identification information. The baseboard management controller converts the firmware image file in the first format into a data packet in a preset protocol format based on the firmware upgrade request, and forwards the data packet to the target redundant array of independent disks card through the central processing unit, so that the target redundant array of independent disks card performs a firmware upgrade based on the data packet. The preset protocol is a management component transmission protocol transmitted through a peripheral component interconnect express link.
10. The method according to claim 9, characterized in that Before obtaining the firmware image file, the method further includes: In response to the confirm upgrade operation selected by the administrator, obtaining an updated version of the firmware file, the firmware file carrying the firmware file name; Based on the firmware file name, determining whether the to-be-upgraded firmware device corresponding to the firmware file is the target type Redundant Array of Independent Disks card; If so, encrypt the firmware file to generate the firmware image file in the first format corresponding to the firmware file.
11. The method according to claim 10, characterized in that Before sending the detection instruction to the baseboard management controller, the method further includes: In response to the configuration operation of the administrator, the address of the baseboard management controller of the first server that needs to perform firmware upgrade is configured.
12. A firmware upgrade system, characterized in that: The system includes a baseboard management controller and a client; the baseboard management controller is deployed on a first server, and the baseboard management controller is connected to a plurality of independent disk redundant array cards through a central processing unit; The baseboard management controller is connected to the client; The client is used to obtain the firmware image file and send a detection instruction to the baseboard management controller when detecting that the firmware image file in the first format has been generated; receiving a detection result returned by the baseboard management controller; when the detection result indicates that a target type of redundant array of independent disks card is deployed on the first server, generating and sending a firmware upgrade request to the baseboard management controller based on the firmware image file and the identification information; The firmware image file is an image file required for firmware upgrade of a target type redundant array of independent disks card; the detection instruction is used to instruct the baseboard management controller to detect whether a target type redundant array of independent disks card is deployed on the first server; and the detection result carries identification information of the target type redundant array of independent disks card; The baseboard management controller is used to receive a firmware upgrade request sent by the client when detecting that a target type of independent disk redundant array card is deployed on the first server, and convert the firmware image file in the first format into a data packet in a preset protocol format, wherein the data packet carries a target endpoint identifier; The firmware upgrade request includes a firmware image file in a first format and identification information; the target endpoint identifier is an endpoint identifier of a target redundant array of independent disks card corresponding to the identification information; and the preset protocol is a management component transmission protocol transmitted via a peripheral component interconnect express link; The baseboard management controller is further used to forward the data packet carrying the target endpoint identifier to the target redundant array of independent disks card through the central processor, so that the target redundant array of independent disks card performs firmware upgrade based on the data packet.
13. 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 firmware upgrade method according to any one of claims 1 to 11 by executing the computer instructions.
14. 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 firmware upgrade method according to any one of claims 1 to 11.
15. A computer program product, characterized in that The method comprises computer instructions, wherein the computer instructions are used to cause a computer to execute the firmware upgrade method according to any one of claims 1 to 11.
Citation Information
Patent Citations
PCIE (Peripheral Component Interface Express) driver card firmware upgrading method, device, system, equipment and medium
CN114153477A
Firmware batch upgrading method and device, equipment and storage medium
CN114816481A
Firmware upgrading method and device, storage medium, electronic equipment and computer program product
CN118394388A
Cited By
Firmware upgrading method, electronic equipment and storage medium
CN120508307A
Firmware upgrading method, electronic device, and storage medium
CN120508307B
Firmware updating method of expansion card and electronic equipment
CN122450485A
Method for updating firmware of an expansion card and electronic device
CN122450485B