SSD Block Allocation for Multi-CE Die Imbalance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional 1:N Flash Translation Layer:NAND Group Module (FTL:NG) mapping schemes face performance issues due to imbalanced block allocation across Chip Enable (CE)/die, leading to negative performance impacts and potential read-only mode activation when insufficient free blocks are available to replace defective blocks.
Innovation Solution
The method involves scanning an unallocated block repository to reallocate blocks as free blocks when insufficient free blocks are available in the free block list, and transitioning the CE to read-only mode when no further unallocated blocks are found, thereby maintaining balanced block allocation and preventing premature read-only mode activation.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Stability of the object's composition
If conventional block sorting processes are used to maintain struck block allocation policy, then block allocation balance is maintained, but performance deteriorates due to continual sorting operations
Solution Approach 1:
The system pre-organizes free blocks into CE-specific free block lists before they are needed for replacement. When blocks are decommissioned or erased, they are immediately sorted and added to the appropriate CE's free block list based on their CE/die affiliation. This preliminary organization eliminates the need for continual sorting operations during runtime, maintaining block allocation balance without performance penalty.
2Ease of manufacture
If free blocks are chosen based on program erase count without balancing, then allocation simplicity is maintained, but free block list composition becomes imbalanced for specific CE/die
Solution Approach 1:
The system segments the free block management by creating separate free block lists for each CE (Chip Enable). Instead of maintaining a single unified free block list, each CE has its own dedicated list, ensuring that blocks are properly associated with their respective CEs/dies. This segmentation maintains simplicity by using straightforward selection within each CE's list while simultaneously ensuring balanced composition across the entire storage device.
3Ease of operation
If CE/die scans imbalanced free block list when decommission block needs replacement, then scanning process is simplified, but CE/die may not find appropriate free block and enters read-only mode
Solution Approach 1:
The system introduces an intermediary unallocated block pool that acts as a backup resource when CE-specific free block lists are depleted. The FTL first scans the CE's own free block list, and only when that is exhausted does it scan the unallocated block pool for additional blocks. This intermediary mechanism ensures continuous operation by providing a fallback source of blocks without complicating the primary scanning process.
4Quantity of substance
If unallocated blocks are reallocated from unallocated block pool, then free block availability is increased, but device complexity increases due to additional scanning and management processes
Solution Approach 1:
The system performs preliminary allocation of blocks to the unallocated block pool during initialization and during block erasure operations. By pre-positioning blocks in the unallocated pool and maintaining metadata about their CE/die affiliations, the system reduces the complexity of runtime block management. When free blocks are needed, the FTL can efficiently scan this pre-prepared pool without complex reallocation algorithms.
Data Source
AI summary
The present disclosure generally relates to methods and systems for allocating free blocks as decommissioned blocks to replace bad blocks. In certain embodiments, when there are insufficient free blocks in a free block list to replace a bad or defective block for a CE, an FTL scans blocks stored in an unallocated block repository. If there are unallocated blocks available for the CE, one or more is reallocated as free blocks and used to replace the bad or defective block. When only one or no further unallocated blocks for the CE are available, the FTL places the CE in a read-only mode.


