11386016

Flexible Storage and Optimized Search for Multiple Page Sizes in a Translation Lookaside Buffer

PublishedJuly 12, 2022
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
38 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. An apparatus, comprising: a memory management unit (MMU) including a unified translation lookaside buffer (TLB) configured to support a plurality of page sizes and having a plurality of counters, each counter associated with a page size and configured to store page size residency metadata, the MMU further configured to: perform a TLB transaction in the TLB; and store and dynamically update in response to the TLB transaction, page size residency metadata of the counter associated with a page size of the TLB transaction, with a number of pages associated with the page size of the TLB transaction stored in the TLB associated with the counter, the TLB further configured to perform a lookup for at least a subset of page sizes of the plurality of page sizes in an order based on the number of pages in the plurality of counters of the page size residency metadata.

2

2. The apparatus of claim 1 , wherein the TLB is further configured to suppress a lookup for a first page size when a counter among the plurality of counters associated with the first page size indicates that no pages of the first page size are present in the TLB.

3

3. The apparatus of claim 1 , wherein the TLB is further configured to perform a lookup for a second page size when a counter among the plurality of counters associated with the second page size indicates that at least one page of the second page size is present in the TLB.

4

4. The apparatus of claim 3 , wherein the TLB is further configured to perform a lookup for a third page size before the second page size when a counter among the plurality of counters associated with the third page size indicates that more pages of the third page size are present in the TLB than pages of the second page size.

5

5. The apparatus of claim 1 , further comprising a page size lookup order block configured to dynamically determine a lookup order for the plurality of page sizes.

6

6. The apparatus of claim 5 , wherein the lookup order is based on at least one of a most recently used, most frequently used, exact age, first-in-first-out, or random order.

7

7. The apparatus of claim 5 , wherein the lookup order is based on a combination of a most recently used and a most frequently used order.

8

8. The apparatus of claim 5 , wherein when performing a lookup in the lookup order determined by the page size lookup order block, the TLB is further configured to suppress the lookup for a first page size of the plurality of page sizes when a counter among the plurality of counters associated with the first page size indicates that no pages of the first page size are present in the TLB.

9

9. The apparatus of claim 1 , integrated into an integrated circuit (IC).

10

10. The apparatus of claim 9 , further integrated into a device selected from the group consisting of: a server, a computer, a portable computer, a desktop computer, a mobile computing device, a set top box, an entertainment unit, a navigation device, a communications device, a fixed location data unit, a mobile location data unit, a global positioning system (GPS) device, a mobile phone, a cellular phone, a smart phone, a session initiation protocol (SIP) phone, a tablet, a phablet, a wearable computing device (e.g., a smart watch, a health or fitness tracker, eyewear, etc.), a personal digital assistant (PDA), a monitor, a computer monitor, a television, a tuner, a radio, a satellite radio, a music player, a digital music player, a portable music player, a digital video player, a video player, a digital video disc (DVD) player, a portable digital video player, an automobile, a vehicle component, avionics systems, a drone, and a multicopter.

11

11. The apparatus of claim 9 , further integrated into a device selected from the group consisting of: a server, a computer, a portable computer, a desktop computer, a mobile computing device, a set top box, an entertainment unit, a navigation device, a communications device, a fixed location data unit, a mobile location data unit, a global positioning system (GPS) device, a mobile phone, a cellular phone, a smart phone, a session initiation protocol (SIP) phone, a tablet, a phablet, a wearable computing device (e.g., a smart watch, a health or fitness tracker, eyewear, etc.), a personal digital assistant (PDA), a monitor, a computer monitor, a television, a tuner, a radio, a satellite radio, a music player, a digital music player, a portable music player, a digital video player, a video player, a digital video disc (DVD) player, a portable digital video player, an automobile, a vehicle component, avionics systems, a drone, and a multicopter.

12

12. The apparatus of claim 1 , integrated into an integrated circuit (IC).

13

13. An apparatus, comprising: means for managing memory, the means for managing memory including means for caching translations configured to support a plurality of page sizes, the means for managing memory further configured to store and dynamically update in response to the means for caching translations, a counter among a plurality of counters in page size residency metadata, with a number of pages associated with a page size among the plurality of page sizes associated with the counter, the means for caching translations further configured to perform a lookup for at least a subset of page sizes of the plurality of page sizes in an order based on the number of pages in the plurality of counters of the page size residency metadata.

14

14. A method, comprising: performing a translation lookaside buffer (TLB) transaction in a unified TLB configured to support a plurality of page sizes; dynamically updating a counter among a plurality of counters in page size residency metadata, with a number of pages associated with a page size among the plurality of page sizes associated with the counter, in response to the TLB transaction; receiving a lookup for the unified TLB; and determining an order in which to perform the lookup on at least a subset of the plurality of page sizes based on the number of pages in the plurality of counters of the page size residency metadata.

15

15. The method of claim 14 , further comprising forming an annotated lookup request including the lookup and at least a subset of the page size residency metadata.

16

16. The method of claim 15 , further comprising: providing the annotated lookup request to the unified TLB; and performing the annotated lookup request at the unified TLB.

17

17. The method of claim 14 , wherein the page size residency metadata includes an order of TLB transactions, and wherein the order is based on at least one of a most recently used, most frequently used, exact age, first-in-first-out, or random order.

18

18. The method of claim 17 , wherein the order is based on a combination of a most recently used and a most frequently used order.

19

19. The method of claim 14 , further comprising: suppressing a lookup for a first page size when a counter among the plurality of counters associated with the first page size indicates that no pages of the first page size are present in the TLB; and performing a lookup for a second page size when a counter among the plurality of counters associated with the second page size indicates that at least one page of the second page size is present in the TLB.

