IP Library Granted Patent US 9,934,085
Granted Patent B2
US 9,934,085 · App. 14/785,071 · Granted Apr 3, 2018

Invoking an error handler to handle an uncorrectable error

Inventors: Doe-Hyun Yoon (Palo Alto, CA); Jichuan Chang (Palo Alto, CA); Naveen Muralimanohar (Palo Alto, CA); Parthasarathy Ranganathan (Palo Alto, CA); Robert Schreiber (Palo Alto, CA); Norman Paul Jouppi (Palo Alto, CA)
Assignee: Hewlett Packard Enterprise Development LP
G06F11/085G06F11/1048G06F11/1471G06F17/30424G06F11/1469
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,934,085
App. No.
14/785,071
Granted
Apr 3, 2018
Kind
B2
Abstract

A detector detects, using an error code, an error in data stored in a memory. The detector determines whether the error is uncorrectable using the error code. In response to determining that the error is uncorrectable, an error handler associated with an application is invoked to handle the error in the data by recovering the data to an application-wide consistent state.

Claims (46)

1. A method comprising:

detecting, by a detector in a memory controller using an error checking and correcting code, an error in data stored in a memory;

determining, by the detector, whether the error is uncorrectable using the error code;

in response to determining that the error is uncorrectable, sending, by the detector to a processor, an uncorrectable error indication and an address of a memory location relating to the error; and

invoking, at the processor and in response to the uncorrectable error indication, an error handler that is part of an application to handle the error in the data by retrieving, by the error handler based on the address of the memory location relating to the error, a version of the data from a data store, and using a transaction log to recover the data to an application-wide consistent state from the retrieved version of the data.

2. The method of claim 1 , wherein the application manages storage of data in data structures stored in the memory and persistent storage.

3. The method of claim 2 , wherein the application is a database management application.

4. The method of claim 2 , wherein the application is an application that performs intermittent checkpointing of data in the memory to the data store, and that maintains the transaction log including information relating to transactions that have modified data,

wherein using the transaction log to recover the data to the application-wide consistent basis comprises using the information relating to the transactions that have modified data.

5. The method of claim 4 , wherein the information included in the transaction log includes redo information and undo information, and wherein using the information relating to the transactions that have modified data to recover the data to the application-wide consistent basis comprises:

applying the redo information to re-apply a transaction of the transaction log to a portion of the retrieved version of data; and

applying the undo information to undo a modification of another portion of the retrieved version of data.

6. The method of claim 5 , wherein applying the undo information to undo a modification of the another portion of the retrieved version of data is performed in response to:

a transaction that produced the another portion of the retrieved version of data not having been committed, and

the another portion of the retrieved version of data having been checkpointed by the checkpointing.

7. The method of claim 1 , wherein detecting the error is performed by the detector that is a hardware-based detector.

8. The method of claim 1 , wherein retrieving the version of data comprises retrieving the version of the data from checkpointed data.

9. The method of claim 8 , further comprising:

applying redo or undo information in the transaction log to the retrieved version of data to recover the data to the application-wide consistent state.

10. The method of claim 1 , further comprising:

detecting that a memory region has experienced repeated uncorrectable errors; and

decommissioning the memory region.

11. The method of claim 1 , further comprising: translating, by the error handler, the address of the memory location relating to the error sent by the error detector in the memory controller to a virtual address, the retrieved version of the data being at the virtual address.

12. The method of claim 1 , further comprising:

in response to the uncorrectable error indication, interrupting the processor; and

invoking, by the interrupted processor, the error handler.

13. An apparatus comprising:

a memory controller comprising an error detector to:

receive data and an associated error checking and correcting code from a memory;

determine, using the error checking and correcting code, whether the data has an error that is uncorrectable; and

in response to determining that the data has an uncorrectable error, send an uncorrectable error indication and an address of a memory location relating to the error to a processor; and

an error handler associated with an application to be invoked at the processor in response to the uncorrectable error indication, the invoked error handler to recover the data to an application-wide consistent state by retrieving, using the address of the memory location relating to the error sent by the error detector, a version of the data from a data store, and applying a modification indicated by a transaction log to the retrieved version of the data.

14. The apparatus of claim 13 , wherein the transaction log includes redo information and undo information, and wherein the error handler is to use the transaction log to recover the data to the application-wide consistent basis by:

applying the redo information to re-apply a transaction of the transaction log to a portion of the retrieved version of data; and

applying the undo information to undo a modification of another portion of the retrieved version of data.

15. An electronic device comprising:

a persistent storage to store a transaction log containing information pertaining to a transaction that has modified data;

a memory; an application including an error handler, wherein the application is to manage storage of data in data structures in the persistent storage and the memory;

a memory controller comprising an error detector to:

detect, using an error code retrieved from the memory, an uncorrectable error in data retrieved from the memory;

in response to the uncorrectable error, send an uncorrectable error indication and an address of a memory location relating to the error, the uncorrectable error indication to cause invocation of the error handler,

wherein the error handler is to recover the data of the memory to an application-wide consistent state by using the transaction log and by retrieving a version of the data from the persistent storage based on the address of the memory location relating to the error sent by the memory controller.

16. The electronic device of claim 15 , wherein the error handler is to:

recover the data by retrieving checkpointed data from the persistent storage and applying the transaction on the checkpointed data.

17. The electronic device of claim 15 , wherein the error handler is to translate the address of the memory location relating to the error sent by the memory controller to a virtual address.

18. The electronic device of claim 15 , wherein the error handler is to perform single-page recovery of the data of the memory.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2017
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 044310/0871 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2015
From: YOON, DOE HYUN; CHANG, JICHUAN; MURALIMANOHAR, NAVEEN; RANGANATHAN, PARTHASARATHY; SCHREIBER, ROBERT; JOUPPI, NORMAN PAUL
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 036810/0035 →
Continuity (1)
Related Publication 20160062821A1 · Mar 3, 2016