Storage Queue Port Error Recovery via Secondary Interface

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecommunication reliabilityVSAvoidnetwork interface complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #1Segmentation

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.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

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

Engineering Contradiction:
Improvedata transmission reliabilityVSAvoidcommunication operation simplicity
Core Design Contradiction:
ReliabilityVSEase of operation

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #35Parameter changes

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

Engineering Contradiction:
Improvesystem reliabilityVSAvoidcommunication interface complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #6Universality (Multi-functionality)

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.

Inventive Principle:
Principle #15Dynamics

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

Engineering Contradiction:
Improvecommunication integrityVSAvoiderror recovery time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11809290B2Storage system and storage queue processing following port error
Publication Date: 2023.11.07 SAMSUNG ELECTRONICS CO LTD
  • US11809290B2 patent drawing
  • US11809290B2 patent drawing
  • US11809290B2 patent drawing

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.