Data storage device and block selection method for a flash memory
AssigneeSilicon Motion, Inc.
InventorMong-Ling Chiao
Life of this patent
Estimating the term…
Abstract
The invention provides a block selection method for a flash memory. First, a flash memory is divided into a plurality of great block groups. Each of the great block groups is then divided into a plurality of block groups. Scores corresponding to the blocks of the flash memory are then recorded in a score table. When the score of a target block selected from the blocks of the flash memory has been amended, the amended score of the target block is compared with a first extreme value and a second extreme value corresponding to the block group and the great block group comprising the target block and the total extreme value. A victim block is then determined from the blocks of the flash memory according to an extreme value table.
Claims16
A block selection method for a flash memory, comprising:
- dividing a flash memory into a plurality of great block groups, wherein each of the great block groups comprise a first number of blocks;
- dividing each of the great block groups into a plurality of block groups, wherein each of the block groups comprise a second number of blocks;
- recording scores corresponding to the blocks of the flash memory in a score table;
- recording a plurality of first extreme values of the scores corresponding to the blocks of each of the block groups, a plurality of second extreme values of the scores corresponding to the blocks of each of the great block groups, and a total extreme value of the scores corresponding to the blocks of the flash memory in an extreme value table;
- when the score of a target block selected from the blocks of the flash memory has been amended, comparing the amended score of the target block with the first extreme value corresponding to the block group comprising the target block to determine whether the first extreme value corresponding to the block group comprising the target block has been amended to be equal to the score of the target block, comparing the amended score of the target block with the second extreme value corresponding to the great block group comprising the target block to determine whether the second extreme value corresponding to the great block group comprising the target block has been amended to be equal to the score of the target block, and comparing the amended score of the target block with the total extreme value to determine whether the total extreme value has been amended to be equal to the score of the target block;
- and
- determining a victim block from the blocks of the flash memory according to the extreme value table.
A data storage device, comprising:
- a flash memory, comprising a plurality of great block groups, wherein each of the great block groups comprises a first number of block groups, and each of the block groups comprise a second number of blocks;
- a random access memory, storing a score table and an extreme value table, wherein the score table records scores corresponding to the blocks of the flash memory, and the extreme value table records a plurality of first extreme values of the scores corresponding to the blocks of each of the block groups, a plurality of second extreme values of the scores corresponding to the blocks of each of the great block groups, and a total extreme value of the scores corresponding to the blocks of the flash memory;
- and
- a controller, determining a victim block from the blocks of the flash memory according to the extreme value table, and when the score of a target block selected from the blocks of the flash memory has been amended, comparing the amended score of the target block with the first extreme value corresponding to the block group comprising the target block to determine whether the first extreme value corresponding to the block group comprising the target block has been amended to be equal to the score of the target block, comparing the amended score of the target block with the second extreme value corresponding to the great block group comprising the target block to determine whether the second extreme value corresponding to the great block group comprising the target block has been amended to be equal to the score of the target block, and comparing the amended score of the target block with the total extreme value to determine whether the total extreme value has been amended to be equal to the score of the target block.
Dependencies are inferred from the claim text.