DRAM-Backed TLB Translation Buffer for Asynchronous Maintenance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory address translation systems face inefficiencies in handling large storage and asynchronous maintenance operations, particularly in multi-stage translations and cache management, which can lead to delays and resource bottlenecks.
Innovation Solution
The proposed solution involves a memory address translation apparatus with a page table access circuitry, a translation data buffer, and comparison circuitry to efficiently manage address translations, allowing for asynchronous maintenance operations and improved cache utilization by storing translations in a DRAM-backed TLB and using a fill queue to prioritize maintenance operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a traditional TLB is used for address translation, then translation speed is improved, but the storage capacity is limited and cannot handle large address spaces
Solution Approach 1:
The patent divides the translation buffer into multiple segments or levels. The first level uses a traditional TLB for fast translation of frequently accessed addresses, while the second level uses a larger, slower buffer (such as a page table walker or extended TLB) to store translations for less frequently accessed addresses. This segmentation allows the system to maintain high translation speed for common cases while expanding total storage capacity to handle large address spaces.
2Reliability
If synchronous maintenance operations are performed on the TLB, then data consistency is ensured, but system performance deteriorates due to stalls
Solution Approach 1:
The patent performs maintenance operations (such as invalidation or updating of translation entries) in advance or asynchronously, rather than synchronously blocking translation operations. For example, when a page table entry is updated, the system can asynchronously update the corresponding TLB entries or mark them for invalidation, allowing translation operations to continue without stalls. This preliminary or asynchronous action maintains eventual data consistency while preserving system performance.
3Productivity
If the TLB is fully utilized to store translations, then translation efficiency is improved, but cache memory availability is reduced
Solution Approach 1:
The patent implements a multi-functional memory structure where the same physical memory resources serve multiple purposes. The translation buffer can dynamically allocate space for address translations while also allowing the same or adjacent memory regions to be used as cache for data or instructions when not needed for translations. This multi-functionality allows the system to maximize translation efficiency when needed while preserving cache availability for other operations, eliminating the need for dedicated separate memory spaces.
Data Source
AI summary
Memory address translation apparatus comprises page table access circuitry to access a page table to retrieve translation data; a translation data buffer to store one or more instances of the translation data, comprising: an array of storage locations arranged in rows and columns; a row buffer comprising a plurality of entries and comparison circuitry responsive to a key value dependent upon at least the initial memory address, to compare the key value with information stored in each of at least one key entry and an associated value entry for storing at least a representation of a corresponding output memory address, and to identify which of the at least one key entry, if any, is a matching key entry storing information matching the key value; and output circuitry to output, when there is a matching key entry, at least the representation of the output memory address.


