Data storage device and control method for non-volatile memory, with shared active block for writing commands and internal data collection
AssigneeSilicon Motion, Inc.
InventorsTing-Han Lin, Che-Wei Hsu
Life of this patent
Estimating the term…
Abstract
High-efficiency control technology for non-volatile memory. A controller allocates spare blocks of a non-volatile memory to provide an active block and writes data issued by a host to the active block. The controller further uses the active block as the destination for data transferred from a first source block when there are fewer spare blocks than the threshold amount. When a second source block meets the transfer requirements, the controller uses the active block as the destination for data transferred from the second source block.
Claims18
A data storage device, comprising:
- a non-volatile memory;
- and
- a controller, operating the non-volatile memory as requested by a host,
- wherein:
- the controller allocates spare blocks of the non-volatile memory to provide an active block and writes data issued by the host to the active block;
- the controller further uses the active block as a destination for a data transfer from a first source block when there are fewer spare blocks than a threshold amount;
- when a second source block meets transfer requirements, the controller uses the active block as a destination for a data transfer from the second source block,
- the controller permits a data transfer from a later source block to the active block after finishing a data transfer from an earlier source block to the active block, and
- after transferring all valid data from the earlier source block to the active block, the controller uses a flag to permit transferring valid data from the later source block to the active block.
A non-volatile memory control method, comprising:
- operating a non-volatile memory as requested by a host;
- allocating spare blocks of the non-volatile memory to provide an active block and writing data issued by the host to the active block;
- further using the active block as a destination for data transferred from a first source block when there are fewer spare blocks than a threshold amount;
- when a second source block meets the transfer requirements, using the active block as a destination for data transferred from the second source block,
- permitting data to be transferred from a later source block to the active block after finishing a data transfer from an earlier source block to the active block;
- and
- after transferring all valid data from the earlier source block to the active block, using a flag to permit transferring valid data from the later source block to the active block.
Dependencies are inferred from the claim text.