Memory Controller Prioritizes Core Demand Accesses

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computing systems face processor stalls due to memory access delays, as aggressive prefetching can increase memory bandwidth usage and minimize benefits, necessitating a solution to optimize memory accesses while minimizing processor operation stalls.

Innovation Solution

A memory controller prioritizes core demand memory accesses over prefetch and I/O device memory accesses by identifying the source of memory requests, such as from an execution pipeline or prefetch unit, and adjusts prioritization based on latency and bandwidth thresholds to minimize processor wait times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If aggressive prefetching is used to reduce processor stalls, then data availability improves, but memory bandwidth consumption increases

Engineering Contradiction:
Improveprocessor stall timeVSAvoidmemory bandwidth consumption
Core Design Contradiction:
Loss of timeVSQuantity of substance

Solution Approach 1:

The patent applies local quality by differentiating memory access priorities based on the source of the request. Core demand accesses are assigned high priority while prefetch accesses are assigned low priority. This allows the system to selectively optimize for critical memory accesses without uniformly increasing memory bandwidth consumption for all accesses.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamic prioritization where the memory controller adjusts the priority of memory accesses based on real-time conditions. The system dynamically identifies whether an access is from a core demand or prefetch source and adjusts scheduling accordingly, allowing adaptive response to changing workload conditions rather than static prefetching behavior.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If prefetching is made less aggressive to reduce memory bandwidth usage, then memory bandwidth efficiency improves, but processor stall time increases

Engineering Contradiction:
Improvememory bandwidth efficiencyVSAvoidprocessor stall time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

By assigning different priority levels to different sources of memory accesses, the system ensures that core demand accesses receive sufficient bandwidth allocation while prefetch accesses consume less. This local differentiation resolves the contradiction by optimizing bandwidth efficiency for non-critical accesses while maintaining performance for critical accesses.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The memory controller acts as an intermediary that mediates between core demand and prefetch memory accesses. It receives requests from both sources, identifies their priorities, and schedules them appropriately, allowing the system to balance bandwidth efficiency with processor performance without requiring aggressive or conservative prefetching extremes.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If core demand memory accesses are prioritized over prefetch accesses, then processor performance improves, but memory access complexity increases

Engineering Contradiction:
Improveprocessor performanceVSAvoidmemory access control complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory controller serves as an intermediary layer between the memory interface and the core/prefetch units. It introduces priority-based scheduling logic that manages the complexity of differentiated memory access control, shielding the rest of the system from the complexity while enabling performance optimization.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system enables self-service by having the memory controller automatically identify the source of each memory access request and assign appropriate priority levels without external intervention. The controller autonomously manages the prioritization logic, reducing the need for complex external control mechanisms while maintaining processor performance.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20240004808A1Optimized prioritization of memory accesses
Publication Date: 2024.01.04 INTEL CORP
  • US20240004808A1 patent drawing
  • US20240004808A1 patent drawing
  • US20240004808A1 patent drawing

AI summary

Embodiments described herein may include apparatus, systems, techniques, or processes that are directed prioritizing memory requests from core processors such that some memory transaction requests receive a higher priority than other memory transaction requests. In some embodiments, queue lengths and latency, frequency of core demand transaction prioritization and the like are monitored and prioritization throttled accordingly. Other embodiments may be described and/or claimed.