IP Library › Granted Patent US 9,690,640
Granted Patent B2
US 9,690,640 · App. 14/038,334 · Granted Jun 27, 2017

Recovery from multiple data errors

Inventors: Raanan Sade (Kibutz Gvat, IL); Ron Gabor (Ra'anana, IL); Deep K. Buch (Folsom, CA); Theodros Yigzaw (Sherwood, OR); Stanislav Shwartsman (Haifa, IL)
Assignee: Intel Corporation
G06F11/073G06F11/0793G06F11/08
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 9,690,640
App. No.
14/038,334
Granted
Jun 27, 2017
Kind
B2
Abstract

Mechanisms for handling multiple data errors that occur simultaneously are provided. A processing device may determine whether multiple data errors occur in memory locations that are within a range of memory locations. If the multiple memory locations are within the range of memory locations, the processing device may continue with a recovery process. If one of the multiple memory locations is outside of the range of memory locations, the processing device may halt the recovery process.

Claims (44)

1. A hardware processor comprising:

an execution unit communicatively coupled to a memory; and error recovery logic coupled to the execution unit, the error recovery logic to:

detect a first error within a first memory location accessed by the execution unit;

initiate a recovery process to recover from at least the first error, wherein the initiated recovery process is for a determined range of memory locations comprising the first memory location;

detect a second error within a second memory location accessed by the execution unit;

determine whether the first memory location and the second memory location are in the determined range of memory locations for the initiated recovery process;

continue the recovery process in response to the first memory location and the second memory location being in the determined range of memory locations; and

halt the initiated recovery process for the first error within the first memory location in response to the second error within the second memory location occurring outside of the determined range of memory locations, wherein the second error is recoverable.

2. The hardware processor of claim 1 , wherein the error recovery logic is to detect the first error by receiving a first indication from a device that the first error has occurred at the first memory location and wherein the error recovery logic is to detect the second error by receiving a second indication from the device that the second error has occurred at the second memory location.

3. The hardware processor of claim 1 , wherein the error recovery logic is to determine whether the first memory location and the second memory location are in the range of memory locations by the error recovery logic further to:

determine the range of memory locations based on a starting memory location and a range indicator; or

determine multiple ranges of memory locations based on multiple starting memory locations and multiple range indicators.

4. The hardware processor of claim 3 , wherein the error recovery logic is further to receive first data indicating the starting memory location and the range indicator from a component external to the hardware processor.

5. The hardware processor of claim 1 , wherein the first error comprises one or more of an error check code (ECC) error, a parity error, a system bus error, a cache error, or a translation lookaside buffer (TLB) error, etc.

6. The hardware processor of claim 1 , wherein the recovery process is to record one or more of an address of first memory location, an identifier for an instruction that accessed the first memory location, or data stored in the first memory location.

7. The hardware processor of claim 1 , wherein the range of memory locations comprises a plurality of consecutive memory locations.

8. A method comprising:

detecting, using a processing device, a first error within a first memory location in a memory device;

initiating, using the processing device, a recovery process to recover from at least the first error, wherein the initiated recovery process is for a determined range of memory locations comprising the first memory location:

detecting a second error within a second memory location in the memory device;

determining, using the processing device, whether the first memory location and the second memory location are in the determined range of memory locations for the initiated recovery process:

continuing the recovery process in response to the first memory location and the second memory location being in the determined range of memory locations; and

halting the initiated recovery process for the first error within the first memory location in response to the second error within the second memory location occurring outside of the determined range of memory locations, wherein the second error is recoverable.

9. The method of claim 8 , wherein detecting the first error comprises receiving a first indication from a device that the first error has occurred at the first memory location and wherein detecting the second error comprises receiving a second indication from the device that the second error has occurred at the second memory location.

10. The method of claim 8 , wherein determining whether the first memory location and the second memory location are in the range of memory locations comprises:

determining the range of memory locations based on a starting memory location and a range indicator; or

determining multiple ranges of memory locations based on multiple starting memory locations and multiple range indicators.

11. The method of claim 10 , further comprising receiving first data indicating the starting memory location and the range indicator from a component external to a processor.

12. The method of claim 8 , wherein the recovery process is to record one or more of an address of first memory location, an identifier for an instruction that accessed the first memory location, or data stored in the first memory location.

13. A system comprising:

a memory to store data; and

a hardware processor communicatively coupled to the memory, the hardware processor to:

detect a first error within a first memory location accessed by the hardware processor;

initiate a recovery process to recover from at least the first error, wherein the initiated recovery process is for a determined range of memory locations comprising the first memory location;

detect a second error within a second memory location accessed by the hardware processor;

determine whether the first memory location and the second memory location are in the determined range of memory locations;

continue the recovery process in response to the first memory location and the second memory location being in the determined range of memory locations; and

halt the initiated recovery process for the first error within the first memory location in response to the second error within the second memory location occurring outside of the determined range of memory locations, wherein the second error is recoverable.

14. The system of claim 13 , wherein the hardware processor is to detect the first error by receiving a first indication from a device that the first error has occurred at the first memory location and wherein the hardware processor is to detect the second error by receiving a second indication from the device that the second error has occurred at the second memory location.

15. The system of claim 13 , wherein the hardware processor is to determine whether the first memory location and the second memory location are in the range of memory locations by the hardware processor further to:

determine the range of memory locations based on a starting memory location and a range indicator; or

determine multiple ranges of memory locations based on multiple starting memory locations and multiple range indicators.

16. The system of claim 15 , wherein the hardware processor is further to receive first data indicating the starting memory location and the range indicator from a component external to the hardware processor.

17. The system of claim 13 , wherein the recovery process is to record one or more of an address of first memory location, an identifier for an instruction that accessed the first memory location, or data stored in the first memory location.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2014
From: SADE, RAANAN; GABOR, RON; BUCH, DEEP K.; YIGZAW, THEODROS; SHWARTSMAN, STANISLAV
To: INTEL CORPORATION
Reel/Frame 033615/0266 →
Continuity (1)
Related Publication 20150089280A1 · Mar 26, 2015