Highly compact EPROM and flash EEPROM devices
First Claim
1. A nonvolatile memory system, comprising:
- a plurality of nonvolatile memory blocks each having a plurality of memory cells, at least one of said plurality of nonvolatile memory blocks containing no data and not having been previously accessed;
at least one counter means for counting a number of erase/write cycles that each of the plurality of nonvolatile memory blocks experience; and
means, coupled to said at least one counter means, for reallocating data contained in a first memory block to said at least one memory block when the at least one counter means counts, for said first memory block, up to a predetermined value.
4 Assignments
0 Petitions
Accused Products
Abstract
Structures, methods of manufacturing and methods of use of electrically programmable read only memories (EPROM) and flash electrically erasable and programmable read only memories (EEPROM) include split channel and other cell configurations. An arrangement of elements and cooperative processes of manufacture provide self-alignment of the elements. An intelligent programming technique allows each memory cell to store more than the usual one bit of information. An intelligent erase algorithm prolongs the useful life of the memory cells. 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.
294 Citations
37 Claims
-
1. A nonvolatile memory system, comprising:
-
a plurality of nonvolatile memory blocks each having a plurality of memory cells, at least one of said plurality of nonvolatile memory blocks containing no data and not having been previously accessed;
at least one counter means for counting a number of erase/write cycles that each of the plurality of nonvolatile memory blocks experience; and
means, coupled to said at least one counter means, for reallocating data contained in a first memory block to said at least one memory block when the at least one counter means counts, for said first memory block, up to a predetermined value. - View Dependent Claims (2)
-
-
3. A method for counting a number of erase/write cycles of a nonvolatile memory system including a plurality of nonvolatile memory blocks, at least one of said plurality of nonvolatile memory blocks containing no data and not having been previously accessed, the method comprising:
-
counting a number of erase/write cycles that the plurality of nonvolatile memory blocks experience, respectively; and
reallocating data contained in a first memory block to said at least one memory block when the counted number of erase/write cycles of said first memory block is equal to a predetermined value. - View Dependent Claims (4, 5)
-
-
6. A method of operating a plurality of blocks of nonvolatile, electrically erasable and programmable memory cells on a semiconductor chip, wherein the memory cells within the individual blocks are simultaneously erasable, comprising the steps of:
-
subjecting cells within the plurality of memory blocks to a number of program/erase cycles, wherein at least one block of memory cells is erased at a time and memory cells within an erased block are programmed by verifying their programmed states with reference levels that correspond to data being stored, maintaining separate counts of a number of program/erase cycles experienced by individual ones of said memory blocks, providing a redundant memory block, and replacing one of said plurality of memory blocks with said redundant memory block when the counted number of program/erase cycles of said one memory block reaches a set number. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A method of of operating a flash semiconductor memory including an array of non-volatile memory cells formed on a semiconductor chip, wherein the memory cells contain elements that store a level of charge indicative of data being stored in the memory cells, comprising:
-
erasing memory cells by simultaneously applying erase voltages to at least one block of memory cells at a time, programming data into the array by applying programming voltages to at least one addressed cell at a time within an erased memory cell block, including verifying the programmed state with at least one program reference level, reading data from the array by applying reading voltages to at least one addressed programmed memory cell at a time, including comparing a read state with at least one read reference level, subjecting cells within individual ones of the plurality of memory blocks to a number of successive erasing and programming operations, maintaining indications of a number of erase operations experienced by individual ones of said memory cell blocks, providing a redundant memory cell block, and replacing one of said plurality of memory blocks with said redundant memory block when the indication of the number of erase operations of said one memory block reaches a set indication. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A method of operating a flash semiconductor memory including an array of non-volatile memory cells formed on a semiconductor chip with charge storage elements and organized into plurality of blocks of said cells, wherein the memory cells within individual ones of said blocks are simultaneously erased together, comprising:
-
subjecting cells within the plurality of memory blocks to a number of successive erase and programming operations, wherein the programming operations include programming individual ones of the storage elements of erased blocks into more than two states in order to store more than one bit of data per storage element, maintaining indications of a number of erase operations experienced by individual ones of said memory cell blocks, said indications being maintained in the individual blocks to which the indications pertain, providing a redundant memory cell block, and replacing one of said plurality of memory blocks with said redundant memory block when the indication of the number of erase operations of said one memory block reaches a set indication. - View Dependent Claims (18)
-
-
19. A method of operating a flash semiconductor memory including an array of non-volatile memory cells formed on a semiconductor chip with charge storage elements and organized into plurality of blocks of said cells, wherein the memory cells within individual ones of said blocks are simultaneously erased together, comprising:
-
subjecting cells within the plurality of memory blocks to a number of successive erase and programming operations, wherein the programming operations include programming individual ones of the storage elements of erased blocks into more than two states in order to store more than one bit of data per storage element, maintaining indications of a number of erase operations experienced by individual ones of said memory cell blocks, said indications being maintained outside of the individual blocks to which the indications pertain, providing a redundant memory cell block, and replacing one of said plurality of memory blocks with said redundant memory block when the indication of the number of erase operations of said one memory block reaches a set indication. - View Dependent Claims (20)
-
-
21. A method of operating a flash semiconductor memory including an array of non-volatile memory cells formed on a semiconductor chip with charge storage elements and organized into a plurality of blocks of said cells, comprising:
-
simultaneously erasing the memory cells within at least one of said blocks to an erased state by applying erase voltages to the memory cells of said at least one of said blocks, thereafter programming incoming data into addressed ones of the charge storage elements within the erased block by designating at least two charge storage states in order to store at least one bit of the incoming data per charge storage element, including;
applying programming voltages in a pulse to at least one addressed memory cell to drive the programmed state of a charge storage element of the addressed cell from the erased state toward one of said at least two charge storage states corresponding to the incoming data to be stored therein, thereafter monitoring the state of the charge storage element of said at least one addressed memory cell, and continuing to apply programming voltage pulses to said at least one addressed memory cell and monitoring the state of the charge storage element until said at least one addressed cell has reached said one of said at least two charge storage states corresponding to the incoming data to be stored therein, subjecting cells within the plurality of memory blocks to a number of successive erase and programming operations, maintaining indications of a number of erase operations experienced by individual ones of said memory cell blocks, providing a redundant memory cell block, and replacing one of said plurality of memory blocks with said redundant memory block when the indication of the number of erase operations of said one memory block reaches a set indication. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. A method of operating a flash semiconductor memory, comprising:
-
utilizing an array of non-volatile memory cells formed on a semiconductor substrate in rows and columns with adjacent memory cells along rows sharing common source and drain regions between them and including charge storage elements positioned over channel regions between adjacent source and drain regions, said array being organized into a plurality of blocks of said cells, wherein the memory cells within individual ones of said blocks are simultaneously erased, subjecting cells within the plurality of memory blocks to a number of successive erase and programming operations, maintaining indications of a number of erase operations experienced by individual ones of said memory cell blocks, providing a redundant memory cell block, and replacing one of said plurality of memory blocks with said redundant memory block when the indication of the number of erase operations of said one memory block reaches a set indication. - View Dependent Claims (29, 30, 31, 32, 33, 34)
-
-
35. A method of operating a flash semiconductor memory, comprising:
-
utilizing an array of non-volatile memory cells formed on a semiconductor substrate in rows and columns and individually including a charge storage element extending over a first portion of and charge coupled with a substrate channel region between adjacent source and drain regions and a gate extending over and charge coupled with a second portion of the substrate channel region, said array being organized into a plurality of blocks of said cells wherein the memory cells within individual ones of said blocks are simultaneously erased, subjecting cells within the plurality of memory blocks to a number of successive erase and programming operations, maintaining indications of-a number of erase operations experienced by individual ones of said memory cell blocks, providing a redundant memory cell block, and replacing one of said plurality of memory blocks with said redundant memory block when the indication of the number of erase operations of said one memory block reaches a set indication. - View Dependent Claims (36, 37)
applying programming voltages to at least one addressed memory cell to drive the programmed state of a storage element of the addressed cell toward one of said more than two charge storage states corresponding to the incoming data to be stored therein, thereafter monitoring the state of the storage element of said at least one addressed memory cell, thereafter comparing the monitored state of the storage element of said at least one addressed memory cell with the state corresponding to the incoming data to be stored therein, and continuing to apply programming voltages to said at least one addressed memory cell and comparing its monitored state until said at least one addressed cell has reached its said state corresponding to the incoming data to be stored therein.
-
Specification