Variable Bit Encoding Per NAND Flash Cell to Improve Device Endurance and Extend Life of Flash-Based Storage Devices
First Claim
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 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;
in accordance with detecting the trigger condition;
determining a current endurance metric for the plurality of non-volatile memory portions of the storage device;
determining an estimated endurance metric for the plurality of non-volatile memory portions of the storage device, the estimated endurance metric corresponding to an estimated endurance for the plurality of non-volatile memory portions of the storage device after a reconfiguration of the one or more non-volatile memory portions of the storage device to store data encode in a second encoding format and having a second storage density; and
in accordance with a determination that reconfiguration criteria are satisfied, 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, the reconfiguration criteria including a determination that the estimated endurance metric comprises an improvement over the current endurance metric in accordance with predefined endurance improvement criteria.
3 Assignments
0 Petitions
Accused Products
Abstract
Systems, methods, and/or devices are used to implement variable bit encoding to improve device endurance and extend life of storage devices. 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) of a plurality of non-volatile memory portions of a storage device. In accordance with detecting the trigger condition, the method includes: determining a current and an estimated endurance metric for the plurality of non-volatile memory portions (e.g., corresponding to estimated endurance after reconfiguration of the one or more portions to store data encoded in a second encoding format), and in accordance with a determination that reconfiguration criteria are satisfied (e.g., the estimated endurance metric comprises an improvement over the current endurance metric), reconfiguring the one or more portions to store data encoded in the second encoding format.
102 Citations
20 Claims
-
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 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; in accordance with detecting the trigger condition; determining a current endurance metric for the plurality of non-volatile memory portions of the storage device; determining an estimated endurance metric for the plurality of non-volatile memory portions of the storage device, the estimated endurance metric corresponding to an estimated endurance for the plurality of non-volatile memory portions of the storage device after a reconfiguration of the one or more non-volatile memory portions of the storage device to store data encode in a second encoding format and having a second storage density; and in accordance with a determination that reconfiguration criteria are satisfied, 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, the reconfiguration criteria including a determination that the estimated endurance metric comprises an improvement over the current endurance metric in accordance with predefined endurance improvement criteria. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
8. 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 determine an estimated endurance metric for the plurality of non-volatile memory portions of the storage device, the estimated endurance metric corresponding to an estimated endurance for the plurality of non-volatile memory portions of the storage device after a reconfiguration of 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; and reconfigure, in accordance with a determination that reconfiguration criteria are satisfied, 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, the reconfiguration criteria including a determination that the estimated endurance metric comprises an improvement over the current endurance metric in accordance with predefined endurance improvement criteria. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
-
16. A non-transitory computer readable storage medium, storing one or more programs configured for execution by one or more processors of a storage device having 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 one or more programs including instructions that when executed by the one or more processors cause the storage device 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 determine an estimated endurance metric for the plurality of non-volatile memory portions of the storage device, the estimated endurance metric corresponding to an estimated endurance for the plurality of non-volatile memory portions of the storage device after a reconfiguration of 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; and reconfigure, in accordance with a determination that reconfiguration criteria are satisfied, 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, the reconfiguration criteria including a determination that the estimated endurance metric comprises an improvement over the current endurance metric in accordance with predefined endurance improvement criteria. - View Dependent Claims (17, 18, 19, 20)
-
Specification