Data storage device and flash memory control method
First Claim
1. A data storage device, comprising:
- a flash memory including multi-level cells and single-level cells, wherein the flash memory is divided into a plurality of blocks with each block comprising a plurality of physical pages; and
a control unit, coupling the flash memory to a host and comprising a microcontroller and a random access memory,wherein;
the microcontroller is configured to use the random access memory to cache data issued from the host before writing the data into the flash memory;
the microcontroller is further configured to allocate the blocks of the flash memory to provide a first run-time write block containing multi-level cells and a second run-time write block containing single-level cells;
each physical page of data uploaded from the random access memory to the first run-time write block contains sequential data;
random data cached in the random access memory to form one physical page is written into the second run-time write block; and
when determining that a first physical page of data that has been uploaded from the random access memory to the second run-time write block contains random data, the microcontroller is configured to write a second physical page of data, cached in the random access memory after the first physical page of data, into the second run-time write block, before checking whether the second physical page of data contains random or sequential data.
1 Assignment
0 Petitions
Accused Products
Abstract
A data storage device with flash memory and a flash memory control method are disclosed, in which the flash memory includes multi-level cells (MLCs) and single-level cells (SLCs). A microcontroller is configured to use the random access memory to cache data issued from the host before writing the data into the flash memory. The microcontroller is further configured to allocate the blocks of the flash memory to provide a first run-time write block containing multi-level cells and a second run-time write block containing single-level cells. Under control of the microcontroller, each physical page of data uploaded from the random access memory to the first run-time write block contains sequential data, and random data cached in the random access memory to form one physical page is written into the second run-time write block.
-
Citations
10 Claims
-
1. A data storage device, comprising:
-
a flash memory including multi-level cells and single-level cells, wherein the flash memory is divided into a plurality of blocks with each block comprising a plurality of physical pages; and a control unit, coupling the flash memory to a host and comprising a microcontroller and a random access memory, wherein; the microcontroller is configured to use the random access memory to cache data issued from the host before writing the data into the flash memory; the microcontroller is further configured to allocate the blocks of the flash memory to provide a first run-time write block containing multi-level cells and a second run-time write block containing single-level cells;
each physical page of data uploaded from the random access memory to the first run-time write block contains sequential data;random data cached in the random access memory to form one physical page is written into the second run-time write block; and when determining that a first physical page of data that has been uploaded from the random access memory to the second run-time write block contains random data, the microcontroller is configured to write a second physical page of data, cached in the random access memory after the first physical page of data, into the second run-time write block, before checking whether the second physical page of data contains random or sequential data. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A flash memory control method, comprising:
-
providing a random access memory for a flash memory, wherein the flash memory includes multi-level cells and single-level cells and is divided into a plurality of blocks with each block comprising a plurality of physical pages; using the random access memory to cache data issued from a host before writing the data into the flash memory; and allocating the blocks of the flash memory to provide a first run-time write block containing multi-level cells and a second run-time write block containing single-level cells, wherein; each physical page of data uploaded from the random access memory to the first run-time write block contains sequential data; random data cached in the random access memory to form one physical page is written into the second run-time write block; and when determining that a first physical page of data that has been uploaded from the random access memory to the second run-time write block contains random data, a second physical page of data cached in the random access memory after the first physical page of data is written into the second run-time write block, before checking whether the second physical page of data contains random or sequential data. - View Dependent Claims (7, 8, 9, 10)
-
Specification