Dual Cache TLB Management for Multiple Page Sizes

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern processors face challenges in efficiently managing translation lookaside buffer (TLB) entries, particularly in handling multiple page sizes and ensuring correct and efficient invalidation of TLB entries across multiple processor cores, which affects pipeline performance and memory access efficiency.

Innovation Solution

The implementation of a dual-cache module system, where one cache module uses fully associative circuitry for larger page sizes and another uses set associative circuitry for smaller page sizes, allowing for concurrent and iterative searches based on selected tag and index bits, with configurable page sizes to manage TLB entries effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a single cache module with fixed associativity is used, then the design is simpler, but it cannot efficiently handle multiple page sizes with different access patterns

Engineering Contradiction:
Improvehandling multiple page sizesVSAvoiddual-cache module system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The TLB is segmented into two separate cache modules: a first cache module with fully associative circuitry optimized for larger page sizes, and a second cache module with set associative circuitry optimized for smaller page sizes. Each module handles specific page size ranges, allowing the system to efficiently manage multiple page sizes without using a single complex cache structure that would need to accommodate all configurations.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If fully associative circuitry is used for all page sizes, then search flexibility is improved, but search time increases for large numbers of entries

Engineering Contradiction:
Improvesearch flexibilityVSAvoidsearch time
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The search operation is segmented into two phases: first, the fully associative first cache module performs a parallel search across all entries for large page sizes, providing fast search flexibility; second, if needed, the set associative second cache module performs a more structured search for smaller page sizes. This segmentation allows the system to leverage the speed of set associative search when appropriate while maintaining the flexibility of fully associative search for larger pages.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different cache modules are assigned different associativity characteristics based on local requirements: the first cache module uses fully associative circuitry locally optimized for large page size translations, while the second cache module uses set associative circuitry locally optimized for small page size translations. This local optimization allows each module to operate at peak efficiency for its designated page size range.

Inventive Principle:
Principle #3Local quality

3Speed

If set associative circuitry is used for all page sizes, then search speed is improved, but search accuracy decreases for certain address patterns

Engineering Contradiction:
Improvesearch speedVSAvoidtranslation accuracy
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The first cache module is configured with fully associative circuitry that provides high search accuracy for large page sizes by comparing the complete virtual address tag against all stored entries without relying on index bit patterns. The second cache module uses set associative circuitry optimized for smaller page sizes where the index-based approach provides sufficient accuracy. This local quality assignment ensures that each module operates in its optimal accuracy regime.

Inventive Principle:
Principle #3Local quality

4Adaptability or versatility

If multiple cache modules with different associativities are used, then handling of multiple page sizes is improved, but control complexity increases

Engineering Contradiction:
Improvemultiple page size supportVSAvoidentry management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The dual-cache module system is designed with unified control logic that can manage both fully associative and set associative cache modules through a common interface. The control circuitry universally handles virtual address input and automatically routes the search operation to the appropriate cache module based on the detected page size, providing multi-functionality without requiring separate control paths for each cache type.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10846239B2Managing translation lookaside buffer entries based on associativity and page size
Publication Date: 2020.11.24 MARVELL ASIA PTE LTD
  • US10846239B2 patent drawing
  • US10846239B2 patent drawing
  • US10846239B2 patent drawing

AI summary

A first cache module, comprising fully associative cache circuitry, provides TLB entries for a first group of multiple page sizes. A second cache module, comprising set associative cache circuitry, provides TLB entries for a second group of multiple page sizes. Managing TLB entries includes: performing a search in the first cache module based on selected tag bits of a target virtual address that are selected for each TLB entry in the first cache module based on information stored in the first cache module corresponding to one of the multiple pages sizes in the first group, and performing multiple search iterations in the second cache module based on selected index bits and selected tag bits of the target virtual address, where quantities of bits in the selected index bits and the selected tag bits are different for each of the search iterations.