Fine-Grained QoS Control via Interpolation for Partitioned Processor Resources

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Quality of Service (QoS) mechanisms in processor-based systems provide only coarse-grained control over the allocation of shared resources such as system caches and memory access bandwidth, limiting allocation resolution and the number of resource clients that can access these resources.

Innovation Solution

The implementation of fine-grained QoS control using interpolation for partitioned resources in processor-based systems, where each combination of resource client and partition is assigned a unique allocation indicator, allowing for varying allocations across partitions and enabling higher-resolution aggregate resource allocation through interpolation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional QoS mechanisms use a single way mask applied to all partitions, then the implementation is simple, but the allocation resolution is coarse-grained and limited to minimum increments (e.g., 5% or 6.25%)

Engineering Contradiction:
Improveallocation resolutionVSAvoidhardware implementation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the allocation control by creating separate way masks for each partition (partition 0 way mask, partition 1 way mask, etc.) instead of using a single unified way mask. This segmentation allows independent control of resource allocation in each partition, enabling fine-grained allocation resolution where different clients can receive different allocation percentages across partitions through interpolation of individual partition allocations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a partition dimension to the allocation control structure. Instead of a single-dimensional way mask applied uniformly across all partitions, the system now uses multiple way masks indexed by partition number. This dimensional expansion enables the interpolation mechanism to combine allocations across partitions, achieving fine-grained control (e.g., 3.125% increments) by weighting individual partition allocations.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Measurement precision

If fine-grained QoS control is implemented using traditional methods, then allocation precision improves, but hardware implementation costs increase significantly

Engineering Contradiction:
Improveallocation precisionVSAvoidhardware implementation cost
Core Design Contradiction:
Measurement precisionVSEase of manufacture

Solution Approach 1:

The patent uses copying by replicating the same way mask structure across multiple partitions. Instead of designing complex custom hardware for fine-grained control, the system copies the basic way mask mechanism and indexes it by partition number. This approach leverages existing hardware patterns, reducing implementation cost while achieving fine-grained precision through the combination of multiple copied instances with different allocation weights.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent creates a universal allocation framework where the same way mask structure serves multiple partitions simultaneously. The interpolation mechanism universally combines allocations across all partitions using a single control logic, making the system multi-functional without requiring separate specialized hardware for each partition. This universal approach reduces overall hardware cost while maintaining fine-grained precision.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Adaptability or versatility

If coarse-grained allocation is used with single way masks, then the number of resource clients is limited, but the system remains simple to manage

Engineering Contradiction:
Improvenumber of resource clientsVSAvoidallocation control complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by pre-configuring individual way masks for each partition before resource allocation decisions are made. Each partition has its way mask prepared in advance, stored in dedicated registers. When allocation decisions are needed, the system interpolates between these pre-configured masks based on client priorities and QoS requirements, enabling support for many more clients without complex real-time computation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary interpolation mechanism that mediates between individual partition allocations and final client allocations. This intermediary layer combines the pre-configured way masks from multiple partitions using weighted interpolation, translating fine-grained partition-level controls into effective client-level allocations. This mediator enables versatile client support while keeping individual partition controls simple.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3676711B1Providing fine-grained quality of service (QOS) control using interpolation for partitioned resources in processor-based systems
Publication Date: 2025.02.12 QUALCOMM INC
  • EP3676711B1 patent drawingFigure 1
  • EP3676711B1 patent drawingFigure 2
  • EP3676711B1 patent drawingFigure 3

AI summary

Providing fine-grained Quality of Service (QoS) control using interpolation for partitioned resources in processor-based systems is disclosed. In this regard, in one aspect, a processor-based system provides a partitioned resource (such as a system cache or memory access bandwidth to a shared system memory) that is subdivided into a plurality of partitions, and that is configured to service a plurality of resource clients. A resource allocation agent of the processor-based system provides a plurality of allocation indicators corresponding to each combination of resource client and partition, and indicating an allocation of each partition for each resource client. The resource allocation agent allocates the partitioned resource among the resource clients based on an interpolation of the plurality of allocation indicators. Because each allocation indicator may be different for each combination of resource client and partition, interpolation of the allocation indicators provides a higher-resolution aggregate resource allocation for each resource client.