Memory Controller Flush Command Interleaving

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage devices face challenges in optimizing write performance, particularly in managing flush operations across multiple memory devices, which can lead to inefficiencies and hindered operations when flush commands are issued during ongoing interleaved operations.

Innovation Solution

A memory controller is designed to generate flush commands, determine flush data chunks, and control multiple memory devices using an interleaving scheme, allowing for simultaneous operations while ensuring that responses to flush commands are provided only after completion of prior operations, thereby improving write performance and managing flush operations efficiently.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If flush commands are issued during ongoing interleaved operations, then write performance can be improved through simultaneous operations, but operation management becomes complex and responses may be provided prematurely

Engineering Contradiction:
Improvewrite performanceVSAvoidoperation management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the flush command processing into distinct phases: determining flush data chunks, controlling memory devices to perform program operations, and providing responses only after completion. This segmentation allows simultaneous operations while maintaining clear operational boundaries and preventing premature responses.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements preliminary action by determining flush data chunks and controlling memory devices to perform program operations before providing the flush response to the host. This ensures all prior operations are complete before response is provided, preventing premature responses while maintaining high productivity.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If responses to flush commands are provided immediately, then host feedback is improved, but incorrect responses may be provided before operations are complete

Engineering Contradiction:
Improvehost feedbackVSAvoidresponse accuracy
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent implements a reliable feedback mechanism where the flush response controller waits for program operation completion before providing the flush response to the host. This feedback loop ensures response accuracy while maintaining efficient host feedback through proper timing.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary program operations on memory devices before providing the flush response. This preliminary action ensures that all data write operations are complete before the response is sent to the host, guaranteeing response accuracy without delaying feedback unnecessarily.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11520519B2Storage device and method of operating the same
Publication Date: 2022.12.06 SK HYNIX INC
  • US11520519B2 patent drawing
  • US11520519B2 patent drawing
  • US11520519B2 patent drawing

AI summary

Provided herein may be a storage device and a method of operating the same. A memory controller may include a command processor configured to generate a flush command in response to a flush request and determine flush data chunks to be stored, a write operation controller configured to control memory devices to perform a first program operation of storing flush data chunks, and to perform a second program operation of storing data corresponding to a write request that is input later than the flush request, regardless of whether a response to the flush command has been provided to a host, and a flush response controller configured to, when the first program operation is completed, provide a response to the flush command to the host depending on whether responses to flush commands, input earlier than the flush command, have been provided to the host.