1、American National StandardDeveloped byfor Information Technology Fibre Channel Arbitrated Loop(FC-AL-2)Amendment 2ANSI INCITS 332-1999/AM2-2006supplement to ANSI INCITS 332-1999 (R2004)ANSIINCITS332-1999/AM2-2006American National Standardfor Information Technology Fibre Channel Arbitrated Loop(FC-AL
2、-2)Amendment 2ANSI INCITS 332-1999/AM2-2006supplement to ANSI INCITS 332-1999 (R2004)Approved: May 19, 2006 Secretariat: Information Technology Industry CouncilPage 1 of 7 pagesAn American National Standard implies a consensus of those substantially concerned with its scope and provisions. An Americ
3、an NationalStandard is intended as a guide to aid the manufacturer, the consumer, and the general public. The existence of an American National Stan-dard does not in any respect preclude anyone, whether he has approved the standard or not, from manufacturing, marketing, purchasing, orusing products,
4、 processes, or procedures not conforming to the standard. American National Standards are subject to periodic review andusers are cautioned to obtain the latest editions.The American National Standards Institute does not develop standards and will in no circumstances give an interpretation of any Am
5、ericanNational Standard. Moreover, no person shall have the right or authority to issue an interpretation of an American National Standard in thename of the American National Standards Institute.CAUTION NOTICE: This American National Standard may be revised or withdrawn at any time. The procedures o
6、f the American NationalStandards Institute require that action be taken to reaffirm, revise, or withdraw this standard no later than five years from the date ofapproval. Purchasers of American National Standards may receive current information on all standards by calling or writing the AmericanNatio
7、nal Standards Institute.Copyright 2006 by Information Technology Industry Council (ITI)ANSI INCITS 332-1999/AM2-2006Changes in this document from FC-AL version 7.0(All changes in the replacement pages that follow are marked with change bars in the margins.)Changes in this document from FC-AL amendme
8、nt (dated 23 Oct 2001)- Changed the Transmission Word delay through an L_Port from 6 words to 12 words to accommodate higher Fibre Channel speeds; e.g., 8 and 16Gb/s.- Corrected the OPEN state to assure fairness for an L_Port that is using the TRANSFER state while another L_Port is using ARBf.24 ANS
9、I INCITS 332-1999/AM2-20068 L_Port operationTo simplify L_Port design and minimize Transmission Word propagation delay, the following rules apply: all routing decisions by the LPSM (except during the Loop INITIALIZATION process) shall be made based on theAL_PA in the Primitive Signals (i.e., during
10、normal operation, no LPSM routing decisions are made based on framecontent); logging errors that are detected when retransmitting Transmission Words is optional; and, NOTE While an L_Port is not required to log errors encountered while retransmitting Transmission Words, fault isolation anderror anal
11、ysis may be enhanced by doing so. Transmission Words are not routed to the FC-2 of the NL_Port in the ARBITRATING and MONITORING statesunless REPLICATE is set to TRUE(1) (see 7.3).The maximum delay of a Transmission Word through an L_Port in the MONITORING or ARBITRATING state should|not exceed twel
12、ve (12) Transmission Word periods. See 8.2.2 for maximum round trip latency and annex A for L_Port|Elasticity buffer management.|The following steps provide an example for how an L_Port transfers one or more ANSI X3, FC-PH-x frames on a Loop:(1) The L_Port requests the LPSM to obtain access to the L
13、oop.(2) The LPSM enters the ARBITRATING state and transmits its ARB(AL_PA) in place of the appropriate received FillWord (see 7.1) until a matching ARB(AL_PA) is received. When the matching ARB(AL_PA) is received, the L_Portopens the Loop (i.e., stops retransmitting received Transmission Words).(3)
14、The LPSM transmits OPNy to establish a point-to-point Loop circuit on the Loop with another L_Port. OPNy maybe followed by ANSI X3, FC-PH-x frame(s). The number of frames that can immediately be transmitted is basedon BB_Credit (see 8.3.4).(4) Either L_Port (of the Loop circuit) may transmit CLS whe
15、n the L_Port desires to close the Loop circuit. When anL_Port receives CLS, it completes transmitting its frame(s), retransmits the CLS, and closes its end of the Loopcircuit. When the CLS returns to the L_Port that originated the CLS, this L_Port closes its end of the Loop circuit.|NOTE Since eithe
16、r open L_Port may transmit CLS, an L_Port must be prepared to handle CLS simultaneously with or on the nextTransmission Word after entering the XMITTED CLOSE state.8.1 History variables 8.1.1 Access fairness historyThe access fairness algorithm requires four memory elements that shall be maintained
17、and used by each L_Port (see8.4 for management requirements of each memory element):a) ACCESS the value of this variable is used by an L_Port to determine the status of the fairness window (i.e.,whether the L_Port may arbitrate for access to the Loop). If ACCESS is FALSE(0), then an L_Port that is u
18、sing|the fairness algorithm, shall not arbitrate for access to the Loop; if ACCESS is TRUE(1), then an L_Port mayarbitrate for access to the Loop and the L_Port may use the TRANSFER state to open a Loop circuit with anotherL_Port.b) ARB_WON the value of this variable is used by an L_Port to indicate
19、 that this L_Port has won arbitration. IfARB_WON is FALSE(0), then the L_Port did not win arbitration; if ARB_WON is TRUE(1), then the L_Port wonarbitration.ANSI INCITS 332-1999/AM2-2006 25c) ARB_PEND the value of this variable is used by an L_Port that has been opened while arbitrating to remember
20、|that it was arbitrating. If ARB_PEND is FALSE(0), then the L_Port was not arbitrating; if ARB_PEND is TRUE(1),the L_Port was arbitrating.NOTE This history variable forces the L_Port to finish arbitrating even if the L_Port no longer desires access to the Loop toassure that the fairness window is re
21、set.d) XMIT_2_IDLES the value of this variable is used by an L_Port to remember that after receiving ARB(F0), two(2) Idles shall be transmitted when Idle is received. The current Fill Word when set to Idle shall not be modified untilXMIT_2_IDLES is FALSE(0).NOTE Since Idle is used to reset the fairn
22、ess window, by transmitting two Idles, the probability of at least one Idle traversing the Loopis increased. If only one Idle is transmitted, it could be removed by another L_Port if that L_Port needs to delete a Fill Word for clockskew.8.1.2 Duplex mode historyThe OPEN, OPENED and RECEIVED CLOSE st
23、ate requires one memory element, called DUPLEX, to determinewhether the L_Port is allowed to originate Data frames. If DUPLEX is FALSE(0), the Loop circuit is operating in half-duplex mode; if DUPLEX is TRUE(1), the Loop circuit is operating in full-duplex mode (see 8.4 for managementrequirements of
24、 DUPLEX).8.1.3 Replicate mode historyThe MONITORING and ARBITRATING states require one memory element, called REPLICATE, to remember if OPNrhad been received. If REPLICATE is FALSE(0), the states operate normally; if REPLICATE is TRUE(1), all receivedTransmission Words (except for normal Fill Word p
25、rocessing - updating the CFW appropriately) shall be retransmittedand also shall be provided to the FC-2 of the NL_Port for further processing. (See 7.3 and 8.4.3, item 13 and item 14.)The OPEN state requires REPLICATE to remember that OPNr was transmitted in the ARBITRATION WON orTRANSFER state. If
26、 REPLICATE is FALSE(0), the state operates normally; if REPLICATE is TRUE(1), the L_Port mayoriginate additional OPNrs; the L_Port shall not use BB_Credit management. (See 7.3 and 8.4.3, item 15 and item 16.)8.1.4 Operational mode historyAn L_Port uses two memory elements to record the L_Ports opera
27、tional mode: a) PARTICIPATE set TRUE(1) if the L_Port has an AL_PA, set FALSE(0) if the L_Port does not have an AL_PA.b) BYPASS set TRUE(1) if the L_Port activates its optional Port Bypass Circuit, set FALSE(0) if the L_Portdeactivates its optional Port Bypass Circuit.REPEAT is a symbol that is defi
28、ned to simplify the LPSM description. REPEAT is TRUE(1), if PARTICIPATE isFALSE(0) or BYPASS is TRUE(1) or both. REPEAT is FALSE(0), if PARTICIPATE is TRUE(1) and BYPASS isFALSE(0). When REPEAT is TRUE(1), the LPSM repeats most incoming Transmission Words (except for normal FillWord processingupdati
29、ng the CFW appropriately) without responding to them. When REPEAT is FALSE(0), the LPSMactively participates on the Loop.The combined values of the PARTICIPATE and BYPASS variables record the four L_Port operational modes:1) Participating (PARTICIPATE = 1, BYPASS = 0) the L_Port has an AL_PA and is
30、enabled into the Loop. TheL_Port may use the Loop and respond to all requests directed to it. This is the normal operational mode in whichmost Loop access occurs. In this mode, REPEAT is FALSE(0).2) Non-Participating (PARTICIPATE = 0, BYPASS = 0) the L_Port does not have an AL_PA, but is enabled int
31、othe Loop. The L_Port repeats transmission words (except for normal Fill Word processingupdating the CFWappropriately) and only responds to a limited number of requests such as Loop Initialization. If the L_Port wishesto obtain an AL_PA and participate in the Loop, the L_Port may initiate Loop Initi
32、alization; it shall attempt to obtainan AL_PA if Loop Initialization occurs. In this mode, REPEAT is TRUE(1).26 ANSI INCITS 332-1999/AM2-20063) Participating Bypassed (PARTICIPATE = 1, BYPASS = 1) the L_Port has an AL_PA, but is bypassed (i.e., notenabled) from the Loop. The L_Port activates its opt
33、ional Port Bypass Circuit if one is present. The L_Port alsorepeats transmission words (except for normal Fill Word processingupdating the CFW appropriately) in case noPort Bypass Circuit is present. The L_Port shall respond to an LPEyx directed to its AL_PA. In this mode, REPEATis TRUE(1).4) Non-Pa
34、rticipating Bypassed (PARTICIPATE = 0, BYPASS = 1) the L_Port does not have an AL_PA and isbypassed (i.e., not enabled) from the Loop. The L_Port activates its optional Port Bypass Circuit if one is present.The L_Port also repeats transmission words (except for normal Fill Word processingupdating th
35、e CFWappropriately) in case no Port Bypass Circuit is present. The L_Port does not respond to any Primitive Signal orPrimitive Sequences directed to a specific AL_PA. In this mode, REPEAT is TRUE(1).8.1.5 DHD received historyThe OPENED state requires one memory element if DHD is supported, called DH
36、D_RCV. This variable is set toTRUE(1) if DHD is received. The variable is checked when the L_Port in the OPENED state has completed alltransmissions to the L_Port in the OPEN state. If DHD_RCV is FALSE(0), then the L_Port may continue to wait toreceive CLS (normal operation) or it may transmit CLS.
37、If DHD_RCV is TRUE(1), then the L_Port shall transmit CLS.(See annex C.)8.1.6 ARB(FF) historyThe MONITORING state uses a memory element, called ARBf_SENT, to indicate that the L_Port has requested theLPSM to modify its CFW to ARB(FF) from Idles. If ARBf_SENT is FALSE(0), the current Fill Word is man
38、aged normally;if ARBf_SENT is TRUE(1), then the current Fill Word shall remain ARB(FF) until an ARB(AL_PA) is received or ARB(F0)(if REPEAT is TRUE(1) is received. (See 8.4.)8.2 Timeouts 8.2.1 FC-PH timeout valuesTimeout values (e.g., R_T_TOV) and related timeout procedures in ANSI X3, FC-PH-x, 29.2
39、, shall be used asappropriate.8.2.2 Arbitrated Loop timeout valueThe Arbitrated Loop timeout value (AL_TIME) is 15 ms. The worst case round trip latency for a compliant loop shall not|exceed one half AL_TIME.|AL_TIME is primarily used during the INITIALIZATION process to control events that require
40、a Loop round-trip latencyto complete. The sequencing of these events must be coordinated between multiple L_Ports, this requires that all|L_Ports use AL_TIME consistently. During the INITIALIZATION process, L_Ports shall measure AL_TIME with atolerance of -0%, +20% (i.e., an AL_TIME timeout shall ex
41、pire from a minimum of 15ms up to a maximum of 18ms).|8.2.3 Loop timeout valueThe Loop timeout value (LP_TOV) is 2 seconds. LP_TOV is used to keep a Loop from deteriorating due to protocolerrors or lost Ordered Sets. For example, LP_TOV is used to reset the fairness window (see 4.3) and during theIN
42、ITIALIZATION process to time start-up events (see 10.5.4).ANSI INCITS 332-1999/AM2-2006 3916 State 3 (OPEN) actions (table 7 and the following text describe the OPEN state): To identify this as the L_Port thatwon arbitration, the LPSM shall set ARB_WON to TRUE(1), ARB_PEND to FALSE(0), DUPLEX to TRU
43、E(1), andthe CFW to ARB(F0). If the L_Port is using the access fairness algorithm, ACCESS shall be set to FALSE(0); if theL_Port is not using the access fairness algorithm, ACCESS shall be set to TRUE(1). The LPSM shall transmit atleast six (6) Ordered Sets (i.e., CFWs and R_RDYs) before transmittin
44、g any frames or CLS (see 8.3.4.1).NOTE The six (6) Ordered Sets maintain the ANSI X3, FC-PH-x spacing before SOF; R_RDYs allow the OPENED L_Port to transmitframe(s) without using BB_Credit. One R_RDY does not take any extra bandwidth.The L_Port shall process, and shall not retransmit subsequent Tran
45、smission Words received on its inbound fibre.The L_Port shall transmit Primitive Signals, Primitive Sequences, or frames as specified in ANSI X3, FC-PH-x (see8.3.4).If Idle is received, the CFW shall be set to Idle and ACCESS shall be set to TRUE(1).If ARB(F0) is received, the CFW shall be set to Id
46、le and XMIT_2_IDLES shall be set to TRUE(1).NOTE Receiving ARB(F0) indicates that no other L_Port is now arbitrating (i.e., no L_Port changed ARB(F0) to ARB(val).If ARB(FF) is received, the CFW shall be set to ARB(FF) and ACCESS shall be set to TRUE(1). |If a Fill Word is to be transmitted, the CFW
47、shall be used.NOTE Since ARB_WON is TRUE(1) in this state, XMIT_2_IDLES will not be set to FALSE(0).If CLS is received, the LPSM shall make the transition to the RECEIVED CLOSE state (see item 9 and item 19).If MRKtx is received, where the MK_TP and AL_PS match the expected values, the action identi
48、fied by MK_TP shallbe performed. The received MRKtx shall not be retransmitted.If REPLICATE is TRUE(1) and the L_Port requests a broadcast replicate (REQ(open fr) or another selective replicateREQ(open yr), the LPSM shall transmit OPN(fr) or one OPN(yr) for each request at the next appropriate Fill Word,respectively.If ACCESS is TRUE(1) and the L_Port requests a transfer (REQ(transfer), the LPSM shall transmit CLS insteadof the appropriate Fill Word and then shall make the transition to the TRANSFER state (see item 10 and item 20).If ACCESS is FALSE(0), the request to transfer is trea