FLASH MEMORY CONTROLLER, ERROR CORRECTION CODE CONTROLLER THEREIN, AND THE METHODS AND SYSTEMS THEREOF
First Claim
1. A flash memory controller, comprising:
- a flash memory interface controller;
a host interface controller;
an error correction code (ECC) encoder configured to receive information data from the host interface controller and generate first ECC data with variable lengths in response to the information data to store in a flash memory;
an ECC divider configured to divide each of the first ECC data into one or more ECC segments according to the length of the first ECC datum and forward the ECC segments to the flash memory interface controller;
an ECC constructor configured to receive one or more of the ECC segments from the flash memory interface controller and generate a second ECC datum by combining the received ECC segments for each of the information data read from the flash memory; and
an ECC decoder configured to correct errors of the information data read from the flash memory based on the information data and the second ECC data and forward the corrected information data to the host interface controller.
1 Assignment
0 Petitions
Accused Products
Abstract
An ECC controller comprises an ECC encoder, an ECC divider, an ECC constructor and an ECC decoder. The ECC encoder is configured to generate ECC data with different lengths in response to information data to be stored into a flash memory. The ECC divider is configured to divide each ECC datum generated by the ECC encoder into one or more ECC segments according to the length of the ECC datum. The ECC constructor is configured to generate an ECC datum by combining one or more ECC segments for each information datum read from the flash memory. The ECC decoder is configured to correct the errors of the information data read from the flash memory device by using the ECC data generated by the ECC constructor.
-
Citations
34 Claims
-
1. A flash memory controller, comprising:
-
a flash memory interface controller; a host interface controller; an error correction code (ECC) encoder configured to receive information data from the host interface controller and generate first ECC data with variable lengths in response to the information data to store in a flash memory; an ECC divider configured to divide each of the first ECC data into one or more ECC segments according to the length of the first ECC datum and forward the ECC segments to the flash memory interface controller; an ECC constructor configured to receive one or more of the ECC segments from the flash memory interface controller and generate a second ECC datum by combining the received ECC segments for each of the information data read from the flash memory; and an ECC decoder configured to correct errors of the information data read from the flash memory based on the information data and the second ECC data and forward the corrected information data to the host interface controller. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 20)
-
-
12. An error correction code (ECC) controller for a flash memory, comprising:
-
an ECC encoder configured to generate first ECC data with variable length in response to information data to be stored in a flash memory; an ECC divider configured to divide each of the first ECC data into one or more ECC segments according to the length of the first ECC datum; an ECC constructor configured to generate an ECC datum by combining one or more ECC segments for each information datum read from the flash memory; and an ECC decoder configured to correct the errors of the information data read from the flash memory by using the ECC data generated by the ECC constructor. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
21. A method for encoding error correction code (ECC) data for information data to be stored in a flash memory, comprising:
-
generating an ECC datum in response to an information datum to be stored in a flash memory; dividing the ECC datum into one or more ECC segments; storing the information datum to a flash page of a flash block of the flash memory; and storing the ECC segments to a plurality of the flash pages of the flash block of the flash memory. - View Dependent Claims (22, 23, 24, 25, 26, 28, 29, 30, 31, 33, 34)
-
-
27. A method for correcting errors of information data stored in a flash memory, comprising:
-
reading an information datum stored in a flash memory; combining one or more ECC segments stored in the flash memory into an ECC datum corresponding to the information datum; and correcting errors of the information datum by decoding the ECC codeword formed by the information datum and the ECC datum. - View Dependent Claims (32)
-
Specification