Circuit and method for correcting erroneous data in memory for pipelined reads
First Claim
1. A memory controller comprising:
- a control unit configured to read data including an associated error correction code from a memory subsystem in response to a memory read request;
a storage unit coupled to said control unit;
an error detection and correction unit coupled to receive said data and configured to determine whether an error exists in said data based upon said associated error correction code;
wherein said control unit is configured to store an indication in said storage unit that said data corresponding to said memory read request is erroneous; and
wherein said control unit is further configured to subsequently detect said indication in said storage unit and to responsively perform a subsequent read of said data from said memory subsystem and to write a corrected version of said data within said memory subsystem.
1 Assignment
0 Petitions
Accused Products
Abstract
A circuit and method for correcting erroneous data in memory for pipelined reads. A memory controller includes a control unit, a storage unit and an error detection and correction unit. The control unit is configured to read data including an associated error correction code from a memory subsystem in response to a memory read request. The error detection and correction unit is coupled to receive the data and configured to determine whether an error exists in that data based upon the associated error correction code. The control unit is configured to store an indication in the storage unit that the data corresponding to the memory read request is erroneous. The control unit is further configured to detect the indication in the storage unit and to responsively perform a subsequent read of the data from the memory subsystem and to write a corrected version of the data back to the memory subsystem.
-
Citations
15 Claims
-
1. A memory controller comprising:
-
a control unit configured to read data including an associated error correction code from a memory subsystem in response to a memory read request; a storage unit coupled to said control unit; an error detection and correction unit coupled to receive said data and configured to determine whether an error exists in said data based upon said associated error correction code; wherein said control unit is configured to store an indication in said storage unit that said data corresponding to said memory read request is erroneous; and wherein said control unit is further configured to subsequently detect said indication in said storage unit and to responsively perform a subsequent read of said data from said memory subsystem and to write a corrected version of said data within said memory subsystem. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A data processing system comprising:
-
a processor; a memory subsystem configured to store data; a system controller including a memory controller coupled between said processor and said memory subsystem, wherein said memory controller includes; a control unit configured to read data including an associated error correction code from a memory subsystem in response to a memory read request; a storage unit coupled to said control unit; an error detection and correction unit coupled to receive said data and configured to determine whether an error exists in said data based upon said associated error correction code; wherein said control unit is configured to store an indication in said storage unit that said data corresponding to said memory read request is erroneous; and wherein said control unit is further configured to subsequently detect said indication in said storage unit and to responsively perform a subsequent read of said data from said memory subsystem and to write a corrected version of said data within said memory subsystem. - View Dependent Claims (7, 8, 9, 10)
-
-
11. A method of correcting erroneous data in a memory of a memory subsystem, said method comprising:
-
reading data including an associated error correction code from said memory subsystem in response to a memory read request; receiving said data and determining whether an error exists in said data based upon said associated error correction code; storing an indication that said data corresponding to said memory read request is erroneous; and subsequently detecting said indication and responsively performing a subsequent read of said data from said memory subsystem and writing a corrected version of said data within said memory subsystem. - View Dependent Claims (12, 13, 14, 15)
-
Specification