Memory Controller Queue Segmentation for Single Channel Bandwidth

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In memory systems with single channels, the bandwidth is not utilized efficiently due to the inability to execute multiple commands simultaneously, as only one command can be executed at a time, leading to channel idleness when one memory die is busy.

Innovation Solution

A controlling method and channel operating circuit that select a queue section corresponding to a memory die not in a busy state for command execution, allowing efficient use of the single channel bandwidth by prioritizing queue sections based on busy states and availability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If only one command is executed via single channel at a time, then the system structure remains simple, but the bandwidth utilization of the single channel deteriorates

Engineering Contradiction:
Improvesystem structureVSAvoidbandwidth utilization
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The command queue is segmented into multiple queue sections, with each queue section corresponding to a specific memory die. This segmentation allows the controller to select different queue sections based on the busy state of memory dies, enabling parallel command execution planning while maintaining a single physical channel structure, thus resolving the contradiction between simple system structure and bandwidth utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The controller dynamically selects which queue section to execute based on the real-time busy state of memory dies. This dynamic selection mechanism allows the system to adaptively utilize the single channel for different memory dies, maximizing bandwidth utilization without requiring multiple physical channels, thereby resolving the contradiction between structural simplicity and productivity.

Inventive Principle:
Principle #15Dynamics

2Stability of the object's composition

If the channel waits for memory die to finish before executing next command, then command execution order is maintained, but the channel idle time increases

Engineering Contradiction:
Improvecommand execution orderVSAvoidchannel idle time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

Multiple commands are preliminarily organized into different queue sections corresponding to different memory dies before execution. This preliminary organization allows the controller to anticipate which memory dies will be available and proactively prepare the next commands, reducing channel idle time while maintaining execution order through structured queue management.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The controller continuously monitors the busy state of memory dies and continuously selects available queue sections for execution. This continuous monitoring and selection mechanism ensures that the channel remains active and executing commands as much as possible, minimizing idle time while preserving command execution order through the queue structure.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If multiple commands are queued for multiple memory dies, then bandwidth utilization improves, but the control complexity increases

Engineering Contradiction:
Improvebandwidth utilizationVSAvoidcontrol complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The command queue is segmented into multiple queue sections, with each queue section corresponding to a specific memory die. This segmentation simplifies control complexity by providing a clear mapping between queue sections and memory dies, making it easier to manage multiple commands while improving bandwidth utilization through parallel queue section selection.

Inventive Principle:
Principle #1Segmentation

4Reliability

If single channel executes commands sequentially, then system reliability is maintained, but the execution speed deteriorates

Engineering Contradiction:
Improvesystem reliabilityVSAvoidcommand execution speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The controller dynamically selects which queue section to execute based on the real-time busy state of memory dies. This dynamic selection enables the single channel to switch between different memory dies efficiently, increasing command execution speed while maintaining system reliability through structured queue management and controlled execution flow.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10628344B2Controlling method, channel operating circuit and memory system for executing memory dies with single channel
Publication Date: 2020.04.21 MACRONIX INTERNATIONAL CO LTD
  • US10628344B2 patent drawing
  • US10628344B2 patent drawing
  • US10628344B2 patent drawing

AI summary

A controlling method, a channel operating circuit and a memory system for executing a plurality of memory dies with single channel are provided. The plurality of memory dies correspond to a plurality of queue sections of a command queue. The controlling method comprises the following steps: A selecting unit selects one of the plurality of queue sections corresponding one of the plurality of memory dies which is riot at a busy state. An executing unit executes a command stored in one of the plurality of queue sections which is selected.