IP Library Granted Patent US 12,242,721
Granted Patent B2
US 12,242,721 · App. 17/214,534 · Granted Mar 4, 2025

Methods and apparatus to profile page tables for memory management

Inventors: Aravinda Prasad (Bangalore, IN); Sandeep Kumar (Delhi, IN); Sreenivas Subramoney (Bangalore, IN); Andy Rudoff (Boulder, CO)
Assignee: Intel Corporation
G06F3/0604G06F3/0644G06F3/0679
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 12,242,721
App. No.
17/214,534
Granted
Mar 4, 2025
Kind
B2
Abstract

Disclosed Methods, Apparatus, and articles of manufacture to profile page tables for memory management are disclosed. An example apparatus includes a processor to execute computer readable instructions to: profile a first page at a first level of a page table as not part of a target group; and in response to profiling the first page as not part of the target group, label a data page at a second level that corresponds to the first page as not part of the target group, the second level being lower than the first level.

Claims (40)

1. An apparatus to profile page table, the apparatus comprising:

interface circuitry to obtain a page table of data pages, the page table including a first data page at a first level and second data pages at a second level, the second level being lower than the first level, the first data page including the second data pages;

machine readable instructions; and

at least one processor circuit to be programmed by the machine readable instructions to at least:

profile the first data page at the first level of the page table as not part of a target group based on the first data page not being accessed within a threshold amount of time; and

label the second data pages as not part of the target group based on the first data page not being part of the target group.

2. The apparatus of claim 1 , wherein one or more of the at least one processor circuit is to determine that the first data page is not part of the target group based on a flag, wherein hardware is to set the flag for the first data page if one or more of the second data pages has been accessed by the hardware within a duration of time.

3. The apparatus of claim 1 , wherein the first data page is at least one of a page upper directory, a page middle directory, or a page table entry.

4. The apparatus of claim 1 , wherein one or more of the at least one processor circuit is to:

profile a third data page at the first level of the page table as part of the target group, the third data page including fourth data pages; and

after the profiling of the third data page as part of the target group, profile the fourth data pages at the second level.

5. The apparatus of claim 4 , wherein one or more of the at least one processor circuit is to determine that the second third data page is part of the target group when at least one the fourth data pages that corresponds to the third data page has been accessed by hardware within a duration of time.

6. The apparatus of claim 4 , wherein one or more of the at least one processor circuit is to, when the fourth data pages at the second level are profiled as part of the target group, profile fifth data pages at a third level, the third level lower than the second level of the page table, the fifth data pages stored in remote memory.

7. The apparatus of claim 6 , wherein one or more of the at least one processor circuit is to store a sixth data page of the fifth data pages in local memory after profiling the sixth data page as part of the target group.

8. The apparatus of claim 7 , wherein the page table is cold when not part of the target group and the page table is hot when part of the target group.

9. The apparatus of claim 1 , wherein the page table is a mapping of virtual addresses to physical address of data pages stored in remote memory.

10. The apparatus of claim 1 , wherein one or more of the at least one processor circuit is to, if the one or more of the second data pages is stored in local memory, remove the one or more of the second data pages from the local memory after a labelling of the one or more of the second data pages as not part of the target group.

11. The apparatus of claim 1 , wherein the page table is cold when not part of the target group and the page table is hot when part of the target group.

12. The apparatus of claim 1 , wherein the first data page is stored in remote memory.

13. A non-transitory computer readable storage medium comprising instructions to cause at least one processor circuit to at least:

profile a first data page at a first level of a page table as not part of a target group based on the first data page not being accessed within a threshold amount of time, the page table including the first data page at the first level and second data pages at a second level being lower than the first level, the first data page including the second data pages; and

label the second data pages as not part of the target group based on the first data page not being part of the target group.

14. The computer readable storage medium of claim 13 , wherein the instructions are to cause one or more of the at least one processor circuit to determine that the first data page is not part of the target group based on a flag, wherein hardware is to set the flag for the first data page if one or more of the second data pages has been accessed by the hardware within a duration of time.

15. The computer readable storage medium of claim 13 , wherein the first data page is at least one of a page upper director, a page middle directory, or a page table entry.

16. The computer readable storage medium of claim 13 , wherein the instructions are to cause one or more of the at least one processor circuit to:

profile a third data page at the first level of the page table as part of the target group, the third data page including fourth data pages; and

after the profiling of the third data page as part of the target group, profile the fourth data pages at the second level lower than the first level of the page table.

17. The computer readable storage medium of claim 16 , wherein the instructions are to cause one or more of the at least one processor circuit to determine that the third data page is part of the target group when at least one of the fourth data pages that corresponds to the third data page have been accessed by hardware within a duration of time.

18. The computer readable storage medium of claim 16 , wherein the instructions are to cause one or more of the at least one processor circuit to, when the fourth data pages at the second level are profiled as part of the target group, profile a fifth data pages at a third level, the third level lower than the second level of the page table, the fifth data pages stored in remote memory.

19. The computer readable storage medium of claim 18 , wherein the instructions are to cause one or more of the at least one processor circuit to store a sixth data page of the fifth data pages in local memory after a profiling of the sixth data page as part of the target group.

20. The computer readable storage medium of claim 19 , wherein the page table is cold when not part of the target group and the page table is hot when part of the target group.

21. The computer readable storage medium of claim 13 , wherein the page table is a mapping of virtual addresses to physical address of data pages stored in remote memory.

22. The computer readable storage medium of claim 13 , wherein the instructions are to cause one or more of the at least one processor circuit to, if the one or more of the second data pages is stored in local memory, remove the one or more of the second data pages from the local memory after a labelling of the one or more of the second data pages as not part of the target group.

23. The computer readable storage medium of claim 13 , wherein the first data page is stored in remote memory.

24. An apparatus to a profile data page, the apparatus comprising:

means for obtaining a page table of data pages, the page table including a first data page at a first level and second data pages at a second level being lower than the first level, the first data page including the second data pages;

means for profiling the data pages, the means for profiling to:

profile the first data page at the first level of the page table as not part of a target group based on the first data page not being accessed within a threshold amount of time; and

label the second data pages as not part of the target group based on the first data page not being part of the target group.

25. The apparatus of claim 24 , wherein the means for profiling is to determine that the first data page is not part of the target group based on a flag, wherein hardware is to set the flag for the first data page if one or more of the second data pages has been accessed by the hardware within a duration of time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2021
From: PRASAD, ARAVINDA; KUMAR, SANDEEP; SUBRAMONEY, SREENIVAS; RUDOFF, ANDY
To: INTEL CORPORATION
Reel/Frame 057725/0472 →
Continuity (1)
Related Publication 20210232312A1 · Jul 29, 2021
References Cited (7)
US 9063866B1 · Tati · 2015 [cited by examiner]
US 20120023300A1 · Tremaine · 2012 [cited by examiner]
US 20150363325A1 · Baskakov · 2015 [cited by examiner]
US 20220317925A1 · Lepak · 2022 [cited by examiner]
Lagar-Cavilla et al., “Software-Defined Far Memory in Warehouse-Scale Computers,” ASPLOS '19, Apr. 13-17, 2019, Providence, RI, USA, 14 pages. [cited by applicant]
European Patent Office, “Extended European Search Report,” issued in connection with European patent Application No. 22153442.3, dated Jul. 20, 2022, 10 pages. [cited by applicant]
European Patent Office, “Communication pursuant to Article 94(3) EPC,” issued in connection with European Patent Application No. 22 153 442.3-1224, dated Mar. 20, 2024, 5 pages. [cited by applicant]