Adaptive Flash Tuning
First Claim
1. A flash memory drive comprising:
- (a) one or more flash memory chips, each chip including one or more LUNs, and each LUN including one or flash memory blocks and one or more control registers storing operating parameters associated with that LUN; and
(b) a flash controller, external to the one or more flash memory chips, that issues read, write and erase controller memory commands to the flash memory chips during the operational lifetime of the flash memory drive, wherein(i) each of the flash memory chips implements the controller memory commands by applying varying levels of electrical stimuli to the flash memory blocks in a LUN in accordance with current values of the operating parameters associated with that LUN; and
(ii) the flash controller, over time during the operational lifetime of the flash memory drive,(1) monitors health metrics, including a cumulative number of program/erase cycles and one or more other indicators of wear of the flash memory blocks in that LUN; and
(2) modifies, in response to the monitored health metrics, the values of one or more of the operating parameters associated with that LUN.
6 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).
86 Citations
20 Claims
-
1. A flash memory drive comprising:
-
(a) one or more flash memory chips, each chip including one or more LUNs, and each LUN including one or flash memory blocks and one or more control registers storing operating parameters associated with that LUN; and (b) a flash controller, external to the one or more flash memory chips, that issues read, write and erase controller memory commands to the flash memory chips during the operational lifetime of the flash memory drive, wherein (i) each of the flash memory chips implements the controller memory commands by applying varying levels of electrical stimuli to the flash memory blocks in a LUN in accordance with current values of the operating parameters associated with that LUN; and (ii) the flash controller, over time during the operational lifetime of the flash memory drive, (1) monitors health metrics, including a cumulative number of program/erase cycles and one or more other indicators of wear of the flash memory blocks in that LUN; and (2) modifies, in response to the monitored health metrics, the values of one or more of the operating parameters associated with that LUN. - View Dependent Claims (2, 3, 4, 6, 7, 8, 9, 10)
-
-
5. A flash memory drive comprising:
-
(a) one or more flash memory chips, each chip including one or more LUNs, and each LUN including one or flash memory blocks and one or more control registers storing operating parameters associated with that LUN; and (b) a flash controller, external to the one or more flash memory chips, that issues read, write and erase controller memory commands to the flash memory chips during the operational lifetime of the flash memory drive, wherein (i) each of the flash memory chips implements the controller memory commands by applying varying levels of electrical stimuli to the flash memory blocks in a LUN in accordance with current values of the operating parameters associated with that LUN; and (ii) the flash controller, over time during the operational lifetime of the flash memory drive, (1) monitors health metrics, including a cumulative number of program/erase cycles and one or more other indicators of wear of the flash memory blocks in that LUN; and (2) employs one or more preventive measures, in response to the monitored health metrics, to reduce the rate of wear of one or more flash memory blocks in that LUN.
-
-
11. A method for increasing the operational lifetime of a flash memory drive, wherein the flash memory drive includes one or more flash memory chips, each chip includes one or more LUNs, and each LUN includes one or flash memory blocks and one or more control registers storing operating parameters associated with that LUN, the method comprising the following steps:
-
(a) issuing, from a flash controller, external to the one or more flash memory chips, read, write and erase controller memory commands to the flash memory chips during the operational lifetime of the flash memory drive; (b) implementing the controller memory commands by applying varying levels of electrical stimuli to the flash memory blocks in a LUN in accordance with current values of the operating parameters associated with that LUN; (c) monitoring health metrics over time during the operational lifetime of the flash memory drive, wherein the health metrics include a cumulative number of program/erase cycles and one or more other indicators of wear of the flash memory blocks in that LUN; and (d) modifying, in response to the monitored health metrics, the values of one or more of the operating parameters associated with that LUN. - View Dependent Claims (12, 13, 14)
-
-
15. A method for increasing the operational lifetime of a flash memory drive, wherein the flash memory drive includes one or more flash memory chips, each chip includes one or more LUNs, and each LUN includes one or flash memory blocks and one or more control registers storing operating parameters associated with that LUN, the method comprising the following steps:
-
(a) issuing, from a flash controller, external to the one or more flash memory chips, read, write and erase controller memory commands to the flash memory chips during the operational lifetime of the flash memory drive; (b) implementing the controller memory commands by applying varying levels of electrical stimuli to the flash memory blocks in a LUN in accordance with current values of the operating parameters associated with that LUN; (c) monitoring health metrics over time during the operational lifetime of the flash memory drive, wherein the health metrics include a cumulative number of program/erase cycles and one or more other indicators of wear of the flash memory blocks in that LUN; and (d) employing one or more preventive measures, in response to the monitored health metrics, to reduce the rate of wear of one or more flash memory blocks in that LUN. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification