IP Library Granted Patent US 7,624,223
Granted Patent B2
US 7,624,223 · App. 11/682,798 · Granted Nov 24, 2009

Apparatus and methods for multiple unidirectional virtual connections among SAS devices

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 7,624,223
App. No.
11/682,798
Granted
Nov 24, 2009
Kind
B2
Abstract

Apparatus and methods for enabling multiple, unidirectional, virtual connections between a first SAS device and multiple other SAS devices in a SAS domain. An enhanced first SAS device may be substantially simultaneously coupled to each of two other SAS devices through one or more appropriately enhanced SAS expanders to allow substantially simultaneous unidirectional virtual connections from the first SAS device to both of the second and third SAS devices. Each virtual connection is, in essence, a half-duplex connection such that the first device is transmitting information to a second SAS device substantially simultaneous with the first device receiving information from a third SAS device. The enhancements are provided in a manner to allow backward compatibility with current SAS specifications for connectivity among devices not suitably enhanced in accordance with features and aspects hereof (e.g., with legacy devices).

Claims (56)

1. A system comprising:

three serial attached SCSI (SAS) devices including a first SAS device, a second SAS device and a third SAS device; and

a SAS expander component configured to couple the first SAS device to each of the second SAS device and the third SAS device,

wherein the first SAS device and the SAS expander are adapted to simultaneously allow and operate a first open connection between the first and second SAS devices and a second open connection between the first and third SAS devices, and

wherein the first and second open connections utilize a single physical link (PHY) coupling the first SAS device to the SAS expander.

2. The system of claim 1

wherein the first open connection is used to transmit frames from the first SAS device to the second SAS device, and

wherein the second open connection is used to transmit frames from the third SAS device to the first SAS device.

3. The system of claim 2

wherein the system is adapted to block receive credit associated with the first SAS device in the first open connection by sending a CREDIT BLOCKED primitive from the first SAS device to the second SAS device.

4. The system of claim 2

wherein the system is adapted to disregard RRDY primitives in the second open connection normally sent by the third SAS device to the first SAS device.

5. The system of claim 1

wherein the SAS expander is adapted to reject an open address frame from a fourth SAS device directed to the first SAS device while the second open connection remains open.

6. The system of claim 1

wherein the SAS expander is adapted to delay an open address frame from a fourth SAS device directed to the first SAS device while the second open connection remains open.

7. A method operable in a serial attached SCSI (SAS) domain having a SAS expander coupling a first SAS device to each of second and third SAS devices, the method comprising:

establishing a first virtual connection between the first SAS device and the second SAS device through the SAS expander wherein the first virtual connection is established by the first SAS device and is used to transmit frames from the first SAS device to the second SAS device; and

establishing a second virtual connection between the first SAS device and the third SAS device through the SAS expander wherein the second virtual connection is established by the third SAS device and is used to transmit frames from the third SAS device to the first SAS device,

wherein the first virtual connection and the second virtual connection may overlap operation, and

wherein the first and second virtual connections utilize the same physical link (PHY) coupling the first SAS device to the SAS expander.

8. The method of claim 7 further comprising:

rejecting an open address frame from a fourth SAS device directed to the first SAS device while the second virtual connection remains open.

9. The method of claim 7 further comprising:

disregarding RRDY primitives sent by the third SAS device to the first SAS device.

10. The method of claim 7 further comprising:

sending a CREDIT BLOCKED primitive from the first SAS device to the second SAS device.

11. A serial attached SCSI (SAS) expander adapted for coupling to first, second, and third SAS devices wherein the SAS expander further comprises:

first virtual connection logic adapted to establish and operate a first virtual connection between the first SAS device and the second SAS device for purposes of transmitting frames from the first SAS device to the second SAS device; and

second virtual connection logic adapted to establish and operate a second virtual connection between the first SAS device and the third SAS device for purposes of transmitting frames from the third SAS device to the first SAS device,

wherein the first virtual connection logic and the second virtual connection logic are each adapted to allow the first virtual connection and the second virtual connection to overlap operation utilizing a single physical link (PHY) coupling the SAS expander with the first SAS device.

12. The expander of claim 11 further comprising:

open connection rejection logic adapted to reject an open frame request from a fourth SAS device directed to the first SAS device while the second virtual connection remains open.

13. The expander of claim 11

wherein the second virtual connection logic further comprises:

duplex logic adapted to disregard RRDY primitives directed from the third SAS device to the first SAS device.

14. The expander of claim 11

wherein the first virtual connection logic further comprises:

duplex logic adapted to block receive credit associated with the first SAS device in the first open connection by sending a CREDIT BLOCKED primitive from the first SAS device to the second SAS device.

15. The expander of claim 11

wherein the second virtual connection logic is adapted to reject an open address frame from a fourth SAS device directed to the first SAS device while the second open connection remains open.

16. The expander of claim 11

wherein the second virtual connection logic is adapted to delay an open address frame from a fourth SAS device directed to the first SAS device while the second open connection remains open.

17. A serial attached SCSI (SAS) end device comprising:

first virtual connection logic adapted to establish and operate a first virtual connection between the SAS end device and a first SAS device through a SAS expander for purposes of transmitting frames from the SAS end device to the first SAS device; and

second virtual connection logic adapted to establish and operate a second virtual connection between the SAS end device and a second SAS device through a SAS expander for purposes of transmitting frames from the second SAS device to the SAS end device,

wherein the first virtual connection logic and the second virtual connection logic are each adapted to allow the first virtual connection and the second virtual connection to overlap operation, and

wherein the end device is adapted to establish the first and second virtual connections on the same physical link (PHY) coupling the SAS end device to the SAS expander.

18. The end device of claim 17

wherein the second virtual connection logic further comprises:

duplex logic adapted to disregard RRDY primitives directed from the second SAS device to the SAS end device.

19. The end device of claim 17

wherein the first virtual connection logic further comprises:

duplex logic adapted to block receive credit associated with the first SAS device in the first open connection by sending a CREDIT BLOCKED primitive from the SAS end device to the first SAS device.

20. The end device of claim 17 further comprising:

duplex logic adapted to manage transmission credit associated with the first virtual connection independent of the reception credit associated with the second virtual connection.

Assignments (9)
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE OF MERGER PREVIOUSLY RECORDED AT REEL: 047195 FRAME: 0827. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Nov 5, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047924/0571 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047195/0827 →
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 →
CHANGE OF NAME Recorded Jun 6, 2014
From: LSI LOGIC CORPORATION
To: LSI CORPORATION
Reel/Frame 033102/0270 →
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 Mar 6, 2007
From: CLEGG, ROGER T.; DAY, BRIAN
To: LSI LOGIC CORP.
Reel/Frame 018973/0165 →