Flash Memory Controller Garbage Collection Progress Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In flash memory modules, especially 3D NAND-type, sudden power off during garbage collection operations lead to performance degradation due to direct discarding of utilized Triple-Level Cell (TLC) blocks, which impacts data integrity and efficiency.

Innovation Solution

A method where the flash memory controller determines the progress of the garbage collection operation upon power-on, deciding whether to discard a target block or write dummy data into its remaining pages based on the progress, thereby managing the blocks effectively to conserve valid data and improve performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the flash memory controller directly discards the previously utilized TLC block when power off recovery happens during garbage collection, then data integrity is protected, but performance is seriously degraded

Engineering Contradiction:
Improvedata integrityVSAvoidperformance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent changes the decision parameter from a binary choice (discard or keep) to a progressive decision based on garbage collection progress thresholds. When progress exceeds a first threshold, the block is kept and dummy data is written; when progress is below the threshold, the block is discarded. This parameter-based decision approach resolves the contradiction by adapting the action to the specific state of garbage collection completion.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent performs preliminary assessment of garbage collection progress before making the discard decision. By checking whether the progress exceeds the threshold before deciding to keep or discard the block, the system prepares in advance with the correct action, avoiding performance degradation from unnecessary discards while maintaining data integrity when needed.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the flash memory controller keeps the previously utilized TLC block when garbage collection progress is high, then performance is improved, but data integrity may be compromised if power off occurs

Engineering Contradiction:
ImproveperformanceVSAvoiddata integrity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent uses the garbage collection progress as a dynamic parameter to determine the appropriate action. When progress exceeds the threshold, the system transitions from a conservative discard policy to a protective keep policy with dummy data writing, optimizing performance while maintaining integrity through the parameter-driven decision mechanism.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies beforehand cushioning by writing dummy data into the TLC block before potential power off events. This preparatory action cushions against future data integrity issues by ensuring that any incomplete data in the block is properly handled, allowing the system to keep the block for performance reasons while protecting data integrity.

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

3Reliability

If the flash memory controller writes dummy data into remaining pages of the target block, then data integrity is maintained, but additional time and resources are consumed

Engineering Contradiction:
Improvedata integrityVSAvoidoperation time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent changes the operational parameter from always writing dummy data to conditionally writing dummy data based on garbage collection progress. Only when progress exceeds the threshold does the system write dummy data, reducing unnecessary time consumption while maintaining data integrity when it matters most.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies partial action by writing dummy data only into the remaining pages of the target block when needed, rather than performing full block operations. This partial approach maintains data integrity for the critical remaining data while minimizing the time and resource overhead compared to complete block rewrites.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10474573B2Method for managing flash memory module and associated flash memory controller and electronic device
Publication Date: 2019.11.12 SILICON MOTION INC
  • US10474573B2 patent drawing
  • US10474573B2 patent drawing
  • US10474573B2 patent drawing

AI summary

A method for managing a flash memory module, an associated flash memory controller and an associated electronic device are provided, wherein the method includes: when the flash memory module is powered on, and a garbage collection operation is not finished before the flash memory module is powered on: determining a progress of the garbage collection operation to generate a determination result; and determining to discard a target block in the garbage collection operation or to write dummy data into remaining pages of the target block according to the determination result.