Hybrid Controller Adapting SSD Block Pool Sizes
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional NAND Flash-based SSDs face inefficiencies due to the difference in performance characteristics between read and write operations, and the inability to reuse invalidated memory locations until the entire block is erased, leading to increased write amplification and reduced storage system performance.
Innovation Solution
A method to dynamically adapt block pool sizes by configuring memory blocks in single-level cell (SLC) and multi-bit-per-cell modes, allowing for real-time relocation and reconfiguration of blocks between pools based on current utilization and workload properties, thereby optimizing performance and reducing write amplification.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If memory blocks are organized in fixed pools with static allocation, then system simplicity is maintained, but performance optimization under varying workload conditions is limited
Solution Approach 1:
The patent implements dynamic block pool adaptation by continuously monitoring the number of ready-to-use blocks in each pool and adjusting block allocations based on current workload conditions. The hybrid controller dynamically determines when to transfer blocks between SLC and multi-bit-per-cell pools, transforming the static block allocation into a dynamic system that adapts to varying performance requirements.
Solution Approach 2:
The system employs feedback mechanisms by monitoring block pool utilization levels and using this information to trigger block transfers between pools. The hybrid controller receives feedback about the number of available blocks in each pool and adjusts the block distribution accordingly, creating a closed-loop control system that optimizes performance based on actual system state.
2Productivity
If blocks are transferred between pools frequently to optimize performance, then write amplification is reduced, but system overhead and complexity increase
Solution Approach 1:
The system implements self-service by automatically monitoring block pool states and performing block transfers without external intervention. The hybrid controller autonomously determines when block transfers are needed based on predefined thresholds and workload conditions, reducing the need for complex external management while maintaining optimization benefits.
Solution Approach 2:
The patent changes the operational parameters of memory blocks by transferring them between different configuration pools (SLC vs. multi-bit-per-cell). This parameter change allows the system to optimize for different performance characteristics dynamically, reducing write amplification by selecting appropriate block configurations based on current workload demands.
3Speed
If SLC mode blocks are used extensively for high performance, then write speed is improved, but storage capacity is reduced
Solution Approach 1:
The patent applies local quality by maintaining different block configurations in separate pools rather than using a single uniform configuration. SLC mode blocks with superior write performance are kept in a dedicated pool for scenarios requiring high speed, while multi-bit-per-cell blocks provide additional storage capacity. The system selectively accesses appropriate pools based on performance requirements, allowing each pool to have optimized local characteristics.
Solution Approach 2:
The storage system is segmented into multiple block pools with different characteristics (SLC and multi-bit-per-cell). This segmentation allows the system to separate high-performance storage needs from capacity-oriented needs, enabling independent management and optimization of each segment without compromising the other.
4Quantity of substance
If multi-bit-per-cell mode blocks are used to maximize capacity, then storage density is improved, but write performance and endurance deteriorate
Solution Approach 1:
The system applies local quality by assigning multi-bit-per-cell blocks to a separate pool where they can provide high storage density for capacity-oriented workloads. These blocks are not forced to handle write-intensive operations, allowing them to maintain their density advantage while avoiding the endurance degradation that would result from excessive write operations.
Solution Approach 2:
By segmenting the storage system into SLC and multi-bit-per-cell pools, the patent protects the multi-bit-per-cell blocks from write-intensive operations that would reduce their endurance. The segmentation allows capacity optimization without sacrificing reliability, as each pool type can be used for its strength.
Data Source
AI summary
A computer-implemented method, according to one embodiment, includes: determining whether a number of blocks included in a first ready-to-use (RTU) queue is in a first range of the first RTU queue. In response to determining that the number of blocks included in the first RTU queue is in the first range, a determination is made as to whether a number of blocks included in a second RTU queue is in a second range of the second RTU queue. Moreover, in response to determining that the number of blocks included in the second RTU queue is not in the second range, valid data is relocated from one of the blocks in a first pool which corresponds to the first RTU queue. The block in the first pool is erased, and transferred from the first pool to the second RTU queue which corresponds to a second pool.


