IP Library › Granted Patent US 10,025,647
Granted Patent B2
US 10,025,647 · App. 13/709,290 · Granted Jul 17, 2018

Memory poisoning with hints

Inventor: Thanunathan Rangarajan (Karnataka, IN)
Assignee: Intel Corporation
G06F11/004G06F11/073G06F11/0763G06F11/0775
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 10,025,647
App. No.
13/709,290
Granted
Jul 17, 2018
Kind
B2
Abstract

A method and system for storing hints in poisoned data of a computer system memory includes receiving poisoned data in a component of the system; forwarding the poisoned data to a memory controller of the system; and forwarding additional data regarding the poisoned data to a memory controller. The memory controller writes the poisoned data to the system memory wherein the written poisoned data includes a poison signature and a hint based on the additional data regarding the poisoned data; and when the written poisoned data is read signaling a system error and returning the poison signature and the hint to a system software of the system.

Claims (46)

1. A method for storing hints in poisoned data in a system memory of a computer system, the method comprising:

receiving poisoned data in a component of the computer system, wherein the poisoned data is transmitted to the receiving component from a source component in the computer system;

forwarding the poisoned data from the receiving component to a memory controller of the computer system;

forwarding additional data regarding the poisoned data from the receiving component to the memory controller, wherein the additional data forwarded by the receiving component regarding the poisoned data includes suggested actions for handling the poisoned data;

writing the poisoned data to the system memory, wherein the poisoned data is written by the memory controller in response to receiving the poisoned data from the receiving component, and wherein the written poisoned data includes, in addition to the poisoned data, a poison signature and a separate hint based on the additional data regarding the poisoned data; and

signaling, by the memory controller, a system error and returning the poison signature and the hint to a system software of the computer system if the written poisoned data is read.

2. The method of claim 1 , wherein the component of the computer system that receives the poisoned data is one of: i) a PCI Express Root Port; ii) a Last Level Cache; or iii) an input/output controller.

3. The method of claim 1 , wherein:

the additional data regarding the poisoned data identifies the source component.

4. The method of claim 1 , wherein the suggested actions include at least one of: i) System Management Interrupt; ii) Machine Check Exception; iii) Message Signaled Interrupt; or iv) resetting the computer system.

5. The method of claim 3 , wherein the hint includes a data field that contains information regarding the source component.

6. The method of claim 1 , wherein the hint includes a data field that contains information regarding the source component and suggested actions for handling the poisoned data.

7. The method of claim 6 , wherein the suggested actions include at least one of: i) System Management Interrupt; ii) Machine Check Exception; iii) Message Signaled Interrupt; or iv) resetting the computer system.

8. The method of claim 3 , wherein the hint includes a pointer to an index of a hint table in the system memory and the index contains information regarding the source component.

9. The method of claim 1 , wherein the hint includes a pointer to an index of a hint table in the system memory and the index contains information regarding the source component and suggested actions for handling the poisoned data.

10. The method of claim 9 , wherein the suggested actions include at least one of: i) System Management Interrupt; ii) Machine Check Exception; iii) Message Signaled Interrupt; or iv) resetting the computer system.

11. The method of claim 2 , wherein the component of the computer system that receives the poisoned data is a Last Level Cache; the source component is a protected memory region of the system memory; and the hint includes an indication that the source component is under malware attack.

12. A system for storing hints in poisoned data comprising:

at least one processor;

at least one memory device;

a source component

at least one component configured to receive poisoned data from the source component and forward the poisoned data and additional data regarding the poisoned data, wherein the additional data forwarded by the at least one component receiving the poisoned data includes suggested actions for handling the poisoned data; and

at least one memory controller configured to:

receive the poisoned data and the additional data regarding the poisoned data from the at least one component;

write the poisoned data to the at least one memory device in response to receiving the poisoned data from the at least one component, wherein the written poisoned data includes, in addition to the poisoned data, a poison signature and a separate hint based on the additional data regarding the poisoned data; and

signal a system error and return the poison signature and the hint to a system software if the written poisoned data is read.

13. The system of claim 12 , wherein the at least one component configured to receive poisoned data is one of: i) a PCI Express Root Port; ii) a Last Level Cache; or iii) an input/output controller.

14. The system of claim 12 , wherein:

the additional data regarding the poisoned data identifies the source component.

15. The system of claim 14 , wherein the hint includes a data field containing information regarding the poisoned data including: i) the source component; ii) suggested actions for handling the poisoned data; or iii) both i and ii.

16. The system of claim 14 , wherein the hint includes a pointer to an index of a hint table in the at least one memory device and the index contains information regarding the poisoned data including: i) the source component; ii) suggested actions for handling the poisoned data; or iii) both i and ii.

17. The system of claim 14 , wherein the suggested actions include at least one of: i) System Management Interrupt; ii) Machine Check Exception; iii) Message Signaled Interrupt; or iv) resetting the computer system.

18. The system of claim 15 , wherein the suggested actions include at least one of: i) System Management Interrupt; ii) Machine Check Exception; iii) Message Signaled Interrupt; or iv) resetting the computer system.

19. The system of claim 13 , wherein the component of the computer system that receives the poisoned data is a Last Level Cache; the source component is a protected memory region of the at least one memory device; and the hint includes an indication that the source component is under malware attack.

20. A processor comprising a memory controller for storing hints in poisoned data, the memory controller including:

an arrangement for receiving poisoned data and additional data regarding the poisoned data from at least one component of a computer system which has received the poisoned data from a source component, wherein the additional data forwarded by the at least one component which has received the poisoned data includes suggested actions for handling the poisoned data;

an arrangement for writing the poisoned data to at least one memory device in response to receiving the poisoned data from the at least one component, wherein the written poisoned data includes, in addition to the poisoned data, a poison signature and a separate hint based on the additional data regarding the poisoned data; and

an arrangement for signaling a system error and returning the poison signature and the hint to a system software if the written poisoned data is read.

21. The processor of claim 20 , wherein the at least one component is one of: i) a PCI Express Root Port; ii) a Last Level Cache; or iii) an input/output controller.

22. The processor of claim 20 , wherein:

the additional data regarding the poisoned data identifies the source component.

23. The processor of claim 22 , wherein the hint includes a data field containing information regarding the poisoned data including: i) the source component; ii) suggested actions for handling the poisoned data; or iii) both i and ii.

24. The processor of claim 22 , wherein the hint includes a pointer to an index of a hint table in the at least one memory device and the index contains information regarding the poisoned data including: i) the source component; ii) suggested actions for handling the poisoned data; or iii) both i and ii.

25. The processor of claim 22 , wherein the suggested actions include at least one of: i) System Management Interrupt; ii) Machine Check Exception; iii) Message Signaled Interrupt; or iv) resetting the computer system.

26. The processor of claim 23 , wherein the suggested actions include at least one of: i) System Management Interrupt; ii) Machine Check Exception; iii) Message Signaled Interrupt; or iv) resetting the computer system.

27. The processor of claim 21 , wherein the component of the computer system is a Last Level Cache; the source component is a protected memory region of the at least one memory device; and the hint includes an indication that the source component is under malware attack.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2012
From: RANGARAJAN, THANUNATHAN
To: INTEL CORPORATION
Reel/Frame 029457/0348 →
Continuity (1)
Related Publication 20140006879A1 · Jan 2, 2014