Stream Identifier Switching for Flash Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage devices face inefficiencies in garbage collection due to the mixing of cold and hot data in the same memory blocks, leading to reduced device life and increased write amplification factors.

Innovation Solution

A storage device that classifies data based on the age of data updates, using a memory controller to change stream identifiers and perform garbage collection operations based on this classification, thereby grouping similar data together and reducing unnecessary data movements.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data is continuously written to flash memory without classification, then storage capacity is utilized, but valid data becomes scattered and garbage collection efficiency deteriorates

Engineering Contradiction:
Improvestorage utilizationVSAvoiddata management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments data into hot data and cold data based on access patterns, and further segments memory blocks into first memory blocks for hot data and second memory blocks for cold data. This segmentation allows differentiated management strategies for different data types, improving garbage collection efficiency while maintaining storage utilization.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different quality characteristics to different data types by storing hot data in first memory blocks with higher endurance and cold data in second memory blocks. This local quality differentiation ensures that each data type is stored in an environment optimized for its characteristics, resolving the contradiction between storage utilization and management complexity.

Inventive Principle:
Principle #3Local quality

2Productivity

If cold data and hot data are stored in the same memory block, then storage space is efficiently used, but garbage collection moves cold data unnecessarily reducing device life

Engineering Contradiction:
Improvestorage efficiencyVSAvoiddevice life
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent physically segments memory blocks into first memory blocks for hot data and second memory blocks for cold data. This segmentation prevents mixing of hot and cold data in the same block, allowing garbage collection to operate efficiently on cold data blocks without moving data repeatedly, thereby extending device life while maintaining storage efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts cold data from mixed memory blocks and relocates it to dedicated second memory blocks. This extraction removes the harmful factor (cold data subject to frequent moves) from the system, allowing garbage collection to focus only on hot data in first memory blocks, thus improving device life without sacrificing storage efficiency.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If frequent garbage collection is performed to secure free memory blocks, then storage availability is maintained, but device life decreases due to repeated data movements

Engineering Contradiction:
Improvestorage availabilityVSAvoiddevice life
Core Design Contradiction:
ProductivityVSDuration of action of stationary object

Solution Approach 1:

The patent segments memory into first memory blocks for hot data and second memory blocks for cold data. This segmentation allows independent garbage collection operations on each segment, reducing the total number of data movements required. Cold data in second blocks is collected less frequently, extending device life while maintaining storage availability through efficient hot data management in first blocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent changes the garbage collection frequency parameter based on data type: high frequency for hot data in first memory blocks to maintain storage availability, and low frequency for cold data in second blocks to extend device life. This parameter differentiation resolves the contradiction between storage availability and device life.

Inventive Principle:
Principle #35Parameter changes

4Device complexity

If stream identifier is not changed based on data age, then data classification is simple, but garbage collection cannot differentiate between hot and cold data

Engineering Contradiction:
Improveclassification complexityVSAvoidgarbage collection efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent performs preliminary classification of data into hot and cold categories based on access patterns before garbage collection operations. By pre-tagging data with appropriate stream identifiers reflecting its age and access characteristics, the system enables efficient differentiated garbage collection without adding complex real-time decision-making, thus improving garbage collection efficiency with minimal additional complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12498872B2Storage device configured to selectively change a stream identifier and operating method of storage device
Publication Date: 2025.12.16 SAMSUNG ELECTRONICS CO LTD
  • US12498872B2 patent drawing
  • US12498872B2 patent drawing
  • US12498872B2 patent drawing

AI summary

A storage device according to the technical ideas of the inventive concepts include: a memory device including a plurality of memory blocks, the plurality of memory blocks including a plurality of pages; a data controller configured to receive, from a host, data to be written to the plurality of pages and a stream identifier corresponding the data, and determine whether to change the stream identifier based on an age of the data representing a frequency of update on the data on one of the plurality of memory blocks or one of the plurality of pages; and a garbage collection controller configured to classify the data based on the stream identifier, and control a garbage collection operation of the memory device based on a classification result.