TLB Error Entry Storage for Speculative Page Fault Prevention

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data processing systems, repeated speculative execution of instructions causing translation faults leads to wasteful page walks, as each execution initiates a time-consuming page walk process to determine the corresponding physical address, even if the translation error is consistent, resulting in inefficient use of processing resources.

Innovation Solution

Implementing a data processing apparatus with lookup circuitry that speculatively executes instructions, performs page walks when virtual addresses are unlisted, and stores error entries in the Translation Lookaside Buffer (TLB) to prevent repeated page walks by signaling errors and storing virtual addresses, allowing direct access or marking entries as faulting to avoid unnecessary page walks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If speculative execution is used to execute instructions before branch resolution, then processing efficiency is improved, but repeated page walks are triggered for faulting translations

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidtime for page walks
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent stores the virtual address in the TLB storage circuitry when a translation fault is detected during speculative execution. This preliminary action ensures that subsequent speculative executions of the same instruction will find the address in the TLB and can properly handle the translation fault without initiating another page walk, thus resolving the contradiction by preparing the system in advance to avoid repeated time-consuming operations.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If page walks are performed for each speculative execution with translation faults, then correct translation can be determined, but processing resources are wasted

Engineering Contradiction:
Improvetranslation correctnessVSAvoidprocessing resources
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements a feedback mechanism where the result of a page walk (the determined correct translation or the detection of an invalid translation) is stored in the TLB storage circuitry. This feedback allows the system to learn from previous page walk results and avoid repeating them, thereby maintaining translation correctness while reducing processing resource waste by eliminating redundant page walks for the same virtual addresses.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10198360B2Systems and methods storing a page fault virtual address to prevent unnecessary page table walks
Publication Date: 2019.02.05 ARM LTD
  • US10198360B2 patent drawing
  • US10198360B2 patent drawing
  • US10198360B2 patent drawing

AI summary

There is provided a data processing apparatus comprising: processing circuitry to speculatively execute an instruction referencing a virtual address. Lookup circuitry receives the virtual address from the processing circuitry. The lookup circuitry comprises storage circuitry to store at least one virtual address and page walking circuitry to perform a page walk on further storage circuitry, in dependence on the virtual address being unlisted by the storage circuitry, to determine whether a correspondence between a physical address and the virtual address exists. The lookup circuitry signals an error when the correspondence cannot be found and, in response to the error being signaled, the storage circuitry stores an entry comprising the virtual address.