Dynamic Segment Height Selection for Heterogeneous RAID Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage systems with heterogeneous solid-state storage devices having different erase block sizes, the existing methods for selecting segment heights are suboptimal, leading to inefficiencies such as pinned erase blocks and reduced storage capacity due to mismatched erase block sizes, especially when drives with different capacities and programming modes are replaced over time.

Innovation Solution

A storage controller dynamically selects a segment height based on the erase block sizes of the storage devices, using methods like the least common multiple, smallest, or largest erase block size to optimize storage capacity and reduce programming time, with the selected segment height stored in metadata for dynamic adjustment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If homogeneous erase blocks of the same size are used in RAID stripes, then storage memory usage is efficient and data recovery is simplified, but the system cannot accommodate heterogeneous storage devices with different erase block sizes

Engineering Contradiction:
Improveability to accommodate heterogeneous storage devicesVSAvoidcomplexity of managing different erase block sizes
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent dynamically changes the segment height parameter based on the erase block sizes of the storage devices. The controller determines the segment height by calculating the least common multiple (LCM) of the erase block sizes, allowing the system to adapt to heterogeneous devices while maintaining efficient RAID stripe management.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent introduces dynamic segment height selection that can adapt to changing storage device configurations. The controller dynamically determines the appropriate segment height for each RAID stripe based on the specific erase block sizes of the devices involved, enabling flexible accommodation of heterogeneous storage devices.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If segment height is selected based on the largest erase block size, then all devices can be accommodated, but storage capacity is reduced due to pinned erase blocks

Engineering Contradiction:
Improvecompatibility with all storage devicesVSAvoidstorage capacity
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent calculates the segment height as the least common multiple (LCM) of all erase block sizes in the storage device group. This mathematical approach ensures that the segment height is divisible by all individual erase block sizes, eliminating pinned erase blocks while maintaining compatibility with heterogeneous devices and maximizing storage capacity utilization.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If dynamic segment height selection is implemented, then storage capacity and programming efficiency are improved, but controller complexity increases

Engineering Contradiction:
Improveprogramming efficiencyVSAvoidcontroller complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent performs preliminary determination of the segment height during the RAID stripe creation process. The controller calculates the LCM of erase block sizes and establishes the segment height before data programming begins, avoiding the need for complex real-time adjustments during operations and simplifying the overall control logic.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12001700B2Dynamically selecting segment heights in a heterogeneous RAID group
Publication Date: 2024.06.04 PURE STORAGE INC
  • US12001700B2 patent drawing
  • US12001700B2 patent drawing
  • US12001700B2 patent drawing

AI summary

A system includes a solid-state storage array having a plurality of solid-state storage devices and a storage controller coupled to the solid-state storage array, the storage controller including a processing device, the processing device to select a segment height based on erase block sizes of the plurality of solid-state storage devices. The processing device is further to program a data segment using the segment height to a data stripe across two or more of the plurality of solid-state storage devices and store the segment height in metadata associated with the data segment.