Performance tuning configuration method and device for disk array card, equipment and medium

The method optimizes RAID card configurations by using pre-saved data files to adjust software and hardware quotas based on performance indicators, enhancing system performance and stability through simplified debugging and parameter optimization.

CN119225655APending Publication Date: 2024-12-31SHANDONG YUNHAI GUOCHUANG CLOUD COMPUTING EQUIP IND INNOVATION CENT CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202411345359.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-25
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

Existing RAID card configurations are complex and difficult for users to optimize for maximum software and hardware synergy, leading to suboptimal performance.

Method used

A method and device for performance tuning and configuration of disk array cards that involve initializing firmware systems using pre-saved configuration data files, adjusting software and hardware quotas based on system performance indicators, and optimizing parameters to achieve optimal performance.

Benefits of technology

Facilitates convenient debugging and performance tuning of RAID card hardware and software collaboration, reducing debugging time and cost while maximizing hardware and software acceleration advantages.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119225655A_ABST
    Figure CN119225655A_ABST
Patent Text Reader

Abstract

The invention discloses a performance tuning configuration method, device and equipment for a disk array card and a medium, and relates to the technical field of storage, and the method comprises the steps: obtaining a pre-stored configuration data file from a firmware layer of the disk array card, and carrying out the initial configuration of each firmware system in the disk array card through the configuration data file; if the to-be-corrected parameter is the software and hardware quota of the input / output control unit, setting the current software and hardware quota of the input / output control unit by using a software and hardware quota value in the configuration data file under the currently set target disk topological structure, and executing a test case corresponding to the current software and hardware quota to obtain a system performance index value; and correcting the current software and hardware quota based on the system performance index value to obtain a software and hardware quota optimal value of the input / output control unit under the target disk topological structure, and storing the software and hardware quota optimal value to the configuration data file so as to load the software and hardware quota optimal value in the configuration data file when each firmware system runs.
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 performance tuning and configuration of a disk array card. Background Art

[0002] RAID (Redundant Array of Independent Disks) combines multiple physical hard disks into a single virtual large-capacity hard disk in some way, thereby providing higher storage performance, higher I / O (Input / Output) performance and reliability than a single hard disk. The main function of the RAID controller is to manage multiple hard disk drives and implement RAID-level data storage and data protection functions.

[0003] RAID cards are usually inserted into the expansion slot of a computer and act as an independent hardware component to manage and control the disk drives connected to the computer. It provides hardware-level RAID configuration, monitoring, and management functions, allowing users to flexibly configure various RAID levels (such as RAID 0, RAID 1, RAID 5, etc.) to meet their storage needs. The structure of a RAID card is relatively complex, consisting of a multi-core CPU (Central Processing Unit) and multiple IPs (IntellectualProperty), which implements dedicated hardware IO data acceleration for RAID functions. The firmware of a RAID card is a software program running in the RAID card, which is responsible for controlling and managing the IP, and also provides data segmentation, redundancy, read-write, backup, and recovery functions at different levels such as RAID 0 / 1 / 5 / 6.

[0004] During the computer startup process, you can enter the RAID card configuration interface through the BIOS (Basic Input Output System) settings or a dedicated RAID configuration tool, where you can choose to create RAID levels, stripe sizes, write policies, cache settings and other RAID parameters. This product form configuration is generally user-oriented and suitable for system testing and factory product configuration. However, the implementation of RAID cards is relatively complex, involving multiple systems and multiple IPs. It is difficult for users to maximize the performance of the RAID card's software and hardware synergy by setting it up based solely on their experience.

[0005] In summary, how to perform performance tuning and configuration on the disk array card to give full play to the advantages of hardware acceleration and software acceleration and obtain the optimal performance of the disk array card is a problem that needs to be solved at present. Summary of the invention

[0006] In view of this, the purpose of the present invention is to provide a method, device, equipment and medium for performance tuning and configuration of a disk array card, which can perform performance tuning and configuration on the disk array card to give full play to the advantages of hardware acceleration and software acceleration and obtain the optimal performance of the disk array card. The specific scheme is as follows:

[0007] In a first aspect, the present application discloses a performance tuning configuration method for a disk array card, comprising:

[0008] Acquire a pre-saved configuration data file from the firmware layer of the disk array card, and use the configuration data file to initialize and configure each firmware system in the disk array card;

[0009] If the parameter to be corrected is the software and hardware quota of the input and output control unit, then under the currently set target disk topology, the current software and hardware quota of the input and output control unit is set using the software and hardware quota value in the configuration data file, and the test case corresponding to the current software and hardware quota is executed to obtain the system performance indicator value;

[0010] The current software and hardware quotas are modified based on the system performance indicator value to obtain the optimal software and hardware quota value of the input and output control unit under the target disk topology structure, and the optimal software and hardware quota value is saved to the configuration data file so that the optimal software and hardware quota value in the configuration data file can be loaded when each firmware system is running.

[0011] Optionally, a firmware configuration module for uniformly managing the configuration data files is provided in the firmware layer of the disk array card;

[0012] Correspondingly, the step of obtaining a pre-saved configuration data file from the firmware layer of the disk array card to initialize and configure each firmware system in the disk array card using the configuration data file includes:

[0013] The configuration data file pre-saved in the firmware configuration module is loaded into a preset global data area, so that each firmware system in the disk array card reads the configuration data file from the global data area through a corresponding interface, so as to use the configuration data file to complete the local initialization configuration.

[0014] Optionally, the firmware system includes a core control system responsible for controlling bus devices and processing data, an auxiliary control system responsible for system and interface communication, firmware upgrades and system debugging control, a disk array card control system responsible for user command processing and product form setting, a power management system responsible for power supply, a power-off protection and recovery system responsible for data protection in the event of abnormal power-off of the system and data recovery on the system, and a boot system responsible for loading the firmware system to start up.

[0015] Optionally, the configuration data file includes host interface parameters, acceleration unit parameters of the disk array card and landing subsystem parameters; wherein the host interface parameters include the host interface mode, the number of physical functions and the size of direct memory access; the acceleration unit parameters include the number of input and output control units, the working mode, the available memory size and the input and output timeout; the landing subsystem parameters include the number of bus port extensions, the bus port extension mode, the root complex switch, the number of channels between the root complex and other bus devices, and the number of disks.

[0016] Optionally, the software and hardware quota values ​​are multiple proportional values ​​obtained by pre-configuring the required resources between the software and hardware based on the number of available resources in the input and output control unit, and the software and hardware quota values ​​are stored in a target array pre-created in the firmware layer;

[0017] Correspondingly, the setting of the current software and hardware quota of the input and output control unit by using the software and hardware quota values ​​in the configuration data file, and executing the test case corresponding to the current software and hardware quota to obtain the system performance index value includes:

[0018] Taking out a first software and hardware quota value from the target array, and using the first software and hardware quota value to set the current software and hardware quota of the input and output control unit;

[0019] Execute a test case corresponding to the current software and hardware quota to obtain a first system performance indicator value;

[0020] Traversing the target array to retrieve a next software and hardware quota value from the target array, and using the next software and hardware quota value to set the current software and hardware quota of the input and output control unit, and then executing a test case corresponding to the current software and hardware quota to obtain a second system performance indicator value;

[0021] Determine whether there are any untraversed software and hardware quota values ​​in the target array. If so, jump back to the step of traversing the target array to retrieve the next software and hardware quota value from the target array until all software and hardware quota values ​​in the target array are traversed.

[0022] Optionally, the performance tuning configuration method of the disk array card further includes:

[0023] Determining the number of types of disk topology structures in the landing disk system according to the configuration data file;

[0024] Correspondingly, if the number is multiple, after obtaining the optimal value of the software and hardware quota of the input and output control unit under the target disk topology structure, the method further includes:

[0025] Reset the current disk topology structure, and use the new disk topology structure as the target disk topology structure, and then jump to the step of setting the current software and hardware quota of the input and output control unit using the software and hardware quota values ​​in the configuration data file to obtain the optimal software and hardware quota value of the input and output control unit under different disk topologies.

[0026] Optionally, the performance tuning configuration method of the disk array card further includes:

[0027] If the parameter to be modified is a target function parameter that does not affect the startup process, the target function parameter is modified through the target serial port or the preset interface extension command during the operation of each firmware system.

[0028] In a second aspect, the present application discloses a performance tuning configuration device for a disk array card, comprising:

[0029] An initialization configuration module, used to obtain a pre-saved configuration data file from the firmware layer of the disk array card, so as to initialize and configure each firmware system in the disk array card using the configuration data file;

[0030] A test module, for setting the current software and hardware quota of the input and output control unit by using the software and hardware quota values ​​in the configuration data file under the currently set target disk topology if the parameter to be corrected is the software and hardware quota of the input and output control unit, and executing the test case corresponding to the current software and hardware quota to obtain the system performance indicator value;

[0031] A parameter correction module is used to correct the current software and hardware quota based on the system performance indicator value to obtain the optimal software and hardware quota value of the input and output control unit under the target disk topology structure, and save the optimal software and hardware quota value to the configuration data file so that the optimal software and hardware quota value in the configuration data file can be loaded when each firmware system is running.

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

[0033] Memory, used to store computer programs;

[0034] The processor is used to execute the computer program to implement the steps of the performance tuning configuration method of the disk array card disclosed above.

[0035] In a fourth aspect, the present application discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, the steps of the performance tuning configuration method of the disk array card disclosed above are implemented.

[0036] It can be seen that the present application obtains a pre-saved configuration data file from the firmware layer of the disk array card, and uses the configuration data file to initialize the configuration of each firmware system in the disk array card; if the parameter to be modified is the software and hardware quota of the input and output control unit, then under the currently set target disk topology structure, the current software and hardware quota of the input and output control unit is set using the software and hardware quota value in the configuration data file, and the test case corresponding to the current software and hardware quota is executed to obtain the system performance index value; based on the system performance index value, the current software and hardware quota is modified to obtain the optimal value of the software and hardware quota of the input and output control unit under the target disk topology structure, and the optimal value of the software and hardware quota is saved to the configuration data file, so that the optimal value of the software and hardware quota in the configuration data file is loaded when each of the firmware systems is running.

