Stream-Aware File Systems for SSD Garbage Collection Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage systems face challenges in managing and maintaining attribute information for groups of data blocks, particularly after garbage collection activities, leading to loss of locality information and poor detection of multiple sub-streams in incoming data streams.

Innovation Solution

A stream-aware data storage system is implemented with storage processing circuitry that identifies and groups data blocks based on attributes like temporal locality, spatial locality, and stream IDs, writing them to the same segment of a data log and maintaining attribute information in persistent storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection activities are performed within SSDs, then storage space is reclaimed and SSD performance is improved, but attribute information (locality information, stream IDs, LBAs, data types) for data blocks is lost or made unavailable

Engineering Contradiction:
ImproveSSD performanceVSAvoidattribute information
Core Design Contradiction:
ReliabilityVSLoss of information

Solution Approach 1:

The patent introduces an intermediary mechanism (metadata logging system) that captures and preserves attribute information about data blocks before they undergo garbage collection. This intermediary layer ensures that even when data blocks are reclaimed, their original attributes (stream IDs, locality information, LBAs, data types) are maintained in persistent storage, allowing the system to recover and utilize this information after garbage collection activities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary actions by logging and storing attribute information about data blocks before they are subject to garbage collection. This advance preservation of metadata ensures that when garbage collection occurs, the attribute information has already been captured and stored separately, preventing information loss and enabling post-collection attribute recovery.

Inventive Principle:
Principle #10Preliminary action

2Device complexity

If multiple sub-streams in an incoming stream of data are not well detected and identified, then the data storage system can process data more simply, but this leads to undesirable comingling of data blocks from different sub-streams

Engineering Contradiction:
Improvedetection complexityVSAvoiddata separation
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent applies local quality by assigning unique attributes (stream IDs, locality information, data types) to different sub-streams within the incoming data stream. This differentiation allows the system to identify and separate data blocks from different sub-streams based on their specific attributes, preventing undesirable comingling while maintaining manageable complexity through attribute-based classification rather than complex detection algorithms.

Inventive Principle:
Principle #3Local quality

3Device complexity

If attribute information pertaining to groups of data blocks is not well managed and maintained, then the data storage system has simpler management overhead, but locality information, stream IDs, LBAs, and data types are lost or made unavailable

Engineering Contradiction:
Improvemanagement overheadVSAvoidattribute information
Core Design Contradiction:
Device complexityVSLoss of information

Solution Approach 1:

The patent introduces a metadata logging intermediary that automatically captures and persists attribute information about data blocks. This intermediary mechanism handles the management of attribute information (stream IDs, locality, LBAs, data types) separately from the main data storage operations, reducing management overhead while ensuring attribute information is preserved and remains available even after garbage collection activities.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10929066B1User stream aware file systems with user stream detection
Publication Date: 2021.02.23 EMC IP HLDG CO LLC
  • US10929066B1 patent drawing
  • US10929066B1 patent drawing
  • US10929066B1 patent drawing

AI summary

Techniques for handling multiple data streams in stream-aware data storage systems. The data storage systems can detect multiple sub-streams in an incoming stream of data, form a group of data blocks corresponding to each respective sub-stream, and associate, bind, and/or assign a stream ID to each data block in the respective sub-stream. The data storage systems can write each group of data blocks having the same stream ID to the same segment of a data log in one or more non-volatile storage devices, and manage and/or maintain, in persistent data storage, attribute information pertaining to the groups of data blocks in the respective sub-streams relative to time periods during which the respective groups of data blocks were written and/or received. The techniques can improve the detection of multiple sub-streams in an incoming stream of data, and improve the management of attribute information pertaining to data blocks in the respective sub-streams.