TLB Dependency Matrix for Parallel Engine Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current address translation processes in digital computer systems using Translation Lookaside Buffers (TLBs) face inefficiencies due to the need for continuous improvements in processing time and resource management, particularly in handling retry requests and engine allocation for virtual addressing.

Innovation Solution

Implementing a method that utilizes multiple parallel translation engines with a cache unit maintaining a dependency matrix to track engine assignments, blocking further requests when an engine is already assigned, and enabling retry requests without waiting for explicit restarts, thereby optimizing TLB operations and reducing processing time.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If multiple parallel translation engines are used to perform address translations, then translation throughput and processing speed are improved, but engine allocation complexity and resource management overhead increase

Engineering Contradiction:
Improvetranslation throughputVSAvoidengine allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The dependency matrix automatically tracks engine assignments and generates blocking signals without external intervention. When an engine is assigned to a translation request, the matrix self-updates and automatically blocks retry requests, eliminating the need for complex external resource management logic.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The dependency matrix acts as an intermediary between translation engines and processing units. It mediates engine allocation by tracking assignments and controlling retry request flow, simplifying the interface between multiple engines and multiple processing units.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If retry requests are immediately processed without waiting for explicit restart signals, then processing time is reduced, but the risk of processing conflicts or incorrect state assumptions increases

Engineering Contradiction:
Improveprocessing timeVSAvoidstate assumption accuracy
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The dependency matrix provides continuous feedback about engine assignment states. Before processing a retry request, the system queries the matrix to verify the engine is not currently assigned, ensuring reliable state assumptions while enabling immediate processing.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system performs a preliminary check of the dependency matrix before processing retry requests. This preliminary verification ensures the engine is available, allowing immediate processing while maintaining reliability through state validation.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If a dependency matrix is maintained to track engine assignments, then resource allocation accuracy is improved, but memory usage and data structure complexity increase

Engineering Contradiction:
Improveresource allocation accuracyVSAvoidmemory usage
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The patent extracts only the essential tracking information needed for engine assignment management into the dependency matrix. By storing only processing unit identifiers and engine assignment states rather than complete request histories, memory usage is minimized while maintaining allocation accuracy.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The dependency matrix uses a compact data structure where each processing unit has a dedicated entry tracking its assigned engine. This localized organization provides precise tracking for each unit while keeping the overall structure efficient and memory-friendly.

Inventive Principle:
Principle #3Local quality

4Reliability

If blocking signals are sent to prevent duplicate engine allocation, then resource conflicts are eliminated, but communication overhead and signal processing time increase

Engineering Contradiction:
Improveresource conflict preventionVSAvoidsignal processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The blocking signal generation is merged into the existing retry request path. The same logic that generates retry requests also checks the dependency matrix and generates blocking signals when needed, consolidating control functions and reducing separate signal processing overhead.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11372776B2Method and apparatus for an efficient TLB lookup
Publication Date: 2022.06.28 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11372776B2 patent drawing
  • US11372776B2 patent drawing
  • US11372776B2 patent drawing

AI summary

The present disclosure relates to a method of operating a translation lookaside buffer (TLB) arrangement for a processor supporting virtual addressing, wherein multiple translation engines are used to perform translations on request of one of a plurality of dedicated processor units. The method comprises: maintaining by a cache unit a dependency matrix for the engines to track for each processing unit if an engine is assigned to the each processing unit for a table walk. The cache unit may block a processing unit from allocating an engine to a translation request when the engine is already assigned to the processing unit in the dependency matrix.