Memory Block Classification for Reducing Copy Frequency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing semiconductor storage systems face inefficiencies in block management and mergence processes, particularly due to the inefficiency of the block mapping method during overwrite operations and the need for frequent allocation of new buffer blocks, which deteriorates performance and resource utilization.
Innovation Solution
A semiconductor storage system that classifies memory blocks into data and buffer blocks and compares the number of free and valid pages to select the target block for mergence, allowing for interactive data movement between blocks and optimizing the allocation of space, thereby reducing the frequency of copy operations and improving resource efficiency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If the block mapping method is used to reduce mapping storage capacity, then the mapping storage capacity is reduced, but the overwrite process becomes inefficient
Solution Approach 1:
The memory block is segmented into data block and buffer block, with separate management strategies for each. The data block stores actual data while the buffer block handles mapping and overwrite operations, allowing efficient overwriting without sacrificing mapping storage capacity reduction
Solution Approach 2:
The buffer block acts as an intermediary between the host and data block. During overwrite operations, data is first written to the buffer block which then merges with the data block, enabling efficient overwrite processing while maintaining reduced mapping storage capacity
2Adaptability or versatility
If a new buffer block is allocated frequently during overwrite operations, then the overwrite capability is maintained, but the performance deteriorates
Solution Approach 1:
The buffer block is pre-allocated and prepared before overwrite operations begin. The buffer block is initially empty and ready to receive data, eliminating the need for frequent reallocation during overwrite operations and maintaining high performance
Solution Approach 2:
The buffer block serves multiple functions: it acts as a temporary storage during overwrite operations, a merging target for data consolidation, and a buffer for managing free pages. This multi-functionality maintains overwrite capability without requiring frequent new allocations
3Ease of operation
If the buffer block is always used as the merging target, then the overwrite process is simplified, but the resource utilization becomes inefficient
Solution Approach 1:
The merging target is dynamically selected based on the current state of blocks. The controller compares the number of free pages with valid pages to determine whether to use the data block or buffer block as the merging target, optimizing resource utilization while maintaining operational simplicity
Solution Approach 2:
The decision criterion for merging target selection is based on parameter comparison (free pages vs. valid pages). When free pages >= valid pages, the data block is used as target; otherwise, the buffer block is used. This parameter-based dynamic selection optimizes resource utilization
4Productivity
If the data block is used as the merged target when free pages are sufficient, then the copy frequency is reduced, but the control complexity increases
Solution Approach 1:
The controller continuously monitors and compares the number of free pages in the data block with the number of valid pages in the buffer block. This feedback mechanism enables automatic decision-making on merging target selection, reducing copy frequency while maintaining manageable control complexity through algorithmic automation
Data Source
AI summary
A semiconductor storage system includes a memory controller that classifies a memory block of a memory area into a data block and a buffer block. The buffer block corresponds to the data block. The memory controller compares the number of free pages of both the data block and the buffer block with the number of valid pages of the data block and the buffer block during mergence in order to select the merged target block. Depending on the result of the comparison, either the data block or the buffer block is selected as the merged target block.


