Hybrid SLC MLC Memory Block Management
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory systems, particularly Flash devices, face challenges in managing memory blocks efficiently, as the allocation of spare blocks between high-density and low-density areas can lead to insufficient spare blocks in the high-density area, causing performance degradation and potential data loss due to faulty blocks, and existing block compaction processes lack optimal criteria for selecting candidate blocks for compaction.
Innovation Solution
The method involves partitioning memory into Single-Level Cell (SLC) and Multi-Level Cell (MLC) areas, where spare blocks are allocated predominantly in the SLC area to maintain high throughput and endurance, and a compaction process is implemented with criteria such as selecting the least-recently programmed blocks or considering the number of write operations in the MLC area to efficiently manage and replace faulty blocks, ensuring sufficient spare blocks in both areas.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If spare blocks are allocated predominantly in the MLC area to maximize storage density, then storage capacity is improved, but the number of spare blocks becomes insufficient leading to performance degradation and potential data loss
Solution Approach 1:
The memory system is segmented into SLC and MLC areas with different spare block allocation strategies. The SLC area receives predominant spare block allocation to ensure reliability, while the MLC area maintains sufficient spare blocks through dynamic management. This segmentation resolves the contradiction by allowing high storage density in MLC while ensuring spare block availability through SLC's higher reliability characteristics.
Solution Approach 2:
The system dynamically changes the number of spare blocks allocated to each area based on operational conditions. When MLC spare blocks fall below a threshold, the system adjusts allocation by copying data from MLC to SLC and converting MLC blocks to spare blocks. This parameter adjustment resolves the contradiction between maintaining storage capacity and ensuring sufficient spare blocks for reliability.
2Reliability
If data is copied from MLC to SLC to increase spare blocks in MLC, then spare block availability is improved, but storage density decreases due to lower SLC capacity
Solution Approach 1:
Instead of copying all data or maintaining equal spare block distribution, the system performs partial action by copying only sufficient data to restore MLC spare blocks to the threshold level. This partial action resolves the contradiction by improving spare block availability just enough without excessively reducing storage density in the MLC area.
Solution Approach 2:
The system uses data copying from MLC to SLC as a mechanism to convert MLC blocks into spare blocks. This copying operation temporarily reduces SLC storage density but restores MLC spare block availability. The process is reversible and controlled, allowing the system to balance between storage density and spare block availability as needed.
3Reliability
If block compaction is performed frequently to manage faulty blocks, then reliability is improved, but write operations increase causing performance degradation
Solution Approach 1:
The system performs preliminary actions by pre-allocating spare blocks in the SLC area and establishing compaction triggers based on threshold levels. When MLC spare blocks approach the threshold, the system proactively copies data and converts blocks to spare status before faults occur. This preliminary action reduces the frequency and intensity of compaction operations, resolving the contradiction between reliability maintenance and performance preservation.
4Productivity
If the SLC area is used extensively for caching to improve throughput, then productivity is improved, but the number of available blocks for compaction decreases
Solution Approach 1:
The SLC area serves multiple functions: it acts as a high-performance cache for improving throughput and simultaneously serves as a reservoir for spare blocks to ensure reliability. The system dynamically manages the SLC area to fulfill both roles, allowing it to function as caching storage when performance is prioritized and as spare block storage when reliability is prioritized. This multi-functionality resolves the contradiction between productivity improvement and maintaining sufficient blocks for compaction.
Data Source
AI summary
A method for data storage includes storing data in a memory including multiple analog memory cells arranged in blocks. A first subset of the blocks is defined for storing first data with a first storage density, and a second subset of the blocks is defined for storing second data with a second storage density, larger than the first storage density. In each of the first and second subsets, one or more blocks are allocated to serve as spare blocks and blocks that become faulty are replaced with the spare blocks. Upon detecting that a number of the spare blocks in the second subset has decreased below a predefined threshold, the data is copied from at least one block in the second subset to the first subset, and the at least one block is added to the spare blocks of the second subset.


