Memory Controller Segmentation for Valid Data Search
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current memory systems face inefficiencies in searching for valid data within non-volatile memory devices, leading to operational complexity and performance degradation, particularly in large-capacity devices, which can interfere with other operations and reduce stability and reliability.
Innovation Solution
The proposed solution involves dividing memory blocks into smaller ranges for efficient data search, using a controller to repeatedly search for valid data in predetermined ranges during idle states, and transferring found data to empty blocks, thereby reducing search time and improving operation stability by managing background operations like garbage collection and wear leveling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If the controller searches for valid data in large-capacity non-volatile memory devices, then the data access capability is improved, but the operational complexity increases and stability deteriorates
Solution Approach 1:
The patent divides the large-capacity non-volatile memory device into multiple smaller memory blocks and further segments each block into pages. The controller maintains a mapping table that divides logical addresses into multiple pages, allowing the search for valid data to be conducted in smaller, manageable units rather than searching the entire large capacity device at once. This segmentation reduces operational complexity while maintaining data access capability.
2Reliability
If the controller performs background operations like garbage collection and wear leveling, then the memory device reliability is improved, but the interference with other operations increases and stability reduces
Solution Approach 1:
The patent performs preliminary actions by maintaining a mapping table that tracks the validity status of each page in advance. Before executing background operations like garbage collection, the controller has already identified valid and invalid pages through the mapping table, allowing for more targeted and less intrusive operations. This preliminary organization reduces interference with other operations while maintaining reliability.
Solution Approach 2:
The patent implements dynamic management of memory blocks by allowing the controller to flexibly select which blocks to perform background operations on based on current system state and workload. The mapping table is dynamically updated as data is written and erased, enabling the controller to adapt background operations to current conditions, thereby reducing operational interference while maintaining reliability.
3Measurement precision
If the controller searches for valid data in all memory blocks, then the completeness of data retrieval is improved, but the search time increases and productivity decreases
Solution Approach 1:
The patent segments the memory device into multiple blocks and pages, with the mapping table tracking each page's validity status independently. This allows the controller to search for valid data in a segmented manner, checking the mapping table to identify only the pages that contain valid data rather than searching all pages in all blocks. This maintains completeness of data retrieval while significantly improving search efficiency.
Solution Approach 2:
The patent extracts the validity information from the actual data storage and stores it separately in the mapping table. This allows the controller to quickly identify valid data locations by consulting the mapping table without having to examine the actual data in each memory block, thereby maintaining completeness of retrieval while improving search productivity.
Data Source
AI summary
A memory system includes a non-volatile memory device including plural memory blocks storing a data; and a controller suitable for increasing a count of blocks to be erasable among the plural memory blocks. The controller can repeatedly search for valid data in a predetermined range of the plural memory blocks during an idle state.


