System and methods for dynamic erase and program control for flash memory device memories
First Claim
Patent Images
1. A non-transitory computer readable medium for flash memory device parameter optimization, the non-transitory computer readable medium stores instructions for:
- receiving or generating an estimate of a wear level of at least one group of flash memory cells of the flash memory device;
finding erase parameters and programming parameters to be applied on one or more groups of flash memory cells of the flash memory device in response to estimate the wear level;
wherein the finding comprises evaluating a plurality of sets of evaluated parameters that differ from each other by a value of at least one parameter, wherein each one of the plurality of sets of evaluated parameters comprise at least one out of a set of erase parameters and a set of programming parameters;
wherein the non-transitory computer readable medium further stores instructions for executing at least one out of;
(a) ignoring sets of erase parameters that once applied result in an average duration of erase operations that exceeds an erase duration threshold,(b) ignoring sets of programming parameters that once applied result in an average duration of programming operations that exceeds a programming duration threshold,(c) selecting a set of evaluated parameters that once applied results in a higher bit error rate at low wear levels and a lower increment rate of bit error rates per wear level in relation to at least one other set of evaluated parameters,(d) selecting a set of evaluated parameters that once applied results in (i) a higher bit error rate and a lower programming duration at low wear levels and (ii) a lower increment rate of bit error rates per wear level in relation to at least one other set of evaluated parameters, and(e) selecting a set of evaluated parameters that once applied results in a higher bit error rate at low wear levels and at a lower increment rate of bit error rates per wear level in relation to a reference set of parameters that is expected to be applied regardless of a wear level of the at least one group of flash memory cells.
9 Assignments
0 Petitions
Accused Products
Abstract
A computer readable medium, a system and a method for flash memory device parameter optimization, the method may include: receiving or generating an estimate of a wear level of at least one group of flash memory cells of the flash memory device, and finding erase parameters and programming parameters to be applied on one or more groups of flash memory cells of the flash memory device in response to estimate of the wear level.
-
Citations
43 Claims
-
1. A non-transitory computer readable medium for flash memory device parameter optimization, the non-transitory computer readable medium stores instructions for:
- receiving or generating an estimate of a wear level of at least one group of flash memory cells of the flash memory device;
finding erase parameters and programming parameters to be applied on one or more groups of flash memory cells of the flash memory device in response to estimate the wear level;wherein the finding comprises evaluating a plurality of sets of evaluated parameters that differ from each other by a value of at least one parameter, wherein each one of the plurality of sets of evaluated parameters comprise at least one out of a set of erase parameters and a set of programming parameters; wherein the non-transitory computer readable medium further stores instructions for executing at least one out of; (a) ignoring sets of erase parameters that once applied result in an average duration of erase operations that exceeds an erase duration threshold, (b) ignoring sets of programming parameters that once applied result in an average duration of programming operations that exceeds a programming duration threshold, (c) selecting a set of evaluated parameters that once applied results in a higher bit error rate at low wear levels and a lower increment rate of bit error rates per wear level in relation to at least one other set of evaluated parameters, (d) selecting a set of evaluated parameters that once applied results in (i) a higher bit error rate and a lower programming duration at low wear levels and (ii) a lower increment rate of bit error rates per wear level in relation to at least one other set of evaluated parameters, and (e) selecting a set of evaluated parameters that once applied results in a higher bit error rate at low wear levels and at a lower increment rate of bit error rates per wear level in relation to a reference set of parameters that is expected to be applied regardless of a wear level of the at least one group of flash memory cells. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
- receiving or generating an estimate of a wear level of at least one group of flash memory cells of the flash memory device;
-
34. A non-transitory computer readable medium for flash memory device parameter optimization, the non-transitory computer readable medium stores instructions for:
- receiving or generating an estimate of a wear level of at least one group of flash memory cells of the flash memory device;
finding erase parameters and programming parameters to be applied on one or more groups of flash memory cells of the flash memory device in response to estimate the wear level;wherein the finding comprises evaluating a plurality of sets of evaluated parameters that differ from each other by a value of at least one parameter, wherein each one of the plurality of sets of evaluated parameters comprise at least one out of a set of erase parameters and a set of programming parameters; wherein possible values of the estimate of the wear level belong to a range of wear levels that comprises multiple non-overlapping sub-ranges of wear levels; wherein the finding is executed at least once for each one for each sub-range of wear levels. - View Dependent Claims (35, 36, 37)
- receiving or generating an estimate of a wear level of at least one group of flash memory cells of the flash memory device;
-
38. A non-transitory computer readable medium for flash memory device parameter optimization, the non-transitory computer readable medium stores instructions for:
- receiving or generating an estimate of a wear level of at least one group of flash memory cells of the flash memory device;
finding erase parameters and programming parameters to be applied on one or more groups of flash memory cells of the flash memory device in response to estimate the wear level;wherein the finding comprises evaluating a plurality of sets of evaluated parameters that differ from each other by a value of at least one parameter, wherein each one of the plurality of sets of evaluated parameters comprise at least one out of a set of erase parameters and a set of programming parameters; wherein the finding comprising repetitively programming same information to multiple groups of flash memory cells while applying different sets of programming parameters that differ from each other. - View Dependent Claims (39)
- receiving or generating an estimate of a wear level of at least one group of flash memory cells of the flash memory device;
-
40. A non-transitory computer readable medium for flash memory device parameter optimization, the non-transitory computer readable medium stores instructions for receiving or generating an estimate of a wear level of at least one group of flash memory cells of the flash memory device;
- finding erase parameters and programming parameters to be applied on one or more groups of flash memory cells of the flash memory device in response to estimate the wear level;
wherein the finding comprises evaluating a plurality of sets of evaluated parameters that differ from each other by a value of at least one parameter, wherein each one of the plurality of sets of evaluated parameters comprise at least one out of a set of erase parameters and a set of programming parameters; wherein the finding comprising repetitively programming same pilot information to multiple groups of flash memory cells while applying different sets of programming parameters that differ from each other.
- finding erase parameters and programming parameters to be applied on one or more groups of flash memory cells of the flash memory device in response to estimate the wear level;
-
41. A non-transitory computer readable medium for flash memory device parameter optimization, the non-transitory computer readable medium stores instructions for receiving or generating an estimate of a wear level of at least one group of flash memory cells of the flash memory device;
- finding erase parameters and programming parameters to be applied on one or more groups of flash memory cells of the flash memory device in response to estimate the wear level;
wherein the finding comprises evaluating a plurality of sets of evaluated parameters that differ from each other by a value of at least one parameter, wherein each one of the plurality of sets of evaluated parameters comprise at least one out of a set of erase parameters and a set of programming parameters; evaluating a first set of evaluated parameters;
calculating a first score;
changing a single parameter of the first set to provide a second set of evaluated parameters that comprises a single changed parameter;
wherein the changing is performed along a first change direction;
evaluating the second set of evaluated parameters;
calculating a second score;
determining, in response to the first and second scores, whether the first set of evaluated parameters achieves better results than the second set of evaluated parameters;
if it is determined that the first set of evaluated parameters achieves better results than the second set of evaluated parameters then changing the single changed parameter along a second change direction that differs from the first change direction to provide a third set of evaluated parameters;
if it is determined that the first set of evaluated parameters achieves worse results than the second set of evaluated parameters then changing the single changed parameter along the first direction to provide the third set of evaluated parameters.
- finding erase parameters and programming parameters to be applied on one or more groups of flash memory cells of the flash memory device in response to estimate the wear level;
-
42. A method for flash memory device parameter optimization, the method comprises:
-
receiving or generating an estimate of a wear level of at least one group of flash memory cells of the flash memory device; and finding erase parameters and programming parameters to be applied on one or more groups of flash memory cells of the flash memory device in response to estimate of the wear level;
wherein the finding comprises evaluating a plurality of sets of evaluated parameters that differ from each other by a value of at least one parameter, wherein each one of the plurality of sets of evaluated parameters comprise at least one out of a set of erase parameters and a set of programming parameters;wherein the method comprises at least one out of; (a) ignoring sets of erase parameters that once applied result in an average duration of erase operations that exceeds an erase duration threshold, (b) ignoring sets of programming parameters that once applied result in an average duration of programming operations that exceeds a programming duration threshold, (c) selecting a set of evaluated parameters that once applied results in a higher bit error rate at low wear levels and a lower increment rate of bit error rates per wear level in relation to at least one other set of evaluated parameters, (d) selecting a set of evaluated parameters that once applied results in (i) a higher bit error rate and a lower programming duration at low wear levels and (ii) a lower increment rate of bit error rates per wear level in relation to at least one other set of evaluated parameters, and (e) selecting a set of evaluated parameters that once applied results in a higher bit error rate at low wear levels and at a lower increment rate of bit error rates per wear level in relation to a reference set of parameters that is expected to be applied regardless of a wear level of the at least one group of flash memory cells.
-
-
43. A flash memory controller that is arranged to receive or generate an estimate of a wear level of at least one group of flash memory cells of the flash memory device;
- and find erase parameters and programming parameters to be applied on one or more groups of flash memory cells of the flash memory device in response to estimate of the wear level;
wherein the flash memory controller is arranged to find the erase parameters and the programming parameters by evaluating a plurality of sets of evaluated parameters that differ from each other by a value of at least one parameter, wherein each one of the plurality of sets of evaluated parameters comprise at least one out of a set of erase parameters and a set of programming parameters;
wherein the flash memory controller is arranged perform at least one out of;
(a) ignore sets of erase parameters that once applied result in an average duration of erase operations that exceeds an erase duration threshold, (b) ignore sets of programming parameters that once applied result in an average duration of programming operations that exceeds a programming duration threshold, (c) select a set of evaluated parameters that once applied results in a higher bit error rate at low wear levels and a lower increment rate of bit error rates per wear level in relation to at least one other set of evaluated parameters, (d) select a set of evaluated parameters that once applied results in (i) a higher bit error rate and a lower programming duration at low wear levels and (ii) a lower increment rate of bit error rates per wear level in relation to at least one other set of evaluated parameters, and (e) select a set of evaluated parameters that once applied results in a higher bit error rate at low wear levels and at a lower increment rate of bit error rates per wear level in relation to a reference set of parameters that is expected to be applied regardless of a wear level of the at least one group of flash memory cells.
- and find erase parameters and programming parameters to be applied on one or more groups of flash memory cells of the flash memory device in response to estimate of the wear level;
Specification