Optimization for garbage collection in a storage system

US11868248B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11868248-B2
Application numberUS-202217681449-A
CountryUS
Kind codeB2
Filing dateFeb 25, 2022
Priority dateFeb 25, 2022
Publication dateJan 9, 2024
Grant dateJan 9, 2024

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A garbage collection process is performed in a storage system which comprises a storage control node, and storage nodes which implement a striped volume comprising a plurality of stripes having strips that are distributed over the storage nodes. The storage control node selects a victim stripe for garbage collection, and an empty stripe in the striped volume. The storage control node determines a data strip of the victim stripe having predominantly valid data based on a specified threshold, and sends a copy command to a target storage node which comprises the predominantly valid data strip, to cause the target storage node to copy the predominantly valid data strip to a data strip of the empty stripe which resides on the target storage node. The storage control node writes valid data blocks of the victim stripe to remaining data strips of the empty stripe, and releases the victim stripe for reuse.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: performing a garbage collection process in a data storage system, wherein the data storage system comprises a storage control node and a plurality of storage nodes, wherein the storage nodes are configured to implement a striped volume comprising a plurality of stripes which have strips that are distributed over the plurality of storage nodes, wherein the garbage collection process comprises: selecting, by the storage control node, at least one stripe of the plurality of stripes of the striped volume, as a victim stripe for garbage collection; selecting, by the storage control node, at least one empty stripe of the striped volume; selecting, by the storage control node, a data strip of the victim stripe, which is determined to have an amount of valid data content which at least one of meets and exceeds a specified data validity threshold; sending, by the storage control node, a copy command to a target storage node of the plurality of storage nodes, which comprises the selected data strip of the victim stripe, to thereby cause the target storage node to copy the selected data strip to a data strip of the selected empty stripe which resides on the target storage node; writing, by the storage control node, valid data blocks of the victim stripe to remaining data strips of the selected empty stripe to thereby generate a new stripe populated with valid data; and releasing, by the storage control node, the victim stripe for reuse. 2. The method of claim 1 , wherein the striped volume comprises one of a RAID (Redundant Array of Independent Drives) array, and a log-structured RAID array. 3. The method of claim 1 , wherein selecting at least one empty stripe of the striped volume comprises selecting an empty stripe having strips that reside on a same set of storage nodes which contain the strips of the victim stripe. 4. The method of claim 1 , wherein writing valid data blocks of the victim stripe to remaining data strips of the selected empty stripe to thereby generate a new stripe populated with valid data, comprises: condensing the valid data blocks of the victim stripe into one or more data stripes of the selected empty stripe; and writing additional data to the remaining data strips of the empty stripe. 5. The method of claim 4 , wherein writing additional data to the remaining data strips of the empty stripe comprises writing at least one of (i) new data of received input/output (I/O) write requests and (ii) valid data of at least one other victim stripe, to the remaining data strips of the empty stripe to write a full stripe. 6. The method of claim 1 , further comprising: computing, by the storage control node, parity information based on the valid data of the new stripe; and writing, by the storage control node, at least one parity strip of the new stripe to include the computed parity information. 7. The method of claim 1 , wherein selecting a data strip of the victim stripe, which is determined to have an amount of valid data content which at least one of meets and exceeds a specified data validity threshold, comprises selecting, by the storage control node, each data strip of the victim stripe having an amount of valid data content which at least one of meets and exceeds the specified data validity threshold. 8. The method of claim 1 , wherein the specified data validity threshold is no less than about 0.9. 9. An article of manufacture comprising a non-transitory processor- readable storage medium having stored therein program code of one or more software programs, wherein the program code is executable by one or more processors to implement a method which comprises: performing a garbage collection process in a data storage system, wherein the data storage system comprises a storage control node and a plurality of storage nodes, wherein the storage nodes are configured to implement a striped volume comprising a plurality of stripes which have strips that are distributed over the plurality of storage nodes, wherein the garbage collection process comprises: selecting, by the storage control node, at least one stripe of the plurality of stripes of the striped volume, as a victim stripe for garbage collection; selecting, by the storage control node, at least one empty stripe of the striped volume; selecting, by the storage control node, a data strip of the victim stripe, which is determined to have an amount of valid data content which at least one of meets and exceeds a specified data validity threshold; sending, by the storage control node, a copy command to a target storage node of the plurality of storage nodes, which comprises the selected data strip of the victim stripe, to thereby cause the target storage node to copy the selected data strip with predominantly valid data to a data strip of the selected empty stripe which resides on the target storage node; writing, by the storage control node, valid data blocks of the victim stripe to remaining data strips of the selected empty stripe to thereby generate a new stripe populated with valid data; and releasing, by the storage control node, the victim stripe for reuse. 10. The article of manufacture of claim 9 , wherein the striped volume comprises one of a RAID (Redundant Array of Independent Drives) array, and a log-structured RAID array. 11. The article of manufacture of claim 9 , wherein the program code for selecting at least one empty stripe of the striped volume comprises program conde for selecting an empty stripe having strips that reside on a same set of storage nodes which contain the strips of the victim stripe. 12. The article of manufacture of claim 9 , wherein the program code for writing valid data blocks of the victim stripe to remaining data strips of the selected empty stripe to thereby generate a new stripe populated with valid data, comprises: program code for condensing the valid data blocks of the victim stripe into one or more data stripes of the selected empty stripe; and program code for writing additional data to the remaining data strips of the empty stripe. 13. The article of manufacture of claim 12 , wherein the program code for writing additional data to the remaining data strips of the empty stripe comprises program code for writing at least one of (i) new data of received input/output (I/O) write requests and (ii) valid data of at least one other victim stripe, to the remaining data strips of the empty stripe to write a full stripe. 14. The article of manufacture of claim 9 , further comprising program code which is executable by the one or more processors to implement a method which comprises: computing, by the storage control node, parity information based on the valid data of the new stripe; and writing, by the storage control node, at least one parity strip of the new stripe to include the computed parity information. 15. The article of manufacture of claim 9 , wherein the program code for selecting a data strip of the victim stripe, which is determined to have an amount of valid data content which at least one of meets and exceeds a specified data validity threshold, comprises program code for selecting, by the storage control node, each data strip of the victim stripe having an amount of valid data content which at least one of meets and exceeds the specified data validity threshold. 16. A system, comprising: a storage control node, and a plurality of storage nodes, wherein the storage nodes are configured to implement a striped volume comprising a plurality of stripes which have strips that are distributed over the plurality of storage node

Assignees

Inventors

Classifications

  • Garbage collection, i.e. reclamation of unreferenced memory · CPC title

  • Improving or facilitating administration, e.g. storage management · CPC title

  • Organizing or formatting or addressing of data · CPC title

  • Disk arrays, e.g. RAID, JBOD · CPC title

  • Cleaning, compaction, garbage collection, erase control · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US11868248B2 cover?
A garbage collection process is performed in a storage system which comprises a storage control node, and storage nodes which implement a striped volume comprising a plurality of stripes having strips that are distributed over the storage nodes. The storage control node selects a victim stripe for garbage collection, and an empty stripe in the striped volume. The storage control node determines…
Who is the assignee on this patent?
Dell Products Lp
What technology area does this patent fall under?
Primary CPC classification G06F12/0253. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Jan 09 2024 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).