Disk array firmware version upgrading method and device, equipment and medium

By automatically upgrading methods in disk array cards, the firmware version consistency problem between RAID card and disk is solved, automatic upgrade and consistency check are realized, user experience and operation and maintenance efficiency are improved, and dependence on remote servers is reduced. .

CN119292626AActive Publication Date: 2025-01-10SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

Application Number
CN202411368978.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-29
Publication Date
2025-01-10
Estimated Expiration
2044-09-29

AI Technical Summary

Technical Problem

The existing technology lacks automation solutions to ensure the consistency of firmware versions between RAID cards and disks, resulting in users needing to manually upgrade when compatibility or performance issues, reducing user experience and operation and maintenance efficiency.

Method used

By implementing an automated upgrade method in the disk array card, obtain the upgrade request issued by the host, load the firmware image and restart the card, traverse the connected disk version, if it does not match, look up the target firmware from the firmware backup disk, and download the update through the host Disk firmware for consistent upgrades.

Benefits of technology

It realizes the consistent automation upgrade of the firmware version between the RAID card and the disk, improves user experience and operation and maintenance efficiency, reduces dependence on remote servers, and improves the speed of firmware consistency upgrade.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119292626A_ABST
    Figure CN119292626A_ABST
Patent Text Reader

Abstract

The invention discloses a disk array firmware version upgrading method and device, equipment and a medium, is applied to a disk array card, and relates to the technical field of computers, and the method comprises the steps that a disk array card upgrading request issued by a host is acquired, and when the disk array card meets an upgrading condition, a message notification of allowing upgrading is returned to the host; receiving upgrading data issued by the host, controlling the disk array card to load a firmware mirror image in the upgrading data and controlling the disk array card to restart; traversing firmware versions of a disk accessed by the disk array card, and when the firmware version of any disk does not exist in the disk firmware version list, searching corresponding target disk firmware from the firmware backup disk; and if the firmware version of the target disk firmware exists in the disk firmware version list, performing consistency upgrading on any disk through the target disk firmware. According to the method and the device, automatic upgrading of the disk array card is realized, and consistent upgrading of the disk firmware accessed by the disk array card is realized.
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 disk array firmware version upgrade method, device, equipment and medium. Background Art

[0002] Disk arrays are usually composed of RAID (Redundant Array of Independent Disks) cards and disks. Both RAID cards and disks are independent embedded systems with their own processors, memory, storage space, and firmware. Usually, when the RAID card firmware version is upgraded to add some new features or improvements, in order to correctly support these features, the disk firmware version often needs to be upgraded to a specific version to ensure the consistency of the firmware versions between the RAID card and the disk.

[0003] The existing technology does not address the consistency of RAID card and disk firmware versions, and lacks a solution for automatic upgrades of disks or RAID cards through the host. When using a disk array, users usually do not know the firmware versions of the RAID card and disk, nor do they know whether there are version inconsistencies between them. Only when compatibility or performance issues occur in the disk array will users begin to consider the consistency of the firmware version. In this case, the user needs to check the disk version support information provided by the RAID card manufacturer, then go to the official website of the disk manufacturer to download the corresponding firmware version, and finally manually upgrade the disk, which seriously reduces the user experience and operation and maintenance efficiency. Summary of the invention

[0004] In view of this, the purpose of the present invention is to provide a disk array firmware version upgrade method, device, equipment and medium, which can realize the automatic upgrade of the disk array card and realize the consistent upgrade of the disk firmware connected to the disk array card. The specific scheme is as follows:

[0005] In a first aspect, the present application discloses a disk array firmware version upgrade method, which is applied to a disk array card, comprising:

[0006] Obtaining a disk array card upgrade request issued by a host, and when the disk array card meets a preset upgrade condition, returning a message notification allowing the disk array card to be upgraded to the host;

[0007] receiving the upgrade data sent by the host, controlling the disk array card to load the firmware image in the upgrade data and controlling the disk array card to restart; wherein the upgrade data includes the firmware image and a list of disk firmware versions supported by the disk array card;

[0008] Traversing the firmware versions of the disks connected to the disk array card, and when the firmware version of any disk does not exist in the disk firmware version list, searching for the corresponding target disk firmware from the firmware backup disk according to the model of any disk; the firmware backup disk stores the upgraded disk firmware;

[0009] If the firmware version of the target disk firmware exists in the disk firmware version list, the target disk firmware is used to upgrade any disk, so that after the disk array card is upgraded, the disk connected to the disk array card can be upgraded consistently.

[0010] Optionally, obtaining the disk array card upgrade request sent by the host includes:

[0011] The disk array card upgrade request sent by the host when the target server has the upgrade data with a version level greater than the target version level is obtained; the target version level is the current version level of the disk array card, and the target server is the upgrade data and disk manufacturer firmware download server.

[0012] Optionally, after upgrading any one of the disks by using the target disk firmware, the method further includes:

[0013] Determine whether the firmware version of any disk exists in the disk firmware version list;

[0014] If the firmware version of any disk exists in the disk firmware version list, mark any disk as available, and traverse the next disk connected to the disk array card;

