BACKGROUND

The present disclosure relates generally to information handling systems, and more particularly to reducing data transmission latency via information handling systems that are part of a switch aggregation in an Asymmetric Logical Unit Access (ALUA) deployment.

As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.

Information handling systems such as, for example, storage systems, sometimes utilize storage subsystems that are associated with Logical Unit Numbers (LUNs) that identify a logical unit that is provided by the storage subsystem and addressed via the Small Computer System Interface (SCSI) protocol (or other Storage Area Network (SAN) protocols such as Fibre Channel, internet SCSI (iSCSI), etc., that encapsulates the SCSI protocol.) In some situations, such storage subsystems may be provided in Asymmetrical Logical Unit Access (ALUA) deployments in which each storage subsystem/LUN is accessible via a plurality of storage controllers/processors in the storage system, but with only one of the storage controllers/processors “owning” any particular storage subsystem/LUN. In such AULA deployments, optimized and un-optimized paths to any particular storage subsystem/LUN will exist, with the optimized path providing a direct path via a connection to the storage controller/processor that owns that storage subsystem/LUN, and the un-optimized path having a connection to the storage controller/processor that does not own that storage subsystem/LUN.

In some situations, packets may be sent along the un-optimized path, and must then be forwarded by the storage controller/processor in that un-optimized path to the storage controller/processor in the optimized path via a storage controller/processor interconnect. As such, the use of the un-optimized path in an ALUA deployment introduces latency associated with the need to forward packets between the storage controller/processors via the storage controller/processor interconnect. ALUA deployments attempt to address such latency issues by marking the optimized path to the storage controller/processor that owns the storage subsystem/LUN as active, with host systems (e.g., server systems) preferring the active optimized path in order to prevent the latency associated with the use of the un-optimized path.

However, the server systems discussed above are sometimes coupled to the storage systems discussed above by switch aggregations provided by a plurality of switch devices. For example, the Virtual Link Trunking (VLT) protocol is a proprietary aggregation protocol available in switch devices provided by Dell Inc. of Round Rock, Texas, United States, and operates to provide a redundant, load-balancing connection in a loop-free environment that eliminates the need to use the Spanning Tree Protocol (STP). The VLT protocol may be utilized in a plurality of switch devices provided between the server system and the storage system to provide a VLT switch aggregation that transmits packets between the server system and the storage system. However, in some situations, a VLT switch aggregation included in an ALUA deployment may introduce latency similar to that which the ALUA deployment is attempting to eliminate. For example, a first switch device that is provided as part of the VLT switch aggregation (e.g., a first VLT switch device) may be coupled to two second switch devices that are provided as part of the VLT switch aggregation (e.g., second VLT switch devices), with one of those second VLT switch devices directly connected to the storage controller/processor that owns the storage subsystem/LUN, and the other of those second VLT switch devices directly connected to the storage controller/processor that does not own the storage subsystem/LUN.

Upon receiving a packet from the server system, the first VLT switch device will perform hashing operations to determine which of the second VLT switch devices to forward that packet. As such, in some situations, the first VLT switch device may forward a packet to the second VLT switch device that is directly connected to the storage controller/processor that does not own the storage subsystem/LUN, which requires that second VLT switch device to forward that packet to the second VLT switch device that is directly connected to the storage controller/processor that owns the storage subsystem/LUN via a second VLT switch device interconnect, re-introducing the packet transmission latency that the ALUA deployment is attempting to eliminate. Furthermore, server systems that support ALUA and that have control over the ownership of storage subsystems/LUNs by the storage controller/processors will not be aware of this second VLT switch device interconnect packet forwarding, and thus have no means for addressing it.

Accordingly, it would be desirable to provide an ALUA/switch aggregation latency reduction system.

SUMMARY

According to one embodiment, an Information Handling System (IHS) includes a processing system; and a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a switch engine that is configured to: identify an initiator device that is directly connected to the IHS; transmit, to each of a plurality of switch devices, a respective first communication that identifies the initiator device that is directly connected to the IHS; receive, from each of the plurality of switch devices, a respective second communication that identifies one of a plurality of target devices that is directly connected to that switch device; and identify one of the plurality of switch devices that is directly connected to the one of the plurality of target devices that is in a session with the initiator device that is directly connected to the IHS and, in response, cause first packets to be forwarded to that one of the plurality of switch devices.

