Storage module and method for regulating garbage collection operations based on write activity of a host

US9569352B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9569352-B2
Application numberUS-201313829010-A
CountryUS
Kind codeB2
Filing dateMar 14, 2013
Priority dateMar 14, 2013
Publication dateFeb 14, 2017
Grant dateFeb 14, 2017

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 storage module and method for regulating garbage collection operations based on write activity of a host are disclosed. In one embodiment, a storage module determines whether the host is operating in a burst mode by determining whether write activity of the host over a time period exceeds a threshold. The write activity can comprise one or both of (i) an amount of data received from the host to be written in the storage module and (ii) a number of write commands received from the host. If the host is operating in the burst mode, the storage module limits an amount of garbage collection operations during the burst mode. When the host is no longer operating in the burst mode, the storage module increases an amount of garbage collection operations.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for regulating garbage collection operations based on write activity of a host, the method comprising: performing the following in a storage module: providing a time period of a duration that is large enough to eliminate noise in determining whether a host is operating in a burst mode and that is small enough to avoid unnecessary garbage collection; determining that the host is operating in the burst mode by determining that write activity of the host over the time period exceeds a threshold, wherein the write activity comprises one or both of the following: (i) an amount of data received from the host to be written in the storage module and (ii) a number of write commands received from the host; in response to determining that the host is operating in the burst mode, limiting an amount of garbage collection operations below a baseline amount during the burst mode; determining that the host is no longer operating in the burst mode; and in response to determining that the host is no longer operating in the burst mode, increasing an amount of garbage collection operations above the baseline amount to prepare for a next burst mode by performing one or both of the following: using more generous triggering thresholds than used for baseline garbage collection operations and performing garbage collection operations until a target number of free blocks has been achieved. 2. The method of claim 1 , wherein the storage module determines that the host is operating in the burst mode only from write activity and not from a message from the host indicating burst mode. 3. The method of claim 1 , wherein the write activity from the host comprises (i) but not (ii). 4. The method of claim 1 , wherein the write activity from the host comprises (ii) but not (i). 5. The method of claim 1 , wherein the write activity from the host comprises both (i) and (ii). 6. The method of claim 1 , wherein the threshold is static. 7. The method of claim 1 , wherein the threshold is dynamic. 8. The method of claim 7 , wherein the dynamic threshold is based on previous write activity of the host. 9. The method of claim 1 , wherein the storage module determines that the host is no longer operating in the burst mode by determining whether the write activity of the host falls below a second threshold. 10. The method of claim 9 , wherein the threshold for determining that the host is operating in the burst mode is the same as the second threshold. 11. The method of claim 9 , wherein the threshold for determining that the host is operating in the burst mode is different from the second threshold. 12. The method of claim 1 , wherein the storage module increases an amount of garbage collection over a baseline amount to prepare for a next burst period. 13. The method of claim 1 further comprising increasing an amount of garbage collection operations if the storage module does not have enough free memory to satisfy a write command from the host. 14. The method of claim 1 further comprising increasing an amount of garbage collection operations if the write activity is at a sustained rate for a predetermined period of time. 15. The method of claim 1 , wherein the storage module has memory blocks reserved for use only when the host is operating in the burst mode. 16. The method of claim 1 , wherein the storage module is embedded in the host. 17. The method of claim 1 , wherein the storage module and host are separate devices that are configured to removably connect to one another. 18. A storage module comprising: a memory; and a processor in communication with the memory, wherein the processor is configured to: provide a time period of a duration that is large enough to eliminate noise in determining whether a host is operating in a burst mode and that is small enough to avoid unnecessary garbage collection; determine that the host is operating in the burst mode by determining that write activity of the host over the time period exceeds a threshold, wherein the write activity comprises one or both of the following: (i) an amount of data received from the host to be written in the storage module and (ii) a number of write commands received from the host; in response to determining that the host is operating in the burst mode, limit an amount of garbage collection operations below a baseline amount during the burst mode; determine that the host is no longer operating in the burst mode; and in response to determining that the host is no longer operating in the burst mode, increase an amount of garbage collection operations above the baseline amount to prepare for a next burst mode by performing one or both of the following: using more generous triggering thresholds than used for baseline garbage collection operations and performing garbage collection operations until a target number of free blocks has been achieved. 19. The storage module of claim 18 , wherein the storage module determines that the host is operating in the burst mode only from write activity and not from a message from the host indicating burst mode. 20. The storage module of claim 18 , wherein the write activity from the host comprises (i) but not (ii). 21. The storage module of claim 18 , wherein the write activity from the host comprises (ii) but not (i). 22. The storage module of claim 18 , wherein the write activity from the host comprises both (i) and (ii). 23. The storage module of claim 18 , wherein the threshold is static. 24. The storage module of claim 18 , wherein the threshold is dynamic. 25. The storage module of claim 24 , wherein the dynamic threshold is based on previous write activity of the host. 26. The storage module of claim 18 , wherein the storage module determines that the host is no longer operating in the burst mode by determining whether the write activity of the host falls below a second threshold. 27. The storage module of claim 26 , wherein the threshold for determining that the host is operating in the burst mode is the same as the second threshold. 28. The storage module of claim 26 , wherein the threshold for determining that the host is operating in the burst mode is different from the second threshold. 29. The storage module of claim 18 , wherein the storage module increases an amount of garbage collection over a baseline amount to prepare for a next burst period. 30. The storage module of claim 18 , wherein the processor is further configured to increase an amount of garbage collection operations if the storage module does not have enough free memory to satisfy a write command from the host. 31. The storage module of claim 18 , wherein the processor is further configured to increase an amount of garbage collection operations if the write activity is at a sustained rate for a predetermined period of time. 32. The storage module of claim 18 , wherein the storage module has memory blocks reserved for use only when the host is operating in the burst mode. 33. The storage module of claim 18 , wherein the storage module is embedded in the host. 34. The storage module of claim 18 , wherein the storage module and host are separate devices that are configured to removably connect to one another. 35. A method for regulating garbage

Assignees

Inventors

Classifications

  • Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory · CPC title

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

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

  • Latency reduction · 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 US9569352B2 cover?
A storage module and method for regulating garbage collection operations based on write activity of a host are disclosed. In one embodiment, a storage module determines whether the host is operating in a burst mode by determining whether write activity of the host over a time period exceeds a threshold. The write activity can comprise one or both of (i) an amount of data received from the host …
Who is the assignee on this patent?
Marcu Alon, Shaharabany Amir, Oshinsky Hadas, and 3 more
What technology area does this patent fall under?
Primary CPC classification G06F12/0238. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 14 2017 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).