Memory Controller Suspend Command Prioritization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face delays in executing suspend commands due to prioritization and data handling inefficiencies, leading to increased resume operation times.

Innovation Solution

A controller with a command queue scheduler that prioritizes suspend commands, a data input/output component that manages data groups, and a data monitor that ensures seamless data output and stop signals are handled efficiently, allowing for immediate execution of suspend commands without delaying ongoing operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If normal commands are processed in sequence without prioritization, then data output continuity is maintained, but suspend command execution is delayed

Engineering Contradiction:
Improvesuspend command execution speedVSAvoidresume operation time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The command queue scheduler dynamically adjusts command priority based on command type, assigning higher priority to suspend commands over normal commands. This dynamic prioritization enables the system to respond quickly to suspend requests while maintaining efficient data output during normal operation, directly resolving the contradiction between suspend command execution speed and resume operation time.

Inventive Principle:
Principle #15Dynamics

2Reliability

If suspend command is given higher priority immediately, then suspend command execution delay is reduced, but data output may be interrupted

Engineering Contradiction:
Improvedata output completenessVSAvoidsuspend command response speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The data monitor identifies the current data group being output before the suspend command is fully processed. The data input/output component is prepared to complete the current data group output before switching to suspend command handling. This preliminary identification and preparation ensures that data output is not prematurely interrupted while still enabling fast suspend command execution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The data monitor acts as an intermediary between the command queue scheduler and the data input/output component. It monitors the data output status and provides information about the current data group, enabling coordinated switching between data output and suspend command execution without data loss or corruption.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If data is divided into multiple groups for monitoring, then data output control precision is improved, but system complexity increases

Engineering Contradiction:
Improvedata group management efficiencyVSAvoiddata monitoring structure
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The data monitor divides incoming data into multiple discrete data groups, allowing precise tracking and control of data output. Each data group can be independently managed and completed before switching to suspend command processing. This segmentation simplifies the control logic by providing clear boundaries for data transmission while maintaining efficient resource utilization.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS11455186B2Controller and memory system having the same
Publication Date: 2022.09.27 SK HYNIX INC
  • US11455186B2 patent drawing
  • US11455186B2 patent drawing
  • US11455186B2 patent drawing

AI summary

A controller includes: a command queue scheduler for queuing normal commands, and providing a priority order to a suspend command, when the suspend command is input; a data input/output component for outputting data in response to a data output signal output the command queue scheduler, and stopping the output of the data in response to a data output stop signal; and a data monitor for dividing data input to the data input/output component into a plurality of data groups, and monitoring information of a data group including data currently output from the data input/output component. The data input/output component outputs data up to the currently output data included in the data group and then stops the output of the data, in response to the data output stop signal. The command queue scheduler outputs the suspend command, when the output of the data group is stopped.