Data storage management method, system and equipment

By determining the migration information by the host in the storage system and sending data directly from the source storage disk to the destination storage disk, the serious problem of host hardware resource occupation in the prior art is solved, and efficient data migration and resource utilization are achieved.

CN119847408APending Publication Date: 2025-04-18CHENGDU HUAWEI TECH CO LTD

Patent Information

Application Number
CN202311338185.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-10-16
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

In the prior art, when processing expired data in storage systems, host hardware resources are severely occupied and it is difficult to efficiently manage data migration.

Method used

The host determines migration information based on the available space of the source storage disk and the destination storage disk in multiple storage disks, and sends effective data directly from the source storage disk to the destination storage disk, reducing the data processing and storage load of the host.

Benefits of technology

It effectively reduces the occupation of host hardware resources, improves the resource utilization rate of storage systems, and simplifies the data migration process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119847408A_ABST
    Figure CN119847408A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a data storage management method, system and equipment, and belongs to the technical field of data storage. In the method, a host determines migration information corresponding to a source storage disk based on the data volume of effective data in the source storage disk in a plurality of storage disks and the available space of a target storage disk in the plurality of storage disks, and the host sends the migration information to the source storage disk; based on the migration information, the source storage disk sends effective data of the corresponding data volume to the target storage disk; and the target storage disk stores the effective data. And the source storage disk sends local valid data to the target storage disk according to the migration information sent by the host. By adopting the method, the host only needs to calculate the migration information and send the migration information to the source storage disk, the source storage disk directly sends the effective data to the target storage disk, and the host does not need to receive and send the data, so that the occupation of hardware resources of the host can be reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of data storage, and in particular to a method, system and device for data storage management. Background Art

[0002] During the use of the storage system, a large amount of expired data (generally referred to as invalid data, and correspondingly, non-expired data is referred to as valid data) is often generated.

[0003] In the related art, the host can periodically select some storage disks with too much invalid data (referred to as source storage disks), read the valid data of these storage disks to the host, and then distribute them to other storage disks, deleting or invalidating all the data in the source storage disks.

[0004] The above processing method occupies a large amount of hardware resources of the host. Summary of the invention

[0005] The present disclosure provides a method, system and device for data storage management, which can store and manage data. The technical solution is as follows:

[0006] In a first aspect, a method for data storage management is provided, the method being applied to a storage system, the storage system comprising a host and multiple storage disks, the method comprising: the host determining migration information corresponding to a source storage disk based on the amount of valid data in a source storage disk among the multiple storage disks and the available space of a destination storage disk among the multiple storage disks, wherein the migration information corresponding to the source storage disk comprises a destination storage disk corresponding to the source storage disk, and the amount of valid data to be sent from the source storage disk to the destination storage disk; the host sending the migration information to the source storage disk; the source storage disk sending the valid data of the corresponding amount to the destination storage disk based on the migration information; and the destination storage disk storing the valid data.

[0007] The host can trigger garbage collection at a fixed time (e.g., once a week, once a month, etc.), or the administrator can manually trigger garbage collection. For example, the administrator can operate a management terminal to send a trigger message to the host node to trigger garbage collection. After triggering the garbage collection, the host can determine the source storage disk and the destination storage disk from the multiple storage disks included in the storage system. The garbage collection process mainly distributes and migrates the valid data in each source storage disk to each destination storage disk.

[0008] When determining at least one source storage disk and at least one destination storage disk among the multiple storage disks, the host may automatically select based on the storage space usage of each storage disk in the storage system, or may manually select by an operator.

[0009] With this method, the host only needs to calculate the migration information and send it to the source storage disk, which then directly sends valid data to the destination storage disk. The host does not need to receive or send data, thus reducing the occupancy of the host's hardware resources.

[0010] In a possible implementation, after the destination storage disk stores valid data, the host can update the metadata, and the corresponding processing is: the destination storage disk sends the storage location information of the valid data to the source storage disk; each time the source storage disk receives the storage location information sent by the destination storage disk, it can send the storage location information to the host; the host updates the metadata based on the storage location information.

[0011] Before the migration of valid data, the host should have recorded the metadata corresponding to these valid data, where the metadata may include the data identifier of the data, the disk identifier of the destination storage disk, and the physical address of the valid data storage. After the migration process, the metadata corresponding to these valid data has changed, and the metadata needs to be updated. After the destination storage disk completes the storage of the valid data sent by the source storage disk, it can send a storage completion notification to the source storage disk. The storage completion notification may carry storage location information. The storage location information may include the disk identifier of the destination storage disk, the data identifier and physical address of each valid data. The host updates the metadata based on the storage location information.

[0012] In this way, it is easy to update metadata accurately and timely, ensuring normal reading of data.

[0013] In a possible implementation, the host sends a deletion notification to the source storage disk, and the source storage disk deletes the stored valid data and invalid data after receiving the notification.

[0014] The host may send the deletion notification after updating the metadata, or after receiving the storage location information, or after sending the migration information.

[0015] In addition, in another implementation, the host may not send a deletion notification to each source storage disk. In this case, each source storage disk may retain all data stored before receiving the migration notification for a fixed period of time (eg, 1 hour) before deleting it.

[0016] In this way, the storage disk space can be released in time, improving the storage resource utilization of the storage system.

[0017] In one possible implementation, the migrated valid data can be regenerated into verification data and stored, and the corresponding processing is: the host determines the amount of verification data corresponding to the valid data to be generated on the source storage disk based on the amount of valid data in the source storage disk; the host determines the verification data storage information corresponding to the source storage disk based on the amount of verification data and the available space of the verification data storage disk, wherein the verification data storage information corresponding to the source storage disk includes the verification data storage disk corresponding to the source storage disk, and the amount of verification data to be sent from the source storage disk to the verification data storage disk; thereafter, the host sends the verification data storage information to the source storage disk; the source storage disk generates verification data corresponding to the valid data; the source storage disk sends verification data of the corresponding amount to the verification data storage disk based on the verification data storage information sent by the host.

[0018] For any source storage disk, it may correspond to one verification data storage disk or multiple verification data storage disks. After the host determines the amount of verification data to be generated for each source storage disk, it may send a verification notification to each source storage disk. The verification notification carries the verification data storage information corresponding to the source storage disk. The source storage disk generates and sends verification data to the corresponding verification data storage disk based on the verification data storage information and the verification data generation algorithm. The verification data storage disk receives and stores the verification data. Afterwards, the verification data storage disk may feedback a verification data storage completion notification to the host. The host may notify the verification data storage disk where the original verification data of the source storage disk is located to delete the original verification data of the source storage disk.

[0019] In addition, when there is only one verification data storage disk in the storage system, the host can send the pre-selected verification data storage disk to the source storage disk in advance. At this time, the verification data storage information no longer needs to be sent to the source storage disk. After each source storage disk generates verification data, all verification data can be sent to the verification data storage disk.

[0020] In this way, the generation and processing of the verification data are all handed over to the source storage disk for execution, and the host does not need to run the verification data generation algorithm, which can effectively reduce the occupation of the host hardware resources.

[0021] In addition, verification data can also be generated in the destination storage disk, and the generation and processing of the verification data are all handed over to the destination storage disk for execution. The host does not need to run the verification data generation algorithm, which can effectively reduce the occupation of the host hardware resources.

