Enhanced garbage collection
US-10739996-B1 · Aug 11, 2020 · US
US11853595B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11853595-B2 |
| Application number | US-202217723887-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 19, 2022 |
| Priority date | Apr 19, 2022 |
| Publication date | Dec 26, 2023 |
| Grant date | Dec 26, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A stream set classification process may be implemented to classify streams opened by a host device on a data storage device. The data storage device may internally classify the streams into different stream classifications using a set of performance metrics. Stream classifications that cause the data storage device to show the greatest gains when compared with a set of baseline performance metrics for the data storage device and/or when compared with other stream classifications, may be selected by the data storage device and/or the host device for subsequent write operations.
Opening claim text (preview).
What is claimed is: 1. A method for classifying streams for a data storage device, comprising: receiving a plurality of streams from a host device; determining a performance metric for each stream in the plurality of streams, each performance metric being associated with a performance parameter from a set of predefined performance parameters; classifying the plurality of streams into a stream classification based, at least in part, on each performance metric, the stream classification including a first stream set and a second stream set, the first stream set including a first stream from the plurality of streams and the second stream set including a second stream from the plurality of streams; determining a gain measurement associated with the stream classification, the gain measurement being associated with a set of predefined gain criteria; and performing a write operation on a storage block of the data storage device using the stream classification based, at least in part, on the gain measurement. 2. The method of claim 1 , wherein the storage block is associated with the first stream set. 3. The method of claim 1 , further comprising comparing the gain measurement associated with the stream classification to a baseline efficiency score associated with the data storage device, the baseline efficiency score providing performance information of the data storage device prior to the data storage device performing the write operation using the stream classification. 4. The method of claim 1 , further comprising comparing the gain measurement associated with the stream classification to an expected gain measurement threshold. 5. The method of claim 4 , further comprising identifying a different stream classification when the gain measurement associated with the stream classification is below the expected gain measurement threshold. 6. The method of claim 1 , further comprising comparing the gain measurement associated with the stream classification to a gain measurement associated with a different stream classification. 7. The method of claim 6 , further comprising causing the data storage device to use the different stream classification when the gain measurement associated with the different stream classification exceeds the gain measurement associated with the stream classification. 8. A method for classifying streams for a data storage device, comprising: storing a first performance metric for a first stream in a plurality of streams associated with a host device, the first performance metric being associated with a performance parameter; storing a second performance metric for a second stream in the plurality of streams associated with the host device, the second performance metric being associated with the performance parameter; providing information corresponding to the first performance metric for the first stream in the plurality of streams to a remote device; providing information corresponding to the second performance metric for the second stream in the plurality of streams to the remote device; receiving a stream classification from the remote device, the stream classification including one or more stream sets, wherein: at least one of the one or more stream sets includes the first stream and the second stream; and the first stream and the second stream are included in the at least one of the one or more stream sets based, at least in part, on the first performance metric and the second performance metric; and performing a write operation on a storage block of the data storage device using the stream classification. 9. The method of claim 8 , wherein the information corresponding to the first performance metric and the information corresponding to the second performance metric are provided to the remote device via an application programming interface. 10. The method of claim 8 , wherein the performance parameter is selected from a group of performance parameters that includes one or more of: an amount of write operations and invalidations for a stream; an amount of rewrite invalidations and discard invalidations for a stream; a valid count percentage for a stream; an invalidated valid count percentage for a stream; a determined pattern of a stream; a determined number of free storage blocks associated with a stream; and a determined sequential read and sequential write ratio associated with a stream. 11. The method of claim 8 , further comprising providing a maximum number of streams supported by the data storage device to the remote device via an application programming interface. 12. The method of claim 11 , wherein a maximum number of stream sets in the stream classification is less than or equal to the maximum number of streams supported by the data storage device. 13. The method of claim 12 , wherein a maximum number of streams in each stream set is less than or equal to the maximum number of streams supported by the data storage device. 14. A data storage device, comprising: a controller; and a memory communicatively coupled to the controller and storing instructions which, when executed by the controller, perform operations, comprising: performing one or more write operations on storage blocks associated with the data storage device using a first stream classification, the first stream classification including a first stream set having one or more streams associated with a host device and a second stream set having one or more streams associated with the host device; determining a gain measurement associated with the first stream classification; comparing the gain measurement associated with the first stream classification to an expected gain measurement threshold; and performing subsequent write operations on the storage blocks associated with the data storage device using a second stream classification based on the gain measurement associated with the first stream classification falling below the expected gain measurement threshold. 15. The data storage device of claim 14 , wherein the expected gain measurement threshold is associated with a workload. 16. The data storage device of claim 14 , wherein the expected gain measurement threshold is associated with a profile. 17. The data storage device of claim 14 , wherein the gain measurement associated with the first stream classification is based, at least in part, on one or more gain criteria, the one or more gain criteria including one or more of: a ratio of released storage blocks versus new storage blocks that are allocated for write operations; a determined valid count distribution spread over all storage blocks in the data storage device; a determined count of free storage blocks in the data storage device; a determined frequency of garbage collection activities performed by the data storage device; a determined number of sequential read operations performed by the data storage device; and a determined write amplification factor associated with the data storage device. 18. The data storage device of claim 14 , wherein: each of the one or more streams in the first stream set have a performance metric that falls within a first specified range of a performance parameter; and each of the one or more streams in the second stream set have a performance metric that falls within a second specified range of the performance parameter. 19. The data storage device of claim 14 , further comprising instructions for performing the comparison of the gain measurement of the first stream classification to the expected gain measurement t
Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · CPC title
Improving or facilitating administration, e.g. storage management · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Improving I/O performance · CPC title
in relation to life time, e.g. increasing Mean Time Between Failures [MTBF] · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.