Dynamic Stripe Size Selection for Storage Space Utilization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current storage systems face inefficiencies in striping data due to suboptimal space utilization and throughput, particularly when using large stripes that span multiple disks of different sizes, leading to unused disk space and reduced actual throughput.

Innovation Solution

The implementation of dynamic striping rules that determine optimal stripe sizes and disk assignments based on current disk configurations, including available capacity and performance parameters, to maximize space utilization and throughput by simulating different stripe sizes and evaluating space utilization and parallel write capabilities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If large stripe sizes are used to span multiple disks, then parallel write capability is improved, but space utilization deteriorates due to unused disk space

Engineering Contradiction:
Improveparallel write capabilityVSAvoidunused disk space
Core Design Contradiction:
ProductivityVSLoss of substance

Solution Approach 1:

The patent implements dynamic stripe size selection that adapts to the actual disk configuration. Instead of using fixed large stripe sizes, the system dynamically determines optimal stripe sizes based on disk capacities, ensuring that stripes fully utilize available disk space without leaving unused portions. This dynamic adjustment resolves the contradiction by maintaining high parallel write capability while eliminating space waste.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of stripe size based on disk configuration characteristics. By calculating optimal stripe sizes that are multiples of the greatest common divisor of disk capacities, the system ensures complete space utilization. This parameter adaptation allows the system to maintain efficient parallel writes while preventing the space loss that occurs with fixed large stripe sizes.

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If fixed stripe sizes are used, then implementation simplicity is improved, but adaptability to different disk configurations deteriorates

Engineering Contradiction:
Improveimplementation simplicityVSAvoidadaptability to disk configurations
Core Design Contradiction:
Device complexityVSAdaptability or versatility

Solution Approach 1:

The patent employs parameter changes by dynamically adjusting stripe size based on disk configuration. The system calculates optimal stripe sizes using the greatest common divisor of disk capacities, allowing it to adapt to various disk arrangements while maintaining a relatively simple implementation through automated calculation and configuration-based selection.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system transitions from static fixed stripe sizes to dynamic stripe size selection. The stripe size becomes a dynamic parameter that automatically adjusts to match the disk configuration, providing versatility across different scenarios while keeping the implementation simple through algorithmic determination rather than manual configuration.

Inventive Principle:
Principle #15Dynamics

3Loss of substance

If stripes do not align with disk boundaries, then space utilization is improved, but write throughput deteriorates due to increased I/O operations

Engineering Contradiction:
Improvespace utilizationVSAvoidwrite throughput
Core Design Contradiction:
Loss of substanceVSProductivity

Solution Approach 1:

The system optimizes stripe size parameters to be multiples of the greatest common divisor of disk capacities. This mathematical approach ensures that stripes naturally align with disk boundaries while fully utilizing available space. The parameter optimization simultaneously achieves both complete space utilization and efficient write throughput by eliminating the need for additional I/O operations.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system performs preliminary calculation of optimal stripe sizes based on disk configurations before actual data writing. By pre-determining stripe parameters that satisfy both space utilization and alignment requirements, the system avoids the performance penalty of misaligned writes while ensuring complete space usage. This preliminary optimization resolves the contradiction between space utilization and write throughput.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11842074B2Striping in a storage system
Publication Date: 2023.12.12 VAST DATA LTD
  • US11842074B2 patent drawing
  • US11842074B2 patent drawing
  • US11842074B2 patent drawing

AI summary

A method for striping, the method may include performing, for each period of time out of multiple periods of time, the steps of: (i) determining striping rules; wherein the determining of the striping rules may include selecting one or more selected stripe size values out of multiple stripe size value candidates; wherein the selecting is based on values of storage system parameters that are obtained when applying the multiple stripe size value candidates; wherein the storage system parameters comprise storage space utilization and storage system throughput; and (ii) applying the striping rules by the storage system, during the period of time; wherein the applying comprises obtaining data chunks; converting the data chunks to stripes having at least one of the one or more selected stripe size values; and storing the stripes in the storage system.