Dynamic SLC to MLC Memory Page Conversion for Capacity and Speed Trade-offs
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional DRAM memory faces challenges with high energy consumption and limited capacity expansion, while phase change memory (PCM) offers low energy consumption and large capacity but struggles to balance access performance and storage capacity between single-level cell (SLC) and multi-level cell (MLC) storage modes.
Innovation Solution
A method and apparatus that dynamically convert idle SLC memory pages to MLC memory pages when the number of idle SLC pages falls below a threshold, copying data from inactive SLC pages to the converted MLC pages, releasing storage space, and reallocating memory pages to optimize access performance and storage capacity by utilizing high-performance SLC for frequently accessed data and large-capacity MLC for less frequently accessed data.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If SLC storage is used, then access performance is improved, but storage capacity is restricted
Solution Approach 1:
The memory storage is segmented into different types (SLC and MLC) with distinct characteristics. SLC is used for high-performance access while MLC provides additional storage capacity. The system manages both types through separate data structures and allocation mechanisms, allowing each to serve its optimal purpose without compromising the other.
Solution Approach 2:
Different regions of the memory system are assigned different storage qualities based on access patterns. Frequently accessed data resides in SLC for optimal performance, while less frequently accessed data utilizes MLC for expanded capacity. The system dynamically determines which data goes where based on access frequency and importance.
2Quantity of substance
If MLC storage is used, then storage capacity is improved, but access performance is reduced
Solution Approach 1:
The memory system divides storage into SLC and MLC segments, assigning SLC for performance-critical data and MLC for capacity requirements. This segmentation allows the system to achieve both high access performance for active data and large storage capacity for less critical data.
Solution Approach 2:
The system applies different storage qualities to different data based on their access characteristics. High-performance SLC is localized to frequently accessed data, while MLC is used for data where capacity is more important than speed, optimizing the overall system performance.
3Adaptability or versatility
If both SLC and MLC are set according to preset proportion, then access performance and storage capacity requirements are met, but optimal access performance and relatively large storage capacity cannot be obtained
Solution Approach 1:
The system dynamically adjusts the proportion of SLC and MLC based on actual access patterns and workload requirements. Rather than using a fixed preset proportion, the system monitors access frequency and reallocates data between SLC and MLC to optimize performance while maintaining adequate capacity.
Solution Approach 2:
The system changes the allocation parameters of SLC and MLC based on runtime conditions. Access frequency, data importance, and system workload are used as parameters to dynamically adjust the balance between performance and capacity, allowing the system to adapt to varying requirements.
Data Source
AI summary
A method for processing a memory page in memory, where the memory page in the memory includes an idle single-level cell (SLC) memory page, an active SLC memory page, an inactive SLC memory page, and a multi-level cell (MLC) memory page, and when a quantity of idle SLC memory pages of any virtual machine (VM) is less than a specified threshold, the processing method includes converting one idle SLC memory page to two MLC memory pages, copying data in two inactive SLC memory pages to the two converted MLC memory pages, and releasing storage space of the two inactive SLC memory pages to obtain two idle SLC memory pages.


