Flash EEprom system
First Claim
1. A memory system, comprising:
- non-volatile memory cells that are erasable and re-programmable, the memory cells being organized into units of memory cells that are erasable together, a generator of an address of memory cells that is responsive to an address received by the memory system, a data interface that passes data received by the memory system to the array for programming and that outputs data from the memory system that are read from the array, a command sequencer, the command sequencer being responsive to a read command received by the memory system to cause data to be read from a plurality of memory cells of the array in parallel by stepping through a predefined sequence of data read operations that include passing data read from the array and out of the memory system through the data interface, and the command sequencer being responsive to a program command received by the memory system to cause data received by the memory system through the data interface to be programmed in parallel into multiple memory cells of the array by stepping through a predefined sequence of data programming operations including alternately programming and verifying a programmed state of the multiple memory cells.
2 Assignments
0 Petitions
Accused Products
Abstract
A system of Flash EEprom memory chips with controlling circuits serves as non-volatile memory such as that provided by magnetic disk drives. Improvements include selective multiple sector erase, in which any combinations of Flash sectors may be erased together. Selective sectors among the selected combination may also be de-selected during the erase operation. Another improvement is the ability to remap and replace defective cells with substitute cells. The remapping is performed automatically as soon as a defective cell is detected. When the number of defects in a Flash sector becomes large, the whole sector is remapped. Yet another improvement is the use of a write cache to reduce the number of writes to the Flash EEprom memory, thereby minimizing the stress to the device from undergoing too many write/erase cycling.
-
Citations
11 Claims
-
1. A memory system, comprising:
-
non-volatile memory cells that are erasable and re-programmable, the memory cells being organized into units of memory cells that are erasable together, a generator of an address of memory cells that is responsive to an address received by the memory system, a data interface that passes data received by the memory system to the array for programming and that outputs data from the memory system that are read from the array, a command sequencer, the command sequencer being responsive to a read command received by the memory system to cause data to be read from a plurality of memory cells of the array in parallel by stepping through a predefined sequence of data read operations that include passing data read from the array and out of the memory system through the data interface, and the command sequencer being responsive to a program command received by the memory system to cause data received by the memory system through the data interface to be programmed in parallel into multiple memory cells of the array by stepping through a predefined sequence of data programming operations including alternately programming and verifying a programmed state of the multiple memory cells. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A memory system, comprising:
-
an array of non-volatile memory cells that are erasable and re-programmable, the array being organized into units of memory cells that are erasable together, an address generator including storage elements for storing a starting address within one of the erase units of memory cells in response to an address being received by the memory system, a data interface including a buffer memory for passing data received by the memory system to the array for programming and for outputting data from the memory system that are read from the array, a command sequencer, the command sequencer being responsive to a read command received by the memory system to cause data to be read from multiple memory cells of the array in parallel, beginning with the starting address stored within the address generator, by stepping through a predefined sequence of data read operations that include passing data read from the array through an error correction circuit and out of the memory system through the data interface, and the command sequencer being responsive to a program command received by the memory system to cause data received by the memory system through the data interface to be programmed in parallel into multiple memory cells of the array by stepping through a predefined sequence of data programming operations of the multiple memory cells. - View Dependent Claims (7, 8)
-
-
9. A method of programming data into a memory system having an array of non-volatile re-programmable memory cells organized into a plurality of groups that individually contain a plurality of memory cells that are erasable together as a unit, comprising:
-
receiving an address from a host system and generating therefrom a corresponding address of memory cells within at least one of the groups of memory cells, receiving the data to be programmed from the host system, and in response to a programming command received from the host system by a command sequencer within the memory system, stepping through a sequence of programming operations predefined by the command sequencer to simultaneously program the received data into a plurality the addressed memory cells, the predefined sequence including repetitively programming and verifying the state of individual ones of the plurality of addressed memory cells until it is determined that the addressed memory cells have been programmed with the received data. - View Dependent Claims (10)
-
-
11. A method of reading data from a memory system having an array of non-volatile re-programmable memory cells organized into a plurality of groups that individually contain a plurality of memory cells that are erasable together as a unit, comprising:
-
receiving an address from a host system and generating therefrom a corresponding address of memory cells within at least one of the groups of memory cells, in response to a read command received from the host system by a command sequencer within the memory system, stepping through a sequence of read operations predefined by the command sequencer to read data from the addressed memory cells, the predefined sequence including passing data read from the addressed memory cells through an error correction circuit, and sending to the host system the data read from the addressed memory cells after passing through the error correction circuit.
-
Specification