IP Library Granted Patent US 9,043,529
Granted Patent B2
US 9,043,529 · App. 13/683,531 · Granted May 26, 2015

Method to facilitate fast context switching for partial and extended path extension to remote expanders

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 9,043,529
App. No.
13/683,531
Granted
May 26, 2015
Kind
B2
Abstract

A method, apparatus, and system for switching from an existing target end device to a next target end device in a multi-expander storage topology by using Fast Context Switching. The method enhances Fast Context Switching by allowing Fast Context Switching to reuse or extend part of an existing connection path to an end device directly attached to a remote expander. The method can include reusing or extending at least a partial path of an established connection between an initiator and the existing target end device for a connection between the initiator and the next target end device, whereby the existing target end device and the next target end device are locally attached to different expanders.

Claims (54)

1. A method for switching from an existing target end device to a next target end device in a multi-expander storage topology, the multi-expander topology including at least one initiator and at least two expanders, the at least two expanders including a first expander and a second expander, wherein the first expander is locally attached to the existing target end device and the second expander is locally attached to the next target end device, the method comprising:

receiving, from an initiator of the at least one initiator or an upstream expander of the at least two expanders, a done switch issued by the initiator, wherein the done switch is configured to close an established connection between the initiator and the existing target end device;

receiving, from the initiator or the upstream expander, a switch address frame, wherein the switch address frame is configured to instruct the second expander locally attached to the next target end device to establish a connection between the initiator and the next target end device; and

performing at least one action, the at least one action including:

reusing a partial path of the established connection between the initiator and the existing target end device for the connection between the initiator and the next target end device, wherein the existing target end device and the next target end device are locally attached to different expanders; or

extending a path of the established connection between the initiator and the existing target end device for the connection between the initiator and the next target end device, wherein the existing target end device and the next target end device are locally attached to different expanders.

2. The method of claim 1 , further comprising:

using Fast Context Switching protocol.

3. The method of claim 2 , wherein the done switch is a DONE_SWITCH primitive and the switch address frame is a SWITCH_ADDRESS_FRAME.

4. The method of claim 1 , further comprising:

monitoring for the switch address frame issued by the initiator upon receiving the done switch issued by the initiator.

5. The method of claim 1 , further comprising:

determining if the path between the initiator and the next target end device includes a downstream expander which is in the path of the established connection between the initiator and the existing target end device.

6. The method of claim 5 , further comprising:

forwarding the switch address frame to the downstream expander which is in the path of the established connection between the initiator and the existing target end device upon a determination that the path between the initiator and the next target end device includes the downstream expander which is in the path of the established connection between the initiator and the existing target end device.

7. The method of claim 5 , further comprising:

forwarding the switch address frame as an OPEN address frame to an expander outside of the path of the established connection between the initiator and the existing target end device upon a determination that the path between the initiator and the next target end device does not include a downstream expander in the path of the established connection between the initiator and the existing target end device.

8. The method of claim 5 , further comprising:

establishing a connection to the locally attached expander based upon the received switch address frame upon a determination that the path between the initiator and the next target end device does not include a downstream expander in the path of the established connection between the initiator and the existing target end device; and

closing a connection to the downstream expander upon the determination that the path between the initiator and the next target end device does not include a downstream expander in the path of the established connection between the initiator and the existing target end device.

9. The method of claim 5 , further comprising:

closing a connection to the downstream expander upon a determination that the path between the initiator and the next target end device does not include a downstream expander in the path of the established connection between the initiator and the existing target end device.

10. The method of claim 1 , further comprising:

forwarding the done switch to the last expander on a path of the established connection between the initiator and the existing target end device.

11. An apparatus configured for use in a multi-expander storage topology, the multi-expander topology including at least one initiator and at least two expanders, the at least two expanders including a first expander and a second expander, wherein the first expander is locally attached to the existing target end device and the second expander is locally attached to the next target end device, the apparatus comprising:

an expander, wherein the expander is configured for:

receiving, from an initiator of the at least one initiator or an upstream expander of the at least two expanders, a done switch issued by the initiator, wherein the done switch is configured to close an established connection between the initiator and the existing target end device;

monitoring for a switch address frame issued by the initiator upon receiving the done switch issued by the initiator, wherein the switch address frame is configured to instruct the second expander locally attached to the next target end device to establish a connection between the initiator and the next target end device;

receiving, from the initiator or the upstream expander, the switch address frame; and performing at least one action, the at least one action including:

