IP Library › Granted Patent US 7,747,932
Granted Patent B2
US 7,747,932 · App. 11/173,835 · Granted Jun 29, 2010

Reducing the uncorrectable error rate in a lockstepped dual-modular redundancy system

Assignee: Intel Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,747,932
App. No.
11/173,835
Granted
Jun 29, 2010
Kind
B2
Abstract

Embodiments of apparatuses and methods for reducing the uncorrectable error rate in a lockstepped dual-modular redundancy system are disclosed. In one embodiment, an apparatus includes two processor cores, a micro-checker, a global checker, and fault logic. The micro-checker is to detect whether a value from a structure in one core matches a value from the corresponding structure in the other core. The global checker is to detect lockstep failures between the two cores. The fault logic is to cause the two cores to be resynchronized if there is a lockstep error but the micro-checker has detected a mismatch.

Claims (54)

1. An apparatus comprising:

a first core including a first structure;

a second core including a second structure;

a micro-checker to detect whether a first value from the first structure matches a second value from the second structure;

a global checker to detect a lockstep failure between the first core and the second core; and

fault logic to cause the first core and the second core to be resynchronized if the global checker detects the lockstep failure and the micro-checker detects a mismatch between the first value and the second value, and to indicate the detection of an uncorrectable error if the global checker detects the lockstep failure and the micro-checker detects that the first value matches the second value.

2. The apparatus of claim 1 , wherein the micro-checker includes a comparator to compare the first value and the second value.

3. The apparatus of claim 1 , wherein the global checker includes a comparator to compare a first output of the first core and a second output of the second core.

4. The apparatus of claim 1 , wherein:

the first core also includes a third structure and a fourth structure;

the second core also includes a fifth structure and a sixth structure;

the first structure includes first fingerprint logic to generate the first value based on a third value from the third structure and a fourth value from a fourth structure; and

the second structure includes second fingerprint logic to generate the second value based on a fifth value from the fifth structure and a sixth value from the sixth structure.

5. The apparatus of claim 1 , wherein:

the architectural state of the first core is independent of the first value; and

the architectural state of the second core is independent of the second value.

6. The apparatus of claim 5 , wherein:

the first structure is a first prediction structure; and

the second structure is a second prediction structure.

7. The apparatus of claim 1 , wherein the fault logic is also to cause the first value and the second value to be regenerated if the global checker detects the lockstep failure and the micro-checker detects the mismatch.

8. The apparatus of claim 7 , wherein:

the first structure is a first cache;

the first result is a first cache entry;

the second structure is a second cache; and

the second result is a second cache entry.

9. The apparatus of claim 8 , wherein the fault logic is also to cause the first cache entry and the second cache entry to be reloaded if the global checker detects the lockstep failure and the micro-checker detects the mismatch.

10. A method comprising:

checking whether a first value from a first structure in a first core matches a second value from a second structure in a second core;

detecting a lockstep failure between the first core and the second core;

resynchronizing the first core and the second core if a mismatch is detected between the first value and the second value; and

indicating the detection of an uncorrectable error if the first value matches the second value.

11. The method of claim 10 further comprising:

generating the first value based on a third value from a third structure in the first core and a fourth value from a fourth structure in the first core; and

generating the second value based on a fifth value from the fifth structure in the second core and a sixth value from a sixth structure in the second core.

12. The method of claim 11 , wherein:

generating the first value includes generating a checksum based on the third value and the fourth value; and

generating the second value includes generating a checksum based on the fifth value and the sixth value.

13. The method of claim 10 , further comprising:

predicting whether a first instruction is to be executed by the first core based on the first value; and

predicting whether a second instruction is to be executed by the second core based on the second value.

14. The method of claim 10 , further comprising regenerating the first value and the second value if the mismatch is detected.

15. The method of claim 14 , further comprising:

comparing the first value to the regenerated first value;

comparing the second value to the regenerated second value;

synchronizing the first core to the second core if the second value matches the regenerated second value; and

synchronizing the second core to the first core if the first value matches the regenerated first value.

16. The method of claim 14 , wherein the first structure is a first cache, the first value is a first cache entry, the second structure is a second cache, and the second value is a second cache entry, wherein regenerating the first value and the second value includes reloading the first cache entry and the second cache entry.

17. A system comprising:

a dynamic random access memory;

a first core including a first structure;

a second core including a second structure;

a micro-checker to detect whether a first value from the first structure matches a second value from the second structure;

a global checker to detect a lockstep failure between the first core and the second core; and

fault logic to cause the first core and the second core to be resynchronized if the global checker detects the lockstep failure and the micro-checker detects a mismatch between the first value and the second value, and to indicate the detection of an uncorrectable error if the global checker detects the lockstep failure and the micro-checker detects that the first value matches the second value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2005
From: RACUNAS, PAUL B.; EMER, JOEL S.; BISWAS, ARIJIT; MUKHERJEE, SHUBHENDU S.; RAASCH, STEVEN E.
To: INTEL CORPORATION
Reel/Frame 016612/0325 →
Continuity (1)
Related Publication 20070022348A1 · Jan 25, 2007