Runtime Memory Allocation for SSD Erase Groups
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Memory sub-systems, such as SSDs, face performance degradation due to the allocation of erase groups with a high number of bad blocks, which affects write, erase, and read operations, and existing methods prioritize erase groups based on erase cycles, leading to reduced performance.
Innovation Solution
Implementing a runtime allocation method that initially prioritizes erase groups with fewer bad blocks but transitions to allocate based on different criteria when certain conditions are met, such as resource saturation or wear leveling imbalances, to maintain performance without reducing memory availability or affecting warranty lifetime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Stability of the object's composition
If erase groups are prioritized based on erase cycles, then wear leveling is improved, but device speed and performance deteriorate due to allocation of erase groups with high bad blocks
Solution Approach 1:
The patent implements dynamic allocation criteria that transitions from static erase-cycle-based prioritization to runtime adaptive prioritization. The system dynamically switches between two sets of criteria: first set (prioritizing erase groups with fewer bad blocks) and second set (prioritizing based on erase cycles). This dynamic adaptation resolves the contradiction by allowing the system to optimize for speed when bad blocks are concerns and for wear leveling when cycles are concerns, rather than being locked into a single static approach.
Solution Approach 2:
The patent changes the allocation parameters from solely erase-cycle-based to a composite parameter set that includes both erase cycles and bad block counts. By introducing bad block count as a critical parameter alongside erase cycles, the system can evaluate and prioritize erase groups based on multiple dimensions, thereby resolving the contradiction between wear leveling and device speed through multi-parameter optimization.
2Quantity of substance
If erase groups with bad blocks are allocated early, then memory availability is maintained, but error retries increase and performance decreases
Solution Approach 1:
The patent performs preliminary identification and counting of bad blocks in each erase group before allocation decisions are made. By pre-calculating the bad block count and incorporating it into the allocation criteria, the system可以避免 allocating erase groups with high bad block counts early in their lifecycle. This preliminary action ensures that memory availability is maintained through systematic allocation while preventing the performance degradation and increased error retries that would result from premature allocation of defective erase groups.
3Speed
If allocation prioritizes erase groups with fewer bad blocks, then device speed improves, but wear leveling becomes imbalanced
Solution Approach 1:
The patent implements a dynamic switching mechanism between allocation strategies. The system monitors memory conditions and automatically transitions between the first set of criteria (prioritizing fewer bad blocks for speed) and the second set of criteria (prioritizing erase cycles for wear leveling). This dynamic approach resolves the contradiction by allowing the system to optimize for speed when performance is critical and switch to wear-leveling optimization when balance is needed, rather than being constrained to a single static allocation policy.
Data Source
AI summary
Devices, methods, and media are described for runtime memory allocation to avoid defects. One embodiment includes assigning a plurality of memory blocks of a memory sub-system to a plurality of erase groups, such that each erase group of the plurality of erase groups comprises two or more memory blocks of the plurality of memory blocks. A bad block association is determined for each erase group of the plurality of erase groups. Prior to a memory condition being met, memory resources of the memory sub-system are allocated by erase group based on a first set of criteria which are based at least in part on the bad block association for each erase group in order to prioritize use of erase groups with fewer bad blocks. After the memory condition has been met, the memory resources of the memory sub-system are then allocated by erase group according to a second set of criteria, wherein the second set of criteria allocates the memory resources irrespective of bad block association for each erase group after the determining that the memory condition has been met.


