WO2022017002A1 - Procédé et dispositif de récupération d'espace de stockage - Google Patents

Procédé et dispositif de récupération d'espace de stockage Download PDF

Info

Publication number
WO2022017002A1
WO2022017002A1 PCT/CN2021/097668 CN2021097668W WO2022017002A1 WO 2022017002 A1 WO2022017002 A1 WO 2022017002A1 CN 2021097668 W CN2021097668 W CN 2021097668W WO 2022017002 A1 WO2022017002 A1 WO 2022017002A1
Authority
WO
WIPO (PCT)
Prior art keywords
time period
storage system
data
garbage collection
time
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.)
Ceased
Application number
PCT/CN2021/097668
Other languages
English (en)
Chinese (zh)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of WO2022017002A1 publication Critical patent/WO2022017002A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures

Definitions

  • the present application relates to the field of storage, and in particular, to a garbage collection method and device.
  • new data is usually written by a redirect-on-write (ROW) mechanism. That is, when the data in the storage system is modified, the new data will be written into the blank logical block group in the storage system, and the original data will be marked as garbage data for recycling.
  • garbage collection GC
  • the valid data in the logical block group CKG
  • the valid data and invalid data in the logical block group are erased , forming a new blank logical block group for storing other new data.
  • the garbage collection process is accompanied by certain calculations and data writing, resulting in corresponding system performance consumption, which will affect the number of read and write operations per second (Input/Output Operations Per Second, IOPS) performed by the host in the storage system, especially When a large amount of data needs to be quickly written to the storage system, the storage system may perform a large number of concurrent garbage collection processes, so the performance consumption of the garbage collection process will seriously reduce the performance of the host in the storage system, such as IOPS.
  • IOPS Input/Output Operations Per Second
  • Embodiments of the present application provide a method and apparatus for garbage collection, so as to improve the performance of a host in a storage system when a large number of data writing tasks are performed.
  • an embodiment of the present application provides a garbage collection method, which can be applied to a storage system.
  • the storage system may determine a first time period in which the future service pressure value of the storage system is small according to the service pressure value of the storage system in the historical time period, which may be the service pressure value of the storage system in the first time period. Below the set threshold, the storage system can then perform garbage collection for this first time period. Since the storage system performs garbage collection in the first time period when the service pressure value is small, the blank logical block groups of the storage system can be increased, so that the storage system can have more blank logical block groups to support the storage system in other time periods.
  • garbage collection can improve the performance of the host when there are a large number of data writing tasks.
  • the service pressure value of the storage system in the historical time period may be determined according to any one or more of IOPS, IO size, data read/write ratio, deduplication compression ratio, and throughput. Certainly, in other possible implementation manners, the service pressure value may also be determined according to other data of the storage system in the historical time period, which is not limited in this embodiment.
  • the storage system when it determines the first time period, it may specifically determine the termination time of the first time period according to the service pressure value of the storage system in the historical time period, and the termination time is not later than the first time period.
  • the start time of the two time periods for example, the end time of the first time period may be the start time of the second time period, or the end time of the first time period may be located before the start time of the second time period.
  • the set threshold required for determining the first time period may be determined according to the service pressure value in the second time period.
  • the set threshold value may be the average value of the service pressure value in the second time period, Or the minimum service pressure value in the second time period, etc.
  • the set threshold may also be a fixed value.
  • the specific implementation process of how to determine the set threshold is not limited in the embodiments of the present application.
  • the storage system may further determine the service pressure value of the storage system in the second time period in the future according to the service pressure value of the storage system in the historical time period, so that the storage system can
  • the business pressure value in the time period determines the garbage collection rate of the storage system in the first time period. For example, when the service pressure value of the storage system in the second time period is relatively high, garbage collection may be performed at a relatively high garbage collection rate in the first time period, and when the service pressure value of the storage system in the second time period is high When the pressure value is small, garbage collection may be performed at a smaller garbage collection rate in the first time period. In this way, the garbage collection rate of the storage system in the first time period can be dynamically planned and adjusted, thereby increasing the flexibility of solution implementation.
  • the storage system may not only perform garbage collection in the first time period, but also may perform garbage collection in the second time period at a lower garbage collection rate.
  • the garbage collection rate of the storage system in the second time period is lower than the garbage collection rate of the storage system in the first time period. Since the garbage collection rate of the storage system in the second time period is relatively small, the garbage collection process of the storage system in the second time period has less impact on the performance of the host in the storage system. The internal performance can still meet the front-end business needs.
  • the storage system performs garbage collection in the second time period, and while writing data, it also releases blank logical block groups, so that the storage system can have more available storage for a long time in the second time period. space.
  • the storage system may further determine target data for garbage collection performed by the storage system, where the target data includes data whose predicted failure time is later than a preset time in the second time period, and the preset The time may be any time in the second time period, for example, it may be the start time of the second time period, or it may be a time later than the start time of the second time period by a certain period of time, etc.
  • This embodiment does not Not limited.
  • the storage system may not perform garbage collection on the data that has failed before the preset time, but can perform garbage collection on the data that has failed after the preset time, thereby reducing the storage system in time as much as possible. Part of the data that is garbage collected in the first time period becomes invalid when it enters the second time period, thereby reducing invalid write amplification.
  • the target data determined by the storage system may include first data and second data, wherein the expiration time of the first data is later than the expiration time of the second data.
  • the first data can be garbage collected first, and after all the first data is garbage collected, if it is still necessary to release a blank logical block group through garbage collection, the storage system
  • the second garbage collection can continue to be garbage collected, and when all the first data is garbage collected or part of the first data is garbage collected, the blank logical block group of the storage system can already meet the current data writing requirements, Therefore, the storage system does not need to perform garbage collection on the second data, which can avoid data invalidation of the second data shortly after the second data is garbage collected, so that invalid write amplification in garbage collection can be reduced as much as possible.
  • an embodiment of the present application further provides a garbage collection device, which is configured to execute the method described in any one of the implementation manners of the first aspect.
  • an embodiment of the present application further provides a garbage collection device, where the garbage collection device includes a memory and a processor, where the processor is configured to execute instructions stored in the memory to execute any one of the first aspects Implement the method described.
  • a fourth aspect of the present application provides a computer-readable medium, where instructions are stored in the computer-readable medium, which, when executed on a computer, cause the computer to execute the methods described in the above aspects.
  • a fifth aspect of the present application provides a computer program product, which, when run on a computer, causes the computer to execute the methods described in the above aspects.
  • FIG. 1 is a schematic structural diagram of a storage system according to an embodiment of the present application.
  • FIG. 2 is a structural example diagram of the controller 11
  • FIG. 3 is a schematic flowchart of a garbage collection method provided by an embodiment of the present application.
  • FIG. 4 is a schematic diagram of business pressure changes of the storage system in different time periods
  • FIG. 5 is a schematic structural diagram of a garbage recycling device provided by an embodiment of the present application.
  • the embodiments of the present application propose a method and apparatus for garbage collection, so as to improve performance such as IOPS when a host has a large number of data writing tasks.
  • FIG. 1 depicts a composition diagram of a storage system provided by an embodiment of the present application.
  • the storage system shown in FIG. 1 includes a host 10 , at least one controller (such as the controller 11 shown in FIG. 1 ) and a plurality of solid state disks 22 .
  • the controller 11 may be connected to the host 10 through a storage area network (SAN).
  • Controller 11 may be a computing device such as a server, desktop computer, or the like.
  • An operating system and application programs are installed on the controller 11 .
  • the controller 11 may receive input-output (I/O) requests from the host 10 .
  • the controller 11 may also store the data (if any) carried in the I/O request and write the data to the solid state drive 22 .
  • a solid-state drive is a memory with a flash memory chip as the medium, also known as a solid-state drive (Solid State Drive, SSD).
  • FIG. 1 is only an exemplary illustration.
  • the storage system may include two or more controllers.
  • the physical structure and function of each controller are similar to those of the controller 11 , and this embodiment does not limit the controllers among the controllers. and the connection mode between any controller and the solid-state hard disk 22 .
  • the controller 11 sends an instruction to the solid-state drive
  • the command is usually sent to multiple solid-state drives.
  • a set including multiple solid-state drives 22 is referred to as a solid-state drive group.
  • the storage medium is a solid-state hard disk as an example for illustration.
  • the storage medium in the storage system may also be other storage mediums such as a mechanical hard disk (HDD).
  • HDD mechanical hard disk
  • FIG. 2 is a structural example diagram of the controller 11 .
  • the controller 11 includes an interface card 110 , a processor 112 and an interface card 113 .
  • the interface card 110 is used to communicate with the host 10 , and the controller 11 can receive the operation instruction of the host 10 through the interface card 110 .
  • the processor 112 may be a central processing unit (Central Processing Unit, CPU). In this embodiment of the present application, the processor 112 may be configured to receive an I/O request from the host 10 and process the I/O request.
  • the I/O request may be a write data request or a read data request, and the processor 112 may also send the data in the write data request to the solid-state disk 22 .
  • the processor 112 may also be used to perform garbage collection operations.
  • the interface card 113 is used to communicate with the solid-state hard disk 22, and the controller 11 can send a write data request (including data and the life cycle level of the data) to the solid-state hard disk 22 for storage through the interface card 113.
  • the controller 11 may further include a memory 111 .
  • the memory 111 is used to temporarily store data received from an external device such as the host 10 or data read from the solid-state hard disk 22 .
  • the controller 11 may temporarily store the data in the multiple write data requests in the memory 111 .
  • the capacity of the memory 111 reaches a certain threshold, the data stored in the memory 111 and the logical address assigned to the data are sent to the solid-state disk 22 .
  • the solid state drive 22 stores data.
  • the memory 111 includes volatile memory, flash memory chips, or a combination thereof. Volatile memory is, for example, random-access memory (RAM).
  • Flash memory chips are various machine-readable media that can store program codes, such as floppy disks, hard disks, solid-state disks, and optical disks.
  • the memory 111 has a power protection function, which means that when the system is powered off and then powered on again, the data stored in the memory 111 will not be lost.
  • the controller 11 After the data is written into the storage system, the controller 11 needs to record the validity of the data.
  • the validity of data is determined by whether the data has been modified. If the data is written for the first time, the data can be recorded as valid (called valid data). If the data is modified, the data before modification is recorded as invalid (called invalid data).
  • a bitmap can be used to record the validity of the data. For example, each "bit" of the bitmap corresponds to the logical address of data with a size of 1KB. When the "bit" is 1, it means that the data stored in the logical address is valid, and when the "bit" is 0, it means that the data stored in the logical address is valid. The data is invalid.
  • the bitmap can be stored in the memory 111 or in the solid state drive.
  • controller 11 belongs to the system controller, and the system controller is an independent device, which is different from the control chip in the solid-state hard disk.
  • the control chip of the solid-state hard disk is called a flash memory controller.
  • the solid state drive 22 includes a flash memory controller and a plurality of flash memory chips. Among them, the flash memory controller is used to execute operations such as a write data request or a read data request sent by the controller 11 .
  • the flash controller contains a flash translation layer (FTL).
  • the flash translation layer is used to store the correspondence between the logical address of the data and the actual address. Therefore, the flash translation layer is used to convert the logical address in the write data request or the read data request sent by the system controller into the actual address of the data in the SSD.
  • the logical address of the data is assigned by the system controller, and the SSD provides a subset of the logical address range to the system controller.
  • the logical address of the data includes a starting logical address and a length, the starting logical address indicates the position of the segment where the data is located, and the length represents the size of the data.
  • the actual address of the data may be the physical address of the data in the solid state disk, or it may be an address that is virtualized on the basis of the physical address and is only visible to the flash controller. This virtualized real address is not visible to the system controller.
  • Solid-state drives typically include one or more flash memory chips. Each flash chip includes several erase blocks. The solid state drive is based on a page (English: page) when reading or writing, but the erase operation can only be based on an erase block. The erase operation refers to setting all bits of this block to "1". Before erasing, the flash controller needs to copy the valid data in this erase block to the blank page of another block.
  • Each erase block contains multiple pages (English: page).
  • a solid-state disk executes a data write request, it writes data in page units.
  • the controller 11 sends a write data request to the flash controller.
  • a write data request includes the logical address of the data.
  • the flash memory controller continuously writes data into one or more erase blocks according to the received time sequence. Continuously writing one or more erase blocks means that the flash controller searches for a blank erase block and writes data into the blank erase block until the blank erase block is filled. When the capacity of the block is removed, the flash controller searches for the next empty erase block and continues writing.
  • the flash translation layer establishes and maintains the correspondence between logical addresses and the actual addresses of the pages where the data is written.
  • the read data request includes a logical address.
  • the flash memory controller reads data according to the logical address and the correspondence between the logical address and the actual address, and sends the data to the controller 11 .
  • a single solid-state drive can fail, resulting in data loss.
  • a redundant array of inexpensive disks Redundant Array of Inexpensive Disks, RAID
  • RAID Redundant Array of Inexpensive Disks
  • the controller 11 performs space management on the solid state drive in the form of logical blocks (chunk, CK).
  • a logical block is a space concept, and its size is 4MB for example, but not limited to 4MB.
  • the logical blocks from different solid-state drives can form a logical block set, and the controller 11 divides the logical blocks in the logical block set into a data group and a parity group according to the set RAID type.
  • the data group includes at least two logic blocks for storing data
  • the check group includes at least one logic block for storing check data of the data.
  • a logical block set including a data group and a check group is called a logical block group.
  • the controller 11 When the controller 11 fills the memory 111 with data of a certain size, it can be divided into a plurality of data units according to the set RAID type, and the check unit is obtained by calculation, and the data unit and the check unit are sent to the solid-state hard disk, to be stored in a logical block group.
  • Each logical block in the data group is used for storing the data unit, and each logical block in the parity group is used for storing the parity unit. After storage, these data units and corresponding check units constitute a stripe.
  • a logical block group includes multiple stripes.
  • Both the data unit and the check unit included in the stripe can be called the stripe unit.
  • the size of the stripe unit is 8KB as an example, but it is not limited to 8KB.
  • the controller 11 groups the logical blocks in the logical block set according to the RAID type (taking RAID6 as an example), for example, logical block 1, logical block 2 And logical block 3 is a data block group, and logical block 4 and logical block 5 are a check block group.
  • the data stored in the memory 111 reaches 24KB (ie 8KB*3), the data is divided into 3 data units, each data unit is 8KB, and then 2 check units are obtained by calculation, and each check unit is also 8KB .
  • the controller 11 sends these data units and check units to the solid-state hard disk, and stores them in the logical block group. It can be understood that, according to the redundancy protection mechanism of RAID6, when any two data units or check units fail, the failed unit can be reconstructed according to the remaining data units or check units.
  • the controller 11 when the memory 111 is full of data equal to one stripe size, the controller 11 sends a data write request to the solid-state disk group, so that the solid-state disk 22 included in the solid-state disk group writes data into the logical block in the section of the group. At this time, the controller 11 needs to determine whether there is an allocated logical block group. If there is and the logical block group still has enough space to accommodate the data, the controller 11 can instruct the solid-state disk group to write the data into the allocated logical block group. in the logical block group. Specifically, the controller 11 obtains an unused logical address from the logical address range of the logical block group that has been allocated, and sends the logical address to the solid-state disk 22 with the logical address in the write data request. After the solid state disk 22 saves the data, a mapping relationship between the logical address and the actual address where the data is saved is created in the flash memory translation layer.
  • the controller 11 determines that the allocated logical block group does not exist in the system, or the allocated logical block group is full of data, the controller 11 needs to create a new logical block group.
  • the creation process may be that the controller 11 determines that the remaining space of the system is sufficient to create a new logical block group according to its own record of the available space of each solid-state disk.
  • the controller 11 obtains a logical block from different solid-state drives 22, and builds these logical blocks into a new logical block group according to the set RAID type (refer to the above description about the logical block group). Then, the controller 11 allocates a segment of logical addresses to each logical block, and the set of these logical addresses is the logical addresses of the new logical block group.
  • the controller 11 may monitor the free space of each solid state disk 22 in real time or periodically, so as to know the free space of the entire system. Garbage collection can be initiated when the system's free space (such as blank logical block groups) falls below a set space threshold.
  • the capacity of one solid-state drive 22 is 128G
  • the total capacity of all solid-state drives included in the storage system shown in FIG. 1 is 1280G
  • the space threshold can be set to 640G.
  • garbage collection when the data stored in the storage system reaches half of the total capacity, the remaining free space also reaches the space threshold, and the controller 11 can perform garbage collection at this time.
  • 640G is only an example of the space threshold, and the space threshold can also be set to other values.
  • garbage collection when the used space of the system reaches a set space threshold, garbage collection can also be triggered.
  • garbage collection when the amount of invalid data contained in one or more stripes reaches a set threshold, garbage collection may also be started. Garbage collection is different from garbage collection inside SSDs. Garbage collection inside the SSD is done by the SSD itself.
  • the controller 11 may perform garbage collection in units of logical block groups. For example, the controller 11 obtains the logical address of valid data in a logical block group according to the bitmap, and sends the logical address of the valid data to the solid-state disk group, so that each solid-state disk 22 can read the data according to the logical address of the valid data and send it to the solid-state disk. sent to the controller 11. The controller 11 allocates a new logical address for the valid data, the new logical address belongs to the new logical block group, and sends the allocated new logical address to the solid-state hard disk group, and each solid-state hard disk 22 writes the valid data into the new logical block. After the block, the mapping relationship between the actual address and the new logical address is saved.
  • the controller 11 sends an unmap command (or a trim command) to the solid-state disk group.
  • the unmap command includes the logical address range of the logical block group to be recovered.
  • the flash memory is deleted.
  • the solid-state disk 22 may also mark the block corresponding to the actual address of the valid data before the move as a block that does not contain valid data.
  • the controller 11 may release the logical address range of the logical block group to be reclaimed and the actual physical space occupied by the logical block group (which can also be understood as an actual address).
  • garbage collection When garbage collection is performed in units of logical block groups, all valid data in the logical block group must be moved to a new logical block group before the empty logical block group can be released. If garbage collection is performed at a finer granularity than the logical block group, the goal of performing fewer data moves but freeing up the same amount of free space can be achieved.
  • garbage collection is accompanied by certain calculations and data writing, which preempts some data reading and writing resources of the storage system and consumes the performance of the storage system, which affects the IOPS and other performance of the host 10 in the storage system.
  • IOPS when the storage system has sufficient free storage space and does not perform garbage collection, the maximum IOPS of the host 10 may reach 10,000.
  • the storage system starts garbage collection to increase the number of IOPS.
  • the storage system needs to quickly write a large amount of data, the storage system performs a large number of concurrent garbage collection processes to release storage space, which will cause the system performance consumption generated by the garbage collection process to seriously reduce the IOPS of the host 10. At the same time, other performances of the host 10 may also be degraded.
  • the embodiment of the present application provides a garbage collection method, so as to improve the performance of the host when there are a large number of data writing tasks.
  • the storage system can determine the first time period in the future when the business pressure value of the storage system is lower than the set threshold according to its business pressure value in the historical time period, so that the storage system can determine the first time period when the business pressure value is smaller in the storage system.
  • Garbage collection is performed within the segment to increase the blank logical block group of the storage system. In this way, the storage system can have more blank logical block groups to support the storage system in other time periods (such as the time period with high business pressure value).
  • the controller in the storage system can determine the first time period in the future by means of prediction by using a processor integrated in the controller; or, A processor (or a controller including the processor, etc.) can be configured separately in the storage system, and the separately configured processor can be used to predict the first time period in the future according to the business pressure value in the historical time period, and then It informs the processor in the storage system for controlling the execution of garbage collection; alternatively, the storage system may send its business pressure value in the historical time period to the processor (or processing device) independent of the storage system, and the The processor (or the processing device) predicts the first time period in the future according to the received service pressure value, and then sends the predicted first time period to the storage system.
  • the specific implementation of how the storage system determines the first time period is not limited.
  • the above-mentioned processor may be a CPU, including one CPU core or multiple CPU cores.
  • the processor may also be a specific integrated circuit (application specific integrated circuit, ASIC), or be configured as one or more integrated circuits, such as: one or more microprocessors (digital signal processor, DSP), or, One or more field programmable gate arrays (FPGA).
  • ASIC application specific integrated circuit
  • the processor can perform corresponding functions by running or executing software programs stored in the memory and calling data stored in the memory.
  • the original processor in the storage system is referred to as the first processor below, and the processor configured independently in the storage system or the processor independent of the storage system is referred to as the second processor.
  • the first processor and the second processor may have the same physical form, or may have different physical forms.
  • the second processor may be a processing chip with computing capability, and is configured to undertake the function of predicting a first time period in which the future service pressure value is small, so as to reduce the computational burden of the first processor.
  • the second processor may be an accelerator card or a coprocessor or a graphics processor (Graphics Processing Unit, GPU) or a neural network processor (Neural-network Processing Unit, NPU), and the like.
  • one or more first processors may be configured, and one or more second processors may also be configured.
  • the second processor is an optional component in this embodiment.
  • the first processor can independently predict the first time period in which the future service pressure value is less than the set threshold value according to the service pressure value of the storage system in the historical time period, and perform the prediction in the first time period in the first time period. Garbage collection takes place over a period of time.
  • the above process may also be completed by the first processor and the second processor in cooperation.
  • the first processor can be used to collect the service pressure value of the storage system in a historical time period, and send the service pressure value of the historical time period to the second processor; the second processor predicts according to the received service pressure value The first time period when the future service pressure value of the storage system is small is obtained, and the first time period is notified to the first processor; the first processor performs garbage collection on the storage system within the first time period notified by the second processor.
  • the first processor and the second processor may communicate with each other through a communication bus.
  • FIG. 3 shows a schematic flowchart of a garbage collection method in an embodiment of the present application.
  • the method can be applied to a storage system.
  • the method can be implemented by a processor in the storage system or by integrating the processing
  • the controller of the device executes.
  • the garbage collection method in this embodiment may specifically include:
  • the storage system determines a first time period according to the service pressure value of the storage system in the historical time period, the service pressure value of the storage system in the first time period is lower than a set threshold, and the storage system in the historical time period
  • the service pressure value is obtained according to any one or more of the IOPS, IO size, data read/write ratio, deduplication and compression ratio, and throughput of the storage system in the first time period.
  • the business pressure of the storage system (such as the pressure of writing data) does not always remain stable, but shows intermittent high and low changes.
  • the horizontal axis represents time
  • the vertical axis represents service pressure value
  • the larger the service pressure value the higher the service pressure of the storage system.
  • the amount of data written by the storage system may be small (even no data may be written to the storage system), and the business pressure of the storage system during the period from T 0 to T 1 is relatively small; however, During the time period from T 1 to T 2 , the amount of data written by the storage system may be large, and the storage system may be under greater business pressure during the period from T 1 to T 2 (for example, the storage system may perform data synchronization during this time period). or backup, etc.).
  • the storage system Since more data is written to the new storage system during T 1 ⁇ T 2, the storage system requires more available storage space, if the storage system at the same time fast write large amounts of data, by concurrently performing garbage collection to increase the storage system If the available storage space is available, the garbage collection process performed by the storage system during T 1 to T 2 will seriously affect the performance of data writing by the host in the storage system, such as seriously reducing the rate at which the host writes data.
  • the storage system may perform garbage collection before the time period with high business pressure.
  • the storage system may have more The available storage space can support the writing of a large amount of data, reduce the concurrent amount of garbage collection in this time period, and improve the business performance of the host in this time period.
  • the storage system may collect the business pressure value of the storage system in a historical time period, and the business pressure value of the historical time period may indicate the business pressure of the storage system in different time periods in the past, so that the storage system can
  • the business pressure value in the historical time period determines the business pressure of the storage system in the future time period, and determines the first time period when the business pressure is low.
  • the business pressure value of the storage system in the historical time period it indicates that the business pressure of the storage system is relatively low during the time period from 00:00 to 06:00 every day in the past month, from 06:00 to 24 every day During the time period from 00:00 to 06:00, the business pressure of the storage system is high, the storage system can predict that the business pressure of the storage system will be low during the time period from 00:00 to 06:00 tomorrow, and the business pressure of the storage system will be low from 06:00 to 24:00 tomorrow. During the period of time, the business pressure is high.
  • the storage system may predict the service pressure value of the storage system in different time periods in the future according to the service pressure value in the historical time period, so that the time period in which the service pressure value is less than the set threshold may be used as the time period described in step S301. the first time period.
  • the set threshold for determining the first time period may be a preset fixed value or a dynamically adjusted threshold.
  • the storage system can predict the future service pressure value change of the storage system, so that the termination time of the first time period and the second time period can be determined according to the difference between the service pressure values in different periods. The start time of the time period.
  • the determined end time of the first time period may be the start time of the second time period, or the end time of the first time period may be earlier than the start time of the second time period, and the storage device is in the first time period.
  • the service pressure value within the period is not greater than the service pressure value of the storage device in the second time period.
  • the storage system may be the current time T 0 to time T 1
  • the time period is used as the first time period, and the time period (eg, T 1 to T 2 ) formed by time T 1 and its subsequent times is used as the second time period.
  • the first period of time may refer to a period of time, such as a period of time closest to the current moment and the service pressure value is less than the set threshold, or may refer to multiple time periods, that is, the service pressure value may be less than A plurality of discontinuous time periods for which the threshold is set are used as the first time period described in step S301.
  • the specific implementation process of determining the first time period by the storage system is described by taking the storage system predicting the first time period in the future according to the service pressure value of the historical time period as an example. It should be understood that, in other possible implementation manners, the process of predicting the first time period according to the service pressure value in the historical time period may also be implemented by other devices independent of the storage system, and the other device will predict the first time period.
  • the first time period is sent to the storage system, which is not limited in this embodiment.
  • the service pressure value of the storage system in the historical time period may be based on the IOPS, input/output (IO) size, data read/write ratio, deduplication and compression ratio of the storage system in the first time period (the ratio of deduplicated data to data compressed using the compression algorithm) and throughput (the amount of data transferred per second by the storage system) is obtained.
  • the business pressure value can be specifically IOPS, IO size, data read/write ratio, deduplication compression ratio or throughput.
  • the business pressure value can be determined based on any one or more parameters of IOPS, IO size, data read/write ratio, deduplication compression ratio, and throughput
  • the value used to evaluate the service pressure of the storage system in particular, when the service pressure value is determined based on multiple parameters, the service pressure value may be calculated by weighted summation (or weighted average) of multiple parameters.
  • the service pressure value in a certain time period may be one value, and the value may be used to represent the average service pressure level of the storage system in the time period; or, the service pressure value may also be multiple values, which may be used to represent The business pressure of the storage system changes during this time period. It should be noted that the above examples are only used as some examples for determining the service pressure value and the specific expression form of the service pressure value. Any one or more parameters of the deduplication compression ratio and the throughput determine the service pressure value, and the service pressure value may also be in other forms, which are not limited in this embodiment.
  • S302 The storage system performs garbage collection within the first time period.
  • the business pressure of the storage system is relatively small, and the performance requirements such as IOPS of the host are relatively low. Therefore, even if the storage system performs garbage collection during the first time period, the host's The performance is also sufficient to meet front-end business needs. For example, assuming that the maximum IOPS of the storage device can reach 10,000, and in the first period of time, the front-end business only requires the IOPS of the host to reach 1,000. Usually, even if the storage system performs garbage collection in the first period of time, Even if a large number of concurrent garbage collection processes are performed, the maximum IOPS that the host can achieve in this first period of time will not drop below 1000. For example, it may only be reduced to 3000 at most. Therefore, the IOPS of the host will be reduced to 3000 in the first time. The segment can always meet the front-end business needs.
  • the storage system can perform garbage collection in the first period of time to release blank logical block groups, thereby increasing the available storage space of the storage system.
  • the storage system when the storage system is in other time periods, such as the second time period when the business pressure predicted by the storage system is relatively high, because the storage system has more available storage space, it can not only support the storage system to quickly write a large amount of data, but also Moreover, the concurrent requirement of garbage collection of the storage system in the second time period is also reduced, so that the impact of garbage collection on the performance of the host such as IOPS can be reduced or even avoided in the second time period.
  • the storage system may perform garbage collection at a preset garbage collection rate within the first time period.
  • the rate at which the storage system performs garbage collection in the first time period allows the host's IOPS, IO size, read/write ratio, deduplication and compression ratio, and throughput to still meet the performance requirements of the front-end business in the first time period. performance requirements.
  • the garbage collection rate of the storage system in the first time period may also be determined according to the service pressure value of the storage system in the second time period. Specifically, the storage system can first determine the business pressure value of the storage system in the second time period according to its business pressure value in the historical time period, and then can determine the storage system according to its business pressure value in the second time period. The garbage collection rate of the system in the first time period, so that the storage system can perform garbage collection on the storage system based on the determined garbage collection rate.
  • the storage system may perform garbage collection on the storage system at a relatively high garbage collection rate;
  • the difference between the business pressure value of the storage system in the first time period and the business pressure value in the second time period does not exceed the preset pressure threshold, or, when the duration of the first time period is long, the storage system may be set to a smaller value.
  • the garbage collection rate of the storage system is garbage collected.
  • the above example is only an exemplary illustration for determining the garbage collection rate, and other methods may also be used to determine the garbage collection rate of the storage system in the first time period, which is not limited in this embodiment.
  • the storage system can also determine which data in the storage system (hereinafter referred to as target data) is to be garbage collected.
  • target data data in the storage system
  • the storage system can predict the failure time of each valid data in the logical block group, so that data with a later failure time can be used as the target data for garbage collection.
  • the storage system may use data whose failure time is later than the preset time in the second time period as the target data.
  • the preset time may be the start time of the second time period, or may be a time away from the start time. For example, the preset time may be five minutes after the start time of the second time period. time.
  • the storage system may not perform garbage collection on the data that has failed before the preset time, but can perform garbage collection on the data that has failed after the preset time, thereby reducing the storage system in time as much as possible.
  • Part of the data that is garbage collected in the first time period becomes invalid when it enters the second time period, thereby reducing invalid write amplification.
  • the storage system may further determine the garbage collection sequence of the logical block group according to the failure time of the target data.
  • the logical block group contains target data whose failure time is later than the preset time.
  • the logical block groups can be garbage collected in the order of the garbage level from low to high. Specifically, garbage collection can be performed on the logical block group with a lower garbage level.
  • the storage system is collecting the logical block group. When garbage collection is performed between A and logical block group B, since there is only one logical block in logical block group A that stores valid data, and there are multiple logical blocks in logical block group B that store valid data, the storage system can give priority to logical block group A.
  • Garbage collection is performed, and when the garbage collection process needs to be continued, the storage system may continue to perform garbage collection on the valid data on the logical block group B.
  • the storage system can release a blank logical block group based on a small garbage collection cost, which not only improves the efficiency of releasing the blank logical block group, but also reduces the amount of garbage collection data to a certain extent. Thereby, the wear of the storage medium can be reduced.
  • the order of garbage collection can be determined sooner or later according to the expiration time of valid data.
  • the target data to be collected includes the first data located on logical block group C and the first data located on logical block group D.
  • the storage system can preferentially perform garbage collection on the first data, that is, In order to preferentially perform garbage collection on the logical block group C, when the garbage collection process needs to be continued, the storage system may continue to perform garbage collection on the valid data on the logical block group D.
  • the garbage collection sequence of the logical block group by the above-mentioned storage system is only used as an exemplary illustration, and is not used to limit the sequence of the storage system to reclaim the valid data on the logical block group. limited.
  • the above-mentioned preset time may be set based on the service pressure value of the storage system in the second time period.
  • the storage system reclaims the data that has not expired after the start time of the second time period in the first time period, so that the storage system has available storage space , the data writing requirement of the storage system in the second time period can already be met, and in this case, the preset time may be the start time of the second time period.
  • the preset time can be later than the start time of the second time period.
  • the storage system may not perform garbage collection on data that fails between the start time of the second time period and the preset time.
  • the greater the service pressure value of the storage system in the second time period the greater the time interval between the preset time and the start time of the second time period, that is, the later the preset time, the corresponding , the later the expiration time of the target data for garbage collection is.
  • the storage system can preferentially use blank logical block groups to store newly written data.
  • the logical block group of data stores data, wherein the valid data that is about to expire refers to data that does not fail at the current moment, but fails before reaching the preset time. Since the valid data in this part of the logical block group is close to failure, even if this part of valid data is garbage collected, it may fail immediately after garbage collection is completed, resulting in invalid write amplification. There is no need to perform garbage collection on the logical block group of valid data, and after all blank logical block groups are filled with data, this logical block group is used to continue to store newly written data.
  • the logical block group may be erased first to release a blank logical block group, so that data is continued to be stored based on the blank logical block group.
  • the storage system can predict the life cycle of data on each logical block based on the deep learning network, and can determine the failure time of the data on each logical block.
  • a storage system can determine how often (or how often) its stored data has been accessed, modified time intervals, and other characteristics over a period of time in the past, and then input these characteristics into a pre-trained deep learning network , such as long short-term memory (Long Short-Term Memory, LSTM) network, etc., and the life cycle of the data on each logical block is obtained from the output of the deep learning network, so that based on the life cycle of the data and its written storage system time to determine the expiration time of the data.
  • LSTM Long Short-Term Memory
  • the storage system may predict the life cycle of the data currently stored on the logical block based on the life cycle of historical data on the logical block, so as to determine the failure time of the data on each logical block. Specifically, for any logical block, the storage system can obtain the time interval at which each data stored in the logical block was modified in the past, that is, the life cycle of each data stored in the logical block, so as to obtain a weighted average , calculate the life cycle of the data currently stored on the logical block.
  • the weight value corresponding to each piece of data historically stored in the logic block may be the same or different, which is not limited in this embodiment. In this way, for the data on each logical block, the storage system can predict the life cycle of the valid data currently stored on the logical block, so as to determine the life cycle of the data and the time when it is written to the storage system Expiration time of the data.
  • the method can further include:
  • S303 The storage system performs garbage collection in the second time period, wherein the garbage collection rate of the storage system in the second time period is lower than the garbage collection rate of the storage system in the first time period.
  • the storage system may also perform garbage collection at a certain garbage collection rate in the second time period.
  • the garbage collection rate of the storage system in the second time period may be lower than that in the first time period. Garbage collection rate within the segment. Since the garbage collection rate of the storage system in the second time period is relatively small, the garbage collection process of the storage system in the second time period has less impact on the performance of the host in the storage system. The internal performance can still meet the front-end business needs.
  • the storage system performs garbage collection in the second time period, and while writing data, it also releases blank logical block groups, so that the storage system can have more available storage for a long time in the second time period. space.
  • the storage system may start to perform low-rate garbage collection just after entering the second time period, or it may The low-rate garbage collection is started after the time period, or the garbage collection may be started only when the available storage space of the storage system decreases to a certain threshold within the second time period.
  • the timing at which the storage system starts garbage collection in the second time period is not limited.
  • the embodiment of the present application also provides a garbage recycling device.
  • FIG. 5 a schematic structural diagram of a garbage collection apparatus in an embodiment of the present application is shown.
  • the apparatus 500 shown in FIG. 5 may be applied to a storage system, and the apparatus 500 may include:
  • a determination module 501 configured to determine a first time period according to the service pressure value of the storage system in the historical time period, the service pressure value of the storage system in the first time period is lower than a set threshold, the The business pressure value of the storage system in the historical period is obtained according to any one or more of the number of read and write operations per second, IOPS, input and output IO size, data read and write ratio, deduplication and compression ratio, and throughput;
  • the determining module 501 is specifically configured to determine the termination time of the first time period according to the service pressure value of the storage system in the historical time period, the first time The end time of the segment is not later than the start time of the second time period, and the set threshold value is determined based on the service pressure value of the storage system in the second time period.
  • the determining module 501 is further configured to:
  • the garbage collection module 502 is further configured to perform garbage collection in the second time period, and the garbage collection rate of the storage system in the second time period is lower than the The garbage collection rate of the storage system during the first time period.
  • the determining module 501 is further configured to:
  • Target data for garbage collection performed by the storage system where the target data includes data whose predicted failure time is later than a preset time in the second time period, where the preset time is the second time period any time within.
  • the target data includes first data and second data
  • the failure time of the first data is later than the failure time of the second data
  • the storage system prioritizes the first data
  • a data is garbage collected.
  • the apparatuses of the embodiments of the present application may correspond to executing the methods described in the embodiments of the present application.
  • the above and other operations and/or functions of each module in the garbage collection apparatus 500 are respectively used to implement the corresponding flow of each method in FIG. 3 .
  • the function of each module in the garbage collection device 500 can be executed by the processor 112 in the controller shown in FIG. 2 by calling the program in the memory 111 .
  • Embodiments of the present application further provide a computer-readable medium, where instructions are stored in the computer-readable medium, when the computer-readable medium runs on a computer, the computer causes the computer to execute the methods described in the above aspects.
  • Embodiments of the present application also provide a computer program product, which, when running on a computer, enables the computer to execute the methods described in the above aspects.
  • connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines.
  • the aforementioned computer-readable storage medium includes: U disk, removable hard disk, magnetic disk, optical disk, RAM, SSD or non-volatile memory (non-volatile memory) and other various programs that can store program codes of non-transitory machine-readable media.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Procédé de récupération d'espace de stockage, consistant : à déterminer, par un système de stockage, une première période de temps en fonction d'une valeur de pression de service du système de stockage dans une période de temps historique, la valeur de pression de service du système de stockage dans la première période de temps étant inférieure à un seuil défini, et la valeur de pression de service du système de stockage dans la période de temps historique étant obtenue en fonction d'un ou de plusieurs IOPS, d'une taille IO, d'un rapport de lecture-écriture de données, d'un rapport de déduplication et de compression, et d'un débit (S301); à effectuer, par le système de stockage, une récupération d'espace de stockage dans la première période de temps (S302); et à effectuer, par le système de stockage, une récupération d'espace de stockage dans une seconde période de temps, le taux de récupération d'espace de stockage du système de stockage dans la seconde période de temps étant inférieur au taux de récupération d'espace de stockage du système de stockage dans la première période de temps (S303). De cette manière, le système de stockage peut avoir un grand nombre de groupes de blocs logiques vides pour aider le système de stockage à écrire rapidement un grand volume de nouvelles données dans d'autres périodes de temps, réduisant ainsi les impacts de récupération d'espace de stockage dans les autres périodes de temps sur les performances de l'hôte, tels qu'un IOPS, et améliorant les performances de l'hôte lorsque l'hôte a un grand nombre de tâches d'écriture de données. Un dispositif de récupération d'espace de stockage est également décrit.
