Capacity Slices for Storage Node Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Data storage systems face inefficiencies due to differences between nominal and actual storage device capacities, leading to capacity losses when devices are arranged in redundant arrays, as they are often selected based on nominal capacities rather than actual capabilities.
Innovation Solution
The system configures address spaces based on actual storage capacities, dividing them into capacity slices that are combined into chunks optimized for specific node requirements, mapped to logical storage devices, and organized into redundant arrays with dynamic redistribution to maintain balance and meet performance, capacity, and fault tolerance needs.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If storage devices are arranged into RAID configurations based on nominal capacities, then the storage system can be configured with uniform device specifications, but actual storage capacity is lost due to differences between nominal and actual capacities
Solution Approach 1:
The patent divides storage devices into multiple slices, where each slice represents a portion of the device's actual capacity. These slices can be independently allocated to different RAID configurations, allowing the system to fully utilize the actual capacity of each device while maintaining flexible RAID assembly capabilities.
Solution Approach 2:
The patent introduces a new dimension of capacity allocation by creating a pool of address spaces from actual device capacities and distributing slices across multiple RAID configurations. This transforms the traditional single-dimension allocation (whole device to one RAID) into a multi-dimensional distribution system where capacity can be shared across multiple RAID levels.
2Stability of the object's composition
If storage devices with different actual capacities are excluded from RAID configurations, then RAID uniformity is maintained, but storage efficiency decreases due to yield losses
Solution Approach 1:
By segmenting devices into slices, the patent allows RAID configurations to be formed from uniform slice units regardless of the original device capacities. This maintains RAID uniformity at the slice level while enabling the inclusion of devices with varying actual capacities in the storage pool.
Solution Approach 2:
The patent changes the allocation parameter from whole-device capacity to slice-level capacity. This allows the system to allocate capacity in standardized units (slices) that can be uniformly distributed across RAID configurations, transforming the problem of capacity variability into a manageable resource allocation issue.
3Reliability
If entire storage device capacity is excluded due to capacity mismatches, then RAID configuration integrity is preserved, but available storage resources are reduced
Solution Approach 1:
The patent segments device capacity into slices that can be independently allocated. This allows RAID configurations to maintain integrity by allocating complete slices to each RAID set, while simultaneously utilizing all available capacity from devices regardless of their total capacity variations.
Solution Approach 2:
The patent creates a universal slice-based allocation system that can serve multiple RAID configurations simultaneously. Each slice can be allocated to different RAID levels (RAID 0, 1, 5, 6, etc.) based on performance and reliability requirements, making the capacity pool universally applicable across different storage needs.
Data Source
AI summary
Various systems and methods are described for configuring a data storage system. In one embodiment, a plurality of actual capacities of a plurality of storage devices of the data storage system are identified and divided into a plurality of capacity slices. The plurality of capacity slices are combined into a plurality of chunks of capacity slices, each having a combination of characteristics of the underlying physical storage devices. The chunks of capacity slices are then mapped to a plurality of logical storage devices. A group of the plurality of logical storage devices is then organized into a redundant array of logical storage devices.