[0015] If the firmware version of any disk does not exist in the disk firmware version list, any disk is marked as unavailable and disk information of any disk is reported to the host.

[0016] Optionally, after searching the firmware backup disk for the corresponding target disk firmware, the following steps are further included:

[0017] If the firmware version of the target disk firmware does not exist in the disk firmware version list, initiating a download request for the corresponding disk firmware to the host;

[0018] The any one disk is upgraded according to the disk firmware sent by the host, and the disk firmware sent by the host is saved to the firmware backup disk.

[0019] Optionally, initiating a download request for corresponding disk firmware to the host, and upgrading any disk according to the disk firmware issued by the host, includes:

[0020] Initiating a download request of the corresponding disk firmware to the host so that the host can check the network link of the target server;

[0021] If the network link is an unavailable link, a download failure message notification is returned to the disk array card, and a download failure message prompt and a corresponding first download failure reason are displayed to the user through the host computer in the host;

[0022] If the network link is an available link, querying the corresponding disk firmware from the target server;

[0023] If the corresponding disk firmware does not exist in the target server, a download failure message notification is returned to the disk array card, and a download failure message prompt and a corresponding second download failure reason are displayed to the user through the host computer in the host;

[0024] If the corresponding disk firmware exists in the target server, the corresponding disk firmware is downloaded locally, and based on the high-speed serial computer expansion bus standard and the non-volatile memory host controller interface specification, the corresponding disk firmware is sent to the disk array card, so that the disk array card can upgrade any of the disks according to the corresponding disk firmware sent by the host.

[0025] Optionally, when the disk array card meets a preset upgrade condition, returning a message notification allowing the disk array card to be upgraded to the host includes:

[0026] When the disk array card is in an idle state, it is determined that the disk array card meets the preset upgrade condition, and a message notification allowing the disk array card to be upgraded is returned to the host.

[0027] Optionally, the receiving the upgrade data sent by the host, controlling the disk array card to load the firmware image in the upgrade data, and controlling the disk array card to restart, includes:

[0028] Receiving the upgrade data sent by the host, and writing the upgrade data into the target flash memory;

[0029] The disk array card is controlled and a reset interface is called to read the upgrade data from the target flash memory, the firmware image in the upgrade data is loaded, and the disk array card is controlled to restart.

[0030] In a second aspect, the present application discloses a disk array firmware version upgrade device, which is applied to a disk array card, comprising:

[0031] A request acquisition module, used for acquiring a disk array card upgrade request issued by a host, and returning a message notification allowing the disk array card to be upgraded to the host when the disk array card meets a preset upgrade condition;

[0032] A disk array card upgrade module, used to receive the upgrade data sent by the host, control the disk array card to load the firmware image in the upgrade data and control the disk array card to restart; wherein the upgrade data includes the firmware image and a list of disk firmware versions supported by the disk array card;

[0033] a disk firmware acquisition module, used for traversing the firmware versions of the disks connected to the disk array card, and when the firmware version of any disk does not exist in the disk firmware version list, searching for the corresponding target disk firmware from the firmware backup disk according to the model of any disk; the firmware backup disk stores the upgraded disk firmware;

[0034] The disk firmware upgrade module is used to upgrade any disk through the target disk firmware if the firmware version of the target disk firmware exists in the disk firmware version list, so as to achieve consistency upgrade of the disk connected to the disk array card after the disk array card is upgraded.

[0035] In a third aspect, the present application discloses an electronic device, comprising:

[0036] Memory, used to store computer programs;

[0037] The processor is used to execute the computer program to implement the disk array firmware version upgrade method disclosed above.

[0038] In a fourth aspect, the present application discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, the disk array firmware version upgrade method disclosed above is implemented.

[0039] It can be seen that the present application proposes a disk array firmware version upgrade method, which is applied to a disk array card, comprising: obtaining a disk array card upgrade request issued by a host, and when the disk array card meets a preset upgrade condition, returning a message notification to the host that allows the disk array card to be upgraded; receiving upgrade data issued by the host, and controlling the disk array card to load the firmware image in the upgrade data and controlling the disk array card to restart; wherein the upgrade data includes the firmware image and a list of disk firmware versions supported by the disk array card; traversing the firmware versions of the disks connected to the disk array card, and when the firmware version of any disk does not exist in the disk firmware version list, searching for the corresponding target disk firmware from a firmware backup disk according to the model of any disk; the firmware backup disk stores the upgraded disk firmware; if the firmware version of the target disk firmware exists in the disk firmware version list, upgrading any disk through the target disk firmware, so that after the disk array card is upgraded, the consistency upgrade of the disks connected to the disk array card is achieved. From the above, it can be seen that the firmware image in this application and the list of disk firmware versions supported by the disk array card are downloaded to the disk array card as upgrade data, which realizes a quick and direct check of the consistency of the firmware version of the connected disk. Furthermore, this application realizes the full automation of disk array firmware consistency check and consistency upgrade through the mutual cooperation of the upgrade management threads of the host and the disk array card. In addition, this application backs up the upgraded disk firmware to the disk firmware backup disk, so that when the disk of the same model is inserted, the firmware can be directly obtained from the disk firmware backup disk, eliminating the process of searching and downloading from the remote server, and improving the speed of disk firmware consistency upgrade. BRIEF DESCRIPTION OF THE DRAWINGS

