CN117389485B - Storage performance optimization method, storage performance optimization device, storage system, electronic equipment and medium - Google Patents

Storage performance optimization method, storage performance optimization device, storage system, electronic equipment and medium Download PDF

Info

Publication number
CN117389485B
CN117389485B CN202311709099.8A CN202311709099A CN117389485B CN 117389485 B CN117389485 B CN 117389485B CN 202311709099 A CN202311709099 A CN 202311709099A CN 117389485 B CN117389485 B CN 117389485B
Authority
CN
China
Prior art keywords
data
beacon
beacons
space
storage
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
Application number
CN202311709099.8A
Other languages
Chinese (zh)
Other versions
CN117389485A (en
Inventor
刘志勇
刘晓瑞
甄凤远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Metabrain Intelligent Technology Co Ltd
Original Assignee
Suzhou Metabrain Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Metabrain Intelligent Technology Co Ltd filed Critical Suzhou Metabrain Intelligent Technology Co Ltd
Priority to CN202311709099.8A priority Critical patent/CN117389485B/en
Publication of CN117389485A publication Critical patent/CN117389485A/en
Application granted granted Critical
Publication of CN117389485B publication Critical patent/CN117389485B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Abstract

The application provides a storage performance optimization method, a storage performance optimization device, a storage system, electronic equipment and a storage medium, and relates to the technical field of computers, wherein the method comprises the following steps: determining a data block corresponding to the data to be written and a data block corresponding to the data to be migrated; determining a plurality of beacons corresponding to the storage system based on the data processing capability information of the storage system; dividing a plurality of beacons into a first beacon and a second beacon based on storage space utilization information of a storage system, distributing the first beacon to a data block corresponding to data to be written and distributing the second beacon to a data block corresponding to data to be migrated; and writing the data blocks corresponding to the data to be written into each space block based on the first beacon and migrating the data blocks corresponding to the data to be migrated among the space blocks based on the second beacon. The method and the device provided by the application improve the space availability of the storage system and improve the data processing efficiency and the storage performance of the storage system.

Description

Storage performance optimization method, storage performance optimization device, storage system, electronic equipment and medium
Technical Field
The present application relates to the field of computer technologies, and in particular, to a storage performance optimization method, apparatus, storage system, electronic device, and medium.
Background
With the increasing use of Solid State Disks (SSD), full flash memory array products have become one of the mainstream products in the field of storage devices. Compared with the traditional mechanical hard disk storage, the full flash memory array storage has obvious advantages in performance and obvious characteristics in a data organization mode, and the full flash memory array storage mainly adopts an additional writing mode, namely, when data is written into the same logic address, the data is written into a new place each time, old data cannot be covered, and the old data is processed through garbage collection. In general, the writing process of host data is faster than garbage collection, so that if no measure is taken, the consumption speed of the final storage space is far greater than the collection speed, and the space in the storage system is completely consumed, so that the system becomes unusable.
Therefore, how to improve the usability of the storage system and improve the data processing efficiency and the storage performance of the storage system is a technical problem to be solved in the industry.
Disclosure of Invention
The application provides a storage performance optimization method, a storage performance optimization device, a storage system, electronic equipment and a medium, which are used for solving the technical problems of improving the usability of the storage system and improving the data processing efficiency and the storage performance of the storage system.
The application provides a storage performance optimization method, which comprises the following steps:
determining a data block corresponding to the data to be written and a data block corresponding to the data to be migrated;
determining a plurality of beacons corresponding to a storage system based on data processing capability information of the storage system; the beacons are used for allowing writing of data blocks in respective spatial blocks in the storage system;
dividing the beacons into a first beacon and a second beacon based on the storage space utilization information of the storage system, distributing the first beacon to a data block corresponding to the data to be written and distributing the second beacon to a data block corresponding to the data to be migrated;
writing the data blocks corresponding to the data to be written into each space block based on the first beacon, and migrating the data blocks corresponding to the data to be migrated among the space blocks based on the second beacon.
In some embodiments, the dividing the plurality of beacons into a first beacon and a second beacon based on the storage space utilization information of the storage system, allocating the first beacon to a data block corresponding to the data to be written, and allocating the second beacon to a data block corresponding to the data to be migrated includes:
Determining available storage space capacity and total storage space capacity in the storage system based on storage space utilization information of the storage system;
determining an available space duty cycle of the storage system based on the available storage space capacity and the total storage space capacity;
determining an allocable beacon of the plurality of beacons based on the plurality of beacons and the available space duty cycle;
dividing the allocable beacons into a first beacon and a second beacon, allocating the first beacon to a data block corresponding to the data to be written, and allocating the second beacon to a data block corresponding to the data to be migrated.
In some embodiments, the determining an allocable beacon of the plurality of beacons based on the plurality of beacons and the available space duty cycle comprises:
determining a beacon availability ratio based on a preset association relation between the available space ratio and the beacon availability ratio;
determining the allocable beacons in the plurality of beacons based on the beacon availability ratio;
the preset association relation comprises at least one of a linear function relation, a curve function relation and a step function relation.
In some embodiments, the dividing the allocable beacons into a first beacon and a second beacon, allocating the first beacon to a data block corresponding to the data to be written, and allocating the second beacon to a data block corresponding to the data to be migrated includes:
determining a beacon allocation ratio based on the available space duty cycle;
dividing the allocable beacons into a first beacon and a second beacon based on the beacon allocation proportion;
and distributing the first beacon to a data block corresponding to the data to be written and distributing the second beacon to a data block corresponding to the data to be migrated.
In some embodiments, the determining the beacon allocation ratio based on the available space duty cycle includes:
dividing the allocable beacons into a first beacon and a second beacon based on a first beacon allocation ratio under the condition that the available space duty ratio is larger than a first preset ratio threshold; the number of first beacons is greater than the number of second beacons in the first beacon allocation proportion.
In some embodiments, the determining the beacon allocation ratio based on the available space duty cycle includes:
Dividing the allocable beacons into a first beacon and a second beacon based on a second beacon allocation ratio if the available space duty cycle is less than or equal to the first preset ratio threshold and greater than a second preset ratio threshold; the number of the first beacons in the second beacon allocation proportion is equal to the number of the second beacons;
wherein the first preset proportional threshold is greater than the second preset proportional threshold.
In some embodiments, the determining the beacon allocation ratio based on the available space duty cycle includes:
dividing the allocable beacons into a first beacon and a second beacon based on a third beacon allocation ratio under the condition that the available space duty ratio is smaller than or equal to the second preset ratio threshold; the number of first beacons is less than the number of second beacons in the third beacon allocation proportion.
In some embodiments, the allocating the first beacon to the data block corresponding to the data to be written and the allocating the second beacon to the data block corresponding to the data to be migrated includes:
determining a number of first beacons currently allocated and a number of second beacons currently allocated;
Determining a maximum allocation number of the first beacons based on the number of the second beacons which are currently allocated and the beacon allocation proportion;
and under the condition that the number of the first beacons which are currently allocated is smaller than the maximum allocation number, determining the number of the first beacons which need to be allocated, and allocating the first beacons which need to be allocated to the data blocks corresponding to the data to be written.
In some embodiments, after determining the maximum allocation number of first beacons based on the number of second beacons currently allocated and the beacon allocation proportion, the method further comprises:
and stopping distributing the first beacons under the condition that the number of the first beacons distributed currently is greater than or equal to the maximum distribution number.
In some embodiments, the determining the data block corresponding to the data to be written and the data block corresponding to the data to be migrated includes:
receiving data to be written sent by a host;
splitting and filling the data to be written based on a preset storage capacity, and determining a data block corresponding to the data to be written;
the preset storage capacity is smaller than the storage capacity of each space block in the storage system.
In some embodiments, the determining the data block corresponding to the data to be written and the data block corresponding to the data to be migrated includes:
traversing each space block in the storage system, and determining the effective data duty ratio in each space block;
determining a space block with the minimum effective data occupation ratio as a space block to be recovered;
and determining the effective data in the space block to be recovered as the data to be migrated, and determining the data block corresponding to the effective data as the data block corresponding to the data to be migrated.
In some embodiments, the determining, based on the data processing capability information of the storage system, a plurality of beacons corresponding to the storage system includes:
determining the number of concurrent processing data blocks of the storage system in unit time based on the data processing capability information of the storage system;
determining the number of beacons corresponding to the storage system; the number of the beacons is equal to the number of the data blocks which are processed by the storage system in a concurrent mode in unit time;
the plurality of beacons is created based on the number of beacons.
In some embodiments, the writing the data block corresponding to the data to be written into each spatial block based on the first beacon includes:
Determining a first target space block in each space block in the storage system based on the first beacon, and writing the data block corresponding to the data to be written into the first target space block;
recovering the first beacon.
In some embodiments, the determining, based on the first beacon, a first target space block in each space block in the storage system, and writing the data block corresponding to the data to be written into the first target space block includes:
under the condition that the number of the data blocks corresponding to the data to be written is a plurality of, determining a first target space block corresponding to the data to be written as the same space block;
and writing the data block corresponding to the data to be written into the same space block.
In some embodiments, the migrating the data block corresponding to the data to be migrated between the spatial blocks based on the second beacon includes:
determining a second target space block in each space block in the storage system based on the second beacon, and writing the data block corresponding to the data to be migrated into the second target space block from the current space block;
and recovering the second beacon and setting the current space block as an available space block.
In some embodiments, the determining, based on the second beacon, a second target space block in each space block in the storage system, and writing the data block corresponding to the data to be migrated from the current space block to the second target space block includes:
determining migration times of data to be migrated in each data block under the condition that the number of the data blocks corresponding to the data to be migrated is a plurality of data blocks;
classifying the data blocks corresponding to the data to be migrated based on the migration times, and dividing the data blocks corresponding to the data to be migrated with the same migration times into the same class;
determining a second target space block corresponding to the data blocks belonging to the same class as the same space block;
and writing the data blocks belonging to the same class into the same space block from the current space block corresponding to each data block.
The application provides a storage performance optimizing device, including:
the data determining unit is used for determining a data block corresponding to the data to be written and a data block corresponding to the data to be migrated;
a beacon determining unit, configured to determine a plurality of beacons corresponding to a storage system based on data processing capability information of the storage system; the beacons are used for allowing writing of data blocks in respective spatial blocks in the storage system;
The beacon distribution unit is used for dividing the beacons into a first beacon and a second beacon based on the storage space utilization information of the storage system, distributing the first beacon to a data block corresponding to the data to be written and distributing the second beacon to a data block corresponding to the data to be migrated;
and the data processing unit is used for writing the data blocks corresponding to the data to be written into each space block based on the first beacon and migrating the data blocks corresponding to the data to be migrated among the space blocks based on the second beacon.
In some embodiments, the apparatus further comprises:
and the beacon resource pool unit is connected with the beacon determining unit and is used for storing a plurality of beacons corresponding to the storage system.
In some embodiments, the apparatus further comprises:
and the beacon counting unit is connected with the beacon distribution unit and is used for recording the distribution information of the first beacon and the distribution information of the second beacon.
The application provides a storage system, which comprises a storage performance optimizing device and a flash memory array;
the flash memory array is connected with the storage performance optimizing device and is used for storing data to be written and data to be migrated;
The storage performance optimizing device is used for executing the storage performance optimizing method.
The application provides an electronic device, which comprises a memory, a processor and a computer program stored in the memory and capable of running on the processor, wherein the processor realizes the storage performance optimization method when executing the program.
The present application provides a non-transitory computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements the storage performance optimization method.
The storage performance optimization method, the storage performance optimization device, the storage system, the electronic equipment and the medium determine a data block corresponding to data to be written and a data block corresponding to data to be migrated; determining a plurality of beacons corresponding to the storage system based on the data processing capability information of the storage system; dividing a plurality of beacons into a first beacon and a second beacon based on storage space utilization information of a storage system, distributing the first beacon to a data block corresponding to data to be written and distributing the second beacon to a data block corresponding to data to be migrated; writing data blocks corresponding to the data to be written into each space block based on the first beacon and migrating the data blocks corresponding to the data to be migrated among the space blocks based on the second beacon; the beacons are used for allowing the writing of the data blocks in each space block in the storage system, the beacons are divided into the first beacons and the second beacons through the storage space utilization information of the storage system, the writing data and the migration data are controlled, the orderly adjustment of the consumption speed and the recovery speed of the storage space is realized, the space availability of the storage system is improved, meanwhile, the writing and the migration of the data are controlled in a mode of distributing the beacons, and the data processing efficiency and the storage performance of the storage system are improved.
Drawings
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the application and together with the description, serve to explain the principles of the application.
In order to more clearly illustrate the technical solutions of the present application or the prior art, the following description will briefly introduce the drawings used in the embodiments or the description of the prior art, and it is obvious that, in the following description, the drawings are some embodiments of the present application, and other drawings may be obtained according to these drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of a method for optimizing storage performance provided by the present application;
FIG. 2 is a schematic diagram of a storage performance optimizing apparatus according to the present application;
FIG. 3 is a second schematic diagram of a storage performance optimizing apparatus according to the present application;
FIG. 4 is a third schematic diagram of the storage performance optimizing apparatus provided in the present application;
FIG. 5 is a schematic diagram of a storage performance optimizing apparatus according to the present application;
FIG. 6 is a workflow diagram of a storage performance optimization apparatus provided herein;
FIG. 7 is a workflow diagram of a data processing unit provided herein;
FIG. 8 is a schematic diagram of a storage system provided herein;
fig. 9 is a schematic structural diagram of an electronic device provided in the present application.
Detailed Description
In order to make the present application solution better understood by those skilled in the art, the following description will be made in detail and with reference to the accompanying drawings in the embodiments of the present application, it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art based on the embodiments herein without making any inventive effort, shall fall within the scope of the present application.
It should be noted that the terms "first," "second," and the like herein are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that embodiments of the present application described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Full Flash Array (AFA) is a storage technology that uses Solid State Drives (SSD) as the primary storage medium, replacing traditional mechanical hard disks. The full flash array provides higher performance, lower latency, and higher reliability than conventional memory systems.
The traditional mechanical hard disk adopts an overwriting mode, namely, when writing data to the same logical address, the data is written in the same place each time, and old data is overwritten. The full flash memory array is stored in the process of processing write data, and an additional write mode is adopted, and a full stripe write-down mode is adopted in the disk array (Redundant Arrays of Independent Disks, RAID), so that the space of the storage system is a continuous consumption process in the process of receiving and processing data issued by a host, meanwhile, the space occupied by garbage data can be continuously recycled, the storage system continuously releases new available space, and finally, the availability and the data continuous write-in of the storage system are ensured through the continuous consumption and recycling of effective space.
The garbage collection process in the full flash memory array is realized through data arrangement and effective data migration, namely effective data in a space to be collected is migrated to other positions, and after the space is ensured to have no effective data, the space is wiped to be zero, so that the collection is completed. In general, the writing process of host data is faster than garbage collection, so that if no measure is taken, the consumption speed of the final storage space is far greater than the collection speed, and the space in the storage system is completely consumed, so that the system becomes unusable.
Fig. 1 is a schematic flow chart of a storage performance optimization method provided in the present application, and as shown in fig. 1, the method includes a step 110, a step 120, a step 130, and a step 140.
Step 110, determining a data block corresponding to the data to be written and a data block corresponding to the data to be migrated.
Specifically, the memory system in the embodiment of the application is a full flash array memory system. The execution subject of the storage performance optimization method provided by the embodiment of the application is a storage performance optimization device. The apparatus may be implemented in software, such as a storage performance optimization program running in a storage system; the storage performance optimization method may also be a device, such as a mobile terminal, a tablet computer, a desktop computer, or a server.
A data block refers to a unit of data in a data transmission, storage or process. For example, in a file system, a file may be divided into data blocks for storage, which may make more efficient use of storage space. In network communications, data is also divided into data blocks for transmission for exchange between different network nodes. The size of the data block may be determined according to specific requirements, such as performance of the system, availability of memory, network bandwidth, etc. Typically, larger data blocks may increase the efficiency of data transmission, storage or processing, but may also increase the risk of data loss; smaller data blocks may reduce the risk of data loss, but may reduce the efficiency of the system. In the embodiment of the application, the size of the data block can be determined according to the processing capability of the storage system.
The data to be written refers to data which is sent to the storage system by the host and is used for being written into the storage system and stored. A host computer generally refers to a computer system having computing power and resource management functions for running applications, managing hardware devices, and providing computing services.
The data to be migrated refers to data of which the storage position needs to be changed when storage space recovery is performed in the storage system. A large amount of data may be stored in the storage system, some of the data may fail, and some of the data may remain valid for a long period of time. When data arrangement and space recovery are performed on storage space of a storage system, effective data needs to be migrated, for example, long-term effective data is combined into a space block, and the effective data needing to be combined is data to be migrated.
The storage space of a storage system may be divided into a number of fixed-size blocks of space. The storage space refers to an area in the storage system for storing data. The space block is a management unit for space use and reclamation in the storage space and is used for storing and managing data. The storage system partitions the entire storage space into blocks of space for data storage, and applications and operating systems read and write data by accessing these blocks of space.
In the embodiment of the present application, the size of the data block may be set to be different from several bytes to several thousand bytes, and the size of the space block may be set to be different from several megabytes to several hundred megabytes. I.e. the size of the data block is smaller than the size of the spatial block.
Step 120, determining a plurality of beacons corresponding to the storage system based on the data processing capability information of the storage system; the beacons are used to allow writing of data blocks in various spatial blocks in the storage system.
In particular, the data processing capability information is used to describe information about the performance and capabilities that the storage system has in processing data. The data processing capability information may include processor performance, memory capacity, storage capacity, concurrent processing capability, network bandwidth, data transfer speed, and cache capacity, among others.
In the embodiment of the application, the beacon is an information identifier for processing the data blocks and is used for allowing the data blocks to be written in each space block in the storage system. A data block may be assigned a beacon, and if a data block is assigned to a beacon, the storage system may allow the data block to be written into a spatial block; if a data block is not allocated to a beacon, the storage system may refuse to write the data block to a spatial block.
The number of data blocks that a storage system can handle at the same time is limited due to the limitations of the hardware and software resources of the storage system itself. Accordingly, a plurality of beacons corresponding to the storage system can be determined based on the data processing capability information of the storage system. In the case where one beacon corresponds to processing one data block, the number of beacons represents the number of data blocks that the storage system can concurrently process.
Step 130, based on the storage space utilization information of the storage system, dividing the plurality of beacons into a first beacon and a second beacon, distributing the first beacon to a data block corresponding to the data to be written, and distributing the second beacon to a data block corresponding to the data to be migrated.
Specifically, for an all-flash array storage system, writing new data in the system consumes storage space in the system, and migrating data in the system reclaims the storage space in the system. In order to maintain a high availability and high performance of the storage system, the consumption speed and the reclamation speed of the storage space in the storage system should be kept at a balanced stable state all the time.
Each beacon controls the writing of one data block, and since the data blocks are the same in size, it is equivalent to each beacon that can control the writing of the same amount of data. During operation of the storage system, the data blocks need to be allocated to the beacons before being written, and then the data blocks are allowed to be written into the space blocks. When a spatial block to which a data block has been written needs to be recovered, a beacon needs to be allocated to the data block to allow the data block to be migrated from one spatial block to another (i.e., written to another). That is, by adjusting the ratio of the number of beacons allocated to the data to be written and the data to be migrated, orderly adjustment of the consumption speed and the reclamation speed of the storage space can be achieved.
Therefore, the plurality of beacons may be divided into a first beacon and a second beacon, the first beacon being allocated to the data block corresponding to the data to be written, the number of the first beacons being used to adjust the consumption speed of the storage space; and distributing second beacons to the data blocks corresponding to the data to be migrated, wherein the number of the second beacons is used for adjusting the recovery speed of the storage space.
The allocation of the number of first beacons and second beacons may be determined based on the memory space utilization information of the memory system. The storage space utilization information refers to information describing the use condition of storage space in the storage system, and may include information such as total storage space capacity, available storage space capacity, used storage space capacity, and storage space utilization.
For example, when the available storage space capacity is large, the consumption speed of the storage space can be allowed to be increased, so that the number of the first beacons can be set to be larger than the number of the second beacons; when the available storage space capacity is small, the recovery speed of the storage space can be allowed to increase, and therefore the number of first beacons can be set smaller than the number of second beacons.
And 140, writing the data blocks corresponding to the data to be written into each space block based on the first beacon and migrating the data blocks corresponding to the data to be migrated among the space blocks based on the second beacon.
Specifically, the data blocks corresponding to the data to be written can be written into each space block according to the first beacon, and the data blocks corresponding to the data to be migrated can be migrated among the space blocks according to the second beacon.
After the writing or migration of the data block is completed, the first and second beacons may be reclaimed and reassigned.
According to the storage performance optimization method provided by the embodiment of the application, the data block corresponding to the data to be written and the data block corresponding to the data to be migrated are determined; determining a plurality of beacons corresponding to the storage system based on the data processing capability information of the storage system; dividing a plurality of beacons into a first beacon and a second beacon based on storage space utilization information of a storage system, distributing the first beacon to a data block corresponding to data to be written and distributing the second beacon to a data block corresponding to data to be migrated; writing data blocks corresponding to the data to be written into each space block based on the first beacon and migrating the data blocks corresponding to the data to be migrated among the space blocks based on the second beacon; the beacons are used for allowing the writing of the data blocks in each space block in the storage system, the beacons are divided into the first beacons and the second beacons through the storage space utilization information of the storage system, the writing data and the migration data are controlled, the orderly adjustment of the consumption speed and the recovery speed of the storage space is realized, the space availability of the storage system is improved, meanwhile, the writing and the migration of the data are controlled in a mode of distributing the beacons, and the data processing efficiency and the storage performance of the storage system are improved.
It should be noted that each embodiment of the present application may be freely combined, permuted, or executed separately, and does not need to rely on or rely on a fixed execution sequence.
In some embodiments, step 130 comprises:
determining available storage space capacity and total storage space capacity in the storage system based on storage space utilization information of the storage system;
determining an available space duty cycle of the storage system based on the available storage space capacity and the total storage space capacity;
determining an allocable beacon of the plurality of beacons based on the plurality of beacons and the available space duty cycle;
the allocable beacons are divided into a first beacon and a second beacon, the first beacon is allocated to a data block corresponding to data to be written, and the second beacon is allocated to a data block corresponding to data to be migrated.
Specifically, the available storage space capacity and the total storage space capacity in the storage system may be determined from the storage space utilization information of the storage system.
The available storage space capacity refers to the space capacity in the storage system in which data has not been stored. The total storage space capacity refers to the total space capacity available to the storage system for storing data. From the available storage space capacity and the total storage space capacity, an available space duty cycle of the storage system may be determined. The larger the available space duty cycle, the more data the storage system is allowed to write; the smaller the available space ratio, the more data the storage system needs to migrate in order to reclaim more available space.
The number of beacons represents the number of data blocks that the storage system is capable of concurrently processing.
When the available space is relatively large, a plurality of beacons may be allocated throughout, thereby enabling the storage system to obtain the best system performance.
When the available space is small, that is, the storage system is in the condition of gradually exhausting the space, if writing or migration of the data blocks is not limited, the space of the storage system is consumed too quickly, so that the new available space is not increased to process the data, and related data services are forced to be interrupted. Therefore, the number of the plurality of beacons allocated can be limited according to the available space ratio, and the allocable beacon among the plurality of beacons can be determined. That is, only a portion of the beacons are allocated on the basis of the plurality of beacons, which are allocable beacons, and the remaining beacons are unallocated beacons. The writing and migration of data are controlled through the allocable beacons (partial beacons), so that the data processing speed of the storage system is reduced, and the excessive consumption of space is avoided. The processing speed and the performance of the host are also equivalent to being inhibited to a certain extent, but the data service can be ensured not to be interrupted.
The allocable beacons are divided into a first beacon and a second beacon, the first beacon is allocated to a data block corresponding to data to be written, and the second beacon is allocated to a data block corresponding to data to be migrated.
Considering that the available space duty ratio has dynamic change, the storage system can determine the available space duty ratio according to a preset time period, and then determine the allocable beacon corresponding to the current time period according to the available space duty ratio corresponding to the current time period.
According to the storage performance optimization method provided by the embodiment of the application, the allocable beacons in the plurality of beacons are determined through the available space ratio, the allocation quantity of the beacons is limited, the excessively rapid space consumption in the storage system is prevented, and the interruption of data service is avoided.
In some embodiments, determining an allocable beacon of the plurality of beacons based on the plurality of beacons and the available space duty cycle comprises:
determining a beacon availability ratio based on a preset association relation between the available space duty ratio and the beacon availability ratio;
determining an allocable beacon from a plurality of beacons based on the beacon availability ratio;
the preset association relation comprises at least one of a linear function relation, a curve function relation and a step function relation.
Specifically, the beacon availability ratio refers to a ratio of the number of beacons available for allocation among the plurality of beacons.
There may be a preset association between the available space duty cycle and the beacon availability ratio, and these relationships may include linear, curvilinear, and step functions. The proper preset association relation can be selected according to the actual situation.
A linear functional relationship means that the available space duty cycle is linearly related to the change in the available proportion of beacons. For example, as the available space duty cycle decreases, the available proportion of beacons (the final number of beacons allowed to be issued) also decreases linearly.
A curvilinear functional relationship means that the change in available space duty cycle versus available ratio of beacons is curvilinear. The curve type may be hyperbolic or exponential, etc. For example, when the available space is relatively large, the effect of the change in the available space ratio on the change in the available proportion of the beacon is insignificant; when the available space is relatively small, the effect of the change in the available space ratio on the change in the available proportion of the beacon is relatively obvious.
The step function relationship means that the change of the available space duty ratio and the available ratio of the beacon is in a step shape. The change value of the available space ratio is divided into a plurality of mutually exclusive intervals, and the available ratio of beacons corresponding to each interval is fixed. In general, as the available space duty cycle decreases, the beacon availability ratio also decreases. I.e. the trend of the stepped curve is downward.
The available proportion of the beacons of the storage system in the current time period can be determined according to the available space duty ratio of the storage system in the current time period and a preset association relation, and the allocable beacons of the current time period can be determined in a plurality of beacons according to the available proportion of the beacons.
According to the storage performance optimization method, the allocable beacons in the beacons are determined through the preset association relation and the available space ratio, the allocation quantity of the beacons is limited, the excessively rapid space consumption in the storage system is prevented, and the interruption of the data service is avoided.
In some embodiments, partitioning the allocable beacons into a first beacon and a second beacon, allocating the first beacon to a data block corresponding to data to be written and allocating the second beacon to a data block corresponding to data to be migrated includes:
determining a beacon allocation ratio based on the available space duty cycle;
dividing the allocable beacons into a first beacon and a second beacon based on the beacon allocation proportion;
and distributing the first beacon to the data block corresponding to the data to be written and the second beacon to the data block corresponding to the data to be migrated.
Specifically, the beacon allocation ratio refers to a ratio of the number of allocable beacons allocated as the first beacon and the second beacon.
The beacon allocation ratio may be determined based on the available space duty cycle. For example, when the available space is relatively large, the storage system can preferentially process the data to be written sent by the host, so that the response speed of the host to the data service is improved, and beacons can be allocated for the data to be written at the moment, namely, the number of the first beacons can be increased; when the available space occupies a relatively small space, the storage system can preferentially recycle the space, process the data to be migrated, slow down the data to be written sent by the processing host, properly reduce the response speed of the host to the data service, avoid the interruption of the data service caused by insufficient storage space, and can allocate beacons for the data to be migrated at the moment, namely, can increase the number of second beacons.
For example, the beacon allocation ratio is the ratio of the number of first beacons to the number of second beacons. When the number of the beacon allocation proportion is larger, the allocation quantity of the first beacons is larger, the allocation quantity of the second beacons is smaller, the consumption speed of the storage system space is higher, and the recovery speed is slower; when the number of the beacon allocation ratio is smaller, the number of the first beacons allocated is smaller, and the number of the second beacons allocated is larger, so that the consumption speed of the storage system space is slower and the recovery speed is faster.
After determining the beacon allocation proportion, the allocatable beacons may be divided into a first beacon and a second beacon, and the first beacon is allocated to a data block corresponding to the data to be written and the second beacon is allocated to a data block corresponding to the data to be migrated.
According to the storage performance optimization method provided by the embodiment of the application, the beacon allocation proportion is determined according to the available space duty ratio, and the allocable beacons are divided into the first beacon and the second beacon, so that the written data and the migration data are controlled, the consumption speed and the recovery speed of the storage space are orderly regulated, and the space availability of the storage system is improved.
In some embodiments, determining the beacon allocation ratio based on the available space duty cycle comprises:
dividing the allocable beacons into a first beacon and a second beacon based on a first beacon allocation ratio under the condition that the available space duty ratio is larger than a first preset ratio threshold; the number of first beacons is greater than the number of second beacons in the first beacon allocation proportion.
Specifically, the first preset proportional threshold may be determined according to an actual performance of the storage system. And under the condition that the available space occupation ratio is larger than a first preset proportion threshold value, the available space in the storage system is more, and the data to be written sent by the host computer can be processed preferentially. More beacons may be allocated to the data to be written.
The first beacon allocation ratio in which the number of first beacons is larger than the number of second beacons may be set. For example, the first beacon allocation ratio may be 1000:1, even higher. The allocable beacons are divided into a first beacon and a second beacon according to a first beacon allocation ratio.
According to the storage performance optimization method, when the available space ratio is larger than the first preset proportion threshold value, the number of the first beacons is distributed to be larger than the number of the second beacons, so that the response of the storage system to data sent by the host is improved, and the response speed of data service is improved.
In some embodiments, determining the beacon allocation ratio based on the available space duty cycle comprises:
dividing the allocable beacons into a first beacon and a second beacon based on a second beacon allocation ratio under the condition that the available space occupation ratio is smaller than or equal to a first preset ratio threshold value and larger than a second preset ratio threshold value; the number of first beacons in the second beacon allocation proportion is equal to the number of second beacons;
wherein the first preset proportional threshold is greater than the second preset proportional threshold.
In particular, the second preset proportional threshold may be determined based on the actual performance of the storage system, but should be less than the first preset proportional threshold.
And under the condition that the available space duty ratio is smaller than or equal to a first preset proportion threshold value and larger than a second preset proportion threshold value, the available space consumption in the storage system is larger, and at the moment, the processing speed of data to be written sent by the host computer needs to be reduced, and the recovery speed of the available space is improved, namely the processing speed of the data to be migrated is improved.
A second beacon allocation ratio may thus be set in which the number of first beacons is equal to the number of second beacons. For example, the second beacon allocation ratio may be 1:1. at this time, the space consumption speed is equal to the space recovery speed, and the equilibrium state is maintained.
According to the storage performance optimization method, when the available space duty ratio is smaller than or equal to the first preset proportion threshold value and is larger than the second preset proportion threshold value, the number of the first beacons is distributed to be equal to the number of the second beacons, so that the space consumption speed is equal to the space recovery speed, and the space availability of the storage system is improved.
In some embodiments, determining the beacon allocation ratio based on the available space duty cycle comprises:
dividing the allocable beacons into a first beacon and a second beacon based on a third beacon allocation ratio under the condition that the available space duty ratio is smaller than or equal to a second preset ratio threshold; the number of first beacons is less than the number of second beacons in the third beacon allocation proportion.
Specifically, when the available space duty ratio is smaller than or equal to the second preset proportion threshold, the available space in the storage system is excessively consumed, the data service is at an interruption risk, and the recovery speed of the space needs to be improved, so that the recovery speed is larger than the consumption speed.
A third beacon allocation ratio may be set in which the number of first beacons is smaller than the number of second beacons. For example, the second beacon allocation ratio may be 1:10, or even higher. In this case, the space consumption rate is smaller than the space recovery rate, and the size of the available space can be increased.
According to the storage performance optimization method, when the available space duty ratio is smaller than or equal to the second preset proportion threshold value, the number of the first beacons is smaller than that of the second beacons, so that the space consumption speed is smaller than the space recovery speed, and the space availability of the storage system is improved.
In some embodiments, allocating the first beacon to a data block corresponding to data to be written and allocating the second beacon to a data block corresponding to data to be migrated includes:
determining a number of first beacons currently allocated and a number of second beacons currently allocated;
Determining a maximum allocation number of the first beacons based on the number of second beacons currently allocated and the beacon allocation proportion;
and under the condition that the number of the first beacons which are allocated currently is smaller than the maximum allocation number, determining the number of the first beacons which need to be allocated, and allocating the first beacons which need to be allocated to the data blocks corresponding to the data to be written.
Specifically, after the beacon allocation proportion is determined, the beacon allocation can be performed with the data to be migrated as a reference, that is, the space recovery speed is preferentially ensured.
The number of first beacons currently allocated and the number of second beacons currently allocated may be counted and determined at the current time. And determining the maximum allocation quantity of the first beacons according to the quantity of the second beacons which are allocated currently and the beacon allocation proportion. The maximum allocation number is the maximum number of allowed allocations for the first beacon.
And under the condition that the number of the first beacons which are allocated currently is smaller than the maximum allocation number, determining the number of the first beacons which need to be allocated according to the maximum allocation number and the number of the first beacons which are allocated currently, and allocating the first beacons which need to be allocated to the data blocks corresponding to the data to be written. In this case, the number ratio of the first beacon and the second beacon does not exceed the beacon allocation ratio.
According to the storage performance optimization method, the quantity of the first beacons and the second beacons which are distributed at present is counted, and the first beacons are distributed by taking the quantity of the second beacons as a reference, so that the quantity proportion of the first beacons and the second beacons cannot exceed the beacon distribution proportion, the requirement of the available space proportion of a storage system can be met, and the space availability of the storage system is improved.
In some embodiments, after determining the maximum allocation number of the first beacons based on the number of second beacons currently allocated and the beacon allocation proportion, the method further comprises:
and stopping the allocation of the first beacons when the number of the first beacons which are allocated currently is greater than or equal to the maximum allocation number.
Specifically, in the case where the number of the first beacons that have been currently allocated is greater than or equal to the maximum allocation number, in order to prevent the number ratio of the first beacons to the second beacons from exceeding the beacon allocation ratio, writing of data to be written is restricted, excessive space consumption is avoided, and allocation of the first beacons may be stopped.
According to the storage performance optimization method, when the number of the first beacons allocated at present is greater than or equal to the maximum allocation number, the first beacons are stopped being allocated, excessive consumption of space is avoided, the space recovery speed is guaranteed preferentially, and the space availability of a storage system is improved.
In some embodiments, step 110 comprises:
receiving data to be written sent by a host;
splitting and filling operation is carried out on data to be written based on a preset storage capacity, and a data block corresponding to the data to be written is determined;
wherein the preset storage capacity is smaller than the storage capacity of each space block in the storage system.
In particular, split padding is used to split data into fixed-size blocks and fill in as needed to meet specific requirements. The splitting operation refers to splitting original data into a plurality of smaller blocks according to a specified size. This process may be split based on a fixed block size or may be flexibly split according to specific conditions or rules. The padding operation refers to that if the size of the last block in the split data blocks does not meet the requirement, extra data is padded at the end so as to reach the required size. Common padding approaches include the use of specific bytes or specific padding algorithms.
The data to be written is typically sent by the host. The splitting and filling operation can be performed on the data to be written according to the preset storage capacity, the data to be written is divided into a plurality of data blocks with fixed sizes, and the size of each data block is equal to the preset storage capacity. The preset storage capacity may be set as needed and should be smaller than the storage capacity of each space block in the storage system so that one space block can write a plurality of data blocks.
According to the storage performance optimization method, split and fill-in operations are carried out on the data to be written, the data to be written is ordered, loss or errors of the data in the processing process can be reduced, a storage system is convenient to operate on the data to be written, and data processing efficiency and storage performance of the storage system are improved.
In some embodiments, step 110 comprises:
traversing each space block in the storage system, and determining the effective data duty ratio in each space block;
determining a space block with the minimum effective data occupation ratio as a space block to be recovered;
and determining the effective data in the space block to be recovered as data to be migrated, and determining the data block corresponding to the effective data as the data block corresponding to the data to be migrated.
Specifically, each space block in the storage system may be traversed at a set time interval, validity of data stored in each space block may be detected, and valid data in each space block and a data block corresponding to the valid data may be determined. And determining the effective data duty ratio in each space block according to the number of the data blocks corresponding to the effective data and the total number of the data blocks which can be stored in each space block.
The spatial block with the smallest effective data duty ratio may be determined as the spatial block to be reclaimed. The effective data duty ratio in the space block is the smallest, and the rest of the space has no data written or the written data has failed (is invalid data). The migration of data in the block of space allows space to be reclaimed at a minimum cost.
After the space block to be recovered is determined, determining the effective data in the space block to be recovered as data to be migrated, and determining the data block corresponding to the effective data as the data block corresponding to the data to be migrated.
After the data block corresponding to the data to be migrated is migrated to other space blocks, the space blocks to be recovered are zero-smeared or formatted after no effective data is ensured, and thus space recovery is completed.
According to the storage performance optimization method provided by the embodiment of the application, the space block with the minimum effective data duty ratio is determined as the space block to be recycled, so that the data quantity required to be migrated in the recycling process can be reduced, the consumption of system resources is reduced, and the data processing efficiency and the storage performance of the storage system are improved.
In some embodiments, step 120 comprises:
determining the number of concurrent processing data blocks of the storage system in unit time based on the data processing capability information of the storage system;
Determining the number of beacons corresponding to the storage system; the number of beacons is equal to the number of data blocks processed by the storage system in parallel in unit time;
based on the number of beacons, a plurality of beacons is created.
Specifically, according to the data processing capability information of the storage system, the number of concurrent processing data blocks of the storage system in a unit time is determined. For example, the number of Input/output operations per second (Input/Output Operations Per Second, IOPS) of the storage system may be determined, and based on the number of Input/output operations corresponding to each data block, the number of concurrent processing data blocks per unit time (per second) of the storage system may be determined.
The number of beacons may be determined in accordance with the principle that one beacon corresponds to processing one data block. After determining the number of beacons, a corresponding plurality of beacons may be created.
According to the storage performance optimization method provided by the embodiment of the application, the beacons with the corresponding number are created according to the number of the concurrent processing data blocks of the storage system in unit time, so that the processing capacity of the storage system is consistent with the number of the data blocks, and the data processing efficiency of the storage system is improved.
In some embodiments, step 140 comprises:
determining a first target space block in each space block in the storage system based on the first beacon, and writing a data block corresponding to data to be written into the first target space block;
The first beacon is recovered.
Specifically, the storage system may determine a first target space block in each space block according to the first beacon, and write a data block corresponding to the data to be written into the first target space block in an additional writing manner.
After the data block corresponding to the data to be written is written, the storage system can recycle the first beacon, take the first beacon as a new beacon, and allocate the new data to be written or the data block corresponding to the data to be migrated.
According to the storage performance optimization method, after the data to be written is written, the first beacon is recovered, so that the created beacon can be effectively managed, and the storage space management efficiency of the storage system is improved.
In some embodiments, determining a first target spatial block from among the spatial blocks in the storage system based on the first beacon, writing a data block corresponding to data to be written to the first target spatial block, includes:
under the condition that the number of the data blocks corresponding to the data to be written is a plurality of, determining a first target space block corresponding to the data blocks corresponding to the data to be written as the same space block;
and writing the data block corresponding to the data to be written into the same space block.
Specifically, in order to reduce the amount of data to be migrated that may be generated, it is necessary to optimally control the layout of the data blocks.
The key for reducing the data migration quantity is to distinguish according to the data types, data with similar failure periods are integrated into one space block as far as possible, and data with different failure periods are respectively put into different space blocks, so that most of the data in the selected space blocks are in failure states without migration when the space blocks are recycled, and therefore the space blocks can be recycled only by extremely few data, and the migration data quantity is effectively reduced.
The data to be written is the data that is newly written to the storage system, typically such data is most inefficient, or the length of time that the validity of the data written simultaneously may be consistent. Therefore, when the number of data blocks corresponding to the data to be written is plural, the first target space block corresponding to the data to be written can be determined as the same space block, and all the data blocks corresponding to the data to be written can be written into the same space block. The time period of validity of the data in the spatial block may be consistent (failure time is relatively close) to facilitate centralized cleaning or migration.
According to the storage performance optimization method, the data blocks corresponding to the data to be written are written into the same space block, so that the space block is convenient to clear or migrate together in the later space block recovery process, the frequency of later data migration can be effectively reduced, and fewer system resources are consumed.
In some embodiments, step 140 comprises:
determining a second target space block in each space block in the storage system based on the second beacon, and writing a data block corresponding to the data to be migrated into the second target space block from the current space block;
the second beacon is reclaimed and the current spatial block is set to the available spatial block.
Specifically, the storage system may determine a second target space block in each space block according to the second beacon, and write the data block corresponding to the data to be migrated from the current space block into the second target space block.
After the data block corresponding to the data to be migrated is written, the storage system can recycle the second beacon, take the second beacon as a new beacon, and allocate the new data to be written or the data block corresponding to the data to be migrated.
For the current space block, in which valid data (data to be migrated) has been written into the second target space block, the storage space of the space block may be reclaimed, and the space block may be set as an available space block.
According to the storage performance optimization method, after the data block corresponding to the data to be migrated is written into the second target space block from the current space block, the second beacon is recovered, the created beacon can be effectively managed, and the storage space management efficiency of the storage system is improved.
In some embodiments, determining a second target spatial block from among the spatial blocks in the storage system based on the second beacon, writing a data block corresponding to the data to be migrated from the current spatial block to the second target spatial block, includes:
determining migration times of data to be migrated in each data block under the condition that the number of the data blocks corresponding to the data to be migrated is a plurality of data blocks;
classifying the data blocks corresponding to the data to be migrated based on the migration times, and dividing the data blocks corresponding to the data to be migrated with the same migration times into the same class;
determining a second target space block corresponding to the data blocks belonging to the same class as the same space block;
and writing the data blocks belonging to the same class into the same space block from the current space block corresponding to each data block.
Specifically, the migration data represents valid data identified in the space block recovery process, and the data is not invalid in a long period of time, so that the data needs to be migrated, and the failure rate is low; multiple migration data indicates that such data has undergone multiple valid data migration, indicating that such data is extremely inefficient, approximately long-term valid, and therefore, in principle, such data if combined into a spatial block, the spatial block is almost entirely valid data and substantially no reclamation is required nor migration data is generated. That is, the number of migration times may be used to determine the validity period of the data.
Under the condition that the number of the data blocks corresponding to the data to be migrated is a plurality of, the migration times of the data to be migrated in each data block can be determined, the data blocks corresponding to the data to be migrated are classified according to the migration times, and the data blocks corresponding to the data to be migrated with the same migration times are classified into the same class. For example, migration data is divided into multiple levels, such as single migration data, five internal migration data, ten internal migration data, more than ten migration data, etc., generally, the finer the division is, the more obvious the effect of reducing migration data is, but the design complexity is also increased in response, so the classification standard needs to be determined according to the specific situation and requirement.
And determining a second target space block corresponding to the data blocks belonging to the same class as the same space block, and writing the data blocks belonging to the same class into the same space block from the current space block corresponding to each data block.
Data with close effective times are written or migrated to the same spatial blocks, which are either cleaned at the same time or need little reclamation. If the time of validity of the data in a spatial block is relatively close to or near long-term valid, the spatial block need not be data migrated. Under the condition that the data quantity of the data to be migrated is the same, the optimized layout of the data blocks is realized in the mode, which is equivalent to reducing the data blocks to be migrated, reducing the resource consumption of the storage system and improving the storage performance of the storage system.
According to the storage performance optimization method provided by the embodiment of the application, the data blocks corresponding to the data to be migrated, which have the same migration times, are divided into the same class; and determining a second target space block corresponding to the data blocks belonging to the same class as the same space block, so that the optimal layout of the data blocks is realized, migration data possibly generated in the recovery process is reduced, and the data to be migrated is always kept at a lower level, thereby reducing the influence of data migration on the performance, indirectly improving the efficiency of processing the host data by the system, and improving the overall performance of the system.
The apparatus provided in the embodiments of the present application will be described below, and the apparatus described below and the method described above may be referred to correspondingly.
Fig. 2 is a schematic structural diagram of a storage performance optimizing apparatus provided in the present application, and as shown in fig. 2, a storage performance optimizing apparatus 200 includes:
a data determining unit 210, configured to determine a data block corresponding to the data to be written and a data block corresponding to the data to be migrated;
a beacon determining unit 220, configured to determine a plurality of beacons corresponding to the storage system based on the data processing capability information of the storage system; the beacons are used to allow writing of data blocks in respective spatial blocks in the storage system;
A beacon allocation unit 230, configured to divide a plurality of beacons into a first beacon and a second beacon based on storage space utilization information of the storage system, allocate the first beacon to a data block corresponding to data to be written and allocate the second beacon to a data block corresponding to data to be migrated;
the data processing unit 240 is configured to write the data block corresponding to the data to be written into each space block based on the first beacon and migrate the data block corresponding to the data to be migrated between each space block based on the second beacon.
The storage performance optimizing device provided by the embodiment of the application determines a data block corresponding to data to be written and a data block corresponding to data to be migrated; determining a plurality of beacons corresponding to the storage system based on the data processing capability information of the storage system; dividing a plurality of beacons into a first beacon and a second beacon based on storage space utilization information of a storage system, distributing the first beacon to a data block corresponding to data to be written and distributing the second beacon to a data block corresponding to data to be migrated; writing data blocks corresponding to the data to be written into each space block based on the first beacon and migrating the data blocks corresponding to the data to be migrated among the space blocks based on the second beacon; the beacons are used for allowing the writing of the data blocks in each space block in the storage system, the beacons are divided into the first beacons and the second beacons through the storage space utilization information of the storage system, the writing data and the migration data are controlled, the orderly adjustment of the consumption speed and the recovery speed of the storage space is realized, the space availability of the storage system is improved, meanwhile, the writing and the migration of the data are controlled in a mode of distributing the beacons, and the data processing efficiency and the storage performance of the storage system are improved.
In some embodiments, the beacon allocation unit is to:
determining available storage space capacity and total storage space capacity in the storage system based on storage space utilization information of the storage system;
determining an available space duty cycle of the storage system based on the available storage space capacity and the total storage space capacity;
determining an allocable beacon of the plurality of beacons based on the plurality of beacons and the available space duty cycle;
the allocable beacons are divided into a first beacon and a second beacon, the first beacon is allocated to a data block corresponding to data to be written, and the second beacon is allocated to a data block corresponding to data to be migrated.
In some embodiments, the beacon allocation unit is to:
determining a beacon availability ratio based on a preset association relation between the available space duty ratio and the beacon availability ratio;
determining an allocable beacon from a plurality of beacons based on the beacon availability ratio;
the preset association relation comprises at least one of a linear function relation, a curve function relation and a step function relation.
In some embodiments, the beacon allocation unit is to:
determining a beacon allocation ratio based on the available space duty cycle;
dividing the allocable beacons into a first beacon and a second beacon based on the beacon allocation proportion;
And distributing the first beacon to the data block corresponding to the data to be written and the second beacon to the data block corresponding to the data to be migrated.
In some embodiments, the beacon allocation unit is to:
dividing the allocable beacons into a first beacon and a second beacon based on a first beacon allocation ratio under the condition that the available space duty ratio is larger than a first preset ratio threshold; the number of first beacons is greater than the number of second beacons in the first beacon allocation proportion.
In some embodiments, the beacon allocation unit is to:
dividing the allocable beacons into a first beacon and a second beacon based on a second beacon allocation ratio under the condition that the available space occupation ratio is smaller than or equal to a first preset ratio threshold value and larger than a second preset ratio threshold value; the number of first beacons in the second beacon allocation proportion is equal to the number of second beacons;
wherein the first preset proportional threshold is greater than the second preset proportional threshold.
In some embodiments, the beacon allocation unit is to:
dividing the allocable beacons into a first beacon and a second beacon based on a third beacon allocation ratio under the condition that the available space duty ratio is smaller than or equal to a second preset ratio threshold; the number of first beacons is less than the number of second beacons in the third beacon allocation proportion.
In some embodiments, the beacon allocation unit is to:
determining a number of first beacons currently allocated and a number of second beacons currently allocated;
determining a maximum allocation number of the first beacons based on the number of second beacons currently allocated and the beacon allocation proportion;
and under the condition that the number of the first beacons which are allocated currently is smaller than the maximum allocation number, determining the number of the first beacons which need to be allocated, and allocating the first beacons which need to be allocated to the data blocks corresponding to the data to be written.
In some embodiments, the beacon allocation unit is to:
and stopping the allocation of the first beacons when the number of the first beacons which are allocated currently is greater than or equal to the maximum allocation number.
In some embodiments, the data determination unit is to:
receiving data to be written sent by a host;
splitting and filling operation is carried out on data to be written based on a preset storage capacity, and a data block corresponding to the data to be written is determined;
wherein the preset storage capacity is smaller than the storage capacity of each space block in the storage system.
In some embodiments, the data determination unit is to:
traversing each space block in the storage system, and determining the effective data duty ratio in each space block;
Determining a space block with the minimum effective data occupation ratio as a space block to be recovered;
and determining the effective data in the space block to be recovered as data to be migrated, and determining the data block corresponding to the effective data as the data block corresponding to the data to be migrated.
In some embodiments, the beacon determination unit is to:
determining the number of concurrent processing data blocks of the storage system in unit time based on the data processing capability information of the storage system;
determining the number of beacons corresponding to the storage system; the number of beacons is equal to the number of data blocks processed by the storage system in parallel in unit time;
based on the number of beacons, a plurality of beacons is created.
In some embodiments, the data processing unit is to:
determining a first target space block in each space block in the storage system based on the first beacon, and writing a data block corresponding to data to be written into the first target space block;
the first beacon is recovered.
In some embodiments, the data processing unit is to:
under the condition that the number of the data blocks corresponding to the data to be written is a plurality of, determining a first target space block corresponding to the data blocks corresponding to the data to be written as the same space block;
and writing the data block corresponding to the data to be written into the same space block.
In some embodiments, the data processing unit is to:
determining a second target space block in each space block in the storage system based on the second beacon, and writing a data block corresponding to the data to be migrated into the second target space block from the current space block;
the second beacon is reclaimed and the current spatial block is set to the available spatial block.
In some embodiments, the data processing unit is to:
determining migration times of data to be migrated in each data block under the condition that the number of the data blocks corresponding to the data to be migrated is a plurality of data blocks;
classifying the data blocks corresponding to the data to be migrated based on the migration times, and dividing the data blocks corresponding to the data to be migrated with the same migration times into the same class;
determining a second target space block corresponding to the data blocks belonging to the same class as the same space block;
and writing the data blocks belonging to the same class into the same space block from the current space block corresponding to each data block.
FIG. 3 is a second schematic structural diagram of the storage performance optimizing apparatus provided in the present application, as shown in FIG. 3, the apparatus further includes:
and a beacon resource pool unit 250 connected to the beacon determination unit 220 for storing a plurality of beacons corresponding to the storage system.
Specifically, the beacon resource pool unit is used for storing a plurality of beacons corresponding to the storage system. After the first and second beacons are reclaimed, the beacons may be restored to the beacon resource pool unit.
FIG. 4 is a third schematic structural diagram of the storage performance optimizing apparatus provided in the present application, as shown in FIG. 4, the apparatus further includes:
the beacon counting unit 260 is connected to the beacon allocation unit 230, and records allocation information of the first beacon and allocation information of the second beacon.
Specifically, the beacon counting unit is mainly used for recording the currently issued beacon (including the first beacon and the second beacon), and the information such as the number of beacons acquired by the data to be written and the data to be migrated.
Fig. 5 is a schematic diagram of the structure of the storage performance optimizing apparatus provided in the present application, and as shown in fig. 5, the beacon determination unit 220, the beacon resource pool unit 250, the beacon allocation unit 230, and the beacon counting unit 260 together constitute a beacon control unit 500 in the storage performance optimizing apparatus.
Fig. 6 is a working flow chart of the storage performance optimizing apparatus provided in the present application, as shown in fig. 6, after the data to be written (host data) and the data to be migrated are input into the data determining unit, splitting and filling operations are performed on the data to obtain one or more data blocks with the same size. Applying for the beacon for each data block through the beacon control unit, and if the beacon is applied, after the data block gets the beacon, waiting for processing by the data block together with the beacon reaching the data processing unit; if the current round does not apply for a beacon, the beacon control unit continues to wait for the beacon to be allocated.
After receiving the data block, the data processing unit selects a proper space block and fills the data block into the space block; after the data population is completed, the beacons corresponding to the data will be returned to the beacon control unit for use by the beacon control unit in subsequent rounds. When the space block is filled, the data writing disc is completed immediately.
In the whole process, the beacon control unit plays a core role, and the control of the speed of data processing and the proportional distribution of host data and migration data is realized by controlling the distribution quantity and the proportional relation of beacons.
FIG. 7 is a flowchart of a data processing unit according to the present application, wherein the data processing unit fills data blocks of different sources into different space blocks through the identified source information of the data blocks, that is, the host data (data to be written) is centrally filled into the space blocks, and the space blocks are relatively fast due to data failure and are the main part of recovery later, and because average failure is fast, most of the data blocks are failed and only a small amount of data needs to be migrated during recovery; the migration data are intensively filled into other space blocks, and the space blocks have low data failure rate, so that the space blocks can take a long time to recover, and the recovery time is when a large amount of failure data appear in the space blocks; the data in the space blocks are still valid after being migrated for a plurality of times, which means that the data is not invalid for a long time, so that after the data is concentrated into one space block, the space blocks are hardly recycled, and therefore the migrated data cannot occur.
FIG. 8 is a schematic diagram of a storage system provided in the present application, and as shown in FIG. 8, a storage system 800 includes a storage performance optimization apparatus 200 and a flash memory array 810;
the flash memory array 810 is connected to the storage performance optimizing apparatus 200, and is used for storing data to be written and data to be migrated; the storage performance optimizing apparatus 200 is used to perform the storage performance optimizing method in the above-described embodiment.
Flash arrays (Flash arrays) are a type of storage device built with Flash storage media (e.g., solid State Disks (SSDs)) to provide a high performance, low latency, and high reliability data storage solution. Flash memory arrays are commonly used in applications that require fast access and processing of large amounts of data, such as databases, virtualized environments, cloud computing, and the like.
According to the storage system provided by the embodiment of the application, the writing data and the migration data are controlled through the storage performance optimizing device, the consumption speed and the recovery speed of the storage space are orderly regulated, the space availability of the storage system is improved, meanwhile, the writing and the migration of the data are controlled in a beacon allocation mode, and the data processing efficiency and the storage performance of the storage system are improved.
Fig. 9 is a schematic structural diagram of an electronic device provided in the present application, and as shown in fig. 9, the electronic device may include: processor (Processor) 910, communication interface (Communications Interface) 920, memory (Memory) 930, and communication bus (Communications Bus) 940, wherein Processor 910, communication interface 920, memory 930 complete communication with each other via communication bus 940. Processor 910 may invoke logic commands in memory 930 to perform the methods described in the embodiments above, such as:
determining a data block corresponding to the data to be written and a data block corresponding to the data to be migrated; determining a plurality of beacons corresponding to the storage system based on the data processing capability information of the storage system; the beacons are used to allow writing of data blocks in respective spatial blocks in the storage system; dividing a plurality of beacons into a first beacon and a second beacon based on storage space utilization information of a storage system, distributing the first beacon to a data block corresponding to data to be written and distributing the second beacon to a data block corresponding to data to be migrated; and writing the data blocks corresponding to the data to be written into each space block based on the first beacon and migrating the data blocks corresponding to the data to be migrated among the space blocks based on the second beacon.
In addition, the logic commands in the memory described above may be implemented in the form of software functional units and may be stored in a computer readable storage medium when sold or used as a stand alone product. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art or in a part of the technical solution, in the form of a software product stored in a storage medium, comprising several commands for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
The processor in the electronic device provided by the embodiment of the present application may call the logic instruction in the memory to implement the above method, and the specific implementation manner of the processor is consistent with the implementation manner of the foregoing method, and may achieve the same beneficial effects, which are not described herein again.
The present application also provides a computer-readable storage medium having stored thereon a computer program which, when executed by a processor, is implemented to perform the methods provided by the above embodiments.
The specific embodiment is consistent with the foregoing method embodiment, and the same beneficial effects can be achieved, and will not be described herein.
Embodiments of the present application provide a computer program product comprising a computer program which, when executed by a processor, implements a method as described above.
The apparatus embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
From the above description of the embodiments, it will be apparent to those skilled in the art that the embodiments may be implemented by means of software plus necessary general hardware platforms, or of course may be implemented by means of hardware. Based on this understanding, the foregoing technical solution may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as ROM/RAM, a magnetic disk, an optical disk, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute the method described in the respective embodiments or some parts of the embodiments.
Finally, it should be noted that: the above embodiments are only for illustrating the technical solution of the present application, and are not limiting thereof; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the corresponding technical solutions.

Claims (19)

1. A method for optimizing storage performance, comprising:
determining a data block corresponding to the data to be written and a data block corresponding to the data to be migrated;
determining a plurality of beacons corresponding to a storage system based on data processing capability information of the storage system; the beacons are used for allowing writing of data blocks in respective spatial blocks in the storage system;
dividing the beacons into a first beacon and a second beacon based on the storage space utilization information of the storage system, distributing the first beacon to a data block corresponding to the data to be written and distributing the second beacon to a data block corresponding to the data to be migrated;
Writing the data blocks corresponding to the data to be written into each space block based on the first beacon and migrating the data blocks corresponding to the data to be migrated among the space blocks based on the second beacon;
the dividing the plurality of beacons into a first beacon and a second beacon based on the storage space utilization information of the storage system, allocating the first beacon to a data block corresponding to the data to be written, and allocating the second beacon to a data block corresponding to the data to be migrated, includes:
determining available storage space capacity and total storage space capacity in the storage system based on storage space utilization information of the storage system;
determining an available space duty cycle of the storage system based on the available storage space capacity and the total storage space capacity;
determining an allocable beacon of the plurality of beacons based on the plurality of beacons and the available space duty cycle;
dividing the allocable beacons into a first beacon and a second beacon, allocating the first beacon to a data block corresponding to the data to be written, and allocating the second beacon to a data block corresponding to the data to be migrated.
2. The storage performance optimization method of claim 1, wherein the determining an allocable beacon of the plurality of beacons based on the plurality of beacons and the available space duty cycle comprises:
determining a beacon availability ratio based on a preset association relation between the available space ratio and the beacon availability ratio;
determining the allocable beacons in the plurality of beacons based on the beacon availability ratio;
the preset association relation comprises at least one of a linear function relation, a curve function relation and a step function relation.
3. The storage performance optimization method according to claim 1, wherein the dividing the allocable beacons into a first beacon and a second beacon, allocating the first beacon to a data block corresponding to the data to be written and allocating the second beacon to a data block corresponding to the data to be migrated includes:
determining a beacon allocation ratio based on the available space duty cycle;
dividing the allocable beacons into a first beacon and a second beacon based on the beacon allocation proportion;
and distributing the first beacon to a data block corresponding to the data to be written and distributing the second beacon to a data block corresponding to the data to be migrated.
4. The storage performance optimization method of claim 3, wherein said determining a beacon allocation ratio based on said available space duty cycle comprises:
dividing the allocable beacons into a first beacon and a second beacon based on a first beacon allocation ratio under the condition that the available space duty ratio is larger than a first preset ratio threshold; the number of first beacons is greater than the number of second beacons in the first beacon allocation proportion.
5. The storage performance optimization method of claim 4, wherein the determining a beacon allocation ratio based on the available space duty cycle comprises:
dividing the allocable beacons into a first beacon and a second beacon based on a second beacon allocation ratio if the available space duty cycle is less than or equal to the first preset ratio threshold and greater than a second preset ratio threshold; the number of the first beacons in the second beacon allocation proportion is equal to the number of the second beacons;
wherein the first preset proportional threshold is greater than the second preset proportional threshold.
6. The storage performance optimization method of claim 5, wherein the determining a beacon allocation ratio based on the available space duty cycle comprises:
Dividing the allocable beacons into a first beacon and a second beacon based on a third beacon allocation ratio under the condition that the available space duty ratio is smaller than or equal to the second preset ratio threshold; the number of first beacons is less than the number of second beacons in the third beacon allocation proportion.
7. The storage performance optimization method according to claim 3, wherein the allocating the first beacon to the data block corresponding to the data to be written and the second beacon to the data block corresponding to the data to be migrated includes:
determining a number of first beacons currently allocated and a number of second beacons currently allocated;
determining a maximum allocation number of the first beacons based on the number of the second beacons which are currently allocated and the beacon allocation proportion;
and under the condition that the number of the first beacons which are currently allocated is smaller than the maximum allocation number, determining the number of the first beacons which need to be allocated, and allocating the first beacons which need to be allocated to the data blocks corresponding to the data to be written.
8. The storage performance optimization method of claim 7, wherein after determining the maximum allocation number of first beacons based on the number of currently allocated second beacons and the beacon allocation ratio, the method further comprises:
And stopping distributing the first beacons under the condition that the number of the first beacons distributed currently is greater than or equal to the maximum distribution number.
9. The storage performance optimization method according to claim 1, wherein the determining the data block corresponding to the data to be written and the data block corresponding to the data to be migrated includes:
receiving data to be written sent by a host;
splitting and filling the data to be written based on a preset storage capacity, and determining a data block corresponding to the data to be written;
the preset storage capacity is smaller than the storage capacity of each space block in the storage system.
10. The storage performance optimization method according to claim 1, wherein the determining the data block corresponding to the data to be written and the data block corresponding to the data to be migrated includes:
traversing each space block in the storage system, and determining the effective data duty ratio in each space block;
determining a space block with the minimum effective data occupation ratio as a space block to be recovered;
and determining the effective data in the space block to be recovered as the data to be migrated, and determining the data block corresponding to the effective data as the data block corresponding to the data to be migrated.
11. The storage performance optimization method according to claim 1, wherein determining a plurality of beacons corresponding to the storage system based on data processing capability information of the storage system comprises:
determining the number of concurrent processing data blocks of the storage system in unit time based on the data processing capability information of the storage system;
determining the number of beacons corresponding to the storage system; the number of the beacons is equal to the number of the data blocks which are processed by the storage system in a concurrent mode in unit time;
the plurality of beacons is created based on the number of beacons.
12. The storage performance optimization method according to claim 1, wherein the writing the data block corresponding to the data to be written into each spatial block based on the first beacon includes:
determining a first target space block in each space block in the storage system based on the first beacon, and writing the data block corresponding to the data to be written into the first target space block;
recovering the first beacon.
13. The storage performance optimization method according to claim 12, wherein determining a first target space block among the space blocks in the storage system based on the first beacon, and writing the data block corresponding to the data to be written into the first target space block includes:
Under the condition that the number of the data blocks corresponding to the data to be written is a plurality of, determining a first target space block corresponding to the data to be written as the same space block;
and writing the data block corresponding to the data to be written into the same space block.
14. The storage performance optimization method according to claim 1, wherein the migrating the data block corresponding to the data to be migrated between the spatial blocks based on the second beacon includes:
determining a second target space block in each space block in the storage system based on the second beacon, and writing the data block corresponding to the data to be migrated into the second target space block from the current space block;
and recovering the second beacon and setting the current space block as an available space block.
15. The storage performance optimization method according to claim 14, wherein determining a second target space block among the space blocks in the storage system based on the second beacon, and writing the data block corresponding to the data to be migrated from the current space block to the second target space block includes:
determining migration times of data to be migrated in each data block under the condition that the number of the data blocks corresponding to the data to be migrated is a plurality of data blocks;
Classifying the data blocks corresponding to the data to be migrated based on the migration times, and dividing the data blocks corresponding to the data to be migrated with the same migration times into the same class;
determining a second target space block corresponding to the data blocks belonging to the same class as the same space block;
and writing the data blocks belonging to the same class into the same space block from the current space block corresponding to each data block.
16. A storage performance optimizing apparatus, comprising:
the data determining unit is used for determining a data block corresponding to the data to be written and a data block corresponding to the data to be migrated;
a beacon determining unit, configured to determine a plurality of beacons corresponding to a storage system based on data processing capability information of the storage system; the beacons are used for allowing writing of data blocks in respective spatial blocks in the storage system;
the beacon distribution unit is used for dividing the beacons into a first beacon and a second beacon based on the storage space utilization information of the storage system, distributing the first beacon to a data block corresponding to the data to be written and distributing the second beacon to a data block corresponding to the data to be migrated;
the data processing unit is used for writing the data blocks corresponding to the data to be written into each space block based on the first beacon and migrating the data blocks corresponding to the data to be migrated among the space blocks based on the second beacon;
The beacon allocation unit is configured to:
determining available storage space capacity and total storage space capacity in the storage system based on storage space utilization information of the storage system;
determining an available space duty cycle of the storage system based on the available storage space capacity and the total storage space capacity;
determining an allocable beacon of the plurality of beacons based on the plurality of beacons and the available space duty cycle;
dividing the allocable beacons into a first beacon and a second beacon, allocating the first beacon to a data block corresponding to the data to be written, and allocating the second beacon to a data block corresponding to the data to be migrated.
17. A memory system comprising a memory performance optimization device and a flash memory array;
the flash memory array is connected with the storage performance optimizing device and is used for storing data to be written and data to be migrated;
the storage performance optimizing apparatus is configured to perform the storage performance optimizing method of any one of claims 1 to 15.
18. 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 implements the storage performance optimization method of any one of claims 1 to 15 when the program is executed by the processor.
19. A non-transitory computer readable storage medium having stored thereon a computer program, wherein the computer program when executed by a processor implements the storage performance optimization method of any one of claims 1 to 15.
CN202311709099.8A 2023-12-13 2023-12-13 Storage performance optimization method, storage performance optimization device, storage system, electronic equipment and medium Active CN117389485B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311709099.8A CN117389485B (en) 2023-12-13 2023-12-13 Storage performance optimization method, storage performance optimization device, storage system, electronic equipment and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311709099.8A CN117389485B (en) 2023-12-13 2023-12-13 Storage performance optimization method, storage performance optimization device, storage system, electronic equipment and medium

Publications (2)

Publication Number Publication Date
CN117389485A CN117389485A (en) 2024-01-12
CN117389485B true CN117389485B (en) 2024-03-01

Family

ID=89439632

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311709099.8A Active CN117389485B (en) 2023-12-13 2023-12-13 Storage performance optimization method, storage performance optimization device, storage system, electronic equipment and medium

Country Status (1)

Country Link
CN (1) CN117389485B (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017000821A1 (en) * 2015-06-29 2017-01-05 华为技术有限公司 Storage system, storage management device, storage device, hybrid storage device, and storage management method
CN112286461A (en) * 2020-10-29 2021-01-29 苏州浪潮智能科技有限公司 Data migration method and device, electronic equipment and storage medium
CN113031872A (en) * 2021-03-26 2021-06-25 山东英信计算机技术有限公司 Data writing method of storage system and related device
CN114564147A (en) * 2022-01-06 2022-05-31 浙江大华存储科技有限公司 Self-adaptive adjustment method and system of data stream, hard disk and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6848060B2 (en) * 2016-11-26 2021-03-24 華為技術有限公司Huawei Technologies Co.,Ltd. Data migration method, host, and solid-state disk

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017000821A1 (en) * 2015-06-29 2017-01-05 华为技术有限公司 Storage system, storage management device, storage device, hybrid storage device, and storage management method
CN112286461A (en) * 2020-10-29 2021-01-29 苏州浪潮智能科技有限公司 Data migration method and device, electronic equipment and storage medium
CN113031872A (en) * 2021-03-26 2021-06-25 山东英信计算机技术有限公司 Data writing method of storage system and related device
CN114564147A (en) * 2022-01-06 2022-05-31 浙江大华存储科技有限公司 Self-adaptive adjustment method and system of data stream, hard disk and storage medium

Also Published As

Publication number Publication date
CN117389485A (en) 2024-01-12

Similar Documents

Publication Publication Date Title
US11663029B2 (en) Virtual machine storage controller selection in hyperconverged infrastructure environment and storage system
US10387202B2 (en) Quality of service implementation in a networked storage system with hierarchical schedulers
US9361034B2 (en) Transferring storage resources between snapshot storage pools and volume storage pools in a distributed network
US8918609B2 (en) Storage apparatus and data management method to determine whether to migrate data from a first storage device to a second storage device based on an access frequency of a particular logical area
CN110858124B (en) Data migration method and device
US11861196B2 (en) Resource allocation method, storage device, and storage system
US10254993B2 (en) Selecting first data sets in a first storage group to swap with second data sets in a second storage group
US11474919B2 (en) Method for managing multiple disks, electronic device and computer program product
US11520715B2 (en) Dynamic allocation of storage resources based on connection type
EP3865992A2 (en) Distributed block storage system, method, apparatus and medium
US20190243758A1 (en) Storage control device and storage control method
US11809720B2 (en) Techniques for storage management
WO2023284173A1 (en) Task allocation method and system for solid-state drive, electronic device, and storage medium
JP7146054B2 (en) System controller and system garbage collection methods
US20190324677A1 (en) Information processing apparatus
CN117311621A (en) Cache disk space allocation method and device, computer equipment and storage medium
CN117389485B (en) Storage performance optimization method, storage performance optimization device, storage system, electronic equipment and medium
US10664393B2 (en) Storage control apparatus for managing pages of cache and computer-readable storage medium storing program
CN117234434B (en) Operation control method and device of storage device
CN117908780A (en) Online capacity expansion method, device and equipment for disk array and storage medium
CN117369718A (en) System, method and apparatus for forming and selecting recovery units in storage devices
CN114706532A (en) Disk configuration method, device, server, electronic device and storage medium

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