Cyclic flash memory wear leveling
First Claim
1. A method of operating a system of erasable and re-programmable non-volatile memory cells organized into a plurality of physical blocks of a minimum number of memory cells that are simultaneously erasable and wherein incoming data are programmed into those of the plurality of physical blocks maintained as an erased block pool, comprising:
- identifying at least one of the plurality of physical blocks at a time other than those in the erased block pool for a wear leveling exchange,monitoring an operational parameter associated with programming data into those of the plurality of physical blocks maintained as an erased block pool, andin response to the monitored operational parameter reaching a preset threshold, exchanging the identified at least one of the plurality of physical blocks with a corresponding number of at least one of the physical blocks within the erased block pool, wherein monitoring the operational parameter includes monitoring a number of one or more times that erased pool blocks have been programmed with data since a previous wear leveling exchange, and wherein said method additionally comprises maintaining within the system indications of an average number of erase cycles individually experienced by the plurality of physical blocks, and wherein said exchanging occurs when a number of erase cycles experienced by the erased pool blocks exceeds said average number of erase cycles experienced by the plurality of physical blocks by a preset difference, wherein said preset difference is a positive number or zero.
3 Assignments
0 Petitions
Accused Products
Abstract
A re-programmable non-volatile memory system, such as a flash EEPROM system, having its memory cells grouped into blocks of cells that are simultaneously erasable is operated in a manner to level out the wear of the individual blocks through repetitive erasing and re-programming. This may be accomplished without use of counts of the number of times the individual blocks experience erase and re-programming but such counts can optionally aid in carrying out the wear leveling process. Individual active physical blocks are chosen to be exchanged with those of an erased block pool in a predefined order.
-
Citations
1 Claim
-
1. A method of operating a system of erasable and re-programmable non-volatile memory cells organized into a plurality of physical blocks of a minimum number of memory cells that are simultaneously erasable and wherein incoming data are programmed into those of the plurality of physical blocks maintained as an erased block pool, comprising:
-
identifying at least one of the plurality of physical blocks at a time other than those in the erased block pool for a wear leveling exchange, monitoring an operational parameter associated with programming data into those of the plurality of physical blocks maintained as an erased block pool, and in response to the monitored operational parameter reaching a preset threshold, exchanging the identified at least one of the plurality of physical blocks with a corresponding number of at least one of the physical blocks within the erased block pool, wherein monitoring the operational parameter includes monitoring a number of one or more times that erased pool blocks have been programmed with data since a previous wear leveling exchange, and wherein said method additionally comprises maintaining within the system indications of an average number of erase cycles individually experienced by the plurality of physical blocks, and wherein said exchanging occurs when a number of erase cycles experienced by the erased pool blocks exceeds said average number of erase cycles experienced by the plurality of physical blocks by a preset difference, wherein said preset difference is a positive number or zero.
-
Specification