Disk array card configuration method and device, equipment and medium

By monitoring work scenario switching in the disk array card and obtaining the optimal configuration parameters tested in advance, the problem that configuration parameters in the existing technology cannot be optimized in specific scenarios is solved, and the performance improvement and system flexibility of disk array card in various scenarios is achieved.

CN120353392APending Publication Date: 2025-07-22SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510457272.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-11
Publication Date
2025-07-22

AI Technical Summary

Technical Problem

The configuration parameters of existing disk array cards are usually determined based on the average performance of multiple scenarios, resulting in performance optimization not being achieved in a specific scenario.

Method used

By monitoring the working scene switching of the disk array card, the optimal configuration parameters are obtained from the preset storage partition based on the identification information of the target scene, and dynamic parameter configuration is performed.

Benefits of technology

It realizes the optimization of the performance of disk array cards in various scenarios, improving IO performance and system flexibility and reliability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120353392A_ABST
    Figure CN120353392A_ABST
Patent Text Reader

Abstract

The invention provides a disk array card configuration method, device, equipment and medium, which are applied to the technical field of storage, and the method comprises the following steps: when it is monitored that a working scene of a disk array card is switched to a target scene, determining target scene description information from scene description information based on identification information of the target scene; on the basis of parameter storage position information in the target scene description information, configuration parameters of the target scene are obtained from a preset storage partition to obtain target configuration parameters, the preset storage partition stores configuration parameters corresponding to all working scenes, and in addition, the configuration parameters corresponding to all the working scenes are stored in the preset storage partition; each configuration parameter is an optimal parameter corresponding to each pre-tested working scene; and performing parameter configuration based on the target configuration parameter, so that the disk array card operates based on the optimal parameter in the target scene. Therefore, the performance of the disk array card can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of storage technology, and in particular to a method, device, equipment and medium for configuring a disk array card. Background Art

[0002] Currently, during the operation of a disk array card, the configuration parameters usually adopted are the configuration parameters determined based on the average performance of the disk array card in various working scenarios. However, this balanced method may not achieve the optimal performance in some specific scenarios, thus limiting the performance of the disk array card to a certain extent.

[0003] It can be seen that how to improve the performance of the disk array card is a problem that needs to be solved by those skilled in the art. Summary of the Invention

[0004] In view of this, the purpose of the present invention is to provide a method, device, equipment and medium for configuring a disk array card, which can improve the performance of the disk array card. The specific scheme is as follows:

[0005] In the first aspect, the present invention discloses a method for configuring a disk array card, including:

[0006] When it is monitored that the working scenario of the disk array card switches to the target scenario, the target scenario description information is determined from each scenario description information based on the identification information of the target scenario;

[0007] Based on the parameter storage location information in the target scenario description information, the configuration parameters of the target scenario are obtained from a preset storage partition to obtain target configuration parameters, where the preset storage partition stores the configuration parameters corresponding to each working scenario, and each configuration parameter is the optimal parameter corresponding to each working scenario pre-tested;

[0008] Based on the target configuration parameters, parameter configuration is performed so that the disk array card operates based on the optimal parameters in the target scenario.

[0009] Optionally, before obtaining the configuration parameters of the target scenario from the preset storage partition based on the parameter storage location information in the target scenario description information to obtain target configuration parameters, it further includes:

[0010] Based on the verification information in the target scenario description information, verification is performed, and in the case of passing the verification, the step of obtaining the configuration parameters of the target scenario from the preset storage partition based on the parameter storage location information in the target scenario description information to obtain target configuration parameters is triggered.

[0011] Optionally, performing verification based on the verification information in the target scenario description information includes:

[0012] Verify based on the number of components and / or component identifiers of the components required for the target scenario described in the target scenario description information.

[0013] Optionally, perform parameter configuration based on the target configuration parameters, including:

[0014] Configure the register value in the target configuration parameters to the corresponding register based on the register address information, and / or configure the software variable value in the target configuration parameters to the corresponding software variable.

[0015] Optionally, it further includes:

[0016] Monitor the state transition of the preset state machine corresponding to the disk array card. When the preset state machine switches to the state corresponding to the target scenario, it is determined that the working scenario of the disk array card has switched to the target scenario.

[0017] Optionally, it further includes:

[0018] Obtain multiple groups of parameters corresponding to each working scenario respectively;

[0019] For any working scenario, traverse the multiple groups of parameters for parameter configuration to obtain the test performance indicators corresponding to the multiple groups of parameters, and determine the parameters corresponding to the optimal test performance indicator among the test performance indicators as the optimal parameters for this working scenario.

[0020] Optionally, it further includes:

[0021] Generate a binary file in a preset format for the optimal parameters corresponding to each working scenario through a preset script;

