IP Library Granted Patent US 7,469,361
Granted Patent B2
US 7,469,361 · App. 11/029,736 · Granted Dec 23, 2008

Monitoring detection and removal of malfunctioning devices from an 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 7,469,361
App. No.
11/029,736
Granted
Dec 23, 2008
Kind
B2
Abstract

The detection, removal and reinsertion of possibly malfunctioning devices from an arbitrated loop is disclosed. When a new device is first connected to a storage switch and a loop is formed and begins initialization, a LOOP_DOWN event is sent to a processor and a loop down timer is started for each port in the loop. If initialization is successful, a LOOP_UP event is sent to the processor and the loop down timer is reset for each port in the loop. However, if one of the loop down timers times out, a problem occurred during the initialization. The port associated with the timed out timer is bypassed so that the devices in the remainder of the loop can continue trying to complete the initialization. The processor initiates a PTBI event on the bypassed device. If the bypassed device is operating properly, it is re-inserted back into the loop.

Claims (42)

1. A method for detecting and removing possibly malfunctioning devices attached to a storage switch during initialization of the devices when the devices are connected in a loop, comprising:

sequentially starting a loop down timer for each device as an initialization start command is propagated to each device in the loop;

sequentially resetting the loop down timer for each device in the loop if an initialization end command is propagated to the device, the initialization end command being propagated to each device in the loop if there are no malfunctioning devices in the loop; and

sequentially bypassing each device whose loop down timer reaches an end count without being reset, each bypassed device representing a possibly malfunctioning device, and re-connecting the loop to include only those devices that have not been bypassed, until all malfunctioning devices have been bypassed and the initialization end command is able to propagate to each remaining device in the loop and reset the loop down timer for each remaining device in the loop.

2. The method as recited in claim 1 , further comprising:

individually testing each device that has been bypassed to determine if the device is actually malfunctioning; and

re-inserting the individually tested device back into the loop if the device has passed the individual test.

3. The method as recited in claim 2 , wherein individually testing each device comprising a Port Test Before Insert (PTBI) event.

4. The method as recited in claim 1 , the initialization of the devices comprising a Loop Initialization Primitive (LIP) cycle.

5. The method as recited in claim 1 , the initialization start command comprising a Loop Initialization Primitive (LIP) ordered set.

6. The method as recited in claim 1 , the initialization end command comprising a Close (CLS) ordered set.

7. One or more storage media including a computer program which, when executed by one or more processors, causes the one or more processors to detect and remove possibly malfunctioning devices attached to a storage switch during initialization of the devices when the devices are connected in a loop by performing the steps of:

sequentially starting a loop down timer for each device as an initialization start command is propagated to each device in the loop;

sequentially resetting the loop down timer for each device in the loop if an initialization end command is propagated to the device, the initialization end command being propagated to each device in the loop if there are no malfunctioning devices in the loop; and

sequentially bypassing each device whose loop down timer reaches an end count without being reset, each bypassed device representing a possibly malfunctioning device, and re-connecting the loop to include only those devices that have not been bypassed, until all malfunctioning devices have been bypassed and the initialization end command is able to propagate to each remaining device in the loop and reset the loop down timer for each remaining device in the loop.

8. The one or more storage media as recited in claim 7 , wherein the computer program, when executed by one or more processors, causes the one or more processors to perform the steps of:

individually testing each device that has been bypassed to determine if the device is actually malfunctioning; and

re-inserting the individually tested device back into the loop if the device has passed the individual test.

9. The one or more storage media as recited in claim 8 , wherein the computer program, when executed by one or more processors, causes the one or more processors to individually test each device by executing a Port Test Before Insert (PTBI) event.

10. The one or more storage media as recited in claim 7 , wherein the computer program, when executed by one or more processors, causes the one or more processors to initialize the devices by executing a Loop Initialization Primitive (LIP) cycle.

11. The one or more storage media as recited in claim 7 , wherein the computer program, when executed by one or more processors, causes the one or more processors to implement the initialization start command by transmitting a Loop Initialization Primitive (LIP) ordered set.

12. The one or more storage media as recited in claim 7 , wherein the computer program, when executed by one or more processors, causes the one or more processors to implement the initialization end command by transmitting a Close (CLS) ordered set.

13. A storage switch comprising:

one or more processors programmed for detecting and removing possibly malfunctioning devices attached to the storage switch during initialization of the devices when the devices are connected in a loop by:

sequentially starting a loop down timer for each device as an initialization start command is propagated to each device in the loop;

sequentially resetting the loop down timer for each device in the loop if an initialization end command is propagated to the device, the initialization end command being propagated to each device in the loop if there are no malfunctioning devices in the loop; and

sequentially bypassing each device whose loop down timer reaches an end count without being reset, each bypassed device representing a possibly malfunctioning device, and re-connecting the loop to include only those devices that have not been bypassed, until all malfunctioning devices have been bypassed and the initialization end command is able to propagate to each remaining device in the loop and reset the loop down timer for each remaining device in the loop.

14. The storage switch as recited in claim 13 , wherein the one or more programmed processors further programmed for:

individually testing each device that has been bypassed to determine if the device is actually malfunctioning; and

re-inserting the individually tested device back into the loop if the device has passed the individual test.

15. The storage switch as recited in claim 14 , wherein the one or more programmed processors further programmed for individually testing each device by executing a Port Test Before Insert (PTBI) event.

16. The storage switch as recited in claim 13 , wherein the one or more programmed processors further programmed for initializing the devices by executing a Loop Initialization Primitive (LIP) cycle.

17. The storage switch as recited in claim 13 , wherein the one or more programmed processors further programmed for implementing the initialization start command by transmitting a Loop Initialization Primitive (LIP) ordered set.

18. The storage switch as recited in claim 13 , wherein the one or more programmed processors further programmed for implementing the initialization end command by transmitting a Close (CLS) ordered set.

19. A storage area network (SAN) comprising the storage switch of claim 13 .

20. A storage switch for detecting and removing possibly malfunctioning devices attached to the storage switch during initialization of the devices when the devices are connected in a loop, comprising:

means for sequentially starting a loop down timer for each device as an initialization start command is propagated to each device in the loop;

means for sequentially resetting the loop down timer for each device in the loop if an initialization end command is propagated to the device, the initialization end command being propagated to each device in the loop if there are no malfunctioning devices in the loop; and

means for sequentially bypassing each device whose loop down timer reaches an end count without being reset, each bypassed device representing a possibly malfunctioning device, and re-connecting the loop to include only those devices that have not been bypassed, until all malfunctioning devices have been bypassed and the initialization end command is able to propagate to each remaining device in the loop and reset the loop down timer for each remaining device in the loop.

21. The storage switch as recited in claim 20 , further comprising:

means for individually testing each device that has been bypassed to determine if the device is actually malfunctioning; and

means for re-inserting the individually tested device back into the loop if the device has passed the individual test.

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 Jan 4, 2005
From: UKRAINETZ, NATHAN H.W.; STAINBROOK, MARTIN DANIEL; WEI, LONG
To: EMULEX DESIGN & MANUFACTURING CORPORATION
Reel/Frame 016157/0836 →