IP Library Granted Patent US 8,483,226
Granted Patent B1
US 8,483,226 · App. 12/973,275 · Granted Jul 9, 2013

Method and apparatus for extended addressing in a fiber channel arbitrated loop

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,483,226
App. No.
12/973,275
Granted
Jul 9, 2013
Kind
B1
Abstract

Methods and apparatus for increasing the number of addressable node ports within one arbitrated loop are provided in a way that allows all node ports be able to participate in loop operations. The method also adds destination filtering based on the source address to determine which of the similarly addressed node ports a message is destined for. A unique arbitrated loop physical address is acquired by a connectivity device. A shared arbitrated loop physical address is acquired by each drive in a set of drives attached to the connectivity device. The shared arbitrated loop physical address is part of a set of shared arbitrated loop physical addresses that are shared among a plurality of connectivity devices. The drive can be uniquely addressed using a pairing of the shared loop physical address associated with the drive and the unique arbitrated loop physical address associated with the selected connectivity device.

Claims (53)

1. A method of routing post-arbitration communications at a connectivity device in a fiber channel arbitrated loop, the loop including a plurality of connectivity devices and a plurality of sets of drives, each set of drives being connected to one of the connectivity devices, comprising:

receiving an open primitive having a first drive identifier contained in an arbitrated loop destination address and a second drive identifier contained in an arbitrated loop source address, the first and second drive identifiers forming an address pair arranged to uniquely address a destination drive in the plurality of sets of drives;

examining both the arbitrated loop source address and the arbitrated loop destination address to determine whether the destination drive is connected to the connectivity device, including:

comparing the arbitrated loop destination address to a unique arbitrated loop physical address associated with the connectivity device; and

comparing the arbitrated loop source address to a shared arbitrated loop physical address associated with the destination drive; and

opening a connection between an initiating controller and the destination drive in response to a determination that the destination drive is connected to the connectivity device.

2. The method of claim 1 wherein the second drive identifier is independent of a previous arbitrated loop source address used to win arbitration.

3. The method of claim 1 wherein the unique arbitrated loop physical address associated with the connectivity device comprises one of a set of unique arbitrated loop physical addresses associated with the connectivity device.

4. The method of claim 1 wherein the shared arbitrated loop physical address is part of a set of shared arbitrated loop physical addresses shared among the connectivity devices, the destination drive being uniquely addressable using a pairing of the shared loop physical address associated with the destination drive and the unique arbitrated loop physical address associated with the connectivity device to which the destination drive is connected.

5. The method of claim 3 wherein the shared arbitrated loop physical address is part of a set of shared arbitrated loop physical addresses shared among the connectivity devices, the destination drive being uniquely addressable using a pairing of the shared loop physical address associated with the destination drive and the unique arbitrated loop physical address associated with the connectivity device to which the destination drive is connected.

6. The method of claim 1 further comprising:

forwarding the open primitive to another connectivity device in response to a determination that the destination drive is not connected to the connectivity device.

7. A method of routing post-arbitration communications at a connectivity device in a fiber channel arbitrated loop, the loop including a plurality of connectivity devices and a plurality of sets of drives, each set of drives being connected to one of the connectivity devices, comprising:

receiving an open primitive having a first drive identifier contained in an arbitrated loop destination address and a second drive identifier contained in an arbitrated loop source address, the first and second drive identifiers forming an address pair arranged to uniquely address a destination drive in the plurality of sets of drives;

examining both the arbitrated loop source address and the arbitrated loop destination address to determine whether the destination drive is connected to the connectivity device; and

opening a connection between an initiating controller and the destination drive in response to a determination that the destination drive is connected to the connectivity device,

wherein the connectivity device is provided within an enclosure, and the arbitrated loop destination address represents the connectivity device within the enclosure as well as all drives attached to the connectivity device, with one of the drives attached to the connectivity device being the destination drive, and wherein the arbitrated loop source address indicates the destination drive connected to the connectivity device within the enclosure to which a connection is to be opened.

8. A method of routing post-arbitration communications at a connectivity device in a fiber channel arbitrated loop, the loop including a plurality of connectivity devices and a plurality of sets of drives, each set of drives being connected to one of the connectivity devices, comprising:

receiving an open primitive having a first drive identifier contained in an arbitrated loop destination address and a second drive identifier contained in an arbitrated loop source address, the first and second drive identifiers forming an address pair arranged to uniquely address a destination drive in the plurality of sets of drives;

examining both the arbitrated loop source address and the arbitrated loop destination address to determine whether the destination drive is connected to the connectivity device, including:

comparing the arbitrated loop destination address to a unique arbitrated loop physical address associated with the connectivity device; and

comparing the arbitrated loop source address to a shared arbitrated loop physical address associated with the destination drive; and

opening a connection between an initiating controller and the destination drive in response to a determination that the destination drive is connected to the connectivity device,

wherein the connectivity device is provided within an enclosure, and wherein the connectivity device manages connections to each drive in the enclosure connected to the connectivity device based on the arbitrated loop source address in the received open primitive.

9. A method of routing post-arbitration communications at a connectivity device in a fiber channel arbitrated loop, the loop including a plurality of connectivity devices and a plurality of sets of drives, each set of drives being connected to one of the connectivity devices, comprising:

receiving an open primitive having a first drive identifier contained in an arbitrated loop destination address and a second drive identifier contained in an arbitrated loop source address, the first and second drive identifiers forming an address pair arranged to uniquely address a destination drive in the plurality of sets of drives;

examining both the arbitrated loop source address and the arbitrated loop destination address to determine whether the destination drive is connected to the connectivity device; and

opening a connection between an initiating controller and the destination drive in response to a determination that the destination drive is connected to the connectivity device,

wherein examining both the arbitrated loop destination address and the arbitrated loop source address comprises:

comparing the arbitrated loop source address to a unique arbitrated loop physical address associated with the connectivity device; and

comparing the arbitrated loop destination address to a shared arbitrated loop physical address associated with the destination drive.

10. A connectivity device for use in a fiber channel arbitrated loop, the loop including a plurality of connectivity devices and a plurality of sets of drives, each set of drives being connected to one of the connectivity devices, a selected set of drives being connected to the connectivity device, comprising:

a receiver to receive an open primitive having a first drive identifier provided in an arbitrated loop destination address and a second drive identifier provided in an arbitrated loop source address, the first and second drive identifiers forming an address pair arranged to uniquely address a destination drive in the plurality of sets of drives;

a processor to determine if the open primitive is destined for a destination drive attached to the connectivity device based on an examination of both the arbitrated loop source address and the arbitrated loop destination address as part of the address pair; and

a connection manager to open a connection between an initiating controller and the destination drive in response to a determination that the destination drive is connected to the connectivity device; and

an initialization controller to block the selected set of drives from being part of initialization of the loop and to force the set of drives to acquire certain arbitrated loop physical addresses based on bit settings in initialization frames.

11. The connectivity device of claim 10 wherein the second drive identifier is independent of a previous arbitrated loop source address used to win arbitration.

12. The connectivity device of claim 10 further comprising a primitive router to forward the open primitive when the processor determines that the open primitive is destined for another drive that is attached to another connectivity device.

13. The connectivity device of claim 10 wherein the connectivity device is provided within an enclosure, and wherein the connection manager manages connections to each drive in the enclosure connected to the connectivity device based on the arbitrated loop source address in the received open primitive.

14. A connectivity device for use in a fiber channel arbitrated loop, the loop including a plurality of connectivity devices and a plurality of sets of drives, each set of drives being connected to one of the connectivity devices, a selected set of drives being connected to the connectivity device, comprising:

a receiver to receive an open primitive having a first drive identifier provided in an arbitrated loop destination address and a second drive identifier provided in an arbitrated loop source address, the first and second drive identifiers forming an address pair arranged to uniquely address a destination drive in the plurality of sets of drives;