[0037] Beneficial effect: In this application, the firmware layer uniformly manages and saves configuration data files, making the functional debugging of software and hardware collaboration more convenient and reducing the debugging time and cost. In this scheme, the configuration data file obtained from the firmware layer of the disk array card is first used to initialize the configuration of each firmware system in the disk array card. Furthermore, if the parameter to be corrected is the software and hardware quota of the input and output control unit, the software and hardware quota value in the configuration data file is used to set the current software and hardware quota of the input and output control unit under the currently set target disk topology structure, and the test case corresponding to the current software and hardware quota is executed to obtain the system performance index value, and then based on the relationship between the system performance index and the software and hardware quota, the current software and hardware quota is corrected using the obtained system performance index value to obtain the optimal value of the software and hardware quota of the input and output control unit under the target disk topology structure. Finally, the optimal value of the software and hardware quota is saved in the configuration data file so that these optimal configurations can be directly loaded when the system is running to improve system performance and stability. The above solution can facilitate the function debugging and performance tuning of the disk array card hardware and software collaboration by uniformly managing the configuration data files at the firmware layer, give full play to the advantages of hardware acceleration and software acceleration, and obtain the optimal performance of the disk array card. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0039] Figure 1 A flow chart of a performance tuning configuration method for a disk array card disclosed in this application;

[0040] Figure 2 A schematic diagram of parameter configuration of a firmware configuration module disclosed in this application;

[0041] Figure 3 A schematic diagram of the initialization process of a firmware system disclosed in this application;

[0042] Figure 4 A correction flow chart of a static parameter disclosed in this application;

[0043] Figure 5 A flowchart of a specific disk array card performance tuning configuration method disclosed in this application;

[0044] Figure 6 A parameter optimization flow chart of available quota parameters of software and hardware disclosed in this application;

[0045] Figure 7 A schematic diagram of the structure of a performance tuning configuration device for a disk array card disclosed in the present application;

[0046] Figure 8 This is a structural diagram of an electronic device disclosed in this application. DETAILED DESCRIPTION

[0047] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present invention.

[0048] RAID cards are usually inserted into the expansion slot of a computer as an independent hardware component to manage and control the disk drives connected to the computer. It provides hardware-level RAID configuration, monitoring and management functions, allowing users to flexibly configure various RAID levels (such as RAID 0, RAID 1, RAID 5, etc.) to meet their storage needs. The structure of the RAID card is relatively complex, consisting of a multi-core CPU and multiple IPs, and realizing dedicated hardware IO data acceleration for the RAID function. The firmware of the RAID card is a software program running in the RAID card, which is responsible for controlling and managing the IP, and also provides different levels of data segmentation, redundancy, read and write, backup and recovery functions such as RAID 0 / 1 / 5 / 6. During the computer startup process, enter the RAID card configuration interface through the BIOS settings or a special RAID configuration tool, and you can choose to create RAID parameters such as RAID level, stripe size, write strategy, cache settings, etc. This product form configuration is generally user-oriented and suitable for system testing and factory product configuration. However, the implementation of the RAID card is relatively complex, involving multiple systems and multiple IPs. It is difficult for users to maximize the performance of the software and hardware synergy of the RAID card by setting it only through their experience.

[0049] To this end, the embodiments of the present application disclose a method, apparatus, device and medium for performance tuning and configuration of a disk array card, which can perform performance tuning and configuration on the disk array card to give full play to the advantages of hardware acceleration and software acceleration and obtain the optimal performance of the disk array card.

[0050] See also Figure 1 As shown, the embodiment of the present application discloses a performance tuning configuration method for a disk array card, the method comprising:

[0051] Step S11: obtaining a pre-saved configuration data file from the firmware layer of the disk array card, and using the configuration data file to initialize the configuration of each firmware system in the disk array card.

[0052] In this embodiment, the firmware layer uniformly manages and saves the configuration data files, making the debugging of the software and hardware collaborative functions more convenient and reducing the debugging time and cost. In this solution, the configuration data files obtained from the firmware layer of the disk array card are first used to initialize the configuration of each firmware system in the disk array card.

[0053] It should be noted that a firmware configuration module for uniformly managing the configuration data files is provided in the firmware layer of the disk array card.

[0054] In a specific implementation, the configuration data file includes host interface parameters, acceleration unit parameters of the disk array card, and landing subsystem parameters; wherein the host interface parameters include the host interface mode, the number of physical functions, and the size of direct memory access; the acceleration unit parameters include the number of input and output control units, the working mode, the available memory size, and the input and output timeout; the landing subsystem parameters include the number of bus port extensions, the bus port extension mode, the root complex switch, the number of channels between the root complex and other bus devices, and the number of disks. That is, if Figure 2 As shown, the present application adds a firmware configuration module in the firmware layer, which is specifically responsible for the unified configuration of the host interface layer, the disk array card (RAID, Redundant Array of Independent Disks) acceleration unit and the disk drop system. It can be seen that the present invention defines RAID card configuration parameters according to the RAID card hierarchy, including host interface layer parameters, RAID acceleration unit parameters and disk drop system parameters, and performs performance tuning according to the parameter configuration.

