IP Library Granted Patent US 11,281,600
Granted Patent B2
US 11,281,600 · App. 16/439,515 · Granted Mar 22, 2022

ALUA/aggregated switch latency reduction system

Inventors: Ramesh Kumar Subbiah (Tamil Nadu, IN); Vibin Varghese (Tamil Nadu, IN)
Assignee: Dell Products L.P.
G06F13/161G06F11/201G06F13/1668H04L45/50
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,281,600
App. No.
16/439,515
Granted
Mar 22, 2022
Kind
B2
Abstract

An ALUA/aggregated switch latency reduction system includes a switch aggregation system coupling a server system including initiator devices to a storage system including target devices. The switch aggregation system includes a respective first switch device directly coupled to each of the target devices, and a respective second switch device directly coupled to each of the initiator devices. Each second switch device identifies an initiator device it is directly connected to, and transmits a respective first communication to each of the first switch devices that identifies that directly connected initiator device. When each second switch device receives a respective second communication from each of the first switch devices that identifies its directly connected target device, it identifies the first switch device directly connected to the target device that is in a session with its directly connected initiator device and, in response, causes packets to be forwarded to that first switch device.

Claims (87)

1. An Asymmetrical Logical Unit Access (ALUA)/aggregated switch latency reduction system, comprising:

a server system including a plurality of initiator devices;

a storage system including a storage subsystem coupled to a plurality of target devices; and

a switch aggregation system that couples the server system to the storage system, wherein the switch aggregation system includes:

a plurality of first switch devices that are each directly coupled to a respective target device included in the plurality of target devices; and

a plurality of second switch devices that are each directly coupled to a respective initiator device included in the plurality of initiator devices,

wherein the plurality of first switch devices and the plurality of second switch devices are aggregated in a link aggregation group that is configured to perform load-balancing operations on packets forwarded via the link aggregation group, and

wherein each second switch device included in the plurality of second switch devices is configured to:

identify the respective initiator device that is directly connected to that second switch device;

transmit, to each of the plurality of first switch devices, a respective first communication that identifies the respective initiator device that is directly connected to that second switch device;

receive, from each of the plurality of first switch devices, a respective second communication that identifies the respective target device that is directly connected to that first switch device;

identify, from the respective second communications, one of the plurality of first switch devices that is directly connected to one of the plurality of target devices that is in a session with the one of the plurality of initiator devices that is directly connected to that second switch device;

pin, to the one of the plurality of first switch devices that is directly connected to one of the plurality of target devices that is in the session with the one of the plurality of initiator devices that is directly connected to that second switch device and in response to that one of the plurality of first switch devices being directly connected to the one of the plurality of target devices in the session with the one of the plurality of initiator devices that is directly connected to that second switch device, a second switch device port on that second switch device to that one of the plurality of first switch devices;

forward, as part of the load balancing operations performed by the link aggregation group and based on the pinning of the second switch device port on that second switch device, packets to the one of the plurality of first switch devices to which the second switch device port is pinned; and

prevent, via the load balancing operations performed by the link aggregation group and based on the pinning of the second switch device port on that second switch device, packets from being forwarded to an other of the plurality of first switch devices that is directly connected to an other of the plurality of target devices that is not in the session with the one of the plurality of initiator devices that is directly connected to that second switch device.

2. The system of claim 1 , wherein each first switch device included in the plurality of first switch devices is configured to:

identify the respective target device that is included in the plurality of target devices and that is directly connected to that first switch device;

transmit, to each of the plurality of second switch devices, the respective second communication that identifies the respective target device that is directly connected to that first switch device;

receive, from each of the plurality of second switch devices, the respective first communication that identifies the respective initiator device that is directly connected to that second switch device; and

identify, from the respective first communications, one of the plurality of second switch devices that is directly connected to one of the plurality of initiator devices that is in a session with the one of the plurality of target devices that is directly connected to that first switch device and, in response, cause packets to be forwarded to that one of the plurality of second switch devices.

3. The system of claim 1 , wherein each second switch device included in the plurality of second switch devices is configured to:

snoop communications transmitted by the one of the plurality of target devices that is in the session with the one of the plurality of initiator devices that is directly connected to that second switch device; and

