Garbage Collection Segmentation in Non-Volatile Memory Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Efficiently performing garbage collection in non-volatile memory data storage devices without degrading system resources and maintaining system performance, as the complexity of physical blocks increases with data storage capacity.

Innovation Solution

Segmenting the garbage collection operation by copying valid data from a source block to a destination block at separate time intervals, while executing host commands between intervals, and updating mapping tables F2H and H2F at separate time intervals to manage logical and physical addresses effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If garbage collection operation is performed continuously without interruption, then data management efficiency is improved, but system resource utilization deteriorates and host command execution is delayed

Engineering Contradiction:
Improvedata management efficiencyVSAvoidsystem resource utilization
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The garbage collection operation is divided into multiple segments that can be executed at different time intervals. The controller pauses the garbage collection process at specific checkpoints and resumes it later, allowing host commands to be executed in between segments. This segmentation enables the system to balance data management efficiency with resource utilization by not dedicating all resources continuously to garbage collection.

Inventive Principle:
Principle #1Segmentation

2Reliability

If mapping table update is performed continuously during garbage collection, then data consistency is improved, but execution speed deteriorates due to frequent interruptions

Engineering Contradiction:
Improvedata consistencyVSAvoidexecution speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The controller performs preliminary actions by pre-calculating and preparing mapping table updates before they are critically needed. During garbage collection, the controller anticipates which mapping table entries will need updating and prepares them in advance, then applies these updates at optimized moments that minimize interruptions to the overall execution speed while maintaining data consistency.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If all system resources are dedicated to garbage collection, then garbage collection efficiency is improved, but host command response time deteriorates

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoidhost command response time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system implements periodic action by alternating between garbage collection operations and host command execution in time intervals. The controller periodically suspends garbage collection to service host commands, ensuring that host response time requirements are met while still making progress on garbage collection. This periodic switching prevents any single operation from monopolizing system resources indefinitely.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10783071B2Data storage device and operating method thereof, wherein mapping table for valid data of source block that has not been copied to destination block has a higher priority than mapping information collected by reverse scanning from end of the destination block
Publication Date: 2020.09.22 SILICON MOTION INC
  • US10783071B2 patent drawing
  • US10783071B2 patent drawing
  • US10783071B2 patent drawing

AI summary

A data storage device with a non-volatile memory on which a garbage collection operation is segmented to be accomplished at separate time intervals. Host commands are inserted to be executed between the separate time intervals. A data swap stage or/and an F2H table update stage or/and an H2F table update stage for a garbage collection operation may be segmented to be performed at separate time intervals.