[0022] Burn the binary file to the preset storage partition.

[0023] In a second aspect, the present invention discloses a disk array card configuration device, including:

[0024] A description information determination module, configured to, when it is monitored that the working scenario of the disk array card switches to the target scenario, determine the target scenario description information from each scenario description information based on the identification information of the target scenario;

[0025] A configuration parameter acquisition module, configured to obtain the configuration parameters of the target scenario from a preset storage partition based on the parameter storage location information in the target scenario description information to obtain target configuration parameters, where the preset storage partition stores the configuration parameters corresponding to each working scenario, and each configuration parameter is the optimal parameter corresponding to each working scenario pre-tested respectively;

[0026] A parameter configuration module, configured to perform parameter configuration based on the target configuration parameters, so that the disk array card operates based on optimal parameters in the target scenario.

[0027] In a third aspect, the present invention discloses an electronic device, including:

[0028] A memory, configured to store a computer program;

[0029] A processor, configured to execute the computer program to implement the steps of the foregoing disk array card configuration method.

[0030] In a fourth aspect, the present invention discloses a computer-readable storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the steps of the foregoing disk array card configuration method are implemented.

[0031] In a fifth aspect, the present invention discloses a computer program product, including a computer program / instructions, and when the computer program / instructions are executed by a processor, the steps of the foregoing disclosed disk array card configuration method are implemented.

[0032] As can be seen from the above solutions, the present invention provides a disk array card configuration method, including: when it is monitored that the working scenario of the disk array card switches to a target scenario, determining target scenario description information from each scenario description information based on the identification information of the target scenario; obtaining the configuration parameters of the target scenario from a preset storage partition based on the parameter storage location information in the target scenario description information to obtain target configuration parameters, where the preset storage partition stores the configuration parameters corresponding to each working scenario, and each configuration parameter is the optimal parameter corresponding to each working scenario respectively tested in advance; performing parameter configuration based on the target configuration parameters, so that the disk array card operates based on optimal parameters in the target scenario.

[0033] It can be seen that the beneficial effects of the present invention are as follows: storing the optimal parameters corresponding to each working scenario respectively tested in advance in a preset storage partition, when it is monitored that the working scenario of the disk array card switches to a target scenario, determining target scenario description information according to the identification information of the target scenario, and then obtaining target configuration parameters from the preset storage partition according to the parameter storage location information in the target scenario description information to perform parameter configuration, so that the disk array card operates based on optimal parameters in the target scenario. In this way, the optimal parameters of each working scenario are tested in advance and stored in the preset storage partition. When switching to the target scenario, the optimal parameters corresponding to the target scenario are read from the preset storage partition for configuration, which can ensure that the performance of the disk array card in the target scenario reaches the optimal. Any working scenario can be the target scenario. In this way, the performance of the disk array card can be improved.

[0034] Accordingly, a disk array card configuration device, equipment, and medium provided by the present invention also have the above technical effects. Description of the Drawings

[0035] To more clearly illustrate the embodiments of the present invention, the following will briefly introduce the drawings required for use in the embodiments. Obviously, the drawings in the following description are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained based on these drawings.

[0036] Figure 1 Flowchart of a disk array card configuration method provided by an embodiment of the present invention;

[0037] Figure 2 Schematic diagram of a disk array card configuration provided by an embodiment of the present invention;

[0038] Figure 3 Schematic diagram of a descriptor structure provided by an embodiment of the present invention;

[0039] Figure 4 Schematic diagram of a parameter storage structure provided by an embodiment of the present invention;

[0040] Figure 5 Schematic diagram of a state flow provided by an embodiment of the present invention;

[0041] Figure 6 Schematic diagram of an optimal parameter calibration process provided by an embodiment of the present invention;

[0042] Figure 7 Schematic diagram of a disk array card configuration provided by an embodiment of the present invention;

[0043] Figure 8 Schematic diagram of the structure of a disk array card configuration device disclosed in an embodiment of the present invention;

[0044] Figure 9 Structural diagram of an electronic device disclosed in an embodiment of the present invention. Detailed Embodiments

[0045] The following will clearly and completely describe the technical solutions in the embodiments of the present invention with reference to the drawings in the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts belong to the protection scope of the present invention.

[0046] As used in the specification of the present invention and the above-mentioned drawings, the terms "comprising" and "having", and any variations related to "comprising" and "having", are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but may include steps or units not listed.

[0047] Today, with the rapid development of AI technology, 5G, and short videos, the explosive growth of data volume has posed new challenges and requirements for server usage scenarios and information processing. There are not only increased demands for data storage, but also very high demands for scalability, flexibility, and data security.

