Address Translation Cache Mode Switching for Page Size Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Address translation caches face inefficiencies due to the need to accommodate multiple page sizes, which complicates the lookup process and impacts performance, despite their potential to enhance data processing systems by reducing page table walks.

Innovation Solution

Implementing a dynamic mode-switching mechanism for the address translation cache between non-skewed and skewed modes based on page size analysis, allowing flexible allocation and parallel lookups to optimize resource utilization and maintain performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the address translation cache is allowed to hold address translation data for multiple page sizes, then the effective capacity of the cache is increased, but the lookup process becomes complicated and performance is impacted

Engineering Contradiction:
Improveeffective capacity of address translation cacheVSAvoidlookup process complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The address translation cache is segmented into multiple portions, with each portion dedicated to storing address translation data for a specific page size. This segmentation allows the cache to hold multiple page sizes simultaneously while maintaining simple lookup processes, as each portion can be independently accessed based on the page size of the translation data being sought.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If the address translation cache is allowed to hold address translation data for multiple page sizes, then the effective capacity of the cache is increased, but performance is impacted

Engineering Contradiction:
Improveeffective capacity of address translation cacheVSAvoidlookup operation speed
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The cache is pre-segmented into portions corresponding to different page sizes before any lookup operations occur. This preliminary organization ensures that when a lookup is performed, the system can immediately direct the search to the appropriate portion based on the page size, eliminating the need for complex runtime analysis and maintaining high lookup speeds while supporting multiple page sizes.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If address translation data for multiple page sizes is stored in the cache, then resource utilization is improved, but the allocation process becomes more complex

Engineering Contradiction:
Improvecache adaptability to different page sizesVSAvoidallocation process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Each portion of the address translation cache is assigned a specific quality or characteristic - namely, it is dedicated to storing data for a particular page size. This local quality assignment simplifies the allocation process, as the system only needs to determine which portion corresponds to the desired page size and allocate data accordingly, rather than managing complex allocation rules across a unified cache structure.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS10552338B2Technique for efficient utilisation of an address translation cache
Publication Date: 2020.02.04 ARM LTD
  • US10552338B2 patent drawing
  • US10552338B2 patent drawing
  • US10552338B2 patent drawing

AI summary

An apparatus and method are provided for making efficient use of address translation cache resources. The apparatus has an address translation cache having a plurality of entries, where each entry is used to store address translation data used when converting a virtual address into a corresponding physical address of a memory system. Each item of address translation data has a page size indication for a page within the memory system that is associated with that address translation data. Allocation circuitry performs an allocation process to determine the address translation data to be stored in each entry. Further, mode control circuitry is used to switch a mode of operation of the apparatus between a non-skewed mode and at least one skewed mode, dependent on a page size analysis operation. The address translation cache is organised as a plurality of portions, and in the non-skewed mode the allocation circuitry is arranged, when performing the allocation process, to permit the address translation data to be allocated to any of the plurality of portions. In contrast, when in the at least one skewed mode, the allocation circuitry is arranged to reserve at least one portion for allocation of address translation data associated with pages of a first page size and at least one other portion for allocation of address translation data associated with pages of a second page size different to the first page size.