Data writing method, and memory controller and memory storage device using the same
First Claim
1. A data writing method, for a rewritable non-volatile memory module comprising a plurality of physical blocks, wherein a plurality of logical blocks are configured to map to a part of the physical blocks, the data writing method comprising:
- configuring a plurality of virtual block addresses to map to at least a part of the logical blocks and providing the virtual block addresses to a host system;
receiving a write command from the host system, wherein the write command instructs to write a file data to a plurality of first virtual block addresses of the virtual block addresses, and the first virtual block addresses are mapped to a plurality of first logical blocks among the at least the part of the logical blocks;
writing the file data to the physical blocks mapped to a plurality of second logical blocks of the logical blocks;
determining whether a program failure is occurred when the file data is written to the physical blocks mapped to the second logical blocks; and
if the program failure is not occurred, mapping the first virtual block addresses to the second logical blocks.
1 Assignment
0 Petitions
Accused Products
Abstract
A data writing method for a rewritable non-volatile memory module containing physical blocks is provided. The method includes: configuring virtual block address to map to at least a part of the logical blocks; receiving a write command which instructs to write file data to the first virtual block addresses, and the first virtual block addresses are mapped to first logical blocks of the at least the part of the logical blocks. The method further includes: writing the file data into the physical blocks mapped to a plurality of second logical blocks; determining whether a program failure is occurred during the writing period; and if the program failure is not occurred, the first virtual block addresses are remapped to the second logical block. Accordingly, the method can ensure the update completeness of the file data.
-
Citations
25 Claims
-
1. A data writing method, for a rewritable non-volatile memory module comprising a plurality of physical blocks, wherein a plurality of logical blocks are configured to map to a part of the physical blocks, the data writing method comprising:
-
configuring a plurality of virtual block addresses to map to at least a part of the logical blocks and providing the virtual block addresses to a host system; receiving a write command from the host system, wherein the write command instructs to write a file data to a plurality of first virtual block addresses of the virtual block addresses, and the first virtual block addresses are mapped to a plurality of first logical blocks among the at least the part of the logical blocks; writing the file data to the physical blocks mapped to a plurality of second logical blocks of the logical blocks; determining whether a program failure is occurred when the file data is written to the physical blocks mapped to the second logical blocks; and if the program failure is not occurred, mapping the first virtual block addresses to the second logical blocks. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A memory storage device comprising:
-
a connector, configured to couple to a host system; a rewritable non-volatile memory module including a plurality of physical blocks, wherein a plurality of logical blocks are configured to map to a part of the physical blocks; and a memory controller, coupled to the connector and the rewritable non-volatile memory module, wherein the memory controller configures a plurality of virtual block addresses to map to at least a part of the logical blocks, and provides the virtual block addresses to the host system, wherein the memory controller receives a write command from the host system, wherein the write command instructs to write a file data to a plurality of first virtual block addresses of the virtual block addresses, and the first virtual block addresses are mapped to a plurality of first logical blocks among the at least the part of the logical blocks, wherein the memory controller writes the file data to the physical blocks mapped to a plurality of second logical blocks of the logical blocks, wherein the memory controller determines whether a program failure is occurred when the file data is written to the physical blocks mapped to the second logical blocks, when the program failure is not occurred, the memory controller maps the first virtual block addresses to the second logical blocks. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A memory controller comprising:
-
a host interface, coupled to a host system; a memory interface, coupled to a rewritable non-volatile memory module, wherein the rewritable non-volatile memory module includes a plurality of physical blocks, wherein a plurality of logical blocks are configured to map to a part of the physical blocks; and a memory management circuit, coupled to the host interface and memory interface, wherein the memory management circuit configures a plurality of virtual block addresses to map to at least a part of the logical blocks, and provides the virtual block addresses to the host system, wherein the memory management circuit receives a write command from the host system, wherein the write command instructs to write a file data to a plurality of first virtual block addresses of the virtual block addresses, and the first virtual block addresses are mapped to a plurality of first logical blocks among the at least the part of the logical blocks, wherein the memory management circuit writes the file data to the physical blocks mapped to a plurality of second logical blocks of the logical blocks, wherein the memory management circuit determines whether a program failure is occurred when the file data is written to the physical blocks mapped to the second logical blocks, when the program failure is not occurred, the memory management circuit maps the first virtual block addresses to the second logical blocks. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25)
-
Specification