[0022] In one possible implementation, the source storage disk is a storage disk in which the amount of invalid data stored exceeds a proportion threshold in the total amount of stored data, and the destination storage disk is the N storage disks with the most available space among the multiple storage disks, where N is an integer greater than or equal to 2.

[0023] In this way, the selected source storage disk has more invalid data, which can more effectively clean up the invalid data and reduce the storage resource occupation. The selected destination storage disk is a storage disk with more remaining space, which is more conducive to the load balancing of the storage system.

[0024] In one possible implementation, each source storage disk copies valid data stored locally to a cache space; based on the amount of data corresponding to the destination storage disk, the source storage disk reads valid data corresponding to the destination storage disk from the valid data stored in the cache space and sends the data to the destination storage disk.

[0025] The valid data and invalid data of the source storage disk may be mixed and stored. After receiving the migration information, each source storage disk can first sort out the valid data of the source storage disk, and then send the valid data of the corresponding data volume to each corresponding destination storage disk. Each source storage disk can divide the valid data copied to the cache space into at least one data stripe with a fixed data volume. Then, according to the destination storage disk in the migration information and the data volume corresponding to the destination storage disk, the source storage disk can send the valid data of the corresponding data volume to the corresponding destination storage disk.

[0026] In this way, the above processing is performed by the source storage disk, which can reduce the processing load of the host and reduce the occupation of the host hardware resources.

[0027] In a second aspect, a method for data storage management is provided, which is applied to a storage system, the storage system comprising a host and multiple storage disks, the method being executed by the host, the method comprising: determining migration information corresponding to a source storage disk based on the amount of valid data in a source storage disk among the multiple storage disks and the available space of a destination storage disk among the multiple storage disks, wherein the migration information corresponding to the source storage disk comprises a destination storage disk corresponding to the source storage disk, and the amount of valid data to be sent from the source storage disk to the destination storage disk; and sending migration information to the source storage disk, wherein the migration information is used to instruct the source storage disk to send valid data to the destination storage disk.

[0028] With this method, the host only needs to calculate the migration information and send it to the source storage disk, which then directly sends valid data to the destination storage disk. The host does not need to receive or send data, thus reducing the occupancy of the host's hardware resources.

[0029] In a possible implementation, after sending migration information to the source storage disk, the host can update the metadata. The corresponding processing is: receiving the storage location information of the valid data in the corresponding destination storage disk sent by the source storage disk; and updating the metadata based on the storage location information of the valid data.

[0030] In this way, it is easy to update metadata accurately and timely, ensuring normal reading of data.

[0031] In a possible implementation, the host may send a deletion notification to the source storage disk.

[0032] In this way, the storage disk space can be released in time, improving the storage resource utilization of the storage system.

[0033] In one possible implementation, the host can generate and send verification data storage information, and the corresponding processing is: based on the data amount of valid data in the source storage disk, determine the data amount of verification data corresponding to the valid data to be generated by the source storage disk; based on the data amount of verification data to be generated by the source storage disk and the available space of the verification data storage disk, determine the verification data storage information corresponding to the source storage disk, wherein the verification data storage information corresponding to the source storage disk includes the verification data storage disk corresponding to the source storage disk, and the data amount of verification data to be sent by the source storage disk to the verification data storage disk; and send the verification data storage information to the source storage disk.

[0034] In this way, the host does not need to run the verification data generation algorithm, which can effectively reduce the occupation of the host hardware resources.

[0035] In one possible implementation, the source storage disk is a storage disk in which the amount of invalid data stored exceeds a proportion threshold in the total amount of stored data, and the destination storage disk is the N storage disks with the most available space among multiple storage disks, where N is an integer greater than or equal to 2.

[0036] In this way, the selected source storage disk has more invalid data, which can more effectively clean up the invalid data and reduce the storage resource occupation. The selected destination storage disk is a storage disk with more remaining space, which is more conducive to the load balancing of the storage system.

[0037] In a third aspect, a method for data storage management is provided, which is applied to a storage system, the storage system comprising a host and multiple storage disks, the method being executed by a first storage disk among the multiple storage disks, the method comprising: receiving migration information sent by the host, wherein the migration information is used to indicate that the first storage disk is a source storage disk and comprises a destination storage disk corresponding to the source storage disk, and a data volume of valid data to be sent from the source storage disk to the destination storage disk; and sending a corresponding data volume of valid data to the destination storage disk based on the migration information.

[0038] With this method, the source storage disk receives the migration information sent by the host, and directly sends valid data to the destination storage disk. The host does not need to receive or send data, which can reduce the occupation of the host's hardware resources.

[0039] In one possible implementation, each source storage disk copies valid data stored locally to a cache space; for each destination storage disk, based on the amount of data corresponding to the destination storage disk, the valid data corresponding to the destination storage disk is read from the valid data stored in the cache space and sent to the destination storage disk.

[0040] In this way, the above processing is performed by the source storage disk, which can reduce the processing load of the host and reduce the occupation of the host hardware resources.

[0041] In a possible implementation, after sending valid data of a corresponding amount to the destination storage disk based on the migration information, the meta storage disk may receive the storage location information of the valid data sent by the destination storage disk, and then send the storage location information of the valid data to the host.

[0042] In this way, it is convenient to send the storage location information of the updated valid data to the host accurately and timely, thereby ensuring the normal reading of the data.

[0043] In a possible implementation, the source storage disk may receive a deletion notification sent by the host, and delete the valid data and invalid data stored before the current data storage management.

[0044] In this way, the storage disk space can be released in time, improving the storage resource utilization of the storage system.

[0045] In one possible implementation, the source storage disk can generate and send verification data, and the corresponding processing is: receiving verification data storage information sent by the host, wherein the verification data storage information includes the verification data storage disk corresponding to the source storage disk, and the amount of verification data to be sent by the source storage disk to the verification data storage disk; generating verification data corresponding to the valid data; and sending verification data of the corresponding amount of data to the verification data storage disk based on the verification data storage information.

[0046] In this way, the host does not need to run the verification data generation algorithm, which can effectively reduce the occupation of the host hardware resources.

[0047] In a fourth aspect, a method for data storage management is provided, which is applied to a storage system, the storage system comprising a host and multiple storage disks, the method being executed by a second storage disk among the multiple storage disks, the method comprising: receiving valid data sent by a first storage disk among the multiple storage disks, wherein the first storage disk is a source storage disk, and the second storage disk is a destination storage disk corresponding to the source storage disk; and storing the valid data.

[0048] By adopting this method, the destination storage disk receives and stores valid data, and the data stored in the storage system can be managed.

[0049] In a possible implementation, after storing the valid data, the destination storage disk may send storage location information of the valid data to the first storage disk.

[0050] In this way, it is easy to update metadata accurately and timely, ensuring normal reading of data.

[0051] In a fifth aspect, a storage system is provided, which includes a host and multiple storage disks, and is used to execute the method provided by the first aspect and its possible implementation methods.

[0052] In a sixth aspect, a host is provided, the host belonging to a storage system, the storage system comprising the host and multiple storage disks, the host being used to execute the method provided in the above second aspect and its possible implementation manner.

[0053] In a seventh aspect, a storage disk is provided, which belongs to a storage system including a host and multiple storage disks. The storage disk is used to execute the methods provided in the third aspect, the fourth aspect and possible implementations thereof.

[0054] In an eighth aspect, a data storage management device is provided, which is applied to a host and is used to implement the method provided by the above-mentioned second aspect and its possible implementation methods.

