Arbiter Weight-Based Memory Request Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The increasing complexity of systems on chips (SoCs) with multiple agents and endpoints leads to management challenges due to growing latencies between sending commands and corresponding data across the interconnect, particularly in intermediate storage and outstanding transactions.

Innovation Solution

A communication fabric with intermediate buffers and an arbiter that schedules read and write requests based on attributes such as weight and data size, adjusting weights to prioritize requests and reduce latency by temporarily blocking affected requests, thereby optimizing traffic flow and simplifying storage management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If traditional scheduling methods are used for memory requests in SoC interconnects, then all requests are treated equally with uniform scheduling, but this results in growing latencies between command sending and data sending, and complex management of intermediate storage and outstanding transactions

Engineering Contradiction:
Improvelatency between command and data transmissionVSAvoidcomplexity of intermediate storage management
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent changes the scheduling parameter from uniform treatment to weight-based prioritization. The arbiter assigns different weights to requests based on their data size and type, dynamically adjusting scheduling parameters to favor requests with larger data sizes or higher priorities, thereby reducing their latency without requiring complex intermediate storage management changes

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The scheduling mechanism transitions from static uniform scheduling to dynamic weight-based scheduling. The arbiter continuously adjusts request weights and scheduling decisions based on current request characteristics (data size, type), making the system adaptive to varying traffic patterns and reducing overall latency dynamically

Inventive Principle:
Principle #15Dynamics

2Device complexity

If uniform scheduling is applied to all memory requests, then the scheduling mechanism remains simple, but requests with larger data sizes experience increased latency and intermediate storage management becomes complex

Engineering Contradiction:
Improvescheduling mechanism complexityVSAvoiddata transmission efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent introduces weight as a new scheduling parameter that directly reflects request characteristics (data size, type). By changing from uniform parameter scheduling to parameter-based weight scheduling, the system achieves better productivity without significantly increasing mechanism complexity, as the weight calculation follows straightforward rules based on request attributes

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If multiple requests of the same type are processed consecutively, then the scheduling is straightforward, but the latency between command sending and data sending increases significantly

Engineering Contradiction:
Improvescheduling operation simplicityVSAvoidlatency between command and data transmission
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The arbiter uses feedback from request characteristics (data size, type) to adjust scheduling decisions in real-time. When a request with large data size is detected, the system increases its weight and prioritizes it, creating a feedback loop that automatically reduces latency for time-sensitive requests while maintaining simple scheduling operations through clear priority rules

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The scheduling system dynamically adjusts request priorities based on real-time request characteristics. Instead of fixed sequential processing, the arbiter continuously reevaluates and reorders requests based on their current weight, which is determined by data size and type, thereby reducing latency without complicating the operational framework

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10649922B2Systems and methods for scheduling different types of memory requests with varying data sizes
Publication Date: 2020.05.12 APPLE INC
  • US10649922B2 patent drawing
  • US10649922B2 patent drawing
  • US10649922B2 patent drawing

AI summary

A system and method for efficiently scheduling requests. In various embodiments, a processor sends commands such as read requests and write requests to an arbiter. The arbiter reduces latencies between commands being sent to a communication fabric and corresponding data being sent to the fabric. When the arbiter selects a given request, the arbiter identifies a first subset of stored requests affected by the given request being selected. The arbiter adjusts one or more attributes of the first subset of requests based on the selection of the given request. In one example, the arbiter replaces a weight attribute with a value, such as a zero value, indicating the first subset of requests should not be selected. Therefore, during the next selection by the arbiter, only the requests in a second subset different from the first subset are candidates for selection.