HPE EVA Storage
1832978 Members
2879 Online
110048 Solutions
New Discussion

FC-AL Private/Public Loop

 
SOLVED
Go to solution
Karthik S S
Honored Contributor

FC-AL Private/Public Loop

Hi,

In a FC/AL configuration what is the difference between a Private and Public Loop. Any Inputs/Links/Docs are appriciated.

Thanks,
Karthik S S
For a list of all the ways technology has failed to improve the quality of life, please press three. - Alice Kahn
21 REPLIES 21
Shaikh Imran
Honored Contributor

Re: FC-AL Private/Public Loop

Hi,
Try this link:
http://www.atempo.com/library/pdf/US/wp_tinasan_us.pdf

(Not complete but very useful info)

Regards,
I'll sleep when i am dead.
Ashwani Kashyap
Honored Contributor
Solution

Re: FC-AL Private/Public Loop

Two Types Of Fibre Channel Arbitrated Loop: Private And Public

Private loop is a loop designed to run without a switch and any switch's associated fabric services. A private loop is typically run using a Fibre Channel hub. It can only address 126 devices because private loop uses an 8-bit address. Private loop devices communicate to other devices on the loop by discovering every other device. This can be done fairly readily because there is a limit of 126 address. However, each time a device is added or removed from the loop, the discovery process must occur again. This function is called a Loop Initialization Primitive or LIP. The LIP process can be disruptive to the operation of a loop, especially if a device is not operating properly. Stability is a major issue affecting private arbitrated loops because each device must communicate with every other device on the loop to get and maintain its address.

A public loop is a Fibre Channel arbitrated loop designed to run in a switched fabric environment. Public loop uses a 24-bit address and can accommodate approximately 15 million - valid addresses. Therefore, it isn't practical for public loops to obtain their address by discovering each device on the loop. The addition of a name server on a switch solves this address discovery problem. Upon fabric login, the switch gives the device its address and the device gives the switch specific information, which can be queried by other devices. The switch's name server keeps track of every device and devices can find one another by querying the name server. A server, for example, will look up the name server and check for every logged-in disk drive.

Uwe Zessin
Honored Contributor

Re: FC-AL Private/Public Loop

Hello Ashwani,
I don't have much experience with public loop devices, but it is my understanding that in a public loop the switch supplies the loop with a 'loop address' that forms the upper 16 bits of the FCID. The lower 8 bits are still bound to the AL_PA limitations (e.g. 3 is not a valid address).
Correct?

Is there any information on the web that describes how a public loop is initialized?
.
Ashwani Kashyap
Honored Contributor

Re: FC-AL Private/Public Loop

Yes you are right uwe . In public loop the communication is done through translation .
Translation works by manipulating the upper 16 bits of a 24-bit address. An additional 16 bits must be added because private loop devices use only an 8-bit address. Conversely, when a full-fabric device communicates to a private loop, the upper 16 bits must be taken off. The work of changing the upper 16 bits is generally done in hardware via tables in order to minimize any performance degradation.

Private loop doesnot have any participating FL_port where has public loop has .

YOu might get more information on brocade site . If I am correct they call their implementation of loops as quick loop .
Ashwani Kashyap
Honored Contributor

Re: FC-AL Private/Public Loop

In simpler words , private loop is strictly private . Only the initiator/hosts and targets in the same loop can comminicate with each other .


Where as in public loop , the targets , themselves are in private loop but are attached to fabric via FL_ports and fabric initiators can talk to the looped targets through the name server in the switch , which does all the translation back and fort between the fabric and the loop world .
Karthik S S
Honored Contributor

Re: FC-AL Private/Public Loop

Hi Ashwani,

Thanks for the info,

From your post,
" A private loop is typically run using a Fibre Channel hub. It can only address 126 devices because private loop uses an 8-bit address. "

but why only 126 devices? 2^8 = 256 devices right??

Thanks,
Karthik S S
For a list of all the ways technology has failed to improve the quality of life, please press three. - Alice Kahn
Uwe Zessin
Honored Contributor

Re: FC-AL Private/Public Loop

Karthik,
the Fibre Channel uses an 8b/10b encoding (every 8 data bits are encoded in 10 'transmission bits' onto the wire), so there are potentially 4 different bit patterns to send a 'byte' over the cable. FC tries to make sure that the number of 0s and 1s are equally 'mixed'. This is done for self-clocking and maintaining the DC balance of the receiver.

