IP Library Granted Patent US 7,770,056
Granted Patent B2
US 7,770,056 · App. 11/873,713 · Granted Aug 3, 2010

System and method for dynamic page classification for memory dumping

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,770,056
App. No.
11/873,713
Granted
Aug 3, 2010
Kind
B2
Abstract

A technique for creating memory page classification that improves memory dumping efficiency. In one example embodiment, this is accomplished by creating DPCs that substantially maps to operational hierarchy of kernel that includes modules/sub-systems that can allocate and manage the kernel. One or more DPCs associated with the kernel's modules/sub-systems that needs to dumped is then determined upon receiving a computer system panic condition. The memory pages associated with the one or more DPCs are then dumped to an external memory based on the determination.

Claims (66)

1. A method for creating dynamic page classification, comprising:

creating DPCs in a kernel by a sub-system upon computer system boot-up, wherein the kernel includes modules/sub-systems that allocate and manage the kernel;

determining whether one or more DPCs need to be dumped upon receiving a panic code generated by one of the modules/sub-systems during operation of the computer system, wherein the one or more DPCs to be dumped are determined based on association of the one or more DPCs with the received panic code; and

dumping memory pages associated with the one or more DPCs to an external memory by the sub-system based on the determination.

2. The method of claim 1 , wherein, the sub-system comprises a dump sub-system.

3. The method of claim 2 , wherein determining whether the one or more DPCs that need to be dumped upon receiving the panic code, comprises:

receiving the panic code generated by one of the modules/sub-systems upon detecting the panic condition during system operation by the dump sub-system;

creating a list of DPCs, along with associated callbacks based on the received panic code by the dump sub-system;

determining whether one or more associated DPCs needs to be dumped based on the created list of DPCs along with the associated callbacks by the one of the kernel modules/sub-systems; and

forming a list of DPCs that need to be dumped based on the determination by the dump sub-system.

4. The method of claim 3 , further comprising:

receiving DPC updates from each callback; and

determining whether the DPC updates have been received from all the associated callbacks; and

if so, updating the formed list of DPCs that need to be dumped based on the received DPC updates.

5. The method of claim 4 , wherein dumping pages associated with the one or more DPCs to the external memory further comprises:

copying contents of memory to the external memory or a device by the dump sub-system upon detecting the computer system panic condition.

6. The method of claim 1 , further comprising:

sending a request, to create a new DPC, to the dump sub-system by one of the modules/sub-systems based on pre-determined criteria; and

creating the new DPC by the dump sub-system upon receiving the request from the one of the kernel modules/sub-systems.

7. The method of claim 6 , wherein creating the new DPC comprises:

initializing necessary data structures and associated hierarchy for the new DPC;

forming a unique handle associated with the new DPC; and

sending the formed unique handle to the associated one of kernel modules/sub-systems.

8. The method of claim 1 , further comprising:

assigning the new memory page to one of the DPCs by the one of the kernel modules/sub-systems upon allocation of a new memory page; and

updating internal data structures to assign or remove the new memory page to the one of the DPCs by the dump sub-system.

9. The method of claim 1 , further comprising:

monitoring the computer system panic condition by each one of the kernel modules/sub-systems during operation of the computer system.

10. The method of claim 1 , wherein creating the DPCs comprises:

creating the DPCs such that the DPCs substantially map to kernel modules/sub-systems.

11. An article comprising:

a storage medium having instructions, that when executed by a computing platform, result in execution of a method for reducing non-local access for dynamic page classification comprising:

creating DPCs in a kernel by a dump sub-system upon computer system boot-up, wherein the kernel includes modules/sub-systems that allocate and manage the kernel;

determining whether one or more DPCs need to be dumped upon receiving a panic code generated by one of the kernel modules/sub-systems during operation of the computer system, wherein the one or more DPCs to be dumped are determined based on association of the one or more DPCs with the received panic code; and

dumping pages associated with the one or more DPCs to an external memory by the dump sub-system based on the determination.

12. The article of claim 11 , wherein determining whether the one or more DPCs that need to be dumped upon receiving the panic code, comprises:

receiving the panic code generated by one of the modules/sub-systems upon detecting the panic condition during system operation by the dump sub-system; creating a list of DPCs, along with associated callbacks based on the received panic code by the dump sub-system;

determining whether one or more associated DPCs need to be dumped based on the created list of DPCs along with the associated callbacks by the one of the kernel modules/sub-systems; and

forming a list of DPCs that need to be dumped based on the determination by the dump sub-system.

13. The article of claim 12 , further comprising:

receiving DPC updates from each callback; and

determining whether the DPC updates have been received from all the associated callbacks; and

if so, updating the formed list of DPCs that needs to be dumped based on the received DPC updates.

14. The article of claim 12 , wherein dumping pages associated with the one or more DPCs to the external memory further comprises:

copying contents of memory to the external memory or a device by the dump sub-system upon detecting the computer system panic condition.

15. The method of claim 11 , wherein creating the DPCs comprises:

creating the DPCs such that the DPCs substantially map to kernel modules/sub-systems.

16. A computer system comprising:

a processing unit; and

a memory coupled to the processor, the memory having stored therein code for creating memory page classification, the code causes the processor to perform a method comprising:

creating DPCs in a kernel by a dump sub-system upon computer system boot-up, wherein the kernel includes modules/sub-systems that allocate and manage the kernel;

determining whether one or more DPCs need to be dumped upon receiving a panic code generated by one of the kernel modules/sub-systems during operation of the computer system, wherein the one or more DPCs to be dumped are determined based on association of the one or more DPCs with the received panic code; and

dumping pages associated with the one or more DPCs to an external memory by the dump sub-system based on the determination.

17. The system of claim 16 , wherein determining whether the one or more DPCs that needs to be dumped upon receiving the panic code, comprises:

receiving the panic code generated by one of the modules/sub-systems upon detecting the panic condition during system operation by the dump sub-system;

creating a list of DPCs, along with associated callbacks based on the received panic code by the dump sub-system;

determining whether one or more associated DPCs need to be dumped based on the created list of DPCs along with the associated callbacks by the one of the kernel modules/sub-systems; and

forming a list of DPCs that needs to be dumped based on the determination by the dump sub-system.

18. The system of claim 17 , further comprising:

receiving DPC updates from each callback; and

determining whether the DPC updates have been received from all the associated callbacks; and

if so, updating the formed list of DPCs that need to be dumped based on the received DPC updates.

19. The article of claim 18 , wherein dumping pages associated with the one or more DPCs to the external memory further comprises:

copying contents of memory to the external memory or a device by the dump sub-system upon detecting the computer system panic condition.

20. The method of claim 16 , wherein creating the DPCs comprises:

creating the DPCs such that the DPCs substantially map to kernel modules/sub-systems.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2021
From: OT PATENT ESCROW, LLC
To: VALTRUS INNOVATIONS LIMITED
Reel/Frame 057650/0537 →
PATENT ASSIGNMENT, SECURITY INTEREST, AND LIEN AGREEMENT Recorded Jan 26, 2021
From: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP; HEWLETT PACKARD ENTERPRISE COMPANY
To: OT PATENT ESCROW, LLC
Reel/Frame 055269/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 9, 2015
From: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 037079/0001 →