Emulated Computing System Memory Tracing via Static Tracepoints

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory tracing methods are time-consuming and resource-intensive, often limited to providing only virtual addresses or failing to support full system memory tracing across various operating systems, especially in emulated computing environments.

Innovation Solution

The implementation of an emulated computing system that can emulate a real computing system from the application layer down to the hardware, using dynamic binary translation and hardware virtualization, allowing for the insertion of static tracepoints to retrieve both virtual and physical addresses during memory access operations, thereby enabling full system memory tracing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If current memory tracing methods are used, then memory tracing can be performed, but the process is time-consuming and resource-intensive

Engineering Contradiction:
Improvememory tracing performanceVSAvoidtime-consuming
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent creates a virtualized copy of the memory system that mirrors the physical memory hierarchy. By tracing memory accesses in the virtual environment rather than directly monitoring physical hardware, the system achieves comprehensive memory tracing without the performance penalty of direct hardware instrumentation. The virtual memory manager intercepts and records memory operations, providing full tracing capability while maintaining host application performance.

Inventive Principle:
Principle #26Copying

2Loss of information

If current memory tracing methods are used, then memory tracing can be performed, but comprehensive data for debugging and security analysis is not provided

Engineering Contradiction:
Improvecomprehensive dataVSAvoidmemory tracing capability
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent adds multiple dimensions to memory tracing by capturing not only virtual addresses but also physical addresses, memory access patterns, and hierarchical memory structure information. The virtual memory manager records comprehensive metadata about memory operations, including the virtual address space, physical address translation, and memory controller interactions. This multi-dimensional data provides complete information for debugging, security analysis, and performance optimization.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

3Loss of information

If full system memory tracing is implemented, then comprehensive tracing data is obtained, but device complexity increases

Engineering Contradiction:
Improvetracing data completenessVSAvoidsystem complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent introduces a virtual memory manager as an intermediary layer between the host applications and the physical memory system. This virtual manager handles all memory access translations and tracing operations, consolidating complexity into a single software component rather than distributing it across hardware circuits. The virtual memory manager intercepts memory requests, translates virtual to physical addresses, and records comprehensive tracing data, thereby achieving complete tracing with manageable software-based complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Loss of information

If static tracepoints are inserted into functions, then memory access information can be retrieved, but the functions execute slower

Engineering Contradiction:
Improvememory access informationVSAvoidfunction execution speed
Core Design Contradiction:
Loss of informationVSSpeed

Solution Approach 1:

The patent copies the memory access interception function into the virtual memory manager, which handles all tracing operations centrally. Rather than inserting tracepoints throughout host functions, the virtual memory manager captures memory access information during the natural memory translation process. This approach provides complete memory access information without the performance overhead of frequent function-level tracepoint insertions, as the tracing occurs during memory controller operations rather than during CPU instruction execution.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11544201B2Memory tracing in an emulated computing system
Publication Date: 2023.01.03 MICRON TECHNOLOGY INC
  • US11544201B2 patent drawing
  • US11544201B2 patent drawing
  • US11544201B2 patent drawing

AI summary

Systems, apparatuses, and methods related to memory tracing in an emulated computing system are described. Static tracepoints can be inserted into a particular function as part of operating the emulated computing system. By executing the function including the static tracepoints as part of a memory access request, the emulated computing system can receive information corresponding to both a virtual address and a physical address in a real computing system in which data corresponding to the memory access request is stored.