[0055] In a ninth aspect, a data storage management device is provided. The device is applied to a first storage disk among multiple storage disks and is used to implement the method provided by the third aspect and its possible implementation methods.

[0056] In a tenth aspect, a data storage management device is provided, which is applied to a second storage disk among multiple storage disks and is used to implement the method provided by the fourth aspect and its possible implementation methods.

[0057] In the eleventh aspect, a computer-readable storage medium is provided, which stores a computer program code. When the computer program code is executed by a computer device, the computer device executes the methods provided by the first aspect, the second aspect, the third aspect, the fourth aspect and their possible implementation methods.

[0058] In the twelfth aspect, a computer program product is provided, which includes a computer program code. When the computer program code is executed by a computer device, the computer device executes the methods provided by the first aspect, the second aspect, the third aspect, the fourth aspect and their possible implementation methods. BRIEF DESCRIPTION OF THE DRAWINGS

[0059] Figure 1 is a structural diagram of a storage system provided by an embodiment of the present disclosure;

[0060] Figure 2 is a structural diagram of a host provided by an embodiment of the present disclosure;

[0061] Figure 3 is a schematic diagram of the structure of a storage disk provided by an embodiment of the present disclosure;

[0062] Figure 4 It is a processing flow diagram of a data migration stage provided by an embodiment of the present disclosure;

[0063] Figure 5 is a schematic diagram of storage space usage of each storage disk in a storage system provided by an embodiment of the present disclosure;

[0064] Figure 6 is a schematic diagram of an effective data migration process provided by an embodiment of the present disclosure;

[0065] Figure 7 It is a schematic diagram of the storage space usage of each storage disk after data storage management is completed according to an embodiment of the present disclosure;

[0066] Figure 8 It is a schematic diagram of a processing flow of metadata update provided by an embodiment of the present disclosure;

[0067] Fig. 9 It is a schematic diagram of a processing flow for deleting data in a source storage disk provided by an embodiment of the present disclosure;

[0068] Fig.10 is a schematic diagram of the structure of a storage system for preselecting a verification storage disk provided by an embodiment of the present disclosure;

[0069] Fig.11 It is a schematic diagram of a processing flow for generating and storing verification data provided by an embodiment of the present disclosure;

[0070] Fig.12 It is a schematic diagram of a processing flow for generating and storing verification data provided by an embodiment of the present disclosure;

[0071] Fig.13 is a structural diagram of a data storage management device provided by an embodiment of the present disclosure;

[0072] Fig.14 is a structural diagram of a data storage management device provided by an embodiment of the present disclosure;

[0073] Fig.15 It is a structural diagram of a data storage management device provided by an embodiment of the present disclosure. DETAILED DESCRIPTION

[0074] The present disclosure provides a method for data storage management, which can be applied to a storage system. The storage system may include a host and multiple storage disks. The system architecture diagram may be as follows: Figure 1 The host can be used to manage the storage disk, such as managing the writing and reading of data, and the host can be any computer device, a server device or a terminal, etc. The storage disk can be a hard disk or a magnetic disk with a certain processing capacity, etc. The embodiment of the present disclosure takes a solid state disk (SSD) as an example to illustrate the solution, and other situations are similar and will not be repeated.

[0075] From the perspective of hardware composition, the structure of the above host can be as follows Figure 2 As shown, it includes a processor 210 , a memory 220 , and a communication component (also called a transceiver) 230 .

[0076] Processor 210 can be any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP) or a digital signal processor (DSP). Processor 210 can be used to process data information involved in the method, for example, processing migration information, determining available space on the destination storage disk, etc.

[0077] The memory 220 may include various volatile memories or non-volatile memories, such as SSD, dynamic random access memory (DRAM) memory, etc. The memory 220 may be used to store pre-stored data, intermediate data, and result data in processing, for example, the available space of each storage disk in the storage system, the amount of valid data of each storage disk, etc.

[0078] The communication component 230 may be a wired network connector, a wireless fidelity (WiFi) module, a Bluetooth module, a cellular network communication module, etc. The communication component 230 may be used to transmit data with other devices, and the other devices may be storage disks, certain service servers, etc. For example, the migration information is sent to the first storage disk.

[0079] The storage disk may have a certain data processing capability, and accordingly, Figure 3 As shown, the storage disk may include a processor 310 , a memory 320 , and a communication component (also referred to as a transceiver) 330 .

[0080] The processor 310 may be any one or more of a CPU, a GPU, an MP or a DSP, etc. The processor 310 may be used to process various instructions or data information involved in the method, for example, to process received migration information.

[0081] The memory 320 may include various volatile memories or non-volatile memories, such as SSD, DRAM memory, etc. The memory 320 may be used to store pre-stored data, intermediate data, and result data in processing, for example, the amount of valid data of each storage disk, etc.

[0082] The communication component 330 may be a wired network connector, a WiFi module, a Bluetooth module, a cellular network communication module, etc. The communication component 330 may also be used to transmit data with other devices, such as a host, etc. For example, receiving migration information sent by the host, etc.

[0083] Some concepts involved in the embodiments of the present disclosure are introduced below:

[0084] Source storage disk

[0085] The source storage disk is a storage disk that has a lot of invalid data and needs to be garbage collected. For example, when the amount of invalid data stored in a storage disk exceeds a first ratio threshold in the total amount of stored data, the host determines the storage disk as the source storage disk.

[0086] Destination storage disk

[0087] The destination storage disk is a storage disk with more remaining storage space that can be used to receive data migrated from other storage disks. For example, N storage disks with the most available space can be selected from the storage system as the destination storage disk.

[0088] Data Block

[0089] A data block is a basic unit of data storage and transmission. Generally, the size of a data block can be set to a value between 2K and 512K.

[0090] Data Strip

[0091] A data stripe consists of a fixed number of data blocks. The number of data blocks in each data stripe in a storage system is the same. For example, if the size of a data block is 8k, a data stripe consists of 4 data blocks, and the fixed data volume of each data stripe is 32k.

[0092] Metadata

[0093] Metadata, also known as intermediary data or relay data, is data that describes data. It is mainly information that describes the attributes of data and is used to indicate storage location, path, data identification, data size, etc.

[0094] The generation process of the storage system metadata can be as follows: when the user device has data to store, it will send the data to the host. The host will allocate a storage node for the data according to the data volume and other information, and then send the data to the storage node. After storing the data, the storage node will feed back the corresponding storage location information to the host. The storage location information may include a storage disk identifier and a storage address, etc. The host creates metadata based on the storage location information.

[0095] Valid data and invalid data

[0096] The host stores the mapping relationship between the logical address and the physical address of the data. When the data is rewritten, the logical address of the data remains unchanged, and a new physical address will be assigned to the data. The rewritten data will be written to the new physical address, and the corresponding mapping relationship will also be updated. However, the data before the rewrite stored in the original physical address will not be deleted. The data before the rewrite is invalid data, and the data stored in the new physical address is valid data.

[0097] Storage systems generally serve business systems. If the business system is large, a large amount of data will be generated and stored in the storage system. In the storage system, some data may be frequently used, while some data is used less and less frequently and gradually becomes expired data, that is, invalid data. Invalid data will take up a lot of storage space, and the coexistence of invalid data and valid data will affect the reading speed of valid data.

