Memory Controller Suspend Command Delay for Read Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current memory controllers face inefficiencies in managing suspend commands, leading to increased latency due to frequent output of suspend commands during read operations, which degrades storage device performance.

Innovation Solution

A memory controller that delays the output of suspend commands based on the number of read commands in the command queue, determining a delay amount of time to optimize the timing of suspend operations and enhance read operation performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If suspend commands are output frequently during read operations, then read operation responsiveness is improved, but latency increases and performance degrades

Engineering Contradiction:
Improveread operation responsivenessVSAvoidlatency
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The patent implements dynamic adjustment of suspend command output timing based on the number of read commands in the command queue. The suspension controller dynamically determines whether to output a suspend command immediately or after a delay period, adapting the timing to current system conditions. This dynamic approach resolves the contradiction by making the system responsive when the queue is empty while avoiding excessive latency when the queue contains multiple commands.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the timing parameter of suspend command output based on the queue depth. When the number of read commands in the command queue is below a threshold, the suspend command is output immediately to improve responsiveness. When the queue depth is above the threshold, the suspend command output is delayed to reduce latency. This parameter-based adjustment resolves the contradiction between responsiveness and latency.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If suspend command is output immediately upon receiving read request, then read operation priority is improved, but number of suspend operations increases reducing overall efficiency

Engineering Contradiction:
Improveread operation throughputVSAvoidnumber of suspend operations
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a preliminary check of the command queue depth before outputting the suspend command. The suspension controller first determines the number of read commands in the queue, and only outputs the suspend command if this number is below a predetermined threshold. This preliminary action prevents unnecessary suspend operations, reducing the total number of suspend/resume cycles while still maintaining read operation priority when needed, thus resolving the contradiction between throughput and operational complexity.

Inventive Principle:
Principle #10Preliminary action

3Loss of time

If delay amount of time is increased, then latency is reduced, but read operation responsiveness decreases

Engineering Contradiction:
ImprovelatencyVSAvoidread operation responsiveness
Core Design Contradiction:
Loss of timeVSSpeed

Solution Approach 1:

The patent dynamically changes the delay parameter based on queue depth conditions. When the number of read commands in the command queue is below the threshold, the delay amount is set to zero (immediate output). When the queue depth exceeds the threshold, the delay amount is increased to reduce the number of suspend operations. This conditional parameter adjustment resolves the contradiction by applying different delay strategies based on system state.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11941294B2Memory controller for controlling suspension of operation and method of operating the same
Publication Date: 2024.03.26 SK HYNIX INC
  • US11941294B2 patent drawing
  • US11941294B2 patent drawing
  • US11941294B2 patent drawing

AI summary

A memory controller and a method of operating the same. The memory controller which increases the number of read commands to be performed during a suspend period may include a command generator configured to receive a request from a host and generate a command corresponding to the request, a command queue configured to store the generated command, a command controller configured to control the command queue so that the command stored in the command queue is output to the memory device, and a suspension controller configured to, when a read request is input from the host while the memory device is performing an operation, determine a delay amount of time based on a number of read commands stored in the command queue and provide a suspend command that instructs suspension of performance of the operation to the memory device after the delay amount of time has elapsed.