RAID Controller Capacity Allocation for Mixed SSD Arrays
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing storage systems face challenges in efficiently RAID-coupling solid-state drives (SSDs) with different capacities, leading to suboptimal utilization of available capacities and operating speeds, as these systems often rely on the smallest capacity SSD for allocation and performance.
Innovation Solution
A PCIe interface device with a RAID controller that allocates capacities to respective functions of SSDs based on the greatest common divisor of their capacities, allowing for efficient RAID-coupling and utilization of SSDs with different capacities without relying on the smallest capacity SSD.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If existing storage systems RAID-couple SSDs with different capacities, then the system can utilize multiple storage devices, but the available capacity and operating speed are limited by the smallest capacity SSD
Solution Approach 1:
The patent segments the RAID volume into multiple sub-volumes with different capacities, allowing each SSD to contribute its full capacity to different portions of the RAID array. The RAID controller creates multiple virtual disks with varying sizes based on the capacity of individual SSDs, enabling flexible capacity allocation rather than being constrained by the smallest SSD.
Solution Approach 2:
The patent changes the capacity parameter allocation strategy by introducing a reference capacity mechanism. The RAID controller determines a reference capacity based on the SSDs' capacities and allocates sub-volume capacities as multiples of this reference capacity. This parameter transformation allows the system to overcome the bottleneck of the smallest SSD and achieve better overall capacity utilization.
2Productivity
If existing storage systems rely on the smallest capacity SSD for allocation, then the system maintains simplicity, but the operating speed and performance are suboptimal
Solution Approach 1:
The RAID controller automatically determines the reference capacity and calculates sub-volume capacities based on the SSDs' reported capacities. The system self-adjusts the capacity allocation without requiring manual configuration or complex external control, thereby improving performance while maintaining operational simplicity.
Solution Approach 2:
The RAID controller preliminarily determines the reference capacity and pre-calculates the optimal capacity allocation for each sub-volume before the RAID initialization is complete. This preliminary action ensures that the fastest SSDs can operate at their full speed from the beginning, rather than being limited by the smallest SSD during the entire operation.
3Quantity of substance
If the system uses a reference capacity based on the smallest SSD, then the allocation is simple, but the overall storage capacity is underutilized
Solution Approach 1:
The patent introduces a reference capacity parameter that is calculated based on the SSDs' capacities but used to create a geometric progression of sub-volume capacities. By setting the reference capacity appropriately and multiplying it by different integers, the system creates sub-volumes that efficiently partition the total capacity, minimizing wasted space while maintaining simple allocation logic.
Solution Approach 2:
The patent makes the capacity allocation dynamic by allowing the reference capacity to be determined based on the actual SSD capacities detected during initialization. The system adapts the sub-volume capacities to match the actual hardware configuration, ensuring optimal utilization of available storage space rather than using a fixed or conservative allocation strategy.
Data Source
AI summary
A storage system includes a master storage device for storing data based on a RAID level determined by a host, a slave storage device for storing the data according to a command distributed from the master storage device, and a controller hub for coupling the slave storage device to the master storage device, wherein the master storage device is further configured to transfer the command to the slave storage device through the controller hub when the master storage device receives a command processing request from the host, transmit a complete queue (CQ) to the host when operations of the master storage device and the slave storage device are completed in response to the command processing request, and request a host to allocate a capacity to each function in the master storage device and the at least one of the plurality of slave storage devices based on a reference capacity.


