Hardware NCU for Global TLB Demap Across Multiprocessor Cores

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current systems face significant overhead in processing software interrupts for demapping obsolete virtual to physical address translations across multiple cores and processors, leading to decreased performance, especially in systems with increasing numbers of cores and frequent changes to virtual memory.

Innovation Solution

A hardware-based method for invalidating obsolete translations using a non-cacheable unit (NCU) that issues and synchronizes global TLB demap operations across all affected cores and processors, reducing the need for software interrupts and minimizing system overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software interrupts are used to manage TLB demap operations across multiple cores and processors, then comprehensive address translation invalidation is achieved, but system overhead increases significantly and performance decreases

Engineering Contradiction:
Improveaddress translation validityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent replaces the software-based interrupt mechanism with a hardware-based TLB invalidation system. The TLB invalidation engine directly manages TLB entries across multiple cores through hardware mechanisms, eliminating the need for software interrupts and significantly reducing system overhead while maintaining reliable address translation validity.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent introduces a TLB invalidation engine as an intermediary component between the memory management unit and TLBs across multiple cores. This engine coordinates invalidation operations centrally, allowing comprehensive TLB management without requiring each core to process individual software interrupts.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If the number of processor cores increases, then computational capability improves, but the overhead for processing software interrupts for demap operations increases

Engineering Contradiction:
Improvecomputational capabilityVSAvoidinterrupt processing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the TLB invalidation functionality into a centralized hardware engine that operates across all cores simultaneously. Instead of each core independently processing software interrupts, the invalidation engine consolidates the management of TLB entries system-wide, reducing per-core complexity while supporting increased core counts.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent substitutes software-based interrupt processing with a hardware-driven invalidation mechanism that automatically manages TLB entries across all cores. This hardware mechanism scales more efficiently with the number of cores, as it uses parallel hardware operations rather than sequential software interrupt handling.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Adaptability or versatility

If frequent changes to virtual memory space occur, then system adaptability improves, but the overhead for processing demap operations increases

Engineering Contradiction:
Improvevirtual memory flexibilityVSAvoiddemap operation time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent replaces slow software-based demap operations with a hardware-accelerated TLB invalidation engine that can rapidly invalidate TLB entries across all cores. This hardware mechanism significantly reduces the time required for demap operations, enabling frequent virtual memory changes without substantial performance penalty.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Solution Approach 2:

The patent implements continuous TLB invalidation capability through the hardware engine, which can operate asynchronously and continuously to manage memory changes. This allows the system to maintain adaptability to frequent virtual memory modifications while minimizing the time loss associated with demap operations through efficient hardware handling.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS8412911B2System and method to invalidate obsolete address translations
Publication Date: 2013.04.02 ORACLE AMERICAN INC
  • US8412911B2 patent drawing
  • US8412911B2 patent drawing
  • US8412911B2 patent drawing

AI summary

A system and method for invalidating obsolete virtual/real address to physical address translations may employ translation lookaside buffers to cache translations. TLB entries may be invalidated in response to changes in the virtual memory space, and thus may need to be demapped. A non-cacheable unit (NCU) residing on a processor may be configured to receive and manage a global TLB demap request from a thread executing on a core residing on the processor. The NCU may send the request to local cores and/or to NCUs of external processors in a multiprocessor system using a hardware instruction to broadcast to all cores and/or processors or to multicast to designated cores and/or processors. The NCU may track completion of the demap operation across the cores and/or processors using one or more counters, and may send an acknowledgement to the initiator of the demap request when the global demap request has been satisfied.