Retention aware block mapping in flash-based solid state drives

US2019212940A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2019212940-A1
Application numberUS-201816136989-A
CountryUS
Kind codeA1
Filing dateSep 20, 2018
Priority dateJan 10, 2018
Publication dateJul 11, 2019
Grant date

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.

Techniques for profiling storage blocks in non-transitory memory (e.g., flash memory dies) to determine their retention capability, and assigning them with labels based on retention, are described. A superblock (SB) can be formed from physical blocks with the same labels located in different dies. The disclosed system and methods improve storage efficiency when the update frequency of stored data is non-uniform, as is typically the case. Moreover, the disclosed embodiments improve the reliability of solid state drives (SSDs), as well as reduce data refresh frequency and write amplification due to periodic refresh. A storage system can comprise a controller configured to obtain expected retention times for a plurality of storage blocks. The controller can partition the blocks into superblocks based on the retention times. A respective superblock is associated with a superblock retention time range, and contains blocks having expected retention times within the retention time range.

First claim

Opening claim text (preview).

What is claimed is: 1 . A storage system with improved retention efficiency, comprising: a plurality of dies; a plurality of storage blocks located within the plurality of dies; and a controller configured to: obtain expected storage retention times for the plurality of storage blocks; and group the plurality of storage blocks into two or more superblocks based on the expected storage retention times, wherein a respective superblock: is associated with a superblock retention time range; and comprises storage blocks having expected storage retention times within the superblock retention time range. 2 . The storage system of claim 1 , wherein the controller is further configured to: obtain data to write to the storage system and an expected update time for the data; select a first superblock based on matching the expected update time for the data with a first superblock retention time range associated with the first superblock; and write the data to the first superblock. 3 . The storage system of claim 2 , wherein while writing the data to the first superblock, the controller is further configured to: locate a storage block within the superblock based on a lookup in a table comprising records, wherein a respective record in the table contains a superblock identifier, a die identifier, and a physical location of the storage block within a superblock. 4 . The storage system of claim 2 , wherein the expected update time is obtained from one or more of: information provided by a host; and a prediction made by the controller based on historical tracking. 5 . The storage system of claim 2 , wherein while selecting the first superblock based on matching the expected update time with the first superblock retention time range, the controller is further configured to do one or more of: adjust the expected update time for the data based on a time elapsed since a previous update; and adjust the superblock retention time range associated with the first superblock based on a time elapsed since the first superblock was opened. 6 . The storage system of claim 1 , wherein while obtaining the expected storage retention times, the controller is further configured to obtain a storage retention time of a first storage block by at least: estimating a bit error ratio (BER) of a memory page of the first storage block; and extrapolating a relationship between the storage retention time of the first storage block and the BER. 7 . The storage system of claim 6 , the controller further configured to: determine that at least a predefined number of write operations have been performed to a first superblock; re-estimate the BER; and update one or more expected storage retention times. 8 . The storage system of claim 1 , wherein a respective superblock includes storage blocks located in two or more different dies. 9 . The storage system of claim 1 , wherein the storage blocks comprise non-transitory memory blocks. 10 . A storage device with improved retention efficiency, the storage device comprising: a controller configured to: obtain expected storage retention times for a plurality of storage blocks located within a plurality of dies; and group the plurality of storage blocks into two or more superblocks based on the expected storage retention times, wherein a respective superblock: is associated with a superblock retention time range; and comprises storage blocks having expected storage retention times within the superblock retention time range. 11 . The storage device of claim 10 : wherein the plurality of storage blocks includes: a first storage block having a first physical location within a first die in the plurality of dies and having a first expected storage retention time; and a second storage block having a second physical location within a second die in the plurality of dies, the first physical location not corresponding to the second physical location, and having a second expected storage retention time; and wherein while grouping the plurality of storage blocks into superblocks, the controller is further configured to: determine that the first expected storage retention time and the second expected storage retention time match a first superblock retention time range corresponding to a first superblock; and generate a first record and a second record in a lookup table that associates superblocks with storage blocks, the first record associating the first physical location with the first superblock, and the second record associating the second physical location with the first superblock. 12 . The storage device of claim 11 , wherein the controller is further configured to update the lookup table by: determining a change to the second expected storage retention time such that the second expected storage retention time no longer matches the first superblock retention time range; removing the second record associating the second physical location with the first superblock; determining that the second expected storage retention time and a third expected storage retention time of a third storage block on the first memory die match a second superblock retention time range corresponding to a second superblock; and associating the second storage block and the third storage block with the second superblock. 13 . The storage device of claim 10 , wherein the controller is further configured to: obtain data to write to the storage device and an expected update time for the data; select a first superblock based on matching the expected update time for the data with a first superblock retention time range associated with the first superblock; and write the data to the first superblock. 14 . The storage device of claim 13 , wherein the expected update time is obtained from one or more of: information provided by a host; and a prediction made by the controller based on historical tracking. 15 . A method for improving retention efficiency of a storage medium comprising a plurality of storage blocks located within a plurality of dies, the method performed by a controller and comprising: obtaining expected storage retention times for the plurality of storage blocks; and grouping the plurality of storage blocks into two or more superblocks based on the expected storage retention times, wherein a respective superblock: is associated with a superblock retention time range; and comprises storage blocks having expected storage retention times within the superblock retention time range. 16 . The method of claim 15 , further comprising: receiving, by the controller and from a host, a request to write data indicating a logical block address; identifying a first superblock based on the logical block address; identifying a first physical location of the first storage block based on a lookup table and an identifier of the first superblock; and writing a portion of the data to the first storage block based on the first physical location. 17 . The method of claim 15 , further comprising: obtaining data to write to the storage medium and an expected update time for the data; selecting a first superblock based on matching the expected update time for the data with a first superblock retention time range associated with the first superblock; and writing the data to the first superblock. 18 . The method of claim 17 , wherein writing the data to the first superblock further comprises: locating a storage block within the superblock based on a lookup in a table comprising records, wherein

Assignees

Inventors

Classifications

  • Digital stores characterised by arrangements of cells having volatile and non-volatile storage properties for back-up when the power is down · CPC title

  • using arrangements adapted for a specific error detection or correction feature · CPC title

  • in relation to data integrity, e.g. data losses, bit errors · CPC title

  • Management of blocks · CPC title

  • G06F3/0649Primary

    Lifecycle management · 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 US2019212940A1 cover?
Techniques for profiling storage blocks in non-transitory memory (e.g., flash memory dies) to determine their retention capability, and assigning them with labels based on retention, are described. A superblock (SB) can be formed from physical blocks with the same labels located in different dies. The disclosed system and methods improve storage efficiency when the update frequency of stored da…
Who is the assignee on this patent?
Sk Hynix Inc
What technology area does this patent fall under?
Primary CPC classification G06F3/0649. Mapped technology areas include Physics.
When was this patent published?
Publication date Thu Jul 11 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 6 related publications on this page (citations in our corpus or others sharing the same primary CPC).