Method and apparatus for searching for data in multi-bit flash EEPROM memory arrays
First Claim
1. A circuit for searching for data patterns in a memory array, the memory array having a plurality of chips of non-volatile memory cells arranged in blocks which are erasable as a group, the blocks of memory cells being adapted to store data in sets each including a logical address identification, the circuit comprising:
- a processor for generating commands for controlling the operation of all of the chips;
a command interface on each chip for receiving commands from the processor, for issuing commands to control functions of that chip, and for responding to results of commands issued; and
search logic on each chip, adapted to respond to commands from the command interface, for comparing logical address identification data stored in the blocks of the chip with address data furnished to the command interface and for determining whether the addresses match.
1 Assignment
0 Petitions
Accused Products
Abstract
An arrangement which provides for searching for a data pattern in a flash EEPROM memory array using the internal controllers of the individual chips of the array. By utilizing these controllers to conduct the search, an external database is not required to store all of the logical addresses and their associated physical positions. The addition of more memory to the array need not increase the time required for the search because each addition of a chip to the array to add more memory adds another controller as well as more memory. In fact, the time for conducting the search may be reduced since searches may be conducted in parallel on the individual chips. The direct on-chip search of the array requires a much smaller general data base which is used essentially for control information and frees area on the flash EEPROM memory array board for memory devices.
76 Citations
23 Claims
-
1. A circuit for searching for data patterns in a memory array, the memory array having a plurality of chips of non-volatile memory cells arranged in blocks which are erasable as a group, the blocks of memory cells being adapted to store data in sets each including a logical address identification, the circuit comprising:
-
a processor for generating commands for controlling the operation of all of the chips; a command interface on each chip for receiving commands from the processor, for issuing commands to control functions of that chip, and for responding to results of commands issued; and search logic on each chip, adapted to respond to commands from the command interface, for comparing logical address identification data stored in the blocks of the chip with address data furnished to the command interface and for determining whether the addresses match. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer system comprising:
-
a central processor; main memory; a bus, coupled to the central processor and the main memory, for transferring data; and a flash EEPROM memory array, coupled to the bus including; a plurality of chips of flash EEPROM memory devices arranged in blocks which are erasable as a group, and a circuit for searching for data patterns in the flash EEPROM memory array comprising, a processor for generating commands for controlling the operation of all of the chips, a command interface on each chip for receiving commands from the processor, for issuing commands to control functions of that chip, and for responding to results of commands issued, and a hardware search engine on each chip, adapted to respond to commands from the command interface, for comparing logical address identification data stored in the blocks of the chip with address data furnished to the command interface and for furnishing a physical position of a data set corresponding to the address data to the command interface if the logical address identification data matches the address data. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A method of searching a memory array, the memory array including a plurality of chips of non-volatile memory devices arranged in blocks, the method comprising the steps of:
-
(a) initiating a command from a central control for all of the chips, the command including a first logical address for which a physical position is to be retrieved; (b) transferring the command to a circuit on a first chip of the plurality of chips; (c) the circuit comparing the first logical address with a plurality of logical addresses stored in blocks on the first chip; and (d) providing the physical position for the first logical address if the first logical address matches one of the plurality of logical addresses stored in a block on the chip. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A circuit for searching for data patterns in a memory array, the memory array having a plurality of chips of non-volatile memory cells arranged in blocks, the blocks of memory cells being adapted to store data in sets each including a logical address identification, the circuit comprising:
-
means for generating commands for controlling the operation of the plurality of chips; means for receiving commands from the means for generating commands; means for issuing commands to control functions of that chip; means for responding to results of commands issued; means for comparing, situated on each chip, logical address identification data stored in the blocks of the chip with address data furnished to the means for receiving; and means for determining, situated on each chip, whether the addresses match. - View Dependent Claims (22, 23)
-
Specification