Академический Документы
Профессиональный Документы
Культура Документы
Seminar Report On
DEPARTMENT OF COMPUTER SCIENCE COCHIN UNIVERSITY OF SCIENCE AND TECHNOLOGY COCHIN 682022 2005
CERTIFICATE
This is to certify that the contents of the Seminar entitled
VIMAL V.B
In the partial fulfillment of the requirements for the award of the M-Tech Degree course in Software Engineering of Cochin University of Science and Technology during the academic year 2005.
Cochin 22 18/11/2005
ACKNOWLEDGEMENT
I am greatly indebted to Dr. Poulose Jacob, head of Department, Computer Science, CUSAT for permitting me to undertake this work. I express my heartfelt gratitude to my respected Seminar guide Dr. Sumam Mary Idicula for her kind and inspiring advise which helped me a lot. I am extremely thankful to respected Lecturer in computer science Mr. G. Santhosh Kumar who have me valid suggestions. I am also very thankful to my colleagues who helped and co-operated with me in conducting the seminar by their active participation.
ABSTRACT
Fiber Channel is an ANSI interface that acts as like a general transport vehicle to simultaneously deliver the command sets of several existing interface protocols. Fiber Channel Arbitrated Loop is one topology used to connect two or more devices within the guidelines set by the ANSI standards. It supports both large and small data transfers, and can be used in systems ranging from
supercomputers to individual workstations. Fiber Channel Arbitrated Loop is designed for high-bandwidth high-end systems and transfers data in the serial mode. FC-AL uses fiber optic cabling to produce a maximum data transfer rate of more than 200 MB/second. FC-AL is capable of supporting up to 127 devices as far as 10 kilometers apart, thus opening new perspective for remote data storage. FC-AL allows hot swapping of the connected drives without interfering with the work of the entire system. Also, FCAL devices can be designed with two ports to double the data transfer rates. This interface is more expensive than the SCSI interface. Fiber Channel isnt a channel or a network, but allows for an active intelligent interconnection scheme, called a Fabric, to connect heterogeneous computer systems and peripherals with all the benefits of the existing methods. In fact, fiber channel supports its own protocol plus some other higher-level protocols such as the SCSI, FDDI, HIPPI (High Performance Parallel Interface) and IPI. Peripherals can include storage devices such as disk or tape arrays. Nowadays, Fiber channel option is mandatory for high-end mass storage products, such as disk or tape arrays.
Department of Computer Science, CUSAT 4
TABLE OF CONTENTS
1. INTRODUCTION.3 2. FIBER CHANNEL TOPOLOGIES..7 2.1 POINT-TO-POINT..7 2.2 SWITCHED FABRIC..8 2.3 ARBITRATED LOOP.9 3. FIBER CHANNEL PORTS.13 4. FIBRE CHANNEL LAYERS..15 4.1 PHYSICAL INTERFACE.16 4.2 TRANSMISSION PROTOCOL...19 4.3 ARBITRATED LOOP PROTOCOL20 4.4 SIGNALLING PROTOCOL.21 4.5 COMMON SERVICES..30 4.6 APPLICATION INTERFACE..30 5. TRANSMISSION HIERARCHY...32 6. FC ARBITRATED LOOP CONCEPTS.37 6.1 ARBITRATED LOOP PHYSICAL ADDRESS...37 6.2 LOOP INITIALIZATION38 6.3 PRIMITIVE SIGNALS CUSTOM MADE FOR FC-AL....43 7. CONCLUTION...47 8. REFERENCES .48
1. INTRODUCTION
There are basically two different ways to transfer data between computers or between computers and peripheral devices. They are channels and Networks
1.1 CHANNELS
An approach based on channels provides a direct or switched point topoint connection between communicating devices. Usually this method is implemented as parallel transmission and is designed to be hardware intensive. Any needed error detection and correction is handled in hardware. It provides high speed block based data transfer with low overhead. This method stress on high performance and the hardware is optimized to meet the need. The protocol used is very simple and it minimizes the software involvement in data transfer operations. This method also provides insequence data delivery and highly reliable data transmission. But by using this method we can only transfer data to a very small distance from several centimeters to few meters. A SCSI interface is a good example of a fast and effective channel. It is ideally suited for high-speed point-to-point transfer of large data blocks data in parallel way over relatively short distances.
1.2 NETWORKS
This method is based on connecting distributed elements like workstations, file servers and peripherals using serial protocol. Networks are software intensive and it is slower than a channel, and has high overhead. In
Department of Computer Science, CUSAT 6
this approach the burden of ensuring reliable data delivery is transferred from hardware to software. Transmission of data is not reliable as on channels. Networks are usually used for long distance communication. Because of they are unstructured; they can support large number of devices of different types. They provides file based data transfer using a wide variety of protocols. Networks are used for transferring data with error-free delivery and voice and video where delivery on time is the primary requirement with errorfree delivery being a secondary consideration. Ethernet based IP network is an example of network. This method is typically used for transferring small data files over relatively longer distances.
increasingly data-intensive and high-speed networking applications, such as multimedia and scientific visualization. However, the existing network interconnects between computers and I/O devices are unable to run at the speeds needed.
Department of Computer Science, CUSAT 7
The intention of the Fiber Channel is to develop practical, inexpensive, yet expendable means of quickly transferring data between workstations, mainframes, supercomputers, desktop computers, storage devices, displays and other peripherals. Fiber Channel is the general name of an integrated set of standards being developed by the American National Standards Institute (ANSI). Fiber channel is not a channel or a network. It has an active intelligent interconnection scheme called. We can use optical fiber as well as copper wire as a communication media and its architecture does represents neither a channel nor a network. Fiber channel is first implemented using optical fiber as a transmission media and is used for transferring data between high-speed storage devices, so it gets this name. Fiber channel is a new superior I/O interface with the following features.
2.1 POINT-TO-POINT
A point-to-point topology is the simplest of all the three topologies. It consists of two and only two Fiber Channel devices connected directly together. The transmit fiber of one device goes to the receive fiber of the other device, and vice versa. There is no sharing of the media, which allows the devices to enjoy the total bandwidth of the link. A simple link initialization is required of the two devices before communication can begin. The simplicity of the point-to-point configuration makes it the cheapest way to implement Fiber Channel.
HOST
STORAGE
Fig: Point-to-point Topology
10
HOST N F SWITCH
HOST
F SWITCH E E SWITCH
11
There are several benefits of this fabric topology, including support for a large number of nodes (over 16 million (224) in fact), increased fault tolerance when implementing a cascaded configuration, and improved scalability. The major benefit of this topology is that many devices can communicate at the same time; the media is not shared. Of course, it also requires the purchase of a switch. When the N_Ports log into the Fabric, the Fabric will assign Native Address Identifiers (S_ID). Other functions of the Fabric include a multicast server, broadcast server, alias server, quality of service facilitator, and directory server. Some Fabrics have FL_Ports, allowing Arbitrated Loops to be connected to the Fabric.
functionality is optional. Thus, for a Loop to operate, all devices must be Loop devices. There are two types of configurations.
13
NODE A
NL-P 0 NL-P 0
NL-P 1 NL-P 1
NODE B
NODE F
NL-P 5 NL-P 5
NL-P 2 NL-P 2
NODE C
NODE E
NL-P 4 NL-P 4
NL-P 3 NL-P 3
NODE D
14
If more than one device on the Loop is arbitrating at the same time, the x values of the ARB Primitive Signals are compared. When an arbitrating device receives another device's ARBx, the ARBx with the numerically lower AL_PA is forwarded, while the ARBx with the numerically higher AL_PA is blocked. Thus, the device with the lower AL_PA will gain control of the Loop first. Once that device relinquishes control of the Loop, the other device can have a chance. Unlike token-passing schemes, there is no limit on how long a device may retain control of the Loop. This demonstrates the "channel" aspect of Fiber Channel. There is, however, an Access Fairness Algorithm, which prohibits a device from arbitrating again until all other devices have had a chance to arbitrate. The catch is that the Access Fairness Algorithm is optional. There can be up to 126 nodes connected to a loop, but when the number of nodes increases, the performance will decrease. If only 2 devices are left in the loop, the topology becomes point-to-point.
15
16
F_port : F_port is the fabric connection on the switch side of a switched fabric topology. Also known as Fabric port. E_port : E_port is the connection between 2 fibre channel switches. Also known as Expansion port. When 2 E_ports between 2 switches form a link, that link is referred to as ISL. TE_port : TE_port is the term used for multiple E_ports trunked together to create high bandwidth between switches. Also known as Trunking Expansion port. G_port : G_port is the connection that can be classified or emulated as F port or E port. It has no function until it has logged into a fabric. Also known as Generic port. GL_port: GL_port is a G_port with Loop capabilities. Also known as Generic Loop port.
17
18
both long wave and short wave lasers can be used. Short wave seems to be most popular now. The short wave transmitters have the option to implement the Open Fiber Control (OFC). The data rates on these media ranges from 100 MB/S to 400MB/S. Depending on the data rate and media used, the point-to-point distance for a link can range from 50 meters to 100 Kilometers.
TX
RX
RX
Fig: Open Fiber Control
Department of Computer Science, CUSAT
TX
20
If an open fiber condition occurs in the link, the receiver of the Port the fiber is connected detects it and pulses its laser at a low duty cycle that meets the safety requirements. The receiver of the other port (at the other end of the fiber) detects this pulsing signal and also pulses it's transmitter at a low duty cycle. When the open fiber path is restored both ports receive the pulsing signals, and after a double handshaking procedure the connection is automatically restored within a few seconds.
the 256 8-bit combinations. Some of the remaining Transmission Characters (K-type) referred to as special characters, are used for protocol management functions. Codes detected at the receiver that are not D- or K- type are signaled as code violation errors.
24
The two Primitive Signals: Idle and Receiver Ready (R_RDY) are Ordered Sets designated by the standard to have a special meaning. An Idle is a Primitive Signal transmitted on the link to indicate an operational Port facility ready for Frame transmission and reception. The R_RDY Primitive Signal indicates that the interface buffer is available for receiving further Frames. A Primitive Sequence is an Ordered Set that is transmitted and repeated continuously to indicate specific conditions within a Port or conditions encountered by the receiver logic of a Port. When a Primitive Sequence is received and recognized, a corresponding Primitive Sequence or Idle is transmitted in response. Recognition of a Primitive Sequence requires consecutive detection of 3 instances of the same Ordered Set. The Primitive Sequences supported by the standard are Offline (OLS), Not Operational (NOS), Link Reset (LR) and Link Reset Response (LRR).
device during login, so each knows how many frames the other can receive. After enough frames have been transmitted and credit runs out, no more frames can be transmitted until the destination device indicates it has processed one or more frames and is ready to receive new ones. Thus, no device should ever be overrun with frames. Fibre Channel uses two types of flow control, buffer-to-buffer and end-to-end.
4.4.2.1 BUFFER-TO-BUFFER
This type of flow control deals only with the link between an N_Port and an F_Port or between two N_Ports. Both ports on the link exchange values of how many frames it is willing to receive at a time from the other port. This value becomes the other port's BB_Credit value and remains constant as long as the ports are logged in. For example, when ports A and B log into each other, A may report that it is willing to handle 4 frames from B; B might report that it will accept 8 frames from A. Thus, B's BB_Credit is set to 4, and A's is set to 8. Each port also keeps track of BB_Credit_CNT, which is initialized to 0. For each frame transmitted, BB_Credit_CNT is incremented by 1. The value is decremented by 1 for each R_RDY Primitive Signal received from the other port. Transmission of an R_RDY indicates the port has processed a frame, freed a receive buffer, and is ready for one more. If BB_Credit_CNT reaches BB_Credit, the port cannot transmit another frame until it receives an R_RDY.
4.4.2.2 END-TO-END
End-to-End flow control is not concerned with individual links, but rather the source and destination N_Ports. The concept is very similar to
Department of Computer Science, CUSAT 26
buffer-to-buffer flow control. When the two N_Ports log into each other, they report how many receive buffers are available for the other port. This value becomes EE_Credit. EE_Credit_CNT is set to 0 after login and increments by 1 for each frame transmitted to the other port. It is decremented upon reception of an ACK Link Control frame from that port. ACK frames can indicate the port has received and processed 1 frame, N frames, or an entire Sequence of frames.
4.4.3.1 CLASS 1
In Class 1, a dedicated connection is established between two N_Ports. Once established, the two N_Ports may communicate using the full bandwidth of the connection; no other network traffic affects this communication. Due to this, frames are guaranteed to arrive in the order in which they were transmitted. In addition, the media speeds must be the same for all links, which make up the dedicated connection. Because of the nature of the dedicated connection, there is no need for buffer-to-buffer flow control;
Department of Computer Science, CUSAT 27
the Fabric does not need to buffer the frames as they are routed. Thus, only end-to-end flow control is used in Class 1. Class 1 would be used when the data needs to be continuous and time critical, such as voice or video. Intermix Intermix is an option of Class 1 whereby Class 2 and Class 3 frames may be transmitted at times when Class 1 frames are not being transmitted. The Class 2 and Class 3 frames may or may not be destined to the same N_Port as the Class 1 frames. Both N_Ports as well as the Fabric must support Intermix for it to be used.
4.4.3.2 CLASS 2
Class 2 is referred to as multiplex due to the fact that it is a connectionless Class of service with notification of delivery and non-delivery of frames. Since no dedicated connection needs to be established, a port can transmit frames to and receive frames from more than one N_Port. As a result, the N_Ports share the bandwidth of the links with other network traffic. Frames are not guaranteed to arrive in the order in which they were transmitted, except in the point-to-point or Loop topologies. Also, the media speeds may vary for different links, which make up the path. Both buffer-tobuffer and end-to-end flow control are used in Class 2. Class 2 is more like typical LAN traffic, such as IP or FTP, where the order and timeliness of delivery is not so important.
4.4.3.3 CLASS 3
Class 3 is very similar to Class 2. The only exception is that it only uses buffer-to-buffer flow control. It is referred to a datagram service. Class 3
28
would be used when order and timeliness is not so important, and when the ULP itself handles lost frames efficiently. Class 3 is the choice for SCSI.
4.4.3.4 CLASS 4
Class 4 provides fractional bandwidth allocation of the resources of a path through a Fabric that connects two N_Ports. Class 4 can be used only with the pure Fabric topology. One N_Port will set up a Virtual Circuit (VC) by sending a request to the Fabric indicating the remote N_Port as well as quality of service parameters. The resulting Class 4 circuit will consist of two unidirectional VCs between the two N_Ports. The VCs need not be the same speed. Like a Class 1 dedicated connection, Class 4 circuits will guarantee that frames arrive in the order they were transmitted and will provide acknowledgement of delivered frames (Class 4 end-to-end credit). The main difference is that an N_Port may have more than one Class 4 circuit, possibly with more than one other N_Port at the same time. In a Class 1 connection, all resources are dedicated to the two N_Ports. In Class 4, the resources are divided up into potentially many circuits. The Fabric regulates traffic and manages buffer-to-buffer flow control for each VC separately using the FC_RDY Primitive Signal. Intermixing of Class 2 and 3 frames is mandatory for devices supporting Class 4.
4.4.3.5 CLASS 5
The idea for Class 5 involved isochronous, just-in-time service. However, it is still undefined, and possibly scrapped altogether. It is not mentioned in any of the FC-PH documents.
Department of Computer Science, CUSAT 29
4.4.3.6 CLASS 6
Class 6 provides support for multicast service through a Fabric. Basically, a device wishing to transmit frames to more than one N_Port at a time sets up a Class 1 dedicated connection with the multicast server within the Fabric at the well-known address of hex'FFFFF5'. The multicast server sets up individual dedicated connections between the original N_Port and all the destination N_Ports. The multicast server is responsible for replicating and forwarding the frame to all other N_Ports in the multicast group. N_Ports become members of a multicast group by registering with the Alias Server at the well-know address of hex'FFFFF8'. The Class 6 is very similar to Class 1; Class 6 SOF delimiters are the same as used in Class 1. Also, end-to end flow control is used between the N_Ports and the multicast server.
4.4.4 ADDRESSING
Unlike many LAN technologies that use a fixed six-byte Media Access Control (MAC) address, Fibre Channel uses a three-byte address identifier, which is dynamically assigned during Login. N_Ports transmit frames from their own Source_ID (S_ID) to a Destination_ID (D_ID). Addresses in the range of hex'FFFFF0' to hex'FFFFFE' are special, well-known addresses uses for such things as the Fabric, Alias Server, or the Multicast Server. Before Fabric Login, the N_Port's S_ID is undefined: hex'000000'. Hex'FFFFFF' is reserved for broadcast. In a point-to-point topology, Fabric Login will fail of course, and the two ports will simply chose two unique addresses. Arbitrated Loop devices still use the three byte address identifiers, but also use an Arbitrated Loop Physical Address (AL_PA). AL_PAs are one-byte
Department of Computer Science, CUSAT 30
values dynamically assigned each time the Loop is initialized. Once the Loop is initialized and (hopefully) each L_Port has selected an AL_PA, public NL_Ports will attempt Fabric Login. If there is an FL_Port, the Fabric will assign the upper two bytes of the NL_Port's address identifier and usually allow the low byte to be the NL_Port's AL_PA. (If not, the Loop will need to be re-initialized so the NL_Port can select the Fabric assigned AL_PA). If no Fabric exists or if an NL_Port is a private NL_Port (does not login with the Fabric), the upper two bytes of the address identifier will remain '0000', and the lower byte will simply be the NL_Port's AL_PA. But there still needs to be a way of uniquely identifying a port - even for much of the above initialization to take place. This is accomplished using Name_Identifiers, a fixed 64-bit value. Name_Identifiers are used to uniquely identify nodes (Node_Name), a Port (Port_Name), and a Fabric
(Fabric_Name). Name Identifiers are not used to route frames, but are used in mapping to upper layer protocols.
4.4.5 LOGIN
Fibre Channel defines two types of login procedures, Fabric and N_Port. With the exception of private NL_Ports, all other node ports must attempt to log in with the Fabric. This is typically done right after the link or the Loop has been initialized. It consists of the node port transmitting an Fabric Login (FLOGI) frame to the well-known Fabric address hex'FFFFFE'. The normal response is an Accept (ACC) frame from the Fabric back to the node port. Fabric Login accomplishes the following things:
31
It determines the presence or absence of a Fabric. If a Fabric is present, it provides a specific set of operating characteristics associated with the entire Fabric, including which Classes of service are supported. If a Fabric is present, it shall optionally assign or shall confirm the native N_Port Identifier of the N_Port that initiated the Login. If a Fabric is not present, an ACC from an N_Port indicates that the requesting N_Port is attached in a point-to-point topology. If a Fabric is present, it initializes the buffer-to-buffer credit. Before a node port can communicate with another node port, it must first perform N_Port Login with that node port. Similar to Fabric Login, the process entails transmitting a PLOGI frame to the destination node port. Again, the normal response is an ACC frame. N_Port Login accomplishes the following things: It provides a specific set of operating characteristics associated with the destination N_Port, including which Classes of service are supported. Initializes the destination end-to-end credit. In point-to-point topology, buffer-to-buffer credit is initialized. Both Fabric Login and N_Port Login are intended to be long-lived. Once logged in, a device can stay logged in indefinitely, even if it has no further data to transmit at that time.
32
4.5.1 STRIPING
Stripping multiplies bandwidth using multiple N_Ports in parallel to transmit a single information unit across multiple links.
4.5.3 MULTICAST
Multicast delivers a single transmission to multiple destination ports. This includes sending to all N_Ports on a Fabric (broadcast) or to only a subset of the N_Ports on a Fabric.
33
Channels
Networks
IPI
SCSI
HIPPI
SBCCS
802.2
IP
AAL5
34
5. TRANSMISSION HIERARCHY
The easiest way to understand the methods by which information is transmitted over Fiber Channel is by looking at the problem in the form of a hierarchy.
K.xx.y
y = The decimal value of the 3 MSB bits xx = The decimal value of the 5 LSB bits
28
K.28.5
A decimal value is assigned to each bit combination with the range of 0 to 31 for xx and 0 to 7 for y. This means the range of valid data characters using the FC-1 naming conversion is D00.0 to D31.7 Basically, every byte of data that is to be transmitted is first converted into a 10-bit value called a Transmission Character. Using this encoding scheme has the following benefits: Improvement of the transmission characteristics of information to be transferred Provides enough transitions to make clock recovery possible at the receiver Improves the detection of single and multiple bit errors Some Transmission Characters contain a unique bit pattern (comma) to aid in achieving word alignment. Fiber Channel defines a "1" to simply be the state with more optical power (for optical links), or the state where the "+" pin is more positive than the "-" pin (in the case of copper). The 8B/10B encoding uses the idea of running disparity, which is concerned with the number of 1s and 0s in each Transmission Character. Running disparity is evaluated after the first 6 bits of each Transmission Character and again after the last 4 bits and can be either positive (more 1s than 0s) or negative (more 0s than 1s). It is desirable to try and equalize the number of 1s and 0s over time. Thus, every byte to be transmitted is encoded into one of two 10-bit representations depending on the current running disparity. As stated, every byte to be transmitted is first converted into a 10-bit Transmission Character. But there are many more possible 10-bit
Department of Computer Science, CUSAT 36
Transmission Characters than are needed to map to particular bytes. Most of the remaining 10-bit encoding are not defined, and only one is used. This is the special K28.5 Transmission Character, which contains the "comma", a 7-bit string that cannot occur in any Data Transmission Character. Because of this, the K28.5 is used as a special control character.
Byte (8 bits)
Byte (8 bits)
Bit
Bit
Bit
Bit
Bit
Bit
Bit
Bit
Bit
Bit
Bit
Bit
Bit
Bit
Bit
Bit
Set). Examples of Ordered Sets are: Start of Frame (SOF), End of Frame (EOF), Idle, Receiver_Ready (R_RDY), Loop Initialization Primitive (LIP), Arbitrate (ARB), Open (OPN), Close (CLS), and several others.
5.3 FRAME
Fiber Channel defines a variable length frame consisting of 36 bytes of overhead and up to 2112 bytes of payload for a total maximum size of 2148 bytes. The total size of the frame must be an even multiple of four bytes so that partial Transmission Words are not sent. Between 0 and 3 pad bytes are appended to the end of the payload to satisfy this rule. A Start of Frame (SOF) delimiter and End of Frame (EOF) delimiter mark the beginning and end of each Fiber Channel frame. The Cyclic Redundancy Check (CRC) is the same 32-bit CRC used in FDDI.
Bytes Fill Words 4 24 Frame Header 6 12 to 2112 <=3 Fill Bytes 1 4 4 Fill Words
SOF
CRC
EOF
Transmission Words
3 to 528
Sequence 1 Exchange 1
Exchange 2
5.4 SEQUENCE
A Fiber Channel Sequence is a series of one or more related frames transmitted unidirectionally from one port to another. All frames must be part of a Sequence. Frames within the same Sequence have the same SEQ_ID field in the header. The SEQ_CNT field identifies individual frames within a Sequence. For each frame transmitted in a Sequence, SEQ_CNT is incremented by 1. This provides a means for the recipient to arrange the frames in the order in which they were transmitted and to verify that all expected frames have been received. Multiple Sequences to multiple ports may be active at a time.
5.5 EXCHANGE
A Fiber Channel Exchange is a series or one or more nonconcurrent Sequences between two ports. The Sequences may be in either direction. All Sequences (and therefore all frames) must be part of an Exchange. The originator of the Exchange assigns the OX_ID field. The responder assigns the RX_ID field. As another perspective, one can use the following analogy: Frame ~ Word Sequence ~ Sentence Exchange ~ Conversation Of course, one main difference is that a Fibre Channel device can "speak" more than one sentence and hold more than one "conversation" at a time.
39
40
41
The originating port has detected an input failure but the port does not have an AL_PA (Loop Failure) 3. Valid AL_PA : BC 15 F7 AL_PS
The originating port has detected poor loop performance, Example: The port is unable to win the arbitration. (Performance degradation) 4. Loop failure, Valid AL_PA : BC 15 F8 AL_PS
The originating port has detected an input failure. The AL_PS is the AL_PA of the port. (Loop Failure) 5. Loop Initialization Reset : BC 15 AL_PD AL_PS
The source port (AL_PS) wants to reset the destination port (AL_PD). All ports complete loop initialization. The selected port performs a reset after loop initialization. (Selective Reset) The next port in the loop receives the LIPs and transitions to the OPEN_INIT state and transmits LIPs to the next port on the loop. This cycle continues until the port that started the initialization process receives the LIPs. It then also transitions to the OPEN_INIT state. This means all ports on the loop are in the OPEN_INIT state at this point. Each port transmits a minimum of 12 LIPs and then transmits Idles for the AL_TIME (15 ms). The ports then transmit Loop Initialization Select Master (LISM) frames to select a loop master who will then control the initialization process.
Department of Computer Science, CUSAT 42
43
payload. If it is less than its own, the port retransmits the received LISM. If it is the same as its own, it becomes the loop master. The loop master sends ARB (F0) to purge the loop and to inform all other ports that a master has been selected. When the master receives ARB(F0) on the inbound fiber, initialization proceeds to LIFA.
44
(usually using switches or jumpers). If not, the L_Port sets it to 1. If the L_Ports bit has already been set by another port, it will attempt to assume a soft-assigned AL_PA (LISA). The L_Port then retransmits the LIHA frame.
then places its AL_PA in position 2 of the position map. Each port retransmits the LIPA frame until the map completes its journey to each of the devices on the loop and gets back to the loop master. At this point, the LIRP process results in a position map containing the physical location and AL_PA of every device on the loop.
arbitrate to access the loop. Each L_Port has a priority assigned to it based on its Arbitrated Loop Physical Address (AL_PA). AL_PA 01 has the highest priority for an NL_Port and AL_PA EF has the lowest priority (except for the special arbitration primitive signal ARB (F0). The access fairness algorithm creates an access window in which all L_Ports are given an opportunity to arbitrate and win access to the loop regardless of its assigned priority. After all L_Ports have had an opportunity to win access to the loop, a new access window is started; however, all L_Ports dont have to actually choose to win access, they just have to be given the opportunity to win access in each access window. When a fair L_Port has arbitrated for and won access to the loop, that L_Port will not arbitrate again until it receives at least one Idle. The time between the first L_Port to win arbitration and transmitting an Idle is an access window. A special arbitration Primitive Signal (ARB (F0)) prevents the access window from being reset too early.
Department of Computer Science, CUSAT 47
When a fair NL_Port has arbitrated for and won access to the loop and does not detect that another L_Port is arbitrating, it may keep the existing circuit open indefinitely or close the circuit and retain control of the loop (without rearbitrating) to open another L_Port on the loop. An open NL_Port know that another port is arbitrating, by detecting the open NL_Ports ARB (F0) primitive sequences and monitors to see if its ARB(F0) is replaced by a higher priority address. Since xF0 is the lowestpriority address, any other NL_Port that is arbitrating will replace the ARB (F0) with its own ARBx (which will always be higher-priority than ARB (F0)) and the highest priority arbitrating L_Port will win arbitration. If the OPEN L_port receives the ARB (F0) back it knows that no other NL_Port is arbitrating for the loop. Once an L_Port has won access to the loop, it may retain control of the loop indefinitely; however, if access is denied longer than the Error Detect Time Out Value (E_D_TOV), the offended L_Port can reset the access window to force arbitration. When a fair NL_Port has arbitrated for and won access to the loop and does detect that another L_Port is arbitrating, the NL_Port closes the loop at the earliest possible time and arbitrates again in the next access window before opening a different L_Port.
48
7. CONCLUSION
Fiber channel is the next storage interface. Fiber channel has been adopted by the major computer systems and storage manufactures as the next technology. It eliminates distance, bandwidth, scalability, and reliability issues of SCSI. Fiber Channel equally works well for storage, networks, video, data acquisition, and many other applications.. It offers higher speed: the base speed is 100MB/sec, with 200, 400, and 800 planned. FC-AL enables selfconfiguring and hot swapping and the maximum number of devices on a single port, it also provides compatibility with SCSI. Fiber channel is just the underlying transport layer that SANs uses to transmit data. This is the language used by the HBAs, hubs, switches and storage controllers in a SAN to talk to each other. The fiber channel protocol is a low-level language meaning that its just used as a language between the actual hardware, not the applications running on it. A number of vendors, including Cisco, Nortel, and Lucent have introduced FCIP-based products. A hybrid technology called Internet Fiber Channel Protocol (iFCP) is an adaptation of FCIP that is an adaptation of FCIP that is used to move Fiber Channel data over IP networks using the iSCSI protocols. Today, 2 Gps Fiber Channel is the dominant interconnection used in SANs, but Fiber Channel keeps evolving as SAN adoption grows. Very recently, Hitachi global storage technologies have announced a successful 4 Gbps FC-AL data transfer and FC-SATA is under development. Although some technologies like iSCSI threatens to loosen its stranglehold on the storage environment. Fiber Channel is so widely implemented that it is likely to endure all technology for the foreseeable future.
Department of Computer Science, CUSAT 50
8. REFERENCES
Local Area Networks by Gerd Keiser (2003,Tata McGraw-Hill) http://www.seagate.com/support/disc/manuals/fc/67496a.pdf http://www.seagate.com/doc/pdf/Fiber Channel.pdf http://www.USByte.com/common/white%20papers/ http://en.wikipedia.org/wiki/Fiber_Channel/ http://www.snia.org/education/dictionary/f/ http://www.redbooks.ibm.com/redbooks.nsf/ http://his.web.cern.ch/HIS/fcs/
51