Managing block arrangement of super blocks
US-2019179741-A1 · Jun 13, 2019 · US
US2019212940A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2019212940-A1 |
| Application number | US-201816136989-A |
| Country | US |
| Kind code | A1 |
| Filing date | Sep 20, 2018 |
| Priority date | Jan 10, 2018 |
| Publication date | Jul 11, 2019 |
| Grant date | — |
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.
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.
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
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
Lifecycle management · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.