CN118708135B - Storage space adjusting method and device, storage medium and electronic equipment - Google Patents
Storage space adjusting method and device, storage medium and electronic equipment Download PDFInfo
- Publication number
- CN118708135B CN118708135B CN202411210911.7A CN202411210911A CN118708135B CN 118708135 B CN118708135 B CN 118708135B CN 202411210911 A CN202411210911 A CN 202411210911A CN 118708135 B CN118708135 B CN 118708135B
- Authority
- CN
- China
- Prior art keywords
- storage space
- target
- performance
- disk array
- space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
- G06F3/0622—Securing storage systems in relation to access
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
- G06F3/0689—Disk arrays, e.g. RAID, JBOD
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
The embodiment of the application provides a storage space adjusting method, a storage medium and electronic equipment, wherein the method comprises the steps of receiving a firmware updating request, responding to the firmware updating request, detecting target performance parameters of a disk array card, detecting target adjusting parameters of a first storage space according to the target performance parameters, wherein the target adjusting parameters are used for indicating target adjusting directions and target storage capacities of the first storage space, adjusting the first storage space by using a second storage space according to the target adjusting parameters to obtain a target memory space divided into a third storage space and a fourth storage space, and storing target firmware files corresponding to the firmware updating request into the third storage space. The application solves the problem of lower efficiency of upgrading the disk array card, thereby achieving the effect of improving the efficiency of upgrading the disk array card.
Description
Technical Field
The embodiment of the application relates to the field of computers, in particular to a method and a device for adjusting a storage space, a storage medium and electronic equipment.
Background
At present, a general disk array card can divide a fixed memory space into a memory space as a cache space, and under the firmware upgrading scene of the disk array card, a part of the cache space can be occupied, so that the cache space cannot meet the optimal performance requirement under the working load, for example, under the condition that the disk array card is under high load, if the cache space is insufficient for processing concurrent access requests, the situation that data is lost or inconsistent can occur, and the integrity and consistency of the data are endangered.
Aiming at the problems of low efficiency of upgrading the disk array card and the like in the related technology, no effective solution is proposed yet.
Disclosure of Invention
The embodiment of the application provides a method and a device for adjusting storage space, a storage medium and electronic equipment, which are used for at least solving the problem of lower efficiency of upgrading a disk array card in the related technology.
According to an embodiment of the present application, there is provided a method for adjusting a storage space, applied to a processor disposed in a disk array card, the disk array card including a target memory space and a target flash memory space, the target memory space being divided into a first storage space and a second storage space, the first storage space being used for receiving a firmware file of the disk array card and transmitting the firmware file passing a verification to the target flash memory space, the target flash memory space being used for updating firmware of the disk array card using the firmware file, the method comprising:
Receiving a firmware update request, wherein the firmware update request is used for requesting to execute firmware update operation on the disk array card;
Responding to the firmware update request, and detecting target performance parameters of the disk array card, wherein the target performance parameters are used for indicating the read-write performance of the disk array card at the current moment;
Detecting a target adjustment parameter of the first storage space according to the target performance parameter, wherein the target adjustment parameter is used for indicating a target adjustment direction and a target storage capacity of the first storage space;
adjusting the first storage space by using the second storage space according to the target adjustment parameter to obtain the target memory space divided into a third storage space and a fourth storage space;
and storing the target firmware file corresponding to the firmware update request into the third storage space, wherein the third storage space is used for receiving the target firmware file and sending the verified target firmware file to the target flash memory space.
In an exemplary embodiment, the detecting the target performance parameter of the disk array card includes controlling a monitoring tool to obtain the number of times of reading and writing of the disk array card per second, a bandwidth parameter and a delay parameter at the current moment, wherein the monitoring tool is used for calling an application programming interface provided by a driver of the disk array card to obtain the number of times of reading and writing of the disk array card per second, the bandwidth parameter and the delay parameter, and receiving the number of times of reading and writing of the disk array card per second, the bandwidth parameter and the delay parameter transmitted by the monitoring tool as the target performance parameter of the disk array card.
In one exemplary embodiment, the detecting the target adjustment parameter of the first storage space according to the target performance parameter includes detecting a performance change rate of the first storage space according to the target performance parameter and an initial performance parameter of the disk array card, wherein the initial performance parameter is used for indicating a read-write performance of the disk array card at a time immediately before the current time, the performance change rate is used for indicating a change speed of the read-write performance of the disk array card in a unit time, and detecting the target adjustment direction and the target storage capacity of the first storage space according to the performance change rate and the initial storage capacity of the first storage space as the target adjustment parameter, wherein the initial storage capacity is used for indicating a size of the first storage space at the current time.
In an exemplary embodiment, the detecting the performance change rate of the first storage space according to the target performance parameter and the initial performance parameter of the disk array card includes obtaining the initial performance parameter of the disk array card, inputting the target performance parameter and the initial performance parameter into a target detection model to obtain the performance change rate output by the target detection model, wherein the target detection model is used for detecting a target read-write performance corresponding to the target performance parameter according to a linear relation between the performance parameter and a read-write performance, calculating a change rate of the target read-write performance relative to the initial read-write performance, and outputting the change rate as the performance change rate, and the initial read-write performance is the read-write performance corresponding to the initial performance parameter detected according to the linear relation between the performance parameter and the read-write performance at the last moment.
In one exemplary embodiment, before the inputting the target performance parameter and the initial performance parameter into the target detection model to obtain the performance change rate output by the target detection model, the method further comprises obtaining a training data set of the disk array card, wherein the training data set comprises historical performance parameters of the disk array card at a plurality of historical moments and read-write performance of the disk array card at each of the plurality of historical moments: Wherein, the method comprises the steps of, wherein, For indicating the linear relation between the performance parameter and the read-write performance of the disk array card, wherein I is the read-write performance of the disk array card,As an initial value of the read-write performance of the disk array card,To the point ofFor the performance parameters of the disk array card,To the point ofAnd training the initial detection model by using the training data set until the coefficient corresponding to each performance parameter in the initial detection model is obtained, and determining the initial detection model with the coefficient corresponding to each performance parameter as the target detection model.
In one exemplary embodiment, the detecting the target adjustment direction and the target storage capacity of the first storage space as the target adjustment parameters according to the performance change rate and the initial storage capacity of the first storage space includes detecting the initial storage capacity of the first storage space, detecting the target adjustment direction of the first storage space according to the performance change rate, and calculating the target storage capacity of the first storage space according to the performance change rate and the initial storage capacity, wherein the target adjustment direction is used for indicating that storage space is released for the first storage space or storage space is allocated for the first storage space, and the target storage capacity is proportional to the performance change rate.
In one exemplary embodiment, the detecting the target adjustment direction of the first storage space according to the performance change rate includes determining the target adjustment direction to allocate storage space to the first storage space if the performance change rate is greater than 0, determining the target adjustment direction to free storage space in the first storage space if the performance change rate is less than or equal to 0, and calculating the target storage capacity of the first storage space according to the performance change rate and the initial storage capacity includes substituting the performance change rate and the initial storage capacity into the following formula to calculate the target storage capacity C: Wherein, the method comprises the steps of, wherein, For the initial storage capacity, R is the performance rate of change.
In an exemplary embodiment said adjusting said first memory space using said second memory space according to said target adjustment parameter to obtain said target memory space divided into a third memory space and a fourth memory space comprises detecting an adjustment amount of said first memory space based on an initial memory capacity of said first memory space and said target memory capacity, wherein said initial memory capacity is indicative of a size of said first memory space at said current moment, said adjustment amount is equal to a difference between said initial memory capacity and said target memory capacity, said second memory space is used to indicate that said first memory space is allocated with said second memory space, said target memory space divided into said third memory space and said fourth memory space is obtained when said target memory space is allocated with said second memory space, wherein said third memory space is said first memory space, said fourth memory space is said release amount of said first memory space, said second memory space is said release amount of said first memory space, said second memory space is allocated with said second memory space, the fourth storage space is the second storage space to which the adjustment amount of storage space is added.
In an exemplary embodiment, the allocating the adjusted memory space for the first memory space using the second memory space to obtain the target memory space divided into the third memory space and the fourth memory space when the target adjustment parameter is used to indicate that the second memory space is used to allocate the memory space for the first memory space, includes calling an allocation function to allocate the adjusted memory space for the first memory space, wherein the allocation function includes the adjusted memory space, and combining the adjusted memory space allocated for the first memory space and the first memory space into the third memory space to obtain the target memory space divided into the third memory space and the fourth memory space.
In an exemplary embodiment, the target memory space divided into the third memory space and the fourth memory space is obtained by using the second memory space to release the adjusted memory space for the first memory space under the condition that the target adjustment parameter is used for indicating that the second memory space is used for releasing the memory space for the first memory space, and the method comprises the steps of detecting a target starting address of the memory space of the adjusted memory space allowed to be released in the first memory space, calling a release function to release the adjusted memory space from the first memory space, wherein the release function carries the adjusted memory space and the target starting address of the memory space to be released in the first memory space, and determining the first memory space released with the adjusted memory space as the third memory space to obtain the target memory space divided into the third memory space and the fourth memory space.
In an exemplary embodiment, before the target adjustment parameter of the first storage space is detected according to the target performance parameter, the method further comprises defining a node structure body and a least recently used cache structure body, wherein the node structure body is used for defining the first storage space and the second storage space divided in a target memory space, the least recently used cache structure body is used for selecting the storage space with the use frequency smaller than a frequency threshold value to execute a release operation when the storage space in the target memory space needs to be released, and calling an initializing least recently used cache function to create the first storage space in the target memory space, wherein the initializing least recently used cache function carries the internal storage quantity of the first storage space and pointers to the head part and the tail part of a linked list of the first storage space.
According to another embodiment of the present application, there is provided an adjustment apparatus for a storage space, applied to a processor disposed in a disk array card, the disk array card including a target memory space and a target flash memory space, the target memory space being divided into a first storage space and a second storage space, the first storage space being used for receiving a firmware file of the disk array card and transmitting the firmware file passing a verification to the target flash memory space, the target flash memory space being used for updating firmware of the disk array card with the firmware file, the apparatus comprising:
the receiving module is used for receiving a firmware update request, wherein the firmware update request is used for requesting to execute firmware update operation on the disk array card;
The first detection module is used for responding to the firmware update request and detecting target performance parameters of the disk array card, wherein the target performance parameters are used for indicating the read-write performance of the disk array card at the current moment;
The second detection module is used for detecting target adjustment parameters of the first storage space according to the target performance parameters, wherein the target adjustment parameters are used for indicating target adjustment directions and target storage capacities of the first storage space;
The adjusting module is used for adjusting the first storage space by using the second storage space according to the target adjusting parameter to obtain the target memory space divided into a third storage space and a fourth storage space;
And the storage module is used for storing the target firmware file corresponding to the firmware update request into the third storage space, wherein the third storage space is used for receiving the target firmware file and sending the target firmware file passing the verification into the target flash memory space.
According to a further embodiment of the application, there is also provided a computer readable storage medium having stored therein a computer program, wherein the computer program is arranged to perform the steps of any of the method embodiments described above when run.
According to a further embodiment of the application there is also provided an electronic device comprising a memory having stored therein a computer program and a processor arranged to run the computer program to perform the steps of any of the method embodiments described above.
According to a further embodiment of the application, there is also provided a computer program product comprising a computer program which, when executed by a processor, implements the steps of any of the method embodiments described above.
The method comprises the steps of receiving a firmware update request, responding to the firmware update request, detecting target performance parameters of the disk array card, detecting target adjustment parameters of a first storage space according to the target performance parameters, adjusting the first storage space according to the target adjustment parameters by using a second storage space to obtain a target memory space divided into a third storage space and a fourth storage space, and storing target firmware files corresponding to the firmware update request into the third storage space, wherein the target performance parameters are used for indicating read-write performance of the disk array card at the current moment, and the third storage space is used for receiving target firmware files and sending the verified target firmware files to the target flash memory space. That is, the first storage space is adjusted according to the read-write performance of the disk array card at the current moment, so that the third storage space allows the firmware file of the disk array card to be received and the validated firmware file to be sent to the target flash memory space, therefore, the problem of lower upgrading efficiency of the disk array card can be solved, and the effect of improving the upgrading efficiency of the disk array card is achieved.
Drawings
Fig. 1 is a hardware block diagram of a server device of a method for adjusting a storage space according to an embodiment of the present application;
FIG. 2 is a flow chart of a method of adjusting storage space according to an embodiment of the application;
FIG. 3 is a flow chart of a training process of an initial detection model according to an embodiment of the present application;
FIG. 4 is a schematic diagram of a method of managing storage space according to an embodiment of the present application;
FIG. 5 is a schematic diagram of a firmware upgrade process according to an embodiment of the present application;
FIG. 6 is a schematic illustration of a process for adjusting a target memory space according to an embodiment of the application;
FIG. 7 is a schematic diagram of a RAID card and host interaction process according to an embodiment of the present application;
FIG. 8 is a flow chart of a firmware upgrade process according to an embodiment of the present application;
FIG. 9 is a block diagram of a memory space adjusting apparatus according to an embodiment of the present application;
Fig. 10 is a block diagram of an electronic device according to an embodiment of the present application.
Detailed Description
Embodiments of the present application will be described in detail below with reference to the accompanying drawings in conjunction with the embodiments.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present application and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order.
The method embodiments provided in the embodiments of the present application may be executed in a server apparatus or similar computing device. Taking the operation on the server device as an example, fig. 1 is a block diagram of a hardware structure of the server device according to a method for adjusting a storage space according to an embodiment of the present application. As shown in fig. 1, the server device may include one or more (only one is shown in fig. 1) processors 102 (the processor 102 may include, but is not limited to, a microprocessor MCU, a programmable logic device FPGA, or the like processing means) and a memory 104 for storing data, wherein the server device may further include a transmission device 106 for communication functions and an input-output device 108. It will be appreciated by those of ordinary skill in the art that the architecture shown in fig. 1 is merely illustrative and is not intended to limit the architecture of the server apparatus described above. For example, the server device may also include more or fewer components than shown in FIG. 1, or have a different configuration than shown in FIG. 1.
The memory 104 may be used to store a computer program, for example, a software program of application software and a module, such as a computer program corresponding to a method for adjusting a storage space in an embodiment of the present application, and the processor 102 executes the computer program stored in the memory 104 to perform various functional applications and data processing, that is, implement the above-mentioned method. Memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory remotely located with respect to the processor 102, which may be connected to the server device via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The transmission device 106 is used to receive or transmit data via a network. Specific examples of the network described above may include a wireless network provided by a communication provider of a server device. In one example, the transmission device 106 includes a network adapter (Network Interface Controller, simply referred to as a NIC) that can connect to other network devices through a base station to communicate with the internet. In one example, the transmission device 106 may be a Radio Frequency (RF) module, which is configured to communicate with the internet wirelessly.
In order to enable those skilled in the art to better understand the storage space adjustment method provided by the application, the disk array card and the firmware upgrade scene of the disk array card are described as follows:
Disk array card the disk array card combines several independent physical hard disks according to different modes to form a logic hard disk so as to raise storage performance and raise data redundancy technology and implement faster I/O (Input/Output) processing.
Firmware update-firmware update is to update the software program of the device by installing a new firmware version, and the firmware update can also improve the function of the device, repair vulnerabilities and errors, and introduce new functions.
In the related art, when updating the firmware of the disk array card online, the process of issuing a firmware update command and downloading a firmware file needs to be completed online by a host end, the firmware file is issued to the disk array card in packets through an NVMe (Non Volatile Memory Express, non-volatile memory host controller interface specification) command, the firmware file is stored in a cache space (i.e., a first storage space) in a target memory space of the disk array card by the disk array card, and after the process of integrity check and signature check in the cache space, the firmware file is written into a target flash memory space of the disk array card from the cache space, so as to complete the firmware update process of the disk array card.
When a user issues an I/O through a logical hard disk of a disk array card combination, the I/O passes through a cache space of the disk array card and then reaches an actual physical hard disk, and when online firmware of the disk array card is updated, the process of rewriting the cache space into a corresponding nonvolatile medium is also performed, which may cause that read-write cache of the disk array card cannot simultaneously meet the optimal performance requirement under the workload, which means that if the cache space is set too small, performance degradation may be caused, and an acceleration effect provided by the cache cannot be fully utilized, otherwise, if the cache space is set too large, resources are wasted, overfilling of the cache space may be caused, and delay is increased.
In order to solve the problems, the method for adjusting the storage space provided by the application reduces the influence of firmware update of the disk array card on the user I/O, dynamically adjusts the cache in real time by using the read-write performance of the disk array card at the current moment in the process of firmware update, improves the I/O read-write performance of the disk array card during firmware update to the maximum extent, reduces the influence of the firmware update on the user service, and simultaneously, can optimize according to the actual situation and improves the overall performance of the disk array card because the read-write cache size of the disk array card is dynamically adjusted.
In this embodiment, a method for adjusting a storage space is provided, which is applied to a processor deployed in a disk array card, where the disk array card includes a target memory space and a target flash memory space, where the target memory space is divided into a first storage space and a second storage space, the first storage space is used to receive a firmware file of the disk array card and send the firmware file passing a verification to the target flash memory space, and the target flash memory space is used to update the firmware of the disk array card with the firmware file, and fig. 2 is a flowchart of a method for adjusting a storage space according to an embodiment of the present application, as shown in fig. 2, the flowchart includes the following steps:
Step S202, receiving a firmware update request, wherein the firmware update request is used for requesting to execute firmware update operation on the disk array card;
step S204, responding to the firmware update request, and detecting a target performance parameter of the disk array card, wherein the target performance parameter is used for indicating the read-write performance of the disk array card at the current moment;
Step S206, detecting a target adjustment parameter of the first storage space according to the target performance parameter, wherein the target adjustment parameter is used for indicating a target adjustment direction and a target storage capacity of the first storage space;
step S208, the first storage space is adjusted by using the second storage space according to the target adjustment parameter, so as to obtain the target memory space divided into a third storage space and a fourth storage space;
Step S210, storing the target firmware file corresponding to the firmware update request in the third storage space, where the third storage space is configured to receive the target firmware file and send the target firmware file that passes the verification to the target flash memory space.
The method comprises the steps of receiving a firmware update request, responding to the firmware update request, detecting target performance parameters of the disk array card, detecting target adjustment parameters of a first storage space according to the target performance parameters, adjusting the first storage space according to the target adjustment parameters by using a second storage space to obtain a target memory space divided into a third storage space and a fourth storage space, and storing target firmware files corresponding to the firmware update request into the third storage space, wherein the target performance parameters are used for indicating read-write performance of the disk array card at the current moment, and the third storage space is used for receiving target firmware files and sending the target firmware files which pass through verification to the target flash memory space. That is, the first storage space is adjusted according to the read-write performance of the disk array card at the current moment, so that the third storage space allows the firmware file of the disk array card to be received and the validated firmware file to be sent to the target flash memory space, therefore, the problem of lower upgrading efficiency of the disk array card can be solved, and the effect of improving the upgrading efficiency of the disk array card is achieved.
In the technical solution provided in step S202, the first storage space is a buffer space divided from the target memory space, and the firmware file of the disk array card is received through the buffer space and the validated firmware file is sent to the storage space of the target flash memory space.
Alternatively, in this embodiment, the firmware update request may be, but is not limited to, sent to the processor in the disk array card in a variety of situations, such as when the user selects to check for updates and install firmware updates issued by the manufacturer through an operating system or a dedicated software interface, generate a firmware update request and send it to the processor in the disk array card, set the disk array card to automatically check for and download firmware updates, automatically download the disk array card once a new version is detected and send it to the processor in the disk array card if a configuration time is reached, and so on.
In the technical solution provided in step S204, one or more performance parameters for indicating the read-write performance of the disk array card at the current moment may be detected as the target performance parameters, where the target performance parameters may include, but are not limited to, the number of I/O requests processed by the disk array card in a unit time, the average read-write data volume of the disk array card in a unit time, the speed of processing a single I/O request by the disk array card, and so on.
Alternatively, in this embodiment, one or more performance parameters for indicating the read/write performance of the disk array card at the current moment may be detected in a variety of ways, for example, by using a performance monitoring tool built in the operating system to collect the performance parameters of the disk array card, using a performance monitoring tool of a third party to collect the performance parameters of the disk array card, and monitoring the performance parameters in real time through an API (Application Programming Interface ) interface provided by the operating system.
In one exemplary embodiment, the target performance parameters of the disk array card may be detected, but are not limited to, by controlling a monitoring tool to obtain the number of times of reading and writing of the disk array card per second, a bandwidth parameter and a delay parameter at the current moment, where the monitoring tool is used to call an application programming interface provided by a driver of the disk array card to obtain the number of times of reading and writing of the disk array card per second, the bandwidth parameter and the delay parameter, and receiving the number of times of reading and writing of the disk array card per second, the bandwidth parameter and the delay parameter transmitted by the monitoring tool as the target performance parameters of the disk array card.
Alternatively, in this embodiment, the monitoring tool may be, but not limited to, a performance monitoring tool built in the operating system, or may also be a performance monitoring tool of a third party, etc.
Optionally, in this embodiment, the monitoring tool obtains the IOPS (Input/Output Operations Per Second read/write times per second), the bandwidth parameter and the delay parameter of the disk array card at the current moment as the target performance parameters of the disk array card.
In the technical solution provided in step S206, the storage performance of the first storage space at the current time may be detected according to the target performance parameter, and then the storage performance of the first storage space at the current time may be compared with the storage performance of the first storage space at the previous time to determine the adjustment direction and the adjustment amount of the first storage space to obtain the target adjustment parameter. Or the adjustment direction and the adjustment amount of the first storage space, which are obtained by detecting the target performance parameter, may be compared with a set performance threshold to determine the adjustment direction and the adjustment amount of the first storage space to obtain the target adjustment parameter, for example, when the storage performance of the first storage space at the current time is smaller than or equal to the set first performance threshold, the adjustment direction is determined to be the storage space allocated to the first storage space, the adjustment amount of the first storage space is determined according to the difference between the storage performance of the first storage space at the current time and the first performance threshold, when the storage performance of the first storage space at the current time is greater than or equal to the set second performance threshold, the adjustment direction is determined to release the storage space in the first storage space, and the adjustment amount of the first storage space is determined according to the difference between the storage performance of the first storage space at the current time and the second performance threshold. The first performance threshold is smaller than the second performance threshold.
Alternatively, in this embodiment, the adjustment amount of the first storage space may be represented by, but not limited to, the size of the target adjustment parameter, and the adjustment direction of the first storage space may be represented by the positive and negative directions of the target adjustment parameter, for example, when the target adjustment parameter is +a, the adjustment amount of the first storage space is determined to be a, and when the adjustment direction of the first storage space is determined to be a storage space allocated to the first storage space, or when the target adjustment parameter is-B, the adjustment amount of the first storage space is determined to be B, and when the adjustment direction of the first storage space is determined to be a storage space released from the first storage space, and so on.
In one exemplary embodiment, the target adjustment parameter of the first storage space may be detected according to the target performance parameter, but is not limited to, by detecting a performance change rate of the first storage space according to the target performance parameter and an initial performance parameter of the disk array card, wherein the initial performance parameter is used for indicating a read-write performance of the disk array card at a time immediately before the current time, the performance change rate is used for indicating a change speed of the read-write performance of the disk array card in a unit time, and detecting the target adjustment direction and the target storage capacity of the first storage space as the target adjustment parameter according to the performance change rate and an initial storage capacity of the first storage space, wherein the initial storage capacity is used for indicating a size of the first storage space at the current time.
Alternatively, in this embodiment, the initial performance parameter may be calculated according to, but not limited to, the number of times of reading and writing per second, the bandwidth parameter, and the delay parameter of the disk array card at the last time, for example, the sum of the number of times of reading and writing per second, the bandwidth parameter, and the delay parameter of the disk array card at the last time is calculated as the initial performance parameter. Or calculating the weighted sum of the read-write times per second, the bandwidth parameter and the delay parameter of the disk array card at the last moment as an initial performance parameter and the like.
Alternatively, in the present embodiment, calculating the target performance parameter according to the number of times of reading and writing per second, the bandwidth parameter and the delay parameter of the disk array card at the current time may, but is not limited to, include calculating the sum of the number of times of reading and writing per second, the bandwidth parameter and the delay parameter of the disk array card at the current time as the target performance parameter. Or calculating the weighted sum of the read-write times per second, the bandwidth parameter and the delay parameter of the disk array card at the current moment as a target performance parameter and the like.
Alternatively, in the present embodiment, detecting the performance change rate of the first storage space according to the target performance parameter and the initial performance parameter of the disk array card may, but is not limited to, include calculating a change value of the target performance parameter compared to the initial performance parameter as the performance change rate of the first storage space. Or calculating the ratio of the change value of the target performance parameter compared with the initial performance parameter to the initial performance parameter as the performance change rate of the first storage space.
Alternatively, in the present embodiment, detecting the adjustment direction and the adjustment amount of the first storage space according to the performance change rate and the first memory amount of the first storage space as target adjustment parameters may include, but is not limited to, determining that the adjustment direction of the first storage space is to release the storage space from the first storage space if the performance change rate is a positive value, determining that the adjustment direction of the first storage space is to allocate the storage space for the first storage space if the performance change rate is a negative value, determining the adjustment amount of the first storage space according to the performance change rate and the first storage space, and the like.
In one exemplary embodiment, the performance change rate of the first storage space may be, but not limited to, detected according to the target performance parameter and an initial performance parameter of the disk array card by acquiring the initial performance parameter of the disk array card, inputting the target performance parameter and the initial performance parameter into a target detection model to obtain the performance change rate output by the target detection model, where the target detection model is configured to detect a target read-write performance corresponding to the target performance parameter according to a linear relationship between the performance parameter and a read-write performance, and calculate a change rate of the target read-write performance relative to the initial read-write performance as the performance change rate, where the initial read-write performance corresponds to the initial performance detected according to the linear relationship between the performance parameter and the read-write performance at the last time.
Alternatively, in the present embodiment, the object detection model may describe the linear relationship between the performance parameter and the read-write performance based on, but not limited to, a linear equation, which may include, but is not limited to, simple linear regression, multiple linear regression, a system of linear algebra equations, linear algebra, and the like.
In one exemplary embodiment, before the target performance parameter and the initial performance parameter are input into a target detection model to obtain the performance change rate output by the target detection model, the target detection model may be obtained by, but is not limited to, obtaining a training data set of the disk array card, where the training data set includes historical performance parameters of the disk array card at a plurality of historical moments and read-write performance of the disk array card at each of the plurality of historical moments, and constructing an initial detection model by the following formula: Wherein, the method comprises the steps of, wherein, For indicating the linear relation between the performance parameter and the read-write performance of the disk array card, wherein I is the read-write performance of the disk array card,As an initial value of the read-write performance of the disk array card,To the point ofFor the performance parameters of the disk array card,To the point ofAnd training the initial detection model by using the training data set until the coefficient corresponding to each performance parameter in the initial detection model is obtained, and determining the initial detection model with the coefficient corresponding to each performance parameter as the target detection model.
Alternatively, in this embodiment, the coefficient of each performance parameter in the initial detection model is trained through the training data set, and the coefficient of the performance parameter may be, but is not limited to, used to indicate the degree of influence of each performance parameter on the performance change rate.
In one exemplary embodiment, an example of a training process for an initial detection model is provided. FIG. 3 is a flow chart of a training process for an initial detection model, as shown in FIG. 3, according to an embodiment of the present application, which may be, but is not limited to, training the initial detection model until a target detection model is obtained by:
Step S302, collecting IOPS, bandwidth, delay and the like of a disk array card under historical time, wherein the data in a training data set needs to be as comprehensive and accurate as possible so as to improve the prediction accuracy;
Step S304, preprocessing the collected parameters such as IOPS, bandwidth, delay and the like, including removing abnormal values, filling missing data, performing data normalization and the like to obtain a training data set, and selecting the IOPS, bandwidth, delay of the disk array card in historical time as performance parameters of the disk array card;
step S306, constructing an initial detection model Wherein, the method comprises the steps of, wherein,I is the read-write performance of the disk array card,Is the initial value of the read-write performance of the disk array card,Is the IOPS of the disk array card,For the bandwidth of a disk array card,For the delay of the disk array card, t is a historical time under the historical time, t-1 is the last time of the historical time,The coefficient corresponding to the IOPS of the disk array card is used for indicating the influence degree of the IOPS on the performance change rate,The coefficient corresponding to the bandwidth of the disk array card is used for indicating the influence degree of the bandwidth on the performance change rate,The coefficient corresponding to the delay of the disk array card is used for indicating the influence degree of the delay on the performance change rate;
step S308, training the initial detection model by using the training data set until determining the coefficient corresponding to each performance parameter (i.e. 、And) And obtaining a target detection model.
It is noted that, for collecting the RAID card history performance data depends on different scenes of the RAID card, preprocessing needs to be performed on the data in combination with specific I/O scenes and history experience, so as to ensure that the data is as comprehensive and accurate as possible, and the coefficients of the features are trained by using a linear regression model, which can be determined by a least square regression analysis method, but is not limited to a method of determining coefficients of the model by using a sum of squares of residuals between actual observed values and model predicted values, and other regression analysis methods which allow implementation can also be selected to determine coefficients.
In one exemplary embodiment, the target adjustment direction and the target storage capacity of the first storage space may be, but are not limited to, detected as the target adjustment parameters based on the performance change rate and an initial storage capacity of the first storage space by detecting the initial storage capacity of the first storage space, detecting the target adjustment direction of the first storage space based on the performance change rate, and calculating the target storage capacity of the first storage space based on the performance change rate and the initial storage capacity, wherein the target adjustment direction is used to indicate that storage space is released for the first storage space or allocated for the first storage space, the target storage capacity being proportional to the performance change rate.
Optionally, in this embodiment, the size of the current storage space of the first storage space is detected as the initial storage capacity of the first storage space. The performance change rate is used for indicating the change condition of the storage performance of the first storage space at the current moment compared with the storage performance of the last moment, and when the performance change rate is larger than 0, the storage performance of the first storage space at the current moment is considered to be improved compared with the storage performance of the last moment, and when the performance change rate is smaller than 0, the storage performance of the first storage space at the current moment is considered to be reduced compared with the storage performance of the last moment.
Alternatively, in the present embodiment, detecting the target adjustment direction of the first storage space according to the performance change rate may, but is not limited to, determining the target adjustment direction to allocate the storage space to the first storage space in a case where the performance change rate is greater than or equal to a first threshold value, determining the target adjustment direction to release the storage space in the first storage space in a case where the performance change rate is less than or equal to a second threshold value, the first threshold value being greater than or equal to a second threshold value, or determining the target adjustment direction to allocate the storage space to the first storage space in a case where the performance change rate is greater than or equal to 0, and determining the target adjustment direction to release the storage space in the first storage space in a case where the performance change rate is less than 0.
Alternatively, in the present embodiment, calculating the target storage capacity of the first storage space from the performance change rate and the initial storage capacity may include, but is not limited to, calculating a sum of the initial storage capacity and a product of the performance change rate and the initial storage capacity as the target storage capacity, and the like.
In one exemplary embodiment, the target adjustment direction of the first storage space may be, but is not limited to, detected from the performance change rate by determining the target adjustment direction to allocate storage space to the first storage space if the performance change rate is greater than 0, determining the target adjustment direction to free storage space in the first storage space if the performance change rate is less than or equal to 0, and calculating the target storage capacity of the first storage space from the performance change rate and the initial storage capacity includes substituting the performance change rate and the initial storage capacity into the following formula to calculate the target storage capacity C: Wherein, the method comprises the steps of, wherein, For the initial storage capacity, R is the performance rate of change.
Optionally, in this embodiment, the I/O performance index is monitored in real time, the I/O performance index is input into a target detection model obtained by training, a corresponding performance change rate is output through the target detection model, a target storage capacity of the disk array card is detected in real time according to the performance change rate, and the storage capacity of the disk array card is dynamically adjusted, so that the disk array card is adjusted to achieve balanced read-write performance.
In the solution provided in step S208, the first storage space may be adjusted by using the second storage space according to the target adjustment direction and the target storage capacity indicated by the target adjustment parameter, to obtain the target memory space divided into the third storage space and the fourth storage space.
In one exemplary embodiment, the first storage space may be adjusted using the second storage space according to the target adjustment parameter, but is not limited to, to obtain the target memory space divided into a third storage space and a fourth storage space by detecting an adjustment amount of the first storage space according to an initial storage capacity of the first storage space and the target storage capacity, wherein the initial storage capacity is used for indicating a size of the first storage space at the current time, and the adjustment amount is equal to a difference between the initial storage capacity and the target storage capacity; the target memory space divided into the third memory space and the fourth memory space is obtained, wherein the third memory space is the first memory space to which the adjustment amount of memory space is added, the fourth memory space is the second memory space to which the adjustment amount of memory space is released, the target adjustment parameter is used for indicating that the adjustment amount of memory space is released for the first memory space using the second memory space, the adjustment amount of memory space is released for the first memory space using the second memory space to obtain the target memory space divided into the third memory space and the fourth memory space, the fourth storage space is the second storage space to which the adjustment amount of storage space is added.
Alternatively, in the present embodiment, a difference between the initial storage capacity and the target storage capacity is calculated as an adjustment amount of the first storage space, and the storage space is allocated for the first storage space according to the adjustment amount, or the storage space is released from the first storage space, for example, in the case where the target adjustment parameter is smaller than 0, the second storage space is used to allocate the storage space of the adjustment amount for the first storage space, the first storage space to which the storage space of the adjustment amount is added is determined as the third storage space, the storage space remaining in the target storage space is determined as the fourth storage space, in the case where the target adjustment parameter is larger than 0, the second storage space is used to release the storage space of the adjustment amount for the first storage space, the first storage space to which the adjustment amount is released is determined as the third storage space, and the storage space remaining in the target storage space is determined as the fourth storage space.
In an exemplary embodiment, the target memory space divided into the third memory space and the fourth memory space may be obtained by, but not limited to, calling an allocation function to allocate the memory space of the adjustment amount to the first memory space, where the allocation function includes the adjustment amount, and merging the memory space of the adjustment amount allocated to the first memory space and the first memory space into the third memory space, and obtaining the target memory space divided into the third memory space and the fourth memory space, where the target memory space is obtained by allocating the memory space of the adjustment amount to the first memory space using the second memory space and the first memory space.
Alternatively, in this embodiment, the second storage space may be requested to release the adjusted amount of storage space through the allocation function, and the adjusted amount of storage space released by the second storage space may be added to the first storage space to obtain the third storage space.
In an exemplary embodiment, the target memory space divided into the third memory space and the fourth memory space may be obtained by, but is not limited to, detecting a target start address of the memory space of the adjustment amount allowed to be released in the first memory space, calling a release function to release the memory space of the adjustment amount from the first memory space, wherein the release function carries the target start address of the adjustment amount and the memory space to be released in the first memory space, determining the first memory space of the memory space released with the adjustment amount as the third memory space, and obtaining the target memory space divided into the third memory space and the fourth memory space.
Alternatively, in this embodiment, the starting address of the storage space in which the data is not stored in the first storage space may be determined as the target starting address, or the starting address of the storage space in which the data is expired in the first storage space may be determined as the target starting address, or the like.
In one exemplary embodiment, before the target adjustment parameter of the first storage space is detected according to the target performance parameter, a node structure and a least recently used cache structure may be defined, wherein the node structure is used for defining the first storage space and the second storage space divided in a target memory space, the least recently used cache structure is used for selecting a storage space with a use frequency smaller than a frequency threshold to execute a release operation if the storage space in the target memory space needs to be released, and an initializing least recently used cache function is called to create the first storage space in the target memory space, wherein the initializing least recently used cache function carries the memory quantity of the first storage space and pointers to the head and tail of a linked list of the first storage space.
In one exemplary embodiment, an example of a method of managing storage space is provided. FIG. 4 is a schematic diagram of a method for managing storage space according to an embodiment of the present application, as shown in FIG. 4, where two data structures, a doubly linked list and a hash table, are used to implement storage space management, where the doubly linked list is used to maintain the most recently used order of cache items (i.e., data stored in the first storage space), the head (head) of the linked list stores the most recently used cache items, the tail (tail) stores the least recently used cache items, and when a cache item is accessed, it is moved to the head of the linked list, indicating that the most recently used item is removed from the tail of the linked list directly when a cache item needs to be retired to make room.
The hash table is used for fast locating the cache item, the Key is a unique identifier (such as Key1, key2 and the like) of the cache item, the value is a pointer pointing to a corresponding node in the doubly linked list, the hash table provides the lookup efficiency of O (1) time complexity, and the cache item can be accessed, updated or deleted fast.
In the firmware upgrading process, according to actual requirements and performances, the size of a buffer memory (namely a first storage space) is dynamically adjusted, namely, the buffer memory is adjusted to be (C 0+C0 x R) on the basis of an initial buffer memory C 0, a doubly linked list and a hash table are adjusted through application (malloc) and release (free) of a memory in a software architecture so as to achieve the purpose of adjusting the buffer memory, and by combining the doubly linked list and the hash table, the buffer memory space with the lowest utilization rate can be eliminated preferentially, the quick access of the buffer memory items is realized, and meanwhile, the use sequence of the buffer memory items is kept.
In one exemplary embodiment, an example of a firmware upgrade process is provided. Fig. 5 is a schematic diagram of a firmware upgrading process according to an embodiment of the present application, as shown in fig. 5, in which a disk array card is used as a RAID card, a first storage space is used as a cache, and a second storage space is used as a storage space except for the cache in a memory, where when firmware upgrading is performed on the RAID card, a process of issuing a firmware upgrading command and downloading a firmware package needs to be completed on line by a host side, the firmware file is issued to the RAID card in a subpacket manner through an NVMe command, and is stored in the cache by the RAID card, and after an integrity checking and signature checking process, the firmware file is written into a Flash firmware partition from the cache to complete the firmware upgrading process.
When a user issues I/O through a logical hard disk combined by RAID cards, the I/O is cached by the RAID cards and then written into a corresponding nonvolatile medium through the cache when online firmware of the RAID cards is upgraded, in order to reduce the influence on IO of the user during firmware upgrading and improve IO read-write performance of the RAID cards during firmware upgrading, the cache is dynamically regulated in real time according to the IO read-write performance change rate during RAID card firmware upgrading so as to achieve optimal IO read-write performance, and a pre-calculation algorithm is required to be used for predicting the read-write performance change rate of the RAID cards to analyze existing data and predict performance change during firmware upgrading.
In the related art, since the size of the cache is fixed in the design of the hardware architecture of the RAID card, and cannot be adjusted during the running of the software, which is related to factors such as complexity and cost limitation of the hardware design, and meanwhile, in order to ensure that the system can provide reliable performance and consistent results under different running environments and loads during the running of the RAID card system, the cache cannot be adjusted. In the method for adjusting the storage space, a special buffer dynamic adjustment model is designed for improving the I/O performance during firmware upgrading so as to realize the optimal performance during firmware upgrading, and particularly, the problem of performance degradation caused by the firmware upgrading process is solved under a high-load I/O scene.
It should be noted that, the above-mentioned buffer may be a Memory space opened up in the memories such as SDRAM (Synchronous Dynamic Random-Access Memory), DDR (Double Data Rate synchronous dynamic random Access Memory), etc., the software architecture needs to support the buffer to be adjustable, that is, the buffer can be adjusted by applying and releasing the Memory, and the characteristics of the buffer medium are all volatile storage mediums according to the board hardware architecture. The physical disc may be, but not limited to, HDD (HARD DISK DRIVE ), SSD (Solid STATE DRIVE, solid state disk), etc., and the specific interface type is determined by the hardware architecture, and the characteristics of the interface type are all nonvolatile storage media.
In the process of adjusting the read-write cache of the RAID card, the integrity and consistency of the data must be considered to prevent the occurrence of data damage, loss or inconsistency, and in the process of adjusting the cache of the RAID card, the consistency of the data can be ensured by using synchronous write operation, but not limited to, the synchronous write operation can wait for the data to be completely written into a disk and return a successful response, so that the inconsistency between the cache data and the disk data can be avoided, and meanwhile, the consistency between the cache data and the disk data can be checked in real time, and the possible data inconsistency can be repaired. In addition, during the process of adjusting the cache, the RAID card super capacitor must be ensured to be normal, so as to keep the data in the cache intact when power is off or unexpected power failure occurs. This prevents data from being lost in the cache and continues to write to disk after power is restored.
In the technical scheme provided in the step S210, the target firmware file is stored in the third storage space, the third storage space receives the target firmware file and performs verification, and the target firmware file passing the verification is sent to the target flash memory space.
In an exemplary embodiment, after the storing the target firmware file corresponding to the firmware update request in the third storage space, the method may include, but is not limited to, querying a current firmware update progress of the firmware of the disk array card, restoring the target memory space to the first storage space and the second storage space if the current firmware update progress of the firmware of the disk array card is queried to be finished, and continuing to detect the target performance parameter of the disk array card if the current firmware update progress of the firmware of the disk array card is queried to be not finished until the current firmware update progress of the firmware of the disk array card is queried to be finished.
In one exemplary embodiment, an example of a process for adjusting a target memory space is provided. Fig. 6 is a schematic diagram of a process for adjusting a target memory space according to an embodiment of the present application, as shown in fig. 6, C 0 is an initial cache (first storage space) allocated in a memory, and in a firmware upgrading process, a cache size is dynamically adjusted according to actual requirements and performance, that is, the cache is adjusted to be C 0+C0 R based on the initial cache C 0, and after the firmware upgrading process is completed, the cache is restored to the initial cache.
Optionally, in this embodiment, since the related art may have a certain influence on the I/O performance during the online firmware upgrade process of the RAID card, the cache read/write size cannot be adaptively adjusted, if the cache size is set too small, performance may be reduced, or delay may be increased. The method for adjusting the storage space optimizes the read-write performance and IO load balance when the RAID card firmware is upgraded, and can improve the read-write performance of the RAID card and lighten the IO load by dynamically adjusting the read-write buffer size of the RAID card, thereby achieving better IO load balance, improving the performance and stability of the RAID card and ensuring the continuity of service. In order to better understand the process of adjusting the storage space in the storage space adjusting method provided by the application, the following description is made with reference to the optional embodiment, but is not limited to the technical solution of the embodiment of the application.
In one exemplary embodiment, an example of a RAID card and host interaction process is provided. FIG. 7 is a schematic diagram of an interaction process between a RAID card and a host according to an embodiment of the present application, where as shown in FIG. 7, the RAID card predetermines regression model coefficients (target detection model) for predicting performance change rate and initializing, where the host performs I/O interaction with the RAID card to start firmware upgrade when receiving a firmware upgrade command, the RAID card dynamically adjusts the buffer memory size according to the performance change rate to balance the read/write performance, and where the RAID card dynamically adjusts the read/write performance to end and recover the initial I/O performance when ending the firmware upgrade.
It should be noted that the method for adjusting the storage space provided by the application can be applied to different types of RAID cards, including hardware RAID cards and software RAID cards. For different types of RAID cards, corresponding implementations are required according to their hardware and software configurations. For example, for a hardware RAID card, it is necessary to access the hardware configuration of the RAID card by a driver of the RAID card, and calculate a performance change rate and adjust the cache size according to the hardware configuration. For a software RAID card, it is necessary to access the software configuration of the RAID card through a software interface, and calculate the performance change rate and adjust the cache size according to the software configuration.
In one exemplary embodiment, an example of a firmware upgrade process is provided. FIG. 8 is a flow chart of a firmware upgrade process according to an embodiment of the present application, as shown in FIG. 8, firmware upgrade of a disk array card may be accomplished, but is not limited to, by:
uploading a firmware upgrade file to a host end, ensuring normal operation of IO service, and initiating RIAD on-line firmware upgrade of the card by the host end;
IO performance indexes are monitored in real time when RAID card firmware is upgraded, and proper monitoring tools are selected on a host computer to collect and monitor the IO performance indexes of RAID. The tools can be performance monitoring tools provided by an operating system or monitoring software of a third party, the RAID card host driving software completes acquisition of IO performance indexes when firmware is upgraded, collected performance data is issued to a RAID card controller through NVMe commands, a RAID card real-time monitoring software module completes command analysis, and index parameters are input into an existing model to calculate corresponding performance change rates;
The buffer memory of the RAID card is dynamically adjusted according to the performance change rate in real time to achieve balanced read-write performance, and when the RAID card monitors that the performance change rate is large and exceeds a threshold value, the buffer memory is dynamically adjusted to improve the read-write performance of the RAID card and lighten IO load, so that the read-write performance of the RAID card is kept stable during firmware upgrading, and the operation of a host computer service is not influenced.
Inquiring the firmware upgrading progress of the RAID card, stopping the dynamic IO read-write performance adjusting process of the RAID card if the firmware upgrading is finished, recovering the initial IO performance, and continuing the step five if the firmware upgrading is not finished until the firmware upgrading is finished.
It should be noted that, in the solution proposed in the present application, but not limited to, a block of dynamically adjustable buffer space may be applied first, and then the RAID card driver starts the I/O read-write performance dynamic adjustment flow, and the specific method includes:
V/define cache structure:
typedef struct Node { int key;
int value;
struct Node* prev;
struct Node* next;
} Node;
typedef struct LRUCache { int capacity;
int size;
Node* head;
Node* tail;
} LRUCache;
The// initialization cache:
LRUCache* initLRUCache(int capacity) { LRUCache* cache = (LRUCache*)malloc(sizeof(LRUCache));
cache->capacity = capacity;
cache->size = 0;
cache->head = NULL;
cache->tail = NULL;
return cache;
LRUCache = INITIALCACHE = initLRUCache (C0)// where C0 is the initial buffer capacity.
The application process of the initial cache is completed through the above process, and in the case that the cache needs to be adjusted, the adjustment of the cache capacity can be completed by the following ways, but is not limited to:
buffer capacity/adjustment:
int C = C0 + C0*R ;
LRUCache* extendedCache = (LRUCache*)realloc(initialCache, sizeof(LRUCache) + C * sizeof(Node));
extendedCache->capacity = C;
the extended cache is used as the whole LRU cache;
LRUCache* lruCache = extendedCache;
the application provides a performance change rate model, analyzes the existing data to determine the model and the characteristic coefficient by using a prediction algorithm, monitors performance indexes in real time and calculates the read-write performance change rate when the RAID card firmware is upgraded, and automatically adjusts the read-write cache size of the RAID card according to the calculated performance change rate. In the firmware upgrading process, the reliability and the safety of the RAID card are ensured, the read-write performance of the RAID card is considered, and the read-write buffer memory size of the RAID card and the buffer memory size of the RAID card are automatically adjusted according to the performance change rate so as to furthest improve the read-write performance and the stability of the RAID card.
The method for adjusting the storage space provided by the application realizes that the read-write buffer memory size of the RAID card is automatically adjusted by the RAID card driver on the premise of not increasing hardware, and the read-write performance of the RAID card firmware upgrading can be optimized. The adjustment of the buffer size can be optimized according to actual conditions so as to improve the read-write performance and stability of the host. Since the formula and the derivation process are used to calculate the performance change rate and adjust the buffer size, the influence of subjective factors and errors can be avoided. Meanwhile, the buffer memory size is automatically adjusted, the read-write performance of the RAID card is recalculated, the maintainability of the RAID card can be improved, and the operation risk and maintenance cost of an administrator are reduced. The method for adjusting the storage space can support different types of RAID cards, including hardware RAID cards and software RAID cards, can be suitable for different hardware and software configurations of different RAID cards because of optimizing based on the read-write performance and the cache size of the RAID cards, ensures the normal operation of the RAID cards in the upgrading process of RAID card firmware, avoids data loss and hardware faults, simultaneously can reduce the abrasion and damage to the RAID cards by automatically adjusting the read-write cache size of the RAID cards, improves the reliability and service life of the RAID cards, dynamically adjusts the cache size in the upgrading process of RAID card firmware to process concurrent access requests, reduces the occurrence of data loss or inconsistency, and ensures the integrity and consistency of data.
From the description of the above embodiments, it will be clear to a person skilled in the art that the method according to the above embodiments may be implemented by means of software plus the necessary general hardware platform, but of course also by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the related art in the form of a software product stored in a storage medium (such as ROM/RAM, magnetic disk, optical disk), including several instructions for causing a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to perform the method according to the embodiments of the present application.
The embodiment also provides a device for adjusting a storage space, which is applied to a processor deployed in a disk array card, where the disk array card includes a target memory space and a target flash memory space, the target memory space is divided into a first storage space and a second storage space, the first storage space is used for receiving a firmware file of the disk array card and sending the checked firmware file to the target flash memory space, and the target flash memory space is used for updating the firmware of the disk array card by using the firmware file. As used below, the term "module" may be a combination of software and/or hardware that implements a predetermined function. While the means described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and contemplated.
Fig. 9 is a block diagram of a memory space adjusting apparatus according to an embodiment of the present application, as shown in fig. 9, including:
A receiving module 0902, configured to receive a firmware update request, where the firmware update request is used to request to perform a firmware update operation on the disk array card;
A first detection module 0904, configured to respond to the firmware update request, and detect a target performance parameter of the disk array card, where the target performance parameter is used to indicate a read-write performance of the disk array card at a current moment;
A second detection module 0906, configured to detect a target adjustment parameter of the first storage space according to the target performance parameter, where the target adjustment parameter is used to indicate a target adjustment direction and a target storage capacity of the first storage space;
An adjustment module 0908, configured to adjust the first storage space using the second storage space according to the target adjustment parameter, to obtain the target memory space divided into a third storage space and a fourth storage space;
And a storage module 0910, configured to store a target firmware file corresponding to the firmware update request in the third storage space, where the third storage space is configured to receive the target firmware file and send the target firmware file that passes the verification to the target flash memory space.
The device comprises a device for receiving a firmware update request, wherein the firmware update request is used for requesting to execute firmware update operation on a disk array card, responding to the firmware update request, detecting target performance parameters of the disk array card, wherein the target performance parameters are used for indicating the read-write performance of the disk array card at the current moment, detecting target adjustment parameters of a first storage space according to the target performance parameters, wherein the target adjustment parameters are used for indicating the target adjustment direction and the target storage capacity of the first storage space, adjusting the first storage space according to the target adjustment parameters by using a second storage space to obtain a target memory space divided into a third storage space and a fourth storage space, and storing target firmware files corresponding to the firmware update request into the third storage space, wherein the third storage space is used for receiving target firmware files and sending the target firmware files which pass through verification to the target flash memory space. That is, the first storage space is adjusted according to the read-write performance of the disk array card at the current moment, so that the third storage space allows the firmware file of the disk array card to be received and the validated firmware file to be sent to the target flash memory space, therefore, the problem of lower upgrading efficiency of the disk array card can be solved, and the effect of improving the upgrading efficiency of the disk array card is achieved.
In an exemplary embodiment, the first detection module includes:
The control unit is used for controlling a monitoring tool to acquire the number of times of reading and writing of the disk array card per second, the bandwidth parameter and the delay parameter at the current moment, wherein the monitoring tool is used for calling an application programming interface provided by a driver of the disk array card to acquire the number of times of reading and writing of the disk array card per second, the bandwidth parameter and the delay parameter;
And the receiving unit is used for receiving the read-write times per second, the bandwidth parameter and the delay parameter of the disk array card transmitted by the monitoring tool as the target performance parameter of the disk array card.
In an exemplary embodiment, the second detection module includes:
The first detection unit is used for detecting the performance change rate of the first storage space according to the target performance parameter and the initial performance parameter of the disk array card, wherein the initial performance parameter is used for indicating the read-write performance of the disk array card at the moment which is the moment before the current moment, and the performance change rate is used for indicating the change speed of the read-write performance of the disk array card in unit time;
And a second detection unit, configured to detect, as the target adjustment parameter, the target adjustment direction and the target storage capacity of the first storage space according to the performance change rate and an initial storage capacity of the first storage space, where the initial storage capacity is used to indicate a size of the first storage space at the current time.
In an exemplary embodiment, the first detecting unit is configured to obtain the initial performance parameter of the disk array card, input the target performance parameter and the initial performance parameter into a target detection model to obtain the performance change rate output by the target detection model, where the target detection model is configured to detect a target read-write performance corresponding to the target performance parameter according to a linear relationship between the performance parameter and a read-write performance, and calculate a change rate of the target read-write performance relative to the initial read-write performance as the performance change rate to output, where the initial read-write performance is the read-write performance corresponding to the initial performance parameter detected at the last moment according to the linear relationship between the performance parameter and the read-write performance.
In an exemplary embodiment, before said inputting said target performance parameter and said initial performance parameter into a target detection model results in said performance rate of change of the output of said target detection model, said apparatus further comprises:
the system comprises an acquisition module, a storage module and a storage module, wherein the acquisition module is used for acquiring a training data set of the disk array card, wherein the training data set comprises historical performance parameters of the disk array card at a plurality of historical moments and read-write performance of the disk array card at each historical moment in the plurality of historical moments;
the construction module is used for constructing an initial detection model through the following formula: Wherein, the method comprises the steps of, wherein, For indicating the linear relation between the performance parameter and the read-write performance of the disk array card, wherein I is the read-write performance of the disk array card,As an initial value of the read-write performance of the disk array card,To the point ofFor the performance parameters of the disk array card,To the point ofT is the historical moment, and t-1 is the moment immediately before the historical moment;
The training module is used for training the initial detection model by using the training data set until the coefficient corresponding to each performance parameter in the initial detection model is obtained, and the initial detection model with the coefficient corresponding to each performance parameter determined is determined to be the target detection model.
In an exemplary embodiment, the second detecting unit is further configured to detect the initial storage capacity of the first storage space, detect the target adjustment direction of the first storage space according to the performance change rate, and calculate the target storage capacity of the first storage space according to the performance change rate and the initial storage capacity, where the target adjustment direction is used to indicate that the storage space is released for the first storage space or the storage space is allocated for the first storage space, and the target storage capacity is proportional to the performance change rate.
In an exemplary embodiment, the second detecting unit is further configured to determine that the target adjustment direction is to allocate a storage space to the first storage space in a case where the performance change rate is greater than 0, determine that the target adjustment direction is to release the storage space in the first storage space in a case where the performance change rate is less than or equal to 0, and calculate the target storage capacity C by substituting the performance change rate and the initial storage capacity into the following formula: Wherein, the method comprises the steps of, wherein, For the initial storage capacity, R is the performance rate of change.
In one exemplary embodiment, the adjustment module includes:
A third detecting unit configured to detect an adjustment amount of the first storage space according to an initial storage capacity of the first storage space and the target storage capacity, where the initial storage capacity is used to indicate a size of the first storage space at the current time, and the adjustment amount is equal to a difference between the initial storage capacity and the target storage capacity;
An allocation unit configured to, when the target adjustment parameter is used to instruct allocation of a storage space for the first storage space using the second storage space, allocate the adjustment amount of storage space for the first storage space using the second storage space, obtain the target memory space divided into the third storage space and the fourth storage space, wherein the third storage space is the first storage space to which the adjustment amount of storage space is added, and the fourth storage space is the second storage space to which the adjustment amount of storage space is released;
and a releasing unit configured to, when the target adjustment parameter is used to instruct to release a storage space for the first storage space using the second storage space, release the adjustment amount of the storage space for the first storage space using the second storage space, and obtain the target memory space divided into the third storage space and the fourth storage space, where the third storage space is the first storage space from which the adjustment amount of the storage space is released, and the fourth storage space is the second storage space from which the adjustment amount of the storage space is increased.
In an exemplary embodiment, the allocation unit is further configured to call an allocation function to allocate the adjusted storage space for the first storage space, where the allocation function includes the adjusted storage space, and combine the adjusted storage space allocated for the first storage space and the first storage space into the third storage space, to obtain the target memory space divided into the third storage space and the fourth storage space.
In an exemplary embodiment, the releasing unit is further configured to detect a target start address of the adjustment amount of storage space allowed to be released in the first storage space, call a release function to release the adjustment amount of storage space from the first storage space, where the release function carries the adjustment amount and the target start address of the storage space to be released in the first storage space, determine the first storage space from which the adjustment amount of storage space is released as the third storage space, and obtain the target memory space divided into the third storage space and the fourth storage space.
In an exemplary embodiment, before said detecting the target adjustment parameter of the first memory space according to the target performance parameter, the apparatus further comprises:
A defining module, configured to define a node structure and a least recently used cache structure, where the node structure is configured to define the first storage space and the second storage space that are divided in a target memory space, and the least recently used cache structure is configured to select, in a case where a storage space in the target memory space needs to be released, a storage space with a use frequency less than a frequency threshold to perform a release operation;
And the calling module is used for calling an initializing least recently used cache function to create the first storage space in the target memory space, wherein the initializing least recently used cache function carries the memory quantity of the first storage space and pointers pointing to the head part and the tail part of a linked list of the first storage space.
It should be noted that each of the above modules may be implemented by software or hardware, and the latter may be implemented by, but not limited to, the above modules all being located in the same processor, or each of the above modules being located in different processors in any combination.
Embodiments of the present application also provide a computer readable storage medium having a computer program stored therein, wherein the computer program is arranged to perform the steps of any of the method embodiments described above when run.
In an exemplary embodiment, the computer readable storage medium may include, but is not limited to, a U disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a removable hard disk, a magnetic disk, or an optical disk, etc. various media in which a computer program may be stored.
An embodiment of the present application further provides an electronic device, fig. 10 is a block diagram of an electronic device according to an embodiment of the present application, and as shown in fig. 10, the electronic device includes a memory and a processor, where the memory stores a computer program, and the processor is configured to run the computer program to perform steps in any of the method embodiments described above.
In an exemplary embodiment, the electronic device may further include a transmission device connected to the processor, and an input/output device connected to the processor.
Embodiments of the application also provide a computer program product comprising a computer program which, when executed by a processor, implements the steps of any of the method embodiments described above.
Embodiments of the present application also provide another computer program product comprising a non-volatile computer readable storage medium storing a computer program which, when executed by a processor, implements the steps of any of the method embodiments described above.
Embodiments of the present application also provide a computer program comprising computer instructions stored on a computer-readable storage medium, a processor of a computer device reading the computer instructions from the computer-readable storage medium, and a burial executing the computer instructions to cause the computer device to perform the steps of any of the method embodiments described above.
Specific examples in this embodiment may refer to the examples described in the foregoing embodiments and the exemplary implementation, and this embodiment is not described herein.
It will be appreciated by those skilled in the art that the modules or steps of the application described above may be implemented in a general purpose computing device, they may be concentrated on a single computing device, or distributed across a network of computing devices, they may be implemented in program code executable by computing devices, so that they may be stored in a storage device for execution by computing devices, and in some cases, the steps shown or described may be performed in a different order than that shown or described herein, or they may be separately fabricated into individual integrated circuit modules, or multiple modules or steps of them may be fabricated into a single integrated circuit module. Thus, the present application is not limited to any specific combination of hardware and software.
The above description is only of the preferred embodiments of the present application and is not intended to limit the present application, but various modifications and variations can be made to the present application by those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the principle of the present application should be included in the protection scope of the present application.
Claims (15)
1. A method for adjusting storage space is characterized in that,
The method is applied to a processor deployed in a disk array card, the disk array card comprises a target memory space and a target flash memory space, the target memory space is divided into a first storage space and a second storage space, the first storage space is used for receiving a firmware file of the disk array card and sending the verified firmware file to the target flash memory space, and the target flash memory space is used for updating the firmware of the disk array card by using the firmware file, and the method comprises the steps of:
Receiving a firmware update request, wherein the firmware update request is used for requesting to execute firmware update operation on the disk array card;
Responding to the firmware update request, and detecting target performance parameters of the disk array card, wherein the target performance parameters are used for indicating the read-write performance of the disk array card at the current moment;
Detecting a target adjustment parameter of the first storage space according to the target performance parameter, wherein the target adjustment parameter is used for indicating a target adjustment direction and a target storage capacity of the first storage space;
adjusting the first storage space by using the second storage space according to the target adjustment parameter to obtain the target memory space divided into a third storage space and a fourth storage space;
and storing the target firmware file corresponding to the firmware update request into the third storage space, wherein the third storage space is used for receiving the target firmware file and sending the verified target firmware file to the target flash memory space.
2. The method of claim 1, wherein the step of determining the position of the substrate comprises,
The detecting the target performance parameter of the disk array card includes:
Controlling a monitoring tool to acquire the number of times of reading and writing of the disk array card per second, a bandwidth parameter and a delay parameter at the current moment, wherein the monitoring tool is used for calling an application programming interface provided by a drive program of the disk array card to acquire the number of times of reading and writing of the disk array card per second, the bandwidth parameter and the delay parameter;
and receiving the read-write times per second, the bandwidth parameter and the delay parameter of the disk array card transmitted by the monitoring tool as the target performance parameter of the disk array card.
3. The method of claim 1, wherein the step of determining the position of the substrate comprises,
The detecting the target adjustment parameter of the first storage space according to the target performance parameter includes:
Detecting the performance change rate of the first storage space according to the target performance parameter and the initial performance parameter of the disk array card, wherein the initial performance parameter is used for indicating the read-write performance of the disk array card at the moment previous to the current moment, and the performance change rate is used for indicating the change speed of the read-write performance of the disk array card in unit time;
And detecting the target adjustment direction and the target storage capacity of the first storage space as the target adjustment parameters according to the performance change rate and the initial storage capacity of the first storage space, wherein the initial storage capacity is used for indicating the size of the first storage space at the current moment.
4. The method of claim 3, wherein the step of,
The detecting the performance change rate of the first storage space according to the target performance parameter and the initial performance parameter of the disk array card includes:
Acquiring the initial performance parameters of the disk array card;
And inputting the target performance parameter and the initial performance parameter into a target detection model to obtain the performance change rate output by the target detection model, wherein the target detection model is used for detecting target read-write performance corresponding to the target performance parameter according to a linear relation between the performance parameter and read-write performance, calculating the change rate of the target read-write performance relative to the initial read-write performance as the performance change rate to output, and the initial read-write performance is the read-write performance corresponding to the initial performance parameter detected according to the linear relation between the performance parameter and the read-write performance at the last moment.
5. The method of claim 4, wherein the step of determining the position of the first electrode is performed,
Before said inputting said target performance parameter and said initial performance parameter into a target detection model to obtain said performance rate of change of said target detection model output, said method further comprises:
acquiring a training data set of the disk array card, wherein the training data set comprises historical performance parameters of the disk array card at a plurality of historical moments and read-write performance of the disk array card at each historical moment of the plurality of historical moments;
an initial detection model is constructed by the following formula: Wherein, the method comprises the steps of, wherein, For indicating the linear relation between the performance parameter and the read-write performance of the disk array card, wherein I is the read-write performance of the disk array card,As an initial value of the read-write performance of the disk array card,To the point ofFor the performance parameters of the disk array card,To the point ofT is the historical moment, and t-1 is the moment immediately before the historical moment;
And training the initial detection model by using the training data set until coefficients corresponding to each performance parameter in the initial detection model are obtained, and determining the initial detection model with the coefficients corresponding to each performance parameter determined as the target detection model.
6. The method of claim 3, wherein the step of,
The detecting the target adjustment direction and the target storage capacity of the first storage space as the target adjustment parameters according to the performance change rate and the initial storage capacity of the first storage space includes:
Detecting the initial storage capacity of the first storage space;
And detecting the target adjustment direction of the first storage space according to the performance change rate, and calculating the target storage capacity of the first storage space according to the performance change rate and the initial storage capacity, wherein the target adjustment direction is used for indicating to release the storage space for the first storage space or allocate the storage space for the first storage space, and the target storage capacity is in direct proportion to the performance change rate.
7. The method of claim 6, wherein the step of providing the first layer comprises,
The detecting the target adjustment direction of the first storage space according to the performance change rate comprises determining the target adjustment direction to allocate the storage space to the first storage space when the performance change rate is greater than 0, and determining the target adjustment direction to release the storage space in the first storage space when the performance change rate is less than or equal to 0;
The calculating the target storage capacity of the first storage space from the performance change rate and the initial storage capacity includes substituting the performance change rate and the initial storage capacity into the following formula to calculate the target storage capacity C: Wherein, the method comprises the steps of, wherein, For the initial storage capacity, R is the performance rate of change.
8. The method of claim 1, wherein the step of determining the position of the substrate comprises,
The step of adjusting the first storage space by using the second storage space according to the target adjustment parameter to obtain the target memory space divided into a third storage space and a fourth storage space, including:
Detecting an adjustment amount of the first storage space according to an initial storage capacity of the first storage space and the target storage capacity, wherein the initial storage capacity is used for indicating the size of the first storage space at the current moment, and the adjustment amount is equal to a difference value between the initial storage capacity and the target storage capacity;
In the case that the target adjustment parameter is used to indicate that the second storage space is used to allocate a storage space for the first storage space, the second storage space is used to allocate the adjustment amount of storage space for the first storage space, so as to obtain the target memory space divided into the third storage space and the fourth storage space, wherein the third storage space is the first storage space with the adjustment amount of storage space increased, and the fourth storage space is the second storage space with the adjustment amount of storage space released;
and when the target adjustment parameter is used for indicating that the second storage space is used for releasing the storage space for the first storage space, the second storage space is used for releasing the storage space for the first storage space by the adjustment amount, so that the target memory space divided into the third storage space and the fourth storage space is obtained, wherein the third storage space is the first storage space releasing the storage space for the adjustment amount, and the fourth storage space is the second storage space increasing the storage space for the adjustment amount.
9. The method of claim 8, wherein the step of determining the position of the first electrode is performed,
The step of allocating the adjustment amount of the storage space for the first storage space using the second storage space to obtain the target memory space divided into the third storage space and the fourth storage space, when the target adjustment parameter is used to indicate that the storage space is allocated for the first storage space using the second storage space, includes:
calling an allocation function to allocate the storage space of the adjustment quantity for the first storage space, wherein the allocation function contains the adjustment quantity;
And merging the storage space with the adjustment amount allocated for the first storage space and the first storage space into the third storage space to obtain the target memory space divided into the third storage space and the fourth storage space.
10. The method of claim 8, wherein the step of determining the position of the first electrode is performed,
The step of obtaining the target memory space divided into the third memory space and the fourth memory space by using the second memory space to release the adjustment amount of memory space for the first memory space when the target adjustment parameter is used to instruct to release the memory space for the first memory space using the second memory space, includes:
Detecting a target start address of the adjusted amount of memory space in the first memory space that is allowed to be released;
calling a release function to release the storage space of the adjustment quantity from the first storage space, wherein the release function carries the adjustment quantity and the target starting address of the storage space to be released in the first storage space;
and determining the first storage space releasing the storage space of the adjustment amount as the third storage space, and obtaining the target memory space divided into the third storage space and the fourth storage space.
11. The method of claim 1, wherein the step of determining the position of the substrate comprises,
Before the detecting the target adjustment parameter of the first storage space according to the target performance parameter, the method further includes:
Defining a node structure body and a least recently used cache structure body, wherein the node structure body is used for defining the first storage space and the second storage space which are divided in a target memory space, and the least recently used cache structure body is used for selecting the storage space with the use frequency smaller than a frequency threshold to execute release operation under the condition that the storage space in the target memory space needs to be released;
And calling an initializing least-recently-used cache function to create the first storage space in the target memory space, wherein the initializing least-recently-used cache function carries the memory quantity of the first storage space and pointers pointing to the head and tail of a linked list of the first storage space.
12. A memory space adjusting device is characterized in that,
The method is applied to a processor deployed in a disk array card, the disk array card comprises a target memory space and a target flash memory space, the target memory space is divided into a first storage space and a second storage space, the first storage space is used for receiving a firmware file of the disk array card and sending the verified firmware file to the target flash memory space, and the target flash memory space is used for updating the firmware of the disk array card by using the firmware file, and the device comprises:
the receiving module is used for receiving a firmware update request, wherein the firmware update request is used for requesting to execute firmware update operation on the disk array card;
The first detection module is used for responding to the firmware update request and detecting target performance parameters of the disk array card, wherein the target performance parameters are used for indicating the read-write performance of the disk array card at the current moment;
The second detection module is used for detecting target adjustment parameters of the first storage space according to the target performance parameters, wherein the target adjustment parameters are used for indicating target adjustment directions and target storage capacities of the first storage space;
The adjusting module is used for adjusting the first storage space by using the second storage space according to the target adjusting parameter to obtain the target memory space divided into a third storage space and a fourth storage space;
And the storage module is used for storing the target firmware file corresponding to the firmware update request into the third storage space, wherein the third storage space is used for receiving the target firmware file and sending the target firmware file passing the verification into the target flash memory space.
13. A computer-readable storage medium comprising,
The computer readable storage medium has stored therein a computer program, wherein the computer program when executed by a processor realizes the steps of the method as claimed in any of claims 1 to 11.
14. An electronic device comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that,
The processor, when executing the computer program, implements the steps of the method as claimed in any one of claims 1 to 11.
15. A computer program product comprising a computer program, characterized in that,
Which computer program, when being executed by a processor, carries out the steps of the method as claimed in any one of claims 1 to 11.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411210911.7A CN118708135B (en) | 2024-08-30 | 2024-08-30 | Storage space adjusting method and device, storage medium and electronic equipment |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411210911.7A CN118708135B (en) | 2024-08-30 | 2024-08-30 | Storage space adjusting method and device, storage medium and electronic equipment |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN118708135A CN118708135A (en) | 2024-09-27 |
| CN118708135B true CN118708135B (en) | 2025-01-03 |
Family
ID=92813259
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202411210911.7A Active CN118708135B (en) | 2024-08-30 | 2024-08-30 | Storage space adjusting method and device, storage medium and electronic equipment |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118708135B (en) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN121143734A (en) * | 2025-11-19 | 2025-12-16 | 阿里云计算有限公司 | Storage space processing method and device |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103488575A (en) * | 2013-08-12 | 2014-01-01 | 记忆科技(深圳)有限公司 | Method for dynamically adjusting reserved space of solid-state hard disk and solid-state hard disk |
| CN114115702A (en) * | 2020-09-01 | 2022-03-01 | 中国电信股份有限公司 | Storage control method, device, storage system and storage medium |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7711897B1 (en) * | 2005-06-10 | 2010-05-04 | American Megatrends, Inc. | Method, system, apparatus, and computer-readable medium for improving disk array performance |
| CN112506604B (en) * | 2020-04-14 | 2025-02-18 | 中兴通讯股份有限公司 | CDN function virtualization management method, electronic device and computer readable medium |
| CN116954479A (en) * | 2022-04-15 | 2023-10-27 | 戴尔产品有限公司 | Data access method, electronic device and computer program product for RAID |
| CN115904260B (en) * | 2023-03-08 | 2023-05-23 | 苏州浪潮智能科技有限公司 | Method and device for starting disk array card, storage medium and electronic equipment |
| CN117421186B (en) * | 2023-12-18 | 2024-03-15 | 苏州元脑智能科技有限公司 | Method, device, system and storage medium for adjusting server operation parameters |
| CN117573725A (en) * | 2023-12-20 | 2024-02-20 | 中国电信股份有限公司技术创新中心 | Cache data processing method and device, electronic equipment and storage medium |
| CN117931599A (en) * | 2024-01-25 | 2024-04-26 | 苏州元脑智能科技有限公司 | Method, device, equipment and storage medium for acquiring performance data of solid state disk |
-
2024
- 2024-08-30 CN CN202411210911.7A patent/CN118708135B/en active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN103488575A (en) * | 2013-08-12 | 2014-01-01 | 记忆科技(深圳)有限公司 | Method for dynamically adjusting reserved space of solid-state hard disk and solid-state hard disk |
| CN114115702A (en) * | 2020-09-01 | 2022-03-01 | 中国电信股份有限公司 | Storage control method, device, storage system and storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN118708135A (en) | 2024-09-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8521986B2 (en) | Allocating storage memory based on future file size or use estimates | |
| US11914894B2 (en) | Using scheduling tags in host compute commands to manage host compute task execution by a storage device in a storage system | |
| US10282107B1 (en) | Controlling I/O response time to meet service levels | |
| US9798655B2 (en) | Managing a cache on storage devices supporting compression | |
| US11520715B2 (en) | Dynamic allocation of storage resources based on connection type | |
| US20190188058A1 (en) | Using response time objectives in a storage system | |
| US11507502B2 (en) | Data storage device performance prediction based on valid fragment count | |
| EP1952227A1 (en) | System, method and program for managing storage | |
| US8539007B2 (en) | Efficient garbage collection in a compressed journal file | |
| US11126360B2 (en) | Dynamically adjusting block mode pool sizes | |
| US20190065404A1 (en) | Adaptive caching in a storage device | |
| US11972148B2 (en) | Proactive storage operation management using thermal states | |
| US20230214115A1 (en) | Techniques for data storage management | |
| US20200192805A1 (en) | Adaptive Cache Commit Delay for Write Aggregation | |
| CN104424106A (en) | Method and system for allocating resources from storage device into stored optimization operations | |
| CN118708135B (en) | Storage space adjusting method and device, storage medium and electronic equipment | |
| US11188232B2 (en) | Enhanced storage compression based on activity level | |
| CN116991335B (en) | Queue resource allocation method and device, disk array card, equipment and medium | |
| US7870335B2 (en) | Host adaptive seek technique environment | |
| US20240192869A1 (en) | Techniques for determining a minimum hardware configuration using performance headroom metrics | |
| CN119668525B (en) | Block storage caching method, device, equipment and storage medium | |
| CN120499199B (en) | Data synchronization method, device, electronic device and computer-readable storage medium | |
| US12197789B2 (en) | Using data storage device operational profiles for interface-based performance leveling | |
| CN119025042A (en) | Method, device and storage medium for allocating storage space in file system | |
| CN102402397B (en) | Method and device for storing data |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |