Interim Stripe Write for RAID Storage Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed storage systems face performance challenges in writing data to striped volumes due to the dual-stage write mode, which requires additional resources and is not optimized for medium-sized writes, leading to inefficient resource utilization and increased latency.

Innovation Solution

Implementing an optimized direct stripe write operation that allocates an interim stripe and a destination stripe, where data is initially written to the interim stripe, and then copied and updated parity is computed and written to the destination stripe, allowing for efficient garbage collection and reuse of resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If dual-stage write mode is used, then data reliability and fault tolerance are improved, but resource consumption and write latency increase

Engineering Contradiction:
Improvedata reliabilityVSAvoidwrite latency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The write operation is segmented into two distinct phases: an interim stripe phase for initial data reception and parity computation, and a destination stripe phase for final data placement. This segmentation allows the system to acknowledge writes quickly to the host while deferring the resource-intensive operations to a separate phase, thereby reducing write latency while maintaining data reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by allocating and preparing the interim stripe in advance, receiving data and computing parity before the actual destination stripe write is needed. This preliminary processing enables the host to receive immediate acknowledgment without waiting for the complete write operation to finish, reducing perceived latency while ensuring data reliability through pre-computed parity.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If dual-stage write mode is used, then data protection is improved, but resource consumption increases

Engineering Contradiction:
Improvedata protectionVSAvoidresource consumption
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system dynamically selects between interim stripe and destination stripe based on real-time conditions such as stripe availability, data size, and system state. This dynamic approach allows the system to optimize resource consumption by choosing the most efficient path for each write operation while maintaining data protection through the RAID stripe structure and parity computation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters by adjusting the write path selection based on the size of the data being written. For medium-sized writes, it uses the optimized interim stripe approach; for other sizes, it may use direct destination stripe writes. This parameter adjustment optimizes resource consumption by avoiding unnecessary interim stripe operations when not beneficial, while still ensuring data protection.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If direct stripe write is used, then resource consumption is reduced, but garbage collection overhead increases for medium-sized writes

Engineering Contradiction:
Improveresource consumptionVSAvoidgarbage collection overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The write operation is segmented into two distinct phases: an interim stripe phase for initial data reception and parity computation, and a destination stripe phase for final data placement. This segmentation allows the system to acknowledge writes quickly to the host while deferring the resource-intensive operations to a separate phase, thereby reducing write latency while maintaining data reliability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system performs preliminary actions by allocating and preparing the interim stripe in advance, receiving data and computing parity before the actual destination stripe write is needed. This preliminary processing enables the host to receive immediate acknowledgment without waiting for the complete write operation to finish, reducing perceived latency while ensuring data reliability through pre-computed parity.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If medium-sized writes are handled with dual-stage mode, then data protection is maintained, but write performance deteriorates

Engineering Contradiction:
Improvedata protectionVSAvoidwrite performance
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system dynamically selects between interim stripe and destination stripe based on real-time conditions such as stripe availability, data size, and system state. This dynamic approach allows the system to optimize resource consumption by choosing the most efficient path for each write operation while maintaining data protection through the RAID stripe structure and parity computation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes operational parameters by adjusting the write path selection based on the size of the data being written. For medium-sized writes, it uses the optimized interim stripe approach; for other sizes, it may use direct destination stripe writes. This parameter adjustment optimizes resource consumption by avoiding unnecessary interim stripe operations when not beneficial, while still ensuring data protection.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11704053B1Optimization for direct writes to raid stripes
Publication Date: 2023.07.18 DELL PROD LP
  • US11704053B1 patent drawing
  • US11704053B1 patent drawing
  • US11704053B1 patent drawing

AI summary

A storage control node receives data to be written to a striped volume, allocates first and second stripes, writes the data to at least one data strip of the first stripe, computes parity data based on the data written to the first stripe, and writes the parity data to the first stripe. The storage control node sends a copy command to a target storage node which comprises the at least one data strip of the first stripe to thereby cause the at least one data strip to be copied to a data strip of the second stripe which resides on the target storage node. The storage control node writes additional data to the second stripe, computes updated parity data based on the additional data and the parity data of the first stripe, writes the updated parity data the second stripe, and releases the first stripe for reuse.