[0098] The present disclosure provides a method for data storage management, which can also be called a method for garbage collection processing. The garbage collection process may include a data migration phase, a metadata update phase, and a deletion phase. The processing flow of the data migration phase is described in detail below. Figure 4 As shown, the following steps may be included:

[0099] 401. A host determines at least one source storage disk and at least one destination storage disk from a plurality of storage disks.

[0100] The host can trigger garbage collection at a fixed time (eg, once a week, once a month, etc.), or the administrator can manually trigger garbage collection. For example, the administrator can operate a management terminal to send a trigger message to the host to trigger garbage collection.

[0101] After triggering the garbage collection process, the host can determine the source storage disk and the destination storage disk from the multiple storage disks included in the storage system, and in the subsequent processing, the valid data in each source storage disk will be allocated and migrated to each destination storage disk.

[0102] About the selection of source storage disk:

[0103] The host can detect the storage space usage of each storage disk in the storage system, and determine the amount of invalid data in each storage disk and the total amount of data in each storage disk. When the amount of invalid data stored in a storage disk accounts for more than the first ratio threshold in the total amount of stored data, the host determines the storage disk as the source storage disk. The first ratio threshold can be set by the technician based on experience. If the first ratio threshold is too small, it will lead to too much data migration during the garbage collection process, occupying too many processing resources and transmission resources. If the first ratio threshold is too large, it will lead to too much invalid data on the storage disk, resulting in a large waste of storage resources. The first ratio threshold can be set by taking these two aspects into consideration.

[0104] For example, Figure 5 As shown (the specific example used in the embodiment of the present disclosure is described by taking a data block of 8k as an example), there are 8 storage disks A, B, C, D, E, F, G, and H in the storage system, and the amount of valid data in each storage disk is 80k, 64k, 64k, 64k, 56k, 56k, 80k, and 96k respectively, and the amount of invalid data is 96k, 128k, 96k, 16k, 24k, 16k, 48k, and 48k respectively. The first ratio threshold is 50%, and the amount of invalid data of each storage disk accounts for 54%, 66%, 60%, 20%, 30%, 22%, 37%, and 33% of the total stored data respectively. It can be seen that the amount of invalid data stored in A, B, and C accounts for more than 50% of the total stored data, and they can be selected as source storage disks.

[0105] In addition, there are some possible selection methods, for example, selecting a storage disk whose available space accounts for a proportion of the total storage space less than a second proportion threshold as the source storage disk.

[0106] About the selection of the destination storage disk:

[0107] Method 1: Select N storage disks with the most available space from the storage system as destination storage disks, where N can be an integer greater than or equal to 2, that is, more than two destination storage disks can be selected.

[0108] The number N of destination storage disks can be pre-specified by the algorithm in the host. When setting N, it can be set based on actual experience in combination with factors such as the total number of storage disks and the cycle of garbage collection. The host can determine the available space of each storage disk based on the amount of data stored in each storage disk and the total capacity of each storage disk. When performing garbage collection processing, the available space of each storage disk other than the source storage disk can be obtained (in this implementation, the storage disk cannot be selected as the source storage disk and the destination storage disk at the same time. In another implementation, a storage disk can be both the source storage disk and the destination storage disk, and this implementation will be explained in the following content). Then sort the storage disks from large to small according to the available space, and then select the storage disk ranked in the top N among the sorted storage disks as the destination storage disk.

[0109] For example, there are 8 storage disks A, B, C, D, E, F, G, and H in the storage system, among which A, B, and C are selected as source storage disks, and the available spaces of D, E, F, G, and H are 160k, 160k, 168k, 128k, and 112k respectively. The value of N is 3. Therefore, the host can select storage disks D, E, and F as destination storage disks.

[0110] Method 2: Select a storage disk with available space greater than the space threshold as the destination storage disk.

[0111] The space threshold can be set based on actual experience in combination with factors such as the total number of storage disks and the garbage collection cycle.

[0112] For example, the preset space threshold is 150k, and there are 8 storage disks A, B, C, D, E, F, G, and H in the storage system, among which A, B, and C are selected as source storage disks, and the available spaces of D, E, F, G, and H are 160k, 160k, 168k, 128k, and 112k respectively. The storage disks with spaces greater than the space threshold are D, E, and F, so D, E, and F can be selected as destination storage disks.

[0113] In addition, there are some possible methods. For example, the destination storage disk can be selected based on the total amount of valid data in the source storage disk, so that the total available space of the destination storage disk and the total amount of data satisfy a specified relationship. For example, the specified relationship requires that the total available space is greater than the product of the total amount of data and M, where M>1.

[0114] 402 , the host determines migration information corresponding to each source storage disk based on the amount of valid data in each source storage disk and the available space of each destination storage disk.

[0115] The migration information includes the destination storage disk corresponding to the source storage disk, and the amount of valid data to be sent from the source storage disk to each corresponding destination storage disk.

[0116] The processing of this step is actually to reallocate the storage disks for valid data. The allocation mechanism can be pre-set, and a load balancing mechanism can be adopted, or a storage disk can be used first to make its space occupancy rate reach a specified upper limit before using the next storage disk, etc. The embodiment of this disclosure takes the load balancing mechanism as an example. The load balancing mechanism is to make the storage space of each destination storage disk occupied as evenly as possible.

[0117] The host can input the amount of valid data in each source storage disk and the available space of each storage disk into the algorithm of the load balancing mechanism. The algorithm can output the destination storage disk corresponding to each source storage disk, and output the amount of valid data sent by each source storage disk to each corresponding destination storage disk.

[0118] There are many possible ways to process the algorithm internally. In one possible implementation, the total amount of valid data on all source storage disks can be determined first. Then, based on the available space on each destination storage disk, the total amount of data is allocated in accordance with the principle of making the remaining space of all destination storage disks as similar as possible after allocating valid data, to obtain the amount of valid data that needs to be allocated to each destination storage disk (hereinafter referred to as the allocated data amount). After that, the source storage disks can be selected one by one (can be selected in a specified order or randomly selected, etc.), and after each source storage disk is selected, the corresponding destination storage disks are selected one by one for the source storage disk (can be selected in a specified order or randomly selected, etc.), if the allocated data volume of the destination storage disk is greater than or equal to the data volume of the valid data of the source storage disk, then all the valid data of the source storage disk can be allocated to the destination storage disk, and then the next source storage disk is selected for allocation, if the allocated data volume of the destination storage disk is less than the data volume of the valid data of the source storage disk, a part of the valid data of the source storage disk (the data volume of the part is equal to the allocated data volume of the destination storage disk) can be allocated to the destination storage disk, and then the next destination storage disk is selected to continue to allocate the remaining valid data of the source storage disk, until all the valid data of the source storage disk is allocated. Similarly, the valid data of all source storage disks can be allocated to the destination storage disk, and the migration information corresponding to each source storage disk is obtained.

[0119] For any source storage disk, there may be one or more destination storage disks. If a source storage disk corresponds to one destination storage disk, the source storage disk may send all its valid data to the destination storage disk. If a source storage disk corresponds to multiple destination storage disks, the source storage disk may send its stored valid data to the multiple destination storage disks corresponding to it. The data volume corresponding to each destination storage disk is output by the above algorithm.

