Urgency-Based Memory Request Reordering Algorithm

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional priority-aware reordering algorithms in memory systems fail to ensure high-priority requests are serviced promptly, leading to potential deadline misses and performance issues due to their reliance on priority or deadline alone, without considering request dependencies or credit utilization.

Innovation Solution

An urgency-based reordering algorithm that assigns an urgency value to each request based on its priority and deadline, incrementing it over cycles to prevent starvation, ensuring that requests with higher urgency are serviced first, thereby prioritizing high-priority and deadline-critical requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional priority-aware reordering algorithms use priority or deadline alone to pick a winner amongst available ready requests, then the selection process is simple, but high-priority requests can stay blocked due to dependencies on low-priority requests, potentially missing deadlines and reducing system performance

Engineering Contradiction:
Improvesystem performanceVSAvoidrequest blocking time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent changes the selection parameter from simple priority or deadline to a composite urgency metric that combines both factors. The urgency metric is calculated as urgency = priority_weight × priority_value + deadline_weight × deadline_value, allowing the system to select requests that optimize both priority adherence and deadline compliance simultaneously, preventing high-priority requests from being blocked by low-priority ones

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces dynamic urgency promotion where the urgency metric is updated each cycle based on current system state. Requests that are approaching their deadlines or have high priority see their urgency values increased, making them more likely to be selected. This dynamic adjustment ensures that time-critical requests are serviced promptly while maintaining simple arbitration logic

Inventive Principle:
Principle #15Dynamics

2Reliability

If requests are buffered in the aggregator to allow for arbitration between various memory sources, then arbitration can be performed, but a reordering algorithm is required to ensure deadline critical requests get serviced first, increasing algorithmic complexity

Engineering Contradiction:
Improvedeadline complianceVSAvoidreordering algorithm complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent transforms the reordering problem by changing from complex dependency-aware scheduling to a simpler urgency-based metric. Instead of analyzing request dependencies and constructing complex schedules, the system calculates a scalar urgency value for each buffered request and selects the maximum, achieving deadline compliance through parameter transformation rather than complex algorithmic reasoning

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The urgency metric inherently encodes the deadline-critical information within each request. When requests are buffered, their urgency values are calculated based on their own priority and deadline characteristics. The arbitration logic simply selects the request with maximum urgency, allowing requests to essentially self-identify their criticality without external intervention or complex scheduling algorithms

Inventive Principle:
Principle #25Self-service

3Productivity

If urgency value is incremented over cycles to prevent starvation, then high-priority requests are serviced timely, but the mechanism requires tracking urgency values across multiple cycles, increasing state management complexity

Engineering Contradiction:
Improvehigh-priority request servicing speedVSAvoidstate management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic urgency promotion where the urgency metric evolves over time through incremental updates. Each cycle, the urgency value is increased by a promotion factor, causing previously non-critical requests to become critical over time. This temporal dynamics ensures that no request starves indefinitely while maintaining a simple update rule that adds a fixed amount to each request's urgency each cycle

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The urgency promotion operates periodically at each arbitration cycle. Rather than continuous complex monitoring, the system applies a periodic increment to urgency values at discrete time intervals (each arbitration cycle). This periodic action simplifies state management by using regular, predictable updates rather than continuous monitoring and adjustment

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10223298B2Urgency based reordering for priority order servicing of memory requests
Publication Date: 2019.03.05 INTEL CORP
  • US10223298B2 patent drawing
  • US10223298B2 patent drawing
  • US10223298B2 patent drawing

AI summary

Embodiments of the invention include a machine-readable medium having stored thereon instructions, which if performed by a machine causes the machine to perform a method that includes assigning an urgency of requests based on a priority level for incoming requests and associated entries in at least one priority queue, assigning an urgency delta for anti-starvation that indicates urgency promotion to prevent starvation for the incoming requests in the at least one priority queue, determining conflict information including whether an incoming request is dependent on any request already present in the at least one queue, determining all contending requests within the at least one priority queue during a cycle, and sending a selected contending request to a memory controller for accessing memory.