Memory Controller Map Segment Segmentation for Garbage Collection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory systems face complexity and performance deterioration due to the need for efficient data processing and storage in portable electronic devices, which requires minimizing complexity and maximizing efficiency while ensuring rapid and reliable data processing.
Innovation Solution
A memory system comprising a memory device with multiple blocks and a controller that selects source and target memory blocks, loads and updates map segments, determines valid pages, and stores data, optimizing data transfer and storage efficiency by using map data to manage data segments and pages effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If map data is loaded and updated for all pages in memory blocks, then data storage reliability is improved, but device complexity increases due to the need to manage map segments and valid page determination
Solution Approach 1:
The patent divides map data into map segments corresponding to different page ranges within memory blocks. This segmentation allows the controller to manage and process only relevant portions of map data rather than loading entire map tables, reducing memory usage and operational complexity while maintaining reliable tracking of valid pages across all blocks.
Solution Approach 2:
The controller performs partial actions by determining valid pages only for specific page ranges indicated by map segments rather than processing all pages in memory blocks. This selective approach reduces the computational burden and memory requirements while ensuring sufficient reliability for data storage operations.
2Speed
If map segments are loaded on memory for determining valid pages, then data processing speed is improved, but memory resource consumption increases
Solution Approach 1:
Map data is divided into multiple map segments, each covering specific page ranges. The controller loads only the necessary map segments into memory when processing particular memory blocks, rather than loading all map data. This segmentation strategy enables fast valid page determination for current operations while minimizing memory resource consumption by loading only relevant portions.
Solution Approach 2:
The controller loads map segments into memory in advance of needing them for valid page determination. By having map segments pre-loaded in memory rather than accessing them from storage during processing, the system achieves fast data processing speeds for determining valid pages without requiring excessive memory resources, as only needed segments are loaded.
3Productivity
If valid pages are determined through map segments, then garbage collection efficiency is improved, but processing time increases due to multiple loading and updating steps
Solution Approach 1:
The patent implements segmentation of map data into map segments that correspond to specific page ranges. This allows the controller to determine valid pages efficiently by processing only relevant map segments during garbage collection operations, improving garbage collection efficiency by focusing on specific blocks and pages rather than processing entire memory structures.
Solution Approach 2:
The controller performs partial processing by determining valid pages only for the specific page ranges covered by loaded map segments, rather than processing all pages in the memory device. This partial action approach improves garbage collection efficiency for active data while minimizing processing time by avoiding unnecessary operations on already-processed or irrelevant pages.
Data Source
AI summary
A memory system includes: a memory device including a plurality of memory blocks; and a controller including a memory, the controller being suitable for: selecting a source memory block and a target memory block among the plurality of memory blocks; loading map segments of map data for the source memory block on the memory; determining valid pages, among a plurality of pages included in the source memory block, through the map segments; loading valid data stored in the valid pages on the memory; updating map data for the valid data; and storing the valid data and the updated map data in a plurality of pages included in the target memory block.


