STRUCTURE AND METHOD FOR MANAGING WRITING OPERATION ON MLC FLASH MEMORY
First Claim
1. A method for managing a writing operation from a host for a multi-level cell (MLC) nonvolatile memory having multiple MLC blocks, the method comprising:
- arranging a spare block pool comprising at least a portion of the MLC blocks of the MLC nonvolatile memory available to be allocated for writing data;
forming a turbo writing unit from a spare block pool;
writing a data sent by the host to the turbo writing unit;
after finishing writing the turbo writing unit, the turbo writing unit is treated as a turbo data unit; and
copying the data stored in the turbo data unit into one of the MLC blocks allocated from the spare-block pool to replace the turbo data unit,wherein the turbo writing unit is formed with at least one of the MLC blocks, not all of the MLC cells of the at least one of the MLC blocks store data with all of the logical data bits on which the MLC cell is capable of storing.
1 Assignment
0 Petitions
Accused Products
Abstract
A method for managing a writing operation for a multi-level cell (MLC) nonvolatile memory by a host is provided. The MLC nonvolatile memory has a plurality of MLC blocks, each MLC cell of each MLC block can store multiple logical data bits. The method includes forming a turbo writing unit from the spare block pool; writing a data sent by the host to the turbo writing unit; and changing the role of the turbo writing unit into a turbo data unit. The turbo writing unit is formed with at least one of the MLC blocks, each MLC cell of the at least one of the MLC blocks stores a portion of the logical data bits the MLC cell is capable of storing.
42 Citations
15 Claims
-
1. A method for managing a writing operation from a host for a multi-level cell (MLC) nonvolatile memory having multiple MLC blocks, the method comprising:
-
arranging a spare block pool comprising at least a portion of the MLC blocks of the MLC nonvolatile memory available to be allocated for writing data; forming a turbo writing unit from a spare block pool; writing a data sent by the host to the turbo writing unit; after finishing writing the turbo writing unit, the turbo writing unit is treated as a turbo data unit; and copying the data stored in the turbo data unit into one of the MLC blocks allocated from the spare-block pool to replace the turbo data unit, wherein the turbo writing unit is formed with at least one of the MLC blocks, not all of the MLC cells of the at least one of the MLC blocks store data with all of the logical data bits on which the MLC cell is capable of storing. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A block structure for a multi-level cell (MLC) nonvolatile memory, the MLC nonvolatile memory having a plurality of MLC blocks, each MLC cell of each MLC block can store multiple bits of data, the block structure comprising:
-
a spare block pool, comprising at least a portion of the MLC blocks of the MLC nonvolatile memory available to be allocated for writing data; a turbo writing unit, allocated from the spare block pool for storing data from a host, wherein the turbo writing unit comprises at least one of the MLC blocks, not all of the MLC cells of the at least one of the MLC blocks store data with all of the logical data bits on which the MLC cell is capable of storing;
.a turbo data unit, wherein after finishing writing data to the turbo writing unit, the turbo writing unit is treated as the turbo data unit; and a data block, as one of the MLC blocks allocated from the spare block pool for storing the data copied from the turbo data unit. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
Specification