Memory Controller QoS Request Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In processing systems with shared resources, such as shared memory, existing technologies face challenges in allocating memory bandwidth effectively while guaranteeing Quality-of-Service (QoS) metrics, leading to increased service times for all clients, which is unacceptable for high-priority clients.

Innovation Solution

The implementation of a dynamic priority-based resource allocation system, where clients are assigned a proportional share parameter based on their QoS class, with timeout values assigned to requests to increment criticality levels, prioritizing higher criticality requests ahead of lower ones, and considering memory states like precharged banks and row buffers for efficient servicing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory bandwidth is allocated equally among all clients, then fairness is maintained, but service time increases for high-priority clients

Engineering Contradiction:
ImproveQoS guaranteeVSAvoidservice time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements different service qualities for different clients by introducing QoS classes and criticality levels. High-priority clients receive preferential treatment with shorter service times, while low-priority clients accept longer wait times. This resolves the contradiction by allowing differentiated quality rather than uniform treatment.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The system dynamically adjusts service priority based on real-time conditions. Criticality levels are updated as requests wait in queues, and the memory controller adapts its scheduling decisions based on current QoS requirements and system state. This dynamic adjustment allows the system to maintain QoS guarantees while optimizing service times.

Inventive Principle:
Principle #15Dynamics

2Reliability

If memory bandwidth is allocated to meet high-priority client requirements, then QoS is guaranteed for high-priority clients, but service time increases for low-priority clients

Engineering Contradiction:
ImproveQoS metricVSAvoidservice time for low-priority clients
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies partial action by allocating memory bandwidth preferentially to high-priority clients only when their QoS requirements demand it. Low-priority clients receive service when resources are available, accepting longer wait times. This partial differentiation resolves the contradiction by applying priority treatment only where necessary.

Inventive Principle:
Principle #16Partial or excessive action

3Adaptability or versatility

If the number of clients integrated in the processing system increases, then system capability increases, but competition for shared resources increases

Engineering Contradiction:
Improvenumber of clientsVSAvoidresource allocation efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent introduces QoS class parameters and criticality level parameters to characterize client requests. By changing the parameter space from simple client identification to multi-dimensional QoS characterization, the system can efficiently manage resource allocation among increasing numbers of clients while maintaining productivity.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If average service time is reduced for all clients, then overall system performance improves, but QoS guarantees for high-priority clients cannot be maintained

Engineering Contradiction:
Improveaverage service timeVSAvoidQoS guarantee
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments the client population into different QoS classes and segments requests into different criticality levels. This segmentation allows the system to optimize service times within each segment while maintaining overall QoS guarantees. High-priority segments receive guaranteed service, while lower-priority segments accept variable service times, achieving both goals simultaneously.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3440547B1QOS class based servicing of requests for a shared resource
Publication Date: 2022.10.12 QUALCOMM INC
  • EP3440547B1 patent drawingFigure 1
  • EP3440547B1 patent drawingFigure 2
  • EP3440547B1 patent drawingFigure 3

AI summary

Systems and methods are directed to managing access to a shared memory. A request received at a memory controller, for access to the shared memory from a client of one or more clients configured to access the shared memory, is placed in at least one queue in the memory controller. A series of one or more timeout values is assigned to the request, based, at least in part on a priority associated with the client which generated the request. The priority may be fixed or based on a Quality-of-Service (QoS) class of the client. A timer is incremented while the request remains in the first queue. As the timer traverses each one of the one or more timeout values in the series, a criticality level of the request is incremented. A request with a higher criticality level may be prioritized for servicing over a request with a lower criticality level.