[0048] Therefore, the demand for RAID cards that can improve read / write performance, provide fault tolerance functions, and enhance the stability of servers is increasing, and more and more manufacturers are engaged in the research and development of RAID cards. Measuring the performance of a RAID card mainly depends on its performance in processing I / O, and the I / O performance depends to a large extent on the core of the RAID card for processing, especially the research and development of the SOC on it. For a SOC, the design of the internal hardware acceleration engine and the chip firmware play a decisive role.

[0049] For the hardware acceleration engine and the chip firmware, they will run after the chip is powered on to perform relevant initialization and configure many parameters. These parameters often play a decisive factor in I / O performance during I / O processing. The configuration of these parameters and the determination of their values are usually completed in the front-end design stage of chip research and development and cannot be modified during operation.

[0050] During the normal operation of the RAID card, generally there are many scenarios. For the firmware parameter configuration for different scenarios, the current common practice of manufacturers is to obtain a set of optimal configurations through front-end design simulation or post-chip testing as the final configuration parameters. However, this is not the optimal solution for a specific scenario, but the best compromise solution based on the average performance in multiple scenarios. However, this balanced method may not be able to optimize the performance in some specific scenarios, thus limiting the overall I / O performance to a certain extent.

[0051] Therefore, the present invention provides a solution for dynamically adjusting configuration parameters according to different application scenarios, that is, working scenarios. It includes the calculation of the best parameters in different scenarios and the scenario recognition and configuration switching during operation, which can not only significantly improve the performance and efficiency of the RAID card in the face of changing workloads, but also improve the reliability, flexibility, and response ability of the entire storage system.

[0052] Next, the terms related to the present invention will be explained:

[0053] SOC: System on Chip, which is an integrated circuit that integrates multiple functional modules such as microprocessors, memories, interface circuits, and analog circuits on a single chip.

[0054] RAID card: Redundant Array of Independent Disks, which is a system that combines several hard disk drives into a whole according to certain requirements and is managed by an array controller.

[0055] Hot spare disk: An independent disk used in a RAID system, whose main function is to automatically replace a failed disk when a RAID disk fails, thus providing fault tolerance and system redundancy.

[0056] RR: Random Read, which reads data from any position of a storage device, and the data access pattern is irregular.

[0057] RW: Random Write, which writes data to any position of a storage device, and the data write position is irregular.

[0058] SR: Sequential Read, which reads data from a storage device in sequence, usually used for large file transfer or video stream processing.

[0059] SW: Sequential Write, which writes data to a storage device in sequence, usually used for logging or backup operations.

[0060] RAID level: A storage solution that takes into account storage performance, data security, and storage cost. Common ones include RAID0, RAID1, RAID5, RAID6, etc.

[0061] Disk patrol reading: Checking whether the disk is healthy according to the usage scenario.

[0062] IO: Input / Output, which is the process of data exchange between a computer system and external devices (such as hard disks, networks, monitors, etc.).

[0063] IOPS: Input / Output Operations Per Second, which is an indicator to measure the performance of a storage device and represents the number of input / output operations that can be processed per second.

[0064] Hardware engine: A hardware module inside a chip used to accelerate computing, data processing, and related special functions.

[0065] Flash: Flash memory is a non-volatile storage technology that can retain data after power-off and supports multiple erasures and writes of data.

[0066] To enable those skilled in the art to better understand the solution of the present invention, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0067] Next, a method for configuring a disk array card provided by an embodiment of the present invention will be introduced in detail. Figure 1 The following is a flowchart of a method for configuring a disk array card provided by an embodiment of the present invention. The method for configuring the disk array card includes:

[0068] Step S11: When it is detected that the working scenario of the disk array card switches to the target scenario, the target scenario description information is determined from each scenario description information based on the identification information of the target scenario.

[0069] Among them, the working scenarios of the disk array card can include scenarios of reading and writing disks when the host issues an IO task, scenarios of reading and writing disks and performing normal tasks when the host does not issue an IO task, and scenarios of the RAID card reading and writing disks and having abnormalities when the host does not issue an IO task. The scenario of reading and writing disks when the host issues an IO task can include reading and writing operation scenarios under different RAID levels, such as 4K random read, 4K random write, 4K random read + random write, 256K sequential read, and 256K sequential write for Raid0 and Raid5. The scenarios of reading and writing disks and performing normal tasks when the host does not issue an IO task include RAID migration, patrol reading (mechanical hard disk), and RAID expansion. Among them, RAID migration: changing the current RAID level to another RAID level, such as RAID0 -> RAID5; patrol reading (mechanical hard disk): periodically detecting the disk, and if a problem is found with the disk, data recovery is performed; RAID expansion: expanding the storage space of the current RAID group by inserting a new member disk. The scenarios of the RAID card reading and writing disks and having abnormalities when the host does not issue an IO task include data recovery and abnormal disk drop. Among them, data recovery: when data anomalies are detected, the RAID card needs to recover the relevant data; abnormal disk drop: suddenly pulling out the disk in the RAID group, and the RAID card needs to perform recovery processing on the corresponding data. That is, the working scenario can be a specific scenario, that is, a scenario related to reading and writing disks, and the target scenario can be any of the foregoing working scenarios.

