Non-Volatile Memory Garbage Collection via Programming Order

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing non-volatile memory control technologies face inefficiencies in data storage due to data fragmentation, where garbage collection based on valid page counts disrupts the logical continuity of data, leading to poor data reading performance and resource wastage.

Innovation Solution

Implementing a garbage collection method that selects source blocks based on their programming order, ensuring that valid data is copied to a destination block in a sequential manner, maintaining logical continuity and allowing for efficient data storage and retrieval without additional resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If garbage collection is performed based on valid page counts, then data can be collected, but logical continuity of data is disrupted leading to poor reading performance

Engineering Contradiction:
Improvedata collection efficiencyVSAvoidlogical continuity of data
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies preliminary action by recording the programming order of blocks in advance during the write operation. When garbage collection is needed, the controller retrieves the pre-recorded programming order from the mapping table, allowing data to be copied in the correct sequential order without disrupting logical continuity. This eliminates the need to determine block order during garbage collection, thus maintaining both efficiency and data continuity.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If traditional garbage collection methods are used, then data is collected, but additional resource allocation is required for managing block order

Engineering Contradiction:
Improvedata collection capabilityVSAvoidresource allocation for block management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent merges the block order information with the existing mapping table structure used for logical-to-physical address translation. The programming order is recorded in the same mapping table that already stores data location information, eliminating the need for separate data structures or additional memory resources dedicated solely to tracking block order. This integration reduces device complexity while maintaining full garbage collection functionality.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If blocks are not released after data copying, then data continuity is maintained, but system resources are wasted

Engineering Contradiction:
Improvedata continuityVSAvoidavailable storage blocks
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent ensures continuity of useful action by copying data in the exact programming order recorded in the mapping table. This sequential copying approach maintains logical continuity of data in the destination block while enabling immediate release of source blocks. The method allows the system to continuously reuse released blocks for new writes without interrupting the logical data flow, thus balancing data continuity with resource availability.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS11334480B2Data storage device and non-volatile memory control method
Publication Date: 2022.05.17 SILICON MOTION INC
  • US11334480B2 patent drawing
  • US11334480B2 patent drawing
  • US11334480B2 patent drawing

AI summary

An efficient control technology for non-volatile memory is shown. A non-volatile memory provides a storage space that is divided into blocks. When programming the write data issued by the host to the non-volatile memory, the programming order of the blocks is recorded. Garbage collection is based on the recorded programming order.Sequential data can be collected to the destination block in sequence.