Flash Memory Devices and Prefetch Methods Thereof
A storage device includes a flash memory array and a controller. The flash memory array includes a plurality of blocks which are configured to store data. The controller scans the flash memory array during an idle time to confirm the accuracy of the data stored in the flash memory array.
1 . A storage device, comprising:
a flash memory array, comprising a plurality of blocks, wherein the blocks are configured to store data; and
a controller, scanning the flash memory during an idle time to confirm accuracy of the data stored in the flash memory array.
2 . The storage device of claim 1 , wherein the idle time is a period of time between when the storage device is initialized and when a host is initialized.
3 . The storage device of claim 1 , wherein the idle time is a period of time between when the storage device is initialized and when an access instruction is received from the host.
4 . The storage device of claim 1 , wherein when the controller scans the flash memory array, the controller selectively scans at least one of pages of each of the blocks to determine whether a number of error bits in any of the scanned page(s) exceeds a threshold.
5 . The storage device of claim 4 , wherein when the number of error bits in any of the pages exceeds the threshold, the controller performs a refresh process on the flash memory array.
6 . The storage device of claim 4 , wherein when the number of error bits in any of the pages exceeds the threshold, the controller performs a refresh process on the blocks corresponding to the pages with the excessive number of error bits.
7 . A refresh method, adopted in a storage device, wherein the refresh method comprises:
initializing the storage device;
scanning the storage device during an idle time to determine accuracy of data stored in the storage device; and
entering a stand-by state to receive an access instruction.
8 . The refresh method of claim 7 , wherein the idle time is a period between when the storage device is initialized to when the host is initialized.
9 . The refresh method of claim 7 , wherein the idle time is a period between when the storage device is initialized and when an access instruction is received from the host.
10 . The refresh method of claim 7 , wherein the storage device comprises a flash memory array, wherein the flash memory array comprises a plurality of blocks, wherein the step of scanning the storage device during the idle time to determine the accuracy of the data stored in the storage device further comprises:
scanning at least one of the pages of each of the blocks;
determining whether a number of error bits in any of the scanned page(s) exceeds a threshold; and
when the number of error bits in any of the pages exceeds a threshold, performing a refresh process on the flash memory array.
11 . The refresh method of claim 7 , wherein the storage device comprises a flash memory array, and the flash memory array comprises a plurality of blocks, wherein the step of scanning the storage device during the idle time to determine the accuracy of the data stored in the storage device further comprises:
scanning at least one of the pages of each of the blocks;
determining whether the number of error bits in the scanned page(s) exceeds a threshold; and
when the number of error bits in any of the pages exceeds a threshold, performing a refresh process on the blocks corresponding to the pages with the excessive number of error bits.