[0040] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.

[0041] Figure 1 A flow chart of a disk array firmware version upgrade method disclosed in this application;

[0042] Figure 2 A schematic diagram of a disk array consistency upgrade framework disclosed in this application;

[0043] Figure 3 The data arrangement of a RAID card firmware package in Flash disclosed in this application;

[0044] Figure 4A flowchart of a firmware package upgrade on a disk array card side disclosed in the present application;

[0045] Figure 5 A disk consistency upgrade flow chart for a disk array card side disclosed in the present application;

[0046] Figure 6 A flowchart of a firmware package upgrade on the host side disclosed in this application;

[0047] Figure 7 A flowchart of a disk consistency upgrade on a host side disclosed in this application;

[0048] Figure 8 This is a schematic diagram of the structure of a disk array firmware version upgrade device disclosed in this application;

[0049] Fig. 9 This is a structural diagram of an electronic device disclosed in this application. DETAILED DESCRIPTION

[0050] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only 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 ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0051] The existing technology does not address the consistency of RAID card and disk firmware versions, and lacks a solution for disk or RAID card to achieve automatic upgrade through the host. In this case, users need to check the disk version support information provided by the RAID card manufacturer, go to the disk manufacturer's official website to download the corresponding firmware version, and finally manually upgrade the disk, which seriously reduces the user experience and operation and maintenance efficiency.

[0052] To this end, an embodiment of the present application proposes a disk array firmware version upgrade solution, which can realize automatic upgrade of the disk array card and achieve consistent upgrade of the disk firmware connected to the disk array card.

[0053] The present application embodiment discloses a disk array firmware version upgrade method, comprising: Figure 1 As shown, including:

[0054] Step S11: obtaining a disk array card upgrade request sent by a host, and when the disk array card meets a preset upgrade condition, returning a message notification allowing the disk array card to be upgraded to the host.

[0055] Figure 2 A schematic diagram of a disk array consistency upgrade framework proposed in this application, see Figure 2 As shown, the hardware part of the present application consists of a target flash memory (Flash) in the RAID card and a firmware backup disk connected to the RAID card, wherein the Flash stores the firmware images of each module of the RAID card and the list of disk firmware versions supported by the RAID card, collectively referred to as the RAID card firmware package (i.e., upgrade data), and the firmware backup disk is used to store the upgraded disk firmware. When the RAID card is inserted into the same disk, the disk firmware is directly obtained from the disk for fast consistency upgrade. The software part consists of an upgrade host computer on the host side and an upgrade management thread in the RAID management module inside the RAID card, wherein the upgrade host computer on the host side is responsible for downloading the RAID card firmware package or disk firmware from the firmware download server (i.e., the target server) via HTTPS (Hypertext Transfer Protocol Secure), and then transmitting the upgrade data or firmware to the RAID card via PCIe (peripheralcomponent interconnect express, a high-speed serial computer expansion bus standard). The upgrade management thread in the RAID card receives the data sent by the host, and calls the Flash management module to write the Flash interface for firmware storage through RPC (Remote Procedure Call, a protocol used for communication between different processes or different computers). This thread also implements the consistency check and upgrade of the disk firmware and RAID card firmware package versions. The above-mentioned collaboration between software and hardware realizes the large package upgrade of the disk array and the consistency upgrade of the disk firmware and the large package version.

[0056] Figure 3 The data arrangement of a RAID card firmware package in Flash disclosed in this application is shown in Figure 3 As shown, the head of the big package is a firmware version list that describes the big package version number and the firmware version number of each module of the RAID card. After the upgrade is completed, these version numbers are compared with the version numbers read from each module to confirm whether the upgrade is successful. Further stored are the firmware images of each module of the RAID card. Whenever the RAID card is reset, each module loads the firmware image from the Flash into its own memory and then starts. Finally, a list of all disk firmware versions supported by the big package is stored according to different manufacturers and models. These version numbers are used to compare with the current firmware version number of the disk at startup or when a new disk is inserted to confirm whether the disk and RAID card firmware big package versions are consistent.

[0057] The following is a detailed description of the disk array firmware version upgrade method of the present application based on the above framework:

[0058] Figure 4This is a flowchart of the RAID card firmware package upgrade on the disk array card side of this application, see Figure 4 As shown, in this embodiment, the disk array card upgrade request issued by the host when the target server has the upgrade data with a version level greater than the target version level is obtained, wherein the target version level is the current version level of the disk array card, and the target server is the upgrade data download server. Further, when the disk array card is in an idle state, it is determined that the disk array card meets the preset upgrade conditions, and a message notification allowing the disk array card to be upgraded is returned to the host. It should be pointed out that this embodiment can also send a message to the host through the disk array card and at a preset time interval to inquire whether the host has obtained the upgrade data with a version level greater than the current version level of the disk array card, so as to achieve a more comprehensive and efficient RAID card firmware package upgrade process.

