Resource Controller Priority Blocking for SoC Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Consumer electronic devices with system-on-chip (SoC) multiprocessors face challenges in efficiently managing resource utilization between processing units, leading to high overhead and potential starvation of lower priority requests due to prioritization of low latency traffic requests.

Innovation Solution

A method for resource controlling that categorizes requests into high and low priority categories, using an accounting mechanism to block high priority requests when a predefined condition related to service guarantees for low priority requests is met, ensuring sufficient bandwidth and latency for low priority requests while preventing unnecessarily long latency for high priority requests.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If low latency traffic requests are given highest priority in processing, then low latency requests are served quickly, but constant bandwidth traffic requests may suffer from starvation and resource underutilization

Engineering Contradiction:
Improveprocessing speed of low latency requestsVSAvoidresource utilization
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent implements dynamic priority adjustment where the resource controller can change the processing priority of different traffic categories based on current resource availability and service guarantees. The controller dynamically blocks or unblocks high priority requests depending on whether low priority requests are meeting their service guarantees, allowing the system to adapt between favoring speed (when resources are abundant) and favoring utilization (when resources are constrained).

Inventive Principle:
Principle #15Dynamics

2Speed

If high priority requests are always processed first, then low latency performance is improved, but average latency for high priority requests increases when low priority requests accumulate

Engineering Contradiction:
Improveresponse time of high priority requestsVSAvoidaverage latency of high priority requests
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent employs a feedback mechanism where the resource controller continuously monitors whether low priority constant bandwidth requests are meeting their service guarantees. Based on this feedback, the controller adjusts the blocking state of high priority requests. When low priority requests are underserved, feedback triggers blocking of high priority requests; when service guarantees are met, feedback allows high priority requests to proceed, thus optimizing their average latency while protecting low priority service quality.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If resource sharing is implemented between multiple processing units, then flexibility and performance are improved, but overhead increases due to request management and arbitration

Engineering Contradiction:
Improveflexibility of SoCVSAvoidoverhead of resource management
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments requests into distinct categories (high priority low latency traffic and low priority constant bandwidth traffic) with different service requirements. This segmentation allows the resource controller to apply different processing rules and priority levels to different request types, simplifying the arbitration logic compared to handling all requests uniformly. The segmentation enables efficient resource sharing by treating different traffic types according to their specific needs, reducing management overhead while maintaining flexibility.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8949845B2Systems and methods for resource controlling
Publication Date: 2015.02.03 SYNOPSYS INC
  • US8949845B2 patent drawing
  • US8949845B2 patent drawing
  • US8949845B2 patent drawing

AI summary

A resource controller that includes a first buffer configured to store requests of a first predefined category having a first priority. In addition, the resource controller includes at least a second buffer configured to store requests of a second predefined category having a second priority where the first priority is set such that processing requests of the first category has priority over processing the requests of the second category. Also, the resource controller includes a mechanism configured to block the requests of the first category when a predefined condition is met.