Memory Controller Bandwidth Credit Reallocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, lower priority memory access requests often receive limited memory bandwidth, leading to adverse effects on system performance due to insufficient utilization of bandwidth at higher priority levels, resulting in processor or processor core waiting for data or instructions.

Innovation Solution

A memory controller circuit is configured to reallocate unused bandwidth from higher priority levels to lower priority memory access requests by employing bandwidth credits stored in credit pools, allowing reallocation when a threshold of accumulated credits is met, thereby improving memory utilization and system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If memory bandwidth is allocated strictly by priority levels, then higher priority requests receive guaranteed bandwidth, but lower priority requests suffer from insufficient bandwidth utilization

Engineering Contradiction:
Improvebandwidth guarantee for high priority requestsVSAvoidmemory bandwidth utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent implements dynamic quality-of-service level assignment where memory access requests can be reallocated from lower to higher QoS levels based on accumulated bandwidth credits. This dynamic adjustment allows the system to adapt bandwidth allocation in real-time, improving overall memory bandwidth utilization while maintaining reliability for high-priority requests when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the QoS level parameter of memory access requests based on accumulated bandwidth credits. When credits reach a threshold, the QoS level is upgraded, transforming the request from lower to higher priority status and enabling better bandwidth utilization without compromising the guaranteed service for critical requests.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If bandwidth is allocated to lower priority requests, then overall memory utilization improves, but higher priority requests may experience bandwidth starvation

Engineering Contradiction:
Improvememory bandwidth utilizationVSAvoidbandwidth availability for high priority requests
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent employs a feedback mechanism through bandwidth credits that track and accumulate unused bandwidth from higher priority requests. This feedback loop enables the system to detect when high-priority requests are not fully utilizing their allocated bandwidth and automatically reallocate those resources to lower-priority requests, optimizing utilization without starving high-priority traffic.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system allows higher priority requests to effectively donate their unused bandwidth back to the pool for reallocation. Through the bandwidth credit mechanism, high-priority requests that complete early or use less than allocated bandwidth automatically make their surplus available for lower-priority requests, creating a self-regulating resource distribution system.

Inventive Principle:
Principle #25Self-service

3Reliability

If processors wait for data due to limited bandwidth, then data integrity is maintained, but system performance deteriorates

Engineering Contradiction:
Improvedata access accuracyVSAvoidprocessor wait time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements preliminary action by accumulating bandwidth credits in advance before they are needed. The credit accumulation mechanism proactively tracks available bandwidth capacity, and when thresholds are met, QoS levels are upgraded beforehand to prevent processor waiting, ensuring data is available when needed without compromising integrity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10838884B1Memory access quality-of-service reallocation
Publication Date: 2020.11.17 APPLE INC
  • US10838884B1 patent drawing
  • US10838884B1 patent drawing
  • US10838884B1 patent drawing

AI summary

A memory controller circuit coupled to multiple memory circuits may receive requests to access particular locations within the multiple memory circuits. A request may be assigned a particular quality-of-service level. During operation, the memory controller circuit may reallocate the quality-of-service level of a particular request to a new quality-of-service level based on accumulated bandwidth credits associated with the new quality-of-service level.