[0059] Specifically, the host sends an upgrade request to the RAID card. After receiving the upgrade request, the RAID management module wakes up the upgrade management thread. After being awakened, the upgrade management thread starts the RAID card firmware package upgrade process. Further, check whether the current RAID card status supports the upgrade. If the RAID card is writing user data sent by the host to the disk, or the RAID card is busy processing other events, the RAID card status does not support the upgrade. The upgrade management thread will reply to the host to reject the host's upgrade request. On the contrary, if the RAID card status supports the upgrade, the host will be notified of the upgrade permission.

[0060] Step S12: receiving the upgrade data sent by the host, controlling the disk array card to load the firmware image in the upgrade data and controlling the disk array card to restart; wherein the upgrade data includes the firmware image and a list of disk firmware versions supported by the disk array card.

[0061] In this embodiment, the upgrade data sent by the host is received and written to the target flash memory. Further, the disk array card is controlled and a reset interface is called to read the upgrade data from the target flash memory, and the firmware image in the upgrade data is loaded and the disk array card is controlled to restart.

[0062] Specifically, the RAID card receives the upgrade data, which is transmitted in packets of 4K in size. Each time a packet of data is received, the upgrade management thread will call the write Flash interface of the Flash management module through RPC to write the upgrade package data to Flash. When the upgrade package is downloaded and saved to Flash, the upgrade management thread will call the RIAD card reset interface to perform upgrade reset. All modules in the RAID card will reload the firmware image from Flash and start from the new image. After restarting, the RAID card and the host re-establish the PCIe link. The upgrade management thread checks whether the versions of each module of the RAID card are the same as the versions in the firmware version list. If they are the same, the upgrade is successful. If they are not the same, the upgrade fails. Finally, the upgrade management thread sends the results of the large package upgrade to the host upgrade host computer through PCIe. In this embodiment, the upgrade of the firmware of each module of the RAID card is completed through the above process. At the same time, the disk model and corresponding version supported by this version of the large package are also saved in Flash, which is ready for the subsequent disk firmware version consistency upgrade.

[0063] Step S13: traverse the firmware versions of the disks connected to the disk array card, and when the firmware version of any disk does not exist in the disk firmware version list, search for the corresponding target disk firmware from the firmware backup disk according to the model of any disk; the firmware backup disk stores the upgraded disk firmware.

[0064] Figure 5 This is a disk consistency upgrade flow chart of a disk array card side of the present application, comprising Figure 5 As shown, in this embodiment, the firmware versions of the disks connected to the disk array card are traversed. When the firmware version of any disk does not exist in the disk firmware version list, it means that the disk needs to be upgraded for consistency. At this time, the corresponding target disk firmware is searched from the firmware backup disk according to the model of any disk.

[0065] Specifically, the upgrade management thread calls the Flash management module through RPC, reads the disk firmware version list supported by the RAID card, and stores it in the memory of the RAID card management module. On the one hand, if the RAID card is restarted, the firmware version of each disk connected to the RAID card is traversed through PCIe / SATA (Serial ATA, a computer bus interface), and checks whether the version is in the disk firmware version list supported by the RAID card. On the other hand, if a new disk is inserted during operation, only the version of the newly inserted disk is checked to see if it is in the supported disk firmware version list. If not, the corresponding target disk firmware is searched from the firmware backup disk according to the model of the corresponding disk.

[0066] Step S14: if the firmware version of the target disk firmware exists in the disk firmware version list, the any disk is upgraded through the target disk firmware, so that after the disk array card is upgraded, the disk connected to the disk array card can be upgraded consistently.

[0067] In this embodiment, if the firmware version of the target disk firmware exists in the disk firmware version list, any disk is upgraded through the target disk firmware, so that after the disk array card is upgraded, the disk connected to the disk array card can be upgraded consistently. After the upgrade, it is determined whether the current firmware version of any disk exists in the disk firmware version list. If the current firmware version of any disk exists in the disk firmware version list, it means that the upgrade is successful, and any disk is marked as available, and then the next disk connected to the disk array card is traversed; if the current firmware version of any disk does not exist in the disk firmware version list, it means that the upgrade fails, and any disk is marked as unavailable, and then the disk information of any disk is reported to the host.

[0068] It should be pointed out that when searching for the corresponding target disk firmware from the firmware backup disk according to the model of the corresponding disk, if the corresponding target disk firmware cannot be found from the firmware backup disk, a download request for the corresponding disk firmware is initiated to the host, and any of the disks is upgraded according to the disk firmware issued by the host, and then the disk firmware issued by the host is saved to the firmware backup disk.

