METHOD OF FACILITATING RELIABLY ACCESSING FLASH MEMORY
First Claim
1. A method of facilitating reliably accessing flash memory comprising the steps of:
- (a) determining whether data is to be read out or write in;
(b) if the result of step(a) is to be write-in, coding a number of N write-in data to generate a number of K extra data, generating the first error correction code by using an error-correcting operation to the N write-in data and K extra data, and storing the N write-in data and the generated K extra data into the data area and the first ECC into the spare area; and
(c) if the result of step(a) is to be read out, allocating a plurality of counters in the main memory;
(d) each bit in the data area of the target flash-memory page'"'"'s data area corresponding to a counter for accumulating a number of differences between the first and the second error correction codes (ECCs) associated to each flash-memory page;
(e) reading data from the data area of the flash-memory page to generate the second ECC and reading the first ECC from the spare area of the flash-memory page, counting with the counter a number of bit differences between the first ECC and the second ECC, and selecting a number of M data from the N write-in data and the K extra data as decoding factors to retrieve the N write-in data by using reverse operation of original adopted operation of coding in step (b).
1 Assignment
0 Petitions
Accused Products
Abstract
A method of facilitating reliably accessing flash memory is provided. During the write-in process, the present invention utilizes the steps of coding write-in data to generate extra data, and then generating the first error correction code by performing an error-correcting operation on the write-in data and the extra data. Finally, store the N write-in data and the generated K extra data into the data area and the first ECC into the spare area. During read process, the present invention utilizes the steps of reading data from the data area of the target flash-memory page to generate the second ECC, counting with the counter a number of bit differences between the first ECC and the second ECC, and selecting M data from the N write-in data and the K extra data as decoding factors to retrieve the N write-in data. The higher the counter values, the lower the likelihood the corresponding bit is selected to be retrieved.
-
Citations
7 Claims
-
1. A method of facilitating reliably accessing flash memory comprising the steps of:
-
(a) determining whether data is to be read out or write in; (b) if the result of step(a) is to be write-in, coding a number of N write-in data to generate a number of K extra data, generating the first error correction code by using an error-correcting operation to the N write-in data and K extra data, and storing the N write-in data and the generated K extra data into the data area and the first ECC into the spare area; and (c) if the result of step(a) is to be read out, allocating a plurality of counters in the main memory; (d) each bit in the data area of the target flash-memory page'"'"'s data area corresponding to a counter for accumulating a number of differences between the first and the second error correction codes (ECCs) associated to each flash-memory page; (e) reading data from the data area of the flash-memory page to generate the second ECC and reading the first ECC from the spare area of the flash-memory page, counting with the counter a number of bit differences between the first ECC and the second ECC, and selecting a number of M data from the N write-in data and the K extra data as decoding factors to retrieve the N write-in data by using reverse operation of original adopted operation of coding in step (b). - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification