IP Library Granted Patent US 8,051,334
Granted Patent B2
US 8,051,334 · App. 11/940,144 · Granted Nov 1, 2011

Enabling SAS expander loops for increased fairness and performance

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 8,051,334
App. No.
11/940,144
Granted
Nov 1, 2011
Kind
B2
Abstract

The use of loops in SAS networks is enabled by designating ports connected to loop connections as table loop ports (TLPs). Under normal operating conditions, each TLP is blocked from receiving BCNs, appears to the expander to have nothing connected to it, and is made invisible to initiators. The loop connection and TLPs may be enabled and used to access devices when a problem is detected. In particular, the TLP will now appear in a list of destination ports within the expander to which a BCN should be propagated. In addition, during a subsequent self-configuration, the TLP is allowed to populate its route table with devices accessible through it, and the existence of the TLP is also reported back to initiators. After re-discovery is complete, communications between the initiator and a target can resume, with traffic re-routed through the TLPs as needed, bypassing the failure point.

Claims (29)

1. A method for enabling loop configurations in a Serial Attached SCSI (SAS) expander network, comprising:

designating a port in a SAS expander as a table loop port (TLP) through which a fail-over path is to be established by assigning a table loop attribute to the port;

while no failure is detected within the SAS expander network, hiding the TLP by blocking the TLP from receiving broadcast change notifications (BCNs); and

enabling the TLP by permitting BCNs to be propagated to the TLP when a failure is detected within the SAS expander network.

2. The method of claim 1 , wherein hiding the TLP further comprises preventing any devices from appearing in a route table associated with the TLP.

3. The method of claim 1 , wherein hiding the TLP further comprises suppressing a reporting of an existence of the TLP back to an initiator in response to an SMP DISCOVER command from the initiator.

4. The method of claim 1 , further comprising detecting a failure within the SAS expander network by detecting an existence of only one TLP during expander self-configuration that necessitates using the fail-over path.

5. The method of claim 1 , further comprising enabling the TLP by allowing devices connected to the TLP to appear in a route table associated with the TLP.

6. The method of claim 1 , further comprising enabling the TLP by reporting an existence of the TLP back to an initiator in response to an SMP DISCOVER command from the initiator.

7. The method of claim 1 , further comprising coupling a first loop configuration having the fail-over path and a second loop configuration having another fail-over path via a root expander, and identifying the TLPs associated with each fail-over path.

8. The method of claim 1 , further comprising

generating an expander-based routing table associated with the SAS expander, the routing table including the TLP for enabling traffic to be routed through the TLP as well as through expander ports.

9. The method of claim 8 , further comprising defining preference paths in the expander-based routing table to route initiator requests through paths in a preferred order.

10. A Serial Attached SCSI (SAS) expander for enabling loop configurations in a SAS expander network, comprising:

a plurality of ports, each port associated with a route table; and

a processor communicatively coupled for configuring the plurality of ports and programmed for

designating one of the plurality of ports as a table loop port (TLP) through which a fail-over path is to be established by assigning a table loop attribute to that port,

while no failure is detected within the SAS expander network, hiding the TLP by blocking the TLP from receiving broadcast change notifications (BCNs), and

enabling the TLP by permitting BCNs to be propagated to the TLP when a failure is detected within the SAS expander network.

11. The SAS expander of claim 10 , the processor further programmed wherein hiding the TLP further comprises preventing any devices from appearing in the route table associated with the TLP.

12. The SAS expander of claim 10 , the processor further programmed wherein hiding the TLP further comprises suppressing a reporting of an existence of the TLP back to an initiator in response to an SMP DISCOVER command from the initiator.

13. The SAS expander of claim 10 , the processor further programmed for initiating a self-configuration process in response to a broadcast change notification (BCN), and detecting a failure within the SAS expander network by detecting an existence of only one TLP during the self-configuration process that necessitates using the fail-over path.

14. The SAS expander of claim 10 , the processor further programmed for enabling the TLP by allowing devices connected to the TLP to appear in the route table associated with the TLP.

15. The SAS expander of claim 10 , the processor further programmed for coupling a first loop configuration having the fail-over path and a second loop configuration having another fail-over path via a root expander, and identifying the TLPs associated with each fail-over path.

16. The Serial Attached SCSI (SAS) expander of claim 10 wherein the processor is further programmed for generating an expander-based routing table associated with the SAS expander, the routing table including the TLP for enabling traffic to be routed through the TLP as well as through expander ports.

17. The SAS expander of claim 16 , the processor further programmed for defining preference paths in the expander-based routing table to route initiator requests through paths in a preferred order.

18. A computer-readable storage medium comprising program code for enabling loop configurations in a Serial Attached SCSI (SAS) expander network, the program code for causing performance of a method comprising: designating a port in a SAS expander as a table loop port (TLP) through which a fail-over path is to be established by assigning a table loop attribute to the port; while no failure is detected within the SAS expander network, any hiding the TLP by blocking the TLP from receiving broadcast change notifications (BCNs); and enabling the TLP by permitting BCNs to be propagated to the TLP when a failure is detected within the SAS expander network.

19. The computer-readable storage medium of claim 18 , the program code for causing performance of a method wherein hiding the TLP further comprises suppressing a reporting of an existence of the TLP back to an initiator in response to an SMP DISCOVER command from the initiator to.

20. The computer-readable storage medium of claim 18 , the program code for causing performance of a method wherein hiding the TLP further comprises preventing any devices from appearing in a route table associated with the TLP to.

Assignments (6)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2015
From: EMULEX CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 036942/0213 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2014
From: EMULEX DESIGN AND MANUFACTURING CORPORATION
To: EMULEX CORPORATION
Reel/Frame 032087/0842 →