[0070] The identification information of the target scenario can be a scenario ID, and the scenario description information is information describing the working scenario, which can include the scenario ID, parameter storage location information, check information, etc.

[0071] In an alternative embodiment, verification can be performed based on the verification information in the target scenario description information. In the case of passing the verification, the step of obtaining the configuration parameters of the target scenario from a preset storage partition based on the parameter storage location information in the target scenario description information to obtain the target configuration parameters is triggered.

[0072] In an alternative embodiment, verification can be performed based on the number of components and / or component identifiers of the components required for the target scenario in the target scenario description information. Among them, the components can include hardware components and software components.

[0073] In an alternative embodiment, it can be determined whether the number of components of the components required for the target scenario in the target scenario description information is consistent with the number of components of the components required for the target scenario corresponding to the preset storage space. If the number of components of the components required for the target scenario in the target scenario description information is inconsistent with the number of components of the components required for the target scenario corresponding to the preset storage space, the verification fails. If the number of components of the components required for the target scenario in the target scenario description information is consistent with the number of components of the components required for the target scenario corresponding to the preset storage space, it is determined whether the component identifiers of the components required for the target scenario in the target scenario description information are within the preset range. If they are not within the preset range, the verification fails. If they are within the preset range, it is determined whether the component identifiers of the components required for the target scenario in the target scenario description information are consistent with the component identifiers of the components required for the target scenario corresponding to the preset storage space. If they are inconsistent, the verification fails. If they are consistent, the verification passes. In the case of verification failure, the step of obtaining the configuration parameters of the target scenario from a preset storage partition based on the parameter storage location information in the target scenario description information to obtain the target configuration parameters is not triggered.

[0074] In this way, through verification, it is possible to ensure that the target configuration parameters corresponding to the target scenario are accurately found, thus ensuring the performance of the disk array card.

[0075] In an alternative embodiment, the state transition of the preset state machine corresponding to the disk array card can be monitored. When the preset state machine switches to the state corresponding to the target scenario, it is determined that the working scenario of the disk array card has switched to the target scenario. The preset state machine is a software state machine and includes various scenarios corresponding to the disk array card.

[0076] In an alternative embodiment, the operations of the disk array card can be monitored, and the target scenario switched to currently can be determined based on the operations.

[0077] Step S12: Obtain the configuration parameters of the target scenario from a preset storage partition based on the parameter storage location information in the target scenario description information to obtain target configuration parameters, where the preset storage partition stores the configuration parameters corresponding to each working scenario, and each configuration parameter is the optimal parameter corresponding to each working scenario pre-tested respectively.

[0078] Among them, the parameter storage location information may be the position offset of the configuration parameters of the target scenario in the preset storage partition.

[0079] Step S13: Perform parameter configuration based on the target configuration parameters so that the disk array card operates based on the optimal parameters in the target scenario.

[0080] The embodiment of the present invention can configure the register value in the target configuration parameters to the corresponding register based on the register address information, and / or configure the software variable value in the target configuration parameters to the corresponding software variable.

[0081] In an alternative embodiment, in the preset storage partition, any working scenario can save the configuration parameters, as well as the register address information, component identifier, base address information of the hardware component, offset address of the register, and the number of parameters to be configured.

[0082] Among them, the component identifier and the number of parameters to be configured can be used for verification. If the component identifier and the number of parameters to be configured are the correct component identifier and the number of parameters to be configured in the target scenario, then trigger the step of performing parameter configuration based on the target configuration parameters so that the disk array card operates based on the optimal parameters in the target scenario, otherwise do not trigger this step.

[0083] In an alternative embodiment, multiple groups of parameters corresponding to each working scenario can be obtained respectively; for any working scenario, traverse the multiple groups of parameters to perform parameter configuration, obtain the test performance indicators corresponding to the multiple groups of parameters, and determine the parameters corresponding to the optimal test performance indicator among the test performance indicators as the optimal parameters of this working scenario. Among them, the test performance indicator may be IOPS (i.e., Input / Output Operations Per Second, the number of read and write operations per second).

