TLB Clustering and Prefetching for Memory Translation Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing memory address translation systems, such as translation lookaside buffers (TLBs), face inefficiencies due to limited size, which prevents them from storing every possible memory address translation, leading to increased latency and resource usage when handling virtual to physical memory address conversions.

Innovation Solution

The implementation of TLB clustering, where memory address translations are stored as clusters by encoding offsets relative to a base address, allowing for more efficient storage and retrieval of translations, and the use of prefetch circuitry to anticipate and store adjacent memory address translations, reducing the need for frequent main memory accesses.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the TLB size is increased to store more memory address translations, then the hit rate and storage efficiency improve, but the area and power consumption increase

Engineering Contradiction:
ImproveTLB hit rateVSAvoidTLB area
Core Design Contradiction:
ReliabilityVSArea of stationary object

Solution Approach 1:

The patent segments the memory address translation storage into clusters of related translations sharing common base addresses. Instead of storing individual translations分散ly, the TLB organizes them into compact clusters that can be stored more efficiently, increasing the effective storage capacity without proportionally increasing the physical TLB area.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent employs nested encoding where offset addresses are embedded within cluster entries relative to base addresses. Multiple translation entries are nested within a single cluster structure, allowing the TLB to store more translations per unit area by hierarchically organizing the address translation data.

Inventive Principle:
Principle #7Nested doll (Nesting)

2Loss of time

If the TLB is made larger to reduce latency, then the address translation speed improves, but the power consumption increases

Engineering Contradiction:
ImproveAddress translation latencyVSAvoidTLB power consumption
Core Design Contradiction:
Loss of timeVSUse of energy by stationary object

Solution Approach 1:

The patent implements prefetching of adjacent memory address translations into the TLB clusters before they are actually needed. By anticipating future translation requests and pre-loading the data, the system reduces actual translation latency without requiring a permanently larger TLB, thereby avoiding the associated power penalty.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The TLB cluster structure enables self-service prefetching where the detection of cluster access patterns automatically triggers prefetching of adjacent translations. The system uses its own access patterns to drive the prefetching mechanism, reducing external control overhead and improving efficiency without additional power consumption.

Inventive Principle:
Principle #25Self-service

3Productivity

If individual memory address translations are stored separately, then the retrieval is simple, but the storage efficiency and TLB capacity are reduced

Engineering Contradiction:
ImproveStorage efficiencyVSAvoidTranslation storage structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges multiple individual memory address translations into unified cluster entries that share common base addresses. By combining related translations into single cluster structures with shared metadata, the system achieves higher storage efficiency and increased TLB capacity while maintaining relatively simple retrieval operations through the clustered organization.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS11709782B2Memory address translation
Publication Date: 2023.07.25 ARM LTD
  • US11709782B2 patent drawing
  • US11709782B2 patent drawing
  • US11709782B2 patent drawing

AI summary

Circuitry comprises a translation lookaside buffer to store memory address translations, each memory address translation being between an input memory address range defining a contiguous range of one or more input memory addresses in an input memory address space and a translated output memory address range defining a contiguous range of one or more output memory addresses in an output memory address space; in which the translation lookaside buffer is configured selectively to store the memory address translations as a cluster of memory address translations, a cluster defining memory address translations in respect of a contiguous set of input memory address ranges by encoding one or more memory address offsets relative to a respective base memory address; memory management circuitry to retrieve data representing memory address translations from a memory, for storage by the translation lookaside buffer, when a required memory address translation is not stored by the translation lookaside buffer; detector circuitry to detect an action consistent with access, by the translation lookaside buffer, to a given cluster of memory address translations; and prefetch circuitry, responsive to a detection of the action consistent with access to a cluster of memory address translations, to prefetch data from the memory representing one or more further memory address translations of a further set of input memory address ranges adjacent to the contiguous set of input memory address ranges for which the given cluster defines memory address translations.