[0120] For example, Figure 5As shown (the specific example used in the embodiment of the present disclosure is described by taking a data block of 8k as an example), there are 8 storage disks A, B, C, D, E, F, G, and H in the storage system, storage disks A, B, and C are selected as source storage disks, and D, E, and F are selected as destination storage disks. The amount of valid data in A, B, and C is 80k, 64k, and 64k respectively, and the available space of D, E, and F is 160k, 160k, and 168k respectively. The host inputs this information into the algorithm of the load balancing mechanism, and the output of the algorithm can be: A is the source storage disk and the destination storage disks corresponding to it are E and F, and the amount of valid data that A can send to E is 64k, and the amount of valid data that can be sent to F is 16k. B is the source storage disk and the destination storage disk corresponding to it is D, and B can send all its valid data to D. C is the source storage disk and the destination storage disk corresponding to it is F, and C can send all its valid data to F.

[0121] 403. The host sends a migration notification to each source storage disk respectively.

[0122] The migration notification sent by the host to any source storage disk may carry the migration information corresponding to the source storage disk, for example, Figure 6 As shown, the migration information sent by the host to the source storage disk A may be 80k of valid data of the source storage disk A, the destination storage disks E and F corresponding to the source storage disk A, and 64k of valid data that the source storage disk A can send to the destination storage disk E and 16k of valid data that can be sent to the destination storage disk F.

[0123] In addition, the migration notification may also carry storage location information and data identifier of valid data on the source storage disk.

[0124] 404. The source storage disk sends corresponding amounts of valid data to each corresponding destination storage disk based on the received migration information.

[0125] Valid data and invalid data of the source storage disk may be stored mixedly. After receiving the migration information, each source storage disk can first sort out the valid data of the source storage disk, and then send the valid data of the corresponding data volume to each corresponding destination storage disk.

[0126] The operation of each source storage disk when organizing the local valid data may be: after each source storage disk receives the storage location information of the valid data sent by the host, it may copy the local valid data to the cache space. Each source storage disk may divide the valid data copied to the cache space into at least one data stripe with a fixed data volume. Further, in the migration information, the source storage disk may obtain the destination storage disk and the data volume corresponding to the destination storage disk one by one, read the valid data corresponding to the data volume of the destination storage disk from the cached valid data, and send it to the destination storage disk.

[0127] For example, Figure 6 As shown, the amount of valid data of source storage disk A is 80k, which is cached to the continuous storage space of source storage disk A. Assuming that the fixed data amount of each data stripe pre-set in this embodiment is 32k, the valid data of source storage disk A can be divided into 2 32k data stripes and 1 16k data stripe. Then, according to the migration information, the corresponding destination storage disks are determined to be storage disks E and F, and the migration data amounts corresponding to E and F are 64k and 16k respectively. At this time, 2 32k data stripes can be sent to E, and 1 16k data stripe can be sent to F.

[0128] The above processing is performed by the source storage disk, which can reduce the processing load of the host and reduce the occupation of the host hardware resources.

[0129] 405, the destination storage disk stores the valid data.

[0130] After receiving the valid data sent by the source storage disk, the destination storage disk may store the valid data. The destination storage disk may send a cache data deletion notification to the corresponding source storage disk, and the corresponding source storage disk may delete the cached valid data after receiving the notification. Alternatively, the destination storage disk may not send a cache data deletion notification to the corresponding source storage disk, and the corresponding source storage disk may retain the cached valid data for a fixed period of time (e.g., one week) before deleting it.

[0131] After the source storage disk sends valid data to the destination storage disk, it can delete the valid data and invalid data stored therein (which can be all the data stored before receiving the migration notification). The deletion can be triggered when the valid data is confirmed to have been sent, or when a specified time has passed after the sending is completed, or when a deletion notification is received from the host (this situation will be described in detail later), etc.

[0132] After that, the storage space usage of each storage disk in the storage system can be Figure 7 shown.

[0133] With this method, the host is only responsible for determining the source storage disk, the destination storage disk, and the amount of data to be transmitted. The data distribution work is completed by the source storage disk, and the distributed data will not pass through the host, which can reduce the occupation of the host hardware resources. In addition, it can reduce the requirements for the host storage capacity.

[0134] In the embodiment of the present disclosure, metadata corresponding to each data may be stored in the host, and the metadata includes some relevant information of the corresponding data, which may include storage location information. After the above process is executed, the metadata update process may be performed. The corresponding processing process is as follows: Figure 8 As shown, the following steps may be included:

[0135] 801. The destination storage disk sends storage location information of valid data to the corresponding source storage disk.

[0136] The storage location information may include a disk identifier of a destination storage disk and a physical address where valid data is stored.

[0137] After the destination storage disk completes storing the valid data sent by the source storage disk, it can send a storage completion notification to the source storage disk, and the storage completion notification can carry the disk identifier of the destination storage disk, the data identifier and physical address of each valid data. Alternatively, the destination storage disk can also send a storage completion notification to the source storage disk after each valid data is stored, and the storage completion notification carries the disk identifier of the destination storage disk, the data identifier and physical address of the valid data currently stored.

[0138] 802. The source storage disk sends storage location information of valid data in each corresponding destination storage disk to the host.

[0139] Whenever the source storage disk receives a storage completion notification sent by the destination storage disk, the source storage disk may forward the storage completion notification to the host.

[0140] 803. The host updates metadata based on the storage location information of valid data in all destination storage disks.

[0141] For the valid data migrated in the above process, the host should have recorded the metadata of the valid data before the migration. After the migration process, the storage location of the valid data has changed. After receiving the storage completion notification, the host can read the disk identifier of the destination storage disk, the data identifier and the physical address of the valid data in the storage completion notification. Based on the data identifier of the valid data, the metadata corresponding to the valid data is searched, and then the disk identifier of the destination storage disk and the physical address of the valid data in the metadata are updated to the disk identifier of the destination storage disk and the physical address of the valid data in the storage completion notification.

[0142] In addition, in another implementation, the destination storage disk may directly send the storage location information of the valid data to the host, so that the host updates the metadata.

[0143] By adopting this method, the metadata can be updated in time to ensure the normal reading of data.

[0144] In the embodiment of the present disclosure, after the host completes the metadata update process, the valid data and invalid data stored in the source storage disk before executing the above process can be deleted. The corresponding processing flow is as follows: Fig. 9 As shown, the following steps may be included:

[0145] 901. The host sends a deletion notification to each source storage disk respectively.

[0146] 902. The source storage disk deletes all data stored locally before receiving the migration notification.

[0147] After deleting data, the source storage disk may send a deletion completion notification to the host. After receiving the deletion completion notification, the host may delete the metadata corresponding to the corresponding invalid data.

[0148] In addition, in another implementation, the host may not send a deletion notification to each source storage disk. In this case, each source storage disk may retain all data stored before receiving the migration notification for a fixed time (eg, 1 hour) before deleting it.

[0149] By adopting this method, the space of the storage disk can be released in time, thereby improving the resource utilization of the storage system.

[0150] In one implementation of the disclosed embodiment, a storage disk may be both a source storage disk and a destination storage disk. When selecting a destination storage disk after selecting a source storage disk, a storage disk that meets the conditions is selected from all storage disks (including all source storage disks) in the storage system as the destination storage disk, wherein the conditions for the destination disk may refer to the method 1, method 2, etc. in the above step 401. When selecting the destination storage disk, the available space of the storage disks that have been selected as the source storage disk may be considered as the total capacity of the storage disk. When a storage disk that has been selected as the source storage disk is also selected as the destination storage disk corresponding to the storage disk, the storage disk may include its own drive letter and the corresponding amount of data to be migrated in the received migration information, and the storage disk may locally determine a continuous storage space with a capacity not less than the amount of data, and then migrate the valid data of the corresponding amount of data to the continuous storage space. When performing metadata update processing, the storage disk may directly send the storage location information of the valid data after local migration to the host.

