Variable Size TLB Cache Lines for High-Throughput Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory translation systems face inefficiencies in handling virtual to physical address translation, particularly when dealing with small buffers or poorly compressible page table entries (PTEs), as they struggle to balance throughput and generality, leading to suboptimal cache hit rates and increased miss frequencies.

Innovation Solution

A translation lookaside buffer (TLB) system that stores compressed cache lines with variable size coverage, allowing for flexible address translation by dynamically adjusting cache line ranges based on compression levels and page sizes, and reissuing requests when necessary to maintain high throughput and generality.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If PTEs are compressed and stored in cache lines with assumed address range, then cache hit rate is improved and throughput is increased, but determination of cache hits and misses becomes complicated and additional reissues may be generated

Engineering Contradiction:
ImprovethroughputVSAvoidcomplexity of cache hit/miss determination
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary compression of PTEs and stores them in cache lines with an assumed address range before actual access. By pre-compressing and pre-storing with assumed ranges, the system achieves high throughput while managing complexity through a structured fill-pending mechanism that tracks actual ranges separately.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary mechanism (fill-pending status and queued requests) that mediates between the compressed cache storage and actual address translation needs. This intermediary layer allows the system to handle the complexity of variable-size coverage without impacting the core translation throughput.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If cache lines store compressed PTEs with variable size coverage, then cache efficiency improves, but the system loses generality for small buffers or poorly compressible PTEs

Engineering Contradiction:
Improvecache efficiencyVSAvoidgenerality for small buffers
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system dynamically adjusts cache line coverage based on compression success and PTE characteristics. For highly compressible PTEs, the system uses larger assumed ranges to improve cache efficiency, while for poorly compressible or small buffer PTEs, the system automatically reduces coverage to maintain generality. This dynamic adaptation resolves the contradiction between efficiency and versatility.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter of cache line coverage size based on PTE compressibility and buffer characteristics. By making the coverage parameter variable rather than fixed, the system can optimize for cache efficiency when possible while maintaining generality for edge cases, thus resolving the contradiction between reliability and adaptability.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If assumed address range is chosen to be large for high-throughput cases, then throughput is maximized, but reissues are generated when actual range is smaller

Engineering Contradiction:
ImprovethroughputVSAvoidtime for reissues
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system uses partial compression and partial cache line filling based on actual PTE data. Instead of always using maximum assumed ranges, the system fills cache lines with the actual number of PTEs returned, using excessive action only when it benefits throughput without causing harmful reissues. This partial approach balances throughput maximization with reissue minimization.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements feedback through the fill-pending mechanism that tracks the relationship between assumed and actual address ranges. When reissues are generated, the system learns from this feedback and adjusts future cache line allocations, choosing assumed ranges that avoid reissues in the majority of cases while maintaining high throughput.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS8341380B2Efficient memory translator with variable size cache line coverage
Publication Date: 2012.12.25 NVIDIA CORP
  • US8341380B2 patent drawing
  • US8341380B2 patent drawing
  • US8341380B2 patent drawing

AI summary

One embodiment of the present invention sets forth a system and method for supporting high-throughput virtual to physical address translation using compressed TLB cache lines with variable address range coverage. The amount of memory covered by a TLB cache line depends on the page size and page table entry (PTE) compression level. When a TLB miss occurs, a cache line is allocated with an assumed address range that may be larger or smaller than the address range of the PTE data actually returned. Subsequent requests that hit a cache line with a fill pending are queued until the fill completes. When the fill completes, the cache line's address range is set to the address range of the PTE data returned. Queued requests are replayed and any that fall outside the actual address range are reissued, potentially generating additional misses and fills.