Append-Only SSD Streams for Lower Write Amplification

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 cannot update data in place and must erase entire blocks, leading to inefficient data management and reduced storage capacity.

Innovation Solution

Implementing an append-only streams capability that allows the host to determine optimal stream size and characteristics, such as erase block size and parallel writing capacity, to efficiently manage data storage by grouping data likely to be deleted together, reducing the burden on the storage device and minimizing 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 applies preliminary action by having the host system pre-identify and group data that will be deleted together into streams before writing to the SSD. The host determines stream characteristics including expected deletion time, and groups related data into the same stream in advance. This prevents the need for garbage collection later, as all data in a stream is erased together when the stream is closed, eliminating write amplification and extending SSD lifespan while maintaining data management capability.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If data is grouped into streams with same deletion time, then write amplification is reduced, but host processing burden increases

Engineering Contradiction:
Improvewrite efficiencyVSAvoidhost processing burden
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies self-service by enabling the host system to autonomously manage stream creation and data grouping without requiring complex SSD controller intervention. The host determines stream characteristics, groups data into streams, and manages stream lifecycle. This shifts the processing burden to the host but simplifies the SSD controller functions, improving write efficiency through better data organization while the host handles the grouping logic.

Inventive Principle:
Principle #25Self-service

3Reliability

If entire erase blocks are written to store data, then storage capacity is reduced, but data integrity is maintained

Engineering Contradiction:
Improvedata integrityVSAvoidstorage capacity
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent applies segmentation by dividing the SSD storage into multiple streams, where each stream consists of one or more erase blocks. This allows the host to allocate data to specific streams based on deletion patterns, so that only the erase blocks containing data to be deleted are affected when a stream is closed. This maintains data integrity within each stream while improving effective storage capacity by avoiding the need to erase entire blocks when only partial data needs updating.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentEP3752905B1Append only streams for storing data on a solid state device
Publication Date: 2024.03.27 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3752905B1 patent drawingFigure 1
  • EP3752905B1 patent drawingFigure 2
  • EP3752905B1 patent drawingFigure 3A~3B

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.