Memory Controller Flush Command Processing Without Barrier Operations

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory controllers face performance deterioration due to the need for barrier operations when processing flush commands, which disrupt data storage in write cache buffers and hinder efficient data processing.

Innovation Solution

A memory controller architecture that includes a command processor, sequence generator, and memory operation controller to handle flush requests by generating a flush command, determining flush data, and creating a write sequence for efficient storage across multiple memory devices, allowing continuous data input and processing without barrier operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If barrier operations are performed when processing flush commands, then data consistency is ensured, but data storage in write cache buffers is disrupted and processing efficiency deteriorates

Engineering Contradiction:
Improvedata consistencyVSAvoidprocessing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the flush command processing into multiple independent stages: identifying flush data, determining write sequences, and executing program operations across multiple memory devices. This segmentation allows each stage to be processed independently without requiring complete barrier operations that would block the entire write cache buffer, thus maintaining data consistency while improving processing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary identification of flush data and determination of write sequences before executing the actual program operations. By preparing the write sequence in advance based on the size of flush data and assigned device sequences, the system avoids disruptions during the critical data storage phase, ensuring both data consistency and continuous processing capability.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If flush commands are processed using conventional barrier operations, then data is correctly written to memory devices, but subsequent write requests are blocked and system performance deteriorates

Engineering Contradiction:
Improvedata correctnessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements a dynamic processing approach where the memory controller adapts the write sequence based on the size of flush data and the assigned device sequence. Instead of using fixed barrier operations that block all subsequent writes, the system dynamically determines which memory devices receive flush data and in what order, allowing non-flush write requests to proceed concurrently, thereby reducing processing time while ensuring data correctness.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent enables continuous processing of write requests by allowing subsequent write operations to be stored in the write cache buffer even while flush data is being processed. The barrier operation is replaced with a selective sequence control mechanism that maintains the continuity of useful actions (data storage) while ensuring flush data is correctly written to memory devices in the proper sequence.

Inventive Principle:
Principle #20Continuity of useful action

3Reliability

If write cache buffer operations are interrupted for flush commands, then data is reliably stored in memory devices, but overall data processing efficiency decreases

Engineering Contradiction:
Improvedata storage reliabilityVSAvoiddata processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments the data processing workflow into distinct components: flush data identification, write sequence determination, and program operation execution. This segmentation allows the write cache buffer to continue accepting and processing write requests while the flush data is being handled separately according to the determined sequence, thereby maintaining data storage reliability without interrupting overall data processing efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary determination of the write sequence based on flush data size and device sequence assignments before the actual data storage operation. This preliminary action allows the system to prepare the optimal storage path in advance, ensuring data storage reliability while minimizing the time the write cache buffer is occupied, thus maintaining high data processing efficiency throughout.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11137912B2Memory controller and method of operating the same
Publication Date: 2021.10.05 SK HYNIX INC
  • US11137912B2 patent drawing
  • US11137912B2 patent drawing
  • US11137912B2 patent drawing

AI summary

Provided herein may be a memory controller and a method of operating the same. The memory controller may include a command processor configured to generate a flush command in response to a flush request input from an external host and to assign a slot number corresponding to the flush command; a sequence generator configured to determine flush data to be stored in response to the flush command, and to generate a write sequence in which the flush data is to be stored based on a size of the flush data and an assigned device sequence of the plurality of memory devices; and a memory operation controller configured to control the plurality of memory devices to store the flush data in the plurality of memory devices.