User configurable passive background operation

US10409719B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10409719-B2
Application numberUS-201615151470-A
CountryUS
Kind codeB2
Filing dateMay 10, 2016
Priority dateMar 17, 2016
Publication dateSep 10, 2019
Grant dateSep 10, 2019

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 permitting an SSD (120) to perform passive Garbage Collection is described. The SSD (120) may include storage (315) to store data, and a Garbage Collection logic (340) that may perform Garbage Collection on the storage (315). Reception circuitry (305) may receive a configuration command (405) from a host (105). The configuration command (405) may include a condition (410, 505, 605), such as an idle duration (505) and/or a queue depth threshold (605). A condition storage (325) may store the condition (410, 505, 605). A state determiner (320) may determine a state (510, 610) of the SSD (120). A comparator (330) may compare the state (510, 610) of the SSD (120) with the condition (410, 505, 605) to determine whether to trigger passive Garbage Collection.

First claim

Opening claim text (preview).

What is claimed is: 1. A Solid State Drive (SSD), comprising: storage for data; Garbage Collection logic to perform Garbage Collection on the storage; reception circuitry to receive a configuration command and data requests, the configuration command including a condition drawn from a set including an idle duration and a queue depth threshold; condition storage to store the condition; a state determiner to determine a state of the SSD; a comparator to compare the state of the SSD with the condition; and trigger circuitry to trigger the Garbage Collection logic to perform Garbage Collection on the storage based at least in part on the comparator indicating that the state of the SSD satisfies the condition, wherein the trigger circuitry operates to schedule Garbage Collection on the storage at a time that improves Input/Output (I/O) requests at the SSD. 2. An SSD according to claim 1 , wherein: the condition includes the idle duration; the state determiner is operative to determine an idle time for the SSD; and the comparator is operative to compare the idle time for the SSD with the idle duration. 3. An SSD according to claim 1 , wherein: the condition includes the queue depth threshold; the state determiner is operative to determine a command queue depth for the SSD; and the comparator is operative to compare the command queue depth for the SSD with the queue depth threshold. 4. An SSD according to claim 1 , wherein: the configuration command is received from a host computer; the condition includes both the idle duration and the queue depth threshold, the idle duration greater than 0 units of time; the state determiner is operative to determine an idle time for the SSD and a command queue depth for the SSD; and the comparator is operative to compare the idle time for the SSD with the idle duration and the command queue depth for the SSD with the queue depth threshold. 5. An SSD according to claim 4 , wherein the trigger circuitry is operative to trigger the Garbage Collection logic to perform Garbage Collection on the storage based at least in part on the comparator indicating that the state of the SSD satisfies the condition and a number of free erase blocks on the SSD is below a threshold. 6. An SSD according to claim 4 , wherein the state determiner is operative to determine the command queue depth for the SSD from a plurality of depths. 7. An SSD according to claim 6 , wherein the state determiner is operative to compute the command queue depth as an average of the plurality of depths. 8. An SSD according to claim 6 , wherein the state determiner is operative to compute the command queue depth as a maximum of the plurality of depths. 9. An SSD according to claim 6 , wherein the state determiner is operative to compute the command queue depth as a sum of the plurality of depths. 10. An SSD according to claim 6 , wherein the state determiner is operative to compute the command queue depth as a median of the plurality of depths. 11. An SSD according to claim 6 , wherein the state determiner is operative to compute the command queue depth as a minimum of the plurality of depths. 12. An SSD according to claim 1 , further comprising a processor to identify the configuration command received by the reception circuitry, store the condition in the condition storage, and configure the state determiner to determine an appropriate state of the SSD responsive to the condition. 13. A method, comprising: receiving, at a Solid State Drive (SSD), a configuration command, the configuration command including a condition drawn from a set including an idle duration and a queue depth threshold; storing the condition on the SSD; and performing Garbage Collection on the SSD based on the condition, wherein performing Garbage Collection on the SSD based on the condition operates to schedule Garbage Collection on the SSD at a time that improves Input/Output (I/O) requests at the SSD. 14. A method according to claim 13 , wherein using the condition to perform Garbage Collection on the SSD includes: monitoring a state of the SSD; comparing the state of the SSD with the condition; and performing the Garbage Collection on the SSD based at least in part on the state of the SSD satisfying the condition. 15. A method according to claim 14 , wherein; receiving, at an SSD, a configuration command includes receiving, at the SSD, the configuration command, the configuration command including the idle duration; monitoring a state of the SSD includes tracking an idle time for the SSD; and comparing the state of the SSD with the condition includes comparing the idle time for the SSD with the idle duration. 16. A method according to claim 14 , wherein; receiving, at an SSD, a configuration command includes receiving, at the SSD, the configuration command, the configuration command including the queue depth threshold; monitoring a state of the SSD includes determining a command queue depth for the SSD; and comparing the state of the SSD with the condition includes comparing the queue depth threshold with the command queue depth for the SSD. 17. A method according to claim 14 , wherein: receiving, at a Solid State Drive (SSD), a configuration command, the configuration command including a condition drawn from a set including an idle duration and a queue depth threshold includes receiving, at the SSD, from a host computer, the configuration command, the configuration command including a condition including an idle duration and a queue depth threshold, the idle duration greater than 0 units of time; monitoring a state of the SSD includes: tracking an idle time for the SSD; and determining a command queue depth for the SSD; and comparing the state of the SSD with the condition includes: comparing the idle time for the SSD with the idle duration; and comparing the queue depth threshold with the command queue depth for the SSD. 18. A method according to claim 17 wherein monitoring a state of the SSD includes determining a command queue depth for the SSD includes: determining a plurality of depths for a plurality of command queues; and determining the command queue depth from the plurality of depths. 19. A method according to claim 18 , wherein determining the command queue depth from the plurality of depths includes computing the command queue depth as an average of all of the plurality of depths. 20. A method according to claim 18 , wherein determining the command queue depth from the plurality of depths includes computing the command queue depth as a maximum of all the plurality of depths. 21. A method according to claim 18 , wherein determining the command queue depth from the plurality of depths includes computing the command queue depth as a sum of all of the plurality of depths. 22. A method according to claim 18 , wherein determining the command queue depth from the plurality of depths includes computing the command queue depth as a median of all the plurality of depths. 23. A method according to claim 18 , wherein determining the command queue depth from the plurality of depths includes computing the command queue depth as a minimum of all the plurality of depths. 24. A method according to claim 17 , wherein performing Garbage Collection on the SSD based at least in part on the state of the SSD condition satisfying the condition includes performing Garbage Collection on the SSD based at least in part on the

Assignees

Inventors

Classifications

  • Space efficiency improvement · CPC title

  • Flash memory · CPC title

  • G06F3/0604Primary

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

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

  • in block erasable memory, e.g. flash memory · 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 US10409719B2 cover?
A system and method for permitting an SSD (120) to perform passive Garbage Collection is described. The SSD (120) may include storage (315) to store data, and a Garbage Collection logic (340) that may perform Garbage Collection on the storage (315). Reception circuitry (305) may receive a configuration command (405) from a host (105). The configuration command (405) may include a condition (410…
Who is the assignee on this patent?
Tseng Derrick, Choi Changho, Samsung Electronics Co Ltd
What technology area does this patent fall under?
Primary CPC classification G06F3/0604. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 10 2019 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).