Storage Queue Port Error Recovery via Secondary Interface
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing storage systems face reliability issues due to communication errors between hosts and storage devices, leading to lost commands and identifier information, which deteriorate system reliability and cause missed processing of commands.
Innovation Solution
The proposed storage system employs a network interface with multiple ports to handle communication errors by transferring identifier information of commands through a secondary port, allowing the host and storage device to exchange information about commands received before the error occurred, ensuring sequential processing and improved reliability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a single port is used for communication between host and storage device, then the device complexity is reduced, but the reliability deteriorates due to communication errors causing lost commands and identifier information
Solution Approach 1:
The network interface is segmented into multiple ports (first port and second port) to provide redundant communication paths. When a communication error occurs on one port, the system can switch to another port to maintain communication, thereby improving reliability without requiring complete system redesign.
Solution Approach 2:
The system prepares backup communication ports in advance before errors occur. The storage controller maintains multiple ports ready, and upon detecting an error on the first port, it proactively switches to the second port to prevent data loss and ensure continuous operation.
2Reliability
If identifier information of commands is transferred through the same port that received the commands, then the ease of operation is maintained, but the reliability deteriorates due to port errors causing loss of both commands and their identifier information
Solution Approach 1:
The second port acts as an intermediary communication channel when the first port fails. Instead of attempting to repair or retry through the failed port, the system uses the second port as a mediator to transfer identifier information and commands, ensuring reliable data transmission even when one port is compromised.
Solution Approach 2:
The system dynamically changes the communication parameter (port selection) based on error detection. When an error is detected on the first port, the system switches to using the second port for transferring identifier information, effectively changing the communication path parameter to maintain reliability.
3Reliability
If multiple ports are added to handle communication errors, then the reliability is improved, but the device complexity increases due to additional ports and error handling mechanisms
Solution Approach 1:
Multiple ports are designed with universal functionality to handle both normal command transmission and error recovery operations. The second port can serve as a backup communication channel for transferring identifier information, commands, and completion data, making the system more versatile and reliable without requiring specialized components.
Solution Approach 2:
The system dynamically selects which port to use based on real-time communication status. The port configuration is not static but adapts to error conditions, allowing the system to activate backup ports only when needed, thereby managing complexity through dynamic rather than static design.
4Reliability
If commands and identifier information are retransmitted through a different port after error occurrence, then the reliability is improved, but the loss of time occurs due to error detection and port switching
Solution Approach 1:
The system performs preliminary setup of multiple ports and error handling protocols before actual communication errors occur. By having backup ports pre-configured and ready, the system minimizes the time required for error recovery, as the switching mechanism is already in place and does not require complex runtime configuration.
Solution Approach 2:
The system implements continuous monitoring and feedback mechanisms to detect communication errors on the first port. Upon detecting an error, the feedback loop triggers immediate switching to the second port, ensuring that identifier information and commands are retransmitted through the reliable channel with minimal delay.
Data Source
AI summary
A storage system includes a host including a host queue storing a plurality of commands and a storage device including a storage queue exchanging commands with the host through a first port or a second port, and storing the exchanged commands, wherein the storage device is configured to, when a communication error has occurred through the first port, transfer information about a command stored in the storage queue before the error occurrence to the host through the second port.