determine that the one of the plurality of target devices supports Asymmetrical Logical Unit Access (ALUA) operations.

4. The system of claim 1 , wherein each second switch device included in the plurality of second switch devices is configured to:

snoop session communications transmitted by the one of the plurality of initiator devices that is directly connected to that second switch device;

identify, in the snooped session communications, a first Media Access Control (MAC) address for the one of the plurality of initiator devices that is directly connected to that second switch device; and

use the first MAC address to identify that the one of the plurality of initiator devices is directly connected to that second switch device.

5. The system of claim 4 , wherein each second switch device included in the plurality of second switch devices is configured to:

identify, in the snooped session communications, a second Media Access Control (MAC) address for the one of the plurality of target devices that is in the session with the one of the plurality of initiator devices that is directly connected to that second switch device;

identify, in one of the second communications, the second Media Access Control (MAC) address for the one of the plurality of target devices that is in the session with the one of the plurality of initiator devices that is directly connected to that second switch device and, in response, cause the packets to be forwarded to the one of the plurality of first switch devices that is directly connected to that one of the plurality of target devices.

6. The system of claim 1 , wherein the first communications are first Type-Length-Value (TLV) communications, and the second communications are second TLV communications.

7. An Information Handling System (IHS), comprising:

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 Information Handling System (IHS);

transmit, to each of a plurality of switch devices that are aggregated with the IHS in a link aggregation group that is configured to perform load-balancing operations on packets forwarded via the link aggregation group, 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;

identify, from the respective second communications, 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;

pin, to the one of the plurality of switch devices that is directly connected to one of the plurality of target devices that is in the session with the initiator device that is directly connected to the IHS and in response to that one of the plurality of switch devices being directly connected to the one of the plurality of target devices in the session with the initiator device that is directly connected to the IHS, a port on the IHS to that one of the plurality of switch devices;

forward, via the load balancing operations performed by the link aggregation group and based on the pinning of the port on the IHS, packets to the one of the plurality of switch devices to which the port on the IHS is pinned; and

prevent, via the load balancing operations performed by the link aggregation group and based on the pinning of the port on the IHS, packets from being forwarded to an other of the plurality of switch devices that is directly connected to an other of the plurality of target devices that is not in the session with the initiator device that is directly connected to the IHS.

8. The IHS of claim 7 , wherein the switch engine is configured to:

snoop communications transmitted by the one of the plurality of target devices that is in the session with the initiator device that is directly connected to the IHS; and

determine that one of the plurality of target devices supports Asymmetrical Logical Unit Access (ALUA) operations.

9. The IHS of claim 7 , wherein the switch engine is configured to:

snoop session communications transmitted by the initiator device that is directly connected to the IHS;

identify, in the snooped session communications, a first Media Access Control (MAC) address for the initiator device that is directly connected to the IHS; and

use the first MAC address to identify that the initiator device is directly connected to the IHS.

10. The IHS of claim 9 , wherein the switch engine is configured to:

identify, in the snooped session communications, a second Media Access Control (MAC) address for the one of the plurality of target devices that is in the session with the initiator device that is directly connected to the IHS;

identify, in one of the respective second communications, the second Media Access Control (MAC) address for the one of the plurality of target devices that is in the session with the initiator device that is directly connected to the IHS and, in response, cause the first packets to be forwarded to the one of the plurality of switch devices that is directly connected to that one of the plurality of target devices.

11. The IHS of claim 7 , wherein the switch engine is configured to:

receive, from the server system, the first packets;

determine that the one of the plurality of switch devices, which is directly connected to the one of the plurality of target devices that is in the session with the initiator device that is directly connected to the IHS, is available; and

cause, in response to that one of the plurality of switch devices being available, the first packets to be forwarded to that one of the plurality of switch devices.

12. The IHS of claim 7 , wherein the switch engine is configured to:

receive, from the server system, second packets;

determine that the one of the plurality of switch devices, which is directly connected to the one of the plurality of target devices that is in the session with the initiator device that is directly connected to the IHS, is not available; and

cause, in response to that one of the plurality of switch devices not being available, a warning to be logged about the forwarding of the second packets using one of the plurality of switch devices that is directly connected to one of the plurality of target devices that is not in the session with the initiator device that is directly connected to the IHS.

13. The IHS of claim 7 , wherein the first communications are first Type-Length-Value (TLV) communications, and the second communications are second TLV communications.

14. A method for reducing latency in a switch aggregation that is part of an Asymmetrical Logical Unit Access (ALUA) deployment, comprising:

identifying, by a first switch device, an initiator device that is directly connected to the first switch device;

transmitting, by the first switch device to each of a plurality of second switch devices that are aggregated with the first switch device in a link aggregation group that is configured to perform load-balancing operations on packets forwarded via the link aggregation group, a respective first communication that identifies the initiator device that is directly connected to the first switch device;

receiving, by the first switch device from each of the plurality of second switch devices, a respective second communication that identifies one of a plurality of target devices that is directly connected to that second switch device;

identifying, by the first switch device from the respective second communications, one of the plurality of second 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 first switch device;

pinning, by the first switch device to the one of the plurality of second switch devices that is directly connected to one of the plurality of target devices that is in the session with the initiator device that is directly connected to the first switch device and in response to that one of the plurality of second switch devices being directly connected to the one of the plurality of target devices in the session with the initiator device that is directly connected to the first switch device, a port on the first switch device to that one of the plurality of second switch devices;

forwarding, by the first switch device via the load balancing operations performed by the link aggregation group and based on the pinning of the port on the first switch device, packets to the one of the plurality of second switch devices to which the port on the first switch device is pinned; and

preventing, by the first switch device via the load balancing operations performed by the link aggregation group and based on the pinning of the port on the first switch device, packets from being forwarded to an other of the plurality of second switch devices that is directly connected to an other of the plurality of target devices that is not in the session with the initiator device that is directly connected to the first switch device.

15. The method of claim 14 , further comprising:

snooping, by the first switch device, communications transmitted by the one of the plurality of target devices that is in the session with the initiator device that is directly connected to the first switch device; and

determining, by the first switch device, that one of the plurality of target devices supports Asymmetrical Logical Unit Access (ALUA) operations.

16. The method of claim 14 , further comprising:

snooping, by the first switch device, session communications transmitted by the initiator device that is directly connected to the first switch device;

identifying, by the first switch device in the snooped session communications, a first Media Access Control (MAC) address for the initiator device that is directly connected to the first switch device; and

using, by the first switch device, the first MAC address to identify that the initiator device is directly connected to the first switch.

17. The method of claim 16 , further comprising:

identifying, by the first switch device in the snooped session communications, a second Media Access Control (MAC) address for the one of the plurality of target devices that is in the session with the initiator device that is directly connected to the first switch device;

identifying, by the first switch device in one of the respective second communications, the second Media Access Control (MAC) address for the one of the plurality of target devices that is in the session with the initiator device that is directly connected to the first switch device and, in response, cause the first packets to be forwarded to the one of the plurality of second switch devices that is directed connected to that one of the plurality of target devices.

18. The method of claim 14 , further comprising:

receiving, by the first switch device from the server system, the first packets;

determining, by the first switch device, that the one of the plurality of second switch devices, which is directly connected to the one of the plurality of target devices that is in the session with the initiator device that is directly connected to the first switch device, is available; and

causing, by the first switch device in response to that one of the plurality of second switch devices being available, the first packets to be forwarded to that one of the plurality of second switch devices.

19. The method of claim 14 , further comprising:

receiving, by the first switch device from the server system, second packets;

determining, by the first switch device, that the one of the plurality of second switch devices, which is directly connected to the one of the plurality of target devices that is in the session with the initiator device that is directly connected to the IHS, is not available; and

causing, in response to that one of the plurality of second switch devices not being available, a warning to be logged about the forwarding of the second packets using one of the plurality of second switch devices that is directly connected to one of the plurality of target devices that is not in the session with the initiator device that is directly connected to the first switch device.

20. The method of claim 14 , wherein the first communications are first Type-Length-Value (TLV) communications, and the second communications are second TLV communications.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (050724/0571) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060436/0088 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: EMC CORPORATION; DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 13, 2019
From: SUBBIAH, RAMESH KUMAR; VARGHESE, VIBIN
To: DELL PRODUCTS L.P.
Reel/Frame 049457/0926 →
Continuity (1)
Related Publication 20200394143A1 · Dec 17, 2020