Storage Area Network Congestion Control via Queue Depth Throttling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Storage area networks (SANs) face congestion issues due to individual resources, even when no individual logical unit or namespace is congested, leading to data traffic buildup and performance degradation, with existing protocols lacking standardized solutions for mitigating congestion caused by credit-stalling or oversubscription.

Innovation Solution

Implementing a method within the SAN that issues congestion notifications to control the number of requests directed to congested resources by determining the current queue depth and comparing it to a maximum permissible queue depth, rejecting requests when exceeded, and dynamically adjusting the queue depth based on congestion state changes using coarse and fine reduction factors.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If typical flow controls operate at the storage protocol layer to limit data requests between host and logical unit, then individual logical unit congestion is managed, but aggregate target device congestion cannot be detected or controlled

Engineering Contradiction:
Improvecongestion control effectivenessVSAvoidcontrol mechanism complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary congestion notification mechanism that operates between the transport layer and storage protocol layer. This intermediary layer receives congestion notifications from the transport layer and translates them into actionable flow control decisions at the storage protocol layer, enabling aggregate congestion control without requiring complex direct integration between layers.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the congestion control function into separate modular components: transport layer congestion detection, congestion notification generation, and storage protocol layer flow control execution. This segmentation allows each component to operate independently while maintaining overall system coordination, reducing complexity compared to a monolithic control mechanism.

Inventive Principle:
Principle #1Segmentation

2Productivity

If host device places requests to multiple target devices simultaneously, then network utilization is improved, but host device itself becomes congested when data arrives simultaneously

Engineering Contradiction:
Improvenetwork utilizationVSAvoidhost device performance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements feedback mechanisms where congestion notifications from target devices are fed back to the host device. The host device uses this feedback information to dynamically adjust its request issuance rate to multiple target devices, preventing simultaneous data arrivals that cause host congestion while maintaining high network utilization through coordinated multi-device access.

Inventive Principle:
Principle #23Feedback

3Productivity

If no limits are imposed at storage layer on IU transport, then individual logical units operate efficiently, but aggregate target device congestion causes overall performance degradation

Engineering Contradiction:
Improvelogical unit throughputVSAvoidtarget device stability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic flow control where the storage protocol layer adjusts request limits to target devices based on real-time congestion conditions. When aggregate congestion is detected through transport layer notifications, the system dynamically reduces request rates to affected target devices. When congestion clears, normal throughput is restored, allowing the system to adaptively balance individual logical unit efficiency with overall target device stability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11924105B1Method and apparatus for control of congestion in storage area network
Publication Date: 2024.03.05 MARVELL ASIA PTE LTD
  • US11924105B1 patent drawing
  • US11924105B1 patent drawing
  • US11924105B1 patent drawing

AI summary

In a storage area network operating in accordance with a transport-level protocol to interconnect host and target devices, where the transport-level protocol issues congestion notifications when any of the host or target devices becomes congested, a method for reducing congestion includes, on receipt of a request to (a) write data to one of the target devices or (b) read data from one of the target devices for return to one of the host devices, (A) determining whether congestion already exists at (a) the target device to which the write request is directed, or (b) the host device to which data from the read request is to be returned, and (B) when a congestion state already exists, comparing current depth of a queue of write or read requests to a maximum permissible queue depth. When the current depth of the queue exceeds a maximum permissible queue depth, the request is rejected.