Processor Access Log and Address Translation Log for Memory Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing complexity of processor designs, including the addition of graphics processing units and other specialized modules, makes it difficult to identify data that is likely to be accessed frequently, hindering efficient data transfer within the memory hierarchy and impacting processing speed.

Innovation Solution

A processor maintains an access log for cache misses and an address translation log to record physical memory addresses and their corresponding virtual addresses, allowing software to analyze access patterns and move frequently accessed data closer to processor cores within the memory hierarchy.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the processor implements a memory management scheme to transfer data between memory hierarchy levels, then processing speed and efficiency are improved, but the complexity of identifying frequently accessed data increases due to processor design complexity including graphics processing units and specialized modules

Engineering Contradiction:
Improveprocessing speedVSAvoidprocessor design complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent introduces access logs and address translation logs as intermediary components that capture and record memory access patterns. These logs serve as mediators between the complex processor components (including GPUs and specialized modules) and the memory management system, providing simplified data about access patterns without requiring the memory management scheme to directly analyze complex processor internals.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent replaces direct analysis of complex processor memory access patterns with a logging and analysis system. Instead of implementing complex real-time monitoring mechanisms within the processor itself, the system uses access logs to record patterns and software analysis to identify frequently accessed data, substituting mechanical/hardware complexity with a software-based solution.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

2Productivity

If the processor maintains detailed access logs and address translation logs to identify frequently accessed data, then data transfer efficiency is improved, but the complexity of the memory management system increases

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidmemory management system complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the memory management functionality into distinct components: access logs for recording memory access patterns, address translation logs for tracking address mappings, and software analysis mechanisms for identifying frequently accessed data. This segmentation allows each component to have a specific, simplified function rather than requiring a monolithic complex system.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The access logs and address translation logs act as intermediaries that capture raw data without requiring the memory management system to directly monitor and analyze complex processor behavior in real-time. This intermediary layer simplifies the memory management system by providing pre-processed, structured data for analysis.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If software analyzes access logs to identify frequently used data, then data can be moved to optimal memory hierarchy levels, but access time for log analysis and address translation increases

Engineering Contradiction:
Improvememory access optimizationVSAvoidlog analysis time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by continuously recording access patterns in logs and maintaining address translation mappings before they are needed for optimization decisions. The access logs and address translation logs are populated in advance during normal processor operation, so when software needs to identify frequently accessed data, the information is already captured and ready for analysis, reducing the time required for optimization decisions.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12032487B2Access log and address translation log for a processor
Publication Date: 2024.07.09 ADVANCED MICRO DEVICES INC
  • US12032487B2 patent drawing
  • US12032487B2 patent drawing
  • US12032487B2 patent drawing

AI summary

A processor maintains an access log indicating a stream of cache misses at a cache of the processor. In response to each of at least a subset of cache misses at the cache, the processor records a corresponding entry in the access log, indicating a physical memory address of the memory access request that resulted in the corresponding miss. In addition, the processor maintains an address translation log that indicates a mapping of physical memory addresses to virtual memory addresses. In response to an address translation (e.g., a page walk) that translates a virtual address to a physical address, the processor stores a mapping of the physical address to the corresponding virtual address at an entry of the address translation log. Software executing at the processor can use the two logs for memory management.