Hierarchical Memory Layer Performance Matching via C-AMAT Ratios

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The growing disparity between CPU speeds and memory speeds, known as the 'memory wall,' leads to significant computational performance issues due to increased memory stall time, especially in data-intensive applications, despite advancements in memory systems like hierarchical memory and concurrency features.

Innovation Solution

The method involves optimizing each layer of a hierarchical memory system by matching the request rate of an upper layer with the supply rate of a lower layer, adjusting computer architecture parameters, and utilizing heterogeneous computing resources to align performance with the CPU's capacity, using a concurrent average memory access time model.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If CPU speed is increased to improve computational performance, then processing capability is improved, but memory stall time increases due to the memory wall

Engineering Contradiction:
Improvecomputational performanceVSAvoidmemory stall time
Core Design Contradiction:
PowerVSLoss of time

Solution Approach 1:

The memory system is divided into multiple hierarchical layers (L1 cache, L2 cache, L3 cache, and main memory), each with different speeds and capacities. This segmentation allows the system to serve different types of memory requests from different layers, reducing the impact of slow main memory on overall computational performance by handling frequently accessed data in faster cache layers.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Data is pre-loaded into cache layers before being needed by the CPU through prefetching mechanisms. The system anticipates future memory access patterns and loads data into faster memory layers in advance, so that when the CPU needs the data, it is already available in the cache, eliminating memory stall time.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If memory hierarchy with multiple layers is implemented to reduce memory stall time, then memory access performance is improved, but system complexity increases

Engineering Contradiction:
Improvememory stall timeVSAvoidmemory system complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The memory management unit continuously monitors cache hit rates, memory access patterns, and performance metrics from each cache layer. Based on this feedback, the system dynamically adjusts cache allocation, prefetching aggressiveness, and memory access policies to optimize performance while managing complexity through data-driven decision-making.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically changes operational parameters such as cache associativity, cache line size, and replacement policies based on workload characteristics. By adapting these parameters to match the specific demands of running applications, the system optimizes performance for different scenarios without requiring a fundamentally different architectural approach for each workload type.

Inventive Principle:
Principle #35Parameter changes

3Loss of time

If cache size is increased to improve data locality and reduce memory stalls, then memory performance is improved, but CPU capacity utilization decreases due to resource allocation

Engineering Contradiction:
Improvememory stall timeVSAvoidCPU capacity utilization
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system implements dynamic cache allocation where cache resources are not statically assigned but are instead allocated based on real-time workload demands. The memory management unit can adjust the effective cache size and allocation ratios between different processes or threads, allowing the system to maximize CPU utilization by ensuring that cache resources are available when needed without permanently dedicating excessive resources that would reduce overall system productivity.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS9846646B1Methods and devices for layered performance matching in memory systems using C-AMAT ratios
Publication Date: 2017.12.19 C MEMORY LLC
  • US9846646B1 patent drawing
  • US9846646B1 patent drawing
  • US9846646B1 patent drawing

AI summary

In one embodiment, the present disclosure describes a method of optimizing memory access in a hierarchical memory system. The method includes determining a request rate from an ith layer of the hierarchical memory system for each of n layers in the hierarchical memory system. The method also includes determining a supply rate from an (i+1)th layer of the hierarchical memory system for each of the n layers in the hierarchical memory system. The supply rate from the (i+1)th layer of the hierarchical memory system corresponds to the request rate from the ith layer of the hierarchical memory system. The method further includes adjusting a set of computer architecture parameters of the hierarchical memory system or a schedule associated with an instruction set to utilize heterogeneous computing resources within the hierarchical memory system to match a performance of each adjacent layer of the hierarchical memory system.