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;
determining a current endurance metric for the plurality of non-volatile memory portions of the storage device, wherein at least a first subset of the plurality of non-volatile memory portions are configured to store data encoded in a first encoding format and have a first storage density corresponding to the first encoding formatdetermining 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 first subset of the plurality of non-volatile memory portions of the storage device to store data encoded in a second encoding format and having a second storage density; and
in accordance with a determination that reconfiguration criteria are satisfied, reconfiguring the first subset of the plurality of 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.
0 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 determining a current endurance metric for a plurality of non-volatile memory portions configured to store data encoded in a first encoding format and determining 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.
3 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; determining a current endurance metric for the plurality of non-volatile memory portions of the storage device, wherein at least a first subset of the plurality of non-volatile memory portions are configured to store data encoded in a first encoding format and have a first storage density corresponding to the first encoding format 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 first subset of the plurality of non-volatile memory portions of the storage device to store data encoded in a second encoding format and having a second storage density; and in accordance with a determination that reconfiguration criteria are satisfied, reconfiguring the first subset of the plurality of 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; determine a current endurance metric for the plurality of non-volatile memory portions of the storage device, wherein at least a first subset of the plurality of non-volatile memory portions are configured to store data encoded in a first encoding format and have a first storage density corresponding to the first encoding format 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 first subset of the plurality of non-volatile memory portions of the storage device to store data encoded in a second encoding format and having a second storage density; and in accordance with a determination that reconfiguration criteria are satisfied, reconfigure the first subset of the plurality of 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 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; metric maintaining means for determining a current endurance metric for the plurality of non-volatile memory portions of the storage device, wherein at least a first subset of the plurality of non-volatile memory portions are configured to store data encoded in a first encoding format and have a first storage density corresponding to the first encoding format, and for 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 first subset of the plurality of non-volatile memory portions of the storage device to store data encoded in a second encoding format and having a second storage density; and reconfiguration means, enabled in accordance with a determination that reconfiguration criteria are satisfied, for reconfiguring the first subset of the plurality of 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. 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:
determine a current endurance metric for the plurality of non-volatile memory portions of the storage device, wherein at least a first subset of the plurality of non-volatile memory portions are configured to store data encoded in a first encoding format and have a first storage density corresponding to the first encoding format 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 first subset of the plurality of non-volatile memory portions of the storage device to store data encoded in a second encoding format and having a second storage density; and in accordance with a determination that reconfiguration criteria are satisfied, reconfigure the first subset of the plurality of 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.
Specification