RAID Stripe Write Completion with Slow Drive Timeout

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current data management methods in data storage systems fail to provide timely completion of write operations to RAID drive pools when an abnormally slow drive is present, leading to performance issues and potential delays in applications like media streaming.

Innovation Solution

A method that initiates a write timer for a predetermined interval, classifies a stripe write as complete if a subset of drives finish before the timer expires and the number of pending drives is below a redundancy threshold, and manages pending writes through a queue to ensure timely completion and error handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the system waits for all drives to complete write operations before confirming completion to the host, then data integrity is maintained, but write operation completion time increases significantly when slow drives are present

Engineering Contradiction:
Improvedata integrityVSAvoidwrite operation completion time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by confirming write completion to the host once a threshold number of drives have completed, rather than waiting for all drives. This allows the system to proceed with partial completion (enough to maintain redundancy) without waiting for the slowest drive, thus reducing completion time while maintaining data integrity through the redundancy threshold mechanism.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system dynamically changes the completion confirmation parameter from 'all drives must complete' to 'threshold number of drives must complete'. This parameter change allows the system to adapt to varying drive performance conditions while maintaining the necessary redundancy level for data integrity.

Inventive Principle:
Principle #35Parameter changes

2Loss of time

If the system uses a timeout mechanism to force completion confirmation, then write operation timing becomes predictable, but the risk of data loss increases if drives fail during the timeout period

Engineering Contradiction:
Improvewrite operation timing predictabilityVSAvoiddata loss risk
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent implements beforehand cushioning by establishing a timeout mechanism with a predetermined time interval that provides a safety buffer. This timeout acts as a cushion that limits the maximum waiting time for slow drives while the redundancy threshold provides a protective buffer against data loss, ensuring that even if drives fail during the timeout, the data remains protected through redundancy.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

3Measurement precision

If the system monitors all drive operations to ensure completion, then accurate completion status is maintained, but system complexity and processing overhead increase

Engineering Contradiction:
Improvecompletion status accuracyVSAvoidmonitoring system complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent extracts the monitoring requirement from monitoring all drives to monitoring only the threshold number of drives needed for completion. By taking out the excessive monitoring burden and focusing only on the critical threshold, the system maintains accurate completion status while reducing processing overhead and complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS8762771B2Method for completing write operations to a RAID drive pool with an abnormally slow drive in a timely fashion
Publication Date: 2014.06.24 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US8762771B2 patent drawing
  • US8762771B2 patent drawing
  • US8762771B2 patent drawing

AI summary

The present invention is directed to a method for completing a stripe write operation in a timely fashion to a RAID drive pool which includes an abnormally slow drive. For example, the stripe write operation either completes within a required time interval, or an error is provided to the host/initiator which provides an indication to an application that the stripe write operation did not complete.