Method and apparatus for managing map data in a memory system
US-2020264985-A1 · Aug 20, 2020 · US
US11972149B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11972149-B2 |
| Application number | US-202217874555-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 27, 2022 |
| Priority date | Jul 27, 2022 |
| Publication date | Apr 30, 2024 |
| Grant date | Apr 30, 2024 |
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 storage system is provided that performs a defragmentation operation or proactive garbage collection in its memory based on a command from a host. The command specifies which blocks in the memory should take part in the defragmentation operation by specifying a maximum amount of valid data that a block can have to qualify for defragmentation. That way, the storage system only performs defragmentation on those blocks that meet the validity criteria provided by the host. This can help improve performance of the storage system while reducing the degree of negative tradeoffs that may come with defragmentation or proactive garbage collection.
Opening claim text (preview).
What is claimed is: 1. A storage system comprising: a memory; and a controller coupled with the memory and configured to: receive, from a host, a command to perform host-activated defragmentation on the memory, wherein the command specifies a maximum block valid count threshold that is selected by the host after assessing a tradeoff between increased performance and reduction of memory lifetime associated with the maximum block valid count threshold; perform defragmentation only to those blocks in the memory whose amount of valid data is not greater than the maximum block valid count threshold; and receive, from the host, at least one subsequent command to perform host-activated defragmentation on the memory, wherein each subsequent command specifies a different maximum block valid count threshold; wherein the host dynamically decreases the maximum block valid count threshold in each subsequent command as the host progressively prioritizes memory lifetime over performance. 2. The storage system of claim 1 , wherein the controller is further configured to inform the host that the storage system supports the command. 3. The storage system of claim 1 , wherein the controller is further configured to provide the host with an indication of a maximum block valid count threshold supported by the storage system. 4. The storage system of claim 1 , wherein the controller is further configured to provide the host with a recommendation of the maximum block valid count threshold. 5. The storage system of claim 1 , wherein the controller is further configured to provide the host with an indication of a number of blocks of the memory that are expected to be relocated in each of a plurality of maximum block valid count thresholds. 6. The storage system of claim 1 , wherein the defragmentation is performed during an idle time of the memory. 7. The storage system of claim 1 , wherein the command further indicates a storage pool in the memory to which the defragmentation operation is to be performed. 8. The storage system of claim 1 , wherein the maximum block valid count threshold is based on a counter value, a memory fullness, and/or performance statistics. 9. The storage system of claim 1 , wherein the memory comprises a three-dimensional memory. 10. In a storage system comprising a memory, a method comprising: receiving, from a host, a command to perform host-activated defragmentation on the memory, wherein the command specifies a valid count criteria that is determined by host application usage after the host assesses a tradeoff between increased performance and reduction of memory lifetime associated with the valid count criteria; performing defragmentation only on those blocks in the memory that satisfy the valid count criteria; and receiving, from the host, at least one subsequent command to perform host-activated defragmentation on the memory, wherein each subsequent command specifies a different valid count criteria, and wherein the host dynamically decreases the valid count criteria in each subsequent command as the host progressively prioritizes memory lifetime over performance. 11. The method of claim 10 , further comprising informing the host that the storage system supports the command. 12. The method of claim 10 , further comprising providing the host with an indication of a maximum valid count criteria supported by the storage system. 13. The method of claim 10 , further comprising providing the host with a recommendation of the valid count criteria. 14. The method of claim 10 , further comprising providing the host with an indication of a number of blocks of the memory that are expected to be relocated in each of a plurality of valid count criteria. 15. The method of claim 10 , wherein the defragmentation is performed during an idle time of the memory. 16. The method of claim 10 , wherein the at least one subsequent command comprises a plurality of commands. 17. The method of claim 10 , wherein the command further indicates a storage pool in the memory to which the defragmentation operation is to be performed. 18. The method of claim 10 , wherein the valid count criteria is based on memory lifetime, memory health, a counter value, a memory fullness, and/or performance statistics. 19. A storage system comprising: a memory; means for receiving, from a host, a command to perform host-activated defragmentation on the memory, wherein the command specifies a selection of one of a predefined number of maximum block valid count threshold options that is selected by the host after assessing a tradeoff between increased performance and reduction of memory lifetime associated with each of the predefined number of maximum block valid count threshold options; means for performing defragmentation only to those blocks in the memory whose amount of valid data is not greater than the selected one of the predefined number of maximum block valid count threshold options; and means for receiving, from the host, at least one subsequent command to perform host-activated defragmentation on the memory, wherein each subsequent command specifies a different one of the predefined number of maximum block valid count threshold options, wherein the host dynamically selects a decreasing maximum block valid count threshold option in each subsequent command as the host progressively prioritizes memory lifetime over performance. 20. The storage system of claim 1 , wherein the maximum block valid count threshold is based on memory health.
Command handling arrangements, e.g. command buffers, queues, command scheduling · 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
Garbage collection, i.e. reclamation of unreferenced memory · CPC title
Details of de-fragmentation performed by the file system (saving storage space on storage systems G06F3/0608; management of blocks in storage devices G06F3/064) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.