Memory Command Scheduler for Bus Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face inefficiencies in command bus utilization due to strict scheduling policies that lead to conflicts in data bus usage, resulting in idle periods on the command bus.

Innovation Solution

Implementing a command scheduler that selectively changes command sequences based on data bus usage patterns, allowing alternative commands to be transmitted out of order during idle periods on the command bus to avoid conflicts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Stability of the object's composition

If strict scheduling policies are used to manage commands, then command sequence order is maintained, but command bus utilization decreases due to idle periods

Engineering Contradiction:
Improvecommand sequence orderVSAvoidcommand bus utilization
Core Design Contradiction:
Stability of the object's compositionVSProductivity

Solution Approach 1:

The scheduling policy transitions from static to dynamic by allowing the command scheduler to adaptively adjust command sequences based on real-time data bus availability. The system monitors data bus usage patterns and modifies command transmission order accordingly, enabling flexible optimization of bus utilization while maintaining operational integrity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the scheduling parameters dynamically based on data bus usage conditions. When data bus conflicts are detected, the scheduler modifies command timing and sequencing parameters to avoid conflicts, thereby eliminating idle periods and improving overall bus utilization without compromising data integrity.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If commands are scheduled to avoid data bus conflicts, then data transfer reliability is improved, but command bus idle periods increase

Engineering Contradiction:
Improvedata transfer reliabilityVSAvoidcommand bus idle periods
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The command scheduler performs preliminary analysis of data bus usage patterns and proactively adjusts command sequencing before conflicts occur. By predicting potential conflicts and pre-adjusting schedules, the system eliminates idle periods while ensuring data transfer reliability is maintained through conflict-free operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms where the scheduler continuously monitors data bus usage status and adjusts command scheduling in real-time. This closed-loop control ensures that commands are transmitted optimally without causing conflicts, thereby eliminating idle periods while maintaining reliable data transfer.

Inventive Principle:
Principle #23Feedback

3Productivity

If alternative commands are transmitted out of order during idle periods, then command bus utilization increases, but command sequencing flexibility is reduced

Engineering Contradiction:
Improvecommand bus utilizationVSAvoidcommand sequencing flexibility
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The command scheduler autonomously manages sequencing flexibility by self-adjusting command orders based on data bus availability. The system serves itself by automatically detecting idle periods and inserting alternative commands without external intervention, thereby improving bus utilization while maintaining manageable sequencing complexity through built-in intelligence.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250138752A1Controller command scheduling in a memory system to increase command bus utilization
Publication Date: 2025.05.01 LODESTAR LICENSING GROUP LLC
  • US20250138752A1 patent drawing
  • US20250138752A1 patent drawing
  • US20250138752A1 patent drawing

AI summary

A first command is scheduled on a command bus, where the first command requires use of a data bus resource at a first time period after scheduling the first command. Prior to the first time period, a second command is identified according to a scheduling policy. A determination is made whether scheduling the second command on the command bus will cause a conflict in usage of the at least one data bus resource. In response to determining that scheduling the second command will cause the conflict in usage, a third lower-priority command is identified for which scheduling on the command bus will not cause the conflict in usage. The third command is scheduled on the command bus prior to scheduling the second command, even though it has lower priority than the second command.