Dynamic SLC to MLC Memory Page Conversion for Capacity and Speed Trade-offs

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Speed

If SLC storage is used, then access performance is improved, but storage capacity is restricted

Engineering Contradiction:
Improveaccess performanceVSAvoidstorage capacity
Core Design Contradiction:
SpeedVSQuantity of substance

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If MLC storage is used, then storage capacity is improved, but access performance is reduced

Engineering Contradiction:
Improvestorage capacityVSAvoidaccess performance
Core Design Contradiction:
Quantity of substanceVSSpeed

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improveflexibility in meeting requirementsVSAvoidaccess performance
Core Design Contradiction:
Adaptability or versatilityVSSpeed

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS10310971B2Method and apparatus for processing memory page in memory
Publication Date: 2019.06.04 HUAWEI TECH CO LTD
  • US10310971B2 patent drawing
  • US10310971B2 patent drawing
  • US10310971B2 patent drawing

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.