Flash Memory Block Management with Hot and Cold Data Sorting
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory systems face inefficiencies in handling short random writes into large blocks, leading to performance degradation and increased write amplification due to the mismatch between block size and logical sector allocation, which results in frequent relocations and garbage collection, ultimately affecting data access and storage efficiency.
Innovation Solution
A non-volatile memory system that sorts data units based on their 'temperature' or likelihood of rewrites, separating them into Single-Level Cell (SLC) and Multi-Level Cell (MLC) portions and operating streams, allowing for appropriate handling and minimizing rewrites by relocating data with lower rewrite probabilities to higher density storage.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If flash memory uses large block sizes for storage, then storage capacity and density are improved, but write performance degrades and write amplification increases due to frequent relocations and garbage collection
Solution Approach 1:
The patent divides the flash memory storage into multiple partitions (SLC partition and MLC partition) with different storage characteristics. The SLC partition handles hot data with frequent writes using single-level cell memory, while the MLC partition stores cold data with fewer writes using multi-level cell memory. This segmentation allows each partition to be optimized for its specific workload, reducing write amplification and improving overall write performance while maintaining high storage capacity.
Solution Approach 2:
The patent applies different storage technologies (SLC vs MLC) to different portions of the memory based on data characteristics. Hot data that requires frequent updates is stored in the SLC partition with faster write performance, while cold data is stored in the MLC partition with higher density. This local quality approach ensures that each data type receives the appropriate storage treatment, optimizing both performance and capacity.
2Device complexity
If flash memory uses uniform block management for all data, then device complexity is reduced, but data access efficiency decreases due to mixing hot and cold data
Solution Approach 1:
The patent segments the memory into distinct partitions (SLC and MLC) that handle different data types separately. This segmentation simplifies the management logic within each partition while improving overall data access efficiency by ensuring that hot and cold data are handled according to their specific requirements, rather than using a single complex uniform management approach.
Solution Approach 2:
The patent implements dynamic data classification and routing based on data characteristics. The system dynamically determines whether data should be stored in the SLC or MLC partition based on write frequency and access patterns. This dynamic approach optimizes data access efficiency while maintaining manageable complexity through automated classification rather than manual configuration.
3Reliability
If flash memory performs frequent garbage collection operations, then storage reliability is maintained, but write amplification increases and memory lifespan decreases
Solution Approach 1:
The patent divides data into hot and cold categories stored in separate partitions, which reduces the frequency and scope of garbage collection operations. By isolating hot data in the SLC partition that undergoes fewer relocations, the system maintains storage reliability while significantly reducing write amplification and extending memory lifespan through less intensive garbage collection.
Solution Approach 2:
The patent extracts hot data with frequent write patterns from the general storage pool and places it in a dedicated SLC partition. This extraction allows the system to maintain reliability for frequently accessed data while reducing the overall garbage collection burden on the memory system, thereby extending lifespan.
Data Source
AI summary
A non-volatile memory organized into flash erasable blocks sorts units of data according to a temperature assigned to each unit of data, where a higher temperature indicates a higher probability that the unit of data will suffer subsequent rewrites due to garbage collection operations. The units of data either come from a host write or from a relocation operation. The data are sorted either for storing into different storage portions, such as SLC and MLC, or into different operating streams, depending on their temperatures. This allows data of similar temperature to be dealt with in a manner appropriate for its temperature in order to minimize rewrites. Examples of a unit of data include a logical group and a block.


