MEMORY CONTROLLER, MEMORY SYSTEM AND METHOD
First Claim
1. A memory controller that controls a nonvolatile memory in which multi-dimensional error correction code having two or more component codes is stored, the memory controller comprising:
- a memory interface that reads out the multi-dimensional error correction code;
a receiving unit configured to acquire a received word of the multi-dimensional error correction code;
an intermediate decoded word memory that holds an intermediate decoded word of the multi-dimensional error correction code;
a decoder configured to perform a decoding process and detect information relating to an error symbol;
a recurrence information holding unit configured to hold recurrence information for reproducing the information relating to the error symbol detected by the decoding process; and
a control unit configured toinstruct the decoder to perform a first decoding process of a first component code included in the intermediate decoded word,when a first error symbol included in the first component code is detected by the first decoding process,perform a first rewriting process which is rewriting a value corresponding to the first error symbol in the intermediate decoded word, andrecord first recurrence information for reproducing a value of the first error symbol before rewriting in the recurrence information holding unit,instruct the decoder to perform a second decoding process of a second component code included in the intermediate decoded word, of which dimension is different from that of the first component code,determine whether the first rewriting process is erroneous correction based on a result of the second decoding process, andwhen it is determined that the first rewriting process is erroneous correction, perform a counter process which is undoing the first rewriting process based on the first recurrence information recorded in the recurrence information holding unit.
5 Assignments
0 Petitions
Accused Products
Abstract
According to an embodiment, a memory controller for controlling a nonvolatile memory in which multi-dimensional error correction code having two or more component codes is stored, the memory controller configured to read out the multi-dimensional error correction code; acquire a received word of the multi-dimensional error correction code; hold an intermediate decoded word of the multi-dimensional error correction code; perform a first decoding process which is decoding a first component code included in the intermediate decoded word; when a first error symbol included in the first component code is detected by the first decoding process, perform a first rewriting process which is rewriting a value corresponding to the first error symbol in the intermediate decoded word, and record first recurrence information for reproducing a value of the first error symbol before rewriting; perform a second decoding process which is decoding a second component code included in the intermediate decoded word, of which dimension is different from that of the first component code; determine whether the first rewriting process is erroneous correction based on a result of the second decoding process; and when it is determined that the first rewriting process is erroneous correction, perform a counter process which is undoing the first rewriting process based on the recorded first recurrence information.
-
Citations
20 Claims
-
1. A memory controller that controls a nonvolatile memory in which multi-dimensional error correction code having two or more component codes is stored, the memory controller comprising:
-
a memory interface that reads out the multi-dimensional error correction code; a receiving unit configured to acquire a received word of the multi-dimensional error correction code; an intermediate decoded word memory that holds an intermediate decoded word of the multi-dimensional error correction code; a decoder configured to perform a decoding process and detect information relating to an error symbol; a recurrence information holding unit configured to hold recurrence information for reproducing the information relating to the error symbol detected by the decoding process; and a control unit configured to instruct the decoder to perform a first decoding process of a first component code included in the intermediate decoded word, when a first error symbol included in the first component code is detected by the first decoding process, perform a first rewriting process which is rewriting a value corresponding to the first error symbol in the intermediate decoded word, and record first recurrence information for reproducing a value of the first error symbol before rewriting in the recurrence information holding unit, instruct the decoder to perform a second decoding process of a second component code included in the intermediate decoded word, of which dimension is different from that of the first component code, determine whether the first rewriting process is erroneous correction based on a result of the second decoding process, and when it is determined that the first rewriting process is erroneous correction, perform a counter process which is undoing the first rewriting process based on the first recurrence information recorded in the recurrence information holding unit. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of controlling a nonvolatile memory in which multi-dimensional error correction code having two or more component codes is stored, the method comprising:
-
reading out the multi-dimensional error correction code; acquiring a received word of the multi-dimensional error correction code; holding an intermediate decoded word of the multi-dimensional error correction code; performing a first decoding process which is decoding a first component code included in the intermediate decoded word; when one or more first error symbols included in the first component code are detected by the first decoding process, performing a first rewriting process which is rewriting one or more values corresponding to the one or more first error symbols in the intermediate decoded word, and recording first recurrence information for reproducing one or more values of the one or more first error symbols before rewriting; performing a second decoding process which is decoding a second component code included in the intermediate decoded word, of which dimension is different from that of the first component code; determining whether the first rewriting process is erroneous correction based on a result of the second decoding process; and when it is determined that the first rewriting process is erroneous correction, performing a counter process which is undoing the first rewriting process based on the recorded first recurrence information. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
Specification