Memory Controller Allocation of Swap Data to SLC Cells
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The high cost of host memory, such as DRAM, and the need for additional storage capacity is addressed by utilizing external memory, like SSDs, which require efficient management to optimize performance and longevity.
Innovation Solution
A memory system with a memory controller that differentiates between user data and swap data, using single-level cells (SLC) for swap data to ensure longevity and multi-level cells (MLC, TLC, QLC) for user data, with a logical to physical address mapping and cycle time monitoring to extend the lifespan of memory cells.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If external memory is used to supplement host memory capacity, then storage capacity is improved, but memory cell lifespan deteriorates due to frequent swap operations
Solution Approach 1:
The memory device is divided into two distinct memory regions: first memory cells for storing user data and second memory cells for storing swap data. This segmentation allows differential management strategies to be applied to each region, protecting the lifespan of swap data storage while maintaining adequate storage capacity.
Solution Approach 2:
Different quality levels of memory cells are assigned to different data types: SLC (single-level cell) memory is used for swap data requiring high durability and frequent access, while MLC/TLC/QLC (multi-level cell) memory is used for user data where capacity is prioritized. This local quality differentiation resolves the contradiction by matching memory characteristics to operational requirements.
2Duration of action of stationary object
If SLC memory cells are used for swap data, then memory lifespan is improved, but device complexity increases
Solution Approach 1:
The memory controller automatically monitors cycle times of second memory cells and performs wear leveling operations without host intervention. The system self-manages the complexity of tracking and protecting SLC memory lifespan through automated cycle counting and adaptive data placement, reducing the perceived complexity for users while maintaining high durability.
Solution Approach 2:
The memory management system dynamically adjusts data placement between first and second memory cells based on real-time cycle time monitoring. When second memory cells approach their lifespan threshold, the system dynamically redirects swap data to first memory cells, creating a flexible, adaptive system that manages complexity through runtime adjustments rather than static configuration.
3Reliability
If cycle time monitoring is implemented, then memory reliability is improved, but processing overhead increases
Solution Approach 1:
The memory controller implements periodic cycle time monitoring at predetermined intervals rather than continuous monitoring. This periodic approach maintains reliability by regularly checking second memory cell status while reducing processing overhead and energy consumption by allowing the system to operate efficiently between monitoring cycles.
Solution Approach 2:
The system uses MLC/TLC/QLC first memory cells as a sacrificial buffer that can be more heavily utilized and rewritten. These cells serve as a cheaper, shorter-lived alternative that protects the more expensive, longer-lived SLC second memory cells from excessive wear, effectively using disposable resources to preserve valuable ones.
Data Source
Figure 1
Figure 2A~2B
Figure 3
AI summary
In certain aspects, a memory system includes a memory system, coupled to a host memory, comprising a memory device, comprising first memory cells and second memory cells; a memory controller, coupled to a host and the memory device, configured to write a first data to the first memory cells and/or a second data to the second memory cells, wherein the first data comprises user data, and the second data comprises swap data from the host memory.