Storage Controller Error Handling for Mirrored Regions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In storage systems, the time period from an error occurrence in an input/output process to its restart can be prolonged due to increased notifications to the manager, leading to potential timeouts, especially during scaling out where multiple agents access the affected storage, causing delays in user operations like VDISK generation.

Innovation Solution

A controlling device within the storage system determines the states of mirrored storage regions based on error information and access modes, allowing for immediate restart or stop of I/O processes without waiting for manager determination, particularly in read-write and read-only modes, to minimize delay and prevent timeouts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the manager determines the states of storage regions based on error notifications from multiple agents, then the reliability of error handling is improved, but the time period from error occurrence to restart is prolonged

Engineering Contradiction:
Improveerror handling reliabilityVSAvoidtime period from error occurrence to restart
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system divides error handling responsibilities between agents and the manager. Agents perform immediate local error detection and initial response actions, while the manager handles comprehensive state determination. This segmentation allows parallel processing where agents can act immediately on errors while the manager simultaneously determines overall storage region states, reducing the total time from error occurrence to restart.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Agents perform preliminary error detection and notification actions before the manager completes its state determination. The agent detects the error, notifies the manager, and can initiate preliminary response actions while awaiting the manager's state determination. This preliminary action reduces the overall response time by overlapping the error detection and state determination processes.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple agents access the affected storage during scaling out, then the productivity of storage operations is improved, but the frequency of I/O errors increases

Engineering Contradiction:
Improvestorage operation throughputVSAvoidI/O error frequency
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The system implements a feedback mechanism where agents monitor I/O operations and immediately notify the manager when errors are detected. The manager receives error notifications from multiple agents, determines the states of affected storage regions, and uses this feedback to make informed decisions about restarting I/O processes. This feedback loop allows the system to respond quickly to errors while maintaining high productivity during normal operations.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Agents autonomously detect errors in their own I/O operations and generate error notifications without requiring manual intervention. The system enables self-service error detection and notification at the agent level, allowing multiple agents to independently monitor and report errors while the storage system maintains high productivity through parallel operations.

Inventive Principle:
Principle #25Self-service

3Measurement precision

If the system waits for manager determination before restarting I/O processes, then the accuracy of state assessment is improved, but the response performance deteriorates

Engineering Contradiction:
Improvestate assessment accuracyVSAvoidresponse performance
Core Design Contradiction:
Measurement precisionVSSpeed

Solution Approach 1:

The agent performs preliminary error detection and notification actions before the manager completes its state determination. The agent detects the error, notifies the manager of the error state, and can initiate preliminary response actions while awaiting the manager's comprehensive state determination. This preliminary action reduces the overall response time by overlapping the error detection and state determination processes, achieving both speed and accuracy.

Inventive Principle:
Principle #10Preliminary action

4Reliability

If the system notifies the manager of every error, then the reliability of error tracking is improved, but the loss of time due to processing overhead increases

Engineering Contradiction:
Improveerror tracking reliabilityVSAvoidprocessing overhead time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system segments error handling into two parts: agents perform immediate local error detection and notification, while the manager handles comprehensive state determination and coordination. This segmentation allows the agent to quickly notify the manager of errors without waiting for manager intervention, maintaining reliable error tracking while reducing processing overhead time through parallel processing.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10157111B2Controlling device, managing device, storage system, control method, management method, and non-transitory computer-readable storage medium for mirroring data
Publication Date: 2018.12.18 FUJITSU LTD
  • US10157111B2 patent drawing
  • US10157111B2 patent drawing
  • US10157111B2 patent drawing

AI summary

A controlling device: receives state information indicating the state of a first storage region and the state of a second storage region for mirroring the first storage region; detects an error of an input and output process executed on the first storage region; executes, in response to the error, a first process if the first storage region is in a read-write mode, the first process including determining the states of the first and second storage regions, and selecting, based on the determined states, either one of executing the input and output process on the second storage region or stopping the input and output process executed on the first and second storage regions; and executes, in response to the error, a second process if the first storage region is in a read-only mode, the second process including executing the input and output process on the second storage region.