IP Library Granted Patent US 7,882,509
Granted Patent B2
US 7,882,509 · App. 11/823,996 · Granted Feb 1, 2011

Expander-based solution to the dynamic STP address problem

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,882,509
App. No.
11/823,996
Granted
Feb 1, 2011
Kind
B2
Abstract

The persistent binding of STP SAS addresses to SATA devices is disclosed so that SATA devices can be moved to different insertion points (ports) within a SAS expander and still properly receive I/O requests. When a SATA device is inserted into the SAS expander, it is interrogated to obtain information about the attached device. This information may be combined using a hashing function to obtain a unique ID for the SATA device. A table can be used to assign a STP SAS address to the Phy connected to the device based in the unique ID. In this manner, the same STP SAS address will be assigned to the Phy connected to a particular SATA device, regardless of where the device is connected to the SAS expander.

Claims (42)

1. A Serial Attached SCSI (SAS) expander for persistent binding of a connected Serial Advanced Technology Attachment (SATA) device to a SATA Tunneling Protocol (STP) SAS address, comprising:

a processor programmed for

detecting that the SATA device has been connected to a Phy in the SAS expander,

obtaining information about the SATA device, and

generating a unique ID for the SATA device based on the obtained information; and

memory communicatively coupled to the processor and configured for associating the unique ID with a corresponding STP SAS address utilizing a stored table;

wherein the processor is further programmed for assigning the corresponding STP SAS address to the Phy connected to the SATA device.

2. The SAS expander of claim 1 , the processor further programmed for obtaining information about the SATA device using IDENTIFY exchanges.

3. The SAS expander of claim 1 , the obtained information including a World Wide Name (WWN) of the SATA device.

4. The SAS expander of claim 1 , the processor further programmed for using a hashing table to generate the unique ID from the obtained information.

5. The SAS expander of claim 1 , the processor further programmed for creating a new entry in the stored table if the unique ID is not found in the table.

6. The SAS expander of claim 1 , the processor further programmed for associating a previously used STP SAS address with the unique ID if the unique ID is not found in the table.

7. The SAS expander of claim 1 , further comprising one or more initiators and one or more devices coupled to the SAS expander.

8. A storage network comprising the SAS expander of claim 1 .

9. A Serial Attached SCSI (SAS) expander for persistent binding of a connected Serial Advanced Technology Attachment (SATA) device to a SATA Tunneling Protocol (STP) SAS address, comprising:

means for detecting that the SATA device has been connected to a Phy in the SAS expander;

means for obtaining information about the SATA device;

means for generating a unique ID for the SATA device based on the obtained information;

means for associating the unique ID with a corresponding STP SAS address; and

means for assigning the corresponding STP SAS address to the Phy connected to the SATA device.

10. A method for persistent binding of a connected Serial Advanced Technology Attachment (SATA) device to a SATA Tunneling Protocol (STP) SAS address in a SAS expander, comprising:

detecting that the SATA device has been connected to a Phy in the SAS expander;

obtaining information about the SATA device;

generating a unique ID for the SATA device based on the obtained information;

associating the unique ID with a corresponding STP SAS address utilizing a stored table; and

assigning the corresponding STP SAS address to the Phy connected to the SATA device.

11. The method of claim 10 , further comprising obtaining information about the SATA device using IDENTIFY exchanges.

12. The method of claim 10 , the obtained information including a World Wide Name (WWN) of the SATA device.

13. The method of claim 10 , further comprising using a hashing table to generate the unique ID from the obtained information.

14. The method of claim 10 , further comprising creating a new entry in the stored table if the unique ID is not found in the table.

15. The method of claim 10 , further comprising associating a previously used STP SAS address with the unique ID if the unique ID is not found in the table.

16. A computer-readable medium comprising program code for persistent binding of a connected Serial Advanced Technology Attachment (SATA) device to a SATA Tunneling Protocol (STP) SAS address in a SAS expander, the program code for causing performance of a method comprising:

detecting that the SATA device has been connected to a Phy in the SAS expander;

obtaining information about the SATA device;

generating a unique ID for the SATA device based on the obtained information;

associating the unique ID with a corresponding STP SAS address utilizing a stored table; and

assigning the corresponding STP SAS address to the Phy connected to the SATA device.

17. The computer-readable medium of claim 16 , the program code further for causing performance of a method comprising obtaining information about the SATA device using IDENTIFY exchanges.

18. The computer-readable medium of claim 16 , the obtained information including a World Wide Name (WWN) of the SATA device.

19. The computer-readable medium of claim 16 , the program code further for causing performance of a method comprising using a hashing table to generate the unique ID from the obtained information.

20. The computer-readable medium of claim 16 , the program code further for causing performance of a method comprising creating a new entry in the stored table if the unique ID is not found in the table.

21. The computer-readable medium of claim 16 , the program code further for causing performance of a method comprising associating a previously used STP SAS address with the unique ID if the unique ID is not found in the table.

Assignments (7)
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 29, 2007
From: JONES, MARC TIMOTHY; NOTTBERG, CURTIS EDWARD; BOWMAN, KEVIN DALE
To: EMULEX DESIGN & MANUFACTURING CORPORATION
Reel/Frame 019566/0845 →