reusing a partial path of the established connection between the initiator and the existing target end device for the connection between the initiator and the next target end device, wherein the existing target end device and the next target end device are locally attached to different expanders; or

extending a path of the established connection between the initiator and the existing target end device for the connection between the initiator and the next target end device, wherein the existing target end device and the next target end device are locally attached to different expanders.

12. The apparatus of claim 11 , wherein the expander is further configured for using Fast Context Switching protocol.

13. The apparatus of claim 11 , wherein the expander is further configured for:

determining if the path between the initiator and the next target end device includes a downstream expander which is in the path of the established connection between the initiator and the existing target end device.

14. The apparatus of claim 13 , wherein the expander is further configured for:

forwarding the switch address frame to the downstream expander which is in the path of the established connection between the initiator and the existing target end device upon a determination that the path between the initiator and the next target end device includes the downstream expander which is in the path of the established connection between the initiator and the existing target end device.

15. The apparatus of claim 13 , wherein the expander is further configured for:

forwarding the switch address frame as an OPEN address frame to an expander outside of the path of the established connection between the initiator and the existing target end device upon a determination that the path between the initiator and the next target end device does not include a downstream expander in the path of the established connection between the initiator and the existing target end device.

16. The apparatus of claim 13 , wherein the expander is further configured for:

establishing a connection to the locally attached expander based upon the received switch address frame upon a determination that the path between the initiator and the next target end device does not include a downstream expander in the path of the established connection between the initiator and the existing target end device; and

closing a connection to the downstream expander upon the determination that the path between the initiator and the next target end device does not include a downstream expander in the path of the established connection between the initiator and the existing target end device.

17. The apparatus of claim 13 , wherein the expander is further configured for:

closing a connection to the downstream expander upon a determination that the path between the initiator and the next target end device does not include a downstream expander in the path of the established connection between the initiator and the existing target end device.

18. A multi-expander system, comprising:

at least one initiator, the at least one initiator including an initiator; a plurality of end devices, the plurality of end devices including an existing target end device and a next target end device; at least two expanders, the at least two expanders including a first expander and a second expander, wherein the first expander is locally attached to the existing target end device and the second expander is locally attached to the next target end device, wherein each expander of the at least two expanders is configured for:

receiving, from an initiator of the at least one initiator or an upstream expander of the at least two expanders, a done switch issued by the initiator, wherein the done switch is configured to close an established connection between the initiator and the existing target end device;

monitoring for a switch address frame issued by the initiator upon receiving the done switch issued by the initiator, wherein the switch address frame is configured to instruct the second expander locally attached to the next target end device to establish a connection between the initiator and the next target end device;

receiving, from the initiator or the upstream expander, the switch address frame; and performing at least one action, the at least one action including:

reusing a partial path of the established connection between the initiator and the existing target end device for the connection between the initiator and the next target end device, wherein the existing target end device and the next target end device are locally attached to different expanders; or

extending a path of the established connection between the initiator and the existing target end device for the connection between the initiator and the next target end device, wherein the existing target end device and the next target end device are locally attached to different expanders.

19. The system of claim 18 , wherein each expander of the at least two expanders is further configured for using Fast Context Switching protocol.

20. The system of claim 18 , wherein each expander of the at least two expanders is further configured for:

determining if the path between the initiator and the next target end device includes a downstream expander which is in the path of the established connection between the initiator and the existing target end device; and

forwarding the switch address frame to an expander outside of the path of the established connection between the initiator and the existing target end device upon a determination that the path between the initiator and the next target end device does not include a downstream expander in the path of the established connection between the initiator and the existing target end device.

Assignments (8)
CORRECTIVE ASSIGNMENT TO CORRECT THE EXECUTION DATE PREVIOUSLY RECORDED AT REEL: 047422 FRAME: 0464. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 6, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 048883/0702 →
MERGER Recorded Oct 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047422/0464 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS (RELEASES RF 032856-0031) Recorded Feb 2, 2016
From: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
To: LSI CORPORATION; AGERE SYSTEMS LLC
Reel/Frame 037684/0039 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 3, 2015
From: LSI CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 035390/0388 →
PATENT SECURITY AGREEMENT Recorded May 8, 2014
From: LSI CORPORATION; AGERE SYSTEMS LLC
To: DEUTSCHE BANK AG NEW YORK BRANCH, AS COLLATERAL AGENT
Reel/Frame 032856/0031 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2012
From: MORE, SHANKAR T.; PINGLIKAR, VIDYADHAR C.
To: LSI CORPORATION
Reel/Frame 029337/0822 →