Dual-Layer Solid State Memory for Hot and Cold Data Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Solid state drives (SSDs) based on multi-level cell (MLC) flash memory suffer from slow random write speeds, which is exacerbated by using both lower capacity single-level cell (SLC) and higher capacity MLC memory banks, necessitating a solution to optimize data storage based on access frequency.
Innovation Solution
Implementing a dual-layer memory system with a high-speed SLC memory layer for frequently accessed 'hot' data and a low-speed MLC memory layer for less frequently accessed 'cold' data, with a memory controller that assesses data to migrate it between layers based on usage patterns.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If MLC flash memory is used to increase storage capacity, then storage capacity is improved, but random write speed deteriorates
Solution Approach 1:
The patent divides the flash memory into two separate memory banks: SLC memory bank for hot data and MLC memory bank for cold data. This segmentation allows each memory type to be optimized for its specific function, with SLC providing fast write speeds for frequently accessed data and MLC providing high capacity for less frequently accessed data, thereby resolving the contradiction between capacity and write speed.
Solution Approach 2:
The patent applies different quality characteristics to different parts of the storage system by storing hot data in SLC memory with superior write performance and cold data in MLC memory with higher capacity. This local differentiation of quality allows the system to achieve both high capacity and fast write speeds in appropriate locations, resolving the overall contradiction.
2Speed
If SLC memory banks are added to improve random write speed, then write speed is improved, but device complexity increases
Solution Approach 1:
The patent makes the memory controller universal by enabling it to manage both SLC and MLC memory banks, assess data temperature, and automatically migrate data between banks. This multi-functionality allows a single controller to handle the complexity of dual memory bank management, thereby improving write speed without proportionally increasing device complexity.
Solution Approach 2:
The system implements self-service through automatic data assessment and migration mechanisms. The memory controller automatically identifies hot and cold data, decides which bank should store which data, and performs migrations without external intervention. This self-managing capability reduces the operational complexity burden on the user and simplifies the effective device complexity.
3Speed
If data is stored in high-speed SLC memory layer, then data accessibility is improved, but storage capacity is reduced
Solution Approach 1:
The patent implements dynamic data placement and migration between SLC and MLC memory banks based on data temperature assessment. Data that becomes cold can be migrated from SLC to MLC, freeing up SLC capacity for new hot data while maintaining high accessibility for currently hot data. This dynamic adaptation allows the system to optimize the balance between accessibility and capacity over time.
Solution Approach 2:
The system performs preliminary assessment of data temperature upon data arrival and makes proactive decisions about data placement before access patterns are fully established. This preliminary action allows optimal initial placement of data in the appropriate memory bank, maximizing accessibility for hot data while preserving capacity in the high-speed layer.
Data Source
AI summary
In one aspect, data is stored in a solid state memory which includes first and second memory layers. A first assessment is executed to determine whether received data is hot data or cold data. Received data which is assessed as hot data during the first assessment is stored in the first memory layer, and received data which is first assessed as cold data during the first assessment is stored in the second memory layer. Further, a second assessment is executed to determine whether the data stored in the first memory layer is hot data or cold data. Data which is then assessed as cold data during the second assessment is migrated from the first memory layer to the second memory layer.


