TLB Filter Directory for Selective Invalidation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Modern computing systems face performance issues due to unnecessary translation lookaside buffer invalidation instructions (TLBIs) being sent to processing elements, especially in multi-core systems, which can lead to adverse effects on system performance.

Innovation Solution

A method and apparatus that utilize a filter, known as a translation lookaside buffer directory cache, to determine which processing elements have specific mappings in their TLBs, allowing for selective invalidation of TLB entries by partitioning processing elements based on the presence of mappings, thereby suppressing unnecessary TLBI instructions.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If translation lookaside buffer invalidation instructions are sent to all processing elements, then all TLB entries are invalidated, but system performance deteriorates due to unnecessary invalidations

Engineering Contradiction:
ImproveTLB invalidation completenessVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the set of processing elements into two partitions based on whether they have the specific mapping in their TLBs. The filter structure divides the invalidation distribution into selective groups, sending TLBI instructions only to partition one (elements with the mapping) and suppressing them for partition two (elements without the mapping), thus avoiding unnecessary invalidations while maintaining completeness where needed

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by customizing the invalidation behavior for different processing elements based on their individual TLB state. Instead of uniform invalidation, the system determines locally whether each processing element has the specific mapping and tailors the invalidation instruction delivery accordingly, sending TLBI only to elements that actually have the mapping present

Inventive Principle:
Principle #3Local quality

2Productivity

If a filter is introduced to track mapping presence, then unnecessary TLBIs are suppressed, but device complexity increases

Engineering Contradiction:
Improvesystem performanceVSAvoidfilter structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent makes the filter structure multi-functional by having it serve multiple purposes: tracking which processing elements have specific mappings in their TLBs, partitioning elements based on mapping presence, and controlling TLBI instruction delivery. This universal filter structure handles multiple functions that would otherwise require separate mechanisms, justifying the added complexity through functional consolidation

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

Solution Approach 2:

The filter acts as an intermediary component between the invalidation instruction source and the processing elements. It mediates the invalidation process by first determining which elements have the mapping and then selectively distributing TLBI instructions accordingly, preventing unnecessary invalidations from reaching elements that don't have the mapping

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9697137B2Filtering translation lookaside buffer invalidations
Publication Date: 2017.07.04 MARVELL ASIA PTE LTD
  • US9697137B2 patent drawing
  • US9697137B2 patent drawing
  • US9697137B2 patent drawing

AI summary

A filter includes filter entries, each corresponding to a mapping between a virtual memory address and a physical memory address and including a presence indicator indicative which processing elements have the mapping present in their respective translation lookaside buffers (TLBs). A TLB invalidation (TLBI) instruction is received for a first mapping. If a first filter entry corresponding to the first mapping exists in the filter, the plurality of processing elements are partitioned into a first partition of zero or more processing elements that have the first mapping present in their TLBs and a second partition of zero or more processing elements that do not have the first mapping present in their TLBs based on the presence indicator of the first filter entry. The TLBI instruction is sent to the processing elements included in the first partition, and not those in the second partition.