Multi-channel memory system including error correction decoder architecture with efficient area utilization
First Claim
Patent Images
1. A memory system, comprising:
- first and second memory devices; and
a memory controller configured during a read operation to read encoded data stored in both of the first and second memory devices via respective first and second communication channels, wherein the first communication channel communicates a first data set of the encoded data from the first memory device to the memory controller in parallel with the second communication channel communicating a second data set of the encoded data from the second memory device to the memory controller, the memory controller comprising;
a first error detector dedicated to the first communication channel and configured to generate first values indicating first errors in the first data set, and a second error detector dedicated to the second communication channel and configured to generate second values indicating second errors in the second data set in parallel with the generation of the first values;
a multiplexer that selects between the first and second values to generate multiplexed error detection information; and
an error corrector configured to correct the first and second errors in the first and second data sets in response to the multiplexed error detection information.
1 Assignment
0 Petitions
Accused Products
Abstract
A memory system includes: a memory controller including an error correction decoder. The error correction decoder includes: a demultiplexer adapted to receive data and demultiplex the data into a first set of data and a second set of data; first and second buffer memories for storing the first and second sets of data, respectively; an error detector; an error corrector; and a multiplexer adapted to multiplex the first set of data and the second set of data and to provide the multiplexed data to the error corrector. While the error corrector corrects errors in the first set of data, the error detector detects errors in the second set of data stored in the second buffer memory.
68 Citations
25 Claims
-
1. A memory system, comprising:
-
first and second memory devices; and a memory controller configured during a read operation to read encoded data stored in both of the first and second memory devices via respective first and second communication channels, wherein the first communication channel communicates a first data set of the encoded data from the first memory device to the memory controller in parallel with the second communication channel communicating a second data set of the encoded data from the second memory device to the memory controller, the memory controller comprising; a first error detector dedicated to the first communication channel and configured to generate first values indicating first errors in the first data set, and a second error detector dedicated to the second communication channel and configured to generate second values indicating second errors in the second data set in parallel with the generation of the first values; a multiplexer that selects between the first and second values to generate multiplexed error detection information; and an error corrector configured to correct the first and second errors in the first and second data sets in response to the multiplexed error detection information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A memory system, comprising:
-
a memory controller having a first input port for communication with a first memory device via a first communication channel, a second input port for communication with a second memory device via a second communication channel, and an error decoder that is receives multiplexed decoding data collectively received from the first and the second communication channels, wherein the error decoder is a convolutional decoder and comprises; a first branch metrics calculator that calculate first branch metrics for a first data set data received via the first communication channel; a second branch metrics calculator that calculate second branch metrics for a second data set received via the second communication channel; an error corrector that corrects first and second errors respectively in the first and second data sets; and a multiplexer having first and second inputs respectively connected to outputs of the first and second branch metrics calculators, and having an output connected to an input of the error corrector, wherein the error decoder comprises first and second error detectors respectively dedicated to the first and second communication channels, the first error detector detecting the first errors while the second error detector detects the second errors.
-
-
12. A method of processing data received in a memory controller from first and second memory devices, the method comprising:
-
receiving in the memory controller a first data set from the first memory device via a dedicated first communication channel, a second data set from the second memory device via a dedicated second communication channel in parallel with receiving the first data set, a third data set from the first memory device via the first communication channel subsequent to the first data set, and a fourth data set from the second memory device via the second communication channel subsequent to the second data set and in parallel with receiving the third data set; detecting first errors in the first data set using a first error detector dedicated to the first communication channel and generating corresponding first values, while at the same time detecting second errors in the second data set using a second error detector dedicated to the second communication channel and generating corresponding second values; selecting between the first and second values respectively provided to a multiplexer by the first and second detectors; correcting the first errors in the first data set in an error corrector using the first values passed by the multiplexer, and then subsequently correcting the second errors in the second data set in the error corrector using the second values passed by the multiplexer; and detecting third errors in the third data set while detecting fourth errors in the fourth data set, while also correcting the first errors in the first data set. - View Dependent Claims (13, 14, 15)
-
-
16. An error decoder used in a memory controller to correct errors in encoded data read from first and second memory devices during a read operation, the error decoder comprising:
-
a first error detector that receives a first data set of the encoded data from the first memory device via a dedicated first communication channel; a second error detector that receives a second data set of the encoded data from the second memory device via a dedicated second communication channel in parallel with the first error detector receiving the first data set, wherein the first error detector generates first values indicating first errors in the first data set in parallel with the second error detector generating second values indicating second errors in the second data set; a multiplexer that selects between the first and second values to generate multiplexed error detection information; and an error corrector configured to sequentially correct the first errors in the first data set using the multiplexed error detection information, and then the second errors in the second data set using the multiplexed error detection information. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification