Garbage collection pacing in a storage system

US11169707B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11169707-B2
Application numberUS-201615004318-A
CountryUS
Kind codeB2
Filing dateJan 22, 2016
Priority dateJan 22, 2016
Publication dateNov 9, 2021
Grant dateNov 9, 2021

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 system and method for improving storage system performance by reducing or avoiding load spike amplification when performing garbage collection is disclosed. A storage controller in a storage system tracks system load including write load and read load, as well as available free segments. The storage controller uses these tracked values as inputs and, with these inputs, generates a garbage collection rate. Where read load is included, a scaled portion of the read load is taken into consideration so that, as the number of free segments nears the minimum amount desired and to prevent garbage collecting too slowly, the read load is gradually excluded from the garbage collection rate determination. The garbage collection rate is therefore responsive to system load so that, in times of high system load, the rate reduces as much as is safe so that the write load takes priority with computing resources of the storage controller.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: tracking, by a storage controller, an input/output (I/O) load on the storage controller and an amount of free storage segments available in a storage device associated with the storage controller; determining, by the storage controller during I/O operation, a garbage collection rate for generating free segments in the storage device based on the tracked I/O load and the amount of free storage segments, wherein the garbage collection rate increases in response to a write activity of the tracked I/O load decreasing, and decreases in response to the write activity of the tracked I/O load increasing; and adjusting, by the storage controller, performance of garbage collection to the determined garbage collection rate. 2. The method of claim 1 , wherein, for a given amount for the tracked I/O load, the garbage collection rate increases in response to the tracked amount of free storage segments decreasing and decreases in response to the tracked amount of free storage segments increasing. 3. The method of claim 1 , wherein the determining is further based on a read load on the storage controller, the method further comprising: modifying, by the storage controller, the read load with a decaying factor based on the tracked amount of free storage segments, the decaying factor decreasing as the tracked amount of free storage segments decreases and increasing as the tracked amount of free storage segments increases. 4. The method of claim 1 , wherein the determining is further based on a background activity of the storage controller, the method further comprising: modifying, by the storage controller, an amount corresponding to the background activity with a decaying factor based on the tracked amount of free storage segments. 5. The method of claim 1 , further comprising: tuning, by the storage controller, at least one parameter of a production rate model used for the determining to modify a responsiveness of the storage controller to one or more inputs. 6. The method of claim 1 , further comprising: normalizing, by the storage controller, a production rate model used for the determining so that the determined garbage collection rate equals a consumption amount from the tracked I/O load at a maximum system I/O load when the tracked amount of free storage segments equals a minimum desired amount of free storage segments. 7. The method of claim 1 , further comprising: using, by the storage controller, a storage device from among one or more storage devices that is close to a projected time of failure for storing non-protected replicas of data. 8. A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine, causes the machine to: track an input/output (I/O) load on the machine and an amount of free storage segments available in a storage device associated with the machine; determine, during I/O operation, a garbage collection rate for generating free segments in the storage device based on the tracked I/O load and the amount of free storage segments, wherein the garbage collection rate increases in response to a write activity of the tracked I/O load decreasing, and decreases in response to the write activity of the tracked I/O load increasing; and adjust performance of garbage collection to the determined garbage collection rate. 9. The non-transitory machine readable medium of claim 8 , wherein, for a given amount for the tracked I/O load, the garbage collection rate increases in response to the tracked amount of free storage segments decreasing and decreases in response to the tracked amount of free storage segments increasing. 10. The non-transitory machine readable medium of claim 8 , wherein the determination is further based on a read load on the machine, further comprising machine executable code that causes the machine to: modify the read load with a decaying factor based on the tracked amount of free storage segments, the decaying factor decreasing as the tracked amount of free storage segments decreases and increasing as the tracked amount of free storage segments increases. 11. The non-transitory machine readable medium of claim 8 , wherein the determination if further based on a background activity of the machine, further comprising machine executable code that causes the machine to: modify an amount corresponding to the background activity with a decaying factor based on the tracked amount of free storage segments. 12. The non-transitory machine readable medium of claim 8 , further comprising machine executable code that causes the machine to: tune at least one parameter of a production rate model used for the determination to modify a responsiveness of the machine to one or more inputs. 13. The non-transitory machine readable medium of claim 8 , further comprising machine executable code that causes the machine to: normalize a production rate model used for the determination so that the determined garbage collection rate equals a consumption amount from the tracked I/O load at a maximum system I/O load when the tracked amount of free storage segments equals a minimum desired amount of free storage segments. 14. The non-transitory machine readable medium of claim 8 , further comprising machine executable code that causes the machine, as part of the garbage collection, to: use a storage device from among one or more storage devices that is close to a projected time of failure for storing non-protected replicas of data. 15. A computing device comprising: a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of dynamically adjusting a garbage collection rate during input/output (I/O) operation; and a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to: track an I/O load on the computing device and an amount of free storage segments available in a storage device associated with the computing device; determine, during the I/O operation, the garbage collection rate for generating free segments in the storage device based on the tracked I/O load and the amount of free storage segments, wherein the garbage collection rate increases in response to a write activity of the tracked I/O load decreasing, and decreases in response to the write activity of the tracked I/O load increasing; and adjust performance of garbage collection to the determined garbage collection rate. 16. The computing device of claim 15 , wherein, for a given amount for the tracked I/O load, the garbage collection rate increases in response to the tracked amount of free storage segments decreasing and decreases in response to the tracked amount of free storage segments increasing. 17. The computing device of claim 15 , wherein the determination is further based on a read load on the computing device, the machine executable code further causing the processor to: modify the read load with a decaying factor based on the tracked amount of free storage segments, the decaying factor decreasing as the tracked amount of free storage segments decreases and increasing as the tracked amount of free storage segments increases. 18. The computing device of claim 15 , wherein the determination is further based on a background activity of the computing device, the machine executable code further causing the processor to: modify an amount corresponding to the background ac

Assignees

Inventors

Classifications

  • Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title

  • in block erasable memory, e.g. flash memory · CPC title

  • G06F3/061Primary

    Improving I/O performance · CPC title

  • Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · 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 US11169707B2 cover?
A system and method for improving storage system performance by reducing or avoiding load spike amplification when performing garbage collection is disclosed. A storage controller in a storage system tracks system load including write load and read load, as well as available free segments. The storage controller uses these tracked values as inputs and, with these inputs, generates a garbage col…
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/061. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 09 2021 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).