Method and apparatus for reliably storing defect information in flash disk memories
First Claim
1. A controller for controlling a flash memory array which includes a microprocessor, read only memory which contains a single bad block bitmap table and control processes to be run by the microprocessor for controlling the flash memory array, wherein the read only memory can be written from a first state to a second state without erasing the read only memory after writing to the first state, random access memory, circuitry for accessing the flash memory array, circuitry for detecting new bad blocks within the flash memory array during operation of the flash memory array subsequent to an initial determination of which blocks of the flash memory array are bad, and circuitry for writing bad block data to the bitmap table contained in the read only memory by overwriting, for each of a plurality of new bad blocks, a same portion of the bitmap table which corresponds to each of the plurality of new bad blocks without erasing the same portion of the bitmap table between each overwrite.
0 Assignments
0 Petitions
Accused Products
Abstract
A controller for controlling associated circuitry which includes a microprocessor, read only memory for storing control processes to be run by the microprocessor for controlling the associated circuitry, random access memory, and means for accessing the associated circuitry, by a process which detects changes in the associated circuitry during operation of the associated circuitry, and writes those changes to the read only memory so that they are available to the controller should power be lost during the operation of the associated circuitry.
-
Citations
17 Claims
- 1. A controller for controlling a flash memory array which includes a microprocessor, read only memory which contains a single bad block bitmap table and control processes to be run by the microprocessor for controlling the flash memory array, wherein the read only memory can be written from a first state to a second state without erasing the read only memory after writing to the first state, random access memory, circuitry for accessing the flash memory array, circuitry for detecting new bad blocks within the flash memory array during operation of the flash memory array subsequent to an initial determination of which blocks of the flash memory array are bad, and circuitry for writing bad block data to the bitmap table contained in the read only memory by overwriting, for each of a plurality of new bad blocks, a same portion of the bitmap table which corresponds to each of the plurality of new bad blocks without erasing the same portion of the bitmap table between each overwrite.
-
5. A method for storing data which changes during the operation of a data processing system, wherein the data processing system includes a processor, read only memory which contains a bad block bitmap table, and random access memory, wherein the read only memory can be written from a first state to a second state without first erasing the read only memory after initialization to the first state, the method comprising the steps of:
-
detecting bad block data to be stored in read only memory during the operation of the data processing system and after an initial storing of which blocks are bad; reading, from read only memory, a write process for writing data to read only memory and storing that process in random access memory; and running the write process for writing data to read only memory stored in random access memory to write the bad block data to the bad block bitmap table, wherein the write process overwrites, for each of a plurality of bad block data, a same portion of the bitmap table which corresponds to each of the plurality of bad block data without first erasing the same portion of the bad block bitmap table before the overwrite. - View Dependent Claims (6)
-
-
7. A process for updating read only memory in a controller circuit, wherein the controller circuit includes a microprocessor, read only memory, and random access memory, wherein the read only memory can be written from a first state to a second state without first erasing the read only memory between the first state and the second state, the process comprising the steps of:
-
detecting changes to be made in bad block data previously stored in read only memory, after an initial evaluation of each block of the read only memory to determine which blocks are bad; reading a write process stored in read only memory and writing that process to random access memory; and executing the write process stored in random access memory to update a bad block bitmap table, stored in read only memory, by writing the changes to be made in the bad block data stored in the bad block bitmap table by overwriting, for each of a plurality of bad block data, a same portion of the bad block bitmap table which corresponds to each of the plurality of bad block data without first erasing the same portion of the bad block bitmap table.
-
-
8. A computer system comprising a central processing system, main memory, a system bus coupling the central processing system and main memory, and at least one additional component coupled to the system bus, the additional component comprising:
-
read only memory which contains a bad block bitmap table and control processes, random access memory, first circuitry controlled by the control processes, wherein the read only memory can be written from a first state to a second state without first erasing the read only memory, subsequent to obtaining the first state, and second circuitry for writing new bad block data detected in the first circuitry during running of the control processes to the bad block bitmap table contained in the read only memory during the continuing operation of the computer system and subsequent to an initial determination of which blocks are bad, by overwriting, for each of a plurality of new bad block data, a same portion of the bitmap table which corresponds to each of the new bad blocks without first erasing the same portion of the bad block bitmap table. - View Dependent Claims (9, 10)
-
-
11. A method for managing data in a first flash electrically erasable programmable read only memory (EEPROM) memory array which array is divided into a plurality of blocks of memory cells each of which is separately and individually erasable, the method comprising the steps of:
-
detecting new bad blocks during the operation of the first flash EEPROM memory array, after an initial determination of which blocks are bad; writing new bad block data corresponding to the new bad blocks to a bad block bitmap table in random access memory; and writing the new bad block data to a bad block bitmap table in a second flash EEPROM array, wherein the second flash EEPROM array can be changed from a first state to a second state without first erasing the second flash EEPROM array between the change from the first state to the second state, and wherein the second flash EEPROM array is separate from the first flash EEPROM array, and wherein the new bad block data is written to the bad block bitmap table by changing a single bit in the bad block bitmap table corresponding to the new bad block by overwriting, for each of a plurality of new bad blocks, a same portion of the bitmap table which corresponds to each of the plurality of new bad blocks without first erasing the same portion of the bad block bitmap table. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A controller for controlling a flash memory array, the controller comprising:
-
a random access memory; a read only memory which contains a bad block bitmap table, wherein the bad block bitmap table includes a plurality of bits, each bit of the plurality of bits indicating whether a single block of the flash memory array is bad, the read only memory being coupled to the random access memory, wherein the read only memory can be changed from a first state to a second state without first erasing the read only memory between the change from the first state to the second state; and a microprocessor, coupled to the read only memory, configured to write bad block data detected during the operation of the flash memory array and after an initial determination of which blocks of the flash memory array are bad to the bad block bitmap table by overwriting, for each of a plurality of new bad blocks, a portion of the bitmap table which corresponds to each of the plurality of new bad blocks without erasing the portion of the bitmap table between each overwrite. - View Dependent Claims (17)
-
Specification