Storage System Resource Rebuild via IO Operation Indicator

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage systems often encounter issues with corrupted data or failed resources that are not visible to the system, leading to repeated IO operations with the same issues, resulting in application crashes or timeouts due to the inability to resolve the underlying problems.

Innovation Solution

The implementation of IO hinting logic, which includes host side and storage side IO hinting logic, uses an indicator in IO operations to detect repeat operations and trigger corrective actions such as rebuilding resources like cache buffers or mapping tables to prevent further issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If the storage system services repeated IO operations using the same resources, then the IO operation speed is maintained, but the reliability deteriorates due to encountering the same corrupted data or failed resources

Engineering Contradiction:
ImproveIO operation speedVSAvoidIO operation reliability
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system performs preliminary detection of IO operation patterns to identify repeats before processing. By detecting that a current IO operation is a repeat of a prior operation that encountered corrupted data or failed resources, the system proactively rebuilds the compromised resources (cache buffers, mapping tables) before the repeat operation can fail again, preventing the reliability issue before it occurs

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback by monitoring IO operation outcomes and using this information to trigger resource rebuilding. When a repeat IO operation is detected, the system feeds back the information about the prior failure to the resource management logic, which then rebuilds the affected resources to eliminate the underlying cause of the failure

Inventive Principle:
Principle #23Feedback

2Reliability

If the storage system rebuilds resources for repeat IO operations, then the reliability is improved, but the processing time increases

Engineering Contradiction:
ImproveIO operation reliabilityVSAvoidresource rebuild time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system applies partial action by selectively rebuilding only the specific resources associated with failed IO operations (such as particular cache buffers or mapping tables) rather than rebuilding all resources. This targeted approach rebuilds only the necessary portions to resolve the specific failure, minimizing unnecessary rebuild operations and reducing the overall time loss while still achieving the reliability improvement

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If the storage system detects and rebuilds compromised resources, then the data integrity is improved, but the system complexity increases

Engineering Contradiction:
Improvedata integrityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system implements self-service by automatically detecting repeat IO operations and triggering resource rebuilding without external intervention. The IO hinting logic autonomously monitors operation patterns, identifies repeats, determines which resources are compromised, and initiates rebuilding of those resources, eliminating the need for complex external monitoring and manual intervention systems

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11467906B2Storage system resource rebuild based on input-output operation indicator
Publication Date: 2022.10.11 EMC IP HLDG CO LLC
  • US11467906B2 patent drawing
  • US11467906B2 patent drawing
  • US11467906B2 patent drawing

AI summary

An apparatus comprises a storage system comprising at least one processing device and a plurality of storage devices. The at least one processing device is configured to obtain a given input-output operation from a host device and to determine that the given input-output operation comprises an indicator having a particular value. The particular value indicates that the given input-output operation is a repeat of a prior input-output operation. The at least one processing device is further configured to rebuild at least one resource of the storage system that is designated for servicing the given input-output operation based at least in part on the determination that the given input-output operation comprises the indicator having the particular value.