HIERARCHICAL ERROR CORRECTION FOR LARGE MEMORIES
First Claim
1. A method comprising:
- determining presence of data errors for each of a plurality of unique memory segments of a memory region;
for each memory segment if the data error is a first type of error, correcting the data error in the memory segment;
for each memory segment if the data error is a second type of error, set a flag associated with the memory segment; and
if a flag is set for only one memory segment in the memory region, thendetermining if the data error is a third type of error, andcorrecting the data error for the memory region, if the data error is not the third type of error.
22 Assignments
0 Petitions
Accused Products
Abstract
A mechanism is provided for detecting and correcting a first number of bit errors in a segment of data stored in a memory region being read, while concurrently detecting the presence of higher numbers of bit errors in that segment of data. In the event of detection of a higher number of bit errors in any single segment of data of the memory region, error correction of that higher number of bit errors is performed on the memory region, while concurrently detecting the presence of an even higher level of bit errors. By performing error correction of higher levels of bit errors in such a hierarchical order, memory latency associated with such error correction can be avoided in the majority of data accesses, thereby improving performance of the data access.
-
Citations
20 Claims
-
1. A method comprising:
-
determining presence of data errors for each of a plurality of unique memory segments of a memory region; for each memory segment if the data error is a first type of error, correcting the data error in the memory segment; for each memory segment if the data error is a second type of error, set a flag associated with the memory segment; and if a flag is set for only one memory segment in the memory region, then determining if the data error is a third type of error, and correcting the data error for the memory region, if the data error is not the third type of error. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A memory subsystem comprising:
-
a data memory storing data in one or more memory regions, wherein each memory region comprises a plurality of unique memory segments; and an error control circuit, coupled to the data memory, and comprising a first level error detection and correction logic configured to determine a presence of data errors for each segment of a memory region, and for each memory segment, if the data error is a first type of error correct the data error in the memory segment, and if the data error is a second type of error set a flag associated with the memory segment, and a second level error detection and correction logic configured to determine if the data error is a third type of error if a flag is set for only one memory segment, and correct the data error for the memory region if the data error is not the third type of error. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19)
-
-
20. A cache memory subsystem comprising:
-
a data memory storing data in one or more cache lines, wherein each cache line comprises a plurality of unique double word segments; and an error control circuit, coupled to the data memory, and comprising a first level error detection and correction logic configured to determine a presence of data errors for each double word segment of a cache line when data from the cache line is accessed, and for each double word segment, if the data error is a single bit error then correct the single error in the double word segment, and if the data error is a double bit error then set a flag associated with the double word segment, and a second level error detection and correction logic configured to determine if the data error is a triple bit error in the cache line if a flag is set for only one double word segment, and correct the data error for the memory region if the data error is not a triple bit error.
-
Specification