Fibre channel switched arbitrated loop
First Claim
1. In a network employing a fibre channel arbitrated loop protocol having flow control credit management and a topology-dependent physical address for each loop port, a method for providing communication between a first loop port A and a second loop port B through a switched arbitrated loop, said method comprising:
- issuing at any loop port a loop initialization protocol —
LIP—
primitive sequence in order to cause all loop ports to initialize on a single hub;
prioritizing each loop port by its physical address on the single hub;
isolating switch ports to separate said single hub into hub segments; and
establishing a loop circuit between said first loop port A and said second loop port B through said switched arbitrated loop;
wherein said loop circuit establishing step comprises;
issuing at said first loop port A a first arbitrate A primitive signal to said switched arbitrated loop, said first arbitrate A primitive signal being a request for access to a local loop of first loop port A;
in response to said arbitrate A primitive signal, issuing at said switched arbitrated loop a reflection of said first arbitrate A primitive signal to said first loop port A;
in response to said reflection of said first arbitrate A primitive signal, issuing at said first loop port A a first open B primitive signal to said switched arbitrated loop, said first open B primitive signal being a request to establish a half duplex circuit between said first loop port A and said second loop port B;
in response to said first open B primitive signal, issuing at said switched arbitrated loop to said second loop port B a second arbitrate A primitive signal, said second arbitrate A primitive signal being a request for access to a local loop of second loop port B;
in response to said second arbitrate A primitive signal, issuing at said second loop port B a reflection of said second arbitrate A primitive signal to said switched arbitrated loop;
in response to said reflection of said second arbitrate A primitive signal, issuing at said switched arbitrated loop a second open B primitive signal, said second open B primitive signal being absorbed by said second loop port B;
in response to said second open B primitive signal, issuing at said second loop port B at least one receive ready primitive signal to said switched arbitrated loop;
sending via said switched arbitrated loop at least one receive ready primitive signal to said first loop port A; and
in response to receipt of said receive ready primitive signal at said first loop port A, issuing a data frame via said switched arbitrated loop to said second loop port B.
5 Assignments
0 Petitions
Accused Products
Abstract
In a fibre channel network environment wherein an arbitrated loop is provided a switchable connection with another arbitrated loop, a technique and corresponding apparatus are provided for controlling signal paths through the hubs stack between any two devices such that routing of a signal and interactive communication can be carried out transparently to the fibre channel network without excessive overhead, and wherein control is changed in an orderly manner such that end-to-end device connections are unaware that they are not connected to the same hub. A switched arbitrated loop (SAL) according to the invention provides the concurrent bandwidth resource of a fabric switch without the extra features which would increase design cost and operational overhead. In a specific embodiment, a switched arbitrated loop supports only 126 nodes for stations (plus one fabric port) in a single loop topology. The invention provides the concurrent connections and high bandwidth capabilities of a conventional fabric switch, but at a cost close to that of a conventional hub while behaving such that devices connected to it are unaware that they are not on a normal loop when they are communicating.
188 Citations
12 Claims
-
1. In a network employing a fibre channel arbitrated loop protocol having flow control credit management and a topology-dependent physical address for each loop port, a method for providing communication between a first loop port A and a second loop port B through a switched arbitrated loop, said method comprising:
-
issuing at any loop port a loop initialization protocol —
LIP—
primitive sequence in order to cause all loop ports to initialize on a single hub;
prioritizing each loop port by its physical address on the single hub;
isolating switch ports to separate said single hub into hub segments; and
establishing a loop circuit between said first loop port A and said second loop port B through said switched arbitrated loop;
wherein said loop circuit establishing step comprises;
issuing at said first loop port A a first arbitrate A primitive signal to said switched arbitrated loop, said first arbitrate A primitive signal being a request for access to a local loop of first loop port A;
in response to said arbitrate A primitive signal, issuing at said switched arbitrated loop a reflection of said first arbitrate A primitive signal to said first loop port A;
in response to said reflection of said first arbitrate A primitive signal, issuing at said first loop port A a first open B primitive signal to said switched arbitrated loop, said first open B primitive signal being a request to establish a half duplex circuit between said first loop port A and said second loop port B;
in response to said first open B primitive signal, issuing at said switched arbitrated loop to said second loop port B a second arbitrate A primitive signal, said second arbitrate A primitive signal being a request for access to a local loop of second loop port B;
in response to said second arbitrate A primitive signal, issuing at said second loop port B a reflection of said second arbitrate A primitive signal to said switched arbitrated loop;
in response to said reflection of said second arbitrate A primitive signal, issuing at said switched arbitrated loop a second open B primitive signal, said second open B primitive signal being absorbed by said second loop port B;
in response to said second open B primitive signal, issuing at said second loop port B at least one receive ready primitive signal to said switched arbitrated loop;
sending via said switched arbitrated loop at least one receive ready primitive signal to said first loop port A; and
in response to receipt of said receive ready primitive signal at said first loop port A, issuing a data frame via said switched arbitrated loop to said second loop port B. - View Dependent Claims (2, 3, 4, 5)
absorbing one ready receive primitive signal at said switched arbitrated loop for each receive ready primitive generated by said switched arbitrated loop.
-
-
4. The method according to claim 3, further including the steps of:
-
monitoring, at said switched arbitrated loop, port login control frames, fabric login control frames, and accept command code frames passing therethrough for login buffer-to buffer credit value;
associating said login buffer-to-buffer credit value with its source port for use in specifying the number of receive ready primitive signals to be issued by said switched arbitrated loop in parallel with issuing said second open B primitive signal to said second loop port B;
modifying said port login control frames, said fabric login control frames and said accept command code frames to force zero login buffer-to-buffer credit value;
recalculating and replacing a checksum field of said port login control frames, said fabric login control frames and said accept command code frames.
-
-
5. The method according to claim 2, further including the steps of:
-
monitoring, at said switched arbitrated loop, port login control frames, fabric login control frames and accept command code frames passing therethrough for login buffer-to-buffer credit value;
modifying said port login control frames, said fabric login control frames and said accept command code frames to force zero login buffer-to-buffer credit value; and
recalculating and replacing a checksum field of said port login control frames, said fabric login control frames and said accept command code frames.
-
-
6. In a network employing a fibre channel arbitrated loop protocol having flow control credit management and a topology-dependent physical address for each loop port, a method for providing communication between a first loop port A and a second loop port B through a switched arbitrated loop, said method comprising:
-
issuing at any loop port a loop initialization protocol—
LIP—
primitive sequence in order to cause all loop ports to initialize on a signal hub;
prioritizing each loop port on the switch arbitrated loop by its physical address on the single hub;
isolating switch ports to separate said single hub into hub segments;
issuing at said first loop port A a first arbitrate A primitive signal to said switched arbitrated loop, said first arbitrate A primitive signal being a request for access to a local loop of said first loop port A;
in response to said first arbitrate A primitive signal, issuing at said switched arbitrated loop a reflection of said first arbitrate A primitive signal to said first loop port A;
in response to said reflection of said arbitrate A primitive signal, issuing at said first loop port A a first open AB primitive signal to said switched arbitrated loop, said first open AB primitive signal being a request to establish a full duplex circuit between said first loop port A and said second loop port B;
following the issuing of said first open AB primitive signal, issuing at said first loop port A a first series of at least one receive ready primitive signals, the number of said receive ready primitive signals being an indication of the number of available receive buffers present at said first loop port A, said first series of at least one receive ready primitive signals being monitored and absorbed by said switched arbitrated loop;
in response to said first open AB primitive signal, issuing at said switched arbitrated loop to said second loop port B a second arbitrate A primitive signal, said second arbitrate A primitive signal being a request for access to a local loop of said second loop port B;
in response to said second arbitrate A primitive signal, issuing at said second loop port B a reflection of said second arbitrate A primitive signal to said switched arbitrated loop;
in response to said reflection of said second arbitrate A primitive signal, issuing at said switched arbitrated loop a second open AB primitive signal, followed by a second series of receive ready primitive signals, equal in number to said first series of receive ready primitive signals issued by said first loop port A, said second open AB primitive signal and said second series of receive ready primitive signals being absorbed by said second loop port B;
in response to said second open AB primitive signal, issuing at said second loop port B a third series of at least one receive ready primitive signals to said switched arbitrated loop, the number of receive ready primitive signals of said third series being an indication of the number of available receive buffers present at said second loop port B;
sending via said switched arbitrated loop said third series of said receive ready primitive signals to said first loop port A;
in response to receipt of said third series of receive ready primitive signals at said first loop port A, issuing a first data frame via said switched arbitrated loop to said second loop port B;
in response to said second series of receive ready primitive signals at said second loop port B, issuing at said second loop port B a second data frame via said switched arbitrated loop to said first loop port A. - View Dependent Claims (7, 8, 9, 10)
absorbing one receive ready primitive signal of said third series at said switched arbitrated loop for each receive ready primitive generated to said first loop port A by said switched arbitrated loop.
-
-
9. The method according to claim 8, further including the steps of:
-
monitoring, at said switched arbitrated loop, port login control frames, fabric login control frames and accept command code frames passing therethrough for login buffer-to-buffer credit value;
associating said login buffer-to-buffer credit value with its source port for use in specifying the number of receive ready primitive signals to be issued by said switched arbitrated loop in parallel with issuing said second open AB primitive signal to said second loop port B;
modifying said port login control frames, said fabric login control frames and said accept command code frames to force zero login buffer-to-buffer credit value;
recalculating and replacing a checksum field of said port login control frames, said fabric login control frames and said accept command control frames.
-
-
10. The method according to claim 7, further including the steps of:
-
monitoring, at said switched arbitrated loop, port login control frames, fabric login control frames and accept command control frames passing therethrough for login buffer-to-buffer credit value;
modifying said port login control frames, said fabric login control frames and said accept command control frames to force zero login buffer-to-buffer credit value; and
recalculating and replacing a checksum field of said port login control frames, said fabric login control frames and said accept command control frames.
-
-
11. In a network employing a fibre channel arbitrated loop protocol having flow control credit management and a topology-dependent physical address for each loop port, a switched arbitrated loop for providing communication between a first loop port A and a second loop port B comprising:
-
means coupled to each loop port for issuing a loop initialization protocol—
LIP—
primitive sequence in order to cause each loop port to initialize on a single hub;
means for prioritizing said each loop port by its physical address on the single hub;
means for isolating switch ports to separate said single hub into hub segments;
means operative to the issuing said LIP at said first loop port of a first arbitrate A primitive signal, said first arbitrate A primitive signal being a request for access to a local loop of first loop port A, by issuing a reflection of said first arbitrate A primitive signal to said first loop port;
means operative to the issuing at said first loop port of a first open AB primitive signal, said first open AB primitive being a request to establish a circuit between said first loop port A and said second loop port B, by issuing to said second loop port B a second arbitrate A primitive signal, said second arbitrate A primitive signal being a request for access to a local loop of the second loop port B;
means operative to the issuing said LIP at said second loop port B of a reflection of said second arbitrate A primitive signal to said switched arbitrated loop, by issuing a second open AB primitive signal, said second open AB primitive signal being absorbed by said second loop port B;
means operative to the issuing said LIP at said second loop port B at least one receive ready primitive signal to said switched arbitrated loop;
means for sending at least one receive ready primitive signal to said first loop port A; and
means for forwarding a data frame from said first loop port A to said second loop port B. - View Dependent Claims (12)
means for monitoring port login control frames and fabric login control frames passing therethrough for login buffer-to-buffer credit value;
means for modifying said port login control frames and said fabric login control frames to force zero login buffer-to-buffer credit value; and
means for recalculating and replacing a checksum field of said port login control frames and said fabric login control frames.
-
Specification