A disk array firmware version upgrading method, device, equipment and medium
By introducing a firmware backup disk and upgrade management thread into the RAID card, the problem of firmware version consistency management between the RAID card and the disk is solved, realizing automated firmware version consistency upgrades, improving user experience and operational efficiency.
Patent Information
- Application Number
- CN202411368978.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-29
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2044-09-29
AI Technical Summary
The lack of consistent management of RAID card and disk firmware versions in existing technologies leads to poor user experience and low operation and maintenance efficiency, requiring users to manually check and download firmware versions for upgrades.
By introducing a firmware backup disk and upgrade management thread into the RAID card, the firmware version consistency upgrade of the RAID card and disk is automatically managed. By leveraging the collaboration between the host and the RAID card, automated firmware version checking and consistency upgrades are achieved.
It enables automated upgrades to ensure consistent firmware versions for RAID cards and disks, improving user experience and operational efficiency, reducing manual operations and remote download processes, and increasing upgrade speed.
Smart Images

Figure CN119292626B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computer, in particular to a disk array firmware version upgrading method, device, equipment and medium. BACKGROUND
[0002] The disk array is usually composed of a RAID (Redundant Array of Independent Disks) card and disks, and the RAID card and the disks are independent embedded systems, each having a processor, memory, storage space and firmware. In general, when the firmware version of the RAID card is upgraded to add some new functions or improvements, in order to correctly support these functions, the firmware version of the disk is often also upgraded to a specific version to ensure the consistency of the firmware versions between the RAID card and the disk.
[0003] The prior art does not involve the consistency of the firmware versions of the RAID card and the disk, and lacks a solution for the disk or the RAID card to realize automatic upgrading through a host. When using the disk array, the user usually does not know the firmware versions of the RAID card and the disk, nor does he know whether there is a version inconsistency between them. Only when the disk array has compatibility or performance problems, will the user begin to consider the consistency of the firmware versions. In this case, the user needs to refer to 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 efficiency. SUMMARY
[0004] Therefore, the purpose of the present application is to provide a disk array firmware version upgrading method, device, equipment and medium, which can realize automatic upgrading of the disk array card and consistent upgrading of the firmware of the disk accessed by the disk array card, and the specific solutions are as follows:
[0005] In a first aspect, the present application discloses a disk array firmware version upgrading method applied to a disk array card, comprising:
[0006] obtaining a disk array card upgrading 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 upgrading condition;
[0007] receiving upgrading data issued by the host, controlling the disk array card to load a firmware image in the upgrading data, and controlling the disk array card to restart; wherein the upgrading data contains the firmware image and a disk firmware version list supported by the disk array card;
[0008] traverse firmware versions of disks accessed by the disk array card, and when a firmware version of any disk does not exist in the disk firmware version list, find a corresponding target disk firmware from a firmware backup disk according to a model of the any disk; the firmware backup disk stores upgraded disk firmware;
[0009] If the firmware version of the target disk firmware exists in the disk firmware version list, upgrade the any disk by the target disk firmware, so as to realize consistent upgrade of disks accessed by the disk array card after the disk array card is upgraded.
[0010] Optionally, the disk array card upgrade request issued by the host comprises:
[0011] The disk array card upgrade request issued by the host when the target server exists the upgrade data with a version level greater than a target version level; the target version level is a current version level of the disk array card, and the target server is an upgrade data and a disk manufacturer firmware download server.
[0012] Optionally, after the any disk is upgraded by the target disk firmware, the method further comprises:
[0013] Judging whether the firmware version of the any disk exists in the disk firmware version list;
[0014] If the firmware version of the any disk exists in the disk firmware version list, marking the any disk as available, and traversing a next disk accessed by the disk array card;
[0015] If the firmware version of the any disk does not exist in the disk firmware version list, marking the any disk as unavailable and reporting disk information of the any disk to the host.
[0016] Optionally, after the corresponding target disk firmware is found from the firmware backup disk, the method further comprises:
[0017] If the firmware version of the target disk firmware does not exist in the disk firmware version list, initiating a download request of corresponding disk firmware to the host;
[0018] Upgrading the any disk according to the disk firmware issued by the host, and saving the disk firmware issued by the host to the firmware backup disk.
[0019] Optionally, initiating the download request of corresponding disk firmware to the host, and upgrading the any disk according to the disk firmware issued by the host, comprise:
[0020] initiating a download request of corresponding disk firmware to the host, so that the host checks a network link of the target server;
[0021] if the network link is an unavailable link, returning a download failure message to the disk array card, and showing a download failure message prompt and a corresponding first download failure reason to a user through a host computer in the host;
[0022] if the network link is an available link, querying corresponding disk firmware from the target server;
[0023] if the corresponding disk firmware does not exist in the target server, returning a download failure message to the disk array card, and showing a download failure message prompt and a corresponding second download failure reason to a user through a host computer in the host;
[0024] if the corresponding disk firmware exists in the target server, downloading the corresponding disk firmware to a local, and issuing the corresponding disk firmware to the disk array card based on a high-speed serial computer expansion bus standard and a non-volatile memory host controller interface specification, so that the disk array card upgrades any disk according to the corresponding disk firmware issued 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, comprising:
[0026] when the disk array card is in an idle state, determining that the disk array card meets the preset upgrade condition, and returning a message notification allowing the disk array card to be upgraded to the host.
[0027] Optionally, the receiving of the upgrade data issued by the host, the loading of the firmware image in the upgrade data by the disk array card, and the restarting of the disk array card, comprise:
[0028] receiving the upgrade data issued by the host, and writing the upgrade data to a target flash memory;
[0029] controlling the disk array card and calling a reset interface to read the upgrade data from the target flash memory, loading the firmware image in the upgrade data, and restarting the disk array card.
[0030] In a second aspect, the application discloses a disk array firmware version upgrade device applied to a disk array card, comprising:
[0031] The request obtaining module is configured to obtain a disk array card upgrade request issued by a host, and return 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] The disk array card upgrade module is configured to receive the upgrade data issued by the host, control the disk array card to load a firmware image in the upgrade data, and control the disk array card to restart; wherein the upgrade data contains the firmware image and a disk firmware version list supported by the disk array card.
[0033] The disk firmware obtaining module is configured to traverse firmware versions of disks accessed by the disk array card, and when a firmware version of any disk does not exist in the disk firmware version list, find a corresponding target disk firmware from a firmware backup disk according to a model of the any disk; the firmware backup disk stores upgraded disk firmware.
[0034] The disk firmware upgrade module is configured to upgrade the any disk by the target disk firmware if the firmware version of the target disk firmware exists in the disk firmware version list, so as to realize consistent upgrade of the disks accessed by 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] A memory is configured to save a computer program.
[0037] A processor is configured to execute the computer program to realize the disk array firmware version upgrade method disclosed above.
[0038] In a fourth aspect, the present application discloses a computer readable storage medium configured to save a computer program; wherein the computer program is executed by a processor to realize the disk array firmware version upgrade method disclosed above.
[0039] It can be seen that the application provides a disk array firmware version upgrading method applied to a disk array card, including: obtaining a disk array card upgrading 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 upgrading condition; receiving upgrading data issued by the host, and controlling the disk array card to load a firmware image in the upgrading data and controlling the disk array card to restart; wherein the upgrading data contains the firmware image and a disk firmware version list supported by the disk array card; traversing firmware versions of disks accessed by the disk array card, and when a firmware version of any disk does not exist in the disk firmware version list, searching for a corresponding target disk firmware from a firmware backup disk according to a model of the any disk; the firmware backup disk stores upgraded disk firmware; if a firmware version of the target disk firmware exists in the disk firmware version list, upgrading the any disk through the target disk firmware, so that after the disk array card is upgraded, consistent upgrading of the disks accessed by the disk array card is realized. It can be seen from the above that the firmware image and the disk firmware version list supported by the disk array card in the application are downloaded into the disk array card as upgrading data, realizing quick and direct checking of consistency of the accessed disk firmware version. Further, the application realizes full automation of the disk array firmware consistency checking and consistent upgrading through mutual cooperation of the upgrading management threads of the host and the disk array card. In addition, the application backs up the upgraded disk firmware to a disk firmware backup disk, so that the firmware can be directly obtained from the disk firmware backup disk when a disk of the same model is inserted, the process of searching and downloading from a remote server is saved, and the speed of the disk firmware consistent upgrading is improved. BRIEF DESCRIPTION OF DRAWINGS
[0040] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or the prior art description. Obviously, the drawings in the following description only constitute the embodiments of the present application, and for those skilled in the art, other drawings can also be obtained without creative labor on the basis of the provided drawings.
[0041] Figure 1 A flow chart of a disk array firmware version upgrading method disclosed by the present application;
[0042] Figure 2 A schematic diagram of a disk array consistent upgrading framework disclosed by the present application;
[0043] Figure 3 Data arrangement of a RAID card firmware large package in a Flash disclosed by the present application;
[0044] Figure 4A disk array card side firmware large package upgrade flowchart disclosed by the present application is shown in the figure;
[0045] Figure 5 A disk array card side disk consistency upgrade flowchart disclosed by the present application is shown in the figure;
[0046] Figure 6 A host side firmware large package upgrade flowchart disclosed by the present application is shown in the figure;
[0047] Figure 7 A host side disk consistency upgrade flowchart disclosed by the present application is shown in the figure;
[0048] Figure 8 A disk array firmware version upgrade device structure schematic diagram disclosed by the present application is shown in the figure;
[0049] Figure 9 An electronic device structure diagram disclosed by the present application is shown in the figure. DETAILED DESCRIPTION
[0050] The technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the accompanying drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor fall within the scope of protection of the present application.
[0051] The prior art does not involve the consistency of RAID card and disk firmware versions, and lacks a scheme for automatic upgrade of disks or RAID cards by a host. In this case, the user needs to refer to the disk version support information provided by the RAID card manufacturer, 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.
[0052] Therefore, the embodiments of the present application propose a disk array firmware version upgrade scheme, which can realize automatic upgrade of a disk array card and consistency upgrade of the firmware of the disks accessed by the disk array card.
[0053] The embodiments of the present application disclose a disk array firmware version upgrade method, which comprises the steps of Figure 1 as shown in the figure, comprising:
[0054] Step S11: Obtain a disk array card upgrade request issued by a host, and return a message notification allowing the disk array card to be upgraded to the host when the disk array card meets a preset upgrade condition.
[0055] Figure 2 A disk array consistency upgrade framework proposed by the present application is shown in the figure,Figure 2 As shown, the hardware part of the present application is composed of target Flash in the RAID card and the firmware backup disk connected to the RAID card, wherein the Flash stores the firmware image 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, which is directly obtained from the disk to perform fast and consistent upgrade when the RAID card is inserted into the same disk. The software part is composed of the upgrade host computer on the host side and the upgrade management thread in the RAID management module in 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. target server) through HTTPS (Hypertext Transfer Protocol Secure), and then transmitting the upgrade data or firmware to the RAID card through PCIe (peripheral component interconnect express). The upgrade management thread in the RAID card receives the data issued by the host and calls the Flash management module through the RPC (Remote Procedure Call) to write the Flash interface for firmware storage. The thread also implements the consistency check and upgrade of the disk firmware and the RAID card firmware package version. Through the cooperation between the above-mentioned software and hardware, the package upgrade of the disk array and the consistency upgrade of the disk firmware and the package version are realized.
[0056] Figure 3 The data arrangement of the RAID card firmware package in the Flash disclosed in the present application is shown in FIG. 1. Figure 3 As shown, the head of the package is the firmware version list used to describe the package version number and the firmware version number of each module of the RAID card. After the upgrade is completed, these version numbers and the version numbers read from each module are compared to confirm whether the upgrade is successful. Further stored are the firmware images of each module of the RAID card. Each time the RAID card is reset, each module loads the firmware image from the Flash into the memory of each module and then starts. Finally stored is the list of all disk firmware versions supported by the package, which 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 the RAID card firmware package version are consistent.
[0057] The disk array firmware version upgrade method of the present application is described in detail below based on the above framework:
[0058] Figure 4This is a flowchart illustrating the firmware upgrade process for a RAID card on the disk array card side according to this application. (See attached diagram) Figure 4 As shown, in this embodiment, the host receives the disk array card upgrade request sent when upgrade data with a version level higher than the target version level exists on the target server. Here, 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 idle, it is determined that the disk array card meets preset upgrade conditions, and a message notification allowing the upgrade of the disk array card is returned to the host. It should be noted that this embodiment can also send messages to the host via the disk array card at preset time intervals to inquire whether the host has obtained upgrade data with a version level higher than the current version level of the disk array card, in order 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. Upon receiving the upgrade request, the RAID management module wakes up the upgrade management thread, which then initiates the RAID card firmware upgrade process. Further, it checks whether the current RAID card status supports the upgrade. If the RAID card is currently writing user data sent by the host to the disk, or is busy processing other events, and its status does not support the upgrade, the upgrade management thread will send a message to the host rejecting the upgrade request. Conversely, if the RAID card's current status supports the upgrade, it will send a message to the host allowing the upgrade.
[0060] Step S12: Receive 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.
[0061] In this embodiment, the system receives upgrade data from the host and writes the upgrade data to the target flash memory. Furthermore, it controls the disk array card and calls the reset interface to read the upgrade data from the target flash memory, loads the firmware image in the upgrade data, and controls the disk array card to restart.
[0062] Specifically, the RAID card receives the upgrade data, the upgrade data is transmitted in a size of 4K, after receiving a data packet, the upgrade management thread calls the write Flash interface of the Flash management module through RPC to write the upgrade data packet into the Flash, when the upgrade data packet is downloaded and saved into the Flash, the upgrade management thread calls the reset interface of the RAID card to perform upgrade reset, all modules in the RAID card will load the firmware image from the Flash again 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 version of each module of the RAID card is the same as the version in the firmware version list, if the same, the upgrade is successful, if not, the upgrade fails, finally, the upgrade management thread sends the result of the large packet upgrade to the host upgrade host computer through PCIe. In the embodiment, the upgrade of the firmware of each module of the RAID card is completed through the above process, and the disk model supported by the version large packet and the corresponding version are also saved in the Flash, which prepares for the subsequent disk firmware version consistency upgrade.
[0063] Step S13: The firmware versions of the disks accessed by the disk array card are traversed, and when the firmware version of any disk does not exist in the disk firmware version list, the corresponding target disk firmware is found from the firmware backup disk according to the model of the any disk; the firmware backup disk stores the upgraded disk firmware.
[0064] Figure 5 A disk consistency upgrade flowchart of the disk array card side of the present application is shown in FIG. 1, in the embodiment, the firmware versions of the disks accessed by the disk array card are traversed, when the firmware version of any disk does not exist in the disk firmware version list, it is indicated that the disk needs to be upgraded, at this time, the corresponding target disk firmware is found from the firmware backup disk according to the model of the any disk. Figure 5
[0065] Specifically, the upgrade management thread calls the Flash management module through RPC to read the disk firmware version list supported by the RAID card and store 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 accessed by the RAID card is traversed through PCIe / SATA (Serial ATA, a computer bus interface), and it is checked 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 at runtime, only the version of the newly inserted disk is checked whether it is in the supported disk firmware version list, if not, the corresponding target disk firmware is found 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, upgrade the any disk by the target disk firmware, so as to realize the consistent upgrade of the disk accessed by the disk array card after the upgrade of the disk array card.
[0067] In this embodiment, if the firmware version of the target disk firmware exists in the disk firmware version list, upgrade the any disk by the target disk firmware, so as to realize the consistent upgrade of the disk accessed by the disk array card after the upgrade of the disk array card. After the upgrade, it is judged whether the current firmware version of the any disk exists in the disk firmware version list. If the current firmware version of the any disk exists in the disk firmware version list, it indicates that the upgrade is successful, and the any disk is marked as available state, and then the next disk accessed by the disk array card is traversed. If the current firmware version of the any disk does not exist in the disk firmware version list, it indicates that the upgrade fails, and the any disk is marked as unavailable state, and then the disk information of the any disk is reported to the host.
[0068] It should be noted that when the corresponding target disk firmware is searched from the firmware backup disk according to the model of the corresponding disk, if the corresponding target disk firmware cannot be searched from the firmware backup disk, a download request of the corresponding disk firmware is initiated to the host, and the any disk 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 the host receives the download request of the disk firmware, it checks the network link of the target server. If the network link is an unavailable link, a message notification of download failure is returned to the disk array card, and a message prompt of download failure and a corresponding first download failure reason are displayed to the user by 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 message notification of download failure is returned to the disk array card, and a message prompt of download failure and a corresponding second download failure reason are displayed to the user by the host. If the corresponding disk firmware exists in the target server, the corresponding disk firmware is downloaded to the local, and the corresponding disk firmware is issued to the disk array card based on the standard of high-speed serial computer expansion bus and the interface specification of non-volatile memory host controller, so that the disk array card upgrades the any disk according to the corresponding disk firmware issued by the host.
[0070] Specifically, if the current traversed disk firmware version is in the list of disk firmware versions supported by the RAID card, it indicates that the firmware version of the disk is consistent with the large package version, and no consistency upgrade is needed, and the next disk is continued to be traversed. If the current traversed disk firmware version is not in the list of disk firmware versions supported by the RAID card, it indicates that the firmware version of the disk is inconsistent with the large package version, and consistency upgrade is needed, and the consistency upgrade process is started. The consistency upgrade process specifically includes: the upgrade management thread searches for the disk model with inconsistent version in the disk firmware backup disk, and confirms whether the disk firmware version of the model in the backup disk is in the list of disk firmware versions supported by the RAID card. If the disk firmware backup disk exists the firmware, the upgrade management thread directly reads the firmware from the backup disk through PCIe or SATA, and upgrades the firmware of the disk, and then checks whether the firmware version of the disk is consistent with the large package. If it is consistent, mark the disk state as available, and continue to traverse the next disk. If it is still inconsistent, it indicates 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 disk firmware backup disk does not exist the firmware, the upgrade management thread sends the model of the disk and the firmware version that needs to be upgraded to the host upgrade host computer, and requests the host upgrade host computer to download the firmware. If the host successfully obtains the firmware, the firmware is downloaded to the RAID card through PCIe, the upgrade management thread receives the firmware, and then upgrades the disk. After the upgrade is completed, the disk model and the firmware are stored in the disk firmware backup disk, so that the next time the same disk is inserted, consistency upgrade is performed. Further, it is checked whether the firmware version of the upgraded disk is consistent with the large package. If it is consistent, the disk is marked as available, and the next disk is continued to be traversed. If the version is still inconsistent, it indicates 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 is failed to be obtained from the host, usually the corresponding version cannot be found on the remote firmware server of the host. The upgrade management thread marks the state of the disk as unavailable, and reports the disk information to the host. When the RAID card is restarted, the consistency check of all disk firmware versions is completed or the consistency traversal of the firmware version of the newly inserted disk is completed when the upgrade management thread ends the consistency upgrade process. In the 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 state of all currently connected disks. Other business functions of the RAID card management module skip the disk whose version is inconsistent with the current large package version and whose consistency upgrade fails. At the same time, these unavailable disks are also reported to the host, prompting the user to use other ways to upgrade or replace the disk.
[0071] Figure 6For a host side RAID card firmware large package upgrade flowchart of the application, the user operates the host computer to start the RAID card large package upgrade process, first queries the model and the current firmware large package version of the RAID card, then queries whether the latest version of the RAID card of the model exists in the firmware server, if the current version and the server version are the same, prompts the user that the current RAID card is the latest version and does not need to be upgraded. If a new version of the RAID card large package than the current RAID card is found, the package is downloaded to the host, then the PCIe interface is used to initiate an upgrade request to the RAID card through the NVME protocol, if the RAID card is busy processing other transactions at this time, it may refuse the upgrade request, the host computer receives the rejection request and reminds the user to retry later. If the RAID card accepts the upgrade request, the host computer transmits the downloaded RAID card large package to the RAID card, the transmission process divides the large package into several 4K data packets for transmission, and sends a start large package upgrade command to the RAID card after the transmission is completed. Then the host computer 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 RAID card large package is also downloaded to the RAID card, preparing for subsequent disk firmware version consistency upgrade.
[0072] Figure 7 For a host side disk consistency upgrade flowchart of the application, the host computer receives a disk firmware consistency upgrade request from the RAID card, which contains the disk type and disk firmware version number to be upgraded. The host computer first tries to link the disk manufacturer firmware download server according to the model of the disk, if the link fails, it replies to the RAID card that the disk firmware acquisition fails, and prompts the user the reason for the failure of the consistency upgrade. If the link is normal, the disk firmware download server is queried according to the required disk version number to obtain the disk firmware and download it, if the required disk version cannot be found, the RAID card is replied that the disk firmware acquisition fails, and the user is prompted the reason for the failure of the disk consistency upgrade. If the host computer queries the required disk firmware, it downloads the firmware to the host, then transmits the firmware to the RAID card through PCIe using the NVME protocol. After the disk firmware transmission is completed, the host computer notifies the RAID card to upgrade the disk firmware, then waits for the RAID card to return the upgrade result. The host computer prompts the user 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 the disk firmware, and transmits the firmware version to the RAID card, and prompts the user for the execution result of each link. The upgrade host computer software supports the RAID card to report multiple disk consistency upgrade requests at the same time, and performs consistency upgrade 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 user installs the upgrade host computer software on the host side, the user will be prompted to confirm whether to automatically upgrade the disk firmware for consistency. If the user does not agree to this permission, when the RAID card sends a disk firmware consistency upgrade request, the host computer will ask the user to choose whether to perform consistency upgrade, and the user agrees to initiate the disk firmware consistency upgrade operation.
[0074] The present application proposes a method of automatically identifying the disk and RAID card firmware version consistency of a disk array and automatically upgrading the disk firmware. Each time the RAID card upgrades the firmware version, the disk types supported by the RAID card firmware version and the corresponding 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 starting or inserting a new disk, the disk management module of the RAID card will traverse all the accessed disk firmware versions to check whether they are consistent with the disk version supported by the RAID card. If they are not consistent, 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 disk with inconsistent version to the version consistent with the RAID card supported disk list, thereby realizing automatic disk firmware version consistency management. In addition, the present application also introduces a disk firmware backup mechanism, which automatically backs up the disk firmware to a device specially storing disk firmware after each upgrade. This mechanism can play a role when the same disk is inserted again next time. If the firmware version is detected to be inconsistent, the RAID card disk management module will directly read the firmware from the backup disk and upgrade the inserted disk, without going through the process of host request and server download, thereby improving the speed of disk firmware consistency upgrade.
[0075] It can be seen that the application provides a disk array firmware version upgrading method applied to a disk array card, including: obtaining a disk array card upgrading 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 upgrading condition; receiving upgrading data issued by the host, and controlling the disk array card to load a firmware image in the upgrading data and controlling the disk array card to restart; wherein the upgrading data contains the firmware image and a disk firmware version list supported by the disk array card; traversing firmware versions of disks accessed by the disk array card, and when a firmware version of any disk does not exist in the disk firmware version list, searching for a corresponding target disk firmware from a firmware backup disk according to a model of the any disk; the firmware backup disk stores upgraded disk firmware; if a firmware version of the target disk firmware exists in the disk firmware version list, upgrading the any disk through the target disk firmware, so that after the disk array card is upgraded, consistent upgrading of the disks accessed by the disk array card is realized. It can be seen from the above that the firmware image and the disk firmware version list supported by the disk array card in the application are downloaded into the disk array card as upgrading data, realizing quick and direct checking of consistency of accessed disk firmware versions. Further, the application realizes full automation of disk array firmware consistency checking and consistent upgrading through mutual cooperation of upgrading management threads of the host and the disk array card. In addition, the application backs up the upgraded disk firmware to a disk firmware backup disk, so that the firmware can be directly obtained from the disk firmware backup disk when a disk of the same model is inserted, the process of searching and downloading from a remote server is saved, and the speed of disk firmware consistent upgrading is improved.
[0076] Correspondingly, the application also discloses a disk array firmware version upgrading device, referring to Figure 8 The device includes:
[0077] The request obtaining module 11 is configured to obtain a disk array card upgrading request issued by a host, and return a message notification allowing the disk array card to be upgraded to the host when the disk array card meets a preset upgrading condition.
[0078] The disk array card upgrading module 12 is configured to receive upgrading data issued by the host, control the disk array card to load a firmware image in the upgrading data, and control the disk array card to restart; wherein the upgrading data contains the firmware image and a disk firmware version list supported by the disk array card.
[0079] The disk firmware acquisition module 13 is configured to traverse firmware versions of disks accessed by the disk array card, and when a firmware version of any disk does not exist in the disk firmware version list, find corresponding target disk firmware from the firmware backup disk according to a model of the any disk; the firmware backup disk stores upgraded disk firmware.
[0080] The disk firmware upgrade module 14 is configured to, when the firmware version of the target disk firmware exists in the disk firmware version list, upgrade the any disk by using the target disk firmware, so that after the disk array card is upgraded, consistent upgrade of the disks accessed by the disk array card is realized.
[0081] The working processes of the above modules are more specifically described in the foregoing embodiments, and thus are not described herein.
[0082] It can be seen that the disk array firmware version upgrade method provided in the application is applied to a disk array card, and includes the following steps: obtaining 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; receiving upgrade data issued by the host, and controlling the disk array card to load firmware images in the upgrade data and to restart the disk array card; the upgrade data includes the firmware images and a disk firmware version list supported by the disk array card; traversing firmware versions of disks accessed by the disk array card, and when a firmware version of any disk does not exist in the disk firmware version list, finding corresponding target disk firmware from a firmware backup disk according to a model of the any disk; the firmware backup disk stores upgraded disk firmware; if the firmware version of the target disk firmware exists in the disk firmware version list, upgrading the any disk by using the target disk firmware, so that after the disk array card is upgraded, consistent upgrade of the disks accessed by the disk array card is realized. It can be seen that the firmware images and the disk firmware version list supported by the disk array card in the application are downloaded to the disk array card as upgrade data, and consistent access of disk firmware versions is quickly and directly checked. Further, the application realizes full automation of disk array firmware consistency check and consistent upgrade through cooperation of upgrade management threads of the host and the disk array card. In addition, the application backs up the upgraded disk firmware to the disk firmware backup disk, so that the firmware can be directly obtained from the disk firmware backup disk when a disk of the same model is inserted, the process of searching and downloading from a remote server is saved, and the speed of disk firmware consistent upgrade is improved.
[0083] Further, the electronic device is provided. Figure 9is a structural diagram of an electronic device 20 according to an exemplary embodiment, and the contents in the diagram should not be considered as any limitation on the use scope of the present application.
[0084] Figure 9 A structural diagram of an electronic device 20 is provided in the present embodiment. The electronic device 20 can 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 configured to store a computer program, which is loaded and executed by the processor 21 to implement the related steps in the disk array firmware version upgrade method disclosed in any of the preceding embodiments. In addition, the electronic device 20 in the present embodiment can be specifically an electronic computer.
[0085] In the present embodiment, the power supply 26 is configured to provide working voltage for each hardware device on the electronic device 20; the communication interface 25 is capable of creating a data transmission channel between the electronic device 20 and external devices, and the communication protocol followed by the communication interface 25 can be any communication protocol applicable to the technical solution of the present application, which is not specifically limited herein; the input / output interface 24 is configured to obtain external input data or output data to the outside, and the specific interface type can be selected according to the specific application needs, which is not specifically limited herein.
[0086] In addition, the memory 22 as a carrier for resource storage can be a read-only memory, a random access memory, a magnetic disk, or an optical disk, etc., and the resources stored thereon can include a computer program 221, and the storage mode can be temporary storage or permanent storage. In addition to the computer program capable of completing the disk array firmware version upgrade method executed by the electronic device 20 disclosed in any of the preceding embodiments, the computer program 221 can further include computer programs capable of completing other specific work.
[0087] Further, the present embodiment also discloses a computer readable storage medium for storing a computer program; wherein the computer program is executed by a processor to implement the disk array firmware version upgrade method disclosed above.
[0088] The specific steps of the method can refer to the corresponding contents disclosed in the preceding embodiments, which will not be repeated here.
[0089] Further, the present embodiment also discloses a computer program product including computer programs / instructions, which are executed by a processor to implement the steps of the disk array firmware version upgrade method disclosed above.
[0090] The various embodiments are described in a progressive manner, each embodiment focusing on the differences from other embodiments, and the same or similar parts between the various embodiments can be mutually referred to. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple, and the relevant parts can be referred to the description of the method.
[0091] Those skilled in the art will further appreciate that the individual steps of the examples described in connection with the embodiments disclosed herein can be embodied in electronic hardware, computer software, or combinations of both. The various examples have been described in relation to the methods, by and large, with a purpose to illustrate the interchangeability of hardware and software. Whether the individual steps are to be performed in hardware or software depends on the particular applications and design constraints imposed on the overall system. Skilled persons can use various methods to implement the described functions for each particular application, but such implementation should not be considered beyond the scope of the present application.
[0092] The steps of the methods or algorithms described in connection with the embodiments disclosed herein can be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. The software module can be stored 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 the terms such as first and second, etc. are used herein merely 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 "comprise", "include" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or apparatus including a list of elements does not exclude other elements not explicitly listed, or other elements inherent in such a process, method, article or apparatus. Without more limitations, the element defined by the statement "comprising a" does not exclude the presence of additional identical elements in the process, method, article or apparatus including the element.
[0094] The above describes in detail the disk array firmware version upgrading method, device, equipment and storage medium provided by the application. The principles and implementation manners of the application are described by using specific examples. The above description of the embodiments is only used to help understand the method of the application and its core idea. Meanwhile, for those skilled in the art, the specific implementation manners and application range can be changed according to the idea of the application. In conclusion, the content of the specification should not be understood as a limitation of the application.
Claims
1. A method for upgrading a disk array firmware version, the method comprising: Applied to a disk array card, comprising: obtaining 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; receiving the upgrade data issued by the host, controlling the disk array card to load a firmware image in the upgrade data, and controlling the disk array card to restart; wherein the upgrade data contains the firmware image and a disk firmware version list supported by the disk array card; traversing firmware versions of disks accessed by the disk array card, and when a firmware version of any disk does not exist in the disk firmware version list, finding a corresponding target disk firmware from a firmware backup disk according to a model of the any disk; the firmware backup disk stores upgraded disk firmware; if the firmware version of the target disk firmware exists in the disk firmware version list, upgrading the any disk through the target disk firmware, so as to realize consistent upgrade of the disks accessed by the disk array card after the disk array card is upgraded; after the any disk is upgraded through the target disk firmware, further comprising: judging whether the firmware version of the any disk exists in the disk firmware version list; if the firmware version of the any disk exists in the disk firmware version list, marking the any disk as available, and traversing a next disk accessed by the disk array card; if the firmware version of the any disk does not exist in the disk firmware version list, marking the any disk as unavailable and reporting disk information of the any disk to the host.
2. The method of claim 1, wherein, the obtaining of the disk array card upgrade request issued by the host comprises: obtaining the disk array card upgrade request issued by the host when the target server exists the upgrade data with a version level greater than a target version level; the target version level is a current version level of the disk array card, and the target server is a firmware download server of the upgrade data and the disk manufacturer.
3. The method of claim 1, wherein the method further comprises: after the corresponding target disk firmware is found from the firmware backup disk, further comprising: if the firmware version of the target disk firmware does not exist in the disk firmware version list, initiating a download request of the corresponding disk firmware to the host; upgrading the any disk according to the disk firmware issued by the host, and saving the disk firmware issued by the host to the firmware backup disk.
4. The method of claim 3, wherein, initiating the download request of the corresponding disk firmware to the host, and upgrading the any disk according to the disk firmware issued by the host, comprising: initiating the download request of the corresponding disk firmware to the host, so that the host checks a network link of the target server; if the network link is an unavailable link, returning a message notification of download failure to the disk array card, and displaying a message prompt of download failure and a corresponding first download failure reason to a user through a 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 message of download failure is returned to the disk array card, and a message prompt of download failure and a corresponding second download failure reason are displayed to the user through the host computer. If the corresponding disk firmware exists in the target server, the corresponding disk firmware is downloaded to the local, and the corresponding disk firmware is issued 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 the any disk according to the corresponding disk firmware issued by the host.
5. The method of claim 1, wherein, When the disk array card meets the preset upgrade condition, the host is returned a message notification allowing the disk array card to be upgraded, 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.
6. The method of claim 1 to 5, wherein, The received upgrade data issued by the host is written into a target flash memory, and the disk array card is controlled to read the upgrade data from the target flash memory through a reset interface, load the firmware image in the upgrade data, and control the disk array card to restart. The application is applied to a disk array card, including: A request acquisition module is configured to acquire a disk array card upgrade request issued by a host, and return a message notification allowing the disk array card to be upgraded to the host when the disk array card meets a preset upgrade condition.
7. A disk array firmware version upgrade apparatus, characterized by comprising: A disk array card upgrade module is configured to receive upgrade data issued by the host, control the disk array card to load a firmware image in the upgrade data, and control the disk array card to restart. A disk firmware acquisition module is configured to traverse firmware versions of disks accessed by the disk array card, and when a firmware version of any disk does not exist in the disk firmware version list, find corresponding target disk firmware from a firmware backup disk according to a model of the any disk. A disk firmware upgrade module is configured to upgrade the 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 realize consistent upgrade of the disks accessed by the disk array card after the disk array card is upgraded. After the any disk is upgraded through the target disk firmware, the method further includes: Determine whether the firmware version of the any disk exists in the disk firmware version list. If the firmware version of the any disk exists in the disk firmware version list, mark the any disk as available, and traverse a next disk accessed by the disk array card. If the firmware version of the any disk does not exist in the disk firmware version list, the any disk is marked as an unusable state and disk information of the any disk is reported to the host.
8. An electronic device, comprising: Comprise: a memory for saving a computer program; a processor for executing the computer program to implement the disk array firmware version upgrade method of any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, a memory for saving a computer program; wherein the computer program is executed by a processor to implement the disk array firmware version upgrade method of any one of claims 1 to 6. a memory for saving a computer program; wherein the computer program is executed by a processor to implement the disk array firmware version upgrade method of any one of claims 1 to 6.
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