Selective TLB Purging via Memory Block Marking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing environments with virtualization technology, the process of purging entries from translation look-aside buffers (TLBs) can lead to performance losses due to the need to rewalk address translation tables, as existing methods often result in over-purging and inefficient management of address translation structures.

Innovation Solution

A computer program product is introduced that selectively purges entries from address translation structures by determining whether a block of memory backs an address translation structure, using indicators in page table entries, page status table entries, or storage keys to decide which entries to purge, thereby minimizing unnecessary purging and optimizing TLB performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If all TLB entries are purged when a purge request is received, then memory management consistency is maintained, but performance degradation occurs due to excessive rewalking of address translation tables

Engineering Contradiction:
Improvememory management consistencyVSAvoidaddress translation performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the TLB entries into different groups based on their association with address translation structures. Instead of treating all TLB entries uniformly, the system identifies and separates entries that are backed by address translation structures from those that are not, allowing selective purging of only the necessary subset while preserving others to maintain performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different purging strategies to different portions of the TLB based on local characteristics. Entries associated with address translation structures receive one treatment (selective purging), while other entries receive different treatment (preservation). This localized differentiation resolves the contradiction by applying the appropriate action only where needed.

Inventive Principle:
Principle #3Local quality

2Productivity

If TLB entries are selectively purged based on memory block analysis, then performance is improved by reducing unnecessary purges, but system complexity increases due to additional determination steps

Engineering Contradiction:
ImproveTLB hit rateVSAvoidpurge management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary analysis of memory blocks to determine whether they back address translation structures before purge operations are executed. By pre-establishing this information through indicators in page table entries, page status table entries, or storage keys, the system avoids complex real-time decision-making during purging, thus improving performance without excessive complexity.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces intermediary indicators (such as bits in page table entries, page status table entries, or storage keys) that serve as mediators between the memory management system and the TLB purge mechanism. These indicators pre-mark which memory blocks back address translation structures, allowing the purge logic to simply check the indicator rather than perform complex analysis, thus reducing complexity while maintaining selectivity.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If address translation tables are rewalked to recreate purged entries, then translation accuracy is ensured, but time consumption increases

Engineering Contradiction:
Improveaddress translation accuracyVSAvoidentry recreation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies partial purging by selectively removing only those TLB entries that are backed by address translation structures, rather than purging all entries. This partial action ensures that translations remain accurate for preserved entries (avoiding unnecessary rewalks) while still maintaining consistency for purged entries, thus reducing overall time loss without sacrificing accuracy.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10169243B2Reducing over-purging of structures associated with address translation
Publication Date: 2019.01.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10169243B2 patent drawing
  • US10169243B2 patent drawing
  • US10169243B2 patent drawing

AI summary

A marking capability is used to provide an indication of whether a block of memory is being used by a guest control program to back an address translation structure. The marking capability includes setting an indicator in one or more locations associated with the block of memory. In a further aspect, the marking capability includes a purging capability that limits the purging of translation look-aside buffers and other such structures based on the marking.