Host-Initiated Garbage Collection in Non-Volatile Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Host-initiated garbage collection in storage systems often conflicts with ongoing access operations, leading to increased latency as the process can only be performed when the host is idle, and may not complete within short idle periods, affecting storage device efficiency.

Innovation Solution

Implementing a storage device controller that manages host-initiated garbage collection by copying data from active blocks to an input block during idle periods, allowing for partial data transfer and remapping within a specified time frame, enabling garbage collection to occur even in short idle times without interrupting access operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If garbage collection is carried out in the storage device when the host transmits access commands, then the garbage collection process can be performed, but the access command cannot be carried out immediately and latency increases

Engineering Contradiction:
Improvegarbage collection throughputVSAvoidaccess latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system dynamically adjusts garbage collection operation based on host activity state. When the host is idle, garbage collection is executed; when the host is busy transmitting access commands, garbage collection is suspended. This dynamic adaptation resolves the contradiction by making garbage collection throughput dependent on host availability while preventing access latency increases during busy periods.

Inventive Principle:
Principle #15Dynamics

2Reliability

If garbage collection is performed in unit of block, then all valid data in target blocks are collected, but it takes several hundred milliseconds to fill the entire block and no access from the host can be performed during this period

Engineering Contradiction:
Improvegarbage collection completenessVSAvoidhost idle period requirement
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The garbage collection process is segmented into multiple smaller operations rather than treating each block as a single unit. The controller identifies and collects valid data from target blocks in smaller chunks, allowing the garbage collection process to be interrupted and resumed. This segmentation enables garbage collection to complete within shorter host idle periods while still achieving complete data collection across all target blocks.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Instead of requiring complete block filling before resuming host access, the system performs partial garbage collection actions during each idle period. The controller collects valid data and updates mapping information for the portion of data that can be migrated within the available idle time, then resumes host access. This partial action approach allows garbage collection to make progress during short idle periods without requiring the host to wait for complete block migration.

Inventive Principle:
Principle #16Partial or excessive action

3Ease of operation

If the host initiates garbage collection during idle state, then conflict between garbage collection and access operation is avoided, but if the idle period is less than several hundred milliseconds, the garbage collection may not be performed at all

Engineering Contradiction:
Improveoperation conflict avoidanceVSAvoidgarbage collection execution rate
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The system dynamically responds to varying lengths of host idle periods by adjusting the amount of garbage collection work performed. During longer idle periods, more extensive garbage collection is executed; during shorter idle periods, smaller amounts of data are collected. This dynamic adjustment ensures that garbage collection is performed during any idle period regardless of length, while still avoiding conflicts with host access operations.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs partial garbage collection during short idle periods rather than waiting for longer idle periods. The controller identifies a subset of valid data that can be collected within the available idle time, performs the collection for that subset, updates the mapping information, and then resumes host access. This partial action ensures that garbage collection productivity is maintained even during short idle periods.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10229049B2Storage system that performs host-initiated garbage collection
Publication Date: 2019.03.12 KIOXIA CORP
  • US10229049B2 patent drawing
  • US10229049B2 patent drawing
  • US10229049B2 patent drawing

AI summary

A storage device includes a non-volatile semiconductor storage device including a plurality of physical blocks, and a controller. The controller maintains a mapping of logical addresses to locations within the physical blocks, receives, from a host, a command to start host initiated garbage collection where the controller copies data from an active block into an input block having free pages that is not written after erase operation, receives, from the host, a command to receive data to be written from the host, writes the received data to the same input block, and receives, from a host, another command to start host initiated garbage collection where the controller copies data from an active block into the same input block.