Memory Controller Garbage Collection via Dedicated Volatile Memory Sub-Regions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory devices face performance issues during garbage collection (GC) due to excessive time spent on internal operations, leading to reduced overall performance, and proposed solutions often introduce side effects.

Innovation Solution

A method for GC management in memory devices using dedicated information control, where the memory controller divides volatile memory into sub-regions corresponding to multiple NV memory elements, selects source blocks, reads address mapping tables, and performs GC operations in parallel to optimize performance without introducing side effects.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If the memory controller performs garbage collection operations sequentially on multiple NV memory elements, then the control logic is simplified, but the garbage collection performance deteriorates due to excessive time spent on internal operations

Engineering Contradiction:
Improvecontrol logic complexityVSAvoidgarbage collection performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The patent divides the garbage collection process into separate channels, with each channel dedicated to a specific NV memory element. The memory controller is segmented into multiple channels that can independently perform GC operations simultaneously, thereby improving overall GC performance without significantly increasing control logic complexity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a channel dimension to the garbage collection process. Instead of performing GC operations sequentially in time, the system utilizes multiple parallel channels to perform GC operations simultaneously, effectively adding a spatial dimension (channel multiplexing) to the previously temporal process.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Use of energy by moving object

If the memory controller performs internal operations during host access, then resource utilization is improved, but the overall performance deteriorates due to excessive time spent on internal operations

Engineering Contradiction:
Improveresource utilizationVSAvoidoverall performance
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The patent segments the memory controller into multiple independent channels, each capable of handling host access and garbage collection operations separately. This segmentation allows the system to perform internal GC operations concurrently with host access in different channels, improving resource utilization without degrading overall performance.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent ensures continuous useful action by allowing garbage collection operations to proceed concurrently with host access operations through channel multiplexing. Instead of pausing host access to perform GC, the system maintains continuous host access in one channel while performing GC in another channel, thereby maintaining high resource utilization and overall performance.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS20240411689A1Method for performing garbage collection management of memory device with aid of dedicated information control, memory controller, memory device and electronic device
Publication Date: 2024.12.12 SILICON MOTION INC
  • US20240411689A1 patent drawing
  • US20240411689A1 patent drawing
  • US20240411689A1 patent drawing

AI summary

A method for performing garbage collection (GC) management of a memory device with aid of dedicated information control and associated apparatus are provided. The method may include: receiving at least one first command, and performing at least one accessing operation on a non-volatile (NV) memory according to the at least one first command; and executing a GC procedure to start performing GC on the NV memory, for example: dividing a memory region of a volatile memory into multiple sub-regions to be multiple dedicated memory regions; selecting multiple source blocks; comparing address mapping tables to generate and store valid-data location information in the multiple dedicated memory regions, respectively; and performing multiple GC operations according to the valid-data location information respectively stored in the multiple dedicated memory regions.