Memory Subsystem Queue Management for Priority Command Execution

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional memory sub-systems face challenges in effectively prioritizing and managing commands across multiple memory dies, leading to inefficient allocation of system resources, where lower-priority commands may be executed before higher-priority ones, resulting in unnecessary resource utilization.

Innovation Solution

Implementing a queue management system at the die level with multiple priority queues for each memory die, where commands are assigned based on priority levels and a threshold value, ensuring that higher-priority commands are issued first, and all commands in a queue are issued when the threshold is exceeded, thereby optimizing resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If traditional command management is used without priority queues, then the system structure is simple, but lower-priority commands may be executed before higher-priority ones, leading to inefficient resource allocation

Engineering Contradiction:
Improvecommand execution efficiencyVSAvoidqueue management structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The command management system is segmented into multiple priority queues (first priority queue, second priority queue, etc.) within each memory die. Each queue handles commands of specific priority levels, ensuring that higher-priority commands are processed before lower-priority ones. This segmentation resolves the contradiction by organizing commands hierarchically, improving execution efficiency while maintaining manageable complexity through structured division.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A new dimension of priority levels is introduced to the command management system. Instead of a single linear queue, commands are organized across multiple dimensions: memory die level and priority level within each die. This dimensional expansion allows the system to differentiate and process commands based on urgency, resolving the efficiency issue while the modular queue structure keeps complexity controlled.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of time

If multiple priority queues are implemented at the die level, then higher-priority commands are executed promptly, but the device complexity increases

Engineering Contradiction:
Improvecommand execution delayVSAvoidqueue management structure
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The queue management structure is segmented into multiple priority queues at each memory die level. This segmentation allows commands to be processed in priority order within each queue, reducing execution delays for high-priority commands. The modular nature of segmented queues makes the complexity manageable through structured organization rather than monolithic design.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Commands are pre-categorized and placed into appropriate priority queues before execution. This preliminary action of sorting commands by priority level ensures that higher-priority commands are readily available for immediate processing, reducing execution delays without requiring complex real-time decision-making during command processing.

Inventive Principle:
Principle #10Preliminary action

3Loss of energy

If commands are continuously issued without threshold control, then queue processing is simple, but excessive queue accumulation occurs, wasting system resources

Engineering Contradiction:
Improvesystem resource utilizationVSAvoidthreshold management mechanism
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

A feedback mechanism is implemented where the number of commands in each queue is continuously monitored against a threshold value. When the queue size exceeds the threshold, command issuance is controlled or paused. This feedback loop prevents excessive queue accumulation and optimizes resource utilization by ensuring commands are processed at appropriate rates, while the threshold-based control keeps the mechanism simple and manageable.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS20220413719A1Maintaining queues for memory sub-systems
Publication Date: 2022.12.29 MICRON TECHNOLOGY INC
  • US20220413719A1 patent drawing
  • US20220413719A1 patent drawing
  • US20220413719A1 patent drawing

AI summary

Methods, systems, and devices for data stream processing for maintaining queues for memory sub-systems are described. A number of commands included in a queue of a plurality of queues of a memory die of a memory sub-system can be determined. Each queue can be associated with a respective priority level and can be configured to maintain a respective set of commands. A command can be assigned to the queue based on a number of commands included in the queue. One or more commands can be issued from the queues based on the respective priority levels of the queues.