Credit-Based Memory Command Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory subsystems face challenges in efficiently managing memory commands from different streams with varying priorities, as existing solutions often require complex modifications to the operating system and may indirectly affect memory request processing, failing to prioritize high-priority streams without completely restricting lower-priority streams.

Innovation Solution

A credit-based approach is implemented, where bandwidth allocations are determined for each stream based on priority, and credits are assigned to manage the issuance of memory commands, ensuring higher-priority streams are prioritized without entirely restricting lower-priority streams by tracking and limiting memory commands to the originally assigned credits.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If complex operating system modifications are implemented to prioritize memory requests, then memory request prioritization is improved, but device complexity increases

Engineering Contradiction:
Improvememory request prioritizationVSAvoidoperating system modifications
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a memory subsystem controller as an intermediary device that handles prioritization of memory requests independently from the operating system. The controller includes a command scheduler that assigns priorities to different memory streams and manages credit allocation, acting as a mediator between the host system and memory devices without requiring OS modifications.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The memory subsystem is segmented into distinct functional components: a command receiver that accepts memory requests, a command scheduler that prioritizes and manages credits for different streams, and a command issuer that executes commands. This segmentation allows prioritization logic to be isolated in the controller rather than embedded in the operating system.

Inventive Principle:
Principle #1Segmentation

2Reliability

If high-priority streams are completely restricted from lower-priority streams, then high-priority processing is improved, but adaptability deteriorates

Engineering Contradiction:
Improvehigh-priority stream processingVSAvoidlower-priority stream processing
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements local quality by allocating different credit amounts to different memory streams based on their priority levels. High-priority streams receive more credits and are processed first when credits are available, while lower-priority streams receive fewer credits but can still be processed when high-priority streams have exhausted their credit allocation. This creates a localized prioritization effect without complete restriction.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The credit-based scheduling system is dynamic, allowing the processor to adjust which stream receives service based on current credit availability. The command scheduler continuously monitors credit balances and dynamically selects the next stream to service, enabling flexible adaptation between high and low priority streams rather than static restriction.

Inventive Principle:
Principle #15Dynamics

3Productivity

If credit-based scheduling is implemented, then memory subsystem efficiency is improved, but device complexity increases

Engineering Contradiction:
Improvememory subsystem efficiencyVSAvoidcredit tracking and management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system performs preliminary action by pre-allocating credits to each memory stream before processing begins. The command scheduler maintains a credit balance for each stream and uses these pre-assigned credits to determine processing order, eliminating the need for complex real-time priority negotiations and simplifying the scheduling decision process.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The credit-based system implements feedback by continuously tracking the credit balance of each stream and using this information to guide command issuance decisions. The command scheduler monitors credit consumption and adjusts the selection of the next stream to service based on current credit availability, creating a self-regulating mechanism that improves efficiency without requiring complex external control.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11543978B2Credit-based scheduling of memory commands
Publication Date: 2023.01.03 MICRON TECHNOLOGY INC
  • US11543978B2 patent drawing
  • US11543978B2 patent drawing
  • US11543978B2 patent drawing

AI summary

A method is described that includes receiving a plurality of streams of memory requests and each stream is associated with a source. The method further includes determining a bandwidth allocation for each stream, wherein each allocation represents a portion of a total bandwidth of a memory component managed by the subsystem and each allocation indicates a priority of a corresponding stream based on a corresponding source of each stream and assigning a set of credits to each stream based on the bandwidth allocations. The method also includes determining a memory command from a queue for issuance, wherein each memory command in the queue is associated with a stream and determining the memory command is based on the credits assigned to each stream such that commands associated with a stream with a higher number of credits is given priority for issuance over commands associated with a stream with a lower number.