Multi-state non-volatile flash memory capable of being its own two state write cache
First Claim
1. A non-volatile data memory, comprising:
- an array of flash EEPROM cells organized into blocks of cells that are individually erasable as a unit,a decoder responsive to address signals to address specific cells within a block for a data transfer operation, anda data register circuit operably connectable through the decoder to transfer data between the register and the addressed cells, said data register circuit being operable to perform said data transfer with a density of either a first or a second number of data bits per individual addressed cell in response to a control signal, said data register circuit additionally being capable of reading data from the array at the first data bit density and writing the read data back into the array at the second data bit density.
3 Assignments
0 Petitions
Accused Products
Abstract
A memory system including an array of flash EEPROM cells arranged in blocks of cells that are erasable together, with individual cells storing more than one bit of data as a result of operating the individual cells with more than two detectable threshold ranges or states. Any portion of the array in which data is not stored can be used as a write cache, where individual ones of the cells store a single bit of data by operating with only two detectable threshold ranges. Data coming into the memory is initially written in available blocks in two states since writing in more than two states takes significantly more time. At a later time, in the background, the cached data is read, compressed and written back into fewer blocks of the memory in multi-state for longer term storage at a reduced cost.
724 Citations
21 Claims
-
1. A non-volatile data memory, comprising:
-
an array of flash EEPROM cells organized into blocks of cells that are individually erasable as a unit, a decoder responsive to address signals to address specific cells within a block for a data transfer operation, and a data register circuit operably connectable through the decoder to transfer data between the register and the addressed cells, said data register circuit being operable to perform said data transfer with a density of either a first or a second number of data bits per individual addressed cell in response to a control signal, said data register circuit additionally being capable of reading data from the array at the first data bit density and writing the read data back into the array at the second data bit density. - View Dependent Claims (2, 3)
-
-
4. A method of operating a memory system of flash EEPROM cells, comprising:
-
writing a file of incoming data into the system with a first set of memory cell threshold voltage levels, thereafter, reading said data file from the system, and rewriting the read data file into the system with a second set of memory cell threshold voltage levels different from said first set, wherein the second set of memory cell threshold voltage levels include higher margin voltages within threshold voltage ranges than the first set of memory cell threshold voltage levels. - View Dependent Claims (5, 6, 7)
-
-
8. A method of operating a flash EEPROM cell array, comprising:
-
caching a file of incoming data into a given number of cells of the array according to an amount of data within the file, thereafter, reading said data file from the array, compressing the read data file by applying a compression algorithm to the read data file that translates the data file into a compressed file, and writing the compressed data file into a significantly fewer number of cells of the array than said given number.
-
-
9. A method of operating a flash EEPROM cell array on one or more integrated circuit chips, comprising:
-
operating individual cells of at least a portion of the array with either a first number of storage states or a second number of storage states higher than the first number, writing an incoming data file into cells of said at least a portion of the array in the first storage state, thereafter, reading said data file from the array, and rewriting the read data file into said at least a portion of the memory in the second state, thereby to compress storage of the data file into fewer cells of the array, wherein the reading and rewriting of the data file occurs in response to the memory array becoming full with data. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method of operating a memory system of flash EEPROM cells organized into blocks of cells that are erasable together, wherein the individual cells are operable in any of at least a first data density level of two storage states and a second data density level of more than two storage states, comprising:
-
initially writing data into blocks of cells at the first density level, determining when a threshold proportion of the memory system blocks are filled with data written into the blocks with the first density level, thereafter compressing data already stored in the memory in the first density level by reading said stored data at the first density level from a first number of blocks of cells and rewriting the read data at the second density level into a second number of blocks of cells less than the first number of blocks of cells, thereby to make a number of blocks of cells equal to a difference between said first and second numbers of blocks available to store additional data, and thereafter storing additional data in at least some of the number of blocks made available by the data compression. - View Dependent Claims (17, 18, 19)
-
-
20. A method of operating a memory system of flash EEPROM cells organized into blocks of cells that are erasable together, wherein the individual cells are operable in any of at least a first data density level of two storage states and a second data density level of more than two storage states, comprising:
-
writing a file of incoming data into the memory system with a first set of memory cell threshold voltage levels, thereafter, reading said data file from the memory system, rewriting the read data file into the system with a second set of memory cell threshold voltage levels greater than that of said first set, and maintaining separate counts for the blocks individually of the number of times that data has been written into the individual blocks with the first set of threshold voltage levels and the number of times with the second set of threshold voltage levels.
-
-
21. A method of operating a memory system of flash EEPROM cells that is alternatively powered from a battery or a power line source, comprising:
-
writing a file of incoming data into the memory system with a first set of memory cell threshold voltage levels when the memory system is powered from the battery, and thereafter, when the memory system is powered from a power, line source, reading said data file from the memory system, and rewriting the read data file back into the memory system with a second set of memory cell threshold voltage levels that is higher than said first set.
-
Specification