Memory controller for flash memory system and method for writing data to flash memory device
AssigneeTDK Corporation
InventorYukio Terasaki
Life of this patent
Estimating the term…
Abstract
A memory controller which performs a verification of the state of the erased block is performed prior to the writing operation is disclosed. The memory controller according to said present invention further performs a test operation to judge whether the erased block is a defective block to be disposed or not if the erased block is concluded to be not prefer to store data during the verification. In the case where the block is concluded to be a defective block with a permanent error by the test operation, the block is inhibited to use. In the case where the block is concluded to be a defective block with a transient error by the test operation, on the other hand, the block is treated as new erased block.
Claims25
A memory controller for accessing a flash memory device, comprising:
- a write queue in which erased blocks in said flash memory device are registered;
- selecting means for selecting at least one erased block from the erased blocks registered in the write queue in response to a data storing request from a host computer;
- verify means for verifying a state of said erased block found by said search means;
- and store means for storing data into said erased block which has been verified by said verify means.
A memory controller for accessing a flash memory device, comprising:
- search means for finding an erased block in said flash memory device in response to a data storing request from a host computer;
- verify means for verifying a state of said erased block found by the search means;
- store means for storing data into said erased block which has been verified by said verify means, wherein said verify means verifies whether or not all flash memory cells constituting said erased block found by said search means are in an erased state;
- test means, responsive to detection by said verify means of a flash memory cell in a different state from said erased state, for testing whether or not said erased block is a defective block with a permanent error.
A flash memory system, comprising:
- at least one flash memory chip divided into a plurality of blocks each of which includes a plurality of flash memory cells and a controller for controlling said flash memory chip, said controller including search means for finding from among said plurality of blocks an erased block in which all flash memory cells are in an erased state, store means for storing data into said erased block found by said search means, and verify means for verifying a state of said erased block found by said search means before said data are stored by said store means.
A method of storing data into a flash memory device divided into a plurality of blocks, comprising the steps of:
- searching said plurality of blocks to find a block in which all flash memory cells are in an erased state, verifying a state of said block found in said searching step, an storing said data into said block verified by said verifying step.
A method for storing data into a flash memory device divided into a plurality of blocks, comprising the steps of:
- searching said plurality of blocks to find a block in which to store data, verifying a state of said block found in said searching step, storing said data into said block verified by said verifying step, and testing, in response to said verifying step finding said block found by said searching step to be unsuitable for storing said data, whether or not said block is a defective block with a permanent error.
A memory controller for accessing a flash memory device, comprising:
- selecting means for selecting a destination block from a plurality of erased blocks in the flash memory device in response to a data-storing request from a host computer, verify means for verifying a state of the destination block, store means for storing data provided from the host computer in connection with the data-storing request into the destination block, transferring means for transferring data stored in a source block to the destination block, and erasing means for block-erasing the source block.
Dependencies are inferred from the claim text.