Flash Memory Wear-Leveling via Cross-Unit Spare Block Exchange
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional wear-leveling techniques in flash memory modules only manage blocks within individual management units separately, leading to uneven erase counts across different management units, resulting in potential programming errors when block erase counts exceed thresholds.
Innovation Solution
A memory module with a controller that exchanges spare blocks between management units based on erase counts, directing blocks with high erase counts from one unit to blocks with lower erase counts in another unit to balance wear-leveling across units.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If conventional wear-leveling manages blocks within individual management units separately, then management simplicity is improved, but erase count uniformity deteriorates
Solution Approach 1:
The patent merges the wear-leveling scope from individual management units to the entire flash memory device level. The controller maintains a device-wide wear-leveling table that tracks erase counts across all management units and performs cross-unit block allocation, thereby combining previously separate management operations into a unified system that achieves both simplicity and uniformity.
Solution Approach 2:
The patent introduces a device-wide wear-leveling table as an intermediary data structure that mediates between multiple management units. This table stores and compares erase counts from different management units, enabling the controller to make informed decisions about block allocation across units while maintaining individual unit management simplicity.
2Productivity
If blocks are frequently programmed in high-erase-count management units, then data storage capability is improved, but programming accuracy deteriorates
Solution Approach 1:
The patent performs preliminary wear-leveling assessment by checking the erase counts in the wear-leveling table before allocating blocks for programming. The controller proactively identifies management units with lower erase counts and directs new data to those units, preventing high-erase-count units from receiving additional programming operations that would compromise accuracy.
Solution Approach 2:
The patent implements a feedback mechanism where the controller continuously monitors erase counts stored in the wear-leveling table and uses this information to dynamically adjust block allocation decisions. The system reads erase count data, compares it against thresholds, and provides feedback to the block selection process, ensuring data is always programmed in units with acceptable erase counts for maintaining programming accuracy.
Data Source
AI summary
The invention comprises a memory module capable of wear-leveling. In one embodiment, the memory module comprises a flash memory and a controller. The flash memory comprises a plurality of management units, wherein each of the management units comprises a plurality of blocks. The controller receives new data with a logical address managed by a first management unit selected from the management units, pops a first spare block from a spare area of the first management unit, determines whether an erase count of the first spare block is greater than a first threshold value, searches a second management unit selected from the management units for a replacing block with an erase count lower than a second threshold value when the erase count of the first spare block is greater than the first threshold value, and directs the first management unit and the second management unit to exchange the first spare block with the replacing block.


