IP Library Granted Patent US 6,895,528
Granted Patent B2
US 6,895,528 · App. 09/920,751 · Granted May 17, 2005

Method and apparatus for imparting fault tolerance in a switch or the like

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 6,895,528
App. No.
09/920,751
Granted
May 17, 2005
Kind
B2
Abstract

A method and apparatus for imparting fault tolerance in a switch or the like, particularly in a fibre channel director switch employed in connection with storage area network.

Claims (64)

1. A fault tolerant switch comprising:

a) a plurality of i/o cards, each having at least one port and an i/o local processor that detects errors and sends error messages;

b) at least one primary switch board and one redundant switch board for providing switched connections between the ports, each having a switch board local processor that detects errors on the switch board and sends error messages;

c) at least one control module having a microprocessor that receives the error messages, wherein upon the receipt of an error message indicating a failure in one of the primary switch boards, the control module instructs every i/o card to discontinue use of the defective primary switch board in favor of the redundant switch board.

2. The switch of claim 1 , wherein each i/o card is linked to the redundant switch board through a multiplexed redundant path using a crosspoint chip.

3. The switch of claim 2 , wherein the instruction to discontinue use of the defective switch board is received by the i/o local processor in each i/o card, which redirects data to the redundant switch board by managing the crosspoint chip.

4. The switch of claim 3 , wherein data paths to the defective primary switch board are throttled back and the redundant switch board is set up with a configuration matching the defective primary switch board before the data is redirected to the redundant switch board.

5. The switch of claim 1 , wherein the errors detected by the local processors are data communication error.

6. The switch of claim 4 , wherein the data communication errors are CRC errors on actual data.

7. A fault tolerant switch comprising:

a) a plurality of i/o cards, each having at least one port and an i/o local processor;

b) a plurality of switch boards having a switch board local processor, the switch boards providing switched connections between the ports;

c) a data pathway between the i/o cards and the switch boards for transmitting data between the ports and the switch boards;

d) at least one control module for monitoring the switch; and

e) a control pathway connecting each i/o card and each switch board to every control module;

wherein the i/o local processor and the switch board local processors send error messages to the control module over the control pathway without interfering with the data pathway.

8. The switch of claim 7 , wherein the control module has a hub arrangement for the purpose of establishing the control pathway.

9. The switch of claim 8 , wherein the control pathway uses a protocol chosen from the set including Ethernet protocol, Fibre Channel protocol and the IEEE 1394 FireWire protocol.

10. The switch of claim 7 , wherein the control pathway is a private network.

11. The switch of claim 7 , wherein each i/o card and each switch board has two interfaces to the control pathway.

12. A fault tolerant switch comprising:

a) an i/o card having at least one port;

b) a switch board for providing switched connections between the ports;

c) two data pathways between the i/o card and the switch board for transmitting data;

d) a local processor that detects errors based on communications between the i/o card and the switch board wherein upon the detection of an error indicating a failure in one of the data pathways causes the i/o card to discontinue the failed pathway and to use only the non-failed pathway.

13. The switch of claim 12 , further comprising a plurality of additional switch cards, wherein the i/o card is connected to each switch card through two data pathways and wherein the failure of a single data pathway causes the i/o card to cease transmission on the failed pathway in favor of transmitting data on any of the other data pathways.

14. The switch of claim 12 , further comprising

e) a control module that receives error messages sent by the local processor upon the detection of an error, whereupon the control module determines when a data pathway has failed and instructs the i/o card to discontinue use of the failed pathway.

15. The switch of claim 14 , wherein the local processor is on one of the i/o card and the switch board.

16. The switch of claim 14 , wherein the local processor is on the i/o card, and a second local processor for detecting errors and sending error messages based on communications between the i/o card and the switch board is located on the switch board.

17. The switch of claim 12 , wherein the local processor is on the i/o card, and a second local processor for detecting errors indicating a failure in one of the data pathways is located on the switch board.

18. A fault tolerant switch comprising:

a) a plurality of i/o cards, each having at least one port;

b) at least one primary switch board and one redundant switch board for providing switched connections between the ports;

c) a local processor that detects errors found in an actual data transmission over one of the primary switch board without requiring the sending of test data over the primary switch boards;

