Primary and Overflow Cache with Hash Indexing for TLB Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional L1 TLB configurations in microprocessors suffer from inefficiencies, leading to underutilization of cache sets and increased latency due to their singular indexing schemes, which result in a larger cache size without significant performance improvement.

Innovation Solution

Implementing a cache memory system with a primary cache and an overflow cache that use different indexing schemes, where the overflow cache serves as both an extension and eviction array for the primary cache, utilizing a hash function to distribute evicted entries and improve cache utilization, thereby reducing the overall size of the L1 TLB while maintaining performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a conventional L1 TLB configuration with a single indexing scheme is used, then the cache structure is simple, but the cache sets are underutilized and performance is limited

Engineering Contradiction:
Improvecache utilizationVSAvoidindexing scheme complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The L1 TLB is segmented into a primary cache portion and an overflow cache portion, each using different indexing schemes. The primary cache uses traditional virtual address bits for indexing, while the overflow cache uses a hash function applied to virtual address bits. This segmentation allows each portion to be optimized for different access patterns, improving overall cache utilization without requiring a completely complex new indexing system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different portions of the cache use different indexing strategies tailored to their specific functions. The primary cache uses direct virtual address indexing for commonly accessed translations, while the overflow cache uses hash-based indexing for evicted entries. This local optimization ensures that each cache portion operates at maximum efficiency for its intended purpose.

Inventive Principle:
Principle #3Local quality

2Productivity

If the L1 TLB size is increased to improve performance, then more cache entries are available, but the cache size increases and underutilization problems persist

Engineering Contradiction:
Improvetranslation performanceVSAvoidL1 TLB size
Core Design Contradiction:
ProductivityVSVolume of stationary object

Solution Approach 1:

The overflow cache adds a new dimension to the cache structure by introducing hash-based indexing as a separate access path. Instead of simply expanding the primary cache, the system creates a parallel cache structure that can be accessed through a different indexing method. This allows the system to effectively increase cache capacity without proportionally increasing the physical size, as the overflow cache can be more compact due to its hash-based organization.

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

3Productivity

If a single indexing scheme is used for the L1 TLB, then the structure is simple, but evicted entries are not effectively retained and performance degrades

Engineering Contradiction:
Improvecache hit rateVSAvoidcache structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The L1 TLB structure serves multiple functions through its dual-cache design. The primary cache handles frequently accessed virtual address translations using traditional indexing, while the overflow cache captures and retains evicted entries using hash-based indexing. This multi-functional design allows the system to both quickly service common translations and effectively retain evicted entries that may be reaccessed, improving overall cache hit rate without excessive complexity.

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

Data Source

PatentUS11620220B2Cache system with a primary cache and an overflow cache that use different indexing schemes
Publication Date: 2023.04.04 VIA ALLIANCE SEMICON CO LTD
  • US11620220B2 patent drawing
  • US11620220B2 patent drawing
  • US11620220B2 patent drawing

AI summary

A cache memory system including a primary cache and an overflow cache that are searched together using a search address. The overflow cache operates as an eviction array for the primary cache. The primary cache is addressed using bits of the search address, and the overflow cache is addressed by a hash index generated by a hash function applied to bits of the search address. The hash function operates to distribute victims evicted from the primary cache to different sets of the overflow cache to improve overall cache utilization. A hash generator may be included to perform the hash function. A hash table may be included to store hash indexes of valid entries in the primary cache. The cache memory system may be used to implement a translation lookaside buffer for a microprocessor.