Write management on flash memory
AssigneeSilicon Motion, Inc.
InventorsJian-Dong Du, Chia-Jung Hsiao, Tsung-Chieh Yang
Life of this patent
Estimating the term…
Abstract
A method for use in management of a flash memory module is provided. The flash memory module has a plurality of blocks, wherein a portion of the blocks belong to a spare pool. The method includes: preserving at least one erased block in the spare pool for a write operation; monitoring an erasing period regarding the at least one erased block; and performing a replacement operation to replace the at least one erased block when the erase time exceeds a threshold.
Claims15
A method for managing a flash memory module, the flash memory module comprises a plurality of blocks, wherein a portion of the plurality of blocks belongs to a spare pool, and the method comprises:
- preserving at least one erased block in the spare pool to facilitate a writing operation, wherein the spare pool comprises at least one erased block and a plurality of written blocks with invalid data, and a number of the written blocks is greater than a number of the at least one erased block;
- monitoring an erasing period of the at least one erased block;
- and
- when the erasing period exceeds a threshold, moving valid data stored in a certain block that does not belong to the spare pool to the at least one erased block and removing the at least one erased block from the spare pool.
A controller for managing a flash memory module, wherein the flash memory module comprises a plurality of blocks, a portion of the plurality of blocks belongs to a spare pool, and the controller comprises:
- a storage unit, arranged to store a program code;
- and
- a processing unit, coupled to the storage unit, the processing unit arranged to read the program code from the storage unit in order to execute the program code to perform following operations:
- preserving at least one erased block in the spare pool to facilitate a writing operation, wherein the spare pool comprises at least one erased block and a plurality of written blocks with invalid data, and a number of the written blocks is greater than a number of the at least one erased block;
- monitoring an erasing period of the at least one erased block;
- and
- when the erasing period exceeds a threshold, moving valid data stored in a certain block that does not belong to the spare pool to the at least one erased block and removing the at least one erased block from the spare pool.
A storage device, comprising:
- a flash memory module, comprising a plurality of blocks, wherein a portion of the plurality of blocks belongs to a spare pool;
- and
- a controller, arranged to access the flash memory module, and comprising:
- a storage unit, arranged to store a program code;
- and
- a processing unit, coupled to the storage unit, wherein the processing unit is arranged to read the program code from the storage unit in order to execute the program code, and thereby perform following operations:
- preserving at least one erased block in the spare pool to facilitate a writing operation, wherein the spare pool comprises at least one erased block and a plurality of written blocks with invalid data, and a number of the written blocks is greater than a number of the at least one erased block;
- monitoring an erasing period of the at least one erased block;
- and
- when the erasing period exceeds a threshold, moving valid data stored in a certain block that does not belong to the spare pool to the at least one erased block and removing the at least one erased block from the spare pool.
Dependencies are inferred from the claim text.