Memory Controller Background Block Reclaim for Sustained Write Speed
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage apparatuses face challenges in maintaining high write performance due to the limited availability of high-speed program regions, necessitating efficient management of memory blocks to ensure continuous operation.
Innovation Solution
A memory controller that manages a storage medium with a first memory region for high-speed programming and a second memory region for high-density programming, utilizing a background operation to convert open blocks into free blocks, thereby ensuring a continuous supply of high-speed program regions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If a programming method that primarily programs data in a high-speed program region and then programs the primarily programmed data in a high-density program region is used, then write performance is enhanced, but the availability of high-speed program regions is limited
Solution Approach 1:
The background operation manager performs preliminary actions by executing background operations to generate free blocks in the high-speed program region before write requests arrive. This ensures that high-speed program regions are prepared in advance, maintaining both high write performance and continuous availability of high-speed programming capacity.
Solution Approach 2:
The system maintains continuous availability of high-speed program regions by continuously executing background operations that generate free blocks. The background operation manager operates continuously to ensure that when write requests occur, high-speed program regions are immediately available, thus maintaining uninterrupted high-performance writing capability.
2Quantity of substance
If background operations are executed to generate free blocks, then availability of high-speed program regions is improved, but processing time is increased
Solution Approach 1:
Background operations are executed in advance to generate free blocks before actual write requests occur. This preliminary action ensures that high-speed program regions are ready when needed, reducing waiting time during write operations while the background operations run during low-activity periods.
Solution Approach 2:
The background operation manager executes background operations periodically or in intervals rather than continuously. This periodic execution allows the system to maintain availability of high-speed program regions while minimizing the impact on overall processing time by utilizing idle periods between write requests.
3Quantity of substance
If victim blocks are moved to open blocks to close open blocks, then free blocks are generated for high-speed programming, but data movement operations are required
Solution Approach 1:
The background operation manager autonomously identifies victim blocks and performs data movement operations to generate free blocks without requiring external intervention. The system self-manages the complexity of data movement by automatically selecting appropriate victim blocks and executing the necessary operations to maintain the availability of high-speed program regions.
Solution Approach 2:
The background operation manager acts as an intermediary that handles the complex data movement operations between victim blocks and open blocks. This intermediary component abstracts the complexity of data movement from the main write operations, managing block relocation and free block generation as a separate control function.
Data Source
AI summary
A memory controller controls a storage medium including a first memory region and a second memory region, each of which has a plurality of memory blocks. The memory controller is configured to close an open block in the second memory region when a background operation is performed. The memory controller is configured to move data of at least one victim block of the first memory region and the second memory region, and erase the at least one victim block to generate at least one free block.