20

20. The method of claim 19 , wherein the page size residency metadata further includes an order of TLB transactions, and wherein the order is based on at least one of a most recently used, most frequently used, exact age, first-in-first-out, or random order.

21

21. The method of claim 20 , wherein the order is based on a combination of a most recently used and a most frequently used order.

22

22. A non-transitory computer-readable medium having stored thereon computer executable instructions which, when executed by a processor, cause the processor to: perform a translation lookaside buffer (TLB) transaction in a unified TLB configured to support a plurality of page sizes; dynamically update a counter among a plurality of counters in page size residency metadata, with a number of pages associated with a page size among the plurality of page sizes associated with the counter, in response to the TLB transaction; receive a lookup for the unified TLB; and determine an order in which to perform the lookup on at least a subset of the plurality of page sizes based on the number of pages in the plurality of counters of the page size residency metadata.

23

23. The non-transitory computer-readable medium of claim 22 , further comprising computer executable instructions which, when executed by the processor, cause the processor to form an annotated lookup request including the lookup and at least a subset of the page size residency metadata.

24

24. The non-transitory computer-readable medium of claim 23 , further comprising computer executable instructions which, when executed by the processor, cause the processor to: provide the annotated lookup request to the unified TLB; and perform the annotated lookup request at the unified TLB.

25

25. An apparatus, comprising: a memory management unit (MMU) including a unified translation lookaside buffer (TLB) configured to support a plurality of page sizes, the MMU further configured to: perform a TLB transaction in the TLB; and store and dynamically update in response to the TLB transaction, an order of TLB transactions based on page size residency metadata associated with each of the plurality of page sizes and comprising at least one of a most recently used page size among the plurality of page sizes, most frequently used page size among the plurality of page sizes, exact age of the plurality of page sizes, first-in-first-out of page sizes among the plurality of page sizes, or random order of the plurality of page sizes, the TLB further configured to perform a lookup for at least a subset of page sizes of the plurality of page sizes in an order based on the page size residency metadata.

26

26. The apparatus of claim 25 , wherein the page size residency metadata comprises a plurality of counters, each counter associated with a page size and configured to track a number of pages of an associated page size present in the TLB.

27

27. The apparatus of claim 26 , wherein the TLB is further configured to suppress a lookup for a first page size when a counter associated with the first page size indicates that no pages of the first page size are present in the TLB.

28

28. The apparatus of claim 26 , wherein the TLB is further configured to perform a lookup for a second page size when a counter associated with the second page size indicates that at least one page of the second page size is present in the TLB.

29

29. The apparatus of claim 28 , wherein the TLB is further configured to perform a lookup for a third page size before the second page size when a counter associated with the third page size indicates that more pages of the third page size are present in the TLB than pages of the second page size.

30

30. The apparatus of claim 26 , further comprising a page size lookup order block configured to dynamically determine a lookup order for the plurality of page sizes.

31

31. The apparatus of claim 30 , wherein lookup order is based on a combination of a most recently used and a most frequently used order.

32

32. The apparatus of claim 30 , wherein when performing a lookup in the lookup order determined by the page size lookup order block, the TLB is further configured to suppress the lookup for a first page size of the plurality of page sizes when a counter associated with the first page size indicates that no pages of the first page size are present in the TLB.

33

33. A method, comprising: performing a translation lookaside buffer (TLB) transaction in a unified TLB configured to support a plurality of page sizes; dynamically updating an order of TLB transactions based on page size residency metadata associated with each of the plurality of page sizes and comprising at least one of a most recently used page size among the plurality of page sizes, most frequently used page size among the plurality of page sizes, exact age of the plurality of page sizes, first-in-first-out of page sizes among the plurality of page sizes, or random order of the plurality of page sizes, in response to the TLB transaction; receiving a lookup for the unified TLB; and determining an order in which to perform the lookup on at least a subset of the plurality of page sizes based on the page size residency metadata.

34

34. The method of claim 33 , further comprising forming an annotated lookup request including the lookup and at least a subset of the page size residency metadata.

35

35. The method of claim 34 , further comprising: providing the annotated lookup request to the unified TLB; and performing the annotated lookup request at the unified TLB.

36

36. The method of claim 33 , wherein the order is based on a combination of a most recently used and a most frequently used order.

37

37. The method of claim 33 , further comprising: suppressing a lookup for a first page size when a counter associated with the first page size indicates that no pages of the first page size are present in the TLB; and performing a lookup for a second page size when a counter associated with the second page size indicates that at least one page of the second page size is present in the TLB.

38

38. A non-transitory computer-readable medium having stored thereon computer executable instructions which, when executed by a processor, cause the processor to: perform a translation lookaside buffer (TLB) transaction in a unified TLB configured to support a plurality of page sizes; dynamically update an order of TLB transactions based on page size residency metadata associated with each of the plurality of page sizes and comprising at least one of a most recently used page size among the plurality of page sizes, most frequently used page size among the plurality of page sizes, exact age of the plurality of page sizes, first-in-first-out of page sizes among the plurality of page sizes, or random order of the plurality of page sizes, in response to the TLB transaction; receive a lookup for the unified TLB; and determine an order in which to perform the lookup on at least a subset of the plurality of page sizes based on the page size residency metadata.

Patent Metadata

Filing Date

Unknown

Publication Date

July 12, 2022

Inventors

George Van Horn Leming III
John Gregory Favor
Stephan Jean Jourdan
Jonathan Christopher Perry
Bret Leslie Toll

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “FLEXIBLE STORAGE AND OPTIMIZED SEARCH FOR MULTIPLE PAGE SIZES IN A TRANSLATION LOOKASIDE BUFFER” (11386016). https://patentable.app/patents/11386016

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.