[0055] Among them, the host interface layer is the PCIe (Peripheral Component Interconnect Express, a high-speed serial computer expansion bus standard) EP (Endpoint device, in EP mode, the PCIe controller receives read and write operations for local memory space) interface layer, which is responsible for NVMe (Non-Volatile Memory Express, non-volatile memory host controller interface specification) device enumeration and PCIe message queue management. The host interface parameters can be uniformly managed by the firmware configuration module, including the number of PF (Physical Function), host interface mode and DMA (Direct Memory Access) size. If the interface mode of the host interface layer is configured as software mode, the hardware acceleration unit will be skipped, and data processing will be packaged by the pure software module in the RAID acceleration unit. If the interface mode of the host interface layer is set to hybrid mode, the hardware acceleration unit will be used to package first. The software acceleration unit mainly handles operations that the hardware IP cannot handle, and the software and hardware work together to complete the package.

[0056] The RAID acceleration unit includes hardware IP and software modules, which are responsible for RAID management and IO (Input / Output) data processing. The firmware configuration module can uniformly manage the quota of software and hardware resources, including the number of input and output (IO) control units, performance / capacity working mode, available memory size, and input and output timeout. According to different product specifications, the firmware configuration module uniformly configures available resources to improve the ability of software and hardware to work together.

[0057] The disk placement system is the PCIe RC (root complex, in RC mode, the PCIe controller supports configuration and IO transactions) interface layer, which is responsible for disk management and disk reading and writing operations. The firmware configuration module can uniformly manage the number of PPMs (PCIe PortMultiplier, PCIe port extension), PPM mode (direct connection / Swich), RC switch, the number of channels between the root complex and other bus devices, and the number of disks (that is, the number of RC-lanes and the number of Namespaces), etc., so as to realize different disk topologies.

[0058] Furthermore, the firmware system includes a core control system for controlling bus devices and processing data, an auxiliary control system for system and interface communication, firmware upgrades, and system debugging control, a disk array card control system for user command processing and product form setting, a power management system for power supply, a power-off protection recovery system for system abnormal power-off data protection and system power-on data recovery, and a boot system for loading firmware system startup. It can be understood that the RAID card firmware is complex to implement and contains multiple firmware systems, including a core control system, an auxiliary control system, a RAID control system, a power management system, a power-off protection recovery system, and a boot system. Among them, the core control system is responsible for core control and data processing, including PCIe EP subsystem, RAID acceleration unit, and PCIe RC subsystem; the auxiliary control system is responsible for system and interface communication, firmware upgrades, and system debugging control; the RAID control system is responsible for user command processing, product form setting, etc.; the power management system is mainly responsible for power supply to each system of the RAID card; the power-off protection recovery system is responsible for system abnormal power-off data protection and system power-on data recovery; the boot system is responsible for loading other firmware systems, exiting after loading, and handing over control to the auxiliary control system.

[0059] Correspondingly, the method of obtaining a pre-saved configuration data file from the firmware layer of the disk array card to initialize and configure each firmware system in the disk array card using the configuration data file includes: loading the configuration data file pre-saved in the firmware configuration module into a preset global data area, so that each firmware system in the disk array card reads the configuration data file from the global data area through a corresponding interface to complete the local initialization configuration using the configuration data file. That is, the configuration data of multiple firmware systems are uniformly managed by the firmware configuration module, such as Figure 3As shown, first, the boot system loads the configuration data file into the preset global data area and provides a reading interface for the configuration data; then, during the system startup process, the core control system, auxiliary control system, and RAID control system read the configuration data in the configuration module to complete the system initialization process. It can be seen that this application proposes a RAID card configuration method for a heterogeneous multi-core system, in which the boot system uniformly loads the configuration data, and multiple systems including the core control system, auxiliary control system, RAID control system, power management system, power-off protection recovery system, etc. read the configuration data value through the shared global data area.

[0060] Step S12: If the parameter to be corrected is the software and hardware quota of the input and output control unit, then under the currently set target disk topology, the current software and hardware quota of the input and output control unit is set using the software and hardware quota value in the configuration data file, and the test case corresponding to the current software and hardware quota is executed to obtain the system performance indicator value.

[0061] In this embodiment, if the parameter to be corrected is the software and hardware quota of the input and output control unit, then under the currently set target disk topology, the current software and hardware quota of the input and output control unit is set using the software and hardware quota value in the configuration data file, and the test case corresponding to the current software and hardware quota is executed to obtain the system performance indicator value.

[0062] In another embodiment, if the parameter to be modified is a target function parameter that does not affect the startup process, the target function parameter is modified through a target serial port or a preset interface extension command during the operation of each firmware system.

[0063] It should be pointed out that, according to whether the parameters can be changed during the startup process, the RAID card configuration parameters can be divided into static parameters and dynamic parameters. Some static parameters are used for driver initialization during the system power-on process and are not allowed to be changed during system operation. However, their parameter values ​​are related to performance and need to be adjusted according to actual test results. The software and hardware quotas of the input and output control unit are static parameters. The static parameter correction methods are as follows: Figure 4 As shown in the figure, first, when the system starts, the configuration data file is loaded, and when the system is initialized, the driver and related modules are initialized according to the configuration data; secondly, the test cases are executed and the test results are counted; then, the parameter configuration values ​​are corrected according to the system performance indicators; finally, the optimal configuration values ​​in the configuration data file are determined according to the relationship between the parameter values ​​and the performance test data. Dynamic parameters mainly include functional parameters that do not affect the startup process, including debugging switches such as log and trace. During the operation of the system, they can be modified and take effect in real time through the serial port or NVMe extension command. Combined with the dynamic parameter configuration method of the debugging switch, it is convenient to locate and analyze functional problems and performance bottlenecks.

