In another aspect, the controller creates the time file (e.g. the timestamp) thereof for each erased block preserved in the spare pool, in order to for monitor the duration the block remains in the erase state. Once the duration of said erased block exceeds a specific threshold, the controller will perform writing on this erased block, and choose one or more blocks among the written blocks in the spare pool, in order to reduce the extent of physical damages.
An embodiment of the present invention proposes 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. The method comprises: preserving at least one erased block in the spare pool to facilitate a writing operation; monitoring an erasing period of the at least one erased block; and when the erasing period exceeds a threshold, executing an alternative operation to replace the at least one erased block.
An embodiment of the present invention proposes 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. The controller comprises a storage unit and a processing unit. The storage unit is arranged to store a program code. The processing unit is coupled to the storage unit, and is 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; monitoring an erasing period of the at least one erased block; and when the erasing period exceeds a threshold, executing an alternative operation to replace the at least one erased block.