Memory Controller Prioritizes Core Demand Accesses
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Loss of time
If aggressive prefetching is used to reduce processor stalls, then data availability improves, but memory bandwidth consumption increases
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.
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.
2Quantity of substance
If prefetching is made less aggressive to reduce memory bandwidth usage, then memory bandwidth efficiency improves, but processor stall time increases
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.
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.
3Productivity
If core demand memory accesses are prioritized over prefetch accesses, then processor performance improves, but memory access complexity increases
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.
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.
Data Source
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.


