Selective Data Flush in Storage Device Buffers
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
Data Source
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.


