CPC G06F 3/064 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0679 (2013.01); G06F 3/061 (2013.01); G06F 3/0631 (2013.01); G06F 3/0688 (2013.01); G06F 12/0246 (2013.01); G06F 12/0292 (2013.01); G06F 12/0623 (2013.01); G06F 2212/1016 (2013.01); G06F 2212/7204 (2013.01); G06F 2212/7208 (2013.01); G11C 16/02 (2013.01)] | 17 Claims |
1. An unbalanced plane management method, applicable to a data storage device, the data storage device comprising a non-volatile (NV) memory, the NV memory comprising a plurality of NV memory elements, the plurality of NV memory elements comprising a plurality of blocks, the unbalanced plane management method comprising:
combining blocks of unselected planes, rather than at least one plane selected for previous processing, among respective planes of the plurality of NV memory elements into superblocks according to block numbers as indexes, wherein an unbalanced plane number indicates a plane count of the unselected planes, a plane count of the at least one plane plus the unbalanced plane number is equal to a maximum plane number which represents a summation of numbers of the respective planes of the plurality of NV memory elements, and said superblocks correspond to said block numbers respectively, wherein the previous processing comprises recording at least one set of blocks of the at least one plane into a block skip table;
determining whether at least one block number of said block numbers is less than a block threshold in order to generate a determination result, wherein the block threshold is equal to a maximum value of all available block numbers, and the determination result indicates whether said at least one block number of said block numbers is less than the block threshold;
in response to the determination result indicating that said at least one block number of said block numbers is less than the block threshold, combining other blocks of the unselected planes and blocks recorded in the block skip table into other superblocks according to remaining block numbers of said all available block numbers as indexes; and
in response to at least one host command among a plurality of host commands from a host device, accessing at least one superblock among said superblocks for the host device.
|