Flash EEPROM system cell array with defect management including an error correction scheme
First Claim
1. In an integrated circuit memory system including an array of non-volatile floating gate memory cells wherein individual cells are addressable for programming and reading their states, a method of operating said memory system, comprising:
- providing a plurality of distinct blocks of said memory cells, wherein the cells of the individual blocks are erasable together,performing an erase operation upon the memory cells within at least one block,after the erase operation is performed, determining whether there are any unerased cells within said at least one block and, if so, a number of such unerased cells,comparing the number of unerased cells with a permitted number, said permitted number being substantially the maximum number of cells whose data, if bad, are correctable by an error correction scheme,if the number of unerased cells within said at least one block is less than said permitted number, reprogramming memory cells within the erased at least one block with new data, andif the number of unerased cells within said at least one block is greater than said permitted number, substituting other redundant memory cells for the unerased memory cells.
3 Assignments
0 Petitions
Accused Products
Abstract
A memory system made up of electrically programmable read only memory (EPROM) or flash electrically erasable and programmable read only memory (EEPROM) cells. An intelligent programming technique allows each memory cell to store more than the usual one bit of information. More than one bit is stored in a cell by establishing more than two distinct threshold states into which the cell is programmed. A series of pulses of increasing voltage is applied to each addressed memory cell during its programming, the state of the cell being read in between pulses. The pulses are terminated upon the addressed cell reaching its desired state or a preset maximum number of pulses has been reached. An intelligent erase algorithm prolongs the useful life of the memory cells. A series of pulses is also applied to a block of cells being erased, the state of at least a sample number of cells being read in between pulses. The erasing process is stopped when the cells being read are determined to have reached a fully erased state or one of a number of other conditions has occured. Individual records of the number of erase cycles experienced by blocks of flash EEPROM cells are kept, preferably as part of the blocks themselves, in order to maintain an endurance history of cells within the block. Use of these various features provides a memory having a very high storage density and a long life, making it particularly useful as a solid state memory in place of magnetic disk storage devices in computer systems.
167 Citations
14 Claims
-
1. In an integrated circuit memory system including an array of non-volatile floating gate memory cells wherein individual cells are addressable for programming and reading their states, a method of operating said memory system, comprising:
-
providing a plurality of distinct blocks of said memory cells, wherein the cells of the individual blocks are erasable together, performing an erase operation upon the memory cells within at least one block, after the erase operation is performed, determining whether there are any unerased cells within said at least one block and, if so, a number of such unerased cells, comparing the number of unerased cells with a permitted number, said permitted number being substantially the maximum number of cells whose data, if bad, are correctable by an error correction scheme, if the number of unerased cells within said at least one block is less than said permitted number, reprogramming memory cells within the erased at least one block with new data, and if the number of unerased cells within said at least one block is greater than said permitted number, substituting other redundant memory cells for the unerased memory cells. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. In an integrated circuit memory system including an array of non-volatile floating gate memory cells wherein individual cells are addressable for programming and reading their states, a method of operating said memory system, comprising:
-
providing a plurality of distinct blocks of said memory cells, wherein the cells of the individual blocks are erasable together to a base state from which one or more of the memory cells within an erased block may be subsequently reprogrammed, addressing at least one of said plurality of blocks and initiating an erase cycle of the memory cells therein, determining the states of the memory cells within said at least one block during the erase cycle, terminating the erase cycle either when all of the memory cells of said at least one block are determined to be erased to the base state or when a predefined condition is reached before all of the cells of said at least one block are erased, if the erase cycle is terminated before all the cells of said at least one block are erased, determining whether the number of unerased memory cells within said at least one block is less than or greater than a permitted number, said permitted number being substantially the maximum number of cells whose data, if bad, are correctable by an error correction scheme, if the number of unerased cells within said at least one block is less than said permitted number, reprogramming memory cells within the erased said at least one block with new data, and if the number of unerased cells within said at least one block is greater than said permitted number, substituting other redundant memory cells for the unerased memory cells. - View Dependent Claims (10, 11, 12, 13, 14)
-
Specification