d) a control module that, upon the receipt of an error message from the local processor indicating a failure in one of the primary switch boards, the control module instructs every i/o card to discontinue use of the failed switch board in favor of the redundant switch board.

19. The switch of claim 18 , wherein the local processor detects a CRC error.

20. A fault tolerant switch comprising:

a) a plurality of i/o cards, each having at least one port;

b) at least one primary switch board and one redundant switch board for providing switched connections between the ports,

c) at least two data pathways between each i/o card and each switch board for transmitting data between the ports and the switch boards;

d) a plurality of local processors that detect errors found in an actual data transmission over one of the primary switch boards without requiring the sending of test data over the primary switch boards, the local processors being found on at least one of the i/o cards and the switch boards;

e) at least one control module that monitors the switch; and

f) a control pathway connecting each i/o card and each switch board to the control module, the control pathway sending error messages from the local processors to the control module indicating a failure in one of the primary switch boards, whereupon the control module responds by sending a command over the control pathway to every i/o card to discontinue use of the failed switch board in favor of the redundant switchboard.

21. A method for responding to an error within a data switch comprising:

a) monitoring data being transmitted from an i/o card through a data pathway and across a primary switch board to detect errors originating at the primary switch board;

b) sending an error message to a control board over a control pathway separate from the data pathway;

c) responding to the error message by sending a command over the control pathway to the i/o card instructing the i/o card to discontinue use of the primary switch board;

d) responding to the command at the i/o card by redirecting the data from the primary switch board to a redundant switch board.

22. A method for responding to an error within a data switch comprising:

a) monitoring actual data being transmitted from a first i/o card across a primary switch board to detect errors originating at the primary switch board without sending test data across the primary switch board;

b) upon the detection of an error, sending a command to multiple i/o cards to discontinue use of the primary switch board;

c) responding to the command at the i/o cards by redirecting the actual data from the primary switch board to a redundant switch board.

23. A method for responding to an error within a data switch comprising:

a) monitoring actual data being transmitted from an i/o card through a data pathway and across a primary switch board to detect errors originating at the primary switch board without sending test data across the primary switch board;

b) sending an error message to a control board over a control pathway separate from the data pathway;

c) responding to the error message by sending a command over the control pathway to the i/o card to discontinue use of the primary switchboard;

d) responding to the command at the i/o card by redirecting the actual data from the primary switch board to a redundant switch board.

24. The method of claim 23 , wherein all data sent across the primary switch board is monitored for errors that can trigger an error message.

25. A method for upgrading software in a switch having local processors in module cards found within the switch, the method comprising:

a) storing an image of current system software modules that are being executed in non-volatile memory;

b) storing a backup copy of each software module in case of fault in the current image;

c) creating a momentary pause in local processor activity; and

d) overlaying new software modules over the existing modules.

Assignments (7)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: BROCADE COMMUNICATIONS SYSTEMS LLC
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047270/0247 →
CHANGE OF NAME Recorded Dec 13, 2017
From: BROCADE COMMUNICATIONS SYSTEMS, INC.
To: BROCADE COMMUNICATIONS SYSTEMS LLC
Reel/Frame 044891/0536 →
RELEASE OF SECURITY INTEREST Recorded Jan 22, 2015
From: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC
Reel/Frame 034804/0793 →
RELEASE OF SECURITY INTEREST Recorded Jan 21, 2015
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: BROCADE COMMUNICATIONS SYSTEMS, INC.; INRANGE TECHNOLOGIES CORPORATION; FOUNDRY NETWORKS, LLC
Reel/Frame 034792/0540 →
MERGER Recorded Jun 6, 2012
From: COMPUTER NETWORK TECHNOLOGY CORPORATION
To: MCDATA SERVICES CORPORATION
Reel/Frame 028327/0875 →
SECURITY AGREEMENT Recorded Jan 20, 2010
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, LLC; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION; MCDATA SERVICES CORPORATION
To: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 023814/0587 →
SECURITY AGREEMENT Recorded Dec 22, 2008
From: BROCADE COMMUNICATIONS SYSTEMS, INC.; FOUNDRY NETWORKS, INC.; INRANGE TECHNOLOGIES CORPORATION; MCDATA CORPORATION
To: BANK OF AMERICA, N.A. AS ADMINISTRATIVE AGENT
Reel/Frame 022012/0204 →