Wear Leveling via Multistage Interconnection Network
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Large non-volatile memory devices face uneven wear distribution due to frequent access of certain data areas, leading to premature degradation, as existing methods for wear leveling are inefficient in managing metadata storage, especially in larger capacities.
Innovation Solution
A system utilizing a multistage interconnection network (MIN) to dynamically map logical block addresses (LBAs) to physical block addresses (PBAs), with a wear level manager that swaps data blocks to distribute access evenly, reducing metadata storage needs and extending device lifespan.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional indirection tables and frequency of use tables are used for wear leveling, then logical block addresses can be mapped to physical block addresses, but the metadata storage area becomes excessively large (30-90 GB for a 2-terabyte drive)
Solution Approach 1:
The patent segments the address mapping function into two parts: a compressed mapping table that stores only modified mappings (using differential encoding) and a generation counter that tracks table updates. This segmentation reduces metadata storage from 30-90 GB to a fraction of that size while maintaining wear leveling capability.
Solution Approach 2:
The patent changes the parameter representation by using differential encoding where only changes from the previous generation are stored. Instead of storing complete LBA-to-PBA mappings for all blocks, it stores only the differences, dramatically reducing the metadata storage requirement while preserving the ability to perform wear leveling.
2Reliability
If frequent access patterns are tracked using large metadata tables, then wear distribution can be monitored, but the device complexity and memory requirements increase significantly
Solution Approach 1:
The patent performs preliminary actions by pre-establishing the mapping table structure with generation counters and differential encoding schemes before wear leveling operations begin. This preliminary setup simplifies subsequent wear leveling operations, as the system only needs to update differences rather than manage complete mapping tables.
Solution Approach 2:
The patent uses a simplified copy mechanism where only the differential mapping data and generation counters are maintained in memory, rather than copying or managing large complete mapping tables. This reduces the complexity of metadata management while preserving wear distribution monitoring capability.
3Ease of operation
If complete LBA to PBA mapping tables are maintained, then address translation can be performed, but the storage overhead becomes unsustainable for large capacity drives
Solution Approach 1:
The patent inverts the traditional approach by not storing the complete LBA-to-PBA mapping table, but instead storing what changed from the previous version. This inversion transforms a storage-intensive problem into a storage-efficient solution, reducing overhead from 30-90 GB to a manageable size while maintaining full address translation capability.
Solution Approach 2:
The patent implements a nested structure where the differential mapping data is embedded within a framework that includes generation counters and update metadata. This nested organization allows the system to maintain address translation capability with minimal storage overhead, as the essential information is contained in the compact differential representation.
Data Source
AI summary
A method, circuit, and system for managing wear levelling in non-volatile memory. First, an original physical block address (PBA) for a logical block address (LBA) of a write operation may be received. The original PBA is one of a set of PBAs for data blocks of a non-volatile memory array. Each of these PBAs may be uniquely mapped to a particular LBA using a multistage interconnection network (MIN). A swap PBA may next be determined for the LBA. The swap PBA may be selected from the set of PBAs uniquely mapped using the MIN. Then, the MIN may be configured to map the LBA to the swap PBA. Finally, data of a first data block stored at the original PBA may be swapped with data of a second data block stored at the swap PBA.


