TLB Invalidation Buffering for Non-Blocking Address Translation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory management systems face inefficiencies in address translation and invalidation processes, leading to processing delays and resource bottlenecks due to the reliance on translation lookaside buffers (TLBs), which can stall processor operations when translation requests backlog.

Innovation Solution

The implementation of a memory management unit (MMU) with a TLB that includes matching logic, a general purpose transaction buffer, and a dedicated invalidation buffer, allowing for non-stalling, non-blocking TLB invalidation and error detection/correction, enabling continuous processor operations even during TLB invalidation and address translation requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If a TLB is used to cache address translations, then address translation performance is improved, but processing delays occur when the TLB needs to be invalidated

Engineering Contradiction:
Improveaddress translation performanceVSAvoidprocessing delays during invalidation
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent segments the transaction buffer into multiple independent buffers (first transaction buffer, second transaction buffer, third transaction buffer) that can operate in parallel. This segmentation allows address translation requests and invalidation requests to be processed simultaneously in different buffers, eliminating the stalling that occurs when a single buffer must handle all requests sequentially.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by having the invalidation request be processed and the matching logic be prepared in advance. The system pre-loads invalidation requests into the transaction buffers before they are needed, and the matching logic is pre-configured to quickly identify and invalidate matching entries without causing processor stalls.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the TLB processes address translation requests, then translation speed is improved, but resource bottlenecks occur during invalidation operations

Engineering Contradiction:
Improvetranslation speedVSAvoidresource bottlenecks during invalidation
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the transaction processing resources into multiple segmented buffers (first, second, and third transaction buffers) that can handle different types of requests simultaneously. This segmentation distributes the resource load and eliminates bottlenecks during invalidation operations while maintaining high translation speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces intermediary structures (transaction buffers and matching logic) that mediate between the processor core and the TLB. These intermediaries absorb and manage the complexity of invalidation operations, preventing resource bottlenecks from propagating to the processor while maintaining efficient translation operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Device complexity

If a single buffer is used for transaction requests, then device complexity is reduced, but processor operations stall during buffer overflow

Engineering Contradiction:
Improvebuffer structure simplicityVSAvoidprocessor operation continuity
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent segments the single buffer into multiple independent buffers (first, second, and third transaction buffers) that can operate independently. This segmentation ensures that if one buffer becomes full or experiences issues, the processor can continue operating using other buffers, thereby maintaining operation continuity and reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the buffer capacity parameter by providing multiple buffers instead of a single buffer. This parameter change increases the total buffering capacity and provides redundancy, ensuring that processor operations continue without stalling even when individual buffers reach their capacity limits.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11663141B2Non-stalling, non-blocking translation lookaside buffer invalidation
Publication Date: 2023.05.30 TEXAS INSTRUMENTS INC
  • US11663141B2 patent drawing
  • US11663141B2 patent drawing
  • US11663141B2 patent drawing

AI summary

A method includes receiving, by a MMU for a processor core, an address translation request from the processor core and providing the address translation request to a TLB of the MMU; generating, by matching logic of the TLB, an address transaction that indicates whether a virtual address specified by the address translation request hits the TLB; providing the address transaction to a general purpose transaction buffer; and receiving, by the MMU, an address invalidation request from the processor core and providing the address invalidation request to the TLB. The method also includes, responsive to a virtual address specified by the address invalidation request hitting the TLB, generating, by the matching logic, an invalidation match transaction and providing the invalidation match transaction to one of the general purpose transaction buffer or a dedicated invalidation buffer.