TLB Striping for Parallel Invalidation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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
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.
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.
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
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.
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.
Data Source
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.


