Wear Leveling for Mixed SLC MLC Flash Memory Blocks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-volatile memory devices, particularly flash memory systems, face uneven wear due to differences in programming and erase cycles between single level and multi level memory cell blocks, leading to reduced lifespan and potential system failure, as multi level memory cells wear out faster than single level cells.
Innovation Solution
A wear leveling method is implemented by calculating an average erase point and usage points for both single level and multi level memory cell blocks, determining a wear value, and performing a wear leveling operation when this value exceeds a threshold, which involves changing the mapping relationship between logical block addresses and physical memory cell locations to distribute wear evenly across the memory system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If multi level memory cell blocks are used to increase storage capacity, then storage capacity is improved, but write speed deteriorates
Solution Approach 1:
The memory system is divided into multiple memory blocks with different characteristics (fast blocks and slow blocks). Fast blocks use single level memory cells for high-speed writes, while slow blocks use multi level memory cells for high capacity. This segmentation allows the system to simultaneously achieve both high storage capacity and high write speed by directing different types of data to appropriate blocks.
2Quantity of substance
If multi level memory cell blocks are used to double storage capacity, then storage capacity is improved, but program/erase cycle lifespan deteriorates
Solution Approach 1:
The system merges fast blocks and slow blocks into a unified memory system managed by a single controller. The controller dynamically allocates write operations between fast and slow blocks based on data characteristics and wear levels. This merging allows the system to leverage the high capacity of slow blocks while using fast blocks for operations requiring fewer program/erase cycles, thereby extending the overall system lifespan.
Solution Approach 2:
The controller monitors and adjusts the usage parameters of different memory blocks dynamically. When slow blocks approach their program/erase cycle limits, the system transitions to using fast blocks for new writes. This parameter change in block selection based on wear state ensures that the system maintains optimal performance and extends the operational lifespan by preventing any single block from being overused.
3Ease of operation
If wear leveling is not performed, then operational simplicity is maintained, but memory block reliability deteriorates due to uneven wear
Solution Approach 1:
The controller implements a feedback mechanism that continuously monitors the program/erase cycle counts and wear states of all memory blocks. Based on this feedback, the controller dynamically adjusts the allocation of write operations to balance wear across blocks. This feedback-driven approach maintains reliability by preventing any single block from being overused, while keeping the operation transparent to the host system.
Solution Approach 2:
The wear leveling mechanism dynamically adapts the mapping between logical block addresses and physical memory blocks based on real-time wear conditions. When certain blocks approach their lifespan limits, the system dynamically redirects writes to less-worn blocks. This dynamic adjustment ensures even wear distribution and maintains system reliability without requiring complex manual intervention.
Data Source
AI summary
A method of executing a wear leveling operation within a non-volatile memory including a single-level memory cell block (SLC) and a multi-level memory cell block (MLC) is disclosed. The method includes calculating an average erase point in relation to a number of programming/erase (P/E) operations applied to a logical block address (LBA), a SLC mode usage point in relation to a number of the P/E operations applied to the SLC, a MLC mode usage point in relation to a number of the P/E operations applied to the MLC, and a wear value in relation to the average erase point, the SLC mode usage point, and the MLC mode usage point; and then if the wear value exceeds a defined threshold value, performing the wear leveling operation.


