Memory Wear Leveling via Erase Count Difference Values
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing memory systems face challenges in extending the lifetime and enhancing the operating performance of memory blocks due to uneven wear patterns, leading to reduced reliability and efficiency.
Innovation Solution
A memory system with a controller that performs wear leveling by maintaining lists of erase count values and difference values across memory blocks, selecting source and target blocks based on these values to balance usage and prevent excessive wear, thereby extending the lifespan of memory blocks.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of stationary object
If wear leveling is performed using only erase count values, then the lifetime of memory blocks can be extended, but the operating performance may deteriorate due to uneven wear patterns and insufficient optimization
Solution Approach 1:
The patent introduces a new parameter (difference value) in addition to the traditional erase count value to characterize wear patterns. By calculating the difference between average erase count and individual block erase counts, the system creates a more refined parameter that enables better block selection for wear leveling operations, thereby improving both lifetime extension and operating performance simultaneously
2Duration of action of stationary object
If data access is evenly distributed across all memory blocks, then the lifetime is extended, but the complexity of the control system increases due to multiple lists and calculations
Solution Approach 1:
The patent divides the wear characterization into two separate segments: erase count values (first list) and difference values (second list). This segmentation allows the controller to handle different aspects of wear independently - the first list tracks overall usage while the second list captures deviation from average, enabling more precise block selection without overwhelming complexity
Data Source
AI summary
A memory system may include a memory device including 0th to N-1th memory blocks, wherein N is a positive integer; and a controller having a first list and a second list, wherein the first list includes 0th to N-1th erase count values respectively for the 0th to N-1th memory blocks, wherein the second list includes 0th to N-1th difference values respectively for the 0th to N-1th memory blocks, wherein each of the 0th to N-1th difference values is a difference between an average value of the 0th to N-1th erase count values and each of the 0th to N-1th erase count values, wherein the controller selects a source block and a target block among the 0th to N-1th memory blocks depending on the 0th to N-1th erase count values included in the first list and the 0th to N-1th difference values included in the second list to perform a wear leveling between the source block and the target block.


