Variable Bit Encoding Per NAND Flash Cell to Extend Life of Flash-Based Storage Devices and Preserve Over-Provisioning
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 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.
3 Assignments
0 Petitions
Accused Products
Abstract
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.
-
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 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
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. - View Dependent Claims (11, 12, 13, 14, 15, 16, 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:
-
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, 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.
-
Specification