Phased Garbage Collection for Non-Volatile Memory Storage Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In non-volatile memory storage systems, garbage collection operations often exceed the allocated timeout period due to increasing block sizes, leading to potential timeout errors and inefficiencies in write operations.

Innovation Solution

Implementing phased garbage collection, where the garbage collection operation is split into multiple phases, allowing each phase to be completed within separate timeout periods, and utilizing a buffer to store data during the write process, thereby preventing timeout errors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If garbage collection operation is performed in a single phase, then the operation can be completed quickly, but it exceeds the allocated timeout period due to increasing block sizes

Engineering Contradiction:
Improvetimeout periodVSAvoidgarbage collection completion
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The garbage collection operation is divided into multiple phases (first phase, second phase, third phase) that are executed sequentially within the timeout period. Each phase processes a portion of the valid data from the first block to the second block, allowing the operation to fit within the 250-millisecond timeout constraint while still making progress toward completion.

Inventive Principle:
Principle #1Segmentation

2Quantity of substance

If block size is increased to provide higher capacity and parallelism, then storage capacity improves, but write operation time increases causing timeout errors

Engineering Contradiction:
Improvestorage capacityVSAvoidwrite operation time
Core Design Contradiction:
Quantity of substanceVSDuration of action of moving object

Solution Approach 1:

The large block data transfer is segmented into multiple phases, where each phase handles a subset of the data. This allows the system to work with larger blocks for increased capacity while breaking down the transfer operation into manageable time segments that fit within the timeout period.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary identification of valid data and plans the phased transfer strategy before executing the garbage collection operation, allowing optimization of the data transfer path and timing to ensure completion within the allocated timeout period.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If garbage collection is triggered by every write operation, then data integrity is maintained, but the fixed timeout period is frequently exceeded

Engineering Contradiction:
Improvedata integrityVSAvoidtimeout period
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting the garbage collection into phases, the system can trigger GC on every write operation (maintaining data integrity) while ensuring each triggered operation completes within the timeout period through controlled phased execution rather than a single lengthy operation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7444461B2Methods for phased garbage collection
Publication Date: 2008.10.28 SANDISK TECHNOLOGIES LLC
  • US7444461B2 patent drawing
  • US7444461B2 patent drawing
  • US7444461B2 patent drawing

AI summary

A method for operating a non-volatile memory storage system is provided. In this method, a write command is received to write data. The write command is allocated a timeout period to complete an execution of the write command. Within the timeout period, a portion of a garbage collection operation is performed. The data associated with the write command are written to a buffer associated with the non-volatile memory storage system.