[0069] In this embodiment, after receiving the download request of the disk firmware, the host checks the network link of the target server. If the network link is an unavailable link, a download failure message notification is returned to the disk array card, and a download failure message prompt and a corresponding first download failure reason are displayed to the user through the host computer in the host; if the network link is an available link, the corresponding disk firmware is queried from the target server; if the corresponding disk firmware does not exist in the target server, a download failure message notification is returned to the disk array card, and a download failure message prompt and a corresponding second download failure reason are displayed to the user through the host computer in the host; if the corresponding disk firmware exists in the target server, the corresponding disk firmware is downloaded to the local computer, and the corresponding disk firmware is sent to the disk array card based on the high-speed serial computer expansion bus standard and the non-volatile memory host controller interface specification, so that the disk array card upgrades any disk according to the corresponding disk firmware sent by the host.

[0070] Specifically, if the currently traversed disk firmware version is in the disk firmware version list supported by the RAID card, it means that the firmware version of the disk is consistent with the large package version, and no consistency upgrade is required, and the next disk is traversed. If the currently traversed disk firmware version is not in the disk firmware version list supported by the RAID card, it means that the disk firmware version is inconsistent with the large package version, and a consistency upgrade is required, and the consistency upgrade process is started. The consistency upgrade process specifically includes: the upgrade management thread searches for the disk model with inconsistent versions in the disk firmware backup disk, and confirms whether the disk firmware version of this model in the backup disk is in the disk firmware version list supported by the RAID card. If the disk firmware backup disk has the firmware, the upgrade management thread directly reads the firmware from the backup disk through PCIe or SATA, and performs a firmware upgrade on the disk, and then checks whether the disk firmware version is consistent with the large package. If it is consistent, the disk status is marked as available, and the next disk is traversed. If it is still inconsistent, it means that the disk firmware upgrade is not successful, the disk is marked as unavailable, and the information of the disk is reported to the host. If the firmware does not exist on the disk firmware backup disk, the upgrade management thread will send the disk model and the firmware version number to be upgraded to the host's upgrade host computer, and request the host upgrade host computer to download the firmware. If the host successfully obtains the firmware, it will download the firmware to the RAID card through PCIe, and the upgrade management thread will receive the firmware and then upgrade the disk. After the upgrade is completed, the disk model and firmware will be stored in the disk firmware backup disk so that the next time the same disk is inserted, a consistency upgrade will be performed. Further, check whether the upgraded firmware version of the disk is consistent with the large package. If it is consistent, mark the disk as available and continue to traverse the next disk. If the version is still inconsistent, it means that the disk firmware upgrade has not been successful, mark the disk as unavailable, and report the disk information to the host. If the firmware fails to be obtained from the host, it is usually because the host cannot find the corresponding version on the remote firmware server. The upgrade management thread marks the disk status as unavailable and reports the disk information to the host. When the RAID card restarts, the consistency check of all disk firmware versions is completed or the consistency traversal of the newly inserted disk firmware version is completed during operation, and the upgrade management thread ends the consistency upgrade process. In this embodiment, the upgrade management thread not only completes the consistency check and upgrade of each disk in the consistency upgrade process, but also generates the available status of all currently connected disks. Other business functions of the RAID card management module skip the disks that are inconsistent with the current package version and fail the consistency upgrade according to the disk status table. At the same time, these unavailable disks are also reported to the host, prompting the user to use other methods to upgrade or replace the disks.

[0071] Figure 6This is a flowchart of the RAID card firmware package upgrade on the host side of the present application. The user operates the host computer to start the RAID card package upgrade process. First, the model of the RAID card and the current firmware package version are queried, and then the firmware server is queried whether there is the latest version of the RAID card of this model. If the current version is the same as the server version, the user is prompted that the current RAID card is already the latest version and no upgrade is required. If a newer version than the current RAID card package is queried, the package is downloaded to the host, and then an upgrade request is initiated to the RAID card using the NVME protocol through the PCIe interface. If the RAID card is busy processing other transactions at this time, the upgrade request may be rejected. After receiving the rejection request, the host computer reminds the user to try again later. If the RAID card accepts the upgrade request, the host computer transfers the downloaded RAID card package to the RAID card. The transmission process will divide the package into several 4K data packets for transmission. After the transmission is completed, a command to start the package upgrade is sent to the RAID card. The host computer then waits for the upgrade result of the RAID card and prompts the user with the upgrade result. Through the above process, the large package upgrade of the RAID card firmware is realized, and the disk firmware version supported by the large package version of the RAID card is also delivered to the RAID card, preparing for the subsequent disk firmware version consistency upgrade.

[0072] Figure 7 This is a disk consistency upgrade flow chart for the host side of the present application. The host computer receives a disk firmware consistency upgrade request from the RAID card. The request includes the disk type to be upgraded and the disk firmware version number. The host computer first tries to connect to the disk manufacturer firmware download server according to the disk model. If the connection fails, it replies that the RAID card disk firmware acquisition failed, and prompts the user the reason for the consistency upgrade failure. If the connection is normal, the manufacturer's firmware download server is queried according to the disk version number required to be upgraded, the disk firmware is obtained and downloaded. If the required disk version cannot be found, the RAID card is replied to fail to obtain the disk firmware, and the user is prompted for the reason for the disk consistency upgrade failure. If the host computer queries the required disk firmware, it downloads the firmware to the host, and then transfers the firmware to the RAID card via PCIe using the NVME protocol. After the disk firmware transfer is completed, the host computer notifies the RAID card to upgrade the disk firmware, and then waits for the RAID card to return the upgrade result. The host computer prompts the user with the disk firmware consistency upgrade result.

