TLB Striping for Parallel Invalidation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current translation lookaside buffer (TLB) invalidation processes are inefficient, requiring linear searches that consume time and power, especially in TLBs with large numbers of indices or compact physical implementations, which limits concurrent access.

Innovation Solution

Implementing TLB striping by storing attribute data across multiple arrays, allowing simultaneous search of indices and reducing the need for redundant data storage, thereby splitting linear searches into parallel searches across multiple arrays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a linear search is performed to invalidate TLB entries, then the entire contents of the TLB can be searched to determine which indices pertain to a given mapping, but the process is time consuming and consumes excessive power

Engineering Contradiction:
Improvecompleteness of invalidation searchVSAvoidinvalidation operation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent divides the TLB into multiple segments or sets, where each segment contains a subset of the total TLB entries. Instead of performing a single linear search across all entries, the invalidation operation is segmented into multiple parallel searches across different sets. This segmentation allows the search to be distributed across multiple independent units that can operate simultaneously, reducing the overall time required while maintaining complete coverage of all TLB entries.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the TLB is searched multiple times to determine which entries to invalidate, then all relevant mappings can be identified, but power consumption increases and TLB access for translation requests is prevented

Engineering Contradiction:
Improveaccuracy of mapping identificationVSAvoidpower consumption during invalidation
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The patent segments the TLB into multiple sets that can be searched in parallel. By distributing the search across multiple independent sets operating simultaneously, the total time to identify all mappings requiring invalidation is reduced, thereby reducing the duration of the invalidation operation and allowing the TLB to return to normal translation operations more quickly, reducing opportunity power consumption.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary organization of TLB entries into segmented sets with associated metadata that identifies which set each entry belongs to. This preliminary structuring enables the invalidation logic to quickly determine which sets need to be searched based on the mapping being invalidated, avoiding unnecessary searches and reducing both power consumption and access time.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If the TLB has a large number of indices or compact physical implementation, then the TLB capacity is increased, but concurrent accesses are limited and invalidation becomes more onerous

Engineering Contradiction:
ImproveTLB entry capacityVSAvoidconcurrent access capability
Core Design Contradiction:
Quantity of substanceVSEase of operation

Solution Approach 1:

The patent divides the large-capacity TLB into multiple smaller sets, where each set can be independently accessed. This segmentation enables concurrent access operations to proceed in parallel across different sets, effectively increasing the overall concurrent access capability of the TLB while maintaining large total capacity. Multiple invalidation or translation operations can simultaneously access different sets without interfering with each other.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension of parallelism by organizing the TLB into multiple sets that can be accessed independently. Instead of a single-dimensional linear structure, the TLB adopts a multi-dimensional organization where set indexing provides an additional level of parallel access paths, enabling concurrent operations to exploit this additional dimensional space.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS11422946B2Translation lookaside buffer striping for efficient invalidation operations
Publication Date: 2022.08.23 APPLE INC
  • US11422946B2 patent drawing
  • US11422946B2 patent drawing
  • US11422946B2 patent drawing

AI summary

Systems, apparatuses, and methods for implementing translation lookaside buffer (TLB) striping to enable efficient invalidation operations are described. TLB sizes are growing in width (more features in a given page table entry) and depth (to cover larger memory footprints). A striping scheme is proposed to enable an efficient and high performance method for performing TLB maintenance operations in the face of this growth. Accordingly, a TLB stores first attribute data in a striped manner across a plurality of arrays. The striped manner allows different entries to be searched simultaneously in response to receiving an invalidation request which identifies a particular attribute of a group to be invalidated. Upon receiving an invalidation request, the TLB generates a plurality of indices with an offset between each index and walks through the plurality of arrays by incrementing each index and simultaneously checking the first attribute data in corresponding entries.