Storage Drive Array Capacity Segmentation for IOPS Balance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage drive arrays with multiple drives of different capacities, high-capacity drives can experience IO bottlenecks due to increased storage IO operations, leading to inefficient capacity utilization and potential waste when the number of high-capacity drives does not exceed a certain threshold.

Innovation Solution

Implementing a system where storage drives are divided into two sets, with each high-capacity drive having a first sub-capacity equal to the capacity of low-capacity drives, allowing for uniform IOPS densities across all drives by placing hot data in the higher sub-capacities and cold data in the lower sub-capacities, thereby avoiding capacity waste and IO bottlenecks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If high capacity drives are used to increase storage capacity, then storage capacity is improved, but IO bottleneck problems occur due to increased numbers of storage IO operations

Engineering Contradiction:
Improvestorage capacityVSAvoidIO operations per second
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent segments the storage drive array into multiple groups based on drive capacity (high-capacity drives and low-capacity drives). Each group is assigned specific data types (cold data for high-capacity, hot data for low-capacity) to balance the IO workload across drives, preventing IO bottlenecks while maintaining total storage capacity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies different quality characteristics to different parts of the storage system by assigning cold data (less frequently accessed) to high-capacity drives and hot data (frequently accessed) to low-capacity drives. This local differentiation optimizes both capacity utilization and IO performance in respective segments.

Inventive Principle:
Principle #3Local quality

2Productivity

If storage algorithms are implemented to avoid IO bottleneck problems, then IO performance is improved, but capacity is wasted when the number of high capacity drives fails to exceed the specified count

Engineering Contradiction:
ImproveIO operations per secondVSAvoidstorage capacity
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent implements a dynamic data placement strategy where data is automatically assigned to appropriate drive groups based on access patterns (hot vs. cold data). This dynamic approach allows the system to adapt to varying workload conditions and drive configurations, ensuring both IO performance and capacity utilization are optimized regardless of the number of high-capacity drives.

Inventive Principle:
Principle #15Dynamics

3Productivity

If uniform IOPS densities are maintained across all drives, then IO performance is improved, but capacity utilization becomes inefficient when high capacity drives are over-provisioned

Engineering Contradiction:
ImproveIOPS densityVSAvoidcapacity utilization
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent changes the workload parameter distribution across drives by directing cold data workloads to high-capacity drives and hot data workloads to low-capacity drives. This parameter change in data classification and placement enables uniform IOPS densities while achieving efficient capacity utilization, as each drive type operates within its optimal performance range.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11947803B2Effective utilization of different drive capacities
Publication Date: 2024.04.02 EMC IP HLDG CO LLC
  • US11947803B2 patent drawing
  • US11947803B2 patent drawing
  • US11947803B2 patent drawing

AI summary

Techniques for providing effective utilization of different drive capacities in storage appliances. The techniques include providing a storage drive array that has a first set of storage drives and a second set of storage drives. Each storage drive in the first set has a first drive capacity and each storage drive in the second set has a second drive capacity. The first drive capacity is higher than the second drive capacity. The techniques include allocating, within the first drive capacity, at least a first sub-capacity and a second sub-capacity. The first sub-capacity is equal to the second drive capacity. The techniques include placing blocks of hot data in the first sub-capacities of the storage drives in the first set and/or the second drive capacities of the storage drives in the second set, and placing blocks of cold data in the second sub-capacities of the storage drives in the first set.