Dynamic application of error correction code (ECC) based on error type
First Claim
Patent Images
1. A method for error correction in a memory subsystem, comprising:
- detecting, with ECC (error checking and correction) logic, an error in read data from a memory device during an access operation to a memory address of the memory device;
in response to detecting the error, executing a built in self-test (BIST) to determine if the error is a transient error at the memory address or a persistent error at the memory address; and
if the error is a persistent error, performing ECC in erasure mode, including correcting an erasure for the memory address prior to applying an ECC correction algorithm;
otherwise,performing full ECC correction, including applying the ECC correction algorithm without erasures, treating the error as a random bit error.
1 Assignment
0 Petitions
Accused Products
Abstract
Error correction in a memory subsystem includes determining whether an error is a transient error or a persistent error, and adjusting an approach to ECC (error checking and correction) based on error type. The type of error can be determined by a built in self-test. If the error is a persistent error, the memory controller can perform in erasure mode, including correcting an erasure for an identified error location prior to applying an ECC correction algorithm. Otherwise, if the error is transient, the memory controller can perform standard full ECC correction by applying the ECC correction algorithm.
30 Citations
20 Claims
-
1. A method for error correction in a memory subsystem, comprising:
-
detecting, with ECC (error checking and correction) logic, an error in read data from a memory device during an access operation to a memory address of the memory device; in response to detecting the error, executing a built in self-test (BIST) to determine if the error is a transient error at the memory address or a persistent error at the memory address; and if the error is a persistent error, performing ECC in erasure mode, including correcting an erasure for the memory address prior to applying an ECC correction algorithm;
otherwise,performing full ECC correction, including applying the ECC correction algorithm without erasures, treating the error as a random bit error. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A memory controller that performs error correction in a memory subsystem, comprising:
-
error checking and correction (ECC) logic to detect an error in data received from a memory device in response to a request to read a memory address of the memory device; and I/O (input/output) hardware coupled to the memory device to send a signal to cause the memory device to perform a built in self-test (BIST) of the memory address to determine if the error is a transient error or a persistent error; wherein the ECC logic is to perform ECC in erasure mode if the error is a persistent error, including to correct an erasure for the memory address prior to application of an ECC correction algorithm;
otherwise, the ECC logic is to perform full ECC correction, including application of the ECC correction algorithm without erasures, to treat the error as a random bit error. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. An electronic device with a memory subsystem, comprising:
-
multiple DRAMs (dynamic random access memory devices) each including a memory array of separately addressable memory locations; a memory controller including error checking and correction (ECC) logic to detect an error in data received from a memory device in response to a request to read a memory address of the memory device; and I/O (input/output) hardware coupled to the memory device to send a signal to cause the memory device to perform a built in self-test (BIST) of the memory address to determine if the error is a transient error or a persistent error; wherein the ECC logic is to perform ECC in erasure mode if the error is a persistent error, including to correct an erasure for the memory address prior to application of an ECC correction algorithm;
otherwise, the ECC logic is to perform full ECC correction, including application of the ECC correction algorithm without erasures, to treat the error as a random bit error; anda chassis system to couple the memory subsystem to a blade server. - View Dependent Claims (18, 19, 20)
-
Specification