Extent Array Allocation Across Storage Devices

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing storage systems using RAID technology inefficiently utilize idle storage spaces by requiring extents at a given position in each stripe to be located on the same storage device, leading to underutilization of available storage capacity.

Innovation Solution

A method to generate an extent array where extents at a given position in each stripe can be located on different storage devices, allowing for more flexible allocation of idle extents across multiple storage devices, and creating an address mapping to associate extent identifiers with their indexes for efficient data access and reconstruction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If extents at a given position in each stripe are required to be located on the same storage device, then data reconstruction reliability is improved, but storage space utilization deteriorates

Engineering Contradiction:
Improvedata reconstruction reliabilityVSAvoidstorage space utilization
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent segments the extent array into multiple stripes, where each stripe contains extents from different storage devices. This segmentation allows the system to maintain data reconstruction capability (by having extents distributed across devices) while improving storage utilization (by allowing flexible allocation across available devices rather than requiring all extents at a position to be on the same device).

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a new dimension in extent allocation by allowing extents at the same position in different stripes to be located on different storage devices. This dimensional change in the allocation strategy enables the system to overcome the limitation of traditional approaches where all extents at a given position must be on the same device, thereby improving storage utilization while maintaining reliability through distributed placement.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Stability of the object's composition

If all stripes are allocated simultaneously on the same storage devices, then data access consistency is improved, but storage flexibility and utilization deteriorate

Engineering Contradiction:
Improvedata access consistencyVSAvoidstorage flexibility
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic extent allocation where stripes can be allocated on different storage devices based on available capacity and system state. This dynamic approach allows the system to adapt to changing storage conditions while maintaining data access consistency through proper address mapping, thereby improving both flexibility and utilization without sacrificing stability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the allocation parameters by allowing different stripes to have different storage device assignments. Instead of requiring all stripes to be allocated on the same devices, the system adjusts the allocation parameters dynamically, enabling better storage utilization while maintaining data access consistency through the address mapping mechanism that tracks extent locations.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11656776B2Method, device, and program product for creating extent array in storage system
Publication Date: 2023.05.23 EMC IP HLDG CO LLC
  • US11656776B2 patent drawing
  • US11656776B2 patent drawing
  • US11656776B2 patent drawing

AI summary

In creating an extent array in a storage system, in response to receiving a request to generate an extent array using idle extents in storage devices, a width of an extent stripe is determined, and a size of the extent array is designated by the storage system. A first extent group and a second extent group are respectively selected from the storage devices based on the width to form a first extent stripe and a second extent stripe, and a first extent at a given position in the first extent group and a second extent at a given position in the second extent group are respectively located in different storage devices. Based on the first extent stripe and the second extent stripe, an address mapping representing the extent array is generated. The address mapping includes association between extent identifiers of extents and extent indexes of the extents.