SSD Garbage Collection Timing and Parallel Write Handling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage systems using solid state drives (SSDs), garbage collection processes can lead to delays in data write operations due to the need to wait for garbage collection to complete, resulting in increased response times when free space is low and unrequested data needs to be erased.

Innovation Solution

A storage control apparatus determines the timing for garbage collection based on data amount and response time thresholds, allowing it to execute garbage collection proactively and use a secondary memory area for data storage during collection, thereby reducing the impact on data write operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If garbage collection is executed when free space is low, then free space is increased, but data write response time increases due to waiting for garbage collection to complete

Engineering Contradiction:
Improvefree spaceVSAvoiddata write response time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The storage device is divided into multiple memory areas (first memory area and second memory area) to enable parallel operations. While garbage collection is executed on the first memory area, data writes can simultaneously occur in the second memory area, eliminating the waiting time and resolving the contradiction between maintaining free space and preserving write speed.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The storage control apparatus proactively determines to execute garbage collection based on the data amount of incoming write data before the free space becomes critically low. By initiating garbage collection in advance, the system prevents the situation where write operations must wait for garbage collection, thus maintaining both adequate free space and fast write response times.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If garbage collection is executed proactively based on data amount, then data write response time is reduced, but control complexity increases

Engineering Contradiction:
Improvedata write response timeVSAvoidcontrol complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The storage control apparatus monitors the data amount of write operations and uses this feedback to dynamically determine when to execute garbage collection. This feedback mechanism enables proactive garbage collection decisions based on actual usage patterns, reducing response time while maintaining manageable control complexity through automated threshold-based decision making.

Inventive Principle:
Principle #23Feedback

3Adaptability or versatility

If data is stored scatteredly with discontinuous logical addresses, then data storage flexibility is improved, but free space decreases due to fragmentation

Engineering Contradiction:
Improvedata storage flexibilityVSAvoidfree space
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

By segmenting the storage device into multiple memory areas, the system can handle scattered data writes in different areas simultaneously. This segmentation prevents fragmentation from consuming all free space, as garbage collection can be performed on one area while other areas remain available for new writes, thus maintaining both storage flexibility and adequate free space.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10416907B2Storage system, storage control apparatus, and method of controlling a storage device
Publication Date: 2019.09.17 FUJITSU LTD
  • US10416907B2 patent drawing
  • US10416907B2 patent drawing
  • US10416907B2 patent drawing

AI summary

A storage system includes a storage device including a first memory area and a second memory area, and a storage control apparatus configured to receive a first command requesting write of first data, cause the storage device to store the first data in the first memory area based on the first command, determine whether to cause the storage device to execute garbage collection on the first memory area based on a data amount of the first data, transmit a first instruction that instructs the storage device to execute the garbage collection on the first memory area, and cause the storage device to store second data in the second memory area when the garbage collection on the first memory area is being executed based on the first instruction and the processor receives a second command requesting write of the second data.