Memory Controller Garbage Collection via Logical Address Group Mapping
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing memory systems face performance degradation due to increased resource consumption and operation time during garbage collection, especially when multiple host devices with different workload characteristics share the same memory block, leading to increased instances of valid and invalid data coexistence.
Innovation Solution
The proposed memory system employs a controller to select a victim super block and target super blocks, mapping logical address groups to these blocks and optimizing the backup order to reduce the number of garbage collection operations and improve efficiency by distributing valid data across multiple target blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple host devices share the same memory block, then memory system adaptability is improved, but resource consumption and operation time during garbage collection increase
Solution Approach 1:
The memory blocks are divided into multiple sub-blocks, and the garbage collection process is segmented into multiple stages. Instead of collecting garbage from all host devices simultaneously in a single block, the system processes different sub-blocks in different stages, distributing the garbage collection workload over time and reducing the operation time for each individual garbage collection event.
Solution Approach 2:
The garbage collection process is made dynamic by adjusting the collection strategy based on the workload characteristics of different host devices. The system dynamically selects which sub-blocks to collect from at each stage based on the current state of valid and invalid data, optimizing the garbage collection process adaptability while managing operation time.
2Adaptability or versatility
If multiple host devices share the same memory block, then memory system adaptability is improved, but resource consumption during garbage collection increases
Solution Approach 1:
By segmenting the garbage collection process into multiple stages across different sub-blocks, the system reduces the peak resource consumption. Instead of simultaneously managing valid and invalid data from multiple host devices in a single block requiring high resources, each stage processes a smaller subset, reducing overall resource consumption while maintaining adaptability.
3Adaptability or versatility
If valid and invalid data coexist in the same memory block, then memory system flexibility is improved, but garbage collection operation frequency increases
Solution Approach 1:
The memory block is divided into sub-blocks that can independently manage valid and invalid data. This segmentation allows the system to maintain flexibility by having different coexistence patterns in different sub-blocks, while reducing garbage collection frequency because each sub-block can be optimized independently and doesn't require full-block garbage collection operations.
Solution Approach 2:
The system performs partial garbage collection on specific sub-blocks rather than entire blocks. By applying garbage collection only where needed (partial action) based on the distribution of valid and invalid data, the system reduces the overall operation frequency while maintaining the flexibility to allow valid and invalid data coexistence in other sub-blocks.
4Adaptability or versatility
If valid and invalid data coexist in the same memory block, then memory system flexibility is improved, but garbage collection duration increases
Solution Approach 1:
By segmenting the memory block into sub-blocks, the garbage collection duration is reduced because each stage processes only a portion of the total data. The flexibility to allow valid and invalid data coexistence is maintained at the sub-block level, enabling parallel or sequential processing that shortens overall garbage collection duration compared to processing entire blocks.
Data Source
AI summary
Provided is an operating method of a memory system including a plurality of logical address groups each having a preset logical address range. The operation method may include: selecting a victim block; selecting a plurality of target blocks among empty blocks; mapping at least one logical address group of the logical address groups to each of the target blocks; determining a first logical address group including a logical address of first valid data stored in the victim block, among the logical address groups; and backing up the first valid data into a first target block mapped to the first logical address group among the target blocks.


