Flash Memory Garbage Collection Management via Dynamic Spare Area

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flash memory systems face instability and performance deterioration due to frequent garbage collection (GC) operations, which disrupt the response time to host commands and write performance, as they frequently start and end GC operations based on a fixed target spare block number.

Innovation Solution

The solution involves determining a start timing for GC operations based on a GC starting threshold higher than the target spare block number and adjusting the GC-to-host write ratio dynamically based on the current number of spare blocks and valid page percentages, using a controller to calculate an overall spare area and determine an adjustment factor to perform GC operations more subtly.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If GC operation is started frequently to maintain spare block number, then storage availability is improved, but response time stability deteriorates

Engineering Contradiction:
Improvespare block numberVSAvoidresponse time stability
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent implements dynamic adjustment of GC operations by introducing a GC-to-host write ratio that varies based on current spare block count. When spare blocks are abundant, GC ratio is reduced; when spare blocks are low, GC ratio is increased. This dynamic approach prevents frequent GC start/stop cycles while maintaining adequate spare blocks, thereby stabilizing response time.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the control parameter from a fixed threshold-based GC trigger to a continuous GC-to-host write ratio parameter. This parameter is adjusted based on the current spare block count, allowing smooth transitions in GC activity level rather than abrupt start/stop decisions, which stabilizes system performance.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If GC operation is performed to free storage space, then storage capacity is improved, but write performance deteriorates

Engineering Contradiction:
Improvestorage capacityVSAvoidwrite performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent applies partial GC action by controlling the GC-to-host write ratio to be less than 100% when spare blocks are sufficient. This means GC operations are performed partially rather than fully, allowing host writes to proceed concurrently without complete GC interruption, thus maintaining write performance while still freeing storage space.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The GC intensity is dynamically adjusted based on current spare block count. When spare blocks are abundant, GC ratio is reduced to minimize impact on write performance. When spare blocks become scarce, GC ratio is increased to ensure storage capacity is maintained. This dynamic balancing resolves the contradiction between storage capacity and write performance.

Inventive Principle:
Principle #15Dynamics

3Productivity

If GC-to-host write ratio is adjusted based on single source block valid page percentage, then GC efficiency is improved, but response time stability deteriorates

Engineering Contradiction:
ImproveGC efficiencyVSAvoidresponse time stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent merges multiple source blocks into a single aggregated valid page percentage metric. Instead of reacting to valid page percentages of individual source blocks, the system calculates the combined valid page percentage across multiple source blocks. This smoothing effect prevents rapid fluctuations in GC-to-host write ratio adjustments, thereby stabilizing response time while maintaining GC efficiency.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The patent uses multiple source blocks as a cushion against rapid changes in valid page percentage. By aggregating data from multiple blocks before making GC ratio adjustments, the system prevents over-reaction to temporary fluctuations in any single block, providing a buffer that stabilizes response time.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11809312B2Garbage collection operation management based on overall spare area
Publication Date: 2023.11.07 SILICON MOTION INC
  • US11809312B2 patent drawing
  • US11809312B2 patent drawing
  • US11809312B2 patent drawing

AI summary

A method of managing a garbage collection (GC) operation on a flash memory includes: calculating an overall spare area in a flash memory, which includes a spare area in a plurality of spare blocks in the flash memory and at least two of a spare area in one or more target blocks corresponding to writing of user data based on host write commands, a spare area in one or more destination blocks corresponding to writing of valid data based on the GC operation and a spare area in a source block corresponding to reading of valid data based on the GC operation; determining an adjustment factor according to the overall spare area; and performing the GC operation on the source block according to a GC-to-host base ratio and the adjustment factor.