Stream-Based Storage Segmentation for SSD Write Amplification

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional data storage systems inefficiently mix data from different sources, leading to suboptimal operations such as fragmented reads, increased write amplification on SSDs, and reduced sequential access efficiency due to intermixing of data from unrelated applications.

Innovation Solution

Implementing stream-based storage that detects and separates data streams within incoming data flows, placing each stream in a distinct segment of the storage array, thereby maintaining data coherence and optimizing sequential reads and writes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If data from different sources is stored together in the same segment, then storage space utilization is improved, but data fragmentation increases and sequential read efficiency deteriorates

Engineering Contradiction:
Improvestorage space utilizationVSAvoidsequential read efficiency
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies segmentation by dividing the storage array into multiple segments and assigning different data streams to different segments. The stream detection module identifies multiple data streams within incoming data flows and the data placement module places each detected data stream in a different segment, preventing intermixing of unrelated data while maintaining high storage utilization through efficient space management.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If data from different sources is intermixed in storage, then storage capacity is maximized, but write amplification on SSDs increases

Engineering Contradiction:
Improvestorage capacityVSAvoidwrite amplification
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The patent reduces write amplification by segmenting storage into separate segments for different data streams. This organization allows the system to perform sequential writes within segments rather than random writes across the entire array, significantly reducing the number of write operations required and thereby reducing energy loss through write amplification on SSDs.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies preliminary action by detecting and identifying data streams before data is written to storage. The stream detection module analyzes incoming data flows in advance to identify separate data streams, and the data placement module pre-determines which segment each stream should occupy, ensuring optimal write patterns are established before actual storage operations occur.

Inventive Principle:
Principle #10Preliminary action

3Device complexity

If conventional storage systems store all incoming data together, then device complexity is reduced, but data coherence and access optimization are compromised

Engineering Contradiction:
Improvestorage management complexityVSAvoiddata access efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent applies preliminary action by performing stream detection and identification before data storage operations. The stream detection module analyzes incoming data flows to identify multiple data streams in advance, and the data placement module pre-determines optimal segment assignments, enabling coherent data organization and optimized access patterns without significantly increasing device complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11340814B1Placing data in a data storage array based on detection of different data streams within an incoming flow of data
Publication Date: 2022.05.24 EMC IP HLDG CO LLC
  • US11340814B1 patent drawing
  • US11340814B1 patent drawing
  • US11340814B1 patent drawing

AI summary

A technique performs stream-based storage of data. The technique involves receiving, by processing circuitry of data storage equipment, an incoming flow of data. The technique further involves detecting, by the processing circuitry, different data streams within the incoming flow of data. The technique further involves performing, by the processing circuitry, data placement operations based on the different data streams detected within the incoming flow of data. The data placement operations are configured and operative to place data of each data stream of the different data streams in a different segment of storage provided by a data storage array of the data storage equipment. With data of each data stream being placed in a different segment, the resulting operation is more efficient, e.g., optimized sequential reads and writes, more effective data prefetching, more effective auto-tiering of data, and so on.