Variable bit encoding per NAND flash cell to improve device endurance and extend life of flash-based storage devices
US-9639282-B2 · May 2, 2017 · US
US2016019137A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016019137-A1 |
| Application number | US-201514599168-A |
| Country | US |
| Kind code | A1 |
| Filing date | Jan 16, 2015 |
| Priority date | Jul 15, 2014 |
| Publication date | Jan 21, 2016 |
| 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.
The embodiments described herein are used to allocate memory in a storage system. The method includes, at a memory controller in the storage system, determining a current memory allocation for a set of memory devices, wherein the set of memory devices is formatted with a ratio of first storage density designated portions to second storage density designated portions in accordance with the current memory allocation. The method further includes detecting satisfaction of one or more memory reallocation trigger conditions. The method further includes, in response to detecting satisfaction of one or more memory reallocation trigger conditions, modifying the ratio of the first storage density designated portions to the second storage density designated portions in the set of memory devices to generate a second memory allocation for the set of memory devices.
Opening claim text (preview).
What is claimed is: 1 . A method of allocating memory in a storage system that comprises a memory controller and a set of memory devices, the set of memory devices comprising a plurality of memory portions, the method comprising: at the memory controller: determining a current memory allocation for the set of memory devices, wherein the set of memory devices is formatted with a ratio of first storage density designated portions to second storage density designated portions in accordance with the current memory allocation; detecting satisfaction of one or more memory reallocation trigger conditions; and in response to detecting satisfaction of one or more memory reallocation trigger conditions, modifying the ratio of the first storage density designated portions to the second storage density designated portions in the set of memory devices to generate a second memory allocation for the set of memory devices. 2 . The method of claim 1 , further comprising: after modifying the ratio, determining a revised storage capacity for the set of memory devices; and reporting, to a host system, the revised storage capacity of the set of memory devices. 3 . The method of claim 1 , wherein modifying the ratio of the first storage density designated portions to the second storage density designated portions in the set of memory devices comprises selecting one or more erase blocks to switch from the first storage density designation to the second storage density designation, or from the second storage density designation to the first storage density designation, in accordance with the second memory allocation. 4 . The method of claim 1 , wherein detecting satisfaction of one or more memory reallocation trigger conditions comprises detecting the passage of a predetermined threshold of time. 5 . The method of claim 1 , wherein detecting satisfaction of one or more memory reallocation trigger conditions comprises detecting completion of a predetermined number of erase cycles performed on the set of memory devices. 6 . The method of claim 1 , wherein detecting satisfaction of one or more memory reallocation trigger conditions comprises detecting observation of a predetermined number of erase failures performed on the set of memory devices. 7 . The method of claim 1 , wherein detecting satisfaction of one or more memory reallocation trigger conditions comprises detecting observation of a predetermined threshold of wear on the first storage density designated portions or the second storage density designated portions. 8 . The method of claim 1 , wherein detecting satisfaction of one or more memory reallocation trigger conditions comprises receiving a host command to assess the current memory allocation. 9 . The method of claim 1 , wherein detecting satisfaction of one or more memory reallocation trigger conditions includes determining that the current memory allocation requires modification. 10 . The method of claim 9 , wherein determining that the current memory allocation requires modification comprises: determining an expected host workload; and comparing the expected host workload to a predetermined host workload for the set of memory devices. 11 . The method of claim 9 , wherein determining that the current memory allocation requires modification comprises: determining an observed host workload; and comparing the observed host workload to a predetermined host workload for the set of memory devices. 12 . The method of claim 9 , wherein determining that the current memory allocation requires modification comprises: determining an observed write amplification for the set of memory devices; and comparing the observed write amplification to a write amplification corresponding to the current memory allocation. 13 . A storage system, comprising: a storage device including one or more memory devices, each with a set of memory portions; and one or more modules configured to: determine a current memory allocation for a set of memory devices, wherein the set of memory devices is formatted with a ratio of first storage density designated portions to second storage density designated portions in accordance with the current memory allocation; detect satisfaction of one or more memory reallocation trigger conditions; and in response to detecting satisfaction of one or more memory reallocation trigger conditions, modify the ratio of the first storage density designated portions to the second storage density designated portions in the set of memory devices to generate a second memory allocation for the set of memory devices. 14 . The storage system of claim 13 , the storage system including a memory controller with one or more processors and memory storing one or more programs to be executed by the one or more processors, the one or more programs comprising instructions for performing the determining, detecting and modifying. 15 . The storage system of claim 14 , wherein the one or more programs further comprise instructions for: after modifying the ratio, determining a revised storage capacity for the set of memory devices; and reporting, to a host system, the revised storage capacity of the set of memory devices. 16 . The storage system of claim 13 , wherein modifying the ratio of the first storage density designated portions to the second storage density designated portions in the set of memory devices comprises selecting one or more erase blocks to switch from the first storage density designation to the second storage density designation, or from the second storage density designation to the first storage density designation, in accordance with the second memory allocation. 17 . The storage system of claim 13 , wherein detecting satisfaction of one or more memory reallocation trigger conditions includes determining that the current memory allocation requires modification. 18 . A non-transitory computer-readable storage medium storing one or more programs configured for execution by a memory controller with one or more processors, the one or more programs comprising instructions for causing the memory controller to perform a sequence of operations, including: determining a current memory allocation for a set of memory devices, wherein the set of memory devices is formatted with a ratio of first storage density designated portions to second storage density designated portions in accordance with the current memory allocation; detecting satisfaction of one or more memory reallocation trigger conditions; and in response to detecting satisfaction of one or more memory reallocation trigger conditions, modifying the ratio of the first storage density designated portions to the second storage density designated portions in the set of memory devices to generate a second memory allocation for the set of memory devices. 19 . The storage medium of claim 18 , the one or more programs further comprising instructions for: after modifying the ratio, determining a revised storage capacity for the set of memory devices; and reporting, to a host system, the revised storage capacity of the set of memory devices. 20 . The storage medium of claim 18 , wherein modifying the ratio of the first storage density designated portions to the second storage density designated portions in the set of memory devices comprises selecting one or more erase blocks to switch from the first storage density designation to the second storage density designation, or from the second storage density designation to the firs
Programming or data input circuits · CPC title
Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP] · CPC title
Multilevel memory having cells with different number of storage levels · CPC title
in block erasable memory, e.g. flash memory · CPC title
Capacity control, e.g. partitioning, end-of-life degradation · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.