TLB Event Logging Circuit for Software Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The existing memory management systems in computer systems face inefficiencies due to the slow access times of page tables in main memory for virtual address translations, which can be exacerbated in virtualized environments, and lack direct software access to valuable information from translation lookaside buffers (TLBs) that could optimize memory usage.

Innovation Solution

Incorporating a TLB event logging circuit and a software-accessible buffer within the memory management unit (MMU) to detect and log events such as page faults, TLB hits/misses, and evictions, allowing software programs to improve memory subsystem performance and reduce costs by tracking individual page activities and optimizing memory management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If page tables are stored in main memory, then memory protection and virtual memory extension are achieved, but address translation access speed deteriorates

Engineering Contradiction:
Improvememory protectionVSAvoidaddress translation access speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The patent segments the address translation function by separating the page table (stored in main memory) from the translation lookup operation (performed in TLB). This segmentation allows the frequently accessed translation data to be cached in the TLB, improving access speed while maintaining the complete page table in main memory for memory protection

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The TLB performs preliminary action by pre-loading and caching address translation mappings before they are needed for actual memory access. This preliminary caching of translation results in the TLB eliminates the need for slow main memory access during normal operation, while the page table remains intact in main memory for security

Inventive Principle:
Principle #10Preliminary action

2Speed

If TLB is used to speed up address translation, then address translation speed is improved, but direct software access to TLB information is lost

Engineering Contradiction:
Improveaddress translation speedVSAvoidsoftware access to TLB information
Core Design Contradiction:
SpeedVSEase of operation

Solution Approach 1:

The patent introduces an intermediary mechanism (software-accessible buffer or performance monitoring unit) that mediates between the hardware TLB and software programs. This intermediary captures and stores TLB event information in a buffer that software can access, allowing programs to utilize TLB statistics for optimization while the TLB itself remains a fast hardware component

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If TLB event logging is implemented, then memory optimization capabilities are improved, but device complexity increases

Engineering Contradiction:
Improvememory optimization capabilityVSAvoidMMU structure complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service by having the TLB automatically log its own events (hits, misses, evictions) into a buffer without requiring external monitoring hardware. The TLB serves itself by generating performance data that software can use for memory optimization, avoiding the need for complex external monitoring circuits

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10977192B1Real-time memory-page state tracking and its applications
Publication Date: 2021.04.13 AMAZON TECH INC
  • US10977192B1 patent drawing
  • US10977192B1 patent drawing
  • US10977192B1 patent drawing

AI summary

Disclosed herein is an apparatus configured to log transactions of a translation lookaside buffer (TLB) into a software-accessible buffer. The apparatus includes a memory management unit (MMU) configured to translate a logical memory address to a physical memory address for accessing a physical memory. The apparatus also includes a TLB configured to store a plurality of entries, where each entry includes a logical memory page address and an associated physical memory page address. The apparatus further includes a software-accessible buffer and a TLB event logging circuit configured to detect an event associated with an entry of the TLB and store information regarding the detected event in the software-accessible buffer.