Memory system, error correction device, and error correction method
According to an embodiment, a memory system includes a memory and a computation unit. Into the memory, data are written. The memory stores therein multiple check matrices. Each of the check matrices is associated with the number of errors in the written data. The computation unit is configured to perform a first error correction on the written data by selectively using, from among the check matrices, a check matrix associated with the number of errors recognized in the written data.
1. A memory system comprising:
a memory that stores therein multiple check matrices in advance, each of the multiple check matrices being associated with a number of errors in data to be written into the memory; and
computing circuitry configured to perform, when data is written into the memory, a first error correction on the written data to recognize a number of errors in the written data, and to selectively use, from among the multiple check matrices, a check matrix associated with the recognized number of errors.
2. The system according to claim 1 , wherein the computing circuitry is further configured to:
perform the first error correction by performing operation of probability values,
recognize the number of errors in the data written in the memory, and
select the check matrix associated with the recognized number of errors from among the multiple check matrices.
3. The system according to claim 2 ,
wherein the probability values are written into the memory, each of the probability values being controlled so that a probability with which each of the probability values is rewritten will be a desired probability by adjusting a write voltage, and
wherein the computing circuitry is further configured to:
perform logic operation of the probability values written in the memory,
write a result of the logic operation into the memory, and
perform the first error correction on the probability values written in the memory.
4. The system according to claim 1 , further comprising a controller configured to:
write the data into the memory, and
perform, for reducing the errors to zero, a second error correction on the data on which the first error correction is performed by the computing circuitry, the second error correction being an error correction other than the first error correction.
5. The system according to claim 1 , wherein
the memory is physically divided into a first memory and a second memory, and
the computing circuitry is provided in either one of the first memory and the second memory.
6. The system according to claim 1 , wherein
the memory is physically divided into a first memory and a second memory, and
the computing circuitry is physically divided into a first computing circuitry and a second computing circuitry, the first computing circuitry being provided in the first memory, the second computing circuitry being provided in the second memory.
7. The system according to claim 1 , wherein
the computing circuitry is provided in the memory.
8. An error correction device comprising:
a memory that stores therein multiple check matrices in advance, each of the multiple check matrices being associated with a number of errors in data to be written into the memory; and
computing circuitry provided in the memory and configured to perform, when data is written into the memory, a first error correction on the written data to recognize a number of errors in the written data, and to selectively use, from among the multiple check matrices, a check matrix associated with the recognized number of errors.
9. An error correction method comprising:
writing data into a memory by a controller, the memory storing therein multiple check matrices in advance, each of the multiple check matrices being associated with a number of errors in data to be written into the memory; and
performing, by a computing circuitry provided in the memory, when data is written into the memory, a first error correction on the written data to recognize a number of errors in the written data and to selectively use, from among the multiple check matrices, a check matrix associated with the recognized number of errors.