[0151] By adopting this method, load balancing can be better achieved and resource utilization of the storage system can be improved.

[0152] In the embodiments of the present disclosure, in order to recover data when it is lost, verification data can be calculated for the stored data and stored in at least one designated storage disk. In case one, the at least one storage disk can be pre-selected from multiple storage disks, that is, there are several storage disks that are only used to store verification data, which can be called verification data storage disks. In case two, the at least one storage disk can also be temporarily determined based on the resource usage of the storage system, that is, there is no storage disk specifically used to store verification data. The embodiments of the present disclosure take case one as an example to explain the solution in detail, and other cases are similar and will not be repeated here. The corresponding system architecture can be as follows: Fig.10 shown.

[0153] When multiple verification data storage disks are pre-selected in the storage system, the processing flow of generating and storing verification data is as follows: Fig.11 As shown, the following steps may be included:

[0154] 1101. The host determines the amount of verification data to be generated for each source storage disk based on the amount of valid data in each source storage disk.

[0155] The verification data generation algorithm can set the generation ratio of the verification data, that is, the ratio of the data volume of the verification data to the data volume of the original data used to generate the verification data, such as 2 / 3, 3 / 5, 4 / 5, etc.

[0156] The host may obtain the data volume of valid data in each source storage disk, and multiply each data volume by the generation ratio of verification data to obtain the data volume of verification data to be generated for each source storage disk.

[0157] 1102. The host determines the verification data storage information corresponding to each source storage disk based on the amount of verification data to be generated on each source storage disk and the available space of each verification data storage disk.

[0158] The verification data storage information corresponding to the source storage disk includes the verification data storage disk corresponding to the source storage disk and the amount of verification data to be sent by the source storage disk to each corresponding verification data storage disk. For any source storage disk, it can correspond to one verification data storage disk or multiple verification data storage disks.

[0159] The processing of this step is to allocate a verification data storage disk to the verification data. This allocation mechanism and allocation process are similar to the reallocation of storage disks for valid data in step 402. The algorithms used in the two steps can be the same. The only difference is that in step 1102, the input of the algorithm is the amount of verification data to be generated on each source storage disk and the available space on each verification data storage disk, and in step 402, the input of the algorithm is the amount of valid data in each source storage disk and the available space on each destination storage disk, and in step 1102, the output of the algorithm is the verification data storage information corresponding to each source storage disk, and in step 402, the output of the algorithm is the migration information corresponding to each source storage disk.

[0160] 1103. The host sends a verification notification to each source storage disk respectively.

[0161] The verification notification sent by the host to any source storage disk may carry the verification data storage information corresponding to the source storage disk.

[0162] 1104. The source storage disk generates verification data corresponding to the valid data.

[0163] After receiving the verification notification, each source storage disk can divide the valid data stored locally according to the preset data volume to obtain multiple groups of data. Each group of data is input into the verification data generation algorithm to generate verification data corresponding to each group of data. For example, source storage disk A groups the local valid data, each group includes 5 data blocks, and each group of data blocks is input into the verification data generation algorithm to generate verification data blocks. Each group of data blocks can generate 3 verification data blocks.

[0164] 1105. The source storage disk sends verification data of a corresponding amount of data to each verification data storage disk based on the verification data storage information.

[0165] In the verification data storage information, the source storage disk can obtain the destination storage disk and the data volume corresponding to the destination storage disk one by one, and read the verification data corresponding to the data volume of the destination storage disk in the verification data calculated in the above step 1104, and send it to the destination storage disk.

[0166] 1106. The verification data storage disk stores the received verification data.

[0167] Afterwards, the verification data storage disk may feed back a verification data storage completion notification to the host. The host may notify the verification data storage disk where the original verification data of the source storage disk is located to delete the original verification data of the source storage disk.

[0168] In addition, in another implementation, when there is only one verification data storage disk in the storage system, the host can send the pre-selected verification data storage disk to the source storage disk in advance. At this time, the verification data storage information may no longer be sent to the source storage disk. After each source storage disk generates verification data, all verification data can be sent to the verification data storage disk.

[0169] By adopting this method, the generation and processing of the verification data are all handed over to the source storage disk for execution, and the host does not need to run the verification data generation algorithm, which can effectively reduce the occupation of the host hardware resources.

[0170] In the above process, the verification data is generated in the source storage disk. In addition, in the embodiment of the present disclosure, the verification data can also be generated in the destination storage disk. The corresponding processing flow is as follows: Fig.12 As shown, the following steps may be included:

[0171] 1201. The host determines the amount of verification data to be generated for each destination storage disk based on the amount of valid data migrated to each destination storage disk.

[0172] The destination storage disks involved may include all the destination storage disks selected in step 401 .

[0173] 1202. The host determines a verification data storage disk corresponding to each destination storage disk based on the amount of verification data to be generated on each destination storage disk and the available space of each verification data storage disk.

[0174] The verification data storage information corresponding to the destination storage disk includes the verification data storage disk corresponding to the destination storage disk and the amount of verification data to be sent by the destination storage disk to each corresponding verification data storage disk. For any destination storage disk, it can correspond to one verification data storage disk or multiple verification data storage disks.

[0175] 1203. The host sends a verification notification to each destination storage disk respectively.

[0176] The verification notification sent by the host to any destination storage disk may carry the verification data storage information corresponding to the destination storage disk.

[0177] 1204. The destination storage disk generates verification data corresponding to the valid data.

[0178] 1205. The destination storage disk sends verification data of a corresponding amount of data to each verification data storage disk based on the verification data storage information.

[0179] 1206. The verification data storage disk stores the received verification data.

[0180] The specific processing methods of the above process are Fig.11 The process shown is similar, please refer to the corresponding instructions, and will not be repeated here.

[0181] By adopting this method, the generation and processing of the verification data are all handed over to the destination storage disk for execution, and the host does not need to run the verification data generation algorithm, which can effectively reduce the occupation of the host hardware resources.

[0182] Based on the same technical concept, the embodiment of the present disclosure provides a data storage management device, which is applied to a host in the above storage system, such as Fig.13 As shown, the device comprises:

[0183] The determination module 1310 is used to determine at least one source storage disk and at least one destination storage disk from among the multiple storage disks; based on the amount of valid data in each source storage disk and the available space of each destination storage disk, determine the migration information corresponding to each source storage disk, wherein the migration information corresponding to the source storage disk includes the destination storage disk corresponding to the source storage disk, and the amount of valid data to be sent from the source storage disk to each corresponding destination storage disk. Specifically, the processing functions of the above steps 401 and 402, as well as other implicit steps, can be realized.

[0184] The sending module 1320 is used to send corresponding migration information to each source storage disk, wherein the migration information is used to instruct the source storage disk to send valid data to each corresponding destination storage disk. Specifically, it can realize the processing function of the above step 403 and other implicit steps.

[0185] In a possible implementation, the device further includes an updating module 1330, which is used to: receive storage location information of valid data in the corresponding destination storage disk sent by each source storage disk; and update metadata based on the storage location information of valid data in each destination storage disk. Specifically, the processing function of the above step 703 and other implicit steps can be implemented.

