Selective Data Flush in Storage Device Buffers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage drives face performance penalties and resource wastage due to global flush operations, which unnecessarily flush all dirty data to nonvolatile storage memory, increasing write latency and reducing system efficiency.

Innovation Solution

Implementing a selective flush command that identifies and flushes only specific write data related to a particular application or stream, allowing other data to remain in the volatile buffer memory, thereby reducing unnecessary flushing and optimizing system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If a global flush operation is performed to ensure data safety, then reliability is improved, but write latency increases and system performance deteriorates

Engineering Contradiction:
Improvedata safetyVSAvoidwrite latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the flush operation from a global operation affecting all dirty data to a selective operation targeting only specific write data identified by a flush identifier. This segmentation allows the system to maintain reliability for critical data while avoiding unnecessary flush operations for other data, thereby reducing write latency and improving performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by treating different write data differently based on their flush identifiers. Instead of uniformly flushing all dirty data, the system selectively flushes only those data blocks associated with the specified flush identifier, optimizing the balance between reliability and performance on a per-data-block basis.

Inventive Principle:
Principle #3Local quality

2Reliability

If all dirty data is flushed to nonvolatile storage memory, then data safety is improved, but system performance and efficiency deteriorate due to unnecessary flushing

Engineering Contradiction:
Improvedata safetyVSAvoidsystem efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent extracts the essential function of data safety from the global flush operation and applies it selectively. By using flush identifiers to tag specific write data, the system extracts only the necessary data blocks for flushing while leaving other dirty data in the volatile buffer memory, thereby maintaining data safety where needed while preserving system efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent implements partial action by performing flush operations on only a subset of dirty data rather than all dirty data. The selective flush command processes only the portion of data associated with the specified flush identifier, avoiding excessive flushing of unrelated data and thus maintaining high system efficiency while ensuring data safety for critical operations.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If volatile buffer memory is used to increase system performance, then write speed is improved, but data loss risk increases in case of power interruption

Engineering Contradiction:
Improvewrite speedVSAvoiddata persistence
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by selectively flushing critical write data to nonvolatile storage memory before power interruption can occur. The selective flush mechanism ensures that important data is persisted in advance while maintaining high write speed in the volatile buffer memory for non-critical operations, thus balancing performance and reliability proactively.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10606488B2Selective data flush in a storage device
Publication Date: 2020.03.31 SK HYNIX NAND PRODUCT SOLUTIONS CORP
  • US10606488B2 patent drawing
  • US10606488B2 patent drawing
  • US10606488B2 patent drawing

AI summary

In one embodiment, a storage drive is configured to receive a selective flush command which causes the storage drive to selectively flush write data which has been identified in connection with the selective flush command, from volatile buffer memory to a nonvolatile storage memory. Conversely, write data stored in the volatile buffer memory which is not identified in connection with the selective flush command, may remain unaffected by the selective flush command, and thus may remain stored in the volatile buffer memory without being flushed to the nonvolatile storage memory as a result of the selective flush command. Other aspects are described herein.