Flash memory Device Error Correction Code Controllers and Related Methods and Memory Systems
First Claim
1. An error correction code (ECC) controller for a flash memory device that stores M-bit data per memory cell, M being a positive integer equal to or greater than 2, the ECC controller comprising:
- an encoder that is configured to generate first ECC data in response to input data that is to be stored in the flash memory device using a first error correction scheme and that is configured to generate second ECC data in response to the input data using a second error correction scheme; and
a decoder that is configured to calculate the number of errors in data read from the flash memory device and to correct the errors in the read data using one of the first ECC data or the second ECC data selectively according to the number of the errors.
1 Assignment
0 Petitions
Accused Products
Abstract
An ECC controller for a flash memory device storing M-bit data (M: a positive integer equal to or greater than 2) includes an encoder and a decoder. The encoder generates first ECC data for input data to be stored in the flash memory device using a first error correction scheme and generates second ECC data for the input data using a second error correction scheme. The input data, the first ECC data, and the second ECC data are stored in the flash memory device. The decoder calculates the number of errors in data read from the flash memory device and corrects the errors in the read data using one of the first ECC data and the second ECC data selectively based on the number of the errors.
198 Citations
28 Claims
-
1. An error correction code (ECC) controller for a flash memory device that stores M-bit data per memory cell, M being a positive integer equal to or greater than 2, the ECC controller comprising:
-
an encoder that is configured to generate first ECC data in response to input data that is to be stored in the flash memory device using a first error correction scheme and that is configured to generate second ECC data in response to the input data using a second error correction scheme; and a decoder that is configured to calculate the number of errors in data read from the flash memory device and to correct the errors in the read data using one of the first ECC data or the second ECC data selectively according to the number of the errors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for correcting data errors, the method comprising:
-
receiving first data that is to be stored in a flash memory device; generating first error correction code (ECC) data for the first data using a first error correction scheme; generating second error correction code (ECC) data for the first data using a second error correction scheme; storing the first data, the first ECC data, and the second ECC in the flash memory device; reading the first data from the flash memory device; determining the number of errors in the read first data; and correcting the errors in the first data using one of the first ECC data or the second ECC data selectively based on -the determined number of the errors. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. A method for correcting errors in data that is stored in a flash memory device, the method comprising:
-
reading the data along with first error correction code (ECC) data and second ECC data from the flash memory device; determining a number of errors in the read data; and selecting one of the first ECC data or the second ECC data for use in correcting the errors in the read data based on the determined number of the errors. - View Dependent Claims (20, 21)
-
-
22. A memory system comprising:
-
a flash memory device that is configured to store M-bit data, M being a positive integer equal to or greater than 2; and a memory controller that is configured to control the flash memory device, the memory controller comprising; an encoder that is configured to generate first ECC data in response to input data that is to be stored in the flash memory device by using a first error correction scheme and that is configured to generate second ECC data in response to the input data by using a second error correction scheme, the input data, the first ECC data, and the second ECC data being stored in the flash memory device; and a decoder that is configured to calculate the number of errors in data read from the flash memory device and to correct the errors in the read data using one of the first ECC data or the second ECC data selectively according to the number of errors. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
Specification