[0186] In a possible implementation, the device further includes a deletion module 1340, which is used to send a deletion notification to each source storage disk, and specifically implement the processing function of the above step 801, as well as other implicit steps.

[0187] In a possible implementation, the plurality of storage disks include a plurality of verification data storage disks; the device further includes a verification module 1350, which is used to: determine the amount of verification data to be generated for each source storage disk based on the amount of valid data in each source storage disk; determine the verification data storage information corresponding to each source storage disk based on the amount of verification data to be generated for each source storage disk and the available space of each verification data storage disk, wherein the verification data storage information corresponding to the source storage disk includes the verification data storage disk corresponding to the source storage disk, and the amount of verification data to be sent by the source storage disk to each corresponding verification data storage disk; send the corresponding verification data storage information to each source storage disk. Specifically, the processing functions of the above steps 1001, 1002, 1003, 1101, 1102, 1103, and other implicit steps can be implemented.

[0188] In one possible implementation, the source storage disk is a storage disk in which the amount of invalid data stored exceeds a proportion threshold in the total amount of stored data, and the destination storage disk is the N storage disks with the most available space among multiple storage disks, where N is an integer greater than or equal to 2.

[0189] The above-mentioned determination module 1310, sending module 1320, updating module 1330, deleting module 1340, and checking module 1350 can be implemented by a processor, or by a processor in conjunction with a memory and a communication component.

[0190] The embodiment of the present disclosure also provides a data storage management device, which is applied to a first storage disk selected as a source storage disk among multiple storage disks in the above storage system, such as Fig.14 As shown, the device comprises:

[0191] The receiving module 1410 is used to receive migration information sent by the host, wherein the migration information is used to indicate that the first storage disk is the source storage disk determined by the host, and includes the destination storage disk corresponding to the source storage disk, and the amount of valid data to be sent by the source storage disk to each corresponding destination storage disk.

[0192] The sending module 1420 is used to send valid data of a corresponding amount of data to each destination storage disk based on the migration information, and can specifically implement the processing function of the above step 404 and other implicit steps.

[0193] In a possible implementation, the sending module 1420 is used to: copy the valid data stored locally to the cache space; for each destination storage disk, based on the amount of data corresponding to the destination storage disk, read the valid data corresponding to the destination storage disk from the valid data stored in the cache space, and send it to the destination storage disk. Specifically, the processing function of the above step 404 and other implicit steps can be implemented.

[0194] In a possible implementation, the receiving module 1410 is further configured to receive storage location information of valid data sent by each destination storage disk.

[0195] The sending module 1420 is also used to send the storage location information of the valid data in each destination storage disk to the host, which can specifically implement the processing function of the above step 702 and other implicit steps.

[0196] In a possible implementation, the receiving module 1410 is configured to receive a deletion notification sent by a host.

[0197] The device also includes a deletion module 1430 for deleting stored valid data and invalid data, which can specifically implement the processing function of the above step 802 and other implicit steps.

[0198] In a possible implementation, the device further includes a verification module 1440, which is used to: receive verification data storage information sent by the host, wherein the verification data storage information includes the verification data storage disk corresponding to the source storage disk, and the data volume of the verification data to be sent by the source storage disk to each corresponding verification data storage disk, and the verification data storage disk belongs to multiple storage disks; generate verification data corresponding to the valid data; based on the verification data storage information, send verification data of the corresponding data volume to each verification data storage disk. Specifically, the processing functions of the above steps 1004 and 1005, as well as other implicit steps, can be realized.

[0199] The above-mentioned receiving module 1410, sending module 1420, deleting module 1430, and checking module 1440 can be implemented by a processor, or by a processor in conjunction with a memory, a communication component, and a display component.

[0200] The embodiment of the present disclosure also provides a data storage management device, which is applied to a second storage disk selected as a destination storage disk among multiple storage disks in the above storage system, such as Fig.15 As shown, the device comprises:

[0201] The receiving module 1510 is used to receive valid data sent by a first storage disk among multiple storage disks, wherein the first storage disk is a source storage disk determined by the host, and the second storage disk is a destination storage disk corresponding to the source storage disk determined by the host. Specifically, the processing function of the above step 405 and other implicit steps can be implemented.

[0202] The storage module 1520 is used to store valid data, and can specifically implement the processing function of the above step 402 and other implicit steps.

[0203] In a possible implementation, the storage module 1520 is further configured to: send storage location information of valid data to the first storage disk, and specifically implement the processing function of the above step 701 and other implicit steps.

[0204] The above-mentioned receiving module 1510 and storage module 1520 can be implemented by a processor, or by a processor in conjunction with a memory, a communication component and a display component.

[0205] With the above device, the host is only responsible for determining the source storage disk, the destination storage disk and the amount of data to be transmitted. The data distribution work is completed by the source storage disk, and the distributed data will not pass through the host, thus reducing the occupation of the host hardware resources. In addition, the requirements for the host storage capacity can be reduced.

[0206] The data storage management device provided in the above embodiment only uses the division of the above functional modules as an example when performing data storage management. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the user equipment is divided into different functional modules to complete all or part of the functions described above. In addition, the data storage management device provided in the above embodiment and the data storage management method embodiment belong to the same concept, and the specific implementation process is detailed in the method embodiment, which will not be repeated here.

[0207] The embodiments of the present disclosure also provide a computer-readable storage medium. The computer-readable storage medium may be any available medium that can be stored by a computing device or a data storage device such as a data center that includes one or more available media. The available medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a digital video disk (DVD)), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions that instruct a computing device to perform a business processing method, or instructs a computing device to perform a business processing method.

[0208] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present disclosure, rather than to limit them. Although the present disclosure has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present disclosure.

Claims

1. A method for data storage management, characterized in that: The method is applied to a storage system, the storage system comprising a host and a plurality of storage disks, and the method comprises: The host determines, based on the amount of valid data in a source storage disk among the multiple storage disks and the available space of a destination storage disk among the multiple storage disks, the migration information corresponding to the source storage disk includes the destination storage disk corresponding to the source storage disk and the amount of valid data to be sent from the source storage disk to the destination storage disk; The host sends the migration information to the source storage disk; The source storage disk sends valid data of a corresponding amount of data to the destination storage disk based on the migration information; The destination storage disk stores the valid data.

2. The method according to claim 1, characterized in that After the destination storage disk stores the valid data, the method further includes: The destination storage disk sends the storage location information of the valid data to the source storage disk; The source storage disk sends the storage location information of the valid data to the host; The host updates metadata based on the storage location information of the valid data.

3. The method according to claim 1 or 2, characterized in that: The method further comprises: The host sends a deletion notification to the source storage disk; The source storage disk deletes the stored valid data and invalid data.

4. The method according to any one of claims 1 to 3, characterized in that: The method further comprises: The host determines, based on the amount of valid data in the source storage disk, the amount of verification data corresponding to the valid data to be generated by the source storage disk; The host determines the verification data storage information corresponding to the source storage disk based on the data volume of the verification data and the available space of the verification data storage disk, wherein the verification data storage information corresponding to the source storage disk includes the verification data storage disk corresponding to the source storage disk and the data volume of the verification data to be sent by the source storage disk to the verification data storage disk; The host sends the verification data storage information to the source storage disk; The source storage disk generates verification data corresponding to the valid data; The source storage disk sends verification data of a corresponding amount of data to the verification data storage disk based on the verification data storage information.

5. The method according to any one of claims 1 to 4, characterized in that: The source storage disk is a storage disk in which the amount of invalid data stored in the total amount of stored data exceeds a proportion threshold, and the destination storage disk is the N storage disks with the most available space among the multiple storage disks, where N is an integer greater than or equal to 2.

6. The method according to any one of claims 1 to 5, characterized in that: The source storage disk sends valid data of a corresponding amount of data to the destination storage disk based on the migration information, including: The source storage disk copies the valid data stored locally to the cache space; Based on the amount of data corresponding to the destination storage disk, the source storage disk reads valid data corresponding to the destination storage disk from the valid data stored in the cache space, and sends the data to the destination storage disk.

7. A storage system, characterized in that: The storage system includes a host and a plurality of storage disks; The host is configured to determine migration information corresponding to the source storage disk based on the amount of valid data in a source storage disk among the multiple storage disks and the available space of a destination storage disk among the multiple storage disks, wherein the migration information corresponding to the source storage disk includes the destination storage disk corresponding to the source storage disk and the amount of valid data to be sent from the source storage disk to the destination storage disk; and send the migration information to the source storage disk; The source storage disk is used to send valid data of a corresponding data volume to the destination storage disk based on the migration information; The destination storage disk is used to store the valid data.

8. The storage system according to claim 7, characterized in that: The destination storage disk is further used to send the storage location information of the valid data to the corresponding source storage disk; The source storage disk is further used to send the storage location information of the valid data to the host; The host is further used to update metadata based on the storage location information of the valid data.

9. The storage system according to claim 7 or 8, characterized in that: The host is further used to send a deletion notification to the source storage disk; The source storage disk is also used to delete stored valid data and invalid data.

10. The storage system according to any one of claims 7 to 9, characterized in that: The host is further configured to determine, based on the data volume of valid data in the source storage disk, the data volume of verification data corresponding to the valid data to be generated by the source storage disk; determine, based on the data volume of the verification data and the available space of the verification data storage disk, verification data storage information corresponding to the source storage disk, wherein the verification data storage information corresponding to the source storage disk includes the verification data storage disk corresponding to the source storage disk and the data volume of verification data to be sent by the source storage disk to the verification data storage disk; and send the verification data storage information to the source storage disk; The source storage disk is further used to generate verification data corresponding to the valid data; based on the verification data storage information, send the verification data of the corresponding data volume to the verification data storage disk.

11. The storage system according to any one of claims 7 to 10, characterized in that: The source storage disk is a storage disk in which the amount of invalid data stored in the total amount of stored data exceeds a proportion threshold, and the destination storage disk is the N storage disks with the most available space among the multiple storage disks, where N is an integer greater than or equal to 2.

12. The storage system according to any one of claims 7 to 11, characterized in that: The source storage disk is used for: Copy the valid data stored locally to the cache space; Based on the data amount corresponding to the destination storage disk, the valid data corresponding to the destination storage disk is read from the valid data stored in the cache space, and sent to the destination storage disk.

13. A host, characterized in that: The host belongs to a storage system, the storage system includes the host and a plurality of storage disks, and the host includes a processor, a transceiver and a memory; The processor is configured to determine migration information corresponding to the source storage disk based on the amount of valid data in a source storage disk among the multiple storage disks stored in the memory and the available space of a destination storage disk among the multiple storage disks, wherein the migration information corresponding to the source storage disk includes the destination storage disk corresponding to the source storage disk and the amount of valid data to be sent from the source storage disk to the destination storage disk; The transceiver is used to send the migration information to the source storage disk, wherein the migration information is used to instruct the source storage disk to send valid data to the destination storage disk.

14. The host according to claim 13, characterized in that: After sending the migration information to the source storage disk, the transceiver is further used to receive storage location information of valid data in the corresponding destination storage disk sent by the source storage disk; The processor is further configured to update metadata based on the storage location information of the valid data.

15. The host according to claim 13 or 14, characterized in that: The transceiver is further used to send a deletion notification to the source storage disk.

16. The host according to any one of claims 13 to 15, characterized in that: The processor is further configured to determine, based on the amount of valid data in the source storage disk, the amount of verification data corresponding to the valid data to be generated by the source storage disk; and determine, based on the amount of verification data to be generated by the source storage disk and the available space of the verification data storage disk, verification data storage information corresponding to the source storage disk, wherein the verification data storage information corresponding to the source storage disk includes the verification data storage disk corresponding to the source storage disk and the amount of verification data to be sent by the source storage disk to the verification data storage disk; The transceiver is further configured to send the verification data storage information to the source storage disk.

17. The host according to any one of claims 13 to 16, characterized in that: The source storage disk is a storage disk in which the amount of invalid data stored in the total amount of stored data exceeds a proportion threshold, and the destination storage disk is the N storage disks with the most available space among the multiple storage disks, where N is an integer greater than or equal to 2.

18. A first storage disk, characterized in that: The first storage disk belongs to a storage system, the storage system includes a host and multiple storage disks, the first storage disk is any storage disk among the multiple storage disks, and the first storage disk includes a processor, a memory, and a transceiver; In the case where the transceiver receives migration information sent by the host, the processor is used to control the transceiver to send valid data of a corresponding data volume to the destination storage disk based on the migration information, wherein the migration information is used to indicate that the first storage disk is a source storage disk and includes the destination storage disk corresponding to the source storage disk and the data volume of the valid data to be sent from the source storage disk to the destination storage disk; In the case where the transceiver receives valid data sent by a second storage disk among the multiple storage disks, the memory is used to store the valid data.

19. The first storage disk according to claim 18, characterized in that: The processor is used to control the memory to copy the stored valid data to the cache space based on the migration information; The transceiver is used for reading valid data corresponding to each destination storage disk from valid data stored in the cache space based on the amount of data corresponding to the destination storage disk, and sending the data to the destination storage disk.

20. The first storage disk according to claim 18 or 19, characterized in that: The transceiver is further used to receive the storage location information of the valid data sent by the destination storage disk; and send the storage location information of the valid data to the host.

21. The first storage disk according to any one of claims 18 to 20, characterized in that: The transceiver is further used to receive a deletion notification sent by the host; The processor is further used to delete the valid data and invalid data stored in the memory.

22. The first storage disk according to any one of claims 18 to 21, characterized in that: The transceiver is further configured to receive verification data storage information sent by the host, wherein the verification data storage information includes the verification data storage disk corresponding to the source storage disk, and the amount of verification data to be sent by the source storage disk to the verification data storage disk; The processor is further configured to generate verification data corresponding to the valid data; The transceiver is further configured to send verification data of a corresponding amount of data to the verification data storage disk based on the verification data storage information.

23. The first storage disk according to any one of claims 18 to 22, characterized in that: The transceiver is further configured to send storage location information of the valid data to the second storage disk after the memory stores the valid data.

Citation Information

Patent Citations

  • Method for data migration between cloud storage systems

    CN106953893A

  • Storage device, and method of balancing utilization between multiple solid state drives in a storage device

    CN109388337A

  • Data migration method, system and equipment of storage server and storage medium

    CN114816278A

  • Data migration method and device, computing equipment and storage medium

    CN116501255A

  • System and Method for Migration of Data

    US20100287345A1

Cited By

  • Data storage management method, system, and device

    EP4782982A1

  • Data storage management method, system, and device

    WO2025081883A1