Multi-State Purgatory for Memory Garbage Collection Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional memory sub-systems experience performance degradation and increased latency due to the use of a single purgatory state during garbage collection, which can lead to premature deletion of blocks and inefficiencies in data management, resulting in slower read, write, and erase speeds, as well as higher power consumption.

Innovation Solution

Implementing a multi-state purgatory system that assigns blocks of data to different purgatory states to ensure all garbage collection and host read operations are completed before erasure, thereby preventing premature deletion and optimizing data management processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If a single purgatory state is used during garbage collection, then the device complexity is reduced, but the productivity and speed of read, write, and erase operations deteriorate due to premature deletion and operational delays

Engineering Contradiction:
Improvepurgatory state structureVSAvoidread, write, and erase speeds
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The single purgatory state is segmented into multiple purgatory states (first purgatory state and second purgatory state). Blocks are assigned to different purgatory states based on their erasure status and read operation completion status. This segmentation allows the system to track and manage blocks more granularly, preventing premature deletion while maintaining organized control over the garbage collection process, thereby improving read, write, and erase speeds without excessive complexity increase.

Inventive Principle:
Principle #1Segmentation

2Device complexity

If a single purgatory state is used during garbage collection, then the system is simpler to manage, but the latency increases due to waiting for all operations to complete before erasure

Engineering Contradiction:
Improvestate management systemVSAvoidlatency during garbage collection
Core Design Contradiction:
Device complexityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by assigning blocks to the first purgatory state before erasure is complete, and transitioning them to the second purgatory state once erasure is done but before all read operations finish. This preliminary state assignment allows the system to prepare for subsequent erasure operations in advance, reducing the waiting time and latency during garbage collection while maintaining manageable complexity through structured state transitions.

Inventive Principle:
Principle #10Preliminary action

3Quantity of substance

If a single purgatory state is used, then the system uses less memory resources, but the power consumption increases due to repeated read operations and delayed erasure

Engineering Contradiction:
Improvememory resources for state trackingVSAvoidpower consumption during garbage collection
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The multiple purgatory states act as intermediaries between the read operation phase and the final erasure phase. By introducing these intermediate states, the system can efficiently track which blocks have completed their read operations and are ready for erasure, reducing the need for repeated status checks and repeated read operations. This intermediary structure optimizes power consumption during garbage collection while using memory resources efficiently for state tracking.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11221949B2Multi state purgatory for media management for a memory subsystem
Publication Date: 2022.01.11 MICRON TECHNOLOGY INC
  • US11221949B2 patent drawing
  • US11221949B2 patent drawing
  • US11221949B2 patent drawing

AI summary

Methods, systems, and devices for multi-state purgatory for garbage collection are described. A processing device can determine a valid data count for a block of data of a memory sub-system. In some case, the valid data count can indicate that the block of data contains invalid data. The processing device can assign the block of data to a first purgatory state based on the valid data count and verify that one or more read operations for the block of data in the first purgatory state are complete based on the first purgatory state. In some examples, the processing device can assign the block of data to a second purgatory state based on the verifying.