IP Library › Granted Patent US 9,436,636
Granted Patent B2
US 9,436,636 · App. 13/710,133 · Granted Sep 6, 2016

Structure for non-blocking serial attached SCSI infrastructure utilizing virtual pathways

Inventors: William W. Voorhees (Colorado Springs, CO); Srikiran Dravida (Colorado Springs, CO); Timothy E. Hoglund (Colorado Springs, CO); William K. Petty (Colorado Springs, CO)
Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
G06F13/4022G06F3/061G06F3/0635G06F3/0683
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,436,636
App. No.
13/710,133
Granted
Sep 6, 2016
Kind
B2
Abstract

Structure is disclosed for a non-blocking SAS architecture utilizing virtual connections between SAS devices. One embodiment comprises a SAS expander. The SAS expander comprises a plurality of physical links (PHYs) and a Virtual Connection Manager (VCM) coupled with the plurality of PHYs. The VCM exchanges information over a plurality of concurrently established virtual pathways between a first PHY of the plurality of PHYs and a second PHY of the plurality of PHYs.

Claims (51)

1. A Serial Attached SCSI (SAS) expander comprising:

a first physical Link (PHY);

a second PHY; and

a Virtual Connection Manager (VCM) adapted to exchange information over a plurality of concurrently established full-duplex virtual pathways directly between the first PHY and the second PHY.

2. The SAS expander of claim 1 wherein:

the information comprises one or more virtual SAS cells, wherein each of the one or more virtual SAS cells includes a segmented SAS communication.

3. The SAS expander of claim 2 further comprising:

an Expander Link Layer (XL) coupled with the first PHY, the XL adapted to exchange SAS communications with legacy SAS devices; and

a virtual fabric layer coupled with the XL and the VCM, the virtual fabric layer adapted to receive the SAS communication from the XL, to segment the SAS communication into the one or more virtual SAS cells, and to provide the one or more virtual SAS cells to the VCM for routing to the second PHY.

4. The SAS expander of claim 2 further comprising:

a cell flow control module adapted to manage the flow of the one or more virtual SAS cells based on a number of cell buffers that are available for exchanging the one or more virtual SAS cells with a PHY of the SAS expander and an external device.

5. The SAS expander of claim 4 wherein the cell flow control module further comprises:

a data flow control module adapted to manage a flow of virtual data cells based on a number of data cell buffers of the cell buffers that are available for exchanging virtual data cells across the PHY; and

an address flow control module adapted to manage a flow of virtual address cells based on a number of address cell buffers of the cell buffers that are available for exchanging virtual address cells across the PHY.

6. The SAS expander of claim 5 wherein:

a ratio between a number of address cell buffers and a number of data cell buffers changes dynamically based on a bandwidth utilization of the PHY.

7. The SAS expander of claim 2 further comprising:

a virtual fabric layer coupled with the VCM; and

an Expander Link Layer (XL) coupled with the virtual fabric layer and the second PHY, the XL adapted to exchange SAS communications with legacy SAS devices,

wherein the virtual fabric layer is adapted to receive the one or more virtual SAS cells, to reassemble the one or more virtual SAS cells into the SAS communication, and to provide the SAS communication to the XL for routing to the second PHY.

8. The SAS expander of claim 7 wherein:

the virtual fabric layer is further adapted to receive a plurality of virtual SAS cells, to determine an order associated with re-assembling the plurality of virtual SAS cells into the SAS communication, and to re-assemble the plurality of virtual SAS cells into the SAS communication based on the determined order.

9. The SAS expander of claim 7 wherein:

the virtual fabric layer is further adapted to perform an arbitration process between multiple virtual pathways for a legacy SAS endpoint by temporarily establishing a legacy SAS pathway to the legacy SAS endpoint for each of the multiple virtual pathways.

10. The SAS expander of claim 9 wherein:

the virtual fabric layer is further adapted to temporarily open a legacy SAS pathway to a legacy SAS device for a first virtual pathway of the multiple virtual pathways, to provide SAS communications associated with the first virtual pathway to the XL for routing along the legacy SAS pathway, and to close the legacy SAS pathway for the first virtual pathway;