a processor to determine if the open primitive is destined for a destination drive attached to the connectivity device based on an examination of both the arbitrated loop source address and the arbitrated loop destination address as part of the address pair; and

a connection manager to open a connection between an initiating controller and the destination drive in response to a determination that the destination drive is connected to the connectivity device,

wherein the connectivity device is provided within an enclosure, and the arbitrated loop destination address represents the connectivity device within the enclosure as well as all drives attached to the connectivity device, with one of the drives attached to the connectivity device being the destination drive, and wherein the arbitrated loop source address indicates the destination drive connected to the connectivity device within the enclosure to which a connection is to be opened.

15. A method of routing post-arbitration communications in a fiber channel arbitrated loop, the loop including a plurality of connectivity devices and a plurality of sets of drives, each set of drives being connected to one of the connectivity devices, comprising:

receiving an open primitive having an arbitrated loop destination address and an arbitrated loop source address, both the arbitrated loop destination address and the arbitrated loop source address forming an address pair arranged to uniquely address a destination drive in the plurality of sets of drives, the address pair comprising a shared arbitrated loop physical address and a unique arbitrated loop physical address;

performing destination filtering based on both the arbitrated loop source address and the arbitrated loop destination address; and

opening a connection between an initiating controller and the destination drive in response to a determination that the destination drive is uniquely addressable using the arbitrated loop source address and the arbitrated loop destination address in the received open primitive.

16. The method of claim 15 wherein the shared arbitrated loop physical address is the arbitrated loop destination address and the unique arbitrated loop physical address is the arbitrated loop source address.

17. The method of claim 15 wherein the shared arbitrated loop physical address is the arbitrated loop source address and the unique arbitrated loop physical address is the arbitrated loop destination address.

18. The method of claim 15 wherein the destination drive is connected to a selected connectivity device in the plurality of connectivity devices, the selected connectivity device being addressed using the unique arbitrated loop physical address.

19. The method of claim 17 wherein the shared arbitrated loop physical address is the arbitrated loop destination address and the unique arbitrated loop physical address is the arbitrated loop source address.

20. The method of claim 17 wherein the shared arbitrated loop physical address is the arbitrated loop source address and the unique arbitrated loop physical address is the arbitrated loop destination address.

Assignments (8)
RELEASE OF SECURITY INTEREST Recorded May 29, 2018
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: MICROSEMI STORAGE SOLUTIONS, INC.; MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 046251/0271 →
CHANGE OF NAME Recorded Jun 16, 2017
From: MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
To: MICROSEMI SOLUTIONS (U.S.), INC.
Reel/Frame 042836/0046 →
CHANGE OF NAME Recorded Mar 22, 2016
From: PMC-SIERRA US, INC.
To: MICROSEMI STORAGE SOLUTIONS (U.S.), INC.
Reel/Frame 038213/0291 →
PATENT SECURITY AGREEMENT Recorded Feb 3, 2016
From: MICROSEMI STORAGE SOLUTIONS, INC. (F/K/A PMC-SIERRA, INC.); MICROSEMI STORAGE SOLUTIONS (U.S.), INC. (F/K/A PMC-SIERRA US, INC.)
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 037689/0719 →
RELEASE OF SECURITY INTEREST Recorded Feb 1, 2016
From: BANK OF AMERICA, N.A.
To: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
Reel/Frame 037675/0129 →
SECURITY INTEREST IN PATENTS Recorded Aug 6, 2013
From: PMC-SIERRA, INC.; PMC-SIERRA US, INC.; WINTEGRA, INC.
To: BANK OF AMERICA, N.A.
Reel/Frame 030947/0710 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2011
From: BERGSTROM, APRIL I.
To: PMC-SIERRA, INC.
Reel/Frame 026976/0106 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2011
From: PMC-SIERRA, INC.
To: PMC-SIERRA US, INC.
Reel/Frame 026976/0200 →