Memory Access Bypass for Instruction Misses

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems with hierarchical memory, the translation of virtual memory addresses to physical addresses across multiple memory levels can significantly impact performance due to memory access misses, which are not efficiently managed by existing systems.

Innovation Solution

A code patcher mechanism that maintains a count of memory misses for instructions and, when a threshold is exceeded, allows direct access to memory devices like flash memory, bypassing the operating system, thereby reducing latency and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If virtual memory mapping is used to provide a single addressing scheme for applications, then ease of operation is improved, but memory access performance deteriorates due to translation overhead and memory misses

Engineering Contradiction:
Improveease of operationVSAvoidmemory access performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent applies dynamics by making the memory access path changeable based on conditions. Instructions can dynamically switch between going through the virtual memory mapping system (for normal operation) or bypassing it directly to memory devices (for performance-critical paths). This is achieved by maintaining a count of memory misses per instruction and modifying instructions based on whether the threshold is exceeded, allowing the system to adapt its memory access behavior dynamically.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the memory access path into two distinct routes: the conventional virtual memory mapping path and a direct memory access path. By segmenting this way, the system can route different instructions through different paths based on their memory access patterns, allowing high-performance direct access for instructions with frequent misses while maintaining virtual memory protection for others.

Inventive Principle:
Principle #1Segmentation

2Speed

If direct memory access is granted to bypass the operating system, then memory access speed is improved, but system control and security deteriorate

Engineering Contradiction:
Improvememory access speedVSAvoidsystem control
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent implements feedback by monitoring memory miss counts for each instruction and using this information to determine whether to modify the instruction's memory access path. The system continuously tracks performance metrics and adjusts behavior accordingly, only granting direct access when data shows persistent misses exceeding a threshold, thus ensuring direct access is granted only when performance benefits outweigh control risks.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent applies local quality by treating different instructions differently based on their individual memory access characteristics. Rather than applying a uniform policy to all instructions, the system analyzes and modifies only those specific instructions that exhibit problematic memory access patterns, leaving other instructions unchanged and maintaining normal system control for them.

Inventive Principle:
Principle #3Local quality

3Productivity

If memory access threshold is set low, then application performance is improved by more direct access, but system overhead increases due to more frequent modifications

Engineering Contradiction:
Improveapplication performanceVSAvoidsystem overhead
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent changes the parameter of memory access behavior based on the threshold condition. By adjusting the threshold parameter, the system can control the balance between performance improvement and overhead. A higher threshold reduces the frequency of modifications and system overhead, while a lower threshold maximizes performance benefits by granting direct access more readily.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9213658B1Changing memory access for instruction based on memory access misses
Publication Date: 2015.12.15 GOOGLE LLC
  • US9213658B1 patent drawing
  • US9213658B1 patent drawing
  • US9213658B1 patent drawing

AI summary

A non-transitory computer-readable storage medium may include instructions stored thereon. When executed by at least one processor, the instructions may be configured to cause a computing system to at least maintain a count of memory misses associated with an instruction, the instruction being included in code associated with an application, and grant the instruction direct access to memory, bypassing an operating system running on the computer, based on the count of memory misses meeting or exceeding a threshold.