IP Library › Granted Patent US 10,126,985
Granted Patent B2
US 10,126,985 · App. 14/748,971 · Granted Nov 13, 2018

Application driven hardware cache management

Inventors: Subramanya R. Dulloor (Santa Clara, CA); Rajesh M. Sankaran (Portland, OR); David A. Koufaty (Portland, OR); Christopher J. Hughes (Santa Clara, CA); Jong Soo Park (Santa Clara, CA); Sheng Li (Santa Clara, CA)
Assignee: Intel Corporation
G06F3/0673G06F3/0604G06F3/0638G06F9/50G06F12/0888G06F3/0608G06F3/0665G06F12/023G06F12/08G06F12/0866G06F12/1009G06F2212/60G06F2212/684
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,126,985
App. No.
14/748,971
Granted
Nov 13, 2018
Kind
B2
Abstract

A processor includes a processing core to generate a memory request for an application data in an application. The processor also includes a virtual page group memory management (VPGMM) unit coupled to the processing core to specify a caching priority (CP) to the application data for the application. The caching priority identifies importance of the application data in a cache.

Claims (42)

1. A processor comprising:

a processing core to generate a memory request for application data in an application, the application data comprising a first virtual address page; and

a virtual page group memory management (VPGMM) unit, coupled to the processing core;

wherein the VPGMM unit includes a page table comprising a plurality of page table entries (PTEs), each PTE corresponding to a different one of a plurality of virtual address pages including the first virtual address page;

wherein the VPGMM unit enables the application to assign one or more of the virtual address pages including the first virtual address page to a virtual page group (VPG) denoted by a VPG identification (VPGID);

wherein the VPGMM unit includes a caching priority (CP) table, the CP table being indexed by the VPGID such that a CP value in an entry of the CP table indexed by the VPGID indicates a relative caching priority of the virtual address pages comprising the VPG; and

wherein changing the CP value changes the relative caching priority of the virtual address pages comprising the VPG.

2. The processor of claim 1 , wherein the VPGMM unit to assign a default value to the CP associated with the VPG.

3. The processor of claim 2 wherein the VPGMM unit to modify the default value of the CP associated with the VPG.

4. The processor of claim 3 , wherein the VPGMM unit to modify the default value of the CP associated with the VPG in view of type of the application data.

5. The processor of claim 3 , wherein the VPGMM unit to modify the default value of the CP associated with the VPG in view of at least one requirement of the application.

6. The processor of claim 3 , wherein the modified default value of the CP is applied for the memory request for the application data in the application.

7. A system-on-a chip (SoC) comprising:

a memory; and

a processor, communicably coupled to the memory, comprising:

a processing core to generate a memory request for application data in an application, the application data comprising a first virtual address page; and

a virtual page group memory management (VPGMM) unit, coupled to the processing core;

wherein the VPGMM unit includes a page table comprising a plurality of page table entries (PTEs), each PTE corresponding to a different one of a plurality of virtual address pages including the first virtual address page;

wherein the VPGMM unit enables the application to assign one or more of the virtual address pages including the first virtual address page to a virtual page group (VPG) denoted by a VPG identification (VPGID);

wherein the VPGMM unit includes a caching priority (CP) table, the CP table being indexed by the VPGID such that a CP value in an entry of the CP table indexed by the VPGID indicates a relative caching priority of the virtual address pages comprising the VPG; and

wherein changing the CP value changes the relative caching priority of the virtual address pages comprising the VPG.

8. The SoC of claim 7 wherein the VPGMM unit to modify a value of the CP associated with the VPG.

9. A method comprising:

receiving a memory request for an application data in an application, the application data comprising a first virtual address page; and

specifying by a virtual page group memory management (VPGMM) unit a caching priority (CP) to the application data for the application, wherein the caching priority identifies importance of the application data in a cache;

wherein the VPGMM unit includes a page table comprising a plurality of page table entries (PTEs), each PTE corresponding to a different one of a plurality of virtual address pages including the first virtual address page;

wherein the VPGMM unit enables the application to assign one or more of the virtual address pages including the first virtual address page to a virtual page group (VPG) denoted by a VPG identification (VPGID);

wherein the VPGMM unit includes a caching priority (CP) table, the CP table being indexed by the VPGID such that a CP value in an entry of the CP table indexed by the VPGID indicates a relative caching priority of the virtual address pages comprising the VPG; and

wherein changing the CP value changes the relative caching priority of the virtual address pages comprising the VPG.

10. The method of claim 9 further comprising assigning a default value to the CP associated with the VPG.

11. The method of claim 10 further comprising modifying the default value of the CP associated with the VPG in view of type of the application data.

12. The method of claim 10 further comprising modifying the default value of the CP associated with the VPG in view of at least one requirement of the application.

13. A non-transitory machine-readable storage medium including instructions that, when accessed by a processing device, cause the processing device to perform operations comprising:

receiving a memory request for an application data in an application, the application data comprising a first virtual address page; and

specifying by a virtual page group memory management (VPGMM) unit a caching priority (CP) to the application data for the application, wherein the caching priority identifies importance of the application data in a cache;

wherein the VPGMM unit includes a page table comprising a plurality of page table entries (PTEs), each PTE corresponding to a different one of a plurality of virtual address pages including the first virtual address page;

wherein the VPGMM unit enables the application to assign one or more of the virtual address pages including the first virtual address page to a virtual page group (VPG) denoted by a VPG identification (VPGID);

wherein the VPGMM unit includes a caching priority (CP) table, the CP table being indexed by the VPGID such that a CP value in an entry of the CP table indexed by the VPGID indicates a relative caching priority of the virtual address pages comprising the VPG; and

wherein changing the CP value changes the relative caching priority of the virtual address pages comprising the VPG.

14. The non-transitory machine-readable storage medium of claim 13 , wherein the operations further comprising assigning a default value to the CP associated with the VPG.

15. The non-transitory machine-readable storage medium of claim 14 , wherein the operations further comprising modifying the default value of the CP associated with the VPG in view of type of the application data.

16. The non-transitory machine-readable storage medium of claim 14 , wherein the operations further comprising modifying the default value of the CP associated with the VPG in view of at least one requirement of the application.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF SHENG R. LI PREVIOUSLY RECORDED ON REEL 035898 FRAME 0739. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2016
From: LI, SHENG; DULLOOR, SUBRAMANYA R.; SANKARAN, RAJESH M.; KOUFATY, DAVID A.; HUGHES, CHRISTOPHER J.; PARK, JONG SOO
To: INTEL CORPORATION
Reel/Frame 037857/0033 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 24, 2015
From: DULLOOR, SUBRAMANYA R.; SANKARAN, RAJESH M.; KOUFATY, DAVID A.; HUGHES, CHRISTOPHER J.; PARK, JONG SOO; LI, SHENG R.
To: INTEL CORPORATION
Reel/Frame 035898/0739 →
Continuity (1)
Related Publication 20160378651A1 · Dec 29, 2016