# US 10,372,621 B2 · Mechanism to support variable size page translations

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,372,621 B2
- Document ID: US10372621B2
- Status: Granted
- Kind: B2
- Application number: 15/863,347
- Filed: 2018-01-05
- Published: 2019-07-11
- Granted: 2019-08-06
- Earliest claimed: 2018-01-05
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Niranjan L. Cooray; Altug Koker; Nicolas Kacevas; Parth S. Damani; David Standring
- Web page: https://patentgrep.com/patent/US10372621B2

## CPC

- G06F 12/1027: using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
- G06F 12/1009: using page tables, e.g. page table structures
- G06F 2212/652: Page size control
- G06F 2212/68: Details of translation look-aside buffer [TLB]
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

An apparatus to facilitate page translation is disclosed. The apparatus a set associative translation lookaside buffer (TLB) including a plurality of entries to store virtual to physical memory address translations and a page size table (PST) including a plurality of entries to store page size corresponding to each of the TLB entries.

## Claims

### Claim 1

An apparatus to facilitate page translations, comprising:
a set associative translation lookaside buffer (TLB) including a plurality of entries to store virtual to physical memory address translations;
a page size table (PST) including a plurality of entries to store a page size corresponding to each of the TLB entries, wherein an entry is allocated in the PST at the time the TLB entry is allocated; and
a translation component to search the PST in response to receiving a request to translate a page to determine a size of the page, search the TLB for the page translation using an adjusted virtual address upon determining the size of the page from the PST and discard the PST entry and the adjusted virtual address upon determining a TLB miss.

### Claim 2 (depends on 1)

The apparatus of claim 1, wherein each of the plurality of entries in the TLB includes a size field to indicate a size of the page that is stored.

### Claim 3 (depends on 2)

The apparatus of claim 2, wherein a size field is populated at the time a TLB entry is allocated.

### Claim 4 (depends on 1)

The apparatus of claim 1, wherein the translation component compares the page size received from the PST with the page size indicated in the size field of the TLB entry.

### Claim 5 (depends on 4)

The apparatus of claim 4, wherein the translation component determines that a TLB hit has occurred upon a determination that there is a match with a tag address in the TLB and a match between the page size received from the PST and the page size indicated in the size field of the TLB entry.

### Claim 6

A method to facilitate page translations, comprising:
receiving a page translation request for a virtual address;
searching a page size table (PST) including a plurality of entries to determine a size of a page;
searching a set associative translation lookaside buffer (TLB) including a plurality of entries for a physical page translation upon determining the page size;
determining whether a hit has occurred at the PST;
determining whether an entry in the PST has a second page size upon determining that a hit has occurred at the PST; and
returning the second page size upon determining that the entry in the PST has the second page size.

### Claim 7 (depends on 6)

The method of claim 6, wherein searching the PST comprises:
returning a first page size upon determining that a miss has occurred at the PST.

### Claim 8 (depends on 6)

The method of claim 6, wherein searching the PST further comprises returning a third page size upon determining that the entry in the PST is not the second page size.

### Claim 9 (depends on 6)

The method of claim 6, wherein the TLB is searched using an adjusted virtual address.

### Claim 10 (depends on 9)

The method of claim 9, further comprising comparing the page size received from the PST with a page size indicated in a size field of a TLB entry.

### Claim 11 (depends on 10)

The method of claim 10, further comprising determining whether a TLB hit has occurred based upon a determination that there is a match with a tag address in the TLB and a match between the page size received from the PST and the page size indicated in the size field of the TLB entry.

### Claim 12 (depends on 11)

The method of claim 11, further comprising discarding the PST entry and the adjusted virtual address upon determining a TLB miss.

### Claim 13

A system to facilitate page translations, comprising:
a memory; and
a memory management unit (MMU) coupled to the memory, including:
a set associative translation lookaside buffer (TLB) including a plurality of entries to store virtual to physical memory address translations; and
a page size table (PST) including a plurality of entries to store a page size corresponding to each of the TLB entries, wherein an entry is allocated in the PST at the time the TLB entry is allocated; and
a translation component to search the PST in response to receiving a request to translate a page to determine a size of the page search the TLB for the page translation using an adjusted virtual address upon determining the size of the page from the PST and discard the PST entry and the adjusted virtual address upon determining a TLB miss.

### Claim 14 (depends on 13)

The system of claim 13, wherein the translation component searches the TLB for the page translation upon determining the size of the page from the PST.

### Claim 15 (depends on 14)

The system of claim 14, wherein the translation component searches the TLB using an adjusted virtual address.

### Claim 16 (depends on 13)

The system of claim 13, wherein the translation component compares the page size received from the PST with a page size indicated in a size field of the TLB entry.

### Claim 17 (depends on 16)

The system of claim 16, wherein the translation component determines that a TLB hit has occurred upon a determination that there is a match with a tag address in the TLB and a match between the page size received from the PST and the page size indicated in the size field of the TLB entry.