[0073] In the disk firmware consistency upgrade process, the host-side upgrade host computer realizes the search and download of disk firmware, as well as the transmission of firmware version to the RAID card, and prompts the user of the execution results of each link. The upgrade host computer software supports the RAID card to report consistency upgrade requests for multiple disks at the same time, and performs consistency upgrades on these disks one by one according to the above process. Since the consistency upgrade will upgrade the user's disk firmware version, when the host-side user installs the upgrade host computer software, the user will be prompted to confirm whether to automatically upgrade the disk firmware consistency. If the user does not agree to this permission, the host computer will ask the user to choose whether to perform a consistency upgrade when it receives the disk firmware consistency upgrade request from the RAID card. After the user agrees, the host computer will initiate the disk firmware consistency upgrade operation.

[0074] The present application proposes a method for a disk array to automatically identify the consistency of disk and RAID card firmware versions and automatically upgrade the disk firmware. Each time the RAID card upgrades the firmware version, the disk type and corresponding version supported by the RAID card firmware version will be downloaded to the RAID card along with the RAID card firmware upgrade package, and saved to the Flash inside the RAID card. When the computer is turned on or a new disk is inserted, the disk management module of the RAID card will traverse all connected disk firmware versions to see if they are consistent with the disk versions supported by the RAID card. If not, the RAID card disk management module will request the host's upgrade agent to link to the Internet to download the disk firmware version supported by the RAID card, and automatically upgrade the inconsistent disk to a version consistent with the RAID card supported disk list, thereby achieving automated disk firmware version consistency management. In addition, the present application also introduces a disk firmware backup mechanism. Each time the disk firmware is upgraded, the system will automatically back up the disk firmware to a device dedicated to storing disk firmware. This mechanism can work the next time the same disk is inserted again. If an inconsistent firmware version is detected, the RAID card disk management module will directly read the firmware from the backup disk and upgrade the inserted disk without going through the host request and server download process, thus improving the speed of disk firmware consistency upgrade.

[0075] It can be seen that the present application proposes a disk array firmware version upgrade method, which is applied to a disk array card, comprising: obtaining a disk array card upgrade request issued by a host, and when the disk array card meets a preset upgrade condition, returning a message notification to the host that allows the disk array card to be upgraded; receiving upgrade data issued by the host, and controlling the disk array card to load the firmware image in the upgrade data and controlling the disk array card to restart; wherein the upgrade data includes the firmware image and a list of disk firmware versions supported by the disk array card; traversing the firmware versions of the disks connected to the disk array card, and when the firmware version of any disk does not exist in the disk firmware version list, searching for the corresponding target disk firmware from a firmware backup disk according to the model of any disk; the firmware backup disk stores the upgraded disk firmware; if the firmware version of the target disk firmware exists in the disk firmware version list, upgrading any disk through the target disk firmware, so that after the disk array card is upgraded, the consistency upgrade of the disks connected to the disk array card is achieved. From the above, it can be seen that the firmware image in this application and the list of disk firmware versions supported by the disk array card are downloaded to the disk array card as upgrade data, which realizes a quick and direct check of the consistency of the firmware version of the connected disk. Furthermore, this application realizes the full automation of disk array firmware consistency check and consistency upgrade through the mutual cooperation of the upgrade management threads of the host and the disk array card. In addition, this application backs up the upgraded disk firmware to the disk firmware backup disk, so that when the disk of the same model is inserted, the firmware can be directly obtained from the disk firmware backup disk, eliminating the process of searching and downloading from the remote server, and improving the speed of disk firmware consistency upgrade.

[0076] Correspondingly, the present application also discloses a disk array firmware version upgrade device, see Figure 8 As shown, the device comprises:

[0077] The request acquisition module 11 is used to acquire the disk array card upgrade request sent by the host, and when the disk array card meets the preset upgrade conditions, return a message notification allowing the disk array card to be upgraded to the host;

[0078] The disk array card upgrade module 12 is used to receive the upgrade data sent by the host, control the disk array card to load the firmware image in the upgrade data and control the disk array card to restart; wherein the upgrade data includes the firmware image and a list of disk firmware versions supported by the disk array card;

[0079] The disk firmware acquisition module 13 is used to traverse the firmware versions of the disks connected to the disk array card, and when the firmware version of any disk does not exist in the disk firmware version list, search for the corresponding target disk firmware from the firmware backup disk according to the model of any disk; the firmware backup disk stores the upgraded disk firmware;

[0080] The disk firmware upgrade module 14 is used to upgrade any disk through the target disk firmware if the firmware version of the target disk firmware exists in the disk firmware version list, so as to achieve consistency upgrade of the disks connected to the disk array card after the disk array card is upgraded.

