Flash Memory Wear Leveling via Block Queue Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Flash memory devices face wear leveling challenges due to uneven erase counts across blocks, leading to potential block damage from excessive erase operations, which can shorten their lifespan.
Innovation Solution
A controller manages blocks by placing high-erase-count blocks in a 'jail queue' and low-erase-count blocks in a 'spare queue', swapping them when the jail queue is full to balance erase counts and prevent further damage, using a system that monitors and dynamically adjusts block allocation to maintain even wear across the memory.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If blocks are frequently erased to increase storage flexibility, then storage adaptability is improved, but block reliability deteriorates due to excessive erase counts causing block damage
Solution Approach 1:
The patent segments the flash memory blocks into different queues (spare queue, jail queue, and active blocks) based on their erase counts. This segmentation allows the system to manage blocks with different wear levels separately, enabling flexible allocation of healthy blocks while protecting worn blocks from further erasure, thus resolving the contradiction between storage flexibility and block reliability.
Solution Approach 2:
The patent changes the management parameter from treating all blocks uniformly to categorizing blocks by their erase count thresholds. Blocks are moved between queues based on whether their erase counts exceed certain thresholds, allowing the system to adapt storage allocation dynamically while preventing over-erasure of vulnerable blocks, thereby maintaining both flexibility and reliability.
2Reliability
If wear leveling is implemented to balance erase counts, then block reliability is improved, but device complexity increases due to additional management mechanisms
Solution Approach 1:
The patent implements wear leveling by segmenting blocks into queues based on erase count thresholds. The spare queue holds blocks below the first threshold, the jail queue holds blocks between the first and second thresholds, and blocks above the second threshold are marked as bad. This segmentation simplifies the wear leveling management by providing clear criteria for block allocation and protection, reducing the complexity compared to more sophisticated wear leveling algorithms.
Solution Approach 2:
The patent uses erase count thresholds as key parameters to manage block wear. By monitoring and comparing erase counts against predefined thresholds, the system automatically moves blocks between queues and adjusts allocation policies. This parameter-based approach provides a simple yet effective wear leveling mechanism that balances reliability improvement with manageable device complexity.
3Reliability
If blocks with high erase counts are protected by placing them in a jail queue, then block reliability is improved, but storage productivity decreases due to reduced available blocks
Solution Approach 1:
The patent segments blocks into different queues based on erase counts, with the jail queue specifically designed to hold blocks with moderate wear (between first and second thresholds). This segmentation protects these blocks from further allocation while maintaining them in a recoverable state, preventing complete failure while still allowing blocks with lower erase counts to remain available for storage operations, thus balancing reliability and productivity.
Solution Approach 2:
The patent implements dynamic block management where blocks can move between the spare queue and jail queue based on their erase count changes. When blocks in the spare queue exceed the first threshold, they are automatically moved to the jail queue. This dynamic adjustment ensures that blocks are protected only when necessary, maximizing the availability of healthy blocks for storage operations while providing protection when wear levels increase, thereby maintaining both reliability and productivity.
Data Source
AI summary
A FLASH memory control technique with wear leveling between the different blocks of the FLASH memory. By a controller managing the blocks of a FLASH memory within a data storage device, some of the blocks are pushed into a spare queue waiting to be allocated as data blocks or system blocks and some blocks are pushed into a jail queue to be inaccessible. When the jail queue is full and any block within the spare queue has an erase count greater than any block within the jail queue, for wear leveling between the different blocks within the FLASH memory, the controller releases a first block selected from the jail queue and pushes a second block selected from the spare queue into the jail queue.


