Variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning

US9606737B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9606737-B2
Application numberUS-201514929158-A
CountryUS
Kind codeB2
Filing dateOct 30, 2015
Priority dateMay 20, 2015
Publication dateMar 28, 2017
Grant dateMar 28, 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.

Systems, methods, and/or devices are used to implement variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning. In some embodiments, the method includes detecting a trigger condition with respect to one or more non-volatile memory portions (e.g., portions configured to store data encoded in a first encoding format and having a first storage density) of a plurality of non-volatile memory portions of a storage device. In response to detecting the trigger condition and in accordance with a first determination that a projected amount of over-provisioning (e.g., corresponding to over-provisioning for the storage device after reconfiguring the one or more non-volatile memory portions to store data encoded in a second encoding format and having a second storage density) meets predefined over-provisioning criteria, the method includes reconfiguring the one or more non-volatile memory portions to store data encoded in the second encoding format.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of operation in a storage device that comprises a storage controller and a plurality of non-volatile memory portions in one or more memory devices, the method comprising: at the storage controller, the storage controller having one or more physical processors and memory: detecting a trigger condition with respect to one or more non-volatile memory portions of the plurality of non-volatile memory portions, wherein the one or more non-volatile memory portions are configured to store data encoded in a first encoding format and having a first storage density corresponding to the first encoding format; in response to detecting the trigger condition, and in accordance with a first determination that a projected amount of over-provisioning meets predefined over-provisioning criteria, where the projected amount of over-provisioning corresponds to over-provisioning for the storage device after reconfiguring the one or more non-volatile memory portions of the storage device to store data encoded in a second encoding format and having a second storage density corresponding to the second encoding format, reconfiguring the one or more non-volatile memory portions of the storage device to store data encoded in the second encoding format and having the second storage density. 2. The method of claim 1 , wherein the second storage density is a lower storage density than the first storage density, and the storage device has reduced over-provisioning after the reconfiguring. 3. The method of claim 1 , further comprising: determining a current endurance metric for the plurality of non-volatile memory portions of the storage device; and determining an estimated endurance metric for the plurality of non-volatile memory portions of the storage device, corresponding to an estimated endurance for the plurality of non-volatile memory portions of the storage device after the reconfiguring; and wherein reconfiguring the one or more non-volatile memory portions of the storage device further comprises: reconfiguring the one or more non-volatile memory portions of the storage device to store data encoded in the second encoding format and having the second storage density in accordance with the first determination that the projected amount of over-provisioning meets the predefined over-provisioning criteria and in accordance with a second determination that the estimated endurance metric comprises an improvement over the current endurance metric in accordance with predefined endurance improvement criteria. 4. The method of claim 3 , wherein the current endurance metric for the plurality of non-volatile memory portions corresponds to an average value of an endurance metric with respect to the plurality of non-volatile memory portions, and the estimated endurance metric for the plurality of non-volatile memory portions of the storage device corresponds to a projected average value of the endurance metric with respect to the plurality of non-volatile memory portions after the reconfiguring. 5. The method of claim 4 , wherein the endurance metric with respect to a single memory portion of the plurality of non-volatile memory portions is a value corresponding to a projected number of write operations that can be performed, prior to end of life, by the single memory portion, or a projected number of program/erase cycles that can be performed, prior to end of life, by the single memory portion. 6. The method of claim 1 , further comprising: maintaining one or more status metrics for each memory portion of the plurality of non-volatile memory portions of the storage device, wherein a respective status metric for a respective memory portion corresponds to the respective memory portion's ability to retain data; wherein detecting the trigger condition comprises: in accordance with a determination that at least one of the one or more status metrics for the one or more non-volatile memory portions of the storage device satisfies a threshold, detecting the trigger condition as to the one or more non-volatile memory portions of the storage device. 7. The method of claim 1 , further comprising: maintaining one or more status metrics for each of the one or more memory devices, wherein a first status metric of the one or more status metrics corresponds to a respective memory device's ability to retain data; and in accordance with a determination that the one or more status metrics for a respective memory device of the one or more memory devices satisfy one or more end-of-life criteria, operating the respective memory device in read-only mode. 8. The method of claim 1 , wherein the one or more memory devices comprise one or more flash memory devices. 9. The method of claim 1 , wherein the projected amount of over-provisioning comprises a first quantity of storage units in the storage device, comprising mapped storage units remaining after reconfiguring the one or more non-volatile memory portions and unmapped storage units that are usable for storing data and that are remaining after reconfiguring the one or more non-volatile memory portions, and subtracting from the first quantity a quantity corresponding to a declared storage capacity of the storage device. 10. A storage device, comprising: a set of one or more non-volatile memory devices, the set of one or more non-volatile memory devices including a plurality of non-volatile memory portions; and a storage controller, the storage controller including one or more controller modules configured to: detect a trigger condition with respect to one or more non-volatile memory portions of the storage device, wherein the one or more non-volatile memory portions are configured to store data encoded in a first encoding format and having a first storage density corresponding to the first encoding format; and in response to detecting the trigger condition, and in accordance with a first determination that a projected amount of over-provisioning meets predefined over-provisioning criteria, where the projected amount of over-provisioning corresponds to over-provisioning for the storage device after reconfiguring the one or more non-volatile memory portions of the storage device to store data encoded in a second encoding format and having a second storage density corresponding to the second encoding format, reconfigure the one or more non-volatile memory portions of the storage device to store data encoded in the second encoding format and having the second storage density. 11. The storage device of claim 10 , wherein the one or more controller modules include: a trigger condition detection module to detect the trigger condition; and a reconfiguration module to reconfigure the one or more non-volatile memory portions of the storage device in response to the trigger condition and in accordance with the first determination. 12. The storage device of claim 11 , wherein the one or more controller modules further include an over-provisioning module to determine the projected amount of over-provisioning remaining for the storage device after reconfiguring the one or more non-volatile memory portions of the storage device to store data encoded in the second encoding format and having the second storage density. 13. The storage device of claim 10 , wherein the projected amount of over-provisioning meets the predefined over-provisioning criteria only when the projected amount of over-provisioning is greater than a predetermined minimum amount of over-provisioning for the storage device. 14. The storage device of claim 10 , wherein the second storage density is a lower storage density than the first storage density

Assignees

Inventors

Classifications

  • G06F12/02Primary

    Addressing or allocation; Relocation (program address sequencing G06F9/00; arrangements for selecting an address in a digital store G11C8/00) · CPC title

  • Non-volatile semiconductor memory arrays · CPC title

  • G06F3/0616Primary

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

  • Management of space entities, e.g. partitions, extents, pools · CPC title

  • Configuration or reconfiguration of storage systems · 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 US9606737B2 cover?
Systems, methods, and/or devices are used to implement variable bit encoding per NAND flash cell to extend life of flash-based storage devices and preserve over-provisioning. In some embodiments, the method includes detecting a trigger condition with respect to one or more non-volatile memory portions (e.g., portions configured to store data encoded in a first encoding format and having a first…
Who is the assignee on this patent?
Sandisk Entpr Ip Llc, Sandisk Technologies Llc
What technology area does this patent fall under?
Primary CPC classification G06F12/02. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Mar 28 2017 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).