SSD De-interleaving for Interleaved Write Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data storage devices face performance degradation due to storing interleaved data streams from multiple sources in a fragmented manner, leading to inefficiencies in both write and read operations.

Innovation Solution

A method and system that de-interleaves data streams by identifying the source of each data item, allowing for separate processing and storage in contiguous memory ranges, using a processor to cache and distribute data across multiple memory devices for improved performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If interleaved data streams from multiple sources are stored in a fragmented manner, then the device can accept data from multiple sources simultaneously, but write performance and read efficiency deteriorate due to fragmentation

Engineering Contradiction:
Improveability to accept data from multiple sourcesVSAvoidwrite performance and read efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments interleaved data streams by identifying and separating data items from different data sources. The processor divides the mixed data stream into distinct data streams based on data source identification, allowing each stream to be processed and stored separately in contiguous memory ranges, thereby resolving the performance degradation caused by fragmentation while maintaining the ability to accept data from multiple sources simultaneously

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the data source identification information from each data item in the interleaved stream. By taking out and utilizing this identification information, the system can separate and route data items to appropriate storage locations, converting fragmented storage into organized contiguous storage while preserving multi-source data acceptance capability

Inventive Principle:
Principle #2Taking out (Extraction)

2Ease of operation

If data items are stored in the order they are received without de-interleaving, then storage操作简单, but address translation complexity increases and lookup frequency increases

Engineering Contradiction:
Improvestorage operation simplicityVSAvoidaddress translation complexity and lookup frequency
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The patent performs preliminary de-interleaving and data source identification before the actual storage operation. By pre-organizing data items into contiguous ranges based on their source and grouping them by Logical Block Address sequences, the system simplifies subsequent address translation and lookup operations, reducing complexity while maintaining operational ease

Inventive Principle:
Principle #10Preliminary action

3Productivity

If de-interleaving is performed by identifying data source for each data item, then write performance improves, but processing complexity increases

Engineering Contradiction:
Improvewrite performanceVSAvoidprocessing complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a self-service mechanism where each data item carries or enables identification of its data source. This self-identifying property allows the processor to automatically route and de-interleave data items without requiring complex external control logic, thereby improving write performance while minimizing the increase in processing complexity

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10203881B2Optimized execution of interleaved write operations in solid state drives
Publication Date: 2019.02.12 APPLE INC
  • US10203881B2 patent drawing
  • US10203881B2 patent drawing

AI summary

A method for data storage includes receiving a plurality of data items for storage in a memory, including at least first data items that are associated with a first data source and second data items that are associated with a second data source, such that the first and second data items are interleaved with one another over time. The first data items are de-interleaved from the second data items, by identifying a respective data source with which each received data item is associated. The de-interleaved first data items and the de-interleaved second data items are stored in the memory.