Memory Controller Block Thread Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In memory systems with non-volatile memory, the ratio of data written to the memory system compared to data written from a host is higher than desired, leading to inefficiencies due to the need for garbage collection and management of blocks, which results in a lack of free blocks for new data storage.
Innovation Solution
The memory system employs a controller that manages blocks into threads, performs garbage collection within each thread, and dynamically adjusts the over-provisioning capacity to minimize the number of blocks in use, thereby reducing the write ratio by distributing free blocks across threads and optimizing data storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If garbage collection is performed to manage blocks in non-volatile memory, then data storage reliability is improved, but the write ratio increases and system efficiency deteriorates
Solution Approach 1:
The memory system divides blocks into multiple threads (first thread, second thread, etc.) and performs garbage collection independently in each thread. This segmentation allows parallel processing of garbage collection operations, reducing the overall impact on system efficiency while maintaining data storage reliability through systematic block management.
Solution Approach 2:
The system dynamically adjusts the number of blocks allocated to each thread based on usage patterns and garbage collection needs. By adaptively managing block distribution across threads, the system optimizes the balance between maintaining reliable data storage and minimizing the write ratio impact on overall system productivity.
2Quantity of substance
If the number of blocks in use is increased to store more data, then storage capacity is improved, but the number of free blocks decreases leading to higher write ratios
Solution Approach 1:
Blocks are segmented into multiple threads, allowing the system to track and manage free blocks within each thread independently. This enables more efficient utilization of total storage capacity while maintaining adequate free blocks in each thread to minimize the write ratio and improve system productivity.
Solution Approach 2:
The system changes the parameter of block allocation by dynamically adjusting the number of blocks in use versus free blocks across different threads. This adaptive parameter adjustment allows optimization of both storage capacity utilization and write ratio management simultaneously.
Data Source
AI summary
According to one embodiment, a memory system includes a memory and a controller. The memory includes a plurality of blocks. The controller receives a first data group and a second data group from a host. The controller stores the first data group to a first block group, and stores the second data group to a second block group. The first block group includes one or more first blocks among the plurality of blocks. The second block group includes one or more second blocks among the plurality of blocks. The controller controls the number of first blocks so that the number of the first blocks is not more than a first value, and the controller controls the number of second blocks so that the number of the second blocks is not more than a second value.