PCT/CN2021/097668 2020-07-22 2021-06-01 Procédé et dispositif de récupération d'espace de stockage Ceased WO2022017002A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010711871.X 2020-07-22
CN202010711871.XA CN113971137A (zh) 2020-07-22 2020-07-22 一种垃圾回收方法及装置

Publications (1)

Publication Number Publication Date
WO2022017002A1 true WO2022017002A1 (fr) 2022-01-27

Family

ID=79584912

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/097668 Ceased WO2022017002A1 (fr) 2020-07-22 2021-06-01 Procédé et dispositif de récupération d'espace de stockage

Country Status (2)

Country Link
CN (1) CN113971137A (fr)
WO (1) WO2022017002A1 (fr)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114968836A (zh) * 2022-04-19 2022-08-30 华为技术有限公司 垃圾回收的方法及电子设备
CN115826886A (zh) * 2023-02-24 2023-03-21 浪潮电子信息产业股份有限公司 追加写模式的数据垃圾回收方法、装置、系统及存储介质
CN116185624A (zh) * 2023-02-17 2023-05-30 山东云海国创云计算装备产业创新中心有限公司 一种硬盘的垃圾回收方法、装置、计算机设备及存储介质
CN116662214A (zh) * 2023-05-06 2023-08-29 深圳市晶存科技有限公司 基于fio的硬盘垃圾回收方法、装置、系统及介质
US20230393976A1 (en) * 2022-06-01 2023-12-07 Micron Technology, Inc. Controlling variation of valid data counts in garbage collection source blocks
WO2024130890A1 (fr) * 2022-12-23 2024-06-27 深圳大普微电子科技有限公司 Procédé de récupération d'espace mémoire de disque statique à semiconducteurs, appareil d'accélération de récupération d'espace mémoire de disque statique à semiconducteurs, dispositif et support informatique
CN118312447A (zh) * 2024-06-06 2024-07-09 深圳市领德创科技有限公司 一种固态硬盘的垃圾处理方法及系统
WO2025097979A1 (fr) * 2023-11-09 2025-05-15 杭州阿里云飞天信息技术有限公司 Procédé et appareil de récupération de données, dispositif informatique et support de stockage lisible par ordinateur
CN120560863A (zh) * 2025-07-30 2025-08-29 苏州元脑智能科技有限公司 固态硬盘的垃圾回收进程控制方法、装置及电子设备
CN120704615A (zh) * 2025-08-25 2025-09-26 浪潮电子信息产业股份有限公司 一种存储系统的垃圾回收方法和电子设备

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116954483A (zh) * 2022-04-20 2023-10-27 戴尔产品有限公司 用于资源回收的方法、电子设备和程序产品
CN114895846B (zh) 2022-04-28 2025-01-14 阿里巴巴(中国)有限公司 一种数据处理方法、装置及设备
CN115171771A (zh) * 2022-07-07 2022-10-11 中国电信股份有限公司 一种固态硬盘测试方法、装置、设备及存储介质
CN115269451B (zh) * 2022-09-28 2023-05-12 珠海妙存科技有限公司 闪存垃圾回收方法、装置及可读存储介质
CN116048417B (zh) * 2023-02-01 2026-01-16 京东科技信息技术有限公司 信息生成方法、装置
CN115904264B (zh) * 2023-03-13 2023-06-13 浪潮电子信息产业股份有限公司 一种存储系统中块的垃圾数据回收方法、装置以及介质
CN116700634B (zh) * 2023-08-08 2023-11-03 苏州浪潮智能科技有限公司 分布式存储系统垃圾回收方法、装置及分布式存储系统
CN117827120A (zh) * 2024-01-23 2024-04-05 中电云计算技术有限公司 一种硬盘流量波动优化方法、装置、设备及存储介质
CN117806837B (zh) * 2024-02-29 2024-06-07 山东云海国创云计算装备产业创新中心有限公司 一种硬盘任务管理方法、装置、存储介质及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147767A (zh) * 2011-04-26 2011-08-10 记忆科技(深圳)有限公司 固态硬盘垃圾收集参数动态调整方法及其系统
US20140032817A1 (en) * 2012-07-27 2014-01-30 International Business Machines Corporation Valid page threshold based garbage collection for solid state drive
CN105630638A (zh) * 2014-10-31 2016-06-01 国际商业机器公司 用于为磁盘阵列分配缓存的设备和方法
CN107506136A (zh) * 2017-08-07 2017-12-22 成都华为技术有限公司 一种垃圾回收的方法和装置
CN109284233A (zh) * 2018-09-18 2019-01-29 郑州云海信息技术有限公司 一种存储系统的垃圾回收方法及相关装置
CN109558244A (zh) * 2018-12-03 2019-04-02 郑州云海信息技术有限公司 垃圾信息回收方法、装置、设备及计算机可读存储介质
CN110764714A (zh) * 2019-11-06 2020-02-07 深圳大普微电子科技有限公司 一种数据处理方法、装置、设备及可读存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147767A (zh) * 2011-04-26 2011-08-10 记忆科技(深圳)有限公司 固态硬盘垃圾收集参数动态调整方法及其系统
US20140032817A1 (en) * 2012-07-27 2014-01-30 International Business Machines Corporation Valid page threshold based garbage collection for solid state drive
CN105630638A (zh) * 2014-10-31 2016-06-01 国际商业机器公司 用于为磁盘阵列分配缓存的设备和方法
CN107506136A (zh) * 2017-08-07 2017-12-22 成都华为技术有限公司 一种垃圾回收的方法和装置
CN109284233A (zh) * 2018-09-18 2019-01-29 郑州云海信息技术有限公司 一种存储系统的垃圾回收方法及相关装置
CN109558244A (zh) * 2018-12-03 2019-04-02 郑州云海信息技术有限公司 垃圾信息回收方法、装置、设备及计算机可读存储介质
CN110764714A (zh) * 2019-11-06 2020-02-07 深圳大普微电子科技有限公司 一种数据处理方法、装置、设备及可读存储介质

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114968836A (zh) * 2022-04-19 2022-08-30 华为技术有限公司 垃圾回收的方法及电子设备
WO2023202429A1 (fr) * 2022-04-19 2023-10-26 华为技术有限公司 Procédé de recyclage de déchets et dispositif électronique
US20230393976A1 (en) * 2022-06-01 2023-12-07 Micron Technology, Inc. Controlling variation of valid data counts in garbage collection source blocks
US11947452B2 (en) * 2022-06-01 2024-04-02 Micron Technology, Inc. Controlling variation of valid data counts in garbage collection source blocks
US12321266B2 (en) 2022-06-01 2025-06-03 Micron Technology, Inc. Controlling variation of valid data counts in garbage collection source blocks
WO2024130890A1 (fr) * 2022-12-23 2024-06-27 深圳大普微电子科技有限公司 Procédé de récupération d'espace mémoire de disque statique à semiconducteurs, appareil d'accélération de récupération d'espace mémoire de disque statique à semiconducteurs, dispositif et support informatique
CN116185624A (zh) * 2023-02-17 2023-05-30 山东云海国创云计算装备产业创新中心有限公司 一种硬盘的垃圾回收方法、装置、计算机设备及存储介质
CN115826886A (zh) * 2023-02-24 2023-03-21 浪潮电子信息产业股份有限公司 追加写模式的数据垃圾回收方法、装置、系统及存储介质
CN116662214A (zh) * 2023-05-06 2023-08-29 深圳市晶存科技有限公司 基于fio的硬盘垃圾回收方法、装置、系统及介质
CN116662214B (zh) * 2023-05-06 2024-05-07 深圳市晶存科技有限公司 基于fio的硬盘垃圾回收方法、装置、系统及介质
WO2025097979A1 (fr) * 2023-11-09 2025-05-15 杭州阿里云飞天信息技术有限公司 Procédé et appareil de récupération de données, dispositif informatique et support de stockage lisible par ordinateur
CN118312447A (zh) * 2024-06-06 2024-07-09 深圳市领德创科技有限公司 一种固态硬盘的垃圾处理方法及系统
CN120560863A (zh) * 2025-07-30 2025-08-29 苏州元脑智能科技有限公司 固态硬盘的垃圾回收进程控制方法、装置及电子设备
CN120704615A (zh) * 2025-08-25 2025-09-26 浪潮电子信息产业股份有限公司 一种存储系统的垃圾回收方法和电子设备

