Storage Processor Error Isolation via I/O Redirection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional data storage systems face issues with software errors leading to panicking storage processors, resulting in data unavailability and simultaneous failures, which can cause the entire system to become inaccessible due to rolling panic situations and secondary software failures.
Innovation Solution
Implement a method where a storage processor attempts to retry operations causing software errors and only panics if an alternate processor is available, allowing the system to recover from transient errors and redirect I/O operations to an alternate path, thereby isolating failures to specific logical objects rather than the entire system.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a storage processor panics upon encountering a software error, then the error can be cleared by rebooting, but the entire system may become inaccessible due to rolling panic situations and simultaneous failures
Solution Approach 1:
The patent segments the storage system into multiple independent storage processors, each capable of handling I/O operations for logical objects. When one processor encounters a software error, only that specific processor needs to panic and reboot, while other processors continue to handle I/O operations for different logical objects. This segmentation prevents a single point of failure from affecting the entire system, thereby eliminating rolling panic situations that would make the whole system inaccessible.
Solution Approach 2:
The patent implements beforehand cushioning by ensuring that each storage processor has alternate paths to logical objects and that the system can redirect I/O operations to alternative processors. This preparatory arrangement ensures that when a processor fails, the system already has the infrastructure in place to maintain continuity of service, preventing the harmful effect of system-wide unavailability.
2Reliability
If the entire storage system fails when one processor encounters a software error, then system simplicity is maintained, but data unavailability and loss increase
Solution Approach 1:
The storage system is divided into multiple independent storage processors, each managing specific logical objects. This segmentation allows failures to be isolated at the processor level rather than system-wide. When one processor encounters a software error, only the logical objects it manages become temporarily unavailable, while other processors continue to serve other logical objects, thereby maintaining data availability despite the failure.
Solution Approach 2:
The patent introduces an intermediary mechanism that acts as a mediator between storage processors and logical objects. This intermediary enables I/O operations to be redirected from a failed processor to alternative processors. The intermediary ensures that when a processor fails, the system can seamlessly redirect operations to maintain data availability without requiring complex system-wide reconfiguration.
3Ease of operation
If storage processors continuously panic on software errors, then error handling is simplified, but simultaneous failures and secondary software failures occur
Solution Approach 1:
By segmenting the system into independent storage processors, the patent enables simplified error handling at the individual processor level while preventing system-wide instability. Each processor can independently detect and handle software errors through local panic and reboot operations without affecting other processors. This segmentation eliminates the propagation of failure modes that would lead to simultaneous failures and secondary software failures across the entire system.
Data Source
AI summary
A method is used in managing software errors in storage systems. It is detected that a first processor of a storage system has a problem performing an I/O on a logical object. The first processor has a first path to the logical object. The problem includes a software error. Whether responsibility of performing the I/O on the logical object is transferred to a second processor of the storage system is evaluated. The second processor has a second path to the logical object.


