Memory system and method for controlling nonvolatile memory
US-2017177218-A1 · Jun 22, 2017 · US
US9880745B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9880745-B2 |
| Application number | US-201615187994-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 21, 2016 |
| Priority date | Jun 21, 2016 |
| Publication date | Jan 30, 2018 |
| Grant date | Jan 30, 2018 |
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.
Methods, computing systems and computer program products implement embodiments of the present invention that include identifying, in a storage system including multiple storage devices having respective sets of storage regions, respective default low storage region thresholds that are used for garbage collection. For each given storage region, a time threshold and an alternative low storage region threshold greater than the default low storage region threshold for the given storage device are defined. While processing input/output operations for each given storage device, a count of unused storage regions in the given storage device is maintained, a timer is initialized, and upon the timer matching the time threshold for the given storage device and upon the count of unused storage regions being less than or equal to the alternative low storage region threshold, a garbage collection operation is initiated. In some embodiments, processing the input/output operations includes using a log-structured array format.
Opening claim text (preview).
The invention claimed is: 1. A method, comprising: identifying, in a storage system comprising multiple storage devices having respective sets of storage regions, respective default low storage region thresholds that are used for garbage collection; defining, for each given storage region, a time threshold and an alternative low storage region threshold greater than the default low storage region threshold for the given storage device; and while processing input/output operations for each given storage device: maintaining a count of unused storage regions in the given storage device, initializing a timer, and initiating a garbage collection operation upon the timer matching the time threshold for the given storage device and upon the count of unused storage regions being less than or equal to the alternative low storage region threshold. 2. The method according to claim 1 , and comprising identifying, for the storage devices, respective default high storage region thresholds that are used for the garbage collection, defining, for each given storage regions an alternative high storage region threshold greater than the alternative low storage region threshold for the given storage device, and ending the garbage collection operation upon the count of unused storage regions equaling or exceeding the alternative high storage region threshold for the given storage device. 3. The method according to claim 1 , wherein the time threshold is selected from a group of defined values. 4. The method according to claim 1 , wherein processing the input/output operations comprises utilizing a log-structured array format to store data to the storage devices, and wherein the respective storage capacities of at least two of the storage devices are in accordance with one another. 5. The method according to claim 4 , wherein processing the input/output operations comprises evenly distributing the data among the storage devices. 6. The method according to claim 1 , wherein each of the storage devices is selected from a group consisting of a solid-state disk drive and a shingled magnetic recording disk drive. 7. The method according to claim 1 , and comprising reinitializing the timer for a given storage device upon the timer matching the time threshold and the count of unused storage regions being less than the alternative low storage region threshold for the given storage device. 8. An apparatus, comprising: multiple storage devices having respective sets of storage regions; and a processor configured: to identify, for the multiple storage devices, respective default low storage region thresholds that are used for garbage collection, to define, for each given storage region, a time threshold and an alternative low storage region threshold greater than the default low storage region threshold for the given storage device, and while processing input/output operations for each given storage device: to maintain a count of unused storage regions in the given storage device, to initialize a timer, and to initiate a garbage collection operation upon the timer matching the time threshold for the given storage device and upon the count of unused storage regions being less than or equal to the low storage region threshold. 9. The apparatus according to claim 8 , wherein the processor is configured to identify, for the storage devices, respective default high storage region thresholds that are used for the garbage collection, to define, for each given storage regions an alternative high storage region threshold greater than the alternative low storage region threshold for the given storage device, and to end the garbage collection operation upon the count of unused storage regions equaling or exceeding the alternative high storage region threshold for the given storage device. 10. The apparatus according to claim 8 , wherein the time threshold is selected from a group of defined values. 11. The apparatus according to claim 8 , wherein the processor is configured to process the input/output operations by utilizing a log-structured array format to store data to the storage devices, and wherein the respective storage capacities of at least two of the storage devices are in accordance with one another. 12. The apparatus according to claim 11 , wherein the processor is configured to process the input/output operations by evenly distributing the data among the storage devices. 13. The apparatus according to claim 8 , wherein each of the storage devices is selected from a group consisting of a solid-state disk drive and a shingled magnetic recording disk drive. 14. The apparatus according to claim 8 , wherein the processor is configured to reinitialize the timer for a given storage device upon the timer matching the time threshold and the count of unused storage regions being less than the alternative low storage region threshold for the given storage device. 15. A computer program product, the computer program product comprising: a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising: computer readable program code configured to identify, in a storage system comprising multiple storage devices having respective sets of storage regions, respective default low storage region thresholds that are used for garbage collection; computer readable program code configured to define, for each given storage region, a time threshold and an alternative low storage region threshold greater than the default low storage region threshold for the given storage device; and while processing input/output operations for each given storage device: computer readable program code configured to maintain a count of unused storage regions in the given storage device, computer readable program code configured to initialize a timer, and computer readable program code configured to initiate a garbage collection operation upon the timer matching the time threshold for the given storage device and upon the count of unused storage regions being less than or equal to the low storage region threshold. 16. The computer program product according to claim 15 , and comprising computer readable program code configured to identify, for the storage devices, respective default high storage region thresholds that are used for the garbage collection, to define, for each given storage regions an alternative high storage region threshold greater than the alternative low storage region threshold for the given storage device, and to end the garbage collection operation upon the count of unused storage regions equaling or exceeding the alternative high storage region threshold for the given storage device. 17. The computer program product according to claim 15 , wherein the time threshold is selected from a group of defined values. 18. The computer program product according to claim 15 , wherein the computer readable program code is configured to process the input/output operations by utilizing a log-structured array format to store data to the storage devices, and evenly distributing the data among the storage devices, and wherein the respective storage capacities of at least two of the storage devices are in accordance with one another. 19. The computer program product according to claim 15 , wherein each of the storage devices is selected from a group consisting of a solid-state disk drive and a shingled magnetic recording disk drive. 20. The computer program product according to claim
Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket · CPC title
Incremental or concurrent garbage collection, e.g. in real-time systems (G06F12/0261 takes precedence) · CPC title
Performance improvement · CPC title
Storage comprising a plurality of storage devices · CPC title
Improving I/O performance · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.