Neighbor based and dynamic hot threshold based hot data identification

US9342389B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9342389-B2
Application numberUS-201414169877-A
CountryUS
Kind codeB2
Filing dateJan 31, 2014
Priority dateApr 4, 2013
Publication dateMay 17, 2016
Grant dateMay 17, 2016

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.

An address is received. One or more neighbors associated with the received address is/are determined. One or more neighboring hot metrics is/are determined for the one or more neighbors associated with the received address. A hot metric for the received address is determined based at least in part on the neighboring hot metrics.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a memory with a cache portion and a non-cache portion; a neighbor generator configured to: receive an address; and determine one or more neighbors associated with the received address; a hot data identifier configured to determine one or more neighboring hot metrics for the one or more neighbors associated with the received address; and a comparator configured to determine, based at least in part on the neighboring hot metrics, a hot metric for the received address, wherein the received address is written to the cache portion of the memory when the determined hot metric for the received address corresponds to a hot data value. 2. The system of claim 1 , wherein the received address is associated with a host write. 3. The system of claim 1 , wherein the received address is associated with garbage collection. 4. The system of claim 1 , wherein the hot data identifier is configured to determine the neighboring hot metrics, including by: obtaining a range of neighbors to consider; determining one or more neighboring addresses on a first side of the received address based on the range; determining one or more neighboring addresses on a second side of the received address based on the range; determining, for the neighboring addresses on the first side, one or more neighboring hot metrics on the first side; and determining, for the neighboring addresses on the second side, one or more neighboring hot metrics on the second side. 5. The system of claim 1 , wherein the comparator is configured to determine the hot metric for the received address, including by: determining if at least one neighboring hot metric corresponds to a hot value; in the event it is determined that at least one neighboring hot metric corresponds to the hot value, setting the hot metric for the received address to the hot data value; and in the event it is determined that at least one neighboring hot metric does not correspond to the hot value, setting the hot metric for the received address to a cold data value. 6. The system of claim 1 , wherein the hot data identifier is configured to determine the neighboring hot metrics, including by: determining a dynamic hot threshold; and for each of the one or more neighbors: determining a metric associated with a given neighbor to compare against the dynamic hot threshold; and determining, based at least in part on the metric associated with the given neighbor and the dynamic hot threshold, a hot metric for the given neighbor. 7. The system of claim 6 , wherein the hot data identifier is configured to determine the dynamic hot threshold, including by determining the dynamic hot threshold using an average access count of logical block addresses (LBAs) in a block of interest. 8. The system of claim 6 , wherein the hot data identifier is configured to determine the dynamic hot threshold, including by determining the dynamic hot threshold using a measure of fullness of the cache portion of the memory. 9. The system of claim 6 , wherein the hot data identifier is configured to determine the dynamic hot threshold, including by determining the dynamic hot threshold using a difference between a wear level of the cache portion and a wear level of the non-cache portion of the memory. 10. A system, comprising: a memory including a cache portion and a non-cache portion; a dynamic hot threshold generator configured to determine a dynamic hot threshold; and a hot data identifier configured to: receive an address; determine a metric associated with the received address to compare against the dynamic hot threshold; and determine, based at least in part on the metric associated with the received address and the dynamic hot threshold, a hot metric for the received address, wherein the received address is written to the cache portion of the memory when the determined hot metric for the received address corresponds to a hot data value. 11. The system of claim 10 , wherein the received address is associated with a host write. 12. The system of claim 10 , wherein the received address is associated with garbage collection. 13. The system of claim 10 , wherein the hot data identifier is configured to determine the dynamic hot threshold including by determining the dynamic hot threshold using an average access count of logical block addresses (LBAs) in a block of interest. 14. The system of claim 10 , wherein the hot data identifier is configured to determine the dynamic hot threshold including by determining the dynamic hot threshold using a measure of fullness of the cache portion of the memory. 15. The system of claim 10 , wherein the hot data identifier is configured to determine the dynamic hot threshold including by determining the dynamic hot threshold using a difference between a wear level of the cache portion and the wear level of the non-cache portion of the memory. 16. A method, comprising: receiving an address; determining one or more neighbors associated with the received address; using a processor to determine one or more neighboring hot metrics for the one or more neighbors associated with the received address; determining, based at least in part on the neighboring hot metrics, a hot metric for the received address; and writing the received address to a cache portion of a memory when the determined hot metric for the received address corresponds to a hot data value. 17. The method of claim 16 , wherein using the processor to determine the neighboring hot metrics includes: obtaining a range of neighbors to consider; determining one or more neighboring addresses on a first side of the received address based on the range; determining one or more neighboring addresses on a second side of the received address based on the range; determining, for the neighboring addresses on the first side, one or more neighboring hot metrics on the first side; and determining, for the neighboring addresses on the second side, one or more neighboring hot metrics on the second side. 18. The method of claim 16 , wherein determining the hot metric for the received address includes: determining if at least one neighboring hot metric corresponds to a hot value; in the event it is determined that at least one neighboring hot metric corresponds to the hot value, setting the hot metric for the received address to the hot data value; and in the event it is determined that at least one neighboring hot metric does not correspond to the hot value, setting the hot metric for the received address to a cold data value. 19. The method of claim 16 , wherein using the processor to determine the neighboring hot metrics includes: determining a dynamic hot threshold; and for each of the one or more neighbors: determining a metric associated with a given neighbor to compare against the dynamic hot threshold; and determining, based at least in part on the metric associated with the given neighbor and the dynamic hot threshold, a hot metric for the given neighbor. 20. A method, comprising: using a processor to determine a dynamic hot threshold; and receiving an address; determining a metric associated with the received address to compare against the dynamic hot threshold; determining, based at least in part on the metric associated with the received address and the dynamic hot threshold, a hot metric for the received address; and writing the received address to a cache portion of a memory when the determined hot metric for the received address c

Assignees

Inventors

Classifications

  • G06F3/0616Primary

    in relation to life time, e.g. increasing Mean Time Between Failures [MTBF] · CPC title

  • G06F11/00Primary

    Error detection; Error correction; Monitoring (error detection, correction or monitoring in information storage based on relative movement between record carrier and transducer G11B20/18; monitoring, i.e. supervising the progress of recording or reproducing G11B27/36; in static stores G11C29/00) · CPC title

  • Address tracing · CPC title

  • for performance assessment · CPC title

  • Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · 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 US9342389B2 cover?
An address is received. One or more neighbors associated with the received address is/are determined. One or more neighboring hot metrics is/are determined for the one or more neighbors associated with the received address. A hot metric for the received address is determined based at least in part on the neighboring hot metrics.
Who is the assignee on this patent?
Sk Hynix Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0616. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 17 2016 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).