Automatic I/O Stream Selection for Multi-Streaming Flash Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current flash storage devices face performance degradation and reduced endurance due to garbage collection, which is exacerbated by write amplification, and existing multi-streaming solutions require application code modifications and cooperation among applications or the operating system, limiting their effectiveness.

Innovation Solution

An automatic stream assignment model is implemented at various levels of the software stack, utilizing a sequence detector to identify and categorize write sequences, assigning similar-length writes to the same I/O streams, thereby eliminating the need for application-level modifications and improving SSD performance and endurance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection is performed to reclaim free space in SSDs, then valid data can be copied to new storage blocks and invalid blocks can be erased, but read and write performance decrease and write amplification increases

Engineering Contradiction:
Improvestorage space reclamationVSAvoidread and write performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent segments write operations into multiple I/O streams based on data characteristics such as write sequence length. By dividing the storage space into stream-specific regions, similar-length write sequences are grouped together, which reduces the frequency and scope of garbage collection operations needed, thereby maintaining better performance while still enabling space reclamation.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent performs preliminary classification of write operations into different I/O streams before data is written to the SSD. By pre-grouping writes of similar length into the same stream, the system prepares the data layout in advance to minimize future garbage collection needs, avoiding the performance penalty of reactive garbage collection.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multi-streaming is implemented at the application layer to assign I/O streams, then data can be placed more wisely to reduce garbage collection and write amplification, but application code must be modified to support this feature

Engineering Contradiction:
ImproveSSD performance and enduranceVSAvoidapplication code modification requirement
Core Design Contradiction:
ProductivityVSEase of manufacture

Solution Approach 1:

The patent introduces an intermediary component between the application and the SSD that automatically performs stream assignment based on write operation characteristics. This intermediary analyzes write sequences and assigns appropriate stream IDs without requiring any modification to application code, thus maintaining ease of use while achieving the performance benefits of multi-streaming.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs self-service by automatically detecting write patterns and assigning I/O streams based on observed data characteristics. The stream assignment mechanism monitors and adapts to write behaviors autonomously, eliminating the need for application-level configuration or code changes while still achieving optimized data placement.

Inventive Principle:
Principle #25Self-service

3Productivity

If write sequences are assigned to different I/O streams based on length, then garbage collection frequency is reduced and write amplification is lowered, but stream assignment complexity increases

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoidstream assignment mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses parameter changes by monitoring write sequence length as a key characteristic and using it to determine stream assignment. By changing the stream assignment decision based on this observable parameter, the system achieves effective garbage collection reduction through a relatively simple rule-based mechanism rather than complex algorithms.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10732905B2Automatic I/O stream selection for storage devices
Publication Date: 2020.08.04 SAMSUNG ELECTRONICS CO LTD
  • US10732905B2 patent drawing
  • US10732905B2 patent drawing
  • US10732905B2 patent drawing

AI summary

A method of selecting among a plurality of I/O streams through which data is to be written to a multi-streaming flash storage device is presented. According to an example embodiment, the method comprises: assigning write sequences of similar length to the same I/O streams; receiving instructions for a write operation, the instructions including a starting logical block address (LBA) and a number of blocks of data to be written; determining whether the write operation is part of an existing write sequence; identifying an I/O stream associated with an existing write sequence; and providing a stream ID of the identified I/O stream to the multi-streaming flash storage device.