Universal Timeout Mechanism for Storage Protocols
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computer systems face complexity in managing multiple timeout requirements across different layers and protocols, such as SAS, STP, SATA, and Fibre Channel, leading to inefficient design and increased gate count due to duplicated timeout counters.
Innovation Solution
A Universal Timeout Mechanism is implemented using a centralized timeout manager with a link list to manage all timeouts universally, employing a search unit that utilizes a global timer and a 2-dimensional list with comparators to efficiently insert and monitor timeout events, reducing the need for duplicate counters and simplifying timeout management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If separate timeout counters are implemented for each layer and protocol, then timeout detection accuracy is improved, but device complexity and gate count increase
Solution Approach 1:
The patent implements a universal timeout counter that can be configured to serve multiple layers and protocols simultaneously. Instead of having separate dedicated counters for each protocol (SAS, STP, SMP, SATA, Fibre Channel), a single counter is designed to handle timeout detection across all these protocols by receiving timeout requests from different functional blocks and managing them through a unified mechanism, thereby reducing design complexity while maintaining detection accuracy
Solution Approach 2:
The patent merges multiple separate timeout counter functions into a single unified timeout counter. The counter is shared across link layer, phy layer, and transport layer, and supports multiple protocols by consolidating their timeout management into one resource, which directly reduces gate count and simplifies the overall design
2Measurement precision
If duplicated timeout counters are implemented in each lane, then timeout tracking per lane is improved, but gate count increases
Solution Approach 1:
The patent segments the timeout management function by introducing a lane identifier that allows a single universal counter to track timeouts for different lanes independently. The counter can be configured to monitor specific lanes or groups of lanes, providing precise per-lane timeout tracking without requiring separate physical counters for each lane, thus reducing gate count while maintaining tracking precision
Solution Approach 2:
The universal timeout counter is designed to function across multiple lanes by accepting lane-specific timeout requests and managing them through configuration. This multi-functional capability allows one counter to replace what would traditionally require multiple dedicated counters, reducing the quantity of hardware resources needed
3Adaptability or versatility
If multiple protocol-specific timeout implementations are supported, then protocol versatility is improved, but device complexity increases
Solution Approach 1:
The timeout counter is designed as a universal mechanism that can be configured to support multiple storage protocols including SAS, STP, SMP, SATA, and Fibre Channel. By implementing a single configurable counter that can adapt to different protocol requirements through software or configuration control, the system achieves protocol versatility without the complexity of implementing separate dedicated timeout mechanisms for each protocol
Solution Approach 2:
The timeout counter implements dynamic configuration capabilities, allowing timeout values, lane assignments, and protocol-specific parameters to be adjusted based on operational requirements. This dynamic adaptability enables the same hardware resource to serve multiple protocols effectively, reducing design complexity while maintaining versatility
Data Source
AI summary
According to one embodiment, a system is disclosed. The system includes a central timeout manager (CTM) to receive timeout events from two or more clients and a search unit to search for a location in a list of timeout events to place a new received timeout event.