[0084] It can be seen that in the embodiment of the present invention, the optimal parameters corresponding to each pre-tested working scenario are stored in a preset storage partition. When it is monitored that the working scenario of the disk array card is switched to the target scenario, the target scenario description information is determined according to the identification information of the target scenario, and then the configuration parameters of the target scenario are obtained from the preset storage partition according to the parameter storage location information in the target scenario description information to obtain the target configuration parameter line parameters configuration, so that the disk array card operates based on the optimal parameters in the target scenario. In this way, the optimal parameters of each working scenario are pre-tested and stored in the preset storage partition. When switching to the target scenario, the optimal parameters corresponding to the target scenario are read from the preset storage partition for configuration, which can ensure that the performance of the disk array card in the target scenario reaches the optimal level. Any working scenario can be the target scenario. In this way, the performance of the disk array card can be improved.

[0085] Further, as shown in Figure 2 the embodiment of the present invention provides a schematic diagram of disk array card configuration. Developers first test several groups of parameter entries with the best performance in different scenarios and save them to a storage medium (Flash is used as an example in the present invention), that is, save the parameters in the offline case. When the RAID card is powered on and it is monitored that the RAID is switched to the target scenario, the corresponding configuration table is read and parsed from the Flash and written into the corresponding hardware engine and firmware configuration, so as to achieve the best performance in the current scenario, that is, configure the parameters in the online case. It can improve the IO performance in different scenarios and also enable the RAID card to flexibly allocate on-chip resources to adapt to the changing workload.

[0086] Among them, the entry storage partition: a partition is divided in the flash to store the IO performance optimal parameter entries in each scenario. The sources of these entries need to be obtained by developers combining verification parameters and measured parameters, and binary files are generated by corresponding scripts and burned into the Flash before the RAID card runs. The stored content of this partition is divided into two parts:

[0087] The first part: store the descriptors corresponding to all scenario entries, one scenario corresponds to one descriptor (that is, the aforementioned scenario description information). For the content, specific meaning and storage structure of this descriptor, see Figure 3 as shown in Figure 3Schematic diagram of a descriptor structure provided by an embodiment of the present invention. Scene encoding (Desc ID): used for scene retrieval during online operation; flash internal storage offset: used to record the storage location of the parameter values corresponding to the scene recorded by this descriptor; number of hardware or software module IDs that need to work (cnt): records the number of hardware engines or software modules in the current scene, used for verification; hardware or software module ID that needs to work (module id): records the path of the hardware engine or software module in the current scene, used for verification. Second part: store specific parameters of all table entries, and the specific content and storage structure are as follows Figure 4 shown Figure 4 Schematic diagram of a parameter storage structure provided by an embodiment of the present invention, including hardware engine or software module ID, base address (baseaddr), number of parameters to be configured (cnt), offset address of reg (reg offset), register value or software variable value (val).

[0088] Furthermore, the scene classifications that need to be recorded may include the following scenes:

[0089] Performance scene table entry: This table entry records the typical IO types under common RAID levels, and which relevant parameters can make the current IO performance optimal under what configurations. Typical examples are as follows: RAID levels: Raid0 + Raid5; IO types: 4K random read, 4K random write, 4K random read + random write; 256K sequential read, 256K sequential write.

[0090] Typical scene table entry: This table entry records which configuration can make the current task most efficient when the host does not issue an IO task and the RAID card is performing read / write disk operations. The following lists 3 typical scenes: RAID migration: changing the existing RAID level to another RAID level, such as RAID0 -> RAID5; background read (mechanical hard disk): periodically perform disk detection, and if a disk problem is found, perform data recovery; RAID expansion: expand the storage space of the current RAID group by inserting a new member disk.

[0091] Abnormal scene table entry: This table entry records which configuration can make the current task most efficient when the host does not issue an IO task and the RAID card is performing read / write disk operations. The following lists 2 typical scenes: Data recovery: when data anomalies are detected, the RAID card needs to recover the relevant data; Abnormal disk removal: suddenly remove a disk from the RAID group, and the RAID card needs to perform recovery processing on the corresponding data.

[0092] Entry Management Module: Load the content of the entry storage partition in the flash when the chip starts up; create a doubly circular linked list and insert each entry handle (created based on each entry descriptor) into the linked list; maintain the linked list; maintain the entry descriptor.

[0093] Scenario Monitoring Module: Monitor the internal state machine of the RAID card; this state machine is a software state machine and is maintained by a separate software module. See Figure 5 as shown Figure 5 which is a state flow schematic diagram provided by an embodiment of the present invention. If the above state machine changes, the scenario information (scenario code) will be reported to the Event Management Module, and the Event Management Module will match the scenario code with the linked list node. After successful matching, relevant data in the flash will be read and written to the corresponding reg or software parameters.

