TLB Partitioning via Address Bit Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional set associative translation lookaside buffers (TLBs) lack sufficient resolution to effectively partition resources among multiple agents, leading to thrashing and inefficient use of memory access resources.

Innovation Solution

A partitioning mechanism that assigns sub-components of address sets to different agents using target conversion logic, separating address bits into original tag bits, fixed set bits, and variable set bits, and calculates updated set and tag bits based on a client ID and programmable partition assignment table to dynamically allocate TLB resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a typical set associative TLB is used with a small number of ways, then the device complexity is reduced, but the partitioning resolution is insufficient to effectively partition TLB resources among multiple agents

Engineering Contradiction:
ImproveTLB structure complexityVSAvoidpartitioning resolution
Core Design Contradiction:
Device complexityVSMeasurement precision

Solution Approach 1:

The patent segments the TLB into multiple partitions by dynamically assigning subsets of sets to different agents based on client ID. Instead of having a fixed small number of ways, the TLB sets are divided and assigned to different agents (e.g., GPU, IOMMU, display controller) through a partitioning mechanism that uses address set bits and client identification to determine which agent accesses which partition, thereby achieving fine-grained partitioning resolution without increasing overall device complexity

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements dynamic partitioning where the assignment of TLB sets to agents is not fixed but can be reconfigured. The partitioning mechanism dynamically determines which agent accesses which TLB partition based on the client ID and address set bits, allowing flexible resource allocation that adapts to different access patterns and workload requirements, thus improving partitioning resolution without requiring a statically complex structure

Inventive Principle:
Principle #15Dynamics

2Area of stationary object

If multiple agents share a common TLB, then the area efficiency is improved, but thrashing occurs between agents leading to degraded performance

Engineering Contradiction:
ImproveTLB area efficiencyVSAvoidmemory access performance
Core Design Contradiction:
Area of stationary objectVSProductivity

Solution Approach 1:

The patent segments the shared TLB into multiple partitions that are dynamically assigned to different agents. Each agent receives a subset of TLB sets based on its client ID and the partitioning scheme, preventing thrashing by ensuring that each agent has dedicated access to its assigned partitions while still sharing the overall TLB structure, thus maintaining area efficiency while improving memory access performance

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a partitioning mechanism that acts as an intermediary between multiple agents and the shared TLB. This mechanism uses address set bits and client ID to determine which agent should access which TLB partition, effectively mediating access conflicts and preventing thrashing while allowing multiple agents to share the TLB resource efficiently

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If a TLB partitioning mechanism is implemented to prevent thrashing, then the memory access performance is improved, but the device complexity increases

Engineering Contradiction:
Improvememory access performanceVSAvoidpartitioning mechanism complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a self-service partitioning mechanism where the TLB automatically determines which agent should access which partition based on the client ID and address set bits embedded in the address translation requests. The partitioning logic is integrated into the TLB operation itself, allowing the system to self-manage partition assignments without requiring complex external control logic, thus improving memory access performance while minimizing the increase in device complexity

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10691603B2Cache partitioning mechanism
Publication Date: 2020.06.23 INTEL CORP
  • US10691603B2 patent drawing
  • US10691603B2 patent drawing
  • US10691603B2 patent drawing

AI summary

An apparatus to facilitate cache partitioning is disclosed. The apparatus includes a set associative cache to receive access requests from a plurality of agents and partitioning logic to partition the set associative cache by assigning sub-components of a set address to each of the plurality of agents.