For error detection the receiver counts the number of 0s and 1s to calculate the 'running disparity'. FC_AL requires a negative value at the end of a 'sub-block'.

For some 8-bit values there exist 10-bit pattern that contain strings of zeros or ones that are longer than 5. So, in the end there are only (if I recall correctly) 138 usable 8-bit values, but some of them are reserved to indicate special 'functions' (e.g. fair arbitration on the FC_AL) and the remaining 126 are usable for devices.

I hope I got that somehow right (it's been some time I have gone over it) and easy to understand as I have tried to simplify. I have visited a 3-day training some years ago and when I heard about this for the first time I thought my head would blow up ;-)

I hope you are still OK, Karthik? Hello? ;-)
.
Karthik S S
Honored Contributor

Re: FC-AL Private/Public Loop

:-) all my mathematic knowledge is going for a task now ;-) .. I am still not very clear about 10 bit encoding. I read about this in one of the SUN official training document on SAN.

Thanks for the Info.

-Karthik S S
For a list of all the ways technology has failed to improve the quality of life, please press three. - Alice Kahn
Uwe Zessin
Honored Contributor

Re: FC-AL Private/Public Loop

Karthik, I can not see you suffering from this ;-)

Let's take an example with 1 GBit/second Fibre Channel. That is the 'speed' of the bits on the wire, but I am sure you have also heard the number of 100 MBytes/sec.

1 GBit/sec = 1000 MBit/sec
1000 MBit/sec divided by 8 Bits/Byte = 125 MBytes/sec

Ah, I hear you ask: 'Huh?'

Well, 100 MBytes/sec (=800 MBit/sec) is the bandwidth for the user's data.

When the adapter receives one byte (8 bits) of user data from the server's bus it converts it into 10 bits of encoded data and sends them over the wire/fiber. The receiver picks up those 10 bits, goes through a table and picks up the appropriate 8-bit value that is then delivered to the receiving user.

100 MByte/sec user data = 800 MBit/sec user data
=====8b/10b-encoder==== sending adapter
1000 Mbit/sec wire data = 1 GBit/sec wire data
-----wire-----
1 GBit/sec wire data = 1000 Mbit/sec wire data
=====10b/8b-decoder==== receiving adapter
800 MBit/sec user data = 100 MByte/sec user data

Again, that is a bit simplified.
.
Karthik S S
Honored Contributor

Re: FC-AL Private/Public Loop

Uwe, so kind of you to clarify my doubts :-) .. that helped a lot ...

I was feeling trapped in the Storage Land :-)) ..

Thanks,
Karthik S S
For a list of all the ways technology has failed to improve the quality of life, please press three. - Alice Kahn
Karthik S S
Honored Contributor

Re: FC-AL Private/Public Loop

Uwe ..... I am back :-) ..

I am still not convinced why we get only 134 addresses(126 usuable, 1 FL port address and 7 reserved) in FC-AL Private loop.

Pl. refer to the following thread.

http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=583396

Thanks,
Karthik S S
For a list of all the ways technology has failed to improve the quality of life, please press three. - Alice Kahn
Uwe Zessin
Honored Contributor

Re: FC-AL Private/Public Loop

Karthik,
you seem to have done a lot of bit shuffling, which I (apologies) don't have time to understand, but do you even have an 8b/10b translation table and did you include it in your bit calculations? Disparity calculation is done on the 10 'transmission bits' and not on the 8 'data bits'.

The training manual says that some addresses have enocded values of too many ones and zeroes in a row and cannot be used.
.
Karthik S S
Honored Contributor

Re: FC-AL Private/Public Loop

Hi Uwe,

It is ok (I mean you need not have to apologize :-) for this) .. Well, I came up with a table (attachment) of my own by prefixing two more bits (00) to the existing 8 bits. May be i am terribly wrong. Just I realized that the prefixed 2 bits not necessrily be 00 but 11, 01 or even 10.

Anyways I will stop here, collect more details by digging the docs/websites and post the findings here.

Till then have fun :-) .. (TGIF)

-Karthik S S
For a list of all the ways technology has failed to improve the quality of life, please press three. - Alice Kahn
Uwe Zessin
Honored Contributor

Re: FC-AL Private/Public Loop

Yes, you are right in the sense that your table shows only 25% of the possible values. I don't have a table handy (I once got a paper copy, but I did not find it in the binder I thought I had put it :-( , but as far as I recall encoding does not just put 2 bits in front or after the data bits.
.
Bharat Katkar
Honored Contributor

