Fibre Channel is a computer communications protocol designed to meet the many requirements related to the ever increasing demand for high performance information transfer. The goals of Fibre Channel include:
There are two basic types of data communications between processors and between processors and peripherals: channels and networks.
A channel is a closed, direct, structured, and predictable mechanism for transmitting data between relatively few entities. It provides a direct or switched point-to-point connection between the communicating devices. Typically, once a channel is set up, there is very little decision making needed, thus allowing for a hardware-intensive environment and transports data at the high speed with low overhead.
Channels are commonly used to connect peripheral devices such as a disk drive, printer, tape drive, etc. to a workstation. Common channel protocols are Small Computer System Interface (SCSI) and High Performance Parallel Interface (HIPPI).
In contrast Networks are aggregations of distributed nodes(like workstations, file servers or peripherals) with there own protocol that support interaction among these nodes. They are unstructured and unpredictable. Networks are able to automatically adjust to changing environments and can support a larger number of connected nodes. These factors require that much more decision making take place in order to successfully route data from one point to another. Networks have relatively high overhead since they are software-intensive where decision making is done making networks inherently slower than channels. Examples of common networks are Ethernet, Token Ring, and Fiber Distributed Data Interface (FDDI).
Although its called Fibre Channel, it's architecture doesn't represent neither a channel nor a real network topology. It allows for active intelligent interconnection scheme, called a Fabric, to connect devices. All a Fibre channel port has to do is to manage a simple point-to-point connection between itself and the fabric. In general, Fibre Channel attempts to combine the best of these two methods of communication into a new I/O interface that meets the needs of channel users and also network users.
In 1988, the American National Standards Institute (ANSI) Task Group X3T11 began work on the Fibre Channel standards. At this time, at least 20 separate documents, each defining an aspect of Fibre Channel, are either proposed or in draft form. Although several of the standards are in their early stages, Fibre Channel products are being shipped today. A list of companies involved in Fibre Channel can be found on the Fibre Channel Industry Association web site.
Today's data explosion presents unprecedented challenges incorporating data warehousing, imaging, integrated audio/video, networked storage, real-time computing, collaborative projects and CAD/CAE. Fibre channel is simply the easiest, most reliable solution for information storage and retrieval.
Fibre Channel, a powerful ANSI standard, economically and practically meets the challenge with these advantages:
Fibre Channel is making the biggest impact in the storage arena, in particular, using SCSI as an upper layer protocol. Compared with traditional SCSI, the benefits of mapping the SCSI command set onto Fibre Channel include:
Essentially, Fibre Channel, using the Arbitrated Loop topology, is simply being used as a replacement for SCSI. Many companies are already shipping SCSI adapter cards for several platforms and operating systems, as well as disk drives and storage devices with Fibre Channel interfaces. There is currently interest in connecting SCSI Tape devices as well.
In addition to using SCSI, several companies are selling Fibre Channel devices that run Internet Protocol (IP). Although the ULP is independent of the topology, IP is more commonly found in switched fabric environments. At the present time, SCSI and IP are pretty much the only two ULPs commercially used on Fibre Channel.
Fibre Channel will most likely continue to expand into the storage markets, which will make use of its benefits over traditional channel technologies such as SCSI. Being able to access mass storage devices quicker and from greater distances is very attractive to such applications as multimedia, medical imaging, and scientific visualization. Because of the greater distances allowed, Fibre Channel has advantages in disaster recover situations as storage devices can be placed remotely.
Unfortunately, the current trend in Fibre Channel is to continue to define more and more standard documents that increase the complexity of the protocol. This is probably the biggest threat to its future.
The UNH-IOL offers testing in many Fibre Channel areas; you can follow this link to see the UNH-IOL Fibre Channel test offerings: Fibre Channel Test Offerings.
It is often easier to understand a communications protocol if it is first broken down into parts or layers. Some people are familiar with the International Standards Organization (ISO) - Open Systems Interconnect (OSI) model, which breaks the communications puzzle into seven layers: Physical, Data Link, Network, Transport, Session, Presentation, and Application. Fibre Channel does not follow this model, but instead, the protocol has been broken into five layers: FC-0, FC-1, FC-2, FC-3, and FC-4. FC-0 to FC-2 contains the physical description of Fibre Channel defined in the FC-PH and FC-PI standards, while FC-3 and FC-4 describe the interface with other applications, as well as some protocol specific information. Each is described below along with the main functions it defines.
The following network and channel Upper Layer Protocols (ULP) mapping are currently specified or proposed as FC-4s.
FC-0 and FC-1 can be thought of as defining the Physical Layer of the OSI model. FC-2 is similar to what other protocols define as a Media Access Control (MAC) layer, which is typically the lower half of the Data Link layer. Fibre Channel, however, does not define the concept of a MAC. FC-3 is not really a layer at all, and was designed in Fibre Channel's early development to be a placeholder for future functions. It is still a largely undefined set of services for devices having more than one port. An example is striping, where data is transmitted out of all ports at the same time in order to increase bandwidth. FC-4 defines how other well-known higher layer protocols are mapped onto and transmitted over Fibre Channel. Thus, one can roughly think of the Fibre Channel layers defining up through the Transport layer of the OSI model.
Fibre Channel without a doubt wins the award for the largest and most complex set of standards documents for a communications protocol. The initial effort was started back in 1988, and much of it continues to undergo significant development to this day. There are now well over 20 individual standards documents, some of which have been adopted as standards, but many remain in draft form. The standards body under which the documents are being developed is the American National Standards Institute (ANSI).
The main document by which all others are based is FC-PH (ANSI X3.230-1994, Fibre Channel - Physical and Signaling Interface). It defines the FC-0, FC-1, and FC-2 layers. In addition to FC-PH, two other Physical and Signaling Interface documents have been developed: FC-PH-2 (ANSI X3.297-1997, Fibre Channel - Physical and Signaling Interface - 2) and FC-PH-3 (Project 1119-D, Fibre Channel - Physical and Signaling Interface - 3). These add various functions and features to the original FC-PH. This has since expanded into FC-PI, currently up to FC-PI-5 (Project 2118-D, Physical Interface - 5). This was done to separate and better define the electrical and optical standards for the physical layer of Fibre Channel technologies. Future generations are under development for FC-PI to accommodate faster speeds and to anticipate future technologies.
Another key document is FC-AL (ANSI X3.272-1996, Fibre Channel - Arbitrated Loop). This describes the behavior of an Arbitrated Loop device. The Arbitrated Loop topology was an afterthought to the original design of Fibre Channel. As a result, it was not defined in FC-PH, but instead became its own standard. It extends the rules and definitions of FC-PH to accommodate the topology. FC-AL-2 (Project 1133-D, Fibre Channel - Arbitrated Loop - 2) and FC-AL-3 (unassigned, Fibre Channel - Arbitrated Loop - 3) are being developed to expand on the original.
Several documents exist that describe how ULPs are to be mapped onto Fibre Channel:
There are many more projects in various stages of completion such as:
Fibre Channel defines three topologies, namely Point-to-Point, Arbitrated Loop, and Fabric. Each of these is described below.
Arbitrated Loop is not a token-passing scheme. When a device is ready to transmit data, it first must arbitrate and gain control of the Loop. It does this by transmitting the Arbitrate (ARBx) Primitive Signal, where x = the Arbitrated Loop Physical Address (AL_PA) of the device. Once a device receives its own ARBx Primitive Signal, it has gained control of the Loop and can now communicate with other devices by transmitting an Open (OPN) Primitive Signal to a destination device. Once this happens, there essentially exists point-to-point communication between the two devices. All other devices in between simply repeat the data.
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 Fibre 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.
The LIP Primitive Sequence begins the process. LIP is transmitted by an L_Port after it powers on, or when it detects Loop Failure (loss of synchronization at its receiver). The LIP will propagate around the Loop, triggering all other L_Ports to transmit LIP as well. At this point, the Loop is not usable.
The next major step is to select a Loop master that will control the process of AL_PA selection. This is done by the L_Ports constantly transmitting Loop Initialization Select Master (LISM) frames. The process is designed so that if an Fabric is present, it will become Loop master (by receiving back its own LISM frames), otherwise, the port with the numerically lowest Port Name will win. All other L_Ports propagate the higher priority LISM frames.
The third step is to allow the L_Ports to select an AL_PA. The concept of an AL_PA bitmap is used, where each L_Port selects (and sets) a single bit in the bitmap of a frame originated by the Loop master and repeats the frame back on the Loop. There are 127 available bits, corresponding to the 127 valid AL_PAs. This process is done using four frames, breaking the selection down according to priority. The following table explains:
|Frame||reason||priority / order transmitted|
|LIFA Loop Initialization Fabric Assigned||a certain AL_PA was assigned by the Fabric||1|
|LIPA Loop Initialization Previously Acquired||before this initialization, the L_Port had a valid AL_PA||2|
|LIHA Loop Initialization Hard Assigned||the L_Port has a certain AL_PA it tries to claim||3|
|LISA Loop Initialization Soft Assigned||the L_Port claims the first available AL_PA that is left||4|
So for example, if an L_Port had a valid AL_PA before the Loop began this initialization, it will attempt to reclaim this previously acquired value by looking for that bit to be available in the LIPA frame. If it is, it will set the bit and repeat the frame. If it is not available (already been claimed), the L_Port will wait for the LISA frame to come around and claim one there.
Once the LISA frame has come back to the Loop master, all L_Ports (hopefully) have selected an AL_PA. Two additional frames may be sent by the Loop master, but only if all L_Ports on the Loop support them. The first is the Loop Initialization Report Position (LIRP). As the frame traverses the Loop, each port adds its AL_PA to the end of a list. When done, the relative positions of all L_Ports is known. Finally, the Loop Initialization Loop Position (LILP) frame is transmitted, which simply allows all L_Ports to look at the finished list.
Whether or not LIRP and LILP are used, the Loop master transmits the CLS Primitive Signal to let each port know that the process has finished. At this point, the Loop has finished initializing and ready to be used.
Fibre Channel has hubs as well. Most hubs will simply look for valid signal on a port before it will insert the port in the data path. Some hubs are "smarter", and will provide the user with information on each of its ports, allow the user to transmit from the ports, and be more selective as to when ports are inserted.
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.
Fibre Channel defines several types of ports. They can be grouped a couple of ways. First, any port on a node device, e.g., a disk, a PC, is an N_Port as compared with a port on a Fabric, which is an F_Port. At the same time, any port that happens to have Arbitrated Loop capabilities, it is called an L_Port. Combining these groupings, we also have NL_Ports and FL_Ports.
Ports that connect switches together are called E_Ports. They generally do not need to follow Fibre Channel rules and protocols. A port that can act as either an E_Port or an F_Port is called a G_Port. Finally, a G_Port with Loop capabilities, is a GL_Port.
Fibre Channel offers a very wide range of media speeds. One of the goals of Fibre Channel is to allow HIPPI to map to it. HIPPI is a 100MB/s technology, thus Fibre Channel's primary data rate allows for data to travel 100MB/s. After factoring in 8B/10B encoding, frame headers, and other overhead, the transmission speed is 1063 Mb/s. This speed is referred to as full speed. There also exists half speed, quarter speed, and eighth speed. In addition, double and quadruple speeds are defined. The following table illustrates. By far, the most common speed is full speed, with some quarter speed devices also in existence.
|Speed (MB/s)||Speed (Mb/s)||Name|
For copper, the following cable types are used: video cable, miniature cable, and shielded twisted pair. The most common by far is shielded twisted pair, using a DB-9 connector. For fiber, the choices are: 62.5µm multi-mode, 50µm multi-mode, and single-mode. The SC connector is used. Also for fiber, both long wave and short wave lasers can be used. Short wave seem to be most popular now. The short wave transmitters have the option to implement the open fibre control (OFC). This is a scheme designed to prevent disconnected fibers from continuously transmitting light, as a safety precaution. There is a simple protocol where each transmitter on a link periodically transmits short pulses of light to the other receiver. When the receivers detect this, the transmitters can operate normally. Most devices however, are non-OFC.
The concept of flow control deals with the problem where a device receives frames faster than it can process them. When this happens, the result is that the device is forced to drop some of the frames. Fibre Channel has a built-in flow control solution to this problem.
The idea is simple enough. A device can transmit frames to another device only when the other device is ready to accept them. Before the devices can send data to each other, they must login to each other. One of the things accomplished in login is establishing credit. Credit refers to the number of frames a device can receive at a time. This value is exchanged with another 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.
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.
Fibre Channel defines several communication strategies called Classes of service. The Class used greatly depends on the type of data to be transmitted. The major difference between the Classes is the types of flow control used. If two N_Ports are to communicate or if an N_Port is to successfully log into a Fabric, there must be at least 1 common Class of service supported between them, since Sequences and Exchanges must take place using a single Class of service. This information is exchanged during Fabric Login and N_Port Login.
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.
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 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.
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:
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:
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.
The easiest way to understand the methods by which information is transmitted over Fibre Channel is by looking at the problem in the form of a hierarchy.
Fibre 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 Transmission Characters than are needed to map to particular bytes. Most of the remaining 10-bit encodings 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.
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.
If you have questions about storage technologies outside of Fibre Channel, UNH-IOL has other consortia that can meet your needs:
Accept Link Service reply. Accept is the normal reply to an Extended Link Service request (such as FLOGI) and indicates that the request has been completed.
Acknowledgement Frame. An ACK is used for end-to-end flow control. An ACK is sent to verify receipt of one or more frames in Class 1 and Class 2 Services.
A 3-byte value typically assigned by the Fabric used to address an N_Port. Used in frames in the S_ID (source identifier) and D_ID (destination identifier) fields.
Arbitrated Loop Physical Address. A 1-byte value used in the Arbitrated Loop topology used to identify L_Ports. This value will then also become the last byte of the address identifier for each public L_Port on the loop
Arbitrated Loop Timeout value. Twice the amount of time it would take for a Transmission Word to propagate around a worst-case Loop, i.e. a Loop with 134 L_Ports and 10 km links between each L_Port, with a 6 Transmission Word delay through each L_Port. This value is set at 15 ms.
One of the three Fibre Channel topologies. Up to 126 NL_Ports and 1 FL_Port are configured in a unidirectional loop. Ports arbitrate for access to the Loop based on their AL_PA. Ports with lower AL_PA's have higher priority than those with higher AL_PA's.
A method of communicating between N_Ports in which a dedicated connection is established between them. The ports are guaranteed the full bandwidth of the connection and frames from other N_Ports may be blocked while the connection exists. In-order delivery of frames is guaranteed. Uses end-to-end flow control only.
A method of communicating between N_Ports in which no connection is established. Frames are acknowledged by the receiver. Frames are routed through the Fabric, and each frame may take a different route. In-order delivery of frames is not guaranteed. Uses both buffer-to-buffer flow and end-to-end flow control.
A method of communicating between N_Ports similar to Class 2 service, except there is no acknowledgment of received frames. Frames are routed through the Fabric as in Class 2, and in-order delivery is not guaranteed. Uses only buffer-to-buffer flow control.
Destination identifier. A 3-byte field in the frame header used to indicate the address identifier of the N_Port the frame is to be delivered to.
Error Detect Timeout value. A timer used to represent the longest possible time for a frame to make a roundtrip through the Fabric. This value is negotiated at N_Port Login and will typically be on the order of a few seconds. E_D_TOV is used to decide when some particular error recovery action must be taken.
End-to-end credit value. Used for end-to-end flow control, determines the maximum number of frames that may remain unacknowledged.
End of Frame delimiter. This Ordered Set is always the last Transmission Word of a Frame. It is used to indicate that a Frame has ended and indicates whether the Frame is valid or invalid.
One of the three Fibre Channel topologies. In the Fabric topology, N_Ports are connected to F_Ports on a switch. Depending on vendor support, fabric switches may be interconnected to support up to 16 million+ N_Ports on a single network.
Fabric Port Busy Frame. This Frame is issued by the Fabric to indicate that a particular cannot be delivered because the Fabric or the destination N_Port is too busy.
Fibre Channel Arbitrated Loop. Refers to the ANSI FC-AL document which specifies operation of the Arbitrated Loop topology.
Fibre Channel layer 1. Specifies the IBM patented 8B/10B data encoding used in Fibre Channel.
Fibre Channel layer 2. Specifies the frame format, Sequence/Exchange management, and Ordered Set usage in Fibre Channel.
Fibre Channel layer 3. Specifies services provided for multiple N_Ports in a single node.
Fibre Channel layer 4. Specifies mapping of Upper Level Protocols such as SCSI and IP onto the Fibre Channel Protocol.
The Primitive Signal is used by L_Ports to be transmitted in between Frames. This may be Idle or ARBx, depending on which, if any, L_Ports are Arbitrating for Loop access, and will not necessarily be the same for all L_Ports on the Loop at any given time.
Fabric-Loop port. An F_Port which is capable of supporting an attached Arbitrated Loop. An FL_Port on a Loop will have the AL_PA hex'00', giving the Fabric highest priority access to the Loop. An FL_Port is the gateway to the Fabric for NL_Ports on a Loop.
An NL_Port which is capable of providing certain Fabric services to other NL_Ports on a Loop in the absence of a Fabric. This NL_Port will respond to requests to open communication with AL_PA hex'00', even though it may actually have another value for its AL_PA.
Fabric port. A port on a fabric switch to which N_Ports may be directly connected. An F_Port is uses the address identifier hex'FFFFFE'.
The basic unit of communication between two N_Ports. Frames are composed of a starting delimiter (SOF), a header, the payload, the Cyclic Redundancy Check (CRC), and an ending delimiter (EOF). The SOF and EOF contain the Special Character and are used to indicate where the frame begins and ends. The 24-byte header contains information about the frame, including the S_ID, D_ID, routing information, the type of data contained in the payload, and sequence/exchange management information. The payload contains the actual data to be transmitted, and may be 0-2112 bytes in length. The CRC is a 4-byte field used for detecting bit errors in the received frame.
An Ordered Set transmitted continuously over a link when no data are being transmitted. Idle is transmitted to maintain an active link over a fibre and lets the receiver and transmitter maintain bit, byte, and word synchronization.
Link Services are facilities used between an N_Port and a Fabric or between two N_Ports and are used to for such purposes as Login, Sequence and Exchange management, and maintaining connections.
Loop Initialization Primitive Sequence. This Primitive Sequence applies only to the Arbitrated Loop topology. It is transmitted by an L_Port to (re)initialize the Loop.
Loop Initialization Fabric Assigned Frame. This is the first Frame transmitted in the Loop initialization process after a temporary Loop master has been selected. L_Ports which have been assigned their AL_PA by the Fabric will select their AL_PA's in this frame as it makes its way around the Loop.
Loop Initialization Hard Assigned Frame. This is the third Frame transmitted in the Loop initialization process after a temporary Loop master has been selected. L_Ports which have been programmed to select a particular AL_PA (if available) by the manufacturer will select their AL_PA's in this frame as it makes its way around the Loop.
Loop Initialization Loop Position Frame. This is the second Frame transmitted in the Loop initialization process after all L_Ports have selected an AL_PA (after LISA has been around the loop). This Frame is transmitted around the Loop so that all L_Ports may know the relative position of all other L_Ports around the Loop. Support for this Frame by an L_Port is optional.
Loop Initialization Previously Assigned Frame. This is the second Frame transmitted in the Loop initialization process after a temporary Loop master has been selected. L_Ports which had an AL_PA prior to the Loop initialization will select their AL_PA's in this frame as it makes its way around the Loop.
Loop Initialization Report Position Frame. This is the first Frame transmitted in the Loop initialization process after all L_Ports have selected an AL_PA (after LISA has been around the loop). This Frame is transmitted around the Loop so that all L_Ports report their relative physical position on the loop. Support for this Frame by an L_Port is optional.
Loop Initialization Soft Assigned Frame. This is the fourth Frame transmitted in the Loop initialization process after a temporary Loop master has been selected. L_Ports which did not select an AL_PA in any of the previous Loop Initialization Frames (LIFA, LIPA, or LIHA) will select their AL_PA's in this frame as it makes its way around the Loop.
Loop Initialization Select Master Frame. This Frame applies only to the Arbitrated Loop topology. It is the first frame transmitted in the initialization process in which L_Ports select an AL_PA. It is used to select a temporary Loop master, or the L_Port that will subsequently initiate transmission of the remaining initialization frames (LIFA, LIPA, LIHA, LISA, LIRP, and LILP).
Loop Port Bypass Primitive Sequence. This Primitive Sequence applies only to the Arbitrated Loop topology. It is transmitted by an L_Port to bypass the L_Port it is directed to. For example, if Port A suspects that Port B is malfunctioning, Port A can send an LPB to Port B so that Port B will only retransmit everything it receives, and will not be active on the Loop.
Loop Port Enable Primitive Sequence. This Primitive Sequence applies only to the Arbitrated Loop topology. It is transmitted by an L_Port to enable an L_Port which has been bypassed with the LPB Primitive Sequence.
Loop port. Generic term for an NL_Port or FL_Port, i.e., any Fibre Channel port which supports the Arbitrated Loop topology.
Loop Port State Machine. This is a state machine maintained by an L_Port to track its behavior through different phases of Loop operation, i.e., how it behaves when it is arbitrating for Loop access, how it behaves when it has control of the Loop, etc.
Link Reset Primitive Sequence. This Primitive Sequence is used during link initialization between two N_Ports in the Point-to-point topology or an N_Port and an F_Port in the Fabric topology. The expected response to a port sending LR is the LRR Primitive Sequence.
Node-Loop port. An N_Port which can operate on the Arbitrated Loop topology.
An L_Port will enter the nonparticipating mode if there are more than 127 devices on a Loop, and it thus cannot acquire an AL_PA. An L_Port may also voluntarily enter the nonparticipating mode if it is still physically connected to the Loop, but wishes not to participate. An L_Port in the nonparticipating mode is not capable of generating Transmission Words on the Loop and may only retransmit words received on its inbound fibre.
Not Operational Primitive Sequence. This Primitive Sequence is used during link initialization between two N_Ports in the Point-to-point topology or an N_Port and an F_Port in the Fabric topology. It is sent to indicate that that transmitting port has detected a link failure or is offline. The expected response to a port sending NOS is the OLS Primitive Sequence.
Node port. A port on a computer, disk drive, etc. through which the device does its Fibre Channel communication.
Offline Primitive Sequence. This Primitive Sequence is used during link initialization between two N_Ports in the Point-to-point topology or an N_Port and an F_Port in the Fabric topology. It is sent to indicate that the transmitting port is attempting to initialize the link, has recognized the NOS Primitive Sequence, or is going offline. The expected response to a port sending OLS is the LR Primitive Sequence.
Open Primitive Signal. This Primitive Signal applies only to the Arbitrated Loop topology. The OPN Primitive Signal is sent by an L_Port that has won the arbitration process to open communication with with one or more other ports on the Loop.
A 4-byte Transmission Word which has the Special Character as its first Transmission Character. An Ordered Set may be a Frame Delimiter, a Primitive Signal, or a Primitive Sequence. Ordered Sets are used to distinguish Fibre Channel control information from data.
The N_Port which originated an Exchange.
The normal operating mode for an L_Port on a Loop. An L_Port in this mode has acquired an AL_PA and is capable of communicating on the Loop.
An Ordered Set transmitted repeatedly and used to establish and maintain a link. LR, LRR, NOS, and OLS are Primitive Sequences used to establish an active link in a connection between two N_Ports or an N_Port and an F_Port. LIP, LPB, and LPE are Primitive Sequences used in the Arbitrated Loop topology for initializing the Loop and enabling or disabling an L_Port.
An Ordered Set used to indicate an event. Idle and R_RDY are used in all three topologies. ARB, OPN, CLS, and MRK are used only in the Arbitrated Loop topology.
An Arbitrated Loop which stands on its own, i.e., it is not connected to a Fabric.
An NL_Port which only communicates with other ports on the loop, not with the Fabric. Note that a Private NL_Port may exist on either a Private Loop or a Public Loop.
An Arbitrated Loop which is connected to a Fabric.
The N_Port to with which an Exchange originator wishes to communicate.
A group of related frames transmitted unidirectionally from one N_Port to another.
Sequence Identifier. A 1-byte field in the frame header used to identify which Sequence of an Exchange a particular frame belongs to.
The N_Port which began a new Sequence and transmits frames to another N_Port.
The N_Port to which a particular Sequence of data frames is directed.
Source Identifier. A 3-byte field in the frame header used to indicate the address identifier of the N_Port the frame was sent from.
Start of Frame delimiter. This Ordered Set is always the first Transmission Word of a Frame. It is used to indicate that a Frame will immediately follow and indicates which class of service the Frame will use.
A (valid or invalid) 10-bit character transmitted serially over the fibre. Valid Transmission Characters are determined by the 8B/10B encoding specification.
The IBM patented encoding method used for encoding 8-bit data bytes to 10-bit Transmission Characters. Data bytes are converted to Transmission Characters to improve the physical signal such that the following benefits are achieved: bit synchronization is more easily achieved, design of receivers and transmitters is simplified, error detection is improved, and control characters (i.e., the Special Character) can be distinguished from data characters.