Fibre Channel Exchange Handling via Pre-mapped Memory Slots

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional systems inefficiently manage memory slots for data exchanges in storage systems, leading to increased latency and resource utilization due to the need for dynamic allocation during exchange operations.

Innovation Solution

Implementing pre-mapping of memory slots to exchange numbers in a pool, allowing for efficient storage and retrieval of driver-side and HBA-side metadata by restricting each slot to specific exchange numbers, thereby eliminating the need for dynamic allocation routines.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If dynamic allocation of memory slots is used during exchange operations, then the system can flexibly manage memory resources, but latency increases and resource utilization decreases

Engineering Contradiction:
Improvememory management flexibilityVSAvoidexchange latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-mapping memory slots to exchange numbers before exchange operations begin. The driver pre-allocates and maps memory slots to exchange numbers in advance, storing this mapping in a data structure. When exchanges occur, the HBA can directly use the pre-established mappings without requiring dynamic allocation during the exchange operation, thereby reducing latency while maintaining flexible memory management through the pre-configured mappings.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If dynamic allocation routines are used for memory slots, then memory can be efficiently reused across different exchanges, but the complexity of allocation routines increases processing overhead

Engineering Contradiction:
Improvememory utilization efficiencyVSAvoidallocation routine complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent eliminates complex dynamic allocation routines by performing memory slot allocation and mapping in advance. The driver pre-allocates memory slots and creates mappings to exchange numbers before exchange operations begin. This pre-established mapping structure allows the HBA to directly access appropriate memory slots using the exchange number as an index, replacing complex runtime allocation logic with simple array indexing operations that maintain memory efficiency without the overhead of dynamic allocation routines.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent substitutes the mechanical dynamic allocation process with a direct indexing mechanism. Instead of using complex allocation routines that require searching, checking availability, and managing memory state, the system uses pre-mapped arrays where the exchange number directly indexes into the memory slot. This replaces the mechanical allocation process with a mathematical indexing operation, dramatically reducing processing overhead while maintaining efficient memory utilization.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Speed

If pre-mapping of memory slots is implemented, then metadata storage and retrieval speed increases, but initial setup complexity increases

Engineering Contradiction:
Improvemetadata access speedVSAvoidpre-mapping setup complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent accepts the necessary setup complexity as a one-time cost during driver initialization to achieve sustained high-speed metadata access. The driver performs pre-mapping of memory slots to exchange numbers during initialization, creating a lookup table or array structure. Once established, this mapping enables the HBA to access metadata at constant time complexity O(1) by directly indexing into pre-allocated slots using the exchange number, providing significant speed benefits that far outweigh the initial setup effort.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS20250335383A1Fibre channel protocol exchange handling
Publication Date: 2025.10.30 DELL PROD LP
  • US20250335383A1 patent drawing
  • US20250335383A1 patent drawing
  • US20250335383A1 patent drawing

AI summary

A method for use in a computing device, the method comprising: obtaining, by a processor of the computing device, an indication of a pool of exchange numbers, the indication of the pool of exchange numbers being obtained from a host bus adapter (HBA) of the computing device; pre-mapping each of a plurality of first slots in a driver memory of the computing device to the pool of exchange numbers, wherein pre-mapping each of the plurality of first slots includes updating a first data structure to map each of the plurality of first slots to a respective one of the exchange numbers in the pool; and using, by the processor, the plurality of first slots to execute one or more exchanges that involve the HBA, the exchanges being initiated after the pre-mapping is performed.