Memory Controller Command Queue Consolidation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory device controllers face inefficiencies in command execution due to repetitive and overlapping commands, leading to suboptimal performance and increased execution time.

Innovation Solution

A memory controller with a command queue system that combines overlapping and sequential commands into single commands, and deletes commands that would be overwritten, thereby optimizing command execution and reducing partial page programming operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If commands are executed sequentially without modification, then command execution order is simple and predictable, but execution time increases due to repetitive and overlapping commands

Engineering Contradiction:
Improvecommand execution timeVSAvoidcommand queue management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The command queue circuitry performs preliminary analysis and modification of commands before execution. By examining the queue for overlapping and repetitive commands in advance and consolidating them, the system prepares optimized command sequences that reduce execution time without adding complexity during actual command processing

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The circuitry merges overlapping and repetitive commands into single consolidated commands. When multiple commands target the same memory regions or perform redundant operations, they are combined into one efficient command, reducing the total number of execution cycles and eliminating wasted operations

Inventive Principle:
Principle #5Merging (Combining)

2Productivity

If all commands in the queue are executed, then no data is lost, but partial page programming operations increase execution time

Engineering Contradiction:
Improvecommand execution efficiencyVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary analysis of the command queue to identify commands that would result in partial page programming. By detecting these commands before execution and consolidating them with other commands targeting the same pages, the system ensures complete page operations while maintaining data integrity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Commands that would cause partial page programming are merged with other commands targeting the same memory pages. This consolidation ensures that pages are programmed completely in single operations rather than through multiple partial writes, improving both efficiency and reliability

Inventive Principle:
Principle #5Merging (Combining)

3Loss of time

If overlapping commands are consolidated, then execution time decreases, but command queue management complexity increases

Engineering Contradiction:
Improvecommand execution timeVSAvoidcommand modification logic
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The command queue circuitry is self-sufficient in detecting and consolidating overlapping commands without requiring external control logic. The circuitry autonomously analyzes the queue, identifies redundant commands, performs consolidation, and manages the modified queue, eliminating the need for complex external management systems

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2377028B1Modifying commands
Publication Date: 2016.06.22 MICRON TECHNOLOGY INC
  • EP2377028B1 patent drawingFigure 1
  • EP2377028B1 patent drawingFigure 2
  • EP2377028B1 patent drawingFigure 3

AI summary

The present disclosure includes methods, devices, modules, and systems for modifying commands. One device embodiment includes a memory controller including a channel, wherein the channel includes a command queue configured to hold commands, and circuitry configured to modify at least a number of commands in the queue and execute the modified commands.