US2017286289A1PendingUtilityA1

Data storage device and flash memory control method

Assignee: SILICON MOTION INCPriority: Aug 30, 2013Filed: Jun 22, 2017Published: Oct 5, 2017
Est. expiryAug 30, 2033(~7.1 yrs left)· nominal 20-yr term from priority
G06F 2212/7211G06F 12/0246
51
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A FLASH memory control technique with wear leveling between the different blocks of the FLASH memory. By a controller managing the blocks of a FLASH memory within a data storage device, some of the blocks are pushed into a spare queue waiting to be allocated as data blocks or system blocks. When the number of blocks within the spare queue is lower than a clean threshold and any block within the spare queue has an erase count greater than an overused lower threshold, the controller performs a garbage correction operation with wear leveling between the different blocks.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A data storage device, comprising:
 a flash memory; and   a controller, for management of a spare queue for the flash memory, blocks within the spare queue contain no valid data and are waiting for allocation,   wherein:   the controller further manages a jail queue to freeze blocks whose erase counts are greater than an overused higher threshold;   the controller checks whether any of two specific conditions is true to perform a garbage collection operation with wear leveling accordingly;   one of the two specific conditions shows that the blocks frozen within the jail queue are more than a predetermined amount and another of the two specific condition shows that the flash memory is in a power-cycle routine; and   when performing the garbage collection operation with wear leveling, the controller selects one block from higher erase count blocks in the spare queue to collect valid data.   
     
     
         2 . The data storage device as claimed in  claim 1 , wherein:
 the controller performs the garbage collection operation with wear leveling when any of the two specific conditions is true.   
     
     
         3 . The data storage device as claimed in  claim 1 , wherein:
 the controller further checks whether the blocks within the spare queue are less than a clean threshold for performing the garbage collection operation with wear leveling accordingly.   
     
     
         4 . The data storage device as claimed in  claim 3 , wherein:
 the controller performs the garbage collection operation with wear leveling when the blocks within the spare queue are less than the clean threshold and any of the two specific conditions is true.   
     
     
         5 . The data storage device as claimed in  claim 3 , wherein:
 the controller further checks whether any block within the spare queue has an erase count greater than an overused lower threshold for performing the garbage collection operation with wear leveling accordingly.   
     
     
         6 . The data storage device as claimed in  claim 5 , wherein:
 the controller performs the garbage collection operation with wear leveling when the blocks within the spare queue are less than the clean threshold, any block within the spare queue has an erase count greater than the overused lower threshold, and any of the two specific conditions is true.   
     
     
         7 . The data storage device as claimed in  claim 1 , wherein:
 when performing the garbage collection operation with wear leveling, the controller cleans a data block having a lower erase count in comparison with most other data blocks.   
     
     
         8 . The data storage device as claimed in  claim 1 , wherein:
 when performing the garbage collection operation with wear leveling, the controller cleans a data block having a lower erase count and having more invalid pages in comparison with most other data blocks.   
     
     
         9 . The data storage device as claimed in  claim 1 , wherein:
 after the garbage collection operation with wear leveling is performed, the controller selects one block having the lowest erase count in the spare queue for write-data storage.   
     
     
         10 . The data storage device as claimed in  claim 1 , wherein:
 after the garbage collection operation with wear leveling is performed, the controller selects one block from blocks having lower erase counts in the spare queue for write-data storage.   
     
     
         11 . A flash memory control method, comprising:
 managing a spare queue for a flash memory, wherein blocks within the spare queue contain no valid data and are waiting for allocation;   managing a jail queue for the flash memory to freeze blocks whose erase counts are greater than an overused higher threshold; and   checking whether any of two specific conditions is true to perform a garbage collection operation with wear leveling accordingly,   wherein:   one of the two specific conditions shows that the blocks frozen within the jail queue are more than a predetermined amount and another of the two specific condition shows that the flash memory is in a power-cycle routine; and   when the garbage collection operation with wear leveling is performed, one block is selected from higher erase count blocks in the spare queue to collect valid data.   
     
     
         12 . The flash memory control method as claimed in  claim 11 , wherein:
 the garbage collection operation with wear leveling is performed when any of the two specific conditions is true.   
     
     
         13 . The flash memory control method as claimed in  claim 11 , further comprising:
 checking whether the blocks within the spare queue are less than a clean threshold for performing the garbage collection operation with wear leveling accordingly.   
     
     
         14 . The flash memory control method as claimed in  claim 13 , wherein:
 the garbage collection operation with wear leveling is performed when the blocks within the spare queue are less than the clean threshold and any of the two specific conditions is true.   
     
     
         15 . The flash memory control method as claimed in  claim 13 , further comprising:
 checking whether any block within the spare queue has an erase count greater than an overused lower threshold for performing the garbage collection operation with wear leveling accordingly.   
     
     
         16 . The flash memory control method as claimed in  claim 15 , wherein:
 the garbage collection operation with wear leveling is performed when the blocks within the spare queue are less than the clean threshold, any block within the spare queue has an erase count greater than the overused lower threshold, and any of the two specific conditions is true.   
     
     
         17 . The flash memory control method as claimed in  claim 11 , wherein:
 during the garbage collection operation with wear leveling, a data block having a lower erase count in comparison with most other data blocks is cleaned.   
     
     
         18 . The flash memory control method as claimed in  claim 11 , wherein:
 during the garbage collection operation with wear leveling, a data block having a lower erase count and more invalid pages in comparison with most other data blocks is cleaned.   
     
     
         19 . The flash memory control method as claimed in  claim 11 , wherein:
 after the garbage collection operation with wear leveling is performed, one block having the lowest erase count in the spare queue is selected for write-data storage.   
     
     
         20 . The flash memory control method as claimed in  claim 11 , wherein:
 after the garbage collection operation with wear leveling is performed, one block is selected from blocks having lower erase counts in the spare queue for write-data storage.

Join the waitlist — get patent alerts

Track US2017286289A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.