the virtual fabric layer is further adapted to temporarily open the legacy SAS pathway to the legacy SAS device for a second virtual pathway of the multiple virtual pathways, to provide SAS communications associated with the second virtual pathway to the XL for routing along the legacy SAS pathway, and to close the legacy SAS pathway for the second virtual pathway.

11. The SAS expander of claim 1 wherein:

the VCM is further adapted to receive a request to establish a virtual pathway for a SAS device, to identify a plurality of possible virtual routes between a plurality of PHYs of the SAS expander that satisfy the request, and to dynamically select one of the possible virtual routes based on a quality of service associated with each of the possible routes.

12. The SAS expander of claim 1 wherein:

the VCM is further adapted to establish a new concurrent full-duplex virtual pathway between the first PHY and the second PHY, and to exchange information over the new concurrent full-duplex virtual pathway without performing an arbitration with previously established full-duplex virtual pathways between the first PHY and the second PHY.

13. The SAS expander of claim 1 wherein:

the VCM is further adapted to receive a request to establish a full-duplex virtual pathway for a SAS device, to identify a plurality of possible virtual routes between a plurality of PHYs of the SAS expander that satisfy the request, and to dynamically select one of the possible virtual routes based on an information load associated with each of the possible routes.

14. The SAS expander of claim 1 wherein:

the VCM is further adapted to receive a request to establish a full-duplex virtual pathway for a SAS device, to identify a plurality of possible virtual routes between a plurality of PHYs of the SAS expander that satisfy the request, and to dynamically select one of the possible virtual routes based on queue levels for each of the possible routes.

15. The SAS expander of claim 1 wherein:

the VCM is further adapted to receive a request to establish a full-duplex virtual pathway for a SAS device, to identify a plurality of possible virtual routes between a plurality of PHYs of the SAS expander that satisfy the request, and to dynamically select one of the possible virtual routes based on an expected bandwidth for established connections associated with each of the possible routes.

16. The SAS expander of claim 1 wherein:

the information to exchange is SAS information encapsulated within a virtual SAS cell that includes a virtual connection identifier for routing for the virtual SAS cell over one or more full-duplex virtual pathways used in a virtual connection; and

the VCM is further adapted to establish a new full-duplex virtual pathway between the first PHY and a third PHY of the SAS expander, to receive a plurality of virtual SAS cells at the first PHY, to determine, for each of the plurality of virtual SAS cells, a route for each of the plurality of virtual SAS cells between the first PHY and one of the second PHY and the third PHY based on the connection identifier for routing the virtual SAS cells.

17. The SAS expander of claim 16 wherein:

the VCM is further adapted to determine that the virtual connection identifier for one of the plurality of virtual SAS cells specifies the new full-duplex virtual pathway for routing, to determine that the first PHY is electrically connected to the second PHY, to electrically disconnect the second PHY from the first PHY, and to electrically connect the third PHY to the first PHY for routing the one of the plurality of virtual SAS cells utilizing the new full-duplex virtual pathway.

18. A Serial Attached SCSI (SAS) expander comprising:

a first physical link (PHY);

a second PHY;

a third PHY; and

a Virtual Connection Manager (VCM) adapted to receive SAS frames, to segment the SAS frames into a plurality of virtual SAS cells, and to transmit the plurality of virtual SAS cells utilizing a plurality of concurrently established full-duplex virtual pathways directly between the first PHY and the second and third PHY.

19. A Serial Attached SCSI (SAS) expander comprising:

a first physical link (PHY);

a second PHY; and

a Virtual Connection Manager (VCM) adapted to receive a plurality of virtual SAS cells comprising segmented SAS frames at the first PHY, and to forward the plurality of virtual SAS cells utilizing a plurality of concurrently established full-duplex virtual pathways directly from the first PHY to the second PHY.

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 Dec 10, 2012
From: VOORHEES, WILLIAM W.; DRAVIDA, SRIKIRAN; HOGLUND, TIMOTHY E.; PETTY, WILLIAM K.
To: LSI CORPORATION
Reel/Frame 029439/0981 →
Continuity (1)
Related Publication 20140164670A1 · Jun 12, 2014