Flash Storage Stream Categorization for QOS Protection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash storage devices, such as SSDs, face performance issues due to block operations like garbage collection, which can negatively impact container processes sharing the same storage blocks, leading to quality of service (QOS) degradation, as these operations are not differentiated by QOS requirements.

Innovation Solution

The method categorizes output data streams from computing processes using stream identifiers (IDs), allowing flash storage devices to group and treat data streams with the same IDs similarly, thereby minimizing block operations that impact QOS, without modifying the container processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If flash storage devices perform block operations like garbage collection, then storage management is maintained, but performance of container processes sharing the same blocks degrades

Engineering Contradiction:
Improvestorage managementVSAvoidcontainer process performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments storage blocks into different categories based on QOS requirements. High QOS blocks are separated from low QOS blocks, allowing differential treatment during garbage collection operations. This segmentation enables the storage system to prioritize cleanup operations on low QOS blocks while protecting high QOS blocks from performance-degrading operations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by implementing QOS-specific characteristics for different storage blocks. Each block is tagged with QOS metadata that determines its treatment during block operations. This allows the system to apply different quality levels of service to different portions of the storage device, ensuring high QOS processes receive preferential treatment during garbage collection and other block operations.

Inventive Principle:
Principle #3Local quality

2Ease of operation

If block operations are performed without QOS differentiation, then storage operations are simplified, but QOS requirements of different container processes cannot be met

Engineering Contradiction:
Improveblock operationsVSAvoidQOS requirements
Core Design Contradiction:
Ease of operationVSReliability

Solution Approach 1:

The patent introduces QOS metadata as an intermediary layer between the block operation logic and the actual storage blocks. This metadata acts as a mediator that carries QOS information without requiring changes to the underlying block operation mechanisms. The filter driver and storage driver use this intermediary metadata to make QOS-aware decisions during garbage collection, maintaining simple block operations while achieving QOS differentiation.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If stream identifiers are used to categorize data streams, then QOS-based performance differentiation is achieved, but system complexity increases due to filter drivers and stream ID management

Engineering Contradiction:
ImproveQOS-based performanceVSAvoidfilter driver architecture
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements self-service by having the filter driver automatically capture stream identifiers from container processes and associate them with the appropriate QOS categories. The system self-configures the QOS metadata based on the stream ID without requiring manual intervention or complex configuration. This automation reduces the operational complexity of managing QOS differentiation while maintaining the productivity benefits.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10963163B2Categorizing computing process output data streams for flash storage devices
Publication Date: 2021.03.30 RED HAT INC
  • US10963163B2 patent drawing
  • US10963163B2 patent drawing
  • US10963163B2 patent drawing

AI summary

Categorizing computing process output data streams for flash storage devices is disclosed. A first computing process characteristic of a first computing process that generates a first output data stream is determined. A structure that correlates the first computing process characteristic to a first stream identifier is accessed. A first filter driver is associated with the first computing process to configure the first filter driver to receive the first output data stream. The first filter driver is associated with a flash storage device. The first stream identifier is sent to the first filter driver.