Memory Controller Garbage Collection Block Selection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing memory systems face challenges in minimizing complexity and performance deterioration while maximizing the use efficiency of memory devices, particularly in selecting optimal memory blocks for data processing to reduce loading and scanning times.

Innovation Solution

A memory system and method that utilize a controller to select source memory blocks with the least loading and scanning times by calculating and registering map data, map segments, and valid addresses, and performing garbage collection operations based on these parameters to optimize data transfer and storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the controller performs garbage collection on all memory blocks sequentially, then all memory blocks are cleaned, but the processing time and system complexity increase significantly

Engineering Contradiction:
Improvememory block cleaning completenessVSAvoidgarbage collection processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The controller pre-calculates and stores map data information (number of map segments, number of valid addresses) for each memory block before garbage collection. This preliminary action allows the controller to identify and prioritize memory blocks that require cleaning, avoiding the need to process all memory blocks equally and thereby reducing overall processing time while ensuring complete cleaning of necessary blocks.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If the controller loads and scans map data for all memory blocks, then accurate garbage collection decisions are made, but the loading and scanning time increase

Engineering Contradiction:
Improvegarbage collection decision accuracyVSAvoidmap data loading and scanning time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The controller applies different processing strategies to different memory blocks based on their specific characteristics. By using pre-stored map data information, the controller can quickly identify memory blocks with high valid address density or specific patterns, focusing detailed map data analysis only where necessary rather than uniformly processing all blocks, thus maintaining decision accuracy while reducing overall time.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

Map data information including the number of map segments and valid addresses is pre-calculated and stored in a data table during normal operation. This preliminary preparation eliminates the need to load and scan complete map data during garbage collection, as the controller can make accurate decisions based on the pre-computed metrics, significantly reducing loading and scanning time.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If detailed map data is stored for all memory blocks, then precise tracking of valid addresses is achieved, but the memory complexity and storage requirements increase

Engineering Contradiction:
Improvevalid address tracking precisionVSAvoiddata table storage complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The controller extracts only the essential information from complete map data and stores it in a compact data table. Specifically, it stores the number of map segments and the number of valid addresses for each memory block, rather than storing the entire map data structure. This extraction approach maintains the precision needed for garbage collection decisions while significantly reducing the storage complexity and memory requirements.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If the controller selects memory blocks based on comprehensive parameters, then the most efficient blocks are chosen, but the calculation and selection complexity increase

Engineering Contradiction:
Improvegarbage collection efficiencyVSAvoidblock selection calculation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The controller uses pre-calculated parameters (number of map segments, number of valid addresses) to represent memory block characteristics. By changing from analyzing complete map data structures to using these aggregated parameters, the controller can efficiently compare and select memory blocks based on simple numerical criteria stored in the data table, thereby improving selection efficiency while reducing calculation and selection complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10635582B2Memory system for selecting source memory block in garbage collection and operating method of the same
Publication Date: 2020.04.28 MIMIRIP LLC
  • US10635582B2 patent drawing
  • US10635582B2 patent drawing
  • US10635582B2 patent drawing

AI summary

A memory system includes: a memory device suitable for including a plurality of pages where data are stored and a plurality of memory blocks including the pages; and a controller suitable for receiving a plurality of commands from a host, performing command operations in response to the commands in the memory blocks, updating map data for the memory blocks according to the command operations being performed, and registering information on the map data in a data table for each of the memory blocks.