[0064] Step S13: Modify the current software and hardware quota based on the system performance indicator value to obtain the optimal software and hardware quota value of the input and output control unit under the target disk topology structure, and save the optimal software and hardware quota value to the configuration data file, so as to load the optimal software and hardware quota value in the configuration data file when each firmware system is running.

[0065] In this embodiment, after executing the test case corresponding to the current software and hardware quota and obtaining the system performance index value, the current software and hardware quota is corrected using the obtained system performance index value based on the relationship between the system performance index and the software and hardware quota, so as to obtain the optimal value of the software and hardware quota of the input and output control unit under the target disk topology. Finally, the optimal value of the software and hardware quota is saved in the configuration data file, so that these optimal configurations can be directly loaded when the system is running, thereby improving the system performance and stability. The above scheme can facilitate the functional debugging and performance tuning of the disk array card's software and hardware collaboration by uniformly managing the configuration data file at the firmware layer, giving full play to the advantages of hardware acceleration and software acceleration, and obtaining the optimal performance of the disk array card.

[0066] It can be seen that the present application obtains a pre-saved configuration data file from the firmware layer of the disk array card, and uses the configuration data file to initialize the configuration of each firmware system in the disk array card; if the parameter to be modified is the software and hardware quota of the input and output control unit, then under the currently set target disk topology structure, the current software and hardware quota of the input and output control unit is set using the software and hardware quota value in the configuration data file, and the test case corresponding to the current software and hardware quota is executed to obtain the system performance index value; based on the system performance index value, the current software and hardware quota is modified to obtain the optimal value of the software and hardware quota of the input and output control unit under the target disk topology structure, and the optimal value of the software and hardware quota is saved to the configuration data file, so that the optimal value of the software and hardware quota in the configuration data file is loaded when each of the firmware systems is running.

[0067] Beneficial effect: In this application, the firmware layer uniformly manages and saves configuration data files, making the functional debugging of software and hardware collaboration more convenient and reducing the debugging time and cost. In this scheme, the configuration data file obtained from the firmware layer of the disk array card is first used to initialize the configuration of each firmware system in the disk array card. Furthermore, if the parameter to be corrected is the software and hardware quota of the input and output control unit, the software and hardware quota value in the configuration data file is used to set the current software and hardware quota of the input and output control unit under the currently set target disk topology structure, and the test case corresponding to the current software and hardware quota is executed to obtain the system performance index value, and then based on the relationship between the system performance index and the software and hardware quota, the current software and hardware quota is corrected using the obtained system performance index value to obtain the optimal value of the software and hardware quota of the input and output control unit under the target disk topology structure. Finally, the optimal value of the software and hardware quota is saved in the configuration data file so that these optimal configurations can be directly loaded when the system is running to improve system performance and stability. The above solution can facilitate the function debugging and performance tuning of the disk array card hardware and software collaboration by uniformly managing the configuration data files at the firmware layer, give full play to the advantages of hardware acceleration and software acceleration, and obtain the optimal performance of the disk array card.

[0068] See also Figure 5 As shown, the embodiment of the present application discloses a specific disk array card performance tuning configuration method. Compared with the previous embodiment, this embodiment further illustrates and optimizes the technical solution. Specifically, it includes:

[0069] Step S21: obtaining a pre-saved configuration data file from the firmware layer of the disk array card, and using the configuration data file to initialize the configuration of each firmware system in the disk array card.

[0070] Step S22: If the parameter to be modified is the software and hardware quota of the input and output control unit, then under the currently set target disk topology, the first software and hardware quota value is taken out from the target array, and the current software and hardware quota of the input and output control unit is set using the first software and hardware quota value.

[0071] In this embodiment, it should be pointed out first that the software and hardware quota values ​​are multiple proportional values ​​obtained after pre-configuring the required resources between the software and hardware based on the number of available resources in the input and output control unit, and the software and hardware quota values ​​are stored in the target array pre-created in the firmware layer. That is, the application pre-configures the required resources between the software and hardware based on the number of available resources in the input and output control unit to obtain multiple proportional values, and stores them using an array. Therefore, when modifying the parameters, the first software and hardware quota value is first taken out from the target array, and the first software and hardware quota value is used to set the current software and hardware quota of the input and output control unit.

[0072] Step S23: executing a test case corresponding to the current software and hardware quota to obtain a first system performance indicator value.

[0073] In this embodiment, after the current software and hardware quota of the input and output control unit is set, a test case corresponding to the current software and hardware quota is executed to obtain a first system performance indicator value.

[0074] Step S24: traverse the target array to take out the next software and hardware quota value from the target array, and use the next software and hardware quota value to set the current software and hardware quota of the input and output control unit, and then execute the test case corresponding to the current software and hardware quota to obtain the second system performance indicator value.

[0075] In this embodiment, the target array is traversed continuously to take out the next software and hardware quota value from the target array, and the current software and hardware quota of the input and output control unit is set using the next software and hardware quota value, and then the test case corresponding to the current software and hardware quota is executed to obtain the second system performance index value. In a specific implementation, the present application can sequentially take out different software and hardware quota values ​​according to the storage order of the software and hardware quota values ​​in the array to set the current software and hardware quota of the input and output control unit, and then execute the corresponding test case to obtain the system performance index value; in another specific implementation, different software and hardware quota values ​​can also be taken out randomly or according to custom rules to set the current software and hardware quota of the input and output control unit, and this embodiment does not limit this.

