Abstract:
A block clearing method for a non-volatile data-storage device operates by determining whether a number of data block programmed in a first mode is less than a threshold, selecting a spare block from a spare pool, programming a plurality of data from the selected data blocks into the selected spare block in a second mode, mapping a plurality of logical addresses of the data to a plurality of physical addresses on the selected spare block programmed in the second mode, and releasing the selected data blocks into the spare pool, wherein the selected spare block is able to be programmed in either the first mode or the second mode. Following the determining step, if the determination is true, the method selects a plurality of data blocks programmed in the first mode.
Abstract:
A method for managing a memory apparatus and the associated memory apparatus thereof and the associated controller thereof are provided, where the method includes: temporarily storing data received from a host device into a volatile memory in the controller and utilizing the data in the volatile memory as received data, and dynamically monitoring the data amount of the received data to determine whether to immediately write the received data into at least one non-volatile memory element; and when determining to immediately write the received data into the at least one non-volatile memory element, directly writing the received data into a specific block configured to be a Multiple Level Cell memory block within a specific non-volatile memory element, rather than indirectly writing the received data into the specific block by first temporarily writing the received data into any other block configured to be Single Level Cell memory block.
Abstract:
A data storage device includes a flash memory and a controller. The flash memory has a plurality of SLC-spare blocks, a plurality of SLC-data blocks, a plurality of TLC-spare blocks and a plurality of TLC-data blocks. The controller writes data into the SLC-spare blocks in response to a write command arranged to write the data into the flash memory, wherein when a first predetermined condition is satisfied, the controller selects a plurality of first TLC-data blocks with the least amount of valid data from the TLC-data blocks, writes valid data stored in the first TLC-data blocks into at least one first TLC-spare block, and releases the TLC-data blocks to increase the number of TLC-spare blocks by one.
Abstract:
A data storage device with high reliability. When rebuilding a mapping table, a validity table bitMap within a first block is taken into consideration to determine which is a newer version: the first data within the first block or the second data within a second block. The first block was originally used as a destination block for garbage collection. The second block was originally used as an active block for reception of write data from a host. The validity table bitMap shows the data status (valid or invalid) of the storage units of the first block. The first data and the second data relate to the same logical address.
Abstract:
A method for managing a memory apparatus and the associated memory apparatus thereof and the associated controller thereof are provided, where the method includes: temporarily storing data received from a host device into a volatile memory in the controller and utilizing the data in the volatile memory as received data, and dynamically monitoring the data amount of the received data to determine whether to immediately write the received data into at least one NV memory element; and when a specific signal is received and it is detected that specific data having not been written into a same location in a specific block configured to be an MLC memory block within a specific NV memory element of the at least one NV memory element for a predetermined number of times exists in the received data, immediately writing the specific data into another block in the at least one NV memory element.
Abstract:
A method for managing a memory apparatus and the associated memory apparatus thereof and the associated controller thereof are provided, where the method includes: temporarily storing data received from a host device into a volatile memory in the controller and utilizing the data in the volatile memory as received data, and dynamically monitoring the data amount of the received data to determine whether to immediately write the received data into at least one non-volatile memory element; and when determining to immediately write the received data into the at least one non-volatile memory element, directly writing the received data into a specific block configured to be a Multiple Level Cell memory block within a specific non-volatile memory element, rather than indirectly writing the received data into the specific block by first temporarily writing the received data into any other block configured to be Single Level Cell memory block.
Abstract:
A method for managing a memory apparatus and the associated memory apparatus thereof and the associated controller thereof are provided, where the method includes: temporarily storing data received from a host device into a volatile memory in the controller and utilizing the data in the volatile memory as received data, and dynamically monitoring the data amount of the received data to determine whether to immediately write the received data into at least one NV memory element; and when a specific signal is received and it is detected that specific data having not been written into a same location in a specific block configured to be an MLC memory block within a specific NV memory element of the at least one NV memory element for a predetermined number of times exists in the received data, immediately writing the specific data into another block in the at least one NV memory element.