Dynamic Garbage Collection Workload Sizing for NAND Memory

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Garbage collection in NAND-based memory devices consumes resources and can impact user experience and device lifetime due to write amplification, particularly when dealing with conflicting workload types such as sustained and burst workloads, where traditional methods fail to dynamically adjust to changing conditions effectively.

Innovation Solution

Implementing a dynamically adjusted garbage collection workload that minimizes the number of garbage collection executions by sizing workload portions based on observed idle periods, prioritizing SLC cache garbage collection, and verifying that portions are beyond a threshold before execution, thereby maximizing idle period usage and reducing write amplification.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If garbage collection is performed frequently to maintain free space in NAND memory, then the availability of free space is improved, but write amplification increases and device lifetime decreases

Engineering Contradiction:
Improvefree space availabilityVSAvoidwrite amplification
Core Design Contradiction:
Quantity of substanceVSLoss of energy

Solution Approach 1:

The garbage collection workload is dynamically adjusted based on observed idle periods. The system monitors idle times and derives a metric to divide the garbage collection workload into portions, executing larger portions during longer idle periods and smaller portions during shorter idle periods. This dynamic adjustment optimizes free space maintenance while minimizing write amplification and preserving device lifetime.

Inventive Principle:
Principle #15Dynamics

2Ease of operation

If garbage collection is executed during idle periods to reduce impact on user experience, then user experience is improved, but the number of executions increases if workload portions are not optimized, leading to increased write amplification

Engineering Contradiction:
Improveuser experienceVSAvoidwrite amplification
Core Design Contradiction:
Ease of operationVSLoss of energy

Solution Approach 1:

The garbage collection workload is divided into portions based on the idle period metric. During each idle period, only a calculated portion of the total garbage collection workload is executed, rather than completing the entire workload. This partial action approach ensures that garbage collection is performed during idle periods to maintain user experience, while the portioning prevents excessive executions and minimizes write amplification.

Inventive Principle:
Principle #16Partial or excessive action

3Speed

If SLC cache garbage collection is prioritized to maintain cache performance, then write performance is improved, but resource consumption increases during sustained workloads

Engineering Contradiction:
Improvewrite performanceVSAvoidresource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The garbage collection workload division prioritizes SLC cache garbage collection based on the derived metric from idle periods. During idle periods, a larger portion of the workload is allocated to SLC cache maintenance to preserve fast write performance. During sustained workloads with shorter idle periods, the portion executed is reduced, thereby lowering resource consumption while maintaining essential cache functionality.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS11550711B2Dynamically adjusted garbage collection workload
Publication Date: 2023.01.10 MICRON TECHNOLOGY INC
  • US11550711B2 patent drawing
  • US11550711B2 patent drawing
  • US11550711B2 patent drawing

AI summary

Devices and techniques for a dynamically adjusting a garbage collection workload are described herein. For example, memory device idle times can be recorded. From these recorded idle times, a metric can be derived. A current garbage collection workload can be divided into portions based on the metric. Then, a first portion of the divided garbage collection workload can be performed at a next idle time.