[0076] Step S25: Determine whether there are any untraversed software and hardware quota values ​​in the target array. If so, jump back to the step of traversing the target array to retrieve the next software and hardware quota value from the target array until all software and hardware quota values ​​in the target array are traversed.

[0077] In this embodiment, it is determined whether there are any untraversed software and hardware quota values ​​in the target array. If so, the above steps are repeated until all software and hardware quota values ​​in the target array are traversed.

[0078] Step S26: Modify the current software and hardware quota based on the system performance indicator value to obtain the optimal software and hardware quota value of the input and output control unit under the target disk topology structure, and save the optimal software and hardware quota value to the configuration data file so that the optimal software and hardware quota value in the configuration data file can be loaded when each firmware system is running.

[0079] In this embodiment, all the system performance index values ​​obtained above are used to modify the current software and hardware quotas to obtain the optimal software and hardware quota values ​​of the input and output control unit under the target disk topology. Finally, the optimal software and hardware quota values ​​are saved in the configuration data file so that these optimal configurations can be directly loaded when the system is running to improve system performance and stability.

[0080] Furthermore, the above method also includes: determining the number of types of disk topology structures in the landing subsystem according to the configuration data file; accordingly, if the number is multiple, after obtaining the optimal value of the software and hardware quota of the input-output control unit under the target disk topology structure, it also includes: resetting the current disk topology structure, and using the new disk topology structure as the target disk topology structure, and then jumping to the step of setting the current software and hardware quota of the input-output control unit using the software and hardware quota values ​​in the configuration data file, so as to obtain the optimal value of the software and hardware quota of the input-output control unit under different disk topologies. It can be understood that, assuming that the landing subsystem has n types of disk topologies, one disk topology structure is set each time, and the above steps are repeated, so that the optimal values ​​of the software and hardware quota of the input-output control unit corresponding to the n types of disk topologies can be finally obtained.

[0081] For a more specific processing procedure of the above step S21, reference may be made to the corresponding contents disclosed in the above embodiments, which will not be described in detail here.

[0082] The following takes the parameter optimization process of the software and hardware available quota parameters of the IO data control unit in the RAID acceleration unit as an example to explain the above solution in detail. Figure 6 As shown:

[0083] The first step is to set the working mode of the RAID host interface to the hybrid working mode. In the hybrid working mode, the RAID control method in the RAID acceleration unit is mainly hardware acceleration, supplemented by software acceleration, and the software and hardware work together to complete the RAID acceleration function.

[0084] The second step is to determine the number of available resources of the IO data control unit in the RAID acceleration unit, and determine the software and hardware quota values ​​of the IO data control unit as (x0, x1, ..., xm).

[0085] The third step is to set the plate landing system parameters. A set of plate landing system parameters can be configured according to the plate topology.

[0086] The fourth step is to set the software and hardware quotas of the IO data control unit in the RAID acceleration unit.

[0087] Step 5: Execute the integration test related to the configuration item to obtain the performance indicator value. If the software and hardware quota values ​​(x0, x1, ..., xm) of the IO data control unit have not been traversed, repeat steps 4 and 5, modify the software and hardware quotas and execute the integration test case.

[0088] In the sixth step, based on the relationship between the performance index and the hardware and software quota of the IO data control unit, the optimal value of the hardware and software quota of the IO data control unit under a certain disk topology can be calculated and saved in the configuration data file. Assuming that the sub-system has n disk topologies (p1, p2, …, pn), each time a disk topology is set, and steps 3 to 6 are repeated, the optimal value of the hardware and software quota of the IO data control unit corresponding to the n disk topologies can be finally obtained.

[0089] It can be seen that this application proposes a performance tuning configuration method for a RAID card, which uniformly configures the available parameter values ​​of the hardware IP and software modules at the firmware layer, which not only facilitates the functional debugging and performance tuning of the RAID card's hardware and software collaboration, but also optimizes resource allocation and gives full play to the advantages of hardware acceleration and software acceleration, thereby obtaining the optimal performance of the RAID card.

[0090] See also Figure 7 As shown, the embodiment of the present application discloses a performance tuning configuration device for a disk array card, the device comprising:

[0091] The initialization configuration module 11 is used to obtain a pre-saved configuration data file from the firmware layer of the disk array card, so as to use the configuration data file to initialize the configuration of each firmware system in the disk array card;

[0092] The test module 12 is used for setting the current software and hardware quota of the input and output control unit by using the software and hardware quota value in the configuration data file under the currently set target disk topology structure if the parameter to be corrected is the software and hardware quota of the input and output control unit, and executing the test case corresponding to the current software and hardware quota to obtain the system performance indicator value;

[0093] The parameter correction module 13 is used to correct the current software and hardware quota based on the system performance indicator value to obtain the optimal software and hardware quota value of the input and output control unit under the target disk topology structure, and save the optimal software and hardware quota value to the configuration data file so that the optimal software and hardware quota value in the configuration data file can be loaded when each firmware system is running.