[0094] Event Management Module: Receive the scenario information (scenario code) reported by the Scenario Monitoring Module; query the linked list according to the scenario information and select the corresponding entry node (descriptor information); parse the entry node (and descriptor information), read the detailed configuration parameters (the second part of the entry storage partition in the flash), and configure the required configuration parameters for the corresponding hardware engine and software module according to the read flash content; after the new parameters are configured, perform the corresponding workflow.

[0095] Furthermore, see Figure 6 as shown Figure 6 which is an optimal parameter calibration process schematic diagram provided by an embodiment of the present invention. That is, the Offline parameter calibration process, list each refined scenario and record it with a number, and this number will be burned into the flash as one of the entry descriptor information; analyze each refined scenario, traverse and inject parameters according to the scenario; record the IO performance (iops) reflected by each parameter respectively, and save a set of optimal parameters; generate a binary file according to a certain custom format through a script for the saved several sets of parameters, and burn this file into the established partition in the Flash.

[0096] For example, for the performance scenario, under different sets of parameters, the host issues an IO task, and the RAID card reads or writes to the disk. According to the performance indicators of each set of parameters, the optimal parameters are obtained. For the typical scenario, under different sets of parameters, the host does not issue an IO task, triggers the RAID card to execute the tasks in the typical scenario, and according to the performance indicators of each set of parameters, the optimal parameters are obtained. For the abnormal scenario, under different sets of parameters, the host does not issue an IO task, writes dirty data to trigger the RAID card to perform detection. When data anomalies are detected, the RAID card recovers the relevant data, and pulls out the disk in the RAID group to trigger the RAID card to perform recovery processing on the corresponding data.

[0097] Further, referring to Figure 7 as shown Figure 7 is a schematic diagram of a disk array card configuration provided by an embodiment of the present invention. After the system is started, relevant initialization work will be carried out on the resources required for system operation, mainly including memory application and linked list establishment; after all initializations are completed, the program will load and parse the configuration table descriptors stored in Flash; the descriptors of each configuration table item will be inserted into the linked list according to the specified format; the monitoring module will continuously monitor the status of the RAID card; if the status of the RAID card changes and switches to the target scenario, the current scenario number will be obtained, and the linked list will be traversed for query and comparison. If no matching node is found, continue to monitor; if a matching node is found, a message will be sent to the event management module, and the message content will be the scenario code corresponding to the current status; after receiving the event, the event management module will parse the event and extract the scenario code, and the software will match the node with the corresponding scenario code in the linked list. After matching, the node descriptor information will be obtained, and the flash parameters will be read according to the information; the parameters will be parsed, and the reg configuration and software parameter configuration will be broadcast, and the corresponding hardware engine and software module will complete the relevant configuration operations. After the configuration is completed, the current service will continue to be executed.

[0098] In this way, the present invention designs the above RAID card configuration adaptive scheme based on the IO performance scenario. A mechanism for dynamically configuring parameters according to the IO scenario is designed. A mechanism for dynamically monitoring the application scenario of the RAID card is designed. A mechanism for the RAID card application scenario parameter table item is designed, which can adaptively configure the RAID card based on scenarios such as IO performance, improve the performance of the RAID card, and more effectively and reasonably utilize the bandwidth of the entire link and the throughput of the RAID card by automatically adapting and adjusting the configuration parameters in different usage scenarios, so as to improve the performance of the RAID card and reduce the latency. It can improve the quality of the server, break the limitations and complexity of traditional RAID card performance tuning, and very effectively improve the performance of the RAID card. It has flexibility and scalability: if a new scenario appears, corresponding configuration parameters can be directly added and a new configuration ID can be added without complex coding and reconfiguration of parameters.

[0099] In addition, in the offline scenario, the corresponding upper computer program and automation script can be developed, thus greatly accelerating the offline efficiency. And this configuration item is not only applicable to the IO scenario, but also can be dynamically adapted to any configuration parameter.

[0100] Referring to Figure 8 as shown, an embodiment of the present invention provides a disk array card configuration device, including:

[0101] A description information determination module 81, configured to determine target scenario description information from each scenario description information based on the identification information of the target scenario when it is detected that the working scenario of the disk array card switches to the target scenario;

[0102] A configuration parameter acquisition module 82, configured to acquire the configuration parameters of the target scenario from a preset storage partition based on the parameter storage location information in the target scenario description information to obtain target configuration parameters, where the preset storage partition stores the configuration parameters corresponding to each working scenario, and each configuration parameter is the optimal parameter corresponding to each working scenario respectively pre-tested;

[0103] A parameter configuration module 83, configured to perform parameter configuration based on the target configuration parameters, so that the disk array card operates based on the optimal parameters in the target scenario.

