RAID Stripe Prefill with Data Block Conditioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional techniques for prefilling RAID arrays with suitable data are inefficient and time-consuming, affecting performance testing accuracy and speed, especially when varying hardware or software configurations.

Innovation Solution

A distributed storage system with multiple storage nodes, each equipped with processors and memory, automatically generates and manages data blocks to efficiently prefill RAID stripes across multiple storage devices, utilizing content-based signatures to optimize data distribution and utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If conventional techniques are used to prefill RAID arrays, then data can be filled into the array, but the process is inefficient and time-consuming

Engineering Contradiction:
Improveprefilling efficiencyVSAvoidprefilling time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by pre-calculating and pre-positioning data blocks in the RAID array before actual performance testing begins. The storage system proactively fills the array with appropriately distributed data blocks across stripes and volumes, so that when testing starts, the array is already in the desired state without requiring time-consuming prefilling operations during the testing setup phase.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If conventional prefilling methods are used, then the RAID array can be filled with data, but performance testing accuracy is affected due to inefficiency

Engineering Contradiction:
Improveperformance testing accuracyVSAvoidtesting speed
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system implements feedback mechanisms where the storage system monitors and tracks the distribution of data blocks across RAID stripes and logical volumes. Based on this feedback, the system dynamically adjusts the prefilling process to ensure optimal data distribution that accurately reflects real-world usage patterns, thereby improving performance testing accuracy while maintaining efficient operation through automated control.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If extensive data generation is performed for prefilling, then RAID arrays can be adequately filled, but computational overhead increases

Engineering Contradiction:
Improvedata volume in RAID arrayVSAvoidcomputational overhead
Core Design Contradiction:
Quantity of substanceVSUse of energy by moving object

Solution Approach 1:

The storage system performs self-service by automatically managing its own prefilling operations without requiring extensive external computational resources. The system utilizes its internal resources efficiently to generate, distribute, and manage data blocks across the RAID array, reducing the need for heavy external data generation and minimizing computational overhead while ensuring adequate data volume is present for accurate performance testing.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10983860B2Automatic prefill of a storage system with conditioning of raid stripes
Publication Date: 2021.04.20 EMC IP HLDG CO LLC
  • US10983860B2 patent drawing
  • US10983860B2 patent drawing
  • US10983860B2 patent drawing

AI summary

A storage system comprises a plurality of storage nodes each comprising one or more storage devices. Each of the storage nodes further comprises a processor coupled to a memory. The storage system is configured to prefill a given stripe across multiple ones of the storage devices with data blocks to a first fullness level, to designate at least a subset of the prefilled data blocks of the stripe as available for use in prefilling one or more logical storage volumes of the storage system, and to prefill a given one of the logical storage volumes to a second fullness level utilizing selected ones of the available data blocks. The given stripe across multiple ones of the storage devices illustratively comprises a RAID stripe.