Storage module and method for identifying hot and cold data

US9747202B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9747202-B1
Application numberUS-201313829235-A
CountryUS
Kind codeB1
Filing dateMar 14, 2013
Priority dateMar 14, 2013
Publication dateAug 29, 2017
Grant dateAug 29, 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 identifying hot and cold data are provided. The storage module can be removable from a host or can be embedded in a host. In one embodiment, a request to store data in a logical block address (LBA) of a memory of the storage module is received. A physical block associated with the LBA is determined, and it is also determined whether the physical block stores hot or cold data. A last-known open block is then selected, wherein the last-known open block is either hot or cold depending on whether the physical block stores hot or cold data. If space is available in the last-known open block, the data is written to the last-known open block.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for identifying hot and cold data, the method comprising: performing the following in a storage module which is operatively in communication with a host: receiving a request from the host to store data in a logical block address (LBA) of a memory of the storage module; determining a first physical block associated with the LBA based on a logical-to-physical address map; determining how recently the first physical block was last written to; determining whether the LBA is hot or cold based on how recently the first physical block was last written to, wherein a size of the first physical block is larger than a size of the LBA; in response to determining that the LBA is hot, storing the data in a second physical block, wherein the second physical block is designated for hot data; and in response to determining that the LBA is cold, storing the data in a third physical block, wherein the third physical block is designated for cold data; wherein, irrespective of whether the LBA is determined to be hot or cold, the data is stored in a different physical block than the one determined using the logical-to-physical address map. 2. The method of claim 1 further comprising: selecting a last-known open block, wherein the last-known open block is either hot or cold depending on whether the first physical block stores hot or cold data; if space is available in the last-known open block, writing the data from the host to the last-known open block; and if space is not available in the last-known open block, writing the data from the host to a newly-allocated block. 3. The method of claim 1 , wherein the memory module determines how recently the first physical block was last written to by analyzing a list of most-recently open blocks. 4. The method of claim 3 , wherein a threshold for determining which blocks on the list are hot or cold is static. 5. The method of claim 3 , wherein a threshold for determining which blocks on the list are hot or cold is dynamic. 6. The method of claim 1 further comprising updating the logical-to-physical address map to associate the LBA with the second or third physical block, as appropriate. 7. The method of claim 1 further comprising performing garbage collection on the blocks in the memory while maintain a temperature of data being compacted. 8. The method of claim 7 further comprising, during garbage collection, placing a block with available pages at a beginning of a list. 9. A storage module comprising: a memory; and a processor in communication with the memory, wherein the processor is configured to: receive a request from the host to store data in a logical block address (LBA) of the memory; determine a first physical block associated with the LBA based on a logical-to-physical address map; determine how recently the first physical block was last written to; determine whether the LBA is hot or cold based on how recently the first physical block was last written to, wherein a size of the first physical block is larger than a size of the LBA; in response to determining that the LBA is hot, store the data in a second physical block, wherein the second physical block is designated for hot data; and in response to determining that the LBA is cold, store the data in a third physical block, wherein the third physical block is designated for cold data; wherein, irrespective of whether the LBA is determined to be hot or cold, the data is stored in a different physical block than the one determined using the logical-to-physical address map. 10. The storage module of claim 9 , wherein the processor is further configured to: select a last-known open block, wherein the last-known open block is either hot or cold depending on whether the first physical block stores hot or cold data; if space is available in the last-known open block, write the data from the host to the last-known open block; and if space is not available in the last-known open block, write the data from the host to a newly-allocated block. 11. The storage module of claim 9 , wherein the memory module determines how recently the first physical block was last written to by analyzing a list of most-recently open blocks. 12. The storage module of claim 11 , wherein a threshold for determining which blocks on the list are hot or cold is static. 13. The storage module of claim 11 , wherein a threshold for determining which blocks on the list are hot or cold is dynamic. 14. The storage module of claim 9 , wherein the processor is further configured to update the logical-to-physical address map to associate the LBA with the second or third physical block, as appropriate. 15. The storage module of claim 9 , wherein the processor is further configured to perform garbage collection on the blocks in the memory while maintain a temperature of data being compacted. 16. The storage module of claim 15 , wherein the processor is further configured to, during garbage collection, place a block with available pages at a beginning of a list. 17. A method for identifying hot and cold data, the method comprising: performing the following in a host having embedded therein a host controller and a storage module: receiving a request to store data in a logical block address (LBA) of a memory of the storage module; determining a first physical block associated with the LBA based on a logical-to-physical address map; determining how recently the first physical block was last written to; determining whether the LBA is hot or cold based on how recently the first physical block was last written to, wherein a size of the first physical block is larger than a size of the LBA; in response to determining that the LBA is hot, storing the data in a second physical block, wherein the second physical block is designated for hot data; and in response to determining that the LBA is cold, storing the data in a third physical block, wherein the third physical block is designated for cold data; wherein, irrespective of whether the LBA is determined to be hot or cold, the data is stored in a different physical block than the one determined using the logical-to-physical address map. 18. The method of claim 17 further comprising: selecting a last-known open block, wherein the last-known open block is either hot or cold depending on whether the first physical block stores hot or cold data; if space is available in the last-known open block, writing the data from the host to the last-known open block; and if space is not available in the last-known open block, writing the data to a newly-allocated block. 19. The method of claim 17 , wherein determining how recently the first physical block was last written to is performed by analyzing a list of most-recently open blocks. 20. The method of claim 19 , wherein a threshold for determining which blocks on the list are hot or cold is static. 21. The method of claim 19 , wherein a threshold for determining which blocks on the list are hot or cold is dynamic. 22. The method of claim 17 further comprising updating the logical-to-physical address map to associate the last-known open block with the LBA. 23. The method of claim 17 further comprising performing garbage collection on the blocks in the memory while maintain a temperature of data being compacted. 24. The method of claim 23 further comprising, during garbage collection, placing a block with available pages at a beginning

Assignees

Inventors

Classifications

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

  • Garbage collection, i.e. reclamation of unreferenced memory · CPC title

  • Latency reduction · CPC title

  • with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list · CPC title

  • Logical to physical mapping or translation of blocks or pages · 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 US9747202B1 cover?
A storage module and method for identifying hot and cold data are provided. The storage module can be removable from a host or can be embedded in a host. In one embodiment, a request to store data in a logical block address (LBA) of a memory of the storage module is received. A physical block associated with the LBA is determined, and it is also determined whether the physical block stores hot …
Who is the assignee on this patent?
Shaharabany Amir, Marcu Alon, Oshinsky Hadas, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F12/0253. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 29 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). 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).