Target-Aware Remote Storage Initiators to Prevent Namespace HOLB

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Remote storage systems face issues such as head of line blocking (HOLB) and resource wastage due to target namespace (NS) throttling, where some NSs are fast while others are slow, leading to inefficiencies in data transmission.

Innovation Solution

An initiator in the remote storage system that includes a submission queue, retry queue, request tracker, and packet creator, which tracks outstanding requests and moves requests to the retry queue when the target cannot handle more, preventing HOLB and resource wastage by prioritizing requests based on target awareness.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the initiator transmits R/W requests to remote targets without tracking outstanding requests, then the data transmission rate can be maximized, but head of line blocking (HOLB) and resource wastage occur when targets cannot handle more requests

Engineering Contradiction:
Improvedata transmission rateVSAvoidresource wastage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The initiator implements a request tracker that monitors the number of outstanding requests at each remote target namespace. This feedback mechanism allows the initiator to detect when a target cannot handle more requests and adjust its transmission behavior accordingly, preventing resource wastage while maintaining high data transmission rates.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Before transmitting an R/W request, the initiator checks the request tracker to determine whether the target namespace can currently handle more requests. This preliminary action prevents sending requests that would be rejected or cause HOLB, thereby avoiding resource wastage while maintaining optimal transmission throughput.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If the initiator sends requests to both fast and slow NSs simultaneously, then resource utilization is maximized, but HOLB occurs when slow NSs cannot process requests quickly enough

Engineering Contradiction:
Improveresource utilizationVSAvoidHOLB delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The initiator dynamically adjusts its request transmission strategy based on real-time tracking of outstanding requests at each namespace. When a slow NS accumulates too many outstanding requests, the initiator automatically reduces or pauses transmissions to that NS, preventing HOLB delays while continuing to maximize resource utilization by sending requests to fast NSs that can handle them.

Inventive Principle:
Principle #15Dynamics

3Ease of operation

If the initiator creates packets for all R/W requests in the SQ, then request processing is simplified, but token wastage occurs when targets cannot handle the requests

Engineering Contradiction:
Improverequest processing simplicityVSAvoidtoken wastage
Core Design Contradiction:
Ease of operationVSLoss of substance

Solution Approach 1:

The initiator performs a preliminary check using the request tracker before creating packets for R/W requests. This preliminary action determines whether the target namespace can currently handle more requests, allowing the initiator to avoid creating packets that would result in token wastage, thereby balancing operational simplicity with resource efficiency.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250341985A1Target aware initiators for remote storage when target namespace throttling is enabled
Publication Date: 2025.11.06 ADVANCED MICRO DEVICES INC
  • US20250341985A1 patent drawing
  • US20250341985A1 patent drawing
  • US20250341985A1 patent drawing

AI summary

Embodiments herein describe an initiator in a remote storage system (e.g., a NIC) that is aware of congestion at the target. In one example, the initiator tracks the number of outstanding requests at a target (e.g., for each namespace). If the target queue is full (i.e., the target cannot handle any more requests), the initiator can move the request from a submission queue (SQ) to a retry queue. Removing the request from the SQ permits the initiator to determine whether the next request in the SQ can be transmitted to its target (e.g., prevents HOLB and also mitigates resource wastage from creating and sending a packet to a full target queue where it will be dropped).