TLB Reset Ports for Selective Thread Invalidation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory management circuits face inefficiencies in managing translation lookaside buffer (TLB) entries, particularly when handling multiple threads and context switches, as they often require flushing the entire TLB, which is resource-intensive and costly in terms of performance.

Innovation Solution

A memory management circuit that utilizes separate reset ports for each thread in the TLB, allowing for selective invalidation of TLB entries without the need for context IDs, thereby avoiding the need to flush the entire TLB during context switches or page swaps.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the entire TLB is flushed during context switches or page swaps, then thread isolation and memory management correctness are ensured, but performance deteriorates due to resource-intensive operations and increased overhead

Engineering Contradiction:
Improvethread isolationVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the TLB management by introducing separate reset ports for each thread (reset0, reset1, reset2, reset3) instead of using a single global reset mechanism. This allows individual thread contexts to be cleared independently without affecting other threads, thereby maintaining thread isolation while avoiding the performance penalty of flushing the entire TLB.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the context identification mechanism from the TLB entry structure itself by using separate reset ports for each thread. Instead of storing context IDs in each TLB entry, the system uses dedicated reset ports that are associated with specific threads, thereby removing the need to store and manage context IDs while still achieving proper thread context management.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If context IDs are stored in TLB entries to manage multiple threads, then thread-specific translations are maintained, but device complexity increases due to additional hardware requirements

Engineering Contradiction:
Improvemulti-thread supportVSAvoidhardware complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent removes the context ID field from the TLB entry structure entirely. Instead of embedding context IDs within each TLB entry, the system uses separate reset ports (reset0, reset1, reset2, reset3) that are externally associated with specific threads. This extraction simplifies the TLB entry format while maintaining multi-thread support through the reset mechanism.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The separate reset ports serve multiple functions: they enable thread-specific TLB invalidation, support context switches, and facilitate page swaps without requiring additional hardware structures. Each reset port can be used to clear TLB entries for a specific thread, providing a universal mechanism for multi-threaded TLB management.

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

3Reliability

If the TLB is flushed during page swaps, then translation consistency is maintained, but loss of time occurs due to unnecessary invalidation of valid entries

Engineering Contradiction:
Improvetranslation consistencyVSAvoidcontext switch overhead
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the TLB invalidation process by thread, allowing the system to invalidate only the entries relevant to the current thread during page swaps. This selective invalidation maintains translation consistency for the affected thread while preserving valid entries for other threads, thereby reducing the time loss associated with unnecessary flushes.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of performing a complete TLB flush during page swaps, the patent applies partial action by invalidating only the necessary thread-specific entries through dedicated reset ports. This reduces the overhead of context switches and page swaps while maintaining the required translation consistency.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10108554B2Apparatuses, methods, and systems to share translation lookaside buffer entries
Publication Date: 2018.10.23 INTEL CORP
  • US10108554B2 patent drawing
  • US10108554B2 patent drawing
  • US10108554B2 patent drawing

AI summary

Methods, systems, and apparatuses relating to sharing translation lookaside buffer entries are described. In one embodiment, a processor includes one or more cores to execute a plurality of threads, a translation lookaside buffer comprising a plurality of entries, each entry comprising a virtual address to physical address translation and a plurality of bit positions, and each set bit of the plurality of bit positions in each entry indicating that the virtual address to physical address translation is valid for a respective thread of the plurality of threads, and a memory management circuit to clear all set bits for a thread by asserting a reset command to a respective reset port of the translation lookaside buffer for the thread, wherein the translation lookaside buffer comprises a separate reset port for each of the plurality of threads.