Dynamic Physical Partitions in Solid-State Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing solid-state storage devices often create less ideal partitions without user input, leading to suboptimal performance and wear on memory arrays due to internal allocation of memory blocks.
Innovation Solution
The implementation of dynamic physical partitions that allow users or host-computing devices to configure memory blocks across multiple dies or within a single die, enabling flexible allocation and minimizing wear through dynamic borrowing of spare blocks based on predetermined thresholds.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the storage device internally allocates memory blocks to partitions without user input, then the device complexity is reduced and ease of operation is improved, but the performance optimization and wear distribution are suboptimal
Solution Approach 1:
The patent implements dynamic physical partitions that can be configured at multiple levels (die, block, or logical level) and allows runtime adjustment of partition boundaries. The system dynamically borrows spare blocks from other partitions when thresholds are met, enabling adaptive optimization without requiring complex user intervention for basic operations.
Solution Approach 2:
The storage device automatically manages partition configuration through self-service mechanisms. The controller monitors wear levels, spare block thresholds, and performance metrics, then autonomously reallocates blocks between partitions and borrows spare blocks when conditions are met, eliminating the need for continuous user management while maintaining optimization.
2Reliability
If the storage device allows flexible user configuration of partition boundaries at die or block level, then performance optimization and wear distribution are improved, but the device complexity and ease of operation are reduced
Solution Approach 1:
The patent segments the memory array into hierarchical levels (dies, blocks, pages) and allows partition configuration at any of these levels. This segmentation enables fine-grained control over partition boundaries without requiring the entire system to be reconfigured, reducing the complexity of managing detailed partition arrangements while maintaining optimization capabilities.
Solution Approach 2:
The partition configuration system is designed to be universal, supporting multiple configuration modes (automatic, semi-automatic, manual) and multiple granularities (die-level, block-level, logical-level). This multi-functionality allows the same system to serve both simple automatic allocation and complex custom configuration needs, reducing the perceived complexity for different user types.
3Ease of operation
If the storage device internally manages memory block allocation, then the ease of operation is improved, but the productivity and performance for specific applications are reduced
Solution Approach 1:
The system implements dynamic partitioning that can adapt to application-specific requirements. Partitions can be configured to span specific dies or blocks based on application workloads, and the system dynamically adjusts partition boundaries and borrows spare blocks based on real-time performance monitoring, enabling optimization for specific applications while maintaining ease of operation through automated management.
Data Source
AI summary
Described herein are storage devices that allow the host-computing device and various users of the storage device to understand what configurations are available for partitions and to select various configurations and preferences that can inform the storage device on how to best allocate memory blocks/dies to provide service levels and performance equal or surpassing the requested amount from the host-computing device and/or user. In this way, users can select particular die(s)/memory blocks based on their desired application. Alternatively, the user/host-computing device can indicate service quality preferences that can be parsed and translated to various characteristics that can inform the selection of the available memory blocks and dies.


