Shared Storage Reset Notification Timer
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In shared storage configurations, unintended multiple resets can occur when one node initiates a reset without notifying other nodes, leading to aborted I/O commands and instability in the cluster, especially during heavy loading situations.
Innovation Solution
Implementing a reset notification timer system that notifies all nodes of a storage device reset, either by receiving a subsequent I/O command during the timer's duration or upon its expiration, ensuring that nodes aware of aborted commands and preventing cascading resets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a node sends a reset instruction to the storage system when I/O commands time out, then the node can retrieve timed-out commands and reset the storage system, but other nodes' queued I/O commands are aborted and may trigger cascading resets
Solution Approach 1:
The patent applies preliminary action by having the storage system send a reset notification to all nodes before actually resetting. This advance notification allows nodes to clear their timeout counters and prevent unnecessary reset instructions, thereby avoiding cascading resets while still allowing the original node to retrieve its timed-out commands when needed.
Solution Approach 2:
The patent implements feedback by establishing a notification mechanism where the storage system informs nodes about upcoming resets. This feedback loop allows nodes to adjust their behavior based on the notification, clearing their timeout counters to avoid triggering additional resets, thus resolving the contradiction between retrieving timed-out commands and preventing cascading resets.
2Ease of manufacture
If the storage system aborts all queued I/O commands during a reset, then the reset can be performed cleanly, but nodes remain unaware and may send additional reset instructions
Solution Approach 1:
The patent applies preliminary action by sending the reset notification to all nodes before the actual reset occurs. This allows nodes to be informed in advance, preventing them from sending additional reset instructions based on timeout errors, while the storage system can still abort queued I/O commands cleanly during the reset execution.
Solution Approach 2:
The patent uses the reset notification as an intermediary mechanism that bridges the storage system and nodes. This intermediary communication ensures nodes are aware of the upcoming reset, allowing them to adjust their behavior without interfering with the clean execution of the reset and aborting of queued I/O commands.
3Measurement precision
If nodes wait for I/O command completion without timeout, then command accuracy is maintained, but system responsiveness deteriorates during heavy loading
Solution Approach 1:
The patent applies preliminary action by having the storage system send reset notifications before actual resets occur. This allows nodes to clear their timeout counters in advance, maintaining accurate tracking of I/O command completion while preventing unnecessary timeouts and reset instructions during heavy loading situations, thus balancing accuracy and responsiveness.
Solution Approach 2:
The patent implements feedback through the reset notification mechanism, which provides nodes with timely information about storage system status. This feedback allows nodes to adjust their timeout behavior dynamically, maintaining I/O command completion accuracy while improving system responsiveness by preventing unnecessary timeout-induced resets during heavy loading.
Data Source
AI summary
A method of managing storage device resets in a system using shared storage is provided. A reset instruction is received at a shared storage device from a first node. In response, the storage device is at least partially reset, including aborting one or more queued I/O commands including a first I/O command received from a second node. A reset notification timer is started. If an I/O command is received from the second node during the reset notification timer, in response to receiving the I/O command the second node is notified of the storage device reset such that the second node can determine that the first I/O command was aborted. If no I/O command is received from the second node during the reset notification timer, at the expiration of the timer, the second node is notified of the storage device reset such that the second node can determine that the first I/O command was aborted.


