Data Storage Device and Data Maintenance Method thereof
AssigneeSilicon Motion, Inc.
InventorYu-Wei FAN
Life of this patent
Estimating the term…
Abstract
The present invention provides a data storage device including a flash memory and a controller. The flash memory has a plurality of first type spare blocks and a plurality of second type spare blocks, wherein the second type spare blocks are capable to store more data volume than the first type spare blocks. The controller writes data into the first type spare blocks, defines the first type spare blocks as first type data blocks if stored with data. When a predetermined condition is satisfied, the controller starts to move/copy valid data of a plurality of oldest first type data blocks into one of the second type spare blocks.
Claims28
A data storage device, comprising:
- a flash memory, having a plurality of first type spare blocks and a plurality of second type spare blocks, wherein the second type spare blocks are capable to store more data volume than the first type spare blocks;
- and
- a controller, writing data into the first type spare blocks in response to a write command, defining the first type spare blocks as a plurality of first type data blocks if stored with data, wherein when a predetermined condition is satisfied, the controller starts to move/copy valid data of a plurality of oldest first type data blocks into one of the second type spare blocks, wherein a plurality of logical addresses of the valid data are mapped to the oldest first type data blocks.
A data storage device, comprising:
- a flash memory, having a plurality of SLC-spare blocks, a plurality of SLC-data blocks and a plurality of TLC-spare blocks;
- and
- a controller, writing data into the SLC-spare blocks in response to a write command arranged to write the data into the flash memory, wherein the controller writes a first part of the data into a first group SLC-spare blocks comprising three of the SLC-spare blocks when a predetermined condition is satisfied, and before writing other parts of the data into the other SLC-spare blocks, the controller selects a second group SLC-data blocks comprising three of the SLC-data blocks which have the oldest valid data from the SLC-data blocks, and moves/copies the data stored in the second group SLC-data blocks into one of the TLC-spare blocks to release the second group SLC-data blocks.
A data maintenance method, applied to a data storage device having a flash memory, wherein the flash memory has a plurality of first type spare blocks and a plurality of second type spare blocks, and the second type spare blocks are capable to store more data volume than the first type spare blocks, the data maintenance method comprising:
- writing data into the first type spare blocks in response to a write command;
- defining the first type spare blocks as a plurality of first type data blocks if stored with data;
- determining whether a predetermined condition is satisfied;
- and
- when the predetermined condition is satisfied, starting to move/copy valid data of a plurality of oldest first type data blocks into one of the second type spare blocks, wherein a plurality of logical addresses of the valid data are mapped to the oldest first type data blocks.
A data maintenance method, applied to a data storage device having a flash memory, wherein the flash memory has a plurality of SLC-spare blocks, a plurality of SLC-data blocks and a plurality of TLC-spare blocks, the data maintenance method comprising:
- receiving a write command arranged to write data into the flash memory;
- and
- writing the data into the SLC-spare blocks in response to the write command, wherein when a predetermined condition is satisfied, the step of writing the data into the SLC-spare blocks further comprises:
- writing a first part of the data into a first group SLC-spare blocks comprising three of the SLC-spare blocks;
- and
- before writing the remaining of the data into the other SLC-spare blocks, selecting a second group SLC-data blocks comprising there of the SLC-data blocks which have the oldest valid data from the SLC-data blocks, and moving/coping the data stored in the second group SLC-data blocks into one of the TLC-spare blocks to release the second group SLC-data blocks.
Dependencies are inferred from the claim text.