Deferred Drive Processing for Data Storage Event Consistency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In data storage systems, processing events related to physical drives independently can lead to inconsistent results and potential data loss, as related events across multiple drives are not properly recognized and handled, causing confusion and adverse consequences such as unavailability or loss of user data.

Innovation Solution

Implementing deferred drive processing, where events are processed only after related events have occurred, using queues to manage dependencies between drive events, such as new system drive, sparing, and user drive events, ensuring consistent handling of drive online notifications and preventing data loss.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If drive events are processed independently and immediately, then processing speed is improved, but data consistency and reliability deteriorate

Engineering Contradiction:
Improveevent processing speedVSAvoiddata consistency
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The patent applies preliminary action by checking event dependencies before processing drive events. The system determines whether a drive event can be processed immediately or if it depends on other events that have not yet occurred. If dependencies exist, the processing is deferred until all required events have been received, ensuring data consistency while maintaining efficient processing when possible.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If drive event processing is deferred until dependencies are met, then data consistency is improved, but processing time increases

Engineering Contradiction:
Improvedata consistencyVSAvoidevent processing delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent applies partial action by processing drive events in stages based on dependency satisfaction. Rather than waiting for all possible events before processing any drives, the system processes events that have their dependencies met while deferring only those that require additional events. This partial processing approach reduces unnecessary delays while maintaining consistency for dependent events.

Inventive Principle:
Principle #16Partial or excessive action

3Productivity

If multiple drive events are processed in parallel, then productivity is improved, but event dependency management complexity increases

Engineering Contradiction:
Improveevent processing throughputVSAvoiddependency management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing drive event processing into independent parallel streams based on their dependency relationships. Events that do not depend on each other are processed in parallel threads, while events with dependencies are segmented into sequential processing stages. This segmentation enables maximum parallelization while managing dependency complexity through structured event queue organization and dependency tracking.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9229797B1Deferred drive processing
Publication Date: 2016.01.05 EMC IP HLDG CO LLC
  • US9229797B1 patent drawing
  • US9229797B1 patent drawing
  • US9229797B1 patent drawing

AI summary

Techniques for a method of processing events are described. A first notification is received regarding an occurrence of a first event identifying a first physical drive coming online. It is determined whether the first event is dependent on one or more other events that have not yet occurred. If it is determined that the first event depends on one or more other events that have not yet occurred, performing first processing to defer processing of the first event until the one or more other events have occurred. If it is determined that the first event does not depend on the one or more other events that have not yet occurred, the first event is processed.