[0094] It can be seen that the present application obtains a pre-saved configuration data file from the firmware layer of the disk array card, and uses the configuration data file to initialize the configuration of each firmware system in the disk array card; if the parameter to be modified is the software and hardware quota of the input and output control unit, then under the currently set target disk topology structure, the current software and hardware quota of the input and output control unit is set using the software and hardware quota value in the configuration data file, and the test case corresponding to the current software and hardware quota is executed to obtain the system performance index value; based on the system performance index value, the current software and hardware quota is modified to obtain the optimal value of the software and hardware quota of the input and output control unit under the target disk topology structure, and the optimal value of the software and hardware quota is saved to the configuration data file, so that the optimal value of the software and hardware quota in the configuration data file is loaded when each of the firmware systems is running.

[0095] Beneficial effect: In this application, the firmware layer uniformly manages and saves configuration data files, making the functional debugging of software and hardware collaboration more convenient and reducing the debugging time and cost. In this scheme, the configuration data file obtained from the firmware layer of the disk array card is first used to initialize the configuration of each firmware system in the disk array card. Furthermore, if the parameter to be corrected is the software and hardware quota of the input and output control unit, the software and hardware quota value in the configuration data file is used to set the current software and hardware quota of the input and output control unit under the currently set target disk topology structure, and the test case corresponding to the current software and hardware quota is executed to obtain the system performance index value, and then based on the relationship between the system performance index and the software and hardware quota, the current software and hardware quota is corrected using the obtained system performance index value to obtain the optimal value of the software and hardware quota of the input and output control unit under the target disk topology structure. Finally, the optimal value of the software and hardware quota is saved in the configuration data file so that these optimal configurations can be directly loaded when the system is running to improve system performance and stability. The above solution can facilitate the function debugging and performance tuning of the disk array card hardware and software collaboration by uniformly managing the configuration data files at the firmware layer, give full play to the advantages of hardware acceleration and software acceleration, and obtain the optimal performance of the disk array card.

[0096] Since the embodiments of the device part correspond to the embodiments of the method part, the embodiments of the device part refer to the description of the embodiments of the method part, which will not be described here. In addition, the method has the same beneficial effects as the above-mentioned disk array card performance tuning configuration method.

[0097] Figure 8A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Specifically, it may include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 is used to store a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the performance tuning configuration method of the disk array card executed by the electronic device disclosed in any of the aforementioned embodiments.

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

[0099] Among them, the processor 21 may include one or more processing cores, such as a 4-core processor, an 8-core processor, etc. The processor 21 can be implemented in at least one hardware form of DSP (Digital Signal Processing), FPGA (Field-Programmable Gate Array), and PLA (Programmable Logic Array). The processor 21 may also include a main processor and a coprocessor. The main processor is a processor for processing data in the awake state, also known as a CPU (Central Processing Unit); the coprocessor is a low-power processor for processing data in the standby state. In some embodiments, the processor 21 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the display screen. In some embodiments, the processor 21 may also include an AI (Artificial Intelligence) processor, which is used to process computing operations related to machine learning.

[0100] In addition, the memory 22, as a carrier for storing resources, can be a read-only memory, a random access memory, a disk or an optical disk, etc. The resources stored thereon include an operating system 221, a computer program 222 and data 223, etc. The storage method can be temporary storage or permanent storage.

[0101] The operating system 221 is used to manage and control the hardware devices and computer programs 222 on the electronic device 20, so as to realize the operation and processing of the massive data 223 in the memory 22 by the processor 21, which can be Windows, Unix, Linux, etc. In addition to including a computer program that can be used to complete the performance tuning configuration method of the disk array card executed by the electronic device 20 disclosed in any of the aforementioned embodiments, the computer program 222 can further include a computer program that can be used to complete other specific tasks. In addition to data transmitted from an external device received by the electronic device, the data 223 can also include data collected by its own input and output interface 25.

[0102] Furthermore, an embodiment of the present application also discloses a computer-readable storage medium, in which a computer program is stored. When the computer program is loaded and executed by a processor, the performance tuning configuration method steps of the disk array card disclosed in any of the aforementioned embodiments are implemented.

[0103] Furthermore, an embodiment of the present application also discloses a computer program product, including a computer program / instruction, which, when executed by a processor, implements the steps of the performance tuning configuration method for the disk array card disclosed in any of the aforementioned embodiments.

[0104] In this specification, each embodiment is described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the 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, and the relevant parts can be referred to the method part.

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

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

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

[0108] The above is a detailed introduction to the performance tuning configuration method, device, equipment and storage medium of a disk array card provided by the present invention. Specific examples are used in this article to illustrate the principle and implementation of the present invention. The description of the above embodiments is only used to help understand the method and core idea of ​​the present invention. At the same time, for those skilled in the art, according to the idea of ​​the present invention, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as limiting the present invention.

Claims

1. A method for optimizing the performance of a disk array card, characterized in that: include: Acquire a pre-saved configuration data file from the firmware layer of the disk array card, and use the configuration data file to initialize and configure each firmware system in the disk array card; If the parameter to be corrected is the software and hardware quota of the input and output control unit, then under the currently set target disk topology, the current software and hardware quota of the input and output control unit is set using the software and hardware quota value in the configuration data file, and the test case corresponding to the current software and hardware quota is executed to obtain the system performance indicator value; The current software and hardware quotas are modified based on the system performance indicator value to obtain the optimal software and hardware quota value of the input and output control unit under the target disk topology structure, and the optimal software and hardware quota value is saved to the configuration data file so that the optimal software and hardware quota value in the configuration data file can be loaded when each firmware system is running.