[0104] In an alternative embodiment, the apparatus further includes: a verification module, configured to perform verification based on the verification information in the target scenario description information before acquiring the configuration parameters of the target scenario from a preset storage partition based on the parameter storage location information in the target scenario description information to obtain target configuration parameters, and trigger the step of acquiring the configuration parameters of the target scenario from a preset storage partition based on the parameter storage location information in the target scenario description information in the case of passing the verification.

[0105] In an alternative embodiment, the verification module is specifically configured to perform verification based on the number of components and / or component identifiers of the components required to be used in the target scenario in the target scenario description information.

[0106] In an alternative embodiment, the parameter configuration module 83 is specifically configured to configure the register values in the target configuration parameters to the corresponding registers based on the register address information, and / or configure the software variable values in the target configuration parameters to the corresponding software variables.

[0107] In an alternative embodiment, the apparatus further includes:

[0108] A monitoring module, configured to monitor the state transition of a preset state machine corresponding to the disk array card, and determine that the working scenario of the disk array card switches to the target scenario when the preset state machine switches to the state corresponding to the target scenario.

[0109] In an alternative embodiment, the apparatus further includes:

[0110] A test module is configured to respectively obtain multiple groups of parameters corresponding to each working scenario; for any working scenario, traverse the multiple groups of parameters for parameter configuration, obtain the test performance metrics corresponding to the multiple groups of parameters, and determine the parameters corresponding to the optimal test performance metric among the test performance metrics as the optimal parameters for this working scenario.

[0111] In an alternative embodiment, the apparatus further includes:

[0112] A file writing module is configured to generate a binary file in a preset format with the optimal parameters corresponding to each working scenario through a preset script; and burn the binary file to the preset storage partition.

[0113] It can be seen that in the embodiment of the present invention, the optimal parameters respectively corresponding to each working scenario pre-tested are stored in a preset storage partition. When it is monitored that the working scenario of the disk array card is switched to a target scenario, the target scenario description information is determined according to the identification information of the target scenario, and then the configuration parameters of the target scenario are obtained from the preset storage partition according to the parameter storage location information in the target scenario description information to obtain the target configuration parameter line parameters for configuration, so that the disk array card operates based on the optimal parameters in the target scenario. In this way, the optimal parameters of each working scenario are pre-tested and stored in the preset storage partition. When switching to the target scenario, the optimal parameters corresponding to the target scenario are read from the preset storage partition for configuration, which can ensure that the performance of the disk array card in the target scenario reaches the optimal level, and any working scenario can be the target scenario. In this way, the performance of the disk array card can be improved.

[0114] Figure 8 For the description of the features in the corresponding embodiments, reference can be made to Figure 1 the relevant descriptions of the corresponding embodiments, which will not be elaborated here one by one.

[0115] Figure 9 The following is a structural diagram of an electronic device provided by an embodiment of the present invention. As Figure 9 shown, the electronic device includes: a memory 90 for storing a computer program;

[0116] a processor 91 for implementing the steps of the disk array card configuration method as described in the above embodiments when executing the computer program.

[0117] Among them, the processor 91 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 91 may be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), or programmable logic array (PLA). The processor 91 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the wake state, also known as the central processing unit (CPU); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 91 may be integrated with a graphics processing unit (GPU), and the GPU is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 91 may further include an artificial intelligence (AI) processor, which is used to process computational operations related to machine learning.

[0118] The memory 90 may include one or more computer-readable storage media, and the computer-readable storage media may be non-transitory. The memory 90 may further include high-speed random access memory and non-volatile memory, such as one or more disk storage devices and flash storage devices. In this embodiment, the memory 90 is at least used to store the following computer program 901. After the computer program is loaded and executed by the processor 91, it can implement the relevant steps of the disk array card configuration method disclosed in any of the foregoing embodiments. In addition, the resources stored in the memory 90 may further include an operating system 902 and data 903, etc., and the storage method may be temporary storage or permanent storage. Among them, the operating system 902 may include Windows, Unix, Linux, etc. The data 903 may include, but is not limited to, scene data, etc.

[0119] In some embodiments, the electronic device may further include a display screen 92, an input / output interface 93, a communication interface 94, a power supply 95, and a communication bus 96.

[0120] Those skilled in the art can understand that Figure 9 the structure shown in

[0121] It can be understood that if the disk array card configuration method in the above embodiments is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the current technology, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and executes all or part of the steps of the methods in the various embodiments of the present invention. The aforementioned storage medium includes: USB flash drives, mobile hard disks, read-only memory (ROM), random access memory (RAM), electrically erasable programmable ROM, registers, hard disks, removable disks, CD-ROMs, magnetic disks, or optical discs, and other various media that can store program codes.

[0122] Based on this, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, it implements the steps of the disk array card configuration method as described above.

