Append-Only SSD Streams for Lower Garbage Collection Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Solid state devices (SSDs) face limitations due to the need for 'garbage collection' which results in 'write amplification', shortening their lifespan, as they can only erase data in blocks, potentially deleting important files and requiring multiple writes to the same physical media.

Innovation Solution

Implementing an append-only streams capability that allows the host to determine an optimal stream size based on the data to be stored, exposing characteristics like maximum active and inactive streams, erase block size, and optimal write size, enabling efficient data grouping and reduction of write amplification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If garbage collection is performed to erase unwanted data from SSD blocks, then data management capability is improved, but write amplification occurs which shortens SSD lifespan

Engineering Contradiction:
Improvedata management capabilityVSAvoidSSD lifespan
Core Design Contradiction:
Ease of operationVSDuration of action of stationary object

Solution Approach 1:

The patent segments data storage into multiple independent streams, each stream containing data with similar deletion characteristics. This segmentation allows the SSD to manage different data groups independently, reducing the need for comprehensive garbage collection across entire blocks and thereby reducing write amplification while maintaining effective data management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by pre-grouping data into streams based on estimated deletion times before actual deletion occurs. This proactive organization allows the SSD to perform targeted erasure of specific streams rather than entire blocks, reducing unnecessary writes and extending SSD lifespan while maintaining data management capability.

Inventive Principle:
Principle #10Preliminary action

2Duration of action of stationary object

If data is grouped into streams based on estimated deletion time, then write amplification is reduced, but processing complexity increases

Engineering Contradiction:
ImproveSSD lifespanVSAvoidprocessing complexity
Core Design Contradiction:
Duration of action of stationary objectVSDevice complexity

Solution Approach 1:

The patent implements self-service by enabling the SSD to automatically estimate deletion times and group data into appropriate streams without requiring complex external intervention. The system uses built-in algorithms to perform deletion time estimation and stream assignment, reducing the need for complex external processing while extending SSD lifespan through effective stream-based management.

Inventive Principle:
Principle #25Self-service

3Productivity

If the host determines stream characteristics based on data to be stored, then processing burden on storage device is reduced, but host complexity increases

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidhost complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses stream identifiers as intermediaries between the host and storage device. The host determines stream characteristics and assigns stream identifiers to data groups, then the storage device uses these identifiers to route data to appropriate streams. This intermediary mechanism allows the host to control stream management while the storage device maintains simple, identifier-based processing, improving overall processing efficiency without excessive host complexity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10754549B2Append only streams for storing data on a solid state device
Publication Date: 2020.08.25 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10754549B2 patent drawing
  • US10754549B2 patent drawing
  • US10754549B2 patent drawing

AI summary

An append-only streams capability may be implemented that allows the host (e.g., the file system) to determine an optimal stream size based on the data to be stored in that stream. The storage device may expose to the host one or more characteristics of the available streams on the device, including but not limited to the maximum number of inactive and active streams on the device, the erase block size, the maximum number of erase blocks that can be written in parallel, and an optimal write size of the data. Using this information, the host may determine which particular stream offered by the device is best suited for the data to be stored.