TLB Sticky Bits Skip Splintered Page Searches

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, the inefficiency of Translation Lookaside Buffer (TLB) invalidation operations for splintered pages leads to slow performance due to the need to search the entire TLB, especially when page sizes differ between the guest and host systems, resulting in unnecessary index walks and power consumption.

Innovation Solution

Implementing sticky bits to track the presence of guest and splintered pages, allowing the TLB to skip searches when no guest pages are installed and clearing sticky bits after full searches, reducing the number of TLB invalidate scans by rescanning for splintered pages only when necessary.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire TLB is searched for splintered pages during TLB invalidation operations, then all splintered pages can be invalidated, but the operation becomes slow and consumes excessive power

Engineering Contradiction:
ImproveTLB invalidation completenessVSAvoidTLB invalidation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by setting sticky bits in advance to track the presence of guest and splintered pages in the TLB. Before performing a TLB invalidation operation, the system has already prepared the sticky bit information, allowing it to skip unnecessary full TLB searches and directly invalidate only the relevant splintered pages, thereby reducing invalidation time while maintaining completeness.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The sticky bits automatically track and update the presence status of guest and splintered pages without requiring external intervention. The TLB structure itself maintains this information through normal page access and invalidation operations, enabling the system to self-determine whether a full search is necessary based on the current sticky bit state.

Inventive Principle:
Principle #25Self-service

2Reliability

If the entire TLB is searched for splintered pages during TLB invalidation operations, then all splintered pages can be invalidated, but power consumption increases

Engineering Contradiction:
ImproveTLB invalidation completenessVSAvoidTLB invalidation power consumption
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The sticky bits are pre-set to track splintered page presence, allowing the TLB invalidation operation to skip unnecessary full TLB searches. This preliminary tracking information enables the system to perform selective invalidation only when splintered pages are actually present, significantly reducing power consumption during invalidation operations while ensuring all necessary pages are invalidated.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If sticky bits are used to track guest and splintered pages, then TLB search efficiency improves, but the device complexity increases

Engineering Contradiction:
ImproveTLB invalidation efficiencyVSAvoidTLB structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the tracking function into the existing TLB structure by integrating sticky bits directly into the TLB entry format. Rather than adding a separate tracking mechanism, the sticky bits are combined with the existing page table entry structure, allowing the TLB to track guest and splintered page presence without requiring additional independent hardware components.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12079140B2Reducing translation lookaside buffer searches for splintered pages
Publication Date: 2024.09.03 APPLE INC
  • US12079140B2 patent drawing
  • US12079140B2 patent drawing
  • US12079140B2 patent drawing

AI summary

Systems, apparatuses, and methods for performing efficient translation lookaside buffer (TLB) invalidation operations for splintered pages are described. When a TLB receives an invalidation request for a specified translation context, and the invalidation request maps to an entry with a relatively large page size, the TLB does not know if there are multiple translation entries stored in the TLB for smaller splintered pages of the relatively large page. The TLB tracks whether or not splintered pages for each translation context have been installed. If a TLB invalidate (TLBI) request is received, and splintered pages have not been installed, no searches are needed for splintered pages. To refresh the sticky bits, whenever a full TLB search is performed, the TLB rescans for splintered pages for other translation contexts. If no splintered pages are found, the sticky bit can be cleared and the number of full TLBI searches is reduced.