[0081] Among them, for more specific working processes of the above-mentioned modules, please refer to the corresponding contents disclosed in the aforementioned embodiments, which will not be repeated here.

[0082] It can be seen that the present application proposes a disk array firmware version upgrade method, which is applied to a disk array card, comprising: obtaining a disk array card upgrade request issued by a host, and when the disk array card meets a preset upgrade condition, returning a message notification to the host that allows the disk array card to be upgraded; receiving upgrade data issued by the host, and controlling the disk array card to load the firmware image in the upgrade data and controlling the disk array card to restart; wherein the upgrade data includes the firmware image and a list of disk firmware versions supported by the disk array card; traversing the firmware versions of the disks connected to the disk array card, and when the firmware version of any disk does not exist in the disk firmware version list, searching for the corresponding target disk firmware from a firmware backup disk according to the model of any disk; the firmware backup disk stores the upgraded disk firmware; if the firmware version of the target disk firmware exists in the disk firmware version list, upgrading any disk through the target disk firmware, so that after the disk array card is upgraded, the consistency upgrade of the disks connected to the disk array card is achieved. From the above, it can be seen that the firmware image in this application and the list of disk firmware versions supported by the disk array card are downloaded to the disk array card as upgrade data, which realizes a quick and direct check of the consistency of the firmware version of the connected disk. Furthermore, this application realizes the full automation of disk array firmware consistency check and consistency upgrade through the mutual cooperation of the upgrade management threads of the host and the disk array card. In addition, this application backs up the upgraded disk firmware to the disk firmware backup disk, so that when the disk of the same model is inserted, the firmware can be directly obtained from the disk firmware backup disk, eliminating the process of searching and downloading from the remote server, and improving the speed of disk firmware consistency upgrade.

[0083] Furthermore, an embodiment of the present application also provides an electronic device. Fig. 9This is a structural diagram of an electronic device 20 according to an exemplary embodiment. The content in the diagram cannot be regarded as any limitation on the scope of use of the present application.

[0084] Fig. 9 The present invention provides a schematic diagram of the structure of an electronic device 20 provided in an embodiment of the present application. The electronic device 20 may specifically include: at least one processor 21, at least one memory 22, a display screen 23, an input / output interface 24, a communication interface 25, a power supply 26, and a communication bus 27. The memory 22 is used to store a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the disk array firmware version upgrade method disclosed in any of the aforementioned embodiments. In addition, the electronic device 20 in this embodiment may specifically be an electronic computer.

[0085] In this embodiment, the power supply 26 is used to provide working voltage for each hardware device on the electronic device 20; the communication interface 25 can create a data transmission channel between the electronic device 20 and the external device, and the communication protocol it follows is any communication protocol that can be applied to the technical solution of the present application, and is not specifically limited here; the input and output interface 24 is used to obtain external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs and is not specifically limited here.

[0086] In addition, the memory 22, as a carrier for storing resources, may be a read-only memory, a random access memory, a disk or an optical disk, etc. The resources stored thereon may include a computer program 221, and the storage method may be a temporary storage or a permanent storage. In addition to including a computer program that can be used to complete the disk array firmware version upgrade method executed by the electronic device 20 disclosed in any of the aforementioned embodiments, the computer program 221 may further include a computer program that can be used to complete other specific tasks.

[0087] Furthermore, an embodiment of the present application also discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, the disk array firmware version upgrade method disclosed above is implemented.

[0088] For the specific steps of the method, reference may be made to the corresponding contents disclosed in the aforementioned embodiments, which will not be described in detail here.

[0089] Furthermore, an embodiment of the present application also discloses a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the disk array firmware version upgrade method disclosed above.

[0090] The various embodiments in this application are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description.

[0091] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.

[0092] The steps of the method or algorithm described in conjunction with the embodiments disclosed herein may be implemented directly using hardware, a software module executed by a processor, or a combination of the two. The software module may be placed in a random access memory (RAM), a memory, a read-only memory (ROM), an electrically programmable ROM, an electrically erasable programmable ROM, a register, a hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.

[0093] Finally, it should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.

[0094] The above is a detailed introduction to a disk array firmware version upgrade method, device, equipment, and storage medium provided by the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method and core ideas of the present application. At the same time, for those skilled in the art, according to the ideas of the present application, there will be changes in the specific implementation methods and application scopes. In summary, the content of this specification should not be understood as limiting the present application.

Claims

1. A disk array firmware version upgrade method, characterized in that: Applicable to disk array cards, including: Obtaining a disk array card upgrade request issued by a host, and when the disk array card meets a preset upgrade condition, returning a message notification allowing the disk array card to be upgraded to the host; receiving the upgrade data sent by the host, controlling the disk array card to load the firmware image in the upgrade data and controlling the disk array card to restart; wherein the upgrade data includes the firmware image and a list of disk firmware versions supported by the disk array card; Traversing the firmware versions of the disks connected to the disk array card, and when the firmware version of any disk does not exist in the disk firmware version list, searching for the corresponding target disk firmware from the firmware backup disk according to the model of any disk; the firmware backup disk stores the upgraded disk firmware; If the firmware version of the target disk firmware exists in the disk firmware version list, the target disk firmware is used to upgrade any disk, so that after the disk array card is upgraded, the disk connected to the disk array card can be upgraded consistently.

