Dynamic H2D Slice Allocation for Unbalanced CAS Clusters

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Content addressable storage systems like XtremIO face challenges in unbalanced configurations where data modules are responsible for unequal physical capacities, leading to inefficiencies as the cluster reaches capacity, preventing the use of available space in other modules.

Innovation Solution

Implement a method for dynamic physical capacity allocation by determining a target number of hash-to-physical-location-on-disk (h2d) slices and reassigned those excess slices from modules with more than the target to those with fewer, during a scale-up operation, ensuring balanced distribution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data signatures' space is equally divided between all D modules, then each module has equal responsibility for data placement, but the cluster reaches physical space capacity on the D module with smallest amount of capacity available first, preventing use of larger physical capacity on other D modules

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoidunbalanced configuration support
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent applies asymmetry by transitioning from equal division of h2d slices among all D modules to an asymmetric allocation where the number of h2d slices assigned to each D module is proportional to its physical capacity. This allows D modules with different capacities to be efficiently utilized by assigning more slices to larger modules and fewer slices to smaller modules, preventing the bottleneck effect where the smallest module limits overall cluster capacity.

Inventive Principle:
Principle #4Asymmetry

Solution Approach 2:

The patent changes the parameter of h2d slice allocation from a fixed equal division to a dynamic allocation based on physical capacity. The system calculates the number of h2d slices for each D module using the formula: number of h2d slices = (D module physical capacity / total cluster physical capacity) × total number of h2d slices. This parameter change enables the system to adapt to unbalanced configurations and fully utilize available storage capacity across all modules.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If h2d slices are reassigned during scale-up operation, then physical space utilization is optimized across all modules, but system complexity increases due to dynamic reallocation logic

Engineering Contradiction:
Improvestorage capacity utilizationVSAvoiddynamic reallocation mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by performing h2d slice reassignment during scale-up operations before the system begins normal operation with the new configuration. The management module calculates the target number of h2d slices for each D module based on its physical capacity and systematically transfers slices from modules with excess capacity to modules with insufficient capacity. This preliminary reassignment ensures optimal capacity utilization is established before data operations begin, avoiding the need for complex continuous reallocation during normal operation.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10956366B2Dynamic physical capacity allocation in an unbalanced CAS system
Publication Date: 2021.03.23 EMC IP HLDG CO LLC
  • US10956366B2 patent drawing
  • US10956366B2 patent drawing
  • US10956366B2 patent drawing

AI summary

An aspect of dynamic physical capacity allocation in an unbalanced content-addressable storage system includes initiating a scale up for a storage cluster. An aspect further includes determining a target number of hash-to-physical-location-on-disk (h2d) slices to be assigned to each data module (D module), and reassigning h2d slices assigned to D modules having greater than the target number of h2d slices to D modules having less h2d slices than the target number.