2. The method for optimizing the performance of a disk array card according to claim 1, wherein: A firmware configuration module for uniformly managing the configuration data files is provided in the firmware layer of the disk array card; Correspondingly, the step of obtaining a pre-saved configuration data file from the firmware layer of the disk array card to initialize and configure each firmware system in the disk array card using the configuration data file includes: The configuration data file pre-saved in the firmware configuration module is loaded into a preset global data area, so that each firmware system in the disk array card reads the configuration data file from the global data area through a corresponding interface, so as to use the configuration data file to complete the local initialization configuration.

3. The performance tuning configuration method of the disk array card according to claim 2, characterized in that: The firmware system includes a core control system responsible for controlling bus devices and processing data, an auxiliary control system responsible for system and interface communication, firmware upgrades and system debugging control, a disk array card control system responsible for user command processing and product form setting, a power management system responsible for power supply, a power-off protection and recovery system responsible for data protection in the event of abnormal power-off of the system and data recovery in the event of power-on of the system, and a boot system responsible for loading the firmware system to start up.

4. The performance tuning configuration method of the disk array card according to claim 1, characterized in that: The configuration data file includes host interface parameters, acceleration unit parameters of the disk array card and landing subsystem parameters; wherein the host interface parameters include the host interface mode, the number of physical functions and the size of direct memory access; the acceleration unit parameters include the number of input and output control units, the working mode, the available memory size and the input and output timeout; the landing subsystem parameters include the number of bus port extensions, the bus port extension mode, the root complex switch, the number of channels between the root complex and other bus devices, and the number of disks.

5. The performance tuning configuration method of the disk array card according to claim 1, characterized in that: The software and hardware quota values ​​are multiple proportional values ​​obtained by pre-configuring the required resources between the software and hardware based on the available resource quantity in the input and output control unit, and the software and hardware quota values ​​are stored in the target array pre-created in the firmware layer; Correspondingly, the setting of the current software and hardware quota of the input and output control unit by using the software and hardware quota values ​​in the configuration data file, and executing the test case corresponding to the current software and hardware quota to obtain the system performance index value includes: Taking out a first software and hardware quota value from the target array, and using the first software and hardware quota value to set the current software and hardware quota of the input and output control unit; Execute a test case corresponding to the current software and hardware quota to obtain a first system performance indicator value; Traversing the target array to retrieve a next software and hardware quota value from the target array, and using the next software and hardware quota value to set the current software and hardware quota of the input and output control unit, and then executing a test case corresponding to the current software and hardware quota to obtain a second system performance indicator value; Determine whether there are any untraversed software and hardware quota values ​​in the target array. If so, jump back to the step of traversing the target array to retrieve the next software and hardware quota value from the target array until all software and hardware quota values ​​in the target array are traversed.

6. The performance tuning configuration method of the disk array card according to claim 1, characterized in that: Also includes: Determining the number of types of disk topology structures in the landing disk system according to the configuration data file; Correspondingly, if the number is multiple, after obtaining the optimal value of the software and hardware quota of the input and output control unit under the target disk topology structure, the method further includes: Reset the current disk topology structure, and use the new disk topology structure as the target disk topology structure, and then jump to the step of setting the current software and hardware quota of the input and output control unit using the software and hardware quota values ​​in the configuration data file to obtain the optimal software and hardware quota value of the input and output control unit under different disk topologies.

7. The method for configuring the performance optimization of a disk array card according to any one of claims 1 to 6, characterized in that: Also includes: If the parameter to be modified is a target function parameter that does not affect the startup process, the target function parameter is modified through the target serial port or the preset interface extension command during the operation of each firmware system.

8. A performance tuning configuration device for a disk array card, characterized in that: include: An initialization configuration module, used to obtain a pre-saved configuration data file from the firmware layer of the disk array card, so as to initialize and configure each firmware system in the disk array card using the configuration data file; A test module, for setting the current software and hardware quota of the input and output control unit by using the software and hardware quota values ​​in the configuration data file under the currently set target disk topology if the parameter to be corrected is the software and hardware quota of the input and output control unit, and executing the test case corresponding to the current software and hardware quota to obtain the system performance indicator value; A parameter correction module is used to correct the current software and hardware quota based on the system performance indicator value to obtain the optimal software and hardware quota value of the input and output control unit under the target disk topology structure, and save the optimal software and hardware quota value to the configuration data file so that the optimal software and hardware quota value in the configuration data file can be loaded when each firmware system is running.

9. An electronic device, characterized in that: include: Memory, used to store computer programs; The processor is used to execute the computer program to implement the steps of the performance tuning configuration method of the disk array card as described in any one of claims 1 to 7.

10. A computer-readable storage medium, characterized in that: Used to store computer programs; wherein, when the computer program is executed by a processor, the steps of the performance tuning configuration method for a disk array card as described in any one of claims 1 to 7 are implemented.

Citation Information

Cited By

  • Resource allocation isolation system and method of heterogeneous operating system, and storage medium

    CN120429110A

  • A resource allocation isolation system and method for heterogeneous operating systems, storage medium

    CN120429110B