[0123] Next, a computer program product provided by an embodiment of the present application will be introduced. The computer program product described below can be referred to each other with other embodiments described in this article.

[0124] A computer program product includes computer programs / instructions. When the computer programs / instructions are executed by a processor, they implement the steps of the disk array card configuration method disclosed above.

[0125] The above has introduced in detail a disk array card configuration method, device, equipment, and medium provided by an embodiment of the present invention. The various embodiments in the specification are described in a progressive manner. Each embodiment focuses on the differences from other embodiments. The same or similar parts among the various embodiments can be referred 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. For the relevant parts, refer to the description of the method part.

[0126] Those skilled in the art can further realize that the units and algorithm steps of each example described in combination with the embodiments disclosed in this article can be implemented by electronic hardware, computer software, or a combination of the two. To clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described according to functions in the above description. Whether these functions are executed in a hardware or software manner depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present invention.

[0127] The above has introduced in detail a method, device, equipment and medium for configuring a disk array card provided by the present invention. Specific examples are used in this article to elaborate on the principle and implementation manner of the present invention. The description of the above embodiments is only used to help understand the method and its core idea of the present invention. It should be noted that for those of ordinary skill in the art, without departing from the principle of the present invention, several improvements and modifications can be made to the present invention, and these improvements and modifications also fall within the protection scope of the claims of the present invention.

Claims

1. A method for configuring a disk array card, characterized in that, Including: When it is monitored that the working scenario of the disk array card switches to the target scenario, the target scenario description information is determined from each scenario description information based on the identification information of the target scenario; Based on the parameter storage location information in the target scenario description information, the configuration parameters of the target scenario are obtained from the preset storage partition to obtain the target configuration parameters, where the preset storage partition stores the configuration parameters corresponding to each working scenario, and each configuration parameter is the optimal parameter corresponding to each working scenario respectively tested in advance; Based on the target configuration parameters, parameter configuration is performed so that the disk array card operates based on the optimal parameters in the target scenario.

2. The disk array card configuration method according to claim 1, characterized in that Before obtaining the configuration parameters of the target scenario from the preset storage partition based on the parameter storage location information in the target scenario description information, it further includes: Based on the verification information in the target scenario description information, verification is performed, and when the verification is passed, the step of obtaining the configuration parameters of the target scenario from the preset storage partition based on the parameter storage location information in the target scenario description information is triggered.

3. The disk array card configuration method according to claim 2, characterized in that, Based on the verification information in the target scenario description information, the verification includes: Based on the number of components and / or component identifiers of the components required to be used in the target scenario in the target scenario description information, verification is performed.

4. The disk array card configuration method according to claim 1, wherein, Based on the target configuration parameters, parameter configuration includes: Based on the register address information, the register value in the target configuration parameters is configured to the corresponding register, and / or the software variable value in the target configuration parameters is configured to the corresponding software variable.

5. The disk array card configuration method according to claim 1, wherein It further includes: Monitoring the state switching situation of the preset state machine corresponding to the disk array card, and when the preset state machine switches to the state corresponding to the target scenario, it is determined that the working scenario of the disk array card switches to the target scenario.

6. The disk array card configuration method according to any one of claims 1 to 5, characterized in that, It further includes: Respectively obtaining multiple groups of parameters corresponding to each working scenario; For any working scenario, traversing the multiple groups of parameters for parameter configuration, obtaining the test performance indicators corresponding to the multiple groups of parameters, and determining the parameters corresponding to the optimal test performance indicator among the test performance indicators as the optimal parameters of this working scenario.

7. The disk array card configuration method according to claim 6, wherein, It further includes: Generating a binary file in a preset format for the optimal parameters corresponding to each working scenario through a preset script; Burning the binary file into the preset storage partition.

8. A disk array card configuration device, characterized in that Including: A description information determination module, configured to, when it is monitored that the working scenario of the disk array card switches to the target scenario, determine the target scenario description information from each scenario description information based on the identification information of the target scenario; A configuration parameter acquisition module, configured to obtain the configuration parameters of the target scenario from the preset storage partition based on the parameter storage location information in the target scenario description information to obtain the target configuration parameters, where the preset storage partition stores the configuration parameters corresponding to each working scenario, and each configuration parameter is the optimal parameter corresponding to each working scenario respectively tested in advance; A parameter configuration module, configured to perform parameter configuration based on the target configuration parameters so that the disk array card operates based on the optimal parameters in the target scenario.

9. An electronic device, characterized in that, Including: A memory for storing a computer program; A processor for executing the computer program to implement the steps of the disk array card configuration method according to any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of the disk array card configuration method according to any one of claims 1 to 7 are implemented.