Preventive measures for adaptive flash tuning
First Claim
1. A flash memory controller that controls the operation of one or more flash memory chips, each chip including one or more LUNs, and each LUN including one or more blocks of flash memory and one or more control registers storing operating parameters associated with that LUN, the flash memory controller comprising:
- (a) a health metric interrupt module that;
(i) monitors a plurality of wear indicators that evidence degradation of the flash memory over time, wherein one of the plurality of wear indicators is a current cumulative number of program/erase cycles performed by the flash memory controller during the operational lifetime of the one or more flash memory chips,(ii) generates a plurality of health metrics by analyzing and quantifying the plurality of wear indicators over time,(iii) detects a plurality of threshold violations, wherein a threshold violation occurs when a function of a subset of the plurality of health metrics exceeds a predefined threshold, and(iv) issues a threshold violation interrupt upon detection of a threshold violation, and includes, with the threshold violation interrupt, health metric data pertaining to the associated threshold violation;
and(b) an inference engine that, in response to each threshold violation interrupt,(i) generates one or more conditions based upon an analysis of (1) the health metric data pertaining to the associated threshold violation, and (2) historical health metric data pertaining to previous threshold violations, and(ii) employs one or more preventive measures, based upon the conditions generated over time in response to threshold violation interrupts, to reduce the rate of degradation of the flash memory over time, and thereby extend the operational lifetime of the one or more flash memory chips.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention includes embodiments of systems and methods for increasing the operational efficiency and extending the estimated operational lifetime of a flash memory storage device (and its component flash memory chips, LUNs and blocks of flash memory) by monitoring the health of the device and its components and, in response, adaptively tuning the operating parameters of flash memory chips during their operational lifetime, as well as employing other less extreme preventive measures in the interim, via an interface that avoids the need for direct access to the test modes of the flash memory chips. In an offline characterization phase, “test chips” from a batch of recently manufactured flash memory chips are used to simulate various usage scenarios and measure the performance effects of writing and attempting to recover (read) test patterns written with different sets of operating parameters over time (simulating desired retention periods).
4 Citations
44 Claims
-
1. A flash memory controller that controls the operation of one or more flash memory chips, each chip including one or more LUNs, and each LUN including one or more blocks of flash memory and one or more control registers storing operating parameters associated with that LUN, the flash memory controller comprising:
-
(a) a health metric interrupt module that; (i) monitors a plurality of wear indicators that evidence degradation of the flash memory over time, wherein one of the plurality of wear indicators is a current cumulative number of program/erase cycles performed by the flash memory controller during the operational lifetime of the one or more flash memory chips, (ii) generates a plurality of health metrics by analyzing and quantifying the plurality of wear indicators over time, (iii) detects a plurality of threshold violations, wherein a threshold violation occurs when a function of a subset of the plurality of health metrics exceeds a predefined threshold, and (iv) issues a threshold violation interrupt upon detection of a threshold violation, and includes, with the threshold violation interrupt, health metric data pertaining to the associated threshold violation; and (b) an inference engine that, in response to each threshold violation interrupt, (i) generates one or more conditions based upon an analysis of (1) the health metric data pertaining to the associated threshold violation, and (2) historical health metric data pertaining to previous threshold violations, and (ii) employs one or more preventive measures, based upon the conditions generated over time in response to threshold violation interrupts, to reduce the rate of degradation of the flash memory over time, and thereby extend the operational lifetime of the one or more flash memory chips. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for controlling the operation of one or more flash memory chips, each chip including one or more LUNs, and each LUN including one or more blocks of flash memory and one or more control registers storing operating parameters associated with that LUN, the method comprising the following steps:
-
(a) monitoring a plurality of wear indicators that evidence degradation of the flash memory over time, wherein one of the plurality of wear indicators is a current cumulative number of program/erase cycles performed during the operational lifetime of the one or more flash memory chips; (b) generating a plurality of health metrics by analyzing and quantifying the plurality of wear indicators over time; (c) detecting a plurality of threshold violations, wherein a threshold violation occurs when a function of a subset of the plurality of health metrics exceeds a predefined threshold; (d) issuing a threshold violation interrupt upon detection of a threshold violation, and including, with the threshold violation interrupt, health metric data pertaining to the associated threshold violation; and (e) in response to each threshold violation interrupt; (i) generating one or more conditions based upon an analysis of (1) the health metric data pertaining to the associated threshold violation, and (2) historical health metric data pertaining to previous threshold violations, and (ii) employing one or more preventive measures, based upon the conditions generated over time in response to threshold violation interrupts, to reduce the rate of degradation of the flash memory over time, and thereby extend the operational lifetime of the one or more flash memory chips. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A flash memory controller that controls the operation of one or more flash memory chips, each chip including one or more LUNs, and each LUN including one or more blocks of flash memory and one or more control registers storing operating parameters associated with that LUN, the flash memory controller comprising:
-
(a) an operating parameter database that stores, with respect to each LUN of the one or more flash memory chips, a plurality of sets of operating parameters, each set of operating parameters corresponding to a health stage representing an estimated level of degradation of the flash memory within that LUN; (b) a health metric interrupt module that; (i) monitors a plurality of wear indicators that evidence degradation of the flash memory over time, wherein one of the plurality of wear indicators is a current cumulative number of program/erase cycles performed by the flash memory controller during the operational lifetime of the one or more flash memory chips, (ii) generates a plurality of health metrics by analyzing and quantifying the plurality of wear indicators over time, (iii) detects a plurality of threshold violations, wherein a threshold violation occurs when a function of a subset of the plurality of health metrics exceeds a predefined threshold, and (iv) issues a threshold violation interrupt upon detection of a threshold violation, and includes, with the threshold violation interrupt, health metric data pertaining to the associated threshold violation; and (c) an inference engine that, in response to each threshold violation interrupt, (i) generates one or more conditions based upon an analysis of (1) the health metric data pertaining to the associated threshold violation, and (2) historical health metric data pertaining to previous threshold violations, (ii) determines whether the conditions generated over time in response to threshold violation interrupts warrant transitioning a LUN from a current health stage to a subsequent health stage, (iii) if the conditions do warrant transitioning the LUN to a subsequent health stage, replaces the contents of the LUN'"'"'s control registers with the set of operating parameters corresponding to the subsequent health stage, and (iv) if the conditions do not warrant transitioning the LUN to a subsequent health stage, employs one or more less extreme preventive measures to reduce the rate of degradation of the flash memory over time during the current health stage, and thereby extend the operational lifetime of the one or more flash memory chips. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method for controlling the operation of one or more flash memory chips, each chip including one or more LUNs, and each LUN including one or more blocks of flash memory and one or more control registers storing operating parameters associated with that LUN, the method comprising the following steps:
-
(a) storing, with respect to each LUN of the one or more flash memory chips, a plurality of sets of operating parameters, each set of operating parameters corresponding to a health stage representing an estimated level of degradation of the flash memory within that LUN; (b) monitoring a plurality of wear indicators that evidence degradation of the flash memory over time, wherein one of the plurality of wear indicators is a current cumulative number of program/erase cycles performed during the operational lifetime of the one or more flash memory chips; (c) generating a plurality of health metrics by analyzing and quantifying the plurality of wear indicators over time; (d) detecting a plurality of threshold violations, wherein a threshold violation occurs when a function of a subset of the plurality of health metrics exceeds a predefined threshold; (e) issuing a threshold violation interrupt upon detection of a threshold violation, and including, with the threshold violation interrupt, health metric data pertaining to the associated threshold violation; and (f) in response to each threshold violation interrupt, (i) generating one or more conditions based upon an analysis of (1) the health metric data pertaining to the associated threshold violation, and (2) historical health metric data pertaining to previous threshold violations, (ii) determining whether the conditions generated over time in response to threshold violation interrupts warrant transitioning a LUN from a current health stage to a subsequent health stage, (iii) if the conditions do warrant transitioning the LUN to a subsequent health stage, replacing the contents of the LUN'"'"'s control registers with the set of operating parameters corresponding to the subsequent health stage, and (iv) if the conditions do not warrant transitioning the LUN to a subsequent health stage, employing one or more less extreme preventive measures to reduce the rate of degradation of the flash memory over time during the current health stage, and thereby extend the operational lifetime of the one or more flash memory chips. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
Specification