Re: FC-AL Private/Public Loop

Karthik,
Now you know about FC-AL functionality so could you take a look at my reply to your thread below where i have tried to expain you about 8b/10b enconding.
Thought it could help you.

http://forums1.itrc.hp.com/service/forums/questionanswer.do?threadId=583396

You need to know a lot to actually know how little you know
Bharat Katkar
Honored Contributor

Re: FC-AL Private/Public Loop

And now your question:
In a FC/AL configuration what is the difference between a Private and Public Loop. Any Inputs/Links/Docs are appriciated.

1. Private Loop:
This loop only has devices with capability to arbitrate and they transfer data to and fro by Arbitration protocol. They are connected in a loop.
2. Public Loop:
This contains devices with capability to both arbitrate as well as perform port login to Fabric. This you can compare with the hybrid topology wherein you can have both start as well as bus topology.
In Public loop Fabric Star topology will have FC-AL loop in between connected to the Fabric's FL_port.

Hope this helps you.
Regards,
Bharat


You need to know a lot to actually know how little you know
Uwe Zessin
Honored Contributor

Re: FC-AL Private/Public Loop

I found the table! I really found it!

(It wasn't in the binder with the training course I thought where I got it,
but it also wasn't in the binder with the course where I really got it - it
was somehow placed in a third binder. Now, how is that for a challenge ;-)


So, let's not waste any more time - here we go:
For the encoding we have 'data' characters (D) and 'control' characters (K) which have different encodings on the wire.

E.g.: D28.5 (101 11100) has two encodings: for negative running disparity (RD-) it is '001110 1010' and for RD+ it is '001110 1010', too. If you count the bits you see that the transmission character has neutral disparity (same number of 0s and 1s) in both places.

The table also describes 12 'control' characters. E.g.:
K28.5 has two different encodings on the wire: RD- '001111 1010' and RD+ '110000 0101'.

Many other bit combinations are unused. If you think about things like DC balance of the receiver and the need to properly synchronize to the incoming signal, it becomes clear that encodings like: '000000 0000' or '111111 1111' must be ruled out. Also, there is no explicit synchronization 'between' transmission characters, so we must also rule out combinations like: 'xxxxxx 0000-000xxx xxxx'.


To understand about the AL_PA limitation we need to look how an 'ordered set' is build - see attached file.

Arbitration uses a 'primitive signal' that is coded in an ordered set. The disparity at the end of the ordered set must be negative.

According to my hand written notes there is always positive disparity in position 1 (at the end of K28.5) and negative disparity after the first D character (position 2) in the ordered set. As far as I can tell the ARB() function code is D20.4 and that can force RD- (it has the following encodings: for RD- '001011 1101' and for RD+ '001011 0010').

That means that any combination of AL_PAs in position 3 and 4 must be able to force a negative disparity at the end of the ordered set.

Let's take a look at the encodings of D3.0: RD- '110001 1011' and RD+ '110001 0100'. As you can see, this data character has no encoded transmission character with neutral disparity, so it cannot keep the disparity to negative if it is already negative in position 3.

And that is the reason that 3, for example, is not a valid value for an AL_PA.
.
Uwe Zessin
Honored Contributor

Re: FC-AL Private/Public Loop

Sorry, pressed the button a bit too fast - at least it wasn't [clear>>] ;-)
.
Karthik S S
Honored Contributor

Re: FC-AL Private/Public Loop

Uwe:
Thanks a lot for spending a lot of time answering my stupid questions and taking the pain of finding the table from your training documents. I really appreciate your help and am happy to have a clear understanding of FC-AL now :-). Thanks a lot.

Bharat:
Your clear definitions on 8/10b encoding have cleared my doubts too :-). Thanks again.

-Karthik S S
For a list of all the ways technology has failed to improve the quality of life, please press three. - Alice Kahn
Uwe Zessin
Honored Contributor

Re: FC-AL Private/Public Loop

You're welcome!

It was a nice refreshing exercise. I look forward to your next questions as I am always learning a bit myself that way, too.
.
Ashwani Kashyap
Honored Contributor

Re: FC-AL Private/Public Loop

Take a look at this document . clicl on the PDF link .

It might not necessarliy answer all your questions but talks a lot about 8b/10b encoding .

http://domino.research.ibm.com/tchjr/journalindex.nsf/0b9bc46ed06cbac1852565e6006fe1a0/b4e28be4a69a153585256bfa0067f59a?OpenDocument