2. The disk array firmware version upgrade method according to claim 1, characterized in that: The obtaining of the disk array card upgrade request sent by the host comprises: The disk array card upgrade request sent by the host when the target server has the upgrade data with a version level greater than the target version level is obtained; the target version level is the current version level of the disk array card, and the target server is the upgrade data and disk manufacturer firmware download server.

3. The disk array firmware version upgrade method according to claim 1, characterized in that: After the target disk firmware is used to upgrade any disk, the method further includes: Determine whether the firmware version of any disk exists in the disk firmware version list; If the firmware version of any disk exists in the disk firmware version list, mark any disk as available, and traverse the next disk connected to the disk array card; If the firmware version of any disk does not exist in the disk firmware version list, any disk is marked as unavailable and disk information of any disk is reported to the host.

4. The disk array firmware version upgrade method according to claim 1, characterized in that: After searching the firmware backup disk for the corresponding target disk firmware, it also includes: If the firmware version of the target disk firmware does not exist in the disk firmware version list, initiating a download request for the corresponding disk firmware to the host; The any one disk is upgraded according to the disk firmware sent by the host, and the disk firmware sent by the host is saved to the firmware backup disk.

5. The disk array firmware version upgrade method according to claim 4, characterized in that: Initiating a download request for the corresponding disk firmware to the host, and upgrading any of the disks according to the disk firmware issued by the host, including: Initiating a download request of the corresponding disk firmware to the host so that the host can check the network link of the target server; If the network link is an unavailable link, a download failure message notification is returned to the disk array card, and a download failure message prompt and a corresponding first download failure reason are displayed to the user through the host computer in the host; If the network link is an available link, querying the corresponding disk firmware from the target server; If the corresponding disk firmware does not exist in the target server, a download failure message notification is returned to the disk array card, and a download failure message prompt and a corresponding second download failure reason are displayed to the user through the host computer in the host; If the corresponding disk firmware exists in the target server, the corresponding disk firmware is downloaded locally, and based on the high-speed serial computer expansion bus standard and the non-volatile memory host controller interface specification, the corresponding disk firmware is sent to the disk array card, so that the disk array card can upgrade any of the disks according to the corresponding disk firmware sent by the host.

6. The disk array firmware version upgrade method according to claim 1, characterized in that: When the disk array card meets the preset upgrade condition, returning a message notification allowing the disk array card to be upgraded to the host, including: When the disk array card is in an idle state, it is determined that the disk array card meets the preset upgrade condition, and a message notification allowing the disk array card to be upgraded is returned to the host.

7. The disk array firmware version upgrade method according to any one of claims 1 to 6, characterized in that: The receiving of the upgrade data sent by the host, controlling the disk array card to load the firmware image in the upgrade data and controlling the disk array card to restart, includes: Receiving the upgrade data sent by the host, and writing the upgrade data into the target flash memory; The disk array card is controlled and a reset interface is called to read the upgrade data from the target flash memory, the firmware image in the upgrade data is loaded, and the disk array card is controlled to restart.

8. A disk array firmware version upgrade device, characterized in that: Applicable to disk array cards, including: A request acquisition module, used for acquiring a disk array card upgrade request issued by a host, and returning a message notification allowing the disk array card to be upgraded to the host when the disk array card meets a preset upgrade condition; A disk array card upgrade module, used to receive the upgrade data sent by the host, control the disk array card to load the firmware image in the upgrade data and control the disk array card to restart; wherein the upgrade data includes the firmware image and a list of disk firmware versions supported by the disk array card; a disk firmware acquisition module, used for traversing the firmware versions of the disks connected to the disk array card, and when the firmware version of any disk does not exist in the disk firmware version list, searching for the corresponding target disk firmware from the firmware backup disk according to the model of any disk; the firmware backup disk stores the upgraded disk firmware; The disk firmware upgrade module is used to upgrade any disk through the target disk firmware if the firmware version of the target disk firmware exists in the disk firmware version list, so as to achieve consistency upgrade of the disk connected to the disk array card after the disk array card is upgraded.

9. An electronic device, characterized in that: include: Memory, used to store computer programs; A processor is used to execute the computer program to implement the disk array firmware version upgrade method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: Used to store a computer program; wherein, when the computer program is executed by a processor, the disk array firmware version upgrade method according to any one of claims 1 to 7 is implemented.

Citation Information

Patent Citations

  • Multi-version data storage management method and device, electronic device, and storage medium

    CN109299194A

  • Disk firmware upgrading method, computing device and system

    CN114579163A

  • Disk array firmware upgrading method and device, equipment, medium and disk array card

    CN116302007A

  • System and method for performing a consistency check operation on a degraded raid 1e disk array

    US20120036320A1

  • Replication and restoration of multiple data storage object types in a data network

    US7769722B1