Also Published As

Publication number Publication date
CN113971137A (zh) 2022-01-25

Similar Documents

Publication Publication Date Title
WO2022017002A1 (fr) Procédé et dispositif de récupération d'espace de stockage
US12229448B2 (en) Memory system and method of controlling nonvolatile memory
US10095429B2 (en) Method, apparatus, and controller for managing storage array
US9417961B2 (en) Resource allocation and deallocation for power management in devices
KR20250048221A (ko) 오픈 채널 스토리지 장치의 동작 방법
US20120198152A1 (en) System, apparatus, and method supporting asymmetrical block-level redundant storage
CN109358809B (zh) 一种raid数据存储系统及方法
CN103838676B (zh) 数据存储系统、数据存储方法及pcm桥
CN108877862B (zh) 页条带的数据组织以及向页条带写入数据的方法与装置
CN103577338A (zh) 一种回收垃圾数据的方法及存储设备
US20190243758A1 (en) Storage control device and storage control method
US11416403B2 (en) Method and apparatus for performing pipeline-based accessing management in storage server with aid of caching metadata with hardware pipeline module during processing object write command
US11016889B1 (en) Storage device with enhanced time to ready performance
WO2020007030A1 (fr) Dispositif de commande de système et procédé de récupération de ramasse-miettes de système
EP4394574A1 (fr) Dispositif et système de stockage et procédé de stockage de données
CN110688323B (zh) 一种系统控制器和系统垃圾回收方法
EP4325367B1 (fr) Procédé et dispositif de mise en cache de données
US20140372672A1 (en) System and method for providing improved system performance by moving pinned data to open nand flash interface working group modules while the system is in a running state
CN117348789A (zh) 数据访问方法、存储设备、硬盘、存储系统及存储介质
US12613638B2 (en) Efficient execution of I/O operations in a storage environment
US20240264750A1 (en) Atomic Operations Implemented using Memory Services of Data Storage Devices
US11797183B1 (en) Host assisted application grouping for efficient utilization of device resources
CN117632255B (zh) 基于命令处理器工作负载的存储器命令指派
CN121233043A (zh) 可调度的页条带写入方法及其存储设备
CN121233045A (zh) 支持Zoned NameSpace的页条带构造技术

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 21846808

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21846808

Country of ref document: EP

Kind code of ref document: A1