Flash memory controller and memory device for accessing flash memory module, and associated method
First Claim
Patent Images
1. A method for accessing a flash memory module, comprising:
- encoding Nth data to generate an Nth error correction code (ECC), wherein the Nth ECC is used to correct errors of the Nth data, and N is a positive integer;
writing the Nth data into the flash memory module;
writing the Nth ECC into the flash memory module;
when the Nth data is successfully written into the flash memory module, deleting at least a portion of the Nth ECC, but the Nth data is still valid in the flash memory module;
encoding (N+1)th−
(N+M)th data to generate (N+1)th−
(N+M)th ECCs, respectively, wherein the (N+1)th−
(N+M)th ECCs are used to correct errors of the (N+1)th−
(N+M)th data, respectively, and M is a positive integer;
writing the (N+1)th−
(N+M)th data into the flash memory module;
writing the (N+1)th−
(N+M)th ECCs into the flash memory module; and
when the (N+M)th data is successfully written into the flash memory module, deleting the Nth−
(N+M)th ECCs, but the Nth−
(N+M)th data are still valid in the flash memory module.
0 Assignments
0 Petitions
Accused Products
Abstract
A method for accessing a flash memory module includes: sequentially writing Nth−(N+K)th data to a plurality of flash memory chips of the flash memory module, and encoding the Nth−(N+K)th data to generate Nth−(N+K)th ECCs, respectively, where the Nth−(N+K)th ECCs are used to correct errors of the Nth−(N+K)th data, respectively, and N and K are positive integers; and writing the (N+K+1)th data to the plurality of flash memory chips of the flash memory module, and encoding the (N+K+1)th data with at least one of the Nth−(N+K)th ECCs to generate the (N+K+1)th ECC.
-
Citations
15 Claims
-
1. A method for accessing a flash memory module, comprising:
-
encoding Nth data to generate an Nth error correction code (ECC), wherein the Nth ECC is used to correct errors of the Nth data, and N is a positive integer; writing the Nth data into the flash memory module; writing the Nth ECC into the flash memory module; when the Nth data is successfully written into the flash memory module, deleting at least a portion of the Nth ECC, but the Nth data is still valid in the flash memory module; encoding (N+1)th−
(N+M)th data to generate (N+1)th−
(N+M)th ECCs, respectively, wherein the (N+1)th−
(N+M)th ECCs are used to correct errors of the (N+1)th−
(N+M)th data, respectively, and M is a positive integer;writing the (N+1)th−
(N+M)th data into the flash memory module;writing the (N+1)th−
(N+M)th ECCs into the flash memory module; andwhen the (N+M)th data is successfully written into the flash memory module, deleting the Nth−
(N+M)th ECCs, but the Nth−
(N+M)th data are still valid in the flash memory module. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A flash memory controller, arranged to access a flash memory module, and comprising:
-
a memory, arranged to store a program code; a microprocessor, arranged to execute the program code, to control access of the flash memory module; and an encoder; wherein the encoder encodes Nth data to generate an Nth error correction code (ECC), wherein the Nth ECC is used to correct errors of the Nth data, and N is a positive integer; and
the microprocessor writes the Nth data and the Nth ECC into the flash memory module; and
when the Nth data is successfully written into the flash memory module, the microprocessor deletes at least a portion of the Nth ECC, but the Nth data is still valid in the flash memory module;wherein the encoder encodes (N+1)th−
(N+M)th data to generate (N+1)th−
(N+M)th ECCs, respectively, wherein the (N+1)th−
(N+M)th ECCs are used to correct errors of the (N+1)th−
(N+M)th data, respectively, and M is a positive integer; and
the microprocessor writes the (N+1)th−
(N+M)th data and the (N+1)th−
(N+M)th ECCs into the flash memory module; and
when the (N+M)th data is successfully written into the flash memory module, the microprocessor deletes the Nth−
(N+M)th ECCs, but the Nth−
(N+M)th data are still valid in the flash memory module. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A memory apparatus, comprising:
-
a flash memory module; and a flash memory controller, arranged to access the flash memory module; wherein the flash memory controller encodes Nth data to generate an Nth error correction code (ECC), wherein the Nth ECC is used to correct errors of the Nth data, and N is a positive integer; and
the flash memory controller writes the Nth data and the Nth ECC into the flash memory module; and
when the Nth data is successfully written into the flash memory module, the flash memory controller deletes at least a portion of the Nth ECC, but the Nth data is still valid in the flash memory module;wherein the flash memory controller encodes (N+1)th−
(N+M)th data to generate (N+1)th−
(N+M)th ECCs, respectively, wherein the (N+1)th−
(N+M)th ECCs are used to correct errors of the (N+1)th−
(N+M)th data, respectively, and M is a positive integer; and
the flash memory controller writes the (N+1)th−
(N+M)th data and the (N+1)th−
(N+M)th ECCs into the flash memory module; and
when the (N+M)th data is successfully written into the flash memory module, the flash memory controller deletes the Nth−
(N+M)th ECCs, but the Nth−
(N+M)th data are still valid in the flash memory module.
-
Specification