Multi-Stream SSD Garbage Collection via TTL Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Garbage collection in Solid State Drives (SSDs) negatively impacts storage device performance and lifespan due to the time and energy required for valid data copying and the limited write endurance of Flash memory, especially when blocks are not completely filled with data having similar Time-To-Live (TTL) characteristics.

Innovation Solution

Implementing a multi-streaming technique that allows SSDs to coalesce data write operations into streams based on expected TTL, enabling more efficient garbage collection by ensuring data expiration within a predictable timeframe, and using second-order streams to manage data expiration across blocks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If garbage collection waits until a block is completely empty before erasure, then data integrity is maintained, but the SSD may eventually have no free pages to which data could be written

Engineering Contradiction:
Improvedata integrityVSAvoidwrite availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by identifying blocks containing a high percentage of invalid pages and proactively selecting candidate pages for preservation before the block becomes completely full of invalid pages. This prevents the situation where no free pages remain by preparing replacement pages in advance, thus maintaining both data integrity and write availability.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If garbage collection moves valid pages from blocks targeted for erasure to other blocks, then free pages are maintained, but operational intensity and energy consumption increase

Engineering Contradiction:
Improvefree page maintenanceVSAvoidenergy consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system uses self-service by leveraging existing valid pages within the target block itself as replacement pages, rather than requiring external blocks. The method identifies candidate pages that are already present in the block and can serve as replacements, eliminating the need for additional valid page movements and reducing energy consumption while maintaining free page availability.

Inventive Principle:
Principle #25Self-service

3Speed

If data from unrelated files is written adjacently on the SSD in arrival order, then write speed is maintained, but garbage collection efficiency decreases due to mixed TTL characteristics

Engineering Contradiction:
Improvewrite speedVSAvoidgarbage collection efficiency
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system applies segmentation by dividing the block into different regions or groups based on TTL characteristics of the data. By identifying and separating pages with similar expiration timelines, the system can perform targeted garbage collection on subsets of the block rather than treating the entire block uniformly, thus improving garbage collection efficiency while maintaining the simple arrival-order write strategy.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9880780B2Enhanced multi-stream operations
Publication Date: 2018.01.30 SAMSUNG ELECTRONICS CO LTD
  • US9880780B2 patent drawing
  • US9880780B2 patent drawing
  • US9880780B2 patent drawing

AI summary

A Solid State Drive (SSD) (505) may include circuitry to receive data from streams (305, 320, 335, 350). Each stream (305, 320, 335, 350) may have a Time-To-Live (TTL) (310, 325, 340, 355). Selection logic (525) may select a stream (305, 320, 335, 350) to write to a block (103). Writing logic (530) may then write data from the selected stream (905) to the block (103). The SSD (505) may change which stream (305, 320, 335, 350) is written to the block (103) over time. As a result, the data stored in the block (103) should expire sooner overall, making garbage collection of the block (103) more efficient.